{"version":3,"sources":["webpack:///D:/hop/admin_panel/~/@angular/core/index.js","webpack:///D:/hop/admin_panel/~/@angular/forms/index.js","webpack:///D:/hop/admin_panel/~/@angular/common/index.js","webpack:///D:/hop/admin_panel/~/ng2-translate/index.js","webpack:///D:/hop/admin_panel/~/rxjs/Observable.js","webpack:///D:/hop/admin_panel/~/ng2-bs3-modal/ng2-bs3-modal.js","webpack:///D:/hop/admin_panel/~/@angular/router/index.js","webpack:///D:/hop/admin_panel/~/@angular/platform-browser/index.js","webpack:///D:/hop/admin_panel/public/app/views/helper.ts","webpack:///D:/hop/admin_panel/public/app/common/admin/footer/footer.module.ts","webpack:///D:/hop/admin_panel/~/core-js/modules/_export.js","webpack:///D:/hop/admin_panel/~/ng2-dropdown/index.js","webpack:///D:/hop/admin_panel/~/angular2-ui-switch/dist/index.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/map.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/catch.js","webpack:///D:/hop/admin_panel/~/rxjs/Subscriber.js","webpack:///D:/hop/admin_panel/~/mydatepicker/index.js","webpack:///D:/hop/admin_panel/public/app/common/store/footer/footer.module.ts","webpack:///D:/hop/admin_panel/public/app/views/store_helper.ts","webpack:///D:/hop/admin_panel/~/json2csv/lib/json2csv.js","webpack:///D:/hop/admin_panel/~/rxjs/OuterSubscriber.js","webpack:///D:/hop/admin_panel/~/rxjs/util/subscribeToResult.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/facade/lang.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/facade/lang.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_an-object.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/output/output_ast.js","webpack:///D:/hop/admin_panel/~/moment-timezone/index.js","webpack:///D:/hop/admin_panel/public/app/views/franchise_helper.ts","webpack:///D:/hop/admin_panel/~/core-js/modules/_fails.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_is-object.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/util/lang.js","webpack:///D:/hop/admin_panel/~/rxjs/Subject.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/compile_metadata.js","webpack:///D:/hop/admin_panel/~/js2excel/dist/js2excel.min.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/index.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/private_import_core.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_wks.js","webpack:///(webpack)/buildin/global.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/identifiers.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/injectable.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_core.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_global.js","webpack:///D:/hop/admin_panel/~/ng2-img-cropper/index.js","webpack:///D:/hop/admin_panel/~/@angular/platform-browser/src/dom/dom_adapter.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_object-dp.js","webpack:///D:/hop/admin_panel/~/ngx-tooltip/index.js","webpack:///D:/hop/admin_panel/~/rxjs/Subscription.js","webpack:///D:/hop/admin_panel/~/rxjs/util/errorObject.js","webpack:///D:/hop/admin_panel/~/rxjs/util/tryCatch.js","webpack:///D:/hop/admin_panel/public/app/common/franchise/footer/footer.module.ts","webpack:///D:/hop/admin_panel/~/core-js/modules/_descriptors.js","webpack:///D:/hop/admin_panel/~/moment/moment.js","webpack:///D:/hop/admin_panel/~/rxjs/util/root.js","webpack:///D:/hop/admin_panel/~/rxjs/scheduler/async.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/util.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_has.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_redefine.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_string-html.js","webpack:///D:/hop/admin_panel/~/angular2-moment/index.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_to-length.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/parse_util.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/di.js","webpack:///D:/hop/admin_panel/~/@angular/forms/src/directives/control_value_accessor.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_strict-method.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_to-iobject.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_to-object.js","webpack:///D:/hop/admin_panel/~/ngx-facebook/dist/esm/components/fbml-component.js","webpack:///D:/hop/admin_panel/~/@angular/common/src/facade/lang.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/compiler_util/identifier_util.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/ml_parser/interpolation_config.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/template_parser/template_ast.js","webpack:///D:/hop/admin_panel/~/@angular/forms/src/validators.js","webpack:///D:/hop/admin_panel/~/@angular/platform-browser/src/facade/lang.js","webpack:///D:/hop/admin_panel/~/@angular/router/src/shared.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_object-sap.js","webpack:///D:/hop/admin_panel/~/process/browser.js","webpack:///D:/hop/admin_panel/~/rxjs/util/isArray.js","webpack:///D:/hop/admin_panel/~/@angular/forms/src/directives/control_container.js","webpack:///D:/hop/admin_panel/~/@angular/router/src/utils/collection.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_array-methods.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_defined.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_hide.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_metadata.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_object-gpo.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/ArrayObservable.js","webpack:///D:/hop/admin_panel/~/@angular/common/src/pipes/invalid_pipe_argument_error.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/aot/static_symbol.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/config.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/directive_wrapper_compiler.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/ml_parser/ast.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/schema/element_schema_registry.js","webpack:///D:/hop/admin_panel/~/@angular/forms/src/directives/shared.js","webpack:///D:/hop/admin_panel/~/@angular/http/src/enums.js","webpack:///D:/hop/admin_panel/public/app/constant.ts","webpack:///D:/hop/admin_panel/~/core-js/modules/_meta.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_object-gopd.js","webpack:///D:/hop/admin_panel/~/ng2-charts/index.js","webpack:///D:/hop/admin_panel/~/ngx-facebook/dist/esm/index.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/EmptyObservable.js","webpack:///D:/hop/admin_panel/~/rxjs/util/isScheduler.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/facade/collection.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/ml_parser/html_parser.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/ml_parser/tags.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/url_resolver.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/view_compiler/util.js","webpack:///D:/hop/admin_panel/~/@angular/forms/src/directives/ng_control.js","webpack:///D:/hop/admin_panel/~/@angular/router/src/url_tree.js","webpack:///D:/hop/admin_panel/~/angular2-uuid/index.js","webpack:///D:/hop/admin_panel/~/buffer/index.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_a-function.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_cof.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_property-desc.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_to-primitive.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/of.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/map.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/mergeAll.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/expression_parser/parser.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/ml_parser/parser.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/di/metadata.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/util/decorators.js","webpack:///D:/hop/admin_panel/~/@angular/forms/src/facade/async.js","webpack:///D:/hop/admin_panel/~/@angular/forms/src/facade/lang.js","webpack:///D:/hop/admin_panel/~/@angular/http/index.js","webpack:///D:/hop/admin_panel/~/@angular/platform-browser/src/dom/events/event_manager.js","webpack:///D:/hop/admin_panel/~/@angular/router/src/router_state.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_global.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_wks.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_ctx.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_object-create.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_object-keys.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_to-integer.js","webpack:///D:/hop/admin_panel/~/inherits/inherits_browser.js","webpack:///D:/hop/admin_panel/~/libphonenumber-js/es6/metadata.js","webpack:///D:/hop/admin_panel/~/libphonenumber-js/es6/parse.js","webpack:///D:/hop/admin_panel/~/readable-stream/lib/_stream_duplex.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/mergeMap.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/multicast.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/compiler_util/expression_converter.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/directive_normalizer.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/directive_resolver.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/expression_parser/lexer.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/metadata_resolver.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/ng_module_resolver.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/pipe_resolver.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/template_parser/template_parser.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/view_compiler/view_compiler.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/di/injector.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/facade/collection.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/linker/compiler.js","webpack:///D:/hop/admin_panel/~/@angular/forms/src/directives/abstract_form_group_directive.js","webpack:///D:/hop/admin_panel/~/@angular/forms/src/directives/ng_form.js","webpack:///D:/hop/admin_panel/~/@angular/forms/src/directives/radio_control_value_accessor.js","webpack:///D:/hop/admin_panel/~/@angular/forms/src/directives/reactive_directives/form_group_directive.js","webpack:///D:/hop/admin_panel/~/@angular/forms/src/directives/reactive_directives/form_group_name.js","webpack:///D:/hop/admin_panel/~/@angular/http/src/headers.js","webpack:///D:/hop/admin_panel/~/@angular/http/src/interfaces.js","webpack:///D:/hop/admin_panel/~/@angular/router/src/router.js","webpack:///D:/hop/admin_panel/~/@angular/router/src/router_config_loader.js","webpack:///D:/hop/admin_panel/public/app/app.helpers.ts","webpack:///D:/hop/admin_panel/public/app/views/routing_hidden_id.ts","webpack:///D:/hop/admin_panel/~/angular2-auth/dist/index.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_core.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_descriptors.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_hide.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_add-to-unscopables.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_iobject.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_iterators.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_object-gopn.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_to-index.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_uid.js","webpack:///D:/hop/admin_panel/~/core-util-is/lib/util.js","webpack:///D:/hop/admin_panel/~/ng2-bs3-modal/components/modal.js","webpack:///D:/hop/admin_panel/~/ng2-toastr/ng2-toastr.js","webpack:///D:/hop/admin_panel/~/rxjs/Notification.js","webpack:///D:/hop/admin_panel/~/rxjs/scheduler/AsyncAction.js","webpack:///D:/hop/admin_panel/~/rxjs/scheduler/AsyncScheduler.js","webpack:///D:/hop/admin_panel/~/rxjs/symbol/iterator.js","webpack:///D:/hop/admin_panel/~/rxjs/symbol/observable.js","webpack:///D:/hop/admin_panel/~/rxjs/util/EmptyError.js","webpack:///D:/hop/admin_panel/~/@angular/common/src/localization.js","webpack:///D:/hop/admin_panel/~/@angular/common/src/location/location_strategy.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/index.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/animation/animation_parser.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/chars.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/i18n/i18n_ast.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/i18n/i18n_html_parser.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/i18n/parse_util.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/i18n/serializers/serializer.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/ng_module_compiler.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/schema/dom_element_schema_registry.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/selector.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/style_compiler.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/view_compiler/constants.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/application_tokens.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/change_detection/change_detection.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/change_detection/change_detection_util.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/change_detection/constants.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/facade/errors.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/linker/component_factory_resolver.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/linker/element_ref.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/linker/view_type.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/linker/view_utils.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/profile/profile.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/zone/ng_zone.js","webpack:///D:/hop/admin_panel/~/@angular/forms/src/directives/checkbox_value_accessor.js","webpack:///D:/hop/admin_panel/~/@angular/forms/src/directives/default_value_accessor.js","webpack:///D:/hop/admin_panel/~/@angular/forms/src/directives/ng_model_group.js","webpack:///D:/hop/admin_panel/~/@angular/forms/src/directives/reactive_errors.js","webpack:///D:/hop/admin_panel/~/@angular/forms/src/directives/select_control_value_accessor.js","webpack:///D:/hop/admin_panel/~/@angular/forms/src/directives/select_multiple_control_value_accessor.js","webpack:///D:/hop/admin_panel/~/@angular/forms/src/model.js","webpack:///D:/hop/admin_panel/~/@angular/http/src/base_response_options.js","webpack:///D:/hop/admin_panel/~/@angular/http/src/http_utils.js","webpack:///D:/hop/admin_panel/~/@angular/http/src/url_search_params.js","webpack:///D:/hop/admin_panel/~/@angular/platform-browser/src/dom/dom_tokens.js","webpack:///D:/hop/admin_panel/~/@angular/router/src/router_outlet_map.js","webpack:///D:/hop/admin_panel/public/app/views/data.ts","webpack:///D:/hop/admin_panel/~/angular2-auth/dist/auth.config.js","webpack:///D:/hop/admin_panel/~/angular2-auth/dist/token.service.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_an-object.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_has.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_iterators.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_object-dp.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_fix-re-wks.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_for-of.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_object-gops.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_object-pie.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_set-to-string-tag.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_shared.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_string-trim.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.object.to-string.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.string.iterator.js","webpack:///D:/hop/admin_panel/~/jspdf/dist/jspdf.min.js","webpack:///D:/hop/admin_panel/~/libphonenumber-js/es6/common.js","webpack:///D:/hop/admin_panel/~/libphonenumber-js/es6/format.js","webpack:///D:/hop/admin_panel/~/libphonenumber-js/es6/get number type.js","webpack:///D:/hop/admin_panel/~/ng2-toastr/src/toast-options.js","webpack:///D:/hop/admin_panel/~/ng2-translate/src/translate.service.js","webpack:///D:/hop/admin_panel/~/ng2-translate/src/util.js","webpack:///D:/hop/admin_panel/~/pako/lib/utils/common.js","webpack:///D:/hop/admin_panel/~/process-nextick-args/index.js","webpack:///D:/hop/admin_panel/~/rxjs/AsyncSubject.js","webpack:///D:/hop/admin_panel/~/rxjs/BehaviorSubject.js","webpack:///D:/hop/admin_panel/~/rxjs/ReplaySubject.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/from.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/fromPromise.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/reduce.js","webpack:///D:/hop/admin_panel/~/rxjs/symbol/rxSubscriber.js","webpack:///D:/hop/admin_panel/~/rxjs/util/ArgumentOutOfRangeError.js","webpack:///D:/hop/admin_panel/~/rxjs/util/isDate.js","webpack:///D:/hop/admin_panel/~/safe-buffer/index.js","webpack:///D:/hop/admin_panel/~/@angular/common/src/location/location.js","webpack:///D:/hop/admin_panel/~/@angular/common/src/location/platform_location.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/aot/compiler.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/aot/static_reflection_capabilities.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/aot/static_reflector.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/aot/static_symbol_resolver.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/aot/summary_resolver.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/expression_parser/ast.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/i18n/serializers/xmb.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/ml_parser/html_tags.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/output/abstract_emitter.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/output/class_builder.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/output/ts_emitter.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/resource_loader.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/summary_resolver.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/view_compiler/compile_method.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/view_compiler/deps.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/animation/animation_player.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/application_init.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/application_ref.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/change_detection/differs/default_iterable_differ.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/console.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/di/forward_ref.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/di/opaque_token.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/di/reflective_key.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/di/reflective_provider.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/facade/async.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/linker/component_factory.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/reflection/reflection.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/reflection/reflector_reader.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/render/api.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/testability/testability.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/type.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/util/lang.js","webpack:///D:/hop/admin_panel/~/@angular/forms/src/directives/abstract_control_directive.js","webpack:///D:/hop/admin_panel/~/@angular/forms/src/directives/ng_control_status.js","webpack:///D:/hop/admin_panel/~/@angular/forms/src/directives/ng_model.js","webpack:///D:/hop/admin_panel/~/@angular/forms/src/directives/number_value_accessor.js","webpack:///D:/hop/admin_panel/~/@angular/forms/src/directives/range_value_accessor.js","webpack:///D:/hop/admin_panel/~/@angular/forms/src/directives/reactive_directives/form_control_directive.js","webpack:///D:/hop/admin_panel/~/@angular/forms/src/directives/reactive_directives/form_control_name.js","webpack:///D:/hop/admin_panel/~/@angular/http/src/backends/browser_xhr.js","webpack:///D:/hop/admin_panel/~/@angular/http/src/base_request_options.js","webpack:///D:/hop/admin_panel/~/@angular/http/src/static_response.js","webpack:///D:/hop/admin_panel/~/@angular/platform-browser/src/dom/animation_driver.js","webpack:///D:/hop/admin_panel/~/@angular/platform-browser/src/dom/debug/ng_probe.js","webpack:///D:/hop/admin_panel/~/@angular/platform-browser/src/dom/dom_renderer.js","webpack:///D:/hop/admin_panel/~/@angular/platform-browser/src/dom/events/hammer_gestures.js","webpack:///D:/hop/admin_panel/~/@angular/platform-browser/src/dom/shared_styles_host.js","webpack:///D:/hop/admin_panel/~/@angular/platform-browser/src/private_import_core.js","webpack:///D:/hop/admin_panel/~/@angular/platform-browser/src/security/url_sanitizer.js","webpack:///D:/hop/admin_panel/~/@angular/router/src/directives/router_link.js","webpack:///D:/hop/admin_panel/~/@angular/router/src/utils/tree.js","webpack:///D:/hop/admin_panel/public/app/common/store/navigation/navigation.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/location_track/location_track.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/trans_language/translate/index.ts","webpack:///D:/hop/admin_panel/public/app/views/http.interceptor.ts","webpack:///D:/hop/admin_panel/~/babel-runtime/core-js/get-iterator.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_defined.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_export.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_fails.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_is-object.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_shared-key.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_to-integer.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_to-iobject.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_an-instance.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_collection.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_enum-bug-keys.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_fails-is-regexp.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_flags.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_inherit-if-required.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_is-array.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_is-regexp.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_iter-define.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_library.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_math-expm1.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_math-sign.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_redefine-all.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_set-proto.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_set-species.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_shared-key.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_string-context.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_string-ws.js","webpack:///D:/hop/admin_panel/~/ng2-dropdown/Dropdown.js","webpack:///D:/hop/admin_panel/~/ng2-dropdown/DropdownNotClosableZone.js","webpack:///D:/hop/admin_panel/~/ng2-img-cropper/src/cropperSettings.js","webpack:///D:/hop/admin_panel/~/ng2-img-cropper/src/model/bounds.js","webpack:///D:/hop/admin_panel/~/ng2-img-cropper/src/model/pointPool.js","webpack:///D:/hop/admin_panel/~/ng2-toastr/src/toast-container.component.js","webpack:///D:/hop/admin_panel/~/ng2-translate/src/translate.parser.js","webpack:///D:/hop/admin_panel/~/ngx-tooltip/TooltipContent.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/toPromise.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/ConnectableObservable.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/ScalarObservable.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/catch.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/combineLatest.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/concat.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/concatAll.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/concatMap.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/every.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/filter.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/observeOn.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/zip.js","webpack:///D:/hop/admin_panel/~/rxjs/util/ObjectUnsubscribedError.js","webpack:///D:/hop/admin_panel/~/rxjs/util/isFunction.js","webpack:///D:/hop/admin_panel/~/rxjs/util/isNumeric.js","webpack:///D:/hop/admin_panel/~/@angular/common/src/directives/index.js","webpack:///D:/hop/admin_panel/~/@angular/common/src/directives/ng_switch.js","webpack:///D:/hop/admin_panel/~/@angular/common/src/pipes/index.js","webpack:///D:/hop/admin_panel/~/@angular/common/src/pipes/intl.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/animation/animation_ast.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/animation/animation_compiler.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/aot/summary_serializer.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/assertions.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/compiler_util/binding_util.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/compiler_util/render_util.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/i18n/digest.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/i18n/extractor_merger.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/i18n/index.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/i18n/message_bundle.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/i18n/serializers/xliff.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/i18n/serializers/xml_helper.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/i18n/serializers/xtb.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/jit/compiler.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/ml_parser/xml_parser.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/output/value_util.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/provider_analyzer.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/style_url_resolver.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/template_parser/binding_parser.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/template_parser/template_preparser.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/view_compiler/compile_element.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/view_compiler/compile_query.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/view_compiler/compile_view.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/animation/animation_constants.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/animation/animation_group_player.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/animation/animation_keyframe.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/animation/animation_queue.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/animation/animation_sequence_player.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/animation/animation_styles.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/animation/animation_transition_event.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/animation/metadata.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/change_detection/change_detector_ref.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/change_detection/differs/default_keyvalue_differ.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/change_detection/differs/iterable_differs.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/change_detection/differs/keyvalue_differs.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/debug/debug_node.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/di/reflective_errors.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/error_handler.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/i18n/tokens.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/linker/debug_context.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/linker/errors.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/linker/ng_module_factory.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/linker/ng_module_factory_loader.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/linker/template_ref.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/linker/view_container_ref.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/linker/view_ref.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/metadata.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/metadata/lifecycle_hooks.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/metadata/view.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/reflection/reflection_capabilities.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/reflection/reflector.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/security.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/version.js","webpack:///D:/hop/admin_panel/~/@angular/forms/src/directives/error_examples.js","webpack:///D:/hop/admin_panel/~/@angular/forms/src/directives/template_driven_errors.js","webpack:///D:/hop/admin_panel/~/@angular/forms/src/directives/validators.js","webpack:///D:/hop/admin_panel/~/@angular/forms/src/facade/collection.js","webpack:///D:/hop/admin_panel/~/@angular/forms/src/form_builder.js","webpack:///D:/hop/admin_panel/~/@angular/forms/src/private_import_core.js","webpack:///D:/hop/admin_panel/~/@angular/http/src/backends/browser_jsonp.js","webpack:///D:/hop/admin_panel/~/@angular/http/src/backends/jsonp_backend.js","webpack:///D:/hop/admin_panel/~/@angular/http/src/backends/xhr_backend.js","webpack:///D:/hop/admin_panel/~/@angular/http/src/body.js","webpack:///D:/hop/admin_panel/~/@angular/http/src/http.js","webpack:///D:/hop/admin_panel/~/@angular/http/src/static_request.js","webpack:///D:/hop/admin_panel/~/@angular/platform-browser-dynamic/src/platform_providers.js","webpack:///D:/hop/admin_panel/~/@angular/platform-browser-dynamic/src/resource_loader/resource_loader_impl.js","webpack:///D:/hop/admin_panel/~/@angular/platform-browser/src/browser.js","webpack:///D:/hop/admin_panel/~/@angular/platform-browser/src/browser/browser_adapter.js","webpack:///D:/hop/admin_panel/~/@angular/platform-browser/src/browser/location/browser_platform_location.js","webpack:///D:/hop/admin_panel/~/@angular/platform-browser/src/browser/testability.js","webpack:///D:/hop/admin_panel/~/@angular/platform-browser/src/browser/title.js","webpack:///D:/hop/admin_panel/~/@angular/platform-browser/src/dom/events/dom_events.js","webpack:///D:/hop/admin_panel/~/@angular/platform-browser/src/dom/events/key_events.js","webpack:///D:/hop/admin_panel/~/@angular/platform-browser/src/dom/web_animations_driver.js","webpack:///D:/hop/admin_panel/~/@angular/platform-browser/src/security/dom_sanitization_service.js","webpack:///D:/hop/admin_panel/~/@angular/router/src/directives/router_link_active.js","webpack:///D:/hop/admin_panel/~/@angular/router/src/directives/router_outlet.js","webpack:///D:/hop/admin_panel/~/@angular/router/src/router_module.js","webpack:///D:/hop/admin_panel/~/@angular/router/src/router_preloader.js","webpack:///D:/hop/admin_panel/public/app/app.component.ts","webpack:///D:/hop/admin_panel/public/app/common/admin/layouts/admin_basic.component.ts","webpack:///D:/hop/admin_panel/public/app/common/admin/layouts/admin_blank.component.ts","webpack:///D:/hop/admin_panel/public/app/common/dispatcher/layouts/dispatcher_basic.component.ts","webpack:///D:/hop/admin_panel/public/app/common/dispatcher/layouts/dispatcher_blank.component.ts","webpack:///D:/hop/admin_panel/public/app/common/franchise/layouts/franchise_basic.component.ts","webpack:///D:/hop/admin_panel/public/app/common/franchise/layouts/franchise_blank.component.ts","webpack:///D:/hop/admin_panel/public/app/common/franchise/navigation/navigation.module.ts","webpack:///D:/hop/admin_panel/public/app/common/store/layouts/store_basic.component.ts","webpack:///D:/hop/admin_panel/public/app/common/store/layouts/store_blank.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/404/404.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/502/502.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/add_admin/add_admin.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/add_advertise/add_advertise.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/add_city/add_city.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/add_country/add_country.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/add_delivery/add_delivery.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/add_detail/add_detail.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/add_document/add_document.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/add_promo_code/add_promo_code.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/add_service/add_service.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/add_team/add_team.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/add_vehicle/add_vehicle.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/admin/admin.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/admin_forgot_password/admin_forgot_password.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/admin_login/admin_login.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/admin_new_password/admin_new_password.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/admin_view_cart/admin_view_cart.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/advertise/advertise.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/all-city/all-city.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/analytics/analytics.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/app_setting/app_setting.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/app_update_setting/app_update_setting.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/basic_setting/basic_setting.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/cancellation_reason/cancellation_reason.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/city/city.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/country/country.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/dashboard/dashboard.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/deliveries/deliveries.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/delivery/delivery.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/dispatch/dispatch.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/dispatch_setting/dispatch_setting.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/dispatcher_city/dispatcher_city.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/dispatcher_login/dispatcher_login.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/document/document.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/earning/earning.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/edit_order/edit_order.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/edit_provider/edit_provider.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/edit_provider_vehicle/edit_provider_vehicle.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/edit_store/edit_store.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/edit_user/edit_user.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/email/email.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/franchises/franchises.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/general_analytics/general_analytics.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/google_key_setting/google_key_setting.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/history/history.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/hopper_earning/hopper_earning.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/hopper_earning_detail/hopper_earning_detail.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/image_setting/image_setting.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/installation_setting/installation_setting.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/ios_push_notification_setting/ios_push_notification_setting.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/location_track/location_track.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/mass_notification/mass_notification.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/order/order.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/order_detail/order_detail.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/order_earning/order_earning.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/order_track/order_track.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/orders/orders.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/other_setting/other_setting.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/partner_earning/partner_earning.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/partner_earning_detail/partner_earning_detail.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/partner_odh_earning/partner_odh_earning.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/payment_gateway/payment_gateway.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/promo_code/promo_code.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/provider/provider.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/provider_history/history.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/provider_map/provider_map.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/provider_new_password/provider_new_password.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/provider_vehicle/provider_vehicle.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/provider_weekly_earning/provider_weekly_earning.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/provider_weekly_earning_statement/provider_weekly_earning_statement.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/refund_order/refund_order.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/request_cancel_reason/request_cancel_reason.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/request_order_detail/request_order_detail.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/review/review.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/saas/saas.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/service/service.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/setting/setting.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/sms/sms.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/store_history/history.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/store_map/store_map.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/store_products/products.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/store_report/store_report.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/store_setting/setting.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/store_weekly_earning/store_weekly_earning.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/store_weekly_earning_statement/store_weekly_earning_statement.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/stores/stores.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/team/team.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/trans_language/trans_language.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/trans_language/translate/translations.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/transaction_history/transaction_history.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/upload_document/upload_document.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/user/user.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/user_history/history.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/user_new_password/user_new_password.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/vehicle/vehicle.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/vehicle_document/vehicle_document.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/view_bank_detail/view_bank_detail.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/view_document/view_document.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/view_earning_detail/view_earning_detail.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/view_history/view_history.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/view_invoice/view_invoice.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/view_order_earning_detail/view_order_earning_detail.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/view_promo_uses/view_promo_uses.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/view_provider_history/view_provider_history.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/view_referral_detail/view_referral_detail.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/view_review_detail/view_review_detail.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/view_service_detail/view_service_detail.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/wallet_history/wallet_history.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/wallet_request/wallet_request.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/wallet_request_bank_detail/wallet_request_bank_detail.component.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/add_item/add_item.component.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/add_store/add_store.component.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/delivery/delivery.component.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/edit_item/edit_item.component.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/edit_product/edit_product.component.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/edit_store/edit_store.component.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/franchise_forgot_password/franchise_forgot_password.component.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/franchise_login/franchise_login.component.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/franchise_logout/franchise_logout.component.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/franchise_new_password/franchise_new_password.component.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/franchise_register/franchise_register.component.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/history/history.component.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/item/item.component.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/order/order.component.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/order_earning_detail/order_earning_detail.component.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/products/products.component.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/profile/profile.component.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/specification/specification.component.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/store_item/store_item.component.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/store_panel_string.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/stores/stores.component.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/track_delivery_man/track_delivery_man.component.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/view_cart/view_cart.component.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/view_order/view_order.component.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/view_store_detail/view_store_detail.component.ts","webpack:///D:/hop/admin_panel/public/app/views/interceptor.service.ts","webpack:///D:/hop/admin_panel/public/app/views/store/add_promo_code/add_promo_code.component.ts","webpack:///D:/hop/admin_panel/public/app/views/store/cart.ts","webpack:///D:/hop/admin_panel/public/app/views/store/checkout_order/checkout_order.component.ts","webpack:///D:/hop/admin_panel/public/app/views/store/create_order_without_item/create_order_without_item.component.ts","webpack:///D:/hop/admin_panel/public/app/views/store/daily_earning/daily_earning.component.ts","webpack:///D:/hop/admin_panel/public/app/views/store/delivery/delivery.component.ts","webpack:///D:/hop/admin_panel/public/app/views/store/earning/earning.component.ts","webpack:///D:/hop/admin_panel/public/app/views/store/edit_order/edit_order.component.ts","webpack:///D:/hop/admin_panel/public/app/views/store/history/history.component.ts","webpack:///D:/hop/admin_panel/public/app/views/store/monthly_earning/monthly_earning.component.ts","webpack:///D:/hop/admin_panel/public/app/views/store/order_new/order.component.ts","webpack:///D:/hop/admin_panel/public/app/views/store/payment_automize/payment_automize.component.ts","webpack:///D:/hop/admin_panel/public/app/views/store/products/products.component.ts","webpack:///D:/hop/admin_panel/public/app/views/store/profile/profile.component.ts","webpack:///D:/hop/admin_panel/public/app/views/store/promo_code/promo_code.component.ts","webpack:///D:/hop/admin_panel/public/app/views/store/setting/setting.component.ts","webpack:///D:/hop/admin_panel/public/app/views/store/setting_whop/setting_whop.component.ts","webpack:///D:/hop/admin_panel/public/app/views/store/store_create_order/store_create_order.component.ts","webpack:///D:/hop/admin_panel/public/app/views/store/track_delivery_man/track_delivery_man.component.ts","webpack:///D:/hop/admin_panel/public/app/views/store/upload_document/upload_document.component.ts","webpack:///D:/hop/admin_panel/public/app/views/store/user/user.component.ts","webpack:///D:/hop/admin_panel/public/app/views/store/view_cart/view_cart.component.ts","webpack:///D:/hop/admin_panel/public/app/views/store/weekly_earning/weekly_earning.component.ts","webpack:///D:/hop/admin_panel/public/environments/environment.prod.ts","webpack:///D:/hop/admin_panel/~/angular2-auth/dist/auth.guards.js","webpack:///D:/hop/admin_panel/~/angular2-auth/dist/auth.http.js","webpack:///D:/hop/admin_panel/~/angular2-auth/dist/token.model.js","webpack:///D:/hop/admin_panel/~/angular2-moment/add.pipe.js","webpack:///D:/hop/admin_panel/~/angular2-moment/calendar.pipe.js","webpack:///D:/hop/admin_panel/~/angular2-moment/date-format.pipe.js","webpack:///D:/hop/admin_panel/~/angular2-moment/difference.pipe.js","webpack:///D:/hop/admin_panel/~/angular2-moment/duration.pipe.js","webpack:///D:/hop/admin_panel/~/angular2-moment/from-unix.pipe.js","webpack:///D:/hop/admin_panel/~/angular2-moment/local.pipe.js","webpack:///D:/hop/admin_panel/~/angular2-moment/locale.pipe.js","webpack:///D:/hop/admin_panel/~/angular2-moment/parse.pipe.js","webpack:///D:/hop/admin_panel/~/angular2-moment/subtract.pipe.js","webpack:///D:/hop/admin_panel/~/angular2-moment/time-ago.pipe.js","webpack:///D:/hop/admin_panel/~/angular2-moment/utc.pipe.js","webpack:///D:/hop/admin_panel/~/chartjs-color/index.js","webpack:///D:/hop/admin_panel/~/color-convert/conversions.js","webpack:///D:/hop/admin_panel/~/color-name/index.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_cof.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_dom-create.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_enum-bug-keys.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_iobject.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_iter-define.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_object-keys.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_property-desc.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_set-to-string-tag.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_shared.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_to-object.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_uid.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_a-number-value.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_array-includes.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_array-reduce.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_bind.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_classof.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_collection-strong.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_create-property.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_dom-create.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_html.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_ie8-dom-define.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_is-array-iter.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_is-integer.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_iter-call.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_iter-create.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_iter-detect.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_iter-step.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_math-log1p.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_object-assign.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_object-dps.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_object-gopn-ext.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_object-keys-internal.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_parse-float.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_parse-int.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_string-at.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_string-repeat.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_wks-ext.js","webpack:///D:/hop/admin_panel/~/core-js/modules/core.get-iterator-method.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.array.iterator.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.map.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.regexp.flags.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.regexp.match.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.regexp.replace.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.regexp.search.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.regexp.split.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.set.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.symbol.js","webpack:///D:/hop/admin_panel/~/core-js/modules/web.dom.iterable.js","webpack:///D:/hop/admin_panel/~/events/events.js","webpack:///D:/hop/admin_panel/~/libphonenumber-js/es6/as you type.js","webpack:///D:/hop/admin_panel/~/libphonenumber-js/es6/validate.js","webpack:///D:/hop/admin_panel/~/ng2-bs3-modal/components/modal-body.js","webpack:///D:/hop/admin_panel/~/ng2-bs3-modal/components/modal-footer.js","webpack:///D:/hop/admin_panel/~/ng2-bs3-modal/components/modal-header.js","webpack:///D:/hop/admin_panel/~/ng2-bs3-modal/components/modal-instance.js","webpack:///D:/hop/admin_panel/~/ng2-dropdown/DropdownOpen.js","webpack:///D:/hop/admin_panel/~/ng2-img-cropper/src/cropperDrawSettings.js","webpack:///D:/hop/admin_panel/~/ng2-img-cropper/src/imageCropper.js","webpack:///D:/hop/admin_panel/~/ng2-img-cropper/src/imageCropperComponent.js","webpack:///D:/hop/admin_panel/~/ng2-img-cropper/src/model/cropPosition.js","webpack:///D:/hop/admin_panel/~/ng2-img-cropper/src/model/handle.js","webpack:///D:/hop/admin_panel/~/ng2-img-cropper/src/model/point.js","webpack:///D:/hop/admin_panel/~/ng2-notifications/ng2-notifications.js","webpack:///D:/hop/admin_panel/~/ng2-notifications/src/app/components/notification.component.js","webpack:///D:/hop/admin_panel/~/ng2-toastr/src/toast-manager.js","webpack:///D:/hop/admin_panel/~/ng2-toastr/src/toast.js","webpack:///D:/hop/admin_panel/~/ng2-translate/src/translate.directive.js","webpack:///D:/hop/admin_panel/~/ng2-translate/src/translate.pipe.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/base64/index.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/credit-card/index.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/date-ios/index.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/date/index.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/digits/index.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/email/index.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/equal-to/index.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/equal/index.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/greater-than-equal/index.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/greater-than/index.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/json/index.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/less-than-equal/index.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/less-than/index.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/max-date/index.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/max/index.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/min-date/index.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/min/index.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/not-equal-to/index.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/not-equal/index.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/number/index.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/phone/index.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/range-length/index.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/range/index.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/url/index.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/uuid/index.js","webpack:///D:/hop/admin_panel/~/ngx-facebook/dist/esm/components/fb-comment-embed/fb-comment-embed.js","webpack:///D:/hop/admin_panel/~/ngx-facebook/dist/esm/components/fb-comments/fb-comments.js","webpack:///D:/hop/admin_panel/~/ngx-facebook/dist/esm/components/fb-follow/fb-follow.js","webpack:///D:/hop/admin_panel/~/ngx-facebook/dist/esm/components/fb-like/fb-like.js","webpack:///D:/hop/admin_panel/~/ngx-facebook/dist/esm/components/fb-page/fb-page.js","webpack:///D:/hop/admin_panel/~/ngx-facebook/dist/esm/components/fb-post/fb-post.js","webpack:///D:/hop/admin_panel/~/ngx-facebook/dist/esm/components/fb-quote/fb-quote.js","webpack:///D:/hop/admin_panel/~/ngx-facebook/dist/esm/components/fb-save/fb-save.js","webpack:///D:/hop/admin_panel/~/ngx-facebook/dist/esm/components/fb-send/fb-send.js","webpack:///D:/hop/admin_panel/~/ngx-facebook/dist/esm/components/fb-share/fb-share.js","webpack:///D:/hop/admin_panel/~/ngx-facebook/dist/esm/components/fb-video/fb-video.js","webpack:///D:/hop/admin_panel/~/ngx-facebook/dist/esm/providers/facebook.js","webpack:///D:/hop/admin_panel/~/ngx-tooltip/Tooltip.js","webpack:///D:/hop/admin_panel/~/pako/lib/zlib/adler32.js","webpack:///D:/hop/admin_panel/~/pako/lib/zlib/crc32.js","webpack:///D:/hop/admin_panel/~/pako/lib/zlib/messages.js","webpack:///D:/hop/admin_panel/~/readable-stream/lib/_stream_readable.js","webpack:///D:/hop/admin_panel/~/readable-stream/lib/_stream_transform.js","webpack:///D:/hop/admin_panel/~/readable-stream/lib/_stream_writable.js","webpack:///D:/hop/admin_panel/~/readable-stream/lib/internal/streams/destroy.js","webpack:///D:/hop/admin_panel/~/readable-stream/lib/internal/streams/stream-browser.js","webpack:///D:/hop/admin_panel/~/rxjs/Rx.js","webpack:///D:/hop/admin_panel/~/rxjs/add/observable/fromEvent.js","webpack:///D:/hop/admin_panel/~/rxjs/add/observable/of.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/merge.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/share.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/take.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/toArray.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/FromObservable.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/MulticastObservable.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/PromiseObservable.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/dom/AjaxObservable.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/distinct.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/distinctUntilChanged.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/find.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/first.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/last.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/merge.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/mergeMapTo.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/onErrorResumeNext.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/race.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/timeInterval.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/timestamp.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/toPromise.js","webpack:///D:/hop/admin_panel/~/rxjs/scheduler/VirtualTimeScheduler.js","webpack:///D:/hop/admin_panel/~/rxjs/scheduler/asap.js","webpack:///D:/hop/admin_panel/~/rxjs/scheduler/queue.js","webpack:///D:/hop/admin_panel/~/rxjs/testing/SubscriptionLog.js","webpack:///D:/hop/admin_panel/~/rxjs/testing/SubscriptionLoggable.js","webpack:///D:/hop/admin_panel/~/rxjs/util/UnsubscriptionError.js","webpack:///D:/hop/admin_panel/~/rxjs/util/applyMixins.js","webpack:///D:/hop/admin_panel/~/rxjs/util/isPromise.js","webpack:///D:/hop/admin_panel/~/rxjs/util/noop.js","webpack:///D:/hop/admin_panel/~/string_decoder/lib/string_decoder.js","webpack:///D:/hop/admin_panel/~/util/util.js","webpack:///(webpack)/buildin/module.js","webpack:///D:/hop/admin_panel/public async","webpack:///D:/hop/admin_panel/public/main.ts","webpack:///D:/hop/admin_panel/~/@angular/common/src/common.js","webpack:///D:/hop/admin_panel/~/@angular/common/src/common_module.js","webpack:///D:/hop/admin_panel/~/@angular/common/src/directives/ng_class.js","webpack:///D:/hop/admin_panel/~/@angular/common/src/directives/ng_for.js","webpack:///D:/hop/admin_panel/~/@angular/common/src/directives/ng_if.js","webpack:///D:/hop/admin_panel/~/@angular/common/src/directives/ng_plural.js","webpack:///D:/hop/admin_panel/~/@angular/common/src/directives/ng_style.js","webpack:///D:/hop/admin_panel/~/@angular/common/src/directives/ng_template_outlet.js","webpack:///D:/hop/admin_panel/~/@angular/common/src/facade/collection.js","webpack:///D:/hop/admin_panel/~/@angular/common/src/facade/errors.js","webpack:///D:/hop/admin_panel/~/@angular/common/src/location/hash_location_strategy.js","webpack:///D:/hop/admin_panel/~/@angular/common/src/location/index.js","webpack:///D:/hop/admin_panel/~/@angular/common/src/location/path_location_strategy.js","webpack:///D:/hop/admin_panel/~/@angular/common/src/pipes/async_pipe.js","webpack:///D:/hop/admin_panel/~/@angular/common/src/pipes/date_pipe.js","webpack:///D:/hop/admin_panel/~/@angular/common/src/pipes/i18n_plural_pipe.js","webpack:///D:/hop/admin_panel/~/@angular/common/src/pipes/i18n_select_pipe.js","webpack:///D:/hop/admin_panel/~/@angular/common/src/pipes/json_pipe.js","webpack:///D:/hop/admin_panel/~/@angular/common/src/pipes/lowercase_pipe.js","webpack:///D:/hop/admin_panel/~/@angular/common/src/pipes/number_pipe.js","webpack:///D:/hop/admin_panel/~/@angular/common/src/pipes/slice_pipe.js","webpack:///D:/hop/admin_panel/~/@angular/common/src/pipes/uppercase_pipe.js","webpack:///D:/hop/admin_panel/~/@angular/common/src/private_import_core.js","webpack:///D:/hop/admin_panel/~/@angular/common/src/version.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/animation/styles_collection.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/aot/compiler_factory.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/aot/generated_file.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/facade/errors.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/i18n/extractor.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/i18n/i18n_parser.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/i18n/serializers/placeholder.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/i18n/translation_bundle.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/jit/compiler_factory.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/lifecycle_reflector.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/ml_parser/icu_ast_expander.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/ml_parser/lexer.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/ml_parser/xml_tags.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/output/abstract_js_emitter.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/output/output_interpreter.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/output/output_jit.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/output/path_util.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/schema/dom_security_schema.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/shadow_css.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/version.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/view_compiler/compile_pipe.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/view_compiler/event_binder.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/view_compiler/lifecycle_binder.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/view_compiler/property_binder.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/view_compiler/query_binder.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/view_compiler/view_binder.js","webpack:///D:/hop/admin_panel/~/@angular/compiler/src/view_compiler/view_builder.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/animation/animation_style_util.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/animation/animation_transition.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/animation/view_animation_map.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/application_module.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/change_detection.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/core.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/core_private_export.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/debug/debug_renderer.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/di/reflective_injector.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/linker.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/linker/animation_view_context.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/linker/element_injector.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/linker/query_list.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/linker/system_js_ng_module_factory_loader.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/linker/view.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/linker/view_container.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/metadata/di.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/metadata/directives.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/metadata/ng_module.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/platform_core_providers.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/profile/wtf_impl.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/render.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/util.js","webpack:///D:/hop/admin_panel/~/@angular/core/src/zone.js","webpack:///D:/hop/admin_panel/~/@angular/forms/src/directives.js","webpack:///D:/hop/admin_panel/~/@angular/forms/src/directives/normalize_validator.js","webpack:///D:/hop/admin_panel/~/@angular/forms/src/form_providers.js","webpack:///D:/hop/admin_panel/~/@angular/forms/src/forms.js","webpack:///D:/hop/admin_panel/~/@angular/forms/src/version.js","webpack:///D:/hop/admin_panel/~/@angular/http/src/http_module.js","webpack:///D:/hop/admin_panel/~/@angular/http/src/index.js","webpack:///D:/hop/admin_panel/~/@angular/http/src/version.js","webpack:///D:/hop/admin_panel/~/@angular/platform-browser-dynamic/index.js","webpack:///D:/hop/admin_panel/~/@angular/platform-browser-dynamic/src/facade/lang.js","webpack:///D:/hop/admin_panel/~/@angular/platform-browser-dynamic/src/platform-browser-dynamic.js","webpack:///D:/hop/admin_panel/~/@angular/platform-browser-dynamic/src/private_export.js","webpack:///D:/hop/admin_panel/~/@angular/platform-browser-dynamic/src/private_import_platform-browser.js","webpack:///D:/hop/admin_panel/~/@angular/platform-browser-dynamic/src/resource_loader/resource_loader_cache.js","webpack:///D:/hop/admin_panel/~/@angular/platform-browser-dynamic/src/version.js","webpack:///D:/hop/admin_panel/~/@angular/platform-browser/src/browser/generic_browser_adapter.js","webpack:///D:/hop/admin_panel/~/@angular/platform-browser/src/browser/location/history.js","webpack:///D:/hop/admin_panel/~/@angular/platform-browser/src/browser/tools/common_tools.js","webpack:///D:/hop/admin_panel/~/@angular/platform-browser/src/browser/tools/tools.js","webpack:///D:/hop/admin_panel/~/@angular/platform-browser/src/dom/debug/by.js","webpack:///D:/hop/admin_panel/~/@angular/platform-browser/src/dom/web_animations_player.js","webpack:///D:/hop/admin_panel/~/@angular/platform-browser/src/facade/browser.js","webpack:///D:/hop/admin_panel/~/@angular/platform-browser/src/facade/collection.js","webpack:///D:/hop/admin_panel/~/@angular/platform-browser/src/platform-browser.js","webpack:///D:/hop/admin_panel/~/@angular/platform-browser/src/private_export.js","webpack:///D:/hop/admin_panel/~/@angular/platform-browser/src/security/html_sanitizer.js","webpack:///D:/hop/admin_panel/~/@angular/platform-browser/src/security/style_sanitizer.js","webpack:///D:/hop/admin_panel/~/@angular/platform-browser/src/version.js","webpack:///D:/hop/admin_panel/~/@angular/router/src/apply_redirects.js","webpack:///D:/hop/admin_panel/~/@angular/router/src/config.js","webpack:///D:/hop/admin_panel/~/@angular/router/src/create_router_state.js","webpack:///D:/hop/admin_panel/~/@angular/router/src/create_url_tree.js","webpack:///D:/hop/admin_panel/~/@angular/router/src/index.js","webpack:///D:/hop/admin_panel/~/@angular/router/src/private_export.js","webpack:///D:/hop/admin_panel/~/@angular/router/src/recognize.js","webpack:///D:/hop/admin_panel/public/app/app.module.ts","webpack:///D:/hop/admin_panel/public/app/app.routes.ts","webpack:///D:/hop/admin_panel/public/app/common/admin/footer/footer.component.ts","webpack:///D:/hop/admin_panel/public/app/common/admin/layouts/admin_layouts.module.ts","webpack:///D:/hop/admin_panel/public/app/common/admin/navigation/navigation.component.ts","webpack:///D:/hop/admin_panel/public/app/common/admin/navigation/navigation.module.ts","webpack:///D:/hop/admin_panel/public/app/common/admin/topnavbar/topnavbar.component.ts","webpack:///D:/hop/admin_panel/public/app/common/admin/topnavbar/topnavbar.module.ts","webpack:///D:/hop/admin_panel/public/app/common/dispatcher/footer/footer.component.ts","webpack:///D:/hop/admin_panel/public/app/common/dispatcher/footer/footer.module.ts","webpack:///D:/hop/admin_panel/public/app/common/dispatcher/layouts/dispatcher_layouts.module.ts","webpack:///D:/hop/admin_panel/public/app/common/dispatcher/navigation/navigation.component.ts","webpack:///D:/hop/admin_panel/public/app/common/dispatcher/navigation/navigation.module.ts","webpack:///D:/hop/admin_panel/public/app/common/dispatcher/topnavbar/topnavbar.component.ts","webpack:///D:/hop/admin_panel/public/app/common/dispatcher/topnavbar/topnavbar.module.ts","webpack:///D:/hop/admin_panel/public/app/common/franchise/footer/footer.component.ts","webpack:///D:/hop/admin_panel/public/app/common/franchise/layouts/franchise_layouts.module.ts","webpack:///D:/hop/admin_panel/public/app/common/franchise/navigation/navigation.component.ts","webpack:///D:/hop/admin_panel/public/app/common/franchise/topnavbar/topnavbar.component.ts","webpack:///D:/hop/admin_panel/public/app/common/franchise/topnavbar/topnavbar.module.ts","webpack:///D:/hop/admin_panel/public/app/common/store/footer/footer.component.ts","webpack:///D:/hop/admin_panel/public/app/common/store/layouts/store_layouts.module.ts","webpack:///D:/hop/admin_panel/public/app/common/store/navigation/navigation.component.ts","webpack:///D:/hop/admin_panel/public/app/common/store/topnavbar/topnavbar.component.ts","webpack:///D:/hop/admin_panel/public/app/common/store/topnavbar/topnavbar.module.ts","webpack:///D:/hop/admin_panel/public/app/index.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/404/404.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/502/502.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/add_admin/add_admin.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/add_advertise/add_advertise.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/add_city/add_city.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/add_country/add_country.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/add_delivery/add_delivery.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/add_detail/add_detail.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/add_document/add_document.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/add_promo_code/add_promo_code.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/add_service/add_service.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/add_team/add_team.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/add_vehicle/add_vehicle.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/admin/admin.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/admin_forgot_password/admin_forgot_password.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/admin_login/admin_login.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/admin_new_password/admin_new_password.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/admin_panel_error_message.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/admin_panel_string.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/admin_panel_success_message.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/admin_panel_validation_message.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/admin_view_cart/admin_view_cart.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/advertise/advertise.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/all-city/all-city.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/analytics/analytics.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/app_setting/app_setting.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/app_update_setting/app_update_setting.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/basic_setting/basic_setting.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/cancellation_reason/cancellation_reason.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/city/city.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/country/country.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/dashboard/dashboard.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/deliveries/deliveries.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/delivery/delivery.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/dispatch/copy.component.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/dispatch/dispatch.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/dispatch_setting/dispatch_setting.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/dispatcher_city/dispatcher_city.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/dispatcher_login/dispatcher_login.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/document/document.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/earning/earning.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/edit_order/edit_order.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/edit_provider/edit_provider.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/edit_provider_vehicle/edit_provider_vehicle.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/edit_store/edit_store.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/edit_user/edit_user.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/email/email.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/franchises/franchises.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/general_analytics/general_analytics.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/google_key_setting/google_key_setting.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/history/history.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/hopper_earning/hopper_earning.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/hopper_earning_detail/hopper_earning_detail.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/image_setting/image_setting.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/installation_setting/installation_setting.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/ios_push_notification_setting/ios_push_notification_setting.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/mass_notification/mass_notification.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/order/order.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/order_detail/order_detail.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/order_earning/order_earning.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/order_track/order_track.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/orders/orders.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/other_setting/other_setting.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/partner_earning/partner_earning.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/partner_earning_detail/partner_earning_detail.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/partner_odh_earning/partner_odh_earning.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/payment_gateway/payment_gateway.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/promo_code/promo_code.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/provider/provider.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/provider_history/history.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/provider_map/provider_map.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/provider_new_password/provider_new_password.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/provider_vehicle/provider_vehicle.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/provider_weekly_earning/provider_weekly_earning.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/provider_weekly_earning_statement/provider_weekly_earning_statement.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/refund_order/refund_order.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/request_cancel_reason/request_cancel_reason.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/request_order_detail/request_order_detail.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/review/review.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/saas/saas.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/service/service.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/setting/setting.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/sms/sms.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/store_history/history.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/store_map/store_map.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/store_products/products.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/store_report/store_report.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/store_setting/setting.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/store_weekly_earning/store_weekly_earning.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/store_weekly_earning_statement/store_weekly_earning_statement.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/stores/stores.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/team/team.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/trans_language/trans_language.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/trans_language/translate/lang-ar.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/trans_language/translate/lang-en.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/trans_language/translate/lang-es.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/trans_language/translate/lang-zh.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/trans_language/translate/translate.pipe.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/trans_language/translate/translate.service.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/transaction_history/transaction_history.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/upload_document/upload_document.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/user/user.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/user_history/history.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/user_new_password/user_new_password.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/vehicle/vehicle.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/vehicle_document/vehicle_document.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/view_bank_detail/view_bank_detail.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/view_document/view_document.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/view_earning_detail/view_earning_detail.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/view_history/view_history.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/view_invoice/view_invoice.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/view_order_earning_detail/view_order_earning_detail.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/view_promo_uses/view_promo_uses.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/view_provider_history/view_provider_history.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/view_referral_detail/view_referral_detail.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/view_review_detail/view_review_detail.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/view_service_detail/view_service_detail.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/wallet_history/wallet_history.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/wallet_request/wallet_request.module.ts","webpack:///D:/hop/admin_panel/public/app/views/admin/wallet_request_bank_detail/wallet_request_bank_detail.module.ts","webpack:///D:/hop/admin_panel/public/app/views/custom-option.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/add_item/add_item.module.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/add_store/add_store.module.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/delivery/delivery.module.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/edit_item/edit_item.module.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/edit_product/edit_product.module.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/edit_store/edit_store.module.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/franchise_forgot_password/franchise_forgot_password.module.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/franchise_login/franchise_login.module.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/franchise_logout/franchise_logout.module.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/franchise_new_password/franchise_new_password.module.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/franchise_register/franchise_register.module.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/history/history.module.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/item/item.module.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/order/order.module.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/order_earning_detail/order_earning_detail.module.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/products/products.module.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/profile/profile.module.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/specification/specification.module.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/store_http_methods.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/store_item/store_item.module.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/store_panel_error_message .ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/store_panel_success_message.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/store_panel_validation_message.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/stores/stores.module.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/track_delivery_man/track_delivery_man.module.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/view_cart/view_cart.module.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/view_order/view_order.module.ts","webpack:///D:/hop/admin_panel/public/app/views/franchise/view_store_detail/view_store_detail.module.ts","webpack:///D:/hop/admin_panel/public/app/views/store/add_item/add_item.component.ts","webpack:///D:/hop/admin_panel/public/app/views/store/add_item/add_item.module.ts","webpack:///D:/hop/admin_panel/public/app/views/store/add_promo_code/add_promo_code.module.ts","webpack:///D:/hop/admin_panel/public/app/views/store/checkout_order/checkout_order.module.ts","webpack:///D:/hop/admin_panel/public/app/views/store/create_order_without_item/create_order_without_item.module.ts","webpack:///D:/hop/admin_panel/public/app/views/store/daily_earning/daily_earning.module.ts","webpack:///D:/hop/admin_panel/public/app/views/store/delivery/delivery.module.ts","webpack:///D:/hop/admin_panel/public/app/views/store/earning/earning.module.ts","webpack:///D:/hop/admin_panel/public/app/views/store/edit_item/edit_item.component.ts","webpack:///D:/hop/admin_panel/public/app/views/store/edit_item/edit_item.module.ts","webpack:///D:/hop/admin_panel/public/app/views/store/edit_order/edit_order.module.ts","webpack:///D:/hop/admin_panel/public/app/views/store/edit_product/edit_product.component.ts","webpack:///D:/hop/admin_panel/public/app/views/store/edit_product/edit_product.module.ts","webpack:///D:/hop/admin_panel/public/app/views/store/history/history.module.ts","webpack:///D:/hop/admin_panel/public/app/views/store/item/item.component.ts","webpack:///D:/hop/admin_panel/public/app/views/store/item/item.module.ts","webpack:///D:/hop/admin_panel/public/app/views/store/monthly_earning/monthly_earning.module.ts","webpack:///D:/hop/admin_panel/public/app/views/store/order/order.component.ts","webpack:///D:/hop/admin_panel/public/app/views/store/order/order.module.ts","webpack:///D:/hop/admin_panel/public/app/views/store/order_earning_detail/order_earning_detail.component.ts","webpack:///D:/hop/admin_panel/public/app/views/store/order_earning_detail/order_earning_detail.module.ts","webpack:///D:/hop/admin_panel/public/app/views/store/order_new/order.module.ts","webpack:///D:/hop/admin_panel/public/app/views/store/payment_automize/payment_automize.module.ts","webpack:///D:/hop/admin_panel/public/app/views/store/products/products.module.ts","webpack:///D:/hop/admin_panel/public/app/views/store/profile/profile.module.ts","webpack:///D:/hop/admin_panel/public/app/views/store/promo_code/promo_code.module.ts","webpack:///D:/hop/admin_panel/public/app/views/store/setting/setting.module.ts","webpack:///D:/hop/admin_panel/public/app/views/store/setting_whop/setting_whop.module.ts","webpack:///D:/hop/admin_panel/public/app/views/store/specification/specification.component.ts","webpack:///D:/hop/admin_panel/public/app/views/store/specification/specification.module.ts","webpack:///D:/hop/admin_panel/public/app/views/store/store_create_order/store_create_order.module.ts","webpack:///D:/hop/admin_panel/public/app/views/store/store_forgot_password/store_forgot_password.component.ts","webpack:///D:/hop/admin_panel/public/app/views/store/store_forgot_password/store_forgot_password.module.ts","webpack:///D:/hop/admin_panel/public/app/views/store/store_http_methods.ts","webpack:///D:/hop/admin_panel/public/app/views/store/store_login/store_login.component.ts","webpack:///D:/hop/admin_panel/public/app/views/store/store_login/store_login.module.ts","webpack:///D:/hop/admin_panel/public/app/views/store/store_logout/store_logout.component.ts","webpack:///D:/hop/admin_panel/public/app/views/store/store_logout/store_logout.module.ts","webpack:///D:/hop/admin_panel/public/app/views/store/store_new_password/store_new_password.component.ts","webpack:///D:/hop/admin_panel/public/app/views/store/store_new_password/store_new_password.module.ts","webpack:///D:/hop/admin_panel/public/app/views/store/store_panel_error_message .ts","webpack:///D:/hop/admin_panel/public/app/views/store/store_panel_string.ts","webpack:///D:/hop/admin_panel/public/app/views/store/store_panel_success_message.ts","webpack:///D:/hop/admin_panel/public/app/views/store/store_panel_validation_message.ts","webpack:///D:/hop/admin_panel/public/app/views/store/store_register/store_register.component.ts","webpack:///D:/hop/admin_panel/public/app/views/store/store_register/store_register.module.ts","webpack:///D:/hop/admin_panel/public/app/views/store/track_delivery_man/track_delivery_man.module.ts","webpack:///D:/hop/admin_panel/public/app/views/store/upload_document/upload_document.module.ts","webpack:///D:/hop/admin_panel/public/app/views/store/user/user.module.ts","webpack:///D:/hop/admin_panel/public/app/views/store/view_cart/view_cart.module.ts","webpack:///D:/hop/admin_panel/public/app/views/store/view_order/view_order.component.ts","webpack:///D:/hop/admin_panel/public/app/views/store/view_order/view_order.module.ts","webpack:///D:/hop/admin_panel/public/app/views/store/view_order_activity/view_order_activity.component.ts","webpack:///D:/hop/admin_panel/public/app/views/store/view_order_activity/view_order_activity.module.ts","webpack:///D:/hop/admin_panel/public/app/views/store/view_order_detail/view_order_detail.component.ts","webpack:///D:/hop/admin_panel/public/app/views/store/view_order_detail/view_order_detail.module.ts","webpack:///D:/hop/admin_panel/public/app/views/store/weekly_earning/weekly_earning.module.ts","webpack:///D:/hop/admin_panel/public/polyfills.ts","webpack:///D:/hop/admin_panel/~/angular2-auth/dist/auth.module.js","webpack:///D:/hop/admin_panel/~/angular2-moment/from-utc.pipe.js","webpack:///D:/hop/admin_panel/~/angular2-moment/moment.module.js","webpack:///D:/hop/admin_panel/~/angular2-ui-switch/dist/ui-switch.component.js","webpack:///D:/hop/admin_panel/~/assert/assert.js","webpack:///D:/hop/admin_panel/~/babel-runtime/core-js/object/assign.js","webpack:///D:/hop/admin_panel/~/babel-runtime/core-js/object/define-property.js","webpack:///D:/hop/admin_panel/~/babel-runtime/helpers/classCallCheck.js","webpack:///D:/hop/admin_panel/~/babel-runtime/helpers/createClass.js","webpack:///D:/hop/admin_panel/~/babel-runtime/helpers/extends.js","webpack:///D:/hop/admin_panel/~/base64-js/index.js","webpack:///D:/hop/admin_panel/~/browserify-zlib/src/binding.js","webpack:///D:/hop/admin_panel/~/browserify-zlib/src/index.js","webpack:///D:/hop/admin_panel/~/chart.js/src/chart.js","webpack:///D:/hop/admin_panel/~/chart.js/src/charts/Chart.Bar.js","webpack:///D:/hop/admin_panel/~/chart.js/src/charts/Chart.Bubble.js","webpack:///D:/hop/admin_panel/~/chart.js/src/charts/Chart.Doughnut.js","webpack:///D:/hop/admin_panel/~/chart.js/src/charts/Chart.Line.js","webpack:///D:/hop/admin_panel/~/chart.js/src/charts/Chart.PolarArea.js","webpack:///D:/hop/admin_panel/~/chart.js/src/charts/Chart.Radar.js","webpack:///D:/hop/admin_panel/~/chart.js/src/charts/Chart.Scatter.js","webpack:///D:/hop/admin_panel/~/chart.js/src/controllers/controller.bar.js","webpack:///D:/hop/admin_panel/~/chart.js/src/controllers/controller.bubble.js","webpack:///D:/hop/admin_panel/~/chart.js/src/controllers/controller.doughnut.js","webpack:///D:/hop/admin_panel/~/chart.js/src/controllers/controller.line.js","webpack:///D:/hop/admin_panel/~/chart.js/src/controllers/controller.polarArea.js","webpack:///D:/hop/admin_panel/~/chart.js/src/controllers/controller.radar.js","webpack:///D:/hop/admin_panel/~/chart.js/src/core/core.animation.js","webpack:///D:/hop/admin_panel/~/chart.js/src/core/core.canvasHelpers.js","webpack:///D:/hop/admin_panel/~/chart.js/src/core/core.controller.js","webpack:///D:/hop/admin_panel/~/chart.js/src/core/core.datasetController.js","webpack:///D:/hop/admin_panel/~/chart.js/src/core/core.element.js","webpack:///D:/hop/admin_panel/~/chart.js/src/core/core.helpers.js","webpack:///D:/hop/admin_panel/~/chart.js/src/core/core.interaction.js","webpack:///D:/hop/admin_panel/~/chart.js/src/core/core.js","webpack:///D:/hop/admin_panel/~/chart.js/src/core/core.layoutService.js","webpack:///D:/hop/admin_panel/~/chart.js/src/core/core.plugin.js","webpack:///D:/hop/admin_panel/~/chart.js/src/core/core.scale.js","webpack:///D:/hop/admin_panel/~/chart.js/src/core/core.scaleService.js","webpack:///D:/hop/admin_panel/~/chart.js/src/core/core.ticks.js","webpack:///D:/hop/admin_panel/~/chart.js/src/core/core.tooltip.js","webpack:///D:/hop/admin_panel/~/chart.js/src/elements/element.arc.js","webpack:///D:/hop/admin_panel/~/chart.js/src/elements/element.line.js","webpack:///D:/hop/admin_panel/~/chart.js/src/elements/element.point.js","webpack:///D:/hop/admin_panel/~/chart.js/src/elements/element.rectangle.js","webpack:///D:/hop/admin_panel/~/chart.js/src/platforms/platform.dom.js","webpack:///D:/hop/admin_panel/~/chart.js/src/platforms/platform.js","webpack:///D:/hop/admin_panel/~/chart.js/src/plugins/plugin.filler.js","webpack:///D:/hop/admin_panel/~/chart.js/src/plugins/plugin.legend.js","webpack:///D:/hop/admin_panel/~/chart.js/src/plugins/plugin.title.js","webpack:///D:/hop/admin_panel/~/chart.js/src/scales/scale.category.js","webpack:///D:/hop/admin_panel/~/chart.js/src/scales/scale.linear.js","webpack:///D:/hop/admin_panel/~/chart.js/src/scales/scale.linearbase.js","webpack:///D:/hop/admin_panel/~/chart.js/src/scales/scale.logarithmic.js","webpack:///D:/hop/admin_panel/~/chart.js/src/scales/scale.radialLinear.js","webpack:///D:/hop/admin_panel/~/chart.js/src/scales/scale.time.js","webpack:///D:/hop/admin_panel/~/chartjs-color-string/color-string.js","webpack:///D:/hop/admin_panel/~/color-convert/index.js","webpack:///D:/hop/admin_panel/~/color-convert/route.js","webpack:///D:/hop/admin_panel/~/core-js/es6/array.js","webpack:///D:/hop/admin_panel/~/core-js/es6/date.js","webpack:///D:/hop/admin_panel/~/core-js/es6/function.js","webpack:///D:/hop/admin_panel/~/core-js/es6/map.js","webpack:///D:/hop/admin_panel/~/core-js/es6/math.js","webpack:///D:/hop/admin_panel/~/core-js/es6/number.js","webpack:///D:/hop/admin_panel/~/core-js/es6/object.js","webpack:///D:/hop/admin_panel/~/core-js/es6/parse-float.js","webpack:///D:/hop/admin_panel/~/core-js/es6/parse-int.js","webpack:///D:/hop/admin_panel/~/core-js/es6/reflect.js","webpack:///D:/hop/admin_panel/~/core-js/es6/regexp.js","webpack:///D:/hop/admin_panel/~/core-js/es6/set.js","webpack:///D:/hop/admin_panel/~/core-js/es6/string.js","webpack:///D:/hop/admin_panel/~/core-js/es6/symbol.js","webpack:///D:/hop/admin_panel/~/core-js/es7/reflect.js","webpack:///D:/hop/admin_panel/~/core-js/library/fn/get-iterator.js","webpack:///D:/hop/admin_panel/~/core-js/library/fn/object/assign.js","webpack:///D:/hop/admin_panel/~/core-js/library/fn/object/define-property.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_a-function.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_add-to-unscopables.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_array-includes.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_classof.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_ctx.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_html.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_ie8-dom-define.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_iter-create.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_iter-step.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_library.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_object-assign.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_object-create.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_object-dps.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_object-gops.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_object-gpo.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_object-keys-internal.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_object-pie.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_redefine.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_string-at.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_to-index.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_to-length.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/_to-primitive.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/core.get-iterator-method.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/core.get-iterator.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/es6.array.iterator.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/es6.object.assign.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/es6.object.define-property.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/es6.string.iterator.js","webpack:///D:/hop/admin_panel/~/core-js/library/modules/web.dom.iterable.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_array-copy-within.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_array-fill.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_array-from-iterable.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_array-species-constructor.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_array-species-create.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_collection-weak.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_date-to-primitive.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_enum-keys.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_invoke.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_keyof.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_own-keys.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_same-value.js","webpack:///D:/hop/admin_panel/~/core-js/modules/_wks-define.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.array.copy-within.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.array.every.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.array.fill.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.array.filter.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.array.find-index.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.array.find.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.array.for-each.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.array.from.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.array.index-of.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.array.is-array.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.array.join.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.array.last-index-of.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.array.map.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.array.of.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.array.reduce-right.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.array.reduce.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.array.slice.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.array.some.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.array.sort.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.array.species.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.date.now.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.date.to-iso-string.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.date.to-json.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.date.to-primitive.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.date.to-string.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.function.bind.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.function.has-instance.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.function.name.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.math.acosh.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.math.asinh.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.math.atanh.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.math.cbrt.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.math.clz32.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.math.cosh.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.math.expm1.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.math.fround.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.math.hypot.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.math.imul.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.math.log10.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.math.log1p.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.math.log2.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.math.sign.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.math.sinh.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.math.tanh.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.math.trunc.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.number.constructor.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.number.epsilon.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.number.is-finite.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.number.is-integer.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.number.is-nan.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.number.is-safe-integer.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.number.max-safe-integer.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.number.min-safe-integer.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.number.parse-float.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.number.parse-int.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.number.to-fixed.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.number.to-precision.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.object.assign.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.object.create.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.object.define-properties.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.object.define-property.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.object.freeze.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.object.get-own-property-descriptor.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.object.get-own-property-names.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.object.get-prototype-of.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.object.is-extensible.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.object.is-frozen.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.object.is-sealed.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.object.is.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.object.keys.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.object.prevent-extensions.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.object.seal.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.object.set-prototype-of.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.parse-float.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.parse-int.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.reflect.apply.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.reflect.construct.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.reflect.define-property.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.reflect.delete-property.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.reflect.enumerate.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.reflect.get-own-property-descriptor.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.reflect.get-prototype-of.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.reflect.get.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.reflect.has.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.reflect.is-extensible.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.reflect.own-keys.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.reflect.prevent-extensions.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.reflect.set-prototype-of.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.reflect.set.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.regexp.constructor.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.regexp.to-string.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.string.anchor.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.string.big.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.string.blink.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.string.bold.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.string.code-point-at.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.string.ends-with.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.string.fixed.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.string.fontcolor.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.string.fontsize.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.string.from-code-point.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.string.includes.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.string.italics.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.string.link.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.string.raw.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.string.repeat.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.string.small.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.string.starts-with.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.string.strike.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.string.sub.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.string.sup.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.string.trim.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es6.weak-map.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es7.reflect.define-metadata.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es7.reflect.delete-metadata.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es7.reflect.get-metadata-keys.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es7.reflect.get-metadata.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es7.reflect.get-own-metadata-keys.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es7.reflect.get-own-metadata.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es7.reflect.has-metadata.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es7.reflect.has-own-metadata.js","webpack:///D:/hop/admin_panel/~/core-js/modules/es7.reflect.metadata.js","webpack:///D:/hop/admin_panel/~/flat/index.js","webpack:///D:/hop/admin_panel/~/ieee754/index.js","webpack:///D:/hop/admin_panel/~/is-buffer/index.js","webpack:///D:/hop/admin_panel/~/isarray/index.js","webpack:///D:/hop/admin_panel/~/libphonenumber-js/metadata.min.json","webpack:///D:/hop/admin_panel/~/moment-timezone/data/packed/latest.json","webpack:///D:/hop/admin_panel/~/libphonenumber-js/index.es6.js","webpack:///D:/hop/admin_panel/~/lodash._baseflatten/index.js","webpack:///D:/hop/admin_panel/~/lodash._isiterateecall/index.js","webpack:///D:/hop/admin_panel/~/lodash.clonedeep/index.js","webpack:///D:/hop/admin_panel/~/lodash.flatten/index.js","webpack:///D:/hop/admin_panel/~/lodash.get/index.js","webpack:///D:/hop/admin_panel/~/lodash.isarguments/index.js","webpack:///D:/hop/admin_panel/~/lodash.isarray/index.js","webpack:///D:/hop/admin_panel/~/lodash.set/index.js","webpack:///D:/hop/admin_panel/~/lodash.uniq/index.js","webpack:///D:/hop/admin_panel/~/moment-timezone/moment-timezone.js","webpack:///D:/hop/admin_panel/~/mydatepicker/dist/directives/my-date-picker.focus.directive.js","webpack:///D:/hop/admin_panel/~/mydatepicker/dist/directives/my-date-picker.input.auto.fill.directive.js","webpack:///D:/hop/admin_panel/~/mydatepicker/dist/my-date-picker.component.js","webpack:///D:/hop/admin_panel/~/mydatepicker/dist/my-date-picker.module.js","webpack:///D:/hop/admin_panel/~/mydatepicker/dist/services/my-date-picker.locale.service.js","webpack:///D:/hop/admin_panel/~/mydatepicker/dist/services/my-date-picker.util.service.js","webpack:///D:/hop/admin_panel/~/ng2-bs3-modal/directives/autofocus.js","webpack:///D:/hop/admin_panel/~/ng2-charts/charts/charts.js","webpack:///D:/hop/admin_panel/~/ng2-img-cropper/src/exif.js","webpack:///D:/hop/admin_panel/~/ng2-img-cropper/src/imageCropperDataShare.js","webpack:///D:/hop/admin_panel/~/ng2-img-cropper/src/imageCropperModule.js","webpack:///D:/hop/admin_panel/~/ng2-img-cropper/src/model/cornerMarker.js","webpack:///D:/hop/admin_panel/~/ng2-img-cropper/src/model/cropTouch.js","webpack:///D:/hop/admin_panel/~/ng2-img-cropper/src/model/dragMarker.js","webpack:///D:/hop/admin_panel/~/ng2-img-cropper/src/model/imageCropperModel.js","webpack:///D:/hop/admin_panel/~/ng2-pdf-viewer/dist/index.js","webpack:///D:/hop/admin_panel/~/ng2-pdf-viewer/dist/pdf-viewer.component.js","webpack:///D:/hop/admin_panel/~/ng2-toastr/src/toast.module.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/base64/directive.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/base64/validator.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/credit-card/directive.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/credit-card/validator.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/date-ios/directive.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/date-ios/validator.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/date/directive.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/date/validator.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/digits/directive.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/digits/validator.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/email/directive.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/email/validator.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/equal-to/directive.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/equal-to/validator.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/equal/directive.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/equal/validator.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/greater-than-equal/directive.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/greater-than-equal/validator.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/greater-than/directive.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/greater-than/validator.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/json/directive.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/json/validator.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/less-than-equal/directive.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/less-than-equal/validator.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/less-than/directive.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/less-than/validator.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/max-date/directive.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/max-date/validator.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/max/directive.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/max/validator.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/min-date/directive.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/min-date/validator.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/min/directive.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/min/validator.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/not-equal-to/directive.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/not-equal-to/validator.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/not-equal/directive.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/not-equal/validator.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/number/directive.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/number/validator.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/phone/directive.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/phone/validator.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/range-length/directive.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/range-length/validator.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/range/directive.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/range/validator.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/url/directive.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/url/validator.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/uuid/directive.js","webpack:///D:/hop/admin_panel/~/ng2-validation/dist/uuid/validator.js","webpack:///D:/hop/admin_panel/~/ngx-facebook/dist/esm/facebook.module.js","webpack:///D:/hop/admin_panel/~/os-browserify/browser.js","webpack:///D:/hop/admin_panel/~/pako/lib/zlib/constants.js","webpack:///D:/hop/admin_panel/~/pako/lib/zlib/deflate.js","webpack:///D:/hop/admin_panel/~/pako/lib/zlib/inffast.js","webpack:///D:/hop/admin_panel/~/pako/lib/zlib/inflate.js","webpack:///D:/hop/admin_panel/~/pako/lib/zlib/inftrees.js","webpack:///D:/hop/admin_panel/~/pako/lib/zlib/trees.js","webpack:///D:/hop/admin_panel/~/pako/lib/zlib/zstream.js","webpack:///D:/hop/admin_panel/~/pdfjs-dist/build/pdf.combined.js","webpack:///D:/hop/admin_panel/~/punycode/punycode.js","webpack:///D:/hop/admin_panel/~/querystring-es3/decode.js","webpack:///D:/hop/admin_panel/~/querystring-es3/encode.js","webpack:///D:/hop/admin_panel/~/querystring-es3/index.js","webpack:///D:/hop/admin_panel/public/app/app.component.html","webpack:///D:/hop/admin_panel/public/app/common/admin/footer/footer.template.html","webpack:///D:/hop/admin_panel/public/app/common/admin/layouts/admin_basic.template.html","webpack:///D:/hop/admin_panel/public/app/common/admin/layouts/admin_blank.template.html","webpack:///D:/hop/admin_panel/public/app/common/admin/navigation/navigation.template.html","webpack:///D:/hop/admin_panel/public/app/common/admin/topnavbar/topnavbar.template.html","webpack:///D:/hop/admin_panel/public/app/common/dispatcher/footer/footer.template.html","webpack:///D:/hop/admin_panel/public/app/common/dispatcher/layouts/dispatcher_basic.template.html","webpack:///D:/hop/admin_panel/public/app/common/dispatcher/layouts/dispatcher_blank.template.html","webpack:///D:/hop/admin_panel/public/app/common/dispatcher/navigation/navigation.template.html","webpack:///D:/hop/admin_panel/public/app/common/dispatcher/topnavbar/topnavbar.template.html","webpack:///D:/hop/admin_panel/public/app/common/franchise/footer/footer.template.html","webpack:///D:/hop/admin_panel/public/app/common/franchise/layouts/franchise_basic.template.html","webpack:///D:/hop/admin_panel/public/app/common/franchise/layouts/franchise_blank.template.html","webpack:///D:/hop/admin_panel/public/app/common/franchise/navigation/navigation.template.html","webpack:///D:/hop/admin_panel/public/app/common/franchise/topnavbar/topnavbar.template.html","webpack:///D:/hop/admin_panel/public/app/common/store/footer/footer.template.html","webpack:///D:/hop/admin_panel/public/app/common/store/layouts/store_basic.template.html","webpack:///D:/hop/admin_panel/public/app/common/store/layouts/store_blank.template.html","webpack:///D:/hop/admin_panel/public/app/common/store/navigation/navigation.template.html","webpack:///D:/hop/admin_panel/public/app/common/store/topnavbar/topnavbar.template.html","webpack:///D:/hop/admin_panel/public/app/views/admin/404/404.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/502/502.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/add_admin/add_admin.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/add_advertise/add_advertise.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/add_city/add_city.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/add_country/add_country.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/add_delivery/add_delivery.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/add_detail/add_detail.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/add_document/add_document.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/add_promo_code/add_promo_code.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/add_service/add_service.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/add_team/add_team.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/add_vehicle/add_vehicle.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/admin/admin.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/admin_forgot_password/admin_forgot_password.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/admin_login/admin_login.template.html","webpack:///D:/hop/admin_panel/public/app/views/admin/admin_new_password/admin_new_password.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/admin_view_cart/admin_view_cart.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/advertise/advertise.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/all-city/all-city.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/analytics/analytics.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/app_setting/app_setting.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/app_update_setting/app_update_setting.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/basic_setting/basic_setting.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/cancellation_reason/cancellation_reason.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/city/city.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/country/country.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/dashboard/dashboard.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/deliveries/deliveries.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/delivery/delivery.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/dispatch/dispatch.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/dispatch_setting/dispatch_setting.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/dispatcher_city/dispatcher_city.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/dispatcher_login/dispatcher_login.template.html","webpack:///D:/hop/admin_panel/public/app/views/admin/document/document.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/earning/earning.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/edit_order/edit_order.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/edit_provider/edit_provider.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/edit_provider_vehicle/edit_provider_vehicle.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/edit_store/edit_store.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/edit_user/edit_user.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/email/email.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/franchises/franchises.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/general_analytics/general_analytics.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/google_key_setting/google_key_setting.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/history/history.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/hopper_earning/hopper_earning.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/hopper_earning_detail/hopper_earning_detail.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/image_setting/image_setting.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/installation_setting/installation_setting.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/ios_push_notification_setting/ios_push_notification_setting.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/location_track/location_track.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/mass_notification/mass_notification.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/order/order.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/order_detail/order_detail.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/order_earning/order_earning.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/order_track/order_track.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/orders/orders.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/other_setting/other_setting.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/partner_earning/partner_earning.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/partner_earning_detail/partner_earning_detail.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/partner_odh_earning/partner_odh_earning.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/payment_gateway/payment_gateway.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/promo_code/promo_code.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/provider/provider.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/provider_history/history.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/provider_map/provider_map.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/provider_new_password/provider_new_password.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/provider_vehicle/provider_vehicle.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/provider_weekly_earning/provider_weekly_earning.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/provider_weekly_earning_statement/provider_weekly_earning_statement.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/refund_order/refund_order.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/request_cancel_reason/request_cancel_reason.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/request_order_detail/request_order_detail.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/review/review.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/saas/saas.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/service/service.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/setting/setting.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/sms/sms.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/store_history/history.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/store_map/store_map.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/store_products/products.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/store_report/store_report.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/store_setting/setting.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/store_weekly_earning/store_weekly_earning.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/store_weekly_earning_statement/store_weekly_earning_statement.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/stores/stores.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/team/team.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/trans_language/trans_language.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/transaction_history/transaction_history.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/upload_document/upload_document.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/user/user.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/user_history/history.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/user_new_password/user_new_password.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/vehicle/vehicle.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/vehicle_document/vehicle_document.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/view_bank_detail/view_bank_detail.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/view_document/view_document.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/view_earning_detail/view_earning_detail.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/view_history/view_history.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/view_invoice/view_invoice.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/view_order_earning_detail/view_order_earning_detail.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/view_promo_uses/view_promo_uses.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/view_provider_history/view_provider_history.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/view_referral_detail/view_referral_detail.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/view_review_detail/view_review_detail.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/view_service_detail/view_service_detail.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/wallet_history/wallet_history.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/wallet_request/wallet_request.component.html","webpack:///D:/hop/admin_panel/public/app/views/admin/wallet_request_bank_detail/wallet_request_bank_detail.component.html","webpack:///D:/hop/admin_panel/public/app/views/franchise/add_item/add_item.component.html","webpack:///D:/hop/admin_panel/public/app/views/franchise/add_store/add_store.component.html","webpack:///D:/hop/admin_panel/public/app/views/franchise/delivery/delivery.component.html","webpack:///D:/hop/admin_panel/public/app/views/franchise/edit_item/edit_item.component.html","webpack:///D:/hop/admin_panel/public/app/views/franchise/edit_product/edit_product.component.html","webpack:///D:/hop/admin_panel/public/app/views/franchise/edit_store/edit_store.component.html","webpack:///D:/hop/admin_panel/public/app/views/franchise/franchise_forgot_password/franchise_forgot_password.component.html","webpack:///D:/hop/admin_panel/public/app/views/franchise/franchise_login/franchise_login.template.html","webpack:///D:/hop/admin_panel/public/app/views/franchise/franchise_new_password/franchise_new_password.component.html","webpack:///D:/hop/admin_panel/public/app/views/franchise/franchise_register/franchise_register.template.html","webpack:///D:/hop/admin_panel/public/app/views/franchise/history/history.component.html","webpack:///D:/hop/admin_panel/public/app/views/franchise/item/item.component.html","webpack:///D:/hop/admin_panel/public/app/views/franchise/order/order.component.html","webpack:///D:/hop/admin_panel/public/app/views/franchise/order_earning_detail/order_earning_detail.component.html","webpack:///D:/hop/admin_panel/public/app/views/franchise/products/products.component.html","webpack:///D:/hop/admin_panel/public/app/views/franchise/profile/profile.component.html","webpack:///D:/hop/admin_panel/public/app/views/franchise/specification/specification.component.html","webpack:///D:/hop/admin_panel/public/app/views/franchise/store_item/store_item.component.html","webpack:///D:/hop/admin_panel/public/app/views/franchise/stores/stores.component.html","webpack:///D:/hop/admin_panel/public/app/views/franchise/track_delivery_man/track_delivery_man.component.html","webpack:///D:/hop/admin_panel/public/app/views/franchise/view_cart/view_cart.component.html","webpack:///D:/hop/admin_panel/public/app/views/franchise/view_order/view_order.component.html","webpack:///D:/hop/admin_panel/public/app/views/franchise/view_store_detail/view_store_detail.component.html","webpack:///D:/hop/admin_panel/public/app/views/store/add_item/add_item.component.html","webpack:///D:/hop/admin_panel/public/app/views/store/add_promo_code/add_promo_code.component.html","webpack:///D:/hop/admin_panel/public/app/views/store/checkout_order/checkout_order.component.html","webpack:///D:/hop/admin_panel/public/app/views/store/create_order_without_item/create_order_without_item.component.html","webpack:///D:/hop/admin_panel/public/app/views/store/daily_earning/daily_earning.component.html","webpack:///D:/hop/admin_panel/public/app/views/store/delivery/delivery.component.html","webpack:///D:/hop/admin_panel/public/app/views/store/earning/earning.component.html","webpack:///D:/hop/admin_panel/public/app/views/store/edit_item/edit_item.component.html","webpack:///D:/hop/admin_panel/public/app/views/store/edit_order/edit_order.component.html","webpack:///D:/hop/admin_panel/public/app/views/store/edit_product/edit_product.component.html","webpack:///D:/hop/admin_panel/public/app/views/store/history/history.component.html","webpack:///D:/hop/admin_panel/public/app/views/store/item/item.component.html","webpack:///D:/hop/admin_panel/public/app/views/store/monthly_earning/monthly_earning.component.html","webpack:///D:/hop/admin_panel/public/app/views/store/order/order.component.html","webpack:///D:/hop/admin_panel/public/app/views/store/order_earning_detail/order_earning_detail.component.html","webpack:///D:/hop/admin_panel/public/app/views/store/order_new/order.component.html","webpack:///D:/hop/admin_panel/public/app/views/store/payment_automize/payment_automize.component.html","webpack:///D:/hop/admin_panel/public/app/views/store/products/products.component.html","webpack:///D:/hop/admin_panel/public/app/views/store/profile/profile.component.html","webpack:///D:/hop/admin_panel/public/app/views/store/promo_code/promo_code.component.html","webpack:///D:/hop/admin_panel/public/app/views/store/setting/setting.component.html","webpack:///D:/hop/admin_panel/public/app/views/store/setting_whop/setting_whop.component.html","webpack:///D:/hop/admin_panel/public/app/views/store/specification/specification.component.html","webpack:///D:/hop/admin_panel/public/app/views/store/store_create_order/store_create_order.component.html","webpack:///D:/hop/admin_panel/public/app/views/store/store_forgot_password/store_forgot_password.component.html","webpack:///D:/hop/admin_panel/public/app/views/store/store_login/store_login.template.html","webpack:///D:/hop/admin_panel/public/app/views/store/store_new_password/store_new_password.component.html","webpack:///D:/hop/admin_panel/public/app/views/store/store_register/store_register.template.html","webpack:///D:/hop/admin_panel/public/app/views/store/track_delivery_man/track_delivery_man.component.html","webpack:///D:/hop/admin_panel/public/app/views/store/upload_document/upload_document.component.html","webpack:///D:/hop/admin_panel/public/app/views/store/user/user.component.html","webpack:///D:/hop/admin_panel/public/app/views/store/view_cart/view_cart.component.html","webpack:///D:/hop/admin_panel/public/app/views/store/view_order/view_order.component.html","webpack:///D:/hop/admin_panel/public/app/views/store/view_order_activity/view_order_activity.component.html","webpack:///D:/hop/admin_panel/public/app/views/store/view_order_detail/view_order_detail.component.html","webpack:///D:/hop/admin_panel/public/app/views/store/weekly_earning/weekly_earning.component.html","webpack:///D:/hop/admin_panel/~/readable-stream/lib/_stream_passthrough.js","webpack:///D:/hop/admin_panel/~/readable-stream/lib/internal/streams/BufferList.js","webpack:///D:/hop/admin_panel/~/readable-stream/readable-browser.js","webpack:///D:/hop/admin_panel/~/readable-stream/transform.js","webpack:///D:/hop/admin_panel/~/rxjs/InnerSubscriber.js","webpack:///D:/hop/admin_panel/~/rxjs/Observer.js","webpack:///D:/hop/admin_panel/~/rxjs/Scheduler.js","webpack:///D:/hop/admin_panel/~/rxjs/SubjectSubscription.js","webpack:///D:/hop/admin_panel/~/rxjs/add/observable/bindCallback.js","webpack:///D:/hop/admin_panel/~/rxjs/add/observable/bindNodeCallback.js","webpack:///D:/hop/admin_panel/~/rxjs/add/observable/combineLatest.js","webpack:///D:/hop/admin_panel/~/rxjs/add/observable/concat.js","webpack:///D:/hop/admin_panel/~/rxjs/add/observable/defer.js","webpack:///D:/hop/admin_panel/~/rxjs/add/observable/dom/ajax.js","webpack:///D:/hop/admin_panel/~/rxjs/add/observable/dom/webSocket.js","webpack:///D:/hop/admin_panel/~/rxjs/add/observable/empty.js","webpack:///D:/hop/admin_panel/~/rxjs/add/observable/forkJoin.js","webpack:///D:/hop/admin_panel/~/rxjs/add/observable/from.js","webpack:///D:/hop/admin_panel/~/rxjs/add/observable/fromEventPattern.js","webpack:///D:/hop/admin_panel/~/rxjs/add/observable/fromPromise.js","webpack:///D:/hop/admin_panel/~/rxjs/add/observable/generate.js","webpack:///D:/hop/admin_panel/~/rxjs/add/observable/if.js","webpack:///D:/hop/admin_panel/~/rxjs/add/observable/interval.js","webpack:///D:/hop/admin_panel/~/rxjs/add/observable/merge.js","webpack:///D:/hop/admin_panel/~/rxjs/add/observable/never.js","webpack:///D:/hop/admin_panel/~/rxjs/add/observable/onErrorResumeNext.js","webpack:///D:/hop/admin_panel/~/rxjs/add/observable/pairs.js","webpack:///D:/hop/admin_panel/~/rxjs/add/observable/race.js","webpack:///D:/hop/admin_panel/~/rxjs/add/observable/range.js","webpack:///D:/hop/admin_panel/~/rxjs/add/observable/throw.js","webpack:///D:/hop/admin_panel/~/rxjs/add/observable/timer.js","webpack:///D:/hop/admin_panel/~/rxjs/add/observable/using.js","webpack:///D:/hop/admin_panel/~/rxjs/add/observable/zip.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/audit.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/auditTime.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/buffer.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/bufferCount.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/bufferTime.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/bufferToggle.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/bufferWhen.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/cache.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/combineAll.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/combineLatest.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/concat.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/concatAll.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/concatMap.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/concatMapTo.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/count.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/debounce.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/debounceTime.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/defaultIfEmpty.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/delay.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/delayWhen.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/dematerialize.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/distinct.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/distinctKey.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/distinctUntilChanged.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/distinctUntilKeyChanged.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/do.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/elementAt.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/every.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/exhaust.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/exhaustMap.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/expand.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/filter.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/finally.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/find.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/findIndex.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/first.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/groupBy.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/ignoreElements.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/isEmpty.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/last.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/let.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/mapTo.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/materialize.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/max.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/mergeAll.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/mergeMap.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/mergeMapTo.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/mergeScan.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/min.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/multicast.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/observeOn.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/onErrorResumeNext.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/pairwise.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/partition.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/pluck.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/publish.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/publishBehavior.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/publishLast.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/publishReplay.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/race.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/reduce.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/repeat.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/repeatWhen.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/retry.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/retryWhen.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/sample.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/sampleTime.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/scan.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/sequenceEqual.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/single.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/skip.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/skipUntil.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/skipWhile.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/startWith.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/subscribeOn.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/switch.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/switchMap.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/switchMapTo.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/takeLast.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/takeUntil.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/takeWhile.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/throttle.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/throttleTime.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/timeInterval.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/timeout.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/timeoutWith.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/timestamp.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/window.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/windowCount.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/windowTime.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/windowToggle.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/windowWhen.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/withLatestFrom.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/zip.js","webpack:///D:/hop/admin_panel/~/rxjs/add/operator/zipAll.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/ArrayLikeObservable.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/BoundCallbackObservable.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/BoundNodeCallbackObservable.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/DeferObservable.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/ErrorObservable.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/ForkJoinObservable.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/FromEventObservable.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/FromEventPatternObservable.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/GenerateObservable.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/IfObservable.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/IntervalObservable.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/IteratorObservable.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/NeverObservable.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/PairsObservable.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/RangeObservable.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/SubscribeOnObservable.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/TimerObservable.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/UsingObservable.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/bindCallback.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/bindNodeCallback.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/combineLatest.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/concat.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/defer.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/dom/WebSocketSubject.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/dom/ajax.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/dom/webSocket.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/empty.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/forkJoin.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/fromEvent.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/fromEventPattern.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/if.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/interval.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/merge.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/never.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/pairs.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/range.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/throw.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/timer.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/using.js","webpack:///D:/hop/admin_panel/~/rxjs/observable/zip.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/audit.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/auditTime.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/buffer.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/bufferCount.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/bufferTime.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/bufferToggle.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/bufferWhen.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/cache.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/combineAll.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/concatMapTo.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/count.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/debounce.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/debounceTime.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/defaultIfEmpty.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/delay.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/delayWhen.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/dematerialize.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/distinctKey.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/distinctUntilKeyChanged.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/do.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/elementAt.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/exhaust.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/exhaustMap.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/expand.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/finally.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/findIndex.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/groupBy.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/ignoreElements.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/isEmpty.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/let.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/mapTo.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/materialize.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/max.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/mergeScan.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/min.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/pairwise.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/partition.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/pluck.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/publish.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/publishBehavior.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/publishLast.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/publishReplay.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/repeat.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/repeatWhen.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/retry.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/retryWhen.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/sample.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/sampleTime.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/scan.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/sequenceEqual.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/share.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/single.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/skip.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/skipUntil.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/skipWhile.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/startWith.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/subscribeOn.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/switch.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/switchMap.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/switchMapTo.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/take.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/takeLast.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/takeUntil.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/takeWhile.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/throttle.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/throttleTime.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/timeout.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/timeoutWith.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/toArray.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/window.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/windowCount.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/windowTime.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/windowToggle.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/windowWhen.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/withLatestFrom.js","webpack:///D:/hop/admin_panel/~/rxjs/operator/zipAll.js","webpack:///D:/hop/admin_panel/~/rxjs/scheduler/Action.js","webpack:///D:/hop/admin_panel/~/rxjs/scheduler/AnimationFrameAction.js","webpack:///D:/hop/admin_panel/~/rxjs/scheduler/AnimationFrameScheduler.js","webpack:///D:/hop/admin_panel/~/rxjs/scheduler/AsapAction.js","webpack:///D:/hop/admin_panel/~/rxjs/scheduler/AsapScheduler.js","webpack:///D:/hop/admin_panel/~/rxjs/scheduler/QueueAction.js","webpack:///D:/hop/admin_panel/~/rxjs/scheduler/QueueScheduler.js","webpack:///D:/hop/admin_panel/~/rxjs/scheduler/animationFrame.js","webpack:///D:/hop/admin_panel/~/rxjs/testing/ColdObservable.js","webpack:///D:/hop/admin_panel/~/rxjs/testing/HotObservable.js","webpack:///D:/hop/admin_panel/~/rxjs/testing/TestScheduler.js","webpack:///D:/hop/admin_panel/~/rxjs/util/AnimationFrame.js","webpack:///D:/hop/admin_panel/~/rxjs/util/FastMap.js","webpack:///D:/hop/admin_panel/~/rxjs/util/Immediate.js","webpack:///D:/hop/admin_panel/~/rxjs/util/Map.js","webpack:///D:/hop/admin_panel/~/rxjs/util/MapPolyfill.js","webpack:///D:/hop/admin_panel/~/rxjs/util/assign.js","webpack:///D:/hop/admin_panel/~/rxjs/util/isObject.js","webpack:///D:/hop/admin_panel/~/rxjs/util/not.js","webpack:///D:/hop/admin_panel/~/rxjs/util/toSubscriber.js","webpack:///D:/hop/admin_panel/~/url/url.js","webpack:///D:/hop/admin_panel/~/url/util.js","webpack:///D:/hop/admin_panel/~/util-deprecate/browser.js","webpack:///D:/hop/admin_panel/~/util/support/isBufferBrowser.js","webpack:///D:/hop/admin_panel/~/zone.js/dist/zone.js","webpack:///D:/hop/admin_panel/public ^\\.\\/.*$","webpack:///fs (ignored)","webpack:///http (ignored)","webpack:///https (ignored)","webpack:///util (ignored)","webpack:///util (ignored)?c84f"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC6oE;AAC7oE,iC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACbA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACirB;AACjrB,iC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACbA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACoa;AACpa,iC;;;;;;;;;;;;;;;;;;;;;ACbmB;AACQ;AACH;AAC0B;AACiB;AACtC;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,IAAI;AACrB;AACA;AACA,kDAAkD,WAAW;AAC7D;AACA,CAAC;;;;;;;;AChDD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,gBAAgB,WAAW;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,yBAAyB;AACxC;AACA,eAAe,SAAS;AACxB;AACA,eAAe,SAAS;AACxB,gBAAgB,cAAc;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,mBAAmB;AAClC,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,WAAW;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,gBAAgB,WAAW;AAC3B;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,sC;;;;;;;AC3IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,IAAI;AACrB;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,2CAA2C,usC;;;;;;;;AC7C3C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iC;;;;;;;;;;;;;;;;;;;;;;;ACbA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACwQ;AACxQ,iC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACb6D;AAEhC;AAC6C;AAC9B;AACE;AACO;AAEN;AACK;AA6BhC;AAC4B;AAcb;AAC2B;AACI;AACS;AAK3E;IAsDE,gBACS,KAAuB,EACvB,I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AAO,EAAO,CAAC,wEAAa,CAAC;YAC7B,OAAO,EAAO,CAAC,0EAAe,CAAC;SAClC,CAAC;;oBAAA;IAEyB,mBAAC;AAAD,CAAC;;;;;;;ACV5B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qFAAqF,uBAAuB;AAC5G,mEAAmE;AACnE,gEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,eAAe;AACf,eAAe;AACf,eAAe;AACf,gBAAgB;AAChB,yB;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,IAAI;AACrB;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,iC;;;;;;;ACrCA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,CAAC;AACD;AACA,iC;;;;;;;ACzBA;AACA;AACA;AACA;AACA,+B;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA,iC;;;;;;;ACLA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,eAAe;AAClC,IAAI,mBAAmB,mBAAmB,eAAe;AACzD,+BAA+B,iBAAiB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kCAAkC;AACjD;AACA,eAAe,wBAAwB;AACvC;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uEAAuE,aAAa;AACpF;AACA;AACA;AACA,eAAe,sBAAsB;AACrC,eAAe,wBAAwB;AACvC;AACA,eAAe,iBAAiB;AAChC;AACA,gBAAgB,cAAc;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,eAAe;AAC3B;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,eAAe;AAC3B,yCAAyC,YAAY;AACrD;AACA,eAAe,IAAI;AACnB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,eAAe;AAC3B;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,sC;;;;;;;ACxPA;AAC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;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,sCAAsC;AACtC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,eAAe;AAC1B,aAAa,OAAO;AACpB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;AC9WA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,2C;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,gCAAgC;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,kBAAkB,+BAA+B,EAAE;AAC5D;AACA;AACA,gDAAgD,WAAW,EAAE;AAC7D,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6C;;;;;;;;;;;;;;;;;;;;;;ACzEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACT;AACR;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA,eAAe,EAAE,+CAA+C;AAChE;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,gDAAgD,0CAA0C;AAC1F;AACA,CAAC;AACD;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B,gCAAgC,EAAE,UAAU,iBAAiB;AAC7D,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mCAAmC;AACnC;AACA,gC;;;;;;;;;;;;;;;;;;;;;;;ACtMA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACT;AACR;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA,eAAe,EAAE,+CAA+C;AAChE;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,gDAAgD,0CAA0C;AAC1F;AACA,CAAC;AACD;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B,gCAAgC,EAAE,UAAU,iBAAiB;AAC7D,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mCAAmC;AACnC;AACA,gC;;;;;;;ACtMA;AACA;AACA;AACA;AACA,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB;AACA;AACA,mCAAmC,kBAAkB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,4DAA4D;AAC5D;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,sDAAsD,gDAAgD;AACtG;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB;AACA;AACA,mCAAmC,kBAAkB;AACrD;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB;AACA;AACA,oCAAoC,mBAAmB;AACvD,mCAAmC,kBAAkB;AACrD;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB;AACA;AACA,mCAAmC,kBAAkB;AACrD;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB;AACA;AACA,mCAAmC,kBAAkB;AACrD;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,+DAA+D,4CAA4C;AAC3G;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,wEAAwE;AACxE;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,iDAAiD,qCAAqC;AACtF;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,8BAA8B,aAAa;AAC3C;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,qDAAqD,6CAA6C;AAClG;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,8BAA8B,aAAa;AAC3C;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,mCAAmC,kBAAkB;AACrD;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,iDAAiD,iCAAiC;AAClF;AACA,gBAAgB;AAChB;AACA,+CAA+C,sCAAsC;AACrF;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB;AACA;AACA,8BAA8B,aAAa;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,kDAAkD,2CAA2C;AAC7F;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB;AACA;AACA,8BAA8B,aAAa;AAC3C;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,8BAA8B,aAAa;AAC3C,mCAAmC,kBAAkB;AACrD;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB;AACA;AACA,8BAA8B,aAAa;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB;AACA;AACA,8BAA8B,aAAa;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB;AACA;AACA,8BAA8B,aAAa;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB;AACA;AACA,8BAA8B,aAAa;AAC3C;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB;AACA;AACA,8BAA8B,aAAa;AAC3C;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB;AACA;AACA,8BAA8B,aAAa;AAC3C,oCAAoC,mBAAmB;AACvD;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB;AACA;AACA,mCAAmC,kBAAkB;AACrD,8BAA8B,aAAa;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB;AACA;AACA,8BAA8B,aAAa;AAC3C;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB;AACA;AACA,8BAA8B,aAAa;AAC3C;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,mCAAmC,kBAAkB;AACrD;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB;AACA;AACA,8BAA8B,aAAa;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB;AACA;AACA,8BAA8B,aAAa;AAC3C;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB;AACA;AACA,8BAA8B,aAAa;AAC3C;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB;AACA;AACA,8BAA8B,aAAa;AAC3C;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB;AACA;AACA,gCAAgC,gBAAgB;AAChD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB;AACA;AACA,8BAA8B,aAAa;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB;AACA;AACA,mCAAmC,kBAAkB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,sEAAsE;AACtE;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,2DAA2D,gDAAgD;AAC3G;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB;AACA;AACA,8BAA8B,aAAa;AAC3C,mCAAmC,kBAAkB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB;AACA;AACA,8BAA8B,aAAa;AAC3C,mCAAmC,kBAAkB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,EAAE;AACjB;AACA;AACA,8BAA8B,aAAa;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,mEAAmE,gDAAgD;AACnH;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB;AACA;AACA,8BAA8B,aAAa;AAC3C,mCAAmC,kBAAkB;AACrD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB;AACA;AACA,8BAA8B,aAAa;AAC3C,mCAAmC,kBAAkB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB;AACA;AACA,8BAA8B,aAAa;AAC3C,mCAAmC,kBAAkB;AACrD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB;AACA;AACA,mCAAmC,kBAAkB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB;AACA;AACA,mCAAmC,gBAAgB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,gFAAgF,YAAY;AAC5F;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,gFAAgF,YAAY;AAC5F;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,iFAAiF,YAAY;AAC7F;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE,gDAAgD,kGAAkG,EAAE;AAC7K;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,0CAA0C,6CAA6C,EAAE;AACzF;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,iFAAiF,aAAa;AAC9F;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,0CAA0C,4CAA4C,EAAE;AACxF;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,qFAAqF,YAAY;AACjG;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,qFAAqF,YAAY;AACjG;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,sFAAsF,YAAY;AAClG;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,sFAAsF,YAAY;AAClG;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,8CAA8C,oDAAoD,EAAE;AACpG;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uCAAuC,6CAA6C,EAAE;AACtF;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,sFAAsF,aAAa;AACnG;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uCAAuC,4CAA4C,EAAE;AACrF;AACA;AACA,CAAC;AACD;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA,0BAA0B,aAAa;AACvC;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA,gCAAgC,mBAAmB;AACnD;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,GAAG;AACd,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA,gCAAgC,mBAAmB;AACnD,mCAAmC,sBAAsB;AACzD;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,GAAG;AACd,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA,gCAAgC,mBAAmB;AACnD,mCAAmC,sBAAsB;AACzD;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA,0BAA0B,aAAa;AACvC;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,GAAG;AACd,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA,0BAA0B,aAAa;AACvC,4BAA4B,gBAAgB;AAC5C,2DAA2D,wDAAwD,EAAE;AACrH;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAA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,CAAC,CAAC;YACrD,CAAC;QACL,CAAC;QACD,MAAM,CAAC,EAAC,EAAE,EAAC,EAAE,EAAG,YAAY,EAAC,YAAY,EAAG,aAAa,EAAG,aAAa,EAAC,CAAC;IAE/E,CAAC;IAvXT;QAAC,+EAAS,CAAC;YACP,QAAQ,EAAE,QAAQ;SACrB,CAAC;;cAAA;IAsXF,aAAC;;AAAD,CAAC;;;;;;;AC3YD;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,E;;;;;;ACNA;AACA;AACA,E;;;;;;;ACFA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gC;;;;;;;ACVA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,SAAS;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,mC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/JA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACqD;AAC9B;AACD;AACS;AACX;AACE;AACC;AACvB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB;AACA;AACA,8BAA8B,aAAa;AAC3C,qCAAqC,oBAAoB;AACzD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,eAAe,GAAG;AAClB;AACA;AACA,+BAA+B,YAAY;AAC3C;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB;AACA;AACA,gCAAgC,eAAe;AAC/C;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB;AACA;AACA,iCAAiC,aAAa;AAC9C,gCAAgC,eAAe;AAC/C;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB;AACA;AACA,+BAA+B,cAAc;AAC7C;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB;AACA;AACA,+BAA+B,cAAc;AAC7C;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,eAAe,GAAG;AAClB;AACA;AACA,+BAA+B,cAAc;AAC7C;AACA;AACA;AACA,CAAC;AACD;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,6DAA6D,kBAAkB,EAAE;AACjF;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,mCAAmC;AACnC,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA,+BAA+B,EAAE;AACjC,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,+BAA+B,EAAE;AACjC;AACA,aAAa;AACb;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,+BAA+B,EAAE;AACjC;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc,gCAAgC,OAAO,6BAA6B;AAClF,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA,eAAe,2DAA2D;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,eAAe,GAAG;AAClB;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,6BAA6B,qCAAqC;AAClE;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,4C;;;;;;ACzwBA,8EAAe,wFAAuI,iBAAiB,aAAa,aAAa,0FAA0F,gBAAgB,UAAU,WAAW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R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,+EAA+E,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,OAAO,aAAa,qBAAqB,eAAe,MAAM,8EAA8E,iEAAiE,EAAE,kJAAkJ,eAAe,mEAAmE,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,+EAA+E,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,OAAO,aAAa,qBAAqB,eAAe,MAAM,8EAA8E,iEAAiE,EAAE,kJAAkJ,eAAe,mEAAmE,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,OAAO,aAAa,sBAAsB,+EAA+E,iEAAiE,EAAE,6IAA6I,KAAK,YAAY,iEAAiE,OAAO,aAAa,sBAAsB,+EAA+E,iEAAiE,EAAE,6IAA6I,KAAK,YAAY,iEAAiE,OAAO,aAAa,sBAAsB,+EAA+E,iEAAiE,EAAE,6IAA6I,KAAK,YAAY,iEAAiE,OAAO,aAAa,sBAAsB,+EAA+E,iEAAiE,EAAE,6IAA6I,KAAK,YAAY,iEAAiE,OAAO,aAAa,sBAAsB,+EAA+E,iEAAiE,EAAE,6IAA6I,KAAK,YAAY,iEAAiE,OAAO,aAAa,sBAAsB,+EAA+E,iEAAiE,EAAE,6IAA6I,KAAK,YAAY,iEAAiE,OAAO,aAAa,sBAAsB,+EAA+E,iEAAiE,EAAE,6IAA6I,KAAK,YAAY,iEAAiE,OAAO,aAAa,sBAAsB,+EAA+E,iEAAiE,EAAE,6IAA6I,KAAK,YAAY,iEAAiE,OAAO,aAAa,sBAAsB,+EAA+E,iEAAiE,EAAE,6IAA6I,KAAK,YAAY,iEAAiE,OAAO,aAAa,qBAAqB,+EAA+E,iEAAiE,EAAE,6IAA6I,KAAK,YAAY,iEAAiE,OAAO,aAAa,uBAAuB,+EAA+E,iEAAiE,EAAE,6IAA6I,KAAK,YAAY,iEAAiE,OAAO,aAAa,uBAAuB,+EAA+E,iEAAiE,EAAE,6IAA6I,KAAK,YAAY,iEAAiE,OAAO,aAAa,uBAAuB,eAAe,MAAM,8EAA8E,iEAAiE,EAAE,kJAAkJ,eAAe,mEAAmE,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,iFAAiF,4RAA4R,iBAAiB,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E,GAAG,OAAO,2BAA2B,mBAAmB,qBAAqB,oBAAoB,WAAW,uBAAuB,sBAAsB,kEAAkE,IAAI,iCAAiC,gBAAgB,cAAc,MAAM,oBAAoB,WAAW,KAAK,yBAAyB,yBAAyB,SAAS,EAAE,2BAA2B,yBAAyB,wBAAwB,oHAAoH,uBAAuB,SAAS,EAAE,iBAAiB,0BAA0B,yCAAyC,EAAE,qBAAqB,gCAAgC,aAAa,0BAA0B,wBAAwB,qBAAqB,oBAAoB,WAAW,uBAAuB,sBAAsB,sBAAsB,+BAA+B,sBAAsB;;;;;;;;;ACAp3joB;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,KAAK;AACL;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,gDAAgD,WAAW;AAC3D;AACA,iC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChGA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACgC;AAChC,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,+C;;;;;;ACnDA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,uB;;;;;;ACVA;;AAEA;AACA,iBAAiB,aAAa,EAAE;;AAEhC;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;;;;;;;;;;AClBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAC+U;AACuL;AACtgB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,qJAAuF;AAChG,SAAS,qJAAuF;AAChG,SAAS,qJAAuF;AAChG,SAAS,qJAAuF;AAChG,SAAS,qJAAuF;AAChG,SAAS,qJAAuF;AAChG,SAAS,qJAAuF;AAChG,SAAS,qJAAuF;AAChG,SAAS,qJAAuF;AAChG,SAAS,uJAAyF;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,SAAS,yJAA2F;AACpG,SAAS,yJAA2F;AACpG,SAAS,yJAA2F;AACpG,SAAS,yJAA2F;AACpG,SAAS,2JAA6F;AACtG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,GAAG;AACd,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA,0BAA0B,aAAa;AACvC,0BAA0B,cAAc;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,YAAY;AACZ;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,YAAY;AACZ;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,YAAY;AACZ;AACA,uC;;;;;;;ACzfA;AAAA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,yBAAyB,UAAU;AACnC;AACA,sC;;;;;;ACTA,6BAA6B;AAC7B,qCAAqC,gC;;;;;;ACDrC;AACA;AACA;AACA,uCAAuC,gC;;;;;;;ACHvC;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iC;;;;;;;;;;ACnBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,mFAAmF;AACnF;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,mEAAmE;AACnE;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,4DAA4D;AAC5D;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,mEAAmE;AACnE;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,sDAAsD;AACtD;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,iDAAiD;AACjD;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,sDAAsD;AACtD;AACA;AACA,gBAAgB;AAChB;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,4BAA4B,EAAE;AACxD;AACA,mBAAmB,EAAE;AACrB,oBAAoB;AACpB;AACA,+BAA+B,6BAA6B,EAAE;AAC9D;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,0DAA0D;AAC1D;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,sDAAsD;AACtD;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,oFAAoF;AACpF;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,uFAAuF;AACvF;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,gGAAgG;AAChG;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,yGAAyG;AACzG;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,+EAA+E;AAC/E;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,kEAAkE;AAClE;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,6DAA6D;AAC7D;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,0DAA0D;AAC1D;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,uDAAuD;AACvD;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,uDAAuD;AACvD;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,6DAA6D;AAC7D;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,uDAAuD;AACvD;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,qDAAqD;AACrD;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,sDAAsD;AACtD;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,iDAAiD;AACjD;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,oDAAoD;AACpD;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,qDAAqD;AACrD;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,sDAAsD;AACtD;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,wDAAwD;AACxD;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,qDAAqD;AACrD;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,2DAA2D;AAC3D;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,qDAAqD;AACrD;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,8EAA8E;AAC9E;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,8EAA8E;AAC9E;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,6GAA6G;AAC7G;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,iDAAiD;AACjD;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,+EAA+E;AAC/E;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,mFAAmF;AACnF;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,8EAA8E;AAC9E;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,gFAAgF;AAChF;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,kDAAkD;AAClD;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,2EAA2E;AAC3E;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,mDAAmD;AACnD;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,4EAA4E;AAC5E;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,qDAAqD;AACrD;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,8EAA8E;AAC9E;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,0DAA0D;AAC1D;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,2DAA2D;AAC3D;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,oFAAoF;AACpF;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,wEAAwE;AACxE;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,gEAAgE;AAChE;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,gFAAgF;AAChF;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,mEAAmE;AACnE;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,2DAA2D;AAC3D;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,wDAAwD;AACxD;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,kDAAkD;AAClD;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,8DAA8D;AAC9D;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,uEAAuE;AACvE;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,8FAA8F;AAC9F;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,4FAA4F;AAC5F;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,yDAAyD;AACzD;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,qFAAqF;AACrF;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,wFAAwF;AACxF;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,qFAAqF;AACrF;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,iGAAiG;AACjG;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,wFAAwF;AACxF;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,qFAAqF;AACrF;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,iGAAiG;AACjG;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,uDAAuD;AACvD;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,4DAA4D;AAC5D;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,yFAAyF;AACzF;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,+FAA+F;AAC/F;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,yFAAyF;AACzF;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,+FAA+F;AAC/F;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,2FAA2F;AAC3F;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,iGAAiG;AACjG;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,4FAA4F;AAC5F;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,kGAAkG;AAClG;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,4DAA4D;AAC5D;AACA;AACA,gBAAgB;AAChB;AACA,2DAA2D;AAC3D;AACA;AACA,gBAAgB;AAChB;AACA,mDAAmD;AACnD;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,gEAAgE;AAChE;AACA;AACA,gBAAgB;AAChB;AACA,iDAAiD;AACjD;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,yDAAyD;AACzD;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,oFAAoF;AACpF;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,4DAA4D;AAC5D;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,uDAAuD;AACvD;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,0DAA0D;AAC1D;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,0DAA0D;AAC1D;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,0DAA0D;AAC1D;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,yDAAyD;AACzD;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,+EAA+E;AAC/E;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,2EAA2E;AAC3E;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,uDAAuD;AACvD;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,yDAAyD;AACzD;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,kGAAkG;AAClG;AACA;AACA,gBAAgB;AAChB;AACA,0DAA0D;AAC1D;AACA;AACA,gBAAgB;AAChB;AACA,gEAAgE;AAChE;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,mEAAmE;AACnE;AACA;AACA,gBAAgB;AAChB;AACA,mDAAmD;AACnD;AACA;AACA,gBAAgB;AAChB;AACA,oDAAoD;AACpD;AACA;AACA,gBAAgB;AAChB;AACA,oDAAoD;AACpD;AACA;AACA,gBAAgB;AAChB;AACA,yDAAyD;AACzD;AACA;AACA,gBAAgB;AAChB;AACA,qDAAqD;AACrD;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,sFAAsF;AACtF;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,gEAAgE;AAChE;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,+EAA+E;AAC/E;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,gEAAgE;AAChE;AACA;AACA,gBAAgB;AAChB;AACA,6DAA6D;AAC7D;AACA;AACA,gBAAgB;AAChB;AACA,uDAAuD;AACvD;AACA;AACA,gBAAgB;AAChB;AACA,2DAA2D;AAC3D;AACA;AACA,gBAAgB;AAChB;AACA,yDAAyD;AACzD;AACA;AACA,gBAAgB;AAChB;AACA,0DAA0D;AAC1D;AACA;AACA,gBAAgB;AAChB;AACA,wDAAwD;AACxD;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,sDAAsD;AACtD;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,6DAA6D;AAC7D;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,uC;;;;;;AC7yBA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,UAAU;AACb;AACA;AACA;AACA,E;;;;;;;ACfA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,iC;;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,cAAc;AAC7B;AACA,gBAAgB,aAAa;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AACA,wC;;;;;;;ACxJA;AACA;AACA,uBAAuB,MAAM;AAC7B,uC;;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;;;;;;;;;;AClBsC;AACiB;AACL;AAQlD;IAAA;IAA2B,CAAC;IAN5B;QAAC,8EAAQ,CAAC;YACN,YAAY,EAAE,CAAC,0EAAe,CAAC;YAC/B,OAAO,EAAO,CAAC,wEAAa,CAAC;YAC7B,OAAO,EAAO,CAAC,0EAAe,CAAC;SAClC,CAAC;;oBAAA;IAEyB,mBAAC;AAAD,CAAC;;;;;;;ACV5B;AACA;AACA,iCAAiC,QAAQ,gBAAgB,UAAU,GAAG;AACtE,CAAC,E;;;;;;8CCHD;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD;AACA;AACA;AACA,CAAC,qBAAqB;;AAEtB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,eAAe,gBAAgB;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,6BAA6B;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,sBAAsB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,IAAI;AAC3B;;AAEA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,wCAAwC,IAAI;;AAE5C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,4BAA4B;AAC5B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB,iCAAiC;AACrD;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wLAAwL,IAAI;;AAE5L,iEAAiE,IAAI;;AAErE;;AAEA;;AAEA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,sCAAsC,YAAY;AAClD;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,0BAA0B;AAC1B,4BAA4B;AAC5B,yBAAyB,EAAE,EAAE;AAC7B,yBAAyB,EAAE,EAAE;AAC7B,8BAA8B,EAAE,EAAE;AAClC,6BAA6B;AAC7B,iCAAiC;AACjC,qCAAqC;AACrC,yBAAyB,IAAI,EAAE;AAC/B,yBAAyB,IAAI,EAAE;AAC/B,8BAA8B,IAAI,EAAE;;AAEpC,2BAA2B;AAC3B,gCAAgC;;AAEhC,0CAA0C;AAC1C,iDAAiD;;AAEjD,oCAAoC,IAAI,IAAI;;AAE5C;AACA;AACA,4HAA4H,IAAI;;;AAGhI;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,0CAA0C;AAC1C;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kBAAkB;AACjC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,uBAAuB,wBAAwB;AAC/C;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,OAAO;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;;;AAGA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,+BAA+B;AAC9C;AACA;;AAEA;AACA,UAAU,OAAO;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uCAAuC,EAAE,IAAI,EAAE;AAC/C,oCAAoC,EAAE,IAAI,EAAE;;AAE5C;;AAEA;AACA,6BAA6B,EAAE;AAC/B,uBAAuB,EAAE;AACzB,yBAAyB,EAAE;AAC3B,uBAAuB,EAAE;AACzB,qBAAqB,EAAE,IAAI,EAAE;AAC7B,oBAAoB,EAAE;AACtB,2BAA2B,GAAG;AAC9B,qBAAqB,EAAE;AACvB;AACA,uBAAuB,EAAE,IAAI,EAAE;AAC/B,sBAAsB,EAAE,IAAI,EAAE;AAC9B,oBAAoB,EAAE;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,OAAO;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,0DAA0D,IAAI,0DAA0D,IAAI,qEAAqE,EAAE;;AAEnM;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,eAAe,mBAAmB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,eAAe,sBAAsB;AACrC;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,8BAA8B,gBAAgB;AAC9C;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,oBAAoB;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,6BAA6B;AAClC;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe;;AAEf;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,cAAc;AACpC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA,yDAAyD;AACzD,qDAAqD;AACrD,2DAA2D;AAC3D,oDAAoD,OAAO;AAC3D,oDAAoD,OAAO;AAC3D,mDAAmD,OAAO;AAC1D,+DAA+D,OAAO;AACtE,iEAAiE,OAAO;AACxE;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,+BAA+B,qBAAqB;AACpD,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,+BAA+B,qBAAqB;AACpD,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,oBAAoB;AACpB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;;;AAGD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,oBAAoB,mBAAmB;AACvC;AACA;;AAEA;AACA;AACA;;AAEA,iBAAiB,mBAAmB;AACpC;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,gCAAgC,IAAI;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;;AAED;;;AAGA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC;;;;;;;;;ACl6ID;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gC;;;;;;;;ACdA;AACA;AACA;AACA;AACA,iC;;;;;;;;;;;;;;;;;ACJA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACoB;AACqB;AACzC,eAAsB,EAAE;AACxB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,6CAA6C,EAAE;AAC/C;AACA;AACA,iDAAiD,EAAE;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,yCAAyC,0CAA0C,EAAE;AACrF;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,iDAAiD,oDAAoD,EAAE;AACvG;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,2EAA2E,cAAc;AACzF;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,uEAAuE,cAAc;AACrF;AACA,CAAC;AACD;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB;AACA;AACA,qCAAqC,oBAAoB;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,gC;;;;;;AC1JA,uBAAuB;AACvB;AACA;AACA,E;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC,E;;;;;;AC/BD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wFAAwF;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,E;;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iC;;;;;;AC3BA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D,E;;;;;;;;;;;;;;ACLA;AACoB;AACpB;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB;AACA;AACA,iCAAiC,gBAAgB;AACjD;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB;AACA;AACA,+BAA+B,+BAA+B;AAC9D;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,sC;;;;;;;;;;;;;;;;;;;;;;;;;;ACjMA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC6D;AACrB;AACrB;AACU;AACO;AACZ;AACF;AACtB,8B;;;;;;;;ACnBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACsB;AACtB;AACA,sBAAsB,2BAA2B;AACjD;AACA,QAAQ,2BAA2B;AACnC;AACA;AACA,eAAsB,EAAE;AACxB,kD;;;;;;ACfA;;AAEA;AACA;AACA,wCAAwC;AACxC,GAAG;AACH,E;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACLA;AACA;AACA;AACA;AACA,E;;;;;;;;;ACJA;AAAA;AACA;AACA;AACA;AACA,oCAAoC,oFAAoF;AACxH;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACO;AACR,0C;;;;;;;;;;;;;;;;;;;;;;AC7DA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACT;AACR;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA,eAAe,EAAE,+CAA+C;AAChE;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,gDAAgD,0CAA0C;AAC1F;AACA,CAAC;AACD;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B,gCAAgC,EAAE,UAAU,iBAAiB;AAC7D,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mCAAmC;AACnC;AACA,gC;;;;;;;;;;;;;;ACtMA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACoB;AAC0C;AAC9D;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE,uEAAuE,iDAAiD,EAAE;AAC/I;AACA;AACA;AACA;AACA;AACA,2C;;;;;;;;;ACnEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACqC;AACrC;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,eAAsB,EAAE,8DAA8D,MAAM;AAC5F,gD;;;;;;;;;;;;;;;;;;;;;;ACtCA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,2DAA2D,yCAAyC;AACpG;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,2DAA2D,yCAAyC;AACpG;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,oDAAoD,EAAE;AAChF;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,uEAAuE,EAAE;AACnG;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,qBAAqB,EAAE;AACjD;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,mBAAmB,kBAAkB,0BAA0B;AACjG,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA,6BAA6B,gBAAgB;AAC7C,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,wBAAwB,mEAAmE,EAAE;AAC7F,wBAAwB,oCAAoC;AAC5D;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,wC;;;;;;;;;;;;;;;AC9mBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACsB;AACF;AACO;AACP;AACA;AACpB;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,kBAAkB;AAC9D;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,eAAsB,EAAE;AACxB;AACA,yDAAyD,kBAAkB;AAC3E;AACA;AACA;AACA;AACA,QAAQ,oBAAoB;AAC5B;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA;AACA;AACA,+CAA+C,mBAAmB;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,mDAAmD,mBAAmB;AACtE;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA,2BAA2B,EAAE;AAC7B;AACA,iBAAiB,eAAe,sDAAsD,EAAE;AACxF;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA,iBAAiB,eAAe,sDAAsD,EAAE;AACxF;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA,2BAA2B,EAAE;AAC7B;AACA,iBAAiB,aAAa,oDAAoD;AAClF;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,6CAA6C,aAAa;AAC1D;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,wCAAwC,mBAAmB,EAAE;AAC7D;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,wCAAwC,mBAAmB,EAAE;AAC7D;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA,KAAK,IAAI;AACT;AACA;AACA,sC;;;;;;;;;;;;;;;;;;;;;;AC3MA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACT;AACR;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA,eAAe,EAAE,+CAA+C;AAChE;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,gDAAgD,0CAA0C;AAC1F;AACA,CAAC;AACD;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B,gCAAgC,EAAE,UAAU,iBAAiB;AAC7D,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mCAAmC;AACnC;AACA,gC;;;;;;;;;ACtMA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D,qBAAqB;AACpF;AACA,CAAC;AACD,kC;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,mDAAmD,OAAO,EAAE;AAC5D,E;;;;;;ACTA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,2BAA2B;AAC3B;AACA;AACA;AACA,4BAA4B,UAAU;;;;;;;;ACnLtC;AACA,kDAAkD,0CAA0C,EAAE;AAC9F,mC;;;;;;;;ACFA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACmC;AACnC;AACA,uCAAuC,iBAAiB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,aAAa,EAAE;AACzC;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,aAAa,EAAE;AACzC;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA,6C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjDA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACqB;AACC;AACT;AACO;AACJ;AAChB;AACc;AACK;AACM;AACzB;AACA;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,eAAe;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,cAAc;AACjC,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,eAAe,EAAE;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA,+FAA4C,YAAY,EAAE;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uGAAkD,wBAAwB,EAAE;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sC;;;;;;AC1HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,eAAe;AACxB;AACA;AACA;AACA,sCAAsC;AACtC;AACA,8BAA8B;AAC9B,6BAA6B;AAC7B,+BAA+B;AAC/B,mCAAmC;AACnC,SAAS,+BAA+B;AACxC;AACA;AACA;AACA;AACA,E;;;;;;AC3CA;AACA;AACA;AACA;AACA,E;;;;;;ACJA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,E;;;;;;ACPA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,gBAAgB,EAAE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;AClDA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,E;;;;;;;ACZA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE,aAAa;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,aAAa;AACb,aAAa;AACb,aAAa;AACb;AACA,eAAe,KAAK;AACpB,eAAe,UAAU,gBAAgB,gBAAgB;AACzD;AACA,gBAAgB,cAAc;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,2BAA2B,iCAAiC;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,2C;;;;;;;;;ACzHA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACoB;AACA;AACpB;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,uD;;;;;;;;ACzBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA,yC;;;;;;;;;;;ACzDA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACuC;AACC;AACxC;AACA;AACA,eAAe,GAAG;AAClB;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,kDAAkD;AAClD;AACA;AACA,gBAAgB;AAChB;AACA,oDAAoD;AACpD;AACA;AACA,gBAAgB;AAChB;AACA,uDAAuD;AACvD;AACA;AACA,gBAAgB;AAChB;AACA,uDAAuD;AACvD;AACA;AACA,gBAAgB;AAChB;AACA,oDAAoD;AACpD;AACA;AACA,gBAAgB;AAChB;AACA,qDAAqD;AACrD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,kLAA+C,EAAE;AAC3E;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,kC;;;;;;;;;;;;;;;;;;;;;;;;AC/HA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AAC8C;AACY;AACe;AAC7B;AACnB;AACR;AACuB;AACX;AACU;AACb;AAC1B;AAC2E;AACzC;AACF;AACR;AACxB;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,4BAA4B,EAAE,UAAU,qCAAqC;AAC7E;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE,yFAA8B,EAAE;AACpG;AACA;AACA;AACA,mEAAmE,uKAAiD,EAAE;AACtH,wBAAwB,yDAAyD;AACjF,SAAS;AACT;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA,mBAAmB,EAAE;AACrB;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE,qIAAyC,wEAAwE;AACtI;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE,oDAAoD,sGAAgD,EAAE;AAC3H,mBAAmB,EAAE,kDAAkD,oGAA8C,EAAE;AACvH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,4CAA4C,yBAAyB,EAAE;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,sD;;;;;;;;;;;;;AC/iBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,wDAAwD,yCAAyC;AACjG;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,6DAA6D,8CAA8C;AAC3G;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,iEAAiE,kDAAkD;AACnH;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,6DAA6D,8CAA8C;AAC3G;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,2DAA2D,4CAA4C;AACvG;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,2DAA2D,4CAA4C;AACvG;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA,6BAA6B,gBAAgB;AAC7C,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,wBAAwB,mEAAmE,EAAE;AAC7F,wBAAwB,oCAAoC;AAC5D;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,+B;;;;;;;ACrNA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,6FAA6F;AAC7F;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,kFAAkF;AAClF;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,qGAAqG;AACrG;AACA;AACA,gBAAgB;AAChB;AACA,wEAAwE;AACxE;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,6EAA6E;AAC7E;AACA;AACA,gBAAgB;AAChB;AACA,kFAAkF;AAClF;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,wEAAwE;AACxE;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,yEAAyE;AACzE;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,2FAA2F;AAC3F;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,oHAAoH;AACpH;AACA,CAAC;AACD,mD;;;;;;;;;;;;;;;;;;;;;;;;;AChFA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAC6C;AACxB;AACkB;AACR;AACuB;AACxB;AACM;AACP;AACQ;AACQ;AAC7C;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,+BAA+B;AACnE,KAAK;AACL;AACA,qDAAqD,gCAAgC,EAAE;AACvF;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,gEAAgE,gDAAgD,EAAE;AAClH;AACA;AACA;AACA;AACA,iEAAiE,yCAAyC,EAAE;AAC5G,KAAK;AACL;AACA;AACA,iEAAiE,yCAAyC,EAAE;AAC5G,KAAK;AACL;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,oDAAoD,6BAA6B,EAAE;AACnF,qDAAqD,6BAA6B,EAAE;AACpF;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,gDAAgD,wCAAwC,EAAE;AAC1F;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kC;;;;;;;;;;;;ACzMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC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CD;AACA,qBAAqB;AACrB;AACA,SAAS;AACT,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG,UAAU;AACb;AACA,E;;;;;;;ACfA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJA;AAAA;AACkC;AACJ;AACF;AACF;AACA;AACA;AACC;AACD;AACA;AACC;AACA;AAC3B;AAC0B;AAC1B;AACyB;AACzB,iC;;;;;;;AChBA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,eAAe;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,aAAa;AACb,aAAa;AACb,aAAa;AACb;AACA,eAAe,UAAU,gBAAgB,gBAAgB;AACzD;AACA,gBAAgB,WAAW;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE,yBAAyB;AAC7F;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,2C;;;;;;;AC1EA;AACA;AACA;AACA;AACA;AACA,uC;;;;;;;;;;;;ACLA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,8CAA8C,gBAAgB;AAC9D;AACA;AACA;AACA,8CAA8C,gBAAgB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,4BAA4B,EAAE,UAAU,eAAe;AACvD,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,4BAA4B,EAAE,uBAAuB,QAAQ;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,4BAA4B,EAAE,UAAU,kBAAkB;AAC1D,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,4BAA4B,EAAE,UAAU,cAAc;AACtD;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA,SAAS;AACT;AACA;AACA,CAAC;AACD;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,8GAAwC;AACxC;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,4BAA4B,EAAE,UAAU,gBAAgB;AACxD;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,sC;;;;;;;;;;;;;AC1KA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AAC6B;AACE;AACQ;AACtB;AACoB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,6CAA6C,6BAA6B;AAC1E,6CAA6C,mHAAoD;AACjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,uC;;;;;;;;;;;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,YAAY;AAC1B,eAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gC;;;;;;;;;;;;;;ACtSA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACmC;AACN;AACA;AAC7B;AACA,aAAa,mBAAmB;AAChC,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,2BAA2B,uBAAuB;AAClD;AACA,eAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA,gBAAgB,gBAAgB;AAChC;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB;AACA;AACA,wCAAwC,uBAAuB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C,SAAS,gCAAgC,wIAA0C,IAAI;AACvF,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,GAAG;AACd,WAAW,GAAG;AACd;AACA,WAAW,GAAG;AACd,WAAW,GAAG;AACd;AACA,WAAW,GAAG;AACd,WAAW,GAAG;AACd,YAAY,EAAE;AACd;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,iEAAiE;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uEAAuE;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,wBAAwB,EAAE,YAAY,uBAAuB;AAC7D,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,EAAE,+BAA+B,2BAA2B;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA,wC;;;;;;;;;;;;;;ACtWA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACyB;AACS;AAClC;AACmB;AACnB;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,yDAAyD,+BAA+B,EAAE;AAC1F,0DAA0D,+BAA+B,EAAE;AAC3F;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA,gC;;;;;;;;AC3HA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACmC;AACnC;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,mBAAmB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,0BAA0B,EAAE;AACtD;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,0BAA0B,EAAE;AACtD;AACA;AACA,KAAK;AACL;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,iEAAiE;AACjE;AACA,CAAC;AACD;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,sC;;;;;;;;;;;;;;;;;;;;;;ACtFA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACyB;AACO;AAChC;AACA,iDAAiD,KAAK;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,4BAA4B;AAC3C;AACA;AACA;AACA;AACA,+BAA+B;AAC/B,kCAAkC,aAAa;AAC/C;AACA,0CAA0C;AAC1C,2CAA2C;AAC3C,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,mDAAmD;AACjG;AACA,CAAC;AACD;AACA;AACA;AACA,QAAQ,cAAc;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,iBAAiB;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6HAA2C,yBAAyB,EAAE;AACtE;AACA;AACA;AACA;AACA,yDAAyD,kCAAkC;AAC3F;AACA;AACA;AACA;AACA,0BAA0B,0CAA0C,EAAE;AACtE;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,sDAAsD,6BAA6B;AACnF;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,4BAA4B;AAC3C;AACA;AACA,oDAAoD;AACpD;AACA;AACA,iBAAiB;AACjB,uBAAuB,aAAa;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,4BAA4B;AAC7E;AACA,CAAC;AACD;AACA;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,2BAA2B;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,gDAAgD,oBAAoB;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,cAAc;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,8CAA8C,yBAAyB,EAAE;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,WAAW,8CAA8C,EAAE;AACtG;AACA;AACA,+CAA+C,mDAAmD,EAAE;AACpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD,uCAAuC;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE;AAClE,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,oC;;;;;;;AC9hBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,iC;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,mBAAmB,YAAY;AAChD;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,uCAAuC,SAAS;AAChD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;;AAEA;AACA;AACA,aAAa,iBAAiB;AAC9B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iDAAiD,EAAE;AACnD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,eAAe;AACvC;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,wBAAwB,QAAQ;AAChC;AACA,qBAAqB,eAAe;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,sBAAsB;AACvC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,YAAY;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACxxDD;AACA;AACA;AACA,E;;;;;;ACHA,iBAAiB;;AAEjB;AACA;AACA,E;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;ACXA;AACA;AACA;AACA,8B;;;;;;;ACHA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT;AACA,WAAW,qCAAqC;AAChD;AACA;AACA;AACA,WAAW,IAAI;AACf;AACA,YAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,+B;;;;;;;ACtFA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,OAAO;AAClB;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA,gCAAgC,uCAAuC;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,oC;;;;;;;;;;;;;;;;;AC9GA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AAC2C;AACd;AACU;AAC6R;AAC7Q;AACvD;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,6CAA6C,6HAAoD;AACjG;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,6CAA6C,6HAAoD;AACjG,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,6CAA6C,6HAAoD;AACjG,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,6CAA6C,6HAAoD;AACjG,uBAAuB,EAAE;AACzB;AACA;AACA,uBAAuB,EAAE;AACzB,4BAA4B,EAAE,UAAU,8BAA8B;AACtE,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,6CAA6C,6HAAoD;AACjG,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,4BAA4B,EAAE,UAAU,kBAAkB;AAC1D,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,4BAA4B,EAAE,UAAU,sBAAsB;AAC9D,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,4BAA4B,EAAE,UAAU,kBAAkB;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,qBAAqB,EAAE;AACjD;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,iDAAiD,4FAA8C;AAC/F;AACA,gBAAgB;AAChB;AACA,+CAA+C,cAAc;AAC7D;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,sDAAsD,iCAAiC;AACvF;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,+BAA+B,EAAE;AACjC,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,uDAAuD,gCAAgC;AACvF;AACA,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA,+BAA+B,EAAE;AACjC,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA,mCAAmC,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA,mCAAmC,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA,mCAAmC,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,gCAAgC,gBAAgB;AAChD,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,EAAE;AACjC,+BAA+B,EAAE;AACjC,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,+BAA+B,cAAc;AAC7C;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,+BAA+B,cAAc;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,uFAAuF;AACvF;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,oFAAoF;AACpF;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,uFAAuF;AACvF;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,mFAAmF;AACnF;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,oFAAoF;AACpF;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,uFAAuF;AACvF;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,iFAAiF;AACjF;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,qFAAqF;AACrF;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,mFAAmF;AACnF;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,mFAAmF,gCAAgC;AACnH;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,iFAAiF,2BAA2B;AAC5G;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,6EAA6E;AAC7E;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,gFAAgF;AAChF;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,kFAAkF;AAClF;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,2EAA2E,2BAA2B;AACtG;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,gFAAgF;AAChF;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,iFAAiF;AACjF;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,yCAAyC,0BAA0B,EAAE;AACrE;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,4EAA4E;AAC5E;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,4EAA4E;AAC5E;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA,kC;;;;;;;;;;;;;;;AC5lCA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AAC6B;AACS;AACtC;AACuC;AACvC;AACsC;AACtC;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,6CAA6C,6BAA6B;AAC1E,6CAA6C,mHAAoD;AACjG,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA,4GAA4G;AAC5G;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,4GAA4G;AAC5G;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,wCAAwC;AACxC,uBAAuB,EAAE;AACzB;AACA,0DAA0D,EAAE;AAC5D;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+GAA+G;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+GAA+G;AAC/G;AACA;AACA;AACA;AACA,2GAA2G;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,4BAA4B,EAAE,+CAA+C,iBAAiB;AAC9F,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,4BAA4B,EAAE,sCAAsC,QAAQ;AAC5E;AACA,wBAAwB;AACxB;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA,kC;;;;;;;;;;;;;ACzfA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAC4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB,oC;;;;;;;;;;;AClDA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAC4B;AAC5B,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,4BAA4B,EAAE,sBAAsB,EAAE,gCAAgC,QAAQ;AAC9F,2BAA2B,EAAE;AAC7B;AACA,2BAA2B,EAAE;AAC7B;AACA,oCAAoC,EAAE,UAAU,uBAAuB;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,GAAG;AACd,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA,6BAA6B,gBAAgB;AAC7C,mBAAmB,EAAE;AACrB;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA,uBAAuB,EAAE;AACzB,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,qBAAqB;AAC5E;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA,eAAe,KAAK;AACpB,gBAAgB;AAChB;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,oBAAoB;AACpB;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D,qBAAqB;AACjF;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA,eAAe,KAAK;AACpB,gBAAgB;AAChB;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,qBAAqB;AAChF;AACA;AACA;AACA,sC;;;;;;;;;;;;;AC9UA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACkB;AACG;AACH;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB;AACA;AACA,iCAAiC,iBAAiB;AAClD;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,oDAAoD,yCAAyC;AAC7F;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE,8BAA8B,aAAa;AACpE,uBAAuB,EAAE,8BAA8B,aAAa;AACpE;AACA;AACA,wCAAwC,oCAAoC,EAAE;AAC9E,aAAa,qBAAqB,6BAA6B;AAC/D;AACA,2DAA2D,yBAAyB,mCAAmC,EAAE,EAAE,EAAE;AAC7H,oCAAoC,4BAA4B;AAChE;AACA;AACA,2DAA2D,yBAAyB,mCAAmC,EAAE,EAAE,EAAE;AAC7H,iCAAiC,4BAA4B;AAC7D;AACA;AACA;AACA,6DAA6D,yBAAyB,+BAA+B,EAAE,EAAE,EAAE;AAC3H,kCAAkC,wBAAwB;AAC1D;AACA;AACA,qDAAqD,yBAAyB,mBAAmB,EAAE,EAAE,EAAE,mBAAmB,YAAY;AACtI;AACA;AACA;AACA,kDAAkD,yBAAyB,mBAAmB,EAAE,EAAE,EAAE,gBAAgB,YAAY;AAChI;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA,iC;;;;;;;;;;;;;;;;;;;;;;AC1HA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACT;AACR;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA,eAAe,EAAE,+CAA+C;AAChE;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,gDAAgD,0CAA0C;AAC1F;AACA,CAAC;AACD;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B,gCAAgC,EAAE,UAAU,iBAAiB;AAC7D,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mCAAmC;AACnC;AACA,gC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtMA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACkY;AAClY,iC;;;;;;;;;;;ACbA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACkD;AACjC;AACjB;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,sCAAsC,0BAA0B,EAAE;AAClE;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,gBAAgB;AAChB;AACA,kDAAkD,mBAAmB;AACrE;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,4BAA4B,EAAE,UAAU,oBAAoB;AAC5D,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,kEAAmB;AAC5B;AACA;AACA,+CAA+C;AAC/C,SAAS,4BAA4B,8FAA+C,IAAI;AACxF,SAAS,+DAAgB;AACzB,MAAM;AACN;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,kEAAkE;AAClE;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,4FAA4F;AAC5F;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA,yC;;;;;;;;;;;;;;;;;;;;ACzIA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AAC0B;AACD;AACJ;AAC6B;AACzB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,4BAA4B;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,qBAAqB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,iCAAiC;AACnF;AACA,CAAC;AACD;AACA;AACA,sKAA6D;AAC7D,kGAA4C;AAC5C,gGAA0C;AAC1C,uGAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iNAAgK;AAChK;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kCAAkC;AACjD;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,yCAAyC,EAAE;AACrE;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,0BAA0B,+BAA+B,EAAE;AAC3D;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,0BAA0B,uCAAuC,EAAE;AACnE;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,0BAA0B,2CAA2C,EAAE;AACvE;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,0BAA0B,yCAAyC,EAAE;AACrE;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,0BAA0B,6CAA6C,EAAE;AACzE;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,KAAK,GAAG,WAAW,UAAU,aAAa,EAAE;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kCAAkC;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,0BAA0B,EAAE;AACtD;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,0BAA0B,+BAA+B,EAAE;AAC3D;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,0BAA0B,uCAAuC,EAAE;AACnE;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,0BAA0B,2CAA2C,EAAE;AACvE;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,0BAA0B,yCAAyC,EAAE;AACrE;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,0BAA0B,6CAA6C,EAAE;AACzE;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,6CAA6C,qBAAqB,EAAE;AACpE;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,4BAA4B;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,kCAAkC;AAC5F;AACA,CAAC;AACD;AACA;AACA,wCAAwC,yCAAyC,EAAE;AACnF;AACA;AACA,0CAA0C,sDAAsD;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wC;;;;;;AC/aA;AACA;AACA;AACA,uCAAuC,gC;;;;;;ACHvC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,uB;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;ACxCA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1BA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,oC;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1JA;AACA;AACA;AACA;AACA;AACA;;AAE2B;;AAI3B;;AAEmC;;AAEnC;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,aAAa;AAC1B;AACA,sCAAsC,GAAG;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA,8DAA8D,2BAA2B;AACzF;AACA;AACA;AACA;AACA,+CAA+C,IAAI,2EAA2E,GAAG;;AAEjI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,kBAAkB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,WAAW,gBAAgB,EAAE;AAC5D,+BAA+B,WAAW,gBAAgB,EAAE;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oFAAuB;AACvB;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,+GAAiD,gEAAgE;AACjH;;AAEA;;AAEA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB,6BAA6B;AAC9C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW;AACX;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,+HAAiE,mEAAmE;AACpI;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sGAA6B,sDAAsD;AACnF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,oFAAuB;;AAEvB;AACA;AACA;AACA,GAAG;;AAEH;AACA,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA,iC;;;;;;;AC9mBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA,E;;;;;;;AClIA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,eAAe;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,+CAA+C;AAC1D;AACA;AACA,WAAW,oFAAoF;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,uCAAuC;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,uCAAuC;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,oCAAoC,uCAAuC;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,oC;;;;;;;AChKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qC;;;;;;;;;;;;;;;;;;ACrCA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACkB;AACsB;AACxC;AAC0B;AAC1B,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA,4BAA4B,EAAE,UAAU,4BAA4B;AACpE;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,wBAAwB,EAAE,2BAA2B,QAAQ;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,4BAA4B,EAAE,UAAU,4BAA4B;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,4BAA4B,EAAE,UAAU,qBAAqB;AAC7D;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,wCAAwC,+BAA+B,EAAE;AACzE;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;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,uBAAuB,EAAE;AACzB,wBAAwB;AACxB;AACA,gDAAgD,cAAc,EAAE;AAChE;AACA,uBAAuB,EAAE;AACzB,wBAAwB;AACxB;AACA,wCAAwC,cAAc,EAAE;AACxD;AACA,uBAAuB,EAAE;AACzB,wBAAwB;AACxB;AACA,iDAAiD,aAAa,EAAE;AAChE;AACA,uBAAuB,EAAE;AACzB,wBAAwB;AACxB;AACA,mDAAmD,cAAc;AACjE,SAAS;AACT;AACA;AACA,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,0CAA0C,yCAAyC,EAAE;AACrF;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,wBAAwB,EAAE,UAAU,mBAAmB;AACvD,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,wBAAwB,EAAE,UAAU,oBAAoB;AACxD,uBAAuB,EAAE;AACzB;AACA;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,2EAA2E,aAAa;AACxF;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,8DAA8D,aAAa;AAC3E;AACA,CAAC;AACD;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,wGAA8C;AAC9C;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gD;;;;;;;;;;;;;;;;;;;;ACx9BA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AAC4B;AACiC;AACpC;AACe;AACX;AAC7B;AACqB;AACS;AACL;AACwB;AACD;AAC1B;AACiB;AACvC;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,4DAA4D,mCAAmC;AAC/F;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wFAAwF,yDAAyD,EAAE;AACnJ;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yJAAyG,+DAA+D,EAAE;AAC1K;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,oCAAoC,sEAAsE,EAAE;AAC5G;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,SAAS;AACT,uBAAuB,EAAE;AACzB;AACA,uBAAuB,EAAE,wIAA6E,kFAAkF;AACxL,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,EAAE,EAAE;AACb;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA,2CAA2C,+BAA+B;AAC1E;AACA,uDAAuD,yCAAyC,EAAE;AAClG,sCAAsC;AACtC,2BAA2B,EAAE,qIAA0E,6CAA6C;AACpJ;AACA;AACA,SAAS,EAAE,EAAE;AACb,gCAAgC,+CAA+C,EAAE;AACjF;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,iCAAiC,8DAA8D,EAAE;AACjG,uBAAuB,EAAE;AACzB,2BAA2B,EAAE;AAC7B;AACA;AACA,SAAS;AACT,yGAA8C,8EAA8E;AAC5H;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,gFAAgF,mFAAgC;AAChH;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,8EAA8E,aAAa;AAC3F;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,gFAAgF,aAAa;AAC7F;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,2EAA2E,aAAa;AACxF;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,gD;;;;;;;;;;;;;ACvTA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACmG;AAC3D;AACpB;AACS;AACQ;AACd;AACvB;AACA;AACA,eAAe,GAAG;AAClB;AACA;AACA,oCAAoC,sFAAwB;AAC5D;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,eAAe,iBAAiB;AAChC,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,yCAAyC,wBAAwB;AACjE,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE,uIAA2E,0EAA2B,EAAE;AACrI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE,wIAA4E,2EAA4B,EAAE;AACvI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE,mEAAmE,qFAAsC,EAAE;AACxI;AACA;AACA,mCAAmC,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,2BAA2B,EAAE,oEAAoE,sFAAuC,EAAE;AAC1I;AACA,+BAA+B,EAAE;AACjC;AACA,aAAa;AACb,2BAA2B,EAAE,uIAA2E,0EAA2B,EAAE;AACrI;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,qEAAqE,uHAAiD;AACtH;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA,4BAA4B,EAAE,4BAA4B,QAAQ;AAClE,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA,8C;;;;;;;;;;;;;;;AC7MA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACwB;AACK;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,4CAA4C,sCAAsC;AAClF;AACA,gBAAgB;AAChB;AACA,4CAA4C,sCAAsC;AAClF;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,gDAAgD,0CAA0C;AAC1F;AACA,gBAAgB;AAChB;AACA,6CAA6C,uCAAuC;AACpF;AACA,gBAAgB;AAChB;AACA,gDAAgD,iEAAiE;AACjH;AACA,gBAAgB;AAChB;AACA,iDAAiD,kEAAkE;AACnH;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,iDAAiD,kEAAkE;AACnH;AACA,gBAAgB;AAChB;AACA,kDAAkD,mEAAmE;AACrH;AACA,gBAAgB;AAChB;AACA,iDAAiD,kEAAkE;AACnH;AACA,gBAAgB;AAChB;AACA,2CAA2C,qCAAqC;AAChF;AACA,gBAAgB;AAChB;AACA,4CAA4C,2DAA2D;AACvG;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE,mCAAmC,EAAE;AAC9D,uBAAuB,EAAE,iCAAiC,EAAE;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB;AACvB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,+BAA+B,EAAE;AACjC;AACA;AACA,mCAAmC,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,EAAE,UAAU,OAAO;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB;AACvB;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iC;;;;;;;;;;;;;;;;;;;;;;;;;;AC1hBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACwU;AACjT;AACoC;AAC3D;AAC8B;AACF;AACY;AACC;AACZ;AACF;AACA;AACJ;AACkE;AACzD;AACN;AACH;AAC4C;AACnE,eAAsB,EAAE;AACxB;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB;AACA;AACA,oCAAoC,uFAAwB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE,iDAAiD,8CAA8C,EAAE;AAC1H;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8JAAuG,gDAAgD,EAAE;AACzJ;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA,2BAA2B,EAAE,6CAA6C,0CAA0C,EAAE;AACtH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B,qDAAqD,2CAA2C,EAAE;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,2CAA2C,EAAE;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,gBAAgB;AAChB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,qEAAqE,kDAAkD;AACvH;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,gEAAgE,wCAAwC;AACxG;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA,yCAAyC,wBAAwB;AACjE,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA,aAAa;AACb,0DAA0D,8CAA8C,EAAE;AAC1G;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA,yCAAyC,wBAAwB;AACjE;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA,mCAAmC,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,2CAA2C,EAAE;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,+CAA+C,+CAA+C,EAAE;AAChG,+CAA+C,iEAAiE,EAAE;AAClH;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA,uDAAuD,8BAA8B,EAAE;AACvF,gEAAgE,uCAAuC,EAAE;AACzG,2BAA2B,EAAE;AAC7B;AACA,+BAA+B,EAAE;AACjC,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA,iEAAiE,wCAAwC,EAAE;AAC3G,4DAA4D,mCAAmC,EAAE;AACjG,SAAS;AACT;AACA,iEAAiE,gCAAgC,EAAE;AACnG,4DAA4D,2BAA2B,EAAE;AACzF,SAAS;AACT;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,gDAAgD,sFAAuC,EAAE;AACzF;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,sCAAsC,qBAAqB;AAC3D,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,sCAAsC,qBAAqB;AAC3D,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,0IAA2E,0IAAqD,EAAE;AAClI;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,sCAAsC,qBAAqB;AAC3D;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,2BAA2B,EAAE,0DAA0D,6CAA6C,EAAE;AACtI;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,4BAA4B;AAC5B;AACA;AACA,4BAA4B,cAAc,mBAAmB;AAC7D;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA,0CAA0C,uBAAuB;AACjE;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA,0HAAmE,qBAAqB;AACxF;AACA;AACA,mCAAmC,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,+EAA+E,kCAAkC;AACjH;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,2EAA2E,yCAAyC,EAAE;AACtH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D,SAAS,wFAA0B;AACnC,SAAS,wFAA2B;AACpC,SAAS,+EAAsB;AAC/B,SAAS,qFAAyB;AAClC,SAAS,yGAA+B;AACxC,SAAS,4FAA6B;AACtC,SAAS,wFAAyB;AAClC,SAAS,gCAAgC,gEAAiB,GAAG,8FAA+C,IAAI;AAChH,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA,yBAAyB,UAAU;AACnC;AACA,4BAA4B,EAAE,UAAU,iBAAiB;AACzD,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,gCAAgC,mBAAmB;AACnD;AACA;AACA,CAAC;AACD;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6C;;;;;;;;;;;;ACpmCA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACmB;AACG;AACF;AACS;AACQ;AACrC;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,sBAAsB,gBAAgB;AACtC;AACA;AACA;AACA,eAAe,GAAG;AAClB;AACA;AACA,oCAAoC,sFAAwB;AAC5D;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,6DAA6D,oEAAoE;AACjI;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,yCAAyC,wBAAwB;AACjE,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA,8C;;;;;;;;;;;;ACxEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACkC;AACZ;AACF;AACS;AACQ;AACrC;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,yBAAyB,YAAY;AACrC;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,eAAe,GAAG;AAClB;AACA;AACA,oCAAoC,sFAAwB;AAC5D;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,eAAe,YAAY;AAC3B,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,yCAAyC,wBAAwB;AACjE,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA,yC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjFA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACwC;AACf;AACR;AACG;AACK;AACqC;AACjC;AAC7B;AAC0B;AACJ;AACQ;AACR;AACiC;AACrC;AACoC;AACtB;AACO;AACR;AACT;AACE;AAC2K;AACnJ;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA,yBAAyB,yBAAyB;AAClD;AACA;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE,sDAAsD,sGAAgD,EAAE;AACjI,uBAAuB,EAAE,oDAAoD,oGAA8C,EAAE;AAC7H;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,6HAA8C,EAAE;AAC1G;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,gCAAgC,gBAAgB;AAChD,uBAAuB,EAAE;AACzB;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,0CAA0C,iCAAiC,EAAE;AAC7E,yCAAyC;AACzC,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA,+BAA+B,EAAE;AACjC;AACA;AACA,SAAS,EAAE,EAAE;AACb;AACA;AACA,iDAAiD;AACjD,SAAS,mFAAgB;AACzB,SAAS,yGAA+B;AACxC,SAAS,wFAAwB;AACjC,SAAS,gFAAiB;AAC1B,SAAS,4BAA4B,gEAAiB,GAAG,4FAA6C,IAAI;AAC1G,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,mFAAmF,aAAa;AAChG;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,2FAA2F,aAAa;AACxG;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,+EAA+E,aAAa;AAC5F;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,uBAAuB,EAAE;AACzB;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA,2DAA2D,sKAAsK,EAAE;AACnO,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,sDAAsD,0BAA0B,EAAE;AAClF,uBAAuB,EAAE,sDAAsD,0BAA0B,EAAE;AAC3G;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,+BAA+B,EAAE,mDAAmD,kCAAkC,EAAE;AACxH;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,SAAS;AACT;AACA,0DAA0D,cAAc,EAAE;AAC1E;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,+BAA+B,EAAE;AACjC,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uDAAuD,wCAAwC,EAAE;AACjG;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uCAAuC,mIAAiD,EAAE;AAC1F;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,+BAA+B,EAAE;AACjC;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,+BAA+B,qFAA+B;AAC9D;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE,uDAAuD,gCAAgC,EAAE;AAClH,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,6EAA6E,aAAa;AAC1F;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,iFAAiF,kBAAkB;AACnG;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,yFAAyF,sBAAsB;AAC/G;AACA,CAAC;AACD;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE,sDAAsD,wCAAwC,EAAE;AACzH;AACA,2BAA2B,EAAE;AAC7B,gCAAgC,EAAE,UAAU,+BAA+B;AAC3E,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,yFAAyF,uCAAuC,EAAE;AAClI;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA,wBAAwB,EAAE,UAAU,uBAAuB;AAC3D,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA,2BAA2B,EAAE;AAC7B,kDAAkD,4CAA4C,EAAE;AAChG;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,2C;;;;;;;;;;;;;;;;;;;ACpgCA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACyB;AACI;AACG;AACP;AACH;AACH;AACa;AACsD;AACtF;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,yC;;;;;;;;;ACrFA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACoB;AACpB,eAAe,EAAE;AACjB,eAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,uCAAuC,qCAAqC;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,mEAAmE;AACjG;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,uBAAuB;AACxC;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,8DAA8D;AAC9D;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,oC;;;;;;;;;;;;ACzEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,8CAA8C,gBAAgB;AAC9D;AACA;AACA;AACA,8CAA8C,gBAAgB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,4BAA4B,EAAE,UAAU,eAAe;AACvD,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,4BAA4B,EAAE,uBAAuB,QAAQ;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,4BAA4B,EAAE,UAAU,kBAAkB;AAC1D,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,4BAA4B,EAAE,UAAU,cAAc;AACtD;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA,SAAS;AACT;AACA;AACA,CAAC;AACD;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,8GAAwC;AACxC;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,4BAA4B,EAAE,UAAU,gBAAgB;AACxD;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,sC;;;;;;;;;;;;;;AC1KA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACkC;AACd;AACA;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,wBAAwB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,kCAAkC;AACjF,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,kEAAkE,qBAAqB;AACvF;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,mEAAmE,qBAAqB;AACxF;AACA,gBAAgB,yBAAyB;AACzC,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB,0BAA0B;AAC1C,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,qEAAqE,qBAAqB;AAC1F;AACA;AACA,gBAAgB;AAChB;AACA,iDAAiD;AACjD;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,wDAAwD;AACxD;AACA,SAAS,gEAAmB;AAC5B;AACA;AACA,2CAA2C,WAAW;AACtD;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,mEAAmE;AACnE;AACA,CAAC;AACD,oC;;;;;;;;;ACrKA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AAC2B;AACsC;AACjE;AACA,iDAAiD,oBAAoB,MAAM,qBAAqB;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC,oBAAoB;AACpB;AACA,0BAA0B,8CAA8C,EAAE;AAC1E;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,qHAA6C,EAAE;AACzE;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB,YAAY;AAChC,oBAAoB;AACpB;AACA,0BAA0B,yDAAyD,EAAE;AACrF;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,oHAA4C,EAAE;AACxE;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,8HAAsD,EAAE;AAClF;AACA;AACA,KAAK;AACL;AACA;AACA,gBAAgB;AAChB;AACA,yEAAyE;AACzE;AACA,CAAC;AACD;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,yD;;;;;;;;;;;;;;AC1GA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACwD;AACjC;AACH;AACyB;AAClB;AAC2D;AACtF,eAAsB,EAAE;AACxB;AACA,+GAAyC,eAAe,EAAE;AAC1D;AACA,eAAe,EAAE;AACjB;AACA,qCAAqC,iBAAiB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,iBAAiB;AACrB;AACA;AACA;AACA,iEAAiE,eAAe;AAChF,wCAAwC,oBAAoB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4B;AAC5B;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,wBAAwB,EAAE;AACpD;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,aAAa,EAAE;AACzC;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,kBAAkB,EAAE;AAC9C;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,WAAW,EAAE;AACvC;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,2BAA2B,EAAE;AACvD;AACA;AACA,KAAK;AACL;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA,gDAAgD,mBAAmB;AACnE,SAAS;AACT;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,kDAAkD,kCAAkC;AACpF;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE,4EAA4B;AACzD;AACA;AACA,0CAA0C,mBAAmB;AAC7D,SAAS;AACT;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,oDAAoD,kCAAkC;AACtF;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA,SAAS;AACT;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,kDAAkD,8BAA8B;AAChF;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,4CAA4C,kBAAkB;AAC9D;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,+BAA+B,mBAAmB;AAClD;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,2BAA2B,yDAAyD;AACpF;AACA;AACA,iBAAiB,IAAI;AACrB;AACA;AACA,yCAAyC;AACzC,SAAS,4BAA4B,gEAAiB,GAAG,4DAAa,GAAG,2IAAuC,IAAI;AACpH,SAAS,4BAA4B,gEAAiB,GAAG,4DAAa,GAAG,iJAA6C,IAAI;AAC1H,MAAM;AACN;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,mC;;;;;;;;;;;;ACzPA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACmF;AACvD;AACR;AACpB,eAAsB,EAAE;AACxB;AACA,+GAAyC,kCAAkC,EAAE;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,4BAA4B,EAAE,mCAAmC,QAAQ;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,kEAAmB;AAC5B;AACA;AACA,uDAAuD,WAAW;AAClE;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,YAAY,eAAe,GAAG,4BAA4B,OAAO;AACjE,qCAAqC,mBAAmB;AACxD;AACA;AACA;AACA,6BAA6B,mBAAmB,SAAS,2BAA2B;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC,sCAAsC;AACtC;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,mEAAmE,6BAA6B;AAChG;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,wEAAwE,wBAAwB;AAChG;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,2EAA2E,qBAAqB;AAChG;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,2BAA2B,oDAAoD;AAC/E;AACA,iBAAiB,IAAI;AACrB;AACA;AACA,4DAA4D;AAC5D,SAAS,iEAAkB;AAC3B,SAAS,mEAAoB;AAC7B,SAAS,8BAA8B;AACvC,SAAS,iEAAkB;AAC3B,MAAM;AACN;AACA,kBAAkB,6DAAc;AAChC,6BAA6B,6DAAc;AAC3C,mBAAmB,6DAAc;AACjC;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,wD;;;;;;;;;;;;;;;ACjQA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACuE;AAChD;AACD;AACmC;AAC9B;AACF;AAC6E;AACtG,eAAsB,EAAE;AACxB;AACA,+GAAyC,2BAA2B,EAAE;AACtE;AACA;AACA,mCAAmC,iBAAiB;AACpD;AACA;AACA;AACA,uCAAuC,iBAAiB;AACxD,IAAI,iBAAiB,8BAA8B,mBAAmB,GAAG,iBAAiB;AAC1F,QAAQ,iBAAiB,qBAAqB,uBAAuB,GAAG,qBAAqB;AAC7F,QAAQ,qBAAqB;AAC7B;AACA;AACA,IAAI,iBAAiB,sDAAsD,iBAAiB;AAC5F,IAAI,gCAAgC,KAAK,kCAAkC;AAC3E;AACA;AACA,WAAW,iBAAiB,IAAI,oCAAoC;AACpE,QAAQ,qCAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,wBAAwB,EAAE;AACpD;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,aAAa,EAAE;AACzC;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,kBAAkB,EAAE;AAC9C;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,WAAW,EAAE;AACvC;AACA;AACA,KAAK;AACL;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,qCAAqC,mBAAmB;AACxD;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,8DAA8D,kCAAkC;AAChG;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,iEAAiE,sGAA0C;AAC3G;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,qCAAqC,mBAAmB;AACxD;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,mEAAmE;AACnE;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,gEAAgE,kCAAkC;AAClG;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,qCAAqC,mBAAmB;AACxD;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,mEAAmE;AACnE;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,gEAAgE,kCAAkC;AAClG;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,wDAAwD,kBAAkB;AAC1E;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,+BAA+B,mBAAmB;AAClD;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,uCAAuC,mBAAmB;AAC1D;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,2DAA2D,gCAAgC,EAAE;AAC7F;AACA,mEAAmE,EAAE;AACrE;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,2BAA2B,yDAAyD;AACpF;AACA,iBAAiB,IAAI;AACrB;AACA;AACA,qDAAqD;AACrD,SAAS,4BAA4B,gEAAiB,GAAG,4DAAa,GAAG,2IAAuC,IAAI;AACpH,SAAS,4BAA4B,gEAAiB,GAAG,4DAAa,GAAG,iJAA6C,IAAI;AAC1H,MAAM;AACN;AACA,kBAAkB,mFAAoC;AACtD,sBAAsB,8DAAe;AACrC;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,gD;;;;;;;;;;;;;;;;;ACvSA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AAC+E;AAClC;AACR;AACV;AACF;AACwC;AACpC;AAC7B,eAAsB,EAAE;AACxB;AACA,+GAAyC,sBAAsB,EAAE;AACjE;AACA;AACA,gCAAgC,iBAAiB;AACjD;AACA;AACA;AACA,kDAAkD,0BAA0B;AAC5E;AACA;AACA,6CAA6C,iBAAiB;AAC9D,oBAAoB,iBAAiB;AACrC,IAAI,iBAAiB,2BAA2B,0BAA0B;AAC1E;AACA;AACA;AACA;AACA;AACA,wDAAwD,iBAAiB;AACzE,IAAI,2BAA2B;AAC/B;AACA;AACA;AACA;AACA;AACA,IAAI,iBAAiB,8CAA8C,uBAAuB;AAC1F;AACA;AACA,QAAQ,iBAAiB;AACzB,IAAI,gCAAgC,KAAK,kCAAkC;AAC3E;AACA;AACA,qBAAqB,oCAAoC;AACzD,IAAI,qCAAqC;AACzC;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,yEAA0B,kEAAkE,IAAI;AACzG;AACA;AACA,gDAAgD;AAChD,SAAS,mGAAuC,gEAAiB,GAAG,4DAAa,GAAG,gEAAiB,IAAI;AACzG,SAAS,4BAA4B,gEAAiB,GAAG,4DAAa,GAAG,2IAAuC,IAAI;AACpH,SAAS,4BAA4B,gEAAiB,GAAG,4DAAa,GAAG,iJAA6C,IAAI;AAC1H,MAAM;AACN;AACA,kBAAkB,uFAAwC;AAC1D;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,eAAsB,EAAE;AACxB;AACA,+GAAyC,sBAAsB,EAAE;AACjE;AACA;AACA,gCAAgC,iBAAiB;AACjD;AACA;AACA;AACA,wDAAwD,0BAA0B;AAClF;AACA;AACA,6CAA6C,iBAAiB;AAC9D,oBAAoB,iBAAiB;AACrC,IAAI,iBAAiB,2BAA2B,0BAA0B;AAC1E;AACA;AACA;AACA;AACA;AACA,wDAAwD,iBAAiB;AACzE,IAAI,2BAA2B,uBAAuB,iBAAiB;AACvE;AACA;AACA;AACA,IAAI,iBAAiB,8CAA8C,uBAAuB;AAC1F;AACA;AACA,QAAQ,iBAAiB;AACzB,IAAI,iBAAiB,IAAI,gCAAgC,KAAK;AAC9D;AACA;AACA;AACA,qBAAqB,iBAAiB,IAAI,oCAAoC;AAC9E,kBAAkB,qCAAqC;AACvD;AACA;AACA,0DAA0D,iBAAiB;AAC3E,gBAAgB,sBAAsB;AACtC,yDAAyD;AACzD;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,8CAA8C,EAAE;AAC1E;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,qHAA6C,EAAE;AACzE;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,oHAA4C,EAAE;AACxE;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,8HAAsD,EAAE;AAClF;AACA;AACA,KAAK;AACL;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,yEAA0B,kEAAkE,IAAI;AACzG;AACA;AACA,gDAAgD;AAChD,SAAS,mGAAuC,gEAAiB,GAAG,4DAAa,GAAG,gEAAiB,IAAI;AACzG,SAAS,4BAA4B,gEAAiB,GAAG,4DAAa,GAAG,2IAAuC,IAAI;AACpH,SAAS,4BAA4B,gEAAiB,GAAG,4DAAa,GAAG,iJAA6C,IAAI;AAC1H,MAAM;AACN;AACA,kBAAkB,uFAAwC;AAC1D;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,2C;;;;;;;ACvSA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,wDAAwD;AACxD;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,kCAAkC,EAAE;AACrF,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,6CAA6C,kCAAkC,EAAE;AACjF,SAAS;AACT;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA,+BAA+B,EAAE;AACjC,+BAA+B,EAAE;AACjC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,yDAAyD,uEAAuE,EAAE;AAClI;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,6CAA6C,8CAA8C;AAC3F;AACA;AACA,gBAAgB;AAChB;AACA,0CAA0C,mDAAmD;AAC7F;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,4CAA4C,2CAA2C;AACvF;AACA,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B,yCAAyC,8CAA8C,EAAE;AACzF;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,6CAA6C,yEAAyE;AACtH;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,mC;;;;;;;;;ACtMA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,eAAe;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,uEAAuE;AACvE;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,8DAA8D;AAC9D;AACA,CAAC;AACD,sC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/DA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACuD;AACrC;AACH;AACF;AACO;AACJ;AACF;AACK;AACA;AACF;AACQ;AACA;AACG;AACJ;AACJ;AACS;AACH;AACoE;AAC3C;AACC;AACmC;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,wEAAwE;AAC9H;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,yEAAyE;AAChI;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,aAAa;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,mBAAmB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,mBAAmB;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,sDAAsD;AACtG;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,0BAA0B,gCAAgC,EAAE;AAC5D;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,0BAA0B,+CAA+C,EAAE;AAC3E;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,0BAA0B,0BAA0B,EAAE;AACtD;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,WAAW,uCAAuC;AAClD,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,gBAAgB;AAChE;AACA;AACA;AACA,4CAA4C,yCAAyC;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,2CAA2C,aAAa;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,wBAAwB;AACtD;AACA;AACA,2CAA2C,UAAU,mCAAmC;AACxF;AACA;AACA,2CAA2C,UAAU,iCAAiC;AACtF;AACA;AACA;AACA;AACA,0CAA0C,kBAAkB;AAC5D;AACA;AACA,wCAAwC,kBAAkB;AAC1D;AACA;AACA,wDAAwD,kBAAkB;AAC1E;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,2BAA2B;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,WAAW,6BAA6B;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,kBAAkB;AACpE;AACA;AACA,kDAAkD,6CAA6C;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,WAAW,6BAA6B;AACxE;AACA;AACA;AACA,qBAAqB,cAAc;AACnC;AACA,oDAAoD,0CAA0C;AAC9F;AACA,+BAA+B,cAAc;AAC7C;AACA,gDAAgD,sCAAsC;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,iFAAiF,EAAE;AACvI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,qIAA6E,oCAAoC,EAAE;AACnH;AACA;AACA,iIAA8E,uBAAuB,EAAE;AACvG;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,0BAA0B,wCAAwC,EAAE;AACpE;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,iHAA4D,wBAAwB,EAAE;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,mHAA6D,UAAU,EAAE;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,kIAA+C,oEAAoE,EAAE;AACrH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,yCAAyC,EAAE;AAC1E,kCAAkC,mBAAmB,EAAE;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,2GAAsD,wBAAwB,EAAE;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,kIAA+C,wDAAwD,EAAE;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,oGAA4C;AACrE;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,oHAAqE;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,IAAI;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kC;;;;;;;;;;;;;;;;;;;ACp0BA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACgC;AACV;AACT;AACC;AACK;AACmB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6NAAmF,iPAAkF,EAAE;AACvK;AACA;AACA;AACA,CAAC;AACD,gD;;;;;;;;;AChDA;AAAA;;;;;;;GAOG;AAIH;IAEE,IAAI,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;IAC1C,IAAI,YAAY,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE,CAAC;IACzD,IAAI,YAAY,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;IAExC,EAAE,CAAC,CAAC,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC;QAChC,WAAW,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,GAAG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AAD,CAAC;;;;;;;;ACvMD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iC;;;;;;ACrBA,6BAA6B;AAC7B,qCAAqC,gC;;;;;;ACDrC;AACA;AACA,iCAAiC,QAAQ,gBAAgB,UAAU,GAAG;AACtE,CAAC,E;;;;;;ACHD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,E;;;;;;ACPA;AACA;AACA;AACA,2FAAsF;AACtF;AACA;AACA,E;;;;;;ACNA;AACA;AACA;AACA;AACA,E;;;;;;ACJA,oB;;;;;;ACAA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACNA;AACA;AACA;AACA;AACA,E;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;;;;;;;;AC1GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,iBAAiB,IAAI;AACrB;AACA;AACA;AACA,SAAS,2BAA2B;AACpC;AACA;AACA,uBAAuB,qBAAqB;AAC5C,sBAAsB,qBAAqB;AAC3C,sBAAsB,qBAAqB;AAC3C,kBAAkB,qBAAqB;AACvC,sBAAsB,qBAAqB;AAC3C,qBAAqB,sBAAsB;AAC3C,uBAAuB,sBAAsB;AAC7C,oBAAoB,sBAAsB;AAC1C,uBAAuB,kDAAkD;AACzE,8BAA8B,0DAA0D;AACxF,8BAA8B,0DAA0D;AACxF;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,2CAA2C,uuK;;;;;;;ACxI3C;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sC;;;;;;;ACZA;AACA;AACA;AACA,mDAAmD,iBAAiB;AACpE;AACA,SAAS,kBAAkB,GAAG,oBAAoB,GAAG,gBAAgB;AACrE;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,eAAe;AAClC;AACA,eAAe,yBAAyB;AACxC,eAAe,yBAAyB;AACxC,eAAe,iBAAiB;AAChC,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kCAAkC;AACjD;AACA,eAAe,yBAAyB;AACxC,eAAe,iBAAiB;AAChC,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB,gBAAgB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,IAAI;AACnB,gBAAgB,gBAAgB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,kBAAkB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,wC;;;;;;;AC9HA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,WAAW;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,WAAW;AAC1C;AACA;AACA;AACA,+BAA+B,WAAW;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,uC;;;;;;;AC7IA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,kCAAkC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,0C;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sC;;;;;;;ACrBA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,sC;;;;;;;;;;;;AC3BA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,mEAAmE;AACnE;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,kEAAmB;AAC5B;AACA;AACA,uDAAuD;AACvD,SAAS,gCAAgC,iIAAmC,IAAI;AAChF,MAAM;AACN;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA,oCAAoC,EAAE;AACtC;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wC;;;;;;;;;ACjhBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACsB;AACtB;AACA;AACA;AACA,IAAI,4BAA4B,MAAM,4BAA4B;AAClE;AACA,uCAAuC,gBAAgB;AACvD;AACA,gCAAgC,cAAc,KAAK,gBAAgB;AACnE;AACA;AACA,kBAAkB,4BAA4B;AAC9C,mCAAmC,4BAA4B;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,8DAA8D;AAC9D;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,yEAAyE;AACzE;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,sFAAsF;AACtF;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,yFAAyF;AACzF;AACA;AACA,gBAAgB;AAChB;AACA,sDAAsD;AACtD;AACA;AACA,gBAAgB;AAChB;AACA,mDAAmD;AACnD;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,2DAA2D;AAC3D;AACA;AACA,gBAAgB;AAChB;AACA,0DAA0D;AAC1D;AACA,CAAC;AACD;AACA;AACA,IAAI,2BAA2B;AAC/B;AACA,oBAAoB,2BAA2B;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B,WAAW,cAAc;AACzB;AACA;AACA,kBAAkB,4CAA4C;AAC9D,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB,6C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1GA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACkB;AACuP;AAC3O;AACQ;AACunB;AACjoB;AACgE;AAClE;AACuB;AACP;AACW;AACxB;AACH;AACJ;AACgD;AACoE;AACjH;AACG;AACL;AACI;AACiC;AAC5B;AACgD;AAClD;AACgC;AACc;AACC;AAC5B;AACtB;AACQ;AACV;AAC+B;AAC+B;AACpD;AAC0C;AACa;AACyC;AAC5G;AACG;AACJ;AACtB,iC;;;;;;;;;;;;;;;;;;AC9DA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACkR;AACvP;AACE;AACA;AACR;AACgB;AACL;AACuN;AAC5N;AAC3B,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,0DAA0D,sBAAsB;AAChF;AACA,CAAC;AACD;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,EAAE;AACjC,wDAAwD,uCAAuC,EAAE;AACjG;AACA;AACA;AACA,SAAS;AACT;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,4CAA4C,EAAE;AAC9C;AACA,SAAS;AACT,uBAAuB,EAAE,+DAA+D,qFAAqF,EAAE;AAC/K,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE,uEAAuE;AAC5F,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,wCAAwC,mHAA2D,EAAE;AACrG;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,8CAA8C,0FAA0F,EAAE;AAC1I,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA,iGAAiG,EAAE;AACnG;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA,+BAA+B,EAAE;AACjC,+BAA+B,EAAE;AACjC,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA,kIAAsE,EAAE,2BAA2B,EAAE;AACrG;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,EAAE;AACjD,2CAA2C,8CAA8C,EAAE;AAC3F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,EAAE;AAC7C;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,oDAAoD,sIAAyD,EAAE;AAC/G;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,2CAA2C,8BAA8B,EAAE;AAC3E;AACA,mBAAmB,EAAE;AACrB;AACA,wEAAwE;AACxE;AACA,mBAAmB,EAAE;AACrB;AACA,mBAAmB,EAAE;AACrB;AACA,gEAAgE;AAChE;AACA;AA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ACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,wDAAwD,yCAAyC;AACjG;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,6DAA6D,8CAA8C;AAC3G;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,uDAAuD,wCAAwC;AAC/F;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,kEAAkE,mDAAmD;AACrH;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,+DAA+D,gDAAgD;AAC/G;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,kEAAkE,mDAAmD;AACrH;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,oC;;;;;;;;;;;;;;ACpNA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACuC;AACb;AACE;AACZ;AACF;AACA;AACc;AAC5B;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,6CAA6C,6BAA6B;AAC1E,6CAA6C,6HAAoD;AACjG,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,wLAAsG;AACtG;AACA;AACA,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,4C;;;;;;;;AC5EA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,sC;;;;;;;AC3BA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,sDAAsD;AACtD;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,yDAAyD;AACzD;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,sDAAsD;AACtD;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,gEAAgE,aAAa;AAC7E;AACA,CAAC;AACD,sC;;;;;;;;;;;;;;;;;;;;ACvCA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACyE;AACvC;AACd;AACuC;AAC9B;AACH;AAC1B;AACkC;AACwB;AACjC;AACU;AACnC;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,2BAA2B,EAAE,UAAU;AACvC,qEAAqE,kDAAkD,EAAE;AACzH;AACA;AACA;AACA;AACA,SAAS;AACT,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,4DAA4D,sCAAsC,EAAE;AACpG,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE,mFAAmF,0CAA0C,EAAE;AACxJ,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,2BAA2B,EAAE;AAC7B;AACA,SAAS;AACT,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,kJAAwF,iGAAuC,EAAE;AACjI,sJAA4F,iGAAuC,EAAE;AACrI;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,wBAAwB,mBAAmB;AAC3C,SAAS;AACT;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,0CAA0C,8BAA8B;AACxE;AACA;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE,wCAAwC,kCAAkC,EAAE;AACzG;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE,wCAAwC,kCAAkC,EAAE;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,8C;;;;;;;;;;;;ACpUA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACoE;AACvC;AACC;AACJ;AACM;AAChC,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD,gDAAgD,EAAE;AAC3G;AACA;AACA,gEAAgE,8BAA8B,EAAE;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,gDAAgD,6FAA8C,EAAE;AAChG;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,mGAAoD,EAAE;AAC1G;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,gDAAgD,6FAA8C,EAAE;AAChG;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,mGAAoD,EAAE;AAC1G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,gFAAgF,4CAA4C;AAC5H;AACA,gBAAgB;AAChB;AACA,qFAAqF,uBAAuB;AAC5G;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA,oBAAoB;AACpB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,gBAAgB;AAChB;AACA,2EAA2E,kCAAkC;AAC7G;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uD;;;;;;;;;;;ACjeA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAC+B;AAC/B,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,4DAA4D,uBAAuB;AACnF;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,iCAAiC,gBAAgB;AACjD;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,4BAA4B,EAAE,UAAU,uBAAuB;AAC/D,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,+BAA+B,YAAY;AAC3C;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,0DAA0D,0CAA0C;AACpG;AACA,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,sDAAsD,2BAA2B,EAAE;AACnF;AACA;AACA,gCAAgC,EAAE,UAAU,uBAAuB;AACnE,+BAA+B,EAAE;AACjC,+BAA+B,EAAE;AACjC;AACA;AACA;AACA,0DAA0D,2CAA2C,EAAE;AACvG;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,4BAA4B,EAAE,UAAU,yBAAyB;AACjE;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,EAAE,UAAU,uBAAuB;AACnE,+BAA+B,EAAE;AACjC,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,EAAE,UAAU,kBAAkB;AAC9D,+BAA+B,EAAE;AACjC,+BAA+B,EAAE;AACjC,+BAA+B,EAAE;AACjC;AACA,mCAAmC,EAAE;AACrC,mCAAmC,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,EAAE;AACrC,mCAAmC,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB,EAAE;AAClB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,4BAA4B,EAAE,UAAU,+BAA+B;AACvE;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,EAAE,UAAU,uBAAuB;AACnE,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,EAAE,UAAU,kBAAkB;AAC9D,+BAA+B,EAAE;AACjC,+BAA+B,EAAE;AACjC,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,4BAA4B,EAAE,UAAU,wBAAwB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,oC;;;;;;;;;;;;;;;;AC1cA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AAC4B;AAC6C;AAC5C;AAC7B;AACoB;AACE;AACtB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,SAAS;AACT;AACA,2BAA2B,EAAE;AAC7B;AACA,SAAS;AACT;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE,oEAAoE,mHAAyD,EAAE;AACxJ,uBAAuB,EAAE;AACzB,4BAA4B,EAAE,UAAU,iCAAiC;AACzE,2BAA2B,EAAE,kBAAkB;AAC/C;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA,0C;;;;;;;;;;;;;;;;ACjLA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAC+B;AACT;AACtB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,qC;;;;;;;;;;;;;AC9GA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACsB;AACtB;AACA;AACA;AACA,IAAI,iCAAiC;AACrC;AACA;AACA,kFAAkF;AAClF;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA;AACA,qBAAqB,EAAE;AACvB;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB,8C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3DA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACuC;AACA;AACb;AACA;AACwE;AACtE;AAC8D;AAC3B;AAC/B;AAC6B;AACnC;AACA;AAC1B;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA;AACA;AACA,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,4C;;;;;;;;;;;;;;AC7BA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACgD;AACV;AACb;AACzB,eAAsB,EAAE;AACxB,2BAA2B,wBAAwB;AACnD;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,YAAY;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,0CAA0C,gCAAgC;AAC1E;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,kDAAkD,8BAA8B;AAChF;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,wDAAwD,6CAA6C;AACrG;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,iD;;;;;;;;;;ACxHA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,qC;;;;;;;;;AClCA;AAAA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,kCAAkC,EAAE;AAC9D;AACA,mBAAmB,EAAE;AACrB,oBAAoB;AACpB;AACA,iCAAiC,qCAAqC,EAAE;AACxE;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,+BAA+B,EAAE;AAC3D;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,oCAAoC,EAAE;AAChE;AACA,mBAAmB,EAAE;AACrB,oBAAoB;AACpB;AACA,+BAA+B,qCAAqC,EAAE;AACtE;AACA;AACA,KAAK;AACL;AACA,gBAAgB;AAChB;AACA,gDAAgD,qCAAqC;AACrF;AACA,CAAC;AACD;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA,kC;;;;;;;;;;;AC1GA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACoB;AACA;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,uFAAuF;AACvF;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,sD;;;;;;;;AChGA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sFAAsF;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,uC;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACyB;AACF;AACC;AACH;AACe;AACQ;AACxB;AACF;AACoC;AACtD;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,SAAS,gEAAmB;AAC5B;AACA;AACA,4CAA4C;AAC5C,SAAS,2EAAsB;AAC/B,SAAS,sEAAmB;AAC5B,SAAS,4FAAwB;AACjC,MAAM;AACN;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,eAAe,EAAE;AACjB;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,wBAAwB,EAAE,UAAU,oBAAoB;AACxD;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,GAAG;AACd,WAAW,GAAG;AACd,WAAW,GAAG;AACd,WAAW,GAAG;AACd,WAAW,GAAG;AACd,WAAW,GAAG;AACd,WAAW,GAAG;AACd,WAAW,GAAG;AACd,WAAW,GAAG;AACd,WAAW,GAAG;AACd,WAAW,GAAG;AACd,WAAW,GAAG;AACd,WAAW,GAAG;AACd,WAAW,GAAG;AACd,WAAW,GAAG;AACd,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE;AAC9H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE;AACnJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE;AACxK;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE;AAC7L;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE;AAClN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,wBAAwB,EAAE,UAAU,kBAAkB;AACtD;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA,4BAA4B,EAAE,UAAU,kBAAkB;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,wBAAwB,EAAE,UAAU,iCAAiC;AACrE,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,wBAAwB,EAAE,UAAU,wBAAwB;AAC5D;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA,iBAAwB;AACxB;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,mDAAmD,kBAAkB;AACrE;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,0DAA0D;AAC1D;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,KAAK;AACpB;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,yDAAyD,4BAA4B;AACrF;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,gEAAgE,6BAA6B;AAC7F;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,eAAsB,EAAE;AACxB,sC;;;;;;;;;;;;AC79BA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACsE;AACtE;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA,WAAW,GAAG;AACd,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAsB,EAAE,gIAA6E,kBAAkB;AACvH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAsB,EAAE,wGAAqD,UAAU;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,eAAsB,EAAE,uIAAoF,aAAa;AACzH;AACA;AACA;AACA;AACA;AACA;AACA,eAAsB,EAAE,mHAAgE,aAAa;AACrG,mC;;;;;;;;AClFA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACuB;AACvB;AACA;AACA;AACA;AACA;AACA,8CAA8C,yBAAyB;AACvE,qCAAqC,WAAW;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,kBAAkB;AAC7B,WAAW,KAAK;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,UAAU;AAChC,oDAAoD,OAAO;AAC3D;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,8BAA8B;AAC/D,SAAS;AACT;AACA;AACA;AACA;AACA,wCAAwC,cAAc;AACtD;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,0CAA0C,mDAAmD;AAC7F;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,yBAAyB;AACpF;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,0CAA0C,2BAA2B;AACrE;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,iDAAiD,kCAAkC;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,WAAW;AACvB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,wDAAwD,2BAA2B;AACnF;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,yBAAyB,EAAE;AACrD;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,+BAA+B,EAAE;AAC3D;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,uBAAuB,EAAE;AACnD;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,4BAA4B,EAAE;AACxD;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,uBAAuB,EAAE;AACnD;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,mCAAmC,EAAE;AAC/D;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,mCAAmC,EAAE;AAC/D;AACA;AACA,KAAK;AACL;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D,mCAAmC,EAAE;AACjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,mCAAmC,EAAE,MAAM,wBAAwB;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,iEAAiE,4CAA4C;AAC7G;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,sDAAsD,iCAAiC;AACvF;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,mC;;;;;;;;;;ACrWA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACsD;AAC1B;AAC5B,eAAsB,EAAE;AACxB;AACA,+GAAyC,qCAAqC,EAAE;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,sCAAsC;AACtC,sCAAsC;AACtC;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,6EAA6E,oBAAoB;AACjG;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,8EAA8E,qBAAqB;AACnG;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,2BAA2B,yEAAyE;AACpG;AACA,iBAAiB,IAAI;AACrB;AACA;AACA,+DAA+D;AAC/D,SAAS,iEAAkB;AAC3B,SAAS,mEAAoB;AAC7B,MAAM;AACN;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,mD;;;;;;;;;;AC1FA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACsD;AAC1B;AAC5B,eAAsB,EAAE;AACxB;AACA,+GAAyC,6BAA6B,EAAE;AACxE;AACA;AACA;AACA;AACA,IAAI,eAAe,GAAG,4BAA4B,OAAO,uBAAuB;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,sCAAsC;AACtC,sCAAsC;AACtC;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,qEAAqE,oBAAoB;AACzF;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,sEAAsE,qBAAqB;AAC3F;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,2BAA2B,sEAAsE;AACjG;AACA,iBAAiB,IAAI;AACrB;AACA;AACA,uDAAuD;AACvD,SAAS,iEAAkB;AAC3B,SAAS,mEAAoB;AAC7B,MAAM;AACN;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,kD;;;;;;;;;;;;;;AC/FA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AAC+E;AAClC;AACR;AACV;AACV;AACc;AAC/B,eAAsB,EAAE;AACxB;AACA,+GAAyC,qBAAqB,EAAE;AAChE;AACA;AACA,qCAAqC,iBAAiB;AACtD;AACA;AACA;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,yEAA0B,wFAAwF,IAAI;AAC/H;AACA;AACA,+CAA+C;AAC/C,SAAS,mGAAuC,4DAAa,GAAG,gEAAiB,IAAI;AACrF,SAAS,4BAA4B,gEAAiB,GAAG,4DAAa,GAAG,2IAAuC,IAAI;AACpH,SAAS,4BAA4B,gEAAiB,GAAG,4DAAa,GAAG,iJAA6C,IAAI;AAC1H,MAAM;AACN;AACA,kBAAkB,sFAAuC;AACzD;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,0C;;;;;;;;AChGA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACwC;AACxC;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,iZAAiZ,kCAAkC,+BAA+B,4FAA4F,EAAE;AAChjB;AACA;AACA,CAAC;AACD,2C;;;;;;;;;;;;ACjDA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAC6E;AACvC;AACV;AAC5B,eAAsB,EAAE;AACxB;AACA,+GAAyC,mCAAmC,EAAE;AAC9E;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,eAAe,GAAG,4BAA4B,OAAO;AACjE,qCAAqC,mBAAmB;AACxD;AACA;AACA;AACA,6BAA6B,mBAAmB,SAAS,2BAA2B;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC,sCAAsC;AACtC;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,4EAA4E,qBAAqB;AACjG;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,wEAAwE,uCAAuC;AAC/G;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,iEAAiE,gBAAgB;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,SAAS;AACT;AACA,2BAA2B,uEAAuE;AAClG;AACA,iBAAiB,IAAI;AACrB;AACA;AACA,6DAA6D;AAC7D,SAAS,iEAAkB;AAC3B,SAAS,mEAAoB;AAC7B,MAAM;AACN;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,kCAAkC;AACnD;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,mBAAmB,EAAE;AACrB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,yEAA0B,qBAAqB,IAAI;AAC5D;AACA;AACA,iDAAiD;AACjD,SAAS,mEAAoB;AAC7B,SAAS,iEAAkB;AAC3B,SAAS,iDAAiD,gEAAiB,GAAG,4DAAa,IAAI;AAC/F,MAAM;AACN;AACA,qBAAqB,iFAAkC;AACvD,mBAAmB,+EAAgC;AACnD;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,yD;;;;;;;;;;;;ACtSA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAC6E;AACvC;AACV;AAC5B,eAAsB,EAAE;AACxB;AACA,+GAAyC,2CAA2C,EAAE;AACtF;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,kDAAkD;AAClD;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC,sCAAsC;AACtC;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,2BAA2B,EAAE,oCAAoC,8BAA8B,EAAE;AACjG,2DAA2D,oDAAoD;AAC/G;AACA;AACA,2DAA2D,yBAAyB;AACpF;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA,+BAA+B,EAAE;AACjC,oCAAoC,EAAE,UAAU,oBAAoB;AACpE,mCAAmC,EAAE;AACrC,mCAAmC,EAAE;AACrC;AACA;AACA;AACA;AACA,+BAA+B,EAAE;AACjC,oCAAoC,EAAE,UAAU,oBAAoB;AACpE,mCAAmC,EAAE;AACrC;AACA,uCAAuC,EAAE;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,oFAAoF,qBAAqB;AACzG;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,iEAAiE,gBAAgB;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,SAAS;AACT;AACA,2BAA2B,iEAAiE;AAC5F;AACA,iBAAiB,IAAI;AACrB;AACA;AACA,qEAAqE;AACrE,SAAS,iEAAkB;AAC3B,SAAS,mEAAoB;AAC7B,MAAM;AACN;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,mBAAmB,EAAE;AACrB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,yEAA0B,qBAAqB,IAAI;AAC5D;AACA;AACA,yDAAyD;AACzD,SAAS,mEAAoB;AAC7B,SAAS,iEAAkB;AAC3B,SAAS,yDAAyD,gEAAiB,GAAG,4DAAa,IAAI;AACvG,MAAM;AACN;AACA,qBAAqB,iFAAkC;AACvD,mBAAmB,+EAAgC;AACnD;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,kE;;;;;;;;;;;;;;;;;;;AC5UA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACsB;AAC8B;AAC7B;AACW;AAClC;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,EAAE;AACrC;AACA;AACA,KAAK;AACL;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,4CAA4C,mBAAmB,GAAG,iBAAiB;AACnF,IAAI,iBAAiB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,oBAAoB,EAAE;AAChD;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,qBAAqB,EAAE;AACjD;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,qBAAqB,EAAE;AACjD;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,+BAA+B,EAAE;AAC3D;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,iCAAiC,EAAE;AAC7D;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,gCAAgC,EAAE;AAC5D;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,kCAAkC,EAAE;AAC9D;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,kCAAkC,EAAE;AAC9D;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,qBAAqB,EAAE;AACjD;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,uBAAuB,EAAE;AACnD;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,uBAAuB,EAAE;AACnD;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,sBAAsB,EAAE;AAClD;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,uBAAuB,EAAE;AACnD;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,2BAA2B,EAAE;AACvD;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,4BAA4B,EAAE;AACxD;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,6DAA6D,uBAAuB;AACpF;AACA;AACA,gBAAgB;AAChB;AACA,kEAAkE,4BAA4B;AAC9F;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,0CAA0C;AAC1C;AACA;AACA,wCAAwC,qBAAqB;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,0CAA0C;AAC1C;AACA,+CAA+C,0BAA0B,iBAAiB,EAAE,EAAE;AAC9F;AACA,yCAAyC,qBAAqB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,0CAA0C;AAC1C;AACA;AACA,sCAAsC,qBAAqB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,0CAA0C;AAC1C;AACA,+CAA+C,yBAAyB,iBAAiB,EAAE,EAAE;AAC7F;AACA,0CAA0C,qBAAqB;AAC/D;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,0CAA0C;AAC1C;AACA;AACA,wCAAwC,qBAAqB;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,mCAAmC;AACnC;AACA;AACA,+CAA+C,kBAAkB,iBAAiB,EAAE,EAAE;AACtF;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D,uBAAuB,EAAE;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,mCAAmC;AACnC;AACA,+CAA+C,iBAAiB,iBAAiB,EAAE,EAAE;AACrF,qCAAqC,uCAAuC;AAC5E;AACA,4DAA4D,wBAAwB,EAAE;AACtF;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,6DAA6D,uBAAuB;AACpF;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,oEAAoE;AACpE;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,sEAAsE;AACtE;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,iEAAiE;AACjE;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,2CAA2C;AAC5F;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,0CAA0C,kBAAkB;AAC5D,4CAA4C,kCAAkC,uBAAuB,EAAE,EAAE;AACzG,qCAAqC,uCAAuC;AAC5E;AACA;AACA,gBAAgB;AAChB;AACA,+DAA+D,+DAA+D;AAC9H;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA,6JAA6J;AAC7J;AACA;AACA,+BAA+B,uBAAuB,8BAA8B,uBAAuB,EAAE,EAAE,EAAE;AACjH;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,qCAAqC,kBAAkB;AACvD;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA,4CAA4C;AAC5C,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,qDAAqD,+BAA+B;AACpF;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,8BAA8B,aAAa;AAC3C,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,8BAA8B,aAAa;AAC3C;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,0DAA0D;AAC1D;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,6DAA6D;AAC7D;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,mEAAmE;AACnE;AACA;AACA;AACA,gBAAgB;AAChB;AACA,kEAAkE;AAClE;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,qDAAqD,kCAAkC,EAAE;AACzF;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,qDAAqD,sBAAsB,EAAE;AAC7E;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,qDAAqD,wBAAwB,EAAE;AAC/E;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,0CAA0C;AAC1C;AACA;AACA,0CAA0C,qBAAqB;AAC/D;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,0CAA0C;AAC1C;AACA;AACA,yCAAyC,qBAAqB;AAC9D;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,2EAA2E,+BAA+B;AAC1G;AACA,CAAC;AACD;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,iBAAiB,MAAM,iBAAiB;AAC5C;AACA;AACA;AACA,yBAAyB,mBAAmB;AAC5C;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA,wDAAwD;AACxD;AACA;AACA;AACA,iCAAiC,6BAA6B;AAC9D,2BAA2B;AAC3B,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B,4BAA4B;AAC5B;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB;AACA;AACA,mCAAmC,kBAAkB;AACrD,mCAAmC,kBAAkB;AACrD,wCAAwC,uBAAuB;AAC/D;AACA;AACA;AACA;AACA,qCAAqC,mCAAmC;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA,wDAAwD,gEAAgE,EAAE;AAC1H;AACA,qCAAqC,2CAA2C;AAChF;AACA;AACA;AACA;AACA,kDAAkD,4BAA4B;AAC9E,oCAAoC,4BAA4B;AAChE;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,iCAAiC,cAAc;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA,2BAA2B,+BAA+B;AAC1D;AACA,uCAAuC;AACvC,wCAAwC;AACxC;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,mCAAmC,kBAAkB;AACrD,mCAAmC;AACnC;AACA,6BAA6B,qBAAqB;AAClD,8BAA8B,qBAAqB;AACnD,oCAAoC,2CAA2C;AAC/E;AACA;AACA;AACA,gBAAgB;AAChB;AACA,sDAAsD;AACtD;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,+DAA+D,cAAc;AAC7E;AACA;AACA,gBAAgB;AAChB;AACA,8DAA8D,sBAAsB;AACpF;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,4DAA4D,yBAAyB;AACrF;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,yDAAyD;AACzD;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,+CAA+C,mCAAmC;AAClF,6BAA6B,mCAAmC;AAChE;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,mEAAmE;AACnE;AACA;AACA,sDAAsD,mBAAmB;AACzE;AACA;AACA;AACA;AACA;AACA,eAAe,mBAAmB,MAAM,iBAAiB;AACzD;AACA;AACA;AACA,yBAAyB,iBAAiB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,2BAA2B,OAAO,qBAAqB;AACvD,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB;AACA;AACA,mCAAmC,kBAAkB;AACrD,wCAAwC,uBAAuB;AAC/D;AACA;AACA;AACA;AACA,qCAAqC,mCAAmC;AACxE;AACA;AACA;AACA;AACA;AACA,sCAAsC,4BAA4B;AAClE,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,yEAAyE,EAAE;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,yEAAyE,EAAE;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,2BAA2B;AACpE,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,+BAA+B,iBAAiB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,gCAAgC,OAAO;AACvC;AACA,uBAAuB,6BAA6B;AACpD,gCAAgC,OAAO;AACvC;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA,wDAAwD,uCAAuC;AAC/F,SAAS;AACT,qCAAqC,2CAA2C;AAChF;AACA;AACA,kCAAkC,iBAAiB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,gCAAgC,OAAO;AACvC;AACA,yBAAyB,eAAe;AACxC,gCAAgC,OAAO;AACvC;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA,8DAA8D,uCAAuC;AACrG;AACA,SAAS;AACT,qCAAqC,2CAA2C;AAChF;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,iCAAiC;AACzD;AACA,oCAAoC,MAAM;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,8BAA8B;AAC/C;AACA,QAAQ;AACR;AACA,oCAAoC,MAAM;AAC1C,kDAAkD;AAClD;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,+BAA+B,YAAY;AAC3C,mCAAmC;AACnC;AACA,wCAAwC,uCAAuC;AAC/E,SAAS;AACT,qCAAqC,2CAA2C;AAChF,8BAA8B,qBAAqB;AACnD,6BAA6B,qBAAqB;AAClD;AACA;AACA,mCAAmC,iBAAiB;AACpD;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,sCAAsC;AACtC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,yDAAyD,iCAAiC,EAAE;AAC5F;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,gBAAgB;AAChB;AACA,oDAAoD,mCAAmC;AACvF;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,qDAAqD,8BAA8B,EAAE;AACrF;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,yDAAyD,gBAAgB;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,oEAAoE,mBAAmB;AACvF,IAAI,iBAAiB,KAAK,iBAAiB;AAC3C;AACA,sDAAsD,mBAAmB;AACzE;AACA;AACA;AACA;AACA,eAAe,mBAAmB,MAAM,iBAAiB;AACzD;AACA;AACA;AACA,yBAAyB,iBAAiB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB;AACA;AACA,mCAAmC,kBAAkB;AACrD,wCAAwC,uBAAuB;AAC/D;AACA;AACA;AACA;AACA,qCAAqC,mCAAmC;AACxE;AACA;AACA,gBAAgB,uBAAuB;AACvC,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,+CAA+C,6BAA6B;AAC5E;AACA,qBAAqB,uBAAuB;AAC5C,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,0EAA0E,EAAE;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,0EAA0E,EAAE;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,6BAA6B,EAAE;AACzD;AACA;AACA,KAAK;AACL;AACA,+BAA+B,iBAAiB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,+BAA+B;AAC/B;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA,gDAAgD,uCAAuC;AACvF,SAAS;AACT,qCAAqC,2CAA2C;AAChF;AACA;AACA,kCAAkC,iBAAiB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,+BAA+B;AAC/B;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA,sDAAsD,uCAAuC;AAC7F;AACA,SAAS;AACT,qCAAqC,2CAA2C;AAChF;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,8BAA8B;AACxC;AACA;AACA;AACA,mCAAmC;AACnC,2CAA2C;AAC3C;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,+BAA+B,YAAY;AAC3C,mCAAmC;AACnC;AACA,yCAAyC,uCAAuC;AAChF,SAAS;AACT,qCAAqC,2CAA2C;AAChF,8BAA8B,qBAAqB;AACnD,6BAA6B,qBAAqB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,yDAAyD,oBAAoB,EAAE;AAC/E;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,+DAA+D,0CAA0C,EAAE;AAC3G,qCAAqC,sBAAsB,EAAE;AAC7D;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,sDAAsD,8CAA8C,EAAE;AACtG;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,+CAA+C,wCAAwC,EAAE;AACzF;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,4CAA4C,gBAAgB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA,iC;;;;;;;;;;;AC/pDA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACqB;AACE;AACL;AAClB;AACA;AACA,IAAI,gBAAgB;AACpB;AACA;AACA;AACA;AACA;AACA,IAAI,2BAA2B;AAC/B;AACA,6CAA6C,0BAA0B;AACvE,wBAAwB,mBAAmB;AAC3C;AACA;AACA;AACA;AACA,WAAW,0BAA0B;AACrC;AACA;AACA,aAAa,cAAc;AAC3B,IAAI;AACJ;AACA;AACA,0CAA0C,YAAY;AACtD;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,0BAA0B;AACzC;AACA;AACA,gBAAgB;AAChB,QAAQ;AACR;AACA;AACA,QAAQ;AACR,gDAAgD;AAChD,8CAA8C,YAAY;AAC1D,wCAAwC;AACxC;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,CAAC;AACD;AACA;AACA,yEAAyE,gBAAgB;AACzF,cAAc;AACd;AACA;AACA;AACA,aAAa;AACb;AACA,cAAc;AACd;AACA;AACA;AACA,iBAAiB;AACjB,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,gBAAgB,uBAAuB;AACvC;AACA;AACA;AACA,sBAAsB,eAAe;AACrC;AACA,kDAAkD,uBAAuB;AACzE,wBAAwB,gBAAgB;AACxC,YAAY,YAAY,YAAY,0BAA0B;AAC9D;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,UAAU;AACrB,WAAW,oEAAoE;AAC/E;AACA,WAAW,IAAI;AACf;AACA;AACA,oCAAoC,kBAAkB;AACtD;AACA;AACA,oCAAoC,8CAA8C;AAClF;AACA;AACA,gEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA,WAAW,8BAA8B;AACzC;AACA;AACA;AACA;AACA,2BAA2B,qBAAqB;AAChD,IAAI;AACJ,8EAA8E;AAC9E,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,sLAAoF;AAC/G;AACA;AACA,SAAS,kEAAmB;AAC5B;AACA;AACA,sDAAsD,WAAW;AACjE;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,iD;;;;;;;;;;;AChMA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACwB;AACxB;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAsB,EAAE,mCAAmC,wCAAwC;AACnG;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,wBAAwB,EAAE,sBAAsB,EAAE,0BAA0B,YAAY;AACxF;AACA;AACA;AACA;AACA,sC;;;;;;;;AC1DA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA,+BAA+B,gBAAgB;AAC/C,mBAAmB,EAAE;AACrB;AACA,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,qDAAqD,4BAA4B;AACjF;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,uDAAuD,4BAA4B;AACnF;AACA,CAAC;AACD;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,oBAAoB;AAC5E;AACA;AACA;AACA;AACA;AACA,qEAAqE;AACrE;AACA;AACA;AACA;AACA;AACA,WAAW,8BAA8B;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB;AACA;AACA,mCAAmC,gBAAgB;AACnD,sCAAsC,mCAAmC;AACzE;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,sDAAsD,kCAAkC;AACxF;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,yDAAyD,wCAAwC;AACjG;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B,gCAAgC,EAAE,UAAU,kBAAkB;AAC9D;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA,gCAAgC,EAAE,UAAU,kBAAkB;AAC9D;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,yCAAyC,mGAAmG,EAAE;AAC9I,SAAS;AACT;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,yDAAyD,8BAA8B;AACvF;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,6C;;;;;;;;ACnOA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB,sC;;;;;;;ACjBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE,8BAA8B;AACtG;AACA;AACA;AACA,8DAA8D,iCAAiC;AAC/F;AACA,CAAC;AACD,6C;;;;;;;;;;;;;;;;;;AC3B0C;AAG1C;IAII;QACC,IAAI,CAAC,OAAO,GAAG;YACd,MAAM,EAAE,IAAI;YACN,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;SACd;IACL,CAAC;IAXL;QAAC,gFAAU,EAAE;;YAAA;IAab,WAAC;AAAD,CAAC;;;;;;;;ACfD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,aAAa;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,oBAAoB;AAC/E,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,uC;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,yC;;;;;;ACzDA;AACA;AACA;AACA;AACA,E;;;;;;ACJA,uBAAuB;AACvB;AACA;AACA,E;;;;;;ACHA,oB;;;;;;ACAA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,UAAU;AACb;AACA;AACA;AACA,E;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,UAAU;AACrC;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,8BAA8B,qCAAqC;AACnE;AACA;AACA,yBAAyB,gCAAgC;AACzD;AACA;AACA,E;;;;;;AC3BA;AACA;AACA;AACA;AACA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,wBAAwB,yBAAyB,cAAc,0DAA0D,kBAAkB,8CAA8C,YAAY,IAAI,sBAAsB,KAAK,mCAAmC,2DAA2D,QAAQ,8HAA8H,QAAQ,oKAAoK,uDAAuD,oBAAoB,YAAY,IAAI,KAAK,wBAAwB,YAAY,MAAM,OAAO,iBAAiB,GAAG,cAAc,mBAAmB,cAAc,0BAA0B,mRAAmR,GAAG,cAAc,EAAE,IAAI,qBAAqB,U;;;;;;;;AC7RxyQ;AAAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,kC;;;;;;;;;;;;;;;;;;ACbA;AACA;AACA;AACA;AACA;;AAE2B;;AAE4C;;AAEmN;;AAE1R;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,qCAAqC;AAChD,WAAW,qCAAqC;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,4HAA8D,gEAAgE;AAC9H;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA,kC;;;;;;;;;;;;;AC9NwC;;AAEb;;AAE8M;;AAEzO;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,+BAA+B;AAC/B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,SAAS;AACT;AACA,2C;;;;;;;ACtKA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,KAAK,0BAA0B;AAC/B;AACA;AACA,2CAA2C,WAAW;AACtD;AACA,yC;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzB6C;AACxB;AACrB;AACA;AACA;AACA;AACA;AACA;AAC0B;AACN;AACpB;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,gCAAgC,iBAAiB;AACjD,gCAAgC,kBAAkB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iCAAiC,mBAAmB,EAAE;AACtD;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,qBAAqB;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,oDAAoD;AAC3F;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,2BAA2B;AAC3B,yCAAyC,mBAAmB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,mBAAmB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,IAAI;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,yBAAyB;AACvD;AACA;AACA,uCAAuC,oDAAoD;AAC3F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,oDAAoD;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,oDAAoD;AAC3F;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,kEAAmB;AAC5B;AACA;AACA,mDAAmD;AACnD,SAAS,yBAAyB;AAClC,SAAS,oFAAyB;AAClC,SAAS,gDAAgD,gEAAiB,IAAI;AAC9E,MAAM;AACN;AACA,CAAC;;;;;;;;;ACtaD;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7DA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,kBAAkB,UAAU;;AAE5B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA,4BAA4B,YAAY;AACxC,qBAAqB,8BAA8B;AACnD;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,kCAAkC,OAAO;AACzC;AACA;;AAEA;AACA;AACA;AACA,kCAAkC,OAAO;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACrGA;;AAEA;AACA;AACA;AACA;AACA,oBAAoB;AACpB,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;;;;;;;;;AC3CA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,wC;;;;;;;AC/CA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,2C;;;;;;;AChDA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,uCAAuC;AAC3E,oCAAoC,uCAAuC;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,+BAA+B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,yC;;;;;;;AC9EA;AACA;AACA;AACA,gC;;;;;;;ACHA;AACA;AACA;AACA,uC;;;;;;;ACHA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,WAAW,uBAAuB,WAAW;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,8BAA8B;AACzC;AACA,WAAW,EAAE;AACb,YAAY,cAAc;AAC1B,YAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,kC;;;;;;;AC/GA;AACA;AACA;AACA;AACA;AACA,wC;;;;;;;ACLA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,mD;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA,kC;;;;;;ACLA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;AC7DA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACmC;AACR;AAC3B;AACA;AACA;AACA,uBAAuB,wBAAwB;AAC/C;AACA;AACA,6BAA6B,uBAAuB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,qCAAqC,qBAAqB;AAC1D;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,+BAA+B,YAAY;AAC3C;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,+BAA+B,YAAY;AAC3C;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,+BAA+B,YAAY;AAC3C;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,8CAA8C,kCAAkC;AAChF;AACA;AACA,gBAAgB;AAChB;AACA,2CAA2C,+BAA+B;AAC1E;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,iCAAiC,gBAAgB;AACjD,kCAAkC,iBAAiB;AACnD,wCAAwC,mDAAmD;AAC3F;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,kDAAkD,+BAA+B;AACjF;AACA,SAAS,kEAAmB;AAC5B;AACA;AACA,2CAA2C;AAC3C,SAAS,sFAA0B;AACnC,MAAM;AACN;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA,oC;;;;;;;ACjOA;AAAA;AACA;AACA,IAAI,gBAAgB;AACpB;AACA;AACA;AACA;AACA;AACA,0EAA0E;AAC1E,2BAA2B;AAC3B,yDAAyD,iCAAiC;AAC1F;AACA,4EAA4E;AAC5E;AACA;AACA;AACA,IAAI,wBAAwB,yBAAyB,gBAAgB;AACrE;AACA,QAAQ,cAAc,sEAAsE;AAC5F,UAAU;AACV,IAAI,gBAAgB,IAAI,wBAAwB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,iEAAiE;AACjE;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,2DAA2D;AAC3D;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,6DAA6D;AAC7D;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,aAAa,EAAE;AACzC;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,aAAa,EAAE;AACzC;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,aAAa,EAAE;AACzC;AACA;AACA,KAAK;AACL;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,4EAA4E;AAC5E;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,yEAAyE;AACzE;AACA;AACA,gBAAgB;AAChB;AACA,sDAAsD;AACtD;AACA;AACA,gBAAgB;AAChB;AACA,mDAAmD;AACnD;AACA,CAAC;AACD,6C;;;;;;;;;;;;;;;;;;ACnGA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAC4B;AAC2C;AACjD;AACyC;AAC/D;AACsF;AAC9D;AACsB;AAC9C;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,oDAAoD,qCAAqC;AACzF;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,oDAAoD,qGAAqG,EAAE;AAC3J;AACA,2BAA2B,EAAE,+CAA+C,qIAAqI,EAAE;AACnN;AACA,SAAS;AACT;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA,qFAAqF,uDAAuD,EAAE;AAC9I;AACA,uFAAuF,kEAAkE,EAAE;AAC3J;AACA;AACA,2BAA2B,EAAE,uEAAuE,EAAE;AACtG;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,oCAAoC,oDAAoD,EAAE;AAC1F,uBAAuB,EAAE,kDAAkD,wDAAwD,EAAE,wCAAwC,yDAAyD,EAAE,6BAA6B,oDAAoD,EAAE,mCAAmC,0DAA0D,EAAE;AAC1Z,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE,0DAA0D,mEAAmE,EAAE;AACxJ,uBAAuB,EAAE,iEAAiE,+DAA+D,EAAE;AAC3J,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,qDAAqD,wEAAwE,EAAE;AAC/H;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA,uBAAuB,EAAE,6DAA6D,wFAAwF,EAAE;AAChL;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,+CAA+C,gEAAgE,EAAE;AACjH,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA,SAAS;AACT;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL,mBAAmB,EAAE;AACrB;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,oBAAoB,uGAAuG;AAC3H,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,sCAAsC,oCAAoC,EAAE;AAC5E;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,gEAAgE,qDAAqD,EAAE;AACvH,4DAA4D,sDAAsD,EAAE;AACpH;AACA,0EAA0E,uCAAuC,EAAE;AACnH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,mBAAmB,EAAE,0EAA0E,0CAA0C,EAAE;AAC3I,YAAY;AACZ;AACA,oC;;;;;;;;ACzeA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAC4C;AAC5C;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,wFAAwF,aAAa;AACrG;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,gFAAgF,2CAA2C;AAC3H;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,+EAA+E,0CAA0C;AACzH;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,+EAA+E,0CAA0C;AACzH;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,+EAA+E,0CAA0C;AACzH;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,kFAAkF,4CAA4C;AAC9H;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA,0D;;;;;;;;;;AC1HA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACwR;AAClQ;AACC;AACvB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB;AACA;AACA;AACA,8CAA8C,2BAA2B;AACzE,gDAAgD,6BAA6B;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,oGAAoG,EAAE;AAC1J,sDAAsD,oFAAoF,EAAE;AAC5I;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA,+BAA+B,EAAE;AACjC;AACA;AACA,8EAA8E,cAAc,EAAE;AAC9F;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA,+BAA+B,EAAE;AACjC;AACA;AACA,iBAAiB;AACjB;AACA,2BAA2B,EAAE;AAC7B;AACA,+BAA+B,EAAE;AACjC,+BAA+B,EAAE;AACjC,wCAAwC,qEAAqE,EAAE;AAC/G,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA,+BAA+B,EAAE;AACjC,+BAA+B,EAAE;AACjC,+BAA+B,EAAE;AACjC;AACA,mCAAmC,EAAE,2CAA2C,yCAAyC,EAAE;AAC3H,mCAAmC,EAAE;AACrC,mCAAmC,EAAE;AACrC;AACA;AACA,uCAAuC,EAAE;AACzC;AACA;AACA;AACA,uCAAuC,EAAE;AACzC;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA,+BAA+B,EAAE;AACjC;AACA;AACA,iBAAiB;AACjB;AACA,2BAA2B,EAAE;AAC7B;AACA,+BAA+B,EAAE;AACjC,+BAA+B,EAAE,+CAA+C,oCAAoC,EAAE;AACtH;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,+DAA+D,6DAA6D,EAAE;AAC9H;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,+DAA+D,kCAAkC,EAAE;AACnG;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,oBAAoB;AACpB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,wBAAwB;AACxB;AACA;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,EAAE;AACzC;AACA,2CAA2C,EAAE;AAC7C,2CAA2C,EAAE;AAC7C,4DAA4D,mDAAmD,EAAE;AACjH;AACA,wGAAwG,wBAAwB,EAAE;AAClI;AACA,2CAA2C,EAAE;AAC7C,gDAAgD,EAAE,UAAU,uBAAuB;AACnF;AACA;AACA,2CAA2C,EAAE;AAC7C,2CAA2C,EAAE;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA,iCAAiC,uFAAuF;AACxH;AACA;AACA,uBAAuB,EAAE;AACzB,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,EAAE;AACrC,yDAAyD,gBAAgB;AACzE;AACA;AACA;AACA,2CAA2C,EAAE;AAC7C;AACA,6EAA6E,2BAA2B;AACxG;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,EAAE;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,EAAE;AACzC,uCAAuC,EAAE;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,EAAE;AACzC;AACA;AACA,+CAA+C,EAAE;AACjD;AACA;AACA,+CAA+C,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,EAAE;AACjD;AACA;AACA;AACA,+CAA+C,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,EAAE;AACjD,+CAA+C,EAAE;AACjD;AACA;AACA;AACA;AACA,+CAA+C,EAAE;AACjD,+CAA+C,EAAE;AACjD,+CAA+C,EAAE;AACjD;AACA,mDAAmD,EAAE;AACrD;AACA;AACA,mDAAmD,EAAE;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,EAAE;AACjD,+CAA+C,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,EAAE;AACrD,mDAAmD,EAAE;AACrD;AACA,uDAAuD,EAAE,8CAA8C,mDAAmD,EAAE;AAC5J;AACA;AACA;AACA;AACA,uDAAuD,EAAE;AACzD;AACA;AACA;AACA;AACA;AACA,+CAA+C,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E,wBAAwB,EAAE;AACtG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,EAAE;AACjC,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,aAAa;AACb;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,oDAAoD,sDAAsD;AAC1G;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,sDAAsD;AACtD;AACA,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,2BAA2B,6BAA6B,EAAE;AACpF;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA,4C;;;;;;;;;;AC9xBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACuC;AAChB;AACvB;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B,gCAAgC,EAAE,UAAU,6BAA6B;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,+BAA+B,EAAE;AACjC;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,EAAE;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,EAAE;AACzC;AACA;AACA;AACA,uCAAuC,EAAE;AACzC;AACA,2CAA2C,EAAE;AAC7C,2CAA2C,EAAE;AAC7C;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mCAAmC,EAAE;AACrC;AACA,uCAAuC,EAAE;AACzC;AACA,2CAA2C,EAAE;AAC7C;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA,sDAAsD,gBAAgB;AACtE;AACA;AACA;AACA;AACA,2DAA2D,yEAAyE,EAAE;AACtI;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,wBAAwB;AACxB;AACA;AACA,+BAA+B,EAAE;AACjC;AACA,mCAAmC,EAAE;AACrC;AACA,mCAAmC,EAAE;AACrC;AACA;AACA;AACA;AACA,mCAAmC,EAAE;AACrC,mCAAmC,EAAE;AACrC;AACA;AACA;AACA,mCAAmC,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,EAAE;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,qBAAqB,sFAAsF;AAC3G;AACA;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,iHAAiH,yCAAyC;AAC1J;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,kD;;;;;;;;ACnWA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACgD;AAChD,eAAe,EAAE;AACjB;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,8EAA8E,qCAAqC,EAAE;AACrH;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,EAAE;AACjC,0DAA0D,iDAAiD,EAAE;AAC7G;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,4C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxFA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACkB;AAClB;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,iCAAiC,gBAAgB;AACjD;AACA;AACA;AACA,gBAAgB;AAChB;AACA,0CAA0C,cAAc;AACxD;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,iCAAiC,gBAAgB;AACjD;AACA;AACA;AACA,gBAAgB;AAChB;AACA,4CAA4C,gBAAgB;AAC5D;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,iCAAiC,gBAAgB;AACjD;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,iCAAiC,gBAAgB;AACjD;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,iCAAiC,gBAAgB;AACjD;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,iCAAiC,gBAAgB;AACjD;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,iCAAiC,gBAAgB;AACjD;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,iCAAiC,gBAAgB;AACjD;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,iCAAiC,gBAAgB;AACjD;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,iCAAiC,gBAAgB;AACjD;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,iCAAiC,gBAAgB;AACjD;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,iCAAiC,gBAAgB;AACjD;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,iCAAiC,gBAAgB;AACjD;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,iCAAiC,gBAAgB;AACjD;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,iCAAiC,gBAAgB;AACjD;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,iCAAiC,gBAAgB;AACjD;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,iCAAiC,gBAAgB;AACjD;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,iCAAiC,gBAAgB;AACjD;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,iCAAiC,gBAAgB;AACjD;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,iCAAiC,gBAAgB;AACjD;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,iCAAiC,gBAAgB;AACjD;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,iCAAiC,gBAAgB;AACjD;AACA;AACA;AACA,gBAAgB;AAChB;AACA,oDAAoD,6CAA6C;AACjG;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,wEAAwE,gDAAgD;AACxH;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,mFAAmF,aAAa;AAChG;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,6EAA6E,2CAA2C;AACxH;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,mFAAmF,aAAa;AAChG;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,qCAAqC,kCAAkC,EAAE;AACzE;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,wEAAwE,aAAa;AACrF;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,8EAA8E,YAAY;AAC1F;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,4BAA4B,EAAE,UAAU,iBAAiB;AACzD;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,+B;;;;;;;;;;;;AC5jCA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACwB;AACH;AACrB;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE,aAAa;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA,uNAAqH,iBAAiB;AACtI,SAAS;AACT;AACA;AACA,kFAAiC,oCAAoC;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,+CAA+C,wBAAwB;AACvE;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,oDAAoD,wDAAwD,EAAE;AAC9G;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE,6EAA4B;AACrD;AACA,0GAAyD,4GAA2D;AACpH,SAAS;AACT,mFAAkC;AAClC;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE,2FAA0C;AACnE,uBAAuB,EAAE;AACzB,uBAAuB,EAAE,iGAAgD,aAAa;AACtF;AACA;AACA;AACA;AACA,uBAAuB,EAAE,2FAA0C;AACnE;AACA,uBAAuB,EAAE,iGAAgD,aAAa;AACtF;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,gGAA+C,aAAa;AAC5D;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,gGAA+C,aAAa;AAC5D;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,qEAAqE,+BAA+B,EAAE;AACtG;AACA;AACA;AACA,CAAC;AACD;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,+BAA+B,EAAE;AACjC,6GAA4D;AAC5D;AACA;AACA;AACA,kDAAkD,0BAA0B,EAAE;AAC9E;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,0DAA0D;AAC1D;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,iEAAiE;AACjE;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,gEAAgE;AAChE;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,0BAA0B,EAAE;AAC3E;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,qEAAqE,aAAa;AAClF;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA,qDAAqD,2BAA2B,EAAE;AAClF;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA,qDAAqD,2BAA2B,EAAE;AAClF;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,8CAA8C,2BAA2B,EAAE;AAC3E;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,0EAA0E,8BAA8B;AACxG;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,6EAA6E,8BAA8B;AAC3G;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,+B;;;;;;;;;ACzUA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACyB;AACzB;AACA;AACA,eAAe,GAAG;AAClB;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA,yDAAyD,+CAA+C,EAAE;AAC1G;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,8CAA8C,EAAE;AACxG;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,mCAAmC,eAAe;AAClD,mCAAmC,eAAe;AAClD,mCAAmC,eAAe;AAClD,oCAAoC,eAAe;AACnD,mCAAmC,eAAe;AAClD,kCAAkC,eAAe;AACjD,oCAAoC,eAAe;AACnD,oCAAoC,eAAe;AACnD,iCAAiC,eAAe;AAChD,iCAAiC,eAAe;AAChD,qCAAqC,eAAe;AACpD,oCAAoC,eAAe;AACnD,kCAAkC,eAAe;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,oCAAoC,uCAAuC;AAC3E,oCAAoC,6DAA6D;AACjG,oCAAoC,oDAAoD;AACxF;AACA;AACA;AACA;AACA,KAAK;AACL,iCAAiC,uDAAuD;AACxF,iCAAiC,uDAAuD;AACxF,kCAAkC,8CAA8C;AAChF,kCAAkC,iCAAiC;AACnE,mCAAmC,kCAAkC;AACrE,iCAAiC,iDAAiD;AAClF,iCAAiC,iCAAiC;AAClE,iCAAiC,uDAAuD;AACxF,iCAAiC,oEAAoE;AACrG,iCAAiC,oEAAoE;AACrG,kCAAkC,8DAA8D;AAChG,iCAAiC,oEAAoE;AACrG,uCAAuC,uDAAuD;AAC9F,qCAAqC,iEAAiE;AACtG,kCAAkC,sBAAsB;AACxD,sCAAsC,sBAAsB;AAC5D,oCAAoC,sFAAuC;AAC3E,qCAAqC,sFAAuC;AAC5E,oCAAoC,gGAAiD;AACrF,uCAAuC,qHAAsE;AAC7G;AACA,eAAe,EAAE;AACjB;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA,qC;;;;;;;;;;;;;;ACzIA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAC6B;AAC7B;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,wFAAwF;AACxF;AACA,CAAC;AACD;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,4CAA4C,EAAE;AACxE;AACA;AACA,KAAK;AACL;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,wEAAwE,mDAAmD;AAC3H;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,kCAAkC,eAAe;AACjD;AACA;AACA;AACA,gBAAgB;AAChB;AACA,+DAA+D,6CAA6C;AAC5G;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,iCAAiC,iBAAiB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,kEAAkE,2BAA2B;AAC7F;AACA,gBAAgB;AAChB;AACA,4DAA4D,4BAA4B;AACxF;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,8EAA8E;AAC9E;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,mFAAmF;AACnF;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,sBAAsB;AACtB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,OAAO;AACrC;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,+EAA+E;AAC/E;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uCAAuC,2BAA2B,EAAE;AACpE;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,iFAAiF;AACjF;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,+EAA+E;AAC/E;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,8EAA8E;AAC9E;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,8EAA8E;AAC9E;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,0FAA0F;AAC1F;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,oBAAoB;AACpB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,oBAAoB;AACpB;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA,iCAAiC,iBAAiB;AAClD,8CAA8C,yCAAyC,EAAE;AACzF;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,iCAAiC,iBAAiB;AAClD,4BAA4B,EAAE,UAAU,wBAAwB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,4CAA4C,wCAAwC,EAAE;AACtF;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA,iCAAiC,oBAAoB;AACrD;AACA;AACA;AACA,mBAAmB,EAAE;AACrB;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,mBAAmB,EAAE;AACrB;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,wBAAwB,EAAE,UAAU,WAAW;AAC/C;AACA;AACA;AACA;AACA,4C;;;;;;;;AChrBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,4EAA4E,6BAA6B,EAAE;AAC3G,6EAA6E,8BAA8B,EAAE;AAC7G,6EAA6E,8BAA8B,EAAE;AAC7G,+EAA+E,gCAAgC,EAAE;AACjH;AACA;AACA;AACA,yC;;;;;;;;;;;;ACjCA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AAC8C;AACjB;AAC6D;AAC1F;AACA,eAAe,EAAE;AACjB;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,mIAAmI;AACnI,SAAS;AACT;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,qCAAqC,qBAAqB;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA,8CAA8C,2CAA2C,EAAE;AAC3F;AACA;AACA;AACA,gDAAgD,6CAA6C,EAAE;AAC/F,gDAAgD,6CAA6C,EAAE;AAC/F;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA,sBAAsB,kGAAuC;AAC7D;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,mCAAmC,EAAE;AACvF;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,oBAAoB;AACpB;AACA,oBAAoB;AACpB;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,mCAAmC,EAAE;AACvF;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,sC;;;;;;;ACpdA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,mDAAmD,aAAa;AAChE;AACA,CAAC;AACD,2C;;;;;;;;ACdA;AAAA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AAC6B;AAC7B;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,qEAAqE,aAAa;AAClF;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,kEAAkE,WAAW;AAC7E;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,4C;;;;;;;;AC9BA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,KAAK;AACpB,gBAAgB;AAChB;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,kDAAkD,6BAA6B;AAC/E;AACA,gBAAgB;AAChB;AACA,mDAAmD,0CAA0C;AAC7F;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,0C;;;;;;;;;ACtIA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,gC;;;;;;;;;AClEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAC4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,sDAAsD;AACtD;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,uDAAuD;AACvD;AACA;AACA,gBAAgB;AAChB;AACA,kDAAkD;AAClD;AACA;AACA,gBAAgB;AAChB;AACA,wDAAwD;AACxD;AACA;AACA,gBAAgB;AAChB;AACA,kDAAkD;AAClD;AACA;AACA,gBAAgB;AAChB;AACA,mDAAmD;AACnD;AACA;AACA,gBAAgB;AAChB;AACA,qDAAqD;AACrD;AACA;AACA,gBAAgB;AAChB;AACA,oDAAoD;AACpD;AACA;AACA,gBAAgB;AAChB;AACA,qDAAqD;AACrD;AACA;AACA,gBAAgB;AAChB;AACA,mDAAmD;AACnD;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,0DAA0D;AAC1D;AACA;AACA,gBAAgB;AAChB;AACA,yDAAyD;AACzD;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,gDAAgD,EAAE;AAC5E;AACA,mBAAmB,EAAE;AACrB,oBAAoB;AACpB;AACA,gCAAgC,gDAAgD,EAAE;AAClF;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oHAAuC,0BAA0B,EAAE;AACnE;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,+CAA+C,aAAa,EAAE;AAC9D;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,2DAA2D,2BAA2B;AACtF;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,0DAA0D,0BAA0B;AACpF;AACA,gBAAgB;AAChB;AACA,4DAA4D,sBAAsB;AAClF;AACA,gBAAgB;AAChB;AACA,sDAAsD;AACtD;AACA,gBAAgB;AAChB;AACA;AACA;AACA,oDAAoD,aAAa,EAAE;AACnE;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,uDAAuD;AACvD;AACA,gBAAgB;AAChB;AACA,yDAAyD;AACzD;AACA,gBAAgB;AAChB;AACA,wDAAwD,kBAAkB;AAC1E;AACA,gBAAgB;AAChB;AACA,yDAAyD;AACzD;AACA,gBAAgB;AAChB;AACA,uDAAuD;AACvD;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,8DAA8D;AAC9D;AACA,gBAAgB;AAChB;AACA,6DAA6D,UAAU;AACvE;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,4C;;;;;;;;;;ACnLA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACoB;AACgC;AACpD;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA,+CAA+C,uBAAuB;AACtE;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,qBAAqB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA,6EAA6E,oBAAoB,EAAE;AACnG;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,mBAAmB,EAAE;AAC/C;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,0BAA0B,EAAE;AACtD;AACA;AACA,KAAK;AACL;AACA,SAAS,gEAAmB;AAC5B;AACA;AACA,wDAAwD;AACxD,SAAS,4BAA4B,sFAAyC,GAAG,8DAAiB,IAAI;AACtG,MAAM;AACN;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,4C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9EA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACuB;AACD;AACF;AACA;AACY;AACuB;AACrC;AACwD;AAChD;AACC;AACQ;AACA;AACQ;AAC1B;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB;AACA,uCAAuC,eAAe,EAAE;AACxD;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA,+BAA+B,gBAAgB;AAC/C,mBAAmB,EAAE;AACrB;AACA,wCAAwC,qBAAqB;AAC7D;AACA;AACA,+EAA+E,kCAAkC;AACjH;AACA;AACA,yJAA4G,kCAAkC;AAC9I;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,iBAAiB;AACtE,0BAA0B,sBAAsB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,eAAe,kBAAkB;AACjC,eAAe,gBAAgB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,6EAA6E;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,oFAAoF;AACpF;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,2DAA2D;AAC3D;AACA,8BAA8B,gBAAgB;AAC9C;AACA;AACA,gBAAgB;AAChB;AACA,kDAAkD;AAClD;AACA;AACA;AACA,gBAAgB;AAChB;AACA,iDAAiD;AACjD;AACA;AACA,gBAAgB;AAChB;AACA,mDAAmD;AACnD;AACA,CAAC;AACD;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,4DAA4D,uCAAuC;AACnG;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,uBAAuB,EAAE;AACnD;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,wBAAwB,EAAE;AACpD;AACA;AACA,KAAK;AACL;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,yDAAyD,yBAAyB,EAAE;AACpF,4DAA4D,mBAAmB,EAAE;AACjF;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yFAAiC,oCAAoC;AACrE;AACA;AACA;AACA,2BAA2B,EAAE,wGAA2D,4FAAoC;AAC5H,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA,6CAA6C,sHAAsD,EAAE;AACrG,sCAAsC,yBAAyB,qCAAqC,EAAE,EAAE;AACxG;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,yCAAyC,sBAAsB;AAC/D;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA,yCAAyC,sBAAsB;AAC/D,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,4CAA4C,qEAAqE,EAAE;AACnH;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,yEAAyE,sCAAsC,EAAE;AACjH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,gEAAmB;AAC5B;AACA;AACA,+CAA+C;AAC/C,SAAS,+DAAkB;AAC3B,MAAM;AACN;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,mEAAmE,iBAAiB;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,sEAAsE;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,2DAA2D;AAC3D;AACA;AACA;AACA,gBAAgB;AAChB;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,2DAA2D;AAC3D;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,2DAA2D;AAC3D;AACA;AACA;AACA,gBAAgB;AAChB;AACA,sDAAsD;AACtD;AACA,CAAC;AACD;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,oBAAoB,8BAA8B,cAAc,EAAE,EAAE,EAAE,EAAE;AACvH;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uCAAuC,iCAAiC,EAAE;AAC1E,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,+CAA+C,+BAA+B,EAAE;AAChF;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,iDAAiD,iCAAiC,EAAE;AACpF;AACA,qDAAqD,kCAAkC,EAAE;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,qDAAqD,uBAAuB,EAAE;AAC9E;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,2BAA2B,EAAE;AACvD;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,iCAAiC,EAAE;AAC7D;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,6BAA6B,EAAE;AACzD;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS,gEAAmB;AAC5B;AACA;AACA,kDAAkD;AAClD,SAAS,wEAAgB;AACzB,SAAS,mEAAiB;AAC1B,SAAS,+DAAkB;AAC3B,SAAS,kFAAsB;AAC/B,SAAS,+GAAkC;AAC3C,SAAS,0FAA+B;AACxC,SAAS,6GAA0C,8DAAiB,IAAI;AACxE,SAAS,qGAAkC,8DAAiB,IAAI;AAChE,MAAM;AACN;AACA,CAAC;AACD;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,2C;;;;;;;;;;;ACrtBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAC8C;AACD;AAC7C;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,sEAAsE,mHAAgC;AACtG;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,eAAe,EAAE,8CAA8C,aAAa;AAC5E;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,yBAAyB,EAAE;AACrD;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,qBAAqB,EAAE;AACjD;AACA;AACA,KAAK;AACL;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,mCAAmC,iBAAiB;AACpD;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,EAAE;AACrC,mCAAmC,EAAE;AACrC;AACA,4CAA4C,EAAE,UAAU,4BAA4B;AACpF,2CAA2C,EAAE;AAC7C,2CAA2C,EAAE;AAC7C;AACA;AACA;AACA;AACA,uCAAuC,EAAE;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,2CAA2C,iBAAiB;AAC5D;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,0CAA0C,iBAAiB;AAC3D;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,sCAAsC,iBAAiB;AACvD;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,yCAAyC,iBAAiB;AAC1D;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,gDAAgD,iBAAiB;AACjE;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,6DAA6D;AAC7D;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA,gCAAgC,EAAE,gBAAgB,wBAAwB;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B,8DAA8D,iBAAiB;AAC/E;AACA;AACA,8CAA8C,iBAAiB;AAC/D;AACA;AACA;AACA,0CAA0C,iBAAiB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,8BAA8B;AAC5D;AACA,oCAAoC,8BAA8B;AAClE;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,8DAA8D,0BAA0B,EAAE;AAC1F,uBAAuB,EAAE;AACzB,sEAAsE,8BAA8B,EAAE;AACtG,uBAAuB,EAAE;AACzB,mEAAmE,+BAA+B,EAAE;AACpG,uBAAuB,EAAE;AACzB,mEAAmE,2BAA2B,EAAE;AAChG,uBAAuB,EAAE;AACzB,qEAAqE,8BAA8B,EAAE;AACrG,uBAAuB,EAAE;AACzB,wEAAwE,qCAAqC,EAAE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,iCAAiC,iBAAiB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,8BAA8B;AACjD;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,uDAAuD,gBAAgB;AACvE;AACA;AACA;AACA,WAAW;AACX,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,oCAAoC,mBAAmB;AACvD,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,kBAAkB,8BAA8B;AAChD;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,4BAA4B,EAAE;AACxD;AACA;AACA,KAAK;AACL;AACA,gBAAgB;AAChB;AACA,iDAAiD,kBAAkB;AACnE;AACA,gBAAgB;AAChB;AACA,oDAAoD,kIAAqD;AACzG;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA,mD;;;;;;;;;ACl9BA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACqB;AACC;AACtB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,gDAAgD,6FAAgB;AAChE;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,iDAAiD,4FAAe;AAChE;AACA,SAAS,gEAAmB;AAC5B;AACA;AACA,0CAA0C,WAAW;AACrD;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,mC;;;;;;;;;ACtCA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,6CAA6C,uGAA0B;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,SAAS;AACT;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uC;;;;;;;;AClDA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACqB;AACrB;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,kDAAkD,8BAA8B;AAChF;AACA,SAAS,sEAAmB;AAC5B;AACA;AACA,8CAA8C;AAC9C;AACA,MAAM;AACN;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA,wC;;;;;;;;;;ACvCA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACoB;AACQ;AAC5B;AACA,uDAAuD,0BAA0B;AACjF;AACA;AACA;AACA;AACA;AACA,gCAAgC,0BAA0B;AAC1D;AACA;AACA;AACA,0CAA0C,0BAA0B;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,2GAA8B,EAAE;AAC1D;AACA;AACA,KAAK;AACL;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,EAAE;AACtB;AACA,0BAA0B,wCAAwC,EAAE;AACpE;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,2BAA2B,EAAE;AACvD;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA,eAAe,EAAE;AACjB,0C;;;;;;;;;;;;;;;;;;AC3GA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACoB;AACL;AACa;AACe;AACsD;AACzE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,kCAAkC,EAAE;AAC9D;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,mFAAmF;AACnF,YAAY;AACZ;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,8CAA8C,sBAAsB;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,0BAA0B;AAC3D;AACA;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB,OAAO,wBAAwB;AAChE;AACA,IAAI,gBAAgB,uBAAuB,wBAAwB,GAAG,gBAAgB;AACtF;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,wBAAwB,EAAE,UAAU,sBAAsB;AAC1D,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,oCAAoC,EAAE,UAAU,uCAAuC;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA,sBAAsB,0BAA0B;AAChD;AACA;AACA,gCAAgC,EAAE;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE,8CAA8C,YAAY,EAAE;AACrF,8CAA8C,+CAA+C,EAAE;AAC/F;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA,kCAAkC,kBAAkB,EAAE;AACtD;AACA;AACA,oCAAoC,6CAA6C,EAAE;AACnF;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,wBAAwB,EAAE,UAAU,qBAAqB;AACzD,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA,+C;;;;;;;;;;;;;ACjSA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACkB;AACG;AACH;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB;AACA;AACA,iCAAiC,iBAAiB;AAClD;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,oDAAoD,yCAAyC;AAC7F;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE,8BAA8B,aAAa;AACpE,uBAAuB,EAAE,8BAA8B,aAAa;AACpE;AACA;AACA,wCAAwC,oCAAoC,EAAE;AAC9E,aAAa,qBAAqB,6BAA6B;AAC/D;AACA,2DAA2D,yBAAyB,mCAAmC,EAAE,EAAE,EAAE;AAC7H,oCAAoC,4BAA4B;AAChE;AACA;AACA,2DAA2D,yBAAyB,mCAAmC,EAAE,EAAE,EAAE;AAC7H,iCAAiC,4BAA4B;AAC7D;AACA;AACA;AACA,6DAA6D,yBAAyB,+BAA+B,EAAE,EAAE,EAAE;AAC3H,kCAAkC,wBAAwB;AAC1D;AACA;AACA,qDAAqD,yBAAyB,mBAAmB,EAAE,EAAE,EAAE,mBAAmB,YAAY;AACtI;AACA;AACA;AACA,kDAAkD,yBAAyB,mBAAmB,EAAE,EAAE,EAAE,gBAAgB,YAAY;AAChI;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA,iC;;;;;;;;;;;AC1HA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACqB;AACD;AACpB;AACA,wDAAwD,wBAAwB;AAChF;AACA;AACA,gFAAgF;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,mDAAmD;AACnD;AACA;AACA;AACA,gBAAgB;AAChB;AACA,mDAAmD;AACnD;AACA;AACA;AACA,gBAAgB;AAChB;AACA,mDAAmD;AACnD;AACA,YAAY,eAAe;AAC3B;AACA,gBAAgB;AAChB;AACA,mDAAmD;AACnD;AACA,YAAY,yBAAyB;AACrC;AACA,gBAAgB;AAChB;AACA,4DAA4D;AAC5D;AACA;AACA;AACA,gBAAgB;AAChB;AACA,wDAAwD;AACxD;AACA;AACA;AACA,gBAAgB;AAChB;AACA,kDAAkD;AAClD;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,4DAA4D;AAC5D;AACA,CAAC;AACD;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,kGAA4C,EAAE;AACxE;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,+CAA+C,EAAE;AAC3E;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,wBAAwB,EAAE;AACpD;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,6BAA6B,EAAE;AACzD;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,6BAA6B,EAAE;AACzD;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,sCAAsC,EAAE;AAClE;AACA;AACA,KAAK;AACL;AACA,gBAAgB;AAChB;AACA,mDAAmD,qCAAqC;AACxF;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,6DAA6D,mCAAmC;AAChG;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,4BAA4B,EAAE;AACxD;AACA;AACA,KAAK;AACL;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,0CAA0C,yBAAyB;AACnE,4CAA4C,2BAA2B;AACvE,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,6C;;;;;;;;;;ACrNA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACiC;AACb;AACA;AACpB;AACA,QAAQ,gBAAgB;AACxB;AACA;AACA,eAAsB,EAAE;AACxB,sC;;;;;;;ACfA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,kEAAkE;AAClE;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,mEAAmE;AACnE;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,oEAAoE;AACpE;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,iEAAiE;AACjE;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,uFAAuF;AACvF;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,yEAAyE;AACzE;AACA,CAAC;AACD,4C;;;;;;;;;;ACjDA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,sDAAsD;AACtD;AACA;AACA,gBAAgB;AAChB;AACA,uDAAuD;AACvD;AACA;AACA,gBAAgB;AAChB;AACA,4DAA4D;AAC5D;AACA;AACA,gBAAgB;AAChB;AACA,wDAAwD;AACxD;AACA;AACA,gBAAgB;AAChB;AACA,qDAAqD;AACrD;AACA;AACA,gBAAgB;AAChB;AACA,oDAAoD;AACpD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,iFAAiF;AACjF;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,kFAAkF;AAClF;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,gEAAgE;AAChE;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,mFAAmF;AACnF;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,gFAAgF;AAChF;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,uEAAuE;AACvE;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,yEAAyE;AACzE;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,8DAA8D;AAC9D;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,2EAA2E;AAC3E;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,0EAA0E;AAC1E;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,yEAAyE;AACzE;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,mGAAmG;AACnG;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,sGAAsG;AACtG;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,oGAAoG;AACpG;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,qFAAqF;AACrF;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,0FAA0F;AAC1F;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,yFAAyF;AACzF;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,8DAA8D;AAC9D;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,0HAA0H;AAC1H;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,8BAA8B,2BAA2B,KAAK;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,uEAAuE;AACvE;AACA,CAAC;AACD,+B;;;;;;;;;;;;ACnQA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACqB;AACO;AACX;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,gEAAgE,2BAA2B;AAC3F;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,gEAAmB;AAC5B;AACA;AACA,8CAA8C;AAC9C,SAAS,uEAAgB;AACzB,MAAM;AACN;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,yBAAyB,mBAAmB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,oEAAoE,qCAAqC;AACzG;AACA,gBAAgB;AAChB;AACA,qEAAqE,gDAAgD;AACrH;AACA,gBAAgB;AAChB;AACA,oEAAoE,8CAA8C;AAClH;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,yCAAyC,wBAAwB;AACjE;AACA;AACA;AACA,SAAS,gEAAmB;AAC5B;AACA;AACA,sDAAsD,WAAW;AACjE;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,qEAAqE;AACrE;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,YAAY,sBAAsB;AAClC;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,uC;;;;;;;;AChRA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA,gC;;;;;;;;;;ACzBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAC2C;AAC3C;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA,gC;;;;;;;AC1BA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,kCAAkC,EAAE;AAC9D;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,iDAAiD,EAAE;AAC7E;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,iDAAiD,EAAE;AAC7E;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,mDAAmD,EAAE;AAC/E;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,mDAAmD,EAAE;AAC/E;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,kDAAkD,EAAE;AAC9E;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,oDAAoD,EAAE;AAChF;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,iDAAiD,EAAE;AAC7E;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,mDAAmD,EAAE;AAC/E;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,qDAAqD,EAAE;AACjF;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,oDAAoD,EAAE;AAChF;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,mDAAmD,EAAE;AAC/E;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,yDAAyD,EAAE;AACrF;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,wDAAwD,EAAE;AACpF;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,aAAa,EAAE;AACzC;AACA;AACA,KAAK;AACL;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,+BAA+B,mBAAmB;AAClD;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,8BAA8B,aAAa;AAC3C;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,8BAA8B,aAAa;AAC3C;AACA;AACA;AACA,CAAC;AACD,sD;;;;;;;;;;;;;ACvKA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AAC0B;AACC;AACP;AACpB;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,8DAA8D,EAAE;AAC1F;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,4DAA4D,EAAE;AACxF;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,6DAA6D,EAAE;AACzF;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,0DAA0D,EAAE;AACtF;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,0DAA0D,EAAE;AACtF;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,4DAA4D,EAAE;AACxF;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,4DAA4D,EAAE;AACxF;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA,eAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS,yEAA0B,mFAAmF,IAAI;AAC1H;AACA;AACA,kDAAkD;AAClD,SAAS,qFAAgC,4DAAa,IAAI;AAC1D,MAAM;AACN;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,iBAAiB,IAAI;AACrB;AACA;AACA,uDAAuD;AACvD,SAAS,mGAAuC,4DAAa,IAAI;AACjE,MAAM;AACN;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,6C;;;;;;;;;;;;;;;;;;;;AChKA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AAC6E;AACtD;AACD;AACuB;AACR;AACV;AACC;AACR;AACH;AACM;AACgG;AACxF;AAC/B,eAAsB,EAAE;AACxB;AACA,+GAAyC,gBAAgB,EAAE;AAC3D;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA,2BAA2B,mBAAmB;AAC9C;AACA;AACA,QAAQ,mBAAmB;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,eAAe;AAC5D;AACA;AACA;AACA;AACA;AACA,4DAA4D,mBAAmB;AAC/E;AACA;AACA;AACA;AACA,kDAAkD,gCAAgC;AAClF;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,qBAAqB;AACrB,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,iDAAiD,8DAA8D;AAC/G;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,sBAAsB,EAAE;AAClD;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,yDAAyD,EAAE;AACrF;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,wHAA+C,EAAE;AAC3E;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,8CAA8C,mBAAmB;AACjE;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,0CAA0C,gCAAgC,+BAA+B,EAAE,EAAE;AAC7G;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,iBAAiB,IAAI;AACrB;AACA;AACA,0CAA0C;AAC1C,SAAS,mGAAuC,gEAAiB,GAAG,4DAAa,IAAI;AACrF,SAAS,4BAA4B,gEAAiB,GAAG,4DAAa,GAAG,2IAAuC,IAAI;AACpH,SAAS,4BAA4B,gEAAiB,GAAG,4DAAa,GAAG,iJAA6C,IAAI;AAC1H,SAAS,4BAA4B,gEAAiB,GAAG,4DAAa,GAAG,2JAA2C,IAAI;AACxH,MAAM;AACN;AACA,kBAAkB,6DAAc;AAChC,wBAAwB,kFAAmC;AAC3D,mBAAmB,iFAAkC;AACrD,qBAAqB,wFAAyC;AAC9D,oBAAoB,wFAAyC;AAC7D;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,oC;;;;;;;;;;ACzUA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACsD;AAC1B;AAC5B,eAAsB,EAAE;AACxB;AACA,+GAAyC,4BAA4B,EAAE;AACvE;AACA;AACA;AACA;AACA,IAAI,eAAe,GAAG,4BAA4B,OAAO,uBAAuB;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,sCAAsC;AACtC,sCAAsC;AACtC;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,0CAA0C,4CAA4C;AACtF;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,qEAAqE,qBAAqB;AAC1F;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,iBAAiB,IAAI;AACrB;AACA;AACA,sDAAsD;AACtD,SAAS,iEAAkB;AAC3B,SAAS,mEAAoB;AAC7B,MAAM;AACN;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,iD;;;;;;;;;;ACjGA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACsD;AAC1B;AAC5B,eAAsB,EAAE;AACxB;AACA,+GAAyC,2BAA2B,EAAE;AACtE;AACA;AACA;AACA;AACA,IAAI,eAAe,GAAG,4BAA4B,OAAO,uBAAuB;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,sCAAsC;AACtC,sCAAsC;AACtC;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,0CAA0C,4CAA4C;AACtF;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,oEAAoE,qBAAqB;AACzF;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,iBAAiB,IAAI;AACrB;AACA;AACA,qDAAqD;AACrD,SAAS,iEAAkB;AAC3B,SAAS,mEAAoB;AAC7B,MAAM;AACN;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,gD;;;;;;;;;;;;;;;AC/FA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACuE;AAChD;AACsB;AACjB;AACR;AACK;AACiF;AAC1G,eAAsB,EAAE;AACxB;AACA,+GAAyC,6BAA6B,EAAE;AACxE;AACA;AACA,oCAAoC,mBAAmB;AACvD;AACA,0EAA0E;AAC1E;AACA;AACA,IAAI,mBAAmB;AACvB;AACA;AACA;AACA,4DAA4D,mBAAmB;AAC/E,oBAAoB,mBAAmB;AACvC,IAAI,4BAA4B;AAChC;AACA,2EAA2E,uBAAuB;AAClG,kCAAkC,mBAAmB;AACrD,IAAI,iBAAiB,qCAAqC,0BAA0B;AACpF;AACA;AACA;AACA,IAAI,mBAAmB;AACvB,IAAI,uBAAuB;AAC3B;AACA,+EAA+E,mBAAmB;AAClG,mDAAmD,gCAAgC;AACnF,IAAI,kCAAkC;AACtC;AACA;AACA,qBAAqB,oCAAoC;AACzD,IAAI,qCAAqC;AACzC;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,oBAAoB;AACpB;AACA,oCAAoC,gGAAsC,EAAE;AAC5E;AACA;AACA,KAAK;AACL;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,mBAAmB;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,WAAW,EAAE;AACvC;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,uHAA+C,EAAE;AAC3E;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,kBAAkB,EAAE;AAC9C;AACA;AACA,KAAK;AACL;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,SAAS,yEAA0B,iFAAiF,IAAI;AACxH;AACA;AACA,uDAAuD;AACvD,SAAS,4BAA4B,gEAAiB,GAAG,4DAAa,GAAG,2IAAuC,IAAI;AACpH,SAAS,4BAA4B,gEAAiB,GAAG,4DAAa,GAAG,iJAA6C,IAAI;AAC1H,SAAS,4BAA4B,gEAAiB,GAAG,4DAAa,GAAG,2JAA2C,IAAI;AACxH,MAAM;AACN;AACA,kBAAkB,qFAAsC;AACxD,mBAAmB,iFAAkC;AACrD,oBAAoB,wFAAyC;AAC7D,wBAAwB,kFAAmC;AAC3D;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,kD;;;;;;;;;;;;;;;;;;;AC9LA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACuF;AAChE;AACsB;AACR;AACV;AACC;AACR;AACK;AACgF;AAC5E;AACU;AACvC,eAAsB,EAAE;AACxB;AACA,+GAAyC,wBAAwB,EAAE;AACnE;AACA;AACA,yBAAyB,mBAAmB,iBAAiB,iBAAiB;AAC9E;AACA;AACA,0EAA0E;AAC1E;AACA;AACA,IAAI,mBAAmB;AACvB;AACA;AACA;AACA,wDAAwD,0BAA0B;AAClF;AACA;AACA,sCAAsC,mBAAmB;AACzD,8BAA8B,mBAAmB;AACjD,YAAY,iBAAiB,KAAK,iBAAiB;AACnD;AACA,+CAA+C,mBAAmB;AAClE,gCAAgC,2BAA2B;AAC3D,+BAA+B;AAC/B;AACA,8EAA8E,mBAAmB;AACjG,+CAA+C,uBAAuB;AACtE;AACA;AACA,KAAK,mBAAmB;AACxB,KAAK,gCAAgC,KAAK,kCAAkC;AAC5E;AACA;AACA,qBAAqB,oCAAoC;AACzD,IAAI,qCAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,qBAAqB;AACrB,eAAe;AACf;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,oBAAoB;AACpB;AACA,oCAAoC,gGAAsC,EAAE;AAC5E;AACA;AACA,KAAK;AACL;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,qHAA6C,EAAE;AACzE;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,yDAAyD,EAAE;AACrF;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,uHAA+C,EAAE;AAC3E;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,sBAAsB,EAAE;AAClD;AACA;AACA,KAAK;AACL;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,yEAA0B,iEAAiE,IAAI;AACxG;AACA;AACA,kDAAkD;AAClD,SAAS,mGAAuC,gEAAiB,GAAG,4DAAa,GAAG,gEAAiB,IAAI;AACzG,SAAS,4BAA4B,gEAAiB,GAAG,4DAAa,GAAG,2IAAuC,IAAI;AACpH,SAAS,4BAA4B,gEAAiB,GAAG,4DAAa,GAAG,iJAA6C,IAAI;AAC1H,SAAS,4BAA4B,gEAAiB,GAAG,4DAAa,GAAG,2JAA2C,IAAI;AACxH,MAAM;AACN;AACA,kBAAkB,yFAA0C;AAC5D,mBAAmB,iFAAkC;AACrD,oBAAoB,wFAAyC;AAC7D,wBAAwB,kFAAmC;AAC3D;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,6C;;;;;;;;ACrPA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,8CAA8C,iCAAiC;AAC/E;AACA,SAAS,kEAAmB;AAC5B;AACA;AACA,6CAA6C,WAAW;AACxD;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,uC;;;;;;;;;;;;;ACtCA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACqB;AACG;AACN;AACY;AACJ;AAC1B;AACA;AACA,IAAI,eAAe;AACnB;AACA;AACA;AACA;AACA,yEAAyE;AACzE;AACA;AACA;AACA;AACA;AACA,WAAW,uCAAuC;AAClD;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,yDAAyD;AACzD,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,uCAAuC;AACtD;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,QAAQ;AACR,6DAA6D;AAC7D,gDAAgD;AAChD,wCAAwC;AACxC;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,CAAC;AACD;AACA;AACA,4CAA4C,eAAe;AAC3D,8CAA8C,qBAAqB;AACnE,cAAc;AACd;AACA;AACA;AACA,QAAQ,eAAe,sBAAsB,eAAe;AAC5D,cAAc;AACd;AACA;AACA;AACA,wCAAwC,eAAe;AACvD,cAAc;AACd;AACA;AACA;AACA,oCAAoC,eAAe;AACnD,cAAc;AACd;AACA;AACA;AACA,8CAA8C,eAAe;AAC7D,cAAc;AACd;AACA;AACA;AACA,qCAAqC,eAAe;AACpD,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,gBAAgB,sBAAsB;AACtC;AACA;AACA,eAAe;AACf,sBAAsB,eAAe;AACrC;AACA,kDAAkD,sBAAsB;AACxE,wBAAwB,gBAAgB;AACxC,YAAY,YAAY,qBAAqB,wBAAwB;AACrE;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,UAAU;AACrB,WAAW,yDAAyD;AACpE,WAAW,IAAI;AACf;AACA;AACA;AACA;AACA;AACA,oCAAoC,6CAA6C;AACjF;AACA;AACA,gEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA,WAAW,2CAA2C;AACtD;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,yDAAyD;AACzD,4CAA4C;AAC5C,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,sJAAoD;AAC/E;AACA;AACA,SAAS,kEAAmB;AAC5B;AACA;AACA,qDAAqD,WAAW;AAChE;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,gD;;;;;;;;AC7MA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,2C;;;;;;;;;ACjHA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAC8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,yCAAyC,sBAAsB;AAC/D;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,iIAAiI;AACjI;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA,4C;;;;;;;;;;;;;;;ACxDA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC2B;AACI;AACd;AACS;AAC1B,eAAe,EAAE;AACjB;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA,cAAc,oBAAoB;AAClC;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,6CAA6C,uCAAuC,EAAE,IAAI;AAC1F;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,oC;;;;;;;;;;;;;;;;;;;;;;;;;;ACxFA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACwD;AACzB;AACD;AACJ;AACP;AACI;AACO;AAC9B,eAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA,eAAe,EAAE,iDAAiD;AAClE,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS,kEAAmB;AAC5B;AACA;AACA,mDAAmD;AACnD,SAAS,gCAAgC,sIAAkC,IAAI;AAC/E,SAAS,qFAAsB;AAC/B,SAAS,0FAA6B;AACtC,SAAS,oFAAyB;AAClC,SAAS,gCAAgC,8HAAgC,IAAI;AAC7E,MAAM;AACN;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,0CAA0C,0BAA0B,EAAE;AACtE;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,4CAA4C,gDAAgD,EAAE;AAC9F;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,kCAAkC,yBAAyB,EAAE;AAC7D;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,oCAAoC,0BAA0B;AAC9D;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,gCAAgC,EAAE,UAAU,yBAAyB;AACrE,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,4EAA4E,4CAA4C;AACxH;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,4BAA4B,EAAE,UAAU,0BAA0B;AAClE,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,iEAAiE,6BAA6B;AAC9F;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,yCAAyC,sBAAsB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA,uBAAuB,EAAE;AACzB;AACA,gCAAgC,EAAE,UAAU,kBAAkB;AAC9D;AACA;AACA;AACA;AACA,gCAAgC,EAAE,UAAU,kBAAkB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,wBAAwB,EAAE,UAAU,kBAAkB;AACtD;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,wBAAwB,EAAE,UAAU,mBAAmB;AACvD,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA,wC;;;;;;;;;;;ACriBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AAC0C;AACb;AAC7B,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,0BAA0B;AACpE;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,6BAA6B,eAAe;AAC5C,8BAA8B,eAAe;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,kEAAmB;AAC5B;AACA;AACA,sDAAsD,WAAW;AACjE;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B,6CAA6C,mBAAmB,EAAE;AAClE;AACA;AACA,gCAAgC,oCAAoC;AACpE,SAAS;AACT;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,yEAAyE,oDAAoD;AAC7H;AACA,SAAS,kEAAmB;AAC5B;AACA;AACA,uDAAuD;AACvD,SAAS,0CAA0C,8FAA+C,IAAI;AACtG,MAAM;AACN;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA,2C;;;;;;;;;;;ACtKA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AAC6B;AACZ;AACE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,qEAAqE;AACrE;AACA,gBAAgB;AAChB;AACA,2DAA2D,oCAAoC;AAC/F;AACA,SAAS,kEAAmB;AAC5B;AACA;AACA,mDAAmD,WAAW;AAC9D;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA,SAAS;AACT;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,oEAAoE,kCAAkC;AACtG;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,qDAAqD,oDAAoD,EAAE;AAC3G;AACA;AACA,gBAAgB;AAChB;AACA,6DAA6D,gDAAgD,gHAAmC,EAAE,EAAE;AACpJ;AACA,SAAS,kEAAmB;AAC5B;AACA;AACA,sDAAsD;AACtD,SAAS,gCAAgC,sIAAkC,IAAI;AAC/E,MAAM;AACN;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,8C;;;;;;;;;;;;;;;;;;;;;AC3IA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACgC;AAChC,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,+C;;;;;;;;;;ACtBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACoB;AACH;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;AACA,gBAAgB;AAChB;AACA,wBAAwB;AACxB;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE,qIAAqI;AACtJ;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,oDAAoD,mCAAmC,EAAE;AACzF;AACA,yC;;;;;;;;;;;;AC7DA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAC2B;AAC2B;AACtB;AACP;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK,yCAAyC;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,cAAc;AACpE,+DAA+D;AAC/D;AACA,wFAAwF;AACxF,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,YAAY;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,2BAA2B;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,SAAS,yEAA0B,kCAAkC,IAAI;AACzE;AACA;AACA;AACA,SAAS,iEAAgB;AACzB,SAAS,+EAAwB;AACjC,SAAS,2EAA0B;AACnC;AACA;AACA,yBAAyB,6DAAc;AACvC,sBAAsB,6DAAc;AACpC,iCAAiC,6DAAc;AAC/C,8BAA8B,6DAAc;AAC5C,wBAAwB,6DAAc;AACtC,qBAAqB,6IAA8F;AACnH;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,QAAQ,iBAAiB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL,mEAAmE,+BAA+B;AAClG,4DAA4D,iCAAiC;AAC7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,SAAS,yEAA0B,4BAA4B,IAAI;AACnE;AACA;AACA;AACA,SAAS,iEAAgB;AACzB,SAAS,+EAAwB;AACjC,SAAS,2EAA0B;AACnC;AACA;AACA,oBAAoB,6DAAc;AAClC,yBAAyB,6DAAc;AACvC,sBAAsB,6DAAc;AACpC,+BAA+B,6DAAc;AAC7C,iCAAiC,6DAAc;AAC/C,8BAA8B,6DAAc;AAC5C,kBAAkB,mEAAoB;AACtC,wBAAwB,6DAAc;AACtC,qBAAqB,6IAA8F;AACnH;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;A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;AACA;AACA,GAAG;AACH,E;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO,kCAAkC,gCAAgC,aAAa;AACtF,6BAA6B,mCAAmC,aAAa;AAC7E;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,2DAA2D;AAC3D;AACA,gDAAgD,iBAAiB,EAAE;AACnE;AACA,0DAA0D,aAAa,EAAE;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,0B;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA,E;;;;;;ACpFA;AACA;AACA;AACA,a;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK,UAAU;AACf,GAAG;AACH,E;;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,E;;;;;;ACPA;AACA;AACA;AACA;AACA,E;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4BAA4B,aAAa;;AAEzC;AACA;AACA;AACA;AACA;AACA,wCAAwC,oCAAoC;AAC5E,4CAA4C,oCAAoC;AAChF,KAAK,2BAA2B,oCAAoC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,mBAAmB;AACnC;AACA;AACA,iCAAiC,2BAA2B;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,E;;;;;;ACrEA,uB;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,U;;;;;;ACTD;AACA;AACA;AACA,E;;;;;;ACHA;AACA;AACA;AACA;AACA,E;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA,OAAO,UAAU,cAAc;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG;AACR;AACA,E;;;;;;;ACxBA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oBAAoB,aAAa;AACjC,GAAG;AACH,E;;;;;;ACZA;AACA;AACA;AACA;AACA,E;;;;;;ACJA,sBAAsB;AACtB;AACA;;AAEA;AACA;AACA;AACA,E;;;;;;ACPA;AACA,mF;;;;;;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,iBAAiB,IAAI;AACrB;AACA;AACA;AACA,SAAS,2BAA2B;AACpC;AACA;AACA,yBAAyB,gDAAgD;AACzE,6BAA6B,uDAAuD;AACpF,oBAAoB,sBAAsB;AAC1C,qBAAqB,sBAAsB;AAC3C,6BAA6B,wFAAwF;AACrH;AACA;AACA,CAAC;AACD;AACA,oC;;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,iBAAiB,IAAI;AACrB;AACA;AACA;AACA,SAAS,2BAA2B;AACpC;AACA;AACA,sCAAsC,4DAA4D;AAClG;AACA;AACA,CAAC;AACD;AACA,mD;;;;;;;AC3BA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AACA,2C;;;;;;;ACtDA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,kC;;;;;;;AC/CA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,qC;;;;;;;AC3CA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,gBAAgB;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,KAAK;AACL;AACA,qHAAqH,eAAe,0FAA0F,YAAY,+JAA+J,gEAAgE,uCAAuC,KAAK,aAAa,2OAA2O,2CAA2C,KAAK,eAAe;AAC5yB;AACA;AACA,wEAAwE,yCAAyC;AACjH,2DAA2D,aAAa;AACxE,yEAAyE,yCAAyC;AAClH;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,6CAA6C;AAC7C,KAAK,yCAAyC;AAC9C,KAAK,kCAAkC;AACvC,KAAK,mDAAmD,wBAAwB,IAAI;AACpF,EAAE;AACF;AACA,qD;;;;;;;;;;ACjKA;AAAA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACqB;AACD;AACpB;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,kCAAkC,QAAQ,UAAU;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS,kEAAmB;AAC5B;AACA;AACA,yDAAyD,WAAW;AACpE;AACA,CAAC;;;;;;;;ACpDD;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,sBAAsB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,aAAa,kRAAkR,WAAW;AACtV,KAAK;AACL;AACA;AACA;AACA;AACA,0C;;;;;;;AC5LA;AACA;AACA;AACA;AACA,qC;;;;;;;ACJA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,iD;;;;;;;ACzJA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,4C;;;;;;;ACzDA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,iC;;;;;;;AChEA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,WAAW;AACtB;AACA,WAAW,SAAS;AACpB;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,SAAS;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,yC;;;;;;;AClJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,WAAW;AACtB;AACA,WAAW,UAAU;AACrB;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,WAAW;AACtB,WAAW,WAAW;AACtB;AACA,WAAW,UAAU;AACrB;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kC;;;;;;;AC3GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qC;;;;;;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,gBAAgB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,+CAA+C;AAC1D;AACA;AACA,WAAW,oFAAoF;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,WAAW;AACvB;AACA;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qC;;;;;;;AC9DA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,IAAI;AACf,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,iC;;;;;;;ACnEA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,2CAA2C;AACtD;AACA;AACA;AACA;AACA;AACA,WAAW,IAAI;AACf;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kC;;;;;;;AC5FA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,2BAA2B,WAAW;AACtC;AACA;AACA;AACA;AACA;AACA,+BAA+B,WAAW;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,+BAA+B,WAAW;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,qC;;;;;;;AC1EA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,gCAAgC,8BAA8B;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,+BAA+B,IAAI;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,+B;;;;;;;AC7PA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,mD;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA,sC;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qC;;;;;;;;;;;;;;ACXA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACkB;AACF;AACD;AACkB;AACf;AACgC;AACvB;;;;;;;;;;AACnB;AAAA;AACR;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iC;;;;;;;;;;;AC/BA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACgE;AAChE;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,gBAAgB;AAChB;AACA,+CAA+C,0BAA0B;AACzE;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,gCAAgC,EAAE,UAAU,+BAA+B;AAC3E,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA,SAAS,yEAA0B,yBAAyB,IAAI;AAChE;AACA;AACA,2CAA2C,WAAW;AACtD;AACA,sBAAsB,6DAAc;AACpC;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,2EAA2E,gBAAgB;AAC3F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,gBAAgB;AACxB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,oDAAoD,sEAAsE;AAC1H;AACA,SAAS,yEAA0B,6BAA6B,IAAI;AACpE;AACA;AACA,+CAA+C;AAC/C,SAAS,yEAA0B;AACnC,SAAS,oEAAqB;AAC9B,SAAS,+BAA+B,4DAAa,IAAI;AACzD,MAAM;AACN;AACA,0BAA0B,6DAAc;AACxC;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,4DAA4D,gBAAgB;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,gBAAgB;AACxB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS,yEAA0B,gCAAgC,IAAI;AACvE;AACA;AACA,kDAAkD;AAClD,SAAS,yEAA0B;AACnC,SAAS,oEAAqB;AAC9B,SAAS,+BAA+B,4DAAa,IAAI;AACzD,MAAM;AACN;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qC;;;;;;;;;;;;;;;;AC5TA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACoB;AACD;AACM;AACA;AACN;AACK;AACyB;AAC7B;AACI;;;;;;;;;;;AAChB;AAAA;AACR;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iC;;;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,mCAAmC;AACnC,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,oCAAoC,0CAA0C;AAC9E;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,oCAAoC,0CAA0C;AAC9E;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,mBAAmB,EAAE,eAAe;AACpC;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,oCAAoC,0CAA0C;AAC9E;AACA,eAAe,EAAE;AACjB;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,KAAK;AACL;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,gC;;;;;;;;;;;;;;;;;;AC5PA;AAAA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,gEAAgE;AAChE;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,qEAAqE;AACrE;AACA,CAAC;AACD;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,yC;;;;;;;;;;;;;ACvSA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACoB;AACoB;AACxC;AACgD;AACrB;AAC3B;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA,SAAS;AACT;AACA;AACA,CAAC;AACD,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE,qDAAqD,+FAAqC,EAAE;AACzH;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE,sEAAsE,4CAA4C,EAAE;AAC7I;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE,iEAAiE,uCAAuC,EAAE;AACnI,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE,iDAAiD,mCAAmC,EAAE;AAC/G;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE,iDAAiD,mCAAmC,EAAE;AAC/G;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uDAAuD,4CAA4C,8BAA8B,EAAE,EAAE,EAAE;AACvI;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,uBAAuB,EAAE;AACzB,uBAAuB,EAAE,uFAAuF,gBAAgB,EAAE;AAClI,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,sDAAsD,kCAAkC,EAAE;AAC1F;AACA,sHAAwD;AACxD,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,0DAA0D,wDAAwD,EAAE;AACpH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iGACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA,+BAA+B,EAAE;AACjC,2DAA2D,yGAA+C,EAAE;AAC5G;AACA;AACA;AACA,SAAS;AACT,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,qBAAqB,EAAE;AACjD;AACA;AACA,KAAK;AACL;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,+BAA+B,cAAc;AAC7C,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA,8C;;;;;;;;;;;;AClbA;AAAA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AAC6B;AACU;AAChB;AACvB,eAAe,EAAE;AACjB;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA,+CAA+C,sCAAsC,mEAAmE,EAAE,EAAE;AAC5J;AACA;AACA;AACA,wBAAwB,EAAE,uBAAuB,4CAA4C;AAC7F,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA,+BAA+B,EAAE;AACjC;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,gDAAgD,sBAAsB,qBAAqB;AACjI;AACA,2BAA2B,EAAE;AAC7B;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,uBAAuB,EAAE;AACzB;AACA,kDAAkD,yBAAyB;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,0DAA0D,4GAAsC;AAChG;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,qEAAqE,gFAAgF,EAAE;AACvJ;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,8C;;;;;;;;;;ACtNA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACoB;AACS;AAC7B;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,EAAE,UAAU,kBAAkB;AACtD;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,sC;;;;;;;;;;;;ACtDwC;AACxC;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA,wC;;;;;;;;;;;;;;;;AC3D0B;AACN;AACoB;AACxC;AAC+C;AACF;AACd;AAC/B;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE,qEAAqE,mFAAmF,EAAE;AAC/K;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE,oEAAoE,kFAAkF,EAAE;AAC7K;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA,uC;;;;;;;;;;;;AChIA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE,4CAA4C,+BAA+B,EAAE;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,uEAAuE,mBAAmB;AAC1F;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,8DAA8D,2BAA2B,EAAE;AAC3F;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE,wDAAwD,gBAAgB,kCAAkC,GAAG,EAAE;AACxI,iBAAiB,sEAAsE;AACvF;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,yFAAyF,2BAA2B,EAAE;AACtH;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,eAAe,EAAE;AACjB;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mCAAmC,yCAAyC,EAAE;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE,wDAAwD,gBAAgB,kCAAkC,GAAG,EAAE;AACxI;AACA,iBAAiB,8CAA8C;AAC/D;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA,wBAAwB,EAAE,UAAU,oBAAoB;AACxD;AACA,4BAA4B,EAAE,UAAU,QAAQ;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,eAAe,eAAe;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,wBAAwB,EAAE,cAAc,oBAAoB;AAC5D,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,wBAAwB,EAAE,UAAU,oBAAoB;AACxD;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA,4BAA4B,EAAE,UAAU,OAAO;AAC/C;AACA;AACA;AACA;AACA,4BAA4B,EAAE,UAAU,OAAO;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,gDAAgD,uCAAuC,EAAE;AACzF;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,wBAAwB,EAAE,UAAU,OAAO;AAC3C;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,wBAAwB,EAAE,UAAU,gBAAgB;AACpD,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,wBAAwB,EAAE,uBAAuB,QAAQ;AACzD;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,wBAAwB,EAAE,sBAAsB,EAAE,cAAc,kBAAkB;AAClF,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,UAAU,WAAW;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,kC;;;;;;;;;;;;;;AC/eA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC0B;AAC1B;AACmC;AACf;AACpB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,uCAAuC,gCAAgC,EAAE;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,EAAE;AACzC;AACA,uCAAuC,EAAE;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE,yDAAyD,wBAAwB,EAAE;AAC5G;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,yCAAyC,gDAAgD,EAAE;AAC3F,sCAAsC;AACtC,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,6DAA6D,2BAA2B,EAAE;AAC1F;AACA;AACA,SAAS;AACT;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,EAAE;AACjC,+BAA+B,EAAE;AACjC,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA,uCAAuC,EAAE;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,YAAY;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE,wEAAwE,0GAAuD,EAAE;AAC1J;AACA,gCAAgC,EAAE,kCAAkC,iBAAiB;AACrF,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,yCAAyC,iCAAiC,EAAE;AAC5E;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA,4C;;;;;;;;;;;;;;;;;;;;AC1hBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACoB;AACK;AACD;AACH;AACL;AACF;AACA;AACd,iC;;;;;;;;ACdA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAC0B;AAC1B;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,uDAAuD,uBAAuB;AAC9E;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,2DAA2D,yCAAyC;AACpG;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,0C;;;;;;;;;;;;;;AC9DA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACoB;AACH;AACjB;AACoB;AACC;AACrB;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA,2BAA2B,EAAE,yFAAwC,2BAA2B;AAChG,gLAA8E;AAC9E;AACA,8KAA4E,qCAAqC;AACjH;AACA;AACA,8KAA4E,iCAAiC;AAC7G;AACA;AACA;AACA,SAAS;AACT,uBAAuB,EAAE,kFAAiC;AAC1D,uBAAuB,EAAE,iFAAgC,mFAAmF;AAC5I,uBAAuB,EAAE,mFAAkC,mCAAmC;AAC9F;AACA,kFAAiC,oCAAoC;AACrE;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,iDAAiD,gGAAwB;AACzE;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,kEAAkE,oFAAmC;AACrG;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,oDAAoD,mDAAmD,EAAE;AACzG;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE,iGAAgD,iCAAiC;AAC1G;AACA;AACA;AACA;AACA,uBAAuB,EAAE,iGAAgD,iCAAiC;AAC1G;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,gGAA+C,cAAc;AAC7D;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,gGAA+C,cAAc;AAC7D;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,qEAAqE,0BAA0B,EAAE;AACjG;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,+BAA+B,EAAE,iDAAiD,2BAA2B,EAAE;AAC/G;AACA;AACA;AACA;AACA,mCAAmC,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,0EAA0E;AAC1E;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,gEAAgE;AAChE;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,sEAAsE;AACtE;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,0EAA0E;AAC1E;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,kFAAkF;AAClF;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,8DAA8D,iGAAmD;AACjH;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,2BAA2B,EAAE,8CAA8C,2BAA2B,EAAE;AACxG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,kEAAkE;AAClE;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,0EAA0E;AAC1E;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,oEAAoE;AACpE;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,wEAAwE;AACxE;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iC;;;;;;;;;;;;ACxXA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,uBAAuB,EAAE,oDAAoD,0BAA0B,EAAE;AACzG;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,oDAAoD,mBAAmB;AACvE;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE,uDAAuD,4CAA4C,EAAE;AAC9H;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,eAAe,EAAE;AACjB;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,sCAAsC,6BAA6B,EAAE;AACrE;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,sDAAsD,uCAAuC;AAC7F;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,kDAAkD,mCAAmC;AACrF;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB;AACA;AACA;AACA,wCAAwC,qBAAqB;AAC7D,kCAAkC,eAAe;AACjD;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,8CAA8C,+BAA+B;AAC7E;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,+CAA+C,gCAAgC;AAC/E;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB;AACA;AACA,4BAA4B,QAAQ;AACpC;AACA;AACA;AACA,CAAC;AACD,eAAe,EAAE;AACjB,iBAAiB;AACjB,kBAAkB;AAClB,kBAAkB;AAClB,gBAAgB;AAChB,gBAAgB;AAChB;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,yDAAyD,yCAAyC,EAAE;AACpG;AACA,sC;;;;;;;;;;;;;AC1LA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACoB;AACpB;AACoB;AACC;AACkB;AACvC,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,+CAA+C,gCAAgC;AAC/E;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,+CAA+C,6FAAwB;AACvE;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,EAAE,iDAAiD,2BAA2B,EAAE;AAC/G;AACA;AACA;AACA;AACA,mCAAmC,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,wEAAwE;AACxE;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,8DAA8D;AAC9D;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,oEAAoE;AACpE;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,wEAAwE;AACxE;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,gFAAgF;AAChF;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,8DAA8D,iGAAmD;AACjH;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,2BAA2B,EAAE,8CAA8C,6BAA6B,EAAE;AAC1G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,oEAAoE;AACpE;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,wEAAwE;AACxE;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA,+B;;;;;;;;;;;;;;;;;;;;;;;;AC9PA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AAC6E;AACjD;AACF;AACsC;AACvC;AACU;AACf;AACS;AACK;AACP;AAC3B;AAC8B;AACN;AACA;AACC;AACC;AAC0E;AACpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,uBAAuB,EAAE;AACnD;AACA;AACA,KAAK;AACL;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA,2BAA2B,EAAE,uMAA6F,0BAA0B,oEAAoE,EAAE,EAAE;AAC5N,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA,uCAAuC,EAAE;AACzC;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA,2BAA2B,EAAE;AAC7B;AACA,+BAA+B,EAAE;AACjC;AACA;AACA,uCAAuC,EAAE;AACzC;AACA,qBAAqB;AACrB;AACA,aAAa;AACb;AACA,+BAA+B,EAAE;AACjC;AACA,aAAa;AACb,SAAS;AACT,+CAA+C,yCAAyC,EAAE;AAC1F;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA,2BAA2B,EAAE,sCAAsC;AACnE;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,sEAAsE,yDAAyD,EAAE;AACjI;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE,yDAAyD,mEAAmE,EAAE;AACvJ,uBAAuB,EAAE,0EAA0E,+DAA+D,EAAE;AACpK,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA,+BAA+B,EAAE;AACjC;AACA;AACA,SAAS;AACT,uBAAuB,EAAE,kIAAkI,sBAAsB,EAAE;AACnL;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA,SAAS;AACT;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,gCAAgC,EAAE;AAC5D;AACA;AACA,KAAK;AACL;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,4DAA4D,6BAA6B;AACzF;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,mEAAmE,oCAAoC;AACvG;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,oC;;;;;;;;;;;ACtlBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACiB;AACa;AACO;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,6CAA6C,6BAA6B;AAC1E;AACA;AACA;AACA,CAAC;AACD,sC;;;;;;;;;;AChCA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACqB;AACrB;AACA,eAAsB,EAAE;AACxB;AACA,WAAW,EAAE;AACb,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA,0BAA0B,aAAa;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,yGAAsD,6GAAuC,EAAE;AAC/F;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,kFAAkF,kFAA+B;AACjH;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,oFAAiC,mBAAmB;AACpD;AACA;AACA;AACA,CAAC;AACD,sC;;;;;;;;;;;;;;;AClEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACoC;AACP;AACY;AACpB;AACkB;AACvC;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,mDAAmD,EAAE;AAC/F,yEAAyE,+BAA+B,EAAE;AAC1G;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,wCAAwC,yBAAyB,qBAAqB,iBAAiB,EAAE;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA;AACA,2BAA2B,EAAE,2EAA2E,kCAAkC,EAAE;AAC5I,2BAA2B,EAAE;AAC7B,yDAAyD;AACzD,iEAAiE,EAAE;AACnE;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,+BAA+B,EAAE;AAC3D;AACA;AACA,KAAK;AACL;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,2EAA2E,2CAA2C,EAAE;AACxH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA,+BAA+B,EAAE,yEAAyE,8BAA8B;AACxI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,EAAE;AACjC;AACA,6CAA6C,wEAAwE,EAAE;AACvH;AACA;AACA,+BAA+B,EAAE;AACjC;AACA,6CAA6C,wEAAwE,EAAE;AACvH;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA,qDAAqD,gDAAgD;AACrG;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,+BAA+B,cAAc;AAC7C;AACA,2BAA2B,EAAE;AAC7B,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,+BAA+B,cAAc;AAC7C,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,6BAA6B;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,SAAS,2BAA2B;AACxE;AACA,SAAS;AACT,oFAAoF,uBAAuB,EAAE;AAC7G;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA,+BAA+B,EAAE,0CAA0C,8BAA8B;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,EAAE;AACjC;AACA,6CAA6C,sEAAsE,EAAE;AACrH;AACA;AACA,+BAA+B,EAAE;AACjC;AACA,6CAA6C,sEAAsE,EAAE;AACrH;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA,qDAAqD,gDAAgD;AACrG;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,+BAA+B,cAAc;AAC7C,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA,uBAAuB,EAAE,mBAAmB,SAAS,6BAA6B;AAClF;AACA,KAAK;AACL;AACA,mBAAmB,EAAE,qEAAqE,wBAAwB,EAAE,2CAA2C,yBAAyB,EAAE;AAC1L;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA,wDAAwD,gDAAgD,EAAE;AAC1G;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA,wDAAwD,mDAAmD,EAAE;AAC7G;AACA,KAAK;AACL;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,6C;;;;;;;;;AC3lBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,eAAe,EAAE,wEAAwE,WAAW,GAAG;AACvG,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,8C;;;;;;;;;;;;;;;;;;AC9DA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AAC0B;AACe;AAChB;AAC8B;AACjC;AACgB;AAC6C;AACnF,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,qDAAqD,EAAE;AACjF;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,kDAAkD,EAAE;AAC9E;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,+CAA+C,EAAE;AACxF;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,qDAAqD,+DAA+D,EAAE;AACtH;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,4BAA4B,EAAE,UAAU,qBAAqB;AAC7D,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,gEAAgE,uHAAkE,EAAE;AACpI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,EAAE;AACjC;AACA,mCAAmC,EAAE;AACrC,mCAAmC,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,mCAAmC,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,+BAA+B,oFAA+B;AAC9D;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,2CAA2C,sBAAsB;AACjE;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE,gFAAgF,qCAAqC,EAAE;AAChJ,sCAAsC,yBAAyB,EAAE;AACjE,uBAAuB,EAAE,uEAAuE,0CAA0C,EAAE;AAC5I,+EAA+E,qEAAqE,EAAE;AACtJ,KAAK;AACL;AACA;AACA,0C;;;;;;;;;;ACtjBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACsB;AACtB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8C;;;;;;;;;;;;;;;;;;;;;ACnHA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACoC;AACF;AAC8B;AAC5C;AAC+E;AACnG;AACkC;AACK;AACf;AACoC;AACjC;AACsC;AACP;AAC1D;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,gDAAgD,yBAAyB;AACzE;AACA,gBAAgB;AAChB;AACA,uDAAuD,sCAAsC;AAC7F;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,oDAAoD,EAAE;AACjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,2BAA2B,EAAE,UAAU;AACvC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,kIAAwE,+FAAqC,EAAE;AAC/G;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,4BAA4B,EAAE,UAAU,8CAA8C;AACtF;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE,iKAA+E,EAAE;AACnJ;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA,2BAA2B,EAAE;AAC7B;AACA,gFAAgF,8BAA8B;AAC9G;AACA;AACA,mCAAmC,EAAE;AACrC,mCAAmC,EAAE,wCAAwC,iEAAiE,EAAE;AAChJ;AACA;AACA;AACA,mCAAmC,EAAE;AACrC,mCAAmC,EAAE,wCAAwC,iEAAiE,EAAE;AAChJ;AACA,uCAAuC,EAAE,kCAAkC;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B,4DAA4D,+CAA+C,EAAE;AAC7G;AACA;AACA,4BAA4B,EAAE,UAAU,6BAA6B;AACrE;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA,SAAS;AACT;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA,yCAAyC,sCAAsC,6FAA6F,EAAE,EAAE,EAAE;AAClL;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,qFAAqF,uBAAuB,EAAE;AAC9G;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,2EAA2E,gDAAgD,EAAE;AAC7H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4JAAqF,mBAAmB;AACxG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2C;;;;;;;;;;;;;;AClfA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACyB;AACH;AACkB;AACxC;AAC4B;AAC5B;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,2DAA2D,yCAAyC,EAAE;AACtG;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE,2DAA2D,iQAAmF,EAAE;AACrK;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,yC;;;;;;;;;;;;;;;;;;AC/KA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACoB;AACO;AACP;AACpB;AACmB;AACK;AACF;AACsC;AACd;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,2DAA2D,kIAAwE,EAAE;AACrI;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA,yCAAyC,sCAAsC,gFAAgF,EAAE,EAAE,EAAE;AACrK;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wC;;;;;;;;;;AC3QA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAsB,EAAE,6BAA6B;AACrD,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,+C;;;;;;;;ACXA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACuC;AACvC;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wHAA2C,0BAA0B,EAAE;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA,mDAAmD,aAAa,EAAE;AAClE;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,uDAAuD,0CAA0C,sBAAsB,EAAE,EAAE;AAC3H;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,4DAA4D,2BAA2B;AACvF;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,2DAA2D,0BAA0B;AACrF;AACA,gBAAgB;AAChB;AACA,6DAA6D,sBAAsB;AACnF;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,aAAa,EAAE;AACnE;AACA;AACA;AACA,iDAAiD,sBAAsB,EAAE;AACzE;AACA;AACA,gBAAgB;AAChB;AACA,wDAAwD,0CAA0C,uBAAuB,EAAE,EAAE;AAC7H;AACA,gBAAgB;AAChB;AACA,0DAA0D,0CAA0C,yBAAyB,EAAE,EAAE;AACjI;AACA,gBAAgB;AAChB;AACA;AACA;AACA,iDAAiD,wBAAwB,EAAE;AAC3E;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA,qDAAqD,yBAAyB,EAAE;AAChF;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,iDAAiD,uBAAuB,EAAE;AAC1E;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,iDAAiD,uBAAuB,EAAE;AAC1E;AACA;AACA,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,sBAAsB,EAAE;AAClD;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,kD;;;;;;;AC7JA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAyE;AACzE,qBAAqB;AACrB;AACA;AACA,2FAA2F;AAC3F,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,8C;;;;;;;;;;AClCqB;AACJ;AACjB;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,0DAA0D,2BAA2B;AACrF;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,mCAAmC,EAAE;AAC7F,aAAa;AACb;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,yEAAmB;AAC5B;AACA;AACA,iDAAiD;AACjD,SAAS,uEAAgB;AACzB,MAAM;AACN;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,2C;;;;;;;;;ACzEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACuC;AACT;AAC9B;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,6BAA6B,EAAE;AAChF;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wHAA2C,0BAA0B,EAAE;AACvE;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B,uCAAuC,4BAA4B,EAAE;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA,mDAAmD,aAAa,EAAE;AAClE;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,0DAA0D,0CAA0C,sBAAsB,EAAE,EAAE;AAC9H;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,+DAA+D,2BAA2B;AAC1F;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,8DAA8D,0BAA0B;AACxF;AACA,gBAAgB;AAChB;AACA,gEAAgE,sBAAsB;AACtF;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,aAAa,EAAE;AACnE;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,2DAA2D,4BAA4B;AACvF;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,iDAAiD,uBAAuB,EAAE;AAC1E;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,iDAAiD,wBAAwB,EAAE;AAC3E;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA,qDAAqD,yBAAyB,EAAE;AAChF;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,kEAAkE,iCAAiC;AACnG;AACA,gBAAgB;AAChB;AACA,iEAAiE,uCAAuC;AACxG;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,sBAAsB,EAAE;AAClD;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,qD;;;;;;;AC5KA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,6CAA6C,MAAM;AACvD,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA,4C;;;;;;;AC9BA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,sD;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtDA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACoB;AACpB;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA;AACA,wEAAwE;AACxE,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,wEAAwE;AACxE,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,IAAI,gDAAgD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,wEAAwE;AACxE,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,wEAAwE;AACxE,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB;AACA;AACA,gCAAgC,eAAe;AAC/C;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,wEAAwE;AACxE,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,gDAAgD,EAAE;AAC5E;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AACA;AACA,wEAAwE;AACxE,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,oBAAoB,EAAE;AAChD;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,wEAAwE;AACxE,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,oBAAoB,EAAE;AAChD;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,QAAQ;AACR;AACA;AACA;AACA;AACA,gBAAgB,sCAAsC,GAAG,mBAAmB,MAAM;AAClF,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE,mBAAmB,KAAK;AAC7F,uBAAuB;AACvB;AACA;AACA,oEAAoE;AACpE,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,oBAAoB;AAC3C;AACA,YAAY,qBAAqB;AACjC,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,WAAW,EAAE;AACb,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA,4BAA4B,eAAe;AAC3C,mBAAmB,EAAE;AACrB;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,qDAAqD,yBAAyB,OAAO;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,mBAAmB,KAAK,uBAAuB;AACtD;AACA,mDAAmD,2BAA2B;AAC9E,IAAI,kDAAkD;AACtD;AACA;AACA;AACA;AACA,oBAAoB,sBAAsB;AAC1C,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,QAAQ;AACR;AACA;AACA,8DAA8D,6BAA6B;AAC3F;AACA,wDAAwD,mBAAmB,OAAO;AAClF;AACA;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;AACA,OAAO,mBAAmB,KAAK,uBAAuB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,aAAa;AACzB,oBAAoB,aAAa;AACjC;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,QAAQ;AACR;AACA;AACA,gBAAgB,8BAA8B,aAAa,mCAAmC;AAC9F,0BAA0B,uBAAuB,MAAM,2BAA2B;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,mCAAmC;AAC7C;AACA;AACA,UAAU,wBAAwB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yFAAyF;AACzF;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,YAAY;AACtB,wBAAwB,cAAc;AACtC;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA,WAAW,uBAAuB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,0BAA0B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,YAAY;AACpC;AACA;AACA,0BAA0B,YAAY;AACtC,iCAAiC,cAAc;AAC/C;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,QAAQ;AACR;AACA,0CAA0C,mBAAmB;AAC7D;AACA;AACA;AACA;AACA,4EAA4E;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,oCAAoC;AAChD,YAAY,uCAAuC;AACnD,YAAY,yCAAyC;AACrD,YAAY,sCAAsC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,yBAAyB;AACrC,YAAY,0BAA0B;AACtC,YAAY,4BAA4B;AACxC,YAAY,2BAA2B;AACvC;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,QAAQ;AACR;AACA,8BAA8B,4CAA4C;AAC1E;AACA;AACA;AACA;AACA;AACA,+CAA+C,iCAAiC;AAChF;AACA,0DAA0D,8BAA8B;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,sBAAsB;AAC9C,yBAAyB,qBAAqB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,aAAa;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,aAAa;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,aAAa;AACzB,yBAAyB,aAAa;AACtC;AACA;AACA,yBAAyB,aAAa;AACtC;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,QAAQ;AACR;AACA,gEAAgE,mBAAmB,MAAM;AACzF;AACA;AACA;AACA;AACA,IAAI,sDAAsD;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E,mBAAmB;AAC/F,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA,oC;;;;;;;ACtwBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,sCAAsC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,eAAe;AACtD,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA,kDAAkD,uCAAuC;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,GAAG;AAC7D;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,sDAAsD;AACtD;AACA;AACA;AACA,kDAAkD,gCAAgC;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,gCAAgC;AAC5C;AACA,gBAAgB;AAChB;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,8DAA8D;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,mBAAmB;AAC/C,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,wDAAwD;AACxD;AACA,CAAC;AACD,+C;;;;;;;;;;ACnMA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACgD;AAChD;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,sEAAsE,2HAA8C;AACpH;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,sEAAsE,oCAAoC;AAC1G;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,oCAAoC,iBAAiB;AACrD;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,4CAA4C,iBAAiB;AAC7D;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,wCAAwC,iBAAiB;AACzD;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,0CAA0C,iBAAiB;AAC3D;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,yCAAyC,iBAAiB;AAC1D;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,6DAA6D;AAC7D;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA,gEAAgE,iBAAiB;AACjF;AACA;AACA,4CAA4C,iBAAiB;AAC7D;AACA;AACA,8CAA8C,gBAAgB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA,4BAA4B,EAAE,6BAA6B,cAAc;AACzE;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,oCAAoC,iBAAiB;AACrD;AACA;AACA,4CAA4C,iBAAiB;AAC7D;AACA;AACA,wCAAwC,iBAAiB;AACzD;AACA;AACA,0CAA0C,iBAAiB;AAC3D;AACA;AACA,yCAAyC,iBAAiB;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,sBAAsB,EAAE;AAC3E;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA,mD;;;;;;;;;ACvcA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAC6B;AACgB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,6BAA6B;AACvD,kBAAkB,uBAAuB;AACzC,QAAQ,uBAAuB;AAC/B;AACA;AACA;AACA,uDAAuD,sBAAsB;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE,gDAAgD,6BAA6B,EAAE;AACxG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA,4C;;;;;;;;;AC3FA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAC6B;AACT;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,6BAA6B;AACvD,kBAAkB,uBAAuB;AACzC,QAAQ,uBAAuB;AAC/B;AACA;AACA;AACA,uDAAuD,sBAAsB;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE,gDAAgD,uBAAuB,EAAE;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA,4C;;;;;;;;;;;;;;AC3FA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,0DAA0D,EAAE;AACtF;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,2DAA2D,EAAE;AACvF;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,yDAAyD,EAAE;AACrF;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,gEAAgE,EAAE;AAC5F;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,wDAAwD,EAAE;AACpF;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA,gCAAgC,EAAE,UAAU,wBAAwB;AACpE,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA,4DAA4D,qCAAqC,EAAE;AACnG,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,uCAAuC,yBAAyB,EAAE;AAClE;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA,sC;;;;;;;;;;;;;;;;ACtTA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACkC;AACd;AACpB;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,wBAAwB,EAAE,UAAU,iBAAiB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE,2CAA2C,wGAA2B,EAAE;AACjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,4DAA4D,gBAAgB;AAC5E,IAAI,gBAAgB,kBAAkB,gBAAgB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,wEAAwE;AAC9E,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,qBAAqB,EAAE;AACjD;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,qCAAqC,gBAAgB,2BAA2B;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,gDAAgD,gBAAgB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D,kBAAkB;AAC/E;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,4BAA4B,EAAE,sBAAsB,EAAE,uBAAuB,QAAQ;AACrF,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,sDAAsD;AAC5D,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,6C;;;;;;;AC3WA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,gDAAgD;AAClE,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB;AACA;AACA,sCAAsC,qBAAqB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,yC;;;;;;;;;;ACtIA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACsB;AACtB;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA;AACA;AACA,eAAsB,EAAE;AACxB,kC;;;;;;;;;;ACpBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAC6B;AACV;AACnB;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,2BAA2B,EAAE;AACvD;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,6CAA6C,EAAE;AACzE;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA,+BAA+B,EAAE;AACjC;AACA,mCAAmC,EAAE;AACrC,mCAAmC,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,yC;;;;;;;;;;;AC5KA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACwB;AACU;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,gBAAgB,oCAAoC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kC;;;;;;;;;;;;AC1GA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACuC;AACnB;AACgD;AACpE;AACA,wDAAwD,uBAAuB;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,kEAAkE;AAClE;AACA;AACA;AACA,gBAAgB;AAChB;AACA,kDAAkD;AAClD;AACA;AACA;AACA,gBAAgB;AAChB;AACA,iDAAiD;AACjD;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,2DAA2D;AAC3D;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,yBAAyB,EAAE;AACrD;AACA;AACA,KAAK;AACL;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,qDAAqD,uCAAuC;AAC5F;AACA;AACA,gBAAgB;AAChB;AACA,6DAA6D;AAC7D;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,uCAAuC,0FAAoC;AAC3E;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,8EAA8E;AAC9E;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,aAAa,EAAE;AACzC;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,aAAa,EAAE;AACzC;AACA;AACA,KAAK;AACL;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D,mBAAmB,EAAE;AACjF;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,gEAAgE,uCAAuC;AACvG;AACA;AACA,gBAAgB;AAChB;AACA,8DAA8D;AAC9D;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,6C;;;;;;;;;;ACvMA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,4DAA4D;AAC5D;AACA,CAAC;AACD,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA,oD;;;;;;;;;AC1DA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,aAAa;AACnE;AACA;AACA,IAAI,2CAA2C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,oDAAoD;AACpD;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,mEAAmE;AACnE;AACA,CAAC;AACD;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,kCAAkC;AAClC;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,kGAA4C,EAAE;AACxE;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,wC;;;;;;;;;;ACnFA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACoB;AACe;AACnC;AACA;AACA;AACA;AACA,IAAI,iBAAiB,MAAM,wBAAwB;AACnD,IAAI,qCAAqC,MAAM,2BAA2B;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAyE,iBAAiB;AAC1F,mEAAmE,iBAAiB;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,sDAAsD;AACtD;AACA;AACA,gBAAgB;AAChB;AACA,uDAAuD;AACvD;AACA;AACA,gBAAgB;AAChB;AACA,6DAA6D;AAC7D;AACA;AACA;AACA,gBAAgB;AAChB;AACA,oDAAoD;AACpD;AACA,oBAAoB,eAAe;AACnC;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,uDAAuD;AACvD;AACA;AACA;AACA,gBAAgB;AAChB;AACA,qDAAqD;AACrD;AACA,mDAAmD,iCAAiC;AACpF;AACA;AACA;AACA;AACA,oBAAoB,eAAe;AACnC;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,4FAA4F;AAC5F;AACA,8BAA8B,iBAAiB;AAC/C;AACA;AACA,gDAAgD,wBAAwB;AACxE,qBAAqB,wDAAwD;AAC7E;AACA;AACA;AACA,uCAAuC,gBAAgB;AACvD;AACA,oBAAoB,oBAAoB;AACxC;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,iHAAiH;AACjH;AACA,uCAAuC,eAAe;AACtD;AACA;AACA;AACA,6BAA6B,eAAe;AAC5C;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,mEAAmE;AACnE;AACA,qCAAqC,eAAe;AACpD;AACA,6BAA6B,eAAe;AAC5C;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,wEAAwE;AACxE;AACA,qDAAqD,eAAe;AACpE;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,0DAA0D;AAC1D;AACA,uBAAuB,eAAe;AACtC;AACA,kDAAkD,eAAe;AACjE;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,0DAA0D;AAC1D;AACA,CAAC;AACD;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,wDAAwD,6CAA6C;AACrG;AACA;AACA,oBAAoB;AACpB;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,iCAAiC,EAAE;AAC7D;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,+BAA+B,EAAE;AAC3D;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,qCAAqC,EAAE;AACjE;AACA;AACA,KAAK;AACL;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,iCAAiC,gBAAgB;AACjD,+BAA+B,YAAY;AAC3C,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,+BAA+B,YAAY;AAC3C,kCAAkC,iBAAiB;AACnD,0CAA0C,yBAAyB;AACnE,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,+BAA+B,YAAY;AAC3C,uBAAuB,EAAE;AACzB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,+BAA+B,YAAY;AAC3C,uBAAuB,EAAE;AACzB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,+BAA+B,YAAY;AAC3C,uBAAuB,EAAE;AACzB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,4BAA4B,EAAE,wBAAwB,QAAQ;AAC9D;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA,8C;;;;;;;;;;;AC3UA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AAC4B;AACG;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,6CAA6C;AAC7C;AACA;AACA,gBAAgB;AAChB;AACA,+CAA+C;AAC/C;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,uDAAuD;AACvD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,wBAAwB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA,uCAAuC,MAAM;AAC7C;AACA;AACA;AACA,gBAAgB,mBAAmB;AACnC;AACA,UAAU,mBAAmB;AAC7B;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,UAAU,mBAAmB;AAC7B;AACA,WAAW,MAAM;AACjB;AACA;AACA,uEAAuE,mBAAmB;AAC1F;AACA,oBAAoB,mBAAmB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,qDAAqD;AACrD;AACA;AACA,gBAAgB;AAChB;AACA,uDAAuD;AACvD;AACA,CAAC;AACD;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,mBAAmB,EAAE;AAC/C;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,iCAAiC,EAAE;AAC7D;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,2BAA2B,EAAE;AACvD;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,6BAA6B,EAAE;AACzD;AACA;AACA,KAAK;AACL;AACA,gBAAgB;AAChB;AACA,mDAAmD,wCAAwC;AAC3F;AACA,gBAAgB;AAChB;AACA,6CAA6C,wHAAmD;AAChG;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,qDAAqD,gCAAgC;AACrF;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,8CAA8C,+BAA+B;AAC7E;AACA,CAAC;AACD;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,oC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClNA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACiH;AAClC;AACyC;AAC3D;AACjC;AAC5B,oC;;;;;;;;;;;;;;;;ACZA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,mEAAmE;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,0DAA0D;AAC1D;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,yDAAyD;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,6CAA6C;AAC7C;AACA,CAAC;AACD;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,sEAAsE,iBAAiB;AACvF;AACA;AACA;AACA,QAAQ,uBAAuB,MAAM,uBAAuB;AAC5D;AACA;AACA,QAAQ,iEAAiE;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,+CAA+C;AAC/C;AACA,CAAC;AACD;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,QAAQ,yDAAyD;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,mDAAmD;AACnD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,QAAQ,sEAAsE;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,iEAAiE;AACjE;AACA,CAAC;AACD;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,QAAQ,sEAAsE;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,uEAAuE;AACvE;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,QAAQ,mEAAmE;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,2DAA2D;AAC3D;AACA,CAAC;AACD;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,QAAQ,mEAAmE;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,iEAAiE;AACjE;AACA,CAAC;AACD,2C;;;;;;;;AChOA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,iBAAiB;AACtE;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,MAAM;AAC9B,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,eAAe,GAAG;AAClB;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,QAAQ;AACR,cAAc;AACd;AACA;AACA;AACA,QAAQ;AACR,cAAc;AACd;AACA;AACA;AACA,QAAQ;AACR,cAAc;AACd;AACA;AACA;AACA,QAAQ;AACR,cAAc;AACd;AACA;AACA;AACA,QAAQ;AACR,cAAc;AACd;AACA;AACA;AACA,QAAQ;AACR,cAAc;AACd;AACA;AACA;AACA,QAAQ;AACR,cAAc;AACd;AACA;AACA;AACA,gC;;;;;;;;;;AC5FA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACuC;AAChB;AACvB;AACA;AACA;AACA,eAAsB,EAAE,4CAA4C,iBAAiB;AACrF;AACA;AACA,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,wEAAwE,aAAa;AACrF;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,6DAA6D;AAC7D;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,EAAE,UAAU,mBAAmB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE,0DAA0D,oCAAoC,EAAE;AAC7H,2BAA2B,EAAE;AAC7B;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE,wBAAwB;AACrD;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA,aAAa;AACb;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,+DAA+D,mDAAmD,KAAK;AACvH;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,mEAAmE;AACnE;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE,0FAA0F,+CAA+C;AAClK;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,8FAA8F,gBAAgB;AAC9G;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,oFAAoF,6BAA6B;AACjH;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA,KAAK;AACL;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA,mD;;;;;;;;ACvTA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AAC0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,8DAA8D,oCAAoC;AAClG;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,mDAAmD,kDAAkD;AACrG;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,kDAAkD,iDAAiD;AACnG;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,kDAAkD,iDAAiD;AACnG;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,kDAAkD,iDAAiD;AACnG;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,qDAAqD,oDAAoD;AACzG;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA,qC;;;;;;;;;AC5GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,8DAA8D;AAC9D;AACA,CAAC;AACD,oC;;;;;;;;AC/BA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,gCAAgC,EAAE;AAC5D;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,gCAAgC,EAAE;AAC5D;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,gDAAgD,EAAE;AAC5E;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB,mC;;;;;;;AC9CA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB,8KAA8K,4CAA4C,EAAE;AAC5N,sOAAsO,gCAAgC,+BAA+B,QAAQ,EAAE;AAC/S,oJAAoJ,0LAA0L,oCAAoC,qCAAqC,EAAE;AACzZ;AACA,iLAAiL,iBAAiB;AAClM;AACA,0C;;;;;;;;ACdA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACwC;AACxC;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,6UAA6U,iBAAiB;AAC9V;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kD;;;;;;;;;;;;;;;;;;ACrCA;AAAA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACuC;AACH;AACpC,eAAsB,EAAE;AACxB;AACA,+GAAyC,0BAA0B,EAAE;AACrE;AACA;AACA,eAAsB,EAAE;AACxB;AACA,+GAAyC,kCAAkC,EAAE;AAC7E;AACA;AACA;AACA;AACA,kCAAkC,qBAAqB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,uBAAuB,EAAE;AACnD;AACA,mBAAmB,EAAE;AACrB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,2EAA2E,qBAAqB;AAChG;AACA,SAAS;AACT;AACA;AACA,2BAA2B;AAC3B,iBAAiB,IAAI;AACrB;AACA;AACA,oDAAoD,WAAW;AAC/D;AACA,sBAAsB,6DAAc;AACpC;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,kCAAkC,qBAAqB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,2BAA2B;AAC3B,iBAAiB,IAAI;AACrB;AACA;AACA,4DAA4D,WAAW;AACvE;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,wBAAwB,yBAAyB,KAAK,oBAAoB;AAC1E;AACA;AACA;AACA,IAAI;AACJ;AACA,eAAsB,EAAE;AACxB;AACA,+GAAyC,2BAA2B,EAAE;AACtE;AACA;AACA;AACA,mCAAmC,0BAA0B;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,4EAA4E,qBAAqB;AACjG;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,2BAA2B;AAC3B,iBAAiB,IAAI;AACrB;AACA;AACA,qDAAqD,WAAW;AAChE;AACA,uBAAuB,6DAAc;AACrC;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,wBAAwB,yBAAyB,KAAK,oBAAoB;AAC1E;AACA;AACA;AACA,IAAI;AACJ;AACA,eAAsB,EAAE;AACxB;AACA,+GAAyC,2BAA2B,EAAE;AACtE;AACA;AACA;AACA,mCAAmC,0BAA0B;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,4EAA4E,qBAAqB;AACjG;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,2BAA2B;AAC3B,iBAAiB,IAAI;AACrB;AACA;AACA,qDAAqD,WAAW;AAChE;AACA,uBAAuB,6DAAc;AACrC;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,eAAsB,EAAE;AACxB;AACA,+GAAyC,yBAAyB,EAAE;AACpE;AACA;AACA;AACA;AACA,iCAAiC,qBAAqB;AACtD;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,wDAAwD,2BAA2B;AACnF;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,0EAA0E,qBAAqB;AAC/F;AACA,gBAAgB;AAChB;AACA,+DAA+D,yGAAoD;AACnH;AACA,SAAS;AACT;AACA;AACA,2BAA2B;AAC3B,iBAAiB,IAAI;AACrB;AACA;AACA,mDAAmD,WAAW;AAC9D;AACA,qBAAqB,6DAAc;AACnC;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,sC;;;;;;;;;;;;ACtXA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,8CAA8C,gBAAgB;AAC9D;AACA;AACA;AACA,8CAA8C,gBAAgB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,4BAA4B,EAAE,UAAU,eAAe;AACvD,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,4BAA4B,EAAE,uBAAuB,QAAQ;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,4BAA4B,EAAE,UAAU,kBAAkB;AAC1D,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,4BAA4B,EAAE,UAAU,cAAc;AACtD;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA,SAAS;AACT;AACA;AACA,CAAC;AACD;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,8GAAwC;AACxC;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,4BAA4B,EAAE,UAAU,gBAAgB;AACxD;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,sC;;;;;;;;;;AC1KA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACqB;AACD;AACwB;AAC5C;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA,gBAAgB,iBAAiB;AACjC,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,+BAA+B,cAAc;AAC7C,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,wBAAwB,mBAAmB;AAC3C;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,mCAAmC,kBAAkB;AACrD,wCAAwC,uBAAuB;AAC/D;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA,mCAAmC,kBAAkB;AACrD,wCAAwC,uBAAuB;AAC/D,uBAAuB,EAAE,gDAAgD,gCAAgC,EAAE;AAC3G;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,kEAAmB;AAC5B;AACA;AACA,8CAA8C,WAAW;AACzD;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,wC;;;;;;;;;AClIA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACgC;AAChC,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,+C;;;;;;;;;ACVA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACqB;AACrB,eAAe,EAAE;AACjB,eAAsB,EAAE;AACxB,eAAe,EAAE;AACjB;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,wDAAwD,mCAAmC;AAC3F;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,4DAA4D,4CAA4C;AACxG;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,mDAAmD,sCAAsC,EAAE,cAAc;AACzG;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,mDAAmD,EAAE;AACrD;AACA;AACA;AACA,SAAS,kEAAmB;AAC5B;AACA;AACA,+CAA+C,WAAW;AAC1D;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,yC;;;;;;;;;;;;;;;;;;ACzFA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACqB;AACA;AACK;AACwB;AACtB;AACT;AACI;AACvB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,0DAA0D;AAC1D;AACA,CAAC;AACD;AACA;AACA,YAAY,kBAAkB;AAC9B,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iIAAiE,kHAAkE;AACnI;AACA;AACA;AACA;AACA;AACA;AACA,2HAA2D,sCAAsC;AACjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2HAA2D,gGAAgD;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,MAAM,yBAAyB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,SAAS,kEAAmB;AAC5B;AACA;AACA,gDAAgD;AAChD,SAAS,8EAAsB;AAC/B,SAAS,yFAAyB;AAClC,MAAM;AACN;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,yC;;;;;;;;;;;;;;;;;;;;ACrNA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACqB;AACkB;AAClB;AACK;AAC8C;AACtD;AACkB;AACb;AACJ;AACE;AACrB,eAAe,EAAE,0BAA0B;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,sBAAsB;AAC9B;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2HAA2D,iFAAiF;AAC5I;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD,sDAAsD,EAAE;AACjH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yFAAyF;AACzF;AACA;AACA;AACA;AACA;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA,iBAAiB,oBAAoB,uBAAuB,gBAAgB;AAC5E;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB;AACA;AACA,qCAAqC,4BAA4B;AACjE,qCAAqC,8BAA8B;AACnE;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,YAAY,qBAAqB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,wDAAwD;AACnE;AACA;AACA;AACA,QAAQ;AACR;AACA,QAAQ,4CAA4C;AACpD,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,kEAAmB;AAC5B;AACA;AACA,6CAA6C;AAC7C,SAAS,0EAAoB;AAC7B,SAAS,yFAAyB;AAClC,SAAS,2EAAsB;AAC/B,MAAM;AACN;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,uC;;;;;;;;;ACjSA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAC8B;AACJ;AAC1B;AACA,mCAAmC,eAAe,MAAM;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,yCAAyC,EAAE;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,8EAA8E,EAAE;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,gC;;;;;;;;;;;;;ACjFA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACqB;AACI;AACD;AACI;AACV;AAClB;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,+GAAgD,2BAA2B;AAC3E;AACA;AACA;AACA;AACA;AACA,+DAA+D,gBAAgB;AAC/E;AACA;AACA;AACA;AACA;AACA,WAAW,qBAAqB;AAChC;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,kBAAkB;AACtB,QAAQ,kBAAkB;AAC1B;AACA;AACA;AACA;AACA,WAAW,yBAAyB;AACpC,WAAW,YAAY;AACvB;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe,wDAAwD;AACjF;AACA,WAAW,0BAA0B;AACrC,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,2PAAkJ,EAAE;AACpJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,4NAAoG,aAAa;AACjH;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,4NAAoG,aAAa;AACjH;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,4NAAoG,aAAa;AACjH;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,SAAS,kEAAmB;AAC5B;AACA;AACA,uCAAuC;AACvC,SAAS,gFAA2B;AACpC,SAAS,uFAAwB;AACjC,MAAM;AACN;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe,wDAAwD;AACjF;AACA,WAAW,0BAA0B;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,+MAAsG,EAAE;AACxG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,kEAAmB;AAC5B;AACA;AACA,wCAAwC;AACxC,SAAS,gFAA2B;AACpC,SAAS,uFAAwB;AACjC,MAAM;AACN;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,gC;;;;;;;;;;;;;ACrSA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACe;AACO;AACJ;AACY;AACJ;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E,YAAY;AACxF,IAAI,aAAa;AACjB,qFAAqF,YAAY;AACjG;AACA;AACA;AACA,WAAW,qBAAqB;AAChC,WAAW,6CAA6C;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,QAAQ,eAAe;AACvB,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,eAAe,EAAE,wBAAwB;AACzC,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAsB,EAAE;AACxB,0C;;;;;;;;;;;ACpMA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACyB;AACE;AACmB;AACjB;AAC7B;AACA;AACA;AACA;AACA,mBAAmB,cAAc,kMAAwD,GAAG;AAC5F;AACA,KAAK;AACL;AACA,8C;;;;;;;;;ACnBA;AAAA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACyB;AACJ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,iCAAiC;AACpE;AACA;AACA;AACA;AACA,SAAS,kEAAmB;AAC5B;AACA;AACA,qDAAqD,WAAW;AAChE;AACA,CAAC;AACD,gD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrDA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACyC;AACgI;AAC/I;AACI;AACF;AACM;AACF;AAChB;AACkB;AACjB;AAC2B;AACzB;AACO;AACoB;AAC6B;AACjD;AACsB;AACP;AACzC,eAAsB,EAAE;AACxB,KAAK,sHAAuE;AAC5E,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB,KAAK,4KAAgD;AACrD,KAAK,8MAAoD;AACzD;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,yDAAyD,2GAA4D;AACrH,yBAAyB,+GAAqD;AAC9E,yBAAyB,8MAAyE;AAClG,yBAAyB,8MAAyE;AAClG,yBAAyB,wNAA8E;AACvG,yBAAyB,4MAAgE;AACzF,yBAAyB,+KAAuD;AAChF,yBAAyB,iKAAsD;AAC/E,yBAAyB,kMAA8D;AACvF,yBAAyB,0IAAuE;AAChG;AACA;AACA;AACA,iBAAiB,IAAI;AACrB;AACA;AACA,gDAAgD;AAChD,SAAS,oCAAoC,gEAAiB,GAAG,gEAAiB,IAAI;AACtF,MAAM;AACN;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,mC;;;;;;;;;;;ACtHA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AAC4B;AACyB;AAClB;AACnC,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,iEAAiE,0CAA0C;AAC3G;AACA,gBAAgB;AAChB;AACA,iDAAiD,6HAA4C;AAC7F;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,wEAAwE,wBAAwB;AAChG;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,0EAA0E,sBAAsB;AAChG;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,mEAAmE,qBAAqB;AACxF;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,0EAA0E,2CAA2C,QAAQ;AAC7H;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,uBAAuB,EAAE;AACnD;AACA;AACA,KAAK;AACL;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,6DAA6D,yCAAyC;AACtG;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,4EAA4E,sCAAsC;AAClH;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,mEAAmE,2CAA2C;AAC9G;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,4BAA4B,8CAA8C;AAC1E;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,oEAAoE,uBAAuB;AAC3F;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,8DAA8D,qBAAqB;AACnF;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,8DAA8D,qBAAqB;AACnF;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,4DAA4D,sBAAsB;AAClF;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,6DAA6D,uBAAuB;AACpF;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,wDAAwD,kBAAkB;AAC1E;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,4DAA4D,sBAAsB;AAClF;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,6DAA6D,uBAAuB;AACpF;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,+DAA+D,sBAAsB;AACrF;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,4DAA4D,sBAAsB;AAClF;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,4BAA4B,EAAE,UAAU,uBAAuB;AAC/D;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,mEAAmE,sBAAsB;AACzF;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,mEAAmE,sBAAsB;AACzF;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,kFAAkF,qCAAqC;AACvH;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,oEAAoE,sCAAsC;AAC1G;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,oCAAoC,0CAA0C,EAAE;AAChF;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,mEAAmE,kDAAkD;AACrH;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,qEAAqE,sBAAsB;AAC3F;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,yDAAyD,uBAAuB;AAChF;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,gEAAgE,wBAAwB;AACxF;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,0DAA0D,iBAAiB;AAC3E;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,iEAAiE,kBAAkB;AACnF;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,4DAA4D,mBAAmB;AAC/E;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,mEAAmE,oBAAoB;AACvF;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,iEAAiE,qCAAqC;AACtG;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,6BAA6B,gBAAgB;AAC7C;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,6BAA6B,gBAAgB;AAC7C;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,6BAA6B,gBAAgB;AAC7C;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,6BAA6B,gBAAgB;AAC7C,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,6BAA6B,gBAAgB;AAC7C,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,kEAAkE,kCAAkC;AACpG;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,+DAA+D,0BAA0B;AACzF;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,yDAAyD,oBAAoB;AAC7E;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,yDAAyD,6BAA6B;AACtF;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,gEAAgE,yDAAyD;AACzH;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,0EAA0E,kCAAkC;AAC5G;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,6EAA6E,qCAAqC;AAClH;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,0EAA0E,iCAAiC;AAC3G;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,oCAAoC,mBAAmB;AACvD,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,8DAA8D,wBAAwB;AACtF;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,4BAA4B,EAAE,UAAU,oBAAoB;AAC5D,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,gFAAgF,mCAAmC;AACnH;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,iFAAiF,oCAAoC;AACrH;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,mEAAmE,2DAA2D;AAC9H;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,0DAA0D,iBAAiB;AAC3E;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,gBAAgB;AAChB;AACA,wDAAwD,uBAAuB;AAC/E;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,gEAAgE,iCAAiC;AACjG;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,8DAA8D,yCAAyC;AACvG;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,iEAAiE,4CAA4C;AAC7G;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,iEAAiE,4CAA4C;AAC7G;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,gEAAgE,yCAAyC;AACzG;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,iEAAiE,gEAAgE;AACjI;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,6DAA6D,iCAAiC;AAC9F;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,yDAAyD,oBAAoB;AAC7E;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,0DAA0D,uBAAuB;AACjF;AACA,gBAAgB;AAChB;AACA,2DAA2D,wBAAwB;AACnF;AACA,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,gBAAgB;AAChB;AACA,gEAAgE,oBAAoB;AACpF;AACA,gBAAgB;AAChB;AACA,4DAA4D,mCAAmC;AAC/F;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,uEAAuE,kCAAkC;AACzG;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,uEAAuE,wKAAqC;AAC5G;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,+DAA+D,aAAa;AAC5E;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,6DAA6D,gDAAgD;AAC7G;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,eAAe,EAAE;AACjB;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,4CAA4C,GAAG,gBAAgB;AAC/D;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2C;;;;;;;;;;;ACn5BA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AAC2B;AACN;AACJ;AACO;AACxB;AACA;AACA;AACA,IAAI,gBAAgB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,uBAAuB,EAAE;AACnD;AACA;AACA,KAAK;AACL;AACA,gBAAgB;AAChB;AACA,wEAAwE,gHAA+B;AACvG;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,gCAAgC,EAAE;AAC5D;AACA,mBAAmB,EAAE;AACrB,oBAAoB;AACpB;AACA,iCAAiC,mCAAmC,EAAE;AACtE;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,8BAA8B,EAAE;AAC1D;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,4BAA4B,EAAE;AACxD;AACA;AACA,KAAK;AACL;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,6DAA6D,yBAAyB;AACtF;AACA,gBAAgB;AAChB;AACA,0DAA0D,sBAAsB;AAChF;AACA,SAAS,kEAAmB;AAC5B;AACA;AACA,0DAA0D,WAAW;AACrE;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,qD;;;;;;;;;;AClJA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAC+B;AACd;AACW;AAC5B;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,8CAA8C,yHAAmD;AACjG;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,6CAA6C,wBAAwB;AACrE,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA,+GAAyD,uCAAuC;AAChG,8GAAwD,sCAAsC;AAC9F,uBAAuB,EAAE;AACzB,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,uC;;;;;;;;AC5EA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,4CAA4C,6GAA4B;AACxE;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,oDAAoD,8GAA6B;AACjF;AACA,CAAC;AACD,iC;;;;;;;;;AClCA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACqB;AACQ;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,+DAA+D,aAAa;AAC5E;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uDAAuD,EAAE;AACzD,4BAA4B,0DAA0D,EAAE,sBAAsB;AAC9G;AACA;AACA,SAAS,kEAAmB;AAC5B;AACA;AACA,kDAAkD,WAAW;AAC7D;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,sC;;;;;;;;;;AClDA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACqB;AACJ;AACY;AAC7B,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,6BAA6B,qBAAqB,EAAE;AACpD,iCAAiC,sBAAsB,EAAE;AACzD,8BAA8B,sBAAsB,EAAE;AACtD,+BAA+B,uBAAuB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,+DAA+D,0DAA0D;AACzH;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA,SAAS;AACT;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,6CAA6C,uBAAuB,EAAE;AACtE;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,kEAAmB;AAC5B;AACA;AACA,kDAAkD,WAAW;AAC7D;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,sC;;;;;;;;;ACjJA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACoB;AACU;AAC9B;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,yCAAyC,sBAAsB;AAC/D,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA,oEAAoE;AACpE;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0JAA0F,EAAE;AAC5F;AACA;AACA,CAAC;AACD;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,4CAA4C,6CAA6C,0BAA0B,EAAE,EAAE,EAAE;AACzH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA,iD;;;;;;;;;;;;ACvFA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACsC;AACf;AACC;AACF;AACd;AAAA;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,iEAAiE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,uEAAuE;AACvE;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,wEAAwE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,yEAAyE;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,sEAAsE;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,8EAA8E;AAC9E;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,2EAA2E,gCAAgC;AAC3G;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,4EAA4E,iCAAiC;AAC7G;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,6EAA6E,kCAAkC;AAC/G;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,0EAA0E,+BAA+B;AACzG;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,SAAS,kEAAmB;AAC5B;AACA;AACA,mDAAmD,WAAW;AAC9D;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,uDAAuD;AACvD;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,sDAAsD,eAAe;AACrE;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,uDAAuD,gBAAgB;AACvE;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,wDAAwD,iBAAiB;AACzE;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,qDAAqD,cAAc;AACnE;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,6DAA6D,sBAAsB;AACnF;AACA,CAAC;AACD,oD;;;;;;;;;;ACnTA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACkE;AAClC;AACS;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wFAAwF;AACxF,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,mEAAmE,YAAY;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,mDAAmD,uBAAuB,EAAE;AAC5E,4DAA4D,uBAAuB,EAAE;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL,iEAAiE,eAAe;AAChF,0DAA0D,iCAAiC;AAC3F;AACA;AACA;AACA;AACA;AACA,2CAA2C,iFAAiF,EAAE;AAC9H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,yEAA0B,iCAAiC,IAAI;AACxE;AACA;AACA;AACA,SAAS,iEAAgB;AACzB,SAAS,mEAAoB;AAC7B,SAAS,iEAAkB;AAC3B;AACA;AACA,mBAAmB,iJAA4C,oBAAoB,IAAI;AACvF,4BAA4B,yJAAoD,oBAAoB,IAAI;AACxG,qCAAqC,6DAAc;AACnD,8BAA8B,6DAAc;AAC5C;AACA;AACA,CAAC;AACD,8C;;;;;;;;;;ACrIA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACqH;AAC3F;AACD;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,4HAA2E;AACjI;AACA,0BAA0B,yBAAyB,EAAE;AACrD;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,yEAA0B,4BAA4B,IAAI;AACnE;AACA;AACA;AACA,SAAS,qFAAyB;AAClC,SAAS,yEAA0B;AACnC,SAAS,iFAAkC;AAC3C,SAAS,gCAAgC,kFAAmC,IAAI;AAChF;AACA;AACA,4BAA4B,mFAAoC;AAChE,8BAA8B,qFAAsC;AACpE;AACA;AACA,CAAC;AACD,yC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClHA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACkH;AACmF;AAC5J;AACd;AACJ;AACN;AACA;AACS;AACqD;AACtD;AACqB;AAC5B;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAe,iKAAyD;AACxE;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,kFAAsB,yKAAiE;AACvF,KAAK,iKAAmE;AACxE,mFAAwB,2CAA2C,uBAAuB;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,iBAAiB,8DAA8D,EAAE;AACjF;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,SAAS,wEAAyB,8DAA8D,IAAI;AACpG;AACA;AACA;AACA,SAAS,gCAAgC,gEAAiB,GAAG,6FAA8C,IAAI;AAC/G;AACA;AACA,CAAC;AACD;AACA,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,sHAAuE;AAChF,SAAS;AACT;AACA;AACA;AACA,0BAA0B,WAAW;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yC;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvOA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACgE;AACjD;AACF;AACI;AACG;AACH;AACE;AACA;AACa;AACH;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,sCAAsC;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mGAA8C,4FAAiB,EAAE;AACjE;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,4FAAiB;AAC5E;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8HAAwE,oFAAmC,EAAE;AAC7G,8HAAqE,wBAAwB,EAAE,0BAA0B,EAAE;AAC3H;AACA,qDAAqD,8DAA8D;AACnH,yDAAyD,iCAAiC;AAC1F;AACA;AACA,2CAA2C,sBAAsB;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,SAAS,kEAAmB;AAC5B;AACA;AACA;AACA,SAAS,iEAAgB;AACzB,SAAS,8EAA+B;AACxC,SAAS,iEAAkB;AAC3B,SAAS,iEAAkB;AAC3B,SAAS,4BAA4B;AACrC;AACA;AACA,CAAC;AACD,4C;;;;;;;;;;;;;;;;;;;ACh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rE,QAAQ,EAAE,sBAAsB;CAGjC,CAAC;;;;;;;;ACNF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,uC;;;;;;;AC7FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,uDAAuD;AAC1F;AACA;AACA,mCAAmC,0DAA0D;AAC7F;AACA;AACA,mCAAmC,yDAAyD;AAC5F;AACA;AACA,mCAAmC,0DAA0D;AAC7F;AACA;AACA,mCAAmC,2DAA2D;AAC9F;AACA;AACA,mCAAmC,wDAAwD;AAC3F;AACA;AACA,mCAAmC,2DAA2D;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,qC;;;;;;;ACxGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,mBAAmB;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,uC;;;;;;;ACpFA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA,oC;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,mCAAmC,EAAE;AAC/E,SAAS;AACT;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA,0CAA0C,SAAS;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA,CAAC;AACD;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,iBAAiB,kCAAkC;AACnD;AACA;AACA;AACA;AACA,yC;;;;;;;ACrGA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,iBAAiB,uBAAuB;AACxC;AACA;AACA,4C;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,iBAAiB,uBAAuB;AACxC;AACA;AACA,2C;;;;;;;AC1BA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA,yC;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA,0C;;;;;;;AC7BA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA,sC;;;;;;;ACvBA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA,uC;;;;;;;ACvBA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA,sC;;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA,yC;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,mCAAmC,EAAE;AACvF,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,iBAAiB,iCAAiC;AAClD;AACA;AACA;AACA,yC;;;;;;;AChGA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA,oC;;;;;;ACvBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gBAAgB,kBAAkB;AAClC;AACA;;AAEA;AACA;AACA;;AAEA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF,MAAM;AACN,aAAa,kBAAkB;AAC/B;AACA;;AAEA;AACA,EAAE;AACF,MAAM;AACN;;AAEA,aAAa,kBAAkB;AAC/B;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,YAAY,kBAAkB;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;ACpeA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO,2BAA2B;AAClC,OAAO,2BAA2B;AAClC,OAAO,2BAA2B;AAClC,OAAO,2BAA2B;AAClC,QAAQ,4BAA4B;AACpC,OAAO,2BAA2B;AAClC,OAAO,2BAA2B;AAClC,OAAO,2BAA2B;AAClC,OAAO,6BAA6B;AACpC,WAAW,iCAAiC;AAC5C,UAAU,gCAAgC;AAC1C,WAAW,iCAAiC;AAC5C,OAAO,qCAAqC;AAC5C,SAAS,2CAA2C;AACpD,QAAQ;AACR;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qDAAqD,gBAAgB;AACrE,mDAAmD,cAAc;AACjE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;;AAEA;;AAEA;AACA,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,OAAO,QAAQ;AAC/B,gBAAgB,OAAO,QAAQ;AAC/B,iBAAiB,OAAO,OAAO;AAC/B,iBAAiB,OAAO,OAAO;AAC/B,gBAAgB,QAAQ,OAAO;AAC/B,gBAAgB,QAAQ,OAAO;AAC/B;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,sEAAsE;;AAEtE;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,sBAAsB;AACtB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,+CAA+C,EAAE,UAAU,EAAE;AAC7D;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,aAAa,aAAa;AACzC;AACA,eAAe,aAAa,aAAa;AACzC;AACA,eAAe,aAAa,aAAa;AACzC;AACA,eAAe,aAAa,aAAa;AACzC;AACA,eAAe,aAAa,aAAa;AACzC;AACA,eAAe,aAAa;AAC5B;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;ACn2BA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACvJA,iBAAiB;;AAEjB;AACA;AACA,E;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACNA;AACA;AACA;AACA,a;;;;;;ACHA;AACA;AACA;AACA;AACA,E;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4BAA4B,aAAa;;AAEzC;AACA;AACA;AACA;AACA;AACA,wCAAwC,oCAAoC;AAC5E,4CAA4C,oCAAoC;AAChF,KAAK,2BAA2B,oCAAoC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,mBAAmB;AACnC;AACA;AACA,iCAAiC,2BAA2B;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,E;;;;;;ACrEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACPA;AACA;AACA;;AAEA;AACA,kEAAkE,+BAA+B;AACjG,E;;;;;;ACNA;AACA;AACA,mDAAmD;AACnD;AACA,uCAAuC;AACvC,E;;;;;;ACLA;AACA;AACA;AACA;AACA,E;;;;;;ACJA;AACA;AACA;AACA;AACA,E;;;;;;ACJA;AACA;AACA;AACA;AACA,E;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,WAAW,eAAe;AAC/B;AACA,KAAK;AACL;AACA,E;;;;;;ACpBA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,sCAAsC;AAC7C;AACA;AACA;AACA,E;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0BAA0B,SAAS;AACnC;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACvBA;AACA;AACA;AACA;AACA,yBAAyB,kBAAkB,EAAE;;AAE7C;AACA;AACA;AACA;AACA,GAAG,UAAU;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,sBAAsB,OAAO;AAC7B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,0BAA0B;AAC1B,0BAA0B;AAC1B,qBAAqB;AACrB;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,6DAA6D,OAAO;AACpE;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,qBAAqB;AACrB,0BAA0B;AAC1B,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,E;;;;;;;AC7IA;AACA;AACA;;AAEA;AACA;AACA;AACA,E;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACNA,8E;;;;;;ACAA;AACA,sEAAsE,gBAAgB,UAAU,GAAG;AACnG,CAAC,E;;;;;;ACFD;AACA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,E;;;;;;;ACXA;AACA;AACA;AACA;AACA;;AAEA;AACA,2FAAgF,aAAa,EAAE;;AAE/F;AACA,qDAAqD,0BAA0B;AAC/E;AACA,E;;;;;;ACZA;AACA;;AAEA;AACA;AACA,+BAA+B,qBAAqB;AACpD,+BAA+B,SAAS,EAAE;AAC1C,CAAC,UAAU;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,SAAS,mBAAmB;AACvD,+BAA+B,aAAa;AAC5C;AACA,GAAG,UAAU;AACb;AACA,E;;;;;;ACpBA;AACA,UAAU;AACV,E;;;;;;ACFA;AACA;AACA;AACA,E;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,UAAU,EAAE;AAC9C,mBAAmB,sCAAsC;AACzD,CAAC,oCAAoC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC,W;;;;;;AChCD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACZA;AACA;AACA;AACA,kBAAkB;;AAElB;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;;;;;;AClBA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;AChBA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,e;;;;;;ACPD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC,a;;;;;;ACRD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;AChBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAM;AACb;AACA,E;;;;;;ACXA,oC;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;ACPA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,cAAc;AACd,iBAAiB;AACjB;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA,4B;;;;;;;ACjCA;AACA;;AAEA;AACA;AACA,wBAAwB,mEAAmE;AAC3F,CAAC;AACD;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC,gB;;;;;;AChBD;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACJD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC,E;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC,E;;;;;;ACXD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC,E;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,2BAA2B;AACjD,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,iFAAiF;AACjF;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC,E;;;;;;;ACrED;AACA;;AAEA;AACA;AACA,wBAAwB,mEAAmE;AAC3F,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC,U;;;;;;;ACXD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB;AACtB,oBAAoB,uBAAuB,SAAS,IAAI;AACxD,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA,KAAK;AACL;AACA,sBAAsB,iCAAiC;AACvD,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D,8BAA8B;AAC5F;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,0DAA0D,gBAAgB;;AAE1E;AACA;AACA;AACA,oBAAoB,oBAAoB;;AAExC,0CAA0C,oBAAoB;;AAE9D;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH,wBAAwB,eAAe,EAAE;AACzC,wBAAwB,gBAAgB;AACxC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,KAAK,QAAQ,iCAAiC;AAClG,CAAC;AACD;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0C;;;;;;AC1OA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wGAAwG,OAAO;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH,oBAAoB,SAAS;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;AC7SA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEwY;;AAEzM;;AAE9F;;AAEtE;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,4BAAmC;AACnC;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iDAAiD,KAAK;AACtD;AACA;AACA;AACA,yCAAyC,KAAK;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,0GAA0D,IAAI;;AAE9D;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,EAAE;AACF;AACA;AACA;AACA;AACA;;AAEA;AACA,kIAAoE,gEAAgE;AACpI;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,EAAE;AACF;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,EAAE;AACF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oIAAsE,mEAAmE;AACzI;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,sDAAsD;AACtD;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;;AAEA;AACA,qHAAuD,mEAAmE;AAC1H;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA,CAAC;;AAED;;;AAGA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mHAAqD,mEAAmE;AACxH;;AAEA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uC;;;;;;;;;;;ACv1BwC;AACM;;AAE1B;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,qCAAqC;AAClD,aAAa,qCAAqC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oC;;;;;;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,iBAAiB,IAAI;AACrB;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,2CAA2C,mjB;;;;;;;AChB3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,8PAA8P,oBAAoB,kIAAkI,kBAAkB;AACta,iBAAiB,IAAI;AACrB;AACA;AACA;AACA,SAAS,gCAAgC;AACzC;AACA;AACA,gCAAgC,sDAAsD;AACtF,gCAAgC,sDAAsD;AACtF,8BAA8B,oDAAoD;AAClF;AACA;AACA,CAAC;AACD;AACA,2CAA2C,2qC;;;;;;;AC5B3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,2QAA2Q;AAC3Q,iBAAiB,IAAI;AACrB;AACA;AACA;AACA,SAAS,gCAAgC;AACzC;AACA;AACA,uBAAuB,4CAA4C;AACnE;AACA;AACA,CAAC;AACD;AACA,2CAA2C,u3B;;;;;;;ACxB3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,CAAC,kDAAkD;AACnD;AACA,2CAA2C,2gI;;;;;;;AC5F3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,iBAAiB,IAAI;AACrB;AACA;AACA;AACA,SAAS,0CAA0C,oBAAoB,IAAI;AAC3E,SAAS,2BAA2B;AACpC;AACA;AACA,0BAA0B,8CAA8C;AACxE,6BAA6B,4DAA4D;AACzF,qBAAqB,8CAA8C;AACnE,oBAAoB,yDAAyD;AAC7E;AACA;AACA,CAAC;AACD;AACA,wC;;;;;;;ACpHA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,+C;;;;;;;ACbA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,0BAA0B;AAC1D,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,kBAAkB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mFAAmF;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,yBAAyB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,oCAAoC;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,oCAAoC;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,yBAAyB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,4BAA4B;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,yBAAyB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,yBAAyB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA,+BAA+B,0BAA0B;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,oCAAoC;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,yBAAyB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iCAAiC;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,wC;;;;;;;ACv+BA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,kBAAkB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,CAAC;AACD;AACA,KAAK;AACL;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,oDAAoD;AACpD,KAAK,yBAAyB;AAC9B,EAAE;AACF;AACA,oBAAoB,2DAA2D;AAC/E,kBAAkB,0CAA0C;AAC5D,eAAe,uCAAuC;AACtD,iBAAiB,qBAAqB;AACtC,sBAAsB,qBAAqB;AAC3C,4BAA4B,sBAAsB;AAClD,gBAAgB,sBAAsB;AACtC;AACA;AACA,iD;;;;;;;ACpNA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA,2BAA2B,OAAO;AAClC,2BAA2B,OAAO;AAClC,2BAA2B,OAAO;AAClC,2BAA2B,OAAO;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,wC;;;;;;;ACvBA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,kC;;;;;;;AC5CA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA,2BAA2B,OAAO;AAClC,2BAA2B,OAAO;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AACA,iC;;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA,2CAA2C,20B;;;;;;;ACZ3C;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,8CAA8C,EAAE;AACzF,+BAA+B,uBAAuB,EAAE;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,6BAA6B;AAC5D;AACA;AACA,gCAAgC,2CAA2C;AAC3E;AACA;AACA,gCAAgC,6BAA6B;AAC7D;AACA;AACA,gCAAgC,6BAA6B;AAC7D;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,eAAe,EAAE;AAC9C;AACA,SAAS;AACT;AACA;AACA;AACA,CAAC;AACD;AACA,2CAA2C,mrR;;;;;;;AC1L3C;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,KAAK,0BAA0B;AAC/B;AACA;AACA,4CAA4C;AAC5C,KAAK,yCAAyC;AAC9C,KAAK,+BAA+B;AACpC,KAAK,mDAAmD,wBAAwB,IAAI;AACpF,EAAE;AACF;AACA,yC;;;;;;;AClJA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,iC;;;;;;;;;;;ACpBuC;AACnB;AACO;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,qCAAqC,qBAAqB;AAC1D;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,iBAAiB,IAAI;AACrB;AACA;AACA,qDAAqD;AACrD,SAAS,sFAA0B;AACnC,SAAS,mEAAoB;AAC7B,MAAM;AACN;AACA,uBAAuB,6DAAc;AACrC,6BAA6B,6DAAc;AAC3C;AACA;AACA,CAAC;;;;;;;;;;;;ACnI6C;AACnB;AACC;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAsE,IAAI,GAAG,MAAM,GAAG;AACtF,yFAAyF,MAAM,KAAK;AACpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,kEAAmB;AAC5B,SAAS;AACT;AACA;AACA,iBAAiB,IAAI;AACrB;AACA;AACA,gDAAgD;AAChD,SAAS,sFAA0B;AACnC,SAAS,0EAA2B;AACpC,MAAM;AACN;AACA,CAAC;;;;;;;;AClID;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA,iC;;;;;;;ACPA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA,iC;;;;;;;ACPA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA,iC;;;;;;;ACPA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA,iC;;;;;;;ACPA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA,iC;;;;;;;ACPA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA,iC;;;;;;;ACPA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA,iC;;;;;;;ACPA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA,iC;;;;;;;ACPA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA,iC;;;;;;;ACPA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA,iC;;;;;;;ACPA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA,iC;;;;;;;ACPA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA,iC;;;;;;;ACPA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA,iC;;;;;;;ACPA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA,iC;;;;;;;ACPA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA,iC;;;;;;;ACPA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA,iC;;;;;;;ACPA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA,iC;;;;;;;ACPA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA,iC;;;;;;;ACPA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA,iC;;;;;;;ACPA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA,iC;;;;;;;ACPA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA,iC;;;;;;;ACPA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA,iC;;;;;;;ACPA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA,iC;;;;;;;ACPA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA,iC;;;;;;;ACPA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA,iC;;;;;;;;;ACPA;AAAA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACiD;AACV;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACO;AACR;AACA,KAAK;AACL;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,sDAAsD;AACtD,KAAK,mEAAoB;AACzB,KAAK,iEAAkB;AACvB,EAAE;AACF;AACA,cAAc,6DAAc;AAC5B,eAAe,6DAAc;AAC7B,uBAAuB,6DAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4C;;;;;;;;;ACrEA;AAAA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACiD;AACV;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACO;AACR;AACA,KAAK;AACL;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,kDAAkD;AAClD,KAAK,mEAAoB;AACzB,KAAK,iEAAkB;AACvB,EAAE;AACF;AACA,qBAAqB,6DAAc;AACnC,cAAc,6DAAc;AAC5B,gBAAgB,6DAAc;AAC9B,kBAAkB,6DAAc;AAChC,iBAAiB,6DAAc;AAC/B,eAAe,6DAAc;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uC;;;;;;;;;AC7FA;AAAA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACiD;AACV;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACO;AACR;AACA,KAAK;AACL;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,gDAAgD;AAChD,KAAK,mEAAoB;AACzB,KAAK,iEAAkB;AACvB,EAAE;AACF;AACA,qBAAqB,6DAAc;AACnC,cAAc,6DAAc;AAC5B,yBAAyB,6DAAc;AACvC,gBAAgB,6DAAc;AAC9B,mBAAmB,6DAAc;AACjC,cAAc,6DAAc;AAC5B,eAAe,6DAAc;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qC;;;;;;;;;ACvFA;AAAA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACiD;AACV;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACO;AACR;AACA,KAAK;AACL;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,8CAA8C;AAC9C,KAAK,mEAAoB;AACzB,KAAK,iEAAkB;AACvB,EAAE;AACF;AACA,gBAAgB,6DAAc;AAC9B,qBAAqB,6DAAc;AACnC,cAAc,6DAAc;AAC5B,yBAAyB,6DAAc;AACvC,gBAAgB,6DAAc;AAC9B,aAAa,6DAAc;AAC3B,eAAe,6DAAc;AAC7B,mBAAmB,6DAAc;AACjC,cAAc,6DAAc;AAC5B,eAAe,6DAAc;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mC;;;;;;;;;AC9GA;AAAA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACiD;AACV;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACO;AACR;AACA,KAAK;AACL;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,8CAA8C;AAC9C,KAAK,mEAAoB;AACzB,KAAK,iEAAkB;AACvB,EAAE;AACF;AACA,cAAc,6DAAc;AAC5B,eAAe,6DAAc;AAC7B,gBAAgB,6DAAc;AAC9B,cAAc,6DAAc;AAC5B,mBAAmB,6DAAc;AACjC,sBAAsB,6DAAc;AACpC,iBAAiB,6DAAc;AAC/B,qBAAqB,6DAAc;AACnC,6BAA6B,6DAAc;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mC;;;;;;;;;AClGA;AAAA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACiD;AACV;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACO;AACR;AACA,KAAK;AACL;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,8CAA8C;AAC9C,KAAK,mEAAoB;AACzB,KAAK,iEAAkB;AACvB,EAAE;AACF;AACA,cAAc,6DAAc;AAC5B,eAAe,6DAAc;AAC7B,kBAAkB,6DAAc;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mC;;;;;;;;;ACrEA;AAAA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACiD;AACV;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACO;AACR;AACA,KAAK;AACL;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,+CAA+C;AAC/C,KAAK,mEAAoB;AACzB,KAAK,iEAAkB;AACvB,EAAE;AACF;AACA,cAAc,6DAAc;AAC5B,gBAAgB,6DAAc;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;;;AChEA;AAAA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACiD;AACV;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACO;AACR;AACA,KAAK;AACL;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,8CAA8C;AAC9C,KAAK,mEAAoB;AACzB,KAAK,iEAAkB;AACvB,EAAE;AACF;AACA,aAAa,6DAAc;AAC3B;AACA;AACA;AACA;AACA;AACA,mC;;;;;;;;;AChEA;AAAA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACiD;AACV;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACO;AACR;AACA,KAAK;AACL;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,8CAA8C;AAC9C,KAAK,mEAAoB;AACzB,KAAK,iEAAkB;AACvB,EAAE;AACF;AACA,qBAAqB,6DAAc;AACnC,cAAc,6DAAc;AAC5B,yBAAyB,6DAAc;AACvC,aAAa,6DAAc;AAC3B,cAAc,6DAAc;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mC;;;;;;;;;ACnFA;AAAA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACiD;AACV;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACO;AACR;AACA,KAAK;AACL;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,+CAA+C;AAC/C,KAAK,mEAAoB;AACzB,KAAK,iEAAkB;AACvB,EAAE;AACF;AACA,cAAc,6DAAc;AAC5B,gBAAgB,6DAAc;AAC9B,sBAAsB,6DAAc;AACpC,cAAc,6DAAc;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;;;ACzEA;AAAA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACuE;AACZ;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC,WAAW,mBAAmB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gGAAgG,qCAAqC,EAAE,qDAAqD,6BAA6B,EAAE,8DAA8D,sCAAsC,EAAE,+DAA+D,uCAAuC,EAAE,gEAAgE,wCAAwC,EAAE,oDAAoD,4BAA4B,EAAE;AACrmB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA,uBAAuB;AACvB;AACA,0DAA0D;AAC1D;AACA;AACA;AACA,mDAAmD;AACnD;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA;AACA,sDAAsD,QAAQ;AAC9D;AACA;AACA;AACA;AACA,8DAA8D;AAC9D;AACA;AACA;AACA,wDAAwD,QAAQ;AAChE;AACA;AACA;AACA,iEAAiE;AACjE;AACA;AACA;AACA,0DAA0D;AAC1D;AACA,CAAC;AACO;AACR;AACA,KAAK;AACL;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,+CAA+C;AAC/C,KAAK,mEAAoB;AACzB,KAAK,iEAAkB;AACvB,EAAE;AACF;AACA,cAAc,6DAAc;AAC5B,yBAAyB,6DAAc;AACvC,kBAAkB,6DAAc;AAChC,eAAe,6DAAc;AAC7B,kBAAkB,6DAAc;AAChC,sBAAsB,6DAAc;AACpC,wBAAwB,8DAAe;AACvC,gBAAgB,8DAAe;AAC/B,yBAAyB,8DAAe;AACxC,0BAA0B,8DAAe;AACzC,2BAA2B,8DAAe;AAC1C,eAAe,8DAAe;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;;;ACzQqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,8BAA8B;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,WAAW;AACjC,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,OAAO;AAC3B,4BAA4B,OAAO;AACnC,wBAAwB,OAAO;AAC/B,iBAAiB;AACjB;AACA;AACA,gCAAgC,gBAAgB;AAChD,gCAAgC,aAAa;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,SAAS;AAC/B,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,aAAa;AACtC,iBAAiB,uBAAuB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,aAAa;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,eAAe,gCAAgC;AAC/C;AACA;AACA;AACA;AACA;AACA,iBAAiB,aAAa;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACO;AACR;AACA,KAAK,kEAAmB;AACxB;AACA;AACA,8CAA8C,WAAW;AACzD,oC;;;;;;;AClNA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,mC;;;;;;;AChGA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;;;AAGA;;;;;;;;AC/BA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA,iBAAiB,SAAS;AAC1B;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;;AAEA;;AAEA,mBAAmB,SAAS;AAC5B;AACA;;AAEA,sBAAsB;AACtB;;;AAGA;;;;;;;;ACxCA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yEAAyE,6EAA6E;AACtJ;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iDAAiD,0FAA0F;;AAE3I;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,kGAAkG;AAClG,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA,4FAA4F;AAC5F,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,gDAAgD;;AAEhD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sCAAsC;;AAEtC;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD;AACxD;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,4CAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB;;AAEpB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,SAAS;AAC5B;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA,4EAA4E;;AAE5E;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,iBAAiB,yBAAyB;AAC1C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mDAAmD;AACnD;AACA,mDAAmD,iEAAiE;AACpH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA,uCAAuC;AACvC,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gCAAgC,OAAO;AACvC;AACA;AACA;AACA,C;;;;;;;;AC1/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,YAAY;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,C;;;;;;;ACrNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iDAAiD,0FAA0F;;AAE3I;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iCAAiC;;AAEjC;;AAEA,2CAA2C;AAC3C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,oDAAoD;AACpD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,E;;;;;;;;AC9qBA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,E;;;;;;ACzEA;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,UAAU;AACxB;AACA,cAAc,UAAU;AACxB;AACA;AACA;AACA,cAAc,UAAU;AACxB;AACA,cAAc,UAAU;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,cAAc;AAC5B;AACA;AACA;AACA;AACA;AACA,cAAc,cAAc;AAC5B;AACA,cAAc,cAAc;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8B;;;;;;;ACnOA;AACA;AACA;AACA;AACA,qC;;;;;;;ACJA;AACA;AACA;AACA;AACA,8B;;;;;;;ACJA;AACA;AACA;AACA;AACA,iC;;;;;;;ACJA;AACA;AACA;AACA;AACA,iC;;;;;;;ACJA;AACA;AACA;AACA;AACA,gC;;;;;;;ACJA;AACA;AACA;AACA;AACA,mC;;;;;;;ACJA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,0CAA0C,EAAE;AAC7E;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,aAAa;AACb,aAAa;AACb,aAAa;AACb;AACA,eAAe,mBAAmB;AAClC;AACA;AACA,eAAe,UAAU;AACzB;AACA,gBAAgB,cAAc;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,0C;;;;;;;ACnHA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,+C;;;;;;;AC1BA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,aAAa;AACb;AACA,eAAe,WAAW;AAC1B,eAAe,UAAU;AACzB;AACA,gBAAgB,cAAc;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,wDAAwD,WAAW,EAAE;AACrE,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,gEAAgE,4CAA4C;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E,uCAAuC;AACnH;AACA,iBAAiB;AACjB;AACA,6EAA6E,mCAAmC;AAChH;AACA,iBAAiB;AACjB;AACA;AACA,wDAAwD,WAAW,EAAE;AACrE,iBAAiB;AACjB;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6C;;;;;;;ACxHA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,OAAO;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,gBAAgB;AAC7C,+BAA+B,4CAA4C;AAC3E;AACA;AACA;AACA;AACA,+BAA+B,yDAAyD;AACxF;AACA;AACA;AACA;AACA,+BAA+B,+CAA+C;AAC9E;AACA;AACA;AACA;AACA,+BAA+B,wDAAwD;AACvF;AACA;AACA;AACA;AACA,+BAA+B,kEAAkE;AACjG,yDAAyD,mBAAmB,EAAE;AAC9E;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,iCAAiC;AACrE;AACA,eAAe,cAAc;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,mBAAmB;AAClD,gBAAgB,WAAW;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAyE;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D,sDAAsD,EAAE;AACrH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,0C;;;;;;;ACxYA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,WAAW;AACtB,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,SAAS;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,oC;;;;;;;AClFA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,gD;;;;;;;AC5EA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,YAAY;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,kEAAkE;AAC7E;AACA,WAAW,IAAI;AACf;AACA,YAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,gC;;;;;;;ACnGA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,YAAY,WAAW;AACvB;AACA;AACA,WAAW,kEAAkE;AAC7E;AACA,WAAW,qCAAqC;AAChD;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb;AACA,YAAY,gBAAgB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,iC;;;;;;;ACnJA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,WAAW;AACvB;AACA,WAAW,SAAS;AACpB,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,gC;;;;;;;ACrHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,WAAW;AACtB;AACA,WAAW,OAAO;AAClB;AACA,WAAW,UAAU;AACrB;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,WAAW;AACtB,WAAW,WAAW;AACtB,WAAW,OAAO;AAClB;AACA,WAAW,UAAU;AACrB;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iC;;;;;;;ACjIA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,eAAe;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,WAAW;AACtB;AACA,WAAW,oFAAoF;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,uCAAuC;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,uCAAuC;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,oCAAoC,uCAAuC;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,sC;;;;;;;ACzJA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,6C;;;;;;;AC1EA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,SAAS;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,+BAA+B;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,gC;;;;;;;AC9GA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,+BAA+B,2BAA2B;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,wC;;;;;;;AC1DA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,+BAA+B,2BAA2B;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,qC;;;;;;;ACjDA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,kBAAkB,EAAE,kBAAkB,oBAAoB,EAAE,eAAe,uBAAuB,EAAE;AAC1I,KAAK;AACL;AACA;AACA,qC;;;;;;;AC3BA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,iCAAiC;AAC1E,mCAAmC,sCAAsC;AACzE,wDAAwD,oBAAoB,EAAE;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,+BAA+B,8BAA8B;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,WAAW;AAC1C;AACA;AACA;AACA;AACA,+BAA+B,WAAW;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,WAAW;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,gD;;;;;;;ACjGA;AACA;AACA;AACA;AACA,gC;;;;;;;ACJA;AACA;AACA;AACA;AACA,iC;;;;;;;ACJA;AACA;AACA;AACA,2CAA2C,8CAA8C;AACzF;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,2C;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,gD;;;;;;;AClBA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0GAA0G,0CAA0C,EAAE;AACtJ;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,+C;;;;;;;ACxBA;AACA;AACA,2CAA2C,SAAS;AACpD;AACA;AACA,mDAAmD,UAAU;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA,uC;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA,qC;;;;;;;ACLA;AACA;AACA,iBAAiB;AACjB;AACA,gC;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,sCAAsC,sCAAsC;AACzG;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,C;;;;;;;;;;;ACvSA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,uBAAuB,SAAS;AAChC;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4CAA4C,KAAK;;AAEjD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,mCAAmC,OAAO;AAC1C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;AAGA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA,WAAW;AACX;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,WAAW,SAAS;AACpB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;ACzkBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC,GAAG;AACH;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC,GAAG;AACH;AACA;AACA;AACA;;;;;;;ACnBA;AACA;AACA;AACA,uCAAuC,WAAW;AAClD;AACA;AACA;;;;;;;;;;;;;;ACNuB;AAEmD;AAC5B;AACU;AACtB;AAClC,0CAA0C;AAC1C,yCAAyC;AAEzC,EAAE,CAAC,CAAC,8EAAW,CAAC,UAAU,CAAC,CAAC,CAAC;IAC3B,oFAAc,EAAE,CAAC;AACnB,CAAC;AACD,wHAAsB,EAAE,CAAC,eAAe,CAAC,wDAAS,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZpD;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACkH;AACzF;AACF;AACoG;AAC8B;AACvI;AACA;AAClB,kC;;;;;;;;;;;ACnBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACmB;AACS;AACmB;AACxB;AACvB;AACA,mEAAmE,YAAY,GAAG,aAAa;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,yBAAyB,wKAA0D;AACnF;AACA,iBAAiB,IAAI;AACrB;AACA;AACA,+CAA+C,WAAW;AAC1D;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,yC;;;;;;;;;;ACzCA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACmF;AACtD;AACT;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,8CAA8C;AAC/E;AACA;AACA;AACA,iCAAiC,8BAA8B;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,mBAAmB,EAAE;AACrB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,gBAAgB;AAChB;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,oDAAoD,4DAA4D,EAAE;AAClH,sDAAsD,4DAA4D,EAAE;AACpH;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,sDAAsD,+CAA+C,EAAE;AACvG;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uDAAuD,8CAA8C,EAAE;AACvG;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,0DAA0D,8CAA8C,EAAE;AAC1G;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,0DAA0D,4EAA4E,EAAE;AACxI;AACA;AACA;AACA,SAAS,yEAA0B,wBAAwB,IAAI;AAC/D;AACA;AACA,0CAA0C;AAC1C,SAAS,wEAAyB;AAClC,SAAS,wEAAyB;AAClC,SAAS,mEAAoB;AAC7B,SAAS,iEAAkB;AAC3B,MAAM;AACN;AACA,mBAAmB,+EAAgC;AACnD,qBAAqB,6DAAc;AACnC;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,oC;;;;;;;;;;ACjOA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACyG;AACvE;AAClC;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,yBAAyB,EAAE;AACrD;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,sCAAsC,EAAE;AAClE;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,6BAA6B,EAAE;AACzD;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,mBAAmB,EAAE;AAC/C;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,eAAe;AACnD,4CAA4C,eAAe;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,wBAAwB,EAAE;AACpD;AACA,mBAAmB,EAAE;AACrB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,mBAAmB,EAAE;AACrB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,+BAA+B,EAAE;AACjC,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,EAAE;AACjC;AACA,+BAA+B,EAAE,iDAAiD,EAAE;AACpF;AACA;AACA,SAAS;AACT,4BAA4B,EAAE,UAAU,yBAAyB;AACjE;AACA;AACA,4BAA4B,EAAE,sBAAsB,EAAE,sCAAsC,UAAU;AACtG,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA,SAAS;AACT;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,SAAS,yEAA0B,+BAA+B,IAAI;AACtE;AACA;AACA,wCAAwC;AACxC,SAAS,yEAA0B;AACnC,SAAS,oEAAqB;AAC9B,SAAS,wEAAyB;AAClC,SAAS,0EAA2B;AACpC,MAAM;AACN;AACA,qBAAqB,6DAAc;AACnC,0BAA0B,6DAAc;AACxC,2BAA2B,6DAAc;AACzC;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,kC;;;;;;;;AClTA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAC0D;AAC1D;AACA,+DAA+D,WAAW;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,YAAY;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,SAAS,yEAA0B,qBAAqB,IAAI;AAC5D;AACA;AACA,uCAAuC;AACvC,SAAS,yEAA0B;AACnC,SAAS,oEAAqB;AAC9B,MAAM;AACN;AACA,kBAAkB,6DAAc;AAChC;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,iC;;;;;;;;;;;AC1FA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAC2E;AAC/B;AACvB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,oBAAoB;AACpB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,+DAA+D,qCAAqC;AACpG;AACA,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,yEAA0B,yBAAyB,IAAI;AAChE;AACA;AACA,2CAA2C;AAC3C,SAAS,+EAAwB;AACjC,MAAM;AACN;AACA,sBAAsB,6DAAc;AACpC;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,2EAA2E,gBAAgB;AAC3F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,gBAAgB;AACxB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,yEAA0B,6BAA6B,IAAI;AACpE;AACA;AACA,+CAA+C;AAC/C,SAAS,gCAAgC,0FAA2C,IAAI;AACxF,SAAS,oEAAqB;AAC9B,SAAS,yEAA0B;AACnC,SAAS,+BAA+B,4DAAa,IAAI;AACzD,MAAM;AACN;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA,qC;;;;;;;;ACjLA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACkE;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,uBAAuB;AACpD;AACA,6BAA6B,yBAAyB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,gBAAgB;AAChB;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,sDAAsD,0CAA0C,EAAE;AAClG,oDAAoD,yDAAyD,EAAE;AAC/G,sDAAsD,yDAAyD,EAAE;AACjH;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,yEAA0B,wBAAwB,IAAI;AAC/D;AACA;AACA,0CAA0C;AAC1C,SAAS,wEAAyB;AAClC,SAAS,mEAAoB;AAC7B,SAAS,iEAAkB;AAC3B,MAAM;AACN;AACA,qBAAqB,6DAAc;AACnC;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,oC;;;;;;;;ACzHA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAC6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,oBAAoB;AACpB;AACA,iCAAiC,yBAAyB,EAAE;AAC5D;AACA;AACA,KAAK;AACL;AACA;AACA,mBAAmB,EAAE;AACrB,oBAAoB;AACpB;AACA,qCAAqC,iCAAiC,EAAE;AACxE;AACA;AACA,KAAK;AACL;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,yEAA0B,iCAAiC,IAAI;AACxE;AACA;AACA,mDAAmD;AACnD,SAAS,yEAA0B;AACnC,MAAM;AACN;AACA,6BAA6B,6DAAc;AAC3C,8BAA8B,6DAAc;AAC5C;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,8C;;;;;;;;;;;;ACnGA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,8CAA8C,gBAAgB;AAC9D;AACA;AACA;AACA,8CAA8C,gBAAgB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,4BAA4B,EAAE,UAAU,eAAe;AACvD,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,4BAA4B,EAAE,uBAAuB,QAAQ;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,4BAA4B,EAAE,UAAU,kBAAkB;AAC1D,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,4BAA4B,EAAE,UAAU,cAAc;AACtD;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA,SAAS;AACT;AACA;AACA,CAAC;AACD;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,8GAAwC;AACxC;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,4BAA4B,EAAE,UAAU,gBAAgB;AACxD;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,sC;;;;;;;;;AC1KA;AAAA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,kCAAkC,EAAE;AAC9D;AACA,mBAAmB,EAAE;AACrB,oBAAoB;AACpB;AACA,iCAAiC,qCAAqC,EAAE;AACxE;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,+BAA+B,EAAE;AAC3D;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,oCAAoC,EAAE;AAChE;AACA,mBAAmB,EAAE;AACrB,oBAAoB;AACpB;AACA,+BAA+B,qCAAqC,EAAE;AACtE;AACA;AACA,KAAK;AACL;AACA,gBAAgB;AAChB;AACA,gDAAgD,qCAAqC;AACrF;AACA,CAAC;AACD;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA,kC;;;;;;;;;;;;AC1GA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACuC;AACnB;AACD;AACuB;AACf;AAC3B;AACA;AACA;AACA,gCAAgC,wBAAwB;AACxD,IAAI,gBAAgB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,8DAA8D,uBAAuB;AACrF;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,qCAAqC,qBAAqB;AAC1D;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,0DAA0D,kCAAkC;AAC5F;AACA,gBAAgB;AAChB;AACA,uDAAuD,+BAA+B;AACtF;AACA,SAAS,kEAAmB;AAC5B;AACA;AACA,uDAAuD;AACvD,SAAS,sFAA0B;AACnC,SAAS,gCAAgC,gEAAiB,GAAG,kJAAuC,IAAI;AACxG,MAAM;AACN;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,kD;;;;;;;;;;;;;;;;;AC5IA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAC2B;AACe;AACX;AACA;AACZ;AACnB,iC;;;;;;;;;;;;ACZA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACuC;AACrB;AACC;AACuB;AACf;AAC3B;AACA;AACA;AACA,gCAAgC,wBAAwB;AACxD,IAAI,gBAAgB;AACpB;AACA;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,8DAA8D,uBAAuB;AACrF;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,qCAAqC,qBAAqB;AAC1D,uBAAuB,EAAE;AACzB;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,gBAAgB;AAChB;AACA,0DAA0D,kCAAkC;AAC5F;AACA,gBAAgB;AAChB;AACA,uDAAuD,+BAA+B;AACtF;AACA,SAAS,kEAAmB;AAC5B;AACA;AACA,uDAAuD;AACvD,SAAS,sFAA0B;AACnC,SAAS,gCAAgC,gEAAiB,GAAG,kJAAuC,IAAI;AACxG,MAAM;AACN;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,kD;;;;;;;;;;AC/IA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACgD;AACd;AACC;AACnC;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,gCAAgC,+CAA+C,SAAS,EAAE,EAAE;AAC5F;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,oEAAoE,4BAA4B;AAChG;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,sEAAsE,4BAA4B;AAClG;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,2DAA2D,SAAS,EAAE;AACtE;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,iEAAiE;AACjE;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,mEAAmE;AACnE;AACA,CAAC;AACD,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,sFAAsF,6CAA6C,EAAE;AACrI;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,oEAAqB,6BAA6B,IAAI;AAC/D;AACA;AACA,4CAA4C;AAC5C,SAAS,0EAA2B;AACpC,MAAM;AACN;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,sC;;;;;;;;;;;ACvMA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACkC;AACV;AACA;AACW;AACnC,eAAe,EAAE,+BAA+B,EAAE;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,kBAAkB;AAC3B,SAAS,2BAA2B;AACpC,SAAS,8BAA8B;AACvC,SAAS,yBAAyB;AAClC;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,iCAAiC,wBAAwB;AACzD,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,EAAE,IAAI,IAAI,IAAI,IAAI;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,0BAA0B,EAAE;AACtF;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,oEAAqB,2BAA2B,IAAI;AAC7D;AACA;AACA,2CAA2C;AAC3C,SAAS,gCAAgC,iIAAmC,IAAI;AAChF,MAAM;AACN;AACA,CAAC;AACD;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA,qC;;;;;;;;;;ACrNA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACe;AAC6B;AACT;AACnC,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,SAAS,oEAAqB,iCAAiC,IAAI;AACnE;AACA;AACA,iDAAiD;AACjD,SAAS,+EAAwB;AACjC,MAAM;AACN;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA,4C;;;;;;;;;ACrEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACe;AACoB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,oEAAqB,iCAAiC,IAAI;AACnE;AACA;AACA,iDAAiD,WAAW;AAC5D;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,4C;;;;;;;;AChEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,qDAAqD,uCAAuC;AAC5F;AACA,SAAS,oEAAqB,4BAA4B,IAAI;AAC9D;AACA;AACA,2CAA2C,WAAW;AACtD;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,qC;;;;;;;;;;AC7CA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACe;AACG;AACiB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,oEAAqB,oBAAoB,IAAI;AACtD;AACA;AACA,gDAAgD,WAAW;AAC3D;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,0C;;;;;;;;;;;;;ACvDA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACkC;AACV;AACqB;AACV;AACnC,eAAe,EAAE;AACjB;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,GAAG;AACd,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA,8BAA8B,iBAAiB;AAC/C,sCAAsC,0BAA0B;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4FAA6C,EAAE;AAC/C;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,iCAAiC;AACrE;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,gCAAgC,eAAe;AAC/C;AACA;AACA;AACA,SAAS,oEAAqB,iBAAiB,IAAI;AACnD;AACA;AACA,8CAA8C;AAC9C,SAAS,gCAAgC,iIAAmC,IAAI;AAChF,MAAM;AACN;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,mBAAmB;AACzC;AACA;AACA,oCAAoC,iCAAiC;AACrE;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,gCAAgC,eAAe;AAC/C;AACA;AACA;AACA,SAAS,oEAAqB,kBAAkB,IAAI;AACpD;AACA;AACA,8CAA8C;AAC9C,SAAS,gCAAgC,iIAAmC,IAAI;AAChF,MAAM;AACN;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,mBAAmB;AACzC;AACA;AACA,oCAAoC,iCAAiC;AACrE;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,sCAAsC,sBAAsB;AAC5D,uCAAuC,uBAAuB;AAC9D,gCAAgC,eAAe;AAC/C;AACA;AACA;AACA,SAAS,oEAAqB,mBAAmB,IAAI;AACrD;AACA;AACA,+CAA+C;AAC/C,SAAS,gCAAgC,iIAAmC,IAAI;AAChF,MAAM;AACN;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA,uC;;;;;;;;;ACvPA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACe;AACoB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,mDAAmD,sDAAsD;AACzG;AACA,SAAS,oEAAqB,6BAA6B,IAAI;AAC/D;AACA;AACA,4CAA4C,WAAW;AACvD;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,sC;;;;;;;;;;AC3FA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACe;AACG;AACiB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,oEAAqB,oBAAoB,IAAI;AACtD;AACA;AACA,gDAAgD,WAAW;AAC3D;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,0C;;;;;;;;;ACvDA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACgC;AAChC,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,+C;;;;;;;;ACVA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACkB;AAClB;AACA;AACA;AACA,eAAsB,EAAE;AACxB,mC;;;;;;;;;ACZA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACoB;AACpB;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,4BAA4B,EAAE,2BAA2B,QAAQ;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,gCAAgC,EAAE,2BAA2B,QAAQ;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA,6C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7FA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAC4B;AACF;AACD;AACK;AACF;AACO;AACnB;AACC;AACQ;AACS;AACb;AACM;AACA;AACC;AACL;AACL;AACiB;AACX;AACC;AACiB;AACnB;AACD;AAC2B;AACvB;AACE;AACG;AACF;AAC7B;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA,KAAK;AACL,mBAAmB,EAAE,yGAA0C,sBAAsB,uCAAuC,EAAE,EAAE;AAChI,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA,mBAAmB,EAAE;AACrB,YAAY;AACZ;AACA,4C;;;;;;;ACjEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,0C;;;;;;;;;AC5BA;AAAA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,kCAAkC,EAAE;AAC9D;AACA,mBAAmB,EAAE;AACrB,oBAAoB;AACpB;AACA,iCAAiC,qCAAqC,EAAE;AACxE;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,+BAA+B,EAAE;AAC3D;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,oCAAoC,EAAE;AAChE;AACA,mBAAmB,EAAE;AACrB,oBAAoB;AACpB;AACA,+BAA+B,qCAAqC,EAAE;AACtE;AACA;AACA,KAAK;AACL;AACA,gBAAgB;AAChB;AACA,gDAAgD,qCAAqC;AACrF;AACA,CAAC;AACD;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA,kC;;;;;;;;;;;;;;;;;;;;;;;;;;AC1GA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAC4B;AACiC;AACZ;AACvB;AACE;AACG;AACF;AACJ;AACK;AACF;AACM;AACb;AACS;AACH;AACJ;AACY;AACO;AACjB;AACD;AACxB;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,oDAAoD,oGAAoG,EAAE;AAC1J;AACA,2BAA2B,EAAE;AAC7B;AACA,+BAA+B,EAAE;AACjC;AACA,mCAAmC,EAAE;AACrC;AACA;AACA;AACA,iBAAiB;AACjB;AACA,mCAAmC,EAAE;AACrC,mCAAmC,EAAE;AACrC;AACA,iBAAiB;AACjB,aAAa;AACb;AACA,yDAAyD,qBAAqB,EAAE;AAChF;AACA;AACA,SAAS;AACT;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,SAAS;AACT,uBAAuB,EAAE,yGAA0C,sBAAsB,+BAA+B,EAAE,EAAE;AAC5H,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA,uBAAuB,EAAE,kHAAwD;AACjF,uBAAuB,EAAE;AACzB,gBAAgB;AAChB;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,qC;;;;;;;;;;;;;AC7GA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACmC;AACE;AACrC;AAC+B;AAC/B;AAC8B;AAC9B,eAAe,EAAE;AACjB;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE,+FAA4C;AACrE;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,SAAS;AACT,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,uEAAuE,aAAa;AACpF;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA,6IAA+F,4BAA4B,EAAE,EAAE;AAC/H,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA,4BAA4B,EAAE,UAAU,2CAA2C;AACnF,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,eAAe,EAAE;AACjB;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA,uC;;;;;;;ACjMA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE,8DAA8D,yCAAyC,EAAE;AAClI,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,oEAAoE,mCAAmC,SAAS;AAChH;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,uC;;;;;;;;;AChJA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACqB;AACD;AACpB;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB;AACA;AACA,2CAA2C,wBAAwB;AACnE;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE,6BAA6B,6BAA6B;AACnF,uBAAuB,EAAE,kCAAkC,uCAAuC;AAClG;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,yDAAyD,sDAAsD;AAC/G;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA,2CAA2C,wBAAwB;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,sEAAsE,mBAAmB;AACzF;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA,oDAAoD,uBAAuB,EAAE;AAC7E;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE,qDAAqD,gBAAgB,kCAAkC,GAAG,EAAE;AACrI;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,iBAAiB,uDAAuD;AACxE;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,8EAA8E,0BAA0B;AACxG;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,8EAA8E,0BAA0B;AACxG;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA,qCAAqC,0CAA0C;AAC/E;AACA,4CAA4C,oDAAoD;AAChG,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE,sCAAsC,0BAA0B,EAAE;AAC/F,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,8C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9MA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACqO;AAC3M;AACD;AACK;AACF;AACO;AACnB;AACC;AACjB;AAC6B;AACK;AACb;AACM;AACA;AACJ;AAC0D;AACxD;AACU;AACH;AACR;AACE;AACD;AAC2B;AAC7B;AACD;AACtB,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB,KAAK,wKAA0C;AAC/C,KAAK,iLAAmD;AACxD,KAAK,oHAAyD;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,4JAA0D;AAC/D;AACA,KAAK,iJAA8C;AACnD;AACA,KAAK,gOAAwE;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,iCAAiC,cAAc;AAC/C,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD,SAAS,4BAA4B,wIAA0C,IAAI;AACnF,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB,KAAK,uFAAwC,eAAe;AAC5D,KAAK,wGAAyD;AAC9D,KAAK,sHAAuE;AAC5E;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,kEAAkE,yBAAyB,EAAE;AAC7F,gEAAgE,uBAAuB,EAAE;AACzF,8EAA8E,qCAAqC,EAAE;AACrH,mEAAmE,0BAA0B,EAAE;AAC/F;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,wBAAwB,EAAE,wBAAwB,QAAQ;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mCAAmC,gDAAgD,EAAE;AACrF;AACA;AACA,4C;;;;;;;;AClNA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACoC;AACpC;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+C;;;;;;;;;;;ACxCA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACqB;AACrB;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,SAAS;AACT,SAAS;AACT,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,wEAAwE,kBAAkB;AAC1F;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,8DAA8D,aAAa;AAC3E;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,oEAAoE,gBAAgB;AACpF;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,KAAK;AACL,mBAAmB,EAAE;AACrB;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,mBAAmB,EAAE;AACrB;AACA;AACA,4C;;;;;;;;;;;;;;;AC9KA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACsE;AAC/B;AACE;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,GAAG;AACd,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA,4CAA4C,gCAAgC;AAC5E,yCAAyC,mHAAoD;AAC7F;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,yEAAyE,kBAAkB;AAC3F;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB;AACA;AACA,8CAA8C,oHAAqD;AACnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,+BAA+B,6BAA6B;AAC5D,6BAA6B,2BAA2B;AACxD;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,+BAA+B,6BAA6B;AAC5D;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,6BAA6B,2BAA2B;AACxD,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,kDAAkD,6BAA6B,GAAG,IAAI;AACtF;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,4BAA4B,EAAE,UAAU,SAAS;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,4BAA4B,EAAE,UAAU,kBAAkB;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE,iHAAuE,gCAAgC,EAAE;AAClI;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE,oHAA0E,gCAAgC,EAAE;AACrI;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,wBAAwB,EAAE,UAAU,sBAAsB;AAC1D,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iC;;;;;;;;;ACx8BA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,8EAA8E,cAAc;AAC5F;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,kEAAkE,cAAc;AAChF;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,eAAe,EAAE;AACjB;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA,oC;;;;;;;;;;ACtDA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACoB;AAC+C;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA,gDAAgD,mDAAmD,EAAE;AACrG,gDAAgD,mDAAmD,EAAE;AACrG;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,gGAAgG,kBAAkB;AAClH;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA,sBAAsB,kGAAuC;AAC7D;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,+CAA+C,8BAA8B,EAAE;AAC/E;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,+C;;;;;;;;;;AC5OA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACoB;AACpB;AACqC;AACrC;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,wBAAwB,EAAE,UAAU,qBAAqB;AACzD;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA,KAAK;AACL;AACA,uBAAuB,EAAE,qDAAqD,mBAAmB,EAAE;AACnG;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,uBAAuB;AACvD;AACA;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA,KAAK;AACL,mBAAmB,EAAE,+EAA+E,mBAAmB,EAAE;AACzH;AACA,mBAAmB,EAAE;AACrB;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA,uBAAuB,EAAE;AACzB,oDAAoD,+BAA+B,EAAE;AACrF;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,8DAA8D,oHAAwC;AACtG;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,gBAAgB;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,gFAAgF,aAAa;AAC7F;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,2EAA2E,kBAAkB;AAC7F;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE,kDAAkD,mBAAmB,EAAE;AAChG;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE,mDAAmD,mBAAmB,EAAE;AACjG;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE,uBAAuB,4CAA4C;AAC5F,uBAAuB,EAAE,uBAAuB,4CAA4C;AAC5F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,8CAA8C,wEAAwE,EAAE;AACxH;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,gDAAgD,yCAAyC,EAAE;AAC3F;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,4BAA4B,EAAE,UAAU,uBAAuB;AAC/D,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,8C;;;;;;;;;;AC3hBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACyB;AACO;AACG;AACnC;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,4BAA4B,EAAE,UAAU,+BAA+B;AACvE;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,sC;;;;;;;ACtFA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,qGAAqG;AACrG;AACA,CAAC;AACD,qC;;;;;;;;AClBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAC0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,qCAAqC,qBAAqB;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+C;;;;;;;;;;AC5DA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,sCAAsC,mBAAmB;AACzD,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA,4BAA4B;AAC5B,SAAS;AACT;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA,SAAS;AACT;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA,+BAA+B,EAAE;AACjC,+BAA+B,EAAE;AACjC,oCAAoC,EAAE,UAAU,kBAAkB;AAClE,mCAAmC,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,wEAAwE,qCAAqC,EAAE;AAC/G;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,kCAAkC,gDAAgD,EAAE;AACpF;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA,SAAS;AACT,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,EAAE;AACjC;AACA,mCAAmC,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,sEAAsE,mCAAmC,EAAE;AAC3G;AACA;AACA,gBAAgB;AAChB;AACA,kDAAkD,sBAAsB;AACxE;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,eAAe,EAAE,0DAA0D,+BAA+B,KAAK,IAAI,KAAK;AACxH,eAAe,EAAE,2CAA2C,gCAAgC,OAAO,GAAG;AACtG,eAAe,EAAE,4DAA4D,gCAAgC,OAAO,GAAG;AACvH,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA,gBAAgB;AAChB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE,sCAAsC;AACvD,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA,eAAe,EAAE,wBAAwB,EAAE,EAAE,cAAc,QAAQ,KAAK,UAAU;AAClF,eAAe,EAAE,oBAAoB;AACrC,eAAe,EAAE,mBAAmB;AACpC,eAAe,EAAE,oBAAoB;AACrC,eAAe,EAAE;AACjB;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,0CAA0C;AAC1C;AACA;AACA,8BAA8B;AAC9B;AACA,uBAAuB,EAAE;AACzB;AACA,KAAK;AACL;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,wBAAwB,EAAE,kBAAkB,+BAA+B;AAC3E,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sC;;;;;;;;AC3gBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACkB;AAClB;AACA;AACA;AACA,eAAsB,EAAE;AACxB,mC;;;;;;;;;;;;ACZA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACyB;AACC;AACiC;AAC3D;AAC0D;AAC1D;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,uBAAuB,EAAE;AACnD;AACA;AACA,KAAK;AACL;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA,mLAAyH,kEAAkE;AAC3L;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,wBAAwB,EAAE,kCAAkC,QAAQ;AACpE,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wC;;;;;;;;;;;;;;ACxHA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACiD;AACrB;AACU;AACE;AACxC;AACwB;AACW;AACnC;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,0CAA0C,uCAAuC,EAAE;AACnF;AACA,oDAAoD,uCAAuC,EAAE;AAC7F,KAAK;AACL;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA,uBAAuB,EAAE;AACzB;AACA,KAAK;AACL;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE,kEAAkE,iDAAiD,qCAAqC,EAAE,EAAE,EAAE;AACnL,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA,wC;;;;;;;;;;;;;;;;AClIA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACsC;AACtC;AACyB;AACC;AACE;AAC5B,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA,4C;;;;;;;;;;;;;;;;;;;;;ACvFA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAC0D;AACzB;AACF;AACa;AACN;AACE;AACxC;AAC2C;AACb;AACF;AACO;AACnC;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA,uBAAuB,EAAE;AACzB;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,mBAAmB,EAAE,uFAAuF,8CAA8C,EAAE;AAC5J;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,mBAAmB,EAAE;AACrB;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA,2C;;;;;;;;ACvIA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACyB;AACzB;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA,uBAAuB,EAAE;AACzB,+FAA+F,yCAAyC,EAAE;AAC1I,KAAK;AACL;AACA,uBAAuB,EAAE,gBAAgB;AACzC,uGAAuG,4CAA4C,EAAE;AACrJ,KAAK;AACL;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,wC;;;;;;;;;;;;;AC5DA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACyB;AACE;AACL;AAC8L;AAC5H;AAC9D;AAC1B;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA,wCAAwC,0JAAwE,EAAE;AAClH;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,yEAAyE,aAAa;AACtF;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA,SAAS;AACT;AACA,2BAA2B,EAAE;AAC7B;AACA,SAAS;AACT;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,2BAA2B,EAAE;AAC7B;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,iEAAiE,aAAa;AAC9E;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,sEAAsE,aAAa;AACnF;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,sEAAsE,aAAa;AACnF;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,qEAAqE,aAAa;AAClF;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,kFAAkF,aAAa;AAC/F;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,gFAAgF,aAAa;AAC7F;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,uC;;;;;;;;;;;;;;;;;;;;;;;ACzKA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAC4B;AACkB;AACC;AACM;AACjC;AACqC;AAC/B;AAC1B;AAC2E;AAChD;AACW;AAC8B;AAC8E;AACpH;AACH;AAC3B,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,kEAAkE,kCAAkC;AACpG;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,uBAAuB,EAAE,6DAA6D,+BAA+B,EAAE;AACvH,uBAAuB,EAAE,sDAAsD,8BAA8B,EAAE;AAC/G;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE,8MAA+G,+EAAqB,EAAE;AACnK;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE,iCAAiC;AAC9D;AACA,+HAAqE;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE,oEAAoE,sFAAsF,EAAE;AACrL,uBAAuB,EAAE,6DAA6D,+BAA+B,EAAE;AACvH,uBAAuB,EAAE;AACzB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,kEAAkE,aAAa;AAC/E;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,uEAAuE,aAAa;AACpF;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,uEAAuE,aAAa;AACpF;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,sEAAsE,aAAa;AACnF;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,mFAAmF,aAAa;AAChG;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,iFAAiF,aAAa;AAC9F;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,2DAA2D,yCAAyC,EAAE;AACtG;AACA;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA,SAAS;AACT,KAAK;AACL,mBAAmB,EAAE;AACrB;AACA;AACA,+DAA+D,+CAA+C,EAAE;AAChH;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,kCAAkC,iCAAiC,EAAE;AACrE;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA,6PAAiH;AACjH;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE,oOAAwF;AAC7G;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yHAA+D,kCAAkC,EAAE;AACnG;AACA;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA,qEAAqE,sIAAuC,EAAE;AAC9G;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,+BAA+B,EAAE;AACjE,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C,KAAK;AACL;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA,KAAK;AACL,oDAAoD,0DAA0D,EAAE;AAChH;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB;AACA,mMAA+E,wBAAwB,EAAE;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,mBAAmB,EAAE;AACrB;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,wC;;;;;;;;;;;;;;;;ACpvBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAC2B;AACP;AACM;AACL;AACrB;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA,+BAA+B,kBAAkB;AACjD,mBAAmB,EAAE;AACrB;AACA,uBAAuB,EAAE;AACzB;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,mBAAmB,EAAE,mHAAuD;AAC5E;AACA,mBAAmB,EAAE;AACrB;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,gDAAgD,yBAAyB,EAAE;AAC3E;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,iDAAiD,uDAAuD,EAAE;AAC1G;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA,oDAAoD,mCAAmC,EAAE;AACzF,KAAK;AACL;AACA;AACA,gD;;;;;;;;;ACrImC;AACnC;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE,yCAAyC,8CAA8C,EAAE;AAClH;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE,yCAAyC,6CAA6C,EAAE;AACjH;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,gD;;;;;;;;ACxDA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,sDAAsD,cAAc,EAAE;AACtE;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,4DAA4D,yBAAyB;AACrF;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,sCAAsC,qBAAqB;AAC3D,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,8C;;;;;;;;;;;;;;;;;;;;ACpFA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACyB;AACO;AACU;AACT;AAC0D;AACtD;AACjB;AACD;AACC;AACD;AACnB;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,yBAAyB,4KAAwD;AACjF;AACA;AACA;AACA;AACA;AACA,yBAAyB,4IAAgE;AACzF,yBAAyB,4IAAgE;AACzF;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,iBAAiB,IAAI;AACrB;AACA;AACA,oDAAoD,WAAW;AAC/D;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,8C;;;;;;;;;;;;;;;;AC9EA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACwL;AACxL,4C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACbA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC6W;AAClV;AACX;AACiK;AACb;AACnF;AAChC;AAChC;AACqC;AACqS;AACzR;AACD;AACuH;AACjK;AACgC;AAC3B;AAC2C;AACxD;AACQ;AACA;AACI;AAC+W;AACvW;AACT;AACA;AACE;AACS;AACrC,gC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvCA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACqI;AAC7E;AACN;AACyC;AAC7B;AAC9D;AAC8C;AAChB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACkC;AAClC,eAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+C;;;;;;;;;;AC5FA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACoB;AACqF;AACzG;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,wEAAwE,mDAAmD;AAC3H;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B,2CAA2C,yHAA6C,EAAE;AAC1F;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA,+BAA+B,EAAE;AACjC,2DAA2D,sIAA0D,EAAE;AACvH;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,8CAA8C,sMAA8C,EAAE;AAC9F;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,sEAAsE,0CAA0C;AAChH;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,yCAAyC,sBAAsB;AAC/D;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA,0C;;;;;;;;;;;;;ACnQA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACuC;AACd;AACqF;AACtF;AACa;AACrC;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,kCAAkC;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,YAAY,gDAAgD;AAC5D,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,gBAAgB;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,wBAAwB,MAAM,sCAAsC;AAChF,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,gCAAgC,eAAe;AAC/C,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,gCAAgC,eAAe;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,gBAAgB;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,wBAAwB,MAAM,wCAAwC;AAClF;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,+EAA+E;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,iFAAiF;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,8EAA8E;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,4EAA4E;AAC5E;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA,wEAAwE;AACxE;AACA,CAAC;AACD;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB;AACA;AACA,iCAAiC,gBAAgB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,uCAAuC,uFAAoC;AAC3E;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,qBAAqB,EAAE;AACjD;AACA;AACA,KAAK;AACL;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,wEAAwE,yBAAyB;AACjG;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B,gCAAgC,EAAE,UAAU,uCAAuC;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA,2EAA2E,8CAA8C,EAAE;AAC3H;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,4BAA4B,EAAE,UAAU,wBAAwB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA,2BAA2B,EAAE,kDAAkD,wCAAwC,EAAE;AACzH;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,gBAAgB;AAChB;AACA,0DAA0D,yBAAyB;AACnF;AACA,CAAC;AACD;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,eAAe,EAAE;AACjB;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,wBAAwB,EAAE,UAAU,gCAAgC;AACpE;AACA;AACA;AACA;AACA,+C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClkBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACoF;AAC3C;AACN;AACd;AACkB;AACW;AAC9B;AAC2C;AACzC;AACK;AACQ;AACnC,kC;;;;;;;;;;;ACnB+B;AACG;AACP;AAC3B;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,4JAAiF,mBAAmB,EAAE;AACtG;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,mCAAmC,8DAA8D,EAAE;AACnG;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,uCAAuC,sBAAsB;AAC7D,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA,sFAAsF,yCAAyC,EAAE;AACjI;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,kDAAkD,kDAAkD,EAAE;AACtG;AACA;AACA;AACA;AACA;AACA,kD;;;;;;;;AC9EA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACuC;AACvC;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,uCAAuC,0FAAoC;AAC3E;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,4C;;;;;;;;;;ACzCA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACuB;AACD;AACM;AAC5B;AACA;AACA;AACA;AACA,4BAA4B,aAAa,MAAM,yBAAyB;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,IAAI;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,sBAAsB,EAAE;AAClD;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,6BAA6B,EAAE;AACzD;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,yBAAyB,EAAE;AACrD;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,uCAAuC,EAAE;AACnE;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,6CAA6C,8BAA8B;AAC3E;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,8CAA8C,+BAA+B;AAC7E;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,iDAAiD,2BAA2B;AAC5E;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,+CAA+C,8BAA8B;AAC7E;AACA,gBAAgB;AAChB;AACA,yIAA4D,8HAAiD;AAC7G;AACA,gBAAgB;AAChB;AACA,gDAAgD,iCAAiC;AACjF;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,uDAAuD,0BAA0B;AACjF;AACA;AACA,gBAAgB;AAChB;AACA,gDAAgD,oBAAoB;AACpE;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,oBAAoB,EAAE;AAChD;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,sC;;;;;;;;;;ACxKA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAC+B;AACZ;AACnB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,2BAA2B,EAAE;AAClE,mCAAmC,gDAAgD,EAAE;AACrF,mCAAmC,iDAAiD,EAAE;AACtF;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,qCAAqC,gDAAgD,EAAE;AACvF,sCAAsC,mDAAmD,EAAE;AAC3F;AACA;AACA,SAAS,gEAAmB;AAC5B;AACA;AACA,yDAAyD;AACzD,SAAS,qEAAkB;AAC3B,SAAS,mDAAmD,8DAAiB,IAAI;AACjF,MAAM;AACN;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8D;;;;;;;;;;;;;;;;;;;AC7HA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AAC+B;AACF;AACT;AACe;AACJ;AACR;AACG;AACkE;AACzE;AACA;AACE;AACrB,eAAe,EAAE;AACjB;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB;AACA;AACA,+CAA+C,8BAA8B;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,mIAAuD,EAAE;AACnF;AACA;AACA,KAAK;AACL;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,sEAAsE,aAAa;AACnF;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,iFAAiF,aAAa;AAC9F;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,uCAAuC,0FAAoC;AAC3E,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,uDAAuD,wGAA6C;AACpG;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,gCAAgC,EAAE,UAAU,6BAA6B;AACzE;AACA;AACA;AACA;AACA;AACA;AACA,0EAA0E,gEAAgE,EAAE;AAC5I;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,qDAAqD;AACrD;AACA;AACA,gBAAgB;AAChB;AACA,oDAAoD;AACpD;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,0EAA0E,8BAA8B,EAAE;AAC1G;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,iBAAiB,EAAE;AAC7C;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,EAAE;AACrC,wCAAwC,EAAE,UAAU,kBAAkB;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,iEAAiE;AACjE;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,mGAAmG;AACnG;AACA;AACA,gBAAgB;AAChB;AACA,gEAAgE;AAChE;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,wEAAwE;AACxE;AACA,gBAAgB;AAChB;AACA,qDAAqD,0HAA8C;AACnG;AACA,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,gEAAgE,wFAAuC;AACvG;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB;AACA;AACA,+CAA+C,8BAA8B;AAC7E;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA,0CAA0C,yBAAyB;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,sDAAsD,kCAAkC;AACxF;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,gC;;;;;;;;;;ACvqBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACqB;AACO;AACT;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,iGAA2C,EAAE;AACvE;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,iGAAoC,EAAE;AAChE;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,mDAAmD,EAAE;AAC/E;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,6CAA6C,EAAE;AACzE;AACA;AACA,KAAK;AACL;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,gCAAgC,EAAE,UAAU,6BAA6B;AACzE;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,gCAAgC,EAAE,UAAU,6BAA6B;AACzE;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,gCAAgC,EAAE,UAAU,6BAA6B;AACzE;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,gCAAgC,EAAE,UAAU,6BAA6B;AACzE,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,EAAE,UAAU,gCAAgC;AAC5E,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,0C;;;;;;;;;;;;;;;ACpMA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACsB;AAC0B;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,kCAAkC;AAC1C,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,MAAM,mCAAmC;AACzC,MAAM;AACN;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA;AACA;AACA,QAAQ,uBAAuB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,iBAAiB;AACjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8B;;;;;;;;;;;;;;;ACzHA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACkC;AACS;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB,sC;;;;;;;;;;ACxFA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,qC;;;;;;;;;;;;AC3CA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAC2D;AACzC;AACa;AACL;AACI;AAC9B;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA,KAAK,sKAAkD;AACvD,KAAK,uHAAuD;AAC5D,KAAK,yLAAmD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB,mD;;;;;;;;;;;;AChCA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACiB;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA,2BAA2B,cAAc;AACzC;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA,oC;;;;;;;;;;ACzDA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACsD;AACtD,kC;;;;;;;;ACTA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACgB;AAChB,gC;;;;;;;;ACTA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACiB;AACjB,gC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACmB;AACoB;AACR;AACiB;AAC/B;AACC;AACK;AACO;AACM;AACP;AACE;AACL;AACG;AACU;AACc;AACgB;AAC4C;AAC1E;AACR;AACX;AAC4B;AAC/B;AACC;AACK;AACO;AACM;AACP;AACE;AACL;AACG;AACU;AACc;AACgB;AACrE,eAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,iBAAiB,IAAI;AACrB;AACA;AACA,4DAA4D,WAAW;AACvE;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,sC;;;;;;;;ACrFA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,6BAA6B,kCAAkC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,6BAA6B,kCAAkC;AAC/D;AACA;AACA;AACA;AACA;AACA,+C;;;;;;;;;;;;AC/BA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACmB;AACyE;AAC7D;AACT;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,iBAAiB,IAAI;AACrB;AACA;AACA,8CAA8C,WAAW;AACzD;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,iBAAiB,IAAI;AACrB;AACA;AACA,sDAAsD,WAAW;AACjE;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,0C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E,gBAAgB;AAC5F,gBAAgB,kBAAkB,0CAA0C;AAC5E;AACA;AACA,yDAAyD;AACzD;AACA;AACmC;AACE;AACE;AACZ;AACC;AACG;AACX;AAC4B;AAC/B;AACC;AACK;AACa;AACL;AACL;AACG;AACL;AACA;AAC6B;AACR;AACoE;AAC3F;AACuC;AACJ;AACvC;AACyB;AAC3C,iC;;;;;;;;AC1CA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACkB;AAClB;AACA;AACA;AACA,eAAsB,EAAE;AACxB,mC;;;;;;;;;;;;;;;;;;;;ACZA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACmB;AACI;AACF;AACiB;AACG;AACI;AACE;AACzB;AACC;AACvB;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,yBAAyB,0PAA6E;AACtG;AACA,yBAAyB,sLAAwD;AACjF,yBAAyB,0LAA0D;AACnF;AACA,yBAAyB,2HAAsE;AAC/F;AACA,iBAAiB,IAAI;AACrB;AACA;AACA,6CAA6C,WAAW;AACxD;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,yBAAyB,gQAAiF;AAC1G;AACA,yBAAyB,sLAAwD;AACjF,yBAAyB,0LAA0D;AACnF,yBAAyB,mLAAiD;AAC1E;AACA,iBAAiB,IAAI;AACrB;AACA;AACA,8CAA8C,WAAW;AACzD;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,uC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3GA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACqB;AACmB;AACgB;AACX;AACE;AACwB;AACrD;AACI;AACY;AACoB;AACpC;AACC;AACqB;AACtB;AAClB,iC;;;;;;;;ACrBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACkB;AAClB;AACA;AACA;AACA,eAAsB,EAAE;AACxB,mC;;;;;;;;ACZA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iC;;;;;;;;;;;;;;;;;;;;;;ACbA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,0CAA0C;AAC1F;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA,gC;;;;;;;;;;;;;;;;;ACrIA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAC8C;AACd;AACsB;AACvB;AAC/B;AACkB;AAClB;AACA;AACA;AACA,gCAAuC,qMAA0D;AACjG;AACA;AACA;AACA;AACA,oD;;;;;;;;;ACrBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACsD;AACtD;AACA;AACA;AACA;AACA;AACA,0C;;;;;;;;;ACbA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAC4C;AAC5C;AACA;AACA,2D;;;;;;;;;ACVA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACyB;AACR;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,iD;;;;;;;;ACxCA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACkB;AAClB;AACA;AACA;AACA;AACA,mC;;;;;;;;;ACZA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACqB;AACD;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,wBAAwB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,4EAA4E,qCAAqC;AACjH;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,wEAAwE,aAAa;AACrF;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,yEAAyE,2DAA2D;AACpI;AACA,gBAAgB;AAChB;AACA,uEAAuE,uDAAuD;AAC9H;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,mD;;;;;;;ACzGA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,mC;;;;;;;;;;;;;ACXA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACyB;AACR;AACA;AACG;AACpB;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,aAAa;AACrD;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA;AACA,wC;;;;;;;;;;AC3GA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACiB;AACM;AACvB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,iC;;;;;;;;;ACxCA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACiB;AACG;AACpB;AACA,4BAA4B,oBAAoB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR,gBAAgB;AAChB;AACA,0BAA0B,iCAAiC,aAAa,GAAG;AAC3E;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,wCAAwC,yDAAyD;AACjG;AACA;AACA,CAAC;AACD,8B;;;;;;;;;;ACxDA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACqB;AACD;AACH;AACjB;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,GAAG;AAClB;AACA;AACA;AACA,yCAAyC,sBAAsB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD,kDAAkD,EAAE;AAC7G,SAAS;AACT;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA,mDAAmD,aAAa,EAAE;AAClE;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,2BAA2B,EAAE;AAC7B;AACA,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT,uBAAuB,EAAE;AACzB;AACA,2BAA2B,EAAE;AAC7B,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,mCAAmC,EAAE;AACrC,iEAAiE,+CAA+C,EAAE;AAClH;AACA,oCAAoC,EAAE,UAAU,sBAAsB;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D,0BAA0B,EAAE;AACzF;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,qBAAqB,EAAE;AACjD;AACA;AACA,KAAK;AACL;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,2DAA2D,2BAA2B;AACtF;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,0DAA0D,0BAA0B;AACpF;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA,oDAAoD,aAAa,EAAE;AACnE;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,4DAA4D,sBAAsB;AAClF;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,uBAAuB,EAAE;AACnD;AACA;AACA,KAAK;AACL;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,8DAA8D,+CAA+C;AAC7G;AACA,gBAAgB;AAChB;AACA,6DAA6D,kDAAkD;AAC/G;AACA,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,iD;;;;;;;;;;;;;;;;;;ACnRA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE,wDAAwD;AACjE;AACR,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE,kCAAkC,oBAAoB,EAAE,gBAAgB,aAAa;AAC7G,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,eAAsB,EAAE;AACxB,mC;;;;;;;;;;;;ACvBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,8CAA8C,gBAAgB;AAC9D;AACA;AACA;AACA,8CAA8C,gBAAgB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,4BAA4B,EAAE,UAAU,eAAe;AACvD,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,4BAA4B,EAAE,uBAAuB,QAAQ;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,4BAA4B,EAAE,UAAU,kBAAkB;AAC1D,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA,4BAA4B,EAAE,UAAU,cAAc;AACtD;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA,SAAS;AACT;AACA;AACA,CAAC;AACD;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,8GAAwC;AACxC;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,4BAA4B,EAAE,UAAU,gBAAgB;AACxD;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA,sC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1KA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACyC;AACzB;AAC8B;AACpB;AACb;AACU;AACJ;AAC2B;AACO;AAC9B;AACgB;AACrB;AAClB,4C;;;;;;;;;;;;;;;;;;;ACnBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC8B;AAC9B,eAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0C;;;;;;;;;;AC7CA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACoB;AACH;AACqB;AACtC;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,0CAA0C,gBAAgB;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,YAAY;AACZ;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA,mBAAmB,EAAE;AACrB,mCAAmC,oBAAoB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,6CAA6C,EAAE;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,gBAAgB;AAChB;AACA,mFAAmF,sCAAsC;AACzH;AACA,CAAC;AACD;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,qCAAqC;AACrC;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB,+EAA+E;AAC/E,KAAK;AACL,4DAA4D,uCAAuC,EAAE,EAAE;AACvG,4BAA4B;AAC5B,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,mDAAmD,gBAAgB;AACnE;AACA;AACA,0CAA0C,EAAE;AAC5C;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,uBAAuB,EAAE;AACzB,uBAAuB,EAAE;AACzB;AACA,uBAAuB,EAAE;AACzB,6DAA6D,gBAAgB;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0C;;;;;;;;;;AC3SA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACoB;AACH;AACK;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,wBAAwB,EAAE,UAAU,kBAAkB;AACtD,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,2C;;;;;;;;AClGA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACkB;AAClB;AACA;AACA;AACA,eAAsB,EAAE;AACxB,mC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACqB;AACN;AACF;AACI;AACG;AACJ;AACF;AACK;AACE;AACQ;AACsB;AACJ;AACiB;AAChE;AACA;AACA,sCAAsC,qBAAqB;AAC3D;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,2FAA0C,6CAA6C,EAAE;AACzF;AACA;AACA,2FAA0C,kDAAkD,EAAE;AAC9F;AACA;AACA,2FAA0C,uMAAqJ,EAAE;AACjM;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4HAAyE,8CAA8C,EAAE;AACzH;AACA;AACA;AACA;AACA,gHAA4D,+JAAyD;AACrH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,0HAAuE,8CAA8C,EAAE;AACvH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,gGAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA,yJAAsG,8FAA0C,EAAE;AAClJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mKAAgF,uEAAuE,EAAE;AACzJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA,8HAAyE,YAAY,EAAE;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA;AACA;AACA;AACA,+GAA2D;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6LAA8D;AAC9D,iBAAiB;AACjB;AACA;AACA,yLAA0D;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uHAAoE,8GAA0D,EAAE;AAChI;AACA;AACA,uMAAwE;AACxE;AACA;AACA;AACA,iHAA8D,qIAAiF,EAAE;AACjJ;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,mBAAmB,gFAAgF;AACnG;AACA;AACA,oBAAoB,gFAAgF;AACpG;AACA;AACA,oBAAoB,+EAA+E;AACnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,gFAAgF;AAChG;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,yCAAyC,EAAE;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,wBAAwB;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sFAAkC;AAClC;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,sBAAsB;AAC7D;AACA;AACA,8GAA0D;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,sBAAsB;AAC7D;AACA;AACA,8GAA0D;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B,0FAAwC,EAAE;AAC1C;AACA;AACA;AACA,uCAAuC,2DAA2D,EAAE;AACpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2C;;;;;;;;AChYA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE,uEAAuE;AACvI;AACA;AACA;AACA;AACA;AACA,kC;;;;;;;;;;;AChDA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAC0B;AACY;AACnB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,sBAAsB,EAAE;AAC/E;AACA;AACA;AACA;AACA;AACA,iDAAiD,gBAAgB;AACjE;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+C;;;;;;;;;;AC5CA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACyB;AACsB;AACf;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+GAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,yDAAyD,EAAE;AACvG;AACA,0BAA0B,WAAW;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,sBAAsB,eAAe;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA,oGAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sIAAmF;AACnF;AACA;AACA;AACA;AACA;AACA,+GAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+GAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iGAA8C;AAC9C;AACA;AACA;AACA,2FAAwC;AACxC;AACA;AACA;AACA;AACA;AACA,kIAA+E;AAC/E;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,uHAAqC,wBAAwB,EAAE;AAC/D;AACA;AACA;AACA;AACA;AACA,2C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrSA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACyC;AACd;AACJ;AAC+E;AAChE;AACZ;AACoC;AACqB;AAC1D;AAC0C;AACnE;AACA,iC;;;;;;;;;;AClBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACiB;AACU;AACT;AAClB;AACA;AACA;AACA;AACA;AACA,0C;;;;;;;;;;;;;;;;ACfA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACqB;AACR;AACqE;AACzD;AACuB;AAC1B;AACH;AACnB;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6HAAsE,qEAAqE,0HAAyE;AACpN;AACA;AACA;AACA;AACA;AACA;AACA,mGAAkD,qBAAqB,EAAE;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,uCAAuC,EAAE;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mKAAyF,8DAA8D,EAAE;AACzJ;AACA;AACA;AACA;AACA;AACA,2CAA2C,sBAAsB;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,mDAAmD;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE,qBAAqB,EAAE;AACzF,kDAAkD,qBAAqB,EAAE;AACzE;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA,uCAAuC,sBAAsB;AAC7D;AACA;AACA,iGAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,sBAAsB;AAC7D;AACA;AACA,iGAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B,yFAAwC,EAAE;AAC1C;AACA;AACA;AACA,uCAAuC,wDAAwD,EAAE;AACjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzQuF;AAEhC;AACjB;AACI;AACE;AAEO;AACkC;AAC9C;AACW;AACD;AACY;AAEC;AACN;AAErB;AAES;AAEX;AACoE;AAIN;AAC1B;AAGS;AACe;AACb;AAE0B;AACZ;AACY;AACT;AAER;AAEP;AACV;AACuB;AAG7B;AACA;AACS;AACO;AACC;AACuB;AAC1B;AAGM;AAEM;AACA;AAEZ;AACL;AACZ;AACiB;AAEwC;AAGd;AAE1B;AACoB;AACZ;AACd;AAER;AACN;AACH;AACc;AACH;AACC;AACG;AAE+B;AAEF;AAGf;AAKG;AAChC;AACA;AAES;AACoB;AAIN;AACT;AACyC;AACT;AAEH;AACiB;AACwB;AACT;AAE5D;AAGW;AACM;AACW;AACd;AAEuB;AACH;AAEvB;AAEA;AAGuB;AAEjD;AACK;AACF;AAC+B;AAER;AAEG;AACvB;AACkC;AACM;AAEjD;AACM;AAGoB;AACX;AACK;AACW;AACd;AAEiB;AAEzB;AAEW;AACG;AACpB;AACgC;AAChC;AACW;AACC;AACW;AACd;AACW;AAEX;AACW;AAEM;AACS;AACf;AAC2B;AACrB;AACc;AACA;AACgC;AACpD;AAEM;AAEL;AACS;AACmB;AAC1B;AACiB;AAE/B;AAC0B;AACvB;AACW;AACI;AAC3B;AACW;AACG;AACN;AACS;AACH;AACuB;AACvB;AACc;AACc;AACpB;AAC0B;AACH;AACvB;AACA;AACM;AACd;AACiB;AACE;AACG;AACjB;AACc;AACX;AACwB;AAEV;AACf;AACA;AACgD;AAC/D;AACb;AAE+C;AACN;AAC/C;AAGkD;AACS;AACmB;AAC1B;AACiB;AACtC;AACI;AACG;AACQ;AACd;AACW;AACH;AACS;AACI;AAC3B;AACiB;AACoB;AAC1B;AACG;AACN;AACM;AACG;AACK;AACH;AAC2B;AACD;AAC/C;AACE;AACtE,gGAAgG;AAuOhG;IAAA;IAAwB,CAAC;IApOzB;QAAC,8EAAQ,CAAC;YACN,YAAY,EAAE;gBACV,qEAAY;aACf;YACD,OAAO,EAAE;gBAEL,wEAAa;gBACb,yDAAU;gBACV,0DAAW;gBACX,2DAAW;gBACX,kEAAc;gBACd,+EAAiB;gBACjB,oEAAW,CAAC,OAAO,EAAE;gBACrB,wDAAY;gBACZ,kFAAY;gBACZ,YAAY;gBACZ,kFAAY;gBAEZ,mGAAe;gBACf,+GAAmB;gBACnB,yGAAmB;gBACnB,qHAAqB;gBAC3B,6HAAuB;gBACjB,qHAAqB;gBACrB,mIAAyB;gBACzB,wHAAsB;gBACtB,+GAAsB;gBACtB,QAAQ;gBACR,iGAAe;gBACf,uGAAiB;gBACjB,sHAAqB;gBACrB,2GAAuB;gBACvB,mIAAyB;gBACzB,qFAAW;gBACX,gGAAc;gBACd,6FAAa;gBACb,4GAAkB;gBAClB,2FAAa;gBACb,2FAAa;gBACb,o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C;IAAA;IAA0C,CAAC;IAN3C;QAAC,8EAAQ,CAAC;YACR,OAAO,EAAE;gBACP,6DAAY,EAAC,6DAAY;aAC1B;YACD,YAAY,EAAE,CAAC,mGAA6B,CAAC;SAC9C,CAAC;;kCAAA;IACwC,iCAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXH;AACM;AACyB;AAC5B;AACC;AACA;AACK;AACF;AAC0B;AAC3B;AAQ9C;IAAA;IAAuC,CAAC;IANxC;QAAC,8EAAQ,CAAC;YACR,OAAO,EAAE;gBACP,6DAAY,EAAC,4DAAc,EAAC,2DAAW,EAAC,wFAAY,EAAC,6DAAY,EAAC,gEAAkB,EAAC,sEAAe,EAAC,6DAAY;aAClH;YACD,YAAY,EAAE,CAAC,6FAA0B,CAAC;SAC3C,CAAC;;+BAAA;IACqC,8BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACfb;AACA;AACE;AACC;AACE;AACL;AACF;AACE;AACF;AACC;AACC;AACH;AACA;AACI;AAEA;AACF;;;;;;;;AClB1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,CAAC;AACD;AACA,uC;;;;;;;ACpFA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,iBAAiB,oBAAoB;AACrC;AACA;AACA,yC;;;;;;;AC1BA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,yC;;;;;;;AChDA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,0BAA0B,EAAE;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,uBAAuB,4BAA4B,4BAA4B,8BAA8B,wBAAwB,iBAAiB,gBAAgB,kCAAkC,mDAAmD,oCAAoC,4CAA4C,OAAO,uBAAuB,0BAA0B,+CAA+C,mCAAmC,aAAa,cAAc,oCAAoC,4CAA4C,OAAO,uBAAuB,kBAAkB,mBAAmB,0BAA0B,OAAO,6BAA6B,kBAAkB,mBAAmB,OAAO,wBAAwB,kBAAkB,mBAAmB,0BAA0B,OAAO,8BAA8B,kBAAkB,mBAAmB,OAAO,uBAAuB,kBAAkB,mBAAmB,0BAA0B,OAAO,6BAA6B,kBAAkB,mBAAmB,OAAO,kBAAkB,oCAAoC,sCAAsC,OAAO,qCAAqC,iBAAiB,OAAO,sCAAsC,iBAAiB,OAAO,qCAAqC,iBAAiB,OAAO,mBAAmB,mBAAmB,0BAA0B,OAAO;AACl8C;AACA,SAAS;AACT;AACA;AACA;AACA,CAAC;AACD;AACA,+C;;;;;;;ACnJA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,uCAAuC,SAAS;AAChD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,8BAA8B;AAC9B;AACA,mDAAmD;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,gDAAgD;;AAEhD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,QAAQ;AACjC;AACA;AACA;AACA;AACA;AACA,yBAAyB,QAAQ;AACjC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gCAAgC,oBAAoB;;AAEpD;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzeA,kBAAkB,0D;;;;;;ACAlB,kBAAkB,0D;;;;;;;ACAlB;;AAEA;;AAEA;AACA;AACA;AACA;AACA,E;;;;;;;ACRA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,G;;;;;;;AC1BD;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,E;;;;;;;ACtBA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kCAAkC,SAAS;AAC3C;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0CAA0C,UAAU;AACpD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;ACrJA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,sF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;;AC3OA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD;AACxD,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;;AAEhD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjmBA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;;;;;;;AC/DA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;;ACVA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;;ACTA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;;ACVA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;;ACVA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;;ACVA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;;ACVA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;;AC9CA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;;AAEA,sCAAsC,UAAU;AAChD;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,UAAU;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe,kBAAkB;AACjC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,SAAS,QAAQ;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;;;;;;;;AC9XA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;;;;;;;;ACzHA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,0CAA0C,kBAAkB;;AAE5D;AACA;AACA;AACA;AACA;AACA,mBAAmB,6BAA6B;AAChD,0GAA0G,kBAAkB;AAC5H;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;;AAEA,0DAA0D,UAAU;AACpE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;;AAGF;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA,kBAAkB,kBAAkB;AACpC;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,eAAe;AACf;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,eAAe;AACf,gBAAgB;AAChB;AACA,cAAc;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,IAAI;AACJ,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA,IAAI;;AAEJ;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,YAAY;AAC9B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;;;;;;;;AC9SA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,gCAAgC,QAAQ;AACxC;AACA;;AAEA;AACA;AACA;;AAEA;AACA,gCAAgC,QAAQ;AACxC;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe,kBAAkB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ,qCAAqC,UAAU;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qCAAqC,UAAU;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,SAAS,QAAQ;AACjB;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;;;;;;;;AC5UA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mBAAmB,6BAA6B;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;;AAEA,0DAA0D,UAAU;AACpE;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,IAAI;AACJ,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB,WAAW;AAC7B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;;;;;;;;AC9NA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,IAAI;AACJ,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;;;;;;;;ACtKA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,MAAM;AACnB,aAAa,gBAAgB;AAC7B,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,oCAAoC,UAAU;AAC9C;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;;AAEF;;;;;;;;ACvKA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;ACrJA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;;AAEA;AACA;AACA,kBAAkB,MAAM;AACxB;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,mBAAmB;AACnB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;;AAEJ;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd,MAAM;AACN;AACA,cAAc;AACd,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,kDAAkD,UAAU;AAC5D;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,MAAM;;AAEN;AACA;AACA,KAAK;;AAEL;AACA,IAAI;AACJ;;AAEA;AACA,oCAAoC,uBAAuB;AAC3D;;AAEA;AACA,GAAG;;AAEH;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA,sDAAsD,QAAQ;AAC9D;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kDAAkD,QAAQ;AAC1D;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,kDAAkD,gBAAgB;AAClE,GAAG;;AAEH;AACA,sDAAsD,gBAAgB;AACtE,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA,oDAAoD,gBAAgB;AACpE,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA,oDAAoD,QAAQ;AAC5D;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;;AAEA;AACA,8CAA8C,UAAU;AACxD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ,GAAG;;AAEH;AACA;AACA;;AAEA,kCAAkC,QAAQ;AAC1C;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACl1BA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA,IAAI;AACJ,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA,8BAA8B,QAAQ;AACtC;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;;AAEA,SAAS,QAAQ;AACjB;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,SAAS,QAAQ;AACjB;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,iCAAiC;AACjC;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,gBAAgB,SAAS;AACzB;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;;;;;;;ACzUA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA,6BAA6B,QAAQ;AACrC;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,EAAE;;AAEF;AACA;;;;;;;;ACtHA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,QAAQ;AAC7B;AACA;AACA,IAAI;AACJ,eAAe,SAAS;AACxB;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,UAAU;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,IAAI;AACJ,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,MAAM;AACN,KAAK;AACL;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,IAAI;AACJ;AACA;;AAEA,IAAI;AACJ;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,uCAAuC,UAAU;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,uCAAuC,UAAU;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,0BAA0B;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,QAAQ;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,0BAA0B;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,mBAAmB;AACnB;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,aAAa,eAAe;AAC5B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA,aAAa,mBAAmB;AAChC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,eAAe;AAC5B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;;AAEH;AACA;AACA,kBAAkB,WAAW;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,6BAA6B,UAAU;AACvC;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ,kEAAkE,KAAK,KAAK;AAC5E;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACv9BA;;AAEA;AACA;;AAEA;AACA;AACA,YAAY,aAAa;AACzB,YAAY,MAAM;AAClB,cAAc,MAAM;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,kBAAkB,MAAM;AACxB,oBAAoB,SAAS;AAC7B;AACA;AACA;AACA;;AAEA,qCAAqC,UAAU;AAC/C;AACA;AACA;;AAEA;AACA,uCAAuC,UAAU;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,eAAe;AACjC,qBAAqB,MAAM;AAC3B,aAAa,eAAe;AAC5B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA,kBAAkB,MAAM;AACxB,qBAAqB,MAAM;AAC3B,sBAAsB,QAAQ;AAC9B,2BAA2B,SAAS;AACpC,aAAa,eAAe;AAC5B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oBAAoB,MAAM;AAC1B,gBAAgB,MAAM;AACtB,sBAAsB,oBAAoB;AAC1C,eAAe,gBAAgB;AAC/B;AACA;;AAEA;AACA;AACA;AACA;AACA,oBAAoB,MAAM;AAC1B,gBAAgB,MAAM;AACtB,sBAAsB,oBAAoB;AAC1C,eAAe,gBAAgB;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA,oBAAoB,MAAM;AAC1B,gBAAgB,MAAM;AACtB,eAAe,gBAAgB;AAC/B;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA,oBAAoB,MAAM;AAC1B,gBAAgB,MAAM;AACtB,sBAAsB,oBAAoB;AAC1C,eAAe,gBAAgB;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,MAAM;AACN;;AAEA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA,oBAAoB,MAAM;AAC1B,gBAAgB,MAAM;AACtB,sBAAsB,oBAAoB;AAC1C,eAAe,gBAAgB;AAC/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA,oBAAoB,MAAM;AAC1B,gBAAgB,MAAM;AACtB,sBAAsB,oBAAoB;AAC1C,eAAe,gBAAgB;AAC/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3TA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe;;AAEf;AACA;AACA;AACA;AACA,mBAAmB,gCAAgC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;;;;;;;ACvDA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;;AAEA;AACA;AACA;AACA;AACA,cAAc;;AAEd;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA,aAAa,MAAM;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,aAAa,MAAM;AACnB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS,QAAQ;AACjB;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uCAAuC;AACvC,yCAAyC;;AAEzC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,IAAI;;AAEJ;AACA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;;AAEJ;AACA;AACA,IAAI;;AAEJ;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;AACA;;;;;;;;ACnbA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA,GAAG;;AAEH;AACA;AACA,aAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,eAAe,MAAM;AACrB;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,MAAM;AACnB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;;AAEA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA,eAAe,MAAM,GAAG,kBAAkB;AAC1C;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI;;AAEJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,iBAAiB;AAC7B,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,YAAY,iBAAiB;AAC7B,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,YAAY,iBAAiB;AAC7B,YAAY,OAAO;AACnB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA,YAAY,iBAAiB;AAC7B,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,YAAY,iBAAiB;AAC7B,YAAY,OAAO;AACnB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,iBAAiB;AAC7B,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,MAAM;AAClB,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA,YAAY,MAAM;AAClB,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,YAAY,iBAAiB;AAC7B,YAAY,OAAO;AACnB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA,YAAY,iBAAiB;AAC7B,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,YAAY,iBAAiB;AAC7B,YAAY,OAAO;AACnB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA,YAAY,iBAAiB;AAC7B,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,iBAAiB;AAC7B,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA,YAAY,iBAAiB;AAC7B,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,YAAY,iBAAiB;AAC7B,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA,YAAY,iBAAiB;AAC7B,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,MAAM;AAClB,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,MAAM;AAClB,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,YAAY,iBAAiB;AAC7B,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,YAAY,iBAAiB;AAC7B,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,YAAY,iBAAiB;AAC7B,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,YAAY,iBAAiB;AAC7B,YAAY,OAAO;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;;;;;;;;AClXA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA,wFAAwF;AACxF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,GAAG;AACH;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ,kCAAkC;AAClC;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,sHAAsH;AACtH;AACA,MAAM;AACN,+CAA+C;AAC/C;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,aAAa,UAAU;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA,gFAAgF;AAChF,6FAA6F;;AAE7F;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;;AAEA,gDAAgD;AAChD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,4BAA4B,kBAAkB;AAC9C;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;;AAEA;AACA,wDAAwD;AACxD;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;;;;;;;;ACpvBA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;;;;;;;AC3CA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gCAAgC,8BAA8B;AAC9D,wBAAwB,OAAO;AAC/B,gBAAgB,cAAc;AAC9B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,mBAAmB,eAAe;AAClC;AACA;AACA;;AAEA;AACA,IAAI;;AAEJ;AACA;AACA;AACA,gCAAgC,8BAA8B;AAC9D,wBAAwB,OAAO;AAC/B,gBAAgB,cAAc;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA,wBAAwB,OAAO;AAC/B,oBAAoB,OAAO;AAC3B,oBAAoB,cAAc;AAClC,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,wDAAwD;AACxD;AACA,KAAK;AACL,sBAAsB;AACtB;;AAEA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/MA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA,IAAI;AACJ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wBAAwB,OAAO;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,kCAAkC;AAClC;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA,2CAA2C;AAC3C,2EAA2E;AAC3E,yDAAyD;AACzD,8CAA8C;AAC9C,kFAAkF;AAClF,wDAAwD;AACxD,+CAA+C;AAC/C,8EAA8E;;AAE9E;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA,aAAa;AACb,eAAe;AACf,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAI;;AAEJ;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,oCAAoC,SAAS;AAC7C;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,mCAAmC,SAAS;AAC5C;AACA,0CAA0C;;AAE1C;AACA,kDAAkD;AAClD;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;AACA,uBAAuB;AACvB,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,eAAe;AACrC,eAAe,MAAM;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,qCAAqC,SAAS;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,sBAAsB,gBAAgB;AACtC,2BAA2B,MAAM;AACjC,eAAe,MAAM;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qCAAqC,SAAS;AAC9C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACz6BA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;AACF;;;;;;;;ACvGA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,uBAAuB;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;;;;;;;;ACtFA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;;;;;;;;ACnGA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,wBAAwB;AACxC,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,OAAO;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA,WAAW;AACX,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;;;;;;;;AC/MA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB;AAClB,oBAAoB;AACpB,aAAa;AACb,aAAa;AACb,UAAU;AACV,WAAW;AACX,aAAa;AACb,YAAY;AACZ,gBAAgB;AAChB,eAAe;AACf,sBAAsB;AACtB,wBAAwB;AACxB,eAAe;;AAEf;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,IAAI;;AAEJ,mCAAmC;AACnC;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0DAA0D;AAC1D,mDAAmD;AACnD;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;AC1RA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,uCAAuC;AACrF,aAAa,EAAE;AACf,aAAa,OAAO;AACpB,eAAe,yBAAyB;AACxC;AACA,+BAA+B;;AAE/B;AACA;AACA;AACA,aAAa,yBAAyB;AACtC,eAAe,QAAQ;AACvB;AACA,+BAA+B;;AAE/B;AACA;AACA,aAAa,MAAM;AACnB,aAAa,OAAO,cAAc,aAAa;AAC/C,aAAa,SAAS;AACtB,UAAU,aAAa;AACvB;AACA,iCAAiC;;AAEjC;AACA;AACA,aAAa,MAAM;AACnB,aAAa,OAAO,cAAc,aAAa;AAC/C,aAAa,SAAS;AACtB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;;AAEA;AACA;;;;;;;;ACpEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;;AAEA;AACA;;AAEA;AACA,gBAAgB,KAAK;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,sCAAsC,UAAU;AAChD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,cAAc,WAAW;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,YAAY,SAAS;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpTA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,sBAAsB,OAAO;AAC7B,qBAAqB,OAAO;AAC5B,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;;AAEA,wFAAwF;AACxF;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,gCAAgC;AAChC;AACA,IAAI;AACJ;AACA,kCAAkC;AAClC;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM;;AAEN;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,0CAA0C;;AAE1C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,8BAA8B;AAC9B;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;;AAEA,KAAK;AACL;AACA,GAAG;;AAEH;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,eAAe;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/hBA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;;AAEA,wFAAwF;AACxF;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gCAAgC;AAChC;AACA,IAAI;AACJ;AACA,kCAAkC;AAClC;;AAEA;AACA;;AAEA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oFAAoF;AACpF;;AAEA;AACA;AACA,0CAA0C;AAC1C,yCAAyC;AACzC;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjOA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;;AAEF;;AAEA;;;;;;;;ACnIA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA;AACA,OAAO;AACP;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;;AAEA;;;;;;;;AC7LA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;;;;;;;;ACzGA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,yDAAyD;AACzD;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI,OAAO;AACX;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;;AAEA;;;;;;;;ACrPA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,aAAa,gBAAgB;AAC7B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,kBAAkB,iBAAiB;AACnC;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA,wCAAwC,QAAQ;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,gBAAgB;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;;AAEA;;;;;;;;AC1gBA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,SAAS;AAC1B,kBAAkB,0BAA0B;AAC5C,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,OAAO;AAC3B,gBAAgB,OAAO;AACvB,gBAAgB,OAAO;AACvB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA,sCAAsC,cAAc;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,gBAAgB,OAAO;AACvB,gBAAgB,OAAO;AACvB,iBAAiB,OAAO,6BAA6B,mBAAmB;AACxE,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kBAAkB,wCAAwC;AAC1D;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,oBAAoB,sBAAsB;AAC1C,sBAAsB,OAAO;AAC7B,sBAAsB,OAAO;AAC7B,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,sBAAsB;AAC1C,sBAAsB,OAAO;AAC7B,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,KAAK;AACL;AACA;AACA;;AAEA;AACA,IAAI;;AAEJ;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA,iEAAiE;AACjE;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;AACF;;AAEA;;;;;;;ACzbA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,+BAA+B,EAAE;AACjC,8BAA8B,EAAE;AAChC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB,gBAAgB;AACrC;AACA;AACA;AACA;AACA;AACA,qBAAqB,gBAAgB;AACrC;AACA;AACA;AACA;AACA,qBAAqB,gBAAgB;AACrC;AACA;AACA;AACA;AACA;AACA,qBAAqB,gBAAgB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,gBAAgB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;;;;;;AC5NA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,kCAAkC;AAClC;AACA;AACA,uCAAuC,SAAS;AAChD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,wDAAwD,uCAAuC;AAC/F,sDAAsD,qCAAqC;;AAE3F;AACA;;AAEA;AACA;;AAEA;AACA;AACA,EAAE;AACF,CAAC;;AAED;;;;;;;AC7EA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,qCAAqC,SAAS;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB;;AAEzB;;AAEA;AACA;AACA;;AAEA,yCAAyC,SAAS;AAClD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,qCAAqC,SAAS;AAC9C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;AC/FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+C;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA,sB;;;;;;ACLA;AACA;AACA;AACA,kD;;;;;;ACHA;AACA;AACA;AACA;AACA,6C;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8C;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gD;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gD;;;;;;ACnBA;AACA,oD;;;;;;ACDA;AACA,kD;;;;;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iD;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gD;;;;;;ACPA;AACA;AACA;AACA;AACA,6C;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gD;;;;;;AC1BA;AACA;AACA,gD;;;;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACTA;AACA;AACA,2C;;;;;;ACFA;AACA,wD;;;;;;ACDA;AACA;AACA;AACA;AACA,E;;;;;;ACJA;AACA;AACA;AACA,E;;;;;;ACHA,4BAA4B,e;;;;;;ACA5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,WAAW,eAAe;AAC/B;AACA,KAAK;AACL;AACA,E;;;;;;ACpBA;AACA;AACA;AACA;AACA,yBAAyB,kBAAkB,EAAE;;AAE7C;AACA;AACA;AACA;AACA,GAAG,UAAU;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACnBA,+E;;;;;;ACAA;AACA,sEAAsE,gBAAgB,UAAU,GAAG;AACnG,CAAC,E;;;;;;;ACFD;AACA;AACA;AACA;AACA;;AAEA;AACA,6FAAgF,aAAa,EAAE;;AAE/F;AACA,qDAAqD,0BAA0B;AAC/E;AACA,E;;;;;;ACZA;AACA,UAAU;AACV,E;;;;;;ACFA,sB;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,UAAU,EAAE;AAC9C,mBAAmB,sCAAsC;AACzD,CAAC,oCAAoC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC,W;;;;;;AChCD;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;ACxCA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACZA,yC;;;;;;ACAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,E;;;;;;ACZA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;AChBA,cAAc,sB;;;;;;ACAd,0C;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACNA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D,E;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;ACNA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,cAAc;AACd,iBAAiB;AACjB;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA,4B;;;;;;ACjCA;AACA;;AAEA,0CAA0C,kCAAoC,E;;;;;;ACH9E;AACA;AACA,sEAAuE,2CAA0C,E;;;;;;;ACFjH;AACA;;AAEA;AACA;AACA,6BAA6B;AAC7B,cAAc;AACd;AACA,CAAC;AACD;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,UAAU;AACV,CAAC,E;;;;;;AChBD;AACA;AACA;AACA;AACA;;AAEA,wGAAwG,OAAO;AAC/G;AACA;AACA;AACA;AACA;AACA,C;;;;;;;ACZA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,E;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACdA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,E;;;;;;ACfA;AACA;;AAEA;AACA;AACA,E;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,0BAA0B;AAC1B;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,E;;;;;;;AClFA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,E;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,E;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,E;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACTA;AACA;AACA;AACA,E;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,sBAAsB;AAChF,gFAAgF,sBAAsB;AACtG,E;;;;;;ACRA;AACA;;AAEA,6BAA6B,sCAA4C;;AAEzE,uC;;;;;;;ACLA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACTD;AACA;;AAEA,6BAA6B,gCAA+B;;AAE5D,iC;;;;;;;ACLA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,gBAAgB,EAAE;AACxD;AACA;AACA;AACA;AACA,CAAC;AACD,8B;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,gBAAgB,EAAE;AACxD;AACA;AACA;AACA;AACA,CAAC;AACD,8B;;;;;;;ACbA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACVD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yEAA0E,kBAAkB,EAAE;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,gCAAgC;AACpF;AACA;AACA,KAAK;AACL;AACA,iCAAiC,gBAAgB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACpCD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACdD;AACA;;AAEA,6BAA6B,kCAAgC,E;;;;;;;ACH7D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACXD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,WAAW;AACpB;AACA;AACA,CAAC,E;;;;;;;ACrBD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACTD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;AClBD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACTD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAU;AACnB;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;AC3BD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACtBD,kC;;;;;;ACAA;AACA;;AAEA,4BAA4B,gBAAgB,6BAA6B,GAAG,E;;;;;;;ACH5E;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;AC3BD;AACA;AACA;AACA;;AAEA;AACA,wEAAwE,wBAAwB,UAAU,GAAG;AAC7G,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACbD;AACA;;AAEA,oG;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,C;;;;;;ACVA;AACA;;AAEA,gCAAgC,+BAAyB,E;;;;;;;ACHzD;AACA;AACA;AACA;AACA;AACA;AACA,4FAA4F;AAC5F;AACA;AACA;AACA;AACA;AACA,EAAE,E;;;;;;ACZF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,CAAC,E;;;;;;ACxBD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACjBD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,yEAAyE,aAAa,E;;;;;;ACTtF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACTD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACPD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;AACA;;AAEA,iEAAiE,cAAc,E;;;;;;ACJ/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACzBD;AACA;AACA;;AAEA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,CAAC,E;;;;;;ACxBD;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;AChBD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACPD;AACA;;AAEA,4BAA4B,gCAAgC,E;;;;;;ACH5D;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACPD;AACA;;AAEA,4BAA4B,+BAA8B,E;;;;;;ACH1D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACdD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACXD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACPD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD,KAAK;AACL;AACA,uCAAuC,cAAc,OAAO;AAC5D,uCAAuC,cAAc,OAAO;AAC5D;AACA;AACA,mEAAmE,OAAO;AAC1E;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,0BAA0B,EAAE;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;ACpEA;AACA;;AAEA,8BAA8B,0BAA0B,E;;;;;;ACHxD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;;AAEA,8BAA8B,oCAAoC,E;;;;;;ACHlE;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACPD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACTD;AACA;;AAEA,8BAA8B,mCAAmC,E;;;;;;ACHjE;AACA;;AAEA,8BAA8B,oCAAoC,E;;;;;;ACHlE;AACA;AACA;AACA,+EAA+E,wBAAwB,E;;;;;;ACHvG;AACA;AACA;AACA,2EAA2E,oBAAoB,E;;;;;;;ACH/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,CAAC,E;;;;;;;AChHD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA,sBAAsB;AACtB,CAAC;AACD;AACA;AACA,kG;AACA;AACA,CAAC,E;;;;;;ACjBD;AACA;;AAEA,0CAA0C,iCAAoC,E;;;;;;ACH9E;AACA;AACA,8BAA8B,iCAAoC,E;;;;;;ACFlE;AACA;AACA,qEAAuE,2CAA2C,E;;;;;;ACFlH;AACA;AACA,qEAAuE,0CAA0C,E;;;;;;ACFjH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;AACA;AACA,CAAC,E;;;;;;ACHD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACPD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACPD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACPD;AACA;AACA,8BAA8B,8BAA6B,E;;;;;;ACF3D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;AACA,8BAA8B,6CAA4C,E;;;;;;ACF1E;AACA;AACA;AACA,8DAA8D,wBAAwB,E;;;;;;ACHtF;AACA;AACA;AACA,0DAA0D,oBAAoB,E;;;;;;ACH9E;AACA;AACA;AACA;AACA,sDAAmD;AACnD;AACA;AACA;AACA,qBAAqB;AACrB,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACfD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAoD;;AAEpD;AACA;AACA;AACA;AACA,kCAAkC;AAClC,CAAC;AACD;AACA,yBAAyB;AACzB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;AC9CD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAAgC,MAAM,SAAS,OAAO,SAAS;AAC/D,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,CAAC,E;;;;;;ACrBD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACVD;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC,GAAG;AACH,UAAU;AACV,CAAC;;AAED;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACzBD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACTD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,+BAA+B,SAAS,E;;;;;;ACpBxC;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACPD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACVD;AACA;;AAEA,+BAA+B,mCAAgC,E;;;;;;ACH/D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,CAAC,E;;;;;;ACfD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,CAAC,E;;;;;;ACdD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,+BAA+B,SAAS,E;;;;;;AC9BxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,kBAAkB,EAAE;AAC1C,wBAAwB,gBAAgB;AACxC,KAAK;AACL;AACA,mCAAmC,iBAAiB;AACpD;AACA;AACA;AACA;;AAEA,mC;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,sCAAkC,wBAAwB,wBAAwB,YAAY,EAAE;AAChG;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;AACD;AACA;AACA,GAAG;AACH,C;;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACRD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACnBD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACND;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC,E;;;;;;;ACtBD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACXD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACND;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC,E;;;;;;ACjBD;;AAEA;AACA;AACA;AACA,CAAC,E;;;;;;;ACLD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACjBD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH,C;;;;;;ACvDA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA,EAAE,E;;;;;;ACPF;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,E;;;;;;ACdF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA,EAAE,E;;;;;;AClBF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA,EAAE,E;;;;;;AChBF;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA,EAAE,E;;;;;;ACPF;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA,EAAE,E;;;;;;ACRF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA,EAAE,E;;;;;;ACfF;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA,EAAE,E;;;;;;ACRF;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,E;;;;;;;;;;;;;;;;;;;;;;;;ACdF;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;;;;;;;AC7GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,QAAQ,WAAW;;AAEnB;AACA;AACA;AACA,QAAQ,WAAW;;AAEnB;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA,QAAQ,WAAW;;AAEnB;AACA;AACA,QAAQ,UAAU;;AAElB;AACA;;;;;;;ACpFA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;ACpBA,iBAAiB;;AAEjB;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,YAAY,EAAE,YAAY,EAAE;AAC5B;AACA;AACA;AACA,YAAY,IAAI,WAAW,EAAE;AAC7B;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,IAAI,QAAQ,IAAI;AAC9B;AACA;AACA,qBAAqB,EAAE,MAAM,EAAE;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE,MAAM,EAAE;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,EAAE;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,IAAI;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf;AACA;AACA,qBAAqB,EAAE,MAAM,EAAE;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE;AAChB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE;AAChB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE,MAAM,EAAE,MAAM,IAAI,MAAM,EAAE;AAC1C;AACA;AACA,cAAc,EAAE,MAAM,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE,MAAM,EAAE;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,IAAI;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE;AACd;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,EAAE,WAAW,EAAE,MAAM,GAAG;AAClC;AACA;AACA,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,EAAE,MAAM,EAAE;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE,MAAM,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE;AAChB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,KAAK;AAClB;AACA;AACA,cAAc,EAAE;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,KAAK;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,IAAI;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE,MAAM,IAAI;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE,MAAM,IAAI;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,KAAK;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,IAAI;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,IAAI,YAAY,EAAE;AAC3B;AACA;AACA,mBAAmB,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,IAAI;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE,MAAM,IAAI;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,EAAE;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE,MAAM,EAAE;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE,MAAM,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,iCAAiC,EAAE;AACpF,sBAAsB,EAAE,qEAAqE,EAAE;AAC/F,gBAAgB,EAAE,OAAO,EAAE;AAC3B,+BAA+B,EAAE;AACjC,YAAY,EAAE;AACd;AACA;AACA,WAAW,IAAI;AACf,YAAY,EAAE;AACd,gBAAgB,EAAE,iBAAiB,EAAE;AACrC;AACA;AACA;AACA;AACA,cAAc,EAAE;AAChB;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,IAAI;AACtE;AACA;AACA,WAAW,EAAE,MAAM,IAAI;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,IAAI;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,IAAI;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,EAAE,MAAM,EAAE;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,IAAI;AACpB,kBAAkB,IAAI,MAAM,EAAE,QAAQ,IAAI;AAC1C,YAAY,IAAI;AAChB,eAAe,IAAI;AACnB;AACA;AACA,eAAe,IAAI,UAAU,IAAI,eAAe,IAAI,WAAW,IAAI,cAAc,IAAI,WAAW,IAAI,eAAe,IAAI,SAAS,IAAI,QAAQ,IAAI,eAAe,IAAI,aAAa,IAAI,SAAS,EAAE,KAAK,IAAI,SAAS,IAAI,eAAe,IAAI,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,IAAI;AACrR;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE;AAChB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,IAAI,MAAM,EAAE,WAAW,IAAI;AACzC;AACA;AACA,cAAc,IAAI;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,IAAI;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,IAAI;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,IAAI;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE;AAChB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,IAAI,UAAU,IAAI;AACjC;AACA;AACA,mBAAmB,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE,MAAM,IAAI;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,IAAI;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,IAAI;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE,MAAM,EAAE;AACxB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE;AACd;AACA;AACA,mBAAmB,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,EAAE;AACjC,gCAAgC,EAAE;AAClC;AACA;AACA;AACA;AACA,cAAc,EAAE;AAChB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA,kBAAkB,EAAE,MAAM,EAAE;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA,kBAAkB,EAAE;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE,MAAM,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,EAAE;AACzD,8EAA8E,EAAE;AAChF;AACA;AACA;AACA;AACA,gBAAgB,KAAK,cAAc,IAAI,cAAc,EAAE,MAAM,IAAI;AACjE;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,IAAI,MAAM,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,MAAM;AACrD;AACA;AACA;AACA;AACA,cAAc,EAAE;AAChB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,EAAE,MAAM,EAAE;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,IAAI;AAClB;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE,MAAM,EAAE;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE,QAAQ,IAAI,SAAS,KAAK;AACzC;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,EAAE,MAAM,EAAE;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE,MAAM,IAAI;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE,MAAM,GAAG;AACxB;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE,MAAM,EAAE;AACvB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8KAA8K,EAAE,QAAQ,EAAE;AAC1L,8KAA8K,EAAE;AAChL,uCAAuC,EAAE,QAAQ,EAAE;AACnD,iBAAiB,EAAE;AACnB,uCAAuC,EAAE;AACzC;AACA;AACA;AACA;AACA,cAAc,IAAI;AAClB;AACA;AACA,mBAAmB,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,IAAI;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE,MAAM,IAAI;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,EAAE;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE,MAAM,EAAE;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE,MAAM,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE;AAChB,sBAAsB,EAAE,+EAA+E,EAAE;AACzG,gBAAgB,EAAE,OAAO,EAAE;AAC3B,kBAAkB,EAAE;AACpB,YAAY,EAAE;AACd;AACA;AACA;AACA,YAAY,EAAE;AACd,gBAAgB,EAAE,MAAM,EAAE;AAC1B;AACA;AACA;AACA;AACA,aAAa,EAAE,SAAS,IAAI,MAAM,EAAE;AACpC;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE,QAAQ,EAAE;AACzB;AACA;AACA,qBAAqB,EAAE,MAAM,EAAE,MAAM,EAAE;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE;AAChB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,IAAI;AAC7B;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE,MAAM,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE,MAAM,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE,MAAM,IAAI;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE,MAAM,EAAE;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,IAAI;AAClB;AACA;AACA,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,KAAK,eAAe,IAAI,MAAM,KAAK;AAChD;AACA;AACA,aAAa,EAAE,MAAM,EAAE;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,IAAI;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,IAAI;AACvB;AACA;AACA;AACA,gBAAgB,EAAE;AAClB,gBAAgB,EAAE;AAClB;AACA;AACA;AACA;AACA,eAAe,EAAE,MAAM,IAAI;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,EAAE,MAAM,EAAE;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,EAAE,MAAM,EAAE;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,IAAI;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,EAAE,OAAO,EAAE;AAC7B;AACA;AACA;AACA,eAAe,IAAI,YAAY,EAAE;AACjC;AACA;AACA,gBAAgB,EAAE;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE,MAAM,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,IAAI;AAClB;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,IAAI;AAClB;AACA;AACA,gBAAgB,IAAI;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,IAAI;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE,MAAM,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE,kDAAkD,EAAE;AACvE,wDAAwD,EAAE;AAC1D;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE;AACd;AACA,gBAAgB,EAAE;AAClB;AACA;AACA;AACA;AACA,cAAc,IAAI;AAClB;AACA;AACA,mBAAmB,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,IAAI;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE,MAAM,IAAI;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,EAAE;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE,MAAM,EAAE;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE,MAAM,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE;AAChB,sBAAsB,EAAE,+EAA+E,EAAE;AACzG,gBAAgB,EAAE,OAAO,EAAE;AAC3B,kBAAkB,EAAE;AACpB,YAAY,EAAE;AACd;AACA;AACA;AACA,YAAY,EAAE;AACd,gBAAgB,EAAE,MAAM,EAAE;AAC1B;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE,MAAM,KAAK;AAC1B;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,EAAE,MAAM,EAAE,MAAM,EAAE;AACpC;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,KAAK,cAAc,KAAK,wCAAwC,IAAI,gBAAgB,IAAI;AACxG;AACA;AACA,YAAY,EAAE,MAAM,IAAI;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE,MAAM,EAAE;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE,MAAM,EAAE;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,KAAK;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,KAAK;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,KAAK;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE,MAAM,KAAK;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,KAAK;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,WAAW,KAAK;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE,MAAM,KAAK;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE,MAAM,EAAE;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE,MAAM,EAAE;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,EAAE;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE,MAAM,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE,MAAM,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,EAAE,MAAM,IAAI;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE;AACd;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE;AAChB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,EAAE;AAC5B;AACA;AACA,qBAAqB,EAAE,MAAM,EAAE,MAAM,EAAE;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,KAAK,UAAU,EAAE,MAAM,EAAE;AAClC;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE,MAAM,IAAI;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,IAAI,UAAU,IAAI,QAAQ,IAAI;AACvC;AACA;AACA,iBAAiB,EAAE,MAAM,EAAE;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE,MAAM,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE,MAAM,EAAE;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE,MAAM,IAAI;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,IAAI,WAAW,EAAE,MAAM,EAAE,SAAS,IAAI;AAC/C;AACA;AACA,gBAAgB,IAAI;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,IAAI;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE,MAAM,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE,MAAM,EAAE;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACxC;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,EAAE;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf;AACA;AACA,mBAAmB,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE;AAChB;AACA;AACA,sBAAsB,EAAE,MAAM,EAAE;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,IAAI,MAAM,IAAI,SAAS,IAAI,MAAM,KAAK,MAAM,IAAI,SAAS,IAAI;AACzE;AACA;AACA,WAAW,EAAE,MAAM,IAAI;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,IAAI;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,IAAI;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,EAAE,MAAM,EAAE;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,IAAI,kBAAkB,IAAI;AAC/C,kBAAkB,IAAI,MAAM,EAAE,QAAQ,IAAI;AAC1C,YAAY,IAAI;AAChB,eAAe,IAAI;AACnB;AACA;AACA,eAAe,IAAI,UAAU,IAAI,eAAe,IAAI,WAAW,IAAI,cAAc,IAAI,WAAW,IAAI,eAAe,IAAI,SAAS,IAAI,QAAQ,IAAI,eAAe,IAAI,aAAa,IAAI,SAAS,EAAE,KAAK,IAAI,SAAS,IAAI,eAAe,IAAI,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,IAAI;AACrR;AACA;AACA;AACA;AACA,cAAc,EAAE,MAAM,GAAG;AACzB;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf;AACA;AACA;AACA,YAAY,EAAE;AACd;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf;AACA;AACA,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf;AACA;AACA,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,EAAE;AACZ;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,KAAK;AACb;AACA;AACA,YAAY,EAAE,MAAM,EAAE;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,IAAI;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE,MAAM,IAAI;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,EAAE,MAAM,EAAE;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,EAAE,gFAAgF,EAAE,gnBAAgnB,EAAE,qkBAAqkB,EAAE,mBAAmB,EAAE,cAAc,EAAE;AACx2C,kBAAkB,EAAE,iBAAiB,EAAE,gGAAgG,EAAE,qEAAqE,EAAE,wCAAwC,EAAE;AAC1P,uBAAuB,IAAI,OAAO,EAAE,SAAS,EAAE;AAC/C,yCAAyC,EAAE;AAC3C,WAAW,EAAE;AACb;AACA,uBAAuB,EAAE;AACzB,+DAA+D,EAAE;AACjE,WAAW,EAAE;AACb,8BAA8B,EAAE,QAAQ,EAAE;AAC1C;AACA;AACA;AACA;AACA,cAAc,EAAE;AAChB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE;AACd;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,IAAI;AACpB;AACA;AACA,YAAY,EAAE,MAAM,EAAE;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,IAAI;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE,MAAM,IAAI;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,EAAE,MAAM,EAAE;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,mCAAmC,EAAE;AACrC,uBAAuB,IAAI,OAAO,EAAE,SAAS,EAAE;AAC/C,wCAAwC,EAAE;AAC1C,WAAW,EAAE;AACb;AACA,uBAAuB,EAAE;AACzB,+DAA+D,EAAE;AACjE,WAAW,EAAE;AACb,8BAA8B,EAAE,QAAQ,EAAE;AAC1C;AACA;AACA;AACA;AACA,aAAa,EAAE,MAAM,EAAE;AACvB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE;AACd;AACA;AACA,mBAAmB,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oFAAoF,EAAE;AACtF,gCAAgC,EAAE;AAClC;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE;AAChB;AACA;AACA,oBAAoB,EAAE,MAAM,EAAE;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE,MAAM,EAAE;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE,UAAU,EAAE;AAC3B;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE;AAChB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE;AACnC;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE;AAClB;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE,MAAM,IAAI,MAAM,KAAK;AACtC;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,IAAI;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,IAAI,SAAS,IAAI;AAC9B;AACA;AACA,cAAc,EAAE,MAAM,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,EAAE,MAAM,IAAI;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE,MAAM,IAAI;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,EAAE,MAAM,IAAI;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,EAAE,MAAM,IAAI;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE,MAAM,IAAI;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,cAAc,EAAE,MAAM,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,IAAI;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,KAAK,MAAM,KAAK;AACjC;AACA;AACA,WAAW,EAAE,MAAM,IAAI;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,IAAI;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE,MAAM,IAAI,MAAM,EAAE;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE,MAAM,EAAE,MAAM,IAAI;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,IAAI;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,IAAI;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE,MAAM,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,IAAI;AACnB;AACA;AACA,cAAc,IAAI,MAAM,EAAE;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE,MAAM,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,IAAI;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,EAAE,MAAM,EAAE;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,KAAK,YAAY,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,IAAI;AAC3D;AACA;AACA,oBAAoB,EAAE,MAAM,EAAE;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,EAAE,MAAM,EAAE;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,IAAI,MAAM,EAAE,MAAM,EAAE;AACpC;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE,MAAM,EAAE;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE,MAAM,EAAE;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,IAAI,MAAM,EAAE,MAAM,EAAE;AACpC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,IAAI;AACpB;AACA;AACA,YAAY,EAAE,MAAM,EAAE;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,IAAI;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE,MAAM,IAAI;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,EAAE,MAAM,EAAE;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,EAAE;AACpB,qCAAqC,EAAE;AACvC,eAAe,EAAE;AACjB,+BAA+B,EAAE;AACjC,WAAW,EAAE;AACb;AACA,uBAAuB,EAAE,gDAAgD,EAAE,OAAO,EAAE;AACpF,oBAAoB,EAAE;AACtB,WAAW,EAAE;AACb,4CAA4C,EAAE;AAC9C;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,KAAK,UAAU,KAAK;AACvC;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,IAAI;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,IAAI,MAAM,EAAE;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,IAAI,MAAM,EAAE;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,EAAE;AACX;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,cAAc,EAAE,MAAM,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,EAAE,MAAM,IAAI;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,IAAI,cAAc,EAAE,MAAM,EAAE;AACzC;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,IAAI;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,IAAI;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE,OAAO,EAAE;AACxB;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,KAAK,kBAAkB,EAAE,SAAS,IAAI;AACrD;AACA;AACA,WAAW,EAAE,MAAM,IAAI,MAAM,EAAE;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,EAAE,MAAM,EAAE;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,IAAI;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE,MAAM,IAAI,MAAM,EAAE;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,IAAI;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE,MAAM,IAAI;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,IAAI;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,IAAI,oXAAoX,IAAI;AAC7Y,sBAAsB,EAAE,MAAM,IAAI,MAAM,IAAI;AAC5C,eAAe,EAAE,MAAM,EAAE;AACzB,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,OAAO,EAAE;AACnH,sBAAsB,EAAE;AACxB;AACA;AACA;AACA,WAAW,EAAE;AACb,kBAAkB,EAAE,SAAS,EAAE;AAC/B;AACA;AACA;AACA;AACA,gBAAgB,IAAI;AACpB;AACA;AACA,YAAY,EAAE,MAAM,EAAE;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,IAAI;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE,MAAM,IAAI;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,EAAE,MAAM,EAAE;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,EAAE;AACvB,uDAAuD,EAAE;AACzD,+BAA+B,EAAE;AACjC,kDAAkD,EAAE;AACpD,eAAe,EAAE;AACjB;AACA,oCAAoC,EAAE,6DAA6D,EAAE,OAAO,EAAE;AAC9G,+DAA+D,EAAE;AACjE,WAAW,EAAE;AACb,4DAA4D,EAAE;AAC9D;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,IAAI;AACnB;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE,MAAM,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,IAAI;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,IAAI,cAAc,KAAK,MAAM,IAAI,MAAM,EAAE;AACtD;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,WAAW,EAAE;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,IAAI,UAAU,IAAI;AAC5B;AACA;AACA,WAAW,EAAE,MAAM,IAAI;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,IAAI;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,IAAI;AACnB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,IAAI;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,EAAE,MAAM,EAAE;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE,MAAM,IAAI,MAAM,EAAE;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE;AAChB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,EAAE,SAAS,EAAE;AACtB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,KAAK,UAAU,IAAI,MAAM,EAAE;AACtC;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,IAAI,MAAM,EAAE;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,WAAW,EAAE;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,IAAI,MAAM,EAAE;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,IAAI;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,IAAI;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,EAAE;AACxB;AACA;AACA;AACA,eAAe,IAAI;AACnB;AACA;AACA,WAAW,EAAE,MAAM,IAAI;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE;AAChB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,EAAE,YAAY,EAAE;AAClC;AACA;AACA,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE,8cAA8c,EAAE;AAChe,6CAA6C,EAAE;AAC/C,YAAY,EAAE;AACd,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,EAAE,MAAM,EAAE;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,IAAI;AAClB;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,EAAE,MAAM,EAAE;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE;AAChB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,EAAE,YAAY,EAAE;AACzB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,IAAI,UAAU,EAAE,MAAM,EAAE,MAAM,IAAI;AAC3C;AACA;AACA,iBAAiB,EAAE,MAAM,EAAE;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,EAAE,MAAM,EAAE;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE;AAChB;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf;AACA;AACA,oBAAoB,EAAE;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE,MAAM,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,KAAK,iBAAiB,IAAI,aAAa,IAAI;AACzD;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE;AAChB;AACA;AACA,sBAAsB,EAAE,MAAM,EAAE;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE,MAAM,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE,MAAM,EAAE;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACxC;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,EAAE;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iHAAiH,EAAE,UAAU,EAAE,KAAK,EAAE;AACtI,0DAA0D,EAAE;AAC5D,WAAW,EAAE;AACb,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA,eAAe,IAAI;AACnB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACxC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE;AACnC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE,MAAM,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE;AACd;AACA;AACA,mBAAmB,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,EAAE;AAC5C,gCAAgC,EAAE;AAClC;AACA;AACA;AACA;AACA,YAAY,EAAE;AACd;AACA;AACA,oBAAoB,EAAE,MAAM,EAAE,MAAM,EAAE;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA,cAAc,EAAE,MAAM,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,EAAE,MAAM,EAAE;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE,WAAW,EAAE,MAAM,EAAE;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,IAAI,WAAW,IAAI,cAAc,IAAI,WAAW,IAAI,SAAS,IAAI,WAAW,EAAE,OAAO,EAAE;AACpG;AACA;AACA,gBAAgB,EAAE,MAAM,IAAI;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE,MAAM,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,IAAI;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,IAAI;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE,MAAM,IAAI;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,EAAE,MAAM,EAAE;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,IAAI,WAAW,EAAE;AAC7B;AACA;AACA,oBAAoB,EAAE,MAAM,EAAE;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,IAAI;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE,MAAM,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE,MAAM,IAAI;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE;AAChB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE;AACd;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE;AAChB;AACA;AACA,sBAAsB,EAAE,MAAM,EAAE,MAAM,EAAE;AACxC;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE;AAChB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE;AAClB;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,mBAAmB,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE,MAAM,EAAE;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,IAAI,WAAW,EAAE,KAAK,EAAE;AACvC;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE,aAAa,EAAE,KAAK,EAAE;AACvC;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,KAAK;AAClB;AACA;AACA,qBAAqB,EAAE,MAAM,EAAE;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,EAAE,MAAM,EAAE;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,GAAG;AACxB;AACA;AACA;AACA;AACA;AACA,cAAc,IAAI;AAClB;AACA;AACA,mBAAmB,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE,MAAM,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,EAAE,MAAM,IAAI;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,EAAE,MAAM,EAAE;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE,MAAM,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,IAAI;AAChB;AACA;AACA,oBAAoB,EAAE,MAAM,IAAI;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,EAAE,MAAM,EAAE;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,IAAI;AAChB;AACA;AACA,iBAAiB,EAAE,MAAM,EAAE;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE,MAAM,IAAI;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE,MAAM,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE;AAClB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE;AAChB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE,MAAM,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE;AACd;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,IAAI,MAAM,IAAI,SAAS,KAAK;AACzC;AACA;AACA,gBAAgB,EAAE,MAAM,IAAI;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,IAAI;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,IAAI;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE,MAAM,IAAI;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE,MAAM,IAAI;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE,MAAM,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,IAAI,UAAU,EAAE,SAAS,IAAI;AACtC;AACA;AACA,uBAAuB,EAAE,MAAM,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,IAAI;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,IAAI;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,EAAE,UAAU,EAAE;AACvB;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE,MAAM,EAAE,MAAM,EAAE;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,EAAE;AAC1D,mCAAmC,EAAE;AACrC,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,YAAY,EAAE;AACd,eAAe,EAAE;AACjB,UAAU,EAAE,4BAA4B,EAAE,KAAK,EAAE;AACjD;AACA,gBAAgB,EAAE;AAClB,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA,aAAa,EAAE,eAAe,IAAI,WAAW,IAAI,MAAM,EAAE;AACzD;AACA;AACA,cAAc,EAAE;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE,MAAM,EAAE;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf;AACA;AACA;AACA,gBAAgB,EAAE,aAAa,IAAI;AACnC;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,IAAI;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,IAAI,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,IAAI;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,EAAE,QAAQ,IAAI;AACpC;AACA;AACA,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE,MAAM,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,IAAI;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,IAAI;AAClB;AACA;AACA,cAAc,EAAE;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,EAAE;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,IAAI,MAAM,EAAE;AACrB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,IAAI,UAAU,IAAI,SAAS,IAAI;AACxC;AACA;AACA,cAAc,EAAE,MAAM,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,IAAI;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,EAAE,MAAM,EAAE;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE,MAAM,EAAE;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,IAAI,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,EAAE,UAAU,KAAK,gBAAgB,IAAI,eAAe,EAAE,KAAK,IAAI;AACxE;AACA;AACA,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,IAAI;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,IAAI;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE,MAAM,EAAE;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE,MAAM,IAAI;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE,MAAM,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,IAAI,aAAa,EAAE,MAAM,IAAI;AACzC;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,IAAI;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE;AACd;AACA;AACA,oBAAoB,EAAE,MAAM,EAAE;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE;AAChB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,EAAE,YAAY,IAAI;AAC3B;AACA;AACA,oBAAoB,EAAE,MAAM,EAAE;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,EAAE,MAAM,EAAE;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,EAAE,MAAM,EAAE;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE;AAClB;AACA;AACA,iBAAiB,EAAE,MAAM,EAAE;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,IAAI,aAAa,IAAI;AACnC;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,IAAI;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,IAAI;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,IAAI;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,eAAe,EAAE,MAAM,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,IAAI,UAAU,EAAE;AAC5B;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE,MAAM,EAAE;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,KAAK,eAAe,KAAK,WAAW,IAAI;AACvD;AACA;AACA,eAAe,EAAE,MAAM,IAAI;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,KAAK;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,IAAI;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE,MAAM,IAAI;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,IAAI;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,IAAI;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE;AAChB;AACA;AACA,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wKAAwK,EAAE;AAC1K,UAAU,EAAE;AACZ,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,IAAI;AACnB;AACA;AACA,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,IAAI,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE;AAClD;AACA;AACA,oBAAoB,EAAE,MAAM,EAAE;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE,MAAM,EAAE;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE,MAAM,EAAE;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE,MAAM,EAAE;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE,MAAM,IAAI;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,IAAI;AACnB;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE;AACd;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,KAAK,MAAM,IAAI;AAC/B;AACA;AACA,cAAc,IAAI,MAAM,IAAI,MAAM,EAAE;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,IAAI,MAAM,EAAE,MAAM,EAAE;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE,MAAM,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,IAAI,MAAM,EAAE;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE,MAAM,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,IAAI,MAAM,EAAE;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,EAAE,MAAM,EAAE,MAAM,EAAE;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE,WAAW,KAAK;AAC9B;AACA;AACA,iBAAiB,EAAE,MAAM,EAAE;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,EAAE,MAAM,EAAE;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE,MAAM,EAAE;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,EAAE;AAClC,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA,aAAa,IAAI,SAAS,IAAI;AAC9B;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,EAAE,MAAM,EAAE;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,IAAI;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE,MAAM,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,EAAE,YAAY,EAAE;AACzB;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE,MAAM,EAAE,MAAM,EAAE;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,gCAAgC,EAAE;AAClC,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,YAAY,EAAE;AACd,eAAe,EAAE;AACjB,UAAU,EAAE,4BAA4B,EAAE,KAAK,EAAE;AACjD;AACA,gBAAgB,EAAE;AAClB,+BAA+B,EAAE;AACjC;AACA;AACA;AACA;AACA,iBAAiB,IAAI,MAAM,IAAI;AAC/B;AACA;AACA,qBAAqB,IAAI;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,IAAI;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,EAAE,MAAM,EAAE,MAAM,EAAE;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,IAAI;AAClB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,EAAE;AACxB;AACA;AACA;AACA;AACA,cAAc,EAAE;AAChB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,IAAI;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE;AACd;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE;AACd;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE;AACnC;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE;AAChB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,IAAI;AAClB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,IAAI;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,EAAE;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,EAAE;AACZ;AACA;AACA;AACA;AACA,cAAc,EAAE;AAChB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE;AAChB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE;AACd;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,IAAI,MAAM,EAAE,OAAO,IAAI;AACpC;AACA;AACA,cAAc,EAAE,MAAM,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,EAAE,MAAM,IAAI;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,EAAE,MAAM,EAAE;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE;AAClB;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE,MAAM,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,EAAE;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,WAAW,EAAE;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,IAAI;AAClB;AACA;AACA;AACA,eAAe,EAAE,MAAM,IAAI;AAC3B;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE;AAClB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,IAAI;AAClB;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE,QAAQ,EAAE;AAC3B;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA;AACA,SAAS,IAAI,YAAY,IAAI,MAAM,IAAI;AACvC;AACA;AACA,oBAAoB,EAAE;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE,MAAM,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,IAAI,MAAM,EAAE;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE,MAAM,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,EAAE;AACV;AACA;AACA,oBAAoB,EAAE,MAAM,EAAE;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf;AACA;AACA,qBAAqB,EAAE,MAAM,EAAE;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,EAAE,MAAM,EAAE,MAAM,EAAE;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,EAAE;AACV;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8kBAA8kB,EAAE;AAChlB;AACA,uCAAuC,EAAE;AACzC,iBAAiB,EAAE;AACnB,uCAAuC,EAAE;AACzC;AACA;AACA;AACA;AACA,cAAc,IAAI;AAClB;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf;AACA;AACA,qBAAqB,EAAE,MAAM,EAAE,MAAM,EAAE;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,EAAE,SAAS,EAAE,YAAY,KAAK,kBAAkB,EAAE,SAAS,IAAI;AACjF;AACA;AACA,WAAW,EAAE,MAAM,IAAI,MAAM,EAAE;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,EAAE,MAAM,EAAE;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,IAAI;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE,MAAM,IAAI,MAAM,EAAE;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,IAAI;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE,MAAM,IAAI;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,IAAI;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE;AAChB,sBAAsB,EAAE,MAAM,IAAI,MAAM,IAAI;AAC5C,eAAe,EAAE,MAAM,EAAE;AACzB,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,OAAO,EAAE;AACnH,sBAAsB,EAAE;AACxB;AACA;AACA;AACA,WAAW,EAAE;AACb,kBAAkB,EAAE,SAAS,EAAE;AAC/B;AACA;AACA;AACA;AACA,cAAc,EAAE;AAChB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE;AAChB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE;AAChB;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,IAAI,WAAW,IAAI,MAAM,IAAI;AAC1C;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE,MAAM,EAAE;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,IAAI;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,IAAI;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,EAAE,MAAM,EAAE,MAAM,EAAE;AACtC;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE,MAAM,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,IAAI;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,IAAI;AACpB;AACA;AACA,WAAW,EAAE,MAAM,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,YAAY,EAAE,MAAM,IAAI;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,kBAAkB,EAAE,MAAM,IAAI;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,EAAE,MAAM,IAAI;AAC1B;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,IAAI;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,IAAI;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf;AACA;AACA,oBAAoB,EAAE;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,IAAI,aAAa,EAAE,KAAK,EAAE,cAAc,IAAI,UAAU,IAAI;AAChF;AACA;AACA,iBAAiB,EAAE,MAAM,IAAI;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE,MAAM,IAAI;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE,MAAM,IAAI;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE,MAAM,EAAE,MAAM,IAAI;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,IAAI;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,EAAE,MAAM,IAAI;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE,MAAM,IAAI;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE,MAAM,EAAE;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,EAAE;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,EAAE;AACV;AACA;AACA,gBAAgB,EAAE,MAAM,EAAE;AAC1B;AACA;AACA;AACA;AACA;AACA,E;;;;;;AC5qQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtlBA;;AAEA;AACA;AACA;AACA;AACA;;AAEyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,qHAAmE;AACnE;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,mHAAiE;AACjE;;AAEiC;AACC;AACO;AACA;;AAOzC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,C;;;;;;AC7FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,MAAM;AACjB,aAAa,MAAM;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;AClIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oCAAoC;;AAEpC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB;AACA,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,WAAW,OAAO,WAAW;AAC7B,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA,wBAAwB;;AAExB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO,WAAW;AAC7B,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,EAAE;AACf;AACA;AACA;AACA,mBAAmB,SAAS,GAAG,SAAS;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA,6BAA6B,kBAAkB,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACntDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oCAAoC;;AAEpC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,aAAa,EAAE;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,cAAc;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,WAAW,EAAE;AACb,aAAa,EAAE;AACf;AACA;AACA,iBAAiB,QAAQ,OAAO,SAAS,EAAE;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACl6BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA,6BAA6B,kBAAkB,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2DAA2D;AAC3D;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA,yBAAyB,kBAAkB,EAAE;AAC7C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oCAAoC;;AAEpC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,WAAW,EAAE;AACb,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,cAAc;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA,iBAAiB,QAAQ,OAAO,SAAS,EAAE;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC79BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oCAAoC;;AAEpC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,EAAE;AACb,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC/3BA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,oZAA8B;AAC9B,EAAE;AACF,8CAA8C;AAC9C,EAAE;AACF,uBAAuB;AACvB;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ,YAAY;AACZ,cAAc;AACd;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS,kBAAkB;AAC3B;AACA;AACA;;AAEA;AACA,aAAa,uBAAuB;AACpC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;;AAEA;AACA,iBAAiB,YAAY;AAC7B,mEAAmE;AACnE;;AAEA;AACA;;AAEA;AACA;;AAEA,aAAa,oBAAoB;AACjC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA,cAAc,mBAAmB;AACjC;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,SAAS;AACvB;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,kCAAkC,IAAI;AACtC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,OAAO;AACpB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,oBAAoB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB;AACvB;AACA;;AAEA,aAAa,mBAAmB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,aAAa,oBAAoB;AACjC;AACA,cAAc,mBAAmB;AACjC;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,aAAa,mBAAmB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,aAAa,oBAAoB;AACjC;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,gBAAgB,qBAAqB;AACrC;;AAEA;AACA;AACA,iBAAiB,2BAA2B;AAC5C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;;AAEA;AACA,CAAC;;;;;;;;;;AC5lBgD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,iBAAiB,IAAI;AACrB;AACA;AACA,SAAS,mEAAoB;AAC7B,SAAS,iEAAkB;AAC3B;AACA;AACA,mBAAmB,mFAAoC;AACvD;AACA;AACA,CAAC;AACD,0D;;;;;;;;;AC9B+D;AAC/D;AACA;AACA;AACA;AACA,CAAC,0BAA0B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,iBAAiB,IAAI;AACrB;AACA;AACA,SAAS,mEAAoB;AAC7B,SAAS,iEAAkB;AAC3B;AACA;AACA,kBAAkB,yFAA0C;AAC5D,qBAAqB,kGAAmD;AACxE;AACA;AACA,CAAC;AACD,oE;;;;;;;;;;;;;ACvEyH;AAC7F;AACJ;AACF;AACtB;AACA;AACA,+GAAyC,qBAAqB,EAAE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,8BAA8B;AAC/B;AACA;AACA;AACA;AACA,CAAC,oBAAoB;AACrB;AACA;AACA;AACA;AACA,CAAC,wCAAwC;AACzC;AACA;AACA;AACA;AACA,CAAC,0BAA0B;AAC3B;AACA;AACA;AACA;AACA;AACA,CAAC,0BAA0B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC,wCAAwC;AACxC;AACA,6BAA6B;AAC7B,8BAA8B;AAC9B,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,4BAA4B;AACvD,2BAA2B,4BAA4B;AACvD;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,mGAAmG;AAC5I;AACA;AACA;AACA;AACA;AACA,kCAAkC,0DAA0D;AAC5F;AACA;AACA;AACA;AACA,kCAAkC,yDAAyD;AAC3F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,6BAA6B;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,4BAA4B;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB,+BAA+B,mDAAmD;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,+EAA+E;AACpH;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;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AA8E;AAC1G,8BAA8B,4HAA4H;AAC1J;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,4BAA4B,8EAA8E;AAC1G,8BAA8B,4HAA4H;AAC1J;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,4BAA4B,uGAAuG;AACnI,8BAA8B,oKAAoK;AAClM;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,4BAA4B,uEAAuE;AACnG,8BAA8B,4HAA4H;AAC1J;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,4BAA4B,8EAA8E;AAC1G,8BAA8B,4HAA4H;AAC1J;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,4BAA4B,gEAAgE;AAC5F,8BAA8B,mHAAmH;AACjJ;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,4BAA4B,uEAAuE;AACnG,8BAA8B,8HAA8H;AAC5J;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,4BAA4B,uEAAuE;AACnG,8BAA8B,+HAA+H;AAC7J;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,4BAA4B,8EAA8E;AAC1G,8BAA8B,4HAA4H;AAC1J;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,4BAA4B,8EAA8E;AAC1G,8BAA8B,4HAA4H;AAC1J;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,4BAA4B,8EAA8E;AAC1G,8BAA8B,0HAA0H;AACxJ;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,4BAA4B,uEAAuE;AACnG,8BAA8B,4HAA4H;AAC1J;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,4BAA4B,8EAA8E;AAC1G,8BAA8B,8HAA8H;AAC5J;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,4BAA4B,uEAAuE;AACnG,8BAA8B,8HAA8H;AAC5J;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,kEAAmB;AAC5B;AACA;AACA;AACA,CAAC;AACD,yD;;;;;;;;;ACjQqB;AACrB;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,WAAW;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,0BAA0B;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,2BAA2B;AAChF;AACA;AACA;AACA;AACA;AACA,iEAAiE,iCAAiC;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,2BAA2B;AAChF;AACA,2CAA2C,gBAAgB;AAC3D;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,kEAAmB;AAC5B;AACA;AACA;AACA,CAAC;AACD,uD;;;;;;;ACnKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA,iBAAiB,IAAI;AACrB;AACA;AACA;AACA,SAAS,2BAA2B;AACpC,SAAS,6CAA6C,wBAAwB,IAAI;AAClF;AACA;AACA,CAAC;AACD;AACA,2CAA2C,+iC;;;;;;;AC3B3C;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,iBAAiB;AACxD;AACA;AACA;AACA;AACA,uCAAuC,+BAA+B;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B,iBAAiB;AACjB;AACA;AACA,6BAA6B,oCAAoC;AACjE;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,wDAAwD;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,yBAAyB,EAAE;AACjF,6CAA6C,eAAe,EAAE;AAC9D,2DAA2D,uBAAuB,EAAE;AACpF,kDAAkD,eAAe,EAAE;AACnE,gEAAgE,uBAAuB,EAAE;AACzF,4DAA4D,uBAAuB,EAAE;AACrF;AACA;AACA;AACA;AACA,sDAAsD,yBAAyB,EAAE;AACjF,kDAAkD,uBAAuB,EAAE;AAC3E,2DAA2D,yBAAyB,EAAE;AACtF,uDAAuD,uBAAuB,EAAE;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;;;;;;;AC5SA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,IAAI;AAC/C;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,aAAa;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,eAAe;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,eAAe;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,eAAe;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,eAAe;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,eAAe;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,eAAe;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,oBAAoB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,gC;;;;;;;ACttBA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,iD;;;;;;;ACtCA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,KAAK;AACL;AACA;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,iDAAiD,WAAW;AAC5D;AACA,8C;;;;;;;ACpBA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,wC;;;;;;;AC9GA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA,2BAA2B,OAAO;AAClC,2BAA2B,OAAO;AAClC,4BAA4B,QAAQ;AACpC;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,qC;;;;;;;ACdA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,sC;;;;;;;ACpFA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,6C;;;;;;;ACRA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA,iC;;;;;;;ACJA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,KAAK;AACL;AACA,gFAAgF,iCAAiC;AACjH,mDAAmD,uBAAuB,GAAG,+CAA+C,2BAA2B,GAAG;AAC1J,aAAa,IAAI;AACjB;AACA,iDAAiD;AACjD,KAAK,2BAA2B;AAChC,EAAE;AACF;AACA,2BAA2B,sDAAsD;AACjF,iBAAiB,wCAAwC;AACzD,aAAa,qBAAqB;AAClC,cAAc,qBAAqB;AACnC,oBAAoB,sBAAsB;AAC1C,oBAAoB,6CAA6C;AACjE,sBAAsB,+CAA+C;AACrE,iBAAiB,0CAA0C;AAC3D,cAAc,sCAAsC;AACpD,kBAAkB,0CAA0C;AAC5D;AACA;AACA,gD;;;;;;;ACjLA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,0DAA0D;AAC3E;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,0CAA0C,WAAW;AACrD;AACA,wC;;;;;;;AChCA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,gDAAgD,wBAAwB,EAAE;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,KAAK;AACL;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,8CAA8C,WAAW;AACzD;AACA,qC;;;;;;;AC3BA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,EAAE,iBAAiB,EAAE,eAAe,EAAE,cAAc,EAAE,uBAAuB;AACzG;AACA,qC;;;;;;;ACVA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,gDAAgD,4BAA4B,EAAE;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,KAAK;AACL;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,kDAAkD,WAAW;AAC7D;AACA,qC;;;;;;;AC3BA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,GAAG,SAAS,EAAE,eAAe,GAAG,2BAA2B,GAAG,YAAY,GAAG,4BAA4B,GAAG,mBAAmB,EAAE,IAAI,GAAG;AAC9J,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,sCAAsC,QAAQ;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA,qC;;;;;;;ACvCA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,gDAAgD,yBAAyB,EAAE;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,KAAK;AACL;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,+CAA+C,WAAW;AAC1D;AACA,qC;;;;;;;AC3BA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,EAAE,0EAA0E;AAC5F;AACA,qC;;;;;;;ACVA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,gDAAgD,sBAAsB,EAAE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,KAAK;AACL;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,4CAA4C,WAAW;AACvD;AACA,qC;;;;;;;AC3BA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA,qC;;;;;;;ACVA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,gDAAgD,wBAAwB,EAAE;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,KAAK;AACL;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,8CAA8C,WAAW;AACzD;AACA,qC;;;;;;;AC3BA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA,qC;;;;;;;ACVA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,gDAAgD,uBAAuB,EAAE;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,KAAK;AACL;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,6CAA6C,WAAW;AACxD;AACA,qC;;;;;;;AC3BA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,yBAAyB,6BAA6B,IAAI,QAAQ,IAAI,QAAQ,IAAI,QAAQ,IAAI,gCAAgC,GAAG,uBAAuB;AACtL;AACA,qC;;;;;;;ACVA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,gDAAgD,yBAAyB,EAAE;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,KAAK;AACL;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,+CAA+C,WAAW;AAC1D;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA,qC;;;;;;;ACjCA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,kDAAkD;AAClD;AACA;AACA,qC;;;;;;;ACfA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,gDAAgD,uBAAuB,EAAE;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,KAAK;AACL;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,6CAA6C,WAAW;AACxD;AACA,eAAe,qBAAqB;AACpC;AACA;AACA,qC;;;;;;;AC7CA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qC;;;;;;;ACZA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,gDAAgD,kCAAkC,EAAE;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,KAAK;AACL;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,wDAAwD,WAAW;AACnE;AACA,aAAa,qBAAqB;AAClC;AACA;AACA,qC;;;;;;;AC7CA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qC;;;;;;;ACdA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,gDAAgD,6BAA6B,EAAE;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,KAAK;AACL;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,mDAAmD,WAAW;AAC9D;AACA,YAAY,qBAAqB;AACjC;AACA;AACA,qC;;;;;;;AC7CA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA,qC;;;;;;;ACdA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,gDAAgD,sBAAsB,EAAE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,KAAK;AACL;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,4CAA4C,WAAW;AACvD;AACA,qC;;;;;;;AC3BA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA,qC;;;;;;;AClBA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,gDAAgD,+BAA+B,EAAE;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,KAAK;AACL;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,qDAAqD,WAAW;AAChE;AACA,aAAa,qBAAqB;AAClC;AACA;AACA,qC;;;;;;;AC7CA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qC;;;;;;;ACdA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,gDAAgD,0BAA0B,EAAE;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,KAAK;AACL;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,gDAAgD,WAAW;AAC3D;AACA,YAAY,qBAAqB;AACjC;AACA;AACA,qC;;;;;;;AC7CA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA,qC;;;;;;;ACdA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,gDAAgD,yBAAyB,EAAE;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,KAAK;AACL;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,+CAA+C,WAAW;AAC1D;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA,qC;;;;;;;AC7CA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA,gDAAgD;AAChD;AACA;AACA,qC;;;;;;;ACnBA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,gDAAgD,qBAAqB,EAAE;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,KAAK;AACL;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,2CAA2C,WAAW;AACtD;AACA,aAAa,qBAAqB;AAClC;AACA;AACA,qC;;;;;;;AC7CA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qC;;;;;;;ACdA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,gDAAgD,yBAAyB,EAAE;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,KAAK;AACL;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,+CAA+C,WAAW;AAC1D;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA,qC;;;;;;;AC7CA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA,gDAAgD;AAChD;AACA;AACA,qC;;;;;;;ACnBA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,gDAAgD,qBAAqB,EAAE;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,KAAK;AACL;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,2CAA2C,WAAW;AACtD;AACA,aAAa,qBAAqB;AAClC;AACA;AACA,qC;;;;;;;AC7CA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qC;;;;;;;ACdA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,gDAAgD,4BAA4B,EAAE;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,KAAK;AACL;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,kDAAkD,WAAW;AAC7D;AACA,oBAAoB,qBAAqB;AACzC;AACA;AACA,qC;;;;;;;ACjCA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,qDAAqD;AACrD;AACA;AACA,qC;;;;;;;ACfA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,gDAAgD,0BAA0B,EAAE;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,KAAK;AACL;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,gDAAgD,WAAW;AAC3D;AACA,kBAAkB,qBAAqB;AACvC;AACA;AACA,qC;;;;;;;AC7CA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qC;;;;;;;ACZA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,gDAAgD,wBAAwB,EAAE;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,KAAK;AACL;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,8CAA8C,WAAW;AACzD;AACA,qC;;;;;;;AC3BA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,IAAI,OAAO,EAAE,mCAAmC;AAC3E;AACA,qC;;;;;;;ACVA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,gDAAgD,uBAAuB,EAAE;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,KAAK;AACL;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,6CAA6C,WAAW;AACxD;AACA,eAAe,qBAAqB;AACpC;AACA;AACA,qC;;;;;;;AC7CA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,6BAA6B,YAAY;AAC3F;AACA;AACA,qC;;;;;;;ACbA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,gDAAgD,6BAA6B,EAAE;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,KAAK;AACL;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,mDAAmD,WAAW;AAC9D;AACA,qBAAqB,qBAAqB;AAC1C;AACA;AACA,qC;;;;;;;AC7CA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kFAAkF;AAClF;AACA;AACA,qC;;;;;;;ACdA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,gDAAgD,uBAAuB,EAAE;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,KAAK;AACL;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,6CAA6C,WAAW;AACxD;AACA,eAAe,qBAAqB;AACpC;AACA;AACA,qC;;;;;;;AC7CA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD;AACxD;AACA;AACA,qC;;;;;;;ACdA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,gDAAgD,qBAAqB,EAAE;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,KAAK;AACL;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,2CAA2C,WAAW;AACtD;AACA,qC;;;;;;;AC3BA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA,mFAAmF,IAAI,EAAE,EAAE,iCAAiC,IAAI,EAAE,EAAE,sCAAsC,IAAI,EAAE,EAAE,gDAAgD,IAAI,oBAAoB,EAAE,oLAAoL,GAAG,YAAY,IAAI,qCAAqC;AACxe;AACA,qC;;;;;;;ACVA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,gDAAgD,sBAAsB,EAAE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,KAAK;AACL;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,4CAA4C,WAAW;AACvD;AACA,cAAc,qBAAqB;AACnC;AACA;AACA,qC;;;;;;;AC7CA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA,oBAAoB,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,GAAG;AACxE,oBAAoB,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,GAAG;AAC9E,oBAAoB,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,GAAG;AAC9E,sBAAsB,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,GAAG;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA,qC;;;;;;;;;;;;;;;;;;;;;;ACnBmB;AACO;AACQ;AACJ;AACF;AACF;AACA;AACA;AACC;AACD;AACA;AACC;AACA;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yFAAyF;AACzF;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACO;AACR;AACA,KAAK;AACL;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,6CAA6C,WAAW;AACxD,2C;;;;;;ACzEA,kCAAkC;;AAElC;AACA;AACA;AACA;AACA;AACA;;AAEA,+BAA+B;;AAE/B,8BAA8B;;AAE9B;AACA;AACA;;AAEA;AACA;AACA;;AAEA,4BAA4B;;AAE5B,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,UAAU;;AAEzB,4BAA4B;;AAE5B,gCAAgC;;AAEhC;AACA;AACA;;AAEA;;;;;;;;AC5CA;;;AAGA;;AAEA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;ACjDA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gCAAgC;AAChC;;;AAGA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0BAA0B;AAC1B,0BAA0B;AAC1B,0BAA0B;AAC1B,0BAA0B;;AAE1B,mBAAmB;;AAEnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,oBAAoB,sBAAsB,qBAAqB,cAAc,EAAE;;;AAG/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kBAAkB,QAAQ;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,YAAY;AAC/B,kBAAkB,UAAU;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,wBAAwB;AACxB,YAAY;AACZ,UAAU;AACV,+BAA+B;AAC/B,gCAAgC;AAChC;AACA;;AAEA,sBAAsB;;AAEtB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,0BAA0B;;AAE3D;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD;AACxD;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,sDAAsD;AACtD;AACA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,aAAa;;AAEb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE;;AAEnE;AACA,yDAAyD;AACzD;;AAEA;;AAEA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,0DAA0D;AAC1D;;AAEA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,aAAa;;AAEb;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,OAAO,EAAE;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,wDAAwD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;;AAEA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX,mBAAmB;;AAEnB;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,OAAO,EAAE;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,oEAAoE;AACpE;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,0DAA0D;AAC1D;;AAEA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA,wDAAwD;AACxD;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB;AACrB,eAAe;;AAEf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,mBAAmB;AACnB,kBAAkB;AAClB,0BAA0B;AAC1B,4BAA4B;AAC5B,uBAAuB;AACvB,mBAAmB;AACnB,gBAAgB;AAChB,qBAAqB;AACrB,mBAAmB;AACnB,2BAA2B;AAC3B,uBAAuB;;AAEvB,kBAAkB;AAClB,kBAAkB;AAClB,kBAAkB;;AAElB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB;;AAEnB,iBAAiB;AACjB,qBAAqB;AACrB,qBAAqB;AACrB,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,wBAAwB;AACxB,sBAAsB;AACtB,2BAA2B;AAC3B,oBAAoB;AACpB,uBAAuB;AACvB,qBAAqB;;AAErB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB;AACjB,oBAAoB;;AAEpB;AACA;;AAEA,sBAAsB;;AAEtB;;AAEA;;AAEA,2CAA2C;AAC3C,6CAA6C;AAC7C,4CAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB;AACvB,uBAAuB;AACvB,uBAAuB;;AAEvB;AACA;AACA;;AAEA,0BAA0B;AAC1B,+CAA+C;AAC/C;;AAEA,oBAAoB;AACpB,oBAAoB;AACpB;AACA;AACA;;AAEA,gDAAgD;AAChD;AACA;AACA;;AAEA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;;AAEA,mBAAmB;AACnB,sBAAsB;AACtB,mBAAmB;AACnB,kBAAkB;;;AAGlB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,mDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,6BAA6B,uBAAuB;AACpD,8BAA8B,uBAAuB;AACrD;AACA;AACA;;;AAGA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;;AAEA,uBAAuB;AACvB;AACA;AACA;;AAEA;AACA,aAAa;AACb;AACA;;;AAGA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,qBAAqB;;AAErB,sCAAsC;;AAEtC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA,eAAe;;AAEf;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB;AAChB;AACA;;AAEA;AACA;;AAEA,uBAAuB;AACvB,qBAAqB;AACrB;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA,6BAA6B,uBAAuB;AACpD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;;AAEA;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;;AAEnC;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA,8BAA8B;;AAE9B,2BAA2B,aAAa;AACxC,oBAAoB,qBAAqB;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,oDAAoD;AACpD;AACA;;AAEA,aAAa;;AAEb;AACA;AACA,qBAAqB;AACrB,yBAAyB;AACzB,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE;AAChE;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9zDA;;AAEA;AACA,aAAa;AACb,cAAc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,WAAW;AACX,WAAW;AACX,UAAU;AACV,UAAU;AACV;AACA,WAAW;AACX;AACA,YAAY;AACZ,YAAY;AACZ,YAAY;AACZ;AACA,eAAe;AACf,WAAW;AACX,WAAW;AACX,YAAY;AACZ,YAAY;AACZ,YAAY;AACZ,YAAY;AACZ,WAAW;AACX,SAAS;AACT;AACA,UAAU;AACV,WAAW;AACX,WAAW;AACX;;;AAGA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,WAAW,GAAG;AACd;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe,GAAG;AAClB;AACA;AACA;AACA;;AAEA,wBAAwB;AACxB;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B,4BAA4B;AAC5B,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA,gCAAgC;AAChC;AACA,+BAA+B;AAC/B;AACA;AACA;AACA,mBAAmB;AACnB,qCAAqC;AACrC;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA,mBAAmB;AACnB;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA,qBAAqB;AACrB,uCAAuC;AACvC;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,+BAA+B;AAC/B;AACA;AACA;AACA,mBAAmB;AACnB,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,kBAAkB;AAClB;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB;AAChB;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrUA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;;;AAGA,gBAAgB;AAChB,iBAAiB;AACjB,gBAAgB;AAChB,cAAc;AACd,iBAAiB;AACjB,iBAAiB;AACjB,gBAAgB;AAChB,mBAAmB;AACnB,gBAAgB;AAChB,mBAAmB;AACnB,iBAAiB;AACjB,qBAAqB;AACrB,uBAAuB;AACvB,uBAAuB;AACvB,sBAAsB;AACtB,qBAAqB;AACrB,sBAAsB;AACtB,wBAAwB;AACxB,yBAAyB;AACzB,yBAAyB;AACzB,wBAAwB;AACxB,2BAA2B;AAC3B,yBAAyB;AACzB,4BAA4B;AAC5B,0BAA0B;AAC1B,wBAAwB;AACxB,kBAAkB;AAClB,mBAAmB;AACnB,iBAAiB;AACjB,gBAAgB;AAChB,gBAAgB;AAChB,iBAAiB;;AAEjB;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,gBAAgB;AAChB,oBAAoB;AACpB,gBAAgB;AAChB,wBAAwB;AACxB,iBAAiB;AACjB,gBAAgB;AAChB,iBAAiB;AACjB,iBAAiB;AACjB;AACA,mBAAmB;;AAEnB;AACA,iBAAiB;AACjB,iBAAiB;AACjB,iBAAiB;AACjB,iBAAiB;AACjB,qBAAqB;;AAErB;AACA,gBAAgB;AAChB,gBAAgB;;AAEhB;AACA,kBAAkB;AAClB,kBAAkB;;AAElB;AACA,iBAAiB;;AAEjB;AACA,sBAAsB;AACtB,uBAAuB;AACvB,mBAAmB;AACnB,oBAAoB;;AAEpB;AACA,iBAAiB;AACjB,gBAAgB;AAChB,iBAAiB;AACjB,gBAAgB;AAChB,mBAAmB;;AAEnB,mCAAmC;AACnC,mCAAmC;;AAEnC;AACA;AACA;AACA;AACA,yCAAyC;AACzC,qBAAqB;AACrB,sBAAsB;AACtB,gBAAgB;AAChB,gBAAgB;AAChB,eAAe;AACf;;AAEA;AACA;;AAEA,6BAA6B,uBAAuB;AACpD;AACA;AACA,gBAAgB;AAChB,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,6BAA6B,uBAAuB;AACpD;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,6BAA6B,uBAAuB;AACpD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,cAAc,uBAAuB;AACrC,sBAAsB;;AAEtB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB;;AAEpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,uBAAuB,uBAAuB;AAC9C,uBAAuB,uBAAuB;AAC9C,uBAAuB,uBAAuB;AAC9C,uBAAuB,uBAAuB;;AAE9C,uEAAuE,UAAU;;AAEjF;AACA;AACA,sBAAsB,uBAAuB;;AAE7C,uEAAuE,UAAU;;AAEjF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,iBAAiB;AACzD,sCAAsC,qBAAqB;AAC3D;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB;AACpB,WAAW;AACX,UAAU;AACV,iBAAiB;AACjB,WAAW;AACX,WAAW;AACX,gBAAgB;AAChB,WAAW;AACX,WAAW;AACX;AACA,eAAe;AACf,mCAAmC;AACnC,aAAa;AACb,mCAAmC;AACnC,UAAU;AACV,UAAU;AACV,+BAA+B;AAC/B;;AAEA,QAAQ;;AAER;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B,qBAAqB,EAAE;;;AAGnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,iBAAiB;AAC1C;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,yBAAyB,iBAAiB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,yBAAyB,iBAAiB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,yBAAyB,iBAAiB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,aAAa;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,iBAAiB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA,kBAAkB,iBAAiB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,iBAAiB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,kBAAkB,iBAAiB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,yBAAyB,iBAAiB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,iBAAiB;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA,yBAAyB,iBAAiB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,yBAAyB,iBAAiB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,iBAAiB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,aAAa;AACvC,0BAA0B,aAAa;AACvC,yBAAyB,iBAAiB;AAC1C,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,yBAAyB,iBAAiB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA,wDAAwD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,kEAAkE;AAClE;AACA;AACA;;AAEA,oCAAoC,OAAO;AAC3C;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,iBAAiB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,iBAAiB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,iBAAiB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B,OAAO;;AAEtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,iBAAiB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,gEAAgE;AAChE;AACA;AACA;;AAEA,gCAAgC,OAAO;AACvC;AACA,yBAAyB,iBAAiB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;;AAEA,gDAAgD,OAAO;AACvD;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,kEAAkE;AAClE;AACA;AACA;;AAEA,kCAAkC,OAAO;AACzC;AACA,yBAAyB,iBAAiB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;;AAEA,gDAAgD,OAAO;AACvD;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,qBAAqB;AAC3D,8BAA8B,aAAa;AAC3C;AACA;AACA;AACA;AACA,aAAa;AACb,qCAAqC,kBAAkB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,qBAAqB;AACvD;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,wBAAwB,aAAa;AACrC;AACA;AACA;AACA;AACA,OAAO;AACP,+BAA+B,kBAAkB;AACjD;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iFAAiF;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,6BAA6B,uBAAuB;AACpD;AACA,+BAA+B,uBAAuB;;AAEtD;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,6DAA6D,uBAAuB;AACpF;;AAEA;AACA;AACA;;AAEA;AACA;AACA,eAAe;AACf,wDAAwD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjgDA;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB;;AAEzB,cAAc;AACd,cAAc;AACd,uBAAuB;AACvB,eAAe;AACf,eAAe;AACf,eAAe;AACf,eAAe;AACf,eAAe;AACf,eAAe;AACf,WAAW;AACX,WAAW;AACX,UAAU;AACV,WAAW;AACX,WAAW;AACX,kBAAkB;AAClB;AACA,iBAAiB;AACjB,UAAU;AACV,2CAA2C,eAAe;AAC1D,0CAA0C,eAAe;AACzD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe,gBAAgB;AAC/B;AACA;AACA,eAAe,aAAa;AAC5B;AACA;;AAEA;AACA;AACA,qBAAqB,UAAU;AAC/B,2BAA2B,OAAO;AAClC;AACA;AACA;AACA;AACA,kBAAkB;AAClB,sCAAsC,2BAA2B;AACjE,uCAAuC;AACvC,wCAAwC;AACxC;;;AAGA;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb;AACA,eAAe,WAAW;AAC1B,2BAA2B,OAAO;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,gBAAgB;AAC/B;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,cAAc;AACd;;AAEA;AACA;AACA,eAAe,eAAe;AAC9B;AACA;;AAEA;AACA,eAAe,aAAa;AAC5B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,GAAG,OAAO;AACV;AACA;AACA;AACA;;AAEA;AACA,WAAW;AACX,UAAU;AACV,YAAY;AACZ,qBAAqB;AACrB,cAAc;AACd,WAAW;AACX,WAAW;AACX,mBAAmB;AACnB,kBAAkB;;AAElB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;;AAEA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,OAAO;AAC/B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,kBAAkB;;AAElB;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO;AAC/B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACtUA;;;AAGA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,8BAA8B;AAC9B;;AAEA;;;AAGA,oBAAoB,sBAAsB,qBAAqB,cAAc,EAAE;;AAE/E;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;;AAEA,kCAAkC;AAClC,iCAAiC;AACjC,iCAAiC;AACjC,4BAA4B;AAC5B,iCAAiC;;AAEjC;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA,2BAA2B;AAC3B,oBAAoB;AACpB,6BAA6B;AAC7B;;;;AAIA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR,WAAW;AACX,WAAW;AACX,YAAY;AACZ,QAAQ;AACR,mBAAmB;;AAEnB,gBAAgB,kBAAkB;AAClC;AACA;;AAEA;AACA;AACA;AACA,+CAA+C;;AAE/C,0BAA0B,eAAe;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB,UAAU,EAAE;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ;;AAE/B;AACA;;AAEA;AACA;AACA;AACA,oCAAoC,QAAQ;AAC5C,uBAAuB;AACvB,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,yBAAyB,YAAY;AACrC;AACA;AACA;AACA,yBAAyB,UAAU;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB,mBAAmB;AACnB,qBAAqB;AACrB;AACA,0CAA0C;AAC1C,eAAe;AACf,WAAW;AACX,QAAQ;;AAER;AACA;AACA;AACA,gBAAgB,kBAAkB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,gBAAgB;AAC7B;AACA,oBAAoB,UAAU;AAC9B;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,QAAQ;AACR,WAAW;AACX,aAAa;AACb,WAAW;AACX,WAAW;AACX;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB,yBAAyB;AACzC;AACA,eAAe,8BAA8B;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB,WAAW;AAC3B;AACA,eAAe,8BAA8B;AAC7C;AACA;AACA;AACA;AACA,aAAa;AACb,QAAQ,gBAAgB;AACxB;AACA,eAAe,oCAAoC;AACnD;AACA;AACA;AACA;;AAEA;AACA,gBAAgB,kBAAkB;AAClC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,aAAa;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA,QAAQ;;AAER;AACA,aAAa,aAAa,QAAQ,iCAAiC;AACnE,aAAa,aAAa,QAAQ,iCAAiC;AACnE,aAAa,cAAc,OAAO,+BAA+B;;AAEjE;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,eAAe;AACf,kBAAkB;AAClB;AACA,eAAe;;AAEf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB,YAAY;AACZ;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,OAAO;;AAEtD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B,2BAA2B;AAC3B;AACA,WAAW;AACX,SAAS;AACT,aAAa;AACb,WAAW;AACX,YAAY;;AAEZ;AACA;AACA;AACA;AACA;;AAEA;AACA,gCAAgC;AAChC;AACA,OAAO;AACP;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA,kCAAkC;AAClC;AACA,eAAe;AACf;AACA;;AAEA,kCAAkC;AAClC;AACA;AACA;AACA,oCAAoC;AACpC;AACA,OAAO;;AAEP;AACA;AACA;;AAEA,KAAK;AACL;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,oBAAoB;AACpB,WAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,WAAW;AACxB;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uCAAuC,QAAQ,OAAO,wBAAwB;;AAE9E;AACA;AACA;AACA,eAAe;AACf;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;;AAEA,8BAA8B;;AAE9B,6BAA6B;AAC7B;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB,mBAAmB;AACnB;AACA,QAAQ;AACR,mBAAmB;AACnB,aAAa;;AAEb,wCAAwC;;AAExC,gBAAgB;AAChB,oBAAoB;AACpB,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA,gDAAgD;;AAEhD,aAAa,eAAe;AAC5B;AACA;;AAEA;AACA;;AAEA,KAAK;AACL;;AAEA,KAAK;;AAEL,+BAA+B,kCAAkC;AACjE;;AAEA,KAAK;AACL;;AAEA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,KAAK;AACL;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB,mBAAmB;AACnB;AACA,QAAQ;AACR,mBAAmB;AACnB,aAAa;;AAEb,wCAAwC;;AAExC,gBAAgB;AAChB,oBAAoB;AACpB,oBAAoB;;AAEpB,+BAA+B;AAC/B;AACA;AACA;AACA;;AAEA,aAAa,eAAe;AAC5B;AACA;;AAEA;AACA;;AAEA,KAAK;AACL,UAAU,iCAAiC,EAAE;;AAE7C,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,kBAAkB;;AAElB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kCAAkC,kBAAkB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA,gCAAgC;AAChC,gBAAgB,gBAAgB;AAChC;AACA;AACA;AACA;;AAEA,wCAAwC;AACxC;;AAEA,wCAAwC;AACxC;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,IAAI,MAAM,GAAG,MAAM,GAAG;AAChD;AACA;AACA;AACA,SAAS,IAAI,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI,MAAM,IAAI;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,cAAc;AAC5B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,iBAAiB;AACjB,WAAW;AACX;AACA,wDAAwD;AACxD,uCAAuC;AACvC;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,iBAAiB;AACjB,WAAW;AACX;AACA,4BAA4B;AAC5B,sBAAsB;;AAEtB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,kCAAkC,wBAAwB;;AAE1D,GAAG;AACH;AACA,4CAA4C;AAC5C;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;;AAEH;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB,kBAAkB;AAClB;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,iBAAiB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACjrCA;;;AAGA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,0BAA0B,EAAE;AAC/D,yCAAyC,eAAe;AACxD;AACA;AACA;AACA;AACA;AACA,8DAA8D,+DAA+D;AAC7H;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA,oGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA,GAAG;AACH,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,oCAAoC,QAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA,oCAAoC,QAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,6BAA6B,oBAAoB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C,qCAAqC,QAAQ;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,sDAAsD;AACtD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,2BAA2B,kBAAkB;AAC7C;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;;AAED,oGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,QAAQ;AAChD;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,QAAQ;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA,oGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,eAAe;AACxD,uBAAuB,SAAS;AAChC;AACA;AACA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA,yBAAyB,UAAU;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,kCAAkC,SAAS;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,cAAc;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,iBAAiB,YAAY;AAC7B;AACA;AACA,YAAY,cAAc;AAC1B;AACA;AACA;AACA,KAAK;AACL;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA,YAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,iBAAiB,aAAa;AAC9B,wBAAwB,aAAa;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA,cAAc,cAAc;AAC5B;AACA;AACA;AACA;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA,cAAc,cAAc;AAC5B;AACA;AACA;AACA;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;AACA;AACA,cAAc,cAAc;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,qBAAqB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,qBAAqB,eAAe;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gBAAgB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,QAAQ;AAC9C;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,qBAAqB,OAAO;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,eAAe;AAC9B;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,uDAAuD,QAAQ;AAC/D;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,iBAAiB,2BAA2B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA,6BAA6B;AAC7B;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kFAAkF,uBAAuB;AACzG,iEAAiE;AACjE,+DAA+D;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA,iCAAiC;AACjC;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA,uBAAuB;AACvB;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,CAAC;AACD;AACA,CAAC;;AAED,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA,iBAAiB;AACjB;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA,eAAe,QAAQ;AACvB;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,mBAAmB,wBAAwB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,WAAW;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,qBAAqB,WAAW;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,gDAAgD,QAAQ;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,QAAQ;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B,mBAAmB,cAAc;AACjC;AACA;AACA;AACA;AACA,qBAAqB,kBAAkB;AACvC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,qBAAqB,YAAY;AACjC;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,qBAAqB,WAAW;AAChC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,qBAAqB,WAAW;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,WAAW;AAChC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,qBAAqB,WAAW;AAChC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,qBAAqB,WAAW;AAChC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,qBAAqB,WAAW;AAChC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,qBAAqB,WAAW;AAChC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,CAAC;AACD;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,mEAAmE,gBAAgB;AACnF;AACA;AACA,GAAG,4CAA4C,gCAAgC;AAC/E;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,uDAAuD,QAAQ;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,QAAQ;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,QAAQ;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,WAAW;AACX;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,qBAAqB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,gBAAgB;AAC1B;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,KAAK;AACL;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA,oGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,YAAY,gBAAgB;AACjC;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA,kDAAkD;AAClD;AACA,qEAAqE;AACrE,CAAC;AACD;AACA;AACA;AACA,CAAC;;AAED,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA,cAAc;;AAEd,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,wBAAwB;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB,oGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,GAAG;AACH,cAAc;AACd,GAAG;AACH,cAAc;AACd,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6FAA6F,oBAAoB;AACjH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,2CAA2C,OAAO;AAClD;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,6CAA6C,OAAO;AACpD;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;;AAEA;AACA;AACA,6CAA6C,OAAO;AACpD;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kFAAkF;AAClF;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,gDAAgD,QAAQ;AACxD;AACA;AACA;AACA;AACA,iBAAiB,oCAAoC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,YAAY;AAC3C,SAAS;AACT;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,qDAAqD;AACrD;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,iDAAiD,qBAAqB;AACtE;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP,0EAA0E;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,yBAAyB,oCAAoC;AAC7D;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,gBAAgB;AAChD;AACA;AACA;AACA;AACA,aAAa;AACb,gCAAgC,gBAAgB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA,6CAA6C,kBAAkB;AAC/D,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE,uBAAuB;AAC3F;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA,kEAAkE,WAAW;AAC7E;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA,oEAAoE,SAAS;AAC7E,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,sDAAsD,QAAQ;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,QAAQ;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,4BAA4B;AAC/E;AACA;AACA,4BAA4B;AAC5B,4BAA4B;AAC5B;AACA,4BAA4B;AAC5B;AACA,0BAA0B;AAC1B;AACA,eAAe;AACf,6DAA6D;AAC7D,sDAAsD;AACtD;AACA,4BAA4B;AAC5B,GAAG;AACH;AACA,0BAA0B;AAC1B;AACA,0BAA0B;AAC1B,wBAAwB;AACxB,4BAA4B;AAC5B,2BAA2B;AAC3B;AACA,0BAA0B;AAC1B;AACA,eAAe;AACf,qDAAqD;AACrD,mDAAmD;AACnD,6BAA6B;AAC7B;AACA,2DAA2D;AAC3D,KAAK;AACL,cAAc;AACd,yBAAyB;AACzB,wBAAwB;AACxB,KAAK,OAAO;AACZ;AACA,+BAA+B;AAC/B,KAAK;AACL,wBAAwB;AACxB,mCAAmC;AACnC,8BAA8B;AAC9B,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B,yBAAyB;AACzB;AACA,4BAA4B;AAC5B,uBAAuB;AACvB,wBAAwB;AACxB;AACA,uBAAuB;AACvB;AACA,eAAe;AACf,sDAAsD;AACtD,2DAA2D;AAC3D,sDAAsD;AACtD;AACA,yCAAyC;AACzC,GAAG;AACH;AACA,0BAA0B;AAC1B;AACA,uBAAuB;AACvB;AACA,eAAe;AACf,2BAA2B;AAC3B,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,QAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,QAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,YAAY;AACvC;AACA,6BAA6B,YAAY;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,QAAQ;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB;;AAEA;;AAEA,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,0CAA0C,QAAQ;AAClD;AACA;AACA;AACA,WAAW;AACX,4EAA4E;AAC5E;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,QAAQ;AACnD;AACA;AACA;AACA;AACA,oDAAoD,QAAQ;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,+CAA+C;AAC/C;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,WAAW;AACxD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,qBAAqB;AACtD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,qBAAqB;AACtD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,kBAAkB;AACpD;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,qBAAqB,eAAe;AACpC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,kBAAkB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,iBAAiB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,qCAAqC,QAAQ;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,mCAAmC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,kCAAkC,kBAAkB;AACpD;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,qBAAqB,mBAAmB;AACxC;AACA;AACA,oCAAoC,kBAAkB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,qBAAqB,mBAAmB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,kBAAkB;AAChD;AACA;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,2BAA2B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA,oGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q,kCAAkC,iCAAiC,eAAe,eAAe,gBAAgB,oBAAoB,MAAM,0CAA0C,+BAA+B,aAAa,qBAAqB,mCAAmC,EAAE,EAAE,cAAc,WAAW,UAAU,EAAE,UAAU,MAAM,yCAAyC,EAAE,UAAU,kBAAkB,EAAE,EAAE,aAAa,EAAE,2BAA2B,0BAA0B,YAAY,EAAE,2CAA2C,8BAA8B,EAAE,OAAO,6EAA6E,EAAE,GAAG,EAAE;;AAErpB;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,QAAQ;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD,SAAS;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,EAAE;AACvC;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,oDAAoD,QAAQ;AAC5D;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,WAAW;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,yBAAyB,iBAAiB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,WAAW;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,OAAO;AAC7C;AACA;AACA;AACA;AACA;AACA,qBAAqB,oBAAoB;AACzC;AACA;AACA;AACA;AACA;AACA,qBAAqB,sBAAsB;AAC3C;AACA;AACA,qBAAqB,0BAA0B;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,uCAAuC,QAAQ;AAC/C;AACA;AACA;AACA;AACA,uCAAuC,QAAQ;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,OAAO;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,OAAO;AAChD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,QAAQ;AACnD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,yCAAyC,UAAU;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uCAAuC,QAAQ;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,kDAAkD,QAAQ;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD,YAAY;AACrE;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,qBAAqB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,eAAe;AAClC,qBAAqB,eAAe;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,QAAQ;AACjD;AACA,wCAAwC,QAAQ;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,UAAU;AAC5B,oBAAoB,UAAU;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,QAAQ;AACjD;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,iBAAiB;AAC7B,cAAc,kCAAkC;AAChD,gBAAgB,qBAAqB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,kBAAkB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,kCAAkC;AAC9C,cAAc,iBAAiB;AAC/B,gBAAgB,qBAAqB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,kBAAkB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,qBAAqB;AACpC;AACA;AACA;AACA;AACA,eAAe,kCAAkC;AACjD;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,kCAAkC;AAC9C,cAAc,+BAA+B;AAC7C,gBAAgB,qBAAqB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,iBAAiB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,yCAAyC;AACrD,cAAc,yCAAyC;AACvD,gBAAgB,qBAAqB;AACrC;AACA;AACA,kBAAkB,+BAA+B;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,qBAAqB;AACjC;AACA;AACA;AACA,cAAc,yCAAyC;AACvD,gBAAgB,yCAAyC;AACzD,kBAAkB,+BAA+B;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA,qBAAqB,+BAA+B;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,QAAQ;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,QAAQ;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,+BAA+B;AAClD;AACA;AACA;AACA;AACA,sDAAsD,QAAQ;AAC9D;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,QAAQ;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qBAAqB,QAAQ;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,QAAQ;AACtC;AACA;AACA;AACA,OAAO;AACP,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA,iDAAiD,QAAQ;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,kBAAkB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,qBAAqB,kBAAkB;AACvC;AACA,0CAA0C,QAAQ;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,aAAa;AACrC,yBAAyB,WAAW;AACpC;AACA,4BAA4B,QAAQ;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,iBAAiB;AACxD;AACA,yBAAyB,WAAW;AACpC,wCAAwC,mBAAmB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,aAAa;AACrC;AACA;AACA;AACA,yBAAyB,WAAW;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,SAAS;AACxC;AACA;AACA;AACA;AACA,6BAA6B,WAAW;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,2CAA2C,QAAQ;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,cAAc;AACtC;AACA,mBAAmB,aAAa;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,YAAY;AACxC;AACA;AACA;AACA,OAAO;AACP,0BAA0B,YAAY;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,WAAW;AAChC;AACA;AACA;AACA,OAAO;AACP,mBAAmB,WAAW;AAC9B;AACA;AACA,0CAA0C,QAAQ;AAClD,yBAAyB,gBAAgB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,QAAQ;AAC3C,yBAAyB,gBAAgB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,KAAK;AAC5B;AACA;AACA;AACA;AACA,uBAAuB,KAAK;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,uBAAuB,KAAK;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,uBAAuB,KAAK;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,KAAK;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,KAAK;AACxC;AACA;AACA,mCAAmC,KAAK;AACxC;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;AACD;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,YAAY;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kBAAkB;AACjC,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,YAAY;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kBAAkB;AACjC,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA,kBAAkB,QAAQ;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,YAAY;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kBAAkB;AACjC,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA,kBAAkB,QAAQ;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,OAAO;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,OAAO;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,QAAQ;AAChC;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,QAAQ;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,QAAQ;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kBAAkB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,SAAS;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,QAAQ;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,uCAAuC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,OAAO;AAClC;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,OAAO;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,QAAQ;AAChC;AACA;AACA,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,QAAQ;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,QAAQ;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kBAAkB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,SAAS;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,QAAQ;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,mBAAmB,uCAAuC;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,QAAQ;AACtC;AACA;AACA;AACA;AACA;AACA,qBAAqB,QAAQ;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,OAAO;AAChD;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,OAAO;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA,oCAAoC,OAAO;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA;AACA,uCAAuC,OAAO;AAC9C;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,uCAAuC,OAAO;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,OAAO;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,QAAQ;AAC1B,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,OAAO;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE,aAAa;AAC7E;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,QAAQ;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA,qDAAqD,gDAAgD;AACrG;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qDAAqD,6CAA6C;AAClG;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,QAAQ;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6CAA6C,QAAQ;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,mDAAmD,6CAA6C;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,QAAQ;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA,2DAA2D,gDAAgD;AAC3G;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,eAAe;AACxC;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,qDAAqD,gDAAgD;AACrG;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,QAAQ;AACxD;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,iBAAiB;AACjB,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,QAAQ;AAC7D;AACA;AACA;AACA,eAAe;AACf;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,QAAQ;AACjD;AACA;AACA;AACA,2CAA2C,QAAQ;AACnD;AACA;AACA,aAAa;AACb;AACA,6BAA6B,WAAW;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACA,eAAe;AACf;AACA,+BAA+B,WAAW;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,yCAAyC,QAAQ;AACjD;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,4BAA4B,gBAAgB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,2CAA2C,QAAQ;AACnD;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,6BAA6B,gBAAgB;AAC7C;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;;AAEA,8CAA8C,OAAO;AACrD;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,QAAQ;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,yCAAyC,QAAQ;AACjD;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,WAAW;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,WAAW;AAC1B;AACA;AACA;AACA;AACA;AACA,oCAAoC,QAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,iBAAiB,WAAW;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,QAAQ;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,QAAQ;AAC3C;AACA,yBAAyB,gBAAgB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,QAAQ;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,uCAAuC,QAAQ;AAC/C;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,uCAAuC,QAAQ;AAC/C;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,uCAAuC,QAAQ;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,YAAY;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sFAAsF;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,WAAW;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,YAAY;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,YAAY;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,YAAY;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,QAAQ;AAChD;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA,iCAAiC,mBAAmB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,YAAY;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,iBAAiB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,UAAU;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,iBAAiB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB,sBAAsB;AACtB,kBAAkB;AAClB,eAAe;AACf,iBAAiB;AACjB;AACA;AACA,uCAAuC,QAAQ;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,QAAQ;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,QAAQ;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,4BAA4B,KAAK,GAAG,KAAK,IAAI,IAAI;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,QAAQ;AAC5C;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,sCAAsC,QAAQ;AAC9C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,wCAAwC,QAAQ;AAChD;AACA;AACA;AACA,uBAAuB,YAAY;AACnC;AACA,qHAAqH,gBAAgB;AACrI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,wCAAwC,QAAQ;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,wCAAwC,QAAQ;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,qBAAqB,kBAAkB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,QAAQ;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,QAAQ;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,0CAA0C,QAAQ;AAClD;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,uCAAuC,QAAQ;AAC/C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,iBAAiB,eAAe;AAChC;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B;AACA;AACA;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,QAAQ;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,SAAS;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA,oGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB;;AAEA;;AAEA;;AAEA,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA,sBAAsB,aAAa;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,wCAAwC,QAAQ;AAChD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,eAAe;AACtC;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,kBAAkB;AACvC;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA,qBAAqB,kBAAkB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB,YAAY;AACjC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,YAAY;AACnC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,QAAQ;AACjD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,2CAA2C,QAAQ;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,eAAe;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO;AAC/B;AACA;AACA;AACA;AACA,4BAA4B,OAAO;AACnC;AACA;AACA;AACA;AACA,wBAAwB,OAAO;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,eAAe;AAChC;AACA;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB;;AAEA;;AAEA,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,MAAM;AAC5B;AACA,+CAA+C,uBAAuB;AACtE;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,QAAQ;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,wCAAwC,QAAQ;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,QAAQ;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yDAAyD,QAAQ;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,yDAAyD,QAAQ;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,gBAAgB,sBAAsB,uBAAuB;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,oBAAoB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,uBAAuB,WAAW;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,4DAA4D;AACnF;AACA;AACA,uBAAuB,sEAAsE;AAC7F;AACA;AACA,mBAAmB,oCAAoC;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,yCAAyC,SAAS;AAClD;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA,qDAAqD,eAAe;AACpE;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,QAAQ;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iGAAiG;AACjG;AACA;AACA;AACA,yEAAyE;AACzE;AACA;AACA;AACA,mGAAmG;AACnG;AACA;AACA,+EAA+E;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA,qBAAqB,OAAO;AAC5B;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,SAAS;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,SAAS;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,mEAAyD,WAAW;AACpE;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,YAAY;AAC/B;AACA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,qBAAqB,eAAe;AACpC;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,gBAAgB;AACvC;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,eAAe;AACf;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gBAAgB;AACvC;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,OAAO;AACP;AACA;AACA,uBAAuB,eAAe;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,2CAA2C,4BAA4B,EAAE;AAC3H,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,gDAAgD;AAChD;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,cAAc;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA,2CAA2C,QAAQ;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,wEAAwE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA,oGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,OAAO;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,UAAU;AAC7B;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,oCAAoC,OAAO;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,oDAAoD,gBAAgB;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,SAAS;AACT;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,OAAO;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,8BAA8B;AACtF;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,QAAQ;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,QAAQ;AACnD;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA,eAAe;AACf;AACA,eAAe;AACf;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,mBAAmB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA,CAAC;;AAED,OAAO;AACP;AACA;;AAEA;;;AAGA,oGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,4BAA4B;AAC5B,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD,gCAAgC;AACzF;AACA;AACA;AACA;AACA;AACA,6EAA6E,YAAY;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,yBAAyB;AACzB,GAAG;AACH;AACA;AACA;AACA;AACA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,8BAA8B,2BAA2B;AACzD;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,uDAAuD,YAAY;AACnE;AACA;AACA;AACA;AACA,KAAK,UAAU,gBAAgB;AAC/B;AACA;AACA,KAAK;AACL;AACA,KAAK,WAAW,kCAAkC;AAClD;AACA;AACA;AACA,CAAC;;AAED,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,QAAQ,WAAW;AACnB;AACA;AACA,QAAQ,UAAU;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,WAAW;AACnB;AACA;AACA;AACA,QAAQ,WAAW;AACnB;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,iDAAiD,iBAAiB;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,4FAA4F;AAC5F;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,qDAAqD,4BAA4B;AACjF;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA,8BAA8B,sCAAsC;;AAEpE,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,oBAAoB;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,CAAC;;AAED,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,uCAAuC,sBAAsB;AAC7D;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,CAAC;;AAED,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,mBAAmB,sCAAsC;AACzD,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,OAAO;AACP;AACA;;AAEA;;;AAGA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,gCAAgC;AAChC,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA,iEAAiE;AACjE;AACA,GAAG;AACH;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA,qDAAqD;AACrD;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA,GAAG,GAAG;AACN;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA,qGAAqG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE3Q;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA,qBAAqB,kBAAkB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uFAAuF;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,kCAAkC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA,+CAA+C;AAC/C;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,+CAA+C;AAC/C;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA,qBAAqB,kBAAkB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uFAAuF;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,0FAA0F;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,0FAA0F;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mGAAmG;AACnG,eAAe;AACf,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,aAAa;AACb;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,eAAe;AACf,aAAa;AACb;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,eAAe;AACf,aAAa;AACb;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,iCAAiC;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,iCAAiC;AACtD;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,sBAAsB,sCAAsC;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE;AACpE,KAAK;AACL;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA,qBAAqB,kBAAkB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;AAED,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;;AAEH;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,sCAAsC,QAAQ;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,2BAA2B;AACjE,4BAA4B,sCAAsC,gBAAgB;AAClF;AACA;AACA,kCAAkC,QAAQ;AAC1C;AACA;AACA;AACA;AACA,kDAAkD,iBAAiB,cAAc,wBAAwB,UAAU,WAAW;AAC9H,kCAAkC,QAAQ;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAsE;AACtE;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,2BAA2B;AAC3E,8BAA8B,gCAAgC,gBAAgB;AAC9E;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,SAAS;AACjD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,uDAAuD;AACvD;AACA;AACA,SAAS;AACT;AACA,0CAA0C,SAAS;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,QAAQ;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,WAAW;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,WAAW;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,WAAW;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,sBAAsB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,QAAQ;AACjD;AACA;AACA,oCAAoC,QAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,kBAAkB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,UAAU;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA,kCAAkC,KAAK;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA,qBAAqB,qBAAqB;AAC1C;AACA,uBAAuB,WAAW;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,QAAQ;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,2CAA2C,QAAQ;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,6EAA6E;AAC7E,iEAAiE;AACjE;AACA,yCAAyC,QAAQ;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,kBAAkB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,iBAAiB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,yEAAyE;AACzE;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,yCAAyC,QAAQ;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,QAAQ;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL,wDAAwD;AACxD,8EAA8E;AAC9E,0EAA0E;AAC1E,gGAAgG;AAChG,mEAAmE;AACnE,yDAAyD;AACzD,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,WAAW;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,UAAU;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,UAAU;AAC7B;AACA,yBAAyB,UAAU;AACnC;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,sCAAsC,QAAQ;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,oBAAoB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;;AAED,kCAAkC,iCAAiC,eAAe,eAAe,gBAAgB,oBAAoB,MAAM,0CAA0C,+BAA+B,aAAa,qBAAqB,mCAAmC,EAAE,EAAE,cAAc,WAAW,UAAU,EAAE,UAAU,MAAM,yCAAyC,EAAE,UAAU,kBAAkB,EAAE,EAAE,aAAa,EAAE,2BAA2B,0BAA0B,YAAY,EAAE,2CAA2C,8BAA8B,EAAE,OAAO,6EAA6E,EAAE,GAAG,EAAE;;AAErpB,qDAAqD,kDAAkD,8DAA8D,0BAA0B,4CAA4C,uBAAuB,kBAAkB,EAAE,OAAO,wCAAwC,EAAE,EAAE,4BAA4B,mBAAmB,EAAE,OAAO,uBAAuB,4BAA4B,kBAAkB,EAAE,8BAA8B,EAAE;;AAExe,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,QAAQ;AACxC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,IAAI;AACjC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,4BAA4B;AAC5B;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,cAAc;AACd;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,yDAAyD,QAAQ;AACjE;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,yBAAyB,iBAAiB;AAC1C,KAAK;AACL;AACA,4BAA4B,eAAe;AAC3C,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,kCAAkC,qBAAqB;AACvD;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA,oGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,uBAAuB,yBAAyB;AAChD;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,eAAe;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,kCAAkC;AACxE,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,8CAA8C,gDAAgD;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK;AACL,0EAA0E;AAC1E;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA,wCAAwC,eAAe;AACvD,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;AACD;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA,kCAAkC,iCAAiC,eAAe,eAAe,gBAAgB,oBAAoB,MAAM,0CAA0C,+BAA+B,aAAa,qBAAqB,mCAAmC,EAAE,EAAE,cAAc,WAAW,UAAU,EAAE,UAAU,MAAM,yCAAyC,EAAE,UAAU,kBAAkB,EAAE,EAAE,aAAa,EAAE,2BAA2B,0BAA0B,YAAY,EAAE,2CAA2C,8BAA8B,EAAE,OAAO,6EAA6E,EAAE,GAAG,EAAE;;AAErpB;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,QAAQ;AAClD;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA,6CAA6C,OAAO;AACpD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,sCAAsC,OAAO;AAC7C;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA,oGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,eAAe,YAAY;AAC3B,iBAAiB,oBAAoB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,iBAAiB,sBAAsB;AACvC;AACA;AACA;AACA;AACA;AACA,mBAAmB,eAAe;AAClC;AACA;AACA;AACA,OAAO;AACP,mBAAmB,eAAe;AAClC,qBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B,yBAAyB,OAAO;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,UAAU;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,4BAA4B;AACtD,4BAA4B,0BAA0B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,6BAA6B;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,QAAQ;AACnC;AACA;AACA;AACA,eAAe;AACf,2BAA2B,QAAQ;AACnC;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,qBAAqB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA,yBAAyB,QAAQ;AACjC;AACA;AACA;AACA,yBAAyB,mBAAmB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,oBAAoB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,6BAA6B;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA,qBAAqB,WAAW;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gBAAgB;AACnC,4BAA4B,mBAAmB;AAC/C;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,2CAA2C,YAAY;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,2CAA2C,YAAY;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,2CAA2C,YAAY;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,2CAA2C,YAAY;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gBAAgB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,yBAAyB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA,mBAAmB;AACnB,iBAAiB;AACjB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,aAAa;AACb;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,OAAO;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,yBAAyB,UAAU;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,YAAY;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,YAAY;AAC3B;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,oBAAoB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,2BAA2B;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,qBAAqB,oBAAoB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,0BAA0B;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,6BAA6B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,WAAW;AAChC;AACA;AACA,mBAAmB,0BAA0B;AAC7C;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,mBAAmB,6BAA6B;AAChD;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,QAAQ;AAChD;AACA;AACA;AACA;AACA,mBAAmB,wBAAwB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,YAAY;AAC3B;AACA;AACA,uBAAuB,WAAW;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,mBAAmB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,eAAe;AAC3C;AACA;AACA;AACA;AACA,4BAA4B,eAAe;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,sBAAsB,mBAAmB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,kBAAkB;AAC9C;AACA;AACA;AACA;AACA,4BAA4B,kBAAkB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kBAAkB;AACjC;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,8BAA8B,QAAQ;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,iBAAiB;AACjC,kBAAkB,gBAAgB;AAClC;AACA;AACA,kCAAkC,QAAQ;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,mBAAmB;AACxC;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,qBAAqB,mBAAmB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,qBAAqB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,QAAQ;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,OAAO;AAC5B;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,OAAO;AAC5B;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,QAAQ;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,QAAQ;AAC/C;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,QAAQ;AACnD;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,YAAY;AACjC;AACA;AACA,uBAAuB,WAAW;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,YAAY;AACjC;AACA;AACA,uBAAuB,WAAW;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,QAAQ;AAC3D;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,mDAAmD,QAAQ;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,uBAAuB,YAAY;AACnC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,qBAAqB,wBAAwB;AAC7C;AACA;AACA,mDAAmD,QAAQ;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,aAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA,qBAAqB,aAAa;AAClC;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,qBAAqB,aAAa;AAClC;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,QAAQ;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,iBAAiB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,qBAAqB,WAAW;AAChC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,gCAAgC;AAChC;AACA,CAAC;AACD;AACA;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,+BAA+B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,sDAAsD,SAAS;AAC/D;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,mCAAmC,QAAQ;AAC3C;AACA;AACA,KAAK;AACL,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,eAAe;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,eAAe;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,eAAe;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,QAAQ;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,gBAAgB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,QAAQ;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,QAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,QAAQ;AAC9C;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,QAAQ;AAC7C;AACA;AACA;AACA;AACA,sCAAsC,QAAQ;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,QAAQ;AAC5C;AACA;AACA,kCAAkC,QAAQ;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,QAAQ;AAC9C;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,eAAe;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,4BAA4B,qBAAqB;AACjD,2BAA2B,wBAAwB;AACnD;AACA;AACA,4BAA4B,qBAAqB;AACjD;AACA;AACA,4BAA4B,qBAAqB;AACjD;AACA;AACA;AACA,4BAA4B,qBAAqB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,kBAAkB;AACvC;AACA;AACA,4BAA4B,qBAAqB;AACjD;AACA;AACA;AACA;AACA;AACA,2BAA2B,UAAU;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,SAAS;AACT;AACA;AACA,qBAAqB,gBAAgB;AACrC;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,eAAe;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,eAAe;AAClD;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,eAAe;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,kBAAkB;AAC3C;AACA;AACA;AACA;AACA;AACA,uBAAuB,eAAe;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,wDAAwD;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,QAAQ;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,QAAQ;AAC1C;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,yBAAyB,OAAO;AAChC;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,aAAa;AACb,yBAAyB,OAAO;AAChC;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,aAAa;AACb,yBAAyB,OAAO;AAChC;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,aAAa;AACb,yBAAyB,OAAO;AAChC;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D,QAAQ;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,QAAQ;AAClD;AACA;AACA;AACA;AACA;AACA,0CAA0C,QAAQ;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,eAAe;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,gBAAgB;AAC5C;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,uBAAuB,wBAAwB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qBAAqB,wBAAwB;AAC7C;AACA;AACA,SAAS;AACT,qBAAqB,wBAAwB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,QAAQ;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,QAAQ;AAC/C;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D,QAAQ;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,sCAAsC,QAAQ;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,cAAc;AACd;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,gCAAgC;AACtD;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA,sBAAsB,gCAAgC;AACtD;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,2BAA2B,8BAA8B;AACzD;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,uBAAuB,8BAA8B;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,0CAA0C,QAAQ;AAClD;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,mDAAmD,QAAQ;AAC3D;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,iBAAiB,UAAU;AAC3B;AACA;AACA,iBAAiB,WAAW;AAC5B;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,QAAQ;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,QAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,2BAA2B;AACtD;AACA;AACA;AACA;AACA,SAAS;AACT,2BAA2B,iCAAiC;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,cAAc;AAC/B,qBAAqB;AACrB;AACA;AACA,iBAAiB,cAAc;AAC/B;AACA;AACA,iBAAiB,cAAc;AAC/B;AACA;AACA,iBAAiB,cAAc;AAC/B;AACA;AACA;AACA;AACA;AACA,iEAAiE,QAAQ;AACzE;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,iBAAiB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA,WAAW;AACX;AACA,qBAAqB,iBAAiB;AACtC;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,iBAAiB,sBAAsB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,eAAe;AACtC;AACA;AACA,iBAAiB,oBAAoB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,oBAAoB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,sBAAsB;AACvC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,QAAQ;AAChD;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,cAAc;AACvC;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,yBAAyB,iBAAiB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,iBAAiB,cAAc;AAC/B;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA,iBAAiB,iBAAiB;AAClC;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,6BAA6B,eAAe;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,WAAW;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,iBAAiB;AAC1C;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,mBAAmB;AAClC;AACA;AACA;AACA;AACA,kCAAkC,WAAW;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,WAAW;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,wBAAwB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,6BAA6B,UAAU;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,0CAA0C,uDAAuD;AACjG;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,SAAS;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,cAAc;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,YAAY;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,iBAAiB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ;AAC/B,yBAAyB,QAAQ;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,QAAQ;AAChD;AACA;AACA;AACA,uCAAuC,QAAQ;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,QAAQ;AACjD;AACA;AACA;AACA,uCAAuC,QAAQ;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,QAAQ;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,QAAQ;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,QAAQ;AAC5C;AACA;AACA;AACA,iCAAiC,QAAQ;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,QAAQ;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;AACA,kCAAkC,OAAO;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,eAAe;AAC5B;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,aAAa,eAAe;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,eAAe;AAC5B;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,aAAa,eAAe;AAC5B;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,aAAa,eAAe;AAC5B;AACA;AACA;AACA;AACA;AACA,aAAa,mBAAmB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,eAAe;AAC5B;AACA;AACA,qBAAqB,QAAQ;AAC7B;AACA;AACA;AACA;AACA;AACA,qBAAqB,eAAe;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,eAAe;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,eAAe;AAC5B;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,aAAa,eAAe;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,eAAe;AAC5B;AACA;AACA;AACA;AACA,aAAa,eAAe;AAC5B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,QAAQ;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,yBAAyB;AACrD;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,QAAQ;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8EAA8E;AAC9E,8EAA8E;AAC9E;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;;AAED,oGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,gBAAgB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA,kCAAkC,iCAAiC,eAAe,eAAe,gBAAgB,oBAAoB,MAAM,0CAA0C,+BAA+B,aAAa,qBAAqB,mCAAmC,EAAE,EAAE,cAAc,WAAW,UAAU,EAAE,UAAU,MAAM,yCAAyC,EAAE,UAAU,kBAAkB,EAAE,EAAE,aAAa,EAAE,2BAA2B,0BAA0B,YAAY,EAAE,2CAA2C,8BAA8B,EAAE,OAAO,6EAA6E,EAAE,GAAG,EAAE;;AAErpB;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA,eAAe,QAAQ;AACvB;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,wBAAwB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,4BAA4B,oBAAoB;AAChD;AACA;AACA;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,QAAQ;AAC/C;AACA;AACA;AACA;AACA;AACA,gDAAgD,QAAQ;AACxD,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,YAAY;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,gCAAgC,QAAQ;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,0CAA0C,QAAQ;AAClD;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,qDAAqD,QAAQ;AAC7D;AACA;AACA,OAAO;AACP,qDAAqD,QAAQ;AAC7D;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,YAAY;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,YAAY;AACjC;AACA;AACA,SAAS;AACT,qBAAqB,YAAY;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA,qDAAqD,kDAAkD,8DAA8D,0BAA0B,4CAA4C,uBAAuB,kBAAkB,EAAE,OAAO,wCAAwC,EAAE,EAAE,4BAA4B,mBAAmB,EAAE,OAAO,uBAAuB,4BAA4B,kBAAkB,EAAE,8BAA8B,EAAE;;AAExe,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,+CAA+C,SAAS;AACxD;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,QAAQ;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,0CAA0C,QAAQ;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB;;AAEA;;AAEA,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,yBAAyB;AACtD;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,CAAC;;AAED;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB;;AAEA;;AAEA,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,+BAA+B,yBAAyB;AACxD;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,wDAAwD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA,uBAAuB,qBAAqB;AAC5C;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA,CAAC;AACD,wC;;;;;;;;AChlrDA;;AAEA;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,sBAAsB;;AAEtB;AACA;AACA,mCAAmC;AACnC,oDAAoD;;AAEpD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB;AACA,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB;AACA,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA,IAAI;AACJ,mCAAmC;AACnC;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,aAAa,OAAO;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,mCAAmC;AACjE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB,WAAW;AAC3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB;;AAEvB,4CAA4C,qBAAqB;;AAEjE;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,oBAAoB;;AAE/C;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,oBAAoB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACvbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,SAAS;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;;;;;;ACnFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,eAAe;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;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A;;AAEA;AACA;AACA,E;;;;;;;AC9CA;;AAEA,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;AACjB,gDAAgD;AAChD;AACA;AACA;;AAEA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wDAAwD;AACxD;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA,4BAA4B,sBAAsB;AAClD;AACA;AACA,C;;;;;;AC9EA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;;;;;;;;ACAA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,2C;;;;;;;ACnCA;AACA;AACA;AACA,4BAA4B,EAAE;AAC9B,2BAA2B,WAAW,EAAE;AACxC,2BAA2B;AAC3B;AACA,oC;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,aAAa;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,qBAAqB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,mCAAmC;AAClD;AACA,eAAe,OAAO;AACtB;AACA,eAAe,EAAE;AACjB;AACA,gBAAgB,aAAa;AAC7B;AACA;AACA;AACA,+BAA+B,WAAW;AAC1C;AACA;AACA,uDAAuD,oBAAoB;AAC3E;AACA,CAAC;AACD;AACA,qC;;;;;;;AChDA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,+C;;;;;;;ACvCA;AACA;AACA;AACA;AACA,wC;;;;;;;ACJA;AACA;AACA;AACA;AACA,4C;;;;;;;ACJA;AACA;AACA;AACA;AACA,yC;;;;;;;ACJA;AACA;AACA;AACA;AACA,kC;;;;;;;ACJA;AACA;AACA;AACA;AACA,iC;;;;;;;ACJA;AACA;AACA;AACA;AACA,gC;;;;;;;ACJA;AACA;AACA;AACA;AACA,qC;;;;;;;ACJA;AACA;AACA;AACA;AACA,iC;;;;;;;ACJA;AACA;AACA;AACA;AACA,oC;;;;;;;ACJA;AACA;AACA;AACA;AACA,gC;;;;;;;ACJA;AACA;AACA;AACA;AACA,4C;;;;;;;ACJA;AACA;AACA;AACA;AACA,uC;;;;;;;ACJA;AACA;AACA;AACA;AACA,oC;;;;;;;ACJA;AACA;AACA;AACA;AACA,8B;;;;;;;ACJA;AACA;AACA;AACA;AACA,oC;;;;;;;ACJA;AACA;AACA;AACA;AACA,iC;;;;;;;ACJA;AACA;AACA;AACA;AACA,iC;;;;;;;ACJA;AACA;AACA;AACA;AACA,6C;;;;;;;ACJA;AACA;AACA;AACA;AACA,iC;;;;;;;ACJA;AACA;AACA;AACA;AACA,gC;;;;;;;ACJA;AACA;AACA;AACA;AACA,iC;;;;;;;ACJA;AACA;AACA;AACA;AACA,iC;;;;;;;ACJA;AACA;AACA;AACA;AACA,iC;;;;;;;ACJA;AACA;AACA;AACA;AACA,iC;;;;;;;ACJA;AACA;AACA;AACA;AACA,+B;;;;;;;ACJA;AACA;AACA;AACA;AACA,iC;;;;;;;ACJA;AACA;AACA;AACA;AACA,qC;;;;;;;ACJA;AACA;AACA;AACA;AACA,kC;;;;;;;ACJA;AACA;AACA;AACA;AACA,uC;;;;;;;ACJA;AACA;AACA;AACA;AACA,sC;;;;;;;ACJA;AACA;AACA;AACA;AACA,wC;;;;;;;ACJA;AACA;AACA;AACA;AACA,sC;;;;;;;ACJA;AACA;AACA;AACA;AACA,iC;;;;;;;ACJA;AACA;AACA;AACA;AACA,sC;;;;;;;ACJA;AACA;AACA;AACA;AACA,yC;;;;;;;ACJA;AACA;AACA;AACA;AACA,kC;;;;;;;ACJA;AACA;AACA;AACA;AACA,qC;;;;;;;ACJA;AACA;AACA;AACA;AACA,qC;;;;;;;ACJA;AACA;AACA;AACA;AACA,uC;;;;;;;ACJA;AACA;AACA;AACA;AACA,iC;;;;;;;ACJA;AACA;AACA;AACA;AACA,oC;;;;;;;ACJA;AACA;AACA;AACA;AACA,wC;;;;;;;ACJA;AACA;AACA;AACA;AACA,0C;;;;;;;ACJA;AACA;AACA;AACA;AACA,iC;;;;;;;ACJA;AACA;AACA;AACA;AACA,qC;;;;;;;ACJA;AACA;AACA;AACA;AACA,yC;;;;;;;ACJA;AACA;AACA;AACA;AACA,oC;;;;;;;ACJA;AACA;AACA;AACA;AACA,uC;;;;;;;ACJA;AACA;AACA;AACA;AACA,gD;;;;;;;ACJA;AACA;AACA;AACA;AACA,mD;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA,8B;;;;;;;ACLA;AACA;AACA;AACA;AACA,qC;;;;;;;ACJA;AACA;AACA;AACA;AACA,iC;;;;;;;ACJA;AACA;AACA;AACA;AACA,mC;;;;;;;ACJA;AACA;AACA;AACA;AACA,sC;;;;;;;ACJA;AACA;AACA;AACA;AACA,kC;;;;;;;ACJA;AACA;AACA;AACA;AACA,kC;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA,mC;;;;;;;ACLA;AACA;AACA;AACA;AACA,gC;;;;;;;ACJA;AACA;AACA;AACA;AACA,qC;;;;;;;ACJA;AACA;AACA;AACA;AACA,iC;;;;;;;ACJA;AACA;AACA;AACA;AACA,mC;;;;;;;ACJA;AACA;AACA;AACA;AACA,0C;;;;;;;ACJA;AACA;AACA;AACA;AACA,mC;;;;;;;ACJA;AACA;AACA;AACA;AACA,gC;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA,+B;;;;;;;ACLA;AACA;AACA;AACA;AACA,iC;;;;;;;ACJA;AACA;AACA;AACA;AACA,uC;;;;;;;ACJA;AACA;AACA;AACA;AACA,+B;;;;;;;ACJA;AACA;AACA;AACA;AACA,oC;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA,sC;;;;;;;ACLA;AACA;AACA;AACA;AACA,qC;;;;;;;ACJA;AACA;AACA;AACA;AACA,+B;;;;;;;ACJA;AACA;AACA;AACA;AACA,qC;;;;;;;ACJA;AACA;AACA;AACA;AACA,qC;;;;;;;ACJA;AACA;AACA;AACA;AACA,6C;;;;;;;ACJA;AACA;AACA;AACA;AACA,oC;;;;;;;ACJA;AACA;AACA;AACA;AACA,qC;;;;;;;ACJA;AACA;AACA;AACA;AACA,iC;;;;;;;ACJA;AACA;AACA;AACA;AACA,mC;;;;;;;ACJA;AACA;AACA;AACA;AACA,2C;;;;;;;ACJA;AACA;AACA;AACA;AACA,uC;;;;;;;ACJA;AACA;AACA;AACA;AACA,yC;;;;;;;ACJA;AACA;AACA;AACA;AACA,gC;;;;;;;ACJA;AACA;AACA;AACA;AACA,kC;;;;;;;ACJA;AACA;AACA;AACA;AACA,kC;;;;;;;ACJA;AACA;AACA;AACA;AACA,sC;;;;;;;ACJA;AACA;AACA;AACA;AACA,iC;;;;;;;ACJA;AACA;AACA;AACA;AACA,qC;;;;;;;ACJA;AACA;AACA;AACA;AACA,kC;;;;;;;ACJA;AACA;AACA;AACA;AACA,sC;;;;;;;ACJA;AACA;AACA;AACA;AACA,gC;;;;;;;ACJA;AACA;AACA;AACA;AACA,yC;;;;;;;ACJA;AACA;AACA;AACA;AACA,kC;;;;;;;ACJA;AACA;AACA;AACA;AACA,gC;;;;;;;ACJA;AACA;AACA;AACA;AACA,qC;;;;;;;ACJA;AACA;AACA;AACA;AACA,qC;;;;;;;ACJA;AACA;AACA;AACA;AACA,qC;;;;;;;ACJA;AACA;AACA;AACA;AACA,uC;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA,kC;;;;;;;ACLA;AACA;AACA;AACA;AACA,qC;;;;;;;ACJA;AACA;AACA;AACA;AACA,uC;;;;;;;ACJA;AACA;AACA;AACA;AACA,oC;;;;;;;ACJA;AACA;AACA;AACA;AACA,qC;;;;;;;ACJA;AACA;AACA;AACA;AACA,qC;;;;;;;ACJA;AACA;AACA;AACA;AACA,oC;;;;;;;ACJA;AACA;AACA;AACA;AACA,wC;;;;;;;ACJA;AACA;AACA;AACA;AACA,wC;;;;;;;ACJA;AACA;AACA;AACA;AACA,mC;;;;;;;ACJA;AACA;AACA;AACA;AACA,uC;;;;;;;ACJA;AACA;AACA;AACA;AACA,qC;;;;;;;ACJA;AACA;AACA;AACA;AACA,kC;;;;;;;ACJA;AACA;AACA;AACA;AACA,uC;;;;;;;ACJA;AACA;AACA;AACA;AACA,sC;;;;;;;ACJA;AACA;AACA;AACA;AACA,wC;;;;;;;ACJA;AACA;AACA;AACA;AACA,sC;;;;;;;ACJA;AACA;AACA;AACA;AACA,0C;;;;;;;ACJA;AACA;AACA;AACA;AACA,+B;;;;;;;ACJA;AACA;AACA;AACA;AACA,kC;;;;;;;ACJA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,2BAA2B,kCAAkC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,+C;;;;;;;ACrEA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,aAAa;AACb,aAAa;AACb;AACA,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB;AACA,eAAe,UAAU;AACzB;AACA,gBAAgB,mCAAmC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,sBAAsB;AACxD;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,uBAAuB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E,uCAAuC;AACnH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,uBAAuB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uEAAuE,qDAAqD;AAC5H;AACA;AACA,sEAAsE,oCAAoC;AAC1G;AACA;AACA;AACA;AACA,kEAAkE,iCAAiC;AACnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mD;;;;;;;ACnKA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,mBAAmB;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,aAAa;AACb,aAAa;AACb;AACA,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB;AACA,eAAe,UAAU;AACzB;AACA,gBAAgB,mCAAmC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,sBAAsB;AACxD;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,uBAAuB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,uCAAuC;AAC3F;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE,qDAAqD;AACxH;AACA;AACA,kEAAkE,oCAAoC;AACtG;AACA;AACA;AACA;AACA,8DAA8D,iCAAiC;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uD;;;;;;;AC/KA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,QAAQ;AACR;AACA;AACA,aAAa;AACb;AACA,eAAe,+BAA+B;AAC9C;AACA;AACA;AACA,gBAAgB,WAAW;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,2C;;;;;;;AC5FA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,eAAe;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,aAAa;AACb,aAAa;AACb,aAAa;AACb;AACA,eAAe,IAAI;AACnB,eAAe,UAAU,gBAAgB,gBAAgB;AACzD;AACA,gBAAgB,WAAW;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,2C;;;;;;;ACjFA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,8C;;;;;;;AC/GA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,aAAa;AACb;AACA,eAAe,gBAAgB;AAC/B;AACA,eAAe,OAAO;AACtB;AACA,cAAc,qBAAqB;AACnC,eAAe,2BAA2B;AAC1C;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,SAAS;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,yDAAyD;AAChG;AACA;AACA;AACA;AACA,uCAAuC,yCAAyC;AAChF;AACA;AACA;AACA;AACA,uCAAuC,oDAAoD;AAC3F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,iBAAiB,2BAA2B;AACrD;AACA;AACA;AACA,CAAC;AACD;AACA,+C;;;;;;;ACnIA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,aAAa;AACb;AACA,eAAe,iCAAiC;AAChD;AACA;AACA,eAAe,kCAAkC;AACjD;AACA;AACA,eAAe,0BAA0B;AACzC;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA,SAAS,iBAAiB,oBAAoB;AAC9C;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,sD;;;;;;;AC3GA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA,qCAAqC,cAAc;AACnD;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,8C;;;;;;;ACtIA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,wC;;;;;;;AC5DA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,gCAAgC,YAAY;AAC5C,mCAAmC,2BAA2B;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,aAAa;AACb;AACA,eAAe,OAAO;AACtB;AACA,eAAe,UAAU;AACzB;AACA,gBAAgB,WAAW;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,YAAY;AAC5C,mCAAmC,2BAA2B;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,CAAC;AACD;AACA,8C;;;;;;;ACvFA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,6BAA6B,SAAS;AACtC,6BAA6B,kBAAkB;AAC/C;AACA;AACA;AACA;AACA,mEAAmE,eAAe;AAClF;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,6BAA6B,SAAS;AACtC,6BAA6B,qBAAqB;AAClD;AACA;AACA;AACA;AACA,kEAAkE,aAAa;AAC/E;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8C;;;;;;;AC5JA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,aAAa;AACb,aAAa;AACb,aAAa;AACb;AACA,gBAAgB,WAAW;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,2C;;;;;;;AC1DA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,UAAU;AACV;AACA;AACA,UAAU;AACV;AACA,eAAe,OAAO;AACtB;AACA,eAAe,UAAU;AACzB;AACA,iBAAiB,gCAAgC;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,2C;;;;;;;ACpFA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,aAAa;AACb;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,UAAU,gBAAgB,gBAAgB;AACzD;AACA,gBAAgB,WAAW;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,WAAW;AAC1C,+BAA+B,WAAW;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,CAAC;AACD;AACA,2C;;;;;;;AC/FA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,mCAAmC,eAAe;AAClD,mCAAmC,yBAAyB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,WAAW;AAC1C,mCAAmC,yBAAyB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,CAAC;AACD;AACA,iD;;;;;;;AClDA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,iCAAiC,aAAa;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,eAAe;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,WAAW;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,aAAa;AACb;AACA,eAAe,YAAY;AAC3B;AACA,eAAe,OAAO;AACtB;AACA,eAAe,UAAU;AACzB;AACA,gBAAgB,WAAW;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,kBAAkB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,CAAC;AACD;AACA,2C;;;;;;;AC1GA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,2C;;;;;;;AC5DA;AACA;AACA;AACA,wC;;;;;;;ACHA;AACA;AACA;AACA,4C;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,WAAW;AACtB;AACA,WAAW,WAAW;AACtB;AACA,WAAW,SAAS;AACpB;AACA,WAAW,UAAU;AACrB;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yC;;;;;;;ACtEA;AACA;AACA;AACA,kC;;;;;;;ACHA;AACA;AACA;AACA,iC;;;;;;;ACHA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,kBAAkB,4BAA4B,EAAE,eAAe,4BAA4B,EAAE;AAC1G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,6EAA6E,kDAAkD,EAAE;AACjI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,+BAA+B;AACjF;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,uCAAuC,0BAA0B;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,4C;;;;;;;AC5MA;AACA;AACA;AACA,gC;;;;;;;ACHA;AACA;AACA;AACA,qC;;;;;;;ACHA;AACA;AACA;AACA,iC;;;;;;;ACHA;AACA;AACA;AACA,oC;;;;;;;ACHA;AACA;AACA;AACA,qC;;;;;;;ACHA;AACA;AACA;AACA,4C;;;;;;;ACHA;AACA;AACA;AACA,8B;;;;;;;ACHA;AACA;AACA;AACA,oC;;;;;;;ACHA;AACA;AACA;AACA,iC;;;;;;;ACHA;AACA;AACA;AACA,iC;;;;;;;ACHA;AACA;AACA;AACA,iC;;;;;;;ACHA;AACA;AACA;AACA,iC;;;;;;;ACHA;AACA;AACA;AACA,iC;;;;;;;ACHA;AACA;AACA;AACA,iC;;;;;;;ACHA;AACA;AACA;AACA,iC;;;;;;;ACHA;AACA;AACA;AACA,+B;;;;;;;ACHA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,gBAAgB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,uCAAuC;AAClD;AACA;AACA,YAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,iC;;;;;;;AC7GA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gBAAgB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,OAAO;AAClB;AACA;AACA,WAAW,UAAU,wBAAwB,gBAAgB;AAC7D;AACA,YAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;AACA,+BAA+B,2BAA2B;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,qC;;;;;;;ACvGA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,gBAAgB;AAC3B;AACA,YAAY,gBAAgB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kC;;;;;;;AC3EA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA,YAAY,gBAAgB;AAC5B;AACA;AACA;AACA;AACA,sCAAsC,yBAAyB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,uC;;;;;;;ACjHA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB,WAAW,UAAU;AACrB;AACA,YAAY,gBAAgB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA,8BAA8B;AAC9B,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sGAAsG,2CAA2C;AACjJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sC;;;;;;;ACrMA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,yBAAyB;AACpC;AACA,WAAW,0CAA0C;AACrD;AACA;AACA;AACA,YAAY,gBAAgB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,wC;;;;;;;ACvJA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,uBAAuB;AAClC;AACA,YAAY,gBAAgB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,sC;;;;;;;ACzHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,gCAAgC,uCAAuC;AACvE,gCAAgC,uCAAuC;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,4BAA4B,EAAE;AACxF;AACA;AACA;AACA,aAAa,eAAe,2BAA2B,EAAE;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,iC;;;;;;;AChDA;AACA;AACA;AACA;AACA,wDAAwD,oBAAoB;AAC5E;AACA;AACA,IAAI,oBAAoB;AACxB;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT;AACA,WAAW,SAAS;AACpB;AACA;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sC;;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,gBAAgB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,WAAW;AACtB;AACA,WAAW,oFAAoF;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uC;;;;;;;ACxDA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,8DAA8D;AACzE;AACA;AACA;AACA;AACA;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,iC;;;;;;;AC3GA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,mBAAmB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,mBAAmB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,uCAAuC;AAClD;AACA;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,oC;;;;;;;AC9HA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,YAAY;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,gBAAgB;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA,WAAW,UAAU,wBAAwB,gBAAgB;AAC7D;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,2BAA2B;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,wC;;;;;;;ACnHA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT;AACA,WAAW,IAAI;AACf;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,qBAAqB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,0C;;;;;;;AC3EA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA,kDAAkD;AAClD,0CAA0C;AAC1C;AACA;AACA,SAAS;AACT,SAAS;AACT;AACA,WAAW,YAAY;AACvB;AACA,WAAW,UAAU;AACrB;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA,+BAA+B,2BAA2B;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,iC;;;;;;;ACtIA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,YAAY;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT;AACA,WAAW,+BAA+B;AAC1C;AACA;AACA;AACA,WAAW,WAAW;AACtB;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,qC;;;;;;;AC7LA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA,8BAA8B,mBAAmB;AACjD;AACA;AACA,mCAAmC,mBAAmB;AACtD,sDAAsD,kBAAkB;AACxE;AACA;AACA;AACA;AACA,IAAI,mBAAmB;AACvB;AACA;AACA;AACA;AACA,0CAA0C,kBAAkB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,yC;;;;;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,WAAW;AACtB,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,uC;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,mD;;;;;;;ACtBA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT;AACA,WAAW,kBAAkB;AAC7B;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,8B;;;;;;;AC/GA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,YAAY,wBAAwB;AACpC;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,EAAE;AACb,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,qC;;;;;;;AC9FA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,eAAe;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,mC;;;;;;;ACzFA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,cAAc;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,+CAA+C;AAC1D;AACA;AACA,WAAW,oFAAoF;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,sC;;;;;;;ACxIA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,eAAe;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT;AACA,WAAW,gDAAgD;AAC3D;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,UAAU;AACrB;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,uCAAuC;AACvE,+BAA+B,uBAAuB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,kC;;;;;;;ACrJA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,mC;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,WAAW;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,YAAY;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,kEAAkE;AAC7E;AACA,WAAW,IAAI;AACf;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qC;;;;;;;ACxCA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,wBAAwB;AAC5B;AACA;AACA;AACA,WAAW,sBAAsB;AACjC;AACA,WAAW,sBAAsB;AACjC;AACA,WAAW,2DAA2D;AACtE;AACA;AACA,YAAY,mCAAmC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,mC;;;;;;;ACvOA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,0C;;;;;;;AC9CA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,mC;;;;;;;ACnDA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+B;;;;;;;ACXA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,UAAU;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,WAAW,IAAI;AACf,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,iC;;;;;;;AC9DA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD;AACA;AACA;AACA,IAAI,mBAAmB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,oBAAoB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT;AACA,YAAY,4BAA4B;AACxC,IAAI,mBAAmB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,uC;;;;;;;AClFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA,2BAA2B,mCAAmC;AAC9D,2BAA2B,sBAAsB;AACjD;AACA;AACA;AACA,+B;;;;;;;ACrBA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,gCAAgC,uCAAuC;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,qC;;;;;;;ACzGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,YAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;AACA,2BAA2B,mCAAmC;AAC9D,2BAA2B,sBAAsB;AACjD;AACA;AACA;AACA,+B;;;;;;;ACpBA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,SAAS;AACT,SAAS;AACT;AACA,YAAY,qBAAqB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,oC;;;;;;;AC5EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,aAAa;AAClD,2BAA2B,aAAa;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,aAAa;AACjE,iBAAiB,aAAa;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,WAAW,2CAA2C;AACtD;AACA;AACA;AACA;AACA;AACA,WAAW,IAAI;AACf;AACA,YAAY,+BAA+B;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qC;;;;;;;ACnDA;AACA;AACA;AACA;AACA;AACA,gCAAgC,UAAU;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,WAAW,UAAU;AACrB;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,YAAY;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iC;;;;;;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE,gCAAgC,EAAE;AACtG;AACA;AACA;AACA,mC;;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2C;;;;;;;ACbA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uC;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,gCAAgC,uCAAuC;AACvE,gCAAgC,uCAAuC;AACvE;AACA;AACA;AACA,yC;;;;;;;ACjBA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,OAAO;AAClB;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA,2BAA2B,YAAY;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kC;;;;;;;AC1EA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B;AACA,WAAW,UAAU;AACrB,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,sC;;;;;;;ACzGA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA,2BAA2B,YAAY;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,iC;;;;;;;ACpEA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B;AACA,WAAW,UAAU;AACrB,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,qC;;;;;;;ACzGA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,iBAAiB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,gBAAgB;AAC3B;AACA,YAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kC;;;;;;;ACrFA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,OAAO;AAClB;AACA,WAAW,UAAU,wBAAwB,gBAAgB;AAC7D;AACA,YAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;AACA,+BAA+B,2BAA2B;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE,mCAAmC;AACtG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,sC;;;;;;;AC1FA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,aAAa;AAClD;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,aAAa;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,6CAA6C;AACxD;AACA,WAAW,IAAI;AACf,YAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,gC;;;;;;;AC3GA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,sFAAsF;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,WAAW;AACtB,WAAW,SAAS;AACpB,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,yC;;;;;;;ACnKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iC;;;;;;;ACvBA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,WAAW;AACvB;AACA,WAAW,SAAS;AACpB,YAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kC;;;;;;;AC9FA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,gC;;;;;;;AClDA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB;AACA,YAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,qC;;;;;;;ACtEA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,YAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,qC;;;;;;;ACjEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qC;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,YAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;AACA,2BAA2B,WAAW;AACtC;AACA;AACA;AACA,uC;;;;;;;AClBA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,eAAe;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,YAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kC;;;;;;;AC3GA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,aAAa;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,+CAA+C;AAC1D;AACA;AACA,WAAW,oFAAoF;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,qC;;;;;;;AC1IA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B;AACA,qCAAqC,gBAAgB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,WAAW;AACtB;AACA,WAAW,oFAAoF;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,WAAW;AACvB;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,uC;;;;;;;AC7HA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,YAAY,wBAAwB;AACpC;AACA;AACA,WAAW,OAAO;AAClB,YAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,gC;;;;;;;ACvFA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,YAAY,wBAAwB;AACpC;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,WAAW;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,oC;;;;;;;AC1GA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,WAAW;AACtB;AACA;AACA,YAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,qC;;;;;;;AC1EA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,2CAA2C;AACtD;AACA;AACA,YAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,qC;;;;;;;AC3FA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,mBAAmB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,uCAAuC;AAClD;AACA;AACA,YAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,oC;;;;;;;AC3GA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,gBAAgB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,OAAO;AAClB;AACA;AACA,WAAW,UAAU,wBAAwB,gBAAgB;AAC7D;AACA,YAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;AACA,+BAA+B,2BAA2B;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4FAA4F,mBAAmB;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,wC;;;;;;;AC9FA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,iCAAiC,oBAAoB;AACrD,+BAA+B,2BAA2B;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kFAAkF,wCAAwC;AAC1H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,mC;;;;;;;ACrGA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,+BAA+B,2BAA2B;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,uC;;;;;;;AC7GA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,mC;;;;;;;AC5CA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,aAAa;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,gBAAgB;AAC3B;AACA,YAAY,0BAA0B;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kC;;;;;;;AC7GA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,kBAAkB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA,YAAY,0BAA0B;AACtC;AACA;AACA;AACA;AACA;AACA,sCAAsC,sBAAsB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,yBAAyB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,uC;;;;;;;AClIA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,iBAAiB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA,WAAW,UAAU;AACrB;AACA,YAAY,0BAA0B;AACtC;AACA;AACA;AACA;AACA;AACA,4CAA4C,+BAA+B;AAC3E,+BAA+B,2BAA2B;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sC;;;;;;;ACxKA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,mBAAmB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,cAAc;AACzB;AACA,WAAW,+BAA+B;AAC1C;AACA;AACA;AACA,YAAY,0BAA0B;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,SAAS;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,wC;;;;;;;ACnLA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,iBAAiB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA,WAAW,uBAAuB;AAClC;AACA;AACA,YAAY,0BAA0B;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,iBAAiB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,sC;;;;;;;AC9HA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,WAAW,WAAW;AACtB;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,0C;;;;;;;ACjIA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kC;;;;;;;ACZA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA,uCAAuC,gBAAgB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA,eAAe,OAAO;AACtB;AACA,gBAAgB;AAChB;AACA;AACA,+BAA+B,WAAW;AAC1C;AACA;AACA;AACA,CAAC;AACD;AACA,kC;;;;;;;AC3CA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,WAAW;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,WAAW;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,gD;;;;;;;ACpDA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,mD;;;;;;;ACpCA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,WAAW;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,WAAW;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,sC;;;;;;;ACpDA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,yC;;;;;;;ACpCA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,WAAW;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,WAAW;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,uC;;;;;;;AC9CA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,0C;;;;;;;ACfA;AACA;AACA;AACA;AACA,0C;;;;;;;ACJA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,oBAAoB;AAC3C;AACA;AACA;AACA;AACA,aAAa,kBAAkB,2CAA2C;AAC1E;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,0C;;;;;;;AC7CA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,oBAAoB;AAC3C;AACA;AACA;AACA,wDAAwD,uCAAuC,EAAE;AACjG,aAAa;AACb;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,yC;;;;;;;AC/CA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,+FAA+F;AAC1H,SAAS;AACT,2BAA2B,8FAA8F;AACzH,SAAS;AACT,2BAA2B,8FAA8F;AACzH,SAAS;AACT;AACA;AACA;AACA;AACA,+CAA+C,8BAA8B;AAC7E;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,kFAAkF;AAC/G,aAAa;AACb,6BAA6B,iFAAiF;AAC9G,aAAa;AACb,6BAA6B,iFAAiF;AAC9G,aAAa;AACb,SAAS;AACT;AACA,uCAAuC,mCAAmC,EAAE;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAsE,mBAAmB,EAAE;AAC3F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,qCAAqC;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,UAAU,EAAE;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,0EAA0E;AAC7G;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,yC;;;;;;;AC9NA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,uCAAuC;AAC/F;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,0C;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,mC;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,qC;;;;;;;AChNA;AACA;AACA;AACA,+CAA+C,kCAAkC,EAAE;AACnF,+B;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,eAAe;AACtC;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,uC;;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,aAAa;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,kC;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+B;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wC;;;;;;;;;;;;;;;;;;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,gBAAgB,KAAK;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA,2CAA2C,KAAK;AAChD,0CAA0C,KAAK;AAC/C;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,mBAAmB,4BAA4B;AAC/C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2CAA2C,OAAO;AAClD;AACA;AACA;AACA;AACA,0CAA0C,OAAO;AACjD;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,0CAA0C,OAAO;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,mBAAmB;AACrC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oBAAoB,mBAAmB;AACvC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,iBAAiB;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,8BAA8B,QAAQ;AACtC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,MAAM;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3tBA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;;ACdA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClEA;AACA;AACA;AACA;AACA;AACA,C;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,qBAAqB;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,kBAAkB;AACzD,uCAAuC,kBAAkB;AACzD,oCAAoC,eAAe;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,kBAAkB;AACzD,uCAAuC,kBAAkB;AACzD,oCAAoC,eAAe;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wHAAwH,wBAAwB,oCAAoC;AACpL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,kBAAkB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,kBAAkB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,mCAAmC;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,sBAAsB;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,+CAA+C,sBAAsB;AACrE;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA,kBAAkB,EAAE;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,aAAa,EAAE,eAAe,aAAa,EAAE;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,QAAQ;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,mBAAmB,oBAAoB;AACvC;AACA;AACA;;AAEA;AACA,kDAAkD;AAClD;AACA;AACA,8DAA8D;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA,uBAAuB,uBAAuB;AAC9C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,uBAAuB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,0BAA0B;AACjE,qCAAqC,yBAAyB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,mCAAmC;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,0BAA0B;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,0DAA0D,kCAAkC,EAAE;AAC9F,6DAA6D,qCAAqC,EAAE;AACpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,EAAE;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,8DAA8D,0BAA0B;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,EAAE;AACZ;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,EAAE;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,0BAA0B,EAAE;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,+BAA+B,EAAE;AAC3F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,4EAA4E;AAC5E;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,mBAAmB,uBAAuB;AAC1C;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,4BAA4B;AAC3C;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uFAAuF;AACvF;AACA;AACA,MAAM,EAAE;AACR,uFAAuF;AACvF;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA,MAAM,EAAE;AACR,iGAAiG;AACjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,EAAE;AACR;AACA;AACA;AACA;AACA;;AAEA,CAAC;;;;;;;;ACj5CD;AACA;AACA;AACA,uCAAuC,WAAW;AAClD;AACA;AACA;;;;;;;ACNA,e;;;;;;ACAA,e;;;;;;ACAA,e;;;;;;ACAA,e;;;;;;ACAA,e","file":"main.677ea19efd782e817684.bundle.js","sourcesContent":["/**\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/**\n * @module\n * @description\n * Entry point for all public APIs of the core package.\n */\nexport { createPlatform, assertPlatform, destroyPlatform, getPlatform, PlatformRef, ApplicationRef, enableProdMode, isDevMode, createPlatformFactory, NgProbeToken, APP_ID, PACKAGE_ROOT_URL, PLATFORM_INITIALIZER, APP_BOOTSTRAP_LISTENER, APP_INITIALIZER, ApplicationInitStatus, DebugElement, DebugNode, asNativeElements, getDebugNode, Testability, TestabilityRegistry, setTestabilityGetter, TRANSLATIONS, TRANSLATIONS_FORMAT, LOCALE_ID, ApplicationModule, wtfCreateScope, wtfLeave, wtfStartTimeRange, wtfEndTimeRange, Type, EventEmitter, ErrorHandler, AnimationTransitionEvent, AnimationPlayer, AnimationStyles, AnimationKeyframe, Sanitizer, SecurityContext, ANALYZE_FOR_ENTRY_COMPONENTS, Attribute, ContentChild, ContentChildren, Query, ViewChild, ViewChildren, Component, Directive, HostBinding, HostListener, Input, Output, Pipe, AfterContentChecked, AfterContentInit, AfterViewChecked, AfterViewInit, DoCheck, OnChanges, OnDestroy, OnInit, CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule, ViewEncapsulation, Version, VERSION, Class, forwardRef, resolveForwardRef, Injector, ReflectiveInjector, ResolvedReflectiveFactory, ReflectiveKey, OpaqueToken, Inject, Optional, Injectable, Self, SkipSelf, Host, NgZone, RenderComponentType, Renderer, RootRenderer, COMPILER_OPTIONS, Compiler, CompilerFactory, ModuleWithComponentFactories, ComponentFactory, ComponentRef, ComponentFactoryResolver, ElementRef, NgModuleFactory, NgModuleRef, NgModuleFactoryLoader, getModuleFactory, QueryList, SystemJsNgModuleLoader, SystemJsNgModuleLoaderConfig, TemplateRef, ViewContainerRef, EmbeddedViewRef, ViewRef, ChangeDetectionStrategy, ChangeDetectorRef, CollectionChangeRecord, DefaultIterableDiffer, IterableDiffers, KeyValueChangeRecord, KeyValueDiffers, SimpleChange, WrappedValue, platformCore, __core_private__, AUTO_STYLE, AnimationEntryMetadata, AnimationStateMetadata, AnimationStateDeclarationMetadata, AnimationStateTransitionMetadata, AnimationMetadata, AnimationKeyframesSequenceMetadata, AnimationStyleMetadata, AnimationAnimateMetadata, AnimationWithStepsMetadata, AnimationSequenceMetadata, AnimationGroupMetadata, animate, group, sequence, style, state, keyframes, transition, trigger } from './src/core';\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/index.js\n// module id = 0\n// module chunks = 0","/**\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/**\n * @module\n * @description\n * Entry point for all public APIs of the forms package.\n */\nexport { AbstractControlDirective, AbstractFormGroupDirective, CheckboxControlValueAccessor, ControlContainer, NG_VALUE_ACCESSOR, DefaultValueAccessor, NgControl, NgControlStatus, NgControlStatusGroup, NgForm, NgModel, NgModelGroup, RadioControlValueAccessor, FormControlDirective, FormControlName, FormGroupDirective, FormArrayName, FormGroupName, NgSelectOption, SelectControlValueAccessor, SelectMultipleControlValueAccessor, CheckboxRequiredValidator, MaxLengthValidator, MinLengthValidator, PatternValidator, RequiredValidator, FormBuilder, AbstractControl, FormArray, FormControl, FormGroup, NG_ASYNC_VALIDATORS, NG_VALIDATORS, Validators, VERSION, FormsModule, ReactiveFormsModule } from './src/forms';\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/forms/index.js\n// module id = 1\n// module chunks = 0","/**\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/**\n * @module\n * @description\n * Entry point for all public APIs of the common package.\n */\nexport { NgLocalization, CommonModule, NgClass, NgFor, NgIf, NgPlural, NgPluralCase, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgTemplateOutlet, AsyncPipe, DatePipe, I18nPluralPipe, I18nSelectPipe, JsonPipe, LowerCasePipe, CurrencyPipe, DecimalPipe, PercentPipe, SlicePipe, UpperCasePipe, VERSION, Version, PlatformLocation, LocationStrategy, APP_BASE_HREF, HashLocationStrategy, PathLocationStrategy, Location } from './src/common';\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/common/index.js\n// module id = 2\n// module chunks = 0","import { NgModule } from \"@angular/core\";\nimport { Http, HttpModule } from \"@angular/http\";\nimport { TranslatePipe } from \"./src/translate.pipe\";\nimport { TranslateParser, DefaultTranslateParser } from \"./src/translate.parser\";\nimport { TranslateService, TranslateLoader, TranslateStaticLoader } from \"./src/translate.service\";\nimport { TranslateDirective } from \"./src/translate.directive\";\nexport * from \"./src/translate.pipe\";\nexport * from \"./src/translate.service\";\nexport * from \"./src/translate.parser\";\nexport * from \"./src/translate.directive\";\nexport function translateLoaderFactory(http) {\n    return new TranslateStaticLoader(http);\n}\nexport var TranslateModule = (function () {\n    function TranslateModule() {\n    }\n    TranslateModule.forRoot = function (providedLoader) {\n        if (providedLoader === void 0) { providedLoader = {\n            provide: TranslateLoader,\n            useFactory: translateLoaderFactory,\n            deps: [Http]\n        }; }\n        return {\n            ngModule: TranslateModule,\n            providers: [\n                providedLoader,\n                TranslateService,\n                { provide: TranslateParser, useClass: DefaultTranslateParser }\n            ]\n        };\n    };\n    TranslateModule.decorators = [\n        { type: NgModule, args: [{\n                    imports: [HttpModule],\n                    declarations: [\n                        TranslatePipe,\n                        TranslateDirective\n                    ],\n                    exports: [\n                        HttpModule,\n                        TranslatePipe,\n                        TranslateDirective\n                    ]\n                },] },\n    ];\n    /** @nocollapse */\n    TranslateModule.ctorParameters = function () { return []; };\n    return TranslateModule;\n}());\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-translate/index.js\n// module id = 3\n// module chunks = 0","\"use strict\";\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        }\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            }\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                    }\n                    catch (err) {\n                        reject(err);\n                        subscription.unsubscribe();\n                    }\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\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/Observable.js\n// module id = 4\n// module chunks = 0","\"use strict\";\nfunction __export(m) {\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nvar core_1 = require('@angular/core');\nvar common_1 = require('@angular/common');\nvar modal_1 = require('./components/modal');\nvar modal_header_1 = require('./components/modal-header');\nvar modal_body_1 = require('./components/modal-body');\nvar modal_footer_1 = require('./components/modal-footer');\nvar autofocus_1 = require('./directives/autofocus');\n__export(require('./components/modal'));\n__export(require('./components/modal-header'));\n__export(require('./components/modal-body'));\n__export(require('./components/modal-footer'));\n__export(require('./components/modal-instance'));\nvar Ng2Bs3ModalModule = (function () {\n    function Ng2Bs3ModalModule() {\n    }\n    Ng2Bs3ModalModule.decorators = [\n        { type: core_1.NgModule, args: [{\n                    imports: [\n                        common_1.CommonModule\n                    ],\n                    declarations: [\n                        modal_1.ModalComponent,\n                        modal_header_1.ModalHeaderComponent,\n                        modal_body_1.ModalBodyComponent,\n                        modal_footer_1.ModalFooterComponent,\n                        autofocus_1.AutofocusDirective\n                    ],\n                    exports: [\n                        modal_1.ModalComponent,\n                        modal_header_1.ModalHeaderComponent,\n                        modal_body_1.ModalBodyComponent,\n                        modal_footer_1.ModalFooterComponent,\n                        autofocus_1.AutofocusDirective\n                    ]\n                },] },\n    ];\n    /** @nocollapse */\n    Ng2Bs3ModalModule.ctorParameters = [];\n    return Ng2Bs3ModalModule;\n}());\nexports.Ng2Bs3ModalModule = Ng2Bs3ModalModule;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmcyLWJzMy1tb2RhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInNyYy9uZzItYnMzLW1vZGFsL25nMi1iczMtbW9kYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHFCQUF5QixlQUFlLENBQUMsQ0FBQTtBQUN6Qyx1QkFBNkIsaUJBQWlCLENBQUMsQ0FBQTtBQUUvQyxzQkFBK0Isb0JBQW9CLENBQUMsQ0FBQTtBQUNwRCw2QkFBcUMsMkJBQTJCLENBQUMsQ0FBQTtBQUNqRSwyQkFBbUMseUJBQXlCLENBQUMsQ0FBQTtBQUM3RCw2QkFBcUMsMkJBQTJCLENBQUMsQ0FBQTtBQUNqRSwwQkFBbUMsd0JBQXdCLENBQUMsQ0FBQTtBQUU1RCxpQkFBYyxvQkFBb0IsQ0FBQyxFQUFBO0FBQ25DLGlCQUFjLDJCQUEyQixDQUFDLEVBQUE7QUFDMUMsaUJBQWMseUJBQXlCLENBQUMsRUFBQTtBQUN4QyxpQkFBYywyQkFBMkIsQ0FBQyxFQUFBO0FBQzFDLGlCQUFjLDZCQUE2QixDQUFDLEVBQUE7QUFHNUM7SUFBQTtJQXlCQSxDQUFDO0lBeEJNLDRCQUFVLEdBQTBCO1FBQzNDLEVBQUUsSUFBSSxFQUFFLGVBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztvQkFDckIsT0FBTyxFQUFFO3dCQUNMLHFCQUFZO3FCQUNmO29CQUNELFlBQVksRUFBRTt3QkFDVixzQkFBYzt3QkFDZCxtQ0FBb0I7d0JBQ3BCLCtCQUFrQjt3QkFDbEIsbUNBQW9CO3dCQUNwQiw4QkFBa0I7cUJBQ3JCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxzQkFBYzt3QkFDZCxtQ0FBb0I7d0JBQ3BCLCtCQUFrQjt3QkFDbEIsbUNBQW9CO3dCQUNwQiw4QkFBa0I7cUJBQ3JCO2lCQUNKLEVBQUcsRUFBRTtLQUNMLENBQUM7SUFDRixrQkFBa0I7SUFDWCxnQ0FBYyxHQUE2RCxFQUNqRixDQUFDO0lBQ0Ysd0JBQUM7QUFBRCxDQUFDLEFBekJELElBeUJDO0FBekJZLHlCQUFpQixvQkF5QjdCLENBQUEifQ==\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-bs3-modal/ng2-bs3-modal.js\n// module id = 5\n// module chunks = 0","/**\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/**\n * @module\n * @description\n * Entry point for all public APIs of the router package.\n */\nexport * from './src/index';\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/router/index.js\n// module id = 6\n// module chunks = 0","/**\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/**\n * @module\n * @description\n * Entry point for all public APIs of the platform-browser package.\n */\nexport { BrowserModule, platformBrowser, Title, disableDebugTools, enableDebugTools, AnimationDriver, By, NgProbeToken, DOCUMENT, EVENT_MANAGER_PLUGINS, EventManager, HAMMER_GESTURE_CONFIG, HammerGestureConfig, DomSanitizer, VERSION, __platform_browser_private__ } from './src/platform-browser';\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/platform-browser/index.js\n// module id = 7\n// module chunks = 0","import { Component, ElementRef, OnInit } from \"@angular/core\";\r\nimport { Http, Response } from \"@angular/http\";\r\nimport { Data } from \"./data\";\r\nimport { Router, ActivatedRoute, NavigationExtras } from \"@angular/router\";\r\nimport { TokenService } from \"angular2-auth\";\r\nimport { price_validation } from \"../constant\";\r\nimport { ToastsManager } from \"ng2-toastr/ng2-toastr\";\r\nimport { IMyOptions, IMyDateModel } from \"mydatepicker\";\r\nimport { Router_id } from \"./routing_hidden_id\";\r\nimport { InterceptedHttp } from \"./http.interceptor\";\r\n\r\nimport {\r\n  ERROR_CODE_CONSTANT,\r\n  ADMIN_DATA_ID,\r\n  WALLET_COMMENT_ID,\r\n  ORDER_CANCELLATION_CHARGE_TYPE,\r\n  CONSTANT,\r\n  ORDER_STATE,\r\n  ADMIN_PROFIT_ON_ORDER_ID,\r\n  ADMIN_PROFIT_ON_ORDER_STRING,\r\n  WEEK,\r\n  MONTH,\r\n  DAY,\r\n  DATE_FORMAT,\r\n  TIMEOUT,\r\n  ADMIN_PROMO_FOR_ID,\r\n  PROMO_RECURSION_ID,\r\n  PROMO_RECURSION_STRING,\r\n  PROMO_RECURSION,\r\n  WALLET_REQUEST_STATUS,\r\n  ORDER_STATUS_ID,\r\n  ADMIN_PROFIT_ON_DELIVERYS,\r\n  ADMIN_PROFIT_ON_ORDERS,\r\n  ADMIN_IMAGE_TYPES,\r\n  ADMIN_PROMO_FOR_DELIVERY_SERVICE,\r\n  ADMIN_PROMO_FOR,\r\n  ADMIN_IMAGE_RATIO,\r\n  ADMIN_URL,\r\n} from \"../constant\";\r\nimport { TranslateService } from \"ng2-translate\";\r\n\r\nimport {\r\n  title,\r\n  button,\r\n  heading_title,\r\n  status,\r\n  wallet_request_status,\r\n  message,\r\n  tooltip_title,\r\n  sub_menu_title,\r\n  menu_title,\r\n  lable_title,\r\n  setting_tab_title,\r\n} from \"./admin/admin_panel_string\";\r\nimport { ERROR_CODE } from \"./admin/admin_panel_error_message\";\r\nimport { MESSAGE_CODE } from \"./admin/admin_panel_success_message\";\r\nimport { validation_message } from \"./admin/admin_panel_validation_message\";\r\n\r\n@Component({\r\n  selector: \"helper\",\r\n})\r\nexport class Helper {\r\n  ///// for constant ////////////\r\n  public error_code: any = ERROR_CODE_CONSTANT;\r\n  public ORDER_STATE: any = ORDER_STATE;\r\n  public WALLET_REQUEST_STATUS: any = WALLET_REQUEST_STATUS;\r\n  public WALLET_COMMENT_ID: any = WALLET_COMMENT_ID;\r\n  public ADMIN_PROFIT_ON_ORDER_STRING: any = ADMIN_PROFIT_ON_ORDER_STRING;\r\n  public ADMIN_PROFIT_ON_ORDER_ID: any = ADMIN_PROFIT_ON_ORDER_ID;\r\n  public ADMIN_PROFIT_ON_DELIVERYS: any = ADMIN_PROFIT_ON_DELIVERYS;\r\n  public ADMIN_PROFIT_ON_ORDERS: any = ADMIN_PROFIT_ON_ORDERS;\r\n  public ADMIN_IMAGE_TYPES: any = ADMIN_IMAGE_TYPES;\r\n  public ADMIN_PROMO_FOR: any = ADMIN_PROMO_FOR;\r\n  public ADMIN_PROMO_FOR_DELIVERY_SERVICE: any =\r\n    ADMIN_PROMO_FOR_DELIVERY_SERVICE;\r\n  public ADMIN_URL: any = ADMIN_URL;\r\n\r\n  public ADMIN_PROMO_FOR_ID: any = ADMIN_PROMO_FOR_ID;\r\n\r\n  public DATE_FORMAT: any = DATE_FORMAT;\r\n  public CONSTANT: any = CONSTANT;\r\n\r\n  public TIMEOUT: any = TIMEOUT;\r\n  public ADMIN_DATA_ID: any = ADMIN_DATA_ID;\r\n  public ORDER_STATUS_ID: any = ORDER_STATUS_ID;\r\n  public ORDER_CANCELLATION_CHARGE_TYPE: any = ORDER_CANCELLATION_CHARGE_TYPE;\r\n  public title: any = title;\r\n  public button: any = button;\r\n  public heading_title: any = heading_title;\r\n  public ERROR_CODE: any = ERROR_CODE;\r\n  public MESSAGE_CODE: any = MESSAGE_CODE;\r\n  public status: any = status;\r\n  public wallet_request_status: any = wallet_request_status;\r\n  public image_ratio: any = ADMIN_IMAGE_RATIO;\r\n\r\n  public messages: any = message;\r\n  public lable_title: any = lable_title;\r\n  public tooltip_title: any = tooltip_title;\r\n  public sub_menu_title: any = sub_menu_title;\r\n\r\n  public setting_tab_title: any = setting_tab_title;\r\n\r\n  public menu_title: any = menu_title;\r\n  public validation_message: any = validation_message;\r\n\r\n  width: number;\r\n  height: number;\r\n\r\n  public WEEK: any = WEEK;\r\n  public MONTH: any = MONTH;\r\n  public DAY: any = DAY;\r\n  public PROMO_RECURSION_ID: any = PROMO_RECURSION_ID;\r\n  public PROMO_RECURSION_STRING: any = PROMO_RECURSION_STRING;\r\n  public PROMO_RECURSION: any = PROMO_RECURSION;\r\n\r\n  constructor(\r\n    public trans: TranslateService,\r\n    public http: InterceptedHttp,\r\n    public route: ActivatedRoute,\r\n    public router_id: Router_id,\r\n    public toastr: ToastsManager,\r\n    public router: Router,\r\n    public elementRef: ElementRef,\r\n    public data: Data,\r\n    public tokenService: TokenService\r\n  ) {}\r\n\r\n  message() {\r\n    this.toastr.dispose();\r\n    console.log(this.data.storage);\r\n    if (this.data.storage.message !== \"\") {\r\n      if (this.data.storage.class == \"alert-info\") {\r\n        var a = this.data.storage.message;\r\n        // this.toastr.success(this.data.storage.message, null, {toastLife: TIMEOUT.TOASTER_NOTIFICATION})\r\n        console.log(\"toast: \" + this.data.storage.message);\r\n        this.toastr.custom(\r\n          \"<span>\" + this.data.storage.message + \"</span>\",\r\n          null,\r\n          { enableHTML: true, toastLife: TIMEOUT.TOASTER_NOTIFICATION }\r\n        );\r\n      } else if (this.data.storage.class == \"alert-danger\") {\r\n        if (\r\n          this.data.storage.code == this.error_code.TOKEN_EXPIRED ||\r\n          this.data.storage.code == this.error_code.STORE_DATA_NOT_FOUND\r\n        ) {\r\n          // this.router.navigate(['store/logout']);\r\n        }\r\n        this.toastr.custom(\r\n          \"<span>\" + this.data.storage.message + \"</span>\",\r\n          null,\r\n          { enableHTML: true, toastLife: TIMEOUT.TOASTER_NOTIFICATION }\r\n        );\r\n        // this.toastr.error(this.data.storage.message, null, {toastLife: TIMEOUT.TOASTER_NOTIFICATION})\r\n      }\r\n      this.data.storage = {\r\n        code: \"\",\r\n        message: \"\",\r\n        class: \"\",\r\n      };\r\n    }\r\n  }\r\n\r\n  downloadFile(data: any) {\r\n    var blob = new Blob([data], { type: \"text/csv\" });\r\n    var url = window.URL.createObjectURL(blob);\r\n    var element = document.createElement(\"a\");\r\n    element.setAttribute(\"href\", url);\r\n    element.setAttribute(\"download\", url + \".csv\");\r\n    element.style.display = \"none\";\r\n    document.body.appendChild(element);\r\n    element.click();\r\n    document.body.removeChild(element);\r\n  }\r\n\r\n  //        downloadExcelFile(data: Response) {\r\n  //            var blob = new Blob([data], {type: 'text/xlsx'});\r\n  //            var url = window.URL.createObjectURL(blob);\r\n  //            var element = document.createElement('a');\r\n  //            element.setAttribute('href', url);\r\n  //            element.setAttribute('download', url + '.xlsx');\r\n  //            element.style.display = 'none';\r\n  //            document.body.appendChild(element);\r\n  //            element.click();\r\n  //            document.body.removeChild(element);\r\n  //        }\r\n\r\n  http_status(error) {\r\n    if (error.status === 500) {\r\n      console.log(\"Internal Server Error\");\r\n    } else if (error.status === 502) {\r\n      console.log(\"Bad Gateway\");\r\n    } else if (error.status === 404) {\r\n      console.log(\"Url Not Found\");\r\n    }\r\n    if (error.status === 403) {\r\n      console.log(\"Forbidden Error\");\r\n    } else if (error.status === 503) {\r\n      console.log(\"Service Unavailable\");\r\n    } else if (error.status === 504) {\r\n      console.log(\"Gateway Timeout\");\r\n    } else if (error.status === 408) {\r\n      console.log(\"Request Timeout\");\r\n    } else if (error.status === 413) {\r\n      console.log(\"Request Entity To Large\");\r\n    }\r\n  }\r\n\r\n  private myStartDatePickerOptions: IMyOptions = {\r\n    // other options...\r\n    dateFormat: \"mm-dd-yyyy\",\r\n    openSelectorOnInputClick: true,\r\n    showInputField: true,\r\n    showClearDateBtn: false,\r\n    editableMonthAndYear: false,\r\n    editableDateField: false,\r\n    disableUntil: { year: null, month: null, day: null },\r\n    selectionTxtFontSize: \"13px\",\r\n    alignSelectorRight: false,\r\n    disableSince: {\r\n      year: new Date().getFullYear(),\r\n      month: new Date().getMonth() + 1,\r\n      day: new Date().getDate() + 1,\r\n    },\r\n  };\r\n  private myEndDatePickerOptions: IMyOptions = {\r\n    // other options...\r\n    dateFormat: \"mm-dd-yyyy\",\r\n    openSelectorOnInputClick: true,\r\n    showInputField: true,\r\n    showClearDateBtn: false,\r\n    editableMonthAndYear: false,\r\n    editableDateField: false,\r\n    disableUntil: { year: null, month: null, day: null },\r\n    selectionTxtFontSize: \"13px\",\r\n    alignSelectorRight: true,\r\n    disableSince: {\r\n      year: new Date().getFullYear(),\r\n      month: new Date().getMonth() + 1,\r\n      day: new Date().getDate() + 1,\r\n    },\r\n  };\r\n\r\n  private ExpiryDatePickerOptions: IMyOptions = {\r\n    // other options...\r\n    dateFormat: \"mm-dd-yyyy\",\r\n    openSelectorOnInputClick: true,\r\n    showInputField: true,\r\n    showClearDateBtn: false,\r\n    editableMonthAndYear: false,\r\n    editableDateField: false,\r\n    disableUntil: {\r\n      year: new Date().getFullYear(),\r\n      month: new Date().getMonth(),\r\n      day: new Date().getDate() - 1,\r\n    },\r\n    selectionTxtFontSize: \"13px\",\r\n    alignSelectorRight: true,\r\n    disableSince: { year: 0, month: 0, day: 0 },\r\n  };\r\n\r\n  onStartDateChanged(event: IMyDateModel) {\r\n    // event properties are: event.date, event.jsdate, event.formatted and event.epoc\r\n    if (event.date.day !== 0) {\r\n      this.myEndDatePickerOptions.disableUntil.year = event.date.year;\r\n      this.myEndDatePickerOptions.disableUntil.month = event.date.month;\r\n      this.myEndDatePickerOptions.disableUntil.day = event.date.day - 1;\r\n    } else {\r\n      this.myEndDatePickerOptions.disableUntil.year = null;\r\n      this.myEndDatePickerOptions.disableUntil.month = null;\r\n      this.myEndDatePickerOptions.disableUntil.day = null;\r\n    }\r\n  }\r\n  onEndDateChanged(event: IMyDateModel) {\r\n    // event properties are: event.date, event.jsdate, event.formatted and event.epoc\r\n    if (event.date.day !== 0) {\r\n      this.myStartDatePickerOptions.disableSince.year = event.date.year;\r\n      this.myStartDatePickerOptions.disableSince.month = event.date.month;\r\n      this.myStartDatePickerOptions.disableSince.day = event.date.day + 1;\r\n    } else {\r\n      this.myStartDatePickerOptions.disableSince.year =\r\n        new Date().getFullYear();\r\n      this.myStartDatePickerOptions.disableSince.month =\r\n        new Date().getMonth() + 1;\r\n      this.myStartDatePickerOptions.disableSince.day = new Date().getDate() + 1;\r\n    }\r\n  }\r\n\r\n  private saasDatePickerOptions: IMyOptions = {\r\n    // other options...\r\n    dateFormat: \"mm-dd-yyyy\",\r\n    openSelectorOnInputClick: true,\r\n    showInputField: true,\r\n    showClearDateBtn: false,\r\n    editableMonthAndYear: false,\r\n    editableDateField: false,\r\n    disableUntil: { year: null, month: null, day: null },\r\n    selectionTxtFontSize: \"13px\",\r\n    alignSelectorRight: true,\r\n    openSelectorTopOfInput: true,\r\n    disableSince: { year: 0, month: 0, day: 0 },\r\n  };\r\n\r\n  /// date picker for promo code //\r\n\r\n  private promocodeStartDatePickerOptions: IMyOptions = {\r\n    // other options...\r\n    dateFormat: \"mm-dd-yyyy\",\r\n    openSelectorOnInputClick: true,\r\n    showInputField: true,\r\n    showClearDateBtn: false,\r\n    editableMonthAndYear: false,\r\n    editableDateField: false,\r\n    disableUntil: { year: null, month: null, day: null },\r\n    selectionTxtFontSize: \"13px\",\r\n    alignSelectorRight: true,\r\n    disableSince: { year: 0, month: 0, day: 0 },\r\n  };\r\n\r\n  private promocodeEndDatePickerOptions: IMyOptions = {\r\n    // other options...\r\n    dateFormat: \"mm-dd-yyyy\",\r\n    openSelectorOnInputClick: true,\r\n    showInputField: true,\r\n    showClearDateBtn: false,\r\n    editableMonthAndYear: false,\r\n    editableDateField: false,\r\n    disableUntil: {\r\n      year: new Date().getFullYear(),\r\n      month: new Date().getMonth() + 1,\r\n      day: new Date().getDate() - 1,\r\n    },\r\n    selectionTxtFontSize: \"13px\",\r\n    alignSelectorRight: true,\r\n    disableSince: { year: 0, month: 0, day: 0 },\r\n  };\r\n\r\n  promocodeOnStartDateChanged(event: IMyDateModel) {\r\n    // event properties are: event.date, event.jsdate, event.formatted and event.epoc\r\n    if (event.date.day !== 0) {\r\n      this.promocodeEndDatePickerOptions.disableUntil.year = event.date.year;\r\n      this.promocodeEndDatePickerOptions.disableUntil.month = event.date.month;\r\n      this.promocodeEndDatePickerOptions.disableUntil.day = event.date.day - 1;\r\n    } else {\r\n      this.promocodeEndDatePickerOptions.disableUntil.year = null;\r\n      this.promocodeEndDatePickerOptions.disableUntil.month = null;\r\n      this.promocodeEndDatePickerOptions.disableUntil.day = null;\r\n    }\r\n  }\r\n  promocodeOnEndDateChanged(event: IMyDateModel) {\r\n    // event properties are: event.date, event.jsdate, event.formatted and event.epoc\r\n    if (event.date.day !== 0) {\r\n      this.promocodeStartDatePickerOptions.disableSince.year = event.date.year;\r\n      this.promocodeStartDatePickerOptions.disableSince.month =\r\n        event.date.month;\r\n      this.promocodeStartDatePickerOptions.disableSince.day =\r\n        event.date.day + 1;\r\n    } else {\r\n      this.promocodeStartDatePickerOptions.disableSince.year =\r\n        new Date().getFullYear();\r\n      this.promocodeStartDatePickerOptions.disableSince.month =\r\n        new Date().getMonth() + 1;\r\n      this.promocodeStartDatePickerOptions.disableSince.day =\r\n        new Date().getDate() + 1;\r\n    }\r\n  }\r\n\r\n  ////\r\n\r\n  number_validation(evt) {\r\n    var charCode = evt.which ? evt.which : evt.keyCode;\r\n    if (charCode > 31 && (charCode < 48 || charCode > 57)) {\r\n      if (charCode == 46) {\r\n        return true;\r\n      } else {\r\n        return false;\r\n      }\r\n    }\r\n    return true;\r\n  }\r\n\r\n  number_validation1(evt) {\r\n    var charCode = evt.which ? evt.which : evt.keyCode;\r\n    if (charCode > 31 && (charCode < 48 || charCode > 57)) {\r\n      if (charCode == 46 || charCode == 45) {\r\n        return true;\r\n      } else {\r\n        return false;\r\n      }\r\n    }\r\n    return true;\r\n  }\r\n\r\n  location_validation(evt) {\r\n    var charCode = evt.which ? evt.which : evt.keyCode;\r\n    if (charCode > 31 && (charCode < 48 || charCode > 57)) {\r\n      if (charCode == 46 || charCode == 45) {\r\n        return true;\r\n      } else {\r\n        return false;\r\n      }\r\n    }\r\n    return true;\r\n  }\r\n\r\n  get_image(image_url): string {\r\n    return this.height && this.width\r\n      ? \"https://admin.appemporio.ch/resize_image?width=\" +\r\n          this.width +\r\n          \"&height=\" +\r\n          this.height +\r\n          \"&format=webp&image=\" +\r\n          this.CONSTANT.IMAGE_BASE_URL +\r\n          image_url\r\n      : null;\r\n  }\r\n\r\n  clear_height_width() {\r\n    this.height = this.width = undefined;\r\n  }\r\n\r\n  price_validation(evt, price) {\r\n    var charCode = evt.which ? evt.which : evt.keyCode;\r\n    price = price.toString();\r\n    price = price.split(\".\");\r\n    if (price[0] <= price_validation.MAX_PRICE) {\r\n      if (price[1] == undefined) {\r\n        if (charCode > 31 && (charCode < 48 || charCode > 57)) {\r\n          if (charCode == 46 && price[0] > 1) {\r\n            return true;\r\n          }\r\n          return false;\r\n        }\r\n        return true;\r\n      } else {\r\n        if (price[1] <= price_validation.MAX_PRICE_AFTER_POINT) {\r\n          if (charCode > 31 && (charCode < 48 || charCode > 57)) {\r\n            return false;\r\n          }\r\n          return true;\r\n        } else {\r\n          if (charCode == 8) {\r\n            return true;\r\n          }\r\n          return false;\r\n        }\r\n      }\r\n    } else {\r\n      if (price[1] != undefined) {\r\n        if (price[1] <= price_validation.MAX_PRICE_AFTER_POINT) {\r\n          if (charCode > 31 && (charCode < 48 || charCode > 57)) {\r\n            return false;\r\n          }\r\n          return true;\r\n        } else {\r\n          if (charCode == 8) {\r\n            return true;\r\n          }\r\n          return false;\r\n        }\r\n      } else {\r\n        if (charCode == 46 || charCode == 8) {\r\n          return true;\r\n        }\r\n        return false;\r\n      }\r\n    }\r\n  }\r\n\r\n  getIDFromEmailToken(email_token) {\r\n    var server_token = \"\",\r\n      id = \"\",\r\n      milli = \"\";\r\n    var milli_seconds = 0;\r\n    var length = 30; // 13 milli seconds so * 2 => 26\r\n\r\n    var milli_token = email_token.substr(0, length);\r\n    var id_token = email_token.substr(length);\r\n\r\n    for (var i = 0; i < length; i++) {\r\n      if (i % 2 == 0) {\r\n        milli = milli + milli_token.charAt(i);\r\n      } else {\r\n        server_token = server_token + milli_token.charAt(i);\r\n      }\r\n    }\r\n\r\n    milli = milli.split(\"\").reverse().join(\"\");\r\n    milli_seconds = parseInt(milli);\r\n\r\n    length = id_token.length;\r\n    for (var i = 0; i < length; i++) {\r\n      if (i % 2 == 0) {\r\n        id = id + id_token.charAt(i);\r\n      } else {\r\n        server_token = server_token + id_token.charAt(i);\r\n      }\r\n    }\r\n    return { id: id, server_token: server_token, milli_seconds: milli_seconds };\r\n  }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/helper.ts","import {NgModule} from \"@angular/core\";\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport {FooterComponent} from \"./footer.component\";\r\n\r\n@NgModule({\r\n    declarations: [FooterComponent],\r\n    imports     : [BrowserModule],\r\n    exports     : [FooterComponent],\r\n})\r\n\r\nexport class FooterModule {}\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/common/admin/footer/footer.module.ts","var global    = require('./_global')\n  , core      = require('./_core')\n  , hide      = require('./_hide')\n  , redefine  = require('./_redefine')\n  , ctx       = require('./_ctx')\n  , PROTOTYPE = 'prototype';\n\nvar $export = function(type, name, source){\n  var IS_FORCED = type & $export.F\n    , IS_GLOBAL = type & $export.G\n    , IS_STATIC = type & $export.S\n    , IS_PROTO  = type & $export.P\n    , IS_BIND   = type & $export.B\n    , target    = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE]\n    , exports   = IS_GLOBAL ? core : core[name] || (core[name] = {})\n    , expProto  = exports[PROTOTYPE] || (exports[PROTOTYPE] = {})\n    , key, own, out, exp;\n  if(IS_GLOBAL)source = name;\n  for(key in source){\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    // export native or passed\n    out = (own ? target : source)[key];\n    // bind timers to global for call from export context\n    exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // extend global\n    if(target)redefine(target, key, out, type & $export.U);\n    // export\n    if(exports[key] != out)hide(exports, key, exp);\n    if(IS_PROTO && expProto[key] != out)expProto[key] = out;\n  }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library` \nmodule.exports = $export;\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_export.js\n// module id = 10\n// module chunks = 0","\"use strict\";\nfunction __export(m) {\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nvar core_1 = require(\"@angular/core\");\nvar common_1 = require(\"@angular/common\");\nvar DropdownNotClosableZone_1 = require(\"./DropdownNotClosableZone\");\nvar Dropdown_1 = require(\"./Dropdown\");\nvar DropdownOpen_1 = require(\"./DropdownOpen\");\n__export(require(\"./DropdownNotClosableZone\"));\n__export(require(\"./Dropdown\"));\n__export(require(\"./DropdownOpen\"));\nvar DropdownModule = (function () {\n    function DropdownModule() {\n    }\n    DropdownModule.decorators = [\n        { type: core_1.NgModule, args: [{\n                    imports: [\n                        common_1.CommonModule\n                    ],\n                    declarations: [\n                        DropdownNotClosableZone_1.DropdownNotClosableZone,\n                        Dropdown_1.Dropdown,\n                        DropdownOpen_1.DropdownOpen,\n                    ],\n                    exports: [\n                        DropdownNotClosableZone_1.DropdownNotClosableZone,\n                        Dropdown_1.Dropdown,\n                        DropdownOpen_1.DropdownOpen,\n                    ]\n                },] },\n    ];\n    /** @nocollapse */\n    DropdownModule.ctorParameters = [];\n    return DropdownModule;\n}());\nexports.DropdownModule = DropdownModule;\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-dropdown/index.js\n// module id = 11\n// module chunks = 0","\"use strict\";\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar core_1 = require('@angular/core');\nvar ui_switch_component_1 = require('./ui-switch.component');\nvar UiSwitchModule = (function () {\n    function UiSwitchModule() {\n    }\n    UiSwitchModule = __decorate([\n        core_1.NgModule({\n            declarations: [ui_switch_component_1.UiSwitchComponent],\n            exports: [ui_switch_component_1.UiSwitchComponent]\n        }), \n        __metadata('design:paramtypes', [])\n    ], UiSwitchModule);\n    return UiSwitchModule;\n}());\nexports.UiSwitchModule = UiSwitchModule;\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/angular2-ui-switch/dist/index.js\n// module id = 12\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar map_1 = require('../../operator/map');\nObservable_1.Observable.prototype.map = map_1.map;\n//# sourceMappingURL=map.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/map.js\n// module id = 13\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar catch_1 = require('../../operator/catch');\nObservable_1.Observable.prototype.catch = catch_1._catch;\nObservable_1.Observable.prototype._catch = catch_1._catch;\n//# sourceMappingURL=catch.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/catch.js\n// module id = 14\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\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 === 'object') {\n                    if (destinationOrNext instanceof Subscriber) {\n                        this.destination = destinationOrNext;\n                        this.destination.add(this);\n                    }\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 () { return this; };\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        }\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            }\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                }\n                else {\n                    this.__tryOrSetError(_parent, this._error, err);\n                    this.unsubscribe();\n                }\n            }\n            else if (!_parent.syncErrorThrowable) {\n                this.unsubscribe();\n                throw err;\n            }\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                }\n                else {\n                    this.__tryOrSetError(_parent, this._complete);\n                    this.unsubscribe();\n                }\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        }\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        }\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\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/Subscriber.js\n// module id = 15\n// module chunks = 0","\"use strict\";\nfunction __export(m) {\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\n__export(require(\"./dist/my-date-picker.module\"));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/mydatepicker/index.js\n// module id = 16\n// module chunks = 0","import {NgModule} from \"@angular/core\";\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport {FooterComponent} from \"./footer.component\";\r\n\r\n@NgModule({\r\n    declarations: [FooterComponent],\r\n    imports     : [BrowserModule],\r\n    exports     : [FooterComponent],\r\n})\r\n\r\nexport class FooterModule {}\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/common/store/footer/footer.module.ts","import { Component, NgZone, ElementRef } from \"@angular/core\";\r\nimport { Http } from \"@angular/http\";\r\nimport { Data } from \"./data\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { TokenService } from \"angular2-auth\";\r\nimport { price_validation } from \"../constant\";\r\nimport { ToastsManager } from \"ng2-toastr/ng2-toastr\";\r\nimport { IMyOptions, IMyDateModel } from \"mydatepicker\";\r\nimport { Router_id } from \"./routing_hidden_id\";\r\nimport {\r\n  ERROR_CODE_CONSTANT,\r\n  DATE_FORMAT,\r\n  CONSTANT,\r\n  MONTH,\r\n  WEEK,\r\n  DAY,\r\n  PROMO_FOR_ID,\r\n  PROMO_FOR_STRING,\r\n  PROMO_FOR,\r\n  PROMO_RECURSION_ID,\r\n  PROMO_RECURSION_STRING,\r\n  PROMO_RECURSION,\r\n  ORDER_STATE,\r\n  TIMEOUT,\r\n  ORDER_STATUS_ID,\r\n  ORDER_CANCELLATION_CHARGE_TYPE,\r\n  ADMIN_DATA_ID,\r\n  IMAGE_RATIO,\r\n} from \"../constant\";\r\nimport { TranslateService } from \"ng2-translate\";\r\nimport {\r\n  title,\r\n  button,\r\n  heading_title,\r\n  status,\r\n  lable_title,\r\n  message,\r\n  menu_title,\r\n} from \"./store/store_panel_string\";\r\nimport { ERROR_CODE } from \"./store/store_panel_error_message \";\r\nimport { MESSAGE_CODE } from \"./store/store_panel_success_message\";\r\nimport { validation_message } from \"./store/store_panel_validation_message\";\r\nimport { GET_METHOD, POST_METHOD } from \"./store/store_http_methods\";\r\nimport { StoreCart } from \"./store/cart\";\r\nimport { Response } from \"@angular/http\";\r\nimport { InterceptedHttp } from \"./http.interceptor\";\r\n\r\n@Component({\r\n  selector: \"helper\",\r\n})\r\nexport class Helper {\r\n  ///// for constant ////////////\r\n  public ADMIN_DATA_ID: any = ADMIN_DATA_ID;\r\n  public error_code: any = ERROR_CODE_CONSTANT;\r\n  public ORDER_STATE: any = ORDER_STATE;\r\n  public TIMEOUT: any = TIMEOUT;\r\n  public ORDER_STATUS_ID: any = ORDER_STATUS_ID;\r\n  public title: any = title;\r\n  public button: any = button;\r\n  public heading_title: any = heading_title;\r\n  public ERROR_CODE: any = ERROR_CODE;\r\n  public MESSAGE_CODE: any = MESSAGE_CODE;\r\n  public status: any = status;\r\n  public messages: any = message;\r\n  public menu_title: any = menu_title;\r\n  public image_ratio: any = IMAGE_RATIO;\r\n  public validation_message: any = validation_message;\r\n  public ORDER_CANCELLATION_CHARGE_TYPE: any = ORDER_CANCELLATION_CHARGE_TYPE;\r\n\r\n  public GET_METHOD: any = GET_METHOD;\r\n  public POST_METHOD: any = POST_METHOD;\r\n  public lable_title: any = lable_title;\r\n\r\n  public PROMO_FOR_ID: any = PROMO_FOR_ID;\r\n  public PROMO_FOR_STRING: any = PROMO_FOR_STRING;\r\n  public PROMO_FOR: any = PROMO_FOR;\r\n\r\n  public PROMO_RECURSION_ID: any = PROMO_RECURSION_ID;\r\n  public PROMO_RECURSION_STRING: any = PROMO_RECURSION_STRING;\r\n  public PROMO_RECURSION: any = PROMO_RECURSION;\r\n\r\n  private log_boolean: Boolean = true;\r\n\r\n  public WEEK: any = WEEK;\r\n  public MONTH: any = MONTH;\r\n  public DAY: any = DAY;\r\n  public CONSTANT: any = CONSTANT;\r\n  public DATE_FORMAT: any = DATE_FORMAT;\r\n  width: number;\r\n  height: number;\r\n\r\n  constructor(\r\n    public trans: TranslateService,\r\n    public http: InterceptedHttp,\r\n    public ngZone: NgZone,\r\n    public user_cart: StoreCart,\r\n    public route: ActivatedRoute,\r\n    public router_id: Router_id,\r\n    public toastr: ToastsManager,\r\n    public router: Router,\r\n    public elementRef: ElementRef,\r\n    public data: Data,\r\n    public tokenService: TokenService\r\n  ) {}\r\n\r\n  message() {\r\n    if (this.data.storage.message !== \"\") {\r\n      this.toastr.dispose();\r\n      if (this.data.storage.class == \"alert-info\") {\r\n        var a = this.data.storage.message;\r\n        this.toastr.success(this.data.storage.message, null, {\r\n          toastLife: TIMEOUT.TOASTER_NOTIFICATION,\r\n        });\r\n      } else if (this.data.storage.class == \"alert-danger\") {\r\n        if (\r\n          this.data.storage.code == this.error_code.TOKEN_EXPIRED ||\r\n          this.data.storage.code == this.error_code.STORE_DATA_NOT_FOUND\r\n        ) {\r\n          this.router.navigate([\"store/logout\"]);\r\n        }\r\n        this.toastr.error(this.data.storage.message, null, {\r\n          toastLife: TIMEOUT.TOASTER_NOTIFICATION,\r\n        });\r\n      }\r\n      this.data.storage = {\r\n        code: \"\",\r\n        message: \"\",\r\n        class: \"\",\r\n      };\r\n    }\r\n  }\r\n\r\n  redirect_to_invoice() {\r\n    this.router.navigate([\"store/invoice\"]);\r\n  }\r\n\r\n  string_log(key, value) {\r\n    if (this.log_boolean) {\r\n      console.log(key + \": \" + value);\r\n    }\r\n  }\r\n\r\n  json_log(json) {\r\n    if (this.log_boolean) {\r\n      console.log(json);\r\n    }\r\n  }\r\n\r\n  http_status(error) {\r\n    if (error.status === 500) {\r\n      console.log(\"Internal Server Error\");\r\n    } else if (error.status === 502) {\r\n      console.log(\"Bad Gateway\");\r\n    } else if (error.status === 404) {\r\n      console.log(\"Url Not Found\");\r\n    } else if (error.status === 503) {\r\n      console.log(\"Service Unavailable\");\r\n    } else if (error.status === 504) {\r\n      console.log(\"Gateway Timeout\");\r\n    } else if (error.status === 408) {\r\n      console.log(\"Request Timeout\");\r\n    } else if (error.status === 413) {\r\n      console.log(\"Request Entity To Large\");\r\n    }\r\n  }\r\n\r\n  get_image(image_url): string {\r\n    return this.height && this.width\r\n      ? \"resize_image?width=\" +\r\n          this.width +\r\n          \"&height=\" +\r\n          this.height +\r\n          \"&format=webp&image=\" +\r\n          this.CONSTANT.IMAGE_BASE_URL +\r\n          image_url\r\n      : null;\r\n  }\r\n\r\n  clear_height_width() {\r\n    this.height = this.width = undefined;\r\n  }\r\n\r\n  increase_qty(product_index, item_index) {\r\n    this.user_cart.cart_data.cart[product_index].items[item_index].quantity++;\r\n    let qty =\r\n      this.user_cart.cart_data.cart[product_index].items[item_index].quantity;\r\n    let item_price =\r\n      this.user_cart.cart_data.cart[product_index].items[item_index].item_price;\r\n    let total_specification_price =\r\n      this.user_cart.cart_data.cart[product_index].items[item_index]\r\n        .total_specification_price;\r\n\r\n    let formule_list =\r\n      this.user_cart.cart_data.cart[product_index].items[item_index]\r\n        .formule_list;\r\n    if (formule_list && formule_list.length > 0) {\r\n      formule_list.forEach((formule: any) => {\r\n        if (formule.price) {\r\n          //   total_specification_price = total_specification_price + Number(formule.price);\r\n        }\r\n      });\r\n    }\r\n\r\n    this.user_cart.cart_data.cart[product_index].items[\r\n      item_index\r\n    ].total_item_and_specification_price =\r\n      (item_price + total_specification_price) * qty;\r\n\r\n    this.calculateTotalAmount();\r\n  }\r\n\r\n  decrease_qty(product_index, item_index) {\r\n    if (\r\n      this.user_cart.cart_data.cart[product_index].items[item_index].quantity >\r\n      1\r\n    ) {\r\n      this.user_cart.cart_data.cart[product_index].items[item_index].quantity--;\r\n\r\n      let qty =\r\n        this.user_cart.cart_data.cart[product_index].items[item_index].quantity;\r\n      let item_price =\r\n        this.user_cart.cart_data.cart[product_index].items[item_index]\r\n          .item_price;\r\n      let total_specification_price =\r\n        this.user_cart.cart_data.cart[product_index].items[item_index]\r\n          .total_specification_price;\r\n\r\n      let formule_list =\r\n        this.user_cart.cart_data.cart[product_index].items[item_index]\r\n          .formule_list;\r\n      if (formule_list && formule_list.length > 0) {\r\n        formule_list.forEach((formule: any) => {\r\n          if (formule.price) {\r\n            // total_specification_price = total_specification_price + Number(formule.price);\r\n          }\r\n        });\r\n      }\r\n\r\n      this.user_cart.cart_data.cart[product_index].items[\r\n        item_index\r\n      ].total_item_and_specification_price =\r\n        (item_price + total_specification_price) * qty;\r\n      this.calculateTotalAmount();\r\n    }\r\n  }\r\n\r\n  add_to_cart() {\r\n    var store = JSON.parse(localStorage.getItem(\"store\"));\r\n    if (store !== null) {\r\n      this.user_cart.destination_address.location = store.location;\r\n      this.user_cart.destination_address.address = store.address;\r\n      if (!this.user_cart.cart_data.destination_addresses) {\r\n        this.user_cart.cart_data.destination_addresses = [];\r\n      }\r\n      this.user_cart.cart_data.destination_addresses.push(\r\n        this.user_cart.destination_address\r\n      );\r\n\r\n      this.user_cart.pickup_address.location = store.location;\r\n      this.user_cart.pickup_address.address = store.address;\r\n      this.user_cart.pickup_address.user_details.email = store.email;\r\n      this.user_cart.pickup_address.user_details.country_phone_code =\r\n        store.country_phone_code;\r\n      this.user_cart.pickup_address.user_details.phone = store.phone;\r\n      this.user_cart.pickup_address.user_details.name = store.name;\r\n      this.user_cart.cart_data.pickup_addresses.push(\r\n        this.user_cart.pickup_address\r\n      );\r\n    }\r\n\r\n    let json = {\r\n      user_id: \"\",\r\n      server_token: \"\",\r\n      user_type: 1,\r\n      store_id: this.user_cart.cart_data.selectedStoreId,\r\n      cart_unique_token: this.user_cart.cart_unique_token,\r\n      order_details: this.user_cart.cart_data.cart,\r\n      destination_addresses: this.user_cart.cart_data.destination_addresses,\r\n      pickup_addresses: this.user_cart.cart_data.pickup_addresses,\r\n    };\r\n\r\n    this.http\r\n      .post(this.POST_METHOD.ADD_ITEM_IN_CART, json)\r\n      .map((res_data: Response) => res_data.json())\r\n      .subscribe(\r\n        (res_data) => {\r\n          if (res_data.success) {\r\n            this.user_cart.cart_data.cart_id = res_data.cart_id;\r\n            this.user_cart.cart_data.city_id = res_data.city_id;\r\n            this.data.storage = {\r\n              message: this.MESSAGE_CODE[res_data.message],\r\n              class: \"alert-info\",\r\n            };\r\n            this.router.navigate([\"store/invoice\"]);\r\n          } else {\r\n            this.data.storage = {\r\n              message: this.ERROR_CODE[res_data.error_code],\r\n              class: \"alert-danger\",\r\n            };\r\n          }\r\n          this.message();\r\n        },\r\n        (error: any) => {\r\n          this.http_status(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  create_order_without_item() {\r\n    this.router.navigate([\"store/create_order_without_item\"]);\r\n  }\r\n\r\n  calculateTotalAmount() {\r\n    let total = 0;\r\n    this.user_cart.cart_data.cart.forEach((product) => {\r\n      product.items.forEach((item) => {\r\n        total = total + item.total_item_and_specification_price;\r\n      });\r\n    });\r\n    this.user_cart.total_cart_amount = total;\r\n\r\n    if (this.user_cart.cart_data.cart.length == 0) {\r\n      this.clear_cart();\r\n    }\r\n  }\r\n\r\n  clear_cart() {\r\n    this.user_cart.cart_data = {\r\n      cart_id: null,\r\n      city_id: null,\r\n      deliveryAddress: \"\",\r\n      deliveryLatLng: [0, 0],\r\n      delivery_addresses: [],\r\n      cart: [],\r\n      selectedStoreId: null,\r\n      total_item: 0,\r\n    };\r\n    this.user_cart.total_cart_amount = 0;\r\n    this.user_cart.order_payment_id = null;\r\n  }\r\n\r\n  remove_from_cart(product_index, item_index) {\r\n    this.user_cart.cart_data.cart[product_index].items.splice(item_index, 1);\r\n    if (this.user_cart.cart_data.cart[product_index].items.length <= 0) {\r\n      this.user_cart.cart_data.cart.splice(product_index, 1);\r\n    }\r\n    this.user_cart.cart_data.total_item--;\r\n    this.calculateTotalAmount();\r\n  }\r\n\r\n  private myStartDatePickerOptions: IMyOptions = {\r\n    // other options...\r\n    dateFormat: \"mm-dd-yyyy\",\r\n    openSelectorOnInputClick: true,\r\n    showInputField: true,\r\n    showClearDateBtn: false,\r\n    editableMonthAndYear: true,\r\n    editableDateField: false,\r\n    disableUntil: { year: null, month: null, day: null },\r\n    selectionTxtFontSize: \"13px\",\r\n    alignSelectorRight: false,\r\n    disableSince: {\r\n      year: new Date().getFullYear(),\r\n      month: new Date().getMonth() + 1,\r\n      day: new Date().getDate() + 1,\r\n    },\r\n  };\r\n\r\n  private createOrderStartDatePickerOptions: IMyOptions = {\r\n    // other options...\r\n    dateFormat: \"mm-dd-yyyy\",\r\n    openSelectorOnInputClick: true,\r\n    showInputField: true,\r\n    showClearDateBtn: false,\r\n    editableMonthAndYear: false,\r\n    editableDateField: false,\r\n    disableUntil: { year: null, month: null, day: null },\r\n    selectionTxtFontSize: \"13px\",\r\n    alignSelectorRight: true,\r\n    disableSince: { year: 0, month: 0, day: 0 },\r\n  };\r\n\r\n  private myBirthDatePickerOptions: IMyOptions = {\r\n    // other options...\r\n    dateFormat: \"mm-dd-yyyy\",\r\n    openSelectorOnInputClick: true,\r\n    showInputField: true,\r\n    showClearDateBtn: false,\r\n    editableMonthAndYear: true,\r\n    editableDateField: false,\r\n    disableUntil: { year: null, month: null, day: null },\r\n    selectionTxtFontSize: \"13px\",\r\n    alignSelectorRight: false,\r\n    disableSince: {\r\n      year: new Date().getFullYear() - 13,\r\n      month: new Date().getMonth() + 1,\r\n      day: new Date().getDate() + 1,\r\n    },\r\n  };\r\n\r\n  private myEndDatePickerOptions: IMyOptions = {\r\n    // other options...\r\n    dateFormat: \"mm-dd-yyyy\",\r\n    openSelectorOnInputClick: true,\r\n    showInputField: true,\r\n    showClearDateBtn: false,\r\n    editableMonthAndYear: false,\r\n    editableDateField: false,\r\n    disableUntil: { year: null, month: null, day: null },\r\n    selectionTxtFontSize: \"13px\",\r\n    alignSelectorRight: true,\r\n    disableSince: {\r\n      year: new Date().getFullYear(),\r\n      month: new Date().getMonth() + 1,\r\n      day: new Date().getDate() + 1,\r\n    },\r\n  };\r\n  private ExpiryDatePickerOptions: IMyOptions = {\r\n    // other options...\r\n    dateFormat: \"mm-dd-yyyy\",\r\n    openSelectorOnInputClick: true,\r\n    showInputField: true,\r\n    showClearDateBtn: false,\r\n    editableMonthAndYear: false,\r\n    editableDateField: false,\r\n    disableUntil: {\r\n      year: new Date().getFullYear(),\r\n      month: new Date().getMonth(),\r\n      day: new Date().getDate() - 1,\r\n    },\r\n    selectionTxtFontSize: \"13px\",\r\n    alignSelectorRight: true,\r\n    disableSince: { year: 0, month: 0, day: 0 },\r\n  };\r\n\r\n  onStartDateChanged(event: IMyDateModel) {\r\n    // event properties are: event.date, event.jsdate, event.formatted and event.epoc\r\n    if (event.date.day !== 0) {\r\n      this.myEndDatePickerOptions.disableUntil.year = event.date.year;\r\n      this.myEndDatePickerOptions.disableUntil.month = event.date.month;\r\n      this.myEndDatePickerOptions.disableUntil.day = event.date.day;\r\n    } else {\r\n      this.myEndDatePickerOptions.disableUntil.year = null;\r\n      this.myEndDatePickerOptions.disableUntil.month = null;\r\n      this.myEndDatePickerOptions.disableUntil.day = null;\r\n    }\r\n  }\r\n  onEndDateChanged(event: IMyDateModel) {\r\n    // event properties are: event.date, event.jsdate, event.formatted and event.epoc\r\n    if (event.date.day !== 0) {\r\n      this.myStartDatePickerOptions.disableSince.year = event.date.year;\r\n      this.myStartDatePickerOptions.disableSince.month = event.date.month;\r\n      this.myStartDatePickerOptions.disableSince.day = event.date.day;\r\n    } else {\r\n      this.myStartDatePickerOptions.disableSince.year =\r\n        new Date().getFullYear();\r\n      this.myStartDatePickerOptions.disableSince.month =\r\n        new Date().getMonth() + 1;\r\n      this.myStartDatePickerOptions.disableSince.day = new Date().getDate() + 1;\r\n    }\r\n  }\r\n\r\n  /// date picker for promo code //\r\n\r\n  private saasDatePickerOptions: IMyOptions = {\r\n    // other options...\r\n    dateFormat: \"mm-dd-yyyy\",\r\n    openSelectorOnInputClick: true,\r\n    showInputField: true,\r\n    showClearDateBtn: false,\r\n    editableMonthAndYear: false,\r\n    editableDateField: false,\r\n    disableUntil: {\r\n      year: new Date().getFullYear(),\r\n      month: new Date().getMonth() + 1,\r\n      day: new Date().getDate() - 1,\r\n    },\r\n    selectionTxtFontSize: \"13px\",\r\n    alignSelectorRight: true,\r\n    disableSince: { year: 0, month: 0, day: 0 },\r\n  };\r\n  private promocodeStartDatePickerOptions: IMyOptions = {\r\n    // other options...\r\n    dateFormat: \"mm-dd-yyyy\",\r\n    openSelectorOnInputClick: true,\r\n    showInputField: true,\r\n    showClearDateBtn: false,\r\n    editableMonthAndYear: false,\r\n    editableDateField: false,\r\n    disableUntil: {\r\n      year: new Date().getFullYear(),\r\n      month: new Date().getMonth() + 1,\r\n      day: new Date().getDate() - 1,\r\n    },\r\n    selectionTxtFontSize: \"13px\",\r\n    alignSelectorRight: true,\r\n    disableSince: { year: 0, month: 0, day: 0 },\r\n  };\r\n  private promocodeEndDatePickerOptions: IMyOptions = {\r\n    // other options...\r\n    dateFormat: \"mm-dd-yyyy\",\r\n    openSelectorOnInputClick: true,\r\n    showInputField: true,\r\n    showClearDateBtn: false,\r\n    editableMonthAndYear: false,\r\n    editableDateField: false,\r\n    disableUntil: {\r\n      year: new Date().getFullYear(),\r\n      month: new Date().getMonth() + 1,\r\n      day: new Date().getDate() - 1,\r\n    },\r\n    selectionTxtFontSize: \"13px\",\r\n    alignSelectorRight: true,\r\n    disableSince: { year: 0, month: 0, day: 0 },\r\n  };\r\n\r\n  promocodeOnStartDateChanged(event: IMyDateModel) {\r\n    // event properties are: event.date, event.jsdate, event.formatted and event.epoc\r\n    if (event.date.day !== 0) {\r\n      this.promocodeEndDatePickerOptions.disableUntil.year = event.date.year;\r\n      this.promocodeEndDatePickerOptions.disableUntil.month = event.date.month;\r\n      this.promocodeEndDatePickerOptions.disableUntil.day = event.date.day - 1;\r\n    } else {\r\n      this.promocodeEndDatePickerOptions.disableUntil.year = null;\r\n      this.promocodeEndDatePickerOptions.disableUntil.month = null;\r\n      this.promocodeEndDatePickerOptions.disableUntil.day = null;\r\n    }\r\n  }\r\n  promocodeOnEndDateChanged(event: IMyDateModel) {\r\n    // event properties are: event.date, event.jsdate, event.formatted and event.epoc\r\n    if (event.date.day !== 0) {\r\n      this.promocodeStartDatePickerOptions.disableSince.year = event.date.year;\r\n      this.promocodeStartDatePickerOptions.disableSince.month =\r\n        event.date.month;\r\n      this.promocodeStartDatePickerOptions.disableSince.day =\r\n        event.date.day + 1;\r\n    } else {\r\n      this.promocodeStartDatePickerOptions.disableSince.year =\r\n        new Date().getFullYear();\r\n      this.promocodeStartDatePickerOptions.disableSince.month =\r\n        new Date().getMonth() + 1;\r\n      this.promocodeStartDatePickerOptions.disableSince.day =\r\n        new Date().getDate() + 1;\r\n    }\r\n  }\r\n\r\n  ////\r\n\r\n  number_validation(evt) {\r\n    var charCode = evt.which ? evt.which : evt.keyCode;\r\n    if (charCode > 31 && (charCode < 48 || charCode > 57)) {\r\n      if (charCode == 46) {\r\n        return true;\r\n      } else {\r\n        return false;\r\n      }\r\n    }\r\n    return true;\r\n  }\r\n\r\n  location_validation(evt) {\r\n    var charCode = evt.which ? evt.which : evt.keyCode;\r\n    if (charCode > 31 && (charCode < 48 || charCode > 57)) {\r\n      if (charCode == 46 || charCode == 45) {\r\n        return true;\r\n      } else {\r\n        return false;\r\n      }\r\n    }\r\n    return true;\r\n  }\r\n\r\n  price_validation(evt, price) {\r\n    var charCode = evt.which ? evt.which : evt.keyCode;\r\n    price = price.toString();\r\n    price = price.split(\".\");\r\n    if (price[0] <= price_validation.MAX_PRICE) {\r\n      if (price[1] == undefined) {\r\n        if (charCode > 31 && (charCode < 48 || charCode > 57)) {\r\n          if (charCode == 46 && price[0] > 1) {\r\n            return true;\r\n          }\r\n          return false;\r\n        }\r\n        return true;\r\n      } else {\r\n        if (price[1] <= price_validation.MAX_PRICE_AFTER_POINT) {\r\n          if (charCode > 31 && (charCode < 48 || charCode > 57)) {\r\n            return false;\r\n          }\r\n          return true;\r\n        } else {\r\n          if (charCode == 8) {\r\n            return true;\r\n          }\r\n          return false;\r\n        }\r\n      }\r\n    } else {\r\n      if (price[1] != undefined) {\r\n        if (price[1] <= price_validation.MAX_PRICE_AFTER_POINT) {\r\n          if (charCode > 31 && (charCode < 48 || charCode > 57)) {\r\n            return false;\r\n          }\r\n          return true;\r\n        } else {\r\n          if (charCode == 8) {\r\n            return true;\r\n          }\r\n          return false;\r\n        }\r\n      } else {\r\n        if (charCode == 46 || charCode == 8) {\r\n          return true;\r\n        }\r\n        return false;\r\n      }\r\n    }\r\n  }\r\n\r\n  downloadFile(data: Response) {\r\n    var blob = new Blob([data], { type: \"text/csv\" });\r\n    var url = window.URL.createObjectURL(blob);\r\n    var element = document.createElement(\"a\");\r\n    element.setAttribute(\"href\", url);\r\n    element.setAttribute(\"download\", url + \".csv\");\r\n    element.style.display = \"none\";\r\n    document.body.appendChild(element);\r\n    element.click();\r\n    document.body.removeChild(element);\r\n  }\r\n\r\n  getIDFromEmailToken(email_token) {\r\n    var server_token = \"\",\r\n      id = \"\",\r\n      milli = \"\";\r\n    var milli_seconds = 0;\r\n    var length = 30; // 13 milli seconds so * 2 => 26\r\n\r\n    var milli_token = email_token.substr(0, length);\r\n    var id_token = email_token.substr(length);\r\n\r\n    for (var i = 0; i < length; i++) {\r\n      if (i % 2 == 0) {\r\n        milli = milli + milli_token.charAt(i);\r\n      } else {\r\n        server_token = server_token + milli_token.charAt(i);\r\n      }\r\n    }\r\n\r\n    milli = milli.split(\"\").reverse().join(\"\");\r\n    milli_seconds = parseInt(milli);\r\n\r\n    length = id_token.length;\r\n    for (var i = 0; i < length; i++) {\r\n      if (i % 2 == 0) {\r\n        id = id + id_token.charAt(i);\r\n      } else {\r\n        server_token = server_token + id_token.charAt(i);\r\n      }\r\n    }\r\n    return { id: id, server_token: server_token, milli_seconds: milli_seconds };\r\n  }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store_helper.ts","/**\n * Module dependencies.\n */\nvar os = require('os');\nvar lodashGet = require('lodash.get');\nvar lodashFlatten = require('lodash.flatten');\nvar lodashUniq = require('lodash.uniq');\nvar lodashSet = require('lodash.set');\nvar lodashCloneDeep = require('lodash.clonedeep');\nvar flatten = require('flat');\n\n/**\n * @name Json2CsvParams\n * @typedef {Object}\n * @property {Array} data - array of JSON objects\n * @property {Array} [fields] - see documentation for details\n * @property {String[]} [fieldNames] - names for fields at the same indexes. Must be same length as fields array\n *                                   (Optional. Maintained for backwards compatibility. Use fields config object for more features)\n * @property {String} [del=\",\"] - delimiter of columns\n * @property {String} [defaultValue=\"<empty>\"] - default value to use when missing data\n * @property {String} [quotes='\"'] - quotes around cell values and column names\n * @property {String} [doubleQuotes='\"\"'] - the value to replace double quotes in strings\n * @property {Boolean} [hasCSVColumnTitle=true] - determines whether or not CSV file will contain a title column\n * @property {String} [eol=''] - it gets added to each row of data\n * @property {String} [newLine] - overrides the default OS line ending (\\n on Unix \\r\\n on Windows)\n * @property {Boolean} [flatten=false] - flattens nested JSON using flat (https://www.npmjs.com/package/flat)\n * @property {String[]} [unwindPath] - similar to MongoDB's $unwind, Deconstructs an array field from the input JSON to output a row for each element\n * @property {Boolean} [excelStrings] - converts string data into normalized Excel style data\n * @property {Boolean} [includeEmptyRows=false] - includes empty rows\n * @property {Boolean} [withBOM=false] - includes BOM character at the beginning of the csv\n */\n\n/**\n * Main function that converts json to csv.\n *\n * @param {Json2CsvParams} params Function parameters containing data, fields,\n * delimiter (default is ','), hasCSVColumnTitle (default is true)\n * and default value (default is '')\n * @param {Function} [callback] Callback function\n *   if error, returning error in call back.\n *   if csv is created successfully, returning csv output to callback.\n */\nmodule.exports = function (params, callback) {\n  var hasCallback = typeof callback === 'function';\n  var err;\n\n  try {\n    checkParams(params);\n  } catch (err) {\n    if (hasCallback) {\n      return process.nextTick(function () {\n        callback(err);\n      });\n    } else {\n      throw err;\n    }\n  }\n\n  var titles = createColumnTitles(params);\n  var csv = createColumnContent(params, titles);\n\n  if (hasCallback) {\n    return process.nextTick(function () {\n      callback(null, csv);\n    });\n  } else {\n    return csv;\n  }\n};\n\n\n/**\n * Check passing params.\n *\n * Note that this modifies params.\n *\n * @param {Json2CsvParams} params Function parameters containing data, fields,\n * delimiter, default value, mark quotes and hasCSVColumnTitle\n */\nfunction checkParams(params) {\n  params.data = params.data || [];\n\n  // if data is an Object, not in array [{}], then just create 1 item array.\n  // So from now all data in array of object format.\n  if (!Array.isArray(params.data)) {\n    params.data = [params.data];\n  }\n\n  if (params.flatten) {\n    params.data = params.data.map(flatten);\n  }\n\n  // Set params.fields default to first data element's keys\n  if (!params.fields && (params.data.length === 0 || typeof params.data[0] !== 'object')) {\n    throw new Error('params should include \"fields\" and/or non-empty \"data\" array of objects');\n  }\n\n  if (!params.fields) {\n    var dataFields = params.data.map(function (item) {\n      return Object.keys(item);\n    });\n\n    dataFields = lodashFlatten(dataFields);\n    params.fields = lodashUniq(dataFields);\n  }\n\n\n  //#check fieldNames\n  if (params.fieldNames && params.fieldNames.length !== params.fields.length) {\n    throw new Error('fieldNames and fields should be of the same length, if fieldNames is provided.');\n  }\n\n  // Get fieldNames from fields\n  params.fieldNames = params.fields.map(function (field, i) {\n    if (params.fieldNames && typeof field === 'string') {\n      return params.fieldNames[i];\n    }\n    return (typeof field === 'string') ? field : (field.label || field.value);\n  });\n\n  //#check delimiter\n  params.del = params.del || ',';\n\n  //#check end of line character\n  params.eol = params.eol || '';\n\n  //#check quotation mark\n  params.quotes = typeof params.quotes === 'string' ? params.quotes : '\"';\n\n  //#check double quotes\n  params.doubleQuotes = typeof params.doubleQuotes === 'string' ? params.doubleQuotes : Array(3).join(params.quotes);\n\n  //#check default value\n  params.defaultValue = params.defaultValue;\n\n  //#check hasCSVColumnTitle, if it is not explicitly set to false then true.\n  params.hasCSVColumnTitle = params.hasCSVColumnTitle !== false;\n\n  //#check include empty rows, defaults to false\n  params.includeEmptyRows = params.includeEmptyRows || false;\n\n  //#check with BOM, defaults to false\n  params.withBOM = params.withBOM || false;\n\n  //#check unwindPath, defaults to empty array\n  params.unwindPath = params.unwindPath || [];\n\n  // if unwindPath is not in array [{}], then just create 1 item array.\n  if (!Array.isArray(params.unwindPath)) {\n    params.unwindPath = [params.unwindPath];\n  }\n}\n\n/**\n * Create the title row with all the provided fields as column headings\n *\n * @param {Json2CsvParams} params Function parameters containing data, fields and delimiter\n * @returns {String} titles as a string\n */\nfunction createColumnTitles(params) {\n  var str = '';\n\n  //if CSV has column title, then create it\n  if (params.hasCSVColumnTitle) {\n    params.fieldNames.forEach(function (element) {\n      if (str !== '') {\n        str += params.del;\n      }\n      str += JSON.stringify(element).replace(/\\\"/g, params.quotes);\n    });\n  }\n\n  return str;\n}\n\n/**\n * Replace the quotation marks of the field element if needed (can be a not string-like item)\n *\n * @param {string} stringifiedElement The field element after JSON.stringify()\n * @param {string} quotes The params.quotes value. At this point we know that is not equal to double (\")\n */\nfunction replaceQuotationMarks(stringifiedElement, quotes) {\n  var lastCharIndex = stringifiedElement.length - 1;\n\n  //check if it's an string-like element\n  if (stringifiedElement[0] === '\"' && stringifiedElement[lastCharIndex] === '\"') {\n    //split the stringified field element because Strings are immutable\n    var splitElement = stringifiedElement.split('');\n\n    //replace the quotation marks\n    splitElement[0] = quotes;\n    splitElement[lastCharIndex] = quotes;\n\n    //join again\n    stringifiedElement = splitElement.join('');\n  }\n\n  return stringifiedElement;\n}\n\n/**\n * Create the content column by column and row by row below the title\n *\n * @param {Object} params Function parameters containing data, fields and delimiter\n * @param {String} str Title row as a string\n * @returns {String} csv string\n */\nfunction createColumnContent(params, str) {\n  createDataRows(params.data, params.unwindPath).forEach(function (dataElement) {\n    //if null do nothing, if empty object without includeEmptyRows do nothing\n    if (dataElement && (Object.getOwnPropertyNames(dataElement).length > 0 || params.includeEmptyRows)) {\n      var line = '';\n      var eol = params.newLine || os.EOL || '\\n';\n\n      params.fields.forEach(function (fieldElement) {\n        var val;\n        var defaultValue = params.defaultValue;\n        var stringify = true;\n        if (typeof fieldElement === 'object' && 'default' in fieldElement) {\n          defaultValue = fieldElement.default;\n        }\n\n        if (fieldElement && (typeof fieldElement === 'string' || typeof fieldElement.value === 'string')) {\n          var path = (typeof fieldElement === 'string') ? fieldElement : fieldElement.value;\n          val = lodashGet(dataElement, path, defaultValue);\n        } else if (fieldElement && typeof fieldElement.value === 'function') {\n          var field = {\n            label: fieldElement.label,\n            default: fieldElement.default\n          };\n          val = fieldElement.value(dataElement, field, params.data);\n          if (fieldElement.stringify !== undefined) {\n            stringify = fieldElement.stringify;\n          }\n        }\n\n        if (val === null || val === undefined){\n          val = defaultValue;\n        }\n\n        if (val !== undefined) {\n          if (params.preserveNewLinesInValues && typeof val === 'string') {\n            val = val\n              .replace(/\\n/g, '\\u2028')\n              .replace(/\\r/g, '\\u2029');\n          }\n\n          var stringifiedElement = val;\n          if (stringify) {\n            stringifiedElement = JSON.stringify(val);\n          }\n\n          if (params.preserveNewLinesInValues && typeof val === 'string') {\n            stringifiedElement = stringifiedElement\n              .replace(/\\u2028/g, '\\n')\n              .replace(/\\u2029/g, '\\r');\n          }\n\n          if (typeof val === 'object') {\n            // In some cases (e.g. val is a Date), stringifiedElement is already a quoted string.\n            // Strip the leading and trailing quotes if so, so we don't end up double-quoting it\n            stringifiedElement = replaceQuotationMarks(stringifiedElement, '');\n\n            // If val is a normal object, we want to escape its JSON so any commas etc\n            // don't get interpreted as field separators\n            stringifiedElement = JSON.stringify(stringifiedElement);\n          }\n\n          if (params.quotes !== '\"') {\n            stringifiedElement = replaceQuotationMarks(stringifiedElement, params.quotes);\n          }\n\n          //JSON.stringify('\\\\') results in a string with two backslash\n          //characters in it. I.e. '\\\\\\\\'.\n          stringifiedElement = stringifiedElement.replace(/\\\\\\\\/g, '\\\\');\n\n          if (params.excelStrings && typeof val === 'string') {\n            stringifiedElement = '\"=\"' + stringifiedElement + '\"\"';\n          }\n\n          //Replace single quotes with double quotes.  Single quotes are preceeded by\n          //a backslash,  and it's not at the end of the stringifiedElement.\n          stringifiedElement = stringifiedElement.replace(/(\\\\\")(?=.)/g, params.doubleQuotes);\n\n          line += stringifiedElement;\n        }\n\n        line += params.del;\n      });\n\n      //remove last delimeter by its length\n      line = line.substring(0, line.length - params.del.length);\n\n      //Remove the final excess backslashes from the stringified value.\n      line = line.replace(/\\\\\\\\/g,'\\\\');\n\n      //If header exists, add it, otherwise, print only content\n      if (str !== '') {\n        str += eol + line + params.eol;\n      } else {\n        str = line + params.eol;\n      }\n    }\n  });\n  // Add BOM character if required\n  if (params.withBOM) {\n    str = '\\ufeff' + str;\n  }\n\n  return str;\n}\n\n/**\n * Performs the unwind recursively in specified sequence\n *\n * @param {Array} originalData The params.data value. Original array of JSON objects\n * @param {String[]} unwindPaths The params.unwindPath value. Unwind strings to be used to deconstruct array\n * @returns {Array} Array of objects containing all rows after unwind of chosen paths\n */\nfunction createDataRows(originalData, unwindPaths) {\n  var dataRows = [];\n  if (unwindPaths.length) {\n    originalData.forEach(function(dataElement) {\n      var dataRow = [dataElement];\n\n      unwindPaths.forEach(function(unwindPath) {\n        dataRow = unwindRows(dataRow, unwindPath);\n      });\n\n      Array.prototype.push.apply(dataRows, dataRow);\n    });\n  } else {\n    dataRows = originalData;\n  }\n\n  return dataRows;\n}\n\n/**\n * Performs the unwind logic if necessary to convert single JSON document into multiple rows\n *\n * @param {Array} inputRows Array contaning single or multiple rows to unwind\n * @param {String} unwindPath Single path to do unwind\n * @returns {Array} Array of rows processed\n */\nfunction unwindRows(inputRows, unwindPath) {\n  var outputRows = [];\n  inputRows.forEach(function(dataEl) {\n    var unwindArray = lodashGet(dataEl, unwindPath);\n    var isArr = Array.isArray(unwindArray);\n\n    if (isArr && unwindArray.length) {\n      unwindArray.forEach(function(unwindEl) {\n        var dataCopy = lodashCloneDeep(dataEl);\n        lodashSet(dataCopy, unwindPath, unwindEl);\n        outputRows.push(dataCopy);\n      });\n    } else if (isArr && !unwindArray.length) {\n      var dataCopy = lodashCloneDeep(dataEl);\n      lodashSet(dataCopy, unwindPath, undefined);\n      outputRows.push(dataCopy);\n    } else {\n      outputRows.push(dataEl);\n    }\n  });\n  return outputRows;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/json2csv/lib/json2csv.js\n// module id = 19\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('./Subscriber');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar OuterSubscriber = (function (_super) {\n    __extends(OuterSubscriber, _super);\n    function OuterSubscriber() {\n        _super.apply(this, arguments);\n    }\n    OuterSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        this.destination.next(innerValue);\n    };\n    OuterSubscriber.prototype.notifyError = function (error, innerSub) {\n        this.destination.error(error);\n    };\n    OuterSubscriber.prototype.notifyComplete = function (innerSub) {\n        this.destination.complete();\n    };\n    return OuterSubscriber;\n}(Subscriber_1.Subscriber));\nexports.OuterSubscriber = OuterSubscriber;\n//# sourceMappingURL=OuterSubscriber.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/OuterSubscriber.js\n// module id = 20\n// module chunks = 0","\"use strict\";\nvar root_1 = require('./root');\nvar isArray_1 = require('./isArray');\nvar isPromise_1 = require('./isPromise');\nvar Observable_1 = require('../Observable');\nvar iterator_1 = require('../symbol/iterator');\nvar InnerSubscriber_1 = require('../InnerSubscriber');\nvar observable_1 = require('../symbol/observable');\nfunction subscribeToResult(outerSubscriber, result, outerValue, outerIndex) {\n    var destination = new InnerSubscriber_1.InnerSubscriber(outerSubscriber, outerValue, outerIndex);\n    if (destination.closed) {\n        return null;\n    }\n    if (result instanceof Observable_1.Observable) {\n        if (result._isScalar) {\n            destination.next(result.value);\n            destination.complete();\n            return null;\n        }\n        else {\n            return result.subscribe(destination);\n        }\n    }\n    if (isArray_1.isArray(result)) {\n        for (var i = 0, len = result.length; i < len && !destination.closed; i++) {\n            destination.next(result[i]);\n        }\n        if (!destination.closed) {\n            destination.complete();\n        }\n    }\n    else if (isPromise_1.isPromise(result)) {\n        result.then(function (value) {\n            if (!destination.closed) {\n                destination.next(value);\n                destination.complete();\n            }\n        }, function (err) { return destination.error(err); })\n            .then(null, function (err) {\n            // Escaping the Promise trap: globally throw unhandled errors\n            root_1.root.setTimeout(function () { throw err; });\n        });\n        return destination;\n    }\n    else if (typeof result[iterator_1.$$iterator] === 'function') {\n        var iterator = result[iterator_1.$$iterator]();\n        do {\n            var item = iterator.next();\n            if (item.done) {\n                destination.complete();\n                break;\n            }\n            destination.next(item.value);\n            if (destination.closed) {\n                break;\n            }\n        } while (true);\n    }\n    else if (typeof result[observable_1.$$observable] === 'function') {\n        var obs = result[observable_1.$$observable]();\n        if (typeof obs.subscribe !== 'function') {\n            destination.error(new Error('invalid observable'));\n        }\n        else {\n            return obs.subscribe(new InnerSubscriber_1.InnerSubscriber(outerSubscriber, outerValue, outerIndex));\n        }\n    }\n    else {\n        destination.error(new TypeError('unknown type returned'));\n    }\n    return null;\n}\nexports.subscribeToResult = subscribeToResult;\n//# sourceMappingURL=subscribeToResult.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/util/subscribeToResult.js\n// module id = 21\n// module chunks = 0","/**\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 */\nvar /** @type {?} */ 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    }\n    else {\n        globalScope = (global);\n    }\n}\nelse {\n    globalScope = (window);\n}\n/**\n * @param {?} fn\n * @return {?}\n */\nexport function scheduleMicroTask(fn) {\n    Zone.current.scheduleMicroTask('scheduleMicrotask', fn);\n}\n// Need to declare a new variable for global here since TypeScript\n// exports the original value of the symbol.\nvar /** @type {?} */ _global = globalScope;\nexport { _global as global };\n/**\n * @param {?} type\n * @return {?}\n */\nexport function getTypeNameForDebugging(type) {\n    return type['name'] || typeof type;\n}\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};\n/**\n * @param {?} obj\n * @return {?}\n */\nexport function isPresent(obj) {\n    return obj != null;\n}\n/**\n * @param {?} obj\n * @return {?}\n */\nexport function isBlank(obj) {\n    return obj == null;\n}\nvar /** @type {?} */ STRING_MAP_PROTO = Object.getPrototypeOf({});\n/**\n * @param {?} obj\n * @return {?}\n */\nexport function isStrictStringMap(obj) {\n    return typeof obj === 'object' && obj !== null && Object.getPrototypeOf(obj) === STRING_MAP_PROTO;\n}\n/**\n * @param {?} token\n * @return {?}\n */\nexport function stringify(token) {\n    if (typeof token === 'string') {\n        return token;\n    }\n    if (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 /** @type {?} */ res = token.toString();\n    var /** @type {?} */ newLineIndex = res.indexOf('\\n');\n    return newLineIndex === -1 ? res : res.substring(0, newLineIndex);\n}\nexport var NumberWrapper = (function () {\n    function NumberWrapper() {\n    }\n    /**\n     * @param {?} text\n     * @return {?}\n     */\n    NumberWrapper.parseIntAutoRadix = function (text) {\n        var /** @type {?} */ result = parseInt(text);\n        if (isNaN(result)) {\n            throw new Error('Invalid integer literal when parsing ' + text);\n        }\n        return result;\n    };\n    /**\n     * @param {?} value\n     * @return {?}\n     */\n    NumberWrapper.isNumeric = function (value) { return !isNaN(value - parseFloat(value)); };\n    return NumberWrapper;\n}());\n/**\n * @param {?} a\n * @param {?} b\n * @return {?}\n */\nexport function looseIdentical(a, b) {\n    return a === b || typeof a === 'number' && typeof b === 'number' && isNaN(a) && isNaN(b);\n}\n/**\n * @param {?} o\n * @return {?}\n */\nexport function isJsObject(o) {\n    return o !== null && (typeof o === 'function' || typeof o === 'object');\n}\n/**\n * @param {?} obj\n * @return {?}\n */\nexport function print(obj) {\n    // tslint:disable-next-line:no-console\n    console.log(obj);\n}\n/**\n * @param {?} obj\n * @return {?}\n */\nexport function warn(obj) {\n    console.warn(obj);\n}\n/**\n * @param {?} global\n * @param {?} path\n * @param {?} value\n * @return {?}\n */\nexport function setValueOnPath(global, path, value) {\n    var /** @type {?} */ parts = path.split('.');\n    var /** @type {?} */ obj = global;\n    while (parts.length > 1) {\n        var /** @type {?} */ name_1 = parts.shift();\n        if (obj.hasOwnProperty(name_1) && obj[name_1] != null) {\n            obj = obj[name_1];\n        }\n        else {\n            obj = obj[name_1] = {};\n        }\n    }\n    if (obj === undefined || obj === null) {\n        obj = {};\n    }\n    obj[parts.shift()] = value;\n}\nvar /** @type {?} */ _symbolIterator = null;\n/**\n * @return {?}\n */\nexport function getSymbolIterator() {\n    if (!_symbolIterator) {\n        if (((globalScope)).Symbol && Symbol.iterator) {\n            _symbolIterator = Symbol.iterator;\n        }\n        else {\n            // es6-shim specific logic\n            var /** @type {?} */ keys = Object.getOwnPropertyNames(Map.prototype);\n            for (var /** @type {?} */ i = 0; i < keys.length; ++i) {\n                var /** @type {?} */ key = keys[i];\n                if (key !== 'entries' && key !== 'size' &&\n                    ((Map)).prototype[key] === Map.prototype['entries']) {\n                    _symbolIterator = key;\n                }\n            }\n        }\n    }\n    return _symbolIterator;\n}\n/**\n * @param {?} obj\n * @return {?}\n */\nexport function isPrimitive(obj) {\n    return !isJsObject(obj);\n}\n/**\n * @param {?} s\n * @return {?}\n */\nexport function escapeRegExp(s) {\n    return s.replace(/([.*+?^=!:${}()|[\\]\\/\\\\])/g, '\\\\$1');\n}\n//# sourceMappingURL=lang.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/facade/lang.js\n// module id = 22\n// module chunks = 0","/**\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 */\nvar /** @type {?} */ 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    }\n    else {\n        globalScope = (global);\n    }\n}\nelse {\n    globalScope = (window);\n}\n/**\n * @param {?} fn\n * @return {?}\n */\nexport function scheduleMicroTask(fn) {\n    Zone.current.scheduleMicroTask('scheduleMicrotask', fn);\n}\n// Need to declare a new variable for global here since TypeScript\n// exports the original value of the symbol.\nvar /** @type {?} */ _global = globalScope;\nexport { _global as global };\n/**\n * @param {?} type\n * @return {?}\n */\nexport function getTypeNameForDebugging(type) {\n    return type['name'] || typeof type;\n}\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};\n/**\n * @param {?} obj\n * @return {?}\n */\nexport function isPresent(obj) {\n    return obj != null;\n}\n/**\n * @param {?} obj\n * @return {?}\n */\nexport function isBlank(obj) {\n    return obj == null;\n}\nvar /** @type {?} */ STRING_MAP_PROTO = Object.getPrototypeOf({});\n/**\n * @param {?} obj\n * @return {?}\n */\nexport function isStrictStringMap(obj) {\n    return typeof obj === 'object' && obj !== null && Object.getPrototypeOf(obj) === STRING_MAP_PROTO;\n}\n/**\n * @param {?} token\n * @return {?}\n */\nexport function stringify(token) {\n    if (typeof token === 'string') {\n        return token;\n    }\n    if (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 /** @type {?} */ res = token.toString();\n    var /** @type {?} */ newLineIndex = res.indexOf('\\n');\n    return newLineIndex === -1 ? res : res.substring(0, newLineIndex);\n}\nexport var NumberWrapper = (function () {\n    function NumberWrapper() {\n    }\n    /**\n     * @param {?} text\n     * @return {?}\n     */\n    NumberWrapper.parseIntAutoRadix = function (text) {\n        var /** @type {?} */ result = parseInt(text);\n        if (isNaN(result)) {\n            throw new Error('Invalid integer literal when parsing ' + text);\n        }\n        return result;\n    };\n    /**\n     * @param {?} value\n     * @return {?}\n     */\n    NumberWrapper.isNumeric = function (value) { return !isNaN(value - parseFloat(value)); };\n    return NumberWrapper;\n}());\n/**\n * @param {?} a\n * @param {?} b\n * @return {?}\n */\nexport function looseIdentical(a, b) {\n    return a === b || typeof a === 'number' && typeof b === 'number' && isNaN(a) && isNaN(b);\n}\n/**\n * @param {?} o\n * @return {?}\n */\nexport function isJsObject(o) {\n    return o !== null && (typeof o === 'function' || typeof o === 'object');\n}\n/**\n * @param {?} obj\n * @return {?}\n */\nexport function print(obj) {\n    // tslint:disable-next-line:no-console\n    console.log(obj);\n}\n/**\n * @param {?} obj\n * @return {?}\n */\nexport function warn(obj) {\n    console.warn(obj);\n}\n/**\n * @param {?} global\n * @param {?} path\n * @param {?} value\n * @return {?}\n */\nexport function setValueOnPath(global, path, value) {\n    var /** @type {?} */ parts = path.split('.');\n    var /** @type {?} */ obj = global;\n    while (parts.length > 1) {\n        var /** @type {?} */ name_1 = parts.shift();\n        if (obj.hasOwnProperty(name_1) && obj[name_1] != null) {\n            obj = obj[name_1];\n        }\n        else {\n            obj = obj[name_1] = {};\n        }\n    }\n    if (obj === undefined || obj === null) {\n        obj = {};\n    }\n    obj[parts.shift()] = value;\n}\nvar /** @type {?} */ _symbolIterator = null;\n/**\n * @return {?}\n */\nexport function getSymbolIterator() {\n    if (!_symbolIterator) {\n        if (((globalScope)).Symbol && Symbol.iterator) {\n            _symbolIterator = Symbol.iterator;\n        }\n        else {\n            // es6-shim specific logic\n            var /** @type {?} */ keys = Object.getOwnPropertyNames(Map.prototype);\n            for (var /** @type {?} */ i = 0; i < keys.length; ++i) {\n                var /** @type {?} */ key = keys[i];\n                if (key !== 'entries' && key !== 'size' &&\n                    ((Map)).prototype[key] === Map.prototype['entries']) {\n                    _symbolIterator = key;\n                }\n            }\n        }\n    }\n    return _symbolIterator;\n}\n/**\n * @param {?} obj\n * @return {?}\n */\nexport function isPrimitive(obj) {\n    return !isJsObject(obj);\n}\n/**\n * @param {?} s\n * @return {?}\n */\nexport function escapeRegExp(s) {\n    return s.replace(/([.*+?^=!:${}()|[\\]\\/\\\\])/g, '\\\\$1');\n}\n//# sourceMappingURL=lang.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/facade/lang.js\n// module id = 23\n// module chunks = 0","var isObject = require('./_is-object');\nmodule.exports = function(it){\n  if(!isObject(it))throw TypeError(it + ' is not an object!');\n  return it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_an-object.js\n// module id = 24\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { isPresent } from '../facade/lang';\nexport var TypeModifier = {};\nTypeModifier.Const = 0;\nTypeModifier[TypeModifier.Const] = \"Const\";\n/**\n * @abstract\n */\nexport var Type = (function () {\n    /**\n     * @param {?=} modifiers\n     */\n    function Type(modifiers) {\n        if (modifiers === void 0) { modifiers = null; }\n        this.modifiers = modifiers;\n        if (!modifiers) {\n            this.modifiers = [];\n        }\n    }\n    /**\n     * @abstract\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    Type.prototype.visitType = function (visitor, context) { };\n    /**\n     * @param {?} modifier\n     * @return {?}\n     */\n    Type.prototype.hasModifier = function (modifier) { return this.modifiers.indexOf(modifier) !== -1; };\n    return Type;\n}());\nfunction Type_tsickle_Closure_declarations() {\n    /** @type {?} */\n    Type.prototype.modifiers;\n}\nexport var BuiltinTypeName = {};\nBuiltinTypeName.Dynamic = 0;\nBuiltinTypeName.Bool = 1;\nBuiltinTypeName.String = 2;\nBuiltinTypeName.Int = 3;\nBuiltinTypeName.Number = 4;\nBuiltinTypeName.Function = 5;\nBuiltinTypeName.Null = 6;\nBuiltinTypeName[BuiltinTypeName.Dynamic] = \"Dynamic\";\nBuiltinTypeName[BuiltinTypeName.Bool] = \"Bool\";\nBuiltinTypeName[BuiltinTypeName.String] = \"String\";\nBuiltinTypeName[BuiltinTypeName.Int] = \"Int\";\nBuiltinTypeName[BuiltinTypeName.Number] = \"Number\";\nBuiltinTypeName[BuiltinTypeName.Function] = \"Function\";\nBuiltinTypeName[BuiltinTypeName.Null] = \"Null\";\nexport var BuiltinType = (function (_super) {\n    __extends(BuiltinType, _super);\n    /**\n     * @param {?} name\n     * @param {?=} modifiers\n     */\n    function BuiltinType(name, modifiers) {\n        if (modifiers === void 0) { modifiers = null; }\n        _super.call(this, modifiers);\n        this.name = name;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    BuiltinType.prototype.visitType = function (visitor, context) {\n        return visitor.visitBuiltintType(this, context);\n    };\n    return BuiltinType;\n}(Type));\nfunction BuiltinType_tsickle_Closure_declarations() {\n    /** @type {?} */\n    BuiltinType.prototype.name;\n}\nexport var ExpressionType = (function (_super) {\n    __extends(ExpressionType, _super);\n    /**\n     * @param {?} value\n     * @param {?=} typeParams\n     * @param {?=} modifiers\n     */\n    function ExpressionType(value, typeParams, modifiers) {\n        if (typeParams === void 0) { typeParams = null; }\n        if (modifiers === void 0) { modifiers = null; }\n        _super.call(this, modifiers);\n        this.value = value;\n        this.typeParams = typeParams;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    ExpressionType.prototype.visitType = function (visitor, context) {\n        return visitor.visitExpressionType(this, context);\n    };\n    return ExpressionType;\n}(Type));\nfunction ExpressionType_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ExpressionType.prototype.value;\n    /** @type {?} */\n    ExpressionType.prototype.typeParams;\n}\nexport var ArrayType = (function (_super) {\n    __extends(ArrayType, _super);\n    /**\n     * @param {?} of\n     * @param {?=} modifiers\n     */\n    function ArrayType(of, modifiers) {\n        if (modifiers === void 0) { modifiers = null; }\n        _super.call(this, modifiers);\n        this.of = of;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    ArrayType.prototype.visitType = function (visitor, context) {\n        return visitor.visitArrayType(this, context);\n    };\n    return ArrayType;\n}(Type));\nfunction ArrayType_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ArrayType.prototype.of;\n}\nexport var MapType = (function (_super) {\n    __extends(MapType, _super);\n    /**\n     * @param {?} valueType\n     * @param {?=} modifiers\n     */\n    function MapType(valueType, modifiers) {\n        if (modifiers === void 0) { modifiers = null; }\n        _super.call(this, modifiers);\n        this.valueType = valueType;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    MapType.prototype.visitType = function (visitor, context) { return visitor.visitMapType(this, context); };\n    return MapType;\n}(Type));\nfunction MapType_tsickle_Closure_declarations() {\n    /** @type {?} */\n    MapType.prototype.valueType;\n}\nexport var /** @type {?} */ DYNAMIC_TYPE = new BuiltinType(BuiltinTypeName.Dynamic);\nexport var /** @type {?} */ BOOL_TYPE = new BuiltinType(BuiltinTypeName.Bool);\nexport var /** @type {?} */ INT_TYPE = new BuiltinType(BuiltinTypeName.Int);\nexport var /** @type {?} */ NUMBER_TYPE = new BuiltinType(BuiltinTypeName.Number);\nexport var /** @type {?} */ STRING_TYPE = new BuiltinType(BuiltinTypeName.String);\nexport var /** @type {?} */ FUNCTION_TYPE = new BuiltinType(BuiltinTypeName.Function);\nexport var /** @type {?} */ NULL_TYPE = new BuiltinType(BuiltinTypeName.Null);\nexport var BinaryOperator = {};\nBinaryOperator.Equals = 0;\nBinaryOperator.NotEquals = 1;\nBinaryOperator.Identical = 2;\nBinaryOperator.NotIdentical = 3;\nBinaryOperator.Minus = 4;\nBinaryOperator.Plus = 5;\nBinaryOperator.Divide = 6;\nBinaryOperator.Multiply = 7;\nBinaryOperator.Modulo = 8;\nBinaryOperator.And = 9;\nBinaryOperator.Or = 10;\nBinaryOperator.Lower = 11;\nBinaryOperator.LowerEquals = 12;\nBinaryOperator.Bigger = 13;\nBinaryOperator.BiggerEquals = 14;\nBinaryOperator[BinaryOperator.Equals] = \"Equals\";\nBinaryOperator[BinaryOperator.NotEquals] = \"NotEquals\";\nBinaryOperator[BinaryOperator.Identical] = \"Identical\";\nBinaryOperator[BinaryOperator.NotIdentical] = \"NotIdentical\";\nBinaryOperator[BinaryOperator.Minus] = \"Minus\";\nBinaryOperator[BinaryOperator.Plus] = \"Plus\";\nBinaryOperator[BinaryOperator.Divide] = \"Divide\";\nBinaryOperator[BinaryOperator.Multiply] = \"Multiply\";\nBinaryOperator[BinaryOperator.Modulo] = \"Modulo\";\nBinaryOperator[BinaryOperator.And] = \"And\";\nBinaryOperator[BinaryOperator.Or] = \"Or\";\nBinaryOperator[BinaryOperator.Lower] = \"Lower\";\nBinaryOperator[BinaryOperator.LowerEquals] = \"LowerEquals\";\nBinaryOperator[BinaryOperator.Bigger] = \"Bigger\";\nBinaryOperator[BinaryOperator.BiggerEquals] = \"BiggerEquals\";\n/**\n * @abstract\n */\nexport var Expression = (function () {\n    /**\n     * @param {?} type\n     */\n    function Expression(type) {\n        this.type = type;\n    }\n    /**\n     * @abstract\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    Expression.prototype.visitExpression = function (visitor, context) { };\n    /**\n     * @param {?} name\n     * @return {?}\n     */\n    Expression.prototype.prop = function (name) { return new ReadPropExpr(this, name); };\n    /**\n     * @param {?} index\n     * @param {?=} type\n     * @return {?}\n     */\n    Expression.prototype.key = function (index, type) {\n        if (type === void 0) { type = null; }\n        return new ReadKeyExpr(this, index, type);\n    };\n    /**\n     * @param {?} name\n     * @param {?} params\n     * @return {?}\n     */\n    Expression.prototype.callMethod = function (name, params) {\n        return new InvokeMethodExpr(this, name, params);\n    };\n    /**\n     * @param {?} params\n     * @return {?}\n     */\n    Expression.prototype.callFn = function (params) { return new InvokeFunctionExpr(this, params); };\n    /**\n     * @param {?} params\n     * @param {?=} type\n     * @return {?}\n     */\n    Expression.prototype.instantiate = function (params, type) {\n        if (type === void 0) { type = null; }\n        return new InstantiateExpr(this, params, type);\n    };\n    /**\n     * @param {?} trueCase\n     * @param {?=} falseCase\n     * @return {?}\n     */\n    Expression.prototype.conditional = function (trueCase, falseCase) {\n        if (falseCase === void 0) { falseCase = null; }\n        return new ConditionalExpr(this, trueCase, falseCase);\n    };\n    /**\n     * @param {?} rhs\n     * @return {?}\n     */\n    Expression.prototype.equals = function (rhs) {\n        return new BinaryOperatorExpr(BinaryOperator.Equals, this, rhs);\n    };\n    /**\n     * @param {?} rhs\n     * @return {?}\n     */\n    Expression.prototype.notEquals = function (rhs) {\n        return new BinaryOperatorExpr(BinaryOperator.NotEquals, this, rhs);\n    };\n    /**\n     * @param {?} rhs\n     * @return {?}\n     */\n    Expression.prototype.identical = function (rhs) {\n        return new BinaryOperatorExpr(BinaryOperator.Identical, this, rhs);\n    };\n    /**\n     * @param {?} rhs\n     * @return {?}\n     */\n    Expression.prototype.notIdentical = function (rhs) {\n        return new BinaryOperatorExpr(BinaryOperator.NotIdentical, this, rhs);\n    };\n    /**\n     * @param {?} rhs\n     * @return {?}\n     */\n    Expression.prototype.minus = function (rhs) {\n        return new BinaryOperatorExpr(BinaryOperator.Minus, this, rhs);\n    };\n    /**\n     * @param {?} rhs\n     * @return {?}\n     */\n    Expression.prototype.plus = function (rhs) {\n        return new BinaryOperatorExpr(BinaryOperator.Plus, this, rhs);\n    };\n    /**\n     * @param {?} rhs\n     * @return {?}\n     */\n    Expression.prototype.divide = function (rhs) {\n        return new BinaryOperatorExpr(BinaryOperator.Divide, this, rhs);\n    };\n    /**\n     * @param {?} rhs\n     * @return {?}\n     */\n    Expression.prototype.multiply = function (rhs) {\n        return new BinaryOperatorExpr(BinaryOperator.Multiply, this, rhs);\n    };\n    /**\n     * @param {?} rhs\n     * @return {?}\n     */\n    Expression.prototype.modulo = function (rhs) {\n        return new BinaryOperatorExpr(BinaryOperator.Modulo, this, rhs);\n    };\n    /**\n     * @param {?} rhs\n     * @return {?}\n     */\n    Expression.prototype.and = function (rhs) {\n        return new BinaryOperatorExpr(BinaryOperator.And, this, rhs);\n    };\n    /**\n     * @param {?} rhs\n     * @return {?}\n     */\n    Expression.prototype.or = function (rhs) {\n        return new BinaryOperatorExpr(BinaryOperator.Or, this, rhs);\n    };\n    /**\n     * @param {?} rhs\n     * @return {?}\n     */\n    Expression.prototype.lower = function (rhs) {\n        return new BinaryOperatorExpr(BinaryOperator.Lower, this, rhs);\n    };\n    /**\n     * @param {?} rhs\n     * @return {?}\n     */\n    Expression.prototype.lowerEquals = function (rhs) {\n        return new BinaryOperatorExpr(BinaryOperator.LowerEquals, this, rhs);\n    };\n    /**\n     * @param {?} rhs\n     * @return {?}\n     */\n    Expression.prototype.bigger = function (rhs) {\n        return new BinaryOperatorExpr(BinaryOperator.Bigger, this, rhs);\n    };\n    /**\n     * @param {?} rhs\n     * @return {?}\n     */\n    Expression.prototype.biggerEquals = function (rhs) {\n        return new BinaryOperatorExpr(BinaryOperator.BiggerEquals, this, rhs);\n    };\n    /**\n     * @return {?}\n     */\n    Expression.prototype.isBlank = function () {\n        // Note: We use equals by purpose here to compare to null and undefined in JS.\n        // We use the typed null to allow strictNullChecks to narrow types.\n        return this.equals(TYPED_NULL_EXPR);\n    };\n    /**\n     * @param {?} type\n     * @return {?}\n     */\n    Expression.prototype.cast = function (type) { return new CastExpr(this, type); };\n    /**\n     * @return {?}\n     */\n    Expression.prototype.toStmt = function () { return new ExpressionStatement(this); };\n    return Expression;\n}());\nfunction Expression_tsickle_Closure_declarations() {\n    /** @type {?} */\n    Expression.prototype.type;\n}\nexport var BuiltinVar = {};\nBuiltinVar.This = 0;\nBuiltinVar.Super = 1;\nBuiltinVar.CatchError = 2;\nBuiltinVar.CatchStack = 3;\nBuiltinVar[BuiltinVar.This] = \"This\";\nBuiltinVar[BuiltinVar.Super] = \"Super\";\nBuiltinVar[BuiltinVar.CatchError] = \"CatchError\";\nBuiltinVar[BuiltinVar.CatchStack] = \"CatchStack\";\nexport var ReadVarExpr = (function (_super) {\n    __extends(ReadVarExpr, _super);\n    /**\n     * @param {?} name\n     * @param {?=} type\n     */\n    function ReadVarExpr(name, type) {\n        if (type === void 0) { type = null; }\n        _super.call(this, type);\n        if (typeof name === 'string') {\n            this.name = name;\n            this.builtin = null;\n        }\n        else {\n            this.name = null;\n            this.builtin = name;\n        }\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    ReadVarExpr.prototype.visitExpression = function (visitor, context) {\n        return visitor.visitReadVarExpr(this, context);\n    };\n    /**\n     * @param {?} value\n     * @return {?}\n     */\n    ReadVarExpr.prototype.set = function (value) { return new WriteVarExpr(this.name, value); };\n    return ReadVarExpr;\n}(Expression));\nfunction ReadVarExpr_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ReadVarExpr.prototype.name;\n    /** @type {?} */\n    ReadVarExpr.prototype.builtin;\n}\nexport var WriteVarExpr = (function (_super) {\n    __extends(WriteVarExpr, _super);\n    /**\n     * @param {?} name\n     * @param {?} value\n     * @param {?=} type\n     */\n    function WriteVarExpr(name, value, type) {\n        if (type === void 0) { type = null; }\n        _super.call(this, type || value.type);\n        this.name = name;\n        this.value = value;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    WriteVarExpr.prototype.visitExpression = function (visitor, context) {\n        return visitor.visitWriteVarExpr(this, context);\n    };\n    /**\n     * @param {?=} type\n     * @param {?=} modifiers\n     * @return {?}\n     */\n    WriteVarExpr.prototype.toDeclStmt = function (type, modifiers) {\n        if (type === void 0) { type = null; }\n        if (modifiers === void 0) { modifiers = null; }\n        return new DeclareVarStmt(this.name, this.value, type, modifiers);\n    };\n    return WriteVarExpr;\n}(Expression));\nfunction WriteVarExpr_tsickle_Closure_declarations() {\n    /** @type {?} */\n    WriteVarExpr.prototype.value;\n    /** @type {?} */\n    WriteVarExpr.prototype.name;\n}\nexport var WriteKeyExpr = (function (_super) {\n    __extends(WriteKeyExpr, _super);\n    /**\n     * @param {?} receiver\n     * @param {?} index\n     * @param {?} value\n     * @param {?=} type\n     */\n    function WriteKeyExpr(receiver, index, value, type) {\n        if (type === void 0) { type = null; }\n        _super.call(this, type || value.type);\n        this.receiver = receiver;\n        this.index = index;\n        this.value = value;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    WriteKeyExpr.prototype.visitExpression = function (visitor, context) {\n        return visitor.visitWriteKeyExpr(this, context);\n    };\n    return WriteKeyExpr;\n}(Expression));\nfunction WriteKeyExpr_tsickle_Closure_declarations() {\n    /** @type {?} */\n    WriteKeyExpr.prototype.value;\n    /** @type {?} */\n    WriteKeyExpr.prototype.receiver;\n    /** @type {?} */\n    WriteKeyExpr.prototype.index;\n}\nexport var WritePropExpr = (function (_super) {\n    __extends(WritePropExpr, _super);\n    /**\n     * @param {?} receiver\n     * @param {?} name\n     * @param {?} value\n     * @param {?=} type\n     */\n    function WritePropExpr(receiver, name, value, type) {\n        if (type === void 0) { type = null; }\n        _super.call(this, type || value.type);\n        this.receiver = receiver;\n        this.name = name;\n        this.value = value;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    WritePropExpr.prototype.visitExpression = function (visitor, context) {\n        return visitor.visitWritePropExpr(this, context);\n    };\n    return WritePropExpr;\n}(Expression));\nfunction WritePropExpr_tsickle_Closure_declarations() {\n    /** @type {?} */\n    WritePropExpr.prototype.value;\n    /** @type {?} */\n    WritePropExpr.prototype.receiver;\n    /** @type {?} */\n    WritePropExpr.prototype.name;\n}\nexport var BuiltinMethod = {};\nBuiltinMethod.ConcatArray = 0;\nBuiltinMethod.SubscribeObservable = 1;\nBuiltinMethod.Bind = 2;\nBuiltinMethod[BuiltinMethod.ConcatArray] = \"ConcatArray\";\nBuiltinMethod[BuiltinMethod.SubscribeObservable] = \"SubscribeObservable\";\nBuiltinMethod[BuiltinMethod.Bind] = \"Bind\";\nexport var InvokeMethodExpr = (function (_super) {\n    __extends(InvokeMethodExpr, _super);\n    /**\n     * @param {?} receiver\n     * @param {?} method\n     * @param {?} args\n     * @param {?=} type\n     */\n    function InvokeMethodExpr(receiver, method, args, type) {\n        if (type === void 0) { type = null; }\n        _super.call(this, type);\n        this.receiver = receiver;\n        this.args = args;\n        if (typeof method === 'string') {\n            this.name = method;\n            this.builtin = null;\n        }\n        else {\n            this.name = null;\n            this.builtin = method;\n        }\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    InvokeMethodExpr.prototype.visitExpression = function (visitor, context) {\n        return visitor.visitInvokeMethodExpr(this, context);\n    };\n    return InvokeMethodExpr;\n}(Expression));\nfunction InvokeMethodExpr_tsickle_Closure_declarations() {\n    /** @type {?} */\n    InvokeMethodExpr.prototype.name;\n    /** @type {?} */\n    InvokeMethodExpr.prototype.builtin;\n    /** @type {?} */\n    InvokeMethodExpr.prototype.receiver;\n    /** @type {?} */\n    InvokeMethodExpr.prototype.args;\n}\nexport var InvokeFunctionExpr = (function (_super) {\n    __extends(InvokeFunctionExpr, _super);\n    /**\n     * @param {?} fn\n     * @param {?} args\n     * @param {?=} type\n     */\n    function InvokeFunctionExpr(fn, args, type) {\n        if (type === void 0) { type = null; }\n        _super.call(this, type);\n        this.fn = fn;\n        this.args = args;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    InvokeFunctionExpr.prototype.visitExpression = function (visitor, context) {\n        return visitor.visitInvokeFunctionExpr(this, context);\n    };\n    return InvokeFunctionExpr;\n}(Expression));\nfunction InvokeFunctionExpr_tsickle_Closure_declarations() {\n    /** @type {?} */\n    InvokeFunctionExpr.prototype.fn;\n    /** @type {?} */\n    InvokeFunctionExpr.prototype.args;\n}\nexport var InstantiateExpr = (function (_super) {\n    __extends(InstantiateExpr, _super);\n    /**\n     * @param {?} classExpr\n     * @param {?} args\n     * @param {?=} type\n     */\n    function InstantiateExpr(classExpr, args, type) {\n        _super.call(this, type);\n        this.classExpr = classExpr;\n        this.args = args;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    InstantiateExpr.prototype.visitExpression = function (visitor, context) {\n        return visitor.visitInstantiateExpr(this, context);\n    };\n    return InstantiateExpr;\n}(Expression));\nfunction InstantiateExpr_tsickle_Closure_declarations() {\n    /** @type {?} */\n    InstantiateExpr.prototype.classExpr;\n    /** @type {?} */\n    InstantiateExpr.prototype.args;\n}\nexport var LiteralExpr = (function (_super) {\n    __extends(LiteralExpr, _super);\n    /**\n     * @param {?} value\n     * @param {?=} type\n     */\n    function LiteralExpr(value, type) {\n        if (type === void 0) { type = null; }\n        _super.call(this, type);\n        this.value = value;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    LiteralExpr.prototype.visitExpression = function (visitor, context) {\n        return visitor.visitLiteralExpr(this, context);\n    };\n    return LiteralExpr;\n}(Expression));\nfunction LiteralExpr_tsickle_Closure_declarations() {\n    /** @type {?} */\n    LiteralExpr.prototype.value;\n}\nexport var ExternalExpr = (function (_super) {\n    __extends(ExternalExpr, _super);\n    /**\n     * @param {?} value\n     * @param {?=} type\n     * @param {?=} typeParams\n     */\n    function ExternalExpr(value, type, typeParams) {\n        if (type === void 0) { type = null; }\n        if (typeParams === void 0) { typeParams = null; }\n        _super.call(this, type);\n        this.value = value;\n        this.typeParams = typeParams;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    ExternalExpr.prototype.visitExpression = function (visitor, context) {\n        return visitor.visitExternalExpr(this, context);\n    };\n    return ExternalExpr;\n}(Expression));\nfunction ExternalExpr_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ExternalExpr.prototype.value;\n    /** @type {?} */\n    ExternalExpr.prototype.typeParams;\n}\nexport var ConditionalExpr = (function (_super) {\n    __extends(ConditionalExpr, _super);\n    /**\n     * @param {?} condition\n     * @param {?} trueCase\n     * @param {?=} falseCase\n     * @param {?=} type\n     */\n    function ConditionalExpr(condition, trueCase, falseCase, type) {\n        if (falseCase === void 0) { falseCase = null; }\n        if (type === void 0) { type = null; }\n        _super.call(this, type || trueCase.type);\n        this.condition = condition;\n        this.falseCase = falseCase;\n        this.trueCase = trueCase;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    ConditionalExpr.prototype.visitExpression = function (visitor, context) {\n        return visitor.visitConditionalExpr(this, context);\n    };\n    return ConditionalExpr;\n}(Expression));\nfunction ConditionalExpr_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ConditionalExpr.prototype.trueCase;\n    /** @type {?} */\n    ConditionalExpr.prototype.condition;\n    /** @type {?} */\n    ConditionalExpr.prototype.falseCase;\n}\nexport var NotExpr = (function (_super) {\n    __extends(NotExpr, _super);\n    /**\n     * @param {?} condition\n     */\n    function NotExpr(condition) {\n        _super.call(this, BOOL_TYPE);\n        this.condition = condition;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    NotExpr.prototype.visitExpression = function (visitor, context) {\n        return visitor.visitNotExpr(this, context);\n    };\n    return NotExpr;\n}(Expression));\nfunction NotExpr_tsickle_Closure_declarations() {\n    /** @type {?} */\n    NotExpr.prototype.condition;\n}\nexport var CastExpr = (function (_super) {\n    __extends(CastExpr, _super);\n    /**\n     * @param {?} value\n     * @param {?} type\n     */\n    function CastExpr(value, type) {\n        _super.call(this, type);\n        this.value = value;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    CastExpr.prototype.visitExpression = function (visitor, context) {\n        return visitor.visitCastExpr(this, context);\n    };\n    return CastExpr;\n}(Expression));\nfunction CastExpr_tsickle_Closure_declarations() {\n    /** @type {?} */\n    CastExpr.prototype.value;\n}\nexport var FnParam = (function () {\n    /**\n     * @param {?} name\n     * @param {?=} type\n     */\n    function FnParam(name, type) {\n        if (type === void 0) { type = null; }\n        this.name = name;\n        this.type = type;\n    }\n    return FnParam;\n}());\nfunction FnParam_tsickle_Closure_declarations() {\n    /** @type {?} */\n    FnParam.prototype.name;\n    /** @type {?} */\n    FnParam.prototype.type;\n}\nexport var FunctionExpr = (function (_super) {\n    __extends(FunctionExpr, _super);\n    /**\n     * @param {?} params\n     * @param {?} statements\n     * @param {?=} type\n     */\n    function FunctionExpr(params, statements, type) {\n        if (type === void 0) { type = null; }\n        _super.call(this, type);\n        this.params = params;\n        this.statements = statements;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    FunctionExpr.prototype.visitExpression = function (visitor, context) {\n        return visitor.visitFunctionExpr(this, context);\n    };\n    /**\n     * @param {?} name\n     * @param {?=} modifiers\n     * @return {?}\n     */\n    FunctionExpr.prototype.toDeclStmt = function (name, modifiers) {\n        if (modifiers === void 0) { modifiers = null; }\n        return new DeclareFunctionStmt(name, this.params, this.statements, this.type, modifiers);\n    };\n    return FunctionExpr;\n}(Expression));\nfunction FunctionExpr_tsickle_Closure_declarations() {\n    /** @type {?} */\n    FunctionExpr.prototype.params;\n    /** @type {?} */\n    FunctionExpr.prototype.statements;\n}\nexport var BinaryOperatorExpr = (function (_super) {\n    __extends(BinaryOperatorExpr, _super);\n    /**\n     * @param {?} operator\n     * @param {?} lhs\n     * @param {?} rhs\n     * @param {?=} type\n     */\n    function BinaryOperatorExpr(operator, lhs, rhs, type) {\n        if (type === void 0) { type = null; }\n        _super.call(this, type || lhs.type);\n        this.operator = operator;\n        this.rhs = rhs;\n        this.lhs = lhs;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    BinaryOperatorExpr.prototype.visitExpression = function (visitor, context) {\n        return visitor.visitBinaryOperatorExpr(this, context);\n    };\n    return BinaryOperatorExpr;\n}(Expression));\nfunction BinaryOperatorExpr_tsickle_Closure_declarations() {\n    /** @type {?} */\n    BinaryOperatorExpr.prototype.lhs;\n    /** @type {?} */\n    BinaryOperatorExpr.prototype.operator;\n    /** @type {?} */\n    BinaryOperatorExpr.prototype.rhs;\n}\nexport var ReadPropExpr = (function (_super) {\n    __extends(ReadPropExpr, _super);\n    /**\n     * @param {?} receiver\n     * @param {?} name\n     * @param {?=} type\n     */\n    function ReadPropExpr(receiver, name, type) {\n        if (type === void 0) { type = null; }\n        _super.call(this, type);\n        this.receiver = receiver;\n        this.name = name;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    ReadPropExpr.prototype.visitExpression = function (visitor, context) {\n        return visitor.visitReadPropExpr(this, context);\n    };\n    /**\n     * @param {?} value\n     * @return {?}\n     */\n    ReadPropExpr.prototype.set = function (value) {\n        return new WritePropExpr(this.receiver, this.name, value);\n    };\n    return ReadPropExpr;\n}(Expression));\nfunction ReadPropExpr_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ReadPropExpr.prototype.receiver;\n    /** @type {?} */\n    ReadPropExpr.prototype.name;\n}\nexport var ReadKeyExpr = (function (_super) {\n    __extends(ReadKeyExpr, _super);\n    /**\n     * @param {?} receiver\n     * @param {?} index\n     * @param {?=} type\n     */\n    function ReadKeyExpr(receiver, index, type) {\n        if (type === void 0) { type = null; }\n        _super.call(this, type);\n        this.receiver = receiver;\n        this.index = index;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    ReadKeyExpr.prototype.visitExpression = function (visitor, context) {\n        return visitor.visitReadKeyExpr(this, context);\n    };\n    /**\n     * @param {?} value\n     * @return {?}\n     */\n    ReadKeyExpr.prototype.set = function (value) {\n        return new WriteKeyExpr(this.receiver, this.index, value);\n    };\n    return ReadKeyExpr;\n}(Expression));\nfunction ReadKeyExpr_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ReadKeyExpr.prototype.receiver;\n    /** @type {?} */\n    ReadKeyExpr.prototype.index;\n}\nexport var LiteralArrayExpr = (function (_super) {\n    __extends(LiteralArrayExpr, _super);\n    /**\n     * @param {?} entries\n     * @param {?=} type\n     */\n    function LiteralArrayExpr(entries, type) {\n        if (type === void 0) { type = null; }\n        _super.call(this, type);\n        this.entries = entries;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    LiteralArrayExpr.prototype.visitExpression = function (visitor, context) {\n        return visitor.visitLiteralArrayExpr(this, context);\n    };\n    return LiteralArrayExpr;\n}(Expression));\nfunction LiteralArrayExpr_tsickle_Closure_declarations() {\n    /** @type {?} */\n    LiteralArrayExpr.prototype.entries;\n}\nexport var LiteralMapEntry = (function () {\n    /**\n     * @param {?} key\n     * @param {?} value\n     * @param {?=} quoted\n     */\n    function LiteralMapEntry(key, value, quoted) {\n        if (quoted === void 0) { quoted = false; }\n        this.key = key;\n        this.value = value;\n        this.quoted = quoted;\n    }\n    return LiteralMapEntry;\n}());\nfunction LiteralMapEntry_tsickle_Closure_declarations() {\n    /** @type {?} */\n    LiteralMapEntry.prototype.key;\n    /** @type {?} */\n    LiteralMapEntry.prototype.value;\n    /** @type {?} */\n    LiteralMapEntry.prototype.quoted;\n}\nexport var LiteralMapExpr = (function (_super) {\n    __extends(LiteralMapExpr, _super);\n    /**\n     * @param {?} entries\n     * @param {?=} type\n     */\n    function LiteralMapExpr(entries, type) {\n        if (type === void 0) { type = null; }\n        _super.call(this, type);\n        this.entries = entries;\n        this.valueType = null;\n        if (isPresent(type)) {\n            this.valueType = type.valueType;\n        }\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    LiteralMapExpr.prototype.visitExpression = function (visitor, context) {\n        return visitor.visitLiteralMapExpr(this, context);\n    };\n    return LiteralMapExpr;\n}(Expression));\nfunction LiteralMapExpr_tsickle_Closure_declarations() {\n    /** @type {?} */\n    LiteralMapExpr.prototype.valueType;\n    /** @type {?} */\n    LiteralMapExpr.prototype.entries;\n}\nexport var /** @type {?} */ THIS_EXPR = new ReadVarExpr(BuiltinVar.This);\nexport var /** @type {?} */ SUPER_EXPR = new ReadVarExpr(BuiltinVar.Super);\nexport var /** @type {?} */ CATCH_ERROR_VAR = new ReadVarExpr(BuiltinVar.CatchError);\nexport var /** @type {?} */ CATCH_STACK_VAR = new ReadVarExpr(BuiltinVar.CatchStack);\nexport var /** @type {?} */ NULL_EXPR = new LiteralExpr(null, null);\nexport var /** @type {?} */ TYPED_NULL_EXPR = new LiteralExpr(null, NULL_TYPE);\nexport var StmtModifier = {};\nStmtModifier.Final = 0;\nStmtModifier.Private = 1;\nStmtModifier[StmtModifier.Final] = \"Final\";\nStmtModifier[StmtModifier.Private] = \"Private\";\n/**\n * @abstract\n */\nexport var Statement = (function () {\n    /**\n     * @param {?=} modifiers\n     */\n    function Statement(modifiers) {\n        if (modifiers === void 0) { modifiers = null; }\n        this.modifiers = modifiers;\n        if (!modifiers) {\n            this.modifiers = [];\n        }\n    }\n    /**\n     * @abstract\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    Statement.prototype.visitStatement = function (visitor, context) { };\n    /**\n     * @param {?} modifier\n     * @return {?}\n     */\n    Statement.prototype.hasModifier = function (modifier) { return this.modifiers.indexOf(modifier) !== -1; };\n    return Statement;\n}());\nfunction Statement_tsickle_Closure_declarations() {\n    /** @type {?} */\n    Statement.prototype.modifiers;\n}\nexport var DeclareVarStmt = (function (_super) {\n    __extends(DeclareVarStmt, _super);\n    /**\n     * @param {?} name\n     * @param {?} value\n     * @param {?=} type\n     * @param {?=} modifiers\n     */\n    function DeclareVarStmt(name, value, type, modifiers) {\n        if (type === void 0) { type = null; }\n        if (modifiers === void 0) { modifiers = null; }\n        _super.call(this, modifiers);\n        this.name = name;\n        this.value = value;\n        this.type = type || value.type;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    DeclareVarStmt.prototype.visitStatement = function (visitor, context) {\n        return visitor.visitDeclareVarStmt(this, context);\n    };\n    return DeclareVarStmt;\n}(Statement));\nfunction DeclareVarStmt_tsickle_Closure_declarations() {\n    /** @type {?} */\n    DeclareVarStmt.prototype.type;\n    /** @type {?} */\n    DeclareVarStmt.prototype.name;\n    /** @type {?} */\n    DeclareVarStmt.prototype.value;\n}\nexport var DeclareFunctionStmt = (function (_super) {\n    __extends(DeclareFunctionStmt, _super);\n    /**\n     * @param {?} name\n     * @param {?} params\n     * @param {?} statements\n     * @param {?=} type\n     * @param {?=} modifiers\n     */\n    function DeclareFunctionStmt(name, params, statements, type, modifiers) {\n        if (type === void 0) { type = null; }\n        if (modifiers === void 0) { modifiers = null; }\n        _super.call(this, modifiers);\n        this.name = name;\n        this.params = params;\n        this.statements = statements;\n        this.type = type;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    DeclareFunctionStmt.prototype.visitStatement = function (visitor, context) {\n        return visitor.visitDeclareFunctionStmt(this, context);\n    };\n    return DeclareFunctionStmt;\n}(Statement));\nfunction DeclareFunctionStmt_tsickle_Closure_declarations() {\n    /** @type {?} */\n    DeclareFunctionStmt.prototype.name;\n    /** @type {?} */\n    DeclareFunctionStmt.prototype.params;\n    /** @type {?} */\n    DeclareFunctionStmt.prototype.statements;\n    /** @type {?} */\n    DeclareFunctionStmt.prototype.type;\n}\nexport var ExpressionStatement = (function (_super) {\n    __extends(ExpressionStatement, _super);\n    /**\n     * @param {?} expr\n     */\n    function ExpressionStatement(expr) {\n        _super.call(this);\n        this.expr = expr;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    ExpressionStatement.prototype.visitStatement = function (visitor, context) {\n        return visitor.visitExpressionStmt(this, context);\n    };\n    return ExpressionStatement;\n}(Statement));\nfunction ExpressionStatement_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ExpressionStatement.prototype.expr;\n}\nexport var ReturnStatement = (function (_super) {\n    __extends(ReturnStatement, _super);\n    /**\n     * @param {?} value\n     */\n    function ReturnStatement(value) {\n        _super.call(this);\n        this.value = value;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    ReturnStatement.prototype.visitStatement = function (visitor, context) {\n        return visitor.visitReturnStmt(this, context);\n    };\n    return ReturnStatement;\n}(Statement));\nfunction ReturnStatement_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ReturnStatement.prototype.value;\n}\nexport var AbstractClassPart = (function () {\n    /**\n     * @param {?=} type\n     * @param {?} modifiers\n     */\n    function AbstractClassPart(type, modifiers) {\n        if (type === void 0) { type = null; }\n        this.type = type;\n        this.modifiers = modifiers;\n        if (!modifiers) {\n            this.modifiers = [];\n        }\n    }\n    /**\n     * @param {?} modifier\n     * @return {?}\n     */\n    AbstractClassPart.prototype.hasModifier = function (modifier) { return this.modifiers.indexOf(modifier) !== -1; };\n    return AbstractClassPart;\n}());\nfunction AbstractClassPart_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AbstractClassPart.prototype.type;\n    /** @type {?} */\n    AbstractClassPart.prototype.modifiers;\n}\nexport var ClassField = (function (_super) {\n    __extends(ClassField, _super);\n    /**\n     * @param {?} name\n     * @param {?=} type\n     * @param {?=} modifiers\n     */\n    function ClassField(name, type, modifiers) {\n        if (type === void 0) { type = null; }\n        if (modifiers === void 0) { modifiers = null; }\n        _super.call(this, type, modifiers);\n        this.name = name;\n    }\n    return ClassField;\n}(AbstractClassPart));\nfunction ClassField_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ClassField.prototype.name;\n}\nexport var ClassMethod = (function (_super) {\n    __extends(ClassMethod, _super);\n    /**\n     * @param {?} name\n     * @param {?} params\n     * @param {?} body\n     * @param {?=} type\n     * @param {?=} modifiers\n     */\n    function ClassMethod(name, params, body, type, modifiers) {\n        if (type === void 0) { type = null; }\n        if (modifiers === void 0) { modifiers = null; }\n        _super.call(this, type, modifiers);\n        this.name = name;\n        this.params = params;\n        this.body = body;\n    }\n    return ClassMethod;\n}(AbstractClassPart));\nfunction ClassMethod_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ClassMethod.prototype.name;\n    /** @type {?} */\n    ClassMethod.prototype.params;\n    /** @type {?} */\n    ClassMethod.prototype.body;\n}\nexport var ClassGetter = (function (_super) {\n    __extends(ClassGetter, _super);\n    /**\n     * @param {?} name\n     * @param {?} body\n     * @param {?=} type\n     * @param {?=} modifiers\n     */\n    function ClassGetter(name, body, type, modifiers) {\n        if (type === void 0) { type = null; }\n        if (modifiers === void 0) { modifiers = null; }\n        _super.call(this, type, modifiers);\n        this.name = name;\n        this.body = body;\n    }\n    return ClassGetter;\n}(AbstractClassPart));\nfunction ClassGetter_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ClassGetter.prototype.name;\n    /** @type {?} */\n    ClassGetter.prototype.body;\n}\nexport var ClassStmt = (function (_super) {\n    __extends(ClassStmt, _super);\n    /**\n     * @param {?} name\n     * @param {?} parent\n     * @param {?} fields\n     * @param {?} getters\n     * @param {?} constructorMethod\n     * @param {?} methods\n     * @param {?=} modifiers\n     */\n    function ClassStmt(name, parent, fields, getters, constructorMethod, methods, modifiers) {\n        if (modifiers === void 0) { modifiers = null; }\n        _super.call(this, modifiers);\n        this.name = name;\n        this.parent = parent;\n        this.fields = fields;\n        this.getters = getters;\n        this.constructorMethod = constructorMethod;\n        this.methods = methods;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    ClassStmt.prototype.visitStatement = function (visitor, context) {\n        return visitor.visitDeclareClassStmt(this, context);\n    };\n    return ClassStmt;\n}(Statement));\nfunction ClassStmt_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ClassStmt.prototype.name;\n    /** @type {?} */\n    ClassStmt.prototype.parent;\n    /** @type {?} */\n    ClassStmt.prototype.fields;\n    /** @type {?} */\n    ClassStmt.prototype.getters;\n    /** @type {?} */\n    ClassStmt.prototype.constructorMethod;\n    /** @type {?} */\n    ClassStmt.prototype.methods;\n}\nexport var IfStmt = (function (_super) {\n    __extends(IfStmt, _super);\n    /**\n     * @param {?} condition\n     * @param {?} trueCase\n     * @param {?=} falseCase\n     */\n    function IfStmt(condition, trueCase, falseCase) {\n        if (falseCase === void 0) { falseCase = []; }\n        _super.call(this);\n        this.condition = condition;\n        this.trueCase = trueCase;\n        this.falseCase = falseCase;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    IfStmt.prototype.visitStatement = function (visitor, context) {\n        return visitor.visitIfStmt(this, context);\n    };\n    return IfStmt;\n}(Statement));\nfunction IfStmt_tsickle_Closure_declarations() {\n    /** @type {?} */\n    IfStmt.prototype.condition;\n    /** @type {?} */\n    IfStmt.prototype.trueCase;\n    /** @type {?} */\n    IfStmt.prototype.falseCase;\n}\nexport var CommentStmt = (function (_super) {\n    __extends(CommentStmt, _super);\n    /**\n     * @param {?} comment\n     */\n    function CommentStmt(comment) {\n        _super.call(this);\n        this.comment = comment;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    CommentStmt.prototype.visitStatement = function (visitor, context) {\n        return visitor.visitCommentStmt(this, context);\n    };\n    return CommentStmt;\n}(Statement));\nfunction CommentStmt_tsickle_Closure_declarations() {\n    /** @type {?} */\n    CommentStmt.prototype.comment;\n}\nexport var TryCatchStmt = (function (_super) {\n    __extends(TryCatchStmt, _super);\n    /**\n     * @param {?} bodyStmts\n     * @param {?} catchStmts\n     */\n    function TryCatchStmt(bodyStmts, catchStmts) {\n        _super.call(this);\n        this.bodyStmts = bodyStmts;\n        this.catchStmts = catchStmts;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    TryCatchStmt.prototype.visitStatement = function (visitor, context) {\n        return visitor.visitTryCatchStmt(this, context);\n    };\n    return TryCatchStmt;\n}(Statement));\nfunction TryCatchStmt_tsickle_Closure_declarations() {\n    /** @type {?} */\n    TryCatchStmt.prototype.bodyStmts;\n    /** @type {?} */\n    TryCatchStmt.prototype.catchStmts;\n}\nexport var ThrowStmt = (function (_super) {\n    __extends(ThrowStmt, _super);\n    /**\n     * @param {?} error\n     */\n    function ThrowStmt(error) {\n        _super.call(this);\n        this.error = error;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    ThrowStmt.prototype.visitStatement = function (visitor, context) {\n        return visitor.visitThrowStmt(this, context);\n    };\n    return ThrowStmt;\n}(Statement));\nfunction ThrowStmt_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ThrowStmt.prototype.error;\n}\nexport var ExpressionTransformer = (function () {\n    function ExpressionTransformer() {\n    }\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    ExpressionTransformer.prototype.visitReadVarExpr = function (ast, context) { return ast; };\n    /**\n     * @param {?} expr\n     * @param {?} context\n     * @return {?}\n     */\n    ExpressionTransformer.prototype.visitWriteVarExpr = function (expr, context) {\n        return new WriteVarExpr(expr.name, expr.value.visitExpression(this, context));\n    };\n    /**\n     * @param {?} expr\n     * @param {?} context\n     * @return {?}\n     */\n    ExpressionTransformer.prototype.visitWriteKeyExpr = function (expr, context) {\n        return new WriteKeyExpr(expr.receiver.visitExpression(this, context), expr.index.visitExpression(this, context), expr.value.visitExpression(this, context));\n    };\n    /**\n     * @param {?} expr\n     * @param {?} context\n     * @return {?}\n     */\n    ExpressionTransformer.prototype.visitWritePropExpr = function (expr, context) {\n        return new WritePropExpr(expr.receiver.visitExpression(this, context), expr.name, expr.value.visitExpression(this, context));\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    ExpressionTransformer.prototype.visitInvokeMethodExpr = function (ast, context) {\n        var /** @type {?} */ method = ast.builtin || ast.name;\n        return new InvokeMethodExpr(ast.receiver.visitExpression(this, context), method, this.visitAllExpressions(ast.args, context), ast.type);\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    ExpressionTransformer.prototype.visitInvokeFunctionExpr = function (ast, context) {\n        return new InvokeFunctionExpr(ast.fn.visitExpression(this, context), this.visitAllExpressions(ast.args, context), ast.type);\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    ExpressionTransformer.prototype.visitInstantiateExpr = function (ast, context) {\n        return new InstantiateExpr(ast.classExpr.visitExpression(this, context), this.visitAllExpressions(ast.args, context), ast.type);\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    ExpressionTransformer.prototype.visitLiteralExpr = function (ast, context) { return ast; };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    ExpressionTransformer.prototype.visitExternalExpr = function (ast, context) { return ast; };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    ExpressionTransformer.prototype.visitConditionalExpr = function (ast, context) {\n        return new ConditionalExpr(ast.condition.visitExpression(this, context), ast.trueCase.visitExpression(this, context), ast.falseCase.visitExpression(this, context));\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    ExpressionTransformer.prototype.visitNotExpr = function (ast, context) {\n        return new NotExpr(ast.condition.visitExpression(this, context));\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    ExpressionTransformer.prototype.visitCastExpr = function (ast, context) {\n        return new CastExpr(ast.value.visitExpression(this, context), context);\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    ExpressionTransformer.prototype.visitFunctionExpr = function (ast, context) {\n        // Don't descend into nested functions\n        return ast;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    ExpressionTransformer.prototype.visitBinaryOperatorExpr = function (ast, context) {\n        return new BinaryOperatorExpr(ast.operator, ast.lhs.visitExpression(this, context), ast.rhs.visitExpression(this, context), ast.type);\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    ExpressionTransformer.prototype.visitReadPropExpr = function (ast, context) {\n        return new ReadPropExpr(ast.receiver.visitExpression(this, context), ast.name, ast.type);\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    ExpressionTransformer.prototype.visitReadKeyExpr = function (ast, context) {\n        return new ReadKeyExpr(ast.receiver.visitExpression(this, context), ast.index.visitExpression(this, context), ast.type);\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    ExpressionTransformer.prototype.visitLiteralArrayExpr = function (ast, context) {\n        return new LiteralArrayExpr(this.visitAllExpressions(ast.entries, context));\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    ExpressionTransformer.prototype.visitLiteralMapExpr = function (ast, context) {\n        var _this = this;\n        var /** @type {?} */ entries = ast.entries.map(function (entry) { return new LiteralMapEntry(entry.key, entry.value.visitExpression(_this, context), entry.quoted); });\n        return new LiteralMapExpr(entries);\n    };\n    /**\n     * @param {?} exprs\n     * @param {?} context\n     * @return {?}\n     */\n    ExpressionTransformer.prototype.visitAllExpressions = function (exprs, context) {\n        var _this = this;\n        return exprs.map(function (expr) { return expr.visitExpression(_this, context); });\n    };\n    /**\n     * @param {?} stmt\n     * @param {?} context\n     * @return {?}\n     */\n    ExpressionTransformer.prototype.visitDeclareVarStmt = function (stmt, context) {\n        return new DeclareVarStmt(stmt.name, stmt.value.visitExpression(this, context), stmt.type, stmt.modifiers);\n    };\n    /**\n     * @param {?} stmt\n     * @param {?} context\n     * @return {?}\n     */\n    ExpressionTransformer.prototype.visitDeclareFunctionStmt = function (stmt, context) {\n        // Don't descend into nested functions\n        return stmt;\n    };\n    /**\n     * @param {?} stmt\n     * @param {?} context\n     * @return {?}\n     */\n    ExpressionTransformer.prototype.visitExpressionStmt = function (stmt, context) {\n        return new ExpressionStatement(stmt.expr.visitExpression(this, context));\n    };\n    /**\n     * @param {?} stmt\n     * @param {?} context\n     * @return {?}\n     */\n    ExpressionTransformer.prototype.visitReturnStmt = function (stmt, context) {\n        return new ReturnStatement(stmt.value.visitExpression(this, context));\n    };\n    /**\n     * @param {?} stmt\n     * @param {?} context\n     * @return {?}\n     */\n    ExpressionTransformer.prototype.visitDeclareClassStmt = function (stmt, context) {\n        // Don't descend into nested functions\n        return stmt;\n    };\n    /**\n     * @param {?} stmt\n     * @param {?} context\n     * @return {?}\n     */\n    ExpressionTransformer.prototype.visitIfStmt = function (stmt, context) {\n        return new IfStmt(stmt.condition.visitExpression(this, context), this.visitAllStatements(stmt.trueCase, context), this.visitAllStatements(stmt.falseCase, context));\n    };\n    /**\n     * @param {?} stmt\n     * @param {?} context\n     * @return {?}\n     */\n    ExpressionTransformer.prototype.visitTryCatchStmt = function (stmt, context) {\n        return new TryCatchStmt(this.visitAllStatements(stmt.bodyStmts, context), this.visitAllStatements(stmt.catchStmts, context));\n    };\n    /**\n     * @param {?} stmt\n     * @param {?} context\n     * @return {?}\n     */\n    ExpressionTransformer.prototype.visitThrowStmt = function (stmt, context) {\n        return new ThrowStmt(stmt.error.visitExpression(this, context));\n    };\n    /**\n     * @param {?} stmt\n     * @param {?} context\n     * @return {?}\n     */\n    ExpressionTransformer.prototype.visitCommentStmt = function (stmt, context) { return stmt; };\n    /**\n     * @param {?} stmts\n     * @param {?} context\n     * @return {?}\n     */\n    ExpressionTransformer.prototype.visitAllStatements = function (stmts, context) {\n        var _this = this;\n        return stmts.map(function (stmt) { return stmt.visitStatement(_this, context); });\n    };\n    return ExpressionTransformer;\n}());\nexport var RecursiveExpressionVisitor = (function () {\n    function RecursiveExpressionVisitor() {\n    }\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveExpressionVisitor.prototype.visitReadVarExpr = function (ast, context) { return ast; };\n    /**\n     * @param {?} expr\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveExpressionVisitor.prototype.visitWriteVarExpr = function (expr, context) {\n        expr.value.visitExpression(this, context);\n        return expr;\n    };\n    /**\n     * @param {?} expr\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveExpressionVisitor.prototype.visitWriteKeyExpr = function (expr, context) {\n        expr.receiver.visitExpression(this, context);\n        expr.index.visitExpression(this, context);\n        expr.value.visitExpression(this, context);\n        return expr;\n    };\n    /**\n     * @param {?} expr\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveExpressionVisitor.prototype.visitWritePropExpr = function (expr, context) {\n        expr.receiver.visitExpression(this, context);\n        expr.value.visitExpression(this, context);\n        return expr;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveExpressionVisitor.prototype.visitInvokeMethodExpr = function (ast, context) {\n        ast.receiver.visitExpression(this, context);\n        this.visitAllExpressions(ast.args, context);\n        return ast;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveExpressionVisitor.prototype.visitInvokeFunctionExpr = function (ast, context) {\n        ast.fn.visitExpression(this, context);\n        this.visitAllExpressions(ast.args, context);\n        return ast;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveExpressionVisitor.prototype.visitInstantiateExpr = function (ast, context) {\n        ast.classExpr.visitExpression(this, context);\n        this.visitAllExpressions(ast.args, context);\n        return ast;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveExpressionVisitor.prototype.visitLiteralExpr = function (ast, context) { return ast; };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveExpressionVisitor.prototype.visitExternalExpr = function (ast, context) { return ast; };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveExpressionVisitor.prototype.visitConditionalExpr = function (ast, context) {\n        ast.condition.visitExpression(this, context);\n        ast.trueCase.visitExpression(this, context);\n        ast.falseCase.visitExpression(this, context);\n        return ast;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveExpressionVisitor.prototype.visitNotExpr = function (ast, context) {\n        ast.condition.visitExpression(this, context);\n        return ast;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveExpressionVisitor.prototype.visitCastExpr = function (ast, context) {\n        ast.value.visitExpression(this, context);\n        return ast;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveExpressionVisitor.prototype.visitFunctionExpr = function (ast, context) { return ast; };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveExpressionVisitor.prototype.visitBinaryOperatorExpr = function (ast, context) {\n        ast.lhs.visitExpression(this, context);\n        ast.rhs.visitExpression(this, context);\n        return ast;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveExpressionVisitor.prototype.visitReadPropExpr = function (ast, context) {\n        ast.receiver.visitExpression(this, context);\n        return ast;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveExpressionVisitor.prototype.visitReadKeyExpr = function (ast, context) {\n        ast.receiver.visitExpression(this, context);\n        ast.index.visitExpression(this, context);\n        return ast;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveExpressionVisitor.prototype.visitLiteralArrayExpr = function (ast, context) {\n        this.visitAllExpressions(ast.entries, context);\n        return ast;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveExpressionVisitor.prototype.visitLiteralMapExpr = function (ast, context) {\n        var _this = this;\n        ast.entries.forEach(function (entry) { return entry.value.visitExpression(_this, context); });\n        return ast;\n    };\n    /**\n     * @param {?} exprs\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveExpressionVisitor.prototype.visitAllExpressions = function (exprs, context) {\n        var _this = this;\n        exprs.forEach(function (expr) { return expr.visitExpression(_this, context); });\n    };\n    /**\n     * @param {?} stmt\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveExpressionVisitor.prototype.visitDeclareVarStmt = function (stmt, context) {\n        stmt.value.visitExpression(this, context);\n        return stmt;\n    };\n    /**\n     * @param {?} stmt\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveExpressionVisitor.prototype.visitDeclareFunctionStmt = function (stmt, context) {\n        // Don't descend into nested functions\n        return stmt;\n    };\n    /**\n     * @param {?} stmt\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveExpressionVisitor.prototype.visitExpressionStmt = function (stmt, context) {\n        stmt.expr.visitExpression(this, context);\n        return stmt;\n    };\n    /**\n     * @param {?} stmt\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveExpressionVisitor.prototype.visitReturnStmt = function (stmt, context) {\n        stmt.value.visitExpression(this, context);\n        return stmt;\n    };\n    /**\n     * @param {?} stmt\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveExpressionVisitor.prototype.visitDeclareClassStmt = function (stmt, context) {\n        // Don't descend into nested functions\n        return stmt;\n    };\n    /**\n     * @param {?} stmt\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveExpressionVisitor.prototype.visitIfStmt = function (stmt, context) {\n        stmt.condition.visitExpression(this, context);\n        this.visitAllStatements(stmt.trueCase, context);\n        this.visitAllStatements(stmt.falseCase, context);\n        return stmt;\n    };\n    /**\n     * @param {?} stmt\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveExpressionVisitor.prototype.visitTryCatchStmt = function (stmt, context) {\n        this.visitAllStatements(stmt.bodyStmts, context);\n        this.visitAllStatements(stmt.catchStmts, context);\n        return stmt;\n    };\n    /**\n     * @param {?} stmt\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveExpressionVisitor.prototype.visitThrowStmt = function (stmt, context) {\n        stmt.error.visitExpression(this, context);\n        return stmt;\n    };\n    /**\n     * @param {?} stmt\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveExpressionVisitor.prototype.visitCommentStmt = function (stmt, context) { return stmt; };\n    /**\n     * @param {?} stmts\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveExpressionVisitor.prototype.visitAllStatements = function (stmts, context) {\n        var _this = this;\n        stmts.forEach(function (stmt) { return stmt.visitStatement(_this, context); });\n    };\n    return RecursiveExpressionVisitor;\n}());\n/**\n * @param {?} varName\n * @param {?} newValue\n * @param {?} expression\n * @return {?}\n */\nexport function replaceVarInExpression(varName, newValue, expression) {\n    var /** @type {?} */ transformer = new _ReplaceVariableTransformer(varName, newValue);\n    return expression.visitExpression(transformer, null);\n}\nvar _ReplaceVariableTransformer = (function (_super) {\n    __extends(_ReplaceVariableTransformer, _super);\n    /**\n     * @param {?} _varName\n     * @param {?} _newValue\n     */\n    function _ReplaceVariableTransformer(_varName, _newValue) {\n        _super.call(this);\n        this._varName = _varName;\n        this._newValue = _newValue;\n    }\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    _ReplaceVariableTransformer.prototype.visitReadVarExpr = function (ast, context) {\n        return ast.name == this._varName ? this._newValue : ast;\n    };\n    return _ReplaceVariableTransformer;\n}(ExpressionTransformer));\nfunction _ReplaceVariableTransformer_tsickle_Closure_declarations() {\n    /** @type {?} */\n    _ReplaceVariableTransformer.prototype._varName;\n    /** @type {?} */\n    _ReplaceVariableTransformer.prototype._newValue;\n}\n/**\n * @param {?} stmts\n * @return {?}\n */\nexport function findReadVarNames(stmts) {\n    var /** @type {?} */ finder = new _VariableFinder();\n    finder.visitAllStatements(stmts, null);\n    return finder.varNames;\n}\nvar _VariableFinder = (function (_super) {\n    __extends(_VariableFinder, _super);\n    function _VariableFinder() {\n        _super.apply(this, arguments);\n        this.varNames = new Set();\n    }\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    _VariableFinder.prototype.visitReadVarExpr = function (ast, context) {\n        this.varNames.add(ast.name);\n        return null;\n    };\n    return _VariableFinder;\n}(RecursiveExpressionVisitor));\nfunction _VariableFinder_tsickle_Closure_declarations() {\n    /** @type {?} */\n    _VariableFinder.prototype.varNames;\n}\n/**\n * @param {?} name\n * @param {?=} type\n * @return {?}\n */\nexport function variable(name, type) {\n    if (type === void 0) { type = null; }\n    return new ReadVarExpr(name, type);\n}\n/**\n * @param {?} id\n * @param {?=} typeParams\n * @return {?}\n */\nexport function importExpr(id, typeParams) {\n    if (typeParams === void 0) { typeParams = null; }\n    return new ExternalExpr(id, null, typeParams);\n}\n/**\n * @param {?} id\n * @param {?=} typeParams\n * @param {?=} typeModifiers\n * @return {?}\n */\nexport function importType(id, typeParams, typeModifiers) {\n    if (typeParams === void 0) { typeParams = null; }\n    if (typeModifiers === void 0) { typeModifiers = null; }\n    return isPresent(id) ? expressionType(importExpr(id), typeParams, typeModifiers) : null;\n}\n/**\n * @param {?} expr\n * @param {?=} typeParams\n * @param {?=} typeModifiers\n * @return {?}\n */\nexport function expressionType(expr, typeParams, typeModifiers) {\n    if (typeParams === void 0) { typeParams = null; }\n    if (typeModifiers === void 0) { typeModifiers = null; }\n    return isPresent(expr) ? new ExpressionType(expr, typeParams, typeModifiers) : null;\n}\n/**\n * @param {?} values\n * @param {?=} type\n * @return {?}\n */\nexport function literalArr(values, type) {\n    if (type === void 0) { type = null; }\n    return new LiteralArrayExpr(values, type);\n}\n/**\n * @param {?} values\n * @param {?=} type\n * @param {?=} quoted\n * @return {?}\n */\nexport function literalMap(values, type, quoted) {\n    if (type === void 0) { type = null; }\n    if (quoted === void 0) { quoted = false; }\n    return new LiteralMapExpr(values.map(function (entry) { return new LiteralMapEntry(entry[0], entry[1], quoted); }), type);\n}\n/**\n * @param {?} expr\n * @return {?}\n */\nexport function not(expr) {\n    return new NotExpr(expr);\n}\n/**\n * @param {?} params\n * @param {?} body\n * @param {?=} type\n * @return {?}\n */\nexport function fn(params, body, type) {\n    if (type === void 0) { type = null; }\n    return new FunctionExpr(params, body, type);\n}\n/**\n * @param {?} value\n * @param {?=} type\n * @return {?}\n */\nexport function literal(value, type) {\n    if (type === void 0) { type = null; }\n    return new LiteralExpr(value, type);\n}\n//# sourceMappingURL=output_ast.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/output/output_ast.js\n// module id = 25\n// module chunks = 0","var moment = module.exports = require(\"./moment-timezone\");\r\nmoment.tz.load(require('./data/packed/latest.json'));\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/moment-timezone/index.js\n// module id = 26\n// module chunks = 0","import { Component, NgZone ,ElementRef} from '@angular/core';\r\nimport { Http} from '@angular/http';\r\nimport { Data } from './data';\r\nimport { Router, ActivatedRoute} from '@angular/router';\r\nimport { TokenService } from 'angular2-auth';\r\nimport { price_validation } from '../constant';\r\nimport { ToastsManager } from 'ng2-toastr/ng2-toastr';\r\nimport {IMyOptions, IMyDateModel} from 'mydatepicker';\r\nimport {Router_id} from './routing_hidden_id';\r\nimport {ERROR_CODE_CONSTANT , PROMO_FOR_ID, PROMO_FOR_STRING, PROMO_FOR, ORDER_STATE , TIMEOUT , ORDER_STATUS_ID, ORDER_CANCELLATION_CHARGE_TYPE, ADMIN_DATA_ID} from '../constant';\r\nimport {TranslateService} from 'ng2-translate';\r\nimport {title, button, heading_title , status , lable_title, message , menu_title} from './franchise/store_panel_string';\r\nimport {ERROR_CODE} from './franchise/store_panel_error_message ';\r\nimport {MESSAGE_CODE} from './franchise/store_panel_success_message';\r\nimport {validation_message} from './franchise/store_panel_validation_message';\r\nimport {GET_METHOD , POST_METHOD} from './franchise/store_http_methods';\r\n//import {StoreCart} from './store/cart';\r\nimport {Response } from '@angular/http';\r\n\r\n@Component({\r\n    selector: 'helper'\r\n})\r\n\r\nexport class Helper {\r\n\r\n    ///// for constant ////////////\r\n    public ADMIN_DATA_ID:any = ADMIN_DATA_ID;\r\n    public error_code : any = ERROR_CODE_CONSTANT;\r\n    public ORDER_STATE : any = ORDER_STATE;\r\n    public TIMEOUT : any = TIMEOUT;\r\n    public ORDER_STATUS_ID:any = ORDER_STATUS_ID;\r\n    public title: any = title;\r\n    public button: any = button;\r\n    public heading_title: any = heading_title;\r\n    public ERROR_CODE: any = ERROR_CODE;\r\n    public MESSAGE_CODE: any = MESSAGE_CODE;\r\n    public status: any = status;\r\n    public messages:any = message;\r\n    public menu_title:any = menu_title;\r\n    public validation_message:any = validation_message;\r\n    public ORDER_CANCELLATION_CHARGE_TYPE:any = ORDER_CANCELLATION_CHARGE_TYPE;\r\n\r\n    public GET_METHOD: any = GET_METHOD;\r\n    public POST_METHOD: any = POST_METHOD;\r\n    public lable_title: any = lable_title;\r\n\r\n    public PROMO_FOR_ID: any = PROMO_FOR_ID;\r\n    public PROMO_FOR_STRING: any = PROMO_FOR_STRING;\r\n    public PROMO_FOR: any = PROMO_FOR;\r\n\r\n    private log_boolean: Boolean = true;\r\n\r\n\r\n   \tconstructor(public trans: TranslateService, public http: Http,public ngZone:NgZone , public route: ActivatedRoute ,  public  router_id: Router_id, public toastr: ToastsManager , public router: Router,  public elementRef: ElementRef, public data: Data, public tokenService: TokenService) {}\r\n\r\n        message() {\r\n            this.toastr.dispose();\r\n            if(this.data.storage.message !== '')\r\n            {\r\n                if(this.data.storage.class == \"alert-info\")\r\n                {\r\n                    var a = this.data.storage.message;\r\n                    this.toastr.success(this.data.storage.message, null, {toastLife: TIMEOUT.TOASTER_NOTIFICATION})\r\n                }\r\n                else if(this.data.storage.class == \"alert-danger\")\r\n                {\r\n\r\n                    if(this.data.storage.code == this.error_code.TOKEN_EXPIRED || this.data.storage.code == this.error_code.STORE_DATA_NOT_FOUND)\r\n                    {\r\n                        this.router.navigate(['franchise/logout']);\r\n                    }\r\n                    this.toastr.error(this.data.storage.message, null, {toastLife: TIMEOUT.TOASTER_NOTIFICATION})\r\n\r\n                }\r\n                this.data.storage = {\r\n                    \"code\": '',\r\n                    \"message\": '',\r\n                    \"class\": ''\r\n                }\r\n            }\r\n        }\r\n\r\n        string_log(key , value){\r\n   \t        if(this.log_boolean){\r\n                console.log(key + ': ' + value);\r\n            }\r\n        }\r\n\r\n        json_log(json){\r\n            if(this.log_boolean){\r\n                console.log(json);\r\n            }\r\n        }\r\n\r\n        http_status(error)\r\n        {\r\n            if (error.status === 500) {\r\n                console.log(\"Internal Server Error\")\r\n            }\r\n            else if (error.status === 502) {\r\n                console.log(\"Bad Gateway\")\r\n            }\r\n            else if (error.status === 404) {\r\n               console.log(\"Url Not Found\")\r\n            }\r\n            else if (error.status === 503) {\r\n                console.log(\"Service Unavailable\")\r\n            }\r\n            else if (error.status === 504) {\r\n                console.log(\"Gateway Timeout\")\r\n            }\r\n            else if (error.status === 408) {\r\n                console.log(\"Request Timeout\")\r\n            }\r\n            else if (error.status === 413) {\r\n                console.log(\"Request Entity To Large\")\r\n            }\r\n        }\r\n\r\n\r\n\r\n    private myStartDatePickerOptions: IMyOptions = {\r\n            // other options...\r\n            dateFormat: 'mm-dd-yyyy',\r\n            openSelectorOnInputClick: true,\r\n            showInputField:true,\r\n            showClearDateBtn:false,\r\n            editableMonthAndYear:false,\r\n            editableDateField:false,\r\n            disableUntil:{year: null, month: null, day: null},\r\n            selectionTxtFontSize: '13px',\r\n            alignSelectorRight:false,\r\n            disableSince: {year: new Date().getFullYear(), month: new Date().getMonth()+1, day: new Date().getDate()+1}\r\n        };\r\n        private myEndDatePickerOptions: IMyOptions = {\r\n            // other options...\r\n            dateFormat: 'mm-dd-yyyy',\r\n            openSelectorOnInputClick: true,\r\n            showInputField:true,\r\n            showClearDateBtn:false,\r\n            editableMonthAndYear:false,\r\n            editableDateField:false,\r\n            disableUntil:{year: null, month: null, day: null},\r\n            selectionTxtFontSize: '13px',\r\n            alignSelectorRight:true,\r\n            disableSince: {year: new Date().getFullYear(), month: new Date().getMonth()+1, day: new Date().getDate()+1}\r\n        };\r\n        private ExpiryDatePickerOptions: IMyOptions = {\r\n            // other options...\r\n            dateFormat: 'mm-dd-yyyy',\r\n            openSelectorOnInputClick: true,\r\n            showInputField:true,\r\n            showClearDateBtn:false,\r\n            editableMonthAndYear:false,\r\n            editableDateField:false,\r\n            disableUntil:{year: new Date().getFullYear(), month: new Date().getMonth(), day: new Date().getDate()-1},\r\n            selectionTxtFontSize: '13px',\r\n            alignSelectorRight:false,\r\n            disableSince: {year: 0, month: 0, day: 0}\r\n        };\r\n        \r\n        \r\n        onStartDateChanged(event: IMyDateModel) {\r\n            // event properties are: event.date, event.jsdate, event.formatted and event.epoc\r\n            if(event.date.day !== 0)\r\n            {\r\n                this.myEndDatePickerOptions.disableUntil.year=event.date.year;\r\n                this.myEndDatePickerOptions.disableUntil.month=event.date.month;\r\n                this.myEndDatePickerOptions.disableUntil.day=event.date.day;\r\n            }\r\n            else\r\n            {\r\n                this.myEndDatePickerOptions.disableUntil.year=null;\r\n                this.myEndDatePickerOptions.disableUntil.month=null;\r\n                this.myEndDatePickerOptions.disableUntil.day=null;\r\n            }\r\n        }\r\n        onEndDateChanged(event: IMyDateModel) {\r\n            // event properties are: event.date, event.jsdate, event.formatted and event.epoc\r\n            if(event.date.day !== 0)\r\n            {\r\n                this.myStartDatePickerOptions.disableSince.year=event.date.year;\r\n                this.myStartDatePickerOptions.disableSince.month=event.date.month;\r\n                this.myStartDatePickerOptions.disableSince.day=event.date.day;\r\n            }\r\n            else\r\n            {\r\n                this.myStartDatePickerOptions.disableSince.year=new Date().getFullYear();\r\n                this.myStartDatePickerOptions.disableSince.month=new Date().getMonth()+1;\r\n                this.myStartDatePickerOptions.disableSince.day=new Date().getDate()+1;\r\n            }\r\n        }\r\n        \r\n        /// date picker for promo code //\r\n        \r\n         private promocodeStartDatePickerOptions: IMyOptions = {\r\n            // other options...\r\n            dateFormat: 'mm-dd-yyyy',\r\n            openSelectorOnInputClick: false,\r\n            showInputField:true,\r\n            showClearDateBtn:true,\r\n            editableMonthAndYear:false,\r\n            editableDateField:false,\r\n            disableUntil:{year: null, month: null, day: null},\r\n            selectionTxtFontSize: '13px',\r\n            alignSelectorRight:true,\r\n            disableSince: {year: new Date().getFullYear(), month: new Date().getMonth()+1, day: new Date().getDate()+1}\r\n        };\r\n        private promocodeEndDatePickerOptions: IMyOptions = {\r\n            // other options...\r\n            dateFormat: 'mm-dd-yyyy',\r\n            openSelectorOnInputClick: false,\r\n            showInputField:true,\r\n            showClearDateBtn:true,\r\n            editableMonthAndYear:false,\r\n            editableDateField:false,\r\n            disableUntil:{year: null, month: null, day: null},\r\n            selectionTxtFontSize: '13px',\r\n            alignSelectorRight:true,\r\n            disableSince: {year: new Date().getFullYear(), month: new Date().getMonth()+1, day: new Date().getDate()+1}\r\n        };\r\n\r\n\r\n        promocodeOnStartDateChanged(event: IMyDateModel) {\r\n            // event properties are: event.date, event.jsdate, event.formatted and event.epoc\r\n            if(event.date.day !== 0)\r\n            {\r\n                this.promocodeEndDatePickerOptions.disableUntil.year=event.date.year;\r\n                this.promocodeEndDatePickerOptions.disableUntil.month=event.date.month;\r\n                this.promocodeEndDatePickerOptions.disableUntil.day=event.date.day;\r\n            }\r\n            else\r\n            {\r\n                this.promocodeEndDatePickerOptions.disableUntil.year=null;\r\n                this.promocodeEndDatePickerOptions.disableUntil.month=null;\r\n                this.promocodeEndDatePickerOptions.disableUntil.day=null;\r\n            }\r\n        }\r\n        promocodeOnEndDateChanged(event: IMyDateModel) {\r\n            // event properties are: event.date, event.jsdate, event.formatted and event.epoc\r\n            if(event.date.day !== 0)\r\n            {\r\n                this.promocodeStartDatePickerOptions.disableSince.year=event.date.year;\r\n                this.promocodeStartDatePickerOptions.disableSince.month=event.date.month;\r\n                this.promocodeStartDatePickerOptions.disableSince.day=event.date.day;\r\n            }\r\n            else\r\n            {\r\n                this.promocodeStartDatePickerOptions.disableSince.year=new Date().getFullYear();\r\n                this.promocodeStartDatePickerOptions.disableSince.month=new Date().getMonth()+1;\r\n                this.promocodeStartDatePickerOptions.disableSince.day=new Date().getDate()+1;\r\n            }\r\n        }\r\n       \r\n        \r\n        ////\r\n\r\n        number_validation(evt)\r\n        {\r\n            var charCode = (evt.which) ? evt.which : evt.keyCode\r\n            if (charCode > 31 && (charCode < 48 || charCode > 57))\r\n            {\r\n                if( charCode == 46)\r\n                {\r\n                        return true;\r\n                }\r\n                else\r\n                {\r\n                        return false;\r\n                }\r\n            }\r\n            return true;\r\n        }\r\n\r\n        location_validation(evt)\r\n        {\r\n            var charCode = (evt.which) ? evt.which : evt.keyCode\r\n            if ((charCode > 31 && (charCode < 48 || charCode > 57)))\r\n            {\r\n                if( charCode == 46 || charCode == 45)\r\n                {\r\n                    return true;\r\n                }\r\n                else\r\n                {\r\n                    return false;\r\n                }\r\n            }\r\n            return true;\r\n        }\r\n\r\n\r\n        price_validation(evt, price)\r\n        {\r\n            var charCode = (evt.which) ? evt.which : evt.keyCode\r\n            price = price.toString();\r\n            price = price.split(\".\");\r\n            if(price[0] <= price_validation.MAX_PRICE)\r\n            {\r\n                if(price[1] == undefined)\r\n                {\r\n                    if (charCode > 31 && (charCode < 48 || charCode > 57))\r\n                    {\r\n                        if( charCode == 46 && price[0] > 1)\r\n                        {\r\n                                return true;\r\n                        }\r\n                        return false;\r\n                    }\r\n                    return true;\r\n                }\r\n                else\r\n                {\r\n                    if(price[1] <= price_validation.MAX_PRICE_AFTER_POINT)\r\n                    {\r\n                        if (charCode > 31 && (charCode < 48 || charCode > 57))\r\n                        {\r\n                            return false;\r\n                        }\r\n                        return true;\r\n                    }\r\n                    else\r\n                    {\r\n                        if(charCode == 8)\r\n                        {\r\n                            return true;\r\n                        }\r\n                        return false;\r\n                    }\r\n                }\r\n            }\r\n            else\r\n            {\r\n                if(price[1] != undefined)\r\n                {\r\n                    if(price[1] <= price_validation.MAX_PRICE_AFTER_POINT)\r\n                    {\r\n                        if (charCode > 31 && (charCode < 48 || charCode > 57))\r\n                        {\r\n                            return false;\r\n                        }\r\n                        return true;\r\n                    }\r\n                    else\r\n                    {\r\n                        if(charCode == 8)\r\n                        {\r\n                            return true;\r\n                        }\r\n                        return false;\r\n                    }\r\n                }\r\n                else\r\n                {\r\n                    if(charCode == 46 || charCode == 8)\r\n                    {\r\n                        return true;\r\n                    }\r\n                    return false;\r\n                }\r\n\r\n            }\r\n        }\r\n\r\n        getIDFromEmailToken(email_token) {\r\n\r\n            var server_token = \"\", id = \"\", milli = \"\";\r\n            var milli_seconds = 0;\r\n            var length = 30; // 13 milli seconds so * 2 => 26\r\n\r\n            var milli_token = email_token.substr(0, length);\r\n            var id_token = email_token.substr(length);\r\n\r\n            for (var i = 0; i < length; i++) {\r\n                if (i % 2 == 0) {\r\n                    milli = milli + milli_token.charAt(i);\r\n                } else {\r\n                    server_token = server_token + milli_token.charAt(i);\r\n                }\r\n            }\r\n\r\n            milli = milli.split(\"\").reverse().join(\"\");\r\n            milli_seconds = parseInt(milli);\r\n\r\n            length = id_token.length;\r\n            for (var i = 0; i < length; i++) {\r\n                if (i % 2 == 0) {\r\n                    id = id + id_token.charAt(i);\r\n                } else {\r\n                    server_token = server_token + id_token.charAt(i);\r\n                }\r\n            }\r\n            return {id:id , server_token:server_token , milli_seconds : milli_seconds};\r\n\r\n        }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise_helper.ts","module.exports = function(exec){\n  try {\n    return !!exec();\n  } catch(e){\n    return true;\n  }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_fails.js\n// module id = 28\n// module chunks = 0","module.exports = function(it){\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_is-object.js\n// module id = 29\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction isPresent(obj) {\n    return obj !== undefined && obj !== null;\n}\nexports.isPresent = isPresent;\nfunction isDate(obj) {\n    return !/Invalid|NaN/.test(new Date(obj).toString());\n}\nexports.isDate = isDate;\n//# sourceMappingURL=lang.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/util/lang.js\n// module id = 30\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\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        }\n        else if (this.hasError) {\n            subscriber.error(this.thrownError);\n            return Subscription_1.Subscription.EMPTY;\n        }\n        else if (this.isStopped) {\n            subscriber.complete();\n            return Subscription_1.Subscription.EMPTY;\n        }\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        }\n        else {\n            return Subscription_1.Subscription.EMPTY;\n        }\n    };\n    return AnonymousSubject;\n}(Subject));\nexports.AnonymousSubject = AnonymousSubject;\n//# sourceMappingURL=Subject.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/Subject.js\n// module id = 31\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';\nimport { StaticSymbol } from './aot/static_symbol';\nimport { ListWrapper } from './facade/collection';\nimport { isPresent, stringify } from './facade/lang';\nimport { reflector } from './private_import_core';\nimport { CssSelector } from './selector';\nimport { splitAtColon } from './util';\n// group 0: \"[prop] or (event) or @trigger\"\n// group 1: \"prop\" from \"[prop]\"\n// group 2: \"event\" from \"(event)\"\n// group 3: \"@trigger\" from \"@trigger\"\nvar /** @type {?} */ HOST_REG_EXP = /^(?:(?:\\[([^\\]]+)\\])|(?:\\(([^\\)]+)\\)))|(\\@[-\\w]+)$/;\nexport var CompileAnimationEntryMetadata = (function () {\n    /**\n     * @param {?=} name\n     * @param {?=} definitions\n     */\n    function CompileAnimationEntryMetadata(name, definitions) {\n        if (name === void 0) { name = null; }\n        if (definitions === void 0) { definitions = null; }\n        this.name = name;\n        this.definitions = definitions;\n    }\n    return CompileAnimationEntryMetadata;\n}());\nfunction CompileAnimationEntryMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    CompileAnimationEntryMetadata.prototype.name;\n    /** @type {?} */\n    CompileAnimationEntryMetadata.prototype.definitions;\n}\n/**\n * @abstract\n */\nexport var CompileAnimationStateMetadata = (function () {\n    function CompileAnimationStateMetadata() {\n    }\n    return CompileAnimationStateMetadata;\n}());\nexport var CompileAnimationStateDeclarationMetadata = (function (_super) {\n    __extends(CompileAnimationStateDeclarationMetadata, _super);\n    /**\n     * @param {?} stateNameExpr\n     * @param {?} styles\n     */\n    function CompileAnimationStateDeclarationMetadata(stateNameExpr, styles) {\n        _super.call(this);\n        this.stateNameExpr = stateNameExpr;\n        this.styles = styles;\n    }\n    return CompileAnimationStateDeclarationMetadata;\n}(CompileAnimationStateMetadata));\nfunction CompileAnimationStateDeclarationMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    CompileAnimationStateDeclarationMetadata.prototype.stateNameExpr;\n    /** @type {?} */\n    CompileAnimationStateDeclarationMetadata.prototype.styles;\n}\nexport var CompileAnimationStateTransitionMetadata = (function (_super) {\n    __extends(CompileAnimationStateTransitionMetadata, _super);\n    /**\n     * @param {?} stateChangeExpr\n     * @param {?} steps\n     */\n    function CompileAnimationStateTransitionMetadata(stateChangeExpr, steps) {\n        _super.call(this);\n        this.stateChangeExpr = stateChangeExpr;\n        this.steps = steps;\n    }\n    return CompileAnimationStateTransitionMetadata;\n}(CompileAnimationStateMetadata));\nfunction CompileAnimationStateTransitionMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    CompileAnimationStateTransitionMetadata.prototype.stateChangeExpr;\n    /** @type {?} */\n    CompileAnimationStateTransitionMetadata.prototype.steps;\n}\n/**\n * @abstract\n */\nexport var CompileAnimationMetadata = (function () {\n    function CompileAnimationMetadata() {\n    }\n    return CompileAnimationMetadata;\n}());\nexport var CompileAnimationKeyframesSequenceMetadata = (function (_super) {\n    __extends(CompileAnimationKeyframesSequenceMetadata, _super);\n    /**\n     * @param {?=} steps\n     */\n    function CompileAnimationKeyframesSequenceMetadata(steps) {\n        if (steps === void 0) { steps = []; }\n        _super.call(this);\n        this.steps = steps;\n    }\n    return CompileAnimationKeyframesSequenceMetadata;\n}(CompileAnimationMetadata));\nfunction CompileAnimationKeyframesSequenceMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    CompileAnimationKeyframesSequenceMetadata.prototype.steps;\n}\nexport var CompileAnimationStyleMetadata = (function (_super) {\n    __extends(CompileAnimationStyleMetadata, _super);\n    /**\n     * @param {?} offset\n     * @param {?=} styles\n     */\n    function CompileAnimationStyleMetadata(offset, styles) {\n        if (styles === void 0) { styles = null; }\n        _super.call(this);\n        this.offset = offset;\n        this.styles = styles;\n    }\n    return CompileAnimationStyleMetadata;\n}(CompileAnimationMetadata));\nfunction CompileAnimationStyleMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    CompileAnimationStyleMetadata.prototype.offset;\n    /** @type {?} */\n    CompileAnimationStyleMetadata.prototype.styles;\n}\nexport var CompileAnimationAnimateMetadata = (function (_super) {\n    __extends(CompileAnimationAnimateMetadata, _super);\n    /**\n     * @param {?=} timings\n     * @param {?=} styles\n     */\n    function CompileAnimationAnimateMetadata(timings, styles) {\n        if (timings === void 0) { timings = 0; }\n        if (styles === void 0) { styles = null; }\n        _super.call(this);\n        this.timings = timings;\n        this.styles = styles;\n    }\n    return CompileAnimationAnimateMetadata;\n}(CompileAnimationMetadata));\nfunction CompileAnimationAnimateMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    CompileAnimationAnimateMetadata.prototype.timings;\n    /** @type {?} */\n    CompileAnimationAnimateMetadata.prototype.styles;\n}\n/**\n * @abstract\n */\nexport var CompileAnimationWithStepsMetadata = (function (_super) {\n    __extends(CompileAnimationWithStepsMetadata, _super);\n    /**\n     * @param {?=} steps\n     */\n    function CompileAnimationWithStepsMetadata(steps) {\n        if (steps === void 0) { steps = null; }\n        _super.call(this);\n        this.steps = steps;\n    }\n    return CompileAnimationWithStepsMetadata;\n}(CompileAnimationMetadata));\nfunction CompileAnimationWithStepsMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    CompileAnimationWithStepsMetadata.prototype.steps;\n}\nexport var CompileAnimationSequenceMetadata = (function (_super) {\n    __extends(CompileAnimationSequenceMetadata, _super);\n    /**\n     * @param {?=} steps\n     */\n    function CompileAnimationSequenceMetadata(steps) {\n        if (steps === void 0) { steps = null; }\n        _super.call(this, steps);\n    }\n    return CompileAnimationSequenceMetadata;\n}(CompileAnimationWithStepsMetadata));\nexport var CompileAnimationGroupMetadata = (function (_super) {\n    __extends(CompileAnimationGroupMetadata, _super);\n    /**\n     * @param {?=} steps\n     */\n    function CompileAnimationGroupMetadata(steps) {\n        if (steps === void 0) { steps = null; }\n        _super.call(this, steps);\n    }\n    return CompileAnimationGroupMetadata;\n}(CompileAnimationWithStepsMetadata));\n/**\n * @param {?} name\n * @return {?}\n */\nfunction _sanitizeIdentifier(name) {\n    return name.replace(/\\W/g, '_');\n}\nvar /** @type {?} */ _anonymousTypeIndex = 0;\n/**\n * @param {?} compileIdentifier\n * @return {?}\n */\nexport function identifierName(compileIdentifier) {\n    if (!compileIdentifier || !compileIdentifier.reference) {\n        return null;\n    }\n    var /** @type {?} */ ref = compileIdentifier.reference;\n    if (ref instanceof StaticSymbol) {\n        return ref.name;\n    }\n    if (ref['__anonymousType']) {\n        return ref['__anonymousType'];\n    }\n    var /** @type {?} */ identifier = stringify(ref);\n    if (identifier.indexOf('(') >= 0) {\n        // case: anonymous functions!\n        identifier = \"anonymous_\" + _anonymousTypeIndex++;\n        ref['__anonymousType'] = identifier;\n    }\n    else {\n        identifier = _sanitizeIdentifier(identifier);\n    }\n    return identifier;\n}\n/**\n * @param {?} compileIdentifier\n * @return {?}\n */\nexport function identifierModuleUrl(compileIdentifier) {\n    var /** @type {?} */ ref = compileIdentifier.reference;\n    if (ref instanceof StaticSymbol) {\n        return ref.filePath;\n    }\n    return reflector.importUri(ref);\n}\nexport var CompileSummaryKind = {};\nCompileSummaryKind.Pipe = 0;\nCompileSummaryKind.Directive = 1;\nCompileSummaryKind.NgModule = 2;\nCompileSummaryKind.Injectable = 3;\nCompileSummaryKind[CompileSummaryKind.Pipe] = \"Pipe\";\nCompileSummaryKind[CompileSummaryKind.Directive] = \"Directive\";\nCompileSummaryKind[CompileSummaryKind.NgModule] = \"NgModule\";\nCompileSummaryKind[CompileSummaryKind.Injectable] = \"Injectable\";\n/**\n * @param {?} token\n * @return {?}\n */\nexport function tokenName(token) {\n    return isPresent(token.value) ? _sanitizeIdentifier(token.value) :\n        identifierName(token.identifier);\n}\n/**\n * @param {?} token\n * @return {?}\n */\nexport function tokenReference(token) {\n    if (isPresent(token.identifier)) {\n        return token.identifier.reference;\n    }\n    else {\n        return token.value;\n    }\n}\n/**\n * Metadata about a stylesheet\n */\nexport var CompileStylesheetMetadata = (function () {\n    /**\n     * @param {?=} __0\n     */\n    function CompileStylesheetMetadata(_a) {\n        var _b = _a === void 0 ? {} : _a, moduleUrl = _b.moduleUrl, styles = _b.styles, styleUrls = _b.styleUrls;\n        this.moduleUrl = moduleUrl;\n        this.styles = _normalizeArray(styles);\n        this.styleUrls = _normalizeArray(styleUrls);\n    }\n    return CompileStylesheetMetadata;\n}());\nfunction CompileStylesheetMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    CompileStylesheetMetadata.prototype.moduleUrl;\n    /** @type {?} */\n    CompileStylesheetMetadata.prototype.styles;\n    /** @type {?} */\n    CompileStylesheetMetadata.prototype.styleUrls;\n}\n/**\n * Metadata regarding compilation of a template.\n */\nexport var CompileTemplateMetadata = (function () {\n    /**\n     * @param {?=} __0\n     */\n    function CompileTemplateMetadata(_a) {\n        var _b = _a === void 0 ? {} : _a, encapsulation = _b.encapsulation, template = _b.template, templateUrl = _b.templateUrl, styles = _b.styles, styleUrls = _b.styleUrls, externalStylesheets = _b.externalStylesheets, animations = _b.animations, ngContentSelectors = _b.ngContentSelectors, interpolation = _b.interpolation;\n        this.encapsulation = encapsulation;\n        this.template = template;\n        this.templateUrl = templateUrl;\n        this.styles = _normalizeArray(styles);\n        this.styleUrls = _normalizeArray(styleUrls);\n        this.externalStylesheets = _normalizeArray(externalStylesheets);\n        this.animations = animations ? ListWrapper.flatten(animations) : [];\n        this.ngContentSelectors = ngContentSelectors || [];\n        if (interpolation && interpolation.length != 2) {\n            throw new Error(\"'interpolation' should have a start and an end symbol.\");\n        }\n        this.interpolation = interpolation;\n    }\n    /**\n     * @return {?}\n     */\n    CompileTemplateMetadata.prototype.toSummary = function () {\n        return {\n            animations: this.animations.map(function (anim) { return anim.name; }),\n            ngContentSelectors: this.ngContentSelectors,\n            encapsulation: this.encapsulation\n        };\n    };\n    return CompileTemplateMetadata;\n}());\nfunction CompileTemplateMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    CompileTemplateMetadata.prototype.encapsulation;\n    /** @type {?} */\n    CompileTemplateMetadata.prototype.template;\n    /** @type {?} */\n    CompileTemplateMetadata.prototype.templateUrl;\n    /** @type {?} */\n    CompileTemplateMetadata.prototype.styles;\n    /** @type {?} */\n    CompileTemplateMetadata.prototype.styleUrls;\n    /** @type {?} */\n    CompileTemplateMetadata.prototype.externalStylesheets;\n    /** @type {?} */\n    CompileTemplateMetadata.prototype.animations;\n    /** @type {?} */\n    CompileTemplateMetadata.prototype.ngContentSelectors;\n    /** @type {?} */\n    CompileTemplateMetadata.prototype.interpolation;\n}\n/**\n * Metadata regarding compilation of a directive.\n */\nexport var CompileDirectiveMetadata = (function () {\n    /**\n     * @param {?=} __0\n     */\n    function CompileDirectiveMetadata(_a) {\n        var _b = _a === void 0 ? {} : _a, isHost = _b.isHost, type = _b.type, isComponent = _b.isComponent, selector = _b.selector, exportAs = _b.exportAs, changeDetection = _b.changeDetection, inputs = _b.inputs, outputs = _b.outputs, hostListeners = _b.hostListeners, hostProperties = _b.hostProperties, hostAttributes = _b.hostAttributes, providers = _b.providers, viewProviders = _b.viewProviders, queries = _b.queries, viewQueries = _b.viewQueries, entryComponents = _b.entryComponents, template = _b.template;\n        this.isHost = !!isHost;\n        this.type = type;\n        this.isComponent = isComponent;\n        this.selector = selector;\n        this.exportAs = exportAs;\n        this.changeDetection = changeDetection;\n        this.inputs = inputs;\n        this.outputs = outputs;\n        this.hostListeners = hostListeners;\n        this.hostProperties = hostProperties;\n        this.hostAttributes = hostAttributes;\n        this.providers = _normalizeArray(providers);\n        this.viewProviders = _normalizeArray(viewProviders);\n        this.queries = _normalizeArray(queries);\n        this.viewQueries = _normalizeArray(viewQueries);\n        this.entryComponents = _normalizeArray(entryComponents);\n        this.template = template;\n    }\n    /**\n     * @param {?=} __0\n     * @return {?}\n     */\n    CompileDirectiveMetadata.create = function (_a) {\n        var _b = _a === void 0 ? {} : _a, isHost = _b.isHost, type = _b.type, isComponent = _b.isComponent, selector = _b.selector, exportAs = _b.exportAs, changeDetection = _b.changeDetection, inputs = _b.inputs, outputs = _b.outputs, host = _b.host, providers = _b.providers, viewProviders = _b.viewProviders, queries = _b.queries, viewQueries = _b.viewQueries, entryComponents = _b.entryComponents, template = _b.template;\n        var /** @type {?} */ hostListeners = {};\n        var /** @type {?} */ hostProperties = {};\n        var /** @type {?} */ hostAttributes = {};\n        if (isPresent(host)) {\n            Object.keys(host).forEach(function (key) {\n                var /** @type {?} */ value = host[key];\n                var /** @type {?} */ matches = key.match(HOST_REG_EXP);\n                if (matches === null) {\n                    hostAttributes[key] = value;\n                }\n                else if (isPresent(matches[1])) {\n                    hostProperties[matches[1]] = value;\n                }\n                else if (isPresent(matches[2])) {\n                    hostListeners[matches[2]] = value;\n                }\n            });\n        }\n        var /** @type {?} */ inputsMap = {};\n        if (isPresent(inputs)) {\n            inputs.forEach(function (bindConfig) {\n                // canonical syntax: `dirProp: elProp`\n                // if there is no `:`, use dirProp = elProp\n                var /** @type {?} */ parts = splitAtColon(bindConfig, [bindConfig, bindConfig]);\n                inputsMap[parts[0]] = parts[1];\n            });\n        }\n        var /** @type {?} */ outputsMap = {};\n        if (isPresent(outputs)) {\n            outputs.forEach(function (bindConfig) {\n                // canonical syntax: `dirProp: elProp`\n                // if there is no `:`, use dirProp = elProp\n                var /** @type {?} */ parts = splitAtColon(bindConfig, [bindConfig, bindConfig]);\n                outputsMap[parts[0]] = parts[1];\n            });\n        }\n        return new CompileDirectiveMetadata({\n            isHost: isHost,\n            type: type,\n            isComponent: !!isComponent, selector: selector, exportAs: exportAs, changeDetection: changeDetection,\n            inputs: inputsMap,\n            outputs: outputsMap,\n            hostListeners: hostListeners,\n            hostProperties: hostProperties,\n            hostAttributes: hostAttributes,\n            providers: providers,\n            viewProviders: viewProviders,\n            queries: queries,\n            viewQueries: viewQueries,\n            entryComponents: entryComponents,\n            template: template,\n        });\n    };\n    /**\n     * @return {?}\n     */\n    CompileDirectiveMetadata.prototype.toSummary = function () {\n        return {\n            summaryKind: CompileSummaryKind.Directive,\n            type: this.type,\n            isComponent: this.isComponent,\n            selector: this.selector,\n            exportAs: this.exportAs,\n            inputs: this.inputs,\n            outputs: this.outputs,\n            hostListeners: this.hostListeners,\n            hostProperties: this.hostProperties,\n            hostAttributes: this.hostAttributes,\n            providers: this.providers,\n            viewProviders: this.viewProviders,\n            queries: this.queries,\n            entryComponents: this.entryComponents,\n            changeDetection: this.changeDetection,\n            template: this.template && this.template.toSummary()\n        };\n    };\n    return CompileDirectiveMetadata;\n}());\nfunction CompileDirectiveMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    CompileDirectiveMetadata.prototype.isHost;\n    /** @type {?} */\n    CompileDirectiveMetadata.prototype.type;\n    /** @type {?} */\n    CompileDirectiveMetadata.prototype.isComponent;\n    /** @type {?} */\n    CompileDirectiveMetadata.prototype.selector;\n    /** @type {?} */\n    CompileDirectiveMetadata.prototype.exportAs;\n    /** @type {?} */\n    CompileDirectiveMetadata.prototype.changeDetection;\n    /** @type {?} */\n    CompileDirectiveMetadata.prototype.inputs;\n    /** @type {?} */\n    CompileDirectiveMetadata.prototype.outputs;\n    /** @type {?} */\n    CompileDirectiveMetadata.prototype.hostListeners;\n    /** @type {?} */\n    CompileDirectiveMetadata.prototype.hostProperties;\n    /** @type {?} */\n    CompileDirectiveMetadata.prototype.hostAttributes;\n    /** @type {?} */\n    CompileDirectiveMetadata.prototype.providers;\n    /** @type {?} */\n    CompileDirectiveMetadata.prototype.viewProviders;\n    /** @type {?} */\n    CompileDirectiveMetadata.prototype.queries;\n    /** @type {?} */\n    CompileDirectiveMetadata.prototype.viewQueries;\n    /** @type {?} */\n    CompileDirectiveMetadata.prototype.entryComponents;\n    /** @type {?} */\n    CompileDirectiveMetadata.prototype.template;\n}\n/**\n * Construct {\\@link CompileDirectiveMetadata} from {\\@link ComponentTypeMetadata} and a selector.\n * @param {?} typeReference\n * @param {?} compMeta\n * @return {?}\n */\nexport function createHostComponentMeta(typeReference, compMeta) {\n    var /** @type {?} */ template = CssSelector.parse(compMeta.selector)[0].getMatchingElementTemplate();\n    return CompileDirectiveMetadata.create({\n        isHost: true,\n        type: { reference: typeReference, diDeps: [], lifecycleHooks: [] },\n        template: new CompileTemplateMetadata({\n            encapsulation: ViewEncapsulation.None,\n            template: template,\n            templateUrl: '',\n            styles: [],\n            styleUrls: [],\n            ngContentSelectors: [],\n            animations: []\n        }),\n        changeDetection: ChangeDetectionStrategy.Default,\n        inputs: [],\n        outputs: [],\n        host: {},\n        isComponent: true,\n        selector: '*',\n        providers: [],\n        viewProviders: [],\n        queries: [],\n        viewQueries: []\n    });\n}\nexport var CompilePipeMetadata = (function () {\n    /**\n     * @param {?=} __0\n     */\n    function CompilePipeMetadata(_a) {\n        var _b = _a === void 0 ? {} : _a, type = _b.type, name = _b.name, pure = _b.pure;\n        this.type = type;\n        this.name = name;\n        this.pure = !!pure;\n    }\n    /**\n     * @return {?}\n     */\n    CompilePipeMetadata.prototype.toSummary = function () {\n        return {\n            summaryKind: CompileSummaryKind.Pipe,\n            type: this.type,\n            name: this.name,\n            pure: this.pure\n        };\n    };\n    return CompilePipeMetadata;\n}());\nfunction CompilePipeMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    CompilePipeMetadata.prototype.type;\n    /** @type {?} */\n    CompilePipeMetadata.prototype.name;\n    /** @type {?} */\n    CompilePipeMetadata.prototype.pure;\n}\n/**\n * Metadata regarding compilation of a module.\n */\nexport var CompileNgModuleMetadata = (function () {\n    /**\n     * @param {?=} __0\n     */\n    function CompileNgModuleMetadata(_a) {\n        var _b = _a === void 0 ? {} : _a, type = _b.type, providers = _b.providers, declaredDirectives = _b.declaredDirectives, exportedDirectives = _b.exportedDirectives, declaredPipes = _b.declaredPipes, exportedPipes = _b.exportedPipes, entryComponents = _b.entryComponents, bootstrapComponents = _b.bootstrapComponents, importedModules = _b.importedModules, exportedModules = _b.exportedModules, schemas = _b.schemas, transitiveModule = _b.transitiveModule, id = _b.id;\n        this.type = type;\n        this.declaredDirectives = _normalizeArray(declaredDirectives);\n        this.exportedDirectives = _normalizeArray(exportedDirectives);\n        this.declaredPipes = _normalizeArray(declaredPipes);\n        this.exportedPipes = _normalizeArray(exportedPipes);\n        this.providers = _normalizeArray(providers);\n        this.entryComponents = _normalizeArray(entryComponents);\n        this.bootstrapComponents = _normalizeArray(bootstrapComponents);\n        this.importedModules = _normalizeArray(importedModules);\n        this.exportedModules = _normalizeArray(exportedModules);\n        this.schemas = _normalizeArray(schemas);\n        this.id = id;\n        this.transitiveModule = transitiveModule;\n    }\n    /**\n     * @return {?}\n     */\n    CompileNgModuleMetadata.prototype.toSummary = function () {\n        return {\n            summaryKind: CompileSummaryKind.NgModule,\n            type: this.type,\n            entryComponents: this.transitiveModule.entryComponents,\n            providers: this.transitiveModule.providers,\n            modules: this.transitiveModule.modules,\n            exportedDirectives: this.transitiveModule.exportedDirectives,\n            exportedPipes: this.transitiveModule.exportedPipes\n        };\n    };\n    return CompileNgModuleMetadata;\n}());\nfunction CompileNgModuleMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    CompileNgModuleMetadata.prototype.type;\n    /** @type {?} */\n    CompileNgModuleMetadata.prototype.declaredDirectives;\n    /** @type {?} */\n    CompileNgModuleMetadata.prototype.exportedDirectives;\n    /** @type {?} */\n    CompileNgModuleMetadata.prototype.declaredPipes;\n    /** @type {?} */\n    CompileNgModuleMetadata.prototype.exportedPipes;\n    /** @type {?} */\n    CompileNgModuleMetadata.prototype.entryComponents;\n    /** @type {?} */\n    CompileNgModuleMetadata.prototype.bootstrapComponents;\n    /** @type {?} */\n    CompileNgModuleMetadata.prototype.providers;\n    /** @type {?} */\n    CompileNgModuleMetadata.prototype.importedModules;\n    /** @type {?} */\n    CompileNgModuleMetadata.prototype.exportedModules;\n    /** @type {?} */\n    CompileNgModuleMetadata.prototype.schemas;\n    /** @type {?} */\n    CompileNgModuleMetadata.prototype.id;\n    /** @type {?} */\n    CompileNgModuleMetadata.prototype.transitiveModule;\n}\nexport var TransitiveCompileNgModuleMetadata = (function () {\n    function TransitiveCompileNgModuleMetadata() {\n        this.directivesSet = new Set();\n        this.directives = [];\n        this.exportedDirectivesSet = new Set();\n        this.exportedDirectives = [];\n        this.pipesSet = new Set();\n        this.pipes = [];\n        this.exportedPipesSet = new Set();\n        this.exportedPipes = [];\n        this.modulesSet = new Set();\n        this.modules = [];\n        this.entryComponentsSet = new Set();\n        this.entryComponents = [];\n        this.providers = [];\n    }\n    /**\n     * @param {?} provider\n     * @param {?} module\n     * @return {?}\n     */\n    TransitiveCompileNgModuleMetadata.prototype.addProvider = function (provider, module) {\n        this.providers.push({ provider: provider, module: module });\n    };\n    /**\n     * @param {?} id\n     * @return {?}\n     */\n    TransitiveCompileNgModuleMetadata.prototype.addDirective = function (id) {\n        if (!this.directivesSet.has(id.reference)) {\n            this.directivesSet.add(id.reference);\n            this.directives.push(id);\n        }\n    };\n    /**\n     * @param {?} id\n     * @return {?}\n     */\n    TransitiveCompileNgModuleMetadata.prototype.addExportedDirective = function (id) {\n        if (!this.exportedDirectivesSet.has(id.reference)) {\n            this.exportedDirectivesSet.add(id.reference);\n            this.exportedDirectives.push(id);\n        }\n    };\n    /**\n     * @param {?} id\n     * @return {?}\n     */\n    TransitiveCompileNgModuleMetadata.prototype.addPipe = function (id) {\n        if (!this.pipesSet.has(id.reference)) {\n            this.pipesSet.add(id.reference);\n            this.pipes.push(id);\n        }\n    };\n    /**\n     * @param {?} id\n     * @return {?}\n     */\n    TransitiveCompileNgModuleMetadata.prototype.addExportedPipe = function (id) {\n        if (!this.exportedPipesSet.has(id.reference)) {\n            this.exportedPipesSet.add(id.reference);\n            this.exportedPipes.push(id);\n        }\n    };\n    /**\n     * @param {?} id\n     * @return {?}\n     */\n    TransitiveCompileNgModuleMetadata.prototype.addModule = function (id) {\n        if (!this.modulesSet.has(id.reference)) {\n            this.modulesSet.add(id.reference);\n            this.modules.push(id);\n        }\n    };\n    /**\n     * @param {?} id\n     * @return {?}\n     */\n    TransitiveCompileNgModuleMetadata.prototype.addEntryComponent = function (id) {\n        if (!this.entryComponentsSet.has(id.reference)) {\n            this.entryComponentsSet.add(id.reference);\n            this.entryComponents.push(id);\n        }\n    };\n    return TransitiveCompileNgModuleMetadata;\n}());\nfunction TransitiveCompileNgModuleMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    TransitiveCompileNgModuleMetadata.prototype.directivesSet;\n    /** @type {?} */\n    TransitiveCompileNgModuleMetadata.prototype.directives;\n    /** @type {?} */\n    TransitiveCompileNgModuleMetadata.prototype.exportedDirectivesSet;\n    /** @type {?} */\n    TransitiveCompileNgModuleMetadata.prototype.exportedDirectives;\n    /** @type {?} */\n    TransitiveCompileNgModuleMetadata.prototype.pipesSet;\n    /** @type {?} */\n    TransitiveCompileNgModuleMetadata.prototype.pipes;\n    /** @type {?} */\n    TransitiveCompileNgModuleMetadata.prototype.exportedPipesSet;\n    /** @type {?} */\n    TransitiveCompileNgModuleMetadata.prototype.exportedPipes;\n    /** @type {?} */\n    TransitiveCompileNgModuleMetadata.prototype.modulesSet;\n    /** @type {?} */\n    TransitiveCompileNgModuleMetadata.prototype.modules;\n    /** @type {?} */\n    TransitiveCompileNgModuleMetadata.prototype.entryComponentsSet;\n    /** @type {?} */\n    TransitiveCompileNgModuleMetadata.prototype.entryComponents;\n    /** @type {?} */\n    TransitiveCompileNgModuleMetadata.prototype.providers;\n}\n/**\n * @param {?} obj\n * @return {?}\n */\nfunction _normalizeArray(obj) {\n    return obj || [];\n}\nexport var ProviderMeta = (function () {\n    /**\n     * @param {?} token\n     * @param {?} __1\n     */\n    function ProviderMeta(token, _a) {\n        var useClass = _a.useClass, useValue = _a.useValue, useExisting = _a.useExisting, useFactory = _a.useFactory, deps = _a.deps, multi = _a.multi;\n        this.token = token;\n        this.useClass = useClass;\n        this.useValue = useValue;\n        this.useExisting = useExisting;\n        this.useFactory = useFactory;\n        this.dependencies = deps;\n        this.multi = !!multi;\n    }\n    return ProviderMeta;\n}());\nfunction ProviderMeta_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ProviderMeta.prototype.token;\n    /** @type {?} */\n    ProviderMeta.prototype.useClass;\n    /** @type {?} */\n    ProviderMeta.prototype.useValue;\n    /** @type {?} */\n    ProviderMeta.prototype.useExisting;\n    /** @type {?} */\n    ProviderMeta.prototype.useFactory;\n    /** @type {?} */\n    ProviderMeta.prototype.dependencies;\n    /** @type {?} */\n    ProviderMeta.prototype.multi;\n}\n//# sourceMappingURL=compile_metadata.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/compile_metadata.js\n// module id = 32\n// module chunks = 0","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):e.js2excel=t()}(this,function(){\"use strict\";function e(){throw new Error(\"Dynamic requires are not currently supported by rollup-plugin-commonjs\")}function t(e,t){return t={exports:{}},e(t,t.exports),t.exports}function r(){}function n(){n.init.call(this)}function a(e){return void 0===e._maxListeners?n.defaultMaxListeners:e._maxListeners}function i(e,t,r){if(t)e.call(r);else for(var n=e.length,a=g(e,n),i=0;i<n;++i)a[i].call(r)}function s(e,t,r,n){if(t)e.call(r,n);else for(var a=e.length,i=g(e,a),s=0;s<a;++s)i[s].call(r,n)}function o(e,t,r,n,a){if(t)e.call(r,n,a);else for(var i=e.length,s=g(e,i),o=0;o<i;++o)s[o].call(r,n,a)}function l(e,t,r,n,a,i){if(t)e.call(r,n,a,i);else for(var s=e.length,o=g(e,s),l=0;l<s;++l)o[l].call(r,n,a,i)}function c(e,t,r,n){if(t)e.apply(r,n);else for(var a=e.length,i=g(e,a),s=0;s<a;++s)i[s].apply(r,n)}function f(e,t,n,i){var s,o,l;if(\"function\"!=typeof n)throw new TypeError('\"listener\" argument must be a function');if((o=e._events)?(o.newListener&&(e.emit(\"newListener\",t,n.listener?n.listener:n),o=e._events),l=o[t]):(o=e._events=new r,e._eventsCount=0),l){if(\"function\"==typeof l?l=o[t]=i?[n,l]:[l,n]:i?l.unshift(n):l.push(n),!l.warned&&(s=a(e))&&s>0&&l.length>s){l.warned=!0;var c=new Error(\"Possible EventEmitter memory leak detected. \"+l.length+\" \"+t+\" listeners added. Use emitter.setMaxListeners() to increase limit\");c.name=\"MaxListenersExceededWarning\",c.emitter=e,c.type=t,c.count=l.length,h(c)}}else l=o[t]=n,++e._eventsCount;return e}function h(e){console.warn}function u(e,t,r){function n(){e.removeListener(t,n),a||(a=!0,r.apply(e,arguments))}var a=!1;return n.listener=r,n}function d(e){var t=this._events;if(t){var r=t[e];if(\"function\"==typeof r)return 1;if(r)return r.length}return 0}function p(e,t){for(var r=t,n=r+1,a=e.length;n<a;r+=1,n+=1)e[r]=e[n];e.pop()}function g(e,t){for(var r=new Array(t);t--;)r[t]=e[t];return r}function m(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}function b(){throw new Error(\"setTimeout has not been defined\")}function v(){throw new Error(\"clearTimeout has not been defined\")}function E(e){if(mr===setTimeout)return setTimeout(e,0);if((mr===b||!mr)&&setTimeout)return mr=setTimeout,setTimeout(e,0);try{return mr(e,0)}catch(t){try{return mr.call(null,e,0)}catch(t){return mr.call(this,e,0)}}}function C(e){if(br===clearTimeout)return clearTimeout(e);if((br===v||!br)&&clearTimeout)return br=clearTimeout,clearTimeout(e);try{return br(e)}catch(t){try{return br.call(null,e)}catch(t){return br.call(this,e)}}}function w(){Cr&&vr&&(Cr=!1,vr.length?Er=vr.concat(Er):wr=-1,Er.length&&S())}function S(){if(!Cr){var e=E(w);Cr=!0;for(var t=Er.length;t;){for(vr=Er,Er=[];++wr<t;)vr&&vr[wr].run();wr=-1,t=Er.length}vr=null,Cr=!1,C(e)}}function A(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];Er.push(new B(e,t)),1!==Er.length||Cr||E(S)}function B(e,t){this.fun=e,this.array=t}function _(){}function T(e){if(!H(e)){for(var t=[],r=0;r<arguments.length;r++)t.push(k(arguments[r]));return t.join(\" \")}for(var r=1,n=arguments,a=n.length,i=String(e).replace(zr,function(e){if(\"%%\"===e)return\"%\";if(r>=a)return e;switch(e){case\"%s\":return String(n[r++]);case\"%d\":return Number(n[r++]);case\"%j\":try{return JSON.stringify(n[r++])}catch(e){return\"[Circular]\"}default:return e}}),s=n[r];r<a;s=n[++r])W(s)||!G(s)?i+=\" \"+s:i+=\" \"+k(s);return i}function y(e,t){if(V(global.process))return function(){return y(e,t).apply(this,arguments)};if(!0===Ur.noDeprecation)return e;var r=!1;return function(){if(!r){if(Ur.throwDeprecation)throw new Error(t);Ur.traceDeprecation,r=!0}return e.apply(this,arguments)}}function k(e,t){var r={seen:[],stylize:R};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),U(t)?r.showHidden=t:t&&Z(r,t),V(r.showHidden)&&(r.showHidden=!1),V(r.depth)&&(r.depth=2),V(r.colors)&&(r.colors=!1),V(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=x),O(r,e,r.depth)}function x(e,t){var r=k.styles[t];return r?\"\u001b[\"+k.colors[r][0]+\"m\"+e+\"\u001b[\"+k.colors[r][1]+\"m\":e}function R(e,t){return e}function I(e){var t={};return e.forEach(function(e,r){t[e]=!0}),t}function O(e,t,r){if(e.customInspect&&t&&K(t.inspect)&&t.inspect!==k&&(!t.constructor||t.constructor.prototype!==t)){var n=t.inspect(r,e);return H(n)||(n=O(e,n,r)),n}var a=D(e,t);if(a)return a;var i=Object.keys(t),s=I(i);if(e.showHidden&&(i=Object.getOwnPropertyNames(t)),Y(t)&&(i.indexOf(\"message\")>=0||i.indexOf(\"description\")>=0))return P(t);if(0===i.length){if(K(t)){var o=t.name?\": \"+t.name:\"\";return e.stylize(\"[Function\"+o+\"]\",\"special\")}if(X(t))return e.stylize(RegExp.prototype.toString.call(t),\"regexp\");if(j(t))return e.stylize(Date.prototype.toString.call(t),\"date\");if(Y(t))return P(t)}var l=\"\",c=!1,f=[\"{\",\"}\"];if(M(t)&&(c=!0,f=[\"[\",\"]\"]),K(t)&&(l=\" [Function\"+(t.name?\": \"+t.name:\"\")+\"]\"),X(t)&&(l=\" \"+RegExp.prototype.toString.call(t)),j(t)&&(l=\" \"+Date.prototype.toUTCString.call(t)),Y(t)&&(l=\" \"+P(t)),0===i.length&&(!c||0==t.length))return f[0]+l+f[1];if(r<0)return X(t)?e.stylize(RegExp.prototype.toString.call(t),\"regexp\"):e.stylize(\"[Object]\",\"special\");e.seen.push(t);var h;return h=c?F(e,t,r,s,i):i.map(function(n){return N(e,t,r,s,n,c)}),e.seen.pop(),L(h,l,f)}function D(e,t){if(V(t))return e.stylize(\"undefined\",\"undefined\");if(H(t)){var r=\"'\"+JSON.stringify(t).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return e.stylize(r,\"string\")}return z(t)?e.stylize(\"\"+t,\"number\"):U(t)?e.stylize(\"\"+t,\"boolean\"):W(t)?e.stylize(\"null\",\"null\"):void 0}function P(e){return\"[\"+Error.prototype.toString.call(e)+\"]\"}function F(e,t,r,n,a){for(var i=[],s=0,o=t.length;s<o;++s)Q(t,String(s))?i.push(N(e,t,r,n,String(s),!0)):i.push(\"\");return a.forEach(function(a){a.match(/^\\d+$/)||i.push(N(e,t,r,n,a,!0))}),i}function N(e,t,r,n,a,i){var s,o,l;if((l=Object.getOwnPropertyDescriptor(t,a)||{value:t[a]}).get?o=l.set?e.stylize(\"[Getter/Setter]\",\"special\"):e.stylize(\"[Getter]\",\"special\"):l.set&&(o=e.stylize(\"[Setter]\",\"special\")),Q(n,a)||(s=\"[\"+a+\"]\"),o||(e.seen.indexOf(l.value)<0?(o=W(r)?O(e,l.value,null):O(e,l.value,r-1)).indexOf(\"\\n\")>-1&&(o=i?o.split(\"\\n\").map(function(e){return\"  \"+e}).join(\"\\n\").substr(2):\"\\n\"+o.split(\"\\n\").map(function(e){return\"   \"+e}).join(\"\\n\")):o=e.stylize(\"[Circular]\",\"special\")),V(s)){if(i&&a.match(/^\\d+$/))return o;(s=JSON.stringify(\"\"+a)).match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,\"name\")):(s=s.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),s=e.stylize(s,\"string\"))}return s+\": \"+o}function L(e,t,r){var n=0;return e.reduce(function(e,t){return n++,t.indexOf(\"\\n\")>=0&&n++,e+t.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0)>60?r[0]+(\"\"===t?\"\":t+\"\\n \")+\" \"+e.join(\",\\n  \")+\" \"+r[1]:r[0]+t+\" \"+e.join(\", \")+\" \"+r[1]}function M(e){return Array.isArray(e)}function U(e){return\"boolean\"==typeof e}function W(e){return null===e}function z(e){return\"number\"==typeof e}function H(e){return\"string\"==typeof e}function V(e){return void 0===e}function X(e){return G(e)&&\"[object RegExp]\"===$(e)}function G(e){return\"object\"==typeof e&&null!==e}function j(e){return G(e)&&\"[object Date]\"===$(e)}function Y(e){return G(e)&&(\"[object Error]\"===$(e)||e instanceof Error)}function K(e){return\"function\"==typeof e}function $(e){return Object.prototype.toString.call(e)}function Z(e,t){if(!t||!G(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e}function Q(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function q(){jr=!0;for(var e=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",t=0,r=e.length;t<r;++t)Vr[t]=e[t],Xr[e.charCodeAt(t)]=t;Xr[\"-\".charCodeAt(0)]=62,Xr[\"_\".charCodeAt(0)]=63}function J(e){jr||q();var t,r,n,a,i,s,o=e.length;if(o%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");i=\"=\"===e[o-2]?2:\"=\"===e[o-1]?1:0,s=new Gr(3*o/4-i),n=i>0?o-4:o;var l=0;for(t=0,r=0;t<n;t+=4,r+=3)a=Xr[e.charCodeAt(t)]<<18|Xr[e.charCodeAt(t+1)]<<12|Xr[e.charCodeAt(t+2)]<<6|Xr[e.charCodeAt(t+3)],s[l++]=a>>16&255,s[l++]=a>>8&255,s[l++]=255&a;return 2===i?(a=Xr[e.charCodeAt(t)]<<2|Xr[e.charCodeAt(t+1)]>>4,s[l++]=255&a):1===i&&(a=Xr[e.charCodeAt(t)]<<10|Xr[e.charCodeAt(t+1)]<<4|Xr[e.charCodeAt(t+2)]>>2,s[l++]=a>>8&255,s[l++]=255&a),s}function ee(e){return Vr[e>>18&63]+Vr[e>>12&63]+Vr[e>>6&63]+Vr[63&e]}function te(e,t,r){for(var n,a=[],i=t;i<r;i+=3)n=(e[i]<<16)+(e[i+1]<<8)+e[i+2],a.push(ee(n));return a.join(\"\")}function re(e){jr||q();for(var t,r=e.length,n=r%3,a=\"\",i=[],s=0,o=r-n;s<o;s+=16383)i.push(te(e,s,s+16383>o?o:s+16383));return 1===n?(t=e[r-1],a+=Vr[t>>2],a+=Vr[t<<4&63],a+=\"==\"):2===n&&(t=(e[r-2]<<8)+e[r-1],a+=Vr[t>>10],a+=Vr[t>>4&63],a+=Vr[t<<2&63],a+=\"=\"),i.push(a),i.join(\"\")}function ne(e,t,r,n,a){var i,s,o=8*a-n-1,l=(1<<o)-1,c=l>>1,f=-7,h=r?a-1:0,u=r?-1:1,d=e[t+h];for(h+=u,i=d&(1<<-f)-1,d>>=-f,f+=o;f>0;i=256*i+e[t+h],h+=u,f-=8);for(s=i&(1<<-f)-1,i>>=-f,f+=n;f>0;s=256*s+e[t+h],h+=u,f-=8);if(0===i)i=1-c;else{if(i===l)return s?NaN:1/0*(d?-1:1);s+=Math.pow(2,n),i-=c}return(d?-1:1)*s*Math.pow(2,i-n)}function ae(e,t,r,n,a,i){var s,o,l,c=8*i-a-1,f=(1<<c)-1,h=f>>1,u=23===a?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:i-1,p=n?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(o=isNaN(t)?1:0,s=f):(s=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-s))<1&&(s--,l*=2),(t+=s+h>=1?u/l:u*Math.pow(2,1-h))*l>=2&&(s++,l/=2),s+h>=f?(o=0,s=f):s+h>=1?(o=(t*l-1)*Math.pow(2,a),s+=h):(o=t*Math.pow(2,h-1)*Math.pow(2,a),s=0));a>=8;e[r+d]=255&o,d+=p,o/=256,a-=8);for(s=s<<a|o,c+=a;c>0;e[r+d]=255&s,d+=p,s/=256,c-=8);e[r+d-p]|=128*g}function ie(){return oe.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function se(e,t){if(ie()<t)throw new RangeError(\"Invalid typed array length\");return oe.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=oe.prototype:(null===e&&(e=new oe(t)),e.length=t),e}function oe(e,t,r){if(!(oe.TYPED_ARRAY_SUPPORT||this instanceof oe))return new oe(e,t,r);if(\"number\"==typeof e){if(\"string\"==typeof t)throw new Error(\"If encoding is specified then the first argument must be a string\");return he(this,e)}return le(this,e,t,r)}function le(e,t,r,n){if(\"number\"==typeof t)throw new TypeError('\"value\" argument must not be a number');return\"undefined\"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?pe(e,t,r,n):\"string\"==typeof t?ue(e,t,r):ge(e,t)}function ce(e){if(\"number\"!=typeof e)throw new TypeError('\"size\" argument must be a number');if(e<0)throw new RangeError('\"size\" argument must not be negative')}function fe(e,t,r,n){return ce(t),t<=0?se(e,t):void 0!==r?\"string\"==typeof n?se(e,t).fill(r,n):se(e,t).fill(r):se(e,t)}function he(e,t){if(ce(t),e=se(e,t<0?0:0|me(t)),!oe.TYPED_ARRAY_SUPPORT)for(var r=0;r<t;++r)e[r]=0;return e}function ue(e,t,r){if(\"string\"==typeof r&&\"\"!==r||(r=\"utf8\"),!oe.isEncoding(r))throw new TypeError('\"encoding\" must be a valid string encoding');var n=0|ve(t,r),a=(e=se(e,n)).write(t,r);return a!==n&&(e=e.slice(0,a)),e}function de(e,t){var r=t.length<0?0:0|me(t.length);e=se(e,r);for(var n=0;n<r;n+=1)e[n]=255&t[n];return e}function pe(e,t,r,n){if(t.byteLength,r<0||t.byteLength<r)throw new RangeError(\"'offset' is out of bounds\");if(t.byteLength<r+(n||0))throw new RangeError(\"'length' is out of bounds\");return t=void 0===r&&void 0===n?new Uint8Array(t):void 0===n?new Uint8Array(t,r):new Uint8Array(t,r,n),oe.TYPED_ARRAY_SUPPORT?(e=t).__proto__=oe.prototype:e=de(e,t),e}function ge(e,t){if(be(t)){var r=0|me(t.length);return 0===(e=se(e,r)).length?e:(t.copy(e,0,0,r),e)}if(t){if(\"undefined\"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||\"length\"in t)return\"number\"!=typeof t.length||Qe(t.length)?se(e,0):de(e,t);if(\"Buffer\"===t.type&&Kr(t.data))return de(e,t.data)}throw new TypeError(\"First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.\")}function me(e){if(e>=ie())throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+ie().toString(16)+\" bytes\");return 0|e}function be(e){return!(null==e||!e._isBuffer)}function ve(e,t){if(be(e))return e.length;if(\"undefined\"!=typeof ArrayBuffer&&\"function\"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;\"string\"!=typeof e&&(e=\"\"+e);var r=e.length;if(0===r)return 0;for(var n=!1;;)switch(t){case\"ascii\":case\"latin1\":case\"binary\":return r;case\"utf8\":case\"utf-8\":case void 0:return je(e).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*r;case\"hex\":return r>>>1;case\"base64\":return $e(e).length;default:if(n)return je(e).length;t=(\"\"+t).toLowerCase(),n=!0}}function Ee(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return\"\";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return\"\";if(r>>>=0,t>>>=0,r<=t)return\"\";for(e||(e=\"utf8\");;)switch(e){case\"hex\":return Pe(this,t,r);case\"utf8\":case\"utf-8\":return Re(this,t,r);case\"ascii\":return Oe(this,t,r);case\"latin1\":case\"binary\":return De(this,t,r);case\"base64\":return xe(this,t,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return Fe(this,t,r);default:if(n)throw new TypeError(\"Unknown encoding: \"+e);e=(e+\"\").toLowerCase(),n=!0}}function Ce(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function we(e,t,r,n,a){if(0===e.length)return-1;if(\"string\"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=a?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(a)return-1;r=e.length-1}else if(r<0){if(!a)return-1;r=0}if(\"string\"==typeof t&&(t=oe.from(t,n)),be(t))return 0===t.length?-1:Se(e,t,r,n,a);if(\"number\"==typeof t)return t&=255,oe.TYPED_ARRAY_SUPPORT&&\"function\"==typeof Uint8Array.prototype.indexOf?a?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):Se(e,[t],r,n,a);throw new TypeError(\"val must be string, number or Buffer\")}function Se(e,t,r,n,a){function i(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}var s=1,o=e.length,l=t.length;if(void 0!==n&&(\"ucs2\"===(n=String(n).toLowerCase())||\"ucs-2\"===n||\"utf16le\"===n||\"utf-16le\"===n)){if(e.length<2||t.length<2)return-1;s=2,o/=2,l/=2,r/=2}var c;if(a){var f=-1;for(c=r;c<o;c++)if(i(e,c)===i(t,-1===f?0:c-f)){if(-1===f&&(f=c),c-f+1===l)return f*s}else-1!==f&&(c-=c-f),f=-1}else for(r+l>o&&(r=o-l),c=r;c>=0;c--){for(var h=!0,u=0;u<l;u++)if(i(e,c+u)!==i(t,u)){h=!1;break}if(h)return c}return-1}function Ae(e,t,r,n){r=Number(r)||0;var a=e.length-r;n?(n=Number(n))>a&&(n=a):n=a;var i=t.length;if(i%2!=0)throw new TypeError(\"Invalid hex string\");n>i/2&&(n=i/2);for(var s=0;s<n;++s){var o=parseInt(t.substr(2*s,2),16);if(isNaN(o))return s;e[r+s]=o}return s}function Be(e,t,r,n){return Ze(je(t,e.length-r),e,r,n)}function _e(e,t,r,n){return Ze(Ye(t),e,r,n)}function Te(e,t,r,n){return _e(e,t,r,n)}function ye(e,t,r,n){return Ze($e(t),e,r,n)}function ke(e,t,r,n){return Ze(Ke(t,e.length-r),e,r,n)}function xe(e,t,r){return re(0===t&&r===e.length?e:e.slice(t,r))}function Re(e,t,r){r=Math.min(e.length,r);for(var n=[],a=t;a<r;){var i=e[a],s=null,o=i>239?4:i>223?3:i>191?2:1;if(a+o<=r){var l,c,f,h;switch(o){case 1:i<128&&(s=i);break;case 2:128==(192&(l=e[a+1]))&&(h=(31&i)<<6|63&l)>127&&(s=h);break;case 3:l=e[a+1],c=e[a+2],128==(192&l)&&128==(192&c)&&(h=(15&i)<<12|(63&l)<<6|63&c)>2047&&(h<55296||h>57343)&&(s=h);break;case 4:l=e[a+1],c=e[a+2],f=e[a+3],128==(192&l)&&128==(192&c)&&128==(192&f)&&(h=(15&i)<<18|(63&l)<<12|(63&c)<<6|63&f)>65535&&h<1114112&&(s=h)}}null===s?(s=65533,o=1):s>65535&&(s-=65536,n.push(s>>>10&1023|55296),s=56320|1023&s),n.push(s),a+=o}return Ie(n)}function Ie(e){var t=e.length;if(t<=$r)return String.fromCharCode.apply(String,e);for(var r=\"\",n=0;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=$r));return r}function Oe(e,t,r){var n=\"\";r=Math.min(e.length,r);for(var a=t;a<r;++a)n+=String.fromCharCode(127&e[a]);return n}function De(e,t,r){var n=\"\";r=Math.min(e.length,r);for(var a=t;a<r;++a)n+=String.fromCharCode(e[a]);return n}function Pe(e,t,r){var n=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>n)&&(r=n);for(var a=\"\",i=t;i<r;++i)a+=Ge(e[i]);return a}function Fe(e,t,r){for(var n=e.slice(t,r),a=\"\",i=0;i<n.length;i+=2)a+=String.fromCharCode(n[i]+256*n[i+1]);return a}function Ne(e,t,r){if(e%1!=0||e<0)throw new RangeError(\"offset is not uint\");if(e+t>r)throw new RangeError(\"Trying to access beyond buffer length\")}function Le(e,t,r,n,a,i){if(!be(e))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(t>a||t<i)throw new RangeError('\"value\" argument is out of bounds');if(r+n>e.length)throw new RangeError(\"Index out of range\")}function Me(e,t,r,n){t<0&&(t=65535+t+1);for(var a=0,i=Math.min(e.length-r,2);a<i;++a)e[r+a]=(t&255<<8*(n?a:1-a))>>>8*(n?a:1-a)}function Ue(e,t,r,n){t<0&&(t=4294967295+t+1);for(var a=0,i=Math.min(e.length-r,4);a<i;++a)e[r+a]=t>>>8*(n?a:3-a)&255}function We(e,t,r,n,a,i){if(r+n>e.length)throw new RangeError(\"Index out of range\");if(r<0)throw new RangeError(\"Index out of range\")}function ze(e,t,r,n,a){return a||We(e,t,r,4,3.4028234663852886e38,-3.4028234663852886e38),ae(e,t,r,n,23,4),r+4}function He(e,t,r,n,a){return a||We(e,t,r,8,1.7976931348623157e308,-1.7976931348623157e308),ae(e,t,r,n,52,8),r+8}function Ve(e){if((e=Xe(e).replace(Zr,\"\")).length<2)return\"\";for(;e.length%4!=0;)e+=\"=\";return e}function Xe(e){return e.trim?e.trim():e.replace(/^\\s+|\\s+$/g,\"\")}function Ge(e){return e<16?\"0\"+e.toString(16):e.toString(16)}function je(e,t){t=t||1/0;for(var r,n=e.length,a=null,i=[],s=0;s<n;++s){if((r=e.charCodeAt(s))>55295&&r<57344){if(!a){if(r>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(s+1===n){(t-=3)>-1&&i.push(239,191,189);continue}a=r;continue}if(r<56320){(t-=3)>-1&&i.push(239,191,189),a=r;continue}r=65536+(a-55296<<10|r-56320)}else a&&(t-=3)>-1&&i.push(239,191,189);if(a=null,r<128){if((t-=1)<0)break;i.push(r)}else if(r<2048){if((t-=2)<0)break;i.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;i.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error(\"Invalid code point\");if((t-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return i}function Ye(e){for(var t=[],r=0;r<e.length;++r)t.push(255&e.charCodeAt(r));return t}function Ke(e,t){for(var r,n,a,i=[],s=0;s<e.length&&!((t-=2)<0);++s)n=(r=e.charCodeAt(s))>>8,a=r%256,i.push(a),i.push(n);return i}function $e(e){return J(Ve(e))}function Ze(e,t,r,n){for(var a=0;a<n&&!(a+r>=t.length||a>=e.length);++a)t[a+r]=e[a];return a}function Qe(e){return e!==e}function qe(e){return!!e.constructor&&\"function\"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function Je(e){return\"function\"==typeof e.readFloatLE&&\"function\"==typeof e.slice&&qe(e.slice(0,0))}function et(){this.head=null,this.tail=null,this.length=0}function tt(e){if(e&&!Qr(e))throw new Error(\"Unknown encoding: \"+e)}function rt(e){switch(this.encoding=(e||\"utf8\").toLowerCase().replace(/[-_]/,\"\"),tt(e),this.encoding){case\"utf8\":this.surrogateSize=3;break;case\"ucs2\":case\"utf16le\":this.surrogateSize=2,this.detectIncompleteChar=at;break;case\"base64\":this.surrogateSize=3,this.detectIncompleteChar=it;break;default:return void(this.write=nt)}this.charBuffer=new oe(6),this.charReceived=0,this.charLength=0}function nt(e){return e.toString(this.encoding)}function at(e){this.charReceived=e.length%2,this.charLength=this.charReceived?2:0}function it(e){this.charReceived=e.length%3,this.charLength=this.charReceived?3:0}function st(e,t,r){if(\"function\"==typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}function ot(e,t){return e.listeners(t).length}function lt(e,t){e=e||{},this.objectMode=!!e.objectMode,t instanceof Jt&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var r=e.highWaterMark,n=this.objectMode?16:16384;this.highWaterMark=r||0===r?r:n,this.highWaterMark=~~this.highWaterMark,this.buffer=new et,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.defaultEncoding=e.defaultEncoding||\"utf8\",this.ranOut=!1,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(this.decoder=new rt(e.encoding),this.encoding=e.encoding)}function ct(e){if(!(this instanceof ct))return new ct(e);this._readableState=new lt(e,this),this.readable=!0,e&&\"function\"==typeof e.read&&(this._read=e.read),n.call(this)}function ft(e,t,r,n,a){var i=pt(t,r);if(i)e.emit(\"error\",i);else if(null===r)t.reading=!1,gt(e,t);else if(t.objectMode||r&&r.length>0)if(t.ended&&!a){var s=new Error(\"stream.push() after EOF\");e.emit(\"error\",s)}else if(t.endEmitted&&a){var o=new Error(\"stream.unshift() after end event\");e.emit(\"error\",o)}else{var l;!t.decoder||a||n||(r=t.decoder.write(r),l=!t.objectMode&&0===r.length),a||(t.reading=!1),l||(t.flowing&&0===t.length&&!t.sync?(e.emit(\"data\",r),e.read(0)):(t.length+=t.objectMode?1:r.length,a?t.buffer.unshift(r):t.buffer.push(r),t.needReadable&&mt(e))),vt(e,t)}else a||(t.reading=!1);return ht(t)}function ht(e){return!e.ended&&(e.needReadable||e.length<e.highWaterMark||0===e.length)}function ut(e){return e>=Jr?e=Jr:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function dt(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!==e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=ut(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function pt(e,t){var r=null;return Buffer.isBuffer(t)||\"string\"==typeof t||null===t||void 0===t||e.objectMode||(r=new TypeError(\"Invalid non-string/buffer chunk\")),r}function gt(e,t){if(!t.ended){if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,mt(e)}}function mt(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(qr(\"emitReadable\",t.flowing),t.emittedReadable=!0,t.sync?A(bt,e):bt(e))}function bt(e){qr(\"emit readable\"),e.emit(\"readable\"),Bt(e)}function vt(e,t){t.readingMore||(t.readingMore=!0,A(Et,e,t))}function Et(e,t){for(var r=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark&&(qr(\"maybeReadMore read 0\"),e.read(0),r!==t.length);)r=t.length;t.readingMore=!1}function Ct(e){return function(){var t=e._readableState;qr(\"pipeOnDrain\",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&e.listeners(\"data\").length&&(t.flowing=!0,Bt(e))}}function wt(e){qr(\"readable nexttick read 0\"),e.read(0)}function St(e,t){t.resumeScheduled||(t.resumeScheduled=!0,A(At,e,t))}function At(e,t){t.reading||(qr(\"resume read 0\"),e.read(0)),t.resumeScheduled=!1,t.awaitDrain=0,e.emit(\"resume\"),Bt(e),t.flowing&&!t.reading&&e.read(0)}function Bt(e){var t=e._readableState;for(qr(\"flow\",t.flowing);t.flowing&&null!==e.read(););}function _t(e,t){if(0===t.length)return null;var r;return t.objectMode?r=t.buffer.shift():!e||e>=t.length?(r=t.decoder?t.buffer.join(\"\"):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):r=Tt(e,t.buffer,t.decoder),r}function Tt(e,t,r){var n;return e<t.head.data.length?(n=t.head.data.slice(0,e),t.head.data=t.head.data.slice(e)):n=e===t.head.data.length?t.shift():r?yt(e,t):kt(e,t),n}function yt(e,t){var r=t.head,n=1,a=r.data;for(e-=a.length;r=r.next;){var i=r.data,s=e>i.length?i.length:e;if(s===i.length?a+=i:a+=i.slice(0,e),0===(e-=s)){s===i.length?(++n,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=i.slice(s));break}++n}return t.length-=n,a}function kt(e,t){var r=Buffer.allocUnsafe(e),n=t.head,a=1;for(n.data.copy(r),e-=n.data.length;n=n.next;){var i=n.data,s=e>i.length?i.length:e;if(i.copy(r,r.length-e,0,s),0===(e-=s)){s===i.length?(++a,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=i.slice(s));break}++a}return t.length-=a,r}function xt(e){var t=e._readableState;if(t.length>0)throw new Error('\"endReadable()\" called on non-empty stream');t.endEmitted||(t.ended=!0,A(Rt,t,e))}function Rt(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit(\"end\"))}function It(e,t){for(var r=0,n=e.length;r<n;r++)t(e[r],r)}function Ot(e,t){for(var r=0,n=e.length;r<n;r++)if(e[r]===t)return r;return-1}function Dt(){}function Pt(e,t,r){this.chunk=e,this.encoding=t,this.callback=r,this.next=null}function Ft(e,t){Object.defineProperty(this,\"buffer\",{get:y(function(){return this.getBuffer()},\"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.\")}),e=e||{},this.objectMode=!!e.objectMode,t instanceof Jt&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var r=e.highWaterMark,n=this.objectMode?16:16384;this.highWaterMark=r||0===r?r:n,this.highWaterMark=~~this.highWaterMark,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1;var a=!1===e.decodeStrings;this.decodeStrings=!a,this.defaultEncoding=e.defaultEncoding||\"utf8\",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){Xt(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new qt(this)}function Nt(e){if(!(this instanceof Nt||this instanceof Jt))return new Nt(e);this._writableState=new Ft(e,this),this.writable=!0,e&&(\"function\"==typeof e.write&&(this._write=e.write),\"function\"==typeof e.writev&&(this._writev=e.writev)),n.call(this)}function Lt(e,t){var r=new Error(\"write after end\");e.emit(\"error\",r),A(t,r)}function Mt(e,t,r,n){var a=!0,i=!1;return null===r?i=new TypeError(\"May not write null values to stream\"):oe.isBuffer(r)||\"string\"==typeof r||void 0===r||t.objectMode||(i=new TypeError(\"Invalid non-string/buffer chunk\")),i&&(e.emit(\"error\",i),A(n,i),a=!1),a}function Ut(e,t,r){return e.objectMode||!1===e.decodeStrings||\"string\"!=typeof t||(t=oe.from(t,r)),t}function Wt(e,t,r,n,a){r=Ut(t,r,n),oe.isBuffer(r)&&(n=\"buffer\");var i=t.objectMode?1:r.length;t.length+=i;var s=t.length<t.highWaterMark;if(s||(t.needDrain=!0),t.writing||t.corked){var o=t.lastBufferedRequest;t.lastBufferedRequest=new Pt(r,n,a),o?o.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else zt(e,t,!1,i,r,n,a);return s}function zt(e,t,r,n,a,i,s){t.writelen=n,t.writecb=s,t.writing=!0,t.sync=!0,r?e._writev(a,t.onwrite):e._write(a,i,t.onwrite),t.sync=!1}function Ht(e,t,r,n,a){--t.pendingcb,r?A(a,n):a(n),e._writableState.errorEmitted=!0,e.emit(\"error\",n)}function Vt(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}function Xt(e,t){var r=e._writableState,n=r.sync,a=r.writecb;if(Vt(r),t)Ht(e,r,n,t,a);else{var i=Kt(r);i||r.corked||r.bufferProcessing||!r.bufferedRequest||Yt(e,r),n?A(Gt,e,r,i,a):Gt(e,r,i,a)}}function Gt(e,t,r,n){r||jt(e,t),t.pendingcb--,n(),Zt(e,t)}function jt(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit(\"drain\"))}function Yt(e,t){t.bufferProcessing=!0;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var n=t.bufferedRequestCount,a=new Array(n),i=t.corkedRequestsFree;i.entry=r;for(var s=0;r;)a[s]=r,r=r.next,s+=1;zt(e,t,!0,t.length,a,\"\",i.finish),t.pendingcb++,t.lastBufferedRequest=null,i.next?(t.corkedRequestsFree=i.next,i.next=null):t.corkedRequestsFree=new qt(t)}else{for(;r;){var o=r.chunk,l=r.encoding,c=r.callback;if(zt(e,t,!1,t.objectMode?1:o.length,o,l,c),r=r.next,t.writing)break}null===r&&(t.lastBufferedRequest=null)}t.bufferedRequestCount=0,t.bufferedRequest=r,t.bufferProcessing=!1}function Kt(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function $t(e,t){t.prefinished||(t.prefinished=!0,e.emit(\"prefinish\"))}function Zt(e,t){var r=Kt(t);return r&&(0===t.pendingcb?($t(e,t),t.finished=!0,e.emit(\"finish\")):$t(e,t)),r}function Qt(e,t,r){t.ending=!0,Zt(e,t),r&&(t.finished?A(r):e.once(\"finish\",r)),t.ended=!0,e.writable=!1}function qt(e){var t=this;this.next=null,this.entry=null,this.finish=function(r){var n=t.entry;for(t.entry=null;n;){var a=n.callback;e.pendingcb--,a(r),n=n.next}e.corkedRequestsFree?e.corkedRequestsFree.next=t:e.corkedRequestsFree=t}}function Jt(e){if(!(this instanceof Jt))return new Jt(e);ct.call(this,e),Nt.call(this,e),e&&!1===e.readable&&(this.readable=!1),e&&!1===e.writable&&(this.writable=!1),this.allowHalfOpen=!0,e&&!1===e.allowHalfOpen&&(this.allowHalfOpen=!1),this.once(\"end\",er)}function er(){this.allowHalfOpen||this._writableState.ended||A(tr,this)}function tr(e){e.end()}function rr(e){this.afterTransform=function(t,r){return nr(e,t,r)},this.needTransform=!1,this.transforming=!1,this.writecb=null,this.writechunk=null,this.writeencoding=null}function nr(e,t,r){var n=e._transformState;n.transforming=!1;var a=n.writecb;if(!a)return e.emit(\"error\",new Error(\"no writecb in Transform class\"));n.writechunk=null,n.writecb=null,null!==r&&void 0!==r&&e.push(r),a(t);var i=e._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&e._read(i.highWaterMark)}function ar(e){if(!(this instanceof ar))return new ar(e);Jt.call(this,e),this._transformState=new rr(this);var t=this;this._readableState.needReadable=!0,this._readableState.sync=!1,e&&(\"function\"==typeof e.transform&&(this._transform=e.transform),\"function\"==typeof e.flush&&(this._flush=e.flush)),this.once(\"prefinish\",function(){\"function\"==typeof this._flush?this._flush(function(e){ir(t,e)}):ir(t)})}function ir(e,t){if(t)return e.emit(\"error\",t);var r=e._writableState,n=e._transformState;if(r.length)throw new Error(\"Calling transform done when ws.length != 0\");if(n.transforming)throw new Error(\"Calling transform done when still transforming\");return e.push(null)}function sr(e){if(!(this instanceof sr))return new sr(e);ar.call(this,e)}function or(){n.call(this)}function lr(e){for(var t=new ArrayBuffer(e.length),r=new Uint8Array(t),n=0;n!==e.length;++n)r[n]=255&e.charCodeAt(n);return t}function cr(e){var t=e.split(\"\\n\"),r=[],n=t[0].split(\",\");return t.splice(0,1),t.forEach(function(e){var t={},a=e.split(\",\");n.forEach(function(e,r){t[e]=a[r]}),r.push(t)}),r}var fr=\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:{},hr=t(function(e){var t=t||function(e){if(!(void 0===e||\"undefined\"!=typeof navigator&&/MSIE [1-9]\\./.test(navigator.userAgent))){var t=function(){return e.URL||e.webkitURL||e},r=e.document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"a\"),n=\"download\"in r,a=function(e){var t=new MouseEvent(\"click\");e.dispatchEvent(t)},i=/constructor/i.test(e.HTMLElement)||e.safari,s=/CriOS\\/[\\d]+/.test(navigator.userAgent),o=function(t){(e.setImmediate||e.setTimeout)(function(){throw t},0)},l=function(e){setTimeout(function(){\"string\"==typeof e?t().revokeObjectURL(e):e.remove()},4e4)},c=function(e,t,r){for(var n=(t=[].concat(t)).length;n--;){var a=e[\"on\"+t[n]];if(\"function\"==typeof a)try{a.call(e,r||e)}catch(e){o(e)}}},f=function(e){return/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(e.type)?new Blob([String.fromCharCode(65279),e],{type:e.type}):e},h=function(o,h,u){u||(o=f(o));var d,p=this,g=\"application/octet-stream\"===o.type,m=function(){c(p,\"writestart progress write writeend\".split(\" \"))};if(p.readyState=p.INIT,n)return d=t().createObjectURL(o),void setTimeout(function(){r.href=d,r.download=h,a(r),m(),l(d),p.readyState=p.DONE});!function(){if((s||g&&i)&&e.FileReader){var r=new FileReader;return r.onloadend=function(){var t=s?r.result:r.result.replace(/^data:[^;]*;/,\"data:attachment/file;\");e.open(t,\"_blank\")||(e.location.href=t),t=void 0,p.readyState=p.DONE,m()},r.readAsDataURL(o),void(p.readyState=p.INIT)}d||(d=t().createObjectURL(o)),g?e.location.href=d:e.open(d,\"_blank\")||(e.location.href=d),p.readyState=p.DONE,m(),l(d)}()},u=h.prototype;return\"undefined\"!=typeof navigator&&navigator.msSaveOrOpenBlob?function(e,t,r){return t=t||e.name||\"download\",r||(e=f(e)),navigator.msSaveOrOpenBlob(e,t)}:(u.abort=function(){},u.readyState=u.INIT=0,u.WRITING=1,u.DONE=2,u.error=u.onwritestart=u.onprogress=u.onwrite=u.onabort=u.onerror=u.onwriteend=null,function(e,t,r){return new h(e,t||e.name||\"download\",r)})}}(\"undefined\"!=typeof self&&self||\"undefined\"!=typeof window&&window||fr.content);e.exports&&(e.exports.saveAs=t)}).saveAs,ur=t(function(t){var r={version:\"1.9.0\"};r[437]=function(){for(var e=\"\\0\u0001\u0002\u0003\u0004\u0005\u0006\u0007\\b\\t\\n\\v\\f\\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñÑªº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ \",t=[],r={},n=0;n!=e.length;++n)65533!==e.charCodeAt(n)&&(r[e.charAt(n)]=n),t[n]=e.charAt(n);return{enc:r,dec:t}}(),r[620]=function(){for(var e=\"\\0\u0001\u0002\u0003\u0004\u0005\u0006\u0007\\b\\t\\n\\v\\f\\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàąçêëèïîćÄĄĘęłôöĆûùŚÖÜ¢Ł¥śƒŹŻóÓńŃźż¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ \",t=[],r={},n=0;n!=e.length;++n)65533!==e.charCodeAt(n)&&(r[e.charAt(n)]=n),t[n]=e.charAt(n);return{enc:r,dec:t}}(),r[737]=function(){for(var e=\"\\0\u0001\u0002\u0003\u0004\u0005\u0006\u0007\\b\\t\\n\\v\\f\\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρσςτυφχψ░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀ωάέήϊίόύϋώΆΈΉΊΌΎΏ±≥≤ΪΫ÷≈°∙·√ⁿ²■ \",t=[],r={},n=0;n!=e.length;++n)65533!==e.charCodeAt(n)&&(r[e.charAt(n)]=n),t[n]=e.charAt(n);return{enc:r,dec:t}}(),r[850]=function(){for(var e=\"\\0\u0001\u0002\u0003\u0004\u0005\u0006\u0007\\b\\t\\n\\v\\f\\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø×ƒáíóúñÑªº¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ðÐÊËÈıÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµþÞÚÛÙýÝ¯´­±‗¾¶§÷¸°¨·¹³²■ \",t=[],r={},n=0;n!=e.length;++n)65533!==e.charCodeAt(n)&&(r[e.charAt(n)]=n),t[n]=e.charAt(n);return{enc:r,dec:t}}(),r[852]=function(){for(var e=\"\\0\u0001\u0002\u0003\u0004\u0005\u0006\u0007\\b\\t\\n\\v\\f\\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäůćçłëŐőîŹÄĆÉĹĺôöĽľŚśÖÜŤťŁ×čáíóúĄąŽžĘę¬źČş«»░▒▓│┤ÁÂĚŞ╣║╗╝Żż┐└┴┬├─┼Ăă╚╔╩╦╠═╬¤đĐĎËďŇÍÎě┘┌█▄ŢŮ▀ÓßÔŃńňŠšŔÚŕŰýÝţ´­˝˛ˇ˘§÷¸°¨˙űŘř■ \",t=[],r={},n=0;n!=e.length;++n)65533!==e.charCodeAt(n)&&(r[e.charAt(n)]=n),t[n]=e.charAt(n);return{enc:r,dec:t}}(),r[857]=function(){for(var e=\"\\0\u0001\u0002\u0003\u0004\u0005\u0006\u0007\\b\\t\\n\\v\\f\\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîıÄÅÉæÆôöòûùİÖÜø£ØŞşáíóúñÑĞğ¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ºªÊËÈ�ÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµ�×ÚÛÙìÿ¯´­±�¾¶§÷¸°¨·¹³²■ \",t=[],r={},n=0;n!=e.length;++n)65533!==e.charCodeAt(n)&&(r[e.charAt(n)]=n),t[n]=e.charAt(n);return{enc:r,dec:t}}(),r[861]=function(){for(var e=\"\\0\u0001\u0002\u0003\u0004\u0005\u0006\u0007\\b\\t\\n\\v\\f\\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèÐðÞÄÅÉæÆôöþûÝýÖÜø£Ø₧ƒáíóúÁÍÓÚ¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ \",t=[],r={},n=0;n!=e.length;++n)65533!==e.charCodeAt(n)&&(r[e.charAt(n)]=n),t[n]=e.charAt(n);return{enc:r,dec:t}}(),r[865]=function(){for(var e=\"\\0\u0001\u0002\u0003\u0004\u0005\u0006\u0007\\b\\t\\n\\v\\f\\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø₧ƒáíóúñÑªº¿⌐¬½¼¡«¤░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ \",t=[],r={},n=0;n!=e.length;++n)65533!==e.charCodeAt(n)&&(r[e.charAt(n)]=n),t[n]=e.charAt(n);return{enc:r,dec:t}}(),r[866]=function(){for(var e=\"\\0\u0001\u0002\u0003\u0004\u0005\u0006\u0007\\b\\t\\n\\v\\f\\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№¤■ \",t=[],r={},n=0;n!=e.length;++n)65533!==e.charCodeAt(n)&&(r[e.charAt(n)]=n),t[n]=e.charAt(n);return{enc:r,dec:t}}(),r[874]=function(){for(var e=\"\\0\u0001\u0002\u0003\u0004\u0005\u0006\u0007\\b\\t\\n\\v\\f\\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€����…�����������‘’“”•–—�������� กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����\",t=[],r={},n=0;n!=e.length;++n)65533!==e.charCodeAt(n)&&(r[e.charAt(n)]=n),t[n]=e.charAt(n);return{enc:r,dec:t}}(),r[895]=function(){for(var e=\"\\0\u0001\u0002\u0003\u0004\u0005\u0006\u0007\\b\\t\\n\\v\\f\\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ČüéďäĎŤčěĚĹÍľǪÄÁÉžŽôöÓůÚýÖÜŠĽÝŘťáíóúňŇŮÔšřŕŔ¼§«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ \",t=[],r={},n=0;n!=e.length;++n)65533!==e.charCodeAt(n)&&(r[e.charAt(n)]=n),t[n]=e.charAt(n);return{enc:r,dec:t}}(),r[932]=function(){var e,t=[],r={},n=[];for(n[0]=\"\\0\u0001\u0002\u0003\u0004\u0005\u0006\u0007\\b\\t\\n\\v\\f\\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~���������������������������������｡｢｣､･ｦｧｨｩｪｫｬｭｮｯｰｱｲｳｴｵｶｷｸｹｺｻｼｽｾｿﾀﾁﾂﾃﾄﾅﾆﾇﾈﾉﾊﾋﾌﾍﾎﾏﾐﾑﾒﾓﾔﾕﾖﾗﾘﾙﾚﾛﾜﾝﾞﾟ��������������������������������\".split(\"\"),e=0;e!=n[0].length;++e)65533!==n[0][e].charCodeAt(0)&&(r[n[0][e]]=0+e,t[0+e]=n[0][e]);for(n[129]=\"����������������������������������������������������������������　、。，．・：；？！゛゜´｀¨＾￣＿ヽヾゝゞ〃仝々〆〇ー―‐／＼～∥｜…‥‘’“”（）〔〕［］｛｝〈〉《》「」『』【】＋－±×�÷＝≠＜＞≦≧∞∴♂♀°′″℃￥＄￠￡％＃＆＊＠§☆★○●◎◇◆□■△▲▽▼※〒→←↑↓〓�����������∈∋⊆⊇⊂⊃∪∩��������∧∨￢⇒⇔∀∃�����������∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬�������Å‰♯♭♪†‡¶����◯���\".split(\"\"),e=0;e!=n[129].length;++e)65533!==n[129][e].charCodeAt(0)&&(r[n[129][e]]=33024+e,t[33024+e]=n[129][e]);for(n[130]=\"�������������������������������������������������������������������������������０１２３４５６７８９�������ＡＢＣＤＥＦＧＨＩＪＫＬＭＮＯＰＱＲＳＴＵＶＷＸＹＺ�������ａｂｃｄｅｆｇｈｉｊｋｌｍｎｏｐｑｒｓｔｕｖｗｘｙｚ����ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん��������������\".split(\"\"),e=0;e!=n[130].length;++e)65533!==n[130][e].charCodeAt(0)&&(r[n[130][e]]=33280+e,t[33280+e]=n[130][e]);for(n[131]=\"����������������������������������������������������������������ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミ�ムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ��������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω�����������������������������������������\".split(\"\"),e=0;e!=n[131].length;++e)65533!==n[131][e].charCodeAt(0)&&(r[n[131][e]]=33536+e,t[33536+e]=n[131][e]);for(n[132]=\"����������������������������������������������������������������АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмн�опрстуфхцчшщъыьэюя�������������─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂�����������������������������������������������������������������\".split(\"\"),e=0;e!=n[132].length;++e)65533!==n[132][e].charCodeAt(0)&&(r[n[132][e]]=33792+e,t[33792+e]=n[132][e]);for(n[135]=\"����������������������������������������������������������������①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ�㍉㌔㌢㍍㌘㌧㌃㌶㍑㍗㌍㌦㌣㌫㍊㌻㎜㎝㎞㎎㎏㏄㎡��������㍻�〝〟№㏍℡㊤㊥㊦㊧㊨㈱㈲㈹㍾㍽㍼≒≡∫∮∑√⊥∠∟⊿∵∩∪���������������������������������������������������������������������������������������������������\".split(\"\"),e=0;e!=n[135].length;++e)65533!==n[135][e].charCodeAt(0)&&(r[n[135][e]]=34560+e,t[34560+e]=n[135][e]);for(n[136]=\"���������������������������������������������������������������������������������������������������������������������������������������������������������������亜唖娃阿哀愛挨姶逢葵茜穐悪握渥旭葦芦鯵梓圧斡扱宛姐虻飴絢綾鮎或粟袷安庵按暗案闇鞍杏以伊位依偉囲夷委威尉惟意慰易椅為畏異移維緯胃萎衣謂違遺医井亥域育郁磯一壱溢逸稲茨芋鰯允印咽員因姻引飲淫胤蔭���\".split(\"\"),e=0;e!=n[136].length;++e)65533!==n[136][e].charCodeAt(0)&&(r[n[136][e]]=34816+e,t[34816+e]=n[136][e]);for(n[137]=\"����������������������������������������������������������������院陰隠韻吋右宇烏羽迂雨卯鵜窺丑碓臼渦嘘唄欝蔚鰻姥厩浦瓜閏噂云運雲荏餌叡営嬰影映曳栄永泳洩瑛盈穎頴英衛詠鋭液疫益駅悦謁越閲榎厭円�園堰奄宴延怨掩援沿演炎焔煙燕猿縁艶苑薗遠鉛鴛塩於汚甥凹央奥往応押旺横欧殴王翁襖鴬鴎黄岡沖荻億屋憶臆桶牡乙俺卸恩温穏音下化仮何伽価佳加可嘉夏嫁家寡科暇果架歌河火珂禍禾稼箇花苛茄荷華菓蝦課嘩貨迦過霞蚊俄峨我牙画臥芽蛾賀雅餓駕介会解回塊壊廻快怪悔恢懐戒拐改���\".split(\"\"),e=0;e!=n[137].length;++e)65533!==n[137][e].charCodeAt(0)&&(r[n[137][e]]=35072+e,t[35072+e]=n[137][e]);for(n[138]=\"����������������������������������������������������������������魁晦械海灰界皆絵芥蟹開階貝凱劾外咳害崖慨概涯碍蓋街該鎧骸浬馨蛙垣柿蛎鈎劃嚇各廓拡撹格核殻獲確穫覚角赫較郭閣隔革学岳楽額顎掛笠樫�橿梶鰍潟割喝恰括活渇滑葛褐轄且鰹叶椛樺鞄株兜竃蒲釜鎌噛鴨栢茅萱粥刈苅瓦乾侃冠寒刊勘勧巻喚堪姦完官寛干幹患感慣憾換敢柑桓棺款歓汗漢澗潅環甘監看竿管簡緩缶翰肝艦莞観諌貫還鑑間閑関陥韓館舘丸含岸巌玩癌眼岩翫贋雁頑顔願企伎危喜器基奇嬉寄岐希幾忌揮机旗既期棋棄���\".split(\"\"),e=0;e!=n[138].length;++e)65533!==n[138][e].charCodeAt(0)&&(r[n[138][e]]=35328+e,t[35328+e]=n[138][e]);for(n[139]=\"����������������������������������������������������������������機帰毅気汽畿祈季稀紀徽規記貴起軌輝飢騎鬼亀偽儀妓宜戯技擬欺犠疑祇義蟻誼議掬菊鞠吉吃喫桔橘詰砧杵黍却客脚虐逆丘久仇休及吸宮弓急救�朽求汲泣灸球究窮笈級糾給旧牛去居巨拒拠挙渠虚許距鋸漁禦魚亨享京供侠僑兇競共凶協匡卿叫喬境峡強彊怯恐恭挟教橋況狂狭矯胸脅興蕎郷鏡響饗驚仰凝尭暁業局曲極玉桐粁僅勤均巾錦斤欣欽琴禁禽筋緊芹菌衿襟謹近金吟銀九倶句区狗玖矩苦躯駆駈駒具愚虞喰空偶寓遇隅串櫛釧屑屈���\".split(\"\"),e=0;e!=n[139].length;++e)65533!==n[139][e].charCodeAt(0)&&(r[n[139][e]]=35584+e,t[35584+e]=n[139][e]);for(n[140]=\"����������������������������������������������������������������掘窟沓靴轡窪熊隈粂栗繰桑鍬勲君薫訓群軍郡卦袈祁係傾刑兄啓圭珪型契形径恵慶慧憩掲携敬景桂渓畦稽系経継繋罫茎荊蛍計詣警軽頚鶏芸迎鯨�劇戟撃激隙桁傑欠決潔穴結血訣月件倹倦健兼券剣喧圏堅嫌建憲懸拳捲検権牽犬献研硯絹県肩見謙賢軒遣鍵険顕験鹸元原厳幻弦減源玄現絃舷言諺限乎個古呼固姑孤己庫弧戸故枯湖狐糊袴股胡菰虎誇跨鈷雇顧鼓五互伍午呉吾娯後御悟梧檎瑚碁語誤護醐乞鯉交佼侯候倖光公功効勾厚口向���\".split(\"\"),e=0;e!=n[140].length;++e)65533!==n[140][e].charCodeAt(0)&&(r[n[140][e]]=35840+e,t[35840+e]=n[140][e]);for(n[141]=\"����������������������������������������������������������������后喉坑垢好孔孝宏工巧巷幸広庚康弘恒慌抗拘控攻昂晃更杭校梗構江洪浩港溝甲皇硬稿糠紅紘絞綱耕考肯肱腔膏航荒行衡講貢購郊酵鉱砿鋼閤降�項香高鴻剛劫号合壕拷濠豪轟麹克刻告国穀酷鵠黒獄漉腰甑忽惚骨狛込此頃今困坤墾婚恨懇昏昆根梱混痕紺艮魂些佐叉唆嵯左差査沙瑳砂詐鎖裟坐座挫債催再最哉塞妻宰彩才採栽歳済災采犀砕砦祭斎細菜裁載際剤在材罪財冴坂阪堺榊肴咲崎埼碕鷺作削咋搾昨朔柵窄策索錯桜鮭笹匙冊刷���\".split(\"\"),e=0;e!=n[141].length;++e)65533!==n[141][e].charCodeAt(0)&&(r[n[141][e]]=36096+e,t[36096+e]=n[141][e]);for(n[142]=\"����������������������������������������������������������������察拶撮擦札殺薩雑皐鯖捌錆鮫皿晒三傘参山惨撒散桟燦珊産算纂蚕讃賛酸餐斬暫残仕仔伺使刺司史嗣四士始姉姿子屍市師志思指支孜斯施旨枝止�死氏獅祉私糸紙紫肢脂至視詞詩試誌諮資賜雌飼歯事似侍児字寺慈持時次滋治爾璽痔磁示而耳自蒔辞汐鹿式識鴫竺軸宍雫七叱執失嫉室悉湿漆疾質実蔀篠偲柴芝屡蕊縞舎写射捨赦斜煮社紗者謝車遮蛇邪借勺尺杓灼爵酌釈錫若寂弱惹主取守手朱殊狩珠種腫趣酒首儒受呪寿授樹綬需囚収周���\".split(\"\"),e=0;e!=n[142].length;++e)65533!==n[142][e].charCodeAt(0)&&(r[n[142][e]]=36352+e,t[36352+e]=n[142][e]);for(n[143]=\"����������������������������������������������������������������宗就州修愁拾洲秀秋終繍習臭舟蒐衆襲讐蹴輯週酋酬集醜什住充十従戎柔汁渋獣縦重銃叔夙宿淑祝縮粛塾熟出術述俊峻春瞬竣舜駿准循旬楯殉淳�準潤盾純巡遵醇順処初所暑曙渚庶緒署書薯藷諸助叙女序徐恕鋤除傷償勝匠升召哨商唱嘗奨妾娼宵将小少尚庄床廠彰承抄招掌捷昇昌昭晶松梢樟樵沼消渉湘焼焦照症省硝礁祥称章笑粧紹肖菖蒋蕉衝裳訟証詔詳象賞醤鉦鍾鐘障鞘上丈丞乗冗剰城場壌嬢常情擾条杖浄状畳穣蒸譲醸錠嘱埴飾���\".split(\"\"),e=0;e!=n[143].length;++e)65533!==n[143][e].charCodeAt(0)&&(r[n[143][e]]=36608+e,t[36608+e]=n[143][e]);for(n[144]=\"����������������������������������������������������������������拭植殖燭織職色触食蝕辱尻伸信侵唇娠寝審心慎振新晋森榛浸深申疹真神秦紳臣芯薪親診身辛進針震人仁刃塵壬尋甚尽腎訊迅陣靭笥諏須酢図厨�逗吹垂帥推水炊睡粋翠衰遂酔錐錘随瑞髄崇嵩数枢趨雛据杉椙菅頗雀裾澄摺寸世瀬畝是凄制勢姓征性成政整星晴棲栖正清牲生盛精聖声製西誠誓請逝醒青静斉税脆隻席惜戚斥昔析石積籍績脊責赤跡蹟碩切拙接摂折設窃節説雪絶舌蝉仙先千占宣専尖川戦扇撰栓栴泉浅洗染潜煎煽旋穿箭線���\".split(\"\"),e=0;e!=n[144].length;++e)65533!==n[144][e].charCodeAt(0)&&(r[n[144][e]]=36864+e,t[36864+e]=n[144][e]);for(n[145]=\"����������������������������������������������������������������繊羨腺舛船薦詮賎践選遷銭銑閃鮮前善漸然全禅繕膳糎噌塑岨措曾曽楚狙疏疎礎祖租粗素組蘇訴阻遡鼠僧創双叢倉喪壮奏爽宋層匝惣想捜掃挿掻�操早曹巣槍槽漕燥争痩相窓糟総綜聡草荘葬蒼藻装走送遭鎗霜騒像増憎臓蔵贈造促側則即息捉束測足速俗属賊族続卒袖其揃存孫尊損村遜他多太汰詑唾堕妥惰打柁舵楕陀駄騨体堆対耐岱帯待怠態戴替泰滞胎腿苔袋貸退逮隊黛鯛代台大第醍題鷹滝瀧卓啄宅托択拓沢濯琢託鐸濁諾茸凧蛸只���\".split(\"\"),e=0;e!=n[145].length;++e)65533!==n[145][e].charCodeAt(0)&&(r[n[145][e]]=37120+e,t[37120+e]=n[145][e]);for(n[146]=\"����������������������������������������������������������������叩但達辰奪脱巽竪辿棚谷狸鱈樽誰丹単嘆坦担探旦歎淡湛炭短端箪綻耽胆蛋誕鍛団壇弾断暖檀段男談値知地弛恥智池痴稚置致蜘遅馳築畜竹筑蓄�逐秩窒茶嫡着中仲宙忠抽昼柱注虫衷註酎鋳駐樗瀦猪苧著貯丁兆凋喋寵帖帳庁弔張彫徴懲挑暢朝潮牒町眺聴脹腸蝶調諜超跳銚長頂鳥勅捗直朕沈珍賃鎮陳津墜椎槌追鎚痛通塚栂掴槻佃漬柘辻蔦綴鍔椿潰坪壷嬬紬爪吊釣鶴亭低停偵剃貞呈堤定帝底庭廷弟悌抵挺提梯汀碇禎程締艇訂諦蹄逓���\".split(\"\"),e=0;e!=n[146].length;++e)65533!==n[146][e].charCodeAt(0)&&(r[n[146][e]]=37376+e,t[37376+e]=n[146][e]);for(n[147]=\"����������������������������������������������������������������邸鄭釘鼎泥摘擢敵滴的笛適鏑溺哲徹撤轍迭鉄典填天展店添纏甜貼転顛点伝殿澱田電兎吐堵塗妬屠徒斗杜渡登菟賭途都鍍砥砺努度土奴怒倒党冬�凍刀唐塔塘套宕島嶋悼投搭東桃梼棟盗淘湯涛灯燈当痘祷等答筒糖統到董蕩藤討謄豆踏逃透鐙陶頭騰闘働動同堂導憧撞洞瞳童胴萄道銅峠鴇匿得徳涜特督禿篤毒独読栃橡凸突椴届鳶苫寅酉瀞噸屯惇敦沌豚遁頓呑曇鈍奈那内乍凪薙謎灘捺鍋楢馴縄畷南楠軟難汝二尼弐迩匂賑肉虹廿日乳入���\".split(\"\"),e=0;e!=n[147].length;++e)65533!==n[147][e].charCodeAt(0)&&(r[n[147][e]]=37632+e,t[37632+e]=n[147][e]);for(n[148]=\"����������������������������������������������������������������如尿韮任妊忍認濡禰祢寧葱猫熱年念捻撚燃粘乃廼之埜嚢悩濃納能脳膿農覗蚤巴把播覇杷波派琶破婆罵芭馬俳廃拝排敗杯盃牌背肺輩配倍培媒梅�楳煤狽買売賠陪這蝿秤矧萩伯剥博拍柏泊白箔粕舶薄迫曝漠爆縛莫駁麦函箱硲箸肇筈櫨幡肌畑畠八鉢溌発醗髪伐罰抜筏閥鳩噺塙蛤隼伴判半反叛帆搬斑板氾汎版犯班畔繁般藩販範釆煩頒飯挽晩番盤磐蕃蛮匪卑否妃庇彼悲扉批披斐比泌疲皮碑秘緋罷肥被誹費避非飛樋簸備尾微枇毘琵眉美���\".split(\"\"),e=0;e!=n[148].length;++e)65533!==n[148][e].charCodeAt(0)&&(r[n[148][e]]=37888+e,t[37888+e]=n[148][e]);for(n[149]=\"����������������������������������������������������������������鼻柊稗匹疋髭彦膝菱肘弼必畢筆逼桧姫媛紐百謬俵彪標氷漂瓢票表評豹廟描病秒苗錨鋲蒜蛭鰭品彬斌浜瀕貧賓頻敏瓶不付埠夫婦富冨布府怖扶敷�斧普浮父符腐膚芙譜負賦赴阜附侮撫武舞葡蕪部封楓風葺蕗伏副復幅服福腹複覆淵弗払沸仏物鮒分吻噴墳憤扮焚奮粉糞紛雰文聞丙併兵塀幣平弊柄並蔽閉陛米頁僻壁癖碧別瞥蔑箆偏変片篇編辺返遍便勉娩弁鞭保舗鋪圃捕歩甫補輔穂募墓慕戊暮母簿菩倣俸包呆報奉宝峰峯崩庖抱捧放方朋���\".split(\"\"),e=0;e!=n[149].length;++e)65533!==n[149][e].charCodeAt(0)&&(r[n[149][e]]=38144+e,t[38144+e]=n[149][e]);for(n[150]=\"����������������������������������������������������������������法泡烹砲縫胞芳萌蓬蜂褒訪豊邦鋒飽鳳鵬乏亡傍剖坊妨帽忘忙房暴望某棒冒紡肪膨謀貌貿鉾防吠頬北僕卜墨撲朴牧睦穆釦勃没殆堀幌奔本翻凡盆�摩磨魔麻埋妹昧枚毎哩槙幕膜枕鮪柾鱒桝亦俣又抹末沫迄侭繭麿万慢満漫蔓味未魅巳箕岬密蜜湊蓑稔脈妙粍民眠務夢無牟矛霧鵡椋婿娘冥名命明盟迷銘鳴姪牝滅免棉綿緬面麺摸模茂妄孟毛猛盲網耗蒙儲木黙目杢勿餅尤戻籾貰問悶紋門匁也冶夜爺耶野弥矢厄役約薬訳躍靖柳薮鑓愉愈油癒���\".split(\"\"),e=0;e!=n[150].length;++e)65533!==n[150][e].charCodeAt(0)&&(r[n[150][e]]=38400+e,t[38400+e]=n[150][e]);for(n[151]=\"����������������������������������������������������������������諭輸唯佑優勇友宥幽悠憂揖有柚湧涌猶猷由祐裕誘遊邑郵雄融夕予余与誉輿預傭幼妖容庸揚揺擁曜楊様洋溶熔用窯羊耀葉蓉要謡踊遥陽養慾抑欲�沃浴翌翼淀羅螺裸来莱頼雷洛絡落酪乱卵嵐欄濫藍蘭覧利吏履李梨理璃痢裏裡里離陸律率立葎掠略劉流溜琉留硫粒隆竜龍侶慮旅虜了亮僚両凌寮料梁涼猟療瞭稜糧良諒遼量陵領力緑倫厘林淋燐琳臨輪隣鱗麟瑠塁涙累類令伶例冷励嶺怜玲礼苓鈴隷零霊麗齢暦歴列劣烈裂廉恋憐漣煉簾練聯���\".split(\"\"),e=0;e!=n[151].length;++e)65533!==n[151][e].charCodeAt(0)&&(r[n[151][e]]=38656+e,t[38656+e]=n[151][e]);for(n[152]=\"����������������������������������������������������������������蓮連錬呂魯櫓炉賂路露労婁廊弄朗楼榔浪漏牢狼篭老聾蝋郎六麓禄肋録論倭和話歪賄脇惑枠鷲亙亘鰐詫藁蕨椀湾碗腕��������������������������������������������弌丐丕个丱丶丼丿乂乖乘亂亅豫亊舒弍于亞亟亠亢亰亳亶从仍仄仆仂仗仞仭仟价伉佚估佛佝佗佇佶侈侏侘佻佩佰侑佯來侖儘俔俟俎俘俛俑俚俐俤俥倚倨倔倪倥倅伜俶倡倩倬俾俯們倆偃假會偕偐偈做偖偬偸傀傚傅傴傲���\".split(\"\"),e=0;e!=n[152].length;++e)65533!==n[152][e].charCodeAt(0)&&(r[n[152][e]]=38912+e,t[38912+e]=n[152][e]);for(n[153]=\"����������������������������������������������������������������僉僊傳僂僖僞僥僭僣僮價僵儉儁儂儖儕儔儚儡儺儷儼儻儿兀兒兌兔兢竸兩兪兮冀冂囘册冉冏冑冓冕冖冤冦冢冩冪冫决冱冲冰况冽凅凉凛几處凩凭�凰凵凾刄刋刔刎刧刪刮刳刹剏剄剋剌剞剔剪剴剩剳剿剽劍劔劒剱劈劑辨辧劬劭劼劵勁勍勗勞勣勦飭勠勳勵勸勹匆匈甸匍匐匏匕匚匣匯匱匳匸區卆卅丗卉卍凖卞卩卮夘卻卷厂厖厠厦厥厮厰厶參簒雙叟曼燮叮叨叭叺吁吽呀听吭吼吮吶吩吝呎咏呵咎呟呱呷呰咒呻咀呶咄咐咆哇咢咸咥咬哄哈咨���\".split(\"\"),e=0;e!=n[153].length;++e)65533!==n[153][e].charCodeAt(0)&&(r[n[153][e]]=39168+e,t[39168+e]=n[153][e]);for(n[154]=\"����������������������������������������������������������������咫哂咤咾咼哘哥哦唏唔哽哮哭哺哢唹啀啣啌售啜啅啖啗唸唳啝喙喀咯喊喟啻啾喘喞單啼喃喩喇喨嗚嗅嗟嗄嗜嗤嗔嘔嗷嘖嗾嗽嘛嗹噎噐營嘴嘶嘲嘸�噫噤嘯噬噪嚆嚀嚊嚠嚔嚏嚥嚮嚶嚴囂嚼囁囃囀囈囎囑囓囗囮囹圀囿圄圉圈國圍圓團圖嗇圜圦圷圸坎圻址坏坩埀垈坡坿垉垓垠垳垤垪垰埃埆埔埒埓堊埖埣堋堙堝塲堡塢塋塰毀塒堽塹墅墹墟墫墺壞墻墸墮壅壓壑壗壙壘壥壜壤壟壯壺壹壻壼壽夂夊夐夛梦夥夬夭夲夸夾竒奕奐奎奚奘奢奠奧奬奩���\".split(\"\"),e=0;e!=n[154].length;++e)65533!==n[154][e].charCodeAt(0)&&(r[n[154][e]]=39424+e,t[39424+e]=n[154][e]);for(n[155]=\"����������������������������������������������������������������奸妁妝佞侫妣妲姆姨姜妍姙姚娥娟娑娜娉娚婀婬婉娵娶婢婪媚媼媾嫋嫂媽嫣嫗嫦嫩嫖嫺嫻嬌嬋嬖嬲嫐嬪嬶嬾孃孅孀孑孕孚孛孥孩孰孳孵學斈孺宀�它宦宸寃寇寉寔寐寤實寢寞寥寫寰寶寳尅將專對尓尠尢尨尸尹屁屆屎屓屐屏孱屬屮乢屶屹岌岑岔妛岫岻岶岼岷峅岾峇峙峩峽峺峭嶌峪崋崕崗嵜崟崛崑崔崢崚崙崘嵌嵒嵎嵋嵬嵳嵶嶇嶄嶂嶢嶝嶬嶮嶽嶐嶷嶼巉巍巓巒巖巛巫已巵帋帚帙帑帛帶帷幄幃幀幎幗幔幟幢幤幇幵并幺麼广庠廁廂廈廐廏���\".split(\"\"),e=0;e!=n[155].length;++e)65533!==n[155][e].charCodeAt(0)&&(r[n[155][e]]=39680+e,t[39680+e]=n[155][e]);for(n[156]=\"����������������������������������������������������������������廖廣廝廚廛廢廡廨廩廬廱廳廰廴廸廾弃弉彝彜弋弑弖弩弭弸彁彈彌彎弯彑彖彗彙彡彭彳彷徃徂彿徊很徑徇從徙徘徠徨徭徼忖忻忤忸忱忝悳忿怡恠�怙怐怩怎怱怛怕怫怦怏怺恚恁恪恷恟恊恆恍恣恃恤恂恬恫恙悁悍惧悃悚悄悛悖悗悒悧悋惡悸惠惓悴忰悽惆悵惘慍愕愆惶惷愀惴惺愃愡惻惱愍愎慇愾愨愧慊愿愼愬愴愽慂慄慳慷慘慙慚慫慴慯慥慱慟慝慓慵憙憖憇憬憔憚憊憑憫憮懌懊應懷懈懃懆憺懋罹懍懦懣懶懺懴懿懽懼懾戀戈戉戍戌戔戛���\".split(\"\"),e=0;e!=n[156].length;++e)65533!==n[156][e].charCodeAt(0)&&(r[n[156][e]]=39936+e,t[39936+e]=n[156][e]);for(n[157]=\"����������������������������������������������������������������戞戡截戮戰戲戳扁扎扞扣扛扠扨扼抂抉找抒抓抖拔抃抔拗拑抻拏拿拆擔拈拜拌拊拂拇抛拉挌拮拱挧挂挈拯拵捐挾捍搜捏掖掎掀掫捶掣掏掉掟掵捫�捩掾揩揀揆揣揉插揶揄搖搴搆搓搦搶攝搗搨搏摧摯摶摎攪撕撓撥撩撈撼據擒擅擇撻擘擂擱擧舉擠擡抬擣擯攬擶擴擲擺攀擽攘攜攅攤攣攫攴攵攷收攸畋效敖敕敍敘敞敝敲數斂斃變斛斟斫斷旃旆旁旄旌旒旛旙无旡旱杲昊昃旻杳昵昶昴昜晏晄晉晁晞晝晤晧晨晟晢晰暃暈暎暉暄暘暝曁暹曉暾暼���\".split(\"\"),e=0;e!=n[157].length;++e)65533!==n[157][e].charCodeAt(0)&&(r[n[157][e]]=40192+e,t[40192+e]=n[157][e]);for(n[158]=\"����������������������������������������������������������������曄暸曖曚曠昿曦曩曰曵曷朏朖朞朦朧霸朮朿朶杁朸朷杆杞杠杙杣杤枉杰枩杼杪枌枋枦枡枅枷柯枴柬枳柩枸柤柞柝柢柮枹柎柆柧檜栞框栩桀桍栲桎�梳栫桙档桷桿梟梏梭梔條梛梃檮梹桴梵梠梺椏梍桾椁棊椈棘椢椦棡椌棍棔棧棕椶椒椄棗棣椥棹棠棯椨椪椚椣椡棆楹楷楜楸楫楔楾楮椹楴椽楙椰楡楞楝榁楪榲榮槐榿槁槓榾槎寨槊槝榻槃榧樮榑榠榜榕榴槞槨樂樛槿權槹槲槧樅榱樞槭樔槫樊樒櫁樣樓橄樌橲樶橸橇橢橙橦橈樸樢檐檍檠檄檢檣���\".split(\"\"),e=0;e!=n[158].length;++e)65533!==n[158][e].charCodeAt(0)&&(r[n[158][e]]=40448+e,t[40448+e]=n[158][e]);for(n[159]=\"����������������������������������������������������������������檗蘗檻櫃櫂檸檳檬櫞櫑櫟檪櫚櫪櫻欅蘖櫺欒欖鬱欟欸欷盜欹飮歇歃歉歐歙歔歛歟歡歸歹歿殀殄殃殍殘殕殞殤殪殫殯殲殱殳殷殼毆毋毓毟毬毫毳毯�麾氈氓气氛氤氣汞汕汢汪沂沍沚沁沛汾汨汳沒沐泄泱泓沽泗泅泝沮沱沾沺泛泯泙泪洟衍洶洫洽洸洙洵洳洒洌浣涓浤浚浹浙涎涕濤涅淹渕渊涵淇淦涸淆淬淞淌淨淒淅淺淙淤淕淪淮渭湮渮渙湲湟渾渣湫渫湶湍渟湃渺湎渤滿渝游溂溪溘滉溷滓溽溯滄溲滔滕溏溥滂溟潁漑灌滬滸滾漿滲漱滯漲滌���\".split(\"\"),e=0;e!=n[159].length;++e)65533!==n[159][e].charCodeAt(0)&&(r[n[159][e]]=40704+e,t[40704+e]=n[159][e]);for(n[224]=\"����������������������������������������������������������������漾漓滷澆潺潸澁澀潯潛濳潭澂潼潘澎澑濂潦澳澣澡澤澹濆澪濟濕濬濔濘濱濮濛瀉瀋濺瀑瀁瀏濾瀛瀚潴瀝瀘瀟瀰瀾瀲灑灣炙炒炯烱炬炸炳炮烟烋烝�烙焉烽焜焙煥煕熈煦煢煌煖煬熏燻熄熕熨熬燗熹熾燒燉燔燎燠燬燧燵燼燹燿爍爐爛爨爭爬爰爲爻爼爿牀牆牋牘牴牾犂犁犇犒犖犢犧犹犲狃狆狄狎狒狢狠狡狹狷倏猗猊猜猖猝猴猯猩猥猾獎獏默獗獪獨獰獸獵獻獺珈玳珎玻珀珥珮珞璢琅瑯琥珸琲琺瑕琿瑟瑙瑁瑜瑩瑰瑣瑪瑶瑾璋璞璧瓊瓏瓔珱���\".split(\"\"),e=0;e!=n[224].length;++e)65533!==n[224][e].charCodeAt(0)&&(r[n[224][e]]=57344+e,t[57344+e]=n[224][e]);for(n[225]=\"����������������������������������������������������������������瓠瓣瓧瓩瓮瓲瓰瓱瓸瓷甄甃甅甌甎甍甕甓甞甦甬甼畄畍畊畉畛畆畚畩畤畧畫畭畸當疆疇畴疊疉疂疔疚疝疥疣痂疳痃疵疽疸疼疱痍痊痒痙痣痞痾痿�痼瘁痰痺痲痳瘋瘍瘉瘟瘧瘠瘡瘢瘤瘴瘰瘻癇癈癆癜癘癡癢癨癩癪癧癬癰癲癶癸發皀皃皈皋皎皖皓皙皚皰皴皸皹皺盂盍盖盒盞盡盥盧盪蘯盻眈眇眄眩眤眞眥眦眛眷眸睇睚睨睫睛睥睿睾睹瞎瞋瞑瞠瞞瞰瞶瞹瞿瞼瞽瞻矇矍矗矚矜矣矮矼砌砒礦砠礪硅碎硴碆硼碚碌碣碵碪碯磑磆磋磔碾碼磅磊磬���\".split(\"\"),e=0;e!=n[225].length;++e)65533!==n[225][e].charCodeAt(0)&&(r[n[225][e]]=57600+e,t[57600+e]=n[225][e]);for(n[226]=\"����������������������������������������������������������������磧磚磽磴礇礒礑礙礬礫祀祠祗祟祚祕祓祺祿禊禝禧齋禪禮禳禹禺秉秕秧秬秡秣稈稍稘稙稠稟禀稱稻稾稷穃穗穉穡穢穩龝穰穹穽窈窗窕窘窖窩竈窰�窶竅竄窿邃竇竊竍竏竕竓站竚竝竡竢竦竭竰笂笏笊笆笳笘笙笞笵笨笶筐筺笄筍笋筌筅筵筥筴筧筰筱筬筮箝箘箟箍箜箚箋箒箏筝箙篋篁篌篏箴篆篝篩簑簔篦篥籠簀簇簓篳篷簗簍篶簣簧簪簟簷簫簽籌籃籔籏籀籐籘籟籤籖籥籬籵粃粐粤粭粢粫粡粨粳粲粱粮粹粽糀糅糂糘糒糜糢鬻糯糲糴糶糺紆���\".split(\"\"),e=0;e!=n[226].length;++e)65533!==n[226][e].charCodeAt(0)&&(r[n[226][e]]=57856+e,t[57856+e]=n[226][e]);for(n[227]=\"����������������������������������������������������������������紂紜紕紊絅絋紮紲紿紵絆絳絖絎絲絨絮絏絣經綉絛綏絽綛綺綮綣綵緇綽綫總綢綯緜綸綟綰緘緝緤緞緻緲緡縅縊縣縡縒縱縟縉縋縢繆繦縻縵縹繃縷�縲縺繧繝繖繞繙繚繹繪繩繼繻纃緕繽辮繿纈纉續纒纐纓纔纖纎纛纜缸缺罅罌罍罎罐网罕罔罘罟罠罨罩罧罸羂羆羃羈羇羌羔羞羝羚羣羯羲羹羮羶羸譱翅翆翊翕翔翡翦翩翳翹飜耆耄耋耒耘耙耜耡耨耿耻聊聆聒聘聚聟聢聨聳聲聰聶聹聽聿肄肆肅肛肓肚肭冐肬胛胥胙胝胄胚胖脉胯胱脛脩脣脯腋���\".split(\"\"),e=0;e!=n[227].length;++e)65533!==n[227][e].charCodeAt(0)&&(r[n[227][e]]=58112+e,t[58112+e]=n[227][e]);for(n[228]=\"����������������������������������������������������������������隋腆脾腓腑胼腱腮腥腦腴膃膈膊膀膂膠膕膤膣腟膓膩膰膵膾膸膽臀臂膺臉臍臑臙臘臈臚臟臠臧臺臻臾舁舂舅與舊舍舐舖舩舫舸舳艀艙艘艝艚艟艤�艢艨艪艫舮艱艷艸艾芍芒芫芟芻芬苡苣苟苒苴苳苺莓范苻苹苞茆苜茉苙茵茴茖茲茱荀茹荐荅茯茫茗茘莅莚莪莟莢莖茣莎莇莊荼莵荳荵莠莉莨菴萓菫菎菽萃菘萋菁菷萇菠菲萍萢萠莽萸蔆菻葭萪萼蕚蒄葷葫蒭葮蒂葩葆萬葯葹萵蓊葢蒹蒿蒟蓙蓍蒻蓚蓐蓁蓆蓖蒡蔡蓿蓴蔗蔘蔬蔟蔕蔔蓼蕀蕣蕘蕈���\".split(\"\"),e=0;e!=n[228].length;++e)65533!==n[228][e].charCodeAt(0)&&(r[n[228][e]]=58368+e,t[58368+e]=n[228][e]);for(n[229]=\"����������������������������������������������������������������蕁蘂蕋蕕薀薤薈薑薊薨蕭薔薛藪薇薜蕷蕾薐藉薺藏薹藐藕藝藥藜藹蘊蘓蘋藾藺蘆蘢蘚蘰蘿虍乕虔號虧虱蚓蚣蚩蚪蚋蚌蚶蚯蛄蛆蚰蛉蠣蚫蛔蛞蛩蛬�蛟蛛蛯蜒蜆蜈蜀蜃蛻蜑蜉蜍蛹蜊蜴蜿蜷蜻蜥蜩蜚蝠蝟蝸蝌蝎蝴蝗蝨蝮蝙蝓蝣蝪蠅螢螟螂螯蟋螽蟀蟐雖螫蟄螳蟇蟆螻蟯蟲蟠蠏蠍蟾蟶蟷蠎蟒蠑蠖蠕蠢蠡蠱蠶蠹蠧蠻衄衂衒衙衞衢衫袁衾袞衵衽袵衲袂袗袒袮袙袢袍袤袰袿袱裃裄裔裘裙裝裹褂裼裴裨裲褄褌褊褓襃褞褥褪褫襁襄褻褶褸襌褝襠襞���\".split(\"\"),e=0;e!=n[229].length;++e)65533!==n[229][e].charCodeAt(0)&&(r[n[229][e]]=58624+e,t[58624+e]=n[229][e]);for(n[230]=\"����������������������������������������������������������������襦襤襭襪襯襴襷襾覃覈覊覓覘覡覩覦覬覯覲覺覽覿觀觚觜觝觧觴觸訃訖訐訌訛訝訥訶詁詛詒詆詈詼詭詬詢誅誂誄誨誡誑誥誦誚誣諄諍諂諚諫諳諧�諤諱謔諠諢諷諞諛謌謇謚諡謖謐謗謠謳鞫謦謫謾謨譁譌譏譎證譖譛譚譫譟譬譯譴譽讀讌讎讒讓讖讙讚谺豁谿豈豌豎豐豕豢豬豸豺貂貉貅貊貍貎貔豼貘戝貭貪貽貲貳貮貶賈賁賤賣賚賽賺賻贄贅贊贇贏贍贐齎贓賍贔贖赧赭赱赳趁趙跂趾趺跏跚跖跌跛跋跪跫跟跣跼踈踉跿踝踞踐踟蹂踵踰踴蹊���\".split(\"\"),e=0;e!=n[230].length;++e)65533!==n[230][e].charCodeAt(0)&&(r[n[230][e]]=58880+e,t[58880+e]=n[230][e]);for(n[231]=\"����������������������������������������������������������������蹇蹉蹌蹐蹈蹙蹤蹠踪蹣蹕蹶蹲蹼躁躇躅躄躋躊躓躑躔躙躪躡躬躰軆躱躾軅軈軋軛軣軼軻軫軾輊輅輕輒輙輓輜輟輛輌輦輳輻輹轅轂輾轌轉轆轎轗轜�轢轣轤辜辟辣辭辯辷迚迥迢迪迯邇迴逅迹迺逑逕逡逍逞逖逋逧逶逵逹迸遏遐遑遒逎遉逾遖遘遞遨遯遶隨遲邂遽邁邀邊邉邏邨邯邱邵郢郤扈郛鄂鄒鄙鄲鄰酊酖酘酣酥酩酳酲醋醉醂醢醫醯醪醵醴醺釀釁釉釋釐釖釟釡釛釼釵釶鈞釿鈔鈬鈕鈑鉞鉗鉅鉉鉤鉈銕鈿鉋鉐銜銖銓銛鉚鋏銹銷鋩錏鋺鍄錮���\".split(\"\"),e=0;e!=n[231].length;++e)65533!==n[231][e].charCodeAt(0)&&(r[n[231][e]]=59136+e,t[59136+e]=n[231][e]);for(n[232]=\"����������������������������������������������������������������錙錢錚錣錺錵錻鍜鍠鍼鍮鍖鎰鎬鎭鎔鎹鏖鏗鏨鏥鏘鏃鏝鏐鏈鏤鐚鐔鐓鐃鐇鐐鐶鐫鐵鐡鐺鑁鑒鑄鑛鑠鑢鑞鑪鈩鑰鑵鑷鑽鑚鑼鑾钁鑿閂閇閊閔閖閘閙�閠閨閧閭閼閻閹閾闊濶闃闍闌闕闔闖關闡闥闢阡阨阮阯陂陌陏陋陷陜陞陝陟陦陲陬隍隘隕隗險隧隱隲隰隴隶隸隹雎雋雉雍襍雜霍雕雹霄霆霈霓霎霑霏霖霙霤霪霰霹霽霾靄靆靈靂靉靜靠靤靦靨勒靫靱靹鞅靼鞁靺鞆鞋鞏鞐鞜鞨鞦鞣鞳鞴韃韆韈韋韜韭齏韲竟韶韵頏頌頸頤頡頷頽顆顏顋顫顯顰���\".split(\"\"),e=0;e!=n[232].length;++e)65533!==n[232][e].charCodeAt(0)&&(r[n[232][e]]=59392+e,t[59392+e]=n[232][e]);for(n[233]=\"����������������������������������������������������������������顱顴顳颪颯颱颶飄飃飆飩飫餃餉餒餔餘餡餝餞餤餠餬餮餽餾饂饉饅饐饋饑饒饌饕馗馘馥馭馮馼駟駛駝駘駑駭駮駱駲駻駸騁騏騅駢騙騫騷驅驂驀驃�騾驕驍驛驗驟驢驥驤驩驫驪骭骰骼髀髏髑髓體髞髟髢髣髦髯髫髮髴髱髷髻鬆鬘鬚鬟鬢鬣鬥鬧鬨鬩鬪鬮鬯鬲魄魃魏魍魎魑魘魴鮓鮃鮑鮖鮗鮟鮠鮨鮴鯀鯊鮹鯆鯏鯑鯒鯣鯢鯤鯔鯡鰺鯲鯱鯰鰕鰔鰉鰓鰌鰆鰈鰒鰊鰄鰮鰛鰥鰤鰡鰰鱇鰲鱆鰾鱚鱠鱧鱶鱸鳧鳬鳰鴉鴈鳫鴃鴆鴪鴦鶯鴣鴟鵄鴕鴒鵁鴿鴾鵆鵈���\".split(\"\"),e=0;e!=n[233].length;++e)65533!==n[233][e].charCodeAt(0)&&(r[n[233][e]]=59648+e,t[59648+e]=n[233][e]);for(n[234]=\"����������������������������������������������������������������鵝鵞鵤鵑鵐鵙鵲鶉鶇鶫鵯鵺鶚鶤鶩鶲鷄鷁鶻鶸鶺鷆鷏鷂鷙鷓鷸鷦鷭鷯鷽鸚鸛鸞鹵鹹鹽麁麈麋麌麒麕麑麝麥麩麸麪麭靡黌黎黏黐黔黜點黝黠黥黨黯�黴黶黷黹黻黼黽鼇鼈皷鼕鼡鼬鼾齊齒齔齣齟齠齡齦齧齬齪齷齲齶龕龜龠堯槇遙瑤凜熙�������������������������������������������������������������������������������������������\".split(\"\"),e=0;e!=n[234].length;++e)65533!==n[234][e].charCodeAt(0)&&(r[n[234][e]]=59904+e,t[59904+e]=n[234][e]);for(n[237]=\"����������������������������������������������������������������纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏�塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱���\".split(\"\"),e=0;e!=n[237].length;++e)65533!==n[237][e].charCodeAt(0)&&(r[n[237][e]]=60672+e,t[60672+e]=n[237][e]);for(n[238]=\"����������������������������������������������������������������犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙�蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑��ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ￢￤＇＂���\".split(\"\"),e=0;e!=n[238].length;++e)65533!==n[238][e].charCodeAt(0)&&(r[n[238][e]]=60928+e,t[60928+e]=n[238][e]);for(n[250]=\"����������������������������������������������������������������ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ￢￤＇＂㈱№℡∵纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊�兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯���\".split(\"\"),e=0;e!=n[250].length;++e)65533!==n[250][e].charCodeAt(0)&&(r[n[250][e]]=64e3+e,t[64e3+e]=n[250][e]);for(n[251]=\"����������������������������������������������������������������涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神�祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙���\".split(\"\"),e=0;e!=n[251].length;++e)65533!==n[251][e].charCodeAt(0)&&(r[n[251][e]]=64256+e,t[64256+e]=n[251][e]);for(n[252]=\"����������������������������������������������������������������髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\".split(\"\"),e=0;e!=n[252].length;++e)65533!==n[252][e].charCodeAt(0)&&(r[n[252][e]]=64512+e,t[64512+e]=n[252][e]);return{enc:r,dec:t}}(),r[936]=function(){var e,t=[],r={},n=[];for(n[0]=\"\\0\u0001\u0002\u0003\u0004\u0005\u0006\u0007\\b\\t\\n\\v\\f\\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�������������������������������������������������������������������������������������������������������������������������������\".split(\"\"),e=0;e!=n[0].length;++e)65533!==n[0][e].charCodeAt(0)&&(r[n[0][e]]=0+e,t[0+e]=n[0][e]);for(n[129]=\"����������������������������������������������������������������丂丄丅丆丏丒丗丟丠両丣並丩丮丯丱丳丵丷丼乀乁乂乄乆乊乑乕乗乚乛乢乣乤乥乧乨乪乫乬乭乮乯乲乴乵乶乷乸乹乺乻乼乽乿亀亁亂亃亄亅亇亊�亐亖亗亙亜亝亞亣亪亯亰亱亴亶亷亸亹亼亽亾仈仌仏仐仒仚仛仜仠仢仦仧仩仭仮仯仱仴仸仹仺仼仾伀伂伃伄伅伆伇伈伋伌伒伓伔伕伖伜伝伡伣伨伩伬伭伮伱伳伵伷伹伻伾伿佀佁佂佄佅佇佈佉佊佋佌佒佔佖佡佢佦佨佪佫佭佮佱佲併佷佸佹佺佽侀侁侂侅來侇侊侌侎侐侒侓侕侖侘侙侚侜侞侟価侢�\".split(\"\"),e=0;e!=n[129].length;++e)65533!==n[129][e].charCodeAt(0)&&(r[n[129][e]]=33024+e,t[33024+e]=n[129][e]);for(n[130]=\"����������������������������������������������������������������侤侫侭侰侱侲侳侴侶侷侸侹侺侻侼侽侾俀俁係俆俇俈俉俋俌俍俒俓俔俕俖俙俛俠俢俤俥俧俫俬俰俲俴俵俶俷俹俻俼俽俿倀倁倂倃倄倅倆倇倈倉倊�個倎倐們倓倕倖倗倛倝倞倠倢倣値倧倫倯倰倱倲倳倴倵倶倷倸倹倻倽倿偀偁偂偄偅偆偉偊偋偍偐偑偒偓偔偖偗偘偙偛偝偞偟偠偡偢偣偤偦偧偨偩偪偫偭偮偯偰偱偲偳側偵偸偹偺偼偽傁傂傃傄傆傇傉傊傋傌傎傏傐傑傒傓傔傕傖傗傘備傚傛傜傝傞傟傠傡傢傤傦傪傫傭傮傯傰傱傳傴債傶傷傸傹傼�\".split(\"\"),e=0;e!=n[130].length;++e)65533!==n[130][e].charCodeAt(0)&&(r[n[130][e]]=33280+e,t[33280+e]=n[130][e]);for(n[131]=\"����������������������������������������������������������������傽傾傿僀僁僂僃僄僅僆僇僈僉僊僋僌働僎僐僑僒僓僔僕僗僘僙僛僜僝僞僟僠僡僢僣僤僥僨僩僪僫僯僰僱僲僴僶僷僸價僺僼僽僾僿儀儁儂儃億儅儈�儉儊儌儍儎儏儐儑儓儔儕儖儗儘儙儚儛儜儝儞償儠儢儣儤儥儦儧儨儩優儫儬儭儮儯儰儱儲儳儴儵儶儷儸儹儺儻儼儽儾兂兇兊兌兎兏児兒兓兗兘兙兛兝兞兟兠兡兣兤兦內兩兪兯兲兺兾兿冃冄円冇冊冋冎冏冐冑冓冔冘冚冝冞冟冡冣冦冧冨冩冪冭冮冴冸冹冺冾冿凁凂凃凅凈凊凍凎凐凒凓凔凕凖凗�\".split(\"\"),e=0;e!=n[131].length;++e)65533!==n[131][e].charCodeAt(0)&&(r[n[131][e]]=33536+e,t[33536+e]=n[131][e]);for(n[132]=\"����������������������������������������������������������������凘凙凚凜凞凟凢凣凥処凧凨凩凪凬凮凱凲凴凷凾刄刅刉刋刌刏刐刓刔刕刜刞刟刡刢刣別刦刧刪刬刯刱刲刴刵刼刾剄剅剆則剈剉剋剎剏剒剓剕剗剘�剙剚剛剝剟剠剢剣剤剦剨剫剬剭剮剰剱剳剴創剶剷剸剹剺剻剼剾劀劃劄劅劆劇劉劊劋劌劍劎劏劑劒劔劕劖劗劘劙劚劜劤劥劦劧劮劯劰労劵劶劷劸効劺劻劼劽勀勁勂勄勅勆勈勊勌勍勎勏勑勓勔動勗務勚勛勜勝勞勠勡勢勣勥勦勧勨勩勪勫勬勭勮勯勱勲勳勴勵勶勷勸勻勼勽匁匂匃匄匇匉匊匋匌匎�\".split(\"\"),e=0;e!=n[132].length;++e)65533!==n[132][e].charCodeAt(0)&&(r[n[132][e]]=33792+e,t[33792+e]=n[132][e]);for(n[133]=\"����������������������������������������������������������������匑匒匓匔匘匛匜匞匟匢匤匥匧匨匩匫匬匭匯匰匱匲匳匴匵匶匷匸匼匽區卂卄卆卋卌卍卐協単卙卛卝卥卨卪卬卭卲卶卹卻卼卽卾厀厁厃厇厈厊厎厏�厐厑厒厓厔厖厗厙厛厜厞厠厡厤厧厪厫厬厭厯厰厱厲厳厴厵厷厸厹厺厼厽厾叀參叄叅叆叇収叏叐叒叓叕叚叜叝叞叡叢叧叴叺叾叿吀吂吅吇吋吔吘吙吚吜吢吤吥吪吰吳吶吷吺吽吿呁呂呄呅呇呉呌呍呎呏呑呚呝呞呟呠呡呣呥呧呩呪呫呬呭呮呯呰呴呹呺呾呿咁咃咅咇咈咉咊咍咑咓咗咘咜咞咟咠咡�\".split(\"\"),e=0;e!=n[133].length;++e)65533!==n[133][e].charCodeAt(0)&&(r[n[133][e]]=34048+e,t[34048+e]=n[133][e]);for(n[134]=\"����������������������������������������������������������������咢咥咮咰咲咵咶咷咹咺咼咾哃哅哊哋哖哘哛哠員哢哣哤哫哬哯哰哱哴哵哶哷哸哹哻哾唀唂唃唄唅唈唊唋唌唍唎唒唓唕唖唗唘唙唚唜唝唞唟唡唥唦�唨唩唫唭唲唴唵唶唸唹唺唻唽啀啂啅啇啈啋啌啍啎問啑啒啓啔啗啘啙啚啛啝啞啟啠啢啣啨啩啫啯啰啱啲啳啴啹啺啽啿喅喆喌喍喎喐喒喓喕喖喗喚喛喞喠喡喢喣喤喥喦喨喩喪喫喬喭單喯喰喲喴営喸喺喼喿嗀嗁嗂嗃嗆嗇嗈嗊嗋嗎嗏嗐嗕嗗嗘嗙嗚嗛嗞嗠嗢嗧嗩嗭嗮嗰嗱嗴嗶嗸嗹嗺嗻嗼嗿嘂嘃嘄嘅�\".split(\"\"),e=0;e!=n[134].length;++e)65533!==n[134][e].charCodeAt(0)&&(r[n[134][e]]=34304+e,t[34304+e]=n[134][e]);for(n[135]=\"����������������������������������������������������������������嘆嘇嘊嘋嘍嘐嘑嘒嘓嘔嘕嘖嘗嘙嘚嘜嘝嘠嘡嘢嘥嘦嘨嘩嘪嘫嘮嘯嘰嘳嘵嘷嘸嘺嘼嘽嘾噀噁噂噃噄噅噆噇噈噉噊噋噏噐噑噒噓噕噖噚噛噝噞噟噠噡�噣噥噦噧噭噮噯噰噲噳噴噵噷噸噹噺噽噾噿嚀嚁嚂嚃嚄嚇嚈嚉嚊嚋嚌嚍嚐嚑嚒嚔嚕嚖嚗嚘嚙嚚嚛嚜嚝嚞嚟嚠嚡嚢嚤嚥嚦嚧嚨嚩嚪嚫嚬嚭嚮嚰嚱嚲嚳嚴嚵嚶嚸嚹嚺嚻嚽嚾嚿囀囁囂囃囄囅囆囇囈囉囋囌囍囎囏囐囑囒囓囕囖囘囙囜団囥囦囧囨囩囪囬囮囯囲図囶囷囸囻囼圀圁圂圅圇國圌圍圎圏圐圑�\".split(\"\"),e=0;e!=n[135].length;++e)65533!==n[135][e].charCodeAt(0)&&(r[n[135][e]]=34560+e,t[34560+e]=n[135][e]);for(n[136]=\"����������������������������������������������������������������園圓圔圕圖圗團圙圚圛圝圞圠圡圢圤圥圦圧圫圱圲圴圵圶圷圸圼圽圿坁坃坄坅坆坈坉坋坒坓坔坕坖坘坙坢坣坥坧坬坮坰坱坲坴坵坸坹坺坽坾坿垀�垁垇垈垉垊垍垎垏垐垑垔垕垖垗垘垙垚垜垝垞垟垥垨垪垬垯垰垱垳垵垶垷垹垺垻垼垽垾垿埀埁埄埅埆埇埈埉埊埌埍埐埑埓埖埗埛埜埞埡埢埣埥埦埧埨埩埪埫埬埮埰埱埲埳埵埶執埻埼埾埿堁堃堄堅堈堉堊堌堎堏堐堒堓堔堖堗堘堚堛堜堝堟堢堣堥堦堧堨堩堫堬堭堮堯報堲堳場堶堷堸堹堺堻堼堽�\".split(\"\"),e=0;e!=n[136].length;++e)65533!==n[136][e].charCodeAt(0)&&(r[n[136][e]]=34816+e,t[34816+e]=n[136][e]);for(n[137]=\"����������������������������������������������������������������堾堿塀塁塂塃塅塆塇塈塉塊塋塎塏塐塒塓塕塖塗塙塚塛塜塝塟塠塡塢塣塤塦塧塨塩塪塭塮塯塰塱塲塳塴塵塶塷塸塹塺塻塼塽塿墂墄墆墇墈墊墋墌�墍墎墏墐墑墔墕墖増墘墛墜墝墠墡墢墣墤墥墦墧墪墫墬墭墮墯墰墱墲墳墴墵墶墷墸墹墺墻墽墾墿壀壂壃壄壆壇壈壉壊壋壌壍壎壏壐壒壓壔壖壗壘壙壚壛壜壝壞壟壠壡壢壣壥壦壧壨壩壪壭壯壱売壴壵壷壸壺壻壼壽壾壿夀夁夃夅夆夈変夊夋夌夎夐夑夒夓夗夘夛夝夞夠夡夢夣夦夨夬夰夲夳夵夶夻�\".split(\"\"),e=0;e!=n[137].length;++e)65533!==n[137][e].charCodeAt(0)&&(r[n[137][e]]=35072+e,t[35072+e]=n[137][e]);for(n[138]=\"����������������������������������������������������������������夽夾夿奀奃奅奆奊奌奍奐奒奓奙奛奜奝奞奟奡奣奤奦奧奨奩奪奫奬奭奮奯奰奱奲奵奷奺奻奼奾奿妀妅妉妋妌妎妏妐妑妔妕妘妚妛妜妝妟妠妡妢妦�妧妬妭妰妱妳妴妵妶妷妸妺妼妽妿姀姁姂姃姄姅姇姈姉姌姍姎姏姕姖姙姛姞姟姠姡姢姤姦姧姩姪姫姭姮姯姰姱姲姳姴姵姶姷姸姺姼姽姾娀娂娊娋娍娎娏娐娒娔娕娖娗娙娚娛娝娞娡娢娤娦娧娨娪娫娬娭娮娯娰娳娵娷娸娹娺娻娽娾娿婁婂婃婄婅婇婈婋婌婍婎婏婐婑婒婓婔婖婗婘婙婛婜婝婞婟婠�\".split(\"\"),e=0;e!=n[138].length;++e)65533!==n[138][e].charCodeAt(0)&&(r[n[138][e]]=35328+e,t[35328+e]=n[138][e]);for(n[139]=\"����������������������������������������������������������������婡婣婤婥婦婨婩婫婬婭婮婯婰婱婲婳婸婹婻婼婽婾媀媁媂媃媄媅媆媇媈媉媊媋媌媍媎媏媐媑媓媔媕媖媗媘媙媜媝媞媟媠媡媢媣媤媥媦媧媨媩媫媬�媭媮媯媰媱媴媶媷媹媺媻媼媽媿嫀嫃嫄嫅嫆嫇嫈嫊嫋嫍嫎嫏嫐嫑嫓嫕嫗嫙嫚嫛嫝嫞嫟嫢嫤嫥嫧嫨嫪嫬嫭嫮嫯嫰嫲嫳嫴嫵嫶嫷嫸嫹嫺嫻嫼嫽嫾嫿嬀嬁嬂嬃嬄嬅嬆嬇嬈嬊嬋嬌嬍嬎嬏嬐嬑嬒嬓嬔嬕嬘嬙嬚嬛嬜嬝嬞嬟嬠嬡嬢嬣嬤嬥嬦嬧嬨嬩嬪嬫嬬嬭嬮嬯嬰嬱嬳嬵嬶嬸嬹嬺嬻嬼嬽嬾嬿孁孂孃孄孅孆孇�\".split(\"\"),e=0;e!=n[139].length;++e)65533!==n[139][e].charCodeAt(0)&&(r[n[139][e]]=35584+e,t[35584+e]=n[139][e]);for(n[140]=\"����������������������������������������������������������������孈孉孊孋孌孍孎孏孒孖孞孠孡孧孨孫孭孮孯孲孴孶孷學孹孻孼孾孿宂宆宊宍宎宐宑宒宔宖実宧宨宩宬宭宮宯宱宲宷宺宻宼寀寁寃寈寉寊寋寍寎寏�寑寔寕寖寗寘寙寚寛寜寠寢寣實寧審寪寫寬寭寯寱寲寳寴寵寶寷寽対尀専尃尅將專尋尌對導尐尒尓尗尙尛尞尟尠尡尣尦尨尩尪尫尭尮尯尰尲尳尵尶尷屃屄屆屇屌屍屒屓屔屖屗屘屚屛屜屝屟屢層屧屨屩屪屫屬屭屰屲屳屴屵屶屷屸屻屼屽屾岀岃岄岅岆岇岉岊岋岎岏岒岓岕岝岞岟岠岡岤岥岦岧岨�\".split(\"\"),e=0;e!=n[140].length;++e)65533!==n[140][e].charCodeAt(0)&&(r[n[140][e]]=35840+e,t[35840+e]=n[140][e]);for(n[141]=\"����������������������������������������������������������������岪岮岯岰岲岴岶岹岺岻岼岾峀峂峃峅峆峇峈峉峊峌峍峎峏峐峑峓峔峕峖峗峘峚峛峜峝峞峟峠峢峣峧峩峫峬峮峯峱峲峳峴峵島峷峸峹峺峼峽峾峿崀�崁崄崅崈崉崊崋崌崍崏崐崑崒崓崕崗崘崙崚崜崝崟崠崡崢崣崥崨崪崫崬崯崰崱崲崳崵崶崷崸崹崺崻崼崿嵀嵁嵂嵃嵄嵅嵆嵈嵉嵍嵎嵏嵐嵑嵒嵓嵔嵕嵖嵗嵙嵚嵜嵞嵟嵠嵡嵢嵣嵤嵥嵦嵧嵨嵪嵭嵮嵰嵱嵲嵳嵵嵶嵷嵸嵹嵺嵻嵼嵽嵾嵿嶀嶁嶃嶄嶅嶆嶇嶈嶉嶊嶋嶌嶍嶎嶏嶐嶑嶒嶓嶔嶕嶖嶗嶘嶚嶛嶜嶞嶟嶠�\".split(\"\"),e=0;e!=n[141].length;++e)65533!==n[141][e].charCodeAt(0)&&(r[n[141][e]]=36096+e,t[36096+e]=n[141][e]);for(n[142]=\"����������������������������������������������������������������嶡嶢嶣嶤嶥嶦嶧嶨嶩嶪嶫嶬嶭嶮嶯嶰嶱嶲嶳嶴嶵嶶嶸嶹嶺嶻嶼嶽嶾嶿巀巁巂巃巄巆巇巈巉巊巋巌巎巏巐巑巒巓巔巕巖巗巘巙巚巜巟巠巣巤巪巬巭�巰巵巶巸巹巺巻巼巿帀帄帇帉帊帋帍帎帒帓帗帞帟帠帡帢帣帤帥帨帩帪師帬帯帰帲帳帴帵帶帹帺帾帿幀幁幃幆幇幈幉幊幋幍幎幏幐幑幒幓幖幗幘幙幚幜幝幟幠幣幤幥幦幧幨幩幪幫幬幭幮幯幰幱幵幷幹幾庁庂広庅庈庉庌庍庎庒庘庛庝庡庢庣庤庨庩庪庫庬庮庯庰庱庲庴庺庻庼庽庿廀廁廂廃廄廅�\".split(\"\"),e=0;e!=n[142].length;++e)65533!==n[142][e].charCodeAt(0)&&(r[n[142][e]]=36352+e,t[36352+e]=n[142][e]);for(n[143]=\"����������������������������������������������������������������廆廇廈廋廌廍廎廏廐廔廕廗廘廙廚廜廝廞廟廠廡廢廣廤廥廦廧廩廫廬廭廮廯廰廱廲廳廵廸廹廻廼廽弅弆弇弉弌弍弎弐弒弔弖弙弚弜弝弞弡弢弣弤�弨弫弬弮弰弲弳弴張弶強弸弻弽弾弿彁彂彃彄彅彆彇彈彉彊彋彌彍彎彏彑彔彙彚彛彜彞彟彠彣彥彧彨彫彮彯彲彴彵彶彸彺彽彾彿徃徆徍徎徏徑従徔徖徚徛徝從徟徠徢徣徤徥徦徧復徫徬徯徰徱徲徳徴徶徸徹徺徻徾徿忀忁忂忇忈忊忋忎忓忔忕忚忛応忞忟忢忣忥忦忨忩忬忯忰忲忳忴忶忷忹忺忼怇�\".split(\"\"),e=0;e!=n[143].length;++e)65533!==n[143][e].charCodeAt(0)&&(r[n[143][e]]=36608+e,t[36608+e]=n[143][e]);for(n[144]=\"����������������������������������������������������������������怈怉怋怌怐怑怓怗怘怚怞怟怢怣怤怬怭怮怰怱怲怳怴怶怷怸怹怺怽怾恀恄恅恆恇恈恉恊恌恎恏恑恓恔恖恗恘恛恜恞恟恠恡恥恦恮恱恲恴恵恷恾悀�悁悂悅悆悇悈悊悋悎悏悐悑悓悕悗悘悙悜悞悡悢悤悥悧悩悪悮悰悳悵悶悷悹悺悽悾悿惀惁惂惃惄惇惈惉惌惍惎惏惐惒惓惔惖惗惙惛惞惡惢惣惤惥惪惱惲惵惷惸惻惼惽惾惿愂愃愄愅愇愊愋愌愐愑愒愓愔愖愗愘愙愛愜愝愞愡愢愥愨愩愪愬愭愮愯愰愱愲愳愴愵愶愷愸愹愺愻愼愽愾慀慁慂慃慄慅慆�\".split(\"\"),e=0;e!=n[144].length;++e)65533!==n[144][e].charCodeAt(0)&&(r[n[144][e]]=36864+e,t[36864+e]=n[144][e]);for(n[145]=\"����������������������������������������������������������������慇慉態慍慏慐慒慓慔慖慗慘慙慚慛慜慞慟慠慡慣慤慥慦慩慪慫慬慭慮慯慱慲慳慴慶慸慹慺慻慼慽慾慿憀憁憂憃憄憅憆憇憈憉憊憌憍憏憐憑憒憓憕�憖憗憘憙憚憛憜憞憟憠憡憢憣憤憥憦憪憫憭憮憯憰憱憲憳憴憵憶憸憹憺憻憼憽憿懀懁懃懄懅懆懇應懌懍懎懏懐懓懕懖懗懘懙懚懛懜懝懞懟懠懡懢懣懤懥懧懨懩懪懫懬懭懮懯懰懱懲懳懴懶懷懸懹懺懻懼懽懾戀戁戂戃戄戅戇戉戓戔戙戜戝戞戠戣戦戧戨戩戫戭戯戰戱戲戵戶戸戹戺戻戼扂扄扅扆扊�\".split(\"\"),e=0;e!=n[145].length;++e)65533!==n[145][e].charCodeAt(0)&&(r[n[145][e]]=37120+e,t[37120+e]=n[145][e]);for(n[146]=\"����������������������������������������������������������������扏扐払扖扗扙扚扜扝扞扟扠扡扢扤扥扨扱扲扴扵扷扸扺扻扽抁抂抃抅抆抇抈抋抌抍抎抏抐抔抙抜抝択抣抦抧抩抪抭抮抯抰抲抳抴抶抷抸抺抾拀拁�拃拋拏拑拕拝拞拠拡拤拪拫拰拲拵拸拹拺拻挀挃挄挅挆挊挋挌挍挏挐挒挓挔挕挗挘挙挜挦挧挩挬挭挮挰挱挳挴挵挶挷挸挻挼挾挿捀捁捄捇捈捊捑捒捓捔捖捗捘捙捚捛捜捝捠捤捥捦捨捪捫捬捯捰捲捳捴捵捸捹捼捽捾捿掁掃掄掅掆掋掍掑掓掔掕掗掙掚掛掜掝掞掟採掤掦掫掯掱掲掵掶掹掻掽掿揀�\".split(\"\"),e=0;e!=n[146].length;++e)65533!==n[146][e].charCodeAt(0)&&(r[n[146][e]]=37376+e,t[37376+e]=n[146][e]);for(n[147]=\"����������������������������������������������������������������揁揂揃揅揇揈揊揋揌揑揓揔揕揗揘揙揚換揜揝揟揢揤揥揦揧揨揫揬揮揯揰揱揳揵揷揹揺揻揼揾搃搄搆搇搈搉搊損搎搑搒搕搖搗搘搙搚搝搟搢搣搤�搥搧搨搩搫搮搯搰搱搲搳搵搶搷搸搹搻搼搾摀摂摃摉摋摌摍摎摏摐摑摓摕摖摗摙摚摛摜摝摟摠摡摢摣摤摥摦摨摪摫摬摮摯摰摱摲摳摴摵摶摷摻摼摽摾摿撀撁撃撆撈撉撊撋撌撍撎撏撐撓撔撗撘撚撛撜撝撟撠撡撢撣撥撦撧撨撪撫撯撱撲撳撴撶撹撻撽撾撿擁擃擄擆擇擈擉擊擋擌擏擑擓擔擕擖擙據�\".split(\"\"),e=0;e!=n[147].length;++e)65533!==n[147][e].charCodeAt(0)&&(r[n[147][e]]=37632+e,t[37632+e]=n[147][e]);for(n[148]=\"����������������������������������������������������������������擛擜擝擟擠擡擣擥擧擨擩擪擫擬擭擮擯擰擱擲擳擴擵擶擷擸擹擺擻擼擽擾擿攁攂攃攄攅攆攇攈攊攋攌攍攎攏攐攑攓攔攕攖攗攙攚攛攜攝攞攟攠攡�攢攣攤攦攧攨攩攪攬攭攰攱攲攳攷攺攼攽敀敁敂敃敄敆敇敊敋敍敎敐敒敓敔敗敘敚敜敟敠敡敤敥敧敨敩敪敭敮敯敱敳敵敶數敹敺敻敼敽敾敿斀斁斂斃斄斅斆斈斉斊斍斎斏斒斔斕斖斘斚斝斞斠斢斣斦斨斪斬斮斱斲斳斴斵斶斷斸斺斻斾斿旀旂旇旈旉旊旍旐旑旓旔旕旘旙旚旛旜旝旞旟旡旣旤旪旫�\".split(\"\"),e=0;e!=n[148].length;++e)65533!==n[148][e].charCodeAt(0)&&(r[n[148][e]]=37888+e,t[37888+e]=n[148][e]);for(n[149]=\"����������������������������������������������������������������旲旳旴旵旸旹旻旼旽旾旿昁昄昅昇昈昉昋昍昐昑昒昖昗昘昚昛昜昞昡昢昣昤昦昩昪昫昬昮昰昲昳昷昸昹昺昻昽昿晀時晄晅晆晇晈晉晊晍晎晐晑晘�晙晛晜晝晞晠晢晣晥晧晩晪晫晬晭晱晲晳晵晸晹晻晼晽晿暀暁暃暅暆暈暉暊暋暍暎暏暐暒暓暔暕暘暙暚暛暜暞暟暠暡暢暣暤暥暦暩暪暫暬暭暯暰暱暲暳暵暶暷暸暺暻暼暽暿曀曁曂曃曄曅曆曇曈曉曊曋曌曍曎曏曐曑曒曓曔曕曖曗曘曚曞曟曠曡曢曣曤曥曧曨曪曫曬曭曮曯曱曵曶書曺曻曽朁朂會�\".split(\"\"),e=0;e!=n[149].length;++e)65533!==n[149][e].charCodeAt(0)&&(r[n[149][e]]=38144+e,t[38144+e]=n[149][e]);for(n[150]=\"����������������������������������������������������������������朄朅朆朇朌朎朏朑朒朓朖朘朙朚朜朞朠朡朢朣朤朥朧朩朮朰朲朳朶朷朸朹朻朼朾朿杁杄杅杇杊杋杍杒杔杕杗杘杙杚杛杝杢杣杤杦杧杫杬杮東杴杶�杸杹杺杻杽枀枂枃枅枆枈枊枌枍枎枏枑枒枓枔枖枙枛枟枠枡枤枦枩枬枮枱枲枴枹枺枻枼枽枾枿柀柂柅柆柇柈柉柊柋柌柍柎柕柖柗柛柟柡柣柤柦柧柨柪柫柭柮柲柵柶柷柸柹柺査柼柾栁栂栃栄栆栍栐栒栔栕栘栙栚栛栜栞栟栠栢栣栤栥栦栧栨栫栬栭栮栯栰栱栴栵栶栺栻栿桇桋桍桏桒桖桗桘桙桚桛�\".split(\"\"),e=0;e!=n[150].length;++e)65533!==n[150][e].charCodeAt(0)&&(r[n[150][e]]=38400+e,t[38400+e]=n[150][e]);for(n[151]=\"����������������������������������������������������������������桜桝桞桟桪桬桭桮桯桰桱桲桳桵桸桹桺桻桼桽桾桿梀梂梄梇梈梉梊梋梌梍梎梐梑梒梔梕梖梘梙梚梛梜條梞梟梠梡梣梤梥梩梪梫梬梮梱梲梴梶梷梸�梹梺梻梼梽梾梿棁棃棄棅棆棇棈棊棌棎棏棐棑棓棔棖棗棙棛棜棝棞棟棡棢棤棥棦棧棨棩棪棫棬棭棯棲棳棴棶棷棸棻棽棾棿椀椂椃椄椆椇椈椉椊椌椏椑椓椔椕椖椗椘椙椚椛検椝椞椡椢椣椥椦椧椨椩椪椫椬椮椯椱椲椳椵椶椷椸椺椻椼椾楀楁楃楄楅楆楇楈楉楊楋楌楍楎楏楐楑楒楓楕楖楘楙楛楜楟�\".split(\"\"),e=0;e!=n[151].length;++e)65533!==n[151][e].charCodeAt(0)&&(r[n[151][e]]=38656+e,t[38656+e]=n[151][e]);for(n[152]=\"����������������������������������������������������������������楡楢楤楥楧楨楩楪楬業楯楰楲楳楴極楶楺楻楽楾楿榁榃榅榊榋榌榎榏榐榑榒榓榖榗榙榚榝榞榟榠榡榢榣榤榥榦榩榪榬榮榯榰榲榳榵榶榸榹榺榼榽�榾榿槀槂槃槄槅槆槇槈槉構槍槏槑槒槓槕槖槗様槙槚槜槝槞槡槢槣槤槥槦槧槨槩槪槫槬槮槯槰槱槳槴槵槶槷槸槹槺槻槼槾樀樁樂樃樄樅樆樇樈樉樋樌樍樎樏樐樑樒樓樔樕樖標樚樛樜樝樞樠樢樣樤樥樦樧権樫樬樭樮樰樲樳樴樶樷樸樹樺樻樼樿橀橁橂橃橅橆橈橉橊橋橌橍橎橏橑橒橓橔橕橖橗橚�\".split(\"\"),e=0;e!=n[152].length;++e)65533!==n[152][e].charCodeAt(0)&&(r[n[152][e]]=38912+e,t[38912+e]=n[152][e]);for(n[153]=\"����������������������������������������������������������������橜橝橞機橠橢橣橤橦橧橨橩橪橫橬橭橮橯橰橲橳橴橵橶橷橸橺橻橽橾橿檁檂檃檅檆檇檈檉檊檋檌檍檏檒檓檔檕檖檘檙檚檛檜檝檞檟檡檢檣檤檥檦�檧檨檪檭檮檯檰檱檲檳檴檵檶檷檸檹檺檻檼檽檾檿櫀櫁櫂櫃櫄櫅櫆櫇櫈櫉櫊櫋櫌櫍櫎櫏櫐櫑櫒櫓櫔櫕櫖櫗櫘櫙櫚櫛櫜櫝櫞櫟櫠櫡櫢櫣櫤櫥櫦櫧櫨櫩櫪櫫櫬櫭櫮櫯櫰櫱櫲櫳櫴櫵櫶櫷櫸櫹櫺櫻櫼櫽櫾櫿欀欁欂欃欄欅欆欇欈欉權欋欌欍欎欏欐欑欒欓欔欕欖欗欘欙欚欛欜欝欞欟欥欦欨欩欪欫欬欭欮�\".split(\"\"),e=0;e!=n[153].length;++e)65533!==n[153][e].charCodeAt(0)&&(r[n[153][e]]=39168+e,t[39168+e]=n[153][e]);for(n[154]=\"����������������������������������������������������������������欯欰欱欳欴欵欶欸欻欼欽欿歀歁歂歄歅歈歊歋歍歎歏歐歑歒歓歔歕歖歗歘歚歛歜歝歞歟歠歡歨歩歫歬歭歮歯歰歱歲歳歴歵歶歷歸歺歽歾歿殀殅殈�殌殎殏殐殑殔殕殗殘殙殜殝殞殟殠殢殣殤殥殦殧殨殩殫殬殭殮殯殰殱殲殶殸殹殺殻殼殽殾毀毃毄毆毇毈毉毊毌毎毐毑毘毚毜毝毞毟毠毢毣毤毥毦毧毨毩毬毭毮毰毱毲毴毶毷毸毺毻毼毾毿氀氁氂氃氄氈氉氊氋氌氎氒気氜氝氞氠氣氥氫氬氭氱氳氶氷氹氺氻氼氾氿汃汄汅汈汋汌汍汎汏汑汒汓汖汘�\".split(\"\"),e=0;e!=n[154].length;++e)65533!==n[154][e].charCodeAt(0)&&(r[n[154][e]]=39424+e,t[39424+e]=n[154][e]);for(n[155]=\"����������������������������������������������������������������汙汚汢汣汥汦汧汫汬汭汮汯汱汳汵汷汸決汻汼汿沀沄沇沊沋沍沎沑沒沕沖沗沘沚沜沝沞沠沢沨沬沯沰沴沵沶沷沺泀況泂泃泆泇泈泋泍泎泏泑泒泘�泙泚泜泝泟泤泦泧泩泬泭泲泴泹泿洀洂洃洅洆洈洉洊洍洏洐洑洓洔洕洖洘洜洝洟洠洡洢洣洤洦洨洩洬洭洯洰洴洶洷洸洺洿浀浂浄浉浌浐浕浖浗浘浛浝浟浡浢浤浥浧浨浫浬浭浰浱浲浳浵浶浹浺浻浽浾浿涀涁涃涄涆涇涊涋涍涏涐涒涖涗涘涙涚涜涢涥涬涭涰涱涳涴涶涷涹涺涻涼涽涾淁淂淃淈淉淊�\".split(\"\"),e=0;e!=n[155].length;++e)65533!==n[155][e].charCodeAt(0)&&(r[n[155][e]]=39680+e,t[39680+e]=n[155][e]);for(n[156]=\"����������������������������������������������������������������淍淎淏淐淒淓淔淕淗淚淛淜淟淢淣淥淧淨淩淪淭淯淰淲淴淵淶淸淺淽淾淿渀渁渂渃渄渆渇済渉渋渏渒渓渕渘渙減渜渞渟渢渦渧渨渪測渮渰渱渳渵�渶渷渹渻渼渽渾渿湀湁湂湅湆湇湈湉湊湋湌湏湐湑湒湕湗湙湚湜湝湞湠湡湢湣湤湥湦湧湨湩湪湬湭湯湰湱湲湳湴湵湶湷湸湹湺湻湼湽満溁溂溄溇溈溊溋溌溍溎溑溒溓溔溕準溗溙溚溛溝溞溠溡溣溤溦溨溩溫溬溭溮溰溳溵溸溹溼溾溿滀滃滄滅滆滈滉滊滌滍滎滐滒滖滘滙滛滜滝滣滧滪滫滬滭滮滯�\".split(\"\"),e=0;e!=n[156].length;++e)65533!==n[156][e].charCodeAt(0)&&(r[n[156][e]]=39936+e,t[39936+e]=n[156][e]);for(n[157]=\"����������������������������������������������������������������滰滱滲滳滵滶滷滸滺滻滼滽滾滿漀漁漃漄漅漇漈漊漋漌漍漎漐漑漒漖漗漘漙漚漛漜漝漞漟漡漢漣漥漦漧漨漬漮漰漲漴漵漷漸漹漺漻漼漽漿潀潁潂�潃潄潅潈潉潊潌潎潏潐潑潒潓潔潕潖潗潙潚潛潝潟潠潡潣潤潥潧潨潩潪潫潬潯潰潱潳潵潶潷潹潻潽潾潿澀澁澂澃澅澆澇澊澋澏澐澑澒澓澔澕澖澗澘澙澚澛澝澞澟澠澢澣澤澥澦澨澩澪澫澬澭澮澯澰澱澲澴澵澷澸澺澻澼澽澾澿濁濃濄濅濆濇濈濊濋濌濍濎濏濐濓濔濕濖濗濘濙濚濛濜濝濟濢濣濤濥�\".split(\"\"),e=0;e!=n[157].length;++e)65533!==n[157][e].charCodeAt(0)&&(r[n[157][e]]=40192+e,t[40192+e]=n[157][e]);for(n[158]=\"����������������������������������������������������������������濦濧濨濩濪濫濬濭濰濱濲濳濴濵濶濷濸濹濺濻濼濽濾濿瀀瀁瀂瀃瀄瀅瀆瀇瀈瀉瀊瀋瀌瀍瀎瀏瀐瀒瀓瀔瀕瀖瀗瀘瀙瀜瀝瀞瀟瀠瀡瀢瀤瀥瀦瀧瀨瀩瀪�瀫瀬瀭瀮瀯瀰瀱瀲瀳瀴瀶瀷瀸瀺瀻瀼瀽瀾瀿灀灁灂灃灄灅灆灇灈灉灊灋灍灎灐灑灒灓灔灕灖灗灘灙灚灛灜灝灟灠灡灢灣灤灥灦灧灨灩灪灮灱灲灳灴灷灹灺灻災炁炂炃炄炆炇炈炋炌炍炏炐炑炓炗炘炚炛炞炟炠炡炢炣炤炥炦炧炨炩炪炰炲炴炵炶為炾炿烄烅烆烇烉烋烌烍烎烏烐烑烒烓烔烕烖烗烚�\".split(\"\"),e=0;e!=n[158].length;++e)65533!==n[158][e].charCodeAt(0)&&(r[n[158][e]]=40448+e,t[40448+e]=n[158][e]);for(n[159]=\"����������������������������������������������������������������烜烝烞烠烡烢烣烥烪烮烰烱烲烳烴烵烶烸烺烻烼烾烿焀焁焂焃焄焅焆焇焈焋焌焍焎焏焑焒焔焗焛焜焝焞焟焠無焢焣焤焥焧焨焩焪焫焬焭焮焲焳焴�焵焷焸焹焺焻焼焽焾焿煀煁煂煃煄煆煇煈煉煋煍煏煐煑煒煓煔煕煖煗煘煙煚煛煝煟煠煡煢煣煥煩煪煫煬煭煯煰煱煴煵煶煷煹煻煼煾煿熀熁熂熃熅熆熇熈熉熋熌熍熎熐熑熒熓熕熖熗熚熛熜熝熞熡熢熣熤熥熦熧熩熪熫熭熮熯熰熱熲熴熶熷熸熺熻熼熽熾熿燀燁燂燄燅燆燇燈燉燊燋燌燍燏燐燑燒燓�\".split(\"\"),e=0;e!=n[159].length;++e)65533!==n[159][e].charCodeAt(0)&&(r[n[159][e]]=40704+e,t[40704+e]=n[159][e]);for(n[160]=\"����������������������������������������������������������������燖燗燘燙燚燛燜燝燞營燡燢燣燤燦燨燩燪燫燬燭燯燰燱燲燳燴燵燶燷燸燺燻燼燽燾燿爀爁爂爃爄爅爇爈爉爊爋爌爍爎爏爐爑爒爓爔爕爖爗爘爙爚�爛爜爞爟爠爡爢爣爤爥爦爧爩爫爭爮爯爲爳爴爺爼爾牀牁牂牃牄牅牆牉牊牋牎牏牐牑牓牔牕牗牘牚牜牞牠牣牤牥牨牪牫牬牭牰牱牳牴牶牷牸牻牼牽犂犃犅犆犇犈犉犌犎犐犑犓犔犕犖犗犘犙犚犛犜犝犞犠犡犢犣犤犥犦犧犨犩犪犫犮犱犲犳犵犺犻犼犽犾犿狀狅狆狇狉狊狋狌狏狑狓狔狕狖狘狚狛�\".split(\"\"),e=0;e!=n[160].length;++e)65533!==n[160][e].charCodeAt(0)&&(r[n[160][e]]=40960+e,t[40960+e]=n[160][e]);for(n[161]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������　、。·ˉˇ¨〃々—～‖…‘’“”〔〕〈〉《》「」『』〖〗【】±×÷∶∧∨∑∏∪∩∈∷√⊥∥∠⌒⊙∫∮≡≌≈∽∝≠≮≯≤≥∞∵∴♂♀°′″℃＄¤￠￡‰§№☆★○●◎◇◆□■△▲※→←↑↓〓�\".split(\"\"),e=0;e!=n[161].length;++e)65533!==n[161][e].charCodeAt(0)&&(r[n[161][e]]=41216+e,t[41216+e]=n[161][e]);for(n[162]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ������⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓⒔⒕⒖⒗⒘⒙⒚⒛⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂⒃⒄⒅⒆⒇①②③④⑤⑥⑦⑧⑨⑩��㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩��ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ���\".split(\"\"),e=0;e!=n[162].length;++e)65533!==n[162][e].charCodeAt(0)&&(r[n[162][e]]=41472+e,t[41472+e]=n[162][e]);for(n[163]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������！＂＃￥％＆＇（）＊＋，－．／０１２３４５６７８９：；＜＝＞？＠ＡＢＣＤＥＦＧＨＩＪＫＬＭＮＯＰＱＲＳＴＵＶＷＸＹＺ［＼］＾＿｀ａｂｃｄｅｆｇｈｉｊｋｌｍｎｏｐｑｒｓｔｕｖｗｘｙｚ｛｜｝￣�\".split(\"\"),e=0;e!=n[163].length;++e)65533!==n[163][e].charCodeAt(0)&&(r[n[163][e]]=41728+e,t[41728+e]=n[163][e]);for(n[164]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん������������\".split(\"\"),e=0;e!=n[164].length;++e)65533!==n[164][e].charCodeAt(0)&&(r[n[164][e]]=41984+e,t[41984+e]=n[164][e]);for(n[165]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ���������\".split(\"\"),e=0;e!=n[165].length;++e)65533!==n[165][e].charCodeAt(0)&&(r[n[165][e]]=42240+e,t[42240+e]=n[165][e]);for(n[166]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω�������︵︶︹︺︿﹀︽︾﹁﹂﹃﹄��︻︼︷︸︱�︳︴����������\".split(\"\"),e=0;e!=n[166].length;++e)65533!==n[166][e].charCodeAt(0)&&(r[n[166][e]]=42496+e,t[42496+e]=n[166][e]);for(n[167]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмнопрстуфхцчшщъыьэюя��������������\".split(\"\"),e=0;e!=n[167].length;++e)65533!==n[167][e].charCodeAt(0)&&(r[n[167][e]]=42752+e,t[42752+e]=n[167][e]);for(n[168]=\"����������������������������������������������������������������ˊˋ˙–―‥‵℅℉↖↗↘↙∕∟∣≒≦≧⊿═║╒╓╔╕╖╗╘╙╚╛╜╝╞╟╠╡╢╣╤╥╦╧╨╩╪╫╬╭╮╯╰╱╲╳▁▂▃▄▅▆▇�█▉▊▋▌▍▎▏▓▔▕▼▽◢◣◤◥☉⊕〒〝〞�����������āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜüêɑ�ńň�ɡ����ㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩ����������������������\".split(\"\"),e=0;e!=n[168].length;++e)65533!==n[168][e].charCodeAt(0)&&(r[n[168][e]]=43008+e,t[43008+e]=n[168][e]);for(n[169]=\"����������������������������������������������������������������〡〢〣〤〥〦〧〨〩㊣㎎㎏㎜㎝㎞㎡㏄㏎㏑㏒㏕︰￢￤�℡㈱�‐���ー゛゜ヽヾ〆ゝゞ﹉﹊﹋﹌﹍﹎﹏﹐﹑﹒﹔﹕﹖﹗﹙﹚﹛﹜﹝﹞﹟﹠﹡�﹢﹣﹤﹥﹦﹨﹩﹪﹫�������������〇�������������─━│┃┄┅┆┇┈┉┊┋┌┍┎┏┐┑┒┓└┕┖┗┘┙┚┛├┝┞┟┠┡┢┣┤┥┦┧┨┩┪┫┬┭┮┯┰┱┲┳┴┵┶┷┸┹┺┻┼┽┾┿╀╁╂╃╄╅╆╇╈╉╊╋����������������\".split(\"\"),e=0;e!=n[169].length;++e)65533!==n[169][e].charCodeAt(0)&&(r[n[169][e]]=43264+e,t[43264+e]=n[169][e]);for(n[170]=\"����������������������������������������������������������������狜狝狟狢狣狤狥狦狧狪狫狵狶狹狽狾狿猀猂猄猅猆猇猈猉猋猌猍猏猐猑猒猔猘猙猚猟猠猣猤猦猧猨猭猯猰猲猳猵猶猺猻猼猽獀獁獂獃獄獅獆獇獈�獉獊獋獌獎獏獑獓獔獕獖獘獙獚獛獜獝獞獟獡獢獣獤獥獦獧獨獩獪獫獮獰獱�����������������������������������������������������������������������������������������������\".split(\"\"),e=0;e!=n[170].length;++e)65533!==n[170][e].charCodeAt(0)&&(r[n[170][e]]=43520+e,t[43520+e]=n[170][e]);for(n[171]=\"����������������������������������������������������������������獲獳獴獵獶獷獸獹獺獻獼獽獿玀玁玂玃玅玆玈玊玌玍玏玐玒玓玔玕玗玘玙玚玜玝玞玠玡玣玤玥玦玧玨玪玬玭玱玴玵玶玸玹玼玽玾玿珁珃珄珅珆珇�珋珌珎珒珓珔珕珖珗珘珚珛珜珝珟珡珢珣珤珦珨珪珫珬珮珯珰珱珳珴珵珶珷�����������������������������������������������������������������������������������������������\".split(\"\"),e=0;e!=n[171].length;++e)65533!==n[171][e].charCodeAt(0)&&(r[n[171][e]]=43776+e,t[43776+e]=n[171][e]);for(n[172]=\"����������������������������������������������������������������珸珹珺珻珼珽現珿琀琁琂琄琇琈琋琌琍琎琑琒琓琔琕琖琗琘琙琜琝琞琟琠琡琣琤琧琩琫琭琯琱琲琷琸琹琺琻琽琾琿瑀瑂瑃瑄瑅瑆瑇瑈瑉瑊瑋瑌瑍�瑎瑏瑐瑑瑒瑓瑔瑖瑘瑝瑠瑡瑢瑣瑤瑥瑦瑧瑨瑩瑪瑫瑬瑮瑯瑱瑲瑳瑴瑵瑸瑹瑺�����������������������������������������������������������������������������������������������\".split(\"\"),e=0;e!=n[172].length;++e)65533!==n[172][e].charCodeAt(0)&&(r[n[172][e]]=44032+e,t[44032+e]=n[172][e]);for(n[173]=\"����������������������������������������������������������������瑻瑼瑽瑿璂璄璅璆璈璉璊璌璍璏璑璒璓璔璕璖璗璘璙璚璛璝璟璠璡璢璣璤璥璦璪璫璬璭璮璯環璱璲璳璴璵璶璷璸璹璻璼璽璾璿瓀瓁瓂瓃瓄瓅瓆瓇�瓈瓉瓊瓋瓌瓍瓎瓏瓐瓑瓓瓔瓕瓖瓗瓘瓙瓚瓛瓝瓟瓡瓥瓧瓨瓩瓪瓫瓬瓭瓰瓱瓲�����������������������������������������������������������������������������������������������\".split(\"\"),e=0;e!=n[173].length;++e)65533!==n[173][e].charCodeAt(0)&&(r[n[173][e]]=44288+e,t[44288+e]=n[173][e]);for(n[174]=\"����������������������������������������������������������������瓳瓵瓸瓹瓺瓻瓼瓽瓾甀甁甂甃甅甆甇甈甉甊甋甌甎甐甒甔甕甖甗甛甝甞甠甡產産甤甦甧甪甮甴甶甹甼甽甿畁畂畃畄畆畇畉畊畍畐畑畒畓畕畖畗畘�畝畞畟畠畡畢畣畤畧畨畩畫畬畭畮畯異畱畳畵當畷畺畻畼畽畾疀疁疂疄疅疇�����������������������������������������������������������������������������������������������\".split(\"\"),e=0;e!=n[174].length;++e)65533!==n[174][e].charCodeAt(0)&&(r[n[174][e]]=44544+e,t[44544+e]=n[174][e]);for(n[175]=\"����������������������������������������������������������������疈疉疊疌疍疎疐疓疕疘疛疜疞疢疦疧疨疩疪疭疶疷疺疻疿痀痁痆痋痌痎痏痐痑痓痗痙痚痜痝痟痠痡痥痩痬痭痮痯痲痳痵痶痷痸痺痻痽痾瘂瘄瘆瘇�瘈瘉瘋瘍瘎瘏瘑瘒瘓瘔瘖瘚瘜瘝瘞瘡瘣瘧瘨瘬瘮瘯瘱瘲瘶瘷瘹瘺瘻瘽癁療癄�����������������������������������������������������������������������������������������������\".split(\"\"),e=0;e!=n[175].length;++e)65533!==n[175][e].charCodeAt(0)&&(r[n[175][e]]=44800+e,t[44800+e]=n[175][e]);for(n[176]=\"����������������������������������������������������������������癅癆癇癈癉癊癋癎癏癐癑癒癓癕癗癘癙癚癛癝癟癠癡癢癤癥癦癧癨癩癪癬癭癮癰癱癲癳癴癵癶癷癹発發癿皀皁皃皅皉皊皌皍皏皐皒皔皕皗皘皚皛�皜皝皞皟皠皡皢皣皥皦皧皨皩皪皫皬皭皯皰皳皵皶皷皸皹皺皻皼皽皾盀盁盃啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱袄傲奥懊澳芭捌扒叭吧笆八疤巴拔跋靶把耙坝霸罢爸白柏百摆佰败拜稗斑班搬扳般颁板版扮拌伴瓣半办绊邦帮梆榜膀绑棒磅蚌镑傍谤苞胞包褒剥�\".split(\"\"),e=0;e!=n[176].length;++e)65533!==n[176][e].charCodeAt(0)&&(r[n[176][e]]=45056+e,t[45056+e]=n[176][e]);for(n[177]=\"����������������������������������������������������������������盄盇盉盋盌盓盕盙盚盜盝盞盠盡盢監盤盦盧盨盩盪盫盬盭盰盳盵盶盷盺盻盽盿眀眂眃眅眆眊県眎眏眐眑眒眓眔眕眖眗眘眛眜眝眞眡眣眤眥眧眪眫�眬眮眰眱眲眳眴眹眻眽眾眿睂睄睅睆睈睉睊睋睌睍睎睏睒睓睔睕睖睗睘睙睜薄雹保堡饱宝抱报暴豹鲍爆杯碑悲卑北辈背贝钡倍狈备惫焙被奔苯本笨崩绷甭泵蹦迸逼鼻比鄙笔彼碧蓖蔽毕毙毖币庇痹闭敝弊必辟壁臂避陛鞭边编贬扁便变卞辨辩辫遍标彪膘表鳖憋别瘪彬斌濒滨宾摈兵冰柄丙秉饼炳�\".split(\"\"),e=0;e!=n[177].length;++e)65533!==n[177][e].charCodeAt(0)&&(r[n[177][e]]=45312+e,t[45312+e]=n[177][e]);for(n[178]=\"����������������������������������������������������������������睝睞睟睠睤睧睩睪睭睮睯睰睱睲睳睴睵睶睷睸睺睻睼瞁瞂瞃瞆瞇瞈瞉瞊瞋瞏瞐瞓瞔瞕瞖瞗瞘瞙瞚瞛瞜瞝瞞瞡瞣瞤瞦瞨瞫瞭瞮瞯瞱瞲瞴瞶瞷瞸瞹瞺�瞼瞾矀矁矂矃矄矅矆矇矈矉矊矋矌矎矏矐矑矒矓矔矕矖矘矙矚矝矞矟矠矡矤病并玻菠播拨钵波博勃搏铂箔伯帛舶脖膊渤泊驳捕卜哺补埠不布步簿部怖擦猜裁材才财睬踩采彩菜蔡餐参蚕残惭惨灿苍舱仓沧藏操糙槽曹草厕策侧册测层蹭插叉茬茶查碴搽察岔差诧拆柴豺搀掺蝉馋谗缠铲产阐颤昌猖�\".split(\"\"),e=0;e!=n[178].length;++e)65533!==n[178][e].charCodeAt(0)&&(r[n[178][e]]=45568+e,t[45568+e]=n[178][e]);for(n[179]=\"����������������������������������������������������������������矦矨矪矯矰矱矲矴矵矷矹矺矻矼砃砄砅砆砇砈砊砋砎砏砐砓砕砙砛砞砠砡砢砤砨砪砫砮砯砱砲砳砵砶砽砿硁硂硃硄硆硈硉硊硋硍硏硑硓硔硘硙硚�硛硜硞硟硠硡硢硣硤硥硦硧硨硩硯硰硱硲硳硴硵硶硸硹硺硻硽硾硿碀碁碂碃场尝常长偿肠厂敞畅唱倡超抄钞朝嘲潮巢吵炒车扯撤掣彻澈郴臣辰尘晨忱沉陈趁衬撑称城橙成呈乘程惩澄诚承逞骋秤吃痴持匙池迟弛驰耻齿侈尺赤翅斥炽充冲虫崇宠抽酬畴踌稠愁筹仇绸瞅丑臭初出橱厨躇锄雏滁除楚�\".split(\"\"),e=0;e!=n[179].length;++e)65533!==n[179][e].charCodeAt(0)&&(r[n[179][e]]=45824+e,t[45824+e]=n[179][e]);for(n[180]=\"����������������������������������������������������������������碄碅碆碈碊碋碏碐碒碔碕碖碙碝碞碠碢碤碦碨碩碪碫碬碭碮碯碵碶碷碸確碻碼碽碿磀磂磃磄磆磇磈磌磍磎磏磑磒磓磖磗磘磚磛磜磝磞磟磠磡磢磣�磤磥磦磧磩磪磫磭磮磯磰磱磳磵磶磸磹磻磼磽磾磿礀礂礃礄礆礇礈礉礊礋礌础储矗搐触处揣川穿椽传船喘串疮窗幢床闯创吹炊捶锤垂春椿醇唇淳纯蠢戳绰疵茨磁雌辞慈瓷词此刺赐次聪葱囱匆从丛凑粗醋簇促蹿篡窜摧崔催脆瘁粹淬翠村存寸磋撮搓措挫错搭达答瘩打大呆歹傣戴带殆代贷袋待逮�\".split(\"\"),e=0;e!=n[180].length;++e)65533!==n[180][e].charCodeAt(0)&&(r[n[180][e]]=46080+e,t[46080+e]=n[180][e]);for(n[181]=\"����������������������������������������������������������������礍礎礏礐礑礒礔礕礖礗礘礙礚礛礜礝礟礠礡礢礣礥礦礧礨礩礪礫礬礭礮礯礰礱礲礳礵礶礷礸礹礽礿祂祃祄祅祇祊祋祌祍祎祏祐祑祒祔祕祘祙祡祣�祤祦祩祪祫祬祮祰祱祲祳祴祵祶祹祻祼祽祾祿禂禃禆禇禈禉禋禌禍禎禐禑禒怠耽担丹单郸掸胆旦氮但惮淡诞弹蛋当挡党荡档刀捣蹈倒岛祷导到稻悼道盗德得的蹬灯登等瞪凳邓堤低滴迪敌笛狄涤翟嫡抵底地蒂第帝弟递缔颠掂滇碘点典靛垫电佃甸店惦奠淀殿碉叼雕凋刁掉吊钓调跌爹碟蝶迭谍叠�\".split(\"\"),e=0;e!=n[181].length;++e)65533!==n[181][e].charCodeAt(0)&&(r[n[181][e]]=46336+e,t[46336+e]=n[181][e]);for(n[182]=\"����������������������������������������������������������������禓禔禕禖禗禘禙禛禜禝禞禟禠禡禢禣禤禥禦禨禩禪禫禬禭禮禯禰禱禲禴禵禶禷禸禼禿秂秄秅秇秈秊秌秎秏秐秓秔秖秗秙秚秛秜秝秞秠秡秢秥秨秪�秬秮秱秲秳秴秵秶秷秹秺秼秾秿稁稄稅稇稈稉稊稌稏稐稑稒稓稕稖稘稙稛稜丁盯叮钉顶鼎锭定订丢东冬董懂动栋侗恫冻洞兜抖斗陡豆逗痘都督毒犊独读堵睹赌杜镀肚度渡妒端短锻段断缎堆兑队对墩吨蹲敦顿囤钝盾遁掇哆多夺垛躲朵跺舵剁惰堕蛾峨鹅俄额讹娥恶厄扼遏鄂饿恩而儿耳尔饵洱二�\".split(\"\"),e=0;e!=n[182].length;++e)65533!==n[182][e].charCodeAt(0)&&(r[n[182][e]]=46592+e,t[46592+e]=n[182][e]);for(n[183]=\"����������������������������������������������������������������稝稟稡稢稤稥稦稧稨稩稪稫稬稭種稯稰稱稲稴稵稶稸稺稾穀穁穂穃穄穅穇穈穉穊穋穌積穎穏穐穒穓穔穕穖穘穙穚穛穜穝穞穟穠穡穢穣穤穥穦穧穨�穩穪穫穬穭穮穯穱穲穳穵穻穼穽穾窂窅窇窉窊窋窌窎窏窐窓窔窙窚窛窞窡窢贰发罚筏伐乏阀法珐藩帆番翻樊矾钒繁凡烦反返范贩犯饭泛坊芳方肪房防妨仿访纺放菲非啡飞肥匪诽吠肺废沸费芬酚吩氛分纷坟焚汾粉奋份忿愤粪丰封枫蜂峰锋风疯烽逢冯缝讽奉凤佛否夫敷肤孵扶拂辐幅氟符伏俘服�\".split(\"\"),e=0;e!=n[183].length;++e)65533!==n[183][e].charCodeAt(0)&&(r[n[183][e]]=46848+e,t[46848+e]=n[183][e]);for(n[184]=\"����������������������������������������������������������������窣窤窧窩窪窫窮窯窰窱窲窴窵窶窷窸窹窺窻窼窽窾竀竁竂竃竄竅竆竇竈竉竊竌竍竎竏竐竑竒竓竔竕竗竘竚竛竜竝竡竢竤竧竨竩竪竫竬竮竰竱竲竳�竴竵競竷竸竻竼竾笀笁笂笅笇笉笌笍笎笐笒笓笖笗笘笚笜笝笟笡笢笣笧笩笭浮涪福袱弗甫抚辅俯釜斧脯腑府腐赴副覆赋复傅付阜父腹负富讣附妇缚咐噶嘎该改概钙盖溉干甘杆柑竿肝赶感秆敢赣冈刚钢缸肛纲岗港杠篙皋高膏羔糕搞镐稿告哥歌搁戈鸽胳疙割革葛格蛤阁隔铬个各给根跟耕更庚羹�\".split(\"\"),e=0;e!=n[184].length;++e)65533!==n[184][e].charCodeAt(0)&&(r[n[184][e]]=47104+e,t[47104+e]=n[184][e]);for(n[185]=\"����������������������������������������������������������������笯笰笲笴笵笶笷笹笻笽笿筀筁筂筃筄筆筈筊筍筎筓筕筗筙筜筞筟筡筣筤筥筦筧筨筩筪筫筬筭筯筰筳筴筶筸筺筼筽筿箁箂箃箄箆箇箈箉箊箋箌箎箏�箑箒箓箖箘箙箚箛箞箟箠箣箤箥箮箯箰箲箳箵箶箷箹箺箻箼箽箾箿節篂篃範埂耿梗工攻功恭龚供躬公宫弓巩汞拱贡共钩勾沟苟狗垢构购够辜菇咕箍估沽孤姑鼓古蛊骨谷股故顾固雇刮瓜剐寡挂褂乖拐怪棺关官冠观管馆罐惯灌贯光广逛瑰规圭硅归龟闺轨鬼诡癸桂柜跪贵刽辊滚棍锅郭国果裹过哈�\".split(\"\"),e=0;e!=n[185].length;++e)65533!==n[185][e].charCodeAt(0)&&(r[n[185][e]]=47360+e,t[47360+e]=n[185][e]);for(n[186]=\"����������������������������������������������������������������篅篈築篊篋篍篎篏篐篒篔篕篖篗篘篛篜篞篟篠篢篣篤篧篨篩篫篬篭篯篰篲篳篴篵篶篸篹篺篻篽篿簀簁簂簃簄簅簆簈簉簊簍簎簐簑簒簓簔簕簗簘簙�簚簛簜簝簞簠簡簢簣簤簥簨簩簫簬簭簮簯簰簱簲簳簴簵簶簷簹簺簻簼簽簾籂骸孩海氦亥害骇酣憨邯韩含涵寒函喊罕翰撼捍旱憾悍焊汗汉夯杭航壕嚎豪毫郝好耗号浩呵喝荷菏核禾和何合盒貉阂河涸赫褐鹤贺嘿黑痕很狠恨哼亨横衡恒轰哄烘虹鸿洪宏弘红喉侯猴吼厚候后呼乎忽瑚壶葫胡蝴狐糊湖�\".split(\"\"),e=0;e!=n[186].length;++e)65533!==n[186][e].charCodeAt(0)&&(r[n[186][e]]=47616+e,t[47616+e]=n[186][e]);for(n[187]=\"����������������������������������������������������������������籃籄籅籆籇籈籉籊籋籌籎籏籐籑籒籓籔籕籖籗籘籙籚籛籜籝籞籟籠籡籢籣籤籥籦籧籨籩籪籫籬籭籮籯籰籱籲籵籶籷籸籹籺籾籿粀粁粂粃粄粅粆粇�粈粊粋粌粍粎粏粐粓粔粖粙粚粛粠粡粣粦粧粨粩粫粬粭粯粰粴粵粶粷粸粺粻弧虎唬护互沪户花哗华猾滑画划化话槐徊怀淮坏欢环桓还缓换患唤痪豢焕涣宦幻荒慌黄磺蝗簧皇凰惶煌晃幌恍谎灰挥辉徽恢蛔回毁悔慧卉惠晦贿秽会烩汇讳诲绘荤昏婚魂浑混豁活伙火获或惑霍货祸击圾基机畸稽积箕�\".split(\"\"),e=0;e!=n[187].length;++e)65533!==n[187][e].charCodeAt(0)&&(r[n[187][e]]=47872+e,t[47872+e]=n[187][e]);for(n[188]=\"����������������������������������������������������������������粿糀糂糃糄糆糉糋糎糏糐糑糒糓糔糘糚糛糝糞糡糢糣糤糥糦糧糩糪糫糬糭糮糰糱糲糳糴糵糶糷糹糺糼糽糾糿紀紁紂紃約紅紆紇紈紉紋紌納紎紏紐�紑紒紓純紕紖紗紘紙級紛紜紝紞紟紡紣紤紥紦紨紩紪紬紭紮細紱紲紳紴紵紶肌饥迹激讥鸡姬绩缉吉极棘辑籍集及急疾汲即嫉级挤几脊己蓟技冀季伎祭剂悸济寄寂计记既忌际妓继纪嘉枷夹佳家加荚颊贾甲钾假稼价架驾嫁歼监坚尖笺间煎兼肩艰奸缄茧检柬碱硷拣捡简俭剪减荐槛鉴践贱见键箭件�\".split(\"\"),e=0;e!=n[188].length;++e)65533!==n[188][e].charCodeAt(0)&&(r[n[188][e]]=48128+e,t[48128+e]=n[188][e]);for(n[189]=\"����������������������������������������������������������������紷紸紹紺紻紼紽紾紿絀絁終絃組絅絆絇絈絉絊絋経絍絎絏結絑絒絓絔絕絖絗絘絙絚絛絜絝絞絟絠絡絢絣絤絥給絧絨絩絪絫絬絭絯絰統絲絳絴絵絶�絸絹絺絻絼絽絾絿綀綁綂綃綄綅綆綇綈綉綊綋綌綍綎綏綐綑綒經綔綕綖綗綘健舰剑饯渐溅涧建僵姜将浆江疆蒋桨奖讲匠酱降蕉椒礁焦胶交郊浇骄娇嚼搅铰矫侥脚狡角饺缴绞剿教酵轿较叫窖揭接皆秸街阶截劫节桔杰捷睫竭洁结解姐戒藉芥界借介疥诫届巾筋斤金今津襟紧锦仅谨进靳晋禁近烬浸�\".split(\"\"),e=0;e!=n[189].length;++e)65533!==n[189][e].charCodeAt(0)&&(r[n[189][e]]=48384+e,t[48384+e]=n[189][e]);for(n[190]=\"����������������������������������������������������������������継続綛綜綝綞綟綠綡綢綣綤綥綧綨綩綪綫綬維綯綰綱網綳綴綵綶綷綸綹綺綻綼綽綾綿緀緁緂緃緄緅緆緇緈緉緊緋緌緍緎総緐緑緒緓緔緕緖緗緘緙�線緛緜緝緞緟締緡緢緣緤緥緦緧編緩緪緫緬緭緮緯緰緱緲緳練緵緶緷緸緹緺尽劲荆兢茎睛晶鲸京惊精粳经井警景颈静境敬镜径痉靖竟竞净炯窘揪究纠玖韭久灸九酒厩救旧臼舅咎就疚鞠拘狙疽居驹菊局咀矩举沮聚拒据巨具距踞锯俱句惧炬剧捐鹃娟倦眷卷绢撅攫抉掘倔爵觉决诀绝均菌钧军君峻�\".split(\"\"),e=0;e!=n[190].length;++e)65533!==n[190][e].charCodeAt(0)&&(r[n[190][e]]=48640+e,t[48640+e]=n[190][e]);for(n[191]=\"����������������������������������������������������������������緻緼緽緾緿縀縁縂縃縄縅縆縇縈縉縊縋縌縍縎縏縐縑縒縓縔縕縖縗縘縙縚縛縜縝縞縟縠縡縢縣縤縥縦縧縨縩縪縫縬縭縮縯縰縱縲縳縴縵縶縷縸縹�縺縼總績縿繀繂繃繄繅繆繈繉繊繋繌繍繎繏繐繑繒繓織繕繖繗繘繙繚繛繜繝俊竣浚郡骏喀咖卡咯开揩楷凯慨刊堪勘坎砍看康慷糠扛抗亢炕考拷烤靠坷苛柯棵磕颗科壳咳可渴克刻客课肯啃垦恳坑吭空恐孔控抠口扣寇枯哭窟苦酷库裤夸垮挎跨胯块筷侩快宽款匡筐狂框矿眶旷况亏盔岿窥葵奎魁傀�\".split(\"\"),e=0;e!=n[191].length;++e)65533!==n[191][e].charCodeAt(0)&&(r[n[191][e]]=48896+e,t[48896+e]=n[191][e]);for(n[192]=\"����������������������������������������������������������������繞繟繠繡繢繣繤繥繦繧繨繩繪繫繬繭繮繯繰繱繲繳繴繵繶繷繸繹繺繻繼繽繾繿纀纁纃纄纅纆纇纈纉纊纋續纍纎纏纐纑纒纓纔纕纖纗纘纙纚纜纝纞�纮纴纻纼绖绤绬绹缊缐缞缷缹缻缼缽缾缿罀罁罃罆罇罈罉罊罋罌罍罎罏罒罓馈愧溃坤昆捆困括扩廓阔垃拉喇蜡腊辣啦莱来赖蓝婪栏拦篮阑兰澜谰揽览懒缆烂滥琅榔狼廊郎朗浪捞劳牢老佬姥酪烙涝勒乐雷镭蕾磊累儡垒擂肋类泪棱楞冷厘梨犁黎篱狸离漓理李里鲤礼莉荔吏栗丽厉励砾历利傈例俐�\".split(\"\"),e=0;e!=n[192].length;++e)65533!==n[192][e].charCodeAt(0)&&(r[n[192][e]]=49152+e,t[49152+e]=n[192][e]);for(n[193]=\"����������������������������������������������������������������罖罙罛罜罝罞罠罣罤罥罦罧罫罬罭罯罰罳罵罶罷罸罺罻罼罽罿羀羂羃羄羅羆羇羈羉羋羍羏羐羑羒羓羕羖羗羘羙羛羜羠羢羣羥羦羨義羪羫羬羭羮羱�羳羴羵羶羷羺羻羾翀翂翃翄翆翇翈翉翋翍翏翐翑習翓翖翗翙翚翛翜翝翞翢翣痢立粒沥隶力璃哩俩联莲连镰廉怜涟帘敛脸链恋炼练粮凉梁粱良两辆量晾亮谅撩聊僚疗燎寥辽潦了撂镣廖料列裂烈劣猎琳林磷霖临邻鳞淋凛赁吝拎玲菱零龄铃伶羚凌灵陵岭领另令溜琉榴硫馏留刘瘤流柳六龙聋咙笼窿�\".split(\"\"),e=0;e!=n[193].length;++e)65533!==n[193][e].charCodeAt(0)&&(r[n[193][e]]=49408+e,t[49408+e]=n[193][e]);for(n[194]=\"����������������������������������������������������������������翤翧翨翪翫翬翭翯翲翴翵翶翷翸翹翺翽翾翿耂耇耈耉耊耎耏耑耓耚耛耝耞耟耡耣耤耫耬耭耮耯耰耲耴耹耺耼耾聀聁聄聅聇聈聉聎聏聐聑聓聕聖聗�聙聛聜聝聞聟聠聡聢聣聤聥聦聧聨聫聬聭聮聯聰聲聳聴聵聶職聸聹聺聻聼聽隆垄拢陇楼娄搂篓漏陋芦卢颅庐炉掳卤虏鲁麓碌露路赂鹿潞禄录陆戮驴吕铝侣旅履屡缕虑氯律率滤绿峦挛孪滦卵乱掠略抡轮伦仑沦纶论萝螺罗逻锣箩骡裸落洛骆络妈麻玛码蚂马骂嘛吗埋买麦卖迈脉瞒馒蛮满蔓曼慢漫�\".split(\"\"),e=0;e!=n[194].length;++e)65533!==n[194][e].charCodeAt(0)&&(r[n[194][e]]=49664+e,t[49664+e]=n[194][e]);for(n[195]=\"����������������������������������������������������������������聾肁肂肅肈肊肍肎肏肐肑肒肔肕肗肙肞肣肦肧肨肬肰肳肵肶肸肹肻胅胇胈胉胊胋胏胐胑胒胓胔胕胘胟胠胢胣胦胮胵胷胹胻胾胿脀脁脃脄脅脇脈脋�脌脕脗脙脛脜脝脟脠脡脢脣脤脥脦脧脨脩脪脫脭脮脰脳脴脵脷脹脺脻脼脽脿谩芒茫盲氓忙莽猫茅锚毛矛铆卯茂冒帽貌贸么玫枚梅酶霉煤没眉媒镁每美昧寐妹媚门闷们萌蒙檬盟锰猛梦孟眯醚靡糜迷谜弥米秘觅泌蜜密幂棉眠绵冕免勉娩缅面苗描瞄藐秒渺庙妙蔑灭民抿皿敏悯闽明螟鸣铭名命谬摸�\".split(\"\"),e=0;e!=n[195].length;++e)65533!==n[195][e].charCodeAt(0)&&(r[n[195][e]]=49920+e,t[49920+e]=n[195][e]);for(n[196]=\"����������������������������������������������������������������腀腁腂腃腄腅腇腉腍腎腏腒腖腗腘腛腜腝腞腟腡腢腣腤腦腨腪腫腬腯腲腳腵腶腷腸膁膃膄膅膆膇膉膋膌膍膎膐膒膓膔膕膖膗膙膚膞膟膠膡膢膤膥�膧膩膫膬膭膮膯膰膱膲膴膵膶膷膸膹膼膽膾膿臄臅臇臈臉臋臍臎臏臐臑臒臓摹蘑模膜磨摩魔抹末莫墨默沫漠寞陌谋牟某拇牡亩姆母墓暮幕募慕木目睦牧穆拿哪呐钠那娜纳氖乃奶耐奈南男难囊挠脑恼闹淖呢馁内嫩能妮霓倪泥尼拟你匿腻逆溺蔫拈年碾撵捻念娘酿鸟尿捏聂孽啮镊镍涅您柠狞凝宁�\".split(\"\"),e=0;e!=n[196].length;++e)65533!==n[196][e].charCodeAt(0)&&(r[n[196][e]]=50176+e,t[50176+e]=n[196][e]);for(n[197]=\"����������������������������������������������������������������臔臕臖臗臘臙臚臛臜臝臞臟臠臡臢臤臥臦臨臩臫臮臯臰臱臲臵臶臷臸臹臺臽臿舃與興舉舊舋舎舏舑舓舕舖舗舘舙舚舝舠舤舥舦舧舩舮舲舺舼舽舿�艀艁艂艃艅艆艈艊艌艍艎艐艑艒艓艔艕艖艗艙艛艜艝艞艠艡艢艣艤艥艦艧艩拧泞牛扭钮纽脓浓农弄奴努怒女暖虐疟挪懦糯诺哦欧鸥殴藕呕偶沤啪趴爬帕怕琶拍排牌徘湃派攀潘盘磐盼畔判叛乓庞旁耪胖抛咆刨炮袍跑泡呸胚培裴赔陪配佩沛喷盆砰抨烹澎彭蓬棚硼篷膨朋鹏捧碰坯砒霹批披劈琵毗�\".split(\"\"),e=0;e!=n[197].length;++e)65533!==n[197][e].charCodeAt(0)&&(r[n[197][e]]=50432+e,t[50432+e]=n[197][e]);for(n[198]=\"����������������������������������������������������������������艪艫艬艭艱艵艶艷艸艻艼芀芁芃芅芆芇芉芌芐芓芔芕芖芚芛芞芠芢芣芧芲芵芶芺芻芼芿苀苂苃苅苆苉苐苖苙苚苝苢苧苨苩苪苬苭苮苰苲苳苵苶苸�苺苼苽苾苿茀茊茋茍茐茒茓茖茘茙茝茞茟茠茡茢茣茤茥茦茩茪茮茰茲茷茻茽啤脾疲皮匹痞僻屁譬篇偏片骗飘漂瓢票撇瞥拼频贫品聘乒坪苹萍平凭瓶评屏坡泼颇婆破魄迫粕剖扑铺仆莆葡菩蒲埔朴圃普浦谱曝瀑期欺栖戚妻七凄漆柒沏其棋奇歧畦崎脐齐旗祈祁骑起岂乞企启契砌器气迄弃汽泣讫掐�\".split(\"\"),e=0;e!=n[198].length;++e)65533!==n[198][e].charCodeAt(0)&&(r[n[198][e]]=50688+e,t[50688+e]=n[198][e]);for(n[199]=\"����������������������������������������������������������������茾茿荁荂荄荅荈荊荋荌荍荎荓荕荖荗荘荙荝荢荰荱荲荳荴荵荶荹荺荾荿莀莁莂莃莄莇莈莊莋莌莍莏莐莑莔莕莖莗莙莚莝莟莡莢莣莤莥莦莧莬莭莮�莯莵莻莾莿菂菃菄菆菈菉菋菍菎菐菑菒菓菕菗菙菚菛菞菢菣菤菦菧菨菫菬菭恰洽牵扦钎铅千迁签仟谦乾黔钱钳前潜遣浅谴堑嵌欠歉枪呛腔羌墙蔷强抢橇锹敲悄桥瞧乔侨巧鞘撬翘峭俏窍切茄且怯窃钦侵亲秦琴勤芹擒禽寝沁青轻氢倾卿清擎晴氰情顷请庆琼穷秋丘邱球求囚酋泅趋区蛆曲躯屈驱渠�\".split(\"\"),e=0;e!=n[199].length;++e)65533!==n[199][e].charCodeAt(0)&&(r[n[199][e]]=50944+e,t[50944+e]=n[199][e]);for(n[200]=\"����������������������������������������������������������������菮華菳菴菵菶菷菺菻菼菾菿萀萂萅萇萈萉萊萐萒萓萔萕萖萗萙萚萛萞萟萠萡萢萣萩萪萫萬萭萮萯萰萲萳萴萵萶萷萹萺萻萾萿葀葁葂葃葄葅葇葈葉�葊葋葌葍葎葏葐葒葓葔葕葖葘葝葞葟葠葢葤葥葦葧葨葪葮葯葰葲葴葷葹葻葼取娶龋趣去圈颧权醛泉全痊拳犬券劝缺炔瘸却鹊榷确雀裙群然燃冉染瓤壤攘嚷让饶扰绕惹热壬仁人忍韧任认刃妊纫扔仍日戎茸蓉荣融熔溶容绒冗揉柔肉茹蠕儒孺如辱乳汝入褥软阮蕊瑞锐闰润若弱撒洒萨腮鳃塞赛三叁�\".split(\"\"),e=0;e!=n[200].length;++e)65533!==n[200][e].charCodeAt(0)&&(r[n[200][e]]=51200+e,t[51200+e]=n[200][e]);for(n[201]=\"����������������������������������������������������������������葽葾葿蒀蒁蒃蒄蒅蒆蒊蒍蒏蒐蒑蒒蒓蒔蒕蒖蒘蒚蒛蒝蒞蒟蒠蒢蒣蒤蒥蒦蒧蒨蒩蒪蒫蒬蒭蒮蒰蒱蒳蒵蒶蒷蒻蒼蒾蓀蓂蓃蓅蓆蓇蓈蓋蓌蓎蓏蓒蓔蓕蓗�蓘蓙蓚蓛蓜蓞蓡蓢蓤蓧蓨蓩蓪蓫蓭蓮蓯蓱蓲蓳蓴蓵蓶蓷蓸蓹蓺蓻蓽蓾蔀蔁蔂伞散桑嗓丧搔骚扫嫂瑟色涩森僧莎砂杀刹沙纱傻啥煞筛晒珊苫杉山删煽衫闪陕擅赡膳善汕扇缮墒伤商赏晌上尚裳梢捎稍烧芍勺韶少哨邵绍奢赊蛇舌舍赦摄射慑涉社设砷申呻伸身深娠绅神沈审婶甚肾慎渗声生甥牲升绳�\".split(\"\"),e=0;e!=n[201].length;++e)65533!==n[201][e].charCodeAt(0)&&(r[n[201][e]]=51456+e,t[51456+e]=n[201][e]);for(n[202]=\"����������������������������������������������������������������蔃蔄蔅蔆蔇蔈蔉蔊蔋蔍蔎蔏蔐蔒蔔蔕蔖蔘蔙蔛蔜蔝蔞蔠蔢蔣蔤蔥蔦蔧蔨蔩蔪蔭蔮蔯蔰蔱蔲蔳蔴蔵蔶蔾蔿蕀蕁蕂蕄蕅蕆蕇蕋蕌蕍蕎蕏蕐蕑蕒蕓蕔蕕�蕗蕘蕚蕛蕜蕝蕟蕠蕡蕢蕣蕥蕦蕧蕩蕪蕫蕬蕭蕮蕯蕰蕱蕳蕵蕶蕷蕸蕼蕽蕿薀薁省盛剩胜圣师失狮施湿诗尸虱十石拾时什食蚀实识史矢使屎驶始式示士世柿事拭誓逝势是嗜噬适仕侍释饰氏市恃室视试收手首守寿授售受瘦兽蔬枢梳殊抒输叔舒淑疏书赎孰熟薯暑曙署蜀黍鼠属术述树束戍竖墅庶数漱�\".split(\"\"),e=0;e!=n[202].length;++e)65533!==n[202][e].charCodeAt(0)&&(r[n[202][e]]=51712+e,t[51712+e]=n[202][e]);for(n[203]=\"����������������������������������������������������������������薂薃薆薈薉薊薋薌薍薎薐薑薒薓薔薕薖薗薘薙薚薝薞薟薠薡薢薣薥薦薧薩薫薬薭薱薲薳薴薵薶薸薺薻薼薽薾薿藀藂藃藄藅藆藇藈藊藋藌藍藎藑藒�藔藖藗藘藙藚藛藝藞藟藠藡藢藣藥藦藧藨藪藫藬藭藮藯藰藱藲藳藴藵藶藷藸恕刷耍摔衰甩帅栓拴霜双爽谁水睡税吮瞬顺舜说硕朔烁斯撕嘶思私司丝死肆寺嗣四伺似饲巳松耸怂颂送宋讼诵搜艘擞嗽苏酥俗素速粟僳塑溯宿诉肃酸蒜算虽隋随绥髓碎岁穗遂隧祟孙损笋蓑梭唆缩琐索锁所塌他它她塔�\".split(\"\"),e=0;e!=n[203].length;++e)65533!==n[203][e].charCodeAt(0)&&(r[n[203][e]]=51968+e,t[51968+e]=n[203][e]);for(n[204]=\"����������������������������������������������������������������藹藺藼藽藾蘀蘁蘂蘃蘄蘆蘇蘈蘉蘊蘋蘌蘍蘎蘏蘐蘒蘓蘔蘕蘗蘘蘙蘚蘛蘜蘝蘞蘟蘠蘡蘢蘣蘤蘥蘦蘨蘪蘫蘬蘭蘮蘯蘰蘱蘲蘳蘴蘵蘶蘷蘹蘺蘻蘽蘾蘿虀�虁虂虃虄虅虆虇虈虉虊虋虌虒虓處虖虗虘虙虛虜虝號虠虡虣虤虥虦虧虨虩虪獭挞蹋踏胎苔抬台泰酞太态汰坍摊贪瘫滩坛檀痰潭谭谈坦毯袒碳探叹炭汤塘搪堂棠膛唐糖倘躺淌趟烫掏涛滔绦萄桃逃淘陶讨套特藤腾疼誊梯剔踢锑提题蹄啼体替嚏惕涕剃屉天添填田甜恬舔腆挑条迢眺跳贴铁帖厅听烃�\".split(\"\"),e=0;e!=n[204].length;++e)65533!==n[204][e].charCodeAt(0)&&(r[n[204][e]]=52224+e,t[52224+e]=n[204][e]);for(n[205]=\"����������������������������������������������������������������虭虯虰虲虳虴虵虶虷虸蚃蚄蚅蚆蚇蚈蚉蚎蚏蚐蚑蚒蚔蚖蚗蚘蚙蚚蚛蚞蚟蚠蚡蚢蚥蚦蚫蚭蚮蚲蚳蚷蚸蚹蚻蚼蚽蚾蚿蛁蛂蛃蛅蛈蛌蛍蛒蛓蛕蛖蛗蛚蛜�蛝蛠蛡蛢蛣蛥蛦蛧蛨蛪蛫蛬蛯蛵蛶蛷蛺蛻蛼蛽蛿蜁蜄蜅蜆蜋蜌蜎蜏蜐蜑蜔蜖汀廷停亭庭挺艇通桐酮瞳同铜彤童桶捅筒统痛偷投头透凸秃突图徒途涂屠土吐兔湍团推颓腿蜕褪退吞屯臀拖托脱鸵陀驮驼椭妥拓唾挖哇蛙洼娃瓦袜歪外豌弯湾玩顽丸烷完碗挽晚皖惋宛婉万腕汪王亡枉网往旺望忘妄威�\".split(\"\"),e=0;e!=n[205].length;++e)65533!==n[205][e].charCodeAt(0)&&(r[n[205][e]]=52480+e,t[52480+e]=n[205][e]);for(n[206]=\"����������������������������������������������������������������蜙蜛蜝蜟蜠蜤蜦蜧蜨蜪蜫蜬蜭蜯蜰蜲蜳蜵蜶蜸蜹蜺蜼蜽蝀蝁蝂蝃蝄蝅蝆蝊蝋蝍蝏蝐蝑蝒蝔蝕蝖蝘蝚蝛蝜蝝蝞蝟蝡蝢蝦蝧蝨蝩蝪蝫蝬蝭蝯蝱蝲蝳蝵�蝷蝸蝹蝺蝿螀螁螄螆螇螉螊螌螎螏螐螑螒螔螕螖螘螙螚螛螜螝螞螠螡螢螣螤巍微危韦违桅围唯惟为潍维苇萎委伟伪尾纬未蔚味畏胃喂魏位渭谓尉慰卫瘟温蚊文闻纹吻稳紊问嗡翁瓮挝蜗涡窝我斡卧握沃巫呜钨乌污诬屋无芜梧吾吴毋武五捂午舞伍侮坞戊雾晤物勿务悟误昔熙析西硒矽晰嘻吸锡牺�\".split(\"\"),e=0;e!=n[206].length;++e)65533!==n[206][e].charCodeAt(0)&&(r[n[206][e]]=52736+e,t[52736+e]=n[206][e]);for(n[207]=\"����������������������������������������������������������������螥螦螧螩螪螮螰螱螲螴螶螷螸螹螻螼螾螿蟁蟂蟃蟄蟅蟇蟈蟉蟌蟍蟎蟏蟐蟔蟕蟖蟗蟘蟙蟚蟜蟝蟞蟟蟡蟢蟣蟤蟦蟧蟨蟩蟫蟬蟭蟯蟰蟱蟲蟳蟴蟵蟶蟷蟸�蟺蟻蟼蟽蟿蠀蠁蠂蠄蠅蠆蠇蠈蠉蠋蠌蠍蠎蠏蠐蠑蠒蠔蠗蠘蠙蠚蠜蠝蠞蠟蠠蠣稀息希悉膝夕惜熄烯溪汐犀檄袭席习媳喜铣洗系隙戏细瞎虾匣霞辖暇峡侠狭下厦夏吓掀锨先仙鲜纤咸贤衔舷闲涎弦嫌显险现献县腺馅羡宪陷限线相厢镶香箱襄湘乡翔祥详想响享项巷橡像向象萧硝霄削哮嚣销消宵淆晓�\".split(\"\"),e=0;e!=n[207].length;++e)65533!==n[207][e].charCodeAt(0)&&(r[n[207][e]]=52992+e,t[52992+e]=n[207][e]);for(n[208]=\"����������������������������������������������������������������蠤蠥蠦蠧蠨蠩蠪蠫蠬蠭蠮蠯蠰蠱蠳蠴蠵蠶蠷蠸蠺蠻蠽蠾蠿衁衂衃衆衇衈衉衊衋衎衏衐衑衒術衕衖衘衚衛衜衝衞衟衠衦衧衪衭衯衱衳衴衵衶衸衹衺�衻衼袀袃袆袇袉袊袌袎袏袐袑袓袔袕袗袘袙袚袛袝袞袟袠袡袣袥袦袧袨袩袪小孝校肖啸笑效楔些歇蝎鞋协挟携邪斜胁谐写械卸蟹懈泄泻谢屑薪芯锌欣辛新忻心信衅星腥猩惺兴刑型形邢行醒幸杏性姓兄凶胸匈汹雄熊休修羞朽嗅锈秀袖绣墟戌需虚嘘须徐许蓄酗叙旭序畜恤絮婿绪续轩喧宣悬旋玄�\".split(\"\"),e=0;e!=n[208].length;++e)65533!==n[208][e].charCodeAt(0)&&(r[n[208][e]]=53248+e,t[53248+e]=n[208][e]);for(n[209]=\"����������������������������������������������������������������袬袮袯袰袲袳袴袵袶袸袹袺袻袽袾袿裀裃裄裇裈裊裋裌裍裏裐裑裓裖裗裚裛補裝裞裠裡裦裧裩裪裫裬裭裮裯裲裵裶裷裺裻製裿褀褁褃褄褅褆複褈�褉褋褌褍褎褏褑褔褕褖褗褘褜褝褞褟褠褢褣褤褦褧褨褩褬褭褮褯褱褲褳褵褷选癣眩绚靴薛学穴雪血勋熏循旬询寻驯巡殉汛训讯逊迅压押鸦鸭呀丫芽牙蚜崖衙涯雅哑亚讶焉咽阉烟淹盐严研蜒岩延言颜阎炎沿奄掩眼衍演艳堰燕厌砚雁唁彦焰宴谚验殃央鸯秧杨扬佯疡羊洋阳氧仰痒养样漾邀腰妖瑶�\".split(\"\"),e=0;e!=n[209].length;++e)65533!==n[209][e].charCodeAt(0)&&(r[n[209][e]]=53504+e,t[53504+e]=n[209][e]);for(n[210]=\"����������������������������������������������������������������褸褹褺褻褼褽褾褿襀襂襃襅襆襇襈襉襊襋襌襍襎襏襐襑襒襓襔襕襖襗襘襙襚襛襜襝襠襡襢襣襤襥襧襨襩襪襫襬襭襮襯襰襱襲襳襴襵襶襷襸襹襺襼�襽襾覀覂覄覅覇覈覉覊見覌覍覎規覐覑覒覓覔覕視覗覘覙覚覛覜覝覞覟覠覡摇尧遥窑谣姚咬舀药要耀椰噎耶爷野冶也页掖业叶曳腋夜液一壹医揖铱依伊衣颐夷遗移仪胰疑沂宜姨彝椅蚁倚已乙矣以艺抑易邑屹亿役臆逸肄疫亦裔意毅忆义益溢诣议谊译异翼翌绎茵荫因殷音阴姻吟银淫寅饮尹引隐�\".split(\"\"),e=0;e!=n[210].length;++e)65533!==n[210][e].charCodeAt(0)&&(r[n[210][e]]=53760+e,t[53760+e]=n[210][e]);for(n[211]=\"����������������������������������������������������������������覢覣覤覥覦覧覨覩親覫覬覭覮覯覰覱覲観覴覵覶覷覸覹覺覻覼覽覾覿觀觃觍觓觔觕觗觘觙觛觝觟觠觡觢觤觧觨觩觪觬觭觮觰觱觲觴觵觶觷觸觹觺�觻觼觽觾觿訁訂訃訄訅訆計訉訊訋訌訍討訏訐訑訒訓訔訕訖託記訙訚訛訜訝印英樱婴鹰应缨莹萤营荧蝇迎赢盈影颖硬映哟拥佣臃痈庸雍踊蛹咏泳涌永恿勇用幽优悠忧尤由邮铀犹油游酉有友右佑釉诱又幼迂淤于盂榆虞愚舆余俞逾鱼愉渝渔隅予娱雨与屿禹宇语羽玉域芋郁吁遇喻峪御愈欲狱育誉�\".split(\"\"),e=0;e!=n[211].length;++e)65533!==n[211][e].charCodeAt(0)&&(r[n[211][e]]=54016+e,t[54016+e]=n[211][e]);for(n[212]=\"����������������������������������������������������������������訞訟訠訡訢訣訤訥訦訧訨訩訪訫訬設訮訯訰許訲訳訴訵訶訷訸訹診註証訽訿詀詁詂詃詄詅詆詇詉詊詋詌詍詎詏詐詑詒詓詔評詖詗詘詙詚詛詜詝詞�詟詠詡詢詣詤詥試詧詨詩詪詫詬詭詮詯詰話該詳詴詵詶詷詸詺詻詼詽詾詿誀浴寓裕预豫驭鸳渊冤元垣袁原援辕园员圆猿源缘远苑愿怨院曰约越跃钥岳粤月悦阅耘云郧匀陨允运蕴酝晕韵孕匝砸杂栽哉灾宰载再在咱攒暂赞赃脏葬遭糟凿藻枣早澡蚤躁噪造皂灶燥责择则泽贼怎增憎曾赠扎喳渣札轧�\".split(\"\"),e=0;e!=n[212].length;++e)65533!==n[212][e].charCodeAt(0)&&(r[n[212][e]]=54272+e,t[54272+e]=n[212][e]);for(n[213]=\"����������������������������������������������������������������誁誂誃誄誅誆誇誈誋誌認誎誏誐誑誒誔誕誖誗誘誙誚誛誜誝語誟誠誡誢誣誤誥誦誧誨誩說誫説読誮誯誰誱課誳誴誵誶誷誸誹誺誻誼誽誾調諀諁諂�諃諄諅諆談諈諉諊請諌諍諎諏諐諑諒諓諔諕論諗諘諙諚諛諜諝諞諟諠諡諢諣铡闸眨栅榨咋乍炸诈摘斋宅窄债寨瞻毡詹粘沾盏斩辗崭展蘸栈占战站湛绽樟章彰漳张掌涨杖丈帐账仗胀瘴障招昭找沼赵照罩兆肇召遮折哲蛰辙者锗蔗这浙珍斟真甄砧臻贞针侦枕疹诊震振镇阵蒸挣睁征狰争怔整拯正政�\".split(\"\"),e=0;e!=n[213].length;++e)65533!==n[213][e].charCodeAt(0)&&(r[n[213][e]]=54528+e,t[54528+e]=n[213][e]);for(n[214]=\"����������������������������������������������������������������諤諥諦諧諨諩諪諫諬諭諮諯諰諱諲諳諴諵諶諷諸諹諺諻諼諽諾諿謀謁謂謃謄謅謆謈謉謊謋謌謍謎謏謐謑謒謓謔謕謖謗謘謙謚講謜謝謞謟謠謡謢謣�謤謥謧謨謩謪謫謬謭謮謯謰謱謲謳謴謵謶謷謸謹謺謻謼謽謾謿譀譁譂譃譄譅帧症郑证芝枝支吱蜘知肢脂汁之织职直植殖执值侄址指止趾只旨纸志挚掷至致置帜峙制智秩稚质炙痔滞治窒中盅忠钟衷终种肿重仲众舟周州洲诌粥轴肘帚咒皱宙昼骤珠株蛛朱猪诸诛逐竹烛煮拄瞩嘱主著柱助蛀贮铸筑�\".split(\"\"),e=0;e!=n[214].length;++e)65533!==n[214][e].charCodeAt(0)&&(r[n[214][e]]=54784+e,t[54784+e]=n[214][e]);for(n[215]=\"����������������������������������������������������������������譆譇譈證譊譋譌譍譎譏譐譑譒譓譔譕譖譗識譙譚譛譜譝譞譟譠譡譢譣譤譥譧譨譩譪譫譭譮譯議譱譲譳譴譵譶護譸譹譺譻譼譽譾譿讀讁讂讃讄讅讆�讇讈讉變讋讌讍讎讏讐讑讒讓讔讕讖讗讘讙讚讛讜讝讞讟讬讱讻诇诐诪谉谞住注祝驻抓爪拽专砖转撰赚篆桩庄装妆撞壮状椎锥追赘坠缀谆准捉拙卓桌琢茁酌啄着灼浊兹咨资姿滋淄孜紫仔籽滓子自渍字鬃棕踪宗综总纵邹走奏揍租足卒族祖诅阻组钻纂嘴醉最罪尊遵昨左佐柞做作坐座������\".split(\"\"),e=0;e!=n[215].length;++e)65533!==n[215][e].charCodeAt(0)&&(r[n[215][e]]=55040+e,t[55040+e]=n[215][e]);for(n[216]=\"����������������������������������������������������������������谸谹谺谻谼谽谾谿豀豂豃豄豅豈豊豋豍豎豏豐豑豒豓豔豖豗豘豙豛豜豝豞豟豠豣豤豥豦豧豨豩豬豭豮豯豰豱豲豴豵豶豷豻豼豽豾豿貀貁貃貄貆貇�貈貋貍貎貏貐貑貒貓貕貖貗貙貚貛貜貝貞貟負財貢貣貤貥貦貧貨販貪貫責貭亍丌兀丐廿卅丕亘丞鬲孬噩丨禺丿匕乇夭爻卮氐囟胤馗毓睾鼗丶亟鼐乜乩亓芈孛啬嘏仄厍厝厣厥厮靥赝匚叵匦匮匾赜卦卣刂刈刎刭刳刿剀剌剞剡剜蒯剽劂劁劐劓冂罔亻仃仉仂仨仡仫仞伛仳伢佤仵伥伧伉伫佞佧攸佚佝�\".split(\"\"),e=0;e!=n[216].length;++e)65533!==n[216][e].charCodeAt(0)&&(r[n[216][e]]=55296+e,t[55296+e]=n[216][e]);for(n[217]=\"����������������������������������������������������������������貮貯貰貱貲貳貴貵貶買貸貹貺費貼貽貾貿賀賁賂賃賄賅賆資賈賉賊賋賌賍賎賏賐賑賒賓賔賕賖賗賘賙賚賛賜賝賞賟賠賡賢賣賤賥賦賧賨賩質賫賬�賭賮賯賰賱賲賳賴賵賶賷賸賹賺賻購賽賾賿贀贁贂贃贄贅贆贇贈贉贊贋贌贍佟佗伲伽佶佴侑侉侃侏佾佻侪佼侬侔俦俨俪俅俚俣俜俑俟俸倩偌俳倬倏倮倭俾倜倌倥倨偾偃偕偈偎偬偻傥傧傩傺僖儆僭僬僦僮儇儋仝氽佘佥俎龠汆籴兮巽黉馘冁夔勹匍訇匐凫夙兕亠兖亳衮袤亵脔裒禀嬴蠃羸冫冱冽冼�\".split(\"\"),e=0;e!=n[217].length;++e)65533!==n[217][e].charCodeAt(0)&&(r[n[217][e]]=55552+e,t[55552+e]=n[217][e]);for(n[218]=\"����������������������������������������������������������������贎贏贐贑贒贓贔贕贖贗贘贙贚贛贜贠赑赒赗赟赥赨赩赪赬赮赯赱赲赸赹赺赻赼赽赾赿趀趂趃趆趇趈趉趌趍趎趏趐趒趓趕趖趗趘趙趚趛趜趝趞趠趡�趢趤趥趦趧趨趩趪趫趬趭趮趯趰趲趶趷趹趻趽跀跁跂跅跇跈跉跊跍跐跒跓跔凇冖冢冥讠讦讧讪讴讵讷诂诃诋诏诎诒诓诔诖诘诙诜诟诠诤诨诩诮诰诳诶诹诼诿谀谂谄谇谌谏谑谒谔谕谖谙谛谘谝谟谠谡谥谧谪谫谮谯谲谳谵谶卩卺阝阢阡阱阪阽阼陂陉陔陟陧陬陲陴隈隍隗隰邗邛邝邙邬邡邴邳邶邺�\".split(\"\"),e=0;e!=n[218].length;++e)65533!==n[218][e].charCodeAt(0)&&(r[n[218][e]]=55808+e,t[55808+e]=n[218][e]);for(n[219]=\"����������������������������������������������������������������跕跘跙跜跠跡跢跥跦跧跩跭跮跰跱跲跴跶跼跾跿踀踁踂踃踄踆踇踈踋踍踎踐踑踒踓踕踖踗踘踙踚踛踜踠踡踤踥踦踧踨踫踭踰踲踳踴踶踷踸踻踼踾�踿蹃蹅蹆蹌蹍蹎蹏蹐蹓蹔蹕蹖蹗蹘蹚蹛蹜蹝蹞蹟蹠蹡蹢蹣蹤蹥蹧蹨蹪蹫蹮蹱邸邰郏郅邾郐郄郇郓郦郢郜郗郛郫郯郾鄄鄢鄞鄣鄱鄯鄹酃酆刍奂劢劬劭劾哿勐勖勰叟燮矍廴凵凼鬯厶弁畚巯坌垩垡塾墼壅壑圩圬圪圳圹圮圯坜圻坂坩垅坫垆坼坻坨坭坶坳垭垤垌垲埏垧垴垓垠埕埘埚埙埒垸埴埯埸埤埝�\".split(\"\"),e=0;e!=n[219].length;++e)65533!==n[219][e].charCodeAt(0)&&(r[n[219][e]]=56064+e,t[56064+e]=n[219][e]);for(n[220]=\"����������������������������������������������������������������蹳蹵蹷蹸蹹蹺蹻蹽蹾躀躂躃躄躆躈躉躊躋躌躍躎躑躒躓躕躖躗躘躙躚躛躝躟躠躡躢躣躤躥躦躧躨躩躪躭躮躰躱躳躴躵躶躷躸躹躻躼躽躾躿軀軁軂�軃軄軅軆軇軈軉車軋軌軍軏軐軑軒軓軔軕軖軗軘軙軚軛軜軝軞軟軠軡転軣軤堋堍埽埭堀堞堙塄堠塥塬墁墉墚墀馨鼙懿艹艽艿芏芊芨芄芎芑芗芙芫芸芾芰苈苊苣芘芷芮苋苌苁芩芴芡芪芟苄苎芤苡茉苷苤茏茇苜苴苒苘茌苻苓茑茚茆茔茕苠苕茜荑荛荜茈莒茼茴茱莛荞茯荏荇荃荟荀茗荠茭茺茳荦荥�\".split(\"\"),e=0;e!=n[220].length;++e)65533!==n[220][e].charCodeAt(0)&&(r[n[220][e]]=56320+e,t[56320+e]=n[220][e]);for(n[221]=\"����������������������������������������������������������������軥軦軧軨軩軪軫軬軭軮軯軰軱軲軳軴軵軶軷軸軹軺軻軼軽軾軿輀輁輂較輄輅輆輇輈載輊輋輌輍輎輏輐輑輒輓輔輕輖輗輘輙輚輛輜輝輞輟輠輡輢輣�輤輥輦輧輨輩輪輫輬輭輮輯輰輱輲輳輴輵輶輷輸輹輺輻輼輽輾輿轀轁轂轃轄荨茛荩荬荪荭荮莰荸莳莴莠莪莓莜莅荼莶莩荽莸荻莘莞莨莺莼菁萁菥菘堇萘萋菝菽菖萜萸萑萆菔菟萏萃菸菹菪菅菀萦菰菡葜葑葚葙葳蒇蒈葺蒉葸萼葆葩葶蒌蒎萱葭蓁蓍蓐蓦蒽蓓蓊蒿蒺蓠蒡蒹蒴蒗蓥蓣蔌甍蔸蓰蔹蔟蔺�\".split(\"\"),e=0;e!=n[221].length;++e)65533!==n[221][e].charCodeAt(0)&&(r[n[221][e]]=56576+e,t[56576+e]=n[221][e]);for(n[222]=\"����������������������������������������������������������������轅轆轇轈轉轊轋轌轍轎轏轐轑轒轓轔轕轖轗轘轙轚轛轜轝轞轟轠轡轢轣轤轥轪辀辌辒辝辠辡辢辤辥辦辧辪辬辭辮辯農辳辴辵辷辸辺辻込辿迀迃迆�迉迊迋迌迍迏迒迖迗迚迠迡迣迧迬迯迱迲迴迵迶迺迻迼迾迿逇逈逌逎逓逕逘蕖蔻蓿蓼蕙蕈蕨蕤蕞蕺瞢蕃蕲蕻薤薨薇薏蕹薮薜薅薹薷薰藓藁藜藿蘧蘅蘩蘖蘼廾弈夼奁耷奕奚奘匏尢尥尬尴扌扪抟抻拊拚拗拮挢拶挹捋捃掭揶捱捺掎掴捭掬掊捩掮掼揲揸揠揿揄揞揎摒揆掾摅摁搋搛搠搌搦搡摞撄摭撖�\".split(\"\"),e=0;e!=n[222].length;++e)65533!==n[222][e].charCodeAt(0)&&(r[n[222][e]]=56832+e,t[56832+e]=n[222][e]);for(n[223]=\"����������������������������������������������������������������這逜連逤逥逧逨逩逪逫逬逰週進逳逴逷逹逺逽逿遀遃遅遆遈遉遊運遌過達違遖遙遚遜遝遞遟遠遡遤遦遧適遪遫遬遯遰遱遲遳遶遷選遹遺遻遼遾邁�還邅邆邇邉邊邌邍邎邏邐邒邔邖邘邚邜邞邟邠邤邥邧邨邩邫邭邲邷邼邽邿郀摺撷撸撙撺擀擐擗擤擢攉攥攮弋忒甙弑卟叱叽叩叨叻吒吖吆呋呒呓呔呖呃吡呗呙吣吲咂咔呷呱呤咚咛咄呶呦咝哐咭哂咴哒咧咦哓哔呲咣哕咻咿哌哙哚哜咩咪咤哝哏哞唛哧唠哽唔哳唢唣唏唑唧唪啧喏喵啉啭啁啕唿啐唼�\".split(\"\"),e=0;e!=n[223].length;++e)65533!==n[223][e].charCodeAt(0)&&(r[n[223][e]]=57088+e,t[57088+e]=n[223][e]);for(n[224]=\"����������������������������������������������������������������郂郃郆郈郉郋郌郍郒郔郕郖郘郙郚郞郟郠郣郤郥郩郪郬郮郰郱郲郳郵郶郷郹郺郻郼郿鄀鄁鄃鄅鄆鄇鄈鄉鄊鄋鄌鄍鄎鄏鄐鄑鄒鄓鄔鄕鄖鄗鄘鄚鄛鄜�鄝鄟鄠鄡鄤鄥鄦鄧鄨鄩鄪鄫鄬鄭鄮鄰鄲鄳鄴鄵鄶鄷鄸鄺鄻鄼鄽鄾鄿酀酁酂酄唷啖啵啶啷唳唰啜喋嗒喃喱喹喈喁喟啾嗖喑啻嗟喽喾喔喙嗪嗷嗉嘟嗑嗫嗬嗔嗦嗝嗄嗯嗥嗲嗳嗌嗍嗨嗵嗤辔嘞嘈嘌嘁嘤嘣嗾嘀嘧嘭噘嘹噗嘬噍噢噙噜噌噔嚆噤噱噫噻噼嚅嚓嚯囔囗囝囡囵囫囹囿圄圊圉圜帏帙帔帑帱帻帼�\".split(\"\"),e=0;e!=n[224].length;++e)65533!==n[224][e].charCodeAt(0)&&(r[n[224][e]]=57344+e,t[57344+e]=n[224][e]);for(n[225]=\"����������������������������������������������������������������酅酇酈酑酓酔酕酖酘酙酛酜酟酠酦酧酨酫酭酳酺酻酼醀醁醂醃醄醆醈醊醎醏醓醔醕醖醗醘醙醜醝醞醟醠醡醤醥醦醧醨醩醫醬醰醱醲醳醶醷醸醹醻�醼醽醾醿釀釁釂釃釄釅釆釈釋釐釒釓釔釕釖釗釘釙釚釛針釞釟釠釡釢釣釤釥帷幄幔幛幞幡岌屺岍岐岖岈岘岙岑岚岜岵岢岽岬岫岱岣峁岷峄峒峤峋峥崂崃崧崦崮崤崞崆崛嵘崾崴崽嵬嵛嵯嵝嵫嵋嵊嵩嵴嶂嶙嶝豳嶷巅彳彷徂徇徉後徕徙徜徨徭徵徼衢彡犭犰犴犷犸狃狁狎狍狒狨狯狩狲狴狷猁狳猃狺�\".split(\"\"),e=0;e!=n[225].length;++e)65533!==n[225][e].charCodeAt(0)&&(r[n[225][e]]=57600+e,t[57600+e]=n[225][e]);for(n[226]=\"����������������������������������������������������������������釦釧釨釩釪釫釬釭釮釯釰釱釲釳釴釵釶釷釸釹釺釻釼釽釾釿鈀鈁鈂鈃鈄鈅鈆鈇鈈鈉鈊鈋鈌鈍鈎鈏鈐鈑鈒鈓鈔鈕鈖鈗鈘鈙鈚鈛鈜鈝鈞鈟鈠鈡鈢鈣鈤�鈥鈦鈧鈨鈩鈪鈫鈬鈭鈮鈯鈰鈱鈲鈳鈴鈵鈶鈷鈸鈹鈺鈻鈼鈽鈾鈿鉀鉁鉂鉃鉄鉅狻猗猓猡猊猞猝猕猢猹猥猬猸猱獐獍獗獠獬獯獾舛夥飧夤夂饣饧饨饩饪饫饬饴饷饽馀馄馇馊馍馐馑馓馔馕庀庑庋庖庥庠庹庵庾庳赓廒廑廛廨廪膺忄忉忖忏怃忮怄忡忤忾怅怆忪忭忸怙怵怦怛怏怍怩怫怊怿怡恸恹恻恺恂�\".split(\"\"),e=0;e!=n[226].length;++e)65533!==n[226][e].charCodeAt(0)&&(r[n[226][e]]=57856+e,t[57856+e]=n[226][e]);for(n[227]=\"����������������������������������������������������������������鉆鉇鉈鉉鉊鉋鉌鉍鉎鉏鉐鉑鉒鉓鉔鉕鉖鉗鉘鉙鉚鉛鉜鉝鉞鉟鉠鉡鉢鉣鉤鉥鉦鉧鉨鉩鉪鉫鉬鉭鉮鉯鉰鉱鉲鉳鉵鉶鉷鉸鉹鉺鉻鉼鉽鉾鉿銀銁銂銃銄銅�銆銇銈銉銊銋銌銍銏銐銑銒銓銔銕銖銗銘銙銚銛銜銝銞銟銠銡銢銣銤銥銦銧恪恽悖悚悭悝悃悒悌悛惬悻悱惝惘惆惚悴愠愦愕愣惴愀愎愫慊慵憬憔憧憷懔懵忝隳闩闫闱闳闵闶闼闾阃阄阆阈阊阋阌阍阏阒阕阖阗阙阚丬爿戕氵汔汜汊沣沅沐沔沌汨汩汴汶沆沩泐泔沭泷泸泱泗沲泠泖泺泫泮沱泓泯泾�\".split(\"\"),e=0;e!=n[227].length;++e)65533!==n[227][e].charCodeAt(0)&&(r[n[227][e]]=58112+e,t[58112+e]=n[227][e]);for(n[228]=\"����������������������������������������������������������������銨銩銪銫銬銭銯銰銱銲銳銴銵銶銷銸銹銺銻銼銽銾銿鋀鋁鋂鋃鋄鋅鋆鋇鋉鋊鋋鋌鋍鋎鋏鋐鋑鋒鋓鋔鋕鋖鋗鋘鋙鋚鋛鋜鋝鋞鋟鋠鋡鋢鋣鋤鋥鋦鋧鋨�鋩鋪鋫鋬鋭鋮鋯鋰鋱鋲鋳鋴鋵鋶鋷鋸鋹鋺鋻鋼鋽鋾鋿錀錁錂錃錄錅錆錇錈錉洹洧洌浃浈洇洄洙洎洫浍洮洵洚浏浒浔洳涑浯涞涠浞涓涔浜浠浼浣渚淇淅淞渎涿淠渑淦淝淙渖涫渌涮渫湮湎湫溲湟溆湓湔渲渥湄滟溱溘滠漭滢溥溧溽溻溷滗溴滏溏滂溟潢潆潇漤漕滹漯漶潋潴漪漉漩澉澍澌潸潲潼潺濑�\".split(\"\"),e=0;e!=n[228].length;++e)65533!==n[228][e].charCodeAt(0)&&(r[n[228][e]]=58368+e,t[58368+e]=n[228][e]);for(n[229]=\"����������������������������������������������������������������錊錋錌錍錎錏錐錑錒錓錔錕錖錗錘錙錚錛錜錝錞錟錠錡錢錣錤錥錦錧錨錩錪錫錬錭錮錯錰錱録錳錴錵錶錷錸錹錺錻錼錽錿鍀鍁鍂鍃鍄鍅鍆鍇鍈鍉�鍊鍋鍌鍍鍎鍏鍐鍑鍒鍓鍔鍕鍖鍗鍘鍙鍚鍛鍜鍝鍞鍟鍠鍡鍢鍣鍤鍥鍦鍧鍨鍩鍫濉澧澹澶濂濡濮濞濠濯瀚瀣瀛瀹瀵灏灞宀宄宕宓宥宸甯骞搴寤寮褰寰蹇謇辶迓迕迥迮迤迩迦迳迨逅逄逋逦逑逍逖逡逵逶逭逯遄遑遒遐遨遘遢遛暹遴遽邂邈邃邋彐彗彖彘尻咫屐屙孱屣屦羼弪弩弭艴弼鬻屮妁妃妍妩妪妣�\".split(\"\"),e=0;e!=n[229].length;++e)65533!==n[229][e].charCodeAt(0)&&(r[n[229][e]]=58624+e,t[58624+e]=n[229][e]);for(n[230]=\"����������������������������������������������������������������鍬鍭鍮鍯鍰鍱鍲鍳鍴鍵鍶鍷鍸鍹鍺鍻鍼鍽鍾鍿鎀鎁鎂鎃鎄鎅鎆鎇鎈鎉鎊鎋鎌鎍鎎鎐鎑鎒鎓鎔鎕鎖鎗鎘鎙鎚鎛鎜鎝鎞鎟鎠鎡鎢鎣鎤鎥鎦鎧鎨鎩鎪鎫�鎬鎭鎮鎯鎰鎱鎲鎳鎴鎵鎶鎷鎸鎹鎺鎻鎼鎽鎾鎿鏀鏁鏂鏃鏄鏅鏆鏇鏈鏉鏋鏌鏍妗姊妫妞妤姒妲妯姗妾娅娆姝娈姣姘姹娌娉娲娴娑娣娓婀婧婊婕娼婢婵胬媪媛婷婺媾嫫媲嫒嫔媸嫠嫣嫱嫖嫦嫘嫜嬉嬗嬖嬲嬷孀尕尜孚孥孳孑孓孢驵驷驸驺驿驽骀骁骅骈骊骐骒骓骖骘骛骜骝骟骠骢骣骥骧纟纡纣纥纨纩�\".split(\"\"),e=0;e!=n[230].length;++e)65533!==n[230][e].charCodeAt(0)&&(r[n[230][e]]=58880+e,t[58880+e]=n[230][e]);for(n[231]=\"����������������������������������������������������������������鏎鏏鏐鏑鏒鏓鏔鏕鏗鏘鏙鏚鏛鏜鏝鏞鏟鏠鏡鏢鏣鏤鏥鏦鏧鏨鏩鏪鏫鏬鏭鏮鏯鏰鏱鏲鏳鏴鏵鏶鏷鏸鏹鏺鏻鏼鏽鏾鏿鐀鐁鐂鐃鐄鐅鐆鐇鐈鐉鐊鐋鐌鐍�鐎鐏鐐鐑鐒鐓鐔鐕鐖鐗鐘鐙鐚鐛鐜鐝鐞鐟鐠鐡鐢鐣鐤鐥鐦鐧鐨鐩鐪鐫鐬鐭鐮纭纰纾绀绁绂绉绋绌绐绔绗绛绠绡绨绫绮绯绱绲缍绶绺绻绾缁缂缃缇缈缋缌缏缑缒缗缙缜缛缟缡缢缣缤缥缦缧缪缫缬缭缯缰缱缲缳缵幺畿巛甾邕玎玑玮玢玟珏珂珑玷玳珀珉珈珥珙顼琊珩珧珞玺珲琏琪瑛琦琥琨琰琮琬�\".split(\"\"),e=0;e!=n[231].length;++e)65533!==n[231][e].charCodeAt(0)&&(r[n[231][e]]=59136+e,t[59136+e]=n[231][e]);for(n[232]=\"����������������������������������������������������������������鐯鐰鐱鐲鐳鐴鐵鐶鐷鐸鐹鐺鐻鐼鐽鐿鑀鑁鑂鑃鑄鑅鑆鑇鑈鑉鑊鑋鑌鑍鑎鑏鑐鑑鑒鑓鑔鑕鑖鑗鑘鑙鑚鑛鑜鑝鑞鑟鑠鑡鑢鑣鑤鑥鑦鑧鑨鑩鑪鑬鑭鑮鑯�鑰鑱鑲鑳鑴鑵鑶鑷鑸鑹鑺鑻鑼鑽鑾鑿钀钁钂钃钄钑钖钘铇铏铓铔铚铦铻锜锠琛琚瑁瑜瑗瑕瑙瑷瑭瑾璜璎璀璁璇璋璞璨璩璐璧瓒璺韪韫韬杌杓杞杈杩枥枇杪杳枘枧杵枨枞枭枋杷杼柰栉柘栊柩枰栌柙枵柚枳柝栀柃枸柢栎柁柽栲栳桠桡桎桢桄桤梃栝桕桦桁桧桀栾桊桉栩梵梏桴桷梓桫棂楮棼椟椠棹�\".split(\"\"),e=0;e!=n[232].length;++e)65533!==n[232][e].charCodeAt(0)&&(r[n[232][e]]=59392+e,t[59392+e]=n[232][e]);for(n[233]=\"����������������������������������������������������������������锧锳锽镃镈镋镕镚镠镮镴镵長镸镹镺镻镼镽镾門閁閂閃閄閅閆閇閈閉閊開閌閍閎閏閐閑閒間閔閕閖閗閘閙閚閛閜閝閞閟閠閡関閣閤閥閦閧閨閩閪�閫閬閭閮閯閰閱閲閳閴閵閶閷閸閹閺閻閼閽閾閿闀闁闂闃闄闅闆闇闈闉闊闋椤棰椋椁楗棣椐楱椹楠楂楝榄楫榀榘楸椴槌榇榈槎榉楦楣楹榛榧榻榫榭槔榱槁槊槟榕槠榍槿樯槭樗樘橥槲橄樾檠橐橛樵檎橹樽樨橘橼檑檐檩檗檫猷獒殁殂殇殄殒殓殍殚殛殡殪轫轭轱轲轳轵轶轸轷轹轺轼轾辁辂辄辇辋�\".split(\"\"),e=0;e!=n[233].length;++e)65533!==n[233][e].charCodeAt(0)&&(r[n[233][e]]=59648+e,t[59648+e]=n[233][e]);for(n[234]=\"����������������������������������������������������������������闌闍闎闏闐闑闒闓闔闕闖闗闘闙闚闛關闝闞闟闠闡闢闣闤闥闦闧闬闿阇阓阘阛阞阠阣阤阥阦阧阨阩阫阬阭阯阰阷阸阹阺阾陁陃陊陎陏陑陒陓陖陗�陘陙陚陜陝陞陠陣陥陦陫陭陮陯陰陱陳陸陹険陻陼陽陾陿隀隁隂隃隄隇隉隊辍辎辏辘辚軎戋戗戛戟戢戡戥戤戬臧瓯瓴瓿甏甑甓攴旮旯旰昊昙杲昃昕昀炅曷昝昴昱昶昵耆晟晔晁晏晖晡晗晷暄暌暧暝暾曛曜曦曩贲贳贶贻贽赀赅赆赈赉赇赍赕赙觇觊觋觌觎觏觐觑牮犟牝牦牯牾牿犄犋犍犏犒挈挲掰�\".split(\"\"),e=0;e!=n[234].length;++e)65533!==n[234][e].charCodeAt(0)&&(r[n[234][e]]=59904+e,t[59904+e]=n[234][e]);for(n[235]=\"����������������������������������������������������������������隌階隑隒隓隕隖隚際隝隞隟隠隡隢隣隤隥隦隨隩險隫隬隭隮隯隱隲隴隵隷隸隺隻隿雂雃雈雊雋雐雑雓雔雖雗雘雙雚雛雜雝雞雟雡離難雤雥雦雧雫�雬雭雮雰雱雲雴雵雸雺電雼雽雿霂霃霅霊霋霌霐霑霒霔霕霗霘霙霚霛霝霟霠搿擘耄毪毳毽毵毹氅氇氆氍氕氘氙氚氡氩氤氪氲攵敕敫牍牒牖爰虢刖肟肜肓肼朊肽肱肫肭肴肷胧胨胩胪胛胂胄胙胍胗朐胝胫胱胴胭脍脎胲胼朕脒豚脶脞脬脘脲腈腌腓腴腙腚腱腠腩腼腽腭腧塍媵膈膂膑滕膣膪臌朦臊膻�\".split(\"\"),e=0;e!=n[235].length;++e)65533!==n[235][e].charCodeAt(0)&&(r[n[235][e]]=60160+e,t[60160+e]=n[235][e]);for(n[236]=\"����������������������������������������������������������������霡霢霣霤霥霦霧霨霩霫霬霮霯霱霳霴霵霶霷霺霻霼霽霿靀靁靂靃靄靅靆靇靈靉靊靋靌靍靎靏靐靑靔靕靗靘靚靜靝靟靣靤靦靧靨靪靫靬靭靮靯靰靱�靲靵靷靸靹靺靻靽靾靿鞀鞁鞂鞃鞄鞆鞇鞈鞉鞊鞌鞎鞏鞐鞓鞕鞖鞗鞙鞚鞛鞜鞝臁膦欤欷欹歃歆歙飑飒飓飕飙飚殳彀毂觳斐齑斓於旆旄旃旌旎旒旖炀炜炖炝炻烀炷炫炱烨烊焐焓焖焯焱煳煜煨煅煲煊煸煺熘熳熵熨熠燠燔燧燹爝爨灬焘煦熹戾戽扃扈扉礻祀祆祉祛祜祓祚祢祗祠祯祧祺禅禊禚禧禳忑忐�\".split(\"\"),e=0;e!=n[236].length;++e)65533!==n[236][e].charCodeAt(0)&&(r[n[236][e]]=60416+e,t[60416+e]=n[236][e]);for(n[237]=\"����������������������������������������������������������������鞞鞟鞡鞢鞤鞥鞦鞧鞨鞩鞪鞬鞮鞰鞱鞳鞵鞶鞷鞸鞹鞺鞻鞼鞽鞾鞿韀韁韂韃韄韅韆韇韈韉韊韋韌韍韎韏韐韑韒韓韔韕韖韗韘韙韚韛韜韝韞韟韠韡韢韣�韤韥韨韮韯韰韱韲韴韷韸韹韺韻韼韽韾響頀頁頂頃頄項順頇須頉頊頋頌頍頎怼恝恚恧恁恙恣悫愆愍慝憩憝懋懑戆肀聿沓泶淼矶矸砀砉砗砘砑斫砭砜砝砹砺砻砟砼砥砬砣砩硎硭硖硗砦硐硇硌硪碛碓碚碇碜碡碣碲碹碥磔磙磉磬磲礅磴礓礤礞礴龛黹黻黼盱眄眍盹眇眈眚眢眙眭眦眵眸睐睑睇睃睚睨�\".split(\"\"),e=0;e!=n[237].length;++e)65533!==n[237][e].charCodeAt(0)&&(r[n[237][e]]=60672+e,t[60672+e]=n[237][e]);for(n[238]=\"����������������������������������������������������������������頏預頑頒頓頔頕頖頗領頙頚頛頜頝頞頟頠頡頢頣頤頥頦頧頨頩頪頫頬頭頮頯頰頱頲頳頴頵頶頷頸頹頺頻頼頽頾頿顀顁顂顃顄顅顆顇顈顉顊顋題額�顎顏顐顑顒顓顔顕顖顗願顙顚顛顜顝類顟顠顡顢顣顤顥顦顧顨顩顪顫顬顭顮睢睥睿瞍睽瞀瞌瞑瞟瞠瞰瞵瞽町畀畎畋畈畛畲畹疃罘罡罟詈罨罴罱罹羁罾盍盥蠲钅钆钇钋钊钌钍钏钐钔钗钕钚钛钜钣钤钫钪钭钬钯钰钲钴钶钷钸钹钺钼钽钿铄铈铉铊铋铌铍铎铐铑铒铕铖铗铙铘铛铞铟铠铢铤铥铧铨铪�\".split(\"\"),e=0;e!=n[238].length;++e)65533!==n[238][e].charCodeAt(0)&&(r[n[238][e]]=60928+e,t[60928+e]=n[238][e]);for(n[239]=\"����������������������������������������������������������������顯顰顱顲顳顴颋颎颒颕颙颣風颩颪颫颬颭颮颯颰颱颲颳颴颵颶颷颸颹颺颻颼颽颾颿飀飁飂飃飄飅飆飇飈飉飊飋飌飍飏飐飔飖飗飛飜飝飠飡飢飣飤�飥飦飩飪飫飬飭飮飯飰飱飲飳飴飵飶飷飸飹飺飻飼飽飾飿餀餁餂餃餄餅餆餇铩铫铮铯铳铴铵铷铹铼铽铿锃锂锆锇锉锊锍锎锏锒锓锔锕锖锘锛锝锞锟锢锪锫锩锬锱锲锴锶锷锸锼锾锿镂锵镄镅镆镉镌镎镏镒镓镔镖镗镘镙镛镞镟镝镡镢镤镥镦镧镨镩镪镫镬镯镱镲镳锺矧矬雉秕秭秣秫稆嵇稃稂稞稔�\".split(\"\"),e=0;e!=n[239].length;++e)65533!==n[239][e].charCodeAt(0)&&(r[n[239][e]]=61184+e,t[61184+e]=n[239][e]);for(n[240]=\"����������������������������������������������������������������餈餉養餋餌餎餏餑餒餓餔餕餖餗餘餙餚餛餜餝餞餟餠餡餢餣餤餥餦餧館餩餪餫餬餭餯餰餱餲餳餴餵餶餷餸餹餺餻餼餽餾餿饀饁饂饃饄饅饆饇饈饉�饊饋饌饍饎饏饐饑饒饓饖饗饘饙饚饛饜饝饞饟饠饡饢饤饦饳饸饹饻饾馂馃馉稹稷穑黏馥穰皈皎皓皙皤瓞瓠甬鸠鸢鸨鸩鸪鸫鸬鸲鸱鸶鸸鸷鸹鸺鸾鹁鹂鹄鹆鹇鹈鹉鹋鹌鹎鹑鹕鹗鹚鹛鹜鹞鹣鹦鹧鹨鹩鹪鹫鹬鹱鹭鹳疒疔疖疠疝疬疣疳疴疸痄疱疰痃痂痖痍痣痨痦痤痫痧瘃痱痼痿瘐瘀瘅瘌瘗瘊瘥瘘瘕瘙�\".split(\"\"),e=0;e!=n[240].length;++e)65533!==n[240][e].charCodeAt(0)&&(r[n[240][e]]=61440+e,t[61440+e]=n[240][e]);for(n[241]=\"����������������������������������������������������������������馌馎馚馛馜馝馞馟馠馡馢馣馤馦馧馩馪馫馬馭馮馯馰馱馲馳馴馵馶馷馸馹馺馻馼馽馾馿駀駁駂駃駄駅駆駇駈駉駊駋駌駍駎駏駐駑駒駓駔駕駖駗駘�駙駚駛駜駝駞駟駠駡駢駣駤駥駦駧駨駩駪駫駬駭駮駯駰駱駲駳駴駵駶駷駸駹瘛瘼瘢瘠癀瘭瘰瘿瘵癃瘾瘳癍癞癔癜癖癫癯翊竦穸穹窀窆窈窕窦窠窬窨窭窳衤衩衲衽衿袂袢裆袷袼裉裢裎裣裥裱褚裼裨裾裰褡褙褓褛褊褴褫褶襁襦襻疋胥皲皴矜耒耔耖耜耠耢耥耦耧耩耨耱耋耵聃聆聍聒聩聱覃顸颀颃�\".split(\"\"),e=0;e!=n[241].length;++e)65533!==n[241][e].charCodeAt(0)&&(r[n[241][e]]=61696+e,t[61696+e]=n[241][e]);for(n[242]=\"����������������������������������������������������������������駺駻駼駽駾駿騀騁騂騃騄騅騆騇騈騉騊騋騌騍騎騏騐騑騒験騔騕騖騗騘騙騚騛騜騝騞騟騠騡騢騣騤騥騦騧騨騩騪騫騬騭騮騯騰騱騲騳騴騵騶騷騸�騹騺騻騼騽騾騿驀驁驂驃驄驅驆驇驈驉驊驋驌驍驎驏驐驑驒驓驔驕驖驗驘驙颉颌颍颏颔颚颛颞颟颡颢颥颦虍虔虬虮虿虺虼虻蚨蚍蚋蚬蚝蚧蚣蚪蚓蚩蚶蛄蚵蛎蚰蚺蚱蚯蛉蛏蚴蛩蛱蛲蛭蛳蛐蜓蛞蛴蛟蛘蛑蜃蜇蛸蜈蜊蜍蜉蜣蜻蜞蜥蜮蜚蜾蝈蜴蜱蜩蜷蜿螂蜢蝽蝾蝻蝠蝰蝌蝮螋蝓蝣蝼蝤蝙蝥螓螯螨蟒�\".split(\"\"),e=0;e!=n[242].length;++e)65533!==n[242][e].charCodeAt(0)&&(r[n[242][e]]=61952+e,t[61952+e]=n[242][e]);for(n[243]=\"����������������������������������������������������������������驚驛驜驝驞驟驠驡驢驣驤驥驦驧驨驩驪驫驲骃骉骍骎骔骕骙骦骩骪骫骬骭骮骯骲骳骴骵骹骻骽骾骿髃髄髆髇髈髉髊髍髎髏髐髒體髕髖髗髙髚髛髜�髝髞髠髢髣髤髥髧髨髩髪髬髮髰髱髲髳髴髵髶髷髸髺髼髽髾髿鬀鬁鬂鬄鬅鬆蟆螈螅螭螗螃螫蟥螬螵螳蟋蟓螽蟑蟀蟊蟛蟪蟠蟮蠖蠓蟾蠊蠛蠡蠹蠼缶罂罄罅舐竺竽笈笃笄笕笊笫笏筇笸笪笙笮笱笠笥笤笳笾笞筘筚筅筵筌筝筠筮筻筢筲筱箐箦箧箸箬箝箨箅箪箜箢箫箴篑篁篌篝篚篥篦篪簌篾篼簏簖簋�\".split(\"\"),e=0;e!=n[243].length;++e)65533!==n[243][e].charCodeAt(0)&&(r[n[243][e]]=62208+e,t[62208+e]=n[243][e]);for(n[244]=\"����������������������������������������������������������������鬇鬉鬊鬋鬌鬍鬎鬐鬑鬒鬔鬕鬖鬗鬘鬙鬚鬛鬜鬝鬞鬠鬡鬢鬤鬥鬦鬧鬨鬩鬪鬫鬬鬭鬮鬰鬱鬳鬴鬵鬶鬷鬸鬹鬺鬽鬾鬿魀魆魊魋魌魎魐魒魓魕魖魗魘魙魚�魛魜魝魞魟魠魡魢魣魤魥魦魧魨魩魪魫魬魭魮魯魰魱魲魳魴魵魶魷魸魹魺魻簟簪簦簸籁籀臾舁舂舄臬衄舡舢舣舭舯舨舫舸舻舳舴舾艄艉艋艏艚艟艨衾袅袈裘裟襞羝羟羧羯羰羲籼敉粑粝粜粞粢粲粼粽糁糇糌糍糈糅糗糨艮暨羿翎翕翥翡翦翩翮翳糸絷綦綮繇纛麸麴赳趄趔趑趱赧赭豇豉酊酐酎酏酤�\".split(\"\"),e=0;e!=n[244].length;++e)65533!==n[244][e].charCodeAt(0)&&(r[n[244][e]]=62464+e,t[62464+e]=n[244][e]);for(n[245]=\"����������������������������������������������������������������魼魽魾魿鮀鮁鮂鮃鮄鮅鮆鮇鮈鮉鮊鮋鮌鮍鮎鮏鮐鮑鮒鮓鮔鮕鮖鮗鮘鮙鮚鮛鮜鮝鮞鮟鮠鮡鮢鮣鮤鮥鮦鮧鮨鮩鮪鮫鮬鮭鮮鮯鮰鮱鮲鮳鮴鮵鮶鮷鮸鮹鮺�鮻鮼鮽鮾鮿鯀鯁鯂鯃鯄鯅鯆鯇鯈鯉鯊鯋鯌鯍鯎鯏鯐鯑鯒鯓鯔鯕鯖鯗鯘鯙鯚鯛酢酡酰酩酯酽酾酲酴酹醌醅醐醍醑醢醣醪醭醮醯醵醴醺豕鹾趸跫踅蹙蹩趵趿趼趺跄跖跗跚跞跎跏跛跆跬跷跸跣跹跻跤踉跽踔踝踟踬踮踣踯踺蹀踹踵踽踱蹉蹁蹂蹑蹒蹊蹰蹶蹼蹯蹴躅躏躔躐躜躞豸貂貊貅貘貔斛觖觞觚觜�\".split(\"\"),e=0;e!=n[245].length;++e)65533!==n[245][e].charCodeAt(0)&&(r[n[245][e]]=62720+e,t[62720+e]=n[245][e]);for(n[246]=\"����������������������������������������������������������������鯜鯝鯞鯟鯠鯡鯢鯣鯤鯥鯦鯧鯨鯩鯪鯫鯬鯭鯮鯯鯰鯱鯲鯳鯴鯵鯶鯷鯸鯹鯺鯻鯼鯽鯾鯿鰀鰁鰂鰃鰄鰅鰆鰇鰈鰉鰊鰋鰌鰍鰎鰏鰐鰑鰒鰓鰔鰕鰖鰗鰘鰙鰚�鰛鰜鰝鰞鰟鰠鰡鰢鰣鰤鰥鰦鰧鰨鰩鰪鰫鰬鰭鰮鰯鰰鰱鰲鰳鰴鰵鰶鰷鰸鰹鰺鰻觥觫觯訾謦靓雩雳雯霆霁霈霏霎霪霭霰霾龀龃龅龆龇龈龉龊龌黾鼋鼍隹隼隽雎雒瞿雠銎銮鋈錾鍪鏊鎏鐾鑫鱿鲂鲅鲆鲇鲈稣鲋鲎鲐鲑鲒鲔鲕鲚鲛鲞鲟鲠鲡鲢鲣鲥鲦鲧鲨鲩鲫鲭鲮鲰鲱鲲鲳鲴鲵鲶鲷鲺鲻鲼鲽鳄鳅鳆鳇鳊鳋�\".split(\"\"),e=0;e!=n[246].length;++e)65533!==n[246][e].charCodeAt(0)&&(r[n[246][e]]=62976+e,t[62976+e]=n[246][e]);for(n[247]=\"����������������������������������������������������������������鰼鰽鰾鰿鱀鱁鱂鱃鱄鱅鱆鱇鱈鱉鱊鱋鱌鱍鱎鱏鱐鱑鱒鱓鱔鱕鱖鱗鱘鱙鱚鱛鱜鱝鱞鱟鱠鱡鱢鱣鱤鱥鱦鱧鱨鱩鱪鱫鱬鱭鱮鱯鱰鱱鱲鱳鱴鱵鱶鱷鱸鱹鱺�鱻鱽鱾鲀鲃鲄鲉鲊鲌鲏鲓鲖鲗鲘鲙鲝鲪鲬鲯鲹鲾鲿鳀鳁鳂鳈鳉鳑鳒鳚鳛鳠鳡鳌鳍鳎鳏鳐鳓鳔鳕鳗鳘鳙鳜鳝鳟鳢靼鞅鞑鞒鞔鞯鞫鞣鞲鞴骱骰骷鹘骶骺骼髁髀髅髂髋髌髑魅魃魇魉魈魍魑飨餍餮饕饔髟髡髦髯髫髻髭髹鬈鬏鬓鬟鬣麽麾縻麂麇麈麋麒鏖麝麟黛黜黝黠黟黢黩黧黥黪黯鼢鼬鼯鼹鼷鼽鼾齄�\".split(\"\"),e=0;e!=n[247].length;++e)65533!==n[247][e].charCodeAt(0)&&(r[n[247][e]]=63232+e,t[63232+e]=n[247][e]);for(n[248]=\"����������������������������������������������������������������鳣鳤鳥鳦鳧鳨鳩鳪鳫鳬鳭鳮鳯鳰鳱鳲鳳鳴鳵鳶鳷鳸鳹鳺鳻鳼鳽鳾鳿鴀鴁鴂鴃鴄鴅鴆鴇鴈鴉鴊鴋鴌鴍鴎鴏鴐鴑鴒鴓鴔鴕鴖鴗鴘鴙鴚鴛鴜鴝鴞鴟鴠鴡�鴢鴣鴤鴥鴦鴧鴨鴩鴪鴫鴬鴭鴮鴯鴰鴱鴲鴳鴴鴵鴶鴷鴸鴹鴺鴻鴼鴽鴾鴿鵀鵁鵂�����������������������������������������������������������������������������������������������\".split(\"\"),e=0;e!=n[248].length;++e)65533!==n[248][e].charCodeAt(0)&&(r[n[248][e]]=63488+e,t[63488+e]=n[248][e]);for(n[249]=\"����������������������������������������������������������������鵃鵄鵅鵆鵇鵈鵉鵊鵋鵌鵍鵎鵏鵐鵑鵒鵓鵔鵕鵖鵗鵘鵙鵚鵛鵜鵝鵞鵟鵠鵡鵢鵣鵤鵥鵦鵧鵨鵩鵪鵫鵬鵭鵮鵯鵰鵱鵲鵳鵴鵵鵶鵷鵸鵹鵺鵻鵼鵽鵾鵿鶀鶁�鶂鶃鶄鶅鶆鶇鶈鶉鶊鶋鶌鶍鶎鶏鶐鶑鶒鶓鶔鶕鶖鶗鶘鶙鶚鶛鶜鶝鶞鶟鶠鶡鶢�����������������������������������������������������������������������������������������������\".split(\"\"),e=0;e!=n[249].length;++e)65533!==n[249][e].charCodeAt(0)&&(r[n[249][e]]=63744+e,t[63744+e]=n[249][e]);for(n[250]=\"����������������������������������������������������������������鶣鶤鶥鶦鶧鶨鶩鶪鶫鶬鶭鶮鶯鶰鶱鶲鶳鶴鶵鶶鶷鶸鶹鶺鶻鶼鶽鶾鶿鷀鷁鷂鷃鷄鷅鷆鷇鷈鷉鷊鷋鷌鷍鷎鷏鷐鷑鷒鷓鷔鷕鷖鷗鷘鷙鷚鷛鷜鷝鷞鷟鷠鷡�鷢鷣鷤鷥鷦鷧鷨鷩鷪鷫鷬鷭鷮鷯鷰鷱鷲鷳鷴鷵鷶鷷鷸鷹鷺鷻鷼鷽鷾鷿鸀鸁鸂�����������������������������������������������������������������������������������������������\".split(\"\"),e=0;e!=n[250].length;++e)65533!==n[250][e].charCodeAt(0)&&(r[n[250][e]]=64e3+e,t[64e3+e]=n[250][e]);for(n[251]=\"����������������������������������������������������������������鸃鸄鸅鸆鸇鸈鸉鸊鸋鸌鸍鸎鸏鸐鸑鸒鸓鸔鸕鸖鸗鸘鸙鸚鸛鸜鸝鸞鸤鸧鸮鸰鸴鸻鸼鹀鹍鹐鹒鹓鹔鹖鹙鹝鹟鹠鹡鹢鹥鹮鹯鹲鹴鹵鹶鹷鹸鹹鹺鹻鹼鹽麀�麁麃麄麅麆麉麊麌麍麎麏麐麑麔麕麖麗麘麙麚麛麜麞麠麡麢麣麤麥麧麨麩麪�����������������������������������������������������������������������������������������������\".split(\"\"),e=0;e!=n[251].length;++e)65533!==n[251][e].charCodeAt(0)&&(r[n[251][e]]=64256+e,t[64256+e]=n[251][e]);for(n[252]=\"����������������������������������������������������������������麫麬麭麮麯麰麱麲麳麵麶麷麹麺麼麿黀黁黂黃黅黆黇黈黊黋黌黐黒黓黕黖黗黙黚點黡黣黤黦黨黫黬黭黮黰黱黲黳黴黵黶黷黸黺黽黿鼀鼁鼂鼃鼄鼅�鼆鼇鼈鼉鼊鼌鼏鼑鼒鼔鼕鼖鼘鼚鼛鼜鼝鼞鼟鼡鼣鼤鼥鼦鼧鼨鼩鼪鼫鼭鼮鼰鼱�����������������������������������������������������������������������������������������������\".split(\"\"),e=0;e!=n[252].length;++e)65533!==n[252][e].charCodeAt(0)&&(r[n[252][e]]=64512+e,t[64512+e]=n[252][e]);for(n[253]=\"����������������������������������������������������������������鼲鼳鼴鼵鼶鼸鼺鼼鼿齀齁齂齃齅齆齇齈齉齊齋齌齍齎齏齒齓齔齕齖齗齘齙齚齛齜齝齞齟齠齡齢齣齤齥齦齧齨齩齪齫齬齭齮齯齰齱齲齳齴齵齶齷齸�齹齺齻齼齽齾龁龂龍龎龏龐龑龒龓龔龕龖龗龘龜龝龞龡龢龣龤龥郎凉秊裏隣�����������������������������������������������������������������������������������������������\".split(\"\"),e=0;e!=n[253].length;++e)65533!==n[253][e].charCodeAt(0)&&(r[n[253][e]]=64768+e,t[64768+e]=n[253][e]);for(n[254]=\"����������������������������������������������������������������兀嗀﨎﨏﨑﨓﨔礼﨟蘒﨡﨣﨤﨧﨨﨩��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\".split(\"\"),e=0;e!=n[254].length;++e)65533!==n[254][e].charCodeAt(0)&&(r[n[254][e]]=65024+e,t[65024+e]=n[254][e]);return{enc:r,dec:t}}(),r[949]=function(){var e,t=[],r={},n=[];for(n[0]=\"\\0\u0001\u0002\u0003\u0004\u0005\u0006\u0007\\b\\t\\n\\v\\f\\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������\".split(\"\"),e=0;e!=n[0].length;++e)65533!==n[0][e].charCodeAt(0)&&(r[n[0][e]]=0+e,t[0+e]=n[0][e]);for(n[129]=\"�����������������������������������������������������������������갂갃갅갆갋갌갍갎갏갘갞갟갡갢갣갥갦갧갨갩갪갫갮갲갳갴������갵갶갷갺갻갽갾갿걁걂걃걄걅걆걇걈걉걊걌걎걏걐걑걒걓걕������걖걗걙걚걛걝걞걟걠걡걢걣걤걥걦걧걨걩걪걫걬걭걮걯걲걳걵걶걹걻걼걽걾걿겂겇겈겍겎겏겑겒겓겕겖겗겘겙겚겛겞겢겣겤겥겦겧겫겭겮겱겲겳겴겵겶겷겺겾겿곀곂곃곅곆곇곉곊곋곍곎곏곐곑곒곓곔곖곘곙곚곛곜곝곞곟곢곣곥곦곩곫곭곮곲곴곷곸곹곺곻곾곿괁괂괃괅괇괈괉괊괋괎괐괒괓�\".split(\"\"),e=0;e!=n[129].length;++e)65533!==n[129][e].charCodeAt(0)&&(r[n[129][e]]=33024+e,t[33024+e]=n[129][e]);for(n[130]=\"�����������������������������������������������������������������괔괕괖괗괙괚괛괝괞괟괡괢괣괤괥괦괧괨괪괫괮괯괰괱괲괳������괶괷괹괺괻괽괾괿굀굁굂굃굆굈굊굋굌굍굎굏굑굒굓굕굖굗������굙굚굛굜굝굞굟굠굢굤굥굦굧굨굩굪굫굮굯굱굲굷굸굹굺굾궀궃궄궅궆궇궊궋궍궎궏궑궒궓궔궕궖궗궘궙궚궛궞궟궠궡궢궣궥궦궧궨궩궪궫궬궭궮궯궰궱궲궳궴궵궶궸궹궺궻궼궽궾궿귂귃귅귆귇귉귊귋귌귍귎귏귒귔귕귖귗귘귙귚귛귝귞귟귡귢귣귥귦귧귨귩귪귫귬귭귮귯귰귱귲귳귴귵귶귷�\".split(\"\"),e=0;e!=n[130].length;++e)65533!==n[130][e].charCodeAt(0)&&(r[n[130][e]]=33280+e,t[33280+e]=n[130][e]);for(n[131]=\"�����������������������������������������������������������������귺귻귽귾긂긃긄긅긆긇긊긌긎긏긐긑긒긓긕긖긗긘긙긚긛긜������긝긞긟긠긡긢긣긤긥긦긧긨긩긪긫긬긭긮긯긲긳긵긶긹긻긼������긽긾긿깂깄깇깈깉깋깏깑깒깓깕깗깘깙깚깛깞깢깣깤깦깧깪깫깭깮깯깱깲깳깴깵깶깷깺깾깿꺀꺁꺂꺃꺆꺇꺈꺉꺊꺋꺍꺎꺏꺐꺑꺒꺓꺔꺕꺖꺗꺘꺙꺚꺛꺜꺝꺞꺟꺠꺡꺢꺣꺤꺥꺦꺧꺨꺩꺪꺫꺬꺭꺮꺯꺰꺱꺲꺳꺴꺵꺶꺷꺸꺹꺺꺻꺿껁껂껃껅껆껇껈껉껊껋껎껒껓껔껕껖껗껚껛껝껞껟껠껡껢껣껤껥�\".split(\"\"),e=0;e!=n[131].length;++e)65533!==n[131][e].charCodeAt(0)&&(r[n[131][e]]=33536+e,t[33536+e]=n[131][e]);for(n[132]=\"�����������������������������������������������������������������껦껧껩껪껬껮껯껰껱껲껳껵껶껷껹껺껻껽껾껿꼀꼁꼂꼃꼄꼅������꼆꼉꼊꼋꼌꼎꼏꼑꼒꼓꼔꼕꼖꼗꼘꼙꼚꼛꼜꼝꼞꼟꼠꼡꼢꼣������꼤꼥꼦꼧꼨꼩꼪꼫꼮꼯꼱꼳꼵꼶꼷꼸꼹꼺꼻꼾꽀꽄꽅꽆꽇꽊꽋꽌꽍꽎꽏꽑꽒꽓꽔꽕꽖꽗꽘꽙꽚꽛꽞꽟꽠꽡꽢꽣꽦꽧꽨꽩꽪꽫꽬꽭꽮꽯꽰꽱꽲꽳꽴꽵꽶꽷꽸꽺꽻꽼꽽꽾꽿꾁꾂꾃꾅꾆꾇꾉꾊꾋꾌꾍꾎꾏꾒꾓꾔꾖꾗꾘꾙꾚꾛꾝꾞꾟꾠꾡꾢꾣꾤꾥꾦꾧꾨꾩꾪꾫꾬꾭꾮꾯꾰꾱꾲꾳꾴꾵꾶꾷꾺꾻꾽꾾�\".split(\"\"),e=0;e!=n[132].length;++e)65533!==n[132][e].charCodeAt(0)&&(r[n[132][e]]=33792+e,t[33792+e]=n[132][e]);for(n[133]=\"�����������������������������������������������������������������꾿꿁꿂꿃꿄꿅꿆꿊꿌꿏꿐꿑꿒꿓꿕꿖꿗꿘꿙꿚꿛꿝꿞꿟꿠꿡������꿢꿣꿤꿥꿦꿧꿪꿫꿬꿭꿮꿯꿲꿳꿵꿶꿷꿹꿺꿻꿼꿽꿾꿿뀂뀃������뀅뀆뀇뀈뀉뀊뀋뀍뀎뀏뀑뀒뀓뀕뀖뀗뀘뀙뀚뀛뀞뀟뀠뀡뀢뀣뀤뀥뀦뀧뀩뀪뀫뀬뀭뀮뀯뀰뀱뀲뀳뀴뀵뀶뀷뀸뀹뀺뀻뀼뀽뀾뀿끀끁끂끃끆끇끉끋끍끏끐끑끒끖끘끚끛끜끞끟끠끡끢끣끤끥끦끧끨끩끪끫끬끭끮끯끰끱끲끳끴끵끶끷끸끹끺끻끾끿낁낂낃낅낆낇낈낉낊낋낎낐낒낓낔낕낖낗낛낝낞낣낤�\".split(\"\"),e=0;e!=n[133].length;++e)65533!==n[133][e].charCodeAt(0)&&(r[n[133][e]]=34048+e,t[34048+e]=n[133][e]);for(n[134]=\"�����������������������������������������������������������������낥낦낧낪낰낲낶낷낹낺낻낽낾낿냀냁냂냃냆냊냋냌냍냎냏냒������냓냕냖냗냙냚냛냜냝냞냟냡냢냣냤냦냧냨냩냪냫냬냭냮냯냰������냱냲냳냴냵냶냷냸냹냺냻냼냽냾냿넀넁넂넃넄넅넆넇넊넍넎넏넑넔넕넖넗넚넞넟넠넡넢넦넧넩넪넫넭넮넯넰넱넲넳넶넺넻넼넽넾넿녂녃녅녆녇녉녊녋녌녍녎녏녒녓녖녗녙녚녛녝녞녟녡녢녣녤녥녦녧녨녩녪녫녬녭녮녯녰녱녲녳녴녵녶녷녺녻녽녾녿놁놃놄놅놆놇놊놌놎놏놐놑놕놖놗놙놚놛놝�\".split(\"\"),e=0;e!=n[134].length;++e)65533!==n[134][e].charCodeAt(0)&&(r[n[134][e]]=34304+e,t[34304+e]=n[134][e]);for(n[135]=\"�����������������������������������������������������������������놞놟놠놡놢놣놤놥놦놧놩놪놫놬놭놮놯놰놱놲놳놴놵놶놷놸������놹놺놻놼놽놾놿뇀뇁뇂뇃뇄뇅뇆뇇뇈뇉뇊뇋뇍뇎뇏뇑뇒뇓뇕������뇖뇗뇘뇙뇚뇛뇞뇠뇡뇢뇣뇤뇥뇦뇧뇪뇫뇭뇮뇯뇱뇲뇳뇴뇵뇶뇷뇸뇺뇼뇾뇿눀눁눂눃눆눇눉눊눍눎눏눐눑눒눓눖눘눚눛눜눝눞눟눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눵눶눷눸눹눺눻눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉙뉚뉛뉝뉞뉟뉡뉢뉣뉤뉥뉦뉧뉪뉫뉬뉭뉮�\".split(\"\"),e=0;e!=n[135].length;++e)65533!==n[135][e].charCodeAt(0)&&(r[n[135][e]]=34560+e,t[34560+e]=n[135][e]);for(n[136]=\"�����������������������������������������������������������������뉯뉰뉱뉲뉳뉶뉷뉸뉹뉺뉻뉽뉾뉿늀늁늂늃늆늇늈늊늋늌늍늎������늏늒늓늕늖늗늛늜늝늞늟늢늤늧늨늩늫늭늮늯늱늲늳늵늶늷������늸늹늺늻늼늽늾늿닀닁닂닃닄닅닆닇닊닋닍닎닏닑닓닔닕닖닗닚닜닞닟닠닡닣닧닩닪닰닱닲닶닼닽닾댂댃댅댆댇댉댊댋댌댍댎댏댒댖댗댘댙댚댛댝댞댟댠댡댢댣댤댥댦댧댨댩댪댫댬댭댮댯댰댱댲댳댴댵댶댷댸댹댺댻댼댽댾댿덀덁덂덃덄덅덆덇덈덉덊덋덌덍덎덏덐덑덒덓덗덙덚덝덠덡덢덣�\".split(\"\"),e=0;e!=n[136].length;++e)65533!==n[136][e].charCodeAt(0)&&(r[n[136][e]]=34816+e,t[34816+e]=n[136][e]);for(n[137]=\"�����������������������������������������������������������������덦덨덪덬덭덯덲덳덵덶덷덹덺덻덼덽덾덿뎂뎆뎇뎈뎉뎊뎋뎍������뎎뎏뎑뎒뎓뎕뎖뎗뎘뎙뎚뎛뎜뎝뎞뎟뎢뎣뎤뎥뎦뎧뎩뎪뎫뎭������뎮뎯뎰뎱뎲뎳뎴뎵뎶뎷뎸뎹뎺뎻뎼뎽뎾뎿돀돁돂돃돆돇돉돊돍돏돑돒돓돖돘돚돜돞돟돡돢돣돥돦돧돩돪돫돬돭돮돯돰돱돲돳돴돵돶돷돸돹돺돻돽돾돿됀됁됂됃됄됅됆됇됈됉됊됋됌됍됎됏됑됒됓됔됕됖됗됙됚됛됝됞됟됡됢됣됤됥됦됧됪됬됭됮됯됰됱됲됳됵됶됷됸됹됺됻됼됽됾됿둀둁둂둃둄�\".split(\"\"),e=0;e!=n[137].length;++e)65533!==n[137][e].charCodeAt(0)&&(r[n[137][e]]=35072+e,t[35072+e]=n[137][e]);for(n[138]=\"�����������������������������������������������������������������둅둆둇둈둉둊둋둌둍둎둏둒둓둕둖둗둙둚둛둜둝둞둟둢둤둦������둧둨둩둪둫둭둮둯둰둱둲둳둴둵둶둷둸둹둺둻둼둽둾둿뒁뒂������뒃뒄뒅뒆뒇뒉뒊뒋뒌뒍뒎뒏뒐뒑뒒뒓뒔뒕뒖뒗뒘뒙뒚뒛뒜뒞뒟뒠뒡뒢뒣뒥뒦뒧뒩뒪뒫뒭뒮뒯뒰뒱뒲뒳뒴뒶뒸뒺뒻뒼뒽뒾뒿듁듂듃듅듆듇듉듊듋듌듍듎듏듑듒듓듔듖듗듘듙듚듛듞듟듡듢듥듧듨듩듪듫듮듰듲듳듴듵듶듷듹듺듻듼듽듾듿딀딁딂딃딄딅딆딇딈딉딊딋딌딍딎딏딐딑딒딓딖딗딙딚딝�\".split(\"\"),e=0;e!=n[138].length;++e)65533!==n[138][e].charCodeAt(0)&&(r[n[138][e]]=35328+e,t[35328+e]=n[138][e]);for(n[139]=\"�����������������������������������������������������������������딞딟딠딡딢딣딦딫딬딭딮딯딲딳딵딶딷딹딺딻딼딽딾딿땂땆������땇땈땉땊땎땏땑땒땓땕땖땗땘땙땚땛땞땢땣땤땥땦땧땨땩땪������땫땬땭땮땯땰땱땲땳땴땵땶땷땸땹땺땻땼땽땾땿떀떁떂떃떄떅떆떇떈떉떊떋떌떍떎떏떐떑떒떓떔떕떖떗떘떙떚떛떜떝떞떟떢떣떥떦떧떩떬떭떮떯떲떶떷떸떹떺떾떿뗁뗂뗃뗅뗆뗇뗈뗉뗊뗋뗎뗒뗓뗔뗕뗖뗗뗙뗚뗛뗜뗝뗞뗟뗠뗡뗢뗣뗤뗥뗦뗧뗨뗩뗪뗫뗭뗮뗯뗰뗱뗲뗳뗴뗵뗶뗷뗸뗹뗺뗻뗼뗽뗾뗿�\".split(\"\"),e=0;e!=n[139].length;++e)65533!==n[139][e].charCodeAt(0)&&(r[n[139][e]]=35584+e,t[35584+e]=n[139][e]);for(n[140]=\"�����������������������������������������������������������������똀똁똂똃똄똅똆똇똈똉똊똋똌똍똎똏똒똓똕똖똗똙똚똛똜똝������똞똟똠똡똢똣똤똦똧똨똩똪똫똭똮똯똰똱똲똳똵똶똷똸똹똺������똻똼똽똾똿뙀뙁뙂뙃뙄뙅뙆뙇뙉뙊뙋뙌뙍뙎뙏뙐뙑뙒뙓뙔뙕뙖뙗뙘뙙뙚뙛뙜뙝뙞뙟뙠뙡뙢뙣뙥뙦뙧뙩뙪뙫뙬뙭뙮뙯뙰뙱뙲뙳뙴뙵뙶뙷뙸뙹뙺뙻뙼뙽뙾뙿뚀뚁뚂뚃뚄뚅뚆뚇뚈뚉뚊뚋뚌뚍뚎뚏뚐뚑뚒뚓뚔뚕뚖뚗뚘뚙뚚뚛뚞뚟뚡뚢뚣뚥뚦뚧뚨뚩뚪뚭뚮뚯뚰뚲뚳뚴뚵뚶뚷뚸뚹뚺뚻뚼뚽뚾뚿뛀뛁뛂�\".split(\"\"),e=0;e!=n[140].length;++e)65533!==n[140][e].charCodeAt(0)&&(r[n[140][e]]=35840+e,t[35840+e]=n[140][e]);for(n[141]=\"�����������������������������������������������������������������뛃뛄뛅뛆뛇뛈뛉뛊뛋뛌뛍뛎뛏뛐뛑뛒뛓뛕뛖뛗뛘뛙뛚뛛뛜뛝������뛞뛟뛠뛡뛢뛣뛤뛥뛦뛧뛨뛩뛪뛫뛬뛭뛮뛯뛱뛲뛳뛵뛶뛷뛹뛺������뛻뛼뛽뛾뛿뜂뜃뜄뜆뜇뜈뜉뜊뜋뜌뜍뜎뜏뜐뜑뜒뜓뜔뜕뜖뜗뜘뜙뜚뜛뜜뜝뜞뜟뜠뜡뜢뜣뜤뜥뜦뜧뜪뜫뜭뜮뜱뜲뜳뜴뜵뜶뜷뜺뜼뜽뜾뜿띀띁띂띃띅띆띇띉띊띋띍띎띏띐띑띒띓띖띗띘띙띚띛띜띝띞띟띡띢띣띥띦띧띩띪띫띬띭띮띯띲띴띶띷띸띹띺띻띾띿랁랂랃랅랆랇랈랉랊랋랎랓랔랕랚랛랝랞�\".split(\"\"),e=0;e!=n[141].length;++e)65533!==n[141][e].charCodeAt(0)&&(r[n[141][e]]=36096+e,t[36096+e]=n[141][e]);for(n[142]=\"�����������������������������������������������������������������랟랡랢랣랤랥랦랧랪랮랯랰랱랲랳랶랷랹랺랻랼랽랾랿럀럁������럂럃럄럅럆럈럊럋럌럍럎럏럐럑럒럓럔럕럖럗럘럙럚럛럜럝������럞럟럠럡럢럣럤럥럦럧럨럩럪럫럮럯럱럲럳럵럶럷럸럹럺럻럾렂렃렄렅렆렊렋렍렎렏렑렒렓렔렕렖렗렚렜렞렟렠렡렢렣렦렧렩렪렫렭렮렯렰렱렲렳렶렺렻렼렽렾렿롁롂롃롅롆롇롈롉롊롋롌롍롎롏롐롒롔롕롖롗롘롙롚롛롞롟롡롢롣롥롦롧롨롩롪롫롮롰롲롳롴롵롶롷롹롺롻롽롾롿뢀뢁뢂뢃뢄�\".split(\"\"),e=0;e!=n[142].length;++e)65533!==n[142][e].charCodeAt(0)&&(r[n[142][e]]=36352+e,t[36352+e]=n[142][e]);for(n[143]=\"�����������������������������������������������������������������뢅뢆뢇뢈뢉뢊뢋뢌뢎뢏뢐뢑뢒뢓뢔뢕뢖뢗뢘뢙뢚뢛뢜뢝뢞뢟������뢠뢡뢢뢣뢤뢥뢦뢧뢩뢪뢫뢬뢭뢮뢯뢱뢲뢳뢵뢶뢷뢹뢺뢻뢼뢽������뢾뢿룂룄룆룇룈룉룊룋룍룎룏룑룒룓룕룖룗룘룙룚룛룜룞룠룢룣룤룥룦룧룪룫룭룮룯룱룲룳룴룵룶룷룺룼룾룿뤀뤁뤂뤃뤅뤆뤇뤈뤉뤊뤋뤌뤍뤎뤏뤐뤑뤒뤓뤔뤕뤖뤗뤙뤚뤛뤜뤝뤞뤟뤡뤢뤣뤤뤥뤦뤧뤨뤩뤪뤫뤬뤭뤮뤯뤰뤱뤲뤳뤴뤵뤶뤷뤸뤹뤺뤻뤾뤿륁륂륃륅륆륇륈륉륊륋륍륎륐륒륓륔륕륖륗�\".split(\"\"),e=0;e!=n[143].length;++e)65533!==n[143][e].charCodeAt(0)&&(r[n[143][e]]=36608+e,t[36608+e]=n[143][e]);for(n[144]=\"�����������������������������������������������������������������륚륛륝륞륟륡륢륣륤륥륦륧륪륬륮륯륰륱륲륳륶륷륹륺륻륽������륾륿릀릁릂릃릆릈릋릌릏릐릑릒릓릔릕릖릗릘릙릚릛릜릝릞������릟릠릡릢릣릤릥릦릧릨릩릪릫릮릯릱릲릳릵릶릷릸릹릺릻릾맀맂맃맄맅맆맇맊맋맍맓맔맕맖맗맚맜맟맠맢맦맧맩맪맫맭맮맯맰맱맲맳맶맻맼맽맾맿먂먃먄먅먆먇먉먊먋먌먍먎먏먐먑먒먓먔먖먗먘먙먚먛먜먝먞먟먠먡먢먣먤먥먦먧먨먩먪먫먬먭먮먯먰먱먲먳먴먵먶먷먺먻먽먾먿멁멃멄멅멆�\".split(\"\"),e=0;e!=n[144].length;++e)65533!==n[144][e].charCodeAt(0)&&(r[n[144][e]]=36864+e,t[36864+e]=n[144][e]);for(n[145]=\"�����������������������������������������������������������������멇멊멌멏멐멑멒멖멗멙멚멛멝멞멟멠멡멢멣멦멪멫멬멭멮멯������멲멳멵멶멷멹멺멻멼멽멾멿몀몁몂몆몈몉몊몋몍몎몏몐몑몒������몓몔몕몖몗몘몙몚몛몜몝몞몟몠몡몢몣몤몥몦몧몪몭몮몯몱몳몴몵몶몷몺몼몾몿뫀뫁뫂뫃뫅뫆뫇뫉뫊뫋뫌뫍뫎뫏뫐뫑뫒뫓뫔뫕뫖뫗뫚뫛뫜뫝뫞뫟뫠뫡뫢뫣뫤뫥뫦뫧뫨뫩뫪뫫뫬뫭뫮뫯뫰뫱뫲뫳뫴뫵뫶뫷뫸뫹뫺뫻뫽뫾뫿묁묂묃묅묆묇묈묉묊묋묌묎묐묒묓묔묕묖묗묙묚묛묝묞묟묡묢묣묤묥묦묧�\".split(\"\"),e=0;e!=n[145].length;++e)65533!==n[145][e].charCodeAt(0)&&(r[n[145][e]]=37120+e,t[37120+e]=n[145][e]);for(n[146]=\"�����������������������������������������������������������������묨묪묬묭묮묯묰묱묲묳묷묹묺묿뭀뭁뭂뭃뭆뭈뭊뭋뭌뭎뭑뭒������뭓뭕뭖뭗뭙뭚뭛뭜뭝뭞뭟뭠뭢뭤뭥뭦뭧뭨뭩뭪뭫뭭뭮뭯뭰뭱������뭲뭳뭴뭵뭶뭷뭸뭹뭺뭻뭼뭽뭾뭿뮀뮁뮂뮃뮄뮅뮆뮇뮉뮊뮋뮍뮎뮏뮑뮒뮓뮔뮕뮖뮗뮘뮙뮚뮛뮜뮝뮞뮟뮠뮡뮢뮣뮥뮦뮧뮩뮪뮫뮭뮮뮯뮰뮱뮲뮳뮵뮶뮸뮹뮺뮻뮼뮽뮾뮿믁믂믃믅믆믇믉믊믋믌믍믎믏믑믒믔믕믖믗믘믙믚믛믜믝믞믟믠믡믢믣믤믥믦믧믨믩믪믫믬믭믮믯믰믱믲믳믴믵믶믷믺믻믽믾밁�\".split(\"\"),e=0;e!=n[146].length;++e)65533!==n[146][e].charCodeAt(0)&&(r[n[146][e]]=37376+e,t[37376+e]=n[146][e]);for(n[147]=\"�����������������������������������������������������������������밃밄밅밆밇밊밎밐밒밓밙밚밠밡밢밣밦밨밪밫밬밮밯밲밳밵������밶밷밹밺밻밼밽밾밿뱂뱆뱇뱈뱊뱋뱎뱏뱑뱒뱓뱔뱕뱖뱗뱘뱙������뱚뱛뱜뱞뱟뱠뱡뱢뱣뱤뱥뱦뱧뱨뱩뱪뱫뱬뱭뱮뱯뱰뱱뱲뱳뱴뱵뱶뱷뱸뱹뱺뱻뱼뱽뱾뱿벀벁벂벃벆벇벉벊벍벏벐벑벒벓벖벘벛벜벝벞벟벢벣벥벦벩벪벫벬벭벮벯벲벶벷벸벹벺벻벾벿볁볂볃볅볆볇볈볉볊볋볌볎볒볓볔볖볗볙볚볛볝볞볟볠볡볢볣볤볥볦볧볨볩볪볫볬볭볮볯볰볱볲볳볷볹볺볻볽�\".split(\"\"),e=0;e!=n[147].length;++e)65533!==n[147][e].charCodeAt(0)&&(r[n[147][e]]=37632+e,t[37632+e]=n[147][e]);for(n[148]=\"�����������������������������������������������������������������볾볿봀봁봂봃봆봈봊봋봌봍봎봏봑봒봓봕봖봗봘봙봚봛봜봝������봞봟봠봡봢봣봥봦봧봨봩봪봫봭봮봯봰봱봲봳봴봵봶봷봸봹������봺봻봼봽봾봿뵁뵂뵃뵄뵅뵆뵇뵊뵋뵍뵎뵏뵑뵒뵓뵔뵕뵖뵗뵚뵛뵜뵝뵞뵟뵠뵡뵢뵣뵥뵦뵧뵩뵪뵫뵬뵭뵮뵯뵰뵱뵲뵳뵴뵵뵶뵷뵸뵹뵺뵻뵼뵽뵾뵿붂붃붅붆붋붌붍붎붏붒붔붖붗붘붛붝붞붟붠붡붢붣붥붦붧붨붩붪붫붬붭붮붯붱붲붳붴붵붶붷붹붺붻붼붽붾붿뷀뷁뷂뷃뷄뷅뷆뷇뷈뷉뷊뷋뷌뷍뷎뷏뷐뷑�\".split(\"\"),e=0;e!=n[148].length;++e)65533!==n[148][e].charCodeAt(0)&&(r[n[148][e]]=37888+e,t[37888+e]=n[148][e]);for(n[149]=\"�����������������������������������������������������������������뷒뷓뷖뷗뷙뷚뷛뷝뷞뷟뷠뷡뷢뷣뷤뷥뷦뷧뷨뷪뷫뷬뷭뷮뷯뷱������뷲뷳뷵뷶뷷뷹뷺뷻뷼뷽뷾뷿븁븂븄븆븇븈븉븊븋븎븏븑븒븓������븕븖븗븘븙븚븛븞븠븡븢븣븤븥븦븧븨븩븪븫븬븭븮븯븰븱븲븳븴븵븶븷븸븹븺븻븼븽븾븿빀빁빂빃빆빇빉빊빋빍빏빐빑빒빓빖빘빜빝빞빟빢빣빥빦빧빩빫빬빭빮빯빲빶빷빸빹빺빾빿뺁뺂뺃뺅뺆뺇뺈뺉뺊뺋뺎뺒뺓뺔뺕뺖뺗뺚뺛뺜뺝뺞뺟뺠뺡뺢뺣뺤뺥뺦뺧뺩뺪뺫뺬뺭뺮뺯뺰뺱뺲뺳뺴뺵뺶뺷�\".split(\"\"),e=0;e!=n[149].length;++e)65533!==n[149][e].charCodeAt(0)&&(r[n[149][e]]=38144+e,t[38144+e]=n[149][e]);for(n[150]=\"�����������������������������������������������������������������뺸뺹뺺뺻뺼뺽뺾뺿뻀뻁뻂뻃뻄뻅뻆뻇뻈뻉뻊뻋뻌뻍뻎뻏뻒뻓������뻕뻖뻙뻚뻛뻜뻝뻞뻟뻡뻢뻦뻧뻨뻩뻪뻫뻭뻮뻯뻰뻱뻲뻳뻴뻵������뻶뻷뻸뻹뻺뻻뻼뻽뻾뻿뼀뼂뼃뼄뼅뼆뼇뼊뼋뼌뼍뼎뼏뼐뼑뼒뼓뼔뼕뼖뼗뼚뼞뼟뼠뼡뼢뼣뼤뼥뼦뼧뼨뼩뼪뼫뼬뼭뼮뼯뼰뼱뼲뼳뼴뼵뼶뼷뼸뼹뼺뼻뼼뼽뼾뼿뽂뽃뽅뽆뽇뽉뽊뽋뽌뽍뽎뽏뽒뽓뽔뽖뽗뽘뽙뽚뽛뽜뽝뽞뽟뽠뽡뽢뽣뽤뽥뽦뽧뽨뽩뽪뽫뽬뽭뽮뽯뽰뽱뽲뽳뽴뽵뽶뽷뽸뽹뽺뽻뽼뽽뽾뽿뾀뾁뾂�\".split(\"\"),e=0;e!=n[150].length;++e)65533!==n[150][e].charCodeAt(0)&&(r[n[150][e]]=38400+e,t[38400+e]=n[150][e]);for(n[151]=\"�����������������������������������������������������������������뾃뾄뾅뾆뾇뾈뾉뾊뾋뾌뾍뾎뾏뾐뾑뾒뾓뾕뾖뾗뾘뾙뾚뾛뾜뾝������뾞뾟뾠뾡뾢뾣뾤뾥뾦뾧뾨뾩뾪뾫뾬뾭뾮뾯뾱뾲뾳뾴뾵뾶뾷뾸������뾹뾺뾻뾼뾽뾾뾿뿀뿁뿂뿃뿄뿆뿇뿈뿉뿊뿋뿎뿏뿑뿒뿓뿕뿖뿗뿘뿙뿚뿛뿝뿞뿠뿢뿣뿤뿥뿦뿧뿨뿩뿪뿫뿬뿭뿮뿯뿰뿱뿲뿳뿴뿵뿶뿷뿸뿹뿺뿻뿼뿽뿾뿿쀀쀁쀂쀃쀄쀅쀆쀇쀈쀉쀊쀋쀌쀍쀎쀏쀐쀑쀒쀓쀔쀕쀖쀗쀘쀙쀚쀛쀜쀝쀞쀟쀠쀡쀢쀣쀤쀥쀦쀧쀨쀩쀪쀫쀬쀭쀮쀯쀰쀱쀲쀳쀴쀵쀶쀷쀸쀹쀺쀻쀽쀾쀿�\".split(\"\"),e=0;e!=n[151].length;++e)65533!==n[151][e].charCodeAt(0)&&(r[n[151][e]]=38656+e,t[38656+e]=n[151][e]);for(n[152]=\"�����������������������������������������������������������������쁀쁁쁂쁃쁄쁅쁆쁇쁈쁉쁊쁋쁌쁍쁎쁏쁐쁒쁓쁔쁕쁖쁗쁙쁚쁛������쁝쁞쁟쁡쁢쁣쁤쁥쁦쁧쁪쁫쁬쁭쁮쁯쁰쁱쁲쁳쁴쁵쁶쁷쁸쁹������쁺쁻쁼쁽쁾쁿삀삁삂삃삄삅삆삇삈삉삊삋삌삍삎삏삒삓삕삖삗삙삚삛삜삝삞삟삢삤삦삧삨삩삪삫삮삱삲삷삸삹삺삻삾샂샃샄샆샇샊샋샍샎샏샑샒샓샔샕샖샗샚샞샟샠샡샢샣샦샧샩샪샫샭샮샯샰샱샲샳샶샸샺샻샼샽샾샿섁섂섃섅섆섇섉섊섋섌섍섎섏섑섒섓섔섖섗섘섙섚섛섡섢섥섨섩섪섫섮�\".split(\"\"),e=0;e!=n[152].length;++e)65533!==n[152][e].charCodeAt(0)&&(r[n[152][e]]=38912+e,t[38912+e]=n[152][e]);for(n[153]=\"�����������������������������������������������������������������섲섳섴섵섷섺섻섽섾섿셁셂셃셄셅셆셇셊셎셏셐셑셒셓셖셗������셙셚셛셝셞셟셠셡셢셣셦셪셫셬셭셮셯셱셲셳셵셶셷셹셺셻������셼셽셾셿솀솁솂솃솄솆솇솈솉솊솋솏솑솒솓솕솗솘솙솚솛솞솠솢솣솤솦솧솪솫솭솮솯솱솲솳솴솵솶솷솸솹솺솻솼솾솿쇀쇁쇂쇃쇅쇆쇇쇉쇊쇋쇍쇎쇏쇐쇑쇒쇓쇕쇖쇙쇚쇛쇜쇝쇞쇟쇡쇢쇣쇥쇦쇧쇩쇪쇫쇬쇭쇮쇯쇲쇴쇵쇶쇷쇸쇹쇺쇻쇾쇿숁숂숃숅숆숇숈숉숊숋숎숐숒숓숔숕숖숗숚숛숝숞숡숢숣�\".split(\"\"),e=0;e!=n[153].length;++e)65533!==n[153][e].charCodeAt(0)&&(r[n[153][e]]=39168+e,t[39168+e]=n[153][e]);for(n[154]=\"�����������������������������������������������������������������숤숥숦숧숪숬숮숰숳숵숶숷숸숹숺숻숼숽숾숿쉀쉁쉂쉃쉄쉅������쉆쉇쉉쉊쉋쉌쉍쉎쉏쉒쉓쉕쉖쉗쉙쉚쉛쉜쉝쉞쉟쉡쉢쉣쉤쉦������쉧쉨쉩쉪쉫쉮쉯쉱쉲쉳쉵쉶쉷쉸쉹쉺쉻쉾슀슂슃슄슅슆슇슊슋슌슍슎슏슑슒슓슔슕슖슗슙슚슜슞슟슠슡슢슣슦슧슩슪슫슮슯슰슱슲슳슶슸슺슻슼슽슾슿싀싁싂싃싄싅싆싇싈싉싊싋싌싍싎싏싐싑싒싓싔싕싖싗싘싙싚싛싞싟싡싢싥싦싧싨싩싪싮싰싲싳싴싵싷싺싽싾싿쌁쌂쌃쌄쌅쌆쌇쌊쌋쌎쌏�\".split(\"\"),e=0;e!=n[154].length;++e)65533!==n[154][e].charCodeAt(0)&&(r[n[154][e]]=39424+e,t[39424+e]=n[154][e]);for(n[155]=\"�����������������������������������������������������������������쌐쌑쌒쌖쌗쌙쌚쌛쌝쌞쌟쌠쌡쌢쌣쌦쌧쌪쌫쌬쌭쌮쌯쌰쌱쌲������쌳쌴쌵쌶쌷쌸쌹쌺쌻쌼쌽쌾쌿썀썁썂썃썄썆썇썈썉썊썋썌썍������썎썏썐썑썒썓썔썕썖썗썘썙썚썛썜썝썞썟썠썡썢썣썤썥썦썧썪썫썭썮썯썱썳썴썵썶썷썺썻썾썿쎀쎁쎂쎃쎅쎆쎇쎉쎊쎋쎍쎎쎏쎐쎑쎒쎓쎔쎕쎖쎗쎘쎙쎚쎛쎜쎝쎞쎟쎠쎡쎢쎣쎤쎥쎦쎧쎨쎩쎪쎫쎬쎭쎮쎯쎰쎱쎲쎳쎴쎵쎶쎷쎸쎹쎺쎻쎼쎽쎾쎿쏁쏂쏃쏄쏅쏆쏇쏈쏉쏊쏋쏌쏍쏎쏏쏐쏑쏒쏓쏔쏕쏖쏗쏚�\".split(\"\"),e=0;e!=n[155].length;++e)65533!==n[155][e].charCodeAt(0)&&(r[n[155][e]]=39680+e,t[39680+e]=n[155][e]);for(n[156]=\"�����������������������������������������������������������������쏛쏝쏞쏡쏣쏤쏥쏦쏧쏪쏫쏬쏮쏯쏰쏱쏲쏳쏶쏷쏹쏺쏻쏼쏽쏾������쏿쐀쐁쐂쐃쐄쐅쐆쐇쐉쐊쐋쐌쐍쐎쐏쐑쐒쐓쐔쐕쐖쐗쐘쐙쐚������쐛쐜쐝쐞쐟쐠쐡쐢쐣쐥쐦쐧쐨쐩쐪쐫쐭쐮쐯쐱쐲쐳쐵쐶쐷쐸쐹쐺쐻쐾쐿쑀쑁쑂쑃쑄쑅쑆쑇쑉쑊쑋쑌쑍쑎쑏쑐쑑쑒쑓쑔쑕쑖쑗쑘쑙쑚쑛쑜쑝쑞쑟쑠쑡쑢쑣쑦쑧쑩쑪쑫쑭쑮쑯쑰쑱쑲쑳쑶쑷쑸쑺쑻쑼쑽쑾쑿쒁쒂쒃쒄쒅쒆쒇쒈쒉쒊쒋쒌쒍쒎쒏쒐쒑쒒쒓쒕쒖쒗쒘쒙쒚쒛쒝쒞쒟쒠쒡쒢쒣쒤쒥쒦쒧쒨쒩�\".split(\"\"),e=0;e!=n[156].length;++e)65533!==n[156][e].charCodeAt(0)&&(r[n[156][e]]=39936+e,t[39936+e]=n[156][e]);for(n[157]=\"�����������������������������������������������������������������쒪쒫쒬쒭쒮쒯쒰쒱쒲쒳쒴쒵쒶쒷쒹쒺쒻쒽쒾쒿쓀쓁쓂쓃쓄쓅������쓆쓇쓈쓉쓊쓋쓌쓍쓎쓏쓐쓑쓒쓓쓔쓕쓖쓗쓘쓙쓚쓛쓜쓝쓞쓟������쓠쓡쓢쓣쓤쓥쓦쓧쓨쓪쓫쓬쓭쓮쓯쓲쓳쓵쓶쓷쓹쓻쓼쓽쓾씂씃씄씅씆씇씈씉씊씋씍씎씏씑씒씓씕씖씗씘씙씚씛씝씞씟씠씡씢씣씤씥씦씧씪씫씭씮씯씱씲씳씴씵씶씷씺씼씾씿앀앁앂앃앆앇앋앏앐앑앒앖앚앛앜앟앢앣앥앦앧앩앪앫앬앭앮앯앲앶앷앸앹앺앻앾앿얁얂얃얅얆얈얉얊얋얎얐얒얓얔�\".split(\"\"),e=0;e!=n[157].length;++e)65533!==n[157][e].charCodeAt(0)&&(r[n[157][e]]=40192+e,t[40192+e]=n[157][e]);for(n[158]=\"�����������������������������������������������������������������얖얙얚얛얝얞얟얡얢얣얤얥얦얧얨얪얫얬얭얮얯얰얱얲얳얶������얷얺얿엀엁엂엃엋엍엏엒엓엕엖엗엙엚엛엜엝엞엟엢엤엦엧������엨엩엪엫엯엱엲엳엵엸엹엺엻옂옃옄옉옊옋옍옎옏옑옒옓옔옕옖옗옚옝옞옟옠옡옢옣옦옧옩옪옫옯옱옲옶옸옺옼옽옾옿왂왃왅왆왇왉왊왋왌왍왎왏왒왖왗왘왙왚왛왞왟왡왢왣왤왥왦왧왨왩왪왫왭왮왰왲왳왴왵왶왷왺왻왽왾왿욁욂욃욄욅욆욇욊욌욎욏욐욑욒욓욖욗욙욚욛욝욞욟욠욡욢욣욦�\".split(\"\"),e=0;e!=n[158].length;++e)65533!==n[158][e].charCodeAt(0)&&(r[n[158][e]]=40448+e,t[40448+e]=n[158][e]);for(n[159]=\"�����������������������������������������������������������������욨욪욫욬욭욮욯욲욳욵욶욷욻욼욽욾욿웂웄웆웇웈웉웊웋웎������웏웑웒웓웕웖웗웘웙웚웛웞웟웢웣웤웥웦웧웪웫웭웮웯웱웲������웳웴웵웶웷웺웻웼웾웿윀윁윂윃윆윇윉윊윋윍윎윏윐윑윒윓윖윘윚윛윜윝윞윟윢윣윥윦윧윩윪윫윬윭윮윯윲윴윶윸윹윺윻윾윿읁읂읃읅읆읇읈읉읋읎읐읙읚읛읝읞읟읡읢읣읤읥읦읧읩읪읬읭읮읯읰읱읲읳읶읷읹읺읻읿잀잁잂잆잋잌잍잏잒잓잕잙잛잜잝잞잟잢잧잨잩잪잫잮잯잱잲잳잵잶잷�\".split(\"\"),e=0;e!=n[159].length;++e)65533!==n[159][e].charCodeAt(0)&&(r[n[159][e]]=40704+e,t[40704+e]=n[159][e]);for(n[160]=\"�����������������������������������������������������������������잸잹잺잻잾쟂쟃쟄쟅쟆쟇쟊쟋쟍쟏쟑쟒쟓쟔쟕쟖쟗쟙쟚쟛쟜������쟞쟟쟠쟡쟢쟣쟥쟦쟧쟩쟪쟫쟭쟮쟯쟰쟱쟲쟳쟴쟵쟶쟷쟸쟹쟺������쟻쟼쟽쟾쟿젂젃젅젆젇젉젋젌젍젎젏젒젔젗젘젙젚젛젞젟젡젢젣젥젦젧젨젩젪젫젮젰젲젳젴젵젶젷젹젺젻젽젾젿졁졂졃졄졅졆졇졊졋졎졏졐졑졒졓졕졖졗졘졙졚졛졜졝졞졟졠졡졢졣졤졥졦졧졨졩졪졫졬졭졮졯졲졳졵졶졷졹졻졼졽졾졿좂좄좈좉좊좎좏좐좑좒좓좕좖좗좘좙좚좛좜좞좠좢좣좤�\".split(\"\"),e=0;e!=n[160].length;++e)65533!==n[160][e].charCodeAt(0)&&(r[n[160][e]]=40960+e,t[40960+e]=n[160][e]);for(n[161]=\"�����������������������������������������������������������������좥좦좧좩좪좫좬좭좮좯좰좱좲좳좴좵좶좷좸좹좺좻좾좿죀죁������죂죃죅죆죇죉죊죋죍죎죏죐죑죒죓죖죘죚죛죜죝죞죟죢죣죥������죦죧죨죩죪죫죬죭죮죯죰죱죲죳죴죶죷죸죹죺죻죾죿줁줂줃줇줈줉줊줋줎　、。·‥…¨〃­―∥＼∼‘’“”〔〕〈〉《》「」『』【】±×÷≠≤≥∞∴°′″℃Å￠￡￥♂♀∠⊥⌒∂∇≡≒§※☆★○●◎◇◆□■△▲▽▼→←↑↓↔〓≪≫√∽∝∵∫∬∈∋⊆⊇⊂⊃∪∩∧∨￢�\".split(\"\"),e=0;e!=n[161].length;++e)65533!==n[161][e].charCodeAt(0)&&(r[n[161][e]]=41216+e,t[41216+e]=n[161][e]);for(n[162]=\"�����������������������������������������������������������������줐줒줓줔줕줖줗줙줚줛줜줝줞줟줠줡줢줣줤줥줦줧줨줩줪줫������줭줮줯줰줱줲줳줵줶줷줸줹줺줻줼줽줾줿쥀쥁쥂쥃쥄쥅쥆쥇������쥈쥉쥊쥋쥌쥍쥎쥏쥒쥓쥕쥖쥗쥙쥚쥛쥜쥝쥞쥟쥢쥤쥥쥦쥧쥨쥩쥪쥫쥭쥮쥯⇒⇔∀∃´～ˇ˘˝˚˙¸˛¡¿ː∮∑∏¤℉‰◁◀▷▶♤♠♡♥♧♣⊙◈▣◐◑▒▤▥▨▧▦▩♨☏☎☜☞¶†‡↕↗↙↖↘♭♩♪♬㉿㈜№㏇™㏂㏘℡€®������������������������\".split(\"\"),e=0;e!=n[162].length;++e)65533!==n[162][e].charCodeAt(0)&&(r[n[162][e]]=41472+e,t[41472+e]=n[162][e]);for(n[163]=\"�����������������������������������������������������������������쥱쥲쥳쥵쥶쥷쥸쥹쥺쥻쥽쥾쥿즀즁즂즃즄즅즆즇즊즋즍즎즏������즑즒즓즔즕즖즗즚즜즞즟즠즡즢즣즤즥즦즧즨즩즪즫즬즭즮������즯즰즱즲즳즴즵즶즷즸즹즺즻즼즽즾즿짂짃짅짆짉짋짌짍짎짏짒짔짗짘짛！＂＃＄％＆＇（）＊＋，－．／０１２３４５６７８９：；＜＝＞？＠ＡＢＣＤＥＦＧＨＩＪＫＬＭＮＯＰＱＲＳＴＵＶＷＸＹＺ［￦］＾＿｀ａｂｃｄｅｆｇｈｉｊｋｌｍｎｏｐｑｒｓｔｕｖｗｘｙｚ｛｜｝￣�\".split(\"\"),e=0;e!=n[163].length;++e)65533!==n[163][e].charCodeAt(0)&&(r[n[163][e]]=41728+e,t[41728+e]=n[163][e]);for(n[164]=\"�����������������������������������������������������������������짞짟짡짣짥짦짨짩짪짫짮짲짳짴짵짶짷짺짻짽짾짿쨁쨂쨃쨄������쨅쨆쨇쨊쨎쨏쨐쨑쨒쨓쨕쨖쨗쨙쨚쨛쨜쨝쨞쨟쨠쨡쨢쨣쨤쨥������쨦쨧쨨쨪쨫쨬쨭쨮쨯쨰쨱쨲쨳쨴쨵쨶쨷쨸쨹쨺쨻쨼쨽쨾쨿쩀쩁쩂쩃쩄쩅쩆ㄱㄲㄳㄴㄵㄶㄷㄸㄹㄺㄻㄼㄽㄾㄿㅀㅁㅂㅃㅄㅅㅆㅇㅈㅉㅊㅋㅌㅍㅎㅏㅐㅑㅒㅓㅔㅕㅖㅗㅘㅙㅚㅛㅜㅝㅞㅟㅠㅡㅢㅣㅤㅥㅦㅧㅨㅩㅪㅫㅬㅭㅮㅯㅰㅱㅲㅳㅴㅵㅶㅷㅸㅹㅺㅻㅼㅽㅾㅿㆀㆁㆂㆃㆄㆅㆆㆇㆈㆉㆊㆋㆌㆍㆎ�\".split(\"\"),e=0;e!=n[164].length;++e)65533!==n[164][e].charCodeAt(0)&&(r[n[164][e]]=41984+e,t[41984+e]=n[164][e]);for(n[165]=\"�����������������������������������������������������������������쩇쩈쩉쩊쩋쩎쩏쩑쩒쩓쩕쩖쩗쩘쩙쩚쩛쩞쩢쩣쩤쩥쩦쩧쩩쩪������쩫쩬쩭쩮쩯쩰쩱쩲쩳쩴쩵쩶쩷쩸쩹쩺쩻쩼쩾쩿쪀쪁쪂쪃쪅쪆������쪇쪈쪉쪊쪋쪌쪍쪎쪏쪐쪑쪒쪓쪔쪕쪖쪗쪙쪚쪛쪜쪝쪞쪟쪠쪡쪢쪣쪤쪥쪦쪧ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ�����ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ�������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω�������\".split(\"\"),e=0;e!=n[165].length;++e)65533!==n[165][e].charCodeAt(0)&&(r[n[165][e]]=42240+e,t[42240+e]=n[165][e]);for(n[166]=\"�����������������������������������������������������������������쪨쪩쪪쪫쪬쪭쪮쪯쪰쪱쪲쪳쪴쪵쪶쪷쪸쪹쪺쪻쪾쪿쫁쫂쫃쫅������쫆쫇쫈쫉쫊쫋쫎쫐쫒쫔쫕쫖쫗쫚쫛쫜쫝쫞쫟쫡쫢쫣쫤쫥쫦쫧������쫨쫩쫪쫫쫭쫮쫯쫰쫱쫲쫳쫵쫶쫷쫸쫹쫺쫻쫼쫽쫾쫿쬀쬁쬂쬃쬄쬅쬆쬇쬉쬊─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂┒┑┚┙┖┕┎┍┞┟┡┢┦┧┩┪┭┮┱┲┵┶┹┺┽┾╀╁╃╄╅╆╇╈╉╊���������������������������\".split(\"\"),e=0;e!=n[166].length;++e)65533!==n[166][e].charCodeAt(0)&&(r[n[166][e]]=42496+e,t[42496+e]=n[166][e]);for(n[167]=\"�����������������������������������������������������������������쬋쬌쬍쬎쬏쬑쬒쬓쬕쬖쬗쬙쬚쬛쬜쬝쬞쬟쬢쬣쬤쬥쬦쬧쬨쬩������쬪쬫쬬쬭쬮쬯쬰쬱쬲쬳쬴쬵쬶쬷쬸쬹쬺쬻쬼쬽쬾쬿쭀쭂쭃쭄������쭅쭆쭇쭊쭋쭍쭎쭏쭑쭒쭓쭔쭕쭖쭗쭚쭛쭜쭞쭟쭠쭡쭢쭣쭥쭦쭧쭨쭩쭪쭫쭬㎕㎖㎗ℓ㎘㏄㎣㎤㎥㎦㎙㎚㎛㎜㎝㎞㎟㎠㎡㎢㏊㎍㎎㎏㏏㎈㎉㏈㎧㎨㎰㎱㎲㎳㎴㎵㎶㎷㎸㎹㎀㎁㎂㎃㎄㎺㎻㎼㎽㎾㎿㎐㎑㎒㎓㎔Ω㏀㏁㎊㎋㎌㏖㏅㎭㎮㎯㏛㎩㎪㎫㎬㏝㏐㏓㏃㏉㏜㏆����������������\".split(\"\"),e=0;e!=n[167].length;++e)65533!==n[167][e].charCodeAt(0)&&(r[n[167][e]]=42752+e,t[42752+e]=n[167][e]);for(n[168]=\"�����������������������������������������������������������������쭭쭮쭯쭰쭱쭲쭳쭴쭵쭶쭷쭺쭻쭼쭽쭾쭿쮀쮁쮂쮃쮄쮅쮆쮇쮈������쮉쮊쮋쮌쮍쮎쮏쮐쮑쮒쮓쮔쮕쮖쮗쮘쮙쮚쮛쮝쮞쮟쮠쮡쮢쮣������쮤쮥쮦쮧쮨쮩쮪쮫쮬쮭쮮쮯쮰쮱쮲쮳쮴쮵쮶쮷쮹쮺쮻쮼쮽쮾쮿쯀쯁쯂쯃쯄ÆÐªĦ�Ĳ�ĿŁØŒºÞŦŊ�㉠㉡㉢㉣㉤㉥㉦㉧㉨㉩㉪㉫㉬㉭㉮㉯㉰㉱㉲㉳㉴㉵㉶㉷㉸㉹㉺㉻ⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩ①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮½⅓⅔¼¾⅛⅜⅝⅞�\".split(\"\"),e=0;e!=n[168].length;++e)65533!==n[168][e].charCodeAt(0)&&(r[n[168][e]]=43008+e,t[43008+e]=n[168][e]);for(n[169]=\"�����������������������������������������������������������������쯅쯆쯇쯈쯉쯊쯋쯌쯍쯎쯏쯐쯑쯒쯓쯕쯖쯗쯘쯙쯚쯛쯜쯝쯞쯟������쯠쯡쯢쯣쯥쯦쯨쯪쯫쯬쯭쯮쯯쯰쯱쯲쯳쯴쯵쯶쯷쯸쯹쯺쯻쯼������쯽쯾쯿찀찁찂찃찄찅찆찇찈찉찊찋찎찏찑찒찓찕찖찗찘찙찚찛찞찟찠찣찤æđðħıĳĸŀłøœßþŧŋŉ㈀㈁㈂㈃㈄㈅㈆㈇㈈㈉㈊㈋㈌㈍㈎㈏㈐㈑㈒㈓㈔㈕㈖㈗㈘㈙㈚㈛⒜⒝⒞⒟⒠⒡⒢⒣⒤⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂¹²³⁴ⁿ₁₂₃₄�\".split(\"\"),e=0;e!=n[169].length;++e)65533!==n[169][e].charCodeAt(0)&&(r[n[169][e]]=43264+e,t[43264+e]=n[169][e]);for(n[170]=\"�����������������������������������������������������������������찥찦찪찫찭찯찱찲찳찴찵찶찷찺찿챀챁챂챃챆챇챉챊챋챍챎������챏챐챑챒챓챖챚챛챜챝챞챟챡챢챣챥챧챩챪챫챬챭챮챯챱챲������챳챴챶챷챸챹챺챻챼챽챾챿첀첁첂첃첄첅첆첇첈첉첊첋첌첍첎첏첐첑첒첓ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん������������\".split(\"\"),e=0;e!=n[170].length;++e)65533!==n[170][e].charCodeAt(0)&&(r[n[170][e]]=43520+e,t[43520+e]=n[170][e]);for(n[171]=\"�����������������������������������������������������������������첔첕첖첗첚첛첝첞첟첡첢첣첤첥첦첧첪첮첯첰첱첲첳첶첷첹������첺첻첽첾첿쳀쳁쳂쳃쳆쳈쳊쳋쳌쳍쳎쳏쳑쳒쳓쳕쳖쳗쳘쳙쳚������쳛쳜쳝쳞쳟쳠쳡쳢쳣쳥쳦쳧쳨쳩쳪쳫쳭쳮쳯쳱쳲쳳쳴쳵쳶쳷쳸쳹쳺쳻쳼쳽ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ���������\".split(\"\"),e=0;e!=n[171].length;++e)65533!==n[171][e].charCodeAt(0)&&(r[n[171][e]]=43776+e,t[43776+e]=n[171][e]);for(n[172]=\"�����������������������������������������������������������������쳾쳿촀촂촃촄촅촆촇촊촋촍촎촏촑촒촓촔촕촖촗촚촜촞촟촠������촡촢촣촥촦촧촩촪촫촭촮촯촰촱촲촳촴촵촶촷촸촺촻촼촽촾������촿쵀쵁쵂쵃쵄쵅쵆쵇쵈쵉쵊쵋쵌쵍쵎쵏쵐쵑쵒쵓쵔쵕쵖쵗쵘쵙쵚쵛쵝쵞쵟АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмнопрстуфхцчшщъыьэюя��������������\".split(\"\"),e=0;e!=n[172].length;++e)65533!==n[172][e].charCodeAt(0)&&(r[n[172][e]]=44032+e,t[44032+e]=n[172][e]);for(n[173]=\"�����������������������������������������������������������������쵡쵢쵣쵥쵦쵧쵨쵩쵪쵫쵮쵰쵲쵳쵴쵵쵶쵷쵹쵺쵻쵼쵽쵾쵿춀������춁춂춃춄춅춆춇춉춊춋춌춍춎춏춐춑춒춓춖춗춙춚춛춝춞춟������춠춡춢춣춦춨춪춫춬춭춮춯춱춲춳춴춵춶춷춸춹춺춻춼춽춾춿췀췁췂췃췅�����������������������������������������������������������������������������������������������\".split(\"\"),e=0;e!=n[173].length;++e)65533!==n[173][e].charCodeAt(0)&&(r[n[173][e]]=44288+e,t[44288+e]=n[173][e]);for(n[174]=\"�����������������������������������������������������������������췆췇췈췉췊췋췍췎췏췑췒췓췔췕췖췗췘췙췚췛췜췝췞췟췠췡������췢췣췤췥췦췧췩췪췫췭췮췯췱췲췳췴췵췶췷췺췼췾췿츀츁츂������츃츅츆츇츉츊츋츍츎츏츐츑츒츓츕츖츗츘츚츛츜츝츞츟츢츣츥츦츧츩츪츫�����������������������������������������������������������������������������������������������\".split(\"\"),e=0;e!=n[174].length;++e)65533!==n[174][e].charCodeAt(0)&&(r[n[174][e]]=44544+e,t[44544+e]=n[174][e]);for(n[175]=\"�����������������������������������������������������������������츬츭츮츯츲츴츶츷츸츹츺츻츼츽츾츿칀칁칂칃칄칅칆칇칈칉������칊칋칌칍칎칏칐칑칒칓칔칕칖칗칚칛칝칞칢칣칤칥칦칧칪칬������칮칯칰칱칲칳칶칷칹칺칻칽칾칿캀캁캂캃캆캈캊캋캌캍캎캏캒캓캕캖캗캙�����������������������������������������������������������������������������������������������\".split(\"\"),e=0;e!=n[175].length;++e)65533!==n[175][e].charCodeAt(0)&&(r[n[175][e]]=44800+e,t[44800+e]=n[175][e]);for(n[176]=\"�����������������������������������������������������������������캚캛캜캝캞캟캢캦캧캨캩캪캫캮캯캰캱캲캳캴캵캶캷캸캹캺������캻캼캽캾캿컀컂컃컄컅컆컇컈컉컊컋컌컍컎컏컐컑컒컓컔컕������컖컗컘컙컚컛컜컝컞컟컠컡컢컣컦컧컩컪컭컮컯컰컱컲컳컶컺컻컼컽컾컿가각간갇갈갉갊감갑값갓갔강갖갗같갚갛개객갠갤갬갭갯갰갱갸갹갼걀걋걍걔걘걜거걱건걷걸걺검겁것겄겅겆겉겊겋게겐겔겜겝겟겠겡겨격겪견겯결겸겹겻겼경곁계곈곌곕곗고곡곤곧골곪곬곯곰곱곳공곶과곽관괄괆�\".split(\"\"),e=0;e!=n[176].length;++e)65533!==n[176][e].charCodeAt(0)&&(r[n[176][e]]=45056+e,t[45056+e]=n[176][e]);for(n[177]=\"�����������������������������������������������������������������켂켃켅켆켇켉켊켋켌켍켎켏켒켔켖켗켘켙켚켛켝켞켟켡켢켣������켥켦켧켨켩켪켫켮켲켳켴켵켶켷켹켺켻켼켽켾켿콀콁콂콃콄������콅콆콇콈콉콊콋콌콍콎콏콐콑콒콓콖콗콙콚콛콝콞콟콠콡콢콣콦콨콪콫콬괌괍괏광괘괜괠괩괬괭괴괵괸괼굄굅굇굉교굔굘굡굣구국군굳굴굵굶굻굼굽굿궁궂궈궉권궐궜궝궤궷귀귁귄귈귐귑귓규균귤그극근귿글긁금급긋긍긔기긱긴긷길긺김깁깃깅깆깊까깍깎깐깔깖깜깝깟깠깡깥깨깩깬깰깸�\".split(\"\"),e=0;e!=n[177].length;++e)65533!==n[177][e].charCodeAt(0)&&(r[n[177][e]]=45312+e,t[45312+e]=n[177][e]);for(n[178]=\"�����������������������������������������������������������������콭콮콯콲콳콵콶콷콹콺콻콼콽콾콿쾁쾂쾃쾄쾆쾇쾈쾉쾊쾋쾍������쾎쾏쾐쾑쾒쾓쾔쾕쾖쾗쾘쾙쾚쾛쾜쾝쾞쾟쾠쾢쾣쾤쾥쾦쾧쾩������쾪쾫쾬쾭쾮쾯쾱쾲쾳쾴쾵쾶쾷쾸쾹쾺쾻쾼쾽쾾쾿쿀쿁쿂쿃쿅쿆쿇쿈쿉쿊쿋깹깻깼깽꺄꺅꺌꺼꺽꺾껀껄껌껍껏껐껑께껙껜껨껫껭껴껸껼꼇꼈꼍꼐꼬꼭꼰꼲꼴꼼꼽꼿꽁꽂꽃꽈꽉꽐꽜꽝꽤꽥꽹꾀꾄꾈꾐꾑꾕꾜꾸꾹꾼꿀꿇꿈꿉꿋꿍꿎꿔꿜꿨꿩꿰꿱꿴꿸뀀뀁뀄뀌뀐뀔뀜뀝뀨끄끅끈끊끌끎끓끔끕끗끙�\".split(\"\"),e=0;e!=n[178].length;++e)65533!==n[178][e].charCodeAt(0)&&(r[n[178][e]]=45568+e,t[45568+e]=n[178][e]);for(n[179]=\"�����������������������������������������������������������������쿌쿍쿎쿏쿐쿑쿒쿓쿔쿕쿖쿗쿘쿙쿚쿛쿜쿝쿞쿟쿢쿣쿥쿦쿧쿩������쿪쿫쿬쿭쿮쿯쿲쿴쿶쿷쿸쿹쿺쿻쿽쿾쿿퀁퀂퀃퀅퀆퀇퀈퀉퀊������퀋퀌퀍퀎퀏퀐퀒퀓퀔퀕퀖퀗퀙퀚퀛퀜퀝퀞퀟퀠퀡퀢퀣퀤퀥퀦퀧퀨퀩퀪퀫퀬끝끼끽낀낄낌낍낏낑나낙낚난낟날낡낢남납낫났낭낮낯낱낳내낵낸낼냄냅냇냈냉냐냑냔냘냠냥너넉넋넌널넒넓넘넙넛넜넝넣네넥넨넬넴넵넷넸넹녀녁년녈념녑녔녕녘녜녠노녹논놀놂놈놉놋농높놓놔놘놜놨뇌뇐뇔뇜뇝�\".split(\"\"),e=0;e!=n[179].length;++e)65533!==n[179][e].charCodeAt(0)&&(r[n[179][e]]=45824+e,t[45824+e]=n[179][e]);for(n[180]=\"�����������������������������������������������������������������퀮퀯퀰퀱퀲퀳퀶퀷퀹퀺퀻퀽퀾퀿큀큁큂큃큆큈큊큋큌큍큎큏������큑큒큓큕큖큗큙큚큛큜큝큞큟큡큢큣큤큥큦큧큨큩큪큫큮큯������큱큲큳큵큶큷큸큹큺큻큾큿킀킂킃킄킅킆킇킈킉킊킋킌킍킎킏킐킑킒킓킔뇟뇨뇩뇬뇰뇹뇻뇽누눅눈눋눌눔눕눗눙눠눴눼뉘뉜뉠뉨뉩뉴뉵뉼늄늅늉느늑는늘늙늚늠늡늣능늦늪늬늰늴니닉닌닐닒님닙닛닝닢다닥닦단닫달닭닮닯닳담답닷닸당닺닻닿대댁댄댈댐댑댓댔댕댜더덕덖던덛덜덞덟덤덥�\".split(\"\"),e=0;e!=n[180].length;++e)65533!==n[180][e].charCodeAt(0)&&(r[n[180][e]]=46080+e,t[46080+e]=n[180][e]);for(n[181]=\"�����������������������������������������������������������������킕킖킗킘킙킚킛킜킝킞킟킠킡킢킣킦킧킩킪킫킭킮킯킰킱킲������킳킶킸킺킻킼킽킾킿탂탃탅탆탇탊탋탌탍탎탏탒탖탗탘탙탚������탛탞탟탡탢탣탥탦탧탨탩탪탫탮탲탳탴탵탶탷탹탺탻탼탽탾탿턀턁턂턃턄덧덩덫덮데덱덴델뎀뎁뎃뎄뎅뎌뎐뎔뎠뎡뎨뎬도독돈돋돌돎돐돔돕돗동돛돝돠돤돨돼됐되된될됨됩됫됴두둑둔둘둠둡둣둥둬뒀뒈뒝뒤뒨뒬뒵뒷뒹듀듄듈듐듕드득든듣들듦듬듭듯등듸디딕딘딛딜딤딥딧딨딩딪따딱딴딸�\".split(\"\"),e=0;e!=n[181].length;++e)65533!==n[181][e].charCodeAt(0)&&(r[n[181][e]]=46336+e,t[46336+e]=n[181][e]);for(n[182]=\"�����������������������������������������������������������������턅턆턇턈턉턊턋턌턎턏턐턑턒턓턔턕턖턗턘턙턚턛턜턝턞턟������턠턡턢턣턤턥턦턧턨턩턪턫턬턭턮턯턲턳턵턶턷턹턻턼턽턾������턿텂텆텇텈텉텊텋텎텏텑텒텓텕텖텗텘텙텚텛텞텠텢텣텤텥텦텧텩텪텫텭땀땁땃땄땅땋때땍땐땔땜땝땟땠땡떠떡떤떨떪떫떰떱떳떴떵떻떼떽뗀뗄뗌뗍뗏뗐뗑뗘뗬또똑똔똘똥똬똴뙈뙤뙨뚜뚝뚠뚤뚫뚬뚱뛔뛰뛴뛸뜀뜁뜅뜨뜩뜬뜯뜰뜸뜹뜻띄띈띌띔띕띠띤띨띰띱띳띵라락란랄람랍랏랐랑랒랖랗�\".split(\"\"),e=0;e!=n[182].length;++e)65533!==n[182][e].charCodeAt(0)&&(r[n[182][e]]=46592+e,t[46592+e]=n[182][e]);for(n[183]=\"�����������������������������������������������������������������텮텯텰텱텲텳텴텵텶텷텸텹텺텻텽텾텿톀톁톂톃톅톆톇톉톊������톋톌톍톎톏톐톑톒톓톔톕톖톗톘톙톚톛톜톝톞톟톢톣톥톦톧������톩톪톫톬톭톮톯톲톴톶톷톸톹톻톽톾톿퇁퇂퇃퇄퇅퇆퇇퇈퇉퇊퇋퇌퇍퇎퇏래랙랜랠램랩랫랬랭랴략랸럇량러럭런럴럼럽럿렀렁렇레렉렌렐렘렙렛렝려력련렬렴렵렷렸령례롄롑롓로록론롤롬롭롯롱롸롼뢍뢨뢰뢴뢸룀룁룃룅료룐룔룝룟룡루룩룬룰룸룹룻룽뤄뤘뤠뤼뤽륀륄륌륏륑류륙륜률륨륩�\".split(\"\"),e=0;e!=n[183].length;++e)65533!==n[183][e].charCodeAt(0)&&(r[n[183][e]]=46848+e,t[46848+e]=n[183][e]);for(n[184]=\"�����������������������������������������������������������������퇐퇑퇒퇓퇔퇕퇖퇗퇙퇚퇛퇜퇝퇞퇟퇠퇡퇢퇣퇤퇥퇦퇧퇨퇩퇪������퇫퇬퇭퇮퇯퇰퇱퇲퇳퇵퇶퇷퇹퇺퇻퇼퇽퇾퇿툀툁툂툃툄툅툆������툈툊툋툌툍툎툏툑툒툓툔툕툖툗툘툙툚툛툜툝툞툟툠툡툢툣툤툥툦툧툨툩륫륭르륵른를름릅릇릉릊릍릎리릭린릴림립릿링마막만많맏말맑맒맘맙맛망맞맡맣매맥맨맬맴맵맷맸맹맺먀먁먈먕머먹먼멀멂멈멉멋멍멎멓메멕멘멜멤멥멧멨멩며멱면멸몃몄명몇몌모목몫몬몰몲몸몹못몽뫄뫈뫘뫙뫼�\".split(\"\"),e=0;e!=n[184].length;++e)65533!==n[184][e].charCodeAt(0)&&(r[n[184][e]]=47104+e,t[47104+e]=n[184][e]);for(n[185]=\"�����������������������������������������������������������������툪툫툮툯툱툲툳툵툶툷툸툹툺툻툾퉀퉂퉃퉄퉅퉆퉇퉉퉊퉋퉌������퉍퉎퉏퉐퉑퉒퉓퉔퉕퉖퉗퉘퉙퉚퉛퉝퉞퉟퉠퉡퉢퉣퉥퉦퉧퉨������퉩퉪퉫퉬퉭퉮퉯퉰퉱퉲퉳퉴퉵퉶퉷퉸퉹퉺퉻퉼퉽퉾퉿튂튃튅튆튇튉튊튋튌묀묄묍묏묑묘묜묠묩묫무묵묶문묻물묽묾뭄뭅뭇뭉뭍뭏뭐뭔뭘뭡뭣뭬뮈뮌뮐뮤뮨뮬뮴뮷므믄믈믐믓미믹민믿밀밂밈밉밋밌밍및밑바박밖밗반받발밝밞밟밤밥밧방밭배백밴밸뱀뱁뱃뱄뱅뱉뱌뱍뱐뱝버벅번벋벌벎범법벗�\".split(\"\"),e=0;e!=n[185].length;++e)65533!==n[185][e].charCodeAt(0)&&(r[n[185][e]]=47360+e,t[47360+e]=n[185][e]);for(n[186]=\"�����������������������������������������������������������������튍튎튏튒튓튔튖튗튘튙튚튛튝튞튟튡튢튣튥튦튧튨튩튪튫튭������튮튯튰튲튳튴튵튶튷튺튻튽튾틁틃틄틅틆틇틊틌틍틎틏틐틑������틒틓틕틖틗틙틚틛틝틞틟틠틡틢틣틦틧틨틩틪틫틬틭틮틯틲틳틵틶틷틹틺벙벚베벡벤벧벨벰벱벳벴벵벼벽변별볍볏볐병볕볘볜보복볶본볼봄봅봇봉봐봔봤봬뵀뵈뵉뵌뵐뵘뵙뵤뵨부북분붇불붉붊붐붑붓붕붙붚붜붤붰붸뷔뷕뷘뷜뷩뷰뷴뷸븀븃븅브븍븐블븜븝븟비빅빈빌빎빔빕빗빙빚빛빠빡빤�\".split(\"\"),e=0;e!=n[186].length;++e)65533!==n[186][e].charCodeAt(0)&&(r[n[186][e]]=47616+e,t[47616+e]=n[186][e]);for(n[187]=\"�����������������������������������������������������������������틻틼틽틾틿팂팄팆팇팈팉팊팋팏팑팒팓팕팗팘팙팚팛팞팢팣������팤팦팧팪팫팭팮팯팱팲팳팴팵팶팷팺팾팿퍀퍁퍂퍃퍆퍇퍈퍉������퍊퍋퍌퍍퍎퍏퍐퍑퍒퍓퍔퍕퍖퍗퍘퍙퍚퍛퍜퍝퍞퍟퍠퍡퍢퍣퍤퍥퍦퍧퍨퍩빨빪빰빱빳빴빵빻빼빽뺀뺄뺌뺍뺏뺐뺑뺘뺙뺨뻐뻑뻔뻗뻘뻠뻣뻤뻥뻬뼁뼈뼉뼘뼙뼛뼜뼝뽀뽁뽄뽈뽐뽑뽕뾔뾰뿅뿌뿍뿐뿔뿜뿟뿡쀼쁑쁘쁜쁠쁨쁩삐삑삔삘삠삡삣삥사삭삯산삳살삵삶삼삽삿샀상샅새색샌샐샘샙샛샜생샤�\".split(\"\"),e=0;e!=n[187].length;++e)65533!==n[187][e].charCodeAt(0)&&(r[n[187][e]]=47872+e,t[47872+e]=n[187][e]);for(n[188]=\"�����������������������������������������������������������������퍪퍫퍬퍭퍮퍯퍰퍱퍲퍳퍴퍵퍶퍷퍸퍹퍺퍻퍾퍿펁펂펃펅펆펇������펈펉펊펋펎펒펓펔펕펖펗펚펛펝펞펟펡펢펣펤펥펦펧펪펬펮������펯펰펱펲펳펵펶펷펹펺펻펽펾펿폀폁폂폃폆폇폊폋폌폍폎폏폑폒폓폔폕폖샥샨샬샴샵샷샹섀섄섈섐섕서석섞섟선섣설섦섧섬섭섯섰성섶세섹센셀셈셉셋셌셍셔셕션셜셤셥셧셨셩셰셴셸솅소속솎손솔솖솜솝솟송솥솨솩솬솰솽쇄쇈쇌쇔쇗쇘쇠쇤쇨쇰쇱쇳쇼쇽숀숄숌숍숏숑수숙순숟술숨숩숫숭�\".split(\"\"),e=0;e!=n[188].length;++e)65533!==n[188][e].charCodeAt(0)&&(r[n[188][e]]=48128+e,t[48128+e]=n[188][e]);for(n[189]=\"�����������������������������������������������������������������폗폙폚폛폜폝폞폟폠폢폤폥폦폧폨폩폪폫폮폯폱폲폳폵폶폷������폸폹폺폻폾퐀퐂퐃퐄퐅퐆퐇퐉퐊퐋퐌퐍퐎퐏퐐퐑퐒퐓퐔퐕퐖������퐗퐘퐙퐚퐛퐜퐞퐟퐠퐡퐢퐣퐤퐥퐦퐧퐨퐩퐪퐫퐬퐭퐮퐯퐰퐱퐲퐳퐴퐵퐶퐷숯숱숲숴쉈쉐쉑쉔쉘쉠쉥쉬쉭쉰쉴쉼쉽쉿슁슈슉슐슘슛슝스슥슨슬슭슴습슷승시식신싣실싫심십싯싱싶싸싹싻싼쌀쌈쌉쌌쌍쌓쌔쌕쌘쌜쌤쌥쌨쌩썅써썩썬썰썲썸썹썼썽쎄쎈쎌쏀쏘쏙쏜쏟쏠쏢쏨쏩쏭쏴쏵쏸쐈쐐쐤쐬쐰�\".split(\"\"),e=0;e!=n[189].length;++e)65533!==n[189][e].charCodeAt(0)&&(r[n[189][e]]=48384+e,t[48384+e]=n[189][e]);for(n[190]=\"�����������������������������������������������������������������퐸퐹퐺퐻퐼퐽퐾퐿푁푂푃푅푆푇푈푉푊푋푌푍푎푏푐푑푒푓������푔푕푖푗푘푙푚푛푝푞푟푡푢푣푥푦푧푨푩푪푫푬푮푰푱푲������푳푴푵푶푷푺푻푽푾풁풃풄풅풆풇풊풌풎풏풐풑풒풓풕풖풗풘풙풚풛풜풝쐴쐼쐽쑈쑤쑥쑨쑬쑴쑵쑹쒀쒔쒜쒸쒼쓩쓰쓱쓴쓸쓺쓿씀씁씌씐씔씜씨씩씬씰씸씹씻씽아악안앉않알앍앎앓암압앗았앙앝앞애액앤앨앰앱앳앴앵야약얀얄얇얌얍얏양얕얗얘얜얠얩어억언얹얻얼얽얾엄업없엇었엉엊엌엎�\".split(\"\"),e=0;e!=n[190].length;++e)65533!==n[190][e].charCodeAt(0)&&(r[n[190][e]]=48640+e,t[48640+e]=n[190][e]);for(n[191]=\"�����������������������������������������������������������������풞풟풠풡풢풣풤풥풦풧풨풪풫풬풭풮풯풰풱풲풳풴풵풶풷풸������풹풺풻풼풽풾풿퓀퓁퓂퓃퓄퓅퓆퓇퓈퓉퓊퓋퓍퓎퓏퓑퓒퓓퓕������퓖퓗퓘퓙퓚퓛퓝퓞퓠퓡퓢퓣퓤퓥퓦퓧퓩퓪퓫퓭퓮퓯퓱퓲퓳퓴퓵퓶퓷퓹퓺퓼에엑엔엘엠엡엣엥여역엮연열엶엷염엽엾엿였영옅옆옇예옌옐옘옙옛옜오옥온올옭옮옰옳옴옵옷옹옻와왁완왈왐왑왓왔왕왜왝왠왬왯왱외왹왼욀욈욉욋욍요욕욘욜욤욥욧용우욱운울욹욺움웁웃웅워웍원월웜웝웠웡웨�\".split(\"\"),e=0;e!=n[191].length;++e)65533!==n[191][e].charCodeAt(0)&&(r[n[191][e]]=48896+e,t[48896+e]=n[191][e]);for(n[192]=\"�����������������������������������������������������������������퓾퓿픀픁픂픃픅픆픇픉픊픋픍픎픏픐픑픒픓픖픘픙픚픛픜픝������픞픟픠픡픢픣픤픥픦픧픨픩픪픫픬픭픮픯픰픱픲픳픴픵픶픷������픸픹픺픻픾픿핁핂핃핅핆핇핈핉핊핋핎핐핒핓핔핕핖핗핚핛핝핞핟핡핢핣웩웬웰웸웹웽위윅윈윌윔윕윗윙유육윤율윰윱윳융윷으윽은을읊음읍읏응읒읓읔읕읖읗의읜읠읨읫이익인일읽읾잃임입잇있잉잊잎자작잔잖잗잘잚잠잡잣잤장잦재잭잰잴잼잽잿쟀쟁쟈쟉쟌쟎쟐쟘쟝쟤쟨쟬저적전절젊�\".split(\"\"),e=0;e!=n[192].length;++e)65533!==n[192][e].charCodeAt(0)&&(r[n[192][e]]=49152+e,t[49152+e]=n[192][e]);for(n[193]=\"�����������������������������������������������������������������핤핦핧핪핬핮핯핰핱핲핳핶핷핹핺핻핽핾핿햀햁햂햃햆햊햋������햌햍햎햏햑햒햓햔햕햖햗햘햙햚햛햜햝햞햟햠햡햢햣햤햦햧������햨햩햪햫햬햭햮햯햰햱햲햳햴햵햶햷햸햹햺햻햼햽햾햿헀헁헂헃헄헅헆헇점접젓정젖제젝젠젤젬젭젯젱져젼졀졈졉졌졍졔조족존졸졺좀좁좃종좆좇좋좌좍좔좝좟좡좨좼좽죄죈죌죔죕죗죙죠죡죤죵주죽준줄줅줆줌줍줏중줘줬줴쥐쥑쥔쥘쥠쥡쥣쥬쥰쥴쥼즈즉즌즐즘즙즛증지직진짇질짊짐집짓�\".split(\"\"),e=0;e!=n[193].length;++e)65533!==n[193][e].charCodeAt(0)&&(r[n[193][e]]=49408+e,t[49408+e]=n[193][e]);for(n[194]=\"�����������������������������������������������������������������헊헋헍헎헏헑헓헔헕헖헗헚헜헞헟헠헡헢헣헦헧헩헪헫헭헮������헯헰헱헲헳헶헸헺헻헼헽헾헿혂혃혅혆혇혉혊혋혌혍혎혏혒������혖혗혘혙혚혛혝혞혟혡혢혣혥혦혧혨혩혪혫혬혮혯혰혱혲혳혴혵혶혷혺혻징짖짙짚짜짝짠짢짤짧짬짭짯짰짱째짹짼쨀쨈쨉쨋쨌쨍쨔쨘쨩쩌쩍쩐쩔쩜쩝쩟쩠쩡쩨쩽쪄쪘쪼쪽쫀쫄쫌쫍쫏쫑쫓쫘쫙쫠쫬쫴쬈쬐쬔쬘쬠쬡쭁쭈쭉쭌쭐쭘쭙쭝쭤쭸쭹쮜쮸쯔쯤쯧쯩찌찍찐찔찜찝찡찢찧차착찬찮찰참찹찻�\".split(\"\"),e=0;e!=n[194].length;++e)65533!==n[194][e].charCodeAt(0)&&(r[n[194][e]]=49664+e,t[49664+e]=n[194][e]);for(n[195]=\"�����������������������������������������������������������������혽혾혿홁홂홃홄홆홇홊홌홎홏홐홒홓홖홗홙홚홛홝홞홟홠홡������홢홣홤홥홦홨홪홫홬홭홮홯홲홳홵홶홷홸홹홺홻홼홽홾홿횀������횁횂횄횆횇횈횉횊횋횎횏횑횒횓횕횖횗횘횙횚횛횜횞횠횢횣횤횥횦횧횩횪찼창찾채책챈챌챔챕챗챘챙챠챤챦챨챰챵처척천철첨첩첫첬청체첵첸첼쳄쳅쳇쳉쳐쳔쳤쳬쳰촁초촉촌촐촘촙촛총촤촨촬촹최쵠쵤쵬쵭쵯쵱쵸춈추축춘출춤춥춧충춰췄췌췐취췬췰췸췹췻췽츄츈츌츔츙츠측츤츨츰츱츳층�\".split(\"\"),e=0;e!=n[195].length;++e)65533!==n[195][e].charCodeAt(0)&&(r[n[195][e]]=49920+e,t[49920+e]=n[195][e]);for(n[196]=\"�����������������������������������������������������������������횫횭횮횯횱횲횳횴횵횶횷횸횺횼횽횾횿훀훁훂훃훆훇훉훊훋������훍훎훏훐훒훓훕훖훘훚훛훜훝훞훟훡훢훣훥훦훧훩훪훫훬훭������훮훯훱훲훳훴훶훷훸훹훺훻훾훿휁휂휃휅휆휇휈휉휊휋휌휍휎휏휐휒휓휔치칙친칟칠칡침칩칫칭카칵칸칼캄캅캇캉캐캑캔캘캠캡캣캤캥캬캭컁커컥컨컫컬컴컵컷컸컹케켁켄켈켐켑켓켕켜켠켤켬켭켯켰켱켸코콕콘콜콤콥콧콩콰콱콴콸쾀쾅쾌쾡쾨쾰쿄쿠쿡쿤쿨쿰쿱쿳쿵쿼퀀퀄퀑퀘퀭퀴퀵퀸퀼�\".split(\"\"),e=0;e!=n[196].length;++e)65533!==n[196][e].charCodeAt(0)&&(r[n[196][e]]=50176+e,t[50176+e]=n[196][e]);for(n[197]=\"�����������������������������������������������������������������휕휖휗휚휛휝휞휟휡휢휣휤휥휦휧휪휬휮휯휰휱휲휳휶휷휹������휺휻휽휾휿흀흁흂흃흅흆흈흊흋흌흍흎흏흒흓흕흚흛흜흝흞������흟흢흤흦흧흨흪흫흭흮흯흱흲흳흵흶흷흸흹흺흻흾흿힀힂힃힄힅힆힇힊힋큄큅큇큉큐큔큘큠크큭큰클큼큽킁키킥킨킬킴킵킷킹타탁탄탈탉탐탑탓탔탕태택탠탤탬탭탯탰탱탸턍터턱턴털턺텀텁텃텄텅테텍텐텔템텝텟텡텨텬텼톄톈토톡톤톨톰톱톳통톺톼퇀퇘퇴퇸툇툉툐투툭툰툴툼툽툿퉁퉈퉜�\".split(\"\"),e=0;e!=n[197].length;++e)65533!==n[197][e].charCodeAt(0)&&(r[n[197][e]]=50432+e,t[50432+e]=n[197][e]);for(n[198]=\"�����������������������������������������������������������������힍힎힏힑힒힓힔힕힖힗힚힜힞힟힠힡힢힣������������������������������������������������������������������������������퉤튀튁튄튈튐튑튕튜튠튤튬튱트특튼튿틀틂틈틉틋틔틘틜틤틥티틱틴틸팀팁팃팅파팍팎판팔팖팜팝팟팠팡팥패팩팬팰팸팹팻팼팽퍄퍅퍼퍽펀펄펌펍펏펐펑페펙펜펠펨펩펫펭펴편펼폄폅폈평폐폘폡폣포폭폰폴폼폽폿퐁�\".split(\"\"),e=0;e!=n[198].length;++e)65533!==n[198][e].charCodeAt(0)&&(r[n[198][e]]=50688+e,t[50688+e]=n[198][e]);for(n[199]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������퐈퐝푀푄표푠푤푭푯푸푹푼푿풀풂품풉풋풍풔풩퓌퓐퓔퓜퓟퓨퓬퓰퓸퓻퓽프픈플픔픕픗피픽핀필핌핍핏핑하학한할핥함합핫항해핵핸핼햄햅햇했행햐향허헉헌헐헒험헙헛헝헤헥헨헬헴헵헷헹혀혁현혈혐협혓혔형혜혠�\".split(\"\"),e=0;e!=n[199].length;++e)65533!==n[199][e].charCodeAt(0)&&(r[n[199][e]]=50944+e,t[50944+e]=n[199][e]);for(n[200]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������혤혭호혹혼홀홅홈홉홋홍홑화확환활홧황홰홱홴횃횅회획횐횔횝횟횡효횬횰횹횻후훅훈훌훑훔훗훙훠훤훨훰훵훼훽휀휄휑휘휙휜휠휨휩휫휭휴휵휸휼흄흇흉흐흑흔흖흗흘흙흠흡흣흥흩희흰흴흼흽힁히힉힌힐힘힙힛힝�\".split(\"\"),e=0;e!=n[200].length;++e)65533!==n[200][e].charCodeAt(0)&&(r[n[200][e]]=51200+e,t[51200+e]=n[200][e]);for(n[202]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������伽佳假價加可呵哥嘉嫁家暇架枷柯歌珂痂稼苛茄街袈訶賈跏軻迦駕刻却各恪慤殼珏脚覺角閣侃刊墾奸姦干幹懇揀杆柬桿澗癎看磵稈竿簡肝艮艱諫間乫喝曷渴碣竭葛褐蝎鞨勘坎堪嵌感憾戡敢柑橄減甘疳監瞰紺邯鑑鑒龕�\".split(\"\"),e=0;e!=n[202].length;++e)65533!==n[202][e].charCodeAt(0)&&(r[n[202][e]]=51712+e,t[51712+e]=n[202][e]);for(n[203]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������匣岬甲胛鉀閘剛堈姜岡崗康强彊慷江畺疆糠絳綱羌腔舡薑襁講鋼降鱇介价個凱塏愷愾慨改槪漑疥皆盖箇芥蓋豈鎧開喀客坑更粳羹醵倨去居巨拒据據擧渠炬祛距踞車遽鉅鋸乾件健巾建愆楗腱虔蹇鍵騫乞傑杰桀儉劍劒檢�\".split(\"\"),e=0;e!=n[203].length;++e)65533!==n[203][e].charCodeAt(0)&&(r[n[203][e]]=51968+e,t[51968+e]=n[203][e]);for(n[204]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������瞼鈐黔劫怯迲偈憩揭擊格檄激膈覡隔堅牽犬甄絹繭肩見譴遣鵑抉決潔結缺訣兼慊箝謙鉗鎌京俓倞傾儆勁勍卿坰境庚徑慶憬擎敬景暻更梗涇炅烱璟璥瓊痙硬磬竟競絅經耕耿脛莖警輕逕鏡頃頸驚鯨係啓堺契季屆悸戒桂械�\".split(\"\"),e=0;e!=n[204].length;++e)65533!==n[204][e].charCodeAt(0)&&(r[n[204][e]]=52224+e,t[52224+e]=n[204][e]);for(n[205]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������棨溪界癸磎稽系繫繼計誡谿階鷄古叩告呱固姑孤尻庫拷攷故敲暠枯槁沽痼皐睾稿羔考股膏苦苽菰藁蠱袴誥賈辜錮雇顧高鼓哭斛曲梏穀谷鵠困坤崑昆梱棍滾琨袞鯤汨滑骨供公共功孔工恐恭拱控攻珙空蚣貢鞏串寡戈果瓜�\".split(\"\"),e=0;e!=n[205].length;++e)65533!==n[205][e].charCodeAt(0)&&(r[n[205][e]]=52480+e,t[52480+e]=n[205][e]);for(n[206]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������科菓誇課跨過鍋顆廓槨藿郭串冠官寬慣棺款灌琯瓘管罐菅觀貫關館刮恝括适侊光匡壙廣曠洸炚狂珖筐胱鑛卦掛罫乖傀塊壞怪愧拐槐魁宏紘肱轟交僑咬喬嬌嶠巧攪敎校橋狡皎矯絞翹膠蕎蛟較轎郊餃驕鮫丘久九仇俱具勾�\".split(\"\"),e=0;e!=n[206].length;++e)65533!==n[206][e].charCodeAt(0)&&(r[n[206][e]]=52736+e,t[52736+e]=n[206][e]);for(n[207]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������區口句咎嘔坵垢寇嶇廐懼拘救枸柩構歐毆毬求溝灸狗玖球瞿矩究絿耉臼舅舊苟衢謳購軀逑邱鉤銶駒驅鳩鷗龜國局菊鞠鞫麴君窘群裙軍郡堀屈掘窟宮弓穹窮芎躬倦券勸卷圈拳捲權淃眷厥獗蕨蹶闕机櫃潰詭軌饋句晷歸貴�\".split(\"\"),e=0;e!=n[207].length;++e)65533!==n[207][e].charCodeAt(0)&&(r[n[207][e]]=52992+e,t[52992+e]=n[207][e]);for(n[208]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������鬼龜叫圭奎揆槻珪硅窺竅糾葵規赳逵閨勻均畇筠菌鈞龜橘克剋劇戟棘極隙僅劤勤懃斤根槿瑾筋芹菫覲謹近饉契今妗擒昑檎琴禁禽芩衾衿襟金錦伋及急扱汲級給亘兢矜肯企伎其冀嗜器圻基埼夔奇妓寄岐崎己幾忌技旗旣�\".split(\"\"),e=0;e!=n[208].length;++e)65533!==n[208][e].charCodeAt(0)&&(r[n[208][e]]=53248+e,t[53248+e]=n[208][e]);for(n[209]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������朞期杞棋棄機欺氣汽沂淇玘琦琪璂璣畸畿碁磯祁祇祈祺箕紀綺羈耆耭肌記譏豈起錡錤飢饑騎騏驥麒緊佶吉拮桔金喫儺喇奈娜懦懶拏拿癩羅蘿螺裸邏那樂洛烙珞落諾酪駱亂卵暖欄煖爛蘭難鸞捏捺南嵐枏楠湳濫男藍襤拉�\".split(\"\"),e=0;e!=n[209].length;++e)65533!==n[209][e].charCodeAt(0)&&(r[n[209][e]]=53504+e,t[53504+e]=n[209][e]);for(n[210]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������納臘蠟衲囊娘廊朗浪狼郎乃來內奈柰耐冷女年撚秊念恬拈捻寧寗努勞奴弩怒擄櫓爐瑙盧老蘆虜路露駑魯鷺碌祿綠菉錄鹿論壟弄濃籠聾膿農惱牢磊腦賂雷尿壘屢樓淚漏累縷陋嫩訥杻紐勒肋凜凌稜綾能菱陵尼泥匿溺多茶�\".split(\"\"),e=0;e!=n[210].length;++e)65533!==n[210][e].charCodeAt(0)&&(r[n[210][e]]=53760+e,t[53760+e]=n[210][e]);for(n[211]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������丹亶但單團壇彖斷旦檀段湍短端簞緞蛋袒鄲鍛撻澾獺疸達啖坍憺擔曇淡湛潭澹痰聃膽蕁覃談譚錟沓畓答踏遝唐堂塘幢戇撞棠當糖螳黨代垈坮大對岱帶待戴擡玳臺袋貸隊黛宅德悳倒刀到圖堵塗導屠島嶋度徒悼挑掉搗桃�\".split(\"\"),e=0;e!=n[211].length;++e)65533!==n[211][e].charCodeAt(0)&&(r[n[211][e]]=54016+e,t[54016+e]=n[211][e]);for(n[212]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������棹櫂淘渡滔濤燾盜睹禱稻萄覩賭跳蹈逃途道都鍍陶韜毒瀆牘犢獨督禿篤纛讀墩惇敦旽暾沌焞燉豚頓乭突仝冬凍動同憧東桐棟洞潼疼瞳童胴董銅兜斗杜枓痘竇荳讀豆逗頭屯臀芚遁遯鈍得嶝橙燈登等藤謄鄧騰喇懶拏癩羅�\".split(\"\"),e=0;e!=n[212].length;++e)65533!==n[212][e].charCodeAt(0)&&(r[n[212][e]]=54272+e,t[54272+e]=n[212][e]);for(n[213]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������蘿螺裸邏樂洛烙珞絡落諾酪駱丹亂卵欄欒瀾爛蘭鸞剌辣嵐擥攬欖濫籃纜藍襤覽拉臘蠟廊朗浪狼琅瑯螂郞來崍徠萊冷掠略亮倆兩凉梁樑粮粱糧良諒輛量侶儷勵呂廬慮戾旅櫚濾礪藜蠣閭驢驪麗黎力曆歷瀝礫轢靂憐戀攣漣�\".split(\"\"),e=0;e!=n[213].length;++e)65533!==n[213][e].charCodeAt(0)&&(r[n[213][e]]=54528+e,t[54528+e]=n[213][e]);for(n[214]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������煉璉練聯蓮輦連鍊冽列劣洌烈裂廉斂殮濂簾獵令伶囹寧岺嶺怜玲笭羚翎聆逞鈴零靈領齡例澧禮醴隷勞怒撈擄櫓潞瀘爐盧老蘆虜路輅露魯鷺鹵碌祿綠菉錄鹿麓論壟弄朧瀧瓏籠聾儡瀨牢磊賂賚賴雷了僚寮廖料燎療瞭聊蓼�\".split(\"\"),e=0;e!=n[214].length;++e)65533!==n[214][e].charCodeAt(0)&&(r[n[214][e]]=54784+e,t[54784+e]=n[214][e]);for(n[215]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������遼鬧龍壘婁屢樓淚漏瘻累縷蔞褸鏤陋劉旒柳榴流溜瀏琉瑠留瘤硫謬類六戮陸侖倫崙淪綸輪律慄栗率隆勒肋凜凌楞稜綾菱陵俚利厘吏唎履悧李梨浬犁狸理璃異痢籬罹羸莉裏裡里釐離鯉吝潾燐璘藺躪隣鱗麟林淋琳臨霖砬�\".split(\"\"),e=0;e!=n[215].length;++e)65533!==n[215][e].charCodeAt(0)&&(r[n[215][e]]=55040+e,t[55040+e]=n[215][e]);for(n[216]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������立笠粒摩瑪痲碼磨馬魔麻寞幕漠膜莫邈万卍娩巒彎慢挽晩曼滿漫灣瞞萬蔓蠻輓饅鰻唜抹末沫茉襪靺亡妄忘忙望網罔芒茫莽輞邙埋妹媒寐昧枚梅每煤罵買賣邁魅脈貊陌驀麥孟氓猛盲盟萌冪覓免冕勉棉沔眄眠綿緬面麵滅�\".split(\"\"),e=0;e!=n[216].length;++e)65533!==n[216][e].charCodeAt(0)&&(r[n[216][e]]=55296+e,t[55296+e]=n[216][e]);for(n[217]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������蔑冥名命明暝椧溟皿瞑茗蓂螟酩銘鳴袂侮冒募姆帽慕摸摹暮某模母毛牟牡瑁眸矛耗芼茅謀謨貌木沐牧目睦穆鶩歿沒夢朦蒙卯墓妙廟描昴杳渺猫竗苗錨務巫憮懋戊拇撫无楙武毋無珷畝繆舞茂蕪誣貿霧鵡墨默們刎吻問文�\".split(\"\"),e=0;e!=n[217].length;++e)65533!==n[217][e].charCodeAt(0)&&(r[n[217][e]]=55552+e,t[55552+e]=n[217][e]);for(n[218]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������汶紊紋聞蚊門雯勿沕物味媚尾嵋彌微未梶楣渼湄眉米美薇謎迷靡黴岷悶愍憫敏旻旼民泯玟珉緡閔密蜜謐剝博拍搏撲朴樸泊珀璞箔粕縛膊舶薄迫雹駁伴半反叛拌搬攀斑槃泮潘班畔瘢盤盼磐磻礬絆般蟠返頒飯勃拔撥渤潑�\".split(\"\"),e=0;e!=n[218].length;++e)65533!==n[218][e].charCodeAt(0)&&(r[n[218][e]]=55808+e,t[55808+e]=n[218][e]);for(n[219]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������發跋醱鉢髮魃倣傍坊妨尨幇彷房放方旁昉枋榜滂磅紡肪膀舫芳蒡蚌訪謗邦防龐倍俳北培徘拜排杯湃焙盃背胚裴裵褙賠輩配陪伯佰帛柏栢白百魄幡樊煩燔番磻繁蕃藩飜伐筏罰閥凡帆梵氾汎泛犯範范法琺僻劈壁擘檗璧癖�\".split(\"\"),e=0;e!=n[219].length;++e)65533!==n[219][e].charCodeAt(0)&&(r[n[219][e]]=56064+e,t[56064+e]=n[219][e]);for(n[220]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������碧蘗闢霹便卞弁變辨辯邊別瞥鱉鼈丙倂兵屛幷昞昺柄棅炳甁病秉竝輧餠騈保堡報寶普步洑湺潽珤甫菩補褓譜輔伏僕匐卜宓復服福腹茯蔔複覆輹輻馥鰒本乶俸奉封峯峰捧棒烽熢琫縫蓬蜂逢鋒鳳不付俯傅剖副否咐埠夫婦�\".split(\"\"),e=0;e!=n[220].length;++e)65533!==n[220][e].charCodeAt(0)&&(r[n[220][e]]=56320+e,t[56320+e]=n[220][e]);for(n[221]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������孚孵富府復扶敷斧浮溥父符簿缶腐腑膚艀芙莩訃負賦賻赴趺部釜阜附駙鳧北分吩噴墳奔奮忿憤扮昐汾焚盆粉糞紛芬賁雰不佛弗彿拂崩朋棚硼繃鵬丕備匕匪卑妃婢庇悲憊扉批斐枇榧比毖毗毘沸泌琵痺砒碑秕秘粃緋翡肥�\".split(\"\"),e=0;e!=n[221].length;++e)65533!==n[221][e].charCodeAt(0)&&(r[n[221][e]]=56576+e,t[56576+e]=n[221][e]);for(n[222]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������脾臂菲蜚裨誹譬費鄙非飛鼻嚬嬪彬斌檳殯浜濱瀕牝玭貧賓頻憑氷聘騁乍事些仕伺似使俟僿史司唆嗣四士奢娑寫寺射巳師徙思捨斜斯柶査梭死沙泗渣瀉獅砂社祀祠私篩紗絲肆舍莎蓑蛇裟詐詞謝賜赦辭邪飼駟麝削數朔索�\".split(\"\"),e=0;e!=n[222].length;++e)65533!==n[222][e].charCodeAt(0)&&(r[n[222][e]]=56832+e,t[56832+e]=n[222][e]);for(n[223]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������傘刪山散汕珊産疝算蒜酸霰乷撒殺煞薩三參杉森渗芟蔘衫揷澁鈒颯上傷像償商喪嘗孀尙峠常床庠廂想桑橡湘爽牀狀相祥箱翔裳觴詳象賞霜塞璽賽嗇塞穡索色牲生甥省笙墅壻嶼序庶徐恕抒捿敍暑曙書栖棲犀瑞筮絮緖署�\".split(\"\"),e=0;e!=n[223].length;++e)65533!==n[223][e].charCodeAt(0)&&(r[n[223][e]]=57088+e,t[57088+e]=n[223][e]);for(n[224]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������胥舒薯西誓逝鋤黍鼠夕奭席惜昔晳析汐淅潟石碩蓆釋錫仙僊先善嬋宣扇敾旋渲煽琁瑄璇璿癬禪線繕羨腺膳船蘚蟬詵跣選銑鐥饍鮮卨屑楔泄洩渫舌薛褻設說雪齧剡暹殲纖蟾贍閃陝攝涉燮葉城姓宬性惺成星晟猩珹盛省筬�\".split(\"\"),e=0;e!=n[224].length;++e)65533!==n[224][e].charCodeAt(0)&&(r[n[224][e]]=57344+e,t[57344+e]=n[224][e]);for(n[225]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������聖聲腥誠醒世勢歲洗稅笹細說貰召嘯塑宵小少巢所掃搔昭梳沼消溯瀟炤燒甦疏疎瘙笑篠簫素紹蔬蕭蘇訴逍遡邵銷韶騷俗屬束涑粟續謖贖速孫巽損蓀遜飡率宋悚松淞訟誦送頌刷殺灑碎鎖衰釗修受嗽囚垂壽嫂守岫峀帥愁�\".split(\"\"),e=0;e!=n[225].length;++e)65533!==n[225][e].charCodeAt(0)&&(r[n[225][e]]=57600+e,t[57600+e]=n[225][e]);for(n[226]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������戍手授搜收數樹殊水洙漱燧狩獸琇璲瘦睡秀穗竪粹綏綬繡羞脩茱蒐蓚藪袖誰讐輸遂邃酬銖銹隋隧隨雖需須首髓鬚叔塾夙孰宿淑潚熟琡璹肅菽巡徇循恂旬栒楯橓殉洵淳珣盾瞬筍純脣舜荀蓴蕣詢諄醇錞順馴戌術述鉥崇崧�\".split(\"\"),e=0;e!=n[226].length;++e)65533!==n[226][e].charCodeAt(0)&&(r[n[226][e]]=57856+e,t[57856+e]=n[226][e]);for(n[227]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������嵩瑟膝蝨濕拾習褶襲丞乘僧勝升承昇繩蠅陞侍匙嘶始媤尸屎屍市弑恃施是時枾柴猜矢示翅蒔蓍視試詩諡豕豺埴寔式息拭植殖湜熄篒蝕識軾食飾伸侁信呻娠宸愼新晨燼申神紳腎臣莘薪藎蜃訊身辛辰迅失室實悉審尋心沁�\".split(\"\"),e=0;e!=n[227].length;++e)65533!==n[227][e].charCodeAt(0)&&(r[n[227][e]]=58112+e,t[58112+e]=n[227][e]);for(n[228]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������沈深瀋甚芯諶什十拾雙氏亞俄兒啞娥峨我牙芽莪蛾衙訝阿雅餓鴉鵝堊岳嶽幄惡愕握樂渥鄂鍔顎鰐齷安岸按晏案眼雁鞍顔鮟斡謁軋閼唵岩巖庵暗癌菴闇壓押狎鴨仰央怏昻殃秧鴦厓哀埃崖愛曖涯碍艾隘靄厄扼掖液縊腋額�\".split(\"\"),e=0;e!=n[228].length;++e)65533!==n[228][e].charCodeAt(0)&&(r[n[228][e]]=58368+e,t[58368+e]=n[228][e]);for(n[229]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������櫻罌鶯鸚也倻冶夜惹揶椰爺耶若野弱掠略約若葯蒻藥躍亮佯兩凉壤孃恙揚攘敭暘梁楊樣洋瀁煬痒瘍禳穰糧羊良襄諒讓釀陽量養圄御於漁瘀禦語馭魚齬億憶抑檍臆偃堰彦焉言諺孼蘖俺儼嚴奄掩淹嶪業円予余勵呂女如廬�\".split(\"\"),e=0;e!=n[229].length;++e)65533!==n[229][e].charCodeAt(0)&&(r[n[229][e]]=58624+e,t[58624+e]=n[229][e]);for(n[230]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������旅歟汝濾璵礖礪與艅茹輿轝閭餘驪麗黎亦力域役易曆歷疫繹譯轢逆驛嚥堧姸娟宴年延憐戀捐挻撚椽沇沿涎涓淵演漣烟然煙煉燃燕璉硏硯秊筵緣練縯聯衍軟輦蓮連鉛鍊鳶列劣咽悅涅烈熱裂說閱厭廉念捻染殮炎焰琰艶苒�\".split(\"\"),e=0;e!=n[230].length;++e)65533!==n[230][e].charCodeAt(0)&&(r[n[230][e]]=58880+e,t[58880+e]=n[230][e]);for(n[231]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������簾閻髥鹽曄獵燁葉令囹塋寧嶺嶸影怜映暎楹榮永泳渶潁濚瀛瀯煐營獰玲瑛瑩瓔盈穎纓羚聆英詠迎鈴鍈零霙靈領乂倪例刈叡曳汭濊猊睿穢芮藝蘂禮裔詣譽豫醴銳隸霓預五伍俉傲午吾吳嗚塢墺奧娛寤悟惡懊敖旿晤梧汚澳�\".split(\"\"),e=0;e!=n[231].length;++e)65533!==n[231][e].charCodeAt(0)&&(r[n[231][e]]=59136+e,t[59136+e]=n[231][e]);for(n[232]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������烏熬獒筽蜈誤鰲鼇屋沃獄玉鈺溫瑥瘟穩縕蘊兀壅擁瓮甕癰翁邕雍饔渦瓦窩窪臥蛙蝸訛婉完宛梡椀浣玩琓琬碗緩翫脘腕莞豌阮頑曰往旺枉汪王倭娃歪矮外嵬巍猥畏了僚僥凹堯夭妖姚寥寮尿嶢拗搖撓擾料曜樂橈燎燿瑤療�\".split(\"\"),e=0;e!=n[232].length;++e)65533!==n[232][e].charCodeAt(0)&&(r[n[232][e]]=59392+e,t[59392+e]=n[232][e]);for(n[233]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������窈窯繇繞耀腰蓼蟯要謠遙遼邀饒慾欲浴縟褥辱俑傭冗勇埇墉容庸慂榕涌湧溶熔瑢用甬聳茸蓉踊鎔鏞龍于佑偶優又友右宇寓尤愚憂旴牛玗瑀盂祐禑禹紆羽芋藕虞迂遇郵釪隅雨雩勖彧旭昱栯煜稶郁頊云暈橒殞澐熉耘芸蕓�\".split(\"\"),e=0;e!=n[233].length;++e)65533!==n[233][e].charCodeAt(0)&&(r[n[233][e]]=59648+e,t[59648+e]=n[233][e]);for(n[234]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������運隕雲韻蔚鬱亐熊雄元原員圓園垣媛嫄寃怨愿援沅洹湲源爰猿瑗苑袁轅遠阮院願鴛月越鉞位偉僞危圍委威尉慰暐渭爲瑋緯胃萎葦蔿蝟衛褘謂違韋魏乳侑儒兪劉唯喩孺宥幼幽庾悠惟愈愉揄攸有杻柔柚柳楡楢油洧流游溜�\".split(\"\"),e=0;e!=n[234].length;++e)65533!==n[234][e].charCodeAt(0)&&(r[n[234][e]]=59904+e,t[59904+e]=n[234][e]);for(n[235]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������濡猶猷琉瑜由留癒硫紐維臾萸裕誘諛諭踰蹂遊逾遺酉釉鍮類六堉戮毓肉育陸倫允奫尹崙淪潤玧胤贇輪鈗閏律慄栗率聿戎瀜絨融隆垠恩慇殷誾銀隱乙吟淫蔭陰音飮揖泣邑凝應膺鷹依倚儀宜意懿擬椅毅疑矣義艤薏蟻衣誼�\".split(\"\"),e=0;e!=n[235].length;++e)65533!==n[235][e].charCodeAt(0)&&(r[n[235][e]]=60160+e,t[60160+e]=n[235][e]);for(n[236]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������議醫二以伊利吏夷姨履已弛彛怡易李梨泥爾珥理異痍痢移罹而耳肄苡荑裏裡貽貳邇里離飴餌匿溺瀷益翊翌翼謚人仁刃印吝咽因姻寅引忍湮燐璘絪茵藺蚓認隣靭靷鱗麟一佚佾壹日溢逸鎰馹任壬妊姙恁林淋稔臨荏賃入卄�\".split(\"\"),e=0;e!=n[236].length;++e)65533!==n[236][e].charCodeAt(0)&&(r[n[236][e]]=60416+e,t[60416+e]=n[236][e]);for(n[237]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������立笠粒仍剩孕芿仔刺咨姉姿子字孜恣慈滋炙煮玆瓷疵磁紫者自茨蔗藉諮資雌作勺嚼斫昨灼炸爵綽芍酌雀鵲孱棧殘潺盞岑暫潛箴簪蠶雜丈仗匠場墻壯奬將帳庄張掌暲杖樟檣欌漿牆狀獐璋章粧腸臟臧莊葬蔣薔藏裝贓醬長�\".split(\"\"),e=0;e!=n[237].length;++e)65533!==n[237][e].charCodeAt(0)&&(r[n[237][e]]=60672+e,t[60672+e]=n[237][e]);for(n[238]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������障再哉在宰才材栽梓渽滓災縡裁財載齋齎爭箏諍錚佇低儲咀姐底抵杵楮樗沮渚狙猪疽箸紵苧菹著藷詛貯躇這邸雎齟勣吊嫡寂摘敵滴狄炙的積笛籍績翟荻謫賊赤跡蹟迪迹適鏑佃佺傳全典前剪塡塼奠專展廛悛戰栓殿氈澱�\".split(\"\"),e=0;e!=n[238].length;++e)65533!==n[238][e].charCodeAt(0)&&(r[n[238][e]]=60928+e,t[60928+e]=n[238][e]);for(n[239]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������煎琠田甸畑癲筌箋箭篆纏詮輾轉鈿銓錢鐫電顚顫餞切截折浙癤竊節絶占岾店漸点粘霑鮎點接摺蝶丁井亭停偵呈姃定幀庭廷征情挺政整旌晶晸柾楨檉正汀淀淨渟湞瀞炡玎珽町睛碇禎程穽精綎艇訂諪貞鄭酊釘鉦鋌錠霆靖�\".split(\"\"),e=0;e!=n[239].length;++e)65533!==n[239][e].charCodeAt(0)&&(r[n[239][e]]=61184+e,t[61184+e]=n[239][e]);for(n[240]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������靜頂鼎制劑啼堤帝弟悌提梯濟祭第臍薺製諸蹄醍除際霽題齊俎兆凋助嘲弔彫措操早晁曺曹朝條棗槽漕潮照燥爪璪眺祖祚租稠窕粗糟組繰肇藻蚤詔調趙躁造遭釣阻雕鳥族簇足鏃存尊卒拙猝倧宗從悰慫棕淙琮種終綜縱腫�\".split(\"\"),e=0;e!=n[240].length;++e)65533!==n[240][e].charCodeAt(0)&&(r[n[240][e]]=61440+e,t[61440+e]=n[240][e]);for(n[241]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������踪踵鍾鐘佐坐左座挫罪主住侏做姝胄呪周嗾奏宙州廚晝朱柱株注洲湊澍炷珠疇籌紂紬綢舟蛛註誅走躊輳週酎酒鑄駐竹粥俊儁准埈寯峻晙樽浚準濬焌畯竣蠢逡遵雋駿茁中仲衆重卽櫛楫汁葺增憎曾拯烝甑症繒蒸證贈之只�\".split(\"\"),e=0;e!=n[241].length;++e)65533!==n[241][e].charCodeAt(0)&&(r[n[241][e]]=61696+e,t[61696+e]=n[241][e]);for(n[242]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������咫地址志持指摯支旨智枝枳止池沚漬知砥祉祗紙肢脂至芝芷蜘誌識贄趾遲直稙稷織職唇嗔塵振搢晉晋桭榛殄津溱珍瑨璡畛疹盡眞瞋秦縉縝臻蔯袗診賑軫辰進鎭陣陳震侄叱姪嫉帙桎瓆疾秩窒膣蛭質跌迭斟朕什執潗緝輯�\".split(\"\"),e=0;e!=n[242].length;++e)65533!==n[242][e].charCodeAt(0)&&(r[n[242][e]]=61952+e,t[61952+e]=n[242][e]);for(n[243]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������鏶集徵懲澄且侘借叉嗟嵯差次此磋箚茶蹉車遮捉搾着窄錯鑿齪撰澯燦璨瓚竄簒纂粲纘讚贊鑽餐饌刹察擦札紮僭參塹慘慙懺斬站讒讖倉倡創唱娼廠彰愴敞昌昶暢槍滄漲猖瘡窓脹艙菖蒼債埰寀寨彩採砦綵菜蔡采釵冊柵策�\".split(\"\"),e=0;e!=n[243].length;++e)65533!==n[243][e].charCodeAt(0)&&(r[n[243][e]]=62208+e,t[62208+e]=n[243][e]);for(n[244]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������責凄妻悽處倜刺剔尺慽戚拓擲斥滌瘠脊蹠陟隻仟千喘天川擅泉淺玔穿舛薦賤踐遷釧闡阡韆凸哲喆徹撤澈綴輟轍鐵僉尖沾添甛瞻簽籤詹諂堞妾帖捷牒疊睫諜貼輒廳晴淸聽菁請靑鯖切剃替涕滯締諦逮遞體初剿哨憔抄招梢�\".split(\"\"),e=0;e!=n[244].length;++e)65533!==n[244][e].charCodeAt(0)&&(r[n[244][e]]=62464+e,t[62464+e]=n[244][e]);for(n[245]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������椒楚樵炒焦硝礁礎秒稍肖艸苕草蕉貂超酢醋醮促囑燭矗蜀觸寸忖村邨叢塚寵悤憁摠總聰蔥銃撮催崔最墜抽推椎楸樞湫皺秋芻萩諏趨追鄒酋醜錐錘鎚雛騶鰍丑畜祝竺筑築縮蓄蹙蹴軸逐春椿瑃出朮黜充忠沖蟲衝衷悴膵萃�\".split(\"\"),e=0;e!=n[245].length;++e)65533!==n[245][e].charCodeAt(0)&&(r[n[245][e]]=62720+e,t[62720+e]=n[245][e]);for(n[246]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������贅取吹嘴娶就炊翠聚脆臭趣醉驟鷲側仄厠惻測層侈値嗤峙幟恥梔治淄熾痔痴癡稚穉緇緻置致蚩輜雉馳齒則勅飭親七柒漆侵寢枕沈浸琛砧針鍼蟄秤稱快他咤唾墮妥惰打拖朶楕舵陀馱駝倬卓啄坼度托拓擢晫柝濁濯琢琸託�\".split(\"\"),e=0;e!=n[246].length;++e)65533!==n[246][e].charCodeAt(0)&&(r[n[246][e]]=62976+e,t[62976+e]=n[246][e]);for(n[247]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������鐸呑嘆坦彈憚歎灘炭綻誕奪脫探眈耽貪塔搭榻宕帑湯糖蕩兌台太怠態殆汰泰笞胎苔跆邰颱宅擇澤撑攄兎吐土討慟桶洞痛筒統通堆槌腿褪退頹偸套妬投透鬪慝特闖坡婆巴把播擺杷波派爬琶破罷芭跛頗判坂板版瓣販辦鈑�\".split(\"\"),e=0;e!=n[247].length;++e)65533!==n[247][e].charCodeAt(0)&&(r[n[247][e]]=63232+e,t[63232+e]=n[247][e]);for(n[248]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������阪八叭捌佩唄悖敗沛浿牌狽稗覇貝彭澎烹膨愎便偏扁片篇編翩遍鞭騙貶坪平枰萍評吠嬖幣廢弊斃肺蔽閉陛佈包匍匏咆哺圃布怖抛抱捕暴泡浦疱砲胞脯苞葡蒲袍褒逋鋪飽鮑幅暴曝瀑爆輻俵剽彪慓杓標漂瓢票表豹飇飄驃�\".split(\"\"),e=0;e!=n[248].length;++e)65533!==n[248][e].charCodeAt(0)&&(r[n[248][e]]=63488+e,t[63488+e]=n[248][e]);for(n[249]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������品稟楓諷豊風馮彼披疲皮被避陂匹弼必泌珌畢疋筆苾馝乏逼下何厦夏廈昰河瑕荷蝦賀遐霞鰕壑學虐謔鶴寒恨悍旱汗漢澣瀚罕翰閑閒限韓割轄函含咸啣喊檻涵緘艦銜陷鹹合哈盒蛤閤闔陜亢伉姮嫦巷恒抗杭桁沆港缸肛航�\".split(\"\"),e=0;e!=n[249].length;++e)65533!==n[249][e].charCodeAt(0)&&(r[n[249][e]]=63744+e,t[63744+e]=n[249][e]);for(n[250]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������行降項亥偕咳垓奚孩害懈楷海瀣蟹解該諧邂駭骸劾核倖幸杏荇行享向嚮珦鄕響餉饗香噓墟虛許憲櫶獻軒歇險驗奕爀赫革俔峴弦懸晛泫炫玄玹現眩睍絃絢縣舷衒見賢鉉顯孑穴血頁嫌俠協夾峽挾浹狹脅脇莢鋏頰亨兄刑型�\".split(\"\"),e=0;e!=n[250].length;++e)65533!==n[250][e].charCodeAt(0)&&(r[n[250][e]]=64e3+e,t[64e3+e]=n[250][e]);for(n[251]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������形泂滎瀅灐炯熒珩瑩荊螢衡逈邢鎣馨兮彗惠慧暳蕙蹊醯鞋乎互呼壕壺好岵弧戶扈昊晧毫浩淏湖滸澔濠濩灝狐琥瑚瓠皓祜糊縞胡芦葫蒿虎號蝴護豪鎬頀顥惑或酷婚昏混渾琿魂忽惚笏哄弘汞泓洪烘紅虹訌鴻化和嬅樺火畵�\".split(\"\"),e=0;e!=n[251].length;++e)65533!==n[251][e].charCodeAt(0)&&(r[n[251][e]]=64256+e,t[64256+e]=n[251][e]);for(n[252]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������禍禾花華話譁貨靴廓擴攫確碻穫丸喚奐宦幻患換歡晥桓渙煥環紈還驩鰥活滑猾豁闊凰幌徨恍惶愰慌晃晄榥況湟滉潢煌璜皇篁簧荒蝗遑隍黃匯回廻徊恢悔懷晦會檜淮澮灰獪繪膾茴蛔誨賄劃獲宖橫鐄哮嚆孝效斅曉梟涍淆�\".split(\"\"),e=0;e!=n[252].length;++e)65533!==n[252][e].charCodeAt(0)&&(r[n[252][e]]=64512+e,t[64512+e]=n[252][e]);for(n[253]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������爻肴酵驍侯候厚后吼喉嗅帿後朽煦珝逅勛勳塤壎焄熏燻薰訓暈薨喧暄煊萱卉喙毁彙徽揮暉煇諱輝麾休携烋畦虧恤譎鷸兇凶匈洶胸黑昕欣炘痕吃屹紇訖欠欽歆吸恰洽翕興僖凞喜噫囍姬嬉希憙憘戱晞曦熙熹熺犧禧稀羲詰�\".split(\"\"),e=0;e!=n[253].length;++e)65533!==n[253][e].charCodeAt(0)&&(r[n[253][e]]=64768+e,t[64768+e]=n[253][e]);return{enc:r,dec:t}}(),r[950]=function(){var e,t=[],r={},n=[];for(n[0]=\"\\0\u0001\u0002\u0003\u0004\u0005\u0006\u0007\\b\\t\\n\\v\\f\\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������\".split(\"\"),e=0;e!=n[0].length;++e)65533!==n[0][e].charCodeAt(0)&&(r[n[0][e]]=0+e,t[0+e]=n[0][e]);for(n[161]=\"����������������������������������������������������������������　，、。．‧；：？！︰…‥﹐﹑﹒·﹔﹕﹖﹗｜–︱—︳╴︴﹏（）︵︶｛｝︷︸〔〕︹︺【】︻︼《》︽︾〈〉︿﹀「」﹁﹂『』﹃﹄﹙﹚����������������������������������﹛﹜﹝﹞‘’“”〝〞‵′＃＆＊※§〃○●△▲◎☆★◇◆□■▽▼㊣℅¯￣＿ˍ﹉﹊﹍﹎﹋﹌﹟﹠﹡＋－×÷±√＜＞＝≦≧≠∞≒≡﹢﹣﹤﹥﹦～∩∪⊥∠∟⊿㏒㏑∫∮∵∴♀♂⊕⊙↑↓←→↖↗↙↘∥∣／�\".split(\"\"),e=0;e!=n[161].length;++e)65533!==n[161][e].charCodeAt(0)&&(r[n[161][e]]=41216+e,t[41216+e]=n[161][e]);for(n[162]=\"����������������������������������������������������������������＼∕﹨＄￥〒￠￡％＠℃℉﹩﹪﹫㏕㎜㎝㎞㏎㎡㎎㎏㏄°兙兛兞兝兡兣嗧瓩糎▁▂▃▄▅▆▇█▏▎▍▌▋▊▉┼┴┬┤├▔─│▕┌┐└┘╭����������������������������������╮╰╯═╞╪╡◢◣◥◤╱╲╳０１２３４５６７８９ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ〡〢〣〤〥〦〧〨〩十卄卅ＡＢＣＤＥＦＧＨＩＪＫＬＭＮＯＰＱＲＳＴＵＶＷＸＹＺａｂｃｄｅｆｇｈｉｊｋｌｍｎｏｐｑｒｓｔｕｖ�\".split(\"\"),e=0;e!=n[162].length;++e)65533!==n[162][e].charCodeAt(0)&&(r[n[162][e]]=41472+e,t[41472+e]=n[162][e]);for(n[163]=\"����������������������������������������������������������������ｗｘｙｚΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρστυφχψωㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏ����������������������������������ㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩ˙ˉˊˇˋ���������������������������������€������������������������������\".split(\"\"),e=0;e!=n[163].length;++e)65533!==n[163][e].charCodeAt(0)&&(r[n[163][e]]=41728+e,t[41728+e]=n[163][e]);for(n[164]=\"����������������������������������������������������������������一乙丁七乃九了二人儿入八几刀刁力匕十卜又三下丈上丫丸凡久么也乞于亡兀刃勺千叉口土士夕大女子孑孓寸小尢尸山川工己已巳巾干廾弋弓才����������������������������������丑丐不中丰丹之尹予云井互五亢仁什仃仆仇仍今介仄元允內六兮公冗凶分切刈勻勾勿化匹午升卅卞厄友及反壬天夫太夭孔少尤尺屯巴幻廿弔引心戈戶手扎支文斗斤方日曰月木欠止歹毋比毛氏水火爪父爻片牙牛犬王丙�\".split(\"\"),e=0;e!=n[164].length;++e)65533!==n[164][e].charCodeAt(0)&&(r[n[164][e]]=41984+e,t[41984+e]=n[164][e]);for(n[165]=\"����������������������������������������������������������������世丕且丘主乍乏乎以付仔仕他仗代令仙仞充兄冉冊冬凹出凸刊加功包匆北匝仟半卉卡占卯卮去可古右召叮叩叨叼司叵叫另只史叱台句叭叻四囚外����������������������������������央失奴奶孕它尼巨巧左市布平幼弁弘弗必戊打扔扒扑斥旦朮本未末札正母民氐永汁汀氾犯玄玉瓜瓦甘生用甩田由甲申疋白皮皿目矛矢石示禾穴立丞丟乒乓乩亙交亦亥仿伉伙伊伕伍伐休伏仲件任仰仳份企伋光兇兆先全�\".split(\"\"),e=0;e!=n[165].length;++e)65533!==n[165][e].charCodeAt(0)&&(r[n[165][e]]=42240+e,t[42240+e]=n[165][e]);for(n[166]=\"����������������������������������������������������������������共再冰列刑划刎刖劣匈匡匠印危吉吏同吊吐吁吋各向名合吃后吆吒因回囝圳地在圭圬圯圩夙多夷夸妄奸妃好她如妁字存宇守宅安寺尖屹州帆并年����������������������������������式弛忙忖戎戌戍成扣扛托收早旨旬旭曲曳有朽朴朱朵次此死氖汝汗汙江池汐汕污汛汍汎灰牟牝百竹米糸缶羊羽老考而耒耳聿肉肋肌臣自至臼舌舛舟艮色艾虫血行衣西阡串亨位住佇佗佞伴佛何估佐佑伽伺伸佃佔似但佣�\".split(\"\"),e=0;e!=n[166].length;++e)65533!==n[166][e].charCodeAt(0)&&(r[n[166][e]]=42496+e,t[42496+e]=n[166][e]);for(n[167]=\"����������������������������������������������������������������作你伯低伶余佝佈佚兌克免兵冶冷別判利刪刨劫助努劬匣即卵吝吭吞吾否呎吧呆呃吳呈呂君吩告吹吻吸吮吵吶吠吼呀吱含吟听囪困囤囫坊坑址坍����������������������������������均坎圾坐坏圻壯夾妝妒妨妞妣妙妖妍妤妓妊妥孝孜孚孛完宋宏尬局屁尿尾岐岑岔岌巫希序庇床廷弄弟彤形彷役忘忌志忍忱快忸忪戒我抄抗抖技扶抉扭把扼找批扳抒扯折扮投抓抑抆改攻攸旱更束李杏材村杜杖杞杉杆杠�\".split(\"\"),e=0;e!=n[167].length;++e)65533!==n[167][e].charCodeAt(0)&&(r[n[167][e]]=42752+e,t[42752+e]=n[167][e]);for(n[168]=\"����������������������������������������������������������������杓杗步每求汞沙沁沈沉沅沛汪決沐汰沌汨沖沒汽沃汲汾汴沆汶沍沔沘沂灶灼災灸牢牡牠狄狂玖甬甫男甸皂盯矣私秀禿究系罕肖肓肝肘肛肚育良芒����������������������������������芋芍見角言谷豆豕貝赤走足身車辛辰迂迆迅迄巡邑邢邪邦那酉釆里防阮阱阪阬並乖乳事些亞享京佯依侍佳使佬供例來侃佰併侈佩佻侖佾侏侑佺兔兒兕兩具其典冽函刻券刷刺到刮制剁劾劻卒協卓卑卦卷卸卹取叔受味呵�\".split(\"\"),e=0;e!=n[168].length;++e)65533!==n[168][e].charCodeAt(0)&&(r[n[168][e]]=43008+e,t[43008+e]=n[168][e]);for(n[169]=\"����������������������������������������������������������������咖呸咕咀呻呷咄咒咆呼咐呱呶和咚呢周咋命咎固垃坷坪坩坡坦坤坼夜奉奇奈奄奔妾妻委妹妮姑姆姐姍始姓姊妯妳姒姅孟孤季宗定官宜宙宛尚屈居����������������������������������屆岷岡岸岩岫岱岳帘帚帖帕帛帑幸庚店府底庖延弦弧弩往征彿彼忝忠忽念忿怏怔怯怵怖怪怕怡性怩怫怛或戕房戾所承拉拌拄抿拂抹拒招披拓拔拋拈抨抽押拐拙拇拍抵拚抱拘拖拗拆抬拎放斧於旺昔易昌昆昂明昀昏昕昊�\".split(\"\"),e=0;e!=n[169].length;++e)65533!==n[169][e].charCodeAt(0)&&(r[n[169][e]]=43264+e,t[43264+e]=n[169][e]);for(n[170]=\"����������������������������������������������������������������昇服朋杭枋枕東果杳杷枇枝林杯杰板枉松析杵枚枓杼杪杲欣武歧歿氓氛泣注泳沱泌泥河沽沾沼波沫法泓沸泄油況沮泗泅泱沿治泡泛泊沬泯泜泖泠����������������������������������炕炎炒炊炙爬爭爸版牧物狀狎狙狗狐玩玨玟玫玥甽疝疙疚的盂盲直知矽社祀祁秉秈空穹竺糾罔羌羋者肺肥肢肱股肫肩肴肪肯臥臾舍芳芝芙芭芽芟芹花芬芥芯芸芣芰芾芷虎虱初表軋迎返近邵邸邱邶采金長門阜陀阿阻附�\".split(\"\"),e=0;e!=n[170].length;++e)65533!==n[170][e].charCodeAt(0)&&(r[n[170][e]]=43520+e,t[43520+e]=n[170][e]);for(n[171]=\"����������������������������������������������������������������陂隹雨青非亟亭亮信侵侯便俠俑俏保促侶俘俟俊俗侮俐俄係俚俎俞侷兗冒冑冠剎剃削前剌剋則勇勉勃勁匍南卻厚叛咬哀咨哎哉咸咦咳哇哂咽咪品����������������������������������哄哈咯咫咱咻咩咧咿囿垂型垠垣垢城垮垓奕契奏奎奐姜姘姿姣姨娃姥姪姚姦威姻孩宣宦室客宥封屎屏屍屋峙峒巷帝帥帟幽庠度建弈弭彥很待徊律徇後徉怒思怠急怎怨恍恰恨恢恆恃恬恫恪恤扁拜挖按拼拭持拮拽指拱拷�\".split(\"\"),e=0;e!=n[171].length;++e)65533!==n[171][e].charCodeAt(0)&&(r[n[171][e]]=43776+e,t[43776+e]=n[171][e]);for(n[172]=\"����������������������������������������������������������������拯括拾拴挑挂政故斫施既春昭映昧是星昨昱昤曷柿染柱柔某柬架枯柵柩柯柄柑枴柚查枸柏柞柳枰柙柢柝柒歪殃殆段毒毗氟泉洋洲洪流津洌洱洞洗����������������������������������活洽派洶洛泵洹洧洸洩洮洵洎洫炫為炳炬炯炭炸炮炤爰牲牯牴狩狠狡玷珊玻玲珍珀玳甚甭畏界畎畋疫疤疥疢疣癸皆皇皈盈盆盃盅省盹相眉看盾盼眇矜砂研砌砍祆祉祈祇禹禺科秒秋穿突竿竽籽紂紅紀紉紇約紆缸美羿耄�\".split(\"\"),e=0;e!=n[172].length;++e)65533!==n[172][e].charCodeAt(0)&&(r[n[172][e]]=44032+e,t[44032+e]=n[172][e]);for(n[173]=\"����������������������������������������������������������������耐耍耑耶胖胥胚胃胄背胡胛胎胞胤胝致舢苧范茅苣苛苦茄若茂茉苒苗英茁苜苔苑苞苓苟苯茆虐虹虻虺衍衫要觔計訂訃貞負赴赳趴軍軌述迦迢迪迥����������������������������������迭迫迤迨郊郎郁郃酋酊重閂限陋陌降面革韋韭音頁風飛食首香乘亳倌倍倣俯倦倥俸倩倖倆值借倚倒們俺倀倔倨俱倡個候倘俳修倭倪俾倫倉兼冤冥冢凍凌准凋剖剜剔剛剝匪卿原厝叟哨唐唁唷哼哥哲唆哺唔哩哭員唉哮哪�\".split(\"\"),e=0;e!=n[173].length;++e)65533!==n[173][e].charCodeAt(0)&&(r[n[173][e]]=44288+e,t[44288+e]=n[173][e]);for(n[174]=\"����������������������������������������������������������������哦唧唇哽唏圃圄埂埔埋埃堉夏套奘奚娑娘娜娟娛娓姬娠娣娩娥娌娉孫屘宰害家宴宮宵容宸射屑展屐峭峽峻峪峨峰島崁峴差席師庫庭座弱徒徑徐恙����������������������������������恣恥恐恕恭恩息悄悟悚悍悔悌悅悖扇拳挈拿捎挾振捕捂捆捏捉挺捐挽挪挫挨捍捌效敉料旁旅時晉晏晃晒晌晅晁書朔朕朗校核案框桓根桂桔栩梳栗桌桑栽柴桐桀格桃株桅栓栘桁殊殉殷氣氧氨氦氤泰浪涕消涇浦浸海浙涓�\".split(\"\"),e=0;e!=n[174].length;++e)65533!==n[174][e].charCodeAt(0)&&(r[n[174][e]]=44544+e,t[44544+e]=n[174][e]);for(n[175]=\"����������������������������������������������������������������浬涉浮浚浴浩涌涊浹涅浥涔烊烘烤烙烈烏爹特狼狹狽狸狷玆班琉珮珠珪珞畔畝畜畚留疾病症疲疳疽疼疹痂疸皋皰益盍盎眩真眠眨矩砰砧砸砝破砷����������������������������������砥砭砠砟砲祕祐祠祟祖神祝祗祚秤秣秧租秦秩秘窄窈站笆笑粉紡紗紋紊素索純紐紕級紜納紙紛缺罟羔翅翁耆耘耕耙耗耽耿胱脂胰脅胭胴脆胸胳脈能脊胼胯臭臬舀舐航舫舨般芻茫荒荔荊茸荐草茵茴荏茲茹茶茗荀茱茨荃�\".split(\"\"),e=0;e!=n[175].length;++e)65533!==n[175][e].charCodeAt(0)&&(r[n[175][e]]=44800+e,t[44800+e]=n[175][e]);for(n[176]=\"����������������������������������������������������������������虔蚊蚪蚓蚤蚩蚌蚣蚜衰衷袁袂衽衹記訐討訌訕訊託訓訖訏訑豈豺豹財貢起躬軒軔軏辱送逆迷退迺迴逃追逅迸邕郡郝郢酒配酌釘針釗釜釙閃院陣陡����������������������������������陛陝除陘陞隻飢馬骨高鬥鬲鬼乾偺偽停假偃偌做偉健偶偎偕偵側偷偏倏偯偭兜冕凰剪副勒務勘動匐匏匙匿區匾參曼商啪啦啄啞啡啃啊唱啖問啕唯啤唸售啜唬啣唳啁啗圈國圉域堅堊堆埠埤基堂堵執培夠奢娶婁婉婦婪婀�\".split(\"\"),e=0;e!=n[176].length;++e)65533!==n[176][e].charCodeAt(0)&&(r[n[176][e]]=45056+e,t[45056+e]=n[176][e]);for(n[177]=\"����������������������������������������������������������������娼婢婚婆婊孰寇寅寄寂宿密尉專將屠屜屝崇崆崎崛崖崢崑崩崔崙崤崧崗巢常帶帳帷康庸庶庵庾張強彗彬彩彫得徙從徘御徠徜恿患悉悠您惋悴惦悽����������������������������������情悻悵惜悼惘惕惆惟悸惚惇戚戛扈掠控捲掖探接捷捧掘措捱掩掉掃掛捫推掄授掙採掬排掏掀捻捩捨捺敝敖救教敗啟敏敘敕敔斜斛斬族旋旌旎晝晚晤晨晦晞曹勗望梁梯梢梓梵桿桶梱梧梗械梃棄梭梆梅梔條梨梟梡梂欲殺�\".split(\"\"),e=0;e!=n[177].length;++e)65533!==n[177][e].charCodeAt(0)&&(r[n[177][e]]=45312+e,t[45312+e]=n[177][e]);for(n[178]=\"����������������������������������������������������������������毫毬氫涎涼淳淙液淡淌淤添淺清淇淋涯淑涮淞淹涸混淵淅淒渚涵淚淫淘淪深淮淨淆淄涪淬涿淦烹焉焊烽烯爽牽犁猜猛猖猓猙率琅琊球理現琍瓠瓶����������������������������������瓷甜產略畦畢異疏痔痕疵痊痍皎盔盒盛眷眾眼眶眸眺硫硃硎祥票祭移窒窕笠笨笛第符笙笞笮粒粗粕絆絃統紮紹紼絀細紳組累終紲紱缽羞羚翌翎習耜聊聆脯脖脣脫脩脰脤舂舵舷舶船莎莞莘荸莢莖莽莫莒莊莓莉莠荷荻荼�\".split(\"\"),e=0;e!=n[178].length;++e)65533!==n[178][e].charCodeAt(0)&&(r[n[178][e]]=45568+e,t[45568+e]=n[178][e]);for(n[179]=\"����������������������������������������������������������������莆莧處彪蛇蛀蚶蛄蚵蛆蛋蚱蚯蛉術袞袈被袒袖袍袋覓規訪訝訣訥許設訟訛訢豉豚販責貫貨貪貧赧赦趾趺軛軟這逍通逗連速逝逐逕逞造透逢逖逛途����������������������������������部郭都酗野釵釦釣釧釭釩閉陪陵陳陸陰陴陶陷陬雀雪雩章竟頂頃魚鳥鹵鹿麥麻傢傍傅備傑傀傖傘傚最凱割剴創剩勞勝勛博厥啻喀喧啼喊喝喘喂喜喪喔喇喋喃喳單喟唾喲喚喻喬喱啾喉喫喙圍堯堪場堤堰報堡堝堠壹壺奠�\".split(\"\"),e=0;e!=n[179].length;++e)65533!==n[179][e].charCodeAt(0)&&(r[n[179][e]]=45824+e,t[45824+e]=n[179][e]);for(n[180]=\"����������������������������������������������������������������婷媚婿媒媛媧孳孱寒富寓寐尊尋就嵌嵐崴嵇巽幅帽幀幃幾廊廁廂廄弼彭復循徨惑惡悲悶惠愜愣惺愕惰惻惴慨惱愎惶愉愀愒戟扉掣掌描揀揩揉揆揍����������������������������������插揣提握揖揭揮捶援揪換摒揚揹敞敦敢散斑斐斯普晰晴晶景暑智晾晷曾替期朝棺棕棠棘棗椅棟棵森棧棹棒棲棣棋棍植椒椎棉棚楮棻款欺欽殘殖殼毯氮氯氬港游湔渡渲湧湊渠渥渣減湛湘渤湖湮渭渦湯渴湍渺測湃渝渾滋�\".split(\"\"),e=0;e!=n[180].length;++e)65533!==n[180][e].charCodeAt(0)&&(r[n[180][e]]=46080+e,t[46080+e]=n[180][e]);for(n[181]=\"����������������������������������������������������������������溉渙湎湣湄湲湩湟焙焚焦焰無然煮焜牌犄犀猶猥猴猩琺琪琳琢琥琵琶琴琯琛琦琨甥甦畫番痢痛痣痙痘痞痠登發皖皓皴盜睏短硝硬硯稍稈程稅稀窘����������������������������������窗窖童竣等策筆筐筒答筍筋筏筑粟粥絞結絨絕紫絮絲絡給絢絰絳善翔翕耋聒肅腕腔腋腑腎脹腆脾腌腓腴舒舜菩萃菸萍菠菅萋菁華菱菴著萊菰萌菌菽菲菊萸萎萄菜萇菔菟虛蛟蛙蛭蛔蛛蛤蛐蛞街裁裂袱覃視註詠評詞証詁�\".split(\"\"),e=0;e!=n[181].length;++e)65533!==n[181][e].charCodeAt(0)&&(r[n[181][e]]=46336+e,t[46336+e]=n[181][e]);for(n[182]=\"����������������������������������������������������������������詔詛詐詆訴診訶詖象貂貯貼貳貽賁費賀貴買貶貿貸越超趁跎距跋跚跑跌跛跆軻軸軼辜逮逵週逸進逶鄂郵鄉郾酣酥量鈔鈕鈣鈉鈞鈍鈐鈇鈑閔閏開閑����������������������������������間閒閎隊階隋陽隅隆隍陲隄雁雅雄集雇雯雲韌項順須飧飪飯飩飲飭馮馭黃黍黑亂傭債傲傳僅傾催傷傻傯僇剿剷剽募勦勤勢勣匯嗟嗨嗓嗦嗎嗜嗇嗑嗣嗤嗯嗚嗡嗅嗆嗥嗉園圓塞塑塘塗塚塔填塌塭塊塢塒塋奧嫁嫉嫌媾媽媼�\".split(\"\"),e=0;e!=n[182].length;++e)65533!==n[182][e].charCodeAt(0)&&(r[n[182][e]]=46592+e,t[46592+e]=n[182][e]);for(n[183]=\"����������������������������������������������������������������媳嫂媲嵩嵯幌幹廉廈弒彙徬微愚意慈感想愛惹愁愈慎慌慄慍愾愴愧愍愆愷戡戢搓搾搞搪搭搽搬搏搜搔損搶搖搗搆敬斟新暗暉暇暈暖暄暘暍會榔業����������������������������������楚楷楠楔極椰概楊楨楫楞楓楹榆楝楣楛歇歲毀殿毓毽溢溯滓溶滂源溝滇滅溥溘溼溺溫滑準溜滄滔溪溧溴煎煙煩煤煉照煜煬煦煌煥煞煆煨煖爺牒猷獅猿猾瑯瑚瑕瑟瑞瑁琿瑙瑛瑜當畸瘀痰瘁痲痱痺痿痴痳盞盟睛睫睦睞督�\".split(\"\"),e=0;e!=n[183].length;++e)65533!==n[183][e].charCodeAt(0)&&(r[n[183][e]]=46848+e,t[46848+e]=n[183][e]);for(n[184]=\"����������������������������������������������������������������睹睪睬睜睥睨睢矮碎碰碗碘碌碉硼碑碓硿祺祿禁萬禽稜稚稠稔稟稞窟窠筷節筠筮筧粱粳粵經絹綑綁綏絛置罩罪署義羨群聖聘肆肄腱腰腸腥腮腳腫����������������������������������腹腺腦舅艇蒂葷落萱葵葦葫葉葬葛萼萵葡董葩葭葆虞虜號蛹蜓蜈蜇蜀蛾蛻蜂蜃蜆蜊衙裟裔裙補裘裝裡裊裕裒覜解詫該詳試詩詰誇詼詣誠話誅詭詢詮詬詹詻訾詨豢貊貉賊資賈賄貲賃賂賅跡跟跨路跳跺跪跤跦躲較載軾輊�\".split(\"\"),e=0;e!=n[184].length;++e)65533!==n[184][e].charCodeAt(0)&&(r[n[184][e]]=47104+e,t[47104+e]=n[184][e]);for(n[185]=\"����������������������������������������������������������������辟農運遊道遂達逼違遐遇遏過遍遑逾遁鄒鄗酬酪酩釉鈷鉗鈸鈽鉀鈾鉛鉋鉤鉑鈴鉉鉍鉅鈹鈿鉚閘隘隔隕雍雋雉雊雷電雹零靖靴靶預頑頓頊頒頌飼飴����������������������������������飽飾馳馱馴髡鳩麂鼎鼓鼠僧僮僥僖僭僚僕像僑僱僎僩兢凳劃劂匱厭嗾嘀嘛嘗嗽嘔嘆嘉嘍嘎嗷嘖嘟嘈嘐嗶團圖塵塾境墓墊塹墅塽壽夥夢夤奪奩嫡嫦嫩嫗嫖嫘嫣孵寞寧寡寥實寨寢寤察對屢嶄嶇幛幣幕幗幔廓廖弊彆彰徹慇�\".split(\"\"),e=0;e!=n[185].length;++e)65533!==n[185][e].charCodeAt(0)&&(r[n[185][e]]=47360+e,t[47360+e]=n[185][e]);for(n[186]=\"����������������������������������������������������������������愿態慷慢慣慟慚慘慵截撇摘摔撤摸摟摺摑摧搴摭摻敲斡旗旖暢暨暝榜榨榕槁榮槓構榛榷榻榫榴槐槍榭槌榦槃榣歉歌氳漳演滾漓滴漩漾漠漬漏漂漢����������������������������������滿滯漆漱漸漲漣漕漫漯澈漪滬漁滲滌滷熔熙煽熊熄熒爾犒犖獄獐瑤瑣瑪瑰瑭甄疑瘧瘍瘋瘉瘓盡監瞄睽睿睡磁碟碧碳碩碣禎福禍種稱窪窩竭端管箕箋筵算箝箔箏箸箇箄粹粽精綻綰綜綽綾綠緊綴網綱綺綢綿綵綸維緒緇綬�\".split(\"\"),e=0;e!=n[186].length;++e)65533!==n[186][e].charCodeAt(0)&&(r[n[186][e]]=47616+e,t[47616+e]=n[186][e]);for(n[187]=\"����������������������������������������������������������������罰翠翡翟聞聚肇腐膀膏膈膊腿膂臧臺與舔舞艋蓉蒿蓆蓄蒙蒞蒲蒜蓋蒸蓀蓓蒐蒼蓑蓊蜿蜜蜻蜢蜥蜴蜘蝕蜷蜩裳褂裴裹裸製裨褚裯誦誌語誣認誡誓誤����������������������������������說誥誨誘誑誚誧豪貍貌賓賑賒赫趙趕跼輔輒輕輓辣遠遘遜遣遙遞遢遝遛鄙鄘鄞酵酸酷酴鉸銀銅銘銖鉻銓銜銨鉼銑閡閨閩閣閥閤隙障際雌雒需靼鞅韶頗領颯颱餃餅餌餉駁骯骰髦魁魂鳴鳶鳳麼鼻齊億儀僻僵價儂儈儉儅凜�\".split(\"\"),e=0;e!=n[187].length;++e)65533!==n[187][e].charCodeAt(0)&&(r[n[187][e]]=47872+e,t[47872+e]=n[187][e]);for(n[188]=\"����������������������������������������������������������������劇劈劉劍劊勰厲嘮嘻嘹嘲嘿嘴嘩噓噎噗噴嘶嘯嘰墀墟增墳墜墮墩墦奭嬉嫻嬋嫵嬌嬈寮寬審寫層履嶝嶔幢幟幡廢廚廟廝廣廠彈影德徵慶慧慮慝慕憂����������������������������������慼慰慫慾憧憐憫憎憬憚憤憔憮戮摩摯摹撞撲撈撐撰撥撓撕撩撒撮播撫撚撬撙撢撳敵敷數暮暫暴暱樣樟槨樁樞標槽模樓樊槳樂樅槭樑歐歎殤毅毆漿潼澄潑潦潔澆潭潛潸潮澎潺潰潤澗潘滕潯潠潟熟熬熱熨牖犛獎獗瑩璋璃�\".split(\"\"),e=0;e!=n[188].length;++e)65533!==n[188][e].charCodeAt(0)&&(r[n[188][e]]=48128+e,t[48128+e]=n[188][e]);for(n[189]=\"����������������������������������������������������������������瑾璀畿瘠瘩瘟瘤瘦瘡瘢皚皺盤瞎瞇瞌瞑瞋磋磅確磊碾磕碼磐稿稼穀稽稷稻窯窮箭箱範箴篆篇篁箠篌糊締練緯緻緘緬緝編緣線緞緩綞緙緲緹罵罷羯����������������������������������翩耦膛膜膝膠膚膘蔗蔽蔚蓮蔬蔭蔓蔑蔣蔡蔔蓬蔥蓿蔆螂蝴蝶蝠蝦蝸蝨蝙蝗蝌蝓衛衝褐複褒褓褕褊誼諒談諄誕請諸課諉諂調誰論諍誶誹諛豌豎豬賠賞賦賤賬賭賢賣賜質賡赭趟趣踫踐踝踢踏踩踟踡踞躺輝輛輟輩輦輪輜輞�\".split(\"\"),e=0;e!=n[189].length;++e)65533!==n[189][e].charCodeAt(0)&&(r[n[189][e]]=48384+e,t[48384+e]=n[189][e]);for(n[190]=\"����������������������������������������������������������������輥適遮遨遭遷鄰鄭鄧鄱醇醉醋醃鋅銻銷鋪銬鋤鋁銳銼鋒鋇鋰銲閭閱霄霆震霉靠鞍鞋鞏頡頫頜颳養餓餒餘駝駐駟駛駑駕駒駙骷髮髯鬧魅魄魷魯鴆鴉����������������������������������鴃麩麾黎墨齒儒儘儔儐儕冀冪凝劑劓勳噙噫噹噩噤噸噪器噥噱噯噬噢噶壁墾壇壅奮嬝嬴學寰導彊憲憑憩憊懍憶憾懊懈戰擅擁擋撻撼據擄擇擂操撿擒擔撾整曆曉暹曄曇暸樽樸樺橙橫橘樹橄橢橡橋橇樵機橈歙歷氅濂澱澡�\".split(\"\"),e=0;e!=n[190].length;++e)65533!==n[190][e].charCodeAt(0)&&(r[n[190][e]]=48640+e,t[48640+e]=n[190][e]);for(n[191]=\"����������������������������������������������������������������濃澤濁澧澳激澹澶澦澠澴熾燉燐燒燈燕熹燎燙燜燃燄獨璜璣璘璟璞瓢甌甍瘴瘸瘺盧盥瞠瞞瞟瞥磨磚磬磧禦積穎穆穌穋窺篙簑築篤篛篡篩篦糕糖縊����������������������������������縑縈縛縣縞縝縉縐罹羲翰翱翮耨膳膩膨臻興艘艙蕊蕙蕈蕨蕩蕃蕉蕭蕪蕞螃螟螞螢融衡褪褲褥褫褡親覦諦諺諫諱謀諜諧諮諾謁謂諷諭諳諶諼豫豭貓賴蹄踱踴蹂踹踵輻輯輸輳辨辦遵遴選遲遼遺鄴醒錠錶鋸錳錯錢鋼錫錄錚�\".split(\"\"),e=0;e!=n[191].length;++e)65533!==n[191][e].charCodeAt(0)&&(r[n[191][e]]=48896+e,t[48896+e]=n[191][e]);for(n[192]=\"����������������������������������������������������������������錐錦錡錕錮錙閻隧隨險雕霎霑霖霍霓霏靛靜靦鞘頰頸頻頷頭頹頤餐館餞餛餡餚駭駢駱骸骼髻髭鬨鮑鴕鴣鴦鴨鴒鴛默黔龍龜優償儡儲勵嚎嚀嚐嚅嚇����������������������������������嚏壕壓壑壎嬰嬪嬤孺尷屨嶼嶺嶽嶸幫彌徽應懂懇懦懋戲戴擎擊擘擠擰擦擬擱擢擭斂斃曙曖檀檔檄檢檜櫛檣橾檗檐檠歜殮毚氈濘濱濟濠濛濤濫濯澀濬濡濩濕濮濰燧營燮燦燥燭燬燴燠爵牆獰獲璩環璦璨癆療癌盪瞳瞪瞰瞬�\".split(\"\"),e=0;e!=n[192].length;++e)65533!==n[192][e].charCodeAt(0)&&(r[n[192][e]]=49152+e,t[49152+e]=n[192][e]);for(n[193]=\"����������������������������������������������������������������瞧瞭矯磷磺磴磯礁禧禪穗窿簇簍篾篷簌篠糠糜糞糢糟糙糝縮績繆縷縲繃縫總縱繅繁縴縹繈縵縿縯罄翳翼聱聲聰聯聳臆臃膺臂臀膿膽臉膾臨舉艱薪����������������������������������薄蕾薜薑薔薯薛薇薨薊虧蟀蟑螳蟒蟆螫螻螺蟈蟋褻褶襄褸褽覬謎謗謙講謊謠謝謄謐豁谿豳賺賽購賸賻趨蹉蹋蹈蹊轄輾轂轅輿避遽還邁邂邀鄹醣醞醜鍍鎂錨鍵鍊鍥鍋錘鍾鍬鍛鍰鍚鍔闊闋闌闈闆隱隸雖霜霞鞠韓顆颶餵騁�\".split(\"\"),e=0;e!=n[193].length;++e)65533!==n[193][e].charCodeAt(0)&&(r[n[193][e]]=49408+e,t[49408+e]=n[193][e]);for(n[194]=\"����������������������������������������������������������������駿鮮鮫鮪鮭鴻鴿麋黏點黜黝黛鼾齋叢嚕嚮壙壘嬸彝懣戳擴擲擾攆擺擻擷斷曜朦檳檬櫃檻檸櫂檮檯歟歸殯瀉瀋濾瀆濺瀑瀏燻燼燾燸獷獵璧璿甕癖癘����������������������������������癒瞽瞿瞻瞼礎禮穡穢穠竄竅簫簧簪簞簣簡糧織繕繞繚繡繒繙罈翹翻職聶臍臏舊藏薩藍藐藉薰薺薹薦蟯蟬蟲蟠覆覲觴謨謹謬謫豐贅蹙蹣蹦蹤蹟蹕軀轉轍邇邃邈醫醬釐鎔鎊鎖鎢鎳鎮鎬鎰鎘鎚鎗闔闖闐闕離雜雙雛雞霤鞣鞦�\".split(\"\"),e=0;e!=n[194].length;++e)65533!==n[194][e].charCodeAt(0)&&(r[n[194][e]]=49664+e,t[49664+e]=n[194][e]);for(n[195]=\"����������������������������������������������������������������鞭韹額顏題顎顓颺餾餿餽餮馥騎髁鬃鬆魏魎魍鯊鯉鯽鯈鯀鵑鵝鵠黠鼕鼬儳嚥壞壟壢寵龐廬懲懷懶懵攀攏曠曝櫥櫝櫚櫓瀛瀟瀨瀚瀝瀕瀘爆爍牘犢獸����������������������������������獺璽瓊瓣疇疆癟癡矇礙禱穫穩簾簿簸簽簷籀繫繭繹繩繪羅繳羶羹羸臘藩藝藪藕藤藥藷蟻蠅蠍蟹蟾襠襟襖襞譁譜識證譚譎譏譆譙贈贊蹼蹲躇蹶蹬蹺蹴轔轎辭邊邋醱醮鏡鏑鏟鏃鏈鏜鏝鏖鏢鏍鏘鏤鏗鏨關隴難霪霧靡韜韻類�\".split(\"\"),e=0;e!=n[195].length;++e)65533!==n[195][e].charCodeAt(0)&&(r[n[195][e]]=49920+e,t[49920+e]=n[195][e]);for(n[196]=\"����������������������������������������������������������������願顛颼饅饉騖騙鬍鯨鯧鯖鯛鶉鵡鵲鵪鵬麒麗麓麴勸嚨嚷嚶嚴嚼壤孀孃孽寶巉懸懺攘攔攙曦朧櫬瀾瀰瀲爐獻瓏癢癥礦礪礬礫竇競籌籃籍糯糰辮繽繼����������������������������������纂罌耀臚艦藻藹蘑藺蘆蘋蘇蘊蠔蠕襤覺觸議譬警譯譟譫贏贍躉躁躅躂醴釋鐘鐃鏽闡霰飄饒饑馨騫騰騷騵鰓鰍鹹麵黨鼯齟齣齡儷儸囁囀囂夔屬巍懼懾攝攜斕曩櫻欄櫺殲灌爛犧瓖瓔癩矓籐纏續羼蘗蘭蘚蠣蠢蠡蠟襪襬覽譴�\".split(\"\"),e=0;e!=n[196].length;++e)65533!==n[196][e].charCodeAt(0)&&(r[n[196][e]]=50176+e,t[50176+e]=n[196][e]);for(n[197]=\"����������������������������������������������������������������護譽贓躊躍躋轟辯醺鐮鐳鐵鐺鐸鐲鐫闢霸霹露響顧顥饗驅驃驀騾髏魔魑鰭鰥鶯鶴鷂鶸麝黯鼙齜齦齧儼儻囈囊囉孿巔巒彎懿攤權歡灑灘玀瓤疊癮癬����������������������������������禳籠籟聾聽臟襲襯觼讀贖贗躑躓轡酈鑄鑑鑒霽霾韃韁顫饕驕驍髒鬚鱉鰱鰾鰻鷓鷗鼴齬齪龔囌巖戀攣攫攪曬欐瓚竊籤籣籥纓纖纔臢蘸蘿蠱變邐邏鑣鑠鑤靨顯饜驚驛驗髓體髑鱔鱗鱖鷥麟黴囑壩攬灞癱癲矗罐羈蠶蠹衢讓讒�\".split(\"\"),e=0;e!=n[197].length;++e)65533!==n[197][e].charCodeAt(0)&&(r[n[197][e]]=50432+e,t[50432+e]=n[197][e]);for(n[198]=\"����������������������������������������������������������������讖艷贛釀鑪靂靈靄韆顰驟鬢魘鱟鷹鷺鹼鹽鼇齷齲廳欖灣籬籮蠻觀躡釁鑲鑰顱饞髖鬣黌灤矚讚鑷韉驢驥纜讜躪釅鑽鑾鑼鱷鱸黷豔鑿鸚爨驪鬱鸛鸞籲���������������������������������������������������������������������������������������������������������������������������������\".split(\"\"),e=0;e!=n[198].length;++e)65533!==n[198][e].charCodeAt(0)&&(r[n[198][e]]=50688+e,t[50688+e]=n[198][e]);for(n[201]=\"����������������������������������������������������������������乂乜凵匚厂万丌乇亍囗兀屮彳丏冇与丮亓仂仉仈冘勼卬厹圠夃夬尐巿旡殳毌气爿丱丼仨仜仩仡仝仚刌匜卌圢圣夗夯宁宄尒尻屴屳帄庀庂忉戉扐氕����������������������������������氶汃氿氻犮犰玊禸肊阞伎优伬仵伔仱伀价伈伝伂伅伢伓伄仴伒冱刓刉刐劦匢匟卍厊吇囡囟圮圪圴夼妀奼妅奻奾奷奿孖尕尥屼屺屻屾巟幵庄异弚彴忕忔忏扜扞扤扡扦扢扙扠扚扥旯旮朾朹朸朻机朿朼朳氘汆汒汜汏汊汔汋�\".split(\"\"),e=0;e!=n[201].length;++e)65533!==n[201][e].charCodeAt(0)&&(r[n[201][e]]=51456+e,t[51456+e]=n[201][e]);for(n[202]=\"����������������������������������������������������������������汌灱牞犴犵玎甪癿穵网艸艼芀艽艿虍襾邙邗邘邛邔阢阤阠阣佖伻佢佉体佤伾佧佒佟佁佘伭伳伿佡冏冹刜刞刡劭劮匉卣卲厎厏吰吷吪呔呅吙吜吥吘����������������������������������吽呏呁吨吤呇囮囧囥坁坅坌坉坋坒夆奀妦妘妠妗妎妢妐妏妧妡宎宒尨尪岍岏岈岋岉岒岊岆岓岕巠帊帎庋庉庌庈庍弅弝彸彶忒忑忐忭忨忮忳忡忤忣忺忯忷忻怀忴戺抃抌抎抏抔抇扱扻扺扰抁抈扷扽扲扴攷旰旴旳旲旵杅杇�\".split(\"\"),e=0;e!=n[202].length;++e)65533!==n[202][e].charCodeAt(0)&&(r[n[202][e]]=51712+e,t[51712+e]=n[202][e]);for(n[203]=\"����������������������������������������������������������������杙杕杌杈杝杍杚杋毐氙氚汸汧汫沄沋沏汱汯汩沚汭沇沕沜汦汳汥汻沎灴灺牣犿犽狃狆狁犺狅玕玗玓玔玒町甹疔疕皁礽耴肕肙肐肒肜芐芏芅芎芑芓����������������������������������芊芃芄豸迉辿邟邡邥邞邧邠阰阨阯阭丳侘佼侅佽侀侇佶佴侉侄佷佌侗佪侚佹侁佸侐侜侔侞侒侂侕佫佮冞冼冾刵刲刳剆刱劼匊匋匼厒厔咇呿咁咑咂咈呫呺呾呥呬呴呦咍呯呡呠咘呣呧呤囷囹坯坲坭坫坱坰坶垀坵坻坳坴坢�\".split(\"\"),e=0;e!=n[203].length;++e)65533!==n[203][e].charCodeAt(0)&&(r[n[203][e]]=51968+e,t[51968+e]=n[203][e]);for(n[204]=\"����������������������������������������������������������������坨坽夌奅妵妺姏姎妲姌姁妶妼姃姖妱妽姀姈妴姇孢孥宓宕屄屇岮岤岠岵岯岨岬岟岣岭岢岪岧岝岥岶岰岦帗帔帙弨弢弣弤彔徂彾彽忞忥怭怦怙怲怋����������������������������������怴怊怗怳怚怞怬怢怍怐怮怓怑怌怉怜戔戽抭抴拑抾抪抶拊抮抳抯抻抩抰抸攽斨斻昉旼昄昒昈旻昃昋昍昅旽昑昐曶朊枅杬枎枒杶杻枘枆构杴枍枌杺枟枑枙枃杽极杸杹枔欥殀歾毞氝沓泬泫泮泙沶泔沭泧沷泐泂沺泃泆泭泲�\".split(\"\"),e=0;e!=n[204].length;++e)65533!==n[204][e].charCodeAt(0)&&(r[n[204][e]]=52224+e,t[52224+e]=n[204][e]);for(n[205]=\"����������������������������������������������������������������泒泝沴沊沝沀泞泀洰泍泇沰泹泏泩泑炔炘炅炓炆炄炑炖炂炚炃牪狖狋狘狉狜狒狔狚狌狑玤玡玭玦玢玠玬玝瓝瓨甿畀甾疌疘皯盳盱盰盵矸矼矹矻矺����������������������������������矷祂礿秅穸穻竻籵糽耵肏肮肣肸肵肭舠芠苀芫芚芘芛芵芧芮芼芞芺芴芨芡芩苂芤苃芶芢虰虯虭虮豖迒迋迓迍迖迕迗邲邴邯邳邰阹阽阼阺陃俍俅俓侲俉俋俁俔俜俙侻侳俛俇俖侺俀侹俬剄剉勀勂匽卼厗厖厙厘咺咡咭咥哏�\".split(\"\"),e=0;e!=n[205].length;++e)65533!==n[205][e].charCodeAt(0)&&(r[n[205][e]]=52480+e,t[52480+e]=n[205][e]);for(n[206]=\"����������������������������������������������������������������哃茍咷咮哖咶哅哆咠呰咼咢咾呲哞咰垵垞垟垤垌垗垝垛垔垘垏垙垥垚垕壴复奓姡姞姮娀姱姝姺姽姼姶姤姲姷姛姩姳姵姠姾姴姭宨屌峐峘峌峗峋峛����������������������������������峞峚峉峇峊峖峓峔峏峈峆峎峟峸巹帡帢帣帠帤庰庤庢庛庣庥弇弮彖徆怷怹恔恲恞恅恓恇恉恛恌恀恂恟怤恄恘恦恮扂扃拏挍挋拵挎挃拫拹挏挌拸拶挀挓挔拺挕拻拰敁敃斪斿昶昡昲昵昜昦昢昳昫昺昝昴昹昮朏朐柁柲柈枺�\".split(\"\"),e=0;e!=n[206].length;++e)65533!==n[206][e].charCodeAt(0)&&(r[n[206][e]]=52736+e,t[52736+e]=n[206][e]);for(n[207]=\"����������������������������������������������������������������柜枻柸柘柀枷柅柫柤柟枵柍枳柷柶柮柣柂枹柎柧柰枲柼柆柭柌枮柦柛柺柉柊柃柪柋欨殂殄殶毖毘毠氠氡洨洴洭洟洼洿洒洊泚洳洄洙洺洚洑洀洝浂����������������������������������洁洘洷洃洏浀洇洠洬洈洢洉洐炷炟炾炱炰炡炴炵炩牁牉牊牬牰牳牮狊狤狨狫狟狪狦狣玅珌珂珈珅玹玶玵玴珫玿珇玾珃珆玸珋瓬瓮甮畇畈疧疪癹盄眈眃眄眅眊盷盻盺矧矨砆砑砒砅砐砏砎砉砃砓祊祌祋祅祄秕种秏秖秎窀�\".split(\"\"),e=0;e!=n[207].length;++e)65533!==n[207][e].charCodeAt(0)&&(r[n[207][e]]=52992+e,t[52992+e]=n[207][e]);for(n[208]=\"����������������������������������������������������������������穾竑笀笁籺籸籹籿粀粁紃紈紁罘羑羍羾耇耎耏耔耷胘胇胠胑胈胂胐胅胣胙胜胊胕胉胏胗胦胍臿舡芔苙苾苹茇苨茀苕茺苫苖苴苬苡苲苵茌苻苶苰苪����������������������������������苤苠苺苳苭虷虴虼虳衁衎衧衪衩觓訄訇赲迣迡迮迠郱邽邿郕郅邾郇郋郈釔釓陔陏陑陓陊陎倞倅倇倓倢倰倛俵俴倳倷倬俶俷倗倜倠倧倵倯倱倎党冔冓凊凄凅凈凎剡剚剒剞剟剕剢勍匎厞唦哢唗唒哧哳哤唚哿唄唈哫唑唅哱�\".split(\"\"),e=0;e!=n[208].length;++e)65533!==n[208][e].charCodeAt(0)&&(r[n[208][e]]=53248+e,t[53248+e]=n[208][e]);for(n[209]=\"����������������������������������������������������������������唊哻哷哸哠唎唃唋圁圂埌堲埕埒垺埆垽垼垸垶垿埇埐垹埁夎奊娙娖娭娮娕娏娗娊娞娳孬宧宭宬尃屖屔峬峿峮峱峷崀峹帩帨庨庮庪庬弳弰彧恝恚恧����������������������������������恁悢悈悀悒悁悝悃悕悛悗悇悜悎戙扆拲挐捖挬捄捅挶捃揤挹捋捊挼挩捁挴捘捔捙挭捇挳捚捑挸捗捀捈敊敆旆旃旄旂晊晟晇晑朒朓栟栚桉栲栳栻桋桏栖栱栜栵栫栭栯桎桄栴栝栒栔栦栨栮桍栺栥栠欬欯欭欱欴歭肂殈毦毤�\".split(\"\"),e=0;e!=n[209].length;++e)65533!==n[209][e].charCodeAt(0)&&(r[n[209][e]]=53504+e,t[53504+e]=n[209][e]);for(n[210]=\"����������������������������������������������������������������毨毣毢毧氥浺浣浤浶洍浡涒浘浢浭浯涑涍淯浿涆浞浧浠涗浰浼浟涂涘洯浨涋浾涀涄洖涃浻浽浵涐烜烓烑烝烋缹烢烗烒烞烠烔烍烅烆烇烚烎烡牂牸����������������������������������牷牶猀狺狴狾狶狳狻猁珓珙珥珖玼珧珣珩珜珒珛珔珝珚珗珘珨瓞瓟瓴瓵甡畛畟疰痁疻痄痀疿疶疺皊盉眝眛眐眓眒眣眑眕眙眚眢眧砣砬砢砵砯砨砮砫砡砩砳砪砱祔祛祏祜祓祒祑秫秬秠秮秭秪秜秞秝窆窉窅窋窌窊窇竘笐�\".split(\"\"),e=0;e!=n[210].length;++e)65533!==n[210][e].charCodeAt(0)&&(r[n[210][e]]=53760+e,t[53760+e]=n[210][e]);for(n[211]=\"����������������������������������������������������������������笄笓笅笏笈笊笎笉笒粄粑粊粌粈粍粅紞紝紑紎紘紖紓紟紒紏紌罜罡罞罠罝罛羖羒翃翂翀耖耾耹胺胲胹胵脁胻脀舁舯舥茳茭荄茙荑茥荖茿荁茦茜茢����������������������������������荂荎茛茪茈茼荍茖茤茠茷茯茩荇荅荌荓茞茬荋茧荈虓虒蚢蚨蚖蚍蚑蚞蚇蚗蚆蚋蚚蚅蚥蚙蚡蚧蚕蚘蚎蚝蚐蚔衃衄衭衵衶衲袀衱衿衯袃衾衴衼訒豇豗豻貤貣赶赸趵趷趶軑軓迾迵适迿迻逄迼迶郖郠郙郚郣郟郥郘郛郗郜郤酐�\".split(\"\"),e=0;e!=n[211].length;++e)65533!==n[211][e].charCodeAt(0)&&(r[n[211][e]]=54016+e,t[54016+e]=n[211][e]);for(n[212]=\"����������������������������������������������������������������酎酏釕釢釚陜陟隼飣髟鬯乿偰偪偡偞偠偓偋偝偲偈偍偁偛偊偢倕偅偟偩偫偣偤偆偀偮偳偗偑凐剫剭剬剮勖勓匭厜啵啶唼啍啐唴唪啑啢唶唵唰啒啅����������������������������������唌唲啥啎唹啈唭唻啀啋圊圇埻堔埢埶埜埴堀埭埽堈埸堋埳埏堇埮埣埲埥埬埡堎埼堐埧堁堌埱埩埰堍堄奜婠婘婕婧婞娸娵婭婐婟婥婬婓婤婗婃婝婒婄婛婈媎娾婍娹婌婰婩婇婑婖婂婜孲孮寁寀屙崞崋崝崚崠崌崨崍崦崥崏�\".split(\"\"),e=0;e!=n[212].length;++e)65533!==n[212][e].charCodeAt(0)&&(r[n[212][e]]=54272+e,t[54272+e]=n[212][e]);for(n[213]=\"����������������������������������������������������������������崰崒崣崟崮帾帴庱庴庹庲庳弶弸徛徖徟悊悐悆悾悰悺惓惔惏惤惙惝惈悱惛悷惊悿惃惍惀挲捥掊掂捽掽掞掭掝掗掫掎捯掇掐据掯捵掜捭掮捼掤挻掟����������������������������������捸掅掁掑掍捰敓旍晥晡晛晙晜晢朘桹梇梐梜桭桮梮梫楖桯梣梬梩桵桴梲梏桷梒桼桫桲梪梀桱桾梛梖梋梠梉梤桸桻梑梌梊桽欶欳欷欸殑殏殍殎殌氪淀涫涴涳湴涬淩淢涷淶淔渀淈淠淟淖涾淥淜淝淛淴淊涽淭淰涺淕淂淏淉�\".split(\"\"),e=0;e!=n[213].length;++e)65533!==n[213][e].charCodeAt(0)&&(r[n[213][e]]=54528+e,t[54528+e]=n[213][e]);for(n[214]=\"����������������������������������������������������������������淐淲淓淽淗淍淣涻烺焍烷焗烴焌烰焄烳焐烼烿焆焓焀烸烶焋焂焎牾牻牼牿猝猗猇猑猘猊猈狿猏猞玈珶珸珵琄琁珽琇琀珺珼珿琌琋珴琈畤畣痎痒痏����������������������������������痋痌痑痐皏皉盓眹眯眭眱眲眴眳眽眥眻眵硈硒硉硍硊硌砦硅硐祤祧祩祪祣祫祡离秺秸秶秷窏窔窐笵筇笴笥笰笢笤笳笘笪笝笱笫笭笯笲笸笚笣粔粘粖粣紵紽紸紶紺絅紬紩絁絇紾紿絊紻紨罣羕羜羝羛翊翋翍翐翑翇翏翉耟�\".split(\"\"),e=0;e!=n[214].length;++e)65533!==n[214][e].charCodeAt(0)&&(r[n[214][e]]=54784+e,t[54784+e]=n[214][e]);for(n[215]=\"����������������������������������������������������������������耞耛聇聃聈脘脥脙脛脭脟脬脞脡脕脧脝脢舑舸舳舺舴舲艴莐莣莨莍荺荳莤荴莏莁莕莙荵莔莩荽莃莌莝莛莪莋荾莥莯莈莗莰荿莦莇莮荶莚虙虖蚿蚷����������������������������������蛂蛁蛅蚺蚰蛈蚹蚳蚸蛌蚴蚻蚼蛃蚽蚾衒袉袕袨袢袪袚袑袡袟袘袧袙袛袗袤袬袌袓袎覂觖觙觕訰訧訬訞谹谻豜豝豽貥赽赻赹趼跂趹趿跁軘軞軝軜軗軠軡逤逋逑逜逌逡郯郪郰郴郲郳郔郫郬郩酖酘酚酓酕釬釴釱釳釸釤釹釪�\".split(\"\"),e=0;e!=n[215].length;++e)65533!==n[215][e].charCodeAt(0)&&(r[n[215][e]]=55040+e,t[55040+e]=n[215][e]);for(n[216]=\"����������������������������������������������������������������釫釷釨釮镺閆閈陼陭陫陱陯隿靪頄飥馗傛傕傔傞傋傣傃傌傎傝偨傜傒傂傇兟凔匒匑厤厧喑喨喥喭啷噅喢喓喈喏喵喁喣喒喤啽喌喦啿喕喡喎圌堩堷����������������������������������堙堞堧堣堨埵塈堥堜堛堳堿堶堮堹堸堭堬堻奡媯媔媟婺媢媞婸媦婼媥媬媕媮娷媄媊媗媃媋媩婻婽媌媜媏媓媝寪寍寋寔寑寊寎尌尰崷嵃嵫嵁嵋崿崵嵑嵎嵕崳崺嵒崽崱嵙嵂崹嵉崸崼崲崶嵀嵅幄幁彘徦徥徫惉悹惌惢惎惄愔�\".split(\"\"),e=0;e!=n[216].length;++e)65533!==n[216][e].charCodeAt(0)&&(r[n[216][e]]=55296+e,t[55296+e]=n[216][e]);for(n[217]=\"����������������������������������������������������������������惲愊愖愅惵愓惸惼惾惁愃愘愝愐惿愄愋扊掔掱掰揎揥揨揯揃撝揳揊揠揶揕揲揵摡揟掾揝揜揄揘揓揂揇揌揋揈揰揗揙攲敧敪敤敜敨敥斌斝斞斮旐旒����������������������������������晼晬晻暀晱晹晪晲朁椌棓椄棜椪棬棪棱椏棖棷棫棤棶椓椐棳棡椇棌椈楰梴椑棯棆椔棸棐棽棼棨椋椊椗棎棈棝棞棦棴棑椆棔棩椕椥棇欹欻欿欼殔殗殙殕殽毰毲毳氰淼湆湇渟湉溈渼渽湅湢渫渿湁湝湳渜渳湋湀湑渻渃渮湞�\".split(\"\"),e=0;e!=n[217].length;++e)65533!==n[217][e].charCodeAt(0)&&(r[n[217][e]]=55552+e,t[55552+e]=n[217][e]);for(n[218]=\"����������������������������������������������������������������湨湜湡渱渨湠湱湫渹渢渰湓湥渧湸湤湷湕湹湒湦渵渶湚焠焞焯烻焮焱焣焥焢焲焟焨焺焛牋牚犈犉犆犅犋猒猋猰猢猱猳猧猲猭猦猣猵猌琮琬琰琫琖����������������������������������琚琡琭琱琤琣琝琩琠琲瓻甯畯畬痧痚痡痦痝痟痤痗皕皒盚睆睇睄睍睅睊睎睋睌矞矬硠硤硥硜硭硱硪确硰硩硨硞硢祴祳祲祰稂稊稃稌稄窙竦竤筊笻筄筈筌筎筀筘筅粢粞粨粡絘絯絣絓絖絧絪絏絭絜絫絒絔絩絑絟絎缾缿罥�\".split(\"\"),e=0;e!=n[218].length;++e)65533!==n[218][e].charCodeAt(0)&&(r[n[218][e]]=55808+e,t[55808+e]=n[218][e]);for(n[219]=\"����������������������������������������������������������������罦羢羠羡翗聑聏聐胾胔腃腊腒腏腇脽腍脺臦臮臷臸臹舄舼舽舿艵茻菏菹萣菀菨萒菧菤菼菶萐菆菈菫菣莿萁菝菥菘菿菡菋菎菖菵菉萉萏菞萑萆菂菳����������������������������������菕菺菇菑菪萓菃菬菮菄菻菗菢萛菛菾蛘蛢蛦蛓蛣蛚蛪蛝蛫蛜蛬蛩蛗蛨蛑衈衖衕袺裗袹袸裀袾袶袼袷袽袲褁裉覕覘覗觝觚觛詎詍訹詙詀詗詘詄詅詒詈詑詊詌詏豟貁貀貺貾貰貹貵趄趀趉跘跓跍跇跖跜跏跕跙跈跗跅軯軷軺�\".split(\"\"),e=0;e!=n[219].length;++e)65533!==n[219][e].charCodeAt(0)&&(r[n[219][e]]=56064+e,t[56064+e]=n[219][e]);for(n[220]=\"����������������������������������������������������������������軹軦軮軥軵軧軨軶軫軱軬軴軩逭逴逯鄆鄬鄄郿郼鄈郹郻鄁鄀鄇鄅鄃酡酤酟酢酠鈁鈊鈥鈃鈚鈦鈏鈌鈀鈒釿釽鈆鈄鈧鈂鈜鈤鈙鈗鈅鈖镻閍閌閐隇陾隈����������������������������������隉隃隀雂雈雃雱雰靬靰靮頇颩飫鳦黹亃亄亶傽傿僆傮僄僊傴僈僂傰僁傺傱僋僉傶傸凗剺剸剻剼嗃嗛嗌嗐嗋嗊嗝嗀嗔嗄嗩喿嗒喍嗏嗕嗢嗖嗈嗲嗍嗙嗂圔塓塨塤塏塍塉塯塕塎塝塙塥塛堽塣塱壼嫇嫄嫋媺媸媱媵媰媿嫈媻嫆�\".split(\"\"),e=0;e!=n[220].length;++e)65533!==n[220][e].charCodeAt(0)&&(r[n[220][e]]=56320+e,t[56320+e]=n[220][e]);for(n[221]=\"����������������������������������������������������������������媷嫀嫊媴媶嫍媹媐寖寘寙尟尳嵱嵣嵊嵥嵲嵬嵞嵨嵧嵢巰幏幎幊幍幋廅廌廆廋廇彀徯徭惷慉慊愫慅愶愲愮慆愯慏愩慀戠酨戣戥戤揅揱揫搐搒搉搠搤����������������������������������搳摃搟搕搘搹搷搢搣搌搦搰搨摁搵搯搊搚摀搥搧搋揧搛搮搡搎敯斒旓暆暌暕暐暋暊暙暔晸朠楦楟椸楎楢楱椿楅楪椹楂楗楙楺楈楉椵楬椳椽楥棰楸椴楩楀楯楄楶楘楁楴楌椻楋椷楜楏楑椲楒椯楻椼歆歅歃歂歈歁殛嗀毻毼�\".split(\"\"),e=0;e!=n[221].length;++e)65533!==n[221][e].charCodeAt(0)&&(r[n[221][e]]=56576+e,t[56576+e]=n[221][e]);for(n[222]=\"����������������������������������������������������������������毹毷毸溛滖滈溏滀溟溓溔溠溱溹滆滒溽滁溞滉溷溰滍溦滏溲溾滃滜滘溙溒溎溍溤溡溿溳滐滊溗溮溣煇煔煒煣煠煁煝煢煲煸煪煡煂煘煃煋煰煟煐煓����������������������������������煄煍煚牏犍犌犑犐犎猼獂猻猺獀獊獉瑄瑊瑋瑒瑑瑗瑀瑏瑐瑎瑂瑆瑍瑔瓡瓿瓾瓽甝畹畷榃痯瘏瘃痷痾痼痹痸瘐痻痶痭痵痽皙皵盝睕睟睠睒睖睚睩睧睔睙睭矠碇碚碔碏碄碕碅碆碡碃硹碙碀碖硻祼禂祽祹稑稘稙稒稗稕稢稓�\".split(\"\"),e=0;e!=n[222].length;++e)65533!==n[222][e].charCodeAt(0)&&(r[n[222][e]]=56832+e,t[56832+e]=n[222][e]);for(n[223]=\"����������������������������������������������������������������稛稐窣窢窞竫筦筤筭筴筩筲筥筳筱筰筡筸筶筣粲粴粯綈綆綀綍絿綅絺綎絻綃絼綌綔綄絽綒罭罫罧罨罬羦羥羧翛翜耡腤腠腷腜腩腛腢腲朡腞腶腧腯����������������������������������腄腡舝艉艄艀艂艅蓱萿葖葶葹蒏蒍葥葑葀蒆葧萰葍葽葚葙葴葳葝蔇葞萷萺萴葺葃葸萲葅萩菙葋萯葂萭葟葰萹葎葌葒葯蓅蒎萻葇萶萳葨葾葄萫葠葔葮葐蜋蜄蛷蜌蛺蛖蛵蝍蛸蜎蜉蜁蛶蜍蜅裖裋裍裎裞裛裚裌裐覅覛觟觥觤�\".split(\"\"),e=0;e!=n[223].length;++e)65533!==n[223][e].charCodeAt(0)&&(r[n[223][e]]=57088+e,t[57088+e]=n[223][e]);for(n[224]=\"����������������������������������������������������������������觡觠觢觜触詶誆詿詡訿詷誂誄詵誃誁詴詺谼豋豊豥豤豦貆貄貅賌赨赩趑趌趎趏趍趓趔趐趒跰跠跬跱跮跐跩跣跢跧跲跫跴輆軿輁輀輅輇輈輂輋遒逿����������������������������������遄遉逽鄐鄍鄏鄑鄖鄔鄋鄎酮酯鉈鉒鈰鈺鉦鈳鉥鉞銃鈮鉊鉆鉭鉬鉏鉠鉧鉯鈶鉡鉰鈱鉔鉣鉐鉲鉎鉓鉌鉖鈲閟閜閞閛隒隓隑隗雎雺雽雸雵靳靷靸靲頏頍頎颬飶飹馯馲馰馵骭骫魛鳪鳭鳧麀黽僦僔僗僨僳僛僪僝僤僓僬僰僯僣僠�\".split(\"\"),e=0;e!=n[224].length;++e)65533!==n[224][e].charCodeAt(0)&&(r[n[224][e]]=57344+e,t[57344+e]=n[224][e]);for(n[225]=\"����������������������������������������������������������������凘劀劁勩勫匰厬嘧嘕嘌嘒嗼嘏嘜嘁嘓嘂嗺嘝嘄嗿嗹墉塼墐墘墆墁塿塴墋塺墇墑墎塶墂墈塻墔墏壾奫嫜嫮嫥嫕嫪嫚嫭嫫嫳嫢嫠嫛嫬嫞嫝嫙嫨嫟孷寠����������������������������������寣屣嶂嶀嵽嶆嵺嶁嵷嶊嶉嶈嵾嵼嶍嵹嵿幘幙幓廘廑廗廎廜廕廙廒廔彄彃彯徶愬愨慁慞慱慳慒慓慲慬憀慴慔慺慛慥愻慪慡慖戩戧戫搫摍摛摝摴摶摲摳摽摵摦撦摎撂摞摜摋摓摠摐摿搿摬摫摙摥摷敳斠暡暠暟朅朄朢榱榶槉�\".split(\"\"),e=0;e!=n[225].length;++e)65533!==n[225][e].charCodeAt(0)&&(r[n[225][e]]=57600+e,t[57600+e]=n[225][e]);for(n[226]=\"����������������������������������������������������������������榠槎榖榰榬榼榑榙榎榧榍榩榾榯榿槄榽榤槔榹槊榚槏榳榓榪榡榞槙榗榐槂榵榥槆歊歍歋殞殟殠毃毄毾滎滵滱漃漥滸漷滻漮漉潎漙漚漧漘漻漒滭漊����������������������������������漶潳滹滮漭潀漰漼漵滫漇漎潃漅滽滶漹漜滼漺漟漍漞漈漡熇熐熉熀熅熂熏煻熆熁熗牄牓犗犕犓獃獍獑獌瑢瑳瑱瑵瑲瑧瑮甀甂甃畽疐瘖瘈瘌瘕瘑瘊瘔皸瞁睼瞅瞂睮瞀睯睾瞃碲碪碴碭碨硾碫碞碥碠碬碢碤禘禊禋禖禕禔禓�\".split(\"\"),e=0;e!=n[226].length;++e)65533!==n[226][e].charCodeAt(0)&&(r[n[226][e]]=57856+e,t[57856+e]=n[226][e]);for(n[227]=\"����������������������������������������������������������������禗禈禒禐稫穊稰稯稨稦窨窫窬竮箈箜箊箑箐箖箍箌箛箎箅箘劄箙箤箂粻粿粼粺綧綷緂綣綪緁緀緅綝緎緄緆緋緌綯綹綖綼綟綦綮綩綡緉罳翢翣翥翞����������������������������������耤聝聜膉膆膃膇膍膌膋舕蒗蒤蒡蒟蒺蓎蓂蒬蒮蒫蒹蒴蓁蓍蒪蒚蒱蓐蒝蒧蒻蒢蒔蓇蓌蒛蒩蒯蒨蓖蒘蒶蓏蒠蓗蓔蓒蓛蒰蒑虡蜳蜣蜨蝫蝀蜮蜞蜡蜙蜛蝃蜬蝁蜾蝆蜠蜲蜪蜭蜼蜒蜺蜱蜵蝂蜦蜧蜸蜤蜚蜰蜑裷裧裱裲裺裾裮裼裶裻�\".split(\"\"),e=0;e!=n[227].length;++e)65533!==n[227][e].charCodeAt(0)&&(r[n[227][e]]=58112+e,t[58112+e]=n[227][e]);for(n[228]=\"����������������������������������������������������������������裰裬裫覝覡覟覞觩觫觨誫誙誋誒誏誖谽豨豩賕賏賗趖踉踂跿踍跽踊踃踇踆踅跾踀踄輐輑輎輍鄣鄜鄠鄢鄟鄝鄚鄤鄡鄛酺酲酹酳銥銤鉶銛鉺銠銔銪銍����������������������������������銦銚銫鉹銗鉿銣鋮銎銂銕銢鉽銈銡銊銆銌銙銧鉾銇銩銝銋鈭隞隡雿靘靽靺靾鞃鞀鞂靻鞄鞁靿韎韍頖颭颮餂餀餇馝馜駃馹馻馺駂馽駇骱髣髧鬾鬿魠魡魟鳱鳲鳵麧僿儃儰僸儆儇僶僾儋儌僽儊劋劌勱勯噈噂噌嘵噁噊噉噆噘�\".split(\"\"),e=0;e!=n[228].length;++e)65533!==n[228][e].charCodeAt(0)&&(r[n[228][e]]=58368+e,t[58368+e]=n[228][e]);for(n[229]=\"����������������������������������������������������������������噚噀嘳嘽嘬嘾嘸嘪嘺圚墫墝墱墠墣墯墬墥墡壿嫿嫴嫽嫷嫶嬃嫸嬂嫹嬁嬇嬅嬏屧嶙嶗嶟嶒嶢嶓嶕嶠嶜嶡嶚嶞幩幝幠幜緳廛廞廡彉徲憋憃慹憱憰憢憉����������������������������������憛憓憯憭憟憒憪憡憍慦憳戭摮摰撖撠撅撗撜撏撋撊撌撣撟摨撱撘敶敺敹敻斲斳暵暰暩暲暷暪暯樀樆樗槥槸樕槱槤樠槿槬槢樛樝槾樧槲槮樔槷槧橀樈槦槻樍槼槫樉樄樘樥樏槶樦樇槴樖歑殥殣殢殦氁氀毿氂潁漦潾澇濆澒�\".split(\"\"),e=0;e!=n[229].length;++e)65533!==n[229][e].charCodeAt(0)&&(r[n[229][e]]=58624+e,t[58624+e]=n[229][e]);for(n[230]=\"����������������������������������������������������������������澍澉澌潢潏澅潚澖潶潬澂潕潲潒潐潗澔澓潝漀潡潫潽潧澐潓澋潩潿澕潣潷潪潻熲熯熛熰熠熚熩熵熝熥熞熤熡熪熜熧熳犘犚獘獒獞獟獠獝獛獡獚獙����������������������������������獢璇璉璊璆璁瑽璅璈瑼瑹甈甇畾瘥瘞瘙瘝瘜瘣瘚瘨瘛皜皝皞皛瞍瞏瞉瞈磍碻磏磌磑磎磔磈磃磄磉禚禡禠禜禢禛歶稹窲窴窳箷篋箾箬篎箯箹篊箵糅糈糌糋緷緛緪緧緗緡縃緺緦緶緱緰緮緟罶羬羰羭翭翫翪翬翦翨聤聧膣膟�\".split(\"\"),e=0;e!=n[230].length;++e)65533!==n[230][e].charCodeAt(0)&&(r[n[230][e]]=58880+e,t[58880+e]=n[230][e]);for(n[231]=\"����������������������������������������������������������������膞膕膢膙膗舖艏艓艒艐艎艑蔤蔻蔏蔀蔩蔎蔉蔍蔟蔊蔧蔜蓻蔫蓺蔈蔌蓴蔪蓲蔕蓷蓫蓳蓼蔒蓪蓩蔖蓾蔨蔝蔮蔂蓽蔞蓶蔱蔦蓧蓨蓰蓯蓹蔘蔠蔰蔋蔙蔯虢����������������������������������蝖蝣蝤蝷蟡蝳蝘蝔蝛蝒蝡蝚蝑蝞蝭蝪蝐蝎蝟蝝蝯蝬蝺蝮蝜蝥蝏蝻蝵蝢蝧蝩衚褅褌褔褋褗褘褙褆褖褑褎褉覢覤覣觭觰觬諏諆誸諓諑諔諕誻諗誾諀諅諘諃誺誽諙谾豍貏賥賟賙賨賚賝賧趠趜趡趛踠踣踥踤踮踕踛踖踑踙踦踧�\".split(\"\"),e=0;e!=n[231].length;++e)65533!==n[231][e].charCodeAt(0)&&(r[n[231][e]]=59136+e,t[59136+e]=n[231][e]);for(n[232]=\"����������������������������������������������������������������踔踒踘踓踜踗踚輬輤輘輚輠輣輖輗遳遰遯遧遫鄯鄫鄩鄪鄲鄦鄮醅醆醊醁醂醄醀鋐鋃鋄鋀鋙銶鋏鋱鋟鋘鋩鋗鋝鋌鋯鋂鋨鋊鋈鋎鋦鋍鋕鋉鋠鋞鋧鋑鋓����������������������������������銵鋡鋆銴镼閬閫閮閰隤隢雓霅霈霂靚鞊鞎鞈韐韏頞頝頦頩頨頠頛頧颲餈飺餑餔餖餗餕駜駍駏駓駔駎駉駖駘駋駗駌骳髬髫髳髲髱魆魃魧魴魱魦魶魵魰魨魤魬鳼鳺鳽鳿鳷鴇鴀鳹鳻鴈鴅鴄麃黓鼏鼐儜儓儗儚儑凞匴叡噰噠噮�\".split(\"\"),e=0;e!=n[232].length;++e)65533!==n[232][e].charCodeAt(0)&&(r[n[232][e]]=59392+e,t[59392+e]=n[232][e]);for(n[233]=\"����������������������������������������������������������������噳噦噣噭噲噞噷圜圛壈墽壉墿墺壂墼壆嬗嬙嬛嬡嬔嬓嬐嬖嬨嬚嬠嬞寯嶬嶱嶩嶧嶵嶰嶮嶪嶨嶲嶭嶯嶴幧幨幦幯廩廧廦廨廥彋徼憝憨憖懅憴懆懁懌憺����������������������������������憿憸憌擗擖擐擏擉撽撉擃擛擳擙攳敿敼斢曈暾曀曊曋曏暽暻暺曌朣樴橦橉橧樲橨樾橝橭橶橛橑樨橚樻樿橁橪橤橐橏橔橯橩橠樼橞橖橕橍橎橆歕歔歖殧殪殫毈毇氄氃氆澭濋澣濇澼濎濈潞濄澽澞濊澨瀄澥澮澺澬澪濏澿澸�\".split(\"\"),e=0;e!=n[233].length;++e)65533!==n[233][e].charCodeAt(0)&&(r[n[233][e]]=59648+e,t[59648+e]=n[233][e]);for(n[234]=\"����������������������������������������������������������������澢濉澫濍澯澲澰燅燂熿熸燖燀燁燋燔燊燇燏熽燘熼燆燚燛犝犞獩獦獧獬獥獫獪瑿璚璠璔璒璕璡甋疀瘯瘭瘱瘽瘳瘼瘵瘲瘰皻盦瞚瞝瞡瞜瞛瞢瞣瞕瞙����������������������������������瞗磝磩磥磪磞磣磛磡磢磭磟磠禤穄穈穇窶窸窵窱窷篞篣篧篝篕篥篚篨篹篔篪篢篜篫篘篟糒糔糗糐糑縒縡縗縌縟縠縓縎縜縕縚縢縋縏縖縍縔縥縤罃罻罼罺羱翯耪耩聬膱膦膮膹膵膫膰膬膴膲膷膧臲艕艖艗蕖蕅蕫蕍蕓蕡蕘�\".split(\"\"),e=0;e!=n[234].length;++e)65533!==n[234][e].charCodeAt(0)&&(r[n[234][e]]=59904+e,t[59904+e]=n[234][e]);for(n[235]=\"����������������������������������������������������������������蕀蕆蕤蕁蕢蕄蕑蕇蕣蔾蕛蕱蕎蕮蕵蕕蕧蕠薌蕦蕝蕔蕥蕬虣虥虤螛螏螗螓螒螈螁螖螘蝹螇螣螅螐螑螝螄螔螜螚螉褞褦褰褭褮褧褱褢褩褣褯褬褟觱諠����������������������������������諢諲諴諵諝謔諤諟諰諈諞諡諨諿諯諻貑貒貐賵賮賱賰賳赬赮趥趧踳踾踸蹀蹅踶踼踽蹁踰踿躽輶輮輵輲輹輷輴遶遹遻邆郺鄳鄵鄶醓醐醑醍醏錧錞錈錟錆錏鍺錸錼錛錣錒錁鍆錭錎錍鋋錝鋺錥錓鋹鋷錴錂錤鋿錩錹錵錪錔錌�\".split(\"\"),e=0;e!=n[235].length;++e)65533!==n[235][e].charCodeAt(0)&&(r[n[235][e]]=60160+e,t[60160+e]=n[235][e]);for(n[236]=\"����������������������������������������������������������������錋鋾錉錀鋻錖閼闍閾閹閺閶閿閵閽隩雔霋霒霐鞙鞗鞔韰韸頵頯頲餤餟餧餩馞駮駬駥駤駰駣駪駩駧骹骿骴骻髶髺髹髷鬳鮀鮅鮇魼魾魻鮂鮓鮒鮐魺鮕����������������������������������魽鮈鴥鴗鴠鴞鴔鴩鴝鴘鴢鴐鴙鴟麈麆麇麮麭黕黖黺鼒鼽儦儥儢儤儠儩勴嚓嚌嚍嚆嚄嚃噾嚂噿嚁壖壔壏壒嬭嬥嬲嬣嬬嬧嬦嬯嬮孻寱寲嶷幬幪徾徻懃憵憼懧懠懥懤懨懞擯擩擣擫擤擨斁斀斶旚曒檍檖檁檥檉檟檛檡檞檇檓檎�\".split(\"\"),e=0;e!=n[236].length;++e)65533!==n[236][e].charCodeAt(0)&&(r[n[236][e]]=60416+e,t[60416+e]=n[236][e]);for(n[237]=\"����������������������������������������������������������������檕檃檨檤檑橿檦檚檅檌檒歛殭氉濌澩濴濔濣濜濭濧濦濞濲濝濢濨燡燱燨燲燤燰燢獳獮獯璗璲璫璐璪璭璱璥璯甐甑甒甏疄癃癈癉癇皤盩瞵瞫瞲瞷瞶����������������������������������瞴瞱瞨矰磳磽礂磻磼磲礅磹磾礄禫禨穜穛穖穘穔穚窾竀竁簅簏篲簀篿篻簎篴簋篳簂簉簃簁篸篽簆篰篱簐簊糨縭縼繂縳顈縸縪繉繀繇縩繌縰縻縶繄縺罅罿罾罽翴翲耬膻臄臌臊臅臇膼臩艛艚艜薃薀薏薧薕薠薋薣蕻薤薚薞�\".split(\"\"),e=0;e!=n[237].length;++e)65533!==n[237][e].charCodeAt(0)&&(r[n[237][e]]=60672+e,t[60672+e]=n[237][e]);for(n[238]=\"����������������������������������������������������������������蕷蕼薉薡蕺蕸蕗薎薖薆薍薙薝薁薢薂薈薅蕹蕶薘薐薟虨螾螪螭蟅螰螬螹螵螼螮蟉蟃蟂蟌螷螯蟄蟊螴螶螿螸螽蟞螲褵褳褼褾襁襒褷襂覭覯覮觲觳謞����������������������������������謘謖謑謅謋謢謏謒謕謇謍謈謆謜謓謚豏豰豲豱豯貕貔賹赯蹎蹍蹓蹐蹌蹇轃轀邅遾鄸醚醢醛醙醟醡醝醠鎡鎃鎯鍤鍖鍇鍼鍘鍜鍶鍉鍐鍑鍠鍭鎏鍌鍪鍹鍗鍕鍒鍏鍱鍷鍻鍡鍞鍣鍧鎀鍎鍙闇闀闉闃闅閷隮隰隬霠霟霘霝霙鞚鞡鞜�\".split(\"\"),e=0;e!=n[238].length;++e)65533!==n[238][e].charCodeAt(0)&&(r[n[238][e]]=60928+e,t[60928+e]=n[238][e]);for(n[239]=\"����������������������������������������������������������������鞞鞝韕韔韱顁顄顊顉顅顃餥餫餬餪餳餲餯餭餱餰馘馣馡騂駺駴駷駹駸駶駻駽駾駼騃骾髾髽鬁髼魈鮚鮨鮞鮛鮦鮡鮥鮤鮆鮢鮠鮯鴳鵁鵧鴶鴮鴯鴱鴸鴰����������������������������������鵅鵂鵃鴾鴷鵀鴽翵鴭麊麉麍麰黈黚黻黿鼤鼣鼢齔龠儱儭儮嚘嚜嚗嚚嚝嚙奰嬼屩屪巀幭幮懘懟懭懮懱懪懰懫懖懩擿攄擽擸攁攃擼斔旛曚曛曘櫅檹檽櫡櫆檺檶檷櫇檴檭歞毉氋瀇瀌瀍瀁瀅瀔瀎濿瀀濻瀦濼濷瀊爁燿燹爃燽獶�\".split(\"\"),e=0;e!=n[239].length;++e)65533!==n[239][e].charCodeAt(0)&&(r[n[239][e]]=61184+e,t[61184+e]=n[239][e]);for(n[240]=\"����������������������������������������������������������������璸瓀璵瓁璾璶璻瓂甔甓癜癤癙癐癓癗癚皦皽盬矂瞺磿礌礓礔礉礐礒礑禭禬穟簜簩簙簠簟簭簝簦簨簢簥簰繜繐繖繣繘繢繟繑繠繗繓羵羳翷翸聵臑臒����������������������������������臐艟艞薴藆藀藃藂薳薵薽藇藄薿藋藎藈藅薱薶藒蘤薸薷薾虩蟧蟦蟢蟛蟫蟪蟥蟟蟳蟤蟔蟜蟓蟭蟘蟣螤蟗蟙蠁蟴蟨蟝襓襋襏襌襆襐襑襉謪謧謣謳謰謵譇謯謼謾謱謥謷謦謶謮謤謻謽謺豂豵貙貘貗賾贄贂贀蹜蹢蹠蹗蹖蹞蹥蹧�\".split(\"\"),e=0;e!=n[240].length;++e)65533!==n[240][e].charCodeAt(0)&&(r[n[240][e]]=61440+e,t[61440+e]=n[240][e]);for(n[241]=\"����������������������������������������������������������������蹛蹚蹡蹝蹩蹔轆轇轈轋鄨鄺鄻鄾醨醥醧醯醪鎵鎌鎒鎷鎛鎝鎉鎧鎎鎪鎞鎦鎕鎈鎙鎟鎍鎱鎑鎲鎤鎨鎴鎣鎥闒闓闑隳雗雚巂雟雘雝霣霢霥鞬鞮鞨鞫鞤鞪����������������������������������鞢鞥韗韙韖韘韺顐顑顒颸饁餼餺騏騋騉騍騄騑騊騅騇騆髀髜鬈鬄鬅鬩鬵魊魌魋鯇鯆鯃鮿鯁鮵鮸鯓鮶鯄鮹鮽鵜鵓鵏鵊鵛鵋鵙鵖鵌鵗鵒鵔鵟鵘鵚麎麌黟鼁鼀鼖鼥鼫鼪鼩鼨齌齕儴儵劖勷厴嚫嚭嚦嚧嚪嚬壚壝壛夒嬽嬾嬿巃幰�\".split(\"\"),e=0;e!=n[241].length;++e)65533!==n[241][e].charCodeAt(0)&&(r[n[241][e]]=61696+e,t[61696+e]=n[241][e]);for(n[242]=\"����������������������������������������������������������������徿懻攇攐攍攉攌攎斄旞旝曞櫧櫠櫌櫑櫙櫋櫟櫜櫐櫫櫏櫍櫞歠殰氌瀙瀧瀠瀖瀫瀡瀢瀣瀩瀗瀤瀜瀪爌爊爇爂爅犥犦犤犣犡瓋瓅璷瓃甖癠矉矊矄矱礝礛����������������������������������礡礜礗礞禰穧穨簳簼簹簬簻糬糪繶繵繸繰繷繯繺繲繴繨罋罊羃羆羷翽翾聸臗臕艤艡艣藫藱藭藙藡藨藚藗藬藲藸藘藟藣藜藑藰藦藯藞藢蠀蟺蠃蟶蟷蠉蠌蠋蠆蟼蠈蟿蠊蠂襢襚襛襗襡襜襘襝襙覈覷覶觶譐譈譊譀譓譖譔譋譕�\".split(\"\"),e=0;e!=n[242].length;++e)65533!==n[242][e].charCodeAt(0)&&(r[n[242][e]]=61952+e,t[61952+e]=n[242][e]);for(n[243]=\"����������������������������������������������������������������譑譂譒譗豃豷豶貚贆贇贉趬趪趭趫蹭蹸蹳蹪蹯蹻軂轒轑轏轐轓辴酀鄿醰醭鏞鏇鏏鏂鏚鏐鏹鏬鏌鏙鎩鏦鏊鏔鏮鏣鏕鏄鏎鏀鏒鏧镽闚闛雡霩霫霬霨霦����������������������������������鞳鞷鞶韝韞韟顜顙顝顗颿颽颻颾饈饇饃馦馧騚騕騥騝騤騛騢騠騧騣騞騜騔髂鬋鬊鬎鬌鬷鯪鯫鯠鯞鯤鯦鯢鯰鯔鯗鯬鯜鯙鯥鯕鯡鯚鵷鶁鶊鶄鶈鵱鶀鵸鶆鶋鶌鵽鵫鵴鵵鵰鵩鶅鵳鵻鶂鵯鵹鵿鶇鵨麔麑黀黼鼭齀齁齍齖齗齘匷嚲�\".split(\"\"),e=0;e!=n[243].length;++e)65533!==n[243][e].charCodeAt(0)&&(r[n[243][e]]=62208+e,t[62208+e]=n[243][e]);for(n[244]=\"����������������������������������������������������������������嚵嚳壣孅巆巇廮廯忀忁懹攗攖攕攓旟曨曣曤櫳櫰櫪櫨櫹櫱櫮櫯瀼瀵瀯瀷瀴瀱灂瀸瀿瀺瀹灀瀻瀳灁爓爔犨獽獼璺皫皪皾盭矌矎矏矍矲礥礣礧礨礤礩����������������������������������禲穮穬穭竷籉籈籊籇籅糮繻繾纁纀羺翿聹臛臙舋艨艩蘢藿蘁藾蘛蘀藶蘄蘉蘅蘌藽蠙蠐蠑蠗蠓蠖襣襦覹觷譠譪譝譨譣譥譧譭趮躆躈躄轙轖轗轕轘轚邍酃酁醷醵醲醳鐋鐓鏻鐠鐏鐔鏾鐕鐐鐨鐙鐍鏵鐀鏷鐇鐎鐖鐒鏺鐉鏸鐊鏿�\".split(\"\"),e=0;e!=n[244].length;++e)65533!==n[244][e].charCodeAt(0)&&(r[n[244][e]]=62464+e,t[62464+e]=n[244][e]);for(n[245]=\"����������������������������������������������������������������鏼鐌鏶鐑鐆闞闠闟霮霯鞹鞻韽韾顠顢顣顟飁飂饐饎饙饌饋饓騲騴騱騬騪騶騩騮騸騭髇髊髆鬐鬒鬑鰋鰈鯷鰅鰒鯸鱀鰇鰎鰆鰗鰔鰉鶟鶙鶤鶝鶒鶘鶐鶛����������������������������������鶠鶔鶜鶪鶗鶡鶚鶢鶨鶞鶣鶿鶩鶖鶦鶧麙麛麚黥黤黧黦鼰鼮齛齠齞齝齙龑儺儹劘劗囃嚽嚾孈孇巋巏廱懽攛欂櫼欃櫸欀灃灄灊灈灉灅灆爝爚爙獾甗癪矐礭礱礯籔籓糲纊纇纈纋纆纍罍羻耰臝蘘蘪蘦蘟蘣蘜蘙蘧蘮蘡蘠蘩蘞蘥�\".split(\"\"),e=0;e!=n[245].length;++e)65533!==n[245][e].charCodeAt(0)&&(r[n[245][e]]=62720+e,t[62720+e]=n[245][e]);for(n[246]=\"����������������������������������������������������������������蠩蠝蠛蠠蠤蠜蠫衊襭襩襮襫觺譹譸譅譺譻贐贔趯躎躌轞轛轝酆酄酅醹鐿鐻鐶鐩鐽鐼鐰鐹鐪鐷鐬鑀鐱闥闤闣霵霺鞿韡顤飉飆飀饘饖騹騽驆驄驂驁騺����������������������������������騿髍鬕鬗鬘鬖鬺魒鰫鰝鰜鰬鰣鰨鰩鰤鰡鶷鶶鶼鷁鷇鷊鷏鶾鷅鷃鶻鶵鷎鶹鶺鶬鷈鶱鶭鷌鶳鷍鶲鹺麜黫黮黭鼛鼘鼚鼱齎齥齤龒亹囆囅囋奱孋孌巕巑廲攡攠攦攢欋欈欉氍灕灖灗灒爞爟犩獿瓘瓕瓙瓗癭皭礵禴穰穱籗籜籙籛籚�\".split(\"\"),e=0;e!=n[246].length;++e)65533!==n[246][e].charCodeAt(0)&&(r[n[246][e]]=62976+e,t[62976+e]=n[246][e]);for(n[247]=\"����������������������������������������������������������������糴糱纑罏羇臞艫蘴蘵蘳蘬蘲蘶蠬蠨蠦蠪蠥襱覿覾觻譾讄讂讆讅譿贕躕躔躚躒躐躖躗轠轢酇鑌鑐鑊鑋鑏鑇鑅鑈鑉鑆霿韣顪顩飋饔饛驎驓驔驌驏驈驊����������������������������������驉驒驐髐鬙鬫鬻魖魕鱆鱈鰿鱄鰹鰳鱁鰼鰷鰴鰲鰽鰶鷛鷒鷞鷚鷋鷐鷜鷑鷟鷩鷙鷘鷖鷵鷕鷝麶黰鼵鼳鼲齂齫龕龢儽劙壨壧奲孍巘蠯彏戁戃戄攩攥斖曫欑欒欏毊灛灚爢玂玁玃癰矔籧籦纕艬蘺虀蘹蘼蘱蘻蘾蠰蠲蠮蠳襶襴襳觾�\".split(\"\"),e=0;e!=n[247].length;++e)65533!==n[247][e].charCodeAt(0)&&(r[n[247][e]]=63232+e,t[63232+e]=n[247][e]);for(n[248]=\"����������������������������������������������������������������讌讎讋讈豅贙躘轤轣醼鑢鑕鑝鑗鑞韄韅頀驖驙鬞鬟鬠鱒鱘鱐鱊鱍鱋鱕鱙鱌鱎鷻鷷鷯鷣鷫鷸鷤鷶鷡鷮鷦鷲鷰鷢鷬鷴鷳鷨鷭黂黐黲黳鼆鼜鼸鼷鼶齃齏����������������������������������齱齰齮齯囓囍孎屭攭曭曮欓灟灡灝灠爣瓛瓥矕礸禷禶籪纗羉艭虃蠸蠷蠵衋讔讕躞躟躠躝醾醽釂鑫鑨鑩雥靆靃靇韇韥驞髕魙鱣鱧鱦鱢鱞鱠鸂鷾鸇鸃鸆鸅鸀鸁鸉鷿鷽鸄麠鼞齆齴齵齶囔攮斸欘欙欗欚灢爦犪矘矙礹籩籫糶纚�\".split(\"\"),e=0;e!=n[248].length;++e)65533!==n[248][e].charCodeAt(0)&&(r[n[248][e]]=63488+e,t[63488+e]=n[248][e]);for(n[249]=\"����������������������������������������������������������������纘纛纙臠臡虆虇虈襹襺襼襻觿讘讙躥躤躣鑮鑭鑯鑱鑳靉顲饟鱨鱮鱭鸋鸍鸐鸏鸒鸑麡黵鼉齇齸齻齺齹圞灦籯蠼趲躦釃鑴鑸鑶鑵驠鱴鱳鱱鱵鸔鸓黶鼊����������������������������������龤灨灥糷虪蠾蠽蠿讞貜躩軉靋顳顴飌饡馫驤驦驧鬤鸕鸗齈戇欞爧虌躨钂钀钁驩驨鬮鸙爩虋讟钃鱹麷癵驫鱺鸝灩灪麤齾齉龘碁銹裏墻恒粧嫺╔╦╗╠╬╣╚╩╝╒╤╕╞╪╡╘╧╛╓╥╖╟╫╢╙╨╜║═╭╮╰╯▓�\".split(\"\"),e=0;e!=n[249].length;++e)65533!==n[249][e].charCodeAt(0)&&(r[n[249][e]]=63744+e,t[63744+e]=n[249][e]);return{enc:r,dec:t}}(),r[1250]=function(){for(var e=\"\\0\u0001\u0002\u0003\u0004\u0005\u0006\u0007\\b\\t\\n\\v\\f\\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚�„…†‡�‰Š‹ŚŤŽŹ�‘’“”•–—�™š›śťžź ˇ˘Ł¤Ą¦§¨©Ş«¬­®Ż°±˛ł´µ¶·¸ąş»Ľ˝ľżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙\",t=[],r={},n=0;n!=e.length;++n)65533!==e.charCodeAt(n)&&(r[e.charAt(n)]=n),t[n]=e.charAt(n);return{enc:r,dec:t}}(),r[1251]=function(){for(var e=\"\\0\u0001\u0002\u0003\u0004\u0005\u0006\u0007\\b\\t\\n\\v\\f\\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ЂЃ‚ѓ„…†‡€‰Љ‹ЊЌЋЏђ‘’“”•–—�™љ›њќћџ ЎўЈ¤Ґ¦§Ё©Є«¬­®Ї°±Ііґµ¶·ё№є»јЅѕїАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя\",t=[],r={},n=0;n!=e.length;++n)65533!==e.charCodeAt(n)&&(r[e.charAt(n)]=n),t[n]=e.charAt(n);return{enc:r,dec:t}}(),r[1252]=function(){for(var e=\"\\0\u0001\u0002\u0003\u0004\u0005\u0006\u0007\\b\\t\\n\\v\\f\\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ\",t=[],r={},n=0;n!=e.length;++n)65533!==e.charCodeAt(n)&&(r[e.charAt(n)]=n),t[n]=e.charAt(n);return{enc:r,dec:t}}(),r[1253]=function(){for(var e=\"\\0\u0001\u0002\u0003\u0004\u0005\u0006\u0007\\b\\t\\n\\v\\f\\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡�‰�‹�����‘’“”•–—�™�›���� ΅Ά£¤¥¦§¨©�«¬­®―°±²³΄µ¶·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�\",t=[],r={},n=0;n!=e.length;++n)65533!==e.charCodeAt(n)&&(r[e.charAt(n)]=n),t[n]=e.charAt(n);return{enc:r,dec:t}}(),r[1254]=function(){for(var e=\"\\0\u0001\u0002\u0003\u0004\u0005\u0006\u0007\\b\\t\\n\\v\\f\\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰Š‹Œ����‘’“”•–—˜™š›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖ×ØÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ\",t=[],r={},n=0;n!=e.length;++n)65533!==e.charCodeAt(n)&&(r[e.charAt(n)]=n),t[n]=e.charAt(n);return{enc:r,dec:t}}(),r[1255]=function(){for(var e=\"\\0\u0001\u0002\u0003\u0004\u0005\u0006\u0007\\b\\t\\n\\v\\f\\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰�‹�����‘’“”•–—˜™�›���� ¡¢£₪¥¦§¨©×«¬­®¯°±²³´µ¶·¸¹÷»¼½¾¿ְֱֲֳִֵֶַָֹ�ֻּֽ־ֿ׀ׁׂ׃װױײ׳״�������אבגדהוזחטיךכלםמןנסעףפץצקרשת��‎‏�\",t=[],r={},n=0;n!=e.length;++n)65533!==e.charCodeAt(n)&&(r[e.charAt(n)]=n),t[n]=e.charAt(n);return{enc:r,dec:t}}(),r[1256]=function(){for(var e=\"\\0\u0001\u0002\u0003\u0004\u0005\u0006\u0007\\b\\t\\n\\v\\f\\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€پ‚ƒ„…†‡ˆ‰ٹ‹Œچژڈگ‘’“”•–—ک™ڑ›œ‌‍ں ،¢£¤¥¦§¨©ھ«¬­®¯°±²³´µ¶·¸¹؛»¼½¾؟ہءآأؤإئابةتثجحخدذرزسشصض×طظعغـفقكàلâمنهوçèéêëىيîïًٌٍَôُِ÷ّùْûü‎‏ے\",t=[],r={},n=0;n!=e.length;++n)65533!==e.charCodeAt(n)&&(r[e.charAt(n)]=n),t[n]=e.charAt(n);return{enc:r,dec:t}}(),r[1257]=function(){for(var e=\"\\0\u0001\u0002\u0003\u0004\u0005\u0006\u0007\\b\\t\\n\\v\\f\\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚�„…†‡�‰�‹�¨ˇ¸�‘’“”•–—�™�›�¯˛� �¢£¤�¦§Ø©Ŗ«¬­®Æ°±²³´µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž˙\",t=[],r={},n=0;n!=e.length;++n)65533!==e.charCodeAt(n)&&(r[e.charAt(n)]=n),t[n]=e.charAt(n);return{enc:r,dec:t}}(),r[1258]=function(){for(var e=\"\\0\u0001\u0002\u0003\u0004\u0005\u0006\u0007\\b\\t\\n\\v\\f\\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰�‹Œ����‘’“”•–—˜™�›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖ×ØÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ\",t=[],r={},n=0;n!=e.length;++n)65533!==e.charCodeAt(n)&&(r[e.charAt(n)]=n),t[n]=e.charAt(n);return{enc:r,dec:t}}(),r[1e4]=function(){for(var e=\"\\0\u0001\u0002\u0003\u0004\u0005\u0006\u0007\\b\\t\\n\\v\\f\\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›ﬁﬂ‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ\",t=[],r={},n=0;n!=e.length;++n)65533!==e.charCodeAt(n)&&(r[e.charAt(n)]=n),t[n]=e.charAt(n);return{enc:r,dec:t}}(),r[10006]=function(){for(var e=\"\\0\u0001\u0002\u0003\u0004\u0005\u0006\u0007\\b\\t\\n\\v\\f\\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~Ä¹²É³ÖÜ΅àâä΄¨çéèêë£™îï•½‰ôö¦­ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ�\",t=[],r={},n=0;n!=e.length;++n)65533!==e.charCodeAt(n)&&(r[e.charAt(n)]=n),t[n]=e.charAt(n);return{enc:r,dec:t}}(),r[10007]=function(){for(var e=\"\\0\u0001\u0002\u0003\u0004\u0005\u0006\u0007\\b\\t\\n\\v\\f\\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°¢£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµ∂ЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю¤\",t=[],r={},n=0;n!=e.length;++n)65533!==e.charCodeAt(n)&&(r[e.charAt(n)]=n),t[n]=e.charAt(n);return{enc:r,dec:t}}(),r[10008]=function(){var e,t=[],r={},n=[];for(n[0]=\"\\0\u0001\u0002\u0003\u0004\u0005\u0006\u0007\\b\\t\\n\\v\\f\\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~���������������������������������������������������������������������������������������\".split(\"\"),e=0;e!=n[0].length;++e)65533!==n[0][e].charCodeAt(0)&&(r[n[0][e]]=0+e,t[0+e]=n[0][e]);for(n[161]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������　、。・ˉˇ¨〃々―～�…‘’“”〔〕〈〉《》「」『』〖〗【】±×÷∶∧∨∑∏∪∩∈∷√⊥∥∠⌒⊙∫∮≡≌≈∽∝≠≮≯≤≥∞∵∴♂♀°′″℃＄¤￠￡‰§№☆★○●◎◇◆□■△▲※→←↑↓〓�\".split(\"\"),e=0;e!=n[161].length;++e)65533!==n[161][e].charCodeAt(0)&&(r[n[161][e]]=41216+e,t[41216+e]=n[161][e]);for(n[162]=\"���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓⒔⒕⒖⒗⒘⒙⒚⒛⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂⒃⒄⒅⒆⒇①②③④⑤⑥⑦⑧⑨⑩��㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩��ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ���\".split(\"\"),e=0;e!=n[162].length;++e)65533!==n[162][e].charCodeAt(0)&&(r[n[162][e]]=41472+e,t[41472+e]=n[162][e]);for(n[163]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������！＂＃￥％＆＇（）＊＋，－．／０１２３４５６７８９：；＜＝＞？＠ＡＢＣＤＥＦＧＨＩＪＫＬＭＮＯＰＱＲＳＴＵＶＷＸＹＺ［＼］＾＿｀ａｂｃｄｅｆｇｈｉｊｋｌｍｎｏｐｑｒｓｔｕｖｗｘｙｚ｛｜｝￣�\".split(\"\"),e=0;e!=n[163].length;++e)65533!==n[163][e].charCodeAt(0)&&(r[n[163][e]]=41728+e,t[41728+e]=n[163][e]);for(n[164]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん������������\".split(\"\"),e=0;e!=n[164].length;++e)65533!==n[164][e].charCodeAt(0)&&(r[n[164][e]]=41984+e,t[41984+e]=n[164][e]);for(n[165]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ���������\".split(\"\"),e=0;e!=n[165].length;++e)65533!==n[165][e].charCodeAt(0)&&(r[n[165][e]]=42240+e,t[42240+e]=n[165][e]);for(n[166]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω���������������������������������������\".split(\"\"),e=0;e!=n[166].length;++e)65533!==n[166][e].charCodeAt(0)&&(r[n[166][e]]=42496+e,t[42496+e]=n[166][e]);for(n[167]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмнопрстуфхцчшщъыьэюя��������������\".split(\"\"),e=0;e!=n[167].length;++e)65533!==n[167][e].charCodeAt(0)&&(r[n[167][e]]=42752+e,t[42752+e]=n[167][e]);for(n[168]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜüê����������ㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩ����������������������\".split(\"\"),e=0;e!=n[168].length;++e)65533!==n[168][e].charCodeAt(0)&&(r[n[168][e]]=43008+e,t[43008+e]=n[168][e]);for(n[169]=\"��������������������������������������������������������������������������������������������������������������������������������������������������������������������─━│┃┄┅┆┇┈┉┊┋┌┍┎┏┐┑┒┓└┕┖┗┘┙┚┛├┝┞┟┠┡┢┣┤┥┦┧┨┩┪┫┬┭┮┯┰┱┲┳┴┵┶┷┸┹┺┻┼┽┾┿╀╁╂╃╄╅╆╇╈╉╊╋����������������\".split(\"\"),e=0;e!=n[169].length;++e)65533!==n[169][e].charCodeAt(0)&&(r[n[169][e]]=43264+e,t[43264+e]=n[169][e]);for(n[176]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱袄傲奥懊澳芭捌扒叭吧笆八疤巴拔跋靶把耙坝霸罢爸白柏百摆佰败拜稗斑班搬扳般颁板版扮拌伴瓣半办绊邦帮梆榜膀绑棒磅蚌镑傍谤苞胞包褒剥�\".split(\"\"),e=0;e!=n[176].length;++e)65533!==n[176][e].charCodeAt(0)&&(r[n[176][e]]=45056+e,t[45056+e]=n[176][e]);for(n[177]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������薄雹保堡饱宝抱报暴豹鲍爆杯碑悲卑北辈背贝钡倍狈备惫焙被奔苯本笨崩绷甭泵蹦迸逼鼻比鄙笔彼碧蓖蔽毕毙毖币庇痹闭敝弊必辟壁臂避陛鞭边编贬扁便变卞辨辩辫遍标彪膘表鳖憋别瘪彬斌濒滨宾摈兵冰柄丙秉饼炳�\".split(\"\"),e=0;e!=n[177].length;++e)65533!==n[177][e].charCodeAt(0)&&(r[n[177][e]]=45312+e,t[45312+e]=n[177][e]);for(n[178]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������病并玻菠播拨钵波博勃搏铂箔伯帛舶脖膊渤泊驳捕卜哺补埠不布步簿部怖擦猜裁材才财睬踩采彩菜蔡餐参蚕残惭惨灿苍舱仓沧藏操糙槽曹草厕策侧册测层蹭插叉茬茶查碴搽察岔差诧拆柴豺搀掺蝉馋谗缠铲产阐颤昌猖�\".split(\"\"),e=0;e!=n[178].length;++e)65533!==n[178][e].charCodeAt(0)&&(r[n[178][e]]=45568+e,t[45568+e]=n[178][e]);for(n[179]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������场尝常长偿肠厂敞畅唱倡超抄钞朝嘲潮巢吵炒车扯撤掣彻澈郴臣辰尘晨忱沉陈趁衬撑称城橙成呈乘程惩澄诚承逞骋秤吃痴持匙池迟弛驰耻齿侈尺赤翅斥炽充冲虫崇宠抽酬畴踌稠愁筹仇绸瞅丑臭初出橱厨躇锄雏滁除楚�\".split(\"\"),e=0;e!=n[179].length;++e)65533!==n[179][e].charCodeAt(0)&&(r[n[179][e]]=45824+e,t[45824+e]=n[179][e]);for(n[180]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������础储矗搐触处揣川穿椽传船喘串疮窗幢床闯创吹炊捶锤垂春椿醇唇淳纯蠢戳绰疵茨磁雌辞慈瓷词此刺赐次聪葱囱匆从丛凑粗醋簇促蹿篡窜摧崔催脆瘁粹淬翠村存寸磋撮搓措挫错搭达答瘩打大呆歹傣戴带殆代贷袋待逮�\".split(\"\"),e=0;e!=n[180].length;++e)65533!==n[180][e].charCodeAt(0)&&(r[n[180][e]]=46080+e,t[46080+e]=n[180][e]);for(n[181]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������怠耽担丹单郸掸胆旦氮但惮淡诞弹蛋当挡党荡档刀捣蹈倒岛祷导到稻悼道盗德得的蹬灯登等瞪凳邓堤低滴迪敌笛狄涤翟嫡抵底地蒂第帝弟递缔颠掂滇碘点典靛垫电佃甸店惦奠淀殿碉叼雕凋刁掉吊钓调跌爹碟蝶迭谍叠�\".split(\"\"),e=0;e!=n[181].length;++e)65533!==n[181][e].charCodeAt(0)&&(r[n[181][e]]=46336+e,t[46336+e]=n[181][e]);for(n[182]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������丁盯叮钉顶鼎锭定订丢东冬董懂动栋侗恫冻洞兜抖斗陡豆逗痘都督毒犊独读堵睹赌杜镀肚度渡妒端短锻段断缎堆兑队对墩吨蹲敦顿囤钝盾遁掇哆多夺垛躲朵跺舵剁惰堕蛾峨鹅俄额讹娥恶厄扼遏鄂饿恩而儿耳尔饵洱二�\".split(\"\"),e=0;e!=n[182].length;++e)65533!==n[182][e].charCodeAt(0)&&(r[n[182][e]]=46592+e,t[46592+e]=n[182][e]);for(n[183]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������贰发罚筏伐乏阀法珐藩帆番翻樊矾钒繁凡烦反返范贩犯饭泛坊芳方肪房防妨仿访纺放菲非啡飞肥匪诽吠肺废沸费芬酚吩氛分纷坟焚汾粉奋份忿愤粪丰封枫蜂峰锋风疯烽逢冯缝讽奉凤佛否夫敷肤孵扶拂辐幅氟符伏俘服�\".split(\"\"),e=0;e!=n[183].length;++e)65533!==n[183][e].charCodeAt(0)&&(r[n[183][e]]=46848+e,t[46848+e]=n[183][e]);for(n[184]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������浮涪福袱弗甫抚辅俯釜斧脯腑府腐赴副覆赋复傅付阜父腹负富讣附妇缚咐噶嘎该改概钙盖溉干甘杆柑竿肝赶感秆敢赣冈刚钢缸肛纲岗港杠篙皋高膏羔糕搞镐稿告哥歌搁戈鸽胳疙割革葛格蛤阁隔铬个各给根跟耕更庚羹�\".split(\"\"),e=0;e!=n[184].length;++e)65533!==n[184][e].charCodeAt(0)&&(r[n[184][e]]=47104+e,t[47104+e]=n[184][e]);for(n[185]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������埂耿梗工攻功恭龚供躬公宫弓巩汞拱贡共钩勾沟苟狗垢构购够辜菇咕箍估沽孤姑鼓古蛊骨谷股故顾固雇刮瓜剐寡挂褂乖拐怪棺关官冠观管馆罐惯灌贯光广逛瑰规圭硅归龟闺轨鬼诡癸桂柜跪贵刽辊滚棍锅郭国果裹过哈�\".split(\"\"),e=0;e!=n[185].length;++e)65533!==n[185][e].charCodeAt(0)&&(r[n[185][e]]=47360+e,t[47360+e]=n[185][e]);for(n[186]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������骸孩海氦亥害骇酣憨邯韩含涵寒函喊罕翰撼捍旱憾悍焊汗汉夯杭航壕嚎豪毫郝好耗号浩呵喝荷菏核禾和何合盒貉阂河涸赫褐鹤贺嘿黑痕很狠恨哼亨横衡恒轰哄烘虹鸿洪宏弘红喉侯猴吼厚候后呼乎忽瑚壶葫胡蝴狐糊湖�\".split(\"\"),e=0;e!=n[186].length;++e)65533!==n[186][e].charCodeAt(0)&&(r[n[186][e]]=47616+e,t[47616+e]=n[186][e]);for(n[187]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������弧虎唬护互沪户花哗华猾滑画划化话槐徊怀淮坏欢环桓还缓换患唤痪豢焕涣宦幻荒慌黄磺蝗簧皇凰惶煌晃幌恍谎灰挥辉徽恢蛔回毁悔慧卉惠晦贿秽会烩汇讳诲绘荤昏婚魂浑混豁活伙火获或惑霍货祸击圾基机畸稽积箕�\".split(\"\"),e=0;e!=n[187].length;++e)65533!==n[187][e].charCodeAt(0)&&(r[n[187][e]]=47872+e,t[47872+e]=n[187][e]);for(n[188]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������肌饥迹激讥鸡姬绩缉吉极棘辑籍集及急疾汲即嫉级挤几脊己蓟技冀季伎祭剂悸济寄寂计记既忌际妓继纪嘉枷夹佳家加荚颊贾甲钾假稼价架驾嫁歼监坚尖笺间煎兼肩艰奸缄茧检柬碱硷拣捡简俭剪减荐槛鉴践贱见键箭件�\".split(\"\"),e=0;e!=n[188].length;++e)65533!==n[188][e].charCodeAt(0)&&(r[n[188][e]]=48128+e,t[48128+e]=n[188][e]);for(n[189]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������健舰剑饯渐溅涧建僵姜将浆江疆蒋桨奖讲匠酱降蕉椒礁焦胶交郊浇骄娇嚼搅铰矫侥脚狡角饺缴绞剿教酵轿较叫窖揭接皆秸街阶截劫节桔杰捷睫竭洁结解姐戒藉芥界借介疥诫届巾筋斤金今津襟紧锦仅谨进靳晋禁近烬浸�\".split(\"\"),e=0;e!=n[189].length;++e)65533!==n[189][e].charCodeAt(0)&&(r[n[189][e]]=48384+e,t[48384+e]=n[189][e]);for(n[190]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������尽劲荆兢茎睛晶鲸京惊精粳经井警景颈静境敬镜径痉靖竟竞净炯窘揪究纠玖韭久灸九酒厩救旧臼舅咎就疚鞠拘狙疽居驹菊局咀矩举沮聚拒据巨具距踞锯俱句惧炬剧捐鹃娟倦眷卷绢撅攫抉掘倔爵觉决诀绝均菌钧军君峻�\".split(\"\"),e=0;e!=n[190].length;++e)65533!==n[190][e].charCodeAt(0)&&(r[n[190][e]]=48640+e,t[48640+e]=n[190][e]);for(n[191]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������俊竣浚郡骏喀咖卡咯开揩楷凯慨刊堪勘坎砍看康慷糠扛抗亢炕考拷烤靠坷苛柯棵磕颗科壳咳可渴克刻客课肯啃垦恳坑吭空恐孔控抠口扣寇枯哭窟苦酷库裤夸垮挎跨胯块筷侩快宽款匡筐狂框矿眶旷况亏盔岿窥葵奎魁傀�\".split(\"\"),e=0;e!=n[191].length;++e)65533!==n[191][e].charCodeAt(0)&&(r[n[191][e]]=48896+e,t[48896+e]=n[191][e]);for(n[192]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������馈愧溃坤昆捆困括扩廓阔垃拉喇蜡腊辣啦莱来赖蓝婪栏拦篮阑兰澜谰揽览懒缆烂滥琅榔狼廊郎朗浪捞劳牢老佬姥酪烙涝勒乐雷镭蕾磊累儡垒擂肋类泪棱楞冷厘梨犁黎篱狸离漓理李里鲤礼莉荔吏栗丽厉励砾历利傈例俐�\".split(\"\"),e=0;e!=n[192].length;++e)65533!==n[192][e].charCodeAt(0)&&(r[n[192][e]]=49152+e,t[49152+e]=n[192][e]);for(n[193]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������痢立粒沥隶力璃哩俩联莲连镰廉怜涟帘敛脸链恋炼练粮凉梁粱良两辆量晾亮谅撩聊僚疗燎寥辽潦了撂镣廖料列裂烈劣猎琳林磷霖临邻鳞淋凛赁吝拎玲菱零龄铃伶羚凌灵陵岭领另令溜琉榴硫馏留刘瘤流柳六龙聋咙笼窿�\".split(\"\"),e=0;e!=n[193].length;++e)65533!==n[193][e].charCodeAt(0)&&(r[n[193][e]]=49408+e,t[49408+e]=n[193][e]);for(n[194]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������隆垄拢陇楼娄搂篓漏陋芦卢颅庐炉掳卤虏鲁麓碌露路赂鹿潞禄录陆戮驴吕铝侣旅履屡缕虑氯律率滤绿峦挛孪滦卵乱掠略抡轮伦仑沦纶论萝螺罗逻锣箩骡裸落洛骆络妈麻玛码蚂马骂嘛吗埋买麦卖迈脉瞒馒蛮满蔓曼慢漫�\".split(\"\"),e=0;e!=n[194].length;++e)65533!==n[194][e].charCodeAt(0)&&(r[n[194][e]]=49664+e,t[49664+e]=n[194][e]);for(n[195]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������谩芒茫盲氓忙莽猫茅锚毛矛铆卯茂冒帽貌贸么玫枚梅酶霉煤没眉媒镁每美昧寐妹媚门闷们萌蒙檬盟锰猛梦孟眯醚靡糜迷谜弥米秘觅泌蜜密幂棉眠绵冕免勉娩缅面苗描瞄藐秒渺庙妙蔑灭民抿皿敏悯闽明螟鸣铭名命谬摸�\".split(\"\"),e=0;e!=n[195].length;++e)65533!==n[195][e].charCodeAt(0)&&(r[n[195][e]]=49920+e,t[49920+e]=n[195][e]);for(n[196]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������摹蘑模膜磨摩魔抹末莫墨默沫漠寞陌谋牟某拇牡亩姆母墓暮幕募慕木目睦牧穆拿哪呐钠那娜纳氖乃奶耐奈南男难囊挠脑恼闹淖呢馁内嫩能妮霓倪泥尼拟你匿腻逆溺蔫拈年碾撵捻念娘酿鸟尿捏聂孽啮镊镍涅您柠狞凝宁�\".split(\"\"),e=0;e!=n[196].length;++e)65533!==n[196][e].charCodeAt(0)&&(r[n[196][e]]=50176+e,t[50176+e]=n[196][e]);for(n[197]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������拧泞牛扭钮纽脓浓农弄奴努怒女暖虐疟挪懦糯诺哦欧鸥殴藕呕偶沤啪趴爬帕怕琶拍排牌徘湃派攀潘盘磐盼畔判叛乓庞旁耪胖抛咆刨炮袍跑泡呸胚培裴赔陪配佩沛喷盆砰抨烹澎彭蓬棚硼篷膨朋鹏捧碰坯砒霹批披劈琵毗�\".split(\"\"),e=0;e!=n[197].length;++e)65533!==n[197][e].charCodeAt(0)&&(r[n[197][e]]=50432+e,t[50432+e]=n[197][e]);for(n[198]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������啤脾疲皮匹痞僻屁譬篇偏片骗飘漂瓢票撇瞥拼频贫品聘乒坪苹萍平凭瓶评屏坡泼颇婆破魄迫粕剖扑铺仆莆葡菩蒲埔朴圃普浦谱曝瀑期欺栖戚妻七凄漆柒沏其棋奇歧畦崎脐齐旗祈祁骑起岂乞企启契砌器气迄弃汽泣讫掐�\".split(\"\"),e=0;e!=n[198].length;++e)65533!==n[198][e].charCodeAt(0)&&(r[n[198][e]]=50688+e,t[50688+e]=n[198][e]);for(n[199]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������恰洽牵扦钎铅千迁签仟谦乾黔钱钳前潜遣浅谴堑嵌欠歉枪呛腔羌墙蔷强抢橇锹敲悄桥瞧乔侨巧鞘撬翘峭俏窍切茄且怯窃钦侵亲秦琴勤芹擒禽寝沁青轻氢倾卿清擎晴氰情顷请庆琼穷秋丘邱球求囚酋泅趋区蛆曲躯屈驱渠�\".split(\"\"),e=0;e!=n[199].length;++e)65533!==n[199][e].charCodeAt(0)&&(r[n[199][e]]=50944+e,t[50944+e]=n[199][e]);for(n[200]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������取娶龋趣去圈颧权醛泉全痊拳犬券劝缺炔瘸却鹊榷确雀裙群然燃冉染瓤壤攘嚷让饶扰绕惹热壬仁人忍韧任认刃妊纫扔仍日戎茸蓉荣融熔溶容绒冗揉柔肉茹蠕儒孺如辱乳汝入褥软阮蕊瑞锐闰润若弱撒洒萨腮鳃塞赛三叁�\".split(\"\"),e=0;e!=n[200].length;++e)65533!==n[200][e].charCodeAt(0)&&(r[n[200][e]]=51200+e,t[51200+e]=n[200][e]);for(n[201]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������伞散桑嗓丧搔骚扫嫂瑟色涩森僧莎砂杀刹沙纱傻啥煞筛晒珊苫杉山删煽衫闪陕擅赡膳善汕扇缮墒伤商赏晌上尚裳梢捎稍烧芍勺韶少哨邵绍奢赊蛇舌舍赦摄射慑涉社设砷申呻伸身深娠绅神沈审婶甚肾慎渗声生甥牲升绳�\".split(\"\"),e=0;e!=n[201].length;++e)65533!==n[201][e].charCodeAt(0)&&(r[n[201][e]]=51456+e,t[51456+e]=n[201][e]);for(n[202]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������省盛剩胜圣师失狮施湿诗尸虱十石拾时什食蚀实识史矢使屎驶始式示士世柿事拭誓逝势是嗜噬适仕侍释饰氏市恃室视试收手首守寿授售受瘦兽蔬枢梳殊抒输叔舒淑疏书赎孰熟薯暑曙署蜀黍鼠属术述树束戍竖墅庶数漱�\".split(\"\"),e=0;e!=n[202].length;++e)65533!==n[202][e].charCodeAt(0)&&(r[n[202][e]]=51712+e,t[51712+e]=n[202][e]);for(n[203]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������恕刷耍摔衰甩帅栓拴霜双爽谁水睡税吮瞬顺舜说硕朔烁斯撕嘶思私司丝死肆寺嗣四伺似饲巳松耸怂颂送宋讼诵搜艘擞嗽苏酥俗素速粟僳塑溯宿诉肃酸蒜算虽隋随绥髓碎岁穗遂隧祟孙损笋蓑梭唆缩琐索锁所塌他它她塔�\".split(\"\"),e=0;e!=n[203].length;++e)65533!==n[203][e].charCodeAt(0)&&(r[n[203][e]]=51968+e,t[51968+e]=n[203][e]);for(n[204]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������獭挞蹋踏胎苔抬台泰酞太态汰坍摊贪瘫滩坛檀痰潭谭谈坦毯袒碳探叹炭汤塘搪堂棠膛唐糖倘躺淌趟烫掏涛滔绦萄桃逃淘陶讨套特藤腾疼誊梯剔踢锑提题蹄啼体替嚏惕涕剃屉天添填田甜恬舔腆挑条迢眺跳贴铁帖厅听烃�\".split(\"\"),e=0;e!=n[204].length;++e)65533!==n[204][e].charCodeAt(0)&&(r[n[204][e]]=52224+e,t[52224+e]=n[204][e]);for(n[205]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������汀廷停亭庭挺艇通桐酮瞳同铜彤童桶捅筒统痛偷投头透凸秃突图徒途涂屠土吐兔湍团推颓腿蜕褪退吞屯臀拖托脱鸵陀驮驼椭妥拓唾挖哇蛙洼娃瓦袜歪外豌弯湾玩顽丸烷完碗挽晚皖惋宛婉万腕汪王亡枉网往旺望忘妄威�\".split(\"\"),e=0;e!=n[205].length;++e)65533!==n[205][e].charCodeAt(0)&&(r[n[205][e]]=52480+e,t[52480+e]=n[205][e]);for(n[206]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������巍微危韦违桅围唯惟为潍维苇萎委伟伪尾纬未蔚味畏胃喂魏位渭谓尉慰卫瘟温蚊文闻纹吻稳紊问嗡翁瓮挝蜗涡窝我斡卧握沃巫呜钨乌污诬屋无芜梧吾吴毋武五捂午舞伍侮坞戊雾晤物勿务悟误昔熙析西硒矽晰嘻吸锡牺�\".split(\"\"),e=0;e!=n[206].length;++e)65533!==n[206][e].charCodeAt(0)&&(r[n[206][e]]=52736+e,t[52736+e]=n[206][e]);for(n[207]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������稀息希悉膝夕惜熄烯溪汐犀檄袭席习媳喜铣洗系隙戏细瞎虾匣霞辖暇峡侠狭下厦夏吓掀锨先仙鲜纤咸贤衔舷闲涎弦嫌显险现献县腺馅羡宪陷限线相厢镶香箱襄湘乡翔祥详想响享项巷橡像向象萧硝霄削哮嚣销消宵淆晓�\".split(\"\"),e=0;e!=n[207].length;++e)65533!==n[207][e].charCodeAt(0)&&(r[n[207][e]]=52992+e,t[52992+e]=n[207][e]);for(n[208]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������小孝校肖啸笑效楔些歇蝎鞋协挟携邪斜胁谐写械卸蟹懈泄泻谢屑薪芯锌欣辛新忻心信衅星腥猩惺兴刑型形邢行醒幸杏性姓兄凶胸匈汹雄熊休修羞朽嗅锈秀袖绣墟戌需虚嘘须徐许蓄酗叙旭序畜恤絮婿绪续轩喧宣悬旋玄�\".split(\"\"),e=0;e!=n[208].length;++e)65533!==n[208][e].charCodeAt(0)&&(r[n[208][e]]=53248+e,t[53248+e]=n[208][e]);for(n[209]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������选癣眩绚靴薛学穴雪血勋熏循旬询寻驯巡殉汛训讯逊迅压押鸦鸭呀丫芽牙蚜崖衙涯雅哑亚讶焉咽阉烟淹盐严研蜒岩延言颜阎炎沿奄掩眼衍演艳堰燕厌砚雁唁彦焰宴谚验殃央鸯秧杨扬佯疡羊洋阳氧仰痒养样漾邀腰妖瑶�\".split(\"\"),e=0;e!=n[209].length;++e)65533!==n[209][e].charCodeAt(0)&&(r[n[209][e]]=53504+e,t[53504+e]=n[209][e]);for(n[210]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������摇尧遥窑谣姚咬舀药要耀椰噎耶爷野冶也页掖业叶曳腋夜液一壹医揖铱依伊衣颐夷遗移仪胰疑沂宜姨彝椅蚁倚已乙矣以艺抑易邑屹亿役臆逸肄疫亦裔意毅忆义益溢诣议谊译异翼翌绎茵荫因殷音阴姻吟银淫寅饮尹引隐�\".split(\"\"),e=0;e!=n[210].length;++e)65533!==n[210][e].charCodeAt(0)&&(r[n[210][e]]=53760+e,t[53760+e]=n[210][e]);for(n[211]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������印英樱婴鹰应缨莹萤营荧蝇迎赢盈影颖硬映哟拥佣臃痈庸雍踊蛹咏泳涌永恿勇用幽优悠忧尤由邮铀犹油游酉有友右佑釉诱又幼迂淤于盂榆虞愚舆余俞逾鱼愉渝渔隅予娱雨与屿禹宇语羽玉域芋郁吁遇喻峪御愈欲狱育誉�\".split(\"\"),e=0;e!=n[211].length;++e)65533!==n[211][e].charCodeAt(0)&&(r[n[211][e]]=54016+e,t[54016+e]=n[211][e]);for(n[212]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������浴寓裕预豫驭鸳渊冤元垣袁原援辕园员圆猿源缘远苑愿怨院曰约越跃钥岳粤月悦阅耘云郧匀陨允运蕴酝晕韵孕匝砸杂栽哉灾宰载再在咱攒暂赞赃脏葬遭糟凿藻枣早澡蚤躁噪造皂灶燥责择则泽贼怎增憎曾赠扎喳渣札轧�\".split(\"\"),e=0;e!=n[212].length;++e)65533!==n[212][e].charCodeAt(0)&&(r[n[212][e]]=54272+e,t[54272+e]=n[212][e]);for(n[213]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������铡闸眨栅榨咋乍炸诈摘斋宅窄债寨瞻毡詹粘沾盏斩辗崭展蘸栈占战站湛绽樟章彰漳张掌涨杖丈帐账仗胀瘴障招昭找沼赵照罩兆肇召遮折哲蛰辙者锗蔗这浙珍斟真甄砧臻贞针侦枕疹诊震振镇阵蒸挣睁征狰争怔整拯正政�\".split(\"\"),e=0;e!=n[213].length;++e)65533!==n[213][e].charCodeAt(0)&&(r[n[213][e]]=54528+e,t[54528+e]=n[213][e]);for(n[214]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������帧症郑证芝枝支吱蜘知肢脂汁之织职直植殖执值侄址指止趾只旨纸志挚掷至致置帜峙制智秩稚质炙痔滞治窒中盅忠钟衷终种肿重仲众舟周州洲诌粥轴肘帚咒皱宙昼骤珠株蛛朱猪诸诛逐竹烛煮拄瞩嘱主著柱助蛀贮铸筑�\".split(\"\"),e=0;e!=n[214].length;++e)65533!==n[214][e].charCodeAt(0)&&(r[n[214][e]]=54784+e,t[54784+e]=n[214][e]);for(n[215]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������住注祝驻抓爪拽专砖转撰赚篆桩庄装妆撞壮状椎锥追赘坠缀谆准捉拙卓桌琢茁酌啄着灼浊兹咨资姿滋淄孜紫仔籽滓子自渍字鬃棕踪宗综总纵邹走奏揍租足卒族祖诅阻组钻纂嘴醉最罪尊遵昨左佐柞做作坐座������\".split(\"\"),e=0;e!=n[215].length;++e)65533!==n[215][e].charCodeAt(0)&&(r[n[215][e]]=55040+e,t[55040+e]=n[215][e]);for(n[216]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������亍丌兀丐廿卅丕亘丞鬲孬噩丨禺丿匕乇夭爻卮氐囟胤馗毓睾鼗丶亟鼐乜乩亓芈孛啬嘏仄厍厝厣厥厮靥赝匚叵匦匮匾赜卦卣刂刈刎刭刳刿剀剌剞剡剜蒯剽劂劁劐劓冂罔亻仃仉仂仨仡仫仞伛仳伢佤仵伥伧伉伫佞佧攸佚佝�\".split(\"\"),e=0;e!=n[216].length;++e)65533!==n[216][e].charCodeAt(0)&&(r[n[216][e]]=55296+e,t[55296+e]=n[216][e]);for(n[217]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������佟佗伲伽佶佴侑侉侃侏佾佻侪佼侬侔俦俨俪俅俚俣俜俑俟俸倩偌俳倬倏倮倭俾倜倌倥倨偾偃偕偈偎偬偻傥傧傩傺僖儆僭僬僦僮儇儋仝氽佘佥俎龠汆籴兮巽黉馘冁夔勹匍訇匐凫夙兕亠兖亳衮袤亵脔裒禀嬴蠃羸冫冱冽冼�\".split(\"\"),e=0;e!=n[217].length;++e)65533!==n[217][e].charCodeAt(0)&&(r[n[217][e]]=55552+e,t[55552+e]=n[217][e]);for(n[218]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������凇冖冢冥讠讦讧讪讴讵讷诂诃诋诏诎诒诓诔诖诘诙诜诟诠诤诨诩诮诰诳诶诹诼诿谀谂谄谇谌谏谑谒谔谕谖谙谛谘谝谟谠谡谥谧谪谫谮谯谲谳谵谶卩卺阝阢阡阱阪阽阼陂陉陔陟陧陬陲陴隈隍隗隰邗邛邝邙邬邡邴邳邶邺�\".split(\"\"),e=0;e!=n[218].length;++e)65533!==n[218][e].charCodeAt(0)&&(r[n[218][e]]=55808+e,t[55808+e]=n[218][e]);for(n[219]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������邸邰郏郅邾郐郄郇郓郦郢郜郗郛郫郯郾鄄鄢鄞鄣鄱鄯鄹酃酆刍奂劢劬劭劾哿勐勖勰叟燮矍廴凵凼鬯厶弁畚巯坌垩垡塾墼壅壑圩圬圪圳圹圮圯坜圻坂坩垅坫垆坼坻坨坭坶坳垭垤垌垲埏垧垴垓垠埕埘埚埙埒垸埴埯埸埤埝�\".split(\"\"),e=0;e!=n[219].length;++e)65533!==n[219][e].charCodeAt(0)&&(r[n[219][e]]=56064+e,t[56064+e]=n[219][e]);for(n[220]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������堋堍埽埭堀堞堙塄堠塥塬墁墉墚墀馨鼙懿艹艽艿芏芊芨芄芎芑芗芙芫芸芾芰苈苊苣芘芷芮苋苌苁芩芴芡芪芟苄苎芤苡茉苷苤茏茇苜苴苒苘茌苻苓茑茚茆茔茕苠苕茜荑荛荜茈莒茼茴茱莛荞茯荏荇荃荟荀茗荠茭茺茳荦荥�\".split(\"\"),e=0;e!=n[220].length;++e)65533!==n[220][e].charCodeAt(0)&&(r[n[220][e]]=56320+e,t[56320+e]=n[220][e]);for(n[221]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������荨茛荩荬荪荭荮莰荸莳莴莠莪莓莜莅荼莶莩荽莸荻莘莞莨莺莼菁萁菥菘堇萘萋菝菽菖萜萸萑萆菔菟萏萃菸菹菪菅菀萦菰菡葜葑葚葙葳蒇蒈葺蒉葸萼葆葩葶蒌蒎萱葭蓁蓍蓐蓦蒽蓓蓊蒿蒺蓠蒡蒹蒴蒗蓥蓣蔌甍蔸蓰蔹蔟蔺�\".split(\"\"),e=0;e!=n[221].length;++e)65533!==n[221][e].charCodeAt(0)&&(r[n[221][e]]=56576+e,t[56576+e]=n[221][e]);for(n[222]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������蕖蔻蓿蓼蕙蕈蕨蕤蕞蕺瞢蕃蕲蕻薤薨薇薏蕹薮薜薅薹薷薰藓藁藜藿蘧蘅蘩蘖蘼廾弈夼奁耷奕奚奘匏尢尥尬尴扌扪抟抻拊拚拗拮挢拶挹捋捃掭揶捱捺掎掴捭掬掊捩掮掼揲揸揠揿揄揞揎摒揆掾摅摁搋搛搠搌搦搡摞撄摭撖�\".split(\"\"),e=0;e!=n[222].length;++e)65533!==n[222][e].charCodeAt(0)&&(r[n[222][e]]=56832+e,t[56832+e]=n[222][e]);for(n[223]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������摺撷撸撙撺擀擐擗擤擢攉攥攮弋忒甙弑卟叱叽叩叨叻吒吖吆呋呒呓呔呖呃吡呗呙吣吲咂咔呷呱呤咚咛咄呶呦咝哐咭哂咴哒咧咦哓哔呲咣哕咻咿哌哙哚哜咩咪咤哝哏哞唛哧唠哽唔哳唢唣唏唑唧唪啧喏喵啉啭啁啕唿啐唼�\".split(\"\"),e=0;e!=n[223].length;++e)65533!==n[223][e].charCodeAt(0)&&(r[n[223][e]]=57088+e,t[57088+e]=n[223][e]);for(n[224]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������唷啖啵啶啷唳唰啜喋嗒喃喱喹喈喁喟啾嗖喑啻嗟喽喾喔喙嗪嗷嗉嘟嗑嗫嗬嗔嗦嗝嗄嗯嗥嗲嗳嗌嗍嗨嗵嗤辔嘞嘈嘌嘁嘤嘣嗾嘀嘧嘭噘嘹噗嘬噍噢噙噜噌噔嚆噤噱噫噻噼嚅嚓嚯囔囗囝囡囵囫囹囿圄圊圉圜帏帙帔帑帱帻帼�\".split(\"\"),e=0;e!=n[224].length;++e)65533!==n[224][e].charCodeAt(0)&&(r[n[224][e]]=57344+e,t[57344+e]=n[224][e]);for(n[225]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������帷幄幔幛幞幡岌屺岍岐岖岈岘岙岑岚岜岵岢岽岬岫岱岣峁岷峄峒峤峋峥崂崃崧崦崮崤崞崆崛嵘崾崴崽嵬嵛嵯嵝嵫嵋嵊嵩嵴嶂嶙嶝豳嶷巅彳彷徂徇徉後徕徙徜徨徭徵徼衢彡犭犰犴犷犸狃狁狎狍狒狨狯狩狲狴狷猁狳猃狺�\".split(\"\"),e=0;e!=n[225].length;++e)65533!==n[225][e].charCodeAt(0)&&(r[n[225][e]]=57600+e,t[57600+e]=n[225][e]);for(n[226]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������狻猗猓猡猊猞猝猕猢猹猥猬猸猱獐獍獗獠獬獯獾舛夥飧夤夂饣饧饨饩饪饫饬饴饷饽馀馄馇馊馍馐馑馓馔馕庀庑庋庖庥庠庹庵庾庳赓廒廑廛廨廪膺忄忉忖忏怃忮怄忡忤忾怅怆忪忭忸怙怵怦怛怏怍怩怫怊怿怡恸恹恻恺恂�\".split(\"\"),e=0;e!=n[226].length;++e)65533!==n[226][e].charCodeAt(0)&&(r[n[226][e]]=57856+e,t[57856+e]=n[226][e]);for(n[227]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������恪恽悖悚悭悝悃悒悌悛惬悻悱惝惘惆惚悴愠愦愕愣惴愀愎愫慊慵憬憔憧憷懔懵忝隳闩闫闱闳闵闶闼闾阃阄阆阈阊阋阌阍阏阒阕阖阗阙阚丬爿戕氵汔汜汊沣沅沐沔沌汨汩汴汶沆沩泐泔沭泷泸泱泗沲泠泖泺泫泮沱泓泯泾�\".split(\"\"),e=0;e!=n[227].length;++e)65533!==n[227][e].charCodeAt(0)&&(r[n[227][e]]=58112+e,t[58112+e]=n[227][e]);for(n[228]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������洹洧洌浃浈洇洄洙洎洫浍洮洵洚浏浒浔洳涑浯涞涠浞涓涔浜浠浼浣渚淇淅淞渎涿淠渑淦淝淙渖涫渌涮渫湮湎湫溲湟溆湓湔渲渥湄滟溱溘滠漭滢溥溧溽溻溷滗溴滏溏滂溟潢潆潇漤漕滹漯漶潋潴漪漉漩澉澍澌潸潲潼潺濑�\".split(\"\"),e=0;e!=n[228].length;++e)65533!==n[228][e].charCodeAt(0)&&(r[n[228][e]]=58368+e,t[58368+e]=n[228][e]);for(n[229]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������濉澧澹澶濂濡濮濞濠濯瀚瀣瀛瀹瀵灏灞宀宄宕宓宥宸甯骞搴寤寮褰寰蹇謇辶迓迕迥迮迤迩迦迳迨逅逄逋逦逑逍逖逡逵逶逭逯遄遑遒遐遨遘遢遛暹遴遽邂邈邃邋彐彗彖彘尻咫屐屙孱屣屦羼弪弩弭艴弼鬻屮妁妃妍妩妪妣�\".split(\"\"),e=0;e!=n[229].length;++e)65533!==n[229][e].charCodeAt(0)&&(r[n[229][e]]=58624+e,t[58624+e]=n[229][e]);for(n[230]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������妗姊妫妞妤姒妲妯姗妾娅娆姝娈姣姘姹娌娉娲娴娑娣娓婀婧婊婕娼婢婵胬媪媛婷婺媾嫫媲嫒嫔媸嫠嫣嫱嫖嫦嫘嫜嬉嬗嬖嬲嬷孀尕尜孚孥孳孑孓孢驵驷驸驺驿驽骀骁骅骈骊骐骒骓骖骘骛骜骝骟骠骢骣骥骧纟纡纣纥纨纩�\".split(\"\"),e=0;e!=n[230].length;++e)65533!==n[230][e].charCodeAt(0)&&(r[n[230][e]]=58880+e,t[58880+e]=n[230][e]);for(n[231]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������纭纰纾绀绁绂绉绋绌绐绔绗绛绠绡绨绫绮绯绱绲缍绶绺绻绾缁缂缃缇缈缋缌缏缑缒缗缙缜缛缟缡缢缣缤缥缦缧缪缫缬缭缯缰缱缲缳缵幺畿巛甾邕玎玑玮玢玟珏珂珑玷玳珀珉珈珥珙顼琊珩珧珞玺珲琏琪瑛琦琥琨琰琮琬�\".split(\"\"),e=0;e!=n[231].length;++e)65533!==n[231][e].charCodeAt(0)&&(r[n[231][e]]=59136+e,t[59136+e]=n[231][e]);for(n[232]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������琛琚瑁瑜瑗瑕瑙瑷瑭瑾璜璎璀璁璇璋璞璨璩璐璧瓒璺韪韫韬杌杓杞杈杩枥枇杪杳枘枧杵枨枞枭枋杷杼柰栉柘栊柩枰栌柙枵柚枳柝栀柃枸柢栎柁柽栲栳桠桡桎桢桄桤梃栝桕桦桁桧桀栾桊桉栩梵梏桴桷梓桫棂楮棼椟椠棹�\".split(\"\"),e=0;e!=n[232].length;++e)65533!==n[232][e].charCodeAt(0)&&(r[n[232][e]]=59392+e,t[59392+e]=n[232][e]);for(n[233]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������椤棰椋椁楗棣椐楱椹楠楂楝榄楫榀榘楸椴槌榇榈槎榉楦楣楹榛榧榻榫榭槔榱槁槊槟榕槠榍槿樯槭樗樘橥槲橄樾檠橐橛樵檎橹樽樨橘橼檑檐檩檗檫猷獒殁殂殇殄殒殓殍殚殛殡殪轫轭轱轲轳轵轶轸轷轹轺轼轾辁辂辄辇辋�\".split(\"\"),e=0;e!=n[233].length;++e)65533!==n[233][e].charCodeAt(0)&&(r[n[233][e]]=59648+e,t[59648+e]=n[233][e]);for(n[234]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������辍辎辏辘辚軎戋戗戛戟戢戡戥戤戬臧瓯瓴瓿甏甑甓攴旮旯旰昊昙杲昃昕昀炅曷昝昴昱昶昵耆晟晔晁晏晖晡晗晷暄暌暧暝暾曛曜曦曩贲贳贶贻贽赀赅赆赈赉赇赍赕赙觇觊觋觌觎觏觐觑牮犟牝牦牯牾牿犄犋犍犏犒挈挲掰�\".split(\"\"),e=0;e!=n[234].length;++e)65533!==n[234][e].charCodeAt(0)&&(r[n[234][e]]=59904+e,t[59904+e]=n[234][e]);for(n[235]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������搿擘耄毪毳毽毵毹氅氇氆氍氕氘氙氚氡氩氤氪氲攵敕敫牍牒牖爰虢刖肟肜肓肼朊肽肱肫肭肴肷胧胨胩胪胛胂胄胙胍胗朐胝胫胱胴胭脍脎胲胼朕脒豚脶脞脬脘脲腈腌腓腴腙腚腱腠腩腼腽腭腧塍媵膈膂膑滕膣膪臌朦臊膻�\".split(\"\"),e=0;e!=n[235].length;++e)65533!==n[235][e].charCodeAt(0)&&(r[n[235][e]]=60160+e,t[60160+e]=n[235][e]);for(n[236]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������臁膦欤欷欹歃歆歙飑飒飓飕飙飚殳彀毂觳斐齑斓於旆旄旃旌旎旒旖炀炜炖炝炻烀炷炫炱烨烊焐焓焖焯焱煳煜煨煅煲煊煸煺熘熳熵熨熠燠燔燧燹爝爨灬焘煦熹戾戽扃扈扉礻祀祆祉祛祜祓祚祢祗祠祯祧祺禅禊禚禧禳忑忐�\".split(\"\"),e=0;e!=n[236].length;++e)65533!==n[236][e].charCodeAt(0)&&(r[n[236][e]]=60416+e,t[60416+e]=n[236][e]);for(n[237]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������怼恝恚恧恁恙恣悫愆愍慝憩憝懋懑戆肀聿沓泶淼矶矸砀砉砗砘砑斫砭砜砝砹砺砻砟砼砥砬砣砩硎硭硖硗砦硐硇硌硪碛碓碚碇碜碡碣碲碹碥磔磙磉磬磲礅磴礓礤礞礴龛黹黻黼盱眄眍盹眇眈眚眢眙眭眦眵眸睐睑睇睃睚睨�\".split(\"\"),e=0;e!=n[237].length;++e)65533!==n[237][e].charCodeAt(0)&&(r[n[237][e]]=60672+e,t[60672+e]=n[237][e]);for(n[238]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������睢睥睿瞍睽瞀瞌瞑瞟瞠瞰瞵瞽町畀畎畋畈畛畲畹疃罘罡罟詈罨罴罱罹羁罾盍盥蠲钅钆钇钋钊钌钍钏钐钔钗钕钚钛钜钣钤钫钪钭钬钯钰钲钴钶钷钸钹钺钼钽钿铄铈铉铊铋铌铍铎铐铑铒铕铖铗铙铘铛铞铟铠铢铤铥铧铨铪�\".split(\"\"),e=0;e!=n[238].length;++e)65533!==n[238][e].charCodeAt(0)&&(r[n[238][e]]=60928+e,t[60928+e]=n[238][e]);for(n[239]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������铩铫铮铯铳铴铵铷铹铼铽铿锃锂锆锇锉锊锍锎锏锒锓锔锕锖锘锛锝锞锟锢锪锫锩锬锱锲锴锶锷锸锼锾锿镂锵镄镅镆镉镌镎镏镒镓镔镖镗镘镙镛镞镟镝镡镢镤镥镦镧镨镩镪镫镬镯镱镲镳锺矧矬雉秕秭秣秫稆嵇稃稂稞稔�\".split(\"\"),e=0;e!=n[239].length;++e)65533!==n[239][e].charCodeAt(0)&&(r[n[239][e]]=61184+e,t[61184+e]=n[239][e]);for(n[240]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������稹稷穑黏馥穰皈皎皓皙皤瓞瓠甬鸠鸢鸨鸩鸪鸫鸬鸲鸱鸶鸸鸷鸹鸺鸾鹁鹂鹄鹆鹇鹈鹉鹋鹌鹎鹑鹕鹗鹚鹛鹜鹞鹣鹦鹧鹨鹩鹪鹫鹬鹱鹭鹳疒疔疖疠疝疬疣疳疴疸痄疱疰痃痂痖痍痣痨痦痤痫痧瘃痱痼痿瘐瘀瘅瘌瘗瘊瘥瘘瘕瘙�\".split(\"\"),e=0;e!=n[240].length;++e)65533!==n[240][e].charCodeAt(0)&&(r[n[240][e]]=61440+e,t[61440+e]=n[240][e]);for(n[241]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������瘛瘼瘢瘠癀瘭瘰瘿瘵癃瘾瘳癍癞癔癜癖癫癯翊竦穸穹窀窆窈窕窦窠窬窨窭窳衤衩衲衽衿袂袢裆袷袼裉裢裎裣裥裱褚裼裨裾裰褡褙褓褛褊褴褫褶襁襦襻疋胥皲皴矜耒耔耖耜耠耢耥耦耧耩耨耱耋耵聃聆聍聒聩聱覃顸颀颃�\".split(\"\"),e=0;e!=n[241].length;++e)65533!==n[241][e].charCodeAt(0)&&(r[n[241][e]]=61696+e,t[61696+e]=n[241][e]);for(n[242]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������颉颌颍颏颔颚颛颞颟颡颢颥颦虍虔虬虮虿虺虼虻蚨蚍蚋蚬蚝蚧蚣蚪蚓蚩蚶蛄蚵蛎蚰蚺蚱蚯蛉蛏蚴蛩蛱蛲蛭蛳蛐蜓蛞蛴蛟蛘蛑蜃蜇蛸蜈蜊蜍蜉蜣蜻蜞蜥蜮蜚蜾蝈蜴蜱蜩蜷蜿螂蜢蝽蝾蝻蝠蝰蝌蝮螋蝓蝣蝼蝤蝙蝥螓螯螨蟒�\".split(\"\"),e=0;e!=n[242].length;++e)65533!==n[242][e].charCodeAt(0)&&(r[n[242][e]]=61952+e,t[61952+e]=n[242][e]);for(n[243]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������蟆螈螅螭螗螃螫蟥螬螵螳蟋蟓螽蟑蟀蟊蟛蟪蟠蟮蠖蠓蟾蠊蠛蠡蠹蠼缶罂罄罅舐竺竽笈笃笄笕笊笫笏筇笸笪笙笮笱笠笥笤笳笾笞筘筚筅筵筌筝筠筮筻筢筲筱箐箦箧箸箬箝箨箅箪箜箢箫箴篑篁篌篝篚篥篦篪簌篾篼簏簖簋�\".split(\"\"),e=0;e!=n[243].length;++e)65533!==n[243][e].charCodeAt(0)&&(r[n[243][e]]=62208+e,t[62208+e]=n[243][e]);for(n[244]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������簟簪簦簸籁籀臾舁舂舄臬衄舡舢舣舭舯舨舫舸舻舳舴舾艄艉艋艏艚艟艨衾袅袈裘裟襞羝羟羧羯羰羲籼敉粑粝粜粞粢粲粼粽糁糇糌糍糈糅糗糨艮暨羿翎翕翥翡翦翩翮翳糸絷綦綮繇纛麸麴赳趄趔趑趱赧赭豇豉酊酐酎酏酤�\".split(\"\"),e=0;e!=n[244].length;++e)65533!==n[244][e].charCodeAt(0)&&(r[n[244][e]]=62464+e,t[62464+e]=n[244][e]);for(n[245]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������酢酡酰酩酯酽酾酲酴酹醌醅醐醍醑醢醣醪醭醮醯醵醴醺豕鹾趸跫踅蹙蹩趵趿趼趺跄跖跗跚跞跎跏跛跆跬跷跸跣跹跻跤踉跽踔踝踟踬踮踣踯踺蹀踹踵踽踱蹉蹁蹂蹑蹒蹊蹰蹶蹼蹯蹴躅躏躔躐躜躞豸貂貊貅貘貔斛觖觞觚觜�\".split(\"\"),e=0;e!=n[245].length;++e)65533!==n[245][e].charCodeAt(0)&&(r[n[245][e]]=62720+e,t[62720+e]=n[245][e]);for(n[246]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������觥觫觯訾謦靓雩雳雯霆霁霈霏霎霪霭霰霾龀龃龅龆龇龈龉龊龌黾鼋鼍隹隼隽雎雒瞿雠銎銮鋈錾鍪鏊鎏鐾鑫鱿鲂鲅鲆鲇鲈稣鲋鲎鲐鲑鲒鲔鲕鲚鲛鲞鲟鲠鲡鲢鲣鲥鲦鲧鲨鲩鲫鲭鲮鲰鲱鲲鲳鲴鲵鲶鲷鲺鲻鲼鲽鳄鳅鳆鳇鳊鳋�\".split(\"\"),e=0;e!=n[246].length;++e)65533!==n[246][e].charCodeAt(0)&&(r[n[246][e]]=62976+e,t[62976+e]=n[246][e]);for(n[247]=\"�����������������������������������������������������������������������������������������������������������������������������������������������������������������鳌鳍鳎鳏鳐鳓鳔鳕鳗鳘鳙鳜鳝鳟鳢靼鞅鞑鞒鞔鞯鞫鞣鞲鞴骱骰骷鹘骶骺骼髁髀髅髂髋髌髑魅魃魇魉魈魍魑飨餍餮饕饔髟髡髦髯髫髻髭髹鬈鬏鬓鬟鬣麽麾縻麂麇麈麋麒鏖麝麟黛黜黝黠黟黢黩黧黥黪黯鼢鼬鼯鼹鼷鼽鼾齄�\".split(\"\"),e=0;e!=n[247].length;++e)65533!==n[247][e].charCodeAt(0)&&(r[n[247][e]]=63232+e,t[63232+e]=n[247][e]);return{enc:r,dec:t}}(),r[10029]=function(){for(var e=\"\\0\u0001\u0002\u0003\u0004\u0005\u0006\u0007\\b\\t\\n\\v\\f\\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄĀāÉĄÖÜáąČäčĆćéŹźĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņŃ¬√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ\",t=[],r={},n=0;n!=e.length;++n)65533!==e.charCodeAt(n)&&(r[e.charAt(n)]=n),t[n]=e.charAt(n);return{enc:r,dec:t}}(),r[10079]=function(){for(var e=\"\\0\u0001\u0002\u0003\u0004\u0005\u0006\u0007\\b\\t\\n\\v\\f\\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüÝ°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ\",t=[],r={},n=0;n!=e.length;++n)65533!==e.charCodeAt(n)&&(r[e.charAt(n)]=n),t[n]=e.charAt(n);return{enc:r,dec:t}}(),r[10081]=function(){for(var e=\"\\0\u0001\u0002\u0003\u0004\u0005\u0006\u0007\\b\\t\\n\\v\\f\\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙ�ˆ˜¯˘˙˚¸˝˛ˇ\",t=[],r={},n=0;n!=e.length;++n)65533!==e.charCodeAt(n)&&(r[e.charAt(n)]=n),t[n]=e.charAt(n);return{enc:r,dec:t}}(),t.exports&&(t.exports=r),function(n,a){if(void 0===r){if(void 0===e)throw new Error(\"cptable not found\");var i=r;t.exports?t.exports=a(i):n.cptable=a(i)}else r=a(r)}(fr,function(e){var t={1200:\"utf16le\",1201:\"utf16be\",12000:\"utf32le\",12001:\"utf32be\",16969:\"utf64le\",20127:\"ascii\",65000:\"utf7\",65001:\"utf8\"},r=[874,1250,1251,1252,1253,1254,1255,1256,1e4],n=[932,936,949,950],a=[65001],i={},s={},o={},l={},c=function(e){return String.fromCharCode(e)},f=function(e){return e.charCodeAt(0)},h=\"undefined\"!=typeof Buffer;if(h){var u=1024,d=new Buffer(u),p=function(e){for(var t=new Buffer(65536),r=0;r<65536;++r)t[r]=0;for(var n=Object.keys(e),a=n.length,i=0,s=n[i];i<a;++i)(s=n[i])&&(t[s.charCodeAt(0)]=e[s]);return t},g=function(t){var r=p(e[t].enc);return function(e,t){var n,a=e.length,i=0,s=0,o=0,l=0;if(\"string\"==typeof e)for(n=new Buffer(a),i=0;i<a;++i)n[i]=r[e.charCodeAt(i)];else if(Buffer.isBuffer(e)){for(n=new Buffer(2*a),s=0,i=0;i<a;++i)(o=e[i])<128?n[s++]=r[o]:o<224?(n[s++]=r[((31&o)<<6)+(63&e[i+1])],++i):o<240?(n[s++]=r[((15&o)<<12)+((63&e[i+1])<<6)+(63&e[i+2])],i+=2):(l=((7&o)<<18)+((63&e[i+1])<<12)+((63&e[i+2])<<6)+(63&e[i+3]),i+=3,l<65536?n[s++]=r[l]:(l-=65536,n[s++]=r[55296+(l>>10&1023)],n[s++]=r[56320+(1023&l)]));n=n.slice(0,s)}else for(n=new Buffer(a),i=0;i<a;++i)n[i]=r[e[i].charCodeAt(0)];return t&&\"buf\"!==t?\"arr\"!==t?n.toString(\"binary\"):[].slice.call(n):n}},m=function(t){var r=e[t].dec,n=new Buffer(131072),a=0,i=\"\";for(a=0;a<r.length;++a)if(i=r[a]){var s=i.charCodeAt(0);n[2*a]=255&s,n[2*a+1]=s>>8}return function(e){var t=e.length,r=0,a=0;if(2*t>u&&(u=2*t,d=new Buffer(u)),Buffer.isBuffer(e))for(r=0;r<t;r++)a=2*e[r],d[2*r]=n[a],d[2*r+1]=n[a+1];else if(\"string\"==typeof e)for(r=0;r<t;r++)a=2*e.charCodeAt(r),d[2*r]=n[a],d[2*r+1]=n[a+1];else for(r=0;r<t;r++)a=2*e[r],d[2*r]=n[a],d[2*r+1]=n[a+1];return d.slice(0,2*t).toString(\"ucs2\")}},b=function(t){for(var r=e[t].enc,n=new Buffer(131072),a=0;a<131072;++a)n[a]=0;for(var i=Object.keys(r),s=0,o=i[s];s<i.length;++s)if(o=i[s]){var l=o.charCodeAt(0);n[2*l]=255&r[o],n[2*l+1]=r[o]>>8}return function(e,t){var r=e.length,a=new Buffer(2*r),i=0,s=0,o=0,l=0,c=0;if(\"string\"==typeof e){for(i=l=0;i<r;++i)s=2*e.charCodeAt(i),a[l++]=n[s+1]||n[s],n[s+1]>0&&(a[l++]=n[s]);a=a.slice(0,l)}else if(Buffer.isBuffer(e)){for(i=l=0;i<r;++i)(c=e[i])<128?s=c:c<224?(s=((31&c)<<6)+(63&e[i+1]),++i):c<240?(s=((15&c)<<12)+((63&e[i+1])<<6)+(63&e[i+2]),i+=2):(s=((7&c)<<18)+((63&e[i+1])<<12)+((63&e[i+2])<<6)+(63&e[i+3]),i+=3),s<65536?(s*=2,a[l++]=n[s+1]||n[s],n[s+1]>0&&(a[l++]=n[s])):(s=2*(55296+((o=s-65536)>>10&1023)),a[l++]=n[s+1]||n[s],n[s+1]>0&&(a[l++]=n[s]),s=2*(56320+(1023&o)),a[l++]=n[s+1]||n[s],n[s+1]>0&&(a[l++]=n[s]));a=a.slice(0,l)}else for(i=l=0;i<r;i++)s=2*e[i].charCodeAt(0),a[l++]=n[s+1]||n[s],n[s+1]>0&&(a[l++]=n[s]);return t&&\"buf\"!==t?\"arr\"!==t?a.toString(\"binary\"):[].slice.call(a):a}},v=function(t){var r,n=e[t].dec,a=new Buffer(131072),i=0,s=0,o=0,l=0;for(l=0;l<65536;++l)a[2*l]=255,a[2*l+1]=253;for(i=0;i<n.length;++i)(r=n[i])&&(s=r.charCodeAt(0),a[o=2*i]=255&s,a[o+1]=s>>8);return function(e){var t=e.length,r=new Buffer(2*t),n=0,i=0,s=0;if(Buffer.isBuffer(e))for(n=0;n<t;n++)i=2*e[n],255===a[i]&&253===a[i+1]&&(i=2*((e[n]<<8)+e[n+1]),++n),r[s++]=a[i],r[s++]=a[i+1];else if(\"string\"==typeof e)for(n=0;n<t;n++)i=2*e.charCodeAt(n),255===a[i]&&253===a[i+1]&&(i=2*((e.charCodeAt(n)<<8)+e.charCodeAt(n+1)),++n),r[s++]=a[i],r[s++]=a[i+1];else for(n=0;n<t;n++)i=2*e[n],255===a[i]&&253===a[i+1]&&(i=2*((e[n]<<8)+e[n+1]),++n),r[s++]=a[i],r[s++]=a[i+1];return r.slice(0,s).toString(\"ucs2\")}};i[65001]=function e(t){if(\"string\"==typeof t)return e(t.split(\"\").map(f));var r=t.length,n=0,a=0;4*r>u&&(u=4*r,d=new Buffer(u));var i=0;r>=3&&239==t[0]&&187==t[1]&&191==t[2]&&(i=3);for(var s=1,o=0,l=0;i<r;i+=s)s=1,(l=t[i])<128?n=l:l<224?(n=64*(31&l)+(63&t[i+1]),s=2):l<240?(n=((15&l)<<12)+64*(63&t[i+1])+(63&t[i+2]),s=3):(n=262144*(7&l)+((63&t[i+1])<<12)+64*(63&t[i+2])+(63&t[i+3]),s=4),n<65536?(d[o++]=255&n,d[o++]=n>>8):(a=55296+((n-=65536)>>10&1023),n=56320+(1023&n),d[o++]=255&a,d[o++]=a>>>8,d[o++]=255&n,d[o++]=n>>>8&255);return d.slice(0,o).toString(\"ucs2\")},s[65001]=function(e,t){if(h&&Buffer.isBuffer(e))return t&&\"buf\"!==t?\"arr\"!==t?e.toString(\"binary\"):[].slice.call(e):e;var r=e.length,n=0,a=0,i=0,s=\"string\"==typeof e;4*r>u&&(u=4*r,d=new Buffer(u));for(var o=0;o<r;++o)(n=s?e.charCodeAt(o):e[o].charCodeAt(0))<=127?d[i++]=n:n<=2047?(d[i++]=192+(n>>6),d[i++]=128+(63&n)):n>=55296&&n<=57343?(n-=55296,++o,a=(s?e.charCodeAt(o):e[o].charCodeAt(0))-56320+(n<<10),d[i++]=240+(a>>>18&7),d[i++]=144+(a>>>12&63),d[i++]=128+(a>>>6&63),d[i++]=128+(63&a)):(d[i++]=224+(n>>12),d[i++]=128+(n>>6&63),d[i++]=128+(63&n));return t&&\"buf\"!==t?\"arr\"!==t?d.slice(0,i).toString(\"binary\"):[].slice.call(d,0,i):d.slice(0,i)}}var E=function(){if(h){if(o[r[0]])return;var t=0,c=0;for(t=0;t<r.length;++t)c=r[t],e[c]&&(o[c]=m(c),l[c]=g(c));for(t=0;t<n.length;++t)c=n[t],e[c]&&(o[c]=v(c),l[c]=b(c));for(t=0;t<a.length;++t)c=a[t],i[c]&&(o[c]=i[c]),s[c]&&(l[c]=s[c])}},C=function(e,t){return\"\"},w=function(e){delete o[e],delete l[e]},S={encache:E,decache:function(){if(h){if(!o[r[0]])return;r.forEach(w),n.forEach(w),a.forEach(w)}B=C,_=0},sbcs:r,dbcs:n};E();var A=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",B=C,_=0;return e.utils={decode:function r(n,a){var i;if(i=o[n])return i(a);if(\"string\"==typeof a)return r(n,a.split(\"\").map(f));var s,l=a.length,c=new Array(l),u=\"\",d=0,p=0,g=1,m=0,b=0,v=e[n],E=\"\";if(v&&(s=v.dec))for(p=0;p<l;p+=g){if(g=2,(u=s[(a[p]<<8)+a[p+1]])||(g=1,u=s[a[p]]),!u)throw new Error(\"Unrecognized code: \"+a[p]+\" \"+a[p+g-1]+\" \"+p+\" \"+g+\" \"+s[a[p]]);c[m++]=u}else{if(!(E=t[n]))throw new Error(\"Unrecognized CP: \"+n);switch(E){case\"utf8\":for(l>=3&&239==a[0]&&187==a[1]&&191==a[2]&&(p=3);p<l;p+=g)g=1,a[p]<128?d=a[p]:a[p]<224?(d=64*(31&a[p])+(63&a[p+1]),g=2):a[p]<240?(d=((15&a[p])<<12)+64*(63&a[p+1])+(63&a[p+2]),g=3):(d=262144*(7&a[p])+((63&a[p+1])<<12)+64*(63&a[p+2])+(63&a[p+3]),g=4),d<65536?c[m++]=String.fromCharCode(d):(b=55296+((d-=65536)>>10&1023),d=56320+(1023&d),c[m++]=String.fromCharCode(b),c[m++]=String.fromCharCode(d));break;case\"ascii\":if(h&&Buffer.isBuffer(a))return a.toString(E);for(p=0;p<l;p++)c[p]=String.fromCharCode(a[p]);m=l;break;case\"utf16le\":if(l>=2&&255==a[0]&&254==a[1]&&(p=2),h&&Buffer.isBuffer(a))return a.toString(E);for(g=2;p+1<l;p+=g)c[m++]=String.fromCharCode((a[p+1]<<8)+a[p]);break;case\"utf16be\":for(l>=2&&254==a[0]&&255==a[1]&&(p=2),g=2;p+1<l;p+=g)c[m++]=String.fromCharCode((a[p]<<8)+a[p+1]);break;case\"utf32le\":for(l>=4&&255==a[0]&&254==a[1]&&0===a[2]&&0===a[3]&&(p=4),g=4;p<l;p+=g)(d=(a[p+3]<<24)+(a[p+2]<<16)+(a[p+1]<<8)+a[p])>65535?(d-=65536,c[m++]=String.fromCharCode(55296+(d>>10&1023)),c[m++]=String.fromCharCode(56320+(1023&d))):c[m++]=String.fromCharCode(d);break;case\"utf32be\":for(l>=4&&255==a[3]&&254==a[2]&&0===a[1]&&0===a[0]&&(p=4),g=4;p<l;p+=g)(d=(a[p]<<24)+(a[p+1]<<16)+(a[p+2]<<8)+a[p+3])>65535?(d-=65536,c[m++]=String.fromCharCode(55296+(d>>10&1023)),c[m++]=String.fromCharCode(56320+(1023&d))):c[m++]=String.fromCharCode(d);break;case\"utf7\":for(l>=4&&43==a[0]&&47==a[1]&&118==a[2]&&(l>=5&&56==a[3]&&45==a[4]?p=5:56!=a[3]&&57!=a[3]&&43!=a[3]&&47!=a[3]||(p=4));p<l;p+=g)if(43===a[p])if(g=1,45!==a[p+1]){for(;String.fromCharCode(a[p+g]).match(/[A-Za-z0-9+\\/]/);)g++;var C=0;45===a[p+g]&&(++g,C=1);for(var w=[],S=\"\",B=0,_=0,T=0,y=0,k=0,x=0,R=0,I=1;I<g-C&&(y=A.indexOf(String.fromCharCode(a[p+I++])),k=A.indexOf(String.fromCharCode(a[p+I++])),B=y<<2|k>>4,w.push(B),-1!==(x=A.indexOf(String.fromCharCode(a[p+I++]))))&&(_=(15&k)<<4|x>>2,w.push(_),-1!==(R=A.indexOf(String.fromCharCode(a[p+I++]))));)T=(3&x)<<6|R,R<64&&w.push(T);for(S=r(1201,w),I=0;I<S.length;++I)c[m++]=S.charAt(I)}else g=2,c[m++]=\"+\";else g=1,c[m++]=String.fromCharCode(a[p]);break;default:throw new Error(\"Unsupported magic: \"+n+\" \"+t[n])}}return c.slice(0,m).join(\"\")},encode:function r(n,a,i){if(n===_&&B)return B(a,i);if(l[n])return(B=l[_=n])(a,i);h&&Buffer.isBuffer(a)&&(a=a.toString(\"utf8\"));var s,o=a.length,f=h?new Buffer(4*o):[],u=0,d=0,p=0,g=0,m=e[n],b=\"\",v=\"string\"==typeof a;if(m&&(s=m.enc))for(d=0;d<o;++d,++p)(u=s[v?a.charAt(d):a[d]])>255?(f[p]=u>>8,f[++p]=255&u):f[p]=255&u;else{if(!(b=t[n]))throw new Error(\"Unrecognized CP: \"+n);switch(b){case\"utf8\":if(h&&v){p=(f=new Buffer(a,b)).length;break}for(d=0;d<o;++d,++p)(u=v?a.charCodeAt(d):a[d].charCodeAt(0))<=127?f[p]=u:u<=2047?(f[p]=192+(u>>6),f[++p]=128+(63&u)):u>=55296&&u<=57343?(u-=55296,g=(v?a.charCodeAt(++d):a[++d].charCodeAt(0))-56320+(u<<10),f[p]=240+(g>>>18&7),f[++p]=144+(g>>>12&63),f[++p]=128+(g>>>6&63),f[++p]=128+(63&g)):(f[p]=224+(u>>12),f[++p]=128+(u>>6&63),f[++p]=128+(63&u));break;case\"ascii\":if(h&&\"string\"==typeof a){p=(f=new Buffer(a,b)).length;break}for(d=0;d<o;++d,++p){if(!((u=v?a.charCodeAt(d):a[d].charCodeAt(0))<=127))throw new Error(\"bad ascii \"+u);f[p]=u}break;case\"utf16le\":if(h&&\"string\"==typeof a){p=(f=new Buffer(a,b)).length;break}for(d=0;d<o;++d)u=v?a.charCodeAt(d):a[d].charCodeAt(0),f[p++]=255&u,f[p++]=u>>8;break;case\"utf16be\":for(d=0;d<o;++d)u=v?a.charCodeAt(d):a[d].charCodeAt(0),f[p++]=u>>8,f[p++]=255&u;break;case\"utf32le\":for(d=0;d<o;++d)(u=v?a.charCodeAt(d):a[d].charCodeAt(0))>=55296&&u<=57343&&(u=65536+(u-55296<<10)+(a[++d].charCodeAt(0)-56320)),f[p++]=255&u,u>>=8,f[p++]=255&u,u>>=8,f[p++]=255&u,u>>=8,f[p++]=255&u;break;case\"utf32be\":for(d=0;d<o;++d)(u=v?a.charCodeAt(d):a[d].charCodeAt(0))>=55296&&u<=57343&&(u=65536+(u-55296<<10)+(a[++d].charCodeAt(0)-56320)),f[p+3]=255&u,u>>=8,f[p+2]=255&u,u>>=8,f[p+1]=255&u,u>>=8,f[p]=255&u,p+=4;break;case\"utf7\":for(d=0;d<o;d++){var E=v?a.charAt(d):a[d].charAt(0);if(\"+\"!==E)if(\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'(),-./:?\".indexOf(E)>-1)f[p++]=E.charCodeAt(0);else{var C=r(1201,E);f[p++]=43,f[p++]=A.charCodeAt(C[0]>>2),f[p++]=A.charCodeAt(((3&C[0])<<4)+((C[1]||0)>>4)),f[p++]=A.charCodeAt(((15&C[1])<<2)+((C[2]||0)>>6)),f[p++]=45}else f[p++]=43,f[p++]=45}break;default:throw new Error(\"Unsupported magic: \"+n+\" \"+t[n])}}return f=f.slice(0,p),h?i&&\"buf\"!==i?\"arr\"!==i?f.toString(\"binary\"):[].slice.call(f):f:\"str\"==i?f.map(c).join(\"\"):f},hascp:function(r){return!(!e[r]&&!t[r])},magic:t,cache:S},e})}),dr={},pr=Object.freeze({default:dr}),gr=t(function(t,r){!function(e){t.exports=e()}(function(){return function t(r,n,a){function i(o,l){if(!n[o]){if(!r[o]){var c=\"function\"==typeof e&&e;if(!l&&c)return c(o,!0);if(s)return s(o,!0);throw new Error(\"Cannot find module '\"+o+\"'\")}var f=n[o]={exports:{}};r[o][0].call(f.exports,function(e){var t=r[o][1][e];return i(t||e)},f,f.exports,t,r,n,a)}return n[o].exports}for(var s=\"function\"==typeof e&&e,o=0;o<a.length;o++)i(a[o]);return i}({1:[function(e,t,r){var n=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";r.encode=function(e,t){for(var r,a,i,s,o,l,c,f=\"\",h=0;h<e.length;)s=(r=e.charCodeAt(h++))>>2,o=(3&r)<<4|(a=e.charCodeAt(h++))>>4,l=(15&a)<<2|(i=e.charCodeAt(h++))>>6,c=63&i,isNaN(a)?l=c=64:isNaN(i)&&(c=64),f=f+n.charAt(s)+n.charAt(o)+n.charAt(l)+n.charAt(c);return f},r.decode=function(e,t){var r,a,i,s,o,l,c=\"\",f=0;for(e=e.replace(/[^A-Za-z0-9\\+\\/\\=]/g,\"\");f<e.length;)r=n.indexOf(e.charAt(f++))<<2|(s=n.indexOf(e.charAt(f++)))>>4,a=(15&s)<<4|(o=n.indexOf(e.charAt(f++)))>>2,i=(3&o)<<6|(l=n.indexOf(e.charAt(f++))),c+=String.fromCharCode(r),64!=o&&(c+=String.fromCharCode(a)),64!=l&&(c+=String.fromCharCode(i));return c}},{}],2:[function(e,t,r){function n(){this.compressedSize=0,this.uncompressedSize=0,this.crc32=0,this.compressionMethod=null,this.compressedContent=null}n.prototype={getContent:function(){return null},getCompressedContent:function(){return null}},t.exports=n},{}],3:[function(e,t,r){r.STORE={magic:\"\\0\\0\",compress:function(e){return e},uncompress:function(e){return e},compressInputType:null,uncompressInputType:null},r.DEFLATE=e(\"./flate\")},{\"./flate\":8}],4:[function(e,t,r){var n=e(\"./utils\"),a=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117];t.exports=function(e,t){if(void 0===e||!e.length)return 0;var r=\"string\"!==n.getTypeOf(e);void 0===t&&(t=0);var i=0;t^=-1;for(var s=0,o=e.length;s<o;s++)i=r?e[s]:e.charCodeAt(s),t=t>>>8^a[255&(t^i)];return-1^t}},{\"./utils\":21}],5:[function(e,t,r){function n(e){this.data=null,this.length=0,this.index=0}var a=e(\"./utils\");n.prototype={checkOffset:function(e){this.checkIndex(this.index+e)},checkIndex:function(e){if(this.length<e||e<0)throw new Error(\"End of data reached (data length = \"+this.length+\", asked index = \"+e+\"). Corrupted zip ?\")},setIndex:function(e){this.checkIndex(e),this.index=e},skip:function(e){this.setIndex(this.index+e)},byteAt:function(e){},readInt:function(e){var t,r=0;for(this.checkOffset(e),t=this.index+e-1;t>=this.index;t--)r=(r<<8)+this.byteAt(t);return this.index+=e,r},readString:function(e){return a.transformTo(\"string\",this.readData(e))},readData:function(e){},lastIndexOfSignature:function(e){},readDate:function(){var e=this.readInt(4);return new Date(1980+(e>>25&127),(e>>21&15)-1,e>>16&31,e>>11&31,e>>5&63,(31&e)<<1)}},t.exports=n},{\"./utils\":21}],6:[function(e,t,r){r.base64=!1,r.binary=!1,r.dir=!1,r.createFolders=!1,r.date=null,r.compression=null,r.comment=null},{}],7:[function(e,t,r){var n=e(\"./utils\");r.string2binary=function(e){return n.string2binary(e)},r.string2Uint8Array=function(e){return n.transformTo(\"uint8array\",e)},r.uint8Array2String=function(e){return n.transformTo(\"string\",e)},r.string2Blob=function(e){var t=n.transformTo(\"arraybuffer\",e);return n.arrayBuffer2Blob(t)},r.arrayBuffer2Blob=function(e){return n.arrayBuffer2Blob(e)},r.transformTo=function(e,t){return n.transformTo(e,t)},r.getTypeOf=function(e){return n.getTypeOf(e)},r.checkSupport=function(e){return n.checkSupport(e)},r.MAX_VALUE_16BITS=n.MAX_VALUE_16BITS,r.MAX_VALUE_32BITS=n.MAX_VALUE_32BITS,r.pretty=function(e){return n.pretty(e)},r.findCompression=function(e){return n.findCompression(e)},r.isRegExp=function(e){return n.isRegExp(e)}},{\"./utils\":21}],8:[function(e,t,r){var n=\"undefined\"!=typeof Uint8Array&&\"undefined\"!=typeof Uint16Array&&\"undefined\"!=typeof Uint32Array,a=e(\"pako\");r.uncompressInputType=n?\"uint8array\":\"array\",r.compressInputType=n?\"uint8array\":\"array\",r.magic=\"\\b\\0\",r.compress=function(e){return a.deflateRaw(e)},r.uncompress=function(e){return a.inflateRaw(e)}},{pako:24}],9:[function(e,t,r){function n(e,t){if(!(this instanceof n))return new n(e,t);this.files={},this.comment=null,this.root=\"\",e&&this.load(e,t),this.clone=function(){var e=new n;for(var t in this)\"function\"!=typeof this[t]&&(e[t]=this[t]);return e}}var a=e(\"./base64\");n.prototype=e(\"./object\"),n.prototype.load=e(\"./load\"),n.support=e(\"./support\"),n.defaults=e(\"./defaults\"),n.utils=e(\"./deprecatedPublicUtils\"),n.base64={encode:function(e){return a.encode(e)},decode:function(e){return a.decode(e)}},n.compressions=e(\"./compressions\"),t.exports=n},{\"./base64\":1,\"./compressions\":3,\"./defaults\":6,\"./deprecatedPublicUtils\":7,\"./load\":10,\"./object\":13,\"./support\":17}],10:[function(e,t,r){var n=e(\"./base64\"),a=e(\"./zipEntries\");t.exports=function(e,t){var r,i,s,o;for((t=t||{}).base64&&(e=n.decode(e)),r=(i=new a(e,t)).files,s=0;s<r.length;s++)o=r[s],this.file(o.fileName,o.decompressed,{binary:!0,optimizedBinaryString:!0,date:o.date,dir:o.dir,comment:o.fileComment.length?o.fileComment:null,createFolders:t.createFolders});return i.zipComment.length&&(this.comment=i.zipComment),this}},{\"./base64\":1,\"./zipEntries\":22}],11:[function(e,t,r){(function(e){t.exports=function(t,r){return new e(t,r)},t.exports.test=function(t){return e.isBuffer(t)}}).call(this,\"undefined\"!=typeof Buffer?Buffer:void 0)},{}],12:[function(e,t,r){function n(e){this.data=e,this.length=this.data.length,this.index=0}var a=e(\"./uint8ArrayReader\");(n.prototype=new a).readData=function(e){this.checkOffset(e);var t=this.data.slice(this.index,this.index+e);return this.index+=e,t},t.exports=n},{\"./uint8ArrayReader\":18}],13:[function(e,t,r){var n=e(\"./support\"),a=e(\"./utils\"),i=e(\"./crc32\"),s=e(\"./signature\"),o=e(\"./defaults\"),l=e(\"./base64\"),c=e(\"./compressions\"),f=e(\"./compressedObject\"),h=e(\"./nodeBuffer\"),u=e(\"./utf8\"),d=e(\"./stringWriter\"),p=e(\"./uint8ArrayWriter\"),g=function(e){if(e._data instanceof f&&(e._data=e._data.getContent(),e.options.binary=!0,e.options.base64=!1,\"uint8array\"===a.getTypeOf(e._data))){var t=e._data;e._data=new Uint8Array(t.length),0!==t.length&&e._data.set(t,0)}return e._data},m=function(e){var t=g(e);return\"string\"===a.getTypeOf(t)?!e.options.binary&&n.nodebuffer?h(t,\"utf-8\"):e.asBinary():t},b=function(e){var t=g(this);return null===t||void 0===t?\"\":(this.options.base64&&(t=l.decode(t)),t=e&&this.options.binary?y.utf8decode(t):a.transformTo(\"string\",t),e||this.options.binary||(t=a.transformTo(\"string\",y.utf8encode(t))),t)},v=function(e,t,r){this.name=e,this.dir=r.dir,this.date=r.date,this.comment=r.comment,this._data=t,this.options=r,this._initialMetadata={dir:r.dir,date:r.date}};v.prototype={asText:function(){return b.call(this,!0)},asBinary:function(){return b.call(this,!1)},asNodeBuffer:function(){var e=m(this);return a.transformTo(\"nodebuffer\",e)},asUint8Array:function(){var e=m(this);return a.transformTo(\"uint8array\",e)},asArrayBuffer:function(){return this.asUint8Array().buffer}};var E=function(e,t){var r,n=\"\";for(r=0;r<t;r++)n+=String.fromCharCode(255&e),e>>>=8;return n},C=function(){var e,t,r={};for(e=0;e<arguments.length;e++)for(t in arguments[e])arguments[e].hasOwnProperty(t)&&void 0===r[t]&&(r[t]=arguments[e][t]);return r},w=function(e){return!0!==(e=e||{}).base64||null!==e.binary&&void 0!==e.binary||(e.binary=!0),e=C(e,o),e.date=e.date||new Date,null!==e.compression&&(e.compression=e.compression.toUpperCase()),e},S=function(e,t,r){var n,i=a.getTypeOf(t);if((r=w(r)).createFolders&&(n=A(e))&&B.call(this,n,!0),r.dir||null===t||void 0===t)r.base64=!1,r.binary=!1,t=null;else if(\"string\"===i)r.binary&&!r.base64&&!0!==r.optimizedBinaryString&&(t=a.string2binary(t));else{if(r.base64=!1,r.binary=!0,!(i||t instanceof f))throw new Error(\"The data of '\"+e+\"' is in an unsupported format !\");\"arraybuffer\"===i&&(t=a.transformTo(\"uint8array\",t))}var s=new v(e,t,r);return this.files[e]=s,s},A=function(e){\"/\"==e.slice(-1)&&(e=e.substring(0,e.length-1));var t=e.lastIndexOf(\"/\");return t>0?e.substring(0,t):\"\"},B=function(e,t){return\"/\"!=e.slice(-1)&&(e+=\"/\"),t=void 0!==t&&t,this.files[e]||S.call(this,e,null,{dir:!0,createFolders:t}),this.files[e]},_=function(e,t){var r,n=new f;return e._data instanceof f?(n.uncompressedSize=e._data.uncompressedSize,n.crc32=e._data.crc32,0===n.uncompressedSize||e.dir?(t=c.STORE,n.compressedContent=\"\",n.crc32=0):e._data.compressionMethod===t.magic?n.compressedContent=e._data.getCompressedContent():(r=e._data.getContent(),n.compressedContent=t.compress(a.transformTo(t.compressInputType,r)))):((r=m(e))&&0!==r.length&&!e.dir||(t=c.STORE,r=\"\"),n.uncompressedSize=r.length,n.crc32=i(r),n.compressedContent=t.compress(a.transformTo(t.compressInputType,r))),n.compressedSize=n.compressedContent.length,n.compressionMethod=t.magic,n},T=function(e,t,r,n){r.compressedContent;var o,l,c,f,h=a.transformTo(\"string\",u.utf8encode(t.name)),d=t.comment||\"\",p=a.transformTo(\"string\",u.utf8encode(d)),g=h.length!==t.name.length,m=p.length!==d.length,b=t.options,v=\"\",C=\"\",w=\"\";c=t._initialMetadata.dir!==t.dir?t.dir:b.dir,o=(f=t._initialMetadata.date!==t.date?t.date:b.date).getHours(),o<<=6,o|=f.getMinutes(),o<<=5,o|=f.getSeconds()/2,l=f.getFullYear()-1980,l<<=4,l|=f.getMonth()+1,l<<=5,l|=f.getDate(),g&&(C=E(1,1)+E(i(h),4)+h,v+=\"up\"+E(C.length,2)+C),m&&(w=E(1,1)+E(this.crc32(p),4)+p,v+=\"uc\"+E(w.length,2)+w);var S=\"\";return S+=\"\\n\\0\",S+=g||m?\"\\0\\b\":\"\\0\\0\",S+=r.compressionMethod,S+=E(o,2),S+=E(l,2),S+=E(r.crc32,4),S+=E(r.compressedSize,4),S+=E(r.uncompressedSize,4),S+=E(h.length,2),S+=E(v.length,2),{fileRecord:s.LOCAL_FILE_HEADER+S+h+v,dirRecord:s.CENTRAL_FILE_HEADER+\"\u0014\\0\"+S+E(p.length,2)+\"\\0\\0\\0\\0\"+(!0===c?\"\u0010\\0\\0\\0\":\"\\0\\0\\0\\0\")+E(n,4)+h+v+p,compressedObject:r}},y={load:function(e,t){throw new Error(\"Load method is not defined. Is the file jszip-load.js included ?\")},filter:function(e){var t,r,n,a,i=[];for(t in this.files)this.files.hasOwnProperty(t)&&(n=this.files[t],a=new v(n.name,n._data,C(n.options)),r=t.slice(this.root.length,t.length),t.slice(0,this.root.length)===this.root&&e(r,a)&&i.push(a));return i},file:function(e,t,r){if(1===arguments.length){if(a.isRegExp(e)){var n=e;return this.filter(function(e,t){return!t.dir&&n.test(e)})}return this.filter(function(t,r){return!r.dir&&t===e})[0]||null}return e=this.root+e,S.call(this,e,t,r),this},folder:function(e){if(!e)return this;if(a.isRegExp(e))return this.filter(function(t,r){return r.dir&&e.test(t)});var t=this.root+e,r=B.call(this,t),n=this.clone();return n.root=r.name,n},remove:function(e){e=this.root+e;var t=this.files[e];if(t||(\"/\"!=e.slice(-1)&&(e+=\"/\"),t=this.files[e]),t&&!t.dir)delete this.files[e];else for(var r=this.filter(function(t,r){return r.name.slice(0,e.length)===e}),n=0;n<r.length;n++)delete this.files[r[n].name];return this},generate:function(e){e=C(e||{},{base64:!0,compression:\"STORE\",type:\"base64\",comment:null}),a.checkSupport(e.type);var t,r,n=[],i=0,o=0,f=a.transformTo(\"string\",this.utf8encode(e.comment||this.comment||\"\"));for(var h in this.files)if(this.files.hasOwnProperty(h)){var u=this.files[h],g=u.options.compression||e.compression.toUpperCase(),m=c[g];if(!m)throw new Error(g+\" is not a valid compression method !\");var b=_.call(this,u,m),v=T.call(this,h,u,b,i);i+=v.fileRecord.length+b.compressedSize,o+=v.dirRecord.length,n.push(v)}var w=\"\";w=s.CENTRAL_DIRECTORY_END+\"\\0\\0\\0\\0\"+E(n.length,2)+E(n.length,2)+E(o,4)+E(i,4)+E(f.length,2)+f;var S=e.type.toLowerCase();for(t=\"uint8array\"===S||\"arraybuffer\"===S||\"blob\"===S||\"nodebuffer\"===S?new p(i+o+w.length):new d(i+o+w.length),r=0;r<n.length;r++)t.append(n[r].fileRecord),t.append(n[r].compressedObject.compressedContent);for(r=0;r<n.length;r++)t.append(n[r].dirRecord);t.append(w);var A=t.finalize();switch(e.type.toLowerCase()){case\"uint8array\":case\"arraybuffer\":case\"nodebuffer\":return a.transformTo(e.type.toLowerCase(),A);case\"blob\":return a.arrayBuffer2Blob(a.transformTo(\"arraybuffer\",A));case\"base64\":return e.base64?l.encode(A):A;default:return A}},crc32:function(e,t){return i(e,t)},utf8encode:function(e){return a.transformTo(\"string\",u.utf8encode(e))},utf8decode:function(e){return u.utf8decode(e)}};t.exports=y},{\"./base64\":1,\"./compressedObject\":2,\"./compressions\":3,\"./crc32\":4,\"./defaults\":6,\"./nodeBuffer\":11,\"./signature\":14,\"./stringWriter\":16,\"./support\":17,\"./uint8ArrayWriter\":19,\"./utf8\":20,\"./utils\":21}],14:[function(e,t,r){r.LOCAL_FILE_HEADER=\"PK\u0003\u0004\",r.CENTRAL_FILE_HEADER=\"PK\u0001\u0002\",r.CENTRAL_DIRECTORY_END=\"PK\u0005\u0006\",r.ZIP64_CENTRAL_DIRECTORY_LOCATOR=\"PK\u0006\u0007\",r.ZIP64_CENTRAL_DIRECTORY_END=\"PK\u0006\u0006\",r.DATA_DESCRIPTOR=\"PK\u0007\\b\"},{}],15:[function(e,t,r){function n(e,t){this.data=e,t||(this.data=i.string2binary(this.data)),this.length=this.data.length,this.index=0}var a=e(\"./dataReader\"),i=e(\"./utils\");(n.prototype=new a).byteAt=function(e){return this.data.charCodeAt(e)},n.prototype.lastIndexOfSignature=function(e){return this.data.lastIndexOf(e)},n.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.index,this.index+e);return this.index+=e,t},t.exports=n},{\"./dataReader\":5,\"./utils\":21}],16:[function(e,t,r){var n=e(\"./utils\"),a=function(){this.data=[]};a.prototype={append:function(e){e=n.transformTo(\"string\",e),this.data.push(e)},finalize:function(){return this.data.join(\"\")}},t.exports=a},{\"./utils\":21}],17:[function(e,t,r){(function(e){if(r.base64=!0,r.array=!0,r.string=!0,r.arraybuffer=\"undefined\"!=typeof ArrayBuffer&&\"undefined\"!=typeof Uint8Array,r.nodebuffer=void 0!==e,r.uint8array=\"undefined\"!=typeof Uint8Array,\"undefined\"==typeof ArrayBuffer)r.blob=!1;else{var t=new ArrayBuffer(0);try{r.blob=0===new Blob([t],{type:\"application/zip\"}).size}catch(e){try{var n=new(window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder);n.append(t),r.blob=0===n.getBlob(\"application/zip\").size}catch(e){r.blob=!1}}}}).call(this,\"undefined\"!=typeof Buffer?Buffer:void 0)},{}],18:[function(e,t,r){function n(e){e&&(this.data=e,this.length=this.data.length,this.index=0)}var a=e(\"./dataReader\");(n.prototype=new a).byteAt=function(e){return this.data[e]},n.prototype.lastIndexOfSignature=function(e){for(var t=e.charCodeAt(0),r=e.charCodeAt(1),n=e.charCodeAt(2),a=e.charCodeAt(3),i=this.length-4;i>=0;--i)if(this.data[i]===t&&this.data[i+1]===r&&this.data[i+2]===n&&this.data[i+3]===a)return i;return-1},n.prototype.readData=function(e){if(this.checkOffset(e),0===e)return new Uint8Array(0);var t=this.data.subarray(this.index,this.index+e);return this.index+=e,t},t.exports=n},{\"./dataReader\":5}],19:[function(e,t,r){var n=e(\"./utils\"),a=function(e){this.data=new Uint8Array(e),this.index=0};a.prototype={append:function(e){0!==e.length&&(e=n.transformTo(\"uint8array\",e),this.data.set(e,this.index),this.index+=e.length)},finalize:function(){return this.data}},t.exports=a},{\"./utils\":21}],20:[function(e,t,r){for(var n=e(\"./utils\"),a=e(\"./support\"),i=e(\"./nodeBuffer\"),s=new Array(256),o=0;o<256;o++)s[o]=o>=252?6:o>=248?5:o>=240?4:o>=224?3:o>=192?2:1;s[254]=s[254]=1;var l=function(e){var t,r,n,i,s,o=e.length,l=0;for(i=0;i<o;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<o&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),l+=r<128?1:r<2048?2:r<65536?3:4;for(t=a.uint8array?new Uint8Array(l):new Array(l),s=0,i=0;s<l;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<o&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),r<128?t[s++]=r:r<2048?(t[s++]=192|r>>>6,t[s++]=128|63&r):r<65536?(t[s++]=224|r>>>12,t[s++]=128|r>>>6&63,t[s++]=128|63&r):(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63,t[s++]=128|r>>>6&63,t[s++]=128|63&r);return t},c=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;r>=0&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+s[e[r]]>t?r:t},f=function(e){var t,r,a,i,o=e.length,l=new Array(2*o);for(r=0,t=0;t<o;)if((a=e[t++])<128)l[r++]=a;else if((i=s[a])>4)l[r++]=65533,t+=i-1;else{for(a&=2===i?31:3===i?15:7;i>1&&t<o;)a=a<<6|63&e[t++],i--;i>1?l[r++]=65533:a<65536?l[r++]=a:(a-=65536,l[r++]=55296|a>>10&1023,l[r++]=56320|1023&a)}return l.length!==r&&(l.subarray?l=l.subarray(0,r):l.length=r),n.applyFromCharCode(l)};r.utf8encode=function(e){return a.nodebuffer?i(e,\"utf-8\"):l(e)},r.utf8decode=function(e){if(a.nodebuffer)return n.transformTo(\"nodebuffer\",e).toString(\"utf-8\");for(var t=[],r=0,i=(e=n.transformTo(a.uint8array?\"uint8array\":\"array\",e)).length;r<i;){var s=c(e,Math.min(r+65536,i));a.uint8array?t.push(f(e.subarray(r,s))):t.push(f(e.slice(r,s))),r=s}return t.join(\"\")}},{\"./nodeBuffer\":11,\"./support\":17,\"./utils\":21}],21:[function(e,t,r){function n(e){return e}function a(e,t){for(var r=0;r<e.length;++r)t[r]=255&e.charCodeAt(r);return t}function i(e){var t=65536,n=[],a=e.length,i=r.getTypeOf(e),s=0,o=!0;try{switch(i){case\"uint8array\":String.fromCharCode.apply(null,new Uint8Array(0));break;case\"nodebuffer\":String.fromCharCode.apply(null,c(0))}}catch(e){o=!1}if(!o){for(var l=\"\",f=0;f<e.length;f++)l+=String.fromCharCode(e[f]);return l}for(;s<a&&t>1;)try{\"array\"===i||\"nodebuffer\"===i?n.push(String.fromCharCode.apply(null,e.slice(s,Math.min(s+t,a)))):n.push(String.fromCharCode.apply(null,e.subarray(s,Math.min(s+t,a)))),s+=t}catch(e){t=Math.floor(t/2)}return n.join(\"\")}function s(e,t){for(var r=0;r<e.length;r++)t[r]=e[r];return t}var o=e(\"./support\"),l=e(\"./compressions\"),c=e(\"./nodeBuffer\");r.string2binary=function(e){for(var t=\"\",r=0;r<e.length;r++)t+=String.fromCharCode(255&e.charCodeAt(r));return t},r.arrayBuffer2Blob=function(e){r.checkSupport(\"blob\");try{return new Blob([e],{type:\"application/zip\"})}catch(r){try{var t=new(window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder);return t.append(e),t.getBlob(\"application/zip\")}catch(e){throw new Error(\"Bug : can't construct the Blob.\")}}},r.applyFromCharCode=i;var f={};f.string={string:n,array:function(e){return a(e,new Array(e.length))},arraybuffer:function(e){return f.string.uint8array(e).buffer},uint8array:function(e){return a(e,new Uint8Array(e.length))},nodebuffer:function(e){return a(e,c(e.length))}},f.array={string:i,array:n,arraybuffer:function(e){return new Uint8Array(e).buffer},uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return c(e)}},f.arraybuffer={string:function(e){return i(new Uint8Array(e))},array:function(e){return s(new Uint8Array(e),new Array(e.byteLength))},arraybuffer:n,uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return c(new Uint8Array(e))}},f.uint8array={string:i,array:function(e){return s(e,new Array(e.length))},arraybuffer:function(e){return e.buffer},uint8array:n,nodebuffer:function(e){return c(e)}},f.nodebuffer={string:i,array:function(e){return s(e,new Array(e.length))},arraybuffer:function(e){return f.nodebuffer.uint8array(e).buffer},uint8array:function(e){return s(e,new Uint8Array(e.length))},nodebuffer:n},r.transformTo=function(e,t){if(t||(t=\"\"),!e)return t;r.checkSupport(e);var n=r.getTypeOf(t);return f[n][e](t)},r.getTypeOf=function(e){return\"string\"==typeof e?\"string\":\"[object Array]\"===Object.prototype.toString.call(e)?\"array\":o.nodebuffer&&c.test(e)?\"nodebuffer\":o.uint8array&&e instanceof Uint8Array?\"uint8array\":o.arraybuffer&&e instanceof ArrayBuffer?\"arraybuffer\":void 0},r.checkSupport=function(e){if(!o[e.toLowerCase()])throw new Error(e+\" is not supported by this browser\")},r.MAX_VALUE_16BITS=65535,r.MAX_VALUE_32BITS=-1,r.pretty=function(e){var t,r,n=\"\";for(r=0;r<(e||\"\").length;r++)n+=\"\\\\x\"+((t=e.charCodeAt(r))<16?\"0\":\"\")+t.toString(16).toUpperCase();return n},r.findCompression=function(e){for(var t in l)if(l.hasOwnProperty(t)&&l[t].magic===e)return l[t];return null},r.isRegExp=function(e){return\"[object RegExp]\"===Object.prototype.toString.call(e)}},{\"./compressions\":3,\"./nodeBuffer\":11,\"./support\":17}],22:[function(e,t,r){function n(e,t){this.files=[],this.loadOptions=t,e&&this.load(e)}var a=e(\"./stringReader\"),i=e(\"./nodeBufferReader\"),s=e(\"./uint8ArrayReader\"),o=e(\"./utils\"),l=e(\"./signature\"),c=e(\"./zipEntry\"),f=e(\"./support\"),h=e(\"./object\");n.prototype={checkSignature:function(e){var t=this.reader.readString(4);if(t!==e)throw new Error(\"Corrupted zip or bug : unexpected signature (\"+o.pretty(t)+\", expected \"+o.pretty(e)+\")\")},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2),this.zipComment=this.reader.readString(this.zipCommentLength),this.zipComment=h.utf8decode(this.zipComment)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.versionMadeBy=this.reader.readString(2),this.versionNeeded=this.reader.readInt(2),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var e,t,r,n=this.zip64EndOfCentralSize-44;0<n;)e=this.reader.readInt(2),t=this.reader.readInt(4),r=this.reader.readString(t),this.zip64ExtensibleData[e]={id:e,length:t,value:r}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),this.disksCount>1)throw new Error(\"Multi-volumes zip are not supported\")},readLocalFiles:function(){var e,t;for(e=0;e<this.files.length;e++)t=this.files[e],this.reader.setIndex(t.localHeaderOffset),this.checkSignature(l.LOCAL_FILE_HEADER),t.readLocalPart(this.reader),t.handleUTF8()},readCentralDir:function(){var e;for(this.reader.setIndex(this.centralDirOffset);this.reader.readString(4)===l.CENTRAL_FILE_HEADER;)(e=new c({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(e)},readEndOfCentral:function(){var e=this.reader.lastIndexOfSignature(l.CENTRAL_DIRECTORY_END);if(-1===e)throw new Error(\"Corrupted zip : can't find end of central directory\");if(this.reader.setIndex(e),this.checkSignature(l.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===o.MAX_VALUE_16BITS||this.diskWithCentralDirStart===o.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===o.MAX_VALUE_16BITS||this.centralDirRecords===o.MAX_VALUE_16BITS||this.centralDirSize===o.MAX_VALUE_32BITS||this.centralDirOffset===o.MAX_VALUE_32BITS){if(this.zip64=!0,-1===(e=this.reader.lastIndexOfSignature(l.ZIP64_CENTRAL_DIRECTORY_LOCATOR)))throw new Error(\"Corrupted zip : can't find the ZIP64 end of central directory locator\");this.reader.setIndex(e),this.checkSignature(l.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(l.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}},prepareReader:function(e){var t=o.getTypeOf(e);\"string\"!==t||f.uint8array?this.reader=\"nodebuffer\"===t?new i(e):new s(o.transformTo(\"uint8array\",e)):this.reader=new a(e,this.loadOptions.optimizedBinaryString)},load:function(e){this.prepareReader(e),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},t.exports=n},{\"./nodeBufferReader\":12,\"./object\":13,\"./signature\":14,\"./stringReader\":15,\"./support\":17,\"./uint8ArrayReader\":18,\"./utils\":21,\"./zipEntry\":23}],23:[function(e,t,r){function n(e,t){this.options=e,this.loadOptions=t}var a=e(\"./stringReader\"),i=e(\"./utils\"),s=e(\"./compressedObject\"),o=e(\"./object\");n.prototype={isEncrypted:function(){return 1==(1&this.bitFlag)},useUTF8:function(){return 2048==(2048&this.bitFlag)},prepareCompressedContent:function(e,t,r){return function(){var n=e.index;e.setIndex(t);var a=e.readData(r);return e.setIndex(n),a}},prepareContent:function(e,t,r,n,a){return function(){var e=i.transformTo(n.uncompressInputType,this.getCompressedContent()),t=n.uncompress(e);if(t.length!==a)throw new Error(\"Bug : uncompressed data size mismatch\");return t}},readLocalPart:function(e){var t,r;if(e.skip(22),this.fileNameLength=e.readInt(2),r=e.readInt(2),this.fileName=e.readString(this.fileNameLength),e.skip(r),-1==this.compressedSize||-1==this.uncompressedSize)throw new Error(\"Bug or corrupted zip : didn't get enough informations from the central directory (compressedSize == -1 || uncompressedSize == -1)\");if(null===(t=i.findCompression(this.compressionMethod)))throw new Error(\"Corrupted zip : compression \"+i.pretty(this.compressionMethod)+\" unknown (inner file : \"+this.fileName+\")\");if(this.decompressed=new s,this.decompressed.compressedSize=this.compressedSize,this.decompressed.uncompressedSize=this.uncompressedSize,this.decompressed.crc32=this.crc32,this.decompressed.compressionMethod=this.compressionMethod,this.decompressed.getCompressedContent=this.prepareCompressedContent(e,e.index,this.compressedSize,t),this.decompressed.getContent=this.prepareContent(e,e.index,this.compressedSize,t,this.uncompressedSize),this.loadOptions.checkCRC32&&(this.decompressed=i.transformTo(\"string\",this.decompressed.getContent()),o.crc32(this.decompressed)!==this.crc32))throw new Error(\"Corrupted zip : CRC32 mismatch\")},readCentralPart:function(e){if(this.versionMadeBy=e.readString(2),this.versionNeeded=e.readInt(2),this.bitFlag=e.readInt(2),this.compressionMethod=e.readString(2),this.date=e.readDate(),this.crc32=e.readInt(4),this.compressedSize=e.readInt(4),this.uncompressedSize=e.readInt(4),this.fileNameLength=e.readInt(2),this.extraFieldsLength=e.readInt(2),this.fileCommentLength=e.readInt(2),this.diskNumberStart=e.readInt(2),this.internalFileAttributes=e.readInt(2),this.externalFileAttributes=e.readInt(4),this.localHeaderOffset=e.readInt(4),this.isEncrypted())throw new Error(\"Encrypted zip are not supported\");this.fileName=e.readString(this.fileNameLength),this.readExtraFields(e),this.parseZIP64ExtraField(e),this.fileComment=e.readString(this.fileCommentLength),this.dir=!!(16&this.externalFileAttributes)},parseZIP64ExtraField:function(e){if(this.extraFields[1]){var t=new a(this.extraFields[1].value);this.uncompressedSize===i.MAX_VALUE_32BITS&&(this.uncompressedSize=t.readInt(8)),this.compressedSize===i.MAX_VALUE_32BITS&&(this.compressedSize=t.readInt(8)),this.localHeaderOffset===i.MAX_VALUE_32BITS&&(this.localHeaderOffset=t.readInt(8)),this.diskNumberStart===i.MAX_VALUE_32BITS&&(this.diskNumberStart=t.readInt(4))}},readExtraFields:function(e){var t,r,n,a=e.index;for(this.extraFields=this.extraFields||{};e.index<a+this.extraFieldsLength;)t=e.readInt(2),r=e.readInt(2),n=e.readString(r),this.extraFields[t]={id:t,length:r,value:n}},handleUTF8:function(){if(this.useUTF8())this.fileName=o.utf8decode(this.fileName),this.fileComment=o.utf8decode(this.fileComment);else{var e=this.findExtraFieldUnicodePath();null!==e&&(this.fileName=e);var t=this.findExtraFieldUnicodeComment();null!==t&&(this.fileComment=t)}},findExtraFieldUnicodePath:function(){var e=this.extraFields[28789];if(e){var t=new a(e.value);return 1!==t.readInt(1)?null:o.crc32(this.fileName)!==t.readInt(4)?null:o.utf8decode(t.readString(e.length-5))}return null},findExtraFieldUnicodeComment:function(){var e=this.extraFields[25461];if(e){var t=new a(e.value);return 1!==t.readInt(1)?null:o.crc32(this.fileComment)!==t.readInt(4)?null:o.utf8decode(t.readString(e.length-5))}return null}},t.exports=n},{\"./compressedObject\":2,\"./object\":13,\"./stringReader\":15,\"./utils\":21}],24:[function(e,t,r){var n={};(0,e(\"./lib/utils/common\").assign)(n,e(\"./lib/deflate\"),e(\"./lib/inflate\"),e(\"./lib/zlib/constants\")),t.exports=n},{\"./lib/deflate\":25,\"./lib/inflate\":26,\"./lib/utils/common\":27,\"./lib/zlib/constants\":30}],25:[function(e,t,r){function n(e,t){var r=new c(t);if(r.push(e,!0),r.err)throw r.msg;return r.result}var a=e(\"./zlib/deflate.js\"),i=e(\"./utils/common\"),s=e(\"./utils/strings\"),o=e(\"./zlib/messages\"),l=e(\"./zlib/zstream\"),c=function(e){this.options=i.assign({level:-1,method:8,chunkSize:16384,windowBits:15,memLevel:8,strategy:0,to:\"\"},e||{});var t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg=\"\",this.ended=!1,this.chunks=[],this.strm=new l,this.strm.avail_out=0;var r=a.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(0!==r)throw new Error(o[r]);t.header&&a.deflateSetHeader(this.strm,t.header)};c.prototype.push=function(e,t){var r,n,o=this.strm,l=this.options.chunkSize;if(this.ended)return!1;n=t===~~t?t:!0===t?4:0,o.input=\"string\"==typeof e?s.string2buf(e):e,o.next_in=0,o.avail_in=o.input.length;do{if(0===o.avail_out&&(o.output=new i.Buf8(l),o.next_out=0,o.avail_out=l),1!==(r=a.deflate(o,n))&&0!==r)return this.onEnd(r),this.ended=!0,!1;(0===o.avail_out||0===o.avail_in&&4===n)&&(\"string\"===this.options.to?this.onData(s.buf2binstring(i.shrinkBuf(o.output,o.next_out))):this.onData(i.shrinkBuf(o.output,o.next_out)))}while((o.avail_in>0||0===o.avail_out)&&1!==r);return 4!==n||(r=a.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,0===r)},c.prototype.onData=function(e){this.chunks.push(e)},c.prototype.onEnd=function(e){0===e&&(\"string\"===this.options.to?this.result=this.chunks.join(\"\"):this.result=i.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},r.Deflate=c,r.deflate=n,r.deflateRaw=function(e,t){return t=t||{},t.raw=!0,n(e,t)},r.gzip=function(e,t){return t=t||{},t.gzip=!0,n(e,t)}},{\"./utils/common\":27,\"./utils/strings\":28,\"./zlib/deflate.js\":32,\"./zlib/messages\":37,\"./zlib/zstream\":39}],26:[function(e,t,r){function n(e,t){var r=new h(t);if(r.push(e,!0),r.err)throw r.msg;return r.result}var a=e(\"./zlib/inflate.js\"),i=e(\"./utils/common\"),s=e(\"./utils/strings\"),o=e(\"./zlib/constants\"),l=e(\"./zlib/messages\"),c=e(\"./zlib/zstream\"),f=e(\"./zlib/gzheader\"),h=function(e){this.options=i.assign({chunkSize:16384,windowBits:0,to:\"\"},e||{});var t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg=\"\",this.ended=!1,this.chunks=[],this.strm=new c,this.strm.avail_out=0;var r=a.inflateInit2(this.strm,t.windowBits);if(r!==o.Z_OK)throw new Error(l[r]);this.header=new f,a.inflateGetHeader(this.strm,this.header)};h.prototype.push=function(e,t){var r,n,l,c,f,h=this.strm,u=this.options.chunkSize;if(this.ended)return!1;n=t===~~t?t:!0===t?o.Z_FINISH:o.Z_NO_FLUSH,h.input=\"string\"==typeof e?s.binstring2buf(e):e,h.next_in=0,h.avail_in=h.input.length;do{if(0===h.avail_out&&(h.output=new i.Buf8(u),h.next_out=0,h.avail_out=u),(r=a.inflate(h,o.Z_NO_FLUSH))!==o.Z_STREAM_END&&r!==o.Z_OK)return this.onEnd(r),this.ended=!0,!1;h.next_out&&(0===h.avail_out||r===o.Z_STREAM_END||0===h.avail_in&&n===o.Z_FINISH)&&(\"string\"===this.options.to?(l=s.utf8border(h.output,h.next_out),c=h.next_out-l,f=s.buf2string(h.output,l),h.next_out=c,h.avail_out=u-c,c&&i.arraySet(h.output,h.output,l,c,0),this.onData(f)):this.onData(i.shrinkBuf(h.output,h.next_out)))}while(h.avail_in>0&&r!==o.Z_STREAM_END);return r===o.Z_STREAM_END&&(n=o.Z_FINISH),n!==o.Z_FINISH||(r=a.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===o.Z_OK)},h.prototype.onData=function(e){this.chunks.push(e)},h.prototype.onEnd=function(e){e===o.Z_OK&&(\"string\"===this.options.to?this.result=this.chunks.join(\"\"):this.result=i.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},r.Inflate=h,r.inflate=n,r.inflateRaw=function(e,t){return t=t||{},t.raw=!0,n(e,t)},r.ungzip=n},{\"./utils/common\":27,\"./utils/strings\":28,\"./zlib/constants\":30,\"./zlib/gzheader\":33,\"./zlib/inflate.js\":35,\"./zlib/messages\":37,\"./zlib/zstream\":39}],27:[function(e,t,r){var n=\"undefined\"!=typeof Uint8Array&&\"undefined\"!=typeof Uint16Array&&\"undefined\"!=typeof Int32Array;r.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var r=t.shift();if(r){if(\"object\"!=typeof r)throw new TypeError(r+\"must be non-object\");for(var n in r)r.hasOwnProperty(n)&&(e[n]=r[n])}}return e},r.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var a={arraySet:function(e,t,r,n,a){if(t.subarray&&e.subarray)e.set(t.subarray(r,r+n),a);else for(var i=0;i<n;i++)e[a+i]=t[r+i]},flattenChunks:function(e){var t,r,n,a,i,s;for(n=0,t=0,r=e.length;t<r;t++)n+=e[t].length;for(s=new Uint8Array(n),a=0,t=0,r=e.length;t<r;t++)i=e[t],s.set(i,a),a+=i.length;return s}},i={arraySet:function(e,t,r,n,a){for(var i=0;i<n;i++)e[a+i]=t[r+i]},flattenChunks:function(e){return[].concat.apply([],e)}};r.setTyped=function(e){e?(r.Buf8=Uint8Array,r.Buf16=Uint16Array,r.Buf32=Int32Array,r.assign(r,a)):(r.Buf8=Array,r.Buf16=Array,r.Buf32=Array,r.assign(r,i))},r.setTyped(n)},{}],28:[function(e,t,r){function n(e,t){if(t<65537&&(e.subarray&&s||!e.subarray&&i))return String.fromCharCode.apply(null,a.shrinkBuf(e,t));for(var r=\"\",n=0;n<t;n++)r+=String.fromCharCode(e[n]);return r}var a=e(\"./common\"),i=!0,s=!0;try{String.fromCharCode.apply(null,[0])}catch(e){i=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){s=!1}for(var o=new a.Buf8(256),l=0;l<256;l++)o[l]=l>=252?6:l>=248?5:l>=240?4:l>=224?3:l>=192?2:1;o[254]=o[254]=1,r.string2buf=function(e){var t,r,n,i,s,o=e.length,l=0;for(i=0;i<o;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<o&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),l+=r<128?1:r<2048?2:r<65536?3:4;for(t=new a.Buf8(l),s=0,i=0;s<l;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<o&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),r<128?t[s++]=r:r<2048?(t[s++]=192|r>>>6,t[s++]=128|63&r):r<65536?(t[s++]=224|r>>>12,t[s++]=128|r>>>6&63,t[s++]=128|63&r):(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63,t[s++]=128|r>>>6&63,t[s++]=128|63&r);return t},r.buf2binstring=function(e){return n(e,e.length)},r.binstring2buf=function(e){for(var t=new a.Buf8(e.length),r=0,n=t.length;r<n;r++)t[r]=e.charCodeAt(r);return t},r.buf2string=function(e,t){var r,a,i,s,l=t||e.length,c=new Array(2*l);for(a=0,r=0;r<l;)if((i=e[r++])<128)c[a++]=i;else if((s=o[i])>4)c[a++]=65533,r+=s-1;else{for(i&=2===s?31:3===s?15:7;s>1&&r<l;)i=i<<6|63&e[r++],s--;s>1?c[a++]=65533:i<65536?c[a++]=i:(i-=65536,c[a++]=55296|i>>10&1023,c[a++]=56320|1023&i)}return n(c,a)},r.utf8border=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;r>=0&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+o[e[r]]>t?r:t}},{\"./common\":27}],29:[function(e,t,r){t.exports=function(e,t,r,n){for(var a=65535&e|0,i=e>>>16&65535|0,s=0;0!==r;){r-=s=r>2e3?2e3:r;do{i=i+(a=a+t[n++]|0)|0}while(--s);a%=65521,i%=65521}return a|i<<16|0}},{}],30:[function(e,t,r){t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],31:[function(e,t,r){var n=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t,r,a){var i=n,s=a+r;e^=-1;for(var o=a;o<s;o++)e=e>>>8^i[255&(e^t[o])];return-1^e}},{}],32:[function(e,t,r){function n(e,t){return e.msg=y[t],t}function a(e){return(e<<1)-(e>4?9:0)}function i(e){for(var t=e.length;--t>=0;)e[t]=0}function s(e){var t=e.state,r=t.pending;r>e.avail_out&&(r=e.avail_out),0!==r&&(A.arraySet(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,0===t.pending&&(t.pending_out=0))}function o(e,t){B._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,s(e.strm)}function l(e,t){e.pending_buf[e.pending++]=t}function c(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function f(e,t,r,n){var a=e.avail_in;return a>n&&(a=n),0===a?0:(e.avail_in-=a,A.arraySet(t,e.input,e.next_in,a,r),1===e.state.wrap?e.adler=_(e.adler,t,a,r):2===e.state.wrap&&(e.adler=T(e.adler,t,a,r)),e.next_in+=a,e.total_in+=a,a)}function h(e,t){var r,n,a=e.max_chain_length,i=e.strstart,s=e.prev_length,o=e.nice_match,l=e.strstart>e.w_size-re?e.strstart-(e.w_size-re):0,c=e.window,f=e.w_mask,h=e.prev,u=e.strstart+te,d=c[i+s-1],p=c[i+s];e.prev_length>=e.good_match&&(a>>=2),o>e.lookahead&&(o=e.lookahead);do{if(r=t,c[r+s]===p&&c[r+s-1]===d&&c[r]===c[i]&&c[++r]===c[i+1]){i+=2,r++;do{}while(c[++i]===c[++r]&&c[++i]===c[++r]&&c[++i]===c[++r]&&c[++i]===c[++r]&&c[++i]===c[++r]&&c[++i]===c[++r]&&c[++i]===c[++r]&&c[++i]===c[++r]&&i<u);if(n=te-(u-i),i=u-te,n>s){if(e.match_start=t,s=n,n>=o)break;d=c[i+s-1],p=c[i+s]}}}while((t=h[t&f])>l&&0!=--a);return s<=e.lookahead?s:e.lookahead}function u(e){var t,r,n,a,i,s=e.w_size;do{if(a=e.window_size-e.lookahead-e.strstart,e.strstart>=s+(s-re)){A.arraySet(e.window,e.window,s,s,0),e.match_start-=s,e.strstart-=s,e.block_start-=s,t=r=e.hash_size;do{n=e.head[--t],e.head[t]=n>=s?n-s:0}while(--r);t=r=s;do{n=e.prev[--t],e.prev[t]=n>=s?n-s:0}while(--r);a+=s}if(0===e.strm.avail_in)break;if(r=f(e.strm,e.window,e.strstart+e.lookahead,a),e.lookahead+=r,e.lookahead+e.insert>=ee)for(i=e.strstart-e.insert,e.ins_h=e.window[i],e.ins_h=(e.ins_h<<e.hash_shift^e.window[i+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[i+ee-1])&e.hash_mask,e.prev[i&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=i,i++,e.insert--,!(e.lookahead+e.insert<ee)););}while(e.lookahead<re&&0!==e.strm.avail_in)}function d(e,t){for(var r,n;;){if(e.lookahead<re){if(u(e),e.lookahead<re&&t===k)return he;if(0===e.lookahead)break}if(r=0,e.lookahead>=ee&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+ee-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==r&&e.strstart-r<=e.w_size-re&&(e.match_length=h(e,r)),e.match_length>=ee)if(n=B._tr_tally(e,e.strstart-e.match_start,e.match_length-ee),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=ee){e.match_length--;do{e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+ee-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart}while(0!=--e.match_length);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else n=B._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(o(e,!1),0===e.strm.avail_out))return he}return e.insert=e.strstart<ee-1?e.strstart:ee-1,t===I?(o(e,!0),0===e.strm.avail_out?de:pe):e.last_lit&&(o(e,!1),0===e.strm.avail_out)?he:ue}function p(e,t){for(var r,n,a;;){if(e.lookahead<re){if(u(e),e.lookahead<re&&t===k)return he;if(0===e.lookahead)break}if(r=0,e.lookahead>=ee&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+ee-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=ee-1,0!==r&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-re&&(e.match_length=h(e,r),e.match_length<=5&&(e.strategy===U||e.match_length===ee&&e.strstart-e.match_start>4096)&&(e.match_length=ee-1)),e.prev_length>=ee&&e.match_length<=e.prev_length){a=e.strstart+e.lookahead-ee,n=B._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-ee),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=a&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+ee-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart)}while(0!=--e.prev_length);if(e.match_available=0,e.match_length=ee-1,e.strstart++,n&&(o(e,!1),0===e.strm.avail_out))return he}else if(e.match_available){if((n=B._tr_tally(e,0,e.window[e.strstart-1]))&&o(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return he}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(n=B._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<ee-1?e.strstart:ee-1,t===I?(o(e,!0),0===e.strm.avail_out?de:pe):e.last_lit&&(o(e,!1),0===e.strm.avail_out)?he:ue}function g(e,t){for(var r,n,a,i,s=e.window;;){if(e.lookahead<=te){if(u(e),e.lookahead<=te&&t===k)return he;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=ee&&e.strstart>0&&(a=e.strstart-1,(n=s[a])===s[++a]&&n===s[++a]&&n===s[++a])){i=e.strstart+te;do{}while(n===s[++a]&&n===s[++a]&&n===s[++a]&&n===s[++a]&&n===s[++a]&&n===s[++a]&&n===s[++a]&&n===s[++a]&&a<i);e.match_length=te-(i-a),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=ee?(r=B._tr_tally(e,1,e.match_length-ee),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=B._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(o(e,!1),0===e.strm.avail_out))return he}return e.insert=0,t===I?(o(e,!0),0===e.strm.avail_out?de:pe):e.last_lit&&(o(e,!1),0===e.strm.avail_out)?he:ue}function m(e,t){for(var r;;){if(0===e.lookahead&&(u(e),0===e.lookahead)){if(t===k)return he;break}if(e.match_length=0,r=B._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(o(e,!1),0===e.strm.avail_out))return he}return e.insert=0,t===I?(o(e,!0),0===e.strm.avail_out?de:pe):e.last_lit&&(o(e,!1),0===e.strm.avail_out)?he:ue}function b(e){e.window_size=2*e.w_size,i(e.head),e.max_lazy_match=S[e.level].max_lazy,e.good_match=S[e.level].good_length,e.nice_match=S[e.level].nice_length,e.max_chain_length=S[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=ee-1,e.match_available=0,e.ins_h=0}function v(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=G,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new A.Buf16(2*q),this.dyn_dtree=new A.Buf16(2*(2*Z+1)),this.bl_tree=new A.Buf16(2*(2*Q+1)),i(this.dyn_ltree),i(this.dyn_dtree),i(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new A.Buf16(J+1),this.heap=new A.Buf16(2*$+1),i(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new A.Buf16(2*$+1),i(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function E(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=X,t=e.state,t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?ae:ce,e.adler=2===t.wrap?0:1,t.last_flush=k,B._tr_init(t),D):n(e,F)}function C(e){var t=E(e);return t===D&&b(e.state),t}function w(e,t,r,a,i,s){if(!e)return F;var o=1;if(t===M&&(t=6),a<0?(o=0,a=-a):a>15&&(o=2,a-=16),i<1||i>j||r!==G||a<8||a>15||t<0||t>9||s<0||s>H)return n(e,F);8===a&&(a=9);var l=new v;return e.state=l,l.strm=e,l.wrap=o,l.gzhead=null,l.w_bits=a,l.w_size=1<<l.w_bits,l.w_mask=l.w_size-1,l.hash_bits=i+7,l.hash_size=1<<l.hash_bits,l.hash_mask=l.hash_size-1,l.hash_shift=~~((l.hash_bits+ee-1)/ee),l.window=new A.Buf8(2*l.w_size),l.head=new A.Buf16(l.hash_size),l.prev=new A.Buf16(l.w_size),l.lit_bufsize=1<<i+6,l.pending_buf_size=4*l.lit_bufsize,l.pending_buf=new A.Buf8(l.pending_buf_size),l.d_buf=l.lit_bufsize>>1,l.l_buf=3*l.lit_bufsize,l.level=t,l.strategy=s,l.method=r,C(e)}var S,A=e(\"../utils/common\"),B=e(\"./trees\"),_=e(\"./adler32\"),T=e(\"./crc32\"),y=e(\"./messages\"),k=0,x=1,R=3,I=4,O=5,D=0,P=1,F=-2,N=-3,L=-5,M=-1,U=1,W=2,z=3,H=4,V=0,X=2,G=8,j=9,Y=15,K=8,$=286,Z=30,Q=19,q=2*$+1,J=15,ee=3,te=258,re=te+ee+1,ne=32,ae=42,ie=69,se=73,oe=91,le=103,ce=113,fe=666,he=1,ue=2,de=3,pe=4,ge=3,me=function(e,t,r,n,a){this.good_length=e,this.max_lazy=t,this.nice_length=r,this.max_chain=n,this.func=a};S=[new me(0,0,0,0,function(e,t){var r=65535;for(r>e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(u(e),0===e.lookahead&&t===k)return he;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+r;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,o(e,!1),0===e.strm.avail_out))return he;if(e.strstart-e.block_start>=e.w_size-re&&(o(e,!1),0===e.strm.avail_out))return he}return e.insert=0,t===I?(o(e,!0),0===e.strm.avail_out?de:pe):(e.strstart>e.block_start&&(o(e,!1),e.strm.avail_out),he)}),new me(4,4,8,4,d),new me(4,5,16,8,d),new me(4,6,32,32,d),new me(4,4,16,16,p),new me(8,16,32,32,p),new me(8,16,128,128,p),new me(8,32,128,256,p),new me(32,128,258,1024,p),new me(32,258,258,4096,p)],r.deflateInit=function(e,t){return w(e,t,G,Y,K,V)},r.deflateInit2=w,r.deflateReset=C,r.deflateResetKeep=E,r.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?F:(e.state.gzhead=t,D):F},r.deflate=function(e,t){var r,o,f,h;if(!e||!e.state||t>O||t<0)return e?n(e,F):F;if(o=e.state,!e.output||!e.input&&0!==e.avail_in||o.status===fe&&t!==I)return n(e,0===e.avail_out?L:F);if(o.strm=e,r=o.last_flush,o.last_flush=t,o.status===ae)if(2===o.wrap)e.adler=0,l(o,31),l(o,139),l(o,8),o.gzhead?(l(o,(o.gzhead.text?1:0)+(o.gzhead.hcrc?2:0)+(o.gzhead.extra?4:0)+(o.gzhead.name?8:0)+(o.gzhead.comment?16:0)),l(o,255&o.gzhead.time),l(o,o.gzhead.time>>8&255),l(o,o.gzhead.time>>16&255),l(o,o.gzhead.time>>24&255),l(o,9===o.level?2:o.strategy>=W||o.level<2?4:0),l(o,255&o.gzhead.os),o.gzhead.extra&&o.gzhead.extra.length&&(l(o,255&o.gzhead.extra.length),l(o,o.gzhead.extra.length>>8&255)),o.gzhead.hcrc&&(e.adler=T(e.adler,o.pending_buf,o.pending,0)),o.gzindex=0,o.status=ie):(l(o,0),l(o,0),l(o,0),l(o,0),l(o,0),l(o,9===o.level?2:o.strategy>=W||o.level<2?4:0),l(o,ge),o.status=ce);else{var u=G+(o.w_bits-8<<4)<<8;u|=(o.strategy>=W||o.level<2?0:o.level<6?1:6===o.level?2:3)<<6,0!==o.strstart&&(u|=ne),u+=31-u%31,o.status=ce,c(o,u),0!==o.strstart&&(c(o,e.adler>>>16),c(o,65535&e.adler)),e.adler=1}if(o.status===ie)if(o.gzhead.extra){for(f=o.pending;o.gzindex<(65535&o.gzhead.extra.length)&&(o.pending!==o.pending_buf_size||(o.gzhead.hcrc&&o.pending>f&&(e.adler=T(e.adler,o.pending_buf,o.pending-f,f)),s(e),f=o.pending,o.pending!==o.pending_buf_size));)l(o,255&o.gzhead.extra[o.gzindex]),o.gzindex++;o.gzhead.hcrc&&o.pending>f&&(e.adler=T(e.adler,o.pending_buf,o.pending-f,f)),o.gzindex===o.gzhead.extra.length&&(o.gzindex=0,o.status=se)}else o.status=se;if(o.status===se)if(o.gzhead.name){f=o.pending;do{if(o.pending===o.pending_buf_size&&(o.gzhead.hcrc&&o.pending>f&&(e.adler=T(e.adler,o.pending_buf,o.pending-f,f)),s(e),f=o.pending,o.pending===o.pending_buf_size)){h=1;break}h=o.gzindex<o.gzhead.name.length?255&o.gzhead.name.charCodeAt(o.gzindex++):0,l(o,h)}while(0!==h);o.gzhead.hcrc&&o.pending>f&&(e.adler=T(e.adler,o.pending_buf,o.pending-f,f)),0===h&&(o.gzindex=0,o.status=oe)}else o.status=oe;if(o.status===oe)if(o.gzhead.comment){f=o.pending;do{if(o.pending===o.pending_buf_size&&(o.gzhead.hcrc&&o.pending>f&&(e.adler=T(e.adler,o.pending_buf,o.pending-f,f)),s(e),f=o.pending,o.pending===o.pending_buf_size)){h=1;break}h=o.gzindex<o.gzhead.comment.length?255&o.gzhead.comment.charCodeAt(o.gzindex++):0,l(o,h)}while(0!==h);o.gzhead.hcrc&&o.pending>f&&(e.adler=T(e.adler,o.pending_buf,o.pending-f,f)),0===h&&(o.status=le)}else o.status=le;if(o.status===le&&(o.gzhead.hcrc?(o.pending+2>o.pending_buf_size&&s(e),o.pending+2<=o.pending_buf_size&&(l(o,255&e.adler),l(o,e.adler>>8&255),e.adler=0,o.status=ce)):o.status=ce),0!==o.pending){if(s(e),0===e.avail_out)return o.last_flush=-1,D}else if(0===e.avail_in&&a(t)<=a(r)&&t!==I)return n(e,L);if(o.status===fe&&0!==e.avail_in)return n(e,L);if(0!==e.avail_in||0!==o.lookahead||t!==k&&o.status!==fe){var d=o.strategy===W?m(o,t):o.strategy===z?g(o,t):S[o.level].func(o,t);if(d!==de&&d!==pe||(o.status=fe),d===he||d===de)return 0===e.avail_out&&(o.last_flush=-1),D;if(d===ue&&(t===x?B._tr_align(o):t!==O&&(B._tr_stored_block(o,0,0,!1),t===R&&(i(o.head),0===o.lookahead&&(o.strstart=0,o.block_start=0,o.insert=0))),s(e),0===e.avail_out))return o.last_flush=-1,D}return t!==I?D:o.wrap<=0?P:(2===o.wrap?(l(o,255&e.adler),l(o,e.adler>>8&255),l(o,e.adler>>16&255),l(o,e.adler>>24&255),l(o,255&e.total_in),l(o,e.total_in>>8&255),l(o,e.total_in>>16&255),l(o,e.total_in>>24&255)):(c(o,e.adler>>>16),c(o,65535&e.adler)),s(e),o.wrap>0&&(o.wrap=-o.wrap),0!==o.pending?D:P)},r.deflateEnd=function(e){var t;return e&&e.state?(t=e.state.status)!==ae&&t!==ie&&t!==se&&t!==oe&&t!==le&&t!==ce&&t!==fe?n(e,F):(e.state=null,t===ce?n(e,N):D):F},r.deflateInfo=\"pako deflate (from Nodeca project)\"},{\"../utils/common\":27,\"./adler32\":29,\"./crc32\":31,\"./messages\":37,\"./trees\":38}],33:[function(e,t,r){t.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name=\"\",this.comment=\"\",this.hcrc=0,this.done=!1}},{}],34:[function(e,t,r){t.exports=function(e,t){var r,n,a,i,s,o,l,c,f,h,u,d,p,g,m,b,v,E,C,w,S,A,B,_,T;r=e.state,n=e.next_in,_=e.input,a=n+(e.avail_in-5),i=e.next_out,T=e.output,s=i-(t-e.avail_out),o=i+(e.avail_out-257),l=r.dmax,c=r.wsize,f=r.whave,h=r.wnext,u=r.window,d=r.hold,p=r.bits,g=r.lencode,m=r.distcode,b=(1<<r.lenbits)-1,v=(1<<r.distbits)-1;e:do{p<15&&(d+=_[n++]<<p,p+=8,d+=_[n++]<<p,p+=8),E=g[d&b];t:for(;;){if(C=E>>>24,d>>>=C,p-=C,0===(C=E>>>16&255))T[i++]=65535&E;else{if(!(16&C)){if(0==(64&C)){E=g[(65535&E)+(d&(1<<C)-1)];continue t}if(32&C){r.mode=12;break e}e.msg=\"invalid literal/length code\",r.mode=30;break e}w=65535&E,(C&=15)&&(p<C&&(d+=_[n++]<<p,p+=8),w+=d&(1<<C)-1,d>>>=C,p-=C),p<15&&(d+=_[n++]<<p,p+=8,d+=_[n++]<<p,p+=8),E=m[d&v];r:for(;;){if(C=E>>>24,d>>>=C,p-=C,!(16&(C=E>>>16&255))){if(0==(64&C)){E=m[(65535&E)+(d&(1<<C)-1)];continue r}e.msg=\"invalid distance code\",r.mode=30;break e}if(S=65535&E,C&=15,p<C&&(d+=_[n++]<<p,(p+=8)<C&&(d+=_[n++]<<p,p+=8)),(S+=d&(1<<C)-1)>l){e.msg=\"invalid distance too far back\",r.mode=30;break e}if(d>>>=C,p-=C,C=i-s,S>C){if((C=S-C)>f&&r.sane){e.msg=\"invalid distance too far back\",r.mode=30;break e}if(A=0,B=u,0===h){if(A+=c-C,C<w){w-=C;do{T[i++]=u[A++]}while(--C);A=i-S,B=T}}else if(h<C){if(A+=c+h-C,(C-=h)<w){w-=C;do{T[i++]=u[A++]}while(--C);if(A=0,h<w){w-=C=h;do{T[i++]=u[A++]}while(--C);A=i-S,B=T}}}else if(A+=h-C,C<w){w-=C;do{T[i++]=u[A++]}while(--C);A=i-S,B=T}for(;w>2;)T[i++]=B[A++],T[i++]=B[A++],T[i++]=B[A++],w-=3;w&&(T[i++]=B[A++],w>1&&(T[i++]=B[A++]))}else{A=i-S;do{T[i++]=T[A++],T[i++]=T[A++],T[i++]=T[A++],w-=3}while(w>2);w&&(T[i++]=T[A++],w>1&&(T[i++]=T[A++]))}break}}break}}while(n<a&&i<o);n-=w=p>>3,d&=(1<<(p-=w<<3))-1,e.next_in=n,e.next_out=i,e.avail_in=n<a?a-n+5:5-(n-a),e.avail_out=i<o?o-i+257:257-(i-o),r.hold=d,r.bits=p}},{}],35:[function(e,t,r){function n(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function a(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new d.Buf16(320),this.work=new d.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function i(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg=\"\",t.wrap&&(e.adler=1&t.wrap),t.mode=O,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new d.Buf32(fe),t.distcode=t.distdyn=new d.Buf32(he),t.sane=1,t.back=-1,B):y}function s(e){var t;return e&&e.state?(t=e.state,t.wsize=0,t.whave=0,t.wnext=0,i(e)):y}function o(e,t){var r,n;return e&&e.state?(n=e.state,t<0?(r=0,t=-t):(r=1+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?y:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,s(e))):y}function l(e,t){var r,n;return e?(n=new a,e.state=n,n.window=null,(r=o(e,t))!==B&&(e.state=null),r):y}function c(e){if(de){var t;for(h=new d.Buf32(512),u=new d.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(b(E,e.lens,0,288,h,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;b(C,e.lens,0,32,u,0,e.work,{bits:5}),de=!1}e.lencode=h,e.lenbits=9,e.distcode=u,e.distbits=5}function f(e,t,r,n){var a,i=e.state;return null===i.window&&(i.wsize=1<<i.wbits,i.wnext=0,i.whave=0,i.window=new d.Buf8(i.wsize)),n>=i.wsize?(d.arraySet(i.window,t,r-i.wsize,i.wsize,0),i.wnext=0,i.whave=i.wsize):((a=i.wsize-i.wnext)>n&&(a=n),d.arraySet(i.window,t,r-n,a,i.wnext),(n-=a)?(d.arraySet(i.window,t,r-n,n,0),i.wnext=n,i.whave=i.wsize):(i.wnext+=a,i.wnext===i.wsize&&(i.wnext=0),i.whave<i.wsize&&(i.whave+=a))),0}var h,u,d=e(\"../utils/common\"),p=e(\"./adler32\"),g=e(\"./crc32\"),m=e(\"./inffast\"),b=e(\"./inftrees\"),v=0,E=1,C=2,w=4,S=5,A=6,B=0,_=1,T=2,y=-2,k=-3,x=-4,R=-5,I=8,O=1,D=2,P=3,F=4,N=5,L=6,M=7,U=8,W=9,z=10,H=11,V=12,X=13,G=14,j=15,Y=16,K=17,$=18,Z=19,Q=20,q=21,J=22,ee=23,te=24,re=25,ne=26,ae=27,ie=28,se=29,oe=30,le=31,ce=32,fe=852,he=592,ue=15,de=!0;r.inflateReset=s,r.inflateReset2=o,r.inflateResetKeep=i,r.inflateInit=function(e){return l(e,ue)},r.inflateInit2=l,r.inflate=function(e,t){var r,a,i,s,o,l,h,u,fe,he,ue,de,pe,ge,me,be,ve,Ee,Ce,we,Se,Ae,Be,_e,Te=0,ye=new d.Buf8(4),ke=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return y;(r=e.state).mode===V&&(r.mode=X),o=e.next_out,i=e.output,h=e.avail_out,s=e.next_in,a=e.input,l=e.avail_in,u=r.hold,fe=r.bits,he=l,ue=h,Ae=B;e:for(;;)switch(r.mode){case O:if(0===r.wrap){r.mode=X;break}for(;fe<16;){if(0===l)break e;l--,u+=a[s++]<<fe,fe+=8}if(2&r.wrap&&35615===u){r.check=0,ye[0]=255&u,ye[1]=u>>>8&255,r.check=g(r.check,ye,2,0),u=0,fe=0,r.mode=D;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){e.msg=\"incorrect header check\",r.mode=oe;break}if((15&u)!==I){e.msg=\"unknown compression method\",r.mode=oe;break}if(u>>>=4,fe-=4,Se=8+(15&u),0===r.wbits)r.wbits=Se;else if(Se>r.wbits){e.msg=\"invalid window size\",r.mode=oe;break}r.dmax=1<<Se,e.adler=r.check=1,r.mode=512&u?z:V,u=0,fe=0;break;case D:for(;fe<16;){if(0===l)break e;l--,u+=a[s++]<<fe,fe+=8}if(r.flags=u,(255&r.flags)!==I){e.msg=\"unknown compression method\",r.mode=oe;break}if(57344&r.flags){e.msg=\"unknown header flags set\",r.mode=oe;break}r.head&&(r.head.text=u>>8&1),512&r.flags&&(ye[0]=255&u,ye[1]=u>>>8&255,r.check=g(r.check,ye,2,0)),u=0,fe=0,r.mode=P;case P:for(;fe<32;){if(0===l)break e;l--,u+=a[s++]<<fe,fe+=8}r.head&&(r.head.time=u),512&r.flags&&(ye[0]=255&u,ye[1]=u>>>8&255,ye[2]=u>>>16&255,ye[3]=u>>>24&255,r.check=g(r.check,ye,4,0)),u=0,fe=0,r.mode=F;case F:for(;fe<16;){if(0===l)break e;l--,u+=a[s++]<<fe,fe+=8}r.head&&(r.head.xflags=255&u,r.head.os=u>>8),512&r.flags&&(ye[0]=255&u,ye[1]=u>>>8&255,r.check=g(r.check,ye,2,0)),u=0,fe=0,r.mode=N;case N:if(1024&r.flags){for(;fe<16;){if(0===l)break e;l--,u+=a[s++]<<fe,fe+=8}r.length=u,r.head&&(r.head.extra_len=u),512&r.flags&&(ye[0]=255&u,ye[1]=u>>>8&255,r.check=g(r.check,ye,2,0)),u=0,fe=0}else r.head&&(r.head.extra=null);r.mode=L;case L:if(1024&r.flags&&((de=r.length)>l&&(de=l),de&&(r.head&&(Se=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),d.arraySet(r.head.extra,a,s,de,Se)),512&r.flags&&(r.check=g(r.check,a,de,s)),l-=de,s+=de,r.length-=de),r.length))break e;r.length=0,r.mode=M;case M:if(2048&r.flags){if(0===l)break e;de=0;do{Se=a[s+de++],r.head&&Se&&r.length<65536&&(r.head.name+=String.fromCharCode(Se))}while(Se&&de<l);if(512&r.flags&&(r.check=g(r.check,a,de,s)),l-=de,s+=de,Se)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=U;case U:if(4096&r.flags){if(0===l)break e;de=0;do{Se=a[s+de++],r.head&&Se&&r.length<65536&&(r.head.comment+=String.fromCharCode(Se))}while(Se&&de<l);if(512&r.flags&&(r.check=g(r.check,a,de,s)),l-=de,s+=de,Se)break e}else r.head&&(r.head.comment=null);r.mode=W;case W:if(512&r.flags){for(;fe<16;){if(0===l)break e;l--,u+=a[s++]<<fe,fe+=8}if(u!==(65535&r.check)){e.msg=\"header crc mismatch\",r.mode=oe;break}u=0,fe=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=V;break;case z:for(;fe<32;){if(0===l)break e;l--,u+=a[s++]<<fe,fe+=8}e.adler=r.check=n(u),u=0,fe=0,r.mode=H;case H:if(0===r.havedict)return e.next_out=o,e.avail_out=h,e.next_in=s,e.avail_in=l,r.hold=u,r.bits=fe,T;e.adler=r.check=1,r.mode=V;case V:if(t===S||t===A)break e;case X:if(r.last){u>>>=7&fe,fe-=7&fe,r.mode=ae;break}for(;fe<3;){if(0===l)break e;l--,u+=a[s++]<<fe,fe+=8}switch(r.last=1&u,u>>>=1,fe-=1,3&u){case 0:r.mode=G;break;case 1:if(c(r),r.mode=Q,t===A){u>>>=2,fe-=2;break e}break;case 2:r.mode=K;break;case 3:e.msg=\"invalid block type\",r.mode=oe}u>>>=2,fe-=2;break;case G:for(u>>>=7&fe,fe-=7&fe;fe<32;){if(0===l)break e;l--,u+=a[s++]<<fe,fe+=8}if((65535&u)!=(u>>>16^65535)){e.msg=\"invalid stored block lengths\",r.mode=oe;break}if(r.length=65535&u,u=0,fe=0,r.mode=j,t===A)break e;case j:r.mode=Y;case Y:if(de=r.length){if(de>l&&(de=l),de>h&&(de=h),0===de)break e;d.arraySet(i,a,s,de,o),l-=de,s+=de,h-=de,o+=de,r.length-=de;break}r.mode=V;break;case K:for(;fe<14;){if(0===l)break e;l--,u+=a[s++]<<fe,fe+=8}if(r.nlen=257+(31&u),u>>>=5,fe-=5,r.ndist=1+(31&u),u>>>=5,fe-=5,r.ncode=4+(15&u),u>>>=4,fe-=4,r.nlen>286||r.ndist>30){e.msg=\"too many length or distance symbols\",r.mode=oe;break}r.have=0,r.mode=$;case $:for(;r.have<r.ncode;){for(;fe<3;){if(0===l)break e;l--,u+=a[s++]<<fe,fe+=8}r.lens[ke[r.have++]]=7&u,u>>>=3,fe-=3}for(;r.have<19;)r.lens[ke[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,Be={bits:r.lenbits},Ae=b(v,r.lens,0,19,r.lencode,0,r.work,Be),r.lenbits=Be.bits,Ae){e.msg=\"invalid code lengths set\",r.mode=oe;break}r.have=0,r.mode=Z;case Z:for(;r.have<r.nlen+r.ndist;){for(;Te=r.lencode[u&(1<<r.lenbits)-1],me=Te>>>24,be=Te>>>16&255,ve=65535&Te,!(me<=fe);){if(0===l)break e;l--,u+=a[s++]<<fe,fe+=8}if(ve<16)u>>>=me,fe-=me,r.lens[r.have++]=ve;else{if(16===ve){for(_e=me+2;fe<_e;){if(0===l)break e;l--,u+=a[s++]<<fe,fe+=8}if(u>>>=me,fe-=me,0===r.have){e.msg=\"invalid bit length repeat\",r.mode=oe;break}Se=r.lens[r.have-1],de=3+(3&u),u>>>=2,fe-=2}else if(17===ve){for(_e=me+3;fe<_e;){if(0===l)break e;l--,u+=a[s++]<<fe,fe+=8}fe-=me,Se=0,de=3+(7&(u>>>=me)),u>>>=3,fe-=3}else{for(_e=me+7;fe<_e;){if(0===l)break e;l--,u+=a[s++]<<fe,fe+=8}fe-=me,Se=0,de=11+(127&(u>>>=me)),u>>>=7,fe-=7}if(r.have+de>r.nlen+r.ndist){e.msg=\"invalid bit length repeat\",r.mode=oe;break}for(;de--;)r.lens[r.have++]=Se}}if(r.mode===oe)break;if(0===r.lens[256]){e.msg=\"invalid code -- missing end-of-block\",r.mode=oe;break}if(r.lenbits=9,Be={bits:r.lenbits},Ae=b(E,r.lens,0,r.nlen,r.lencode,0,r.work,Be),r.lenbits=Be.bits,Ae){e.msg=\"invalid literal/lengths set\",r.mode=oe;break}if(r.distbits=6,r.distcode=r.distdyn,Be={bits:r.distbits},Ae=b(C,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,Be),r.distbits=Be.bits,Ae){e.msg=\"invalid distances set\",r.mode=oe;break}if(r.mode=Q,t===A)break e;case Q:r.mode=q;case q:if(l>=6&&h>=258){e.next_out=o,e.avail_out=h,e.next_in=s,e.avail_in=l,r.hold=u,r.bits=fe,m(e,ue),o=e.next_out,i=e.output,h=e.avail_out,s=e.next_in,a=e.input,l=e.avail_in,u=r.hold,fe=r.bits,r.mode===V&&(r.back=-1);break}for(r.back=0;Te=r.lencode[u&(1<<r.lenbits)-1],me=Te>>>24,be=Te>>>16&255,ve=65535&Te,!(me<=fe);){if(0===l)break e;l--,u+=a[s++]<<fe,fe+=8}if(be&&0==(240&be)){for(Ee=me,Ce=be,we=ve;Te=r.lencode[we+((u&(1<<Ee+Ce)-1)>>Ee)],me=Te>>>24,be=Te>>>16&255,ve=65535&Te,!(Ee+me<=fe);){if(0===l)break e;l--,u+=a[s++]<<fe,fe+=8}u>>>=Ee,fe-=Ee,r.back+=Ee}if(u>>>=me,fe-=me,r.back+=me,r.length=ve,0===be){r.mode=ne;break}if(32&be){r.back=-1,r.mode=V;break}if(64&be){e.msg=\"invalid literal/length code\",r.mode=oe;break}r.extra=15&be,r.mode=J;case J:if(r.extra){for(_e=r.extra;fe<_e;){if(0===l)break e;l--,u+=a[s++]<<fe,fe+=8}r.length+=u&(1<<r.extra)-1,u>>>=r.extra,fe-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=ee;case ee:for(;Te=r.distcode[u&(1<<r.distbits)-1],me=Te>>>24,be=Te>>>16&255,ve=65535&Te,!(me<=fe);){if(0===l)break e;l--,u+=a[s++]<<fe,fe+=8}if(0==(240&be)){for(Ee=me,Ce=be,we=ve;Te=r.distcode[we+((u&(1<<Ee+Ce)-1)>>Ee)],me=Te>>>24,be=Te>>>16&255,ve=65535&Te,!(Ee+me<=fe);){if(0===l)break e;l--,u+=a[s++]<<fe,fe+=8}u>>>=Ee,fe-=Ee,r.back+=Ee}if(u>>>=me,fe-=me,r.back+=me,64&be){e.msg=\"invalid distance code\",r.mode=oe;break}r.offset=ve,r.extra=15&be,r.mode=te;case te:if(r.extra){for(_e=r.extra;fe<_e;){if(0===l)break e;l--,u+=a[s++]<<fe,fe+=8}r.offset+=u&(1<<r.extra)-1,u>>>=r.extra,fe-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg=\"invalid distance too far back\",r.mode=oe;break}r.mode=re;case re:if(0===h)break e;if(de=ue-h,r.offset>de){if((de=r.offset-de)>r.whave&&r.sane){e.msg=\"invalid distance too far back\",r.mode=oe;break}de>r.wnext?(de-=r.wnext,pe=r.wsize-de):pe=r.wnext-de,de>r.length&&(de=r.length),ge=r.window}else ge=i,pe=o-r.offset,de=r.length;de>h&&(de=h),h-=de,r.length-=de;do{i[o++]=ge[pe++]}while(--de);0===r.length&&(r.mode=q);break;case ne:if(0===h)break e;i[o++]=r.length,h--,r.mode=q;break;case ae:if(r.wrap){for(;fe<32;){if(0===l)break e;l--,u|=a[s++]<<fe,fe+=8}if(ue-=h,e.total_out+=ue,r.total+=ue,ue&&(e.adler=r.check=r.flags?g(r.check,i,ue,o-ue):p(r.check,i,ue,o-ue)),ue=h,(r.flags?u:n(u))!==r.check){e.msg=\"incorrect data check\",r.mode=oe;break}u=0,fe=0}r.mode=ie;case ie:if(r.wrap&&r.flags){for(;fe<32;){if(0===l)break e;l--,u+=a[s++]<<fe,fe+=8}if(u!==(4294967295&r.total)){e.msg=\"incorrect length check\",r.mode=oe;break}u=0,fe=0}r.mode=se;case se:Ae=_;break e;case oe:Ae=k;break e;case le:return x;case ce:default:return y}return e.next_out=o,e.avail_out=h,e.next_in=s,e.avail_in=l,r.hold=u,r.bits=fe,(r.wsize||ue!==e.avail_out&&r.mode<oe&&(r.mode<ae||t!==w))&&f(e,e.output,e.next_out,ue-e.avail_out)?(r.mode=le,x):(he-=e.avail_in,ue-=e.avail_out,e.total_in+=he,e.total_out+=ue,r.total+=ue,r.wrap&&ue&&(e.adler=r.check=r.flags?g(r.check,i,ue,e.next_out-ue):p(r.check,i,ue,e.next_out-ue)),e.data_type=r.bits+(r.last?64:0)+(r.mode===V?128:0)+(r.mode===Q||r.mode===j?256:0),(0===he&&0===ue||t===w)&&Ae===B&&(Ae=R),Ae)},r.inflateEnd=function(e){if(!e||!e.state)return y;var t=e.state;return t.window&&(t.window=null),e.state=null,B},r.inflateGetHeader=function(e,t){var r;return e&&e.state?0==(2&(r=e.state).wrap)?y:(r.head=t,t.done=!1,B):y},r.inflateInfo=\"pako inflate (from Nodeca project)\"},{\"../utils/common\":27,\"./adler32\":29,\"./crc32\":31,\"./inffast\":34,\"./inftrees\":36}],36:[function(e,t,r){var n=e(\"../utils/common\"),a=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],i=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],s=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],o=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];t.exports=function(e,t,r,l,c,f,h,u){var d,p,g,m,b,v,E,C,w,S=u.bits,A=0,B=0,_=0,T=0,y=0,k=0,x=0,R=0,I=0,O=0,D=null,P=0,F=new n.Buf16(16),N=new n.Buf16(16),L=null,M=0;for(A=0;A<=15;A++)F[A]=0;for(B=0;B<l;B++)F[t[r+B]]++;for(y=S,T=15;T>=1&&0===F[T];T--);if(y>T&&(y=T),0===T)return c[f++]=20971520,c[f++]=20971520,u.bits=1,0;for(_=1;_<T&&0===F[_];_++);for(y<_&&(y=_),R=1,A=1;A<=15;A++)if(R<<=1,(R-=F[A])<0)return-1;if(R>0&&(0===e||1!==T))return-1;for(N[1]=0,A=1;A<15;A++)N[A+1]=N[A]+F[A];for(B=0;B<l;B++)0!==t[r+B]&&(h[N[t[r+B]]++]=B);if(0===e?(D=L=h,v=19):1===e?(D=a,P-=257,L=i,M-=257,v=256):(D=s,L=o,v=-1),O=0,B=0,A=_,b=f,k=y,x=0,g=-1,I=1<<y,m=I-1,1===e&&I>852||2===e&&I>592)return 1;for(var U=0;;){U++,E=A-x,h[B]<v?(C=0,w=h[B]):h[B]>v?(C=L[M+h[B]],w=D[P+h[B]]):(C=96,w=0),d=1<<A-x,_=p=1<<k;do{c[b+(O>>x)+(p-=d)]=E<<24|C<<16|w|0}while(0!==p);for(d=1<<A-1;O&d;)d>>=1;if(0!==d?(O&=d-1,O+=d):O=0,B++,0==--F[A]){if(A===T)break;A=t[r+h[B]]}if(A>y&&(O&m)!==g){for(0===x&&(x=y),b+=_,R=1<<(k=A-x);k+x<T&&!((R-=F[k+x])<=0);)k++,R<<=1;if(I+=1<<k,1===e&&I>852||2===e&&I>592)return 1;c[g=O&m]=y<<24|k<<16|b-f|0}}return 0!==O&&(c[b+O]=A-x<<24|64<<16|0),u.bits=y,0}},{\"../utils/common\":27}],37:[function(e,t,r){t.exports={2:\"need dictionary\",1:\"stream end\",0:\"\",\"-1\":\"file error\",\"-2\":\"stream error\",\"-3\":\"data error\",\"-4\":\"insufficient memory\",\"-5\":\"buffer error\",\"-6\":\"incompatible version\"}},{}],38:[function(e,t,r){function n(e){for(var t=e.length;--t>=0;)e[t]=0}function a(e){return e<256?J[e]:J[256+(e>>>7)]}function i(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function s(e,t,r){e.bi_valid>z-r?(e.bi_buf|=t<<e.bi_valid&65535,i(e,e.bi_buf),e.bi_buf=t>>z-e.bi_valid,e.bi_valid+=r-z):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=r)}function o(e,t,r){s(e,r[2*t],r[2*t+1])}function l(e,t){var r=0;do{r|=1&e,e>>>=1,r<<=1}while(--t>0);return r>>>1}function c(e){16===e.bi_valid?(i(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}function f(e,t){var r,n,a,i,s,o,l=t.dyn_tree,c=t.max_code,f=t.stat_desc.static_tree,h=t.stat_desc.has_stree,u=t.stat_desc.extra_bits,d=t.stat_desc.extra_base,p=t.stat_desc.max_length,g=0;for(i=0;i<=W;i++)e.bl_count[i]=0;for(l[2*e.heap[e.heap_max]+1]=0,r=e.heap_max+1;r<U;r++)(i=l[2*l[2*(n=e.heap[r])+1]+1]+1)>p&&(i=p,g++),l[2*n+1]=i,n>c||(e.bl_count[i]++,s=0,n>=d&&(s=u[n-d]),o=l[2*n],e.opt_len+=o*(i+s),h&&(e.static_len+=o*(f[2*n+1]+s)));if(0!==g){do{for(i=p-1;0===e.bl_count[i];)i--;e.bl_count[i]--,e.bl_count[i+1]+=2,e.bl_count[p]--,g-=2}while(g>0);for(i=p;0!==i;i--)for(n=e.bl_count[i];0!==n;)(a=e.heap[--r])>c||(l[2*a+1]!==i&&(e.opt_len+=(i-l[2*a+1])*l[2*a],l[2*a+1]=i),n--)}}function h(e,t,r){var n,a,i=new Array(W+1),s=0;for(n=1;n<=W;n++)i[n]=s=s+r[n-1]<<1;for(a=0;a<=t;a++){var o=e[2*a+1];0!==o&&(e[2*a]=l(i[o]++,o))}}function u(){var e,t,r,n,a,i=new Array(W+1);for(r=0,n=0;n<P-1;n++)for(te[n]=r,e=0;e<1<<Y[n];e++)ee[r++]=n;for(ee[r-1]=n,a=0,n=0;n<16;n++)for(re[n]=a,e=0;e<1<<K[n];e++)J[a++]=n;for(a>>=7;n<L;n++)for(re[n]=a<<7,e=0;e<1<<K[n]-7;e++)J[256+a++]=n;for(t=0;t<=W;t++)i[t]=0;for(e=0;e<=143;)Q[2*e+1]=8,e++,i[8]++;for(;e<=255;)Q[2*e+1]=9,e++,i[9]++;for(;e<=279;)Q[2*e+1]=7,e++,i[7]++;for(;e<=287;)Q[2*e+1]=8,e++,i[8]++;for(h(Q,N+1,i),e=0;e<L;e++)q[2*e+1]=5,q[2*e]=l(e,5);ne=new se(Q,Y,F+1,N,W),ae=new se(q,K,0,L,W),ie=new se(new Array(0),$,0,M,H)}function d(e){var t;for(t=0;t<N;t++)e.dyn_ltree[2*t]=0;for(t=0;t<L;t++)e.dyn_dtree[2*t]=0;for(t=0;t<M;t++)e.bl_tree[2*t]=0;e.dyn_ltree[2*V]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function p(e){e.bi_valid>8?i(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function g(e,t,r,n){p(e),n&&(i(e,r),i(e,~r)),T.arraySet(e.pending_buf,e.window,t,r,e.pending),e.pending+=r}function m(e,t,r,n){var a=2*t,i=2*r;return e[a]<e[i]||e[a]===e[i]&&n[t]<=n[r]}function b(e,t,r){for(var n=e.heap[r],a=r<<1;a<=e.heap_len&&(a<e.heap_len&&m(t,e.heap[a+1],e.heap[a],e.depth)&&a++,!m(t,n,e.heap[a],e.depth));)e.heap[r]=e.heap[a],r=a,a<<=1;e.heap[r]=n}function v(e,t,r){var n,i,l,c,f=0;if(0!==e.last_lit)do{n=e.pending_buf[e.d_buf+2*f]<<8|e.pending_buf[e.d_buf+2*f+1],i=e.pending_buf[e.l_buf+f],f++,0===n?o(e,i,t):(o(e,(l=ee[i])+F+1,t),0!==(c=Y[l])&&s(e,i-=te[l],c),o(e,l=a(--n),r),0!==(c=K[l])&&s(e,n-=re[l],c))}while(f<e.last_lit);o(e,V,t)}function E(e,t){var r,n,a,i=t.dyn_tree,s=t.stat_desc.static_tree,o=t.stat_desc.has_stree,l=t.stat_desc.elems,c=-1;for(e.heap_len=0,e.heap_max=U,r=0;r<l;r++)0!==i[2*r]?(e.heap[++e.heap_len]=c=r,e.depth[r]=0):i[2*r+1]=0;for(;e.heap_len<2;)i[2*(a=e.heap[++e.heap_len]=c<2?++c:0)]=1,e.depth[a]=0,e.opt_len--,o&&(e.static_len-=s[2*a+1]);for(t.max_code=c,r=e.heap_len>>1;r>=1;r--)b(e,i,r);a=l;do{r=e.heap[1],e.heap[1]=e.heap[e.heap_len--],b(e,i,1),n=e.heap[1],e.heap[--e.heap_max]=r,e.heap[--e.heap_max]=n,i[2*a]=i[2*r]+i[2*n],e.depth[a]=(e.depth[r]>=e.depth[n]?e.depth[r]:e.depth[n])+1,i[2*r+1]=i[2*n+1]=a,e.heap[1]=a++,b(e,i,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],f(e,t),h(i,c,e.bl_count)}function C(e,t,r){var n,a,i=-1,s=t[1],o=0,l=7,c=4;for(0===s&&(l=138,c=3),t[2*(r+1)+1]=65535,n=0;n<=r;n++)a=s,s=t[2*(n+1)+1],++o<l&&a===s||(o<c?e.bl_tree[2*a]+=o:0!==a?(a!==i&&e.bl_tree[2*a]++,e.bl_tree[2*X]++):o<=10?e.bl_tree[2*G]++:e.bl_tree[2*j]++,o=0,i=a,0===s?(l=138,c=3):a===s?(l=6,c=3):(l=7,c=4))}function w(e,t,r){var n,a,i=-1,l=t[1],c=0,f=7,h=4;for(0===l&&(f=138,h=3),n=0;n<=r;n++)if(a=l,l=t[2*(n+1)+1],!(++c<f&&a===l)){if(c<h)do{o(e,a,e.bl_tree)}while(0!=--c);else 0!==a?(a!==i&&(o(e,a,e.bl_tree),c--),o(e,X,e.bl_tree),s(e,c-3,2)):c<=10?(o(e,G,e.bl_tree),s(e,c-3,3)):(o(e,j,e.bl_tree),s(e,c-11,7));c=0,i=a,0===l?(f=138,h=3):a===l?(f=6,h=3):(f=7,h=4)}}function S(e){var t;for(C(e,e.dyn_ltree,e.l_desc.max_code),C(e,e.dyn_dtree,e.d_desc.max_code),E(e,e.bl_desc),t=M-1;t>=3&&0===e.bl_tree[2*Z[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}function A(e,t,r,n){var a;for(s(e,t-257,5),s(e,r-1,5),s(e,n-4,4),a=0;a<n;a++)s(e,e.bl_tree[2*Z[a]+1],3);w(e,e.dyn_ltree,t-1),w(e,e.dyn_dtree,r-1)}function B(e){var t,r=4093624447;for(t=0;t<=31;t++,r>>>=1)if(1&r&&0!==e.dyn_ltree[2*t])return k;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return x;for(t=32;t<F;t++)if(0!==e.dyn_ltree[2*t])return x;return k}function _(e,t,r,n){s(e,(I<<1)+(n?1:0),3),g(e,t,r,!0)}var T=e(\"../utils/common\"),y=4,k=0,x=1,R=2,I=0,O=1,D=2,P=29,F=256,N=F+1+P,L=30,M=19,U=2*N+1,W=15,z=16,H=7,V=256,X=16,G=17,j=18,Y=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],K=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],$=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],Z=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Q=new Array(2*(N+2));n(Q);var q=new Array(2*L);n(q);var J=new Array(512);n(J);var ee=new Array(256);n(ee);var te=new Array(P);n(te);var re=new Array(L);n(re);var ne,ae,ie,se=function(e,t,r,n,a){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=n,this.max_length=a,this.has_stree=e&&e.length},oe=function(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t},le=!1;r._tr_init=function(e){le||(u(),le=!0),e.l_desc=new oe(e.dyn_ltree,ne),e.d_desc=new oe(e.dyn_dtree,ae),e.bl_desc=new oe(e.bl_tree,ie),e.bi_buf=0,e.bi_valid=0,d(e)},r._tr_stored_block=_,r._tr_flush_block=function(e,t,r,n){var a,i,o=0;e.level>0?(e.strm.data_type===R&&(e.strm.data_type=B(e)),E(e,e.l_desc),E(e,e.d_desc),o=S(e),a=e.opt_len+3+7>>>3,(i=e.static_len+3+7>>>3)<=a&&(a=i)):a=i=r+5,r+4<=a&&-1!==t?_(e,t,r,n):e.strategy===y||i===a?(s(e,(O<<1)+(n?1:0),3),v(e,Q,q)):(s(e,(D<<1)+(n?1:0),3),A(e,e.l_desc.max_code+1,e.d_desc.max_code+1,o+1),v(e,e.dyn_ltree,e.dyn_dtree)),d(e),n&&p(e)},r._tr_tally=function(e,t,r){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&r,e.last_lit++,0===t?e.dyn_ltree[2*r]++:(e.matches++,t--,e.dyn_ltree[2*(ee[r]+F+1)]++,e.dyn_dtree[2*a(t)]++),e.last_lit===e.lit_bufsize-1},r._tr_align=function(e){s(e,O<<1,3),o(e,V,Q),c(e)}},{\"../utils/common\":27}],39:[function(e,t,r){t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg=\"\",this.state=null,this.data_type=2,this.adler=0}},{}]},{},[9])(9)})});r.prototype=Object.create(null),n.EventEmitter=n,n.usingDomains=!1,n.prototype.domain=void 0,n.prototype._events=void 0,n.prototype._maxListeners=void 0,n.defaultMaxListeners=10,n.init=function(){this.domain=null,n.usingDomains&&(!(void 0).active||this instanceof(void 0).Domain||(this.domain=(void 0).active)),this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=new r,this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},n.prototype.setMaxListeners=function(e){if(\"number\"!=typeof e||e<0||isNaN(e))throw new TypeError('\"n\" argument must be a positive number');return this._maxListeners=e,this},n.prototype.getMaxListeners=function(){return a(this)},n.prototype.emit=function(e){var t,r,n,a,f,h,u,d=\"error\"===e;if(h=this._events)d=d&&null==h.error;else if(!d)return!1;if(u=this.domain,d){if(t=arguments[1],!u){if(t instanceof Error)throw t;var p=new Error('Uncaught, unspecified \"error\" event. ('+t+\")\");throw p.context=t,p}return t||(t=new Error('Uncaught, unspecified \"error\" event')),t.domainEmitter=this,t.domain=u,t.domainThrown=!1,u.emit(\"error\",t),!1}if(!(r=h[e]))return!1;var g=\"function\"==typeof r;switch(n=arguments.length){case 1:i(r,g,this);break;case 2:s(r,g,this,arguments[1]);break;case 3:o(r,g,this,arguments[1],arguments[2]);break;case 4:l(r,g,this,arguments[1],arguments[2],arguments[3]);break;default:for(a=new Array(n-1),f=1;f<n;f++)a[f-1]=arguments[f];c(r,g,this,a)}return!0},n.prototype.addListener=function(e,t){return f(this,e,t,!1)},n.prototype.on=n.prototype.addListener,n.prototype.prependListener=function(e,t){return f(this,e,t,!0)},n.prototype.once=function(e,t){if(\"function\"!=typeof t)throw new TypeError('\"listener\" argument must be a function');return this.on(e,u(this,e,t)),this},n.prototype.prependOnceListener=function(e,t){if(\"function\"!=typeof t)throw new TypeError('\"listener\" argument must be a function');return this.prependListener(e,u(this,e,t)),this},n.prototype.removeListener=function(e,t){var n,a,i,s,o;if(\"function\"!=typeof t)throw new TypeError('\"listener\" argument must be a function');if(!(a=this._events))return this;if(!(n=a[e]))return this;if(n===t||n.listener&&n.listener===t)0==--this._eventsCount?this._events=new r:(delete a[e],a.removeListener&&this.emit(\"removeListener\",e,n.listener||t));else if(\"function\"!=typeof n){for(i=-1,s=n.length;s-- >0;)if(n[s]===t||n[s].listener&&n[s].listener===t){o=n[s].listener,i=s;break}if(i<0)return this;if(1===n.length){if(n[0]=void 0,0==--this._eventsCount)return this._events=new r,this;delete a[e]}else p(n,i);a.removeListener&&this.emit(\"removeListener\",e,o||t)}return this},n.prototype.removeAllListeners=function(e){var t,n;if(!(n=this._events))return this;if(!n.removeListener)return 0===arguments.length?(this._events=new r,this._eventsCount=0):n[e]&&(0==--this._eventsCount?this._events=new r:delete n[e]),this;if(0===arguments.length){for(var a,i=Object.keys(n),s=0;s<i.length;++s)\"removeListener\"!==(a=i[s])&&this.removeAllListeners(a);return this.removeAllListeners(\"removeListener\"),this._events=new r,this._eventsCount=0,this}if(\"function\"==typeof(t=n[e]))this.removeListener(e,t);else if(t)do{this.removeListener(e,t[t.length-1])}while(t[0]);return this},n.prototype.listeners=function(e){var t,r=this._events;return r&&(t=r[e])?\"function\"==typeof t?[t.listener||t]:m(t):[]},n.listenerCount=function(e,t){return\"function\"==typeof e.listenerCount?e.listenerCount(t):d.call(e,t)},n.prototype.listenerCount=d,n.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};var mr=b,br=v;\"function\"==typeof global.setTimeout&&(mr=setTimeout),\"function\"==typeof global.clearTimeout&&(br=clearTimeout);var vr,Er=[],Cr=!1,wr=-1;B.prototype.run=function(){this.fun.apply(null,this.array)};var Sr,Ar,Br={},_r=[],Tr={},yr={},kr={},xr=_,Rr=_,Ir=_,Or=_,Dr=_,Pr=_,Fr=_,Nr=global.performance||{},Lr=Nr.now||Nr.mozNow||Nr.msNow||Nr.oNow||Nr.webkitNow||function(){return(new Date).getTime()},Mr=new Date,Ur={nextTick:A,title:\"browser\",browser:!0,env:Br,argv:_r,version:\"\",versions:Tr,on:xr,addListener:Rr,once:Ir,off:Or,removeListener:Dr,removeAllListeners:Pr,emit:Fr,binding:function(e){throw new Error(\"process.binding is not supported\")},cwd:function(){return\"/\"},chdir:function(e){throw new Error(\"process.chdir is not supported\")},umask:function(){return 0},hrtime:function(e){var t=.001*Lr.call(Nr),r=Math.floor(t),n=Math.floor(t%1*1e9);return e&&(r-=e[0],(n-=e[1])<0&&(r--,n+=1e9)),[r,n]},platform:\"browser\",release:yr,config:kr,uptime:function(){return(new Date-Mr)/1e3}},Wr=Sr=\"function\"==typeof Object.create?function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e},zr=/%[sdj%]/g,Hr={};k.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},k.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"};var Vr=[],Xr=[],Gr=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,jr=!1,Yr={}.toString,Kr=Array.isArray||function(e){return\"[object Array]\"==Yr.call(e)};oe.TYPED_ARRAY_SUPPORT=void 0===global.TYPED_ARRAY_SUPPORT||global.TYPED_ARRAY_SUPPORT,oe.poolSize=8192,oe._augment=function(e){return e.__proto__=oe.prototype,e},oe.from=function(e,t,r){return le(null,e,t,r)},oe.TYPED_ARRAY_SUPPORT&&(oe.prototype.__proto__=Uint8Array.prototype,oe.__proto__=Uint8Array,\"undefined\"!=typeof Symbol&&Symbol.species&&oe[Symbol.species]),oe.alloc=function(e,t,r){return fe(null,e,t,r)},oe.allocUnsafe=function(e){return he(null,e)},oe.allocUnsafeSlow=function(e){return he(null,e)},oe.isBuffer=function(e){return null!=e&&(!!e._isBuffer||qe(e)||Je(e))},oe.compare=function(e,t){if(!be(e)||!be(t))throw new TypeError(\"Arguments must be Buffers\");if(e===t)return 0;for(var r=e.length,n=t.length,a=0,i=Math.min(r,n);a<i;++a)if(e[a]!==t[a]){r=e[a],n=t[a];break}return r<n?-1:n<r?1:0},oe.isEncoding=function(e){switch(String(e).toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"latin1\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return!0;default:return!1}},oe.concat=function(e,t){if(!Kr(e))throw new TypeError('\"list\" argument must be an Array of Buffers');if(0===e.length)return oe.alloc(0);var r;if(void 0===t)for(t=0,r=0;r<e.length;++r)t+=e[r].length;var n=oe.allocUnsafe(t),a=0;for(r=0;r<e.length;++r){var i=e[r];if(!be(i))throw new TypeError('\"list\" argument must be an Array of Buffers');i.copy(n,a),a+=i.length}return n},oe.byteLength=ve,oe.prototype._isBuffer=!0,oe.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(var t=0;t<e;t+=2)Ce(this,t,t+1);return this},oe.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError(\"Buffer size must be a multiple of 32-bits\");for(var t=0;t<e;t+=4)Ce(this,t,t+3),Ce(this,t+1,t+2);return this},oe.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError(\"Buffer size must be a multiple of 64-bits\");for(var t=0;t<e;t+=8)Ce(this,t,t+7),Ce(this,t+1,t+6),Ce(this,t+2,t+5),Ce(this,t+3,t+4);return this},oe.prototype.toString=function(){var e=0|this.length;return 0===e?\"\":0===arguments.length?Re(this,0,e):Ee.apply(this,arguments)},oe.prototype.equals=function(e){if(!be(e))throw new TypeError(\"Argument must be a Buffer\");return this===e||0===oe.compare(this,e)},oe.prototype.inspect=function(){var e=\"\";return this.length>0&&(e=this.toString(\"hex\",0,50).match(/.{2}/g).join(\" \"),this.length>50&&(e+=\" ... \")),\"<Buffer \"+e+\">\"},oe.prototype.compare=function(e,t,r,n,a){if(!be(e))throw new TypeError(\"Argument must be a Buffer\");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===a&&(a=this.length),t<0||r>e.length||n<0||a>this.length)throw new RangeError(\"out of range index\");if(n>=a&&t>=r)return 0;if(n>=a)return-1;if(t>=r)return 1;if(t>>>=0,r>>>=0,n>>>=0,a>>>=0,this===e)return 0;for(var i=a-n,s=r-t,o=Math.min(i,s),l=this.slice(n,a),c=e.slice(t,r),f=0;f<o;++f)if(l[f]!==c[f]){i=l[f],s=c[f];break}return i<s?-1:s<i?1:0},oe.prototype.includes=function(e,t,r){return-1!==this.indexOf(e,t,r)},oe.prototype.indexOf=function(e,t,r){return we(this,e,t,r,!0)},oe.prototype.lastIndexOf=function(e,t,r){return we(this,e,t,r,!1)},oe.prototype.write=function(e,t,r,n){if(void 0===t)n=\"utf8\",r=this.length,t=0;else if(void 0===r&&\"string\"==typeof t)n=t,r=this.length,t=0;else{if(!isFinite(t))throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");t|=0,isFinite(r)?(r|=0,void 0===n&&(n=\"utf8\")):(n=r,r=void 0)}var a=this.length-t;if((void 0===r||r>a)&&(r=a),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");n||(n=\"utf8\");for(var i=!1;;)switch(n){case\"hex\":return Ae(this,e,t,r);case\"utf8\":case\"utf-8\":return Be(this,e,t,r);case\"ascii\":return _e(this,e,t,r);case\"latin1\":case\"binary\":return Te(this,e,t,r);case\"base64\":return ye(this,e,t,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return ke(this,e,t,r);default:if(i)throw new TypeError(\"Unknown encoding: \"+n);n=(\"\"+n).toLowerCase(),i=!0}},oe.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};var $r=4096;oe.prototype.slice=function(e,t){var r=this.length;e=~~e,t=void 0===t?r:~~t,e<0?(e+=r)<0&&(e=0):e>r&&(e=r),t<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e);var n;if(oe.TYPED_ARRAY_SUPPORT)(n=this.subarray(e,t)).__proto__=oe.prototype;else{var a=t-e;n=new oe(a,void 0);for(var i=0;i<a;++i)n[i]=this[i+e]}return n},oe.prototype.readUIntLE=function(e,t,r){e|=0,t|=0,r||Ne(e,t,this.length);for(var n=this[e],a=1,i=0;++i<t&&(a*=256);)n+=this[e+i]*a;return n},oe.prototype.readUIntBE=function(e,t,r){e|=0,t|=0,r||Ne(e,t,this.length);for(var n=this[e+--t],a=1;t>0&&(a*=256);)n+=this[e+--t]*a;return n},oe.prototype.readUInt8=function(e,t){return t||Ne(e,1,this.length),this[e]},oe.prototype.readUInt16LE=function(e,t){return t||Ne(e,2,this.length),this[e]|this[e+1]<<8},oe.prototype.readUInt16BE=function(e,t){return t||Ne(e,2,this.length),this[e]<<8|this[e+1]},oe.prototype.readUInt32LE=function(e,t){return t||Ne(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},oe.prototype.readUInt32BE=function(e,t){return t||Ne(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},oe.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||Ne(e,t,this.length);for(var n=this[e],a=1,i=0;++i<t&&(a*=256);)n+=this[e+i]*a;return a*=128,n>=a&&(n-=Math.pow(2,8*t)),n},oe.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||Ne(e,t,this.length);for(var n=t,a=1,i=this[e+--n];n>0&&(a*=256);)i+=this[e+--n]*a;return a*=128,i>=a&&(i-=Math.pow(2,8*t)),i},oe.prototype.readInt8=function(e,t){return t||Ne(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},oe.prototype.readInt16LE=function(e,t){t||Ne(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},oe.prototype.readInt16BE=function(e,t){t||Ne(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},oe.prototype.readInt32LE=function(e,t){return t||Ne(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},oe.prototype.readInt32BE=function(e,t){return t||Ne(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},oe.prototype.readFloatLE=function(e,t){return t||Ne(e,4,this.length),ne(this,e,!0,23,4)},oe.prototype.readFloatBE=function(e,t){return t||Ne(e,4,this.length),ne(this,e,!1,23,4)},oe.prototype.readDoubleLE=function(e,t){return t||Ne(e,8,this.length),ne(this,e,!0,52,8)},oe.prototype.readDoubleBE=function(e,t){return t||Ne(e,8,this.length),ne(this,e,!1,52,8)},oe.prototype.writeUIntLE=function(e,t,r,n){e=+e,t|=0,r|=0,n||Le(this,e,t,r,Math.pow(2,8*r)-1,0);var a=1,i=0;for(this[t]=255&e;++i<r&&(a*=256);)this[t+i]=e/a&255;return t+r},oe.prototype.writeUIntBE=function(e,t,r,n){e=+e,t|=0,r|=0,n||Le(this,e,t,r,Math.pow(2,8*r)-1,0);var a=r-1,i=1;for(this[t+a]=255&e;--a>=0&&(i*=256);)this[t+a]=e/i&255;return t+r},oe.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||Le(this,e,t,1,255,0),oe.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},oe.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||Le(this,e,t,2,65535,0),oe.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):Me(this,e,t,!0),t+2},oe.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||Le(this,e,t,2,65535,0),oe.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):Me(this,e,t,!1),t+2},oe.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||Le(this,e,t,4,4294967295,0),oe.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):Ue(this,e,t,!0),t+4},oe.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||Le(this,e,t,4,4294967295,0),oe.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Ue(this,e,t,!1),t+4},oe.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t|=0,!n){var a=Math.pow(2,8*r-1);Le(this,e,t,r,a-1,-a)}var i=0,s=1,o=0;for(this[t]=255&e;++i<r&&(s*=256);)e<0&&0===o&&0!==this[t+i-1]&&(o=1),this[t+i]=(e/s>>0)-o&255;return t+r},oe.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t|=0,!n){var a=Math.pow(2,8*r-1);Le(this,e,t,r,a-1,-a)}var i=r-1,s=1,o=0;for(this[t+i]=255&e;--i>=0&&(s*=256);)e<0&&0===o&&0!==this[t+i+1]&&(o=1),this[t+i]=(e/s>>0)-o&255;return t+r},oe.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||Le(this,e,t,1,127,-128),oe.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},oe.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||Le(this,e,t,2,32767,-32768),oe.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):Me(this,e,t,!0),t+2},oe.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||Le(this,e,t,2,32767,-32768),oe.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):Me(this,e,t,!1),t+2},oe.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||Le(this,e,t,4,2147483647,-2147483648),oe.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):Ue(this,e,t,!0),t+4},oe.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||Le(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),oe.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Ue(this,e,t,!1),t+4},oe.prototype.writeFloatLE=function(e,t,r){return ze(this,e,t,!0,r)},oe.prototype.writeFloatBE=function(e,t,r){return ze(this,e,t,!1,r)},oe.prototype.writeDoubleLE=function(e,t,r){return He(this,e,t,!0,r)},oe.prototype.writeDoubleBE=function(e,t,r){return He(this,e,t,!1,r)},oe.prototype.copy=function(e,t,r,n){if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError(\"targetStart out of bounds\");if(r<0||r>=this.length)throw new RangeError(\"sourceStart out of bounds\");if(n<0)throw new RangeError(\"sourceEnd out of bounds\");n>this.length&&(n=this.length),e.length-t<n-r&&(n=e.length-t+r);var a,i=n-r;if(this===e&&r<t&&t<n)for(a=i-1;a>=0;--a)e[a+t]=this[a+r];else if(i<1e3||!oe.TYPED_ARRAY_SUPPORT)for(a=0;a<i;++a)e[a+t]=this[a+r];else Uint8Array.prototype.set.call(e,this.subarray(r,r+i),t);return i},oe.prototype.fill=function(e,t,r,n){if(\"string\"==typeof e){if(\"string\"==typeof t?(n=t,t=0,r=this.length):\"string\"==typeof r&&(n=r,r=this.length),1===e.length){var a=e.charCodeAt(0);a<256&&(e=a)}if(void 0!==n&&\"string\"!=typeof n)throw new TypeError(\"encoding must be a string\");if(\"string\"==typeof n&&!oe.isEncoding(n))throw new TypeError(\"Unknown encoding: \"+n)}else\"number\"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<r)throw new RangeError(\"Out of range index\");if(r<=t)return this;t>>>=0,r=void 0===r?this.length:r>>>0,e||(e=0);var i;if(\"number\"==typeof e)for(i=t;i<r;++i)this[i]=e;else{var s=be(e)?e:je(new oe(e,n).toString()),o=s.length;for(i=0;i<r-t;++i)this[i+t]=s[i%o]}return this};var Zr=/[^+\\/0-9A-Za-z-_]/g;et.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},et.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},et.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},et.prototype.clear=function(){this.head=this.tail=null,this.length=0},et.prototype.join=function(e){if(0===this.length)return\"\";for(var t=this.head,r=\"\"+t.data;t=t.next;)r+=e+t.data;return r},et.prototype.concat=function(e){if(0===this.length)return oe.alloc(0);if(1===this.length)return this.head.data;for(var t=oe.allocUnsafe(e>>>0),r=this.head,n=0;r;)r.data.copy(t,n),n+=r.data.length,r=r.next;return t};var Qr=oe.isEncoding||function(e){switch(e&&e.toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":case\"raw\":return!0;default:return!1}};rt.prototype.write=function(e){for(var t=\"\";this.charLength;){var r=e.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:e.length;if(e.copy(this.charBuffer,this.charReceived,0,r),this.charReceived+=r,this.charReceived<this.charLength)return\"\";if(e=e.slice(r,e.length),!((a=(t=this.charBuffer.slice(0,this.charLength).toString(this.encoding)).charCodeAt(t.length-1))>=55296&&a<=56319)){if(this.charReceived=this.charLength=0,0===e.length)return t;break}this.charLength+=this.surrogateSize,t=\"\"}this.detectIncompleteChar(e);n=e.length;this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,n),n-=this.charReceived);var n=(t+=e.toString(this.encoding,0,n)).length-1,a=t.charCodeAt(n);if(a>=55296&&a<=56319){var i=this.surrogateSize;return this.charLength+=i,this.charReceived+=i,this.charBuffer.copy(this.charBuffer,i,0,i),e.copy(this.charBuffer,0,0,i),t.substring(0,n)}return t},rt.prototype.detectIncompleteChar=function(e){for(var t=e.length>=3?3:e.length;t>0;t--){var r=e[e.length-t];if(1==t&&r>>5==6){this.charLength=2;break}if(t<=2&&r>>4==14){this.charLength=3;break}if(t<=3&&r>>3==30){this.charLength=4;break}}this.charReceived=t},rt.prototype.end=function(e){var t=\"\";if(e&&e.length&&(t=this.write(e)),this.charReceived){var r=this.charReceived,n=this.charBuffer,a=this.encoding;t+=n.slice(0,r).toString(a)}return t},ct.ReadableState=lt;var qr=function(e){V(Ar)&&(Ar=Ur.env.NODE_DEBUG||\"\"),e=e.toUpperCase(),Hr[e]||(new RegExp(\"\\\\b\"+e+\"\\\\b\",\"i\").test(Ar)?Hr[e]=function(){T.apply(null,arguments)}:Hr[e]=function(){});return Hr[e]}(\"stream\");Wr(ct,n),ct.prototype.push=function(e,t){var r=this._readableState;return r.objectMode||\"string\"!=typeof e||(t=t||r.defaultEncoding)!==r.encoding&&(e=Buffer.from(e,t),t=\"\"),ft(this,r,e,t,!1)},ct.prototype.unshift=function(e){return ft(this,this._readableState,e,\"\",!0)},ct.prototype.isPaused=function(){return!1===this._readableState.flowing},ct.prototype.setEncoding=function(e){return this._readableState.decoder=new rt(e),this._readableState.encoding=e,this};var Jr=8388608;ct.prototype.read=function(e){qr(\"read\",e),e=parseInt(e,10);var t=this._readableState,r=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return qr(\"read: emitReadable\",t.length,t.ended),0===t.length&&t.ended?xt(this):mt(this),null;if(0===(e=dt(e,t))&&t.ended)return 0===t.length&&xt(this),null;var n=t.needReadable;qr(\"need readable\",n),(0===t.length||t.length-e<t.highWaterMark)&&qr(\"length less than watermark\",n=!0),t.ended||t.reading?qr(\"reading or ended\",n=!1):n&&(qr(\"do read\"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=dt(r,t)));var a;return null===(a=e>0?_t(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&xt(this)),null!==a&&this.emit(\"data\",a),a},ct.prototype._read=function(e){this.emit(\"error\",new Error(\"not implemented\"))},ct.prototype.pipe=function(e,t){function r(e){qr(\"onunpipe\"),e===f&&a()}function n(){qr(\"onend\"),e.end()}function a(){qr(\"cleanup\"),e.removeListener(\"close\",o),e.removeListener(\"finish\",l),e.removeListener(\"drain\",d),e.removeListener(\"error\",s),e.removeListener(\"unpipe\",r),f.removeListener(\"end\",n),f.removeListener(\"end\",a),f.removeListener(\"data\",i),p=!0,!h.awaitDrain||e._writableState&&!e._writableState.needDrain||d()}function i(t){qr(\"ondata\"),g=!1,!1!==e.write(t)||g||((1===h.pipesCount&&h.pipes===e||h.pipesCount>1&&-1!==Ot(h.pipes,e))&&!p&&(qr(\"false write response, pause\",f._readableState.awaitDrain),f._readableState.awaitDrain++,g=!0),f.pause())}function s(t){qr(\"onerror\",t),c(),e.removeListener(\"error\",s),0===ot(e,\"error\")&&e.emit(\"error\",t)}function o(){e.removeListener(\"finish\",l),c()}function l(){qr(\"onfinish\"),e.removeListener(\"close\",o),c()}function c(){qr(\"unpipe\"),f.unpipe(e)}var f=this,h=this._readableState;switch(h.pipesCount){case 0:h.pipes=e;break;case 1:h.pipes=[h.pipes,e];break;default:h.pipes.push(e)}h.pipesCount+=1,qr(\"pipe count=%d opts=%j\",h.pipesCount,t);var u=!t||!1!==t.end?n:a;h.endEmitted?A(u):f.once(\"end\",u),e.on(\"unpipe\",r);var d=Ct(f);e.on(\"drain\",d);var p=!1,g=!1;return f.on(\"data\",i),st(e,\"error\",s),e.once(\"close\",o),e.once(\"finish\",l),e.emit(\"pipe\",f),h.flowing||(qr(\"pipe resume\"),f.resume()),e},ct.prototype.unpipe=function(e){var t=this._readableState;if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit(\"unpipe\",this),this);if(!e){var r=t.pipes,n=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var a=0;a<n;a++)r[a].emit(\"unpipe\",this);return this}var i=Ot(t.pipes,e);return-1===i?this:(t.pipes.splice(i,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit(\"unpipe\",this),this)},ct.prototype.on=function(e,t){var r=n.prototype.on.call(this,e,t);if(\"data\"===e)!1!==this._readableState.flowing&&this.resume();else if(\"readable\"===e){var a=this._readableState;a.endEmitted||a.readableListening||(a.readableListening=a.needReadable=!0,a.emittedReadable=!1,a.reading?a.length&&mt(this):A(wt,this))}return r},ct.prototype.addListener=ct.prototype.on,ct.prototype.resume=function(){var e=this._readableState;return e.flowing||(qr(\"resume\"),e.flowing=!0,St(this,e)),this},ct.prototype.pause=function(){return qr(\"call pause flowing=%j\",this._readableState.flowing),!1!==this._readableState.flowing&&(qr(\"pause\"),this._readableState.flowing=!1,this.emit(\"pause\")),this},ct.prototype.wrap=function(e){var t=this._readableState,r=!1,n=this;e.on(\"end\",function(){if(qr(\"wrapped end\"),t.decoder&&!t.ended){var e=t.decoder.end();e&&e.length&&n.push(e)}n.push(null)}),e.on(\"data\",function(a){qr(\"wrapped data\"),t.decoder&&(a=t.decoder.write(a)),(!t.objectMode||null!==a&&void 0!==a)&&(t.objectMode||a&&a.length)&&(n.push(a)||(r=!0,e.pause()))});for(var a in e)void 0===this[a]&&\"function\"==typeof e[a]&&(this[a]=function(t){return function(){return e[t].apply(e,arguments)}}(a));return It([\"error\",\"close\",\"destroy\",\"pause\",\"resume\"],function(t){e.on(t,n.emit.bind(n,t))}),n._read=function(t){qr(\"wrapped _read\",t),r&&(r=!1,e.resume())},n},ct._fromList=_t,Nt.WritableState=Ft,Wr(Nt,n),Ft.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},Nt.prototype.pipe=function(){this.emit(\"error\",new Error(\"Cannot pipe, not readable\"))},Nt.prototype.write=function(e,t,r){var n=this._writableState,a=!1;return\"function\"==typeof t&&(r=t,t=null),oe.isBuffer(e)?t=\"buffer\":t||(t=n.defaultEncoding),\"function\"!=typeof r&&(r=Dt),n.ended?Lt(this,r):Mt(this,n,e,r)&&(n.pendingcb++,a=Wt(this,n,e,t,r)),a},Nt.prototype.cork=function(){this._writableState.corked++},Nt.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.bufferedRequest||Yt(this,e))},Nt.prototype.setDefaultEncoding=function(e){if(\"string\"==typeof e&&(e=e.toLowerCase()),!([\"hex\",\"utf8\",\"utf-8\",\"ascii\",\"binary\",\"base64\",\"ucs2\",\"ucs-2\",\"utf16le\",\"utf-16le\",\"raw\"].indexOf((e+\"\").toLowerCase())>-1))throw new TypeError(\"Unknown encoding: \"+e);return this._writableState.defaultEncoding=e,this},Nt.prototype._write=function(e,t,r){r(new Error(\"not implemented\"))},Nt.prototype._writev=null,Nt.prototype.end=function(e,t,r){var n=this._writableState;\"function\"==typeof e?(r=e,e=null,t=null):\"function\"==typeof t&&(r=t,t=null),null!==e&&void 0!==e&&this.write(e,t),n.corked&&(n.corked=1,this.uncork()),n.ending||n.finished||Qt(this,n,r)},Wr(Jt,ct);for(var en=Object.keys(Nt.prototype),tn=0;tn<en.length;tn++){var rn=en[tn];Jt.prototype[rn]||(Jt.prototype[rn]=Nt.prototype[rn])}Wr(ar,Jt),ar.prototype.push=function(e,t){return this._transformState.needTransform=!1,Jt.prototype.push.call(this,e,t)},ar.prototype._transform=function(e,t,r){throw new Error(\"Not implemented\")},ar.prototype._write=function(e,t,r){var n=this._transformState;if(n.writecb=r,n.writechunk=e,n.writeencoding=t,!n.transforming){var a=this._readableState;(n.needTransform||a.needReadable||a.length<a.highWaterMark)&&this._read(a.highWaterMark)}},ar.prototype._read=function(e){var t=this._transformState;null!==t.writechunk&&t.writecb&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0},Wr(sr,ar),sr.prototype._transform=function(e,t,r){r(null,e)},Wr(or,n),or.Readable=ct,or.Writable=Nt,or.Duplex=Jt,or.Transform=ar,or.PassThrough=sr,or.Stream=or,or.prototype.pipe=function(e,t){function r(t){e.writable&&!1===e.write(t)&&c.pause&&c.pause()}function a(){c.readable&&c.resume&&c.resume()}function i(){f||(f=!0,e.end())}function s(){f||(f=!0,\"function\"==typeof e.destroy&&e.destroy())}function o(e){if(l(),0===n.listenerCount(this,\"error\"))throw e}function l(){c.removeListener(\"data\",r),e.removeListener(\"drain\",a),c.removeListener(\"end\",i),c.removeListener(\"close\",s),c.removeListener(\"error\",o),e.removeListener(\"error\",o),c.removeListener(\"end\",l),c.removeListener(\"close\",l),e.removeListener(\"close\",l)}var c=this;c.on(\"data\",r),e.on(\"drain\",a),e._isStdio||t&&!1===t.end||(c.on(\"end\",i),c.on(\"close\",s));var f=!1;return c.on(\"error\",o),e.on(\"error\",o),c.on(\"end\",l),c.on(\"close\",l),e.on(\"close\",l),e.emit(\"pipe\",c),e};var nn=Object.freeze({default:or,Readable:ct,Writable:Nt,Duplex:Jt,Transform:ar,PassThrough:sr,Stream:or}),an=pr&&dr||pr,sn=nn&&or||nn,on=t(function(t,r){!function(r){function n(){Eo(1200)}function a(e){for(var t=[],r=0,n=e.length;r<n;++r)t[r]=e.charCodeAt(r);return t}function i(e){for(var t=[],r=0;r<e.length>>1;++r)t[r]=String.fromCharCode(e.charCodeAt(2*r)+(e.charCodeAt(2*r+1)<<8));return t.join(\"\")}function s(e){for(var t=[],r=0;r<e.length>>1;++r)t[r]=String.fromCharCode(e.charCodeAt(2*r+1)+(e.charCodeAt(2*r)<<8));return t.join(\"\")}function o(e){return new(Bo?Buffer:Array)(e)}function l(e){return Bo?new Buffer(e,\"binary\"):e.split(\"\").map(function(e){return 255&e.charCodeAt(0)})}function c(e){var t=\"number\"==typeof e?ko._table[e]:e;return t=t.replace(Io,\"(\\\\d+)\"),new RegExp(\"^\"+t+\"$\")}function f(e,t,r){var n=-1,a=-1,i=-1,s=-1,o=-1,l=-1;(t.match(Io)||[]).forEach(function(e,t){var c=parseInt(r[t+1],10);switch(e.toLowerCase().charAt(0)){case\"y\":n=c;break;case\"d\":i=c;break;case\"h\":s=c;break;case\"s\":l=c;break;case\"m\":s>=0?o=c:a=c}}),l>=0&&-1==o&&a>=0&&(o=a,a=-1);var c=(\"\"+(n>=0?n:(new Date).getFullYear())).slice(-4)+\"-\"+(\"00\"+(a>=1?a:1)).slice(-2)+\"-\"+(\"00\"+(i>=1?i:1)).slice(-2);7==c.length&&(c=\"0\"+c),8==c.length&&(c=\"20\"+c);var f=(\"00\"+(s>=0?s:0)).slice(-2)+\":\"+(\"00\"+(o>=0?o:0)).slice(-2)+\":\"+(\"00\"+(l>=0?l:0)).slice(-2);return-1==s&&-1==o&&-1==l?c:-1==n&&-1==a&&-1==i?f:c+\"T\"+f}function h(e){return void 0!==e&&null!==e}function u(e){return Object.keys(e)}function d(e){for(var t=[],r=u(e),n=0;n!==r.length;++n)t[e[r[n]]]=r[n];return t}function p(e){for(var t=[],r=u(e),n=0;n!==r.length;++n)t[e[r[n]]]=parseInt(r[n],10);return t}function g(e,t){var r=e.getTime();return t&&(r+=1263168e5),(r-Po)/864e5}function m(e){var t=new Date;return t.setTime(24*e*60*60*1e3+Po),t}function b(e){var t=0,r=0,n=!1,a=e.match(/P([0-9\\.]+Y)?([0-9\\.]+M)?([0-9\\.]+D)?T([0-9\\.]+H)?([0-9\\.]+M)?([0-9\\.]+S)?/);if(!a)throw new Error(\"|\"+e+\"| is not an ISO8601 Duration\");for(var i=1;i!=a.length;++i)if(a[i]){switch(r=1,i>3&&(n=!0),a[i].substr(a[i].length-1)){case\"Y\":throw new Error(\"Unsupported ISO Duration Field: \"+a[i].substr(a[i].length-1));case\"D\":r*=24;case\"H\":r*=60;case\"M\":if(!n)throw new Error(\"Unsupported ISO Duration Field: M\");r*=60}t+=r*parseInt(a[i],10)}return t}function v(e,t){var r=new Date(e);if(Mo)return t>0?r.setTime(r.getTime()+60*r.getTimezoneOffset()*1e3):t<0&&r.setTime(r.getTime()-60*r.getTimezoneOffset()*1e3),r;if(e instanceof Date)return e;if(1917==Fo.getFullYear()&&!isNaN(r.getFullYear())){var n=r.getFullYear();return e.indexOf(\"\"+n)>-1?r:(r.setFullYear(r.getFullYear()+100),r)}var a=e.match(/\\d+/g)||[\"2017\",\"2\",\"19\",\"0\",\"0\",\"0\"];return new Date(+a[0],+a[1]-1,+a[2],+a[3]||0,+a[4]||0,+a[5]||0)}function E(e){for(var t=\"\",r=0;r!=e.length;++r)t+=String.fromCharCode(e[r]);return t}function C(e){for(var t=[],r=0;r!=e.length;++r)t.push(e.charCodeAt(r));return t}function w(e){if(\"undefined\"!=typeof JSON&&!Array.isArray(e))return JSON.parse(JSON.stringify(e));if(\"object\"!=typeof e||null==e)return e;var t={};for(var r in e)e.hasOwnProperty(r)&&(t[r]=w(e[r]));return t}function S(e,t){for(var r=\"\";r.length<t;)r+=e;return r}function A(e){var t=new Date(e),r=new Date(NaN),n=t.getYear(),a=t.getMonth(),i=t.getDate();return isNaN(i)?r:n<0||n>8099?r:(a>0||i>1)&&101!=n?t:e.toLowerCase().match(/jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec/)?t:e.match(/[a-zA-Z]/)?r:t}function B(e){return e?e.data?Co(e.data):e.asNodeBuffer&&Bo?Co(e.asNodeBuffer().toString(\"binary\")):e.asBinary?Co(e.asBinary()):e._data&&e._data.getContent?Co(E(Array.prototype.slice.call(e._data.getContent(),0))):null:null}function _(e){if(!e)return null;if(e.data)return a(e.data);if(e.asNodeBuffer&&Bo)return e.asNodeBuffer();if(e._data&&e._data.getContent){var t=e._data.getContent();return\"string\"==typeof t?C(t):Array.prototype.slice.call(t)}return null}function T(e){return e&&\".bin\"===e.name.slice(-4)?_(e):B(e)}function y(e,t){for(var r=u(e.files),n=t.toLowerCase(),a=n.replace(/\\//g,\"\\\\\"),i=0;i<r.length;++i){var s=r[i].toLowerCase();if(n==s||a==s)return e.files[r[i]]}return null}function k(e,t){var r=y(e,t);if(null==r)throw new Error(\"Cannot find file \"+t+\" in zip\");return r}function x(e,t,r){if(!r)return T(k(e,t));if(!t)return null;try{return x(e,t)}catch(e){return null}}function R(e,t,r){if(!r)return B(k(e,t));if(!t)return null;try{return R(e,t)}catch(e){return null}}function I(e,t){var r=t.split(\"/\");\"/\"!=t.slice(-1)&&r.pop();for(var n=e.split(\"/\");0!==n.length;){var a=n.shift();\"..\"===a?r.pop():\".\"!==a&&r.push(a)}return r.join(\"/\")}function O(e,t){for(var r={},n=0,a=0;n!==e.length&&(32!==(a=e.charCodeAt(n))&&10!==a&&13!==a);++n);if(t||(r[0]=e.substr(0,n)),n===e.length)return r;var i=e.match(Uo),s=0,o=\"\",l=0,c=\"\",f=\"\",h=1;if(i)for(l=0;l!=i.length;++l){for(f=i[l],a=0;a!=f.length&&61!==f.charCodeAt(a);++a);for(c=f.substr(0,a),h=34==(n=f.charCodeAt(a+1))||39==n?1:0,o=f.substring(a+1+h,f.length-h),s=0;s!=c.length&&58!==c.charCodeAt(s);++s);if(s===c.length)c.indexOf(\"_\")>0&&(c=c.substr(0,c.indexOf(\"_\"))),r[c]=o;else{var u=(5===s&&\"xmlns\"===c.substr(0,5)?\"xmlns\":\"\")+c.substr(s+1);if(r[u]&&\"ext\"==c.substr(s-3,3))continue;r[u]=o}}return r}function D(e){return e.replace(Ho,\"<$1\")}function P(e,t){return(e+\"\").replace(jo,function(e){return Xo[e]}).replace(Yo,function(e){return\"_x\"+(\"000\"+e.charCodeAt(0).toString(16)).slice(-4)+\"_\"})}function F(e){return P(e).replace(/ /g,\"_x0020_\")}function N(e){return(e+\"\").replace(jo,function(e){return Xo[e]}).replace(Ko,function(e){return\"&#x\"+(\"000\"+e.charCodeAt(0).toString(16)).slice(-4)+\";\"})}function L(e,t){switch(e){case 1:case!0:case\"1\":case\"true\":case\"TRUE\":return!0;default:return!1}}function M(e){var t=O(e),r=e.match(rl(t.baseType))||[];if(r.length!=t.size)throw new Error(\"unexpected vector length \"+r.length+\" != \"+t.size);var n=[];return r.forEach(function(e){var t=e.replace(nl,\"\").match(al);n.push({v:Qo(t[2]),t:t[1]})}),n}function U(e,t){return\"<\"+e+(t.match(il)?' xml:space=\"preserve\"':\"\")+\">\"+t+\"</\"+e+\">\"}function W(e){return u(e).map(function(t){return\" \"+t+'=\"'+e[t]+'\"'}).join(\"\")}function z(e,t,r){return\"<\"+e+(h(r)?W(r):\"\")+(h(t)?(t.match(il)?' xml:space=\"preserve\"':\"\")+\">\"+t+\"</\"+e:\"/\")+\">\"}function H(e,t){try{return e.toISOString().replace(/\\.\\d*/,\"\")}catch(e){if(t)throw e}return\"\"}function V(e){switch(typeof e){case\"string\":return z(\"vt:lpwstr\",e);case\"number\":return z((0|e)==e?\"vt:i4\":\"vt:r8\",String(e));case\"boolean\":return z(\"vt:bool\",e?\"true\":\"false\")}if(e instanceof Date)return z(\"vt:filetime\",H(e));throw new Error(\"Unable to serialize \"+e)}function X(e,t){for(var r=1-2*(e[t+7]>>>7),n=((127&e[t+7])<<4)+(e[t+6]>>>4&15),a=15&e[t+6],i=5;i>=0;--i)a=256*a+e[t+i];return 2047==n?0==a?r*(1/0):NaN:(0==n?n=-1022:(n-=1023,a+=Math.pow(2,52)),r*Math.pow(2,n-52)*a)}function G(e,t,r){var n=(t<0||1/t==-1/0?1:0)<<7,a=0,i=0,s=n?-t:t;isFinite(s)?(a=Math.floor(Math.log(s)*Math.LOG2E),i=t*Math.pow(2,52-a),a<=-1023&&(!isFinite(i)||i<Math.pow(2,52))?a=-1022:(i-=Math.pow(2,52),a+=1023)):(a=2047,i=isNaN(t)?26985:0);for(var o=0;o<=5;++o,i/=256)e[r+o]=255&i;e[r+6]=(15&a)<<4|15&i,e[r+7]=a>>4|n}function j(e,t){var r,n,a,i,s,o,l=\"\",c=[];switch(t){case\"dbcs\":if(o=this.l,Bo&&Buffer.isBuffer(this))l=this.slice(this.l,this.l+2*e).toString(\"utf16le\");else for(s=0;s!=e;++s)l+=String.fromCharCode(kl(this,o)),o+=2;e*=2;break;case\"utf8\":l=gl(this,this.l,this.l+e);break;case\"utf16le\":e*=2,l=hl(this,this.l,this.l+e);break;case\"wstr\":if(\"undefined\"==typeof cptable)return j.call(this,e,\"dbcs\");l=cptable.utils.decode(vo,this.slice(this.l,this.l+2*e)),e*=2;break;case\"lpstr\":e=5+(l=ml(this,this.l)).length;break;case\"lpwstr\":e=5+(l=vl(this,this.l)).length,\"\\0\"==l[l.length-1]&&(e+=2);break;case\"lpp4\":e=4+Rl(this,this.l),l=Cl(this,this.l),2&e&&(e+=2);break;case\"8lpp4\":e=4+Rl(this,this.l),l=Sl(this,this.l),3&e&&(e+=4-(3&e));break;case\"cstr\":for(e=0,l=\"\";0!==(a=yl(this,this.l+e++));)c.push(wo(a));l=c.join(\"\");break;case\"_wstr\":for(e=0,l=\"\";0!==(a=kl(this,this.l+e));)c.push(wo(a)),e+=2;e+=2,l=c.join(\"\");break;case\"dbcs-cont\":for(l=\"\",o=this.l,s=0;s!=e;++s){if(this.lens&&-1!==this.lens.indexOf(o))return a=yl(this,o),this.l=o+1,i=j.call(this,e-s,a?\"dbcs-cont\":\"sbcs-cont\"),c.join(\"\")+i;c.push(wo(kl(this,o))),o+=2}l=c.join(\"\"),e*=2;break;case\"sbcs-cont\":for(l=\"\",o=this.l,s=0;s!=e;++s){if(this.lens&&-1!==this.lens.indexOf(o))return a=yl(this,o),this.l=o+1,i=j.call(this,e-s,a?\"dbcs-cont\":\"sbcs-cont\"),c.join(\"\")+i;c.push(wo(yl(this,o))),o+=1}l=c.join(\"\");break;default:switch(e){case 1:return r=yl(this,this.l),this.l++,r;case 2:return r=(\"i\"===t?xl:kl)(this,this.l),this.l+=2,r;case 4:return\"i\"===t||0==(128&this[this.l+3])?(r=Il(this,this.l),this.l+=4,r):(n=Rl(this,this.l),this.l+=4,n);case 8:if(\"f\"===t)return n=Bl(this,this.l),this.l+=8,n;case 16:l=dl(this,this.l,e)}}return this.l+=e,l}function Y(e,t,r){var n=0,a=0;if(\"dbcs\"===r){for(a=0;a!=t.length;++a)Dl(this,t.charCodeAt(a),this.l+2*a);n=2*t.length}else if(\"sbcs\"===r){for(a=0;a!=t.length;++a)this[this.l+a]=255&t.charCodeAt(a);n=t.length}else switch(e){case 1:n=1,this[this.l]=255&t;break;case 2:n=2,this[this.l]=255&t,t>>>=8,this[this.l+1]=255&t;break;case 3:n=3,this[this.l]=255&t,t>>>=8,this[this.l+1]=255&t,t>>>=8,this[this.l+2]=255&t;break;case 4:n=4,Pl(this,t,this.l);break;case 8:if(n=8,\"f\"===r){G(this,t,this.l);break}case 16:break;case-4:n=4,Fl(this,t,this.l)}return this.l+=n,this}function K(e,t){var r=dl(this,this.l,e.length>>1);if(r!==e)throw t+\"Expected \"+e+\" saw \"+r;this.l+=e.length>>1}function $(e,t){e.l=t,e.read_shift=j,e.chk=K,e.write_shift=Y}function Z(e,t){e.l+=t}function Q(e){var t=o(e);return $(t,0),t}function q(e,t,r){if(e){var n,a,i;$(e,e.l||0);for(var s=e.length,o=0,l=0;e.l<s;){128&(o=e.read_shift(1))&&(o=(127&o)+((127&e.read_shift(1))<<7));var c=zm[o]||zm[65535];for(i=127&(n=e.read_shift(1)),a=1;a<4&&128&n;++a)i+=(127&(n=e.read_shift(1)))<<7*a;l=e.l+i;var f=c.f(e,i,r);if(e.l=l,t(f,c.n,o))return}}}function J(){var e=[],t=function(e){var t=Q(e);return $(t,0),t},r=t(2048),n=function(){r&&(r.length>r.l&&(r=r.slice(0,r.l)),r.length>0&&e.push(r),r=null)},a=function(e){return r&&e<r.length-r.l?r:(n(),r=t(Math.max(e+1,2048)))};return{next:a,push:function(e){n(),r=e,a(2048)},end:function(){return n(),ll([e])},_bufs:e}}function ee(e,t,r,n){var a,i=Number(Hm[t]);if(!isNaN(i)){n||(n=zm[i].p||(r||[]).length||0),a=1+(i>=128?1:0)+1+n,n>=128&&++a,n>=16384&&++a,n>=2097152&&++a;var s=e.next(a);i<=127?s.write_shift(1,i):(s.write_shift(1,128+(127&i)),s.write_shift(1,i>>7));for(var o=0;4!=o;++o){if(!(n>=128)){s.write_shift(1,n);break}s.write_shift(1,128+(127&n)),n>>=7}n>0&&Tl(r)&&e.push(r)}}function te(e,t,r){var n=w(e);if(t.s?(n.cRel&&(n.c+=t.s.c),n.rRel&&(n.r+=t.s.r)):(n.c+=t.c,n.r+=t.r),!r||r.biff<12){for(;n.c>=256;)n.c-=256;for(;n.r>=65536;)n.r-=65536}return n}function re(e,t,r){var n=w(e);return n.s=te(n.s,t.s,r),n.e=te(n.e,t.s,r),n}function ne(e){var t=ge(e);return 0===e.cRel&&(t=he(t)),0===e.rRel&&(t=oe(t)),t}function ae(e,t){return 0!=e.s.r||e.s.rRel||e.e.r!=t.biff>=12&&e.e.rRel?0!=e.s.c||e.s.cRel||e.e.c!=t.biff>=12&&e.e.cRel?ne(e.s)+\":\"+ne(e.e):(e.s.rRel?\"\":\"$\")+se(e.s.r)+\":\"+(e.e.rRel?\"\":\"$\")+se(e.e.r):(e.s.cRel?\"\":\"$\")+fe(e.s.c)+\":\"+(e.e.cRel?\"\":\"$\")+fe(e.e.c)}function ie(e){return parseInt(le(e),10)-1}function se(e){return\"\"+(e+1)}function oe(e){return e.replace(/([A-Z]|^)(\\d+)$/,\"$1$$$2\")}function le(e){return e.replace(/\\$(\\d+)$/,\"$1\")}function ce(e){for(var t=ue(e),r=0,n=0;n!==t.length;++n)r=26*r+t.charCodeAt(n)-64;return r-1}function fe(e){var t=\"\";for(++e;e;e=Math.floor((e-1)/26))t=String.fromCharCode((e-1)%26+65)+t;return t}function he(e){return e.replace(/^([A-Z])/,\"$$$1\")}function ue(e){return e.replace(/^\\$([A-Z])/,\"$1\")}function de(e){return e.replace(/(\\$?[A-Z]*)(\\$?\\d*)/,\"$1,$2\").split(\",\")}function pe(e){var t=de(e);return{c:ce(t[0]),r:ie(t[1])}}function ge(e){return fe(e.c)+se(e.r)}function me(e){var t=e.split(\":\").map(pe);return{s:t[0],e:t[t.length-1]}}function be(e,t){return void 0===t||\"number\"==typeof t?be(e.s,e.e):(\"string\"!=typeof e&&(e=ge(e)),\"string\"!=typeof t&&(t=ge(t)),e==t?e:e+\":\"+t)}function ve(e){var t={s:{c:0,r:0},e:{c:0,r:0}},r=0,n=0,a=0,i=e.length;for(r=0;n<i&&!((a=e.charCodeAt(n)-64)<1||a>26);++n)r=26*r+a;for(t.s.c=--r,r=0;n<i&&!((a=e.charCodeAt(n)-48)<0||a>9);++n)r=10*r+a;if(t.s.r=--r,n===i||58===e.charCodeAt(++n))return t.e.c=t.s.c,t.e.r=t.s.r,t;for(r=0;n!=i&&!((a=e.charCodeAt(n)-64)<1||a>26);++n)r=26*r+a;for(t.e.c=--r,r=0;n!=i&&!((a=e.charCodeAt(n)-48)<0||a>9);++n)r=10*r+a;return t.e.r=--r,t}function Ee(e,t){var r=\"d\"==e.t&&t instanceof Date;if(null!=e.z)try{return e.w=ko.format(e.z,r?g(t):t)}catch(e){}try{return e.w=ko.format((e.XF||{}).ifmt||(r?14:0),r?g(t):t)}catch(e){return\"\"+t}}function Ce(e,t,r){return null==e||null==e.t||\"z\"==e.t?\"\":void 0!==e.w?e.w:(\"d\"==e.t&&!e.z&&r&&r.dateNF&&(e.z=r.dateNF),void 0==t?Ee(e,e.v,r):Ee(e,t,r))}function we(e,t){var r=t&&t.sheet?t.sheet:\"Sheet1\",n={};return n[r]=e,{SheetNames:[r],Sheets:n}}function Se(e,t){var r=t||{};null!=So&&null==r.dense&&(r.dense=So);for(var n=r.dense?[]:{},a={s:{c:1e7,r:1e7},e:{c:0,r:0}},i=0;i!=e.length;++i)for(var s=0;s!=e[i].length;++s)if(void 0!==e[i][s]){var o={v:e[i][s]};if(Array.isArray(o.v)&&(o.f=e[i][s][1],o.v=o.v[0]),a.s.r>i&&(a.s.r=i),a.s.c>s&&(a.s.c=s),a.e.r<i&&(a.e.r=i),a.e.c<s&&(a.e.c=s),null===o.v)if(o.f)o.t=\"n\";else{if(!r.cellStubs)continue;o.t=\"z\"}else\"number\"==typeof o.v?o.t=\"n\":\"boolean\"==typeof o.v?o.t=\"b\":o.v instanceof Date?(o.z=r.dateNF||ko._table[14],r.cellDates?(o.t=\"d\",o.w=ko.format(o.z,g(o.v))):(o.t=\"n\",o.v=g(o.v),o.w=ko.format(o.z,o.v))):o.t=\"s\";r.dense?(n[i]||(n[i]=[]),n[i][s]=o):n[ge({c:s,r:i})]=o}return a.s.c<1e7&&(n[\"!ref\"]=be(a)),n}function Ae(e,t){return t||(t=Q(4)),t.write_shift(4,e),t}function Be(e){var t=e.read_shift(4);return 0===t?\"\":e.read_shift(t,\"dbcs\")}function _e(e,t){var r=!1;return null==t&&(r=!0,t=Q(4+2*e.length)),t.write_shift(4,e.length),e.length>0&&t.write_shift(0,e,\"dbcs\"),r?t.slice(0,t.l):t}function Te(e,t){return{ich:e.read_shift(2),ifnt:e.read_shift(2)}}function ye(e,t){return t||(t=Q(4)),t.write_shift(2,e.ich||0),t.write_shift(2,e.ifnt||0),t}function ke(e,t){var r=e.l,n=e.read_shift(1),a=Be(e),i=[],s={t:a,h:a};if(0!=(1&n)){for(var o=e.read_shift(4),l=0;l!=o;++l)i.push(Te(e));s.r=i}else s.r=[{ich:0,ifnt:0}];return e.l=r+t,s}function xe(e,t){var r=!1;return null==t&&(r=!0,t=Q(23+4*e.t.length)),t.write_shift(1,1),_e(e.t,t),t.write_shift(4,1),ye({ich:0,ifnt:0},t),r?t.slice(0,t.l):t}function Re(e){var t=e.read_shift(4),r=e.read_shift(2);r+=e.read_shift(1)<<16;e.read_shift(1);return{c:t,iStyleRef:r}}function Ie(e,t){return null==t&&(t=Q(8)),t.write_shift(-4,e.c),t.write_shift(3,e.iStyleRef||e.s),t.write_shift(1,0),t}function Oe(e){var t=e.read_shift(4);return 0===t||4294967295===t?\"\":e.read_shift(t,\"dbcs\")}function De(e,t){var r=!1;return null==t&&(r=!0,t=Q(127)),t.write_shift(4,e.length>0?e.length:4294967295),e.length>0&&t.write_shift(0,e,\"dbcs\"),r?t.slice(0,t.l):t}function Pe(e){var t=e.slice(e.l,e.l+4),r=1&t[0],n=2&t[0];e.l+=4,t[0]&=252;var a=0===n?Bl([0,0,0,0,t[0],t[1],t[2],t[3]],0):Il(t,0)>>2;return r?a/100:a}function Fe(e,t){null==t&&(t=Q(4));var r=0,n=0,a=100*e;if(e==(0|e)&&e>=-(1<<29)&&e<1<<29?n=1:a==(0|a)&&a>=-(1<<29)&&a<1<<29&&(n=1,r=1),!n)throw new Error(\"unsupported RkNumber \"+e);t.write_shift(-4,((r?a:e)<<2)+(r+2))}function Ne(e){var t={s:{},e:{}};return t.s.r=e.read_shift(4),t.e.r=e.read_shift(4),t.s.c=e.read_shift(4),t.e.c=e.read_shift(4),t}function Le(e,t){return e.read_shift(8,\"f\")}function Me(e,t){return(t||Q(8)).write_shift(8,e,\"f\")}function Ue(e,t){var r={},n=e.read_shift(1),a=n>>>1,i=e.read_shift(1),s=e.read_shift(2,\"i\"),o=e.read_shift(1),l=e.read_shift(1),c=e.read_shift(1);e.read_shift(1);switch(a){case 0:r.auto=1;break;case 1:r.index=i;var f=rc[i];f&&(r.rgb=f[0].toString(16)+f[1].toString(16)+f[2].toString(16));break;case 2:r.rgb=o.toString(16)+l.toString(16)+c.toString(16);break;case 3:r.theme=i}return 0!=s&&(r.tint=s>0?s/32767:s/32768),r}function We(e,t){if(t||(t=Q(8)),!e||e.auto)return t.write_shift(4,0),t.write_shift(4,0),t;e.index?(t.write_shift(1,2),t.write_shift(1,e.index)):e.theme?(t.write_shift(1,6),t.write_shift(1,e.theme)):(t.write_shift(1,5),t.write_shift(1,0));var r=e.tint||0;if(r>0?r*=32767:r<0&&(r*=32768),t.write_shift(2,r),e.rgb){var n=e.rgb||\"FFFFFF\";t.write_shift(1,parseInt(n.substr(0,2),16)),t.write_shift(1,parseInt(n.substr(2,2),16)),t.write_shift(1,parseInt(n.substr(4,2),16)),t.write_shift(1,255)}else t.write_shift(2,0),t.write_shift(1,0),t.write_shift(1,0);return t}function ze(e,t,r){var n=e.read_shift(1);return e.l++,{fItalic:2&n,fStrikeout:8&n,fOutline:16&n,fShadow:32&n,fCondense:64&n,fExtend:128&n}}function He(e,t){t||(t=Q(2));var r=(e.italic?2:0)|(e.strike?8:0)|(e.outline?16:0)|(e.shadow?32:0)|(e.condense?64:0)|(e.extend?128:0);return t.write_shift(1,r),t.write_shift(1,0),t}function Ve(e,t){var r={workbooks:[],sheets:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],TODO:[],xmlns:\"\"};if(!e||!e.match)return r;var n={};if((e.match(Wo)||[]).forEach(function(e){var t=O(e);switch(t[0].replace(zo,\"<\")){case\"<?xml\":break;case\"<Types\":r.xmlns=t[\"xmlns\"+(t[0].match(/<(\\w+):/)||[\"\",\"\"])[1]];break;case\"<Default\":n[t.Extension]=t.ContentType;break;case\"<Override\":void 0!==r[nc[t.ContentType]]&&r[nc[t.ContentType]].push(t.PartName)}}),r.xmlns!==ol.CT)throw new Error(\"Unknown Namespace: \"+r.xmlns);return r.calcchain=r.calcchains.length>0?r.calcchains[0]:\"\",r.sst=r.strs.length>0?r.strs[0]:\"\",r.style=r.styles.length>0?r.styles[0]:\"\",r.defaults=n,delete r.calcchains,r}function Xe(e,t){var r,n=[];n[n.length]=sl,n[n.length]=sc,n=n.concat(oc);var a=function(a){e[a]&&e[a].length>0&&(r=e[a][0],n[n.length]=z(\"Override\",null,{PartName:(\"/\"==r[0]?\"\":\"/\")+r,ContentType:ac[a][t.bookType||\"xlsx\"]}))},i=function(r){(e[r]||[]).forEach(function(e){n[n.length]=z(\"Override\",null,{PartName:(\"/\"==e[0]?\"\":\"/\")+e,ContentType:ac[r][t.bookType||\"xlsx\"]})})},s=function(t){(e[t]||[]).forEach(function(e){n[n.length]=z(\"Override\",null,{PartName:(\"/\"==e[0]?\"\":\"/\")+e,ContentType:ic[t][0]})})};return a(\"workbooks\"),i(\"sheets\"),i(\"charts\"),s(\"themes\"),[\"strs\",\"styles\"].forEach(a),[\"coreprops\",\"extprops\",\"custprops\"].forEach(s),s(\"vba\"),s(\"comments\"),s(\"drawings\"),n.length>2&&(n[n.length]=\"</Types>\",n[1]=n[1].replace(\"/>\",\">\")),n.join(\"\")}function Ge(e){var t=e.lastIndexOf(\"/\");return e.substr(0,t+1)+\"_rels/\"+e.substr(t+1)+\".rels\"}function je(e,t){if(!e)return e;\"/\"!==t.charAt(0)&&(t=\"/\"+t);var r={},n={};return(e.match(Wo)||[]).forEach(function(e){var a=O(e);if(\"<Relationship\"===a[0]){var i={};i.Type=a.Type,i.Target=a.Target,i.Id=a.Id,i.TargetMode=a.TargetMode;var s=\"External\"===a.TargetMode?a.Target:I(a.Target,t);r[s]=i,n[a.Id]=i}}),r[\"!id\"]=n,r}function Ye(e){var t=[sl,cc];return u(e[\"!id\"]).forEach(function(r){t[t.length]=z(\"Relationship\",null,e[\"!id\"][r])}),t.length>2&&(t[t.length]=\"</Relationships>\",t[1]=t[1].replace(\"/>\",\">\")),t.join(\"\")}function Ke(e,t,r,n,a){if(a||(a={}),e[\"!id\"]||(e[\"!id\"]={}),t<0)for(t=1;e[\"!id\"][\"rId\"+t];++t);if(a.Id=\"rId\"+t,a.Type=n,a.Target=r,a.Type==lc.HLINK&&(a.TargetMode=\"External\"),e[\"!id\"][a.Id])throw new Error(\"Cannot rewrite rId \"+t);return e[\"!id\"][a.Id]=a,e[(\"/\"+a.Target).replace(\"//\",\"/\")]=a,t}function $e(e,t){for(var r,n,a=us(e);r=Wm.exec(a);)switch(r[3]){case\"manifest\":break;case\"file-entry\":if(\"/\"==(n=O(r[0],!1)).path&&n.type!==fc)throw new Error(\"This OpenDocument is not a spreadsheet\");break;case\"encryption-data\":case\"algorithm\":case\"start-key-generation\":case\"key-derivation\":throw new Error(\"Unsupported ODS Encryption\");default:if(t&&t.WTF)throw r}}function Ze(e,t){var r=[sl];r.push('<manifest:manifest xmlns:manifest=\"urn:oasis:names:tc:opendocument:xmlns:manifest:1.0\" manifest:version=\"1.2\">\\n'),r.push('  <manifest:file-entry manifest:full-path=\"/\" manifest:version=\"1.2\" manifest:media-type=\"application/vnd.oasis.opendocument.spreadsheet\"/>\\n');for(var n=0;n<e.length;++n)r.push('  <manifest:file-entry manifest:full-path=\"'+e[n][0]+'\" manifest:media-type=\"'+e[n][1]+'\"/>\\n');return r.push(\"</manifest:manifest>\"),r.join(\"\")}function Qe(e,t,r){return['  <rdf:Description rdf:about=\"'+e+'\">\\n','    <rdf:type rdf:resource=\"http://docs.oasis-open.org/ns/office/1.2/meta/'+(r||\"odf\")+\"#\"+t+'\"/>\\n',\"  </rdf:Description>\\n\"].join(\"\")}function qe(e,t){return['  <rdf:Description rdf:about=\"'+e+'\">\\n','    <ns0:hasPart xmlns:ns0=\"http://docs.oasis-open.org/ns/office/1.2/meta/pkg#\" rdf:resource=\"'+t+'\"/>\\n',\"  </rdf:Description>\\n\"].join(\"\")}function Je(e,t){var r=[sl];r.push('<rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\\n');for(var n=0;n!=e.length;++n)r.push(Qe(e[n][0],e[n][1])),r.push(qe(\"\",e[n][0]));return r.push(Qe(\"\",\"Document\",\"pkg\")),r.push(\"</rdf:RDF>\"),r.join(\"\")}function et(e){for(var t={},r=0;r<uc.length;++r){var n=uc[r],a=e.match(dc[r]);null!=a&&a.length>0&&(t[n[1]]=a[1]),\"date\"===n[2]&&t[n[1]]&&(t[n[1]]=v(t[n[1]]))}return t}function tt(e,t,r,n,a){null==a[e]&&null!=t&&\"\"!==t&&(a[e]=t,n[n.length]=r?z(e,t,r):U(e,t))}function rt(e,t){var r=t||{},n=[sl,pc],a={};if(!e&&!r.Props)return n.join(\"\");e&&(null!=e.CreatedDate&&tt(\"dcterms:created\",\"string\"==typeof e.CreatedDate?e.CreatedDate:H(e.CreatedDate,r.WTF),{\"xsi:type\":\"dcterms:W3CDTF\"},n,a),null!=e.ModifiedDate&&tt(\"dcterms:modified\",\"string\"==typeof e.ModifiedDate?e.ModifiedDate:H(e.ModifiedDate,r.WTF),{\"xsi:type\":\"dcterms:W3CDTF\"},n,a));for(var i=0;i!=uc.length;++i){var s=uc[i],o=r.Props&&null!=r.Props[s[1]]?r.Props[s[1]]:e?e[s[1]]:null;!0===o?o=\"1\":!1===o?o=\"0\":\"number\"==typeof o&&(o=String(o)),null!=o&&tt(s[0],o,null,n,a)}return n.length>2&&(n[n.length]=\"</cp:coreProperties>\",n[1]=n[1].replace(\"/>\",\">\")),n.join(\"\")}function nt(e,t){var r={};if(t||(t={}),gc.forEach(function(n){switch(n[2]){case\"string\":t[n[1]]=(e.match(tl(n[0]))||[])[1];break;case\"bool\":t[n[1]]=\"true\"===(e.match(tl(n[0]))||[])[1];break;case\"raw\":var a=e.match(new RegExp(\"<\"+n[0]+\"[^>]*>(.*)</\"+n[0]+\">\"));a&&a.length>0&&(r[n[1]]=a[1])}}),r.HeadingPairs&&r.TitlesOfParts)for(var n=M(r.HeadingPairs),a=M(r.TitlesOfParts).map(function(e){return e.v}),i=0,s=0,o=0;o!==n.length;o+=2){switch(s=+n[o+1].v,n[o].v){case\"Worksheets\":case\"工作表\":case\"Листы\":case\"ワークシート\":case\"גליונות עבודה\":case\"Arbeitsblätter\":case\"Çalışma Sayfaları\":case\"Feuilles de calcul\":case\"Fogli di lavoro\":case\"Folhas de cálculo\":case\"Planilhas\":case\"Werkbladen\":t.Worksheets=s,t.SheetNames=a.slice(i,i+s);break;case\"Named Ranges\":case\"Benannte Bereiche\":t.NamedRanges=s,t.DefinedNames=a.slice(i,i+s);break;case\"Charts\":case\"Diagramme\":t.Chartsheets=s,t.ChartNames=a.slice(i,i+s)}i+=s}return t}function at(e,t){var r=[],n=z;return e||(e={}),e.Application=\"SheetJS\",r[r.length]=sl,r[r.length]=mc,gc.forEach(function(t){if(void 0!==e[t[1]]){var a;switch(t[2]){case\"string\":a=String(e[t[1]]);break;case\"bool\":a=e[t[1]]?\"true\":\"false\"}void 0!==a&&(r[r.length]=n(t[0],a))}}),r[r.length]=n(\"HeadingPairs\",n(\"vt:vector\",n(\"vt:variant\",\"<vt:lpstr>Worksheets</vt:lpstr>\")+n(\"vt:variant\",n(\"vt:i4\",String(e.Worksheets))),{size:2,baseType:\"variant\"})),r[r.length]=n(\"TitlesOfParts\",n(\"vt:vector\",e.SheetNames.map(function(e){return\"<vt:lpstr>\"+P(e)+\"</vt:lpstr>\"}).join(\"\"),{size:e.Worksheets,baseType:\"lpstr\"})),r.length>2&&(r[r.length]=\"</Properties>\",r[1]=r[1].replace(\"/>\",\">\")),r.join(\"\")}function it(e,t){var r={},n=\"\",a=e.match(bc);if(a)for(var i=0;i!=a.length;++i){var s=a[i],o=O(s);switch(o[0]){case\"<?xml\":case\"<Properties\":break;case\"<property\":n=o.name;break;case\"</property>\":n=null;break;default:if(0===s.indexOf(\"<vt:\")){var l=s.split(\">\"),c=l[0].substring(4),f=l[1];switch(c){case\"lpstr\":case\"bstr\":case\"lpwstr\":r[n]=Go(f);break;case\"bool\":r[n]=L(f,\"<vt:bool>\");break;case\"i1\":case\"i2\":case\"i4\":case\"i8\":case\"int\":case\"uint\":r[n]=parseInt(f,10);break;case\"r4\":case\"r8\":case\"decimal\":r[n]=parseFloat(f);break;case\"filetime\":case\"date\":r[n]=v(f);break;case\"cy\":case\"error\":r[n]=Go(f);break;default:t.WTF}}else if(\"</\"===s.substr(0,2));else if(t.WTF)throw new Error(s)}}return r}function st(e,t){var r=[sl,vc];if(!e)return r.join(\"\");var n=1;return u(e).forEach(function(t){++n,r[r.length]=z(\"property\",V(e[t]),{fmtid:\"{D5CDD505-2E9C-101B-9397-08002B2CF9AE}\",pid:n,name:t})}),r.length>2&&(r[r.length]=\"</Properties>\",r[1]=r[1].replace(\"/>\",\">\")),r.join(\"\")}function ot(e,t,r){e[t=Cc[t]||t]=r}function lt(e,t){var r=[];return u(Ec).map(function(e){for(var t=0;t<uc.length;++t)if(uc[t][1]==e)return uc[t];for(t=0;t<gc.length;++t)if(gc[t][1]==e)return gc[t];throw e}).forEach(function(n){if(null!=e[n[1]]){var a=t&&t.Props&&null!=t.Props[n[1]]?t.Props[n[1]]:e[n[1]];switch(n[2]){case\"date\":a=new Date(a).toISOString().replace(/\\.\\d*Z/,\"Z\")}\"number\"==typeof a?a=String(a):!0===a||!1===a?a=a?\"1\":\"0\":a instanceof Date&&(a=new Date(a).toISOString().replace(/\\.\\d*Z/,\"\")),r.push(U(Ec[n[1]]||n[1],a))}}),z(\"DocumentProperties\",r.join(\"\"),{xmlns:fl.o})}function ct(e,t,r){var n=[\"Worksheets\",\"SheetNames\"],a=\"CustomDocumentProperties\",i=[];return e&&u(e).forEach(function(t){if(e.hasOwnProperty(t)){for(var r=0;r<uc.length;++r)if(t==uc[r][1])return;for(r=0;r<gc.length;++r)if(t==gc[r][1])return;for(r=0;r<n.length;++r)if(t==n[r])return;var a=e[t],s=\"string\";\"number\"==typeof a?(s=\"float\",a=String(a)):!0===a||!1===a?(s=\"boolean\",a=a?\"1\":\"0\"):a=String(a),i.push(z(F(t),a,{\"dt:dt\":s}))}}),t&&u(t).forEach(function(e){if(t.hasOwnProperty(e)){var r=t[e],n=\"string\";\"number\"==typeof r?(n=\"float\",r=String(r)):!0===r||!1===r?(n=\"boolean\",r=r?\"1\":\"0\"):r instanceof Date?(n=\"dateTime.tz\",r=r.toISOString()):r=String(r),i.push(z(F(e),r,{\"dt:dt\":n}))}}),\"<\"+a+' xmlns=\"'+fl.o+'\">'+i.join(\"\")+\"</\"+a+\">\"}function ft(e){var t=e.read_shift(4),r=e.read_shift(4);return new Date(1e3*(r/1e7*Math.pow(2,32)+t/1e7-11644473600)).toISOString().replace(/\\.000/,\"\")}function ht(e,t,r){var n=e.read_shift(0,\"lpstr\");return r&&(e.l+=4-(n.length+1&3)&3),n}function ut(e,t,r){var n=e.read_shift(0,\"lpwstr\");return r&&(e.l+=4-(n.length+1&3)&3),n}function dt(e,t,r){return 31===t?ut(e):ht(e,t,r)}function pt(e,t,r){return dt(e,t,!1===r?0:4)}function gt(e,t){if(!t)throw new Error(\"dafuq?\");return dt(e,t,0)}function mt(e){for(var t=e.read_shift(4),r=[],n=0;n!=t;++n)r[n]=e.read_shift(0,\"lpstr\");return r}function bt(e){return mt(e)}function vt(e){return[Bt(e,$l),Bt(e,Yl)]}function Et(e){for(var t=e.read_shift(4),r=[],n=0;n!=t/2;++n)r.push(vt(e));return r}function Ct(e){return Et(e)}function wt(e,t){for(var r=e.read_shift(4),n={},a=0;a!=r;++a){var i=e.read_shift(4),s=e.read_shift(4);n[i]=e.read_shift(s,1200===t?\"utf16le\":\"utf8\").replace(To,\"\").replace(yo,\"!\")}return 3&e.l&&(e.l=e.l>>3<<2),n}function St(e){var t=e.read_shift(4),r=e.slice(e.l,e.l+t);return(3&t)>0&&(e.l+=4-(3&t)&3),r}function At(e){var t={};return t.Size=e.read_shift(4),e.l+=t.Size,t}function Bt(e,t,r){var n,a=e.read_shift(2),i=r||{};if(e.l+=2,t!==Kl&&a!==t&&-1===Zl.indexOf(t))throw new Error(\"Expected type \"+t+\" saw \"+a);switch(t===Kl?a:t){case 2:return n=e.read_shift(2,\"i\"),i.raw||(e.l+=2),n;case 3:return n=e.read_shift(4,\"i\");case 11:return 0!==e.read_shift(4);case 19:return n=e.read_shift(4);case 30:return ht(e,a,4).replace(To,\"\");case 31:return ut(e);case 64:return ft(e);case 65:return St(e);case 71:return At(e);case 80:return pt(e,a,!i.raw&&4).replace(To,\"\");case 81:return gt(e,a,4).replace(To,\"\");case 4108:return Ct(e);case 4126:return bt(e);default:throw new Error(\"TypedPropertyValue unrecognized type \"+t+\" \"+a)}}function _t(e,t){var r=e.l,n=e.read_shift(4),a=e.read_shift(4),i=[],s=0,o=0,l=-1,c={};for(s=0;s!=a;++s){var f=e.read_shift(4),h=e.read_shift(4);i[s]=[f,h+r]}var u={};for(s=0;s!=a;++s){if(e.l!==i[s][1]){var d=!0;if(s>0&&t)switch(t[i[s-1][0]].t){case 2:e.l+2===i[s][1]&&(e.l+=2,d=!1);break;case 80:case 4108:e.l<=i[s][1]&&(e.l=i[s][1],d=!1)}if(!t&&e.l<=i[s][1]&&(d=!1,e.l=i[s][1]),d)throw new Error(\"Read Error: Expected address \"+i[s][1]+\" at \"+e.l+\" :\"+s)}if(t){var p=t[i[s][0]];if(u[p.n]=Bt(e,p.t,{raw:!0}),\"version\"===p.p&&(u[p.n]=String(u[p.n]>>16)+\".\"+String(65535&u[p.n])),\"CodePage\"==p.n)switch(u[p.n]){case 0:u[p.n]=1252;case 874:case 932:case 936:case 949:case 950:case 1250:case 1251:case 1253:case 1254:case 1255:case 1256:case 1257:case 1258:case 1e4:case 1200:case 1201:case 1252:case 65e3:case-536:case 65001:case-535:Eo(o=u[p.n]);break;default:throw new Error(\"Unsupported CodePage: \"+u[p.n])}}else if(1===i[s][0]){if(o=u.CodePage=Bt(e,jl),Eo(o),-1!==l){var g=e.l;e.l=i[l][1],c=wt(e,o),e.l=g}}else if(0===i[s][0]){if(0===o){l=s,e.l=i[s+1][1];continue}c=wt(e,o)}else{var m,b=c[i[s][0]];switch(e[e.l]){case 65:e.l+=4,m=St(e);break;case 30:case 31:e.l+=4,m=pt(e,e[e.l-4]);break;case 3:e.l+=4,m=e.read_shift(4,\"i\");break;case 19:e.l+=4,m=e.read_shift(4);break;case 5:e.l+=4,m=e.read_shift(8,\"f\");break;case 11:e.l+=4,m=xt(e,4);break;case 64:e.l+=4,m=v(ft(e));break;default:throw new Error(\"unparsed value: \"+e[e.l])}u[b]=m}}return e.l=r+n,u}function Tt(e,t){var r=e.content;$(r,0);var n,a,i,s,o=0;r.chk(\"feff\",\"Byte Order: \");r.read_shift(2);var l=r.read_shift(4);if(r.chk(Oo.utils.consts.HEADER_CLSID,\"CLSID: \"),1!==(n=r.read_shift(4))&&2!==n)throw new Error(\"Unrecognized #Sets: \"+n);if(a=r.read_shift(16),s=r.read_shift(4),1===n&&s!==r.l)throw new Error(\"Length mismatch: \"+s+\" !== \"+r.l);2===n&&(i=r.read_shift(16),o=r.read_shift(4));var c=_t(r,t),f={SystemIdentifier:l};for(var h in c)f[h]=c[h];if(f.FMTID=a,1===n)return f;if(r.l!==o)throw new Error(\"Length mismatch 2: \"+r.l+\" !== \"+o);var u;try{u=_t(r,null)}catch(e){}for(h in u)f[h]=u[h];return f.FMTID=[a,i],f}function yt(e,t){return e.read_shift(t),null}function kt(e,t,r){for(var n=[],a=e.l+t;e.l<a;)n.push(r(e,a-e.l));if(a!==e.l)throw new Error(\"Slurp error\");return n}function xt(e,t){return 1===e.read_shift(t)}function Rt(e){return e.read_shift(2,\"u\")}function It(e,t){return kt(e,t,Rt)}function Ot(e){var t=e.read_shift(1);return 1===e.read_shift(1)?t:1===t}function Dt(e,t,r){var n=e.read_shift(r&&r.biff>=12?2:1),a=\"sbcs-cont\",i=vo;r&&r.biff>=8&&(vo=1200),r&&8!=r.biff?12==r.biff&&(2,a=\"wstr\"):e.read_shift(1)&&(2,a=\"dbcs-cont\");var s=n?e.read_shift(n,a):\"\";return vo=i,s}function Pt(e){var t=vo;vo=1200;var r,n=e.read_shift(2),a=e.read_shift(1),i=4&a,s=8&a,o=0,l={};s&&(o=e.read_shift(2)),i&&(r=e.read_shift(4));var c=1&a?\"dbcs-cont\":\"sbcs-cont\",f=0===n?\"\":e.read_shift(n,c);return s&&(e.l+=4*o),i&&(e.l+=r),l.t=f,s||(l.raw=\"<t>\"+l.t+\"</t>\",l.r=l.t),vo=t,l}function Ft(e,t,r){if(r){if(r.biff>=2&&r.biff<=5)return e.read_shift(t,\"sbcs-cont\");if(r.biff>=12)return e.read_shift(t,\"dbcs-cont\")}return 0===e.read_shift(1)?e.read_shift(t,\"sbcs-cont\"):e.read_shift(t,\"dbcs-cont\")}function Nt(e,t,r){var n=e.read_shift(r&&2==r.biff?1:2);return 0===n?(e.l++,\"\"):Ft(e,n,r)}function Lt(e,t,r){if(r.biff>5)return Nt(e,t,r);var n=e.read_shift(1);return 0===n?(e.l++,\"\"):e.read_shift(n,\"sbcs-cont\")}function Mt(e,t){return[e.read_shift(1),e.read_shift(1),e.read_shift(1),e.read_shift(1)]}function Ut(e,t){var r=Mt(e,t);return r[3]=0,r}function Wt(e,t){return{r:e.read_shift(2),c:e.read_shift(2),ixfe:e.read_shift(2)}}function zt(e){var t=e.read_shift(2),r=e.read_shift(2);return e.l+=8,{type:t,flags:r}}function Ht(e,t){return[e.read_shift(2),e.read_shift(2,\"i\"),e.read_shift(2,\"i\")]}function Vt(e,t){return[e.read_shift(2),Pe(e)]}function Xt(e,t,r){e.l+=4,t-=4;var n=e.l+t,a=Dt(e,t,r),i=e.read_shift(2);if(n-=e.l,i!==n)throw new Error(\"Malformed AddinUdf: padding = \"+n+\" != \"+i);return e.l+=i,a}function Gt(e,t){var r=e.read_shift(2),n=e.read_shift(2);return{s:{c:e.read_shift(2),r:r},e:{c:e.read_shift(2),r:n}}}function jt(e,t){var r=e.read_shift(2),n=e.read_shift(2);return{s:{c:e.read_shift(1),r:r},e:{c:e.read_shift(1),r:n}}}function Yt(e,t){e.l+=4;var r=e.read_shift(2),n=e.read_shift(2),a=e.read_shift(2);return e.l+=12,[n,r,a]}function Kt(e,t){e.l+=2,e.l+=e.read_shift(2)}function $t(e,t,r){for(var n=e.l+t,a=[];e.l<n;){var i=e.read_shift(2);e.l-=2;try{a.push(xc[i](e,n-e.l))}catch(t){return e.l=n,a}}return e.l!=n&&(e.l=n),a}function Zt(e,t){var r={BIFFVer:0,dt:0};switch(r.BIFFVer=e.read_shift(2),(t-=2)>=2&&(r.dt=e.read_shift(2),e.l-=2),r.BIFFVer){case 1536:case 1280:case 2:case 7:break;default:if(t>6)throw new Error(\"Unexpected BIFF Ver \"+r.BIFFVer)}return e.read_shift(t),r}function Qt(e,t,r){var n=0;r&&2==r.biff||(n=e.read_shift(2));var a=e.read_shift(2);return r&&2==r.biff&&(n=1-(a>>15),a&=32767),[{Unsynced:1&n,DyZero:(2&n)>>1,ExAsc:(4&n)>>2,ExDsc:(8&n)>>3},a]}function qt(e,t,r){var n=e.l+t,a=8!=r.biff&&r.biff?2:4,i=e.read_shift(a),s=e.read_shift(a),o=e.read_shift(2),l=e.read_shift(2);return e.l=n,{s:{r:i,c:o},e:{r:s,c:l}}}function Jt(e,t,r,n){var a={},i=e.read_shift(4),s=e.read_shift(4),o=e.read_shift(4),l=e.read_shift(2);return a.patternType=tc[o>>26],n.cellStyles?(a.alc=7&i,a.fWrap=i>>3&1,a.alcV=i>>4&7,a.fJustLast=i>>7&1,a.trot=i>>8&255,a.cIndent=i>>16&15,a.fShrinkToFit=i>>20&1,a.iReadOrder=i>>22&2,a.fAtrNum=i>>26&1,a.fAtrFnt=i>>27&1,a.fAtrAlc=i>>28&1,a.fAtrBdr=i>>29&1,a.fAtrPat=i>>30&1,a.fAtrProt=i>>31&1,a.dgLeft=15&s,a.dgRight=s>>4&15,a.dgTop=s>>8&15,a.dgBottom=s>>12&15,a.icvLeft=s>>16&127,a.icvRight=s>>23&127,a.grbitDiag=s>>30&3,a.icvTop=127&o,a.icvBottom=o>>7&127,a.icvDiag=o>>14&127,a.dgDiag=o>>21&15,a.icvFore=127&l,a.icvBack=l>>7&127,a.fsxButton=l>>14&1,a):a}function er(e,t,r){var n=Wt(e,6);2==r.biff&&++e.l;var a=Ot(e,2);return n.val=a,n.t=!0===a||!1===a?\"b\":\"e\",n}function tr(e,t,r){var n,a=e.read_shift(2),i={fBuiltIn:1&a,fWantAdvise:a>>>1&1,fWantPict:a>>>2&1,fOle:a>>>3&1,fOleLink:a>>>4&1,cf:a>>>5&1023,fIcon:a>>>15&1};return 14849===r.sbcch&&(n=Xt(e,t-2,r)),i.body=n||e.read_shift(t-2),\"string\"==typeof n&&(i.Name=n),i}function rr(e,t,r){var n=e.l+t,a=e.read_shift(2),i=e.read_shift(1),s=e.read_shift(1),o=e.read_shift(r&&2==r.biff?1:2),l=0;(!r||r.biff>=5)&&(e.l+=2,l=e.read_shift(2),e.l+=4);var c=Ft(e,s,r);32&a&&(c=Pc[c.charCodeAt(0)]);var f=n-e.l;return r&&2==r.biff&&--f,{chKey:i,Name:c,itab:l,rgce:n==e.l||0==o?[]:Ea(e,f,r,o)}}function nr(e,t,r){var n=kc(e,6);switch(r.biff){case 2:e.l++,t-=7;break;case 3:case 4:e.l+=2,t-=8;break;default:e.l+=6,t-=12}return[n,Sa(e,t,r,n)]}function ar(e,t,r){if(!(r.biff<8)){var n=e.read_shift(2),a=e.read_shift(2),i=e.read_shift(2),s=e.read_shift(2),o=Lt(e,0,r);return r.biff<8&&e.read_shift(1),[{r:n,c:a},o,s,i]}}function ir(e,t,r){e.read_shift(4);var n=e.read_shift(2),a=e.read_shift(2),i=e.read_shift(2);e.read_shift(2),e.read_shift(2),e.read_shift(2),e.read_shift(2),e.read_shift(2),e.read_shift(2),e.read_shift(2),e.read_shift(2),e.read_shift(2);e.l+=6,t-=36;var s=[];return s.push((Fc[n]||Z)(e,t,r)),{cmo:[a,n,i],ft:s}}function sr(e,t,r){if(!r.cellStyles)return Z(e,t);var n=r&&r.biff>=12?4:2,a=e.read_shift(n),i=e.read_shift(n),s=e.read_shift(n),o=e.read_shift(n),l=e.read_shift(2);return 2==n&&(e.l+=2),{s:a,e:i,w:s,ixfe:o,flags:l}}function or(e,t){var r=t||{},n=!!r.WTF;r.WTF=!0;try{var a=vg.to_workbook(e,r);return r.WTF=n,a}catch(a){if(r.WTF=n,!a.message.match(/SYLK bad record ID/)&&n)throw a;return Cg.to_workbook(e,t)}}function lr(e,t){var r=!t||t.cellHTML,n={};if(!e)return null;return e.match(/^\\s*<(?:\\w+:)?t[^>]*>/)?(n.t=Qo(Go(e.substr(e.indexOf(\">\")+1).split(/<\\/(?:\\w+:)?t>/)[0])),n.r=Qo(e),r&&(n.h=N(n.t))):e.match(_g)&&(n.r=Qo(e),n.t=Qo(Go((e.replace(Tg,\"\").match(Bg)||[]).join(\"\").replace(Wo,\"\"))),r&&(n.h=Ag(n.r))),n}function cr(e,t){var r=[],n=\"\";if(!e)return r;var a=e.match(yg);if(h(a)){n=a[2].replace(kg,\"\").split(xg);for(var i=0;i!=n.length;++i){var s=lr(n[i].trim(),t);null!=s&&(r[r.length]=s)}a=O(a[1]),r.Count=a.count,r.Unique=a.uniqueCount}return r}function hr(e,t){if(!t.bookSST)return\"\";var r=[sl];r[r.length]=z(\"sst\",null,{xmlns:ol.main[0],count:e.Count,uniqueCount:e.Unique});for(var n=0;n!=e.length;++n)if(null!=e[n]){var a=e[n],i=\"<si>\";a.r?i+=a.r:(i+=\"<t\",a.t||(a.t=\"\"),a.t.match(Rg)&&(i+=' xml:space=\"preserve\"'),i+=\">\"+P(a.t)+\"</t>\"),i+=\"</si>\",r[r.length]=i}return r.length>2&&(r[r.length]=\"</sst>\",r[1]=r[1].replace(\"/>\",\">\")),r.join(\"\")}function dr(e,t){var r=[],n=!1;return q(e,function(e,a,i){switch(i){case 159:r.Count=e[0],r.Unique=e[1];break;case 19:r.push(e);break;case 160:return!0;case 35:n=!0;break;case 36:n=!1;break;default:if(a.indexOf(\"Begin\")>0||a.indexOf(\"End\"),!n||t.WTF)throw new Error(\"Unexpected record \"+i+\" \"+a)}}),r}function pr(e,t){return t||(t=Q(8)),t.write_shift(4,e.Count),t.write_shift(4,e.Unique),t}function mr(e,t){var r=J();ee(r,\"BrtBeginSst\",pr(e));for(var n=0;n<e.length;++n)ee(r,\"BrtSSTItem\",Ig(e[n]));return ee(r,\"BrtEndSst\"),r.end()}function br(e){if(\"undefined\"!=typeof cptable)return cptable.utils.encode(1252,e);for(var t=[],r=e.split(\"\"),n=0;n<r.length;++n)t[n]=r[n].charCodeAt(0);return t}function vr(e,t){var r={};return r.Major=e.read_shift(2),r.Minor=e.read_shift(2),t>=4&&(e.l+=t-4),r}function Er(e,t){var r={};return r.id=e.read_shift(0,\"lpp4\"),r.R=vr(e,4),r.U=vr(e,4),r.W=vr(e,4),r}function Cr(e){for(var t=e.read_shift(4),r=(e.l,{}),n=e.read_shift(4),a=[];n-- >0;){var i={};i.t=e.read_shift(4),i.v=e.read_shift(0,\"lpp4\"),a.push(i)}return r.name=e.read_shift(0,\"lpp4\"),r.comps=a,r}function wr(e,t){var r=[];e.l+=4;for(var n=e.read_shift(4);n-- >0;)r.push(Cr(e));return r}function Sr(e,t){var r=[];e.l+=4;for(var n=e.read_shift(4);n-- >0;)r.push(e.read_shift(0,\"lpp4\"));return r}function Ar(e,t){var r={},n=e.read_shift(4);e.l;return e.l+=4,r.id=e.read_shift(0,\"lpp4\"),r.name=e.read_shift(0,\"lpp4\"),r.R=vr(e,4),r.U=vr(e,4),r.W=vr(e,4),r}function Br(e,t){var r=Ar(e);if(r.ename=e.read_shift(0,\"8lpp4\"),r.blksz=e.read_shift(4),r.cmode=e.read_shift(4),4!=e.read_shift(4))throw new Error(\"Bad !Primary record\");return r}function _r(e,t){var r=e.l+t,n={};n.Flags=63&e.read_shift(4),e.l+=4,n.AlgID=e.read_shift(4);var a=!1;switch(n.AlgID){case 26126:case 26127:case 26128:a=36==n.Flags;break;case 26625:a=4==n.Flags;break;case 0:a=16==n.Flags||4==n.Flags||36==n.Flags;break;default:throw\"Unrecognized encryption algorithm: \"+n.AlgID}if(!a)throw new Error(\"Encryption Flags/AlgID mismatch\");return n.AlgIDHash=e.read_shift(4),n.KeySize=e.read_shift(4),n.ProviderType=e.read_shift(4),e.l+=8,n.CSPName=e.read_shift(r-e.l>>1,\"utf16le\").slice(0,-1),e.l=r,n}function Tr(e,t){var r={};e.l+=4,r.Salt=e.slice(e.l,e.l+16),e.l+=16,r.Verifier=e.slice(e.l,e.l+16),e.l+=16;var n=e.read_shift(4);return r.VerifierHash=e.slice(e.l,e.l+n),e.l+=n,r}function yr(e,t){var r=vr(e);switch(r.Minor){case 2:return kr(e,r);case 3:return xr(e,r);case 4:return Rr(e,r)}throw new Error(\"ECMA-376 Encryped file unrecognized Version: \"+r.Minor)}function kr(e,t){if(36!=(63&e.read_shift(4)))throw new Error(\"EncryptionInfo mismatch\");var r=e.read_shift(4);e.l;return{t:\"Std\",h:_r(e,r),v:Tr(e,e.length-e.l)}}function xr(e,t){throw new Error(\"File is password-protected: ECMA-376 Extensible\")}function Rr(e,t){throw new Error(\"File is password-protected: ECMA-376 Agile\")}function Ir(e,t){var r={},n=r.EncryptionVersionInfo=vr(e,4);if(t-=4,2!=n.Minor)throw\"unrecognized minor version code: \"+n.Minor;if(n.Major>4||n.Major<2)throw\"unrecognized major version code: \"+n.Major;r.Flags=e.read_shift(4),t-=4;var a=e.read_shift(4);return t-=4,r.EncryptionHeader=_r(e,a),t-=a,r.EncryptionVerifier=Tr(e,t),r}function Or(e,t){var r={},n=r.EncryptionVersionInfo=vr(e,4);if(t-=4,1!=n.Major||1!=n.Minor)throw\"unrecognized version code \"+n.Major+\" : \"+n.Minor;return r.Salt=e.read_shift(16),r.EncryptedVerifier=e.read_shift(16),r.EncryptedVerifierHash=e.read_shift(16),r}function Dr(e){var t,r,n,a=0,i=br(e),s=i.length+1;for((t=o(s))[0]=i.length,r=1;r!=s;++r)t[r]=i[r-1];for(r=s-1;r>=0;--r)n=t[r],a=((0==(16384&a)?0:1)|a<<1&32767)^n;return 52811^a}function Pr(e,t,r,n){var a={key:Rt(e),verificationBytes:Rt(e)};return r.password&&(a.verifier=Dr(r.password)),n.valid=a.verificationBytes===a.verifier,n.valid&&(n.insitu_decrypt=Pg(r.password)),a}function Fr(e,t,r){var n=r||{};return n.Info=e.read_shift(2),e.l-=2,1===n.Info?n.Data=Or(e,t):n.Data=Ir(e,t),n}function Nr(e){var t=e.substr(\"#\"===e[0]?1:0,6);return[parseInt(t.substr(0,2),16),parseInt(t.substr(2,2),16),parseInt(t.substr(4,2),16)]}function Lr(e){for(var t=0,r=1;3!=t;++t)r=256*r+(e[t]>255?255:e[t]<0?0:e[t]);return r.toString(16).toUpperCase().substr(1)}function Mr(e){var t=e[0]/255,r=e[1]/255,n=e[2]/255,a=Math.max(t,r,n),i=Math.min(t,r,n),s=a-i;if(0===s)return[0,0,t];var o=0,l=0,c=a+i;switch(l=s/(c>1?2-c:c),a){case t:o=((r-n)/s+6)%6;break;case r:o=(n-t)/s+2;break;case n:o=(t-r)/s+4}return[o/6,l,c/2]}function Ur(e){var t,r=e[0],n=e[1],a=e[2],i=2*n*(a<.5?a:1-a),s=a-i/2,o=[s,s,s],l=6*r;if(0!==n)switch(0|l){case 0:case 6:t=i*l,o[0]+=i,o[1]+=t;break;case 1:t=i*(2-l),o[0]+=t,o[1]+=i;break;case 2:t=i*(l-2),o[1]+=i,o[2]+=t;break;case 3:t=i*(4-l),o[1]+=t,o[2]+=i;break;case 4:t=i*(l-4),o[2]+=i,o[0]+=t;break;case 5:t=i*(6-l),o[2]+=t,o[0]+=i}for(var c=0;3!=c;++c)o[c]=Math.round(255*o[c]);return o}function Wr(e,t){if(0===t)return e;var r=Mr(Nr(e));return r[2]=t<0?r[2]*(1+t):1-(1-r[2])*(1-t),Lr(Ur(r))}function zr(e){return Math.floor((e+Math.round(128/Mg)/256)*Mg)}function Hr(e){return Math.floor((e-5)/Mg*100+.5)/100}function Vr(e){return Math.round((e*Mg+5)/Mg*256)/256}function Xr(e){return Vr(Hr(zr(e)))}function Gr(e){var t=Math.abs(e-Xr(e)),r=Mg;if(t>.005)for(Mg=Lg;Mg<Ng;++Mg)Math.abs(e-Xr(e))<=t&&(t=Math.abs(e-Xr(e)),r=Mg);Mg=r}function jr(e){e.width?(e.wpx=zr(e.width),e.wch=Hr(e.wpx),e.MDW=Mg):e.wpx?(e.wch=Hr(e.wpx),e.width=Vr(e.wch),e.MDW=Mg):\"number\"==typeof e.wch&&(e.width=Vr(e.wch),e.wpx=zr(e.width),e.MDW=Mg),e.customWidth&&delete e.customWidth}function Yr(e){return 96*e/Ug}function Kr(e){return e*Ug/96}function $r(e,t,r,n){t.Borders=[];var a={};e[0].match(Wo).forEach(function(e){var r=O(e);switch(r[0]){case\"<borders\":case\"<borders>\":case\"</borders>\":break;case\"<border\":case\"<border>\":a={},r.diagonalUp&&(a.diagonalUp=r.diagonalUp),r.diagonalDown&&(a.diagonalDown=r.diagonalDown),t.Borders.push(a);break;case\"</border>\":break;case\"<left\":case\"<left/>\":case\"</left>\":break;case\"<right\":case\"<right/>\":case\"</right>\":break;case\"<top\":case\"<top/>\":case\"</top>\":break;case\"<bottom\":case\"<bottom/>\":case\"</bottom>\":break;case\"<diagonal\":case\"<diagonal/>\":case\"</diagonal>\":break;case\"<horizontal\":case\"<horizontal/>\":case\"</horizontal>\":break;case\"<vertical\":case\"<vertical/>\":case\"</vertical>\":break;case\"<start\":case\"<start/>\":case\"</start>\":break;case\"<end\":case\"<end/>\":case\"</end>\":break;case\"<color\":case\"<color/>\":case\"</color>\":break;default:if(n&&n.WTF)throw new Error(\"unrecognized \"+r[0]+\" in borders\")}})}function Zr(e,t,r,n){t.Fills=[];var a={};e[0].match(Wo).forEach(function(e){var r=O(e);switch(r[0]){case\"<fills\":case\"<fills>\":case\"</fills>\":case\"<fill>\":break;case\"</fill>\":t.Fills.push(a),a={};break;case\"<gradientFill>\":break;case\"</gradientFill>\":t.Fills.push(a),a={};break;case\"<patternFill\":case\"<patternFill>\":r.patternType&&(a.patternType=r.patternType);break;case\"<patternFill/>\":case\"</patternFill>\":break;case\"<bgColor\":a.bgColor||(a.bgColor={}),r.indexed&&(a.bgColor.indexed=parseInt(r.indexed,10)),r.theme&&(a.bgColor.theme=parseInt(r.theme,10)),r.tint&&(a.bgColor.tint=parseFloat(r.tint)),r.rgb&&(a.bgColor.rgb=r.rgb.slice(-6));break;case\"<bgColor/>\":case\"</bgColor>\":break;case\"<fgColor\":a.fgColor||(a.fgColor={}),r.theme&&(a.fgColor.theme=parseInt(r.theme,10)),r.tint&&(a.fgColor.tint=parseFloat(r.tint)),r.rgb&&(a.fgColor.rgb=r.rgb.slice(-6));break;case\"<fgColor/>\":case\"</fgColor>\":break;case\"<stop\":case\"<stop/>\":case\"</stop>\":break;case\"<color\":case\"<color/>\":case\"</color>\":break;default:if(n&&n.WTF)throw new Error(\"unrecognized \"+r[0]+\" in fills\")}})}function Qr(e,t,r,n){t.Fonts=[];var a={};e[0].match(Wo).forEach(function(e){var i=O(e);switch(i[0]){case\"<fonts\":case\"<fonts>\":case\"</fonts>\":break;case\"<font\":case\"<font>\":break;case\"</font>\":case\"<font/>\":t.Fonts.push(a),a={};break;case\"<name\":i.val&&(a.name=i.val);break;case\"<name/>\":case\"</name>\":break;case\"<b\":a.bold=i.val?L(i.val):1;break;case\"<b/>\":a.bold=1;break;case\"<i\":a.italic=i.val?L(i.val):1;break;case\"<i/>\":a.italic=1;break;case\"<u\":switch(i.val){case\"none\":a.underline=0;break;case\"single\":a.underline=1;break;case\"double\":a.underline=2;break;case\"singleAccounting\":a.underline=33;break;case\"doubleAccounting\":a.underline=34}break;case\"<u/>\":a.underline=1;break;case\"<strike\":a.strike=i.val?L(i.val):1;break;case\"<strike/>\":a.strike=1;break;case\"<outline\":a.outline=i.val?L(i.val):1;break;case\"<outline/>\":a.outline=1;break;case\"<shadow\":a.shadow=i.val?L(i.val):1;break;case\"<shadow/>\":a.shadow=1;break;case\"<condense\":a.condense=i.val?L(i.val):1;break;case\"<condense/>\":a.condense=1;break;case\"<extend\":a.extend=i.val?L(i.val):1;break;case\"<extend/>\":a.extend=1;break;case\"<sz\":i.val&&(a.sz=+i.val);break;case\"<sz/>\":case\"</sz>\":break;case\"<vertAlign\":i.val&&(a.vertAlign=i.val);break;case\"<vertAlign/>\":case\"</vertAlign>\":break;case\"<family\":i.val&&(a.family=parseInt(i.val,10));break;case\"<family/>\":case\"</family>\":break;case\"<scheme\":i.val&&(a.scheme=i.val);break;case\"<scheme/>\":case\"</scheme>\":break;case\"<charset\":if(\"1\"==i.val)break;i.codepage=Sg[parseInt(i.val,10)];break;case\"<color\":if(a.color||(a.color={}),i.auto&&(a.color.auto=L(i.auto)),i.rgb)a.color.rgb=i.rgb;else if(i.indexed){a.color.index=parseInt(i.indexed,10);var s=rc[a.color.index];if(81==a.color.index&&(s=rc[1]),!s)throw new Error(e);a.color.rgb=s[0].toString(16)+s[1].toString(16)+s[2].toString(16)}else i.theme&&(a.color.theme=parseInt(i.theme,10),i.tint&&(a.color.tint=parseFloat(i.tint)),i.theme&&r.themeElements&&r.themeElements.clrScheme&&(a.color.rgb=Wr(r.themeElements.clrScheme[a.color.theme].rgb,a.color.tint||0)));break;case\"<color/>\":case\"</color>\":break;default:if(n&&n.WTF)throw new Error(\"unrecognized \"+i[0]+\" in fonts\")}})}function qr(e,t,r){t.NumberFmt=[];for(var n=u(ko._table),a=0;a<n.length;++a)t.NumberFmt[n[a]]=ko._table[n[a]];var i=e[0].match(Wo);if(i)for(a=0;a<i.length;++a){var s=O(i[a]);switch(s[0]){case\"<numFmts\":case\"</numFmts>\":case\"<numFmts/>\":case\"<numFmts>\":break;case\"<numFmt\":var o=Go(Qo(s.formatCode)),l=parseInt(s.numFmtId,10);t.NumberFmt[l]=o,l>0&&ko.load(o,l);break;case\"</numFmt>\":break;default:if(r.WTF)throw new Error(\"unrecognized \"+s[0]+\" in numFmts\")}}}function Jr(e,t){var r=[\"<numFmts>\"];return[[5,8],[23,26],[41,44],[50,392]].forEach(function(t){for(var n=t[0];n<=t[1];++n)null!=e[n]&&(r[r.length]=z(\"numFmt\",null,{numFmtId:n,formatCode:P(e[n])}))}),1===r.length?\"\":(r[r.length]=\"</numFmts>\",r[0]=z(\"numFmts\",null,{count:r.length-2}).replace(\"/>\",\">\"),r.join(\"\"))}function en(e,t,r){t.CellXf=[];var n;e[0].match(Wo).forEach(function(e){var a=O(e),i=0;switch(a[0]){case\"<cellXfs\":case\"<cellXfs>\":case\"<cellXfs/>\":case\"</cellXfs>\":break;case\"<xf\":for(delete(n=a)[0],i=0;i<zg.length;++i)n[zg[i]]&&(n[zg[i]]=parseInt(n[zg[i]],10));for(i=0;i<Hg.length;++i)n[Hg[i]]&&(n[Hg[i]]=L(n[Hg[i]],\"\"));t.CellXf.push(n);break;case\"</xf>\":break;case\"<alignment\":case\"<alignment/>\":var s={};a.vertical&&(s.vertical=a.vertical),a.horizontal&&(s.horizontal=a.horizontal),null!=a.textRotation&&(s.textRotation=a.textRotation),a.indent&&(s.indent=a.indent),a.wrapText&&(s.wrapText=a.wrapText),n.alignment=s;break;case\"</alignment>\":break;case\"<protection\":case\"</protection>\":case\"<protection/>\":break;case\"<extLst\":case\"</extLst>\":case\"<ext\":break;default:if(r.WTF)throw new Error(\"unrecognized \"+a[0]+\" in cellXfs\")}})}function tn(e){var t=[];return t[t.length]=z(\"cellXfs\",null),e.forEach(function(e){t[t.length]=z(\"xf\",null,e)}),t[t.length]=\"</cellXfs>\",2===t.length?\"\":(t[0]=z(\"cellXfs\",null,{count:t.length-2}).replace(\"/>\",\">\"),t.join(\"\"))}function rn(e,t){var r,n=[sl,Xg];return e.SSF&&null!=(r=Jr(e.SSF))&&(n[n.length]=r),n[n.length]='<fonts count=\"1\"><font><sz val=\"12\"/><color theme=\"1\"/><name val=\"Calibri\"/><family val=\"2\"/><scheme val=\"minor\"/></font></fonts>',n[n.length]='<fills count=\"2\"><fill><patternFill patternType=\"none\"/></fill><fill><patternFill patternType=\"gray125\"/></fill></fills>',n[n.length]='<borders count=\"1\"><border><left/><right/><top/><bottom/><diagonal/></border></borders>',n[n.length]='<cellStyleXfs count=\"1\"><xf numFmtId=\"0\" fontId=\"0\" fillId=\"0\" borderId=\"0\"/></cellStyleXfs>',(r=tn(t.cellXfs))&&(n[n.length]=r),n[n.length]='<cellStyles count=\"1\"><cellStyle name=\"Normal\" xfId=\"0\" builtinId=\"0\"/></cellStyles>',n[n.length]='<dxfs count=\"0\"/>',n[n.length]='<tableStyles count=\"0\" defaultTableStyle=\"TableStyleMedium9\" defaultPivotStyle=\"PivotStyleMedium4\"/>',n.length>2&&(n[n.length]=\"</styleSheet>\",n[1]=n[1].replace(\"/>\",\">\")),n.join(\"\")}function nn(e,t,r){return r||(r=Q(6+4*t.length)),r.write_shift(2,e),_e(t,r),r.length>r.l?r.slice(0,r.l):r}function on(e,t){t||(t=Q(153)),t.write_shift(2,20*e.sz),He(e,t),t.write_shift(2,e.bold?700:400);var r=0;\"superscript\"==e.vertAlign?r=1:\"subscript\"==e.vertAlign&&(r=2),t.write_shift(2,r),t.write_shift(1,e.underline||0),t.write_shift(1,e.family||0),t.write_shift(1,e.charset||0),t.write_shift(1,0),We(e.color,t);var n=0;return\"major\"==e.scheme&&(n=1),\"minor\"==e.scheme&&(n=2),t.write_shift(1,n),_e(e.name,t),t.length>t.l?t.slice(0,t.l):t}function ln(e,t){t||(t=Q(84));var r=Gg[e.patternType];null==r&&(r=40),t.write_shift(4,r);var n=0;if(40!=r)for(We({auto:1},t),We({auto:1},t);n<12;++n)t.write_shift(4,0);else{for(;n<4;++n)t.write_shift(4,0);for(;n<12;++n)t.write_shift(4,0)}return t.length>t.l?t.slice(0,t.l):t}function cn(e,t,r){return r||(r=Q(16)),r.write_shift(2,t||0),r.write_shift(2,e.numFmtId||0),r.write_shift(2,0),r.write_shift(2,0),r.write_shift(2,0),r.write_shift(1,0),r.write_shift(1,0),r.write_shift(1,0),r.write_shift(1,0),r.write_shift(1,0),r.write_shift(1,0),r}function fn(e,t){return t||(t=Q(10)),t.write_shift(1,0),t.write_shift(1,0),t.write_shift(4,0),t.write_shift(4,0),t}function hn(e,t){return t||(t=Q(51)),t.write_shift(1,0),fn(null,t),fn(null,t),fn(null,t),fn(null,t),fn(null,t),t.length>t.l?t.slice(0,t.l):t}function un(e,t){return t||(t=Q(52)),t.write_shift(4,e.xfId),t.write_shift(2,1),t.write_shift(1,+e.builtinId),t.write_shift(1,0),De(e.name||\"\",t),t.length>t.l?t.slice(0,t.l):t}function dn(e,t,r){var n=Q(2052);return n.write_shift(4,e),De(t,n),De(r,n),n.length>n.l?n.slice(0,n.l):n}function pn(e,t,r){var n={};n.NumberFmt=[];for(var a in ko._table)n.NumberFmt[a]=ko._table[a];n.CellXf=[],n.Fonts=[];var i=[],s=!1;return q(e,function(e,a,o){switch(o){case 44:n.NumberFmt[e[0]]=e[1],ko.load(e[1],e[0]);break;case 43:n.Fonts.push(e),null!=e.color.theme&&t&&t.themeElements&&t.themeElements.clrScheme&&(e.color.rgb=Wr(t.themeElements.clrScheme[e.color.theme].rgb,e.color.tint||0));break;case 1025:case 45:case 46:break;case 47:\"BrtBeginCellXFs\"==i[i.length-1]&&n.CellXf.push(e);break;case 48:case 507:case 572:case 475:break;case 1171:case 2102:case 1130:case 512:case 2095:break;case 35:s=!0;break;case 36:s=!1;break;case 37:i.push(a);break;case 38:i.pop();break;default:if((a||\"\").indexOf(\"Begin\")>0)i.push(a);else if((a||\"\").indexOf(\"End\")>0)i.pop();else if(!s||r.WTF)throw new Error(\"Unexpected record \"+o+\" \"+a)}}),n}function gn(e,t){if(t){var r=0;[[5,8],[23,26],[41,44],[57,392]].forEach(function(e){for(var n=e[0];n<=e[1];++n)null!=t[n]&&++r}),0!=r&&(ee(e,\"BrtBeginFmts\",Ae(r)),[[5,8],[23,26],[41,44],[57,392]].forEach(function(r){for(var n=r[0];n<=r[1];++n)null!=t[n]&&ee(e,\"BrtFmt\",nn(n,t[n]))}),ee(e,\"BrtEndFmts\"))}}function mn(e,t){ee(e,\"BrtBeginFonts\",Ae(1)),ee(e,\"BrtFont\",on({sz:12,color:{theme:1},name:\"Calibri\",family:2,scheme:\"minor\"})),ee(e,\"BrtEndFonts\")}function bn(e,t){ee(e,\"BrtBeginFills\",Ae(2)),ee(e,\"BrtFill\",ln({patternType:\"none\"})),ee(e,\"BrtFill\",ln({patternType:\"gray125\"})),ee(e,\"BrtEndFills\")}function vn(e,t){ee(e,\"BrtBeginBorders\",Ae(1)),ee(e,\"BrtBorder\",hn({})),ee(e,\"BrtEndBorders\")}function En(e,t){ee(e,\"BrtBeginCellStyleXFs\",Ae(1)),ee(e,\"BrtXF\",cn({numFmtId:0,fontId:0,fillId:0,borderId:0},65535)),ee(e,\"BrtEndCellStyleXFs\")}function Cn(e,t){ee(e,\"BrtBeginCellXFs\",Ae(t.length)),t.forEach(function(t){ee(e,\"BrtXF\",cn(t,0))}),ee(e,\"BrtEndCellXFs\")}function wn(e,t){ee(e,\"BrtBeginStyles\",Ae(1)),ee(e,\"BrtStyle\",un({xfId:0,builtinId:0,name:\"Normal\"})),ee(e,\"BrtEndStyles\")}function Sn(e,t){ee(e,\"BrtBeginDXFs\",Ae(0)),ee(e,\"BrtEndDXFs\")}function An(e,t){ee(e,\"BrtBeginTableStyles\",dn(0,\"TableStyleMedium9\",\"PivotStyleMedium4\")),ee(e,\"BrtEndTableStyles\")}function Bn(e,t){}function _n(e,t){var r=J();return ee(r,\"BrtBeginStyleSheet\"),gn(r,e.SSF),mn(r,e),bn(r,e),vn(r,e),En(r,e),Cn(r,t.cellXfs),wn(r,e),Sn(r,e),An(r,e),Bn(r,e),ee(r,\"BrtEndStyleSheet\"),r.end()}function Tn(e,t,r){t.themeElements.clrScheme=[];var n={};(e[0].match(Wo)||[]).forEach(function(e){var a=O(e);switch(a[0]){case\"<a:clrScheme\":case\"</a:clrScheme>\":break;case\"<a:srgbClr\":n.rgb=a.val;break;case\"<a:sysClr\":n.rgb=a.lastClr;break;case\"<a:dk1>\":case\"</a:dk1>\":case\"<a:lt1>\":case\"</a:lt1>\":case\"<a:dk2>\":case\"</a:dk2>\":case\"<a:lt2>\":case\"</a:lt2>\":case\"<a:accent1>\":case\"</a:accent1>\":case\"<a:accent2>\":case\"</a:accent2>\":case\"<a:accent3>\":case\"</a:accent3>\":case\"<a:accent4>\":case\"</a:accent4>\":case\"<a:accent5>\":case\"</a:accent5>\":case\"<a:accent6>\":case\"</a:accent6>\":case\"<a:hlink>\":case\"</a:hlink>\":case\"<a:folHlink>\":case\"</a:folHlink>\":\"/\"===a[0][1]?(t.themeElements.clrScheme.push(n),n={}):n.name=a[0].substring(3,a[0].length-1);break;default:if(r&&r.WTF)throw new Error(\"Unrecognized \"+a[0]+\" in clrScheme\")}})}function yn(e,t,r){}function kn(e,t,r){}function xn(e,t,r){t.themeElements={};var n;[[\"clrScheme\",jg,Tn],[\"fontScheme\",Yg,yn],[\"fmtScheme\",Kg,kn]].forEach(function(a){if(!(n=e.match(a[1])))throw new Error(a[0]+\" not found in themeElements\");a[2](n,t,r)})}function Rn(e,t){if(!e||0===e.length)return Rn(In());var r,n={};if(!(r=e.match($g)))throw new Error(\"themeElements not found in theme\");return xn(r[0],n,t),n}function In(e,t){if(t&&t.themeXLSX)return t.themeXLSX;var r=[sl];return r[r.length]='<a:theme xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\" name=\"Office Theme\">',r[r.length]=\"<a:themeElements>\",r[r.length]='<a:clrScheme name=\"Office\">',r[r.length]='<a:dk1><a:sysClr val=\"windowText\" lastClr=\"000000\"/></a:dk1>',r[r.length]='<a:lt1><a:sysClr val=\"window\" lastClr=\"FFFFFF\"/></a:lt1>',r[r.length]='<a:dk2><a:srgbClr val=\"1F497D\"/></a:dk2>',r[r.length]='<a:lt2><a:srgbClr val=\"EEECE1\"/></a:lt2>',r[r.length]='<a:accent1><a:srgbClr val=\"4F81BD\"/></a:accent1>',r[r.length]='<a:accent2><a:srgbClr val=\"C0504D\"/></a:accent2>',r[r.length]='<a:accent3><a:srgbClr val=\"9BBB59\"/></a:accent3>',r[r.length]='<a:accent4><a:srgbClr val=\"8064A2\"/></a:accent4>',r[r.length]='<a:accent5><a:srgbClr val=\"4BACC6\"/></a:accent5>',r[r.length]='<a:accent6><a:srgbClr val=\"F79646\"/></a:accent6>',r[r.length]='<a:hlink><a:srgbClr val=\"0000FF\"/></a:hlink>',r[r.length]='<a:folHlink><a:srgbClr val=\"800080\"/></a:folHlink>',r[r.length]=\"</a:clrScheme>\",r[r.length]='<a:fontScheme name=\"Office\">',r[r.length]=\"<a:majorFont>\",r[r.length]='<a:latin typeface=\"Cambria\"/>',r[r.length]='<a:ea typeface=\"\"/>',r[r.length]='<a:cs typeface=\"\"/>',r[r.length]='<a:font script=\"Jpan\" typeface=\"ＭＳ Ｐゴシック\"/>',r[r.length]='<a:font script=\"Hang\" typeface=\"맑은 고딕\"/>',r[r.length]='<a:font script=\"Hans\" typeface=\"宋体\"/>',r[r.length]='<a:font script=\"Hant\" typeface=\"新細明體\"/>',r[r.length]='<a:font script=\"Arab\" typeface=\"Times New Roman\"/>',r[r.length]='<a:font script=\"Hebr\" typeface=\"Times New Roman\"/>',r[r.length]='<a:font script=\"Thai\" typeface=\"Tahoma\"/>',r[r.length]='<a:font script=\"Ethi\" typeface=\"Nyala\"/>',r[r.length]='<a:font script=\"Beng\" typeface=\"Vrinda\"/>',r[r.length]='<a:font script=\"Gujr\" typeface=\"Shruti\"/>',r[r.length]='<a:font script=\"Khmr\" typeface=\"MoolBoran\"/>',r[r.length]='<a:font script=\"Knda\" typeface=\"Tunga\"/>',r[r.length]='<a:font script=\"Guru\" typeface=\"Raavi\"/>',r[r.length]='<a:font script=\"Cans\" typeface=\"Euphemia\"/>',r[r.length]='<a:font script=\"Cher\" typeface=\"Plantagenet Cherokee\"/>',r[r.length]='<a:font script=\"Yiii\" typeface=\"Microsoft Yi Baiti\"/>',r[r.length]='<a:font script=\"Tibt\" typeface=\"Microsoft Himalaya\"/>',r[r.length]='<a:font script=\"Thaa\" typeface=\"MV Boli\"/>',r[r.length]='<a:font script=\"Deva\" typeface=\"Mangal\"/>',r[r.length]='<a:font script=\"Telu\" typeface=\"Gautami\"/>',r[r.length]='<a:font script=\"Taml\" typeface=\"Latha\"/>',r[r.length]='<a:font script=\"Syrc\" typeface=\"Estrangelo Edessa\"/>',r[r.length]='<a:font script=\"Orya\" typeface=\"Kalinga\"/>',r[r.length]='<a:font script=\"Mlym\" typeface=\"Kartika\"/>',r[r.length]='<a:font script=\"Laoo\" typeface=\"DokChampa\"/>',r[r.length]='<a:font script=\"Sinh\" typeface=\"Iskoola Pota\"/>',r[r.length]='<a:font script=\"Mong\" typeface=\"Mongolian Baiti\"/>',r[r.length]='<a:font script=\"Viet\" typeface=\"Times New Roman\"/>',r[r.length]='<a:font script=\"Uigh\" typeface=\"Microsoft Uighur\"/>',r[r.length]='<a:font script=\"Geor\" typeface=\"Sylfaen\"/>',r[r.length]=\"</a:majorFont>\",r[r.length]=\"<a:minorFont>\",r[r.length]='<a:latin typeface=\"Calibri\"/>',r[r.length]='<a:ea typeface=\"\"/>',r[r.length]='<a:cs typeface=\"\"/>',r[r.length]='<a:font script=\"Jpan\" typeface=\"ＭＳ Ｐゴシック\"/>',r[r.length]='<a:font script=\"Hang\" typeface=\"맑은 고딕\"/>',r[r.length]='<a:font script=\"Hans\" typeface=\"宋体\"/>',r[r.length]='<a:font script=\"Hant\" typeface=\"新細明體\"/>',r[r.length]='<a:font script=\"Arab\" typeface=\"Arial\"/>',r[r.length]='<a:font script=\"Hebr\" typeface=\"Arial\"/>',r[r.length]='<a:font script=\"Thai\" typeface=\"Tahoma\"/>',r[r.length]='<a:font script=\"Ethi\" typeface=\"Nyala\"/>',r[r.length]='<a:font script=\"Beng\" typeface=\"Vrinda\"/>',r[r.length]='<a:font script=\"Gujr\" typeface=\"Shruti\"/>',r[r.length]='<a:font script=\"Khmr\" typeface=\"DaunPenh\"/>',r[r.length]='<a:font script=\"Knda\" typeface=\"Tunga\"/>',r[r.length]='<a:font script=\"Guru\" typeface=\"Raavi\"/>',r[r.length]='<a:font script=\"Cans\" typeface=\"Euphemia\"/>',r[r.length]='<a:font script=\"Cher\" typeface=\"Plantagenet Cherokee\"/>',r[r.length]='<a:font script=\"Yiii\" typeface=\"Microsoft Yi Baiti\"/>',r[r.length]='<a:font script=\"Tibt\" typeface=\"Microsoft Himalaya\"/>',r[r.length]='<a:font script=\"Thaa\" typeface=\"MV Boli\"/>',r[r.length]='<a:font script=\"Deva\" typeface=\"Mangal\"/>',r[r.length]='<a:font script=\"Telu\" typeface=\"Gautami\"/>',r[r.length]='<a:font script=\"Taml\" typeface=\"Latha\"/>',r[r.length]='<a:font script=\"Syrc\" typeface=\"Estrangelo Edessa\"/>',r[r.length]='<a:font script=\"Orya\" typeface=\"Kalinga\"/>',r[r.length]='<a:font script=\"Mlym\" typeface=\"Kartika\"/>',r[r.length]='<a:font script=\"Laoo\" typeface=\"DokChampa\"/>',r[r.length]='<a:font script=\"Sinh\" typeface=\"Iskoola Pota\"/>',r[r.length]='<a:font script=\"Mong\" typeface=\"Mongolian Baiti\"/>',r[r.length]='<a:font script=\"Viet\" typeface=\"Arial\"/>',r[r.length]='<a:font script=\"Uigh\" typeface=\"Microsoft Uighur\"/>',r[r.length]='<a:font script=\"Geor\" typeface=\"Sylfaen\"/>',r[r.length]=\"</a:minorFont>\",r[r.length]=\"</a:fontScheme>\",r[r.length]='<a:fmtScheme name=\"Office\">',r[r.length]=\"<a:fillStyleLst>\",r[r.length]='<a:solidFill><a:schemeClr val=\"phClr\"/></a:solidFill>',r[r.length]='<a:gradFill rotWithShape=\"1\">',r[r.length]=\"<a:gsLst>\",r[r.length]='<a:gs pos=\"0\"><a:schemeClr val=\"phClr\"><a:tint val=\"50000\"/><a:satMod val=\"300000\"/></a:schemeClr></a:gs>',r[r.length]='<a:gs pos=\"35000\"><a:schemeClr val=\"phClr\"><a:tint val=\"37000\"/><a:satMod val=\"300000\"/></a:schemeClr></a:gs>',r[r.length]='<a:gs pos=\"100000\"><a:schemeClr val=\"phClr\"><a:tint val=\"15000\"/><a:satMod val=\"350000\"/></a:schemeClr></a:gs>',r[r.length]=\"</a:gsLst>\",r[r.length]='<a:lin ang=\"16200000\" scaled=\"1\"/>',r[r.length]=\"</a:gradFill>\",r[r.length]='<a:gradFill rotWithShape=\"1\">',r[r.length]=\"<a:gsLst>\",r[r.length]='<a:gs pos=\"0\"><a:schemeClr val=\"phClr\"><a:tint val=\"100000\"/><a:shade val=\"100000\"/><a:satMod val=\"130000\"/></a:schemeClr></a:gs>',r[r.length]='<a:gs pos=\"100000\"><a:schemeClr val=\"phClr\"><a:tint val=\"50000\"/><a:shade val=\"100000\"/><a:satMod val=\"350000\"/></a:schemeClr></a:gs>',r[r.length]=\"</a:gsLst>\",r[r.length]='<a:lin ang=\"16200000\" scaled=\"0\"/>',r[r.length]=\"</a:gradFill>\",r[r.length]=\"</a:fillStyleLst>\",r[r.length]=\"<a:lnStyleLst>\",r[r.length]='<a:ln w=\"9525\" cap=\"flat\" cmpd=\"sng\" algn=\"ctr\"><a:solidFill><a:schemeClr val=\"phClr\"><a:shade val=\"95000\"/><a:satMod val=\"105000\"/></a:schemeClr></a:solidFill><a:prstDash val=\"solid\"/></a:ln>',r[r.length]='<a:ln w=\"25400\" cap=\"flat\" cmpd=\"sng\" algn=\"ctr\"><a:solidFill><a:schemeClr val=\"phClr\"/></a:solidFill><a:prstDash val=\"solid\"/></a:ln>',r[r.length]='<a:ln w=\"38100\" cap=\"flat\" cmpd=\"sng\" algn=\"ctr\"><a:solidFill><a:schemeClr val=\"phClr\"/></a:solidFill><a:prstDash val=\"solid\"/></a:ln>',r[r.length]=\"</a:lnStyleLst>\",r[r.length]=\"<a:effectStyleLst>\",r[r.length]=\"<a:effectStyle>\",r[r.length]=\"<a:effectLst>\",r[r.length]='<a:outerShdw blurRad=\"40000\" dist=\"20000\" dir=\"5400000\" rotWithShape=\"0\"><a:srgbClr val=\"000000\"><a:alpha val=\"38000\"/></a:srgbClr></a:outerShdw>',r[r.length]=\"</a:effectLst>\",r[r.length]=\"</a:effectStyle>\",r[r.length]=\"<a:effectStyle>\",r[r.length]=\"<a:effectLst>\",r[r.length]='<a:outerShdw blurRad=\"40000\" dist=\"23000\" dir=\"5400000\" rotWithShape=\"0\"><a:srgbClr val=\"000000\"><a:alpha val=\"35000\"/></a:srgbClr></a:outerShdw>',r[r.length]=\"</a:effectLst>\",r[r.length]=\"</a:effectStyle>\",r[r.length]=\"<a:effectStyle>\",r[r.length]=\"<a:effectLst>\",r[r.length]='<a:outerShdw blurRad=\"40000\" dist=\"23000\" dir=\"5400000\" rotWithShape=\"0\"><a:srgbClr val=\"000000\"><a:alpha val=\"35000\"/></a:srgbClr></a:outerShdw>',r[r.length]=\"</a:effectLst>\",r[r.length]='<a:scene3d><a:camera prst=\"orthographicFront\"><a:rot lat=\"0\" lon=\"0\" rev=\"0\"/></a:camera><a:lightRig rig=\"threePt\" dir=\"t\"><a:rot lat=\"0\" lon=\"0\" rev=\"1200000\"/></a:lightRig></a:scene3d>',r[r.length]='<a:sp3d><a:bevelT w=\"63500\" h=\"25400\"/></a:sp3d>',r[r.length]=\"</a:effectStyle>\",r[r.length]=\"</a:effectStyleLst>\",r[r.length]=\"<a:bgFillStyleLst>\",r[r.length]='<a:solidFill><a:schemeClr val=\"phClr\"/></a:solidFill>',r[r.length]='<a:gradFill rotWithShape=\"1\">',r[r.length]=\"<a:gsLst>\",r[r.length]='<a:gs pos=\"0\"><a:schemeClr val=\"phClr\"><a:tint val=\"40000\"/><a:satMod val=\"350000\"/></a:schemeClr></a:gs>',r[r.length]='<a:gs pos=\"40000\"><a:schemeClr val=\"phClr\"><a:tint val=\"45000\"/><a:shade val=\"99000\"/><a:satMod val=\"350000\"/></a:schemeClr></a:gs>',r[r.length]='<a:gs pos=\"100000\"><a:schemeClr val=\"phClr\"><a:shade val=\"20000\"/><a:satMod val=\"255000\"/></a:schemeClr></a:gs>',r[r.length]=\"</a:gsLst>\",r[r.length]='<a:path path=\"circle\"><a:fillToRect l=\"50000\" t=\"-80000\" r=\"50000\" b=\"180000\"/></a:path>',r[r.length]=\"</a:gradFill>\",r[r.length]='<a:gradFill rotWithShape=\"1\">',r[r.length]=\"<a:gsLst>\",r[r.length]='<a:gs pos=\"0\"><a:schemeClr val=\"phClr\"><a:tint val=\"80000\"/><a:satMod val=\"300000\"/></a:schemeClr></a:gs>',r[r.length]='<a:gs pos=\"100000\"><a:schemeClr val=\"phClr\"><a:shade val=\"30000\"/><a:satMod val=\"200000\"/></a:schemeClr></a:gs>',r[r.length]=\"</a:gsLst>\",r[r.length]='<a:path path=\"circle\"><a:fillToRect l=\"50000\" t=\"50000\" r=\"50000\" b=\"50000\"/></a:path>',r[r.length]=\"</a:gradFill>\",r[r.length]=\"</a:bgFillStyleLst>\",r[r.length]=\"</a:fmtScheme>\",r[r.length]=\"</a:themeElements>\",r[r.length]=\"<a:objectDefaults>\",r[r.length]=\"<a:spDef>\",r[r.length]='<a:spPr/><a:bodyPr/><a:lstStyle/><a:style><a:lnRef idx=\"1\"><a:schemeClr val=\"accent1\"/></a:lnRef><a:fillRef idx=\"3\"><a:schemeClr val=\"accent1\"/></a:fillRef><a:effectRef idx=\"2\"><a:schemeClr val=\"accent1\"/></a:effectRef><a:fontRef idx=\"minor\"><a:schemeClr val=\"lt1\"/></a:fontRef></a:style>',r[r.length]=\"</a:spDef>\",r[r.length]=\"<a:lnDef>\",r[r.length]='<a:spPr/><a:bodyPr/><a:lstStyle/><a:style><a:lnRef idx=\"2\"><a:schemeClr val=\"accent1\"/></a:lnRef><a:fillRef idx=\"0\"><a:schemeClr val=\"accent1\"/></a:fillRef><a:effectRef idx=\"1\"><a:schemeClr val=\"accent1\"/></a:effectRef><a:fontRef idx=\"minor\"><a:schemeClr val=\"tx1\"/></a:fontRef></a:style>',r[r.length]=\"</a:lnDef>\",r[r.length]=\"</a:objectDefaults>\",r[r.length]=\"<a:extraClrSchemeLst/>\",r[r.length]=\"</a:theme>\",r.join(\"\")}function On(e,t){return e.read_shift(4)}function Dn(e,t){var r={};switch(r.xclrType=e.read_shift(2),r.nTintShade=e.read_shift(2),r.xclrType){case 0:e.l+=4;break;case 1:r.xclrValue=Pn(e,4);break;case 2:r.xclrValue=Mt(e,4);break;case 3:r.xclrValue=On(e,4);break;case 4:e.l+=4}return e.l+=8,r}function Pn(e,t){return Z(e,t)}function Fn(e,t){return Z(e,t)}function Nn(e,t){var r=e.read_shift(2),n=e.read_shift(2),a=[r];switch(r){case 4:case 5:case 7:case 8:case 9:case 10:case 11:case 13:a[1]=Dn(e,n);break;case 6:a[1]=Fn(e,n);break;case 14:case 15:a[1]=e.read_shift(5===n?1:2);break;default:throw new Error(\"Unrecognized ExtProp type: \"+r+\" \"+n)}return a}function Ln(e,t){t.forEach(function(e){e[0]})}function Mn(e,t){var r=[];if(!e)return r;var n=1;return(e.match(Wo)||[]).forEach(function(e){var t=O(e);switch(t[0]){case\"<?xml\":break;case\"<calcChain\":case\"<calcChain>\":case\"</calcChain>\":break;case\"<c\":delete t[0],t.i?n=t.i:t.i=n,r.push(t)}}),r}function Un(e,t){var r=[];return q(e,function(e,t,n){switch(n){case 63:r.push(e);break;default:if((t||\"\").indexOf(\"Begin\")>0);else if(!((t||\"\").indexOf(\"End\")>0))throw new Error(\"Unexpected record \"+n+\" \"+t)}}),r}function Wn(e,t){if(!e)return\"??\";var r=(e.match(/<c:chart [^>]*r:id=\"([^\"]*)\"/)||[\"\",\"\"])[1];return t[\"!id\"][r].Target}function zn(e,t){for(var r=[21600,21600],n=[\"m0,0l0\",r[1],r[0],r[1],r[0],\"0xe\"].join(\",\"),a=[z(\"xml\",null,{\"xmlns:v\":fl.v,\"xmlns:o\":fl.o,\"xmlns:x\":fl.x,\"xmlns:mv\":fl.mv}).replace(/\\/>/,\">\"),z(\"o:shapelayout\",z(\"o:idmap\",null,{\"v:ext\":\"edit\",data:e}),{\"v:ext\":\"edit\"}),z(\"v:shapetype\",[z(\"v:stroke\",null,{joinstyle:\"miter\"}),z(\"v:path\",null,{gradientshapeok:\"t\",\"o:connecttype\":\"rect\"})].join(\"\"),{id:\"_x0000_t202\",\"o:spt\":202,coordsize:r.join(\",\"),path:n})];Zg<1e3*e;)Zg+=1e3;return t.map(function(e){return pe(e[0])}).forEach(function(e,t){a=a.concat([\"<v:shape\"+W({id:\"_x0000_s\"+ ++Zg,type:\"#_x0000_t202\",style:\"position:absolute; margin-left:80pt;margin-top:5pt;width:104pt;height:64pt;z-index:10;visibility:hidden\",fillcolor:\"#ECFAD4\",strokecolor:\"#edeaa1\"})+\">\",z(\"v:fill\",z(\"o:fill\",null,{type:\"gradientUnscaled\",\"v:ext\":\"view\"}),{color2:\"#BEFF82\",angle:\"-180\",type:\"gradient\"}),z(\"v:shadow\",null,{on:\"t\",obscured:\"t\"}),z(\"v:path\",null,{\"o:connecttype\":\"none\"}),'<v:textbox><div style=\"text-align:left\"></div></v:textbox>','<x:ClientData ObjectType=\"Note\">',\"<x:MoveWithCells/>\",\"<x:SizeWithCells/>\",U(\"x:Anchor\",[e.c,0,e.r,0,e.c+3,100,e.r+5,100].join(\",\")),U(\"x:AutoFill\",\"False\"),U(\"x:Row\",String(e.r)),U(\"x:Column\",String(e.c)),\"<x:Visible/>\",\"</x:ClientData>\",\"</v:shape>\"])}),a.push(\"</xml>\"),a.join(\"\")}function Hn(e,t,r,n,a){for(var i=0;i!=t.length;++i){var s=t[i],o=Qi(x(e,s.replace(/^\\//,\"\"),!0),s,a);if(o&&o.length)for(var l=u(r),c=0;c!=l.length;++c){var f=l[c],h=n[f];h&&h[s]&&Vn(f,r[f],o)}}}function Vn(e,t,r){var n,a,i=Array.isArray(t);r.forEach(function(e){if(i?(a=pe(e.ref),t[a.r]||(t[a.r]=[]),n=t[a.r][a.c]):n=t[e.ref],!n){n={},i?t[a.r][a.c]=n:t[e.ref]=n;var r=ve(t[\"!ref\"]||\"BDWGO1000001:A1\"),s=pe(e.ref);r.s.r>s.r&&(r.s.r=s.r),r.e.r<s.r&&(r.e.r=s.r),r.s.c>s.c&&(r.s.c=s.c),r.e.c<s.c&&(r.e.c=s.c);var o=be(r);o!==t[\"!ref\"]&&(t[\"!ref\"]=o)}n.c||(n.c=[]);var l={a:e.author,t:e.t,r:e.r};e.h&&(l.h=e.h),n.c.push(l)})}function Xn(e,t){if(e.match(/<(?:\\w+:)?comments *\\/>/))return[];var r=[],n=[],a=e.match(/<(?:\\w+:)?authors>([\\s\\S]*)<\\/(?:\\w+:)?authors>/);a&&a[1]&&a[1].split(/<\\/\\w*:?author>/).forEach(function(e){if(\"\"!==e&&\"\"!==e.trim()){var t=e.match(/<(?:\\w+:)?author[^>]*>(.*)/);t&&r.push(t[1])}});var i=e.match(/<(?:\\w+:)?commentList>([\\s\\S]*)<\\/(?:\\w+:)?commentList>/);return i&&i[1]&&i[1].split(/<\\/\\w*:?comment>/).forEach(function(e,a){if(\"\"!==e&&\"\"!==e.trim()){var i=e.match(/<(?:\\w+:)?comment[^>]*>/);if(i){var s=O(i[0]),o={author:s.authorId&&r[s.authorId]?r[s.authorId]:\"sheetjsghost\",ref:s.ref,guid:s.guid},l=pe(s.ref);if(!(t.sheetRows&&t.sheetRows<=l.r)){var c=e.match(/<(?:\\w+:)?text>([\\s\\S]*)<\\/(?:\\w+:)?text>/),f=!!c&&!!c[1]&&lr(c[1])||{r:\"\",t:\"\",h:\"\"};o.r=f.r,\"<t></t>\"==f.r&&(f.t=f.h=\"\"),o.t=f.t.replace(/\\r\\n/g,\"\\n\").replace(/\\r/g,\"\\n\"),t.cellHTML&&(o.h=f.h),n.push(o)}}}}),n}function Gn(e,t){var r=[sl,Qg],n=[];return r.push(\"<authors>\"),e.map(function(e){return e[1]}).forEach(function(e){e.map(function(e){return P(e.a)}).forEach(function(e){n.indexOf(e)>-1||(n.push(e),r.push(\"<author>\"+e+\"</author>\"))})}),r.push(\"</authors>\"),r.push(\"<commentList>\"),e.forEach(function(e){e[1].forEach(function(t){r.push('<comment ref=\"'+e[0]+'\" authorId=\"'+n.indexOf(P(t.a))+'\"><text>'),r.push(U(\"t\",null==t.t?\"\":t.t)),r.push(\"</text></comment>\")})}),r.push(\"</commentList>\"),r.length>2&&(r[r.length]=\"</comments>\",r[1]=r[1].replace(\"/>\",\">\")),r.join(\"\")}function jn(e,t){return null==t&&(t=Q(36)),t.write_shift(4,e[1].iauthor),Vl(e[0],t),t.write_shift(4,0),t.write_shift(4,0),t.write_shift(4,0),t.write_shift(4,0),t}function Yn(e,t){var r=[],n=[],a={},i=!1;return q(e,function(e,s,o){switch(o){case 632:n.push(e);break;case 635:a=e;break;case 637:a.t=e.t,a.h=e.h,a.r=e.r;break;case 636:if(a.author=n[a.iauthor],delete a.iauthor,t.sheetRows&&t.sheetRows<=a.rfx.r)break;a.t||(a.t=\"\"),delete a.rfx,r.push(a);break;case 35:i=!0;break;case 36:i=!1;break;case 37:case 38:break;default:if((s||\"\").indexOf(\"Begin\")>0);else if((s||\"\").indexOf(\"End\")>0);else if(!i||t.WTF)throw new Error(\"Unexpected record \"+o+\" \"+s)}}),r}function Kn(e,t){var r=J(),n=[];return ee(r,\"BrtBeginComments\"),ee(r,\"BrtBeginCommentAuthors\"),e.forEach(function(e){e[1].forEach(function(e){n.indexOf(e.a)>-1||(n.push(e.a.substr(0,54)),ee(r,\"BrtCommentAuthor\",_e(e.a.substr(0,54))))})}),ee(r,\"BrtEndCommentAuthors\"),ee(r,\"BrtBeginCommentList\"),e.forEach(function(e){e[1].forEach(function(t){t.iauthor=n.indexOf(t.a);var a={s:pe(e[0]),e:pe(e[0])};ee(r,\"BrtBeginComment\",jn([a,t])),t.t&&t.t.length>0&&ee(r,\"BrtCommentText\",xe(t)),ee(r,\"BrtEndComment\"),delete t.iauthor})}),ee(r,\"BrtEndCommentList\"),ee(r,\"BrtEndComments\"),r.end()}function $n(){return{\"!type\":\"dialog\"}}function Zn(){return{\"!type\":\"dialog\"}}function Qn(){return{\"!type\":\"macro\"}}function qn(){return{\"!type\":\"macro\"}}function Jn(e,t){return e.replace(em,function(e,r,n,a,i,s,o,l){return r+(\"$\"==n?n+a:fe(ce(a)+t.c))+(\"$\"==i?i+s:se(ie(s)+t.r))})}function ea(e,t,r){var n=me(t).s,a=pe(r);return Jn(e,{r:a.r-n.r,c:a.c-n.c})}function ta(e){e.l+=1}function ra(e,t){var r=e.read_shift(1==t?1:2);return[16383&r,r>>14&1,r>>15&1]}function na(e,t,r){var n=2;if(r){if(r.biff>=2&&r.biff<=5)return aa(e);12==r.biff&&(n=4)}var a=e.read_shift(n),i=e.read_shift(n),s=ra(e,2),o=ra(e,2);return{s:{r:a,c:s[0],cRel:s[1],rRel:s[2]},e:{r:i,c:o[0],cRel:o[1],rRel:o[2]}}}function aa(e){var t=ra(e,2),r=ra(e,2),n=e.read_shift(1),a=e.read_shift(1);return{s:{r:t[0],c:n,cRel:t[1],rRel:t[2]},e:{r:r[0],c:a,cRel:r[1],rRel:r[2]}}}function ia(e,t){var r=e.read_shift(12==t?4:2),n=e.read_shift(12==t?4:2),a=ra(e,2),i=ra(e,2);return{s:{r:r,c:a[0],cRel:a[1],rRel:a[2]},e:{r:n,c:i[0],cRel:i[1],rRel:i[2]}}}function sa(e,t,r){if(r&&r.biff>=2&&r.biff<=5)return oa(e,t,r);var n=e.read_shift(r&&12==r.biff?4:2),a=ra(e,2);return{r:n,c:a[0],cRel:a[1],rRel:a[2]}}function oa(e,t,r){var n=ra(e,2),a=e.read_shift(1);return{r:n[0],c:a,cRel:n[1],rRel:n[2]}}function la(e,t,r){var n=r&&r.biff?r.biff:8;if(n>=2&&n<=5)return ca(e,t);var a=e.read_shift(n>=12?4:2),i=e.read_shift(2),s=(32768&i)>>15,o=(16384&i)>>14;if(i&=16383,1==o)for(;a>524287;)a-=1048576;if(1==s)for(;i>8191;)i-=16384;return{r:a,c:i,cRel:s,rRel:o}}function ca(e,t){var r=e.read_shift(2),n=e.read_shift(1),a=(32768&r)>>15,i=(16384&r)>>14;return r&=16383,1==a&&r>=8192&&(r-=16384),1==i&&n>=128&&(n-=256),{r:r,c:n,cRel:i,rRel:a}}function fa(e,t){return[e.read_shift(1),e.read_shift(1)]}function ha(e,t){return[e[e.l+1]>>7,32767&e.read_shift(2)]}function ua(e,t){var r=[e.read_shift(1)];if(12==t)switch(r[0]){case 2:r[0]=4;break;case 4:r[0]=16;break;case 0:r[0]=1;break;case 1:r[0]=2}switch(r[0]){case 4:r[1]=xt(e,1)?\"TRUE\":\"FALSE\",e.l+=7;break;case 16:r[1]=Xl[e[e.l]],e.l+=8;break;case 0:e.l+=8;break;case 1:r[1]=Le(e,8);break;case 2:r[1]=Lt(e,0,{biff:t>0&&t<8?2:t})}return r}function da(e,t){for(var r=e.read_shift(2),n=[],a=0;a!=r;++a)n.push(Gt(e,8));return n}function pa(e,t,r){var n=0,a=0;12==r.biff?(n=e.read_shift(4),a=e.read_shift(4)):(a=1+e.read_shift(1),n=1+e.read_shift(2)),r.biff>=2&&r.biff<8&&(--n,0==--a&&(a=256));for(var i=0,s=[];i!=n&&(s[i]=[]);++i)for(var o=0;o!=a;++o)s[i][o]=ua(e,r.biff);return s}function ga(e,t,r){var n=e.read_shift(1)>>>5&3,a=e.read_shift(2,\"i\");e.l+=8;var i=e.read_shift(2);return e.l+=12,[n,a,i]}function ma(e,t,r){var n=e.l+t,a=Wt(e,6);2==r.biff&&++e.l;var i=ba(e),s=e.read_shift(1);if(2!=r.biff&&(e.read_shift(1),r.biff>=5))e.read_shift(4);var o=Ca(e,n-e.l,r);return{cell:a,val:i[0],formula:o,shared:s>>3&1,tt:i[1]}}function ba(e){var t;if(65535!==kl(e,e.l+6))return[Le(e),\"n\"];switch(e[e.l]){case 0:return e.l+=8,[\"String\",\"s\"];case 1:return t=1===e[e.l+2],e.l+=8,[t,\"b\"];case 2:return t=e[e.l+2],e.l+=8,[t,\"e\"];case 3:return e.l+=8,[\"\",\"s\"]}return[]}function va(e,t,r,n){if(n.biff<8)return Z(e,t);for(var a=e.l+t,i=[],s=0;s!==r.length;++s)switch(r[s][0]){case\"PtgArray\":r[s][1]=pa(e,0,n),i.push(r[s][1]);break;case\"PtgMemArea\":r[s][2]=da(e,r[s][1]),i.push(r[s][2]);break;case\"PtgExp\":n&&12==n.biff&&(r[s][1][1]=e.read_shift(4),i.push(r[s][1]))}return 0!==(t=a-e.l)&&i.push(Z(e,t)),i}function Ea(e,t,r,n){var a,i=e.l+t,s=Aa(e,n,r);return i!==e.l&&(a=va(e,i-e.l,s,r)),[s,a]}function Ca(e,t,r){e.l;var n,a=2==r.biff?1:2,i=e.read_shift(a);if(65535==i)return[[],Z(e,t-2)];var s=Aa(e,i,r);return t!==i+a&&(n=va(e,t-i-a,s,r)),[s,n]}function wa(e,t,r){var n,a=e.l+t,i=e.read_shift(2),s=Aa(e,i,r);return 65535==i?[[],Z(e,t-2)]:(t!==i+2&&(n=va(e,a-i-2,s,r)),[s,n])}function Sa(e,t,r,n){e.l;var a,i=2==r.biff?1:2,s=e.read_shift(i);if(65535==s)return[[],Z(e,t-2)];var o=Aa(e,s,r);return t!==s+i&&(a=va(e,t-s-i,o,r)),[o,a]}function Aa(e,t,r){for(var n,a,i=e.l+t,s=[];i!=e.l;)t=i-e.l,a=e[e.l],n=rm[a],24!==a&&25!==a||(n=(24===(a=e[e.l+1])?am:im)[a]),n&&n.f?s.push([n.n,n.f(e,t,r)]):Z(e,t);return s}function Ba(e){for(var t=[],r=0;r<e.length;++r){for(var n=e[r],a=[],i=0;i<n.length;++i){var s=n[i];if(s)switch(s[0]){case 2:a.push('\"'+s[1].replace(/\"/g,'\"\"')+'\"');break;default:a.push(s[1])}else a.push(\"\")}t.push(a.join(\",\"))}return t.join(\";\")}function _a(e,t,r,n,a){var i,s,o,l,c={s:{c:0,r:0},e:{c:0,r:0}},f=[],h=0,u=0,d=\"\";if(!e[0]||!e[0][0])return\"\";for(var p=-1,g=\"\",m=0,b=e[0].length;m<b;++m){var v=e[0][m];switch(v[0]){case\"PtgUminus\":f.push(\"-\"+f.pop());break;case\"PtgUplus\":f.push(\"+\"+f.pop());break;case\"PtgPercent\":f.push(f.pop()+\"%\");break;case\"PtgAdd\":case\"PtgConcat\":case\"PtgDiv\":case\"PtgEq\":case\"PtgGe\":case\"PtgGt\":case\"PtgLe\":case\"PtgLt\":case\"PtgMul\":case\"PtgNe\":case\"PtgPower\":case\"PtgSub\":if(i=f.pop(),s=f.pop(),p>=0){switch(e[0][p][1][0]){case 0:g=S(\" \",e[0][p][1][1]);break;case 1:g=S(\"\\r\",e[0][p][1][1]);break;default:if(g=\"\",a.WTF)throw new Error(\"Unexpected PtgAttrSpaceType \"+e[0][p][1][0])}s+=g,p=-1}f.push(s+sm[v[0]]+i);break;case\"PtgIsect\":i=f.pop(),s=f.pop(),f.push(s+\" \"+i);break;case\"PtgUnion\":i=f.pop(),s=f.pop(),f.push(s+\",\"+i);break;case\"PtgRange\":i=f.pop(),s=f.pop(),f.push(s+\":\"+i);break;case\"PtgAttrChoose\":case\"PtgAttrGoto\":case\"PtgAttrIf\":case\"PtgAttrIfError\":break;case\"PtgRef\":v[1][0],o=te(v[1][1],c,a),f.push(ne(o));break;case\"PtgRefN\":v[1][0],o=r?te(v[1][1],r,a):v[1][1],f.push(ne(o));break;case\"PtgRef3d\":v[1][0],h=v[1][1],o=te(v[1][2],c,a);d=n.SheetNames[h];f.push(d+\"!\"+ne(o));break;case\"PtgFunc\":case\"PtgFuncVar\":var E=v[1][0],C=v[1][1];E||(E=0);var w=0==E?[]:f.slice(-E);f.length-=E,\"User\"===C&&(C=w.shift()),f.push(C+\"(\"+w.join(\",\")+\")\");break;case\"PtgBool\":f.push(v[1]?\"TRUE\":\"FALSE\");break;case\"PtgInt\":f.push(v[1]);break;case\"PtgNum\":f.push(String(v[1]));break;case\"PtgStr\":f.push('\"'+v[1]+'\"');break;case\"PtgErr\":f.push(v[1]);break;case\"PtgAreaN\":case\"PtgArea\":v[1][0],l=re(v[1][1],c,a),f.push(ae(l,a));break;case\"PtgArea3d\":v[1][0],h=v[1][1],l=v[1][2],d=n&&n[1]?n[1][h+1]:\"**MISSING**\",f.push(d+\"!\"+be(l));break;case\"PtgAttrSum\":f.push(\"SUM(\"+f.pop()+\")\");break;case\"PtgAttrSemi\":break;case\"PtgName\":u=v[1][2];var A=(n.names||[])[u-1]||(n[0]||[])[u],B=A?A.Name:\"**MISSING**\"+String(u);B in pm&&(B=pm[B]),f.push(B);break;case\"PtgNameX\":var _=v[1][1];u=v[1][2];var T;if(!(a.biff<=5)){n.SheetNames[_];var y=\"\";14849==((n[_]||[])[0]||[])[0]||(1025==((n[_]||[])[0]||[])[0]?n[_][u]&&n[_][u].itab>0&&(y=n.SheetNames[n[_][u].itab-1]+\"!\"):y=n.SheetNames[u-1]+\"!\"),n[_]&&n[_][u]?y+=n[_][u].Name:n[0]&&n[0][u]?y+=n[0][u].Name:y+=\"??NAMEX??\",f.push(y);break}_<0&&(_=-_),n[_]&&(T=n[_][u]),T||(T={Name:\"??NAMEX??\"}),f.push(T.Name);break;case\"PtgParen\":var k=\"(\",x=\")\";if(p>=0){switch(g=\"\",e[0][p][1][0]){case 2:k=S(\" \",e[0][p][1][1])+k;break;case 3:k=S(\"\\r\",e[0][p][1][1])+k;break;case 4:x=S(\" \",e[0][p][1][1])+x;break;case 5:x=S(\"\\r\",e[0][p][1][1])+x;break;default:if(a.WTF)throw new Error(\"Unexpected PtgAttrSpaceType \"+e[0][p][1][0])}p=-1}f.push(k+f.pop()+x);break;case\"PtgRefErr\":case\"PtgRefErr3d\":f.push(\"#REF!\");break;case\"PtgExp\":o={c:v[1][1],r:v[1][0]};var R={c:r.c,r:r.r};if(n.sharedf[ge(o)]){var I=n.sharedf[ge(o)];f.push(_a(I,c,R,n,a))}else{var O=!1;for(i=0;i!=n.arrayf.length;++i)if(s=n.arrayf[i],!(o.c<s[0].s.c||o.c>s[0].e.c||o.r<s[0].s.r||o.r>s[0].e.r)){f.push(_a(s[1],c,R,n,a)),O=!0;break}O||f.push(v[1])}break;case\"PtgArray\":f.push(\"{\"+Ba(v[1])+\"}\");break;case\"PtgMemArea\":break;case\"PtgAttrSpace\":case\"PtgAttrSpaceSemi\":p=m;break;case\"PtgTbl\":case\"PtgMemErr\":break;case\"PtgMissArg\":f.push(\"\");break;case\"PtgAreaErr\":case\"PtgAreaErr3d\":f.push(\"#REF!\");break;case\"PtgMemFunc\":break;default:throw new Error(\"Unrecognized Formula Token: \"+String(v))}var D=[\"PtgAttrSpace\",\"PtgAttrSpaceSemi\",\"PtgAttrGoto\"];if(p>=0&&-1==D.indexOf(e[0][m][0])){var P=!0;switch((v=e[0][p])[1][0]){case 4:P=!1;case 0:g=S(\" \",v[1][1]);break;case 5:P=!1;case 1:g=S(\"\\r\",v[1][1]);break;default:if(g=\"\",a.WTF)throw new Error(\"Unexpected PtgAttrSpaceType \"+v[1][0])}f.push((P?g:\"\")+f.pop()+(P?\"\":g)),p=-1}}if(f.length>1&&a.WTF)throw new Error(\"bad formula stack\");return f[0]}function Ta(e,t,r){e.l;var n=Aa(e,e.read_shift(4),r),a=e.read_shift(4);return[n,a>0?va(e,a,n,r):null]}function ya(e){return\"of:\"==e.substr(0,3)&&(e=e.substr(3)),61==e.charCodeAt(0)&&61==(e=e.substr(1)).charCodeAt(0)&&(e=e.substr(1)),e=e.replace(/COM\\.MICROSOFT\\./g,\"\"),e=e.replace(/\\[((?:\\.[A-Z]+[0-9]+)(?::\\.[A-Z]+[0-9]+)?)\\]/g,function(e,t){return t.replace(/\\./g,\"\")}),(e=e.replace(/\\[.(#[A-Z]*[?!])\\]/g,\"$1\")).replace(/[;~]/g,\",\").replace(/\\|/g,\";\")}function ka(e){return(\"of:=\"+e.replace(em,\"$1[.$2$3$4$5]\").replace(/\\]:\\[/g,\":\")).replace(/;/g,\"|\").replace(/,/g,\";\")}function xa(e){var t=e.split(\":\");return[t[0].split(\".\")[0],t[0].split(\".\")[1]+\":\"+t[1].split(\".\")[1]]}function Ra(e,t){for(var r=0,n=e.length;r<n;++r)if(e[r].t===t)return e.Count++,r;return e[n]={t:t},e.Count++,e.Unique++,n}function Ia(e,t){var r={min:e+1,max:e+1},n=-1;return t.MDW&&(Mg=t.MDW),null!=t.width?r.customWidth=1:null!=t.wpx?n=Hr(t.wpx):null!=t.wch&&(n=t.wch),n>-1?(r.width=Vr(n),r.customWidth=1):null!=t.width&&(r.width=t.width),t.hidden&&(r.hidden=!0),r}function Oa(e,t){if(e){var r=[.7,.7,.75,.75,.3,.3];\"xlml\"==t&&(r=[1,1,1,1,.5,.5]),null==e.left&&(e.left=r[0]),null==e.right&&(e.right=r[1]),null==e.top&&(e.top=r[2]),null==e.bottom&&(e.bottom=r[3]),null==e.header&&(e.header=r[4]),null==e.footer&&(e.footer=r[5])}}function Da(e,t,r){var n=r.revssf[null!=t.z?t.z:\"General\"],a=60,i=e.length;if(null==n&&r.ssf)for(;a<392;++a)if(null==r.ssf[a]){ko.load(t.z,a),r.ssf[a]=t.z,r.revssf[t.z]=n=a;break}for(a=0;a!=i;++a)if(e[a].numFmtId===n)return a;return e[i]={numFmtId:n,fontId:0,fillId:0,borderId:0,xfId:0,applyNumberFormat:1},i}function Pa(e,t,r,n,a,i){if(\"z\"!==e.t){\"d\"===e.t&&\"string\"==typeof e.v&&(e.v=v(e.v));try{n.cellNF&&(e.z=ko._table[t])}catch(e){if(n.WTF)throw e}if(!n||!1!==n.cellText)try{if(\"e\"===e.t)e.w=e.w||Xl[e.v];else if(0===t)if(\"n\"===e.t)(0|e.v)===e.v?e.w=ko._general_int(e.v,mm):e.w=ko._general_num(e.v,mm);else if(\"d\"===e.t){var s=g(e.v);e.w=(0|s)===s?ko._general_int(s,mm):ko._general_num(s,mm)}else{if(void 0===e.v)return\"\";e.w=ko._general(e.v,mm)}else\"d\"===e.t?e.w=ko.format(t,g(e.v),mm):e.w=ko.format(t,e.v,mm)}catch(e){if(n.WTF)throw e}if(r)try{e.s=i.Fills[r],e.s.fgColor&&e.s.fgColor.theme&&!e.s.fgColor.rgb&&(e.s.fgColor.rgb=Wr(a.themeElements.clrScheme[e.s.fgColor.theme].rgb,e.s.fgColor.tint||0),n.WTF&&(e.s.fgColor.raw_rgb=a.themeElements.clrScheme[e.s.fgColor.theme].rgb)),e.s.bgColor&&e.s.bgColor.theme&&(e.s.bgColor.rgb=Wr(a.themeElements.clrScheme[e.s.bgColor.theme].rgb,e.s.bgColor.tint||0),n.WTF&&(e.s.bgColor.raw_rgb=a.themeElements.clrScheme[e.s.bgColor.theme].rgb))}catch(e){if(n.WTF)throw e}}}function Fa(e,t){var r=ve(t);r.s.r<=r.e.r&&r.s.c<=r.e.c&&r.s.r>=0&&r.s.c>=0&&(e[\"!ref\"]=be(r))}function Na(e,t,r,n,a,i){if(!e)return e;null!=So&&null==t.dense&&(t.dense=So);var s=t.dense?[]:{},o={s:{r:2e6,c:2e6},e:{r:0,c:0}},l=\"\",c=\"\",f=e.match(vm);f?(l=e.substr(0,f.index),c=e.substr(f.index+f[0].length)):l=c=e;var h=(l.match(/<(?:\\w*:)?dimension/)||{index:-1}).index;if(h>0){var u=l.substr(h,50).match(Cm);u&&Fa(s,u[1])}var d=[];if(t.cellStyles){var p=l.match(wm);p&&Ha(d,p)}f&&Bm(f[1],s,t,o,a,i);var g=c.match(Sm);g&&(s[\"!autofilter\"]=Xa(g[0]));var m=[],b=c.match(bm);if(b)for(h=0;h!=b.length;++h)m[h]=ve(b[h].substr(b[h].indexOf('\"')+1));var v=c.match(Em);v&&Ua(s,v,r);var E=c.match(Am);if(E&&(s[\"!margins\"]=Wa(O(E[0]))),!s[\"!ref\"]&&o.e.c>=o.s.c&&o.e.r>=o.s.r&&(s[\"!ref\"]=be(o)),t.sheetRows>0&&s[\"!ref\"]){var C=ve(s[\"!ref\"]);t.sheetRows<+C.e.r&&(C.e.r=t.sheetRows-1,C.e.r>o.e.r&&(C.e.r=o.e.r),C.e.r<C.s.r&&(C.s.r=C.e.r),C.e.c>o.e.c&&(C.e.c=o.e.c),C.e.c<C.s.c&&(C.s.c=C.e.c),s[\"!fullref\"]=s[\"!ref\"],s[\"!ref\"]=be(C))}return m.length>0&&(s[\"!merges\"]=m),d.length>0&&(s[\"!cols\"]=d),s}function La(e){if(0==e.length)return\"\";for(var t='<mergeCells count=\"'+e.length+'\">',r=0;r!=e.length;++r)t+='<mergeCell ref=\"'+be(e[r])+'\"/>';return t+\"</mergeCells>\"}function Ma(e){var t={sheet:1},r=[\"formatColumns\",\"formatRows\",\"formatCells\",\"insertColumns\",\"insertRows\",\"insertHyperlinks\",\"deleteColumns\",\"deleteRows\",\"sort\",\"autoFilter\",\"pivotTables\"];return[\"objects\",\"scenarios\",\"selectLockedCells\",\"selectUnlockedCells\"].forEach(function(r){null!=e[r]&&e[r]&&(t[r]=\"1\")}),r.forEach(function(r){null==e[r]||e[r]||(t[r]=\"0\")}),e.password&&(t.password=Dr(e.password).toString(16).toUpperCase()),z(\"sheetProtection\",null,t)}function Ua(e,t,r){for(var n=Array.isArray(e),a=0;a!=t.length;++a){var i=O(Qo(t[a]),!0);if(!i.ref)return;var s=r?r[\"!id\"][i.id]:null;s?(i.Target=s.Target,i.location&&(i.Target+=\"#\"+i.location),i.Rel=s):(i.Target=i.location,s={Target:i.location,TargetMode:\"Internal\"},i.Rel=s),i.tooltip&&(i.Tooltip=i.tooltip,delete i.tooltip);for(var o=ve(i.ref),l=o.s.r;l<=o.e.r;++l)for(var c=o.s.c;c<=o.e.c;++c){var f=ge({c:c,r:l});n?(e[l]||(e[l]=[]),e[l][c]||(e[l][c]={t:\"z\",v:void 0}),e[l][c].l=i):(e[f]||(e[f]={t:\"z\",v:void 0}),e[f].l=i)}}}function Wa(e){var t={};return[\"left\",\"right\",\"top\",\"bottom\",\"header\",\"footer\"].forEach(function(r){e[r]&&(t[r]=parseFloat(e[r]))}),t}function za(e){return Oa(e),z(\"pageMargins\",null,e)}function Ha(e,t){for(var r=!1,n=0;n!=t.length;++n){var a=O(t[n],!0);a.hidden&&(a.hidden=L(a.hidden));var i=parseInt(a.min,10)-1,s=parseInt(a.max,10)-1;for(delete a.min,delete a.max,a.width=+a.width,!r&&a.width&&(r=!0,Gr(a.width)),jr(a);i<=s;)e[i++]=w(a)}}function Va(e,t){for(var r,n=[\"<cols>\"],a=0;a!=t.length;++a)(r=t[a])&&(n[n.length]=z(\"col\",null,Ia(a,r)));return n[n.length]=\"</cols>\",n.join(\"\")}function Xa(e){return{ref:(e.match(/ref=\"([^\"]*)\"/)||[])[1]}}function Ga(e){return z(\"autoFilter\",null,{ref:e.ref})}function ja(e,t,r,n){return z(\"sheetViews\",z(\"sheetView\",null,{workbookViewId:\"0\"}),{})}function Ya(e,t,r,n,a,i){if(void 0===e.v&&void 0===e.f||\"z\"===e.t)return\"\";var s=\"\",o=e.t,l=e.v;switch(e.t){case\"b\":s=e.v?\"1\":\"0\";break;case\"n\":s=\"\"+e.v;break;case\"e\":s=Xl[e.v];break;case\"d\":n.cellDates?s=v(e.v,-1).toISOString():(e.t=\"n\",s=\"\"+(e.v=g(v(e.v)))),void 0===e.z&&(e.z=ko._table[14]);break;default:s=e.v}var c=U(\"v\",P(s)),f={r:t},h=Da(n.cellXfs,e,n);switch(0!==h&&(f.s=h),e.t){case\"n\":break;case\"d\":f.t=\"d\";break;case\"b\":f.t=\"b\";break;case\"e\":f.t=\"e\";break;default:if(null==e.v){delete e.t;break}if(n.bookSST){c=U(\"v\",\"\"+Ra(n.Strings,e.v)),f.t=\"s\";break}f.t=\"str\"}if(e.t!=o&&(e.t=o,e.v=l),e.f){var u=e.F&&e.F.substr(0,t.length)==t?{t:\"array\",ref:e.F}:null;c=z(\"f\",P(e.f),u)+(null!=e.v?c:\"\")}return e.l&&r[\"!links\"].push([t,e.l]),e.c&&r[\"!comments\"].push([t,e.c]),z(\"c\",c,f)}function Ka(e,t,r,n,a){var i,s,o=[],l=[],c=ve(e[\"!ref\"]),f=\"\",h=[],u=0,d=0,p=e[\"!rows\"],g=Array.isArray(e);for(d=c.s.c;d<=c.e.c;++d)h[d]=fe(d);for(u=c.s.r;u<=c.e.r;++u){for(l=[],f=se(u),d=c.s.c;d<=c.e.c;++d){s=h[d]+f;var m=g?(e[u]||[])[d]:e[s];void 0!==m&&(null!=(i=Ya(m,s,e,t,r,n))&&l.push(i))}if(l.length>0){var b={r:f};if(p&&p[u]){var v=p[u];v.hidden&&(b.hidden=1);var E=-1;v.hpx?E=Yr(v.hpx):v.hpt&&(E=v.hpt),E>-1&&(b.ht=E,b.customHeight=1)}o[o.length]=z(\"row\",l.join(\"\"),b)}}return o.join(\"\")}function $a(e,t,r,n){var a=[sl,_m],i=r.SheetNames[e],s=0,o=\"\",l=r.Sheets[i];null==l&&(l={});var c=l[\"!ref\"];null==c&&(c=\"A1\"),n||(n={}),l[\"!comments\"]=[],l[\"!drawing\"]=[],a[a.length]=z(\"sheetPr\",null,{codeName:P(r.SheetNames[e])}),a[a.length]=z(\"dimension\",null,{ref:c}),a[a.length]=ja(l,t,e,r),t.sheetFormat&&(a[a.length]=z(\"sheetFormatPr\",null,{defaultRowHeight:t.sheetFormat.defaultRowHeight||\"16\",baseColWidth:t.sheetFormat.baseColWidth||\"10\"})),null!=l[\"!cols\"]&&l[\"!cols\"].length>0&&(a[a.length]=Va(l,l[\"!cols\"])),a[s=a.length]=\"<sheetData/>\",l[\"!links\"]=[],null!=l[\"!ref\"]&&(o=Ka(l,t,e,r,n)).length>0&&(a[a.length]=o),a.length>s+1&&(a[a.length]=\"</sheetData>\",a[s]=a[s].replace(\"/>\",\">\")),null!=l[\"!protect\"]&&(a[a.length]=Ma(l[\"!protect\"])),null!=l[\"!autofilter\"]&&(a[a.length]=Ga(l[\"!autofilter\"])),null!=l[\"!merges\"]&&l[\"!merges\"].length>0&&(a[a.length]=La(l[\"!merges\"]));var f,h=-1,u=-1;l[\"!links\"].length>0&&(a[a.length]=\"<hyperlinks>\",l[\"!links\"].forEach(function(e){e[1].Target&&(u=Ke(n,-1,P(e[1].Target).replace(/#.*$/,\"\"),lc.HLINK),f={ref:e[0],\"r:id\":\"rId\"+u},(h=e[1].Target.indexOf(\"#\"))>-1&&(f.location=P(e[1].Target.substr(h+1))),e[1].Tooltip&&(f.tooltip=P(e[1].Tooltip)),a[a.length]=z(\"hyperlink\",null,f))}),a[a.length]=\"</hyperlinks>\"),delete l[\"!links\"],null!=l[\"!margins\"]&&(a[a.length]=za(l[\"!margins\"]));a.length;return a[a.length]=\"\",l[\"!drawing\"].length>0?(u=Ke(n,-1,\"../drawings/drawing\"+(e+1)+\".xml\",lc.DRAW),a[a.length]=z(\"drawing\",null,{\"r:id\":\"rId\"+u})):delete l[\"!drawing\"],l[\"!comments\"].length>0&&(u=Ke(n,-1,\"../drawings/vmlDrawing\"+(e+1)+\".vml\",lc.VML),a[a.length]=z(\"legacyDrawing\",null,{\"r:id\":\"rId\"+u}),l[\"!legacy\"]=u),a.length>2&&(a[a.length]=\"</worksheet>\",a[1]=a[1].replace(\"/>\",\">\")),a.join(\"\")}function Za(e,t,r){var n=Q(145),a=(r[\"!rows\"]||[])[e]||{};n.write_shift(4,e),n.write_shift(4,0);var i=320;a.hpx?i=20*Yr(a.hpx):a.hpt&&(i=20*a.hpt),n.write_shift(2,i),n.write_shift(1,0);var s=0;a.hidden&&(s|=16),(a.hpx||a.hpt)&&(s|=32),n.write_shift(1,s),n.write_shift(1,0);var o=0,l=n.l;n.l+=4;for(var c={r:e,c:0},f=0;f<16;++f)if(!(t.s.c>f+1<<10||t.e.c<f<<10)){for(var h=-1,u=-1,d=f<<10;d<f+1<<10;++d)c.c=d,(Array.isArray(r)?(r[c.r]||[])[c.c]:r[ge(c)])&&(h<0&&(h=d),u=d);h<0||(++o,n.write_shift(4,h),n.write_shift(4,u))}var p=n.l;return n.l=l,n.write_shift(4,o),n.l=p,n.length>n.l?n.slice(0,n.l):n}function Qa(e,t,r,n){var a=Za(n,r,t);a.length>17&&ee(e,\"BrtRowHdr\",a)}function qa(e,t){null==t&&(t=Q(84+4*e.length));for(var r=0;r<3;++r)t.write_shift(1,0);return We({auto:1},t),t.write_shift(-4,-1),t.write_shift(-4,-1),Ml(e,t),t.slice(0,t.l)}function Ja(e,t,r){return null==r&&(r=Q(8)),Ie(t,r)}function ei(e,t,r){return null==r&&(r=Q(9)),Ie(t,r),r.write_shift(1,e.v?1:0),r}function ti(e,t,r){return null==r&&(r=Q(12)),Ie(t,r),r.write_shift(4,t.v),r}function ri(e,t,r){return null==r&&(r=Q(16)),Ie(t,r),Me(e.v,r),r}function ni(e,t,r){return null==r&&(r=Q(12)),Ie(t,r),Fe(e.v,r),r}function ai(e,t,r){return null==r&&(r=Q(12+4*e.v.length)),Ie(t,r),_e(e.v,r),r.length>r.l?r.slice(0,r.l):r}function ii(e,t){return null==t&&(t=Q(4)),t.write_shift(4,e),t}function si(e,t,r){null==r&&(r=Q(50+4*e[1].Target.length)),Vl({s:pe(e[0]),e:pe(e[0])},r),zl(\"rId\"+t,r);var n=e[1].Target.indexOf(\"#\");return _e((-1==n?\"\":e[1].Target.substr(n+1))||\"\",r),_e(e[1].Tooltip||\"\",r),_e(\"\",r),r.slice(0,r.l)}function oi(e,t,r){null==r&&(r=Q(18));var n=Ia(e,t);r.write_shift(-4,e),r.write_shift(-4,e),r.write_shift(4,256*(n.width||10)),r.write_shift(4,0);var a=0;return t.hidden&&(a|=1),\"number\"==typeof n.width&&(a|=2),r.write_shift(1,a),r.write_shift(1,0),r}function li(e,t){return null==t&&(t=Q(48)),Oa(e),Me(e.left,t),Me(e.right,t),Me(e.top,t),Me(e.bottom,t),Me(e.header,t),Me(e.footer,t),t}function ci(e,t){return null==t&&(t=Q(30)),t.write_shift(2,924),t.write_shift(4,0),t.write_shift(4,0),t.write_shift(4,0),t.write_shift(1,0),t.write_shift(1,0),t.write_shift(2,0),t.write_shift(2,100),t.write_shift(2,0),t.write_shift(2,0),t.write_shift(2,0),t.write_shift(4,0),t}function fi(e,t){return null==t&&(t=Q(66)),t.write_shift(2,e.password?Dr(e.password):0),t.write_shift(4,1),[[\"objects\",!1],[\"scenarios\",!1],[\"formatCells\",!0],[\"formatColumns\",!0],[\"formatRows\",!0],[\"insertColumns\",!0],[\"insertRows\",!0],[\"insertHyperlinks\",!0],[\"deleteColumns\",!0],[\"deleteRows\",!0],[\"selectLockedCells\",!1],[\"sort\",!0],[\"autoFilter\",!0],[\"pivotTables\",!0],[\"selectUnlockedCells\",!1]].forEach(function(r){r[1]?t.write_shift(4,null==e[r[0]]||e[r[0]]?0:1):t.write_shift(4,null!=e[r[0]]&&e[r[0]]?0:1)}),t}function hi(e,t,r,n,a,i){if(!e)return e;var s=t||{};r||(r={\"!id\":{}}),null!=So&&null==s.dense&&(s.dense=So);var o,l,c,f,h,u,d,p,g,m,b=s.dense?[]:{},v={s:{r:2e6,c:2e6},e:{r:0,c:0}},E=!1,C=!1,w=[];s.biff=12,s[\"!row\"]=0;var S=0,A=!1,B=[],_={},T=[[]];T.sharedf=_,T.arrayf=B,T.SheetNames=n.SheetNames||n.Sheets.map(function(e){return e.name}),s.supbooks=T;for(var y=0;y<n.Names.length;++y)T[0][y+1]=n.Names[y];var k=[],x=[],R=!1;if(q(e,function(e,t,n){if(!C)switch(n){case 148:o=e;break;case 0:l=e,s.sheetRows&&s.sheetRows<=l.r&&(C=!0),g=se(h=l.r),s[\"!row\"]=l.r,(e.hidden||e.hpt)&&(e.hpt&&(e.hpx=Kr(e.hpt)),x[e.r]=e);break;case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:switch(c={t:e[2]},e[2]){case\"n\":c.v=e[1];break;case\"s\":p=gm[e[1]],c.v=p.t,c.r=p.r;break;case\"b\":c.v=!!e[1];break;case\"e\":c.v=e[1],!1!==s.cellText&&(c.w=Xl[c.v]);break;case\"str\":c.t=\"s\",c.v=Qo(e[1])}if((f=i.CellXf[e[0].iStyleRef])&&Pa(c,f.ifmt,null,s,a,i),u=e[0].c,s.dense?(b[h]||(b[h]=[]),b[h][u]=c):b[fe(u)+g]=c,s.cellFormula){for(A=!1,S=0;S<B.length;++S){var y=B[S];l.r>=y[0].s.r&&l.r<=y[0].e.r&&u>=y[0].s.c&&u<=y[0].e.c&&(c.F=be(y[0]),A=!0)}!A&&e.length>3&&(c.f=e[3])}if(v.s.r>l.r&&(v.s.r=l.r),v.s.c>u&&(v.s.c=u),v.e.r<l.r&&(v.e.r=l.r),v.e.c<u&&(v.e.c=u),s.cellDates&&f&&\"n\"==c.t&&ko.is_date(ko._table[f.ifmt])){var I=ko.parse_date_code(c.v);I&&(c.t=\"d\",c.v=new Date(I.y,I.m-1,I.d,I.H,I.M,I.S,I.u))}break;case 1:if(!s.sheetStubs)break;c={t:\"z\",v:void 0},u=e[0].c,s.dense?(b[h]||(b[h]=[]),b[h][u]=c):b[fe(u)+g]=c,v.s.r>l.r&&(v.s.r=l.r),v.s.c>u&&(v.s.c=u),v.e.r<l.r&&(v.e.r=l.r),v.e.c<u&&(v.e.c=u);break;case 176:w.push(e);break;case 494:var O=r[\"!id\"][e.relId];for(O&&(e.Target=O.Target,e.loc&&(e.Target+=\"#\"+e.loc),e.Rel=O),h=e.rfx.s.r;h<=e.rfx.e.r;++h)for(u=e.rfx.s.c;u<=e.rfx.e.c;++u)s.dense?(b[h]||(b[h]=[]),b[h][u]||(b[h][u]={t:\"z\",v:void 0}),b[h][u].l=e):(d=ge({c:u,r:h}),b[d]||(b[d]={t:\"z\",v:void 0}),b[d].l=e);break;case 426:if(!s.cellFormula)break;B.push(e),(m=s.dense?b[h][u]:b[fe(u)+g]).f=_a(e[1],v,{r:l.r,c:u},T,s),m.F=be(e[0]);break;case 427:if(!s.cellFormula)break;_[ge(e[0].s)]=e[1],(m=s.dense?b[h][u]:b[fe(u)+g]).f=_a(e[1],v,{r:l.r,c:u},T,s);break;case 60:if(!s.cellStyles)break;for(;e.e>=e.s;)k[e.e--]={width:e.w/256,hidden:!!(1&e.flags)},R||(R=!0,Gr(e.w/256)),jr(k[e.e+1]);break;case 161:b[\"!autofilter\"]={ref:be(e)};break;case 476:b[\"!margins\"]=e;break;case 175:case 644:case 625:case 562:case 396:case 1112:case 1146:case 471:case 1050:case 649:case 1105:case 49:case 589:case 607:case 564:case 1055:case 168:case 174:case 1180:case 499:case 64:case 1053:case 550:case 171:case 167:case 1177:case 169:case 1181:case 551:case 552:case 661:case 639:case 478:case 151:case 537:case 477:case 536:case 1103:case 680:case 1104:case 1024:case 152:case 663:case 535:case 678:case 504:case 1043:case 428:case 170:case 50:case 2070:case 485:case 1045:case 147:break;case 35:E=!0;break;case 36:E=!1;break;case 37:case 38:break;default:if((t||\"\").indexOf(\"Begin\")>0);else if((t||\"\").indexOf(\"End\")>0);else if(!E||s.WTF)throw new Error(\"Unexpected record \"+n+\" \"+t)}},s),delete s.supbooks,delete s[\"!row\"],!b[\"!ref\"]&&(v.s.r<2e6||o&&(o.e.r>0||o.e.c>0||o.s.r>0||o.s.c>0))&&(b[\"!ref\"]=be(o||v)),s.sheetRows&&b[\"!ref\"]){var I=ve(b[\"!ref\"]);s.sheetRows<+I.e.r&&(I.e.r=s.sheetRows-1,I.e.r>v.e.r&&(I.e.r=v.e.r),I.e.r<I.s.r&&(I.s.r=I.e.r),I.e.c>v.e.c&&(I.e.c=v.e.c),I.e.c<I.s.c&&(I.s.c=I.e.c),b[\"!fullref\"]=b[\"!ref\"],b[\"!ref\"]=be(I))}return w.length>0&&(b[\"!merges\"]=w),k.length>0&&(b[\"!cols\"]=k),x.length>0&&(b[\"!rows\"]=x),b}function ui(e,t,r,n,a,i){if(void 0===t.v)return\"\";var s=\"\",o=null;switch(t.t){case\"b\":s=t.v?\"1\":\"0\";break;case\"d\":t.z=t.z||ko._table[14],o=t.v,t.v=g(t.v),t.t=\"n\";break;case\"n\":case\"e\":s=\"\"+t.v;break;default:s=t.v}var l={r:r,c:n};switch(l.s=Da(a.cellXfs,t,a),t.l&&i[\"!links\"].push([ge(l),t.l]),t.c&&i[\"!comments\"].push([ge(l),t.c]),t.t){case\"s\":case\"str\":return void(a.bookSST?(s=Ra(a.Strings,t.v),l.t=\"s\",l.v=s,ee(e,\"BrtCellIsst\",ti(t,l))):(l.t=\"str\",ee(e,\"BrtCellSt\",ai(t,l))));case\"n\":return t.v==(0|t.v)&&t.v>-1e3&&t.v<1e3?ee(e,\"BrtCellRk\",ni(t,l)):ee(e,\"BrtCellReal\",ri(t,l)),void(o&&(t.t=\"d\",t.v=o));case\"b\":return l.t=\"b\",void ee(e,\"BrtCellBool\",ei(t,l));case\"e\":l.t=\"e\"}ee(e,\"BrtCellBlank\",Ja(t,l))}function di(e,t,r,n,a){var i,s=ve(t[\"!ref\"]||\"A1\"),o=\"\",l=[];ee(e,\"BrtBeginSheetData\");for(var c=Array.isArray(t),f=s.s.r;f<=s.e.r;++f){o=se(f),Qa(e,t,s,f);for(var h=s.s.c;h<=s.e.c;++h){f===s.s.r&&(l[h]=fe(h)),i=l[h]+o;var u=c?(t[f]||[])[h]:t[i];u&&ui(e,u,f,h,n,t)}}ee(e,\"BrtEndSheetData\")}function pi(e,t){t&&t[\"!merges\"]&&(ee(e,\"BrtBeginMergeCells\",ii(t[\"!merges\"].length)),t[\"!merges\"].forEach(function(t){ee(e,\"BrtMergeCell\",xm(t))}),ee(e,\"BrtEndMergeCells\"))}function gi(e,t,r,n,a){t&&t[\"!cols\"]&&(ee(e,\"BrtBeginColInfos\"),t[\"!cols\"].forEach(function(t,r){t&&ee(e,\"BrtColInfo\",oi(r,t))}),ee(e,\"BrtEndColInfos\"))}function mi(e,t,r){t[\"!links\"].forEach(function(t){if(t[1].Target){var n=Ke(r,-1,t[1].Target.replace(/#.*$/,\"\"),lc.HLINK);ee(e,\"BrtHLink\",si(t,n))}}),delete t[\"!links\"]}function bi(e,t,r,n){if(t[\"!comments\"].length>0){var a=Ke(n,-1,\"../drawings/vmlDrawing\"+(r+1)+\".vml\",lc.VML);ee(e,\"BrtLegacyDrawing\",zl(\"rId\"+a)),t[\"!legacy\"]=a}}function vi(e,t){t[\"!autofilter\"]&&(ee(e,\"BrtBeginAFilter\",Vl(me(t[\"!autofilter\"].ref))),ee(e,\"BrtEndAFilter\"))}function Ei(e,t){ee(e,\"BrtBeginWsViews\"),ee(e,\"BrtBeginWsView\",ci(t)),ee(e,\"BrtEndWsView\"),ee(e,\"BrtEndWsViews\")}function Ci(e,t){}function wi(e,t){t[\"!protect\"]&&ee(e,\"BrtSheetProtection\",fi(t[\"!protect\"]))}function Si(e,t,r,n){var a=J(),i=r.SheetNames[e],s=r.Sheets[i]||{},o=ve(s[\"!ref\"]||\"A1\");return s[\"!links\"]=[],s[\"!comments\"]=[],ee(a,\"BrtBeginSheet\"),ee(a,\"BrtWsProp\",qa(i)),ee(a,\"BrtWsDim\",ym(o)),Ei(a,s),Ci(a,s),gi(a,s,e,t,r),di(a,s,e,t,r),wi(a,s),vi(a,s),pi(a,s),mi(a,s,n),s[\"!margins\"]&&ee(a,\"BrtMargins\",li(s[\"!margins\"])),bi(a,s,e,n),ee(a,\"BrtEndSheet\"),a.end()}function Ai(e){var t=[];(e.match(/<c:pt idx=\"(\\d*)\">(.*?)<\\/c:pt>/gm)||[]).forEach(function(e){var r=e.match(/<c:pt idx=\"(.*?)\"><c:v>(.*)<\\/c:v><\\/c:pt>/);r&&(t[+r[1]]=+r[2])});var r=Go((e.match(/<c:formatCode>(.*?)<\\/c:formatCode>/)||[\"\",\"General\"])[1]);return[t,r]}function Bi(e,t,r,n,a,i){var s=i||{\"!type\":\"chart\"};if(!e)return i;var o=0,l=0,c=\"A\",f={s:{r:2e6,c:2e6},e:{r:0,c:0}};return(e.match(/<c:numCache>.*?<\\/c:numCache>/gm)||[]).forEach(function(e){var t=Ai(e);f.s.r=f.s.c=0,f.e.c=o,c=fe(o),t[0].forEach(function(e,r){s[c+se(r)]={t:\"n\",v:e,z:t[1]},l=r}),f.e.r<l&&(f.e.r=l),++o}),o>0&&(s[\"!ref\"]=be(f)),s}function _i(e,t,r,n,a,i){if(!e)return e;r||(r={\"!id\":{}});var s,o={\"!type\":\"chart\",\"!chart\":null,\"!rel\":\"\"};return(s=e.match(/drawing r:id=\"(.*?)\"/))&&(o[\"!rel\"]=s[1]),r[\"!id\"][o[\"!rel\"]]&&(o[\"!chart\"]=r[\"!id\"][o[\"!rel\"]]),o}function Ti(e,t,r,n,a,i){if(!e)return e;r||(r={\"!id\":{}});var s={\"!type\":\"chart\",\"!chart\":null,\"!rel\":\"\"},o=[],l=!1;return q(e,function(e,r,n){switch(n){case 550:s[\"!rel\"]=e;break;case 562:case 652:case 651:case 669:case 679:case 551:case 552:case 476:break;case 35:l=!0;break;case 36:l=!1;break;case 37:o.push(r);break;case 38:o.pop();break;default:if((r||\"\").indexOf(\"Begin\")>0)o.push(r);else if((r||\"\").indexOf(\"End\")>0)o.pop();else if(!l||t.WTF)throw new Error(\"Unexpected record \"+n+\" \"+r)}},t),r[\"!id\"][s[\"!rel\"]]&&(s[\"!chart\"]=r[\"!id\"][s[\"!rel\"]]),s}function yi(e,t){for(var r=0;r!=e.length;++r)for(var n=e[r],a=0;a!=t.length;++a){var i=t[a];if(null==n[i[0]])n[i[0]]=i[1];else switch(i[2]){case\"bool\":\"string\"==typeof n[i[0]]&&(n[i[0]]=L(n[i[0]],i[0]));break;case\"int\":\"string\"==typeof n[i[0]]&&(n[i[0]]=parseInt(n[i[0]],10))}}}function ki(e,t){for(var r=0;r!=t.length;++r){var n=t[r];if(null==e[n[0]])e[n[0]]=n[1];else switch(n[2]){case\"bool\":\"string\"==typeof e[n[0]]&&(e[n[0]]=L(e[n[0]],n[0]));break;case\"int\":\"string\"==typeof e[n[0]]&&(e[n[0]]=parseInt(e[n[0]],10))}}}function xi(e){ki(e.WBProps,Rm),ki(e.CalcPr,Dm),yi(e.WBView,Im),yi(e.Sheets,Om),mm.date1904=L(e.WBProps.date1904,\"date1904\")}function Ri(e,t){if(e.length>31){if(t)return!1;throw new Error(\"Sheet names cannot exceed 31 chars\")}var r=!0;return Pm.forEach(function(n){if(-1!=e.indexOf(n)){if(!t)throw new Error(\"Sheet name cannot contain : \\\\ / ? * [ ]\");r=!1}}),r}function Ii(e){e.forEach(function(t,r){Ri(t);for(var n=0;n<r;++n)if(t==e[n])throw new Error(\"Duplicate Sheet Name: \"+t)})}function Oi(e){if(!e||!e.SheetNames||!e.Sheets)throw new Error(\"Invalid Workbook\");Ii(e.SheetNames)}function Di(e,t){if(!e)throw new Error(\"Could not find file\");var r={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},Names:[],xmlns:\"\"},n=!1,a=\"xmlns\",i={},s=0;if(e.replace(Wo,function(o,l){var c=O(o);switch(D(c[0])){case\"<?xml\":break;case\"<workbook\":o.match(Fm)&&(a=\"xmlns\"+o.match(/<(\\w+):/)[1]),r.xmlns=c[a];break;case\"</workbook>\":break;case\"<fileVersion\":delete c[0],r.AppVersion=c;break;case\"<fileVersion/>\":case\"</fileVersion>\":break;case\"<fileSharing\":case\"<fileSharing/>\":break;case\"<workbookPr\":case\"<workbookPr/>\":Rm.forEach(function(e){if(null!=c[e[0]])switch(e[2]){case\"bool\":r.WBProps[e[0]]=L(c[e[0]],e[0]);break;case\"int\":r.WBProps[e[0]]=parseInt(c[e[0]],10);break;default:r.WBProps[e[0]]=c[e[0]]}});break;case\"</workbookPr>\":case\"<workbookProtection\":case\"<workbookProtection/>\":break;case\"<bookViews>\":case\"</bookViews>\":break;case\"<workbookView\":delete c[0],r.WBView.push(c);break;case\"</workbookView>\":break;case\"<sheets>\":case\"</sheets>\":break;case\"<sheet\":switch(c.state){case\"hidden\":c.Hidden=1;break;case\"veryHidden\":c.Hidden=2;break;default:c.Hidden=0}delete c.state,c.name=Go(Qo(c.name)),delete c[0],r.Sheets.push(c);break;case\"</sheet>\":break;case\"<functionGroups\":case\"<functionGroups/>\":case\"<functionGroup\":break;case\"<externalReferences\":case\"</externalReferences>\":case\"<externalReferences>\":case\"<externalReference\":case\"<definedNames/>\":break;case\"<definedNames>\":case\"<definedNames\":n=!0;break;case\"</definedNames>\":n=!1;break;case\"<definedName\":(i={}).Name=c.name,c.comment&&(i.Comment=c.comment),c.localSheetId&&(i.Sheet=+c.localSheetId),s=l+o.length;break;case\"</definedName>\":i.Ref=e.slice(s,l),r.Names.push(i);break;case\"<definedName/>\":break;case\"<calcPr\":case\"<calcPr/>\":delete c[0],r.CalcPr=c;break;case\"</calcPr>\":case\"<oleSize\":break;case\"<customWorkbookViews>\":case\"</customWorkbookViews>\":case\"<customWorkbookViews\":break;case\"<customWorkbookView\":case\"</customWorkbookView>\":break;case\"<pivotCaches>\":case\"</pivotCaches>\":case\"<pivotCaches\":case\"<pivotCache\":break;case\"<smartTagPr\":case\"<smartTagPr/>\":break;case\"<smartTagTypes\":case\"<smartTagTypes>\":case\"</smartTagTypes>\":case\"<smartTagType\":break;case\"<webPublishing\":case\"<webPublishing/>\":break;case\"<fileRecoveryPr\":case\"<fileRecoveryPr/>\":break;case\"<webPublishObjects>\":case\"<webPublishObjects\":case\"</webPublishObjects>\":case\"<webPublishObject\":break;case\"<extLst>\":case\"</extLst>\":case\"<extLst/>\":break;case\"<ext\":n=!0;break;case\"</ext>\":n=!1;break;case\"<ArchID\":break;case\"<AlternateContent\":n=!0;break;case\"</AlternateContent>\":n=!1;break;default:if(!n&&t.WTF)throw new Error(\"unrecognized \"+c[0]+\" in workbook\")}return o}),-1===ol.main.indexOf(r.xmlns))throw new Error(\"Unknown Namespace: \"+r.xmlns);return xi(r),r}function Pi(e,t){var r=[sl];r[r.length]=Nm;var n=e.Workbook&&(e.Workbook.Names||[]).length>0,a={codeName:\"ThisWorkbook\"};e.Workbook&&e.Workbook.WBProps&&(e.Workbook.WBProps.codeName&&(a.codeName=e.Workbook.WBProps.codeName),Rm.forEach(function(t){null!=e.Workbook.WBProps[t[0]]&&e.Workbook.WBProps[t[0]]!=t[1]&&(a[t[0]]=e.Workbook.WBProps[t[0]])})),r[r.length]=z(\"workbookPr\",null,a),r[r.length]=\"<sheets>\";for(var i=e.Workbook&&e.Workbook.Sheets||[],s=0;s!=e.SheetNames.length;++s){var o={name:P(e.SheetNames[s].substr(0,31))};if(o.sheetId=\"\"+(s+1),o[\"r:id\"]=\"rId\"+(s+1),i[s])switch(i[s].Hidden){case 1:o.state=\"hidden\";break;case 2:o.state=\"veryHidden\"}r[r.length]=z(\"sheet\",null,o)}return r[r.length]=\"</sheets>\",n&&(r[r.length]=\"<definedNames>\",e.Workbook&&e.Workbook.Names&&e.Workbook.Names.forEach(function(e){var t={name:e.Name};e.Comment&&(t.comment=e.Comment),null!=e.Sheet&&(t.localSheetId=\"\"+e.Sheet),e.Ref&&(r[r.length]=z(\"definedName\",String(e.Ref),t))}),r[r.length]=\"</definedNames>\"),r.length>2&&(r[r.length]=\"</workbook>\",r[1]=r[1].replace(\"/>\",\">\")),r.join(\"\")}function Fi(e,t){return t||(t=Q(127)),t.write_shift(4,e.Hidden),t.write_shift(4,e.iTabID),zl(e.strRelID,t),_e(e.name.substr(0,31),t),t.length>t.l?t.slice(0,t.l):t}function Ni(e,t){t||(t=Q(72));var r=0;return e&&e.filterPrivacy&&(r|=8),t.write_shift(4,r),t.write_shift(4,0),Ml(\"ThisWorkbook\",t),t.slice(0,t.l)}function Li(e,t){var r={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:\"\"},n=!1;t||(t={}),t.biff=12;var a=[],i=[];return i.SheetNames=[],q(e,function(e,s,o){switch(o){case 156:i.SheetNames.push(e.name),r.Sheets.push(e);break;case 39:e.Ref=_a(e.Ptg,null,null,i,t),delete e.Ptg,a.push(e);break;case 1036:break;case 153:r.WBProps=e;break;case 2071:case 534:case 677:case 158:case 157:case 610:case 2050:case 362:case 155:case 548:case 676:case 128:case 665:case 2128:case 2125:case 549:case 2053:case 361:case 596:case 667:case 355:case 358:case 357:case 2076:case 2075:case 2082:case 397:case 154:case 1117:case 553:case 2091:break;case 35:n=!0;break;case 36:n=!1;break;case 37:case 38:case 16:break;default:if((s||\"\").indexOf(\"Begin\")>0);else if((s||\"\").indexOf(\"End\")>0);else if(!n||t.WTF)throw new Error(\"Unexpected record \"+o+\" \"+s)}},t),xi(r),r.Names=a,r}function Mi(e,t,r){ee(e,\"BrtBeginBundleShs\");for(var n=0;n!=t.SheetNames.length;++n)ee(e,\"BrtBundleSh\",Fi({Hidden:t.Workbook&&t.Workbook.Sheets&&t.Workbook.Sheets[n]&&t.Workbook.Sheets[n].Hidden||0,iTabID:n+1,strRelID:\"rId\"+(n+1),name:t.SheetNames[n]}));ee(e,\"BrtEndBundleShs\")}function Ui(e,t){t||(t=Q(127));for(var n=0;4!=n;++n)t.write_shift(4,0);return _e(\"SheetJS\",t),_e(r.version,t),_e(r.version,t),_e(\"7262\",t),t.length=t.l,t.length>t.l?t.slice(0,t.l):t}function Wi(e,t){t||(t=Q(29)),t.write_shift(-4,0),t.write_shift(-4,460),t.write_shift(4,28800),t.write_shift(4,17600),t.write_shift(4,500),t.write_shift(4,e),t.write_shift(4,e);return t.write_shift(1,120),t.length>t.l?t.slice(0,t.l):t}function zi(e,t,r){if(t.Workbook&&t.Workbook.Sheets){for(var n=t.Workbook.Sheets,a=0,i=-1,s=-1;a<n.length;++a)!n[a]||!n[a].Hidden&&-1==i?i=a:1==n[a].Hidden&&-1==s&&(s=a);s>i||(ee(e,\"BrtBeginBookViews\"),ee(e,\"BrtBookView\",Wi(i)),ee(e,\"BrtEndBookViews\"))}}function Hi(e,t){var r=J();return ee(r,\"BrtBeginBook\"),ee(r,\"BrtFileVersion\",Ui()),ee(r,\"BrtWbProp\",Ni(e.Workbook&&e.Workbook.WBProps||null)),zi(r,e,t),Mi(r,e,t),ee(r,\"BrtEndBook\"),r.end()}function Vi(e,t,r){return\".bin\"===t.slice(-4)?Li(e,r):Di(e,r)}function Xi(e,t,r,n,a,i,s){return\".bin\"===t.slice(-4)?hi(e,r,n,a,i,s):Na(e,r,n,a,i,s)}function Gi(e,t,r,n,a,i,s){return\".bin\"===t.slice(-4)?Ti(e,r,n,a,i,s):_i(e,r,n,a,i,s)}function ji(e,t,r,n,a,i,s){return\".bin\"===t.slice(-4)?Qn(e,r,n,a,i,s):qn(e,r,n,a,i,s)}function Yi(e,t,r,n,a,i,s){return\".bin\"===t.slice(-4)?$n(e,r,n,a,i,s):Zn(e,r,n,a,i,s)}function Ki(e,t,r,n){return\".bin\"===t.slice(-4)?pn(e,r,n):Vg(e,r,n)}function $i(e,t,r){return Rn(e,r)}function Zi(e,t,r){return\".bin\"===t.slice(-4)?dr(e,r):cr(e,r)}function Qi(e,t,r){return\".bin\"===t.slice(-4)?Yn(e,r):Xn(e,r)}function qi(e,t,r){return\".bin\"===t.slice(-4)?Un(e,r):Mn(e,r)}function Ji(e,t,r){return(\".bin\"===t.slice(-4)?Hi:Pi)(e,r)}function es(e,t,r,n,a){return(\".bin\"===t.slice(-4)?Si:$a)(e,r,n,a)}function ts(e,t,r){return(\".bin\"===t.slice(-4)?_n:rn)(e,r)}function rs(e,t,r){return(\".bin\"===t.slice(-4)?mr:hr)(e,r)}function ns(e,t,r){return(\".bin\"===t.slice(-4)?Kn:Gn)(e,r)}function as(e,t){var r=e.split(/\\s+/),n=[];if(t||(n[0]=r[0]),1===r.length)return n;var a,i,s,o=e.match(Lm);if(o)for(s=0;s!=o.length;++s)-1===(i=(a=o[s].match(Mm))[1].indexOf(\":\"))?n[a[1]]=a[2].substr(1,a[2].length-2):n[\"xmlns:\"===a[1].substr(0,6)?\"xmlns\"+a[1].substr(6):a[1].substr(i+1)]=a[2].substr(1,a[2].length-2);return n}function is(e){var t={};if(1===e.split(/\\s+/).length)return t;var r,n,a,i=e.match(Lm);if(i)for(a=0;a!=i.length;++a)-1===(n=(r=i[a].match(Mm))[1].indexOf(\":\"))?t[r[1]]=r[2].substr(1,r[2].length-2):t[\"xmlns:\"===r[1].substr(0,6)?\"xmlns\"+r[1].substr(6):r[1].substr(n+1)]=r[2].substr(1,r[2].length-2);return t}function ss(e,t){var r=Ro[e]||Go(e);return\"General\"===r?ko._general(t):ko.format(r,t)}function os(e,t,r,n){var a=n;switch((r[0].match(/dt:dt=\"([\\w.]+)\"/)||[\"\",\"\"])[1]){case\"boolean\":a=L(n);break;case\"i2\":case\"int\":a=parseInt(n,10);break;case\"r4\":case\"float\":a=parseFloat(n);break;case\"date\":case\"dateTime.tz\":a=v(n);break;case\"i8\":case\"string\":case\"fixed\":case\"uuid\":case\"bin.base64\":break;default:throw new Error(\"bad custprop:\"+r[0])}e[Go(t[3])]=a}function ls(e,t,r){if(\"z\"!==e.t){if(!r||!1!==r.cellText)try{\"e\"===e.t?e.w=e.w||Xl[e.v]:\"General\"===t?\"n\"===e.t?(0|e.v)===e.v?e.w=ko._general_int(e.v):e.w=ko._general_num(e.v):e.w=ko._general(e.v):e.w=ss(t||\"General\",e.v)}catch(e){if(r.WTF)throw e}try{var n=Ro[t]||t||\"General\";if(r.cellNF&&(e.z=n),r.cellDates&&\"n\"==e.t&&ko.is_date(n)){var a=ko.parse_date_code(e.v);a&&(e.t=\"d\",e.v=new Date(a.y,a.m-1,a.d,a.H,a.M,a.S,a.u))}}catch(e){if(r.WTF)throw e}}}function cs(e,t,r){if(r.cellStyles&&t.Interior){var n=t.Interior;n.Pattern&&(n.patternType=Wg[n.Pattern]||n.Pattern)}e[t.ID]=t}function fs(e,t,r,n,a,i,s,o,l,c){var f=\"General\",h=n.StyleID,u={};c=c||{};var d=[],p=0;for(void 0===h&&o&&(h=o.StyleID),void 0===h&&s&&(h=s.StyleID);void 0!==i[h]&&(i[h].nf&&(f=i[h].nf),i[h].Interior&&d.push(i[h].Interior),i[h].Parent);)h=i[h].Parent;switch(r.Type){case\"Boolean\":n.t=\"b\",n.v=L(e);break;case\"String\":n.t=\"s\",n.r=$o(Go(e)),n.v=e.indexOf(\"<\")>-1?Go(t):n.r;break;case\"DateTime\":\"Z\"!=e.slice(-1)&&(e+=\"Z\"),n.v=(v(e)-new Date(Date.UTC(1899,11,30)))/864e5,n.v!==n.v?n.v=Go(e):n.v<60&&(n.v=n.v-1),f&&\"General\"!=f||(f=\"yyyy-mm-dd\");case\"Number\":void 0===n.v&&(n.v=+e),n.t||(n.t=\"n\");break;case\"Error\":n.t=\"e\",n.v=Gl[e],!1!==c.cellText&&(n.w=e);break;default:n.t=\"s\",n.v=$o(t||e)}if(ls(n,f,c),!1!==c.cellFormula)if(n.Formula){var g=Go(n.Formula);61==g.charCodeAt(0)&&(g=g.substr(1)),n.f=Jg(g,a),delete n.Formula,\"RC\"==n.ArrayRange?n.F=Jg(\"RC:RC\",a):n.ArrayRange&&(n.F=Jg(n.ArrayRange,a),l.push([ve(n.F),n.F]))}else for(p=0;p<l.length;++p)a.r>=l[p][0].s.r&&a.r<=l[p][0].e.r&&a.c>=l[p][0].s.c&&a.c<=l[p][0].e.c&&(n.F=l[p][1]);c.cellStyles&&(d.forEach(function(e){!u.patternType&&e.patternType&&(u.patternType=e.patternType)}),n.s=u),n.ixfe=void 0!==n.StyleID?n.StyleID:\"Default\"}function hs(e){e.t=e.v||\"\",e.t=e.t.replace(/\\r\\n/g,\"\\n\").replace(/\\r/g,\"\\n\"),e.v=e.w=e.ixfe=void 0}function us(e){if(Bo&&Buffer.isBuffer(e))return e.toString(\"utf8\");if(\"string\"==typeof e)return e;throw new Error(\"Bad input format: expected Buffer or string\")}function ds(e,t){var r=t||{};xo(ko);var n=Co(us(e));if(r&&\"binary\"==r.type&&\"undefined\"!=typeof cptable&&(n=cptable.utils.decode(65001,a(n))),n.substr(0,1e3).indexOf(\"<html\")>=0)return Xm.to_workbook(n,r);var i,s,o=[];null!=So&&null==r.dense&&(r.dense=So);var l,c={},f=[],h=r.dense?[]:{},u=\"\",d={},p={},g=as('<Data ss:Type=\"String\">'),m=0,b=0,v=0,E={s:{r:2e6,c:2e6},e:{r:0,c:0}},C={},S={},A=\"\",B=0,_=[],T={},y={},k=0,x={},R=[],I={},D=[],P=!1,F=[],N=[],L={},M={Sheets:[],WBProps:{date1904:!1}},U={};for(Wm.lastIndex=0,n=n.replace(/<!--([\\s\\S]*?)-->/gm,\"\");i=Wm.exec(n);)switch(i[3]){case\"Data\":if(o[o.length-1][1])break;\"/\"===i[1]?fs(n.slice(m,i.index),A,g,\"Comment\"==o[o.length-1][0]?I:d,{c:b,r:v},C,D[b],p,F,r):(A=\"\",g=as(i[0]),m=i.index+i[0].length);break;case\"Cell\":if(\"/\"===i[1]){if(R.length>0&&(d.c=R),(!r.sheetRows||r.sheetRows>v)&&void 0!==d.v&&(r.dense?(h[v]||(h[v]=[]),h[v][b]=d):h[fe(b)+se(v)]=d),d.HRef&&(d.l={Target:d.HRef,Tooltip:d.HRefScreenTip},delete d.HRef,delete d.HRefScreenTip),d.MergeAcross||d.MergeDown){var W=b+(0|parseInt(d.MergeAcross,10)),z=v+(0|parseInt(d.MergeDown,10));_.push({s:{c:b,r:v},e:{c:W,r:z}})}if(r.sheetStubs)if(d.MergeAcross||d.MergeDown){for(var H=b;H<=W;++H)for(var V=v;V<=z;++V)(H>b||V>v)&&(r.dense?(h[V]||(h[V]=[]),h[V][H]={t:\"z\"}):h[fe(H)+se(V)]={t:\"z\"});b=W+1}else++b;else d.MergeAcross?b=W+1:++b}else(d=is(i[0])).Index&&(b=+d.Index-1),b<E.s.c&&(E.s.c=b),b>E.e.c&&(E.e.c=b),\"/>\"===i[0].slice(-2)&&++b,R=[];break;case\"Row\":\"/\"===i[1]||\"/>\"===i[0].slice(-2)?(v<E.s.r&&(E.s.r=v),v>E.e.r&&(E.e.r=v),\"/>\"===i[0].slice(-2)&&(p=as(i[0])).Index&&(v=+p.Index-1),b=0,++v):((p=as(i[0])).Index&&(v=+p.Index-1),L={},(\"0\"==p.AutoFitHeight||p.Height)&&(L.hpx=parseInt(p.Height,10),L.hpt=Yr(L.hpx),N[v]=L),\"1\"==p.Hidden&&(L.hidden=!0,N[v]=L));break;case\"Worksheet\":if(\"/\"===i[1]){if((s=o.pop())[0]!==i[3])throw new Error(\"Bad state: \"+s.join(\"|\"));f.push(u),E.s.r<=E.e.r&&E.s.c<=E.e.c&&(h[\"!ref\"]=be(E)),_.length&&(h[\"!merges\"]=_),D.length>0&&(h[\"!cols\"]=D),N.length>0&&(h[\"!rows\"]=N),c[u]=h}else E={s:{r:2e6,c:2e6},e:{r:0,c:0}},v=b=0,o.push([i[3],!1]),s=as(i[0]),u=Go(s.Name),h=r.dense?[]:{},_=[],F=[],N=[],U={name:u,Hidden:0},M.Sheets.push(U);break;case\"Table\":if(\"/\"===i[1]){if((s=o.pop())[0]!==i[3])throw new Error(\"Bad state: \"+s.join(\"|\"))}else{if(\"/>\"==i[0].slice(-2))break;as(i[0]),o.push([i[3],!1]),D=[],P=!1}break;case\"Style\":\"/\"===i[1]?cs(C,S,r):S=as(i[0]);break;case\"NumberFormat\":S.nf=Go(as(i[0]).Format||\"General\"),Ro[S.nf]&&(S.nf=Ro[S.nf]);for(var X=0;392!=X&&ko._table[X]!=S.nf;++X);if(392==X)for(X=57;392!=X;++X)if(null==ko._table[X]){ko.load(S.nf,X);break}break;case\"Column\":if(\"Table\"!==o[o.length-1][0])break;if((l=as(i[0])).Hidden&&(l.hidden=!0,delete l.Hidden),l.Width&&(l.wpx=parseInt(l.Width,10)),!P&&l.wpx>10){P=!0,Mg=Fg;for(var G=0;G<D.length;++G)D[G]&&jr(D[G])}P&&jr(l),D[l.Index-1||D.length]=l;for(var j=0;j<+l.Span;++j)D[D.length]=w(l);break;case\"NamedRange\":M.Names||(M.Names=[]);var Y=O(i[0]),K={Name:Y.Name,Ref:Jg(Y.RefersTo.substr(1))};M.Sheets.length>0&&(K.Sheet=M.Sheets.length-1),M.Names.push(K);break;case\"NamedCell\":case\"B\":case\"I\":case\"U\":case\"S\":case\"Sub\":case\"Sup\":case\"Span\":case\"Border\":case\"Alignment\":case\"Borders\":break;case\"Font\":if(\"/>\"===i[0].slice(-2))break;\"/\"===i[1]?A+=n.slice(B,i.index):B=i.index+i[0].length;break;case\"Interior\":if(!r.cellStyles)break;S.Interior=as(i[0]);break;case\"Protection\":break;case\"Author\":case\"Title\":case\"Description\":case\"Created\":case\"Keywords\":case\"Subject\":case\"Category\":case\"Company\":case\"LastAuthor\":case\"LastSaved\":case\"LastPrinted\":case\"Version\":case\"Revision\":case\"TotalTime\":case\"HyperlinkBase\":case\"Manager\":case\"ContentStatus\":case\"Identifier\":case\"Language\":if(\"/>\"===i[0].slice(-2))break;\"/\"===i[1]?ot(T,i[3],n.slice(k,i.index)):k=i.index+i[0].length;break;case\"Paragraphs\":break;case\"Styles\":case\"Workbook\":if(\"/\"===i[1]){if((s=o.pop())[0]!==i[3])throw new Error(\"Bad state: \"+s.join(\"|\"))}else o.push([i[3],!1]);break;case\"Comment\":if(\"/\"===i[1]){if((s=o.pop())[0]!==i[3])throw new Error(\"Bad state: \"+s.join(\"|\"));hs(I),R.push(I)}else o.push([i[3],!1]),I={a:(s=as(i[0])).Author};break;case\"AutoFilter\":if(\"/\"===i[1]){if((s=o.pop())[0]!==i[3])throw new Error(\"Bad state: \"+s.join(\"|\"))}else if(\"/\"!==i[0].charAt(i[0].length-2)){var $=as(i[0]);h[\"!autofilter\"]={ref:Jg($.Range).replace(/\\$/g,\"\")},o.push([i[3],!0])}break;case\"Name\":break;case\"ComponentOptions\":case\"DocumentProperties\":case\"CustomDocumentProperties\":case\"OfficeDocumentSettings\":case\"PivotTable\":case\"PivotCache\":case\"Names\":case\"MapInfo\":case\"PageBreaks\":case\"QueryTable\":case\"DataValidation\":case\"Sorting\":case\"Schema\":case\"data\":case\"ConditionalFormatting\":case\"SmartTagType\":case\"SmartTags\":case\"ExcelWorkbook\":case\"WorkbookOptions\":case\"WorksheetOptions\":if(\"/\"===i[1]){if((s=o.pop())[0]!==i[3])throw new Error(\"Bad state: \"+s.join(\"|\"))}else\"/\"!==i[0].charAt(i[0].length-2)&&o.push([i[3],!0]);break;default:if(0==o.length&&\"document\"==i[3])return Xs(n,r);if(0==o.length&&\"UOF\"==i[3])return Xs(n,r);var Z=!0;switch(o[o.length-1][0]){case\"OfficeDocumentSettings\":switch(i[3]){case\"AllowPNG\":case\"RemovePersonalInformation\":case\"DownloadComponents\":case\"LocationOfComponents\":case\"Colors\":case\"Color\":case\"Index\":case\"RGB\":case\"PixelsPerInch\":case\"TargetScreenSize\":case\"ReadOnlyRecommended\":break;default:Z=!1}break;case\"ComponentOptions\":switch(i[3]){case\"Toolbar\":case\"HideOfficeLogo\":case\"SpreadsheetAutoFit\":case\"Label\":case\"Caption\":case\"MaxHeight\":case\"MaxWidth\":case\"NextSheetNumber\":break;default:Z=!1}break;case\"ExcelWorkbook\":switch(i[3]){case\"Date1904\":M.WBProps.date1904=!0;break;case\"WindowHeight\":case\"WindowWidth\":case\"WindowTopX\":case\"WindowTopY\":case\"TabRatio\":case\"ProtectStructure\":case\"ProtectWindows\":case\"ActiveSheet\":case\"DisplayInkNotes\":case\"FirstVisibleSheet\":case\"SupBook\":case\"SheetName\":case\"SheetIndex\":case\"SheetIndexFirst\":case\"SheetIndexLast\":case\"Dll\":case\"AcceptLabelsInFormulas\":case\"DoNotSaveLinkValues\":case\"Iteration\":case\"MaxIterations\":case\"MaxChange\":case\"Path\":case\"Xct\":case\"Count\":case\"SelectedSheets\":case\"Calculation\":case\"Uncalced\":case\"StartupPrompt\":case\"Crn\":case\"ExternName\":case\"Formula\":case\"ColFirst\":case\"ColLast\":case\"WantAdvise\":case\"Boolean\":case\"Error\":case\"Text\":case\"OLE\":case\"NoAutoRecover\":case\"PublishObjects\":case\"DoNotCalculateBeforeSave\":case\"Number\":case\"RefModeR1C1\":case\"EmbedSaveSmartTags\":break;default:Z=!1}break;case\"WorkbookOptions\":switch(i[3]){case\"OWCVersion\":case\"Height\":case\"Width\":break;default:Z=!1}break;case\"WorksheetOptions\":switch(i[3]){case\"Visible\":if(\"/>\"===i[0].slice(-2));else if(\"/\"===i[1])switch(n.slice(k,i.index)){case\"SheetHidden\":U.Hidden=1;break;case\"SheetVeryHidden\":U.Hidden=2}else k=i.index+i[0].length;break;case\"Header\":h[\"!margins\"]||Oa(h[\"!margins\"]={},\"xlml\"),h[\"!margins\"].header=O(i[0]).Margin;break;case\"Footer\":h[\"!margins\"]||Oa(h[\"!margins\"]={},\"xlml\"),h[\"!margins\"].footer=O(i[0]).Margin;break;case\"PageMargins\":var Q=O(i[0]);h[\"!margins\"]||Oa(h[\"!margins\"]={},\"xlml\"),Q.Top&&(h[\"!margins\"].top=Q.Top),Q.Left&&(h[\"!margins\"].left=Q.Left),Q.Right&&(h[\"!margins\"].right=Q.Right),Q.Bottom&&(h[\"!margins\"].bottom=Q.Bottom);break;case\"Unsynced\":case\"Print\":case\"Panes\":case\"Scale\":case\"Pane\":case\"Number\":case\"Layout\":case\"PageSetup\":case\"Selected\":case\"ProtectObjects\":case\"EnableSelection\":case\"ProtectScenarios\":case\"ValidPrinterInfo\":case\"HorizontalResolution\":case\"VerticalResolution\":case\"NumberofCopies\":case\"ActiveRow\":case\"ActiveCol\":case\"ActivePane\":case\"TopRowVisible\":case\"TopRowBottomPane\":case\"LeftColumnVisible\":case\"LeftColumnRightPane\":case\"FitToPage\":case\"RangeSelection\":case\"PaperSizeIndex\":case\"PageLayoutZoom\":case\"PageBreakZoom\":case\"FilterOn\":case\"DoNotDisplayGridlines\":case\"SplitHorizontal\":case\"SplitVertical\":case\"FreezePanes\":case\"FrozenNoSplit\":case\"FitWidth\":case\"FitHeight\":case\"CommentsLayout\":case\"Zoom\":case\"LeftToRight\":case\"Gridlines\":case\"AllowSort\":case\"AllowFilter\":case\"AllowInsertRows\":case\"AllowDeleteRows\":case\"AllowInsertCols\":case\"AllowDeleteCols\":case\"AllowInsertHyperlinks\":case\"AllowFormatCells\":case\"AllowSizeCols\":case\"AllowSizeRows\":case\"NoSummaryRowsBelowDetail\":case\"TabColorIndex\":case\"DoNotDisplayHeadings\":case\"ShowPageLayoutZoom\":case\"NoSummaryColumnsRightDetail\":case\"BlackAndWhite\":case\"DoNotDisplayZeros\":case\"DisplayPageBreak\":case\"RowColHeadings\":case\"DoNotDisplayOutline\":case\"NoOrientation\":case\"AllowUsePivotTables\":case\"ZeroHeight\":case\"ViewableRange\":case\"Selection\":case\"ProtectContents\":break;default:Z=!1}break;case\"PivotTable\":case\"PivotCache\":switch(i[3]){case\"ImmediateItemsOnDrop\":case\"ShowPageMultipleItemLabel\":case\"CompactRowIndent\":case\"Location\":case\"PivotField\":case\"Orientation\":case\"LayoutForm\":case\"LayoutSubtotalLocation\":case\"LayoutCompactRow\":case\"Position\":case\"PivotItem\":case\"DataType\":case\"DataField\":case\"SourceName\":case\"ParentField\":case\"PTLineItems\":case\"PTLineItem\":case\"CountOfSameItems\":case\"Item\":case\"ItemType\":case\"PTSource\":case\"CacheIndex\":case\"ConsolidationReference\":case\"FileName\":case\"Reference\":case\"NoColumnGrand\":case\"NoRowGrand\":case\"BlankLineAfterItems\":case\"Hidden\":case\"Subtotal\":case\"BaseField\":case\"MapChildItems\":case\"Function\":case\"RefreshOnFileOpen\":case\"PrintSetTitles\":case\"MergeLabels\":case\"DefaultVersion\":case\"RefreshName\":case\"RefreshDate\":case\"RefreshDateCopy\":case\"VersionLastRefresh\":case\"VersionLastUpdate\":case\"VersionUpdateableMin\":case\"VersionRefreshableMin\":case\"Calculation\":break;default:Z=!1}break;case\"PageBreaks\":switch(i[3]){case\"ColBreaks\":case\"ColBreak\":case\"RowBreaks\":case\"RowBreak\":case\"ColStart\":case\"ColEnd\":case\"RowEnd\":break;default:Z=!1}break;case\"AutoFilter\":switch(i[3]){case\"AutoFilterColumn\":case\"AutoFilterCondition\":case\"AutoFilterAnd\":case\"AutoFilterOr\":break;default:Z=!1}break;case\"QueryTable\":switch(i[3]){case\"Id\":case\"AutoFormatFont\":case\"AutoFormatPattern\":case\"QuerySource\":case\"QueryType\":case\"EnableRedirections\":case\"RefreshedInXl9\":case\"URLString\":case\"HTMLTables\":case\"Connection\":case\"CommandText\":case\"RefreshInfo\":case\"NoTitles\":case\"NextId\":case\"ColumnInfo\":case\"OverwriteCells\":case\"DoNotPromptForFile\":case\"TextWizardSettings\":case\"Source\":case\"Number\":case\"Decimal\":case\"ThousandSeparator\":case\"TrailingMinusNumbers\":case\"FormatSettings\":case\"FieldType\":case\"Delimiters\":case\"Tab\":case\"Comma\":case\"AutoFormatName\":case\"VersionLastEdit\":case\"VersionLastRefresh\":break;default:Z=!1}break;case\"Sorting\":case\"ConditionalFormatting\":case\"DataValidation\":switch(i[3]){case\"Range\":case\"Type\":case\"Min\":case\"Max\":case\"Sort\":case\"Descending\":case\"Order\":case\"CaseSensitive\":case\"Value\":case\"ErrorStyle\":case\"ErrorMessage\":case\"ErrorTitle\":case\"CellRangeList\":case\"InputMessage\":case\"InputTitle\":case\"ComboHide\":case\"InputHide\":case\"Condition\":case\"Qualifier\":case\"UseBlank\":case\"Value1\":case\"Value2\":case\"Format\":break;default:Z=!1}break;case\"MapInfo\":case\"Schema\":case\"data\":switch(i[3]){case\"Map\":case\"Entry\":case\"Range\":case\"XPath\":case\"Field\":case\"XSDType\":case\"FilterOn\":case\"Aggregate\":case\"ElementType\":case\"AttributeType\":break;case\"schema\":case\"element\":case\"complexType\":case\"datatype\":case\"all\":case\"attribute\":case\"extends\":case\"row\":break;default:Z=!1}break;case\"SmartTags\":break;default:Z=!1}if(Z)break;if(!o[o.length-1][1])throw\"Unrecognized tag: \"+i[3]+\"|\"+o.join(\"|\");if(\"CustomDocumentProperties\"===o[o.length-1][0]){if(\"/>\"===i[0].slice(-2))break;\"/\"===i[1]?os(y,i,x,n.slice(k,i.index)):(x=i,k=i.index+i[0].length);break}if(r.WTF)throw\"Unrecognized tag: \"+i[3]+\"|\"+o.join(\"|\")}var q={};return r.bookSheets||r.bookProps||(q.Sheets=c),q.SheetNames=f,q.Workbook=M,q.SSF=ko.get_table(),q.Props=T,q.Custprops=y,q}function ps(e,t){switch(eb(t=t||{}),t.type||\"base64\"){case\"base64\":return ds(Ao.decode(e),t);case\"binary\":case\"buffer\":case\"file\":return ds(e,t);case\"array\":return ds(e.map(Um).join(\"\"),t)}}function gs(e,t){var r=[];return e.Props&&r.push(lt(e.Props,t)),e.Custprops&&r.push(ct(e.Props,e.Custprops,t)),r.join(\"\")}function ms(e,t){return\"\"}function bs(e,t){return\"\"}function vs(e,t,r,n){if(!e)return\"\";var a=[];if(e[\"!margins\"]&&(a.push(\"<PageSetup>\"),e[\"!margins\"].header&&a.push(z(\"Header\",null,{\"x:Margin\":e[\"!margins\"].header})),e[\"!margins\"].footer&&a.push(z(\"Footer\",null,{\"x:Margin\":e[\"!margins\"].footer})),a.push(z(\"PageMargins\",null,{\"x:Bottom\":e[\"!margins\"].bottom||\"0.75\",\"x:Left\":e[\"!margins\"].left||\"0.7\",\"x:Right\":e[\"!margins\"].right||\"0.7\",\"x:Top\":e[\"!margins\"].top||\"0.75\"})),a.push(\"</PageSetup>\")),n&&n.Workbook&&n.Workbook.Sheets&&n.Workbook.Sheets[r])if(n.Workbook.Sheets[r].Hidden)a.push(z(\"Visible\",1==n.Workbook.Sheets[r].Hidden?\"SheetHidden\":\"SheetVeryHidden\",{}));else{for(var i=0;i<r&&(!n.Workbook.Sheets[i]||n.Workbook.Sheets[i].Hidden);++i);i==r&&a.push(\"<Selected/>\")}return e[\"!protect\"]&&(a.push(U(\"ProtectContents\",\"True\")),e[\"!protect\"].objects&&a.push(U(\"ProtectObjects\",\"True\")),e[\"!protect\"].scenarios&&a.push(U(\"ProtectScenarios\",\"True\")),null==e[\"!protect\"].selectLockedCells||e[\"!protect\"].selectLockedCells?null==e[\"!protect\"].selectUnlockedCells||e[\"!protect\"].selectUnlockedCells||a.push(U(\"EnableSelection\",\"UnlockedCells\")):a.push(U(\"EnableSelection\",\"NoSelection\")),[[\"formatColumns\",\"AllowFormatCells\"],[\"formatRows\",\"AllowSizeCols\"],[\"formatCells\",\"AllowSizeRows\"],[\"insertColumns\",\"AllowInsertCols\"],[\"insertRows\",\"AllowInsertRows\"],[\"insertHyperlinks\",\"AllowInsertHyperlinks\"],[\"deleteColumns\",\"AllowDeleteCols\"],[\"deleteRows\",\"AllowDeleteRows\"],[\"sort\",\"AllowSort\"],[\"autoFilter\",\"AllowFilter\"],[\"pivotTables\",\"AllowUsePivotTables\"]].forEach(function(t){e[\"!protect\"][t[0]]&&a.push(\"<\"+t[1]+\"/>\")})),0==a.length?\"\":z(\"WorksheetOptions\",a.join(\"\"),{xmlns:fl.x})}function Es(e){return e.map(function(e){return z(\"Comment\",z(\"ss:Data\",Zo(e.t||\"\"),{xmlns:\"http://www.w3.org/TR/REC-html40\"}),{\"ss:Author\":e.a})}).join(\"\")}function Cs(e,t,r,n,a,i,s){if(!e||void 0==e.v&&void 0==e.f)return\"<Cell></Cell>\";var o={};if(e.f&&(o[\"ss:Formula\"]=\"=\"+P(tm(e.f,s))),e.F&&e.F.substr(0,t.length)==t){var l=pe(e.F.substr(t.length+1));o[\"ss:ArrayRange\"]=\"RC:R\"+(l.r==s.r?\"\":\"[\"+(l.r-s.r)+\"]\")+\"C\"+(l.c==s.c?\"\":\"[\"+(l.c-s.c)+\"]\")}if(e.l&&e.l.Target&&(o[\"ss:HRef\"]=P(e.l.Target),e.l.Tooltip&&(o[\"x:HRefScreenTip\"]=P(e.l.Tooltip))),r[\"!merges\"])for(var c=r[\"!merges\"],f=0;f!=c.length;++f)c[f].s.c==s.c&&c[f].s.r==s.r&&(c[f].e.c>c[f].s.c&&(o[\"ss:MergeAcross\"]=c[f].e.c-c[f].s.c),c[f].e.r>c[f].s.r&&(o[\"ss:MergeDown\"]=c[f].e.r-c[f].s.r));var h=\"\",u=\"\";switch(e.t){case\"z\":return\"\";case\"n\":h=\"Number\",u=String(e.v);break;case\"b\":h=\"Boolean\",u=e.v?\"1\":\"0\";break;case\"e\":h=\"Error\",u=Xl[e.v];break;case\"d\":h=\"DateTime\",u=new Date(e.v).toISOString();break;case\"s\":h=\"String\",u=P(e.v||\"\")}var d=null!=e.v?u:\"\";if(n&&\"binary\"==n.type&&\"undefined\"!=typeof cptable&&\"s\"==e.t){d=cptable.utils.encode(65001,d);for(var p=\"\",g=0;g<d.length;++g)p+=String.fromCharCode(d[g]);d=p}var m='<Data ss:Type=\"'+h+'\">'+d+\"</Data>\";return(e.c||[]).length>0&&(m+=Es(e.c)),z(\"Cell\",m,o)}function ws(e,t){var r='<Row ss:Index=\"'+(e+1)+'\"';return t&&(t.hpt&&!t.hpx&&(t.hpx=Kr(t.hpt)),t.hpx&&(r+=' ss:AutoFitHeight=\"0\" ss:Height=\"'+t.hpx+'\"'),t.hidden&&(r+=' ss:Hidden=\"1\"')),r+\">\"}function Ss(e,t,r,n){if(!e[\"!ref\"])return\"\";var a=ve(e[\"!ref\"]),i=e[\"!merges\"]||[],s=0,o=[];e[\"!cols\"]&&e[\"!cols\"].forEach(function(e,t){jr(e);var r=!!e.width,n=Ia(t,e),a={\"ss:Index\":t+1};r&&(a[\"ss:Width\"]=zr(n.width)),e.hidden&&(a[\"ss:Hidden\"]=\"1\"),o.push(z(\"Column\",null,a))});for(var l=Array.isArray(e),c=a.s.r;c<=a.e.r;++c){for(var f=[ws(c,(e[\"!rows\"]||[])[c])],h=a.s.c;h<=a.e.c;++h){var u=!1;for(s=0;s!=i.length;++s)if(!(i[s].s.c>h||i[s].s.r>c||i[s].e.c<h||i[s].e.r<c)){i[s].s.c==h&&i[s].s.r==c||(u=!0);break}if(!u){var d={r:c,c:h},p=ge(d),g=l?(e[c]||[])[h]:e[p];f.push(Cs(g,p,e,t,r,n,d))}}f.push(\"</Row>\"),f.length>2&&o.push(f.join(\"\"))}return o.join(\"\")}function As(e,t,r){var n=[],a=r.SheetNames[e],i=r.Sheets[a],s=i?Ss(i,t,e,r):\"\";return s.length>0&&n.push(\"<Table>\"+s+\"</Table>\"),n.push(vs(i,t,e,r)),n.join(\"\")}function Bs(e,t){var r=[];r.push(gs(e,t)),r.push(ms(e,t)),r.push(bs(e,t));for(var n=0;n<e.SheetNames.length;++n)r.push(z(\"Worksheet\",As(n,t,e),{\"ss:Name\":P(e.SheetNames[n])}));return sl+z(\"Workbook\",r.join(\"\"),{xmlns:fl.ss,\"xmlns:o\":fl.o,\"xmlns:x\":fl.x,\"xmlns:ss\":fl.ss,\"xmlns:dt\":fl.dt,\"xmlns:html\":fl.html})}function _s(e){var t,r={},n=e.content,a=28;switch(t=ml(n,a),a+=4+Rl(n,a),r.UserType=t,t=Rl(n,a),a+=4,t){case 0:break;case 4294967295:case 4294967294:a+=4;break;default:if(t>400)throw new Error(\"Unsupported Clipboard: \"+t.toString(16));a+=t}if(t=ml(n,a),a+=0===t.length?0:5+t.length,r.Reserved1=t,1907550708!==(t=Rl(n,a)))return r;throw new Error(\"Unsupported Unicode Extension\")}function Ts(e,t,r,n){var a=r,i=[],s=t.slice(t.l,t.l+a);if(n&&n.enc&&n.enc.insitu_decrypt)switch(e.n){case\"BOF\":case\"FilePass\":case\"FileLock\":case\"InterfaceHdr\":case\"RRDInfo\":case\"RRDHead\":case\"UsrExcl\":break;default:if(0===s.length)break;n.enc.insitu_decrypt(s)}i.push(s),t.l+=a;for(var o=Vm[kl(t,t.l)];null!=o&&\"Continue\"===o.n;)a=kl(t,t.l+2),i.push(t.slice(t.l+4,t.l+4+a)),t.l+=4+a,o=Vm[kl(t,t.l)];var l=_o(i);$(l,0);var c=0;l.lens=[];for(var f=0;f<i.length;++f)l.lens.push(c),c+=i[f].length;return e.f(l,l.length,n)}function ys(e,t,r){if(\"z\"!==e.t&&e.XF){var n=0;try{n=e.z||e.XF.ifmt||0,t.cellNF&&(e.z=ko._table[n])}catch(e){if(t.WTF)throw e}if(!t||!1!==t.cellText)try{if(\"e\"===e.t?e.w=e.w||Xl[e.v]:0===n?\"n\"===e.t?(0|e.v)===e.v?e.w=ko._general_int(e.v):e.w=ko._general_num(e.v):e.w=ko._general(e.v):e.w=ko.format(n,e.v,{date1904:!!r}),t.cellDates&&n&&\"n\"==e.t&&ko.is_date(ko._table[n])){var a=ko.parse_date_code(e.v);a&&(e.t=\"d\",e.v=new Date(a.y,a.m-1,a.d,a.H,a.M,a.S,a.u))}}catch(e){if(t.WTF)throw e}}}function ks(e,t,r){return{v:e,ixfe:t,t:r}}function xs(e,t){var r={opts:{}},n={};null!=So&&null==t.dense&&(t.dense=So);var a,i,s,o,l,c,f,h=t.dense?[]:{},u={},d={},p=null,g=[],m=\"\",b={},v=\"\",E={},C=[],w=!0,S=[],A=[],B={Sheets:[],WBProps:{date1904:!1}},_={},T=function(e){return e<8?rc[e]:e<64?A[e-8]||rc[e]:rc[e]},y=function(e,t,r){var n=t.XF.data;if(n&&n.patternType&&r&&r.cellStyles){t.s={},t.s.patternType=n.patternType;var a;(a=Lr(T(n.icvFore)))&&(t.s.fgColor={rgb:a}),(a=Lr(T(n.icvBack)))&&(t.s.bgColor={rgb:a})}},k=function(e,t,r){if(!(M>1)&&w){if(r.cellStyles&&t.XF&&t.XF.data&&y(0,t,r),a=e,v=ge(e),d.s&&(e.r<d.s.r&&(d.s.r=e.r),e.c<d.s.c&&(d.s.c=e.c)),d.e&&(e.r+1>d.e.r&&(d.e.r=e.r+1),e.c+1>d.e.c&&(d.e.c=e.c+1)),r.cellFormula&&t.f)for(var n=0;n<C.length;++n)if(!(C[n][0].s.c>e.c||C[n][0].s.r>e.r||C[n][0].e.c<e.c||C[n][0].e.r<e.r)){t.F=be(C[n][0]),C[n][0].s.c!=e.c&&delete t.f,C[n][0].s.r!=e.r&&delete t.f,t.f&&(t.f=\"\"+_a(C[n][1],d,e,F,x));break}r.sheetRows&&a.r>=r.sheetRows?w=!1:r.dense?(h[e.r]||(h[e.r]=[]),h[e.r][e.c]=t):h[v]=t}},x={enc:!1,sbcch:0,snames:[],sharedf:E,arrayf:C,rrtabid:[],lastuser:\"\",biff:8,codepage:0,winlocked:0,cellStyles:!!t&&!!t.cellStyles,WTF:!!t&&!!t.wtf};t.password&&(x.password=t.password);var R=[],I=[],O=[],D=[],P=!1,F=[];F.SheetNames=x.snames,F.sharedf=x.sharedf,F.arrayf=x.arrayf,F.names=[],F.XTI=[];var N,L=\"\",M=0,U=0,W=[],z=[];for(x.codepage=1200,Eo(1200);e.l<e.length-1;){var H=e.l,V=e.read_shift(2);if(0===V&&\"EOF\"===L)break;var X=e.l===e.length?0:e.read_shift(2),G=Vm[V];if(G&&G.f){if(t.bookSheets&&\"BoundSheet8\"===L&&\"BoundSheet8\"!==G.n)break;if(L=G.n,2===G.r||12==G.r){var j=e.read_shift(2);if(X-=2,!x.enc&&j!==V)throw\"rt mismatch\";12==G.r&&(e.l+=10,X-=10)}var Y;Y=\"EOF\"===G.n?G.f(e,X,x):Ts(G,e,X,x);var K=G.n;switch(K){case\"Date1904\":r.opts.Date1904=B.WBProps.date1904=Y;break;case\"WriteProtect\":r.opts.WriteProtect=!0;break;case\"FilePass\":if(x.enc||(e.l=0),x.enc=Y,x.WTF,!t.password)throw new Error(\"File is password-protected\");if(null==Y.valid)throw new Error(\"Encryption scheme unsupported\");if(!Y.valid)throw new Error(\"Password is incorrect\");break;case\"WriteAccess\":x.lastuser=Y;break;case\"FileSharing\":break;case\"CodePage\":21010===Y?Y=1200:32769===Y&&(Y=1252),x.codepage=Y,Eo(Y);break;case\"RRTabId\":x.rrtabid=Y;break;case\"WinProtect\":x.winlocked=Y;break;case\"Template\":break;case\"RefreshAll\":r.opts.RefreshAll=Y;break;case\"BookBool\":case\"UsesELFs\":case\"MTRSettings\":break;case\"CalcCount\":r.opts.CalcCount=Y;break;case\"CalcDelta\":r.opts.CalcDelta=Y;break;case\"CalcIter\":r.opts.CalcIter=Y;break;case\"CalcMode\":r.opts.CalcMode=Y;break;case\"CalcPrecision\":r.opts.CalcPrecision=Y;break;case\"CalcSaveRecalc\":r.opts.CalcSaveRecalc=Y;break;case\"CalcRefMode\":x.CalcRefMode=Y;break;case\"Uncalced\":break;case\"ForceFullCalculation\":r.opts.FullCalc=Y;break;case\"WsBool\":break;case\"XF\":S.push(Y);break;case\"ExtSST\":case\"BookExt\":case\"RichTextStream\":case\"BkHim\":break;case\"SupBook\":F.push([Y]),F[F.length-1].XTI=[];break;case\"ExternName\":F[F.length-1].push(Y);break;case\"Index\":break;case\"Lbl\":N={Name:Y.Name,Ref:_a(Y.rgce,d,null,F,x)},Y.itab>0&&(N.Sheet=Y.itab-1),F.names.push(N),F[0]||(F[0]=[]),F[F.length-1].push(Y),\"_xlnm._FilterDatabase\"==Y.Name&&Y.itab>0&&Y.rgce&&Y.rgce[0]&&Y.rgce[0][0]&&\"PtgArea3d\"==Y.rgce[0][0][0]&&(z[Y.itab-1]={ref:be(Y.rgce[0][0][1][2])});break;case\"ExternSheet\":0==F.length&&(F[0]=[],F[0].XTI=[]),F[F.length-1].XTI=F[F.length-1].XTI.concat(Y),F.XTI=F.XTI.concat(Y);break;case\"NameCmt\":if(x.biff<8)break;null!=N&&(N.Comment=Y[1]);break;case\"Protect\":h[\"!protect\"]=Y;break;case\"Password\":0!==Y&&x.WTF;break;case\"Prot4Rev\":case\"Prot4RevPass\":break;case\"BoundSheet8\":u[Y.pos]=Y,x.snames.push(Y.name);break;case\"EOF\":if(--M)break;d.e&&(d.e.r>0&&d.e.c>0&&(d.e.r--,d.e.c--,h[\"!ref\"]=be(d),d.e.r++,d.e.c++),R.length>0&&(h[\"!merges\"]=R),I.length>0&&(h[\"!objects\"]=I),O.length>0&&(h[\"!cols\"]=O),D.length>0&&(h[\"!rows\"]=D),B.Sheets.push(_)),\"\"===m?b=h:n[m]=h,h=t.dense?[]:{};break;case\"BOF\":if(8!==x.biff||(9===V?x.biff=2:521===V?x.biff=3:1033===V?x.biff=4:1280===Y.BIFFVer?x.biff=5:1536===Y.BIFFVer?x.biff=8:2===Y.BIFFVer?x.biff=2:7===Y.BIFFVer&&(x.biff=2)),M++)break;if(w=!0,h=t.dense?[]:{},x.biff<5){\"\"===m&&(m=\"Sheet1\"),d={s:{r:0,c:0},e:{r:0,c:0}};var $={pos:e.l-X,name:m};u[$.pos]=$,x.snames.push(m)}else m=(u[H]||{name:\"\"}).name;32==Y.dt&&(h[\"!type\"]=\"chart\"),R=[],I=[],C=[],x.arrayf=C,O=[],D=[],0,P=!1,_={Hidden:(u[H]||{hs:0}).hs,name:m};break;case\"Number\":case\"BIFF2NUM\":case\"BIFF2INT\":\"chart\"==h[\"!type\"]&&(t.dense?(h[Y.r]||[])[Y.c]:h[ge({c:Y.c,r:Y.r})])&&++Y.c,c={ixfe:Y.ixfe,XF:S[Y.ixfe]||{},v:Y.val,t:\"n\"},U>0&&(c.z=W[c.ixfe>>8&31]),ys(c,t,r.opts.Date1904),k({c:Y.c,r:Y.r},c,t);break;case\"BoolErr\":c={ixfe:Y.ixfe,XF:S[Y.ixfe],v:Y.val,t:Y.t},U>0&&(c.z=W[c.ixfe>>8&31]),ys(c,t,r.opts.Date1904),k({c:Y.c,r:Y.r},c,t);break;case\"RK\":c={ixfe:Y.ixfe,XF:S[Y.ixfe],v:Y.rknum,t:\"n\"},U>0&&(c.z=W[c.ixfe>>8&31]),ys(c,t,r.opts.Date1904),k({c:Y.c,r:Y.r},c,t);break;case\"MulRk\":for(var Z=Y.c;Z<=Y.C;++Z){var Q=Y.rkrec[Z-Y.c][0];c={ixfe:Q,XF:S[Q],v:Y.rkrec[Z-Y.c][1],t:\"n\"},U>0&&(c.z=W[c.ixfe>>8&31]),ys(c,t,r.opts.Date1904),k({c:Z,r:Y.r},c,t)}break;case\"Formula\":if(\"String\"==Y.val){p=Y;break}if(c=ks(Y.val,Y.cell.ixfe,Y.tt),c.XF=S[c.ixfe],t.cellFormula){var q=Y.formula;if(q&&q[0]&&q[0][0]&&\"PtgExp\"==q[0][0][0]){var J=q[0][0][1][0],ee=q[0][0][1][1],te=ge({r:J,c:ee});E[te]?c.f=\"\"+_a(Y.formula,d,Y.cell,F,x):c.F=((t.dense?(h[J]||[])[ee]:h[te])||{}).F}else c.f=\"\"+_a(Y.formula,d,Y.cell,F,x)}U>0&&(c.z=W[c.ixfe>>8&31]),ys(c,t,r.opts.Date1904),k(Y.cell,c,t),p=Y;break;case\"String\":if(!p)throw new Error(\"String record expects Formula\");p.val=Y,(c=ks(Y,p.cell.ixfe,\"s\")).XF=S[c.ixfe],t.cellFormula&&(c.f=\"\"+_a(p.formula,d,p.cell,F,x)),U>0&&(c.z=W[c.ixfe>>8&31]),ys(c,t,r.opts.Date1904),k(p.cell,c,t),p=null;break;case\"Array\":C.push(Y);var re=ge(Y[0].s);if(i=t.dense?(h[Y[0].s.r]||[])[Y[0].s.c]:h[re],t.cellFormula&&i){if(!p)break;if(!re||!i)break;i.f=\"\"+_a(Y[1],d,Y[0],F,x),i.F=be(Y[0])}break;case\"ShrFmla\":if(!w)break;if(!t.cellFormula)break;if(v){if(!p)break;E[ge(p.cell)]=Y[0],((i=t.dense?(h[p.cell.r]||[])[p.cell.c]:h[ge(p.cell)])||{}).f=\"\"+_a(Y[0],d,a,F,x)}break;case\"LabelSst\":(c=ks(g[Y.isst].t,Y.ixfe,\"s\")).XF=S[c.ixfe],U>0&&(c.z=W[c.ixfe>>8&31]),ys(c,t,r.opts.Date1904),k({c:Y.c,r:Y.r},c,t);break;case\"Blank\":t.sheetStubs&&(c={ixfe:Y.ixfe,XF:S[Y.ixfe],t:\"z\"},U>0&&(c.z=W[c.ixfe>>8&31]),ys(c,t,r.opts.Date1904),k({c:Y.c,r:Y.r},c,t));break;case\"MulBlank\":if(t.sheetStubs)for(var ne=Y.c;ne<=Y.C;++ne){var ae=Y.ixfe[ne-Y.c];c={ixfe:ae,XF:S[ae],t:\"z\"},U>0&&(c.z=W[c.ixfe>>8&31]),ys(c,t,r.opts.Date1904),k({c:ne,r:Y.r},c,t)}break;case\"RString\":case\"Label\":case\"BIFF2STR\":(c=ks(Y.val,Y.ixfe,\"s\")).XF=S[c.ixfe],U>0&&(c.z=W[c.ixfe>>8&31]),ys(c,t,r.opts.Date1904),k({c:Y.c,r:Y.r},c,t);break;case\"Dimensions\":1===M&&(d=Y);break;case\"SST\":g=Y;break;case\"Format\":ko.load(Y[1],Y[0]);break;case\"BIFF2FORMAT\":W[U++]=Y;for(var ie=0;ie<U+163&&ko._table[ie]!=Y;++ie);ie>=163&&ko.load(Y,U+163);break;case\"MergeCells\":R=R.concat(Y);break;case\"Obj\":I[Y.cmo[0]]=x.lastobj=Y;break;case\"TxO\":x.lastobj.TxO=Y;break;case\"ImData\":x.lastobj.ImData=Y;break;case\"HLink\":for(l=Y[0].s.r;l<=Y[0].e.r;++l)for(o=Y[0].s.c;o<=Y[0].e.c;++o)(i=t.dense?(h[l]||[])[o]:h[ge({c:o,r:l})])&&(i.l=Y[1]);break;case\"HLinkTooltip\":for(l=Y[0].s.r;l<=Y[0].e.r;++l)for(o=Y[0].s.c;o<=Y[0].e.c;++o)(i=t.dense?(h[l]||[])[o]:h[ge({c:o,r:l})])&&(i.l.Tooltip=Y[1]);break;case\"Note\":if(x.biff<=5&&x.biff>=2)break;i=t.dense?(h[Y[0].r]||[])[Y[0].c]:h[ge(Y[0])];var se=I[Y[2]];if(!i)break;i.c||(i.c=[]),s={a:Y[1],t:se.TxO.t},i.c.push(s);break;default:switch(G.n){case\"ClrtClient\":break;case\"XFExt\":Ln(S[Y.ixfe],Y.ext);break;case\"DefColWidth\":Y;break;case\"DefaultRowHeight\":Y[1];break;case\"ColInfo\":if(!x.cellStyles)break;for(;Y.e>=Y.s;)O[Y.e--]={width:Y.w/256},P||(P=!0,Gr(Y.w/256)),jr(O[Y.e+1]);break;case\"Row\":var oe={};Y.hidden&&(D[Y.r]=oe,oe.hidden=!0),Y.hpt&&(D[Y.r]=oe,oe.hpt=Y.hpt,oe.hpx=Kr(Y.hpt));break;case\"LeftMargin\":case\"RightMargin\":case\"TopMargin\":case\"BottomMargin\":h[\"!margins\"]||Oa(h[\"!margins\"]={}),h[\"!margins\"][K.slice(0,-6).toLowerCase()]=Y;break;case\"Setup\":h[\"!margins\"]||Oa(h[\"!margins\"]={}),h[\"!margins\"].header=Y.header,h[\"!margins\"].footer=Y.footer;break;case\"Header\":case\"Footer\":case\"HCenter\":case\"VCenter\":case\"Pls\":case\"GCW\":case\"LHRecord\":case\"DBCell\":case\"EntExU2\":case\"SxView\":case\"Sxvd\":case\"SXVI\":case\"SXVDEx\":case\"SxIvd\":case\"SXDI\":case\"SXLI\":case\"SXEx\":case\"QsiSXTag\":case\"Selection\":case\"Feat\":break;case\"FeatHdr\":case\"FeatHdr11\":break;case\"Feature11\":case\"Feature12\":case\"List12\":break;case\"Country\":f=Y;break;case\"RecalcId\":case\"DxGCol\":break;case\"Fbi\":case\"Fbi2\":case\"GelFrame\":case\"Font\":case\"XFCRC\":case\"Style\":case\"StyleExt\":break;case\"Palette\":A=Y;break;case\"Theme\":case\"ScenarioProtect\":case\"ObjProtect\":case\"CondFmt12\":case\"Table\":case\"TableStyles\":case\"TableStyle\":case\"TableStyleElement\":case\"SXStreamID\":case\"SXVS\":case\"DConRef\":case\"SXAddl\":case\"DConBin\":case\"DConName\":case\"SXPI\":case\"SxFormat\":case\"SxSelect\":case\"SxRule\":case\"SxFilt\":case\"SxItm\":case\"SxDXF\":case\"ScenMan\":case\"DCon\":case\"CellWatch\":case\"PrintRowCol\":case\"PrintGrid\":case\"PrintSize\":case\"XCT\":case\"CRN\":case\"Scl\":case\"SheetExt\":case\"SheetExtOptional\":case\"ObNoMacros\":case\"ObProj\":case\"CodeName\":case\"GUIDTypeLib\":case\"WOpt\":case\"PhoneticInfo\":case\"OleObjectSize\":break;case\"DXF\":case\"DXFN\":case\"DXFN12\":case\"DXFN12List\":case\"DXFN12NoCB\":break;case\"Dv\":case\"DVal\":break;case\"BRAI\":case\"Series\":case\"SeriesText\":case\"DConn\":case\"DbOrParamQry\":case\"DBQueryExt\":case\"IFmtRecord\":break;case\"CondFmt\":case\"CF\":case\"CF12\":case\"CFEx\":case\"Excel9File\":case\"Units\":break;case\"InterfaceHdr\":case\"Mms\":case\"InterfaceEnd\":case\"DSF\":case\"BuiltInFnGroupCount\":break;case\"Window1\":case\"Window2\":case\"HideObj\":case\"GridSet\":case\"Guts\":case\"UserBView\":case\"UserSViewBegin\":case\"UserSViewEnd\":case\"Pane\":break;default:switch(G.n){case\"Dat\":case\"Begin\":case\"End\":case\"StartBlock\":case\"EndBlock\":case\"Frame\":case\"Area\":case\"Axis\":case\"AxisLine\":case\"Tick\":break;case\"AxesUsed\":case\"CrtLayout12\":case\"CrtLayout12A\":case\"CrtLink\":case\"CrtLine\":case\"CrtMlFrt\":case\"CrtMlFrtContinue\":break;case\"LineFormat\":case\"AreaFormat\":case\"Chart\":case\"Chart3d\":case\"Chart3DBarShape\":case\"ChartFormat\":case\"ChartFrtInfo\":break;case\"PlotArea\":case\"PlotGrowth\":break;case\"SeriesList\":case\"SerParent\":case\"SerAuxTrend\":break;case\"DataFormat\":case\"SerToCrt\":case\"FontX\":break;case\"CatSerRange\":case\"AxcExt\":case\"SerFmt\":case\"ShtProps\":break;case\"DefaultText\":case\"Text\":case\"CatLab\":case\"DataLabExtContents\":break;case\"Legend\":case\"LegendException\":break;case\"Pie\":case\"Scatter\":break;case\"PieFormat\":case\"MarkerFormat\":break;case\"StartObject\":case\"EndObject\":break;case\"AlRuns\":case\"ObjectLink\":case\"SIIndex\":break;case\"AttachedLabel\":case\"YMult\":break;case\"Line\":case\"Bar\":case\"Surf\":case\"AxisParent\":case\"Pos\":case\"ValueRange\":case\"SXViewEx9\":case\"SXViewLink\":case\"PivotChartBits\":case\"SBaseRef\":case\"TextPropsStream\":case\"LnExt\":case\"MkrExt\":case\"CrtCoopt\":break;case\"Qsi\":case\"Qsif\":case\"Qsir\":case\"QsiSXTag\":case\"TxtQry\":case\"FilterMode\":break;case\"AutoFilter\":case\"AutoFilterInfo\":case\"AutoFilter12\":case\"DropDownObjIds\":case\"Sort\":case\"SortData\":case\"ShapePropsStream\":break;case\"MsoDrawing\":case\"MsoDrawingGroup\":case\"MsoDrawingSelection\":break;case\"WebPub\":case\"AutoWebPub\":break;case\"HeaderFooter\":case\"HFPicture\":case\"PLV\":case\"HorizontalPageBreaks\":case\"VerticalPageBreaks\":break;case\"Backup\":case\"CompressPictures\":case\"Compat12\":break;case\"Continue\":case\"ContinueFrt12\":break;case\"FrtFontList\":case\"FrtWrapper\":break;default:switch(G.n){case\"ExternCount\":break;case\"TabIdConf\":case\"Radar\":case\"RadarArea\":case\"DropBar\":case\"Intl\":case\"CoordList\":case\"SerAuxErrBar\":break;case\"BIFF2FONTCLR\":case\"BIFF2FMTCNT\":case\"BIFF2FONTXTRA\":break;case\"BIFF2XF\":case\"BIFF3XF\":case\"BIFF4XF\":break;case\"BIFF4FMTCNT\":case\"BIFF2ROW\":case\"BIFF2WINDOW2\":break;case\"SCENARIO\":case\"DConBin\":case\"PicF\":case\"DataLabExt\":case\"Lel\":case\"BopPop\":case\"BopPopCustom\":case\"RealTimeData\":case\"Name\":break;default:if(t.WTF)throw\"Unrecognized Record \"+G.n}}}}}else e.l+=X}var le=Object.keys(u).sort(function(e,t){return Number(e)-Number(t)}).map(function(e){return u[e].name});le.slice();return r.Directory=le,r.SheetNames=le,t.bookSheets||(r.Sheets=n),r.Sheets&&z.forEach(function(e,t){r.Sheets[r.SheetNames[t]][\"!autofilter\"]=e}),r.Preamble=b,r.Strings=g,r.SSF=ko.get_table(),x.enc&&(r.Encryption=x.enc),r.Metadata={},void 0!==f&&(r.Metadata.Country=f),F.names.length>0&&(B.Names=F.names),r.Workbook=B,r}function Rs(e){var t=e.find(\"!DocumentSummaryInformation\");if(t)try{e.DocSummary=Tt(t,Ql)}catch(e){}var r=e.find(\"!SummaryInformation\");if(r)try{e.Summary=Tt(r,ql)}catch(e){}}function Is(e,t){t||(t={}),eb(t),n();var r,a;e.FullPaths?(r=e.find(\"!CompObj\"),e.find(\"!SummaryInformation\"),a=e.find(\"/Workbook\")):($(e,0),a={content:e}),a||(a=e.find(\"/Book\"));var i;if(r&&_s(r),t.bookProps&&!t.bookSheets)i={};else if(a)i=xs(a.content,t,!!a.find);else if(e.find(\"PerfectOffice_MAIN\"))i=wg.to_workbook(e.find(\"PerfectOffice_MAIN\").content,t);else{if(!e.find(\"NativeContent_MAIN\"))throw new Error(\"Cannot find Workbook stream\");i=wg.to_workbook(e.find(\"NativeContent_MAIN\").content,t)}e.FullPaths&&Rs(e);var s={};for(var o in e.Summary)s[o]=e.Summary[o];for(o in e.DocSummary)s[o]=e.DocSummary[o];return i.Props=i.Custprops=s,t.bookFiles&&(i.cfb=e),i}function Os(e,t,r,n){var a=n||(r||[]).length,i=e.next(4+a);i.write_shift(2,t),i.write_shift(2,a),a>0&&Tl(r)&&e.push(r)}function Ds(e,t){if(\"biff2\"!=t.bookType)throw\"unsupported BIFF version\";var r=Q(4);return r.write_shift(2,2),r.write_shift(2,16),r}function Ps(e,t,r){return e||(e=Q(7)),e.write_shift(2,t),e.write_shift(2,r),e.write_shift(1,0),e.write_shift(1,0),e.write_shift(1,0),e}function Fs(e,t,r){var n=Q(9);return Ps(n,e,t),n.write_shift(2,r),n}function Ns(e,t,r){var n=Q(15);return Ps(n,e,t),n.write_shift(8,r,\"f\"),n}function Ls(e,t,r,n){var a=Q(9);return Ps(a,e,t),\"e\"==n?(a.write_shift(1,r),a.write_shift(1,1)):(a.write_shift(1,r?1:0),a.write_shift(1,0)),a}function Ms(e,t,r){var n=Q(8+2*r.length);return Ps(n,e,t),n.write_shift(1,r.length),n.write_shift(r.length,r,\"sbcs\"),n.l<n.length?n.slice(0,n.l):n}function Us(e,t,r,n,a){if(null!=t.v)switch(t.t){case\"d\":case\"n\":var i=\"d\"==t.t?g(t.v):t.v;return void(i==(0|i)&&i>=0&&i<65536?Os(e,2,Fs(r,n,i)):Os(e,3,Ns(r,n,i)));case\"b\":case\"e\":return void Os(e,5,Ls(r,n,t.v,t.t));case\"s\":case\"str\":return void Os(e,4,Ms(r,n,t.v))}Os(e,1,Ps(null,r,n))}function Ws(e,t,r,n,a){for(var i,s=Array.isArray(t),o=ve(t[\"!ref\"]||\"A1\"),l=\"\",c=[],f=o.s.r;f<=o.e.r;++f){l=se(f);for(var h=o.s.c;h<=o.e.c;++h){f===o.s.r&&(c[h]=fe(h)),i=c[h]+l;var u=s?(t[f]||[])[h]:t[i];u&&Us(e,u,f,h,n)}}}function zs(e,t){var r=t||{};null!=So&&null==r.dense&&(r.dense=So);for(var n=J(),a=0,i=0;i<e.SheetNames.length;++i)e.SheetNames[i]==r.sheet&&(a=i);if(0==a&&r.sheet&&e.SheetNames[0]!=r.sheet)throw new Error(\"Sheet not found: \"+r.sheet);return Os(n,9,Ds(e,r)),Ws(n,e.Sheets[e.SheetNames[a]],a,r,e),Os(n,10),n.end()}function Hs(e,t){var r=t||{};null!=So&&(r.dense=So);for(var n=r.dense?[]:{},a=e.getElementsByTagName(\"tr\"),i={s:{r:0,c:0},e:{r:a.length-1,c:0}},s=[],o=0,l=0,c=0,f=0,h=0,u=0;l<a.length;++l){var d=a[l].children;for(c=f=0;c<d.length;++c){var p=d[c],m=d[c].innerText||d[c].textContent;for(o=0;o<s.length;++o){var b=s[o];b.s.c==f&&b.s.r<=l&&l<=b.e.r&&(f=b.e.c+1,o=-1)}u=+p.getAttribute(\"colspan\")||1,((h=+p.getAttribute(\"rowspan\"))>0||u>1)&&s.push({s:{r:l,c:f},e:{r:l+(h||1)-1,c:f+u-1}});var E={t:\"s\",v:m};null!=m&&m.length&&(isNaN(Number(m))?isNaN(A(m).getDate())||(E={t:\"d\",v:v(m)},r.cellDates||(E={t:\"n\",v:g(E.v)}),E.z=r.dateNF||ko._table[14]):E={t:\"n\",v:Number(m)}),r.dense?(n[l]||(n[l]=[]),n[l][f]=E):n[ge({c:f,r:l})]=E,i.e.c<f&&(i.e.c=f),f+=u}}return n[\"!merges\"]=s,n[\"!ref\"]=be(i),n}function Vs(e,t){t=t||{};var r=!!y(e,\"objectdata\");if(r)$e(x(e,\"META-INF/manifest.xml\"),t);var n=R(e,\"content.xml\");if(!n)throw new Error(\"Missing content.xml in \"+(r?\"ODS\":\"UOF\")+\" file\");return Gm(r?n:Qo(n),t)}function Xs(e,t){return Gm(e,t)}function Gs(e,t){if(\"fods\"==t.bookType)return Ym(e,t);var r=new Lo,n=\"\",a=[],i=[];return n=\"mimetype\",r.file(n,\"application/vnd.oasis.opendocument.spreadsheet\"),n=\"content.xml\",r.file(n,Ym(e,t)),a.push([n,\"text/xml\"]),i.push([n,\"ContentFile\"]),n=\"styles.xml\",r.file(n,jm(e,t)),a.push([n,\"text/xml\"]),i.push([n,\"StylesFile\"]),n=\"manifest.rdf\",r.file(n,Je(i,t)),a.push([n,\"application/rdf+xml\"]),n=\"meta.xml\",r.file(n,hc(e,t)),a.push([n,\"text/xml\"]),i.push([n,\"MetadataFile\"]),n=\"META-INF/manifest.xml\",r.file(n,Ze(a,t)),r}function js(e){return function(t,r){for(var n=0,a=0;a<t.SheetNames.length;++a)t.SheetNames[a]==r.sheet&&(n=a);if(0==n&&r.sheet&&t.SheetNames[0]!=r.sheet)throw new Error(\"Sheet not found: \"+r.sheet);return e.from_sheet(t.Sheets[t.SheetNames[n]],r,t)}}function Ys(e){return function(t){for(var r=0;r!=e.length;++r){var n=e[r];void 0===t[n[0]]&&(t[n[0]]=n[1]),\"n\"===n[2]&&(t[n[0]]=Number(t[n[0]]))}}}function Ks(e){return lc.WS.indexOf(e)>-1?\"sheet\":lc.CS&&e==lc.CS?\"chart\":lc.DS&&e==lc.DS?\"dialog\":lc.MS&&e==lc.MS?\"macro\":e&&e.length?e:\"sheet\"}function $s(e,t){if(!e)return 0;try{e=t.map(function(t){return t.id||(t.id=t.strRelID),[t.name,e[\"!id\"][t.id].Target,Ks(e[\"!id\"][t.id].Type)]})}catch(e){return null}return e&&0!==e.length?e:null}function Zs(e,t,r,n,a,i,s,o,l,c,f){try{a[n]=je(R(e,r,!0),t);var h=x(e,t);switch(s){case\"sheet\":i[n]=Xi(h,t,o,a[n],l,c,f);break;case\"chart\":var u=Gi(h,t,o,a[n],l,c,f);if(i[n]=u,!u||!u[\"!chart\"])break;var d=I(u[\"!chart\"].Target,t),p=Ge(d),g=I(Wn(R(e,d,!0),je(R(e,p,!0),d)),d),m=Ge(g);u=Bi(R(e,g,!0),g,o,je(R(e,m,!0),g),l,u);break;case\"macro\":i[n]=ji(h,t,o,a[n],l,c,f);break;case\"dialog\":i[n]=Yi(h,t,o,a[n],l,c,f)}}catch(e){if(o.WTF)throw e}}function Qs(e,t){if(xo(ko),t=t||{},eb(t),n(),y(e,\"META-INF/manifest.xml\"))return Vs(e,t);if(y(e,\"objectdata.xml\"))return Vs(e,t);var r,a,i=u(e.files).filter(rb).sort(),s=Ve(R(e,\"[Content_Types].xml\"),t),o=!1;if(0===s.workbooks.length&&x(e,a=\"xl/workbook.xml\",!0)&&s.workbooks.push(a),0===s.workbooks.length){if(a=\"xl/workbook.bin\",!k(e,a,!0))throw new Error(\"Could not find workbook\");s.workbooks.push(a),o=!0}\"bin\"==s.workbooks[0].slice(-3)&&(o=!0),o&&Eo(1200);var l={},c={};t.bookSheets||t.bookProps||(gm=[],s.sst&&(gm=Zi(x(e,s.sst.replace(/^\\//,\"\")),s.sst,t)),t.cellStyles&&s.themes.length&&(l=$i(R(e,s.themes[0].replace(/^\\//,\"\"),!0)||\"\",s.themes[0],t)),s.style&&(c=Ki(x(e,s.style.replace(/^\\//,\"\")),s.style,l,t)));var f=Vi(x(e,s.workbooks[0].replace(/^\\//,\"\")),s.workbooks[0],t),h={},d=\"\";0!==s.coreprops.length&&((d=R(e,s.coreprops[0].replace(/^\\//,\"\"),!0))&&(h=et(d)),0!==s.extprops.length&&(d=R(e,s.extprops[0].replace(/^\\//,\"\"),!0))&&nt(d,h));var p={};t.bookSheets&&!t.bookProps||0!==s.custprops.length&&(d=R(e,s.custprops[0].replace(/^\\//,\"\"),!0))&&(p=it(d,t));var g={};if((t.bookSheets||t.bookProps)&&(f.Sheets?r=f.Sheets.map(function(e){return e.name}):h.Worksheets&&h.SheetNames.length>0&&(r=h.SheetNames),t.bookProps&&(g.Props=h,g.Custprops=p),t.bookSheets&&void 0!==r&&(g.SheetNames=r),t.bookSheets?g.SheetNames:t.bookProps))return g;r={};var m={};t.bookDeps&&s.calcchain&&(m=qi(x(e,s.calcchain.replace(/^\\//,\"\")),s.calcchain,t));var b,v=0,E={},C=f.Sheets;h.Worksheets=C.length,h.SheetNames=[];for(var w=0;w!=C.length;++w)h.SheetNames[w]=C[w].name;var S=o?\"bin\":\"xml\",A=\"xl/_rels/workbook.\"+S+\".rels\",B=je(R(e,A,!0),A);B&&(B=$s(B,f.Sheets));var _=x(e,\"xl/worksheets/sheet.xml\",!0)?1:0;for(v=0;v!=h.Worksheets;++v){var T=\"sheet\";B&&B[v]?(b=\"xl/\"+B[v][1].replace(/[\\/]?xl\\//,\"\"),T=B[v][2]):b=(b=\"xl/worksheets/sheet\"+(v+1-_)+\".\"+S).replace(/sheet0\\./,\"sheet.\"),Zs(e,b,b.replace(/^(.*)(\\/)([^\\/]*)$/,\"$1/_rels/$3.rels\"),h.SheetNames[v],E,r,T,t,f,l,c)}return s.comments&&Hn(e,s.comments,r,E,t),g={Directory:s,Workbook:f,Props:h,Custprops:p,Deps:m,Sheets:r,SheetNames:h.SheetNames,Strings:gm,Styles:c,Themes:l,SSF:ko.get_table()},t.bookFiles&&(g.keys=i,g.files=e.files),t.bookVBA&&(s.vba.length>0?g.vbaraw=x(e,s.vba[0].replace(/^\\//,\"\"),!0):s.defaults&&\"application/vnd.ms-office.vbaProject\"===s.defaults.bin&&(g.vbaraw=x(e,\"xl/vbaProject.bin\",!0))),g}function qs(e,t){var r=\"Version\",n=e.find(r);if(!n)throw new Error(\"ECMA-376 Encrypted file missing \"+r);Er(n.content);if(r=\"DataSpaceMap\",!(n=e.find(r)))throw new Error(\"ECMA-376 Encrypted file missing \"+r);var a=wr(n.content);if(1!=a.length||1!=a[0].comps.length||0!=a[0].comps[0].t||\"StrongEncryptionDataSpace\"!=a[0].name||\"EncryptedPackage\"!=a[0].comps[0].v)throw new Error(\"ECMA-376 Encrypted file bad \"+r);if(r=\"StrongEncryptionDataSpace\",!(n=e.find(r)))throw new Error(\"ECMA-376 Encrypted file missing \"+r);var i=Sr(n.content);if(1!=i.length||\"StrongEncryptionTransform\"!=i[0])throw new Error(\"ECMA-376 Encrypted file bad \"+r);if(r=\"!Primary\",!(n=e.find(r)))throw new Error(\"ECMA-376 Encrypted file missing \"+r);Br(n.content);if(r=\"EncryptionInfo\",!(n=e.find(r)))throw new Error(\"ECMA-376 Encrypted file missing \"+r);yr(n.content);throw new Error(\"File is password-protected\")}function Js(e,t){if(Zg=1024,\"ods\"==t.bookType)return Gs(e,t);e&&!e.SSF&&(e.SSF=ko.get_table()),e&&e.SSF&&(xo(ko),ko.load_table(e.SSF),t.revssf=p(e.SSF),t.revssf[e.SSF[65535]]=0,t.ssf=e.SSF),t.rels={},t.wbrels={},t.Strings=[],t.Strings.Count=0,t.Strings.Unique=0;var r=\"xlsb\"==t.bookType?\"bin\":\"xml\",n=\"xlsb\"==t.bookType||\"xlsm\"==t.bookType,a={workbooks:[],sheets:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],TODO:[],xmlns:\"\"};tb(t=t||{});var i=new Lo,s=\"\",o=0;for(t.cellXfs=[],Da(t.cellXfs,{},{revssf:{General:0}}),e.Props||(e.Props={}),s=\"docProps/core.xml\",i.file(s,rt(e.Props,t)),a.coreprops.push(s),Ke(t.rels,2,s,lc.CORE_PROPS),s=\"docProps/app.xml\",e.Props&&e.Props.SheetNames||(e.Workbook&&e.Workbook.Sheets?e.Props.SheetNames=e.SheetNames.map(function(t,r){return[2!=(e.Workbook.Sheets[r]||{}).Hidden,t]}).filter(function(e){return e[0]}).map(function(e){return e[1]}):e.Props.SheetNames=e.SheetNames),e.Props.Worksheets=e.Props.SheetNames.length,i.file(s,at(e.Props,t)),a.extprops.push(s),Ke(t.rels,3,s,lc.EXT_PROPS),e.Custprops!==e.Props&&u(e.Custprops||{}).length>0&&(s=\"docProps/custom.xml\",i.file(s,st(e.Custprops,t)),a.custprops.push(s),Ke(t.rels,4,s,lc.CUST_PROPS)),s=\"xl/workbook.\"+r,i.file(s,Ji(e,s,t)),a.workbooks.push(s),Ke(t.rels,1,s,lc.WB),o=1;o<=e.SheetNames.length;++o){var l={\"!id\":{}},c=e.Sheets[e.SheetNames[o-1]];switch((c||{})[\"!type\"]||\"sheet\"){case\"chart\":default:s=\"xl/worksheets/sheet\"+o+\".\"+r,i.file(s,es(o-1,s,t,e,l)),a.sheets.push(s),Ke(t.wbrels,-1,\"worksheets/sheet\"+o+\".\"+r,lc.WS[0])}if(c){var f=c[\"!comments\"];if(f&&f.length>0){var h=\"xl/comments\"+o+\".\"+r;i.file(h,ns(f,h,t)),a.comments.push(h),Ke(l,-1,\"../comments\"+o+\".\"+r,lc.CMNT)}c[\"!legacy\"]&&i.file(\"xl/drawings/vmlDrawing\"+o+\".vml\",zn(o,c[\"!comments\"])),delete c[\"!comments\"],delete c[\"!legacy\"]}l[\"!id\"].rId1&&i.file(Ge(s),Ye(l))}return null!=t.Strings&&t.Strings.length>0&&(s=\"xl/sharedStrings.\"+r,i.file(s,rs(t.Strings,s,t)),a.strs.push(s),Ke(t.wbrels,-1,\"sharedStrings.\"+r,lc.SST)),s=\"xl/theme/theme1.xml\",i.file(s,In(e.Themes,t)),a.themes.push(s),Ke(t.wbrels,-1,\"theme/theme1.xml\",lc.THEME),s=\"xl/styles.\"+r,i.file(s,ts(e,s,t)),a.styles.push(s),Ke(t.wbrels,-1,\"styles.\"+r,lc.STY),e.vbaraw&&n&&(s=\"xl/vbaProject.bin\",i.file(s,e.vbaraw),a.vba.push(s),Ke(t.wbrels,-1,\"vbaProject.bin\",lc.VBA)),i.file(\"[Content_Types].xml\",Xe(a,t)),i.file(\"_rels/.rels\",Ye(t.rels)),i.file(\"xl/_rels/workbook.\"+r+\".rels\",Ye(t.wbrels)),delete t.revssf,delete t.ssf,i}function eo(e,t){var r=\"\";switch((t||{}).type||\"base64\"){case\"buffer\":return[e[0],e[1],e[2],e[3]];case\"base64\":r=Ao.decode(e.substr(0,24));break;case\"binary\":r=e;break;case\"array\":return[e[0],e[1],e[2],e[3]];default:throw new Error(\"Unrecognized type \"+(t?t.type:\"undefined\"))}return[r.charCodeAt(0),r.charCodeAt(1),r.charCodeAt(2),r.charCodeAt(3)]}function to(e,t){return e.find(\"EncryptedPackage\")?qs(e,t):Is(e,t)}function ro(e,t){var r,n=e,a=t||{};switch(a.type||(a.type=Bo&&Buffer.isBuffer(e)?\"buffer\":\"base64\"),a.type){case\"base64\":r=new Lo(n,{base64:!0});break;case\"binary\":case\"array\":r=new Lo(n,{base64:!1});break;case\"buffer\":r=new Lo(n);break;default:throw new Error(\"Unrecognized type \"+a.type)}return Qs(r,a)}function no(e,t){var r=e;return\"base64\"==t.type&&(r=Ao.decode(r)),r=cptable.utils.decode(1200,r.slice(2)),t.type=\"binary\",60==r.charCodeAt(0)?ps(r,t):Cg.to_workbook(r,t)}function ao(e,t){var r=e,n=[0],a=t||{};switch(mm={},a.dateNF&&(mm.dateNF=a.dateNF),a.type||(a.type=Bo&&Buffer.isBuffer(e)?\"buffer\":\"base64\"),\"file\"==a.type&&(a.type=\"buffer\",r=No.readFileSync(e)),(n=eo(r,a))[0]){case 208:return to(Oo.read(r,a),a);case 9:return Is(l(\"base64\"===a.type?Ao.decode(r):r),a);case 60:return ps(r,a);case 73:if(68==n[1])return or(r,a);break;case 84:if(65==n[1]&&66==n[2]&&76==n[3])return Eg.to_workbook(r,a);break;case 80:if(75==n[1]&&n[2]<32&&n[3]<32)return ro(r,a);break;case 239:return 60==n[3]?ps(r,a):Cg.to_workbook(r,a);case 255:if(254==n[1])return no(r,a);break;case 0:if(0==n[1]&&n[2]>=2&&0==n[3])return wg.to_workbook(r,a);break;case 3:case 131:case 139:return bg.to_workbook(r,a)}if(n[2]<=12&&n[3]<=31)return bg.to_workbook(r,a);if(32>n[0]||n[0]>127)throw new Error(\"Unsupported file \"+n.join(\"|\"));return Cg.to_workbook(r,a)}function io(e,t){var r=t||{};return r.type=\"file\",ao(e,r)}function so(e,t){var r=t||{},n=Js(e,r),a={};switch(r.compression&&(a.compression=\"DEFLATE\"),r.type){case\"base64\":a.type=\"base64\";break;case\"binary\":a.type=\"string\";break;case\"buffer\":case\"file\":a.type=\"nodebuffer\";break;default:throw new Error(\"Unrecognized type \"+r.type)}return\"file\"===r.type?No.writeFileSync(r.file,n.generate(a)):n.generate(a)}function oo(e,t){switch(t.type){case\"base64\":return Ao.encode(e);case\"binary\":return e;case\"file\":return No.writeFileSync(t.file,e,\"binary\");case\"buffer\":return Bo?new Buffer(e,\"utf8\"):e.split(\"\").map(function(e){return e.charCodeAt(0)})}throw new Error(\"Unrecognized type \"+t.type)}function lo(e,t){switch(t.type){case\"base64\":return Ao.encode(e);case\"binary\":return e;case\"file\":return No.writeFileSync(t.file,e,\"utf8\");case\"buffer\":return Bo?new Buffer(e,\"utf8\"):e.split(\"\").map(function(e){return e.charCodeAt(0)})}throw new Error(\"Unrecognized type \"+t.type)}function co(e,t){switch(t.type){case\"base64\":case\"binary\":for(var r=\"\",n=0;n<e.length;++n)r+=String.fromCharCode(e[n]);return\"base64\"==t.type?Ao.encode(r):r;case\"file\":return No.writeFileSync(t.file,e);case\"buffer\":return e;default:throw new Error(\"Unrecognized type \"+t.type)}}function fo(e,t){Oi(e);var r=t||{};switch(r.bookType||\"xlsb\"){case\"xml\":case\"xlml\":return lo(Bs(e,r),r);case\"slk\":case\"sylk\":return lo(Zm(e,r),r);case\"html\":return lo(Km(e,r),r);case\"txt\":return oo(Jm(e,r),r);case\"csv\":return lo($m(e,r),r);case\"dif\":return lo(Qm(e,r),r);case\"prn\":return lo(qm(e,r),r);case\"fods\":return lo(Gs(e,r),r);case\"biff2\":return co(zs(e,r),r);case\"xlsx\":case\"xlsm\":case\"xlsb\":case\"ods\":return so(e,r);default:throw new Error(\"Unrecognized bookType |\"+r.bookType+\"|\")}}function ho(e){if(!e.bookType)switch(e.file.slice(e.file.lastIndexOf(\".\")).toLowerCase()){case\".xlsx\":e.bookType=\"xlsx\";break;case\".xlsm\":e.bookType=\"xlsm\";break;case\".xlsb\":e.bookType=\"xlsb\";break;case\".fods\":e.bookType=\"fods\";break;case\".xlml\":e.bookType=\"xlml\";break;case\".sylk\":e.bookType=\"sylk\";break;case\".html\":e.bookType=\"html\";break;case\".xls\":e.bookType=\"biff2\";break;case\".xml\":e.bookType=\"xml\";break;case\".ods\":e.bookType=\"ods\";break;case\".csv\":e.bookType=\"csv\";break;case\".txt\":e.bookType=\"txt\";break;case\".dif\":e.bookType=\"dif\";break;case\".prn\":e.bookType=\"prn\";break;case\".slk\":e.bookType=\"sylk\";break;case\".htm\":e.bookType=\"html\"}}function uo(e,t,r){var n=r||{};return n.type=\"file\",n.file=t,ho(n),fo(e,n)}function po(e,t){if(null==e||null==e[\"!ref\"])return[];var r={t:\"n\",v:0},n=0,a=1,i=[],s=!0,o=0,l=\"\",c={s:{r:0,c:0},e:{r:0,c:0}},f=null!=t?t:{},h=f.raw,u=f.defval,d=null!=f.range?f.range:e[\"!ref\"];switch(1===f.header?n=1:\"A\"===f.header?n=2:Array.isArray(f.header)&&(n=3),typeof d){case\"string\":c=ve(d);break;case\"number\":(c=ve(e[\"!ref\"])).s.r=d;break;default:c=d}n>0&&(a=0);var p=se(c.s.r),g=new Array(c.e.c-c.s.c+1),m=new Array(c.e.r-c.s.r-a+1),b=0,v=0,E=Array.isArray(e),C=c.s.r,w=0,S=0;for(E&&!e[C]&&(e[C]=[]),w=c.s.c;w<=c.e.c;++w)switch(g[w]=fe(w),r=E?e[C][w]:e[g[w]+p],n){case 1:i[w]=w-c.s.c;break;case 2:i[w]=g[w];break;case 3:i[w]=f.header[w-c.s.c];break;default:if(null==r)continue;for(l=o=Ce(r,null,f),v=0,S=0;S<i.length;++S)i[S]==l&&(l=o+\"_\"+ ++v);i[w]=l}var A=1===n?[]:{};for(C=c.s.r+a;C<=c.e.r;++C){if(p=se(C),s=!0,1===n)A=[];else if(A={},Object.defineProperty)try{Object.defineProperty(A,\"__rowNum__\",{value:C,enumerable:!1})}catch(e){A.__rowNum__=C}else A.__rowNum__=C;if(!E||e[C])for(w=c.s.c;w<=c.e.c;++w)if(void 0!==(r=E?e[C][w]:e[g[w]+p])&&void 0!==r.t){switch(o=r.v,r.t){case\"z\":if(null==o)break;continue;case\"e\":continue;case\"s\":case\"d\":case\"b\":case\"n\":break;default:throw new Error(\"unrecognized type \"+r.t)}if(null!=i[w]){if(null==o)if(void 0!==u)A[i[w]]=u;else{if(!h||null!==o)continue;A[i[w]]=null}else A[i[w]]=h?o:Ce(r,o,f);s=!1}}else{if(void 0===u)continue;null!=i[w]&&(A[i[w]]=u,s=!1)}!1!==s&&(1===n?!1===f.blankrows:!f.blankrows)||(m[b++]=A)}return m.length=b,m}function go(e,t,r,n,a,i,s,o){for(var l=!0,c=\"\",f=\"\",h=se(r),u=t.s.c;u<=t.e.c;++u){var d=o.dense?(e[r]||[])[u]:e[n[u]+h];if(null==d)f=\"\";else if(null!=d.v){l=!1,f=\"\"+Ce(d,null,o);for(var p=0,g=0;p!==f.length;++p)if((g=f.charCodeAt(p))===a||g===i||34===g){f='\"'+f.replace(nb,'\"\"')+'\"';break}\"ID\"==f&&(f='\"ID\"')}else null==d.f||d.F?f=\"\":(l=!1,(f=\"=\"+d.f).indexOf(\",\")>=0&&(f='\"'+f.replace(nb,'\"\"')+'\"'));c+=(u===t.s.c?\"\":s)+f}return!1===o.blankrows&&l?null:c}function mo(e,t){var r=[],n=null==t?{}:t;if(null==e||null==e[\"!ref\"])return\"\";var a=ve(e[\"!ref\"]),i=void 0!==n.FS?n.FS:\",\",s=i.charCodeAt(0),o=void 0!==n.RS?n.RS:\"\\n\",l=o.charCodeAt(0),c=new RegExp((\"|\"==i?\"\\\\|\":i)+\"+$\"),f=\"\",h=[];n.dense=Array.isArray(e);for(var u=a.s.c;u<=a.e.c;++u)h[u]=fe(u);for(var d=a.s.r;d<=a.e.r;++d)null!=(f=go(e,a,d,h,s,l,i,n))&&(n.strip&&(f=f.replace(c,\"\")),r.push(f+o));return delete n.dense,r.join(\"\")}function bo(e){var t,r=\"\",n=\"\";if(null==e||null==e[\"!ref\"])return[];var a,i=ve(e[\"!ref\"]),s=\"\",o=[],l=new Array((i.e.r-i.s.r+1)*(i.e.c-i.s.c+1)),c=0,f=Array.isArray(e);for(a=i.s.c;a<=i.e.c;++a)o[a]=fe(a);for(var h=i.s.r;h<=i.e.r;++h)for(s=se(h),a=i.s.c;a<=i.e.c;++a)if(r=o[a]+s,t=f?(e[h]||[])[a]:e[r],n=\"\",void 0!==t){if(null!=t.F){if(r=t.F,!t.f)continue;n=t.f,-1==r.indexOf(\":\")&&(r=r+\":\"+r)}if(null!=t.f)n=t.f;else{if(\"z\"==t.t)continue;if(\"n\"==t.t&&null!=t.v)n=\"\"+t.v;else if(\"b\"==t.t)n=t.v?\"TRUE\":\"FALSE\";else if(void 0!==t.w)n=\"'\"+t.w;else{if(void 0===t.v)continue;n=\"s\"==t.t?\"'\"+t.v:\"\"+t.v}}l[c++]=r+\"=\"+n}return l.length=c,l}r.version=\"0.10.6\";var vo=1200;void 0!==e&&\"undefined\"==typeof cptable&&(fr.cptable=ur);var Eo=function(e){vo=e},Co=function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1);return 255==t&&254==r?i(e.substr(2)):254==t&&255==r?s(e.substr(2)):65279==t?e.substr(1):e},wo=function(e){return String.fromCharCode(e)};\"undefined\"!=typeof cptable&&(Eo=function(e){vo=e},Co=function(e){return 255===e.charCodeAt(0)&&254===e.charCodeAt(1)?cptable.utils.decode(1200,a(e.substr(2))):e},wo=function(e){return 1200===vo?String.fromCharCode(e):cptable.utils.decode(vo,[255&e,e>>8])[0]});var So=null,Ao=function(){var e=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";return{encode:function(t){for(var r,n,a,i,s,o,l,c=\"\",f=0;f<t.length;)i=(r=t.charCodeAt(f++))>>2,s=(3&r)<<4|(n=t.charCodeAt(f++))>>4,o=(15&n)<<2|(a=t.charCodeAt(f++))>>6,l=63&a,isNaN(n)?o=l=64:isNaN(a)&&(l=64),c+=e.charAt(i)+e.charAt(s)+e.charAt(o)+e.charAt(l);return c},decode:function(t){var r,n,a,i,s,o,l=\"\";t=t.replace(/[^A-Za-z0-9\\+\\/\\=]/g,\"\");for(var c=0;c<t.length;)r=e.indexOf(t.charAt(c++))<<2|(i=e.indexOf(t.charAt(c++)))>>4,n=(15&i)<<4|(s=e.indexOf(t.charAt(c++)))>>2,a=(3&s)<<6|(o=e.indexOf(t.charAt(c++))),l+=String.fromCharCode(r),64!=s&&(l+=String.fromCharCode(n)),64!=o&&(l+=String.fromCharCode(a));return l}}}(),Bo=\"undefined\"!=typeof Buffer&&\"undefined\"!=typeof process&&void 0!==process.versions&&process.versions.node,_o=function(e){return[].concat.apply([],e)},To=/\\u0000/g,yo=/[\\u0001-\\u0006]/,ko={},xo=function(e){function t(e){for(var t=\"\",r=e.length-1;r>=0;)t+=e.charAt(r--);return t}function r(e,t){for(var r=\"\";r.length<t;)r+=e;return r}function n(e,t){var n=\"\"+e;return n.length>=t?n:r(\"0\",t-n.length)+n}function a(e,t){var n=\"\"+e;return n.length>=t?n:r(\" \",t-n.length)+n}function i(e,t){var n=\"\"+e;return n.length>=t?n:n+r(\" \",t-n.length)}function s(e,t){var n=\"\"+Math.round(e);return n.length>=t?n:r(\"0\",t-n.length)+n}function o(e,t){var n=\"\"+e;return n.length>=t?n:r(\"0\",t-n.length)+n}function l(e,t){return e>B||e<-B?s(e,t):o(Math.round(e),t)}function c(e,t){return t=t||0,e.length>=7+t&&103==(32|e.charCodeAt(t))&&101==(32|e.charCodeAt(t+1))&&110==(32|e.charCodeAt(t+2))&&101==(32|e.charCodeAt(t+3))&&114==(32|e.charCodeAt(t+4))&&97==(32|e.charCodeAt(t+5))&&108==(32|e.charCodeAt(t+6))}function f(e){for(var t=0;t!=_.length;++t)void 0===e[_[t][0]]&&(e[_[t][0]]=_[t][1])}function h(e){e[0]=\"General\",e[1]=\"0\",e[2]=\"0.00\",e[3]=\"#,##0\",e[4]=\"#,##0.00\",e[9]=\"0%\",e[10]=\"0.00%\",e[11]=\"0.00E+00\",e[12]=\"# ?/?\",e[13]=\"# ??/??\",e[14]=\"m/d/yy\",e[15]=\"d-mmm-yy\",e[16]=\"d-mmm\",e[17]=\"mmm-yy\",e[18]=\"h:mm AM/PM\",e[19]=\"h:mm:ss AM/PM\",e[20]=\"h:mm\",e[21]=\"h:mm:ss\",e[22]=\"m/d/yy h:mm\",e[37]=\"#,##0 ;(#,##0)\",e[38]=\"#,##0 ;[Red](#,##0)\",e[39]=\"#,##0.00;(#,##0.00)\",e[40]=\"#,##0.00;[Red](#,##0.00)\",e[45]=\"mm:ss\",e[46]=\"[h]:mm:ss\",e[47]=\"mmss.0\",e[48]=\"##0.0E+0\",e[49]=\"@\",e[56]='\"上午/下午 \"hh\"時\"mm\"分\"ss\"秒 \"',e[65535]=\"General\"}function u(e,t,r){for(var n=e<0?-1:1,a=e*n,i=0,s=1,o=0,l=1,c=0,f=0,h=Math.floor(a);c<t&&(h=Math.floor(a),o=h*s+i,f=h*c+l,!(a-h<5e-8));)a=1/(a-h),i=s,s=o,l=c,c=f;if(f>t&&(c>t?(f=l,o=i):(f=c,o=s)),!r)return[0,n*o,f];var u=Math.floor(n*o/f);return[u,n*o-u*f,f]}function d(e){return\"\"+e}function p(e){switch(typeof e){case\"string\":return e;case\"boolean\":return e?\"TRUE\":\"FALSE\";case\"number\":return(0|e)===e?d(e):x(e);case\"undefined\":return\"\";case\"object\":if(null==e)return\"\"}throw new Error(\"unsupported value in General format: \"+e)}function g(){return 0}function m(e,t,r){if(e>2958465||e<0)return null;var n=0|e,a=Math.floor(86400*(e-n)),i=0,s=[],o={D:n,T:a,u:86400*(e-n)-a,y:0,m:0,d:0,H:0,M:0,S:0,q:0};if(Math.abs(o.u)<1e-6&&(o.u=0),f(null!=t?t:t=[]),t.date1904&&(n+=1462),o.u>.9999&&(o.u=0,86400==++a&&(o.T=a=0,++n,++o.D)),60===n)s=r?[1317,10,29]:[1900,2,29],i=3;else if(0===n)s=r?[1317,8,29]:[1900,1,0],i=6;else{n>60&&--n;var l=new Date(1900,0,1);l.setDate(l.getDate()+n-1),s=[l.getFullYear(),l.getMonth()+1,l.getDate()],i=l.getDay(),n<60&&(i=(i+6)%7),r&&(i=g(l,s))}return o.y=s[0],o.m=s[1],o.d=s[2],o.S=a%60,a=Math.floor(a/60),o.M=a%60,a=Math.floor(a/60),o.H=a,o.q=i,o}function b(e,t,r,a){var i,s=\"\",o=0,l=0,c=r.y,f=0;switch(e){case 98:c=r.y+543;case 121:switch(t.length){case 1:case 2:i=c%100,f=2;break;default:i=c%1e4,f=4}break;case 109:switch(t.length){case 1:case 2:i=r.m,f=t.length;break;case 3:return y[r.m-1][1];case 5:return y[r.m-1][0];default:return y[r.m-1][2]}break;case 100:switch(t.length){case 1:case 2:i=r.d,f=t.length;break;case 3:return T[r.q][0];default:return T[r.q][1]}break;case 104:switch(t.length){case 1:case 2:i=1+(r.H+11)%12,f=t.length;break;default:throw\"bad hour format: \"+t}break;case 72:switch(t.length){case 1:case 2:i=r.H,f=t.length;break;default:throw\"bad hour format: \"+t}break;case 77:switch(t.length){case 1:case 2:i=r.M,f=t.length;break;default:throw\"bad minute format: \"+t}break;case 115:if(0===r.u)switch(t){case\"s\":case\"ss\":return n(r.S,t.length)}switch(t){case\"s\":case\"ss\":case\".0\":case\".00\":case\".000\":return l=a>=2?3===a?1e3:100:1===a?10:1,(o=Math.round(l*(r.S+r.u)))>=60*l&&(o=0),\"s\"===t?0===o?\"0\":\"\"+o/l:(s=n(o,2+a),\"ss\"===t?s.substr(0,2):\".\"+s.substr(2,t.length-1));default:throw\"bad second format: \"+t}case 90:switch(t){case\"[h]\":case\"[hh]\":i=24*r.D+r.H;break;case\"[m]\":case\"[mm]\":i=60*(24*r.D+r.H)+r.M;break;case\"[s]\":case\"[ss]\":i=60*(60*(24*r.D+r.H)+r.M)+Math.round(r.S+r.u);break;default:throw\"bad abstime format: \"+t}f=3===t.length?1:2;break;case 101:i=c,f=1}return f>0?n(i,f):\"\"}function v(e){if(e.length<=3)return e;for(var t=e.length%3,r=e.substr(0,t);t!=e.length;t+=3)r+=(r.length>0?\",\":\"\")+e.substr(t,3);return r}function E(e){for(var t=[],r=!1,n=0,a=0;n<e.length;++n)switch(e.charCodeAt(n)){case 34:r=!r;break;case 95:case 42:case 92:++n;break;case 59:t[t.length]=e.substr(a,n-a),a=n+1}if(t[t.length]=e.substr(a),!0===r)throw new Error(\"Format |\"+e+\"| unterminated string \");return t}function C(e){for(var t=0,r=\"\",n=\"\";t<e.length;)switch(r=e.charAt(t)){case\"G\":c(e,t)&&(t+=6),t++;break;case'\"':for(;34!==e.charCodeAt(++t)&&t<e.length;)++t;++t;break;case\"\\\\\":case\"_\":t+=2;break;case\"@\":++t;break;case\"B\":case\"b\":if(\"1\"===e.charAt(t+1)||\"2\"===e.charAt(t+1))return!0;case\"M\":case\"D\":case\"Y\":case\"H\":case\"S\":case\"E\":case\"m\":case\"d\":case\"y\":case\"h\":case\"s\":case\"e\":case\"g\":return!0;case\"A\":case\"a\":if(\"A/P\"===e.substr(t,3).toUpperCase())return!0;if(\"AM/PM\"===e.substr(t,5).toUpperCase())return!0;++t;break;case\"[\":for(n=r;\"]\"!==e.charAt(t++)&&t<e.length;)n+=e.charAt(t);if(n.match(I))return!0;break;case\".\":case\"0\":case\"#\":for(;t<e.length&&(\"0#?.,E+-%\".indexOf(r=e.charAt(++t))>-1||\"\\\\\"==r&&\"-\"==e.charAt(t+1)&&\"0#\".indexOf(e.charAt(t+2))>-1););break;case\"?\":for(;e.charAt(++t)===r;);break;case\"*\":++t,\" \"!=e.charAt(t)&&\"*\"!=e.charAt(t)||++t;break;case\"(\":case\")\":++t;break;case\"1\":case\"2\":case\"3\":case\"4\":case\"5\":case\"6\":case\"7\":case\"8\":case\"9\":for(;t<e.length&&\"0123456789\".indexOf(e.charAt(++t))>-1;);break;case\" \":default:++t}return!1}function w(e,t,r,n){for(var a,i,s,o,l=[],f=\"\",h=0,u=\"\",d=\"t\",g=\"H\";h<e.length;)switch(u=e.charAt(h)){case\"G\":if(!c(e,h))throw new Error(\"unrecognized character \"+u+\" in \"+e);l[l.length]={t:\"G\",v:\"General\"},h+=7;break;case'\"':for(f=\"\";34!==(o=e.charCodeAt(++h))&&h<e.length;)f+=String.fromCharCode(o);l[l.length]={t:\"t\",v:f},++h;break;case\"\\\\\":var v=e.charAt(++h),E=\"(\"===v||\")\"===v?v:\"t\";l[l.length]={t:E,v:v},++h;break;case\"_\":l[l.length]={t:\"t\",v:\" \"},h+=2;break;case\"@\":l[l.length]={t:\"T\",v:t},++h;break;case\"B\":case\"b\":if(\"1\"===e.charAt(h+1)||\"2\"===e.charAt(h+1)){if(null==i&&null==(i=m(t,r,\"2\"===e.charAt(h+1))))return\"\";l[l.length]={t:\"X\",v:e.substr(h,2)},d=u,h+=2;break}case\"M\":case\"D\":case\"Y\":case\"H\":case\"S\":case\"E\":u=u.toLowerCase();case\"m\":case\"d\":case\"y\":case\"h\":case\"s\":case\"e\":case\"g\":if(t<0)return\"\";if(null==i&&null==(i=m(t,r)))return\"\";for(f=u;++h<e.length&&e.charAt(h).toLowerCase()===u;)f+=u;\"m\"===u&&\"h\"===d.toLowerCase()&&(u=\"M\"),\"h\"===u&&(u=g),l[l.length]={t:u,v:f},d=u;break;case\"A\":case\"a\":if(a={t:u,v:u},null==i&&(i=m(t,r)),\"A/P\"===e.substr(h,3).toUpperCase()?(null!=i&&(a.v=i.H>=12?\"P\":\"A\"),a.t=\"T\",g=\"h\",h+=3):\"AM/PM\"===e.substr(h,5).toUpperCase()?(null!=i&&(a.v=i.H>=12?\"PM\":\"AM\"),a.t=\"T\",h+=5,g=\"h\"):(a.t=\"t\",++h),null==i&&\"T\"===a.t)return\"\";l[l.length]=a,d=u;break;case\"[\":for(f=u;\"]\"!==e.charAt(h++)&&h<e.length;)f+=e.charAt(h);if(\"]\"!==f.slice(-1))throw'unterminated \"[\" block: |'+f+\"|\";if(f.match(I)){if(null==i&&null==(i=m(t,r)))return\"\";l[l.length]={t:\"Z\",v:f.toLowerCase()},d=f.charAt(1)}else f.indexOf(\"$\")>-1&&(f=(f.match(/\\$([^-\\[\\]]*)/)||[])[1]||\"$\",C(e)||(l[l.length]={t:\"t\",v:f}));break;case\".\":if(null!=i){for(f=u;\"0\"===(u=e.charAt(++h));)f+=u;l[l.length]={t:\"s\",v:f};break}case\"0\":case\"#\":for(f=u;++h<e.length&&\"0#?.,E+-%\".indexOf(u=e.charAt(h))>-1||\"\\\\\"==u&&\"-\"==e.charAt(h+1)&&h<e.length-2&&\"0#\".indexOf(e.charAt(h+2))>-1;)f+=u;l[l.length]={t:\"n\",v:f};break;case\"?\":for(f=u;e.charAt(++h)===u;)f+=u;a={t:u,v:f},l[l.length]=a,d=u;break;case\"*\":++h,\" \"!=e.charAt(h)&&\"*\"!=e.charAt(h)||++h;break;case\"(\":case\")\":l[l.length]={t:1===n?\"t\":u,v:u},++h;break;case\"1\":case\"2\":case\"3\":case\"4\":case\"5\":case\"6\":case\"7\":case\"8\":case\"9\":for(f=u;h<e.length&&\"0123456789\".indexOf(e.charAt(++h))>-1;)f+=e.charAt(h);l[l.length]={t:\"D\",v:f};break;case\" \":l[l.length]={t:u,v:u},++h;break;default:if(-1===\",$-+/():!^&'~{}<>=€acfijklopqrtuvwxzP\".indexOf(u))throw new Error(\"unrecognized character \"+u+\" in \"+e);l[l.length]={t:\"t\",v:u},++h}var w,S=0,A=0;for(h=l.length-1,d=\"t\";h>=0;--h)switch(l[h].t){case\"h\":case\"H\":l[h].t=g,d=\"h\",S<1&&(S=1);break;case\"s\":(w=l[h].v.match(/\\.0+$/))&&(A=Math.max(A,w[0].length-1)),S<3&&(S=3);case\"d\":case\"y\":case\"M\":case\"e\":d=l[h].t;break;case\"m\":\"s\"===d&&(l[h].t=\"M\",S<2&&(S=2));break;case\"X\":break;case\"Z\":S<1&&l[h].v.match(/[Hh]/)&&(S=1),S<2&&l[h].v.match(/[Mm]/)&&(S=2),S<3&&l[h].v.match(/[Ss]/)&&(S=3)}switch(S){case 0:break;case 1:i.u>=.5&&(i.u=0,++i.S),i.S>=60&&(i.S=0,++i.M),i.M>=60&&(i.M=0,++i.H);break;case 2:i.u>=.5&&(i.u=0,++i.S),i.S>=60&&(i.S=0,++i.M)}var B,_=\"\";for(h=0;h<l.length;++h)switch(l[h].t){case\"t\":case\"T\":case\" \":case\"D\":break;case\"X\":l[h].v=\"\",l[h].t=\";\";break;case\"d\":case\"m\":case\"y\":case\"h\":case\"H\":case\"M\":case\"s\":case\"e\":case\"b\":case\"Z\":l[h].v=b(l[h].t.charCodeAt(0),l[h].v,i,A),l[h].t=\"t\";break;case\"n\":case\"(\":case\"?\":for(B=h+1;null!=l[B]&&(\"?\"===(u=l[B].t)||\"D\"===u||(\" \"===u||\"t\"===u)&&null!=l[B+1]&&(\"?\"===l[B+1].t||\"t\"===l[B+1].t&&\"/\"===l[B+1].v)||\"(\"===l[h].t&&(\" \"===u||\"n\"===u||\")\"===u)||\"t\"===u&&(\"/\"===l[B].v||\" \"===l[B].v&&null!=l[B+1]&&\"?\"==l[B+1].t));)l[h].v+=l[B].v,l[B]={v:\"\",t:\";\"},++B;_+=l[h].v,h=B-1;break;case\"G\":l[h].t=\"t\",l[h].v=p(t,r)}var T,y,k=\"\";if(_.length>0){40==_.charCodeAt(0)?(T=t<0&&45===_.charCodeAt(0)?-t:t,y=R(\"(\",_,T)):(y=R(\"n\",_,T=t<0&&n>1?-t:t),T<0&&l[0]&&\"t\"==l[0].t&&(y=y.substr(1),l[0].v=\"-\"+l[0].v)),B=y.length-1;var x=l.length;for(h=0;h<l.length;++h)if(null!=l[h]&&\"t\"!=l[h].t&&l[h].v.indexOf(\".\")>-1){x=h;break}var O=l.length;if(x===l.length&&-1===y.indexOf(\"E\")){for(h=l.length-1;h>=0;--h)null!=l[h]&&-1!==\"n?(\".indexOf(l[h].t)&&(B>=l[h].v.length-1?(B-=l[h].v.length,l[h].v=y.substr(B+1,l[h].v.length)):B<0?l[h].v=\"\":(l[h].v=y.substr(0,B+1),B=-1),l[h].t=\"t\",O=h);B>=0&&O<l.length&&(l[O].v=y.substr(0,B+1)+l[O].v)}else if(x!==l.length&&-1===y.indexOf(\"E\")){for(B=y.indexOf(\".\")-1,h=x;h>=0;--h)if(null!=l[h]&&-1!==\"n?(\".indexOf(l[h].t)){for(s=l[h].v.indexOf(\".\")>-1&&h===x?l[h].v.indexOf(\".\")-1:l[h].v.length-1,k=l[h].v.substr(s+1);s>=0;--s)B>=0&&(\"0\"===l[h].v.charAt(s)||\"#\"===l[h].v.charAt(s))&&(k=y.charAt(B--)+k);l[h].v=k,l[h].t=\"t\",O=h}for(B>=0&&O<l.length&&(l[O].v=y.substr(0,B+1)+l[O].v),B=y.indexOf(\".\")+1,h=x;h<l.length;++h)if(null!=l[h]&&(-1!==\"n?(\".indexOf(l[h].t)||h===x)){for(s=l[h].v.indexOf(\".\")>-1&&h===x?l[h].v.indexOf(\".\")+1:0,k=l[h].v.substr(0,s);s<l[h].v.length;++s)B<y.length&&(k+=y.charAt(B++));l[h].v=k,l[h].t=\"t\",O=h}}}for(h=0;h<l.length;++h)null!=l[h]&&\"n(?\".indexOf(l[h].t)>-1&&(T=n>1&&t<0&&h>0&&\"-\"===l[h-1].v?-t:t,l[h].v=R(l[h].t,l[h].v,T),l[h].t=\"t\");var D=\"\";for(h=0;h!==l.length;++h)null!=l[h]&&(D+=l[h].v);return D}function S(e,t){if(null==t)return!1;var r=parseFloat(t[2]);switch(t[1]){case\"=\":if(e==r)return!0;break;case\">\":if(e>r)return!0;break;case\"<\":if(e<r)return!0;break;case\"<>\":if(e!=r)return!0;break;case\">=\":if(e>=r)return!0;break;case\"<=\":if(e<=r)return!0}return!1}function A(e,t){var r=E(e),n=r.length,a=r[n-1].indexOf(\"@\");if(n<4&&a>-1&&--n,r.length>4)throw new Error(\"cannot find right format for |\"+r.join(\"|\")+\"|\");if(\"number\"!=typeof t)return[4,4===r.length||a>-1?r[r.length-1]:\"@\"];switch(r.length){case 1:r=a>-1?[\"General\",\"General\",\"General\",r[0]]:[r[0],r[0],r[0],\"@\"];break;case 2:r=a>-1?[r[0],r[0],r[0],r[1]]:[r[0],r[1],r[0],\"@\"];break;case 3:r=a>-1?[r[0],r[1],r[0],r[2]]:[r[0],r[1],r[2],\"@\"]}var i=t>0?r[0]:t<0?r[1]:r[2];if(-1===r[0].indexOf(\"[\")&&-1===r[1].indexOf(\"[\"))return[n,i];if(null!=r[0].match(O)||null!=r[1].match(O)){var s=r[0].match(D),o=r[1].match(D);return S(t,s)?[n,r[0]]:S(t,o)?[n,r[1]]:[n,r[null!=s&&null!=o?2:1]]}return[n,i]}e.version=\"0.9.4\";var B=Math.pow(2,32),_=[[\"date1904\",0],[\"output\",\"\"],[\"WTF\",!1]];e.opts=_;var T=[[\"Sun\",\"Sunday\"],[\"Mon\",\"Monday\"],[\"Tue\",\"Tuesday\"],[\"Wed\",\"Wednesday\"],[\"Thu\",\"Thursday\"],[\"Fri\",\"Friday\"],[\"Sat\",\"Saturday\"]],y=[[\"J\",\"Jan\",\"January\"],[\"F\",\"Feb\",\"February\"],[\"M\",\"Mar\",\"March\"],[\"A\",\"Apr\",\"April\"],[\"M\",\"May\",\"May\"],[\"J\",\"Jun\",\"June\"],[\"J\",\"Jul\",\"July\"],[\"A\",\"Aug\",\"August\"],[\"S\",\"Sep\",\"September\"],[\"O\",\"Oct\",\"October\"],[\"N\",\"Nov\",\"November\"],[\"D\",\"Dec\",\"December\"]],k={};h(k),e._general_int=d;var x=function(){function e(e){var t=e<0?12:11,r=n(e.toFixed(12));return r.length<=t?r:(r=e.toPrecision(10)).length<=t?r:e.toExponential(5)}function t(e){var t=e.toFixed(11).replace(a,\".$1\");return t.length>(e<0?12:11)&&(t=e.toPrecision(6)),t}function r(e){for(var t=0;t!=e.length;++t)if(101==(32|e.charCodeAt(t)))return e.replace(s,\".$1\").replace(o,\"E\").replace(\"e\",\"E\").replace(l,\"$10$2\");return e}function n(e){return e.indexOf(\".\")>-1?e.replace(i,\"\").replace(a,\".$1\"):e}var a=/\\.(\\d*[1-9])0+$/,i=/\\.0*$/,s=/\\.(\\d*[1-9])0+/,o=/\\.0*[Ee]/,l=/(E[+-])(\\d)$/;return function(a){var i,s=Math.floor(Math.log(Math.abs(a))*Math.LOG10E);return i=s>=-4&&s<=-1?a.toPrecision(10+s):Math.abs(s)<=9?e(a):10===s?a.toFixed(10).substr(0,12):t(a),n(r(i))}}();e._general_num=x,e._general=p,e.parse_date_code=m;var R=function(){function e(e,t,n){var a=t.replace(A,\"\"),i=t.length-a.length;return R(e,a,n*Math.pow(10,2*i))+r(\"%\",i)}function s(e,t,r){for(var n=t.length-1;44===t.charCodeAt(n-1);)--n;return R(e,t.substr(0,n),r/Math.pow(10,3*(t.length-n)))}function o(e,t){var r,n=e.indexOf(\"E\")-e.indexOf(\".\")-1;if(e.match(/^#+0.0E\\+0$/)){if(0==t)return\"0.0E+0\";if(t<0)return\"-\"+o(e,-t);var a=e.indexOf(\".\");-1===a&&(a=e.indexOf(\"E\"));var i=Math.floor(Math.log(t)*Math.LOG10E)%a;if(i<0&&(i+=a),-1===(r=(t/Math.pow(10,i)).toPrecision(n+1+(a+i)%a)).indexOf(\"e\")){var s=Math.floor(Math.log(t)*Math.LOG10E);for(-1===r.indexOf(\".\")?r=r.charAt(0)+\".\"+r.substr(1)+\"E+\"+(s-r.length+i):r+=\"E+\"+(s-i);\"0.\"===r.substr(0,2);)r=(r=r.charAt(0)+r.substr(2,a)+\".\"+r.substr(2+a)).replace(/^0+([1-9])/,\"$1\").replace(/^0+\\./,\"0.\");r=r.replace(/\\+-/,\"-\")}r=r.replace(/^([+-]?)(\\d*)\\.(\\d*)[Ee]/,function(e,t,r,n){return t+r+n.substr(0,(a+i)%a)+\".\"+n.substr(i)+\"E\"})}else r=t.toExponential(n);return e.match(/E\\+00$/)&&r.match(/e[+-]\\d$/)&&(r=r.substr(0,r.length-1)+\"0\"+r.charAt(r.length-1)),e.match(/E\\-/)&&r.match(/e\\+/)&&(r=r.replace(/e\\+/,\"e\")),r.replace(\"e\",\"E\")}function c(e,t,i){var s=parseInt(e[4],10),o=Math.round(t*s),l=Math.floor(o/s),c=o-l*s,f=s;return i+(0===l?\"\":\"\"+l)+\" \"+(0===c?r(\" \",e[1].length+1+e[4].length):a(c,e[1].length)+e[2]+\"/\"+e[3]+n(f,e[4].length))}function f(e,t,n){return n+(0===t?\"\":\"\"+t)+r(\" \",e[1].length+2+e[4].length)}function h(e){for(var t,r=\"\",n=0;n!=e.length;++n)switch(t=e.charCodeAt(n)){case 35:break;case 63:r+=\" \";break;case 48:r+=\"0\";break;default:r+=String.fromCharCode(t)}return r}function d(e,t){var r=Math.pow(10,t);return\"\"+Math.round(e*r)/r}function p(e,t){return t<(\"\"+Math.round((e-Math.floor(e))*Math.pow(10,t))).length?0:Math.round((e-Math.floor(e))*Math.pow(10,t))}function g(e,t){return t<(\"\"+Math.round((e-Math.floor(e))*Math.pow(10,t))).length?1:0}function m(e){return e<2147483647&&e>-2147483648?\"\"+(e>=0?0|e:e-1|0):\"\"+Math.floor(e)}function b(f,E,C){if(40===f.charCodeAt(0)&&!E.match(T)){var w=E.replace(/\\( */,\"\").replace(/ \\)/,\"\").replace(/\\)/,\"\");return C>=0?b(\"n\",w,C):\"(\"+b(\"n\",w,-C)+\")\"}if(44===E.charCodeAt(E.length-1))return s(f,E,C);if(-1!==E.indexOf(\"%\"))return e(f,E,C);if(-1!==E.indexOf(\"E\"))return o(E,C);if(36===E.charCodeAt(0))return\"$\"+b(f,E.substr(\" \"==E.charAt(1)?2:1),C);var S,A,k,x,I=Math.abs(C),O=C<0?\"-\":\"\";if(E.match(/^00+$/))return O+l(I,E.length);if(E.match(/^[#?]+$/))return\"0\"===(S=l(C,0))&&(S=\"\"),S.length>E.length?S:h(E.substr(0,E.length-S.length))+S;if(A=E.match(B))return c(A,I,O);if(E.match(/^#+0+$/))return O+l(I,E.length-E.indexOf(\"0\"));if(A=E.match(_))return S=d(C,A[1].length).replace(/^([^\\.]+)$/,\"$1.\"+h(A[1])).replace(/\\.$/,\".\"+h(A[1])).replace(/\\.(\\d*)$/,function(e,t){return\".\"+t+r(\"0\",h(A[1]).length-t.length)}),-1!==E.indexOf(\"0.\")?S:S.replace(/^0\\./,\".\");if(E=E.replace(/^#+([0.])/,\"$1\"),A=E.match(/^(0*)\\.(#*)$/))return O+d(I,A[2].length).replace(/\\.(\\d*[1-9])0*$/,\".$1\").replace(/^(-?\\d*)$/,\"$1.\").replace(/^0\\./,A[1].length?\"0.\":\".\");if(A=E.match(/^#{1,3},##0(\\.?)$/))return O+v(l(I,0));if(A=E.match(/^#,##0\\.([#0]*0)$/))return C<0?\"-\"+b(f,E,-C):v(\"\"+(Math.floor(C)+g(C,A[1].length)))+\".\"+n(p(C,A[1].length),A[1].length);if(A=E.match(/^#,#*,#0/))return b(f,E.replace(/^#,#*,/,\"\"),C);if(A=E.match(/^([0#]+)(\\\\?-([0#]+))+$/))return S=t(b(f,E.replace(/[\\\\-]/g,\"\"),C)),k=0,t(t(E.replace(/\\\\/g,\"\")).replace(/[0#]/g,function(e){return k<S.length?S.charAt(k++):\"0\"===e?\"0\":\"\"}));if(E.match(y))return\"(\"+(S=b(f,\"##########\",C)).substr(0,3)+\") \"+S.substr(3,3)+\"-\"+S.substr(6);var D=\"\";if(A=E.match(/^([#0?]+)( ?)\\/( ?)([#0?]+)/))return k=Math.min(A[4].length,7),x=u(I,Math.pow(10,k)-1,!1),S=\"\"+O,\" \"==(D=R(\"n\",A[1],x[1])).charAt(D.length-1)&&(D=D.substr(0,D.length-1)+\"0\"),S+=D+A[2]+\"/\"+A[3],(D=i(x[2],k)).length<A[4].length&&(D=h(A[4].substr(A[4].length-D.length))+D),S+=D;if(A=E.match(/^# ([#0?]+)( ?)\\/( ?)([#0?]+)/))return k=Math.min(Math.max(A[1].length,A[4].length),7),x=u(I,Math.pow(10,k)-1,!0),O+(x[0]||(x[1]?\"\":\"0\"))+\" \"+(x[1]?a(x[1],k)+A[2]+\"/\"+A[3]+i(x[2],k):r(\" \",2*k+1+A[2].length+A[3].length));if(A=E.match(/^[#0?]+$/))return S=l(C,0),E.length<=S.length?S:h(E.substr(0,E.length-S.length))+S;if(A=E.match(/^([#0?]+)\\.([#0]+)$/)){S=\"\"+C.toFixed(Math.min(A[2].length,10)).replace(/([^0])0+$/,\"$1\"),k=S.indexOf(\".\");var P=E.indexOf(\".\")-k,F=E.length-S.length-P;return h(E.substr(0,P)+S+E.substr(E.length-F))}if(A=E.match(/^00,000\\.([#0]*0)$/))return k=p(C,A[1].length),C<0?\"-\"+b(f,E,-C):v(m(C)).replace(/^\\d,\\d{3}$/,\"0$&\").replace(/^\\d*$/,function(e){return\"00,\"+(e.length<3?n(0,3-e.length):\"\")+e})+\".\"+n(k,A[1].length);switch(E){case\"###,##0.00\":return b(f,\"#,##0.00\",C);case\"###,###\":case\"##,###\":case\"#,###\":var N=v(l(I,0));return\"0\"!==N?O+N:\"\";case\"###,###.00\":return b(f,\"###,##0.00\",C).replace(/^0\\./,\".\");case\"#,###.00\":return b(f,\"#,##0.00\",C).replace(/^0\\./,\".\")}throw new Error(\"unsupported format |\"+E+\"|\")}function E(e,t,r){for(var n=t.length-1;44===t.charCodeAt(n-1);)--n;return R(e,t.substr(0,n),r/Math.pow(10,3*(t.length-n)))}function C(e,t,n){var a=t.replace(A,\"\"),i=t.length-a.length;return R(e,a,n*Math.pow(10,2*i))+r(\"%\",i)}function w(e,t){var r,n=e.indexOf(\"E\")-e.indexOf(\".\")-1;if(e.match(/^#+0.0E\\+0$/)){if(0==t)return\"0.0E+0\";if(t<0)return\"-\"+w(e,-t);var a=e.indexOf(\".\");-1===a&&(a=e.indexOf(\"E\"));var i=Math.floor(Math.log(t)*Math.LOG10E)%a;if(i<0&&(i+=a),!(r=(t/Math.pow(10,i)).toPrecision(n+1+(a+i)%a)).match(/[Ee]/)){var s=Math.floor(Math.log(t)*Math.LOG10E);-1===r.indexOf(\".\")?r=r.charAt(0)+\".\"+r.substr(1)+\"E+\"+(s-r.length+i):r+=\"E+\"+(s-i),r=r.replace(/\\+-/,\"-\")}r=r.replace(/^([+-]?)(\\d*)\\.(\\d*)[Ee]/,function(e,t,r,n){return t+r+n.substr(0,(a+i)%a)+\".\"+n.substr(i)+\"E\"})}else r=t.toExponential(n);return e.match(/E\\+00$/)&&r.match(/e[+-]\\d$/)&&(r=r.substr(0,r.length-1)+\"0\"+r.charAt(r.length-1)),e.match(/E\\-/)&&r.match(/e\\+/)&&(r=r.replace(/e\\+/,\"e\")),r.replace(\"e\",\"E\")}function S(e,s,o){if(40===e.charCodeAt(0)&&!s.match(T)){var l=s.replace(/\\( */,\"\").replace(/ \\)/,\"\").replace(/\\)/,\"\");return o>=0?S(\"n\",l,o):\"(\"+S(\"n\",l,-o)+\")\"}if(44===s.charCodeAt(s.length-1))return E(e,s,o);if(-1!==s.indexOf(\"%\"))return C(e,s,o);if(-1!==s.indexOf(\"E\"))return w(s,o);if(36===s.charCodeAt(0))return\"$\"+S(e,s.substr(\" \"==s.charAt(1)?2:1),o);var c,d,p,g,m=Math.abs(o),b=o<0?\"-\":\"\";if(s.match(/^00+$/))return b+n(m,s.length);if(s.match(/^[#?]+$/))return c=\"\"+o,0===o&&(c=\"\"),c.length>s.length?c:h(s.substr(0,s.length-c.length))+c;if(d=s.match(B))return f(d,m,b);if(s.match(/^#+0+$/))return b+n(m,s.length-s.indexOf(\"0\"));if(d=s.match(_))return c=(\"\"+o).replace(/^([^\\.]+)$/,\"$1.\"+h(d[1])).replace(/\\.$/,\".\"+h(d[1])),c=c.replace(/\\.(\\d*)$/,function(e,t){return\".\"+t+r(\"0\",h(d[1]).length-t.length)}),-1!==s.indexOf(\"0.\")?c:c.replace(/^0\\./,\".\");if(s=s.replace(/^#+([0.])/,\"$1\"),d=s.match(/^(0*)\\.(#*)$/))return b+(\"\"+m).replace(/\\.(\\d*[1-9])0*$/,\".$1\").replace(/^(-?\\d*)$/,\"$1.\").replace(/^0\\./,d[1].length?\"0.\":\".\");if(d=s.match(/^#{1,3},##0(\\.?)$/))return b+v(\"\"+m);if(d=s.match(/^#,##0\\.([#0]*0)$/))return o<0?\"-\"+S(e,s,-o):v(\"\"+o)+\".\"+r(\"0\",d[1].length);if(d=s.match(/^#,#*,#0/))return S(e,s.replace(/^#,#*,/,\"\"),o);if(d=s.match(/^([0#]+)(\\\\?-([0#]+))+$/))return c=t(S(e,s.replace(/[\\\\-]/g,\"\"),o)),p=0,t(t(s.replace(/\\\\/g,\"\")).replace(/[0#]/g,function(e){return p<c.length?c.charAt(p++):\"0\"===e?\"0\":\"\"}));if(s.match(y))return\"(\"+(c=S(e,\"##########\",o)).substr(0,3)+\") \"+c.substr(3,3)+\"-\"+c.substr(6);var A=\"\";if(d=s.match(/^([#0?]+)( ?)\\/( ?)([#0?]+)/))return p=Math.min(d[4].length,7),g=u(m,Math.pow(10,p)-1,!1),c=\"\"+b,\" \"==(A=R(\"n\",d[1],g[1])).charAt(A.length-1)&&(A=A.substr(0,A.length-1)+\"0\"),c+=A+d[2]+\"/\"+d[3],(A=i(g[2],p)).length<d[4].length&&(A=h(d[4].substr(d[4].length-A.length))+A),c+=A;if(d=s.match(/^# ([#0?]+)( ?)\\/( ?)([#0?]+)/))return p=Math.min(Math.max(d[1].length,d[4].length),7),g=u(m,Math.pow(10,p)-1,!0),b+(g[0]||(g[1]?\"\":\"0\"))+\" \"+(g[1]?a(g[1],p)+d[2]+\"/\"+d[3]+i(g[2],p):r(\" \",2*p+1+d[2].length+d[3].length));if(d=s.match(/^[#0?]+$/))return c=\"\"+o,s.length<=c.length?c:h(s.substr(0,s.length-c.length))+c;if(d=s.match(/^([#0]+)\\.([#0]+)$/)){c=\"\"+o.toFixed(Math.min(d[2].length,10)).replace(/([^0])0+$/,\"$1\"),p=c.indexOf(\".\");var k=s.indexOf(\".\")-p,x=s.length-c.length-k;return h(s.substr(0,k)+c+s.substr(s.length-x))}if(d=s.match(/^00,000\\.([#0]*0)$/))return o<0?\"-\"+S(e,s,-o):v(\"\"+o).replace(/^\\d,\\d{3}$/,\"0$&\").replace(/^\\d*$/,function(e){return\"00,\"+(e.length<3?n(0,3-e.length):\"\")+e})+\".\"+n(0,d[1].length);switch(s){case\"###,###\":case\"##,###\":case\"#,###\":var I=v(\"\"+m);return\"0\"!==I?b+I:\"\";default:if(s.match(/\\.[0#?]*$/))return S(e,s.slice(0,s.lastIndexOf(\".\")),o)+h(s.slice(s.lastIndexOf(\".\")))}throw new Error(\"unsupported format |\"+s+\"|\")}var A=/%/g,B=/# (\\?+)( ?)\\/( ?)(\\d+)/,_=/^#*0*\\.([0#]+)/,T=/\\).*[0#]/,y=/\\(###\\) ###\\\\?-####/;return function(e,t,r){return(0|r)===r?S(e,t,r):b(e,t,r)}}();e._split=E;var I=/\\[[HhMmSs]*\\]/;e.is_date=C,e._eval=w;var O=/\\[[=<>]/,D=/\\[([=<>]*)(-?\\d+\\.?\\d*)\\]/;e._table=k,e.load=function(e,t){k[t]=e},e.format=function(e,t,r){null==r&&(r={});var n=\"\";switch(typeof e){case\"string\":n=\"m/d/yy\"==e&&r.dateNF?r.dateNF:e;break;case\"number\":n=14==e&&r.dateNF?r.dateNF:(null!=r.table?r.table:k)[e]}if(c(n,0))return p(t,r);var a=A(n,t);if(c(a[1]))return p(t,r);if(!0===t)t=\"TRUE\";else if(!1===t)t=\"FALSE\";else if(\"\"===t||null==t)return\"\";return w(a[1],t,r,a[0])},e.get_table=function(){return k},e.load_table=function(t){for(var r=0;392!=r;++r)void 0!==t[r]&&e.load(t[r],r)},e.init_table=h};xo(ko);var Ro={\"General Number\":\"General\",\"General Date\":ko._table[22],\"Long Date\":\"dddd, mmmm dd, yyyy\",\"Medium Date\":ko._table[15],\"Short Date\":ko._table[14],\"Long Time\":ko._table[19],\"Medium Time\":ko._table[18],\"Short Time\":ko._table[20],Currency:'\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',Fixed:ko._table[2],Standard:ko._table[4],Percent:ko._table[10],Scientific:ko._table[11],\"Yes/No\":'\"Yes\";\"Yes\";\"No\";@',\"True/False\":'\"True\";\"True\";\"False\";@',\"On/Off\":'\"Yes\";\"Yes\";\"No\";@'},Io=/[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g,Oo=function(){function e(e){var o=3,l=512,h=0,u=0,d=0,p=0,g=0,b=[],v=e.slice(0,512);switch($(v,0),o=t(v)[0]){case 3:l=512;break;case 4:l=4096;break;default:throw new Error(\"Major Version: Expected 3 or 4 saw \"+o)}512!==l&&$(v=e.slice(0,l),28);var E=e.slice(0,l);r(v,o);var C=v.read_shift(4,\"i\");if(3===o&&0!==C)throw new Error(\"# Directory Sectors: Expected 0 saw \"+C);v.l+=4,d=v.read_shift(4,\"i\"),v.l+=4,v.chk(\"00100000\",\"Mini Stream Cutoff Size: \"),p=v.read_shift(4,\"i\"),h=v.read_shift(4,\"i\"),g=v.read_shift(4,\"i\"),u=v.read_shift(4,\"i\");for(var w,S=0;S<109&&!((w=v.read_shift(4,\"i\"))<0);++S)b[S]=w;var A=n(e,l);s(g,u,A,l,b);var B=c(A,d,b,l);B[d].name=\"!Directory\",h>0&&p!==m&&(B[p].name=\"!MiniFAT\"),B[b[0]].name=\"!FAT\",B.fat_addrs=b,B.ssz=l;var _={},T=[],y=[],k=[],x={};f(d,B,A,T,h,_,y),a(y,x,k,T);var R=T.shift();return T.root=R,{raw:{header:E,sectors:A},FileIndex:y,FullPaths:k,FullPathDir:x,find:i(k,T,y,_,R)}}function t(e){e.chk(b,\"Header Signature: \"),e.chk(v,\"CLSID: \");var t=e.read_shift(2,\"u\");return[e.read_shift(2,\"u\"),t]}function r(e,t){var r=9;switch(e.l+=2,r=e.read_shift(2)){case 9:if(3!=t)throw new Error(\"Sector Shift: Expected 9 saw \"+r);break;case 12:if(4!=t)throw new Error(\"Sector Shift: Expected 12 saw \"+r);break;default:throw new Error(\"Sector Shift: Expected 9 or 12 saw \"+r)}e.chk(\"0600\",\"Mini Sector Shift: \"),e.chk(\"000000000000\",\"Reserved: \")}function n(e,t){for(var r=Math.ceil(e.length/t)-1,n=new Array(r),a=1;a<r;++a)n[a-1]=e.slice(a*t,(a+1)*t);return n[r-1]=e.slice(r*t),n}function a(e,t,r,n){for(var a=0,i=0,s=0,o=0,l=0,c=n.length,f=new Array(c),h=new Array(c);a<c;++a)f[a]=h[a]=a,r[a]=n[a];for(;l<h.length;++l)i=e[a=h[l]].L,s=e[a].R,o=e[a].C,f[a]===a&&(-1!==i&&f[i]!==i&&(f[a]=f[i]),-1!==s&&f[s]!==s&&(f[a]=f[s])),-1!==o&&(f[o]=a),-1!==i&&(f[i]=f[a],h.push(i)),-1!==s&&(f[s]=f[a],h.push(s));for(a=1;a!==c;++a)f[a]===a&&(-1!==s&&f[s]!==s?f[a]=f[s]:-1!==i&&f[i]!==i&&(f[a]=f[i]));for(a=1;a<c;++a)if(0!==e[a].type){if(0===(l=f[a]))r[a]=r[0]+\"/\"+r[a];else for(;0!==l;)r[a]=r[l]+\"/\"+r[a],l=f[l];f[a]=0}for(r[0]+=\"/\",a=1;a<c;++a)2!==e[a].type&&(r[a]+=\"/\"),t[r[a]]=e[a]}function i(e,t,r,n,a){var i,s=new Array(e.length),o=new Array(t.length);for(i=0;i<e.length;++i)s[i]=e[i].toUpperCase().replace(To,\"\").replace(yo,\"!\");for(i=0;i<t.length;++i)o[i]=t[i].toUpperCase().replace(To,\"\").replace(yo,\"!\");return function(e){var i;47===e.charCodeAt(0)?(i=!0,e=a+e):i=-1!==e.indexOf(\"/\");var l=e.toUpperCase().replace(To,\"\").replace(yo,\"!\"),c=!0===i?s.indexOf(l):o.indexOf(l);return-1===c?null:!0===i?r[c]:n[t[c]]}}function s(e,t,r,n,a){var i;if(e===m){if(0!==t)throw new Error(\"DIFAT chain shorter than expected\")}else if(-1!==e){var o=r[e],l=(n>>>2)-1;if(!o)return;for(var c=0;c<l&&(i=Il(o,4*c))!==m;++c)a.push(i);s(Il(o,n-4),t-1,r,n,a)}}function o(e,t,r,n,a){var i,s,o=e.length;a||(a=new Array(o));var l,c,f=n-1;for(i=[],s=[],l=t;l>=0;){a[l]=!0,i[i.length]=l,s.push(e[l]);var h=r[Math.floor(4*l/n)];if(c=4*l&f,n<4+c)throw new Error(\"FAT boundary crossed: \"+l+\" 4 \"+n);if(!e[h])break;l=Il(e[h],c)}return{nodes:i,data:ll([s])}}function c(e,t,r,n){var a,i,s,o,l,c,f=e.length,h=new Array(f),u=new Array(f),d=n-1;for(s=0;s<f;++s)if(a=[],(l=s+t)>=f&&(l-=f),!0!==u[l]){for(i=[],o=l;o>=0;){u[o]=!0,a[a.length]=o,i.push(e[o]);var p=r[Math.floor(4*o/n)];if(c=4*o&d,n<4+c)throw new Error(\"FAT boundary crossed: \"+o+\" 4 \"+n);if(!e[p])break;o=Il(e[p],c)}h[l]={nodes:a,data:ll([i])}}return h}function f(e,t,r,n,a,i,s){for(var l,c,f,u,d,p=0,b=n.length?2:0,v=t[e].data,E=0,C=0;E<v.length;E+=128)$(l=v.slice(E,E+128),64),0!==(C=l.read_shift(2))&&(c=hl(l,0,C-b),n.push(c),f={name:c,type:l.read_shift(1),color:l.read_shift(1),L:l.read_shift(4,\"i\"),R:l.read_shift(4,\"i\"),C:l.read_shift(4,\"i\"),clsid:l.read_shift(16),state:l.read_shift(4,\"i\")},0!==(u=l.read_shift(2)+l.read_shift(2)+l.read_shift(2)+l.read_shift(2))&&(f.ctime=u,f.ct=h(l,l.l-8)),0!==(d=l.read_shift(2)+l.read_shift(2)+l.read_shift(2)+l.read_shift(2))&&(f.mtime=d,f.mt=h(l,l.l-8)),f.start=l.read_shift(4,\"i\"),f.size=l.read_shift(4,\"i\"),5===f.type?(p=f.start,a>0&&p!==m&&(t[p].name=\"!StreamData\")):f.size>=4096?(f.storage=\"fat\",void 0===t[f.start]&&(t[f.start]=o(r,f.start,t.fat_addrs,t.ssz)),t[f.start].name=f.name,f.content=t[f.start].data.slice(0,f.size),$(f.content,0)):(f.storage=\"minifat\",p!==m&&f.start!==m&&(f.content=t[p].data.slice(f.start*g,f.start*g+f.size),$(f.content,0))),i[c]=f,s.push(f))}function h(e,t){return new Date(1e3*(Rl(e,t+4)/1e7*Math.pow(2,32)+Rl(e,t)/1e7-11644473600))}function u(t,r){return void 0===p&&(p=an),e(p.readFileSync(t),r)}var d={};d.version=\"0.11.1\";var p,g=64,m=-2,b=\"d0cf11e0a1b11ae1\",v=\"00000000000000000000000000000000\",E={MAXREGSECT:-6,DIFSECT:-4,FATSECT:-3,ENDOFCHAIN:m,FREESECT:-1,HEADER_SIGNATURE:b,HEADER_MINOR_VERSION:\"3e00\",MAXREGSID:-6,NOSTREAM:-1,HEADER_CLSID:v,EntryTypes:[\"unknown\",\"storage\",\"stream\",\"lockbytes\",\"property\",\"root\"]};return d.read=function(t,r){switch(void 0!==r&&void 0!==r.type?r.type:\"base64\"){case\"file\":return u(t,r);case\"base64\":return e(l(Ao.decode(t)),r);case\"binary\":return e(l(t),r)}return e(t)},d.parse=e,d.utils={ReadShift:j,CheckField:K,prep_blob:$,bconcat:_o,consts:E},d}(),Do=new Date(1899,11,30,0,0,0),Po=Do.getTime()+6e4*((new Date).getTimezoneOffset()-Do.getTimezoneOffset()),Fo=new Date(\"2017-02-19T19:06:09.000Z\");isNaN(Fo.getFullYear())&&(Fo=new Date(\"2/19/17\"));var No,Lo,Mo=2017==Fo.getFullYear();\"undefined\"!=typeof JSZip&&(Lo=JSZip),t.exports&&(void 0===Lo&&(Lo=gr),No=an);var Uo=/([^\"\\s?>\\/]+)=((?:\")([^\"]*)(?:\")|(?:')([^']*)(?:')|([^'\">\\s]+))/g,Wo=/<[^>]*>/g,zo=/<\\w*:/,Ho=/<(\\/?)\\w+:/,Vo={\"&quot;\":'\"',\"&apos;\":\"'\",\"&gt;\":\">\",\"&lt;\":\"<\",\"&amp;\":\"&\"},Xo=d(Vo),Go=function(){var e=/&(?:quot|apos|gt|lt|amp|#x?([\\da-fA-F]+));/g,t=/_x([\\da-fA-F]{4})_/g;return function(r){return(r+\"\").replace(e,function(e,t){return Vo[e]||String.fromCharCode(parseInt(t,e.indexOf(\"x\")>-1?16:10))||e}).replace(t,function(e,t){return String.fromCharCode(parseInt(t,16))})}}(),jo=/[&<>'\"]/g,Yo=/[\\u0000-\\u0008\\u000b-\\u001f]/g,Ko=/[\\u0000-\\u001f]/g,$o=function(){function e(e,t){return String.fromCharCode(parseInt(t,10))}var t=/&#(\\d+);/g;return function(r){return r.replace(t,e)}}(),Zo=function(e){return e.replace(/(\\r\\n|[\\r\\n])/g,\"&#10;\")},Qo=function(e){for(var t=\"\",r=0,n=0,a=0,i=0,s=0;r<e.length;)(n=e.charCodeAt(r++))<128?t+=String.fromCharCode(n):(a=e.charCodeAt(r++),n>191&&n<224?t+=String.fromCharCode((31&n)<<6|63&a):(i=e.charCodeAt(r++),n<240?t+=String.fromCharCode((15&n)<<12|(63&a)<<6|63&i):(s=((7&n)<<18|(63&a)<<12|(63&i)<<6|63&e.charCodeAt(r++))-65536,t+=String.fromCharCode(55296+(s>>>10&1023)),t+=String.fromCharCode(56320+(1023&s)))));return t};if(Bo){var qo=function(e){var t,r,n,a=new Buffer(2*e.length),i=1,s=0,o=0;for(r=0;r<e.length;r+=i)i=1,(n=e.charCodeAt(r))<128?t=n:n<224?(t=64*(31&n)+(63&e.charCodeAt(r+1)),i=2):n<240?(t=4096*(15&n)+64*(63&e.charCodeAt(r+1))+(63&e.charCodeAt(r+2)),i=3):(i=4,t=262144*(7&n)+4096*(63&e.charCodeAt(r+1))+64*(63&e.charCodeAt(r+2))+(63&e.charCodeAt(r+3)),o=55296+((t-=65536)>>>10&1023),t=56320+(1023&t)),0!==o&&(a[s++]=255&o,a[s++]=o>>>8,o=0),a[s++]=t%256,a[s++]=t>>>8;return a.slice(0,s).toString(\"ucs2\")},Jo=\"foo bar bazâð£\";Qo(Jo)==qo(Jo)&&(Qo=qo);var el=function(e){return Buffer(e,\"binary\").toString(\"utf8\")};Qo(Jo)==el(Jo)&&(Qo=el)}var tl=function(){var e={};return function(t,r){var n=t+\"|\"+(r||\"\");return e[n]?e[n]:e[n]=new RegExp(\"<(?:\\\\w+:)?\"+t+'(?: xml:space=\"preserve\")?(?:[^>]*)>([\\\\s\\\\S]*?)</(?:\\\\w+:)?'+t+\">\",r||\"\")}}(),rl=function(){var e={};return function(t){return void 0!==e[t]?e[t]:e[t]=new RegExp(\"<(?:vt:)?\"+t+\">(.*?)</(?:vt:)?\"+t+\">\",\"g\")}}(),nl=/<\\/?(?:vt:)?variant>/g,al=/<(?:vt:)([^>]*)>(.*)</,il=/(^\\s|\\s$|\\n)/,sl='<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\\r\\n',ol={dc:\"http://purl.org/dc/elements/1.1/\",dcterms:\"http://purl.org/dc/terms/\",dcmitype:\"http://purl.org/dc/dcmitype/\",mx:\"http://schemas.microsoft.com/office/mac/excel/2008/main\",r:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\",sjs:\"http://schemas.openxmlformats.org/package/2006/sheetjs/core-properties\",vt:\"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes\",xsi:\"http://www.w3.org/2001/XMLSchema-instance\",xsd:\"http://www.w3.org/2001/XMLSchema\"};ol.main=[\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\",\"http://purl.oclc.org/ooxml/spreadsheetml/main\",\"http://schemas.microsoft.com/office/excel/2006/main\",\"http://schemas.microsoft.com/office/excel/2006/2\"];var ll,cl,fl={o:\"urn:schemas-microsoft-com:office:office\",x:\"urn:schemas-microsoft-com:office:excel\",ss:\"urn:schemas-microsoft-com:office:spreadsheet\",dt:\"uuid:C2F41010-65B3-11d1-A29F-00AA00C14882\",mv:\"http://macVmlSchemaUri\",v:\"urn:schemas-microsoft-com:vml\",html:\"http://www.w3.org/TR/REC-html40\"};ll=cl=function(e){for(var t=[],r=0;r<e[0].length;++r)t.push.apply(t,e[0][r]);return t};var hl,ul;hl=ul=function(e,t,r){for(var n=[],a=t;a<r;a+=2)n.push(String.fromCharCode(kl(e,a)));return n.join(\"\")};var dl,pl;dl=pl=function(e,t,r){return e.slice(t,t+r).map(function(e){return(e<16?\"0\":\"\")+e.toString(16)}).join(\"\")};var gl;gl=function(e,t,r){for(var n=[],a=t;a<r;a++)n.push(String.fromCharCode(yl(e,a)));return n.join(\"\")};var ml,bl;ml=bl=function(e,t){var r=Rl(e,t);return r>0?gl(e,t+4,t+4+r-1):\"\"};var vl,El;vl=El=function(e,t){var r=2*Rl(e,t);return r>0?gl(e,t+4,t+4+r-1):\"\"};var Cl,wl;Cl=wl=function(e,t){var r=Rl(e,t);return r>0?hl(e,t+4,t+4+r):\"\"};var Sl,Al;Sl=Al=function(e,t){var r=Rl(e,t);return r>0?gl(e,t+4,t+4+r):\"\"};var Bl,_l;Bl=_l=function(e,t){return X(e,t)};var Tl=function(e){return Array.isArray(e)};Bo&&(hl=function(e,t,r){return Buffer.isBuffer(e)?e.toString(\"utf16le\",t,r):ul(e,t,r)},dl=function(e,t,r){return Buffer.isBuffer(e)?e.toString(\"hex\",t,t+r):pl(e,t,r)},ml=function(e,t){if(!Buffer.isBuffer(e))return bl(e,t);var r=e.readUInt32LE(t);return r>0?e.toString(\"utf8\",t+4,t+4+r-1):\"\"},vl=function(e,t){if(!Buffer.isBuffer(e))return El(e,t);var r=2*e.readUInt32LE(t);return e.toString(\"utf16le\",t+4,t+4+r-1)},Cl=function(e,t){if(!Buffer.isBuffer(e))return wl(e,t);var r=e.readUInt32LE(t);return e.toString(\"utf16le\",t+4,t+4+r)},Sl=function(e,t){if(!Buffer.isBuffer(e))return Al(e,t);var r=e.readUInt32LE(t);return e.toString(\"utf8\",t+4,t+4+r)},gl=function(e,t,r){return e.toString(\"utf8\",t,r)},ll=function(e){return e[0].length>0&&Buffer.isBuffer(e[0][0])?Buffer.concat(e[0]):cl(e)},_o=function(e){return Buffer.isBuffer(e[0])?Buffer.concat(e):[].concat.apply([],e)},Bl=function(e,t){return Buffer.isBuffer(e)?e.readDoubleLE(t):_l(e,t)},Tl=function(e){return Buffer.isBuffer(e)||Array.isArray(e)}),\"undefined\"!=typeof cptable&&(hl=function(e,t,r){return cptable.utils.decode(1200,e.slice(t,r))},gl=function(e,t,r){return cptable.utils.decode(65001,e.slice(t,r))},ml=function(e,t){var r=Rl(e,t);return r>0?cptable.utils.decode(vo,e.slice(t+4,t+4+r-1)):\"\"},vl=function(e,t){var r=2*Rl(e,t);return r>0?cptable.utils.decode(1200,e.slice(t+4,t+4+r-1)):\"\"},Cl=function(e,t){var r=Rl(e,t);return r>0?cptable.utils.decode(1200,e.slice(t+4,t+4+r)):\"\"},Sl=function(e,t){var r=Rl(e,t);return r>0?cptable.utils.decode(65001,e.slice(t+4,t+4+r)):\"\"});var yl=function(e,t){return e[t]},kl=function(e,t){return 256*e[t+1]+e[t]},xl=function(e,t){var r=256*e[t+1]+e[t];return r<32768?r:-1*(65535-r+1)},Rl=function(e,t){return e[t+3]*(1<<24)+(e[t+2]<<16)+(e[t+1]<<8)+e[t]},Il=function(e,t){return e[t+3]<<24|e[t+2]<<16|e[t+1]<<8|e[t]},Ol=function(e){return e.match(/../g).map(function(e){return parseInt(e,16)})},Dl=function(e,t,r){e[r]=255&t,e[r+1]=t>>>8&255},Pl=function(e,t,r){e[r]=255&t,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24&255},Fl=function(e,t,r){e[r]=255&t,e[r+1]=t>>8&255,e[r+2]=t>>16&255,e[r+3]=t>>24&255};!function(t,r){var n;if(void 0!==r)n=r;else if(void 0!==e)try{n=an}catch(e){n=null}t.rc4=function(e,t){var r=new Array(256),n=0,a=0,i=0,s=0;for(a=0;256!=a;++a)r[a]=a;for(a=0;256!=a;++a)i=i+r[a]+e[a%e.length].charCodeAt(0)&255,s=r[a],r[a]=r[i],r[i]=s;a=i=0;var o=Buffer(t.length);for(n=0;n!=t.length;++n)i=(i+r[a=a+1&255])%256,s=r[a],r[a]=r[i],r[i]=s,o[n]=t[n]^r[r[a]+r[i]&255];return o},t.md5=function(e){if(!n)throw new Error(\"Unsupported crypto\");return n.createHash(\"md5\").update(e).digest(\"hex\")}}({},\"undefined\"!=typeof crypto?crypto:void 0);var Nl=ke,Ll=Be,Ml=_e,Ul=Be,Wl=Oe,zl=De,Hl=Ne,Vl=function(e,t){return t||(t=Q(16)),t.write_shift(4,e.s.r),t.write_shift(4,e.e.r),t.write_shift(4,e.s.c),t.write_shift(4,e.e.c),t},Xl={0:\"#NULL!\",7:\"#DIV/0!\",15:\"#VALUE!\",23:\"#REF!\",29:\"#NAME?\",36:\"#NUM!\",42:\"#N/A\",43:\"#GETTING_DATA\",255:\"#WTF?\"},Gl=p(Xl),jl=2,Yl=3,Kl=12,$l=81,Zl=[80,$l],Ql={1:{n:\"CodePage\",t:jl},2:{n:\"Category\",t:80},3:{n:\"PresentationFormat\",t:80},4:{n:\"ByteCount\",t:Yl},5:{n:\"LineCount\",t:Yl},6:{n:\"ParagraphCount\",t:Yl},7:{n:\"SlideCount\",t:Yl},8:{n:\"NoteCount\",t:Yl},9:{n:\"HiddenCount\",t:Yl},10:{n:\"MultimediaClipCount\",t:Yl},11:{n:\"Scale\",t:11},12:{n:\"HeadingPair\",t:4096|Kl},13:{n:\"DocParts\",t:4126},14:{n:\"Manager\",t:80},15:{n:\"Company\",t:80},16:{n:\"LinksDirty\",t:11},17:{n:\"CharacterCount\",t:Yl},19:{n:\"SharedDoc\",t:11},22:{n:\"HLinksChanged\",t:11},23:{n:\"AppVersion\",t:Yl,p:\"version\"},26:{n:\"ContentType\",t:80},27:{n:\"ContentStatus\",t:80},28:{n:\"Language\",t:80},29:{n:\"Version\",t:80},255:{}},ql={1:{n:\"CodePage\",t:jl},2:{n:\"Title\",t:80},3:{n:\"Subject\",t:80},4:{n:\"Author\",t:80},5:{n:\"Keywords\",t:80},6:{n:\"Comments\",t:80},7:{n:\"Template\",t:80},8:{n:\"LastAuthor\",t:80},9:{n:\"RevNumber\",t:80},10:{n:\"EditTime\",t:64},11:{n:\"LastPrinted\",t:64},12:{n:\"CreatedDate\",t:64},13:{n:\"ModifiedDate\",t:64},14:{n:\"PageCount\",t:Yl},15:{n:\"WordCount\",t:Yl},16:{n:\"CharCount\",t:Yl},17:{n:\"Thumbnail\",t:71},18:{n:\"ApplicationName\",t:30},19:{n:\"DocumentSecurity\",t:Yl},255:{}},Jl={2147483648:{n:\"Locale\",t:19},2147483651:{n:\"Behavior\",t:19},1919054434:{}};!function(){for(var e in Jl)Jl.hasOwnProperty(e)&&(Ql[e]=ql[e]=Jl[e])}();var ec={1:\"US\",2:\"CA\",3:\"\",7:\"RU\",20:\"EG\",30:\"GR\",31:\"NL\",32:\"BE\",33:\"FR\",34:\"ES\",36:\"HU\",39:\"IT\",41:\"CH\",43:\"AT\",44:\"GB\",45:\"DK\",46:\"SE\",47:\"NO\",48:\"PL\",49:\"DE\",52:\"MX\",55:\"BR\",61:\"AU\",64:\"NZ\",66:\"TH\",81:\"JP\",82:\"KR\",84:\"VN\",86:\"CN\",90:\"TR\",105:\"JS\",213:\"DZ\",216:\"MA\",218:\"LY\",351:\"PT\",354:\"IS\",358:\"FI\",420:\"CZ\",886:\"TW\",961:\"LB\",962:\"JO\",963:\"SY\",964:\"IQ\",965:\"KW\",966:\"SA\",971:\"AE\",972:\"IL\",974:\"QA\",981:\"IR\",65535:\"US\"},tc=[null,\"solid\",\"mediumGray\",\"darkGray\",\"lightGray\",\"darkHorizontal\",\"darkVertical\",\"darkDown\",\"darkUp\",\"darkGrid\",\"darkTrellis\",\"lightHorizontal\",\"lightVertical\",\"lightDown\",\"lightUp\",\"lightGrid\",\"lightTrellis\",\"gray125\",\"gray0625\"],rc=function(e){return e.map(function(e){return[e>>16&255,e>>8&255,255&e]})}([0,16777215,16711680,65280,255,16776960,16711935,65535,0,16777215,16711680,65280,255,16776960,16711935,65535,8388608,32768,128,8421376,8388736,32896,12632256,8421504,10066431,10040166,16777164,13434879,6684774,16744576,26316,13421823,128,16711935,16776960,65535,8388736,8388608,32896,255,52479,13434879,13434828,16777113,10079487,16751052,13408767,16764057,3368703,3394764,10079232,16763904,16750848,16737792,6710937,9868950,13158,3381606,13056,3355392,10040064,10040166,3355545,3355443,16777215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),nc={\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\":\"workbooks\",\"application/vnd.ms-excel.binIndexWs\":\"TODO\",\"application/vnd.ms-excel.intlmacrosheet\":\"TODO\",\"application/vnd.ms-excel.binIndexMs\":\"TODO\",\"application/vnd.openxmlformats-package.core-properties+xml\":\"coreprops\",\"application/vnd.openxmlformats-officedocument.custom-properties+xml\":\"custprops\",\"application/vnd.openxmlformats-officedocument.extended-properties+xml\":\"extprops\",\"application/vnd.openxmlformats-officedocument.customXmlProperties+xml\":\"TODO\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty\":\"TODO\",\"application/vnd.ms-excel.pivotTable\":\"TODO\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml\":\"TODO\",\"application/vnd.ms-office.chartcolorstyle+xml\":\"TODO\",\"application/vnd.ms-office.chartstyle+xml\":\"TODO\",\"application/vnd.ms-excel.calcChain\":\"calcchains\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml\":\"calcchains\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings\":\"TODO\",\"application/vnd.ms-office.activeX\":\"TODO\",\"application/vnd.ms-office.activeX+xml\":\"TODO\",\"application/vnd.ms-excel.attachedToolbars\":\"TODO\",\"application/vnd.ms-excel.connections\":\"TODO\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml\":\"TODO\",\"application/vnd.ms-excel.externalLink\":\"TODO\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml\":\"TODO\",\"application/vnd.ms-excel.sheetMetadata\":\"TODO\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml\":\"TODO\",\"application/vnd.ms-excel.pivotCacheDefinition\":\"TODO\",\"application/vnd.ms-excel.pivotCacheRecords\":\"TODO\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml\":\"TODO\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml\":\"TODO\",\"application/vnd.ms-excel.queryTable\":\"TODO\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml\":\"TODO\",\"application/vnd.ms-excel.userNames\":\"TODO\",\"application/vnd.ms-excel.revisionHeaders\":\"TODO\",\"application/vnd.ms-excel.revisionLog\":\"TODO\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml\":\"TODO\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml\":\"TODO\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml\":\"TODO\",\"application/vnd.ms-excel.tableSingleCells\":\"TODO\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml\":\"TODO\",\"application/vnd.ms-excel.slicer\":\"TODO\",\"application/vnd.ms-excel.slicerCache\":\"TODO\",\"application/vnd.ms-excel.slicer+xml\":\"TODO\",\"application/vnd.ms-excel.slicerCache+xml\":\"TODO\",\"application/vnd.ms-excel.wsSortMap\":\"TODO\",\"application/vnd.ms-excel.table\":\"TODO\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml\":\"TODO\",\"application/vnd.openxmlformats-officedocument.theme+xml\":\"themes\",\"application/vnd.openxmlformats-officedocument.themeOverride+xml\":\"TODO\",\"application/vnd.ms-excel.Timeline+xml\":\"TODO\",\"application/vnd.ms-excel.TimelineCache+xml\":\"TODO\",\"application/vnd.ms-office.vbaProject\":\"vba\",\"application/vnd.ms-office.vbaProjectSignature\":\"vba\",\"application/vnd.ms-office.volatileDependencies\":\"TODO\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml\":\"TODO\",\"application/vnd.ms-excel.controlproperties+xml\":\"TODO\",\"application/vnd.openxmlformats-officedocument.model+data\":\"TODO\",\"application/vnd.ms-excel.Survey+xml\":\"TODO\",\"application/vnd.openxmlformats-officedocument.drawing+xml\":\"drawings\",\"application/vnd.openxmlformats-officedocument.drawingml.chart+xml\":\"TODO\",\"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml\":\"TODO\",\"application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml\":\"TODO\",\"application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml\":\"TODO\",\"application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml\":\"TODO\",\"application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml\":\"TODO\",\"application/vnd.openxmlformats-officedocument.vmlDrawing\":\"TODO\",\"application/vnd.openxmlformats-package.relationships+xml\":\"rels\",\"application/vnd.openxmlformats-officedocument.oleObject\":\"TODO\",\"image/png\":\"TODO\",sheet:\"js\"},ac=function(){var e={workbooks:{xlsx:\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\",xlsm:\"application/vnd.ms-excel.sheet.macroEnabled.main+xml\",xlsb:\"application/vnd.ms-excel.sheet.binary.macroEnabled.main\",xltx:\"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml\"},strs:{xlsx:\"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml\",xlsb:\"application/vnd.ms-excel.sharedStrings\"},comments:{xlsx:\"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml\",xlsb:\"application/vnd.ms-excel.comments\"},sheets:{xlsx:\"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\",xlsb:\"application/vnd.ms-excel.worksheet\"},charts:{xlsx:\"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml\",xlsb:\"application/vnd.ms-excel.chartsheet\"},dialogs:{xlsx:\"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml\",xlsb:\"application/vnd.ms-excel.dialogsheet\"},macros:{xlsx:\"application/vnd.ms-excel.macrosheet+xml\",xlsb:\"application/vnd.ms-excel.macrosheet\"},styles:{xlsx:\"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\",xlsb:\"application/vnd.ms-excel.styles\"}};return u(e).forEach(function(t){e[t].xlsm||(e[t].xlsm=e[t].xlsx)}),u(e).forEach(function(t){u(e[t]).forEach(function(r){nc[e[t][r]]=t})}),e}(),ic=function(e){for(var t=[],r=u(e),n=0;n!==r.length;++n)null==t[e[r[n]]]&&(t[e[r[n]]]=[]),t[e[r[n]]].push(r[n]);return t}(nc);ol.CT=\"http://schemas.openxmlformats.org/package/2006/content-types\";var sc=z(\"Types\",null,{xmlns:ol.CT,\"xmlns:xsd\":ol.xsd,\"xmlns:xsi\":ol.xsi}),oc=[[\"xml\",\"application/xml\"],[\"bin\",\"application/vnd.ms-excel.sheet.binary.macroEnabled.main\"],[\"vml\",\"application/vnd.openxmlformats-officedocument.vmlDrawing\"],[\"bmp\",\"image/bmp\"],[\"png\",\"image/png\"],[\"gif\",\"image/gif\"],[\"emf\",\"image/x-emf\"],[\"wmf\",\"image/x-wmf\"],[\"jpg\",\"image/jpeg\"],[\"jpeg\",\"image/jpeg\"],[\"tif\",\"image/tiff\"],[\"tiff\",\"image/tiff\"],[\"pdf\",\"application/pdf\"],[\"rels\",ic.rels[0]]].map(function(e){return z(\"Default\",null,{Extension:e[0],ContentType:e[1]})}),lc={WB:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument\",SHEET:\"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument\",HLINK:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink\",VML:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing\",VBA:\"http://schemas.microsoft.com/office/2006/relationships/vbaProject\"};ol.RELS=\"http://schemas.openxmlformats.org/package/2006/relationships\";var cc=z(\"Relationships\",null,{xmlns:ol.RELS}),fc=\"application/vnd.oasis.opendocument.spreadsheet\",hc=function(){var e='<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><office:document-meta xmlns:office=\"urn:oasis:names:tc:opendocument:xmlns:office:1.0\" xmlns:meta=\"urn:oasis:names:tc:opendocument:xmlns:meta:1.0\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" office:version=\"1.2\"><office:meta><meta:generator>SheetJS '+r.version+\"</meta:generator></office:meta></office:document-meta>\";return function(t,r){return e}}(),uc=[[\"cp:category\",\"Category\"],[\"cp:contentStatus\",\"ContentStatus\"],[\"cp:keywords\",\"Keywords\"],[\"cp:lastModifiedBy\",\"LastAuthor\"],[\"cp:lastPrinted\",\"LastPrinted\"],[\"cp:revision\",\"RevNumber\"],[\"cp:version\",\"Version\"],[\"dc:creator\",\"Author\"],[\"dc:description\",\"Comments\"],[\"dc:identifier\",\"Identifier\"],[\"dc:language\",\"Language\"],[\"dc:subject\",\"Subject\"],[\"dc:title\",\"Title\"],[\"dcterms:created\",\"CreatedDate\",\"date\"],[\"dcterms:modified\",\"ModifiedDate\",\"date\"]];ol.CORE_PROPS=\"http://schemas.openxmlformats.org/package/2006/metadata/core-properties\",lc.CORE_PROPS=\"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties\";var dc=function(){for(var e=new Array(uc.length),t=0;t<uc.length;++t){var r=uc[t],n=\"(?:\"+r[0].substr(0,r[0].indexOf(\":\"))+\":)\"+r[0].substr(r[0].indexOf(\":\")+1);e[t]=new RegExp(\"<\"+n+\"[^>]*>(.*)</\"+n+\">\")}return e}(),pc=z(\"cp:coreProperties\",null,{\"xmlns:cp\":ol.CORE_PROPS,\"xmlns:dc\":ol.dc,\"xmlns:dcterms\":ol.dcterms,\"xmlns:dcmitype\":ol.dcmitype,\"xmlns:xsi\":ol.xsi}),gc=[[\"Application\",\"Application\",\"string\"],[\"AppVersion\",\"AppVersion\",\"string\"],[\"Company\",\"Company\",\"string\"],[\"DocSecurity\",\"DocSecurity\",\"string\"],[\"Manager\",\"Manager\",\"string\"],[\"HyperlinksChanged\",\"HyperlinksChanged\",\"bool\"],[\"SharedDoc\",\"SharedDoc\",\"bool\"],[\"LinksUpToDate\",\"LinksUpToDate\",\"bool\"],[\"ScaleCrop\",\"ScaleCrop\",\"bool\"],[\"HeadingPairs\",\"HeadingPairs\",\"raw\"],[\"TitlesOfParts\",\"TitlesOfParts\",\"raw\"]];ol.EXT_PROPS=\"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties\",lc.EXT_PROPS=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties\";var mc=z(\"Properties\",null,{xmlns:ol.EXT_PROPS,\"xmlns:vt\":ol.vt});ol.CUST_PROPS=\"http://schemas.openxmlformats.org/officeDocument/2006/custom-properties\",lc.CUST_PROPS=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties\";var bc=/<[^>]+>[^<]*/g,vc=z(\"Properties\",null,{xmlns:ol.CUST_PROPS,\"xmlns:vt\":ol.vt}),Ec={Title:\"Title\",Subject:\"Subject\",Author:\"Author\",Keywords:\"Keywords\",Comments:\"Description\",LastAuthor:\"LastAuthor\",RevNumber:\"Revision\",Application:\"AppName\",LastPrinted:\"LastPrinted\",CreatedDate:\"Created\",ModifiedDate:\"LastSaved\",Category:\"Category\",Manager:\"Manager\",Company:\"Company\",AppVersion:\"Version\",ContentStatus:\"ContentStatus\",Identifier:\"Identifier\",Language:\"Language\"},Cc=d(Ec),wc=Z,Sc=function(e){var t=e.read_shift(4),r=e.l,n=!1;t>24&&(e.l+=t-24,\"795881f43b1d7f48af2c825dc4852763\"===e.read_shift(16)&&(n=!0),e.l=r);var a=e.read_shift((n?t-24:t)>>1,\"utf16le\").replace(To,\"\");return n&&(e.l+=24),a},Ac=function(e,t){e.read_shift(2);var r=e.read_shift(4),n=e.read_shift(r,\"cstr\");e.read_shift(2),e.read_shift(2);if(0===e.read_shift(4))return n.replace(/\\\\/g,\"/\");var a=e.read_shift(4);e.read_shift(2);return e.read_shift(a>>1,\"utf16le\").replace(To,\"\")},Bc=function(e,t){var r=e.read_shift(16);switch(t-=16,r){case\"e0c9ea79f9bace118c8200aa004ba90b\":return Sc(e);case\"0303000000000000c000000000000046\":return Ac(e);default:throw new Error(\"Unsupported Moniker \"+r)}},_c=function(e,t){var r=e.read_shift(4);return e.read_shift(r,\"utf16le\").replace(To,\"\")},Tc=function(e,t){var r=e.l+t,n=e.read_shift(4);if(2!==n)throw new Error(\"Unrecognized streamVersion: \"+n);var a=e.read_shift(2);e.l+=2;var i,s,o,l;16&a&&_c(e,e.l),128&a&&(i=_c(e,e.l)),257==(257&a)&&(s=_c(e,e.l)),1==(257&a)&&(o=Bc(e,r-e.l)),8&a&&(l=_c(e,e.l)),32&a&&e.read_shift(16),64&a&&ft(e,8),e.l=r;var c=i||s||o;return l&&(c+=\"#\"+l),{Target:c}},yc=Rt,kc=jt,xc={0:Kt,4:Kt,5:Kt,6:Kt,7:function(e,t){var r={};return e.l+=4,e.cf=e.read_shift(2),r},8:Kt,9:Kt,10:Kt,11:Kt,12:Kt,13:function(e,t){var r={};return e.l+=4,e.l+=16,r.fSharedNote=e.read_shift(2),e.l+=4,r},14:Kt,15:Kt,16:Kt,17:Kt,18:Kt,19:Kt,20:Kt,21:Yt},Rc=Rt,Ic=yt,Oc=Lt,Dc=function(e,t,r){return 0===t?\"\":Lt(e,t,r)},Pc=[\"_xlnm.Consolidate_Area\",\"_xlnm.Auto_Open\",\"_xlnm.Auto_Close\",\"_xlnm.Extract\",\"_xlnm.Database\",\"_xlnm.Criteria\",\"_xlnm.Print_Area\",\"_xlnm.Print_Titles\",\"_xlnm.Recorder\",\"_xlnm.Data_Form\",\"_xlnm.Auto_Activate\",\"_xlnm.Auto_Deactivate\",\"_xlnm.Sheet_Title\",\"_xlnm._FilterDatabase\"],Fc=[];Fc[8]=function(e,t,r){var n=e.l+t;e.l+=10;var a=e.read_shift(2);e.l+=4;e.read_shift(2);e.l+=2;e.read_shift(2);e.l+=4;var i=e.read_shift(1);return e.l+=i,e.l=n,{fmt:a}};var Nc=Z,Lc=Z,Mc=Z,Uc=xt,Wc=Wt,zc=Le,Hc=Rt,Vc=Rt,Xc=Le,Gc=xt,jc=Rt,Yc=xt,Kc=yt,$c=xt,Zc=Rt,Qc=xt,qc=xt,Jc=Rt,ef=yt,tf=yt,rf=yt,nf=yt,af=yt,sf=Rt,of=Dc,lf=Rt,cf=xt,ff=Dc,hf=yc,uf=yt,df=Le,pf=yt,gf=xt,mf=Rt,bf=xt,vf=xt,Ef=Rt,Cf=xt,wf=Rt,Sf=xt,Af=xt,Bf=Le,_f=It,Tf=xt,yf=It,kf=Nt,xf=xt,Rf=Le,If=xt,Of=xt,Df=xt,Pf=Z,Ff=Z,Nf=Z,Lf=Z,Mf=Z,Uf=Z,Wf=Z,zf=Z,Hf=Z,Vf=Z,Xf=Z,Gf=Z,jf=Z,Yf=Z,Kf=Z,$f=Z,Zf=Z,Qf=Z,qf=Z,Jf=Z,eh=Z,th=Z,rh=Z,nh=Z,ah=Z,ih=Z,sh=Z,oh=Z,lh=Z,ch=Z,fh=Z,hh=Z,uh=Z,dh=Z,ph=Z,gh=Z,mh=Z,bh=Z,vh=Z,Eh=Z,Ch=Z,wh=Z,Sh=Z,Ah=Z,Bh=Z,_h=Z,Th=Z,yh=Z,kh=Z,xh=Z,Rh=Z,Ih=Z,Oh=Z,Dh=Z,Ph=Z,Fh=Z,Nh=Z,Lh=Z,Mh=Z,Uh=Z,Wh=Z,zh=Z,Hh=Z,Vh=Z,Xh=Z,Gh=Z,jh=Z,Yh=Z,Kh=Z,$h=Z,Zh=Z,Qh=Z,qh=Z,Jh=Z,eu=Z,tu=Z,ru=Z,nu=Z,au=Z,iu=Z,su=Z,ou=Z,lu=Z,cu=Z,fu=Z,hu=Z,uu=Z,du=Z,pu=Z,gu=Z,mu=Z,bu=Z,vu=Z,Eu=Z,Cu=Z,wu=Z,Su=Z,Au=Z,Bu=Z,_u=Z,Tu=Z,yu=Z,ku=Z,xu=Z,Ru=Z,Iu=Z,Ou=Z,Du=Z,Pu=Z,Fu=Z,Nu=Nt,Lu=Z,Mu=Z,Uu=Z,Wu=Z,zu=Z,Hu=Z,Vu=Z,Xu=Z,Gu=Z,ju=Z,Yu=Z,Ku=Z,$u=Z,Zu=Z,Qu=Z,qu=Z,Ju=Z,ed=Z,td=Z,rd=Z,nd=Z,ad=Z,id=Z,sd=Z,od=Z,ld=Z,cd=Z,fd=Z,hd=Z,ud=Z,dd=Z,pd=Z,gd=Z,md=Z,bd=Z,vd=Z,Ed=Z,Cd=Z,wd=Z,Sd=Z,Ad=Z,Bd=Z,_d=Z,Td=Z,yd=Z,kd=Z,xd=Z,Rd=Z,Id=Z,Od=Z,Dd=Z,Pd=Z,Fd=Z,Nd=Z,Ld=Z,Md=Z,Ud=Z,Wd=Z,zd=Z,Hd=Z,Vd=Z,Xd=Z,Gd=Z,jd=Z,Yd=Z,Kd=Z,$d=Z,Zd=Z,Qd=Z,qd=Z,Jd=Z,ep=Z,tp=Z,rp=Z,np=Z,ap=Z,ip=Z,sp=Z,op=Z,lp=Z,cp=Z,fp=Z,hp=Z,up=Z,dp=Z,pp=Z,gp=Z,mp=Z,bp=Z,vp=Z,Ep=Z,Cp=Z,wp=Z,Sp=Z,Ap=Z,Bp=Z,_p=Z,Tp=Z,yp=Z,kp=Z,xp=Z,Rp=Z,Ip=Z,Op=Z,Dp=Z,Pp=Z,Fp=Z,Np=Z,Lp=Z,Mp=Z,Up=Z,Wp=Z,zp=Z,Hp=Z,Vp=Z,Xp=Z,Gp=Z,jp=Z,Yp=Z,Kp=Z,$p=Z,Zp=Z,Qp=Z,qp=Z,Jp=Z,eg=Z,tg=Z,rg=Z,ng=Z,ag=Z,ig=Z,sg=Z,og=Z,lg=Z,cg=Z,fg=Z,hg=Z,ug=Z,dg=Z,pg=Z,gg=Z,mg=Z,bg=function(){function e(e,t){var n=[],a=o(1);switch(t.type){case\"base64\":a=l(Ao.decode(e));break;case\"binary\":a=l(e);break;case\"buffer\":case\"array\":a=e}$(a,0);var i=a.read_shift(1),s=!1,c=!1;switch(i){case 2:case 3:break;case 48:c=!0,s=!0;break;case 49:c=!0;break;case 131:case 139:case 245:s=!0;break;default:throw new Error(\"DBF Unsupported Version: \"+i.toString(16))}new Date;var f=0,h=0;2==i&&(f=a.read_shift(2)),new Date(a.read_shift(1)+1900,a.read_shift(1)-1,a.read_shift(1)),2!=i&&(f=a.read_shift(4)),2!=i&&(h=a.read_shift(2));var u=a.read_shift(2),d=1252;2!=i&&(a.l+=16,a.read_shift(1),0!==a[a.l]&&(d=r[a[a.l]]),a.l+=1,a.l+=2);for(var p=[],g={},m=h-10-(c?264:0);2==i?a.l<a.length&&13!=a[a.l]:a.l<m;)switch(g={},g.name=cptable.utils.decode(d,a.slice(a.l,a.l+10)).replace(/[\\u0000\\r\\n].*$/g,\"\"),a.l+=11,g.type=String.fromCharCode(a.read_shift(1)),2!=i&&(g.offset=a.read_shift(4)),g.len=a.read_shift(1),2==i&&(g.offset=a.read_shift(2)),g.dec=a.read_shift(1),g.name.length&&p.push(g),2!=i&&(a.l+=14),g.type){case\"C\":case\"D\":case\"F\":case\"I\":case\"L\":case\"M\":case\"N\":case\"T\":case\"Y\":case\"0\":case\"+\":case\"@\":break;default:throw new Error(\"Unknown Field Type: \"+g.type)}if(13!==a[a.l]?a.l=h-1:2==i&&(a.l=521),2!=i){if(13!==a.read_shift(1))throw new Error(\"DBF Terminator not found \"+a.l+\" \"+a[a.l]);a.l=h}var b=0,v=0;for(n[0]=[],v=0;v!=p.length;++v)n[0][v]=p[v].name;for(;f-- >0;)if(42!==a[a.l])for(++a.l,n[++b]=[],v=0,v=0;v!=p.length;++v){var E=a.slice(a.l,a.l+p[v].len);a.l+=p[v].len,$(E,0);var C=cptable.utils.decode(d,E);switch(p[v].type){case\"C\":n[b][v]=cptable.utils.decode(d,E),n[b][v]=n[b][v].trim();break;case\"D\":8===C.length?n[b][v]=new Date(+C.substr(0,4),+C.substr(4,2)-1,+C.substr(6,2)):n[b][v]=C;break;case\"F\":n[b][v]=parseFloat(C.trim());break;case\"I\":n[b][v]=E.read_shift(4,\"i\");break;case\"L\":switch(C.toUpperCase()){case\"Y\":case\"T\":n[b][v]=!0;break;case\"N\":case\"F\":n[b][v]=!1;break;case\" \":case\"?\":n[b][v]=!1;break;default:throw new Error(\"DBF Unrecognized L:|\"+C+\"|\")}break;case\"M\":if(!s)throw new Error(\"DBF Unexpected MEMO for type \"+i.toString(16));n[b][v]=\"##MEMO##\"+E.read_shift(4);break;case\"N\":n[b][v]=+C.replace(/\\u0000/g,\"\").trim();break;case\"T\":var w=E.read_shift(4),S=E.read_shift(4);throw new Error(w+\" | \"+S);case\"Y\":n[b][v]=E.read(4,\"i\")/1e4;break;case\"0\":if(\"_NullFlags\"===p[v].name)break;default:throw new Error(\"DBF Unsupported data type \"+p[v].type)}}else a.l+=u;if(2!=i&&a.l<a.length&&26!=a[a.l++])throw new Error(\"DBF EOF Marker missing \"+(a.l-1)+\" of \"+a.length+\" \"+a[a.l-1].toString(16));return n}function t(t,r){var n=r||{};return n.dateNF||(n.dateNF=\"yyyymmdd\"),Se(e(t,n),n)}var r={1:437,2:850,3:1252,4:1e4,100:852,101:866,102:865,103:861,104:895,105:620,106:737,107:857,120:950,121:949,122:936,123:932,124:874,125:1255,126:1256,150:10007,151:10029,152:10006,200:1250,201:1251,202:1254,203:1253,0:20127,8:865,9:437,10:850,11:437,13:437,14:850,15:437,16:850,17:437,18:850,19:932,20:850,21:437,22:850,23:865,24:437,25:437,26:850,27:437,28:863,29:850,31:852,34:852,35:852,36:860,37:850,38:866,55:850,64:852,77:936,78:949,79:950,80:874,87:1252,88:1252,89:1252,255:16969};return{to_workbook:function(e,r){try{return we(t(e,r),r)}catch(e){if(r&&r.WTF)throw e}return{SheetNames:[],Sheets:{}}},to_sheet:t}}(),vg=function(){function e(e,r){switch(r.type){case\"base64\":return t(Ao.decode(e),r);case\"binary\":return t(e,r);case\"buffer\":return t(e.toString(\"binary\"),r);case\"array\":return t(E(e),r)}throw new Error(\"Unrecognized type \"+r.type)}function t(e,t){for(var r,n=e.split(/[\\n\\r]+/),a=-1,i=-1,s=0,o=0,l=[],c=[],f=null,h={},u=[],d=[],p=[],g=0;s!==n.length;++s){g=0;var b,E=n[s].trim(),C=E.replace(/;;/g,\"\u0001\").split(\";\").map(function(e){return e.replace(/\\u0001/g,\";\")}),w=C[0];if(E.length>0)switch(w){case\"ID\":case\"E\":case\"B\":case\"O\":break;case\"P\":\"P\"==C[1].charAt(0)&&c.push(E.substr(3).replace(/;;/g,\";\"));break;case\"C\":for(o=1;o<C.length;++o)switch(C[o].charAt(0)){case\"X\":i=parseInt(C[o].substr(1))-1;break;case\"Y\":for(a=parseInt(C[o].substr(1))-1,i=0,r=l.length;r<=a;++r)l[r]=[];break;case\"K\":'\"'===(b=C[o].substr(1)).charAt(0)?b=b.substr(1,b.length-2):\"TRUE\"===b?b=!0:\"FALSE\"===b?b=!1:+b==+b?(b=+b,null!==f&&ko.is_date(f)&&(b=m(b))):isNaN(A(b).getDate())||(b=v(b)),l[a][i]=b,f=null;break;case\"E\":var S=Jg(C[o].substr(1),{r:a,c:i});l[a][i]=[l[a][i],S];break;default:if(t&&t.WTF)throw new Error(\"SYLK bad record \"+E)}break;case\"F\":var B=0;for(o=1;o<C.length;++o)switch(C[o].charAt(0)){case\"X\":i=parseInt(C[o].substr(1))-1,++B;break;case\"Y\":for(a=parseInt(C[o].substr(1))-1,r=l.length;r<=a;++r)l[r]=[];break;case\"M\":g=parseInt(C[o].substr(1))/20;break;case\"F\":break;case\"P\":f=c[parseInt(C[o].substr(1))];break;case\"S\":case\"D\":case\"N\":break;case\"W\":for(p=C[o].substr(1).split(\" \"),r=parseInt(p[0],10);r<=parseInt(p[1],10);++r)g=parseInt(p[2],10),d[r-1]=0==g?{hidden:!0}:{wch:g},jr(d[r-1]);break;case\"C\":d[i=parseInt(C[o].substr(1))-1]||(d[i]={});break;case\"R\":u[a=parseInt(C[o].substr(1))-1]||(u[a]={}),g>0?(u[a].hpt=g,u[a].hpx=Kr(g)):0==g&&(u[a].hidden=!0);break;default:if(t&&t.WTF)throw new Error(\"SYLK bad record \"+E)}B<1&&(f=null);break;default:if(t&&t.WTF)throw new Error(\"SYLK bad record \"+E)}}return u.length>0&&(h[\"!rows\"]=u),d.length>0&&(h[\"!cols\"]=d),[l,h]}function r(t,r){var n=e(t,r),a=n[0],i=n[1],s=Se(a,r);return u(i).forEach(function(e){s[e]=i[e]}),s}function n(e,t,r,n,a){var i=\"C;Y\"+(r+1)+\";X\"+(n+1)+\";K\";switch(e.t){case\"n\":i+=e.v||0,e.f&&!e.F&&(i+=\";E\"+tm(e.f,{r:r,c:n}));break;case\"b\":i+=e.v?\"TRUE\":\"FALSE\";break;case\"e\":i+=e.w||e.v;break;case\"d\":i+='\"'+(e.w||e.v)+'\"';break;case\"s\":i+='\"'+e.v.replace(/\"/g,\"\")+'\"'}return i}function a(e,t){t.forEach(function(t,r){var n=\"F;W\"+(r+1)+\" \"+(r+1)+\" \";t.hidden?n+=\"0\":(\"number\"==typeof t.width&&(t.wpx=zr(t.width)),\"number\"==typeof t.wpx&&(t.wch=Hr(t.wpx)),\"number\"==typeof t.wch&&(n+=Math.round(t.wch))),\" \"!=n.charAt(n.length-1)&&e.push(n)})}function i(e,t){t.forEach(function(t,r){var n=\"F;\";t.hidden?n+=\"M0;\":t.hpt?n+=\"M\"+20*t.hpt+\";\":t.hpx&&(n+=\"M\"+20*Yr(t.hpx)+\";\"),n.length>2&&e.push(n+\"R\"+(r+1))})}return{to_workbook:function(e,t){return we(r(e,t),t)},to_sheet:r,from_sheet:function(e,t){var r,s=[\"ID;PWXL;N;E\"],o=[],l=me(e[\"!ref\"]),c=Array.isArray(e),f=\"\\r\\n\";s.push(\"P;PGeneral\"),s.push(\"F;P0;DG0G8;M255\"),e[\"!cols\"]&&a(s,e[\"!cols\"]),e[\"!rows\"]&&i(s,e[\"!rows\"]),s.push(\"B;Y\"+(l.e.r-l.s.r+1)+\";X\"+(l.e.c-l.s.c+1)+\";D\"+[l.s.c,l.s.r,l.e.c,l.e.r].join(\" \"));for(var h=l.s.r;h<=l.e.r;++h)for(var u=l.s.c;u<=l.e.c;++u){var d=ge({r:h,c:u});(r=c?(e[h]||[])[u]:e[d])&&(null!=r.v||r.f&&!r.F)&&o.push(n(r,e,h,u,t))}return s.join(f)+f+o.join(f)+f+\"E\"+f}}}(),Eg=function(){function e(e,r){switch(r.type){case\"base64\":return t(Ao.decode(e),r);case\"binary\":return t(e,r);case\"buffer\":return t(e.toString(\"binary\"),r);case\"array\":return t(E(e),r)}throw new Error(\"Unrecognized type \"+r.type)}function t(e,t){for(var r=e.split(\"\\n\"),n=-1,a=-1,i=0,s=[];i!==r.length;++i)if(\"BOT\"!==r[i].trim()){if(!(n<0)){var o=r[i].trim().split(\",\"),l=o[0],c=o[1],f=r[++i].trim();switch(+l){case-1:if(\"BOT\"===f){s[++n]=[],a=0;continue}if(\"EOD\"!==f)throw new Error(\"Unrecognized DIF special command \"+f);break;case 0:\"TRUE\"===f?s[n][a]=!0:\"FALSE\"===f?s[n][a]=!1:+c==+c?s[n][a]=+c:isNaN(A(c).getDate())?s[n][a]=c:s[n][a]=v(c),++a;break;case 1:f=f.substr(1,f.length-2),s[n][a++]=\"\"!==f?f:null}if(\"EOD\"===f)break}}else s[++n]=[],a=0;return s}function r(t,r){return Se(e(t,r),r)}return{to_workbook:function(e,t){return we(r(e,t),t)},to_sheet:r,from_sheet:function(){var e=function(e,t,r,n,a){e.push(t),e.push(r+\",\"+n),e.push('\"'+a.replace(/\"/g,'\"\"')+'\"')},t=function(e,t,r,n){e.push(t+\",\"+r),e.push(1==t?'\"'+n.replace(/\"/g,'\"\"')+'\"':n)};return function(r,n){var a,i=[],s=me(r[\"!ref\"]),o=Array.isArray(r);e(i,\"TABLE\",0,1,\"sheetjs\"),e(i,\"VECTORS\",0,s.e.r-s.s.r+1,\"\"),e(i,\"TUPLES\",0,s.e.c-s.s.c+1,\"\"),e(i,\"DATA\",0,0,\"\");for(var l=s.s.r;l<=s.e.r;++l){t(i,-1,0,\"BOT\");for(var c=s.s.c;c<=s.e.c;++c){var f=ge({r:l,c:c});if(a=o?(r[l]||[])[c]:r[f])switch(a.t){case\"n\":var h=a.w;h||null==a.v||(h=a.v),null==h?a.f&&!a.F?t(i,1,0,\"=\"+a.f):t(i,1,0,\"\"):t(i,0,h,\"V\");break;case\"b\":t(i,0,a.v?1:0,a.v?\"TRUE\":\"FALSE\");break;case\"s\":t(i,1,0,isNaN(a.v)?a.v:'=\"'+a.v+'\"');break;case\"d\":a.w||(a.w=ko.format(a.z||ko._table[14],g(v(a.v)))),t(i,0,a.w,\"V\");break;default:t(i,1,0,\"\")}else t(i,1,0,\"\")}}t(i,-1,0,\"EOD\");return i.join(\"\\r\\n\")}}()}}(),Cg=function(){function e(e,t,r,n){\"TRUE\"===e?t[r][n]=!0:\"FALSE\"===e?t[r][n]=!1:\"\"===e||(+e==+e?t[r][n]=+e:isNaN(A(e).getDate())?t[r][n]=e:t[r][n]=v(e))}function t(t,r){var n=[];if(!t||0===t.length)return n;for(var a=t.split(/[\\r\\n]/),i=a.length-1;i>=0&&0===a[i].length;)--i;for(var s=10,o=0,l=0;l<=i;++l)-1==(o=a[l].indexOf(\" \"))?o=a[l].length:o++,s=Math.max(s,o);for(l=0;l<=i;++l){n[l]=[];var c=0;for(e(a[l].slice(0,s).trim(),n,l,c),c=1;c<=(a[l].length-s)/10+1;++c)e(a[l].slice(s+10*(c-1),s+10*c).trim(),n,l,c)}return n}function r(e,t){function r(){var t=e.slice(u,d),r={};if(61==t.charCodeAt(0))r.t=\"n\",r.f=t.substr(1);else if(\"TRUE\"==t)r.t=\"b\",r.v=!0;else if(\"FALSE\"==t)r.t=\"b\",r.v=!1;else if(isNaN(h=+t))if(!isNaN(A(t).getDate())||E&&t.match(E)){r.z=n.dateNF||ko._table[14];var a=0;E&&t.match(E)&&(t=f(t,n.dateNF,t.match(E)||[]),a=1),n.cellDates?(r.t=\"d\",r.v=v(t,a)):(r.t=\"n\",r.v=g(v(t,a))),r.w=ko.format(r.z,r.v instanceof Date?g(r.v):r.v)}else r.t=\"s\",'\"'==t.charAt(0)&&'\"'==t.charAt(t.length-1)&&(t=t.slice(1,-1).replace(/\"\"/g,'\"')),r.v=t;else r.t=\"n\",r.w=t,r.v=h;n.dense?(i[o]||(i[o]=[]),i[o][l]=r):i[ge({c:l,r:o})]=r,u=d+1,s.e.c<l&&(s.e.c=l),s.e.r<o&&(s.e.r=o),b==p?++l:(l=0,++o)}var n=t||{},a=\"\";null!=So&&null==n.dense&&(n.dense=So);var i=n.dense?[]:{},s={s:{c:0,r:0},e:{c:0,r:0}};\"sep=\"==e.substr(0,4)&&10==e.charCodeAt(5)?(a=e.charAt(4),e=e.substr(6)):a=-1==e.substr(0,1024).indexOf(\"\\t\")?\",\":\"\\t\";var o=0,l=0,h=0,u=0,d=0,p=a.charCodeAt(0),m=!1,b=0;e=e.replace(/\\r\\n/gm,\"\\n\");for(var E=null!=n.dateNF?c(n.dateNF):null;d<e.length;++d)switch(b=e.charCodeAt(d)){case 34:m=!m;break;case p:case 10:case 13:m||r()}return d-u>0&&r(),i[\"!ref\"]=be(s),i}function n(e,n){return\"sep=\"==e.substr(0,4)?r(e,n):e.indexOf(\"\\t\")>=0||e.indexOf(\",\")>=0?r(e,n):Se(t(e,n),n)}function a(e,t){var r=\"\",a=eo(e,t);switch(t.type){case\"base64\":r=Ao.decode(e);break;case\"binary\":r=e;break;case\"buffer\":r=e.toString(\"binary\");break;case\"array\":r=E(e);break;default:throw new Error(\"Unrecognized type \"+t.type)}return 239==a[0]&&187==a[1]&&191==a[2]&&(r=Qo(r)),n(r,t)}return{to_workbook:function(e,t){return we(a(e,t),t)},to_sheet:a,from_sheet:function(e,t){for(var r,n=[],a=me(e[\"!ref\"]),i=Array.isArray(e),s=a.s.r;s<=a.e.r;++s){for(var o=[],l=a.s.c;l<=a.e.c;++l){var c=ge({r:s,c:l});if((r=i?(e[s]||[])[l]:e[c])&&null!=r.v){for(var f=(r.w||(Ce(r),r.w)||\"\").substr(0,10);f.length<10;)f+=\" \";o.push(f+(0==l?\" \":\"\"))}else o.push(\"          \")}n.push(o.join(\"\"))}return n.join(\"\\n\")}}}(),wg=function(){function e(e,t,r){if(e){$(e,e.l||0);for(var n=r.Enum||o;e.l<e.length;){var a=e.read_shift(2),i=n[a]||n[255],s=e.read_shift(2),l=e.l+s,c=i.f(e,s,r);if(e.l=l,t(c,i.n,a))return}}}function t(t,r){if(!t)return t;var n=r||{};null!=So&&null==n.dense&&(n.dense=So);var a=n.dense?[]:{},i=\"Sheet1\",s=0,l={},f=[i],h={s:{r:0,c:0},e:{r:0,c:0}};if(2==t[2])n.Enum=o;else if(26==t[2])n.Enum=c;else{if(14!=t[2])throw new Error(\"Unrecognized LOTUS BOF \"+t[2]);n.Enum=c,n.qpro=!0,t.l=0}return e(t,function(e,r,o){if(2==t[2])switch(o){case 0:n.vers=e,e>=4096&&(n.qpro=!0);break;case 6:h=e;break;case 15:n.qpro||(e[1].v=e[1].v.substr(1));case 13:case 14:case 16:case 51:14==o&&112==(112&e[2])&&(15&e[2])>1&&(15&e[2])<15&&(e[1].z=n.dateNF||ko._table[14],n.cellDates&&(e[1].t=\"d\",e[1].v=m(e[1].v))),n.dense?(a[e[0].r]||(a[e[0].r]=[]),a[e[0].r][e[0].c]=e[1]):a[ge(e[0])]=e[1]}else switch(o){case 22:e[1].v=e[1].v.substr(1);case 23:case 24:case 25:case 37:case 39:case 40:e[3]>s&&(a[\"!ref\"]=be(h),l[i]=a,a=n.dense?[]:{},h={s:{r:0,c:0},e:{r:0,c:0}},s=e[3],i=\"Sheet\"+(s+1),f.push(i)),a[ge(e[0])]=e[1],h.e.c<e[0].c&&(h.e.c=e[0].c),h.e.r<e[0].r&&(h.e.r=e[0].r)}},n),a[\"!ref\"]=be(h),l[i]=a,{SheetNames:f,Sheets:l}}function r(e,t,r){var n=[{c:0,r:0},{t:\"n\",v:0},0];return r.qpro&&20768!=r.vers?(n[0].c=e.read_shift(1),e.l++,n[0].r=e.read_shift(2),e.l+=2):(n[2]=e.read_shift(1),n[0].c=e.read_shift(2),n[0].r=e.read_shift(2)),n}function n(e,t,n){var a=e.l+t,i=r(e,t,n);if(i[1].t=\"s\",20768==n.vers){e.l++;var s=e.read_shift(1);return i[1].v=e.read_shift(s,\"utf8\"),i}return n.qpro&&e.l++,i[1].v=e.read_shift(a-e.l,\"cstr\"),i}function a(e,t){var r=[{c:0,r:0},{t:\"n\",v:0},0];return r[0].r=e.read_shift(2),r[3]=e[e.l++],r[0].c=e[e.l++],r}function i(e,t){var r=a(e,t),n=e.read_shift(4),i=e.read_shift(4),s=e.read_shift(2);if(65535==s)return r[1].v=0,r;return s=(32767&s)-16446,r[1].v=(s>0?i<<s:i>>>-s)+(s>-32?n<<s+32:n>>>-(s+32)),r}function s(e,t){var r=a(e,t),n=e.read_shift(8,\"f\");return r[1].v=n,r}var o={0:{n:\"BOF\",f:Rt},1:{n:\"EOF\",f:Z},2:{n:\"CALCMODE\",f:Z},3:{n:\"CALCORDER\",f:Z},4:{n:\"SPLIT\",f:Z},5:{n:\"SYNC\",f:Z},6:{n:\"RANGE\",f:function(e,t){var r={s:{c:0,r:0},e:{c:0,r:0}};return r.s.c=e.read_shift(2),r.s.r=e.read_shift(2),r.e.c=e.read_shift(2),r.e.r=e.read_shift(2),65535==r.s.c&&(r.s.c=r.e.c=r.s.r=r.e.r=0),r}},7:{n:\"WINDOW1\",f:Z},8:{n:\"COLW1\",f:Z},9:{n:\"WINTWO\",f:Z},10:{n:\"COLW2\",f:Z},11:{n:\"NAME\",f:Z},12:{n:\"BLANK\",f:Z},13:{n:\"INTEGER\",f:function(e,t,n){var a=r(e,t,n);return a[1].v=e.read_shift(2,\"i\"),a}},14:{n:\"NUMBER\",f:function(e,t,n){var a=r(e,t,n);return a[1].v=e.read_shift(8,\"f\"),a}},15:{n:\"LABEL\",f:n},16:{n:\"FORMULA\",f:function(e,t,n){var a=e.l+t,i=r(e,t,n);if(i[1].v=e.read_shift(8,\"f\"),n.qpro)e.l=a;else{var s=e.read_shift(2);e.l+=s}return i}},24:{n:\"TABLE\",f:Z},25:{n:\"ORANGE\",f:Z},26:{n:\"PRANGE\",f:Z},27:{n:\"SRANGE\",f:Z},28:{n:\"FRANGE\",f:Z},29:{n:\"KRANGE1\",f:Z},32:{n:\"HRANGE\",f:Z},35:{n:\"KRANGE2\",f:Z},36:{n:\"PROTEC\",f:Z},37:{n:\"FOOTER\",f:Z},38:{n:\"HEADER\",f:Z},39:{n:\"SETUP\",f:Z},40:{n:\"MARGINS\",f:Z},41:{n:\"LABELFMT\",f:Z},42:{n:\"TITLES\",f:Z},43:{n:\"SHEETJS\",f:Z},45:{n:\"GRAPH\",f:Z},46:{n:\"NGRAPH\",f:Z},47:{n:\"CALCCOUNT\",f:Z},48:{n:\"UNFORMATTED\",f:Z},49:{n:\"CURSORW12\",f:Z},50:{n:\"WINDOW\",f:Z},51:{n:\"STRING\",f:n},55:{n:\"PASSWORD\",f:Z},56:{n:\"LOCKED\",f:Z},60:{n:\"QUERY\",f:Z},61:{n:\"QUERYNAME\",f:Z},62:{n:\"PRINT\",f:Z},63:{n:\"PRINTNAME\",f:Z},64:{n:\"GRAPH2\",f:Z},65:{n:\"GRAPHNAME\",f:Z},66:{n:\"ZOOM\",f:Z},67:{n:\"SYMSPLIT\",f:Z},68:{n:\"NSROWS\",f:Z},69:{n:\"NSCOLS\",f:Z},70:{n:\"RULER\",f:Z},71:{n:\"NNAME\",f:Z},72:{n:\"ACOMM\",f:Z},73:{n:\"AMACRO\",f:Z},74:{n:\"PARSE\",f:Z},255:{n:\"\",f:Z}},c={0:{n:\"BOF\",f:Z},1:{n:\"EOF\",f:Z},3:{n:\"??\",f:Z},4:{n:\"??\",f:Z},5:{n:\"??\",f:Z},6:{n:\"??\",f:Z},7:{n:\"??\",f:Z},9:{n:\"??\",f:Z},10:{n:\"??\",f:Z},11:{n:\"??\",f:Z},12:{n:\"??\",f:Z},14:{n:\"??\",f:Z},15:{n:\"??\",f:Z},16:{n:\"??\",f:Z},17:{n:\"??\",f:Z},18:{n:\"??\",f:Z},19:{n:\"??\",f:Z},21:{n:\"??\",f:Z},22:{n:\"LABEL16\",f:function(e,t){var r=a(e,t);return r[1].t=\"s\",r[1].v=e.read_shift(t-4,\"cstr\"),r}},23:{n:\"NUMBER17\",f:i},24:{n:\"NUMBER18\",f:function(e,t){var r=a(e,t);r[1].v=e.read_shift(2);var n=r[1].v>>1;if(1&r[1].v)switch(7&n){case 1:n=500*(n>>3);break;case 2:n=(n>>3)/20;break;case 4:n=(n>>3)/2e3;break;case 6:n=(n>>3)/16;break;case 7:n=(n>>3)/64;break;default:throw\"unknown NUMBER_18 encoding \"+(7&n)}return r[1].v=n,r}},25:{n:\"FORMULA19\",f:function(e,t){var r=i(e,14);return e.l+=t-14,r}},26:{n:\"??\",f:Z},27:{n:\"??\",f:Z},28:{n:\"??\",f:Z},29:{n:\"??\",f:Z},30:{n:\"??\",f:Z},31:{n:\"??\",f:Z},33:{n:\"??\",f:Z},37:{n:\"NUMBER25\",f:function(e,t){var r=a(e,t),n=e.read_shift(4);return r[1].v=n>>6,r}},39:{n:\"NUMBER27\",f:s},40:{n:\"FORMULA28\",f:function(e,t){var r=s(e,14);return e.l+=t-10,r}},255:{n:\"\",f:Z}};return{to_workbook:function(e,r){switch(r.type){case\"base64\":return t(l(Ao.decode(e)),r);case\"binary\":return t(l(e),r);case\"buffer\":case\"array\":return t(e,r)}throw\"Unsupported type \"+r.type}}}(),Sg={0:1252,1:65001,2:65001,77:1e4,128:932,129:949,130:1361,134:936,136:950,161:1253,162:1254,163:1258,177:1255,178:1256,186:1257,204:1251,222:874,238:1250,255:1252,69:6969},Ag=function(){function e(e){var n=[[],\"\",[]],a=e.match(t);if(!h(a))return\"\";n[1]=a[1];var o=e.match(r);return h(o)&&s(o[1],n[0],n[2]),n[0].join(\"\")+n[1].replace(i,\"<br/>\")+n[2].join(\"\")}var t=tl(\"t\"),r=tl(\"rPr\"),n=/<(?:\\w+:)?r>/g,a=/<\\/(?:\\w+:)?r>/,i=/\\r\\n/g,s=function(e,t,r){var n={},a=65001,i=\"\",s=e.match(Wo),o=0;if(s)for(;o!=s.length;++o){var l=O(s[o]);switch(l[0].replace(/\\w*:/g,\"\")){case\"<condense\":case\"<extend\":break;case\"<shadow\":if(!l.val)break;case\"<shadow>\":case\"<shadow/>\":n.shadow=1;break;case\"</shadow>\":break;case\"<charset\":if(\"1\"==l.val)break;a=Sg[parseInt(l.val,10)];break;case\"<outline\":if(!l.val)break;case\"<outline>\":case\"<outline/>\":n.outline=1;break;case\"</outline>\":break;case\"<rFont\":n.name=l.val;break;case\"<sz\":n.sz=l.val;break;case\"<strike\":if(!l.val)break;case\"<strike>\":case\"<strike/>\":n.strike=1;break;case\"</strike>\":break;case\"<u\":if(!l.val)break;switch(l.val){case\"double\":n.uval=\"double\";break;case\"singleAccounting\":n.uval=\"single-accounting\";break;case\"doubleAccounting\":n.uval=\"double-accounting\"}case\"<u>\":case\"<u/>\":n.u=1;break;case\"</u>\":break;case\"<b\":if(\"0\"==l.val)break;case\"<b>\":case\"<b/>\":n.b=1;break;case\"</b>\":break;case\"<i\":if(\"0\"==l.val)break;case\"<i>\":case\"<i/>\":n.i=1;break;case\"</i>\":break;case\"<color\":l.rgb&&(n.color=l.rgb.substr(2,6));break;case\"<family\":n.family=l.val;break;case\"<vertAlign\":i=l.val;break;case\"<scheme\":break;default:if(47!==l[0].charCodeAt(1))throw\"Unrecognized rich format \"+l[0]}}var c=[];return n.u&&c.push(\"text-decoration: underline;\"),n.uval&&c.push(\"text-underline-style:\"+n.uval+\";\"),n.sz&&c.push(\"font-size:\"+n.sz+\";\"),n.outline&&c.push(\"text-effect: outline;\"),n.shadow&&c.push(\"text-shadow: auto;\"),t.push('<span style=\"'+c.join(\"\")+'\">'),n.b&&(t.push(\"<b>\"),r.push(\"</b>\")),n.i&&(t.push(\"<i>\"),r.push(\"</i>\")),n.strike&&(t.push(\"<s>\"),r.push(\"</s>\")),\"superscript\"==i?i=\"sup\":\"subscript\"==i&&(i=\"sub\"),\"\"!=i&&(t.push(\"<\"+i+\">\"),r.push(\"</\"+i+\">\")),r.push(\"</span>\"),a};return function(t){return t.replace(n,\"\").split(a).map(e).join(\"\")}}(),Bg=/<(?:\\w+:)?t[^>]*>([^<]*)<\\/(?:\\w+:)?t>/g,_g=/<(?:\\w+:)?r>/,Tg=/<(?:\\w+:)?rPh.*?>(.*?)<\\/(?:\\w+:)?rPh>/g,yg=/<(?:\\w+:)?sst([^>]*)>([\\s\\S]*)<\\/(?:\\w+:)?sst>/,kg=/<(?:\\w+:)?(?:si|sstItem)>/g,xg=/<\\/(?:\\w+:)?(?:si|sstItem)>/;lc.SST=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings\";var Rg=/^\\s|\\s$|[\\t\\n\\r]/,Ig=function(e,t){var r=!1;return null==t&&(r=!0,t=Q(15+4*e.t.length)),t.write_shift(1,0),_e(e.t,t),r?t.slice(0,t.l):t},Og=function(){var e=[187,255,255,186,255,255,185,128,0,190,15,0,191,15,0],t=[57840,7439,52380,33984,4364,3600,61902,12606,6258,57657,54287,34041,10252,43370,20163],r=[44796,19929,39858,10053,20106,40212,10761,31585,63170,64933,60267,50935,40399,11199,17763,35526,1453,2906,5812,11624,23248,885,1770,3540,7080,14160,28320,56640,55369,41139,20807,41614,21821,43642,17621,28485,56970,44341,19019,38038,14605,29210,60195,50791,40175,10751,21502,43004,24537,18387,36774,3949,7898,15796,31592,63184,47201,24803,49606,37805,14203,28406,56812,17824,35648,1697,3394,6788,13576,27152,43601,17539,35078,557,1114,2228,4456,30388,60776,51953,34243,7079,14158,28316,14128,28256,56512,43425,17251,34502,7597,13105,26210,52420,35241,883,1766,3532,4129,8258,16516,33032,4657,9314,18628],n=function(e){return 255&(e/2|128*e)},a=function(e,t){return n(e^t)},i=function(e){for(var n=t[e.length-1],a=104,i=e.length-1;i>=0;--i)for(var s=e[i],o=0;7!=o;++o)64&s&&(n^=r[a]),s*=2,--a;return n};return function(t){for(var r=br(t),n=i(r),s=r.length,l=o(16),c=0;16!=c;++c)l[c]=0;var f,h,u;for(1==(1&s)&&(f=n>>8,l[s]=a(e[0],f),--s,f=255&n,h=r[r.length-1],l[s]=a(h,f));s>0;)f=n>>8,l[--s]=a(r[s],f),f=255&n,l[--s]=a(r[s],f);for(s=15,u=15-r.length;u>0;)f=n>>8,l[s]=a(e[u],f),--u,f=255&n,l[--s]=a(r[s],f),--s,--u;return l}}(),Dg=function(e,t,r,n,a){a||(a=t),n||(n=Og(e));var i,s;for(i=0;i!=t.length;++i)s=t[i],s=255&((s^=n[r])>>5|s<<3),a[i]=s,++r;return[a,r,n]},Pg=function(e){var t=0,r=Og(e);return function(e){var n=Dg(\"\",e,t,r);return t=n[1],n[0]}},Fg=6,Ng=15,Lg=1,Mg=Fg,Ug=96,Wg={None:\"none\",Solid:\"solid\",Gray50:\"mediumGray\",Gray75:\"darkGray\",Gray25:\"lightGray\",HorzStripe:\"darkHorizontal\",VertStripe:\"darkVertical\",ReverseDiagStripe:\"darkDown\",DiagStripe:\"darkUp\",DiagCross:\"darkGrid\",ThickDiagCross:\"darkTrellis\",ThinHorzStripe:\"lightHorizontal\",ThinVertStripe:\"lightVertical\",ThinReverseDiagStripe:\"lightDown\",ThinHorzCross:\"lightGrid\"},zg=[\"numFmtId\",\"fillId\",\"fontId\",\"borderId\",\"xfId\"],Hg=[\"applyAlignment\",\"applyBorder\",\"applyFill\",\"applyFont\",\"applyNumberFormat\",\"applyProtection\",\"pivotButton\",\"quotePrefix\"],Vg=function(){var e=/<numFmts([^>]*)>.*<\\/numFmts>/,t=/<cellXfs([^>]*)>.*<\\/cellXfs>/,r=/<fills([^>]*)>.*<\\/fills>/,n=/<fonts([^>]*)>.*<\\/fonts>/,a=/<borders([^>]*)>.*<\\/borders>/;return function(i,s,o){var l={};if(!i)return l;var c;return(c=i.match(e))&&qr(c,l,o),(c=i.match(n))&&Qr(c,l,s,o),(c=i.match(r))&&Zr(c,l,0,o),(c=i.match(a))&&$r(c,l,0,o),(c=i.match(t))&&en(c,l,o),l}}(),Xg=z(\"styleSheet\",null,{xmlns:ol.main[0],\"xmlns:vt\":ol.vt});lc.STY=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles\";var Gg=d([\"none\",\"solid\",\"mediumGray\",\"darkGray\",\"lightGray\",\"darkHorizontal\",\"darkVertical\",\"darkDown\",\"darkUp\",\"darkGrid\",\"darkTrellis\",\"lightHorizontal\",\"lightVertical\",\"lightDown\",\"lightUp\",\"lightGrid\",\"lightTrellis\",\"gray125\",\"gray0625\"]);lc.THEME=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme\";var jg=/<a:clrScheme([^>]*)>[\\s\\S]*<\\/a:clrScheme>/,Yg=/<a:fontScheme([^>]*)>[\\s\\S]*<\\/a:fontScheme>/,Kg=/<a:fmtScheme([^>]*)>[\\s\\S]*<\\/a:fmtScheme>/,$g=/<a:themeElements([^>]*)>[\\s\\S]*<\\/a:themeElements>/;lc.IMG=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\",lc.DRAW=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing\";var Zg=1024;lc.CMNT=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments\";var Qg=z(\"comments\",null,{xmlns:ol.main[0]}),qg=Be;lc.DS=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet\",lc.MS=\"http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet\";var Jg=function(){function e(e,t,n,a,i,s){var o=a.length>0?0|parseInt(a,10):0,l=s.length>0?0|parseInt(s,10):0;l<0&&0===i.length&&(l=0);var c=!1,f=!1;return(i.length>0||0==s.length)&&(c=!0),c?l+=r.c:--l,(n.length>0||0==a.length)&&(f=!0),f?o+=r.r:--o,t+(c?\"\":\"$\")+fe(l)+(f?\"\":\"$\")+se(o)}var t=/(^|[^A-Za-z])R(\\[?)(-?\\d+|)\\]?C(\\[?)(-?\\d+|)\\]?/g,r={r:0,c:0};return function(n,a){return r=a,n.replace(t,e)}}(),em=/(^|[^._A-Z0-9])([$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([$]?)([1-9]\\d{0,5}|10[0-3]\\d{4}|104[0-7]\\d{3}|1048[0-4]\\d{2}|10485[0-6]\\d|104857[0-6])(?![_.\\(A-Za-z0-9])/g,tm=function(e,t){return e.replace(em,function(e,r,n,a,i,s,o,l){var c=ce(a)-t.c,f=ie(s)-t.r;return r+\"R\"+(0==f?\"\":\"[\"+f+\"]\")+\"C\"+(0==c?\"\":\"[\"+c+\"]\")})},rm={1:{n:\"PtgExp\",f:function(e,t,r){return e.l++,r&&12==r.biff?[e.read_shift(4,\"i\"),0]:[e.read_shift(2),e.read_shift(r&&2==r.biff?1:2)]}},2:{n:\"PtgTbl\",f:Z},3:{n:\"PtgAdd\",f:ta},4:{n:\"PtgSub\",f:ta},5:{n:\"PtgMul\",f:ta},6:{n:\"PtgDiv\",f:ta},7:{n:\"PtgPower\",f:ta},8:{n:\"PtgConcat\",f:ta},9:{n:\"PtgLt\",f:ta},10:{n:\"PtgLe\",f:ta},11:{n:\"PtgEq\",f:ta},12:{n:\"PtgGe\",f:ta},13:{n:\"PtgGt\",f:ta},14:{n:\"PtgNe\",f:ta},15:{n:\"PtgIsect\",f:ta},16:{n:\"PtgUnion\",f:ta},17:{n:\"PtgRange\",f:ta},18:{n:\"PtgUplus\",f:ta},19:{n:\"PtgUminus\",f:ta},20:{n:\"PtgPercent\",f:ta},21:{n:\"PtgParen\",f:ta},22:{n:\"PtgMissArg\",f:ta},23:{n:\"PtgStr\",f:function(e,t,r){return e.l++,Dt(e,t-1,r)}},28:{n:\"PtgErr\",f:function(e,t){return e.l++,Xl[e.read_shift(1)]}},29:{n:\"PtgBool\",f:function(e,t){return e.l++,0!==e.read_shift(1)}},30:{n:\"PtgInt\",f:function(e,t){return e.l++,e.read_shift(2)}},31:{n:\"PtgNum\",f:function(e,t){return e.l++,Le(e,8)}},32:{n:\"PtgArray\",f:function(e,t,r){var n=(96&e[e.l++])>>5;return e.l+=2==r.biff?6:12==r.biff?14:7,[n]}},33:{n:\"PtgFunc\",f:function(e,t,r){e[e.l];var n=(96&e[e.l])>>5;e.l+=1;var a=e.read_shift(r&&r.biff<=3?1:2);return[dm[a],um[a],n]}},34:{n:\"PtgFuncVar\",f:function(e,t,r){e.l++;var n=e.read_shift(1),a=r&&r.biff<=3?[0,e.read_shift(1)]:ha(e);return[n,(0===a[0]?um:hm)[a[1]]]}},35:{n:\"PtgName\",f:function(e,t,r){var n=e.read_shift(1)>>>5&3,a=!r||r.biff>=8?4:2,i=e.read_shift(a);switch(r.biff){case 2:e.l+=5;break;case 3:case 4:e.l+=8;break;case 5:e.l+=12}return[n,0,i]}},36:{n:\"PtgRef\",f:function(e,t,r){e[e.l];var n=(96&e[e.l])>>5;return e.l+=1,[n,sa(e,0,r)]}},37:{n:\"PtgArea\",f:function(e,t,r){return[(96&e[e.l++])>>5,na(e,r.biff>=2&&r.biff<=5?6:8,r)]}},38:{n:\"PtgMemArea\",f:function(e,t,r){var n=e.read_shift(1)>>>5&3;return e.l+=r&&2==r.biff?3:4,[n,e.read_shift(r&&2==r.biff?1:2)]}},39:{n:\"PtgMemErr\",f:Z},40:{n:\"PtgMemNoMem\",f:Z},41:{n:\"PtgMemFunc\",f:function(e,t,r){return[e.read_shift(1)>>>5&3,e.read_shift(r&&2==r.biff?1:2)]}},42:{n:\"PtgRefErr\",f:function(e,t,r){var n=e.read_shift(1)>>>5&3;return e.l+=4,12==r.biff&&(e.l+=2),[n]}},43:{n:\"PtgAreaErr\",f:function(e,t,r){var n=(96&e[e.l++])>>5;return e.l+=r&&r.biff>8?12:8,[n]}},44:{n:\"PtgRefN\",f:function(e,t,r){var n=(96&e[e.l])>>5;return e.l+=1,[n,la(e,0,r)]}},45:{n:\"PtgAreaN\",f:function(e,t,r){return[(96&e[e.l++])>>5,ia(e,r&&r.biff>8?12:8,r)]}},57:{n:\"PtgNameX\",f:function(e,t,r){return 5==r.biff?ga(e):[e.read_shift(1)>>>5&3,e.read_shift(2),e.read_shift(4)]}},58:{n:\"PtgRef3d\",f:function(e,t,r){var n=(96&e[e.l])>>5;return e.l+=1,[n,e.read_shift(2),sa(e,0,r)]}},59:{n:\"PtgArea3d\",f:function(e,t,r){var n=(96&e[e.l++])>>5,a=e.read_shift(2,\"i\"),i=8;if(r)switch(r.biff){case 5:e.l+=12,i=6;break;case 12:i=12}return[n,a,na(e,i,r)]}},60:{n:\"PtgRefErr3d\",f:function(e,t,r){var n=(96&e[e.l++])>>5,a=e.read_shift(2),i=4;if(r)switch(r.biff){case 5:throw new Error(\"PtgRefErr3d -- 5\");case 12:i=6}return e.l+=i,[n,a]}},61:{n:\"PtgAreaErr3d\",f:function(e,t,r){var n=(96&e[e.l++])>>5,a=e.read_shift(2),i=8;if(r)switch(r.biff){case 5:e.l+=12,i=6;break;case 12:i=12}return e.l+=i,[n,a]}},255:{}},nm={64:32,96:32,65:33,97:33,66:34,98:34,67:35,99:35,68:36,100:36,69:37,101:37,70:38,102:38,71:39,103:39,72:40,104:40,73:41,105:41,74:42,106:42,75:43,107:43,76:44,108:44,77:45,109:45,89:57,121:57,90:58,122:58,91:59,123:59,92:60,124:60,93:61,125:61};!function(){for(var e in nm)rm[e]=rm[nm[e]]}();var am={},im={1:{n:\"PtgAttrSemi\",f:function(e,t,r){var n=255&e[e.l+1]?1:0;return e.l+=r&&2==r.biff?3:4,[n]}},2:{n:\"PtgAttrIf\",f:function(e,t,r){var n=255&e[e.l+1]?1:0;return e.l+=2,[n,e.read_shift(r&&2==r.biff?1:2)]}},4:{n:\"PtgAttrChoose\",f:function(e,t,r){e.l+=2;for(var n=e.read_shift(r&&2==r.biff?1:2),a=[],i=0;i<=n;++i)a.push(e.read_shift(r&&2==r.biff?1:2));return a}},8:{n:\"PtgAttrGoto\",f:function(e,t,r){var n=255&e[e.l+1]?1:0;return e.l+=2,[n,e.read_shift(r&&2==r.biff?1:2)]}},16:{n:\"PtgAttrSum\",f:function(e,t,r){e.l+=r&&2==r.biff?3:4}},32:{n:\"PtgAttrBaxcel\",f:function(e,t){var r=1&e[e.l+1];return e.l+=4,[r,1]}},64:{n:\"PtgAttrSpace\",f:function(e,t){return e.read_shift(2),fa(e,2)}},65:{n:\"PtgAttrSpaceSemi\",f:function(e,t){return e.read_shift(2),fa(e,2)}},128:{n:\"PtgAttrIfError\",f:function(e,t){var r=255&e[e.l+1]?1:0;return e.l+=2,[r,e.read_shift(2)]}},255:{}},sm={PtgAdd:\"+\",PtgConcat:\"&\",PtgDiv:\"/\",PtgEq:\"=\",PtgGe:\">=\",PtgGt:\">\",PtgLe:\"<=\",PtgLt:\"<\",PtgMul:\"*\",PtgNe:\"<>\",PtgPower:\"^\",PtgSub:\"-\"},om=Ta,lm=Ta,cm=Ta,fm=Ta,hm={0:\"BEEP\",1:\"OPEN\",2:\"OPEN.LINKS\",3:\"CLOSE.ALL\",4:\"SAVE\",5:\"SAVE.AS\",6:\"FILE.DELETE\",7:\"PAGE.SETUP\",8:\"PRINT\",9:\"PRINTER.SETUP\",10:\"QUIT\",11:\"NEW.WINDOW\",12:\"ARRANGE.ALL\",13:\"WINDOW.SIZE\",14:\"WINDOW.MOVE\",15:\"FULL\",16:\"CLOSE\",17:\"RUN\",22:\"SET.PRINT.AREA\",23:\"SET.PRINT.TITLES\",24:\"SET.PAGE.BREAK\",25:\"REMOVE.PAGE.BREAK\",26:\"FONT\",27:\"DISPLAY\",28:\"PROTECT.DOCUMENT\",29:\"PRECISION\",30:\"A1.R1C1\",31:\"CALCULATE.NOW\",32:\"CALCULATION\",34:\"DATA.FIND\",35:\"EXTRACT\",36:\"DATA.DELETE\",37:\"SET.DATABASE\",38:\"SET.CRITERIA\",39:\"SORT\",40:\"DATA.SERIES\",41:\"TABLE\",42:\"FORMAT.NUMBER\",43:\"ALIGNMENT\",44:\"STYLE\",45:\"BORDER\",46:\"CELL.PROTECTION\",47:\"COLUMN.WIDTH\",48:\"UNDO\",49:\"CUT\",50:\"COPY\",51:\"PASTE\",52:\"CLEAR\",53:\"PASTE.SPECIAL\",54:\"EDIT.DELETE\",55:\"INSERT\",56:\"FILL.RIGHT\",57:\"FILL.DOWN\",61:\"DEFINE.NAME\",62:\"CREATE.NAMES\",63:\"FORMULA.GOTO\",64:\"FORMULA.FIND\",65:\"SELECT.LAST.CELL\",66:\"SHOW.ACTIVE.CELL\",67:\"GALLERY.AREA\",68:\"GALLERY.BAR\",69:\"GALLERY.COLUMN\",70:\"GALLERY.LINE\",71:\"GALLERY.PIE\",72:\"GALLERY.SCATTER\",73:\"COMBINATION\",74:\"PREFERRED\",75:\"ADD.OVERLAY\",76:\"GRIDLINES\",77:\"SET.PREFERRED\",78:\"AXES\",79:\"LEGEND\",80:\"ATTACH.TEXT\",81:\"ADD.ARROW\",82:\"SELECT.CHART\",83:\"SELECT.PLOT.AREA\",84:\"PATTERNS\",85:\"MAIN.CHART\",86:\"OVERLAY\",87:\"SCALE\",88:\"FORMAT.LEGEND\",89:\"FORMAT.TEXT\",90:\"EDIT.REPEAT\",91:\"PARSE\",92:\"JUSTIFY\",93:\"HIDE\",94:\"UNHIDE\",95:\"WORKSPACE\",96:\"FORMULA\",97:\"FORMULA.FILL\",98:\"FORMULA.ARRAY\",99:\"DATA.FIND.NEXT\",100:\"DATA.FIND.PREV\",101:\"FORMULA.FIND.NEXT\",102:\"FORMULA.FIND.PREV\",103:\"ACTIVATE\",104:\"ACTIVATE.NEXT\",105:\"ACTIVATE.PREV\",106:\"UNLOCKED.NEXT\",107:\"UNLOCKED.PREV\",108:\"COPY.PICTURE\",109:\"SELECT\",110:\"DELETE.NAME\",111:\"DELETE.FORMAT\",112:\"VLINE\",113:\"HLINE\",114:\"VPAGE\",115:\"HPAGE\",116:\"VSCROLL\",117:\"HSCROLL\",118:\"ALERT\",119:\"NEW\",120:\"CANCEL.COPY\",121:\"SHOW.CLIPBOARD\",122:\"MESSAGE\",124:\"PASTE.LINK\",125:\"APP.ACTIVATE\",126:\"DELETE.ARROW\",127:\"ROW.HEIGHT\",128:\"FORMAT.MOVE\",129:\"FORMAT.SIZE\",130:\"FORMULA.REPLACE\",131:\"SEND.KEYS\",132:\"SELECT.SPECIAL\",133:\"APPLY.NAMES\",134:\"REPLACE.FONT\",135:\"FREEZE.PANES\",136:\"SHOW.INFO\",137:\"SPLIT\",138:\"ON.WINDOW\",139:\"ON.DATA\",140:\"DISABLE.INPUT\",142:\"OUTLINE\",143:\"LIST.NAMES\",144:\"FILE.CLOSE\",145:\"SAVE.WORKBOOK\",146:\"DATA.FORM\",147:\"COPY.CHART\",148:\"ON.TIME\",149:\"WAIT\",150:\"FORMAT.FONT\",151:\"FILL.UP\",152:\"FILL.LEFT\",153:\"DELETE.OVERLAY\",155:\"SHORT.MENUS\",159:\"SET.UPDATE.STATUS\",161:\"COLOR.PALETTE\",162:\"DELETE.STYLE\",163:\"WINDOW.RESTORE\",164:\"WINDOW.MAXIMIZE\",166:\"CHANGE.LINK\",167:\"CALCULATE.DOCUMENT\",168:\"ON.KEY\",169:\"APP.RESTORE\",170:\"APP.MOVE\",171:\"APP.SIZE\",172:\"APP.MINIMIZE\",173:\"APP.MAXIMIZE\",174:\"BRING.TO.FRONT\",175:\"SEND.TO.BACK\",185:\"MAIN.CHART.TYPE\",186:\"OVERLAY.CHART.TYPE\",187:\"SELECT.END\",188:\"OPEN.MAIL\",189:\"SEND.MAIL\",190:\"STANDARD.FONT\",191:\"CONSOLIDATE\",192:\"SORT.SPECIAL\",193:\"GALLERY.3D.AREA\",194:\"GALLERY.3D.COLUMN\",195:\"GALLERY.3D.LINE\",196:\"GALLERY.3D.PIE\",197:\"VIEW.3D\",198:\"GOAL.SEEK\",199:\"WORKGROUP\",200:\"FILL.GROUP\",201:\"UPDATE.LINK\",202:\"PROMOTE\",203:\"DEMOTE\",204:\"SHOW.DETAIL\",206:\"UNGROUP\",207:\"OBJECT.PROPERTIES\",208:\"SAVE.NEW.OBJECT\",209:\"SHARE\",210:\"SHARE.NAME\",211:\"DUPLICATE\",212:\"APPLY.STYLE\",213:\"ASSIGN.TO.OBJECT\",214:\"OBJECT.PROTECTION\",215:\"HIDE.OBJECT\",216:\"SET.EXTRACT\",217:\"CREATE.PUBLISHER\",218:\"SUBSCRIBE.TO\",219:\"ATTRIBUTES\",220:\"SHOW.TOOLBAR\",222:\"PRINT.PREVIEW\",223:\"EDIT.COLOR\",224:\"SHOW.LEVELS\",225:\"FORMAT.MAIN\",226:\"FORMAT.OVERLAY\",227:\"ON.RECALC\",228:\"EDIT.SERIES\",229:\"DEFINE.STYLE\",240:\"LINE.PRINT\",243:\"ENTER.DATA\",249:\"GALLERY.RADAR\",250:\"MERGE.STYLES\",251:\"EDITION.OPTIONS\",252:\"PASTE.PICTURE\",253:\"PASTE.PICTURE.LINK\",254:\"SPELLING\",256:\"ZOOM\",259:\"INSERT.OBJECT\",260:\"WINDOW.MINIMIZE\",265:\"SOUND.NOTE\",266:\"SOUND.PLAY\",267:\"FORMAT.SHAPE\",268:\"EXTEND.POLYGON\",269:\"FORMAT.AUTO\",272:\"GALLERY.3D.BAR\",273:\"GALLERY.3D.SURFACE\",274:\"FILL.AUTO\",276:\"CUSTOMIZE.TOOLBAR\",277:\"ADD.TOOL\",278:\"EDIT.OBJECT\",279:\"ON.DOUBLECLICK\",280:\"ON.ENTRY\",281:\"WORKBOOK.ADD\",282:\"WORKBOOK.MOVE\",283:\"WORKBOOK.COPY\",284:\"WORKBOOK.OPTIONS\",285:\"SAVE.WORKSPACE\",288:\"CHART.WIZARD\",289:\"DELETE.TOOL\",290:\"MOVE.TOOL\",291:\"WORKBOOK.SELECT\",292:\"WORKBOOK.ACTIVATE\",293:\"ASSIGN.TO.TOOL\",295:\"COPY.TOOL\",296:\"RESET.TOOL\",297:\"CONSTRAIN.NUMERIC\",298:\"PASTE.TOOL\",302:\"WORKBOOK.NEW\",305:\"SCENARIO.CELLS\",306:\"SCENARIO.DELETE\",307:\"SCENARIO.ADD\",308:\"SCENARIO.EDIT\",309:\"SCENARIO.SHOW\",310:\"SCENARIO.SHOW.NEXT\",311:\"SCENARIO.SUMMARY\",312:\"PIVOT.TABLE.WIZARD\",313:\"PIVOT.FIELD.PROPERTIES\",314:\"PIVOT.FIELD\",315:\"PIVOT.ITEM\",316:\"PIVOT.ADD.FIELDS\",318:\"OPTIONS.CALCULATION\",319:\"OPTIONS.EDIT\",320:\"OPTIONS.VIEW\",321:\"ADDIN.MANAGER\",322:\"MENU.EDITOR\",323:\"ATTACH.TOOLBARS\",324:\"VBAActivate\",325:\"OPTIONS.CHART\",328:\"VBA.INSERT.FILE\",330:\"VBA.PROCEDURE.DEFINITION\",336:\"ROUTING.SLIP\",338:\"ROUTE.DOCUMENT\",339:\"MAIL.LOGON\",342:\"INSERT.PICTURE\",343:\"EDIT.TOOL\",344:\"GALLERY.DOUGHNUT\",350:\"CHART.TREND\",352:\"PIVOT.ITEM.PROPERTIES\",354:\"WORKBOOK.INSERT\",355:\"OPTIONS.TRANSITION\",356:\"OPTIONS.GENERAL\",370:\"FILTER.ADVANCED\",373:\"MAIL.ADD.MAILER\",374:\"MAIL.DELETE.MAILER\",375:\"MAIL.REPLY\",376:\"MAIL.REPLY.ALL\",377:\"MAIL.FORWARD\",378:\"MAIL.NEXT.LETTER\",379:\"DATA.LABEL\",380:\"INSERT.TITLE\",381:\"FONT.PROPERTIES\",382:\"MACRO.OPTIONS\",383:\"WORKBOOK.HIDE\",384:\"WORKBOOK.UNHIDE\",385:\"WORKBOOK.DELETE\",386:\"WORKBOOK.NAME\",388:\"GALLERY.CUSTOM\",390:\"ADD.CHART.AUTOFORMAT\",391:\"DELETE.CHART.AUTOFORMAT\",392:\"CHART.ADD.DATA\",393:\"AUTO.OUTLINE\",394:\"TAB.ORDER\",395:\"SHOW.DIALOG\",396:\"SELECT.ALL\",397:\"UNGROUP.SHEETS\",398:\"SUBTOTAL.CREATE\",399:\"SUBTOTAL.REMOVE\",400:\"RENAME.OBJECT\",412:\"WORKBOOK.SCROLL\",413:\"WORKBOOK.NEXT\",414:\"WORKBOOK.PREV\",415:\"WORKBOOK.TAB.SPLIT\",416:\"FULL.SCREEN\",417:\"WORKBOOK.PROTECT\",420:\"SCROLLBAR.PROPERTIES\",421:\"PIVOT.SHOW.PAGES\",422:\"TEXT.TO.COLUMNS\",423:\"FORMAT.CHARTTYPE\",424:\"LINK.FORMAT\",425:\"TRACER.DISPLAY\",430:\"TRACER.NAVIGATE\",431:\"TRACER.CLEAR\",432:\"TRACER.ERROR\",433:\"PIVOT.FIELD.GROUP\",434:\"PIVOT.FIELD.UNGROUP\",435:\"CHECKBOX.PROPERTIES\",436:\"LABEL.PROPERTIES\",437:\"LISTBOX.PROPERTIES\",438:\"EDITBOX.PROPERTIES\",439:\"PIVOT.REFRESH\",440:\"LINK.COMBO\",441:\"OPEN.TEXT\",442:\"HIDE.DIALOG\",443:\"SET.DIALOG.FOCUS\",444:\"ENABLE.OBJECT\",445:\"PUSHBUTTON.PROPERTIES\",446:\"SET.DIALOG.DEFAULT\",447:\"FILTER\",448:\"FILTER.SHOW.ALL\",449:\"CLEAR.OUTLINE\",450:\"FUNCTION.WIZARD\",451:\"ADD.LIST.ITEM\",452:\"SET.LIST.ITEM\",453:\"REMOVE.LIST.ITEM\",454:\"SELECT.LIST.ITEM\",455:\"SET.CONTROL.VALUE\",456:\"SAVE.COPY.AS\",458:\"OPTIONS.LISTS.ADD\",459:\"OPTIONS.LISTS.DELETE\",460:\"SERIES.AXES\",461:\"SERIES.X\",462:\"SERIES.Y\",463:\"ERRORBAR.X\",464:\"ERRORBAR.Y\",465:\"FORMAT.CHART\",466:\"SERIES.ORDER\",467:\"MAIL.LOGOFF\",468:\"CLEAR.ROUTING.SLIP\",469:\"APP.ACTIVATE.MICROSOFT\",470:\"MAIL.EDIT.MAILER\",471:\"ON.SHEET\",472:\"STANDARD.WIDTH\",473:\"SCENARIO.MERGE\",474:\"SUMMARY.INFO\",475:\"FIND.FILE\",476:\"ACTIVE.CELL.FONT\",477:\"ENABLE.TIPWIZARD\",478:\"VBA.MAKE.ADDIN\",480:\"INSERTDATATABLE\",481:\"WORKGROUP.OPTIONS\",482:\"MAIL.SEND.MAILER\",485:\"AUTOCORRECT\",489:\"POST.DOCUMENT\",491:\"PICKLIST\",493:\"VIEW.SHOW\",494:\"VIEW.DEFINE\",495:\"VIEW.DELETE\",509:\"SHEET.BACKGROUND\",510:\"INSERT.MAP.OBJECT\",511:\"OPTIONS.MENONO\",517:\"MSOCHECKS\",518:\"NORMAL\",519:\"LAYOUT\",520:\"RM.PRINT.AREA\",521:\"CLEAR.PRINT.AREA\",522:\"ADD.PRINT.AREA\",523:\"MOVE.BRK\",545:\"HIDECURR.NOTE\",546:\"HIDEALL.NOTES\",547:\"DELETE.NOTE\",548:\"TRAVERSE.NOTES\",549:\"ACTIVATE.NOTES\",620:\"PROTECT.REVISIONS\",621:\"UNPROTECT.REVISIONS\",647:\"OPTIONS.ME\",653:\"WEB.PUBLISH\",667:\"NEWWEBQUERY\",673:\"PIVOT.TABLE.CHART\",753:\"OPTIONS.SAVE\",755:\"OPTIONS.SPELL\",808:\"HIDEALL.INKANNOTS\"},um={0:\"COUNT\",1:\"IF\",2:\"ISNA\",3:\"ISERROR\",4:\"SUM\",5:\"AVERAGE\",6:\"MIN\",7:\"MAX\",8:\"ROW\",9:\"COLUMN\",10:\"NA\",11:\"NPV\",12:\"STDEV\",13:\"DOLLAR\",14:\"FIXED\",15:\"SIN\",16:\"COS\",17:\"TAN\",18:\"ATAN\",19:\"PI\",20:\"SQRT\",21:\"EXP\",22:\"LN\",23:\"LOG10\",24:\"ABS\",25:\"INT\",26:\"SIGN\",27:\"ROUND\",28:\"LOOKUP\",29:\"INDEX\",30:\"REPT\",31:\"MID\",32:\"LEN\",33:\"VALUE\",34:\"TRUE\",35:\"FALSE\",36:\"AND\",37:\"OR\",38:\"NOT\",39:\"MOD\",40:\"DCOUNT\",41:\"DSUM\",42:\"DAVERAGE\",43:\"DMIN\",44:\"DMAX\",45:\"DSTDEV\",46:\"VAR\",47:\"DVAR\",48:\"TEXT\",49:\"LINEST\",50:\"TREND\",51:\"LOGEST\",52:\"GROWTH\",53:\"GOTO\",54:\"HALT\",55:\"RETURN\",56:\"PV\",57:\"FV\",58:\"NPER\",59:\"PMT\",60:\"RATE\",61:\"MIRR\",62:\"IRR\",63:\"RAND\",64:\"MATCH\",65:\"DATE\",66:\"TIME\",67:\"DAY\",68:\"MONTH\",69:\"YEAR\",70:\"WEEKDAY\",71:\"HOUR\",72:\"MINUTE\",73:\"SECOND\",74:\"NOW\",75:\"AREAS\",76:\"ROWS\",77:\"COLUMNS\",78:\"OFFSET\",79:\"ABSREF\",80:\"RELREF\",81:\"ARGUMENT\",82:\"SEARCH\",83:\"TRANSPOSE\",84:\"ERROR\",85:\"STEP\",86:\"TYPE\",87:\"ECHO\",88:\"SET.NAME\",89:\"CALLER\",90:\"DEREF\",91:\"WINDOWS\",92:\"SERIES\",93:\"DOCUMENTS\",94:\"ACTIVE.CELL\",95:\"SELECTION\",96:\"RESULT\",97:\"ATAN2\",98:\"ASIN\",99:\"ACOS\",100:\"CHOOSE\",101:\"HLOOKUP\",102:\"VLOOKUP\",103:\"LINKS\",104:\"INPUT\",105:\"ISREF\",106:\"GET.FORMULA\",107:\"GET.NAME\",108:\"SET.VALUE\",109:\"LOG\",110:\"EXEC\",111:\"CHAR\",112:\"LOWER\",113:\"UPPER\",114:\"PROPER\",115:\"LEFT\",116:\"RIGHT\",117:\"EXACT\",118:\"TRIM\",119:\"REPLACE\",120:\"SUBSTITUTE\",121:\"CODE\",122:\"NAMES\",123:\"DIRECTORY\",124:\"FIND\",125:\"CELL\",126:\"ISERR\",127:\"ISTEXT\",128:\"ISNUMBER\",129:\"ISBLANK\",130:\"T\",131:\"N\",132:\"FOPEN\",133:\"FCLOSE\",134:\"FSIZE\",135:\"FREADLN\",136:\"FREAD\",137:\"FWRITELN\",138:\"FWRITE\",139:\"FPOS\",140:\"DATEVALUE\",141:\"TIMEVALUE\",142:\"SLN\",143:\"SYD\",144:\"DDB\",145:\"GET.DEF\",146:\"REFTEXT\",147:\"TEXTREF\",148:\"INDIRECT\",149:\"REGISTER\",150:\"CALL\",151:\"ADD.BAR\",152:\"ADD.MENU\",153:\"ADD.COMMAND\",154:\"ENABLE.COMMAND\",155:\"CHECK.COMMAND\",156:\"RENAME.COMMAND\",157:\"SHOW.BAR\",158:\"DELETE.MENU\",159:\"DELETE.COMMAND\",160:\"GET.CHART.ITEM\",161:\"DIALOG.BOX\",162:\"CLEAN\",163:\"MDETERM\",164:\"MINVERSE\",165:\"MMULT\",166:\"FILES\",167:\"IPMT\",168:\"PPMT\",169:\"COUNTA\",170:\"CANCEL.KEY\",171:\"FOR\",172:\"WHILE\",173:\"BREAK\",174:\"NEXT\",175:\"INITIATE\",176:\"REQUEST\",177:\"POKE\",178:\"EXECUTE\",179:\"TERMINATE\",180:\"RESTART\",181:\"HELP\",182:\"GET.BAR\",183:\"PRODUCT\",184:\"FACT\",185:\"GET.CELL\",186:\"GET.WORKSPACE\",187:\"GET.WINDOW\",188:\"GET.DOCUMENT\",189:\"DPRODUCT\",190:\"ISNONTEXT\",191:\"GET.NOTE\",192:\"NOTE\",193:\"STDEVP\",194:\"VARP\",195:\"DSTDEVP\",196:\"DVARP\",197:\"TRUNC\",198:\"ISLOGICAL\",199:\"DCOUNTA\",200:\"DELETE.BAR\",201:\"UNREGISTER\",204:\"USDOLLAR\",205:\"FINDB\",206:\"SEARCHB\",207:\"REPLACEB\",208:\"LEFTB\",209:\"RIGHTB\",210:\"MIDB\",211:\"LENB\",212:\"ROUNDUP\",213:\"ROUNDDOWN\",214:\"ASC\",215:\"DBCS\",216:\"RANK\",219:\"ADDRESS\",220:\"DAYS360\",221:\"TODAY\",222:\"VDB\",223:\"ELSE\",224:\"ELSE.IF\",225:\"END.IF\",226:\"FOR.CELL\",227:\"MEDIAN\",228:\"SUMPRODUCT\",229:\"SINH\",230:\"COSH\",231:\"TANH\",232:\"ASINH\",233:\"ACOSH\",234:\"ATANH\",235:\"DGET\",236:\"CREATE.OBJECT\",237:\"VOLATILE\",238:\"LAST.ERROR\",239:\"CUSTOM.UNDO\",240:\"CUSTOM.REPEAT\",241:\"FORMULA.CONVERT\",242:\"GET.LINK.INFO\",243:\"TEXT.BOX\",244:\"INFO\",245:\"GROUP\",246:\"GET.OBJECT\",247:\"DB\",248:\"PAUSE\",251:\"RESUME\",252:\"FREQUENCY\",253:\"ADD.TOOLBAR\",254:\"DELETE.TOOLBAR\",255:\"User\",256:\"RESET.TOOLBAR\",257:\"EVALUATE\",258:\"GET.TOOLBAR\",259:\"GET.TOOL\",260:\"SPELLING.CHECK\",261:\"ERROR.TYPE\",262:\"APP.TITLE\",263:\"WINDOW.TITLE\",264:\"SAVE.TOOLBAR\",265:\"ENABLE.TOOL\",266:\"PRESS.TOOL\",267:\"REGISTER.ID\",268:\"GET.WORKBOOK\",269:\"AVEDEV\",270:\"BETADIST\",271:\"GAMMALN\",272:\"BETAINV\",273:\"BINOMDIST\",274:\"CHIDIST\",275:\"CHIINV\",276:\"COMBIN\",277:\"CONFIDENCE\",278:\"CRITBINOM\",279:\"EVEN\",280:\"EXPONDIST\",281:\"FDIST\",282:\"FINV\",283:\"FISHER\",284:\"FISHERINV\",285:\"FLOOR\",286:\"GAMMADIST\",287:\"GAMMAINV\",288:\"CEILING\",289:\"HYPGEOMDIST\",290:\"LOGNORMDIST\",291:\"LOGINV\",292:\"NEGBINOMDIST\",293:\"NORMDIST\",294:\"NORMSDIST\",295:\"NORMINV\",296:\"NORMSINV\",297:\"STANDARDIZE\",298:\"ODD\",299:\"PERMUT\",300:\"POISSON\",301:\"TDIST\",302:\"WEIBULL\",303:\"SUMXMY2\",304:\"SUMX2MY2\",305:\"SUMX2PY2\",306:\"CHITEST\",307:\"CORREL\",308:\"COVAR\",309:\"FORECAST\",310:\"FTEST\",311:\"INTERCEPT\",312:\"PEARSON\",313:\"RSQ\",314:\"STEYX\",315:\"SLOPE\",316:\"TTEST\",317:\"PROB\",318:\"DEVSQ\",319:\"GEOMEAN\",320:\"HARMEAN\",321:\"SUMSQ\",322:\"KURT\",323:\"SKEW\",324:\"ZTEST\",325:\"LARGE\",326:\"SMALL\",327:\"QUARTILE\",328:\"PERCENTILE\",329:\"PERCENTRANK\",330:\"MODE\",331:\"TRIMMEAN\",332:\"TINV\",334:\"MOVIE.COMMAND\",335:\"GET.MOVIE\",336:\"CONCATENATE\",337:\"POWER\",338:\"PIVOT.ADD.DATA\",339:\"GET.PIVOT.TABLE\",340:\"GET.PIVOT.FIELD\",341:\"GET.PIVOT.ITEM\",342:\"RADIANS\",343:\"DEGREES\",344:\"SUBTOTAL\",345:\"SUMIF\",346:\"COUNTIF\",347:\"COUNTBLANK\",348:\"SCENARIO.GET\",349:\"OPTIONS.LISTS.GET\",350:\"ISPMT\",351:\"DATEDIF\",352:\"DATESTRING\",353:\"NUMBERSTRING\",354:\"ROMAN\",355:\"OPEN.DIALOG\",356:\"SAVE.DIALOG\",357:\"VIEW.GET\",358:\"GETPIVOTDATA\",359:\"HYPERLINK\",360:\"PHONETIC\",361:\"AVERAGEA\",362:\"MAXA\",363:\"MINA\",364:\"STDEVPA\",365:\"VARPA\",366:\"STDEVA\",367:\"VARA\",368:\"BAHTTEXT\",369:\"THAIDAYOFWEEK\",370:\"THAIDIGIT\",371:\"THAIMONTHOFYEAR\",372:\"THAINUMSOUND\",373:\"THAINUMSTRING\",374:\"THAISTRINGLENGTH\",375:\"ISTHAIDIGIT\",376:\"ROUNDBAHTDOWN\",377:\"ROUNDBAHTUP\",378:\"THAIYEAR\",379:\"RTD\",380:\"CUBEVALUE\",381:\"CUBEMEMBER\",382:\"CUBEMEMBERPROPERTY\",383:\"CUBERANKEDMEMBER\",384:\"HEX2BIN\",385:\"HEX2DEC\",386:\"HEX2OCT\",387:\"DEC2BIN\",388:\"DEC2HEX\",389:\"DEC2OCT\",390:\"OCT2BIN\",391:\"OCT2HEX\",392:\"OCT2DEC\",393:\"BIN2DEC\",394:\"BIN2OCT\",395:\"BIN2HEX\",396:\"IMSUB\",397:\"IMDIV\",398:\"IMPOWER\",399:\"IMABS\",400:\"IMSQRT\",401:\"IMLN\",402:\"IMLOG2\",403:\"IMLOG10\",404:\"IMSIN\",405:\"IMCOS\",406:\"IMEXP\",407:\"IMARGUMENT\",408:\"IMCONJUGATE\",409:\"IMAGINARY\",410:\"IMREAL\",411:\"COMPLEX\",412:\"IMSUM\",413:\"IMPRODUCT\",414:\"SERIESSUM\",415:\"FACTDOUBLE\",416:\"SQRTPI\",417:\"QUOTIENT\",418:\"DELTA\",419:\"GESTEP\",420:\"ISEVEN\",421:\"ISODD\",422:\"MROUND\",423:\"ERF\",424:\"ERFC\",425:\"BESSELJ\",426:\"BESSELK\",427:\"BESSELY\",428:\"BESSELI\",429:\"XIRR\",430:\"XNPV\",431:\"PRICEMAT\",432:\"YIELDMAT\",433:\"INTRATE\",434:\"RECEIVED\",435:\"DISC\",436:\"PRICEDISC\",437:\"YIELDDISC\",438:\"TBILLEQ\",439:\"TBILLPRICE\",440:\"TBILLYIELD\",441:\"PRICE\",442:\"YIELD\",443:\"DOLLARDE\",444:\"DOLLARFR\",445:\"NOMINAL\",446:\"EFFECT\",447:\"CUMPRINC\",448:\"CUMIPMT\",449:\"EDATE\",450:\"EOMONTH\",451:\"YEARFRAC\",452:\"COUPDAYBS\",453:\"COUPDAYS\",454:\"COUPDAYSNC\",455:\"COUPNCD\",456:\"COUPNUM\",457:\"COUPPCD\",458:\"DURATION\",459:\"MDURATION\",460:\"ODDLPRICE\",461:\"ODDLYIELD\",462:\"ODDFPRICE\",463:\"ODDFYIELD\",464:\"RANDBETWEEN\",465:\"WEEKNUM\",466:\"AMORDEGRC\",467:\"AMORLINC\",468:\"CONVERT\",724:\"SHEETJS\",469:\"ACCRINT\",470:\"ACCRINTM\",471:\"WORKDAY\",472:\"NETWORKDAYS\",473:\"GCD\",474:\"MULTINOMIAL\",475:\"LCM\",476:\"FVSCHEDULE\",477:\"CUBEKPIMEMBER\",478:\"CUBESET\",479:\"CUBESETCOUNT\",480:\"IFERROR\",481:\"COUNTIFS\",482:\"SUMIFS\",483:\"AVERAGEIF\",484:\"AVERAGEIFS\"},dm={2:1,3:1,15:1,16:1,17:1,18:1,19:0,20:1,21:1,22:1,23:1,24:1,25:1,26:1,27:2,30:2,31:3,32:1,33:1,38:1,39:2,40:3,41:3,42:3,43:3,44:3,45:3,47:3,48:2,53:1,61:3,65:3,66:3,67:1,68:1,69:1,70:1,71:1,72:1,73:1,75:1,76:1,77:1,79:2,80:2,83:1,85:0,86:1,90:1,97:2,98:1,99:1,101:3,102:3,105:1,111:1,112:1,113:1,114:1,117:2,118:1,119:4,121:1,126:1,127:1,128:1,129:1,130:1,131:1,133:1,134:1,135:1,136:2,137:2,138:2,140:1,141:1,142:3,143:4,144:4,162:1,163:1,164:1,165:2,172:1,175:2,176:2,177:3,178:2,179:1,184:1,189:3,190:1,195:3,196:3,197:1,198:1,199:3,201:1,207:4,210:3,211:1,212:2,213:2,214:1,215:1,229:1,230:1,231:1,232:1,233:1,234:1,235:3,244:1,247:4,252:2,257:1,261:1,271:1,273:4,274:2,275:2,276:2,277:3,278:3,279:1,280:3,281:3,282:3,283:1,284:1,285:2,286:4,287:3,288:2,289:4,290:3,291:3,292:3,293:4,294:1,295:3,296:1,297:3,298:1,299:2,300:3,301:3,302:4,303:2,304:2,305:2,306:2,307:2,308:2,309:3,310:2,311:2,312:2,313:2,314:2,315:2,316:4,325:2,326:2,327:2,328:2,331:2,332:2,337:2,342:1,343:1,346:2,347:1,350:4,351:3,352:1,353:2,360:1,368:1,369:1,370:1,371:1,372:1,373:1,374:1,375:1,376:1,377:1,378:1,382:3,385:1,392:1,393:1,396:2,397:2,398:2,399:1,400:1,401:1,402:1,403:1,404:1,405:1,406:1,407:1,408:1,409:1,410:1,414:4,415:1,416:1,417:2,420:1,421:1,422:2,424:1,425:2,426:2,427:2,428:2,430:3,438:3,439:3,440:3,443:2,444:2,445:2,446:2,447:6,448:6,449:2,450:2,464:2,468:3,476:2,479:1,480:2,65535:0},pm={\"_xlfn.ACOT\":\"ACOT\",\"_xlfn.ACOTH\":\"ACOTH\",\"_xlfn.AGGREGATE\":\"AGGREGATE\",\"_xlfn.ARABIC\":\"ARABIC\",\"_xlfn.AVERAGEIF\":\"AVERAGEIF\",\"_xlfn.AVERAGEIFS\":\"AVERAGEIFS\",\"_xlfn.BASE\":\"BASE\",\"_xlfn.BETA.DIST\":\"BETA.DIST\",\"_xlfn.BETA.INV\":\"BETA.INV\",\"_xlfn.BINOM.DIST\":\"BINOM.DIST\",\"_xlfn.BINOM.DIST.RANGE\":\"BINOM.DIST.RANGE\",\"_xlfn.BINOM.INV\":\"BINOM.INV\",\"_xlfn.BITAND\":\"BITAND\",\"_xlfn.BITLSHIFT\":\"BITLSHIFT\",\"_xlfn.BITOR\":\"BITOR\",\"_xlfn.BITRSHIFT\":\"BITRSHIFT\",\"_xlfn.BITXOR\":\"BITXOR\",\"_xlfn.CEILING.MATH\":\"CEILING.MATH\",\"_xlfn.CEILING.PRECISE\":\"CEILING.PRECISE\",\"_xlfn.CHISQ.DIST\":\"CHISQ.DIST\",\"_xlfn.CHISQ.DIST.RT\":\"CHISQ.DIST.RT\",\"_xlfn.CHISQ.INV\":\"CHISQ.INV\",\"_xlfn.CHISQ.INV.RT\":\"CHISQ.INV.RT\",\"_xlfn.CHISQ.TEST\":\"CHISQ.TEST\",\"_xlfn.COMBINA\":\"COMBINA\",\"_xlfn.CONFIDENCE.NORM\":\"CONFIDENCE.NORM\",\"_xlfn.CONFIDENCE.T\":\"CONFIDENCE.T\",\"_xlfn.COT\":\"COT\",\"_xlfn.COTH\":\"COTH\",\"_xlfn.COUNTIFS\":\"COUNTIFS\",\"_xlfn.COVARIANCE.P\":\"COVARIANCE.P\",\"_xlfn.COVARIANCE.S\":\"COVARIANCE.S\",\"_xlfn.CSC\":\"CSC\",\"_xlfn.CSCH\":\"CSCH\",\"_xlfn.DAYS\":\"DAYS\",\"_xlfn.DECIMAL\":\"DECIMAL\",\"_xlfn.ECMA.CEILING\":\"ECMA.CEILING\",\"_xlfn.ERF.PRECISE\":\"ERF.PRECISE\",\"_xlfn.ERFC.PRECISE\":\"ERFC.PRECISE\",\"_xlfn.EXPON.DIST\":\"EXPON.DIST\",\"_xlfn.F.DIST\":\"F.DIST\",\"_xlfn.F.DIST.RT\":\"F.DIST.RT\",\"_xlfn.F.INV\":\"F.INV\",\"_xlfn.F.INV.RT\":\"F.INV.RT\",\"_xlfn.F.TEST\":\"F.TEST\",\"_xlfn.FILTERXML\":\"FILTERXML\",\"_xlfn.FLOOR.MATH\":\"FLOOR.MATH\",\"_xlfn.FLOOR.PRECISE\":\"FLOOR.PRECISE\",\"_xlfn.FORMULATEXT\":\"FORMULATEXT\",\"_xlfn.GAMMA\":\"GAMMA\",\"_xlfn.GAMMA.DIST\":\"GAMMA.DIST\",\"_xlfn.GAMMA.INV\":\"GAMMA.INV\",\"_xlfn.GAMMALN.PRECISE\":\"GAMMALN.PRECISE\",\"_xlfn.GAUSS\":\"GAUSS\",\"_xlfn.HYPGEOM.DIST\":\"HYPGEOM.DIST\",\"_xlfn.IFNA\":\"IFNA\",\"_xlfn.IFERROR\":\"IFERROR\",\"_xlfn.IMCOSH\":\"IMCOSH\",\"_xlfn.IMCOT\":\"IMCOT\",\"_xlfn.IMCSC\":\"IMCSC\",\"_xlfn.IMCSCH\":\"IMCSCH\",\"_xlfn.IMSEC\":\"IMSEC\",\"_xlfn.IMSECH\":\"IMSECH\",\"_xlfn.IMSINH\":\"IMSINH\",\"_xlfn.IMTAN\":\"IMTAN\",\"_xlfn.ISFORMULA\":\"ISFORMULA\",\"_xlfn.ISO.CEILING\":\"ISO.CEILING\",\"_xlfn.ISOWEEKNUM\":\"ISOWEEKNUM\",\"_xlfn.LOGNORM.DIST\":\"LOGNORM.DIST\",\"_xlfn.LOGNORM.INV\":\"LOGNORM.INV\",\"_xlfn.MODE.MULT\":\"MODE.MULT\",\"_xlfn.MODE.SNGL\":\"MODE.SNGL\",\"_xlfn.MUNIT\":\"MUNIT\",\"_xlfn.NEGBINOM.DIST\":\"NEGBINOM.DIST\",\"_xlfn.NETWORKDAYS.INTL\":\"NETWORKDAYS.INTL\",\"_xlfn.NIGBINOM\":\"NIGBINOM\",\"_xlfn.NORM.DIST\":\"NORM.DIST\",\"_xlfn.NORM.INV\":\"NORM.INV\",\"_xlfn.NORM.S.DIST\":\"NORM.S.DIST\",\"_xlfn.NORM.S.INV\":\"NORM.S.INV\",\"_xlfn.NUMBERVALUE\":\"NUMBERVALUE\",\"_xlfn.PDURATION\":\"PDURATION\",\"_xlfn.PERCENTILE.EXC\":\"PERCENTILE.EXC\",\"_xlfn.PERCENTILE.INC\":\"PERCENTILE.INC\",\"_xlfn.PERCENTRANK.EXC\":\"PERCENTRANK.EXC\",\"_xlfn.PERCENTRANK.INC\":\"PERCENTRANK.INC\",\"_xlfn.PERMUTATIONA\":\"PERMUTATIONA\",\"_xlfn.PHI\":\"PHI\",\"_xlfn.POISSON.DIST\":\"POISSON.DIST\",\"_xlfn.QUARTILE.EXC\":\"QUARTILE.EXC\",\"_xlfn.QUARTILE.INC\":\"QUARTILE.INC\",\"_xlfn.QUERYSTRING\":\"QUERYSTRING\",\"_xlfn.RANK.AVG\":\"RANK.AVG\",\"_xlfn.RANK.EQ\":\"RANK.EQ\",\"_xlfn.RRI\":\"RRI\",\"_xlfn.SEC\":\"SEC\",\"_xlfn.SECH\":\"SECH\",\"_xlfn.SHEET\":\"SHEET\",\"_xlfn.SHEETS\":\"SHEETS\",\"_xlfn.SKEW.P\":\"SKEW.P\",\"_xlfn.STDEV.P\":\"STDEV.P\",\"_xlfn.STDEV.S\":\"STDEV.S\",\"_xlfn.SUMIFS\":\"SUMIFS\",\"_xlfn.T.DIST\":\"T.DIST\",\"_xlfn.T.DIST.2T\":\"T.DIST.2T\",\"_xlfn.T.DIST.RT\":\"T.DIST.RT\",\"_xlfn.T.INV\":\"T.INV\",\"_xlfn.T.INV.2T\":\"T.INV.2T\",\"_xlfn.T.TEST\":\"T.TEST\",\"_xlfn.UNICHAR\":\"UNICHAR\",\"_xlfn.UNICODE\":\"UNICODE\",\"_xlfn.VAR.P\":\"VAR.P\",\"_xlfn.VAR.S\":\"VAR.S\",\"_xlfn.WEBSERVICE\":\"WEBSERVICE\",\"_xlfn.WEIBULL.DIST\":\"WEIBULL.DIST\",\"_xlfn.WORKDAY.INTL\":\"WORKDAY.INTL\",\"_xlfn.XOR\":\"XOR\",\"_xlfn.Z.TEST\":\"Z.TEST\"},gm={},mm={};lc.WS=[\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet\",\"http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet\"];var bm=/<(?:\\w:)?mergeCell ref=\"[A-Z0-9:]+\"\\s*[\\/]?>/g,vm=/<(?:\\w+:)?sheetData>([\\s\\S]*)<\\/(?:\\w+:)?sheetData>/,Em=/<(?:\\w:)?hyperlink [^>]*>/gm,Cm=/\"(\\w*:\\w*)\"/,wm=/<(?:\\w:)?col[^>]*[\\/]?>/g,Sm=/<(?:\\w:)?autoFilter[^>]*([\\/]|>([\\s\\S]*)<\\/(?:\\w:)?autoFilter)>/g,Am=/<(?:\\w:)?pageMargins[^>]*\\/>/g,Bm=function(){var e=/<(?:\\w+:)?c[ >]/,t=/<\\/(?:\\w+:)?row>/,r=/r=[\"']([^\"']*)[\"']/,n=/<(?:\\w+:)?is>([\\S\\s]*?)<\\/(?:\\w+:)?is>/,a=/ref=[\"']([^\"']*)[\"']/,i=tl(\"v\"),s=tl(\"f\");return function(o,l,c,f,h,u){for(var d,p,b,E,C,w=0,S=\"\",A=[],B=[],_=0,T=0,y=0,k=\"\",x=0,R=0,I=0,D=0,P=Array.isArray(u.CellXf),F=[],M=[],U=Array.isArray(l),W=[],z={},H=!1,V=o.split(t),X=0,G=V.length;X!=G;++X){var j=(S=V[X].trim()).length;if(0!==j){for(w=0;w<j&&62!==S.charCodeAt(w);++w);if(++w,p=O(S.substr(0,w),!0),x=null!=p.r?parseInt(p.r,10):x+1,R=-1,!(c.sheetRows&&c.sheetRows<x))for(f.s.r>x-1&&(f.s.r=x-1),f.e.r<x-1&&(f.e.r=x-1),c&&c.cellStyles&&(z={},H=!1,p.ht&&(H=!0,z.hpt=parseFloat(p.ht),z.hpx=Kr(z.hpt)),\"1\"==p.hidden&&(H=!0,z.hidden=!0),H&&(W[x-1]=z)),A=S.substr(w).split(e),w=0;w!=A.length;++w)if(0!==(S=A[w].trim()).length){if(B=S.match(r),_=w,T=0,y=0,S=\"<c \"+(\"<\"==S.substr(0,1)?\">\":\"\")+S,null!=B&&2===B.length){for(_=0,k=B[1],T=0;T!=k.length&&!((y=k.charCodeAt(T)-64)<1||y>26);++T)_=26*_+y;R=--_}else++R;for(T=0;T!=S.length&&62!==S.charCodeAt(T);++T);if(++T,(p=O(S.substr(0,T),!0)).r||(p.r=ge({r:x-1,c:R})),k=S.substr(T),d={t:\"\"},null!=(B=k.match(i))&&\"\"!==B[1]&&(d.v=Go(B[1])),c.cellFormula){null!=(B=k.match(s))&&\"\"!==B[1]?(d.f=Go(Qo(B[1])).replace(/_xlfn\\./,\"\"),B[0].indexOf('t=\"array\"')>-1?(d.F=(k.match(a)||[])[1],d.F.indexOf(\":\")>-1&&F.push([ve(d.F),d.F])):B[0].indexOf('t=\"shared\"')>-1&&(E=O(B[0]),M[parseInt(E.si,10)]=[E,Go(Qo(B[1]))])):(B=k.match(/<f[^>]*\\/>/))&&M[(E=O(B[0])).si]&&(d.f=ea(M[E.si][1],M[E.si][0].ref,p.r));var Y=pe(p.r);for(T=0;T<F.length;++T)Y.r>=F[T][0].s.r&&Y.r<=F[T][0].e.r&&Y.c>=F[T][0].s.c&&Y.c<=F[T][0].e.c&&(d.F=F[T][1])}if(null==p.t&&void 0===d.v)if(d.f||d.F)d.v=0,d.t=\"n\";else{if(!c.sheetStubs)continue;d.t=\"z\"}else d.t=p.t||\"n\";switch(f.s.c>_&&(f.s.c=_),f.e.c<_&&(f.e.c=_),d.t){case\"n\":d.v=parseFloat(d.v);break;case\"s\":if(b=gm[parseInt(d.v,10)],void 0===d.v){if(!c.sheetStubs)continue;d.t=\"z\"}d.v=b.t,d.r=b.r,c.cellHTML&&(d.h=b.h);break;case\"str\":d.t=\"s\",d.v=null!=d.v?Qo(d.v):\"\",c.cellHTML&&(d.h=N(d.v));break;case\"inlineStr\":B=k.match(n),d.t=\"s\",null!=B&&(b=lr(B[1]))?d.v=b.t:d.v=\"\";break;case\"b\":d.v=L(d.v);break;case\"d\":c.cellDates?d.v=v(d.v,1):(d.v=g(v(d.v,1)),d.t=\"n\");break;case\"e\":c&&!1===c.cellText||(d.w=d.v),d.v=Gl[d.v]}if(I=D=0,P&&void 0!==p.s&&null!=(C=u.CellXf[p.s])&&(null!=C.numFmtId&&(I=C.numFmtId),c.cellStyles&&null!=C.fillId&&(D=C.fillId)),Pa(d,I,D,c,h,u),c.cellDates&&P&&\"n\"==d.t&&ko.is_date(ko._table[I])&&(d.t=\"d\",d.v=m(d.v)),U){var K=pe(p.r);l[K.r]||(l[K.r]=[]),l[K.r][K.c]=d}else l[p.r]=d}}}W.length>0&&(l[\"!rows\"]=W)}}(),_m=z(\"worksheet\",null,{xmlns:ol.main[0],\"xmlns:r\":ol.r}),Tm=Hl,ym=Vl,km=Hl,xm=Vl;lc.CS=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet\";z(\"chartsheet\",null,{xmlns:ol.main[0],\"xmlns:r\":ol.r});var Rm=[[\"allowRefreshQuery\",!1,\"bool\"],[\"autoCompressPictures\",!0,\"bool\"],[\"backupFile\",!1,\"bool\"],[\"checkCompatibility\",!1,\"bool\"],[\"codeName\",\"\"],[\"date1904\",!1,\"bool\"],[\"defaultThemeVersion\",0,\"int\"],[\"filterPrivacy\",!1,\"bool\"],[\"hidePivotFieldList\",!1,\"bool\"],[\"promptedSolutions\",!1,\"bool\"],[\"publishItems\",!1,\"bool\"],[\"refreshAllConnections\",!1,\"bool\"],[\"saveExternalLinkValues\",!0,\"bool\"],[\"showBorderUnselectedTables\",!0,\"bool\"],[\"showInkAnnotation\",!0,\"bool\"],[\"showObjects\",\"all\"],[\"showPivotChartFilter\",!1,\"bool\"],[\"updateLinks\",\"userSet\"]],Im=[[\"activeTab\",0,\"int\"],[\"autoFilterDateGrouping\",!0,\"bool\"],[\"firstSheet\",0,\"int\"],[\"minimized\",!1,\"bool\"],[\"showHorizontalScroll\",!0,\"bool\"],[\"showSheetTabs\",!0,\"bool\"],[\"showVerticalScroll\",!0,\"bool\"],[\"tabRatio\",600,\"int\"],[\"visibility\",\"visible\"]],Om=[],Dm=[[\"calcCompleted\",\"true\"],[\"calcMode\",\"auto\"],[\"calcOnSave\",\"true\"],[\"concurrentCalc\",\"true\"],[\"fullCalcOnLoad\",\"false\"],[\"fullPrecision\",\"true\"],[\"iterate\",\"false\"],[\"iterateCount\",\"100\"],[\"iterateDelta\",\"0.001\"],[\"refMode\",\"A1\"]],Pm=\"][*?/\\\\\".split(\"\"),Fm=/<\\w+:workbook/,Nm=z(\"workbook\",null,{xmlns:ol.main[0],\"xmlns:r\":ol.r}),Lm=/([\\w:]+)=((?:\")([^\"]*)(?:\")|(?:')([^']*)(?:'))/g,Mm=/([\\w:]+)=((?:\")(?:[^\"]*)(?:\")|(?:')(?:[^']*)(?:'))/,Um=function(e){return String.fromCharCode(e)},Wm=/<(\\/?)([^\\s?>!\\/:]*:|)([^\\s?>]*[^\\s?>\\/])[^>]*>/gm,zm={0:{n:\"BrtRowHdr\",f:function(e,t){var r={},n=e.l+t;r.r=e.read_shift(4),e.l+=4;var a=e.read_shift(2);e.l+=1;var i=e.read_shift(1);return e.l=n,16&i&&(r.hidden=!0),32&i&&(r.hpt=a/20),r}},1:{n:\"BrtCellBlank\",f:function(e,t){return[Re(e)]}},2:{n:\"BrtCellRk\",f:function(e,t){return[Re(e),Pe(e),\"n\"]}},3:{n:\"BrtCellError\",f:function(e,t){return[Re(e),e.read_shift(1),\"e\"]}},4:{n:\"BrtCellBool\",f:function(e,t){return[Re(e),e.read_shift(1),\"b\"]}},5:{n:\"BrtCellReal\",f:function(e,t){return[Re(e),Le(e),\"n\"]}},6:{n:\"BrtCellSt\",f:function(e,t){return[Re(e),Be(e),\"str\"]}},7:{n:\"BrtCellIsst\",f:function(e,t){return[Re(e),e.read_shift(4),\"s\"]}},8:{n:\"BrtFmlaString\",f:function(e,t,r){var n=e.l+t,a=Re(e);a.r=r[\"!row\"];var i=[a,Be(e),\"str\"];if(r.cellFormula){e.l+=2;var s=lm(e,n-e.l,r);i[3]=_a(s,null,a,r.supbooks,r)}else e.l=n;return i}},9:{n:\"BrtFmlaNum\",f:function(e,t,r){var n=e.l+t,a=Re(e);a.r=r[\"!row\"];var i=[a,Le(e),\"n\"];if(r.cellFormula){e.l+=2;var s=lm(e,n-e.l,r);i[3]=_a(s,null,a,r.supbooks,r)}else e.l=n;return i}},10:{n:\"BrtFmlaBool\",f:function(e,t,r){var n=e.l+t,a=Re(e);a.r=r[\"!row\"];var i=[a,e.read_shift(1),\"b\"];if(r.cellFormula){e.l+=2;var s=lm(e,n-e.l,r);i[3]=_a(s,null,a,r.supbooks,r)}else e.l=n;return i}},11:{n:\"BrtFmlaError\",f:function(e,t,r){var n=e.l+t,a=Re(e);a.r=r[\"!row\"];var i=[a,e.read_shift(1),\"e\"];if(r.cellFormula){e.l+=2;var s=lm(e,n-e.l,r);i[3]=_a(s,null,a,r.supbooks,r)}else e.l=n;return i}},16:{n:\"BrtFRTArchID$\",f:function(e,t){var r={};return e.read_shift(4),r.ArchID=e.read_shift(4),e.l+=t-8,r}},19:{n:\"BrtSSTItem\",f:ke},20:{n:\"BrtPCDIMissing\",f:Z},21:{n:\"BrtPCDINumber\",f:Z},22:{n:\"BrtPCDIBoolean\",f:Z},23:{n:\"BrtPCDIError\",f:Z},24:{n:\"BrtPCDIString\",f:Z},25:{n:\"BrtPCDIDatetime\",f:Z},26:{n:\"BrtPCDIIndex\",f:Z},27:{n:\"BrtPCDIAMissing\",f:Z},28:{n:\"BrtPCDIANumber\",f:Z},29:{n:\"BrtPCDIABoolean\",f:Z},30:{n:\"BrtPCDIAError\",f:Z},31:{n:\"BrtPCDIAString\",f:Z},32:{n:\"BrtPCDIADatetime\",f:Z},33:{n:\"BrtPCRRecord\",f:Z},34:{n:\"BrtPCRRecordDt\",f:Z},35:{n:\"BrtFRTBegin\",f:Z},36:{n:\"BrtFRTEnd\",f:Z},37:{n:\"BrtACBegin\",f:Z},38:{n:\"BrtACEnd\",f:Z},39:{n:\"BrtName\",f:function(e,t,r){var n=e.l+t,a=(e.read_shift(4),e.read_shift(1),e.read_shift(4)),i=Ul(e),s=cm(e,0,r),o=Oe(e);e.l=n;var l={Name:i,Ptg:s,Comment:o};return a<268435455&&(l.Sheet=a),l}},40:{n:\"BrtIndexRowBlock\",f:Z},42:{n:\"BrtIndexBlock\",f:Z},43:{n:\"BrtFont\",f:function(e,t,r){var n={};n.sz=e.read_shift(2)/20;var a=ze(e,2,r);switch(a.fCondense&&(n.condense=1),a.fExtend&&(n.extend=1),a.fShadow&&(n.shadow=1),a.fOutline&&(n.outline=1),a.fStrikeout&&(n.strike=1),a.fItalic&&(n.italic=1),700===e.read_shift(2)&&(n.bold=1),e.read_shift(2)){case 1:n.vertAlign=\"superscript\";break;case 2:n.vertAlign=\"subscript\"}var i=e.read_shift(1);0!=i&&(n.underline=i);var s=e.read_shift(1);s>0&&(n.family=s);var o=e.read_shift(1);switch(o>0&&(n.charset=o),e.l++,n.color=Ue(e,8),e.read_shift(1)){case 1:n.scheme=\"major\";break;case 2:n.scheme=\"minor\"}return n.name=Be(e,t-21),n}},44:{n:\"BrtFmt\",f:function(e,t){return[e.read_shift(2),Be(e,t-2)]}},45:{n:\"BrtFill\",f:Z},46:{n:\"BrtBorder\",f:Z},47:{n:\"BrtXF\",f:function(e,t){var r=e.read_shift(2),n=e.read_shift(2);return Z(e,t-4),{ixfe:r,ifmt:n}}},48:{n:\"BrtStyle\",f:Z},49:{n:\"BrtCellMeta\",f:Z},50:{n:\"BrtValueMeta\",f:Z},51:{n:\"BrtMdb\",f:Z},52:{n:\"BrtBeginFmd\",f:Z},53:{n:\"BrtEndFmd\",f:Z},54:{n:\"BrtBeginMdx\",f:Z},55:{n:\"BrtEndMdx\",f:Z},56:{n:\"BrtBeginMdxTuple\",f:Z},57:{n:\"BrtEndMdxTuple\",f:Z},58:{n:\"BrtMdxMbrIstr\",f:Z},59:{n:\"BrtStr\",f:Z},60:{n:\"BrtColInfo\",f:sr},62:{n:\"BrtCellRString\",f:Z},63:{n:\"BrtCalcChainItem$\",f:function(e,t){var r={};r.i=e.read_shift(4);var n={};n.r=e.read_shift(4),n.c=e.read_shift(4),r.r=ge(n);var a=e.read_shift(1);return 2&a&&(r.l=\"1\"),8&a&&(r.a=\"1\"),r}},64:{n:\"BrtDVal\",f:Z},65:{n:\"BrtSxvcellNum\",f:Z},66:{n:\"BrtSxvcellStr\",f:Z},67:{n:\"BrtSxvcellBool\",f:Z},68:{n:\"BrtSxvcellErr\",f:Z},69:{n:\"BrtSxvcellDate\",f:Z},70:{n:\"BrtSxvcellNil\",f:Z},128:{n:\"BrtFileVersion\",f:Z},129:{n:\"BrtBeginSheet\",f:Z},130:{n:\"BrtEndSheet\",f:Z},131:{n:\"BrtBeginBook\",f:Z,p:0},132:{n:\"BrtEndBook\",f:Z},133:{n:\"BrtBeginWsViews\",f:Z},134:{n:\"BrtEndWsViews\",f:Z},135:{n:\"BrtBeginBookViews\",f:Z},136:{n:\"BrtEndBookViews\",f:Z},137:{n:\"BrtBeginWsView\",f:Z},138:{n:\"BrtEndWsView\",f:Z},139:{n:\"BrtBeginCsViews\",f:Z},140:{n:\"BrtEndCsViews\",f:Z},141:{n:\"BrtBeginCsView\",f:Z},142:{n:\"BrtEndCsView\",f:Z},143:{n:\"BrtBeginBundleShs\",f:Z},144:{n:\"BrtEndBundleShs\",f:Z},145:{n:\"BrtBeginSheetData\",f:Z},146:{n:\"BrtEndSheetData\",f:Z},147:{n:\"BrtWsProp\",f:function(e,t){var r={};return e.l+=19,r.name=Ll(e,t-19),r}},148:{n:\"BrtWsDim\",f:Tm,p:16},151:{n:\"BrtPane\",f:Z},152:{n:\"BrtSel\",f:Z},153:{n:\"BrtWbProp\",f:function(e,t){var r={},n=e.read_shift(4);r.defaultThemeVersion=e.read_shift(4);var a=t>8?Be(e):\"\";return a.length>0&&(r.codeName=a),r.autoCompressPictures=!!(65536&n),r.backupFile=!!(64&n),r.checkCompatibility=!!(4096&n),r.date1904=!!(1&n),r.filterPrivacy=!!(8&n),r.hidePivotFieldList=!!(1024&n),r.promptedSolutions=!!(16&n),r.publishItems=!!(2048&n),r.refreshAllConnections=!!(262144&n),r.saveExternalLinkValues=!!(128&n),r.showBorderUnselectedTables=!!(4&n),r.showInkAnnotation=!!(32&n),r.showObjects=[\"all\",\"placeholders\",\"none\"][n>>13&3],r.showPivotChartFilter=!!(32768&n),r.updateLinks=[\"userSet\",\"never\",\"always\"][n>>8&3],r}},154:{n:\"BrtWbFactoid\",f:Z},155:{n:\"BrtFileRecover\",f:Z},156:{n:\"BrtBundleSh\",f:function(e,t){var r={};return r.Hidden=e.read_shift(4),r.iTabID=e.read_shift(4),r.strRelID=Wl(e,t-8),r.name=Be(e),r}},157:{n:\"BrtCalcProp\",f:Z},158:{n:\"BrtBookView\",f:Z},159:{n:\"BrtBeginSst\",f:function(e,t){return[e.read_shift(4),e.read_shift(4)]}},160:{n:\"BrtEndSst\",f:Z},161:{n:\"BrtBeginAFilter\",f:Hl},162:{n:\"BrtEndAFilter\",f:Z},163:{n:\"BrtBeginFilterColumn\",f:Z},164:{n:\"BrtEndFilterColumn\",f:Z},165:{n:\"BrtBeginFilters\",f:Z},166:{n:\"BrtEndFilters\",f:Z},167:{n:\"BrtFilter\",f:Z},168:{n:\"BrtColorFilter\",f:Z},169:{n:\"BrtIconFilter\",f:Z},170:{n:\"BrtTop10Filter\",f:Z},171:{n:\"BrtDynamicFilter\",f:Z},172:{n:\"BrtBeginCustomFilters\",f:Z},173:{n:\"BrtEndCustomFilters\",f:Z},174:{n:\"BrtCustomFilter\",f:Z},175:{n:\"BrtAFilterDateGroupItem\",f:Z},176:{n:\"BrtMergeCell\",f:km},177:{n:\"BrtBeginMergeCells\",f:Z},178:{n:\"BrtEndMergeCells\",f:Z},179:{n:\"BrtBeginPivotCacheDef\",f:Z},180:{n:\"BrtEndPivotCacheDef\",f:Z},181:{n:\"BrtBeginPCDFields\",f:Z},182:{n:\"BrtEndPCDFields\",f:Z},183:{n:\"BrtBeginPCDField\",f:Z},184:{n:\"BrtEndPCDField\",f:Z},185:{n:\"BrtBeginPCDSource\",f:Z},186:{n:\"BrtEndPCDSource\",f:Z},187:{n:\"BrtBeginPCDSRange\",f:Z},188:{n:\"BrtEndPCDSRange\",f:Z},189:{n:\"BrtBeginPCDFAtbl\",f:Z},190:{n:\"BrtEndPCDFAtbl\",f:Z},191:{n:\"BrtBeginPCDIRun\",f:Z},192:{n:\"BrtEndPCDIRun\",f:Z},193:{n:\"BrtBeginPivotCacheRecords\",f:Z},194:{n:\"BrtEndPivotCacheRecords\",f:Z},195:{n:\"BrtBeginPCDHierarchies\",f:Z},196:{n:\"BrtEndPCDHierarchies\",f:Z},197:{n:\"BrtBeginPCDHierarchy\",f:Z},198:{n:\"BrtEndPCDHierarchy\",f:Z},199:{n:\"BrtBeginPCDHFieldsUsage\",f:Z},200:{n:\"BrtEndPCDHFieldsUsage\",f:Z},201:{n:\"BrtBeginExtConnection\",f:Z},202:{n:\"BrtEndExtConnection\",f:Z},203:{n:\"BrtBeginECDbProps\",f:Z},204:{n:\"BrtEndECDbProps\",f:Z},205:{n:\"BrtBeginECOlapProps\",f:Z},206:{n:\"BrtEndECOlapProps\",f:Z},207:{n:\"BrtBeginPCDSConsol\",f:Z},208:{n:\"BrtEndPCDSConsol\",f:Z},209:{n:\"BrtBeginPCDSCPages\",f:Z},210:{n:\"BrtEndPCDSCPages\",f:Z},211:{n:\"BrtBeginPCDSCPage\",f:Z},212:{n:\"BrtEndPCDSCPage\",f:Z},213:{n:\"BrtBeginPCDSCPItem\",f:Z},214:{n:\"BrtEndPCDSCPItem\",f:Z},215:{n:\"BrtBeginPCDSCSets\",f:Z},216:{n:\"BrtEndPCDSCSets\",f:Z},217:{n:\"BrtBeginPCDSCSet\",f:Z},218:{n:\"BrtEndPCDSCSet\",f:Z},219:{n:\"BrtBeginPCDFGroup\",f:Z},220:{n:\"BrtEndPCDFGroup\",f:Z},221:{n:\"BrtBeginPCDFGItems\",f:Z},222:{n:\"BrtEndPCDFGItems\",f:Z},223:{n:\"BrtBeginPCDFGRange\",f:Z},224:{n:\"BrtEndPCDFGRange\",f:Z},225:{n:\"BrtBeginPCDFGDiscrete\",f:Z},226:{n:\"BrtEndPCDFGDiscrete\",f:Z},227:{n:\"BrtBeginPCDSDTupleCache\",f:Z},228:{n:\"BrtEndPCDSDTupleCache\",f:Z},229:{n:\"BrtBeginPCDSDTCEntries\",f:Z},230:{n:\"BrtEndPCDSDTCEntries\",f:Z},231:{n:\"BrtBeginPCDSDTCEMembers\",f:Z},232:{n:\"BrtEndPCDSDTCEMembers\",f:Z},233:{n:\"BrtBeginPCDSDTCEMember\",f:Z},234:{n:\"BrtEndPCDSDTCEMember\",f:Z},235:{n:\"BrtBeginPCDSDTCQueries\",f:Z},236:{n:\"BrtEndPCDSDTCQueries\",f:Z},237:{n:\"BrtBeginPCDSDTCQuery\",f:Z},238:{n:\"BrtEndPCDSDTCQuery\",f:Z},239:{n:\"BrtBeginPCDSDTCSets\",f:Z},240:{n:\"BrtEndPCDSDTCSets\",f:Z},241:{n:\"BrtBeginPCDSDTCSet\",f:Z},242:{n:\"BrtEndPCDSDTCSet\",f:Z},243:{n:\"BrtBeginPCDCalcItems\",f:Z},244:{n:\"BrtEndPCDCalcItems\",f:Z},245:{n:\"BrtBeginPCDCalcItem\",f:Z},246:{n:\"BrtEndPCDCalcItem\",f:Z},247:{n:\"BrtBeginPRule\",f:Z},248:{n:\"BrtEndPRule\",f:Z},249:{n:\"BrtBeginPRFilters\",f:Z},250:{n:\"BrtEndPRFilters\",f:Z},251:{n:\"BrtBeginPRFilter\",f:Z},252:{n:\"BrtEndPRFilter\",f:Z},253:{n:\"BrtBeginPNames\",f:Z},254:{n:\"BrtEndPNames\",f:Z},255:{n:\"BrtBeginPName\",f:Z},256:{n:\"BrtEndPName\",f:Z},257:{n:\"BrtBeginPNPairs\",f:Z},258:{n:\"BrtEndPNPairs\",f:Z},259:{n:\"BrtBeginPNPair\",f:Z},260:{n:\"BrtEndPNPair\",f:Z},261:{n:\"BrtBeginECWebProps\",f:Z},262:{n:\"BrtEndECWebProps\",f:Z},263:{n:\"BrtBeginEcWpTables\",f:Z},264:{n:\"BrtEndECWPTables\",f:Z},265:{n:\"BrtBeginECParams\",f:Z},266:{n:\"BrtEndECParams\",f:Z},267:{n:\"BrtBeginECParam\",f:Z},268:{n:\"BrtEndECParam\",f:Z},269:{n:\"BrtBeginPCDKPIs\",f:Z},270:{n:\"BrtEndPCDKPIs\",f:Z},271:{n:\"BrtBeginPCDKPI\",f:Z},272:{n:\"BrtEndPCDKPI\",f:Z},273:{n:\"BrtBeginDims\",f:Z},274:{n:\"BrtEndDims\",f:Z},275:{n:\"BrtBeginDim\",f:Z},276:{n:\"BrtEndDim\",f:Z},277:{n:\"BrtIndexPartEnd\",f:Z},278:{n:\"BrtBeginStyleSheet\",f:Z},279:{n:\"BrtEndStyleSheet\",f:Z},280:{n:\"BrtBeginSXView\",f:Z},281:{n:\"BrtEndSXVI\",f:Z},282:{n:\"BrtBeginSXVI\",f:Z},283:{n:\"BrtBeginSXVIs\",f:Z},284:{n:\"BrtEndSXVIs\",f:Z},285:{n:\"BrtBeginSXVD\",f:Z},286:{n:\"BrtEndSXVD\",f:Z},287:{n:\"BrtBeginSXVDs\",f:Z},288:{n:\"BrtEndSXVDs\",f:Z},289:{n:\"BrtBeginSXPI\",f:Z},290:{n:\"BrtEndSXPI\",f:Z},291:{n:\"BrtBeginSXPIs\",f:Z},292:{n:\"BrtEndSXPIs\",f:Z},293:{n:\"BrtBeginSXDI\",f:Z},294:{n:\"BrtEndSXDI\",f:Z},295:{n:\"BrtBeginSXDIs\",f:Z},296:{n:\"BrtEndSXDIs\",f:Z},297:{n:\"BrtBeginSXLI\",f:Z},298:{n:\"BrtEndSXLI\",f:Z},299:{n:\"BrtBeginSXLIRws\",f:Z},300:{n:\"BrtEndSXLIRws\",f:Z},301:{n:\"BrtBeginSXLICols\",f:Z},302:{n:\"BrtEndSXLICols\",f:Z},303:{n:\"BrtBeginSXFormat\",f:Z},304:{n:\"BrtEndSXFormat\",f:Z},305:{n:\"BrtBeginSXFormats\",f:Z},306:{n:\"BrtEndSxFormats\",f:Z},307:{n:\"BrtBeginSxSelect\",f:Z},308:{n:\"BrtEndSxSelect\",f:Z},309:{n:\"BrtBeginISXVDRws\",f:Z},310:{n:\"BrtEndISXVDRws\",f:Z},311:{n:\"BrtBeginISXVDCols\",f:Z},312:{n:\"BrtEndISXVDCols\",f:Z},313:{n:\"BrtEndSXLocation\",f:Z},314:{n:\"BrtBeginSXLocation\",f:Z},315:{n:\"BrtEndSXView\",f:Z},316:{n:\"BrtBeginSXTHs\",f:Z},317:{n:\"BrtEndSXTHs\",f:Z},318:{n:\"BrtBeginSXTH\",f:Z},319:{n:\"BrtEndSXTH\",f:Z},320:{n:\"BrtBeginISXTHRws\",f:Z},321:{n:\"BrtEndISXTHRws\",f:Z},322:{n:\"BrtBeginISXTHCols\",f:Z},323:{n:\"BrtEndISXTHCols\",f:Z},324:{n:\"BrtBeginSXTDMPS\",f:Z},325:{n:\"BrtEndSXTDMPs\",f:Z},326:{n:\"BrtBeginSXTDMP\",f:Z},327:{n:\"BrtEndSXTDMP\",f:Z},328:{n:\"BrtBeginSXTHItems\",f:Z},329:{n:\"BrtEndSXTHItems\",f:Z},330:{n:\"BrtBeginSXTHItem\",f:Z},331:{n:\"BrtEndSXTHItem\",f:Z},332:{n:\"BrtBeginMetadata\",f:Z},333:{n:\"BrtEndMetadata\",f:Z},334:{n:\"BrtBeginEsmdtinfo\",f:Z},335:{n:\"BrtMdtinfo\",f:Z},336:{n:\"BrtEndEsmdtinfo\",f:Z},337:{n:\"BrtBeginEsmdb\",f:Z},338:{n:\"BrtEndEsmdb\",f:Z},339:{n:\"BrtBeginEsfmd\",f:Z},340:{n:\"BrtEndEsfmd\",f:Z},341:{n:\"BrtBeginSingleCells\",f:Z},342:{n:\"BrtEndSingleCells\",f:Z},343:{n:\"BrtBeginList\",f:Z},344:{n:\"BrtEndList\",f:Z},345:{n:\"BrtBeginListCols\",f:Z},346:{n:\"BrtEndListCols\",f:Z},347:{n:\"BrtBeginListCol\",f:Z},348:{n:\"BrtEndListCol\",f:Z},349:{n:\"BrtBeginListXmlCPr\",f:Z},350:{n:\"BrtEndListXmlCPr\",f:Z},351:{n:\"BrtListCCFmla\",f:Z},352:{n:\"BrtListTrFmla\",f:Z},353:{n:\"BrtBeginExternals\",f:Z},354:{n:\"BrtEndExternals\",f:Z},355:{n:\"BrtSupBookSrc\",f:Z},357:{n:\"BrtSupSelf\",f:Z},358:{n:\"BrtSupSame\",f:Z},359:{n:\"BrtSupTabs\",f:Z},360:{n:\"BrtBeginSupBook\",f:Z},361:{n:\"BrtPlaceholderName\",f:Z},362:{n:\"BrtExternSheet\",f:Z},363:{n:\"BrtExternTableStart\",f:Z},364:{n:\"BrtExternTableEnd\",f:Z},366:{n:\"BrtExternRowHdr\",f:Z},367:{n:\"BrtExternCellBlank\",f:Z},368:{n:\"BrtExternCellReal\",f:Z},369:{n:\"BrtExternCellBool\",f:Z},370:{n:\"BrtExternCellError\",f:Z},371:{n:\"BrtExternCellString\",f:Z},372:{n:\"BrtBeginEsmdx\",f:Z},373:{n:\"BrtEndEsmdx\",f:Z},374:{n:\"BrtBeginMdxSet\",f:Z},375:{n:\"BrtEndMdxSet\",f:Z},376:{n:\"BrtBeginMdxMbrProp\",f:Z},377:{n:\"BrtEndMdxMbrProp\",f:Z},378:{n:\"BrtBeginMdxKPI\",f:Z},379:{n:\"BrtEndMdxKPI\",f:Z},380:{n:\"BrtBeginEsstr\",f:Z},381:{n:\"BrtEndEsstr\",f:Z},382:{n:\"BrtBeginPRFItem\",f:Z},383:{n:\"BrtEndPRFItem\",f:Z},384:{n:\"BrtBeginPivotCacheIDs\",f:Z},385:{n:\"BrtEndPivotCacheIDs\",f:Z},386:{n:\"BrtBeginPivotCacheID\",f:Z},387:{n:\"BrtEndPivotCacheID\",f:Z},388:{n:\"BrtBeginISXVIs\",f:Z},389:{n:\"BrtEndISXVIs\",f:Z},390:{n:\"BrtBeginColInfos\",f:Z},391:{n:\"BrtEndColInfos\",f:Z},392:{n:\"BrtBeginRwBrk\",f:Z},393:{n:\"BrtEndRwBrk\",f:Z},394:{n:\"BrtBeginColBrk\",f:Z},395:{n:\"BrtEndColBrk\",f:Z},396:{n:\"BrtBrk\",f:Z},397:{n:\"BrtUserBookView\",f:Z},398:{n:\"BrtInfo\",f:Z},399:{n:\"BrtCUsr\",f:Z},400:{n:\"BrtUsr\",f:Z},401:{n:\"BrtBeginUsers\",f:Z},403:{n:\"BrtEOF\",f:Z},404:{n:\"BrtUCR\",f:Z},405:{n:\"BrtRRInsDel\",f:Z},406:{n:\"BrtRREndInsDel\",f:Z},407:{n:\"BrtRRMove\",f:Z},408:{n:\"BrtRREndMove\",f:Z},409:{n:\"BrtRRChgCell\",f:Z},410:{n:\"BrtRREndChgCell\",f:Z},411:{n:\"BrtRRHeader\",f:Z},412:{n:\"BrtRRUserView\",f:Z},413:{n:\"BrtRRRenSheet\",f:Z},414:{n:\"BrtRRInsertSh\",f:Z},415:{n:\"BrtRRDefName\",f:Z},416:{n:\"BrtRRNote\",f:Z},417:{n:\"BrtRRConflict\",f:Z},418:{n:\"BrtRRTQSIF\",f:Z},419:{n:\"BrtRRFormat\",f:Z},420:{n:\"BrtRREndFormat\",f:Z},421:{n:\"BrtRRAutoFmt\",f:Z},422:{n:\"BrtBeginUserShViews\",f:Z},423:{n:\"BrtBeginUserShView\",f:Z},424:{n:\"BrtEndUserShView\",f:Z},425:{n:\"BrtEndUserShViews\",f:Z},426:{n:\"BrtArrFmla\",f:function(e,t,r){var n=e.l+t,a=Ne(e,16),i=e.read_shift(1),s=[a];if(s[2]=i,r.cellFormula){var o=om(e,n-e.l,r);s[1]=o}else e.l=n;return s}},427:{n:\"BrtShrFmla\",f:function(e,t,r){var n=e.l+t,a=[Hl(e,16)];if(r.cellFormula){var i=fm(e,n-e.l,r);a[1]=i,e.l=n}else e.l=n;return a}},428:{n:\"BrtTable\",f:Z},429:{n:\"BrtBeginExtConnections\",f:Z},430:{n:\"BrtEndExtConnections\",f:Z},431:{n:\"BrtBeginPCDCalcMems\",f:Z},432:{n:\"BrtEndPCDCalcMems\",f:Z},433:{n:\"BrtBeginPCDCalcMem\",f:Z},434:{n:\"BrtEndPCDCalcMem\",f:Z},435:{n:\"BrtBeginPCDHGLevels\",f:Z},436:{n:\"BrtEndPCDHGLevels\",f:Z},437:{n:\"BrtBeginPCDHGLevel\",f:Z},438:{n:\"BrtEndPCDHGLevel\",f:Z},439:{n:\"BrtBeginPCDHGLGroups\",f:Z},440:{n:\"BrtEndPCDHGLGroups\",f:Z},441:{n:\"BrtBeginPCDHGLGroup\",f:Z},442:{n:\"BrtEndPCDHGLGroup\",f:Z},443:{n:\"BrtBeginPCDHGLGMembers\",f:Z},444:{n:\"BrtEndPCDHGLGMembers\",f:Z},445:{n:\"BrtBeginPCDHGLGMember\",f:Z},446:{n:\"BrtEndPCDHGLGMember\",f:Z},447:{n:\"BrtBeginQSI\",f:Z},448:{n:\"BrtEndQSI\",f:Z},449:{n:\"BrtBeginQSIR\",f:Z},450:{n:\"BrtEndQSIR\",f:Z},451:{n:\"BrtBeginDeletedNames\",f:Z},452:{n:\"BrtEndDeletedNames\",f:Z},453:{n:\"BrtBeginDeletedName\",f:Z},454:{n:\"BrtEndDeletedName\",f:Z},455:{n:\"BrtBeginQSIFs\",f:Z},456:{n:\"BrtEndQSIFs\",f:Z},457:{n:\"BrtBeginQSIF\",f:Z},458:{n:\"BrtEndQSIF\",f:Z},459:{n:\"BrtBeginAutoSortScope\",f:Z},460:{n:\"BrtEndAutoSortScope\",f:Z},461:{n:\"BrtBeginConditionalFormatting\",f:Z},462:{n:\"BrtEndConditionalFormatting\",f:Z},463:{n:\"BrtBeginCFRule\",f:Z},464:{n:\"BrtEndCFRule\",f:Z},465:{n:\"BrtBeginIconSet\",f:Z},466:{n:\"BrtEndIconSet\",f:Z},467:{n:\"BrtBeginDatabar\",f:Z},468:{n:\"BrtEndDatabar\",f:Z},469:{n:\"BrtBeginColorScale\",f:Z},470:{n:\"BrtEndColorScale\",f:Z},471:{n:\"BrtCFVO\",f:Z},472:{n:\"BrtExternValueMeta\",f:Z},473:{n:\"BrtBeginColorPalette\",f:Z},474:{n:\"BrtEndColorPalette\",f:Z},475:{n:\"BrtIndexedColor\",f:Z},476:{n:\"BrtMargins\",f:function(e,t,r){return{left:Le(e,8),right:Le(e,8),top:Le(e,8),bottom:Le(e,8),header:Le(e,8),footer:Le(e,8)}}},477:{n:\"BrtPrintOptions\",f:Z},478:{n:\"BrtPageSetup\",f:Z},479:{n:\"BrtBeginHeaderFooter\",f:Z},480:{n:\"BrtEndHeaderFooter\",f:Z},481:{n:\"BrtBeginSXCrtFormat\",f:Z},482:{n:\"BrtEndSXCrtFormat\",f:Z},483:{n:\"BrtBeginSXCrtFormats\",f:Z},484:{n:\"BrtEndSXCrtFormats\",f:Z},485:{n:\"BrtWsFmtInfo\",f:Z},486:{n:\"BrtBeginMgs\",f:Z},487:{n:\"BrtEndMGs\",f:Z},488:{n:\"BrtBeginMGMaps\",f:Z},489:{n:\"BrtEndMGMaps\",f:Z},490:{n:\"BrtBeginMG\",f:Z},491:{n:\"BrtEndMG\",f:Z},492:{n:\"BrtBeginMap\",f:Z},493:{n:\"BrtEndMap\",f:Z},494:{n:\"BrtHLink\",f:function(e,t,r){var n=e.l+t,a=Hl(e,16),i=Oe(e),s=Be(e),o=Be(e),l=Be(e);return e.l=n,{rfx:a,relId:i,loc:s,Tooltip:o,display:l}}},495:{n:\"BrtBeginDCon\",f:Z},496:{n:\"BrtEndDCon\",f:Z},497:{n:\"BrtBeginDRefs\",f:Z},498:{n:\"BrtEndDRefs\",f:Z},499:{n:\"BrtDRef\",f:Z},500:{n:\"BrtBeginScenMan\",f:Z},501:{n:\"BrtEndScenMan\",f:Z},502:{n:\"BrtBeginSct\",f:Z},503:{n:\"BrtEndSct\",f:Z},504:{n:\"BrtSlc\",f:Z},505:{n:\"BrtBeginDXFs\",f:Z},506:{n:\"BrtEndDXFs\",f:Z},507:{n:\"BrtDXF\",f:Z},508:{n:\"BrtBeginTableStyles\",f:Z},509:{n:\"BrtEndTableStyles\",f:Z},510:{n:\"BrtBeginTableStyle\",f:Z},511:{n:\"BrtEndTableStyle\",f:Z},512:{n:\"BrtTableStyleElement\",f:Z},513:{n:\"BrtTableStyleClient\",f:Z},514:{n:\"BrtBeginVolDeps\",f:Z},515:{n:\"BrtEndVolDeps\",f:Z},516:{n:\"BrtBeginVolType\",f:Z},517:{n:\"BrtEndVolType\",f:Z},518:{n:\"BrtBeginVolMain\",f:Z},519:{n:\"BrtEndVolMain\",f:Z},520:{n:\"BrtBeginVolTopic\",f:Z},521:{n:\"BrtEndVolTopic\",f:Z},522:{n:\"BrtVolSubtopic\",f:Z},523:{n:\"BrtVolRef\",f:Z},524:{n:\"BrtVolNum\",f:Z},525:{n:\"BrtVolErr\",f:Z},526:{n:\"BrtVolStr\",f:Z},527:{n:\"BrtVolBool\",f:Z},528:{n:\"BrtBeginCalcChain$\",f:Z},529:{n:\"BrtEndCalcChain$\",f:Z},530:{n:\"BrtBeginSortState\",f:Z},531:{n:\"BrtEndSortState\",f:Z},532:{n:\"BrtBeginSortCond\",f:Z},533:{n:\"BrtEndSortCond\",f:Z},534:{n:\"BrtBookProtection\",f:Z},535:{n:\"BrtSheetProtection\",f:Z},536:{n:\"BrtRangeProtection\",f:Z},537:{n:\"BrtPhoneticInfo\",f:Z},538:{n:\"BrtBeginECTxtWiz\",f:Z},539:{n:\"BrtEndECTxtWiz\",f:Z},540:{n:\"BrtBeginECTWFldInfoLst\",f:Z},541:{n:\"BrtEndECTWFldInfoLst\",f:Z},542:{n:\"BrtBeginECTwFldInfo\",f:Z},548:{n:\"BrtFileSharing\",f:Z},549:{n:\"BrtOleSize\",f:Z},550:{n:\"BrtDrawing\",f:Wl},551:{n:\"BrtLegacyDrawing\",f:Z},552:{n:\"BrtLegacyDrawingHF\",f:Z},553:{n:\"BrtWebOpt\",f:Z},554:{n:\"BrtBeginWebPubItems\",f:Z},555:{n:\"BrtEndWebPubItems\",f:Z},556:{n:\"BrtBeginWebPubItem\",f:Z},557:{n:\"BrtEndWebPubItem\",f:Z},558:{n:\"BrtBeginSXCondFmt\",f:Z},559:{n:\"BrtEndSXCondFmt\",f:Z},560:{n:\"BrtBeginSXCondFmts\",f:Z},561:{n:\"BrtEndSXCondFmts\",f:Z},562:{n:\"BrtBkHim\",f:Z},564:{n:\"BrtColor\",f:Z},565:{n:\"BrtBeginIndexedColors\",f:Z},566:{n:\"BrtEndIndexedColors\",f:Z},569:{n:\"BrtBeginMRUColors\",f:Z},570:{n:\"BrtEndMRUColors\",f:Z},572:{n:\"BrtMRUColor\",f:Z},573:{n:\"BrtBeginDVals\",f:Z},574:{n:\"BrtEndDVals\",f:Z},577:{n:\"BrtSupNameStart\",f:Z},578:{n:\"BrtSupNameValueStart\",f:Z},579:{n:\"BrtSupNameValueEnd\",f:Z},580:{n:\"BrtSupNameNum\",f:Z},581:{n:\"BrtSupNameErr\",f:Z},582:{n:\"BrtSupNameSt\",f:Z},583:{n:\"BrtSupNameNil\",f:Z},584:{n:\"BrtSupNameBool\",f:Z},585:{n:\"BrtSupNameFmla\",f:Z},586:{n:\"BrtSupNameBits\",f:Z},587:{n:\"BrtSupNameEnd\",f:Z},588:{n:\"BrtEndSupBook\",f:Z},589:{n:\"BrtCellSmartTagProperty\",f:Z},590:{n:\"BrtBeginCellSmartTag\",f:Z},591:{n:\"BrtEndCellSmartTag\",f:Z},592:{n:\"BrtBeginCellSmartTags\",f:Z},593:{n:\"BrtEndCellSmartTags\",f:Z},594:{n:\"BrtBeginSmartTags\",f:Z},595:{n:\"BrtEndSmartTags\",f:Z},596:{n:\"BrtSmartTagType\",f:Z},597:{n:\"BrtBeginSmartTagTypes\",f:Z},598:{n:\"BrtEndSmartTagTypes\",f:Z},599:{n:\"BrtBeginSXFilters\",f:Z},600:{n:\"BrtEndSXFilters\",f:Z},601:{n:\"BrtBeginSXFILTER\",f:Z},602:{n:\"BrtEndSXFilter\",f:Z},603:{n:\"BrtBeginFills\",f:Z},604:{n:\"BrtEndFills\",f:Z},605:{n:\"BrtBeginCellWatches\",f:Z},606:{n:\"BrtEndCellWatches\",f:Z},607:{n:\"BrtCellWatch\",f:Z},608:{n:\"BrtBeginCRErrs\",f:Z},609:{n:\"BrtEndCRErrs\",f:Z},610:{n:\"BrtCrashRecErr\",f:Z},611:{n:\"BrtBeginFonts\",f:Z},612:{n:\"BrtEndFonts\",f:Z},613:{n:\"BrtBeginBorders\",f:Z},614:{n:\"BrtEndBorders\",f:Z},615:{n:\"BrtBeginFmts\",f:Z},616:{n:\"BrtEndFmts\",f:Z},617:{n:\"BrtBeginCellXFs\",f:Z},618:{n:\"BrtEndCellXFs\",f:Z},619:{n:\"BrtBeginStyles\",f:Z},620:{n:\"BrtEndStyles\",f:Z},625:{n:\"BrtBigName\",f:Z},626:{n:\"BrtBeginCellStyleXFs\",f:Z},627:{n:\"BrtEndCellStyleXFs\",f:Z},628:{n:\"BrtBeginComments\",f:Z},629:{n:\"BrtEndComments\",f:Z},630:{n:\"BrtBeginCommentAuthors\",f:Z},631:{n:\"BrtEndCommentAuthors\",f:Z},632:{n:\"BrtCommentAuthor\",f:qg},633:{n:\"BrtBeginCommentList\",f:Z},634:{n:\"BrtEndCommentList\",f:Z},635:{n:\"BrtBeginComment\",f:function(e,t){var r={};r.iauthor=e.read_shift(4);var n=Hl(e,16);return r.rfx=n.s,r.ref=ge(n.s),e.l+=16,r}},636:{n:\"BrtEndComment\",f:Z},637:{n:\"BrtCommentText\",f:Nl},638:{n:\"BrtBeginOleObjects\",f:Z},639:{n:\"BrtOleObject\",f:Z},640:{n:\"BrtEndOleObjects\",f:Z},641:{n:\"BrtBeginSxrules\",f:Z},642:{n:\"BrtEndSxRules\",f:Z},643:{n:\"BrtBeginActiveXControls\",f:Z},644:{n:\"BrtActiveX\",f:Z},645:{n:\"BrtEndActiveXControls\",f:Z},646:{n:\"BrtBeginPCDSDTCEMembersSortBy\",f:Z},648:{n:\"BrtBeginCellIgnoreECs\",f:Z},649:{n:\"BrtCellIgnoreEC\",f:Z},650:{n:\"BrtEndCellIgnoreECs\",f:Z},651:{n:\"BrtCsProp\",f:Z},652:{n:\"BrtCsPageSetup\",f:Z},653:{n:\"BrtBeginUserCsViews\",f:Z},654:{n:\"BrtEndUserCsViews\",f:Z},655:{n:\"BrtBeginUserCsView\",f:Z},656:{n:\"BrtEndUserCsView\",f:Z},657:{n:\"BrtBeginPcdSFCIEntries\",f:Z},658:{n:\"BrtEndPCDSFCIEntries\",f:Z},659:{n:\"BrtPCDSFCIEntry\",f:Z},660:{n:\"BrtBeginListParts\",f:Z},661:{n:\"BrtListPart\",f:Z},662:{n:\"BrtEndListParts\",f:Z},663:{n:\"BrtSheetCalcProp\",f:Z},664:{n:\"BrtBeginFnGroup\",f:Z},665:{n:\"BrtFnGroup\",f:Z},666:{n:\"BrtEndFnGroup\",f:Z},667:{n:\"BrtSupAddin\",f:Z},668:{n:\"BrtSXTDMPOrder\",f:Z},669:{n:\"BrtCsProtection\",f:Z},671:{n:\"BrtBeginWsSortMap\",f:Z},672:{n:\"BrtEndWsSortMap\",f:Z},673:{n:\"BrtBeginRRSort\",f:Z},674:{n:\"BrtEndRRSort\",f:Z},675:{n:\"BrtRRSortItem\",f:Z},676:{n:\"BrtFileSharingIso\",f:Z},677:{n:\"BrtBookProtectionIso\",f:Z},678:{n:\"BrtSheetProtectionIso\",f:Z},679:{n:\"BrtCsProtectionIso\",f:Z},680:{n:\"BrtRangeProtectionIso\",f:Z},1024:{n:\"BrtRwDescent\",f:Z},1025:{n:\"BrtKnownFonts\",f:Z},1026:{n:\"BrtBeginSXTupleSet\",f:Z},1027:{n:\"BrtEndSXTupleSet\",f:Z},1028:{n:\"BrtBeginSXTupleSetHeader\",f:Z},1029:{n:\"BrtEndSXTupleSetHeader\",f:Z},1030:{n:\"BrtSXTupleSetHeaderItem\",f:Z},1031:{n:\"BrtBeginSXTupleSetData\",f:Z},1032:{n:\"BrtEndSXTupleSetData\",f:Z},1033:{n:\"BrtBeginSXTupleSetRow\",f:Z},1034:{n:\"BrtEndSXTupleSetRow\",f:Z},1035:{n:\"BrtSXTupleSetRowItem\",f:Z},1036:{n:\"BrtNameExt\",f:Z},1037:{n:\"BrtPCDH14\",f:Z},1038:{n:\"BrtBeginPCDCalcMem14\",f:Z},1039:{n:\"BrtEndPCDCalcMem14\",f:Z},1040:{n:\"BrtSXTH14\",f:Z},1041:{n:\"BrtBeginSparklineGroup\",f:Z},1042:{n:\"BrtEndSparklineGroup\",f:Z},1043:{n:\"BrtSparkline\",f:Z},1044:{n:\"BrtSXDI14\",f:Z},1045:{n:\"BrtWsFmtInfoEx14\",f:Z},1046:{n:\"BrtBeginConditionalFormatting14\",f:Z},1047:{n:\"BrtEndConditionalFormatting14\",f:Z},1048:{n:\"BrtBeginCFRule14\",f:Z},1049:{n:\"BrtEndCFRule14\",f:Z},1050:{n:\"BrtCFVO14\",f:Z},1051:{n:\"BrtBeginDatabar14\",f:Z},1052:{n:\"BrtBeginIconSet14\",f:Z},1053:{n:\"BrtDVal14\",f:Z},1054:{n:\"BrtBeginDVals14\",f:Z},1055:{n:\"BrtColor14\",f:Z},1056:{n:\"BrtBeginSparklines\",f:Z},1057:{n:\"BrtEndSparklines\",f:Z},1058:{n:\"BrtBeginSparklineGroups\",f:Z},1059:{n:\"BrtEndSparklineGroups\",f:Z},1061:{n:\"BrtSXVD14\",f:Z},1062:{n:\"BrtBeginSxview14\",f:Z},1063:{n:\"BrtEndSxview14\",f:Z},1066:{n:\"BrtBeginPCD14\",f:Z},1067:{n:\"BrtEndPCD14\",f:Z},1068:{n:\"BrtBeginExtConn14\",f:Z},1069:{n:\"BrtEndExtConn14\",f:Z},1070:{n:\"BrtBeginSlicerCacheIDs\",f:Z},1071:{n:\"BrtEndSlicerCacheIDs\",f:Z},1072:{n:\"BrtBeginSlicerCacheID\",f:Z},1073:{n:\"BrtEndSlicerCacheID\",f:Z},1075:{n:\"BrtBeginSlicerCache\",f:Z},1076:{n:\"BrtEndSlicerCache\",f:Z},1077:{n:\"BrtBeginSlicerCacheDef\",f:Z},1078:{n:\"BrtEndSlicerCacheDef\",f:Z},1079:{n:\"BrtBeginSlicersEx\",f:Z},1080:{n:\"BrtEndSlicersEx\",f:Z},1081:{n:\"BrtBeginSlicerEx\",f:Z},1082:{n:\"BrtEndSlicerEx\",f:Z},1083:{n:\"BrtBeginSlicer\",f:Z},1084:{n:\"BrtEndSlicer\",f:Z},1085:{n:\"BrtSlicerCachePivotTables\",f:Z},1086:{n:\"BrtBeginSlicerCacheOlapImpl\",f:Z},1087:{n:\"BrtEndSlicerCacheOlapImpl\",f:Z},1088:{n:\"BrtBeginSlicerCacheLevelsData\",f:Z},1089:{n:\"BrtEndSlicerCacheLevelsData\",f:Z},1090:{n:\"BrtBeginSlicerCacheLevelData\",f:Z},1091:{n:\"BrtEndSlicerCacheLevelData\",f:Z},1092:{n:\"BrtBeginSlicerCacheSiRanges\",f:Z},1093:{n:\"BrtEndSlicerCacheSiRanges\",f:Z},1094:{n:\"BrtBeginSlicerCacheSiRange\",f:Z},1095:{n:\"BrtEndSlicerCacheSiRange\",f:Z},1096:{n:\"BrtSlicerCacheOlapItem\",f:Z},1097:{n:\"BrtBeginSlicerCacheSelections\",f:Z},1098:{n:\"BrtSlicerCacheSelection\",f:Z},1099:{n:\"BrtEndSlicerCacheSelections\",f:Z},1100:{n:\"BrtBeginSlicerCacheNative\",f:Z},1101:{n:\"BrtEndSlicerCacheNative\",f:Z},1102:{n:\"BrtSlicerCacheNativeItem\",f:Z},1103:{n:\"BrtRangeProtection14\",f:Z},1104:{n:\"BrtRangeProtectionIso14\",f:Z},1105:{n:\"BrtCellIgnoreEC14\",f:Z},1111:{n:\"BrtList14\",f:Z},1112:{n:\"BrtCFIcon\",f:Z},1113:{n:\"BrtBeginSlicerCachesPivotCacheIDs\",f:Z},1114:{n:\"BrtEndSlicerCachesPivotCacheIDs\",f:Z},1115:{n:\"BrtBeginSlicers\",f:Z},1116:{n:\"BrtEndSlicers\",f:Z},1117:{n:\"BrtWbProp14\",f:Z},1118:{n:\"BrtBeginSXEdit\",f:Z},1119:{n:\"BrtEndSXEdit\",f:Z},1120:{n:\"BrtBeginSXEdits\",f:Z},1121:{n:\"BrtEndSXEdits\",f:Z},1122:{n:\"BrtBeginSXChange\",f:Z},1123:{n:\"BrtEndSXChange\",f:Z},1124:{n:\"BrtBeginSXChanges\",f:Z},1125:{n:\"BrtEndSXChanges\",f:Z},1126:{n:\"BrtSXTupleItems\",f:Z},1128:{n:\"BrtBeginSlicerStyle\",f:Z},1129:{n:\"BrtEndSlicerStyle\",f:Z},1130:{n:\"BrtSlicerStyleElement\",f:Z},1131:{n:\"BrtBeginStyleSheetExt14\",f:Z},1132:{n:\"BrtEndStyleSheetExt14\",f:Z},1133:{n:\"BrtBeginSlicerCachesPivotCacheID\",f:Z},1134:{n:\"BrtEndSlicerCachesPivotCacheID\",f:Z},1135:{n:\"BrtBeginConditionalFormattings\",f:Z},1136:{n:\"BrtEndConditionalFormattings\",f:Z},1137:{n:\"BrtBeginPCDCalcMemExt\",f:Z},1138:{n:\"BrtEndPCDCalcMemExt\",f:Z},1139:{n:\"BrtBeginPCDCalcMemsExt\",f:Z},1140:{n:\"BrtEndPCDCalcMemsExt\",f:Z},1141:{n:\"BrtPCDField14\",f:Z},1142:{n:\"BrtBeginSlicerStyles\",f:Z},1143:{n:\"BrtEndSlicerStyles\",f:Z},1144:{n:\"BrtBeginSlicerStyleElements\",f:Z},1145:{n:\"BrtEndSlicerStyleElements\",f:Z},1146:{n:\"BrtCFRuleExt\",f:Z},1147:{n:\"BrtBeginSXCondFmt14\",f:Z},1148:{n:\"BrtEndSXCondFmt14\",f:Z},1149:{n:\"BrtBeginSXCondFmts14\",f:Z},1150:{n:\"BrtEndSXCondFmts14\",f:Z},1152:{n:\"BrtBeginSortCond14\",f:Z},1153:{n:\"BrtEndSortCond14\",f:Z},1154:{n:\"BrtEndDVals14\",f:Z},1155:{n:\"BrtEndIconSet14\",f:Z},1156:{n:\"BrtEndDatabar14\",f:Z},1157:{n:\"BrtBeginColorScale14\",f:Z},1158:{n:\"BrtEndColorScale14\",f:Z},1159:{n:\"BrtBeginSxrules14\",f:Z},1160:{n:\"BrtEndSxrules14\",f:Z},1161:{n:\"BrtBeginPRule14\",f:Z},1162:{n:\"BrtEndPRule14\",f:Z},1163:{n:\"BrtBeginPRFilters14\",f:Z},1164:{n:\"BrtEndPRFilters14\",f:Z},1165:{n:\"BrtBeginPRFilter14\",f:Z},1166:{n:\"BrtEndPRFilter14\",f:Z},1167:{n:\"BrtBeginPRFItem14\",f:Z},1168:{n:\"BrtEndPRFItem14\",f:Z},1169:{n:\"BrtBeginCellIgnoreECs14\",f:Z},1170:{n:\"BrtEndCellIgnoreECs14\",f:Z},1171:{n:\"BrtDxf14\",f:Z},1172:{n:\"BrtBeginDxF14s\",f:Z},1173:{n:\"BrtEndDxf14s\",f:Z},1177:{n:\"BrtFilter14\",f:Z},1178:{n:\"BrtBeginCustomFilters14\",f:Z},1180:{n:\"BrtCustomFilter14\",f:Z},1181:{n:\"BrtIconFilter14\",f:Z},1182:{n:\"BrtPivotCacheConnectionName\",f:Z},2048:{n:\"BrtBeginDecoupledPivotCacheIDs\",f:Z},2049:{n:\"BrtEndDecoupledPivotCacheIDs\",f:Z},2050:{n:\"BrtDecoupledPivotCacheID\",f:Z},2051:{n:\"BrtBeginPivotTableRefs\",f:Z},2052:{n:\"BrtEndPivotTableRefs\",f:Z},2053:{n:\"BrtPivotTableRef\",f:Z},2054:{n:\"BrtSlicerCacheBookPivotTables\",f:Z},2055:{n:\"BrtBeginSxvcells\",f:Z},2056:{n:\"BrtEndSxvcells\",f:Z},2057:{n:\"BrtBeginSxRow\",f:Z},2058:{n:\"BrtEndSxRow\",f:Z},2060:{n:\"BrtPcdCalcMem15\",f:Z},2067:{n:\"BrtQsi15\",f:Z},2068:{n:\"BrtBeginWebExtensions\",f:Z},2069:{n:\"BrtEndWebExtensions\",f:Z},2070:{n:\"BrtWebExtension\",f:Z},2071:{n:\"BrtAbsPath15\",f:Z},2072:{n:\"BrtBeginPivotTableUISettings\",f:Z},2073:{n:\"BrtEndPivotTableUISettings\",f:Z},2075:{n:\"BrtTableSlicerCacheIDs\",f:Z},2076:{n:\"BrtTableSlicerCacheID\",f:Z},2077:{n:\"BrtBeginTableSlicerCache\",f:Z},2078:{n:\"BrtEndTableSlicerCache\",f:Z},2079:{n:\"BrtSxFilter15\",f:Z},2080:{n:\"BrtBeginTimelineCachePivotCacheIDs\",f:Z},2081:{n:\"BrtEndTimelineCachePivotCacheIDs\",f:Z},2082:{n:\"BrtTimelineCachePivotCacheID\",f:Z},2083:{n:\"BrtBeginTimelineCacheIDs\",f:Z},2084:{n:\"BrtEndTimelineCacheIDs\",f:Z},2085:{n:\"BrtBeginTimelineCacheID\",f:Z},2086:{n:\"BrtEndTimelineCacheID\",f:Z},2087:{n:\"BrtBeginTimelinesEx\",f:Z},2088:{n:\"BrtEndTimelinesEx\",f:Z},2089:{n:\"BrtBeginTimelineEx\",f:Z},2090:{n:\"BrtEndTimelineEx\",f:Z},2091:{n:\"BrtWorkBookPr15\",f:Z},2092:{n:\"BrtPCDH15\",f:Z},2093:{n:\"BrtBeginTimelineStyle\",f:Z},2094:{n:\"BrtEndTimelineStyle\",f:Z},2095:{n:\"BrtTimelineStyleElement\",f:Z},2096:{n:\"BrtBeginTimelineStylesheetExt15\",f:Z},2097:{n:\"BrtEndTimelineStylesheetExt15\",f:Z},2098:{n:\"BrtBeginTimelineStyles\",f:Z},2099:{n:\"BrtEndTimelineStyles\",f:Z},2100:{n:\"BrtBeginTimelineStyleElements\",f:Z},2101:{n:\"BrtEndTimelineStyleElements\",f:Z},2102:{n:\"BrtDxf15\",f:Z},2103:{n:\"BrtBeginDxfs15\",f:Z},2104:{n:\"brtEndDxfs15\",f:Z},2105:{n:\"BrtSlicerCacheHideItemsWithNoData\",f:Z},2106:{n:\"BrtBeginItemUniqueNames\",f:Z},2107:{n:\"BrtEndItemUniqueNames\",f:Z},2108:{n:\"BrtItemUniqueName\",f:Z},2109:{n:\"BrtBeginExtConn15\",f:Z},2110:{n:\"BrtEndExtConn15\",f:Z},2111:{n:\"BrtBeginOledbPr15\",f:Z},2112:{n:\"BrtEndOledbPr15\",f:Z},2113:{n:\"BrtBeginDataFeedPr15\",f:Z},2114:{n:\"BrtEndDataFeedPr15\",f:Z},2115:{n:\"BrtTextPr15\",f:Z},2116:{n:\"BrtRangePr15\",f:Z},2117:{n:\"BrtDbCommand15\",f:Z},2118:{n:\"BrtBeginDbTables15\",f:Z},2119:{n:\"BrtEndDbTables15\",f:Z},2120:{n:\"BrtDbTable15\",f:Z},2121:{n:\"BrtBeginDataModel\",f:Z},2122:{n:\"BrtEndDataModel\",f:Z},2123:{n:\"BrtBeginModelTables\",f:Z},2124:{n:\"BrtEndModelTables\",f:Z},2125:{n:\"BrtModelTable\",f:Z},2126:{n:\"BrtBeginModelRelationships\",f:Z},2127:{n:\"BrtEndModelRelationships\",f:Z},2128:{n:\"BrtModelRelationship\",f:Z},2129:{n:\"BrtBeginECTxtWiz15\",f:Z},2130:{n:\"BrtEndECTxtWiz15\",f:Z},2131:{n:\"BrtBeginECTWFldInfoLst15\",f:Z},2132:{n:\"BrtEndECTWFldInfoLst15\",f:Z},2133:{n:\"BrtBeginECTWFldInfo15\",f:Z},2134:{n:\"BrtFieldListActiveItem\",f:Z},2135:{n:\"BrtPivotCacheIdVersion\",f:Z},2136:{n:\"BrtSXDI15\",f:Z},65535:{n:\"\",f:Z}},Hm=function(e,t){for(var r=[],n=u(e),a=0;a!==n.length;++a)r[e[n[a]][t]]=n[a];return r}(zm,\"n\"),Vm={3:{n:\"BIFF2NUM\",f:function(e,t,r){var n=Wt(e,6);++e.l;var a=Le(e,8);return n.t=\"n\",n.val=a,n}},4:{n:\"BIFF2STR\",f:function(e,t,r){var n=Wt(e,6);++e.l;var a=Lt(e,t-7,r);return n.t=\"str\",n.val=a,n}},6:{n:\"Formula\",f:ma},9:{n:\"BOF\",f:Zt},10:{n:\"EOF\",f:rf},12:{n:\"CalcCount\",f:Vc},13:{n:\"CalcMode\",f:jc},14:{n:\"CalcPrecision\",f:Yc},15:{n:\"CalcRefMode\",f:Kc},16:{n:\"CalcDelta\",f:Xc},17:{n:\"CalcIter\",f:Gc},18:{n:\"Protect\",f:Sf},19:{n:\"Password\",f:mf},20:{n:\"Header\",f:ff},21:{n:\"Footer\",f:of},23:{n:\"ExternSheet\",f:function(e,t,r){if(r.biff<8)return Dt(e,t,r);for(var n=[],a=(e.l,e.read_shift(2));0!=a--;)n.push(Ht(e,6));return n}},24:{n:\"Lbl\",f:rr},25:{n:\"WinProtect\",f:Df},26:{n:\"VerticalPageBreaks\",f:Ff},27:{n:\"HorizontalPageBreaks\",f:Nf},28:{n:\"Note\",f:function(e,t,r){return ar(e,t,r)}},29:{n:\"Selection\",f:Lf},34:{n:\"Date1904\",f:qc},35:{n:\"ExternName\",f:tr},38:{n:\"LeftMargin\",f:df},39:{n:\"RightMargin\",f:Bf},40:{n:\"TopMargin\",f:Rf},41:{n:\"BottomMargin\",f:zc},42:{n:\"PrintRowCol\",f:vf},43:{n:\"PrintGrid\",f:bf},47:{n:\"FilePass\",f:function(e,t,r){var n={Type:e.read_shift(2)};return n.Type?Fr(e,t-2,n):Pr(e,t-2,r,n),n}},49:{n:\"Font\",f:function(e,t,r){var n={dyHeight:e.read_shift(2),fl:e.read_shift(2)};switch(r&&r.biff||8){case 2:break;case 3:case 4:e.l+=2;break;default:e.l+=10}return n.name=Dt(e,0,r),n}},51:{n:\"PrintSize\",f:Ef},60:{n:\"Continue\",f:Mf},61:{n:\"Window1\",f:function(e,t){return{Pos:[e.read_shift(2),e.read_shift(2)],Dim:[e.read_shift(2),e.read_shift(2)],Flags:e.read_shift(2),CurTab:e.read_shift(2),FirstTab:e.read_shift(2),Selected:e.read_shift(2),TabRatio:e.read_shift(2)}}},64:{n:\"Backup\",f:Uc},65:{n:\"Pane\",f:Uf},66:{n:\"CodePage\",f:Zc},77:{n:\"Pls\",f:Wf},80:{n:\"DCon\",f:zf},81:{n:\"DConRef\",f:Hf},82:{n:\"DConName\",f:Vf},85:{n:\"DefColWidth\",f:Jc},89:{n:\"XCT\",f:Xf},90:{n:\"CRN\",f:Gf},91:{n:\"FileSharing\",f:jf},92:{n:\"WriteAccess\",f:function(e,t,r){if(r.enc)return e.l+=t,\"\";var n=e.l,a=Nt(e,0,r);return e.read_shift(t+n-e.l),a}},93:{n:\"Obj\",f:function(e,t,r){if(r&&r.biff<8)return ir(e,t,r);var n=Yt(e,22);return{cmo:n,ft:$t(e,t-22,n[1])}}},94:{n:\"Uncalced\",f:Yf},95:{n:\"CalcSaveRecalc\",f:$c},96:{n:\"Template\",f:Kf},97:{n:\"Intl\",f:$f},99:{n:\"ObjProtect\",f:gf},125:{n:\"ColInfo\",f:sr},128:{n:\"Guts\",f:function(e,t){e.l+=4;var r=[e.read_shift(2),e.read_shift(2)];if(0!==r[0]&&r[0]--,0!==r[1]&&r[1]--,r[0]>7||r[1]>7)throw new Error(\"Bad Gutters: \"+r.join(\"|\"));return r}},129:{n:\"WsBool\",f:Zf},130:{n:\"GridSet\",f:lf},131:{n:\"HCenter\",f:cf},132:{n:\"VCenter\",f:Of},133:{n:\"BoundSheet8\",f:function(e,t,r){var n=e.read_shift(4),a=3&e.read_shift(1),i=e.read_shift(1);switch(i){case 0:i=\"Worksheet\";break;case 1:i=\"Macrosheet\";break;case 2:i=\"Chartsheet\";break;case 6:i=\"VBAModule\"}var s=Dt(e,0,r);return 0===s.length&&(s=\"Sheet1\"),{pos:n,hs:a,dt:i,name:s}}},134:{n:\"WriteProtect\",f:Pf},140:{n:\"Country\",f:function(e,t){var r,n=[];return r=e.read_shift(2),n[0]=ec[r]||r,r=e.read_shift(2),n[1]=ec[r]||r,n}},141:{n:\"HideObj\",f:hf},144:{n:\"Sort\",f:Qf},146:{n:\"Palette\",f:function(e,t){for(var r=e.read_shift(2),n=[];r-- >0;)n.push(Ut(e,8));return n}},151:{n:\"Sync\",f:qf},152:{n:\"LPr\",f:Jf},153:{n:\"DxGCol\",f:eh},154:{n:\"FnGroupName\",f:th},155:{n:\"FilterMode\",f:rh},156:{n:\"BuiltInFnGroupCount\",f:Hc},157:{n:\"AutoFilterInfo\",f:nh},158:{n:\"AutoFilter\",f:ah},160:{n:\"Scl\",f:yf},161:{n:\"Setup\",f:function(e,t,r){var n={};return e.l+=16,n.header=Le(e,8),n.footer=Le(e,8),e.l+=2,n}},174:{n:\"ScenMan\",f:ih},175:{n:\"SCENARIO\",f:sh},176:{n:\"SxView\",f:oh},177:{n:\"Sxvd\",f:lh},178:{n:\"SXVI\",f:ch},180:{n:\"SxIvd\",f:fh},181:{n:\"SXLI\",f:hh},182:{n:\"SXPI\",f:uh},184:{n:\"DocRoute\",f:dh},185:{n:\"RecipName\",f:ph},189:{n:\"MulRk\",f:function(e,t){for(var r=e.l+t-2,n=e.read_shift(2),a=e.read_shift(2),i=[];e.l<r;)i.push(Vt(e));if(e.l!==r)throw new Error(\"MulRK read error\");var s=e.read_shift(2);if(i.length!=s-a+1)throw new Error(\"MulRK length mismatch\");return{r:n,c:a,C:s,rkrec:i}}},190:{n:\"MulBlank\",f:function(e,t){for(var r=e.l+t-2,n=e.read_shift(2),a=e.read_shift(2),i=[];e.l<r;)i.push(e.read_shift(2));if(e.l!==r)throw new Error(\"MulBlank read error\");var s=e.read_shift(2);if(i.length!=s-a+1)throw new Error(\"MulBlank length mismatch\");return{r:n,c:a,C:s,ixfe:i}}},193:{n:\"Mms\",f:pf},197:{n:\"SXDI\",f:gh},198:{n:\"SXDB\",f:mh},199:{n:\"SXFDB\",f:bh},200:{n:\"SXDBB\",f:vh},201:{n:\"SXNum\",f:Eh},202:{n:\"SxBool\",f:xf},203:{n:\"SxErr\",f:Ch},204:{n:\"SXInt\",f:wh},205:{n:\"SXString\",f:Sh},206:{n:\"SXDtr\",f:Ah},207:{n:\"SxNil\",f:Bh},208:{n:\"SXTbl\",f:_h},209:{n:\"SXTBRGIITM\",f:Th},210:{n:\"SxTbpg\",f:yh},211:{n:\"ObProj\",f:kh},213:{n:\"SXStreamID\",f:xh},215:{n:\"DBCell\",f:Rh},216:{n:\"SXRng\",f:Ih},217:{n:\"SxIsxoper\",f:Oh},218:{n:\"BookBool\",f:Dh},220:{n:\"DbOrParamQry\",f:Ph},221:{n:\"ScenarioProtect\",f:Tf},222:{n:\"OleObjectSize\",f:Fh},224:{n:\"XF\",f:function(e,t,r){var n={};return n.ifnt=e.read_shift(2),n.ifmt=e.read_shift(2),n.flags=e.read_shift(2),n.fStyle=n.flags>>2&1,t-=6,n.data=Jt(e,t,n.fStyle,r),n}},225:{n:\"InterfaceHdr\",f:function(e,t){if(0===t)return 1200;return e.read_shift(2),1200}},226:{n:\"InterfaceEnd\",f:uf},227:{n:\"SXVS\",f:Nh},229:{n:\"MergeCells\",f:function(e,t){for(var r=[],n=e.read_shift(2);n--;)r.push(Gt(e,t));return r}},233:{n:\"BkHim\",f:Lh},235:{n:\"MsoDrawingGroup\",f:Mh},236:{n:\"MsoDrawing\",f:Uh},237:{n:\"MsoDrawingSelection\",f:Wh},239:{n:\"PhoneticInfo\",f:zh},240:{n:\"SxRule\",f:Hh},241:{n:\"SXEx\",f:Vh},242:{n:\"SxFilt\",f:Xh},244:{n:\"SxDXF\",f:Gh},245:{n:\"SxItm\",f:jh},246:{n:\"SxName\",f:Yh},247:{n:\"SxSelect\",f:Kh},248:{n:\"SXPair\",f:$h},249:{n:\"SxFmla\",f:Zh},251:{n:\"SxFormat\",f:Qh},252:{n:\"SST\",f:function(e,t){for(var r=e.read_shift(4),n=e.read_shift(4),a=[],i=0;i!=n;++i)a.push(Pt(e));return a.Count=r,a.Unique=n,a}},253:{n:\"LabelSst\",f:function(e,t){var r=Wt(e);return r.isst=e.read_shift(4),r}},255:{n:\"ExtSST\",f:function(e,t){var r={};return r.dsst=e.read_shift(2),e.l+=t-2,r}},256:{n:\"SXVDEx\",f:qh},259:{n:\"SXFormula\",f:Jh},290:{n:\"SXDBEx\",f:eu},311:{n:\"RRDInsDel\",f:tu},312:{n:\"RRDHead\",f:ru},315:{n:\"RRDChgCell\",f:nu},317:{n:\"RRTabId\",f:_f},318:{n:\"RRDRenSheet\",f:au},319:{n:\"RRSort\",f:iu},320:{n:\"RRDMove\",f:su},330:{n:\"RRFormat\",f:ou},331:{n:\"RRAutoFmt\",f:lu},333:{n:\"RRInsertSh\",f:cu},334:{n:\"RRDMoveBegin\",f:fu},335:{n:\"RRDMoveEnd\",f:hu},336:{n:\"RRDInsDelBegin\",f:uu},337:{n:\"RRDInsDelEnd\",f:du},338:{n:\"RRDConflict\",f:pu},339:{n:\"RRDDefName\",f:gu},340:{n:\"RRDRstEtxp\",f:mu},351:{n:\"LRng\",f:bu},352:{n:\"UsesELFs\",f:If},353:{n:\"DSF\",f:ef},401:{n:\"CUsr\",f:vu},402:{n:\"CbUsr\",f:Eu},403:{n:\"UsrInfo\",f:Cu},404:{n:\"UsrExcl\",f:wu},405:{n:\"FileLock\",f:Su},406:{n:\"RRDInfo\",f:Au},407:{n:\"BCUsrs\",f:Bu},408:{n:\"UsrChk\",f:_u},425:{n:\"UserBView\",f:Tu},426:{n:\"UserSViewBegin\",f:yu},427:{n:\"UserSViewEnd\",f:ku},428:{n:\"RRDUserView\",f:xu},429:{n:\"Qsi\",f:Ru},430:{n:\"SupBook\",f:function(e,t,r){var n=e.l+t,a=e.read_shift(2),i=e.read_shift(2);if(r.sbcch=i,1025==i||14849==i)return[i,a];if(i<1||i>255)throw new Error(\"Unexpected SupBook type: \"+i);return[i,a,Ft(e,i),e.read_shift(n-e.l)]}},431:{n:\"Prot4Rev\",f:Cf},432:{n:\"CondFmt\",f:Iu},433:{n:\"CF\",f:Ou},434:{n:\"DVal\",f:Du},437:{n:\"DConBin\",f:Pu},438:{n:\"TxO\",f:function(e,t,r){var n=e.l,a=\"\";try{e.l+=4;var i=(r.lastobj||{cmo:[0,0]}).cmo[1];-1==[0,5,7,11,12,14].indexOf(i)?e.l+=6:wc(e,6,r);var s=e.read_shift(2),o=(e.read_shift(2),Rc(e,2),e.read_shift(2));e.l+=o;for(var l=1;l<e.lens.length-1;++l){if(e.l-n!=e.lens[l])throw new Error(\"TxO: bad continue record\");var c=e[e.l],f=Ft(e,e.lens[l+1]-e.lens[l]-1);if((a+=f).length>=(c?s:2*s))break}if(a.length!==s&&a.length!==2*s)throw new Error(\"cchText: \"+s+\" != \"+a.length);return e.l=n+t,{t:a}}catch(r){return e.l=n+t,{t:a}}}},439:{n:\"RefreshAll\",f:Af},440:{n:\"HLink\",f:function(e,t){var r=Gt(e,8);return e.l+=16,[r,Tc(e,t-24)]}},441:{n:\"Lel\",f:Fu},442:{n:\"CodeName\",f:Nu},443:{n:\"SXFDBType\",f:Lu},444:{n:\"Prot4RevPass\",f:wf},445:{n:\"ObNoMacros\",f:Mu},446:{n:\"Dv\",f:Uu},448:{n:\"Excel9File\",f:nf},449:{n:\"RecalcId\",f:function(e,t){return e.read_shift(2),e.read_shift(4)},r:2},450:{n:\"EntExU2\",f:tf},512:{n:\"Dimensions\",f:qt},513:{n:\"Blank\",f:Wc},515:{n:\"Number\",f:function(e,t){var r=Wt(e,6),n=Le(e,8);return r.val=n,r}},516:{n:\"Label\",f:function(e,t,r){var n=e.l+t,a=Wt(e,6);2==r.biff&&e.l++;var i=Nt(e,n-e.l,r);return a.val=i,a}},517:{n:\"BoolErr\",f:er},518:{n:\"Formula\",f:ma},519:{n:\"String\",f:kf},520:{n:\"Row\",f:function(e,t){var r={};r.r=e.read_shift(2),r.c=e.read_shift(2),r.cnt=e.read_shift(2)-r.c;var n=e.read_shift(2);e.l+=4;var a=e.read_shift(1);return e.l+=3,32&a&&(r.hidden=!0),64&a&&(r.hpt=n/20),r}},523:{n:\"Index\",f:Wu},545:{n:\"Array\",f:nr},549:{n:\"DefaultRowHeight\",f:Qt},566:{n:\"Table\",f:zu},574:{n:\"Window2\",f:Mc},638:{n:\"RK\",f:function(e,t){var r=e.read_shift(2),n=e.read_shift(2),a=Vt(e);return{r:r,c:n,ixfe:a[0],rknum:a[1]}}},659:{n:\"Style\",f:Nc},1030:{n:\"Formula\",f:ma},1048:{n:\"BigName\",f:Hu},1054:{n:\"Format\",f:function(e,t,r){return[e.read_shift(2),Lt(e,0,r)]}},1084:{n:\"ContinueBigName\",f:Vu},1212:{n:\"ShrFmla\",f:function(e,t,r){jt(e,6);e.l++;var n=e.read_shift(1);return t-=8,[wa(e,t,r),n]}},2048:{n:\"HLinkTooltip\",f:function(e,t){e.l;e.read_shift(2);var r=Gt(e,8),n=e.read_shift((t-10)/2,\"dbcs-cont\");return n=n.replace(To,\"\"),[r,n]}},2049:{n:\"WebPub\",f:Xu},2050:{n:\"QsiSXTag\",f:Gu},2051:{n:\"DBQueryExt\",f:ju},2052:{n:\"ExtString\",f:Yu},2053:{n:\"TxtQry\",f:Ku},2054:{n:\"Qsir\",f:$u},2055:{n:\"Qsif\",f:Zu},2056:{n:\"RRDTQSIF\",f:Qu},2057:{n:\"BOF\",f:Zt},2058:{n:\"OleDbConn\",f:qu},2059:{n:\"WOpt\",f:Ju},2060:{n:\"SXViewEx\",f:ed},2061:{n:\"SXTH\",f:td},2062:{n:\"SXPIEx\",f:rd},2063:{n:\"SXVDTEx\",f:nd},2064:{n:\"SXViewEx9\",f:ad},2066:{n:\"ContinueFrt\",f:id},2067:{n:\"RealTimeData\",f:sd},2128:{n:\"ChartFrtInfo\",f:od},2129:{n:\"FrtWrapper\",f:ld},2130:{n:\"StartBlock\",f:cd},2131:{n:\"EndBlock\",f:fd},2132:{n:\"StartObject\",f:hd},2133:{n:\"EndObject\",f:ud},2134:{n:\"CatLab\",f:dd},2135:{n:\"YMult\",f:pd},2136:{n:\"SXViewLink\",f:gd},2137:{n:\"PivotChartBits\",f:md},2138:{n:\"FrtFontList\",f:bd},2146:{n:\"SheetExt\",f:vd},2147:{n:\"BookExt\",f:Ed,r:12},2148:{n:\"SXAddl\",f:Cd},2149:{n:\"CrErr\",f:wd},2150:{n:\"HFPicture\",f:Sd},2151:{n:\"FeatHdr\",f:af},2152:{n:\"Feat\",f:Ad},2154:{n:\"DataLabExt\",f:Bd},2155:{n:\"DataLabExtContents\",f:_d},2156:{n:\"CellWatch\",f:Td},2161:{n:\"FeatHdr11\",f:yd},2162:{n:\"Feature11\",f:kd},2164:{n:\"DropDownObjIds\",f:xd},2165:{n:\"ContinueFrt11\",f:Rd},2166:{n:\"DConn\",f:Id},2167:{n:\"List12\",f:Od},2168:{n:\"Feature12\",f:Dd},2169:{n:\"CondFmt12\",f:Pd},2170:{n:\"CF12\",f:Fd},2171:{n:\"CFEx\",f:Nd},2172:{n:\"XFCRC\",f:function(e,t){e.l+=2;var r={cxfs:0,crc:0};return r.cxfs=e.read_shift(2),r.crc=e.read_shift(4),r},r:12},2173:{n:\"XFExt\",f:function(e,t){var r=e.l+t;e.l+=2;var n=e.read_shift(2);e.l+=2;for(var a=e.read_shift(2),i=[];a-- >0;)i.push(Nn(e,r-e.l));return{ixfe:n,ext:i}},r:12},2174:{n:\"AutoFilter12\",f:Ld},2175:{n:\"ContinueFrt12\",f:Md},2180:{n:\"MDTInfo\",f:Ud},2181:{n:\"MDXStr\",f:Wd},2182:{n:\"MDXTuple\",f:zd},2183:{n:\"MDXSet\",f:Hd},2184:{n:\"MDXProp\",f:Vd},2185:{n:\"MDXKPI\",f:Xd},2186:{n:\"MDB\",f:Gd},2187:{n:\"PLV\",f:jd},2188:{n:\"Compat12\",f:Qc,r:12},2189:{n:\"DXF\",f:Yd},2190:{n:\"TableStyles\",f:Kd,r:12},2191:{n:\"TableStyle\",f:$d},2192:{n:\"TableStyleElement\",f:Zd},2194:{n:\"StyleExt\",f:Lc},2195:{n:\"NamePublish\",f:Qd},2196:{n:\"NameCmt\",f:function(e,t,r){if(!(r.biff<8)){var n=e.read_shift(2),a=e.read_shift(2);return[Ft(e,n,r),Ft(e,a,r)]}e.l+=t},r:12},2197:{n:\"SortData\",f:qd},2198:{n:\"Theme\",f:function(e,t,r){124226!==e.read_shift(4)&&(e.l+=t-4)},r:12},2199:{n:\"GUIDTypeLib\",f:Jd},2200:{n:\"FnGrp12\",f:ep},2201:{n:\"NameFnGrp12\",f:tp},2202:{n:\"MTRSettings\",f:function(e,t){return[0!==e.read_shift(4),0!==e.read_shift(4),e.read_shift(4)]},r:12},2203:{n:\"CompressPictures\",f:Ic},2204:{n:\"HeaderFooter\",f:rp},2205:{n:\"CrtLayout12\",f:np},2206:{n:\"CrtMlFrt\",f:ap},2207:{n:\"CrtMlFrtContinue\",f:ip},2211:{n:\"ForceFullCalculation\",f:function(e,t){var r=zt(e);if(2211!=r.type)throw new Error(\"Invalid Future Record \"+r.type);return 0!==e.read_shift(4)}},2212:{n:\"ShapePropsStream\",f:sp},2213:{n:\"TextPropsStream\",f:op},2214:{n:\"RichTextStream\",f:lp},2215:{n:\"CrtLayout12A\",f:cp},4097:{n:\"Units\",f:fp},4098:{n:\"Chart\",f:hp},4099:{n:\"Series\",f:up},4102:{n:\"DataFormat\",f:dp},4103:{n:\"LineFormat\",f:pp},4105:{n:\"MarkerFormat\",f:gp},4106:{n:\"AreaFormat\",f:mp},4107:{n:\"PieFormat\",f:bp},4108:{n:\"AttachedLabel\",f:vp},4109:{n:\"SeriesText\",f:Ep},4116:{n:\"ChartFormat\",f:Cp},4117:{n:\"Legend\",f:wp},4118:{n:\"SeriesList\",f:Sp},4119:{n:\"Bar\",f:Ap},4120:{n:\"Line\",f:Bp},4121:{n:\"Pie\",f:_p},4122:{n:\"Area\",f:Tp},4123:{n:\"Scatter\",f:yp},4124:{n:\"CrtLine\",f:kp},4125:{n:\"Axis\",f:xp},4126:{n:\"Tick\",f:Rp},4127:{n:\"ValueRange\",f:Ip},4128:{n:\"CatSerRange\",f:Op},4129:{n:\"AxisLine\",f:Dp},4130:{n:\"CrtLink\",f:Pp},4132:{n:\"DefaultText\",f:Fp},4133:{n:\"Text\",f:Np},4134:{n:\"FontX\",f:sf},4135:{n:\"ObjectLink\",f:Lp},4146:{n:\"Frame\",f:Mp},4147:{n:\"Begin\",f:Up},4148:{n:\"End\",f:Wp},4149:{n:\"PlotArea\",f:zp},4154:{n:\"Chart3d\",f:Hp},4156:{n:\"PicF\",f:Vp},4157:{n:\"DropBar\",f:Xp},4158:{n:\"Radar\",f:Gp},4159:{n:\"Surf\",f:jp},4160:{n:\"RadarArea\",f:Yp},4161:{n:\"AxisParent\",f:Kp},4163:{n:\"LegendException\",f:$p},4164:{n:\"ShtProps\",f:function(e,t,r){var n={area:!1};if(5!=r.biff)return e.l+=t,n;var a=e.read_shift(1);return e.l+=3,16&a&&(n.area=!0),n}},4165:{n:\"SerToCrt\",f:Zp},4166:{n:\"AxesUsed\",f:Qp},4168:{n:\"SBaseRef\",f:qp},4170:{n:\"SerParent\",f:Jp},4171:{n:\"SerAuxTrend\",f:eg},4174:{n:\"IFmtRecord\",f:tg},4175:{n:\"Pos\",f:rg},4176:{n:\"AlRuns\",f:ng},4177:{n:\"BRAI\",f:ag},4187:{n:\"SerAuxErrBar\",f:ig},4188:{n:\"ClrtClient\",f:function(e,t){for(var r=e.read_shift(2),n=[];r-- >0;)n.push(Ut(e,8));return n}},4189:{n:\"SerFmt\",f:sg},4191:{n:\"Chart3DBarShape\",f:og},4192:{n:\"Fbi\",f:lg},4193:{n:\"BopPop\",f:cg},4194:{n:\"AxcExt\",f:fg},4195:{n:\"Dat\",f:hg},4196:{n:\"PlotGrowth\",f:ug},4197:{n:\"SIIndex\",f:dg},4198:{n:\"GelFrame\",f:pg},4199:{n:\"BopPopCustom\",f:gg},4200:{n:\"Fbi2\",f:mg},0:{n:\"Dimensions\",f:qt},2:{n:\"BIFF2INT\",f:function(e,t){var r=Wt(e,6);++e.l;var n=e.read_shift(2);return r.t=\"n\",r.val=n,r}},5:{n:\"BoolErr\",f:er},7:{n:\"String\",f:function(e,t){var r=e.read_shift(1);return 0===r?(e.l++,\"\"):e.read_shift(r,\"sbcs-cont\")}},8:{n:\"BIFF2ROW\",f:Z},11:{n:\"Index\",f:Wu},22:{n:\"ExternCount\",f:Z},30:{n:\"BIFF2FORMAT\",f:Oc},31:{n:\"BIFF2FMTCNT\",f:Z},32:{n:\"BIFF2COLINFO\",f:Z},33:{n:\"Array\",f:nr},37:{n:\"DefaultRowHeight\",f:Qt},50:{n:\"BIFF2FONTXTRA\",f:function(e,t){e.l+=6,e.l+=2,e.l+=1,e.l+=3,e.l+=1,e.l+=t-13}},62:{n:\"BIFF2WINDOW2\",f:Z},69:{n:\"BIFF2FONTCLR\",f:Z},86:{n:\"BIFF4FMTCNT\",f:Z},126:{n:\"RK\",f:Z},127:{n:\"ImData\",f:function(e,t,r){e.l;var n=e.read_shift(2),a=e.read_shift(2),i=e.read_shift(4),s={fmt:n,env:a,len:i,data:e.slice(e.l,e.l+i)};return e.l+=i,s}},135:{n:\"Addin\",f:Z},136:{n:\"Edg\",f:Z},137:{n:\"Pub\",f:Z},145:{n:\"Sub\",f:Z},148:{n:\"LHRecord\",f:Z},149:{n:\"LHNGraph\",f:Z},150:{n:\"Sound\",f:Z},169:{n:\"CoordList\",f:Z},171:{n:\"GCW\",f:Z},188:{n:\"ShrFmla\",f:Z},194:{n:\"AddMenu\",f:Z},195:{n:\"DelMenu\",f:Z},214:{n:\"RString\",f:function(e,t,r){var n=e.l+t,a=Wt(e,6),i=Ft(e,e.read_shift(2),r);return e.l=n,a.t=\"str\",a.val=i,a}},223:{n:\"UDDesc\",f:Z},234:{n:\"TabIdConf\",f:Z},354:{n:\"XL5Modify\",f:Z},421:{n:\"FileSharing2\",f:Z},521:{n:\"BOF\",f:Zt},536:{n:\"Lbl\",f:rr},547:{n:\"ExternName\",f:tr},561:{n:\"Font\",f:Z},1033:{n:\"BOF\",f:Zt},2157:{n:\"FeatInfo\",f:Z},2163:{n:\"FeatInfo11\",f:Z},2177:{n:\"SXAddl12\",f:Z},2240:{n:\"AutoWebPub\",f:Z},2241:{n:\"ListObj\",f:Z},2242:{n:\"ListField\",f:Z},2243:{n:\"ListDV\",f:Z},2244:{n:\"ListCondFmt\",f:Z},2245:{n:\"ListCF\",f:Z},2246:{n:\"FMQry\",f:Z},2247:{n:\"FMSQry\",f:Z},2248:{n:\"PLV\",f:Z},2249:{n:\"LnExt\",f:Z},2250:{n:\"MkrExt\",f:Z},2251:{n:\"CrtCoopt\",f:Z},67:{n:\"BIFF2XF\",f:Z},579:{n:\"BIFF3XF\",f:Z},1091:{n:\"BIFF4XF\",f:Z},29282:{}},Xm=function(){function e(e,t){var r=t||{};null!=So&&null==r.dense&&(r.dense=So);var n=r.dense?[]:{},a=e.indexOf(\"<table\"),i=e.indexOf(\"</table\");if(-1==a||-1==i)throw new Error(\"Invalid HTML: missing <table> / </table> pair\");var s=e.slice(a,i).split(/(:?<tr[^>]*>)/),o=-1,l=0,c=0,f=0,h={s:{r:1e7,c:1e7},e:{r:0,c:0}},u=[];for(a=0;a<s.length;++a){var d=s[a].trim();if(\"<tr\"!=d.substr(0,3)){if(\"<td\"==d.substr(0,3)){var p=d.split(\"</td>\");for(i=0;i<p.length;++i){var g=p[i].trim();if(\"<td\"==g.substr(0,3)){for(var m=g,b=0;\"<\"==m.charAt(0)&&(b=m.indexOf(\">\"))>-1;)m=m.slice(b+1);for(;m.indexOf(\">\")>-1;)m=m.slice(0,m.lastIndexOf(\"<\"));var v=O(g.slice(0,g.indexOf(\">\")));if(f=v.colspan?+v.colspan:1,((c=+v.rowspan)>0||f>1)&&u.push({s:{r:o,c:l},e:{r:o+(c||1)-1,c:l+f-1}}),m.length){if(m=Go(m).replace(/[\\r\\n]/g,\"\"),h.s.r>o&&(h.s.r=o),h.e.r<o&&(h.e.r=o),h.s.c>l&&(h.s.c=l),h.e.c<l&&(h.e.c=l),r.dense)n[o]||(n[o]=[]),Number(m)==Number(m)?n[o][l]={t:\"n\",v:+m}:n[o][l]={t:\"s\",v:m};else{var E=ge({r:o,c:l});Number(m)==Number(m)?n[E]={t:\"n\",v:+m}:n[E]={t:\"s\",v:m}}l+=f}else l+=f}}}}else++o,l=0}return n[\"!ref\"]=be(h),n}function t(e,t,r,n){for(var a=e[\"!merges\"]||[],i=[],s=\"<td\"+(n.editable?' contenteditable=\"true\"':\"\")+\"></td>\",o=t.s.c;o<=t.e.c;++o){for(var l=0,c=0,f=0;f<a.length;++f)if(!(a[f].s.r>r||a[f].s.c>o||a[f].e.r<r||a[f].e.c<o)){if(a[f].s.r<r||a[f].s.c<o){l=-1;break}l=a[f].e.r-a[f].s.r+1,c=a[f].e.c-a[f].s.c+1;break}if(!(l<0)){var h=ge({r:r,c:o}),u=n.dense?(e[r]||[])[o]:e[h];if(u&&null!=u.v){var d=u.h||P(u.w||(Ce(u),u.w)||\"\"),p={};l>1&&(p.rowspan=l),c>1&&(p.colspan=c),n.editable&&(p.contenteditable=\"true\"),p.id=\"sjs-\"+h,i.push(z(\"td\",d,p))}else i.push(s)}}return\"<tr>\"+i.join(\"\")+\"</tr>\"}function r(e,t,r){return[].join(\"\")+\"<table>\"}var n='<html><head><meta charset=\"utf-8\"/><title>SheetJS Table Export</title></head><body>',a=\"</body></html>\";return{to_workbook:function(t,r){return we(e(t,r),r)},to_sheet:e,_row:t,BEGIN:n,END:a,_preamble:r,from_sheet:function(e,i,s){var o=i||{},l=null!=o.header?o.header:n,c=null!=o.footer?o.footer:a,f=[l],h=me(e[\"!ref\"]);o.dense=Array.isArray(e),f.push(r(e,h,o));for(var u=h.s.r;u<=h.e.r;++u)f.push(t(e,h,u,o));return f.push(\"</table>\"+c),f.join(\"\")}}}(),Gm=function(){var e=function(e,t){return Go(e.replace(/<text:s\\/>/g,\" \").replace(/<[^>]*>/g,\"\"))},t={day:[\"d\",\"dd\"],month:[\"m\",\"mm\"],year:[\"y\",\"yy\"],hours:[\"h\",\"hh\"],minutes:[\"m\",\"mm\"],seconds:[\"s\",\"ss\"],\"am-pm\":[\"A/P\",\"AM/PM\"],\"day-of-week\":[\"ddd\",\"dddd\"]};return function(r,n){var a=n||{};null!=So&&null==a.dense&&(a.dense=So);var i,s,o,l,c,f,h=us(r),u=[],d={name:\"\"},p=\"\",m=0,E={},C=[],S=a.dense?[]:{},A={value:\"\"},B=\"\",_=0,T=-1,y=-1,k={s:{r:1e6,c:1e7},e:{r:0,c:0}},x={},R=[],I={},D=[],P=[],F={},N=\"\",M=0,U=1,W=!1,z=0;for(Wm.lastIndex=0,h=h.replace(/<!--([\\s\\S]*?)-->/gm,\"\").replace(/<!DOCTYPE[^\\[]*\\[[^\\]]*\\]>/gm,\"\");c=Wm.exec(h);)switch(c[3]=c[3].replace(/_.*$/,\"\")){case\"table\":case\"工作表\":\"/\"===c[1]?(k.e.c>=k.s.c&&k.e.r>=k.s.r&&(S[\"!ref\"]=be(k)),R.length&&(S[\"!merges\"]=R),o.name=Qo(o[\"名称\"]||o.name),C.push(o.name),E[o.name]=S):\"/\"!==c[0].charAt(c[0].length-2)&&(o=O(c[0],!1),T=y=-1,k.s.r=k.s.c=1e7,k.e.r=k.e.c=0,S=a.dense?[]:{},R=[]);break;case\"table-row\":case\"行\":if(\"/\"===c[1])break;(l=O(c[0],!1))[\"行号\"]?T=l[\"行号\"]-1:++T,y=-1;break;case\"covered-table-cell\":++y,a.sheetStubs&&(a.dense?(S[T]||(S[T]=[]),S[T][y]={t:\"z\"}):S[ge({r:T,c:y})]={t:\"z\"});break;case\"table-cell\":case\"数据\":if(\"/\"===c[0].charAt(c[0].length-2))(A=O(c[0],!1))[\"number-columns-repeated\"]?y+=parseInt(A[\"number-columns-repeated\"],10):++y;else if(\"/\"!==c[1]){if(++y,U=1,y>k.e.c&&(k.e.c=y),T>k.e.r&&(k.e.r=T),y<k.s.c&&(k.s.c=y),T<k.s.r&&(k.s.r=T),A=O(c[0],!1),P=[],F={},f={t:A[\"数据类型\"]||A[\"value-type\"],v:null},a.cellFormula)if(A.formula&&(A.formula=Go(A.formula)),A[\"number-matrix-columns-spanned\"]&&A[\"number-matrix-rows-spanned\"]&&(I={s:{r:T,c:y},e:{r:T+(parseInt(A[\"number-matrix-rows-spanned\"],10)||0)-1,c:y+(parseInt(A[\"number-matrix-columns-spanned\"],10)||0)-1}},f.F=be(I),D.push([I,f.F])),A.formula)f.f=ya(A.formula);else for(z=0;z<D.length;++z)T>=D[z][0].s.r&&T<=D[z][0].e.r&&y>=D[z][0].s.c&&y<=D[z][0].e.c&&(f.F=D[z][1]);switch((A[\"number-columns-spanned\"]||A[\"number-rows-spanned\"])&&(I={s:{r:T,c:y},e:{r:T+(parseInt(A[\"number-rows-spanned\"],10)||0)-1,c:y+(parseInt(A[\"number-columns-spanned\"],10)||0)-1}},R.push(I)),A[\"number-columns-repeated\"]&&(U=parseInt(A[\"number-columns-repeated\"],10)),f.t){case\"boolean\":f.t=\"b\",f.v=L(A[\"boolean-value\"]);break;case\"float\":case\"percentage\":case\"currency\":f.t=\"n\",f.v=parseFloat(A.value);break;case\"date\":f.t=\"d\",f.v=v(A[\"date-value\"]),a.cellDates||(f.t=\"n\",f.v=g(f.v)),f.z=\"m/d/yy\";break;case\"time\":f.t=\"n\",f.v=b(A[\"time-value\"])/86400;break;case\"number\":f.t=\"n\",f.v=parseFloat(A[\"数据数值\"]);break;default:if(\"string\"!==f.t&&\"text\"!==f.t&&f.t)throw new Error(\"Unsupported value type \"+f.t);f.t=\"s\",null!=A[\"string-value\"]&&(B=Go(A[\"string-value\"]))}}else{if(W=!1,\"s\"===f.t&&(f.v=B||\"\",W=0==_),P.length>0&&(f.c=P,P=[]),B&&!1!==a.cellText&&(f.w=B),!W||a.sheetStubs){if(!(a.sheetRows&&a.sheetRows<T)){if(a.dense)for(S[T]||(S[T]=[]),S[T][y]=f;--U>0;)S[T][++y]=w(f);else for(S[ge({r:T,c:y})]=f;--U>0;)S[ge({r:T,c:++y})]=w(f);k.e.c<=y&&(k.e.c=y)}}else y+=U,U=0;f={},B=\"\"}break;case\"document\":case\"document-content\":case\"电子表格文档\":case\"spreadsheet\":case\"主体\":case\"scripts\":case\"styles\":case\"font-face-decls\":if(\"/\"===c[1]){if((i=u.pop())[0]!==c[3])throw\"Bad state: \"+i}else\"/\"!==c[0].charAt(c[0].length-2)&&u.push([c[3],!0]);break;case\"annotation\":if(\"/\"===c[1]){if((i=u.pop())[0]!==c[3])throw\"Bad state: \"+i;F.t=B,F.a=N,P.push(F)}else\"/\"!==c[0].charAt(c[0].length-2)&&u.push([c[3],!1]);N=\"\",M=0,B=\"\",_=0;break;case\"creator\":\"/\"===c[1]?N=h.slice(M,c.index):M=c.index+c[0].length;break;case\"meta\":case\"元数据\":case\"settings\":case\"config-item-set\":case\"config-item-map-indexed\":case\"config-item-map-entry\":case\"config-item-map-named\":case\"shapes\":case\"frame\":case\"text-box\":case\"image\":case\"data-pilot-tables\":case\"list-style\":case\"form\":case\"dde-links\":case\"event-listeners\":if(\"/\"===c[1]){if((i=u.pop())[0]!==c[3])throw\"Bad state: \"+i}else\"/\"!==c[0].charAt(c[0].length-2)&&u.push([c[3],!1]);B=\"\",_=0;break;case\"scientific-number\":case\"currency-symbol\":case\"currency-style\":break;case\"number-style\":case\"percentage-style\":case\"date-style\":case\"time-style\":if(\"/\"===c[1]){if(x[d.name]=p,(i=u.pop())[0]!==c[3])throw\"Bad state: \"+i}else\"/\"!==c[0].charAt(c[0].length-2)&&(p=\"\",d=O(c[0],!1),u.push([c[3],!0]));break;case\"script\":case\"libraries\":case\"automatic-styles\":case\"master-styles\":break;case\"default-style\":case\"page-layout\":case\"style\":case\"map\":case\"font-face\":case\"paragraph-properties\":case\"table-properties\":case\"table-column-properties\":case\"table-row-properties\":case\"table-cell-properties\":break;case\"number\":switch(u[u.length-1][0]){case\"time-style\":case\"date-style\":s=O(c[0],!1),p+=t[c[3]][\"long\"===s.style?1:0]}break;case\"fraction\":break;case\"day\":case\"month\":case\"year\":case\"era\":case\"day-of-week\":case\"week-of-year\":case\"quarter\":case\"hours\":case\"minutes\":case\"seconds\":case\"am-pm\":switch(u[u.length-1][0]){case\"time-style\":case\"date-style\":s=O(c[0],!1),p+=t[c[3]][\"long\"===s.style?1:0]}break;case\"boolean-style\":case\"boolean\":case\"text-style\":break;case\"text\":if(\"/>\"===c[0].slice(-2))break;if(\"/\"===c[1])switch(u[u.length-1][0]){case\"number-style\":case\"date-style\":case\"time-style\":p+=h.slice(m,c.index)}else m=c.index+c[0].length;break;case\"text-content\":case\"text-properties\":break;case\"body\":case\"电子表格\":case\"forms\":case\"table-column\":case\"null-date\":case\"graphic-properties\":case\"calculation-settings\":case\"named-expressions\":case\"named-range\":case\"named-expression\":case\"sort\":case\"sort-by\":case\"sort-groups\":case\"span\":case\"line-break\":break;case\"p\":case\"文本串\":\"/\"===c[1]?B=(B.length>0?B+\"\\n\":\"\")+e(h.slice(_,c.index)):(O(c[0],!1),_=c.index+c[0].length);break;case\"database-range\":if(\"/\"===c[1])break;try{var H=xa(O(c[0])[\"target-range-address\"]);E[H[0]][\"!autofilter\"]={ref:H[1]}}catch(e){}break;case\"s\":case\"date\":case\"object\":break;case\"title\":case\"标题\":case\"desc\":case\"table-source\":case\"iteration\":case\"content-validations\":case\"content-validation\":case\"error-message\":case\"database-ranges\":case\"filter\":case\"filter-and\":case\"filter-or\":case\"filter-condition\":case\"list-level-style-bullet\":case\"list-level-style-number\":case\"list-level-properties\":break;case\"sender-firstname\":case\"sender-lastname\":case\"sender-initials\":case\"sender-title\":case\"sender-position\":case\"sender-email\":case\"sender-phone-private\":case\"sender-fax\":case\"sender-company\":case\"sender-phone-work\":case\"sender-street\":case\"sender-city\":case\"sender-postal-code\":case\"sender-country\":case\"sender-state-or-province\":case\"author-name\":case\"author-initials\":case\"chapter\":case\"file-name\":case\"template-name\":case\"sheet-name\":case\"event-listener\":break;case\"initial-creator\":case\"creation-date\":case\"generator\":case\"document-statistic\":case\"user-defined\":case\"config-item\":case\"page-number\":case\"page-count\":case\"time\":break;case\"data-pilot-table\":case\"source-cell-range\":case\"source-service\":case\"data-pilot-field\":case\"data-pilot-level\":case\"data-pilot-subtotals\":case\"data-pilot-subtotal\":case\"data-pilot-members\":case\"data-pilot-member\":case\"data-pilot-display-info\":case\"data-pilot-sort-info\":case\"data-pilot-layout-info\":case\"data-pilot-field-reference\":case\"data-pilot-groups\":case\"data-pilot-group\":case\"data-pilot-group-member\":case\"rect\":break;case\"dde-connection-decls\":case\"dde-connection-decl\":case\"dde-link\":case\"dde-source\":case\"properties\":case\"property\":case\"a\":case\"table-protection\":case\"data-pilot-grand-total\":break;default:if(\"dc:\"===c[2])break;if(\"draw:\"===c[2])break;if(\"style:\"===c[2])break;if(\"calcext:\"===c[2])break;if(\"loext:\"===c[2])break;if(\"uof:\"===c[2])break;if(\"表:\"===c[2])break;if(\"字:\"===c[2])break;if(a.WTF)throw new Error(c)}return{Sheets:E,SheetNames:C}}}(),jm=function(e,t){return'<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><office:document-styles xmlns:table=\"urn:oasis:names:tc:opendocument:xmlns:table:1.0\" xmlns:office=\"urn:oasis:names:tc:opendocument:xmlns:office:1.0\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\" xmlns:draw=\"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:number=\"urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0\" xmlns:svg=\"urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0\" xmlns:of=\"urn:oasis:names:tc:opendocument:xmlns:of:1.2\" office:version=\"1.2\"></office:document-styles>'},Ym=function(){var e=\"          <table:table-cell />\\n\",t=function(t,r,n,a){var i=[];i.push('      <table:table table:name=\"'+P(r.SheetNames[n])+'\">\\n');var s=0,o=0,l=me(t[\"!ref\"]),c=t[\"!merges\"]||[],f=0,h=Array.isArray(t);for(s=0;s<l.s.r;++s)i.push(\"        <table:table-row></table:table-row>\\n\");for(;s<=l.e.r;++s){for(i.push(\"        <table:table-row>\\n\"),o=0;o<l.s.c;++o)i.push(e);for(;o<=l.e.c;++o){var u=!1,d={},p=\"\";for(f=0;f!=c.length;++f)if(!(c[f].s.c>o||c[f].s.r>s||c[f].e.c<o||c[f].e.r<s)){c[f].s.c==o&&c[f].s.r==s||(u=!0),d[\"table:number-columns-spanned\"]=c[f].e.c-c[f].s.c+1,d[\"table:number-rows-spanned\"]=c[f].e.r-c[f].s.r+1;break}if(u)i.push(\"          <table:covered-table-cell/>\\n\");else{var g=ge({r:s,c:o}),m=h?(t[s]||[])[o]:t[g];if(m&&m.f&&(d[\"table:formula\"]=P(ka(m.f)),m.F&&m.F.substr(0,g.length)==g)){var b=me(m.F);d[\"table:number-matrix-columns-spanned\"]=b.e.c-b.s.c+1,d[\"table:number-matrix-rows-spanned\"]=b.e.r-b.s.r+1}if(m){switch(m.t){case\"b\":p=m.v?\"TRUE\":\"FALSE\",d[\"office:value-type\"]=\"boolean\",d[\"office:boolean-value\"]=m.v?\"true\":\"false\";break;case\"n\":p=m.w||String(m.v||0),d[\"office:value-type\"]=\"float\",d[\"office:value\"]=m.v||0;break;case\"s\":case\"str\":p=P(m.v),d[\"office:value-type\"]=\"string\";break;case\"d\":p=m.w||v(m.v).toISOString(),d[\"office:value-type\"]=\"date\",d[\"office:date-value\"]=v(m.v).toISOString(),d[\"table:style-name\"]=\"ce1\";break;default:i.push(e);continue}i.push(\"          \"+z(\"table:table-cell\",z(\"text:p\",p,{}),d)+\"\\n\")}else i.push(e)}}i.push(\"        </table:table-row>\\n\")}return i.push(\"      </table:table>\\n\"),i.join(\"\")},r=function(e){e.push(\" <office:automatic-styles>\\n\"),e.push('  <number:date-style style:name=\"N37\" number:automatic-order=\"true\">\\n'),e.push('   <number:month number:style=\"long\"/>\\n'),e.push(\"   <number:text>/</number:text>\\n\"),e.push('   <number:day number:style=\"long\"/>\\n'),e.push(\"   <number:text>/</number:text>\\n\"),e.push(\"   <number:year/>\\n\"),e.push(\"  </number:date-style>\\n\"),e.push('  <style:style style:name=\"ce1\" style:family=\"table-cell\" style:parent-style-name=\"Default\" style:data-style-name=\"N37\"/>\\n'),e.push(\" </office:automatic-styles>\\n\")};return function(e,n){var a=[sl],i=W({\"xmlns:office\":\"urn:oasis:names:tc:opendocument:xmlns:office:1.0\",\"xmlns:table\":\"urn:oasis:names:tc:opendocument:xmlns:table:1.0\",\"xmlns:style\":\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\",\"xmlns:text\":\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\",\"xmlns:draw\":\"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0\",\"xmlns:fo\":\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",\"xmlns:dc\":\"http://purl.org/dc/elements/1.1/\",\"xmlns:meta\":\"urn:oasis:names:tc:opendocument:xmlns:meta:1.0\",\"xmlns:number\":\"urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0\",\"xmlns:presentation\":\"urn:oasis:names:tc:opendocument:xmlns:presentation:1.0\",\"xmlns:svg\":\"urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0\",\"xmlns:chart\":\"urn:oasis:names:tc:opendocument:xmlns:chart:1.0\",\"xmlns:dr3d\":\"urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0\",\"xmlns:math\":\"http://www.w3.org/1998/Math/MathML\",\"xmlns:form\":\"urn:oasis:names:tc:opendocument:xmlns:form:1.0\",\"xmlns:script\":\"urn:oasis:names:tc:opendocument:xmlns:script:1.0\",\"xmlns:ooo\":\"http://openoffice.org/2004/office\",\"xmlns:ooow\":\"http://openoffice.org/2004/writer\",\"xmlns:oooc\":\"http://openoffice.org/2004/calc\",\"xmlns:dom\":\"http://www.w3.org/2001/xml-events\",\"xmlns:xforms\":\"http://www.w3.org/2002/xforms\",\"xmlns:xsd\":\"http://www.w3.org/2001/XMLSchema\",\"xmlns:xsi\":\"http://www.w3.org/2001/XMLSchema-instance\",\"xmlns:sheet\":\"urn:oasis:names:tc:opendocument:sh33tjs:1.0\",\"xmlns:rpt\":\"http://openoffice.org/2005/report\",\"xmlns:of\":\"urn:oasis:names:tc:opendocument:xmlns:of:1.2\",\"xmlns:xhtml\":\"http://www.w3.org/1999/xhtml\",\"xmlns:grddl\":\"http://www.w3.org/2003/g/data-view#\",\"xmlns:tableooo\":\"http://openoffice.org/2009/table\",\"xmlns:drawooo\":\"http://openoffice.org/2010/draw\",\"xmlns:calcext\":\"urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0\",\"xmlns:loext\":\"urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0\",\"xmlns:field\":\"urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0\",\"xmlns:formx\":\"urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0\",\"xmlns:css3t\":\"http://www.w3.org/TR/css3-text/\",\"office:version\":\"1.2\"}),s=W({\"xmlns:config\":\"urn:oasis:names:tc:opendocument:xmlns:config:1.0\",\"office:mimetype\":\"application/vnd.oasis.opendocument.spreadsheet\"});\"fods\"==n.bookType?a.push(\"<office:document\"+i+s+\">\\n\"):a.push(\"<office:document-content\"+i+\">\\n\"),r(a),a.push(\"  <office:body>\\n\"),a.push(\"    <office:spreadsheet>\\n\");for(var o=0;o!=e.SheetNames.length;++o)a.push(t(e.Sheets[e.SheetNames[o]],e,o));return a.push(\"    </office:spreadsheet>\\n\"),a.push(\"  </office:body>\\n\"),\"fods\"==n.bookType?a.push(\"</office:document>\"):a.push(\"</office:document-content>\"),a.join(\"\")}}(),Km=js(Xm),$m=js({from_sheet:mo}),Zm=js(vg),Qm=js(Eg),qm=js(Cg),Jm=js({from_sheet:function(e,t){t||(t={}),t.FS=\"\\t\",t.RS=\"\\n\";var r=mo(e,t);return\"undefined\"==typeof cptable?r:\"ÿþ\"+cptable.utils.encode(1200,r)}}),eb=Ys([[\"cellNF\",!1],[\"cellHTML\",!0],[\"cellFormula\",!0],[\"cellStyles\",!1],[\"cellText\",!0],[\"cellDates\",!1],[\"sheetStubs\",!1],[\"sheetRows\",0,\"n\"],[\"bookDeps\",!1],[\"bookSheets\",!1],[\"bookProps\",!1],[\"bookFiles\",!1],[\"bookVBA\",!1],[\"password\",\"\"],[\"WTF\",!1]]),tb=Ys([[\"cellDates\",!1],[\"bookSST\",!1],[\"bookType\",\"xlsx\"],[\"compression\",!1],[\"WTF\",!1]]),rb=function(e){return\"/\"!=e.slice(-1)},nb=/\"/g,ab={encode_col:fe,encode_row:se,encode_cell:ge,encode_range:be,decode_col:ce,decode_row:ie,split_cell:de,decode_cell:pe,decode_range:me,format_cell:Ce,get_formulae:bo,make_csv:mo,make_json:po,make_formulae:bo,aoa_to_sheet:Se,json_to_sheet:function(e,t){for(var r,n=t||{},a={},i={s:{c:0,r:0},e:{c:0,r:e.length}},s=n.header||[],o=0,l=0;l!=e.length;++l)Object.keys(e[l]).filter(function(t){return e[l].hasOwnProperty(t)}).forEach(function(t){-1==(o=s.indexOf(t))&&(s[o=s.length]=t);var i=e[l][t],c=\"z\",f=\"\";\"number\"==typeof i?c=\"n\":\"boolean\"==typeof i?c=\"b\":\"string\"==typeof i?c=\"s\":i instanceof Date&&(c=\"d\",n.cellDates||(c=\"n\",i=g(i)),f=n.dateNF||ko._table[14]),a[ge({c:o,r:l+1})]=r={t:c,v:i},f&&(r.z=f)});for(i.e.c=s.length-1,o=0;o<s.length;++o)a[fe(o)+\"1\"]={t:\"s\",v:s[o]};return a[\"!ref\"]=be(i),a},table_to_sheet:Hs,table_to_book:function(e,t){return we(Hs(e,t),t)},sheet_to_csv:mo,sheet_to_json:po,sheet_to_html:Xm.from_sheet,sheet_to_formulae:bo,sheet_to_row_object_array:po};!function(e){function t(e,t,r){return null!=e[t]?e[t]:e[t]=r}function r(e,t,n){return\"string\"==typeof t?e[t]||(e[t]={t:\"z\"}):\"number\"!=typeof t?r(e,ge(t)):r(e,ge({r:t,c:n||0}))}function n(e,t){if(\"number\"==typeof t){if(t>=0&&e.SheetNames.length>t)return t;throw new Error(\"Cannot find sheet # \"+t)}if(\"string\"==typeof t){var r=e.SheetNames.indexOf(t);if(r>-1)return r;throw new Error(\"Cannot find sheet name |\"+t+\"|\")}throw new Error(\"Cannot find sheet |\"+t+\"|\")}e.consts=e.consts||{},e.book_new=function(){return{SheetNames:[],Sheets:{}}},e.book_append_sheet=function(e,t,r){if(!r)for(var n=1;n<=65535&&-1!=e.SheetNames.indexOf(r=\"Sheet\"+n);++n);if(!r)throw new Error(\"Too many worksheets\");if(Ri(r),e.SheetNames.indexOf(r)>=0)throw new Error(\"Worksheet with name |\"+r+\"| already exists!\");e.SheetNames.push(r),e.Sheets[r]=t},e.book_set_sheet_visibility=function(e,r,a){t(e,\"Workbook\",{}),t(e.Workbook,\"Sheets\",[]);var i=n(e,r);switch(t(e.Workbook.Sheets,i,{}),a){case 0:case 1:case 2:break;default:throw new Error(\"Bad sheet visibility setting \"+a)}e.Workbook.Sheets[i].Hidden=a},function(t){t.forEach(function(t){e.consts[t[0]]=t[1]})}([[\"SHEET_VISIBLE\",0],[\"SHEET_HIDDEN\",1],[\"SHEET_VERY_HIDDEN\",2]]),e.cell_set_number_format=function(e,t){return e.z=t,e},e.cell_set_hyperlink=function(e,t,r){return t?(e.l={Target:t},r&&(e.l.Tooltip=r)):delete e.l,e},e.cell_add_comment=function(e,t,r){e.c||(e.c=[]),e.c.push({t:t,a:r||\"SheetJS\"})},e.sheet_set_array_formula=function(e,t,n){for(var a=\"string\"!=typeof t?t:ve(t),i=\"string\"==typeof t?t:be(t),s=a.s.r;s<=a.e.r;++s)for(var o=a.s.c;o<=a.e.c;++o){var l=r(e,s,o);l.t=\"n\",l.F=i,delete l.v,s==a.s.r&&o==a.s.c&&(l.f=n)}return e}}(ab),Bo&&void 0!==e&&function(){var e=sn.Readable;r.stream={to_html:function(t,r){var n=e(),a=r||{},i=null!=a.header?a.header:Xm.BEGIN,s=null!=a.footer?a.footer:Xm.END;n.push(i);var o=me(t[\"!ref\"]);a.dense=Array.isArray(t),n.push(Xm._preamble(t,o,a));var l=o.s.r,c=!1;return n._read=function(){if(l>o.e.r)return c||(c=!0,n.push(\"</table>\"+s)),n.push(null);for(;l<=o.e.r;){n.push(Xm._row(t,o,l,a)),++l;break}},n},to_csv:function(t,r){var n=e(),a=null==r?{}:r;if(null==t||null==t[\"!ref\"])return n.push(null),n;var i=ve(t[\"!ref\"]),s=void 0!==a.FS?a.FS:\",\",o=s.charCodeAt(0),l=void 0!==a.RS?a.RS:\"\\n\",c=l.charCodeAt(0),f=new RegExp((\"|\"==s?\"\\\\|\":s)+\"+$\"),h=\"\",u=[];a.dense=Array.isArray(t);for(var d=i.s.c;d<=i.e.c;++d)u[d]=fe(d);var p=i.s.r;return n._read=function(){if(p>i.e.r)return n.push(null);for(;p<=i.e.r;)if(h=go(t,i,p,u,o,c,s,a),++p,null!=h){a.strip&&(h=h.replace(f,\"\")),n.push(h+l);break}},n}}}(),r.parse_xlscfb=Is,r.parse_ods=Vs,r.parse_fods=Xs,r.write_ods=Gs,r.parse_zip=Qs,r.read=ao,r.readFile=io,r.readFileSync=io,r.write=fo,r.writeFile=uo,r.writeFileSync=uo,r.writeFileAsync=function(e,t,r,n){var a=r||{};a.type=\"file\",a.file=e,ho(a),a.type=\"buffer\";var i=n;return i instanceof Function||(i=r),No.writeFile(e,fo(t,a),i)},r.utils=ab,r.SSF=ko}(r)}),ln=on.utils,cn=on.write,fn=on.read,hn=function(){return function(e,t){this.sheetNames=e,this.sheets=t,this.SheetNames=e,this.Sheets=t}}();return{excel2json:function(e,t,r){void 0===r&&(r=\"\");var n=new FileReader;if(e&&0!==e.length){var a=e[0];n.onerror=function(e){},n.onload=function(e){for(var n=\"\",a=new Uint8Array(e.target.result),i=a.byteLength,s=0;s<i;s++)n+=String.fromCharCode(a[s]);for(var o=fn(n,{type:\"binary\"}),l={},c=0,f=o.SheetNames;c<f.length;c++){var h=f[c],u=o.Sheets[h];l[h]=ln.sheet_to_json(u,{defval:r})}\"function\"==typeof t&&t(l)},n.readAsArrayBuffer(a)}},json2excel:function(e){var t=e.data,r=void 0===t?[]:t,n=e.name,a=void 0===n?\"excel\":n,i=e.formateDate,s=void 0===i?\"dd/mm/yyyy\":i,o=[],l={},c=ln.json_to_sheet(r,{dateNF:s});o.push(a),l[a]=c;var f=new hn(o,l),h=cn(f,{bookType:\"xlsx\",bookSST:!0,type:\"binary\"});hr(new Blob([lr(h)],{type:\"application/octet-stream\"}),a+\".xlsx\")},csv2json:function(e,t,r){void 0===r&&(r=\"UTF-8\");var n=new FileReader;if(e&&0!==e.length){var a=e[0];n.onerror=function(e){},n.onload=function(e){var r=e.target.result;\"function\"==typeof t&&t(cr(r))},n.readAsText(a,r)}}}});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/js2excel/dist/js2excel.min.js\n// module id = 33\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar core_1 = require(\"@angular/core\");\nvar base64_1 = require(\"./base64\");\nvar credit_card_1 = require(\"./credit-card\");\nvar date_1 = require(\"./date\");\nvar date_ios_1 = require(\"./date-ios\");\nvar digits_1 = require(\"./digits\");\nvar email_1 = require(\"./email\");\nvar equal_1 = require(\"./equal\");\nvar equal_to_1 = require(\"./equal-to\");\nvar greater_than_1 = require(\"./greater-than\");\nvar greater_than_equal_1 = require(\"./greater-than-equal\");\nvar json_1 = require(\"./json\");\nvar less_than_1 = require(\"./less-than\");\nvar less_than_equal_1 = require(\"./less-than-equal\");\nvar max_1 = require(\"./max\");\nvar max_date_1 = require(\"./max-date\");\nvar min_1 = require(\"./min\");\nvar min_date_1 = require(\"./min-date\");\nvar not_equal_1 = require(\"./not-equal\");\nvar not_equal_to_1 = require(\"./not-equal-to\");\nvar number_1 = require(\"./number\");\nvar phone_1 = require(\"./phone\");\nvar range_1 = require(\"./range\");\nvar range_length_1 = require(\"./range-length\");\nvar url_1 = require(\"./url\");\nvar uuid_1 = require(\"./uuid\");\nexports.CustomValidators = {\n    base64: base64_1.base64,\n    creditCard: credit_card_1.creditCard,\n    date: date_1.date,\n    dateISO: date_ios_1.dateISO,\n    digits: digits_1.digits,\n    email: email_1.email,\n    equal: equal_1.equal,\n    equalTo: equal_to_1.equalTo,\n    gt: greater_than_1.gt,\n    gte: greater_than_equal_1.gte,\n    json: json_1.json,\n    lt: less_than_1.lt,\n    lte: less_than_equal_1.lte,\n    max: max_1.max,\n    maxDate: max_date_1.maxDate,\n    min: min_1.min,\n    minDate: min_date_1.minDate,\n    notEqual: not_equal_1.notEqual,\n    notEqualTo: not_equal_to_1.notEqualTo,\n    number: number_1.number,\n    phone: phone_1.phone,\n    range: range_1.range,\n    rangeLength: range_length_1.rangeLength,\n    url: url_1.url,\n    uuid: uuid_1.uuid\n};\nvar CUSTOM_FORM_DIRECTIVES = [\n    base64_1.Base64Validator,\n    credit_card_1.CreditCardValidator,\n    date_1.DateValidator,\n    date_ios_1.DateISOValidator,\n    digits_1.DigitsValidator,\n    email_1.EmailValidator,\n    equal_1.EqualValidator,\n    equal_to_1.EqualToValidator,\n    greater_than_1.GreaterThanValidator,\n    greater_than_equal_1.GreaterThanEqualValidator,\n    json_1.JSONValidator,\n    less_than_1.LessThanValidator,\n    less_than_equal_1.LessThanEqualValidator,\n    max_1.MaxValidator,\n    max_date_1.MaxDateValidator,\n    min_1.MinValidator,\n    min_date_1.MinDateValidator,\n    not_equal_1.NotEqualValidator,\n    not_equal_to_1.NotEqualToValidator,\n    number_1.NumberValidator,\n    phone_1.PhoneValidator,\n    range_1.RangeValidator,\n    range_length_1.RangeLengthValidator,\n    url_1.UrlValidator,\n    uuid_1.UUIDValidator\n];\nvar CustomFormsModule = (function () {\n    function CustomFormsModule() {\n    }\n    return CustomFormsModule;\n}());\nCustomFormsModule.decorators = [\n    { type: core_1.NgModule, args: [{\n                declarations: [CUSTOM_FORM_DIRECTIVES],\n                exports: [CUSTOM_FORM_DIRECTIVES]\n            },] },\n];\n/** @nocollapse */\nCustomFormsModule.ctorParameters = function () { return []; };\nexports.CustomFormsModule = CustomFormsModule;\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/index.js\n// module id = 34\n// module chunks = 0","/**\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 */\nimport { __core_private__ as r } from '@angular/core';\nexport var /** @type {?} */ isDefaultChangeDetectionStrategy = r.isDefaultChangeDetectionStrategy;\nexport var /** @type {?} */ ChangeDetectorStatus = r.ChangeDetectorStatus;\nexport var /** @type {?} */ LifecycleHooks = r.LifecycleHooks;\nexport var /** @type {?} */ LIFECYCLE_HOOKS_VALUES = r.LIFECYCLE_HOOKS_VALUES;\nexport var /** @type {?} */ ReflectorReader = r.ReflectorReader;\nexport var /** @type {?} */ ViewContainer = r.ViewContainer;\nexport var /** @type {?} */ CodegenComponentFactoryResolver = r.CodegenComponentFactoryResolver;\nexport var /** @type {?} */ ComponentRef_ = r.ComponentRef_;\nexport var /** @type {?} */ AppView = r.AppView;\nexport var /** @type {?} */ DebugAppView = r.DebugAppView;\nexport var /** @type {?} */ NgModuleInjector = r.NgModuleInjector;\nexport var /** @type {?} */ registerModuleFactory = r.registerModuleFactory;\nexport var /** @type {?} */ ViewType = r.ViewType;\nexport var /** @type {?} */ view_utils = r.view_utils;\nexport var /** @type {?} */ DebugContext = r.DebugContext;\nexport var /** @type {?} */ StaticNodeDebugInfo = r.StaticNodeDebugInfo;\nexport var /** @type {?} */ devModeEqual = r.devModeEqual;\nexport var /** @type {?} */ UNINITIALIZED = r.UNINITIALIZED;\nexport var /** @type {?} */ ValueUnwrapper = r.ValueUnwrapper;\nexport var /** @type {?} */ TemplateRef_ = r.TemplateRef_;\nexport var /** @type {?} */ RenderDebugInfo = r.RenderDebugInfo;\nexport var /** @type {?} */ Console = r.Console;\nexport var /** @type {?} */ reflector = r.reflector;\nexport var /** @type {?} */ Reflector = r.Reflector;\nexport var /** @type {?} */ ReflectionCapabilities = r.ReflectionCapabilities;\nexport var /** @type {?} */ NoOpAnimationPlayer = r.NoOpAnimationPlayer;\nexport var /** @type {?} */ AnimationPlayer = r.AnimationPlayer;\nexport var /** @type {?} */ AnimationSequencePlayer = r.AnimationSequencePlayer;\nexport var /** @type {?} */ AnimationGroupPlayer = r.AnimationGroupPlayer;\nexport var /** @type {?} */ AnimationKeyframe = r.AnimationKeyframe;\nexport var /** @type {?} */ AnimationStyles = r.AnimationStyles;\nexport var /** @type {?} */ ANY_STATE = r.ANY_STATE;\nexport var /** @type {?} */ DEFAULT_STATE = r.DEFAULT_STATE;\nexport var /** @type {?} */ EMPTY_STATE = r.EMPTY_STATE;\nexport var /** @type {?} */ FILL_STYLE_FLAG = r.FILL_STYLE_FLAG;\nexport var /** @type {?} */ prepareFinalAnimationStyles = r.prepareFinalAnimationStyles;\nexport var /** @type {?} */ balanceAnimationKeyframes = r.balanceAnimationKeyframes;\nexport var /** @type {?} */ clearStyles = r.clearStyles;\nexport var /** @type {?} */ collectAndResolveStyles = r.collectAndResolveStyles;\nexport var /** @type {?} */ renderStyles = r.renderStyles;\nexport var /** @type {?} */ ViewMetadata = r.ViewMetadata;\nexport var /** @type {?} */ ComponentStillLoadingError = r.ComponentStillLoadingError;\nexport var /** @type {?} */ AnimationTransition = r.AnimationTransition;\n//# sourceMappingURL=private_import_core.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/private_import_core.js\n// module id = 35\n// module chunks = 0","var store      = require('./_shared')('wks')\n  , uid        = require('./_uid')\n  , Symbol     = require('./_global').Symbol\n  , USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function(name){\n  return store[name] || (store[name] =\n    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_wks.js\n// module id = 36\n// module chunks = 0","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() { return this; })();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 37\n// module chunks = 0","/**\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 */\nimport { ANALYZE_FOR_ENTRY_COMPONENTS, ChangeDetectionStrategy, ChangeDetectorRef, ComponentFactory, ComponentFactoryResolver, ComponentRef, ElementRef, Injector, LOCALE_ID, NgModuleFactory, QueryList, RenderComponentType, Renderer, SecurityContext, SimpleChange, TRANSLATIONS_FORMAT, TemplateRef, ViewContainerRef, ViewEncapsulation } from '@angular/core';\nimport { AnimationGroupPlayer, AnimationKeyframe, AnimationSequencePlayer, AnimationStyles, AnimationTransition, AppView, ChangeDetectorStatus, CodegenComponentFactoryResolver, ComponentRef_, DebugAppView, DebugContext, NgModuleInjector, NoOpAnimationPlayer, StaticNodeDebugInfo, TemplateRef_, UNINITIALIZED, ValueUnwrapper, ViewContainer, ViewType, balanceAnimationKeyframes, clearStyles, collectAndResolveStyles, devModeEqual, prepareFinalAnimationStyles, reflector, registerModuleFactory, renderStyles, view_utils } from './private_import_core';\nvar /** @type {?} */ APP_VIEW_MODULE_URL = assetUrl('core', 'linker/view');\nvar /** @type {?} */ VIEW_UTILS_MODULE_URL = assetUrl('core', 'linker/view_utils');\nvar /** @type {?} */ CD_MODULE_URL = assetUrl('core', 'change_detection/change_detection');\nvar /** @type {?} */ ANIMATION_STYLE_UTIL_ASSET_URL = assetUrl('core', 'animation/animation_style_util');\nexport var Identifiers = (function () {\n    function Identifiers() {\n    }\n    Identifiers.ANALYZE_FOR_ENTRY_COMPONENTS = {\n        name: 'ANALYZE_FOR_ENTRY_COMPONENTS',\n        moduleUrl: assetUrl('core', 'metadata/di'),\n        runtime: ANALYZE_FOR_ENTRY_COMPONENTS\n    };\n    Identifiers.ViewUtils = {\n        name: 'ViewUtils',\n        moduleUrl: assetUrl('core', 'linker/view_utils'),\n        runtime: view_utils.ViewUtils\n    };\n    Identifiers.AppView = { name: 'AppView', moduleUrl: APP_VIEW_MODULE_URL, runtime: AppView };\n    Identifiers.DebugAppView = {\n        name: 'DebugAppView',\n        moduleUrl: APP_VIEW_MODULE_URL,\n        runtime: DebugAppView\n    };\n    Identifiers.ViewContainer = {\n        name: 'ViewContainer',\n        moduleUrl: assetUrl('core', 'linker/view_container'),\n        runtime: ViewContainer\n    };\n    Identifiers.ElementRef = {\n        name: 'ElementRef',\n        moduleUrl: assetUrl('core', 'linker/element_ref'),\n        runtime: ElementRef\n    };\n    Identifiers.ViewContainerRef = {\n        name: 'ViewContainerRef',\n        moduleUrl: assetUrl('core', 'linker/view_container_ref'),\n        runtime: ViewContainerRef\n    };\n    Identifiers.ChangeDetectorRef = {\n        name: 'ChangeDetectorRef',\n        moduleUrl: assetUrl('core', 'change_detection/change_detector_ref'),\n        runtime: ChangeDetectorRef\n    };\n    Identifiers.RenderComponentType = {\n        name: 'RenderComponentType',\n        moduleUrl: assetUrl('core', 'render/api'),\n        runtime: RenderComponentType\n    };\n    Identifiers.QueryList = {\n        name: 'QueryList',\n        moduleUrl: assetUrl('core', 'linker/query_list'),\n        runtime: QueryList\n    };\n    Identifiers.TemplateRef = {\n        name: 'TemplateRef',\n        moduleUrl: assetUrl('core', 'linker/template_ref'),\n        runtime: TemplateRef\n    };\n    Identifiers.TemplateRef_ = {\n        name: 'TemplateRef_',\n        moduleUrl: assetUrl('core', 'linker/template_ref'),\n        runtime: TemplateRef_\n    };\n    Identifiers.CodegenComponentFactoryResolver = {\n        name: 'CodegenComponentFactoryResolver',\n        moduleUrl: assetUrl('core', 'linker/component_factory_resolver'),\n        runtime: CodegenComponentFactoryResolver\n    };\n    Identifiers.ComponentFactoryResolver = {\n        name: 'ComponentFactoryResolver',\n        moduleUrl: assetUrl('core', 'linker/component_factory_resolver'),\n        runtime: ComponentFactoryResolver\n    };\n    Identifiers.ComponentFactory = {\n        name: 'ComponentFactory',\n        runtime: ComponentFactory,\n        moduleUrl: assetUrl('core', 'linker/component_factory')\n    };\n    Identifiers.ComponentRef_ = {\n        name: 'ComponentRef_',\n        runtime: ComponentRef_,\n        moduleUrl: assetUrl('core', 'linker/component_factory')\n    };\n    Identifiers.ComponentRef = {\n        name: 'ComponentRef',\n        runtime: ComponentRef,\n        moduleUrl: assetUrl('core', 'linker/component_factory')\n    };\n    Identifiers.NgModuleFactory = {\n        name: 'NgModuleFactory',\n        runtime: NgModuleFactory,\n        moduleUrl: assetUrl('core', 'linker/ng_module_factory')\n    };\n    Identifiers.NgModuleInjector = {\n        name: 'NgModuleInjector',\n        runtime: NgModuleInjector,\n        moduleUrl: assetUrl('core', 'linker/ng_module_factory')\n    };\n    Identifiers.RegisterModuleFactoryFn = {\n        name: 'registerModuleFactory',\n        runtime: registerModuleFactory,\n        moduleUrl: assetUrl('core', 'linker/ng_module_factory_loader')\n    };\n    Identifiers.ValueUnwrapper = { name: 'ValueUnwrapper', moduleUrl: CD_MODULE_URL, runtime: ValueUnwrapper };\n    Identifiers.Injector = {\n        name: 'Injector',\n        moduleUrl: assetUrl('core', 'di/injector'),\n        runtime: Injector\n    };\n    Identifiers.ViewEncapsulation = {\n        name: 'ViewEncapsulation',\n        moduleUrl: assetUrl('core', 'metadata/view'),\n        runtime: ViewEncapsulation\n    };\n    Identifiers.ViewType = {\n        name: 'ViewType',\n        moduleUrl: assetUrl('core', 'linker/view_type'),\n        runtime: ViewType\n    };\n    Identifiers.ChangeDetectionStrategy = {\n        name: 'ChangeDetectionStrategy',\n        moduleUrl: CD_MODULE_URL,\n        runtime: ChangeDetectionStrategy\n    };\n    Identifiers.StaticNodeDebugInfo = {\n        name: 'StaticNodeDebugInfo',\n        moduleUrl: assetUrl('core', 'linker/debug_context'),\n        runtime: StaticNodeDebugInfo\n    };\n    Identifiers.DebugContext = {\n        name: 'DebugContext',\n        moduleUrl: assetUrl('core', 'linker/debug_context'),\n        runtime: DebugContext\n    };\n    Identifiers.Renderer = {\n        name: 'Renderer',\n        moduleUrl: assetUrl('core', 'render/api'),\n        runtime: Renderer\n    };\n    Identifiers.SimpleChange = { name: 'SimpleChange', moduleUrl: CD_MODULE_URL, runtime: SimpleChange };\n    Identifiers.UNINITIALIZED = { name: 'UNINITIALIZED', moduleUrl: CD_MODULE_URL, runtime: UNINITIALIZED };\n    Identifiers.ChangeDetectorStatus = {\n        name: 'ChangeDetectorStatus',\n        moduleUrl: CD_MODULE_URL,\n        runtime: ChangeDetectorStatus\n    };\n    Identifiers.checkBinding = {\n        name: 'checkBinding',\n        moduleUrl: VIEW_UTILS_MODULE_URL,\n        runtime: view_utils.checkBinding\n    };\n    Identifiers.devModeEqual = { name: 'devModeEqual', moduleUrl: CD_MODULE_URL, runtime: devModeEqual };\n    Identifiers.inlineInterpolate = {\n        name: 'inlineInterpolate',\n        moduleUrl: VIEW_UTILS_MODULE_URL,\n        runtime: view_utils.inlineInterpolate\n    };\n    Identifiers.interpolate = {\n        name: 'interpolate',\n        moduleUrl: VIEW_UTILS_MODULE_URL,\n        runtime: view_utils.interpolate\n    };\n    Identifiers.castByValue = {\n        name: 'castByValue',\n        moduleUrl: VIEW_UTILS_MODULE_URL,\n        runtime: view_utils.castByValue\n    };\n    Identifiers.EMPTY_ARRAY = {\n        name: 'EMPTY_ARRAY',\n        moduleUrl: VIEW_UTILS_MODULE_URL,\n        runtime: view_utils.EMPTY_ARRAY\n    };\n    Identifiers.EMPTY_MAP = {\n        name: 'EMPTY_MAP',\n        moduleUrl: VIEW_UTILS_MODULE_URL,\n        runtime: view_utils.EMPTY_MAP\n    };\n    Identifiers.createRenderElement = {\n        name: 'createRenderElement',\n        moduleUrl: VIEW_UTILS_MODULE_URL,\n        runtime: view_utils.createRenderElement\n    };\n    Identifiers.selectOrCreateRenderHostElement = {\n        name: 'selectOrCreateRenderHostElement',\n        moduleUrl: VIEW_UTILS_MODULE_URL,\n        runtime: view_utils.selectOrCreateRenderHostElement\n    };\n    Identifiers.pureProxies = [\n        null,\n        { name: 'pureProxy1', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: view_utils.pureProxy1 },\n        { name: 'pureProxy2', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: view_utils.pureProxy2 },\n        { name: 'pureProxy3', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: view_utils.pureProxy3 },\n        { name: 'pureProxy4', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: view_utils.pureProxy4 },\n        { name: 'pureProxy5', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: view_utils.pureProxy5 },\n        { name: 'pureProxy6', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: view_utils.pureProxy6 },\n        { name: 'pureProxy7', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: view_utils.pureProxy7 },\n        { name: 'pureProxy8', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: view_utils.pureProxy8 },\n        { name: 'pureProxy9', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: view_utils.pureProxy9 },\n        { name: 'pureProxy10', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: view_utils.pureProxy10 },\n    ];\n    Identifiers.SecurityContext = {\n        name: 'SecurityContext',\n        moduleUrl: assetUrl('core', 'security'),\n        runtime: SecurityContext,\n    };\n    Identifiers.AnimationKeyframe = {\n        name: 'AnimationKeyframe',\n        moduleUrl: assetUrl('core', 'animation/animation_keyframe'),\n        runtime: AnimationKeyframe\n    };\n    Identifiers.AnimationStyles = {\n        name: 'AnimationStyles',\n        moduleUrl: assetUrl('core', 'animation/animation_styles'),\n        runtime: AnimationStyles\n    };\n    Identifiers.NoOpAnimationPlayer = {\n        name: 'NoOpAnimationPlayer',\n        moduleUrl: assetUrl('core', 'animation/animation_player'),\n        runtime: NoOpAnimationPlayer\n    };\n    Identifiers.AnimationGroupPlayer = {\n        name: 'AnimationGroupPlayer',\n        moduleUrl: assetUrl('core', 'animation/animation_group_player'),\n        runtime: AnimationGroupPlayer\n    };\n    Identifiers.AnimationSequencePlayer = {\n        name: 'AnimationSequencePlayer',\n        moduleUrl: assetUrl('core', 'animation/animation_sequence_player'),\n        runtime: AnimationSequencePlayer\n    };\n    Identifiers.prepareFinalAnimationStyles = {\n        name: 'prepareFinalAnimationStyles',\n        moduleUrl: ANIMATION_STYLE_UTIL_ASSET_URL,\n        runtime: prepareFinalAnimationStyles\n    };\n    Identifiers.balanceAnimationKeyframes = {\n        name: 'balanceAnimationKeyframes',\n        moduleUrl: ANIMATION_STYLE_UTIL_ASSET_URL,\n        runtime: balanceAnimationKeyframes\n    };\n    Identifiers.clearStyles = {\n        name: 'clearStyles',\n        moduleUrl: ANIMATION_STYLE_UTIL_ASSET_URL,\n        runtime: clearStyles\n    };\n    Identifiers.renderStyles = {\n        name: 'renderStyles',\n        moduleUrl: ANIMATION_STYLE_UTIL_ASSET_URL,\n        runtime: renderStyles\n    };\n    Identifiers.collectAndResolveStyles = {\n        name: 'collectAndResolveStyles',\n        moduleUrl: ANIMATION_STYLE_UTIL_ASSET_URL,\n        runtime: collectAndResolveStyles\n    };\n    Identifiers.LOCALE_ID = {\n        name: 'LOCALE_ID',\n        moduleUrl: assetUrl('core', 'i18n/tokens'),\n        runtime: LOCALE_ID\n    };\n    Identifiers.TRANSLATIONS_FORMAT = {\n        name: 'TRANSLATIONS_FORMAT',\n        moduleUrl: assetUrl('core', 'i18n/tokens'),\n        runtime: TRANSLATIONS_FORMAT\n    };\n    Identifiers.setBindingDebugInfo = {\n        name: 'setBindingDebugInfo',\n        moduleUrl: VIEW_UTILS_MODULE_URL,\n        runtime: view_utils.setBindingDebugInfo\n    };\n    Identifiers.setBindingDebugInfoForChanges = {\n        name: 'setBindingDebugInfoForChanges',\n        moduleUrl: VIEW_UTILS_MODULE_URL,\n        runtime: view_utils.setBindingDebugInfoForChanges\n    };\n    Identifiers.AnimationTransition = {\n        name: 'AnimationTransition',\n        moduleUrl: assetUrl('core', 'animation/animation_transition'),\n        runtime: AnimationTransition\n    };\n    // This is just the interface!\n    Identifiers.InlineArray = { name: 'InlineArray', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: null };\n    Identifiers.inlineArrays = [\n        { name: 'InlineArray2', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: view_utils.InlineArray2 },\n        { name: 'InlineArray2', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: view_utils.InlineArray2 },\n        { name: 'InlineArray4', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: view_utils.InlineArray4 },\n        { name: 'InlineArray8', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: view_utils.InlineArray8 },\n        { name: 'InlineArray16', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: view_utils.InlineArray16 },\n    ];\n    Identifiers.EMPTY_INLINE_ARRAY = {\n        name: 'EMPTY_INLINE_ARRAY',\n        moduleUrl: VIEW_UTILS_MODULE_URL,\n        runtime: view_utils.EMPTY_INLINE_ARRAY\n    };\n    Identifiers.InlineArrayDynamic = {\n        name: 'InlineArrayDynamic',\n        moduleUrl: VIEW_UTILS_MODULE_URL,\n        runtime: view_utils.InlineArrayDynamic\n    };\n    Identifiers.subscribeToRenderElement = {\n        name: 'subscribeToRenderElement',\n        moduleUrl: VIEW_UTILS_MODULE_URL,\n        runtime: view_utils.subscribeToRenderElement\n    };\n    Identifiers.createRenderComponentType = {\n        name: 'createRenderComponentType',\n        moduleUrl: VIEW_UTILS_MODULE_URL,\n        runtime: view_utils.createRenderComponentType\n    };\n    Identifiers.noop = { name: 'noop', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: view_utils.noop };\n    return Identifiers;\n}());\nfunction Identifiers_tsickle_Closure_declarations() {\n    /** @type {?} */\n    Identifiers.ANALYZE_FOR_ENTRY_COMPONENTS;\n    /** @type {?} */\n    Identifiers.ViewUtils;\n    /** @type {?} */\n    Identifiers.AppView;\n    /** @type {?} */\n    Identifiers.DebugAppView;\n    /** @type {?} */\n    Identifiers.ViewContainer;\n    /** @type {?} */\n    Identifiers.ElementRef;\n    /** @type {?} */\n    Identifiers.ViewContainerRef;\n    /** @type {?} */\n    Identifiers.ChangeDetectorRef;\n    /** @type {?} */\n    Identifiers.RenderComponentType;\n    /** @type {?} */\n    Identifiers.QueryList;\n    /** @type {?} */\n    Identifiers.TemplateRef;\n    /** @type {?} */\n    Identifiers.TemplateRef_;\n    /** @type {?} */\n    Identifiers.CodegenComponentFactoryResolver;\n    /** @type {?} */\n    Identifiers.ComponentFactoryResolver;\n    /** @type {?} */\n    Identifiers.ComponentFactory;\n    /** @type {?} */\n    Identifiers.ComponentRef_;\n    /** @type {?} */\n    Identifiers.ComponentRef;\n    /** @type {?} */\n    Identifiers.NgModuleFactory;\n    /** @type {?} */\n    Identifiers.NgModuleInjector;\n    /** @type {?} */\n    Identifiers.RegisterModuleFactoryFn;\n    /** @type {?} */\n    Identifiers.ValueUnwrapper;\n    /** @type {?} */\n    Identifiers.Injector;\n    /** @type {?} */\n    Identifiers.ViewEncapsulation;\n    /** @type {?} */\n    Identifiers.ViewType;\n    /** @type {?} */\n    Identifiers.ChangeDetectionStrategy;\n    /** @type {?} */\n    Identifiers.StaticNodeDebugInfo;\n    /** @type {?} */\n    Identifiers.DebugContext;\n    /** @type {?} */\n    Identifiers.Renderer;\n    /** @type {?} */\n    Identifiers.SimpleChange;\n    /** @type {?} */\n    Identifiers.UNINITIALIZED;\n    /** @type {?} */\n    Identifiers.ChangeDetectorStatus;\n    /** @type {?} */\n    Identifiers.checkBinding;\n    /** @type {?} */\n    Identifiers.devModeEqual;\n    /** @type {?} */\n    Identifiers.inlineInterpolate;\n    /** @type {?} */\n    Identifiers.interpolate;\n    /** @type {?} */\n    Identifiers.castByValue;\n    /** @type {?} */\n    Identifiers.EMPTY_ARRAY;\n    /** @type {?} */\n    Identifiers.EMPTY_MAP;\n    /** @type {?} */\n    Identifiers.createRenderElement;\n    /** @type {?} */\n    Identifiers.selectOrCreateRenderHostElement;\n    /** @type {?} */\n    Identifiers.pureProxies;\n    /** @type {?} */\n    Identifiers.SecurityContext;\n    /** @type {?} */\n    Identifiers.AnimationKeyframe;\n    /** @type {?} */\n    Identifiers.AnimationStyles;\n    /** @type {?} */\n    Identifiers.NoOpAnimationPlayer;\n    /** @type {?} */\n    Identifiers.AnimationGroupPlayer;\n    /** @type {?} */\n    Identifiers.AnimationSequencePlayer;\n    /** @type {?} */\n    Identifiers.prepareFinalAnimationStyles;\n    /** @type {?} */\n    Identifiers.balanceAnimationKeyframes;\n    /** @type {?} */\n    Identifiers.clearStyles;\n    /** @type {?} */\n    Identifiers.renderStyles;\n    /** @type {?} */\n    Identifiers.collectAndResolveStyles;\n    /** @type {?} */\n    Identifiers.LOCALE_ID;\n    /** @type {?} */\n    Identifiers.TRANSLATIONS_FORMAT;\n    /** @type {?} */\n    Identifiers.setBindingDebugInfo;\n    /** @type {?} */\n    Identifiers.setBindingDebugInfoForChanges;\n    /** @type {?} */\n    Identifiers.AnimationTransition;\n    /** @type {?} */\n    Identifiers.InlineArray;\n    /** @type {?} */\n    Identifiers.inlineArrays;\n    /** @type {?} */\n    Identifiers.EMPTY_INLINE_ARRAY;\n    /** @type {?} */\n    Identifiers.InlineArrayDynamic;\n    /** @type {?} */\n    Identifiers.subscribeToRenderElement;\n    /** @type {?} */\n    Identifiers.createRenderComponentType;\n    /** @type {?} */\n    Identifiers.noop;\n}\n/**\n * @param {?} pkg\n * @param {?=} path\n * @param {?=} type\n * @return {?}\n */\nexport function assetUrl(pkg, path, type) {\n    if (path === void 0) { path = null; }\n    if (type === void 0) { type = 'src'; }\n    if (path == null) {\n        return \"@angular/\" + pkg + \"/index\";\n    }\n    else {\n        return \"@angular/\" + pkg + \"/\" + type + \"/\" + path;\n    }\n}\n/**\n * @param {?} identifier\n * @return {?}\n */\nexport function resolveIdentifier(identifier) {\n    return reflector.resolveIdentifier(identifier.name, identifier.moduleUrl, identifier.runtime);\n}\n/**\n * @param {?} identifier\n * @return {?}\n */\nexport function createIdentifier(identifier) {\n    var /** @type {?} */ reference = reflector.resolveIdentifier(identifier.name, identifier.moduleUrl, identifier.runtime);\n    return { reference: reference };\n}\n/**\n * @param {?} identifier\n * @return {?}\n */\nexport function identifierToken(identifier) {\n    return { identifier: identifier };\n}\n/**\n * @param {?} identifier\n * @return {?}\n */\nexport function createIdentifierToken(identifier) {\n    return identifierToken(createIdentifier(identifier));\n}\n/**\n * @param {?} enumType\n * @param {?} name\n * @return {?}\n */\nexport function createEnumIdentifier(enumType, name) {\n    var /** @type {?} */ resolvedEnum = reflector.resolveEnum(resolveIdentifier(enumType), name);\n    return { reference: resolvedEnum };\n}\n//# sourceMappingURL=identifiers.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/identifiers.js\n// module id = 38\n// module chunks = 0","/**\n * A replacement for \\@Injectable to be used in the compiler, so that\n * we don't try to evaluate the metadata in the compiler during AoT.\n * This decorator is enough to make the compiler work with the ReflectiveInjector though.\n * @return {?}\n */\nexport function CompilerInjectable() {\n    return function (x) { return x; };\n}\n//# sourceMappingURL=injectable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/injectable.js\n// module id = 39\n// module chunks = 0","var core = module.exports = {version: '2.4.0'};\nif(typeof __e == 'number')__e = core; // eslint-disable-line no-undef\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_core.js\n// module id = 40\n// module chunks = 0","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\nif(typeof __g == 'number')__g = global; // eslint-disable-line no-undef\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_global.js\n// module id = 41\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n// core\nvar imageCropperModule_1 = require(\"./src/imageCropperModule\");\nexports.ImageCropperModule = imageCropperModule_1.ImageCropperModule;\nvar imageCropperComponent_1 = require(\"./src/imageCropperComponent\");\nexports.ImageCropperComponent = imageCropperComponent_1.ImageCropperComponent;\n// extra classes\nvar imageCropper_1 = require(\"./src/imageCropper\");\nexports.ImageCropper = imageCropper_1.ImageCropper;\nvar cropperSettings_1 = require(\"./src/cropperSettings\");\nexports.CropperSettings = cropperSettings_1.CropperSettings;\nvar cropperDrawSettings_1 = require(\"./src/cropperDrawSettings\");\nexports.CropperDrawSettings = cropperDrawSettings_1.CropperDrawSettings;\n// models\nvar bounds_1 = require(\"./src/model/bounds\");\nexports.Bounds = bounds_1.Bounds;\nvar cropPosition_1 = require(\"./src/model/cropPosition\");\nexports.CropPosition = cropPosition_1.CropPosition;\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-img-cropper/index.js\n// module id = 42\n// module chunks = 0","/**\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 */\nvar /** @type {?} */ _DOM = null;\n/**\n * @return {?}\n */\nexport function getDOM() {\n    return _DOM;\n}\n/**\n * @param {?} adapter\n * @return {?}\n */\nexport function setDOM(adapter) {\n    _DOM = adapter;\n}\n/**\n * @param {?} adapter\n * @return {?}\n */\nexport function setRootDomAdapter(adapter) {\n    if (!_DOM) {\n        _DOM = adapter;\n    }\n}\n/**\n * Provides DOM operations in an environment-agnostic way.\n *\n * \\@security Tread carefully! Interacting with the DOM directly is dangerous and\n * can introduce XSS risks.\n * @abstract\n */\nexport var DomAdapter = (function () {\n    function DomAdapter() {\n        this.resourceLoaderType = null;\n    }\n    /**\n     * @abstract\n     * @param {?} element\n     * @param {?} name\n     * @return {?}\n     */\n    DomAdapter.prototype.hasProperty = function (element /** TODO #9100 */, name) { };\n    /**\n     * @abstract\n     * @param {?} el\n     * @param {?} name\n     * @param {?} value\n     * @return {?}\n     */\n    DomAdapter.prototype.setProperty = function (el, name, value) { };\n    /**\n     * @abstract\n     * @param {?} el\n     * @param {?} name\n     * @return {?}\n     */\n    DomAdapter.prototype.getProperty = function (el, name) { };\n    /**\n     * @abstract\n     * @param {?} el\n     * @param {?} methodName\n     * @param {?} args\n     * @return {?}\n     */\n    DomAdapter.prototype.invoke = function (el, methodName, args) { };\n    /**\n     * @abstract\n     * @param {?} error\n     * @return {?}\n     */\n    DomAdapter.prototype.logError = function (error) { };\n    /**\n     * @abstract\n     * @param {?} error\n     * @return {?}\n     */\n    DomAdapter.prototype.log = function (error) { };\n    /**\n     * @abstract\n     * @param {?} error\n     * @return {?}\n     */\n    DomAdapter.prototype.logGroup = function (error) { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    DomAdapter.prototype.logGroupEnd = function () { };\n    Object.defineProperty(DomAdapter.prototype, \"attrToPropMap\", {\n        /**\n         * Maps attribute names to their corresponding property names for cases\n         * where attribute name doesn't match property name.\n         * @return {?}\n         */\n        get: function () { return this._attrToPropMap; },\n        /**\n         * @param {?} value\n         * @return {?}\n         */\n        set: function (value) { this._attrToPropMap = value; },\n        enumerable: true,\n        configurable: true\n    });\n    ;\n    ;\n    /**\n     * @abstract\n     * @param {?} templateHtml\n     * @return {?}\n     */\n    DomAdapter.prototype.parse = function (templateHtml) { };\n    /**\n     * @abstract\n     * @param {?} selector\n     * @return {?}\n     */\n    DomAdapter.prototype.query = function (selector) { };\n    /**\n     * @abstract\n     * @param {?} el\n     * @param {?} selector\n     * @return {?}\n     */\n    DomAdapter.prototype.querySelector = function (el /** TODO #9100 */, selector) { };\n    /**\n     * @abstract\n     * @param {?} el\n     * @param {?} selector\n     * @return {?}\n     */\n    DomAdapter.prototype.querySelectorAll = function (el /** TODO #9100 */, selector) { };\n    /**\n     * @abstract\n     * @param {?} el\n     * @param {?} evt\n     * @param {?} listener\n     * @return {?}\n     */\n    DomAdapter.prototype.on = function (el /** TODO #9100 */, evt /** TODO #9100 */, listener) { };\n    /**\n     * @abstract\n     * @param {?} el\n     * @param {?} evt\n     * @param {?} listener\n     * @return {?}\n     */\n    DomAdapter.prototype.onAndCancel = function (el /** TODO #9100 */, evt /** TODO #9100 */, listener) { };\n    /**\n     * @abstract\n     * @param {?} el\n     * @param {?} evt\n     * @return {?}\n     */\n    DomAdapter.prototype.dispatchEvent = function (el /** TODO #9100 */, evt) { };\n    /**\n     * @abstract\n     * @param {?} eventType\n     * @return {?}\n     */\n    DomAdapter.prototype.createMouseEvent = function (eventType) { };\n    /**\n     * @abstract\n     * @param {?} eventType\n     * @return {?}\n     */\n    DomAdapter.prototype.createEvent = function (eventType) { };\n    /**\n     * @abstract\n     * @param {?} evt\n     * @return {?}\n     */\n    DomAdapter.prototype.preventDefault = function (evt) { };\n    /**\n     * @abstract\n     * @param {?} evt\n     * @return {?}\n     */\n    DomAdapter.prototype.isPrevented = function (evt) { };\n    /**\n     * @abstract\n     * @param {?} el\n     * @return {?}\n     */\n    DomAdapter.prototype.getInnerHTML = function (el) { };\n    /**\n     * Returns content if el is a <template> element, null otherwise.\n     * @abstract\n     * @param {?} el\n     * @return {?}\n     */\n    DomAdapter.prototype.getTemplateContent = function (el) { };\n    /**\n     * @abstract\n     * @param {?} el\n     * @return {?}\n     */\n    DomAdapter.prototype.getOuterHTML = function (el) { };\n    /**\n     * @abstract\n     * @param {?} node\n     * @return {?}\n     */\n    DomAdapter.prototype.nodeName = function (node) { };\n    /**\n     * @abstract\n     * @param {?} node\n     * @return {?}\n     */\n    DomAdapter.prototype.nodeValue = function (node) { };\n    /**\n     * @abstract\n     * @param {?} node\n     * @return {?}\n     */\n    DomAdapter.prototype.type = function (node) { };\n    /**\n     * @abstract\n     * @param {?} node\n     * @return {?}\n     */\n    DomAdapter.prototype.content = function (node) { };\n    /**\n     * @abstract\n     * @param {?} el\n     * @return {?}\n     */\n    DomAdapter.prototype.firstChild = function (el) { };\n    /**\n     * @abstract\n     * @param {?} el\n     * @return {?}\n     */\n    DomAdapter.prototype.nextSibling = function (el) { };\n    /**\n     * @abstract\n     * @param {?} el\n     * @return {?}\n     */\n    DomAdapter.prototype.parentElement = function (el) { };\n    /**\n     * @abstract\n     * @param {?} el\n     * @return {?}\n     */\n    DomAdapter.prototype.childNodes = function (el) { };\n    /**\n     * @abstract\n     * @param {?} el\n     * @return {?}\n     */\n    DomAdapter.prototype.childNodesAsList = function (el) { };\n    /**\n     * @abstract\n     * @param {?} el\n     * @return {?}\n     */\n    DomAdapter.prototype.clearNodes = function (el) { };\n    /**\n     * @abstract\n     * @param {?} el\n     * @param {?} node\n     * @return {?}\n     */\n    DomAdapter.prototype.appendChild = function (el /** TODO #9100 */, node) { };\n    /**\n     * @abstract\n     * @param {?} el\n     * @param {?} node\n     * @return {?}\n     */\n    DomAdapter.prototype.removeChild = function (el /** TODO #9100 */, node) { };\n    /**\n     * @abstract\n     * @param {?} el\n     * @param {?} newNode\n     * @param {?} oldNode\n     * @return {?}\n     */\n    DomAdapter.prototype.replaceChild = function (el /** TODO #9100 */, newNode /** TODO #9100 */, oldNode) { };\n    /**\n     * @abstract\n     * @param {?} el\n     * @return {?}\n     */\n    DomAdapter.prototype.remove = function (el) { };\n    /**\n     * @abstract\n     * @param {?} el\n     * @param {?} node\n     * @return {?}\n     */\n    DomAdapter.prototype.insertBefore = function (el /** TODO #9100 */, node) { };\n    /**\n     * @abstract\n     * @param {?} el\n     * @param {?} nodes\n     * @return {?}\n     */\n    DomAdapter.prototype.insertAllBefore = function (el /** TODO #9100 */, nodes) { };\n    /**\n     * @abstract\n     * @param {?} el\n     * @param {?} node\n     * @return {?}\n     */\n    DomAdapter.prototype.insertAfter = function (el /** TODO #9100 */, node) { };\n    /**\n     * @abstract\n     * @param {?} el\n     * @param {?} value\n     * @return {?}\n     */\n    DomAdapter.prototype.setInnerHTML = function (el /** TODO #9100 */, value) { };\n    /**\n     * @abstract\n     * @param {?} el\n     * @return {?}\n     */\n    DomAdapter.prototype.getText = function (el) { };\n    /**\n     * @abstract\n     * @param {?} el\n     * @param {?} value\n     * @return {?}\n     */\n    DomAdapter.prototype.setText = function (el /** TODO #9100 */, value) { };\n    /**\n     * @abstract\n     * @param {?} el\n     * @return {?}\n     */\n    DomAdapter.prototype.getValue = function (el) { };\n    /**\n     * @abstract\n     * @param {?} el\n     * @param {?} value\n     * @return {?}\n     */\n    DomAdapter.prototype.setValue = function (el /** TODO #9100 */, value) { };\n    /**\n     * @abstract\n     * @param {?} el\n     * @return {?}\n     */\n    DomAdapter.prototype.getChecked = function (el) { };\n    /**\n     * @abstract\n     * @param {?} el\n     * @param {?} value\n     * @return {?}\n     */\n    DomAdapter.prototype.setChecked = function (el /** TODO #9100 */, value) { };\n    /**\n     * @abstract\n     * @param {?} text\n     * @return {?}\n     */\n    DomAdapter.prototype.createComment = function (text) { };\n    /**\n     * @abstract\n     * @param {?} html\n     * @return {?}\n     */\n    DomAdapter.prototype.createTemplate = function (html) { };\n    /**\n     * @abstract\n     * @param {?} tagName\n     * @param {?=} doc\n     * @return {?}\n     */\n    DomAdapter.prototype.createElement = function (tagName /** TODO #9100 */, doc) { };\n    /**\n     * @abstract\n     * @param {?} ns\n     * @param {?} tagName\n     * @param {?=} doc\n     * @return {?}\n     */\n    DomAdapter.prototype.createElementNS = function (ns, tagName, doc) { };\n    /**\n     * @abstract\n     * @param {?} text\n     * @param {?=} doc\n     * @return {?}\n     */\n    DomAdapter.prototype.createTextNode = function (text, doc) { };\n    /**\n     * @abstract\n     * @param {?} attrName\n     * @param {?} attrValue\n     * @param {?=} doc\n     * @return {?}\n     */\n    DomAdapter.prototype.createScriptTag = function (attrName, attrValue, doc) { };\n    /**\n     * @abstract\n     * @param {?} css\n     * @param {?=} doc\n     * @return {?}\n     */\n    DomAdapter.prototype.createStyleElement = function (css, doc) { };\n    /**\n     * @abstract\n     * @param {?} el\n     * @return {?}\n     */\n    DomAdapter.prototype.createShadowRoot = function (el) { };\n    /**\n     * @abstract\n     * @param {?} el\n     * @return {?}\n     */\n    DomAdapter.prototype.getShadowRoot = function (el) { };\n    /**\n     * @abstract\n     * @param {?} el\n     * @return {?}\n     */\n    DomAdapter.prototype.getHost = function (el) { };\n    /**\n     * @abstract\n     * @param {?} el\n     * @return {?}\n     */\n    DomAdapter.prototype.getDistributedNodes = function (el) { };\n    /**\n     * @abstract\n     * @param {?} node\n     * @return {?}\n     */\n    DomAdapter.prototype.clone /*<T extends Node>*/ = function (node) { };\n    /**\n     * @abstract\n     * @param {?} element\n     * @param {?} name\n     * @return {?}\n     */\n    DomAdapter.prototype.getElementsByClassName = function (element /** TODO #9100 */, name) { };\n    /**\n     * @abstract\n     * @param {?} element\n     * @param {?} name\n     * @return {?}\n     */\n    DomAdapter.prototype.getElementsByTagName = function (element /** TODO #9100 */, name) { };\n    /**\n     * @abstract\n     * @param {?} element\n     * @return {?}\n     */\n    DomAdapter.prototype.classList = function (element) { };\n    /**\n     * @abstract\n     * @param {?} element\n     * @param {?} className\n     * @return {?}\n     */\n    DomAdapter.prototype.addClass = function (element /** TODO #9100 */, className) { };\n    /**\n     * @abstract\n     * @param {?} element\n     * @param {?} className\n     * @return {?}\n     */\n    DomAdapter.prototype.removeClass = function (element /** TODO #9100 */, className) { };\n    /**\n     * @abstract\n     * @param {?} element\n     * @param {?} className\n     * @return {?}\n     */\n    DomAdapter.prototype.hasClass = function (element /** TODO #9100 */, className) { };\n    /**\n     * @abstract\n     * @param {?} element\n     * @param {?} styleName\n     * @param {?} styleValue\n     * @return {?}\n     */\n    DomAdapter.prototype.setStyle = function (element /** TODO #9100 */, styleName, styleValue) { };\n    /**\n     * @abstract\n     * @param {?} element\n     * @param {?} styleName\n     * @return {?}\n     */\n    DomAdapter.prototype.removeStyle = function (element /** TODO #9100 */, styleName) { };\n    /**\n     * @abstract\n     * @param {?} element\n     * @param {?} styleName\n     * @return {?}\n     */\n    DomAdapter.prototype.getStyle = function (element /** TODO #9100 */, styleName) { };\n    /**\n     * @abstract\n     * @param {?} element\n     * @param {?} styleName\n     * @param {?=} styleValue\n     * @return {?}\n     */\n    DomAdapter.prototype.hasStyle = function (element /** TODO #9100 */, styleName, styleValue) { };\n    /**\n     * @abstract\n     * @param {?} element\n     * @return {?}\n     */\n    DomAdapter.prototype.tagName = function (element) { };\n    /**\n     * @abstract\n     * @param {?} element\n     * @return {?}\n     */\n    DomAdapter.prototype.attributeMap = function (element) { };\n    /**\n     * @abstract\n     * @param {?} element\n     * @param {?} attribute\n     * @return {?}\n     */\n    DomAdapter.prototype.hasAttribute = function (element /** TODO #9100 */, attribute) { };\n    /**\n     * @abstract\n     * @param {?} element\n     * @param {?} ns\n     * @param {?} attribute\n     * @return {?}\n     */\n    DomAdapter.prototype.hasAttributeNS = function (element /** TODO #9100 */, ns, attribute) { };\n    /**\n     * @abstract\n     * @param {?} element\n     * @param {?} attribute\n     * @return {?}\n     */\n    DomAdapter.prototype.getAttribute = function (element /** TODO #9100 */, attribute) { };\n    /**\n     * @abstract\n     * @param {?} element\n     * @param {?} ns\n     * @param {?} attribute\n     * @return {?}\n     */\n    DomAdapter.prototype.getAttributeNS = function (element /** TODO #9100 */, ns, attribute) { };\n    /**\n     * @abstract\n     * @param {?} element\n     * @param {?} name\n     * @param {?} value\n     * @return {?}\n     */\n    DomAdapter.prototype.setAttribute = function (element /** TODO #9100 */, name, value) { };\n    /**\n     * @abstract\n     * @param {?} element\n     * @param {?} ns\n     * @param {?} name\n     * @param {?} value\n     * @return {?}\n     */\n    DomAdapter.prototype.setAttributeNS = function (element /** TODO #9100 */, ns, name, value) { };\n    /**\n     * @abstract\n     * @param {?} element\n     * @param {?} attribute\n     * @return {?}\n     */\n    DomAdapter.prototype.removeAttribute = function (element /** TODO #9100 */, attribute) { };\n    /**\n     * @abstract\n     * @param {?} element\n     * @param {?} ns\n     * @param {?} attribute\n     * @return {?}\n     */\n    DomAdapter.prototype.removeAttributeNS = function (element /** TODO #9100 */, ns, attribute) { };\n    /**\n     * @abstract\n     * @param {?} el\n     * @return {?}\n     */\n    DomAdapter.prototype.templateAwareRoot = function (el) { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    DomAdapter.prototype.createHtmlDocument = function () { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    DomAdapter.prototype.defaultDoc = function () { };\n    /**\n     * @abstract\n     * @param {?} el\n     * @return {?}\n     */\n    DomAdapter.prototype.getBoundingClientRect = function (el) { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    DomAdapter.prototype.getTitle = function () { };\n    /**\n     * @abstract\n     * @param {?} newTitle\n     * @return {?}\n     */\n    DomAdapter.prototype.setTitle = function (newTitle) { };\n    /**\n     * @abstract\n     * @param {?} n\n     * @param {?} selector\n     * @return {?}\n     */\n    DomAdapter.prototype.elementMatches = function (n /** TODO #9100 */, selector) { };\n    /**\n     * @abstract\n     * @param {?} el\n     * @return {?}\n     */\n    DomAdapter.prototype.isTemplateElement = function (el) { };\n    /**\n     * @abstract\n     * @param {?} node\n     * @return {?}\n     */\n    DomAdapter.prototype.isTextNode = function (node) { };\n    /**\n     * @abstract\n     * @param {?} node\n     * @return {?}\n     */\n    DomAdapter.prototype.isCommentNode = function (node) { };\n    /**\n     * @abstract\n     * @param {?} node\n     * @return {?}\n     */\n    DomAdapter.prototype.isElementNode = function (node) { };\n    /**\n     * @abstract\n     * @param {?} node\n     * @return {?}\n     */\n    DomAdapter.prototype.hasShadowRoot = function (node) { };\n    /**\n     * @abstract\n     * @param {?} node\n     * @return {?}\n     */\n    DomAdapter.prototype.isShadowRoot = function (node) { };\n    /**\n     * @abstract\n     * @param {?} node\n     * @return {?}\n     */\n    DomAdapter.prototype.importIntoDoc /*<T extends Node>*/ = function (node) { };\n    /**\n     * @abstract\n     * @param {?} node\n     * @return {?}\n     */\n    DomAdapter.prototype.adoptNode /*<T extends Node>*/ = function (node) { };\n    /**\n     * @abstract\n     * @param {?} element\n     * @return {?}\n     */\n    DomAdapter.prototype.getHref = function (element) { };\n    /**\n     * @abstract\n     * @param {?} event\n     * @return {?}\n     */\n    DomAdapter.prototype.getEventKey = function (event) { };\n    /**\n     * @abstract\n     * @param {?} element\n     * @param {?} baseUrl\n     * @param {?} href\n     * @return {?}\n     */\n    DomAdapter.prototype.resolveAndSetHref = function (element /** TODO #9100 */, baseUrl, href) { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    DomAdapter.prototype.supportsDOMEvents = function () { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    DomAdapter.prototype.supportsNativeShadowDOM = function () { };\n    /**\n     * @abstract\n     * @param {?} target\n     * @return {?}\n     */\n    DomAdapter.prototype.getGlobalEventTarget = function (target) { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    DomAdapter.prototype.getHistory = function () { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    DomAdapter.prototype.getLocation = function () { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    DomAdapter.prototype.getBaseHref = function () { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    DomAdapter.prototype.resetBaseElement = function () { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    DomAdapter.prototype.getUserAgent = function () { };\n    /**\n     * @abstract\n     * @param {?} element\n     * @param {?} name\n     * @param {?} value\n     * @return {?}\n     */\n    DomAdapter.prototype.setData = function (element /** TODO #9100 */, name, value) { };\n    /**\n     * @abstract\n     * @param {?} element\n     * @return {?}\n     */\n    DomAdapter.prototype.getComputedStyle = function (element) { };\n    /**\n     * @abstract\n     * @param {?} element\n     * @param {?} name\n     * @return {?}\n     */\n    DomAdapter.prototype.getData = function (element /** TODO #9100 */, name) { };\n    /**\n     * @abstract\n     * @param {?} name\n     * @param {?} value\n     * @return {?}\n     */\n    DomAdapter.prototype.setGlobalVar = function (name, value) { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    DomAdapter.prototype.supportsWebAnimation = function () { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    DomAdapter.prototype.performanceNow = function () { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    DomAdapter.prototype.getAnimationPrefix = function () { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    DomAdapter.prototype.getTransitionEnd = function () { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    DomAdapter.prototype.supportsAnimation = function () { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    DomAdapter.prototype.supportsCookies = function () { };\n    /**\n     * @abstract\n     * @param {?} name\n     * @return {?}\n     */\n    DomAdapter.prototype.getCookie = function (name) { };\n    /**\n     * @abstract\n     * @param {?} name\n     * @param {?} value\n     * @return {?}\n     */\n    DomAdapter.prototype.setCookie = function (name, value) { };\n    return DomAdapter;\n}());\nfunction DomAdapter_tsickle_Closure_declarations() {\n    /** @type {?} */\n    DomAdapter.prototype.resourceLoaderType;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    DomAdapter.prototype._attrToPropMap;\n}\n//# sourceMappingURL=dom_adapter.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/platform-browser/src/dom/dom_adapter.js\n// module id = 43\n// module chunks = 0","var anObject       = require('./_an-object')\n  , IE8_DOM_DEFINE = require('./_ie8-dom-define')\n  , toPrimitive    = require('./_to-primitive')\n  , dP             = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes){\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if(IE8_DOM_DEFINE)try {\n    return dP(O, P, Attributes);\n  } catch(e){ /* empty */ }\n  if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!');\n  if('value' in Attributes)O[P] = Attributes.value;\n  return O;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_object-dp.js\n// module id = 44\n// module chunks = 0","\"use strict\";\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nfunction __export(m) {\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nvar core_1 = require(\"@angular/core\");\nvar common_1 = require(\"@angular/common\");\nvar Tooltip_1 = require(\"./Tooltip\");\nvar TooltipContent_1 = require(\"./TooltipContent\");\n__export(require(\"./Tooltip\"));\n__export(require(\"./TooltipContent\"));\nvar TooltipModule = (function () {\n    function TooltipModule() {\n    }\n    return TooltipModule;\n}());\nTooltipModule = __decorate([\n    core_1.NgModule({\n        imports: [\n            common_1.CommonModule\n        ],\n        declarations: [\n            Tooltip_1.Tooltip,\n            TooltipContent_1.TooltipContent,\n        ],\n        exports: [\n            Tooltip_1.Tooltip,\n            TooltipContent_1.TooltipContent,\n        ],\n        entryComponents: [\n            TooltipContent_1.TooltipContent\n        ]\n    })\n], TooltipModule);\nexports.TooltipModule = TooltipModule;\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ngx-tooltip/index.js\n// module id = 45\n// module chunks = 0","\"use strict\";\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, _unsubscribe = _a._unsubscribe, _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                        }\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) {\n            case 'function':\n                sub = new Subscription(teardown);\n            case 'object':\n                if (sub.closed || typeof sub.unsubscribe !== 'function') {\n                    break;\n                }\n                else if (this.closed) {\n                    sub.unsubscribe();\n                }\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\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/Subscription.js\n// module id = 46\n// module chunks = 0","\"use strict\";\n// typeof any so that it we don't have to cast when comparing a result to the error object\nexports.errorObject = { e: {} };\n//# sourceMappingURL=errorObject.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/util/errorObject.js\n// module id = 47\n// module chunks = 0","\"use strict\";\nvar errorObject_1 = require('./errorObject');\nvar tryCatchTarget;\nfunction tryCatcher() {\n    try {\n        return tryCatchTarget.apply(this, arguments);\n    }\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\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/util/tryCatch.js\n// module id = 49\n// module chunks = 0","import {NgModule} from \"@angular/core\";\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport {FooterComponent} from \"./footer.component\";\r\n\r\n@NgModule({\r\n    declarations: [FooterComponent],\r\n    imports     : [BrowserModule],\r\n    exports     : [FooterComponent],\r\n})\r\n\r\nexport class FooterModule {}\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/common/franchise/footer/footer.module.ts","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function(){\n  return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_descriptors.js\n// module id = 52\n// module chunks = 0","//! moment.js\n//! version : 2.19.2\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n    typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n    typeof define === 'function' && define.amd ? define(factory) :\n    global.moment = factory()\n}(this, (function () { 'use strict';\n\nvar hookCallback;\n\nfunction hooks () {\n    return hookCallback.apply(null, arguments);\n}\n\n// This is done to register the method called with moment()\n// without creating circular dependencies.\nfunction setHookCallback (callback) {\n    hookCallback = callback;\n}\n\nfunction isArray(input) {\n    return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';\n}\n\nfunction isObject(input) {\n    // IE8 will treat undefined and null as object if it wasn't for\n    // input != null\n    return input != null && Object.prototype.toString.call(input) === '[object Object]';\n}\n\nfunction isObjectEmpty(obj) {\n    if (Object.getOwnPropertyNames) {\n        return (Object.getOwnPropertyNames(obj).length === 0);\n    } else {\n        var k;\n        for (k in obj) {\n            if (obj.hasOwnProperty(k)) {\n                return false;\n            }\n        }\n        return true;\n    }\n}\n\nfunction isUndefined(input) {\n    return input === void 0;\n}\n\nfunction isNumber(input) {\n    return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]';\n}\n\nfunction isDate(input) {\n    return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';\n}\n\nfunction map(arr, fn) {\n    var res = [], i;\n    for (i = 0; i < arr.length; ++i) {\n        res.push(fn(arr[i], i));\n    }\n    return res;\n}\n\nfunction hasOwnProp(a, b) {\n    return Object.prototype.hasOwnProperty.call(a, b);\n}\n\nfunction extend(a, b) {\n    for (var i in b) {\n        if (hasOwnProp(b, i)) {\n            a[i] = b[i];\n        }\n    }\n\n    if (hasOwnProp(b, 'toString')) {\n        a.toString = b.toString;\n    }\n\n    if (hasOwnProp(b, 'valueOf')) {\n        a.valueOf = b.valueOf;\n    }\n\n    return a;\n}\n\nfunction createUTC (input, format, locale, strict) {\n    return createLocalOrUTC(input, format, locale, strict, true).utc();\n}\n\nfunction defaultParsingFlags() {\n    // We need to deep clone this object.\n    return {\n        empty           : false,\n        unusedTokens    : [],\n        unusedInput     : [],\n        overflow        : -2,\n        charsLeftOver   : 0,\n        nullInput       : false,\n        invalidMonth    : null,\n        invalidFormat   : false,\n        userInvalidated : false,\n        iso             : false,\n        parsedDateParts : [],\n        meridiem        : null,\n        rfc2822         : false,\n        weekdayMismatch : false\n    };\n}\n\nfunction getParsingFlags(m) {\n    if (m._pf == null) {\n        m._pf = defaultParsingFlags();\n    }\n    return m._pf;\n}\n\nvar some;\nif (Array.prototype.some) {\n    some = Array.prototype.some;\n} else {\n    some = function (fun) {\n        var t = Object(this);\n        var len = t.length >>> 0;\n\n        for (var i = 0; i < len; i++) {\n            if (i in t && fun.call(this, t[i], i, t)) {\n                return true;\n            }\n        }\n\n        return false;\n    };\n}\n\nfunction isValid(m) {\n    if (m._isValid == null) {\n        var flags = getParsingFlags(m);\n        var parsedParts = some.call(flags.parsedDateParts, function (i) {\n            return i != null;\n        });\n        var isNowValid = !isNaN(m._d.getTime()) &&\n            flags.overflow < 0 &&\n            !flags.empty &&\n            !flags.invalidMonth &&\n            !flags.invalidWeekday &&\n            !flags.weekdayMismatch &&\n            !flags.nullInput &&\n            !flags.invalidFormat &&\n            !flags.userInvalidated &&\n            (!flags.meridiem || (flags.meridiem && parsedParts));\n\n        if (m._strict) {\n            isNowValid = isNowValid &&\n                flags.charsLeftOver === 0 &&\n                flags.unusedTokens.length === 0 &&\n                flags.bigHour === undefined;\n        }\n\n        if (Object.isFrozen == null || !Object.isFrozen(m)) {\n            m._isValid = isNowValid;\n        }\n        else {\n            return isNowValid;\n        }\n    }\n    return m._isValid;\n}\n\nfunction createInvalid (flags) {\n    var m = createUTC(NaN);\n    if (flags != null) {\n        extend(getParsingFlags(m), flags);\n    }\n    else {\n        getParsingFlags(m).userInvalidated = true;\n    }\n\n    return m;\n}\n\n// Plugins that add properties should also add the key here (null value),\n// so we can properly clone ourselves.\nvar momentProperties = hooks.momentProperties = [];\n\nfunction copyConfig(to, from) {\n    var i, prop, val;\n\n    if (!isUndefined(from._isAMomentObject)) {\n        to._isAMomentObject = from._isAMomentObject;\n    }\n    if (!isUndefined(from._i)) {\n        to._i = from._i;\n    }\n    if (!isUndefined(from._f)) {\n        to._f = from._f;\n    }\n    if (!isUndefined(from._l)) {\n        to._l = from._l;\n    }\n    if (!isUndefined(from._strict)) {\n        to._strict = from._strict;\n    }\n    if (!isUndefined(from._tzm)) {\n        to._tzm = from._tzm;\n    }\n    if (!isUndefined(from._isUTC)) {\n        to._isUTC = from._isUTC;\n    }\n    if (!isUndefined(from._offset)) {\n        to._offset = from._offset;\n    }\n    if (!isUndefined(from._pf)) {\n        to._pf = getParsingFlags(from);\n    }\n    if (!isUndefined(from._locale)) {\n        to._locale = from._locale;\n    }\n\n    if (momentProperties.length > 0) {\n        for (i = 0; i < momentProperties.length; i++) {\n            prop = momentProperties[i];\n            val = from[prop];\n            if (!isUndefined(val)) {\n                to[prop] = val;\n            }\n        }\n    }\n\n    return to;\n}\n\nvar updateInProgress = false;\n\n// Moment prototype object\nfunction Moment(config) {\n    copyConfig(this, config);\n    this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n    if (!this.isValid()) {\n        this._d = new Date(NaN);\n    }\n    // Prevent infinite loop in case updateOffset creates new moment\n    // objects.\n    if (updateInProgress === false) {\n        updateInProgress = true;\n        hooks.updateOffset(this);\n        updateInProgress = false;\n    }\n}\n\nfunction isMoment (obj) {\n    return obj instanceof Moment || (obj != null && obj._isAMomentObject != null);\n}\n\nfunction absFloor (number) {\n    if (number < 0) {\n        // -0 -> 0\n        return Math.ceil(number) || 0;\n    } else {\n        return Math.floor(number);\n    }\n}\n\nfunction toInt(argumentForCoercion) {\n    var coercedNumber = +argumentForCoercion,\n        value = 0;\n\n    if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n        value = absFloor(coercedNumber);\n    }\n\n    return value;\n}\n\n// compare two arrays, return the number of differences\nfunction compareArrays(array1, array2, dontConvert) {\n    var len = Math.min(array1.length, array2.length),\n        lengthDiff = Math.abs(array1.length - array2.length),\n        diffs = 0,\n        i;\n    for (i = 0; i < len; i++) {\n        if ((dontConvert && array1[i] !== array2[i]) ||\n            (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {\n            diffs++;\n        }\n    }\n    return diffs + lengthDiff;\n}\n\nfunction warn(msg) {\n    if (hooks.suppressDeprecationWarnings === false &&\n            (typeof console !==  'undefined') && console.warn) {\n        console.warn('Deprecation warning: ' + msg);\n    }\n}\n\nfunction deprecate(msg, fn) {\n    var firstTime = true;\n\n    return extend(function () {\n        if (hooks.deprecationHandler != null) {\n            hooks.deprecationHandler(null, msg);\n        }\n        if (firstTime) {\n            var args = [];\n            var arg;\n            for (var i = 0; i < arguments.length; i++) {\n                arg = '';\n                if (typeof arguments[i] === 'object') {\n                    arg += '\\n[' + i + '] ';\n                    for (var key in arguments[0]) {\n                        arg += key + ': ' + arguments[0][key] + ', ';\n                    }\n                    arg = arg.slice(0, -2); // Remove trailing comma and space\n                } else {\n                    arg = arguments[i];\n                }\n                args.push(arg);\n            }\n            warn(msg + '\\nArguments: ' + Array.prototype.slice.call(args).join('') + '\\n' + (new Error()).stack);\n            firstTime = false;\n        }\n        return fn.apply(this, arguments);\n    }, fn);\n}\n\nvar deprecations = {};\n\nfunction deprecateSimple(name, msg) {\n    if (hooks.deprecationHandler != null) {\n        hooks.deprecationHandler(name, msg);\n    }\n    if (!deprecations[name]) {\n        warn(msg);\n        deprecations[name] = true;\n    }\n}\n\nhooks.suppressDeprecationWarnings = false;\nhooks.deprecationHandler = null;\n\nfunction isFunction(input) {\n    return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n}\n\nfunction set (config) {\n    var prop, i;\n    for (i in config) {\n        prop = config[i];\n        if (isFunction(prop)) {\n            this[i] = prop;\n        } else {\n            this['_' + i] = prop;\n        }\n    }\n    this._config = config;\n    // Lenient ordinal parsing accepts just a number in addition to\n    // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n    // TODO: Remove \"ordinalParse\" fallback in next major release.\n    this._dayOfMonthOrdinalParseLenient = new RegExp(\n        (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n            '|' + (/\\d{1,2}/).source);\n}\n\nfunction mergeConfigs(parentConfig, childConfig) {\n    var res = extend({}, parentConfig), prop;\n    for (prop in childConfig) {\n        if (hasOwnProp(childConfig, prop)) {\n            if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n                res[prop] = {};\n                extend(res[prop], parentConfig[prop]);\n                extend(res[prop], childConfig[prop]);\n            } else if (childConfig[prop] != null) {\n                res[prop] = childConfig[prop];\n            } else {\n                delete res[prop];\n            }\n        }\n    }\n    for (prop in parentConfig) {\n        if (hasOwnProp(parentConfig, prop) &&\n                !hasOwnProp(childConfig, prop) &&\n                isObject(parentConfig[prop])) {\n            // make sure changes to properties don't modify parent config\n            res[prop] = extend({}, res[prop]);\n        }\n    }\n    return res;\n}\n\nfunction Locale(config) {\n    if (config != null) {\n        this.set(config);\n    }\n}\n\nvar keys;\n\nif (Object.keys) {\n    keys = Object.keys;\n} else {\n    keys = function (obj) {\n        var i, res = [];\n        for (i in obj) {\n            if (hasOwnProp(obj, i)) {\n                res.push(i);\n            }\n        }\n        return res;\n    };\n}\n\nvar defaultCalendar = {\n    sameDay : '[Today at] LT',\n    nextDay : '[Tomorrow at] LT',\n    nextWeek : 'dddd [at] LT',\n    lastDay : '[Yesterday at] LT',\n    lastWeek : '[Last] dddd [at] LT',\n    sameElse : 'L'\n};\n\nfunction calendar (key, mom, now) {\n    var output = this._calendar[key] || this._calendar['sameElse'];\n    return isFunction(output) ? output.call(mom, now) : output;\n}\n\nvar defaultLongDateFormat = {\n    LTS  : 'h:mm:ss A',\n    LT   : 'h:mm A',\n    L    : 'MM/DD/YYYY',\n    LL   : 'MMMM D, YYYY',\n    LLL  : 'MMMM D, YYYY h:mm A',\n    LLLL : 'dddd, MMMM D, YYYY h:mm A'\n};\n\nfunction longDateFormat (key) {\n    var format = this._longDateFormat[key],\n        formatUpper = this._longDateFormat[key.toUpperCase()];\n\n    if (format || !formatUpper) {\n        return format;\n    }\n\n    this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) {\n        return val.slice(1);\n    });\n\n    return this._longDateFormat[key];\n}\n\nvar defaultInvalidDate = 'Invalid date';\n\nfunction invalidDate () {\n    return this._invalidDate;\n}\n\nvar defaultOrdinal = '%d';\nvar defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\nfunction ordinal (number) {\n    return this._ordinal.replace('%d', number);\n}\n\nvar defaultRelativeTime = {\n    future : 'in %s',\n    past   : '%s ago',\n    s  : 'a few seconds',\n    ss : '%d seconds',\n    m  : 'a minute',\n    mm : '%d minutes',\n    h  : 'an hour',\n    hh : '%d hours',\n    d  : 'a day',\n    dd : '%d days',\n    M  : 'a month',\n    MM : '%d months',\n    y  : 'a year',\n    yy : '%d years'\n};\n\nfunction relativeTime (number, withoutSuffix, string, isFuture) {\n    var output = this._relativeTime[string];\n    return (isFunction(output)) ?\n        output(number, withoutSuffix, string, isFuture) :\n        output.replace(/%d/i, number);\n}\n\nfunction pastFuture (diff, output) {\n    var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n    return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n}\n\nvar aliases = {};\n\nfunction addUnitAlias (unit, shorthand) {\n    var lowerCase = unit.toLowerCase();\n    aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n}\n\nfunction normalizeUnits(units) {\n    return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;\n}\n\nfunction normalizeObjectUnits(inputObject) {\n    var normalizedInput = {},\n        normalizedProp,\n        prop;\n\n    for (prop in inputObject) {\n        if (hasOwnProp(inputObject, prop)) {\n            normalizedProp = normalizeUnits(prop);\n            if (normalizedProp) {\n                normalizedInput[normalizedProp] = inputObject[prop];\n            }\n        }\n    }\n\n    return normalizedInput;\n}\n\nvar priorities = {};\n\nfunction addUnitPriority(unit, priority) {\n    priorities[unit] = priority;\n}\n\nfunction getPrioritizedUnits(unitsObj) {\n    var units = [];\n    for (var u in unitsObj) {\n        units.push({unit: u, priority: priorities[u]});\n    }\n    units.sort(function (a, b) {\n        return a.priority - b.priority;\n    });\n    return units;\n}\n\nfunction zeroFill(number, targetLength, forceSign) {\n    var absNumber = '' + Math.abs(number),\n        zerosToFill = targetLength - absNumber.length,\n        sign = number >= 0;\n    return (sign ? (forceSign ? '+' : '') : '-') +\n        Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;\n}\n\nvar formattingTokens = /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;\n\nvar localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g;\n\nvar formatFunctions = {};\n\nvar formatTokenFunctions = {};\n\n// token:    'M'\n// padded:   ['MM', 2]\n// ordinal:  'Mo'\n// callback: function () { this.month() + 1 }\nfunction addFormatToken (token, padded, ordinal, callback) {\n    var func = callback;\n    if (typeof callback === 'string') {\n        func = function () {\n            return this[callback]();\n        };\n    }\n    if (token) {\n        formatTokenFunctions[token] = func;\n    }\n    if (padded) {\n        formatTokenFunctions[padded[0]] = function () {\n            return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n        };\n    }\n    if (ordinal) {\n        formatTokenFunctions[ordinal] = function () {\n            return this.localeData().ordinal(func.apply(this, arguments), token);\n        };\n    }\n}\n\nfunction removeFormattingTokens(input) {\n    if (input.match(/\\[[\\s\\S]/)) {\n        return input.replace(/^\\[|\\]$/g, '');\n    }\n    return input.replace(/\\\\/g, '');\n}\n\nfunction makeFormatFunction(format) {\n    var array = format.match(formattingTokens), i, length;\n\n    for (i = 0, length = array.length; i < length; i++) {\n        if (formatTokenFunctions[array[i]]) {\n            array[i] = formatTokenFunctions[array[i]];\n        } else {\n            array[i] = removeFormattingTokens(array[i]);\n        }\n    }\n\n    return function (mom) {\n        var output = '', i;\n        for (i = 0; i < length; i++) {\n            output += isFunction(array[i]) ? array[i].call(mom, format) : array[i];\n        }\n        return output;\n    };\n}\n\n// format date using native date object\nfunction formatMoment(m, format) {\n    if (!m.isValid()) {\n        return m.localeData().invalidDate();\n    }\n\n    format = expandFormat(format, m.localeData());\n    formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);\n\n    return formatFunctions[format](m);\n}\n\nfunction expandFormat(format, locale) {\n    var i = 5;\n\n    function replaceLongDateFormatTokens(input) {\n        return locale.longDateFormat(input) || input;\n    }\n\n    localFormattingTokens.lastIndex = 0;\n    while (i >= 0 && localFormattingTokens.test(format)) {\n        format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);\n        localFormattingTokens.lastIndex = 0;\n        i -= 1;\n    }\n\n    return format;\n}\n\nvar match1         = /\\d/;            //       0 - 9\nvar match2         = /\\d\\d/;          //      00 - 99\nvar match3         = /\\d{3}/;         //     000 - 999\nvar match4         = /\\d{4}/;         //    0000 - 9999\nvar match6         = /[+-]?\\d{6}/;    // -999999 - 999999\nvar match1to2      = /\\d\\d?/;         //       0 - 99\nvar match3to4      = /\\d\\d\\d\\d?/;     //     999 - 9999\nvar match5to6      = /\\d\\d\\d\\d\\d\\d?/; //   99999 - 999999\nvar match1to3      = /\\d{1,3}/;       //       0 - 999\nvar match1to4      = /\\d{1,4}/;       //       0 - 9999\nvar match1to6      = /[+-]?\\d{1,6}/;  // -999999 - 999999\n\nvar matchUnsigned  = /\\d+/;           //       0 - inf\nvar matchSigned    = /[+-]?\\d+/;      //    -inf - inf\n\nvar matchOffset    = /Z|[+-]\\d\\d:?\\d\\d/gi; // +00:00 -00:00 +0000 -0000 or Z\nvar matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n\nvar matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/; // 123456789 123456789.123\n\n// any word (or two) characters or numbers including two/three word month in arabic.\n// includes scottish gaelic two word and hyphenated months\nvar matchWord = /[0-9]*['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]+|[\\u0600-\\u06FF\\/]+(\\s*?[\\u0600-\\u06FF]+){1,2}/i;\n\n\nvar regexes = {};\n\nfunction addRegexToken (token, regex, strictRegex) {\n    regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {\n        return (isStrict && strictRegex) ? strictRegex : regex;\n    };\n}\n\nfunction getParseRegexForToken (token, config) {\n    if (!hasOwnProp(regexes, token)) {\n        return new RegExp(unescapeFormat(token));\n    }\n\n    return regexes[token](config._strict, config._locale);\n}\n\n// Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\nfunction unescapeFormat(s) {\n    return regexEscape(s.replace('\\\\', '').replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (matched, p1, p2, p3, p4) {\n        return p1 || p2 || p3 || p4;\n    }));\n}\n\nfunction regexEscape(s) {\n    return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n}\n\nvar tokens = {};\n\nfunction addParseToken (token, callback) {\n    var i, func = callback;\n    if (typeof token === 'string') {\n        token = [token];\n    }\n    if (isNumber(callback)) {\n        func = function (input, array) {\n            array[callback] = toInt(input);\n        };\n    }\n    for (i = 0; i < token.length; i++) {\n        tokens[token[i]] = func;\n    }\n}\n\nfunction addWeekParseToken (token, callback) {\n    addParseToken(token, function (input, array, config, token) {\n        config._w = config._w || {};\n        callback(input, config._w, config, token);\n    });\n}\n\nfunction addTimeToArrayFromToken(token, input, config) {\n    if (input != null && hasOwnProp(tokens, token)) {\n        tokens[token](input, config._a, config, token);\n    }\n}\n\nvar YEAR = 0;\nvar MONTH = 1;\nvar DATE = 2;\nvar HOUR = 3;\nvar MINUTE = 4;\nvar SECOND = 5;\nvar MILLISECOND = 6;\nvar WEEK = 7;\nvar WEEKDAY = 8;\n\n// FORMATTING\n\naddFormatToken('Y', 0, 0, function () {\n    var y = this.year();\n    return y <= 9999 ? '' + y : '+' + y;\n});\n\naddFormatToken(0, ['YY', 2], 0, function () {\n    return this.year() % 100;\n});\n\naddFormatToken(0, ['YYYY',   4],       0, 'year');\naddFormatToken(0, ['YYYYY',  5],       0, 'year');\naddFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n// ALIASES\n\naddUnitAlias('year', 'y');\n\n// PRIORITIES\n\naddUnitPriority('year', 1);\n\n// PARSING\n\naddRegexToken('Y',      matchSigned);\naddRegexToken('YY',     match1to2, match2);\naddRegexToken('YYYY',   match1to4, match4);\naddRegexToken('YYYYY',  match1to6, match6);\naddRegexToken('YYYYYY', match1to6, match6);\n\naddParseToken(['YYYYY', 'YYYYYY'], YEAR);\naddParseToken('YYYY', function (input, array) {\n    array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n});\naddParseToken('YY', function (input, array) {\n    array[YEAR] = hooks.parseTwoDigitYear(input);\n});\naddParseToken('Y', function (input, array) {\n    array[YEAR] = parseInt(input, 10);\n});\n\n// HELPERS\n\nfunction daysInYear(year) {\n    return isLeapYear(year) ? 366 : 365;\n}\n\nfunction isLeapYear(year) {\n    return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n}\n\n// HOOKS\n\nhooks.parseTwoDigitYear = function (input) {\n    return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n};\n\n// MOMENTS\n\nvar getSetYear = makeGetSet('FullYear', true);\n\nfunction getIsLeapYear () {\n    return isLeapYear(this.year());\n}\n\nfunction makeGetSet (unit, keepTime) {\n    return function (value) {\n        if (value != null) {\n            set$1(this, unit, value);\n            hooks.updateOffset(this, keepTime);\n            return this;\n        } else {\n            return get(this, unit);\n        }\n    };\n}\n\nfunction get (mom, unit) {\n    return mom.isValid() ?\n        mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;\n}\n\nfunction set$1 (mom, unit, value) {\n    if (mom.isValid() && !isNaN(value)) {\n        if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) {\n            mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month()));\n        }\n        else {\n            mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n        }\n    }\n}\n\n// MOMENTS\n\nfunction stringGet (units) {\n    units = normalizeUnits(units);\n    if (isFunction(this[units])) {\n        return this[units]();\n    }\n    return this;\n}\n\n\nfunction stringSet (units, value) {\n    if (typeof units === 'object') {\n        units = normalizeObjectUnits(units);\n        var prioritized = getPrioritizedUnits(units);\n        for (var i = 0; i < prioritized.length; i++) {\n            this[prioritized[i].unit](units[prioritized[i].unit]);\n        }\n    } else {\n        units = normalizeUnits(units);\n        if (isFunction(this[units])) {\n            return this[units](value);\n        }\n    }\n    return this;\n}\n\nfunction mod(n, x) {\n    return ((n % x) + x) % x;\n}\n\nvar indexOf;\n\nif (Array.prototype.indexOf) {\n    indexOf = Array.prototype.indexOf;\n} else {\n    indexOf = function (o) {\n        // I know\n        var i;\n        for (i = 0; i < this.length; ++i) {\n            if (this[i] === o) {\n                return i;\n            }\n        }\n        return -1;\n    };\n}\n\nfunction daysInMonth(year, month) {\n    if (isNaN(year) || isNaN(month)) {\n        return NaN;\n    }\n    var modMonth = mod(month, 12);\n    year += (month - modMonth) / 12;\n    return modMonth === 1 ? (isLeapYear(year) ? 29 : 28) : (31 - modMonth % 7 % 2);\n}\n\n// FORMATTING\n\naddFormatToken('M', ['MM', 2], 'Mo', function () {\n    return this.month() + 1;\n});\n\naddFormatToken('MMM', 0, 0, function (format) {\n    return this.localeData().monthsShort(this, format);\n});\n\naddFormatToken('MMMM', 0, 0, function (format) {\n    return this.localeData().months(this, format);\n});\n\n// ALIASES\n\naddUnitAlias('month', 'M');\n\n// PRIORITY\n\naddUnitPriority('month', 8);\n\n// PARSING\n\naddRegexToken('M',    match1to2);\naddRegexToken('MM',   match1to2, match2);\naddRegexToken('MMM',  function (isStrict, locale) {\n    return locale.monthsShortRegex(isStrict);\n});\naddRegexToken('MMMM', function (isStrict, locale) {\n    return locale.monthsRegex(isStrict);\n});\n\naddParseToken(['M', 'MM'], function (input, array) {\n    array[MONTH] = toInt(input) - 1;\n});\n\naddParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n    var month = config._locale.monthsParse(input, token, config._strict);\n    // if we didn't find a month name, mark the date as invalid.\n    if (month != null) {\n        array[MONTH] = month;\n    } else {\n        getParsingFlags(config).invalidMonth = input;\n    }\n});\n\n// LOCALES\n\nvar MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/;\nvar defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_');\nfunction localeMonths (m, format) {\n    if (!m) {\n        return isArray(this._months) ? this._months :\n            this._months['standalone'];\n    }\n    return isArray(this._months) ? this._months[m.month()] :\n        this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()];\n}\n\nvar defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');\nfunction localeMonthsShort (m, format) {\n    if (!m) {\n        return isArray(this._monthsShort) ? this._monthsShort :\n            this._monthsShort['standalone'];\n    }\n    return isArray(this._monthsShort) ? this._monthsShort[m.month()] :\n        this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];\n}\n\nfunction handleStrictParse(monthName, format, strict) {\n    var i, ii, mom, llc = monthName.toLocaleLowerCase();\n    if (!this._monthsParse) {\n        // this is not used\n        this._monthsParse = [];\n        this._longMonthsParse = [];\n        this._shortMonthsParse = [];\n        for (i = 0; i < 12; ++i) {\n            mom = createUTC([2000, i]);\n            this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();\n            this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n        }\n    }\n\n    if (strict) {\n        if (format === 'MMM') {\n            ii = indexOf.call(this._shortMonthsParse, llc);\n            return ii !== -1 ? ii : null;\n        } else {\n            ii = indexOf.call(this._longMonthsParse, llc);\n            return ii !== -1 ? ii : null;\n        }\n    } else {\n        if (format === 'MMM') {\n            ii = indexOf.call(this._shortMonthsParse, llc);\n            if (ii !== -1) {\n                return ii;\n            }\n            ii = indexOf.call(this._longMonthsParse, llc);\n            return ii !== -1 ? ii : null;\n        } else {\n            ii = indexOf.call(this._longMonthsParse, llc);\n            if (ii !== -1) {\n                return ii;\n            }\n            ii = indexOf.call(this._shortMonthsParse, llc);\n            return ii !== -1 ? ii : null;\n        }\n    }\n}\n\nfunction localeMonthsParse (monthName, format, strict) {\n    var i, mom, regex;\n\n    if (this._monthsParseExact) {\n        return handleStrictParse.call(this, monthName, format, strict);\n    }\n\n    if (!this._monthsParse) {\n        this._monthsParse = [];\n        this._longMonthsParse = [];\n        this._shortMonthsParse = [];\n    }\n\n    // TODO: add sorting\n    // Sorting makes sure if one month (or abbr) is a prefix of another\n    // see sorting in computeMonthsParse\n    for (i = 0; i < 12; i++) {\n        // make the regex if we don't have it already\n        mom = createUTC([2000, i]);\n        if (strict && !this._longMonthsParse[i]) {\n            this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');\n            this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');\n        }\n        if (!strict && !this._monthsParse[i]) {\n            regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n            this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n        }\n        // test the regex\n        if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {\n            return i;\n        } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {\n            return i;\n        } else if (!strict && this._monthsParse[i].test(monthName)) {\n            return i;\n        }\n    }\n}\n\n// MOMENTS\n\nfunction setMonth (mom, value) {\n    var dayOfMonth;\n\n    if (!mom.isValid()) {\n        // No op\n        return mom;\n    }\n\n    if (typeof value === 'string') {\n        if (/^\\d+$/.test(value)) {\n            value = toInt(value);\n        } else {\n            value = mom.localeData().monthsParse(value);\n            // TODO: Another silent failure?\n            if (!isNumber(value)) {\n                return mom;\n            }\n        }\n    }\n\n    dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n    mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n    return mom;\n}\n\nfunction getSetMonth (value) {\n    if (value != null) {\n        setMonth(this, value);\n        hooks.updateOffset(this, true);\n        return this;\n    } else {\n        return get(this, 'Month');\n    }\n}\n\nfunction getDaysInMonth () {\n    return daysInMonth(this.year(), this.month());\n}\n\nvar defaultMonthsShortRegex = matchWord;\nfunction monthsShortRegex (isStrict) {\n    if (this._monthsParseExact) {\n        if (!hasOwnProp(this, '_monthsRegex')) {\n            computeMonthsParse.call(this);\n        }\n        if (isStrict) {\n            return this._monthsShortStrictRegex;\n        } else {\n            return this._monthsShortRegex;\n        }\n    } else {\n        if (!hasOwnProp(this, '_monthsShortRegex')) {\n            this._monthsShortRegex = defaultMonthsShortRegex;\n        }\n        return this._monthsShortStrictRegex && isStrict ?\n            this._monthsShortStrictRegex : this._monthsShortRegex;\n    }\n}\n\nvar defaultMonthsRegex = matchWord;\nfunction monthsRegex (isStrict) {\n    if (this._monthsParseExact) {\n        if (!hasOwnProp(this, '_monthsRegex')) {\n            computeMonthsParse.call(this);\n        }\n        if (isStrict) {\n            return this._monthsStrictRegex;\n        } else {\n            return this._monthsRegex;\n        }\n    } else {\n        if (!hasOwnProp(this, '_monthsRegex')) {\n            this._monthsRegex = defaultMonthsRegex;\n        }\n        return this._monthsStrictRegex && isStrict ?\n            this._monthsStrictRegex : this._monthsRegex;\n    }\n}\n\nfunction computeMonthsParse () {\n    function cmpLenRev(a, b) {\n        return b.length - a.length;\n    }\n\n    var shortPieces = [], longPieces = [], mixedPieces = [],\n        i, mom;\n    for (i = 0; i < 12; i++) {\n        // make the regex if we don't have it already\n        mom = createUTC([2000, i]);\n        shortPieces.push(this.monthsShort(mom, ''));\n        longPieces.push(this.months(mom, ''));\n        mixedPieces.push(this.months(mom, ''));\n        mixedPieces.push(this.monthsShort(mom, ''));\n    }\n    // Sorting makes sure if one month (or abbr) is a prefix of another it\n    // will match the longer piece.\n    shortPieces.sort(cmpLenRev);\n    longPieces.sort(cmpLenRev);\n    mixedPieces.sort(cmpLenRev);\n    for (i = 0; i < 12; i++) {\n        shortPieces[i] = regexEscape(shortPieces[i]);\n        longPieces[i] = regexEscape(longPieces[i]);\n    }\n    for (i = 0; i < 24; i++) {\n        mixedPieces[i] = regexEscape(mixedPieces[i]);\n    }\n\n    this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n    this._monthsShortRegex = this._monthsRegex;\n    this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n    this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n}\n\nfunction createDate (y, m, d, h, M, s, ms) {\n    // can't just apply() to create a date:\n    // https://stackoverflow.com/q/181348\n    var date = new Date(y, m, d, h, M, s, ms);\n\n    // the date constructor remaps years 0-99 to 1900-1999\n    if (y < 100 && y >= 0 && isFinite(date.getFullYear())) {\n        date.setFullYear(y);\n    }\n    return date;\n}\n\nfunction createUTCDate (y) {\n    var date = new Date(Date.UTC.apply(null, arguments));\n\n    // the Date.UTC function remaps years 0-99 to 1900-1999\n    if (y < 100 && y >= 0 && isFinite(date.getUTCFullYear())) {\n        date.setUTCFullYear(y);\n    }\n    return date;\n}\n\n// start-of-first-week - start-of-year\nfunction firstWeekOffset(year, dow, doy) {\n    var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n        fwd = 7 + dow - doy,\n        // first-week day local weekday -- which local weekday is fwd\n        fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n    return -fwdlw + fwd - 1;\n}\n\n// https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\nfunction dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n    var localWeekday = (7 + weekday - dow) % 7,\n        weekOffset = firstWeekOffset(year, dow, doy),\n        dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n        resYear, resDayOfYear;\n\n    if (dayOfYear <= 0) {\n        resYear = year - 1;\n        resDayOfYear = daysInYear(resYear) + dayOfYear;\n    } else if (dayOfYear > daysInYear(year)) {\n        resYear = year + 1;\n        resDayOfYear = dayOfYear - daysInYear(year);\n    } else {\n        resYear = year;\n        resDayOfYear = dayOfYear;\n    }\n\n    return {\n        year: resYear,\n        dayOfYear: resDayOfYear\n    };\n}\n\nfunction weekOfYear(mom, dow, doy) {\n    var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n        week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n        resWeek, resYear;\n\n    if (week < 1) {\n        resYear = mom.year() - 1;\n        resWeek = week + weeksInYear(resYear, dow, doy);\n    } else if (week > weeksInYear(mom.year(), dow, doy)) {\n        resWeek = week - weeksInYear(mom.year(), dow, doy);\n        resYear = mom.year() + 1;\n    } else {\n        resYear = mom.year();\n        resWeek = week;\n    }\n\n    return {\n        week: resWeek,\n        year: resYear\n    };\n}\n\nfunction weeksInYear(year, dow, doy) {\n    var weekOffset = firstWeekOffset(year, dow, doy),\n        weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n    return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n}\n\n// FORMATTING\n\naddFormatToken('w', ['ww', 2], 'wo', 'week');\naddFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n// ALIASES\n\naddUnitAlias('week', 'w');\naddUnitAlias('isoWeek', 'W');\n\n// PRIORITIES\n\naddUnitPriority('week', 5);\naddUnitPriority('isoWeek', 5);\n\n// PARSING\n\naddRegexToken('w',  match1to2);\naddRegexToken('ww', match1to2, match2);\naddRegexToken('W',  match1to2);\naddRegexToken('WW', match1to2, match2);\n\naddWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {\n    week[token.substr(0, 1)] = toInt(input);\n});\n\n// HELPERS\n\n// LOCALES\n\nfunction localeWeek (mom) {\n    return weekOfYear(mom, this._week.dow, this._week.doy).week;\n}\n\nvar defaultLocaleWeek = {\n    dow : 0, // Sunday is the first day of the week.\n    doy : 6  // The week that contains Jan 1st is the first week of the year.\n};\n\nfunction localeFirstDayOfWeek () {\n    return this._week.dow;\n}\n\nfunction localeFirstDayOfYear () {\n    return this._week.doy;\n}\n\n// MOMENTS\n\nfunction getSetWeek (input) {\n    var week = this.localeData().week(this);\n    return input == null ? week : this.add((input - week) * 7, 'd');\n}\n\nfunction getSetISOWeek (input) {\n    var week = weekOfYear(this, 1, 4).week;\n    return input == null ? week : this.add((input - week) * 7, 'd');\n}\n\n// FORMATTING\n\naddFormatToken('d', 0, 'do', 'day');\n\naddFormatToken('dd', 0, 0, function (format) {\n    return this.localeData().weekdaysMin(this, format);\n});\n\naddFormatToken('ddd', 0, 0, function (format) {\n    return this.localeData().weekdaysShort(this, format);\n});\n\naddFormatToken('dddd', 0, 0, function (format) {\n    return this.localeData().weekdays(this, format);\n});\n\naddFormatToken('e', 0, 0, 'weekday');\naddFormatToken('E', 0, 0, 'isoWeekday');\n\n// ALIASES\n\naddUnitAlias('day', 'd');\naddUnitAlias('weekday', 'e');\naddUnitAlias('isoWeekday', 'E');\n\n// PRIORITY\naddUnitPriority('day', 11);\naddUnitPriority('weekday', 11);\naddUnitPriority('isoWeekday', 11);\n\n// PARSING\n\naddRegexToken('d',    match1to2);\naddRegexToken('e',    match1to2);\naddRegexToken('E',    match1to2);\naddRegexToken('dd',   function (isStrict, locale) {\n    return locale.weekdaysMinRegex(isStrict);\n});\naddRegexToken('ddd',   function (isStrict, locale) {\n    return locale.weekdaysShortRegex(isStrict);\n});\naddRegexToken('dddd',   function (isStrict, locale) {\n    return locale.weekdaysRegex(isStrict);\n});\n\naddWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n    var weekday = config._locale.weekdaysParse(input, token, config._strict);\n    // if we didn't get a weekday name, mark the date as invalid\n    if (weekday != null) {\n        week.d = weekday;\n    } else {\n        getParsingFlags(config).invalidWeekday = input;\n    }\n});\n\naddWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n    week[token] = toInt(input);\n});\n\n// HELPERS\n\nfunction parseWeekday(input, locale) {\n    if (typeof input !== 'string') {\n        return input;\n    }\n\n    if (!isNaN(input)) {\n        return parseInt(input, 10);\n    }\n\n    input = locale.weekdaysParse(input);\n    if (typeof input === 'number') {\n        return input;\n    }\n\n    return null;\n}\n\nfunction parseIsoWeekday(input, locale) {\n    if (typeof input === 'string') {\n        return locale.weekdaysParse(input) % 7 || 7;\n    }\n    return isNaN(input) ? null : input;\n}\n\n// LOCALES\n\nvar defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');\nfunction localeWeekdays (m, format) {\n    if (!m) {\n        return isArray(this._weekdays) ? this._weekdays :\n            this._weekdays['standalone'];\n    }\n    return isArray(this._weekdays) ? this._weekdays[m.day()] :\n        this._weekdays[this._weekdays.isFormat.test(format) ? 'format' : 'standalone'][m.day()];\n}\n\nvar defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');\nfunction localeWeekdaysShort (m) {\n    return (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort;\n}\n\nvar defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');\nfunction localeWeekdaysMin (m) {\n    return (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin;\n}\n\nfunction handleStrictParse$1(weekdayName, format, strict) {\n    var i, ii, mom, llc = weekdayName.toLocaleLowerCase();\n    if (!this._weekdaysParse) {\n        this._weekdaysParse = [];\n        this._shortWeekdaysParse = [];\n        this._minWeekdaysParse = [];\n\n        for (i = 0; i < 7; ++i) {\n            mom = createUTC([2000, 1]).day(i);\n            this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase();\n            this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase();\n            this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n        }\n    }\n\n    if (strict) {\n        if (format === 'dddd') {\n            ii = indexOf.call(this._weekdaysParse, llc);\n            return ii !== -1 ? ii : null;\n        } else if (format === 'ddd') {\n            ii = indexOf.call(this._shortWeekdaysParse, llc);\n            return ii !== -1 ? ii : null;\n        } else {\n            ii = indexOf.call(this._minWeekdaysParse, llc);\n            return ii !== -1 ? ii : null;\n        }\n    } else {\n        if (format === 'dddd') {\n            ii = indexOf.call(this._weekdaysParse, llc);\n            if (ii !== -1) {\n                return ii;\n            }\n            ii = indexOf.call(this._shortWeekdaysParse, llc);\n            if (ii !== -1) {\n                return ii;\n            }\n            ii = indexOf.call(this._minWeekdaysParse, llc);\n            return ii !== -1 ? ii : null;\n        } else if (format === 'ddd') {\n            ii = indexOf.call(this._shortWeekdaysParse, llc);\n            if (ii !== -1) {\n                return ii;\n            }\n            ii = indexOf.call(this._weekdaysParse, llc);\n            if (ii !== -1) {\n                return ii;\n            }\n            ii = indexOf.call(this._minWeekdaysParse, llc);\n            return ii !== -1 ? ii : null;\n        } else {\n            ii = indexOf.call(this._minWeekdaysParse, llc);\n            if (ii !== -1) {\n                return ii;\n            }\n            ii = indexOf.call(this._weekdaysParse, llc);\n            if (ii !== -1) {\n                return ii;\n            }\n            ii = indexOf.call(this._shortWeekdaysParse, llc);\n            return ii !== -1 ? ii : null;\n        }\n    }\n}\n\nfunction localeWeekdaysParse (weekdayName, format, strict) {\n    var i, mom, regex;\n\n    if (this._weekdaysParseExact) {\n        return handleStrictParse$1.call(this, weekdayName, format, strict);\n    }\n\n    if (!this._weekdaysParse) {\n        this._weekdaysParse = [];\n        this._minWeekdaysParse = [];\n        this._shortWeekdaysParse = [];\n        this._fullWeekdaysParse = [];\n    }\n\n    for (i = 0; i < 7; i++) {\n        // make the regex if we don't have it already\n\n        mom = createUTC([2000, 1]).day(i);\n        if (strict && !this._fullWeekdaysParse[i]) {\n            this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\.?') + '$', 'i');\n            this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\.?') + '$', 'i');\n            this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\.?') + '$', 'i');\n        }\n        if (!this._weekdaysParse[i]) {\n            regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');\n            this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n        }\n        // test the regex\n        if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {\n            return i;\n        } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {\n            return i;\n        } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {\n            return i;\n        } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n            return i;\n        }\n    }\n}\n\n// MOMENTS\n\nfunction getSetDayOfWeek (input) {\n    if (!this.isValid()) {\n        return input != null ? this : NaN;\n    }\n    var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n    if (input != null) {\n        input = parseWeekday(input, this.localeData());\n        return this.add(input - day, 'd');\n    } else {\n        return day;\n    }\n}\n\nfunction getSetLocaleDayOfWeek (input) {\n    if (!this.isValid()) {\n        return input != null ? this : NaN;\n    }\n    var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n    return input == null ? weekday : this.add(input - weekday, 'd');\n}\n\nfunction getSetISODayOfWeek (input) {\n    if (!this.isValid()) {\n        return input != null ? this : NaN;\n    }\n\n    // behaves the same as moment#day except\n    // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n    // as a setter, sunday should belong to the previous week.\n\n    if (input != null) {\n        var weekday = parseIsoWeekday(input, this.localeData());\n        return this.day(this.day() % 7 ? weekday : weekday - 7);\n    } else {\n        return this.day() || 7;\n    }\n}\n\nvar defaultWeekdaysRegex = matchWord;\nfunction weekdaysRegex (isStrict) {\n    if (this._weekdaysParseExact) {\n        if (!hasOwnProp(this, '_weekdaysRegex')) {\n            computeWeekdaysParse.call(this);\n        }\n        if (isStrict) {\n            return this._weekdaysStrictRegex;\n        } else {\n            return this._weekdaysRegex;\n        }\n    } else {\n        if (!hasOwnProp(this, '_weekdaysRegex')) {\n            this._weekdaysRegex = defaultWeekdaysRegex;\n        }\n        return this._weekdaysStrictRegex && isStrict ?\n            this._weekdaysStrictRegex : this._weekdaysRegex;\n    }\n}\n\nvar defaultWeekdaysShortRegex = matchWord;\nfunction weekdaysShortRegex (isStrict) {\n    if (this._weekdaysParseExact) {\n        if (!hasOwnProp(this, '_weekdaysRegex')) {\n            computeWeekdaysParse.call(this);\n        }\n        if (isStrict) {\n            return this._weekdaysShortStrictRegex;\n        } else {\n            return this._weekdaysShortRegex;\n        }\n    } else {\n        if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n            this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n        }\n        return this._weekdaysShortStrictRegex && isStrict ?\n            this._weekdaysShortStrictRegex : this._weekdaysShortRegex;\n    }\n}\n\nvar defaultWeekdaysMinRegex = matchWord;\nfunction weekdaysMinRegex (isStrict) {\n    if (this._weekdaysParseExact) {\n        if (!hasOwnProp(this, '_weekdaysRegex')) {\n            computeWeekdaysParse.call(this);\n        }\n        if (isStrict) {\n            return this._weekdaysMinStrictRegex;\n        } else {\n            return this._weekdaysMinRegex;\n        }\n    } else {\n        if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n            this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n        }\n        return this._weekdaysMinStrictRegex && isStrict ?\n            this._weekdaysMinStrictRegex : this._weekdaysMinRegex;\n    }\n}\n\n\nfunction computeWeekdaysParse () {\n    function cmpLenRev(a, b) {\n        return b.length - a.length;\n    }\n\n    var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [],\n        i, mom, minp, shortp, longp;\n    for (i = 0; i < 7; i++) {\n        // make the regex if we don't have it already\n        mom = createUTC([2000, 1]).day(i);\n        minp = this.weekdaysMin(mom, '');\n        shortp = this.weekdaysShort(mom, '');\n        longp = this.weekdays(mom, '');\n        minPieces.push(minp);\n        shortPieces.push(shortp);\n        longPieces.push(longp);\n        mixedPieces.push(minp);\n        mixedPieces.push(shortp);\n        mixedPieces.push(longp);\n    }\n    // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n    // will match the longer piece.\n    minPieces.sort(cmpLenRev);\n    shortPieces.sort(cmpLenRev);\n    longPieces.sort(cmpLenRev);\n    mixedPieces.sort(cmpLenRev);\n    for (i = 0; i < 7; i++) {\n        shortPieces[i] = regexEscape(shortPieces[i]);\n        longPieces[i] = regexEscape(longPieces[i]);\n        mixedPieces[i] = regexEscape(mixedPieces[i]);\n    }\n\n    this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n    this._weekdaysShortRegex = this._weekdaysRegex;\n    this._weekdaysMinRegex = this._weekdaysRegex;\n\n    this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n    this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n    this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i');\n}\n\n// FORMATTING\n\nfunction hFormat() {\n    return this.hours() % 12 || 12;\n}\n\nfunction kFormat() {\n    return this.hours() || 24;\n}\n\naddFormatToken('H', ['HH', 2], 0, 'hour');\naddFormatToken('h', ['hh', 2], 0, hFormat);\naddFormatToken('k', ['kk', 2], 0, kFormat);\n\naddFormatToken('hmm', 0, 0, function () {\n    return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n});\n\naddFormatToken('hmmss', 0, 0, function () {\n    return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) +\n        zeroFill(this.seconds(), 2);\n});\n\naddFormatToken('Hmm', 0, 0, function () {\n    return '' + this.hours() + zeroFill(this.minutes(), 2);\n});\n\naddFormatToken('Hmmss', 0, 0, function () {\n    return '' + this.hours() + zeroFill(this.minutes(), 2) +\n        zeroFill(this.seconds(), 2);\n});\n\nfunction meridiem (token, lowercase) {\n    addFormatToken(token, 0, 0, function () {\n        return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);\n    });\n}\n\nmeridiem('a', true);\nmeridiem('A', false);\n\n// ALIASES\n\naddUnitAlias('hour', 'h');\n\n// PRIORITY\naddUnitPriority('hour', 13);\n\n// PARSING\n\nfunction matchMeridiem (isStrict, locale) {\n    return locale._meridiemParse;\n}\n\naddRegexToken('a',  matchMeridiem);\naddRegexToken('A',  matchMeridiem);\naddRegexToken('H',  match1to2);\naddRegexToken('h',  match1to2);\naddRegexToken('k',  match1to2);\naddRegexToken('HH', match1to2, match2);\naddRegexToken('hh', match1to2, match2);\naddRegexToken('kk', match1to2, match2);\n\naddRegexToken('hmm', match3to4);\naddRegexToken('hmmss', match5to6);\naddRegexToken('Hmm', match3to4);\naddRegexToken('Hmmss', match5to6);\n\naddParseToken(['H', 'HH'], HOUR);\naddParseToken(['k', 'kk'], function (input, array, config) {\n    var kInput = toInt(input);\n    array[HOUR] = kInput === 24 ? 0 : kInput;\n});\naddParseToken(['a', 'A'], function (input, array, config) {\n    config._isPm = config._locale.isPM(input);\n    config._meridiem = input;\n});\naddParseToken(['h', 'hh'], function (input, array, config) {\n    array[HOUR] = toInt(input);\n    getParsingFlags(config).bigHour = true;\n});\naddParseToken('hmm', function (input, array, config) {\n    var pos = input.length - 2;\n    array[HOUR] = toInt(input.substr(0, pos));\n    array[MINUTE] = toInt(input.substr(pos));\n    getParsingFlags(config).bigHour = true;\n});\naddParseToken('hmmss', function (input, array, config) {\n    var pos1 = input.length - 4;\n    var pos2 = input.length - 2;\n    array[HOUR] = toInt(input.substr(0, pos1));\n    array[MINUTE] = toInt(input.substr(pos1, 2));\n    array[SECOND] = toInt(input.substr(pos2));\n    getParsingFlags(config).bigHour = true;\n});\naddParseToken('Hmm', function (input, array, config) {\n    var pos = input.length - 2;\n    array[HOUR] = toInt(input.substr(0, pos));\n    array[MINUTE] = toInt(input.substr(pos));\n});\naddParseToken('Hmmss', function (input, array, config) {\n    var pos1 = input.length - 4;\n    var pos2 = input.length - 2;\n    array[HOUR] = toInt(input.substr(0, pos1));\n    array[MINUTE] = toInt(input.substr(pos1, 2));\n    array[SECOND] = toInt(input.substr(pos2));\n});\n\n// LOCALES\n\nfunction localeIsPM (input) {\n    // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n    // Using charAt should be more compatible.\n    return ((input + '').toLowerCase().charAt(0) === 'p');\n}\n\nvar defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i;\nfunction localeMeridiem (hours, minutes, isLower) {\n    if (hours > 11) {\n        return isLower ? 'pm' : 'PM';\n    } else {\n        return isLower ? 'am' : 'AM';\n    }\n}\n\n\n// MOMENTS\n\n// Setting the hour should keep the time, because the user explicitly\n// specified which hour he wants. So trying to maintain the same hour (in\n// a new timezone) makes sense. Adding/subtracting hours does not follow\n// this rule.\nvar getSetHour = makeGetSet('Hours', true);\n\n// months\n// week\n// weekdays\n// meridiem\nvar baseConfig = {\n    calendar: defaultCalendar,\n    longDateFormat: defaultLongDateFormat,\n    invalidDate: defaultInvalidDate,\n    ordinal: defaultOrdinal,\n    dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n    relativeTime: defaultRelativeTime,\n\n    months: defaultLocaleMonths,\n    monthsShort: defaultLocaleMonthsShort,\n\n    week: defaultLocaleWeek,\n\n    weekdays: defaultLocaleWeekdays,\n    weekdaysMin: defaultLocaleWeekdaysMin,\n    weekdaysShort: defaultLocaleWeekdaysShort,\n\n    meridiemParse: defaultLocaleMeridiemParse\n};\n\n// internal storage for locale config files\nvar locales = {};\nvar localeFamilies = {};\nvar globalLocale;\n\nfunction normalizeLocale(key) {\n    return key ? key.toLowerCase().replace('_', '-') : key;\n}\n\n// pick the locale from the array\n// try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n// substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\nfunction chooseLocale(names) {\n    var i = 0, j, next, locale, split;\n\n    while (i < names.length) {\n        split = normalizeLocale(names[i]).split('-');\n        j = split.length;\n        next = normalizeLocale(names[i + 1]);\n        next = next ? next.split('-') : null;\n        while (j > 0) {\n            locale = loadLocale(split.slice(0, j).join('-'));\n            if (locale) {\n                return locale;\n            }\n            if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {\n                //the next array item is better than a shallower substring of this one\n                break;\n            }\n            j--;\n        }\n        i++;\n    }\n    return null;\n}\n\nfunction loadLocale(name) {\n    var oldLocale = null;\n    // TODO: Find a better way to register and load all the locales in Node\n    if (!locales[name] && (typeof module !== 'undefined') &&\n            module && module.exports) {\n        try {\n            oldLocale = globalLocale._abbr;\n            var aliasedRequire = require;\n            aliasedRequire('./locale/' + name);\n            getSetGlobalLocale(oldLocale);\n        } catch (e) {}\n    }\n    return locales[name];\n}\n\n// This function will load locale and then set the global locale.  If\n// no arguments are passed in, it will simply return the current global\n// locale key.\nfunction getSetGlobalLocale (key, values) {\n    var data;\n    if (key) {\n        if (isUndefined(values)) {\n            data = getLocale(key);\n        }\n        else {\n            data = defineLocale(key, values);\n        }\n\n        if (data) {\n            // moment.duration._locale = moment._locale = data;\n            globalLocale = data;\n        }\n    }\n\n    return globalLocale._abbr;\n}\n\nfunction defineLocale (name, config) {\n    if (config !== null) {\n        var parentConfig = baseConfig;\n        config.abbr = name;\n        if (locales[name] != null) {\n            deprecateSimple('defineLocaleOverride',\n                    'use moment.updateLocale(localeName, config) to change ' +\n                    'an existing locale. moment.defineLocale(localeName, ' +\n                    'config) should only be used for creating a new locale ' +\n                    'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.');\n            parentConfig = locales[name]._config;\n        } else if (config.parentLocale != null) {\n            if (locales[config.parentLocale] != null) {\n                parentConfig = locales[config.parentLocale]._config;\n            } else {\n                if (!localeFamilies[config.parentLocale]) {\n                    localeFamilies[config.parentLocale] = [];\n                }\n                localeFamilies[config.parentLocale].push({\n                    name: name,\n                    config: config\n                });\n                return null;\n            }\n        }\n        locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n        if (localeFamilies[name]) {\n            localeFamilies[name].forEach(function (x) {\n                defineLocale(x.name, x.config);\n            });\n        }\n\n        // backwards compat for now: also set the locale\n        // make sure we set the locale AFTER all child locales have been\n        // created, so we won't end up with the child locale set.\n        getSetGlobalLocale(name);\n\n\n        return locales[name];\n    } else {\n        // useful for testing\n        delete locales[name];\n        return null;\n    }\n}\n\nfunction updateLocale(name, config) {\n    if (config != null) {\n        var locale, tmpLocale, parentConfig = baseConfig;\n        // MERGE\n        tmpLocale = loadLocale(name);\n        if (tmpLocale != null) {\n            parentConfig = tmpLocale._config;\n        }\n        config = mergeConfigs(parentConfig, config);\n        locale = new Locale(config);\n        locale.parentLocale = locales[name];\n        locales[name] = locale;\n\n        // backwards compat for now: also set the locale\n        getSetGlobalLocale(name);\n    } else {\n        // pass null for config to unupdate, useful for tests\n        if (locales[name] != null) {\n            if (locales[name].parentLocale != null) {\n                locales[name] = locales[name].parentLocale;\n            } else if (locales[name] != null) {\n                delete locales[name];\n            }\n        }\n    }\n    return locales[name];\n}\n\n// returns locale data\nfunction getLocale (key) {\n    var locale;\n\n    if (key && key._locale && key._locale._abbr) {\n        key = key._locale._abbr;\n    }\n\n    if (!key) {\n        return globalLocale;\n    }\n\n    if (!isArray(key)) {\n        //short-circuit everything else\n        locale = loadLocale(key);\n        if (locale) {\n            return locale;\n        }\n        key = [key];\n    }\n\n    return chooseLocale(key);\n}\n\nfunction listLocales() {\n    return keys(locales);\n}\n\nfunction checkOverflow (m) {\n    var overflow;\n    var a = m._a;\n\n    if (a && getParsingFlags(m).overflow === -2) {\n        overflow =\n            a[MONTH]       < 0 || a[MONTH]       > 11  ? MONTH :\n            a[DATE]        < 1 || a[DATE]        > daysInMonth(a[YEAR], a[MONTH]) ? DATE :\n            a[HOUR]        < 0 || a[HOUR]        > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR :\n            a[MINUTE]      < 0 || a[MINUTE]      > 59  ? MINUTE :\n            a[SECOND]      < 0 || a[SECOND]      > 59  ? SECOND :\n            a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND :\n            -1;\n\n        if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {\n            overflow = DATE;\n        }\n        if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n            overflow = WEEK;\n        }\n        if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n            overflow = WEEKDAY;\n        }\n\n        getParsingFlags(m).overflow = overflow;\n    }\n\n    return m;\n}\n\n// Pick the first defined of two or three arguments.\nfunction defaults(a, b, c) {\n    if (a != null) {\n        return a;\n    }\n    if (b != null) {\n        return b;\n    }\n    return c;\n}\n\nfunction currentDateArray(config) {\n    // hooks is actually the exported moment object\n    var nowValue = new Date(hooks.now());\n    if (config._useUTC) {\n        return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];\n    }\n    return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n}\n\n// convert an array to a date.\n// the array should mirror the parameters below\n// note: all values past the year are optional and will default to the lowest possible value.\n// [year, month, day , hour, minute, second, millisecond]\nfunction configFromArray (config) {\n    var i, date, input = [], currentDate, yearToUse;\n\n    if (config._d) {\n        return;\n    }\n\n    currentDate = currentDateArray(config);\n\n    //compute day of the year from weeks and weekdays\n    if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n        dayOfYearFromWeekInfo(config);\n    }\n\n    //if the day of the year is set, figure out what it is\n    if (config._dayOfYear != null) {\n        yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n        if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {\n            getParsingFlags(config)._overflowDayOfYear = true;\n        }\n\n        date = createUTCDate(yearToUse, 0, config._dayOfYear);\n        config._a[MONTH] = date.getUTCMonth();\n        config._a[DATE] = date.getUTCDate();\n    }\n\n    // Default to current date.\n    // * if no year, month, day of month are given, default to today\n    // * if day of month is given, default month and year\n    // * if month is given, default only year\n    // * if year is given, don't default anything\n    for (i = 0; i < 3 && config._a[i] == null; ++i) {\n        config._a[i] = input[i] = currentDate[i];\n    }\n\n    // Zero out whatever was not defaulted, including time\n    for (; i < 7; i++) {\n        config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];\n    }\n\n    // Check for 24:00:00.000\n    if (config._a[HOUR] === 24 &&\n            config._a[MINUTE] === 0 &&\n            config._a[SECOND] === 0 &&\n            config._a[MILLISECOND] === 0) {\n        config._nextDay = true;\n        config._a[HOUR] = 0;\n    }\n\n    config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);\n    // Apply timezone offset from input. The actual utcOffset can be changed\n    // with parseZone.\n    if (config._tzm != null) {\n        config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n    }\n\n    if (config._nextDay) {\n        config._a[HOUR] = 24;\n    }\n\n    // check for mismatching day of week\n    if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== config._d.getDay()) {\n        getParsingFlags(config).weekdayMismatch = true;\n    }\n}\n\nfunction dayOfYearFromWeekInfo(config) {\n    var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow;\n\n    w = config._w;\n    if (w.GG != null || w.W != null || w.E != null) {\n        dow = 1;\n        doy = 4;\n\n        // TODO: We need to take the current isoWeekYear, but that depends on\n        // how we interpret now (local, utc, fixed offset). So create\n        // a now version of current config (take local/utc/offset flags, and\n        // create now).\n        weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year);\n        week = defaults(w.W, 1);\n        weekday = defaults(w.E, 1);\n        if (weekday < 1 || weekday > 7) {\n            weekdayOverflow = true;\n        }\n    } else {\n        dow = config._locale._week.dow;\n        doy = config._locale._week.doy;\n\n        var curWeek = weekOfYear(createLocal(), dow, doy);\n\n        weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n        // Default to current week.\n        week = defaults(w.w, curWeek.week);\n\n        if (w.d != null) {\n            // weekday -- low day numbers are considered next week\n            weekday = w.d;\n            if (weekday < 0 || weekday > 6) {\n                weekdayOverflow = true;\n            }\n        } else if (w.e != null) {\n            // local weekday -- counting starts from begining of week\n            weekday = w.e + dow;\n            if (w.e < 0 || w.e > 6) {\n                weekdayOverflow = true;\n            }\n        } else {\n            // default to begining of week\n            weekday = dow;\n        }\n    }\n    if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n        getParsingFlags(config)._overflowWeeks = true;\n    } else if (weekdayOverflow != null) {\n        getParsingFlags(config)._overflowWeekday = true;\n    } else {\n        temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n        config._a[YEAR] = temp.year;\n        config._dayOfYear = temp.dayOfYear;\n    }\n}\n\n// iso 8601 regex\n// 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\nvar extendedIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\nvar basicIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n\nvar tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/;\n\nvar isoDates = [\n    ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n    ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n    ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n    ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n    ['YYYY-DDD', /\\d{4}-\\d{3}/],\n    ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n    ['YYYYYYMMDD', /[+-]\\d{10}/],\n    ['YYYYMMDD', /\\d{8}/],\n    // YYYYMM is NOT allowed by the standard\n    ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n    ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n    ['YYYYDDD', /\\d{7}/]\n];\n\n// iso time formats and regexes\nvar isoTimes = [\n    ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n    ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n    ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n    ['HH:mm', /\\d\\d:\\d\\d/],\n    ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n    ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n    ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n    ['HHmm', /\\d\\d\\d\\d/],\n    ['HH', /\\d\\d/]\n];\n\nvar aspNetJsonRegex = /^\\/?Date\\((\\-?\\d+)/i;\n\n// date from iso format\nfunction configFromISO(config) {\n    var i, l,\n        string = config._i,\n        match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n        allowTime, dateFormat, timeFormat, tzFormat;\n\n    if (match) {\n        getParsingFlags(config).iso = true;\n\n        for (i = 0, l = isoDates.length; i < l; i++) {\n            if (isoDates[i][1].exec(match[1])) {\n                dateFormat = isoDates[i][0];\n                allowTime = isoDates[i][2] !== false;\n                break;\n            }\n        }\n        if (dateFormat == null) {\n            config._isValid = false;\n            return;\n        }\n        if (match[3]) {\n            for (i = 0, l = isoTimes.length; i < l; i++) {\n                if (isoTimes[i][1].exec(match[3])) {\n                    // match[2] should be 'T' or space\n                    timeFormat = (match[2] || ' ') + isoTimes[i][0];\n                    break;\n                }\n            }\n            if (timeFormat == null) {\n                config._isValid = false;\n                return;\n            }\n        }\n        if (!allowTime && timeFormat != null) {\n            config._isValid = false;\n            return;\n        }\n        if (match[4]) {\n            if (tzRegex.exec(match[4])) {\n                tzFormat = 'Z';\n            } else {\n                config._isValid = false;\n                return;\n            }\n        }\n        config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n        configFromStringAndFormat(config);\n    } else {\n        config._isValid = false;\n    }\n}\n\n// RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\nvar rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/;\n\nfunction extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {\n    var result = [\n        untruncateYear(yearStr),\n        defaultLocaleMonthsShort.indexOf(monthStr),\n        parseInt(dayStr, 10),\n        parseInt(hourStr, 10),\n        parseInt(minuteStr, 10)\n    ];\n\n    if (secondStr) {\n        result.push(parseInt(secondStr, 10));\n    }\n\n    return result;\n}\n\nfunction untruncateYear(yearStr) {\n    var year = parseInt(yearStr, 10);\n    if (year <= 49) {\n        return 2000 + year;\n    } else if (year <= 999) {\n        return 1900 + year;\n    }\n    return year;\n}\n\nfunction preprocessRFC2822(s) {\n    // Remove comments and folding whitespace and replace multiple-spaces with a single space\n    return s.replace(/\\([^)]*\\)|[\\n\\t]/g, ' ').replace(/(\\s\\s+)/g, ' ').trim();\n}\n\nfunction checkWeekday(weekdayStr, parsedInput, config) {\n    if (weekdayStr) {\n        // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check.\n        var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n            weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay();\n        if (weekdayProvided !== weekdayActual) {\n            getParsingFlags(config).weekdayMismatch = true;\n            config._isValid = false;\n            return false;\n        }\n    }\n    return true;\n}\n\nvar obsOffsets = {\n    UT: 0,\n    GMT: 0,\n    EDT: -4 * 60,\n    EST: -5 * 60,\n    CDT: -5 * 60,\n    CST: -6 * 60,\n    MDT: -6 * 60,\n    MST: -7 * 60,\n    PDT: -7 * 60,\n    PST: -8 * 60\n};\n\nfunction calculateOffset(obsOffset, militaryOffset, numOffset) {\n    if (obsOffset) {\n        return obsOffsets[obsOffset];\n    } else if (militaryOffset) {\n        // the only allowed military tz is Z\n        return 0;\n    } else {\n        var hm = parseInt(numOffset, 10);\n        var m = hm % 100, h = (hm - m) / 100;\n        return h * 60 + m;\n    }\n}\n\n// date and time from ref 2822 format\nfunction configFromRFC2822(config) {\n    var match = rfc2822.exec(preprocessRFC2822(config._i));\n    if (match) {\n        var parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);\n        if (!checkWeekday(match[1], parsedArray, config)) {\n            return;\n        }\n\n        config._a = parsedArray;\n        config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n        config._d = createUTCDate.apply(null, config._a);\n        config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n        getParsingFlags(config).rfc2822 = true;\n    } else {\n        config._isValid = false;\n    }\n}\n\n// date from iso format or fallback\nfunction configFromString(config) {\n    var matched = aspNetJsonRegex.exec(config._i);\n\n    if (matched !== null) {\n        config._d = new Date(+matched[1]);\n        return;\n    }\n\n    configFromISO(config);\n    if (config._isValid === false) {\n        delete config._isValid;\n    } else {\n        return;\n    }\n\n    configFromRFC2822(config);\n    if (config._isValid === false) {\n        delete config._isValid;\n    } else {\n        return;\n    }\n\n    // Final attempt, use Input Fallback\n    hooks.createFromInputFallback(config);\n}\n\nhooks.createFromInputFallback = deprecate(\n    'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n    'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n    'discouraged and will be removed in an upcoming major release. Please refer to ' +\n    'http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n    function (config) {\n        config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n    }\n);\n\n// constant that refers to the ISO standard\nhooks.ISO_8601 = function () {};\n\n// constant that refers to the RFC 2822 form\nhooks.RFC_2822 = function () {};\n\n// date from string and format string\nfunction configFromStringAndFormat(config) {\n    // TODO: Move this to another part of the creation flow to prevent circular deps\n    if (config._f === hooks.ISO_8601) {\n        configFromISO(config);\n        return;\n    }\n    if (config._f === hooks.RFC_2822) {\n        configFromRFC2822(config);\n        return;\n    }\n    config._a = [];\n    getParsingFlags(config).empty = true;\n\n    // This array is used to make a Date, either with `new Date` or `Date.UTC`\n    var string = '' + config._i,\n        i, parsedInput, tokens, token, skipped,\n        stringLength = string.length,\n        totalParsedInputLength = 0;\n\n    tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];\n\n    for (i = 0; i < tokens.length; i++) {\n        token = tokens[i];\n        parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];\n        // console.log('token', token, 'parsedInput', parsedInput,\n        //         'regex', getParseRegexForToken(token, config));\n        if (parsedInput) {\n            skipped = string.substr(0, string.indexOf(parsedInput));\n            if (skipped.length > 0) {\n                getParsingFlags(config).unusedInput.push(skipped);\n            }\n            string = string.slice(string.indexOf(parsedInput) + parsedInput.length);\n            totalParsedInputLength += parsedInput.length;\n        }\n        // don't parse if it's not a known token\n        if (formatTokenFunctions[token]) {\n            if (parsedInput) {\n                getParsingFlags(config).empty = false;\n            }\n            else {\n                getParsingFlags(config).unusedTokens.push(token);\n            }\n            addTimeToArrayFromToken(token, parsedInput, config);\n        }\n        else if (config._strict && !parsedInput) {\n            getParsingFlags(config).unusedTokens.push(token);\n        }\n    }\n\n    // add remaining unparsed input length to the string\n    getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;\n    if (string.length > 0) {\n        getParsingFlags(config).unusedInput.push(string);\n    }\n\n    // clear _12h flag if hour is <= 12\n    if (config._a[HOUR] <= 12 &&\n        getParsingFlags(config).bigHour === true &&\n        config._a[HOUR] > 0) {\n        getParsingFlags(config).bigHour = undefined;\n    }\n\n    getParsingFlags(config).parsedDateParts = config._a.slice(0);\n    getParsingFlags(config).meridiem = config._meridiem;\n    // handle meridiem\n    config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);\n\n    configFromArray(config);\n    checkOverflow(config);\n}\n\n\nfunction meridiemFixWrap (locale, hour, meridiem) {\n    var isPm;\n\n    if (meridiem == null) {\n        // nothing to do\n        return hour;\n    }\n    if (locale.meridiemHour != null) {\n        return locale.meridiemHour(hour, meridiem);\n    } else if (locale.isPM != null) {\n        // Fallback\n        isPm = locale.isPM(meridiem);\n        if (isPm && hour < 12) {\n            hour += 12;\n        }\n        if (!isPm && hour === 12) {\n            hour = 0;\n        }\n        return hour;\n    } else {\n        // this is not supposed to happen\n        return hour;\n    }\n}\n\n// date from string and array of format strings\nfunction configFromStringAndArray(config) {\n    var tempConfig,\n        bestMoment,\n\n        scoreToBeat,\n        i,\n        currentScore;\n\n    if (config._f.length === 0) {\n        getParsingFlags(config).invalidFormat = true;\n        config._d = new Date(NaN);\n        return;\n    }\n\n    for (i = 0; i < config._f.length; i++) {\n        currentScore = 0;\n        tempConfig = copyConfig({}, config);\n        if (config._useUTC != null) {\n            tempConfig._useUTC = config._useUTC;\n        }\n        tempConfig._f = config._f[i];\n        configFromStringAndFormat(tempConfig);\n\n        if (!isValid(tempConfig)) {\n            continue;\n        }\n\n        // if there is any input that was not parsed add a penalty for that format\n        currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n        //or tokens\n        currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n        getParsingFlags(tempConfig).score = currentScore;\n\n        if (scoreToBeat == null || currentScore < scoreToBeat) {\n            scoreToBeat = currentScore;\n            bestMoment = tempConfig;\n        }\n    }\n\n    extend(config, bestMoment || tempConfig);\n}\n\nfunction configFromObject(config) {\n    if (config._d) {\n        return;\n    }\n\n    var i = normalizeObjectUnits(config._i);\n    config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) {\n        return obj && parseInt(obj, 10);\n    });\n\n    configFromArray(config);\n}\n\nfunction createFromConfig (config) {\n    var res = new Moment(checkOverflow(prepareConfig(config)));\n    if (res._nextDay) {\n        // Adding is smart enough around DST\n        res.add(1, 'd');\n        res._nextDay = undefined;\n    }\n\n    return res;\n}\n\nfunction prepareConfig (config) {\n    var input = config._i,\n        format = config._f;\n\n    config._locale = config._locale || getLocale(config._l);\n\n    if (input === null || (format === undefined && input === '')) {\n        return createInvalid({nullInput: true});\n    }\n\n    if (typeof input === 'string') {\n        config._i = input = config._locale.preparse(input);\n    }\n\n    if (isMoment(input)) {\n        return new Moment(checkOverflow(input));\n    } else if (isDate(input)) {\n        config._d = input;\n    } else if (isArray(format)) {\n        configFromStringAndArray(config);\n    } else if (format) {\n        configFromStringAndFormat(config);\n    }  else {\n        configFromInput(config);\n    }\n\n    if (!isValid(config)) {\n        config._d = null;\n    }\n\n    return config;\n}\n\nfunction configFromInput(config) {\n    var input = config._i;\n    if (isUndefined(input)) {\n        config._d = new Date(hooks.now());\n    } else if (isDate(input)) {\n        config._d = new Date(input.valueOf());\n    } else if (typeof input === 'string') {\n        configFromString(config);\n    } else if (isArray(input)) {\n        config._a = map(input.slice(0), function (obj) {\n            return parseInt(obj, 10);\n        });\n        configFromArray(config);\n    } else if (isObject(input)) {\n        configFromObject(config);\n    } else if (isNumber(input)) {\n        // from milliseconds\n        config._d = new Date(input);\n    } else {\n        hooks.createFromInputFallback(config);\n    }\n}\n\nfunction createLocalOrUTC (input, format, locale, strict, isUTC) {\n    var c = {};\n\n    if (locale === true || locale === false) {\n        strict = locale;\n        locale = undefined;\n    }\n\n    if ((isObject(input) && isObjectEmpty(input)) ||\n            (isArray(input) && input.length === 0)) {\n        input = undefined;\n    }\n    // object construction must be done this way.\n    // https://github.com/moment/moment/issues/1423\n    c._isAMomentObject = true;\n    c._useUTC = c._isUTC = isUTC;\n    c._l = locale;\n    c._i = input;\n    c._f = format;\n    c._strict = strict;\n\n    return createFromConfig(c);\n}\n\nfunction createLocal (input, format, locale, strict) {\n    return createLocalOrUTC(input, format, locale, strict, false);\n}\n\nvar prototypeMin = deprecate(\n    'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n    function () {\n        var other = createLocal.apply(null, arguments);\n        if (this.isValid() && other.isValid()) {\n            return other < this ? this : other;\n        } else {\n            return createInvalid();\n        }\n    }\n);\n\nvar prototypeMax = deprecate(\n    'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n    function () {\n        var other = createLocal.apply(null, arguments);\n        if (this.isValid() && other.isValid()) {\n            return other > this ? this : other;\n        } else {\n            return createInvalid();\n        }\n    }\n);\n\n// Pick a moment m from moments so that m[fn](other) is true for all\n// other. This relies on the function fn to be transitive.\n//\n// moments should either be an array of moment objects or an array, whose\n// first element is an array of moment objects.\nfunction pickBy(fn, moments) {\n    var res, i;\n    if (moments.length === 1 && isArray(moments[0])) {\n        moments = moments[0];\n    }\n    if (!moments.length) {\n        return createLocal();\n    }\n    res = moments[0];\n    for (i = 1; i < moments.length; ++i) {\n        if (!moments[i].isValid() || moments[i][fn](res)) {\n            res = moments[i];\n        }\n    }\n    return res;\n}\n\n// TODO: Use [].sort instead?\nfunction min () {\n    var args = [].slice.call(arguments, 0);\n\n    return pickBy('isBefore', args);\n}\n\nfunction max () {\n    var args = [].slice.call(arguments, 0);\n\n    return pickBy('isAfter', args);\n}\n\nvar now = function () {\n    return Date.now ? Date.now() : +(new Date());\n};\n\nvar ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];\n\nfunction isDurationValid(m) {\n    for (var key in m) {\n        if (!(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) {\n            return false;\n        }\n    }\n\n    var unitHasDecimal = false;\n    for (var i = 0; i < ordering.length; ++i) {\n        if (m[ordering[i]]) {\n            if (unitHasDecimal) {\n                return false; // only allow non-integers for smallest unit\n            }\n            if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n                unitHasDecimal = true;\n            }\n        }\n    }\n\n    return true;\n}\n\nfunction isValid$1() {\n    return this._isValid;\n}\n\nfunction createInvalid$1() {\n    return createDuration(NaN);\n}\n\nfunction Duration (duration) {\n    var normalizedInput = normalizeObjectUnits(duration),\n        years = normalizedInput.year || 0,\n        quarters = normalizedInput.quarter || 0,\n        months = normalizedInput.month || 0,\n        weeks = normalizedInput.week || 0,\n        days = normalizedInput.day || 0,\n        hours = normalizedInput.hour || 0,\n        minutes = normalizedInput.minute || 0,\n        seconds = normalizedInput.second || 0,\n        milliseconds = normalizedInput.millisecond || 0;\n\n    this._isValid = isDurationValid(normalizedInput);\n\n    // representation for dateAddRemove\n    this._milliseconds = +milliseconds +\n        seconds * 1e3 + // 1000\n        minutes * 6e4 + // 1000 * 60\n        hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n    // Because of dateAddRemove treats 24 hours as different from a\n    // day when working around DST, we need to store them separately\n    this._days = +days +\n        weeks * 7;\n    // It is impossible to translate months into days without knowing\n    // which months you are are talking about, so we have to store\n    // it separately.\n    this._months = +months +\n        quarters * 3 +\n        years * 12;\n\n    this._data = {};\n\n    this._locale = getLocale();\n\n    this._bubble();\n}\n\nfunction isDuration (obj) {\n    return obj instanceof Duration;\n}\n\nfunction absRound (number) {\n    if (number < 0) {\n        return Math.round(-1 * number) * -1;\n    } else {\n        return Math.round(number);\n    }\n}\n\n// FORMATTING\n\nfunction offset (token, separator) {\n    addFormatToken(token, 0, 0, function () {\n        var offset = this.utcOffset();\n        var sign = '+';\n        if (offset < 0) {\n            offset = -offset;\n            sign = '-';\n        }\n        return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2);\n    });\n}\n\noffset('Z', ':');\noffset('ZZ', '');\n\n// PARSING\n\naddRegexToken('Z',  matchShortOffset);\naddRegexToken('ZZ', matchShortOffset);\naddParseToken(['Z', 'ZZ'], function (input, array, config) {\n    config._useUTC = true;\n    config._tzm = offsetFromString(matchShortOffset, input);\n});\n\n// HELPERS\n\n// timezone chunker\n// '+10:00' > ['10',  '00']\n// '-1530'  > ['-15', '30']\nvar chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\nfunction offsetFromString(matcher, string) {\n    var matches = (string || '').match(matcher);\n\n    if (matches === null) {\n        return null;\n    }\n\n    var chunk   = matches[matches.length - 1] || [];\n    var parts   = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n    var minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n    return minutes === 0 ?\n      0 :\n      parts[0] === '+' ? minutes : -minutes;\n}\n\n// Return a moment from input, that is local/utc/zone equivalent to model.\nfunction cloneWithOffset(input, model) {\n    var res, diff;\n    if (model._isUTC) {\n        res = model.clone();\n        diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf();\n        // Use low-level api, because this fn is low-level api.\n        res._d.setTime(res._d.valueOf() + diff);\n        hooks.updateOffset(res, false);\n        return res;\n    } else {\n        return createLocal(input).local();\n    }\n}\n\nfunction getDateOffset (m) {\n    // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n    // https://github.com/moment/moment/pull/1871\n    return -Math.round(m._d.getTimezoneOffset() / 15) * 15;\n}\n\n// HOOKS\n\n// This function will be called whenever a moment is mutated.\n// It is intended to keep the offset in sync with the timezone.\nhooks.updateOffset = function () {};\n\n// MOMENTS\n\n// keepLocalTime = true means only change the timezone, without\n// affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n// 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n// +0200, so we adjust the time as needed, to be valid.\n//\n// Keeping the time actually adds/subtracts (one hour)\n// from the actual represented time. That is why we call updateOffset\n// a second time. In case it wants us to change the offset again\n// _changeInProgress == true case, then we have to adjust, because\n// there is no such time in the given timezone.\nfunction getSetOffset (input, keepLocalTime, keepMinutes) {\n    var offset = this._offset || 0,\n        localAdjust;\n    if (!this.isValid()) {\n        return input != null ? this : NaN;\n    }\n    if (input != null) {\n        if (typeof input === 'string') {\n            input = offsetFromString(matchShortOffset, input);\n            if (input === null) {\n                return this;\n            }\n        } else if (Math.abs(input) < 16 && !keepMinutes) {\n            input = input * 60;\n        }\n        if (!this._isUTC && keepLocalTime) {\n            localAdjust = getDateOffset(this);\n        }\n        this._offset = input;\n        this._isUTC = true;\n        if (localAdjust != null) {\n            this.add(localAdjust, 'm');\n        }\n        if (offset !== input) {\n            if (!keepLocalTime || this._changeInProgress) {\n                addSubtract(this, createDuration(input - offset, 'm'), 1, false);\n            } else if (!this._changeInProgress) {\n                this._changeInProgress = true;\n                hooks.updateOffset(this, true);\n                this._changeInProgress = null;\n            }\n        }\n        return this;\n    } else {\n        return this._isUTC ? offset : getDateOffset(this);\n    }\n}\n\nfunction getSetZone (input, keepLocalTime) {\n    if (input != null) {\n        if (typeof input !== 'string') {\n            input = -input;\n        }\n\n        this.utcOffset(input, keepLocalTime);\n\n        return this;\n    } else {\n        return -this.utcOffset();\n    }\n}\n\nfunction setOffsetToUTC (keepLocalTime) {\n    return this.utcOffset(0, keepLocalTime);\n}\n\nfunction setOffsetToLocal (keepLocalTime) {\n    if (this._isUTC) {\n        this.utcOffset(0, keepLocalTime);\n        this._isUTC = false;\n\n        if (keepLocalTime) {\n            this.subtract(getDateOffset(this), 'm');\n        }\n    }\n    return this;\n}\n\nfunction setOffsetToParsedOffset () {\n    if (this._tzm != null) {\n        this.utcOffset(this._tzm, false, true);\n    } else if (typeof this._i === 'string') {\n        var tZone = offsetFromString(matchOffset, this._i);\n        if (tZone != null) {\n            this.utcOffset(tZone);\n        }\n        else {\n            this.utcOffset(0, true);\n        }\n    }\n    return this;\n}\n\nfunction hasAlignedHourOffset (input) {\n    if (!this.isValid()) {\n        return false;\n    }\n    input = input ? createLocal(input).utcOffset() : 0;\n\n    return (this.utcOffset() - input) % 60 === 0;\n}\n\nfunction isDaylightSavingTime () {\n    return (\n        this.utcOffset() > this.clone().month(0).utcOffset() ||\n        this.utcOffset() > this.clone().month(5).utcOffset()\n    );\n}\n\nfunction isDaylightSavingTimeShifted () {\n    if (!isUndefined(this._isDSTShifted)) {\n        return this._isDSTShifted;\n    }\n\n    var c = {};\n\n    copyConfig(c, this);\n    c = prepareConfig(c);\n\n    if (c._a) {\n        var other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n        this._isDSTShifted = this.isValid() &&\n            compareArrays(c._a, other.toArray()) > 0;\n    } else {\n        this._isDSTShifted = false;\n    }\n\n    return this._isDSTShifted;\n}\n\nfunction isLocal () {\n    return this.isValid() ? !this._isUTC : false;\n}\n\nfunction isUtcOffset () {\n    return this.isValid() ? this._isUTC : false;\n}\n\nfunction isUtc () {\n    return this.isValid() ? this._isUTC && this._offset === 0 : false;\n}\n\n// ASP.NET json date format regex\nvar aspNetRegex = /^(\\-|\\+)?(?:(\\d*)[. ])?(\\d+)\\:(\\d+)(?:\\:(\\d+)(\\.\\d*)?)?$/;\n\n// from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n// somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n// and further modified to allow for strings containing both week and day\nvar isoRegex = /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\nfunction createDuration (input, key) {\n    var duration = input,\n        // matching against regexp is expensive, do it on demand\n        match = null,\n        sign,\n        ret,\n        diffRes;\n\n    if (isDuration(input)) {\n        duration = {\n            ms : input._milliseconds,\n            d  : input._days,\n            M  : input._months\n        };\n    } else if (isNumber(input)) {\n        duration = {};\n        if (key) {\n            duration[key] = input;\n        } else {\n            duration.milliseconds = input;\n        }\n    } else if (!!(match = aspNetRegex.exec(input))) {\n        sign = (match[1] === '-') ? -1 : 1;\n        duration = {\n            y  : 0,\n            d  : toInt(match[DATE])                         * sign,\n            h  : toInt(match[HOUR])                         * sign,\n            m  : toInt(match[MINUTE])                       * sign,\n            s  : toInt(match[SECOND])                       * sign,\n            ms : toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match\n        };\n    } else if (!!(match = isoRegex.exec(input))) {\n        sign = (match[1] === '-') ? -1 : (match[1] === '+') ? 1 : 1;\n        duration = {\n            y : parseIso(match[2], sign),\n            M : parseIso(match[3], sign),\n            w : parseIso(match[4], sign),\n            d : parseIso(match[5], sign),\n            h : parseIso(match[6], sign),\n            m : parseIso(match[7], sign),\n            s : parseIso(match[8], sign)\n        };\n    } else if (duration == null) {// checks for null or undefined\n        duration = {};\n    } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) {\n        diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));\n\n        duration = {};\n        duration.ms = diffRes.milliseconds;\n        duration.M = diffRes.months;\n    }\n\n    ret = new Duration(duration);\n\n    if (isDuration(input) && hasOwnProp(input, '_locale')) {\n        ret._locale = input._locale;\n    }\n\n    return ret;\n}\n\ncreateDuration.fn = Duration.prototype;\ncreateDuration.invalid = createInvalid$1;\n\nfunction parseIso (inp, sign) {\n    // We'd normally use ~~inp for this, but unfortunately it also\n    // converts floats to ints.\n    // inp may be undefined, so careful calling replace on it.\n    var res = inp && parseFloat(inp.replace(',', '.'));\n    // apply sign while we're at it\n    return (isNaN(res) ? 0 : res) * sign;\n}\n\nfunction positiveMomentsDifference(base, other) {\n    var res = {milliseconds: 0, months: 0};\n\n    res.months = other.month() - base.month() +\n        (other.year() - base.year()) * 12;\n    if (base.clone().add(res.months, 'M').isAfter(other)) {\n        --res.months;\n    }\n\n    res.milliseconds = +other - +(base.clone().add(res.months, 'M'));\n\n    return res;\n}\n\nfunction momentsDifference(base, other) {\n    var res;\n    if (!(base.isValid() && other.isValid())) {\n        return {milliseconds: 0, months: 0};\n    }\n\n    other = cloneWithOffset(other, base);\n    if (base.isBefore(other)) {\n        res = positiveMomentsDifference(base, other);\n    } else {\n        res = positiveMomentsDifference(other, base);\n        res.milliseconds = -res.milliseconds;\n        res.months = -res.months;\n    }\n\n    return res;\n}\n\n// TODO: remove 'name' arg after deprecation is removed\nfunction createAdder(direction, name) {\n    return function (val, period) {\n        var dur, tmp;\n        //invert the arguments, but complain about it\n        if (period !== null && !isNaN(+period)) {\n            deprecateSimple(name, 'moment().' + name  + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' +\n            'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');\n            tmp = val; val = period; period = tmp;\n        }\n\n        val = typeof val === 'string' ? +val : val;\n        dur = createDuration(val, period);\n        addSubtract(this, dur, direction);\n        return this;\n    };\n}\n\nfunction addSubtract (mom, duration, isAdding, updateOffset) {\n    var milliseconds = duration._milliseconds,\n        days = absRound(duration._days),\n        months = absRound(duration._months);\n\n    if (!mom.isValid()) {\n        // No op\n        return;\n    }\n\n    updateOffset = updateOffset == null ? true : updateOffset;\n\n    if (months) {\n        setMonth(mom, get(mom, 'Month') + months * isAdding);\n    }\n    if (days) {\n        set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n    }\n    if (milliseconds) {\n        mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n    }\n    if (updateOffset) {\n        hooks.updateOffset(mom, days || months);\n    }\n}\n\nvar add      = createAdder(1, 'add');\nvar subtract = createAdder(-1, 'subtract');\n\nfunction getCalendarFormat(myMoment, now) {\n    var diff = myMoment.diff(now, 'days', true);\n    return diff < -6 ? 'sameElse' :\n            diff < -1 ? 'lastWeek' :\n            diff < 0 ? 'lastDay' :\n            diff < 1 ? 'sameDay' :\n            diff < 2 ? 'nextDay' :\n            diff < 7 ? 'nextWeek' : 'sameElse';\n}\n\nfunction calendar$1 (time, formats) {\n    // We want to compare the start of today, vs this.\n    // Getting start-of-today depends on whether we're local/utc/offset or not.\n    var now = time || createLocal(),\n        sod = cloneWithOffset(now, this).startOf('day'),\n        format = hooks.calendarFormat(this, sod) || 'sameElse';\n\n    var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]);\n\n    return this.format(output || this.localeData().calendar(format, this, createLocal(now)));\n}\n\nfunction clone () {\n    return new Moment(this);\n}\n\nfunction isAfter (input, units) {\n    var localInput = isMoment(input) ? input : createLocal(input);\n    if (!(this.isValid() && localInput.isValid())) {\n        return false;\n    }\n    units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');\n    if (units === 'millisecond') {\n        return this.valueOf() > localInput.valueOf();\n    } else {\n        return localInput.valueOf() < this.clone().startOf(units).valueOf();\n    }\n}\n\nfunction isBefore (input, units) {\n    var localInput = isMoment(input) ? input : createLocal(input);\n    if (!(this.isValid() && localInput.isValid())) {\n        return false;\n    }\n    units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');\n    if (units === 'millisecond') {\n        return this.valueOf() < localInput.valueOf();\n    } else {\n        return this.clone().endOf(units).valueOf() < localInput.valueOf();\n    }\n}\n\nfunction isBetween (from, to, units, inclusivity) {\n    inclusivity = inclusivity || '()';\n    return (inclusivity[0] === '(' ? this.isAfter(from, units) : !this.isBefore(from, units)) &&\n        (inclusivity[1] === ')' ? this.isBefore(to, units) : !this.isAfter(to, units));\n}\n\nfunction isSame (input, units) {\n    var localInput = isMoment(input) ? input : createLocal(input),\n        inputMs;\n    if (!(this.isValid() && localInput.isValid())) {\n        return false;\n    }\n    units = normalizeUnits(units || 'millisecond');\n    if (units === 'millisecond') {\n        return this.valueOf() === localInput.valueOf();\n    } else {\n        inputMs = localInput.valueOf();\n        return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();\n    }\n}\n\nfunction isSameOrAfter (input, units) {\n    return this.isSame(input, units) || this.isAfter(input,units);\n}\n\nfunction isSameOrBefore (input, units) {\n    return this.isSame(input, units) || this.isBefore(input,units);\n}\n\nfunction diff (input, units, asFloat) {\n    var that,\n        zoneDelta,\n        delta, output;\n\n    if (!this.isValid()) {\n        return NaN;\n    }\n\n    that = cloneWithOffset(input, this);\n\n    if (!that.isValid()) {\n        return NaN;\n    }\n\n    zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n    units = normalizeUnits(units);\n\n    switch (units) {\n        case 'year': output = monthDiff(this, that) / 12; break;\n        case 'month': output = monthDiff(this, that); break;\n        case 'quarter': output = monthDiff(this, that) / 3; break;\n        case 'second': output = (this - that) / 1e3; break; // 1000\n        case 'minute': output = (this - that) / 6e4; break; // 1000 * 60\n        case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60\n        case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst\n        case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst\n        default: output = this - that;\n    }\n\n    return asFloat ? output : absFloor(output);\n}\n\nfunction monthDiff (a, b) {\n    // difference in months\n    var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()),\n        // b is in (anchor - 1 month, anchor + 1 month)\n        anchor = a.clone().add(wholeMonthDiff, 'months'),\n        anchor2, adjust;\n\n    if (b - anchor < 0) {\n        anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n        // linear across the month\n        adjust = (b - anchor) / (anchor - anchor2);\n    } else {\n        anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n        // linear across the month\n        adjust = (b - anchor) / (anchor2 - anchor);\n    }\n\n    //check for negative zero, return zero if negative zero\n    return -(wholeMonthDiff + adjust) || 0;\n}\n\nhooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\nhooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\nfunction toString () {\n    return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n}\n\nfunction toISOString() {\n    if (!this.isValid()) {\n        return null;\n    }\n    var m = this.clone().utc();\n    if (m.year() < 0 || m.year() > 9999) {\n        return formatMoment(m, 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]');\n    }\n    if (isFunction(Date.prototype.toISOString)) {\n        // native implementation is ~50x faster, use it when we can\n        return this.toDate().toISOString();\n    }\n    return formatMoment(m, 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]');\n}\n\n/**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\nfunction inspect () {\n    if (!this.isValid()) {\n        return 'moment.invalid(/* ' + this._i + ' */)';\n    }\n    var func = 'moment';\n    var zone = '';\n    if (!this.isLocal()) {\n        func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n        zone = 'Z';\n    }\n    var prefix = '[' + func + '(\"]';\n    var year = (0 <= this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY';\n    var datetime = '-MM-DD[T]HH:mm:ss.SSS';\n    var suffix = zone + '[\")]';\n\n    return this.format(prefix + year + datetime + suffix);\n}\n\nfunction format (inputString) {\n    if (!inputString) {\n        inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;\n    }\n    var output = formatMoment(this, inputString);\n    return this.localeData().postformat(output);\n}\n\nfunction from (time, withoutSuffix) {\n    if (this.isValid() &&\n            ((isMoment(time) && time.isValid()) ||\n             createLocal(time).isValid())) {\n        return createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix);\n    } else {\n        return this.localeData().invalidDate();\n    }\n}\n\nfunction fromNow (withoutSuffix) {\n    return this.from(createLocal(), withoutSuffix);\n}\n\nfunction to (time, withoutSuffix) {\n    if (this.isValid() &&\n            ((isMoment(time) && time.isValid()) ||\n             createLocal(time).isValid())) {\n        return createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix);\n    } else {\n        return this.localeData().invalidDate();\n    }\n}\n\nfunction toNow (withoutSuffix) {\n    return this.to(createLocal(), withoutSuffix);\n}\n\n// If passed a locale key, it will set the locale for this\n// instance.  Otherwise, it will return the locale configuration\n// variables for this instance.\nfunction locale (key) {\n    var newLocaleData;\n\n    if (key === undefined) {\n        return this._locale._abbr;\n    } else {\n        newLocaleData = getLocale(key);\n        if (newLocaleData != null) {\n            this._locale = newLocaleData;\n        }\n        return this;\n    }\n}\n\nvar lang = deprecate(\n    'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n    function (key) {\n        if (key === undefined) {\n            return this.localeData();\n        } else {\n            return this.locale(key);\n        }\n    }\n);\n\nfunction localeData () {\n    return this._locale;\n}\n\nfunction startOf (units) {\n    units = normalizeUnits(units);\n    // the following switch intentionally omits break keywords\n    // to utilize falling through the cases.\n    switch (units) {\n        case 'year':\n            this.month(0);\n            /* falls through */\n        case 'quarter':\n        case 'month':\n            this.date(1);\n            /* falls through */\n        case 'week':\n        case 'isoWeek':\n        case 'day':\n        case 'date':\n            this.hours(0);\n            /* falls through */\n        case 'hour':\n            this.minutes(0);\n            /* falls through */\n        case 'minute':\n            this.seconds(0);\n            /* falls through */\n        case 'second':\n            this.milliseconds(0);\n    }\n\n    // weeks are a special case\n    if (units === 'week') {\n        this.weekday(0);\n    }\n    if (units === 'isoWeek') {\n        this.isoWeekday(1);\n    }\n\n    // quarters are also special\n    if (units === 'quarter') {\n        this.month(Math.floor(this.month() / 3) * 3);\n    }\n\n    return this;\n}\n\nfunction endOf (units) {\n    units = normalizeUnits(units);\n    if (units === undefined || units === 'millisecond') {\n        return this;\n    }\n\n    // 'date' is an alias for 'day', so it should be considered as such.\n    if (units === 'date') {\n        units = 'day';\n    }\n\n    return this.startOf(units).add(1, (units === 'isoWeek' ? 'week' : units)).subtract(1, 'ms');\n}\n\nfunction valueOf () {\n    return this._d.valueOf() - ((this._offset || 0) * 60000);\n}\n\nfunction unix () {\n    return Math.floor(this.valueOf() / 1000);\n}\n\nfunction toDate () {\n    return new Date(this.valueOf());\n}\n\nfunction toArray () {\n    var m = this;\n    return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];\n}\n\nfunction toObject () {\n    var m = this;\n    return {\n        years: m.year(),\n        months: m.month(),\n        date: m.date(),\n        hours: m.hours(),\n        minutes: m.minutes(),\n        seconds: m.seconds(),\n        milliseconds: m.milliseconds()\n    };\n}\n\nfunction toJSON () {\n    // new Date(NaN).toJSON() === null\n    return this.isValid() ? this.toISOString() : null;\n}\n\nfunction isValid$2 () {\n    return isValid(this);\n}\n\nfunction parsingFlags () {\n    return extend({}, getParsingFlags(this));\n}\n\nfunction invalidAt () {\n    return getParsingFlags(this).overflow;\n}\n\nfunction creationData() {\n    return {\n        input: this._i,\n        format: this._f,\n        locale: this._locale,\n        isUTC: this._isUTC,\n        strict: this._strict\n    };\n}\n\n// FORMATTING\n\naddFormatToken(0, ['gg', 2], 0, function () {\n    return this.weekYear() % 100;\n});\n\naddFormatToken(0, ['GG', 2], 0, function () {\n    return this.isoWeekYear() % 100;\n});\n\nfunction addWeekYearFormatToken (token, getter) {\n    addFormatToken(0, [token, token.length], 0, getter);\n}\n\naddWeekYearFormatToken('gggg',     'weekYear');\naddWeekYearFormatToken('ggggg',    'weekYear');\naddWeekYearFormatToken('GGGG',  'isoWeekYear');\naddWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n// ALIASES\n\naddUnitAlias('weekYear', 'gg');\naddUnitAlias('isoWeekYear', 'GG');\n\n// PRIORITY\n\naddUnitPriority('weekYear', 1);\naddUnitPriority('isoWeekYear', 1);\n\n\n// PARSING\n\naddRegexToken('G',      matchSigned);\naddRegexToken('g',      matchSigned);\naddRegexToken('GG',     match1to2, match2);\naddRegexToken('gg',     match1to2, match2);\naddRegexToken('GGGG',   match1to4, match4);\naddRegexToken('gggg',   match1to4, match4);\naddRegexToken('GGGGG',  match1to6, match6);\naddRegexToken('ggggg',  match1to6, match6);\n\naddWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {\n    week[token.substr(0, 2)] = toInt(input);\n});\n\naddWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n    week[token] = hooks.parseTwoDigitYear(input);\n});\n\n// MOMENTS\n\nfunction getSetWeekYear (input) {\n    return getSetWeekYearHelper.call(this,\n            input,\n            this.week(),\n            this.weekday(),\n            this.localeData()._week.dow,\n            this.localeData()._week.doy);\n}\n\nfunction getSetISOWeekYear (input) {\n    return getSetWeekYearHelper.call(this,\n            input, this.isoWeek(), this.isoWeekday(), 1, 4);\n}\n\nfunction getISOWeeksInYear () {\n    return weeksInYear(this.year(), 1, 4);\n}\n\nfunction getWeeksInYear () {\n    var weekInfo = this.localeData()._week;\n    return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n}\n\nfunction getSetWeekYearHelper(input, week, weekday, dow, doy) {\n    var weeksTarget;\n    if (input == null) {\n        return weekOfYear(this, dow, doy).year;\n    } else {\n        weeksTarget = weeksInYear(input, dow, doy);\n        if (week > weeksTarget) {\n            week = weeksTarget;\n        }\n        return setWeekAll.call(this, input, week, weekday, dow, doy);\n    }\n}\n\nfunction setWeekAll(weekYear, week, weekday, dow, doy) {\n    var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n        date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n    this.year(date.getUTCFullYear());\n    this.month(date.getUTCMonth());\n    this.date(date.getUTCDate());\n    return this;\n}\n\n// FORMATTING\n\naddFormatToken('Q', 0, 'Qo', 'quarter');\n\n// ALIASES\n\naddUnitAlias('quarter', 'Q');\n\n// PRIORITY\n\naddUnitPriority('quarter', 7);\n\n// PARSING\n\naddRegexToken('Q', match1);\naddParseToken('Q', function (input, array) {\n    array[MONTH] = (toInt(input) - 1) * 3;\n});\n\n// MOMENTS\n\nfunction getSetQuarter (input) {\n    return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);\n}\n\n// FORMATTING\n\naddFormatToken('D', ['DD', 2], 'Do', 'date');\n\n// ALIASES\n\naddUnitAlias('date', 'D');\n\n// PRIOROITY\naddUnitPriority('date', 9);\n\n// PARSING\n\naddRegexToken('D',  match1to2);\naddRegexToken('DD', match1to2, match2);\naddRegexToken('Do', function (isStrict, locale) {\n    // TODO: Remove \"ordinalParse\" fallback in next major release.\n    return isStrict ?\n      (locale._dayOfMonthOrdinalParse || locale._ordinalParse) :\n      locale._dayOfMonthOrdinalParseLenient;\n});\n\naddParseToken(['D', 'DD'], DATE);\naddParseToken('Do', function (input, array) {\n    array[DATE] = toInt(input.match(match1to2)[0], 10);\n});\n\n// MOMENTS\n\nvar getSetDayOfMonth = makeGetSet('Date', true);\n\n// FORMATTING\n\naddFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n// ALIASES\n\naddUnitAlias('dayOfYear', 'DDD');\n\n// PRIORITY\naddUnitPriority('dayOfYear', 4);\n\n// PARSING\n\naddRegexToken('DDD',  match1to3);\naddRegexToken('DDDD', match3);\naddParseToken(['DDD', 'DDDD'], function (input, array, config) {\n    config._dayOfYear = toInt(input);\n});\n\n// HELPERS\n\n// MOMENTS\n\nfunction getSetDayOfYear (input) {\n    var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;\n    return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');\n}\n\n// FORMATTING\n\naddFormatToken('m', ['mm', 2], 0, 'minute');\n\n// ALIASES\n\naddUnitAlias('minute', 'm');\n\n// PRIORITY\n\naddUnitPriority('minute', 14);\n\n// PARSING\n\naddRegexToken('m',  match1to2);\naddRegexToken('mm', match1to2, match2);\naddParseToken(['m', 'mm'], MINUTE);\n\n// MOMENTS\n\nvar getSetMinute = makeGetSet('Minutes', false);\n\n// FORMATTING\n\naddFormatToken('s', ['ss', 2], 0, 'second');\n\n// ALIASES\n\naddUnitAlias('second', 's');\n\n// PRIORITY\n\naddUnitPriority('second', 15);\n\n// PARSING\n\naddRegexToken('s',  match1to2);\naddRegexToken('ss', match1to2, match2);\naddParseToken(['s', 'ss'], SECOND);\n\n// MOMENTS\n\nvar getSetSecond = makeGetSet('Seconds', false);\n\n// FORMATTING\n\naddFormatToken('S', 0, 0, function () {\n    return ~~(this.millisecond() / 100);\n});\n\naddFormatToken(0, ['SS', 2], 0, function () {\n    return ~~(this.millisecond() / 10);\n});\n\naddFormatToken(0, ['SSS', 3], 0, 'millisecond');\naddFormatToken(0, ['SSSS', 4], 0, function () {\n    return this.millisecond() * 10;\n});\naddFormatToken(0, ['SSSSS', 5], 0, function () {\n    return this.millisecond() * 100;\n});\naddFormatToken(0, ['SSSSSS', 6], 0, function () {\n    return this.millisecond() * 1000;\n});\naddFormatToken(0, ['SSSSSSS', 7], 0, function () {\n    return this.millisecond() * 10000;\n});\naddFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n    return this.millisecond() * 100000;\n});\naddFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n    return this.millisecond() * 1000000;\n});\n\n\n// ALIASES\n\naddUnitAlias('millisecond', 'ms');\n\n// PRIORITY\n\naddUnitPriority('millisecond', 16);\n\n// PARSING\n\naddRegexToken('S',    match1to3, match1);\naddRegexToken('SS',   match1to3, match2);\naddRegexToken('SSS',  match1to3, match3);\n\nvar token;\nfor (token = 'SSSS'; token.length <= 9; token += 'S') {\n    addRegexToken(token, matchUnsigned);\n}\n\nfunction parseMs(input, array) {\n    array[MILLISECOND] = toInt(('0.' + input) * 1000);\n}\n\nfor (token = 'S'; token.length <= 9; token += 'S') {\n    addParseToken(token, parseMs);\n}\n// MOMENTS\n\nvar getSetMillisecond = makeGetSet('Milliseconds', false);\n\n// FORMATTING\n\naddFormatToken('z',  0, 0, 'zoneAbbr');\naddFormatToken('zz', 0, 0, 'zoneName');\n\n// MOMENTS\n\nfunction getZoneAbbr () {\n    return this._isUTC ? 'UTC' : '';\n}\n\nfunction getZoneName () {\n    return this._isUTC ? 'Coordinated Universal Time' : '';\n}\n\nvar proto = Moment.prototype;\n\nproto.add               = add;\nproto.calendar          = calendar$1;\nproto.clone             = clone;\nproto.diff              = diff;\nproto.endOf             = endOf;\nproto.format            = format;\nproto.from              = from;\nproto.fromNow           = fromNow;\nproto.to                = to;\nproto.toNow             = toNow;\nproto.get               = stringGet;\nproto.invalidAt         = invalidAt;\nproto.isAfter           = isAfter;\nproto.isBefore          = isBefore;\nproto.isBetween         = isBetween;\nproto.isSame            = isSame;\nproto.isSameOrAfter     = isSameOrAfter;\nproto.isSameOrBefore    = isSameOrBefore;\nproto.isValid           = isValid$2;\nproto.lang              = lang;\nproto.locale            = locale;\nproto.localeData        = localeData;\nproto.max               = prototypeMax;\nproto.min               = prototypeMin;\nproto.parsingFlags      = parsingFlags;\nproto.set               = stringSet;\nproto.startOf           = startOf;\nproto.subtract          = subtract;\nproto.toArray           = toArray;\nproto.toObject          = toObject;\nproto.toDate            = toDate;\nproto.toISOString       = toISOString;\nproto.inspect           = inspect;\nproto.toJSON            = toJSON;\nproto.toString          = toString;\nproto.unix              = unix;\nproto.valueOf           = valueOf;\nproto.creationData      = creationData;\n\n// Year\nproto.year       = getSetYear;\nproto.isLeapYear = getIsLeapYear;\n\n// Week Year\nproto.weekYear    = getSetWeekYear;\nproto.isoWeekYear = getSetISOWeekYear;\n\n// Quarter\nproto.quarter = proto.quarters = getSetQuarter;\n\n// Month\nproto.month       = getSetMonth;\nproto.daysInMonth = getDaysInMonth;\n\n// Week\nproto.week           = proto.weeks        = getSetWeek;\nproto.isoWeek        = proto.isoWeeks     = getSetISOWeek;\nproto.weeksInYear    = getWeeksInYear;\nproto.isoWeeksInYear = getISOWeeksInYear;\n\n// Day\nproto.date       = getSetDayOfMonth;\nproto.day        = proto.days             = getSetDayOfWeek;\nproto.weekday    = getSetLocaleDayOfWeek;\nproto.isoWeekday = getSetISODayOfWeek;\nproto.dayOfYear  = getSetDayOfYear;\n\n// Hour\nproto.hour = proto.hours = getSetHour;\n\n// Minute\nproto.minute = proto.minutes = getSetMinute;\n\n// Second\nproto.second = proto.seconds = getSetSecond;\n\n// Millisecond\nproto.millisecond = proto.milliseconds = getSetMillisecond;\n\n// Offset\nproto.utcOffset            = getSetOffset;\nproto.utc                  = setOffsetToUTC;\nproto.local                = setOffsetToLocal;\nproto.parseZone            = setOffsetToParsedOffset;\nproto.hasAlignedHourOffset = hasAlignedHourOffset;\nproto.isDST                = isDaylightSavingTime;\nproto.isLocal              = isLocal;\nproto.isUtcOffset          = isUtcOffset;\nproto.isUtc                = isUtc;\nproto.isUTC                = isUtc;\n\n// Timezone\nproto.zoneAbbr = getZoneAbbr;\nproto.zoneName = getZoneName;\n\n// Deprecations\nproto.dates  = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);\nproto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);\nproto.years  = deprecate('years accessor is deprecated. Use year instead', getSetYear);\nproto.zone   = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);\nproto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);\n\nfunction createUnix (input) {\n    return createLocal(input * 1000);\n}\n\nfunction createInZone () {\n    return createLocal.apply(null, arguments).parseZone();\n}\n\nfunction preParsePostFormat (string) {\n    return string;\n}\n\nvar proto$1 = Locale.prototype;\n\nproto$1.calendar        = calendar;\nproto$1.longDateFormat  = longDateFormat;\nproto$1.invalidDate     = invalidDate;\nproto$1.ordinal         = ordinal;\nproto$1.preparse        = preParsePostFormat;\nproto$1.postformat      = preParsePostFormat;\nproto$1.relativeTime    = relativeTime;\nproto$1.pastFuture      = pastFuture;\nproto$1.set             = set;\n\n// Month\nproto$1.months            =        localeMonths;\nproto$1.monthsShort       =        localeMonthsShort;\nproto$1.monthsParse       =        localeMonthsParse;\nproto$1.monthsRegex       = monthsRegex;\nproto$1.monthsShortRegex  = monthsShortRegex;\n\n// Week\nproto$1.week = localeWeek;\nproto$1.firstDayOfYear = localeFirstDayOfYear;\nproto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n// Day of Week\nproto$1.weekdays       =        localeWeekdays;\nproto$1.weekdaysMin    =        localeWeekdaysMin;\nproto$1.weekdaysShort  =        localeWeekdaysShort;\nproto$1.weekdaysParse  =        localeWeekdaysParse;\n\nproto$1.weekdaysRegex       =        weekdaysRegex;\nproto$1.weekdaysShortRegex  =        weekdaysShortRegex;\nproto$1.weekdaysMinRegex    =        weekdaysMinRegex;\n\n// Hours\nproto$1.isPM = localeIsPM;\nproto$1.meridiem = localeMeridiem;\n\nfunction get$1 (format, index, field, setter) {\n    var locale = getLocale();\n    var utc = createUTC().set(setter, index);\n    return locale[field](utc, format);\n}\n\nfunction listMonthsImpl (format, index, field) {\n    if (isNumber(format)) {\n        index = format;\n        format = undefined;\n    }\n\n    format = format || '';\n\n    if (index != null) {\n        return get$1(format, index, field, 'month');\n    }\n\n    var i;\n    var out = [];\n    for (i = 0; i < 12; i++) {\n        out[i] = get$1(format, i, field, 'month');\n    }\n    return out;\n}\n\n// ()\n// (5)\n// (fmt, 5)\n// (fmt)\n// (true)\n// (true, 5)\n// (true, fmt, 5)\n// (true, fmt)\nfunction listWeekdaysImpl (localeSorted, format, index, field) {\n    if (typeof localeSorted === 'boolean') {\n        if (isNumber(format)) {\n            index = format;\n            format = undefined;\n        }\n\n        format = format || '';\n    } else {\n        format = localeSorted;\n        index = format;\n        localeSorted = false;\n\n        if (isNumber(format)) {\n            index = format;\n            format = undefined;\n        }\n\n        format = format || '';\n    }\n\n    var locale = getLocale(),\n        shift = localeSorted ? locale._week.dow : 0;\n\n    if (index != null) {\n        return get$1(format, (index + shift) % 7, field, 'day');\n    }\n\n    var i;\n    var out = [];\n    for (i = 0; i < 7; i++) {\n        out[i] = get$1(format, (i + shift) % 7, field, 'day');\n    }\n    return out;\n}\n\nfunction listMonths (format, index) {\n    return listMonthsImpl(format, index, 'months');\n}\n\nfunction listMonthsShort (format, index) {\n    return listMonthsImpl(format, index, 'monthsShort');\n}\n\nfunction listWeekdays (localeSorted, format, index) {\n    return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n}\n\nfunction listWeekdaysShort (localeSorted, format, index) {\n    return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n}\n\nfunction listWeekdaysMin (localeSorted, format, index) {\n    return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n}\n\ngetSetGlobalLocale('en', {\n    dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n    ordinal : function (number) {\n        var b = number % 10,\n            output = (toInt(number % 100 / 10) === 1) ? 'th' :\n            (b === 1) ? 'st' :\n            (b === 2) ? 'nd' :\n            (b === 3) ? 'rd' : 'th';\n        return number + output;\n    }\n});\n\n// Side effect imports\nhooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);\nhooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);\n\nvar mathAbs = Math.abs;\n\nfunction abs () {\n    var data           = this._data;\n\n    this._milliseconds = mathAbs(this._milliseconds);\n    this._days         = mathAbs(this._days);\n    this._months       = mathAbs(this._months);\n\n    data.milliseconds  = mathAbs(data.milliseconds);\n    data.seconds       = mathAbs(data.seconds);\n    data.minutes       = mathAbs(data.minutes);\n    data.hours         = mathAbs(data.hours);\n    data.months        = mathAbs(data.months);\n    data.years         = mathAbs(data.years);\n\n    return this;\n}\n\nfunction addSubtract$1 (duration, input, value, direction) {\n    var other = createDuration(input, value);\n\n    duration._milliseconds += direction * other._milliseconds;\n    duration._days         += direction * other._days;\n    duration._months       += direction * other._months;\n\n    return duration._bubble();\n}\n\n// supports only 2.0-style add(1, 's') or add(duration)\nfunction add$1 (input, value) {\n    return addSubtract$1(this, input, value, 1);\n}\n\n// supports only 2.0-style subtract(1, 's') or subtract(duration)\nfunction subtract$1 (input, value) {\n    return addSubtract$1(this, input, value, -1);\n}\n\nfunction absCeil (number) {\n    if (number < 0) {\n        return Math.floor(number);\n    } else {\n        return Math.ceil(number);\n    }\n}\n\nfunction bubble () {\n    var milliseconds = this._milliseconds;\n    var days         = this._days;\n    var months       = this._months;\n    var data         = this._data;\n    var seconds, minutes, hours, years, monthsFromDays;\n\n    // if we have a mix of positive and negative values, bubble down first\n    // check: https://github.com/moment/moment/issues/2166\n    if (!((milliseconds >= 0 && days >= 0 && months >= 0) ||\n            (milliseconds <= 0 && days <= 0 && months <= 0))) {\n        milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n        days = 0;\n        months = 0;\n    }\n\n    // The following code bubbles up values, see the tests for\n    // examples of what that means.\n    data.milliseconds = milliseconds % 1000;\n\n    seconds           = absFloor(milliseconds / 1000);\n    data.seconds      = seconds % 60;\n\n    minutes           = absFloor(seconds / 60);\n    data.minutes      = minutes % 60;\n\n    hours             = absFloor(minutes / 60);\n    data.hours        = hours % 24;\n\n    days += absFloor(hours / 24);\n\n    // convert days to months\n    monthsFromDays = absFloor(daysToMonths(days));\n    months += monthsFromDays;\n    days -= absCeil(monthsToDays(monthsFromDays));\n\n    // 12 months -> 1 year\n    years = absFloor(months / 12);\n    months %= 12;\n\n    data.days   = days;\n    data.months = months;\n    data.years  = years;\n\n    return this;\n}\n\nfunction daysToMonths (days) {\n    // 400 years have 146097 days (taking into account leap year rules)\n    // 400 years have 12 months === 4800\n    return days * 4800 / 146097;\n}\n\nfunction monthsToDays (months) {\n    // the reverse of daysToMonths\n    return months * 146097 / 4800;\n}\n\nfunction as (units) {\n    if (!this.isValid()) {\n        return NaN;\n    }\n    var days;\n    var months;\n    var milliseconds = this._milliseconds;\n\n    units = normalizeUnits(units);\n\n    if (units === 'month' || units === 'year') {\n        days   = this._days   + milliseconds / 864e5;\n        months = this._months + daysToMonths(days);\n        return units === 'month' ? months : months / 12;\n    } else {\n        // handle milliseconds separately because of floating point math errors (issue #1867)\n        days = this._days + Math.round(monthsToDays(this._months));\n        switch (units) {\n            case 'week'   : return days / 7     + milliseconds / 6048e5;\n            case 'day'    : return days         + milliseconds / 864e5;\n            case 'hour'   : return days * 24    + milliseconds / 36e5;\n            case 'minute' : return days * 1440  + milliseconds / 6e4;\n            case 'second' : return days * 86400 + milliseconds / 1000;\n            // Math.floor prevents floating point math errors here\n            case 'millisecond': return Math.floor(days * 864e5) + milliseconds;\n            default: throw new Error('Unknown unit ' + units);\n        }\n    }\n}\n\n// TODO: Use this.as('ms')?\nfunction valueOf$1 () {\n    if (!this.isValid()) {\n        return NaN;\n    }\n    return (\n        this._milliseconds +\n        this._days * 864e5 +\n        (this._months % 12) * 2592e6 +\n        toInt(this._months / 12) * 31536e6\n    );\n}\n\nfunction makeAs (alias) {\n    return function () {\n        return this.as(alias);\n    };\n}\n\nvar asMilliseconds = makeAs('ms');\nvar asSeconds      = makeAs('s');\nvar asMinutes      = makeAs('m');\nvar asHours        = makeAs('h');\nvar asDays         = makeAs('d');\nvar asWeeks        = makeAs('w');\nvar asMonths       = makeAs('M');\nvar asYears        = makeAs('y');\n\nfunction clone$1 () {\n    return createDuration(this);\n}\n\nfunction get$2 (units) {\n    units = normalizeUnits(units);\n    return this.isValid() ? this[units + 's']() : NaN;\n}\n\nfunction makeGetter(name) {\n    return function () {\n        return this.isValid() ? this._data[name] : NaN;\n    };\n}\n\nvar milliseconds = makeGetter('milliseconds');\nvar seconds      = makeGetter('seconds');\nvar minutes      = makeGetter('minutes');\nvar hours        = makeGetter('hours');\nvar days         = makeGetter('days');\nvar months       = makeGetter('months');\nvar years        = makeGetter('years');\n\nfunction weeks () {\n    return absFloor(this.days() / 7);\n}\n\nvar round = Math.round;\nvar thresholds = {\n    ss: 44,         // a few seconds to seconds\n    s : 45,         // seconds to minute\n    m : 45,         // minutes to hour\n    h : 22,         // hours to day\n    d : 26,         // days to month\n    M : 11          // months to year\n};\n\n// helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\nfunction substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n    return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n}\n\nfunction relativeTime$1 (posNegDuration, withoutSuffix, locale) {\n    var duration = createDuration(posNegDuration).abs();\n    var seconds  = round(duration.as('s'));\n    var minutes  = round(duration.as('m'));\n    var hours    = round(duration.as('h'));\n    var days     = round(duration.as('d'));\n    var months   = round(duration.as('M'));\n    var years    = round(duration.as('y'));\n\n    var a = seconds <= thresholds.ss && ['s', seconds]  ||\n            seconds < thresholds.s   && ['ss', seconds] ||\n            minutes <= 1             && ['m']           ||\n            minutes < thresholds.m   && ['mm', minutes] ||\n            hours   <= 1             && ['h']           ||\n            hours   < thresholds.h   && ['hh', hours]   ||\n            days    <= 1             && ['d']           ||\n            days    < thresholds.d   && ['dd', days]    ||\n            months  <= 1             && ['M']           ||\n            months  < thresholds.M   && ['MM', months]  ||\n            years   <= 1             && ['y']           || ['yy', years];\n\n    a[2] = withoutSuffix;\n    a[3] = +posNegDuration > 0;\n    a[4] = locale;\n    return substituteTimeAgo.apply(null, a);\n}\n\n// This function allows you to set the rounding function for relative time strings\nfunction getSetRelativeTimeRounding (roundingFunction) {\n    if (roundingFunction === undefined) {\n        return round;\n    }\n    if (typeof(roundingFunction) === 'function') {\n        round = roundingFunction;\n        return true;\n    }\n    return false;\n}\n\n// This function allows you to set a threshold for relative time strings\nfunction getSetRelativeTimeThreshold (threshold, limit) {\n    if (thresholds[threshold] === undefined) {\n        return false;\n    }\n    if (limit === undefined) {\n        return thresholds[threshold];\n    }\n    thresholds[threshold] = limit;\n    if (threshold === 's') {\n        thresholds.ss = limit - 1;\n    }\n    return true;\n}\n\nfunction humanize (withSuffix) {\n    if (!this.isValid()) {\n        return this.localeData().invalidDate();\n    }\n\n    var locale = this.localeData();\n    var output = relativeTime$1(this, !withSuffix, locale);\n\n    if (withSuffix) {\n        output = locale.pastFuture(+this, output);\n    }\n\n    return locale.postformat(output);\n}\n\nvar abs$1 = Math.abs;\n\nfunction sign(x) {\n    return ((x > 0) - (x < 0)) || +x;\n}\n\nfunction toISOString$1() {\n    // for ISO strings we do not use the normal bubbling rules:\n    //  * milliseconds bubble up until they become hours\n    //  * days do not bubble at all\n    //  * months bubble up until they become years\n    // This is because there is no context-free conversion between hours and days\n    // (think of clock changes)\n    // and also not between days and months (28-31 days per month)\n    if (!this.isValid()) {\n        return this.localeData().invalidDate();\n    }\n\n    var seconds = abs$1(this._milliseconds) / 1000;\n    var days         = abs$1(this._days);\n    var months       = abs$1(this._months);\n    var minutes, hours, years;\n\n    // 3600 seconds -> 60 minutes -> 1 hour\n    minutes           = absFloor(seconds / 60);\n    hours             = absFloor(minutes / 60);\n    seconds %= 60;\n    minutes %= 60;\n\n    // 12 months -> 1 year\n    years  = absFloor(months / 12);\n    months %= 12;\n\n\n    // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n    var Y = years;\n    var M = months;\n    var D = days;\n    var h = hours;\n    var m = minutes;\n    var s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n    var total = this.asSeconds();\n\n    if (!total) {\n        // this is the same as C#'s (Noda) and python (isodate)...\n        // but not other JS (goog.date)\n        return 'P0D';\n    }\n\n    var totalSign = total < 0 ? '-' : '';\n    var ymSign = sign(this._months) !== sign(total) ? '-' : '';\n    var daysSign = sign(this._days) !== sign(total) ? '-' : '';\n    var hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n    return totalSign + 'P' +\n        (Y ? ymSign + Y + 'Y' : '') +\n        (M ? ymSign + M + 'M' : '') +\n        (D ? daysSign + D + 'D' : '') +\n        ((h || m || s) ? 'T' : '') +\n        (h ? hmsSign + h + 'H' : '') +\n        (m ? hmsSign + m + 'M' : '') +\n        (s ? hmsSign + s + 'S' : '');\n}\n\nvar proto$2 = Duration.prototype;\n\nproto$2.isValid        = isValid$1;\nproto$2.abs            = abs;\nproto$2.add            = add$1;\nproto$2.subtract       = subtract$1;\nproto$2.as             = as;\nproto$2.asMilliseconds = asMilliseconds;\nproto$2.asSeconds      = asSeconds;\nproto$2.asMinutes      = asMinutes;\nproto$2.asHours        = asHours;\nproto$2.asDays         = asDays;\nproto$2.asWeeks        = asWeeks;\nproto$2.asMonths       = asMonths;\nproto$2.asYears        = asYears;\nproto$2.valueOf        = valueOf$1;\nproto$2._bubble        = bubble;\nproto$2.clone          = clone$1;\nproto$2.get            = get$2;\nproto$2.milliseconds   = milliseconds;\nproto$2.seconds        = seconds;\nproto$2.minutes        = minutes;\nproto$2.hours          = hours;\nproto$2.days           = days;\nproto$2.weeks          = weeks;\nproto$2.months         = months;\nproto$2.years          = years;\nproto$2.humanize       = humanize;\nproto$2.toISOString    = toISOString$1;\nproto$2.toString       = toISOString$1;\nproto$2.toJSON         = toISOString$1;\nproto$2.locale         = locale;\nproto$2.localeData     = localeData;\n\n// Deprecations\nproto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);\nproto$2.lang = lang;\n\n// Side effect imports\n\n// FORMATTING\n\naddFormatToken('X', 0, 0, 'unix');\naddFormatToken('x', 0, 0, 'valueOf');\n\n// PARSING\n\naddRegexToken('x', matchSigned);\naddRegexToken('X', matchTimestamp);\naddParseToken('X', function (input, array, config) {\n    config._d = new Date(parseFloat(input, 10) * 1000);\n});\naddParseToken('x', function (input, array, config) {\n    config._d = new Date(toInt(input));\n});\n\n// Side effect imports\n\n\nhooks.version = '2.19.2';\n\nsetHookCallback(createLocal);\n\nhooks.fn                    = proto;\nhooks.min                   = min;\nhooks.max                   = max;\nhooks.now                   = now;\nhooks.utc                   = createUTC;\nhooks.unix                  = createUnix;\nhooks.months                = listMonths;\nhooks.isDate                = isDate;\nhooks.locale                = getSetGlobalLocale;\nhooks.invalid               = createInvalid;\nhooks.duration              = createDuration;\nhooks.isMoment              = isMoment;\nhooks.weekdays              = listWeekdays;\nhooks.parseZone             = createInZone;\nhooks.localeData            = getLocale;\nhooks.isDuration            = isDuration;\nhooks.monthsShort           = listMonthsShort;\nhooks.weekdaysMin           = listWeekdaysMin;\nhooks.defineLocale          = defineLocale;\nhooks.updateLocale          = updateLocale;\nhooks.locales               = listLocales;\nhooks.weekdaysShort         = listWeekdaysShort;\nhooks.normalizeUnits        = normalizeUnits;\nhooks.relativeTimeRounding  = getSetRelativeTimeRounding;\nhooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\nhooks.calendarFormat        = getCalendarFormat;\nhooks.prototype             = proto;\n\nreturn hooks;\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/moment/moment.js\n// module id = 53\n// module chunks = 0","\"use strict\";\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] && self) || (objectTypes[typeof window] && window);\nvar freeGlobal = objectTypes[typeof global] && global;\nif (freeGlobal && (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal)) {\n    exports.root = freeGlobal;\n}\n//# sourceMappingURL=root.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/util/root.js\n// module id = 54\n// module chunks = 0","\"use strict\";\nvar AsyncAction_1 = require('./AsyncAction');\nvar AsyncScheduler_1 = require('./AsyncScheduler');\nexports.async = new AsyncScheduler_1.AsyncScheduler(AsyncAction_1.AsyncAction);\n//# sourceMappingURL=async.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/scheduler/async.js\n// module id = 55\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { BaseError } from './facade/errors';\nimport { isPrimitive, isStrictStringMap } from './facade/lang';\nexport var /** @type {?} */ MODULE_SUFFIX = '';\nvar /** @type {?} */ CAMEL_CASE_REGEXP = /([A-Z])/g;\nvar /** @type {?} */ DASH_CASE_REGEXP = /-+([a-z0-9])/g;\n/**\n * @param {?} input\n * @return {?}\n */\nexport function camelCaseToDashCase(input) {\n    return input.replace(CAMEL_CASE_REGEXP, function () {\n        var m = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            m[_i - 0] = arguments[_i];\n        }\n        return '-' + m[1].toLowerCase();\n    });\n}\n/**\n * @param {?} input\n * @return {?}\n */\nexport function dashCaseToCamelCase(input) {\n    return input.replace(DASH_CASE_REGEXP, function () {\n        var m = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            m[_i - 0] = arguments[_i];\n        }\n        return m[1].toUpperCase();\n    });\n}\n/**\n * @param {?} input\n * @param {?} defaultValues\n * @return {?}\n */\nexport function splitAtColon(input, defaultValues) {\n    return _splitAt(input, ':', defaultValues);\n}\n/**\n * @param {?} input\n * @param {?} defaultValues\n * @return {?}\n */\nexport function splitAtPeriod(input, defaultValues) {\n    return _splitAt(input, '.', defaultValues);\n}\n/**\n * @param {?} input\n * @param {?} character\n * @param {?} defaultValues\n * @return {?}\n */\nfunction _splitAt(input, character, defaultValues) {\n    var /** @type {?} */ characterIndex = input.indexOf(character);\n    if (characterIndex == -1)\n        return defaultValues;\n    return [input.slice(0, characterIndex).trim(), input.slice(characterIndex + 1).trim()];\n}\n/**\n * @param {?} value\n * @param {?} visitor\n * @param {?} context\n * @return {?}\n */\nexport function visitValue(value, visitor, context) {\n    if (Array.isArray(value)) {\n        return visitor.visitArray(/** @type {?} */ (value), context);\n    }\n    if (isStrictStringMap(value)) {\n        return visitor.visitStringMap(/** @type {?} */ (value), context);\n    }\n    if (value == null || isPrimitive(value)) {\n        return visitor.visitPrimitive(value, context);\n    }\n    return visitor.visitOther(value, context);\n}\nexport var ValueTransformer = (function () {\n    function ValueTransformer() {\n    }\n    /**\n     * @param {?} arr\n     * @param {?} context\n     * @return {?}\n     */\n    ValueTransformer.prototype.visitArray = function (arr, context) {\n        var _this = this;\n        return arr.map(function (value) { return visitValue(value, _this, context); });\n    };\n    /**\n     * @param {?} map\n     * @param {?} context\n     * @return {?}\n     */\n    ValueTransformer.prototype.visitStringMap = function (map, context) {\n        var _this = this;\n        var /** @type {?} */ result = {};\n        Object.keys(map).forEach(function (key) { result[key] = visitValue(map[key], _this, context); });\n        return result;\n    };\n    /**\n     * @param {?} value\n     * @param {?} context\n     * @return {?}\n     */\n    ValueTransformer.prototype.visitPrimitive = function (value, context) { return value; };\n    /**\n     * @param {?} value\n     * @param {?} context\n     * @return {?}\n     */\n    ValueTransformer.prototype.visitOther = function (value, context) { return value; };\n    return ValueTransformer;\n}());\nexport var SyncAsyncResult = (function () {\n    /**\n     * @param {?} syncResult\n     * @param {?=} asyncResult\n     */\n    function SyncAsyncResult(syncResult, asyncResult) {\n        if (asyncResult === void 0) { asyncResult = null; }\n        this.syncResult = syncResult;\n        this.asyncResult = asyncResult;\n        if (!asyncResult) {\n            this.asyncResult = Promise.resolve(syncResult);\n        }\n    }\n    return SyncAsyncResult;\n}());\nfunction SyncAsyncResult_tsickle_Closure_declarations() {\n    /** @type {?} */\n    SyncAsyncResult.prototype.syncResult;\n    /** @type {?} */\n    SyncAsyncResult.prototype.asyncResult;\n}\nexport var SyntaxError = (function (_super) {\n    __extends(SyntaxError, _super);\n    function SyntaxError() {\n        _super.apply(this, arguments);\n    }\n    return SyntaxError;\n}(BaseError));\n//# sourceMappingURL=util.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/util.js\n// module id = 56\n// module chunks = 0","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function(it, key){\n  return hasOwnProperty.call(it, key);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_has.js\n// module id = 57\n// module chunks = 0","var global    = require('./_global')\n  , hide      = require('./_hide')\n  , has       = require('./_has')\n  , SRC       = require('./_uid')('src')\n  , TO_STRING = 'toString'\n  , $toString = Function[TO_STRING]\n  , TPL       = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function(it){\n  return $toString.call(it);\n};\n\n(module.exports = function(O, key, val, safe){\n  var isFunction = typeof val == 'function';\n  if(isFunction)has(val, 'name') || hide(val, 'name', key);\n  if(O[key] === val)return;\n  if(isFunction)has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n  if(O === global){\n    O[key] = val;\n  } else {\n    if(!safe){\n      delete O[key];\n      hide(O, key, val);\n    } else {\n      if(O[key])O[key] = val;\n      else hide(O, key, val);\n    }\n  }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString(){\n  return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_redefine.js\n// module id = 58\n// module chunks = 0","var $export = require('./_export')\n  , fails   = require('./_fails')\n  , defined = require('./_defined')\n  , quot    = /\"/g;\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\nvar createHTML = function(string, tag, attribute, value) {\n  var S  = String(defined(string))\n    , p1 = '<' + tag;\n  if(attribute !== '')p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '&quot;') + '\"';\n  return p1 + '>' + S + '</' + tag + '>';\n};\nmodule.exports = function(NAME, exec){\n  var O = {};\n  O[NAME] = exec(createHTML);\n  $export($export.P + $export.F * fails(function(){\n    var test = ''[NAME]('\"');\n    return test !== test.toLowerCase() || test.split('\"').length > 3;\n  }), 'String', O);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_string-html.js\n// module id = 59\n// module chunks = 0","\"use strict\";\r\nvar add_pipe_1 = require(\"./add.pipe\");\r\nexports.AddPipe = add_pipe_1.AddPipe;\r\nvar calendar_pipe_1 = require(\"./calendar.pipe\");\r\nexports.CalendarPipe = calendar_pipe_1.CalendarPipe;\r\nvar date_format_pipe_1 = require(\"./date-format.pipe\");\r\nexports.DateFormatPipe = date_format_pipe_1.DateFormatPipe;\r\nvar difference_pipe_1 = require(\"./difference.pipe\");\r\nexports.DifferencePipe = difference_pipe_1.DifferencePipe;\r\nvar duration_pipe_1 = require(\"./duration.pipe\");\r\nexports.DurationPipe = duration_pipe_1.DurationPipe;\r\nvar from_unix_pipe_1 = require(\"./from-unix.pipe\");\r\nexports.FromUnixPipe = from_unix_pipe_1.FromUnixPipe;\r\nvar parse_pipe_1 = require(\"./parse.pipe\");\r\nexports.ParsePipe = parse_pipe_1.ParsePipe;\r\nvar moment_module_1 = require(\"./moment.module\");\r\nexports.MomentModule = moment_module_1.MomentModule;\r\nvar subtract_pipe_1 = require(\"./subtract.pipe\");\r\nexports.SubtractPipe = subtract_pipe_1.SubtractPipe;\r\nvar time_ago_pipe_1 = require(\"./time-ago.pipe\");\r\nexports.TimeAgoPipe = time_ago_pipe_1.TimeAgoPipe;\r\nvar utc_pipe_1 = require(\"./utc.pipe\");\r\nexports.UtcPipe = utc_pipe_1.UtcPipe;\r\nvar local_pipe_1 = require(\"./local.pipe\");\r\nexports.LocalTimePipe = local_pipe_1.LocalTimePipe;\r\nvar locale_pipe_1 = require(\"./locale.pipe\");\r\nexports.LocalePipe = locale_pipe_1.LocalePipe;\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/angular2-moment/index.js\n// module id = 61\n// module chunks = 0","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer')\n  , min       = Math.min;\nmodule.exports = function(it){\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_to-length.js\n// module id = 62\n// module chunks = 0","import * as chars from './chars';\nimport { isPresent } from './facade/lang';\nexport var ParseLocation = (function () {\n    /**\n     * @param {?} file\n     * @param {?} offset\n     * @param {?} line\n     * @param {?} col\n     */\n    function ParseLocation(file, offset, line, col) {\n        this.file = file;\n        this.offset = offset;\n        this.line = line;\n        this.col = col;\n    }\n    /**\n     * @return {?}\n     */\n    ParseLocation.prototype.toString = function () {\n        return isPresent(this.offset) ? this.file.url + \"@\" + this.line + \":\" + this.col : this.file.url;\n    };\n    /**\n     * @param {?} delta\n     * @return {?}\n     */\n    ParseLocation.prototype.moveBy = function (delta) {\n        var /** @type {?} */ source = this.file.content;\n        var /** @type {?} */ len = source.length;\n        var /** @type {?} */ offset = this.offset;\n        var /** @type {?} */ line = this.line;\n        var /** @type {?} */ col = this.col;\n        while (offset > 0 && delta < 0) {\n            offset--;\n            delta++;\n            var /** @type {?} */ ch = source.charCodeAt(offset);\n            if (ch == chars.$LF) {\n                line--;\n                var /** @type {?} */ priorLine = source.substr(0, offset - 1).lastIndexOf(String.fromCharCode(chars.$LF));\n                col = priorLine > 0 ? offset - priorLine : offset;\n            }\n            else {\n                col--;\n            }\n        }\n        while (offset < len && delta > 0) {\n            var /** @type {?} */ ch = source.charCodeAt(offset);\n            offset++;\n            delta--;\n            if (ch == chars.$LF) {\n                line++;\n                col = 0;\n            }\n            else {\n                col++;\n            }\n        }\n        return new ParseLocation(this.file, offset, line, col);\n    };\n    /**\n     * @param {?} maxChars\n     * @param {?} maxLines\n     * @return {?}\n     */\n    ParseLocation.prototype.getContext = function (maxChars, maxLines) {\n        var /** @type {?} */ content = this.file.content;\n        var /** @type {?} */ startOffset = this.offset;\n        if (isPresent(startOffset)) {\n            if (startOffset > content.length - 1) {\n                startOffset = content.length - 1;\n            }\n            var /** @type {?} */ endOffset = startOffset;\n            var /** @type {?} */ ctxChars = 0;\n            var /** @type {?} */ ctxLines = 0;\n            while (ctxChars < maxChars && startOffset > 0) {\n                startOffset--;\n                ctxChars++;\n                if (content[startOffset] == '\\n') {\n                    if (++ctxLines == maxLines) {\n                        break;\n                    }\n                }\n            }\n            ctxChars = 0;\n            ctxLines = 0;\n            while (ctxChars < maxChars && endOffset < content.length - 1) {\n                endOffset++;\n                ctxChars++;\n                if (content[endOffset] == '\\n') {\n                    if (++ctxLines == maxLines) {\n                        break;\n                    }\n                }\n            }\n            return {\n                before: content.substring(startOffset, this.offset),\n                after: content.substring(this.offset, endOffset + 1),\n            };\n        }\n        return null;\n    };\n    return ParseLocation;\n}());\nfunction ParseLocation_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ParseLocation.prototype.file;\n    /** @type {?} */\n    ParseLocation.prototype.offset;\n    /** @type {?} */\n    ParseLocation.prototype.line;\n    /** @type {?} */\n    ParseLocation.prototype.col;\n}\nexport var ParseSourceFile = (function () {\n    /**\n     * @param {?} content\n     * @param {?} url\n     */\n    function ParseSourceFile(content, url) {\n        this.content = content;\n        this.url = url;\n    }\n    return ParseSourceFile;\n}());\nfunction ParseSourceFile_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ParseSourceFile.prototype.content;\n    /** @type {?} */\n    ParseSourceFile.prototype.url;\n}\nexport var ParseSourceSpan = (function () {\n    /**\n     * @param {?} start\n     * @param {?} end\n     * @param {?=} details\n     */\n    function ParseSourceSpan(start, end, details) {\n        if (details === void 0) { details = null; }\n        this.start = start;\n        this.end = end;\n        this.details = details;\n    }\n    /**\n     * @return {?}\n     */\n    ParseSourceSpan.prototype.toString = function () {\n        return this.start.file.content.substring(this.start.offset, this.end.offset);\n    };\n    return ParseSourceSpan;\n}());\nfunction ParseSourceSpan_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ParseSourceSpan.prototype.start;\n    /** @type {?} */\n    ParseSourceSpan.prototype.end;\n    /** @type {?} */\n    ParseSourceSpan.prototype.details;\n}\nexport var ParseErrorLevel = {};\nParseErrorLevel.WARNING = 0;\nParseErrorLevel.FATAL = 1;\nParseErrorLevel[ParseErrorLevel.WARNING] = \"WARNING\";\nParseErrorLevel[ParseErrorLevel.FATAL] = \"FATAL\";\nexport var ParseError = (function () {\n    /**\n     * @param {?} span\n     * @param {?} msg\n     * @param {?=} level\n     */\n    function ParseError(span, msg, level) {\n        if (level === void 0) { level = ParseErrorLevel.FATAL; }\n        this.span = span;\n        this.msg = msg;\n        this.level = level;\n    }\n    /**\n     * @return {?}\n     */\n    ParseError.prototype.toString = function () {\n        var /** @type {?} */ ctx = this.span.start.getContext(100, 3);\n        var /** @type {?} */ contextStr = ctx ? \" (\\\"\" + ctx.before + \"[ERROR ->]\" + ctx.after + \"\\\")\" : '';\n        var /** @type {?} */ details = this.span.details ? \", \" + this.span.details : '';\n        return \"\" + this.msg + contextStr + \": \" + this.span.start + details;\n    };\n    return ParseError;\n}());\nfunction ParseError_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ParseError.prototype.span;\n    /** @type {?} */\n    ParseError.prototype.msg;\n    /** @type {?} */\n    ParseError.prototype.level;\n}\n//# sourceMappingURL=parse_util.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/parse_util.js\n// module id = 63\n// module chunks = 0","/**\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/**\n * @module\n * @description\n * The `di` module provides dependency injection container services.\n */\nexport { Inject, Optional, Injectable, Self, SkipSelf, Host } from './di/metadata';\nexport { forwardRef, resolveForwardRef } from './di/forward_ref';\nexport { Injector } from './di/injector';\nexport { ReflectiveInjector } from './di/reflective_injector';\nexport { ResolvedReflectiveFactory } from './di/reflective_provider';\nexport { ReflectiveKey } from './di/reflective_key';\nexport { OpaqueToken } from './di/opaque_token';\n//# sourceMappingURL=di.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/di.js\n// module id = 64\n// module chunks = 0","/**\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 */\nimport { OpaqueToken } from '@angular/core';\n/**\n * Used to provide a {@link ControlValueAccessor} for form controls.\n *\n * See {@link DefaultValueAccessor} for how to implement one.\n * @stable\n */\nexport var /** @type {?} */ NG_VALUE_ACCESSOR = new OpaqueToken('NgValueAccessor');\n//# sourceMappingURL=control_value_accessor.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/forms/src/directives/control_value_accessor.js\n// module id = 65\n// module chunks = 0","var fails = require('./_fails');\n\nmodule.exports = function(method, arg){\n  return !!method && fails(function(){\n    arg ? method.call(null, function(){}, 1) : method.call(null);\n  });\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_strict-method.js\n// module id = 66\n// module chunks = 0","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject')\n  , defined = require('./_defined');\nmodule.exports = function(it){\n  return IObject(defined(it));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_to-iobject.js\n// module id = 67\n// module chunks = 0","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function(it){\n  return Object(defined(it));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_to-object.js\n// module id = 68\n// module chunks = 0","/**\n * @hidden\n */\nexport function FBMLAttribute(target, key) {\n    var processKey = function (_k) { return 'data-' + _k.toString().replace(/([a-z\\d])([A-Z])/g, '$1-$2').toLowerCase(); };\n    Object.defineProperty(target, key, {\n        set: function (value) {\n            value = value.toString();\n            this.setAttribute(processKey(key), value);\n        },\n        get: function () {\n            return this.getAttribute(processKey(key));\n        },\n        enumerable: true\n    });\n}\n/**\n * @hidden\n */\nexport function FBMLInstanceMethod(target, key) {\n    return {\n        enumerable: true,\n        value: function () {\n            var args = [];\n            for (var _i = 0; _i < arguments.length; _i++) {\n                args[_i] = arguments[_i];\n            }\n            if (this._instance) {\n                return this._instance[key].apply(this._instance, args);\n            }\n            else {\n                console.warn('ng2-facebook-sdk: tried calling instance method before component is ready.');\n                return null;\n            }\n        }\n    };\n}\n/**\n * @hidden\n */\nvar FBMLComponent = (function () {\n    function FBMLComponent(el, rnd, fbClass) {\n        this.el = el;\n        this.rnd = rnd;\n        this.fbClass = fbClass;\n        this.nativeElement = this.el.nativeElement;\n        this.rnd.setElementClass(this.nativeElement, this.fbClass, true);\n    }\n    FBMLComponent.prototype.setAttribute = function (name, value) {\n        if (!name || !value)\n            return;\n        this.rnd.setElementAttribute(this.nativeElement, name, value);\n    };\n    FBMLComponent.prototype.getAttribute = function (name) {\n        if (!name)\n            return;\n        return this.nativeElement.getAttribute(name);\n    };\n    return FBMLComponent;\n}());\nexport { FBMLComponent };\n//# sourceMappingURL=fbml-component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ngx-facebook/dist/esm/components/fbml-component.js\n// module id = 69\n// module chunks = 0","/**\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 */\nvar /** @type {?} */ 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    }\n    else {\n        globalScope = (global);\n    }\n}\nelse {\n    globalScope = (window);\n}\n/**\n * @param {?} fn\n * @return {?}\n */\nexport function scheduleMicroTask(fn) {\n    Zone.current.scheduleMicroTask('scheduleMicrotask', fn);\n}\n// Need to declare a new variable for global here since TypeScript\n// exports the original value of the symbol.\nvar /** @type {?} */ _global = globalScope;\nexport { _global as global };\n/**\n * @param {?} type\n * @return {?}\n */\nexport function getTypeNameForDebugging(type) {\n    return type['name'] || typeof type;\n}\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};\n/**\n * @param {?} obj\n * @return {?}\n */\nexport function isPresent(obj) {\n    return obj != null;\n}\n/**\n * @param {?} obj\n * @return {?}\n */\nexport function isBlank(obj) {\n    return obj == null;\n}\nvar /** @type {?} */ STRING_MAP_PROTO = Object.getPrototypeOf({});\n/**\n * @param {?} obj\n * @return {?}\n */\nexport function isStrictStringMap(obj) {\n    return typeof obj === 'object' && obj !== null && Object.getPrototypeOf(obj) === STRING_MAP_PROTO;\n}\n/**\n * @param {?} token\n * @return {?}\n */\nexport function stringify(token) {\n    if (typeof token === 'string') {\n        return token;\n    }\n    if (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 /** @type {?} */ res = token.toString();\n    var /** @type {?} */ newLineIndex = res.indexOf('\\n');\n    return newLineIndex === -1 ? res : res.substring(0, newLineIndex);\n}\nexport var NumberWrapper = (function () {\n    function NumberWrapper() {\n    }\n    /**\n     * @param {?} text\n     * @return {?}\n     */\n    NumberWrapper.parseIntAutoRadix = function (text) {\n        var /** @type {?} */ result = parseInt(text);\n        if (isNaN(result)) {\n            throw new Error('Invalid integer literal when parsing ' + text);\n        }\n        return result;\n    };\n    /**\n     * @param {?} value\n     * @return {?}\n     */\n    NumberWrapper.isNumeric = function (value) { return !isNaN(value - parseFloat(value)); };\n    return NumberWrapper;\n}());\n/**\n * @param {?} a\n * @param {?} b\n * @return {?}\n */\nexport function looseIdentical(a, b) {\n    return a === b || typeof a === 'number' && typeof b === 'number' && isNaN(a) && isNaN(b);\n}\n/**\n * @param {?} o\n * @return {?}\n */\nexport function isJsObject(o) {\n    return o !== null && (typeof o === 'function' || typeof o === 'object');\n}\n/**\n * @param {?} obj\n * @return {?}\n */\nexport function print(obj) {\n    // tslint:disable-next-line:no-console\n    console.log(obj);\n}\n/**\n * @param {?} obj\n * @return {?}\n */\nexport function warn(obj) {\n    console.warn(obj);\n}\n/**\n * @param {?} global\n * @param {?} path\n * @param {?} value\n * @return {?}\n */\nexport function setValueOnPath(global, path, value) {\n    var /** @type {?} */ parts = path.split('.');\n    var /** @type {?} */ obj = global;\n    while (parts.length > 1) {\n        var /** @type {?} */ name_1 = parts.shift();\n        if (obj.hasOwnProperty(name_1) && obj[name_1] != null) {\n            obj = obj[name_1];\n        }\n        else {\n            obj = obj[name_1] = {};\n        }\n    }\n    if (obj === undefined || obj === null) {\n        obj = {};\n    }\n    obj[parts.shift()] = value;\n}\nvar /** @type {?} */ _symbolIterator = null;\n/**\n * @return {?}\n */\nexport function getSymbolIterator() {\n    if (!_symbolIterator) {\n        if (((globalScope)).Symbol && Symbol.iterator) {\n            _symbolIterator = Symbol.iterator;\n        }\n        else {\n            // es6-shim specific logic\n            var /** @type {?} */ keys = Object.getOwnPropertyNames(Map.prototype);\n            for (var /** @type {?} */ i = 0; i < keys.length; ++i) {\n                var /** @type {?} */ key = keys[i];\n                if (key !== 'entries' && key !== 'size' &&\n                    ((Map)).prototype[key] === Map.prototype['entries']) {\n                    _symbolIterator = key;\n                }\n            }\n        }\n    }\n    return _symbolIterator;\n}\n/**\n * @param {?} obj\n * @return {?}\n */\nexport function isPrimitive(obj) {\n    return !isJsObject(obj);\n}\n/**\n * @param {?} s\n * @return {?}\n */\nexport function escapeRegExp(s) {\n    return s.replace(/([.*+?^=!:${}()|[\\]\\/\\\\])/g, '\\\\$1');\n}\n//# sourceMappingURL=lang.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/common/src/facade/lang.js\n// module id = 70\n// module chunks = 0","/**\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 */\nimport { isPresent } from '../facade/lang';\nimport { Identifiers, createEnumIdentifier, createIdentifier } from '../identifiers';\nimport * as o from '../output/output_ast';\n/**\n * @param {?} token\n * @return {?}\n */\nexport function createDiTokenExpression(token) {\n    if (isPresent(token.value)) {\n        return o.literal(token.value);\n    }\n    else {\n        return o.importExpr(token.identifier);\n    }\n}\n/**\n * @param {?} values\n * @return {?}\n */\nexport function createInlineArray(values) {\n    if (values.length === 0) {\n        return o.importExpr(createIdentifier(Identifiers.EMPTY_INLINE_ARRAY));\n    }\n    var /** @type {?} */ log2 = Math.log(values.length) / Math.log(2);\n    var /** @type {?} */ index = Math.ceil(log2);\n    var /** @type {?} */ identifierSpec = index < Identifiers.inlineArrays.length ? Identifiers.inlineArrays[index] :\n        Identifiers.InlineArrayDynamic;\n    var /** @type {?} */ identifier = createIdentifier(identifierSpec);\n    return o.importExpr(identifier).instantiate([(o.literal(values.length))\n    ].concat(values));\n}\n/**\n * @param {?} fn\n * @param {?} argCount\n * @param {?} pureProxyProp\n * @param {?} builder\n * @return {?}\n */\nexport function createPureProxy(fn, argCount, pureProxyProp, builder) {\n    builder.fields.push(new o.ClassField(pureProxyProp.name, null));\n    var /** @type {?} */ pureProxyId = argCount < Identifiers.pureProxies.length ? Identifiers.pureProxies[argCount] : null;\n    if (!pureProxyId) {\n        throw new Error(\"Unsupported number of argument for pure functions: \" + argCount);\n    }\n    builder.ctorStmts.push(o.THIS_EXPR.prop(pureProxyProp.name)\n        .set(o.importExpr(createIdentifier(pureProxyId)).callFn([fn]))\n        .toStmt());\n}\n/**\n * @param {?} enumType\n * @param {?} enumValue\n * @return {?}\n */\nexport function createEnumExpression(enumType, enumValue) {\n    var /** @type {?} */ enumName = Object.keys(enumType.runtime).find(function (propName) { return enumType.runtime[propName] === enumValue; });\n    if (!enumName) {\n        throw new Error(\"Unknown enum value \" + enumValue + \" in \" + enumType.name);\n    }\n    return o.importExpr(createEnumIdentifier(enumType, enumName));\n}\n//# sourceMappingURL=identifier_util.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/compiler_util/identifier_util.js\n// module id = 71\n// module chunks = 0","/**\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 */\nimport { assertInterpolationSymbols } from '../assertions';\nexport var InterpolationConfig = (function () {\n    /**\n     * @param {?} start\n     * @param {?} end\n     */\n    function InterpolationConfig(start, end) {\n        this.start = start;\n        this.end = end;\n    }\n    /**\n     * @param {?} markers\n     * @return {?}\n     */\n    InterpolationConfig.fromArray = function (markers) {\n        if (!markers) {\n            return DEFAULT_INTERPOLATION_CONFIG;\n        }\n        assertInterpolationSymbols('interpolation', markers);\n        return new InterpolationConfig(markers[0], markers[1]);\n    };\n    ;\n    return InterpolationConfig;\n}());\nfunction InterpolationConfig_tsickle_Closure_declarations() {\n    /** @type {?} */\n    InterpolationConfig.prototype.start;\n    /** @type {?} */\n    InterpolationConfig.prototype.end;\n}\nexport var /** @type {?} */ DEFAULT_INTERPOLATION_CONFIG = new InterpolationConfig('{{', '}}');\n//# sourceMappingURL=interpolation_config.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/ml_parser/interpolation_config.js\n// module id = 72\n// module chunks = 0","/**\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/**\n * A segment of text within the template.\n */\nexport var TextAst = (function () {\n    /**\n     * @param {?} value\n     * @param {?} ngContentIndex\n     * @param {?} sourceSpan\n     */\n    function TextAst(value, ngContentIndex, sourceSpan) {\n        this.value = value;\n        this.ngContentIndex = ngContentIndex;\n        this.sourceSpan = sourceSpan;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    TextAst.prototype.visit = function (visitor, context) { return visitor.visitText(this, context); };\n    return TextAst;\n}());\nfunction TextAst_tsickle_Closure_declarations() {\n    /** @type {?} */\n    TextAst.prototype.value;\n    /** @type {?} */\n    TextAst.prototype.ngContentIndex;\n    /** @type {?} */\n    TextAst.prototype.sourceSpan;\n}\n/**\n * A bound expression within the text of a template.\n */\nexport var BoundTextAst = (function () {\n    /**\n     * @param {?} value\n     * @param {?} ngContentIndex\n     * @param {?} sourceSpan\n     */\n    function BoundTextAst(value, ngContentIndex, sourceSpan) {\n        this.value = value;\n        this.ngContentIndex = ngContentIndex;\n        this.sourceSpan = sourceSpan;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    BoundTextAst.prototype.visit = function (visitor, context) {\n        return visitor.visitBoundText(this, context);\n    };\n    return BoundTextAst;\n}());\nfunction BoundTextAst_tsickle_Closure_declarations() {\n    /** @type {?} */\n    BoundTextAst.prototype.value;\n    /** @type {?} */\n    BoundTextAst.prototype.ngContentIndex;\n    /** @type {?} */\n    BoundTextAst.prototype.sourceSpan;\n}\n/**\n * A plain attribute on an element.\n */\nexport var AttrAst = (function () {\n    /**\n     * @param {?} name\n     * @param {?} value\n     * @param {?} sourceSpan\n     */\n    function AttrAst(name, value, sourceSpan) {\n        this.name = name;\n        this.value = value;\n        this.sourceSpan = sourceSpan;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    AttrAst.prototype.visit = function (visitor, context) { return visitor.visitAttr(this, context); };\n    return AttrAst;\n}());\nfunction AttrAst_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AttrAst.prototype.name;\n    /** @type {?} */\n    AttrAst.prototype.value;\n    /** @type {?} */\n    AttrAst.prototype.sourceSpan;\n}\n/**\n * A binding for an element property (e.g. `[property]=\"expression\"`) or an animation trigger (e.g.\n * `[\\@trigger]=\"stateExp\"`)\n */\nexport var BoundElementPropertyAst = (function () {\n    /**\n     * @param {?} name\n     * @param {?} type\n     * @param {?} securityContext\n     * @param {?} needsRuntimeSecurityContext\n     * @param {?} value\n     * @param {?} unit\n     * @param {?} sourceSpan\n     */\n    function BoundElementPropertyAst(name, type, securityContext, needsRuntimeSecurityContext, value, unit, sourceSpan) {\n        this.name = name;\n        this.type = type;\n        this.securityContext = securityContext;\n        this.needsRuntimeSecurityContext = needsRuntimeSecurityContext;\n        this.value = value;\n        this.unit = unit;\n        this.sourceSpan = sourceSpan;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    BoundElementPropertyAst.prototype.visit = function (visitor, context) {\n        return visitor.visitElementProperty(this, context);\n    };\n    Object.defineProperty(BoundElementPropertyAst.prototype, \"isAnimation\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this.type === PropertyBindingType.Animation; },\n        enumerable: true,\n        configurable: true\n    });\n    return BoundElementPropertyAst;\n}());\nfunction BoundElementPropertyAst_tsickle_Closure_declarations() {\n    /** @type {?} */\n    BoundElementPropertyAst.prototype.name;\n    /** @type {?} */\n    BoundElementPropertyAst.prototype.type;\n    /** @type {?} */\n    BoundElementPropertyAst.prototype.securityContext;\n    /** @type {?} */\n    BoundElementPropertyAst.prototype.needsRuntimeSecurityContext;\n    /** @type {?} */\n    BoundElementPropertyAst.prototype.value;\n    /** @type {?} */\n    BoundElementPropertyAst.prototype.unit;\n    /** @type {?} */\n    BoundElementPropertyAst.prototype.sourceSpan;\n}\n/**\n * A binding for an element event (e.g. `(event)=\"handler()\"`) or an animation trigger event (e.g.\n * `(\\@trigger.phase)=\"callback($event)\"`).\n */\nexport var BoundEventAst = (function () {\n    /**\n     * @param {?} name\n     * @param {?} target\n     * @param {?} phase\n     * @param {?} handler\n     * @param {?} sourceSpan\n     */\n    function BoundEventAst(name, target, phase, handler, sourceSpan) {\n        this.name = name;\n        this.target = target;\n        this.phase = phase;\n        this.handler = handler;\n        this.sourceSpan = sourceSpan;\n    }\n    /**\n     * @param {?} name\n     * @param {?} target\n     * @param {?} phase\n     * @return {?}\n     */\n    BoundEventAst.calcFullName = function (name, target, phase) {\n        if (target) {\n            return target + \":\" + name;\n        }\n        else if (phase) {\n            return \"@\" + name + \".\" + phase;\n        }\n        else {\n            return name;\n        }\n    };\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    BoundEventAst.prototype.visit = function (visitor, context) {\n        return visitor.visitEvent(this, context);\n    };\n    Object.defineProperty(BoundEventAst.prototype, \"fullName\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return BoundEventAst.calcFullName(this.name, this.target, this.phase); },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(BoundEventAst.prototype, \"isAnimation\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return !!this.phase; },\n        enumerable: true,\n        configurable: true\n    });\n    return BoundEventAst;\n}());\nfunction BoundEventAst_tsickle_Closure_declarations() {\n    /** @type {?} */\n    BoundEventAst.prototype.name;\n    /** @type {?} */\n    BoundEventAst.prototype.target;\n    /** @type {?} */\n    BoundEventAst.prototype.phase;\n    /** @type {?} */\n    BoundEventAst.prototype.handler;\n    /** @type {?} */\n    BoundEventAst.prototype.sourceSpan;\n}\n/**\n * A reference declaration on an element (e.g. `let someName=\"expression\"`).\n */\nexport var ReferenceAst = (function () {\n    /**\n     * @param {?} name\n     * @param {?} value\n     * @param {?} sourceSpan\n     */\n    function ReferenceAst(name, value, sourceSpan) {\n        this.name = name;\n        this.value = value;\n        this.sourceSpan = sourceSpan;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    ReferenceAst.prototype.visit = function (visitor, context) {\n        return visitor.visitReference(this, context);\n    };\n    return ReferenceAst;\n}());\nfunction ReferenceAst_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ReferenceAst.prototype.name;\n    /** @type {?} */\n    ReferenceAst.prototype.value;\n    /** @type {?} */\n    ReferenceAst.prototype.sourceSpan;\n}\n/**\n * A variable declaration on a <template> (e.g. `var-someName=\"someLocalName\"`).\n */\nexport var VariableAst = (function () {\n    /**\n     * @param {?} name\n     * @param {?} value\n     * @param {?} sourceSpan\n     */\n    function VariableAst(name, value, sourceSpan) {\n        this.name = name;\n        this.value = value;\n        this.sourceSpan = sourceSpan;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    VariableAst.prototype.visit = function (visitor, context) {\n        return visitor.visitVariable(this, context);\n    };\n    return VariableAst;\n}());\nfunction VariableAst_tsickle_Closure_declarations() {\n    /** @type {?} */\n    VariableAst.prototype.name;\n    /** @type {?} */\n    VariableAst.prototype.value;\n    /** @type {?} */\n    VariableAst.prototype.sourceSpan;\n}\n/**\n * An element declaration in a template.\n */\nexport var ElementAst = (function () {\n    /**\n     * @param {?} name\n     * @param {?} attrs\n     * @param {?} inputs\n     * @param {?} outputs\n     * @param {?} references\n     * @param {?} directives\n     * @param {?} providers\n     * @param {?} hasViewContainer\n     * @param {?} children\n     * @param {?} ngContentIndex\n     * @param {?} sourceSpan\n     * @param {?} endSourceSpan\n     */\n    function ElementAst(name, attrs, inputs, outputs, references, directives, providers, hasViewContainer, children, ngContentIndex, sourceSpan, endSourceSpan) {\n        this.name = name;\n        this.attrs = attrs;\n        this.inputs = inputs;\n        this.outputs = outputs;\n        this.references = references;\n        this.directives = directives;\n        this.providers = providers;\n        this.hasViewContainer = hasViewContainer;\n        this.children = children;\n        this.ngContentIndex = ngContentIndex;\n        this.sourceSpan = sourceSpan;\n        this.endSourceSpan = endSourceSpan;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    ElementAst.prototype.visit = function (visitor, context) {\n        return visitor.visitElement(this, context);\n    };\n    return ElementAst;\n}());\nfunction ElementAst_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ElementAst.prototype.name;\n    /** @type {?} */\n    ElementAst.prototype.attrs;\n    /** @type {?} */\n    ElementAst.prototype.inputs;\n    /** @type {?} */\n    ElementAst.prototype.outputs;\n    /** @type {?} */\n    ElementAst.prototype.references;\n    /** @type {?} */\n    ElementAst.prototype.directives;\n    /** @type {?} */\n    ElementAst.prototype.providers;\n    /** @type {?} */\n    ElementAst.prototype.hasViewContainer;\n    /** @type {?} */\n    ElementAst.prototype.children;\n    /** @type {?} */\n    ElementAst.prototype.ngContentIndex;\n    /** @type {?} */\n    ElementAst.prototype.sourceSpan;\n    /** @type {?} */\n    ElementAst.prototype.endSourceSpan;\n}\n/**\n * A `<template>` element included in an Angular template.\n */\nexport var EmbeddedTemplateAst = (function () {\n    /**\n     * @param {?} attrs\n     * @param {?} outputs\n     * @param {?} references\n     * @param {?} variables\n     * @param {?} directives\n     * @param {?} providers\n     * @param {?} hasViewContainer\n     * @param {?} children\n     * @param {?} ngContentIndex\n     * @param {?} sourceSpan\n     */\n    function EmbeddedTemplateAst(attrs, outputs, references, variables, directives, providers, hasViewContainer, children, ngContentIndex, sourceSpan) {\n        this.attrs = attrs;\n        this.outputs = outputs;\n        this.references = references;\n        this.variables = variables;\n        this.directives = directives;\n        this.providers = providers;\n        this.hasViewContainer = hasViewContainer;\n        this.children = children;\n        this.ngContentIndex = ngContentIndex;\n        this.sourceSpan = sourceSpan;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    EmbeddedTemplateAst.prototype.visit = function (visitor, context) {\n        return visitor.visitEmbeddedTemplate(this, context);\n    };\n    return EmbeddedTemplateAst;\n}());\nfunction EmbeddedTemplateAst_tsickle_Closure_declarations() {\n    /** @type {?} */\n    EmbeddedTemplateAst.prototype.attrs;\n    /** @type {?} */\n    EmbeddedTemplateAst.prototype.outputs;\n    /** @type {?} */\n    EmbeddedTemplateAst.prototype.references;\n    /** @type {?} */\n    EmbeddedTemplateAst.prototype.variables;\n    /** @type {?} */\n    EmbeddedTemplateAst.prototype.directives;\n    /** @type {?} */\n    EmbeddedTemplateAst.prototype.providers;\n    /** @type {?} */\n    EmbeddedTemplateAst.prototype.hasViewContainer;\n    /** @type {?} */\n    EmbeddedTemplateAst.prototype.children;\n    /** @type {?} */\n    EmbeddedTemplateAst.prototype.ngContentIndex;\n    /** @type {?} */\n    EmbeddedTemplateAst.prototype.sourceSpan;\n}\n/**\n * A directive property with a bound value (e.g. `*ngIf=\"condition\").\n */\nexport var BoundDirectivePropertyAst = (function () {\n    /**\n     * @param {?} directiveName\n     * @param {?} templateName\n     * @param {?} value\n     * @param {?} sourceSpan\n     */\n    function BoundDirectivePropertyAst(directiveName, templateName, value, sourceSpan) {\n        this.directiveName = directiveName;\n        this.templateName = templateName;\n        this.value = value;\n        this.sourceSpan = sourceSpan;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    BoundDirectivePropertyAst.prototype.visit = function (visitor, context) {\n        return visitor.visitDirectiveProperty(this, context);\n    };\n    return BoundDirectivePropertyAst;\n}());\nfunction BoundDirectivePropertyAst_tsickle_Closure_declarations() {\n    /** @type {?} */\n    BoundDirectivePropertyAst.prototype.directiveName;\n    /** @type {?} */\n    BoundDirectivePropertyAst.prototype.templateName;\n    /** @type {?} */\n    BoundDirectivePropertyAst.prototype.value;\n    /** @type {?} */\n    BoundDirectivePropertyAst.prototype.sourceSpan;\n}\n/**\n * A directive declared on an element.\n */\nexport var DirectiveAst = (function () {\n    /**\n     * @param {?} directive\n     * @param {?} inputs\n     * @param {?} hostProperties\n     * @param {?} hostEvents\n     * @param {?} sourceSpan\n     */\n    function DirectiveAst(directive, inputs, hostProperties, hostEvents, sourceSpan) {\n        this.directive = directive;\n        this.inputs = inputs;\n        this.hostProperties = hostProperties;\n        this.hostEvents = hostEvents;\n        this.sourceSpan = sourceSpan;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    DirectiveAst.prototype.visit = function (visitor, context) {\n        return visitor.visitDirective(this, context);\n    };\n    return DirectiveAst;\n}());\nfunction DirectiveAst_tsickle_Closure_declarations() {\n    /** @type {?} */\n    DirectiveAst.prototype.directive;\n    /** @type {?} */\n    DirectiveAst.prototype.inputs;\n    /** @type {?} */\n    DirectiveAst.prototype.hostProperties;\n    /** @type {?} */\n    DirectiveAst.prototype.hostEvents;\n    /** @type {?} */\n    DirectiveAst.prototype.sourceSpan;\n}\n/**\n * A provider declared on an element\n */\nexport var ProviderAst = (function () {\n    /**\n     * @param {?} token\n     * @param {?} multiProvider\n     * @param {?} eager\n     * @param {?} providers\n     * @param {?} providerType\n     * @param {?} lifecycleHooks\n     * @param {?} sourceSpan\n     */\n    function ProviderAst(token, multiProvider, eager, providers, providerType, lifecycleHooks, sourceSpan) {\n        this.token = token;\n        this.multiProvider = multiProvider;\n        this.eager = eager;\n        this.providers = providers;\n        this.providerType = providerType;\n        this.lifecycleHooks = lifecycleHooks;\n        this.sourceSpan = sourceSpan;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    ProviderAst.prototype.visit = function (visitor, context) {\n        // No visit method in the visitor for now...\n        return null;\n    };\n    return ProviderAst;\n}());\nfunction ProviderAst_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ProviderAst.prototype.token;\n    /** @type {?} */\n    ProviderAst.prototype.multiProvider;\n    /** @type {?} */\n    ProviderAst.prototype.eager;\n    /** @type {?} */\n    ProviderAst.prototype.providers;\n    /** @type {?} */\n    ProviderAst.prototype.providerType;\n    /** @type {?} */\n    ProviderAst.prototype.lifecycleHooks;\n    /** @type {?} */\n    ProviderAst.prototype.sourceSpan;\n}\nexport var ProviderAstType = {};\nProviderAstType.PublicService = 0;\nProviderAstType.PrivateService = 1;\nProviderAstType.Component = 2;\nProviderAstType.Directive = 3;\nProviderAstType.Builtin = 4;\nProviderAstType[ProviderAstType.PublicService] = \"PublicService\";\nProviderAstType[ProviderAstType.PrivateService] = \"PrivateService\";\nProviderAstType[ProviderAstType.Component] = \"Component\";\nProviderAstType[ProviderAstType.Directive] = \"Directive\";\nProviderAstType[ProviderAstType.Builtin] = \"Builtin\";\n/**\n * Position where content is to be projected (instance of `<ng-content>` in a template).\n */\nexport var NgContentAst = (function () {\n    /**\n     * @param {?} index\n     * @param {?} ngContentIndex\n     * @param {?} sourceSpan\n     */\n    function NgContentAst(index, ngContentIndex, sourceSpan) {\n        this.index = index;\n        this.ngContentIndex = ngContentIndex;\n        this.sourceSpan = sourceSpan;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    NgContentAst.prototype.visit = function (visitor, context) {\n        return visitor.visitNgContent(this, context);\n    };\n    return NgContentAst;\n}());\nfunction NgContentAst_tsickle_Closure_declarations() {\n    /** @type {?} */\n    NgContentAst.prototype.index;\n    /** @type {?} */\n    NgContentAst.prototype.ngContentIndex;\n    /** @type {?} */\n    NgContentAst.prototype.sourceSpan;\n}\nexport var PropertyBindingType = {};\nPropertyBindingType.Property = 0;\nPropertyBindingType.Attribute = 1;\nPropertyBindingType.Class = 2;\nPropertyBindingType.Style = 3;\nPropertyBindingType.Animation = 4;\nPropertyBindingType[PropertyBindingType.Property] = \"Property\";\nPropertyBindingType[PropertyBindingType.Attribute] = \"Attribute\";\nPropertyBindingType[PropertyBindingType.Class] = \"Class\";\nPropertyBindingType[PropertyBindingType.Style] = \"Style\";\nPropertyBindingType[PropertyBindingType.Animation] = \"Animation\";\n/**\n * Visit every node in a list of {\\@link TemplateAst}s with the given {\\@link TemplateAstVisitor}.\n * @param {?} visitor\n * @param {?} asts\n * @param {?=} context\n * @return {?}\n */\nexport function templateVisitAll(visitor, asts, context) {\n    if (context === void 0) { context = null; }\n    var /** @type {?} */ result = [];\n    var /** @type {?} */ visit = visitor.visit ?\n        function (ast) { return visitor.visit(ast, context) || ast.visit(visitor, context); } :\n        function (ast) { return ast.visit(visitor, context); };\n    asts.forEach(function (ast) {\n        var /** @type {?} */ astResult = visit(ast);\n        if (astResult) {\n            result.push(astResult);\n        }\n    });\n    return result;\n}\n//# sourceMappingURL=template_ast.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/template_parser/template_ast.js\n// module id = 73\n// module chunks = 0","/**\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 */\nimport { OpaqueToken } from '@angular/core';\nimport { toPromise } from 'rxjs/operator/toPromise';\nimport { StringMapWrapper } from './facade/collection';\nimport { isPresent } from './facade/lang';\nimport { isPromise } from './private_import_core';\n/**\n * @param {?} value\n * @return {?}\n */\nfunction isEmptyInputValue(value) {\n    // we don't check for string here so it also works with arrays\n    return value == null || value.length === 0;\n}\n/**\n * Providers for validators to be used for {@link FormControl}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 * @stable\n */\nexport var /** @type {?} */ NG_VALIDATORS = new OpaqueToken('NgValidators');\n/**\n * Providers for asynchronous validators to be used for {@link FormControl}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 * @stable\n */\nexport var /** @type {?} */ NG_ASYNC_VALIDATORS = new OpaqueToken('NgAsyncValidators');\n/**\n * Provides a set of validators used by form controls.\n *\n * A validator is a function that processes a {\\@link FormControl} 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 FormControl(\"\", Validators.required)\n * ```\n *\n * \\@stable\n */\nexport var Validators = (function () {\n    function Validators() {\n    }\n    /**\n     * Validator that requires controls to have a non-empty value.\n     * @param {?} control\n     * @return {?}\n     */\n    Validators.required = function (control) {\n        return isEmptyInputValue(control.value) ? { 'required': true } : null;\n    };\n    /**\n     * Validator that requires control value to be true.\n     * @param {?} control\n     * @return {?}\n     */\n    Validators.requiredTrue = function (control) {\n        return control.value === true ? null : { 'required': true };\n    };\n    /**\n     * Validator that requires controls to have a value of a minimum length.\n     * @param {?} minLength\n     * @return {?}\n     */\n    Validators.minLength = function (minLength) {\n        return function (control) {\n            if (isEmptyInputValue(control.value)) {\n                return null; // don't validate empty values to allow optional controls\n            }\n            var /** @type {?} */ length = control.value ? control.value.length : 0;\n            return length < minLength ?\n                { 'minlength': { 'requiredLength': minLength, 'actualLength': length } } :\n                null;\n        };\n    };\n    /**\n     * Validator that requires controls to have a value of a maximum length.\n     * @param {?} maxLength\n     * @return {?}\n     */\n    Validators.maxLength = function (maxLength) {\n        return function (control) {\n            var /** @type {?} */ length = control.value ? control.value.length : 0;\n            return length > maxLength ?\n                { 'maxlength': { 'requiredLength': maxLength, 'actualLength': length } } :\n                null;\n        };\n    };\n    /**\n     * Validator that requires a control to match a regex to its value.\n     * @param {?} pattern\n     * @return {?}\n     */\n    Validators.pattern = function (pattern) {\n        if (!pattern)\n            return Validators.nullValidator;\n        var /** @type {?} */ regex;\n        var /** @type {?} */ regexStr;\n        if (typeof pattern === 'string') {\n            regexStr = \"^\" + pattern + \"$\";\n            regex = new RegExp(regexStr);\n        }\n        else {\n            regexStr = pattern.toString();\n            regex = pattern;\n        }\n        return function (control) {\n            if (isEmptyInputValue(control.value)) {\n                return null; // don't validate empty values to allow optional controls\n            }\n            var /** @type {?} */ value = control.value;\n            return regex.test(value) ? null :\n                { 'pattern': { 'requiredPattern': regexStr, 'actualValue': value } };\n        };\n    };\n    /**\n     * No-op validator.\n     * @param {?} c\n     * @return {?}\n     */\n    Validators.nullValidator = function (c) { return null; };\n    /**\n     * Compose multiple validators into a single function that returns the union\n     * of the individual error maps.\n     * @param {?} validators\n     * @return {?}\n     */\n    Validators.compose = function (validators) {\n        if (!validators)\n            return null;\n        var /** @type {?} */ presentValidators = validators.filter(isPresent);\n        if (presentValidators.length == 0)\n            return null;\n        return function (control) {\n            return _mergeErrors(_executeValidators(control, presentValidators));\n        };\n    };\n    /**\n     * @param {?} validators\n     * @return {?}\n     */\n    Validators.composeAsync = function (validators) {\n        if (!validators)\n            return null;\n        var /** @type {?} */ presentValidators = validators.filter(isPresent);\n        if (presentValidators.length == 0)\n            return null;\n        return function (control) {\n            var /** @type {?} */ promises = _executeAsyncValidators(control, presentValidators).map(_convertToPromise);\n            return Promise.all(promises).then(_mergeErrors);\n        };\n    };\n    return Validators;\n}());\n/**\n * @param {?} obj\n * @return {?}\n */\nfunction _convertToPromise(obj) {\n    return isPromise(obj) ? obj : toPromise.call(obj);\n}\n/**\n * @param {?} control\n * @param {?} validators\n * @return {?}\n */\nfunction _executeValidators(control, validators) {\n    return validators.map(function (v) { return v(control); });\n}\n/**\n * @param {?} control\n * @param {?} validators\n * @return {?}\n */\nfunction _executeAsyncValidators(control, validators) {\n    return validators.map(function (v) { return v(control); });\n}\n/**\n * @param {?} arrayOfErrors\n * @return {?}\n */\nfunction _mergeErrors(arrayOfErrors) {\n    var /** @type {?} */ res = arrayOfErrors.reduce(function (res, errors) {\n        return isPresent(errors) ? StringMapWrapper.merge(res, errors) : res;\n    }, {});\n    return Object.keys(res).length === 0 ? null : res;\n}\n//# sourceMappingURL=validators.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/forms/src/validators.js\n// module id = 74\n// module chunks = 0","/**\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 */\nvar /** @type {?} */ 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    }\n    else {\n        globalScope = (global);\n    }\n}\nelse {\n    globalScope = (window);\n}\n/**\n * @param {?} fn\n * @return {?}\n */\nexport function scheduleMicroTask(fn) {\n    Zone.current.scheduleMicroTask('scheduleMicrotask', fn);\n}\n// Need to declare a new variable for global here since TypeScript\n// exports the original value of the symbol.\nvar /** @type {?} */ _global = globalScope;\nexport { _global as global };\n/**\n * @param {?} type\n * @return {?}\n */\nexport function getTypeNameForDebugging(type) {\n    return type['name'] || typeof type;\n}\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};\n/**\n * @param {?} obj\n * @return {?}\n */\nexport function isPresent(obj) {\n    return obj != null;\n}\n/**\n * @param {?} obj\n * @return {?}\n */\nexport function isBlank(obj) {\n    return obj == null;\n}\nvar /** @type {?} */ STRING_MAP_PROTO = Object.getPrototypeOf({});\n/**\n * @param {?} obj\n * @return {?}\n */\nexport function isStrictStringMap(obj) {\n    return typeof obj === 'object' && obj !== null && Object.getPrototypeOf(obj) === STRING_MAP_PROTO;\n}\n/**\n * @param {?} token\n * @return {?}\n */\nexport function stringify(token) {\n    if (typeof token === 'string') {\n        return token;\n    }\n    if (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 /** @type {?} */ res = token.toString();\n    var /** @type {?} */ newLineIndex = res.indexOf('\\n');\n    return newLineIndex === -1 ? res : res.substring(0, newLineIndex);\n}\nexport var NumberWrapper = (function () {\n    function NumberWrapper() {\n    }\n    /**\n     * @param {?} text\n     * @return {?}\n     */\n    NumberWrapper.parseIntAutoRadix = function (text) {\n        var /** @type {?} */ result = parseInt(text);\n        if (isNaN(result)) {\n            throw new Error('Invalid integer literal when parsing ' + text);\n        }\n        return result;\n    };\n    /**\n     * @param {?} value\n     * @return {?}\n     */\n    NumberWrapper.isNumeric = function (value) { return !isNaN(value - parseFloat(value)); };\n    return NumberWrapper;\n}());\n/**\n * @param {?} a\n * @param {?} b\n * @return {?}\n */\nexport function looseIdentical(a, b) {\n    return a === b || typeof a === 'number' && typeof b === 'number' && isNaN(a) && isNaN(b);\n}\n/**\n * @param {?} o\n * @return {?}\n */\nexport function isJsObject(o) {\n    return o !== null && (typeof o === 'function' || typeof o === 'object');\n}\n/**\n * @param {?} obj\n * @return {?}\n */\nexport function print(obj) {\n    // tslint:disable-next-line:no-console\n    console.log(obj);\n}\n/**\n * @param {?} obj\n * @return {?}\n */\nexport function warn(obj) {\n    console.warn(obj);\n}\n/**\n * @param {?} global\n * @param {?} path\n * @param {?} value\n * @return {?}\n */\nexport function setValueOnPath(global, path, value) {\n    var /** @type {?} */ parts = path.split('.');\n    var /** @type {?} */ obj = global;\n    while (parts.length > 1) {\n        var /** @type {?} */ name_1 = parts.shift();\n        if (obj.hasOwnProperty(name_1) && obj[name_1] != null) {\n            obj = obj[name_1];\n        }\n        else {\n            obj = obj[name_1] = {};\n        }\n    }\n    if (obj === undefined || obj === null) {\n        obj = {};\n    }\n    obj[parts.shift()] = value;\n}\nvar /** @type {?} */ _symbolIterator = null;\n/**\n * @return {?}\n */\nexport function getSymbolIterator() {\n    if (!_symbolIterator) {\n        if (((globalScope)).Symbol && Symbol.iterator) {\n            _symbolIterator = Symbol.iterator;\n        }\n        else {\n            // es6-shim specific logic\n            var /** @type {?} */ keys = Object.getOwnPropertyNames(Map.prototype);\n            for (var /** @type {?} */ i = 0; i < keys.length; ++i) {\n                var /** @type {?} */ key = keys[i];\n                if (key !== 'entries' && key !== 'size' &&\n                    ((Map)).prototype[key] === Map.prototype['entries']) {\n                    _symbolIterator = key;\n                }\n            }\n        }\n    }\n    return _symbolIterator;\n}\n/**\n * @param {?} obj\n * @return {?}\n */\nexport function isPrimitive(obj) {\n    return !isJsObject(obj);\n}\n/**\n * @param {?} s\n * @return {?}\n */\nexport function escapeRegExp(s) {\n    return s.replace(/([.*+?^=!:${}()|[\\]\\/\\\\])/g, '\\\\$1');\n}\n//# sourceMappingURL=lang.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/platform-browser/src/facade/lang.js\n// module id = 75\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n/**\n * @whatItDoes Name of the primary outlet.\n *\n * @stable\n */\nexport var PRIMARY_OUTLET = 'primary';\nexport var NavigationCancelingError = (function (_super) {\n    __extends(NavigationCancelingError, _super);\n    function NavigationCancelingError(message) {\n        _super.call(this, message);\n        this.message = message;\n        this.stack = (new Error(message)).stack;\n    }\n    NavigationCancelingError.prototype.toString = function () { return this.message; };\n    return NavigationCancelingError;\n}(Error));\n//# sourceMappingURL=shared.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/router/src/shared.js\n// module id = 76\n// module chunks = 0","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export')\n  , core    = require('./_core')\n  , fails   = require('./_fails');\nmodule.exports = function(KEY, exec){\n  var fn  = (core.Object || {})[KEY] || Object[KEY]\n    , exp = {};\n  exp[KEY] = exec(fn);\n  $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_object-sap.js\n// module id = 77\n// module chunks = 0","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things.  But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals.  It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n    throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n    throw new Error('clearTimeout has not been defined');\n}\n(function () {\n    try {\n        if (typeof setTimeout === 'function') {\n            cachedSetTimeout = setTimeout;\n        } else {\n            cachedSetTimeout = defaultSetTimout;\n        }\n    } catch (e) {\n        cachedSetTimeout = defaultSetTimout;\n    }\n    try {\n        if (typeof clearTimeout === 'function') {\n            cachedClearTimeout = clearTimeout;\n        } else {\n            cachedClearTimeout = defaultClearTimeout;\n        }\n    } catch (e) {\n        cachedClearTimeout = defaultClearTimeout;\n    }\n} ())\nfunction runTimeout(fun) {\n    if (cachedSetTimeout === setTimeout) {\n        //normal enviroments in sane situations\n        return setTimeout(fun, 0);\n    }\n    // if setTimeout wasn't available but was latter defined\n    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n        cachedSetTimeout = setTimeout;\n        return setTimeout(fun, 0);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedSetTimeout(fun, 0);\n    } catch(e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n            return cachedSetTimeout.call(null, fun, 0);\n        } catch(e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n            return cachedSetTimeout.call(this, fun, 0);\n        }\n    }\n\n\n}\nfunction runClearTimeout(marker) {\n    if (cachedClearTimeout === clearTimeout) {\n        //normal enviroments in sane situations\n        return clearTimeout(marker);\n    }\n    // if clearTimeout wasn't available but was latter defined\n    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n        cachedClearTimeout = clearTimeout;\n        return clearTimeout(marker);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedClearTimeout(marker);\n    } catch (e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally\n            return cachedClearTimeout.call(null, marker);\n        } catch (e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n            // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n            return cachedClearTimeout.call(this, marker);\n        }\n    }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n    if (!draining || !currentQueue) {\n        return;\n    }\n    draining = false;\n    if (currentQueue.length) {\n        queue = currentQueue.concat(queue);\n    } else {\n        queueIndex = -1;\n    }\n    if (queue.length) {\n        drainQueue();\n    }\n}\n\nfunction drainQueue() {\n    if (draining) {\n        return;\n    }\n    var timeout = runTimeout(cleanUpNextTick);\n    draining = true;\n\n    var len = queue.length;\n    while(len) {\n        currentQueue = queue;\n        queue = [];\n        while (++queueIndex < len) {\n            if (currentQueue) {\n                currentQueue[queueIndex].run();\n            }\n        }\n        queueIndex = -1;\n        len = queue.length;\n    }\n    currentQueue = null;\n    draining = false;\n    runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n    var args = new Array(arguments.length - 1);\n    if (arguments.length > 1) {\n        for (var i = 1; i < arguments.length; i++) {\n            args[i - 1] = arguments[i];\n        }\n    }\n    queue.push(new Item(fun, args));\n    if (queue.length === 1 && !draining) {\n        runTimeout(drainQueue);\n    }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n    this.fun = fun;\n    this.array = array;\n}\nItem.prototype.run = function () {\n    this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\n\nprocess.binding = function (name) {\n    throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n    throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/process/browser.js\n// module id = 78\n// module chunks = 0","\"use strict\";\nexports.isArray = Array.isArray || (function (x) { return x && typeof x.length === 'number'; });\n//# sourceMappingURL=isArray.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/util/isArray.js\n// module id = 79\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { AbstractControlDirective } from './abstract_control_directive';\n/**\n * A directive that contains multiple {\\@link NgControl}s.\n *\n * Only used by the forms module.\n *\n * \\@stable\n */\nexport var 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         * @return {?}\n         */\n        get: function () { return null; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(ControlContainer.prototype, \"path\", {\n        /**\n         * Get the path to this container.\n         * @return {?}\n         */\n        get: function () { return null; },\n        enumerable: true,\n        configurable: true\n    });\n    return ControlContainer;\n}(AbstractControlDirective));\nfunction ControlContainer_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ControlContainer.prototype.name;\n}\n//# sourceMappingURL=control_container.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/forms/src/directives/control_container.js\n// module id = 80\n// module chunks = 0","/**\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 */\nimport { Observable } from 'rxjs/Observable';\nimport { fromPromise } from 'rxjs/observable/fromPromise';\nimport { of } from 'rxjs/observable/of';\nimport { concatAll } from 'rxjs/operator/concatAll';\nimport { every } from 'rxjs/operator/every';\nimport * as l from 'rxjs/operator/last';\nimport { map } from 'rxjs/operator/map';\nimport { mergeAll } from 'rxjs/operator/mergeAll';\nimport { PRIMARY_OUTLET } from '../shared';\nexport function shallowEqualArrays(a, b) {\n    if (a.length !== b.length)\n        return false;\n    for (var i = 0; i < a.length; ++i) {\n        if (!shallowEqual(a[i], b[i]))\n            return false;\n    }\n    return true;\n}\nexport function shallowEqual(a, b) {\n    var k1 = Object.keys(a);\n    var k2 = Object.keys(b);\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 (a[key] !== b[key]) {\n            return false;\n        }\n    }\n    return true;\n}\nexport function flatten(a) {\n    var target = [];\n    for (var i = 0; i < a.length; ++i) {\n        for (var j = 0; j < a[i].length; ++j) {\n            target.push(a[i][j]);\n        }\n    }\n    return target;\n}\nexport function first(a) {\n    return a.length > 0 ? a[0] : null;\n}\nexport function last(a) {\n    return a.length > 0 ? a[a.length - 1] : null;\n}\nexport function and(bools) {\n    return bools.reduce(function (a, b) { return a && b; }, true);\n}\nexport function merge(m1, m2) {\n    var m = {};\n    for (var attr in m1) {\n        if (m1.hasOwnProperty(attr)) {\n            m[attr] = m1[attr];\n        }\n    }\n    for (var attr in m2) {\n        if (m2.hasOwnProperty(attr)) {\n            m[attr] = m2[attr];\n        }\n    }\n    return m;\n}\nexport function forEach(map, callback) {\n    for (var prop in map) {\n        if (map.hasOwnProperty(prop)) {\n            callback(map[prop], prop);\n        }\n    }\n}\nexport function waitForMap(obj, fn) {\n    var waitFor = [];\n    var res = {};\n    forEach(obj, function (a, k) {\n        if (k === PRIMARY_OUTLET) {\n            waitFor.push(map.call(fn(k, a), function (_) {\n                res[k] = _;\n                return _;\n            }));\n        }\n    });\n    forEach(obj, function (a, k) {\n        if (k !== PRIMARY_OUTLET) {\n            waitFor.push(map.call(fn(k, a), function (_) {\n                res[k] = _;\n                return _;\n            }));\n        }\n    });\n    if (waitFor.length > 0) {\n        var concatted$ = concatAll.call(of.apply(void 0, waitFor));\n        var last$ = l.last.call(concatted$);\n        return map.call(last$, function () { return res; });\n    }\n    else {\n        return of(res);\n    }\n}\nexport function andObservables(observables) {\n    var merged$ = mergeAll.call(observables);\n    return every.call(merged$, function (result) { return result === true; });\n}\nexport function wrapIntoObservable(value) {\n    if (value instanceof Observable) {\n        return value;\n    }\n    else if (value instanceof Promise) {\n        return fromPromise(value);\n    }\n    else {\n        return of(value);\n    }\n}\n//# sourceMappingURL=collection.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/router/src/utils/collection.js\n// module id = 81\n// module chunks = 0","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx      = require('./_ctx')\n  , IObject  = require('./_iobject')\n  , toObject = require('./_to-object')\n  , toLength = require('./_to-length')\n  , asc      = require('./_array-species-create');\nmodule.exports = function(TYPE, $create){\n  var IS_MAP        = TYPE == 1\n    , IS_FILTER     = TYPE == 2\n    , IS_SOME       = TYPE == 3\n    , IS_EVERY      = TYPE == 4\n    , IS_FIND_INDEX = TYPE == 6\n    , NO_HOLES      = TYPE == 5 || IS_FIND_INDEX\n    , create        = $create || asc;\n  return function($this, callbackfn, that){\n    var O      = toObject($this)\n      , self   = IObject(O)\n      , f      = ctx(callbackfn, that, 3)\n      , length = toLength(self.length)\n      , index  = 0\n      , result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined\n      , val, res;\n    for(;length > index; index++)if(NO_HOLES || index in self){\n      val = self[index];\n      res = f(val, index, O);\n      if(TYPE){\n        if(IS_MAP)result[index] = res;            // map\n        else if(res)switch(TYPE){\n          case 3: return true;                    // some\n          case 5: return val;                     // find\n          case 6: return index;                   // findIndex\n          case 2: result.push(val);               // filter\n        } else if(IS_EVERY)return false;          // every\n      }\n    }\n    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n  };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_array-methods.js\n// module id = 82\n// module chunks = 0","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function(it){\n  if(it == undefined)throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_defined.js\n// module id = 83\n// module chunks = 0","var dP         = require('./_object-dp')\n  , createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function(object, key, value){\n  return dP.f(object, key, createDesc(1, value));\n} : function(object, key, value){\n  object[key] = value;\n  return object;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_hide.js\n// module id = 84\n// module chunks = 0","var Map     = require('./es6.map')\n  , $export = require('./_export')\n  , shared  = require('./_shared')('metadata')\n  , store   = shared.store || (shared.store = new (require('./es6.weak-map')));\n\nvar getOrCreateMetadataMap = function(target, targetKey, create){\n  var targetMetadata = store.get(target);\n  if(!targetMetadata){\n    if(!create)return undefined;\n    store.set(target, targetMetadata = new Map);\n  }\n  var keyMetadata = targetMetadata.get(targetKey);\n  if(!keyMetadata){\n    if(!create)return undefined;\n    targetMetadata.set(targetKey, keyMetadata = new Map);\n  } return keyMetadata;\n};\nvar ordinaryHasOwnMetadata = function(MetadataKey, O, P){\n  var metadataMap = getOrCreateMetadataMap(O, P, false);\n  return metadataMap === undefined ? false : metadataMap.has(MetadataKey);\n};\nvar ordinaryGetOwnMetadata = function(MetadataKey, O, P){\n  var metadataMap = getOrCreateMetadataMap(O, P, false);\n  return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey);\n};\nvar ordinaryDefineOwnMetadata = function(MetadataKey, MetadataValue, O, P){\n  getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue);\n};\nvar ordinaryOwnMetadataKeys = function(target, targetKey){\n  var metadataMap = getOrCreateMetadataMap(target, targetKey, false)\n    , keys        = [];\n  if(metadataMap)metadataMap.forEach(function(_, key){ keys.push(key); });\n  return keys;\n};\nvar toMetaKey = function(it){\n  return it === undefined || typeof it == 'symbol' ? it : String(it);\n};\nvar exp = function(O){\n  $export($export.S, 'Reflect', O);\n};\n\nmodule.exports = {\n  store: store,\n  map: getOrCreateMetadataMap,\n  has: ordinaryHasOwnMetadata,\n  get: ordinaryGetOwnMetadata,\n  set: ordinaryDefineOwnMetadata,\n  keys: ordinaryOwnMetadataKeys,\n  key: toMetaKey,\n  exp: exp\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_metadata.js\n// module id = 85\n// module chunks = 0","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has         = require('./_has')\n  , toObject    = require('./_to-object')\n  , IE_PROTO    = require('./_shared-key')('IE_PROTO')\n  , ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function(O){\n  O = toObject(O);\n  if(has(O, IE_PROTO))return O[IE_PROTO];\n  if(typeof O.constructor == 'function' && O instanceof O.constructor){\n    return O.constructor.prototype;\n  } return O instanceof Object ? ObjectProto : null;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_object-gpo.js\n// module id = 86\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = require('../Observable');\nvar ScalarObservable_1 = require('./ScalarObservable');\nvar EmptyObservable_1 = require('./EmptyObservable');\nvar isScheduler_1 = require('../util/isScheduler');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar ArrayObservable = (function (_super) {\n    __extends(ArrayObservable, _super);\n    function ArrayObservable(array, scheduler) {\n        _super.call(this);\n        this.array = array;\n        this.scheduler = scheduler;\n        if (!scheduler && array.length === 1) {\n            this._isScalar = true;\n            this.value = array[0];\n        }\n    }\n    ArrayObservable.create = function (array, scheduler) {\n        return new ArrayObservable(array, scheduler);\n    };\n    /**\n     * Creates an Observable that emits some values you specify as arguments,\n     * immediately one after the other, and then emits a complete notification.\n     *\n     * <span class=\"informal\">Emits the arguments you provide, then completes.\n     * </span>\n     *\n     * <img src=\"./img/of.png\" width=\"100%\">\n     *\n     * This static operator is useful for creating a simple Observable that only\n     * emits the arguments given, and the complete notification thereafter. It can\n     * be used for composing with other Observables, such as with {@link concat}.\n     * By default, it uses a `null` Scheduler, which means the `next`\n     * notifications are sent synchronously, although with a different Scheduler\n     * it is possible to determine when those notifications will be delivered.\n     *\n     * @example <caption>Emit 10, 20, 30, then 'a', 'b', 'c', then start ticking every second.</caption>\n     * var numbers = Rx.Observable.of(10, 20, 30);\n     * var letters = Rx.Observable.of('a', 'b', 'c');\n     * var interval = Rx.Observable.interval(1000);\n     * var result = numbers.concat(letters).concat(interval);\n     * result.subscribe(x => console.log(x));\n     *\n     * @see {@link create}\n     * @see {@link empty}\n     * @see {@link never}\n     * @see {@link throw}\n     *\n     * @param {...T} values Arguments that represent `next` values to be emitted.\n     * @param {Scheduler} [scheduler] A {@link Scheduler} to use for scheduling\n     * the emissions of the `next` notifications.\n     * @return {Observable<T>} An Observable that emits each given input value.\n     * @static true\n     * @name of\n     * @owner Observable\n     */\n    ArrayObservable.of = function () {\n        var array = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            array[_i - 0] = arguments[_i];\n        }\n        var scheduler = array[array.length - 1];\n        if (isScheduler_1.isScheduler(scheduler)) {\n            array.pop();\n        }\n        else {\n            scheduler = null;\n        }\n        var len = array.length;\n        if (len > 1) {\n            return new ArrayObservable(array, scheduler);\n        }\n        else if (len === 1) {\n            return new ScalarObservable_1.ScalarObservable(array[0], scheduler);\n        }\n        else {\n            return new EmptyObservable_1.EmptyObservable(scheduler);\n        }\n    };\n    ArrayObservable.dispatch = function (state) {\n        var array = state.array, index = state.index, count = state.count, subscriber = state.subscriber;\n        if (index >= count) {\n            subscriber.complete();\n            return;\n        }\n        subscriber.next(array[index]);\n        if (subscriber.closed) {\n            return;\n        }\n        state.index = index + 1;\n        this.schedule(state);\n    };\n    ArrayObservable.prototype._subscribe = function (subscriber) {\n        var index = 0;\n        var array = this.array;\n        var count = array.length;\n        var scheduler = this.scheduler;\n        if (scheduler) {\n            return scheduler.schedule(ArrayObservable.dispatch, 0, {\n                array: array, index: index, count: count, subscriber: subscriber\n            });\n        }\n        else {\n            for (var i = 0; i < count && !subscriber.closed; i++) {\n                subscriber.next(array[i]);\n            }\n            subscriber.complete();\n        }\n    };\n    return ArrayObservable;\n}(Observable_1.Observable));\nexports.ArrayObservable = ArrayObservable;\n//# sourceMappingURL=ArrayObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/ArrayObservable.js\n// module id = 87\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { BaseError } from '../facade/errors';\nimport { stringify } from '../facade/lang';\nexport var InvalidPipeArgumentError = (function (_super) {\n    __extends(InvalidPipeArgumentError, _super);\n    /**\n     * @param {?} type\n     * @param {?} value\n     */\n    function InvalidPipeArgumentError(type, value) {\n        _super.call(this, \"Invalid argument '\" + value + \"' for pipe '\" + stringify(type) + \"'\");\n    }\n    return InvalidPipeArgumentError;\n}(BaseError));\n//# sourceMappingURL=invalid_pipe_argument_error.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/common/src/pipes/invalid_pipe_argument_error.js\n// module id = 88\n// module chunks = 0","/**\n * A token representing the a reference to a static type.\n *\n * This token is unique for a filePath and name and can be used as a hash table key.\n */\nexport var StaticSymbol = (function () {\n    /**\n     * @param {?} filePath\n     * @param {?} name\n     * @param {?=} members\n     */\n    function StaticSymbol(filePath, name, members) {\n        this.filePath = filePath;\n        this.name = name;\n        this.members = members;\n    }\n    return StaticSymbol;\n}());\nfunction StaticSymbol_tsickle_Closure_declarations() {\n    /** @type {?} */\n    StaticSymbol.prototype.filePath;\n    /** @type {?} */\n    StaticSymbol.prototype.name;\n    /** @type {?} */\n    StaticSymbol.prototype.members;\n}\n/**\n * A cache of static symbol used by the StaticReflector to return the same symbol for the\n * same symbol values.\n */\nexport var StaticSymbolCache = (function () {\n    function StaticSymbolCache() {\n        this.cache = new Map();\n    }\n    /**\n     * @param {?} declarationFile\n     * @param {?} name\n     * @param {?=} members\n     * @return {?}\n     */\n    StaticSymbolCache.prototype.get = function (declarationFile, name, members) {\n        members = members || [];\n        var /** @type {?} */ memberSuffix = members.length ? \".\" + members.join('.') : '';\n        var /** @type {?} */ key = \"\\\"\" + declarationFile + \"\\\".\" + name + memberSuffix;\n        var /** @type {?} */ result = this.cache.get(key);\n        if (!result) {\n            result = new StaticSymbol(declarationFile, name, members);\n            this.cache.set(key, result);\n        }\n        return result;\n    };\n    return StaticSymbolCache;\n}());\nfunction StaticSymbolCache_tsickle_Closure_declarations() {\n    /** @type {?} */\n    StaticSymbolCache.prototype.cache;\n}\n//# sourceMappingURL=static_symbol.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/aot/static_symbol.js\n// module id = 89\n// module chunks = 0","/**\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 */\nimport { ViewEncapsulation, isDevMode } from '@angular/core';\nimport { Identifiers, createIdentifier } from './identifiers';\nexport var CompilerConfig = (function () {\n    /**\n     * @param {?=} __0\n     */\n    function CompilerConfig(_a) {\n        var _b = _a === void 0 ? {} : _a, _c = _b.renderTypes, renderTypes = _c === void 0 ? new DefaultRenderTypes() : _c, _d = _b.defaultEncapsulation, defaultEncapsulation = _d === void 0 ? ViewEncapsulation.Emulated : _d, genDebugInfo = _b.genDebugInfo, logBindingUpdate = _b.logBindingUpdate, _e = _b.useJit, useJit = _e === void 0 ? true : _e;\n        this.renderTypes = renderTypes;\n        this.defaultEncapsulation = defaultEncapsulation;\n        this._genDebugInfo = genDebugInfo;\n        this._logBindingUpdate = logBindingUpdate;\n        this.useJit = useJit;\n    }\n    Object.defineProperty(CompilerConfig.prototype, \"genDebugInfo\", {\n        /**\n         * @return {?}\n         */\n        get: function () {\n            return this._genDebugInfo === void 0 ? isDevMode() : this._genDebugInfo;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(CompilerConfig.prototype, \"logBindingUpdate\", {\n        /**\n         * @return {?}\n         */\n        get: function () {\n            return this._logBindingUpdate === void 0 ? isDevMode() : this._logBindingUpdate;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    return CompilerConfig;\n}());\nfunction CompilerConfig_tsickle_Closure_declarations() {\n    /** @type {?} */\n    CompilerConfig.prototype.renderTypes;\n    /** @type {?} */\n    CompilerConfig.prototype.defaultEncapsulation;\n    /** @type {?} */\n    CompilerConfig.prototype._genDebugInfo;\n    /** @type {?} */\n    CompilerConfig.prototype._logBindingUpdate;\n    /** @type {?} */\n    CompilerConfig.prototype.useJit;\n}\n/**\n * Types used for the renderer.\n * Can be replaced to specialize the generated output to a specific renderer\n * to help tree shaking.\n * @abstract\n */\nexport var RenderTypes = (function () {\n    function RenderTypes() {\n    }\n    /**\n     * @abstract\n     * @return {?}\n     */\n    RenderTypes.prototype.renderer = function () { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    RenderTypes.prototype.renderText = function () { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    RenderTypes.prototype.renderElement = function () { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    RenderTypes.prototype.renderComment = function () { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    RenderTypes.prototype.renderNode = function () { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    RenderTypes.prototype.renderEvent = function () { };\n    return RenderTypes;\n}());\nexport var DefaultRenderTypes = (function () {\n    function DefaultRenderTypes() {\n        this.renderText = null;\n        this.renderElement = null;\n        this.renderComment = null;\n        this.renderNode = null;\n        this.renderEvent = null;\n    }\n    Object.defineProperty(DefaultRenderTypes.prototype, \"renderer\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return createIdentifier(Identifiers.Renderer); },\n        enumerable: true,\n        configurable: true\n    });\n    ;\n    return DefaultRenderTypes;\n}());\nfunction DefaultRenderTypes_tsickle_Closure_declarations() {\n    /** @type {?} */\n    DefaultRenderTypes.prototype.renderText;\n    /** @type {?} */\n    DefaultRenderTypes.prototype.renderElement;\n    /** @type {?} */\n    DefaultRenderTypes.prototype.renderComment;\n    /** @type {?} */\n    DefaultRenderTypes.prototype.renderNode;\n    /** @type {?} */\n    DefaultRenderTypes.prototype.renderEvent;\n}\n//# sourceMappingURL=config.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/config.js\n// module id = 90\n// module chunks = 0","/**\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 */\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nimport { identifierModuleUrl, identifierName } from './compile_metadata';\nimport { createCheckBindingField, createCheckBindingStmt } from './compiler_util/binding_util';\nimport { EventHandlerVars, convertActionBinding, convertPropertyBinding } from './compiler_util/expression_converter';\nimport { triggerAnimation, writeToRenderer } from './compiler_util/render_util';\nimport { CompilerConfig } from './config';\nimport { Parser } from './expression_parser/parser';\nimport { Identifiers, createIdentifier } from './identifiers';\nimport { CompilerInjectable } from './injectable';\nimport { DEFAULT_INTERPOLATION_CONFIG } from './ml_parser/interpolation_config';\nimport { createClassStmt } from './output/class_builder';\nimport * as o from './output/output_ast';\nimport { ParseErrorLevel, ParseLocation, ParseSourceFile, ParseSourceSpan } from './parse_util';\nimport { Console, LifecycleHooks } from './private_import_core';\nimport { ElementSchemaRegistry } from './schema/element_schema_registry';\nimport { BindingParser } from './template_parser/binding_parser';\nexport var DirectiveWrapperCompileResult = (function () {\n    /**\n     * @param {?} statements\n     * @param {?} dirWrapperClassVar\n     */\n    function DirectiveWrapperCompileResult(statements, dirWrapperClassVar) {\n        this.statements = statements;\n        this.dirWrapperClassVar = dirWrapperClassVar;\n    }\n    return DirectiveWrapperCompileResult;\n}());\nfunction DirectiveWrapperCompileResult_tsickle_Closure_declarations() {\n    /** @type {?} */\n    DirectiveWrapperCompileResult.prototype.statements;\n    /** @type {?} */\n    DirectiveWrapperCompileResult.prototype.dirWrapperClassVar;\n}\nvar /** @type {?} */ CONTEXT_FIELD_NAME = 'context';\nvar /** @type {?} */ CHANGES_FIELD_NAME = '_changes';\nvar /** @type {?} */ CHANGED_FIELD_NAME = '_changed';\nvar /** @type {?} */ EVENT_HANDLER_FIELD_NAME = '_eventHandler';\nvar /** @type {?} */ CURR_VALUE_VAR = o.variable('currValue');\nvar /** @type {?} */ THROW_ON_CHANGE_VAR = o.variable('throwOnChange');\nvar /** @type {?} */ FORCE_UPDATE_VAR = o.variable('forceUpdate');\nvar /** @type {?} */ VIEW_VAR = o.variable('view');\nvar /** @type {?} */ COMPONENT_VIEW_VAR = o.variable('componentView');\nvar /** @type {?} */ RENDER_EL_VAR = o.variable('el');\nvar /** @type {?} */ EVENT_NAME_VAR = o.variable('eventName');\nvar /** @type {?} */ RESET_CHANGES_STMT = o.THIS_EXPR.prop(CHANGES_FIELD_NAME).set(o.literalMap([])).toStmt();\n/**\n * We generate directive wrappers to prevent code bloat when a directive is used.\n * A directive wrapper encapsulates\n * the dirty checking for `\\@Input`, the handling of `\\@HostListener` / `\\@HostBinding`\n * and calling the lifecyclehooks `ngOnInit`, `ngOnChanges`, `ngDoCheck`.\n *\n * So far, only `\\@Input` and the lifecycle hooks have been implemented.\n */\nexport var DirectiveWrapperCompiler = (function () {\n    /**\n     * @param {?} compilerConfig\n     * @param {?} _exprParser\n     * @param {?} _schemaRegistry\n     * @param {?} _console\n     */\n    function DirectiveWrapperCompiler(compilerConfig, _exprParser, _schemaRegistry, _console) {\n        this.compilerConfig = compilerConfig;\n        this._exprParser = _exprParser;\n        this._schemaRegistry = _schemaRegistry;\n        this._console = _console;\n    }\n    /**\n     * @param {?} id\n     * @return {?}\n     */\n    DirectiveWrapperCompiler.dirWrapperClassName = function (id) {\n        return \"Wrapper_\" + identifierName(id);\n    };\n    /**\n     * @param {?} dirMeta\n     * @return {?}\n     */\n    DirectiveWrapperCompiler.prototype.compile = function (dirMeta) {\n        var /** @type {?} */ hostParseResult = parseHostBindings(dirMeta, this._exprParser, this._schemaRegistry);\n        reportParseErrors(hostParseResult.errors, this._console);\n        var /** @type {?} */ builder = new DirectiveWrapperBuilder(this.compilerConfig, dirMeta);\n        Object.keys(dirMeta.inputs).forEach(function (inputFieldName) {\n            addCheckInputMethod(inputFieldName, builder);\n        });\n        addNgDoCheckMethod(builder);\n        addCheckHostMethod(hostParseResult.hostProps, hostParseResult.hostListeners, builder);\n        addHandleEventMethod(hostParseResult.hostListeners, builder);\n        addSubscribeMethod(dirMeta, builder);\n        var /** @type {?} */ classStmt = builder.build();\n        return new DirectiveWrapperCompileResult([classStmt], classStmt.name);\n    };\n    DirectiveWrapperCompiler = __decorate([\n        CompilerInjectable(), \n        __metadata('design:paramtypes', [CompilerConfig, Parser, ElementSchemaRegistry, Console])\n    ], DirectiveWrapperCompiler);\n    return DirectiveWrapperCompiler;\n}());\nfunction DirectiveWrapperCompiler_tsickle_Closure_declarations() {\n    /** @type {?} */\n    DirectiveWrapperCompiler.prototype.compilerConfig;\n    /** @type {?} */\n    DirectiveWrapperCompiler.prototype._exprParser;\n    /** @type {?} */\n    DirectiveWrapperCompiler.prototype._schemaRegistry;\n    /** @type {?} */\n    DirectiveWrapperCompiler.prototype._console;\n}\nvar DirectiveWrapperBuilder = (function () {\n    /**\n     * @param {?} compilerConfig\n     * @param {?} dirMeta\n     */\n    function DirectiveWrapperBuilder(compilerConfig, dirMeta) {\n        this.compilerConfig = compilerConfig;\n        this.dirMeta = dirMeta;\n        this.fields = [];\n        this.getters = [];\n        this.methods = [];\n        this.ctorStmts = [];\n        this.detachStmts = [];\n        this.destroyStmts = [];\n        var dirLifecycleHooks = dirMeta.type.lifecycleHooks;\n        this.genChanges = dirLifecycleHooks.indexOf(LifecycleHooks.OnChanges) !== -1 ||\n            this.compilerConfig.logBindingUpdate;\n        this.ngOnChanges = dirLifecycleHooks.indexOf(LifecycleHooks.OnChanges) !== -1;\n        this.ngOnInit = dirLifecycleHooks.indexOf(LifecycleHooks.OnInit) !== -1;\n        this.ngDoCheck = dirLifecycleHooks.indexOf(LifecycleHooks.DoCheck) !== -1;\n        this.ngOnDestroy = dirLifecycleHooks.indexOf(LifecycleHooks.OnDestroy) !== -1;\n        if (this.ngOnDestroy) {\n            this.destroyStmts.push(o.THIS_EXPR.prop(CONTEXT_FIELD_NAME).callMethod('ngOnDestroy', []).toStmt());\n        }\n    }\n    /**\n     * @return {?}\n     */\n    DirectiveWrapperBuilder.prototype.build = function () {\n        var /** @type {?} */ dirDepParamNames = [];\n        for (var /** @type {?} */ i = 0; i < this.dirMeta.type.diDeps.length; i++) {\n            dirDepParamNames.push(\"p\" + i);\n        }\n        var /** @type {?} */ methods = [\n            new o.ClassMethod('ngOnDetach', [\n                new o.FnParam(VIEW_VAR.name, o.importType(createIdentifier(Identifiers.AppView), [o.DYNAMIC_TYPE])),\n                new o.FnParam(COMPONENT_VIEW_VAR.name, o.importType(createIdentifier(Identifiers.AppView), [o.DYNAMIC_TYPE])),\n                new o.FnParam(RENDER_EL_VAR.name, o.DYNAMIC_TYPE),\n            ], this.detachStmts),\n            new o.ClassMethod('ngOnDestroy', [], this.destroyStmts),\n        ];\n        var /** @type {?} */ fields = [\n            new o.ClassField(EVENT_HANDLER_FIELD_NAME, o.FUNCTION_TYPE, [o.StmtModifier.Private]),\n            new o.ClassField(CONTEXT_FIELD_NAME, o.importType(this.dirMeta.type)),\n            new o.ClassField(CHANGED_FIELD_NAME, o.BOOL_TYPE, [o.StmtModifier.Private]),\n        ];\n        var /** @type {?} */ ctorStmts = [o.THIS_EXPR.prop(CHANGED_FIELD_NAME).set(o.literal(false)).toStmt()];\n        if (this.genChanges) {\n            fields.push(new o.ClassField(CHANGES_FIELD_NAME, new o.MapType(o.DYNAMIC_TYPE), [o.StmtModifier.Private]));\n            ctorStmts.push(RESET_CHANGES_STMT);\n        }\n        ctorStmts.push(o.THIS_EXPR.prop(CONTEXT_FIELD_NAME)\n            .set(o.importExpr(this.dirMeta.type)\n            .instantiate(dirDepParamNames.map(function (paramName) { return o.variable(paramName); })))\n            .toStmt());\n        return createClassStmt({\n            name: DirectiveWrapperCompiler.dirWrapperClassName(this.dirMeta.type),\n            ctorParams: dirDepParamNames.map(function (paramName) { return new o.FnParam(paramName, o.DYNAMIC_TYPE); }),\n            builders: [{ fields: fields, ctorStmts: ctorStmts, methods: methods }, this]\n        });\n    };\n    return DirectiveWrapperBuilder;\n}());\nfunction DirectiveWrapperBuilder_tsickle_Closure_declarations() {\n    /** @type {?} */\n    DirectiveWrapperBuilder.prototype.fields;\n    /** @type {?} */\n    DirectiveWrapperBuilder.prototype.getters;\n    /** @type {?} */\n    DirectiveWrapperBuilder.prototype.methods;\n    /** @type {?} */\n    DirectiveWrapperBuilder.prototype.ctorStmts;\n    /** @type {?} */\n    DirectiveWrapperBuilder.prototype.detachStmts;\n    /** @type {?} */\n    DirectiveWrapperBuilder.prototype.destroyStmts;\n    /** @type {?} */\n    DirectiveWrapperBuilder.prototype.genChanges;\n    /** @type {?} */\n    DirectiveWrapperBuilder.prototype.ngOnChanges;\n    /** @type {?} */\n    DirectiveWrapperBuilder.prototype.ngOnInit;\n    /** @type {?} */\n    DirectiveWrapperBuilder.prototype.ngDoCheck;\n    /** @type {?} */\n    DirectiveWrapperBuilder.prototype.ngOnDestroy;\n    /** @type {?} */\n    DirectiveWrapperBuilder.prototype.compilerConfig;\n    /** @type {?} */\n    DirectiveWrapperBuilder.prototype.dirMeta;\n}\n/**\n * @param {?} builder\n * @return {?}\n */\nfunction addNgDoCheckMethod(builder) {\n    var /** @type {?} */ changedVar = o.variable('changed');\n    var /** @type {?} */ stmts = [\n        changedVar.set(o.THIS_EXPR.prop(CHANGED_FIELD_NAME)).toDeclStmt(),\n        o.THIS_EXPR.prop(CHANGED_FIELD_NAME).set(o.literal(false)).toStmt(),\n    ];\n    var /** @type {?} */ lifecycleStmts = [];\n    if (builder.genChanges) {\n        var /** @type {?} */ onChangesStmts = [];\n        if (builder.ngOnChanges) {\n            onChangesStmts.push(o.THIS_EXPR.prop(CONTEXT_FIELD_NAME)\n                .callMethod('ngOnChanges', [o.THIS_EXPR.prop(CHANGES_FIELD_NAME)])\n                .toStmt());\n        }\n        if (builder.compilerConfig.logBindingUpdate) {\n            onChangesStmts.push(o.importExpr(createIdentifier(Identifiers.setBindingDebugInfoForChanges))\n                .callFn([VIEW_VAR.prop('renderer'), RENDER_EL_VAR, o.THIS_EXPR.prop(CHANGES_FIELD_NAME)])\n                .toStmt());\n        }\n        onChangesStmts.push(RESET_CHANGES_STMT);\n        lifecycleStmts.push(new o.IfStmt(changedVar, onChangesStmts));\n    }\n    if (builder.ngOnInit) {\n        lifecycleStmts.push(new o.IfStmt(VIEW_VAR.prop('numberOfChecks').identical(new o.LiteralExpr(0)), [o.THIS_EXPR.prop(CONTEXT_FIELD_NAME).callMethod('ngOnInit', []).toStmt()]));\n    }\n    if (builder.ngDoCheck) {\n        lifecycleStmts.push(o.THIS_EXPR.prop(CONTEXT_FIELD_NAME).callMethod('ngDoCheck', []).toStmt());\n    }\n    if (lifecycleStmts.length > 0) {\n        stmts.push(new o.IfStmt(o.not(THROW_ON_CHANGE_VAR), lifecycleStmts));\n    }\n    stmts.push(new o.ReturnStatement(changedVar));\n    builder.methods.push(new o.ClassMethod('ngDoCheck', [\n        new o.FnParam(VIEW_VAR.name, o.importType(createIdentifier(Identifiers.AppView), [o.DYNAMIC_TYPE])),\n        new o.FnParam(RENDER_EL_VAR.name, o.DYNAMIC_TYPE),\n        new o.FnParam(THROW_ON_CHANGE_VAR.name, o.BOOL_TYPE),\n    ], stmts, o.BOOL_TYPE));\n}\n/**\n * @param {?} input\n * @param {?} builder\n * @return {?}\n */\nfunction addCheckInputMethod(input, builder) {\n    var /** @type {?} */ field = createCheckBindingField(builder);\n    var /** @type {?} */ onChangeStatements = [\n        o.THIS_EXPR.prop(CHANGED_FIELD_NAME).set(o.literal(true)).toStmt(),\n        o.THIS_EXPR.prop(CONTEXT_FIELD_NAME).prop(input).set(CURR_VALUE_VAR).toStmt(),\n    ];\n    if (builder.genChanges) {\n        onChangeStatements.push(o.THIS_EXPR.prop(CHANGES_FIELD_NAME)\n            .key(o.literal(input))\n            .set(o.importExpr(createIdentifier(Identifiers.SimpleChange))\n            .instantiate([field.expression, CURR_VALUE_VAR]))\n            .toStmt());\n    }\n    var /** @type {?} */ methodBody = createCheckBindingStmt({ currValExpr: CURR_VALUE_VAR, forceUpdate: FORCE_UPDATE_VAR, stmts: [] }, field.expression, THROW_ON_CHANGE_VAR, onChangeStatements);\n    builder.methods.push(new o.ClassMethod(\"check_\" + input, [\n        new o.FnParam(CURR_VALUE_VAR.name, o.DYNAMIC_TYPE),\n        new o.FnParam(THROW_ON_CHANGE_VAR.name, o.BOOL_TYPE),\n        new o.FnParam(FORCE_UPDATE_VAR.name, o.BOOL_TYPE),\n    ], methodBody));\n}\n/**\n * @param {?} hostProps\n * @param {?} hostEvents\n * @param {?} builder\n * @return {?}\n */\nfunction addCheckHostMethod(hostProps, hostEvents, builder) {\n    var /** @type {?} */ stmts = [];\n    var /** @type {?} */ methodParams = [\n        new o.FnParam(VIEW_VAR.name, o.importType(createIdentifier(Identifiers.AppView), [o.DYNAMIC_TYPE])),\n        new o.FnParam(COMPONENT_VIEW_VAR.name, o.importType(createIdentifier(Identifiers.AppView), [o.DYNAMIC_TYPE])),\n        new o.FnParam(RENDER_EL_VAR.name, o.DYNAMIC_TYPE),\n        new o.FnParam(THROW_ON_CHANGE_VAR.name, o.BOOL_TYPE),\n    ];\n    hostProps.forEach(function (hostProp, hostPropIdx) {\n        var /** @type {?} */ field = createCheckBindingField(builder);\n        var /** @type {?} */ evalResult = convertPropertyBinding(builder, null, o.THIS_EXPR.prop(CONTEXT_FIELD_NAME), hostProp.value, field.bindingId);\n        if (!evalResult) {\n            return;\n        }\n        var /** @type {?} */ securityContextExpr;\n        if (hostProp.needsRuntimeSecurityContext) {\n            securityContextExpr = o.variable(\"secCtx_\" + methodParams.length);\n            methodParams.push(new o.FnParam(securityContextExpr.name, o.importType(createIdentifier(Identifiers.SecurityContext))));\n        }\n        var /** @type {?} */ checkBindingStmts;\n        if (hostProp.isAnimation) {\n            var _a = triggerAnimation(VIEW_VAR, COMPONENT_VIEW_VAR, hostProp, hostEvents, o.THIS_EXPR.prop(EVENT_HANDLER_FIELD_NAME)\n                .or(o.importExpr(createIdentifier(Identifiers.noop))), RENDER_EL_VAR, evalResult.currValExpr, field.expression), updateStmts = _a.updateStmts, detachStmts = _a.detachStmts;\n            checkBindingStmts = updateStmts;\n            (_b = builder.detachStmts).push.apply(_b, detachStmts);\n        }\n        else {\n            checkBindingStmts = writeToRenderer(VIEW_VAR, hostProp, RENDER_EL_VAR, evalResult.currValExpr, builder.compilerConfig.logBindingUpdate, securityContextExpr);\n        }\n        stmts.push.apply(stmts, createCheckBindingStmt(evalResult, field.expression, THROW_ON_CHANGE_VAR, checkBindingStmts));\n        var _b;\n    });\n    builder.methods.push(new o.ClassMethod('checkHost', methodParams, stmts));\n}\n/**\n * @param {?} hostListeners\n * @param {?} builder\n * @return {?}\n */\nfunction addHandleEventMethod(hostListeners, builder) {\n    var /** @type {?} */ resultVar = o.variable(\"result\");\n    var /** @type {?} */ actionStmts = [resultVar.set(o.literal(true)).toDeclStmt(o.BOOL_TYPE)];\n    hostListeners.forEach(function (hostListener, eventIdx) {\n        var /** @type {?} */ evalResult = convertActionBinding(builder, null, o.THIS_EXPR.prop(CONTEXT_FIELD_NAME), hostListener.handler, \"sub_\" + eventIdx);\n        var /** @type {?} */ trueStmts = evalResult.stmts;\n        if (evalResult.preventDefault) {\n            trueStmts.push(resultVar.set(evalResult.preventDefault.and(resultVar)).toStmt());\n        }\n        // TODO(tbosch): convert this into a `switch` once our OutputAst supports it.\n        actionStmts.push(new o.IfStmt(EVENT_NAME_VAR.equals(o.literal(hostListener.fullName)), trueStmts));\n    });\n    actionStmts.push(new o.ReturnStatement(resultVar));\n    builder.methods.push(new o.ClassMethod('handleEvent', [\n        new o.FnParam(EVENT_NAME_VAR.name, o.STRING_TYPE),\n        new o.FnParam(EventHandlerVars.event.name, o.DYNAMIC_TYPE)\n    ], actionStmts, o.BOOL_TYPE));\n}\n/**\n * @param {?} dirMeta\n * @param {?} builder\n * @return {?}\n */\nfunction addSubscribeMethod(dirMeta, builder) {\n    var /** @type {?} */ methodParams = [\n        new o.FnParam(VIEW_VAR.name, o.importType(createIdentifier(Identifiers.AppView), [o.DYNAMIC_TYPE])),\n        new o.FnParam(EVENT_HANDLER_FIELD_NAME, o.DYNAMIC_TYPE)\n    ];\n    var /** @type {?} */ stmts = [\n        o.THIS_EXPR.prop(EVENT_HANDLER_FIELD_NAME).set(o.variable(EVENT_HANDLER_FIELD_NAME)).toStmt()\n    ];\n    Object.keys(dirMeta.outputs).forEach(function (emitterPropName, emitterIdx) {\n        var /** @type {?} */ eventName = dirMeta.outputs[emitterPropName];\n        var /** @type {?} */ paramName = \"emit\" + emitterIdx;\n        methodParams.push(new o.FnParam(paramName, o.BOOL_TYPE));\n        var /** @type {?} */ subscriptionFieldName = \"subscription\" + emitterIdx;\n        builder.fields.push(new o.ClassField(subscriptionFieldName, o.DYNAMIC_TYPE));\n        stmts.push(new o.IfStmt(o.variable(paramName), [\n            o.THIS_EXPR.prop(subscriptionFieldName)\n                .set(o.THIS_EXPR.prop(CONTEXT_FIELD_NAME)\n                .prop(emitterPropName)\n                .callMethod(o.BuiltinMethod.SubscribeObservable, [o.variable(EVENT_HANDLER_FIELD_NAME)\n                    .callMethod(o.BuiltinMethod.Bind, [VIEW_VAR, o.literal(eventName)])]))\n                .toStmt()\n        ]));\n        builder.destroyStmts.push(o.THIS_EXPR.prop(subscriptionFieldName)\n            .and(o.THIS_EXPR.prop(subscriptionFieldName).callMethod('unsubscribe', []))\n            .toStmt());\n    });\n    builder.methods.push(new o.ClassMethod('subscribe', methodParams, stmts));\n}\nvar ParseResult = (function () {\n    /**\n     * @param {?} hostProps\n     * @param {?} hostListeners\n     * @param {?} errors\n     */\n    function ParseResult(hostProps, hostListeners, errors) {\n        this.hostProps = hostProps;\n        this.hostListeners = hostListeners;\n        this.errors = errors;\n    }\n    return ParseResult;\n}());\nfunction ParseResult_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ParseResult.prototype.hostProps;\n    /** @type {?} */\n    ParseResult.prototype.hostListeners;\n    /** @type {?} */\n    ParseResult.prototype.errors;\n}\n/**\n * @param {?} dirMeta\n * @param {?} exprParser\n * @param {?} schemaRegistry\n * @return {?}\n */\nfunction parseHostBindings(dirMeta, exprParser, schemaRegistry) {\n    var /** @type {?} */ errors = [];\n    var /** @type {?} */ parser = new BindingParser(exprParser, DEFAULT_INTERPOLATION_CONFIG, schemaRegistry, [], errors);\n    var /** @type {?} */ moduleUrl = identifierModuleUrl(dirMeta.type);\n    var /** @type {?} */ sourceFileName = moduleUrl ?\n        \"in Directive \" + identifierName(dirMeta.type) + \" in \" + moduleUrl :\n        \"in Directive \" + identifierName(dirMeta.type);\n    var /** @type {?} */ sourceFile = new ParseSourceFile('', sourceFileName);\n    var /** @type {?} */ sourceSpan = new ParseSourceSpan(new ParseLocation(sourceFile, null, null, null), new ParseLocation(sourceFile, null, null, null));\n    var /** @type {?} */ parsedHostProps = parser.createDirectiveHostPropertyAsts(dirMeta.toSummary(), sourceSpan);\n    var /** @type {?} */ parsedHostListeners = parser.createDirectiveHostEventAsts(dirMeta.toSummary(), sourceSpan);\n    return new ParseResult(parsedHostProps, parsedHostListeners, errors);\n}\n/**\n * @param {?} parseErrors\n * @param {?} console\n * @return {?}\n */\nfunction reportParseErrors(parseErrors, console) {\n    var /** @type {?} */ warnings = parseErrors.filter(function (error) { return error.level === ParseErrorLevel.WARNING; });\n    var /** @type {?} */ errors = parseErrors.filter(function (error) { return error.level === ParseErrorLevel.FATAL; });\n    if (warnings.length > 0) {\n        this._console.warn(\"Directive parse warnings:\\n\" + warnings.join('\\n'));\n    }\n    if (errors.length > 0) {\n        throw new Error(\"Directive parse errors:\\n\" + errors.join('\\n'));\n    }\n}\nexport var DirectiveWrapperExpressions = (function () {\n    function DirectiveWrapperExpressions() {\n    }\n    /**\n     * @param {?} dir\n     * @param {?} depsExpr\n     * @return {?}\n     */\n    DirectiveWrapperExpressions.create = function (dir, depsExpr) {\n        return o.importExpr(dir).instantiate(depsExpr, o.importType(dir));\n    };\n    /**\n     * @param {?} dirWrapper\n     * @return {?}\n     */\n    DirectiveWrapperExpressions.context = function (dirWrapper) {\n        return dirWrapper.prop(CONTEXT_FIELD_NAME);\n    };\n    /**\n     * @param {?} dirWrapper\n     * @param {?} view\n     * @param {?} renderElement\n     * @param {?} throwOnChange\n     * @return {?}\n     */\n    DirectiveWrapperExpressions.ngDoCheck = function (dirWrapper, view, renderElement, throwOnChange) {\n        return dirWrapper.callMethod('ngDoCheck', [view, renderElement, throwOnChange]);\n    };\n    /**\n     * @param {?} hostProps\n     * @param {?} dirWrapper\n     * @param {?} view\n     * @param {?} componentView\n     * @param {?} renderElement\n     * @param {?} throwOnChange\n     * @param {?} runtimeSecurityContexts\n     * @return {?}\n     */\n    DirectiveWrapperExpressions.checkHost = function (hostProps, dirWrapper, view, componentView, renderElement, throwOnChange, runtimeSecurityContexts) {\n        if (hostProps.length) {\n            return [dirWrapper\n                    .callMethod('checkHost', [view, componentView, renderElement, throwOnChange].concat(runtimeSecurityContexts))\n                    .toStmt()];\n        }\n        else {\n            return [];\n        }\n    };\n    /**\n     * @param {?} hostProps\n     * @param {?} dirWrapper\n     * @param {?} view\n     * @param {?} componentView\n     * @param {?} renderEl\n     * @return {?}\n     */\n    DirectiveWrapperExpressions.ngOnDetach = function (hostProps, dirWrapper, view, componentView, renderEl) {\n        if (hostProps.some(function (prop) { return prop.isAnimation; })) {\n            return [dirWrapper\n                    .callMethod('ngOnDetach', [\n                    view,\n                    componentView,\n                    renderEl,\n                ])\n                    .toStmt()];\n        }\n        else {\n            return [];\n        }\n    };\n    /**\n     * @param {?} dir\n     * @param {?} dirWrapper\n     * @return {?}\n     */\n    DirectiveWrapperExpressions.ngOnDestroy = function (dir, dirWrapper) {\n        if (dir.type.lifecycleHooks.indexOf(LifecycleHooks.OnDestroy) !== -1 ||\n            Object.keys(dir.outputs).length > 0) {\n            return [dirWrapper.callMethod('ngOnDestroy', []).toStmt()];\n        }\n        else {\n            return [];\n        }\n    };\n    /**\n     * @param {?} dirMeta\n     * @param {?} hostProps\n     * @param {?} usedEvents\n     * @param {?} dirWrapper\n     * @param {?} view\n     * @param {?} eventListener\n     * @return {?}\n     */\n    DirectiveWrapperExpressions.subscribe = function (dirMeta, hostProps, usedEvents, dirWrapper, view, eventListener) {\n        var /** @type {?} */ needsSubscribe = false;\n        var /** @type {?} */ eventFlags = [];\n        Object.keys(dirMeta.outputs).forEach(function (propName) {\n            var /** @type {?} */ eventName = dirMeta.outputs[propName];\n            var /** @type {?} */ eventUsed = usedEvents.indexOf(eventName) > -1;\n            needsSubscribe = needsSubscribe || eventUsed;\n            eventFlags.push(o.literal(eventUsed));\n        });\n        hostProps.forEach(function (hostProp) {\n            if (hostProp.isAnimation && usedEvents.length > 0) {\n                needsSubscribe = true;\n            }\n        });\n        if (needsSubscribe) {\n            return [\n                dirWrapper.callMethod('subscribe', [view, eventListener].concat(eventFlags)).toStmt()\n            ];\n        }\n        else {\n            return [];\n        }\n    };\n    /**\n     * @param {?} hostEvents\n     * @param {?} dirWrapper\n     * @param {?} eventName\n     * @param {?} event\n     * @return {?}\n     */\n    DirectiveWrapperExpressions.handleEvent = function (hostEvents, dirWrapper, eventName, event) {\n        return dirWrapper.callMethod('handleEvent', [eventName, event]);\n    };\n    return DirectiveWrapperExpressions;\n}());\n//# sourceMappingURL=directive_wrapper_compiler.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/directive_wrapper_compiler.js\n// module id = 91\n// module chunks = 0","/**\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 */\nexport var Text = (function () {\n    /**\n     * @param {?} value\n     * @param {?} sourceSpan\n     */\n    function Text(value, sourceSpan) {\n        this.value = value;\n        this.sourceSpan = sourceSpan;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    Text.prototype.visit = function (visitor, context) { return visitor.visitText(this, context); };\n    return Text;\n}());\nfunction Text_tsickle_Closure_declarations() {\n    /** @type {?} */\n    Text.prototype.value;\n    /** @type {?} */\n    Text.prototype.sourceSpan;\n}\nexport var Expansion = (function () {\n    /**\n     * @param {?} switchValue\n     * @param {?} type\n     * @param {?} cases\n     * @param {?} sourceSpan\n     * @param {?} switchValueSourceSpan\n     */\n    function Expansion(switchValue, type, cases, sourceSpan, switchValueSourceSpan) {\n        this.switchValue = switchValue;\n        this.type = type;\n        this.cases = cases;\n        this.sourceSpan = sourceSpan;\n        this.switchValueSourceSpan = switchValueSourceSpan;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    Expansion.prototype.visit = function (visitor, context) { return visitor.visitExpansion(this, context); };\n    return Expansion;\n}());\nfunction Expansion_tsickle_Closure_declarations() {\n    /** @type {?} */\n    Expansion.prototype.switchValue;\n    /** @type {?} */\n    Expansion.prototype.type;\n    /** @type {?} */\n    Expansion.prototype.cases;\n    /** @type {?} */\n    Expansion.prototype.sourceSpan;\n    /** @type {?} */\n    Expansion.prototype.switchValueSourceSpan;\n}\nexport var ExpansionCase = (function () {\n    /**\n     * @param {?} value\n     * @param {?} expression\n     * @param {?} sourceSpan\n     * @param {?} valueSourceSpan\n     * @param {?} expSourceSpan\n     */\n    function ExpansionCase(value, expression, sourceSpan, valueSourceSpan, expSourceSpan) {\n        this.value = value;\n        this.expression = expression;\n        this.sourceSpan = sourceSpan;\n        this.valueSourceSpan = valueSourceSpan;\n        this.expSourceSpan = expSourceSpan;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    ExpansionCase.prototype.visit = function (visitor, context) { return visitor.visitExpansionCase(this, context); };\n    return ExpansionCase;\n}());\nfunction ExpansionCase_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ExpansionCase.prototype.value;\n    /** @type {?} */\n    ExpansionCase.prototype.expression;\n    /** @type {?} */\n    ExpansionCase.prototype.sourceSpan;\n    /** @type {?} */\n    ExpansionCase.prototype.valueSourceSpan;\n    /** @type {?} */\n    ExpansionCase.prototype.expSourceSpan;\n}\nexport var Attribute = (function () {\n    /**\n     * @param {?} name\n     * @param {?} value\n     * @param {?} sourceSpan\n     * @param {?=} valueSpan\n     */\n    function Attribute(name, value, sourceSpan, valueSpan) {\n        this.name = name;\n        this.value = value;\n        this.sourceSpan = sourceSpan;\n        this.valueSpan = valueSpan;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    Attribute.prototype.visit = function (visitor, context) { return visitor.visitAttribute(this, context); };\n    return Attribute;\n}());\nfunction Attribute_tsickle_Closure_declarations() {\n    /** @type {?} */\n    Attribute.prototype.name;\n    /** @type {?} */\n    Attribute.prototype.value;\n    /** @type {?} */\n    Attribute.prototype.sourceSpan;\n    /** @type {?} */\n    Attribute.prototype.valueSpan;\n}\nexport var Element = (function () {\n    /**\n     * @param {?} name\n     * @param {?} attrs\n     * @param {?} children\n     * @param {?} sourceSpan\n     * @param {?} startSourceSpan\n     * @param {?} endSourceSpan\n     */\n    function Element(name, attrs, children, sourceSpan, startSourceSpan, endSourceSpan) {\n        this.name = name;\n        this.attrs = attrs;\n        this.children = children;\n        this.sourceSpan = sourceSpan;\n        this.startSourceSpan = startSourceSpan;\n        this.endSourceSpan = endSourceSpan;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    Element.prototype.visit = function (visitor, context) { return visitor.visitElement(this, context); };\n    return Element;\n}());\nfunction Element_tsickle_Closure_declarations() {\n    /** @type {?} */\n    Element.prototype.name;\n    /** @type {?} */\n    Element.prototype.attrs;\n    /** @type {?} */\n    Element.prototype.children;\n    /** @type {?} */\n    Element.prototype.sourceSpan;\n    /** @type {?} */\n    Element.prototype.startSourceSpan;\n    /** @type {?} */\n    Element.prototype.endSourceSpan;\n}\nexport var Comment = (function () {\n    /**\n     * @param {?} value\n     * @param {?} sourceSpan\n     */\n    function Comment(value, sourceSpan) {\n        this.value = value;\n        this.sourceSpan = sourceSpan;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    Comment.prototype.visit = function (visitor, context) { return visitor.visitComment(this, context); };\n    return Comment;\n}());\nfunction Comment_tsickle_Closure_declarations() {\n    /** @type {?} */\n    Comment.prototype.value;\n    /** @type {?} */\n    Comment.prototype.sourceSpan;\n}\n/**\n * @param {?} visitor\n * @param {?} nodes\n * @param {?=} context\n * @return {?}\n */\nexport function visitAll(visitor, nodes, context) {\n    if (context === void 0) { context = null; }\n    var /** @type {?} */ result = [];\n    var /** @type {?} */ visit = visitor.visit ?\n        function (ast) { return visitor.visit(ast, context) || ast.visit(visitor, context); } :\n        function (ast) { return ast.visit(visitor, context); };\n    nodes.forEach(function (ast) {\n        var /** @type {?} */ astResult = visit(ast);\n        if (astResult) {\n            result.push(astResult);\n        }\n    });\n    return result;\n}\n//# sourceMappingURL=ast.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/ml_parser/ast.js\n// module id = 92\n// module chunks = 0","/**\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/**\n * @abstract\n */\nexport var ElementSchemaRegistry = (function () {\n    function ElementSchemaRegistry() {\n    }\n    /**\n     * @abstract\n     * @param {?} tagName\n     * @param {?} propName\n     * @param {?} schemaMetas\n     * @return {?}\n     */\n    ElementSchemaRegistry.prototype.hasProperty = function (tagName, propName, schemaMetas) { };\n    /**\n     * @abstract\n     * @param {?} tagName\n     * @param {?} schemaMetas\n     * @return {?}\n     */\n    ElementSchemaRegistry.prototype.hasElement = function (tagName, schemaMetas) { };\n    /**\n     * @abstract\n     * @param {?} elementName\n     * @param {?} propName\n     * @param {?} isAttribute\n     * @return {?}\n     */\n    ElementSchemaRegistry.prototype.securityContext = function (elementName, propName, isAttribute) { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    ElementSchemaRegistry.prototype.allKnownElementNames = function () { };\n    /**\n     * @abstract\n     * @param {?} propName\n     * @return {?}\n     */\n    ElementSchemaRegistry.prototype.getMappedPropName = function (propName) { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    ElementSchemaRegistry.prototype.getDefaultComponentElementName = function () { };\n    /**\n     * @abstract\n     * @param {?} name\n     * @return {?}\n     */\n    ElementSchemaRegistry.prototype.validateProperty = function (name) { };\n    /**\n     * @abstract\n     * @param {?} name\n     * @return {?}\n     */\n    ElementSchemaRegistry.prototype.validateAttribute = function (name) { };\n    /**\n     * @abstract\n     * @param {?} propName\n     * @return {?}\n     */\n    ElementSchemaRegistry.prototype.normalizeAnimationStyleProperty = function (propName) { };\n    /**\n     * @abstract\n     * @param {?} camelCaseProp\n     * @param {?} userProvidedProp\n     * @param {?} val\n     * @return {?}\n     */\n    ElementSchemaRegistry.prototype.normalizeAnimationStyleValue = function (camelCaseProp, userProvidedProp, val) { };\n    return ElementSchemaRegistry;\n}());\n//# sourceMappingURL=element_schema_registry.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/schema/element_schema_registry.js\n// module id = 93\n// module chunks = 0","/**\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 */\nimport { isBlank, isPresent, looseIdentical } from '../facade/lang';\nimport { Validators } from '../validators';\nimport { CheckboxControlValueAccessor } from './checkbox_value_accessor';\nimport { DefaultValueAccessor } from './default_value_accessor';\nimport { normalizeAsyncValidator, normalizeValidator } from './normalize_validator';\nimport { NumberValueAccessor } from './number_value_accessor';\nimport { RadioControlValueAccessor } from './radio_control_value_accessor';\nimport { RangeValueAccessor } from './range_value_accessor';\nimport { SelectControlValueAccessor } from './select_control_value_accessor';\nimport { SelectMultipleControlValueAccessor } from './select_multiple_control_value_accessor';\n/**\n * @param {?} name\n * @param {?} parent\n * @return {?}\n */\nexport function controlPath(name, parent) {\n    return parent.path.concat([name]);\n}\n/**\n * @param {?} control\n * @param {?} dir\n * @return {?}\n */\nexport function setUpControl(control, dir) {\n    if (!control)\n        _throwError(dir, 'Cannot find control with');\n    if (!dir.valueAccessor)\n        _throwError(dir, 'No value accessor for form control with');\n    control.validator = Validators.compose([control.validator, dir.validator]);\n    control.asyncValidator = 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.markAsDirty();\n        control.setValue(newValue, { emitModelToViewChange: false });\n    });\n    // touched\n    dir.valueAccessor.registerOnTouched(function () { return control.markAsTouched(); });\n    control.registerOnChange(function (newValue, emitModelEvent) {\n        // control -> view\n        dir.valueAccessor.writeValue(newValue);\n        // control -> ngModel\n        if (emitModelEvent)\n            dir.viewToModelUpdate(newValue);\n    });\n    if (dir.valueAccessor.setDisabledState) {\n        control.registerOnDisabledChange(function (isDisabled) { dir.valueAccessor.setDisabledState(isDisabled); });\n    }\n    // re-run validation when validator binding changes, e.g. minlength=3 -> minlength=4\n    dir._rawValidators.forEach(function (validator) {\n        if (((validator)).registerOnValidatorChange)\n            ((validator)).registerOnValidatorChange(function () { return control.updateValueAndValidity(); });\n    });\n    dir._rawAsyncValidators.forEach(function (validator) {\n        if (((validator)).registerOnValidatorChange)\n            ((validator)).registerOnValidatorChange(function () { return control.updateValueAndValidity(); });\n    });\n}\n/**\n * @param {?} control\n * @param {?} dir\n * @return {?}\n */\nexport function cleanUpControl(control, dir) {\n    dir.valueAccessor.registerOnChange(function () { return _noControlError(dir); });\n    dir.valueAccessor.registerOnTouched(function () { return _noControlError(dir); });\n    dir._rawValidators.forEach(function (validator) {\n        if (validator.registerOnValidatorChange) {\n            validator.registerOnValidatorChange(null);\n        }\n    });\n    dir._rawAsyncValidators.forEach(function (validator) {\n        if (validator.registerOnValidatorChange) {\n            validator.registerOnValidatorChange(null);\n        }\n    });\n    if (control)\n        control._clearChangeFns();\n}\n/**\n * @param {?} control\n * @param {?} dir\n * @return {?}\n */\nexport function setUpFormContainer(control, dir) {\n    if (isBlank(control))\n        _throwError(dir, 'Cannot find control with');\n    control.validator = Validators.compose([control.validator, dir.validator]);\n    control.asyncValidator = Validators.composeAsync([control.asyncValidator, dir.asyncValidator]);\n}\n/**\n * @param {?} dir\n * @return {?}\n */\nfunction _noControlError(dir) {\n    return _throwError(dir, 'There is no FormControl instance attached to form control element with');\n}\n/**\n * @param {?} dir\n * @param {?} message\n * @return {?}\n */\nfunction _throwError(dir, message) {\n    var /** @type {?} */ messageEnd;\n    if (dir.path.length > 1) {\n        messageEnd = \"path: '\" + dir.path.join(' -> ') + \"'\";\n    }\n    else if (dir.path[0]) {\n        messageEnd = \"name: '\" + dir.path + \"'\";\n    }\n    else {\n        messageEnd = 'unspecified name attribute';\n    }\n    throw new Error(message + \" \" + messageEnd);\n}\n/**\n * @param {?} validators\n * @return {?}\n */\nexport function composeValidators(validators) {\n    return isPresent(validators) ? Validators.compose(validators.map(normalizeValidator)) : null;\n}\n/**\n * @param {?} validators\n * @return {?}\n */\nexport function composeAsyncValidators(validators) {\n    return isPresent(validators) ? Validators.composeAsync(validators.map(normalizeAsyncValidator)) :\n        null;\n}\n/**\n * @param {?} changes\n * @param {?} viewModel\n * @return {?}\n */\nexport function isPropertyUpdated(changes, viewModel) {\n    if (!changes.hasOwnProperty('model'))\n        return false;\n    var /** @type {?} */ change = changes['model'];\n    if (change.isFirstChange())\n        return true;\n    return !looseIdentical(viewModel, change.currentValue);\n}\nvar /** @type {?} */ BUILTIN_ACCESSORS = [\n    CheckboxControlValueAccessor,\n    RangeValueAccessor,\n    NumberValueAccessor,\n    SelectControlValueAccessor,\n    SelectMultipleControlValueAccessor,\n    RadioControlValueAccessor,\n];\n/**\n * @param {?} valueAccessor\n * @return {?}\n */\nexport function isBuiltInAccessor(valueAccessor) {\n    return BUILTIN_ACCESSORS.some(function (a) { return valueAccessor.constructor === a; });\n}\n/**\n * @param {?} dir\n * @param {?} valueAccessors\n * @return {?}\n */\nexport function selectValueAccessor(dir, valueAccessors) {\n    if (!valueAccessors)\n        return null;\n    var /** @type {?} */ defaultAccessor;\n    var /** @type {?} */ builtinAccessor;\n    var /** @type {?} */ customAccessor;\n    valueAccessors.forEach(function (v) {\n        if (v.constructor === DefaultValueAccessor) {\n            defaultAccessor = v;\n        }\n        else if (isBuiltInAccessor(v)) {\n            if (builtinAccessor)\n                _throwError(dir, 'More than one built-in value accessor matches form control with');\n            builtinAccessor = v;\n        }\n        else {\n            if (customAccessor)\n                _throwError(dir, 'More than one custom value accessor matches form control with');\n            customAccessor = v;\n        }\n    });\n    if (customAccessor)\n        return customAccessor;\n    if (builtinAccessor)\n        return builtinAccessor;\n    if (defaultAccessor)\n        return defaultAccessor;\n    _throwError(dir, 'No valid value accessor for form control with');\n    return null;\n}\n//# sourceMappingURL=shared.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/forms/src/directives/shared.js\n// module id = 94\n// module chunks = 0","export var RequestMethod = {};\nRequestMethod.Get = 0;\nRequestMethod.Post = 1;\nRequestMethod.Put = 2;\nRequestMethod.Delete = 3;\nRequestMethod.Options = 4;\nRequestMethod.Head = 5;\nRequestMethod.Patch = 6;\nRequestMethod[RequestMethod.Get] = \"Get\";\nRequestMethod[RequestMethod.Post] = \"Post\";\nRequestMethod[RequestMethod.Put] = \"Put\";\nRequestMethod[RequestMethod.Delete] = \"Delete\";\nRequestMethod[RequestMethod.Options] = \"Options\";\nRequestMethod[RequestMethod.Head] = \"Head\";\nRequestMethod[RequestMethod.Patch] = \"Patch\";\nexport var ReadyState = {};\nReadyState.Unsent = 0;\nReadyState.Open = 1;\nReadyState.HeadersReceived = 2;\nReadyState.Loading = 3;\nReadyState.Done = 4;\nReadyState.Cancelled = 5;\nReadyState[ReadyState.Unsent] = \"Unsent\";\nReadyState[ReadyState.Open] = \"Open\";\nReadyState[ReadyState.HeadersReceived] = \"HeadersReceived\";\nReadyState[ReadyState.Loading] = \"Loading\";\nReadyState[ReadyState.Done] = \"Done\";\nReadyState[ReadyState.Cancelled] = \"Cancelled\";\nexport var ResponseType = {};\nResponseType.Basic = 0;\nResponseType.Cors = 1;\nResponseType.Default = 2;\nResponseType.Error = 3;\nResponseType.Opaque = 4;\nResponseType[ResponseType.Basic] = \"Basic\";\nResponseType[ResponseType.Cors] = \"Cors\";\nResponseType[ResponseType.Default] = \"Default\";\nResponseType[ResponseType.Error] = \"Error\";\nResponseType[ResponseType.Opaque] = \"Opaque\";\nexport var ContentType = {};\nContentType.NONE = 0;\nContentType.JSON = 1;\nContentType.FORM = 2;\nContentType.FORM_DATA = 3;\nContentType.TEXT = 4;\nContentType.BLOB = 5;\nContentType.ARRAY_BUFFER = 6;\nContentType[ContentType.NONE] = \"NONE\";\nContentType[ContentType.JSON] = \"JSON\";\nContentType[ContentType.FORM] = \"FORM\";\nContentType[ContentType.FORM_DATA] = \"FORM_DATA\";\nContentType[ContentType.TEXT] = \"TEXT\";\nContentType[ContentType.BLOB] = \"BLOB\";\nContentType[ContentType.ARRAY_BUFFER] = \"ARRAY_BUFFER\";\nexport var ResponseContentType = {};\nResponseContentType.Text = 0;\nResponseContentType.Json = 1;\nResponseContentType.ArrayBuffer = 2;\nResponseContentType.Blob = 3;\nResponseContentType[ResponseContentType.Text] = \"Text\";\nResponseContentType[ResponseContentType.Json] = \"Json\";\nResponseContentType[ResponseContentType.ArrayBuffer] = \"ArrayBuffer\";\nResponseContentType[ResponseContentType.Blob] = \"Blob\";\n//# sourceMappingURL=enums.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/http/src/enums.js\n// module id = 95\n// module chunks = 0","import { environment } from \"../environments/environment\";\r\n\r\nexport var ORDER_STATE = {\r\n  WAITING_FOR_ACCEPT_STORE: 1,\r\n  CANCELED_BY_USER: 101,\r\n  STORE_ACCEPTED: 3,\r\n  STORE_REJECTED: 103,\r\n  STORE_CANCELLED: 104,\r\n  STORE_CANCELLED_REQUEST: 105,\r\n  ADMIN_CANCELLED: 106,\r\n  STORE_PREPARING_ORDER: 5,\r\n  OREDER_READY: 7,\r\n  NO_DELIVERY_MAN_FOUND: 8,\r\n  WAITING_FOR_DELIVERY_MAN: 9,\r\n  DELIVERY_MAN_ACCEPTED: 11,\r\n  DELIVERY_MAN_REJECTED: 111,\r\n  DELIVERY_MAN_CANCELLED: 112,\r\n  DELIVERY_MAN_COMING: 13,\r\n  DELIVERY_MAN_ARRIVED: 15,\r\n  DELIVERY_MAN_PICKED_ORDER: 17,\r\n  DELIVERY_MAN_STARTED_DELIVERY: 19,\r\n  DELIVERY_MAN_ARRIVED_AT_DESTINATION: 21,\r\n  DELIVERY_MAN_COMPLETE_DELIVERY: 23,\r\n  ORDER_COMPLETED: 25,\r\n  ORDER_COMPLETED_BY_OTHER: 27,\r\n  ADMIN_EDIT_ADDRESS: 201,\r\n  ADMIN_EDIT_ORDER: 202,\r\n  STORE_EDIT_ORDER: 203,\r\n};\r\n\r\nexport var WALLET_COMMENT_ID = {\r\n  ADDED_BY_ADMIN: 1,\r\n  ORDER_PROFIT: 6,\r\n  ORDER_CANCELLATION_CHARGE: 7,\r\n  WALLET_REQUEST_CHARGE: 8,\r\n\r\n  SET_BY_ADMIN: 1,\r\n  ADDED_BY_CARD: 2,\r\n  ADDED_BY_REFERRAL: 3,\r\n  ORDER_CHARGED: 4,\r\n  ORDER_REFUND: 5,\r\n  SET_ORDER_PROFIT: 6,\r\n  SET_BY_WALLET_REQUEST: 8,\r\n  SET_WEEKLY_PAYMENT_BY_ADMIN: 8,\r\n};\r\n\r\nexport var CONSTANT = {\r\n  IMAGE_BASE_URL: environment.IMAGE_BASE_URL,\r\n  BASE_URL: environment.BASE_URL,\r\n};\r\n\r\nexport var DATE_FORMAT = {\r\n  DD_MMM_YYYY: \"dd MMM yyyy\",\r\n  HH_MM: \"HH:mm\",\r\n  DD_MM_YYYY: \"dd/MM/yyyy\",\r\n  DD_MMM_YYYY_HH_MM_A: \"dd MMM yyyy hh:mm a\",\r\n  DD_MMM_YYYY_HH_MM_SS: \"dd MMM yyyy hh:mm:ss\",\r\n};\r\n\r\nexport var ORDER_CANCELLATION_CHARGE_TYPE = {\r\n  PERCENTAGE: 1,\r\n  ABSOLUTE: 2,\r\n};\r\n\r\nexport var IMAGE_RATIO = {\r\n  ITEM_IMAGE: 1,\r\n  PRODUCT_IMAGE: 1,\r\n};\r\n\r\nexport var ADMIN_IMAGE_RATIO = {\r\n  DELIVERY_IMAGE: 1,\r\n  DELIVER_MAP_PIN: 0.45,\r\n  DELIVERY_ICON: 1,\r\n  VEHICLE_IMAGE: 1,\r\n  VEHICLE_MAP_PIN: 0.45,\r\n  ADS_BANNER_IMAGE: 1,\r\n  ADS_FULL_IMAGE: 0.8,\r\n};\r\n\r\nexport var WEEK_DAY = {\r\n  0: \"Sunday\",\r\n  1: \"Monday\",\r\n  2: \"Tuesday\",\r\n  3: \"Wednesday\",\r\n  4: \"Thursday\",\r\n  5: \"Friday\",\r\n  6: \"Saturday\",\r\n};\r\n\r\nexport var ERROR_CODE_CONSTANT = {\r\n  TOKEN_EXPIRED: 999,\r\n  STORE_DATA_NOT_FOUND: 634,\r\n  DATA_NOT_FOUND: 1000,\r\n  TOKEN_INVALID: 2000,\r\n};\r\n\r\nexport var ORDER_STATUS_ID = {\r\n  IDEAL: 0,\r\n  RUNNING: 1,\r\n  CANCELLED: 2,\r\n  REJECTED: 3,\r\n  NO_ANSWER: 4,\r\n  COMPLETED: 10,\r\n};\r\n\r\nexport var WALLET_REQUEST_STATUS = {\r\n  CREATED: 1,\r\n  ACCEPTED: 2,\r\n  TRANSFERED: 3,\r\n  COMPLETED: 4,\r\n  CANCELLED: 5,\r\n};\r\n\r\nexport var PAYMENT_GATEWAY = {\r\n  CASH: \"cash\",\r\n  STRIPE: \"586f7db95847c8704f537bd5\",\r\n  PAYPAL: \"586f7db95847c8704f537bd6\",\r\n};\r\n\r\nexport var PROVIDER_TYPE = {\r\n  NORMAL: 1,\r\n  OTHER: 2,\r\n};\r\n\r\nexport var PROVIDER_TYPE_STRING = {\r\n  NORMAL_STRING: \"Normal\",\r\n  OTHER_STRING: \"Other\",\r\n};\r\n\r\nexport var price_validation = {\r\n  MAX_PRICE: 999,\r\n  MAX_PRICE_AFTER_POINT: 9,\r\n};\r\n\r\nexport var TIMEOUT = {\r\n  TOASTER_NOTIFICATION: 5000,\r\n  PUSH_NOTIFICATION: 20000,\r\n  NEW_PUSH_NOTIFICATION_REQUEST: 10000,\r\n  NEW_ORDER_REQUEST: 10000,\r\n};\r\n\r\nexport var ADMIN_DATA_ID = {\r\n  ADMIN: 1,\r\n  SUB_ADMIN: 3,\r\n  STORE: 2,\r\n  USER: 7,\r\n  PROVIDER: 8,\r\n  PROVIDER_VEHICLE: 9,\r\n};\r\n\r\nexport var ADMIN_PROFIT_ON_ORDER = [\r\n  { ID: 1, NAME: \"PERCENTAGE\" },\r\n  { ID: 2, NAME: \"PER ORDER\" },\r\n  { ID: 3, NAME: \"PER ITEMS\" },\r\n];\r\n// CONSTANTS\r\nexport var ADMIN_PROFIT_ON_ORDER_ID = {\r\n  PERCENTAGE: 1,\r\n  PER_ORDER: 2,\r\n  PER_ITEMS: 3,\r\n};\r\nexport var ADMIN_PROFIT_ON_ORDER_STRING = {\r\n  PERCENTAGE: \"Percentage\",\r\n  PER_ORDER: \"Absolute price per order\",\r\n  PER_ITEMS: \"Absolute price per item\",\r\n};\r\nexport var ADMIN_PROFIT_ON_DELIVERY_ID = {\r\n  PERCENTAGE: 1,\r\n  PER_DELVIERY: 2,\r\n};\r\n\r\nexport var ADMIN_PROFIT_ON_DELIVERY_STRING = {\r\n  PERCENTAGE: \"Percentage\",\r\n  PER_DELVIERY: \"Absolute price per delivery\",\r\n};\r\n// CONSTANT ARRAY\r\nexport var ADMIN_PROFIT_ON_ORDERS = [\r\n  {\r\n    ID: ADMIN_PROFIT_ON_ORDER_ID.PERCENTAGE,\r\n    NAME: ADMIN_PROFIT_ON_ORDER_STRING.PERCENTAGE,\r\n  },\r\n  {\r\n    ID: ADMIN_PROFIT_ON_ORDER_ID.PER_ORDER,\r\n    NAME: ADMIN_PROFIT_ON_ORDER_STRING.PER_ORDER,\r\n  },\r\n  {\r\n    ID: ADMIN_PROFIT_ON_ORDER_ID.PER_ITEMS,\r\n    NAME: ADMIN_PROFIT_ON_ORDER_STRING.PER_ITEMS,\r\n  },\r\n];\r\nexport var ADMIN_PROFIT_ON_DELIVERYS = [\r\n  {\r\n    ID: ADMIN_PROFIT_ON_DELIVERY_ID.PERCENTAGE,\r\n    NAME: ADMIN_PROFIT_ON_DELIVERY_STRING.PERCENTAGE,\r\n  },\r\n  {\r\n    ID: ADMIN_PROFIT_ON_DELIVERY_ID.PER_DELVIERY,\r\n    NAME: ADMIN_PROFIT_ON_DELIVERY_STRING.PER_DELVIERY,\r\n  },\r\n];\r\n\r\nexport var ADMIN_IMAGE_TYPE_ID = {\r\n  JPG: \"image/jpg\",\r\n  PNG: \"image/png\",\r\n  JPEG: \"image/jpeg\",\r\n};\r\n\r\nexport var ADMIN_IMAGE_TYPE_STRING = {\r\n  JPG: \"jpg\",\r\n  PNG: \"png\",\r\n  JPEG: \"jpeg\",\r\n};\r\n\r\nexport var ADMIN_IMAGE_TYPES = [\r\n  { ID: ADMIN_IMAGE_TYPE_ID.JPG, NAME: ADMIN_IMAGE_TYPE_STRING.JPG },\r\n  { ID: ADMIN_IMAGE_TYPE_ID.PNG, NAME: ADMIN_IMAGE_TYPE_STRING.PNG },\r\n  { ID: ADMIN_IMAGE_TYPE_ID.JPEG, NAME: ADMIN_IMAGE_TYPE_STRING.JPEG },\r\n];\r\n\r\nexport var PROMO_FOR_ID = {\r\n  SERVICE: 20,\r\n  DELIVERIES: 0,\r\n  STORE: 2,\r\n  PRODUCT: 21,\r\n  ITEM: 22,\r\n};\r\n\r\n// export var PROMO_FOR_ID = {\r\n//     DELIVERIES: 0,\r\n//     STORE: 2,\r\n//     PRODUCT: 11,\r\n//     ITEM: 12\r\n// };\r\n\r\nexport var PROMO_FOR_STRING = {\r\n  DELIVERIES: \"Deliveries\",\r\n  STORE: \"Store\",\r\n  PRODUCT: \"Product\",\r\n  ITEM: \"Item\",\r\n  SERVICE: \"Service\",\r\n};\r\n// CONSTANT ARRAY\r\nexport var PROMO_FOR = [\r\n  { ID: PROMO_FOR_ID.STORE, NAME: PROMO_FOR_STRING.STORE },\r\n  { ID: PROMO_FOR_ID.PRODUCT, NAME: PROMO_FOR_STRING.PRODUCT },\r\n  { ID: PROMO_FOR_ID.ITEM, NAME: PROMO_FOR_STRING.ITEM },\r\n];\r\n\r\nexport var MONTH = [\r\n  \"January\",\r\n  \"February\",\r\n  \"March\",\r\n  \"April\",\r\n  \"May\",\r\n  \"June\",\r\n  \"July\",\r\n  \"August\",\r\n  \"September\",\r\n  \"October\",\r\n  \"November\",\r\n  \"December\",\r\n];\r\n\r\nexport var WEEK = [\"First\", \"Second\", \"Third\", \"Fourth\", \"Fifth\"];\r\n\r\nexport var DAY = [\r\n  \"Sunday\",\r\n  \"Monday\",\r\n  \"Tuesday\",\r\n  \"Wednesday\",\r\n  \"Thursday\",\r\n  \"Friday\",\r\n  \"Saturday\",\r\n];\r\n\r\nexport var PROMO_RECURSION_ID = {\r\n  NO_RECURSION: 0,\r\n  DAILY_RECURSION: 1,\r\n  WEEKLY_RECURSION: 2,\r\n  MONTHLY_RECURSION: 3,\r\n  ANNUALLY_RECURSION: 4,\r\n};\r\nexport var PROMO_RECURSION_STRING = {\r\n  NO_RECURSION: \"No Recursion\",\r\n  DAILY_RECURSION: \"Daily Recursion\",\r\n  WEEKLY_RECURSION: \"Weekly Recursion\",\r\n  MONTHLY_RECURSION: \"Monthly Recursion\",\r\n  ANNUALLY_RECURSION: \"Annually Recursion\",\r\n};\r\n\r\nexport var PROMO_RECURSION = [\r\n  {\r\n    ID: PROMO_RECURSION_ID.NO_RECURSION,\r\n    NAME: PROMO_RECURSION_STRING.NO_RECURSION,\r\n  },\r\n  {\r\n    ID: PROMO_RECURSION_ID.DAILY_RECURSION,\r\n    NAME: PROMO_RECURSION_STRING.DAILY_RECURSION,\r\n  },\r\n  {\r\n    ID: PROMO_RECURSION_ID.WEEKLY_RECURSION,\r\n    NAME: PROMO_RECURSION_STRING.WEEKLY_RECURSION,\r\n  },\r\n  {\r\n    ID: PROMO_RECURSION_ID.MONTHLY_RECURSION,\r\n    NAME: PROMO_RECURSION_STRING.MONTHLY_RECURSION,\r\n  },\r\n  {\r\n    ID: PROMO_RECURSION_ID.ANNUALLY_RECURSION,\r\n    NAME: PROMO_RECURSION_STRING.ANNUALLY_RECURSION,\r\n  },\r\n];\r\n\r\nexport var ADMIN_PROMO_FOR_ID = {\r\n  DELIVERIES: 0,\r\n  STORE: 2,\r\n  SERVICE: 20,\r\n  PICKUP: 23,\r\n  DELIVERY: 24,\r\n};\r\n\r\nexport var ADMIN_PROMO_FOR_STRING = {\r\n  DELIVERIES: \"Deliveries\",\r\n  STORE: \"Store\",\r\n  SERVICE: \"Service\",\r\n  PRODUCT: \"Product\",\r\n  ITEM: \"Item\",\r\n  PICKUP: \"Pickup\",\r\n  DELIVERY: \"Delivery\",\r\n};\r\n// CONSTANT ARRAY\r\nexport var ADMIN_PROMO_FOR = [\r\n  {\r\n    ID: ADMIN_PROMO_FOR_ID.DELIVERIES,\r\n    NAME: ADMIN_PROMO_FOR_STRING.DELIVERIES,\r\n  },\r\n  { ID: ADMIN_PROMO_FOR_ID.STORE, NAME: ADMIN_PROMO_FOR_STRING.STORE },\r\n  { ID: ADMIN_PROMO_FOR_ID.SERVICE, NAME: ADMIN_PROMO_FOR_STRING.SERVICE },\r\n  { ID: ADMIN_PROMO_FOR_ID.PICKUP, NAME: ADMIN_PROMO_FOR_STRING.PICKUP },\r\n  { ID: ADMIN_PROMO_FOR_ID.DELIVERY, NAME: ADMIN_PROMO_FOR_STRING.DELIVERY },\r\n];\r\n\r\nexport var ADMIN_PROMO_FOR_DELIVERY_SERVICE_ID = {\r\n  DELIVERY_SERVICE: 13,\r\n};\r\n\r\nexport var ADMIN_PROMO_FOR_DELIVERY_SERVICE_STRING = {\r\n  DELIVERY_SERVICE: \"Delivery Service\",\r\n};\r\n// CONSTANT ARRAY\r\nexport var ADMIN_PROMO_FOR_DELIVERY_SERVICE = [\r\n  {\r\n    ID: ADMIN_PROMO_FOR_DELIVERY_SERVICE_ID.DELIVERY_SERVICE,\r\n    NAME: ADMIN_PROMO_FOR_DELIVERY_SERVICE_STRING.DELIVERY_SERVICE,\r\n  },\r\n];\r\n\r\nexport var ADMIN_URL_ID = {\r\n  DASHBOARD: \"/admin/dashboard\",\r\n  ORDERS: \"/admin/dispatch\",\r\n  USER: \"/admin/users\",\r\n  STORE: \"/admin/stores\",\r\n  DELIVERYMAN: \"/admin/providers\",\r\n  MAP_VIEW: \"/admin/store_location\",\r\n  PAYMENT: \"/admin/earnings\",\r\n  DELIVERY_INFO: \"/admin/delivery\",\r\n  SETTING: \"/admin/promotions\",\r\n  TEMPLATE: \"/admin/email\",\r\n  DECOMPLETE: \"/admin/partner_earning\",\r\n};\r\n\r\nexport var ADMIN_URL_STRING = {\r\n  DASHBOARD: \"Dashboard\",\r\n  ORDERS: \"Orders\",\r\n  USER: \"Users\",\r\n  STORE: \"Store\",\r\n  DELIVERYMAN: \"Deliveryman\",\r\n  MAP_VIEW: \"Map_view\",\r\n  PAYMENT: \"Payment\",\r\n  DELIVERY_INFO: \"Delivery_info\",\r\n  SETTING: \"Setting\",\r\n  TEMPLATE: \"Template\",\r\n  DECOMPLETE: \"Decompte\",\r\n};\r\n\r\n// CONSTANT ARRAY\r\nexport var ADMIN_URL = [\r\n  { ID: ADMIN_URL_ID.DASHBOARD, NAME: ADMIN_URL_STRING.DASHBOARD },\r\n  { ID: ADMIN_URL_ID.ORDERS, NAME: ADMIN_URL_STRING.ORDERS },\r\n  { ID: ADMIN_URL_ID.USER, NAME: ADMIN_URL_STRING.USER },\r\n  { ID: ADMIN_URL_ID.STORE, NAME: ADMIN_URL_STRING.STORE },\r\n  { ID: ADMIN_URL_ID.DELIVERYMAN, NAME: ADMIN_URL_STRING.DELIVERYMAN },\r\n  { ID: ADMIN_URL_ID.MAP_VIEW, NAME: ADMIN_URL_STRING.MAP_VIEW },\r\n  { ID: ADMIN_URL_ID.PAYMENT, NAME: ADMIN_URL_STRING.PAYMENT },\r\n  { ID: ADMIN_URL_ID.DELIVERY_INFO, NAME: ADMIN_URL_STRING.DELIVERY_INFO },\r\n  { ID: ADMIN_URL_ID.SETTING, NAME: ADMIN_URL_STRING.SETTING },\r\n  { ID: ADMIN_URL_ID.TEMPLATE, NAME: ADMIN_URL_STRING.TEMPLATE },\r\n  { ID: ADMIN_URL_ID.DECOMPLETE, NAME: ADMIN_URL_STRING.DECOMPLETE },\r\n];\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/constant.ts","var META     = require('./_uid')('meta')\n  , isObject = require('./_is-object')\n  , has      = require('./_has')\n  , setDesc  = require('./_object-dp').f\n  , id       = 0;\nvar isExtensible = Object.isExtensible || function(){\n  return true;\n};\nvar FREEZE = !require('./_fails')(function(){\n  return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function(it){\n  setDesc(it, META, {value: {\n    i: 'O' + ++id, // object ID\n    w: {}          // weak collections IDs\n  }});\n};\nvar fastKey = function(it, create){\n  // return primitive with prefix\n  if(!isObject(it))return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n  if(!has(it, META)){\n    // can't set metadata to uncaught frozen object\n    if(!isExtensible(it))return 'F';\n    // not necessary to add metadata\n    if(!create)return 'E';\n    // add missing metadata\n    setMeta(it);\n  // return object ID\n  } return it[META].i;\n};\nvar getWeak = function(it, create){\n  if(!has(it, META)){\n    // can't set metadata to uncaught frozen object\n    if(!isExtensible(it))return true;\n    // not necessary to add metadata\n    if(!create)return false;\n    // add missing metadata\n    setMeta(it);\n  // return hash weak collections IDs\n  } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function(it){\n  if(FREEZE && meta.NEED && isExtensible(it) && !has(it, META))setMeta(it);\n  return it;\n};\nvar meta = module.exports = {\n  KEY:      META,\n  NEED:     false,\n  fastKey:  fastKey,\n  getWeak:  getWeak,\n  onFreeze: onFreeze\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_meta.js\n// module id = 97\n// module chunks = 0","var pIE            = require('./_object-pie')\n  , createDesc     = require('./_property-desc')\n  , toIObject      = require('./_to-iobject')\n  , toPrimitive    = require('./_to-primitive')\n  , has            = require('./_has')\n  , IE8_DOM_DEFINE = require('./_ie8-dom-define')\n  , gOPD           = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P){\n  O = toIObject(O);\n  P = toPrimitive(P, true);\n  if(IE8_DOM_DEFINE)try {\n    return gOPD(O, P);\n  } catch(e){ /* empty */ }\n  if(has(O, P))return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_object-gopd.js\n// module id = 98\n// module chunks = 0","\"use strict\";\nfunction __export(m) {\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\n__export(require(\"./charts/charts\"));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-charts/index.js\n// module id = 99\n// module chunks = 0","// components\nexport { FBCommentEmbedComponent } from './components/fb-comment-embed/fb-comment-embed';\nexport { FBCommentsComponent } from './components/fb-comments/fb-comments';\nexport { FBFollowComponent } from './components/fb-follow/fb-follow';\nexport { FBLikeComponent } from './components/fb-like/fb-like';\nexport { FBPageComponent } from './components/fb-page/fb-page';\nexport { FBPostComponent } from './components/fb-post/fb-post';\nexport { FBQuoteComponent } from './components/fb-quote/fb-quote';\nexport { FBSaveComponent } from './components/fb-save/fb-save';\nexport { FBSendComponent } from './components/fb-send/fb-send';\nexport { FBShareComponent } from './components/fb-share/fb-share';\nexport { FBVideoComponent } from './components/fb-video/fb-video';\n// providers\nexport { FacebookService } from './providers/facebook';\n// modules\nexport { FacebookModule } from './facebook.module';\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ngx-facebook/dist/esm/index.js\n// module id = 100\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = require('../Observable');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar EmptyObservable = (function (_super) {\n    __extends(EmptyObservable, _super);\n    function EmptyObservable(scheduler) {\n        _super.call(this);\n        this.scheduler = scheduler;\n    }\n    /**\n     * Creates an Observable that emits no items to the Observer and immediately\n     * emits a complete notification.\n     *\n     * <span class=\"informal\">Just emits 'complete', and nothing else.\n     * </span>\n     *\n     * <img src=\"./img/empty.png\" width=\"100%\">\n     *\n     * This static operator is useful for creating a simple Observable that only\n     * emits the complete notification. It can be used for composing with other\n     * Observables, such as in a {@link mergeMap}.\n     *\n     * @example <caption>Emit the number 7, then complete.</caption>\n     * var result = Rx.Observable.empty().startWith(7);\n     * result.subscribe(x => console.log(x));\n     *\n     * @example <caption>Map and flatten only odd numbers to the sequence 'a', 'b', 'c'</caption>\n     * var interval = Rx.Observable.interval(1000);\n     * var result = interval.mergeMap(x =>\n     *   x % 2 === 1 ? Rx.Observable.of('a', 'b', 'c') : Rx.Observable.empty()\n     * );\n     * result.subscribe(x => console.log(x));\n     *\n     * @see {@link create}\n     * @see {@link never}\n     * @see {@link of}\n     * @see {@link throw}\n     *\n     * @param {Scheduler} [scheduler] A {@link Scheduler} to use for scheduling\n     * the emission of the complete notification.\n     * @return {Observable} An \"empty\" Observable: emits only the complete\n     * notification.\n     * @static true\n     * @name empty\n     * @owner Observable\n     */\n    EmptyObservable.create = function (scheduler) {\n        return new EmptyObservable(scheduler);\n    };\n    EmptyObservable.dispatch = function (arg) {\n        var subscriber = arg.subscriber;\n        subscriber.complete();\n    };\n    EmptyObservable.prototype._subscribe = function (subscriber) {\n        var scheduler = this.scheduler;\n        if (scheduler) {\n            return scheduler.schedule(EmptyObservable.dispatch, 0, { subscriber: subscriber });\n        }\n        else {\n            subscriber.complete();\n        }\n    };\n    return EmptyObservable;\n}(Observable_1.Observable));\nexports.EmptyObservable = EmptyObservable;\n//# sourceMappingURL=EmptyObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/EmptyObservable.js\n// module id = 101\n// module chunks = 0","\"use strict\";\nfunction isScheduler(value) {\n    return value && typeof value.schedule === 'function';\n}\nexports.isScheduler = isScheduler;\n//# sourceMappingURL=isScheduler.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/util/isScheduler.js\n// module id = 102\n// module chunks = 0","/**\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 */\nimport { getSymbolIterator, isJsObject } from './lang';\n/**\n * Wraps Javascript Objects\n */\nexport var StringMapWrapper = (function () {\n    function StringMapWrapper() {\n    }\n    /**\n     * @param {?} m1\n     * @param {?} m2\n     * @return {?}\n     */\n    StringMapWrapper.merge = function (m1, m2) {\n        var /** @type {?} */ 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    /**\n     * @param {?} m1\n     * @param {?} m2\n     * @return {?}\n     */\n    StringMapWrapper.equals = function (m1, m2) {\n        var /** @type {?} */ k1 = Object.keys(m1);\n        var /** @type {?} */ k2 = Object.keys(m2);\n        if (k1.length != k2.length) {\n            return false;\n        }\n        for (var /** @type {?} */ i = 0; i < k1.length; i++) {\n            var /** @type {?} */ key = k1[i];\n            if (m1[key] !== m2[key]) {\n                return false;\n            }\n        }\n        return true;\n    };\n    return StringMapWrapper;\n}());\nexport var ListWrapper = (function () {\n    function ListWrapper() {\n    }\n    /**\n     * @param {?} arr\n     * @param {?} condition\n     * @return {?}\n     */\n    ListWrapper.findLast = function (arr, condition) {\n        for (var /** @type {?} */ i = arr.length - 1; i >= 0; i--) {\n            if (condition(arr[i])) {\n                return arr[i];\n            }\n        }\n        return null;\n    };\n    /**\n     * @param {?} list\n     * @param {?} items\n     * @return {?}\n     */\n    ListWrapper.removeAll = function (list, items) {\n        for (var /** @type {?} */ i = 0; i < items.length; ++i) {\n            var /** @type {?} */ index = list.indexOf(items[i]);\n            if (index > -1) {\n                list.splice(index, 1);\n            }\n        }\n    };\n    /**\n     * @param {?} list\n     * @param {?} el\n     * @return {?}\n     */\n    ListWrapper.remove = function (list, el) {\n        var /** @type {?} */ index = list.indexOf(el);\n        if (index > -1) {\n            list.splice(index, 1);\n            return true;\n        }\n        return false;\n    };\n    /**\n     * @param {?} a\n     * @param {?} b\n     * @return {?}\n     */\n    ListWrapper.equals = function (a, b) {\n        if (a.length != b.length)\n            return false;\n        for (var /** @type {?} */ i = 0; i < a.length; ++i) {\n            if (a[i] !== b[i])\n                return false;\n        }\n        return true;\n    };\n    /**\n     * @param {?} list\n     * @return {?}\n     */\n    ListWrapper.flatten = function (list) {\n        return list.reduce(function (flat, item) {\n            var /** @type {?} */ flatItem = Array.isArray(item) ? ListWrapper.flatten(item) : item;\n            return ((flat)).concat(flatItem);\n        }, []);\n    };\n    return ListWrapper;\n}());\n/**\n * @param {?} obj\n * @return {?}\n */\nexport function isListLikeIterable(obj) {\n    if (!isJsObject(obj))\n        return false;\n    return Array.isArray(obj) ||\n        (!(obj instanceof Map) &&\n            getSymbolIterator() in obj); // JS Iterable have a Symbol.iterator prop\n}\n/**\n * @param {?} a\n * @param {?} b\n * @param {?} comparator\n * @return {?}\n */\nexport function areIterablesEqual(a, b, comparator) {\n    var /** @type {?} */ iterator1 = a[getSymbolIterator()]();\n    var /** @type {?} */ iterator2 = b[getSymbolIterator()]();\n    while (true) {\n        var /** @type {?} */ item1 = iterator1.next();\n        var /** @type {?} */ item2 = iterator2.next();\n        if (item1.done && item2.done)\n            return true;\n        if (item1.done || item2.done)\n            return false;\n        if (!comparator(item1.value, item2.value))\n            return false;\n    }\n}\n/**\n * @param {?} obj\n * @param {?} fn\n * @return {?}\n */\nexport function iterateListLike(obj, fn) {\n    if (Array.isArray(obj)) {\n        for (var /** @type {?} */ i = 0; i < obj.length; i++) {\n            fn(obj[i]);\n        }\n    }\n    else {\n        var /** @type {?} */ iterator = obj[getSymbolIterator()]();\n        var /** @type {?} */ item = void 0;\n        while (!((item = iterator.next()).done)) {\n            fn(item.value);\n        }\n    }\n}\n//# sourceMappingURL=collection.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/facade/collection.js\n// module id = 103\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nimport { CompilerInjectable } from '../injectable';\nimport { getHtmlTagDefinition } from './html_tags';\nimport { DEFAULT_INTERPOLATION_CONFIG } from './interpolation_config';\nimport { Parser } from './parser';\nexport { ParseTreeResult, TreeError } from './parser';\nexport var HtmlParser = (function (_super) {\n    __extends(HtmlParser, _super);\n    function HtmlParser() {\n        _super.call(this, getHtmlTagDefinition);\n    }\n    /**\n     * @param {?} source\n     * @param {?} url\n     * @param {?=} parseExpansionForms\n     * @param {?=} interpolationConfig\n     * @return {?}\n     */\n    HtmlParser.prototype.parse = function (source, url, parseExpansionForms, interpolationConfig) {\n        if (parseExpansionForms === void 0) { parseExpansionForms = false; }\n        if (interpolationConfig === void 0) { interpolationConfig = DEFAULT_INTERPOLATION_CONFIG; }\n        return _super.prototype.parse.call(this, source, url, parseExpansionForms, interpolationConfig);\n    };\n    HtmlParser = __decorate([\n        CompilerInjectable(), \n        __metadata('design:paramtypes', [])\n    ], HtmlParser);\n    return HtmlParser;\n}(Parser));\n//# sourceMappingURL=html_parser.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/ml_parser/html_parser.js\n// module id = 104\n// module chunks = 0","export var TagContentType = {};\nTagContentType.RAW_TEXT = 0;\nTagContentType.ESCAPABLE_RAW_TEXT = 1;\nTagContentType.PARSABLE_DATA = 2;\nTagContentType[TagContentType.RAW_TEXT] = \"RAW_TEXT\";\nTagContentType[TagContentType.ESCAPABLE_RAW_TEXT] = \"ESCAPABLE_RAW_TEXT\";\nTagContentType[TagContentType.PARSABLE_DATA] = \"PARSABLE_DATA\";\n/**\n * @param {?} elementName\n * @return {?}\n */\nexport function splitNsName(elementName) {\n    if (elementName[0] != ':') {\n        return [null, elementName];\n    }\n    var /** @type {?} */ colonIndex = elementName.indexOf(':', 1);\n    if (colonIndex == -1) {\n        throw new Error(\"Unsupported format \\\"\" + elementName + \"\\\" expecting \\\":namespace:name\\\"\");\n    }\n    return [elementName.slice(1, colonIndex), elementName.slice(colonIndex + 1)];\n}\n/**\n * @param {?} fullName\n * @return {?}\n */\nexport function getNsPrefix(fullName) {\n    return fullName === null ? null : splitNsName(fullName)[0];\n}\n/**\n * @param {?} prefix\n * @param {?} localName\n * @return {?}\n */\nexport function mergeNsAndName(prefix, localName) {\n    return prefix ? \":\" + prefix + \":\" + localName : localName;\n}\n// see http://www.w3.org/TR/html51/syntax.html#named-character-references\n// see https://html.spec.whatwg.org/multipage/entities.json\n// This list is not exhaustive to keep the compiler footprint low.\n// The `&#123;` / `&#x1ab;` syntax should be used when the named character reference does not exist.\nexport var /** @type {?} */ NAMED_ENTITIES = {\n    'Aacute': '\\u00C1',\n    'aacute': '\\u00E1',\n    'Acirc': '\\u00C2',\n    'acirc': '\\u00E2',\n    'acute': '\\u00B4',\n    'AElig': '\\u00C6',\n    'aelig': '\\u00E6',\n    'Agrave': '\\u00C0',\n    'agrave': '\\u00E0',\n    'alefsym': '\\u2135',\n    'Alpha': '\\u0391',\n    'alpha': '\\u03B1',\n    'amp': '&',\n    'and': '\\u2227',\n    'ang': '\\u2220',\n    'apos': '\\u0027',\n    'Aring': '\\u00C5',\n    'aring': '\\u00E5',\n    'asymp': '\\u2248',\n    'Atilde': '\\u00C3',\n    'atilde': '\\u00E3',\n    'Auml': '\\u00C4',\n    'auml': '\\u00E4',\n    'bdquo': '\\u201E',\n    'Beta': '\\u0392',\n    'beta': '\\u03B2',\n    'brvbar': '\\u00A6',\n    'bull': '\\u2022',\n    'cap': '\\u2229',\n    'Ccedil': '\\u00C7',\n    'ccedil': '\\u00E7',\n    'cedil': '\\u00B8',\n    'cent': '\\u00A2',\n    'Chi': '\\u03A7',\n    'chi': '\\u03C7',\n    'circ': '\\u02C6',\n    'clubs': '\\u2663',\n    'cong': '\\u2245',\n    'copy': '\\u00A9',\n    'crarr': '\\u21B5',\n    'cup': '\\u222A',\n    'curren': '\\u00A4',\n    'dagger': '\\u2020',\n    'Dagger': '\\u2021',\n    'darr': '\\u2193',\n    'dArr': '\\u21D3',\n    'deg': '\\u00B0',\n    'Delta': '\\u0394',\n    'delta': '\\u03B4',\n    'diams': '\\u2666',\n    'divide': '\\u00F7',\n    'Eacute': '\\u00C9',\n    'eacute': '\\u00E9',\n    'Ecirc': '\\u00CA',\n    'ecirc': '\\u00EA',\n    'Egrave': '\\u00C8',\n    'egrave': '\\u00E8',\n    'empty': '\\u2205',\n    'emsp': '\\u2003',\n    'ensp': '\\u2002',\n    'Epsilon': '\\u0395',\n    'epsilon': '\\u03B5',\n    'equiv': '\\u2261',\n    'Eta': '\\u0397',\n    'eta': '\\u03B7',\n    'ETH': '\\u00D0',\n    'eth': '\\u00F0',\n    'Euml': '\\u00CB',\n    'euml': '\\u00EB',\n    'euro': '\\u20AC',\n    'exist': '\\u2203',\n    'fnof': '\\u0192',\n    'forall': '\\u2200',\n    'frac12': '\\u00BD',\n    'frac14': '\\u00BC',\n    'frac34': '\\u00BE',\n    'frasl': '\\u2044',\n    'Gamma': '\\u0393',\n    'gamma': '\\u03B3',\n    'ge': '\\u2265',\n    'gt': '>',\n    'harr': '\\u2194',\n    'hArr': '\\u21D4',\n    'hearts': '\\u2665',\n    'hellip': '\\u2026',\n    'Iacute': '\\u00CD',\n    'iacute': '\\u00ED',\n    'Icirc': '\\u00CE',\n    'icirc': '\\u00EE',\n    'iexcl': '\\u00A1',\n    'Igrave': '\\u00CC',\n    'igrave': '\\u00EC',\n    'image': '\\u2111',\n    'infin': '\\u221E',\n    'int': '\\u222B',\n    'Iota': '\\u0399',\n    'iota': '\\u03B9',\n    'iquest': '\\u00BF',\n    'isin': '\\u2208',\n    'Iuml': '\\u00CF',\n    'iuml': '\\u00EF',\n    'Kappa': '\\u039A',\n    'kappa': '\\u03BA',\n    'Lambda': '\\u039B',\n    'lambda': '\\u03BB',\n    'lang': '\\u27E8',\n    'laquo': '\\u00AB',\n    'larr': '\\u2190',\n    'lArr': '\\u21D0',\n    'lceil': '\\u2308',\n    'ldquo': '\\u201C',\n    'le': '\\u2264',\n    'lfloor': '\\u230A',\n    'lowast': '\\u2217',\n    'loz': '\\u25CA',\n    'lrm': '\\u200E',\n    'lsaquo': '\\u2039',\n    'lsquo': '\\u2018',\n    'lt': '<',\n    'macr': '\\u00AF',\n    'mdash': '\\u2014',\n    'micro': '\\u00B5',\n    'middot': '\\u00B7',\n    'minus': '\\u2212',\n    'Mu': '\\u039C',\n    'mu': '\\u03BC',\n    'nabla': '\\u2207',\n    'nbsp': '\\u00A0',\n    'ndash': '\\u2013',\n    'ne': '\\u2260',\n    'ni': '\\u220B',\n    'not': '\\u00AC',\n    'notin': '\\u2209',\n    'nsub': '\\u2284',\n    'Ntilde': '\\u00D1',\n    'ntilde': '\\u00F1',\n    'Nu': '\\u039D',\n    'nu': '\\u03BD',\n    'Oacute': '\\u00D3',\n    'oacute': '\\u00F3',\n    'Ocirc': '\\u00D4',\n    'ocirc': '\\u00F4',\n    'OElig': '\\u0152',\n    'oelig': '\\u0153',\n    'Ograve': '\\u00D2',\n    'ograve': '\\u00F2',\n    'oline': '\\u203E',\n    'Omega': '\\u03A9',\n    'omega': '\\u03C9',\n    'Omicron': '\\u039F',\n    'omicron': '\\u03BF',\n    'oplus': '\\u2295',\n    'or': '\\u2228',\n    'ordf': '\\u00AA',\n    'ordm': '\\u00BA',\n    'Oslash': '\\u00D8',\n    'oslash': '\\u00F8',\n    'Otilde': '\\u00D5',\n    'otilde': '\\u00F5',\n    'otimes': '\\u2297',\n    'Ouml': '\\u00D6',\n    'ouml': '\\u00F6',\n    'para': '\\u00B6',\n    'permil': '\\u2030',\n    'perp': '\\u22A5',\n    'Phi': '\\u03A6',\n    'phi': '\\u03C6',\n    'Pi': '\\u03A0',\n    'pi': '\\u03C0',\n    'piv': '\\u03D6',\n    'plusmn': '\\u00B1',\n    'pound': '\\u00A3',\n    'prime': '\\u2032',\n    'Prime': '\\u2033',\n    'prod': '\\u220F',\n    'prop': '\\u221D',\n    'Psi': '\\u03A8',\n    'psi': '\\u03C8',\n    'quot': '\\u0022',\n    'radic': '\\u221A',\n    'rang': '\\u27E9',\n    'raquo': '\\u00BB',\n    'rarr': '\\u2192',\n    'rArr': '\\u21D2',\n    'rceil': '\\u2309',\n    'rdquo': '\\u201D',\n    'real': '\\u211C',\n    'reg': '\\u00AE',\n    'rfloor': '\\u230B',\n    'Rho': '\\u03A1',\n    'rho': '\\u03C1',\n    'rlm': '\\u200F',\n    'rsaquo': '\\u203A',\n    'rsquo': '\\u2019',\n    'sbquo': '\\u201A',\n    'Scaron': '\\u0160',\n    'scaron': '\\u0161',\n    'sdot': '\\u22C5',\n    'sect': '\\u00A7',\n    'shy': '\\u00AD',\n    'Sigma': '\\u03A3',\n    'sigma': '\\u03C3',\n    'sigmaf': '\\u03C2',\n    'sim': '\\u223C',\n    'spades': '\\u2660',\n    'sub': '\\u2282',\n    'sube': '\\u2286',\n    'sum': '\\u2211',\n    'sup': '\\u2283',\n    'sup1': '\\u00B9',\n    'sup2': '\\u00B2',\n    'sup3': '\\u00B3',\n    'supe': '\\u2287',\n    'szlig': '\\u00DF',\n    'Tau': '\\u03A4',\n    'tau': '\\u03C4',\n    'there4': '\\u2234',\n    'Theta': '\\u0398',\n    'theta': '\\u03B8',\n    'thetasym': '\\u03D1',\n    'thinsp': '\\u2009',\n    'THORN': '\\u00DE',\n    'thorn': '\\u00FE',\n    'tilde': '\\u02DC',\n    'times': '\\u00D7',\n    'trade': '\\u2122',\n    'Uacute': '\\u00DA',\n    'uacute': '\\u00FA',\n    'uarr': '\\u2191',\n    'uArr': '\\u21D1',\n    'Ucirc': '\\u00DB',\n    'ucirc': '\\u00FB',\n    'Ugrave': '\\u00D9',\n    'ugrave': '\\u00F9',\n    'uml': '\\u00A8',\n    'upsih': '\\u03D2',\n    'Upsilon': '\\u03A5',\n    'upsilon': '\\u03C5',\n    'Uuml': '\\u00DC',\n    'uuml': '\\u00FC',\n    'weierp': '\\u2118',\n    'Xi': '\\u039E',\n    'xi': '\\u03BE',\n    'Yacute': '\\u00DD',\n    'yacute': '\\u00FD',\n    'yen': '\\u00A5',\n    'yuml': '\\u00FF',\n    'Yuml': '\\u0178',\n    'Zeta': '\\u0396',\n    'zeta': '\\u03B6',\n    'zwj': '\\u200D',\n    'zwnj': '\\u200C',\n};\n//# sourceMappingURL=tags.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/ml_parser/tags.js\n// module id = 105\n// module chunks = 0","/**\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 */\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nimport { Inject, PACKAGE_ROOT_URL } from '@angular/core';\nimport { isBlank, isPresent } from './facade/lang';\nimport { CompilerInjectable } from './injectable';\n/**\n * Create a {\\@link UrlResolver} with no package prefix.\n * @return {?}\n */\nexport function createUrlResolverWithoutPackagePrefix() {\n    return new UrlResolver();\n}\n/**\n * @return {?}\n */\nexport function createOfflineCompileUrlResolver() {\n    return new UrlResolver('.');\n}\n/**\n * A default provider for {@link PACKAGE_ROOT_URL} that maps to '/'.\n */\nexport var /** @type {?} */ DEFAULT_PACKAGE_URL_PROVIDER = {\n    provide: PACKAGE_ROOT_URL,\n    useValue: '/'\n};\n/**\n * Used by the {\\@link Compiler} when resolving HTML and CSS template URLs.\n *\n * This class can be overridden by the application developer to create custom behavior.\n *\n * See {\\@link Compiler}\n *\n * ## Example\n *\n * {\\@example compiler/ts/url_resolver/url_resolver.ts region='url_resolver'}\n *\n * \\@security When compiling templates at runtime, you must\n * ensure that the entire template comes from a trusted source.\n * Attacker-controlled data introduced by a template could expose your\n * application to XSS risks. For more detail, see the [Security Guide](http://g.co/ng/security).\n */\nexport var UrlResolver = (function () {\n    /**\n     * @param {?=} _packagePrefix\n     */\n    function UrlResolver(_packagePrefix) {\n        if (_packagePrefix === void 0) { _packagePrefix = null; }\n        this._packagePrefix = _packagePrefix;\n    }\n    /**\n     * Resolves the `url` given the `baseUrl`:\n     * - when the `url` is null, the `baseUrl` is returned,\n     * - if `url` is relative ('path/to/here', './path/to/here'), the resolved url is a combination of\n     * `baseUrl` and `url`,\n     * - if `url` is absolute (it has a scheme: 'http://', 'https://' or start with '/'), the `url` is\n     * returned as is (ignoring the `baseUrl`)\n     * @param {?} baseUrl\n     * @param {?} url\n     * @return {?}\n     */\n    UrlResolver.prototype.resolve = function (baseUrl, url) {\n        var /** @type {?} */ resolvedUrl = url;\n        if (isPresent(baseUrl) && baseUrl.length > 0) {\n            resolvedUrl = _resolveUrl(baseUrl, resolvedUrl);\n        }\n        var /** @type {?} */ resolvedParts = _split(resolvedUrl);\n        var /** @type {?} */ prefix = this._packagePrefix;\n        if (isPresent(prefix) && isPresent(resolvedParts) &&\n            resolvedParts[_ComponentIndex.Scheme] == 'package') {\n            var /** @type {?} */ path = resolvedParts[_ComponentIndex.Path];\n            prefix = prefix.replace(/\\/+$/, '');\n            path = path.replace(/^\\/+/, '');\n            return prefix + \"/\" + path;\n        }\n        return resolvedUrl;\n    };\n    /** @nocollapse */\n    UrlResolver.ctorParameters = function () { return [\n        { type: undefined, decorators: [{ type: Inject, args: [PACKAGE_ROOT_URL,] },] },\n    ]; };\n    UrlResolver = __decorate([\n        CompilerInjectable(), \n        __metadata('design:paramtypes', [String])\n    ], UrlResolver);\n    return UrlResolver;\n}());\nfunction UrlResolver_tsickle_Closure_declarations() {\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    UrlResolver.ctorParameters;\n    /** @type {?} */\n    UrlResolver.prototype._packagePrefix;\n}\n/**\n * Extract the scheme of a URL.\n * @param {?} url\n * @return {?}\n */\nexport function getUrlScheme(url) {\n    var /** @type {?} */ match = _split(url);\n    return (match && match[_ComponentIndex.Scheme]) || '';\n}\n/**\n * Builds a URI string from already-encoded parts.\n *\n * No encoding is performed.  Any component may be omitted as either null or\n * undefined.\n *\n * @param {?=} opt_scheme The scheme such as 'http'.\n * @param {?=} opt_userInfo The user name before the '\\@'.\n * @param {?=} opt_domain The domain such as 'www.google.com', already\n *     URI-encoded.\n * @param {?=} opt_port The port number.\n * @param {?=} opt_path The path, already URI-encoded.  If it is not\n *     empty, it must begin with a slash.\n * @param {?=} opt_queryData The URI-encoded query data.\n * @param {?=} opt_fragment The URI-encoded fragment identifier.\n * @return {?} The fully combined URI.\n */\nfunction _buildFromEncodedParts(opt_scheme, opt_userInfo, opt_domain, opt_port, opt_path, opt_queryData, opt_fragment) {\n    var /** @type {?} */ out = [];\n    if (isPresent(opt_scheme)) {\n        out.push(opt_scheme + ':');\n    }\n    if (isPresent(opt_domain)) {\n        out.push('//');\n        if (isPresent(opt_userInfo)) {\n            out.push(opt_userInfo + '@');\n        }\n        out.push(opt_domain);\n        if (isPresent(opt_port)) {\n            out.push(':' + opt_port);\n        }\n    }\n    if (isPresent(opt_path)) {\n        out.push(opt_path);\n    }\n    if (isPresent(opt_queryData)) {\n        out.push('?' + opt_queryData);\n    }\n    if (isPresent(opt_fragment)) {\n        out.push('#' + opt_fragment);\n    }\n    return out.join('');\n}\n/**\n * A regular expression for breaking a URI into its component parts.\n *\n * {@link http://www.gbiv.com/protocols/uri/rfc/rfc3986.html#RFC2234} says\n * As the \"first-match-wins\" algorithm is identical to the \"greedy\"\n * disambiguation method used by POSIX regular expressions, it is natural and\n * commonplace to use a regular expression for parsing the potential five\n * components of a URI reference.\n *\n * The following line is the regular expression for breaking-down a\n * well-formed URI reference into its components.\n *\n * <pre>\n * ^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?\n *  12            3  4          5       6  7        8 9\n * </pre>\n *\n * The numbers in the second line above are only to assist readability; they\n * indicate the reference points for each subexpression (i.e., each paired\n * parenthesis). We refer to the value matched for subexpression <n> as $<n>.\n * For example, matching the above expression to\n * <pre>\n *     http://www.ics.uci.edu/pub/ietf/uri/#Related\n * </pre>\n * results in the following subexpression matches:\n * <pre>\n *    $1 = http:\n *    $2 = http\n *    $3 = //www.ics.uci.edu\n *    $4 = www.ics.uci.edu\n *    $5 = /pub/ietf/uri/\n *    $6 = <undefined>\n *    $7 = <undefined>\n *    $8 = #Related\n *    $9 = Related\n * </pre>\n * where <undefined> indicates that the component is not present, as is the\n * case for the query component in the above example. Therefore, we can\n * determine the value of the five components as\n * <pre>\n *    scheme    = $2\n *    authority = $4\n *    path      = $5\n *    query     = $7\n *    fragment  = $9\n * </pre>\n *\n * The regular expression has been modified slightly to expose the\n * userInfo, domain, and port separately from the authority.\n * The modified version yields\n * <pre>\n *    $1 = http              scheme\n *    $2 = <undefined>       userInfo -\\\n *    $3 = www.ics.uci.edu   domain     | authority\n *    $4 = <undefined>       port     -/\n *    $5 = /pub/ietf/uri/    path\n *    $6 = <undefined>       query without ?\n *    $7 = Related           fragment without #\n * </pre>\n * @type {!RegExp}\n * @internal\n */\nvar /** @type {?} */ _splitRe = new RegExp('^' +\n    '(?:' +\n    '([^:/?#.]+)' +\n    // used by other URL parts such as :,\n    // ?, /, #, and .\n    ':)?' +\n    '(?://' +\n    '(?:([^/?#]*)@)?' +\n    '([\\\\w\\\\d\\\\-\\\\u0100-\\\\uffff.%]*)' +\n    // digits, dashes, dots, percent\n    // escapes, and unicode characters.\n    '(?::([0-9]+))?' +\n    ')?' +\n    '([^?#]+)?' +\n    '(?:\\\\?([^#]*))?' +\n    '(?:#(.*))?' +\n    '$');\nvar _ComponentIndex = {};\n_ComponentIndex.Scheme = 1;\n_ComponentIndex.UserInfo = 2;\n_ComponentIndex.Domain = 3;\n_ComponentIndex.Port = 4;\n_ComponentIndex.Path = 5;\n_ComponentIndex.QueryData = 6;\n_ComponentIndex.Fragment = 7;\n_ComponentIndex[_ComponentIndex.Scheme] = \"Scheme\";\n_ComponentIndex[_ComponentIndex.UserInfo] = \"UserInfo\";\n_ComponentIndex[_ComponentIndex.Domain] = \"Domain\";\n_ComponentIndex[_ComponentIndex.Port] = \"Port\";\n_ComponentIndex[_ComponentIndex.Path] = \"Path\";\n_ComponentIndex[_ComponentIndex.QueryData] = \"QueryData\";\n_ComponentIndex[_ComponentIndex.Fragment] = \"Fragment\";\n/**\n * Splits a URI into its component parts.\n *\n * Each component can be accessed via the component indices; for example:\n * <pre>\n * goog.uri.utils.split(someStr)[goog.uri.utils.CompontentIndex.QUERY_DATA];\n * </pre>\n *\n * @param {?} uri The URI string to examine.\n * @return {?} Each component still URI-encoded.\n *     Each component that is present will contain the encoded value, whereas\n *     components that are not present will be undefined or empty, depending\n *     on the browser's regular expression implementation.  Never null, since\n *     arbitrary strings may still look like path names.\n */\nfunction _split(uri) {\n    return uri.match(_splitRe);\n}\n/**\n * Removes dot segments in given path component, as described in\n * RFC 3986, section 5.2.4.\n *\n * @param {?} path A non-empty path component.\n * @return {?} Path component with removed dot segments.\n */\nfunction _removeDotSegments(path) {\n    if (path == '/')\n        return '/';\n    var /** @type {?} */ leadingSlash = path[0] == '/' ? '/' : '';\n    var /** @type {?} */ trailingSlash = path[path.length - 1] === '/' ? '/' : '';\n    var /** @type {?} */ segments = path.split('/');\n    var /** @type {?} */ out = [];\n    var /** @type {?} */ up = 0;\n    for (var /** @type {?} */ pos = 0; pos < segments.length; pos++) {\n        var /** @type {?} */ segment = segments[pos];\n        switch (segment) {\n            case '':\n            case '.':\n                break;\n            case '..':\n                if (out.length > 0) {\n                    out.pop();\n                }\n                else {\n                    up++;\n                }\n                break;\n            default:\n                out.push(segment);\n        }\n    }\n    if (leadingSlash == '') {\n        while (up-- > 0) {\n            out.unshift('..');\n        }\n        if (out.length === 0)\n            out.push('.');\n    }\n    return leadingSlash + out.join('/') + trailingSlash;\n}\n/**\n * Takes an array of the parts from split and canonicalizes the path part\n * and then joins all the parts.\n * @param {?} parts\n * @return {?}\n */\nfunction _joinAndCanonicalizePath(parts) {\n    var /** @type {?} */ path = parts[_ComponentIndex.Path];\n    path = isBlank(path) ? '' : _removeDotSegments(path);\n    parts[_ComponentIndex.Path] = path;\n    return _buildFromEncodedParts(parts[_ComponentIndex.Scheme], parts[_ComponentIndex.UserInfo], parts[_ComponentIndex.Domain], parts[_ComponentIndex.Port], path, parts[_ComponentIndex.QueryData], parts[_ComponentIndex.Fragment]);\n}\n/**\n * Resolves a URL.\n * @param {?} base The URL acting as the base URL.\n * @param {?} url\n * @return {?}\n */\nfunction _resolveUrl(base, url) {\n    var /** @type {?} */ parts = _split(encodeURI(url));\n    var /** @type {?} */ baseParts = _split(base);\n    if (isPresent(parts[_ComponentIndex.Scheme])) {\n        return _joinAndCanonicalizePath(parts);\n    }\n    else {\n        parts[_ComponentIndex.Scheme] = baseParts[_ComponentIndex.Scheme];\n    }\n    for (var /** @type {?} */ i = _ComponentIndex.Scheme; i <= _ComponentIndex.Port; i++) {\n        if (isBlank(parts[i])) {\n            parts[i] = baseParts[i];\n        }\n    }\n    if (parts[_ComponentIndex.Path][0] == '/') {\n        return _joinAndCanonicalizePath(parts);\n    }\n    var /** @type {?} */ path = baseParts[_ComponentIndex.Path];\n    if (isBlank(path))\n        path = '/';\n    var /** @type {?} */ index = path.lastIndexOf('/');\n    path = path.substring(0, index + 1) + parts[_ComponentIndex.Path];\n    parts[_ComponentIndex.Path] = path;\n    return _joinAndCanonicalizePath(parts);\n}\n//# sourceMappingURL=url_resolver.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/url_resolver.js\n// module id = 106\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { identifierName } from '../compile_metadata';\nimport { createDiTokenExpression } from '../compiler_util/identifier_util';\nimport * as o from '../output/output_ast';\nimport { ViewType } from '../private_import_core';\n/**\n * @param {?} property\n * @param {?} callingView\n * @param {?} definedView\n * @return {?}\n */\nexport function getPropertyInView(property, callingView, definedView) {\n    if (callingView === definedView) {\n        return property;\n    }\n    else {\n        var /** @type {?} */ viewProp = o.THIS_EXPR;\n        var /** @type {?} */ currView = callingView;\n        while (currView !== definedView && currView.declarationElement.view) {\n            currView = currView.declarationElement.view;\n            viewProp = viewProp.prop('parentView');\n        }\n        if (currView !== definedView) {\n            throw new Error(\"Internal error: Could not calculate a property in a parent view: \" + property);\n        }\n        return property.visitExpression(new _ReplaceViewTransformer(viewProp, definedView), null);\n    }\n}\nvar _ReplaceViewTransformer = (function (_super) {\n    __extends(_ReplaceViewTransformer, _super);\n    /**\n     * @param {?} _viewExpr\n     * @param {?} _view\n     */\n    function _ReplaceViewTransformer(_viewExpr, _view) {\n        _super.call(this);\n        this._viewExpr = _viewExpr;\n        this._view = _view;\n    }\n    /**\n     * @param {?} expr\n     * @return {?}\n     */\n    _ReplaceViewTransformer.prototype._isThis = function (expr) {\n        return expr instanceof o.ReadVarExpr && expr.builtin === o.BuiltinVar.This;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    _ReplaceViewTransformer.prototype.visitReadVarExpr = function (ast, context) {\n        return this._isThis(ast) ? this._viewExpr : ast;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    _ReplaceViewTransformer.prototype.visitReadPropExpr = function (ast, context) {\n        if (this._isThis(ast.receiver)) {\n            // Note: Don't cast for members of the AppView base class...\n            if (this._view.fields.some(function (field) { return field.name == ast.name; }) ||\n                this._view.getters.some(function (field) { return field.name == ast.name; })) {\n                return this._viewExpr.cast(this._view.classType).prop(ast.name);\n            }\n        }\n        return _super.prototype.visitReadPropExpr.call(this, ast, context);\n    };\n    return _ReplaceViewTransformer;\n}(o.ExpressionTransformer));\nfunction _ReplaceViewTransformer_tsickle_Closure_declarations() {\n    /** @type {?} */\n    _ReplaceViewTransformer.prototype._viewExpr;\n    /** @type {?} */\n    _ReplaceViewTransformer.prototype._view;\n}\n/**\n * @param {?} view\n * @param {?} token\n * @param {?} optional\n * @return {?}\n */\nexport function injectFromViewParentInjector(view, token, optional) {\n    var /** @type {?} */ viewExpr;\n    if (view.viewType === ViewType.HOST) {\n        viewExpr = o.THIS_EXPR;\n    }\n    else {\n        viewExpr = o.THIS_EXPR.prop('parentView');\n    }\n    var /** @type {?} */ args = [createDiTokenExpression(token), o.THIS_EXPR.prop('parentIndex')];\n    if (optional) {\n        args.push(o.NULL_EXPR);\n    }\n    return viewExpr.callMethod('injectorGet', args);\n}\n/**\n * @param {?} component\n * @param {?} embeddedTemplateIndex\n * @return {?}\n */\nexport function getViewClassName(component, embeddedTemplateIndex) {\n    return \"View_\" + identifierName(component.type) + embeddedTemplateIndex;\n}\n/**\n * @param {?} elementIndex\n * @return {?}\n */\nexport function getHandleEventMethodName(elementIndex) {\n    return \"handleEvent_\" + elementIndex;\n}\n//# sourceMappingURL=util.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/view_compiler/util.js\n// module id = 107\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { AbstractControlDirective } from './abstract_control_directive';\n/**\n * @return {?}\n */\nfunction unimplemented() {\n    throw new Error('unimplemented');\n}\n/**\n * A base class that all control directive extend.\n * It binds a {\\@link FormControl} object to a DOM element.\n *\n * Used internally by Angular forms.\n *\n * \\@stable\n * @abstract\n */\nexport var NgControl = (function (_super) {\n    __extends(NgControl, _super);\n    function NgControl() {\n        _super.apply(this, arguments);\n        /** @internal */\n        this._parent = null;\n        this.name = null;\n        this.valueAccessor = null;\n        /** @internal */\n        this._rawValidators = [];\n        /** @internal */\n        this._rawAsyncValidators = [];\n    }\n    Object.defineProperty(NgControl.prototype, \"validator\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return (unimplemented()); },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgControl.prototype, \"asyncValidator\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return (unimplemented()); },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @abstract\n     * @param {?} newValue\n     * @return {?}\n     */\n    NgControl.prototype.viewToModelUpdate = function (newValue) { };\n    return NgControl;\n}(AbstractControlDirective));\nfunction NgControl_tsickle_Closure_declarations() {\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    NgControl.prototype._parent;\n    /** @type {?} */\n    NgControl.prototype.name;\n    /** @type {?} */\n    NgControl.prototype.valueAccessor;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    NgControl.prototype._rawValidators;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    NgControl.prototype._rawAsyncValidators;\n}\n//# sourceMappingURL=ng_control.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/forms/src/directives/ng_control.js\n// module id = 108\n// module chunks = 0","/**\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 */\nimport { PRIMARY_OUTLET } from './shared';\nimport { forEach, shallowEqual } from './utils/collection';\nexport function createEmptyUrlTree() {\n    return new UrlTree(new UrlSegmentGroup([], {}), {}, null);\n}\nexport function containsTree(container, containee, exact) {\n    if (exact) {\n        return equalSegmentGroups(container.root, containee.root);\n    }\n    else {\n        return containsSegmentGroup(container.root, containee.root);\n    }\n}\nfunction equalSegmentGroups(container, containee) {\n    if (!equalPath(container.segments, containee.segments))\n        return false;\n    if (container.numberOfChildren !== containee.numberOfChildren)\n        return false;\n    for (var c in containee.children) {\n        if (!container.children[c])\n            return false;\n        if (!equalSegmentGroups(container.children[c], containee.children[c]))\n            return false;\n    }\n    return true;\n}\nfunction containsSegmentGroup(container, containee) {\n    return containsSegmentGroupHelper(container, containee, containee.segments);\n}\nfunction containsSegmentGroupHelper(container, containee, containeePaths) {\n    if (container.segments.length > containeePaths.length) {\n        var current = container.segments.slice(0, containeePaths.length);\n        if (!equalPath(current, containeePaths))\n            return false;\n        if (containee.hasChildren())\n            return false;\n        return true;\n    }\n    else if (container.segments.length === containeePaths.length) {\n        if (!equalPath(container.segments, containeePaths))\n            return false;\n        for (var c in containee.children) {\n            if (!container.children[c])\n                return false;\n            if (!containsSegmentGroup(container.children[c], containee.children[c]))\n                return false;\n        }\n        return true;\n    }\n    else {\n        var current = containeePaths.slice(0, container.segments.length);\n        var next = containeePaths.slice(container.segments.length);\n        if (!equalPath(container.segments, current))\n            return false;\n        if (!container.children[PRIMARY_OUTLET])\n            return false;\n        return containsSegmentGroupHelper(container.children[PRIMARY_OUTLET], containee, next);\n    }\n}\n/**\n * @whatItDoes Represents the parsed URL.\n *\n * @howToUse\n *\n * ```\n * @Component({templateUrl:'template.html'})\n * class MyComponent {\n *   constructor(router: Router) {\n *     const tree: UrlTree =\n * router.parseUrl('/team/33/(user/victor//support:help)?debug=true#fragment');\n *     const f = tree.fragment; // return 'fragment'\n *     const q = tree.queryParams; // returns {debug: 'true'}\n *     const g: UrlSegmentGroup = tree.root.children[PRIMARY_OUTLET];\n *     const s: UrlSegment[] = g.segments; // returns 2 segments 'team' and '33'\n *     g.children[PRIMARY_OUTLET].segments; // returns 2 segments 'user' and 'victor'\n *     g.children['support'].segments; // return 1 segment 'help'\n *   }\n * }\n * ```\n *\n * @description\n *\n * Since a router state is a tree, and the URL is nothing but a serialized state, the URL is a\n * serialized tree.\n * UrlTree is a data structure that provides a lot of affordances in dealing with URLs\n *\n * @stable\n */\nexport var UrlTree = (function () {\n    /**\n     * @internal\n     */\n    function UrlTree(\n        /**\n        * The root segment group of the URL tree.\n         */\n        root, \n        /**\n         * The query params of the URL.\n         */\n        queryParams, \n        /**\n         * The fragment of the URL.\n         */\n        fragment) {\n        this.root = root;\n        this.queryParams = queryParams;\n        this.fragment = fragment;\n    }\n    /**\n     * @docsNotRequired\n     */\n    UrlTree.prototype.toString = function () { return new DefaultUrlSerializer().serialize(this); };\n    return UrlTree;\n}());\n/**\n * @whatItDoes Represents the parsed URL segment.\n *\n * See {@link UrlTree} for more information.\n *\n * @stable\n */\nexport var UrlSegmentGroup = (function () {\n    function UrlSegmentGroup(\n        /**\n         * The URL segments of this group. See {@link UrlSegment} for more information.\n         */\n        segments, \n        /**\n         * The list of children of this group.\n         */\n        children) {\n        var _this = this;\n        this.segments = segments;\n        this.children = children;\n        /**\n         * The parent node in the url tree.\n         */\n        this.parent = null;\n        forEach(children, function (v, k) { return v.parent = _this; });\n    }\n    /**\n     * Return true if the segment has child segments\n     */\n    UrlSegmentGroup.prototype.hasChildren = function () { return this.numberOfChildren > 0; };\n    Object.defineProperty(UrlSegmentGroup.prototype, \"numberOfChildren\", {\n        /**\n         * Returns the number of child sements.\n         */\n        get: function () { return Object.keys(this.children).length; },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @docsNotRequired\n     */\n    UrlSegmentGroup.prototype.toString = function () { return serializePaths(this); };\n    return UrlSegmentGroup;\n}());\n/**\n * @whatItDoes Represents a single URL segment.\n *\n * @howToUse\n *\n * ```\n * @Component({templateUrl:'template.html'})\n * class MyComponent {\n *   constructor(router: Router) {\n *     const tree: UrlTree = router.parseUrl('/team;id=33');\n *     const g: UrlSegmentGroup = tree.root.children[PRIMARY_OUTLET];\n *     const s: UrlSegment[] = g.segments;\n *     s[0].path; // returns 'team'\n *     s[0].parameters; // returns {id: 33}\n *   }\n * }\n * ```\n *\n * @description\n *\n * A UrlSegment is a part of a URL between the two slashes. It contains a path and\n * the matrix parameters associated with the segment.\n *\n * @stable\n */\nexport var UrlSegment = (function () {\n    function UrlSegment(\n        /**\n         * The part part of a URL segment.\n         */\n        path, \n        /**\n         * The matrix parameters associated with a segment.\n         */\n        parameters) {\n        this.path = path;\n        this.parameters = parameters;\n    }\n    /**\n     * @docsNotRequired\n     */\n    UrlSegment.prototype.toString = function () { return serializePath(this); };\n    return UrlSegment;\n}());\nexport function equalSegments(a, b) {\n    if (a.length !== b.length)\n        return false;\n    for (var i = 0; i < a.length; ++i) {\n        if (a[i].path !== b[i].path)\n            return false;\n        if (!shallowEqual(a[i].parameters, b[i].parameters))\n            return false;\n    }\n    return true;\n}\nexport function equalPath(a, b) {\n    if (a.length !== b.length)\n        return false;\n    for (var i = 0; i < a.length; ++i) {\n        if (a[i].path !== b[i].path)\n            return false;\n    }\n    return true;\n}\nexport function mapChildrenIntoArray(segment, fn) {\n    var res = [];\n    forEach(segment.children, function (child, childOutlet) {\n        if (childOutlet === PRIMARY_OUTLET) {\n            res = res.concat(fn(child, childOutlet));\n        }\n    });\n    forEach(segment.children, function (child, childOutlet) {\n        if (childOutlet !== PRIMARY_OUTLET) {\n            res = res.concat(fn(child, childOutlet));\n        }\n    });\n    return res;\n}\n/**\n * @whatItDoes Serializes and deserializes a URL string into a URL tree.\n *\n * @description The url serialization strategy is customizable. You can\n * make all URLs case insensitive by providing a custom UrlSerializer.\n *\n * See {@link DefaultUrlSerializer} for an example of a URL serializer.\n *\n * @stable\n */\nexport var UrlSerializer = (function () {\n    function UrlSerializer() {\n    }\n    return UrlSerializer;\n}());\n/**\n * @whatItDoes A default implementation of the {@link UrlSerializer}.\n *\n * @description\n *\n * Example URLs:\n *\n * ```\n * /inbox/33(popup:compose)\n * /inbox/33;open=true/messages/44\n * ```\n *\n * DefaultUrlSerializer uses parentheses to serialize secondary segments (e.g., popup:compose), the\n * colon syntax to specify the outlet, and the ';parameter=value' syntax (e.g., open=true) to\n * specify route specific parameters.\n *\n * @stable\n */\nexport var DefaultUrlSerializer = (function () {\n    function DefaultUrlSerializer() {\n    }\n    /**\n     * Parse a url into a {@link UrlTree}.\n     */\n    DefaultUrlSerializer.prototype.parse = function (url) {\n        var p = new UrlParser(url);\n        return new UrlTree(p.parseRootSegment(), p.parseQueryParams(), p.parseFragment());\n    };\n    /**\n     * Converts a {@link UrlTree} into a url.\n     */\n    DefaultUrlSerializer.prototype.serialize = function (tree) {\n        var segment = \"/\" + serializeSegment(tree.root, true);\n        var query = serializeQueryParams(tree.queryParams);\n        var fragment = tree.fragment !== null && tree.fragment !== undefined ? \"#\" + encodeURI(tree.fragment) : '';\n        return \"\" + segment + query + fragment;\n    };\n    return DefaultUrlSerializer;\n}());\nexport function serializePaths(segment) {\n    return segment.segments.map(function (p) { return serializePath(p); }).join('/');\n}\nfunction serializeSegment(segment, root) {\n    if (segment.hasChildren() && root) {\n        var primary = segment.children[PRIMARY_OUTLET] ?\n            serializeSegment(segment.children[PRIMARY_OUTLET], false) :\n            '';\n        var children_1 = [];\n        forEach(segment.children, function (v, k) {\n            if (k !== PRIMARY_OUTLET) {\n                children_1.push(k + \":\" + serializeSegment(v, false));\n            }\n        });\n        if (children_1.length > 0) {\n            return primary + \"(\" + children_1.join('//') + \")\";\n        }\n        else {\n            return \"\" + primary;\n        }\n    }\n    else if (segment.hasChildren() && !root) {\n        var children = mapChildrenIntoArray(segment, function (v, k) {\n            if (k === PRIMARY_OUTLET) {\n                return [serializeSegment(segment.children[PRIMARY_OUTLET], false)];\n            }\n            else {\n                return [(k + \":\" + serializeSegment(v, false))];\n            }\n        });\n        return serializePaths(segment) + \"/(\" + children.join('//') + \")\";\n    }\n    else {\n        return serializePaths(segment);\n    }\n}\nexport function encode(s) {\n    return encodeURIComponent(s);\n}\nexport function decode(s) {\n    return decodeURIComponent(s);\n}\nexport function serializePath(path) {\n    return \"\" + encode(path.path) + serializeParams(path.parameters);\n}\nfunction serializeParams(params) {\n    return pairs(params).map(function (p) { return (\";\" + encode(p.first) + \"=\" + encode(p.second)); }).join('');\n}\nfunction serializeQueryParams(params) {\n    var strs = pairs(params).map(function (p) { return (encode(p.first) + \"=\" + encode(p.second)); });\n    return strs.length > 0 ? \"?\" + strs.join(\"&\") : '';\n}\nvar Pair = (function () {\n    function Pair(first, second) {\n        this.first = first;\n        this.second = second;\n    }\n    return Pair;\n}());\nfunction pairs(obj) {\n    var res = [];\n    for (var prop in obj) {\n        if (obj.hasOwnProperty(prop)) {\n            res.push(new Pair(prop, obj[prop]));\n        }\n    }\n    return res;\n}\nvar SEGMENT_RE = /^[^\\/\\(\\)\\?;=&#]+/;\nfunction matchSegments(str) {\n    SEGMENT_RE.lastIndex = 0;\n    var match = str.match(SEGMENT_RE);\n    return match ? match[0] : '';\n}\nvar QUERY_PARAM_RE = /^[^=\\?&#]+/;\nfunction matchQueryParams(str) {\n    QUERY_PARAM_RE.lastIndex = 0;\n    var match = str.match(SEGMENT_RE);\n    return match ? match[0] : '';\n}\nvar QUERY_PARAM_VALUE_RE = /^[^\\?&#]+/;\nfunction matchUrlQueryParamValue(str) {\n    QUERY_PARAM_VALUE_RE.lastIndex = 0;\n    var match = str.match(QUERY_PARAM_VALUE_RE);\n    return match ? match[0] : '';\n}\nvar UrlParser = (function () {\n    function UrlParser(url) {\n        this.url = url;\n        this.remaining = url;\n    }\n    UrlParser.prototype.peekStartsWith = function (str) { return this.remaining.startsWith(str); };\n    UrlParser.prototype.capture = function (str) {\n        if (!this.remaining.startsWith(str)) {\n            throw new Error(\"Expected \\\"\" + str + \"\\\".\");\n        }\n        this.remaining = this.remaining.substring(str.length);\n    };\n    UrlParser.prototype.parseRootSegment = function () {\n        if (this.remaining.startsWith('/')) {\n            this.capture('/');\n        }\n        if (this.remaining === '' || this.remaining.startsWith('?') || this.remaining.startsWith('#')) {\n            return new UrlSegmentGroup([], {});\n        }\n        else {\n            return new UrlSegmentGroup([], this.parseChildren());\n        }\n    };\n    UrlParser.prototype.parseChildren = function () {\n        if (this.remaining.length == 0) {\n            return {};\n        }\n        if (this.peekStartsWith('/')) {\n            this.capture('/');\n        }\n        var paths = [];\n        if (!this.peekStartsWith('(')) {\n            paths.push(this.parseSegments());\n        }\n        while (this.peekStartsWith('/') && !this.peekStartsWith('//') && !this.peekStartsWith('/(')) {\n            this.capture('/');\n            paths.push(this.parseSegments());\n        }\n        var children = {};\n        if (this.peekStartsWith('/(')) {\n            this.capture('/');\n            children = this.parseParens(true);\n        }\n        var res = {};\n        if (this.peekStartsWith('(')) {\n            res = this.parseParens(false);\n        }\n        if (paths.length > 0 || Object.keys(children).length > 0) {\n            res[PRIMARY_OUTLET] = new UrlSegmentGroup(paths, children);\n        }\n        return res;\n    };\n    UrlParser.prototype.parseSegments = function () {\n        var path = matchSegments(this.remaining);\n        if (path === '' && this.peekStartsWith(';')) {\n            throw new Error(\"Empty path url segment cannot have parameters: '\" + this.remaining + \"'.\");\n        }\n        this.capture(path);\n        var matrixParams = {};\n        if (this.peekStartsWith(';')) {\n            matrixParams = this.parseMatrixParams();\n        }\n        return new UrlSegment(decode(path), matrixParams);\n    };\n    UrlParser.prototype.parseQueryParams = function () {\n        var params = {};\n        if (this.peekStartsWith('?')) {\n            this.capture('?');\n            this.parseQueryParam(params);\n            while (this.remaining.length > 0 && this.peekStartsWith('&')) {\n                this.capture('&');\n                this.parseQueryParam(params);\n            }\n        }\n        return params;\n    };\n    UrlParser.prototype.parseFragment = function () {\n        if (this.peekStartsWith('#')) {\n            return decodeURI(this.remaining.substring(1));\n        }\n        else {\n            return null;\n        }\n    };\n    UrlParser.prototype.parseMatrixParams = function () {\n        var params = {};\n        while (this.remaining.length > 0 && this.peekStartsWith(';')) {\n            this.capture(';');\n            this.parseParam(params);\n        }\n        return params;\n    };\n    UrlParser.prototype.parseParam = function (params) {\n        var key = matchSegments(this.remaining);\n        if (!key) {\n            return;\n        }\n        this.capture(key);\n        var value = '';\n        if (this.peekStartsWith('=')) {\n            this.capture('=');\n            var valueMatch = matchSegments(this.remaining);\n            if (valueMatch) {\n                value = valueMatch;\n                this.capture(value);\n            }\n        }\n        params[decode(key)] = decode(value);\n    };\n    UrlParser.prototype.parseQueryParam = function (params) {\n        var key = matchQueryParams(this.remaining);\n        if (!key) {\n            return;\n        }\n        this.capture(key);\n        var value = '';\n        if (this.peekStartsWith('=')) {\n            this.capture('=');\n            var valueMatch = matchUrlQueryParamValue(this.remaining);\n            if (valueMatch) {\n                value = valueMatch;\n                this.capture(value);\n            }\n        }\n        params[decode(key)] = decode(value);\n    };\n    UrlParser.prototype.parseParens = function (allowPrimary) {\n        var segments = {};\n        this.capture('(');\n        while (!this.peekStartsWith(')') && this.remaining.length > 0) {\n            var path = matchSegments(this.remaining);\n            var next = this.remaining[path.length];\n            // if is is not one of these characters, then the segment was unescaped\n            // or the group was not closed\n            if (next !== '/' && next !== ')' && next !== ';') {\n                throw new Error(\"Cannot parse url '\" + this.url + \"'\");\n            }\n            var outletName = void 0;\n            if (path.indexOf(':') > -1) {\n                outletName = path.substr(0, path.indexOf(':'));\n                this.capture(outletName);\n                this.capture(':');\n            }\n            else if (allowPrimary) {\n                outletName = PRIMARY_OUTLET;\n            }\n            var children = this.parseChildren();\n            segments[outletName] = Object.keys(children).length === 1 ? children[PRIMARY_OUTLET] :\n                new UrlSegmentGroup([], children);\n            if (this.peekStartsWith('//')) {\n                this.capture('//');\n            }\n        }\n        this.capture(')');\n        return segments;\n    };\n    return UrlParser;\n}());\n//# sourceMappingURL=url_tree.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/router/src/url_tree.js\n// module id = 109\n// module chunks = 0","\"use strict\";\nvar UUID = (function () {\n    function UUID() {\n        // no-op\n    }\n    UUID.UUID = function () {\n        if (typeof (window) !== \"undefined\" && typeof (window.crypto) !== \"undefined\" && typeof (window.crypto.getRandomValues) !== \"undefined\") {\n            // If we have a cryptographically secure PRNG, use that\n            // http://stackoverflow.com/questions/6906916/collisions-when-generating-uuids-in-javascript\n            var buf = new Uint16Array(8);\n            window.crypto.getRandomValues(buf);\n            return (this.pad4(buf[0]) + this.pad4(buf[1]) + \"-\" + this.pad4(buf[2]) + \"-\" + this.pad4(buf[3]) + \"-\" + this.pad4(buf[4]) + \"-\" + this.pad4(buf[5]) + this.pad4(buf[6]) + this.pad4(buf[7]));\n        }\n        else {\n            // Otherwise, just use Math.random\n            // https://stackoverflow.com/questions/105034/create-guid-uuid-in-javascript\n            // https://stackoverflow.com/questions/11605068/why-does-jshint-argue-against-bitwise-operators-how-should-i-express-this-code\n            return this.random4() + this.random4() + \"-\" + this.random4() + \"-\" + this.random4() + \"-\" +\n                this.random4() + \"-\" + this.random4() + this.random4() + this.random4();\n        }\n    };\n    UUID.pad4 = function (num) {\n        var ret = num.toString(16);\n        while (ret.length < 4) {\n            ret = \"0\" + ret;\n        }\n        return ret;\n    };\n    UUID.random4 = function () {\n        return Math.floor((1 + Math.random()) * 0x10000)\n            .toString(16)\n            .substring(1);\n    };\n    return UUID;\n}());\nexports.UUID = UUID;\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/angular2-uuid/index.js\n// module id = 110\n// module chunks = 0","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author   Feross Aboukhadijeh <https://feross.org>\n * @license  MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar customInspectSymbol =\n  (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n    ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n    : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nvar K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n *   === true    Use Uint8Array implementation (fastest)\n *   === false   Print warning and recommend using `buffer` v4.x which has an Object\n *               implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n    typeof console.error === 'function') {\n  console.error(\n    'This browser lacks typed array (Uint8Array) support which is required by ' +\n    '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n  )\n}\n\nfunction typedArraySupport () {\n  // Can typed array instances can be augmented?\n  try {\n    var arr = new Uint8Array(1)\n    var proto = { foo: function () { return 42 } }\n    Object.setPrototypeOf(proto, Uint8Array.prototype)\n    Object.setPrototypeOf(arr, proto)\n    return arr.foo() === 42\n  } catch (e) {\n    return false\n  }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n  enumerable: true,\n  get: function () {\n    if (!Buffer.isBuffer(this)) return undefined\n    return this.buffer\n  }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n  enumerable: true,\n  get: function () {\n    if (!Buffer.isBuffer(this)) return undefined\n    return this.byteOffset\n  }\n})\n\nfunction createBuffer (length) {\n  if (length > K_MAX_LENGTH) {\n    throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n  }\n  // Return an augmented `Uint8Array` instance\n  var buf = new Uint8Array(length)\n  Object.setPrototypeOf(buf, Buffer.prototype)\n  return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n  // Common case.\n  if (typeof arg === 'number') {\n    if (typeof encodingOrOffset === 'string') {\n      throw new TypeError(\n        'The \"string\" argument must be of type string. Received type number'\n      )\n    }\n    return allocUnsafe(arg)\n  }\n  return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n  if (typeof value === 'string') {\n    return fromString(value, encodingOrOffset)\n  }\n\n  if (ArrayBuffer.isView(value)) {\n    return fromArrayView(value)\n  }\n\n  if (value == null) {\n    throw new TypeError(\n      'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n      'or Array-like Object. Received type ' + (typeof value)\n    )\n  }\n\n  if (isInstance(value, ArrayBuffer) ||\n      (value && isInstance(value.buffer, ArrayBuffer))) {\n    return fromArrayBuffer(value, encodingOrOffset, length)\n  }\n\n  if (typeof SharedArrayBuffer !== 'undefined' &&\n      (isInstance(value, SharedArrayBuffer) ||\n      (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n    return fromArrayBuffer(value, encodingOrOffset, length)\n  }\n\n  if (typeof value === 'number') {\n    throw new TypeError(\n      'The \"value\" argument must not be of type number. Received type number'\n    )\n  }\n\n  var valueOf = value.valueOf && value.valueOf()\n  if (valueOf != null && valueOf !== value) {\n    return Buffer.from(valueOf, encodingOrOffset, length)\n  }\n\n  var b = fromObject(value)\n  if (b) return b\n\n  if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n      typeof value[Symbol.toPrimitive] === 'function') {\n    return Buffer.from(\n      value[Symbol.toPrimitive]('string'), encodingOrOffset, length\n    )\n  }\n\n  throw new TypeError(\n    'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n    'or Array-like Object. Received type ' + (typeof value)\n  )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n  return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n  if (typeof size !== 'number') {\n    throw new TypeError('\"size\" argument must be of type number')\n  } else if (size < 0) {\n    throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n  }\n}\n\nfunction alloc (size, fill, encoding) {\n  assertSize(size)\n  if (size <= 0) {\n    return createBuffer(size)\n  }\n  if (fill !== undefined) {\n    // Only pay attention to encoding if it's a string. This\n    // prevents accidentally sending in a number that would\n    // be interpreted as a start offset.\n    return typeof encoding === 'string'\n      ? createBuffer(size).fill(fill, encoding)\n      : createBuffer(size).fill(fill)\n  }\n  return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n  return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n  assertSize(size)\n  return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n  return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n  return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n  if (typeof encoding !== 'string' || encoding === '') {\n    encoding = 'utf8'\n  }\n\n  if (!Buffer.isEncoding(encoding)) {\n    throw new TypeError('Unknown encoding: ' + encoding)\n  }\n\n  var length = byteLength(string, encoding) | 0\n  var buf = createBuffer(length)\n\n  var actual = buf.write(string, encoding)\n\n  if (actual !== length) {\n    // Writing a hex string, for example, that contains invalid characters will\n    // cause everything after the first invalid character to be ignored. (e.g.\n    // 'abxxcd' will be treated as 'ab')\n    buf = buf.slice(0, actual)\n  }\n\n  return buf\n}\n\nfunction fromArrayLike (array) {\n  var length = array.length < 0 ? 0 : checked(array.length) | 0\n  var buf = createBuffer(length)\n  for (var i = 0; i < length; i += 1) {\n    buf[i] = array[i] & 255\n  }\n  return buf\n}\n\nfunction fromArrayView (arrayView) {\n  if (isInstance(arrayView, Uint8Array)) {\n    var copy = new Uint8Array(arrayView)\n    return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n  }\n  return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n  if (byteOffset < 0 || array.byteLength < byteOffset) {\n    throw new RangeError('\"offset\" is outside of buffer bounds')\n  }\n\n  if (array.byteLength < byteOffset + (length || 0)) {\n    throw new RangeError('\"length\" is outside of buffer bounds')\n  }\n\n  var buf\n  if (byteOffset === undefined && length === undefined) {\n    buf = new Uint8Array(array)\n  } else if (length === undefined) {\n    buf = new Uint8Array(array, byteOffset)\n  } else {\n    buf = new Uint8Array(array, byteOffset, length)\n  }\n\n  // Return an augmented `Uint8Array` instance\n  Object.setPrototypeOf(buf, Buffer.prototype)\n\n  return buf\n}\n\nfunction fromObject (obj) {\n  if (Buffer.isBuffer(obj)) {\n    var len = checked(obj.length) | 0\n    var buf = createBuffer(len)\n\n    if (buf.length === 0) {\n      return buf\n    }\n\n    obj.copy(buf, 0, 0, len)\n    return buf\n  }\n\n  if (obj.length !== undefined) {\n    if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n      return createBuffer(0)\n    }\n    return fromArrayLike(obj)\n  }\n\n  if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n    return fromArrayLike(obj.data)\n  }\n}\n\nfunction checked (length) {\n  // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n  // length is NaN (which is otherwise coerced to zero.)\n  if (length >= K_MAX_LENGTH) {\n    throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n                         'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n  }\n  return length | 0\n}\n\nfunction SlowBuffer (length) {\n  if (+length != length) { // eslint-disable-line eqeqeq\n    length = 0\n  }\n  return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n  return b != null && b._isBuffer === true &&\n    b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n  if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n  if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n  if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n    throw new TypeError(\n      'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n    )\n  }\n\n  if (a === b) return 0\n\n  var x = a.length\n  var y = b.length\n\n  for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n    if (a[i] !== b[i]) {\n      x = a[i]\n      y = b[i]\n      break\n    }\n  }\n\n  if (x < y) return -1\n  if (y < x) return 1\n  return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n  switch (String(encoding).toLowerCase()) {\n    case 'hex':\n    case 'utf8':\n    case 'utf-8':\n    case 'ascii':\n    case 'latin1':\n    case 'binary':\n    case 'base64':\n    case 'ucs2':\n    case 'ucs-2':\n    case 'utf16le':\n    case 'utf-16le':\n      return true\n    default:\n      return false\n  }\n}\n\nBuffer.concat = function concat (list, length) {\n  if (!Array.isArray(list)) {\n    throw new TypeError('\"list\" argument must be an Array of Buffers')\n  }\n\n  if (list.length === 0) {\n    return Buffer.alloc(0)\n  }\n\n  var i\n  if (length === undefined) {\n    length = 0\n    for (i = 0; i < list.length; ++i) {\n      length += list[i].length\n    }\n  }\n\n  var buffer = Buffer.allocUnsafe(length)\n  var pos = 0\n  for (i = 0; i < list.length; ++i) {\n    var buf = list[i]\n    if (isInstance(buf, Uint8Array)) {\n      if (pos + buf.length > buffer.length) {\n        Buffer.from(buf).copy(buffer, pos)\n      } else {\n        Uint8Array.prototype.set.call(\n          buffer,\n          buf,\n          pos\n        )\n      }\n    } else if (!Buffer.isBuffer(buf)) {\n      throw new TypeError('\"list\" argument must be an Array of Buffers')\n    } else {\n      buf.copy(buffer, pos)\n    }\n    pos += buf.length\n  }\n  return buffer\n}\n\nfunction byteLength (string, encoding) {\n  if (Buffer.isBuffer(string)) {\n    return string.length\n  }\n  if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n    return string.byteLength\n  }\n  if (typeof string !== 'string') {\n    throw new TypeError(\n      'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n      'Received type ' + typeof string\n    )\n  }\n\n  var len = string.length\n  var mustMatch = (arguments.length > 2 && arguments[2] === true)\n  if (!mustMatch && len === 0) return 0\n\n  // Use a for loop to avoid recursion\n  var loweredCase = false\n  for (;;) {\n    switch (encoding) {\n      case 'ascii':\n      case 'latin1':\n      case 'binary':\n        return len\n      case 'utf8':\n      case 'utf-8':\n        return utf8ToBytes(string).length\n      case 'ucs2':\n      case 'ucs-2':\n      case 'utf16le':\n      case 'utf-16le':\n        return len * 2\n      case 'hex':\n        return len >>> 1\n      case 'base64':\n        return base64ToBytes(string).length\n      default:\n        if (loweredCase) {\n          return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n        }\n        encoding = ('' + encoding).toLowerCase()\n        loweredCase = true\n    }\n  }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n  var loweredCase = false\n\n  // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n  // property of a typed array.\n\n  // This behaves neither like String nor Uint8Array in that we set start/end\n  // to their upper/lower bounds if the value passed is out of range.\n  // undefined is handled specially as per ECMA-262 6th Edition,\n  // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n  if (start === undefined || start < 0) {\n    start = 0\n  }\n  // Return early if start > this.length. Done here to prevent potential uint32\n  // coercion fail below.\n  if (start > this.length) {\n    return ''\n  }\n\n  if (end === undefined || end > this.length) {\n    end = this.length\n  }\n\n  if (end <= 0) {\n    return ''\n  }\n\n  // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n  end >>>= 0\n  start >>>= 0\n\n  if (end <= start) {\n    return ''\n  }\n\n  if (!encoding) encoding = 'utf8'\n\n  while (true) {\n    switch (encoding) {\n      case 'hex':\n        return hexSlice(this, start, end)\n\n      case 'utf8':\n      case 'utf-8':\n        return utf8Slice(this, start, end)\n\n      case 'ascii':\n        return asciiSlice(this, start, end)\n\n      case 'latin1':\n      case 'binary':\n        return latin1Slice(this, start, end)\n\n      case 'base64':\n        return base64Slice(this, start, end)\n\n      case 'ucs2':\n      case 'ucs-2':\n      case 'utf16le':\n      case 'utf-16le':\n        return utf16leSlice(this, start, end)\n\n      default:\n        if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n        encoding = (encoding + '').toLowerCase()\n        loweredCase = true\n    }\n  }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n  var i = b[n]\n  b[n] = b[m]\n  b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n  var len = this.length\n  if (len % 2 !== 0) {\n    throw new RangeError('Buffer size must be a multiple of 16-bits')\n  }\n  for (var i = 0; i < len; i += 2) {\n    swap(this, i, i + 1)\n  }\n  return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n  var len = this.length\n  if (len % 4 !== 0) {\n    throw new RangeError('Buffer size must be a multiple of 32-bits')\n  }\n  for (var i = 0; i < len; i += 4) {\n    swap(this, i, i + 3)\n    swap(this, i + 1, i + 2)\n  }\n  return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n  var len = this.length\n  if (len % 8 !== 0) {\n    throw new RangeError('Buffer size must be a multiple of 64-bits')\n  }\n  for (var i = 0; i < len; i += 8) {\n    swap(this, i, i + 7)\n    swap(this, i + 1, i + 6)\n    swap(this, i + 2, i + 5)\n    swap(this, i + 3, i + 4)\n  }\n  return this\n}\n\nBuffer.prototype.toString = function toString () {\n  var length = this.length\n  if (length === 0) return ''\n  if (arguments.length === 0) return utf8Slice(this, 0, length)\n  return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n  if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n  if (this === b) return true\n  return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n  var str = ''\n  var max = exports.INSPECT_MAX_BYTES\n  str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n  if (this.length > max) str += ' ... '\n  return '<Buffer ' + str + '>'\n}\nif (customInspectSymbol) {\n  Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n  if (isInstance(target, Uint8Array)) {\n    target = Buffer.from(target, target.offset, target.byteLength)\n  }\n  if (!Buffer.isBuffer(target)) {\n    throw new TypeError(\n      'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n      'Received type ' + (typeof target)\n    )\n  }\n\n  if (start === undefined) {\n    start = 0\n  }\n  if (end === undefined) {\n    end = target ? target.length : 0\n  }\n  if (thisStart === undefined) {\n    thisStart = 0\n  }\n  if (thisEnd === undefined) {\n    thisEnd = this.length\n  }\n\n  if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n    throw new RangeError('out of range index')\n  }\n\n  if (thisStart >= thisEnd && start >= end) {\n    return 0\n  }\n  if (thisStart >= thisEnd) {\n    return -1\n  }\n  if (start >= end) {\n    return 1\n  }\n\n  start >>>= 0\n  end >>>= 0\n  thisStart >>>= 0\n  thisEnd >>>= 0\n\n  if (this === target) return 0\n\n  var x = thisEnd - thisStart\n  var y = end - start\n  var len = Math.min(x, y)\n\n  var thisCopy = this.slice(thisStart, thisEnd)\n  var targetCopy = target.slice(start, end)\n\n  for (var i = 0; i < len; ++i) {\n    if (thisCopy[i] !== targetCopy[i]) {\n      x = thisCopy[i]\n      y = targetCopy[i]\n      break\n    }\n  }\n\n  if (x < y) return -1\n  if (y < x) return 1\n  return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n  // Empty buffer means no match\n  if (buffer.length === 0) return -1\n\n  // Normalize byteOffset\n  if (typeof byteOffset === 'string') {\n    encoding = byteOffset\n    byteOffset = 0\n  } else if (byteOffset > 0x7fffffff) {\n    byteOffset = 0x7fffffff\n  } else if (byteOffset < -0x80000000) {\n    byteOffset = -0x80000000\n  }\n  byteOffset = +byteOffset // Coerce to Number.\n  if (numberIsNaN(byteOffset)) {\n    // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n    byteOffset = dir ? 0 : (buffer.length - 1)\n  }\n\n  // Normalize byteOffset: negative offsets start from the end of the buffer\n  if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n  if (byteOffset >= buffer.length) {\n    if (dir) return -1\n    else byteOffset = buffer.length - 1\n  } else if (byteOffset < 0) {\n    if (dir) byteOffset = 0\n    else return -1\n  }\n\n  // Normalize val\n  if (typeof val === 'string') {\n    val = Buffer.from(val, encoding)\n  }\n\n  // Finally, search either indexOf (if dir is true) or lastIndexOf\n  if (Buffer.isBuffer(val)) {\n    // Special case: looking for empty string/buffer always fails\n    if (val.length === 0) {\n      return -1\n    }\n    return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n  } else if (typeof val === 'number') {\n    val = val & 0xFF // Search for a byte value [0-255]\n    if (typeof Uint8Array.prototype.indexOf === 'function') {\n      if (dir) {\n        return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n      } else {\n        return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n      }\n    }\n    return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n  }\n\n  throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n  var indexSize = 1\n  var arrLength = arr.length\n  var valLength = val.length\n\n  if (encoding !== undefined) {\n    encoding = String(encoding).toLowerCase()\n    if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n        encoding === 'utf16le' || encoding === 'utf-16le') {\n      if (arr.length < 2 || val.length < 2) {\n        return -1\n      }\n      indexSize = 2\n      arrLength /= 2\n      valLength /= 2\n      byteOffset /= 2\n    }\n  }\n\n  function read (buf, i) {\n    if (indexSize === 1) {\n      return buf[i]\n    } else {\n      return buf.readUInt16BE(i * indexSize)\n    }\n  }\n\n  var i\n  if (dir) {\n    var foundIndex = -1\n    for (i = byteOffset; i < arrLength; i++) {\n      if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n        if (foundIndex === -1) foundIndex = i\n        if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n      } else {\n        if (foundIndex !== -1) i -= i - foundIndex\n        foundIndex = -1\n      }\n    }\n  } else {\n    if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n    for (i = byteOffset; i >= 0; i--) {\n      var found = true\n      for (var j = 0; j < valLength; j++) {\n        if (read(arr, i + j) !== read(val, j)) {\n          found = false\n          break\n        }\n      }\n      if (found) return i\n    }\n  }\n\n  return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n  return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n  return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n  return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n  offset = Number(offset) || 0\n  var remaining = buf.length - offset\n  if (!length) {\n    length = remaining\n  } else {\n    length = Number(length)\n    if (length > remaining) {\n      length = remaining\n    }\n  }\n\n  var strLen = string.length\n\n  if (length > strLen / 2) {\n    length = strLen / 2\n  }\n  for (var i = 0; i < length; ++i) {\n    var parsed = parseInt(string.substr(i * 2, 2), 16)\n    if (numberIsNaN(parsed)) return i\n    buf[offset + i] = parsed\n  }\n  return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n  return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n  return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n  return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n  return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n  // Buffer#write(string)\n  if (offset === undefined) {\n    encoding = 'utf8'\n    length = this.length\n    offset = 0\n  // Buffer#write(string, encoding)\n  } else if (length === undefined && typeof offset === 'string') {\n    encoding = offset\n    length = this.length\n    offset = 0\n  // Buffer#write(string, offset[, length][, encoding])\n  } else if (isFinite(offset)) {\n    offset = offset >>> 0\n    if (isFinite(length)) {\n      length = length >>> 0\n      if (encoding === undefined) encoding = 'utf8'\n    } else {\n      encoding = length\n      length = undefined\n    }\n  } else {\n    throw new Error(\n      'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n    )\n  }\n\n  var remaining = this.length - offset\n  if (length === undefined || length > remaining) length = remaining\n\n  if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n    throw new RangeError('Attempt to write outside buffer bounds')\n  }\n\n  if (!encoding) encoding = 'utf8'\n\n  var loweredCase = false\n  for (;;) {\n    switch (encoding) {\n      case 'hex':\n        return hexWrite(this, string, offset, length)\n\n      case 'utf8':\n      case 'utf-8':\n        return utf8Write(this, string, offset, length)\n\n      case 'ascii':\n      case 'latin1':\n      case 'binary':\n        return asciiWrite(this, string, offset, length)\n\n      case 'base64':\n        // Warning: maxLength not taken into account in base64Write\n        return base64Write(this, string, offset, length)\n\n      case 'ucs2':\n      case 'ucs-2':\n      case 'utf16le':\n      case 'utf-16le':\n        return ucs2Write(this, string, offset, length)\n\n      default:\n        if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n        encoding = ('' + encoding).toLowerCase()\n        loweredCase = true\n    }\n  }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n  return {\n    type: 'Buffer',\n    data: Array.prototype.slice.call(this._arr || this, 0)\n  }\n}\n\nfunction base64Slice (buf, start, end) {\n  if (start === 0 && end === buf.length) {\n    return base64.fromByteArray(buf)\n  } else {\n    return base64.fromByteArray(buf.slice(start, end))\n  }\n}\n\nfunction utf8Slice (buf, start, end) {\n  end = Math.min(buf.length, end)\n  var res = []\n\n  var i = start\n  while (i < end) {\n    var firstByte = buf[i]\n    var codePoint = null\n    var bytesPerSequence = (firstByte > 0xEF)\n      ? 4\n      : (firstByte > 0xDF)\n          ? 3\n          : (firstByte > 0xBF)\n              ? 2\n              : 1\n\n    if (i + bytesPerSequence <= end) {\n      var secondByte, thirdByte, fourthByte, tempCodePoint\n\n      switch (bytesPerSequence) {\n        case 1:\n          if (firstByte < 0x80) {\n            codePoint = firstByte\n          }\n          break\n        case 2:\n          secondByte = buf[i + 1]\n          if ((secondByte & 0xC0) === 0x80) {\n            tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n            if (tempCodePoint > 0x7F) {\n              codePoint = tempCodePoint\n            }\n          }\n          break\n        case 3:\n          secondByte = buf[i + 1]\n          thirdByte = buf[i + 2]\n          if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n            tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n            if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n              codePoint = tempCodePoint\n            }\n          }\n          break\n        case 4:\n          secondByte = buf[i + 1]\n          thirdByte = buf[i + 2]\n          fourthByte = buf[i + 3]\n          if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n            tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n            if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n              codePoint = tempCodePoint\n            }\n          }\n      }\n    }\n\n    if (codePoint === null) {\n      // we did not generate a valid codePoint so insert a\n      // replacement char (U+FFFD) and advance only 1 byte\n      codePoint = 0xFFFD\n      bytesPerSequence = 1\n    } else if (codePoint > 0xFFFF) {\n      // encode to utf16 (surrogate pair dance)\n      codePoint -= 0x10000\n      res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n      codePoint = 0xDC00 | codePoint & 0x3FF\n    }\n\n    res.push(codePoint)\n    i += bytesPerSequence\n  }\n\n  return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n  var len = codePoints.length\n  if (len <= MAX_ARGUMENTS_LENGTH) {\n    return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n  }\n\n  // Decode in chunks to avoid \"call stack size exceeded\".\n  var res = ''\n  var i = 0\n  while (i < len) {\n    res += String.fromCharCode.apply(\n      String,\n      codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n    )\n  }\n  return res\n}\n\nfunction asciiSlice (buf, start, end) {\n  var ret = ''\n  end = Math.min(buf.length, end)\n\n  for (var i = start; i < end; ++i) {\n    ret += String.fromCharCode(buf[i] & 0x7F)\n  }\n  return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n  var ret = ''\n  end = Math.min(buf.length, end)\n\n  for (var i = start; i < end; ++i) {\n    ret += String.fromCharCode(buf[i])\n  }\n  return ret\n}\n\nfunction hexSlice (buf, start, end) {\n  var len = buf.length\n\n  if (!start || start < 0) start = 0\n  if (!end || end < 0 || end > len) end = len\n\n  var out = ''\n  for (var i = start; i < end; ++i) {\n    out += hexSliceLookupTable[buf[i]]\n  }\n  return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n  var bytes = buf.slice(start, end)\n  var res = ''\n  // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n  for (var i = 0; i < bytes.length - 1; i += 2) {\n    res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n  }\n  return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n  var len = this.length\n  start = ~~start\n  end = end === undefined ? len : ~~end\n\n  if (start < 0) {\n    start += len\n    if (start < 0) start = 0\n  } else if (start > len) {\n    start = len\n  }\n\n  if (end < 0) {\n    end += len\n    if (end < 0) end = 0\n  } else if (end > len) {\n    end = len\n  }\n\n  if (end < start) end = start\n\n  var newBuf = this.subarray(start, end)\n  // Return an augmented `Uint8Array` instance\n  Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n  return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n  if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n  if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n  offset = offset >>> 0\n  byteLength = byteLength >>> 0\n  if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n  var val = this[offset]\n  var mul = 1\n  var i = 0\n  while (++i < byteLength && (mul *= 0x100)) {\n    val += this[offset + i] * mul\n  }\n\n  return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n  offset = offset >>> 0\n  byteLength = byteLength >>> 0\n  if (!noAssert) {\n    checkOffset(offset, byteLength, this.length)\n  }\n\n  var val = this[offset + --byteLength]\n  var mul = 1\n  while (byteLength > 0 && (mul *= 0x100)) {\n    val += this[offset + --byteLength] * mul\n  }\n\n  return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 1, this.length)\n  return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 2, this.length)\n  return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 2, this.length)\n  return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 4, this.length)\n\n  return ((this[offset]) |\n      (this[offset + 1] << 8) |\n      (this[offset + 2] << 16)) +\n      (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 4, this.length)\n\n  return (this[offset] * 0x1000000) +\n    ((this[offset + 1] << 16) |\n    (this[offset + 2] << 8) |\n    this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n  offset = offset >>> 0\n  byteLength = byteLength >>> 0\n  if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n  var val = this[offset]\n  var mul = 1\n  var i = 0\n  while (++i < byteLength && (mul *= 0x100)) {\n    val += this[offset + i] * mul\n  }\n  mul *= 0x80\n\n  if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n  return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n  offset = offset >>> 0\n  byteLength = byteLength >>> 0\n  if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n  var i = byteLength\n  var mul = 1\n  var val = this[offset + --i]\n  while (i > 0 && (mul *= 0x100)) {\n    val += this[offset + --i] * mul\n  }\n  mul *= 0x80\n\n  if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n  return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 1, this.length)\n  if (!(this[offset] & 0x80)) return (this[offset])\n  return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 2, this.length)\n  var val = this[offset] | (this[offset + 1] << 8)\n  return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 2, this.length)\n  var val = this[offset + 1] | (this[offset] << 8)\n  return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 4, this.length)\n\n  return (this[offset]) |\n    (this[offset + 1] << 8) |\n    (this[offset + 2] << 16) |\n    (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 4, this.length)\n\n  return (this[offset] << 24) |\n    (this[offset + 1] << 16) |\n    (this[offset + 2] << 8) |\n    (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 4, this.length)\n  return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 4, this.length)\n  return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 8, this.length)\n  return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 8, this.length)\n  return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n  if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n  if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n  if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  byteLength = byteLength >>> 0\n  if (!noAssert) {\n    var maxBytes = Math.pow(2, 8 * byteLength) - 1\n    checkInt(this, value, offset, byteLength, maxBytes, 0)\n  }\n\n  var mul = 1\n  var i = 0\n  this[offset] = value & 0xFF\n  while (++i < byteLength && (mul *= 0x100)) {\n    this[offset + i] = (value / mul) & 0xFF\n  }\n\n  return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  byteLength = byteLength >>> 0\n  if (!noAssert) {\n    var maxBytes = Math.pow(2, 8 * byteLength) - 1\n    checkInt(this, value, offset, byteLength, maxBytes, 0)\n  }\n\n  var i = byteLength - 1\n  var mul = 1\n  this[offset + i] = value & 0xFF\n  while (--i >= 0 && (mul *= 0x100)) {\n    this[offset + i] = (value / mul) & 0xFF\n  }\n\n  return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n  this[offset] = (value & 0xff)\n  return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n  this[offset] = (value & 0xff)\n  this[offset + 1] = (value >>> 8)\n  return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n  this[offset] = (value >>> 8)\n  this[offset + 1] = (value & 0xff)\n  return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n  this[offset + 3] = (value >>> 24)\n  this[offset + 2] = (value >>> 16)\n  this[offset + 1] = (value >>> 8)\n  this[offset] = (value & 0xff)\n  return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n  this[offset] = (value >>> 24)\n  this[offset + 1] = (value >>> 16)\n  this[offset + 2] = (value >>> 8)\n  this[offset + 3] = (value & 0xff)\n  return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) {\n    var limit = Math.pow(2, (8 * byteLength) - 1)\n\n    checkInt(this, value, offset, byteLength, limit - 1, -limit)\n  }\n\n  var i = 0\n  var mul = 1\n  var sub = 0\n  this[offset] = value & 0xFF\n  while (++i < byteLength && (mul *= 0x100)) {\n    if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n      sub = 1\n    }\n    this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n  }\n\n  return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) {\n    var limit = Math.pow(2, (8 * byteLength) - 1)\n\n    checkInt(this, value, offset, byteLength, limit - 1, -limit)\n  }\n\n  var i = byteLength - 1\n  var mul = 1\n  var sub = 0\n  this[offset + i] = value & 0xFF\n  while (--i >= 0 && (mul *= 0x100)) {\n    if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n      sub = 1\n    }\n    this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n  }\n\n  return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n  if (value < 0) value = 0xff + value + 1\n  this[offset] = (value & 0xff)\n  return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n  this[offset] = (value & 0xff)\n  this[offset + 1] = (value >>> 8)\n  return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n  this[offset] = (value >>> 8)\n  this[offset + 1] = (value & 0xff)\n  return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n  this[offset] = (value & 0xff)\n  this[offset + 1] = (value >>> 8)\n  this[offset + 2] = (value >>> 16)\n  this[offset + 3] = (value >>> 24)\n  return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n  if (value < 0) value = 0xffffffff + value + 1\n  this[offset] = (value >>> 24)\n  this[offset + 1] = (value >>> 16)\n  this[offset + 2] = (value >>> 8)\n  this[offset + 3] = (value & 0xff)\n  return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n  if (offset + ext > buf.length) throw new RangeError('Index out of range')\n  if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) {\n    checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n  }\n  ieee754.write(buf, value, offset, littleEndian, 23, 4)\n  return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n  return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n  return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) {\n    checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n  }\n  ieee754.write(buf, value, offset, littleEndian, 52, 8)\n  return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n  return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n  return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n  if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n  if (!start) start = 0\n  if (!end && end !== 0) end = this.length\n  if (targetStart >= target.length) targetStart = target.length\n  if (!targetStart) targetStart = 0\n  if (end > 0 && end < start) end = start\n\n  // Copy 0 bytes; we're done\n  if (end === start) return 0\n  if (target.length === 0 || this.length === 0) return 0\n\n  // Fatal error conditions\n  if (targetStart < 0) {\n    throw new RangeError('targetStart out of bounds')\n  }\n  if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n  if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n  // Are we oob?\n  if (end > this.length) end = this.length\n  if (target.length - targetStart < end - start) {\n    end = target.length - targetStart + start\n  }\n\n  var len = end - start\n\n  if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n    // Use built-in when available, missing from IE11\n    this.copyWithin(targetStart, start, end)\n  } else {\n    Uint8Array.prototype.set.call(\n      target,\n      this.subarray(start, end),\n      targetStart\n    )\n  }\n\n  return len\n}\n\n// Usage:\n//    buffer.fill(number[, offset[, end]])\n//    buffer.fill(buffer[, offset[, end]])\n//    buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n  // Handle string cases:\n  if (typeof val === 'string') {\n    if (typeof start === 'string') {\n      encoding = start\n      start = 0\n      end = this.length\n    } else if (typeof end === 'string') {\n      encoding = end\n      end = this.length\n    }\n    if (encoding !== undefined && typeof encoding !== 'string') {\n      throw new TypeError('encoding must be a string')\n    }\n    if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n      throw new TypeError('Unknown encoding: ' + encoding)\n    }\n    if (val.length === 1) {\n      var code = val.charCodeAt(0)\n      if ((encoding === 'utf8' && code < 128) ||\n          encoding === 'latin1') {\n        // Fast path: If `val` fits into a single byte, use that numeric value.\n        val = code\n      }\n    }\n  } else if (typeof val === 'number') {\n    val = val & 255\n  } else if (typeof val === 'boolean') {\n    val = Number(val)\n  }\n\n  // Invalid ranges are not set to a default, so can range check early.\n  if (start < 0 || this.length < start || this.length < end) {\n    throw new RangeError('Out of range index')\n  }\n\n  if (end <= start) {\n    return this\n  }\n\n  start = start >>> 0\n  end = end === undefined ? this.length : end >>> 0\n\n  if (!val) val = 0\n\n  var i\n  if (typeof val === 'number') {\n    for (i = start; i < end; ++i) {\n      this[i] = val\n    }\n  } else {\n    var bytes = Buffer.isBuffer(val)\n      ? val\n      : Buffer.from(val, encoding)\n    var len = bytes.length\n    if (len === 0) {\n      throw new TypeError('The value \"' + val +\n        '\" is invalid for argument \"value\"')\n    }\n    for (i = 0; i < end - start; ++i) {\n      this[i + start] = bytes[i % len]\n    }\n  }\n\n  return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n  // Node takes equal signs as end of the Base64 encoding\n  str = str.split('=')[0]\n  // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n  str = str.trim().replace(INVALID_BASE64_RE, '')\n  // Node converts strings with length < 2 to ''\n  if (str.length < 2) return ''\n  // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n  while (str.length % 4 !== 0) {\n    str = str + '='\n  }\n  return str\n}\n\nfunction utf8ToBytes (string, units) {\n  units = units || Infinity\n  var codePoint\n  var length = string.length\n  var leadSurrogate = null\n  var bytes = []\n\n  for (var i = 0; i < length; ++i) {\n    codePoint = string.charCodeAt(i)\n\n    // is surrogate component\n    if (codePoint > 0xD7FF && codePoint < 0xE000) {\n      // last char was a lead\n      if (!leadSurrogate) {\n        // no lead yet\n        if (codePoint > 0xDBFF) {\n          // unexpected trail\n          if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n          continue\n        } else if (i + 1 === length) {\n          // unpaired lead\n          if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n          continue\n        }\n\n        // valid lead\n        leadSurrogate = codePoint\n\n        continue\n      }\n\n      // 2 leads in a row\n      if (codePoint < 0xDC00) {\n        if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n        leadSurrogate = codePoint\n        continue\n      }\n\n      // valid surrogate pair\n      codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n    } else if (leadSurrogate) {\n      // valid bmp char, but last char was a lead\n      if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n    }\n\n    leadSurrogate = null\n\n    // encode utf8\n    if (codePoint < 0x80) {\n      if ((units -= 1) < 0) break\n      bytes.push(codePoint)\n    } else if (codePoint < 0x800) {\n      if ((units -= 2) < 0) break\n      bytes.push(\n        codePoint >> 0x6 | 0xC0,\n        codePoint & 0x3F | 0x80\n      )\n    } else if (codePoint < 0x10000) {\n      if ((units -= 3) < 0) break\n      bytes.push(\n        codePoint >> 0xC | 0xE0,\n        codePoint >> 0x6 & 0x3F | 0x80,\n        codePoint & 0x3F | 0x80\n      )\n    } else if (codePoint < 0x110000) {\n      if ((units -= 4) < 0) break\n      bytes.push(\n        codePoint >> 0x12 | 0xF0,\n        codePoint >> 0xC & 0x3F | 0x80,\n        codePoint >> 0x6 & 0x3F | 0x80,\n        codePoint & 0x3F | 0x80\n      )\n    } else {\n      throw new Error('Invalid code point')\n    }\n  }\n\n  return bytes\n}\n\nfunction asciiToBytes (str) {\n  var byteArray = []\n  for (var i = 0; i < str.length; ++i) {\n    // Node's code seems to be doing this and not & 0x7F..\n    byteArray.push(str.charCodeAt(i) & 0xFF)\n  }\n  return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n  var c, hi, lo\n  var byteArray = []\n  for (var i = 0; i < str.length; ++i) {\n    if ((units -= 2) < 0) break\n\n    c = str.charCodeAt(i)\n    hi = c >> 8\n    lo = c % 256\n    byteArray.push(lo)\n    byteArray.push(hi)\n  }\n\n  return byteArray\n}\n\nfunction base64ToBytes (str) {\n  return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n  for (var i = 0; i < length; ++i) {\n    if ((i + offset >= dst.length) || (i >= src.length)) break\n    dst[i + offset] = src[i]\n  }\n  return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n  return obj instanceof type ||\n    (obj != null && obj.constructor != null && obj.constructor.name != null &&\n      obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n  // For IE11 support\n  return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nvar hexSliceLookupTable = (function () {\n  var alphabet = '0123456789abcdef'\n  var table = new Array(256)\n  for (var i = 0; i < 16; ++i) {\n    var i16 = i * 16\n    for (var j = 0; j < 16; ++j) {\n      table[i16 + j] = alphabet[i] + alphabet[j]\n    }\n  }\n  return table\n})()\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/buffer/index.js\n// module id = 111\n// module chunks = 0","module.exports = function(it){\n  if(typeof it != 'function')throw TypeError(it + ' is not a function!');\n  return it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_a-function.js\n// module id = 112\n// module chunks = 0","var toString = {}.toString;\n\nmodule.exports = function(it){\n  return toString.call(it).slice(8, -1);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_cof.js\n// module id = 113\n// module chunks = 0","module.exports = function(bitmap, value){\n  return {\n    enumerable  : !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable    : !(bitmap & 4),\n    value       : value\n  };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_property-desc.js\n// module id = 114\n// module chunks = 0","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function(it, S){\n  if(!isObject(it))return it;\n  var fn, val;\n  if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n  if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val;\n  if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_to-primitive.js\n// module id = 115\n// module chunks = 0","\"use strict\";\nvar ArrayObservable_1 = require('./ArrayObservable');\nexports.of = ArrayObservable_1.ArrayObservable.of;\n//# sourceMappingURL=of.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/of.js\n// module id = 116\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\n/**\n * Applies a given `project` function to each value emitted by the source\n * Observable, and emits the resulting values as an Observable.\n *\n * <span class=\"informal\">Like [Array.prototype.map()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map),\n * it passes each source value through a transformation function to get\n * corresponding output values.</span>\n *\n * <img src=\"./img/map.png\" width=\"100%\">\n *\n * Similar to the well known `Array.prototype.map` function, this operator\n * applies a projection to each value and emits that projection in the output\n * Observable.\n *\n * @example <caption>Map every every click to the clientX position of that click</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var positions = clicks.map(ev => ev.clientX);\n * positions.subscribe(x => console.log(x));\n *\n * @see {@link mapTo}\n * @see {@link pluck}\n *\n * @param {function(value: T, index: number): R} project The function to apply\n * to each `value` emitted by the source Observable. The `index` parameter is\n * the number `i` for the i-th emission that has happened since the\n * subscription, starting from the number `0`.\n * @param {any} [thisArg] An optional argument to define what `this` is in the\n * `project` function.\n * @return {Observable<R>} An Observable that emits the values from the source\n * Observable transformed by the given `project` function.\n * @method map\n * @owner Observable\n */\nfunction map(project, thisArg) {\n    if (typeof project !== 'function') {\n        throw new TypeError('argument is not a function. Are you looking for `mapTo()`?');\n    }\n    return this.lift(new MapOperator(project, thisArg));\n}\nexports.map = map;\nvar MapOperator = (function () {\n    function MapOperator(project, thisArg) {\n        this.project = project;\n        this.thisArg = thisArg;\n    }\n    MapOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new MapSubscriber(subscriber, this.project, this.thisArg));\n    };\n    return MapOperator;\n}());\nexports.MapOperator = MapOperator;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar MapSubscriber = (function (_super) {\n    __extends(MapSubscriber, _super);\n    function MapSubscriber(destination, project, thisArg) {\n        _super.call(this, destination);\n        this.project = project;\n        this.count = 0;\n        this.thisArg = thisArg || this;\n    }\n    // NOTE: This looks unoptimized, but it's actually purposefully NOT\n    // using try/catch optimizations.\n    MapSubscriber.prototype._next = function (value) {\n        var result;\n        try {\n            result = this.project.call(this.thisArg, value, this.count++);\n        }\n        catch (err) {\n            this.destination.error(err);\n            return;\n        }\n        this.destination.next(result);\n    };\n    return MapSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=map.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/map.js\n// module id = 117\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar OuterSubscriber_1 = require('../OuterSubscriber');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\n/**\n * Converts a higher-order Observable into a first-order Observable which\n * concurrently delivers all values that are emitted on the inner Observables.\n *\n * <span class=\"informal\">Flattens an Observable-of-Observables.</span>\n *\n * <img src=\"./img/mergeAll.png\" width=\"100%\">\n *\n * `mergeAll` subscribes to an Observable that emits Observables, also known as\n * a higher-order Observable. Each time it observes one of these emitted inner\n * Observables, it subscribes to that and delivers all the values from the\n * inner Observable on the output Observable. The output Observable only\n * completes once all inner Observables have completed. Any error delivered by\n * a inner Observable will be immediately emitted on the output Observable.\n *\n * @example <caption>Spawn a new interval Observable for each click event, and blend their outputs as one Observable</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var higherOrder = clicks.map((ev) => Rx.Observable.interval(1000));\n * var firstOrder = higherOrder.mergeAll();\n * firstOrder.subscribe(x => console.log(x));\n *\n * @example <caption>Count from 0 to 9 every second for each click, but only allow 2 concurrent timers</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var higherOrder = clicks.map((ev) => Rx.Observable.interval(1000).take(10));\n * var firstOrder = higherOrder.mergeAll(2);\n * firstOrder.subscribe(x => console.log(x));\n *\n * @see {@link combineAll}\n * @see {@link concatAll}\n * @see {@link exhaust}\n * @see {@link merge}\n * @see {@link mergeMap}\n * @see {@link mergeMapTo}\n * @see {@link mergeScan}\n * @see {@link switch}\n * @see {@link zipAll}\n *\n * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of inner\n * Observables being subscribed to concurrently.\n * @return {Observable} An Observable that emits values coming from all the\n * inner Observables emitted by the source Observable.\n * @method mergeAll\n * @owner Observable\n */\nfunction mergeAll(concurrent) {\n    if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\n    return this.lift(new MergeAllOperator(concurrent));\n}\nexports.mergeAll = mergeAll;\nvar MergeAllOperator = (function () {\n    function MergeAllOperator(concurrent) {\n        this.concurrent = concurrent;\n    }\n    MergeAllOperator.prototype.call = function (observer, source) {\n        return source._subscribe(new MergeAllSubscriber(observer, this.concurrent));\n    };\n    return MergeAllOperator;\n}());\nexports.MergeAllOperator = MergeAllOperator;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar MergeAllSubscriber = (function (_super) {\n    __extends(MergeAllSubscriber, _super);\n    function MergeAllSubscriber(destination, concurrent) {\n        _super.call(this, destination);\n        this.concurrent = concurrent;\n        this.hasCompleted = false;\n        this.buffer = [];\n        this.active = 0;\n    }\n    MergeAllSubscriber.prototype._next = function (observable) {\n        if (this.active < this.concurrent) {\n            this.active++;\n            this.add(subscribeToResult_1.subscribeToResult(this, observable));\n        }\n        else {\n            this.buffer.push(observable);\n        }\n    };\n    MergeAllSubscriber.prototype._complete = function () {\n        this.hasCompleted = true;\n        if (this.active === 0 && this.buffer.length === 0) {\n            this.destination.complete();\n        }\n    };\n    MergeAllSubscriber.prototype.notifyComplete = function (innerSub) {\n        var buffer = this.buffer;\n        this.remove(innerSub);\n        this.active--;\n        if (buffer.length > 0) {\n            this._next(buffer.shift());\n        }\n        else if (this.active === 0 && this.hasCompleted) {\n            this.destination.complete();\n        }\n    };\n    return MergeAllSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\nexports.MergeAllSubscriber = MergeAllSubscriber;\n//# sourceMappingURL=mergeAll.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/mergeAll.js\n// module id = 118\n// module chunks = 0","/**\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 */\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nimport * as chars from '../chars';\nimport { escapeRegExp, isBlank, isPresent } from '../facade/lang';\nimport { CompilerInjectable } from '../injectable';\nimport { DEFAULT_INTERPOLATION_CONFIG } from '../ml_parser/interpolation_config';\nimport { ASTWithSource, Binary, BindingPipe, Chain, Conditional, EmptyExpr, FunctionCall, ImplicitReceiver, Interpolation, KeyedRead, KeyedWrite, LiteralArray, LiteralMap, LiteralPrimitive, MethodCall, ParseSpan, ParserError, PrefixNot, PropertyRead, PropertyWrite, Quote, SafeMethodCall, SafePropertyRead, TemplateBinding } from './ast';\nimport { EOF, Lexer, TokenType, isIdentifier, isQuote } from './lexer';\nexport var SplitInterpolation = (function () {\n    /**\n     * @param {?} strings\n     * @param {?} expressions\n     * @param {?} offsets\n     */\n    function SplitInterpolation(strings, expressions, offsets) {\n        this.strings = strings;\n        this.expressions = expressions;\n        this.offsets = offsets;\n    }\n    return SplitInterpolation;\n}());\nfunction SplitInterpolation_tsickle_Closure_declarations() {\n    /** @type {?} */\n    SplitInterpolation.prototype.strings;\n    /** @type {?} */\n    SplitInterpolation.prototype.expressions;\n    /** @type {?} */\n    SplitInterpolation.prototype.offsets;\n}\nexport var TemplateBindingParseResult = (function () {\n    /**\n     * @param {?} templateBindings\n     * @param {?} warnings\n     * @param {?} errors\n     */\n    function TemplateBindingParseResult(templateBindings, warnings, errors) {\n        this.templateBindings = templateBindings;\n        this.warnings = warnings;\n        this.errors = errors;\n    }\n    return TemplateBindingParseResult;\n}());\nfunction TemplateBindingParseResult_tsickle_Closure_declarations() {\n    /** @type {?} */\n    TemplateBindingParseResult.prototype.templateBindings;\n    /** @type {?} */\n    TemplateBindingParseResult.prototype.warnings;\n    /** @type {?} */\n    TemplateBindingParseResult.prototype.errors;\n}\n/**\n * @param {?} config\n * @return {?}\n */\nfunction _createInterpolateRegExp(config) {\n    var /** @type {?} */ pattern = escapeRegExp(config.start) + '([\\\\s\\\\S]*?)' + escapeRegExp(config.end);\n    return new RegExp(pattern, 'g');\n}\nexport var Parser = (function () {\n    /**\n     * @param {?} _lexer\n     */\n    function Parser(_lexer) {\n        this._lexer = _lexer;\n        this.errors = [];\n    }\n    /**\n     * @param {?} input\n     * @param {?} location\n     * @param {?=} interpolationConfig\n     * @return {?}\n     */\n    Parser.prototype.parseAction = function (input, location, interpolationConfig) {\n        if (interpolationConfig === void 0) { interpolationConfig = DEFAULT_INTERPOLATION_CONFIG; }\n        this._checkNoInterpolation(input, location, interpolationConfig);\n        var /** @type {?} */ sourceToLex = this._stripComments(input);\n        var /** @type {?} */ tokens = this._lexer.tokenize(this._stripComments(input));\n        var /** @type {?} */ ast = new _ParseAST(input, location, tokens, sourceToLex.length, true, this.errors, input.length - sourceToLex.length)\n            .parseChain();\n        return new ASTWithSource(ast, input, location, this.errors);\n    };\n    /**\n     * @param {?} input\n     * @param {?} location\n     * @param {?=} interpolationConfig\n     * @return {?}\n     */\n    Parser.prototype.parseBinding = function (input, location, interpolationConfig) {\n        if (interpolationConfig === void 0) { interpolationConfig = DEFAULT_INTERPOLATION_CONFIG; }\n        var /** @type {?} */ ast = this._parseBindingAst(input, location, interpolationConfig);\n        return new ASTWithSource(ast, input, location, this.errors);\n    };\n    /**\n     * @param {?} input\n     * @param {?} location\n     * @param {?=} interpolationConfig\n     * @return {?}\n     */\n    Parser.prototype.parseSimpleBinding = function (input, location, interpolationConfig) {\n        if (interpolationConfig === void 0) { interpolationConfig = DEFAULT_INTERPOLATION_CONFIG; }\n        var /** @type {?} */ ast = this._parseBindingAst(input, location, interpolationConfig);\n        var /** @type {?} */ errors = SimpleExpressionChecker.check(ast);\n        if (errors.length > 0) {\n            this._reportError(\"Host binding expression cannot contain \" + errors.join(' '), input, location);\n        }\n        return new ASTWithSource(ast, input, location, this.errors);\n    };\n    /**\n     * @param {?} message\n     * @param {?} input\n     * @param {?} errLocation\n     * @param {?=} ctxLocation\n     * @return {?}\n     */\n    Parser.prototype._reportError = function (message, input, errLocation, ctxLocation) {\n        this.errors.push(new ParserError(message, input, errLocation, ctxLocation));\n    };\n    /**\n     * @param {?} input\n     * @param {?} location\n     * @param {?} interpolationConfig\n     * @return {?}\n     */\n    Parser.prototype._parseBindingAst = function (input, location, interpolationConfig) {\n        // Quotes expressions use 3rd-party expression language. We don't want to use\n        // our lexer or parser for that, so we check for that ahead of time.\n        var /** @type {?} */ quote = this._parseQuote(input, location);\n        if (isPresent(quote)) {\n            return quote;\n        }\n        this._checkNoInterpolation(input, location, interpolationConfig);\n        var /** @type {?} */ sourceToLex = this._stripComments(input);\n        var /** @type {?} */ tokens = this._lexer.tokenize(sourceToLex);\n        return new _ParseAST(input, location, tokens, sourceToLex.length, false, this.errors, input.length - sourceToLex.length)\n            .parseChain();\n    };\n    /**\n     * @param {?} input\n     * @param {?} location\n     * @return {?}\n     */\n    Parser.prototype._parseQuote = function (input, location) {\n        if (isBlank(input))\n            return null;\n        var /** @type {?} */ prefixSeparatorIndex = input.indexOf(':');\n        if (prefixSeparatorIndex == -1)\n            return null;\n        var /** @type {?} */ prefix = input.substring(0, prefixSeparatorIndex).trim();\n        if (!isIdentifier(prefix))\n            return null;\n        var /** @type {?} */ uninterpretedExpression = input.substring(prefixSeparatorIndex + 1);\n        return new Quote(new ParseSpan(0, input.length), prefix, uninterpretedExpression, location);\n    };\n    /**\n     * @param {?} prefixToken\n     * @param {?} input\n     * @param {?} location\n     * @return {?}\n     */\n    Parser.prototype.parseTemplateBindings = function (prefixToken, input, location) {\n        var /** @type {?} */ tokens = this._lexer.tokenize(input);\n        if (prefixToken) {\n            // Prefix the tokens with the tokens from prefixToken but have them take no space (0 index).\n            var /** @type {?} */ prefixTokens = this._lexer.tokenize(prefixToken).map(function (t) {\n                t.index = 0;\n                return t;\n            });\n            tokens.unshift.apply(tokens, prefixTokens);\n        }\n        return new _ParseAST(input, location, tokens, input.length, false, this.errors, 0)\n            .parseTemplateBindings();\n    };\n    /**\n     * @param {?} input\n     * @param {?} location\n     * @param {?=} interpolationConfig\n     * @return {?}\n     */\n    Parser.prototype.parseInterpolation = function (input, location, interpolationConfig) {\n        if (interpolationConfig === void 0) { interpolationConfig = DEFAULT_INTERPOLATION_CONFIG; }\n        var /** @type {?} */ split = this.splitInterpolation(input, location, interpolationConfig);\n        if (split == null)\n            return null;\n        var /** @type {?} */ expressions = [];\n        for (var /** @type {?} */ i = 0; i < split.expressions.length; ++i) {\n            var /** @type {?} */ expressionText = split.expressions[i];\n            var /** @type {?} */ sourceToLex = this._stripComments(expressionText);\n            var /** @type {?} */ tokens = this._lexer.tokenize(this._stripComments(split.expressions[i]));\n            var /** @type {?} */ ast = new _ParseAST(input, location, tokens, sourceToLex.length, false, this.errors, split.offsets[i] + (expressionText.length - sourceToLex.length))\n                .parseChain();\n            expressions.push(ast);\n        }\n        return new ASTWithSource(new Interpolation(new ParseSpan(0, isBlank(input) ? 0 : input.length), split.strings, expressions), input, location, this.errors);\n    };\n    /**\n     * @param {?} input\n     * @param {?} location\n     * @param {?=} interpolationConfig\n     * @return {?}\n     */\n    Parser.prototype.splitInterpolation = function (input, location, interpolationConfig) {\n        if (interpolationConfig === void 0) { interpolationConfig = DEFAULT_INTERPOLATION_CONFIG; }\n        var /** @type {?} */ regexp = _createInterpolateRegExp(interpolationConfig);\n        var /** @type {?} */ parts = input.split(regexp);\n        if (parts.length <= 1) {\n            return null;\n        }\n        var /** @type {?} */ strings = [];\n        var /** @type {?} */ expressions = [];\n        var /** @type {?} */ offsets = [];\n        var /** @type {?} */ offset = 0;\n        for (var /** @type {?} */ i = 0; i < parts.length; i++) {\n            var /** @type {?} */ part = parts[i];\n            if (i % 2 === 0) {\n                // fixed string\n                strings.push(part);\n                offset += part.length;\n            }\n            else if (part.trim().length > 0) {\n                offset += interpolationConfig.start.length;\n                expressions.push(part);\n                offsets.push(offset);\n                offset += part.length + interpolationConfig.end.length;\n            }\n            else {\n                this._reportError('Blank expressions are not allowed in interpolated strings', input, \"at column \" + this._findInterpolationErrorColumn(parts, i, interpolationConfig) + \" in\", location);\n                expressions.push('$implict');\n                offsets.push(offset);\n            }\n        }\n        return new SplitInterpolation(strings, expressions, offsets);\n    };\n    /**\n     * @param {?} input\n     * @param {?} location\n     * @return {?}\n     */\n    Parser.prototype.wrapLiteralPrimitive = function (input, location) {\n        return new ASTWithSource(new LiteralPrimitive(new ParseSpan(0, isBlank(input) ? 0 : input.length), input), input, location, this.errors);\n    };\n    /**\n     * @param {?} input\n     * @return {?}\n     */\n    Parser.prototype._stripComments = function (input) {\n        var /** @type {?} */ i = this._commentStart(input);\n        return isPresent(i) ? input.substring(0, i).trim() : input;\n    };\n    /**\n     * @param {?} input\n     * @return {?}\n     */\n    Parser.prototype._commentStart = function (input) {\n        var /** @type {?} */ outerQuote = null;\n        for (var /** @type {?} */ i = 0; i < input.length - 1; i++) {\n            var /** @type {?} */ char = input.charCodeAt(i);\n            var /** @type {?} */ nextChar = input.charCodeAt(i + 1);\n            if (char === chars.$SLASH && nextChar == chars.$SLASH && isBlank(outerQuote))\n                return i;\n            if (outerQuote === char) {\n                outerQuote = null;\n            }\n            else if (isBlank(outerQuote) && isQuote(char)) {\n                outerQuote = char;\n            }\n        }\n        return null;\n    };\n    /**\n     * @param {?} input\n     * @param {?} location\n     * @param {?} interpolationConfig\n     * @return {?}\n     */\n    Parser.prototype._checkNoInterpolation = function (input, location, interpolationConfig) {\n        var /** @type {?} */ regexp = _createInterpolateRegExp(interpolationConfig);\n        var /** @type {?} */ parts = input.split(regexp);\n        if (parts.length > 1) {\n            this._reportError(\"Got interpolation (\" + interpolationConfig.start + interpolationConfig.end + \") where expression was expected\", input, \"at column \" + this._findInterpolationErrorColumn(parts, 1, interpolationConfig) + \" in\", location);\n        }\n    };\n    /**\n     * @param {?} parts\n     * @param {?} partInErrIdx\n     * @param {?} interpolationConfig\n     * @return {?}\n     */\n    Parser.prototype._findInterpolationErrorColumn = function (parts, partInErrIdx, interpolationConfig) {\n        var /** @type {?} */ errLocation = '';\n        for (var /** @type {?} */ j = 0; j < partInErrIdx; j++) {\n            errLocation += j % 2 === 0 ?\n                parts[j] :\n                \"\" + interpolationConfig.start + parts[j] + interpolationConfig.end;\n        }\n        return errLocation.length;\n    };\n    Parser = __decorate([\n        CompilerInjectable(), \n        __metadata('design:paramtypes', [Lexer])\n    ], Parser);\n    return Parser;\n}());\nfunction Parser_tsickle_Closure_declarations() {\n    /** @type {?} */\n    Parser.prototype.errors;\n    /** @type {?} */\n    Parser.prototype._lexer;\n}\nexport var _ParseAST = (function () {\n    /**\n     * @param {?} input\n     * @param {?} location\n     * @param {?} tokens\n     * @param {?} inputLength\n     * @param {?} parseAction\n     * @param {?} errors\n     * @param {?} offset\n     */\n    function _ParseAST(input, location, tokens, inputLength, parseAction, errors, offset) {\n        this.input = input;\n        this.location = location;\n        this.tokens = tokens;\n        this.inputLength = inputLength;\n        this.parseAction = parseAction;\n        this.errors = errors;\n        this.offset = offset;\n        this.rparensExpected = 0;\n        this.rbracketsExpected = 0;\n        this.rbracesExpected = 0;\n        this.index = 0;\n    }\n    /**\n     * @param {?} offset\n     * @return {?}\n     */\n    _ParseAST.prototype.peek = function (offset) {\n        var /** @type {?} */ i = this.index + offset;\n        return i < this.tokens.length ? this.tokens[i] : EOF;\n    };\n    Object.defineProperty(_ParseAST.prototype, \"next\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this.peek(0); },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(_ParseAST.prototype, \"inputIndex\", {\n        /**\n         * @return {?}\n         */\n        get: function () {\n            return (this.index < this.tokens.length) ? this.next.index + this.offset :\n                this.inputLength + this.offset;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @param {?} start\n     * @return {?}\n     */\n    _ParseAST.prototype.span = function (start) { return new ParseSpan(start, this.inputIndex); };\n    /**\n     * @return {?}\n     */\n    _ParseAST.prototype.advance = function () { this.index++; };\n    /**\n     * @param {?} code\n     * @return {?}\n     */\n    _ParseAST.prototype.optionalCharacter = function (code) {\n        if (this.next.isCharacter(code)) {\n            this.advance();\n            return true;\n        }\n        else {\n            return false;\n        }\n    };\n    /**\n     * @return {?}\n     */\n    _ParseAST.prototype.peekKeywordLet = function () { return this.next.isKeywordLet(); };\n    /**\n     * @param {?} code\n     * @return {?}\n     */\n    _ParseAST.prototype.expectCharacter = function (code) {\n        if (this.optionalCharacter(code))\n            return;\n        this.error(\"Missing expected \" + String.fromCharCode(code));\n    };\n    /**\n     * @param {?} op\n     * @return {?}\n     */\n    _ParseAST.prototype.optionalOperator = function (op) {\n        if (this.next.isOperator(op)) {\n            this.advance();\n            return true;\n        }\n        else {\n            return false;\n        }\n    };\n    /**\n     * @param {?} operator\n     * @return {?}\n     */\n    _ParseAST.prototype.expectOperator = function (operator) {\n        if (this.optionalOperator(operator))\n            return;\n        this.error(\"Missing expected operator \" + operator);\n    };\n    /**\n     * @return {?}\n     */\n    _ParseAST.prototype.expectIdentifierOrKeyword = function () {\n        var /** @type {?} */ n = this.next;\n        if (!n.isIdentifier() && !n.isKeyword()) {\n            this.error(\"Unexpected token \" + n + \", expected identifier or keyword\");\n            return '';\n        }\n        this.advance();\n        return n.toString();\n    };\n    /**\n     * @return {?}\n     */\n    _ParseAST.prototype.expectIdentifierOrKeywordOrString = function () {\n        var /** @type {?} */ n = this.next;\n        if (!n.isIdentifier() && !n.isKeyword() && !n.isString()) {\n            this.error(\"Unexpected token \" + n + \", expected identifier, keyword, or string\");\n            return '';\n        }\n        this.advance();\n        return n.toString();\n    };\n    /**\n     * @return {?}\n     */\n    _ParseAST.prototype.parseChain = function () {\n        var /** @type {?} */ exprs = [];\n        var /** @type {?} */ start = this.inputIndex;\n        while (this.index < this.tokens.length) {\n            var /** @type {?} */ expr = this.parsePipe();\n            exprs.push(expr);\n            if (this.optionalCharacter(chars.$SEMICOLON)) {\n                if (!this.parseAction) {\n                    this.error('Binding expression cannot contain chained expression');\n                }\n                while (this.optionalCharacter(chars.$SEMICOLON)) {\n                } // read all semicolons\n            }\n            else if (this.index < this.tokens.length) {\n                this.error(\"Unexpected token '\" + this.next + \"'\");\n            }\n        }\n        if (exprs.length == 0)\n            return new EmptyExpr(this.span(start));\n        if (exprs.length == 1)\n            return exprs[0];\n        return new Chain(this.span(start), exprs);\n    };\n    /**\n     * @return {?}\n     */\n    _ParseAST.prototype.parsePipe = function () {\n        var /** @type {?} */ result = this.parseExpression();\n        if (this.optionalOperator('|')) {\n            if (this.parseAction) {\n                this.error('Cannot have a pipe in an action expression');\n            }\n            do {\n                var /** @type {?} */ name_1 = this.expectIdentifierOrKeyword();\n                var /** @type {?} */ args = [];\n                while (this.optionalCharacter(chars.$COLON)) {\n                    args.push(this.parseExpression());\n                }\n                result = new BindingPipe(this.span(result.span.start), result, name_1, args);\n            } while (this.optionalOperator('|'));\n        }\n        return result;\n    };\n    /**\n     * @return {?}\n     */\n    _ParseAST.prototype.parseExpression = function () { return this.parseConditional(); };\n    /**\n     * @return {?}\n     */\n    _ParseAST.prototype.parseConditional = function () {\n        var /** @type {?} */ start = this.inputIndex;\n        var /** @type {?} */ result = this.parseLogicalOr();\n        if (this.optionalOperator('?')) {\n            var /** @type {?} */ yes = this.parsePipe();\n            var /** @type {?} */ no = void 0;\n            if (!this.optionalCharacter(chars.$COLON)) {\n                var /** @type {?} */ end = this.inputIndex;\n                var /** @type {?} */ expression = this.input.substring(start, end);\n                this.error(\"Conditional expression \" + expression + \" requires all 3 expressions\");\n                no = new EmptyExpr(this.span(start));\n            }\n            else {\n                no = this.parsePipe();\n            }\n            return new Conditional(this.span(start), result, yes, no);\n        }\n        else {\n            return result;\n        }\n    };\n    /**\n     * @return {?}\n     */\n    _ParseAST.prototype.parseLogicalOr = function () {\n        // '||'\n        var /** @type {?} */ result = this.parseLogicalAnd();\n        while (this.optionalOperator('||')) {\n            var /** @type {?} */ right = this.parseLogicalAnd();\n            result = new Binary(this.span(result.span.start), '||', result, right);\n        }\n        return result;\n    };\n    /**\n     * @return {?}\n     */\n    _ParseAST.prototype.parseLogicalAnd = function () {\n        // '&&'\n        var /** @type {?} */ result = this.parseEquality();\n        while (this.optionalOperator('&&')) {\n            var /** @type {?} */ right = this.parseEquality();\n            result = new Binary(this.span(result.span.start), '&&', result, right);\n        }\n        return result;\n    };\n    /**\n     * @return {?}\n     */\n    _ParseAST.prototype.parseEquality = function () {\n        // '==','!=','===','!=='\n        var /** @type {?} */ result = this.parseRelational();\n        while (this.next.type == TokenType.Operator) {\n            var /** @type {?} */ operator = this.next.strValue;\n            switch (operator) {\n                case '==':\n                case '===':\n                case '!=':\n                case '!==':\n                    this.advance();\n                    var /** @type {?} */ right = this.parseRelational();\n                    result = new Binary(this.span(result.span.start), operator, result, right);\n                    continue;\n            }\n            break;\n        }\n        return result;\n    };\n    /**\n     * @return {?}\n     */\n    _ParseAST.prototype.parseRelational = function () {\n        // '<', '>', '<=', '>='\n        var /** @type {?} */ result = this.parseAdditive();\n        while (this.next.type == TokenType.Operator) {\n            var /** @type {?} */ operator = this.next.strValue;\n            switch (operator) {\n                case '<':\n                case '>':\n                case '<=':\n                case '>=':\n                    this.advance();\n                    var /** @type {?} */ right = this.parseAdditive();\n                    result = new Binary(this.span(result.span.start), operator, result, right);\n                    continue;\n            }\n            break;\n        }\n        return result;\n    };\n    /**\n     * @return {?}\n     */\n    _ParseAST.prototype.parseAdditive = function () {\n        // '+', '-'\n        var /** @type {?} */ result = this.parseMultiplicative();\n        while (this.next.type == TokenType.Operator) {\n            var /** @type {?} */ operator = this.next.strValue;\n            switch (operator) {\n                case '+':\n                case '-':\n                    this.advance();\n                    var /** @type {?} */ right = this.parseMultiplicative();\n                    result = new Binary(this.span(result.span.start), operator, result, right);\n                    continue;\n            }\n            break;\n        }\n        return result;\n    };\n    /**\n     * @return {?}\n     */\n    _ParseAST.prototype.parseMultiplicative = function () {\n        // '*', '%', '/'\n        var /** @type {?} */ result = this.parsePrefix();\n        while (this.next.type == TokenType.Operator) {\n            var /** @type {?} */ operator = this.next.strValue;\n            switch (operator) {\n                case '*':\n                case '%':\n                case '/':\n                    this.advance();\n                    var /** @type {?} */ right = this.parsePrefix();\n                    result = new Binary(this.span(result.span.start), operator, result, right);\n                    continue;\n            }\n            break;\n        }\n        return result;\n    };\n    /**\n     * @return {?}\n     */\n    _ParseAST.prototype.parsePrefix = function () {\n        if (this.next.type == TokenType.Operator) {\n            var /** @type {?} */ start = this.inputIndex;\n            var /** @type {?} */ operator = this.next.strValue;\n            var /** @type {?} */ result = void 0;\n            switch (operator) {\n                case '+':\n                    this.advance();\n                    return this.parsePrefix();\n                case '-':\n                    this.advance();\n                    result = this.parsePrefix();\n                    return new Binary(this.span(start), operator, new LiteralPrimitive(new ParseSpan(start, start), 0), result);\n                case '!':\n                    this.advance();\n                    result = this.parsePrefix();\n                    return new PrefixNot(this.span(start), result);\n            }\n        }\n        return this.parseCallChain();\n    };\n    /**\n     * @return {?}\n     */\n    _ParseAST.prototype.parseCallChain = function () {\n        var /** @type {?} */ result = this.parsePrimary();\n        while (true) {\n            if (this.optionalCharacter(chars.$PERIOD)) {\n                result = this.parseAccessMemberOrMethodCall(result, false);\n            }\n            else if (this.optionalOperator('?.')) {\n                result = this.parseAccessMemberOrMethodCall(result, true);\n            }\n            else if (this.optionalCharacter(chars.$LBRACKET)) {\n                this.rbracketsExpected++;\n                var /** @type {?} */ key = this.parsePipe();\n                this.rbracketsExpected--;\n                this.expectCharacter(chars.$RBRACKET);\n                if (this.optionalOperator('=')) {\n                    var /** @type {?} */ value = this.parseConditional();\n                    result = new KeyedWrite(this.span(result.span.start), result, key, value);\n                }\n                else {\n                    result = new KeyedRead(this.span(result.span.start), result, key);\n                }\n            }\n            else if (this.optionalCharacter(chars.$LPAREN)) {\n                this.rparensExpected++;\n                var /** @type {?} */ args = this.parseCallArguments();\n                this.rparensExpected--;\n                this.expectCharacter(chars.$RPAREN);\n                result = new FunctionCall(this.span(result.span.start), result, args);\n            }\n            else {\n                return result;\n            }\n        }\n    };\n    /**\n     * @return {?}\n     */\n    _ParseAST.prototype.parsePrimary = function () {\n        var /** @type {?} */ start = this.inputIndex;\n        if (this.optionalCharacter(chars.$LPAREN)) {\n            this.rparensExpected++;\n            var /** @type {?} */ result = this.parsePipe();\n            this.rparensExpected--;\n            this.expectCharacter(chars.$RPAREN);\n            return result;\n        }\n        else if (this.next.isKeywordNull()) {\n            this.advance();\n            return new LiteralPrimitive(this.span(start), null);\n        }\n        else if (this.next.isKeywordUndefined()) {\n            this.advance();\n            return new LiteralPrimitive(this.span(start), void 0);\n        }\n        else if (this.next.isKeywordTrue()) {\n            this.advance();\n            return new LiteralPrimitive(this.span(start), true);\n        }\n        else if (this.next.isKeywordFalse()) {\n            this.advance();\n            return new LiteralPrimitive(this.span(start), false);\n        }\n        else if (this.next.isKeywordThis()) {\n            this.advance();\n            return new ImplicitReceiver(this.span(start));\n        }\n        else if (this.optionalCharacter(chars.$LBRACKET)) {\n            this.rbracketsExpected++;\n            var /** @type {?} */ elements = this.parseExpressionList(chars.$RBRACKET);\n            this.rbracketsExpected--;\n            this.expectCharacter(chars.$RBRACKET);\n            return new LiteralArray(this.span(start), elements);\n        }\n        else if (this.next.isCharacter(chars.$LBRACE)) {\n            return this.parseLiteralMap();\n        }\n        else if (this.next.isIdentifier()) {\n            return this.parseAccessMemberOrMethodCall(new ImplicitReceiver(this.span(start)), false);\n        }\n        else if (this.next.isNumber()) {\n            var /** @type {?} */ value = this.next.toNumber();\n            this.advance();\n            return new LiteralPrimitive(this.span(start), value);\n        }\n        else if (this.next.isString()) {\n            var /** @type {?} */ literalValue = this.next.toString();\n            this.advance();\n            return new LiteralPrimitive(this.span(start), literalValue);\n        }\n        else if (this.index >= this.tokens.length) {\n            this.error(\"Unexpected end of expression: \" + this.input);\n            return new EmptyExpr(this.span(start));\n        }\n        else {\n            this.error(\"Unexpected token \" + this.next);\n            return new EmptyExpr(this.span(start));\n        }\n    };\n    /**\n     * @param {?} terminator\n     * @return {?}\n     */\n    _ParseAST.prototype.parseExpressionList = function (terminator) {\n        var /** @type {?} */ result = [];\n        if (!this.next.isCharacter(terminator)) {\n            do {\n                result.push(this.parsePipe());\n            } while (this.optionalCharacter(chars.$COMMA));\n        }\n        return result;\n    };\n    /**\n     * @return {?}\n     */\n    _ParseAST.prototype.parseLiteralMap = function () {\n        var /** @type {?} */ keys = [];\n        var /** @type {?} */ values = [];\n        var /** @type {?} */ start = this.inputIndex;\n        this.expectCharacter(chars.$LBRACE);\n        if (!this.optionalCharacter(chars.$RBRACE)) {\n            this.rbracesExpected++;\n            do {\n                var /** @type {?} */ key = this.expectIdentifierOrKeywordOrString();\n                keys.push(key);\n                this.expectCharacter(chars.$COLON);\n                values.push(this.parsePipe());\n            } while (this.optionalCharacter(chars.$COMMA));\n            this.rbracesExpected--;\n            this.expectCharacter(chars.$RBRACE);\n        }\n        return new LiteralMap(this.span(start), keys, values);\n    };\n    /**\n     * @param {?} receiver\n     * @param {?=} isSafe\n     * @return {?}\n     */\n    _ParseAST.prototype.parseAccessMemberOrMethodCall = function (receiver, isSafe) {\n        if (isSafe === void 0) { isSafe = false; }\n        var /** @type {?} */ start = receiver.span.start;\n        var /** @type {?} */ id = this.expectIdentifierOrKeyword();\n        if (this.optionalCharacter(chars.$LPAREN)) {\n            this.rparensExpected++;\n            var /** @type {?} */ args = this.parseCallArguments();\n            this.expectCharacter(chars.$RPAREN);\n            this.rparensExpected--;\n            var /** @type {?} */ span = this.span(start);\n            return isSafe ? new SafeMethodCall(span, receiver, id, args) :\n                new MethodCall(span, receiver, id, args);\n        }\n        else {\n            if (isSafe) {\n                if (this.optionalOperator('=')) {\n                    this.error('The \\'?.\\' operator cannot be used in the assignment');\n                    return new EmptyExpr(this.span(start));\n                }\n                else {\n                    return new SafePropertyRead(this.span(start), receiver, id);\n                }\n            }\n            else {\n                if (this.optionalOperator('=')) {\n                    if (!this.parseAction) {\n                        this.error('Bindings cannot contain assignments');\n                        return new EmptyExpr(this.span(start));\n                    }\n                    var /** @type {?} */ value = this.parseConditional();\n                    return new PropertyWrite(this.span(start), receiver, id, value);\n                }\n                else {\n                    return new PropertyRead(this.span(start), receiver, id);\n                }\n            }\n        }\n    };\n    /**\n     * @return {?}\n     */\n    _ParseAST.prototype.parseCallArguments = function () {\n        if (this.next.isCharacter(chars.$RPAREN))\n            return [];\n        var /** @type {?} */ positionals = [];\n        do {\n            positionals.push(this.parsePipe());\n        } while (this.optionalCharacter(chars.$COMMA));\n        return (positionals);\n    };\n    /**\n     * An identifier, a keyword, a string with an optional `-` inbetween.\n     * @return {?}\n     */\n    _ParseAST.prototype.expectTemplateBindingKey = function () {\n        var /** @type {?} */ result = '';\n        var /** @type {?} */ operatorFound = false;\n        do {\n            result += this.expectIdentifierOrKeywordOrString();\n            operatorFound = this.optionalOperator('-');\n            if (operatorFound) {\n                result += '-';\n            }\n        } while (operatorFound);\n        return result.toString();\n    };\n    /**\n     * @return {?}\n     */\n    _ParseAST.prototype.parseTemplateBindings = function () {\n        var /** @type {?} */ bindings = [];\n        var /** @type {?} */ prefix = null;\n        var /** @type {?} */ warnings = [];\n        while (this.index < this.tokens.length) {\n            var /** @type {?} */ start = this.inputIndex;\n            var /** @type {?} */ keyIsVar = this.peekKeywordLet();\n            if (keyIsVar) {\n                this.advance();\n            }\n            var /** @type {?} */ key = this.expectTemplateBindingKey();\n            if (!keyIsVar) {\n                if (prefix == null) {\n                    prefix = key;\n                }\n                else {\n                    key = prefix + key[0].toUpperCase() + key.substring(1);\n                }\n            }\n            this.optionalCharacter(chars.$COLON);\n            var /** @type {?} */ name_2 = null;\n            var /** @type {?} */ expression = null;\n            if (keyIsVar) {\n                if (this.optionalOperator('=')) {\n                    name_2 = this.expectTemplateBindingKey();\n                }\n                else {\n                    name_2 = '\\$implicit';\n                }\n            }\n            else if (this.next !== EOF && !this.peekKeywordLet()) {\n                var /** @type {?} */ start_1 = this.inputIndex;\n                var /** @type {?} */ ast = this.parsePipe();\n                var /** @type {?} */ source = this.input.substring(start_1 - this.offset, this.inputIndex - this.offset);\n                expression = new ASTWithSource(ast, source, this.location, this.errors);\n            }\n            bindings.push(new TemplateBinding(this.span(start), key, keyIsVar, name_2, expression));\n            if (!this.optionalCharacter(chars.$SEMICOLON)) {\n                this.optionalCharacter(chars.$COMMA);\n            }\n        }\n        return new TemplateBindingParseResult(bindings, warnings, this.errors);\n    };\n    /**\n     * @param {?} message\n     * @param {?=} index\n     * @return {?}\n     */\n    _ParseAST.prototype.error = function (message, index) {\n        if (index === void 0) { index = null; }\n        this.errors.push(new ParserError(message, this.input, this.locationText(index), this.location));\n        this.skip();\n    };\n    /**\n     * @param {?=} index\n     * @return {?}\n     */\n    _ParseAST.prototype.locationText = function (index) {\n        if (index === void 0) { index = null; }\n        if (isBlank(index))\n            index = this.index;\n        return (index < this.tokens.length) ? \"at column \" + (this.tokens[index].index + 1) + \" in\" :\n            \"at the end of the expression\";\n    };\n    /**\n     * @return {?}\n     */\n    _ParseAST.prototype.skip = function () {\n        var /** @type {?} */ n = this.next;\n        while (this.index < this.tokens.length && !n.isCharacter(chars.$SEMICOLON) &&\n            (this.rparensExpected <= 0 || !n.isCharacter(chars.$RPAREN)) &&\n            (this.rbracesExpected <= 0 || !n.isCharacter(chars.$RBRACE)) &&\n            (this.rbracketsExpected <= 0 || !n.isCharacter(chars.$RBRACKET))) {\n            if (this.next.isError()) {\n                this.errors.push(new ParserError(this.next.toString(), this.input, this.locationText(), this.location));\n            }\n            this.advance();\n            n = this.next;\n        }\n    };\n    return _ParseAST;\n}());\nfunction _ParseAST_tsickle_Closure_declarations() {\n    /** @type {?} */\n    _ParseAST.prototype.rparensExpected;\n    /** @type {?} */\n    _ParseAST.prototype.rbracketsExpected;\n    /** @type {?} */\n    _ParseAST.prototype.rbracesExpected;\n    /** @type {?} */\n    _ParseAST.prototype.index;\n    /** @type {?} */\n    _ParseAST.prototype.input;\n    /** @type {?} */\n    _ParseAST.prototype.location;\n    /** @type {?} */\n    _ParseAST.prototype.tokens;\n    /** @type {?} */\n    _ParseAST.prototype.inputLength;\n    /** @type {?} */\n    _ParseAST.prototype.parseAction;\n    /** @type {?} */\n    _ParseAST.prototype.errors;\n    /** @type {?} */\n    _ParseAST.prototype.offset;\n}\nvar SimpleExpressionChecker = (function () {\n    function SimpleExpressionChecker() {\n        this.errors = [];\n    }\n    /**\n     * @param {?} ast\n     * @return {?}\n     */\n    SimpleExpressionChecker.check = function (ast) {\n        var /** @type {?} */ s = new SimpleExpressionChecker();\n        ast.visit(s);\n        return s.errors;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    SimpleExpressionChecker.prototype.visitImplicitReceiver = function (ast, context) { };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    SimpleExpressionChecker.prototype.visitInterpolation = function (ast, context) { };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    SimpleExpressionChecker.prototype.visitLiteralPrimitive = function (ast, context) { };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    SimpleExpressionChecker.prototype.visitPropertyRead = function (ast, context) { };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    SimpleExpressionChecker.prototype.visitPropertyWrite = function (ast, context) { };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    SimpleExpressionChecker.prototype.visitSafePropertyRead = function (ast, context) { };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    SimpleExpressionChecker.prototype.visitMethodCall = function (ast, context) { };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    SimpleExpressionChecker.prototype.visitSafeMethodCall = function (ast, context) { };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    SimpleExpressionChecker.prototype.visitFunctionCall = function (ast, context) { };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    SimpleExpressionChecker.prototype.visitLiteralArray = function (ast, context) { this.visitAll(ast.expressions); };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    SimpleExpressionChecker.prototype.visitLiteralMap = function (ast, context) { this.visitAll(ast.values); };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    SimpleExpressionChecker.prototype.visitBinary = function (ast, context) { };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    SimpleExpressionChecker.prototype.visitPrefixNot = function (ast, context) { };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    SimpleExpressionChecker.prototype.visitConditional = function (ast, context) { };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    SimpleExpressionChecker.prototype.visitPipe = function (ast, context) { this.errors.push('pipes'); };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    SimpleExpressionChecker.prototype.visitKeyedRead = function (ast, context) { };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    SimpleExpressionChecker.prototype.visitKeyedWrite = function (ast, context) { };\n    /**\n     * @param {?} asts\n     * @return {?}\n     */\n    SimpleExpressionChecker.prototype.visitAll = function (asts) {\n        var _this = this;\n        return asts.map(function (node) { return node.visit(_this); });\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    SimpleExpressionChecker.prototype.visitChain = function (ast, context) { };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    SimpleExpressionChecker.prototype.visitQuote = function (ast, context) { };\n    return SimpleExpressionChecker;\n}());\nfunction SimpleExpressionChecker_tsickle_Closure_declarations() {\n    /** @type {?} */\n    SimpleExpressionChecker.prototype.errors;\n}\n//# sourceMappingURL=parser.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/expression_parser/parser.js\n// module id = 120\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { isBlank, isPresent } from '../facade/lang';\nimport { ParseError, ParseSourceSpan } from '../parse_util';\nimport * as html from './ast';\nimport { DEFAULT_INTERPOLATION_CONFIG } from './interpolation_config';\nimport * as lex from './lexer';\nimport { getNsPrefix, mergeNsAndName } from './tags';\nexport var TreeError = (function (_super) {\n    __extends(TreeError, _super);\n    /**\n     * @param {?} elementName\n     * @param {?} span\n     * @param {?} msg\n     */\n    function TreeError(elementName, span, msg) {\n        _super.call(this, span, msg);\n        this.elementName = elementName;\n    }\n    /**\n     * @param {?} elementName\n     * @param {?} span\n     * @param {?} msg\n     * @return {?}\n     */\n    TreeError.create = function (elementName, span, msg) {\n        return new TreeError(elementName, span, msg);\n    };\n    return TreeError;\n}(ParseError));\nfunction TreeError_tsickle_Closure_declarations() {\n    /** @type {?} */\n    TreeError.prototype.elementName;\n}\nexport var ParseTreeResult = (function () {\n    /**\n     * @param {?} rootNodes\n     * @param {?} errors\n     */\n    function ParseTreeResult(rootNodes, errors) {\n        this.rootNodes = rootNodes;\n        this.errors = errors;\n    }\n    return ParseTreeResult;\n}());\nfunction ParseTreeResult_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ParseTreeResult.prototype.rootNodes;\n    /** @type {?} */\n    ParseTreeResult.prototype.errors;\n}\nexport var Parser = (function () {\n    /**\n     * @param {?} getTagDefinition\n     */\n    function Parser(getTagDefinition) {\n        this.getTagDefinition = getTagDefinition;\n    }\n    /**\n     * @param {?} source\n     * @param {?} url\n     * @param {?=} parseExpansionForms\n     * @param {?=} interpolationConfig\n     * @return {?}\n     */\n    Parser.prototype.parse = function (source, url, parseExpansionForms, interpolationConfig) {\n        if (parseExpansionForms === void 0) { parseExpansionForms = false; }\n        if (interpolationConfig === void 0) { interpolationConfig = DEFAULT_INTERPOLATION_CONFIG; }\n        var /** @type {?} */ tokensAndErrors = lex.tokenize(source, url, this.getTagDefinition, parseExpansionForms, interpolationConfig);\n        var /** @type {?} */ treeAndErrors = new _TreeBuilder(tokensAndErrors.tokens, this.getTagDefinition).build();\n        return new ParseTreeResult(treeAndErrors.rootNodes, ((tokensAndErrors.errors)).concat(treeAndErrors.errors));\n    };\n    return Parser;\n}());\nfunction Parser_tsickle_Closure_declarations() {\n    /** @type {?} */\n    Parser.prototype.getTagDefinition;\n}\nvar _TreeBuilder = (function () {\n    /**\n     * @param {?} tokens\n     * @param {?} getTagDefinition\n     */\n    function _TreeBuilder(tokens, getTagDefinition) {\n        this.tokens = tokens;\n        this.getTagDefinition = getTagDefinition;\n        this._index = -1;\n        this._rootNodes = [];\n        this._errors = [];\n        this._elementStack = [];\n        this._advance();\n    }\n    /**\n     * @return {?}\n     */\n    _TreeBuilder.prototype.build = function () {\n        while (this._peek.type !== lex.TokenType.EOF) {\n            if (this._peek.type === lex.TokenType.TAG_OPEN_START) {\n                this._consumeStartTag(this._advance());\n            }\n            else if (this._peek.type === lex.TokenType.TAG_CLOSE) {\n                this._consumeEndTag(this._advance());\n            }\n            else if (this._peek.type === lex.TokenType.CDATA_START) {\n                this._closeVoidElement();\n                this._consumeCdata(this._advance());\n            }\n            else if (this._peek.type === lex.TokenType.COMMENT_START) {\n                this._closeVoidElement();\n                this._consumeComment(this._advance());\n            }\n            else if (this._peek.type === lex.TokenType.TEXT || this._peek.type === lex.TokenType.RAW_TEXT ||\n                this._peek.type === lex.TokenType.ESCAPABLE_RAW_TEXT) {\n                this._closeVoidElement();\n                this._consumeText(this._advance());\n            }\n            else if (this._peek.type === lex.TokenType.EXPANSION_FORM_START) {\n                this._consumeExpansion(this._advance());\n            }\n            else {\n                // Skip all other tokens...\n                this._advance();\n            }\n        }\n        return new ParseTreeResult(this._rootNodes, this._errors);\n    };\n    /**\n     * @return {?}\n     */\n    _TreeBuilder.prototype._advance = function () {\n        var /** @type {?} */ prev = this._peek;\n        if (this._index < this.tokens.length - 1) {\n            // Note: there is always an EOF token at the end\n            this._index++;\n        }\n        this._peek = this.tokens[this._index];\n        return prev;\n    };\n    /**\n     * @param {?} type\n     * @return {?}\n     */\n    _TreeBuilder.prototype._advanceIf = function (type) {\n        if (this._peek.type === type) {\n            return this._advance();\n        }\n        return null;\n    };\n    /**\n     * @param {?} startToken\n     * @return {?}\n     */\n    _TreeBuilder.prototype._consumeCdata = function (startToken) {\n        this._consumeText(this._advance());\n        this._advanceIf(lex.TokenType.CDATA_END);\n    };\n    /**\n     * @param {?} token\n     * @return {?}\n     */\n    _TreeBuilder.prototype._consumeComment = function (token) {\n        var /** @type {?} */ text = this._advanceIf(lex.TokenType.RAW_TEXT);\n        this._advanceIf(lex.TokenType.COMMENT_END);\n        var /** @type {?} */ value = isPresent(text) ? text.parts[0].trim() : null;\n        this._addToParent(new html.Comment(value, token.sourceSpan));\n    };\n    /**\n     * @param {?} token\n     * @return {?}\n     */\n    _TreeBuilder.prototype._consumeExpansion = function (token) {\n        var /** @type {?} */ switchValue = this._advance();\n        var /** @type {?} */ type = this._advance();\n        var /** @type {?} */ cases = [];\n        // read =\n        while (this._peek.type === lex.TokenType.EXPANSION_CASE_VALUE) {\n            var /** @type {?} */ expCase = this._parseExpansionCase();\n            if (!expCase)\n                return; // error\n            cases.push(expCase);\n        }\n        // read the final }\n        if (this._peek.type !== lex.TokenType.EXPANSION_FORM_END) {\n            this._errors.push(TreeError.create(null, this._peek.sourceSpan, \"Invalid ICU message. Missing '}'.\"));\n            return;\n        }\n        var /** @type {?} */ sourceSpan = new ParseSourceSpan(token.sourceSpan.start, this._peek.sourceSpan.end);\n        this._addToParent(new html.Expansion(switchValue.parts[0], type.parts[0], cases, sourceSpan, switchValue.sourceSpan));\n        this._advance();\n    };\n    /**\n     * @return {?}\n     */\n    _TreeBuilder.prototype._parseExpansionCase = function () {\n        var /** @type {?} */ value = this._advance();\n        // read {\n        if (this._peek.type !== lex.TokenType.EXPANSION_CASE_EXP_START) {\n            this._errors.push(TreeError.create(null, this._peek.sourceSpan, \"Invalid ICU message. Missing '{'.\"));\n            return null;\n        }\n        // read until }\n        var /** @type {?} */ start = this._advance();\n        var /** @type {?} */ exp = this._collectExpansionExpTokens(start);\n        if (!exp)\n            return null;\n        var /** @type {?} */ end = this._advance();\n        exp.push(new lex.Token(lex.TokenType.EOF, [], end.sourceSpan));\n        // parse everything in between { and }\n        var /** @type {?} */ parsedExp = new _TreeBuilder(exp, this.getTagDefinition).build();\n        if (parsedExp.errors.length > 0) {\n            this._errors = this._errors.concat(/** @type {?} */ (parsedExp.errors));\n            return null;\n        }\n        var /** @type {?} */ sourceSpan = new ParseSourceSpan(value.sourceSpan.start, end.sourceSpan.end);\n        var /** @type {?} */ expSourceSpan = new ParseSourceSpan(start.sourceSpan.start, end.sourceSpan.end);\n        return new html.ExpansionCase(value.parts[0], parsedExp.rootNodes, sourceSpan, value.sourceSpan, expSourceSpan);\n    };\n    /**\n     * @param {?} start\n     * @return {?}\n     */\n    _TreeBuilder.prototype._collectExpansionExpTokens = function (start) {\n        var /** @type {?} */ exp = [];\n        var /** @type {?} */ expansionFormStack = [lex.TokenType.EXPANSION_CASE_EXP_START];\n        while (true) {\n            if (this._peek.type === lex.TokenType.EXPANSION_FORM_START ||\n                this._peek.type === lex.TokenType.EXPANSION_CASE_EXP_START) {\n                expansionFormStack.push(this._peek.type);\n            }\n            if (this._peek.type === lex.TokenType.EXPANSION_CASE_EXP_END) {\n                if (lastOnStack(expansionFormStack, lex.TokenType.EXPANSION_CASE_EXP_START)) {\n                    expansionFormStack.pop();\n                    if (expansionFormStack.length == 0)\n                        return exp;\n                }\n                else {\n                    this._errors.push(TreeError.create(null, start.sourceSpan, \"Invalid ICU message. Missing '}'.\"));\n                    return null;\n                }\n            }\n            if (this._peek.type === lex.TokenType.EXPANSION_FORM_END) {\n                if (lastOnStack(expansionFormStack, lex.TokenType.EXPANSION_FORM_START)) {\n                    expansionFormStack.pop();\n                }\n                else {\n                    this._errors.push(TreeError.create(null, start.sourceSpan, \"Invalid ICU message. Missing '}'.\"));\n                    return null;\n                }\n            }\n            if (this._peek.type === lex.TokenType.EOF) {\n                this._errors.push(TreeError.create(null, start.sourceSpan, \"Invalid ICU message. Missing '}'.\"));\n                return null;\n            }\n            exp.push(this._advance());\n        }\n    };\n    /**\n     * @param {?} token\n     * @return {?}\n     */\n    _TreeBuilder.prototype._consumeText = function (token) {\n        var /** @type {?} */ text = token.parts[0];\n        if (text.length > 0 && text[0] == '\\n') {\n            var /** @type {?} */ parent_1 = this._getParentElement();\n            if (isPresent(parent_1) && parent_1.children.length == 0 &&\n                this.getTagDefinition(parent_1.name).ignoreFirstLf) {\n                text = text.substring(1);\n            }\n        }\n        if (text.length > 0) {\n            this._addToParent(new html.Text(text, token.sourceSpan));\n        }\n    };\n    /**\n     * @return {?}\n     */\n    _TreeBuilder.prototype._closeVoidElement = function () {\n        if (this._elementStack.length > 0) {\n            var /** @type {?} */ el = this._elementStack[this._elementStack.length - 1];\n            if (this.getTagDefinition(el.name).isVoid) {\n                this._elementStack.pop();\n            }\n        }\n    };\n    /**\n     * @param {?} startTagToken\n     * @return {?}\n     */\n    _TreeBuilder.prototype._consumeStartTag = function (startTagToken) {\n        var /** @type {?} */ prefix = startTagToken.parts[0];\n        var /** @type {?} */ name = startTagToken.parts[1];\n        var /** @type {?} */ attrs = [];\n        while (this._peek.type === lex.TokenType.ATTR_NAME) {\n            attrs.push(this._consumeAttr(this._advance()));\n        }\n        var /** @type {?} */ fullName = this._getElementFullName(prefix, name, this._getParentElement());\n        var /** @type {?} */ selfClosing = false;\n        // Note: There could have been a tokenizer error\n        // so that we don't get a token for the end tag...\n        if (this._peek.type === lex.TokenType.TAG_OPEN_END_VOID) {\n            this._advance();\n            selfClosing = true;\n            var /** @type {?} */ tagDef = this.getTagDefinition(fullName);\n            if (!(tagDef.canSelfClose || getNsPrefix(fullName) !== null || tagDef.isVoid)) {\n                this._errors.push(TreeError.create(fullName, startTagToken.sourceSpan, \"Only void and foreign elements can be self closed \\\"\" + startTagToken.parts[1] + \"\\\"\"));\n            }\n        }\n        else if (this._peek.type === lex.TokenType.TAG_OPEN_END) {\n            this._advance();\n            selfClosing = false;\n        }\n        var /** @type {?} */ end = this._peek.sourceSpan.start;\n        var /** @type {?} */ span = new ParseSourceSpan(startTagToken.sourceSpan.start, end);\n        var /** @type {?} */ el = new html.Element(fullName, attrs, [], span, span, null);\n        this._pushElement(el);\n        if (selfClosing) {\n            this._popElement(fullName);\n            el.endSourceSpan = span;\n        }\n    };\n    /**\n     * @param {?} el\n     * @return {?}\n     */\n    _TreeBuilder.prototype._pushElement = function (el) {\n        if (this._elementStack.length > 0) {\n            var /** @type {?} */ parentEl = this._elementStack[this._elementStack.length - 1];\n            if (this.getTagDefinition(parentEl.name).isClosedByChild(el.name)) {\n                this._elementStack.pop();\n            }\n        }\n        var /** @type {?} */ tagDef = this.getTagDefinition(el.name);\n        var _a = this._getParentElementSkippingContainers(), parent = _a.parent, container = _a.container;\n        if (parent && tagDef.requireExtraParent(parent.name)) {\n            var /** @type {?} */ newParent = new html.Element(tagDef.parentToAdd, [], [], el.sourceSpan, el.startSourceSpan, el.endSourceSpan);\n            this._insertBeforeContainer(parent, container, newParent);\n        }\n        this._addToParent(el);\n        this._elementStack.push(el);\n    };\n    /**\n     * @param {?} endTagToken\n     * @return {?}\n     */\n    _TreeBuilder.prototype._consumeEndTag = function (endTagToken) {\n        var /** @type {?} */ fullName = this._getElementFullName(endTagToken.parts[0], endTagToken.parts[1], this._getParentElement());\n        if (this._getParentElement()) {\n            this._getParentElement().endSourceSpan = endTagToken.sourceSpan;\n        }\n        if (this.getTagDefinition(fullName).isVoid) {\n            this._errors.push(TreeError.create(fullName, endTagToken.sourceSpan, \"Void elements do not have end tags \\\"\" + endTagToken.parts[1] + \"\\\"\"));\n        }\n        else if (!this._popElement(fullName)) {\n            this._errors.push(TreeError.create(fullName, endTagToken.sourceSpan, \"Unexpected closing tag \\\"\" + endTagToken.parts[1] + \"\\\"\"));\n        }\n    };\n    /**\n     * @param {?} fullName\n     * @return {?}\n     */\n    _TreeBuilder.prototype._popElement = function (fullName) {\n        for (var /** @type {?} */ stackIndex = this._elementStack.length - 1; stackIndex >= 0; stackIndex--) {\n            var /** @type {?} */ el = this._elementStack[stackIndex];\n            if (el.name == fullName) {\n                this._elementStack.splice(stackIndex, this._elementStack.length - stackIndex);\n                return true;\n            }\n            if (!this.getTagDefinition(el.name).closedByParent) {\n                return false;\n            }\n        }\n        return false;\n    };\n    /**\n     * @param {?} attrName\n     * @return {?}\n     */\n    _TreeBuilder.prototype._consumeAttr = function (attrName) {\n        var /** @type {?} */ fullName = mergeNsAndName(attrName.parts[0], attrName.parts[1]);\n        var /** @type {?} */ end = attrName.sourceSpan.end;\n        var /** @type {?} */ value = '';\n        var /** @type {?} */ valueSpan;\n        if (this._peek.type === lex.TokenType.ATTR_VALUE) {\n            var /** @type {?} */ valueToken = this._advance();\n            value = valueToken.parts[0];\n            end = valueToken.sourceSpan.end;\n            valueSpan = valueToken.sourceSpan;\n        }\n        return new html.Attribute(fullName, value, new ParseSourceSpan(attrName.sourceSpan.start, end), valueSpan);\n    };\n    /**\n     * @return {?}\n     */\n    _TreeBuilder.prototype._getParentElement = function () {\n        return this._elementStack.length > 0 ? this._elementStack[this._elementStack.length - 1] : null;\n    };\n    /**\n     * Returns the parent in the DOM and the container.\n     *\n     * `<ng-container>` elements are skipped as they are not rendered as DOM element.\n     * @return {?}\n     */\n    _TreeBuilder.prototype._getParentElementSkippingContainers = function () {\n        var /** @type {?} */ container = null;\n        for (var /** @type {?} */ i = this._elementStack.length - 1; i >= 0; i--) {\n            if (this._elementStack[i].name !== 'ng-container') {\n                return { parent: this._elementStack[i], container: container };\n            }\n            container = this._elementStack[i];\n        }\n        return { parent: this._elementStack[this._elementStack.length - 1], container: container };\n    };\n    /**\n     * @param {?} node\n     * @return {?}\n     */\n    _TreeBuilder.prototype._addToParent = function (node) {\n        var /** @type {?} */ parent = this._getParentElement();\n        if (isPresent(parent)) {\n            parent.children.push(node);\n        }\n        else {\n            this._rootNodes.push(node);\n        }\n    };\n    /**\n     * Insert a node between the parent and the container.\n     * When no container is given, the node is appended as a child of the parent.\n     * Also updates the element stack accordingly.\n     *\n     * \\@internal\n     * @param {?} parent\n     * @param {?} container\n     * @param {?} node\n     * @return {?}\n     */\n    _TreeBuilder.prototype._insertBeforeContainer = function (parent, container, node) {\n        if (!container) {\n            this._addToParent(node);\n            this._elementStack.push(node);\n        }\n        else {\n            if (parent) {\n                // replace the container with the new node in the children\n                var /** @type {?} */ index = parent.children.indexOf(container);\n                parent.children[index] = node;\n            }\n            else {\n                this._rootNodes.push(node);\n            }\n            node.children.push(container);\n            this._elementStack.splice(this._elementStack.indexOf(container), 0, node);\n        }\n    };\n    /**\n     * @param {?} prefix\n     * @param {?} localName\n     * @param {?} parentElement\n     * @return {?}\n     */\n    _TreeBuilder.prototype._getElementFullName = function (prefix, localName, parentElement) {\n        if (isBlank(prefix)) {\n            prefix = this.getTagDefinition(localName).implicitNamespacePrefix;\n            if (isBlank(prefix) && isPresent(parentElement)) {\n                prefix = getNsPrefix(parentElement.name);\n            }\n        }\n        return mergeNsAndName(prefix, localName);\n    };\n    return _TreeBuilder;\n}());\nfunction _TreeBuilder_tsickle_Closure_declarations() {\n    /** @type {?} */\n    _TreeBuilder.prototype._index;\n    /** @type {?} */\n    _TreeBuilder.prototype._peek;\n    /** @type {?} */\n    _TreeBuilder.prototype._rootNodes;\n    /** @type {?} */\n    _TreeBuilder.prototype._errors;\n    /** @type {?} */\n    _TreeBuilder.prototype._elementStack;\n    /** @type {?} */\n    _TreeBuilder.prototype.tokens;\n    /** @type {?} */\n    _TreeBuilder.prototype.getTagDefinition;\n}\n/**\n * @param {?} stack\n * @param {?} element\n * @return {?}\n */\nfunction lastOnStack(stack, element) {\n    return stack.length > 0 && stack[stack.length - 1] === element;\n}\n//# sourceMappingURL=parser.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/ml_parser/parser.js\n// module id = 121\n// module chunks = 0","/**\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 */\nimport { makeDecorator, makeParamDecorator } from '../util/decorators';\n/**\n * Inject decorator and metadata.\n *\n * @stable\n * @Annotation\n */\nexport var /** @type {?} */ Inject = makeParamDecorator('Inject', [['token', undefined]]);\n/**\n * Optional decorator and metadata.\n *\n * @stable\n * @Annotation\n */\nexport var /** @type {?} */ Optional = makeParamDecorator('Optional', []);\n/**\n * Injectable decorator and metadata.\n *\n * @stable\n * @Annotation\n */\nexport var /** @type {?} */ Injectable = (makeDecorator('Injectable', []));\n/**\n * Self decorator and metadata.\n *\n * @stable\n * @Annotation\n */\nexport var /** @type {?} */ Self = makeParamDecorator('Self', []);\n/**\n * SkipSelf decorator and metadata.\n *\n * @stable\n * @Annotation\n */\nexport var /** @type {?} */ SkipSelf = makeParamDecorator('SkipSelf', []);\n/**\n * Host decorator and metadata.\n *\n * @stable\n * @Annotation\n */\nexport var /** @type {?} */ Host = makeParamDecorator('Host', []);\n//# sourceMappingURL=metadata.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/di/metadata.js\n// module id = 122\n// module chunks = 0","/**\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 */\nimport { global, stringify } from '../facade/lang';\nvar /** @type {?} */ _nextClassId = 0;\nvar /** @type {?} */ Reflect = global.Reflect;\n/**\n * @param {?} annotation\n * @return {?}\n */\nfunction extractAnnotation(annotation) {\n    if (typeof annotation === 'function' && annotation.hasOwnProperty('annotation')) {\n        // it is a decorator, extract annotation\n        annotation = annotation.annotation;\n    }\n    return annotation;\n}\n/**\n * @param {?} fnOrArray\n * @param {?} key\n * @return {?}\n */\nfunction applyParams(fnOrArray, key) {\n    if (fnOrArray === Object || fnOrArray === String || fnOrArray === Function ||\n        fnOrArray === Number || fnOrArray === Array) {\n        throw new Error(\"Can not use native \" + stringify(fnOrArray) + \" as constructor\");\n    }\n    if (typeof fnOrArray === 'function') {\n        return fnOrArray;\n    }\n    if (Array.isArray(fnOrArray)) {\n        var /** @type {?} */ annotations = fnOrArray;\n        var /** @type {?} */ annoLength = annotations.length - 1;\n        var /** @type {?} */ fn = fnOrArray[annoLength];\n        if (typeof fn !== 'function') {\n            throw new Error(\"Last position of Class method array must be Function in key \" + key + \" was '\" + stringify(fn) + \"'\");\n        }\n        if (annoLength != fn.length) {\n            throw new Error(\"Number of annotations (\" + annoLength + \") does not match number of arguments (\" + fn.length + \") in the function: \" + stringify(fn));\n        }\n        var /** @type {?} */ paramsAnnotations = [];\n        for (var /** @type {?} */ i = 0, /** @type {?} */ ii = annotations.length - 1; i < ii; i++) {\n            var /** @type {?} */ paramAnnotations = [];\n            paramsAnnotations.push(paramAnnotations);\n            var /** @type {?} */ annotation = annotations[i];\n            if (Array.isArray(annotation)) {\n                for (var /** @type {?} */ j = 0; j < annotation.length; j++) {\n                    paramAnnotations.push(extractAnnotation(annotation[j]));\n                }\n            }\n            else if (typeof annotation === 'function') {\n                paramAnnotations.push(extractAnnotation(annotation));\n            }\n            else {\n                paramAnnotations.push(annotation);\n            }\n        }\n        Reflect.defineMetadata('parameters', paramsAnnotations, fn);\n        return fn;\n    }\n    throw new Error(\"Only Function or Array is supported in Class definition for key '\" + key + \"' is '\" + stringify(fnOrArray) + \"'\");\n}\n/**\n * Provides a way for expressing ES6 classes with parameter annotations in ES5.\n *\n * ## Basic Example\n *\n * ```\n * var Greeter = ng.Class({\n *   constructor: function(name) {\n *     this.name = name;\n *   },\n *\n *   greet: function() {\n *     alert('Hello ' + this.name + '!');\n *   }\n * });\n * ```\n *\n * is equivalent to ES6:\n *\n * ```\n * class Greeter {\n *   constructor(name) {\n *     this.name = name;\n *   }\n *\n *   greet() {\n *     alert('Hello ' + this.name + '!');\n *   }\n * }\n * ```\n *\n * or equivalent to ES5:\n *\n * ```\n * var Greeter = function (name) {\n *   this.name = name;\n * }\n *\n * Greeter.prototype.greet = function () {\n *   alert('Hello ' + this.name + '!');\n * }\n * ```\n *\n * ### Example with parameter annotations\n *\n * ```\n * var MyService = ng.Class({\n *   constructor: [String, [new Optional(), Service], function(name, myService) {\n *     ...\n *   }]\n * });\n * ```\n *\n * is equivalent to ES6:\n *\n * ```\n * class MyService {\n *   constructor(name: string, \\@Optional() myService: Service) {\n *     ...\n *   }\n * }\n * ```\n *\n * ### Example with inheritance\n *\n * ```\n * var Shape = ng.Class({\n *   constructor: (color) {\n *     this.color = color;\n *   }\n * });\n *\n * var Square = ng.Class({\n *   extends: Shape,\n *   constructor: function(color, size) {\n *     Shape.call(this, color);\n *     this.size = size;\n *   }\n * });\n * ```\n * \\@stable\n * @param {?} clsDef\n * @return {?}\n */\nexport function Class(clsDef) {\n    var /** @type {?} */ constructor = applyParams(clsDef.hasOwnProperty('constructor') ? clsDef.constructor : undefined, 'constructor');\n    var /** @type {?} */ proto = constructor.prototype;\n    if (clsDef.hasOwnProperty('extends')) {\n        if (typeof clsDef.extends === 'function') {\n            ((constructor)).prototype = proto =\n                Object.create(((clsDef.extends)).prototype);\n        }\n        else {\n            throw new Error(\"Class definition 'extends' property must be a constructor function was: \" + stringify(clsDef.extends));\n        }\n    }\n    for (var key in clsDef) {\n        if (key !== 'extends' && key !== 'prototype' && clsDef.hasOwnProperty(key)) {\n            proto[key] = applyParams(clsDef[key], key);\n        }\n    }\n    if (this && this.annotations instanceof Array) {\n        Reflect.defineMetadata('annotations', this.annotations, constructor);\n    }\n    var /** @type {?} */ constructorName = constructor['name'];\n    if (!constructorName || constructorName === 'constructor') {\n        ((constructor))['overriddenName'] = \"class\" + _nextClassId++;\n    }\n    return (constructor);\n}\n/**\n * @param {?} name\n * @param {?} props\n * @param {?=} parentClass\n * @param {?=} chainFn\n * @return {?}\n */\nexport function makeDecorator(name, props, parentClass, chainFn) {\n    if (chainFn === void 0) { chainFn = null; }\n    var /** @type {?} */ metaCtor = makeMetadataCtor([props]);\n    /**\n     * @param {?} objOrType\n     * @return {?}\n     */\n    function DecoratorFactory(objOrType) {\n        if (!(Reflect && Reflect.getOwnMetadata)) {\n            throw 'reflect-metadata shim is required when using class decorators';\n        }\n        if (this instanceof DecoratorFactory) {\n            metaCtor.call(this, objOrType);\n            return this;\n        }\n        var /** @type {?} */ annotationInstance = new ((DecoratorFactory))(objOrType);\n        var /** @type {?} */ chainAnnotation = typeof this === 'function' && Array.isArray(this.annotations) ? this.annotations : [];\n        chainAnnotation.push(annotationInstance);\n        var /** @type {?} */ TypeDecorator = (function TypeDecorator(cls) {\n            var /** @type {?} */ annotations = Reflect.getOwnMetadata('annotations', cls) || [];\n            annotations.push(annotationInstance);\n            Reflect.defineMetadata('annotations', annotations, cls);\n            return cls;\n        });\n        TypeDecorator.annotations = chainAnnotation;\n        TypeDecorator.Class = Class;\n        if (chainFn)\n            chainFn(TypeDecorator);\n        return TypeDecorator;\n    }\n    if (parentClass) {\n        DecoratorFactory.prototype = Object.create(parentClass.prototype);\n    }\n    DecoratorFactory.prototype.toString = function () { return (\"@\" + name); };\n    ((DecoratorFactory)).annotationCls = DecoratorFactory;\n    return DecoratorFactory;\n}\n/**\n * @param {?} props\n * @return {?}\n */\nfunction makeMetadataCtor(props) {\n    return function ctor() {\n        var _this = this;\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            args[_i - 0] = arguments[_i];\n        }\n        props.forEach(function (prop, i) {\n            var /** @type {?} */ argVal = args[i];\n            if (Array.isArray(prop)) {\n                // plain parameter\n                _this[prop[0]] = argVal === undefined ? prop[1] : argVal;\n            }\n            else {\n                for (var propName in prop) {\n                    _this[propName] =\n                        argVal && argVal.hasOwnProperty(propName) ? argVal[propName] : prop[propName];\n                }\n            }\n        });\n    };\n}\n/**\n * @param {?} name\n * @param {?} props\n * @param {?=} parentClass\n * @return {?}\n */\nexport function makeParamDecorator(name, props, parentClass) {\n    var /** @type {?} */ metaCtor = makeMetadataCtor(props);\n    /**\n     * @param {...?} args\n     * @return {?}\n     */\n    function ParamDecoratorFactory() {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            args[_i - 0] = arguments[_i];\n        }\n        if (this instanceof ParamDecoratorFactory) {\n            metaCtor.apply(this, args);\n            return this;\n        }\n        var /** @type {?} */ annotationInstance = new ((_a = ((ParamDecoratorFactory))).bind.apply(_a, [void 0].concat(args)))();\n        ((ParamDecorator)).annotation = annotationInstance;\n        return ParamDecorator;\n        /**\n         * @param {?} cls\n         * @param {?} unusedKey\n         * @param {?} index\n         * @return {?}\n         */\n        function ParamDecorator(cls, unusedKey, index) {\n            var /** @type {?} */ parameters = Reflect.getOwnMetadata('parameters', cls) || [];\n            // there might be gaps if some in between parameters do not have annotations.\n            // we pad with nulls.\n            while (parameters.length <= index) {\n                parameters.push(null);\n            }\n            parameters[index] = parameters[index] || [];\n            parameters[index].push(annotationInstance);\n            Reflect.defineMetadata('parameters', parameters, cls);\n            return cls;\n        }\n        var _a;\n    }\n    if (parentClass) {\n        ParamDecoratorFactory.prototype = Object.create(parentClass.prototype);\n    }\n    ParamDecoratorFactory.prototype.toString = function () { return (\"@\" + name); };\n    ((ParamDecoratorFactory)).annotationCls = ParamDecoratorFactory;\n    return ParamDecoratorFactory;\n}\n/**\n * @param {?} name\n * @param {?} props\n * @param {?=} parentClass\n * @return {?}\n */\nexport function makePropDecorator(name, props, parentClass) {\n    var /** @type {?} */ metaCtor = makeMetadataCtor(props);\n    /**\n     * @param {...?} args\n     * @return {?}\n     */\n    function PropDecoratorFactory() {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            args[_i - 0] = arguments[_i];\n        }\n        if (this instanceof PropDecoratorFactory) {\n            metaCtor.apply(this, args);\n            return this;\n        }\n        var /** @type {?} */ decoratorInstance = new ((_a = ((PropDecoratorFactory))).bind.apply(_a, [void 0].concat(args)))();\n        return function PropDecorator(target, name) {\n            var /** @type {?} */ meta = Reflect.getOwnMetadata('propMetadata', target.constructor) || {};\n            meta[name] = meta.hasOwnProperty(name) && meta[name] || [];\n            meta[name].unshift(decoratorInstance);\n            Reflect.defineMetadata('propMetadata', meta, target.constructor);\n        };\n        var _a;\n    }\n    if (parentClass) {\n        PropDecoratorFactory.prototype = Object.create(parentClass.prototype);\n    }\n    PropDecoratorFactory.prototype.toString = function () { return (\"@\" + name); };\n    ((PropDecoratorFactory)).annotationCls = PropDecoratorFactory;\n    return PropDecoratorFactory;\n}\n//# sourceMappingURL=decorators.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/util/decorators.js\n// module id = 123\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { Subject } from 'rxjs/Subject';\nexport { Observable } from 'rxjs/Observable';\nexport { Subject } from 'rxjs/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 */\nexport var 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     * @param {?=} isAsync\n     */\n    function EventEmitter(isAsync) {\n        if (isAsync === void 0) { isAsync = false; }\n        _super.call(this);\n        this.__isAsync = isAsync;\n    }\n    /**\n     * @param {?=} value\n     * @return {?}\n     */\n    EventEmitter.prototype.emit = function (value) { _super.prototype.next.call(this, value); };\n    /**\n     * @param {?=} generatorOrNext\n     * @param {?=} error\n     * @param {?=} complete\n     * @return {?}\n     */\n    EventEmitter.prototype.subscribe = function (generatorOrNext, error, complete) {\n        var /** @type {?} */ schedulerFn;\n        var /** @type {?} */ errorFn = function (err) { return null; };\n        var /** @type {?} */ completeFn = function () { return null; };\n        if (generatorOrNext && typeof generatorOrNext === 'object') {\n            schedulerFn = this.__isAsync ? function (value) {\n                setTimeout(function () { return generatorOrNext.next(value); });\n            } : function (value) { generatorOrNext.next(value); };\n            if (generatorOrNext.error) {\n                errorFn = this.__isAsync ? function (err) { setTimeout(function () { return generatorOrNext.error(err); }); } :\n                    function (err) { generatorOrNext.error(err); };\n            }\n            if (generatorOrNext.complete) {\n                completeFn = this.__isAsync ? function () { setTimeout(function () { return generatorOrNext.complete(); }); } :\n                    function () { generatorOrNext.complete(); };\n            }\n        }\n        else {\n            schedulerFn = this.__isAsync ? function (value) { setTimeout(function () { return generatorOrNext(value); }); } :\n                function (value) { generatorOrNext(value); };\n            if (error) {\n                errorFn =\n                    this.__isAsync ? function (err) { setTimeout(function () { return error(err); }); } : function (err) { error(err); };\n            }\n            if (complete) {\n                completeFn =\n                    this.__isAsync ? function () { setTimeout(function () { return complete(); }); } : function () { complete(); };\n            }\n        }\n        return _super.prototype.subscribe.call(this, schedulerFn, errorFn, completeFn);\n    };\n    return EventEmitter;\n}(Subject));\nfunction EventEmitter_tsickle_Closure_declarations() {\n    /** @type {?} */\n    EventEmitter.prototype.__isAsync;\n}\n//# sourceMappingURL=async.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/forms/src/facade/async.js\n// module id = 124\n// module chunks = 0","/**\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 */\nvar /** @type {?} */ 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    }\n    else {\n        globalScope = (global);\n    }\n}\nelse {\n    globalScope = (window);\n}\n/**\n * @param {?} fn\n * @return {?}\n */\nexport function scheduleMicroTask(fn) {\n    Zone.current.scheduleMicroTask('scheduleMicrotask', fn);\n}\n// Need to declare a new variable for global here since TypeScript\n// exports the original value of the symbol.\nvar /** @type {?} */ _global = globalScope;\nexport { _global as global };\n/**\n * @param {?} type\n * @return {?}\n */\nexport function getTypeNameForDebugging(type) {\n    return type['name'] || typeof type;\n}\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};\n/**\n * @param {?} obj\n * @return {?}\n */\nexport function isPresent(obj) {\n    return obj != null;\n}\n/**\n * @param {?} obj\n * @return {?}\n */\nexport function isBlank(obj) {\n    return obj == null;\n}\nvar /** @type {?} */ STRING_MAP_PROTO = Object.getPrototypeOf({});\n/**\n * @param {?} obj\n * @return {?}\n */\nexport function isStrictStringMap(obj) {\n    return typeof obj === 'object' && obj !== null && Object.getPrototypeOf(obj) === STRING_MAP_PROTO;\n}\n/**\n * @param {?} token\n * @return {?}\n */\nexport function stringify(token) {\n    if (typeof token === 'string') {\n        return token;\n    }\n    if (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 /** @type {?} */ res = token.toString();\n    var /** @type {?} */ newLineIndex = res.indexOf('\\n');\n    return newLineIndex === -1 ? res : res.substring(0, newLineIndex);\n}\nexport var NumberWrapper = (function () {\n    function NumberWrapper() {\n    }\n    /**\n     * @param {?} text\n     * @return {?}\n     */\n    NumberWrapper.parseIntAutoRadix = function (text) {\n        var /** @type {?} */ result = parseInt(text);\n        if (isNaN(result)) {\n            throw new Error('Invalid integer literal when parsing ' + text);\n        }\n        return result;\n    };\n    /**\n     * @param {?} value\n     * @return {?}\n     */\n    NumberWrapper.isNumeric = function (value) { return !isNaN(value - parseFloat(value)); };\n    return NumberWrapper;\n}());\n/**\n * @param {?} a\n * @param {?} b\n * @return {?}\n */\nexport function looseIdentical(a, b) {\n    return a === b || typeof a === 'number' && typeof b === 'number' && isNaN(a) && isNaN(b);\n}\n/**\n * @param {?} o\n * @return {?}\n */\nexport function isJsObject(o) {\n    return o !== null && (typeof o === 'function' || typeof o === 'object');\n}\n/**\n * @param {?} obj\n * @return {?}\n */\nexport function print(obj) {\n    // tslint:disable-next-line:no-console\n    console.log(obj);\n}\n/**\n * @param {?} obj\n * @return {?}\n */\nexport function warn(obj) {\n    console.warn(obj);\n}\n/**\n * @param {?} global\n * @param {?} path\n * @param {?} value\n * @return {?}\n */\nexport function setValueOnPath(global, path, value) {\n    var /** @type {?} */ parts = path.split('.');\n    var /** @type {?} */ obj = global;\n    while (parts.length > 1) {\n        var /** @type {?} */ name_1 = parts.shift();\n        if (obj.hasOwnProperty(name_1) && obj[name_1] != null) {\n            obj = obj[name_1];\n        }\n        else {\n            obj = obj[name_1] = {};\n        }\n    }\n    if (obj === undefined || obj === null) {\n        obj = {};\n    }\n    obj[parts.shift()] = value;\n}\nvar /** @type {?} */ _symbolIterator = null;\n/**\n * @return {?}\n */\nexport function getSymbolIterator() {\n    if (!_symbolIterator) {\n        if (((globalScope)).Symbol && Symbol.iterator) {\n            _symbolIterator = Symbol.iterator;\n        }\n        else {\n            // es6-shim specific logic\n            var /** @type {?} */ keys = Object.getOwnPropertyNames(Map.prototype);\n            for (var /** @type {?} */ i = 0; i < keys.length; ++i) {\n                var /** @type {?} */ key = keys[i];\n                if (key !== 'entries' && key !== 'size' &&\n                    ((Map)).prototype[key] === Map.prototype['entries']) {\n                    _symbolIterator = key;\n                }\n            }\n        }\n    }\n    return _symbolIterator;\n}\n/**\n * @param {?} obj\n * @return {?}\n */\nexport function isPrimitive(obj) {\n    return !isJsObject(obj);\n}\n/**\n * @param {?} s\n * @return {?}\n */\nexport function escapeRegExp(s) {\n    return s.replace(/([.*+?^=!:${}()|[\\]\\/\\\\])/g, '\\\\$1');\n}\n//# sourceMappingURL=lang.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/forms/src/facade/lang.js\n// module id = 125\n// module chunks = 0","/**\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/**\n * @module\n * @description\n * Entry point for all public APIs of the http package.\n */\nexport { BrowserXhr, JSONPBackend, JSONPConnection, CookieXSRFStrategy, XHRBackend, XHRConnection, BaseRequestOptions, RequestOptions, BaseResponseOptions, ResponseOptions, ReadyState, RequestMethod, ResponseContentType, ResponseType, Headers, Http, Jsonp, HttpModule, JsonpModule, Connection, ConnectionBackend, XSRFStrategy, Request, Response, QueryEncoder, URLSearchParams, VERSION } from './src/index';\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/http/index.js\n// module id = 126\n// module chunks = 0","/**\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 */\nimport { Inject, Injectable, NgZone, OpaqueToken } from '@angular/core';\nimport { getDOM } from '../dom_adapter';\n/**\n * @stable\n */\nexport var /** @type {?} */ EVENT_MANAGER_PLUGINS = new OpaqueToken('EventManagerPlugins');\n/**\n * \\@stable\n */\nexport var EventManager = (function () {\n    /**\n     * @param {?} plugins\n     * @param {?} _zone\n     */\n    function EventManager(plugins, _zone) {\n        var _this = this;\n        this._zone = _zone;\n        this._eventNameToPlugin = new Map();\n        plugins.forEach(function (p) { return p.manager = _this; });\n        this._plugins = plugins.slice().reverse();\n    }\n    /**\n     * @param {?} element\n     * @param {?} eventName\n     * @param {?} handler\n     * @return {?}\n     */\n    EventManager.prototype.addEventListener = function (element, eventName, handler) {\n        var /** @type {?} */ plugin = this._findPluginFor(eventName);\n        return plugin.addEventListener(element, eventName, handler);\n    };\n    /**\n     * @param {?} target\n     * @param {?} eventName\n     * @param {?} handler\n     * @return {?}\n     */\n    EventManager.prototype.addGlobalEventListener = function (target, eventName, handler) {\n        var /** @type {?} */ plugin = this._findPluginFor(eventName);\n        return plugin.addGlobalEventListener(target, eventName, handler);\n    };\n    /**\n     * @return {?}\n     */\n    EventManager.prototype.getZone = function () { return this._zone; };\n    /**\n     * \\@internal\n     * @param {?} eventName\n     * @return {?}\n     */\n    EventManager.prototype._findPluginFor = function (eventName) {\n        var /** @type {?} */ plugin = this._eventNameToPlugin.get(eventName);\n        if (plugin) {\n            return plugin;\n        }\n        var /** @type {?} */ plugins = this._plugins;\n        for (var /** @type {?} */ i = 0; i < plugins.length; i++) {\n            var /** @type {?} */ plugin_1 = plugins[i];\n            if (plugin_1.supports(eventName)) {\n                this._eventNameToPlugin.set(eventName, plugin_1);\n                return plugin_1;\n            }\n        }\n        throw new Error(\"No event manager plugin found for event \" + eventName);\n    };\n    EventManager.decorators = [\n        { type: Injectable },\n    ];\n    /** @nocollapse */\n    EventManager.ctorParameters = function () { return [\n        { type: Array, decorators: [{ type: Inject, args: [EVENT_MANAGER_PLUGINS,] },] },\n        { type: NgZone, },\n    ]; };\n    return EventManager;\n}());\nfunction EventManager_tsickle_Closure_declarations() {\n    /** @type {?} */\n    EventManager.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    EventManager.ctorParameters;\n    /** @type {?} */\n    EventManager.prototype._plugins;\n    /** @type {?} */\n    EventManager.prototype._eventNameToPlugin;\n    /** @type {?} */\n    EventManager.prototype._zone;\n}\n/**\n * @abstract\n */\nexport var EventManagerPlugin = (function () {\n    function EventManagerPlugin() {\n    }\n    /**\n     * @abstract\n     * @param {?} eventName\n     * @return {?}\n     */\n    EventManagerPlugin.prototype.supports = function (eventName) { };\n    /**\n     * @abstract\n     * @param {?} element\n     * @param {?} eventName\n     * @param {?} handler\n     * @return {?}\n     */\n    EventManagerPlugin.prototype.addEventListener = function (element, eventName, handler) { };\n    /**\n     * @param {?} element\n     * @param {?} eventName\n     * @param {?} handler\n     * @return {?}\n     */\n    EventManagerPlugin.prototype.addGlobalEventListener = function (element, eventName, handler) {\n        var /** @type {?} */ target = getDOM().getGlobalEventTarget(element);\n        if (!target) {\n            throw new Error(\"Unsupported event target \" + target + \" for event \" + eventName);\n        }\n        return this.addEventListener(target, eventName, handler);\n    };\n    ;\n    return EventManagerPlugin;\n}());\nfunction EventManagerPlugin_tsickle_Closure_declarations() {\n    /** @type {?} */\n    EventManagerPlugin.prototype.manager;\n}\n//# sourceMappingURL=event_manager.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/platform-browser/src/dom/events/event_manager.js\n// module id = 127\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { BehaviorSubject } from 'rxjs/BehaviorSubject';\nimport { PRIMARY_OUTLET } from './shared';\nimport { UrlSegment } from './url_tree';\nimport { merge, shallowEqual, shallowEqualArrays } from './utils/collection';\nimport { Tree, TreeNode } from './utils/tree';\n/**\n * @whatItDoes Represents the state of the router.\n *\n * @howToUse\n *\n * ```\n * @Component({templateUrl:'template.html'})\n * class MyComponent {\n *   constructor(router: Router) {\n *     const state: RouterState = router.routerState;\n *     const root: ActivatedRoute = state.root;\n *     const child = root.firstChild;\n *     const id: Observable<string> = child.params.map(p => p.id);\n *     //...\n *   }\n * }\n * ```\n *\n * @description\n * RouterState is a tree of activated routes. Every node in this tree knows about the \"consumed\" URL\n * segments,\n * the extracted parameters, and the resolved data.\n *\n * See {@link ActivatedRoute} for more information.\n *\n * @stable\n */\nexport var RouterState = (function (_super) {\n    __extends(RouterState, _super);\n    /**\n     * @internal\n     */\n    function RouterState(root, \n        /**\n         * The current snapshot of the router state.\n         */\n        snapshot) {\n        _super.call(this, root);\n        this.snapshot = snapshot;\n        setRouterStateSnapshot(this, root);\n    }\n    RouterState.prototype.toString = function () { return this.snapshot.toString(); };\n    return RouterState;\n}(Tree));\nexport function createEmptyState(urlTree, rootComponent) {\n    var snapshot = createEmptyStateSnapshot(urlTree, rootComponent);\n    var emptyUrl = new BehaviorSubject([new UrlSegment('', {})]);\n    var emptyParams = new BehaviorSubject({});\n    var emptyData = new BehaviorSubject({});\n    var emptyQueryParams = new BehaviorSubject({});\n    var fragment = new BehaviorSubject('');\n    var activated = new ActivatedRoute(emptyUrl, emptyParams, emptyQueryParams, fragment, emptyData, PRIMARY_OUTLET, rootComponent, snapshot.root);\n    activated.snapshot = snapshot.root;\n    return new RouterState(new TreeNode(activated, []), snapshot);\n}\nexport function createEmptyStateSnapshot(urlTree, rootComponent) {\n    var emptyParams = {};\n    var emptyData = {};\n    var emptyQueryParams = {};\n    var fragment = '';\n    var activated = new ActivatedRouteSnapshot([], emptyParams, emptyQueryParams, fragment, emptyData, PRIMARY_OUTLET, rootComponent, null, urlTree.root, -1, {});\n    return new RouterStateSnapshot('', new TreeNode(activated, []));\n}\n/**\n * @whatItDoes Contains the information about a route associated with a component loaded in an\n * outlet.\n * ActivatedRoute can also be used to traverse the router state tree.\n *\n * @howToUse\n *\n * ```\n * @Component({templateUrl:'./my-component.html'})\n * class MyComponent {\n *   constructor(route: ActivatedRoute) {\n *     const id: Observable<string> = route.params.map(p => p.id);\n *     const url: Observable<string> = route.url.map(s => s.join(''));\n *     const user = route.data.map(d => d.user); //includes `data` and `resolve`\n *   }\n * }\n * ```\n *\n * @stable\n */\nexport var ActivatedRoute = (function () {\n    /**\n     * @internal\n     */\n    function ActivatedRoute(\n        /**\n         *  The URL segments matched by this route. The observable will emit a new value when\n         *  the array of segments changes.\n         */\n        url, \n        /**\n         * The matrix parameters scoped to this route. The observable will emit a new value when\n         * the set of the parameters changes.\n         */\n        params, \n        /**\n         * The query parameters shared by all the routes. The observable will emit a new value when\n         * the set of the parameters changes.\n         */\n        queryParams, \n        /**\n         * The URL fragment shared by all the routes. The observable will emit a new value when\n         * the URL fragment changes.\n         */\n        fragment, \n        /**\n         * The static and resolved data of this route. The observable will emit a new value when\n         * any of the resolvers returns a new object.\n         */\n        data, \n        /**\n         * The outlet name of the route. It's a constant.\n         */\n        outlet, \n        /**\n         * The component of the route. It's a constant.\n         */\n        component, // TODO: vsavkin: remove |string\n        futureSnapshot) {\n        this.url = url;\n        this.params = params;\n        this.queryParams = queryParams;\n        this.fragment = fragment;\n        this.data = data;\n        this.outlet = outlet;\n        this.component = component;\n        this._futureSnapshot = futureSnapshot;\n    }\n    Object.defineProperty(ActivatedRoute.prototype, \"routeConfig\", {\n        /**\n         * The configuration used to match this route.\n         */\n        get: function () { return this._futureSnapshot.routeConfig; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(ActivatedRoute.prototype, \"root\", {\n        /**\n         * The root of the router state.\n         */\n        get: function () { return this._routerState.root; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(ActivatedRoute.prototype, \"parent\", {\n        /**\n         * The parent of this route in the router state tree.\n         */\n        get: function () { return this._routerState.parent(this); },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(ActivatedRoute.prototype, \"firstChild\", {\n        /**\n         * The first child of this route in the router state tree.\n         */\n        get: function () { return this._routerState.firstChild(this); },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(ActivatedRoute.prototype, \"children\", {\n        /**\n         * The children of this route in the router state tree.\n         */\n        get: function () { return this._routerState.children(this); },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(ActivatedRoute.prototype, \"pathFromRoot\", {\n        /**\n         * The path from the root of the router state tree to this route.\n         */\n        get: function () { return this._routerState.pathFromRoot(this); },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @docsNotRequired\n     */\n    ActivatedRoute.prototype.toString = function () {\n        return this.snapshot ? this.snapshot.toString() : \"Future(\" + this._futureSnapshot + \")\";\n    };\n    return ActivatedRoute;\n}());\n/**\n * @internal\n */\nexport function inheritedParamsDataResolve(route) {\n    var pathToRoot = route.pathFromRoot;\n    var inhertingStartingFrom = pathToRoot.length - 1;\n    while (inhertingStartingFrom >= 1) {\n        var current = pathToRoot[inhertingStartingFrom];\n        var parent_1 = pathToRoot[inhertingStartingFrom - 1];\n        // current route is an empty path => inherits its parent's params and data\n        if (current.routeConfig && current.routeConfig.path === '') {\n            inhertingStartingFrom--;\n        }\n        else if (!parent_1.component) {\n            inhertingStartingFrom--;\n        }\n        else {\n            break;\n        }\n    }\n    return pathToRoot.slice(inhertingStartingFrom).reduce(function (res, curr) {\n        var params = merge(res.params, curr.params);\n        var data = merge(res.data, curr.data);\n        var resolve = merge(res.resolve, curr._resolvedData);\n        return { params: params, data: data, resolve: resolve };\n    }, { params: {}, data: {}, resolve: {} });\n}\n/**\n * @whatItDoes Contains the information about a route associated with a component loaded in an\n * outlet\n * at a particular moment in time. ActivatedRouteSnapshot can also be used to traverse the router\n * state tree.\n *\n * @howToUse\n *\n * ```\n * @Component({templateUrl:'./my-component.html'})\n * class MyComponent {\n *   constructor(route: ActivatedRoute) {\n *     const id: string = route.snapshot.params.id;\n *     const url: string = route.snapshot.url.join('');\n *     const user = route.snapshot.data.user;\n *   }\n * }\n * ```\n *\n * @stable\n */\nexport var ActivatedRouteSnapshot = (function () {\n    /**\n     * @internal\n     */\n    function ActivatedRouteSnapshot(\n        /**\n         *  The URL segments matched by this route.\n         */\n        url, \n        /**\n         * The matrix parameters scoped to this route.\n         */\n        params, \n        /**\n         * The query parameters shared by all the routes.\n         */\n        queryParams, \n        /**\n         * The URL fragment shared by all the routes.\n         */\n        fragment, \n        /**\n         * The static and resolved data of this route.\n         */\n        data, \n        /**\n         * The outlet name of the route.\n         */\n        outlet, \n        /**\n         * The component of the route.\n         */\n        component, routeConfig, urlSegment, lastPathIndex, resolve) {\n        this.url = url;\n        this.params = params;\n        this.queryParams = queryParams;\n        this.fragment = fragment;\n        this.data = data;\n        this.outlet = outlet;\n        this.component = component;\n        this._routeConfig = routeConfig;\n        this._urlSegment = urlSegment;\n        this._lastPathIndex = lastPathIndex;\n        this._resolve = resolve;\n    }\n    Object.defineProperty(ActivatedRouteSnapshot.prototype, \"routeConfig\", {\n        /**\n         * The configuration used to match this route.\n         */\n        get: function () { return this._routeConfig; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(ActivatedRouteSnapshot.prototype, \"root\", {\n        /**\n         * The root of the router state.\n         */\n        get: function () { return this._routerState.root; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(ActivatedRouteSnapshot.prototype, \"parent\", {\n        /**\n         * The parent of this route in the router state tree.\n         */\n        get: function () { return this._routerState.parent(this); },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(ActivatedRouteSnapshot.prototype, \"firstChild\", {\n        /**\n         * The first child of this route in the router state tree.\n         */\n        get: function () { return this._routerState.firstChild(this); },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(ActivatedRouteSnapshot.prototype, \"children\", {\n        /**\n         * The children of this route in the router state tree.\n         */\n        get: function () { return this._routerState.children(this); },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(ActivatedRouteSnapshot.prototype, \"pathFromRoot\", {\n        /**\n         * The path from the root of the router state tree to this route.\n         */\n        get: function () { return this._routerState.pathFromRoot(this); },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @docsNotRequired\n     */\n    ActivatedRouteSnapshot.prototype.toString = function () {\n        var url = this.url.map(function (s) { return s.toString(); }).join('/');\n        var matched = this._routeConfig ? this._routeConfig.path : '';\n        return \"Route(url:'\" + url + \"', path:'\" + matched + \"')\";\n    };\n    return ActivatedRouteSnapshot;\n}());\n/**\n * @whatItDoes Represents the state of the router at a moment in time.\n *\n * @howToUse\n *\n * ```\n * @Component({templateUrl:'template.html'})\n * class MyComponent {\n *   constructor(router: Router) {\n *     const state: RouterState = router.routerState;\n *     const snapshot: RouterStateSnapshot = state.snapshot;\n *     const root: ActivatedRouteSnapshot = snapshot.root;\n *     const child = root.firstChild;\n *     const id: Observable<string> = child.params.map(p => p.id);\n *     //...\n *   }\n * }\n * ```\n *\n * @description\n * RouterStateSnapshot is a tree of activated route snapshots. Every node in this tree knows about\n * the \"consumed\" URL segments, the extracted parameters, and the resolved data.\n *\n * @stable\n */\nexport var RouterStateSnapshot = (function (_super) {\n    __extends(RouterStateSnapshot, _super);\n    /**\n     * @internal\n     */\n    function RouterStateSnapshot(\n        /** The url from which this snapshot was created */\n        url, root) {\n        _super.call(this, root);\n        this.url = url;\n        setRouterStateSnapshot(this, root);\n    }\n    RouterStateSnapshot.prototype.toString = function () { return serializeNode(this._root); };\n    return RouterStateSnapshot;\n}(Tree));\nfunction setRouterStateSnapshot(state, node) {\n    node.value._routerState = state;\n    node.children.forEach(function (c) { return setRouterStateSnapshot(state, c); });\n}\nfunction serializeNode(node) {\n    var c = node.children.length > 0 ? \" { \" + node.children.map(serializeNode).join(\", \") + \" } \" : '';\n    return \"\" + node.value + c;\n}\n/**\n * The expectation is that the activate route is created with the right set of parameters.\n * So we push new values into the observables only when they are not the initial values.\n * And we detect that by checking if the snapshot field is set.\n */\nexport function advanceActivatedRoute(route) {\n    if (route.snapshot) {\n        if (!shallowEqual(route.snapshot.queryParams, route._futureSnapshot.queryParams)) {\n            route.queryParams.next(route._futureSnapshot.queryParams);\n        }\n        if (route.snapshot.fragment !== route._futureSnapshot.fragment) {\n            route.fragment.next(route._futureSnapshot.fragment);\n        }\n        if (!shallowEqual(route.snapshot.params, route._futureSnapshot.params)) {\n            route.params.next(route._futureSnapshot.params);\n            route.data.next(route._futureSnapshot.data);\n        }\n        if (!shallowEqualArrays(route.snapshot.url, route._futureSnapshot.url)) {\n            route.url.next(route._futureSnapshot.url);\n        }\n        route.snapshot = route._futureSnapshot;\n    }\n    else {\n        route.snapshot = route._futureSnapshot;\n        // this is for resolved data\n        route.data.next(route._futureSnapshot.data);\n    }\n}\n//# sourceMappingURL=router_state.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/router/src/router_state.js\n// module id = 128\n// module chunks = 0","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\nif(typeof __g == 'number')__g = global; // eslint-disable-line no-undef\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_global.js\n// module id = 129\n// module chunks = 0","var store      = require('./_shared')('wks')\n  , uid        = require('./_uid')\n  , Symbol     = require('./_global').Symbol\n  , USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function(name){\n  return store[name] || (store[name] =\n    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_wks.js\n// module id = 130\n// module chunks = 0","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function(fn, that, length){\n  aFunction(fn);\n  if(that === undefined)return fn;\n  switch(length){\n    case 1: return function(a){\n      return fn.call(that, a);\n    };\n    case 2: return function(a, b){\n      return fn.call(that, a, b);\n    };\n    case 3: return function(a, b, c){\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function(/* ...args */){\n    return fn.apply(that, arguments);\n  };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_ctx.js\n// module id = 131\n// module chunks = 0","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject    = require('./_an-object')\n  , dPs         = require('./_object-dps')\n  , enumBugKeys = require('./_enum-bug-keys')\n  , IE_PROTO    = require('./_shared-key')('IE_PROTO')\n  , Empty       = function(){ /* empty */ }\n  , PROTOTYPE   = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function(){\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = require('./_dom-create')('iframe')\n    , i      = enumBugKeys.length\n    , lt     = '<'\n    , gt     = '>'\n    , iframeDocument;\n  iframe.style.display = 'none';\n  require('./_html').appendChild(iframe);\n  iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n  // createDict = iframe.contentWindow.Object;\n  // html.removeChild(iframe);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n  iframeDocument.close();\n  createDict = iframeDocument.F;\n  while(i--)delete createDict[PROTOTYPE][enumBugKeys[i]];\n  return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties){\n  var result;\n  if(O !== null){\n    Empty[PROTOTYPE] = anObject(O);\n    result = new Empty;\n    Empty[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = createDict();\n  return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_object-create.js\n// module id = 132\n// module chunks = 0","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys       = require('./_object-keys-internal')\n  , enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O){\n  return $keys(O, enumBugKeys);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_object-keys.js\n// module id = 133\n// module chunks = 0","// 7.1.4 ToInteger\nvar ceil  = Math.ceil\n  , floor = Math.floor;\nmodule.exports = function(it){\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_to-integer.js\n// module id = 134\n// module chunks = 0","if (typeof Object.create === 'function') {\n  // implementation from standard node.js 'util' module\n  module.exports = function inherits(ctor, superCtor) {\n    if (superCtor) {\n      ctor.super_ = superCtor\n      ctor.prototype = Object.create(superCtor.prototype, {\n        constructor: {\n          value: ctor,\n          enumerable: false,\n          writable: true,\n          configurable: true\n        }\n      })\n    }\n  };\n} else {\n  // old school shim for old browsers\n  module.exports = function inherits(ctor, superCtor) {\n    if (superCtor) {\n      ctor.super_ = superCtor\n      var TempCtor = function () {}\n      TempCtor.prototype = superCtor.prototype\n      ctor.prototype = new TempCtor()\n      ctor.prototype.constructor = ctor\n    }\n  }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/inherits/inherits_browser.js\n// module id = 135\n// module chunks = 0","export function get_phone_code(country_metadata) {\n\treturn country_metadata[0];\n}\n\nexport function get_national_number_pattern(country_metadata) {\n\treturn country_metadata[1];\n}\n\nexport function get_formats(country_metadata) {\n\treturn country_metadata[2] || [];\n}\n\nexport function get_national_prefix(country_metadata) {\n\treturn country_metadata[3];\n}\n\nexport function get_national_prefix_formatting_rule(country_metadata) {\n\treturn country_metadata[4];\n}\n\nexport function get_national_prefix_for_parsing(country_metadata) {\n\tvar national_prefix_for_parsing = country_metadata[5];\n\n\t// If `national_prefix_for_parsing` is not set explicitly,\n\t// then infer it from `national_prefix` (if any)\n\tif (!national_prefix_for_parsing) {\n\t\tnational_prefix_for_parsing = get_national_prefix(country_metadata);\n\t}\n\n\treturn national_prefix_for_parsing;\n}\n\nexport function get_national_prefix_transform_rule(country_metadata) {\n\treturn country_metadata[6];\n}\n\nexport function get_national_prefix_is_optional_when_formatting(country_metadata) {\n\treturn country_metadata[7];\n}\n\nexport function get_leading_digits(country_metadata) {\n\treturn country_metadata[8];\n}\n\nexport function get_format_pattern(format_array) {\n\treturn format_array[0];\n}\n\nexport function get_format_format(format_array) {\n\treturn format_array[1];\n}\n\nexport function get_format_leading_digits_patterns(format_array) {\n\treturn format_array[2] || [];\n}\n\nexport function get_format_national_prefix_formatting_rule(format_array, country_metadata) {\n\treturn format_array[3] || get_national_prefix_formatting_rule(country_metadata);\n}\n\nexport function get_format_national_prefix_is_optional_when_formatting(format_array, country_metadata) {\n\treturn format_array[4] || get_national_prefix_is_optional_when_formatting(country_metadata);\n}\n\nexport function get_format_national_prefix_is_mandatory_when_formatting(format_array, country_metadata) {\n\tvar national_prefix_formatting_rule = get_format_national_prefix_formatting_rule(format_array, country_metadata);\n\n\t// National prefix is omitted if there's no national prefix formatting rule\n\t// set for this country, or when the national prefix formatting rule\n\t// contains no national prefix itself, or when this rule is set but\n\t// national prefix is optional for this phone number format\n\t// (and it is not enforced explicitly)\n\treturn national_prefix_formatting_rule &&\n\t// Check that national prefix formatting rule is not a dummy one.\n\t// Check that national prefix formatting rule actually has national prefix digit(s).\n\tget_format_uses_national_prefix(national_prefix_formatting_rule) &&\n\t// Or maybe national prefix is optional for this format\n\t!get_format_national_prefix_is_optional_when_formatting(format_array, country_metadata);\n}\n\n// Checks whether national prefix formatting rule contains national prefix\nexport function get_format_uses_national_prefix(national_prefix_formatting_rule) {\n\t// Check that national prefix formatting rule is not a dummy one\n\treturn national_prefix_formatting_rule !== '$1' &&\n\t// Check that national prefix formatting rule actually has national prefix digit(s)\n\t/\\d/.test(national_prefix_formatting_rule.replace('$1', ''));\n}\n\nexport function get_format_international_format(format_array) {\n\treturn format_array[5] || get_format_format(format_array);\n}\n\n// Formatting information for regions which share\n// a country calling code is contained by only one region\n// for performance reasons. For example, for NANPA region\n// (\"North American Numbering Plan Administration\",\n//  which includes USA, Canada, Cayman Islands, Bahamas, etc)\n// it will be contained in the metadata for `US`.\nexport function get_metadata_by_country_phone_code(country_phone_code, metadata) {\n\tvar country_code = metadata.country_phone_code_to_countries[country_phone_code][0];\n\treturn metadata.countries[country_code];\n}\n\nexport function get_types(country_metadata) {\n\treturn country_metadata[9];\n}\n\nfunction get_type(country_metadata, index) {\n\treturn get_types(country_metadata) ? get_types(country_metadata)[index] : undefined;\n}\n\nexport function get_type_fixed_line(country_metadata) {\n\treturn get_type(country_metadata, 0);\n}\n\nexport function get_type_mobile(country_metadata) {\n\treturn get_type(country_metadata, 1);\n}\n\nexport function get_type_toll_free(country_metadata) {\n\treturn get_type(country_metadata, 2);\n}\n\nexport function get_type_premium_rate(country_metadata) {\n\treturn get_type(country_metadata, 3);\n}\n\nexport function get_type_personal_number(country_metadata) {\n\treturn get_type(country_metadata, 4);\n}\n\nexport function get_type_voice_mail(country_metadata) {\n\treturn get_type(country_metadata, 5);\n}\n\nexport function get_type_uan(country_metadata) {\n\treturn get_type(country_metadata, 6);\n}\n\nexport function get_type_pager(country_metadata) {\n\treturn get_type(country_metadata, 7);\n}\n\nexport function get_type_voip(country_metadata) {\n\treturn get_type(country_metadata, 8);\n}\n\nexport function get_type_shared_cost(country_metadata) {\n\treturn get_type(country_metadata, 9);\n}\n\nexport function get_country_phone_code(country, country_metadata) {\n\treturn get_phone_code(country_metadata[country]);\n}\n//# sourceMappingURL=metadata.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/libphonenumber-js/es6/metadata.js\n// module id = 136\n// module chunks = 0","import _getIterator from 'babel-runtime/core-js/get-iterator';\nimport _extends from 'babel-runtime/helpers/extends';\n// This is a port of Google Android `libphonenumber`'s\n// `phonenumberutil.js` of 17th November, 2016.\n//\n// https://github.com/googlei18n/libphonenumber/commits/master/javascript/i18n/phonenumbers/phonenumberutil.js\n\nimport { matches_entirely } from './common';\n\nimport { get_phone_code, get_national_number_pattern, get_national_prefix_for_parsing, get_national_prefix_transform_rule, get_leading_digits, get_metadata_by_country_phone_code, get_formats } from\n// get_format_national_prefix_is_mandatory_when_formatting\n'./metadata';\n\nimport { choose_format_for_number } from './format';\n\nimport get_number_type from './get number type';\n\nexport var PLUS_CHARS = '+\\uFF0B';\n\n// Digits accepted in phone numbers\n// (ascii, fullwidth, arabic-indic, and eastern arabic digits).\nexport var VALID_DIGITS = '0-9\\uFF10-\\uFF19\\u0660-\\u0669\\u06F0-\\u06F9';\n\n// `DASHES` will be right after the opening square bracket of the \"character class\"\nvar DASHES = '-\\u2010-\\u2015\\u2212\\u30FC\\uFF0D';\nvar SLASHES = '\\uFF0F/';\nvar DOTS = '\\uFF0E.';\nvar WHITESPACE = ' \\xA0\\xAD\\u200B\\u2060\\u3000';\nvar BRACKETS = '()\\uFF08\\uFF09\\uFF3B\\uFF3D\\\\[\\\\]';\nvar TILDES = '~\\u2053\\u223C\\uFF5E';\n\n// Regular expression of acceptable punctuation found in phone numbers. This\n// excludes punctuation found as a leading character only. This consists of dash\n// characters, white space characters, full stops, slashes, square brackets,\n// parentheses and tildes. Full-width variants are also present.\nexport var VALID_PUNCTUATION = '' + DASHES + SLASHES + DOTS + WHITESPACE + BRACKETS + TILDES;\n\n//  Regular expression of viable phone numbers. This is location independent.\n//  Checks we have at least three leading digits, and only valid punctuation,\n//  alpha characters and digits in the phone number. Does not include extension\n//  data. The symbol 'x' is allowed here as valid punctuation since it is often\n//  used as a placeholder for carrier codes, for example in Brazilian phone\n//  numbers. We also allow multiple '+' characters at the start.\n//\n//  Corresponds to the following:\n//  [digits]{minLengthNsn}|\n//  plus_sign*\n//  (([punctuation]|[star])*[digits]){3,}([punctuation]|[star]|[digits]|[alpha])*\n//\n//  The first reg-ex is to allow short numbers (two digits long) to be parsed if\n//  they are entered as \"15\" etc, but only if there is no punctuation in them.\n//  The second expression restricts the number of digits to three or more, but\n//  then allows them to be in international form, and to have alpha-characters\n//  and punctuation. We split up the two reg-exes here and combine them when\n//  creating the reg-ex VALID_PHONE_NUMBER_PATTERN itself so we can prefix it\n//  with ^ and append $ to each branch.\n//\n//  \"Note VALID_PUNCTUATION starts with a -,\n//   so must be the first in the range\" (c) Google devs.\n//  (wtf did they mean by saying that; probably nothing)\n//\nvar MIN_LENGTH_PHONE_NUMBER_PATTERN = '[' + VALID_DIGITS + ']{' + MIN_LENGTH_FOR_NSN + '}';\n//\n// And this is the second reg-exp:\n// (see MIN_LENGTH_PHONE_NUMBER_PATTERN for a full description of this reg-exp)\n//\nvar VALID_PHONE_NUMBER = '[' + PLUS_CHARS + ']{0,1}' + '(?:' + '[' + VALID_PUNCTUATION + ']*' + '[' + VALID_DIGITS + ']' + '){3,}' + '[' + VALID_PUNCTUATION + VALID_DIGITS + ']*';\n\n// The combined regular expression for valid phone numbers:\n//\nvar VALID_PHONE_NUMBER_PATTERN = new RegExp(\n// Either a short two-digit-only phone number\n'^' + MIN_LENGTH_PHONE_NUMBER_PATTERN + '$' + '|' +\n// Or a longer fully parsed phone number (min 3 characters)\n'^' + VALID_PHONE_NUMBER +\n// screw phone number extensions\n// '(?:' + EXTN_PATTERNS_FOR_PARSING + ')?' +\n'$', 'i');\n\n// This consists of the plus symbol, digits, and arabic-indic digits.\nvar PHONE_NUMBER_START_PATTERN = new RegExp('[' + PLUS_CHARS + VALID_DIGITS + ']');\n\n// Regular expression of trailing characters that we want to remove.\nvar AFTER_PHONE_NUMBER_END_PATTERN = new RegExp('[^' + VALID_DIGITS + ']+$');\n\nvar LEADING_PLUS_CHARS_PATTERN = new RegExp('^[' + PLUS_CHARS + ']+');\n\n// These mappings map a character (key) to a specific digit that should\n// replace it for normalization purposes. Non-European digits that\n// may be used in phone numbers are mapped to a European equivalent.\nvar DIGIT_MAPPINGS = {\n\t'0': '0',\n\t'1': '1',\n\t'2': '2',\n\t'3': '3',\n\t'4': '4',\n\t'5': '5',\n\t'6': '6',\n\t'7': '7',\n\t'8': '8',\n\t'9': '9',\n\t'\\uFF10': '0', // Fullwidth digit 0\n\t'\\uFF11': '1', // Fullwidth digit 1\n\t'\\uFF12': '2', // Fullwidth digit 2\n\t'\\uFF13': '3', // Fullwidth digit 3\n\t'\\uFF14': '4', // Fullwidth digit 4\n\t'\\uFF15': '5', // Fullwidth digit 5\n\t'\\uFF16': '6', // Fullwidth digit 6\n\t'\\uFF17': '7', // Fullwidth digit 7\n\t'\\uFF18': '8', // Fullwidth digit 8\n\t'\\uFF19': '9', // Fullwidth digit 9\n\t'\\u0660': '0', // Arabic-indic digit 0\n\t'\\u0661': '1', // Arabic-indic digit 1\n\t'\\u0662': '2', // Arabic-indic digit 2\n\t'\\u0663': '3', // Arabic-indic digit 3\n\t'\\u0664': '4', // Arabic-indic digit 4\n\t'\\u0665': '5', // Arabic-indic digit 5\n\t'\\u0666': '6', // Arabic-indic digit 6\n\t'\\u0667': '7', // Arabic-indic digit 7\n\t'\\u0668': '8', // Arabic-indic digit 8\n\t'\\u0669': '9', // Arabic-indic digit 9\n\t'\\u06F0': '0', // Eastern-Arabic digit 0\n\t'\\u06F1': '1', // Eastern-Arabic digit 1\n\t'\\u06F2': '2', // Eastern-Arabic digit 2\n\t'\\u06F3': '3', // Eastern-Arabic digit 3\n\t'\\u06F4': '4', // Eastern-Arabic digit 4\n\t'\\u06F5': '5', // Eastern-Arabic digit 5\n\t'\\u06F6': '6', // Eastern-Arabic digit 6\n\t'\\u06F7': '7', // Eastern-Arabic digit 7\n\t'\\u06F8': '8', // Eastern-Arabic digit 8\n\t'\\u06F9': '9' // Eastern-Arabic digit 9\n};\n\n// The maximum length of the country calling code.\nvar MAX_LENGTH_COUNTRY_CODE = 3;\n\n// The minimum length of the national significant number.\nvar MIN_LENGTH_FOR_NSN = 2;\n\n// The ITU says the maximum length should be 15,\n// but one can find longer numbers in Germany.\nvar MAX_LENGTH_FOR_NSN = 17;\n\n// We don't allow input strings for parsing to be longer than 250 chars.\n// This prevents malicious input from consuming CPU.\nvar MAX_INPUT_STRING_LENGTH = 250;\n\nvar default_options = {\n\tcountry: {}\n};\n\n// `options`:\n//  {\n//    country:\n//    {\n//      restrict - (a two-letter country code)\n//                 the phone number must be in this country\n//\n//      default - (a two-letter country code)\n//                default country to use for phone number parsing and validation\n//                (if no country code could be derived from the phone number)\n//    }\n//  }\n//\n// Returns `{ country, number }`\n//\n// Example use cases:\n//\n// ```js\n// parse('8 (800) 555-35-35', 'RU')\n// parse('8 (800) 555-35-35', 'RU', metadata)\n// parse('8 (800) 555-35-35', { country: { default: 'RU' } })\n// parse('8 (800) 555-35-35', { country: { default: 'RU' } }, metadata)\n// parse('+7 800 555 35 35')\n// parse('+7 800 555 35 35', metadata)\n// ```\n//\nexport default function parse(first_argument, second_argument, third_argument) {\n\tvar _sort_out_arguments = sort_out_arguments(first_argument, second_argument, third_argument),\n\t    text = _sort_out_arguments.text,\n\t    options = _sort_out_arguments.options,\n\t    metadata = _sort_out_arguments.metadata;\n\n\tif (!options) {\n\t\toptions = _extends({}, default_options);\n\t}\n\n\t// Validate country codes\n\n\t// Validate `default` country\n\tif (options.country.default && !metadata.countries[options.country.default]) {\n\t\tthrow new Error('Unknown country code: ' + options.country.default);\n\t}\n\n\t// Validate `restrict` country\n\tif (options.country.restrict && !metadata.countries[options.country.restrict]) {\n\t\tthrow new Error('Unknown country code: ' + options.country.restrict);\n\t}\n\n\t// Parse the phone number\n\n\tvar formatted_phone_number = extract_formatted_phone_number(text);\n\n\t// If the phone number is not viable, then abort.\n\tif (!is_viable_phone_number(formatted_phone_number)) {\n\t\treturn {};\n\t}\n\n\tvar _parse_phone_number_a = parse_phone_number_and_country_phone_code(formatted_phone_number, metadata),\n\t    country_phone_code = _parse_phone_number_a.country_phone_code,\n\t    number = _parse_phone_number_a.number;\n\n\t// Maybe invalid country phone code encountered\n\n\n\tif (!number) {\n\t\treturn {};\n\t}\n\n\tvar country = void 0;\n\tvar country_metadata = void 0;\n\n\t// Whether the phone number is formatted as an international phone number\n\tvar is_international = false;\n\n\tif (country_phone_code) {\n\t\tis_international = true;\n\n\t\t// Check country restriction\n\t\tif (options.country.restrict && country_phone_code !== get_phone_code(metadata.countries[options.country.restrict])) {\n\t\t\treturn {};\n\t\t}\n\n\t\t// Formatting information for regions which share\n\t\t// a country calling code is contained by only one region\n\t\t// for performance reasons. For example, for NANPA region\n\t\t// (\"North American Numbering Plan Administration\",\n\t\t//  which includes USA, Canada, Cayman Islands, Bahamas, etc)\n\t\t// it will be contained in the metadata for `US`.\n\t\tcountry_metadata = get_metadata_by_country_phone_code(country_phone_code, metadata);\n\n\t\t// `country` will be set later,\n\t\t// because, for example, for NANPA countries\n\t\t// there are several countries corresponding\n\t\t// to the same `1` country phone code.\n\t\t// Therefore, to reliably determine the exact country,\n\t\t// national (significant) number should be parsed first.\n\t} else if (options.country.restrict || options.country.default) {\n\t\tcountry = options.country.restrict || options.country.default;\n\t\tcountry_metadata = metadata.countries[country];\n\n\t\tnumber = normalize(text);\n\t}\n\n\tif (!country_metadata) {\n\t\treturn {};\n\t}\n\n\tvar national_number = strip_national_prefix(number, country_metadata);\n\n\tvar did_have_national_prefix = national_number !== number;\n\n\t// https://github.com/catamphetamine/libphonenumber-js/issues/67\n\t// if (!is_international && !did_have_national_prefix &&\n\t// \t\tis_national_prefix_required(national_number, country_metadata))\n\t// {\n\t// \treturn {}\n\t// }\n\n\t// Sometimes there are several countries\n\t// corresponding to the same country phone code\n\t// (e.g. NANPA countries all having `1` country phone code).\n\t// Therefore, to reliably determine the exact country,\n\t// national (significant) number should have been parsed first.\n\t//\n\tif (!country) {\n\t\t// When `metadata.json` is generated, all \"ambiguous\" country phone codes\n\t\t// get their countries populated with the full set of\n\t\t// \"phone number type\" regular expressions.\n\t\tcountry = find_country_code(country_phone_code, national_number, metadata);\n\n\t\t// Just in case there appears to be a bug in Google's metadata\n\t\t// and the exact country could not be extracted from the phone number.\n\t\t/* istanbul ignore if */\n\t\tif (!country) {\n\t\t\treturn {};\n\t\t}\n\n\t\t// Update metadata to be for this specific country\n\t\tcountry_metadata = metadata.countries[country];\n\t}\n\n\t// Validate national (significant) number length.\n\t//\n\t// A sidenote:\n\t//\n\t// They say that sometimes national (significant) numbers\n\t// can be longer than `MAX_LENGTH_FOR_NSN` (e.g. in Germany).\n\t// https://github.com/googlei18n/libphonenumber/blob/7e1748645552da39c4e1ba731e47969d97bdb539/resources/phonenumber.proto#L36\n\t// Such numbers will just be discarded.\n\t//\n\tif (national_number.length > MAX_LENGTH_FOR_NSN) {\n\t\treturn {};\n\t}\n\n\t// National number pattern is different for each country,\n\t// even for those ones which are part of the \"NANPA\" group.\n\tvar national_number_rule = new RegExp(get_national_number_pattern(country_metadata));\n\n\t// Check if national phone number pattern matches the number\n\tif (!matches_entirely(national_number, national_number_rule)) {\n\t\treturn {};\n\t}\n\n\treturn { country: country, phone: national_number };\n}\n\n// Normalizes a string of characters representing a phone number.\n// This converts wide-ascii and arabic-indic numerals to European numerals,\n// and strips punctuation and alpha characters.\nexport function normalize(number) {\n\treturn replace_characters(number, DIGIT_MAPPINGS);\n}\n\n// For any character not being part of `replacements`\n// it is removed from the phone number.\nexport function replace_characters(text, replacements) {\n\tvar replaced = '';\n\n\tvar _iteratorNormalCompletion = true;\n\tvar _didIteratorError = false;\n\tvar _iteratorError = undefined;\n\n\ttry {\n\t\tfor (var _iterator = _getIterator(text), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n\t\t\tvar character = _step.value;\n\n\t\t\tvar replacement = replacements[character.toUpperCase()];\n\n\t\t\tif (replacement !== undefined) {\n\t\t\t\treplaced += replacement;\n\t\t\t}\n\t\t}\n\t} catch (err) {\n\t\t_didIteratorError = true;\n\t\t_iteratorError = err;\n\t} finally {\n\t\ttry {\n\t\t\tif (!_iteratorNormalCompletion && _iterator.return) {\n\t\t\t\t_iterator.return();\n\t\t\t}\n\t\t} finally {\n\t\t\tif (_didIteratorError) {\n\t\t\t\tthrow _iteratorError;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn replaced;\n}\n\n// Checks to see if the string of characters could possibly be a phone number at\n// all. At the moment, checks to see that the string begins with at least 2\n// digits, ignoring any punctuation commonly found in phone numbers. This method\n// does not require the number to be normalized in advance - but does assume\n// that leading non-number symbols have been removed, such as by the method\n// `extract_possible_number`.\n//\nexport function is_viable_phone_number(number) {\n\treturn number.length >= MIN_LENGTH_FOR_NSN && matches_entirely(number, VALID_PHONE_NUMBER_PATTERN);\n}\n\nexport function extract_formatted_phone_number(text) {\n\tif (!text || text.length > MAX_INPUT_STRING_LENGTH) {\n\t\treturn '';\n\t}\n\n\t// Attempt to extract a possible number from the string passed in\n\n\tvar starts_at = text.search(PHONE_NUMBER_START_PATTERN);\n\n\tif (starts_at < 0) {\n\t\treturn '';\n\t}\n\n\treturn text\n\t// Trim everything to the left of the phone number\n\t.slice(starts_at)\n\t// Remove trailing non-numerical characters\n\t.replace(AFTER_PHONE_NUMBER_END_PATTERN, '');\n}\n\n// Parses a formatted phone number.\nexport function parse_phone_number(number) {\n\tif (!number) {\n\t\treturn '';\n\t}\n\n\tvar is_international = LEADING_PLUS_CHARS_PATTERN.test(number);\n\n\t// Remove non-digits\n\t// (and strip the possible leading '+')\n\tnumber = normalize(number);\n\n\tif (is_international) {\n\t\treturn '+' + number;\n\t}\n\n\treturn number;\n}\n\n// Parses a formatted phone number\n// and returns `{ country_phone_code, number }`\n// where `number` is the national (significant) phone number.\n//\n// (aka `maybeExtractCountryPhoneCode`)\n//\nexport function parse_phone_number_and_country_phone_code(number, metadata) {\n\tnumber = parse_phone_number(number);\n\n\tif (!number) {\n\t\treturn {};\n\t}\n\n\t// If this is not an international phone number,\n\t// then don't extract country phone code.\n\tif (number[0] !== '+') {\n\t\treturn { number: number };\n\t}\n\n\t// Strip the leading '+' sign\n\tnumber = number.slice(1);\n\n\t// Fast abortion: country codes do not begin with a '0'\n\tif (number[0] === '0') {\n\t\treturn {};\n\t}\n\n\t// The thing with country phone codes\n\t// is that they are orthogonal to each other\n\t// i.e. there's no such country phone code A\n\t// for which country phone code B exists\n\t// where B starts with A.\n\t// Therefore, while scanning digits,\n\t// if a valid country code is found,\n\t// that means that it is the country code.\n\t//\n\tvar i = 1;\n\twhile (i <= MAX_LENGTH_COUNTRY_CODE && i <= number.length) {\n\t\tvar country_phone_code = number.slice(0, i);\n\n\t\tif (metadata.country_phone_code_to_countries[country_phone_code]) {\n\t\t\treturn { country_phone_code: country_phone_code, number: number.slice(i) };\n\t\t}\n\n\t\ti++;\n\t}\n\n\treturn {};\n}\n\n// Strips any national prefix (such as 0, 1) present in the number provided\nexport function strip_national_prefix(number, country_metadata) {\n\tvar national_prefix_for_parsing = get_national_prefix_for_parsing(country_metadata);\n\n\tif (!number || !national_prefix_for_parsing) {\n\t\treturn number;\n\t}\n\n\t// Attempt to parse the first digits as a national prefix\n\tvar national_prefix_pattern = new RegExp('^(?:' + national_prefix_for_parsing + ')');\n\tvar national_prefix_matcher = national_prefix_pattern.exec(number);\n\n\t// If no national prefix is present in the phone number,\n\t// but if the national prefix is optional for this country,\n\t// then consider this phone number valid.\n\t//\n\t// Google's reference `libphonenumber` implementation\n\t// wouldn't recognize such phone numbers as valid,\n\t// but I think it would perfectly make sense\n\t// to consider such phone numbers as valid\n\t// because if a national phone number was originally\n\t// formatted without the national prefix\n\t// then it must be parseable back into the original national number.\n\t// In other words, `parse(format(number))`\n\t// must always be equal to `number`.\n\t//\n\tif (!national_prefix_matcher) {\n\t\treturn number;\n\t}\n\n\tvar national_significant_number = void 0;\n\n\t// `national_prefix_for_parsing` capturing groups\n\t// (used only for really messy cases: Argentina, Brazil, Mexico, Somalia)\n\tvar any_groups_were_captured = national_prefix_matcher[national_prefix_matcher.length - 1];\n\tvar national_prefix_transform_rule = get_national_prefix_transform_rule(country_metadata);\n\n\t// If the national number tranformation is needed then do it\n\tif (national_prefix_transform_rule && any_groups_were_captured) {\n\t\tnational_significant_number = number.replace(national_prefix_pattern, national_prefix_transform_rule);\n\t}\n\t// Else, no transformation is necessary,\n\t// and just strip the national prefix.\n\telse {\n\t\t\tnational_significant_number = number.slice(national_prefix_matcher[0].length);\n\t\t}\n\n\t// Verify the parsed national (significant) number for this country\n\tvar national_number_rule = new RegExp(get_national_number_pattern(country_metadata));\n\n\t// If the original number (before stripping national prefix) was viable,\n\t// and the resultant number is not, then prefer the original phone number.\n\t// This is because for some countries (e.g. Russia) the same digit could be both\n\t// a national prefix and a leading digit of a valid national phone number,\n\t// like `8` is the national prefix for Russia and both\n\t// `8 800 555 35 35` and `800 555 35 35` are valid numbers.\n\tif (matches_entirely(number, national_number_rule) && !matches_entirely(national_significant_number, national_number_rule)) {\n\t\treturn number;\n\t}\n\n\t// Return the parsed national (significant) number\n\treturn national_significant_number;\n}\n\nexport function find_country_code(country_phone_code, national_phone_number, metadata) {\n\t// Is always non-empty, because `country_phone_code` is always valid\n\tvar possible_countries = metadata.country_phone_code_to_countries[country_phone_code];\n\n\t// If there's just one country corresponding to the country code,\n\t// then just return it, without further phone number digits validation.\n\tif (possible_countries.length === 1) {\n\t\treturn possible_countries[0];\n\t}\n\n\tvar _iteratorNormalCompletion2 = true;\n\tvar _didIteratorError2 = false;\n\tvar _iteratorError2 = undefined;\n\n\ttry {\n\t\tfor (var _iterator2 = _getIterator(possible_countries), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n\t\t\tvar country_code = _step2.value;\n\n\t\t\tvar country = metadata.countries[country_code];\n\n\t\t\t// Leading digits check would be the simplest one\n\t\t\tif (get_leading_digits(country)) {\n\t\t\t\tif (national_phone_number && national_phone_number.search(get_leading_digits(country)) === 0) {\n\t\t\t\t\treturn country_code;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Else perform full validation with all of those bulky\n\t\t\t// fixed-line/mobile/etc regular expressions.\n\t\t\telse if (get_number_type({ phone: national_phone_number, country: country_code }, metadata)) {\n\t\t\t\t\treturn country_code;\n\t\t\t\t}\n\t\t}\n\t} catch (err) {\n\t\t_didIteratorError2 = true;\n\t\t_iteratorError2 = err;\n\t} finally {\n\t\ttry {\n\t\t\tif (!_iteratorNormalCompletion2 && _iterator2.return) {\n\t\t\t\t_iterator2.return();\n\t\t\t}\n\t\t} finally {\n\t\t\tif (_didIteratorError2) {\n\t\t\t\tthrow _iteratorError2;\n\t\t\t}\n\t\t}\n\t}\n}\n\n// export function is_national_prefix_required(national_number, country_metadata)\n// {\n// \tconst format = choose_format_for_number(get_formats(country_metadata), national_number)\n//\n// \tif (format)\n// \t{\n// \t\treturn get_format_national_prefix_is_mandatory_when_formatting(format, country_metadata)\n// \t}\n// }\n\n// Sort out arguments\nfunction sort_out_arguments(first_argument, second_argument, third_argument) {\n\tvar text = void 0;\n\tvar options = void 0;\n\tvar metadata = void 0;\n\n\tif (typeof first_argument === 'string') {\n\t\ttext = first_argument;\n\t}\n\n\t// Covert `resrict` country to an `options` object\n\tif (typeof second_argument === 'string') {\n\t\tvar restrict_to_country = second_argument;\n\n\t\toptions = _extends({}, default_options, {\n\n\t\t\tcountry: {\n\t\t\t\trestrict: restrict_to_country\n\t\t\t}\n\t\t});\n\n\t\tmetadata = third_argument;\n\t} else {\n\t\t// Differentiate `metadata` from `options`\n\t\tif (second_argument && second_argument.countries) {\n\t\t\tmetadata = second_argument;\n\t\t} else {\n\t\t\toptions = second_argument;\n\t\t\tmetadata = third_argument;\n\t\t}\n\t}\n\n\t// Sanity check\n\tif (!metadata) {\n\t\tthrow new Error('Metadata not passed');\n\t}\n\n\treturn { text: text, options: options, metadata: metadata };\n}\n//# sourceMappingURL=parse.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/libphonenumber-js/es6/parse.js\n// module id = 137\n// module chunks = 0","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n\n'use strict';\n\n/*<replacement>*/\n\nvar pna = require('process-nextick-args');\n/*</replacement>*/\n\n/*<replacement>*/\nvar objectKeys = Object.keys || function (obj) {\n  var keys = [];\n  for (var key in obj) {\n    keys.push(key);\n  }return keys;\n};\n/*</replacement>*/\n\nmodule.exports = Duplex;\n\n/*<replacement>*/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/*</replacement>*/\n\nvar Readable = require('./_stream_readable');\nvar Writable = require('./_stream_writable');\n\nutil.inherits(Duplex, Readable);\n\n{\n  // avoid scope creep, the keys array can then be collected\n  var keys = objectKeys(Writable.prototype);\n  for (var v = 0; v < keys.length; v++) {\n    var method = keys[v];\n    if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n  }\n}\n\nfunction Duplex(options) {\n  if (!(this instanceof Duplex)) return new Duplex(options);\n\n  Readable.call(this, options);\n  Writable.call(this, options);\n\n  if (options && options.readable === false) this.readable = false;\n\n  if (options && options.writable === false) this.writable = false;\n\n  this.allowHalfOpen = true;\n  if (options && options.allowHalfOpen === false) this.allowHalfOpen = false;\n\n  this.once('end', onend);\n}\n\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n  // making it explicit this property is not enumerable\n  // because otherwise some prototype manipulation in\n  // userland will fail\n  enumerable: false,\n  get: function () {\n    return this._writableState.highWaterMark;\n  }\n});\n\n// the no-half-open enforcer\nfunction onend() {\n  // if we allow half-open state, or if the writable side ended,\n  // then we're ok.\n  if (this.allowHalfOpen || this._writableState.ended) return;\n\n  // no more data can be written.\n  // But allow more writes to happen in this tick.\n  pna.nextTick(onEndNT, this);\n}\n\nfunction onEndNT(self) {\n  self.end();\n}\n\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n  get: function () {\n    if (this._readableState === undefined || this._writableState === undefined) {\n      return false;\n    }\n    return this._readableState.destroyed && this._writableState.destroyed;\n  },\n  set: function (value) {\n    // we ignore the value if the stream\n    // has not been initialized yet\n    if (this._readableState === undefined || this._writableState === undefined) {\n      return;\n    }\n\n    // backward compatibility, the user is explicitly\n    // managing destroyed\n    this._readableState.destroyed = value;\n    this._writableState.destroyed = value;\n  }\n});\n\nDuplex.prototype._destroy = function (err, cb) {\n  this.push(null);\n  this.end();\n\n  pna.nextTick(cb, err);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/readable-stream/lib/_stream_duplex.js\n// module id = 138\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar subscribeToResult_1 = require('../util/subscribeToResult');\nvar OuterSubscriber_1 = require('../OuterSubscriber');\n/**\n * Projects each source value to an Observable which is merged in the output\n * Observable.\n *\n * <span class=\"informal\">Maps each value to an Observable, then flattens all of\n * these inner Observables using {@link mergeAll}.</span>\n *\n * <img src=\"./img/mergeMap.png\" width=\"100%\">\n *\n * Returns an Observable that emits items based on applying a function that you\n * supply to each item emitted by the source Observable, where that function\n * returns an Observable, and then merging those resulting Observables and\n * emitting the results of this merger.\n *\n * @example <caption>Map and flatten each letter to an Observable ticking every 1 second</caption>\n * var letters = Rx.Observable.of('a', 'b', 'c');\n * var result = letters.mergeMap(x =>\n *   Rx.Observable.interval(1000).map(i => x+i)\n * );\n * result.subscribe(x => console.log(x));\n *\n * @see {@link concatMap}\n * @see {@link exhaustMap}\n * @see {@link merge}\n * @see {@link mergeAll}\n * @see {@link mergeMapTo}\n * @see {@link mergeScan}\n * @see {@link switchMap}\n *\n * @param {function(value: T, ?index: number): Observable} project A function\n * that, when applied to an item emitted by the source Observable, returns an\n * Observable.\n * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector]\n * A function to produce the value on the output Observable based on the values\n * and the indices of the source (outer) emission and the inner Observable\n * emission. The arguments passed to this function are:\n * - `outerValue`: the value that came from the source\n * - `innerValue`: the value that came from the projected Observable\n * - `outerIndex`: the \"index\" of the value that came from the source\n * - `innerIndex`: the \"index\" of the value from the projected Observable\n * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of input\n * Observables being subscribed to concurrently.\n * @return {Observable} An Observable that emits the result of applying the\n * projection function (and the optional `resultSelector`) to each item emitted\n * by the source Observable and merging the results of the Observables obtained\n * from this transformation.\n * @method mergeMap\n * @owner Observable\n */\nfunction mergeMap(project, resultSelector, concurrent) {\n    if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\n    if (typeof resultSelector === 'number') {\n        concurrent = resultSelector;\n        resultSelector = null;\n    }\n    return this.lift(new MergeMapOperator(project, resultSelector, concurrent));\n}\nexports.mergeMap = mergeMap;\nvar MergeMapOperator = (function () {\n    function MergeMapOperator(project, resultSelector, concurrent) {\n        if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\n        this.project = project;\n        this.resultSelector = resultSelector;\n        this.concurrent = concurrent;\n    }\n    MergeMapOperator.prototype.call = function (observer, source) {\n        return source._subscribe(new MergeMapSubscriber(observer, this.project, this.resultSelector, this.concurrent));\n    };\n    return MergeMapOperator;\n}());\nexports.MergeMapOperator = MergeMapOperator;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar MergeMapSubscriber = (function (_super) {\n    __extends(MergeMapSubscriber, _super);\n    function MergeMapSubscriber(destination, project, resultSelector, concurrent) {\n        if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\n        _super.call(this, destination);\n        this.project = project;\n        this.resultSelector = resultSelector;\n        this.concurrent = concurrent;\n        this.hasCompleted = false;\n        this.buffer = [];\n        this.active = 0;\n        this.index = 0;\n    }\n    MergeMapSubscriber.prototype._next = function (value) {\n        if (this.active < this.concurrent) {\n            this._tryNext(value);\n        }\n        else {\n            this.buffer.push(value);\n        }\n    };\n    MergeMapSubscriber.prototype._tryNext = function (value) {\n        var result;\n        var index = this.index++;\n        try {\n            result = this.project(value, index);\n        }\n        catch (err) {\n            this.destination.error(err);\n            return;\n        }\n        this.active++;\n        this._innerSub(result, value, index);\n    };\n    MergeMapSubscriber.prototype._innerSub = function (ish, value, index) {\n        this.add(subscribeToResult_1.subscribeToResult(this, ish, value, index));\n    };\n    MergeMapSubscriber.prototype._complete = function () {\n        this.hasCompleted = true;\n        if (this.active === 0 && this.buffer.length === 0) {\n            this.destination.complete();\n        }\n    };\n    MergeMapSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        if (this.resultSelector) {\n            this._notifyResultSelector(outerValue, innerValue, outerIndex, innerIndex);\n        }\n        else {\n            this.destination.next(innerValue);\n        }\n    };\n    MergeMapSubscriber.prototype._notifyResultSelector = function (outerValue, innerValue, outerIndex, innerIndex) {\n        var result;\n        try {\n            result = this.resultSelector(outerValue, innerValue, outerIndex, innerIndex);\n        }\n        catch (err) {\n            this.destination.error(err);\n            return;\n        }\n        this.destination.next(result);\n    };\n    MergeMapSubscriber.prototype.notifyComplete = function (innerSub) {\n        var buffer = this.buffer;\n        this.remove(innerSub);\n        this.active--;\n        if (buffer.length > 0) {\n            this._next(buffer.shift());\n        }\n        else if (this.active === 0 && this.hasCompleted) {\n            this.destination.complete();\n        }\n    };\n    return MergeMapSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\nexports.MergeMapSubscriber = MergeMapSubscriber;\n//# sourceMappingURL=mergeMap.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/mergeMap.js\n// module id = 139\n// module chunks = 0","\"use strict\";\nvar MulticastObservable_1 = require('../observable/MulticastObservable');\nvar ConnectableObservable_1 = require('../observable/ConnectableObservable');\n/**\n * Returns an Observable that emits the results of invoking a specified selector on items\n * emitted by a ConnectableObservable that shares a single subscription to the underlying stream.\n *\n * <img src=\"./img/multicast.png\" width=\"100%\">\n *\n * @param {Function|Subject} Factory function to create an intermediate subject through\n * which the source sequence's elements will be multicast to the selector function\n * or Subject to push source elements into.\n * @param {Function} Optional selector function that can use the multicasted source stream\n * as many times as needed, without causing multiple subscriptions to the source stream.\n * Subscribers to the given source will receive all notifications of the source from the\n * time of the subscription forward.\n * @return {Observable} an Observable that emits the results of invoking the selector\n * on the items emitted by a `ConnectableObservable` that shares a single subscription to\n * the underlying stream.\n * @method multicast\n * @owner Observable\n */\nfunction multicast(subjectOrSubjectFactory, selector) {\n    var subjectFactory;\n    if (typeof subjectOrSubjectFactory === 'function') {\n        subjectFactory = subjectOrSubjectFactory;\n    }\n    else {\n        subjectFactory = function subjectFactory() {\n            return subjectOrSubjectFactory;\n        };\n    }\n    return !selector ?\n        new ConnectableObservable_1.ConnectableObservable(this, subjectFactory) :\n        new MulticastObservable_1.MulticastObservable(this, subjectFactory, selector);\n}\nexports.multicast = multicast;\n//# sourceMappingURL=multicast.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/multicast.js\n// module id = 140\n// module chunks = 0","/**\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 */\nimport * as cdAst from '../expression_parser/ast';\nimport { isBlank } from '../facade/lang';\nimport { Identifiers, createIdentifier } from '../identifiers';\nimport * as o from '../output/output_ast';\nimport { createPureProxy } from './identifier_util';\nvar /** @type {?} */ VAL_UNWRAPPER_VAR = o.variable(\"valUnwrapper\");\nexport var EventHandlerVars = (function () {\n    function EventHandlerVars() {\n    }\n    EventHandlerVars.event = o.variable('$event');\n    return EventHandlerVars;\n}());\nfunction EventHandlerVars_tsickle_Closure_declarations() {\n    /** @type {?} */\n    EventHandlerVars.event;\n}\nexport var ConvertPropertyBindingResult = (function () {\n    /**\n     * @param {?} stmts\n     * @param {?} currValExpr\n     * @param {?} forceUpdate\n     */\n    function ConvertPropertyBindingResult(stmts, currValExpr, forceUpdate) {\n        this.stmts = stmts;\n        this.currValExpr = currValExpr;\n        this.forceUpdate = forceUpdate;\n    }\n    return ConvertPropertyBindingResult;\n}());\nfunction ConvertPropertyBindingResult_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ConvertPropertyBindingResult.prototype.stmts;\n    /** @type {?} */\n    ConvertPropertyBindingResult.prototype.currValExpr;\n    /** @type {?} */\n    ConvertPropertyBindingResult.prototype.forceUpdate;\n}\n/**\n * Converts the given expression AST into an executable output AST, assuming the expression is\n * used in a property binding.\n * @param {?} builder\n * @param {?} nameResolver\n * @param {?} implicitReceiver\n * @param {?} expression\n * @param {?} bindingId\n * @return {?}\n */\nexport function convertPropertyBinding(builder, nameResolver, implicitReceiver, expression, bindingId) {\n    var /** @type {?} */ currValExpr = createCurrValueExpr(bindingId);\n    var /** @type {?} */ stmts = [];\n    if (!nameResolver) {\n        nameResolver = new DefaultNameResolver();\n    }\n    var /** @type {?} */ visitor = new _AstToIrVisitor(builder, nameResolver, implicitReceiver, VAL_UNWRAPPER_VAR, bindingId, false);\n    var /** @type {?} */ outputExpr = expression.visit(visitor, _Mode.Expression);\n    if (!outputExpr) {\n        // e.g. an empty expression was given\n        return null;\n    }\n    if (visitor.temporaryCount) {\n        for (var /** @type {?} */ i = 0; i < visitor.temporaryCount; i++) {\n            stmts.push(temporaryDeclaration(bindingId, i));\n        }\n    }\n    if (visitor.needsValueUnwrapper) {\n        var /** @type {?} */ initValueUnwrapperStmt = VAL_UNWRAPPER_VAR.callMethod('reset', []).toStmt();\n        stmts.push(initValueUnwrapperStmt);\n    }\n    stmts.push(currValExpr.set(outputExpr).toDeclStmt(null, [o.StmtModifier.Final]));\n    if (visitor.needsValueUnwrapper) {\n        return new ConvertPropertyBindingResult(stmts, currValExpr, VAL_UNWRAPPER_VAR.prop('hasWrappedValue'));\n    }\n    else {\n        return new ConvertPropertyBindingResult(stmts, currValExpr, null);\n    }\n}\nexport var ConvertActionBindingResult = (function () {\n    /**\n     * @param {?} stmts\n     * @param {?} preventDefault\n     */\n    function ConvertActionBindingResult(stmts, preventDefault) {\n        this.stmts = stmts;\n        this.preventDefault = preventDefault;\n    }\n    return ConvertActionBindingResult;\n}());\nfunction ConvertActionBindingResult_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ConvertActionBindingResult.prototype.stmts;\n    /** @type {?} */\n    ConvertActionBindingResult.prototype.preventDefault;\n}\n/**\n * Converts the given expression AST into an executable output AST, assuming the expression is\n * used in an action binding (e.g. an event handler).\n * @param {?} builder\n * @param {?} nameResolver\n * @param {?} implicitReceiver\n * @param {?} action\n * @param {?} bindingId\n * @return {?}\n */\nexport function convertActionBinding(builder, nameResolver, implicitReceiver, action, bindingId) {\n    if (!nameResolver) {\n        nameResolver = new DefaultNameResolver();\n    }\n    var /** @type {?} */ visitor = new _AstToIrVisitor(builder, nameResolver, implicitReceiver, null, bindingId, true);\n    var /** @type {?} */ actionStmts = [];\n    flattenStatements(action.visit(visitor, _Mode.Statement), actionStmts);\n    prependTemporaryDecls(visitor.temporaryCount, bindingId, actionStmts);\n    var /** @type {?} */ lastIndex = actionStmts.length - 1;\n    var /** @type {?} */ preventDefaultVar = null;\n    if (lastIndex >= 0) {\n        var /** @type {?} */ lastStatement = actionStmts[lastIndex];\n        var /** @type {?} */ returnExpr = convertStmtIntoExpression(lastStatement);\n        if (returnExpr) {\n            // Note: We need to cast the result of the method call to dynamic,\n            // as it might be a void method!\n            preventDefaultVar = createPreventDefaultVar(bindingId);\n            actionStmts[lastIndex] =\n                preventDefaultVar.set(returnExpr.cast(o.DYNAMIC_TYPE).notIdentical(o.literal(false)))\n                    .toDeclStmt(null, [o.StmtModifier.Final]);\n        }\n    }\n    return new ConvertActionBindingResult(actionStmts, preventDefaultVar);\n}\n/**\n * Creates variables that are shared by multiple calls to `convertActionBinding` /\n * `convertPropertyBinding`\n * @param {?} stmts\n * @return {?}\n */\nexport function createSharedBindingVariablesIfNeeded(stmts) {\n    var /** @type {?} */ unwrapperStmts = [];\n    var /** @type {?} */ readVars = o.findReadVarNames(stmts);\n    if (readVars.has(VAL_UNWRAPPER_VAR.name)) {\n        unwrapperStmts.push(VAL_UNWRAPPER_VAR\n            .set(o.importExpr(createIdentifier(Identifiers.ValueUnwrapper)).instantiate([]))\n            .toDeclStmt(null, [o.StmtModifier.Final]));\n    }\n    return unwrapperStmts;\n}\n/**\n * @param {?} bindingId\n * @param {?} temporaryNumber\n * @return {?}\n */\nfunction temporaryName(bindingId, temporaryNumber) {\n    return \"tmp_\" + bindingId + \"_\" + temporaryNumber;\n}\n/**\n * @param {?} bindingId\n * @param {?} temporaryNumber\n * @return {?}\n */\nexport function temporaryDeclaration(bindingId, temporaryNumber) {\n    return new o.DeclareVarStmt(temporaryName(bindingId, temporaryNumber), o.NULL_EXPR);\n}\n/**\n * @param {?} temporaryCount\n * @param {?} bindingId\n * @param {?} statements\n * @return {?}\n */\nfunction prependTemporaryDecls(temporaryCount, bindingId, statements) {\n    for (var /** @type {?} */ i = temporaryCount - 1; i >= 0; i--) {\n        statements.unshift(temporaryDeclaration(bindingId, i));\n    }\n}\nvar _Mode = {};\n_Mode.Statement = 0;\n_Mode.Expression = 1;\n_Mode[_Mode.Statement] = \"Statement\";\n_Mode[_Mode.Expression] = \"Expression\";\n/**\n * @param {?} mode\n * @param {?} ast\n * @return {?}\n */\nfunction ensureStatementMode(mode, ast) {\n    if (mode !== _Mode.Statement) {\n        throw new Error(\"Expected a statement, but saw \" + ast);\n    }\n}\n/**\n * @param {?} mode\n * @param {?} ast\n * @return {?}\n */\nfunction ensureExpressionMode(mode, ast) {\n    if (mode !== _Mode.Expression) {\n        throw new Error(\"Expected an expression, but saw \" + ast);\n    }\n}\n/**\n * @param {?} mode\n * @param {?} expr\n * @return {?}\n */\nfunction convertToStatementIfNeeded(mode, expr) {\n    if (mode === _Mode.Statement) {\n        return expr.toStmt();\n    }\n    else {\n        return expr;\n    }\n}\nvar _AstToIrVisitor = (function () {\n    /**\n     * @param {?} _builder\n     * @param {?} _nameResolver\n     * @param {?} _implicitReceiver\n     * @param {?} _valueUnwrapper\n     * @param {?} bindingId\n     * @param {?} isAction\n     */\n    function _AstToIrVisitor(_builder, _nameResolver, _implicitReceiver, _valueUnwrapper, bindingId, isAction) {\n        this._builder = _builder;\n        this._nameResolver = _nameResolver;\n        this._implicitReceiver = _implicitReceiver;\n        this._valueUnwrapper = _valueUnwrapper;\n        this.bindingId = bindingId;\n        this.isAction = isAction;\n        this._nodeMap = new Map();\n        this._resultMap = new Map();\n        this._currentTemporary = 0;\n        this.needsValueUnwrapper = false;\n        this.temporaryCount = 0;\n    }\n    /**\n     * @param {?} ast\n     * @param {?} mode\n     * @return {?}\n     */\n    _AstToIrVisitor.prototype.visitBinary = function (ast, mode) {\n        var /** @type {?} */ op;\n        switch (ast.operation) {\n            case '+':\n                op = o.BinaryOperator.Plus;\n                break;\n            case '-':\n                op = o.BinaryOperator.Minus;\n                break;\n            case '*':\n                op = o.BinaryOperator.Multiply;\n                break;\n            case '/':\n                op = o.BinaryOperator.Divide;\n                break;\n            case '%':\n                op = o.BinaryOperator.Modulo;\n                break;\n            case '&&':\n                op = o.BinaryOperator.And;\n                break;\n            case '||':\n                op = o.BinaryOperator.Or;\n                break;\n            case '==':\n                op = o.BinaryOperator.Equals;\n                break;\n            case '!=':\n                op = o.BinaryOperator.NotEquals;\n                break;\n            case '===':\n                op = o.BinaryOperator.Identical;\n                break;\n            case '!==':\n                op = o.BinaryOperator.NotIdentical;\n                break;\n            case '<':\n                op = o.BinaryOperator.Lower;\n                break;\n            case '>':\n                op = o.BinaryOperator.Bigger;\n                break;\n            case '<=':\n                op = o.BinaryOperator.LowerEquals;\n                break;\n            case '>=':\n                op = o.BinaryOperator.BiggerEquals;\n                break;\n            default:\n                throw new Error(\"Unsupported operation \" + ast.operation);\n        }\n        return convertToStatementIfNeeded(mode, new o.BinaryOperatorExpr(op, this.visit(ast.left, _Mode.Expression), this.visit(ast.right, _Mode.Expression)));\n    };\n    /**\n     * @param {?} ast\n     * @param {?} mode\n     * @return {?}\n     */\n    _AstToIrVisitor.prototype.visitChain = function (ast, mode) {\n        ensureStatementMode(mode, ast);\n        return this.visitAll(ast.expressions, mode);\n    };\n    /**\n     * @param {?} ast\n     * @param {?} mode\n     * @return {?}\n     */\n    _AstToIrVisitor.prototype.visitConditional = function (ast, mode) {\n        var /** @type {?} */ value = this.visit(ast.condition, _Mode.Expression);\n        return convertToStatementIfNeeded(mode, value.conditional(this.visit(ast.trueExp, _Mode.Expression), this.visit(ast.falseExp, _Mode.Expression)));\n    };\n    /**\n     * @param {?} ast\n     * @param {?} mode\n     * @return {?}\n     */\n    _AstToIrVisitor.prototype.visitPipe = function (ast, mode) {\n        var /** @type {?} */ input = this.visit(ast.exp, _Mode.Expression);\n        var /** @type {?} */ args = this.visitAll(ast.args, _Mode.Expression);\n        var /** @type {?} */ value = this._nameResolver.callPipe(ast.name, input, args);\n        if (!value) {\n            throw new Error(\"Illegal state: Pipe \" + ast.name + \" is not allowed here!\");\n        }\n        this.needsValueUnwrapper = true;\n        return convertToStatementIfNeeded(mode, this._valueUnwrapper.callMethod('unwrap', [value]));\n    };\n    /**\n     * @param {?} ast\n     * @param {?} mode\n     * @return {?}\n     */\n    _AstToIrVisitor.prototype.visitFunctionCall = function (ast, mode) {\n        return convertToStatementIfNeeded(mode, this.visit(ast.target, _Mode.Expression).callFn(this.visitAll(ast.args, _Mode.Expression)));\n    };\n    /**\n     * @param {?} ast\n     * @param {?} mode\n     * @return {?}\n     */\n    _AstToIrVisitor.prototype.visitImplicitReceiver = function (ast, mode) {\n        ensureExpressionMode(mode, ast);\n        return this._implicitReceiver;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} mode\n     * @return {?}\n     */\n    _AstToIrVisitor.prototype.visitInterpolation = function (ast, mode) {\n        ensureExpressionMode(mode, ast);\n        var /** @type {?} */ args = [o.literal(ast.expressions.length)];\n        for (var /** @type {?} */ i = 0; i < ast.strings.length - 1; i++) {\n            args.push(o.literal(ast.strings[i]));\n            args.push(this.visit(ast.expressions[i], _Mode.Expression));\n        }\n        args.push(o.literal(ast.strings[ast.strings.length - 1]));\n        return ast.expressions.length <= 9 ?\n            o.importExpr(createIdentifier(Identifiers.inlineInterpolate)).callFn(args) :\n            o.importExpr(createIdentifier(Identifiers.interpolate)).callFn([\n                args[0], o.literalArr(args.slice(1))\n            ]);\n    };\n    /**\n     * @param {?} ast\n     * @param {?} mode\n     * @return {?}\n     */\n    _AstToIrVisitor.prototype.visitKeyedRead = function (ast, mode) {\n        var /** @type {?} */ leftMostSafe = this.leftMostSafeNode(ast);\n        if (leftMostSafe) {\n            return this.convertSafeAccess(ast, leftMostSafe, mode);\n        }\n        else {\n            return convertToStatementIfNeeded(mode, this.visit(ast.obj, _Mode.Expression).key(this.visit(ast.key, _Mode.Expression)));\n        }\n    };\n    /**\n     * @param {?} ast\n     * @param {?} mode\n     * @return {?}\n     */\n    _AstToIrVisitor.prototype.visitKeyedWrite = function (ast, mode) {\n        var /** @type {?} */ obj = this.visit(ast.obj, _Mode.Expression);\n        var /** @type {?} */ key = this.visit(ast.key, _Mode.Expression);\n        var /** @type {?} */ value = this.visit(ast.value, _Mode.Expression);\n        return convertToStatementIfNeeded(mode, obj.key(key).set(value));\n    };\n    /**\n     * @param {?} ast\n     * @param {?} mode\n     * @return {?}\n     */\n    _AstToIrVisitor.prototype.visitLiteralArray = function (ast, mode) {\n        var /** @type {?} */ parts = this.visitAll(ast.expressions, mode);\n        var /** @type {?} */ literalArr = this.isAction ? o.literalArr(parts) : createCachedLiteralArray(this._builder, parts);\n        return convertToStatementIfNeeded(mode, literalArr);\n    };\n    /**\n     * @param {?} ast\n     * @param {?} mode\n     * @return {?}\n     */\n    _AstToIrVisitor.prototype.visitLiteralMap = function (ast, mode) {\n        var /** @type {?} */ parts = [];\n        for (var /** @type {?} */ i = 0; i < ast.keys.length; i++) {\n            parts.push([ast.keys[i], this.visit(ast.values[i], _Mode.Expression)]);\n        }\n        var /** @type {?} */ literalMap = this.isAction ? o.literalMap(parts) : createCachedLiteralMap(this._builder, parts);\n        return convertToStatementIfNeeded(mode, literalMap);\n    };\n    /**\n     * @param {?} ast\n     * @param {?} mode\n     * @return {?}\n     */\n    _AstToIrVisitor.prototype.visitLiteralPrimitive = function (ast, mode) {\n        return convertToStatementIfNeeded(mode, o.literal(ast.value));\n    };\n    /**\n     * @param {?} name\n     * @return {?}\n     */\n    _AstToIrVisitor.prototype._getLocal = function (name) {\n        if (this.isAction && name == EventHandlerVars.event.name) {\n            return EventHandlerVars.event;\n        }\n        return this._nameResolver.getLocal(name);\n    };\n    /**\n     * @param {?} ast\n     * @param {?} mode\n     * @return {?}\n     */\n    _AstToIrVisitor.prototype.visitMethodCall = function (ast, mode) {\n        var /** @type {?} */ leftMostSafe = this.leftMostSafeNode(ast);\n        if (leftMostSafe) {\n            return this.convertSafeAccess(ast, leftMostSafe, mode);\n        }\n        else {\n            var /** @type {?} */ args = this.visitAll(ast.args, _Mode.Expression);\n            var /** @type {?} */ result = null;\n            var /** @type {?} */ receiver = this.visit(ast.receiver, _Mode.Expression);\n            if (receiver === this._implicitReceiver) {\n                var /** @type {?} */ varExpr = this._getLocal(ast.name);\n                if (varExpr) {\n                    result = varExpr.callFn(args);\n                }\n            }\n            if (isBlank(result)) {\n                result = receiver.callMethod(ast.name, args);\n            }\n            return convertToStatementIfNeeded(mode, result);\n        }\n    };\n    /**\n     * @param {?} ast\n     * @param {?} mode\n     * @return {?}\n     */\n    _AstToIrVisitor.prototype.visitPrefixNot = function (ast, mode) {\n        return convertToStatementIfNeeded(mode, o.not(this.visit(ast.expression, _Mode.Expression)));\n    };\n    /**\n     * @param {?} ast\n     * @param {?} mode\n     * @return {?}\n     */\n    _AstToIrVisitor.prototype.visitPropertyRead = function (ast, mode) {\n        var /** @type {?} */ leftMostSafe = this.leftMostSafeNode(ast);\n        if (leftMostSafe) {\n            return this.convertSafeAccess(ast, leftMostSafe, mode);\n        }\n        else {\n            var /** @type {?} */ result = null;\n            var /** @type {?} */ receiver = this.visit(ast.receiver, _Mode.Expression);\n            if (receiver === this._implicitReceiver) {\n                result = this._getLocal(ast.name);\n            }\n            if (isBlank(result)) {\n                result = receiver.prop(ast.name);\n            }\n            return convertToStatementIfNeeded(mode, result);\n        }\n    };\n    /**\n     * @param {?} ast\n     * @param {?} mode\n     * @return {?}\n     */\n    _AstToIrVisitor.prototype.visitPropertyWrite = function (ast, mode) {\n        var /** @type {?} */ receiver = this.visit(ast.receiver, _Mode.Expression);\n        if (receiver === this._implicitReceiver) {\n            var /** @type {?} */ varExpr = this._getLocal(ast.name);\n            if (varExpr) {\n                throw new Error('Cannot assign to a reference or variable!');\n            }\n        }\n        return convertToStatementIfNeeded(mode, receiver.prop(ast.name).set(this.visit(ast.value, _Mode.Expression)));\n    };\n    /**\n     * @param {?} ast\n     * @param {?} mode\n     * @return {?}\n     */\n    _AstToIrVisitor.prototype.visitSafePropertyRead = function (ast, mode) {\n        return this.convertSafeAccess(ast, this.leftMostSafeNode(ast), mode);\n    };\n    /**\n     * @param {?} ast\n     * @param {?} mode\n     * @return {?}\n     */\n    _AstToIrVisitor.prototype.visitSafeMethodCall = function (ast, mode) {\n        return this.convertSafeAccess(ast, this.leftMostSafeNode(ast), mode);\n    };\n    /**\n     * @param {?} asts\n     * @param {?} mode\n     * @return {?}\n     */\n    _AstToIrVisitor.prototype.visitAll = function (asts, mode) {\n        var _this = this;\n        return asts.map(function (ast) { return _this.visit(ast, mode); });\n    };\n    /**\n     * @param {?} ast\n     * @param {?} mode\n     * @return {?}\n     */\n    _AstToIrVisitor.prototype.visitQuote = function (ast, mode) {\n        throw new Error('Quotes are not supported for evaluation!');\n    };\n    /**\n     * @param {?} ast\n     * @param {?} mode\n     * @return {?}\n     */\n    _AstToIrVisitor.prototype.visit = function (ast, mode) {\n        var /** @type {?} */ result = this._resultMap.get(ast);\n        if (result)\n            return result;\n        return (this._nodeMap.get(ast) || ast).visit(this, mode);\n    };\n    /**\n     * @param {?} ast\n     * @param {?} leftMostSafe\n     * @param {?} mode\n     * @return {?}\n     */\n    _AstToIrVisitor.prototype.convertSafeAccess = function (ast, leftMostSafe, mode) {\n        // If the expression contains a safe access node on the left it needs to be converted to\n        // an expression that guards the access to the member by checking the receiver for blank. As\n        // execution proceeds from left to right, the left most part of the expression must be guarded\n        // first but, because member access is left associative, the right side of the expression is at\n        // the top of the AST. The desired result requires lifting a copy of the the left part of the\n        // expression up to test it for blank before generating the unguarded version.\n        // Consider, for example the following expression: a?.b.c?.d.e\n        // This results in the ast:\n        //         .\n        //        / \\\n        //       ?.   e\n        //      /  \\\n        //     .    d\n        //    / \\\n        //   ?.  c\n        //  /  \\\n        // a    b\n        // The following tree should be generated:\n        //\n        //        /---- ? ----\\\n        //       /      |      \\\n        //     a   /--- ? ---\\  null\n        //        /     |     \\\n        //       .      .     null\n        //      / \\    / \\\n        //     .  c   .   e\n        //    / \\    / \\\n        //   a   b  ,   d\n        //         / \\\n        //        .   c\n        //       / \\\n        //      a   b\n        //\n        // Notice that the first guard condition is the left hand of the left most safe access node\n        // which comes in as leftMostSafe to this routine.\n        var /** @type {?} */ guardedExpression = this.visit(leftMostSafe.receiver, _Mode.Expression);\n        var /** @type {?} */ temporary;\n        if (this.needsTemporary(leftMostSafe.receiver)) {\n            // If the expression has method calls or pipes then we need to save the result into a\n            // temporary variable to avoid calling stateful or impure code more than once.\n            temporary = this.allocateTemporary();\n            // Preserve the result in the temporary variable\n            guardedExpression = temporary.set(guardedExpression);\n            // Ensure all further references to the guarded expression refer to the temporary instead.\n            this._resultMap.set(leftMostSafe.receiver, temporary);\n        }\n        var /** @type {?} */ condition = guardedExpression.isBlank();\n        // Convert the ast to an unguarded access to the receiver's member. The map will substitute\n        // leftMostNode with its unguarded version in the call to `this.visit()`.\n        if (leftMostSafe instanceof cdAst.SafeMethodCall) {\n            this._nodeMap.set(leftMostSafe, new cdAst.MethodCall(leftMostSafe.span, leftMostSafe.receiver, leftMostSafe.name, leftMostSafe.args));\n        }\n        else {\n            this._nodeMap.set(leftMostSafe, new cdAst.PropertyRead(leftMostSafe.span, leftMostSafe.receiver, leftMostSafe.name));\n        }\n        // Recursively convert the node now without the guarded member access.\n        var /** @type {?} */ access = this.visit(ast, _Mode.Expression);\n        // Remove the mapping. This is not strictly required as the converter only traverses each node\n        // once but is safer if the conversion is changed to traverse the nodes more than once.\n        this._nodeMap.delete(leftMostSafe);\n        // If we allcoated a temporary, release it.\n        if (temporary) {\n            this.releaseTemporary(temporary);\n        }\n        // Produce the conditional\n        return convertToStatementIfNeeded(mode, condition.conditional(o.literal(null), access));\n    };\n    /**\n     * @param {?} ast\n     * @return {?}\n     */\n    _AstToIrVisitor.prototype.leftMostSafeNode = function (ast) {\n        var _this = this;\n        var /** @type {?} */ visit = function (visitor, ast) {\n            return (_this._nodeMap.get(ast) || ast).visit(visitor);\n        };\n        return ast.visit({\n            /**\n             * @param {?} ast\n             * @return {?}\n             */\n            visitBinary: function (ast) { return null; },\n            /**\n             * @param {?} ast\n             * @return {?}\n             */\n            visitChain: function (ast) { return null; },\n            /**\n             * @param {?} ast\n             * @return {?}\n             */\n            visitConditional: function (ast) { return null; },\n            /**\n             * @param {?} ast\n             * @return {?}\n             */\n            visitFunctionCall: function (ast) { return null; },\n            /**\n             * @param {?} ast\n             * @return {?}\n             */\n            visitImplicitReceiver: function (ast) { return null; },\n            /**\n             * @param {?} ast\n             * @return {?}\n             */\n            visitInterpolation: function (ast) { return null; },\n            /**\n             * @param {?} ast\n             * @return {?}\n             */\n            visitKeyedRead: function (ast) { return visit(this, ast.obj); },\n            /**\n             * @param {?} ast\n             * @return {?}\n             */\n            visitKeyedWrite: function (ast) { return null; },\n            /**\n             * @param {?} ast\n             * @return {?}\n             */\n            visitLiteralArray: function (ast) { return null; },\n            /**\n             * @param {?} ast\n             * @return {?}\n             */\n            visitLiteralMap: function (ast) { return null; },\n            /**\n             * @param {?} ast\n             * @return {?}\n             */\n            visitLiteralPrimitive: function (ast) { return null; },\n            /**\n             * @param {?} ast\n             * @return {?}\n             */\n            visitMethodCall: function (ast) { return visit(this, ast.receiver); },\n            /**\n             * @param {?} ast\n             * @return {?}\n             */\n            visitPipe: function (ast) { return null; },\n            /**\n             * @param {?} ast\n             * @return {?}\n             */\n            visitPrefixNot: function (ast) { return null; },\n            /**\n             * @param {?} ast\n             * @return {?}\n             */\n            visitPropertyRead: function (ast) { return visit(this, ast.receiver); },\n            /**\n             * @param {?} ast\n             * @return {?}\n             */\n            visitPropertyWrite: function (ast) { return null; },\n            /**\n             * @param {?} ast\n             * @return {?}\n             */\n            visitQuote: function (ast) { return null; },\n            /**\n             * @param {?} ast\n             * @return {?}\n             */\n            visitSafeMethodCall: function (ast) { return visit(this, ast.receiver) || ast; },\n            /**\n             * @param {?} ast\n             * @return {?}\n             */\n            visitSafePropertyRead: function (ast) {\n                return visit(this, ast.receiver) || ast;\n            }\n        });\n    };\n    /**\n     * @param {?} ast\n     * @return {?}\n     */\n    _AstToIrVisitor.prototype.needsTemporary = function (ast) {\n        var _this = this;\n        var /** @type {?} */ visit = function (visitor, ast) {\n            return ast && (_this._nodeMap.get(ast) || ast).visit(visitor);\n        };\n        var /** @type {?} */ visitSome = function (visitor, ast) {\n            return ast.some(function (ast) { return visit(visitor, ast); });\n        };\n        return ast.visit({\n            /**\n             * @param {?} ast\n             * @return {?}\n             */\n            visitBinary: function (ast) { return visit(this, ast.left) || visit(this, ast.right); },\n            /**\n             * @param {?} ast\n             * @return {?}\n             */\n            visitChain: function (ast) { return false; },\n            /**\n             * @param {?} ast\n             * @return {?}\n             */\n            visitConditional: function (ast) {\n                return visit(this, ast.condition) || visit(this, ast.trueExp) ||\n                    visit(this, ast.falseExp);\n            },\n            /**\n             * @param {?} ast\n             * @return {?}\n             */\n            visitFunctionCall: function (ast) { return true; },\n            /**\n             * @param {?} ast\n             * @return {?}\n             */\n            visitImplicitReceiver: function (ast) { return false; },\n            /**\n             * @param {?} ast\n             * @return {?}\n             */\n            visitInterpolation: function (ast) { return visitSome(this, ast.expressions); },\n            /**\n             * @param {?} ast\n             * @return {?}\n             */\n            visitKeyedRead: function (ast) { return false; },\n            /**\n             * @param {?} ast\n             * @return {?}\n             */\n            visitKeyedWrite: function (ast) { return false; },\n            /**\n             * @param {?} ast\n             * @return {?}\n             */\n            visitLiteralArray: function (ast) { return true; },\n            /**\n             * @param {?} ast\n             * @return {?}\n             */\n            visitLiteralMap: function (ast) { return true; },\n            /**\n             * @param {?} ast\n             * @return {?}\n             */\n            visitLiteralPrimitive: function (ast) { return false; },\n            /**\n             * @param {?} ast\n             * @return {?}\n             */\n            visitMethodCall: function (ast) { return true; },\n            /**\n             * @param {?} ast\n             * @return {?}\n             */\n            visitPipe: function (ast) { return true; },\n            /**\n             * @param {?} ast\n             * @return {?}\n             */\n            visitPrefixNot: function (ast) { return visit(this, ast.expression); },\n            /**\n             * @param {?} ast\n             * @return {?}\n             */\n            visitPropertyRead: function (ast) { return false; },\n            /**\n             * @param {?} ast\n             * @return {?}\n             */\n            visitPropertyWrite: function (ast) { return false; },\n            /**\n             * @param {?} ast\n             * @return {?}\n             */\n            visitQuote: function (ast) { return false; },\n            /**\n             * @param {?} ast\n             * @return {?}\n             */\n            visitSafeMethodCall: function (ast) { return true; },\n            /**\n             * @param {?} ast\n             * @return {?}\n             */\n            visitSafePropertyRead: function (ast) { return false; }\n        });\n    };\n    /**\n     * @return {?}\n     */\n    _AstToIrVisitor.prototype.allocateTemporary = function () {\n        var /** @type {?} */ tempNumber = this._currentTemporary++;\n        this.temporaryCount = Math.max(this._currentTemporary, this.temporaryCount);\n        return new o.ReadVarExpr(temporaryName(this.bindingId, tempNumber));\n    };\n    /**\n     * @param {?} temporary\n     * @return {?}\n     */\n    _AstToIrVisitor.prototype.releaseTemporary = function (temporary) {\n        this._currentTemporary--;\n        if (temporary.name != temporaryName(this.bindingId, this._currentTemporary)) {\n            throw new Error(\"Temporary \" + temporary.name + \" released out of order\");\n        }\n    };\n    return _AstToIrVisitor;\n}());\nfunction _AstToIrVisitor_tsickle_Closure_declarations() {\n    /** @type {?} */\n    _AstToIrVisitor.prototype._nodeMap;\n    /** @type {?} */\n    _AstToIrVisitor.prototype._resultMap;\n    /** @type {?} */\n    _AstToIrVisitor.prototype._currentTemporary;\n    /** @type {?} */\n    _AstToIrVisitor.prototype.needsValueUnwrapper;\n    /** @type {?} */\n    _AstToIrVisitor.prototype.temporaryCount;\n    /** @type {?} */\n    _AstToIrVisitor.prototype._builder;\n    /** @type {?} */\n    _AstToIrVisitor.prototype._nameResolver;\n    /** @type {?} */\n    _AstToIrVisitor.prototype._implicitReceiver;\n    /** @type {?} */\n    _AstToIrVisitor.prototype._valueUnwrapper;\n    /** @type {?} */\n    _AstToIrVisitor.prototype.bindingId;\n    /** @type {?} */\n    _AstToIrVisitor.prototype.isAction;\n}\n/**\n * @param {?} arg\n * @param {?} output\n * @return {?}\n */\nfunction flattenStatements(arg, output) {\n    if (Array.isArray(arg)) {\n        ((arg)).forEach(function (entry) { return flattenStatements(entry, output); });\n    }\n    else {\n        output.push(arg);\n    }\n}\n/**\n * @param {?} builder\n * @param {?} values\n * @return {?}\n */\nfunction createCachedLiteralArray(builder, values) {\n    if (values.length === 0) {\n        return o.importExpr(createIdentifier(Identifiers.EMPTY_ARRAY));\n    }\n    var /** @type {?} */ proxyExpr = o.THIS_EXPR.prop(\"_arr_\" + builder.fields.length);\n    var /** @type {?} */ proxyParams = [];\n    var /** @type {?} */ proxyReturnEntries = [];\n    for (var /** @type {?} */ i = 0; i < values.length; i++) {\n        var /** @type {?} */ paramName = \"p\" + i;\n        proxyParams.push(new o.FnParam(paramName));\n        proxyReturnEntries.push(o.variable(paramName));\n    }\n    createPureProxy(o.fn(proxyParams, [new o.ReturnStatement(o.literalArr(proxyReturnEntries))], new o.ArrayType(o.DYNAMIC_TYPE)), values.length, proxyExpr, builder);\n    return proxyExpr.callFn(values);\n}\n/**\n * @param {?} builder\n * @param {?} entries\n * @return {?}\n */\nfunction createCachedLiteralMap(builder, entries) {\n    if (entries.length === 0) {\n        return o.importExpr(createIdentifier(Identifiers.EMPTY_MAP));\n    }\n    var /** @type {?} */ proxyExpr = o.THIS_EXPR.prop(\"_map_\" + builder.fields.length);\n    var /** @type {?} */ proxyParams = [];\n    var /** @type {?} */ proxyReturnEntries = [];\n    var /** @type {?} */ values = [];\n    for (var /** @type {?} */ i = 0; i < entries.length; i++) {\n        var /** @type {?} */ paramName = \"p\" + i;\n        proxyParams.push(new o.FnParam(paramName));\n        proxyReturnEntries.push([entries[i][0], o.variable(paramName)]);\n        values.push(/** @type {?} */ (entries[i][1]));\n    }\n    createPureProxy(o.fn(proxyParams, [new o.ReturnStatement(o.literalMap(proxyReturnEntries))], new o.MapType(o.DYNAMIC_TYPE)), entries.length, proxyExpr, builder);\n    return proxyExpr.callFn(values);\n}\nvar DefaultNameResolver = (function () {\n    function DefaultNameResolver() {\n    }\n    /**\n     * @param {?} name\n     * @param {?} input\n     * @param {?} args\n     * @return {?}\n     */\n    DefaultNameResolver.prototype.callPipe = function (name, input, args) { return null; };\n    /**\n     * @param {?} name\n     * @return {?}\n     */\n    DefaultNameResolver.prototype.getLocal = function (name) { return null; };\n    return DefaultNameResolver;\n}());\n/**\n * @param {?} bindingId\n * @return {?}\n */\nfunction createCurrValueExpr(bindingId) {\n    return o.variable(\"currVal_\" + bindingId); // fix syntax highlighting: `\n}\n/**\n * @param {?} bindingId\n * @return {?}\n */\nfunction createPreventDefaultVar(bindingId) {\n    return o.variable(\"pd_\" + bindingId);\n}\n/**\n * @param {?} stmt\n * @return {?}\n */\nfunction convertStmtIntoExpression(stmt) {\n    if (stmt instanceof o.ExpressionStatement) {\n        return stmt.expr;\n    }\n    else if (stmt instanceof o.ReturnStatement) {\n        return stmt.value;\n    }\n    return null;\n}\n//# sourceMappingURL=expression_converter.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/compiler_util/expression_converter.js\n// module id = 141\n// module chunks = 0","/**\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 */\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nimport { ViewEncapsulation } from '@angular/core';\nimport { CompileStylesheetMetadata, CompileTemplateMetadata } from './compile_metadata';\nimport { CompilerConfig } from './config';\nimport { isBlank, isPresent, stringify } from './facade/lang';\nimport { CompilerInjectable } from './injectable';\nimport * as html from './ml_parser/ast';\nimport { HtmlParser } from './ml_parser/html_parser';\nimport { InterpolationConfig } from './ml_parser/interpolation_config';\nimport { ResourceLoader } from './resource_loader';\nimport { extractStyleUrls, isStyleUrlResolvable } from './style_url_resolver';\nimport { PreparsedElementType, preparseElement } from './template_parser/template_preparser';\nimport { UrlResolver } from './url_resolver';\nimport { SyncAsyncResult, SyntaxError } from './util';\nexport var DirectiveNormalizer = (function () {\n    /**\n     * @param {?} _resourceLoader\n     * @param {?} _urlResolver\n     * @param {?} _htmlParser\n     * @param {?} _config\n     */\n    function DirectiveNormalizer(_resourceLoader, _urlResolver, _htmlParser, _config) {\n        this._resourceLoader = _resourceLoader;\n        this._urlResolver = _urlResolver;\n        this._htmlParser = _htmlParser;\n        this._config = _config;\n        this._resourceLoaderCache = new Map();\n    }\n    /**\n     * @return {?}\n     */\n    DirectiveNormalizer.prototype.clearCache = function () { this._resourceLoaderCache.clear(); };\n    /**\n     * @param {?} normalizedDirective\n     * @return {?}\n     */\n    DirectiveNormalizer.prototype.clearCacheFor = function (normalizedDirective) {\n        var _this = this;\n        if (!normalizedDirective.isComponent) {\n            return;\n        }\n        this._resourceLoaderCache.delete(normalizedDirective.template.templateUrl);\n        normalizedDirective.template.externalStylesheets.forEach(function (stylesheet) { _this._resourceLoaderCache.delete(stylesheet.moduleUrl); });\n    };\n    /**\n     * @param {?} url\n     * @return {?}\n     */\n    DirectiveNormalizer.prototype._fetch = function (url) {\n        var /** @type {?} */ result = this._resourceLoaderCache.get(url);\n        if (!result) {\n            result = this._resourceLoader.get(url);\n            this._resourceLoaderCache.set(url, result);\n        }\n        return result;\n    };\n    /**\n     * @param {?} prenormData\n     * @return {?}\n     */\n    DirectiveNormalizer.prototype.normalizeTemplate = function (prenormData) {\n        var _this = this;\n        var /** @type {?} */ normalizedTemplateSync = null;\n        var /** @type {?} */ normalizedTemplateAsync;\n        if (isPresent(prenormData.template)) {\n            normalizedTemplateSync = this.normalizeTemplateSync(prenormData);\n            normalizedTemplateAsync = Promise.resolve(normalizedTemplateSync);\n        }\n        else if (prenormData.templateUrl) {\n            normalizedTemplateAsync = this.normalizeTemplateAsync(prenormData);\n        }\n        else {\n            throw new SyntaxError(\"No template specified for component \" + stringify(prenormData.componentType));\n        }\n        if (normalizedTemplateSync && normalizedTemplateSync.styleUrls.length === 0) {\n            // sync case\n            return new SyncAsyncResult(normalizedTemplateSync);\n        }\n        else {\n            // async case\n            return new SyncAsyncResult(null, normalizedTemplateAsync.then(function (normalizedTemplate) { return _this.normalizeExternalStylesheets(normalizedTemplate); }));\n        }\n    };\n    /**\n     * @param {?} prenomData\n     * @return {?}\n     */\n    DirectiveNormalizer.prototype.normalizeTemplateSync = function (prenomData) {\n        return this.normalizeLoadedTemplate(prenomData, prenomData.template, prenomData.moduleUrl);\n    };\n    /**\n     * @param {?} prenomData\n     * @return {?}\n     */\n    DirectiveNormalizer.prototype.normalizeTemplateAsync = function (prenomData) {\n        var _this = this;\n        var /** @type {?} */ templateUrl = this._urlResolver.resolve(prenomData.moduleUrl, prenomData.templateUrl);\n        return this._fetch(templateUrl)\n            .then(function (value) { return _this.normalizeLoadedTemplate(prenomData, value, templateUrl); });\n    };\n    /**\n     * @param {?} prenomData\n     * @param {?} template\n     * @param {?} templateAbsUrl\n     * @return {?}\n     */\n    DirectiveNormalizer.prototype.normalizeLoadedTemplate = function (prenomData, template, templateAbsUrl) {\n        var /** @type {?} */ interpolationConfig = InterpolationConfig.fromArray(prenomData.interpolation);\n        var /** @type {?} */ rootNodesAndErrors = this._htmlParser.parse(template, stringify(prenomData.componentType), true, interpolationConfig);\n        if (rootNodesAndErrors.errors.length > 0) {\n            var /** @type {?} */ errorString = rootNodesAndErrors.errors.join('\\n');\n            throw new SyntaxError(\"Template parse errors:\\n\" + errorString);\n        }\n        var /** @type {?} */ templateMetadataStyles = this.normalizeStylesheet(new CompileStylesheetMetadata({\n            styles: prenomData.styles,\n            styleUrls: prenomData.styleUrls,\n            moduleUrl: prenomData.moduleUrl\n        }));\n        var /** @type {?} */ visitor = new TemplatePreparseVisitor();\n        html.visitAll(visitor, rootNodesAndErrors.rootNodes);\n        var /** @type {?} */ templateStyles = this.normalizeStylesheet(new CompileStylesheetMetadata({ styles: visitor.styles, styleUrls: visitor.styleUrls, moduleUrl: templateAbsUrl }));\n        var /** @type {?} */ encapsulation = prenomData.encapsulation;\n        if (isBlank(encapsulation)) {\n            encapsulation = this._config.defaultEncapsulation;\n        }\n        var /** @type {?} */ styles = templateMetadataStyles.styles.concat(templateStyles.styles);\n        var /** @type {?} */ styleUrls = templateMetadataStyles.styleUrls.concat(templateStyles.styleUrls);\n        if (encapsulation === ViewEncapsulation.Emulated && styles.length === 0 &&\n            styleUrls.length === 0) {\n            encapsulation = ViewEncapsulation.None;\n        }\n        return new CompileTemplateMetadata({\n            encapsulation: encapsulation,\n            template: template,\n            templateUrl: templateAbsUrl, styles: styles, styleUrls: styleUrls,\n            ngContentSelectors: visitor.ngContentSelectors,\n            animations: prenomData.animations,\n            interpolation: prenomData.interpolation,\n        });\n    };\n    /**\n     * @param {?} templateMeta\n     * @return {?}\n     */\n    DirectiveNormalizer.prototype.normalizeExternalStylesheets = function (templateMeta) {\n        return this._loadMissingExternalStylesheets(templateMeta.styleUrls)\n            .then(function (externalStylesheets) { return new CompileTemplateMetadata({\n            encapsulation: templateMeta.encapsulation,\n            template: templateMeta.template,\n            templateUrl: templateMeta.templateUrl,\n            styles: templateMeta.styles,\n            styleUrls: templateMeta.styleUrls,\n            externalStylesheets: externalStylesheets,\n            ngContentSelectors: templateMeta.ngContentSelectors,\n            animations: templateMeta.animations,\n            interpolation: templateMeta.interpolation\n        }); });\n    };\n    /**\n     * @param {?} styleUrls\n     * @param {?=} loadedStylesheets\n     * @return {?}\n     */\n    DirectiveNormalizer.prototype._loadMissingExternalStylesheets = function (styleUrls, loadedStylesheets) {\n        var _this = this;\n        if (loadedStylesheets === void 0) { loadedStylesheets = new Map(); }\n        return Promise\n            .all(styleUrls.filter(function (styleUrl) { return !loadedStylesheets.has(styleUrl); })\n            .map(function (styleUrl) { return _this._fetch(styleUrl).then(function (loadedStyle) {\n            var /** @type {?} */ stylesheet = _this.normalizeStylesheet(new CompileStylesheetMetadata({ styles: [loadedStyle], moduleUrl: styleUrl }));\n            loadedStylesheets.set(styleUrl, stylesheet);\n            return _this._loadMissingExternalStylesheets(stylesheet.styleUrls, loadedStylesheets);\n        }); }))\n            .then(function (_) { return Array.from(loadedStylesheets.values()); });\n    };\n    /**\n     * @param {?} stylesheet\n     * @return {?}\n     */\n    DirectiveNormalizer.prototype.normalizeStylesheet = function (stylesheet) {\n        var _this = this;\n        var /** @type {?} */ allStyleUrls = stylesheet.styleUrls.filter(isStyleUrlResolvable)\n            .map(function (url) { return _this._urlResolver.resolve(stylesheet.moduleUrl, url); });\n        var /** @type {?} */ allStyles = stylesheet.styles.map(function (style) {\n            var /** @type {?} */ styleWithImports = extractStyleUrls(_this._urlResolver, stylesheet.moduleUrl, style);\n            allStyleUrls.push.apply(allStyleUrls, styleWithImports.styleUrls);\n            return styleWithImports.style;\n        });\n        return new CompileStylesheetMetadata({ styles: allStyles, styleUrls: allStyleUrls, moduleUrl: stylesheet.moduleUrl });\n    };\n    DirectiveNormalizer = __decorate([\n        CompilerInjectable(), \n        __metadata('design:paramtypes', [ResourceLoader, UrlResolver, HtmlParser, CompilerConfig])\n    ], DirectiveNormalizer);\n    return DirectiveNormalizer;\n}());\nfunction DirectiveNormalizer_tsickle_Closure_declarations() {\n    /** @type {?} */\n    DirectiveNormalizer.prototype._resourceLoaderCache;\n    /** @type {?} */\n    DirectiveNormalizer.prototype._resourceLoader;\n    /** @type {?} */\n    DirectiveNormalizer.prototype._urlResolver;\n    /** @type {?} */\n    DirectiveNormalizer.prototype._htmlParser;\n    /** @type {?} */\n    DirectiveNormalizer.prototype._config;\n}\nvar TemplatePreparseVisitor = (function () {\n    function TemplatePreparseVisitor() {\n        this.ngContentSelectors = [];\n        this.styles = [];\n        this.styleUrls = [];\n        this.ngNonBindableStackCount = 0;\n    }\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    TemplatePreparseVisitor.prototype.visitElement = function (ast, context) {\n        var /** @type {?} */ preparsedElement = preparseElement(ast);\n        switch (preparsedElement.type) {\n            case PreparsedElementType.NG_CONTENT:\n                if (this.ngNonBindableStackCount === 0) {\n                    this.ngContentSelectors.push(preparsedElement.selectAttr);\n                }\n                break;\n            case PreparsedElementType.STYLE:\n                var /** @type {?} */ textContent_1 = '';\n                ast.children.forEach(function (child) {\n                    if (child instanceof html.Text) {\n                        textContent_1 += child.value;\n                    }\n                });\n                this.styles.push(textContent_1);\n                break;\n            case PreparsedElementType.STYLESHEET:\n                this.styleUrls.push(preparsedElement.hrefAttr);\n                break;\n            default:\n                break;\n        }\n        if (preparsedElement.nonBindable) {\n            this.ngNonBindableStackCount++;\n        }\n        html.visitAll(this, ast.children);\n        if (preparsedElement.nonBindable) {\n            this.ngNonBindableStackCount--;\n        }\n        return null;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    TemplatePreparseVisitor.prototype.visitExpansion = function (ast, context) { html.visitAll(this, ast.cases); };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    TemplatePreparseVisitor.prototype.visitExpansionCase = function (ast, context) {\n        html.visitAll(this, ast.expression);\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    TemplatePreparseVisitor.prototype.visitComment = function (ast, context) { return null; };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    TemplatePreparseVisitor.prototype.visitAttribute = function (ast, context) { return null; };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    TemplatePreparseVisitor.prototype.visitText = function (ast, context) { return null; };\n    return TemplatePreparseVisitor;\n}());\nfunction TemplatePreparseVisitor_tsickle_Closure_declarations() {\n    /** @type {?} */\n    TemplatePreparseVisitor.prototype.ngContentSelectors;\n    /** @type {?} */\n    TemplatePreparseVisitor.prototype.styles;\n    /** @type {?} */\n    TemplatePreparseVisitor.prototype.styleUrls;\n    /** @type {?} */\n    TemplatePreparseVisitor.prototype.ngNonBindableStackCount;\n}\n//# sourceMappingURL=directive_normalizer.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/directive_normalizer.js\n// module id = 142\n// module chunks = 0","/**\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 */\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nimport { Component, Directive, HostBinding, HostListener, Input, Output, Query, resolveForwardRef } from '@angular/core';\nimport { ListWrapper, StringMapWrapper } from './facade/collection';\nimport { stringify } from './facade/lang';\nimport { CompilerInjectable } from './injectable';\nimport { ReflectorReader, reflector } from './private_import_core';\nimport { splitAtColon } from './util';\nexport var DirectiveResolver = (function () {\n    /**\n     * @param {?=} _reflector\n     */\n    function DirectiveResolver(_reflector) {\n        if (_reflector === void 0) { _reflector = reflector; }\n        this._reflector = _reflector;\n    }\n    /**\n     * @param {?} type\n     * @return {?}\n     */\n    DirectiveResolver.prototype.isDirective = function (type) {\n        var /** @type {?} */ typeMetadata = this._reflector.annotations(resolveForwardRef(type));\n        return typeMetadata && typeMetadata.some(isDirectiveMetadata);\n    };\n    /**\n     * Return {\\@link Directive} for a given `Type`.\n     * @param {?} type\n     * @param {?=} throwIfNotFound\n     * @return {?}\n     */\n    DirectiveResolver.prototype.resolve = function (type, throwIfNotFound) {\n        if (throwIfNotFound === void 0) { throwIfNotFound = true; }\n        var /** @type {?} */ typeMetadata = this._reflector.annotations(resolveForwardRef(type));\n        if (typeMetadata) {\n            var /** @type {?} */ metadata = ListWrapper.findLast(typeMetadata, isDirectiveMetadata);\n            if (metadata) {\n                var /** @type {?} */ propertyMetadata = this._reflector.propMetadata(type);\n                return this._mergeWithPropertyMetadata(metadata, propertyMetadata, type);\n            }\n        }\n        if (throwIfNotFound) {\n            throw new Error(\"No Directive annotation found on \" + stringify(type));\n        }\n        return null;\n    };\n    /**\n     * @param {?} dm\n     * @param {?} propertyMetadata\n     * @param {?} directiveType\n     * @return {?}\n     */\n    DirectiveResolver.prototype._mergeWithPropertyMetadata = function (dm, propertyMetadata, directiveType) {\n        var /** @type {?} */ inputs = [];\n        var /** @type {?} */ outputs = [];\n        var /** @type {?} */ host = {};\n        var /** @type {?} */ queries = {};\n        Object.keys(propertyMetadata).forEach(function (propName) {\n            var /** @type {?} */ input = ListWrapper.findLast(propertyMetadata[propName], function (a) { return a instanceof Input; });\n            if (input) {\n                if (input.bindingPropertyName) {\n                    inputs.push(propName + \": \" + input.bindingPropertyName);\n                }\n                else {\n                    inputs.push(propName);\n                }\n            }\n            var /** @type {?} */ output = ListWrapper.findLast(propertyMetadata[propName], function (a) { return a instanceof Output; });\n            if (output) {\n                if (output.bindingPropertyName) {\n                    outputs.push(propName + \": \" + output.bindingPropertyName);\n                }\n                else {\n                    outputs.push(propName);\n                }\n            }\n            var /** @type {?} */ hostBindings = propertyMetadata[propName].filter(function (a) { return a && a instanceof HostBinding; });\n            hostBindings.forEach(function (hostBinding) {\n                if (hostBinding.hostPropertyName) {\n                    var /** @type {?} */ startWith = hostBinding.hostPropertyName[0];\n                    if (startWith === '(') {\n                        throw new Error(\"@HostBinding can not bind to events. Use @HostListener instead.\");\n                    }\n                    else if (startWith === '[') {\n                        throw new Error(\"@HostBinding parameter should be a property name, 'class.<name>', or 'attr.<name>'.\");\n                    }\n                    host[(\"[\" + hostBinding.hostPropertyName + \"]\")] = propName;\n                }\n                else {\n                    host[(\"[\" + propName + \"]\")] = propName;\n                }\n            });\n            var /** @type {?} */ hostListeners = propertyMetadata[propName].filter(function (a) { return a && a instanceof HostListener; });\n            hostListeners.forEach(function (hostListener) {\n                var /** @type {?} */ args = hostListener.args || [];\n                host[(\"(\" + hostListener.eventName + \")\")] = propName + \"(\" + args.join(',') + \")\";\n            });\n            var /** @type {?} */ query = ListWrapper.findLast(propertyMetadata[propName], function (a) { return a instanceof Query; });\n            if (query) {\n                queries[propName] = query;\n            }\n        });\n        return this._merge(dm, inputs, outputs, host, queries, directiveType);\n    };\n    /**\n     * @param {?} def\n     * @return {?}\n     */\n    DirectiveResolver.prototype._extractPublicName = function (def) { return splitAtColon(def, [null, def])[1].trim(); };\n    /**\n     * @param {?} bindings\n     * @return {?}\n     */\n    DirectiveResolver.prototype._dedupeBindings = function (bindings) {\n        var /** @type {?} */ names = new Set();\n        var /** @type {?} */ reversedResult = [];\n        // go last to first to allow later entries to overwrite previous entries\n        for (var /** @type {?} */ i = bindings.length - 1; i >= 0; i--) {\n            var /** @type {?} */ binding = bindings[i];\n            var /** @type {?} */ name_1 = this._extractPublicName(binding);\n            if (!names.has(name_1)) {\n                names.add(name_1);\n                reversedResult.push(binding);\n            }\n        }\n        return reversedResult.reverse();\n    };\n    /**\n     * @param {?} directive\n     * @param {?} inputs\n     * @param {?} outputs\n     * @param {?} host\n     * @param {?} queries\n     * @param {?} directiveType\n     * @return {?}\n     */\n    DirectiveResolver.prototype._merge = function (directive, inputs, outputs, host, queries, directiveType) {\n        var /** @type {?} */ mergedInputs = this._dedupeBindings(directive.inputs ? directive.inputs.concat(inputs) : inputs);\n        var /** @type {?} */ mergedOutputs = this._dedupeBindings(directive.outputs ? directive.outputs.concat(outputs) : outputs);\n        var /** @type {?} */ mergedHost = directive.host ? StringMapWrapper.merge(directive.host, host) : host;\n        var /** @type {?} */ mergedQueries = directive.queries ? StringMapWrapper.merge(directive.queries, queries) : queries;\n        if (directive instanceof Component) {\n            return new Component({\n                selector: directive.selector,\n                inputs: mergedInputs,\n                outputs: mergedOutputs,\n                host: mergedHost,\n                exportAs: directive.exportAs,\n                moduleId: directive.moduleId,\n                queries: mergedQueries,\n                changeDetection: directive.changeDetection,\n                providers: directive.providers,\n                viewProviders: directive.viewProviders,\n                entryComponents: directive.entryComponents,\n                template: directive.template,\n                templateUrl: directive.templateUrl,\n                styles: directive.styles,\n                styleUrls: directive.styleUrls,\n                encapsulation: directive.encapsulation,\n                animations: directive.animations,\n                interpolation: directive.interpolation\n            });\n        }\n        else {\n            return new Directive({\n                selector: directive.selector,\n                inputs: mergedInputs,\n                outputs: mergedOutputs,\n                host: mergedHost,\n                exportAs: directive.exportAs,\n                queries: mergedQueries,\n                providers: directive.providers\n            });\n        }\n    };\n    DirectiveResolver = __decorate([\n        CompilerInjectable(), \n        __metadata('design:paramtypes', [ReflectorReader])\n    ], DirectiveResolver);\n    return DirectiveResolver;\n}());\nfunction DirectiveResolver_tsickle_Closure_declarations() {\n    /** @type {?} */\n    DirectiveResolver.prototype._reflector;\n}\n/**\n * @param {?} type\n * @return {?}\n */\nfunction isDirectiveMetadata(type) {\n    return type instanceof Directive;\n}\n//# sourceMappingURL=directive_resolver.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/directive_resolver.js\n// module id = 143\n// module chunks = 0","/**\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 */\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nimport * as chars from '../chars';\nimport { NumberWrapper } from '../facade/lang';\nimport { CompilerInjectable } from '../injectable';\nexport var TokenType = {};\nTokenType.Character = 0;\nTokenType.Identifier = 1;\nTokenType.Keyword = 2;\nTokenType.String = 3;\nTokenType.Operator = 4;\nTokenType.Number = 5;\nTokenType.Error = 6;\nTokenType[TokenType.Character] = \"Character\";\nTokenType[TokenType.Identifier] = \"Identifier\";\nTokenType[TokenType.Keyword] = \"Keyword\";\nTokenType[TokenType.String] = \"String\";\nTokenType[TokenType.Operator] = \"Operator\";\nTokenType[TokenType.Number] = \"Number\";\nTokenType[TokenType.Error] = \"Error\";\nvar /** @type {?} */ KEYWORDS = ['var', 'let', 'null', 'undefined', 'true', 'false', 'if', 'else', 'this'];\nexport var Lexer = (function () {\n    function Lexer() {\n    }\n    /**\n     * @param {?} text\n     * @return {?}\n     */\n    Lexer.prototype.tokenize = function (text) {\n        var /** @type {?} */ scanner = new _Scanner(text);\n        var /** @type {?} */ tokens = [];\n        var /** @type {?} */ token = scanner.scanToken();\n        while (token != null) {\n            tokens.push(token);\n            token = scanner.scanToken();\n        }\n        return tokens;\n    };\n    Lexer = __decorate([\n        CompilerInjectable(), \n        __metadata('design:paramtypes', [])\n    ], Lexer);\n    return Lexer;\n}());\nexport var Token = (function () {\n    /**\n     * @param {?} index\n     * @param {?} type\n     * @param {?} numValue\n     * @param {?} strValue\n     */\n    function Token(index, type, numValue, strValue) {\n        this.index = index;\n        this.type = type;\n        this.numValue = numValue;\n        this.strValue = strValue;\n    }\n    /**\n     * @param {?} code\n     * @return {?}\n     */\n    Token.prototype.isCharacter = function (code) {\n        return this.type == TokenType.Character && this.numValue == code;\n    };\n    /**\n     * @return {?}\n     */\n    Token.prototype.isNumber = function () { return this.type == TokenType.Number; };\n    /**\n     * @return {?}\n     */\n    Token.prototype.isString = function () { return this.type == TokenType.String; };\n    /**\n     * @param {?} operater\n     * @return {?}\n     */\n    Token.prototype.isOperator = function (operater) {\n        return this.type == TokenType.Operator && this.strValue == operater;\n    };\n    /**\n     * @return {?}\n     */\n    Token.prototype.isIdentifier = function () { return this.type == TokenType.Identifier; };\n    /**\n     * @return {?}\n     */\n    Token.prototype.isKeyword = function () { return this.type == TokenType.Keyword; };\n    /**\n     * @return {?}\n     */\n    Token.prototype.isKeywordLet = function () { return this.type == TokenType.Keyword && this.strValue == 'let'; };\n    /**\n     * @return {?}\n     */\n    Token.prototype.isKeywordNull = function () { return this.type == TokenType.Keyword && this.strValue == 'null'; };\n    /**\n     * @return {?}\n     */\n    Token.prototype.isKeywordUndefined = function () {\n        return this.type == TokenType.Keyword && this.strValue == 'undefined';\n    };\n    /**\n     * @return {?}\n     */\n    Token.prototype.isKeywordTrue = function () { return this.type == TokenType.Keyword && this.strValue == 'true'; };\n    /**\n     * @return {?}\n     */\n    Token.prototype.isKeywordFalse = function () { return this.type == TokenType.Keyword && this.strValue == 'false'; };\n    /**\n     * @return {?}\n     */\n    Token.prototype.isKeywordThis = function () { return this.type == TokenType.Keyword && this.strValue == 'this'; };\n    /**\n     * @return {?}\n     */\n    Token.prototype.isError = function () { return this.type == TokenType.Error; };\n    /**\n     * @return {?}\n     */\n    Token.prototype.toNumber = function () { return this.type == TokenType.Number ? this.numValue : -1; };\n    /**\n     * @return {?}\n     */\n    Token.prototype.toString = function () {\n        switch (this.type) {\n            case TokenType.Character:\n            case TokenType.Identifier:\n            case TokenType.Keyword:\n            case TokenType.Operator:\n            case TokenType.String:\n            case TokenType.Error:\n                return this.strValue;\n            case TokenType.Number:\n                return this.numValue.toString();\n            default:\n                return null;\n        }\n    };\n    return Token;\n}());\nfunction Token_tsickle_Closure_declarations() {\n    /** @type {?} */\n    Token.prototype.index;\n    /** @type {?} */\n    Token.prototype.type;\n    /** @type {?} */\n    Token.prototype.numValue;\n    /** @type {?} */\n    Token.prototype.strValue;\n}\n/**\n * @param {?} index\n * @param {?} code\n * @return {?}\n */\nfunction newCharacterToken(index, code) {\n    return new Token(index, TokenType.Character, code, String.fromCharCode(code));\n}\n/**\n * @param {?} index\n * @param {?} text\n * @return {?}\n */\nfunction newIdentifierToken(index, text) {\n    return new Token(index, TokenType.Identifier, 0, text);\n}\n/**\n * @param {?} index\n * @param {?} text\n * @return {?}\n */\nfunction newKeywordToken(index, text) {\n    return new Token(index, TokenType.Keyword, 0, text);\n}\n/**\n * @param {?} index\n * @param {?} text\n * @return {?}\n */\nfunction newOperatorToken(index, text) {\n    return new Token(index, TokenType.Operator, 0, text);\n}\n/**\n * @param {?} index\n * @param {?} text\n * @return {?}\n */\nfunction newStringToken(index, text) {\n    return new Token(index, TokenType.String, 0, text);\n}\n/**\n * @param {?} index\n * @param {?} n\n * @return {?}\n */\nfunction newNumberToken(index, n) {\n    return new Token(index, TokenType.Number, n, '');\n}\n/**\n * @param {?} index\n * @param {?} message\n * @return {?}\n */\nfunction newErrorToken(index, message) {\n    return new Token(index, TokenType.Error, 0, message);\n}\nexport var /** @type {?} */ EOF = new Token(-1, TokenType.Character, 0, '');\nvar _Scanner = (function () {\n    /**\n     * @param {?} input\n     */\n    function _Scanner(input) {\n        this.input = input;\n        this.peek = 0;\n        this.index = -1;\n        this.length = input.length;\n        this.advance();\n    }\n    /**\n     * @return {?}\n     */\n    _Scanner.prototype.advance = function () {\n        this.peek = ++this.index >= this.length ? chars.$EOF : this.input.charCodeAt(this.index);\n    };\n    /**\n     * @return {?}\n     */\n    _Scanner.prototype.scanToken = function () {\n        var /** @type {?} */ input = this.input, /** @type {?} */ length = this.length;\n        var /** @type {?} */ peek = this.peek, /** @type {?} */ index = this.index;\n        // Skip whitespace.\n        while (peek <= chars.$SPACE) {\n            if (++index >= length) {\n                peek = chars.$EOF;\n                break;\n            }\n            else {\n                peek = input.charCodeAt(index);\n            }\n        }\n        this.peek = peek;\n        this.index = index;\n        if (index >= length) {\n            return null;\n        }\n        // Handle identifiers and numbers.\n        if (isIdentifierStart(peek))\n            return this.scanIdentifier();\n        if (chars.isDigit(peek))\n            return this.scanNumber(index);\n        var /** @type {?} */ start = index;\n        switch (peek) {\n            case chars.$PERIOD:\n                this.advance();\n                return chars.isDigit(this.peek) ? this.scanNumber(start) :\n                    newCharacterToken(start, chars.$PERIOD);\n            case chars.$LPAREN:\n            case chars.$RPAREN:\n            case chars.$LBRACE:\n            case chars.$RBRACE:\n            case chars.$LBRACKET:\n            case chars.$RBRACKET:\n            case chars.$COMMA:\n            case chars.$COLON:\n            case chars.$SEMICOLON:\n                return this.scanCharacter(start, peek);\n            case chars.$SQ:\n            case chars.$DQ:\n                return this.scanString();\n            case chars.$HASH:\n            case chars.$PLUS:\n            case chars.$MINUS:\n            case chars.$STAR:\n            case chars.$SLASH:\n            case chars.$PERCENT:\n            case chars.$CARET:\n                return this.scanOperator(start, String.fromCharCode(peek));\n            case chars.$QUESTION:\n                return this.scanComplexOperator(start, '?', chars.$PERIOD, '.');\n            case chars.$LT:\n            case chars.$GT:\n                return this.scanComplexOperator(start, String.fromCharCode(peek), chars.$EQ, '=');\n            case chars.$BANG:\n            case chars.$EQ:\n                return this.scanComplexOperator(start, String.fromCharCode(peek), chars.$EQ, '=', chars.$EQ, '=');\n            case chars.$AMPERSAND:\n                return this.scanComplexOperator(start, '&', chars.$AMPERSAND, '&');\n            case chars.$BAR:\n                return this.scanComplexOperator(start, '|', chars.$BAR, '|');\n            case chars.$NBSP:\n                while (chars.isWhitespace(this.peek))\n                    this.advance();\n                return this.scanToken();\n        }\n        this.advance();\n        return this.error(\"Unexpected character [\" + String.fromCharCode(peek) + \"]\", 0);\n    };\n    /**\n     * @param {?} start\n     * @param {?} code\n     * @return {?}\n     */\n    _Scanner.prototype.scanCharacter = function (start, code) {\n        this.advance();\n        return newCharacterToken(start, code);\n    };\n    /**\n     * @param {?} start\n     * @param {?} str\n     * @return {?}\n     */\n    _Scanner.prototype.scanOperator = function (start, str) {\n        this.advance();\n        return newOperatorToken(start, str);\n    };\n    /**\n     * Tokenize a 2/3 char long operator\n     *\n     * @param {?} start start index in the expression\n     * @param {?} one first symbol (always part of the operator)\n     * @param {?} twoCode code point for the second symbol\n     * @param {?} two second symbol (part of the operator when the second code point matches)\n     * @param {?=} threeCode code point for the third symbol\n     * @param {?=} three third symbol (part of the operator when provided and matches source expression)\n     * @return {?}\n     */\n    _Scanner.prototype.scanComplexOperator = function (start, one, twoCode, two, threeCode, three) {\n        this.advance();\n        var /** @type {?} */ str = one;\n        if (this.peek == twoCode) {\n            this.advance();\n            str += two;\n        }\n        if (threeCode != null && this.peek == threeCode) {\n            this.advance();\n            str += three;\n        }\n        return newOperatorToken(start, str);\n    };\n    /**\n     * @return {?}\n     */\n    _Scanner.prototype.scanIdentifier = function () {\n        var /** @type {?} */ start = this.index;\n        this.advance();\n        while (isIdentifierPart(this.peek))\n            this.advance();\n        var /** @type {?} */ str = this.input.substring(start, this.index);\n        return KEYWORDS.indexOf(str) > -1 ? newKeywordToken(start, str) :\n            newIdentifierToken(start, str);\n    };\n    /**\n     * @param {?} start\n     * @return {?}\n     */\n    _Scanner.prototype.scanNumber = function (start) {\n        var /** @type {?} */ simple = (this.index === start);\n        this.advance(); // Skip initial digit.\n        while (true) {\n            if (chars.isDigit(this.peek)) {\n            }\n            else if (this.peek == chars.$PERIOD) {\n                simple = false;\n            }\n            else if (isExponentStart(this.peek)) {\n                this.advance();\n                if (isExponentSign(this.peek))\n                    this.advance();\n                if (!chars.isDigit(this.peek))\n                    return this.error('Invalid exponent', -1);\n                simple = false;\n            }\n            else {\n                break;\n            }\n            this.advance();\n        }\n        var /** @type {?} */ str = this.input.substring(start, this.index);\n        var /** @type {?} */ value = simple ? NumberWrapper.parseIntAutoRadix(str) : parseFloat(str);\n        return newNumberToken(start, value);\n    };\n    /**\n     * @return {?}\n     */\n    _Scanner.prototype.scanString = function () {\n        var /** @type {?} */ start = this.index;\n        var /** @type {?} */ quote = this.peek;\n        this.advance(); // Skip initial quote.\n        var /** @type {?} */ buffer = '';\n        var /** @type {?} */ marker = this.index;\n        var /** @type {?} */ input = this.input;\n        while (this.peek != quote) {\n            if (this.peek == chars.$BACKSLASH) {\n                buffer += input.substring(marker, this.index);\n                this.advance();\n                var /** @type {?} */ unescapedCode = void 0;\n                if (this.peek == chars.$u) {\n                    // 4 character hex code for unicode character.\n                    var /** @type {?} */ hex = input.substring(this.index + 1, this.index + 5);\n                    if (/^[0-9a-f]+$/i.test(hex)) {\n                        unescapedCode = parseInt(hex, 16);\n                    }\n                    else {\n                        return this.error(\"Invalid unicode escape [\\\\u\" + hex + \"]\", 0);\n                    }\n                    for (var /** @type {?} */ i = 0; i < 5; i++) {\n                        this.advance();\n                    }\n                }\n                else {\n                    unescapedCode = unescape(this.peek);\n                    this.advance();\n                }\n                buffer += String.fromCharCode(unescapedCode);\n                marker = this.index;\n            }\n            else if (this.peek == chars.$EOF) {\n                return this.error('Unterminated quote', 0);\n            }\n            else {\n                this.advance();\n            }\n        }\n        var /** @type {?} */ last = input.substring(marker, this.index);\n        this.advance(); // Skip terminating quote.\n        return newStringToken(start, buffer + last);\n    };\n    /**\n     * @param {?} message\n     * @param {?} offset\n     * @return {?}\n     */\n    _Scanner.prototype.error = function (message, offset) {\n        var /** @type {?} */ position = this.index + offset;\n        return newErrorToken(position, \"Lexer Error: \" + message + \" at column \" + position + \" in expression [\" + this.input + \"]\");\n    };\n    return _Scanner;\n}());\nfunction _Scanner_tsickle_Closure_declarations() {\n    /** @type {?} */\n    _Scanner.prototype.length;\n    /** @type {?} */\n    _Scanner.prototype.peek;\n    /** @type {?} */\n    _Scanner.prototype.index;\n    /** @type {?} */\n    _Scanner.prototype.input;\n}\n/**\n * @param {?} code\n * @return {?}\n */\nfunction isIdentifierStart(code) {\n    return (chars.$a <= code && code <= chars.$z) || (chars.$A <= code && code <= chars.$Z) ||\n        (code == chars.$_) || (code == chars.$$);\n}\n/**\n * @param {?} input\n * @return {?}\n */\nexport function isIdentifier(input) {\n    if (input.length == 0)\n        return false;\n    var /** @type {?} */ scanner = new _Scanner(input);\n    if (!isIdentifierStart(scanner.peek))\n        return false;\n    scanner.advance();\n    while (scanner.peek !== chars.$EOF) {\n        if (!isIdentifierPart(scanner.peek))\n            return false;\n        scanner.advance();\n    }\n    return true;\n}\n/**\n * @param {?} code\n * @return {?}\n */\nfunction isIdentifierPart(code) {\n    return chars.isAsciiLetter(code) || chars.isDigit(code) || (code == chars.$_) ||\n        (code == chars.$$);\n}\n/**\n * @param {?} code\n * @return {?}\n */\nfunction isExponentStart(code) {\n    return code == chars.$e || code == chars.$E;\n}\n/**\n * @param {?} code\n * @return {?}\n */\nfunction isExponentSign(code) {\n    return code == chars.$MINUS || code == chars.$PLUS;\n}\n/**\n * @param {?} code\n * @return {?}\n */\nexport function isQuote(code) {\n    return code === chars.$SQ || code === chars.$DQ || code === chars.$BT;\n}\n/**\n * @param {?} code\n * @return {?}\n */\nfunction unescape(code) {\n    switch (code) {\n        case chars.$n:\n            return chars.$LF;\n        case chars.$f:\n            return chars.$FF;\n        case chars.$r:\n            return chars.$CR;\n        case chars.$t:\n            return chars.$TAB;\n        case chars.$v:\n            return chars.$VTAB;\n        default:\n            return code;\n    }\n}\n//# sourceMappingURL=lexer.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/expression_parser/lexer.js\n// module id = 144\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nimport { AnimationAnimateMetadata, AnimationGroupMetadata, AnimationKeyframesSequenceMetadata, AnimationStateDeclarationMetadata, AnimationStateTransitionMetadata, AnimationStyleMetadata, AnimationWithStepsMetadata, Attribute, Component, Host, Inject, Injectable, OpaqueToken, Optional, Self, SkipSelf, Type, resolveForwardRef } from '@angular/core';\nimport { StaticSymbol } from './aot/static_symbol';\nimport { assertArrayOfStrings, assertInterpolationSymbols } from './assertions';\nimport * as cpl from './compile_metadata';\nimport { DirectiveNormalizer } from './directive_normalizer';\nimport { DirectiveResolver } from './directive_resolver';\nimport { isBlank, isPresent, stringify } from './facade/lang';\nimport { Identifiers, resolveIdentifier } from './identifiers';\nimport { CompilerInjectable } from './injectable';\nimport { hasLifecycleHook } from './lifecycle_reflector';\nimport { NgModuleResolver } from './ng_module_resolver';\nimport { PipeResolver } from './pipe_resolver';\nimport { ComponentStillLoadingError, LIFECYCLE_HOOKS_VALUES, ReflectorReader, reflector } from './private_import_core';\nimport { ElementSchemaRegistry } from './schema/element_schema_registry';\nimport { SummaryResolver } from './summary_resolver';\nimport { getUrlScheme } from './url_resolver';\nimport { MODULE_SUFFIX, SyntaxError, ValueTransformer, visitValue } from './util';\nexport var /** @type {?} */ ERROR_COLLECTOR_TOKEN = new OpaqueToken('ErrorCollector');\nexport var CompileMetadataResolver = (function () {\n    /**\n     * @param {?} _ngModuleResolver\n     * @param {?} _directiveResolver\n     * @param {?} _pipeResolver\n     * @param {?} _summaryResolver\n     * @param {?} _schemaRegistry\n     * @param {?} _directiveNormalizer\n     * @param {?=} _reflector\n     * @param {?=} _errorCollector\n     */\n    function CompileMetadataResolver(_ngModuleResolver, _directiveResolver, _pipeResolver, _summaryResolver, _schemaRegistry, _directiveNormalizer, _reflector, _errorCollector) {\n        if (_reflector === void 0) { _reflector = reflector; }\n        this._ngModuleResolver = _ngModuleResolver;\n        this._directiveResolver = _directiveResolver;\n        this._pipeResolver = _pipeResolver;\n        this._summaryResolver = _summaryResolver;\n        this._schemaRegistry = _schemaRegistry;\n        this._directiveNormalizer = _directiveNormalizer;\n        this._reflector = _reflector;\n        this._errorCollector = _errorCollector;\n        this._directiveCache = new Map();\n        this._summaryCache = new Map();\n        this._pipeCache = new Map();\n        this._ngModuleCache = new Map();\n        this._ngModuleOfTypes = new Map();\n    }\n    /**\n     * @param {?} type\n     * @return {?}\n     */\n    CompileMetadataResolver.prototype.clearCacheFor = function (type) {\n        var /** @type {?} */ dirMeta = this._directiveCache.get(type);\n        this._directiveCache.delete(type);\n        this._summaryCache.delete(type);\n        this._pipeCache.delete(type);\n        this._ngModuleOfTypes.delete(type);\n        // Clear all of the NgModule as they contain transitive information!\n        this._ngModuleCache.clear();\n        if (dirMeta) {\n            this._directiveNormalizer.clearCacheFor(dirMeta);\n        }\n    };\n    /**\n     * @return {?}\n     */\n    CompileMetadataResolver.prototype.clearCache = function () {\n        this._directiveCache.clear();\n        this._summaryCache.clear();\n        this._pipeCache.clear();\n        this._ngModuleCache.clear();\n        this._ngModuleOfTypes.clear();\n        this._directiveNormalizer.clearCache();\n    };\n    /**\n     * @param {?} entry\n     * @return {?}\n     */\n    CompileMetadataResolver.prototype.getAnimationEntryMetadata = function (entry) {\n        var _this = this;\n        var /** @type {?} */ defs = entry.definitions.map(function (def) { return _this._getAnimationStateMetadata(def); });\n        return new cpl.CompileAnimationEntryMetadata(entry.name, defs);\n    };\n    /**\n     * @param {?} value\n     * @return {?}\n     */\n    CompileMetadataResolver.prototype._getAnimationStateMetadata = function (value) {\n        if (value instanceof AnimationStateDeclarationMetadata) {\n            var /** @type {?} */ styles = this._getAnimationStyleMetadata(value.styles);\n            return new cpl.CompileAnimationStateDeclarationMetadata(value.stateNameExpr, styles);\n        }\n        if (value instanceof AnimationStateTransitionMetadata) {\n            return new cpl.CompileAnimationStateTransitionMetadata(value.stateChangeExpr, this._getAnimationMetadata(value.steps));\n        }\n        return null;\n    };\n    /**\n     * @param {?} value\n     * @return {?}\n     */\n    CompileMetadataResolver.prototype._getAnimationStyleMetadata = function (value) {\n        return new cpl.CompileAnimationStyleMetadata(value.offset, value.styles);\n    };\n    /**\n     * @param {?} value\n     * @return {?}\n     */\n    CompileMetadataResolver.prototype._getAnimationMetadata = function (value) {\n        var _this = this;\n        if (value instanceof AnimationStyleMetadata) {\n            return this._getAnimationStyleMetadata(value);\n        }\n        if (value instanceof AnimationKeyframesSequenceMetadata) {\n            return new cpl.CompileAnimationKeyframesSequenceMetadata(value.steps.map(function (entry) { return _this._getAnimationStyleMetadata(entry); }));\n        }\n        if (value instanceof AnimationAnimateMetadata) {\n            var /** @type {?} */ animateData = (this\n                ._getAnimationMetadata(value.styles));\n            return new cpl.CompileAnimationAnimateMetadata(value.timings, animateData);\n        }\n        if (value instanceof AnimationWithStepsMetadata) {\n            var /** @type {?} */ steps = value.steps.map(function (step) { return _this._getAnimationMetadata(step); });\n            if (value instanceof AnimationGroupMetadata) {\n                return new cpl.CompileAnimationGroupMetadata(steps);\n            }\n            return new cpl.CompileAnimationSequenceMetadata(steps);\n        }\n        return null;\n    };\n    /**\n     * @param {?} type\n     * @param {?} kind\n     * @return {?}\n     */\n    CompileMetadataResolver.prototype._loadSummary = function (type, kind) {\n        var /** @type {?} */ typeSummary = this._summaryCache.get(type);\n        if (!typeSummary) {\n            var /** @type {?} */ summary = this._summaryResolver.resolveSummary(type);\n            typeSummary = summary ? summary.type : null;\n            this._summaryCache.set(type, typeSummary);\n        }\n        return typeSummary && typeSummary.summaryKind === kind ? typeSummary : null;\n    };\n    /**\n     * @param {?} directiveType\n     * @param {?} isSync\n     * @return {?}\n     */\n    CompileMetadataResolver.prototype._loadDirectiveMetadata = function (directiveType, isSync) {\n        var _this = this;\n        if (this._directiveCache.has(directiveType)) {\n            return;\n        }\n        directiveType = resolveForwardRef(directiveType);\n        var _a = this.getNonNormalizedDirectiveMetadata(directiveType), annotation = _a.annotation, metadata = _a.metadata;\n        var /** @type {?} */ createDirectiveMetadata = function (templateMetadata) {\n            var /** @type {?} */ normalizedDirMeta = new cpl.CompileDirectiveMetadata({\n                type: metadata.type,\n                isComponent: metadata.isComponent,\n                selector: metadata.selector,\n                exportAs: metadata.exportAs,\n                changeDetection: metadata.changeDetection,\n                inputs: metadata.inputs,\n                outputs: metadata.outputs,\n                hostListeners: metadata.hostListeners,\n                hostProperties: metadata.hostProperties,\n                hostAttributes: metadata.hostAttributes,\n                providers: metadata.providers,\n                viewProviders: metadata.viewProviders,\n                queries: metadata.queries,\n                viewQueries: metadata.viewQueries,\n                entryComponents: metadata.entryComponents,\n                template: templateMetadata\n            });\n            _this._directiveCache.set(directiveType, normalizedDirMeta);\n            _this._summaryCache.set(directiveType, normalizedDirMeta.toSummary());\n            return normalizedDirMeta;\n        };\n        if (metadata.isComponent) {\n            var /** @type {?} */ templateMeta = this._directiveNormalizer.normalizeTemplate({\n                componentType: directiveType,\n                moduleUrl: componentModuleUrl(this._reflector, directiveType, annotation),\n                encapsulation: metadata.template.encapsulation,\n                template: metadata.template.template,\n                templateUrl: metadata.template.templateUrl,\n                styles: metadata.template.styles,\n                styleUrls: metadata.template.styleUrls,\n                animations: metadata.template.animations,\n                interpolation: metadata.template.interpolation\n            });\n            if (templateMeta.syncResult) {\n                createDirectiveMetadata(templateMeta.syncResult);\n                return null;\n            }\n            else {\n                if (isSync) {\n                    this._reportError(new ComponentStillLoadingError(directiveType), directiveType);\n                    return null;\n                }\n                return templateMeta.asyncResult.then(createDirectiveMetadata);\n            }\n        }\n        else {\n            // directive\n            createDirectiveMetadata(null);\n            return null;\n        }\n    };\n    /**\n     * @param {?} directiveType\n     * @return {?}\n     */\n    CompileMetadataResolver.prototype.getNonNormalizedDirectiveMetadata = function (directiveType) {\n        var _this = this;\n        directiveType = resolveForwardRef(directiveType);\n        var /** @type {?} */ dirMeta = this._directiveResolver.resolve(directiveType);\n        if (!dirMeta) {\n            return null;\n        }\n        var /** @type {?} */ nonNormalizedTemplateMetadata;\n        if (dirMeta instanceof Component) {\n            // component\n            assertArrayOfStrings('styles', dirMeta.styles);\n            assertArrayOfStrings('styleUrls', dirMeta.styleUrls);\n            assertInterpolationSymbols('interpolation', dirMeta.interpolation);\n            var /** @type {?} */ animations = dirMeta.animations ?\n                dirMeta.animations.map(function (e) { return _this.getAnimationEntryMetadata(e); }) :\n                null;\n            nonNormalizedTemplateMetadata = new cpl.CompileTemplateMetadata({\n                encapsulation: dirMeta.encapsulation,\n                template: dirMeta.template,\n                templateUrl: dirMeta.templateUrl,\n                styles: dirMeta.styles,\n                styleUrls: dirMeta.styleUrls,\n                animations: animations,\n                interpolation: dirMeta.interpolation\n            });\n        }\n        var /** @type {?} */ changeDetectionStrategy = null;\n        var /** @type {?} */ viewProviders = [];\n        var /** @type {?} */ entryComponentMetadata = [];\n        var /** @type {?} */ selector = dirMeta.selector;\n        if (dirMeta instanceof Component) {\n            // Component\n            changeDetectionStrategy = dirMeta.changeDetection;\n            if (dirMeta.viewProviders) {\n                viewProviders = this._getProvidersMetadata(dirMeta.viewProviders, entryComponentMetadata, \"viewProviders for \\\"\" + stringifyType(directiveType) + \"\\\"\", [], directiveType);\n            }\n            if (dirMeta.entryComponents) {\n                entryComponentMetadata = flattenAndDedupeArray(dirMeta.entryComponents)\n                    .map(function (type) { return _this._getIdentifierMetadata(type); })\n                    .concat(entryComponentMetadata);\n            }\n            if (!selector) {\n                selector = this._schemaRegistry.getDefaultComponentElementName();\n            }\n        }\n        else {\n            // Directive\n            if (!selector) {\n                this._reportError(new SyntaxError(\"Directive \" + stringifyType(directiveType) + \" has no selector, please add it!\"), directiveType);\n                selector = 'error';\n            }\n        }\n        var /** @type {?} */ providers = [];\n        if (isPresent(dirMeta.providers)) {\n            providers = this._getProvidersMetadata(dirMeta.providers, entryComponentMetadata, \"providers for \\\"\" + stringifyType(directiveType) + \"\\\"\", [], directiveType);\n        }\n        var /** @type {?} */ queries = [];\n        var /** @type {?} */ viewQueries = [];\n        if (isPresent(dirMeta.queries)) {\n            queries = this._getQueriesMetadata(dirMeta.queries, false, directiveType);\n            viewQueries = this._getQueriesMetadata(dirMeta.queries, true, directiveType);\n        }\n        var /** @type {?} */ metadata = cpl.CompileDirectiveMetadata.create({\n            selector: selector,\n            exportAs: dirMeta.exportAs,\n            isComponent: !!nonNormalizedTemplateMetadata,\n            type: this._getTypeMetadata(directiveType),\n            template: nonNormalizedTemplateMetadata,\n            changeDetection: changeDetectionStrategy,\n            inputs: dirMeta.inputs,\n            outputs: dirMeta.outputs,\n            host: dirMeta.host,\n            providers: providers,\n            viewProviders: viewProviders,\n            queries: queries,\n            viewQueries: viewQueries,\n            entryComponents: entryComponentMetadata\n        });\n        return { metadata: metadata, annotation: dirMeta };\n    };\n    /**\n     * Gets the metadata for the given directive.\n     * This assumes `loadNgModuleDirectiveAndPipeMetadata` has been called first.\n     * @param {?} directiveType\n     * @return {?}\n     */\n    CompileMetadataResolver.prototype.getDirectiveMetadata = function (directiveType) {\n        var /** @type {?} */ dirMeta = this._directiveCache.get(directiveType);\n        if (!dirMeta) {\n            this._reportError(new SyntaxError(\"Illegal state: getDirectiveMetadata can only be called after loadNgModuleDirectiveAndPipeMetadata for a module that declares it. Directive \" + stringifyType(directiveType) + \".\"), directiveType);\n        }\n        return dirMeta;\n    };\n    /**\n     * @param {?} dirType\n     * @return {?}\n     */\n    CompileMetadataResolver.prototype.getDirectiveSummary = function (dirType) {\n        var /** @type {?} */ dirSummary = (this._loadSummary(dirType, cpl.CompileSummaryKind.Directive));\n        if (!dirSummary) {\n            this._reportError(new SyntaxError(\"Illegal state: Could not load the summary for directive \" + stringifyType(dirType) + \".\"), dirType);\n        }\n        return dirSummary;\n    };\n    /**\n     * @param {?} type\n     * @return {?}\n     */\n    CompileMetadataResolver.prototype.isDirective = function (type) { return this._directiveResolver.isDirective(type); };\n    /**\n     * @param {?} type\n     * @return {?}\n     */\n    CompileMetadataResolver.prototype.isPipe = function (type) { return this._pipeResolver.isPipe(type); };\n    /**\n     * @param {?} moduleType\n     * @return {?}\n     */\n    CompileMetadataResolver.prototype.getNgModuleSummary = function (moduleType) {\n        var /** @type {?} */ moduleSummary = (this._loadSummary(moduleType, cpl.CompileSummaryKind.NgModule));\n        if (!moduleSummary) {\n            var /** @type {?} */ moduleMeta = this.getNgModuleMetadata(moduleType, false);\n            moduleSummary = moduleMeta ? moduleMeta.toSummary() : null;\n            if (moduleSummary) {\n                this._summaryCache.set(moduleType, moduleSummary);\n            }\n        }\n        return moduleSummary;\n    };\n    /**\n     * Loads the declared directives and pipes of an NgModule.\n     * @param {?} moduleType\n     * @param {?} isSync\n     * @param {?=} throwIfNotFound\n     * @return {?}\n     */\n    CompileMetadataResolver.prototype.loadNgModuleDirectiveAndPipeMetadata = function (moduleType, isSync, throwIfNotFound) {\n        var _this = this;\n        if (throwIfNotFound === void 0) { throwIfNotFound = true; }\n        var /** @type {?} */ ngModule = this.getNgModuleMetadata(moduleType, throwIfNotFound);\n        var /** @type {?} */ loading = [];\n        if (ngModule) {\n            ngModule.declaredDirectives.forEach(function (id) {\n                var /** @type {?} */ promise = _this._loadDirectiveMetadata(id.reference, isSync);\n                if (promise) {\n                    loading.push(promise);\n                }\n            });\n            ngModule.declaredPipes.forEach(function (id) { return _this._loadPipeMetadata(id.reference); });\n        }\n        return Promise.all(loading);\n    };\n    /**\n     * @param {?} moduleType\n     * @param {?=} throwIfNotFound\n     * @return {?}\n     */\n    CompileMetadataResolver.prototype.getNgModuleMetadata = function (moduleType, throwIfNotFound) {\n        var _this = this;\n        if (throwIfNotFound === void 0) { throwIfNotFound = true; }\n        moduleType = resolveForwardRef(moduleType);\n        var /** @type {?} */ compileMeta = this._ngModuleCache.get(moduleType);\n        if (compileMeta) {\n            return compileMeta;\n        }\n        var /** @type {?} */ meta = this._ngModuleResolver.resolve(moduleType, throwIfNotFound);\n        if (!meta) {\n            return null;\n        }\n        var /** @type {?} */ declaredDirectives = [];\n        var /** @type {?} */ exportedNonModuleIdentifiers = [];\n        var /** @type {?} */ declaredPipes = [];\n        var /** @type {?} */ importedModules = [];\n        var /** @type {?} */ exportedModules = [];\n        var /** @type {?} */ providers = [];\n        var /** @type {?} */ entryComponents = [];\n        var /** @type {?} */ bootstrapComponents = [];\n        var /** @type {?} */ schemas = [];\n        if (meta.imports) {\n            flattenAndDedupeArray(meta.imports).forEach(function (importedType) {\n                var /** @type {?} */ importedModuleType;\n                if (isValidType(importedType)) {\n                    importedModuleType = importedType;\n                }\n                else if (importedType && importedType.ngModule) {\n                    var /** @type {?} */ moduleWithProviders = importedType;\n                    importedModuleType = moduleWithProviders.ngModule;\n                    if (moduleWithProviders.providers) {\n                        providers.push.apply(providers, _this._getProvidersMetadata(moduleWithProviders.providers, entryComponents, \"provider for the NgModule '\" + stringifyType(importedModuleType) + \"'\", [], importedType));\n                    }\n                }\n                if (importedModuleType) {\n                    var /** @type {?} */ importedModuleSummary = _this.getNgModuleSummary(importedModuleType);\n                    if (!importedModuleSummary) {\n                        _this._reportError(new SyntaxError(\"Unexpected \" + _this._getTypeDescriptor(importedType) + \" '\" + stringifyType(importedType) + \"' imported by the module '\" + stringifyType(moduleType) + \"'\"), moduleType);\n                        return;\n                    }\n                    importedModules.push(importedModuleSummary);\n                }\n                else {\n                    _this._reportError(new SyntaxError(\"Unexpected value '\" + stringifyType(importedType) + \"' imported by the module '\" + stringifyType(moduleType) + \"'\"), moduleType);\n                    return;\n                }\n            });\n        }\n        if (meta.exports) {\n            flattenAndDedupeArray(meta.exports).forEach(function (exportedType) {\n                if (!isValidType(exportedType)) {\n                    _this._reportError(new SyntaxError(\"Unexpected value '\" + stringifyType(exportedType) + \"' exported by the module '\" + stringifyType(moduleType) + \"'\"), moduleType);\n                    return;\n                }\n                var /** @type {?} */ exportedModuleSummary = _this.getNgModuleSummary(exportedType);\n                if (exportedModuleSummary) {\n                    exportedModules.push(exportedModuleSummary);\n                }\n                else {\n                    exportedNonModuleIdentifiers.push(_this._getIdentifierMetadata(exportedType));\n                }\n            });\n        }\n        // Note: This will be modified later, so we rely on\n        // getting a new instance every time!\n        var /** @type {?} */ transitiveModule = this._getTransitiveNgModuleMetadata(importedModules, exportedModules);\n        if (meta.declarations) {\n            flattenAndDedupeArray(meta.declarations).forEach(function (declaredType) {\n                if (!isValidType(declaredType)) {\n                    _this._reportError(new SyntaxError(\"Unexpected value '\" + stringifyType(declaredType) + \"' declared by the module '\" + stringifyType(moduleType) + \"'\"), moduleType);\n                    return;\n                }\n                var /** @type {?} */ declaredIdentifier = _this._getIdentifierMetadata(declaredType);\n                if (_this._directiveResolver.isDirective(declaredType)) {\n                    transitiveModule.addDirective(declaredIdentifier);\n                    declaredDirectives.push(declaredIdentifier);\n                    _this._addTypeToModule(declaredType, moduleType);\n                }\n                else if (_this._pipeResolver.isPipe(declaredType)) {\n                    transitiveModule.addPipe(declaredIdentifier);\n                    transitiveModule.pipes.push(declaredIdentifier);\n                    declaredPipes.push(declaredIdentifier);\n                    _this._addTypeToModule(declaredType, moduleType);\n                }\n                else {\n                    _this._reportError(new SyntaxError(\"Unexpected \" + _this._getTypeDescriptor(declaredType) + \" '\" + stringifyType(declaredType) + \"' declared by the module '\" + stringifyType(moduleType) + \"'\"), moduleType);\n                    return;\n                }\n            });\n        }\n        var /** @type {?} */ exportedDirectives = [];\n        var /** @type {?} */ exportedPipes = [];\n        exportedNonModuleIdentifiers.forEach(function (exportedId) {\n            if (transitiveModule.directivesSet.has(exportedId.reference)) {\n                exportedDirectives.push(exportedId);\n                transitiveModule.addExportedDirective(exportedId);\n            }\n            else if (transitiveModule.pipesSet.has(exportedId.reference)) {\n                exportedPipes.push(exportedId);\n                transitiveModule.addExportedPipe(exportedId);\n            }\n            else {\n                _this._reportError(new SyntaxError(\"Can't export \" + _this._getTypeDescriptor(exportedId.reference) + \" \" + stringifyType(exportedId.reference) + \" from \" + stringifyType(moduleType) + \" as it was neither declared nor imported!\"), moduleType);\n            }\n        });\n        // The providers of the module have to go last\n        // so that they overwrite any other provider we already added.\n        if (meta.providers) {\n            providers.push.apply(providers, this._getProvidersMetadata(meta.providers, entryComponents, \"provider for the NgModule '\" + stringifyType(moduleType) + \"'\", [], moduleType));\n        }\n        if (meta.entryComponents) {\n            entryComponents.push.apply(entryComponents, flattenAndDedupeArray(meta.entryComponents)\n                .map(function (type) { return _this._getIdentifierMetadata(type); }));\n        }\n        if (meta.bootstrap) {\n            flattenAndDedupeArray(meta.bootstrap).forEach(function (type) {\n                if (!isValidType(type)) {\n                    _this._reportError(new SyntaxError(\"Unexpected value '\" + stringifyType(type) + \"' used in the bootstrap property of module '\" + stringifyType(moduleType) + \"'\"), moduleType);\n                    return;\n                }\n                bootstrapComponents.push(_this._getIdentifierMetadata(type));\n            });\n        }\n        entryComponents.push.apply(entryComponents, bootstrapComponents);\n        if (meta.schemas) {\n            schemas.push.apply(schemas, flattenAndDedupeArray(meta.schemas));\n        }\n        compileMeta = new cpl.CompileNgModuleMetadata({\n            type: this._getTypeMetadata(moduleType),\n            providers: providers,\n            entryComponents: entryComponents,\n            bootstrapComponents: bootstrapComponents,\n            schemas: schemas,\n            declaredDirectives: declaredDirectives,\n            exportedDirectives: exportedDirectives,\n            declaredPipes: declaredPipes,\n            exportedPipes: exportedPipes,\n            importedModules: importedModules,\n            exportedModules: exportedModules,\n            transitiveModule: transitiveModule,\n            id: meta.id,\n        });\n        entryComponents.forEach(function (id) { return transitiveModule.addEntryComponent(id); });\n        providers.forEach(function (provider) { return transitiveModule.addProvider(provider, compileMeta.type); });\n        transitiveModule.addModule(compileMeta.type);\n        this._ngModuleCache.set(moduleType, compileMeta);\n        return compileMeta;\n    };\n    /**\n     * @param {?} type\n     * @return {?}\n     */\n    CompileMetadataResolver.prototype._getTypeDescriptor = function (type) {\n        if (this._directiveResolver.isDirective(type)) {\n            return 'directive';\n        }\n        if (this._pipeResolver.isPipe(type)) {\n            return 'pipe';\n        }\n        if (this._ngModuleResolver.isNgModule(type)) {\n            return 'module';\n        }\n        if (((type)).provide) {\n            return 'provider';\n        }\n        return 'value';\n    };\n    /**\n     * @param {?} type\n     * @param {?} moduleType\n     * @return {?}\n     */\n    CompileMetadataResolver.prototype._addTypeToModule = function (type, moduleType) {\n        var /** @type {?} */ oldModule = this._ngModuleOfTypes.get(type);\n        if (oldModule && oldModule !== moduleType) {\n            this._reportError(new SyntaxError((\"Type \" + stringifyType(type) + \" is part of the declarations of 2 modules: \" + stringifyType(oldModule) + \" and \" + stringifyType(moduleType) + \"! \") +\n                (\"Please consider moving \" + stringifyType(type) + \" to a higher module that imports \" + stringifyType(oldModule) + \" and \" + stringifyType(moduleType) + \". \") +\n                (\"You can also create a new NgModule that exports and includes \" + stringifyType(type) + \" then import that NgModule in \" + stringifyType(oldModule) + \" and \" + stringifyType(moduleType) + \".\")), moduleType);\n        }\n        this._ngModuleOfTypes.set(type, moduleType);\n    };\n    /**\n     * @param {?} importedModules\n     * @param {?} exportedModules\n     * @return {?}\n     */\n    CompileMetadataResolver.prototype._getTransitiveNgModuleMetadata = function (importedModules, exportedModules) {\n        // collect `providers` / `entryComponents` from all imported and all exported modules\n        var /** @type {?} */ result = new cpl.TransitiveCompileNgModuleMetadata();\n        var /** @type {?} */ modulesByToken = new Map();\n        importedModules.concat(exportedModules).forEach(function (modSummary) {\n            modSummary.modules.forEach(function (mod) { return result.addModule(mod); });\n            modSummary.entryComponents.forEach(function (comp) { return result.addEntryComponent(comp); });\n            var /** @type {?} */ addedTokens = new Set();\n            modSummary.providers.forEach(function (entry) {\n                var /** @type {?} */ tokenRef = cpl.tokenReference(entry.provider.token);\n                var /** @type {?} */ prevModules = modulesByToken.get(tokenRef);\n                if (!prevModules) {\n                    prevModules = new Set();\n                    modulesByToken.set(tokenRef, prevModules);\n                }\n                var /** @type {?} */ moduleRef = entry.module.reference;\n                // Note: the providers of one module may still contain multiple providers\n                // per token (e.g. for multi providers), and we need to preserve these.\n                if (addedTokens.has(tokenRef) || !prevModules.has(moduleRef)) {\n                    prevModules.add(moduleRef);\n                    addedTokens.add(tokenRef);\n                    result.addProvider(entry.provider, entry.module);\n                }\n            });\n        });\n        exportedModules.forEach(function (modSummary) {\n            modSummary.exportedDirectives.forEach(function (id) { return result.addExportedDirective(id); });\n            modSummary.exportedPipes.forEach(function (id) { return result.addExportedPipe(id); });\n        });\n        importedModules.forEach(function (modSummary) {\n            modSummary.exportedDirectives.forEach(function (id) { return result.addDirective(id); });\n            modSummary.exportedPipes.forEach(function (id) { return result.addPipe(id); });\n        });\n        return result;\n    };\n    /**\n     * @param {?} type\n     * @return {?}\n     */\n    CompileMetadataResolver.prototype._getIdentifierMetadata = function (type) {\n        type = resolveForwardRef(type);\n        return { reference: type };\n    };\n    /**\n     * @param {?} type\n     * @return {?}\n     */\n    CompileMetadataResolver.prototype.isInjectable = function (type) {\n        var /** @type {?} */ annotations = this._reflector.annotations(type);\n        // Note: We need an exact check here as @Component / @Directive / ... inherit\n        // from @CompilerInjectable!\n        return annotations.some(function (ann) { return ann.constructor === Injectable; });\n    };\n    /**\n     * @param {?} type\n     * @return {?}\n     */\n    CompileMetadataResolver.prototype.getInjectableSummary = function (type) {\n        return { summaryKind: cpl.CompileSummaryKind.Injectable, type: this._getTypeMetadata(type) };\n    };\n    /**\n     * @param {?} type\n     * @param {?=} dependencies\n     * @return {?}\n     */\n    CompileMetadataResolver.prototype._getInjectableMetadata = function (type, dependencies) {\n        if (dependencies === void 0) { dependencies = null; }\n        var /** @type {?} */ typeSummary = this._loadSummary(type, cpl.CompileSummaryKind.Injectable);\n        if (typeSummary) {\n            return typeSummary.type;\n        }\n        return this._getTypeMetadata(type, dependencies);\n    };\n    /**\n     * @param {?} type\n     * @param {?=} dependencies\n     * @return {?}\n     */\n    CompileMetadataResolver.prototype._getTypeMetadata = function (type, dependencies) {\n        if (dependencies === void 0) { dependencies = null; }\n        var /** @type {?} */ identifier = this._getIdentifierMetadata(type);\n        return {\n            reference: identifier.reference,\n            diDeps: this._getDependenciesMetadata(identifier.reference, dependencies),\n            lifecycleHooks: LIFECYCLE_HOOKS_VALUES.filter(function (hook) { return hasLifecycleHook(hook, identifier.reference); }),\n        };\n    };\n    /**\n     * @param {?} factory\n     * @param {?=} dependencies\n     * @return {?}\n     */\n    CompileMetadataResolver.prototype._getFactoryMetadata = function (factory, dependencies) {\n        if (dependencies === void 0) { dependencies = null; }\n        factory = resolveForwardRef(factory);\n        return { reference: factory, diDeps: this._getDependenciesMetadata(factory, dependencies) };\n    };\n    /**\n     * Gets the metadata for the given pipe.\n     * This assumes `loadNgModuleDirectiveAndPipeMetadata` has been called first.\n     * @param {?} pipeType\n     * @return {?}\n     */\n    CompileMetadataResolver.prototype.getPipeMetadata = function (pipeType) {\n        var /** @type {?} */ pipeMeta = this._pipeCache.get(pipeType);\n        if (!pipeMeta) {\n            this._reportError(new SyntaxError(\"Illegal state: getPipeMetadata can only be called after loadNgModuleDirectiveAndPipeMetadata for a module that declares it. Pipe \" + stringifyType(pipeType) + \".\"), pipeType);\n        }\n        return pipeMeta;\n    };\n    /**\n     * @param {?} pipeType\n     * @return {?}\n     */\n    CompileMetadataResolver.prototype.getPipeSummary = function (pipeType) {\n        var /** @type {?} */ pipeSummary = (this._loadSummary(pipeType, cpl.CompileSummaryKind.Pipe));\n        if (!pipeSummary) {\n            this._reportError(new SyntaxError(\"Illegal state: Could not load the summary for pipe \" + stringifyType(pipeType) + \".\"), pipeType);\n        }\n        return pipeSummary;\n    };\n    /**\n     * @param {?} pipeType\n     * @return {?}\n     */\n    CompileMetadataResolver.prototype.getOrLoadPipeMetadata = function (pipeType) {\n        var /** @type {?} */ pipeMeta = this._pipeCache.get(pipeType);\n        if (!pipeMeta) {\n            pipeMeta = this._loadPipeMetadata(pipeType);\n        }\n        return pipeMeta;\n    };\n    /**\n     * @param {?} pipeType\n     * @return {?}\n     */\n    CompileMetadataResolver.prototype._loadPipeMetadata = function (pipeType) {\n        pipeType = resolveForwardRef(pipeType);\n        var /** @type {?} */ pipeAnnotation = this._pipeResolver.resolve(pipeType);\n        var /** @type {?} */ pipeMeta = new cpl.CompilePipeMetadata({\n            type: this._getTypeMetadata(pipeType),\n            name: pipeAnnotation.name,\n            pure: pipeAnnotation.pure\n        });\n        this._pipeCache.set(pipeType, pipeMeta);\n        this._summaryCache.set(pipeType, pipeMeta.toSummary());\n        return pipeMeta;\n    };\n    /**\n     * @param {?} typeOrFunc\n     * @param {?} dependencies\n     * @return {?}\n     */\n    CompileMetadataResolver.prototype._getDependenciesMetadata = function (typeOrFunc, dependencies) {\n        var _this = this;\n        var /** @type {?} */ hasUnknownDeps = false;\n        var /** @type {?} */ params = dependencies || this._reflector.parameters(typeOrFunc) || [];\n        var /** @type {?} */ dependenciesMetadata = params.map(function (param) {\n            var /** @type {?} */ isAttribute = false;\n            var /** @type {?} */ isHost = false;\n            var /** @type {?} */ isSelf = false;\n            var /** @type {?} */ isSkipSelf = false;\n            var /** @type {?} */ isOptional = false;\n            var /** @type {?} */ token = null;\n            if (Array.isArray(param)) {\n                param.forEach(function (paramEntry) {\n                    if (paramEntry instanceof Host) {\n                        isHost = true;\n                    }\n                    else if (paramEntry instanceof Self) {\n                        isSelf = true;\n                    }\n                    else if (paramEntry instanceof SkipSelf) {\n                        isSkipSelf = true;\n                    }\n                    else if (paramEntry instanceof Optional) {\n                        isOptional = true;\n                    }\n                    else if (paramEntry instanceof Attribute) {\n                        isAttribute = true;\n                        token = paramEntry.attributeName;\n                    }\n                    else if (paramEntry instanceof Inject) {\n                        token = paramEntry.token;\n                    }\n                    else if (isValidType(paramEntry) && isBlank(token)) {\n                        token = paramEntry;\n                    }\n                });\n            }\n            else {\n                token = param;\n            }\n            if (isBlank(token)) {\n                hasUnknownDeps = true;\n                return null;\n            }\n            return {\n                isAttribute: isAttribute,\n                isHost: isHost,\n                isSelf: isSelf,\n                isSkipSelf: isSkipSelf,\n                isOptional: isOptional,\n                token: _this._getTokenMetadata(token)\n            };\n        });\n        if (hasUnknownDeps) {\n            var /** @type {?} */ depsTokens = dependenciesMetadata.map(function (dep) { return dep ? stringifyType(dep.token) : '?'; }).join(', ');\n            this._reportError(new SyntaxError(\"Can't resolve all parameters for \" + stringifyType(typeOrFunc) + \": (\" + depsTokens + \").\"), typeOrFunc);\n        }\n        return dependenciesMetadata;\n    };\n    /**\n     * @param {?} token\n     * @return {?}\n     */\n    CompileMetadataResolver.prototype._getTokenMetadata = function (token) {\n        token = resolveForwardRef(token);\n        var /** @type {?} */ compileToken;\n        if (typeof token === 'string') {\n            compileToken = { value: token };\n        }\n        else {\n            compileToken = { identifier: { reference: token } };\n        }\n        return compileToken;\n    };\n    /**\n     * @param {?} providers\n     * @param {?} targetEntryComponents\n     * @param {?=} debugInfo\n     * @param {?=} compileProviders\n     * @param {?=} type\n     * @return {?}\n     */\n    CompileMetadataResolver.prototype._getProvidersMetadata = function (providers, targetEntryComponents, debugInfo, compileProviders, type) {\n        var _this = this;\n        if (compileProviders === void 0) { compileProviders = []; }\n        providers.forEach(function (provider, providerIdx) {\n            if (Array.isArray(provider)) {\n                _this._getProvidersMetadata(provider, targetEntryComponents, debugInfo, compileProviders);\n            }\n            else {\n                provider = resolveForwardRef(provider);\n                var /** @type {?} */ providerMeta = void 0;\n                if (provider && typeof provider == 'object' && provider.hasOwnProperty('provide')) {\n                    providerMeta = new cpl.ProviderMeta(provider.provide, provider);\n                }\n                else if (isValidType(provider)) {\n                    providerMeta = new cpl.ProviderMeta(provider, { useClass: provider });\n                }\n                else {\n                    var /** @type {?} */ providersInfo = ((providers.reduce(function (soFar, seenProvider, seenProviderIdx) {\n                        if (seenProviderIdx < providerIdx) {\n                            soFar.push(\"\" + stringifyType(seenProvider));\n                        }\n                        else if (seenProviderIdx == providerIdx) {\n                            soFar.push(\"?\" + stringifyType(seenProvider) + \"?\");\n                        }\n                        else if (seenProviderIdx == providerIdx + 1) {\n                            soFar.push('...');\n                        }\n                        return soFar;\n                    }, [])))\n                        .join(', ');\n                    _this._reportError(new SyntaxError(\"Invalid \" + (debugInfo ? debugInfo : 'provider') + \" - only instances of Provider and Type are allowed, got: [\" + providersInfo + \"]\"), type);\n                }\n                if (providerMeta.token === resolveIdentifier(Identifiers.ANALYZE_FOR_ENTRY_COMPONENTS)) {\n                    targetEntryComponents.push.apply(targetEntryComponents, _this._getEntryComponentsFromProvider(providerMeta, type));\n                }\n                else {\n                    compileProviders.push(_this.getProviderMetadata(providerMeta));\n                }\n            }\n        });\n        return compileProviders;\n    };\n    /**\n     * @param {?} provider\n     * @param {?=} type\n     * @return {?}\n     */\n    CompileMetadataResolver.prototype._getEntryComponentsFromProvider = function (provider, type) {\n        var _this = this;\n        var /** @type {?} */ components = [];\n        var /** @type {?} */ collectedIdentifiers = [];\n        if (provider.useFactory || provider.useExisting || provider.useClass) {\n            this._reportError(new SyntaxError(\"The ANALYZE_FOR_ENTRY_COMPONENTS token only supports useValue!\"), type);\n            return [];\n        }\n        if (!provider.multi) {\n            this._reportError(new SyntaxError(\"The ANALYZE_FOR_ENTRY_COMPONENTS token only supports 'multi = true'!\"), type);\n            return [];\n        }\n        extractIdentifiers(provider.useValue, collectedIdentifiers);\n        collectedIdentifiers.forEach(function (identifier) {\n            if (_this._directiveResolver.isDirective(identifier.reference) ||\n                _this._loadSummary(identifier.reference, cpl.CompileSummaryKind.Directive)) {\n                components.push(identifier);\n            }\n        });\n        return components;\n    };\n    /**\n     * @param {?} provider\n     * @return {?}\n     */\n    CompileMetadataResolver.prototype.getProviderMetadata = function (provider) {\n        var /** @type {?} */ compileDeps;\n        var /** @type {?} */ compileTypeMetadata = null;\n        var /** @type {?} */ compileFactoryMetadata = null;\n        var /** @type {?} */ token = this._getTokenMetadata(provider.token);\n        if (provider.useClass) {\n            compileTypeMetadata = this._getInjectableMetadata(provider.useClass, provider.dependencies);\n            compileDeps = compileTypeMetadata.diDeps;\n            if (provider.token === provider.useClass) {\n                // use the compileTypeMetadata as it contains information about lifecycleHooks...\n                token = { identifier: compileTypeMetadata };\n            }\n        }\n        else if (provider.useFactory) {\n            compileFactoryMetadata = this._getFactoryMetadata(provider.useFactory, provider.dependencies);\n            compileDeps = compileFactoryMetadata.diDeps;\n        }\n        return {\n            token: token,\n            useClass: compileTypeMetadata,\n            useValue: provider.useValue,\n            useFactory: compileFactoryMetadata,\n            useExisting: provider.useExisting ? this._getTokenMetadata(provider.useExisting) : null,\n            deps: compileDeps,\n            multi: provider.multi\n        };\n    };\n    /**\n     * @param {?} queries\n     * @param {?} isViewQuery\n     * @param {?} directiveType\n     * @return {?}\n     */\n    CompileMetadataResolver.prototype._getQueriesMetadata = function (queries, isViewQuery, directiveType) {\n        var _this = this;\n        var /** @type {?} */ res = [];\n        Object.keys(queries).forEach(function (propertyName) {\n            var /** @type {?} */ query = queries[propertyName];\n            if (query.isViewQuery === isViewQuery) {\n                res.push(_this._getQueryMetadata(query, propertyName, directiveType));\n            }\n        });\n        return res;\n    };\n    /**\n     * @param {?} selector\n     * @return {?}\n     */\n    CompileMetadataResolver.prototype._queryVarBindings = function (selector) { return selector.split(/\\s*,\\s*/); };\n    /**\n     * @param {?} q\n     * @param {?} propertyName\n     * @param {?} typeOrFunc\n     * @return {?}\n     */\n    CompileMetadataResolver.prototype._getQueryMetadata = function (q, propertyName, typeOrFunc) {\n        var _this = this;\n        var /** @type {?} */ selectors;\n        if (typeof q.selector === 'string') {\n            selectors =\n                this._queryVarBindings(q.selector).map(function (varName) { return _this._getTokenMetadata(varName); });\n        }\n        else {\n            if (!q.selector) {\n                this._reportError(new SyntaxError(\"Can't construct a query for the property \\\"\" + propertyName + \"\\\" of \\\"\" + stringifyType(typeOrFunc) + \"\\\" since the query selector wasn't defined.\"), typeOrFunc);\n            }\n            selectors = [this._getTokenMetadata(q.selector)];\n        }\n        return {\n            selectors: selectors,\n            first: q.first,\n            descendants: q.descendants, propertyName: propertyName,\n            read: q.read ? this._getTokenMetadata(q.read) : null\n        };\n    };\n    /**\n     * @param {?} error\n     * @param {?=} type\n     * @param {?=} otherType\n     * @return {?}\n     */\n    CompileMetadataResolver.prototype._reportError = function (error, type, otherType) {\n        if (this._errorCollector) {\n            this._errorCollector(error, type);\n            if (otherType) {\n                this._errorCollector(error, otherType);\n            }\n        }\n        else {\n            throw error;\n        }\n    };\n    /** @nocollapse */\n    CompileMetadataResolver.ctorParameters = function () { return [\n        { type: NgModuleResolver, },\n        { type: DirectiveResolver, },\n        { type: PipeResolver, },\n        { type: SummaryResolver, },\n        { type: ElementSchemaRegistry, },\n        { type: DirectiveNormalizer, },\n        { type: ReflectorReader, },\n        { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [ERROR_COLLECTOR_TOKEN,] },] },\n    ]; };\n    CompileMetadataResolver = __decorate([\n        CompilerInjectable(), \n        __metadata('design:paramtypes', [NgModuleResolver, DirectiveResolver, PipeResolver, SummaryResolver, ElementSchemaRegistry, DirectiveNormalizer, ReflectorReader, Function])\n    ], CompileMetadataResolver);\n    return CompileMetadataResolver;\n}());\nfunction CompileMetadataResolver_tsickle_Closure_declarations() {\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    CompileMetadataResolver.ctorParameters;\n    /** @type {?} */\n    CompileMetadataResolver.prototype._directiveCache;\n    /** @type {?} */\n    CompileMetadataResolver.prototype._summaryCache;\n    /** @type {?} */\n    CompileMetadataResolver.prototype._pipeCache;\n    /** @type {?} */\n    CompileMetadataResolver.prototype._ngModuleCache;\n    /** @type {?} */\n    CompileMetadataResolver.prototype._ngModuleOfTypes;\n    /** @type {?} */\n    CompileMetadataResolver.prototype._ngModuleResolver;\n    /** @type {?} */\n    CompileMetadataResolver.prototype._directiveResolver;\n    /** @type {?} */\n    CompileMetadataResolver.prototype._pipeResolver;\n    /** @type {?} */\n    CompileMetadataResolver.prototype._summaryResolver;\n    /** @type {?} */\n    CompileMetadataResolver.prototype._schemaRegistry;\n    /** @type {?} */\n    CompileMetadataResolver.prototype._directiveNormalizer;\n    /** @type {?} */\n    CompileMetadataResolver.prototype._reflector;\n    /** @type {?} */\n    CompileMetadataResolver.prototype._errorCollector;\n}\n/**\n * @param {?} tree\n * @param {?=} out\n * @return {?}\n */\nfunction flattenArray(tree, out) {\n    if (out === void 0) { out = []; }\n    if (tree) {\n        for (var /** @type {?} */ i = 0; i < tree.length; i++) {\n            var /** @type {?} */ item = resolveForwardRef(tree[i]);\n            if (Array.isArray(item)) {\n                flattenArray(item, out);\n            }\n            else {\n                out.push(item);\n            }\n        }\n    }\n    return out;\n}\n/**\n * @param {?} array\n * @return {?}\n */\nfunction dedupeArray(array) {\n    if (array) {\n        return Array.from(new Set(array));\n    }\n    return [];\n}\n/**\n * @param {?} tree\n * @return {?}\n */\nfunction flattenAndDedupeArray(tree) {\n    return dedupeArray(flattenArray(tree));\n}\n/**\n * @param {?} value\n * @return {?}\n */\nfunction isValidType(value) {\n    return (value instanceof StaticSymbol) || (value instanceof Type);\n}\n/**\n * @param {?} reflector\n * @param {?} type\n * @param {?} cmpMetadata\n * @return {?}\n */\nexport function componentModuleUrl(reflector, type, cmpMetadata) {\n    if (type instanceof StaticSymbol) {\n        return type.filePath;\n    }\n    var /** @type {?} */ moduleId = cmpMetadata.moduleId;\n    if (typeof moduleId === 'string') {\n        var /** @type {?} */ scheme = getUrlScheme(moduleId);\n        return scheme ? moduleId : \"package:\" + moduleId + MODULE_SUFFIX;\n    }\n    else if (moduleId !== null && moduleId !== void 0) {\n        throw new SyntaxError((\"moduleId should be a string in \\\"\" + stringifyType(type) + \"\\\". See https://goo.gl/wIDDiL for more information.\\n\") +\n            \"If you're using Webpack you should inline the template and the styles, see https://goo.gl/X2J8zc.\");\n    }\n    return reflector.importUri(type);\n}\n/**\n * @param {?} value\n * @param {?} targetIdentifiers\n * @return {?}\n */\nfunction extractIdentifiers(value, targetIdentifiers) {\n    visitValue(value, new _CompileValueConverter(), targetIdentifiers);\n}\nvar _CompileValueConverter = (function (_super) {\n    __extends(_CompileValueConverter, _super);\n    function _CompileValueConverter() {\n        _super.apply(this, arguments);\n    }\n    /**\n     * @param {?} value\n     * @param {?} targetIdentifiers\n     * @return {?}\n     */\n    _CompileValueConverter.prototype.visitOther = function (value, targetIdentifiers) {\n        targetIdentifiers.push({ reference: value });\n    };\n    return _CompileValueConverter;\n}(ValueTransformer));\n/**\n * @param {?} type\n * @return {?}\n */\nfunction stringifyType(type) {\n    if (type instanceof StaticSymbol) {\n        return type.name + \" in \" + type.filePath;\n    }\n    else {\n        return stringify(type);\n    }\n}\n//# sourceMappingURL=metadata_resolver.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/metadata_resolver.js\n// module id = 145\n// module chunks = 0","/**\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 */\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nimport { NgModule } from '@angular/core';\nimport { ListWrapper } from './facade/collection';\nimport { stringify } from './facade/lang';\nimport { CompilerInjectable } from './injectable';\nimport { ReflectorReader, reflector } from './private_import_core';\n/**\n * @param {?} obj\n * @return {?}\n */\nfunction _isNgModuleMetadata(obj) {\n    return obj instanceof NgModule;\n}\n/**\n * Resolves types to {\\@link NgModule}.\n */\nexport var NgModuleResolver = (function () {\n    /**\n     * @param {?=} _reflector\n     */\n    function NgModuleResolver(_reflector) {\n        if (_reflector === void 0) { _reflector = reflector; }\n        this._reflector = _reflector;\n    }\n    /**\n     * @param {?} type\n     * @return {?}\n     */\n    NgModuleResolver.prototype.isNgModule = function (type) { return this._reflector.annotations(type).some(_isNgModuleMetadata); };\n    /**\n     * @param {?} type\n     * @param {?=} throwIfNotFound\n     * @return {?}\n     */\n    NgModuleResolver.prototype.resolve = function (type, throwIfNotFound) {\n        if (throwIfNotFound === void 0) { throwIfNotFound = true; }\n        var /** @type {?} */ ngModuleMeta = ListWrapper.findLast(this._reflector.annotations(type), _isNgModuleMetadata);\n        if (ngModuleMeta) {\n            return ngModuleMeta;\n        }\n        else {\n            if (throwIfNotFound) {\n                throw new Error(\"No NgModule metadata found for '\" + stringify(type) + \"'.\");\n            }\n            return null;\n        }\n    };\n    NgModuleResolver = __decorate([\n        CompilerInjectable(), \n        __metadata('design:paramtypes', [ReflectorReader])\n    ], NgModuleResolver);\n    return NgModuleResolver;\n}());\nfunction NgModuleResolver_tsickle_Closure_declarations() {\n    /** @type {?} */\n    NgModuleResolver.prototype._reflector;\n}\n//# sourceMappingURL=ng_module_resolver.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/ng_module_resolver.js\n// module id = 146\n// module chunks = 0","/**\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 */\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nimport { Pipe, resolveForwardRef } from '@angular/core';\nimport { ListWrapper } from './facade/collection';\nimport { stringify } from './facade/lang';\nimport { CompilerInjectable } from './injectable';\nimport { ReflectorReader, reflector } from './private_import_core';\n/**\n * @param {?} type\n * @return {?}\n */\nfunction _isPipeMetadata(type) {\n    return type instanceof Pipe;\n}\n/**\n * Resolve a `Type` for {\\@link Pipe}.\n *\n * This interface can be overridden by the application developer to create custom behavior.\n *\n * See {\\@link Compiler}\n */\nexport var PipeResolver = (function () {\n    /**\n     * @param {?=} _reflector\n     */\n    function PipeResolver(_reflector) {\n        if (_reflector === void 0) { _reflector = reflector; }\n        this._reflector = _reflector;\n    }\n    /**\n     * @param {?} type\n     * @return {?}\n     */\n    PipeResolver.prototype.isPipe = function (type) {\n        var /** @type {?} */ typeMetadata = this._reflector.annotations(resolveForwardRef(type));\n        return typeMetadata && typeMetadata.some(_isPipeMetadata);\n    };\n    /**\n     * Return {\\@link Pipe} for a given `Type`.\n     * @param {?} type\n     * @param {?=} throwIfNotFound\n     * @return {?}\n     */\n    PipeResolver.prototype.resolve = function (type, throwIfNotFound) {\n        if (throwIfNotFound === void 0) { throwIfNotFound = true; }\n        var /** @type {?} */ metas = this._reflector.annotations(resolveForwardRef(type));\n        if (metas) {\n            var /** @type {?} */ annotation = ListWrapper.findLast(metas, _isPipeMetadata);\n            if (annotation) {\n                return annotation;\n            }\n        }\n        if (throwIfNotFound) {\n            throw new Error(\"No Pipe decorator found on \" + stringify(type));\n        }\n        return null;\n    };\n    PipeResolver = __decorate([\n        CompilerInjectable(), \n        __metadata('design:paramtypes', [ReflectorReader])\n    ], PipeResolver);\n    return PipeResolver;\n}());\nfunction PipeResolver_tsickle_Closure_declarations() {\n    /** @type {?} */\n    PipeResolver.prototype._reflector;\n}\n//# sourceMappingURL=pipe_resolver.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/pipe_resolver.js\n// module id = 147\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nimport { Inject, OpaqueToken, Optional } from '@angular/core';\nimport { identifierName } from '../compile_metadata';\nimport { Parser } from '../expression_parser/parser';\nimport { isPresent } from '../facade/lang';\nimport { I18NHtmlParser } from '../i18n/i18n_html_parser';\nimport { Identifiers, createIdentifierToken, identifierToken } from '../identifiers';\nimport { CompilerInjectable } from '../injectable';\nimport * as html from '../ml_parser/ast';\nimport { ParseTreeResult } from '../ml_parser/html_parser';\nimport { expandNodes } from '../ml_parser/icu_ast_expander';\nimport { InterpolationConfig } from '../ml_parser/interpolation_config';\nimport { splitNsName } from '../ml_parser/tags';\nimport { ParseError, ParseErrorLevel, ParseSourceSpan } from '../parse_util';\nimport { Console } from '../private_import_core';\nimport { ProviderElementContext, ProviderViewContext } from '../provider_analyzer';\nimport { ElementSchemaRegistry } from '../schema/element_schema_registry';\nimport { CssSelector, SelectorMatcher } from '../selector';\nimport { isStyleUrlResolvable } from '../style_url_resolver';\nimport { SyntaxError } from '../util';\nimport { BindingParser } from './binding_parser';\nimport { AttrAst, BoundDirectivePropertyAst, BoundTextAst, DirectiveAst, ElementAst, EmbeddedTemplateAst, NgContentAst, PropertyBindingType, ReferenceAst, TextAst, VariableAst, templateVisitAll } from './template_ast';\nimport { PreparsedElementType, preparseElement } from './template_preparser';\n// Group 1 = \"bind-\"\n// Group 2 = \"let-\"\n// Group 3 = \"ref-/#\"\n// Group 4 = \"on-\"\n// Group 5 = \"bindon-\"\n// Group 6 = \"@\"\n// Group 7 = the identifier after \"bind-\", \"let-\", \"ref-/#\", \"on-\", \"bindon-\" or \"@\"\n// Group 8 = identifier inside [()]\n// Group 9 = identifier inside []\n// Group 10 = identifier inside ()\nvar /** @type {?} */ BIND_NAME_REGEXP = /^(?:(?:(?:(bind-)|(let-)|(ref-|#)|(on-)|(bindon-)|(@))(.+))|\\[\\(([^\\)]+)\\)\\]|\\[([^\\]]+)\\]|\\(([^\\)]+)\\))$/;\nvar /** @type {?} */ KW_BIND_IDX = 1;\nvar /** @type {?} */ KW_LET_IDX = 2;\nvar /** @type {?} */ KW_REF_IDX = 3;\nvar /** @type {?} */ KW_ON_IDX = 4;\nvar /** @type {?} */ KW_BINDON_IDX = 5;\nvar /** @type {?} */ KW_AT_IDX = 6;\nvar /** @type {?} */ IDENT_KW_IDX = 7;\nvar /** @type {?} */ IDENT_BANANA_BOX_IDX = 8;\nvar /** @type {?} */ IDENT_PROPERTY_IDX = 9;\nvar /** @type {?} */ IDENT_EVENT_IDX = 10;\nvar /** @type {?} */ TEMPLATE_ELEMENT = 'template';\nvar /** @type {?} */ TEMPLATE_ATTR = 'template';\nvar /** @type {?} */ TEMPLATE_ATTR_PREFIX = '*';\nvar /** @type {?} */ CLASS_ATTR = 'class';\nvar /** @type {?} */ TEXT_CSS_SELECTOR = CssSelector.parse('*')[0];\n/**\n * Provides an array of {@link TemplateAstVisitor}s which will be used to transform\n * parsed templates before compilation is invoked, allowing custom expression syntax\n * and other advanced transformations.\n *\n * This is currently an internal-only feature and not meant for general use.\n */\nexport var /** @type {?} */ TEMPLATE_TRANSFORMS = new OpaqueToken('TemplateTransforms');\nexport var TemplateParseError = (function (_super) {\n    __extends(TemplateParseError, _super);\n    /**\n     * @param {?} message\n     * @param {?} span\n     * @param {?} level\n     */\n    function TemplateParseError(message, span, level) {\n        _super.call(this, span, message, level);\n    }\n    return TemplateParseError;\n}(ParseError));\nexport var TemplateParseResult = (function () {\n    /**\n     * @param {?=} templateAst\n     * @param {?=} errors\n     */\n    function TemplateParseResult(templateAst, errors) {\n        this.templateAst = templateAst;\n        this.errors = errors;\n    }\n    return TemplateParseResult;\n}());\nfunction TemplateParseResult_tsickle_Closure_declarations() {\n    /** @type {?} */\n    TemplateParseResult.prototype.templateAst;\n    /** @type {?} */\n    TemplateParseResult.prototype.errors;\n}\nexport var TemplateParser = (function () {\n    /**\n     * @param {?} _exprParser\n     * @param {?} _schemaRegistry\n     * @param {?} _htmlParser\n     * @param {?} _console\n     * @param {?} transforms\n     */\n    function TemplateParser(_exprParser, _schemaRegistry, _htmlParser, _console, transforms) {\n        this._exprParser = _exprParser;\n        this._schemaRegistry = _schemaRegistry;\n        this._htmlParser = _htmlParser;\n        this._console = _console;\n        this.transforms = transforms;\n    }\n    /**\n     * @param {?} component\n     * @param {?} template\n     * @param {?} directives\n     * @param {?} pipes\n     * @param {?} schemas\n     * @param {?} templateUrl\n     * @return {?}\n     */\n    TemplateParser.prototype.parse = function (component, template, directives, pipes, schemas, templateUrl) {\n        var /** @type {?} */ result = this.tryParse(component, template, directives, pipes, schemas, templateUrl);\n        var /** @type {?} */ warnings = result.errors.filter(function (error) { return error.level === ParseErrorLevel.WARNING; });\n        var /** @type {?} */ errors = result.errors.filter(function (error) { return error.level === ParseErrorLevel.FATAL; });\n        if (warnings.length > 0) {\n            this._console.warn(\"Template parse warnings:\\n\" + warnings.join('\\n'));\n        }\n        if (errors.length > 0) {\n            var /** @type {?} */ errorString = errors.join('\\n');\n            throw new SyntaxError(\"Template parse errors:\\n\" + errorString);\n        }\n        return result.templateAst;\n    };\n    /**\n     * @param {?} component\n     * @param {?} template\n     * @param {?} directives\n     * @param {?} pipes\n     * @param {?} schemas\n     * @param {?} templateUrl\n     * @return {?}\n     */\n    TemplateParser.prototype.tryParse = function (component, template, directives, pipes, schemas, templateUrl) {\n        return this.tryParseHtml(this.expandHtml(this._htmlParser.parse(template, templateUrl, true, this.getInterpolationConfig(component))), component, template, directives, pipes, schemas, templateUrl);\n    };\n    /**\n     * @param {?} htmlAstWithErrors\n     * @param {?} component\n     * @param {?} template\n     * @param {?} directives\n     * @param {?} pipes\n     * @param {?} schemas\n     * @param {?} templateUrl\n     * @return {?}\n     */\n    TemplateParser.prototype.tryParseHtml = function (htmlAstWithErrors, component, template, directives, pipes, schemas, templateUrl) {\n        var /** @type {?} */ result;\n        var /** @type {?} */ errors = htmlAstWithErrors.errors;\n        if (htmlAstWithErrors.rootNodes.length > 0) {\n            var /** @type {?} */ uniqDirectives = removeSummaryDuplicates(directives);\n            var /** @type {?} */ uniqPipes = removeSummaryDuplicates(pipes);\n            var /** @type {?} */ providerViewContext = new ProviderViewContext(component, htmlAstWithErrors.rootNodes[0].sourceSpan);\n            var /** @type {?} */ interpolationConfig = void 0;\n            if (component.template && component.template.interpolation) {\n                interpolationConfig = {\n                    start: component.template.interpolation[0],\n                    end: component.template.interpolation[1]\n                };\n            }\n            var /** @type {?} */ bindingParser = new BindingParser(this._exprParser, interpolationConfig, this._schemaRegistry, uniqPipes, errors);\n            var /** @type {?} */ parseVisitor = new TemplateParseVisitor(providerViewContext, uniqDirectives, bindingParser, this._schemaRegistry, schemas, errors);\n            result = html.visitAll(parseVisitor, htmlAstWithErrors.rootNodes, EMPTY_ELEMENT_CONTEXT);\n            errors.push.apply(errors, providerViewContext.errors);\n        }\n        else {\n            result = [];\n        }\n        this._assertNoReferenceDuplicationOnTemplate(result, errors);\n        if (errors.length > 0) {\n            return new TemplateParseResult(result, errors);\n        }\n        if (this.transforms) {\n            this.transforms.forEach(function (transform) { result = templateVisitAll(transform, result); });\n        }\n        return new TemplateParseResult(result, errors);\n    };\n    /**\n     * @param {?} htmlAstWithErrors\n     * @param {?=} forced\n     * @return {?}\n     */\n    TemplateParser.prototype.expandHtml = function (htmlAstWithErrors, forced) {\n        if (forced === void 0) { forced = false; }\n        var /** @type {?} */ errors = htmlAstWithErrors.errors;\n        if (errors.length == 0 || forced) {\n            // Transform ICU messages to angular directives\n            var /** @type {?} */ expandedHtmlAst = expandNodes(htmlAstWithErrors.rootNodes);\n            errors.push.apply(errors, expandedHtmlAst.errors);\n            htmlAstWithErrors = new ParseTreeResult(expandedHtmlAst.nodes, errors);\n        }\n        return htmlAstWithErrors;\n    };\n    /**\n     * @param {?} component\n     * @return {?}\n     */\n    TemplateParser.prototype.getInterpolationConfig = function (component) {\n        if (component.template) {\n            return InterpolationConfig.fromArray(component.template.interpolation);\n        }\n    };\n    /**\n     * \\@internal\n     * @param {?} result\n     * @param {?} errors\n     * @return {?}\n     */\n    TemplateParser.prototype._assertNoReferenceDuplicationOnTemplate = function (result, errors) {\n        var /** @type {?} */ existingReferences = [];\n        result.filter(function (element) { return !!((element)).references; })\n            .forEach(function (element) { return ((element)).references.forEach(function (reference) {\n            var /** @type {?} */ name = reference.name;\n            if (existingReferences.indexOf(name) < 0) {\n                existingReferences.push(name);\n            }\n            else {\n                var /** @type {?} */ error = new TemplateParseError(\"Reference \\\"#\" + name + \"\\\" is defined several times\", reference.sourceSpan, ParseErrorLevel.FATAL);\n                errors.push(error);\n            }\n        }); });\n    };\n    /** @nocollapse */\n    TemplateParser.ctorParameters = function () { return [\n        { type: Parser, },\n        { type: ElementSchemaRegistry, },\n        { type: I18NHtmlParser, },\n        { type: Console, },\n        { type: Array, decorators: [{ type: Optional }, { type: Inject, args: [TEMPLATE_TRANSFORMS,] },] },\n    ]; };\n    TemplateParser = __decorate([\n        CompilerInjectable(), \n        __metadata('design:paramtypes', [Parser, ElementSchemaRegistry, I18NHtmlParser, Console, Array])\n    ], TemplateParser);\n    return TemplateParser;\n}());\nfunction TemplateParser_tsickle_Closure_declarations() {\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    TemplateParser.ctorParameters;\n    /** @type {?} */\n    TemplateParser.prototype._exprParser;\n    /** @type {?} */\n    TemplateParser.prototype._schemaRegistry;\n    /** @type {?} */\n    TemplateParser.prototype._htmlParser;\n    /** @type {?} */\n    TemplateParser.prototype._console;\n    /** @type {?} */\n    TemplateParser.prototype.transforms;\n}\nvar TemplateParseVisitor = (function () {\n    /**\n     * @param {?} providerViewContext\n     * @param {?} directives\n     * @param {?} _bindingParser\n     * @param {?} _schemaRegistry\n     * @param {?} _schemas\n     * @param {?} _targetErrors\n     */\n    function TemplateParseVisitor(providerViewContext, directives, _bindingParser, _schemaRegistry, _schemas, _targetErrors) {\n        var _this = this;\n        this.providerViewContext = providerViewContext;\n        this._bindingParser = _bindingParser;\n        this._schemaRegistry = _schemaRegistry;\n        this._schemas = _schemas;\n        this._targetErrors = _targetErrors;\n        this.selectorMatcher = new SelectorMatcher();\n        this.directivesIndex = new Map();\n        this.ngContentCount = 0;\n        directives.forEach(function (directive, index) {\n            var selector = CssSelector.parse(directive.selector);\n            _this.selectorMatcher.addSelectables(selector, directive);\n            _this.directivesIndex.set(directive, index);\n        });\n    }\n    /**\n     * @param {?} expansion\n     * @param {?} context\n     * @return {?}\n     */\n    TemplateParseVisitor.prototype.visitExpansion = function (expansion, context) { return null; };\n    /**\n     * @param {?} expansionCase\n     * @param {?} context\n     * @return {?}\n     */\n    TemplateParseVisitor.prototype.visitExpansionCase = function (expansionCase, context) { return null; };\n    /**\n     * @param {?} text\n     * @param {?} parent\n     * @return {?}\n     */\n    TemplateParseVisitor.prototype.visitText = function (text, parent) {\n        var /** @type {?} */ ngContentIndex = parent.findNgContentIndex(TEXT_CSS_SELECTOR);\n        var /** @type {?} */ expr = this._bindingParser.parseInterpolation(text.value, text.sourceSpan);\n        if (expr) {\n            return new BoundTextAst(expr, ngContentIndex, text.sourceSpan);\n        }\n        else {\n            return new TextAst(text.value, ngContentIndex, text.sourceSpan);\n        }\n    };\n    /**\n     * @param {?} attribute\n     * @param {?} context\n     * @return {?}\n     */\n    TemplateParseVisitor.prototype.visitAttribute = function (attribute, context) {\n        return new AttrAst(attribute.name, attribute.value, attribute.sourceSpan);\n    };\n    /**\n     * @param {?} comment\n     * @param {?} context\n     * @return {?}\n     */\n    TemplateParseVisitor.prototype.visitComment = function (comment, context) { return null; };\n    /**\n     * @param {?} element\n     * @param {?} parent\n     * @return {?}\n     */\n    TemplateParseVisitor.prototype.visitElement = function (element, parent) {\n        var _this = this;\n        var /** @type {?} */ nodeName = element.name;\n        var /** @type {?} */ preparsedElement = preparseElement(element);\n        if (preparsedElement.type === PreparsedElementType.SCRIPT ||\n            preparsedElement.type === PreparsedElementType.STYLE) {\n            // Skipping <script> for security reasons\n            // Skipping <style> as we already processed them\n            // in the StyleCompiler\n            return null;\n        }\n        if (preparsedElement.type === PreparsedElementType.STYLESHEET &&\n            isStyleUrlResolvable(preparsedElement.hrefAttr)) {\n            // Skipping stylesheets with either relative urls or package scheme as we already processed\n            // them in the StyleCompiler\n            return null;\n        }\n        var /** @type {?} */ matchableAttrs = [];\n        var /** @type {?} */ elementOrDirectiveProps = [];\n        var /** @type {?} */ elementOrDirectiveRefs = [];\n        var /** @type {?} */ elementVars = [];\n        var /** @type {?} */ events = [];\n        var /** @type {?} */ templateElementOrDirectiveProps = [];\n        var /** @type {?} */ templateMatchableAttrs = [];\n        var /** @type {?} */ templateElementVars = [];\n        var /** @type {?} */ hasInlineTemplates = false;\n        var /** @type {?} */ attrs = [];\n        var /** @type {?} */ lcElName = splitNsName(nodeName.toLowerCase())[1];\n        var /** @type {?} */ isTemplateElement = lcElName == TEMPLATE_ELEMENT;\n        element.attrs.forEach(function (attr) {\n            var /** @type {?} */ hasBinding = _this._parseAttr(isTemplateElement, attr, matchableAttrs, elementOrDirectiveProps, events, elementOrDirectiveRefs, elementVars);\n            var /** @type {?} */ templateBindingsSource;\n            var /** @type {?} */ prefixToken;\n            var /** @type {?} */ normalizedName = _this._normalizeAttributeName(attr.name);\n            if (normalizedName == TEMPLATE_ATTR) {\n                templateBindingsSource = attr.value;\n            }\n            else if (normalizedName.startsWith(TEMPLATE_ATTR_PREFIX)) {\n                templateBindingsSource = attr.value;\n                prefixToken = normalizedName.substring(TEMPLATE_ATTR_PREFIX.length) + ':';\n            }\n            var /** @type {?} */ hasTemplateBinding = isPresent(templateBindingsSource);\n            if (hasTemplateBinding) {\n                if (hasInlineTemplates) {\n                    _this._reportError(\"Can't have multiple template bindings on one element. Use only one attribute named 'template' or prefixed with *\", attr.sourceSpan);\n                }\n                hasInlineTemplates = true;\n                _this._bindingParser.parseInlineTemplateBinding(prefixToken, templateBindingsSource, attr.sourceSpan, templateMatchableAttrs, templateElementOrDirectiveProps, templateElementVars);\n            }\n            if (!hasBinding && !hasTemplateBinding) {\n                // don't include the bindings as attributes as well in the AST\n                attrs.push(_this.visitAttribute(attr, null));\n                matchableAttrs.push([attr.name, attr.value]);\n            }\n        });\n        var /** @type {?} */ elementCssSelector = createElementCssSelector(nodeName, matchableAttrs);\n        var _a = this._parseDirectives(this.selectorMatcher, elementCssSelector), directiveMetas = _a.directives, matchElement = _a.matchElement;\n        var /** @type {?} */ references = [];\n        var /** @type {?} */ directiveAsts = this._createDirectiveAsts(isTemplateElement, element.name, directiveMetas, elementOrDirectiveProps, elementOrDirectiveRefs, element.sourceSpan, references);\n        var /** @type {?} */ elementProps = this._createElementPropertyAsts(element.name, elementOrDirectiveProps, directiveAsts);\n        var /** @type {?} */ isViewRoot = parent.isTemplateElement || hasInlineTemplates;\n        var /** @type {?} */ providerContext = new ProviderElementContext(this.providerViewContext, parent.providerContext, isViewRoot, directiveAsts, attrs, references, element.sourceSpan);\n        var /** @type {?} */ children = html.visitAll(preparsedElement.nonBindable ? NON_BINDABLE_VISITOR : this, element.children, ElementContext.create(isTemplateElement, directiveAsts, isTemplateElement ? parent.providerContext : providerContext));\n        providerContext.afterElement();\n        // Override the actual selector when the `ngProjectAs` attribute is provided\n        var /** @type {?} */ projectionSelector = isPresent(preparsedElement.projectAs) ?\n            CssSelector.parse(preparsedElement.projectAs)[0] :\n            elementCssSelector;\n        var /** @type {?} */ ngContentIndex = parent.findNgContentIndex(projectionSelector);\n        var /** @type {?} */ parsedElement;\n        if (preparsedElement.type === PreparsedElementType.NG_CONTENT) {\n            if (element.children && !element.children.every(_isEmptyTextNode)) {\n                this._reportError(\"<ng-content> element cannot have content.\", element.sourceSpan);\n            }\n            parsedElement = new NgContentAst(this.ngContentCount++, hasInlineTemplates ? null : ngContentIndex, element.sourceSpan);\n        }\n        else if (isTemplateElement) {\n            this._assertAllEventsPublishedByDirectives(directiveAsts, events);\n            this._assertNoComponentsNorElementBindingsOnTemplate(directiveAsts, elementProps, element.sourceSpan);\n            parsedElement = new EmbeddedTemplateAst(attrs, events, references, elementVars, providerContext.transformedDirectiveAsts, providerContext.transformProviders, providerContext.transformedHasViewContainer, children, hasInlineTemplates ? null : ngContentIndex, element.sourceSpan);\n        }\n        else {\n            this._assertElementExists(matchElement, element);\n            this._assertOnlyOneComponent(directiveAsts, element.sourceSpan);\n            var /** @type {?} */ ngContentIndex_1 = hasInlineTemplates ? null : parent.findNgContentIndex(projectionSelector);\n            parsedElement = new ElementAst(nodeName, attrs, elementProps, events, references, providerContext.transformedDirectiveAsts, providerContext.transformProviders, providerContext.transformedHasViewContainer, children, hasInlineTemplates ? null : ngContentIndex_1, element.sourceSpan, element.endSourceSpan);\n            this._findComponentDirectives(directiveAsts)\n                .forEach(function (componentDirectiveAst) { return _this._validateElementAnimationInputOutputs(componentDirectiveAst.hostProperties, componentDirectiveAst.hostEvents, componentDirectiveAst.directive.template); });\n            var /** @type {?} */ componentTemplate = providerContext.viewContext.component.template;\n            this._validateElementAnimationInputOutputs(elementProps, events, componentTemplate.toSummary());\n        }\n        if (hasInlineTemplates) {\n            var /** @type {?} */ templateCssSelector = createElementCssSelector(TEMPLATE_ELEMENT, templateMatchableAttrs);\n            var templateDirectiveMetas = this._parseDirectives(this.selectorMatcher, templateCssSelector).directives;\n            var /** @type {?} */ templateDirectiveAsts = this._createDirectiveAsts(true, element.name, templateDirectiveMetas, templateElementOrDirectiveProps, [], element.sourceSpan, []);\n            var /** @type {?} */ templateElementProps = this._createElementPropertyAsts(element.name, templateElementOrDirectiveProps, templateDirectiveAsts);\n            this._assertNoComponentsNorElementBindingsOnTemplate(templateDirectiveAsts, templateElementProps, element.sourceSpan);\n            var /** @type {?} */ templateProviderContext = new ProviderElementContext(this.providerViewContext, parent.providerContext, parent.isTemplateElement, templateDirectiveAsts, [], [], element.sourceSpan);\n            templateProviderContext.afterElement();\n            parsedElement = new EmbeddedTemplateAst([], [], [], templateElementVars, templateProviderContext.transformedDirectiveAsts, templateProviderContext.transformProviders, templateProviderContext.transformedHasViewContainer, [parsedElement], ngContentIndex, element.sourceSpan);\n        }\n        return parsedElement;\n    };\n    /**\n     * @param {?} inputs\n     * @param {?} outputs\n     * @param {?} template\n     * @return {?}\n     */\n    TemplateParseVisitor.prototype._validateElementAnimationInputOutputs = function (inputs, outputs, template) {\n        var _this = this;\n        var /** @type {?} */ triggerLookup = new Set();\n        template.animations.forEach(function (entry) { triggerLookup.add(entry); });\n        var /** @type {?} */ animationInputs = inputs.filter(function (input) { return input.isAnimation; });\n        animationInputs.forEach(function (input) {\n            var /** @type {?} */ name = input.name;\n            if (!triggerLookup.has(name)) {\n                _this._reportError(\"Couldn't find an animation entry for \\\"\" + name + \"\\\"\", input.sourceSpan);\n            }\n        });\n        outputs.forEach(function (output) {\n            if (output.isAnimation) {\n                var /** @type {?} */ found = animationInputs.find(function (input) { return input.name == output.name; });\n                if (!found) {\n                    _this._reportError(\"Unable to listen on (@\" + output.name + \".\" + output.phase + \") because the animation trigger [@\" + output.name + \"] isn't being used on the same element\", output.sourceSpan);\n                }\n            }\n        });\n    };\n    /**\n     * @param {?} isTemplateElement\n     * @param {?} attr\n     * @param {?} targetMatchableAttrs\n     * @param {?} targetProps\n     * @param {?} targetEvents\n     * @param {?} targetRefs\n     * @param {?} targetVars\n     * @return {?}\n     */\n    TemplateParseVisitor.prototype._parseAttr = function (isTemplateElement, attr, targetMatchableAttrs, targetProps, targetEvents, targetRefs, targetVars) {\n        var /** @type {?} */ name = this._normalizeAttributeName(attr.name);\n        var /** @type {?} */ value = attr.value;\n        var /** @type {?} */ srcSpan = attr.sourceSpan;\n        var /** @type {?} */ bindParts = name.match(BIND_NAME_REGEXP);\n        var /** @type {?} */ hasBinding = false;\n        if (bindParts !== null) {\n            hasBinding = true;\n            if (isPresent(bindParts[KW_BIND_IDX])) {\n                this._bindingParser.parsePropertyBinding(bindParts[IDENT_KW_IDX], value, false, srcSpan, targetMatchableAttrs, targetProps);\n            }\n            else if (bindParts[KW_LET_IDX]) {\n                if (isTemplateElement) {\n                    var /** @type {?} */ identifier = bindParts[IDENT_KW_IDX];\n                    this._parseVariable(identifier, value, srcSpan, targetVars);\n                }\n                else {\n                    this._reportError(\"\\\"let-\\\" is only supported on template elements.\", srcSpan);\n                }\n            }\n            else if (bindParts[KW_REF_IDX]) {\n                var /** @type {?} */ identifier = bindParts[IDENT_KW_IDX];\n                this._parseReference(identifier, value, srcSpan, targetRefs);\n            }\n            else if (bindParts[KW_ON_IDX]) {\n                this._bindingParser.parseEvent(bindParts[IDENT_KW_IDX], value, srcSpan, targetMatchableAttrs, targetEvents);\n            }\n            else if (bindParts[KW_BINDON_IDX]) {\n                this._bindingParser.parsePropertyBinding(bindParts[IDENT_KW_IDX], value, false, srcSpan, targetMatchableAttrs, targetProps);\n                this._parseAssignmentEvent(bindParts[IDENT_KW_IDX], value, srcSpan, targetMatchableAttrs, targetEvents);\n            }\n            else if (bindParts[KW_AT_IDX]) {\n                this._bindingParser.parseLiteralAttr(name, value, srcSpan, targetMatchableAttrs, targetProps);\n            }\n            else if (bindParts[IDENT_BANANA_BOX_IDX]) {\n                this._bindingParser.parsePropertyBinding(bindParts[IDENT_BANANA_BOX_IDX], value, false, srcSpan, targetMatchableAttrs, targetProps);\n                this._parseAssignmentEvent(bindParts[IDENT_BANANA_BOX_IDX], value, srcSpan, targetMatchableAttrs, targetEvents);\n            }\n            else if (bindParts[IDENT_PROPERTY_IDX]) {\n                this._bindingParser.parsePropertyBinding(bindParts[IDENT_PROPERTY_IDX], value, false, srcSpan, targetMatchableAttrs, targetProps);\n            }\n            else if (bindParts[IDENT_EVENT_IDX]) {\n                this._bindingParser.parseEvent(bindParts[IDENT_EVENT_IDX], value, srcSpan, targetMatchableAttrs, targetEvents);\n            }\n        }\n        else {\n            hasBinding = this._bindingParser.parsePropertyInterpolation(name, value, srcSpan, targetMatchableAttrs, targetProps);\n        }\n        if (!hasBinding) {\n            this._bindingParser.parseLiteralAttr(name, value, srcSpan, targetMatchableAttrs, targetProps);\n        }\n        return hasBinding;\n    };\n    /**\n     * @param {?} attrName\n     * @return {?}\n     */\n    TemplateParseVisitor.prototype._normalizeAttributeName = function (attrName) {\n        return /^data-/i.test(attrName) ? attrName.substring(5) : attrName;\n    };\n    /**\n     * @param {?} identifier\n     * @param {?} value\n     * @param {?} sourceSpan\n     * @param {?} targetVars\n     * @return {?}\n     */\n    TemplateParseVisitor.prototype._parseVariable = function (identifier, value, sourceSpan, targetVars) {\n        if (identifier.indexOf('-') > -1) {\n            this._reportError(\"\\\"-\\\" is not allowed in variable names\", sourceSpan);\n        }\n        targetVars.push(new VariableAst(identifier, value, sourceSpan));\n    };\n    /**\n     * @param {?} identifier\n     * @param {?} value\n     * @param {?} sourceSpan\n     * @param {?} targetRefs\n     * @return {?}\n     */\n    TemplateParseVisitor.prototype._parseReference = function (identifier, value, sourceSpan, targetRefs) {\n        if (identifier.indexOf('-') > -1) {\n            this._reportError(\"\\\"-\\\" is not allowed in reference names\", sourceSpan);\n        }\n        targetRefs.push(new ElementOrDirectiveRef(identifier, value, sourceSpan));\n    };\n    /**\n     * @param {?} name\n     * @param {?} expression\n     * @param {?} sourceSpan\n     * @param {?} targetMatchableAttrs\n     * @param {?} targetEvents\n     * @return {?}\n     */\n    TemplateParseVisitor.prototype._parseAssignmentEvent = function (name, expression, sourceSpan, targetMatchableAttrs, targetEvents) {\n        this._bindingParser.parseEvent(name + \"Change\", expression + \"=$event\", sourceSpan, targetMatchableAttrs, targetEvents);\n    };\n    /**\n     * @param {?} selectorMatcher\n     * @param {?} elementCssSelector\n     * @return {?}\n     */\n    TemplateParseVisitor.prototype._parseDirectives = function (selectorMatcher, elementCssSelector) {\n        var _this = this;\n        // Need to sort the directives so that we get consistent results throughout,\n        // as selectorMatcher uses Maps inside.\n        // Also deduplicate directives as they might match more than one time!\n        var /** @type {?} */ directives = new Array(this.directivesIndex.size);\n        // Whether any directive selector matches on the element name\n        var /** @type {?} */ matchElement = false;\n        selectorMatcher.match(elementCssSelector, function (selector, directive) {\n            directives[_this.directivesIndex.get(directive)] = directive;\n            matchElement = matchElement || selector.hasElementSelector();\n        });\n        return {\n            directives: directives.filter(function (dir) { return !!dir; }),\n            matchElement: matchElement,\n        };\n    };\n    /**\n     * @param {?} isTemplateElement\n     * @param {?} elementName\n     * @param {?} directives\n     * @param {?} props\n     * @param {?} elementOrDirectiveRefs\n     * @param {?} elementSourceSpan\n     * @param {?} targetReferences\n     * @return {?}\n     */\n    TemplateParseVisitor.prototype._createDirectiveAsts = function (isTemplateElement, elementName, directives, props, elementOrDirectiveRefs, elementSourceSpan, targetReferences) {\n        var _this = this;\n        var /** @type {?} */ matchedReferences = new Set();\n        var /** @type {?} */ component = null;\n        var /** @type {?} */ directiveAsts = directives.map(function (directive) {\n            var /** @type {?} */ sourceSpan = new ParseSourceSpan(elementSourceSpan.start, elementSourceSpan.end, \"Directive \" + identifierName(directive.type));\n            if (directive.isComponent) {\n                component = directive;\n            }\n            var /** @type {?} */ directiveProperties = [];\n            var /** @type {?} */ hostProperties = _this._bindingParser.createDirectiveHostPropertyAsts(directive, sourceSpan);\n            // Note: We need to check the host properties here as well,\n            // as we don't know the element name in the DirectiveWrapperCompiler yet.\n            _this._checkPropertiesInSchema(elementName, hostProperties);\n            var /** @type {?} */ hostEvents = _this._bindingParser.createDirectiveHostEventAsts(directive, sourceSpan);\n            _this._createDirectivePropertyAsts(directive.inputs, props, directiveProperties);\n            elementOrDirectiveRefs.forEach(function (elOrDirRef) {\n                if ((elOrDirRef.value.length === 0 && directive.isComponent) ||\n                    (directive.exportAs == elOrDirRef.value)) {\n                    targetReferences.push(new ReferenceAst(elOrDirRef.name, identifierToken(directive.type), elOrDirRef.sourceSpan));\n                    matchedReferences.add(elOrDirRef.name);\n                }\n            });\n            return new DirectiveAst(directive, directiveProperties, hostProperties, hostEvents, sourceSpan);\n        });\n        elementOrDirectiveRefs.forEach(function (elOrDirRef) {\n            if (elOrDirRef.value.length > 0) {\n                if (!matchedReferences.has(elOrDirRef.name)) {\n                    _this._reportError(\"There is no directive with \\\"exportAs\\\" set to \\\"\" + elOrDirRef.value + \"\\\"\", elOrDirRef.sourceSpan);\n                }\n            }\n            else if (!component) {\n                var /** @type {?} */ refToken = null;\n                if (isTemplateElement) {\n                    refToken = createIdentifierToken(Identifiers.TemplateRef);\n                }\n                targetReferences.push(new ReferenceAst(elOrDirRef.name, refToken, elOrDirRef.sourceSpan));\n            }\n        });\n        return directiveAsts;\n    };\n    /**\n     * @param {?} directiveProperties\n     * @param {?} boundProps\n     * @param {?} targetBoundDirectiveProps\n     * @return {?}\n     */\n    TemplateParseVisitor.prototype._createDirectivePropertyAsts = function (directiveProperties, boundProps, targetBoundDirectiveProps) {\n        if (directiveProperties) {\n            var /** @type {?} */ boundPropsByName_1 = new Map();\n            boundProps.forEach(function (boundProp) {\n                var /** @type {?} */ prevValue = boundPropsByName_1.get(boundProp.name);\n                if (!prevValue || prevValue.isLiteral) {\n                    // give [a]=\"b\" a higher precedence than a=\"b\" on the same element\n                    boundPropsByName_1.set(boundProp.name, boundProp);\n                }\n            });\n            Object.keys(directiveProperties).forEach(function (dirProp) {\n                var /** @type {?} */ elProp = directiveProperties[dirProp];\n                var /** @type {?} */ boundProp = boundPropsByName_1.get(elProp);\n                // Bindings are optional, so this binding only needs to be set up if an expression is given.\n                if (boundProp) {\n                    targetBoundDirectiveProps.push(new BoundDirectivePropertyAst(dirProp, boundProp.name, boundProp.expression, boundProp.sourceSpan));\n                }\n            });\n        }\n    };\n    /**\n     * @param {?} elementName\n     * @param {?} props\n     * @param {?} directives\n     * @return {?}\n     */\n    TemplateParseVisitor.prototype._createElementPropertyAsts = function (elementName, props, directives) {\n        var _this = this;\n        var /** @type {?} */ boundElementProps = [];\n        var /** @type {?} */ boundDirectivePropsIndex = new Map();\n        directives.forEach(function (directive) {\n            directive.inputs.forEach(function (prop) {\n                boundDirectivePropsIndex.set(prop.templateName, prop);\n            });\n        });\n        props.forEach(function (prop) {\n            if (!prop.isLiteral && !boundDirectivePropsIndex.get(prop.name)) {\n                boundElementProps.push(_this._bindingParser.createElementPropertyAst(elementName, prop));\n            }\n        });\n        this._checkPropertiesInSchema(elementName, boundElementProps);\n        return boundElementProps;\n    };\n    /**\n     * @param {?} directives\n     * @return {?}\n     */\n    TemplateParseVisitor.prototype._findComponentDirectives = function (directives) {\n        return directives.filter(function (directive) { return directive.directive.isComponent; });\n    };\n    /**\n     * @param {?} directives\n     * @return {?}\n     */\n    TemplateParseVisitor.prototype._findComponentDirectiveNames = function (directives) {\n        return this._findComponentDirectives(directives)\n            .map(function (directive) { return identifierName(directive.directive.type); });\n    };\n    /**\n     * @param {?} directives\n     * @param {?} sourceSpan\n     * @return {?}\n     */\n    TemplateParseVisitor.prototype._assertOnlyOneComponent = function (directives, sourceSpan) {\n        var /** @type {?} */ componentTypeNames = this._findComponentDirectiveNames(directives);\n        if (componentTypeNames.length > 1) {\n            this._reportError(\"More than one component matched on this element.\\n\" +\n                \"Make sure that only one component's selector can match a given element.\\n\" +\n                (\"Conflicting components: \" + componentTypeNames.join(',')), sourceSpan);\n        }\n    };\n    /**\n     * Make sure that non-angular tags conform to the schemas.\n     *\n     * Note: An element is considered an angular tag when at least one directive selector matches the\n     * tag name.\n     *\n     * @param {?} matchElement Whether any directive has matched on the tag name\n     * @param {?} element the html element\n     * @return {?}\n     */\n    TemplateParseVisitor.prototype._assertElementExists = function (matchElement, element) {\n        var /** @type {?} */ elName = element.name.replace(/^:xhtml:/, '');\n        if (!matchElement && !this._schemaRegistry.hasElement(elName, this._schemas)) {\n            var /** @type {?} */ errorMsg = (\"'\" + elName + \"' is not a known element:\\n\") +\n                (\"1. If '\" + elName + \"' is an Angular component, then verify that it is part of this module.\\n\") +\n                (\"2. If '\" + elName + \"' is a Web Component then add \\\"CUSTOM_ELEMENTS_SCHEMA\\\" to the '@NgModule.schemas' of this component to suppress this message.\");\n            this._reportError(errorMsg, element.sourceSpan);\n        }\n    };\n    /**\n     * @param {?} directives\n     * @param {?} elementProps\n     * @param {?} sourceSpan\n     * @return {?}\n     */\n    TemplateParseVisitor.prototype._assertNoComponentsNorElementBindingsOnTemplate = function (directives, elementProps, sourceSpan) {\n        var _this = this;\n        var /** @type {?} */ componentTypeNames = this._findComponentDirectiveNames(directives);\n        if (componentTypeNames.length > 0) {\n            this._reportError(\"Components on an embedded template: \" + componentTypeNames.join(','), sourceSpan);\n        }\n        elementProps.forEach(function (prop) {\n            _this._reportError(\"Property binding \" + prop.name + \" not used by any directive on an embedded template. Make sure that the property name is spelled correctly and all directives are listed in the \\\"@NgModule.declarations\\\".\", sourceSpan);\n        });\n    };\n    /**\n     * @param {?} directives\n     * @param {?} events\n     * @return {?}\n     */\n    TemplateParseVisitor.prototype._assertAllEventsPublishedByDirectives = function (directives, events) {\n        var _this = this;\n        var /** @type {?} */ allDirectiveEvents = new Set();\n        directives.forEach(function (directive) {\n            Object.keys(directive.directive.outputs).forEach(function (k) {\n                var /** @type {?} */ eventName = directive.directive.outputs[k];\n                allDirectiveEvents.add(eventName);\n            });\n        });\n        events.forEach(function (event) {\n            if (isPresent(event.target) || !allDirectiveEvents.has(event.name)) {\n                _this._reportError(\"Event binding \" + event.fullName + \" not emitted by any directive on an embedded template. Make sure that the event name is spelled correctly and all directives are listed in the \\\"@NgModule.declarations\\\".\", event.sourceSpan);\n            }\n        });\n    };\n    /**\n     * @param {?} elementName\n     * @param {?} boundProps\n     * @return {?}\n     */\n    TemplateParseVisitor.prototype._checkPropertiesInSchema = function (elementName, boundProps) {\n        var _this = this;\n        boundProps.forEach(function (boundProp) {\n            if (boundProp.type === PropertyBindingType.Property &&\n                !_this._schemaRegistry.hasProperty(elementName, boundProp.name, _this._schemas)) {\n                var /** @type {?} */ errorMsg = \"Can't bind to '\" + boundProp.name + \"' since it isn't a known property of '\" + elementName + \"'.\";\n                if (elementName.indexOf('-') > -1) {\n                    errorMsg +=\n                        (\"\\n1. If '\" + elementName + \"' is an Angular component and it has '\" + boundProp.name + \"' input, then verify that it is part of this module.\") +\n                            (\"\\n2. If '\" + elementName + \"' is a Web Component then add \\\"CUSTOM_ELEMENTS_SCHEMA\\\" to the '@NgModule.schemas' of this component to suppress this message.\\n\");\n                }\n                _this._reportError(errorMsg, boundProp.sourceSpan);\n            }\n        });\n    };\n    /**\n     * @param {?} message\n     * @param {?} sourceSpan\n     * @param {?=} level\n     * @return {?}\n     */\n    TemplateParseVisitor.prototype._reportError = function (message, sourceSpan, level) {\n        if (level === void 0) { level = ParseErrorLevel.FATAL; }\n        this._targetErrors.push(new ParseError(sourceSpan, message, level));\n    };\n    return TemplateParseVisitor;\n}());\nfunction TemplateParseVisitor_tsickle_Closure_declarations() {\n    /** @type {?} */\n    TemplateParseVisitor.prototype.selectorMatcher;\n    /** @type {?} */\n    TemplateParseVisitor.prototype.directivesIndex;\n    /** @type {?} */\n    TemplateParseVisitor.prototype.ngContentCount;\n    /** @type {?} */\n    TemplateParseVisitor.prototype.providerViewContext;\n    /** @type {?} */\n    TemplateParseVisitor.prototype._bindingParser;\n    /** @type {?} */\n    TemplateParseVisitor.prototype._schemaRegistry;\n    /** @type {?} */\n    TemplateParseVisitor.prototype._schemas;\n    /** @type {?} */\n    TemplateParseVisitor.prototype._targetErrors;\n}\nvar NonBindableVisitor = (function () {\n    function NonBindableVisitor() {\n    }\n    /**\n     * @param {?} ast\n     * @param {?} parent\n     * @return {?}\n     */\n    NonBindableVisitor.prototype.visitElement = function (ast, parent) {\n        var /** @type {?} */ preparsedElement = preparseElement(ast);\n        if (preparsedElement.type === PreparsedElementType.SCRIPT ||\n            preparsedElement.type === PreparsedElementType.STYLE ||\n            preparsedElement.type === PreparsedElementType.STYLESHEET) {\n            // Skipping <script> for security reasons\n            // Skipping <style> and stylesheets as we already processed them\n            // in the StyleCompiler\n            return null;\n        }\n        var /** @type {?} */ attrNameAndValues = ast.attrs.map(function (attr) { return [attr.name, attr.value]; });\n        var /** @type {?} */ selector = createElementCssSelector(ast.name, attrNameAndValues);\n        var /** @type {?} */ ngContentIndex = parent.findNgContentIndex(selector);\n        var /** @type {?} */ children = html.visitAll(this, ast.children, EMPTY_ELEMENT_CONTEXT);\n        return new ElementAst(ast.name, html.visitAll(this, ast.attrs), [], [], [], [], [], false, children, ngContentIndex, ast.sourceSpan, ast.endSourceSpan);\n    };\n    /**\n     * @param {?} comment\n     * @param {?} context\n     * @return {?}\n     */\n    NonBindableVisitor.prototype.visitComment = function (comment, context) { return null; };\n    /**\n     * @param {?} attribute\n     * @param {?} context\n     * @return {?}\n     */\n    NonBindableVisitor.prototype.visitAttribute = function (attribute, context) {\n        return new AttrAst(attribute.name, attribute.value, attribute.sourceSpan);\n    };\n    /**\n     * @param {?} text\n     * @param {?} parent\n     * @return {?}\n     */\n    NonBindableVisitor.prototype.visitText = function (text, parent) {\n        var /** @type {?} */ ngContentIndex = parent.findNgContentIndex(TEXT_CSS_SELECTOR);\n        return new TextAst(text.value, ngContentIndex, text.sourceSpan);\n    };\n    /**\n     * @param {?} expansion\n     * @param {?} context\n     * @return {?}\n     */\n    NonBindableVisitor.prototype.visitExpansion = function (expansion, context) { return expansion; };\n    /**\n     * @param {?} expansionCase\n     * @param {?} context\n     * @return {?}\n     */\n    NonBindableVisitor.prototype.visitExpansionCase = function (expansionCase, context) { return expansionCase; };\n    return NonBindableVisitor;\n}());\nvar ElementOrDirectiveRef = (function () {\n    /**\n     * @param {?} name\n     * @param {?} value\n     * @param {?} sourceSpan\n     */\n    function ElementOrDirectiveRef(name, value, sourceSpan) {\n        this.name = name;\n        this.value = value;\n        this.sourceSpan = sourceSpan;\n    }\n    return ElementOrDirectiveRef;\n}());\nfunction ElementOrDirectiveRef_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ElementOrDirectiveRef.prototype.name;\n    /** @type {?} */\n    ElementOrDirectiveRef.prototype.value;\n    /** @type {?} */\n    ElementOrDirectiveRef.prototype.sourceSpan;\n}\n/**\n * @param {?} classAttrValue\n * @return {?}\n */\nexport function splitClasses(classAttrValue) {\n    return classAttrValue.trim().split(/\\s+/g);\n}\nvar ElementContext = (function () {\n    /**\n     * @param {?} isTemplateElement\n     * @param {?} _ngContentIndexMatcher\n     * @param {?} _wildcardNgContentIndex\n     * @param {?} providerContext\n     */\n    function ElementContext(isTemplateElement, _ngContentIndexMatcher, _wildcardNgContentIndex, providerContext) {\n        this.isTemplateElement = isTemplateElement;\n        this._ngContentIndexMatcher = _ngContentIndexMatcher;\n        this._wildcardNgContentIndex = _wildcardNgContentIndex;\n        this.providerContext = providerContext;\n    }\n    /**\n     * @param {?} isTemplateElement\n     * @param {?} directives\n     * @param {?} providerContext\n     * @return {?}\n     */\n    ElementContext.create = function (isTemplateElement, directives, providerContext) {\n        var /** @type {?} */ matcher = new SelectorMatcher();\n        var /** @type {?} */ wildcardNgContentIndex = null;\n        var /** @type {?} */ component = directives.find(function (directive) { return directive.directive.isComponent; });\n        if (component) {\n            var /** @type {?} */ ngContentSelectors = component.directive.template.ngContentSelectors;\n            for (var /** @type {?} */ i = 0; i < ngContentSelectors.length; i++) {\n                var /** @type {?} */ selector = ngContentSelectors[i];\n                if (selector === '*') {\n                    wildcardNgContentIndex = i;\n                }\n                else {\n                    matcher.addSelectables(CssSelector.parse(ngContentSelectors[i]), i);\n                }\n            }\n        }\n        return new ElementContext(isTemplateElement, matcher, wildcardNgContentIndex, providerContext);\n    };\n    /**\n     * @param {?} selector\n     * @return {?}\n     */\n    ElementContext.prototype.findNgContentIndex = function (selector) {\n        var /** @type {?} */ ngContentIndices = [];\n        this._ngContentIndexMatcher.match(selector, function (selector, ngContentIndex) { ngContentIndices.push(ngContentIndex); });\n        ngContentIndices.sort();\n        if (isPresent(this._wildcardNgContentIndex)) {\n            ngContentIndices.push(this._wildcardNgContentIndex);\n        }\n        return ngContentIndices.length > 0 ? ngContentIndices[0] : null;\n    };\n    return ElementContext;\n}());\nfunction ElementContext_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ElementContext.prototype.isTemplateElement;\n    /** @type {?} */\n    ElementContext.prototype._ngContentIndexMatcher;\n    /** @type {?} */\n    ElementContext.prototype._wildcardNgContentIndex;\n    /** @type {?} */\n    ElementContext.prototype.providerContext;\n}\n/**\n * @param {?} elementName\n * @param {?} attributes\n * @return {?}\n */\nexport function createElementCssSelector(elementName, attributes) {\n    var /** @type {?} */ cssSelector = new CssSelector();\n    var /** @type {?} */ elNameNoNs = splitNsName(elementName)[1];\n    cssSelector.setElement(elNameNoNs);\n    for (var /** @type {?} */ i = 0; i < attributes.length; i++) {\n        var /** @type {?} */ attrName = attributes[i][0];\n        var /** @type {?} */ attrNameNoNs = splitNsName(attrName)[1];\n        var /** @type {?} */ attrValue = attributes[i][1];\n        cssSelector.addAttribute(attrNameNoNs, attrValue);\n        if (attrName.toLowerCase() == CLASS_ATTR) {\n            var /** @type {?} */ classes = splitClasses(attrValue);\n            classes.forEach(function (className) { return cssSelector.addClassName(className); });\n        }\n    }\n    return cssSelector;\n}\nvar /** @type {?} */ EMPTY_ELEMENT_CONTEXT = new ElementContext(true, new SelectorMatcher(), null, null);\nvar /** @type {?} */ NON_BINDABLE_VISITOR = new NonBindableVisitor();\n/**\n * @param {?} node\n * @return {?}\n */\nfunction _isEmptyTextNode(node) {\n    return node instanceof html.Text && node.value.trim().length == 0;\n}\n/**\n * @param {?} items\n * @return {?}\n */\nexport function removeSummaryDuplicates(items) {\n    var /** @type {?} */ map = new Map();\n    items.forEach(function (item) {\n        if (!map.get(item.type.reference)) {\n            map.set(item.type.reference, item);\n        }\n    });\n    return Array.from(map.values());\n}\n//# sourceMappingURL=template_parser.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/template_parser/template_parser.js\n// module id = 148\n// module chunks = 0","/**\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 */\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nimport { CompilerConfig } from '../config';\nimport { CompilerInjectable } from '../injectable';\nimport { ElementSchemaRegistry } from '../schema/element_schema_registry';\nimport { CompileElement } from './compile_element';\nimport { CompileView } from './compile_view';\nimport { bindView } from './view_binder';\nimport { buildView, finishView } from './view_builder';\nexport { ComponentFactoryDependency, DirectiveWrapperDependency, ViewClassDependency } from './deps';\nexport var ViewCompileResult = (function () {\n    /**\n     * @param {?} statements\n     * @param {?} viewClassVar\n     * @param {?} dependencies\n     */\n    function ViewCompileResult(statements, viewClassVar, dependencies) {\n        this.statements = statements;\n        this.viewClassVar = viewClassVar;\n        this.dependencies = dependencies;\n    }\n    return ViewCompileResult;\n}());\nfunction ViewCompileResult_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ViewCompileResult.prototype.statements;\n    /** @type {?} */\n    ViewCompileResult.prototype.viewClassVar;\n    /** @type {?} */\n    ViewCompileResult.prototype.dependencies;\n}\nexport var ViewCompiler = (function () {\n    /**\n     * @param {?} _genConfig\n     * @param {?} _schemaRegistry\n     */\n    function ViewCompiler(_genConfig, _schemaRegistry) {\n        this._genConfig = _genConfig;\n        this._schemaRegistry = _schemaRegistry;\n    }\n    /**\n     * @param {?} component\n     * @param {?} template\n     * @param {?} styles\n     * @param {?} pipes\n     * @param {?} compiledAnimations\n     * @return {?}\n     */\n    ViewCompiler.prototype.compileComponent = function (component, template, styles, pipes, compiledAnimations) {\n        var /** @type {?} */ dependencies = [];\n        var /** @type {?} */ view = new CompileView(component, this._genConfig, pipes, styles, compiledAnimations, 0, CompileElement.createNull(), [], dependencies);\n        var /** @type {?} */ statements = [];\n        buildView(view, template, dependencies);\n        // Need to separate binding from creation to be able to refer to\n        // variables that have been declared after usage.\n        bindView(view, template, this._schemaRegistry);\n        finishView(view, statements);\n        return new ViewCompileResult(statements, view.classExpr.name, dependencies);\n    };\n    ViewCompiler = __decorate([\n        CompilerInjectable(), \n        __metadata('design:paramtypes', [CompilerConfig, ElementSchemaRegistry])\n    ], ViewCompiler);\n    return ViewCompiler;\n}());\nfunction ViewCompiler_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ViewCompiler.prototype._genConfig;\n    /** @type {?} */\n    ViewCompiler.prototype._schemaRegistry;\n}\n//# sourceMappingURL=view_compiler.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/view_compiler/view_compiler.js\n// module id = 149\n// module chunks = 0","/**\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 */\nimport { stringify } from '../facade/lang';\nvar /** @type {?} */ _THROW_IF_NOT_FOUND = new Object();\nexport var /** @type {?} */ THROW_IF_NOT_FOUND = _THROW_IF_NOT_FOUND;\nvar _NullInjector = (function () {\n    function _NullInjector() {\n    }\n    /**\n     * @param {?} token\n     * @param {?=} notFoundValue\n     * @return {?}\n     */\n    _NullInjector.prototype.get = function (token, notFoundValue) {\n        if (notFoundValue === void 0) { notFoundValue = _THROW_IF_NOT_FOUND; }\n        if (notFoundValue === _THROW_IF_NOT_FOUND) {\n            throw new Error(\"No provider for \" + stringify(token) + \"!\");\n        }\n        return notFoundValue;\n    };\n    return _NullInjector;\n}());\n/**\n * \\@whatItDoes Injector interface\n * \\@howToUse\n * ```\n * const injector: Injector = ...;\n * injector.get(...);\n * ```\n *\n * \\@description\n * For more details, see the {\\@linkDocs guide/dependency-injection \"Dependency Injection Guide\"}.\n *\n * ### Example\n *\n * {\\@example core/di/ts/injector_spec.ts region='Injector'}\n *\n * `Injector` returns itself when given `Injector` as a token:\n * {\\@example core/di/ts/injector_spec.ts region='injectInjector'}\n *\n * \\@stable\n * @abstract\n */\nexport var Injector = (function () {\n    function Injector() {\n    }\n    /**\n     * Retrieves an instance from the injector based on the provided token.\n     * If not found:\n     * - Throws {\\@link NoProviderError} if no `notFoundValue` that is not equal to\n     * Injector.THROW_IF_NOT_FOUND is given\n     * - Returns the `notFoundValue` otherwise\n     * @abstract\n     * @param {?} token\n     * @param {?=} notFoundValue\n     * @return {?}\n     */\n    Injector.prototype.get = function (token, notFoundValue) { };\n    Injector.THROW_IF_NOT_FOUND = _THROW_IF_NOT_FOUND;\n    Injector.NULL = new _NullInjector();\n    return Injector;\n}());\nfunction Injector_tsickle_Closure_declarations() {\n    /** @type {?} */\n    Injector.THROW_IF_NOT_FOUND;\n    /** @type {?} */\n    Injector.NULL;\n}\n//# sourceMappingURL=injector.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/di/injector.js\n// module id = 150\n// module chunks = 0","/**\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 */\nimport { getSymbolIterator, isJsObject } from './lang';\n/**\n * Wraps Javascript Objects\n */\nexport var StringMapWrapper = (function () {\n    function StringMapWrapper() {\n    }\n    /**\n     * @param {?} m1\n     * @param {?} m2\n     * @return {?}\n     */\n    StringMapWrapper.merge = function (m1, m2) {\n        var /** @type {?} */ 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    /**\n     * @param {?} m1\n     * @param {?} m2\n     * @return {?}\n     */\n    StringMapWrapper.equals = function (m1, m2) {\n        var /** @type {?} */ k1 = Object.keys(m1);\n        var /** @type {?} */ k2 = Object.keys(m2);\n        if (k1.length != k2.length) {\n            return false;\n        }\n        for (var /** @type {?} */ i = 0; i < k1.length; i++) {\n            var /** @type {?} */ key = k1[i];\n            if (m1[key] !== m2[key]) {\n                return false;\n            }\n        }\n        return true;\n    };\n    return StringMapWrapper;\n}());\nexport var ListWrapper = (function () {\n    function ListWrapper() {\n    }\n    /**\n     * @param {?} arr\n     * @param {?} condition\n     * @return {?}\n     */\n    ListWrapper.findLast = function (arr, condition) {\n        for (var /** @type {?} */ i = arr.length - 1; i >= 0; i--) {\n            if (condition(arr[i])) {\n                return arr[i];\n            }\n        }\n        return null;\n    };\n    /**\n     * @param {?} list\n     * @param {?} items\n     * @return {?}\n     */\n    ListWrapper.removeAll = function (list, items) {\n        for (var /** @type {?} */ i = 0; i < items.length; ++i) {\n            var /** @type {?} */ index = list.indexOf(items[i]);\n            if (index > -1) {\n                list.splice(index, 1);\n            }\n        }\n    };\n    /**\n     * @param {?} list\n     * @param {?} el\n     * @return {?}\n     */\n    ListWrapper.remove = function (list, el) {\n        var /** @type {?} */ index = list.indexOf(el);\n        if (index > -1) {\n            list.splice(index, 1);\n            return true;\n        }\n        return false;\n    };\n    /**\n     * @param {?} a\n     * @param {?} b\n     * @return {?}\n     */\n    ListWrapper.equals = function (a, b) {\n        if (a.length != b.length)\n            return false;\n        for (var /** @type {?} */ i = 0; i < a.length; ++i) {\n            if (a[i] !== b[i])\n                return false;\n        }\n        return true;\n    };\n    /**\n     * @param {?} list\n     * @return {?}\n     */\n    ListWrapper.flatten = function (list) {\n        return list.reduce(function (flat, item) {\n            var /** @type {?} */ flatItem = Array.isArray(item) ? ListWrapper.flatten(item) : item;\n            return ((flat)).concat(flatItem);\n        }, []);\n    };\n    return ListWrapper;\n}());\n/**\n * @param {?} obj\n * @return {?}\n */\nexport function isListLikeIterable(obj) {\n    if (!isJsObject(obj))\n        return false;\n    return Array.isArray(obj) ||\n        (!(obj instanceof Map) &&\n            getSymbolIterator() in obj); // JS Iterable have a Symbol.iterator prop\n}\n/**\n * @param {?} a\n * @param {?} b\n * @param {?} comparator\n * @return {?}\n */\nexport function areIterablesEqual(a, b, comparator) {\n    var /** @type {?} */ iterator1 = a[getSymbolIterator()]();\n    var /** @type {?} */ iterator2 = b[getSymbolIterator()]();\n    while (true) {\n        var /** @type {?} */ item1 = iterator1.next();\n        var /** @type {?} */ item2 = iterator2.next();\n        if (item1.done && item2.done)\n            return true;\n        if (item1.done || item2.done)\n            return false;\n        if (!comparator(item1.value, item2.value))\n            return false;\n    }\n}\n/**\n * @param {?} obj\n * @param {?} fn\n * @return {?}\n */\nexport function iterateListLike(obj, fn) {\n    if (Array.isArray(obj)) {\n        for (var /** @type {?} */ i = 0; i < obj.length; i++) {\n            fn(obj[i]);\n        }\n    }\n    else {\n        var /** @type {?} */ iterator = obj[getSymbolIterator()]();\n        var /** @type {?} */ item = void 0;\n        while (!((item = iterator.next()).done)) {\n            fn(item.value);\n        }\n    }\n}\n//# sourceMappingURL=collection.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/facade/collection.js\n// module id = 151\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { Injectable, OpaqueToken } from '../di';\nimport { BaseError } from '../facade/errors';\nimport { stringify } from '../facade/lang';\n/**\n * Indicates that a component is still being loaded in a synchronous compile.\n *\n * \\@stable\n */\nexport var ComponentStillLoadingError = (function (_super) {\n    __extends(ComponentStillLoadingError, _super);\n    /**\n     * @param {?} compType\n     */\n    function ComponentStillLoadingError(compType) {\n        _super.call(this, \"Can't compile synchronously as \" + stringify(compType) + \" is still being loaded!\");\n        this.compType = compType;\n    }\n    return ComponentStillLoadingError;\n}(BaseError));\nfunction ComponentStillLoadingError_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ComponentStillLoadingError.prototype.compType;\n}\n/**\n * Combination of NgModuleFactory and ComponentFactorys.\n *\n * \\@experimental\n */\nexport var ModuleWithComponentFactories = (function () {\n    /**\n     * @param {?} ngModuleFactory\n     * @param {?} componentFactories\n     */\n    function ModuleWithComponentFactories(ngModuleFactory, componentFactories) {\n        this.ngModuleFactory = ngModuleFactory;\n        this.componentFactories = componentFactories;\n    }\n    return ModuleWithComponentFactories;\n}());\nfunction ModuleWithComponentFactories_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ModuleWithComponentFactories.prototype.ngModuleFactory;\n    /** @type {?} */\n    ModuleWithComponentFactories.prototype.componentFactories;\n}\n/**\n * @return {?}\n */\nfunction _throwError() {\n    throw new Error(\"Runtime compiler is not loaded\");\n}\n/**\n * Low-level service for running the angular compiler during runtime\n * to create {\\@link ComponentFactory}s, which\n * can later be used to create and render a Component instance.\n *\n * Each `\\@NgModule` provides an own `Compiler` to its injector,\n * that will use the directives/pipes of the ng module for compilation\n * of components.\n * \\@stable\n */\nexport var Compiler = (function () {\n    function Compiler() {\n    }\n    /**\n     * Compiles the given NgModule and all of its components. All templates of the components listed\n     * in `entryComponents`\n     * have to be inlined. Otherwise throws a {\\@link ComponentStillLoadingError}.\n     * @param {?} moduleType\n     * @return {?}\n     */\n    Compiler.prototype.compileModuleSync = function (moduleType) { throw _throwError(); };\n    /**\n     * Compiles the given NgModule and all of its components\n     * @param {?} moduleType\n     * @return {?}\n     */\n    Compiler.prototype.compileModuleAsync = function (moduleType) { throw _throwError(); };\n    /**\n     * Same as {\\@link compileModuleSync} but also creates ComponentFactories for all components.\n     * @param {?} moduleType\n     * @return {?}\n     */\n    Compiler.prototype.compileModuleAndAllComponentsSync = function (moduleType) {\n        throw _throwError();\n    };\n    /**\n     * Same as {\\@link compileModuleAsync} but also creates ComponentFactories for all components.\n     * @param {?} moduleType\n     * @return {?}\n     */\n    Compiler.prototype.compileModuleAndAllComponentsAsync = function (moduleType) {\n        throw _throwError();\n    };\n    /**\n     * Exposes the CSS-style selectors that have been used in `ngContent` directives within\n     * the template of the given component.\n     * This is used by the `upgrade` library to compile the appropriate transclude content\n     * in the Angular 1 wrapper component.\n     * @param {?} component\n     * @return {?}\n     */\n    Compiler.prototype.getNgContentSelectors = function (component) { throw _throwError(); };\n    /**\n     * Clears all caches.\n     * @return {?}\n     */\n    Compiler.prototype.clearCache = function () { };\n    /**\n     * Clears the cache for the given component/ngModule.\n     * @param {?} type\n     * @return {?}\n     */\n    Compiler.prototype.clearCacheFor = function (type) { };\n    Compiler.decorators = [\n        { type: Injectable },\n    ];\n    /** @nocollapse */\n    Compiler.ctorParameters = function () { return []; };\n    return Compiler;\n}());\nfunction Compiler_tsickle_Closure_declarations() {\n    /** @type {?} */\n    Compiler.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    Compiler.ctorParameters;\n}\n/**\n * Token to provide CompilerOptions in the platform injector.\n *\n * @experimental\n */\nexport var /** @type {?} */ COMPILER_OPTIONS = new OpaqueToken('compilerOptions');\n/**\n * A factory for creating a Compiler\n *\n * \\@experimental\n * @abstract\n */\nexport var CompilerFactory = (function () {\n    function CompilerFactory() {\n    }\n    /**\n     * @abstract\n     * @param {?=} options\n     * @return {?}\n     */\n    CompilerFactory.prototype.createCompiler = function (options) { };\n    return CompilerFactory;\n}());\n//# sourceMappingURL=compiler.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/linker/compiler.js\n// module id = 152\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { ControlContainer } from './control_container';\nimport { composeAsyncValidators, composeValidators, controlPath } from './shared';\n/**\n * This is a base class for code shared between {\\@link NgModelGroup} and {\\@link FormGroupName}.\n *\n * \\@stable\n */\nexport var AbstractFormGroupDirective = (function (_super) {\n    __extends(AbstractFormGroupDirective, _super);\n    function AbstractFormGroupDirective() {\n        _super.apply(this, arguments);\n    }\n    /**\n     * @return {?}\n     */\n    AbstractFormGroupDirective.prototype.ngOnInit = function () {\n        this._checkParentType();\n        this.formDirective.addFormGroup(this);\n    };\n    /**\n     * @return {?}\n     */\n    AbstractFormGroupDirective.prototype.ngOnDestroy = function () {\n        if (this.formDirective) {\n            this.formDirective.removeFormGroup(this);\n        }\n    };\n    Object.defineProperty(AbstractFormGroupDirective.prototype, \"control\", {\n        /**\n         * Get the {\\@link FormGroup} backing this binding.\n         * @return {?}\n         */\n        get: function () { return this.formDirective.getFormGroup(this); },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractFormGroupDirective.prototype, \"path\", {\n        /**\n         * Get the path to this control group.\n         * @return {?}\n         */\n        get: function () { return controlPath(this.name, this._parent); },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractFormGroupDirective.prototype, \"formDirective\", {\n        /**\n         * Get the {\\@link Form} to which this group belongs.\n         * @return {?}\n         */\n        get: function () { return this._parent ? this._parent.formDirective : null; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractFormGroupDirective.prototype, \"validator\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return composeValidators(this._validators); },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractFormGroupDirective.prototype, \"asyncValidator\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return composeAsyncValidators(this._asyncValidators); },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * \\@internal\n     * @return {?}\n     */\n    AbstractFormGroupDirective.prototype._checkParentType = function () { };\n    return AbstractFormGroupDirective;\n}(ControlContainer));\nfunction AbstractFormGroupDirective_tsickle_Closure_declarations() {\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    AbstractFormGroupDirective.prototype._parent;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    AbstractFormGroupDirective.prototype._validators;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    AbstractFormGroupDirective.prototype._asyncValidators;\n}\n//# sourceMappingURL=abstract_form_group_directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/forms/src/directives/abstract_form_group_directive.js\n// module id = 153\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { Directive, Inject, Optional, Self, forwardRef } from '@angular/core';\nimport { EventEmitter } from '../facade/async';\nimport { FormGroup } from '../model';\nimport { NG_ASYNC_VALIDATORS, NG_VALIDATORS } from '../validators';\nimport { ControlContainer } from './control_container';\nimport { composeAsyncValidators, composeValidators, setUpControl, setUpFormContainer } from './shared';\nexport var /** @type {?} */ formDirectiveProvider = {\n    provide: ControlContainer,\n    useExisting: forwardRef(function () { return NgForm; })\n};\nvar /** @type {?} */ resolvedPromise = Promise.resolve(null);\n/**\n * \\@whatItDoes Creates a top-level {\\@link FormGroup} instance and binds it to a form\n * to track aggregate form value and validation status.\n *\n * \\@howToUse\n *\n * As soon as you import the `FormsModule`, this directive becomes active by default on\n * all `<form>` tags.  You don't need to add a special selector.\n *\n * You can export the directive into a local template variable using `ngForm` as the key\n * (ex: `#myForm=\"ngForm\"`). This is optional, but useful.  Many properties from the underlying\n * {\\@link FormGroup} instance are duplicated on the directive itself, so a reference to it\n * will give you access to the aggregate value and validity status of the form, as well as\n * user interaction properties like `dirty` and `touched`.\n *\n * To register child controls with the form, you'll want to use {\\@link NgModel} with a\n * `name` attribute.  You can also use {\\@link NgModelGroup} if you'd like to create\n * sub-groups within the form.\n *\n * You can listen to the directive's `ngSubmit` event to be notified when the user has\n * triggered a form submission. The `ngSubmit` event will be emitted with the original form\n * submission event.\n *\n * {\\@example forms/ts/simpleForm/simple_form_example.ts region='Component'}\n *\n * * **npm package**: `\\@angular/forms`\n *\n * * **NgModule**: `FormsModule`\n *\n *  \\@stable\n */\nexport var NgForm = (function (_super) {\n    __extends(NgForm, _super);\n    /**\n     * @param {?} validators\n     * @param {?} asyncValidators\n     */\n    function NgForm(validators, asyncValidators) {\n        _super.call(this);\n        this._submitted = false;\n        this.ngSubmit = new EventEmitter();\n        this.form =\n            new FormGroup({}, composeValidators(validators), composeAsyncValidators(asyncValidators));\n    }\n    Object.defineProperty(NgForm.prototype, \"submitted\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._submitted; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgForm.prototype, \"formDirective\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgForm.prototype, \"control\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this.form; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgForm.prototype, \"path\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return []; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgForm.prototype, \"controls\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this.form.controls; },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @param {?} dir\n     * @return {?}\n     */\n    NgForm.prototype.addControl = function (dir) {\n        var _this = this;\n        resolvedPromise.then(function () {\n            var /** @type {?} */ container = _this._findContainer(dir.path);\n            dir._control = (container.registerControl(dir.name, dir.control));\n            setUpControl(dir.control, dir);\n            dir.control.updateValueAndValidity({ emitEvent: false });\n        });\n    };\n    /**\n     * @param {?} dir\n     * @return {?}\n     */\n    NgForm.prototype.getControl = function (dir) { return (this.form.get(dir.path)); };\n    /**\n     * @param {?} dir\n     * @return {?}\n     */\n    NgForm.prototype.removeControl = function (dir) {\n        var _this = this;\n        resolvedPromise.then(function () {\n            var /** @type {?} */ container = _this._findContainer(dir.path);\n            if (container) {\n                container.removeControl(dir.name);\n            }\n        });\n    };\n    /**\n     * @param {?} dir\n     * @return {?}\n     */\n    NgForm.prototype.addFormGroup = function (dir) {\n        var _this = this;\n        resolvedPromise.then(function () {\n            var /** @type {?} */ container = _this._findContainer(dir.path);\n            var /** @type {?} */ group = new FormGroup({});\n            setUpFormContainer(group, dir);\n            container.registerControl(dir.name, group);\n            group.updateValueAndValidity({ emitEvent: false });\n        });\n    };\n    /**\n     * @param {?} dir\n     * @return {?}\n     */\n    NgForm.prototype.removeFormGroup = function (dir) {\n        var _this = this;\n        resolvedPromise.then(function () {\n            var /** @type {?} */ container = _this._findContainer(dir.path);\n            if (container) {\n                container.removeControl(dir.name);\n            }\n        });\n    };\n    /**\n     * @param {?} dir\n     * @return {?}\n     */\n    NgForm.prototype.getFormGroup = function (dir) { return (this.form.get(dir.path)); };\n    /**\n     * @param {?} dir\n     * @param {?} value\n     * @return {?}\n     */\n    NgForm.prototype.updateModel = function (dir, value) {\n        var _this = this;\n        resolvedPromise.then(function () {\n            var /** @type {?} */ ctrl = (_this.form.get(dir.path));\n            ctrl.setValue(value);\n        });\n    };\n    /**\n     * @param {?} value\n     * @return {?}\n     */\n    NgForm.prototype.setValue = function (value) { this.control.setValue(value); };\n    /**\n     * @param {?} $event\n     * @return {?}\n     */\n    NgForm.prototype.onSubmit = function ($event) {\n        this._submitted = true;\n        this.ngSubmit.emit($event);\n        return false;\n    };\n    /**\n     * @return {?}\n     */\n    NgForm.prototype.onReset = function () { this.resetForm(); };\n    /**\n     * @param {?=} value\n     * @return {?}\n     */\n    NgForm.prototype.resetForm = function (value) {\n        if (value === void 0) { value = undefined; }\n        this.form.reset(value);\n        this._submitted = false;\n    };\n    /**\n     * \\@internal\n     * @param {?} path\n     * @return {?}\n     */\n    NgForm.prototype._findContainer = function (path) {\n        path.pop();\n        return path.length ? (this.form.get(path)) : this.form;\n    };\n    NgForm.decorators = [\n        { type: Directive, args: [{\n                    selector: 'form:not([ngNoForm]):not([formGroup]),ngForm,[ngForm]',\n                    providers: [formDirectiveProvider],\n                    host: { '(submit)': 'onSubmit($event)', '(reset)': 'onReset()' },\n                    outputs: ['ngSubmit'],\n                    exportAs: 'ngForm'\n                },] },\n    ];\n    /** @nocollapse */\n    NgForm.ctorParameters = function () { return [\n        { type: Array, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NG_VALIDATORS,] },] },\n        { type: Array, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NG_ASYNC_VALIDATORS,] },] },\n    ]; };\n    return NgForm;\n}(ControlContainer));\nfunction NgForm_tsickle_Closure_declarations() {\n    /** @type {?} */\n    NgForm.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    NgForm.ctorParameters;\n    /** @type {?} */\n    NgForm.prototype._submitted;\n    /** @type {?} */\n    NgForm.prototype.form;\n    /** @type {?} */\n    NgForm.prototype.ngSubmit;\n}\n//# sourceMappingURL=ng_form.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/forms/src/directives/ng_form.js\n// module id = 154\n// module chunks = 0","/**\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 */\nimport { Directive, ElementRef, Injectable, Injector, Input, Renderer, forwardRef } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from './control_value_accessor';\nimport { NgControl } from './ng_control';\nexport var /** @type {?} */ RADIO_VALUE_ACCESSOR = {\n    provide: NG_VALUE_ACCESSOR,\n    useExisting: forwardRef(function () { return RadioControlValueAccessor; }),\n    multi: true\n};\n/**\n * Internal class used by Angular to uncheck radio buttons with the matching name.\n */\nexport var RadioControlRegistry = (function () {\n    function RadioControlRegistry() {\n        this._accessors = [];\n    }\n    /**\n     * @param {?} control\n     * @param {?} accessor\n     * @return {?}\n     */\n    RadioControlRegistry.prototype.add = function (control, accessor) {\n        this._accessors.push([control, accessor]);\n    };\n    /**\n     * @param {?} accessor\n     * @return {?}\n     */\n    RadioControlRegistry.prototype.remove = function (accessor) {\n        for (var /** @type {?} */ i = this._accessors.length - 1; i >= 0; --i) {\n            if (this._accessors[i][1] === accessor) {\n                this._accessors.splice(i, 1);\n                return;\n            }\n        }\n    };\n    /**\n     * @param {?} accessor\n     * @return {?}\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(accessor.value);\n            }\n        });\n    };\n    /**\n     * @param {?} controlPair\n     * @param {?} accessor\n     * @return {?}\n     */\n    RadioControlRegistry.prototype._isSameGroup = function (controlPair, accessor) {\n        if (!controlPair[0].control)\n            return false;\n        return controlPair[0]._parent === accessor._control._parent &&\n            controlPair[1].name === accessor.name;\n    };\n    RadioControlRegistry.decorators = [\n        { type: Injectable },\n    ];\n    /** @nocollapse */\n    RadioControlRegistry.ctorParameters = function () { return []; };\n    return RadioControlRegistry;\n}());\nfunction RadioControlRegistry_tsickle_Closure_declarations() {\n    /** @type {?} */\n    RadioControlRegistry.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    RadioControlRegistry.ctorParameters;\n    /** @type {?} */\n    RadioControlRegistry.prototype._accessors;\n}\n/**\n * \\@whatItDoes Writes radio control values and listens to radio control changes.\n *\n * Used by {\\@link NgModel}, {\\@link FormControlDirective}, and {\\@link FormControlName}\n * to keep the view synced with the {\\@link FormControl} model.\n *\n * \\@howToUse\n *\n * If you have imported the {\\@link FormsModule} or the {\\@link ReactiveFormsModule}, this\n * value accessor will be active on any radio control that has a form directive. You do\n * **not** need to add a special selector to activate it.\n *\n * ### How to use radio buttons with form directives\n *\n * To use radio buttons in a template-driven form, you'll want to ensure that radio buttons\n * in the same group have the same `name` attribute.  Radio buttons with different `name`\n * attributes do not affect each other.\n *\n * {\\@example forms/ts/radioButtons/radio_button_example.ts region='TemplateDriven'}\n *\n * When using radio buttons in a reactive form, radio buttons in the same group should have the\n * same `formControlName`. You can also add a `name` attribute, but it's optional.\n *\n * {\\@example forms/ts/reactiveRadioButtons/reactive_radio_button_example.ts region='Reactive'}\n *\n *  * **npm package**: `\\@angular/forms`\n *\n *  \\@stable\n */\nexport var RadioControlValueAccessor = (function () {\n    /**\n     * @param {?} _renderer\n     * @param {?} _elementRef\n     * @param {?} _registry\n     * @param {?} _injector\n     */\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    /**\n     * @return {?}\n     */\n    RadioControlValueAccessor.prototype.ngOnInit = function () {\n        this._control = this._injector.get(NgControl);\n        this._checkName();\n        this._registry.add(this._control, this);\n    };\n    /**\n     * @return {?}\n     */\n    RadioControlValueAccessor.prototype.ngOnDestroy = function () { this._registry.remove(this); };\n    /**\n     * @param {?} value\n     * @return {?}\n     */\n    RadioControlValueAccessor.prototype.writeValue = function (value) {\n        this._state = value === this.value;\n        this._renderer.setElementProperty(this._elementRef.nativeElement, 'checked', this._state);\n    };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    RadioControlValueAccessor.prototype.registerOnChange = function (fn) {\n        var _this = this;\n        this._fn = fn;\n        this.onChange = function () {\n            fn(_this.value);\n            _this._registry.select(_this);\n        };\n    };\n    /**\n     * @param {?} value\n     * @return {?}\n     */\n    RadioControlValueAccessor.prototype.fireUncheck = function (value) { this.writeValue(value); };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    RadioControlValueAccessor.prototype.registerOnTouched = function (fn) { this.onTouched = fn; };\n    /**\n     * @param {?} isDisabled\n     * @return {?}\n     */\n    RadioControlValueAccessor.prototype.setDisabledState = function (isDisabled) {\n        this._renderer.setElementProperty(this._elementRef.nativeElement, 'disabled', isDisabled);\n    };\n    /**\n     * @return {?}\n     */\n    RadioControlValueAccessor.prototype._checkName = function () {\n        if (this.name && this.formControlName && this.name !== this.formControlName) {\n            this._throwNameError();\n        }\n        if (!this.name && this.formControlName)\n            this.name = this.formControlName;\n    };\n    /**\n     * @return {?}\n     */\n    RadioControlValueAccessor.prototype._throwNameError = function () {\n        throw new Error(\"\\n      If you define both a name and a formControlName attribute on your radio button, their values\\n      must match. Ex: <input type=\\\"radio\\\" formControlName=\\\"food\\\" name=\\\"food\\\">\\n    \");\n    };\n    RadioControlValueAccessor.decorators = [\n        { type: Directive, args: [{\n                    selector: 'input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]',\n                    host: { '(change)': 'onChange()', '(blur)': 'onTouched()' },\n                    providers: [RADIO_VALUE_ACCESSOR]\n                },] },\n    ];\n    /** @nocollapse */\n    RadioControlValueAccessor.ctorParameters = function () { return [\n        { type: Renderer, },\n        { type: ElementRef, },\n        { type: RadioControlRegistry, },\n        { type: Injector, },\n    ]; };\n    RadioControlValueAccessor.propDecorators = {\n        'name': [{ type: Input },],\n        'formControlName': [{ type: Input },],\n        'value': [{ type: Input },],\n    };\n    return RadioControlValueAccessor;\n}());\nfunction RadioControlValueAccessor_tsickle_Closure_declarations() {\n    /** @type {?} */\n    RadioControlValueAccessor.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    RadioControlValueAccessor.ctorParameters;\n    /** @type {?} */\n    RadioControlValueAccessor.propDecorators;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    RadioControlValueAccessor.prototype._state;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    RadioControlValueAccessor.prototype._control;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    RadioControlValueAccessor.prototype._fn;\n    /** @type {?} */\n    RadioControlValueAccessor.prototype.onChange;\n    /** @type {?} */\n    RadioControlValueAccessor.prototype.onTouched;\n    /** @type {?} */\n    RadioControlValueAccessor.prototype.name;\n    /** @type {?} */\n    RadioControlValueAccessor.prototype.formControlName;\n    /** @type {?} */\n    RadioControlValueAccessor.prototype.value;\n    /** @type {?} */\n    RadioControlValueAccessor.prototype._renderer;\n    /** @type {?} */\n    RadioControlValueAccessor.prototype._elementRef;\n    /** @type {?} */\n    RadioControlValueAccessor.prototype._registry;\n    /** @type {?} */\n    RadioControlValueAccessor.prototype._injector;\n}\n//# sourceMappingURL=radio_control_value_accessor.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/forms/src/directives/radio_control_value_accessor.js\n// module id = 155\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { Directive, Inject, Input, Optional, Output, Self, forwardRef } from '@angular/core';\nimport { EventEmitter } from '../../facade/async';\nimport { ListWrapper } from '../../facade/collection';\nimport { NG_ASYNC_VALIDATORS, NG_VALIDATORS, Validators } from '../../validators';\nimport { ControlContainer } from '../control_container';\nimport { ReactiveErrors } from '../reactive_errors';\nimport { cleanUpControl, composeAsyncValidators, composeValidators, setUpControl, setUpFormContainer } from '../shared';\nexport var /** @type {?} */ formDirectiveProvider = {\n    provide: ControlContainer,\n    useExisting: forwardRef(function () { return FormGroupDirective; })\n};\n/**\n * \\@whatItDoes Binds an existing {\\@link FormGroup} to a DOM element.\n *\n * \\@howToUse\n *\n * This directive accepts an existing {\\@link FormGroup} instance. It will then use this\n * {\\@link FormGroup} instance to match any child {\\@link FormControl}, {\\@link FormGroup},\n * and {\\@link FormArray} instances to child {\\@link FormControlName}, {\\@link FormGroupName},\n * and {\\@link FormArrayName} directives.\n *\n * **Set value**: You can set the form's initial value when instantiating the\n * {\\@link FormGroup}, or you can set it programmatically later using the {\\@link FormGroup}'s\n * {\\@link AbstractControl.setValue} or {\\@link AbstractControl.patchValue} methods.\n *\n * **Listen to value**: If you want to listen to changes in the value of the form, you can subscribe\n * to the {\\@link FormGroup}'s {\\@link AbstractControl.valueChanges} event.  You can also listen to\n * its {\\@link AbstractControl.statusChanges} event to be notified when the validation status is\n * re-calculated.\n *\n * Furthermore, you can listen to the directive's `ngSubmit` event to be notified when the user has\n * triggered a form submission. The `ngSubmit` event will be emitted with the original form\n * submission event.\n *\n * ### Example\n *\n * In this example, we create form controls for first name and last name.\n *\n * {\\@example forms/ts/simpleFormGroup/simple_form_group_example.ts region='Component'}\n *\n * **npm package**: `\\@angular/forms`\n *\n * **NgModule**: {\\@link ReactiveFormsModule}\n *\n *  \\@stable\n */\nexport var FormGroupDirective = (function (_super) {\n    __extends(FormGroupDirective, _super);\n    /**\n     * @param {?} _validators\n     * @param {?} _asyncValidators\n     */\n    function FormGroupDirective(_validators, _asyncValidators) {\n        _super.call(this);\n        this._validators = _validators;\n        this._asyncValidators = _asyncValidators;\n        this._submitted = false;\n        this.directives = [];\n        this.form = null;\n        this.ngSubmit = new EventEmitter();\n    }\n    /**\n     * @param {?} changes\n     * @return {?}\n     */\n    FormGroupDirective.prototype.ngOnChanges = function (changes) {\n        this._checkFormPresent();\n        if (changes.hasOwnProperty('form')) {\n            this._updateValidators();\n            this._updateDomValue();\n            this._updateRegistrations();\n        }\n    };\n    Object.defineProperty(FormGroupDirective.prototype, \"submitted\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._submitted; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(FormGroupDirective.prototype, \"formDirective\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(FormGroupDirective.prototype, \"control\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this.form; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(FormGroupDirective.prototype, \"path\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return []; },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @param {?} dir\n     * @return {?}\n     */\n    FormGroupDirective.prototype.addControl = function (dir) {\n        var /** @type {?} */ ctrl = this.form.get(dir.path);\n        setUpControl(ctrl, dir);\n        ctrl.updateValueAndValidity({ emitEvent: false });\n        this.directives.push(dir);\n        return ctrl;\n    };\n    /**\n     * @param {?} dir\n     * @return {?}\n     */\n    FormGroupDirective.prototype.getControl = function (dir) { return (this.form.get(dir.path)); };\n    /**\n     * @param {?} dir\n     * @return {?}\n     */\n    FormGroupDirective.prototype.removeControl = function (dir) { ListWrapper.remove(this.directives, dir); };\n    /**\n     * @param {?} dir\n     * @return {?}\n     */\n    FormGroupDirective.prototype.addFormGroup = function (dir) {\n        var /** @type {?} */ ctrl = this.form.get(dir.path);\n        setUpFormContainer(ctrl, dir);\n        ctrl.updateValueAndValidity({ emitEvent: false });\n    };\n    /**\n     * @param {?} dir\n     * @return {?}\n     */\n    FormGroupDirective.prototype.removeFormGroup = function (dir) { };\n    /**\n     * @param {?} dir\n     * @return {?}\n     */\n    FormGroupDirective.prototype.getFormGroup = function (dir) { return (this.form.get(dir.path)); };\n    /**\n     * @param {?} dir\n     * @return {?}\n     */\n    FormGroupDirective.prototype.addFormArray = function (dir) {\n        var /** @type {?} */ ctrl = this.form.get(dir.path);\n        setUpFormContainer(ctrl, dir);\n        ctrl.updateValueAndValidity({ emitEvent: false });\n    };\n    /**\n     * @param {?} dir\n     * @return {?}\n     */\n    FormGroupDirective.prototype.removeFormArray = function (dir) { };\n    /**\n     * @param {?} dir\n     * @return {?}\n     */\n    FormGroupDirective.prototype.getFormArray = function (dir) { return (this.form.get(dir.path)); };\n    /**\n     * @param {?} dir\n     * @param {?} value\n     * @return {?}\n     */\n    FormGroupDirective.prototype.updateModel = function (dir, value) {\n        var /** @type {?} */ ctrl = (this.form.get(dir.path));\n        ctrl.setValue(value);\n    };\n    /**\n     * @param {?} $event\n     * @return {?}\n     */\n    FormGroupDirective.prototype.onSubmit = function ($event) {\n        this._submitted = true;\n        this.ngSubmit.emit($event);\n        return false;\n    };\n    /**\n     * @return {?}\n     */\n    FormGroupDirective.prototype.onReset = function () { this.resetForm(); };\n    /**\n     * @param {?=} value\n     * @return {?}\n     */\n    FormGroupDirective.prototype.resetForm = function (value) {\n        if (value === void 0) { value = undefined; }\n        this.form.reset(value);\n        this._submitted = false;\n    };\n    /**\n     * \\@internal\n     * @return {?}\n     */\n    FormGroupDirective.prototype._updateDomValue = function () {\n        var _this = this;\n        this.directives.forEach(function (dir) {\n            var /** @type {?} */ newCtrl = _this.form.get(dir.path);\n            if (dir._control !== newCtrl) {\n                cleanUpControl(dir._control, dir);\n                if (newCtrl)\n                    setUpControl(newCtrl, dir);\n                dir._control = newCtrl;\n            }\n        });\n        this.form._updateTreeValidity({ emitEvent: false });\n    };\n    /**\n     * @return {?}\n     */\n    FormGroupDirective.prototype._updateRegistrations = function () {\n        var _this = this;\n        this.form._registerOnCollectionChange(function () { return _this._updateDomValue(); });\n        if (this._oldForm)\n            this._oldForm._registerOnCollectionChange(function () { });\n        this._oldForm = this.form;\n    };\n    /**\n     * @return {?}\n     */\n    FormGroupDirective.prototype._updateValidators = function () {\n        var /** @type {?} */ sync = composeValidators(this._validators);\n        this.form.validator = Validators.compose([this.form.validator, sync]);\n        var /** @type {?} */ async = composeAsyncValidators(this._asyncValidators);\n        this.form.asyncValidator = Validators.composeAsync([this.form.asyncValidator, async]);\n    };\n    /**\n     * @return {?}\n     */\n    FormGroupDirective.prototype._checkFormPresent = function () {\n        if (!this.form) {\n            ReactiveErrors.missingFormException();\n        }\n    };\n    FormGroupDirective.decorators = [\n        { type: Directive, args: [{\n                    selector: '[formGroup]',\n                    providers: [formDirectiveProvider],\n                    host: { '(submit)': 'onSubmit($event)', '(reset)': 'onReset()' },\n                    exportAs: 'ngForm'\n                },] },\n    ];\n    /** @nocollapse */\n    FormGroupDirective.ctorParameters = function () { return [\n        { type: Array, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NG_VALIDATORS,] },] },\n        { type: Array, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NG_ASYNC_VALIDATORS,] },] },\n    ]; };\n    FormGroupDirective.propDecorators = {\n        'form': [{ type: Input, args: ['formGroup',] },],\n        'ngSubmit': [{ type: Output },],\n    };\n    return FormGroupDirective;\n}(ControlContainer));\nfunction FormGroupDirective_tsickle_Closure_declarations() {\n    /** @type {?} */\n    FormGroupDirective.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    FormGroupDirective.ctorParameters;\n    /** @type {?} */\n    FormGroupDirective.propDecorators;\n    /** @type {?} */\n    FormGroupDirective.prototype._submitted;\n    /** @type {?} */\n    FormGroupDirective.prototype._oldForm;\n    /** @type {?} */\n    FormGroupDirective.prototype.directives;\n    /** @type {?} */\n    FormGroupDirective.prototype.form;\n    /** @type {?} */\n    FormGroupDirective.prototype.ngSubmit;\n    /** @type {?} */\n    FormGroupDirective.prototype._validators;\n    /** @type {?} */\n    FormGroupDirective.prototype._asyncValidators;\n}\n//# sourceMappingURL=form_group_directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/forms/src/directives/reactive_directives/form_group_directive.js\n// module id = 156\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { Directive, Host, Inject, Input, Optional, Self, SkipSelf, forwardRef } from '@angular/core';\nimport { NG_ASYNC_VALIDATORS, NG_VALIDATORS } from '../../validators';\nimport { AbstractFormGroupDirective } from '../abstract_form_group_directive';\nimport { ControlContainer } from '../control_container';\nimport { ReactiveErrors } from '../reactive_errors';\nimport { composeAsyncValidators, composeValidators, controlPath } from '../shared';\nimport { FormGroupDirective } from './form_group_directive';\nexport var /** @type {?} */ formGroupNameProvider = {\n    provide: ControlContainer,\n    useExisting: forwardRef(function () { return FormGroupName; })\n};\n/**\n * \\@whatItDoes Syncs a nested {\\@link FormGroup} to a DOM element.\n *\n * \\@howToUse\n *\n * This directive can only be used with a parent {\\@link FormGroupDirective} (selector:\n * `[formGroup]`).\n *\n * It accepts the string name of the nested {\\@link FormGroup} you want to link, and\n * will look for a {\\@link FormGroup} registered with that name in the parent\n * {\\@link FormGroup} instance you passed into {\\@link FormGroupDirective}.\n *\n * Nested form groups can come in handy when you want to validate a sub-group of a\n * form separately from the rest or when you'd like to group the values of certain\n * controls into their own nested object.\n *\n * **Access the group**: You can access the associated {\\@link FormGroup} using the\n * {\\@link AbstractControl.get} method. Ex: `this.form.get('name')`.\n *\n * You can also access individual controls within the group using dot syntax.\n * Ex: `this.form.get('name.first')`\n *\n * **Get the value**: the `value` property is always synced and available on the\n * {\\@link FormGroup}. See a full list of available properties in {\\@link AbstractControl}.\n *\n * **Set the value**: You can set an initial value for each child control when instantiating\n * the {\\@link FormGroup}, or you can set it programmatically later using\n * {\\@link AbstractControl.setValue} or {\\@link AbstractControl.patchValue}.\n *\n * **Listen to value**: If you want to listen to changes in the value of the group, you can\n * subscribe to the {\\@link AbstractControl.valueChanges} event.  You can also listen to\n * {\\@link AbstractControl.statusChanges} to be notified when the validation status is\n * re-calculated.\n *\n * ### Example\n *\n * {\\@example forms/ts/nestedFormGroup/nested_form_group_example.ts region='Component'}\n *\n * * **npm package**: `\\@angular/forms`\n *\n * * **NgModule**: `ReactiveFormsModule`\n *\n * \\@stable\n */\nexport var FormGroupName = (function (_super) {\n    __extends(FormGroupName, _super);\n    /**\n     * @param {?} parent\n     * @param {?} validators\n     * @param {?} asyncValidators\n     */\n    function FormGroupName(parent, validators, asyncValidators) {\n        _super.call(this);\n        this._parent = parent;\n        this._validators = validators;\n        this._asyncValidators = asyncValidators;\n    }\n    /**\n     * \\@internal\n     * @return {?}\n     */\n    FormGroupName.prototype._checkParentType = function () {\n        if (_hasInvalidParent(this._parent)) {\n            ReactiveErrors.groupParentException();\n        }\n    };\n    FormGroupName.decorators = [\n        { type: Directive, args: [{ selector: '[formGroupName]', providers: [formGroupNameProvider] },] },\n    ];\n    /** @nocollapse */\n    FormGroupName.ctorParameters = function () { return [\n        { type: ControlContainer, decorators: [{ type: Optional }, { type: Host }, { type: SkipSelf },] },\n        { type: Array, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NG_VALIDATORS,] },] },\n        { type: Array, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NG_ASYNC_VALIDATORS,] },] },\n    ]; };\n    FormGroupName.propDecorators = {\n        'name': [{ type: Input, args: ['formGroupName',] },],\n    };\n    return FormGroupName;\n}(AbstractFormGroupDirective));\nfunction FormGroupName_tsickle_Closure_declarations() {\n    /** @type {?} */\n    FormGroupName.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    FormGroupName.ctorParameters;\n    /** @type {?} */\n    FormGroupName.propDecorators;\n    /** @type {?} */\n    FormGroupName.prototype.name;\n}\nexport var /** @type {?} */ formArrayNameProvider = {\n    provide: ControlContainer,\n    useExisting: forwardRef(function () { return FormArrayName; })\n};\n/**\n * \\@whatItDoes Syncs a nested {\\@link FormArray} to a DOM element.\n *\n * \\@howToUse\n *\n * This directive is designed to be used with a parent {\\@link FormGroupDirective} (selector:\n * `[formGroup]`).\n *\n * It accepts the string name of the nested {\\@link FormArray} you want to link, and\n * will look for a {\\@link FormArray} registered with that name in the parent\n * {\\@link FormGroup} instance you passed into {\\@link FormGroupDirective}.\n *\n * Nested form arrays can come in handy when you have a group of form controls but\n * you're not sure how many there will be. Form arrays allow you to create new\n * form controls dynamically.\n *\n * **Access the array**: You can access the associated {\\@link FormArray} using the\n * {\\@link AbstractControl.get} method on the parent {\\@link FormGroup}.\n * Ex: `this.form.get('cities')`.\n *\n * **Get the value**: the `value` property is always synced and available on the\n * {\\@link FormArray}. See a full list of available properties in {\\@link AbstractControl}.\n *\n * **Set the value**: You can set an initial value for each child control when instantiating\n * the {\\@link FormArray}, or you can set the value programmatically later using the\n * {\\@link FormArray}'s {\\@link AbstractControl.setValue} or {\\@link AbstractControl.patchValue}\n * methods.\n *\n * **Listen to value**: If you want to listen to changes in the value of the array, you can\n * subscribe to the {\\@link FormArray}'s {\\@link AbstractControl.valueChanges} event.  You can also\n * listen to its {\\@link AbstractControl.statusChanges} event to be notified when the validation\n * status is re-calculated.\n *\n * **Add new controls**: You can add new controls to the {\\@link FormArray} dynamically by\n * calling its {\\@link FormArray.push} method.\n *  Ex: `this.form.get('cities').push(new FormControl());`\n *\n * ### Example\n *\n * {\\@example forms/ts/nestedFormArray/nested_form_array_example.ts region='Component'}\n *\n * * **npm package**: `\\@angular/forms`\n *\n * * **NgModule**: `ReactiveFormsModule`\n *\n * \\@stable\n */\nexport var FormArrayName = (function (_super) {\n    __extends(FormArrayName, _super);\n    /**\n     * @param {?} parent\n     * @param {?} validators\n     * @param {?} asyncValidators\n     */\n    function FormArrayName(parent, validators, asyncValidators) {\n        _super.call(this);\n        this._parent = parent;\n        this._validators = validators;\n        this._asyncValidators = asyncValidators;\n    }\n    /**\n     * @return {?}\n     */\n    FormArrayName.prototype.ngOnInit = function () {\n        this._checkParentType();\n        this.formDirective.addFormArray(this);\n    };\n    /**\n     * @return {?}\n     */\n    FormArrayName.prototype.ngOnDestroy = function () {\n        if (this.formDirective) {\n            this.formDirective.removeFormArray(this);\n        }\n    };\n    Object.defineProperty(FormArrayName.prototype, \"control\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this.formDirective.getFormArray(this); },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(FormArrayName.prototype, \"formDirective\", {\n        /**\n         * @return {?}\n         */\n        get: function () {\n            return this._parent ? (this._parent.formDirective) : null;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(FormArrayName.prototype, \"path\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return controlPath(this.name, this._parent); },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(FormArrayName.prototype, \"validator\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return composeValidators(this._validators); },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(FormArrayName.prototype, \"asyncValidator\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return composeAsyncValidators(this._asyncValidators); },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @return {?}\n     */\n    FormArrayName.prototype._checkParentType = function () {\n        if (_hasInvalidParent(this._parent)) {\n            ReactiveErrors.arrayParentException();\n        }\n    };\n    FormArrayName.decorators = [\n        { type: Directive, args: [{ selector: '[formArrayName]', providers: [formArrayNameProvider] },] },\n    ];\n    /** @nocollapse */\n    FormArrayName.ctorParameters = function () { return [\n        { type: ControlContainer, decorators: [{ type: Optional }, { type: Host }, { type: SkipSelf },] },\n        { type: Array, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NG_VALIDATORS,] },] },\n        { type: Array, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NG_ASYNC_VALIDATORS,] },] },\n    ]; };\n    FormArrayName.propDecorators = {\n        'name': [{ type: Input, args: ['formArrayName',] },],\n    };\n    return FormArrayName;\n}(ControlContainer));\nfunction FormArrayName_tsickle_Closure_declarations() {\n    /** @type {?} */\n    FormArrayName.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    FormArrayName.ctorParameters;\n    /** @type {?} */\n    FormArrayName.propDecorators;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    FormArrayName.prototype._parent;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    FormArrayName.prototype._validators;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    FormArrayName.prototype._asyncValidators;\n    /** @type {?} */\n    FormArrayName.prototype.name;\n}\n/**\n * @param {?} parent\n * @return {?}\n */\nfunction _hasInvalidParent(parent) {\n    return !(parent instanceof FormGroupName) && !(parent instanceof FormGroupDirective) &&\n        !(parent instanceof FormArrayName);\n}\n//# sourceMappingURL=form_group_name.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/forms/src/directives/reactive_directives/form_group_name.js\n// module id = 157\n// module chunks = 0","/**\n * Polyfill for [Headers](https://developer.mozilla.org/en-US/docs/Web/API/Headers/Headers), as\n * specified in the [Fetch Spec](https://fetch.spec.whatwg.org/#headers-class).\n *\n * The only known difference between this `Headers` implementation and the spec is the\n * lack of an `entries` method.\n *\n * ### Example\n *\n * ```\n * import {Headers} from '\\@angular/http';\n *\n * var firstHeaders = new Headers();\n * firstHeaders.append('Content-Type', 'image/jpeg');\n * console.log(firstHeaders.get('Content-Type')) //'image/jpeg'\n *\n * // Create headers from Plain Old JavaScript Object\n * var secondHeaders = new Headers({\n *   'X-My-Custom-Header': 'Angular'\n * });\n * console.log(secondHeaders.get('X-My-Custom-Header')); //'Angular'\n *\n * var thirdHeaders = new Headers(secondHeaders);\n * console.log(thirdHeaders.get('X-My-Custom-Header')); //'Angular'\n * ```\n *\n * \\@experimental\n */\nexport var Headers = (function () {\n    /**\n     * @param {?=} headers\n     */\n    function Headers(headers) {\n        var _this = this;\n        /** @internal header names are lower case */\n        this._headers = new Map();\n        /** @internal map lower case names to actual names */\n        this._normalizedNames = new Map();\n        if (!headers) {\n            return;\n        }\n        if (headers instanceof Headers) {\n            headers.forEach(function (values, name) {\n                values.forEach(function (value) { return _this.append(name, value); });\n            });\n            return;\n        }\n        Object.keys(headers).forEach(function (name) {\n            var values = Array.isArray(headers[name]) ? headers[name] : [headers[name]];\n            _this.delete(name);\n            values.forEach(function (value) { return _this.append(name, value); });\n        });\n    }\n    /**\n     * Returns a new Headers instance from the given DOMString of Response Headers\n     * @param {?} headersString\n     * @return {?}\n     */\n    Headers.fromResponseHeaderString = function (headersString) {\n        var /** @type {?} */ headers = new Headers();\n        headersString.split('\\n').forEach(function (line) {\n            var /** @type {?} */ index = line.indexOf(':');\n            if (index > 0) {\n                var /** @type {?} */ name_1 = line.slice(0, index);\n                var /** @type {?} */ value = line.slice(index + 1).trim();\n                headers.set(name_1, value);\n            }\n        });\n        return headers;\n    };\n    /**\n     * Appends a header to existing list of header values for a given header name.\n     * @param {?} name\n     * @param {?} value\n     * @return {?}\n     */\n    Headers.prototype.append = function (name, value) {\n        var /** @type {?} */ values = this.getAll(name);\n        if (values === null) {\n            this.set(name, value);\n        }\n        else {\n            values.push(value);\n        }\n    };\n    /**\n     * Deletes all header values for the given name.\n     * @param {?} name\n     * @return {?}\n     */\n    Headers.prototype.delete = function (name) {\n        var /** @type {?} */ lcName = name.toLowerCase();\n        this._normalizedNames.delete(lcName);\n        this._headers.delete(lcName);\n    };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    Headers.prototype.forEach = function (fn) {\n        var _this = this;\n        this._headers.forEach(function (values, lcName) { return fn(values, _this._normalizedNames.get(lcName), _this._headers); });\n    };\n    /**\n     * Returns first header that matches given name.\n     * @param {?} name\n     * @return {?}\n     */\n    Headers.prototype.get = function (name) {\n        var /** @type {?} */ values = this.getAll(name);\n        if (values === null) {\n            return null;\n        }\n        return values.length > 0 ? values[0] : null;\n    };\n    /**\n     * Checks for existence of header by given name.\n     * @param {?} name\n     * @return {?}\n     */\n    Headers.prototype.has = function (name) { return this._headers.has(name.toLowerCase()); };\n    /**\n     * Returns the names of the headers\n     * @return {?}\n     */\n    Headers.prototype.keys = function () { return Array.from(this._normalizedNames.values()); };\n    /**\n     * Sets or overrides header value for given name.\n     * @param {?} name\n     * @param {?} value\n     * @return {?}\n     */\n    Headers.prototype.set = function (name, value) {\n        if (Array.isArray(value)) {\n            if (value.length) {\n                this._headers.set(name.toLowerCase(), [value.join(',')]);\n            }\n        }\n        else {\n            this._headers.set(name.toLowerCase(), [value]);\n        }\n        this.mayBeSetNormalizedName(name);\n    };\n    /**\n     * Returns values of all headers.\n     * @return {?}\n     */\n    Headers.prototype.values = function () { return Array.from(this._headers.values()); };\n    /**\n     * @return {?}\n     */\n    Headers.prototype.toJSON = function () {\n        var _this = this;\n        var /** @type {?} */ serialized = {};\n        this._headers.forEach(function (values, name) {\n            var /** @type {?} */ split = [];\n            values.forEach(function (v) { return split.push.apply(split, v.split(',')); });\n            serialized[_this._normalizedNames.get(name)] = split;\n        });\n        return serialized;\n    };\n    /**\n     * Returns list of header values for a given name.\n     * @param {?} name\n     * @return {?}\n     */\n    Headers.prototype.getAll = function (name) {\n        return this.has(name) ? this._headers.get(name.toLowerCase()) : null;\n    };\n    /**\n     * This method is not implemented.\n     * @return {?}\n     */\n    Headers.prototype.entries = function () { throw new Error('\"entries\" method is not implemented on Headers class'); };\n    /**\n     * @param {?} name\n     * @return {?}\n     */\n    Headers.prototype.mayBeSetNormalizedName = function (name) {\n        var /** @type {?} */ lcName = name.toLowerCase();\n        if (!this._normalizedNames.has(lcName)) {\n            this._normalizedNames.set(lcName, name);\n        }\n    };\n    return Headers;\n}());\nfunction Headers_tsickle_Closure_declarations() {\n    /**\n     * \\@internal header names are lower case\n     * @type {?}\n     */\n    Headers.prototype._headers;\n    /**\n     * \\@internal map lower case names to actual names\n     * @type {?}\n     */\n    Headers.prototype._normalizedNames;\n}\n//# sourceMappingURL=headers.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/http/src/headers.js\n// module id = 158\n// module chunks = 0","/**\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/**\n * Abstract class from which real backends are derived.\n *\n * The primary purpose of a `ConnectionBackend` is to create new connections to fulfill a given\n * {\\@link Request}.\n *\n * \\@experimental\n * @abstract\n */\nexport var ConnectionBackend = (function () {\n    function ConnectionBackend() {\n    }\n    /**\n     * @abstract\n     * @param {?} request\n     * @return {?}\n     */\n    ConnectionBackend.prototype.createConnection = function (request) { };\n    return ConnectionBackend;\n}());\n/**\n * Abstract class from which real connections are derived.\n *\n * \\@experimental\n * @abstract\n */\nexport var Connection = (function () {\n    function Connection() {\n    }\n    return Connection;\n}());\nfunction Connection_tsickle_Closure_declarations() {\n    /** @type {?} */\n    Connection.prototype.readyState;\n    /** @type {?} */\n    Connection.prototype.request;\n    /** @type {?} */\n    Connection.prototype.response;\n}\n/**\n * An XSRFStrategy configures XSRF protection (e.g. via headers) on an HTTP request.\n *\n * \\@experimental\n * @abstract\n */\nexport var XSRFStrategy = (function () {\n    function XSRFStrategy() {\n    }\n    /**\n     * @abstract\n     * @param {?} req\n     * @return {?}\n     */\n    XSRFStrategy.prototype.configureRequest = function (req) { };\n    return XSRFStrategy;\n}());\n//# sourceMappingURL=interfaces.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/http/src/interfaces.js\n// module id = 159\n// module chunks = 0","/**\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 */\nimport { ComponentFactoryResolver, ReflectiveInjector } from '@angular/core';\nimport { Subject } from 'rxjs/Subject';\nimport { from } from 'rxjs/observable/from';\nimport { of } from 'rxjs/observable/of';\nimport { concatMap } from 'rxjs/operator/concatMap';\nimport { every } from 'rxjs/operator/every';\nimport { map } from 'rxjs/operator/map';\nimport { mergeAll } from 'rxjs/operator/mergeAll';\nimport { mergeMap } from 'rxjs/operator/mergeMap';\nimport { reduce } from 'rxjs/operator/reduce';\nimport { applyRedirects } from './apply_redirects';\nimport { validateConfig } from './config';\nimport { createRouterState } from './create_router_state';\nimport { createUrlTree } from './create_url_tree';\nimport { recognize } from './recognize';\nimport { RouterConfigLoader } from './router_config_loader';\nimport { RouterOutletMap } from './router_outlet_map';\nimport { ActivatedRoute, advanceActivatedRoute, createEmptyState, inheritedParamsDataResolve } from './router_state';\nimport { NavigationCancelingError, PRIMARY_OUTLET } from './shared';\nimport { UrlTree, containsTree, createEmptyUrlTree } from './url_tree';\nimport { andObservables, forEach, merge, shallowEqual, waitForMap, wrapIntoObservable } from './utils/collection';\n/**\n * @whatItDoes Represents an event triggered when a navigation starts.\n *\n * @stable\n */\nexport var NavigationStart = (function () {\n    // TODO: vsavkin: make internal\n    function NavigationStart(\n        /** @docsNotRequired */\n        id, \n        /** @docsNotRequired */\n        url) {\n        this.id = id;\n        this.url = url;\n    }\n    /** @docsNotRequired */\n    NavigationStart.prototype.toString = function () { return \"NavigationStart(id: \" + this.id + \", url: '\" + this.url + \"')\"; };\n    return NavigationStart;\n}());\n/**\n * @whatItDoes Represents an event triggered when a navigation ends successfully.\n *\n * @stable\n */\nexport var NavigationEnd = (function () {\n    // TODO: vsavkin: make internal\n    function NavigationEnd(\n        /** @docsNotRequired */\n        id, \n        /** @docsNotRequired */\n        url, \n        /** @docsNotRequired */\n        urlAfterRedirects) {\n        this.id = id;\n        this.url = url;\n        this.urlAfterRedirects = urlAfterRedirects;\n    }\n    /** @docsNotRequired */\n    NavigationEnd.prototype.toString = function () {\n        return \"NavigationEnd(id: \" + this.id + \", url: '\" + this.url + \"', urlAfterRedirects: '\" + this.urlAfterRedirects + \"')\";\n    };\n    return NavigationEnd;\n}());\n/**\n * @whatItDoes Represents an event triggered when a navigation is canceled.\n *\n * @stable\n */\nexport var NavigationCancel = (function () {\n    // TODO: vsavkin: make internal\n    function NavigationCancel(\n        /** @docsNotRequired */\n        id, \n        /** @docsNotRequired */\n        url, \n        /** @docsNotRequired */\n        reason) {\n        this.id = id;\n        this.url = url;\n        this.reason = reason;\n    }\n    /** @docsNotRequired */\n    NavigationCancel.prototype.toString = function () { return \"NavigationCancel(id: \" + this.id + \", url: '\" + this.url + \"')\"; };\n    return NavigationCancel;\n}());\n/**\n * @whatItDoes Represents an event triggered when a navigation fails due to an unexpected error.\n *\n * @stable\n */\nexport var NavigationError = (function () {\n    // TODO: vsavkin: make internal\n    function NavigationError(\n        /** @docsNotRequired */\n        id, \n        /** @docsNotRequired */\n        url, \n        /** @docsNotRequired */\n        error) {\n        this.id = id;\n        this.url = url;\n        this.error = error;\n    }\n    /** @docsNotRequired */\n    NavigationError.prototype.toString = function () {\n        return \"NavigationError(id: \" + this.id + \", url: '\" + this.url + \"', error: \" + this.error + \")\";\n    };\n    return NavigationError;\n}());\n/**\n * @whatItDoes Represents an event triggered when routes are recognized.\n *\n * @stable\n */\nexport var RoutesRecognized = (function () {\n    // TODO: vsavkin: make internal\n    function RoutesRecognized(\n        /** @docsNotRequired */\n        id, \n        /** @docsNotRequired */\n        url, \n        /** @docsNotRequired */\n        urlAfterRedirects, \n        /** @docsNotRequired */\n        state) {\n        this.id = id;\n        this.url = url;\n        this.urlAfterRedirects = urlAfterRedirects;\n        this.state = state;\n    }\n    /** @docsNotRequired */\n    RoutesRecognized.prototype.toString = function () {\n        return \"RoutesRecognized(id: \" + this.id + \", url: '\" + this.url + \"', urlAfterRedirects: '\" + this.urlAfterRedirects + \"', state: \" + this.state + \")\";\n    };\n    return RoutesRecognized;\n}());\nfunction defaultErrorHandler(error) {\n    throw error;\n}\n/**\n * @whatItDoes Provides the navigation and url manipulation capabilities.\n *\n * See {@link Routes} for more details and examples.\n *\n * @ngModule RouterModule\n *\n * @stable\n */\nexport var Router = (function () {\n    /**\n     * Creates the router service.\n     */\n    // TODO: vsavkin make internal after the final is out.\n    function Router(rootComponentType, urlSerializer, outletMap, location, injector, loader, compiler, config) {\n        this.rootComponentType = rootComponentType;\n        this.urlSerializer = urlSerializer;\n        this.outletMap = outletMap;\n        this.location = location;\n        this.injector = injector;\n        this.config = config;\n        this.navigationId = 0;\n        /**\n         * Error handler that is invoked when a navigation errors.\n         *\n         * See {@link ErrorHandler} for more information.\n         */\n        this.errorHandler = defaultErrorHandler;\n        /**\n         * Indicates if at least one navigation happened.\n         */\n        this.navigated = false;\n        this.resetConfig(config);\n        this.routerEvents = new Subject();\n        this.currentUrlTree = createEmptyUrlTree();\n        this.configLoader = new RouterConfigLoader(loader, compiler);\n        this.currentRouterState = createEmptyState(this.currentUrlTree, this.rootComponentType);\n    }\n    /**\n     * @internal\n     * TODO: this should be removed once the constructor of the router made internal\n     */\n    Router.prototype.resetRootComponentType = function (rootComponentType) {\n        this.rootComponentType = rootComponentType;\n        // TODO: vsavkin router 4.0 should make the root component set to null\n        // this will simplify the lifecycle of the router.\n        this.currentRouterState.root.component = this.rootComponentType;\n    };\n    /**\n     * Sets up the location change listener and performs the initial navigation.\n     */\n    Router.prototype.initialNavigation = function () {\n        this.setUpLocationChangeListener();\n        this.navigateByUrl(this.location.path(true), { replaceUrl: true });\n    };\n    /**\n     * Sets up the location change listener.\n     */\n    Router.prototype.setUpLocationChangeListener = function () {\n        var _this = this;\n        // Zone.current.wrap is needed because of the issue with RxJS scheduler,\n        // which does not work properly with zone.js in IE and Safari\n        this.locationSubscription = this.location.subscribe(Zone.current.wrap(function (change) {\n            var tree = _this.urlSerializer.parse(change['url']);\n            // we fire multiple events for a single URL change\n            // we should navigate only once\n            return _this.currentUrlTree.toString() !== tree.toString() ?\n                _this.scheduleNavigation(tree, { skipLocationChange: change['pop'], replaceUrl: true }) :\n                null;\n        }));\n    };\n    Object.defineProperty(Router.prototype, \"routerState\", {\n        /**\n         * Returns the current route state.\n         */\n        get: function () { return this.currentRouterState; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(Router.prototype, \"url\", {\n        /**\n         * Returns the current url.\n         */\n        get: function () { return this.serializeUrl(this.currentUrlTree); },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(Router.prototype, \"events\", {\n        /**\n         * Returns an observable of route events\n         */\n        get: function () { return this.routerEvents; },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * Resets the configuration used for navigation and generating links.\n     *\n     * ### Usage\n     *\n     * ```\n     * router.resetConfig([\n     *  { path: 'team/:id', component: TeamCmp, children: [\n     *    { path: 'simple', component: SimpleCmp },\n     *    { path: 'user/:name', component: UserCmp }\n     *  ] }\n     * ]);\n     * ```\n     */\n    Router.prototype.resetConfig = function (config) {\n        validateConfig(config);\n        this.config = config;\n    };\n    /**\n     * @docsNotRequired\n     */\n    Router.prototype.ngOnDestroy = function () { this.dispose(); };\n    /**\n     * Disposes of the router.\n     */\n    Router.prototype.dispose = function () { this.locationSubscription.unsubscribe(); };\n    /**\n     * Applies an array of commands to the current url tree and creates a new url tree.\n     *\n     * When given an activate route, applies the given commands starting from the route.\n     * When not given a route, applies the given command starting from the root.\n     *\n     * ### Usage\n     *\n     * ```\n     * // create /team/33/user/11\n     * router.createUrlTree(['/team', 33, 'user', 11]);\n     *\n     * // create /team/33;expand=true/user/11\n     * router.createUrlTree(['/team', 33, {expand: true}, 'user', 11]);\n     *\n     * // you can collapse static segments like this (this works only with the first passed-in value):\n     * router.createUrlTree(['/team/33/user', userId]);\n     *\n     * // If the first segment can contain slashes, and you do not want the router to split it, you\n     * // can do the following:\n     *\n     * router.createUrlTree([{segmentPath: '/one/two'}]);\n     *\n     * // create /team/33/(user/11//right:chat)\n     * router.createUrlTree(['/team', 33, {outlets: {primary: 'user/11', right: 'chat'}}]);\n     *\n     * // remove the right secondary node\n     * router.createUrlTree(['/team', 33, {outlets: {primary: 'user/11', right: null}}]);\n     *\n     * // assuming the current url is `/team/33/user/11` and the route points to `user/11`\n     *\n     * // navigate to /team/33/user/11/details\n     * router.createUrlTree(['details'], {relativeTo: route});\n     *\n     * // navigate to /team/33/user/22\n     * router.createUrlTree(['../22'], {relativeTo: route});\n     *\n     * // navigate to /team/44/user/22\n     * router.createUrlTree(['../../team/44/user/22'], {relativeTo: route});\n     * ```\n     */\n    Router.prototype.createUrlTree = function (commands, _a) {\n        var _b = _a === void 0 ? {} : _a, relativeTo = _b.relativeTo, queryParams = _b.queryParams, fragment = _b.fragment, preserveQueryParams = _b.preserveQueryParams, preserveFragment = _b.preserveFragment;\n        var a = relativeTo ? relativeTo : this.routerState.root;\n        var q = preserveQueryParams ? this.currentUrlTree.queryParams : queryParams;\n        var f = preserveFragment ? this.currentUrlTree.fragment : fragment;\n        return createUrlTree(a, this.currentUrlTree, commands, q, f);\n    };\n    /**\n     * Navigate based on the provided url. This navigation is always absolute.\n     *\n     * Returns a promise that:\n     * - is resolved with 'true' when navigation succeeds\n     * - is resolved with 'false' when navigation fails\n     * - is rejected when an error happens\n     *\n     * ### Usage\n     *\n     * ```\n     * router.navigateByUrl(\"/team/33/user/11\");\n     *\n     * // Navigate without updating the URL\n     * router.navigateByUrl(\"/team/33/user/11\", { skipLocationChange: true });\n     * ```\n     *\n     * In opposite to `navigate`, `navigateByUrl` takes a whole URL\n     * and does not apply any delta to the current one.\n     */\n    Router.prototype.navigateByUrl = function (url, extras) {\n        if (extras === void 0) { extras = { skipLocationChange: false }; }\n        if (url instanceof UrlTree) {\n            return this.scheduleNavigation(url, extras);\n        }\n        else {\n            var urlTree = this.urlSerializer.parse(url);\n            return this.scheduleNavigation(urlTree, extras);\n        }\n    };\n    /**\n     * Navigate based on the provided array of commands and a starting point.\n     * If no starting route is provided, the navigation is absolute.\n     *\n     * Returns a promise that:\n     * - is resolved with 'true' when navigation succeeds\n     * - is resolved with 'false' when navigation fails\n     * - is rejected when an error happens\n     *\n     * ### Usage\n     *\n     * ```\n     * router.navigate(['team', 33, 'user', 11], {relativeTo: route});\n     *\n     * // Navigate without updating the URL\n     * router.navigate(['team', 33, 'user', 11], {relativeTo: route, skipLocationChange: true });\n     * ```\n     *\n     * In opposite to `navigateByUrl`, `navigate` always takes a delta\n     * that is applied to the current URL.\n     */\n    Router.prototype.navigate = function (commands, extras) {\n        if (extras === void 0) { extras = { skipLocationChange: false }; }\n        return this.scheduleNavigation(this.createUrlTree(commands, extras), extras);\n    };\n    /**\n     * Serializes a {@link UrlTree} into a string.\n     */\n    Router.prototype.serializeUrl = function (url) { return this.urlSerializer.serialize(url); };\n    /**\n     * Parses a string into a {@link UrlTree}.\n     */\n    Router.prototype.parseUrl = function (url) { return this.urlSerializer.parse(url); };\n    /**\n     * Returns if the url is activated or not.\n     */\n    Router.prototype.isActive = function (url, exact) {\n        if (url instanceof UrlTree) {\n            return containsTree(this.currentUrlTree, url, exact);\n        }\n        else {\n            var urlTree = this.urlSerializer.parse(url);\n            return containsTree(this.currentUrlTree, urlTree, exact);\n        }\n    };\n    Router.prototype.scheduleNavigation = function (url, extras) {\n        var _this = this;\n        var id = ++this.navigationId;\n        this.routerEvents.next(new NavigationStart(id, this.serializeUrl(url)));\n        return Promise.resolve().then(function (_) { return _this.runNavigate(url, extras.skipLocationChange, extras.replaceUrl, id); });\n    };\n    Router.prototype.runNavigate = function (url, shouldPreventPushState, shouldReplaceUrl, id) {\n        var _this = this;\n        if (id !== this.navigationId) {\n            this.location.go(this.urlSerializer.serialize(this.currentUrlTree));\n            this.routerEvents.next(new NavigationCancel(id, this.serializeUrl(url), \"Navigation ID \" + id + \" is not equal to the current navigation id \" + this.navigationId));\n            return Promise.resolve(false);\n        }\n        return new Promise(function (resolvePromise, rejectPromise) {\n            var state;\n            var navigationIsSuccessful;\n            var preActivation;\n            var appliedUrl;\n            var storedState = _this.currentRouterState;\n            var storedUrl = _this.currentUrlTree;\n            var redirectsApplied$ = applyRedirects(_this.injector, _this.configLoader, url, _this.config);\n            var snapshot$ = mergeMap.call(redirectsApplied$, function (u) {\n                appliedUrl = u;\n                return recognize(_this.rootComponentType, _this.config, appliedUrl, _this.serializeUrl(appliedUrl));\n            });\n            var emitRecognzied$ = map.call(snapshot$, function (newRouterStateSnapshot) {\n                _this.routerEvents.next(new RoutesRecognized(id, _this.serializeUrl(url), _this.serializeUrl(appliedUrl), newRouterStateSnapshot));\n                return newRouterStateSnapshot;\n            });\n            var routerState$ = map.call(emitRecognzied$, function (routerStateSnapshot) {\n                return createRouterState(routerStateSnapshot, _this.currentRouterState);\n            });\n            var preactivation$ = map.call(routerState$, function (newState) {\n                state = newState;\n                preActivation =\n                    new PreActivation(state.snapshot, _this.currentRouterState.snapshot, _this.injector);\n                preActivation.traverse(_this.outletMap);\n            });\n            var preactivation2$ = mergeMap.call(preactivation$, function () { return preActivation.checkGuards(); });\n            var resolveData$ = mergeMap.call(preactivation2$, function (shouldActivate) {\n                if (shouldActivate) {\n                    return map.call(preActivation.resolveData(), function () { return shouldActivate; });\n                }\n                else {\n                    return of(shouldActivate);\n                }\n            });\n            resolveData$\n                .forEach(function (shouldActivate) {\n                if (!shouldActivate || id !== _this.navigationId) {\n                    navigationIsSuccessful = false;\n                    return;\n                }\n                _this.currentUrlTree = appliedUrl;\n                _this.currentRouterState = state;\n                if (!shouldPreventPushState) {\n                    var path = _this.urlSerializer.serialize(appliedUrl);\n                    if (_this.location.isCurrentPathEqualTo(path) || shouldReplaceUrl) {\n                        _this.location.replaceState(path);\n                    }\n                    else {\n                        _this.location.go(path);\n                    }\n                }\n                new ActivateRoutes(state, storedState).activate(_this.outletMap);\n                navigationIsSuccessful = true;\n            })\n                .then(function () {\n                _this.navigated = true;\n                if (navigationIsSuccessful) {\n                    _this.routerEvents.next(new NavigationEnd(id, _this.serializeUrl(url), _this.serializeUrl(appliedUrl)));\n                    resolvePromise(true);\n                }\n                else {\n                    _this.routerEvents.next(new NavigationCancel(id, _this.serializeUrl(url), ''));\n                    resolvePromise(false);\n                }\n            }, function (e) {\n                if (e instanceof NavigationCancelingError) {\n                    _this.navigated = true;\n                    _this.routerEvents.next(new NavigationCancel(id, _this.serializeUrl(url), e.message));\n                    resolvePromise(false);\n                }\n                else {\n                    _this.routerEvents.next(new NavigationError(id, _this.serializeUrl(url), e));\n                    try {\n                        resolvePromise(_this.errorHandler(e));\n                    }\n                    catch (ee) {\n                        rejectPromise(ee);\n                    }\n                }\n                if (id === _this.navigationId) {\n                    _this.currentRouterState = storedState;\n                    _this.currentUrlTree = storedUrl;\n                    _this.location.replaceState(_this.serializeUrl(storedUrl));\n                }\n            });\n        });\n    };\n    return Router;\n}());\nvar CanActivate = (function () {\n    function CanActivate(path) {\n        this.path = path;\n    }\n    Object.defineProperty(CanActivate.prototype, \"route\", {\n        get: function () { return this.path[this.path.length - 1]; },\n        enumerable: true,\n        configurable: true\n    });\n    return CanActivate;\n}());\nvar CanDeactivate = (function () {\n    function CanDeactivate(component, route) {\n        this.component = component;\n        this.route = route;\n    }\n    return CanDeactivate;\n}());\nexport var PreActivation = (function () {\n    function PreActivation(future, curr, injector) {\n        this.future = future;\n        this.curr = curr;\n        this.injector = injector;\n        this.checks = [];\n    }\n    PreActivation.prototype.traverse = function (parentOutletMap) {\n        var futureRoot = this.future._root;\n        var currRoot = this.curr ? this.curr._root : null;\n        this.traverseChildRoutes(futureRoot, currRoot, parentOutletMap, [futureRoot.value]);\n    };\n    PreActivation.prototype.checkGuards = function () {\n        var _this = this;\n        if (this.checks.length === 0)\n            return of(true);\n        var checks$ = from(this.checks);\n        var runningChecks$ = map.call(checks$, function (s) {\n            if (s instanceof CanActivate) {\n                return andObservables(from([_this.runCanActivateChild(s.path), _this.runCanActivate(s.route)]));\n            }\n            else if (s instanceof CanDeactivate) {\n                // workaround https://github.com/Microsoft/TypeScript/issues/7271\n                var s2 = s;\n                return _this.runCanDeactivate(s2.component, s2.route);\n            }\n            else {\n                throw new Error('Cannot be reached');\n            }\n        });\n        var mergedChecks$ = mergeAll.call(runningChecks$);\n        return every.call(mergedChecks$, function (result) { return result === true; });\n    };\n    PreActivation.prototype.resolveData = function () {\n        var _this = this;\n        if (this.checks.length === 0)\n            return of(null);\n        var checks$ = from(this.checks);\n        var runningChecks$ = concatMap.call(checks$, function (s) {\n            if (s instanceof CanActivate) {\n                return _this.runResolve(s.route);\n            }\n            else {\n                return of(null);\n            }\n        });\n        return reduce.call(runningChecks$, function (_, __) { return _; });\n    };\n    PreActivation.prototype.traverseChildRoutes = function (futureNode, currNode, outletMap, futurePath) {\n        var _this = this;\n        var prevChildren = nodeChildrenAsMap(currNode);\n        futureNode.children.forEach(function (c) {\n            _this.traverseRoutes(c, prevChildren[c.value.outlet], outletMap, futurePath.concat([c.value]));\n            delete prevChildren[c.value.outlet];\n        });\n        forEach(prevChildren, function (v, k) { return _this.deactiveRouteAndItsChildren(v, outletMap._outlets[k]); });\n    };\n    PreActivation.prototype.traverseRoutes = function (futureNode, currNode, parentOutletMap, futurePath) {\n        var future = futureNode.value;\n        var curr = currNode ? currNode.value : null;\n        var outlet = parentOutletMap ? parentOutletMap._outlets[futureNode.value.outlet] : null;\n        // reusing the node\n        if (curr && future._routeConfig === curr._routeConfig) {\n            if (!shallowEqual(future.params, curr.params)) {\n                this.checks.push(new CanDeactivate(outlet.component, curr), new CanActivate(futurePath));\n            }\n            else {\n                // we need to set the data\n                future.data = curr.data;\n                future._resolvedData = curr._resolvedData;\n            }\n            // If we have a component, we need to go through an outlet.\n            if (future.component) {\n                this.traverseChildRoutes(futureNode, currNode, outlet ? outlet.outletMap : null, futurePath);\n            }\n            else {\n                this.traverseChildRoutes(futureNode, currNode, parentOutletMap, futurePath);\n            }\n        }\n        else {\n            if (curr) {\n                this.deactiveRouteAndItsChildren(currNode, outlet);\n            }\n            this.checks.push(new CanActivate(futurePath));\n            // If we have a component, we need to go through an outlet.\n            if (future.component) {\n                this.traverseChildRoutes(futureNode, null, outlet ? outlet.outletMap : null, futurePath);\n            }\n            else {\n                this.traverseChildRoutes(futureNode, null, parentOutletMap, futurePath);\n            }\n        }\n    };\n    PreActivation.prototype.deactiveRouteAndItsChildren = function (route, outlet) {\n        var _this = this;\n        var prevChildren = nodeChildrenAsMap(route);\n        forEach(prevChildren, function (v, k) {\n            var childOutlet = outlet ? outlet.outletMap._outlets[k] : null;\n            _this.deactiveRouteAndItsChildren(v, childOutlet);\n        });\n        var component = outlet && outlet.isActivated ? outlet.component : null;\n        this.checks.push(new CanDeactivate(component, route.value));\n    };\n    PreActivation.prototype.runCanActivate = function (future) {\n        var _this = this;\n        var canActivate = future._routeConfig ? future._routeConfig.canActivate : null;\n        if (!canActivate || canActivate.length === 0)\n            return of(true);\n        var obs = map.call(from(canActivate), function (c) {\n            var guard = _this.getToken(c, future);\n            if (guard.canActivate) {\n                return wrapIntoObservable(guard.canActivate(future, _this.future));\n            }\n            else {\n                return wrapIntoObservable(guard(future, _this.future));\n            }\n        });\n        return andObservables(obs);\n    };\n    PreActivation.prototype.runCanActivateChild = function (path) {\n        var _this = this;\n        var future = path[path.length - 1];\n        var canActivateChildGuards = path.slice(0, path.length - 1)\n            .reverse()\n            .map(function (p) { return _this.extractCanActivateChild(p); })\n            .filter(function (_) { return _ !== null; });\n        return andObservables(map.call(from(canActivateChildGuards), function (d) {\n            var obs = map.call(from(d.guards), function (c) {\n                var guard = _this.getToken(c, c.node);\n                if (guard.canActivateChild) {\n                    return wrapIntoObservable(guard.canActivateChild(future, _this.future));\n                }\n                else {\n                    return wrapIntoObservable(guard(future, _this.future));\n                }\n            });\n            return andObservables(obs);\n        }));\n    };\n    PreActivation.prototype.extractCanActivateChild = function (p) {\n        var canActivateChild = p._routeConfig ? p._routeConfig.canActivateChild : null;\n        if (!canActivateChild || canActivateChild.length === 0)\n            return null;\n        return { node: p, guards: canActivateChild };\n    };\n    PreActivation.prototype.runCanDeactivate = function (component, curr) {\n        var _this = this;\n        var canDeactivate = curr && curr._routeConfig ? curr._routeConfig.canDeactivate : null;\n        if (!canDeactivate || canDeactivate.length === 0)\n            return of(true);\n        var canDeactivate$ = map.call(from(canDeactivate), function (c) {\n            var guard = _this.getToken(c, curr);\n            if (guard.canDeactivate) {\n                return wrapIntoObservable(guard.canDeactivate(component, curr, _this.curr));\n            }\n            else {\n                return wrapIntoObservable(guard(component, curr, _this.curr));\n            }\n        });\n        var merged$ = mergeAll.call(canDeactivate$);\n        return every.call(merged$, function (result) { return result === true; });\n    };\n    PreActivation.prototype.runResolve = function (future) {\n        var resolve = future._resolve;\n        return map.call(this.resolveNode(resolve, future), function (resolvedData) {\n            future._resolvedData = resolvedData;\n            future.data = merge(future.data, inheritedParamsDataResolve(future).resolve);\n            return null;\n        });\n    };\n    PreActivation.prototype.resolveNode = function (resolve, future) {\n        var _this = this;\n        return waitForMap(resolve, function (k, v) {\n            var resolver = _this.getToken(v, future);\n            return resolver.resolve ? wrapIntoObservable(resolver.resolve(future, _this.future)) :\n                wrapIntoObservable(resolver(future, _this.future));\n        });\n    };\n    PreActivation.prototype.getToken = function (token, snapshot) {\n        var config = closestLoadedConfig(snapshot);\n        var injector = config ? config.injector : this.injector;\n        return injector.get(token);\n    };\n    return PreActivation;\n}());\nvar ActivateRoutes = (function () {\n    function ActivateRoutes(futureState, currState) {\n        this.futureState = futureState;\n        this.currState = currState;\n    }\n    ActivateRoutes.prototype.activate = function (parentOutletMap) {\n        var futureRoot = this.futureState._root;\n        var currRoot = this.currState ? this.currState._root : null;\n        advanceActivatedRoute(this.futureState.root);\n        this.activateChildRoutes(futureRoot, currRoot, parentOutletMap);\n    };\n    ActivateRoutes.prototype.activateChildRoutes = function (futureNode, currNode, outletMap) {\n        var _this = this;\n        var prevChildren = nodeChildrenAsMap(currNode);\n        futureNode.children.forEach(function (c) {\n            _this.activateRoutes(c, prevChildren[c.value.outlet], outletMap);\n            delete prevChildren[c.value.outlet];\n        });\n        forEach(prevChildren, function (v, k) { return _this.deactiveRouteAndItsChildren(v, outletMap); });\n    };\n    ActivateRoutes.prototype.activateRoutes = function (futureNode, currNode, parentOutletMap) {\n        var future = futureNode.value;\n        var curr = currNode ? currNode.value : null;\n        // reusing the node\n        if (future === curr) {\n            // advance the route to push the parameters\n            advanceActivatedRoute(future);\n            // If we have a normal route, we need to go through an outlet.\n            if (future.component) {\n                var outlet = getOutlet(parentOutletMap, future);\n                this.activateChildRoutes(futureNode, currNode, outlet.outletMap);\n            }\n            else {\n                this.activateChildRoutes(futureNode, currNode, parentOutletMap);\n            }\n        }\n        else {\n            if (curr) {\n                this.deactiveRouteAndItsChildren(currNode, parentOutletMap);\n            }\n            // if we have a normal route, we need to advance the route\n            // and place the component into the outlet. After that recurse.\n            if (future.component) {\n                advanceActivatedRoute(future);\n                var outlet = getOutlet(parentOutletMap, futureNode.value);\n                var outletMap = new RouterOutletMap();\n                this.placeComponentIntoOutlet(outletMap, future, outlet);\n                this.activateChildRoutes(futureNode, null, outletMap);\n            }\n            else {\n                advanceActivatedRoute(future);\n                this.activateChildRoutes(futureNode, null, parentOutletMap);\n            }\n        }\n    };\n    ActivateRoutes.prototype.placeComponentIntoOutlet = function (outletMap, future, outlet) {\n        var resolved = [{ provide: ActivatedRoute, useValue: future }, {\n                provide: RouterOutletMap,\n                useValue: outletMap\n            }];\n        var config = parentLoadedConfig(future.snapshot);\n        var loadedFactoryResolver = null;\n        var loadedInjector = null;\n        if (config) {\n            loadedFactoryResolver = config.factoryResolver;\n            loadedInjector = config.injector;\n            resolved.push({ provide: ComponentFactoryResolver, useValue: loadedFactoryResolver });\n        }\n        outlet.activate(future, loadedFactoryResolver, loadedInjector, ReflectiveInjector.resolve(resolved), outletMap);\n    };\n    ActivateRoutes.prototype.deactiveRouteAndItsChildren = function (route, parentOutletMap) {\n        var _this = this;\n        var prevChildren = nodeChildrenAsMap(route);\n        var outlet = null;\n        // getOutlet throws when cannot find the right outlet,\n        // which can happen if an outlet was in an NgIf and was removed\n        try {\n            outlet = getOutlet(parentOutletMap, route.value);\n        }\n        catch (e) {\n            return;\n        }\n        var childOutletMap = outlet.outletMap;\n        forEach(prevChildren, function (v, k) {\n            if (route.value.component) {\n                _this.deactiveRouteAndItsChildren(v, childOutletMap);\n            }\n            else {\n                _this.deactiveRouteAndItsChildren(v, parentOutletMap);\n            }\n        });\n        if (outlet && outlet.isActivated) {\n            outlet.deactivate();\n        }\n    };\n    return ActivateRoutes;\n}());\nfunction parentLoadedConfig(snapshot) {\n    var s = snapshot.parent;\n    while (s) {\n        var c = s._routeConfig;\n        if (c && c._loadedConfig)\n            return c._loadedConfig;\n        if (c && c.component)\n            return null;\n        s = s.parent;\n    }\n    return null;\n}\nfunction closestLoadedConfig(snapshot) {\n    if (!snapshot)\n        return null;\n    var s = snapshot.parent;\n    while (s) {\n        var c = s._routeConfig;\n        if (c && c._loadedConfig)\n            return c._loadedConfig;\n        s = s.parent;\n    }\n    return null;\n}\nfunction nodeChildrenAsMap(node) {\n    return node ? node.children.reduce(function (m, c) {\n        m[c.value.outlet] = c;\n        return m;\n    }, {}) : {};\n}\nfunction getOutlet(outletMap, route) {\n    var outlet = outletMap._outlets[route.outlet];\n    if (!outlet) {\n        var componentName = route.component.name;\n        if (route.outlet === PRIMARY_OUTLET) {\n            throw new Error(\"Cannot find primary outlet to load '\" + componentName + \"'\");\n        }\n        else {\n            throw new Error(\"Cannot find the outlet \" + route.outlet + \" to load '\" + componentName + \"'\");\n        }\n    }\n    return outlet;\n}\n//# sourceMappingURL=router.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/router/src/router.js\n// module id = 160\n// module chunks = 0","/**\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 */\nimport { Compiler, OpaqueToken } from '@angular/core';\nimport { fromPromise } from 'rxjs/observable/fromPromise';\nimport { of } from 'rxjs/observable/of';\nimport { map } from 'rxjs/operator/map';\nimport { mergeMap } from 'rxjs/operator/mergeMap';\nimport { flatten, wrapIntoObservable } from './utils/collection';\n/**\n * @experimental\n */\nexport var ROUTES = new OpaqueToken('ROUTES');\nexport var LoadedRouterConfig = (function () {\n    function LoadedRouterConfig(routes, injector, factoryResolver) {\n        this.routes = routes;\n        this.injector = injector;\n        this.factoryResolver = factoryResolver;\n    }\n    return LoadedRouterConfig;\n}());\nexport var RouterConfigLoader = (function () {\n    function RouterConfigLoader(loader, compiler) {\n        this.loader = loader;\n        this.compiler = compiler;\n    }\n    RouterConfigLoader.prototype.load = function (parentInjector, loadChildren) {\n        return map.call(this.loadModuleFactory(loadChildren), function (r) {\n            var ref = r.create(parentInjector);\n            return new LoadedRouterConfig(flatten(ref.injector.get(ROUTES)), ref.injector, ref.componentFactoryResolver);\n        });\n    };\n    RouterConfigLoader.prototype.loadModuleFactory = function (loadChildren) {\n        var _this = this;\n        if (typeof loadChildren === 'string') {\n            return fromPromise(this.loader.load(loadChildren));\n        }\n        else {\n            var offlineMode_1 = this.compiler instanceof Compiler;\n            return mergeMap.call(wrapIntoObservable(loadChildren()), function (t) { return offlineMode_1 ? of(t) : fromPromise(_this.compiler.compileModuleAsync(t)); });\n        }\n    };\n    return RouterConfigLoader;\n}());\n//# sourceMappingURL=router_config_loader.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/router/src/router_config_loader.js\n// module id = 161\n// module chunks = 0","/*\r\n * Inspinia js helpers:\r\n *\r\n * correctHeight() - fix the height of main wrapper\r\n * detectBody() - detect windows size\r\n * smoothlyMenu() - add smooth fade in/out on navigation show/hide\r\n *\r\n */\r\n\r\ndeclare var jQuery:any;\r\n\r\nexport function correctHeight() {\r\n\r\n  var pageWrapper = jQuery('#page-wrapper');\r\n  var navbarHeight = jQuery('nav.navbar-default').height();\r\n  var wrapperHeigh = pageWrapper.height();\r\n\r\n  if (navbarHeight > wrapperHeigh) {\r\n    pageWrapper.css(\"min-height\", navbarHeight + \"px\");\r\n  }\r\n\r\n  if (navbarHeight < wrapperHeigh) {\r\n    if (navbarHeight < jQuery(window).height()) {\r\n      pageWrapper.css(\"min-height\", jQuery(window).height() + \"px\");\r\n    } else {\r\n      pageWrapper.css(\"min-height\", navbarHeight + \"px\");\r\n    }\r\n  }\r\n\r\n  if (jQuery('body').hasClass('fixed-nav')) {\r\n    if (navbarHeight > wrapperHeigh) {\r\n      pageWrapper.css(\"min-height\", navbarHeight + \"px\");\r\n    } else {\r\n      pageWrapper.css(\"min-height\", jQuery(window).height() - 60 + \"px\");\r\n    }\r\n  }\r\n}\r\n\r\nexport function detectBody() {\r\n  if (jQuery(document).width() < 769) {\r\n    jQuery('body').addClass('body-small')\r\n  } else {\r\n    jQuery('body').removeClass('body-small')\r\n  }\r\n}\r\n\r\nexport function smoothlyMenu() {\r\n  if (!jQuery('body').hasClass('mini-navbar') || jQuery('body').hasClass('body-small')) {\r\n    // Hide menu in order to smoothly turn on when maximize menu\r\n    jQuery('#side-menu').hide();\r\n    // For smoothly turn on menu\r\n    setTimeout(\r\n      function () {\r\n        jQuery('#side-menu').fadeIn(400);\r\n      }, 200);\r\n  } else if (jQuery('body').hasClass('fixed-sidebar')) {\r\n    jQuery('#side-menu').hide();\r\n    setTimeout(\r\n      function () {\r\n        jQuery('#side-menu').fadeIn(400);\r\n      }, 100);\r\n  } else {\r\n    // Remove all inline style from jquery fadeIn function to reset menu state\r\n    jQuery('#side-menu').removeAttr('style');\r\n  }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/app.helpers.ts","import { Injectable } from \"@angular/core\";\r\n\r\nexport interface CurrentDeliveryType {\r\n  deliveryname: string;\r\n  image_url: string;\r\n  icon_url: string;\r\n  description: string;\r\n  _id: Object;\r\n}\r\n\r\nexport interface CurrentLocation {\r\n  city1: string;\r\n  city2: string;\r\n  city3: string;\r\n  country: string;\r\n  country_code: string;\r\n  country_code_2: string;\r\n  city_code: string;\r\n  latitude: any;\r\n  longitude: any;\r\n  address: string;\r\n}\r\n\r\n@Injectable()\r\nexport class Router_id {\r\n  public store: any;\r\n  public filter: any;\r\n  public user_filter: any;\r\n  public history_filter: any;\r\n  public store_filter: any;\r\n  public provider_filter: any;\r\n  public admin: any;\r\n  public user: any;\r\n  public franchise: any;\r\n  public delivery_tag: any[] = [];\r\n  public user_current_delivery_type: CurrentDeliveryType;\r\n  public user_current_store: Object = {};\r\n  public user_current_location: CurrentLocation;\r\n  hopper_order_count: number = 0;\r\n  hop_order_count: number = 0;\r\n  city_order_count: any[] = [];\r\n  city_hopper_count: any[] = [];\r\n\r\n  select_year: any;\r\n  select_month: any;\r\n\r\n  public constructor() {\r\n    this.store = {\r\n      store_id: \"\",\r\n      product_id: \"\",\r\n      specification_product_id: \"\",\r\n      item_id: \"\",\r\n      order_id: \"\",\r\n      view_order_earning_id: \"\",\r\n      daily_earning_date: \"\",\r\n      store_promo_id: \"\",\r\n      new_order_list: [],\r\n      no_deliveryman_orders: [],\r\n    };\r\n    this.franchise = {\r\n      franchise_id: \"\",\r\n      product_id: \"\",\r\n      specification_product_id: \"\",\r\n      item_id: \"\",\r\n      order_id: \"\",\r\n      view_order_earning_id: \"\",\r\n      daily_earning_date: \"\",\r\n      detail_store_id: \"\",\r\n      store_id: \"\",\r\n      history_store_id: \"\",\r\n      item_store_id: \"\",\r\n      store_promo_id: \"\",\r\n    };\r\n    this.admin = {\r\n      country_id: \"\",\r\n      provider_id: \"\",\r\n      user_id: \"\",\r\n      store_id: \"\",\r\n      city_id: \"\",\r\n      document_type: null,\r\n      page_type: null,\r\n      order_id: \"\",\r\n      vehicle_id: \"\",\r\n      delivery_id: \"\",\r\n      document_id: \"\",\r\n      detail_user_id: \"\",\r\n      detail_store_id: \"\",\r\n      promo_id: \"\",\r\n      promo_uses_id: \"\",\r\n      admin_id: \"\",\r\n      history_provider_id: \"\",\r\n      history_user_id: \"\",\r\n      history_store_id: \"\",\r\n      invoice_order_id: \"\",\r\n      sms_id: \"\",\r\n      email_id: \"\",\r\n      service_id: \"\",\r\n      view_earning_id: \"\",\r\n      view_order_earning_id: \"\",\r\n      provider_weekly_earning_id: \"\",\r\n      store_weekly_earning_id: \"\",\r\n      payment_gateway_id: \"\",\r\n      review_id: \"\",\r\n      view_review_detail_id: \"\",\r\n      view_provider_bank_detail_id: \"\",\r\n      provider_vehicle_id: \"\",\r\n      pro_vehicle_id: \"\",\r\n\r\n      view_promo_start_date: \"\",\r\n      view_promo_end_date: \"\",\r\n      advertise_id: \"\",\r\n      request_id: \"\",\r\n      wallet_request_bank_detail_id: \"\",\r\n      back_url_show: false,\r\n      user_detail: null,\r\n      store_detail: null,\r\n      provider_detail: null,\r\n    };\r\n\r\n    this.filter = {\r\n      country_id: \"\",\r\n      search_field: \"user_first_name\",\r\n      search_value: \"\",\r\n      provider_ids: [],\r\n      store_ids: [],\r\n      city_id: \"\",\r\n      type_of_order: 0,\r\n      number_of_rec: 500,\r\n      country_ids: [],\r\n      city_ids: [],\r\n    };\r\n\r\n    this.user_filter = {\r\n      search_field: \"first_name\",\r\n      search_value: \"\",\r\n      number_of_rec: 100,\r\n      user_page_type: 1,\r\n      page: 1,\r\n      id: \"\",\r\n    };\r\n\r\n    this.history_filter = {\r\n      search_field: \"user_first_name\",\r\n      search_value: \"\",\r\n      end_date: \"\",\r\n      start_date: \"\",\r\n      page: 1,\r\n      id: \"\",\r\n    };\r\n\r\n    this.store_filter = {\r\n      country_id: \"\",\r\n      search_field: \"name\",\r\n      search_value: \"\",\r\n      number_of_rec: 100,\r\n      store_page_type: 1,\r\n      page: 1,\r\n      id: \"\",\r\n    };\r\n\r\n    this.provider_filter = {\r\n      country_id: \"\",\r\n      search_field: \"first_name\",\r\n      search_value: \"\",\r\n      number_of_rec: 100,\r\n      provider_page_type: 2,\r\n      page: 1,\r\n      id: \"\",\r\n    };\r\n\r\n    this.user = {\r\n      delivery_type_id: \"\",\r\n      city_id: \"\",\r\n      store_id: \"\",\r\n      currency: \"\",\r\n      delivery_currency: \"\",\r\n    };\r\n\r\n    this.user_current_delivery_type = {\r\n      deliveryname: \"\",\r\n      image_url: \"\",\r\n      icon_url: \"\",\r\n      description: \"\",\r\n      _id: null,\r\n    };\r\n\r\n    this.user_current_location = {\r\n      city1: \"\",\r\n      city2: \"\",\r\n      city3: \"\",\r\n      country: \"\",\r\n      country_code: \"\",\r\n      country_code_2: \"\",\r\n      city_code: \"\",\r\n      latitude: \"\",\r\n      longitude: \"\",\r\n      address: \"\",\r\n    };\r\n  }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/routing_hidden_id.ts","/**\r\n * @license\r\n * Copyright (C) 2016 Dizzy <itsdizzy40@gmail.com>\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file.\r\n */\r\n\"use strict\";\r\nvar auth_module_1 = require('./auth.module');\r\nexports.AuthModule = auth_module_1.AuthModule;\r\nvar auth_config_1 = require('./auth.config');\r\nexports.AuthConfig = auth_config_1.AuthConfig;\r\nvar auth_guards_1 = require('./auth.guards');\r\nexports.LoggedInAuthGuard = auth_guards_1.LoggedInAuthGuard;\r\nexports.LoggedOutAuthGuard = auth_guards_1.LoggedOutAuthGuard;\r\nvar auth_http_1 = require('./auth.http');\r\nexports.AuthHttp = auth_http_1.AuthHttp;\r\nvar token_service_1 = require('./token.service');\r\nexports.TokenService = token_service_1.TokenService;\r\nvar token_model_1 = require('./token.model');\r\nexports.Token = token_model_1.Token;\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/angular2-auth/dist/index.js\n// module id = 164\n// module chunks = 0","var core = module.exports = {version: '2.4.0'};\nif(typeof __e == 'number')__e = core; // eslint-disable-line no-undef\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_core.js\n// module id = 165\n// module chunks = 0","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function(){\n  return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_descriptors.js\n// module id = 166\n// module chunks = 0","var dP         = require('./_object-dp')\n  , createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function(object, key, value){\n  return dP.f(object, key, createDesc(1, value));\n} : function(object, key, value){\n  object[key] = value;\n  return object;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_hide.js\n// module id = 167\n// module chunks = 0","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables')\n  , ArrayProto  = Array.prototype;\nif(ArrayProto[UNSCOPABLES] == undefined)require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function(key){\n  ArrayProto[UNSCOPABLES][key] = true;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_add-to-unscopables.js\n// module id = 168\n// module chunks = 0","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_iobject.js\n// module id = 169\n// module chunks = 0","module.exports = {};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_iterators.js\n// module id = 170\n// module chunks = 0","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys      = require('./_object-keys-internal')\n  , hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O){\n  return $keys(O, hiddenKeys);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_object-gopn.js\n// module id = 171\n// module chunks = 0","var toInteger = require('./_to-integer')\n  , max       = Math.max\n  , min       = Math.min;\nmodule.exports = function(index, length){\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_to-index.js\n// module id = 172\n// module chunks = 0","var id = 0\n  , px = Math.random();\nmodule.exports = function(key){\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_uid.js\n// module id = 173\n// module chunks = 0","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\n\nfunction isArray(arg) {\n  if (Array.isArray) {\n    return Array.isArray(arg);\n  }\n  return objectToString(arg) === '[object Array]';\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n  return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n  return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n  return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n  return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n  return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n  return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n  return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n  return objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n  return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n  return objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n  return (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n  return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n  return arg === null ||\n         typeof arg === 'boolean' ||\n         typeof arg === 'number' ||\n         typeof arg === 'string' ||\n         typeof arg === 'symbol' ||  // ES6 symbol\n         typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = Buffer.isBuffer;\n\nfunction objectToString(o) {\n  return Object.prototype.toString.call(o);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-util-is/lib/util.js\n// module id = 174\n// module chunks = 0","\"use strict\";\nvar core_1 = require('@angular/core');\nvar modal_instance_1 = require('./modal-instance');\nvar ModalComponent = (function () {\n    function ModalComponent(element) {\n        var _this = this;\n        this.element = element;\n        this.overrideSize = null;\n        this.visible = false;\n        this.animation = true;\n        this.backdrop = true;\n        this.keyboard = true;\n        this.cssClass = '';\n        this.onClose = new core_1.EventEmitter(false);\n        this.onDismiss = new core_1.EventEmitter(false);\n        this.onOpen = new core_1.EventEmitter(false);\n        this.instance = new modal_instance_1.ModalInstance(this.element);\n        this.instance.hidden.subscribe(function (result) {\n            _this.visible = _this.instance.visible;\n            if (result === modal_instance_1.ModalResult.Dismiss) {\n                _this.onDismiss.emit(undefined);\n            }\n        });\n        this.instance.shown.subscribe(function () {\n            _this.onOpen.emit(undefined);\n        });\n    }\n    Object.defineProperty(ModalComponent.prototype, \"fadeClass\", {\n        get: function () {\n            return this.animation;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(ModalComponent.prototype, \"dataKeyboardAttr\", {\n        get: function () {\n            return this.keyboard;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(ModalComponent.prototype, \"dataBackdropAttr\", {\n        get: function () {\n            return this.backdrop;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    ModalComponent.prototype.ngOnDestroy = function () {\n        return this.instance && this.instance.destroy();\n    };\n    ModalComponent.prototype.routerCanDeactivate = function () {\n        return this.ngOnDestroy();\n    };\n    ModalComponent.prototype.open = function (size) {\n        var _this = this;\n        if (ModalSize.validSize(size))\n            this.overrideSize = size;\n        return this.instance.open().then(function () {\n            _this.visible = _this.instance.visible;\n        });\n    };\n    ModalComponent.prototype.close = function (value) {\n        var _this = this;\n        return this.instance.close().then(function () {\n            _this.onClose.emit(value);\n        });\n    };\n    ModalComponent.prototype.dismiss = function () {\n        return this.instance.dismiss();\n    };\n    ModalComponent.prototype.getCssClasses = function () {\n        var classes = [];\n        if (this.isSmall()) {\n            classes.push('modal-sm');\n        }\n        if (this.isLarge()) {\n            classes.push('modal-lg');\n        }\n        if (this.cssClass !== '') {\n            classes.push(this.cssClass);\n        }\n        return classes.join(' ');\n    };\n    ModalComponent.prototype.isSmall = function () {\n        return this.overrideSize !== ModalSize.Large\n            && this.size === ModalSize.Small\n            || this.overrideSize === ModalSize.Small;\n    };\n    ModalComponent.prototype.isLarge = function () {\n        return this.overrideSize !== ModalSize.Small\n            && this.size === ModalSize.Large\n            || this.overrideSize === ModalSize.Large;\n    };\n    ModalComponent.decorators = [\n        { type: core_1.Component, args: [{\n                    selector: 'modal',\n                    host: {\n                        'class': 'modal',\n                        'role': 'dialog',\n                        'tabindex': '-1'\n                    },\n                    template: \"\\n        <div class=\\\"modal-dialog\\\" [ngClass]=\\\"getCssClasses()\\\">\\n            <div class=\\\"modal-content\\\">\\n                <ng-content></ng-content>\\n            </div>\\n        </div>\\n    \"\n                },] },\n    ];\n    /** @nocollapse */\n    ModalComponent.ctorParameters = [\n        { type: core_1.ElementRef, },\n    ];\n    ModalComponent.propDecorators = {\n        'animation': [{ type: core_1.Input },],\n        'backdrop': [{ type: core_1.Input },],\n        'keyboard': [{ type: core_1.Input },],\n        'size': [{ type: core_1.Input },],\n        'cssClass': [{ type: core_1.Input },],\n        'onClose': [{ type: core_1.Output },],\n        'onDismiss': [{ type: core_1.Output },],\n        'onOpen': [{ type: core_1.Output },],\n        'fadeClass': [{ type: core_1.HostBinding, args: ['class.fade',] },],\n        'dataKeyboardAttr': [{ type: core_1.HostBinding, args: ['attr.data-keyboard',] },],\n        'dataBackdropAttr': [{ type: core_1.HostBinding, args: ['attr.data-backdrop',] },],\n    };\n    return ModalComponent;\n}());\nexports.ModalComponent = ModalComponent;\nvar ModalSize = (function () {\n    function ModalSize() {\n    }\n    ModalSize.validSize = function (size) {\n        return size && (size === ModalSize.Small || size === ModalSize.Large);\n    };\n    ModalSize.Small = 'sm';\n    ModalSize.Large = 'lg';\n    return ModalSize;\n}());\nexports.ModalSize = ModalSize;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbmcyLWJzMy1tb2RhbC9jb21wb25lbnRzL21vZGFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxxQkFBeUcsZUFBZSxDQUFDLENBQUE7QUFDekgsK0JBQTJDLGtCQUFrQixDQUFDLENBQUE7QUFHOUQ7SUE2Qkksd0JBQW9CLE9BQW1CO1FBN0IzQyxpQkFvSUM7UUF2R3VCLFlBQU8sR0FBUCxPQUFPLENBQVk7UUEzQi9CLGlCQUFZLEdBQVcsSUFBSSxDQUFDO1FBR3BDLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFeEIsY0FBUyxHQUFZLElBQUksQ0FBQztRQUMxQixhQUFRLEdBQXFCLElBQUksQ0FBQztRQUNsQyxhQUFRLEdBQVksSUFBSSxDQUFDO1FBRXpCLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFFdEIsWUFBTyxHQUFzQixJQUFJLG1CQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckQsY0FBUyxHQUFzQixJQUFJLG1CQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkQsV0FBTSxHQUFzQixJQUFJLG1CQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFlakQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLDhCQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWhELElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFDLE1BQU07WUFDbEMsS0FBSSxDQUFDLE9BQU8sR0FBRyxLQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztZQUNyQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssNEJBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2dCQUNqQyxLQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNuQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsUUFBUSxDQUFD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\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-bs3-modal/components/modal.js\n// module id = 175\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar toast_1 = require(\"./src/toast\");\nexports.Toast = toast_1.Toast;\nvar toast_manager_1 = require(\"./src/toast-manager\");\nexports.ToastsManager = toast_manager_1.ToastsManager;\nvar toast_container_component_1 = require(\"./src/toast-container.component\");\nexports.ToastContainer = toast_container_component_1.ToastContainer;\nvar toast_options_1 = require(\"./src/toast-options\");\nexports.ToastOptions = toast_options_1.ToastOptions;\nvar toast_module_1 = require(\"./src/toast.module\");\nexports.ToastModule = toast_module_1.ToastModule;\n//# sourceMappingURL=ng2-toastr.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-toastr/ng2-toastr.js\n// module id = 176\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('./Observable');\n/**\n * Represents a push-based event or value that an {@link Observable} can emit.\n * This class is particularly useful for operators that manage notifications,\n * like {@link materialize}, {@link dematerialize}, {@link observeOn}, and\n * others. Besides wrapping the actual delivered value, it also annotates it\n * with metadata of, for instance, what type of push message it is (`next`,\n * `error`, or `complete`).\n *\n * @see {@link materialize}\n * @see {@link dematerialize}\n * @see {@link observeOn}\n *\n * @class Notification<T>\n */\nvar Notification = (function () {\n    function Notification(kind, value, exception) {\n        this.kind = kind;\n        this.value = value;\n        this.exception = exception;\n        this.hasValue = kind === 'N';\n    }\n    /**\n     * Delivers to the given `observer` the value wrapped by this Notification.\n     * @param {Observer} observer\n     * @return\n     */\n    Notification.prototype.observe = function (observer) {\n        switch (this.kind) {\n            case 'N':\n                return observer.next && observer.next(this.value);\n            case 'E':\n                return observer.error && observer.error(this.exception);\n            case 'C':\n                return observer.complete && observer.complete();\n        }\n    };\n    /**\n     * Given some {@link Observer} callbacks, deliver the value represented by the\n     * current Notification to the correctly corresponding callback.\n     * @param {function(value: T): void} next An Observer `next` callback.\n     * @param {function(err: any): void} [error] An Observer `error` callback.\n     * @param {function(): void} [complete] An Observer `complete` callback.\n     * @return {any}\n     */\n    Notification.prototype.do = function (next, error, complete) {\n        var kind = this.kind;\n        switch (kind) {\n            case 'N':\n                return next && next(this.value);\n            case 'E':\n                return error && error(this.exception);\n            case 'C':\n                return complete && complete();\n        }\n    };\n    /**\n     * Takes an Observer or its individual callback functions, and calls `observe`\n     * or `do` methods accordingly.\n     * @param {Observer|function(value: T): void} nextOrObserver An Observer or\n     * the `next` callback.\n     * @param {function(err: any): void} [error] An Observer `error` callback.\n     * @param {function(): void} [complete] An Observer `complete` callback.\n     * @return {any}\n     */\n    Notification.prototype.accept = function (nextOrObserver, error, complete) {\n        if (nextOrObserver && typeof nextOrObserver.next === 'function') {\n            return this.observe(nextOrObserver);\n        }\n        else {\n            return this.do(nextOrObserver, error, complete);\n        }\n    };\n    /**\n     * Returns a simple Observable that just delivers the notification represented\n     * by this Notification instance.\n     * @return {any}\n     */\n    Notification.prototype.toObservable = function () {\n        var kind = this.kind;\n        switch (kind) {\n            case 'N':\n                return Observable_1.Observable.of(this.value);\n            case 'E':\n                return Observable_1.Observable.throw(this.exception);\n            case 'C':\n                return Observable_1.Observable.empty();\n        }\n        throw new Error('unexpected notification kind value');\n    };\n    /**\n     * A shortcut to create a Notification instance of the type `next` from a\n     * given value.\n     * @param {T} value The `next` value.\n     * @return {Notification<T>} The \"next\" Notification representing the\n     * argument.\n     */\n    Notification.createNext = function (value) {\n        if (typeof value !== 'undefined') {\n            return new Notification('N', value);\n        }\n        return this.undefinedValueNotification;\n    };\n    /**\n     * A shortcut to create a Notification instance of the type `error` from a\n     * given error.\n     * @param {any} [err] The `error` exception.\n     * @return {Notification<T>} The \"error\" Notification representing the\n     * argument.\n     */\n    Notification.createError = function (err) {\n        return new Notification('E', undefined, err);\n    };\n    /**\n     * A shortcut to create a Notification instance of the type `complete`.\n     * @return {Notification<any>} The valueless \"complete\" Notification.\n     */\n    Notification.createComplete = function () {\n        return this.completeNotification;\n    };\n    Notification.completeNotification = new Notification('C');\n    Notification.undefinedValueNotification = new Notification('N', undefined);\n    return Notification;\n}());\nexports.Notification = Notification;\n//# sourceMappingURL=Notification.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/Notification.js\n// module id = 177\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar root_1 = require('../util/root');\nvar Action_1 = require('./Action');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar AsyncAction = (function (_super) {\n    __extends(AsyncAction, _super);\n    function AsyncAction(scheduler, work) {\n        _super.call(this, scheduler, work);\n        this.scheduler = scheduler;\n        this.work = work;\n        this.pending = false;\n    }\n    AsyncAction.prototype.schedule = function (state, delay) {\n        if (delay === void 0) { delay = 0; }\n        if (this.closed) {\n            return this;\n        }\n        // Always replace the current state with the new state.\n        this.state = state;\n        // Set the pending flag indicating that this action has been scheduled, or\n        // has recursively rescheduled itself.\n        this.pending = true;\n        var id = this.id;\n        var scheduler = this.scheduler;\n        //\n        // Important implementation note:\n        //\n        // Actions only execute once by default, unless rescheduled from within the\n        // scheduled callback. This allows us to implement single and repeat\n        // actions via the same code path, without adding API surface area, as well\n        // as mimic traditional recursion but across asynchronous boundaries.\n        //\n        // However, JS runtimes and timers distinguish between intervals achieved by\n        // serial `setTimeout` calls vs. a single `setInterval` call. An interval of\n        // serial `setTimeout` calls can be individually delayed, which delays\n        // scheduling the next `setTimeout`, and so on. `setInterval` attempts to\n        // guarantee the interval callback will be invoked more precisely to the\n        // interval period, regardless of load.\n        //\n        // Therefore, we use `setInterval` to schedule single and repeat actions.\n        // If the action reschedules itself with the same delay, the interval is not\n        // canceled. If the action doesn't reschedule, or reschedules with a\n        // different delay, the interval will be canceled after scheduled callback\n        // execution.\n        //\n        if (id != null) {\n            this.id = this.recycleAsyncId(scheduler, id, delay);\n        }\n        this.delay = delay;\n        // If this action has already an async Id, don't request a new one.\n        this.id = this.id || this.requestAsyncId(scheduler, this.id, delay);\n        return this;\n    };\n    AsyncAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n        if (delay === void 0) { delay = 0; }\n        return root_1.root.setInterval(scheduler.flush.bind(scheduler, this), delay);\n    };\n    AsyncAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n        if (delay === void 0) { delay = 0; }\n        // If this action is rescheduled with the same delay time, don't clear the interval id.\n        if (delay !== null && this.delay === delay) {\n            return id;\n        }\n        // Otherwise, if the action's delay time is different from the current delay,\n        // clear the interval id\n        return root_1.root.clearInterval(id) && undefined || undefined;\n    };\n    /**\n     * Immediately executes this action and the `work` it contains.\n     * @return {any}\n     */\n    AsyncAction.prototype.execute = function (state, delay) {\n        if (this.closed) {\n            return new Error('executing a cancelled action');\n        }\n        this.pending = false;\n        var error = this._execute(state, delay);\n        if (error) {\n            return error;\n        }\n        else if (this.pending === false && this.id != null) {\n            // Dequeue if the action didn't reschedule itself. Don't call\n            // unsubscribe(), because the action could reschedule later.\n            // For example:\n            // ```\n            // scheduler.schedule(function doWork(counter) {\n            //   /* ... I'm a busy worker bee ... */\n            //   var originalAction = this;\n            //   /* wait 100ms before rescheduling the action */\n            //   setTimeout(function () {\n            //     originalAction.schedule(counter + 1);\n            //   }, 100);\n            // }, 1000);\n            // ```\n            this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n        }\n    };\n    AsyncAction.prototype._execute = function (state, delay) {\n        var errored = false;\n        var errorValue = undefined;\n        try {\n            this.work(state);\n        }\n        catch (e) {\n            errored = true;\n            errorValue = !!e && e || new Error(e);\n        }\n        if (errored) {\n            this.unsubscribe();\n            return errorValue;\n        }\n    };\n    AsyncAction.prototype._unsubscribe = function () {\n        var id = this.id;\n        var scheduler = this.scheduler;\n        var actions = scheduler.actions;\n        var index = actions.indexOf(this);\n        this.work = null;\n        this.delay = null;\n        this.state = null;\n        this.pending = false;\n        this.scheduler = null;\n        if (index !== -1) {\n            actions.splice(index, 1);\n        }\n        if (id != null) {\n            this.id = this.recycleAsyncId(scheduler, id, null);\n        }\n    };\n    return AsyncAction;\n}(Action_1.Action));\nexports.AsyncAction = AsyncAction;\n//# sourceMappingURL=AsyncAction.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/scheduler/AsyncAction.js\n// module id = 178\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Scheduler_1 = require('../Scheduler');\nvar AsyncScheduler = (function (_super) {\n    __extends(AsyncScheduler, _super);\n    function AsyncScheduler() {\n        _super.apply(this, arguments);\n        this.actions = [];\n        /**\n         * A flag to indicate whether the Scheduler is currently executing a batch of\n         * queued actions.\n         * @type {boolean}\n         */\n        this.active = false;\n        /**\n         * An internal ID used to track the latest asynchronous task such as those\n         * coming from `setTimeout`, `setInterval`, `requestAnimationFrame`, and\n         * others.\n         * @type {any}\n         */\n        this.scheduled = undefined;\n    }\n    AsyncScheduler.prototype.flush = function (action) {\n        var actions = this.actions;\n        if (this.active) {\n            actions.push(action);\n            return;\n        }\n        var error;\n        this.active = true;\n        do {\n            if (error = action.execute(action.state, action.delay)) {\n                break;\n            }\n        } while (action = actions.shift()); // exhaust the scheduler queue\n        this.active = false;\n        if (error) {\n            while (action = actions.shift()) {\n                action.unsubscribe();\n            }\n            throw error;\n        }\n    };\n    return AsyncScheduler;\n}(Scheduler_1.Scheduler));\nexports.AsyncScheduler = AsyncScheduler;\n//# sourceMappingURL=AsyncScheduler.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/scheduler/AsyncScheduler.js\n// module id = 179\n// module chunks = 0","\"use strict\";\nvar root_1 = require('../util/root');\nvar Symbol = root_1.root.Symbol;\nif (typeof Symbol === 'function') {\n    if (Symbol.iterator) {\n        exports.$$iterator = Symbol.iterator;\n    }\n    else if (typeof Symbol.for === 'function') {\n        exports.$$iterator = Symbol.for('iterator');\n    }\n}\nelse {\n    if (root_1.root.Set && typeof new root_1.root.Set()['@@iterator'] === 'function') {\n        // Bug for mozilla version\n        exports.$$iterator = '@@iterator';\n    }\n    else if (root_1.root.Map) {\n        // es6-shim specific logic\n        var keys = Object.getOwnPropertyNames(root_1.root.Map.prototype);\n        for (var i = 0; i < keys.length; ++i) {\n            var key = keys[i];\n            if (key !== 'entries' && key !== 'size' && root_1.root.Map.prototype[key] === root_1.root.Map.prototype['entries']) {\n                exports.$$iterator = key;\n                break;\n            }\n        }\n    }\n    else {\n        exports.$$iterator = '@@iterator';\n    }\n}\n//# sourceMappingURL=iterator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/symbol/iterator.js\n// module id = 180\n// module chunks = 0","\"use strict\";\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        }\n        else {\n            $$observable = Symbol('observable');\n            Symbol.observable = $$observable;\n        }\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\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/symbol/observable.js\n// module id = 181\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n/**\n * An error thrown when an Observable or a sequence was queried but has no\n * elements.\n *\n * @see {@link first}\n * @see {@link last}\n * @see {@link single}\n *\n * @class EmptyError\n */\nvar EmptyError = (function (_super) {\n    __extends(EmptyError, _super);\n    function EmptyError() {\n        var err = _super.call(this, 'no elements in sequence');\n        this.name = err.name = 'EmptyError';\n        this.stack = err.stack;\n        this.message = err.message;\n    }\n    return EmptyError;\n}(Error));\nexports.EmptyError = EmptyError;\n//# sourceMappingURL=EmptyError.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/util/EmptyError.js\n// module id = 182\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { Inject, Injectable, LOCALE_ID } from '@angular/core';\n/**\n * \\@experimental\n * @abstract\n */\nexport var NgLocalization = (function () {\n    function NgLocalization() {\n    }\n    /**\n     * @abstract\n     * @param {?} value\n     * @return {?}\n     */\n    NgLocalization.prototype.getPluralCategory = function (value) { };\n    return NgLocalization;\n}());\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 * @param {?} value\n * @param {?} cases\n * @param {?} ngLocalization\n * @return {?}\n */\nexport function getPluralCategory(value, cases, ngLocalization) {\n    var /** @type {?} */ key = \"=\" + value;\n    if (cases.indexOf(key) > -1) {\n        return key;\n    }\n    key = ngLocalization.getPluralCategory(value);\n    if (cases.indexOf(key) > -1) {\n        return key;\n    }\n    if (cases.indexOf('other') > -1) {\n        return 'other';\n    }\n    throw new Error(\"No plural message found for value \\\"\" + value + \"\\\"\");\n}\n/**\n * Returns the plural case based on the locale\n *\n * \\@experimental\n */\nexport var NgLocaleLocalization = (function (_super) {\n    __extends(NgLocaleLocalization, _super);\n    /**\n     * @param {?} _locale\n     */\n    function NgLocaleLocalization(_locale) {\n        _super.call(this);\n        this._locale = _locale;\n    }\n    /**\n     * @param {?} value\n     * @return {?}\n     */\n    NgLocaleLocalization.prototype.getPluralCategory = function (value) {\n        var /** @type {?} */ plural = getPluralCase(this._locale, value);\n        switch (plural) {\n            case Plural.Zero:\n                return 'zero';\n            case Plural.One:\n                return 'one';\n            case Plural.Two:\n                return 'two';\n            case Plural.Few:\n                return 'few';\n            case Plural.Many:\n                return 'many';\n            default:\n                return 'other';\n        }\n    };\n    NgLocaleLocalization.decorators = [\n        { type: Injectable },\n    ];\n    /** @nocollapse */\n    NgLocaleLocalization.ctorParameters = function () { return [\n        { type: undefined, decorators: [{ type: Inject, args: [LOCALE_ID,] },] },\n    ]; };\n    return NgLocaleLocalization;\n}(NgLocalization));\nfunction NgLocaleLocalization_tsickle_Closure_declarations() {\n    /** @type {?} */\n    NgLocaleLocalization.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    NgLocaleLocalization.ctorParameters;\n    /** @type {?} */\n    NgLocaleLocalization.prototype._locale;\n}\nexport var Plural = {};\nPlural.Zero = 0;\nPlural.One = 1;\nPlural.Two = 2;\nPlural.Few = 3;\nPlural.Many = 4;\nPlural.Other = 5;\nPlural[Plural.Zero] = \"Zero\";\nPlural[Plural.One] = \"One\";\nPlural[Plural.Two] = \"Two\";\nPlural[Plural.Few] = \"Few\";\nPlural[Plural.Many] = \"Many\";\nPlural[Plural.Other] = \"Other\";\n/**\n * Returns the plural case based on the locale\n *\n * \\@experimental\n * @param {?} locale\n * @param {?} nLike\n * @return {?}\n */\nexport function getPluralCase(locale, nLike) {\n    // TODO(vicb): lazy compute\n    if (typeof nLike === 'string') {\n        nLike = parseInt(/** @type {?} */ (nLike), 10);\n    }\n    var /** @type {?} */ n = (nLike);\n    var /** @type {?} */ nDecimal = n.toString().replace(/^[^.]*\\.?/, '');\n    var /** @type {?} */ i = Math.floor(Math.abs(n));\n    var /** @type {?} */ v = nDecimal.length;\n    var /** @type {?} */ f = parseInt(nDecimal, 10);\n    var /** @type {?} */ t = parseInt(n.toString().replace(/^[^.]*\\.?|0+$/g, ''), 10) || 0;\n    var /** @type {?} */ lang = locale.split('-')[0].toLowerCase();\n    switch (lang) {\n        case 'af':\n        case 'asa':\n        case 'az':\n        case 'bem':\n        case 'bez':\n        case 'bg':\n        case 'brx':\n        case 'ce':\n        case 'cgg':\n        case 'chr':\n        case 'ckb':\n        case 'ee':\n        case 'el':\n        case 'eo':\n        case 'es':\n        case 'eu':\n        case 'fo':\n        case 'fur':\n        case 'gsw':\n        case 'ha':\n        case 'haw':\n        case 'hu':\n        case 'jgo':\n        case 'jmc':\n        case 'ka':\n        case 'kk':\n        case 'kkj':\n        case 'kl':\n        case 'ks':\n        case 'ksb':\n        case 'ky':\n        case 'lb':\n        case 'lg':\n        case 'mas':\n        case 'mgo':\n        case 'ml':\n        case 'mn':\n        case 'nb':\n        case 'nd':\n        case 'ne':\n        case 'nn':\n        case 'nnh':\n        case 'nyn':\n        case 'om':\n        case 'or':\n        case 'os':\n        case 'ps':\n        case 'rm':\n        case 'rof':\n        case 'rwk':\n        case 'saq':\n        case 'seh':\n        case 'sn':\n        case 'so':\n        case 'sq':\n        case 'ta':\n        case 'te':\n        case 'teo':\n        case 'tk':\n        case 'tr':\n        case 'ug':\n        case 'uz':\n        case 'vo':\n        case 'vun':\n        case 'wae':\n        case 'xog':\n            if (n === 1)\n                return Plural.One;\n            return Plural.Other;\n        case 'agq':\n        case 'bas':\n        case 'cu':\n        case 'dav':\n        case 'dje':\n        case 'dua':\n        case 'dyo':\n        case 'ebu':\n        case 'ewo':\n        case 'guz':\n        case 'kam':\n        case 'khq':\n        case 'ki':\n        case 'kln':\n        case 'kok':\n        case 'ksf':\n        case 'lrc':\n        case 'lu':\n        case 'luo':\n        case 'luy':\n        case 'mer':\n        case 'mfe':\n        case 'mgh':\n        case 'mua':\n        case 'mzn':\n        case 'nmg':\n        case 'nus':\n        case 'qu':\n        case 'rn':\n        case 'rw':\n        case 'sbp':\n        case 'twq':\n        case 'vai':\n        case 'yav':\n        case 'yue':\n        case 'zgh':\n        case 'ak':\n        case 'ln':\n        case 'mg':\n        case 'pa':\n        case 'ti':\n            if (n === Math.floor(n) && n >= 0 && n <= 1)\n                return Plural.One;\n            return Plural.Other;\n        case 'am':\n        case 'as':\n        case 'bn':\n        case 'fa':\n        case 'gu':\n        case 'hi':\n        case 'kn':\n        case 'mr':\n        case 'zu':\n            if (i === 0 || n === 1)\n                return Plural.One;\n            return Plural.Other;\n        case 'ar':\n            if (n === 0)\n                return Plural.Zero;\n            if (n === 1)\n                return Plural.One;\n            if (n === 2)\n                return Plural.Two;\n            if (n % 100 === Math.floor(n % 100) && n % 100 >= 3 && n % 100 <= 10)\n                return Plural.Few;\n            if (n % 100 === Math.floor(n % 100) && n % 100 >= 11 && n % 100 <= 99)\n                return Plural.Many;\n            return Plural.Other;\n        case 'ast':\n        case 'ca':\n        case 'de':\n        case 'en':\n        case 'et':\n        case 'fi':\n        case 'fy':\n        case 'gl':\n        case 'it':\n        case 'nl':\n        case 'sv':\n        case 'sw':\n        case 'ur':\n        case 'yi':\n            if (i === 1 && v === 0)\n                return Plural.One;\n            return Plural.Other;\n        case 'be':\n            if (n % 10 === 1 && !(n % 100 === 11))\n                return Plural.One;\n            if (n % 10 === Math.floor(n % 10) && n % 10 >= 2 && n % 10 <= 4 &&\n                !(n % 100 >= 12 && n % 100 <= 14))\n                return Plural.Few;\n            if (n % 10 === 0 || n % 10 === Math.floor(n % 10) && n % 10 >= 5 && n % 10 <= 9 ||\n                n % 100 === Math.floor(n % 100) && n % 100 >= 11 && n % 100 <= 14)\n                return Plural.Many;\n            return Plural.Other;\n        case 'br':\n            if (n % 10 === 1 && !(n % 100 === 11 || n % 100 === 71 || n % 100 === 91))\n                return Plural.One;\n            if (n % 10 === 2 && !(n % 100 === 12 || n % 100 === 72 || n % 100 === 92))\n                return Plural.Two;\n            if (n % 10 === Math.floor(n % 10) && (n % 10 >= 3 && n % 10 <= 4 || n % 10 === 9) &&\n                !(n % 100 >= 10 && n % 100 <= 19 || n % 100 >= 70 && n % 100 <= 79 ||\n                    n % 100 >= 90 && n % 100 <= 99))\n                return Plural.Few;\n            if (!(n === 0) && n % 1e6 === 0)\n                return Plural.Many;\n            return Plural.Other;\n        case 'bs':\n        case 'hr':\n        case 'sr':\n            if (v === 0 && i % 10 === 1 && !(i % 100 === 11) || f % 10 === 1 && !(f % 100 === 11))\n                return Plural.One;\n            if (v === 0 && i % 10 === Math.floor(i % 10) && i % 10 >= 2 && i % 10 <= 4 &&\n                !(i % 100 >= 12 && i % 100 <= 14) ||\n                f % 10 === Math.floor(f % 10) && f % 10 >= 2 && f % 10 <= 4 &&\n                    !(f % 100 >= 12 && f % 100 <= 14))\n                return Plural.Few;\n            return Plural.Other;\n        case 'cs':\n        case 'sk':\n            if (i === 1 && v === 0)\n                return Plural.One;\n            if (i === Math.floor(i) && i >= 2 && i <= 4 && v === 0)\n                return Plural.Few;\n            if (!(v === 0))\n                return Plural.Many;\n            return Plural.Other;\n        case 'cy':\n            if (n === 0)\n                return Plural.Zero;\n            if (n === 1)\n                return Plural.One;\n            if (n === 2)\n                return Plural.Two;\n            if (n === 3)\n                return Plural.Few;\n            if (n === 6)\n                return Plural.Many;\n            return Plural.Other;\n        case 'da':\n            if (n === 1 || !(t === 0) && (i === 0 || i === 1))\n                return Plural.One;\n            return Plural.Other;\n        case 'dsb':\n        case 'hsb':\n            if (v === 0 && i % 100 === 1 || f % 100 === 1)\n                return Plural.One;\n            if (v === 0 && i % 100 === 2 || f % 100 === 2)\n                return Plural.Two;\n            if (v === 0 && i % 100 === Math.floor(i % 100) && i % 100 >= 3 && i % 100 <= 4 ||\n                f % 100 === Math.floor(f % 100) && f % 100 >= 3 && f % 100 <= 4)\n                return Plural.Few;\n            return Plural.Other;\n        case 'ff':\n        case 'fr':\n        case 'hy':\n        case 'kab':\n            if (i === 0 || i === 1)\n                return Plural.One;\n            return Plural.Other;\n        case 'fil':\n            if (v === 0 && (i === 1 || i === 2 || i === 3) ||\n                v === 0 && !(i % 10 === 4 || i % 10 === 6 || i % 10 === 9) ||\n                !(v === 0) && !(f % 10 === 4 || f % 10 === 6 || f % 10 === 9))\n                return Plural.One;\n            return Plural.Other;\n        case 'ga':\n            if (n === 1)\n                return Plural.One;\n            if (n === 2)\n                return Plural.Two;\n            if (n === Math.floor(n) && n >= 3 && n <= 6)\n                return Plural.Few;\n            if (n === Math.floor(n) && n >= 7 && n <= 10)\n                return Plural.Many;\n            return Plural.Other;\n        case 'gd':\n            if (n === 1 || n === 11)\n                return Plural.One;\n            if (n === 2 || n === 12)\n                return Plural.Two;\n            if (n === Math.floor(n) && (n >= 3 && n <= 10 || n >= 13 && n <= 19))\n                return Plural.Few;\n            return Plural.Other;\n        case 'gv':\n            if (v === 0 && i % 10 === 1)\n                return Plural.One;\n            if (v === 0 && i % 10 === 2)\n                return Plural.Two;\n            if (v === 0 &&\n                (i % 100 === 0 || i % 100 === 20 || i % 100 === 40 || i % 100 === 60 || i % 100 === 80))\n                return Plural.Few;\n            if (!(v === 0))\n                return Plural.Many;\n            return Plural.Other;\n        case 'he':\n            if (i === 1 && v === 0)\n                return Plural.One;\n            if (i === 2 && v === 0)\n                return Plural.Two;\n            if (v === 0 && !(n >= 0 && n <= 10) && n % 10 === 0)\n                return Plural.Many;\n            return Plural.Other;\n        case 'is':\n            if (t === 0 && i % 10 === 1 && !(i % 100 === 11) || !(t === 0))\n                return Plural.One;\n            return Plural.Other;\n        case 'ksh':\n            if (n === 0)\n                return Plural.Zero;\n            if (n === 1)\n                return Plural.One;\n            return Plural.Other;\n        case 'kw':\n        case 'naq':\n        case 'se':\n        case 'smn':\n            if (n === 1)\n                return Plural.One;\n            if (n === 2)\n                return Plural.Two;\n            return Plural.Other;\n        case 'lag':\n            if (n === 0)\n                return Plural.Zero;\n            if ((i === 0 || i === 1) && !(n === 0))\n                return Plural.One;\n            return Plural.Other;\n        case 'lt':\n            if (n % 10 === 1 && !(n % 100 >= 11 && n % 100 <= 19))\n                return Plural.One;\n            if (n % 10 === Math.floor(n % 10) && n % 10 >= 2 && n % 10 <= 9 &&\n                !(n % 100 >= 11 && n % 100 <= 19))\n                return Plural.Few;\n            if (!(f === 0))\n                return Plural.Many;\n            return Plural.Other;\n        case 'lv':\n        case 'prg':\n            if (n % 10 === 0 || n % 100 === Math.floor(n % 100) && n % 100 >= 11 && n % 100 <= 19 ||\n                v === 2 && f % 100 === Math.floor(f % 100) && f % 100 >= 11 && f % 100 <= 19)\n                return Plural.Zero;\n            if (n % 10 === 1 && !(n % 100 === 11) || v === 2 && f % 10 === 1 && !(f % 100 === 11) ||\n                !(v === 2) && f % 10 === 1)\n                return Plural.One;\n            return Plural.Other;\n        case 'mk':\n            if (v === 0 && i % 10 === 1 || f % 10 === 1)\n                return Plural.One;\n            return Plural.Other;\n        case 'mt':\n            if (n === 1)\n                return Plural.One;\n            if (n === 0 || n % 100 === Math.floor(n % 100) && n % 100 >= 2 && n % 100 <= 10)\n                return Plural.Few;\n            if (n % 100 === Math.floor(n % 100) && n % 100 >= 11 && n % 100 <= 19)\n                return Plural.Many;\n            return Plural.Other;\n        case 'pl':\n            if (i === 1 && v === 0)\n                return Plural.One;\n            if (v === 0 && i % 10 === Math.floor(i % 10) && i % 10 >= 2 && i % 10 <= 4 &&\n                !(i % 100 >= 12 && i % 100 <= 14))\n                return Plural.Few;\n            if (v === 0 && !(i === 1) && i % 10 === Math.floor(i % 10) && i % 10 >= 0 && i % 10 <= 1 ||\n                v === 0 && i % 10 === Math.floor(i % 10) && i % 10 >= 5 && i % 10 <= 9 ||\n                v === 0 && i % 100 === Math.floor(i % 100) && i % 100 >= 12 && i % 100 <= 14)\n                return Plural.Many;\n            return Plural.Other;\n        case 'pt':\n            if (n === Math.floor(n) && n >= 0 && n <= 2 && !(n === 2))\n                return Plural.One;\n            return Plural.Other;\n        case 'ro':\n            if (i === 1 && v === 0)\n                return Plural.One;\n            if (!(v === 0) || n === 0 ||\n                !(n === 1) && n % 100 === Math.floor(n % 100) && n % 100 >= 1 && n % 100 <= 19)\n                return Plural.Few;\n            return Plural.Other;\n        case 'ru':\n        case 'uk':\n            if (v === 0 && i % 10 === 1 && !(i % 100 === 11))\n                return Plural.One;\n            if (v === 0 && i % 10 === Math.floor(i % 10) && i % 10 >= 2 && i % 10 <= 4 &&\n                !(i % 100 >= 12 && i % 100 <= 14))\n                return Plural.Few;\n            if (v === 0 && i % 10 === 0 ||\n                v === 0 && i % 10 === Math.floor(i % 10) && i % 10 >= 5 && i % 10 <= 9 ||\n                v === 0 && i % 100 === Math.floor(i % 100) && i % 100 >= 11 && i % 100 <= 14)\n                return Plural.Many;\n            return Plural.Other;\n        case 'shi':\n            if (i === 0 || n === 1)\n                return Plural.One;\n            if (n === Math.floor(n) && n >= 2 && n <= 10)\n                return Plural.Few;\n            return Plural.Other;\n        case 'si':\n            if (n === 0 || n === 1 || i === 0 && f === 1)\n                return Plural.One;\n            return Plural.Other;\n        case 'sl':\n            if (v === 0 && i % 100 === 1)\n                return Plural.One;\n            if (v === 0 && i % 100 === 2)\n                return Plural.Two;\n            if (v === 0 && i % 100 === Math.floor(i % 100) && i % 100 >= 3 && i % 100 <= 4 || !(v === 0))\n                return Plural.Few;\n            return Plural.Other;\n        case 'tzm':\n            if (n === Math.floor(n) && n >= 0 && n <= 1 || n === Math.floor(n) && n >= 11 && n <= 99)\n                return Plural.One;\n            return Plural.Other;\n        default:\n            return Plural.Other;\n    }\n}\n//# sourceMappingURL=localization.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/common/src/localization.js\n// module id = 183\n// module chunks = 0","/**\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 */\nimport { OpaqueToken } from '@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}.\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 * @abstract\n */\nexport var LocationStrategy = (function () {\n    function LocationStrategy() {\n    }\n    /**\n     * @abstract\n     * @param {?=} includeHash\n     * @return {?}\n     */\n    LocationStrategy.prototype.path = function (includeHash) { };\n    /**\n     * @abstract\n     * @param {?} internal\n     * @return {?}\n     */\n    LocationStrategy.prototype.prepareExternalUrl = function (internal) { };\n    /**\n     * @abstract\n     * @param {?} state\n     * @param {?} title\n     * @param {?} url\n     * @param {?} queryParams\n     * @return {?}\n     */\n    LocationStrategy.prototype.pushState = function (state, title, url, queryParams) { };\n    /**\n     * @abstract\n     * @param {?} state\n     * @param {?} title\n     * @param {?} url\n     * @param {?} queryParams\n     * @return {?}\n     */\n    LocationStrategy.prototype.replaceState = function (state, title, url, queryParams) { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    LocationStrategy.prototype.forward = function () { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    LocationStrategy.prototype.back = function () { };\n    /**\n     * @abstract\n     * @param {?} fn\n     * @return {?}\n     */\n    LocationStrategy.prototype.onPopState = function (fn) { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    LocationStrategy.prototype.getBaseHref = function () { };\n    return LocationStrategy;\n}());\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 * ```typescript\n * import {Component, NgModule} from '@angular/core';\n * import {APP_BASE_HREF} from '@angular/common';\n *\n * @NgModule({\n *   providers: [{provide: APP_BASE_HREF, useValue: '/my/app'}]\n * })\n * class AppModule {}\n * ```\n *\n * @stable\n */\nexport var /** @type {?} */ APP_BASE_HREF = new OpaqueToken('appBaseHref');\n//# sourceMappingURL=location_strategy.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/common/src/location/location_strategy.js\n// module id = 184\n// module chunks = 0","/**\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/**\n * @module\n * @description\n * Entry point for all APIs of the compiler package.\n *\n * <div class=\"callout is-critical\">\n *   <header>Unstable APIs</header>\n *   <p>\n *     All compiler apis are currently considered experimental and private!\n *   </p>\n *   <p>\n *     We expect the APIs in this package to keep on changing. Do not rely on them.\n *   </p>\n * </div>\n */\nexport { VERSION } from './src/version';\nexport { TextAst, BoundTextAst, AttrAst, BoundElementPropertyAst, BoundEventAst, ReferenceAst, VariableAst, ElementAst, EmbeddedTemplateAst, BoundDirectivePropertyAst, DirectiveAst, ProviderAst, ProviderAstType, NgContentAst, PropertyBindingType, templateVisitAll } from './src/template_parser/template_ast';\nexport { TEMPLATE_TRANSFORMS } from './src/template_parser/template_parser';\nexport { CompilerConfig, RenderTypes } from './src/config';\nexport { CompileAnimationEntryMetadata, CompileAnimationStateMetadata, CompileAnimationStateDeclarationMetadata, CompileAnimationStateTransitionMetadata, CompileAnimationMetadata, CompileAnimationKeyframesSequenceMetadata, CompileAnimationStyleMetadata, CompileAnimationAnimateMetadata, CompileAnimationWithStepsMetadata, CompileAnimationSequenceMetadata, CompileAnimationGroupMetadata, identifierName, identifierModuleUrl, CompileSummaryKind, tokenName, tokenReference, CompileStylesheetMetadata, CompileTemplateMetadata, CompileDirectiveMetadata, createHostComponentMeta, CompilePipeMetadata, CompileNgModuleMetadata, TransitiveCompileNgModuleMetadata, ProviderMeta } from './src/compile_metadata';\nexport { createAotCompiler } from './src/aot/compiler_factory';\nexport { AotCompiler, analyzeNgModules, analyzeAndValidateNgModules, extractProgramSymbols } from './src/aot/compiler';\nexport { StaticReflector } from './src/aot/static_reflector';\nexport { StaticAndDynamicReflectionCapabilities } from './src/aot/static_reflection_capabilities';\nexport { StaticSymbol, StaticSymbolCache } from './src/aot/static_symbol';\nexport { ResolvedStaticSymbol, StaticSymbolResolver } from './src/aot/static_symbol_resolver';\nexport { AotSummaryResolver } from './src/aot/summary_resolver';\nexport { SummaryResolver } from './src/summary_resolver';\nexport { JitCompiler } from './src/jit/compiler';\nexport { COMPILER_PROVIDERS, JitCompilerFactory, platformCoreDynamic } from './src/jit/compiler_factory';\nexport { createUrlResolverWithoutPackagePrefix, createOfflineCompileUrlResolver, DEFAULT_PACKAGE_URL_PROVIDER, UrlResolver, getUrlScheme } from './src/url_resolver';\nexport { ResourceLoader } from './src/resource_loader';\nexport { DirectiveResolver } from './src/directive_resolver';\nexport { PipeResolver } from './src/pipe_resolver';\nexport { NgModuleResolver } from './src/ng_module_resolver';\nexport { DEFAULT_INTERPOLATION_CONFIG, InterpolationConfig } from './src/ml_parser/interpolation_config';\nexport { ElementSchemaRegistry } from './src/schema/element_schema_registry';\nexport { Extractor, I18NHtmlParser, MessageBundle, Serializer, Xliff, Xmb, Xtb } from './src/i18n/index';\nexport { DirectiveNormalizer } from './src/directive_normalizer';\nexport { TokenType, Lexer, Token, EOF, isIdentifier, isQuote } from './src/expression_parser/lexer';\nexport { SplitInterpolation, TemplateBindingParseResult, Parser, _ParseAST } from './src/expression_parser/parser';\nexport { ERROR_COLLECTOR_TOKEN, CompileMetadataResolver, componentModuleUrl } from './src/metadata_resolver';\nexport { ParseTreeResult, TreeError, HtmlParser } from './src/ml_parser/html_parser';\nexport { NgModuleCompiler } from './src/ng_module_compiler';\nexport { DirectiveWrapperCompiler } from './src/directive_wrapper_compiler';\nexport { ImportResolver } from './src/output/path_util';\nexport { debugOutputAstAsTypeScript, TypeScriptEmitter } from './src/output/ts_emitter';\nexport { ParseLocation, ParseSourceFile, ParseSourceSpan, ParseErrorLevel, ParseError } from './src/parse_util';\nexport { DomElementSchemaRegistry } from './src/schema/dom_element_schema_registry';\nexport { CssSelector, SelectorMatcher, SelectorListContext, SelectorContext } from './src/selector';\nexport { StylesCompileDependency, StylesCompileResult, CompiledStylesheet, StyleCompiler } from './src/style_compiler';\nexport { TemplateParseError, TemplateParseResult, TemplateParser, splitClasses, createElementCssSelector, removeSummaryDuplicates } from './src/template_parser/template_parser';\nexport { ViewCompiler } from './src/view_compiler/view_compiler';\nexport { AnimationParser } from './src/animation/animation_parser';\nexport { SyntaxError } from './src/util';\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/index.js\n// module id = 185\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nimport { CompileAnimationAnimateMetadata, CompileAnimationGroupMetadata, CompileAnimationKeyframesSequenceMetadata, CompileAnimationSequenceMetadata, CompileAnimationStateDeclarationMetadata, CompileAnimationStyleMetadata, CompileAnimationWithStepsMetadata, identifierName } from '../compile_metadata';\nimport { StringMapWrapper } from '../facade/collection';\nimport { isBlank, isPresent } from '../facade/lang';\nimport { CompilerInjectable } from '../injectable';\nimport { ParseError } from '../parse_util';\nimport { ANY_STATE, FILL_STYLE_FLAG } from '../private_import_core';\nimport { ElementSchemaRegistry } from '../schema/element_schema_registry';\nimport { AnimationEntryAst, AnimationGroupAst, AnimationKeyframeAst, AnimationSequenceAst, AnimationStateDeclarationAst, AnimationStateTransitionAst, AnimationStateTransitionExpression, AnimationStepAst, AnimationStylesAst, AnimationWithStepsAst } from './animation_ast';\nimport { StylesCollection } from './styles_collection';\nvar /** @type {?} */ _INITIAL_KEYFRAME = 0;\nvar /** @type {?} */ _TERMINAL_KEYFRAME = 1;\nvar /** @type {?} */ _ONE_SECOND = 1000;\nexport var AnimationParseError = (function (_super) {\n    __extends(AnimationParseError, _super);\n    /**\n     * @param {?} message\n     */\n    function AnimationParseError(message) {\n        _super.call(this, null, message);\n    }\n    /**\n     * @return {?}\n     */\n    AnimationParseError.prototype.toString = function () { return \"\" + this.msg; };\n    return AnimationParseError;\n}(ParseError));\nexport var AnimationEntryParseResult = (function () {\n    /**\n     * @param {?} ast\n     * @param {?} errors\n     */\n    function AnimationEntryParseResult(ast, errors) {\n        this.ast = ast;\n        this.errors = errors;\n    }\n    return AnimationEntryParseResult;\n}());\nfunction AnimationEntryParseResult_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationEntryParseResult.prototype.ast;\n    /** @type {?} */\n    AnimationEntryParseResult.prototype.errors;\n}\nexport var AnimationParser = (function () {\n    /**\n     * @param {?} _schema\n     */\n    function AnimationParser(_schema) {\n        this._schema = _schema;\n    }\n    /**\n     * @param {?} component\n     * @return {?}\n     */\n    AnimationParser.prototype.parseComponent = function (component) {\n        var _this = this;\n        var /** @type {?} */ errors = [];\n        var /** @type {?} */ componentName = identifierName(component.type);\n        var /** @type {?} */ animationTriggerNames = new Set();\n        var /** @type {?} */ asts = component.template.animations.map(function (entry) {\n            var /** @type {?} */ result = _this.parseEntry(entry);\n            var /** @type {?} */ ast = result.ast;\n            var /** @type {?} */ triggerName = ast.name;\n            if (animationTriggerNames.has(triggerName)) {\n                result.errors.push(new AnimationParseError(\"The animation trigger \\\"\" + triggerName + \"\\\" has already been registered for the \" + componentName + \" component\"));\n            }\n            else {\n                animationTriggerNames.add(triggerName);\n            }\n            if (result.errors.length > 0) {\n                var /** @type {?} */ errorMessage_1 = \"- Unable to parse the animation sequence for \\\"\" + triggerName + \"\\\" on the \" + componentName + \" component due to the following errors:\";\n                result.errors.forEach(function (error) { errorMessage_1 += '\\n-- ' + error.msg; });\n                errors.push(errorMessage_1);\n            }\n            return ast;\n        });\n        if (errors.length > 0) {\n            var /** @type {?} */ errorString = errors.join('\\n');\n            throw new Error(\"Animation parse errors:\\n\" + errorString);\n        }\n        return asts;\n    };\n    /**\n     * @param {?} entry\n     * @return {?}\n     */\n    AnimationParser.prototype.parseEntry = function (entry) {\n        var _this = this;\n        var /** @type {?} */ errors = [];\n        var /** @type {?} */ stateStyles = {};\n        var /** @type {?} */ transitions = [];\n        var /** @type {?} */ stateDeclarationAsts = [];\n        entry.definitions.forEach(function (def) {\n            if (def instanceof CompileAnimationStateDeclarationMetadata) {\n                _parseAnimationDeclarationStates(def, _this._schema, errors).forEach(function (ast) {\n                    stateDeclarationAsts.push(ast);\n                    stateStyles[ast.stateName] = ast.styles;\n                });\n            }\n            else {\n                transitions.push(/** @type {?} */ (def));\n            }\n        });\n        var /** @type {?} */ stateTransitionAsts = transitions.map(function (transDef) { return _parseAnimationStateTransition(transDef, stateStyles, _this._schema, errors); });\n        var /** @type {?} */ ast = new AnimationEntryAst(entry.name, stateDeclarationAsts, stateTransitionAsts);\n        return new AnimationEntryParseResult(ast, errors);\n    };\n    AnimationParser = __decorate([\n        CompilerInjectable(), \n        __metadata('design:paramtypes', [ElementSchemaRegistry])\n    ], AnimationParser);\n    return AnimationParser;\n}());\nfunction AnimationParser_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationParser.prototype._schema;\n}\n/**\n * @param {?} stateMetadata\n * @param {?} schema\n * @param {?} errors\n * @return {?}\n */\nfunction _parseAnimationDeclarationStates(stateMetadata, schema, errors) {\n    var /** @type {?} */ normalizedStyles = _normalizeStyleMetadata(stateMetadata.styles, {}, schema, errors, false);\n    var /** @type {?} */ defStyles = new AnimationStylesAst(normalizedStyles);\n    var /** @type {?} */ states = stateMetadata.stateNameExpr.split(/\\s*,\\s*/);\n    return states.map(function (state) { return new AnimationStateDeclarationAst(state, defStyles); });\n}\n/**\n * @param {?} transitionStateMetadata\n * @param {?} stateStyles\n * @param {?} schema\n * @param {?} errors\n * @return {?}\n */\nfunction _parseAnimationStateTransition(transitionStateMetadata, stateStyles, schema, errors) {\n    var /** @type {?} */ styles = new StylesCollection();\n    var /** @type {?} */ transitionExprs = [];\n    var /** @type {?} */ transitionStates = transitionStateMetadata.stateChangeExpr.split(/\\s*,\\s*/);\n    transitionStates.forEach(function (expr) { transitionExprs.push.apply(transitionExprs, _parseAnimationTransitionExpr(expr, errors)); });\n    var /** @type {?} */ entry = _normalizeAnimationEntry(transitionStateMetadata.steps);\n    var /** @type {?} */ animation = _normalizeStyleSteps(entry, stateStyles, schema, errors);\n    var /** @type {?} */ animationAst = _parseTransitionAnimation(animation, 0, styles, stateStyles, errors);\n    if (errors.length == 0) {\n        _fillAnimationAstStartingKeyframes(animationAst, styles, errors);\n    }\n    var /** @type {?} */ stepsAst = (animationAst instanceof AnimationWithStepsAst) ?\n        animationAst :\n        new AnimationSequenceAst([animationAst]);\n    return new AnimationStateTransitionAst(transitionExprs, stepsAst);\n}\n/**\n * @param {?} alias\n * @param {?} errors\n * @return {?}\n */\nfunction _parseAnimationAlias(alias, errors) {\n    switch (alias) {\n        case ':enter':\n            return 'void => *';\n        case ':leave':\n            return '* => void';\n        default:\n            errors.push(new AnimationParseError(\"the transition alias value \\\"\" + alias + \"\\\" is not supported\"));\n            return '* => *';\n    }\n}\n/**\n * @param {?} eventStr\n * @param {?} errors\n * @return {?}\n */\nfunction _parseAnimationTransitionExpr(eventStr, errors) {\n    var /** @type {?} */ expressions = [];\n    if (eventStr[0] == ':') {\n        eventStr = _parseAnimationAlias(eventStr, errors);\n    }\n    var /** @type {?} */ match = eventStr.match(/^(\\*|[-\\w]+)\\s*(<?[=-]>)\\s*(\\*|[-\\w]+)$/);\n    if (!isPresent(match) || match.length < 4) {\n        errors.push(new AnimationParseError(\"the provided \" + eventStr + \" is not of a supported format\"));\n        return expressions;\n    }\n    var /** @type {?} */ fromState = match[1];\n    var /** @type {?} */ separator = match[2];\n    var /** @type {?} */ toState = match[3];\n    expressions.push(new AnimationStateTransitionExpression(fromState, toState));\n    var /** @type {?} */ isFullAnyStateExpr = fromState == ANY_STATE && toState == ANY_STATE;\n    if (separator[0] == '<' && !isFullAnyStateExpr) {\n        expressions.push(new AnimationStateTransitionExpression(toState, fromState));\n    }\n    return expressions;\n}\n/**\n * @param {?} entry\n * @return {?}\n */\nfunction _normalizeAnimationEntry(entry) {\n    return Array.isArray(entry) ? new CompileAnimationSequenceMetadata(entry) : entry;\n}\n/**\n * @param {?} entry\n * @param {?} stateStyles\n * @param {?} schema\n * @param {?} errors\n * @param {?} permitStateReferences\n * @return {?}\n */\nfunction _normalizeStyleMetadata(entry, stateStyles, schema, errors, permitStateReferences) {\n    var /** @type {?} */ offset = entry.offset;\n    if (offset > 1 || offset < 0) {\n        errors.push(new AnimationParseError(\"Offset values for animations must be between 0 and 1\"));\n    }\n    var /** @type {?} */ normalizedStyles = [];\n    entry.styles.forEach(function (styleEntry) {\n        if (typeof styleEntry === 'string') {\n            if (permitStateReferences) {\n                normalizedStyles.push.apply(normalizedStyles, _resolveStylesFromState(/** @type {?} */ (styleEntry), stateStyles, errors));\n            }\n            else {\n                errors.push(new AnimationParseError(\"State based animations cannot contain references to other states\"));\n            }\n        }\n        else {\n            var /** @type {?} */ stylesObj_1 = (styleEntry);\n            var /** @type {?} */ normalizedStylesObj_1 = {};\n            Object.keys(stylesObj_1).forEach(function (propName) {\n                var /** @type {?} */ normalizedProp = schema.normalizeAnimationStyleProperty(propName);\n                var /** @type {?} */ normalizedOutput = schema.normalizeAnimationStyleValue(normalizedProp, propName, stylesObj_1[propName]);\n                var /** @type {?} */ normalizationError = normalizedOutput['error'];\n                if (normalizationError) {\n                    errors.push(new AnimationParseError(normalizationError));\n                }\n                normalizedStylesObj_1[normalizedProp] = normalizedOutput['value'];\n            });\n            normalizedStyles.push(normalizedStylesObj_1);\n        }\n    });\n    return normalizedStyles;\n}\n/**\n * @param {?} entry\n * @param {?} stateStyles\n * @param {?} schema\n * @param {?} errors\n * @return {?}\n */\nfunction _normalizeStyleSteps(entry, stateStyles, schema, errors) {\n    var /** @type {?} */ steps = _normalizeStyleStepEntry(entry, stateStyles, schema, errors);\n    return (entry instanceof CompileAnimationGroupMetadata) ?\n        new CompileAnimationGroupMetadata(steps) :\n        new CompileAnimationSequenceMetadata(steps);\n}\n/**\n * @param {?} stylesList\n * @param {?} newItem\n * @return {?}\n */\nfunction _mergeAnimationStyles(stylesList, newItem) {\n    if (typeof newItem === 'object' && newItem !== null && stylesList.length > 0) {\n        var /** @type {?} */ lastIndex = stylesList.length - 1;\n        var /** @type {?} */ lastItem = stylesList[lastIndex];\n        if (typeof lastItem === 'object' && lastItem !== null) {\n            stylesList[lastIndex] = StringMapWrapper.merge(/** @type {?} */ (lastItem), /** @type {?} */ (newItem));\n            return;\n        }\n    }\n    stylesList.push(newItem);\n}\n/**\n * @param {?} entry\n * @param {?} stateStyles\n * @param {?} schema\n * @param {?} errors\n * @return {?}\n */\nfunction _normalizeStyleStepEntry(entry, stateStyles, schema, errors) {\n    var /** @type {?} */ steps;\n    if (entry instanceof CompileAnimationWithStepsMetadata) {\n        steps = entry.steps;\n    }\n    else {\n        return [entry];\n    }\n    var /** @type {?} */ newSteps = [];\n    var /** @type {?} */ combinedStyles;\n    steps.forEach(function (step) {\n        if (step instanceof CompileAnimationStyleMetadata) {\n            // this occurs when a style step is followed by a previous style step\n            // or when the first style step is run. We want to concatenate all subsequent\n            // style steps together into a single style step such that we have the correct\n            // starting keyframe data to pass into the animation player.\n            if (!isPresent(combinedStyles)) {\n                combinedStyles = [];\n            }\n            _normalizeStyleMetadata(/** @type {?} */ (step), stateStyles, schema, errors, true)\n                .forEach(function (entry) { _mergeAnimationStyles(combinedStyles, entry); });\n        }\n        else {\n            // it is important that we create a metadata entry of the combined styles\n            // before we go on an process the animate, sequence or group metadata steps.\n            // This will ensure that the AST will have the previous styles painted on\n            // screen before any further animations that use the styles take place.\n            if (isPresent(combinedStyles)) {\n                newSteps.push(new CompileAnimationStyleMetadata(0, combinedStyles));\n                combinedStyles = null;\n            }\n            if (step instanceof CompileAnimationAnimateMetadata) {\n                // we do not recurse into CompileAnimationAnimateMetadata since\n                // those style steps are not going to be squashed\n                var /** @type {?} */ animateStyleValue = ((step)).styles;\n                if (animateStyleValue instanceof CompileAnimationStyleMetadata) {\n                    animateStyleValue.styles =\n                        _normalizeStyleMetadata(animateStyleValue, stateStyles, schema, errors, true);\n                }\n                else if (animateStyleValue instanceof CompileAnimationKeyframesSequenceMetadata) {\n                    animateStyleValue.steps.forEach(function (step) {\n                        step.styles = _normalizeStyleMetadata(step, stateStyles, schema, errors, true);\n                    });\n                }\n            }\n            else if (step instanceof CompileAnimationWithStepsMetadata) {\n                var /** @type {?} */ innerSteps = _normalizeStyleStepEntry(step, stateStyles, schema, errors);\n                step = step instanceof CompileAnimationGroupMetadata ?\n                    new CompileAnimationGroupMetadata(innerSteps) :\n                    new CompileAnimationSequenceMetadata(innerSteps);\n            }\n            newSteps.push(step);\n        }\n    });\n    // this happens when only styles were animated within the sequence\n    if (isPresent(combinedStyles)) {\n        newSteps.push(new CompileAnimationStyleMetadata(0, combinedStyles));\n    }\n    return newSteps;\n}\n/**\n * @param {?} stateName\n * @param {?} stateStyles\n * @param {?} errors\n * @return {?}\n */\nfunction _resolveStylesFromState(stateName, stateStyles, errors) {\n    var /** @type {?} */ styles = [];\n    if (stateName[0] != ':') {\n        errors.push(new AnimationParseError(\"Animation states via styles must be prefixed with a \\\":\\\"\"));\n    }\n    else {\n        var /** @type {?} */ normalizedStateName = stateName.substring(1);\n        var /** @type {?} */ value = stateStyles[normalizedStateName];\n        if (!isPresent(value)) {\n            errors.push(new AnimationParseError(\"Unable to apply styles due to missing a state: \\\"\" + normalizedStateName + \"\\\"\"));\n        }\n        else {\n            value.styles.forEach(function (stylesEntry) {\n                if (typeof stylesEntry === 'object' && stylesEntry !== null) {\n                    styles.push(/** @type {?} */ (stylesEntry));\n                }\n            });\n        }\n    }\n    return styles;\n}\nvar _AnimationTimings = (function () {\n    /**\n     * @param {?} duration\n     * @param {?} delay\n     * @param {?} easing\n     */\n    function _AnimationTimings(duration, delay, easing) {\n        this.duration = duration;\n        this.delay = delay;\n        this.easing = easing;\n    }\n    return _AnimationTimings;\n}());\nfunction _AnimationTimings_tsickle_Closure_declarations() {\n    /** @type {?} */\n    _AnimationTimings.prototype.duration;\n    /** @type {?} */\n    _AnimationTimings.prototype.delay;\n    /** @type {?} */\n    _AnimationTimings.prototype.easing;\n}\n/**\n * @param {?} keyframeSequence\n * @param {?} currentTime\n * @param {?} collectedStyles\n * @param {?} stateStyles\n * @param {?} errors\n * @return {?}\n */\nfunction _parseAnimationKeyframes(keyframeSequence, currentTime, collectedStyles, stateStyles, errors) {\n    var /** @type {?} */ totalEntries = keyframeSequence.steps.length;\n    var /** @type {?} */ totalOffsets = 0;\n    keyframeSequence.steps.forEach(function (step) { return totalOffsets += (isPresent(step.offset) ? 1 : 0); });\n    if (totalOffsets > 0 && totalOffsets < totalEntries) {\n        errors.push(new AnimationParseError(\"Not all style() entries contain an offset for the provided keyframe()\"));\n        totalOffsets = totalEntries;\n    }\n    var /** @type {?} */ limit = totalEntries - 1;\n    var /** @type {?} */ margin = totalOffsets == 0 ? (1 / limit) : 0;\n    var /** @type {?} */ rawKeyframes = [];\n    var /** @type {?} */ index = 0;\n    var /** @type {?} */ doSortKeyframes = false;\n    var /** @type {?} */ lastOffset = 0;\n    keyframeSequence.steps.forEach(function (styleMetadata) {\n        var /** @type {?} */ offset = styleMetadata.offset;\n        var /** @type {?} */ keyframeStyles = {};\n        styleMetadata.styles.forEach(function (entry) {\n            Object.keys(entry).forEach(function (prop) {\n                if (prop != 'offset') {\n                    keyframeStyles[prop] = ((entry))[prop];\n                }\n            });\n        });\n        if (isPresent(offset)) {\n            doSortKeyframes = doSortKeyframes || (offset < lastOffset);\n        }\n        else {\n            offset = index == limit ? _TERMINAL_KEYFRAME : (margin * index);\n        }\n        rawKeyframes.push([offset, keyframeStyles]);\n        lastOffset = offset;\n        index++;\n    });\n    if (doSortKeyframes) {\n        rawKeyframes.sort(function (a, b) { return a[0] <= b[0] ? -1 : 1; });\n    }\n    var /** @type {?} */ firstKeyframe = rawKeyframes[0];\n    if (firstKeyframe[0] != _INITIAL_KEYFRAME) {\n        rawKeyframes.splice(0, 0, firstKeyframe = [_INITIAL_KEYFRAME, {}]);\n    }\n    var /** @type {?} */ firstKeyframeStyles = firstKeyframe[1];\n    limit = rawKeyframes.length - 1;\n    var /** @type {?} */ lastKeyframe = rawKeyframes[limit];\n    if (lastKeyframe[0] != _TERMINAL_KEYFRAME) {\n        rawKeyframes.push(lastKeyframe = [_TERMINAL_KEYFRAME, {}]);\n        limit++;\n    }\n    var /** @type {?} */ lastKeyframeStyles = lastKeyframe[1];\n    for (var /** @type {?} */ i = 1; i <= limit; i++) {\n        var /** @type {?} */ entry = rawKeyframes[i];\n        var /** @type {?} */ styles = entry[1];\n        Object.keys(styles).forEach(function (prop) {\n            if (!isPresent(firstKeyframeStyles[prop])) {\n                firstKeyframeStyles[prop] = FILL_STYLE_FLAG;\n            }\n        });\n    }\n    var _loop_1 = function(i) {\n        var /** @type {?} */ entry = rawKeyframes[i];\n        var /** @type {?} */ styles = entry[1];\n        Object.keys(styles).forEach(function (prop) {\n            if (!isPresent(lastKeyframeStyles[prop])) {\n                lastKeyframeStyles[prop] = styles[prop];\n            }\n        });\n    };\n    for (var /** @type {?} */ i = limit - 1; i >= 0; i--) {\n        _loop_1(i);\n    }\n    return rawKeyframes.map(function (entry) { return new AnimationKeyframeAst(entry[0], new AnimationStylesAst([entry[1]])); });\n}\n/**\n * @param {?} entry\n * @param {?} currentTime\n * @param {?} collectedStyles\n * @param {?} stateStyles\n * @param {?} errors\n * @return {?}\n */\nfunction _parseTransitionAnimation(entry, currentTime, collectedStyles, stateStyles, errors) {\n    var /** @type {?} */ ast;\n    var /** @type {?} */ playTime = 0;\n    var /** @type {?} */ startingTime = currentTime;\n    if (entry instanceof CompileAnimationWithStepsMetadata) {\n        var /** @type {?} */ maxDuration_1 = 0;\n        var /** @type {?} */ steps_1 = [];\n        var /** @type {?} */ isGroup_1 = entry instanceof CompileAnimationGroupMetadata;\n        var /** @type {?} */ previousStyles_1;\n        entry.steps.forEach(function (entry) {\n            // these will get picked up by the next step...\n            var /** @type {?} */ time = isGroup_1 ? startingTime : currentTime;\n            if (entry instanceof CompileAnimationStyleMetadata) {\n                entry.styles.forEach(function (stylesEntry) {\n                    // by this point we know that we only have stringmap values\n                    var /** @type {?} */ map = (stylesEntry);\n                    Object.keys(map).forEach(function (prop) { collectedStyles.insertAtTime(prop, time, map[prop]); });\n                });\n                previousStyles_1 = entry.styles;\n                return;\n            }\n            var /** @type {?} */ innerAst = _parseTransitionAnimation(entry, time, collectedStyles, stateStyles, errors);\n            if (isPresent(previousStyles_1)) {\n                if (entry instanceof CompileAnimationWithStepsMetadata) {\n                    var /** @type {?} */ startingStyles = new AnimationStylesAst(previousStyles_1);\n                    steps_1.push(new AnimationStepAst(startingStyles, [], 0, 0, ''));\n                }\n                else {\n                    var /** @type {?} */ innerStep = (innerAst);\n                    (_a = innerStep.startingStyles.styles).push.apply(_a, previousStyles_1);\n                }\n                previousStyles_1 = null;\n            }\n            var /** @type {?} */ astDuration = innerAst.playTime;\n            currentTime += astDuration;\n            playTime += astDuration;\n            maxDuration_1 = Math.max(astDuration, maxDuration_1);\n            steps_1.push(innerAst);\n            var _a;\n        });\n        if (isPresent(previousStyles_1)) {\n            var /** @type {?} */ startingStyles = new AnimationStylesAst(previousStyles_1);\n            steps_1.push(new AnimationStepAst(startingStyles, [], 0, 0, ''));\n        }\n        if (isGroup_1) {\n            ast = new AnimationGroupAst(steps_1);\n            playTime = maxDuration_1;\n            currentTime = startingTime + playTime;\n        }\n        else {\n            ast = new AnimationSequenceAst(steps_1);\n        }\n    }\n    else if (entry instanceof CompileAnimationAnimateMetadata) {\n        var /** @type {?} */ timings = _parseTimeExpression(entry.timings, errors);\n        var /** @type {?} */ styles = entry.styles;\n        var /** @type {?} */ keyframes = void 0;\n        if (styles instanceof CompileAnimationKeyframesSequenceMetadata) {\n            keyframes =\n                _parseAnimationKeyframes(styles, currentTime, collectedStyles, stateStyles, errors);\n        }\n        else {\n            var /** @type {?} */ styleData = (styles);\n            var /** @type {?} */ offset = _TERMINAL_KEYFRAME;\n            var /** @type {?} */ styleAst = new AnimationStylesAst(/** @type {?} */ (styleData.styles));\n            var /** @type {?} */ keyframe = new AnimationKeyframeAst(offset, styleAst);\n            keyframes = [keyframe];\n        }\n        ast = new AnimationStepAst(new AnimationStylesAst([]), keyframes, timings.duration, timings.delay, timings.easing);\n        playTime = timings.duration + timings.delay;\n        currentTime += playTime;\n        keyframes.forEach(function (keyframe /** TODO #9100 */) { return keyframe.styles.styles.forEach(function (entry /** TODO #9100 */) { return Object.keys(entry).forEach(function (prop) { collectedStyles.insertAtTime(prop, currentTime, entry[prop]); }); }); });\n    }\n    else {\n        // if the code reaches this stage then an error\n        // has already been populated within the _normalizeStyleSteps()\n        // operation...\n        ast = new AnimationStepAst(null, [], 0, 0, '');\n    }\n    ast.playTime = playTime;\n    ast.startTime = startingTime;\n    return ast;\n}\n/**\n * @param {?} ast\n * @param {?} collectedStyles\n * @param {?} errors\n * @return {?}\n */\nfunction _fillAnimationAstStartingKeyframes(ast, collectedStyles, errors) {\n    // steps that only contain style will not be filled\n    if ((ast instanceof AnimationStepAst) && ast.keyframes.length > 0) {\n        var /** @type {?} */ keyframes = ast.keyframes;\n        if (keyframes.length == 1) {\n            var /** @type {?} */ endKeyframe = keyframes[0];\n            var /** @type {?} */ startKeyframe = _createStartKeyframeFromEndKeyframe(endKeyframe, ast.startTime, ast.playTime, collectedStyles, errors);\n            ast.keyframes = [startKeyframe, endKeyframe];\n        }\n    }\n    else if (ast instanceof AnimationWithStepsAst) {\n        ast.steps.forEach(function (entry) { return _fillAnimationAstStartingKeyframes(entry, collectedStyles, errors); });\n    }\n}\n/**\n * @param {?} exp\n * @param {?} errors\n * @return {?}\n */\nfunction _parseTimeExpression(exp, errors) {\n    var /** @type {?} */ regex = /^([\\.\\d]+)(m?s)(?:\\s+([\\.\\d]+)(m?s))?(?:\\s+([-a-z]+(?:\\(.+?\\))?))?/i;\n    var /** @type {?} */ duration;\n    var /** @type {?} */ delay = 0;\n    var /** @type {?} */ easing = null;\n    if (typeof exp === 'string') {\n        var /** @type {?} */ matches = exp.match(regex);\n        if (matches === null) {\n            errors.push(new AnimationParseError(\"The provided timing value \\\"\" + exp + \"\\\" is invalid.\"));\n            return new _AnimationTimings(0, 0, null);\n        }\n        var /** @type {?} */ durationMatch = parseFloat(matches[1]);\n        var /** @type {?} */ durationUnit = matches[2];\n        if (durationUnit == 's') {\n            durationMatch *= _ONE_SECOND;\n        }\n        duration = Math.floor(durationMatch);\n        var /** @type {?} */ delayMatch = matches[3];\n        var /** @type {?} */ delayUnit = matches[4];\n        if (isPresent(delayMatch)) {\n            var /** @type {?} */ delayVal = parseFloat(delayMatch);\n            if (isPresent(delayUnit) && delayUnit == 's') {\n                delayVal *= _ONE_SECOND;\n            }\n            delay = Math.floor(delayVal);\n        }\n        var /** @type {?} */ easingVal = matches[5];\n        if (!isBlank(easingVal)) {\n            easing = easingVal;\n        }\n    }\n    else {\n        duration = (exp);\n    }\n    return new _AnimationTimings(duration, delay, easing);\n}\n/**\n * @param {?} endKeyframe\n * @param {?} startTime\n * @param {?} duration\n * @param {?} collectedStyles\n * @param {?} errors\n * @return {?}\n */\nfunction _createStartKeyframeFromEndKeyframe(endKeyframe, startTime, duration, collectedStyles, errors) {\n    var /** @type {?} */ values = {};\n    var /** @type {?} */ endTime = startTime + duration;\n    endKeyframe.styles.styles.forEach(function (styleData) {\n        Object.keys(styleData).forEach(function (prop) {\n            var /** @type {?} */ val = styleData[prop];\n            if (prop == 'offset')\n                return;\n            var /** @type {?} */ resultIndex = collectedStyles.indexOfAtOrBeforeTime(prop, startTime);\n            var /** @type {?} */ resultEntry /** TODO #9100 */, /** @type {?} */ nextEntry /** TODO #9100 */, /** @type {?} */ value;\n            if (isPresent(resultIndex)) {\n                resultEntry = collectedStyles.getByIndex(prop, resultIndex);\n                value = resultEntry.value;\n                nextEntry = collectedStyles.getByIndex(prop, resultIndex + 1);\n            }\n            else {\n                // this is a flag that the runtime code uses to pass\n                // in a value either from the state declaration styles\n                // or using the AUTO_STYLE value (e.g. getComputedStyle)\n                value = FILL_STYLE_FLAG;\n            }\n            if (isPresent(nextEntry) && !nextEntry.matches(endTime, val)) {\n                errors.push(new AnimationParseError(\"The animated CSS property \\\"\" + prop + \"\\\" unexpectedly changes between steps \\\"\" + resultEntry.time + \"ms\\\" and \\\"\" + endTime + \"ms\\\" at \\\"\" + nextEntry.time + \"ms\\\"\"));\n            }\n            values[prop] = value;\n        });\n    });\n    return new AnimationKeyframeAst(_INITIAL_KEYFRAME, new AnimationStylesAst([values]));\n}\n//# sourceMappingURL=animation_parser.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/animation/animation_parser.js\n// module id = 186\n// module chunks = 0","/**\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 */\nexport var /** @type {?} */ $EOF = 0;\nexport var /** @type {?} */ $TAB = 9;\nexport var /** @type {?} */ $LF = 10;\nexport var /** @type {?} */ $VTAB = 11;\nexport var /** @type {?} */ $FF = 12;\nexport var /** @type {?} */ $CR = 13;\nexport var /** @type {?} */ $SPACE = 32;\nexport var /** @type {?} */ $BANG = 33;\nexport var /** @type {?} */ $DQ = 34;\nexport var /** @type {?} */ $HASH = 35;\nexport var /** @type {?} */ $$ = 36;\nexport var /** @type {?} */ $PERCENT = 37;\nexport var /** @type {?} */ $AMPERSAND = 38;\nexport var /** @type {?} */ $SQ = 39;\nexport var /** @type {?} */ $LPAREN = 40;\nexport var /** @type {?} */ $RPAREN = 41;\nexport var /** @type {?} */ $STAR = 42;\nexport var /** @type {?} */ $PLUS = 43;\nexport var /** @type {?} */ $COMMA = 44;\nexport var /** @type {?} */ $MINUS = 45;\nexport var /** @type {?} */ $PERIOD = 46;\nexport var /** @type {?} */ $SLASH = 47;\nexport var /** @type {?} */ $COLON = 58;\nexport var /** @type {?} */ $SEMICOLON = 59;\nexport var /** @type {?} */ $LT = 60;\nexport var /** @type {?} */ $EQ = 61;\nexport var /** @type {?} */ $GT = 62;\nexport var /** @type {?} */ $QUESTION = 63;\nexport var /** @type {?} */ $0 = 48;\nexport var /** @type {?} */ $9 = 57;\nexport var /** @type {?} */ $A = 65;\nexport var /** @type {?} */ $E = 69;\nexport var /** @type {?} */ $F = 70;\nexport var /** @type {?} */ $X = 88;\nexport var /** @type {?} */ $Z = 90;\nexport var /** @type {?} */ $LBRACKET = 91;\nexport var /** @type {?} */ $BACKSLASH = 92;\nexport var /** @type {?} */ $RBRACKET = 93;\nexport var /** @type {?} */ $CARET = 94;\nexport var /** @type {?} */ $_ = 95;\nexport var /** @type {?} */ $a = 97;\nexport var /** @type {?} */ $e = 101;\nexport var /** @type {?} */ $f = 102;\nexport var /** @type {?} */ $n = 110;\nexport var /** @type {?} */ $r = 114;\nexport var /** @type {?} */ $t = 116;\nexport var /** @type {?} */ $u = 117;\nexport var /** @type {?} */ $v = 118;\nexport var /** @type {?} */ $x = 120;\nexport var /** @type {?} */ $z = 122;\nexport var /** @type {?} */ $LBRACE = 123;\nexport var /** @type {?} */ $BAR = 124;\nexport var /** @type {?} */ $RBRACE = 125;\nexport var /** @type {?} */ $NBSP = 160;\nexport var /** @type {?} */ $PIPE = 124;\nexport var /** @type {?} */ $TILDA = 126;\nexport var /** @type {?} */ $AT = 64;\nexport var /** @type {?} */ $BT = 96;\n/**\n * @param {?} code\n * @return {?}\n */\nexport function isWhitespace(code) {\n    return (code >= $TAB && code <= $SPACE) || (code == $NBSP);\n}\n/**\n * @param {?} code\n * @return {?}\n */\nexport function isDigit(code) {\n    return $0 <= code && code <= $9;\n}\n/**\n * @param {?} code\n * @return {?}\n */\nexport function isAsciiLetter(code) {\n    return code >= $a && code <= $z || code >= $A && code <= $Z;\n}\n/**\n * @param {?} code\n * @return {?}\n */\nexport function isAsciiHexDigit(code) {\n    return code >= $a && code <= $f || code >= $A && code <= $F || isDigit(code);\n}\n//# sourceMappingURL=chars.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/chars.js\n// module id = 187\n// module chunks = 0","/**\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 */\nexport var Message = (function () {\n    /**\n     * @param {?} nodes message AST\n     * @param {?} placeholders maps placeholder names to static content\n     * @param {?} placeholderToMessage maps placeholder names to messages (used for nested ICU messages)\n     * @param {?} meaning\n     * @param {?} description\n     */\n    function Message(nodes, placeholders, placeholderToMessage, meaning, description) {\n        this.nodes = nodes;\n        this.placeholders = placeholders;\n        this.placeholderToMessage = placeholderToMessage;\n        this.meaning = meaning;\n        this.description = description;\n    }\n    return Message;\n}());\nfunction Message_tsickle_Closure_declarations() {\n    /** @type {?} */\n    Message.prototype.nodes;\n    /** @type {?} */\n    Message.prototype.placeholders;\n    /** @type {?} */\n    Message.prototype.placeholderToMessage;\n    /** @type {?} */\n    Message.prototype.meaning;\n    /** @type {?} */\n    Message.prototype.description;\n}\nexport var Text = (function () {\n    /**\n     * @param {?} value\n     * @param {?} sourceSpan\n     */\n    function Text(value, sourceSpan) {\n        this.value = value;\n        this.sourceSpan = sourceSpan;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?=} context\n     * @return {?}\n     */\n    Text.prototype.visit = function (visitor, context) { return visitor.visitText(this, context); };\n    return Text;\n}());\nfunction Text_tsickle_Closure_declarations() {\n    /** @type {?} */\n    Text.prototype.value;\n    /** @type {?} */\n    Text.prototype.sourceSpan;\n}\nexport var Container = (function () {\n    /**\n     * @param {?} children\n     * @param {?} sourceSpan\n     */\n    function Container(children, sourceSpan) {\n        this.children = children;\n        this.sourceSpan = sourceSpan;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?=} context\n     * @return {?}\n     */\n    Container.prototype.visit = function (visitor, context) { return visitor.visitContainer(this, context); };\n    return Container;\n}());\nfunction Container_tsickle_Closure_declarations() {\n    /** @type {?} */\n    Container.prototype.children;\n    /** @type {?} */\n    Container.prototype.sourceSpan;\n}\nexport var Icu = (function () {\n    /**\n     * @param {?} expression\n     * @param {?} type\n     * @param {?} cases\n     * @param {?} sourceSpan\n     */\n    function Icu(expression, type, cases, sourceSpan) {\n        this.expression = expression;\n        this.type = type;\n        this.cases = cases;\n        this.sourceSpan = sourceSpan;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?=} context\n     * @return {?}\n     */\n    Icu.prototype.visit = function (visitor, context) { return visitor.visitIcu(this, context); };\n    return Icu;\n}());\nfunction Icu_tsickle_Closure_declarations() {\n    /** @type {?} */\n    Icu.prototype.expressionPlaceholder;\n    /** @type {?} */\n    Icu.prototype.expression;\n    /** @type {?} */\n    Icu.prototype.type;\n    /** @type {?} */\n    Icu.prototype.cases;\n    /** @type {?} */\n    Icu.prototype.sourceSpan;\n}\nexport var TagPlaceholder = (function () {\n    /**\n     * @param {?} tag\n     * @param {?} attrs\n     * @param {?} startName\n     * @param {?} closeName\n     * @param {?} children\n     * @param {?} isVoid\n     * @param {?} sourceSpan\n     */\n    function TagPlaceholder(tag, attrs, startName, closeName, children, isVoid, sourceSpan) {\n        this.tag = tag;\n        this.attrs = attrs;\n        this.startName = startName;\n        this.closeName = closeName;\n        this.children = children;\n        this.isVoid = isVoid;\n        this.sourceSpan = sourceSpan;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?=} context\n     * @return {?}\n     */\n    TagPlaceholder.prototype.visit = function (visitor, context) { return visitor.visitTagPlaceholder(this, context); };\n    return TagPlaceholder;\n}());\nfunction TagPlaceholder_tsickle_Closure_declarations() {\n    /** @type {?} */\n    TagPlaceholder.prototype.tag;\n    /** @type {?} */\n    TagPlaceholder.prototype.attrs;\n    /** @type {?} */\n    TagPlaceholder.prototype.startName;\n    /** @type {?} */\n    TagPlaceholder.prototype.closeName;\n    /** @type {?} */\n    TagPlaceholder.prototype.children;\n    /** @type {?} */\n    TagPlaceholder.prototype.isVoid;\n    /** @type {?} */\n    TagPlaceholder.prototype.sourceSpan;\n}\nexport var Placeholder = (function () {\n    /**\n     * @param {?} value\n     * @param {?} name\n     * @param {?} sourceSpan\n     */\n    function Placeholder(value, name, sourceSpan) {\n        this.value = value;\n        this.name = name;\n        this.sourceSpan = sourceSpan;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?=} context\n     * @return {?}\n     */\n    Placeholder.prototype.visit = function (visitor, context) { return visitor.visitPlaceholder(this, context); };\n    return Placeholder;\n}());\nfunction Placeholder_tsickle_Closure_declarations() {\n    /** @type {?} */\n    Placeholder.prototype.value;\n    /** @type {?} */\n    Placeholder.prototype.name;\n    /** @type {?} */\n    Placeholder.prototype.sourceSpan;\n}\nexport var IcuPlaceholder = (function () {\n    /**\n     * @param {?} value\n     * @param {?} name\n     * @param {?} sourceSpan\n     */\n    function IcuPlaceholder(value, name, sourceSpan) {\n        this.value = value;\n        this.name = name;\n        this.sourceSpan = sourceSpan;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?=} context\n     * @return {?}\n     */\n    IcuPlaceholder.prototype.visit = function (visitor, context) { return visitor.visitIcuPlaceholder(this, context); };\n    return IcuPlaceholder;\n}());\nfunction IcuPlaceholder_tsickle_Closure_declarations() {\n    /** @type {?} */\n    IcuPlaceholder.prototype.value;\n    /** @type {?} */\n    IcuPlaceholder.prototype.name;\n    /** @type {?} */\n    IcuPlaceholder.prototype.sourceSpan;\n}\n//# sourceMappingURL=i18n_ast.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/i18n/i18n_ast.js\n// module id = 188\n// module chunks = 0","/**\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 */\nimport { DEFAULT_INTERPOLATION_CONFIG } from '../ml_parser/interpolation_config';\nimport { ParseTreeResult } from '../ml_parser/parser';\nimport { mergeTranslations } from './extractor_merger';\nimport { Xliff } from './serializers/xliff';\nimport { Xmb } from './serializers/xmb';\nimport { Xtb } from './serializers/xtb';\nimport { TranslationBundle } from './translation_bundle';\nexport var I18NHtmlParser = (function () {\n    /**\n     * @param {?} _htmlParser\n     * @param {?=} _translations\n     * @param {?=} _translationsFormat\n     */\n    function I18NHtmlParser(_htmlParser, _translations, _translationsFormat) {\n        this._htmlParser = _htmlParser;\n        this._translations = _translations;\n        this._translationsFormat = _translationsFormat;\n    }\n    /**\n     * @param {?} source\n     * @param {?} url\n     * @param {?=} parseExpansionForms\n     * @param {?=} interpolationConfig\n     * @return {?}\n     */\n    I18NHtmlParser.prototype.parse = function (source, url, parseExpansionForms, interpolationConfig) {\n        if (parseExpansionForms === void 0) { parseExpansionForms = false; }\n        if (interpolationConfig === void 0) { interpolationConfig = DEFAULT_INTERPOLATION_CONFIG; }\n        var /** @type {?} */ parseResult = this._htmlParser.parse(source, url, parseExpansionForms, interpolationConfig);\n        if (!this._translations || this._translations === '') {\n            // Do not enable i18n when no translation bundle is provided\n            return parseResult;\n        }\n        // TODO(vicb): add support for implicit tags / attributes\n        if (parseResult.errors.length) {\n            return new ParseTreeResult(parseResult.rootNodes, parseResult.errors);\n        }\n        var /** @type {?} */ serializer = this._createSerializer();\n        var /** @type {?} */ translationBundle = TranslationBundle.load(this._translations, url, serializer);\n        return mergeTranslations(parseResult.rootNodes, translationBundle, interpolationConfig, [], {});\n    };\n    /**\n     * @return {?}\n     */\n    I18NHtmlParser.prototype._createSerializer = function () {\n        var /** @type {?} */ format = (this._translationsFormat || 'xlf').toLowerCase();\n        switch (format) {\n            case 'xmb':\n                return new Xmb();\n            case 'xtb':\n                return new Xtb();\n            case 'xliff':\n            case 'xlf':\n            default:\n                return new Xliff();\n        }\n    };\n    return I18NHtmlParser;\n}());\nfunction I18NHtmlParser_tsickle_Closure_declarations() {\n    /** @type {?} */\n    I18NHtmlParser.prototype.getTagDefinition;\n    /** @type {?} */\n    I18NHtmlParser.prototype._htmlParser;\n    /** @type {?} */\n    I18NHtmlParser.prototype._translations;\n    /** @type {?} */\n    I18NHtmlParser.prototype._translationsFormat;\n}\n//# sourceMappingURL=i18n_html_parser.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/i18n/i18n_html_parser.js\n// module id = 189\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { ParseError } from '../parse_util';\n/**\n * An i18n error.\n */\nexport var I18nError = (function (_super) {\n    __extends(I18nError, _super);\n    /**\n     * @param {?} span\n     * @param {?} msg\n     */\n    function I18nError(span, msg) {\n        _super.call(this, span, msg);\n    }\n    return I18nError;\n}(ParseError));\n//# sourceMappingURL=parse_util.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/i18n/parse_util.js\n// module id = 190\n// module chunks = 0","/**\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/**\n * @abstract\n */\nexport var Serializer = (function () {\n    function Serializer() {\n    }\n    /**\n     * @abstract\n     * @param {?} messages\n     * @return {?}\n     */\n    Serializer.prototype.write = function (messages) { };\n    /**\n     * @abstract\n     * @param {?} content\n     * @param {?} url\n     * @return {?}\n     */\n    Serializer.prototype.load = function (content, url) { };\n    /**\n     * @abstract\n     * @param {?} message\n     * @return {?}\n     */\n    Serializer.prototype.digest = function (message) { };\n    /**\n     * @param {?} message\n     * @return {?}\n     */\n    Serializer.prototype.createNameMapper = function (message) { return null; };\n    return Serializer;\n}());\n//# sourceMappingURL=serializer.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/i18n/serializers/serializer.js\n// module id = 191\n// module chunks = 0","/**\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 */\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nimport { identifierModuleUrl, identifierName, tokenName, tokenReference } from './compile_metadata';\nimport { createDiTokenExpression } from './compiler_util/identifier_util';\nimport { isPresent } from './facade/lang';\nimport { Identifiers, createIdentifier, resolveIdentifier } from './identifiers';\nimport { CompilerInjectable } from './injectable';\nimport { createClassStmt } from './output/class_builder';\nimport * as o from './output/output_ast';\nimport { convertValueToOutputAst } from './output/value_util';\nimport { ParseLocation, ParseSourceFile, ParseSourceSpan } from './parse_util';\nimport { LifecycleHooks } from './private_import_core';\nimport { NgModuleProviderAnalyzer } from './provider_analyzer';\nexport var ComponentFactoryDependency = (function () {\n    /**\n     * @param {?} comp\n     * @param {?} placeholder\n     */\n    function ComponentFactoryDependency(comp, placeholder) {\n        this.comp = comp;\n        this.placeholder = placeholder;\n    }\n    return ComponentFactoryDependency;\n}());\nfunction ComponentFactoryDependency_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ComponentFactoryDependency.prototype.comp;\n    /** @type {?} */\n    ComponentFactoryDependency.prototype.placeholder;\n}\nexport var NgModuleCompileResult = (function () {\n    /**\n     * @param {?} statements\n     * @param {?} ngModuleFactoryVar\n     * @param {?} dependencies\n     */\n    function NgModuleCompileResult(statements, ngModuleFactoryVar, dependencies) {\n        this.statements = statements;\n        this.ngModuleFactoryVar = ngModuleFactoryVar;\n        this.dependencies = dependencies;\n    }\n    return NgModuleCompileResult;\n}());\nfunction NgModuleCompileResult_tsickle_Closure_declarations() {\n    /** @type {?} */\n    NgModuleCompileResult.prototype.statements;\n    /** @type {?} */\n    NgModuleCompileResult.prototype.ngModuleFactoryVar;\n    /** @type {?} */\n    NgModuleCompileResult.prototype.dependencies;\n}\nexport var NgModuleCompiler = (function () {\n    function NgModuleCompiler() {\n    }\n    /**\n     * @param {?} ngModuleMeta\n     * @param {?} extraProviders\n     * @return {?}\n     */\n    NgModuleCompiler.prototype.compile = function (ngModuleMeta, extraProviders) {\n        var /** @type {?} */ moduleUrl = identifierModuleUrl(ngModuleMeta.type);\n        var /** @type {?} */ sourceFileName = isPresent(moduleUrl) ?\n            \"in NgModule \" + identifierName(ngModuleMeta.type) + \" in \" + moduleUrl :\n            \"in NgModule \" + identifierName(ngModuleMeta.type);\n        var /** @type {?} */ sourceFile = new ParseSourceFile('', sourceFileName);\n        var /** @type {?} */ sourceSpan = new ParseSourceSpan(new ParseLocation(sourceFile, null, null, null), new ParseLocation(sourceFile, null, null, null));\n        var /** @type {?} */ deps = [];\n        var /** @type {?} */ bootstrapComponentFactories = [];\n        var /** @type {?} */ entryComponentFactories = ngModuleMeta.transitiveModule.entryComponents.map(function (entryComponent) {\n            var /** @type {?} */ id = { reference: null };\n            if (ngModuleMeta.bootstrapComponents.some(function (id) { return id.reference === entryComponent.reference; })) {\n                bootstrapComponentFactories.push(id);\n            }\n            deps.push(new ComponentFactoryDependency(entryComponent, id));\n            return id;\n        });\n        var /** @type {?} */ builder = new _InjectorBuilder(ngModuleMeta, entryComponentFactories, bootstrapComponentFactories, sourceSpan);\n        var /** @type {?} */ providerParser = new NgModuleProviderAnalyzer(ngModuleMeta, extraProviders, sourceSpan);\n        providerParser.parse().forEach(function (provider) { return builder.addProvider(provider); });\n        var /** @type {?} */ injectorClass = builder.build();\n        var /** @type {?} */ ngModuleFactoryVar = identifierName(ngModuleMeta.type) + \"NgFactory\";\n        var /** @type {?} */ ngModuleFactoryStmt = o.variable(ngModuleFactoryVar)\n            .set(o.importExpr(createIdentifier(Identifiers.NgModuleFactory))\n            .instantiate([o.variable(injectorClass.name), o.importExpr(ngModuleMeta.type)], o.importType(createIdentifier(Identifiers.NgModuleFactory), [o.importType(ngModuleMeta.type)], [o.TypeModifier.Const])))\n            .toDeclStmt(null, [o.StmtModifier.Final]);\n        var /** @type {?} */ stmts = [injectorClass, ngModuleFactoryStmt];\n        if (ngModuleMeta.id) {\n            var /** @type {?} */ registerFactoryStmt = o.importExpr(createIdentifier(Identifiers.RegisterModuleFactoryFn))\n                .callFn([o.literal(ngModuleMeta.id), o.variable(ngModuleFactoryVar)])\n                .toStmt();\n            stmts.push(registerFactoryStmt);\n        }\n        return new NgModuleCompileResult(stmts, ngModuleFactoryVar, deps);\n    };\n    NgModuleCompiler = __decorate([\n        CompilerInjectable(), \n        __metadata('design:paramtypes', [])\n    ], NgModuleCompiler);\n    return NgModuleCompiler;\n}());\nvar _InjectorBuilder = (function () {\n    /**\n     * @param {?} _ngModuleMeta\n     * @param {?} _entryComponentFactories\n     * @param {?} _bootstrapComponentFactories\n     * @param {?} _sourceSpan\n     */\n    function _InjectorBuilder(_ngModuleMeta, _entryComponentFactories, _bootstrapComponentFactories, _sourceSpan) {\n        this._ngModuleMeta = _ngModuleMeta;\n        this._entryComponentFactories = _entryComponentFactories;\n        this._bootstrapComponentFactories = _bootstrapComponentFactories;\n        this._sourceSpan = _sourceSpan;\n        this.fields = [];\n        this.getters = [];\n        this.methods = [];\n        this.ctorStmts = [];\n        this._tokens = [];\n        this._instances = new Map();\n        this._createStmts = [];\n        this._destroyStmts = [];\n    }\n    /**\n     * @param {?} resolvedProvider\n     * @return {?}\n     */\n    _InjectorBuilder.prototype.addProvider = function (resolvedProvider) {\n        var _this = this;\n        var /** @type {?} */ providerValueExpressions = resolvedProvider.providers.map(function (provider) { return _this._getProviderValue(provider); });\n        var /** @type {?} */ propName = \"_\" + tokenName(resolvedProvider.token) + \"_\" + this._instances.size;\n        var /** @type {?} */ instance = this._createProviderProperty(propName, resolvedProvider, providerValueExpressions, resolvedProvider.multiProvider, resolvedProvider.eager);\n        if (resolvedProvider.lifecycleHooks.indexOf(LifecycleHooks.OnDestroy) !== -1) {\n            this._destroyStmts.push(instance.callMethod('ngOnDestroy', []).toStmt());\n        }\n        this._tokens.push(resolvedProvider.token);\n        this._instances.set(tokenReference(resolvedProvider.token), instance);\n    };\n    /**\n     * @return {?}\n     */\n    _InjectorBuilder.prototype.build = function () {\n        var _this = this;\n        var /** @type {?} */ getMethodStmts = this._tokens.map(function (token) {\n            var /** @type {?} */ providerExpr = _this._instances.get(tokenReference(token));\n            return new o.IfStmt(InjectMethodVars.token.identical(createDiTokenExpression(token)), [new o.ReturnStatement(providerExpr)]);\n        });\n        var /** @type {?} */ methods = [\n            new o.ClassMethod('createInternal', [], this._createStmts.concat(new o.ReturnStatement(this._instances.get(this._ngModuleMeta.type.reference))), o.importType(this._ngModuleMeta.type)),\n            new o.ClassMethod('getInternal', [\n                new o.FnParam(InjectMethodVars.token.name, o.DYNAMIC_TYPE),\n                new o.FnParam(InjectMethodVars.notFoundResult.name, o.DYNAMIC_TYPE)\n            ], getMethodStmts.concat([new o.ReturnStatement(InjectMethodVars.notFoundResult)]), o.DYNAMIC_TYPE),\n            new o.ClassMethod('destroyInternal', [], this._destroyStmts),\n        ];\n        var /** @type {?} */ parentArgs = [\n            o.variable(InjectorProps.parent.name),\n            o.literalArr(this._entryComponentFactories.map(function (componentFactory) { return o.importExpr(componentFactory); })),\n            o.literalArr(this._bootstrapComponentFactories.map(function (componentFactory) { return o.importExpr(componentFactory); }))\n        ];\n        var /** @type {?} */ injClassName = identifierName(this._ngModuleMeta.type) + \"Injector\";\n        return createClassStmt({\n            name: injClassName,\n            ctorParams: [new o.FnParam(InjectorProps.parent.name, o.importType(createIdentifier(Identifiers.Injector)))],\n            parent: o.importExpr(createIdentifier(Identifiers.NgModuleInjector), [o.importType(this._ngModuleMeta.type)]),\n            parentArgs: parentArgs,\n            builders: [{ methods: methods }, this]\n        });\n    };\n    /**\n     * @param {?} provider\n     * @return {?}\n     */\n    _InjectorBuilder.prototype._getProviderValue = function (provider) {\n        var _this = this;\n        var /** @type {?} */ result;\n        if (isPresent(provider.useExisting)) {\n            result = this._getDependency({ token: provider.useExisting });\n        }\n        else if (isPresent(provider.useFactory)) {\n            var /** @type {?} */ deps = provider.deps || provider.useFactory.diDeps;\n            var /** @type {?} */ depsExpr = deps.map(function (dep) { return _this._getDependency(dep); });\n            result = o.importExpr(provider.useFactory).callFn(depsExpr);\n        }\n        else if (isPresent(provider.useClass)) {\n            var /** @type {?} */ deps = provider.deps || provider.useClass.diDeps;\n            var /** @type {?} */ depsExpr = deps.map(function (dep) { return _this._getDependency(dep); });\n            result =\n                o.importExpr(provider.useClass).instantiate(depsExpr, o.importType(provider.useClass));\n        }\n        else {\n            result = convertValueToOutputAst(provider.useValue);\n        }\n        return result;\n    };\n    /**\n     * @param {?} propName\n     * @param {?} provider\n     * @param {?} providerValueExpressions\n     * @param {?} isMulti\n     * @param {?} isEager\n     * @return {?}\n     */\n    _InjectorBuilder.prototype._createProviderProperty = function (propName, provider, providerValueExpressions, isMulti, isEager) {\n        var /** @type {?} */ resolvedProviderValueExpr;\n        var /** @type {?} */ type;\n        if (isMulti) {\n            resolvedProviderValueExpr = o.literalArr(providerValueExpressions);\n            type = new o.ArrayType(o.DYNAMIC_TYPE);\n        }\n        else {\n            resolvedProviderValueExpr = providerValueExpressions[0];\n            type = providerValueExpressions[0].type;\n        }\n        if (!type) {\n            type = o.DYNAMIC_TYPE;\n        }\n        if (isEager) {\n            this.fields.push(new o.ClassField(propName, type));\n            this._createStmts.push(o.THIS_EXPR.prop(propName).set(resolvedProviderValueExpr).toStmt());\n        }\n        else {\n            var /** @type {?} */ internalField = \"_\" + propName;\n            this.fields.push(new o.ClassField(internalField, type));\n            // Note: Equals is important for JS so that it also checks the undefined case!\n            var /** @type {?} */ getterStmts = [\n                new o.IfStmt(o.THIS_EXPR.prop(internalField).isBlank(), [o.THIS_EXPR.prop(internalField).set(resolvedProviderValueExpr).toStmt()]),\n                new o.ReturnStatement(o.THIS_EXPR.prop(internalField))\n            ];\n            this.getters.push(new o.ClassGetter(propName, getterStmts, type));\n        }\n        return o.THIS_EXPR.prop(propName);\n    };\n    /**\n     * @param {?} dep\n     * @return {?}\n     */\n    _InjectorBuilder.prototype._getDependency = function (dep) {\n        var /** @type {?} */ result = null;\n        if (dep.isValue) {\n            result = o.literal(dep.value);\n        }\n        if (!dep.isSkipSelf) {\n            if (dep.token &&\n                (tokenReference(dep.token) === resolveIdentifier(Identifiers.Injector) ||\n                    tokenReference(dep.token) === resolveIdentifier(Identifiers.ComponentFactoryResolver))) {\n                result = o.THIS_EXPR;\n            }\n            if (!result) {\n                result = this._instances.get(tokenReference(dep.token));\n            }\n        }\n        if (!result) {\n            var /** @type {?} */ args = [createDiTokenExpression(dep.token)];\n            if (dep.isOptional) {\n                args.push(o.NULL_EXPR);\n            }\n            result = InjectorProps.parent.callMethod('get', args);\n        }\n        return result;\n    };\n    return _InjectorBuilder;\n}());\nfunction _InjectorBuilder_tsickle_Closure_declarations() {\n    /** @type {?} */\n    _InjectorBuilder.prototype.fields;\n    /** @type {?} */\n    _InjectorBuilder.prototype.getters;\n    /** @type {?} */\n    _InjectorBuilder.prototype.methods;\n    /** @type {?} */\n    _InjectorBuilder.prototype.ctorStmts;\n    /** @type {?} */\n    _InjectorBuilder.prototype._tokens;\n    /** @type {?} */\n    _InjectorBuilder.prototype._instances;\n    /** @type {?} */\n    _InjectorBuilder.prototype._createStmts;\n    /** @type {?} */\n    _InjectorBuilder.prototype._destroyStmts;\n    /** @type {?} */\n    _InjectorBuilder.prototype._ngModuleMeta;\n    /** @type {?} */\n    _InjectorBuilder.prototype._entryComponentFactories;\n    /** @type {?} */\n    _InjectorBuilder.prototype._bootstrapComponentFactories;\n    /** @type {?} */\n    _InjectorBuilder.prototype._sourceSpan;\n}\nvar InjectorProps = (function () {\n    function InjectorProps() {\n    }\n    InjectorProps.parent = o.THIS_EXPR.prop('parent');\n    return InjectorProps;\n}());\nfunction InjectorProps_tsickle_Closure_declarations() {\n    /** @type {?} */\n    InjectorProps.parent;\n}\nvar InjectMethodVars = (function () {\n    function InjectMethodVars() {\n    }\n    InjectMethodVars.token = o.variable('token');\n    InjectMethodVars.notFoundResult = o.variable('notFoundResult');\n    return InjectMethodVars;\n}());\nfunction InjectMethodVars_tsickle_Closure_declarations() {\n    /** @type {?} */\n    InjectMethodVars.token;\n    /** @type {?} */\n    InjectMethodVars.notFoundResult;\n}\n//# sourceMappingURL=ng_module_compiler.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/ng_module_compiler.js\n// module id = 192\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nimport { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, SecurityContext } from '@angular/core';\nimport { CompilerInjectable } from '../injectable';\nimport { dashCaseToCamelCase } from '../util';\nimport { SECURITY_SCHEMA } from './dom_security_schema';\nimport { ElementSchemaRegistry } from './element_schema_registry';\nvar /** @type {?} */ BOOLEAN = 'boolean';\nvar /** @type {?} */ NUMBER = 'number';\nvar /** @type {?} */ STRING = 'string';\nvar /** @type {?} */ OBJECT = 'object';\n/**\n * This array represents the DOM schema. It encodes inheritance, properties, and events.\n *\n * ## Overview\n *\n * Each line represents one kind of element. The `element_inheritance` and properties are joined\n * using `element_inheritance|properties` syntax.\n *\n * ## Element Inheritance\n *\n * The `element_inheritance` can be further subdivided as `element1,element2,...^parentElement`.\n * Here the individual elements are separated by `,` (commas). Every element in the list\n * has identical properties.\n *\n * An `element` may inherit additional properties from `parentElement` If no `^parentElement` is\n * specified then `\"\"` (blank) element is assumed.\n *\n * NOTE: The blank element inherits from root `[Element]` element, the super element of all\n * elements.\n *\n * NOTE an element prefix such as `:svg:` has no special meaning to the schema.\n *\n * ## Properties\n *\n * Each element has a set of properties separated by `,` (commas). Each property can be prefixed\n * by a special character designating its type:\n *\n * - (no prefix): property is a string.\n * - `*`: property represents an event.\n * - `!`: property is a boolean.\n * - `#`: property is a number.\n * - `%`: property is an object.\n *\n * ## Query\n *\n * The class creates an internal squas representation which allows to easily answer the query of\n * if a given property exist on a given element.\n *\n * NOTE: We don't yet support querying for types or events.\n * NOTE: This schema is auto extracted from `schema_extractor.ts` located in the test folder,\n *       see dom_element_schema_registry_spec.ts\n */\n// =================================================================================================\n// =================================================================================================\n// =========== S T O P   -  S T O P   -  S T O P   -  S T O P   -  S T O P   -  S T O P  ===========\n// =================================================================================================\n// =================================================================================================\n//\n//                       DO NOT EDIT THIS DOM SCHEMA WITHOUT A SECURITY REVIEW!\n//\n// Newly added properties must be security reviewed and assigned an appropriate SecurityContext in\n// dom_security_schema.ts. Reach out to mprobst & rjamet for details.\n//\n// =================================================================================================\nvar /** @type {?} */ SCHEMA = [\n    '[Element]|textContent,%classList,className,id,innerHTML,*beforecopy,*beforecut,*beforepaste,*copy,*cut,*paste,*search,*selectstart,*webkitfullscreenchange,*webkitfullscreenerror,*wheel,outerHTML,#scrollLeft,#scrollTop',\n    '[HTMLElement]^[Element]|accessKey,contentEditable,dir,!draggable,!hidden,innerText,lang,*abort,*beforecopy,*beforecut,*beforepaste,*blur,*cancel,*canplay,*canplaythrough,*change,*click,*close,*contextmenu,*copy,*cuechange,*cut,*dblclick,*drag,*dragend,*dragenter,*dragleave,*dragover,*dragstart,*drop,*durationchange,*emptied,*ended,*error,*focus,*input,*invalid,*keydown,*keypress,*keyup,*load,*loadeddata,*loadedmetadata,*loadstart,*message,*mousedown,*mouseenter,*mouseleave,*mousemove,*mouseout,*mouseover,*mouseup,*mousewheel,*mozfullscreenchange,*mozfullscreenerror,*mozpointerlockchange,*mozpointerlockerror,*paste,*pause,*play,*playing,*progress,*ratechange,*reset,*resize,*scroll,*search,*seeked,*seeking,*select,*selectstart,*show,*stalled,*submit,*suspend,*timeupdate,*toggle,*volumechange,*waiting,*webglcontextcreationerror,*webglcontextlost,*webglcontextrestored,*webkitfullscreenchange,*webkitfullscreenerror,*wheel,outerText,!spellcheck,%style,#tabIndex,title,!translate',\n    'abbr,address,article,aside,b,bdi,bdo,cite,code,dd,dfn,dt,em,figcaption,figure,footer,header,i,kbd,main,mark,nav,noscript,rb,rp,rt,rtc,ruby,s,samp,section,small,strong,sub,sup,u,var,wbr^[HTMLElement]|accessKey,contentEditable,dir,!draggable,!hidden,innerText,lang,*abort,*beforecopy,*beforecut,*beforepaste,*blur,*cancel,*canplay,*canplaythrough,*change,*click,*close,*contextmenu,*copy,*cuechange,*cut,*dblclick,*drag,*dragend,*dragenter,*dragleave,*dragover,*dragstart,*drop,*durationchange,*emptied,*ended,*error,*focus,*input,*invalid,*keydown,*keypress,*keyup,*load,*loadeddata,*loadedmetadata,*loadstart,*message,*mousedown,*mouseenter,*mouseleave,*mousemove,*mouseout,*mouseover,*mouseup,*mousewheel,*mozfullscreenchange,*mozfullscreenerror,*mozpointerlockchange,*mozpointerlockerror,*paste,*pause,*play,*playing,*progress,*ratechange,*reset,*resize,*scroll,*search,*seeked,*seeking,*select,*selectstart,*show,*stalled,*submit,*suspend,*timeupdate,*toggle,*volumechange,*waiting,*webglcontextcreationerror,*webglcontextlost,*webglcontextrestored,*webkitfullscreenchange,*webkitfullscreenerror,*wheel,outerText,!spellcheck,%style,#tabIndex,title,!translate',\n    'media^[HTMLElement]|!autoplay,!controls,%crossOrigin,#currentTime,!defaultMuted,#defaultPlaybackRate,!disableRemotePlayback,!loop,!muted,*encrypted,#playbackRate,preload,src,%srcObject,#volume',\n    ':svg:^[HTMLElement]|*abort,*blur,*cancel,*canplay,*canplaythrough,*change,*click,*close,*contextmenu,*cuechange,*dblclick,*drag,*dragend,*dragenter,*dragleave,*dragover,*dragstart,*drop,*durationchange,*emptied,*ended,*error,*focus,*input,*invalid,*keydown,*keypress,*keyup,*load,*loadeddata,*loadedmetadata,*loadstart,*mousedown,*mouseenter,*mouseleave,*mousemove,*mouseout,*mouseover,*mouseup,*mousewheel,*pause,*play,*playing,*progress,*ratechange,*reset,*resize,*scroll,*seeked,*seeking,*select,*show,*stalled,*submit,*suspend,*timeupdate,*toggle,*volumechange,*waiting,%style,#tabIndex',\n    ':svg:graphics^:svg:|',\n    ':svg:animation^:svg:|*begin,*end,*repeat',\n    ':svg:geometry^:svg:|',\n    ':svg:componentTransferFunction^:svg:|',\n    ':svg:gradient^:svg:|',\n    ':svg:textContent^:svg:graphics|',\n    ':svg:textPositioning^:svg:textContent|',\n    'a^[HTMLElement]|charset,coords,download,hash,host,hostname,href,hreflang,name,password,pathname,ping,port,protocol,referrerPolicy,rel,rev,search,shape,target,text,type,username',\n    'area^[HTMLElement]|alt,coords,hash,host,hostname,href,!noHref,password,pathname,ping,port,protocol,referrerPolicy,search,shape,target,username',\n    'audio^media|',\n    'br^[HTMLElement]|clear',\n    'base^[HTMLElement]|href,target',\n    'body^[HTMLElement]|aLink,background,bgColor,link,*beforeunload,*blur,*error,*focus,*hashchange,*languagechange,*load,*message,*offline,*online,*pagehide,*pageshow,*popstate,*rejectionhandled,*resize,*scroll,*storage,*unhandledrejection,*unload,text,vLink',\n    'button^[HTMLElement]|!autofocus,!disabled,formAction,formEnctype,formMethod,!formNoValidate,formTarget,name,type,value',\n    'canvas^[HTMLElement]|#height,#width',\n    'content^[HTMLElement]|select',\n    'dl^[HTMLElement]|!compact',\n    'datalist^[HTMLElement]|',\n    'details^[HTMLElement]|!open',\n    'dialog^[HTMLElement]|!open,returnValue',\n    'dir^[HTMLElement]|!compact',\n    'div^[HTMLElement]|align',\n    'embed^[HTMLElement]|align,height,name,src,type,width',\n    'fieldset^[HTMLElement]|!disabled,name',\n    'font^[HTMLElement]|color,face,size',\n    'form^[HTMLElement]|acceptCharset,action,autocomplete,encoding,enctype,method,name,!noValidate,target',\n    'frame^[HTMLElement]|frameBorder,longDesc,marginHeight,marginWidth,name,!noResize,scrolling,src',\n    'frameset^[HTMLElement]|cols,*beforeunload,*blur,*error,*focus,*hashchange,*languagechange,*load,*message,*offline,*online,*pagehide,*pageshow,*popstate,*rejectionhandled,*resize,*scroll,*storage,*unhandledrejection,*unload,rows',\n    'hr^[HTMLElement]|align,color,!noShade,size,width',\n    'head^[HTMLElement]|',\n    'h1,h2,h3,h4,h5,h6^[HTMLElement]|align',\n    'html^[HTMLElement]|version',\n    'iframe^[HTMLElement]|align,!allowFullscreen,frameBorder,height,longDesc,marginHeight,marginWidth,name,referrerPolicy,%sandbox,scrolling,src,srcdoc,width',\n    'img^[HTMLElement]|align,alt,border,%crossOrigin,#height,#hspace,!isMap,longDesc,lowsrc,name,referrerPolicy,sizes,src,srcset,useMap,#vspace,#width',\n    'input^[HTMLElement]|accept,align,alt,autocapitalize,autocomplete,!autofocus,!checked,!defaultChecked,defaultValue,dirName,!disabled,%files,formAction,formEnctype,formMethod,!formNoValidate,formTarget,#height,!incremental,!indeterminate,max,#maxLength,min,#minLength,!multiple,name,pattern,placeholder,!readOnly,!required,selectionDirection,#selectionEnd,#selectionStart,#size,src,step,type,useMap,value,%valueAsDate,#valueAsNumber,#width',\n    'keygen^[HTMLElement]|!autofocus,challenge,!disabled,keytype,name',\n    'li^[HTMLElement]|type,#value',\n    'label^[HTMLElement]|htmlFor',\n    'legend^[HTMLElement]|align',\n    'link^[HTMLElement]|as,charset,%crossOrigin,!disabled,href,hreflang,integrity,media,rel,%relList,rev,%sizes,target,type',\n    'map^[HTMLElement]|name',\n    'marquee^[HTMLElement]|behavior,bgColor,direction,height,#hspace,#loop,#scrollAmount,#scrollDelay,!trueSpeed,#vspace,width',\n    'menu^[HTMLElement]|!compact',\n    'meta^[HTMLElement]|content,httpEquiv,name,scheme',\n    'meter^[HTMLElement]|#high,#low,#max,#min,#optimum,#value',\n    'ins,del^[HTMLElement]|cite,dateTime',\n    'ol^[HTMLElement]|!compact,!reversed,#start,type',\n    'object^[HTMLElement]|align,archive,border,code,codeBase,codeType,data,!declare,height,#hspace,name,standby,type,useMap,#vspace,width',\n    'optgroup^[HTMLElement]|!disabled,label',\n    'option^[HTMLElement]|!defaultSelected,!disabled,label,!selected,text,value',\n    'output^[HTMLElement]|defaultValue,%htmlFor,name,value',\n    'p^[HTMLElement]|align',\n    'param^[HTMLElement]|name,type,value,valueType',\n    'picture^[HTMLElement]|',\n    'pre^[HTMLElement]|#width',\n    'progress^[HTMLElement]|#max,#value',\n    'q,blockquote,cite^[HTMLElement]|',\n    'script^[HTMLElement]|!async,charset,%crossOrigin,!defer,event,htmlFor,integrity,src,text,type',\n    'select^[HTMLElement]|!autofocus,!disabled,#length,!multiple,name,!required,#selectedIndex,#size,value',\n    'shadow^[HTMLElement]|',\n    'source^[HTMLElement]|media,sizes,src,srcset,type',\n    'span^[HTMLElement]|',\n    'style^[HTMLElement]|!disabled,media,type',\n    'caption^[HTMLElement]|align',\n    'th,td^[HTMLElement]|abbr,align,axis,bgColor,ch,chOff,#colSpan,headers,height,!noWrap,#rowSpan,scope,vAlign,width',\n    'col,colgroup^[HTMLElement]|align,ch,chOff,#span,vAlign,width',\n    'table^[HTMLElement]|align,bgColor,border,%caption,cellPadding,cellSpacing,frame,rules,summary,%tFoot,%tHead,width',\n    'tr^[HTMLElement]|align,bgColor,ch,chOff,vAlign',\n    'tfoot,thead,tbody^[HTMLElement]|align,ch,chOff,vAlign',\n    'template^[HTMLElement]|',\n    'textarea^[HTMLElement]|autocapitalize,!autofocus,#cols,defaultValue,dirName,!disabled,#maxLength,#minLength,name,placeholder,!readOnly,!required,#rows,selectionDirection,#selectionEnd,#selectionStart,value,wrap',\n    'title^[HTMLElement]|text',\n    'track^[HTMLElement]|!default,kind,label,src,srclang',\n    'ul^[HTMLElement]|!compact,type',\n    'unknown^[HTMLElement]|',\n    'video^media|#height,poster,#width',\n    ':svg:a^:svg:graphics|',\n    ':svg:animate^:svg:animation|',\n    ':svg:animateMotion^:svg:animation|',\n    ':svg:animateTransform^:svg:animation|',\n    ':svg:circle^:svg:geometry|',\n    ':svg:clipPath^:svg:graphics|',\n    ':svg:cursor^:svg:|',\n    ':svg:defs^:svg:graphics|',\n    ':svg:desc^:svg:|',\n    ':svg:discard^:svg:|',\n    ':svg:ellipse^:svg:geometry|',\n    ':svg:feBlend^:svg:|',\n    ':svg:feColorMatrix^:svg:|',\n    ':svg:feComponentTransfer^:svg:|',\n    ':svg:feComposite^:svg:|',\n    ':svg:feConvolveMatrix^:svg:|',\n    ':svg:feDiffuseLighting^:svg:|',\n    ':svg:feDisplacementMap^:svg:|',\n    ':svg:feDistantLight^:svg:|',\n    ':svg:feDropShadow^:svg:|',\n    ':svg:feFlood^:svg:|',\n    ':svg:feFuncA^:svg:componentTransferFunction|',\n    ':svg:feFuncB^:svg:componentTransferFunction|',\n    ':svg:feFuncG^:svg:componentTransferFunction|',\n    ':svg:feFuncR^:svg:componentTransferFunction|',\n    ':svg:feGaussianBlur^:svg:|',\n    ':svg:feImage^:svg:|',\n    ':svg:feMerge^:svg:|',\n    ':svg:feMergeNode^:svg:|',\n    ':svg:feMorphology^:svg:|',\n    ':svg:feOffset^:svg:|',\n    ':svg:fePointLight^:svg:|',\n    ':svg:feSpecularLighting^:svg:|',\n    ':svg:feSpotLight^:svg:|',\n    ':svg:feTile^:svg:|',\n    ':svg:feTurbulence^:svg:|',\n    ':svg:filter^:svg:|',\n    ':svg:foreignObject^:svg:graphics|',\n    ':svg:g^:svg:graphics|',\n    ':svg:image^:svg:graphics|',\n    ':svg:line^:svg:geometry|',\n    ':svg:linearGradient^:svg:gradient|',\n    ':svg:mpath^:svg:|',\n    ':svg:marker^:svg:|',\n    ':svg:mask^:svg:|',\n    ':svg:metadata^:svg:|',\n    ':svg:path^:svg:geometry|',\n    ':svg:pattern^:svg:|',\n    ':svg:polygon^:svg:geometry|',\n    ':svg:polyline^:svg:geometry|',\n    ':svg:radialGradient^:svg:gradient|',\n    ':svg:rect^:svg:geometry|',\n    ':svg:svg^:svg:graphics|#currentScale,#zoomAndPan',\n    ':svg:script^:svg:|type',\n    ':svg:set^:svg:animation|',\n    ':svg:stop^:svg:|',\n    ':svg:style^:svg:|!disabled,media,title,type',\n    ':svg:switch^:svg:graphics|',\n    ':svg:symbol^:svg:|',\n    ':svg:tspan^:svg:textPositioning|',\n    ':svg:text^:svg:textPositioning|',\n    ':svg:textPath^:svg:textContent|',\n    ':svg:title^:svg:|',\n    ':svg:use^:svg:graphics|',\n    ':svg:view^:svg:|#zoomAndPan',\n    'data^[HTMLElement]|value',\n    'menuitem^[HTMLElement]|type,label,icon,!disabled,!checked,radiogroup,!default',\n    'summary^[HTMLElement]|',\n    'time^[HTMLElement]|dateTime',\n];\nvar /** @type {?} */ _ATTR_TO_PROP = {\n    'class': 'className',\n    'for': 'htmlFor',\n    'formaction': 'formAction',\n    'innerHtml': 'innerHTML',\n    'readonly': 'readOnly',\n    'tabindex': 'tabIndex',\n};\nexport var DomElementSchemaRegistry = (function (_super) {\n    __extends(DomElementSchemaRegistry, _super);\n    function DomElementSchemaRegistry() {\n        var _this = this;\n        _super.call(this);\n        this._schema = {};\n        SCHEMA.forEach(function (encodedType) {\n            var type = {};\n            var _a = encodedType.split('|'), strType = _a[0], strProperties = _a[1];\n            var properties = strProperties.split(',');\n            var _b = strType.split('^'), typeNames = _b[0], superName = _b[1];\n            typeNames.split(',').forEach(function (tag) { return _this._schema[tag.toLowerCase()] = type; });\n            var superType = superName && _this._schema[superName.toLowerCase()];\n            if (superType) {\n                Object.keys(superType).forEach(function (prop) { type[prop] = superType[prop]; });\n            }\n            properties.forEach(function (property) {\n                if (property.length > 0) {\n                    switch (property[0]) {\n                        case '*':\n                            // We don't yet support events.\n                            // If ever allowing to bind to events, GO THROUGH A SECURITY REVIEW, allowing events\n                            // will\n                            // almost certainly introduce bad XSS vulnerabilities.\n                            // type[property.substring(1)] = EVENT;\n                            break;\n                        case '!':\n                            type[property.substring(1)] = BOOLEAN;\n                            break;\n                        case '#':\n                            type[property.substring(1)] = NUMBER;\n                            break;\n                        case '%':\n                            type[property.substring(1)] = OBJECT;\n                            break;\n                        default:\n                            type[property] = STRING;\n                    }\n                }\n            });\n        });\n    }\n    /**\n     * @param {?} tagName\n     * @param {?} propName\n     * @param {?} schemaMetas\n     * @return {?}\n     */\n    DomElementSchemaRegistry.prototype.hasProperty = function (tagName, propName, schemaMetas) {\n        if (schemaMetas.some(function (schema) { return schema.name === NO_ERRORS_SCHEMA.name; })) {\n            return true;\n        }\n        if (tagName.indexOf('-') > -1) {\n            if (tagName === 'ng-container' || tagName === 'ng-content') {\n                return false;\n            }\n            if (schemaMetas.some(function (schema) { return schema.name === CUSTOM_ELEMENTS_SCHEMA.name; })) {\n                // Can't tell now as we don't know which properties a custom element will get\n                // once it is instantiated\n                return true;\n            }\n        }\n        var /** @type {?} */ elementProperties = this._schema[tagName.toLowerCase()] || this._schema['unknown'];\n        return !!elementProperties[propName];\n    };\n    /**\n     * @param {?} tagName\n     * @param {?} schemaMetas\n     * @return {?}\n     */\n    DomElementSchemaRegistry.prototype.hasElement = function (tagName, schemaMetas) {\n        if (schemaMetas.some(function (schema) { return schema.name === NO_ERRORS_SCHEMA.name; })) {\n            return true;\n        }\n        if (tagName.indexOf('-') > -1) {\n            if (tagName === 'ng-container' || tagName === 'ng-content') {\n                return true;\n            }\n            if (schemaMetas.some(function (schema) { return schema.name === CUSTOM_ELEMENTS_SCHEMA.name; })) {\n                // Allow any custom elements\n                return true;\n            }\n        }\n        return !!this._schema[tagName.toLowerCase()];\n    };\n    /**\n     * securityContext returns the security context for the given property on the given DOM tag.\n     *\n     * Tag and property name are statically known and cannot change at runtime, i.e. it is not\n     * possible to bind a value into a changing attribute or tag name.\n     *\n     * The filtering is white list based. All attributes in the schema above are assumed to have the\n     * 'NONE' security context, i.e. that they are safe inert string values. Only specific well known\n     * attack vectors are assigned their appropriate context.\n     * @param {?} tagName\n     * @param {?} propName\n     * @param {?} isAttribute\n     * @return {?}\n     */\n    DomElementSchemaRegistry.prototype.securityContext = function (tagName, propName, isAttribute) {\n        if (isAttribute) {\n            // NB: For security purposes, use the mapped property name, not the attribute name.\n            propName = this.getMappedPropName(propName);\n        }\n        // Make sure comparisons are case insensitive, so that case differences between attribute and\n        // property names do not have a security impact.\n        tagName = tagName.toLowerCase();\n        propName = propName.toLowerCase();\n        var /** @type {?} */ ctx = SECURITY_SCHEMA[tagName + '|' + propName];\n        if (ctx) {\n            return ctx;\n        }\n        ctx = SECURITY_SCHEMA['*|' + propName];\n        return ctx ? ctx : SecurityContext.NONE;\n    };\n    /**\n     * @param {?} propName\n     * @return {?}\n     */\n    DomElementSchemaRegistry.prototype.getMappedPropName = function (propName) { return _ATTR_TO_PROP[propName] || propName; };\n    /**\n     * @return {?}\n     */\n    DomElementSchemaRegistry.prototype.getDefaultComponentElementName = function () { return 'ng-component'; };\n    /**\n     * @param {?} name\n     * @return {?}\n     */\n    DomElementSchemaRegistry.prototype.validateProperty = function (name) {\n        if (name.toLowerCase().startsWith('on')) {\n            var /** @type {?} */ msg = (\"Binding to event property '\" + name + \"' is disallowed for security reasons, \") +\n                (\"please use (\" + name.slice(2) + \")=...\") +\n                (\"\\nIf '\" + name + \"' is a directive input, make sure the directive is imported by the\") +\n                \" current module.\";\n            return { error: true, msg: msg };\n        }\n        else {\n            return { error: false };\n        }\n    };\n    /**\n     * @param {?} name\n     * @return {?}\n     */\n    DomElementSchemaRegistry.prototype.validateAttribute = function (name) {\n        if (name.toLowerCase().startsWith('on')) {\n            var /** @type {?} */ msg = (\"Binding to event attribute '\" + name + \"' is disallowed for security reasons, \") +\n                (\"please use (\" + name.slice(2) + \")=...\");\n            return { error: true, msg: msg };\n        }\n        else {\n            return { error: false };\n        }\n    };\n    /**\n     * @return {?}\n     */\n    DomElementSchemaRegistry.prototype.allKnownElementNames = function () { return Object.keys(this._schema); };\n    /**\n     * @param {?} propName\n     * @return {?}\n     */\n    DomElementSchemaRegistry.prototype.normalizeAnimationStyleProperty = function (propName) {\n        return dashCaseToCamelCase(propName);\n    };\n    /**\n     * @param {?} camelCaseProp\n     * @param {?} userProvidedProp\n     * @param {?} val\n     * @return {?}\n     */\n    DomElementSchemaRegistry.prototype.normalizeAnimationStyleValue = function (camelCaseProp, userProvidedProp, val) {\n        var /** @type {?} */ unit = '';\n        var /** @type {?} */ strVal = val.toString().trim();\n        var /** @type {?} */ errorMsg = null;\n        if (_isPixelDimensionStyle(camelCaseProp) && val !== 0 && val !== '0') {\n            if (typeof val === 'number') {\n                unit = 'px';\n            }\n            else {\n                var /** @type {?} */ valAndSuffixMatch = val.match(/^[+-]?[\\d\\.]+([a-z]*)$/);\n                if (valAndSuffixMatch && valAndSuffixMatch[1].length == 0) {\n                    errorMsg = \"Please provide a CSS unit value for \" + userProvidedProp + \":\" + val;\n                }\n            }\n        }\n        return { error: errorMsg, value: strVal + unit };\n    };\n    DomElementSchemaRegistry = __decorate([\n        CompilerInjectable(), \n        __metadata('design:paramtypes', [])\n    ], DomElementSchemaRegistry);\n    return DomElementSchemaRegistry;\n}(ElementSchemaRegistry));\nfunction DomElementSchemaRegistry_tsickle_Closure_declarations() {\n    /** @type {?} */\n    DomElementSchemaRegistry.prototype._schema;\n}\n/**\n * @param {?} prop\n * @return {?}\n */\nfunction _isPixelDimensionStyle(prop) {\n    switch (prop) {\n        case 'width':\n        case 'height':\n        case 'minWidth':\n        case 'minHeight':\n        case 'maxWidth':\n        case 'maxHeight':\n        case 'left':\n        case 'top':\n        case 'bottom':\n        case 'right':\n        case 'fontSize':\n        case 'outlineWidth':\n        case 'outlineOffset':\n        case 'paddingTop':\n        case 'paddingLeft':\n        case 'paddingBottom':\n        case 'paddingRight':\n        case 'marginTop':\n        case 'marginLeft':\n        case 'marginBottom':\n        case 'marginRight':\n        case 'borderRadius':\n        case 'borderWidth':\n        case 'borderTopWidth':\n        case 'borderLeftWidth':\n        case 'borderRightWidth':\n        case 'borderBottomWidth':\n        case 'textIndent':\n            return true;\n        default:\n            return false;\n    }\n}\n//# sourceMappingURL=dom_element_schema_registry.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/schema/dom_element_schema_registry.js\n// module id = 193\n// module chunks = 0","/**\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 */\nimport { getHtmlTagDefinition } from './ml_parser/html_tags';\nvar /** @type {?} */ _SELECTOR_REGEXP = new RegExp('(\\\\:not\\\\()|' +\n    '([-\\\\w]+)|' +\n    '(?:\\\\.([-\\\\w]+))|' +\n    // \"-\" should appear first in the regexp below as FF31 parses \"[.-\\w]\" as a range\n    '(?:\\\\[([-.\\\\w*]+)(?:=([^\\\\]]*))?\\\\])|' +\n    '(\\\\))|' +\n    '(\\\\s*,\\\\s*)', // \",\"\n'g');\n/**\n * A css selector contains an element name,\n * css classes and attribute/value pairs with the purpose\n * of selecting subsets out of them.\n */\nexport var CssSelector = (function () {\n    function CssSelector() {\n        this.element = null;\n        this.classNames = [];\n        this.attrs = [];\n        this.notSelectors = [];\n    }\n    /**\n     * @param {?} selector\n     * @return {?}\n     */\n    CssSelector.parse = function (selector) {\n        var /** @type {?} */ results = [];\n        var /** @type {?} */ _addResult = function (res, cssSel) {\n            if (cssSel.notSelectors.length > 0 && !cssSel.element && cssSel.classNames.length == 0 &&\n                cssSel.attrs.length == 0) {\n                cssSel.element = '*';\n            }\n            res.push(cssSel);\n        };\n        var /** @type {?} */ cssSelector = new CssSelector();\n        var /** @type {?} */ match;\n        var /** @type {?} */ current = cssSelector;\n        var /** @type {?} */ inNot = false;\n        _SELECTOR_REGEXP.lastIndex = 0;\n        while (match = _SELECTOR_REGEXP.exec(selector)) {\n            if (match[1]) {\n                if (inNot) {\n                    throw new Error('Nesting :not is not allowed in a selector');\n                }\n                inNot = true;\n                current = new CssSelector();\n                cssSelector.notSelectors.push(current);\n            }\n            if (match[2]) {\n                current.setElement(match[2]);\n            }\n            if (match[3]) {\n                current.addClassName(match[3]);\n            }\n            if (match[4]) {\n                current.addAttribute(match[4], match[5]);\n            }\n            if (match[6]) {\n                inNot = false;\n                current = cssSelector;\n            }\n            if (match[7]) {\n                if (inNot) {\n                    throw new Error('Multiple selectors in :not are not supported');\n                }\n                _addResult(results, cssSelector);\n                cssSelector = current = new CssSelector();\n            }\n        }\n        _addResult(results, cssSelector);\n        return results;\n    };\n    /**\n     * @return {?}\n     */\n    CssSelector.prototype.isElementSelector = function () {\n        return this.hasElementSelector() && this.classNames.length == 0 && this.attrs.length == 0 &&\n            this.notSelectors.length === 0;\n    };\n    /**\n     * @return {?}\n     */\n    CssSelector.prototype.hasElementSelector = function () { return !!this.element; };\n    /**\n     * @param {?=} element\n     * @return {?}\n     */\n    CssSelector.prototype.setElement = function (element) {\n        if (element === void 0) { element = null; }\n        this.element = element;\n    };\n    /**\n     * Gets a template string for an element that matches the selector.\n     * @return {?}\n     */\n    CssSelector.prototype.getMatchingElementTemplate = function () {\n        var /** @type {?} */ tagName = this.element || 'div';\n        var /** @type {?} */ classAttr = this.classNames.length > 0 ? \" class=\\\"\" + this.classNames.join(' ') + \"\\\"\" : '';\n        var /** @type {?} */ attrs = '';\n        for (var /** @type {?} */ i = 0; i < this.attrs.length; i += 2) {\n            var /** @type {?} */ attrName = this.attrs[i];\n            var /** @type {?} */ attrValue = this.attrs[i + 1] !== '' ? \"=\\\"\" + this.attrs[i + 1] + \"\\\"\" : '';\n            attrs += \" \" + attrName + attrValue;\n        }\n        return getHtmlTagDefinition(tagName).isVoid ? \"<\" + tagName + classAttr + attrs + \"/>\" :\n            \"<\" + tagName + classAttr + attrs + \"></\" + tagName + \">\";\n    };\n    /**\n     * @param {?} name\n     * @param {?=} value\n     * @return {?}\n     */\n    CssSelector.prototype.addAttribute = function (name, value) {\n        if (value === void 0) { value = ''; }\n        this.attrs.push(name, value && value.toLowerCase() || '');\n    };\n    /**\n     * @param {?} name\n     * @return {?}\n     */\n    CssSelector.prototype.addClassName = function (name) { this.classNames.push(name.toLowerCase()); };\n    /**\n     * @return {?}\n     */\n    CssSelector.prototype.toString = function () {\n        var /** @type {?} */ res = this.element || '';\n        if (this.classNames) {\n            this.classNames.forEach(function (klass) { return res += \".\" + klass; });\n        }\n        if (this.attrs) {\n            for (var /** @type {?} */ i = 0; i < this.attrs.length; i += 2) {\n                var /** @type {?} */ name_1 = this.attrs[i];\n                var /** @type {?} */ value = this.attrs[i + 1];\n                res += \"[\" + name_1 + (value ? '=' + value : '') + \"]\";\n            }\n        }\n        this.notSelectors.forEach(function (notSelector) { return res += \":not(\" + notSelector + \")\"; });\n        return res;\n    };\n    return CssSelector;\n}());\nfunction CssSelector_tsickle_Closure_declarations() {\n    /** @type {?} */\n    CssSelector.prototype.element;\n    /** @type {?} */\n    CssSelector.prototype.classNames;\n    /** @type {?} */\n    CssSelector.prototype.attrs;\n    /** @type {?} */\n    CssSelector.prototype.notSelectors;\n}\n/**\n * Reads a list of CssSelectors and allows to calculate which ones\n * are contained in a given CssSelector.\n */\nexport var SelectorMatcher = (function () {\n    function SelectorMatcher() {\n        this._elementMap = new Map();\n        this._elementPartialMap = new Map();\n        this._classMap = new Map();\n        this._classPartialMap = new Map();\n        this._attrValueMap = new Map();\n        this._attrValuePartialMap = new Map();\n        this._listContexts = [];\n    }\n    /**\n     * @param {?} notSelectors\n     * @return {?}\n     */\n    SelectorMatcher.createNotMatcher = function (notSelectors) {\n        var /** @type {?} */ notMatcher = new SelectorMatcher();\n        notMatcher.addSelectables(notSelectors, null);\n        return notMatcher;\n    };\n    /**\n     * @param {?} cssSelectors\n     * @param {?=} callbackCtxt\n     * @return {?}\n     */\n    SelectorMatcher.prototype.addSelectables = function (cssSelectors, callbackCtxt) {\n        var /** @type {?} */ listContext = null;\n        if (cssSelectors.length > 1) {\n            listContext = new SelectorListContext(cssSelectors);\n            this._listContexts.push(listContext);\n        }\n        for (var /** @type {?} */ i = 0; i < cssSelectors.length; i++) {\n            this._addSelectable(cssSelectors[i], callbackCtxt, listContext);\n        }\n    };\n    /**\n     * Add an object that can be found later on by calling `match`.\n     * @param {?} cssSelector A css selector\n     * @param {?} callbackCtxt An opaque object that will be given to the callback of the `match` function\n     * @param {?} listContext\n     * @return {?}\n     */\n    SelectorMatcher.prototype._addSelectable = function (cssSelector, callbackCtxt, listContext) {\n        var /** @type {?} */ matcher = this;\n        var /** @type {?} */ element = cssSelector.element;\n        var /** @type {?} */ classNames = cssSelector.classNames;\n        var /** @type {?} */ attrs = cssSelector.attrs;\n        var /** @type {?} */ selectable = new SelectorContext(cssSelector, callbackCtxt, listContext);\n        if (element) {\n            var /** @type {?} */ isTerminal = attrs.length === 0 && classNames.length === 0;\n            if (isTerminal) {\n                this._addTerminal(matcher._elementMap, element, selectable);\n            }\n            else {\n                matcher = this._addPartial(matcher._elementPartialMap, element);\n            }\n        }\n        if (classNames) {\n            for (var /** @type {?} */ i = 0; i < classNames.length; i++) {\n                var /** @type {?} */ isTerminal = attrs.length === 0 && i === classNames.length - 1;\n                var /** @type {?} */ className = classNames[i];\n                if (isTerminal) {\n                    this._addTerminal(matcher._classMap, className, selectable);\n                }\n                else {\n                    matcher = this._addPartial(matcher._classPartialMap, className);\n                }\n            }\n        }\n        if (attrs) {\n            for (var /** @type {?} */ i = 0; i < attrs.length; i += 2) {\n                var /** @type {?} */ isTerminal = i === attrs.length - 2;\n                var /** @type {?} */ name_2 = attrs[i];\n                var /** @type {?} */ value = attrs[i + 1];\n                if (isTerminal) {\n                    var /** @type {?} */ terminalMap = matcher._attrValueMap;\n                    var /** @type {?} */ terminalValuesMap = terminalMap.get(name_2);\n                    if (!terminalValuesMap) {\n                        terminalValuesMap = new Map();\n                        terminalMap.set(name_2, terminalValuesMap);\n                    }\n                    this._addTerminal(terminalValuesMap, value, selectable);\n                }\n                else {\n                    var /** @type {?} */ partialMap = matcher._attrValuePartialMap;\n                    var /** @type {?} */ partialValuesMap = partialMap.get(name_2);\n                    if (!partialValuesMap) {\n                        partialValuesMap = new Map();\n                        partialMap.set(name_2, partialValuesMap);\n                    }\n                    matcher = this._addPartial(partialValuesMap, value);\n                }\n            }\n        }\n    };\n    /**\n     * @param {?} map\n     * @param {?} name\n     * @param {?} selectable\n     * @return {?}\n     */\n    SelectorMatcher.prototype._addTerminal = function (map, name, selectable) {\n        var /** @type {?} */ terminalList = map.get(name);\n        if (!terminalList) {\n            terminalList = [];\n            map.set(name, terminalList);\n        }\n        terminalList.push(selectable);\n    };\n    /**\n     * @param {?} map\n     * @param {?} name\n     * @return {?}\n     */\n    SelectorMatcher.prototype._addPartial = function (map, name) {\n        var /** @type {?} */ matcher = map.get(name);\n        if (!matcher) {\n            matcher = new SelectorMatcher();\n            map.set(name, matcher);\n        }\n        return matcher;\n    };\n    /**\n     * Find the objects that have been added via `addSelectable`\n     * whose css selector is contained in the given css selector.\n     * @param {?} cssSelector A css selector\n     * @param {?} matchedCallback This callback will be called with the object handed into `addSelectable`\n     * @return {?} boolean true if a match was found\n     */\n    SelectorMatcher.prototype.match = function (cssSelector, matchedCallback) {\n        var /** @type {?} */ result = false;\n        var /** @type {?} */ element = cssSelector.element;\n        var /** @type {?} */ classNames = cssSelector.classNames;\n        var /** @type {?} */ attrs = cssSelector.attrs;\n        for (var /** @type {?} */ i = 0; i < this._listContexts.length; i++) {\n            this._listContexts[i].alreadyMatched = false;\n        }\n        result = this._matchTerminal(this._elementMap, element, cssSelector, matchedCallback) || result;\n        result = this._matchPartial(this._elementPartialMap, element, cssSelector, matchedCallback) ||\n            result;\n        if (classNames) {\n            for (var /** @type {?} */ i = 0; i < classNames.length; i++) {\n                var /** @type {?} */ className = classNames[i];\n                result =\n                    this._matchTerminal(this._classMap, className, cssSelector, matchedCallback) || result;\n                result =\n                    this._matchPartial(this._classPartialMap, className, cssSelector, matchedCallback) ||\n                        result;\n            }\n        }\n        if (attrs) {\n            for (var /** @type {?} */ i = 0; i < attrs.length; i += 2) {\n                var /** @type {?} */ name_3 = attrs[i];\n                var /** @type {?} */ value = attrs[i + 1];\n                var /** @type {?} */ terminalValuesMap = this._attrValueMap.get(name_3);\n                if (value) {\n                    result =\n                        this._matchTerminal(terminalValuesMap, '', cssSelector, matchedCallback) || result;\n                }\n                result =\n                    this._matchTerminal(terminalValuesMap, value, cssSelector, matchedCallback) || result;\n                var /** @type {?} */ partialValuesMap = this._attrValuePartialMap.get(name_3);\n                if (value) {\n                    result = this._matchPartial(partialValuesMap, '', cssSelector, matchedCallback) || result;\n                }\n                result =\n                    this._matchPartial(partialValuesMap, value, cssSelector, matchedCallback) || result;\n            }\n        }\n        return result;\n    };\n    /**\n     * \\@internal\n     * @param {?} map\n     * @param {?} name\n     * @param {?} cssSelector\n     * @param {?} matchedCallback\n     * @return {?}\n     */\n    SelectorMatcher.prototype._matchTerminal = function (map, name, cssSelector, matchedCallback) {\n        if (!map || typeof name !== 'string') {\n            return false;\n        }\n        var /** @type {?} */ selectables = map.get(name) || [];\n        var /** @type {?} */ starSelectables = map.get('*');\n        if (starSelectables) {\n            selectables = selectables.concat(starSelectables);\n        }\n        if (selectables.length === 0) {\n            return false;\n        }\n        var /** @type {?} */ selectable;\n        var /** @type {?} */ result = false;\n        for (var /** @type {?} */ i = 0; i < selectables.length; i++) {\n            selectable = selectables[i];\n            result = selectable.finalize(cssSelector, matchedCallback) || result;\n        }\n        return result;\n    };\n    /**\n     * \\@internal\n     * @param {?} map\n     * @param {?} name\n     * @param {?} cssSelector\n     * @param {?} matchedCallback\n     * @return {?}\n     */\n    SelectorMatcher.prototype._matchPartial = function (map, name, cssSelector, matchedCallback) {\n        if (!map || typeof name !== 'string') {\n            return false;\n        }\n        var /** @type {?} */ nestedSelector = map.get(name);\n        if (!nestedSelector) {\n            return false;\n        }\n        // TODO(perf): get rid of recursion and measure again\n        // TODO(perf): don't pass the whole selector into the recursion,\n        // but only the not processed parts\n        return nestedSelector.match(cssSelector, matchedCallback);\n    };\n    return SelectorMatcher;\n}());\nfunction SelectorMatcher_tsickle_Closure_declarations() {\n    /** @type {?} */\n    SelectorMatcher.prototype._elementMap;\n    /** @type {?} */\n    SelectorMatcher.prototype._elementPartialMap;\n    /** @type {?} */\n    SelectorMatcher.prototype._classMap;\n    /** @type {?} */\n    SelectorMatcher.prototype._classPartialMap;\n    /** @type {?} */\n    SelectorMatcher.prototype._attrValueMap;\n    /** @type {?} */\n    SelectorMatcher.prototype._attrValuePartialMap;\n    /** @type {?} */\n    SelectorMatcher.prototype._listContexts;\n}\nexport var SelectorListContext = (function () {\n    /**\n     * @param {?} selectors\n     */\n    function SelectorListContext(selectors) {\n        this.selectors = selectors;\n        this.alreadyMatched = false;\n    }\n    return SelectorListContext;\n}());\nfunction SelectorListContext_tsickle_Closure_declarations() {\n    /** @type {?} */\n    SelectorListContext.prototype.alreadyMatched;\n    /** @type {?} */\n    SelectorListContext.prototype.selectors;\n}\nexport var SelectorContext = (function () {\n    /**\n     * @param {?} selector\n     * @param {?} cbContext\n     * @param {?} listContext\n     */\n    function SelectorContext(selector, cbContext, listContext) {\n        this.selector = selector;\n        this.cbContext = cbContext;\n        this.listContext = listContext;\n        this.notSelectors = selector.notSelectors;\n    }\n    /**\n     * @param {?} cssSelector\n     * @param {?} callback\n     * @return {?}\n     */\n    SelectorContext.prototype.finalize = function (cssSelector, callback) {\n        var /** @type {?} */ result = true;\n        if (this.notSelectors.length > 0 && (!this.listContext || !this.listContext.alreadyMatched)) {\n            var /** @type {?} */ notMatcher = SelectorMatcher.createNotMatcher(this.notSelectors);\n            result = !notMatcher.match(cssSelector, null);\n        }\n        if (result && callback && (!this.listContext || !this.listContext.alreadyMatched)) {\n            if (this.listContext) {\n                this.listContext.alreadyMatched = true;\n            }\n            callback(this.selector, this.cbContext);\n        }\n        return result;\n    };\n    return SelectorContext;\n}());\nfunction SelectorContext_tsickle_Closure_declarations() {\n    /** @type {?} */\n    SelectorContext.prototype.notSelectors;\n    /** @type {?} */\n    SelectorContext.prototype.selector;\n    /** @type {?} */\n    SelectorContext.prototype.cbContext;\n    /** @type {?} */\n    SelectorContext.prototype.listContext;\n}\n//# sourceMappingURL=selector.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/selector.js\n// module id = 194\n// module chunks = 0","/**\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 */\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nimport { ViewEncapsulation } from '@angular/core';\nimport { CompileStylesheetMetadata, identifierModuleUrl, identifierName } from './compile_metadata';\nimport { CompilerInjectable } from './injectable';\nimport * as o from './output/output_ast';\nimport { ShadowCss } from './shadow_css';\nimport { UrlResolver } from './url_resolver';\nvar /** @type {?} */ COMPONENT_VARIABLE = '%COMP%';\nvar /** @type {?} */ HOST_ATTR = \"_nghost-\" + COMPONENT_VARIABLE;\nvar /** @type {?} */ CONTENT_ATTR = \"_ngcontent-\" + COMPONENT_VARIABLE;\nexport var StylesCompileDependency = (function () {\n    /**\n     * @param {?} name\n     * @param {?} moduleUrl\n     * @param {?} isShimmed\n     * @param {?} valuePlaceholder\n     */\n    function StylesCompileDependency(name, moduleUrl, isShimmed, valuePlaceholder) {\n        this.name = name;\n        this.moduleUrl = moduleUrl;\n        this.isShimmed = isShimmed;\n        this.valuePlaceholder = valuePlaceholder;\n    }\n    return StylesCompileDependency;\n}());\nfunction StylesCompileDependency_tsickle_Closure_declarations() {\n    /** @type {?} */\n    StylesCompileDependency.prototype.name;\n    /** @type {?} */\n    StylesCompileDependency.prototype.moduleUrl;\n    /** @type {?} */\n    StylesCompileDependency.prototype.isShimmed;\n    /** @type {?} */\n    StylesCompileDependency.prototype.valuePlaceholder;\n}\nexport var StylesCompileResult = (function () {\n    /**\n     * @param {?} componentStylesheet\n     * @param {?} externalStylesheets\n     */\n    function StylesCompileResult(componentStylesheet, externalStylesheets) {\n        this.componentStylesheet = componentStylesheet;\n        this.externalStylesheets = externalStylesheets;\n    }\n    return StylesCompileResult;\n}());\nfunction StylesCompileResult_tsickle_Closure_declarations() {\n    /** @type {?} */\n    StylesCompileResult.prototype.componentStylesheet;\n    /** @type {?} */\n    StylesCompileResult.prototype.externalStylesheets;\n}\nexport var CompiledStylesheet = (function () {\n    /**\n     * @param {?} statements\n     * @param {?} stylesVar\n     * @param {?} dependencies\n     * @param {?} isShimmed\n     * @param {?} meta\n     */\n    function CompiledStylesheet(statements, stylesVar, dependencies, isShimmed, meta) {\n        this.statements = statements;\n        this.stylesVar = stylesVar;\n        this.dependencies = dependencies;\n        this.isShimmed = isShimmed;\n        this.meta = meta;\n    }\n    return CompiledStylesheet;\n}());\nfunction CompiledStylesheet_tsickle_Closure_declarations() {\n    /** @type {?} */\n    CompiledStylesheet.prototype.statements;\n    /** @type {?} */\n    CompiledStylesheet.prototype.stylesVar;\n    /** @type {?} */\n    CompiledStylesheet.prototype.dependencies;\n    /** @type {?} */\n    CompiledStylesheet.prototype.isShimmed;\n    /** @type {?} */\n    CompiledStylesheet.prototype.meta;\n}\nexport var StyleCompiler = (function () {\n    /**\n     * @param {?} _urlResolver\n     */\n    function StyleCompiler(_urlResolver) {\n        this._urlResolver = _urlResolver;\n        this._shadowCss = new ShadowCss();\n    }\n    /**\n     * @param {?} comp\n     * @return {?}\n     */\n    StyleCompiler.prototype.compileComponent = function (comp) {\n        var _this = this;\n        var /** @type {?} */ externalStylesheets = [];\n        var /** @type {?} */ componentStylesheet = this._compileStyles(comp, new CompileStylesheetMetadata({\n            styles: comp.template.styles,\n            styleUrls: comp.template.styleUrls,\n            moduleUrl: identifierModuleUrl(comp.type)\n        }), true);\n        comp.template.externalStylesheets.forEach(function (stylesheetMeta) {\n            var /** @type {?} */ compiledStylesheet = _this._compileStyles(comp, stylesheetMeta, false);\n            externalStylesheets.push(compiledStylesheet);\n        });\n        return new StylesCompileResult(componentStylesheet, externalStylesheets);\n    };\n    /**\n     * @param {?} comp\n     * @param {?} stylesheet\n     * @param {?} isComponentStylesheet\n     * @return {?}\n     */\n    StyleCompiler.prototype._compileStyles = function (comp, stylesheet, isComponentStylesheet) {\n        var _this = this;\n        var /** @type {?} */ shim = comp.template.encapsulation === ViewEncapsulation.Emulated;\n        var /** @type {?} */ styleExpressions = stylesheet.styles.map(function (plainStyle) { return o.literal(_this._shimIfNeeded(plainStyle, shim)); });\n        var /** @type {?} */ dependencies = [];\n        for (var /** @type {?} */ i = 0; i < stylesheet.styleUrls.length; i++) {\n            var /** @type {?} */ identifier = { reference: null };\n            dependencies.push(new StylesCompileDependency(getStylesVarName(null), stylesheet.styleUrls[i], shim, identifier));\n            styleExpressions.push(new o.ExternalExpr(identifier));\n        }\n        // styles variable contains plain strings and arrays of other styles arrays (recursive),\n        // so we set its type to dynamic.\n        var /** @type {?} */ stylesVar = getStylesVarName(isComponentStylesheet ? comp : null);\n        var /** @type {?} */ stmt = o.variable(stylesVar)\n            .set(o.literalArr(styleExpressions, new o.ArrayType(o.DYNAMIC_TYPE, [o.TypeModifier.Const])))\n            .toDeclStmt(null, [o.StmtModifier.Final]);\n        return new CompiledStylesheet([stmt], stylesVar, dependencies, shim, stylesheet);\n    };\n    /**\n     * @param {?} style\n     * @param {?} shim\n     * @return {?}\n     */\n    StyleCompiler.prototype._shimIfNeeded = function (style, shim) {\n        return shim ? this._shadowCss.shimCssText(style, CONTENT_ATTR, HOST_ATTR) : style;\n    };\n    StyleCompiler = __decorate([\n        CompilerInjectable(), \n        __metadata('design:paramtypes', [UrlResolver])\n    ], StyleCompiler);\n    return StyleCompiler;\n}());\nfunction StyleCompiler_tsickle_Closure_declarations() {\n    /** @type {?} */\n    StyleCompiler.prototype._shadowCss;\n    /** @type {?} */\n    StyleCompiler.prototype._urlResolver;\n}\n/**\n * @param {?} component\n * @return {?}\n */\nfunction getStylesVarName(component) {\n    var /** @type {?} */ result = \"styles\";\n    if (component) {\n        result += \"_\" + identifierName(component.type);\n    }\n    return result;\n}\n//# sourceMappingURL=style_compiler.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/style_compiler.js\n// module id = 195\n// module chunks = 0","/**\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 */\nimport { createEnumExpression } from '../compiler_util/identifier_util';\nimport { Identifiers } from '../identifiers';\nimport * as o from '../output/output_ast';\nexport var ViewTypeEnum = (function () {\n    function ViewTypeEnum() {\n    }\n    /**\n     * @param {?} value\n     * @return {?}\n     */\n    ViewTypeEnum.fromValue = function (value) {\n        return createEnumExpression(Identifiers.ViewType, value);\n    };\n    return ViewTypeEnum;\n}());\nexport var ViewEncapsulationEnum = (function () {\n    function ViewEncapsulationEnum() {\n    }\n    /**\n     * @param {?} value\n     * @return {?}\n     */\n    ViewEncapsulationEnum.fromValue = function (value) {\n        return createEnumExpression(Identifiers.ViewEncapsulation, value);\n    };\n    return ViewEncapsulationEnum;\n}());\nexport var ChangeDetectorStatusEnum = (function () {\n    function ChangeDetectorStatusEnum() {\n    }\n    /**\n     * @param {?} value\n     * @return {?}\n     */\n    ChangeDetectorStatusEnum.fromValue = function (value) {\n        return createEnumExpression(Identifiers.ChangeDetectorStatus, value);\n    };\n    return ChangeDetectorStatusEnum;\n}());\nexport var ViewConstructorVars = (function () {\n    function ViewConstructorVars() {\n    }\n    ViewConstructorVars.viewUtils = o.variable('viewUtils');\n    ViewConstructorVars.parentView = o.variable('parentView');\n    ViewConstructorVars.parentIndex = o.variable('parentIndex');\n    ViewConstructorVars.parentElement = o.variable('parentElement');\n    return ViewConstructorVars;\n}());\nfunction ViewConstructorVars_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ViewConstructorVars.viewUtils;\n    /** @type {?} */\n    ViewConstructorVars.parentView;\n    /** @type {?} */\n    ViewConstructorVars.parentIndex;\n    /** @type {?} */\n    ViewConstructorVars.parentElement;\n}\nexport var ViewProperties = (function () {\n    function ViewProperties() {\n    }\n    ViewProperties.renderer = o.THIS_EXPR.prop('renderer');\n    ViewProperties.viewUtils = o.THIS_EXPR.prop('viewUtils');\n    return ViewProperties;\n}());\nfunction ViewProperties_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ViewProperties.renderer;\n    /** @type {?} */\n    ViewProperties.viewUtils;\n}\nexport var InjectMethodVars = (function () {\n    function InjectMethodVars() {\n    }\n    InjectMethodVars.token = o.variable('token');\n    InjectMethodVars.requestNodeIndex = o.variable('requestNodeIndex');\n    InjectMethodVars.notFoundResult = o.variable('notFoundResult');\n    return InjectMethodVars;\n}());\nfunction InjectMethodVars_tsickle_Closure_declarations() {\n    /** @type {?} */\n    InjectMethodVars.token;\n    /** @type {?} */\n    InjectMethodVars.requestNodeIndex;\n    /** @type {?} */\n    InjectMethodVars.notFoundResult;\n}\nexport var DetectChangesVars = (function () {\n    function DetectChangesVars() {\n    }\n    DetectChangesVars.throwOnChange = o.variable(\"throwOnChange\");\n    DetectChangesVars.changes = o.variable(\"changes\");\n    DetectChangesVars.changed = o.variable(\"changed\");\n    return DetectChangesVars;\n}());\nfunction DetectChangesVars_tsickle_Closure_declarations() {\n    /** @type {?} */\n    DetectChangesVars.throwOnChange;\n    /** @type {?} */\n    DetectChangesVars.changes;\n    /** @type {?} */\n    DetectChangesVars.changed;\n}\n//# sourceMappingURL=constants.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/view_compiler/constants.js\n// module id = 196\n// module chunks = 0","/**\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 */\nimport { OpaqueToken } from './di';\n/**\n * A DI Token representing a unique string id assigned to the application by Angular and used\n * primarily for prefixing application attributes and CSS styles when\n * {@link ViewEncapsulation#Emulated} is being used.\n *\n * If you need to avoid randomly generated value to be used as an application id, you can provide\n * a custom value via a DI provider <!-- TODO: provider --> configuring the root {@link Injector}\n * using this token.\n * @experimental\n */\nexport var /** @type {?} */ APP_ID = new OpaqueToken('AppId');\n/**\n * @return {?}\n */\nexport function _appIdRandomProviderFactory() {\n    return \"\" + _randomChar() + _randomChar() + _randomChar();\n}\n/**\n * Providers that will generate a random APP_ID_TOKEN.\n * @experimental\n */\nexport var /** @type {?} */ APP_ID_RANDOM_PROVIDER = {\n    provide: APP_ID,\n    useFactory: _appIdRandomProviderFactory,\n    deps: /** @type {?} */ ([]),\n};\n/**\n * @return {?}\n */\nfunction _randomChar() {\n    return String.fromCharCode(97 + Math.floor(Math.random() * 25));\n}\n/**\n * A function that will be executed when a platform is initialized.\n * @experimental\n */\nexport var /** @type {?} */ PLATFORM_INITIALIZER = new OpaqueToken('Platform Initializer');\n/**\n * All callbacks provided via this token will be called for every component that is bootstrapped.\n * Signature of the callback:\n *\n * `(componentRef: ComponentRef) => void`.\n *\n * @experimental\n */\nexport var /** @type {?} */ APP_BOOTSTRAP_LISTENER = new OpaqueToken('appBootstrapListener');\n/**\n * A token which indicates the root directory of the application\n * @experimental\n */\nexport var /** @type {?} */ PACKAGE_ROOT_URL = new OpaqueToken('Application Packages Root URL');\n//# sourceMappingURL=application_tokens.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/application_tokens.js\n// module id = 197\n// module chunks = 0","/**\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 */\nimport { DefaultIterableDifferFactory } from './differs/default_iterable_differ';\nimport { DefaultKeyValueDifferFactory } from './differs/default_keyvalue_differ';\nimport { IterableDiffers } from './differs/iterable_differs';\nimport { KeyValueDiffers } from './differs/keyvalue_differs';\nexport { SimpleChange, UNINITIALIZED, ValueUnwrapper, WrappedValue, devModeEqual, looseIdentical } from './change_detection_util';\nexport { ChangeDetectorRef } from './change_detector_ref';\nexport { ChangeDetectionStrategy, ChangeDetectorStatus, isDefaultChangeDetectionStrategy } from './constants';\nexport { CollectionChangeRecord, DefaultIterableDifferFactory } from './differs/default_iterable_differ';\nexport { DefaultIterableDiffer } from './differs/default_iterable_differ';\nexport { DefaultKeyValueDifferFactory, KeyValueChangeRecord } from './differs/default_keyvalue_differ';\nexport { IterableDiffers } from './differs/iterable_differs';\nexport { KeyValueDiffers } from './differs/keyvalue_differs';\n/**\n * Structural diffing for `Object`s and `Map`s.\n */\nexport var /** @type {?} */ keyValDiff = [new DefaultKeyValueDifferFactory()];\n/**\n * Structural diffing for `Iterable` types such as `Array`s.\n */\nexport var /** @type {?} */ iterableDiff = [new DefaultIterableDifferFactory()];\nexport var /** @type {?} */ defaultIterableDiffers = new IterableDiffers(iterableDiff);\nexport var /** @type {?} */ defaultKeyValueDiffers = new KeyValueDiffers(keyValDiff);\n//# sourceMappingURL=change_detection.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/change_detection/change_detection.js\n// module id = 198\n// module chunks = 0","/**\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 */\nimport { areIterablesEqual, isListLikeIterable } from '../facade/collection';\nimport { isPrimitive, looseIdentical } from '../facade/lang';\nexport { looseIdentical } from '../facade/lang';\nexport var /** @type {?} */ UNINITIALIZED = {\n    toString: function () { return 'CD_INIT_VALUE'; }\n};\n/**\n * @param {?} a\n * @param {?} b\n * @return {?}\n */\nexport function devModeEqual(a, b) {\n    if (isListLikeIterable(a) && isListLikeIterable(b)) {\n        return areIterablesEqual(a, b, devModeEqual);\n    }\n    else if (!isListLikeIterable(a) && !isPrimitive(a) && !isListLikeIterable(b) && !isPrimitive(b)) {\n        return true;\n    }\n    else {\n        return looseIdentical(a, b);\n    }\n}\n/**\n * Indicates that the result of a {\\@link Pipe} transformation has changed even though the\n * reference\n * has not changed.\n *\n * The wrapped value will be unwrapped by change detection, and the unwrapped value will be stored.\n *\n * Example:\n *\n * ```\n * if (this._latestValue === this._latestReturnedValue) {\n *    return this._latestReturnedValue;\n *  } else {\n *    this._latestReturnedValue = this._latestValue;\n *    return WrappedValue.wrap(this._latestValue); // this will force update\n *  }\n * ```\n * \\@stable\n */\nexport var WrappedValue = (function () {\n    /**\n     * @param {?} wrapped\n     */\n    function WrappedValue(wrapped) {\n        this.wrapped = wrapped;\n    }\n    /**\n     * @param {?} value\n     * @return {?}\n     */\n    WrappedValue.wrap = function (value) { return new WrappedValue(value); };\n    return WrappedValue;\n}());\nfunction WrappedValue_tsickle_Closure_declarations() {\n    /** @type {?} */\n    WrappedValue.prototype.wrapped;\n}\n/**\n * Helper class for unwrapping WrappedValue s\n */\nexport var ValueUnwrapper = (function () {\n    function ValueUnwrapper() {\n        this.hasWrappedValue = false;\n    }\n    /**\n     * @param {?} value\n     * @return {?}\n     */\n    ValueUnwrapper.prototype.unwrap = function (value) {\n        if (value instanceof WrappedValue) {\n            this.hasWrappedValue = true;\n            return value.wrapped;\n        }\n        return value;\n    };\n    /**\n     * @return {?}\n     */\n    ValueUnwrapper.prototype.reset = function () { this.hasWrappedValue = false; };\n    return ValueUnwrapper;\n}());\nfunction ValueUnwrapper_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ValueUnwrapper.prototype.hasWrappedValue;\n}\n/**\n * Represents a basic change from a previous to a new value.\n * \\@stable\n */\nexport var SimpleChange = (function () {\n    /**\n     * @param {?} previousValue\n     * @param {?} currentValue\n     */\n    function SimpleChange(previousValue, currentValue) {\n        this.previousValue = previousValue;\n        this.currentValue = currentValue;\n    }\n    /**\n     * Check whether the new value is the first value assigned.\n     * @return {?}\n     */\n    SimpleChange.prototype.isFirstChange = function () { return this.previousValue === UNINITIALIZED; };\n    return SimpleChange;\n}());\nfunction SimpleChange_tsickle_Closure_declarations() {\n    /** @type {?} */\n    SimpleChange.prototype.previousValue;\n    /** @type {?} */\n    SimpleChange.prototype.currentValue;\n}\n//# sourceMappingURL=change_detection_util.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/change_detection/change_detection_util.js\n// module id = 199\n// module chunks = 0","/**\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 */\nimport { isBlank } from '../facade/lang';\nexport var ChangeDetectionStrategy = {};\nChangeDetectionStrategy.OnPush = 0;\nChangeDetectionStrategy.Default = 1;\nChangeDetectionStrategy[ChangeDetectionStrategy.OnPush] = \"OnPush\";\nChangeDetectionStrategy[ChangeDetectionStrategy.Default] = \"Default\";\nexport var ChangeDetectorStatus = {};\nChangeDetectorStatus.CheckOnce = 0;\nChangeDetectorStatus.Checked = 1;\nChangeDetectorStatus.CheckAlways = 2;\nChangeDetectorStatus.Detached = 3;\nChangeDetectorStatus.Errored = 4;\nChangeDetectorStatus.Destroyed = 5;\nChangeDetectorStatus[ChangeDetectorStatus.CheckOnce] = \"CheckOnce\";\nChangeDetectorStatus[ChangeDetectorStatus.Checked] = \"Checked\";\nChangeDetectorStatus[ChangeDetectorStatus.CheckAlways] = \"CheckAlways\";\nChangeDetectorStatus[ChangeDetectorStatus.Detached] = \"Detached\";\nChangeDetectorStatus[ChangeDetectorStatus.Errored] = \"Errored\";\nChangeDetectorStatus[ChangeDetectorStatus.Destroyed] = \"Destroyed\";\n/**\n * @param {?} changeDetectionStrategy\n * @return {?}\n */\nexport function isDefaultChangeDetectionStrategy(changeDetectionStrategy) {\n    return isBlank(changeDetectionStrategy) ||\n        changeDetectionStrategy === ChangeDetectionStrategy.Default;\n}\n//# sourceMappingURL=constants.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/change_detection/constants.js\n// module id = 200\n// module chunks = 0","var __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n/**\n * Convenience to throw an Error with 'unimplemented' as the message.\n * @return {?}\n */\nexport function unimplemented() {\n    throw new Error('unimplemented');\n}\n/**\n * \\@stable\n */\nexport var BaseError = (function (_super) {\n    __extends(BaseError, _super);\n    /**\n     * @param {?} message\n     */\n    function BaseError(message) {\n        _super.call(this, message);\n        // Errors don't use current this, instead they create a new instance.\n        // We have to do forward all of our api to the nativeInstance.\n        // TODO(bradfordcsmith): Remove this hack when\n        //     google/closure-compiler/issues/2102 is fixed.\n        var nativeError = new Error(message);\n        this._nativeError = nativeError;\n    }\n    Object.defineProperty(BaseError.prototype, \"message\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._nativeError.message; },\n        /**\n         * @param {?} message\n         * @return {?}\n         */\n        set: function (message) { this._nativeError.message = message; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(BaseError.prototype, \"name\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._nativeError.name; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(BaseError.prototype, \"stack\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return ((this._nativeError)).stack; },\n        /**\n         * @param {?} value\n         * @return {?}\n         */\n        set: function (value) { ((this._nativeError)).stack = value; },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @return {?}\n     */\n    BaseError.prototype.toString = function () { return this._nativeError.toString(); };\n    return BaseError;\n}(Error));\nfunction BaseError_tsickle_Closure_declarations() {\n    /**\n     * \\@internal *\n     * @type {?}\n     */\n    BaseError.prototype._nativeError;\n}\n/**\n * \\@stable\n */\nexport var WrappedError = (function (_super) {\n    __extends(WrappedError, _super);\n    /**\n     * @param {?} message\n     * @param {?} error\n     */\n    function WrappedError(message, error) {\n        _super.call(this, message + \" caused by: \" + (error instanceof Error ? error.message : error));\n        this.originalError = error;\n    }\n    Object.defineProperty(WrappedError.prototype, \"stack\", {\n        /**\n         * @return {?}\n         */\n        get: function () {\n            return (((this.originalError instanceof Error ? this.originalError : this._nativeError)))\n                .stack;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    return WrappedError;\n}(BaseError));\nfunction WrappedError_tsickle_Closure_declarations() {\n    /** @type {?} */\n    WrappedError.prototype.originalError;\n}\n//# sourceMappingURL=errors.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/facade/errors.js\n// module id = 201\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { BaseError } from '../facade/errors';\nimport { stringify } from '../facade/lang';\n/**\n * \\@stable\n */\nexport var NoComponentFactoryError = (function (_super) {\n    __extends(NoComponentFactoryError, _super);\n    /**\n     * @param {?} component\n     */\n    function NoComponentFactoryError(component) {\n        _super.call(this, \"No component factory found for \" + stringify(component) + \". Did you add it to @NgModule.entryComponents?\");\n        this.component = component;\n    }\n    return NoComponentFactoryError;\n}(BaseError));\nfunction NoComponentFactoryError_tsickle_Closure_declarations() {\n    /** @type {?} */\n    NoComponentFactoryError.prototype.component;\n}\nvar _NullComponentFactoryResolver = (function () {\n    function _NullComponentFactoryResolver() {\n    }\n    /**\n     * @param {?} component\n     * @return {?}\n     */\n    _NullComponentFactoryResolver.prototype.resolveComponentFactory = function (component) {\n        throw new NoComponentFactoryError(component);\n    };\n    return _NullComponentFactoryResolver;\n}());\n/**\n * \\@stable\n * @abstract\n */\nexport var ComponentFactoryResolver = (function () {\n    function ComponentFactoryResolver() {\n    }\n    /**\n     * @abstract\n     * @param {?} component\n     * @return {?}\n     */\n    ComponentFactoryResolver.prototype.resolveComponentFactory = function (component) { };\n    ComponentFactoryResolver.NULL = new _NullComponentFactoryResolver();\n    return ComponentFactoryResolver;\n}());\nfunction ComponentFactoryResolver_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ComponentFactoryResolver.NULL;\n}\nexport var CodegenComponentFactoryResolver = (function () {\n    /**\n     * @param {?} factories\n     * @param {?} _parent\n     */\n    function CodegenComponentFactoryResolver(factories, _parent) {\n        this._parent = _parent;\n        this._factories = new Map();\n        for (var i = 0; i < factories.length; i++) {\n            var factory = factories[i];\n            this._factories.set(factory.componentType, factory);\n        }\n    }\n    /**\n     * @param {?} component\n     * @return {?}\n     */\n    CodegenComponentFactoryResolver.prototype.resolveComponentFactory = function (component) {\n        var /** @type {?} */ result = this._factories.get(component);\n        if (!result) {\n            result = this._parent.resolveComponentFactory(component);\n        }\n        return result;\n    };\n    return CodegenComponentFactoryResolver;\n}());\nfunction CodegenComponentFactoryResolver_tsickle_Closure_declarations() {\n    /** @type {?} */\n    CodegenComponentFactoryResolver.prototype._factories;\n    /** @type {?} */\n    CodegenComponentFactoryResolver.prototype._parent;\n}\n//# sourceMappingURL=component_factory_resolver.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/linker/component_factory_resolver.js\n// module id = 202\n// module chunks = 0","export var ElementRef = (function () {\n    /**\n     * @param {?} nativeElement\n     */\n    function ElementRef(nativeElement) {\n        this.nativeElement = nativeElement;\n    }\n    return ElementRef;\n}());\nfunction ElementRef_tsickle_Closure_declarations() {\n    /**\n     * The underlying native element or `null` if direct access to native elements is not supported\n     * (e.g. when the application runs in a web worker).\n     *\n     * <div class=\"callout is-critical\">\n     *   <header>Use with caution</header>\n     *   <p>\n     *    Use this API as the last resort when direct access to DOM is needed. Use templating and\n     *    data-binding provided by Angular instead. Alternatively you take a look at {\\@link Renderer}\n     *    which provides API that can safely be used even when direct access to native elements is not\n     *    supported.\n     *   </p>\n     *   <p>\n     *    Relying on direct DOM access creates tight coupling between your application and rendering\n     *    layers which will make it impossible to separate the two and deploy your application into a\n     *    web worker.\n     *   </p>\n     * </div>\n     * \\@stable\n     * @type {?}\n     */\n    ElementRef.prototype.nativeElement;\n}\n//# sourceMappingURL=element_ref.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/linker/element_ref.js\n// module id = 203\n// module chunks = 0","export var ViewType = {};\nViewType.HOST = 0;\nViewType.COMPONENT = 1;\nViewType.EMBEDDED = 2;\nViewType[ViewType.HOST] = \"HOST\";\nViewType[ViewType.COMPONENT] = \"COMPONENT\";\nViewType[ViewType.EMBEDDED] = \"EMBEDDED\";\n//# sourceMappingURL=view_type.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/linker/view_type.js\n// module id = 204\n// module chunks = 0","/**\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 */\nimport { AnimationQueue } from '../animation/animation_queue';\nimport { devModeEqual } from '../change_detection/change_detection';\nimport { UNINITIALIZED } from '../change_detection/change_detection_util';\nimport { Injectable } from '../di';\nimport { isPresent, looseIdentical } from '../facade/lang';\nimport { RenderComponentType, RootRenderer } from '../render/api';\nimport { Sanitizer } from '../security';\nimport { VERSION } from '../version';\nimport { ExpressionChangedAfterItHasBeenCheckedError } from './errors';\nexport var ViewUtils = (function () {\n    /**\n     * @param {?} _renderer\n     * @param {?} sanitizer\n     * @param {?} animationQueue\n     */\n    function ViewUtils(_renderer, sanitizer, animationQueue) {\n        this._renderer = _renderer;\n        this.animationQueue = animationQueue;\n        this.sanitizer = sanitizer;\n    }\n    /**\n     * \\@internal\n     * @param {?} renderComponentType\n     * @return {?}\n     */\n    ViewUtils.prototype.renderComponent = function (renderComponentType) {\n        return this._renderer.renderComponent(renderComponentType);\n    };\n    ViewUtils.decorators = [\n        { type: Injectable },\n    ];\n    /** @nocollapse */\n    ViewUtils.ctorParameters = function () { return [\n        { type: RootRenderer, },\n        { type: Sanitizer, },\n        { type: AnimationQueue, },\n    ]; };\n    return ViewUtils;\n}());\nfunction ViewUtils_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ViewUtils.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    ViewUtils.ctorParameters;\n    /** @type {?} */\n    ViewUtils.prototype.sanitizer;\n    /** @type {?} */\n    ViewUtils.prototype._renderer;\n    /** @type {?} */\n    ViewUtils.prototype.animationQueue;\n}\nvar /** @type {?} */ nextRenderComponentTypeId = 0;\n/**\n * @param {?} templateUrl\n * @param {?} slotCount\n * @param {?} encapsulation\n * @param {?} styles\n * @param {?} animations\n * @return {?}\n */\nexport function createRenderComponentType(templateUrl, slotCount, encapsulation, styles, animations) {\n    return new RenderComponentType(\"\" + nextRenderComponentTypeId++, templateUrl, slotCount, encapsulation, styles, animations);\n}\n/**\n * @param {?} e\n * @param {?} array\n * @return {?}\n */\nexport function addToArray(e, array) {\n    array.push(e);\n}\n/**\n * @param {?} valueCount\n * @param {?} constAndInterp\n * @return {?}\n */\nexport function interpolate(valueCount, constAndInterp) {\n    var /** @type {?} */ result = '';\n    for (var /** @type {?} */ i = 0; i < valueCount * 2; i = i + 2) {\n        result = result + constAndInterp[i] + _toStringWithNull(constAndInterp[i + 1]);\n    }\n    return result + constAndInterp[valueCount * 2];\n}\n/**\n * @param {?} valueCount\n * @param {?} c0\n * @param {?} a1\n * @param {?} c1\n * @param {?=} a2\n * @param {?=} c2\n * @param {?=} a3\n * @param {?=} c3\n * @param {?=} a4\n * @param {?=} c4\n * @param {?=} a5\n * @param {?=} c5\n * @param {?=} a6\n * @param {?=} c6\n * @param {?=} a7\n * @param {?=} c7\n * @param {?=} a8\n * @param {?=} c8\n * @param {?=} a9\n * @param {?=} c9\n * @return {?}\n */\nexport function inlineInterpolate(valueCount, c0, a1, c1, a2, c2, a3, c3, a4, c4, a5, c5, a6, c6, a7, c7, a8, c8, a9, c9) {\n    switch (valueCount) {\n        case 1:\n            return c0 + _toStringWithNull(a1) + c1;\n        case 2:\n            return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2;\n        case 3:\n            return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2 + _toStringWithNull(a3) +\n                c3;\n        case 4:\n            return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2 + _toStringWithNull(a3) +\n                c3 + _toStringWithNull(a4) + c4;\n        case 5:\n            return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2 + _toStringWithNull(a3) +\n                c3 + _toStringWithNull(a4) + c4 + _toStringWithNull(a5) + c5;\n        case 6:\n            return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2 + _toStringWithNull(a3) +\n                c3 + _toStringWithNull(a4) + c4 + _toStringWithNull(a5) + c5 + _toStringWithNull(a6) + c6;\n        case 7:\n            return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2 + _toStringWithNull(a3) +\n                c3 + _toStringWithNull(a4) + c4 + _toStringWithNull(a5) + c5 + _toStringWithNull(a6) +\n                c6 + _toStringWithNull(a7) + c7;\n        case 8:\n            return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2 + _toStringWithNull(a3) +\n                c3 + _toStringWithNull(a4) + c4 + _toStringWithNull(a5) + c5 + _toStringWithNull(a6) +\n                c6 + _toStringWithNull(a7) + c7 + _toStringWithNull(a8) + c8;\n        case 9:\n            return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2 + _toStringWithNull(a3) +\n                c3 + _toStringWithNull(a4) + c4 + _toStringWithNull(a5) + c5 + _toStringWithNull(a6) +\n                c6 + _toStringWithNull(a7) + c7 + _toStringWithNull(a8) + c8 + _toStringWithNull(a9) + c9;\n        default:\n            throw new Error(\"Does not support more than 9 expressions\");\n    }\n}\n/**\n * @param {?} v\n * @return {?}\n */\nfunction _toStringWithNull(v) {\n    return v != null ? v.toString() : '';\n}\n/**\n * @param {?} throwOnChange\n * @param {?} oldValue\n * @param {?} newValue\n * @return {?}\n */\nexport function checkBinding(throwOnChange, oldValue, newValue) {\n    if (throwOnChange) {\n        if (!devModeEqual(oldValue, newValue)) {\n            throw new ExpressionChangedAfterItHasBeenCheckedError(oldValue, newValue);\n        }\n        return false;\n    }\n    else {\n        return !looseIdentical(oldValue, newValue);\n    }\n}\n/**\n * @param {?} input\n * @param {?} value\n * @return {?}\n */\nexport function castByValue(input, value) {\n    return (input);\n}\nexport var /** @type {?} */ EMPTY_ARRAY = [];\nexport var /** @type {?} */ EMPTY_MAP = {};\n/**\n * @param {?} fn\n * @return {?}\n */\nexport function pureProxy1(fn) {\n    var /** @type {?} */ result;\n    var /** @type {?} */ v0 = UNINITIALIZED;\n    return function (p0) {\n        if (!looseIdentical(v0, p0)) {\n            v0 = p0;\n            result = fn(p0);\n        }\n        return result;\n    };\n}\n/**\n * @param {?} fn\n * @return {?}\n */\nexport function pureProxy2(fn) {\n    var /** @type {?} */ result;\n    var /** @type {?} */ v0 = UNINITIALIZED;\n    var /** @type {?} */ v1 = UNINITIALIZED;\n    return function (p0, p1) {\n        if (!looseIdentical(v0, p0) || !looseIdentical(v1, p1)) {\n            v0 = p0;\n            v1 = p1;\n            result = fn(p0, p1);\n        }\n        return result;\n    };\n}\n/**\n * @param {?} fn\n * @return {?}\n */\nexport function pureProxy3(fn) {\n    var /** @type {?} */ result;\n    var /** @type {?} */ v0 = UNINITIALIZED;\n    var /** @type {?} */ v1 = UNINITIALIZED;\n    var /** @type {?} */ v2 = UNINITIALIZED;\n    return function (p0, p1, p2) {\n        if (!looseIdentical(v0, p0) || !looseIdentical(v1, p1) || !looseIdentical(v2, p2)) {\n            v0 = p0;\n            v1 = p1;\n            v2 = p2;\n            result = fn(p0, p1, p2);\n        }\n        return result;\n    };\n}\n/**\n * @param {?} fn\n * @return {?}\n */\nexport function pureProxy4(fn) {\n    var /** @type {?} */ result;\n    var /** @type {?} */ v0, /** @type {?} */ v1, /** @type {?} */ v2, /** @type {?} */ v3;\n    v0 = v1 = v2 = v3 = UNINITIALIZED;\n    return function (p0, p1, p2, p3) {\n        if (!looseIdentical(v0, p0) || !looseIdentical(v1, p1) || !looseIdentical(v2, p2) ||\n            !looseIdentical(v3, p3)) {\n            v0 = p0;\n            v1 = p1;\n            v2 = p2;\n            v3 = p3;\n            result = fn(p0, p1, p2, p3);\n        }\n        return result;\n    };\n}\n/**\n * @param {?} fn\n * @return {?}\n */\nexport function pureProxy5(fn) {\n    var /** @type {?} */ result;\n    var /** @type {?} */ v0, /** @type {?} */ v1, /** @type {?} */ v2, /** @type {?} */ v3, /** @type {?} */ v4;\n    v0 = v1 = v2 = v3 = v4 = UNINITIALIZED;\n    return function (p0, p1, p2, p3, p4) {\n        if (!looseIdentical(v0, p0) || !looseIdentical(v1, p1) || !looseIdentical(v2, p2) ||\n            !looseIdentical(v3, p3) || !looseIdentical(v4, p4)) {\n            v0 = p0;\n            v1 = p1;\n            v2 = p2;\n            v3 = p3;\n            v4 = p4;\n            result = fn(p0, p1, p2, p3, p4);\n        }\n        return result;\n    };\n}\n/**\n * @param {?} fn\n * @return {?}\n */\nexport function pureProxy6(fn) {\n    var /** @type {?} */ result;\n    var /** @type {?} */ v0, /** @type {?} */ v1, /** @type {?} */ v2, /** @type {?} */ v3, /** @type {?} */ v4, /** @type {?} */ v5;\n    v0 = v1 = v2 = v3 = v4 = v5 = UNINITIALIZED;\n    return function (p0, p1, p2, p3, p4, p5) {\n        if (!looseIdentical(v0, p0) || !looseIdentical(v1, p1) || !looseIdentical(v2, p2) ||\n            !looseIdentical(v3, p3) || !looseIdentical(v4, p4) || !looseIdentical(v5, p5)) {\n            v0 = p0;\n            v1 = p1;\n            v2 = p2;\n            v3 = p3;\n            v4 = p4;\n            v5 = p5;\n            result = fn(p0, p1, p2, p3, p4, p5);\n        }\n        return result;\n    };\n}\n/**\n * @param {?} fn\n * @return {?}\n */\nexport function pureProxy7(fn) {\n    var /** @type {?} */ result;\n    var /** @type {?} */ v0, /** @type {?} */ v1, /** @type {?} */ v2, /** @type {?} */ v3, /** @type {?} */ v4, /** @type {?} */ v5, /** @type {?} */ v6;\n    v0 = v1 = v2 = v3 = v4 = v5 = v6 = UNINITIALIZED;\n    return function (p0, p1, p2, p3, p4, p5, p6) {\n        if (!looseIdentical(v0, p0) || !looseIdentical(v1, p1) || !looseIdentical(v2, p2) ||\n            !looseIdentical(v3, p3) || !looseIdentical(v4, p4) || !looseIdentical(v5, p5) ||\n            !looseIdentical(v6, p6)) {\n            v0 = p0;\n            v1 = p1;\n            v2 = p2;\n            v3 = p3;\n            v4 = p4;\n            v5 = p5;\n            v6 = p6;\n            result = fn(p0, p1, p2, p3, p4, p5, p6);\n        }\n        return result;\n    };\n}\n/**\n * @param {?} fn\n * @return {?}\n */\nexport function pureProxy8(fn) {\n    var /** @type {?} */ result;\n    var /** @type {?} */ v0, /** @type {?} */ v1, /** @type {?} */ v2, /** @type {?} */ v3, /** @type {?} */ v4, /** @type {?} */ v5, /** @type {?} */ v6, /** @type {?} */ v7;\n    v0 = v1 = v2 = v3 = v4 = v5 = v6 = v7 = UNINITIALIZED;\n    return function (p0, p1, p2, p3, p4, p5, p6, p7) {\n        if (!looseIdentical(v0, p0) || !looseIdentical(v1, p1) || !looseIdentical(v2, p2) ||\n            !looseIdentical(v3, p3) || !looseIdentical(v4, p4) || !looseIdentical(v5, p5) ||\n            !looseIdentical(v6, p6) || !looseIdentical(v7, p7)) {\n            v0 = p0;\n            v1 = p1;\n            v2 = p2;\n            v3 = p3;\n            v4 = p4;\n            v5 = p5;\n            v6 = p6;\n            v7 = p7;\n            result = fn(p0, p1, p2, p3, p4, p5, p6, p7);\n        }\n        return result;\n    };\n}\n/**\n * @param {?} fn\n * @return {?}\n */\nexport function pureProxy9(fn) {\n    var /** @type {?} */ result;\n    var /** @type {?} */ v0, /** @type {?} */ v1, /** @type {?} */ v2, /** @type {?} */ v3, /** @type {?} */ v4, /** @type {?} */ v5, /** @type {?} */ v6, /** @type {?} */ v7, /** @type {?} */ v8;\n    v0 = v1 = v2 = v3 = v4 = v5 = v6 = v7 = v8 = UNINITIALIZED;\n    return function (p0, p1, p2, p3, p4, p5, p6, p7, p8) {\n        if (!looseIdentical(v0, p0) || !looseIdentical(v1, p1) || !looseIdentical(v2, p2) ||\n            !looseIdentical(v3, p3) || !looseIdentical(v4, p4) || !looseIdentical(v5, p5) ||\n            !looseIdentical(v6, p6) || !looseIdentical(v7, p7) || !looseIdentical(v8, p8)) {\n            v0 = p0;\n            v1 = p1;\n            v2 = p2;\n            v3 = p3;\n            v4 = p4;\n            v5 = p5;\n            v6 = p6;\n            v7 = p7;\n            v8 = p8;\n            result = fn(p0, p1, p2, p3, p4, p5, p6, p7, p8);\n        }\n        return result;\n    };\n}\n/**\n * @param {?} fn\n * @return {?}\n */\nexport function pureProxy10(fn) {\n    var /** @type {?} */ result;\n    var /** @type {?} */ v0, /** @type {?} */ v1, /** @type {?} */ v2, /** @type {?} */ v3, /** @type {?} */ v4, /** @type {?} */ v5, /** @type {?} */ v6, /** @type {?} */ v7, /** @type {?} */ v8, /** @type {?} */ v9;\n    v0 = v1 = v2 = v3 = v4 = v5 = v6 = v7 = v8 = v9 = UNINITIALIZED;\n    return function (p0, p1, p2, p3, p4, p5, p6, p7, p8, p9) {\n        if (!looseIdentical(v0, p0) || !looseIdentical(v1, p1) || !looseIdentical(v2, p2) ||\n            !looseIdentical(v3, p3) || !looseIdentical(v4, p4) || !looseIdentical(v5, p5) ||\n            !looseIdentical(v6, p6) || !looseIdentical(v7, p7) || !looseIdentical(v8, p8) ||\n            !looseIdentical(v9, p9)) {\n            v0 = p0;\n            v1 = p1;\n            v2 = p2;\n            v3 = p3;\n            v4 = p4;\n            v5 = p5;\n            v6 = p6;\n            v7 = p7;\n            v8 = p8;\n            v9 = p9;\n            result = fn(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9);\n        }\n        return result;\n    };\n}\n/**\n * @param {?} renderer\n * @param {?} el\n * @param {?} changes\n * @return {?}\n */\nexport function setBindingDebugInfoForChanges(renderer, el, changes) {\n    Object.keys(changes).forEach(function (propName) {\n        setBindingDebugInfo(renderer, el, propName, changes[propName].currentValue);\n    });\n}\n/**\n * @param {?} renderer\n * @param {?} el\n * @param {?} propName\n * @param {?} value\n * @return {?}\n */\nexport function setBindingDebugInfo(renderer, el, propName, value) {\n    try {\n        renderer.setBindingDebugInfo(el, \"ng-reflect-\" + camelCaseToDashCase(propName), value ? value.toString() : null);\n    }\n    catch (e) {\n        renderer.setBindingDebugInfo(el, \"ng-reflect-\" + camelCaseToDashCase(propName), '[ERROR] Exception while trying to serialize the value');\n    }\n}\nvar /** @type {?} */ CAMEL_CASE_REGEXP = /([A-Z])/g;\n/**\n * @param {?} input\n * @return {?}\n */\nfunction camelCaseToDashCase(input) {\n    return input.replace(CAMEL_CASE_REGEXP, function () {\n        var m = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            m[_i - 0] = arguments[_i];\n        }\n        return '-' + m[1].toLowerCase();\n    });\n}\n/**\n * @param {?} renderer\n * @param {?} parentElement\n * @param {?} name\n * @param {?} attrs\n * @param {?=} debugInfo\n * @return {?}\n */\nexport function createRenderElement(renderer, parentElement, name, attrs, debugInfo) {\n    var /** @type {?} */ el = renderer.createElement(parentElement, name, debugInfo);\n    for (var /** @type {?} */ i = 0; i < attrs.length; i += 2) {\n        renderer.setElementAttribute(el, attrs.get(i), attrs.get(i + 1));\n    }\n    return el;\n}\n/**\n * @param {?} renderer\n * @param {?} elementName\n * @param {?} attrs\n * @param {?} rootSelectorOrNode\n * @param {?=} debugInfo\n * @return {?}\n */\nexport function selectOrCreateRenderHostElement(renderer, elementName, attrs, rootSelectorOrNode, debugInfo) {\n    var /** @type {?} */ hostElement;\n    if (isPresent(rootSelectorOrNode)) {\n        hostElement = renderer.selectRootElement(rootSelectorOrNode, debugInfo);\n        for (var /** @type {?} */ i = 0; i < attrs.length; i += 2) {\n            renderer.setElementAttribute(hostElement, attrs.get(i), attrs.get(i + 1));\n        }\n        renderer.setElementAttribute(hostElement, 'ng-version', VERSION.full);\n    }\n    else {\n        hostElement = createRenderElement(renderer, null, elementName, attrs, debugInfo);\n    }\n    return hostElement;\n}\n/**\n * @param {?} view\n * @param {?} element\n * @param {?} eventNamesAndTargets\n * @param {?} listener\n * @return {?}\n */\nexport function subscribeToRenderElement(view, element, eventNamesAndTargets, listener) {\n    var /** @type {?} */ disposables = createEmptyInlineArray(eventNamesAndTargets.length / 2);\n    for (var /** @type {?} */ i = 0; i < eventNamesAndTargets.length; i += 2) {\n        var /** @type {?} */ eventName = eventNamesAndTargets.get(i);\n        var /** @type {?} */ eventTarget = eventNamesAndTargets.get(i + 1);\n        var /** @type {?} */ disposable = void 0;\n        if (eventTarget) {\n            disposable = view.renderer.listenGlobal(eventTarget, eventName, listener.bind(view, eventTarget + \":\" + eventName));\n        }\n        else {\n            disposable = view.renderer.listen(element, eventName, listener.bind(view, eventName));\n        }\n        disposables.set(i / 2, disposable);\n    }\n    return disposeInlineArray.bind(null, disposables);\n}\n/**\n * @param {?} disposables\n * @return {?}\n */\nfunction disposeInlineArray(disposables) {\n    for (var /** @type {?} */ i = 0; i < disposables.length; i++) {\n        disposables.get(i)();\n    }\n}\n/**\n * @return {?}\n */\nexport function noop() { }\n/**\n * @param {?} length\n * @return {?}\n */\nfunction createEmptyInlineArray(length) {\n    var /** @type {?} */ ctor;\n    if (length <= 2) {\n        ctor = InlineArray2;\n    }\n    else if (length <= 4) {\n        ctor = InlineArray4;\n    }\n    else if (length <= 8) {\n        ctor = InlineArray8;\n    }\n    else if (length <= 16) {\n        ctor = InlineArray16;\n    }\n    else {\n        ctor = InlineArrayDynamic;\n    }\n    return new ctor(length);\n}\nvar InlineArray0 = (function () {\n    function InlineArray0() {\n        this.length = 0;\n    }\n    /**\n     * @param {?} index\n     * @return {?}\n     */\n    InlineArray0.prototype.get = function (index) { return undefined; };\n    /**\n     * @param {?} index\n     * @param {?} value\n     * @return {?}\n     */\n    InlineArray0.prototype.set = function (index, value) { };\n    return InlineArray0;\n}());\nfunction InlineArray0_tsickle_Closure_declarations() {\n    /** @type {?} */\n    InlineArray0.prototype.length;\n}\nexport var InlineArray2 = (function () {\n    /**\n     * @param {?} length\n     * @param {?=} _v0\n     * @param {?=} _v1\n     */\n    function InlineArray2(length, _v0, _v1) {\n        this.length = length;\n        this._v0 = _v0;\n        this._v1 = _v1;\n    }\n    /**\n     * @param {?} index\n     * @return {?}\n     */\n    InlineArray2.prototype.get = function (index) {\n        switch (index) {\n            case 0:\n                return this._v0;\n            case 1:\n                return this._v1;\n            default:\n                return undefined;\n        }\n    };\n    /**\n     * @param {?} index\n     * @param {?} value\n     * @return {?}\n     */\n    InlineArray2.prototype.set = function (index, value) {\n        switch (index) {\n            case 0:\n                this._v0 = value;\n                break;\n            case 1:\n                this._v1 = value;\n                break;\n        }\n    };\n    return InlineArray2;\n}());\nfunction InlineArray2_tsickle_Closure_declarations() {\n    /** @type {?} */\n    InlineArray2.prototype.length;\n    /** @type {?} */\n    InlineArray2.prototype._v0;\n    /** @type {?} */\n    InlineArray2.prototype._v1;\n}\nexport var InlineArray4 = (function () {\n    /**\n     * @param {?} length\n     * @param {?=} _v0\n     * @param {?=} _v1\n     * @param {?=} _v2\n     * @param {?=} _v3\n     */\n    function InlineArray4(length, _v0, _v1, _v2, _v3) {\n        this.length = length;\n        this._v0 = _v0;\n        this._v1 = _v1;\n        this._v2 = _v2;\n        this._v3 = _v3;\n    }\n    /**\n     * @param {?} index\n     * @return {?}\n     */\n    InlineArray4.prototype.get = function (index) {\n        switch (index) {\n            case 0:\n                return this._v0;\n            case 1:\n                return this._v1;\n            case 2:\n                return this._v2;\n            case 3:\n                return this._v3;\n            default:\n                return undefined;\n        }\n    };\n    /**\n     * @param {?} index\n     * @param {?} value\n     * @return {?}\n     */\n    InlineArray4.prototype.set = function (index, value) {\n        switch (index) {\n            case 0:\n                this._v0 = value;\n                break;\n            case 1:\n                this._v1 = value;\n                break;\n            case 2:\n                this._v2 = value;\n                break;\n            case 3:\n                this._v3 = value;\n                break;\n        }\n    };\n    return InlineArray4;\n}());\nfunction InlineArray4_tsickle_Closure_declarations() {\n    /** @type {?} */\n    InlineArray4.prototype.length;\n    /** @type {?} */\n    InlineArray4.prototype._v0;\n    /** @type {?} */\n    InlineArray4.prototype._v1;\n    /** @type {?} */\n    InlineArray4.prototype._v2;\n    /** @type {?} */\n    InlineArray4.prototype._v3;\n}\nexport var InlineArray8 = (function () {\n    /**\n     * @param {?} length\n     * @param {?=} _v0\n     * @param {?=} _v1\n     * @param {?=} _v2\n     * @param {?=} _v3\n     * @param {?=} _v4\n     * @param {?=} _v5\n     * @param {?=} _v6\n     * @param {?=} _v7\n     */\n    function InlineArray8(length, _v0, _v1, _v2, _v3, _v4, _v5, _v6, _v7) {\n        this.length = length;\n        this._v0 = _v0;\n        this._v1 = _v1;\n        this._v2 = _v2;\n        this._v3 = _v3;\n        this._v4 = _v4;\n        this._v5 = _v5;\n        this._v6 = _v6;\n        this._v7 = _v7;\n    }\n    /**\n     * @param {?} index\n     * @return {?}\n     */\n    InlineArray8.prototype.get = function (index) {\n        switch (index) {\n            case 0:\n                return this._v0;\n            case 1:\n                return this._v1;\n            case 2:\n                return this._v2;\n            case 3:\n                return this._v3;\n            case 4:\n                return this._v4;\n            case 5:\n                return this._v5;\n            case 6:\n                return this._v6;\n            case 7:\n                return this._v7;\n            default:\n                return undefined;\n        }\n    };\n    /**\n     * @param {?} index\n     * @param {?} value\n     * @return {?}\n     */\n    InlineArray8.prototype.set = function (index, value) {\n        switch (index) {\n            case 0:\n                this._v0 = value;\n                break;\n            case 1:\n                this._v1 = value;\n                break;\n            case 2:\n                this._v2 = value;\n                break;\n            case 3:\n                this._v3 = value;\n                break;\n            case 4:\n                this._v4 = value;\n                break;\n            case 5:\n                this._v5 = value;\n                break;\n            case 6:\n                this._v6 = value;\n                break;\n            case 7:\n                this._v7 = value;\n                break;\n        }\n    };\n    return InlineArray8;\n}());\nfunction InlineArray8_tsickle_Closure_declarations() {\n    /** @type {?} */\n    InlineArray8.prototype.length;\n    /** @type {?} */\n    InlineArray8.prototype._v0;\n    /** @type {?} */\n    InlineArray8.prototype._v1;\n    /** @type {?} */\n    InlineArray8.prototype._v2;\n    /** @type {?} */\n    InlineArray8.prototype._v3;\n    /** @type {?} */\n    InlineArray8.prototype._v4;\n    /** @type {?} */\n    InlineArray8.prototype._v5;\n    /** @type {?} */\n    InlineArray8.prototype._v6;\n    /** @type {?} */\n    InlineArray8.prototype._v7;\n}\nexport var InlineArray16 = (function () {\n    /**\n     * @param {?} length\n     * @param {?=} _v0\n     * @param {?=} _v1\n     * @param {?=} _v2\n     * @param {?=} _v3\n     * @param {?=} _v4\n     * @param {?=} _v5\n     * @param {?=} _v6\n     * @param {?=} _v7\n     * @param {?=} _v8\n     * @param {?=} _v9\n     * @param {?=} _v10\n     * @param {?=} _v11\n     * @param {?=} _v12\n     * @param {?=} _v13\n     * @param {?=} _v14\n     * @param {?=} _v15\n     */\n    function InlineArray16(length, _v0, _v1, _v2, _v3, _v4, _v5, _v6, _v7, _v8, _v9, _v10, _v11, _v12, _v13, _v14, _v15) {\n        this.length = length;\n        this._v0 = _v0;\n        this._v1 = _v1;\n        this._v2 = _v2;\n        this._v3 = _v3;\n        this._v4 = _v4;\n        this._v5 = _v5;\n        this._v6 = _v6;\n        this._v7 = _v7;\n        this._v8 = _v8;\n        this._v9 = _v9;\n        this._v10 = _v10;\n        this._v11 = _v11;\n        this._v12 = _v12;\n        this._v13 = _v13;\n        this._v14 = _v14;\n        this._v15 = _v15;\n    }\n    /**\n     * @param {?} index\n     * @return {?}\n     */\n    InlineArray16.prototype.get = function (index) {\n        switch (index) {\n            case 0:\n                return this._v0;\n            case 1:\n                return this._v1;\n            case 2:\n                return this._v2;\n            case 3:\n                return this._v3;\n            case 4:\n                return this._v4;\n            case 5:\n                return this._v5;\n            case 6:\n                return this._v6;\n            case 7:\n                return this._v7;\n            case 8:\n                return this._v8;\n            case 9:\n                return this._v9;\n            case 10:\n                return this._v10;\n            case 11:\n                return this._v11;\n            case 12:\n                return this._v12;\n            case 13:\n                return this._v13;\n            case 14:\n                return this._v14;\n            case 15:\n                return this._v15;\n            default:\n                return undefined;\n        }\n    };\n    /**\n     * @param {?} index\n     * @param {?} value\n     * @return {?}\n     */\n    InlineArray16.prototype.set = function (index, value) {\n        switch (index) {\n            case 0:\n                this._v0 = value;\n                break;\n            case 1:\n                this._v1 = value;\n                break;\n            case 2:\n                this._v2 = value;\n                break;\n            case 3:\n                this._v3 = value;\n                break;\n            case 4:\n                this._v4 = value;\n                break;\n            case 5:\n                this._v5 = value;\n                break;\n            case 6:\n                this._v6 = value;\n                break;\n            case 7:\n                this._v7 = value;\n                break;\n            case 8:\n                this._v8 = value;\n                break;\n            case 9:\n                this._v9 = value;\n                break;\n            case 10:\n                this._v10 = value;\n                break;\n            case 11:\n                this._v11 = value;\n                break;\n            case 12:\n                this._v12 = value;\n                break;\n            case 13:\n                this._v13 = value;\n                break;\n            case 14:\n                this._v14 = value;\n                break;\n            case 15:\n                this._v15 = value;\n                break;\n        }\n    };\n    return InlineArray16;\n}());\nfunction InlineArray16_tsickle_Closure_declarations() {\n    /** @type {?} */\n    InlineArray16.prototype.length;\n    /** @type {?} */\n    InlineArray16.prototype._v0;\n    /** @type {?} */\n    InlineArray16.prototype._v1;\n    /** @type {?} */\n    InlineArray16.prototype._v2;\n    /** @type {?} */\n    InlineArray16.prototype._v3;\n    /** @type {?} */\n    InlineArray16.prototype._v4;\n    /** @type {?} */\n    InlineArray16.prototype._v5;\n    /** @type {?} */\n    InlineArray16.prototype._v6;\n    /** @type {?} */\n    InlineArray16.prototype._v7;\n    /** @type {?} */\n    InlineArray16.prototype._v8;\n    /** @type {?} */\n    InlineArray16.prototype._v9;\n    /** @type {?} */\n    InlineArray16.prototype._v10;\n    /** @type {?} */\n    InlineArray16.prototype._v11;\n    /** @type {?} */\n    InlineArray16.prototype._v12;\n    /** @type {?} */\n    InlineArray16.prototype._v13;\n    /** @type {?} */\n    InlineArray16.prototype._v14;\n    /** @type {?} */\n    InlineArray16.prototype._v15;\n}\nexport var InlineArrayDynamic = (function () {\n    /**\n     * @param {?} length\n     * @param {...?} values\n     */\n    function InlineArrayDynamic(length) {\n        var values = [];\n        for (var _i = 1; _i < arguments.length; _i++) {\n            values[_i - 1] = arguments[_i];\n        }\n        this.length = length;\n        this._values = values;\n    }\n    /**\n     * @param {?} index\n     * @return {?}\n     */\n    InlineArrayDynamic.prototype.get = function (index) { return this._values[index]; };\n    /**\n     * @param {?} index\n     * @param {?} value\n     * @return {?}\n     */\n    InlineArrayDynamic.prototype.set = function (index, value) { this._values[index] = value; };\n    return InlineArrayDynamic;\n}());\nfunction InlineArrayDynamic_tsickle_Closure_declarations() {\n    /** @type {?} */\n    InlineArrayDynamic.prototype._values;\n    /** @type {?} */\n    InlineArrayDynamic.prototype.length;\n}\nexport var /** @type {?} */ EMPTY_INLINE_ARRAY = new InlineArray0();\n//# sourceMappingURL=view_utils.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/linker/view_utils.js\n// module id = 205\n// module chunks = 0","/**\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 */\nimport { createScope, detectWTF, endTimeRange, leave, startTimeRange } from './wtf_impl';\n/**\n * True if WTF is enabled.\n */\nexport var /** @type {?} */ wtfEnabled = detectWTF();\n/**\n * @param {?=} arg0\n * @param {?=} arg1\n * @return {?}\n */\nfunction noopScope(arg0, arg1) {\n    return null;\n}\n/**\n * Create trace scope.\n *\n * Scopes must be strictly nested and are analogous to stack frames, but\n * do not have to follow the stack frames. Instead it is recommended that they follow logical\n * nesting. You may want to use\n * [Event\n * Signatures](http://google.github.io/tracing-framework/instrumenting-code.html#custom-events)\n * as they are defined in WTF.\n *\n * Used to mark scope entry. The return value is used to leave the scope.\n *\n *     var myScope = wtfCreateScope('MyClass#myMethod(ascii someVal)');\n *\n *     someMethod() {\n *        var s = myScope('Foo'); // 'Foo' gets stored in tracing UI\n *        // DO SOME WORK HERE\n *        return wtfLeave(s, 123); // Return value 123\n *     }\n *\n * Note, adding try-finally block around the work to ensure that `wtfLeave` gets called can\n * negatively impact the performance of your application. For this reason we recommend that\n * you don't add them to ensure that `wtfLeave` gets called. In production `wtfLeave` is a noop and\n * so try-finally block has no value. When debugging perf issues, skipping `wtfLeave`, do to\n * exception, will produce incorrect trace, but presence of exception signifies logic error which\n * needs to be fixed before the app should be profiled. Add try-finally only when you expect that\n * an exception is expected during normal execution while profiling.\n *\n * @experimental\n */\nexport var /** @type {?} */ wtfCreateScope = wtfEnabled ? createScope : function (signature, flags) { return noopScope; };\n/**\n * Used to mark end of Scope.\n *\n * - `scope` to end.\n * - `returnValue` (optional) to be passed to the WTF.\n *\n * Returns the `returnValue for easy chaining.\n * @experimental\n */\nexport var /** @type {?} */ wtfLeave = wtfEnabled ? leave : function (s, r) { return r; };\n/**\n * Used to mark Async start. Async are similar to scope but they don't have to be strictly nested.\n * The return value is used in the call to [endAsync]. Async ranges only work if WTF has been\n * enabled.\n *\n *     someMethod() {\n *        var s = wtfStartTimeRange('HTTP:GET', 'some.url');\n *        var future = new Future.delay(5).then((_) {\n *          wtfEndTimeRange(s);\n *        });\n *     }\n * @experimental\n */\nexport var /** @type {?} */ wtfStartTimeRange = wtfEnabled ? startTimeRange : function (rangeType, action) { return null; };\n/**\n * Ends a async time range operation.\n * [range] is the return value from [wtfStartTimeRange] Async ranges only work if WTF has been\n * enabled.\n * @experimental\n */\nexport var /** @type {?} */ wtfEndTimeRange = wtfEnabled ? endTimeRange : function (r) { return null; };\n//# sourceMappingURL=profile.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/profile/profile.js\n// module id = 206\n// module chunks = 0","/**\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 */\nimport { EventEmitter } from '../facade/async';\n/**\n * An injectable service for executing work inside or outside of the Angular zone.\n *\n * The most common use of this service is to optimize performance when starting a work consisting of\n * one or more asynchronous tasks that don't require UI updates or error handling to be handled by\n * Angular. Such tasks can be kicked off via {\\@link runOutsideAngular} and if needed, these tasks\n * can reenter the Angular zone via {\\@link run}.\n *\n * <!-- TODO: add/fix links to:\n *   - docs explaining zones and the use of zones in Angular and change-detection\n *   - link to runOutsideAngular/run (throughout this file!)\n *   -->\n *\n * ### Example\n *\n * ```\n * import {Component, NgZone} from '\\@angular/core';\n * import {NgIf} from '\\@angular/common';\n *\n * \\@Component({\n *   selector: 'ng-zone-demo'.\n *   template: `\n *     <h2>Demo: NgZone</h2>\n *\n *     <p>Progress: {{progress}}%</p>\n *     <p *ngIf=\"progress >= 100\">Done processing {{label}} of Angular zone!</p>\n *\n *     <button (click)=\"processWithinAngularZone()\">Process within Angular zone</button>\n *     <button (click)=\"processOutsideOfAngularZone()\">Process outside of Angular zone</button>\n *   `,\n * })\n * export class NgZoneDemo {\n *   progress: number = 0;\n *   label: string;\n *\n *   constructor(private _ngZone: NgZone) {}\n *\n *   // Loop inside the Angular zone\n *   // so the UI DOES refresh after each setTimeout cycle\n *   processWithinAngularZone() {\n *     this.label = 'inside';\n *     this.progress = 0;\n *     this._increaseProgress(() => console.log('Inside Done!'));\n *   }\n *\n *   // Loop outside of the Angular zone\n *   // so the UI DOES NOT refresh after each setTimeout cycle\n *   processOutsideOfAngularZone() {\n *     this.label = 'outside';\n *     this.progress = 0;\n *     this._ngZone.runOutsideAngular(() => {\n *       this._increaseProgress(() => {\n *       // reenter the Angular zone and display done\n *       this._ngZone.run(() => {console.log('Outside Done!') });\n *     }}));\n *   }\n *\n *   _increaseProgress(doneCallback: () => void) {\n *     this.progress += 1;\n *     console.log(`Current progress: ${this.progress}%`);\n *\n *     if (this.progress < 100) {\n *       window.setTimeout(() => this._increaseProgress(doneCallback)), 10)\n *     } else {\n *       doneCallback();\n *     }\n *   }\n * }\n * ```\n *\n * \\@experimental\n */\nexport var NgZone = (function () {\n    /**\n     * @param {?} __0\n     */\n    function NgZone(_a) {\n        var _b = _a.enableLongStackTrace, enableLongStackTrace = _b === void 0 ? false : _b;\n        this._hasPendingMicrotasks = false;\n        this._hasPendingMacrotasks = false;\n        this._isStable = true;\n        this._nesting = 0;\n        this._onUnstable = new EventEmitter(false);\n        this._onMicrotaskEmpty = new EventEmitter(false);\n        this._onStable = new EventEmitter(false);\n        this._onErrorEvents = new EventEmitter(false);\n        if (typeof Zone == 'undefined') {\n            throw new Error('Angular requires Zone.js prolyfill.');\n        }\n        Zone.assertZonePatched();\n        this.outer = this.inner = Zone.current;\n        if (Zone['wtfZoneSpec']) {\n            this.inner = this.inner.fork(Zone['wtfZoneSpec']);\n        }\n        if (enableLongStackTrace && Zone['longStackTraceZoneSpec']) {\n            this.inner = this.inner.fork(Zone['longStackTraceZoneSpec']);\n        }\n        this.forkInnerZoneWithAngularBehavior();\n    }\n    /**\n     * @return {?}\n     */\n    NgZone.isInAngularZone = function () { return Zone.current.get('isAngularZone') === true; };\n    /**\n     * @return {?}\n     */\n    NgZone.assertInAngularZone = function () {\n        if (!NgZone.isInAngularZone()) {\n            throw new Error('Expected to be in Angular Zone, but it is not!');\n        }\n    };\n    /**\n     * @return {?}\n     */\n    NgZone.assertNotInAngularZone = function () {\n        if (NgZone.isInAngularZone()) {\n            throw new Error('Expected to not be in Angular Zone, but it is!');\n        }\n    };\n    /**\n     * Executes the `fn` function synchronously within the Angular zone and returns value returned by\n     * the function.\n     *\n     * Running functions via `run` allows you to reenter Angular zone from a task that was executed\n     * outside of the Angular zone (typically started via {\\@link runOutsideAngular}).\n     *\n     * Any future tasks or microtasks scheduled from within this function will continue executing from\n     * within the Angular zone.\n     *\n     * If a synchronous error happens it will be rethrown and not reported via `onError`.\n     * @param {?} fn\n     * @return {?}\n     */\n    NgZone.prototype.run = function (fn) { return this.inner.run(fn); };\n    /**\n     * Same as `run`, except that synchronous errors are caught and forwarded via `onError` and not\n     * rethrown.\n     * @param {?} fn\n     * @return {?}\n     */\n    NgZone.prototype.runGuarded = function (fn) { return this.inner.runGuarded(fn); };\n    /**\n     * Executes the `fn` function synchronously in Angular's parent zone and returns value returned by\n     * the function.\n     *\n     * Running functions via `runOutsideAngular` allows you to escape Angular's zone and do work that\n     * doesn't trigger Angular change-detection or is subject to Angular's error handling.\n     *\n     * Any future tasks or microtasks scheduled from within this function will continue executing from\n     * outside of the Angular zone.\n     *\n     * Use {\\@link run} to reenter the Angular zone and do work that updates the application model.\n     * @param {?} fn\n     * @return {?}\n     */\n    NgZone.prototype.runOutsideAngular = function (fn) { return this.outer.run(fn); };\n    Object.defineProperty(NgZone.prototype, \"onUnstable\", {\n        /**\n         * Notifies when code enters Angular Zone. This gets fired first on VM Turn.\n         * @return {?}\n         */\n        get: function () { return this._onUnstable; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgZone.prototype, \"onMicrotaskEmpty\", {\n        /**\n         * Notifies when there is no more microtasks enqueue in the current VM Turn.\n         * This is a hint for Angular to do change detection, which may enqueue more microtasks.\n         * For this reason this event can fire multiple times per VM Turn.\n         * @return {?}\n         */\n        get: function () { return this._onMicrotaskEmpty; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgZone.prototype, \"onStable\", {\n        /**\n         * Notifies when the last `onMicrotaskEmpty` has run and there are no more microtasks, which\n         * implies we are about to relinquish VM turn.\n         * This event gets called just once.\n         * @return {?}\n         */\n        get: function () { return this._onStable; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgZone.prototype, \"onError\", {\n        /**\n         * Notify that an error has been delivered.\n         * @return {?}\n         */\n        get: function () { return this._onErrorEvents; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgZone.prototype, \"isStable\", {\n        /**\n         * Whether there are no outstanding microtasks or macrotasks.\n         * @return {?}\n         */\n        get: function () { return this._isStable; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgZone.prototype, \"hasPendingMicrotasks\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._hasPendingMicrotasks; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgZone.prototype, \"hasPendingMacrotasks\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._hasPendingMacrotasks; },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @return {?}\n     */\n    NgZone.prototype.checkStable = function () {\n        var _this = this;\n        if (this._nesting == 0 && !this._hasPendingMicrotasks && !this._isStable) {\n            try {\n                this._nesting++;\n                this._onMicrotaskEmpty.emit(null);\n            }\n            finally {\n                this._nesting--;\n                if (!this._hasPendingMicrotasks) {\n                    try {\n                        this.runOutsideAngular(function () { return _this._onStable.emit(null); });\n                    }\n                    finally {\n                        this._isStable = true;\n                    }\n                }\n            }\n        }\n    };\n    /**\n     * @return {?}\n     */\n    NgZone.prototype.forkInnerZoneWithAngularBehavior = function () {\n        var _this = this;\n        this.inner = this.inner.fork({\n            name: 'angular',\n            properties: /** @type {?} */ ({ 'isAngularZone': true }),\n            onInvokeTask: function (delegate, current, target, task, applyThis, applyArgs) {\n                try {\n                    _this.onEnter();\n                    return delegate.invokeTask(target, task, applyThis, applyArgs);\n                }\n                finally {\n                    _this.onLeave();\n                }\n            },\n            onInvoke: function (delegate, current, target, callback, applyThis, applyArgs, source) {\n                try {\n                    _this.onEnter();\n                    return delegate.invoke(target, callback, applyThis, applyArgs, source);\n                }\n                finally {\n                    _this.onLeave();\n                }\n            },\n            onHasTask: function (delegate, current, target, hasTaskState) {\n                delegate.hasTask(target, hasTaskState);\n                if (current === target) {\n                    // We are only interested in hasTask events which originate from our zone\n                    // (A child hasTask event is not interesting to us)\n                    if (hasTaskState.change == 'microTask') {\n                        _this.setHasMicrotask(hasTaskState.microTask);\n                    }\n                    else if (hasTaskState.change == 'macroTask') {\n                        _this.setHasMacrotask(hasTaskState.macroTask);\n                    }\n                }\n            },\n            onHandleError: function (delegate, current, target, error) {\n                delegate.handleError(target, error);\n                _this.triggerError(error);\n                return false;\n            }\n        });\n    };\n    /**\n     * @return {?}\n     */\n    NgZone.prototype.onEnter = function () {\n        this._nesting++;\n        if (this._isStable) {\n            this._isStable = false;\n            this._onUnstable.emit(null);\n        }\n    };\n    /**\n     * @return {?}\n     */\n    NgZone.prototype.onLeave = function () {\n        this._nesting--;\n        this.checkStable();\n    };\n    /**\n     * @param {?} hasMicrotasks\n     * @return {?}\n     */\n    NgZone.prototype.setHasMicrotask = function (hasMicrotasks) {\n        this._hasPendingMicrotasks = hasMicrotasks;\n        this.checkStable();\n    };\n    /**\n     * @param {?} hasMacrotasks\n     * @return {?}\n     */\n    NgZone.prototype.setHasMacrotask = function (hasMacrotasks) { this._hasPendingMacrotasks = hasMacrotasks; };\n    /**\n     * @param {?} error\n     * @return {?}\n     */\n    NgZone.prototype.triggerError = function (error) { this._onErrorEvents.emit(error); };\n    return NgZone;\n}());\nfunction NgZone_tsickle_Closure_declarations() {\n    /** @type {?} */\n    NgZone.prototype.outer;\n    /** @type {?} */\n    NgZone.prototype.inner;\n    /** @type {?} */\n    NgZone.prototype._hasPendingMicrotasks;\n    /** @type {?} */\n    NgZone.prototype._hasPendingMacrotasks;\n    /** @type {?} */\n    NgZone.prototype._isStable;\n    /** @type {?} */\n    NgZone.prototype._nesting;\n    /** @type {?} */\n    NgZone.prototype._onUnstable;\n    /** @type {?} */\n    NgZone.prototype._onMicrotaskEmpty;\n    /** @type {?} */\n    NgZone.prototype._onStable;\n    /** @type {?} */\n    NgZone.prototype._onErrorEvents;\n}\n//# sourceMappingURL=ng_zone.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/zone/ng_zone.js\n// module id = 207\n// module chunks = 0","/**\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 */\nimport { Directive, ElementRef, Renderer, forwardRef } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from './control_value_accessor';\nexport var /** @type {?} */ CHECKBOX_VALUE_ACCESSOR = {\n    provide: NG_VALUE_ACCESSOR,\n    useExisting: forwardRef(function () { return CheckboxControlValueAccessor; }),\n    multi: true,\n};\n/**\n * The accessor for writing a value and listening to changes on a checkbox input element.\n *\n *  ### Example\n *  ```\n *  <input type=\"checkbox\" name=\"rememberLogin\" ngModel>\n *  ```\n *\n *  \\@stable\n */\nexport var CheckboxControlValueAccessor = (function () {\n    /**\n     * @param {?} _renderer\n     * @param {?} _elementRef\n     */\n    function CheckboxControlValueAccessor(_renderer, _elementRef) {\n        this._renderer = _renderer;\n        this._elementRef = _elementRef;\n        this.onChange = function (_) { };\n        this.onTouched = function () { };\n    }\n    /**\n     * @param {?} value\n     * @return {?}\n     */\n    CheckboxControlValueAccessor.prototype.writeValue = function (value) {\n        this._renderer.setElementProperty(this._elementRef.nativeElement, 'checked', value);\n    };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    CheckboxControlValueAccessor.prototype.registerOnChange = function (fn) { this.onChange = fn; };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    CheckboxControlValueAccessor.prototype.registerOnTouched = function (fn) { this.onTouched = fn; };\n    /**\n     * @param {?} isDisabled\n     * @return {?}\n     */\n    CheckboxControlValueAccessor.prototype.setDisabledState = function (isDisabled) {\n        this._renderer.setElementProperty(this._elementRef.nativeElement, 'disabled', isDisabled);\n    };\n    CheckboxControlValueAccessor.decorators = [\n        { type: Directive, args: [{\n                    selector: 'input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]',\n                    host: { '(change)': 'onChange($event.target.checked)', '(blur)': 'onTouched()' },\n                    providers: [CHECKBOX_VALUE_ACCESSOR]\n                },] },\n    ];\n    /** @nocollapse */\n    CheckboxControlValueAccessor.ctorParameters = function () { return [\n        { type: Renderer, },\n        { type: ElementRef, },\n    ]; };\n    return CheckboxControlValueAccessor;\n}());\nfunction CheckboxControlValueAccessor_tsickle_Closure_declarations() {\n    /** @type {?} */\n    CheckboxControlValueAccessor.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    CheckboxControlValueAccessor.ctorParameters;\n    /** @type {?} */\n    CheckboxControlValueAccessor.prototype.onChange;\n    /** @type {?} */\n    CheckboxControlValueAccessor.prototype.onTouched;\n    /** @type {?} */\n    CheckboxControlValueAccessor.prototype._renderer;\n    /** @type {?} */\n    CheckboxControlValueAccessor.prototype._elementRef;\n}\n//# sourceMappingURL=checkbox_value_accessor.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/forms/src/directives/checkbox_value_accessor.js\n// module id = 208\n// module chunks = 0","/**\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 */\nimport { Directive, ElementRef, Renderer, forwardRef } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from './control_value_accessor';\nexport var /** @type {?} */ DEFAULT_VALUE_ACCESSOR = {\n    provide: NG_VALUE_ACCESSOR,\n    useExisting: forwardRef(function () { return DefaultValueAccessor; }),\n    multi: true\n};\n/**\n * The default accessor for writing a value and listening to changes that is used by the\n * {\\@link NgModel}, {\\@link FormControlDirective}, and {\\@link FormControlName} directives.\n *\n *  ### Example\n *  ```\n *  <input type=\"text\" name=\"searchQuery\" ngModel>\n *  ```\n *\n *  \\@stable\n */\nexport var DefaultValueAccessor = (function () {\n    /**\n     * @param {?} _renderer\n     * @param {?} _elementRef\n     */\n    function DefaultValueAccessor(_renderer, _elementRef) {\n        this._renderer = _renderer;\n        this._elementRef = _elementRef;\n        this.onChange = function (_) { };\n        this.onTouched = function () { };\n    }\n    /**\n     * @param {?} value\n     * @return {?}\n     */\n    DefaultValueAccessor.prototype.writeValue = function (value) {\n        var /** @type {?} */ normalizedValue = value == null ? '' : value;\n        this._renderer.setElementProperty(this._elementRef.nativeElement, 'value', normalizedValue);\n    };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    DefaultValueAccessor.prototype.registerOnChange = function (fn) { this.onChange = fn; };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    DefaultValueAccessor.prototype.registerOnTouched = function (fn) { this.onTouched = fn; };\n    /**\n     * @param {?} isDisabled\n     * @return {?}\n     */\n    DefaultValueAccessor.prototype.setDisabledState = function (isDisabled) {\n        this._renderer.setElementProperty(this._elementRef.nativeElement, 'disabled', isDisabled);\n    };\n    DefaultValueAccessor.decorators = [\n        { type: Directive, args: [{\n                    selector: 'input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],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: [DEFAULT_VALUE_ACCESSOR]\n                },] },\n    ];\n    /** @nocollapse */\n    DefaultValueAccessor.ctorParameters = function () { return [\n        { type: Renderer, },\n        { type: ElementRef, },\n    ]; };\n    return DefaultValueAccessor;\n}());\nfunction DefaultValueAccessor_tsickle_Closure_declarations() {\n    /** @type {?} */\n    DefaultValueAccessor.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    DefaultValueAccessor.ctorParameters;\n    /** @type {?} */\n    DefaultValueAccessor.prototype.onChange;\n    /** @type {?} */\n    DefaultValueAccessor.prototype.onTouched;\n    /** @type {?} */\n    DefaultValueAccessor.prototype._renderer;\n    /** @type {?} */\n    DefaultValueAccessor.prototype._elementRef;\n}\n//# sourceMappingURL=default_value_accessor.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/forms/src/directives/default_value_accessor.js\n// module id = 209\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { Directive, Host, Inject, Input, Optional, Self, SkipSelf, forwardRef } from '@angular/core';\nimport { NG_ASYNC_VALIDATORS, NG_VALIDATORS } from '../validators';\nimport { AbstractFormGroupDirective } from './abstract_form_group_directive';\nimport { ControlContainer } from './control_container';\nimport { NgForm } from './ng_form';\nimport { TemplateDrivenErrors } from './template_driven_errors';\nexport var /** @type {?} */ modelGroupProvider = {\n    provide: ControlContainer,\n    useExisting: forwardRef(function () { return NgModelGroup; })\n};\n/**\n * \\@whatItDoes Creates and binds a {\\@link FormGroup} instance to a DOM element.\n *\n * \\@howToUse\n *\n * This directive can only be used as a child of {\\@link NgForm} (or in other words,\n * within `<form>` tags).\n *\n * Use this directive if you'd like to create a sub-group within a form. This can\n * come in handy if you want to validate a sub-group of your form separately from\n * the rest of your form, or if some values in your domain model make more sense to\n * consume together in a nested object.\n *\n * Pass in the name you'd like this sub-group to have and it will become the key\n * for the sub-group in the form's full value. You can also export the directive into\n * a local template variable using `ngModelGroup` (ex: `#myGroup=\"ngModelGroup\"`).\n *\n * {\\@example forms/ts/ngModelGroup/ng_model_group_example.ts region='Component'}\n *\n * * **npm package**: `\\@angular/forms`\n *\n * * **NgModule**: `FormsModule`\n *\n * \\@stable\n */\nexport var NgModelGroup = (function (_super) {\n    __extends(NgModelGroup, _super);\n    /**\n     * @param {?} parent\n     * @param {?} validators\n     * @param {?} asyncValidators\n     */\n    function NgModelGroup(parent, validators, asyncValidators) {\n        _super.call(this);\n        this._parent = parent;\n        this._validators = validators;\n        this._asyncValidators = asyncValidators;\n    }\n    /**\n     * \\@internal\n     * @return {?}\n     */\n    NgModelGroup.prototype._checkParentType = function () {\n        if (!(this._parent instanceof NgModelGroup) && !(this._parent instanceof NgForm)) {\n            TemplateDrivenErrors.modelGroupParentException();\n        }\n    };\n    NgModelGroup.decorators = [\n        { type: Directive, args: [{ selector: '[ngModelGroup]', providers: [modelGroupProvider], exportAs: 'ngModelGroup' },] },\n    ];\n    /** @nocollapse */\n    NgModelGroup.ctorParameters = function () { return [\n        { type: ControlContainer, decorators: [{ type: Host }, { type: SkipSelf },] },\n        { type: Array, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NG_VALIDATORS,] },] },\n        { type: Array, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NG_ASYNC_VALIDATORS,] },] },\n    ]; };\n    NgModelGroup.propDecorators = {\n        'name': [{ type: Input, args: ['ngModelGroup',] },],\n    };\n    return NgModelGroup;\n}(AbstractFormGroupDirective));\nfunction NgModelGroup_tsickle_Closure_declarations() {\n    /** @type {?} */\n    NgModelGroup.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    NgModelGroup.ctorParameters;\n    /** @type {?} */\n    NgModelGroup.propDecorators;\n    /** @type {?} */\n    NgModelGroup.prototype.name;\n}\n//# sourceMappingURL=ng_model_group.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/forms/src/directives/ng_model_group.js\n// module id = 210\n// module chunks = 0","/**\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 */\nimport { FormErrorExamples as Examples } from './error_examples';\nexport var ReactiveErrors = (function () {\n    function ReactiveErrors() {\n    }\n    /**\n     * @return {?}\n     */\n    ReactiveErrors.controlParentException = function () {\n        throw new Error(\"formControlName must be used with a parent formGroup directive.  You'll want to add a formGroup\\n       directive and pass it an existing FormGroup instance (you can create one in your class).\\n\\n      Example:\\n\\n      \" + Examples.formControlName);\n    };\n    /**\n     * @return {?}\n     */\n    ReactiveErrors.ngModelGroupException = function () {\n        throw new Error(\"formControlName cannot be used with an ngModelGroup parent. It is only compatible with parents\\n       that also have a \\\"form\\\" prefix: formGroupName, formArrayName, or formGroup.\\n\\n       Option 1:  Update the parent to be formGroupName (reactive form strategy)\\n\\n        \" + Examples.formGroupName + \"\\n\\n        Option 2: Use ngModel instead of formControlName (template-driven strategy)\\n\\n        \" + Examples.ngModelGroup);\n    };\n    /**\n     * @return {?}\n     */\n    ReactiveErrors.missingFormException = function () {\n        throw new Error(\"formGroup expects a FormGroup instance. Please pass one in.\\n\\n       Example:\\n\\n       \" + Examples.formControlName);\n    };\n    /**\n     * @return {?}\n     */\n    ReactiveErrors.groupParentException = function () {\n        throw new Error(\"formGroupName must be used with a parent formGroup directive.  You'll want to add a formGroup\\n      directive and pass it an existing FormGroup instance (you can create one in your class).\\n\\n      Example:\\n\\n      \" + Examples.formGroupName);\n    };\n    /**\n     * @return {?}\n     */\n    ReactiveErrors.arrayParentException = function () {\n        throw new Error(\"formArrayName must be used with a parent formGroup directive.  You'll want to add a formGroup\\n       directive and pass it an existing FormGroup instance (you can create one in your class).\\n\\n        Example:\\n\\n        \" + Examples.formArrayName);\n    };\n    /**\n     * @return {?}\n     */\n    ReactiveErrors.disabledAttrWarning = function () {\n        console.warn(\"\\n      It looks like you're using the disabled attribute with a reactive form directive. If you set disabled to true\\n      when you set up this control in your component class, the disabled attribute will actually be set in the DOM for\\n      you. We recommend using this approach to avoid 'changed after checked' errors.\\n       \\n      Example: \\n      form = new FormGroup({\\n        first: new FormControl({value: 'Nancy', disabled: true}, Validators.required),\\n        last: new FormControl('Drew', Validators.required)\\n      });\\n    \");\n    };\n    return ReactiveErrors;\n}());\n//# sourceMappingURL=reactive_errors.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/forms/src/directives/reactive_errors.js\n// module id = 211\n// module chunks = 0","/**\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 */\nimport { Directive, ElementRef, Host, Input, Optional, Renderer, forwardRef } from '@angular/core';\nimport { isPrimitive, looseIdentical } from '../facade/lang';\nimport { NG_VALUE_ACCESSOR } from './control_value_accessor';\nexport var /** @type {?} */ SELECT_VALUE_ACCESSOR = {\n    provide: NG_VALUE_ACCESSOR,\n    useExisting: forwardRef(function () { return SelectControlValueAccessor; }),\n    multi: true\n};\n/**\n * @param {?} id\n * @param {?} value\n * @return {?}\n */\nfunction _buildValueString(id, value) {\n    if (id == null)\n        return \"\" + value;\n    if (!isPrimitive(value))\n        value = 'Object';\n    return (id + \": \" + value).slice(0, 50);\n}\n/**\n * @param {?} valueString\n * @return {?}\n */\nfunction _extractId(valueString) {\n    return valueString.split(':')[0];\n}\n/**\n * \\@whatItDoes Writes values and listens to changes on a select element.\n *\n * Used by {\\@link NgModel}, {\\@link FormControlDirective}, and {\\@link FormControlName}\n * to keep the view synced with the {\\@link FormControl} model.\n *\n * \\@howToUse\n *\n * If you have imported the {\\@link FormsModule} or the {\\@link ReactiveFormsModule}, this\n * value accessor will be active on any select control that has a form directive. You do\n * **not** need to add a special selector to activate it.\n *\n * ### How to use select controls with form directives\n *\n * To use a select in a template-driven form, simply add an `ngModel` and a `name`\n * attribute to the main `<select>` tag.\n *\n * If your option values are simple strings, you can bind to the normal `value` property\n * on the option.  If your option values happen to be objects (and you'd like to save the\n * selection in your form as an object), use `ngValue` instead:\n *\n * {\\@example forms/ts/selectControl/select_control_example.ts region='Component'}\n *\n * In reactive forms, you'll also want to add your form directive (`formControlName` or\n * `formControl`) on the main `<select>` tag. Like in the former example, you have the\n * choice of binding to the  `value` or `ngValue` property on the select's options.\n *\n * {\\@example forms/ts/reactiveSelectControl/reactive_select_control_example.ts region='Component'}\n *\n * Note: We listen to the 'change' event because 'input' events aren't fired\n * for selects in Firefox and IE:\n * https://bugzilla.mozilla.org/show_bug.cgi?id=1024350\n * https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/4660045/\n *\n * * **npm package**: `\\@angular/forms`\n *\n * \\@stable\n */\nexport var SelectControlValueAccessor = (function () {\n    /**\n     * @param {?} _renderer\n     * @param {?} _elementRef\n     */\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    /**\n     * @param {?} value\n     * @return {?}\n     */\n    SelectControlValueAccessor.prototype.writeValue = function (value) {\n        this.value = value;\n        var /** @type {?} */ id = this._getOptionId(value);\n        if (id == null) {\n            this._renderer.setElementProperty(this._elementRef.nativeElement, 'selectedIndex', -1);\n        }\n        var /** @type {?} */ valueString = _buildValueString(id, value);\n        this._renderer.setElementProperty(this._elementRef.nativeElement, 'value', valueString);\n    };\n    /**\n     * @param {?} fn\n     * @return {?}\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    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    SelectControlValueAccessor.prototype.registerOnTouched = function (fn) { this.onTouched = fn; };\n    /**\n     * @param {?} isDisabled\n     * @return {?}\n     */\n    SelectControlValueAccessor.prototype.setDisabledState = function (isDisabled) {\n        this._renderer.setElementProperty(this._elementRef.nativeElement, 'disabled', isDisabled);\n    };\n    /**\n     * \\@internal\n     * @return {?}\n     */\n    SelectControlValueAccessor.prototype._registerOption = function () { return (this._idCounter++).toString(); };\n    /**\n     * \\@internal\n     * @param {?} value\n     * @return {?}\n     */\n    SelectControlValueAccessor.prototype._getOptionId = function (value) {\n        for (var _i = 0, _a = Array.from(this._optionMap.keys()); _i < _a.length; _i++) {\n            var id = _a[_i];\n            if (looseIdentical(this._optionMap.get(id), value))\n                return id;\n        }\n        return null;\n    };\n    /**\n     * \\@internal\n     * @param {?} valueString\n     * @return {?}\n     */\n    SelectControlValueAccessor.prototype._getOptionValue = function (valueString) {\n        var /** @type {?} */ id = _extractId(valueString);\n        return this._optionMap.has(id) ? this._optionMap.get(id) : valueString;\n    };\n    SelectControlValueAccessor.decorators = [\n        { type: Directive, args: [{\n                    selector: 'select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]',\n                    host: { '(change)': 'onChange($event.target.value)', '(blur)': 'onTouched()' },\n                    providers: [SELECT_VALUE_ACCESSOR]\n                },] },\n    ];\n    /** @nocollapse */\n    SelectControlValueAccessor.ctorParameters = function () { return [\n        { type: Renderer, },\n        { type: ElementRef, },\n    ]; };\n    return SelectControlValueAccessor;\n}());\nfunction SelectControlValueAccessor_tsickle_Closure_declarations() {\n    /** @type {?} */\n    SelectControlValueAccessor.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    SelectControlValueAccessor.ctorParameters;\n    /** @type {?} */\n    SelectControlValueAccessor.prototype.value;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    SelectControlValueAccessor.prototype._optionMap;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    SelectControlValueAccessor.prototype._idCounter;\n    /** @type {?} */\n    SelectControlValueAccessor.prototype.onChange;\n    /** @type {?} */\n    SelectControlValueAccessor.prototype.onTouched;\n    /** @type {?} */\n    SelectControlValueAccessor.prototype._renderer;\n    /** @type {?} */\n    SelectControlValueAccessor.prototype._elementRef;\n}\n/**\n * \\@whatItDoes Marks `<option>` as dynamic, so Angular can be notified when options change.\n *\n * \\@howToUse\n *\n * See docs for {\\@link SelectControlValueAccessor} for usage examples.\n *\n * \\@stable\n */\nexport var NgSelectOption = (function () {\n    /**\n     * @param {?} _element\n     * @param {?} _renderer\n     * @param {?} _select\n     */\n    function NgSelectOption(_element, _renderer, _select) {\n        this._element = _element;\n        this._renderer = _renderer;\n        this._select = _select;\n        if (this._select)\n            this.id = this._select._registerOption();\n    }\n    Object.defineProperty(NgSelectOption.prototype, \"ngValue\", {\n        /**\n         * @param {?} value\n         * @return {?}\n         */\n        set: function (value) {\n            if (this._select == null)\n                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        /**\n         * @param {?} value\n         * @return {?}\n         */\n        set: function (value) {\n            this._setElementValue(value);\n            if (this._select)\n                this._select.writeValue(this._select.value);\n        },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * \\@internal\n     * @param {?} value\n     * @return {?}\n     */\n    NgSelectOption.prototype._setElementValue = function (value) {\n        this._renderer.setElementProperty(this._element.nativeElement, 'value', value);\n    };\n    /**\n     * @return {?}\n     */\n    NgSelectOption.prototype.ngOnDestroy = function () {\n        if (this._select) {\n            this._select._optionMap.delete(this.id);\n            this._select.writeValue(this._select.value);\n        }\n    };\n    NgSelectOption.decorators = [\n        { type: Directive, args: [{ selector: 'option' },] },\n    ];\n    /** @nocollapse */\n    NgSelectOption.ctorParameters = function () { return [\n        { type: ElementRef, },\n        { type: Renderer, },\n        { type: SelectControlValueAccessor, decorators: [{ type: Optional }, { type: Host },] },\n    ]; };\n    NgSelectOption.propDecorators = {\n        'ngValue': [{ type: Input, args: ['ngValue',] },],\n        'value': [{ type: Input, args: ['value',] },],\n    };\n    return NgSelectOption;\n}());\nfunction NgSelectOption_tsickle_Closure_declarations() {\n    /** @type {?} */\n    NgSelectOption.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    NgSelectOption.ctorParameters;\n    /** @type {?} */\n    NgSelectOption.propDecorators;\n    /** @type {?} */\n    NgSelectOption.prototype.id;\n    /** @type {?} */\n    NgSelectOption.prototype._element;\n    /** @type {?} */\n    NgSelectOption.prototype._renderer;\n    /** @type {?} */\n    NgSelectOption.prototype._select;\n}\n//# sourceMappingURL=select_control_value_accessor.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/forms/src/directives/select_control_value_accessor.js\n// module id = 212\n// module chunks = 0","/**\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 */\nimport { Directive, ElementRef, Host, Input, Optional, Renderer, forwardRef } from '@angular/core';\nimport { isPrimitive, looseIdentical } from '../facade/lang';\nimport { NG_VALUE_ACCESSOR } from './control_value_accessor';\nexport var /** @type {?} */ SELECT_MULTIPLE_VALUE_ACCESSOR = {\n    provide: NG_VALUE_ACCESSOR,\n    useExisting: forwardRef(function () { return SelectMultipleControlValueAccessor; }),\n    multi: true\n};\n/**\n * @param {?} id\n * @param {?} value\n * @return {?}\n */\nfunction _buildValueString(id, value) {\n    if (id == null)\n        return \"\" + value;\n    if (typeof value === 'string')\n        value = \"'\" + value + \"'\";\n    if (!isPrimitive(value))\n        value = 'Object';\n    return (id + \": \" + value).slice(0, 50);\n}\n/**\n * @param {?} valueString\n * @return {?}\n */\nfunction _extractId(valueString) {\n    return valueString.split(':')[0];\n}\n/**\n * Mock interface for HTMLCollection\n * @abstract\n */\nvar HTMLCollection = (function () {\n    function HTMLCollection() {\n    }\n    /**\n     * @abstract\n     * @param {?} _\n     * @return {?}\n     */\n    HTMLCollection.prototype.item = function (_) { };\n    return HTMLCollection;\n}());\nfunction HTMLCollection_tsickle_Closure_declarations() {\n    /** @type {?} */\n    HTMLCollection.prototype.length;\n}\n/**\n * The accessor for writing a value and listening to changes on a select element.\n *\n * \\@stable\n */\nexport var SelectMultipleControlValueAccessor = (function () {\n    /**\n     * @param {?} _renderer\n     * @param {?} _elementRef\n     */\n    function SelectMultipleControlValueAccessor(_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    /**\n     * @param {?} value\n     * @return {?}\n     */\n    SelectMultipleControlValueAccessor.prototype.writeValue = function (value) {\n        var _this = this;\n        this.value = value;\n        var /** @type {?} */ optionSelectedStateSetter;\n        if (Array.isArray(value)) {\n            // convert values to ids\n            var /** @type {?} */ ids_1 = value.map(function (v) { return _this._getOptionId(v); });\n            optionSelectedStateSetter = function (opt, o) { opt._setSelected(ids_1.indexOf(o.toString()) > -1); };\n        }\n        else {\n            optionSelectedStateSetter = function (opt, o) { opt._setSelected(false); };\n        }\n        this._optionMap.forEach(optionSelectedStateSetter);\n    };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    SelectMultipleControlValueAccessor.prototype.registerOnChange = function (fn) {\n        var _this = this;\n        this.onChange = function (_) {\n            var /** @type {?} */ selected = [];\n            if (_.hasOwnProperty('selectedOptions')) {\n                var /** @type {?} */ options = _.selectedOptions;\n                for (var /** @type {?} */ i = 0; i < options.length; i++) {\n                    var /** @type {?} */ opt = options.item(i);\n                    var /** @type {?} */ val = _this._getOptionValue(opt.value);\n                    selected.push(val);\n                }\n            }\n            else {\n                var /** @type {?} */ options = (_.options);\n                for (var /** @type {?} */ i = 0; i < options.length; i++) {\n                    var /** @type {?} */ opt = options.item(i);\n                    if (opt.selected) {\n                        var /** @type {?} */ val = _this._getOptionValue(opt.value);\n                        selected.push(val);\n                    }\n                }\n            }\n            _this.value = selected;\n            fn(selected);\n        };\n    };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    SelectMultipleControlValueAccessor.prototype.registerOnTouched = function (fn) { this.onTouched = fn; };\n    /**\n     * @param {?} isDisabled\n     * @return {?}\n     */\n    SelectMultipleControlValueAccessor.prototype.setDisabledState = function (isDisabled) {\n        this._renderer.setElementProperty(this._elementRef.nativeElement, 'disabled', isDisabled);\n    };\n    /**\n     * \\@internal\n     * @param {?} value\n     * @return {?}\n     */\n    SelectMultipleControlValueAccessor.prototype._registerOption = function (value) {\n        var /** @type {?} */ id = (this._idCounter++).toString();\n        this._optionMap.set(id, value);\n        return id;\n    };\n    /**\n     * \\@internal\n     * @param {?} value\n     * @return {?}\n     */\n    SelectMultipleControlValueAccessor.prototype._getOptionId = function (value) {\n        for (var _i = 0, _a = Array.from(this._optionMap.keys()); _i < _a.length; _i++) {\n            var id = _a[_i];\n            if (looseIdentical(this._optionMap.get(id)._value, value))\n                return id;\n        }\n        return null;\n    };\n    /**\n     * \\@internal\n     * @param {?} valueString\n     * @return {?}\n     */\n    SelectMultipleControlValueAccessor.prototype._getOptionValue = function (valueString) {\n        var /** @type {?} */ id = _extractId(valueString);\n        return this._optionMap.has(id) ? this._optionMap.get(id)._value : valueString;\n    };\n    SelectMultipleControlValueAccessor.decorators = [\n        { type: Directive, args: [{\n                    selector: 'select[multiple][formControlName],select[multiple][formControl],select[multiple][ngModel]',\n                    host: { '(change)': 'onChange($event.target)', '(blur)': 'onTouched()' },\n                    providers: [SELECT_MULTIPLE_VALUE_ACCESSOR]\n                },] },\n    ];\n    /** @nocollapse */\n    SelectMultipleControlValueAccessor.ctorParameters = function () { return [\n        { type: Renderer, },\n        { type: ElementRef, },\n    ]; };\n    return SelectMultipleControlValueAccessor;\n}());\nfunction SelectMultipleControlValueAccessor_tsickle_Closure_declarations() {\n    /** @type {?} */\n    SelectMultipleControlValueAccessor.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    SelectMultipleControlValueAccessor.ctorParameters;\n    /** @type {?} */\n    SelectMultipleControlValueAccessor.prototype.value;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    SelectMultipleControlValueAccessor.prototype._optionMap;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    SelectMultipleControlValueAccessor.prototype._idCounter;\n    /** @type {?} */\n    SelectMultipleControlValueAccessor.prototype.onChange;\n    /** @type {?} */\n    SelectMultipleControlValueAccessor.prototype.onTouched;\n    /** @type {?} */\n    SelectMultipleControlValueAccessor.prototype._renderer;\n    /** @type {?} */\n    SelectMultipleControlValueAccessor.prototype._elementRef;\n}\n/**\n * Marks `<option>` as dynamic, so Angular can be notified when options change.\n *\n * ### Example\n *\n * ```\n * <select multiple name=\"city\" ngModel>\n *   <option *ngFor=\"let c of cities\" [value]=\"c\"></option>\n * </select>\n * ```\n */\nexport var NgSelectMultipleOption = (function () {\n    /**\n     * @param {?} _element\n     * @param {?} _renderer\n     * @param {?} _select\n     */\n    function NgSelectMultipleOption(_element, _renderer, _select) {\n        this._element = _element;\n        this._renderer = _renderer;\n        this._select = _select;\n        if (this._select) {\n            this.id = this._select._registerOption(this);\n        }\n    }\n    Object.defineProperty(NgSelectMultipleOption.prototype, \"ngValue\", {\n        /**\n         * @param {?} value\n         * @return {?}\n         */\n        set: function (value) {\n            if (this._select == null)\n                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        /**\n         * @param {?} value\n         * @return {?}\n         */\n        set: function (value) {\n            if (this._select) {\n                this._value = value;\n                this._setElementValue(_buildValueString(this.id, value));\n                this._select.writeValue(this._select.value);\n            }\n            else {\n                this._setElementValue(value);\n            }\n        },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * \\@internal\n     * @param {?} value\n     * @return {?}\n     */\n    NgSelectMultipleOption.prototype._setElementValue = function (value) {\n        this._renderer.setElementProperty(this._element.nativeElement, 'value', value);\n    };\n    /**\n     * \\@internal\n     * @param {?} selected\n     * @return {?}\n     */\n    NgSelectMultipleOption.prototype._setSelected = function (selected) {\n        this._renderer.setElementProperty(this._element.nativeElement, 'selected', selected);\n    };\n    /**\n     * @return {?}\n     */\n    NgSelectMultipleOption.prototype.ngOnDestroy = function () {\n        if (this._select) {\n            this._select._optionMap.delete(this.id);\n            this._select.writeValue(this._select.value);\n        }\n    };\n    NgSelectMultipleOption.decorators = [\n        { type: Directive, args: [{ selector: 'option' },] },\n    ];\n    /** @nocollapse */\n    NgSelectMultipleOption.ctorParameters = function () { return [\n        { type: ElementRef, },\n        { type: Renderer, },\n        { type: SelectMultipleControlValueAccessor, decorators: [{ type: Optional }, { type: Host },] },\n    ]; };\n    NgSelectMultipleOption.propDecorators = {\n        'ngValue': [{ type: Input, args: ['ngValue',] },],\n        'value': [{ type: Input, args: ['value',] },],\n    };\n    return NgSelectMultipleOption;\n}());\nfunction NgSelectMultipleOption_tsickle_Closure_declarations() {\n    /** @type {?} */\n    NgSelectMultipleOption.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    NgSelectMultipleOption.ctorParameters;\n    /** @type {?} */\n    NgSelectMultipleOption.propDecorators;\n    /** @type {?} */\n    NgSelectMultipleOption.prototype.id;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    NgSelectMultipleOption.prototype._value;\n    /** @type {?} */\n    NgSelectMultipleOption.prototype._element;\n    /** @type {?} */\n    NgSelectMultipleOption.prototype._renderer;\n    /** @type {?} */\n    NgSelectMultipleOption.prototype._select;\n}\n//# sourceMappingURL=select_multiple_control_value_accessor.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/forms/src/directives/select_multiple_control_value_accessor.js\n// module id = 213\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { fromPromise } from 'rxjs/observable/fromPromise';\nimport { composeAsyncValidators, composeValidators } from './directives/shared';\nimport { EventEmitter } from './facade/async';\nimport { isObservable, isPromise } from './private_import_core';\n/**\n * Indicates that a FormControl is valid, i.e. that no errors exist in the input value.\n */\nexport var /** @type {?} */ VALID = 'VALID';\n/**\n * Indicates that a FormControl is invalid, i.e. that an error exists in the input value.\n */\nexport var /** @type {?} */ INVALID = 'INVALID';\n/**\n * Indicates that a FormControl is pending, i.e. that async validation is occurring and\n * errors are not yet available for the input value.\n */\nexport var /** @type {?} */ PENDING = 'PENDING';\n/**\n * Indicates that a FormControl is disabled, i.e. that the control is exempt from ancestor\n * calculations of validity or value.\n */\nexport var /** @type {?} */ DISABLED = 'DISABLED';\n/**\n * @param {?} control\n * @param {?} path\n * @param {?} delimiter\n * @return {?}\n */\nfunction _find(control, path, delimiter) {\n    if (path == null)\n        return null;\n    if (!(path instanceof Array)) {\n        path = ((path)).split(delimiter);\n    }\n    if (path instanceof Array && (path.length === 0))\n        return null;\n    return ((path)).reduce(function (v, name) {\n        if (v instanceof FormGroup) {\n            return v.controls[name] || null;\n        }\n        if (v instanceof FormArray) {\n            return v.at(/** @type {?} */ (name)) || null;\n        }\n        return null;\n    }, control);\n}\n/**\n * @param {?} r\n * @return {?}\n */\nfunction toObservable(r) {\n    return isPromise(r) ? fromPromise(r) : r;\n}\n/**\n * @param {?} validator\n * @return {?}\n */\nfunction coerceToValidator(validator) {\n    return Array.isArray(validator) ? composeValidators(validator) : validator;\n}\n/**\n * @param {?} asyncValidator\n * @return {?}\n */\nfunction coerceToAsyncValidator(asyncValidator) {\n    return Array.isArray(asyncValidator) ? composeAsyncValidators(asyncValidator) : asyncValidator;\n}\n/**\n * \\@whatItDoes This is the base class for {\\@link FormControl}, {\\@link FormGroup}, and\n * {\\@link FormArray}.\n *\n * It provides some of the shared behavior that all controls and groups of controls have, like\n * running validators, calculating status, and resetting state. It also defines the properties\n * that are shared between all sub-classes, like `value`, `valid`, and `dirty`. It shouldn't be\n * instantiated directly.\n *\n * \\@stable\n * @abstract\n */\nexport var AbstractControl = (function () {\n    /**\n     * @param {?} validator\n     * @param {?} asyncValidator\n     */\n    function AbstractControl(validator, asyncValidator) {\n        this.validator = validator;\n        this.asyncValidator = asyncValidator;\n        /** @internal */\n        this._onCollectionChange = function () { };\n        this._pristine = true;\n        this._touched = false;\n        /** @internal */\n        this._onDisabledChange = [];\n    }\n    Object.defineProperty(AbstractControl.prototype, \"value\", {\n        /**\n         * The value of the control.\n         * @return {?}\n         */\n        get: function () { return this._value; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControl.prototype, \"parent\", {\n        /**\n         * The parent control.\n         * @return {?}\n         */\n        get: function () { return this._parent; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControl.prototype, \"status\", {\n        /**\n         * The validation status of the control. There are four possible\n         * validation statuses:\n         *\n         * * **VALID**:  control has passed all validation checks\n         * * **INVALID**: control has failed at least one validation check\n         * * **PENDING**: control is in the midst of conducting a validation check\n         * * **DISABLED**: control is exempt from validation checks\n         *\n         * These statuses are mutually exclusive, so a control cannot be\n         * both valid AND invalid or invalid AND disabled.\n         * @return {?}\n         */\n        get: function () { return this._status; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControl.prototype, \"valid\", {\n        /**\n         * A control is `valid` when its `status === VALID`.\n         *\n         * In order to have this status, the control must have passed all its\n         * validation checks.\n         * @return {?}\n         */\n        get: function () { return this._status === VALID; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControl.prototype, \"invalid\", {\n        /**\n         * A control is `invalid` when its `status === INVALID`.\n         *\n         * In order to have this status, the control must have failed\n         * at least one of its validation checks.\n         * @return {?}\n         */\n        get: function () { return this._status === INVALID; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControl.prototype, \"pending\", {\n        /**\n         * A control is `pending` when its `status === PENDING`.\n         *\n         * In order to have this status, the control must be in the\n         * middle of conducting a validation check.\n         * @return {?}\n         */\n        get: function () { return this._status == PENDING; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControl.prototype, \"disabled\", {\n        /**\n         * A control is `disabled` when its `status === DISABLED`.\n         *\n         * Disabled controls are exempt from validation checks and\n         * are not included in the aggregate value of their ancestor\n         * controls.\n         * @return {?}\n         */\n        get: function () { return this._status === DISABLED; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControl.prototype, \"enabled\", {\n        /**\n         * A control is `enabled` as long as its `status !== DISABLED`.\n         *\n         * In other words, it has a status of `VALID`, `INVALID`, or\n         * `PENDING`.\n         * @return {?}\n         */\n        get: function () { return this._status !== DISABLED; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControl.prototype, \"errors\", {\n        /**\n         * Returns any errors generated by failing validation. If there\n         * are no errors, it will return null.\n         * @return {?}\n         */\n        get: function () { return this._errors; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControl.prototype, \"pristine\", {\n        /**\n         * A control is `pristine` if the user has not yet changed\n         * the value in the UI.\n         *\n         * Note that programmatic changes to a control's value will\n         * *not* mark it dirty.\n         * @return {?}\n         */\n        get: function () { return this._pristine; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControl.prototype, \"dirty\", {\n        /**\n         * A control is `dirty` if the user has changed the value\n         * in the UI.\n         *\n         * Note that programmatic changes to a control's value will\n         * *not* mark it dirty.\n         * @return {?}\n         */\n        get: function () { return !this.pristine; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControl.prototype, \"touched\", {\n        /**\n         * A control is marked `touched` once the user has triggered\n         * a `blur` event on it.\n         * @return {?}\n         */\n        get: function () { return this._touched; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControl.prototype, \"untouched\", {\n        /**\n         * A control is `untouched` if the user has not yet triggered\n         * a `blur` event on it.\n         * @return {?}\n         */\n        get: function () { return !this._touched; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControl.prototype, \"valueChanges\", {\n        /**\n         * Emits an event every time the value of the control changes, in\n         * the UI or programmatically.\n         * @return {?}\n         */\n        get: function () { return this._valueChanges; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControl.prototype, \"statusChanges\", {\n        /**\n         * Emits an event every time the validation status of the control\n         * is re-calculated.\n         * @return {?}\n         */\n        get: function () { return this._statusChanges; },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * Sets the synchronous validators that are active on this control.  Calling\n     * this will overwrite any existing sync validators.\n     * @param {?} newValidator\n     * @return {?}\n     */\n    AbstractControl.prototype.setValidators = function (newValidator) {\n        this.validator = coerceToValidator(newValidator);\n    };\n    /**\n     * Sets the async validators that are active on this control. Calling this\n     * will overwrite any existing async validators.\n     * @param {?} newValidator\n     * @return {?}\n     */\n    AbstractControl.prototype.setAsyncValidators = function (newValidator) {\n        this.asyncValidator = coerceToAsyncValidator(newValidator);\n    };\n    /**\n     * Empties out the sync validator list.\n     * @return {?}\n     */\n    AbstractControl.prototype.clearValidators = function () { this.validator = null; };\n    /**\n     * Empties out the async validator list.\n     * @return {?}\n     */\n    AbstractControl.prototype.clearAsyncValidators = function () { this.asyncValidator = null; };\n    /**\n     * Marks the control as `touched`.\n     *\n     * This will also mark all direct ancestors as `touched` to maintain\n     * the model.\n     * @param {?=} __0\n     * @return {?}\n     */\n    AbstractControl.prototype.markAsTouched = function (_a) {\n        var onlySelf = (_a === void 0 ? {} : _a).onlySelf;\n        this._touched = true;\n        if (this._parent && !onlySelf) {\n            this._parent.markAsTouched({ onlySelf: onlySelf });\n        }\n    };\n    /**\n     * Marks the control as `untouched`.\n     *\n     * If the control has any children, it will also mark all children as `untouched`\n     * to maintain the model, and re-calculate the `touched` status of all parent\n     * controls.\n     * @param {?=} __0\n     * @return {?}\n     */\n    AbstractControl.prototype.markAsUntouched = function (_a) {\n        var onlySelf = (_a === void 0 ? {} : _a).onlySelf;\n        this._touched = false;\n        this._forEachChild(function (control) { control.markAsUntouched({ onlySelf: true }); });\n        if (this._parent && !onlySelf) {\n            this._parent._updateTouched({ onlySelf: onlySelf });\n        }\n    };\n    /**\n     * Marks the control as `dirty`.\n     *\n     * This will also mark all direct ancestors as `dirty` to maintain\n     * the model.\n     * @param {?=} __0\n     * @return {?}\n     */\n    AbstractControl.prototype.markAsDirty = function (_a) {\n        var onlySelf = (_a === void 0 ? {} : _a).onlySelf;\n        this._pristine = false;\n        if (this._parent && !onlySelf) {\n            this._parent.markAsDirty({ onlySelf: onlySelf });\n        }\n    };\n    /**\n     * Marks the control as `pristine`.\n     *\n     * If the control has any children, it will also mark all children as `pristine`\n     * to maintain the model, and re-calculate the `pristine` status of all parent\n     * controls.\n     * @param {?=} __0\n     * @return {?}\n     */\n    AbstractControl.prototype.markAsPristine = function (_a) {\n        var onlySelf = (_a === void 0 ? {} : _a).onlySelf;\n        this._pristine = true;\n        this._forEachChild(function (control) { control.markAsPristine({ onlySelf: true }); });\n        if (this._parent && !onlySelf) {\n            this._parent._updatePristine({ onlySelf: onlySelf });\n        }\n    };\n    /**\n     * Marks the control as `pending`.\n     * @param {?=} __0\n     * @return {?}\n     */\n    AbstractControl.prototype.markAsPending = function (_a) {\n        var onlySelf = (_a === void 0 ? {} : _a).onlySelf;\n        this._status = PENDING;\n        if (this._parent && !onlySelf) {\n            this._parent.markAsPending({ onlySelf: onlySelf });\n        }\n    };\n    /**\n     * Disables the control. This means the control will be exempt from validation checks and\n     * excluded from the aggregate value of any parent. Its status is `DISABLED`.\n     *\n     * If the control has children, all children will be disabled to maintain the model.\n     * @param {?=} __0\n     * @return {?}\n     */\n    AbstractControl.prototype.disable = function (_a) {\n        var _b = _a === void 0 ? {} : _a, onlySelf = _b.onlySelf, emitEvent = _b.emitEvent;\n        this._status = DISABLED;\n        this._errors = null;\n        this._forEachChild(function (control) { control.disable({ onlySelf: true }); });\n        this._updateValue();\n        if (emitEvent !== false) {\n            this._valueChanges.emit(this._value);\n            this._statusChanges.emit(this._status);\n        }\n        this._updateAncestors(onlySelf);\n        this._onDisabledChange.forEach(function (changeFn) { return changeFn(true); });\n    };\n    /**\n     * Enables the control. This means the control will be included in validation checks and\n     * the aggregate value of its parent. Its status is re-calculated based on its value and\n     * its validators.\n     *\n     * If the control has children, all children will be enabled.\n     * @param {?=} __0\n     * @return {?}\n     */\n    AbstractControl.prototype.enable = function (_a) {\n        var _b = _a === void 0 ? {} : _a, onlySelf = _b.onlySelf, emitEvent = _b.emitEvent;\n        this._status = VALID;\n        this._forEachChild(function (control) { control.enable({ onlySelf: true }); });\n        this.updateValueAndValidity({ onlySelf: true, emitEvent: emitEvent });\n        this._updateAncestors(onlySelf);\n        this._onDisabledChange.forEach(function (changeFn) { return changeFn(false); });\n    };\n    /**\n     * @param {?} onlySelf\n     * @return {?}\n     */\n    AbstractControl.prototype._updateAncestors = function (onlySelf) {\n        if (this._parent && !onlySelf) {\n            this._parent.updateValueAndValidity();\n            this._parent._updatePristine();\n            this._parent._updateTouched();\n        }\n    };\n    /**\n     * @param {?} parent\n     * @return {?}\n     */\n    AbstractControl.prototype.setParent = function (parent) { this._parent = parent; };\n    /**\n     * Sets the value of the control. Abstract method (implemented in sub-classes).\n     * @abstract\n     * @param {?} value\n     * @param {?=} options\n     * @return {?}\n     */\n    AbstractControl.prototype.setValue = function (value, options) { };\n    /**\n     * Patches the value of the control. Abstract method (implemented in sub-classes).\n     * @abstract\n     * @param {?} value\n     * @param {?=} options\n     * @return {?}\n     */\n    AbstractControl.prototype.patchValue = function (value, options) { };\n    /**\n     * Resets the control. Abstract method (implemented in sub-classes).\n     * @abstract\n     * @param {?=} value\n     * @param {?=} options\n     * @return {?}\n     */\n    AbstractControl.prototype.reset = function (value, options) { };\n    /**\n     * Re-calculates the value and validation status of the control.\n     *\n     * By default, it will also update the value and validity of its ancestors.\n     * @param {?=} __0\n     * @return {?}\n     */\n    AbstractControl.prototype.updateValueAndValidity = function (_a) {\n        var _b = _a === void 0 ? {} : _a, onlySelf = _b.onlySelf, emitEvent = _b.emitEvent;\n        this._setInitialStatus();\n        this._updateValue();\n        if (this.enabled) {\n            this._errors = this._runValidator();\n            this._status = this._calculateStatus();\n            if (this._status === VALID || this._status === PENDING) {\n                this._runAsyncValidator(emitEvent);\n            }\n        }\n        if (emitEvent !== false) {\n            this._valueChanges.emit(this._value);\n            this._statusChanges.emit(this._status);\n        }\n        if (this._parent && !onlySelf) {\n            this._parent.updateValueAndValidity({ onlySelf: onlySelf, emitEvent: emitEvent });\n        }\n    };\n    /**\n     * \\@internal\n     * @param {?=} __0\n     * @return {?}\n     */\n    AbstractControl.prototype._updateTreeValidity = function (_a) {\n        var emitEvent = (_a === void 0 ? { emitEvent: true } : _a).emitEvent;\n        this._forEachChild(function (ctrl) { return ctrl._updateTreeValidity({ emitEvent: emitEvent }); });\n        this.updateValueAndValidity({ onlySelf: true, emitEvent: emitEvent });\n    };\n    /**\n     * @return {?}\n     */\n    AbstractControl.prototype._setInitialStatus = function () { this._status = this._allControlsDisabled() ? DISABLED : VALID; };\n    /**\n     * @return {?}\n     */\n    AbstractControl.prototype._runValidator = function () {\n        return this.validator ? this.validator(this) : null;\n    };\n    /**\n     * @param {?} emitEvent\n     * @return {?}\n     */\n    AbstractControl.prototype._runAsyncValidator = function (emitEvent) {\n        var _this = this;\n        if (this.asyncValidator) {\n            this._status = PENDING;\n            this._cancelExistingSubscription();\n            var /** @type {?} */ obs = toObservable(this.asyncValidator(this));\n            if (!(isObservable(obs))) {\n                throw new Error(\"expected the following validator to return Promise or Observable: \" + this.asyncValidator + \". If you are using FormBuilder; did you forget to brace your validators in an array?\");\n            }\n            this._asyncValidationSubscription =\n                obs.subscribe({ next: function (res) { return _this.setErrors(res, { emitEvent: emitEvent }); } });\n        }\n    };\n    /**\n     * @return {?}\n     */\n    AbstractControl.prototype._cancelExistingSubscription = function () {\n        if (this._asyncValidationSubscription) {\n            this._asyncValidationSubscription.unsubscribe();\n        }\n    };\n    /**\n     * Sets errors on a form control.\n     *\n     * This is used when validations are run manually by the user, rather than automatically.\n     *\n     * Calling `setErrors` will also update the validity of the parent control.\n     *\n     * ### Example\n     *\n     * ```\n     * const login = new FormControl(\"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.setValue(\"someOtherLogin\");\n     *\n     * expect(login.valid).toEqual(true);\n     * ```\n     * @param {?} errors\n     * @param {?=} __1\n     * @return {?}\n     */\n    AbstractControl.prototype.setErrors = function (errors, _a) {\n        var emitEvent = (_a === void 0 ? {} : _a).emitEvent;\n        this._errors = errors;\n        this._updateControlsErrors(emitEvent !== false);\n    };\n    /**\n     * Retrieves a child control given the control's name or path.\n     *\n     * Paths can be passed in as an array or a string delimited by a dot.\n     *\n     * To get a control nested within a `person` sub-group:\n     *\n     * * `this.form.get('person.name');`\n     *\n     * -OR-\n     *\n     * * `this.form.get(['person', 'name']);`\n     * @param {?} path\n     * @return {?}\n     */\n    AbstractControl.prototype.get = function (path) { return _find(this, path, '.'); };\n    /**\n     * Returns true if the control with the given path has the error specified. Otherwise\n     * returns null or undefined.\n     *\n     * If no path is given, it checks for the error on the present control.\n     * @param {?} errorCode\n     * @param {?=} path\n     * @return {?}\n     */\n    AbstractControl.prototype.getError = function (errorCode, path) {\n        if (path === void 0) { path = null; }\n        var /** @type {?} */ control = path ? this.get(path) : this;\n        return control && control._errors ? control._errors[errorCode] : null;\n    };\n    /**\n     * Returns true if the control with the given path has the error specified. Otherwise\n     * returns false.\n     *\n     * If no path is given, it checks for the error on the present control.\n     * @param {?} errorCode\n     * @param {?=} path\n     * @return {?}\n     */\n    AbstractControl.prototype.hasError = function (errorCode, path) {\n        if (path === void 0) { path = null; }\n        return !!this.getError(errorCode, path);\n    };\n    Object.defineProperty(AbstractControl.prototype, \"root\", {\n        /**\n         * Retrieves the top-level ancestor of this control.\n         * @return {?}\n         */\n        get: function () {\n            var /** @type {?} */ x = this;\n            while (x._parent) {\n                x = x._parent;\n            }\n            return x;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * \\@internal\n     * @param {?} emitEvent\n     * @return {?}\n     */\n    AbstractControl.prototype._updateControlsErrors = function (emitEvent) {\n        this._status = this._calculateStatus();\n        if (emitEvent) {\n            this._statusChanges.emit(this._status);\n        }\n        if (this._parent) {\n            this._parent._updateControlsErrors(emitEvent);\n        }\n    };\n    /**\n     * \\@internal\n     * @return {?}\n     */\n    AbstractControl.prototype._initObservables = function () {\n        this._valueChanges = new EventEmitter();\n        this._statusChanges = new EventEmitter();\n    };\n    /**\n     * @return {?}\n     */\n    AbstractControl.prototype._calculateStatus = function () {\n        if (this._allControlsDisabled())\n            return DISABLED;\n        if (this._errors)\n            return INVALID;\n        if (this._anyControlsHaveStatus(PENDING))\n            return PENDING;\n        if (this._anyControlsHaveStatus(INVALID))\n            return INVALID;\n        return VALID;\n    };\n    /**\n     * \\@internal\n     * @abstract\n     * @return {?}\n     */\n    AbstractControl.prototype._updateValue = function () { };\n    /**\n     * \\@internal\n     * @abstract\n     * @param {?} cb\n     * @return {?}\n     */\n    AbstractControl.prototype._forEachChild = function (cb) { };\n    /**\n     * \\@internal\n     * @abstract\n     * @param {?} condition\n     * @return {?}\n     */\n    AbstractControl.prototype._anyControls = function (condition) { };\n    /**\n     * \\@internal\n     * @abstract\n     * @return {?}\n     */\n    AbstractControl.prototype._allControlsDisabled = function () { };\n    /**\n     * \\@internal\n     * @param {?} status\n     * @return {?}\n     */\n    AbstractControl.prototype._anyControlsHaveStatus = function (status) {\n        return this._anyControls(function (control) { return control.status === status; });\n    };\n    /**\n     * \\@internal\n     * @return {?}\n     */\n    AbstractControl.prototype._anyControlsDirty = function () {\n        return this._anyControls(function (control) { return control.dirty; });\n    };\n    /**\n     * \\@internal\n     * @return {?}\n     */\n    AbstractControl.prototype._anyControlsTouched = function () {\n        return this._anyControls(function (control) { return control.touched; });\n    };\n    /**\n     * \\@internal\n     * @param {?=} __0\n     * @return {?}\n     */\n    AbstractControl.prototype._updatePristine = function (_a) {\n        var onlySelf = (_a === void 0 ? {} : _a).onlySelf;\n        this._pristine = !this._anyControlsDirty();\n        if (this._parent && !onlySelf) {\n            this._parent._updatePristine({ onlySelf: onlySelf });\n        }\n    };\n    /**\n     * \\@internal\n     * @param {?=} __0\n     * @return {?}\n     */\n    AbstractControl.prototype._updateTouched = function (_a) {\n        var onlySelf = (_a === void 0 ? {} : _a).onlySelf;\n        this._touched = this._anyControlsTouched();\n        if (this._parent && !onlySelf) {\n            this._parent._updateTouched({ onlySelf: onlySelf });\n        }\n    };\n    /**\n     * \\@internal\n     * @param {?} formState\n     * @return {?}\n     */\n    AbstractControl.prototype._isBoxedValue = function (formState) {\n        return typeof formState === 'object' && formState !== null &&\n            Object.keys(formState).length === 2 && 'value' in formState && 'disabled' in formState;\n    };\n    /**\n     * \\@internal\n     * @param {?} fn\n     * @return {?}\n     */\n    AbstractControl.prototype._registerOnCollectionChange = function (fn) { this._onCollectionChange = fn; };\n    return AbstractControl;\n}());\nfunction AbstractControl_tsickle_Closure_declarations() {\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    AbstractControl.prototype._value;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    AbstractControl.prototype._onCollectionChange;\n    /** @type {?} */\n    AbstractControl.prototype._valueChanges;\n    /** @type {?} */\n    AbstractControl.prototype._statusChanges;\n    /** @type {?} */\n    AbstractControl.prototype._status;\n    /** @type {?} */\n    AbstractControl.prototype._errors;\n    /** @type {?} */\n    AbstractControl.prototype._pristine;\n    /** @type {?} */\n    AbstractControl.prototype._touched;\n    /** @type {?} */\n    AbstractControl.prototype._parent;\n    /** @type {?} */\n    AbstractControl.prototype._asyncValidationSubscription;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    AbstractControl.prototype._onDisabledChange;\n    /** @type {?} */\n    AbstractControl.prototype.validator;\n    /** @type {?} */\n    AbstractControl.prototype.asyncValidator;\n}\n/**\n * \\@whatItDoes Tracks the value and validation status of an individual form control.\n *\n * It is one of the three fundamental building blocks of Angular forms, along with\n * {\\@link FormGroup} and {\\@link FormArray}.\n *\n * \\@howToUse\n *\n * When instantiating a {\\@link FormControl}, you can pass in an initial value as the\n * first argument. Example:\n *\n * ```ts\n * const ctrl = new FormControl('some value');\n * console.log(ctrl.value);     // 'some value'\n * ```\n *\n * You can also initialize the control with a form state object on instantiation,\n * which includes both the value and whether or not the control is disabled.\n * You can't use the value key without the disabled key; both are required\n * to use this way of initialization.\n *\n * ```ts\n * const ctrl = new FormControl({value: 'n/a', disabled: true});\n * console.log(ctrl.value);     // 'n/a'\n * console.log(ctrl.status);   // 'DISABLED'\n * ```\n *\n * To include a sync validator (or an array of sync validators) with the control,\n * pass it in as the second argument. Async validators are also supported, but\n * have to be passed in separately as the third arg.\n *\n * ```ts\n * const ctrl = new FormControl('', Validators.required);\n * console.log(ctrl.value);     // ''\n * console.log(ctrl.status);   // 'INVALID'\n * ```\n *\n * See its superclass, {\\@link AbstractControl}, for more properties and methods.\n *\n * * **npm package**: `\\@angular/forms`\n *\n * \\@stable\n */\nexport var FormControl = (function (_super) {\n    __extends(FormControl, _super);\n    /**\n     * @param {?=} formState\n     * @param {?=} validator\n     * @param {?=} asyncValidator\n     */\n    function FormControl(formState, validator, asyncValidator) {\n        if (formState === void 0) { formState = null; }\n        if (validator === void 0) { validator = null; }\n        if (asyncValidator === void 0) { asyncValidator = null; }\n        _super.call(this, coerceToValidator(validator), coerceToAsyncValidator(asyncValidator));\n        /** @internal */\n        this._onChange = [];\n        this._applyFormState(formState);\n        this.updateValueAndValidity({ onlySelf: true, emitEvent: false });\n        this._initObservables();\n    }\n    /**\n     * Set the value of the form control to `value`.\n     *\n     * If `onlySelf` is `true`, this change will only affect the validation of this `FormControl`\n     * and not its parent component. This defaults to false.\n     *\n     * If `emitEvent` is `true`, this\n     * change will cause a `valueChanges` event on the `FormControl` to be emitted. This defaults\n     * to true (as it falls through to `updateValueAndValidity`).\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     * If `emitViewToModelChange` is `true`, an ngModelChange event will be fired to update the\n     * model.  This is the default behavior if `emitViewToModelChange` is not specified.\n     * @param {?} value\n     * @param {?=} __1\n     * @return {?}\n     */\n    FormControl.prototype.setValue = function (value, _a) {\n        var _this = this;\n        var _b = _a === void 0 ? {} : _a, onlySelf = _b.onlySelf, emitEvent = _b.emitEvent, emitModelToViewChange = _b.emitModelToViewChange, emitViewToModelChange = _b.emitViewToModelChange;\n        this._value = value;\n        if (this._onChange.length && emitModelToViewChange !== false) {\n            this._onChange.forEach(function (changeFn) { return changeFn(_this._value, emitViewToModelChange !== false); });\n        }\n        this.updateValueAndValidity({ onlySelf: onlySelf, emitEvent: emitEvent });\n    };\n    /**\n     * Patches the value of a control.\n     *\n     * This function is functionally the same as {\\@link FormControl.setValue} at this level.\n     * It exists for symmetry with {\\@link FormGroup.patchValue} on `FormGroups` and `FormArrays`,\n     * where it does behave differently.\n     * @param {?} value\n     * @param {?=} options\n     * @return {?}\n     */\n    FormControl.prototype.patchValue = function (value, options) {\n        if (options === void 0) { options = {}; }\n        this.setValue(value, options);\n    };\n    /**\n     * Resets the form control. This means by default:\n     *\n     * * it is marked as `pristine`\n     * * it is marked as `untouched`\n     * * value is set to null\n     *\n     * You can also reset to a specific form state by passing through a standalone\n     * value or a form state object that contains both a value and a disabled state\n     * (these are the only two properties that cannot be calculated).\n     *\n     * Ex:\n     *\n     * ```ts\n     * this.control.reset('Nancy');\n     *\n     * console.log(this.control.value);  // 'Nancy'\n     * ```\n     *\n     * OR\n     *\n     * ```\n     * this.control.reset({value: 'Nancy', disabled: true});\n     *\n     * console.log(this.control.value);  // 'Nancy'\n     * console.log(this.control.status);  // 'DISABLED'\n     * ```\n     * @param {?=} formState\n     * @param {?=} __1\n     * @return {?}\n     */\n    FormControl.prototype.reset = function (formState, _a) {\n        if (formState === void 0) { formState = null; }\n        var _b = _a === void 0 ? {} : _a, onlySelf = _b.onlySelf, emitEvent = _b.emitEvent;\n        this._applyFormState(formState);\n        this.markAsPristine({ onlySelf: onlySelf });\n        this.markAsUntouched({ onlySelf: onlySelf });\n        this.setValue(this._value, { onlySelf: onlySelf, emitEvent: emitEvent });\n    };\n    /**\n     * \\@internal\n     * @return {?}\n     */\n    FormControl.prototype._updateValue = function () { };\n    /**\n     * \\@internal\n     * @param {?} condition\n     * @return {?}\n     */\n    FormControl.prototype._anyControls = function (condition) { return false; };\n    /**\n     * \\@internal\n     * @return {?}\n     */\n    FormControl.prototype._allControlsDisabled = function () { return this.disabled; };\n    /**\n     * Register a listener for change events.\n     * @param {?} fn\n     * @return {?}\n     */\n    FormControl.prototype.registerOnChange = function (fn) { this._onChange.push(fn); };\n    /**\n     * \\@internal\n     * @return {?}\n     */\n    FormControl.prototype._clearChangeFns = function () {\n        this._onChange = [];\n        this._onDisabledChange = [];\n        this._onCollectionChange = function () { };\n    };\n    /**\n     * Register a listener for disabled events.\n     * @param {?} fn\n     * @return {?}\n     */\n    FormControl.prototype.registerOnDisabledChange = function (fn) {\n        this._onDisabledChange.push(fn);\n    };\n    /**\n     * \\@internal\n     * @param {?} cb\n     * @return {?}\n     */\n    FormControl.prototype._forEachChild = function (cb) { };\n    /**\n     * @param {?} formState\n     * @return {?}\n     */\n    FormControl.prototype._applyFormState = function (formState) {\n        if (this._isBoxedValue(formState)) {\n            this._value = formState.value;\n            formState.disabled ? this.disable({ onlySelf: true, emitEvent: false }) :\n                this.enable({ onlySelf: true, emitEvent: false });\n        }\n        else {\n            this._value = formState;\n        }\n    };\n    return FormControl;\n}(AbstractControl));\nfunction FormControl_tsickle_Closure_declarations() {\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    FormControl.prototype._onChange;\n}\n/**\n * \\@whatItDoes Tracks the value and validity state of a group of {\\@link FormControl}\n * instances.\n *\n * A `FormGroup` aggregates the values of each child {\\@link FormControl} into one object,\n * with each control name as the key.  It calculates its status by reducing the statuses\n * of its children. For example, if one of the controls in a group is invalid, the entire\n * group becomes invalid.\n *\n * `FormGroup` is one of the three fundamental building blocks used to define forms in Angular,\n * along with {\\@link FormControl} and {\\@link FormArray}.\n *\n * \\@howToUse\n *\n * When instantiating a {\\@link FormGroup}, pass in a collection of child controls as the first\n * argument. The key for each child will be the name under which it is registered.\n *\n * ### Example\n *\n * ```\n * const form = new FormGroup({\n *   first: new FormControl('Nancy', Validators.minLength(2)),\n *   last: new FormControl('Drew'),\n * });\n *\n * console.log(form.value);   // {first: 'Nancy', last; 'Drew'}\n * console.log(form.status);  // 'VALID'\n * ```\n *\n * You can also include group-level validators as the second arg, or group-level async\n * validators as the third arg. These come in handy when you want to perform validation\n * that considers the value of more than one child control.\n *\n * ### Example\n *\n * ```\n * const form = new FormGroup({\n *   password: new FormControl('', Validators.minLength(2)),\n *   passwordConfirm: new FormControl('', Validators.minLength(2)),\n * }, passwordMatchValidator);\n *\n *\n * function passwordMatchValidator(g: FormGroup) {\n *    return g.get('password').value === g.get('passwordConfirm').value\n *       ? null : {'mismatch': true};\n * }\n * ```\n *\n * * **npm package**: `\\@angular/forms`\n *\n * \\@stable\n */\nexport var FormGroup = (function (_super) {\n    __extends(FormGroup, _super);\n    /**\n     * @param {?} controls\n     * @param {?=} validator\n     * @param {?=} asyncValidator\n     */\n    function FormGroup(controls, validator, asyncValidator) {\n        if (validator === void 0) { validator = null; }\n        if (asyncValidator === void 0) { asyncValidator = null; }\n        _super.call(this, validator, asyncValidator);\n        this.controls = controls;\n        this._initObservables();\n        this._setUpControls();\n        this.updateValueAndValidity({ onlySelf: true, emitEvent: false });\n    }\n    /**\n     * Registers a control with the group's list of controls.\n     *\n     * This method does not update value or validity of the control, so for\n     * most cases you'll want to use {\\@link FormGroup.addControl} instead.\n     * @param {?} name\n     * @param {?} control\n     * @return {?}\n     */\n    FormGroup.prototype.registerControl = function (name, control) {\n        if (this.controls[name])\n            return this.controls[name];\n        this.controls[name] = control;\n        control.setParent(this);\n        control._registerOnCollectionChange(this._onCollectionChange);\n        return control;\n    };\n    /**\n     * Add a control to this group.\n     * @param {?} name\n     * @param {?} control\n     * @return {?}\n     */\n    FormGroup.prototype.addControl = function (name, control) {\n        this.registerControl(name, control);\n        this.updateValueAndValidity();\n        this._onCollectionChange();\n    };\n    /**\n     * Remove a control from this group.\n     * @param {?} name\n     * @return {?}\n     */\n    FormGroup.prototype.removeControl = function (name) {\n        if (this.controls[name])\n            this.controls[name]._registerOnCollectionChange(function () { });\n        delete (this.controls[name]);\n        this.updateValueAndValidity();\n        this._onCollectionChange();\n    };\n    /**\n     * Replace an existing control.\n     * @param {?} name\n     * @param {?} control\n     * @return {?}\n     */\n    FormGroup.prototype.setControl = function (name, control) {\n        if (this.controls[name])\n            this.controls[name]._registerOnCollectionChange(function () { });\n        delete (this.controls[name]);\n        if (control)\n            this.registerControl(name, control);\n        this.updateValueAndValidity();\n        this._onCollectionChange();\n    };\n    /**\n     * Check whether there is an enabled control with the given name in the group.\n     *\n     * It will return false for disabled controls. If you'd like to check for\n     * existence in the group only, use {\\@link AbstractControl.get} instead.\n     * @param {?} controlName\n     * @return {?}\n     */\n    FormGroup.prototype.contains = function (controlName) {\n        return this.controls.hasOwnProperty(controlName) && this.controls[controlName].enabled;\n    };\n    /**\n     *  Sets the value of the {\\@link FormGroup}. It accepts an object that matches\n     *  the structure of the group, with control names as keys.\n     *\n     * This method performs strict checks, so it will throw an error if you try\n     * to set the value of a control that doesn't exist or if you exclude the\n     * value of a control.\n     *\n     *  ### Example\n     *\n     *  ```\n     *  const form = new FormGroup({\n     *     first: new FormControl(),\n     *     last: new FormControl()\n     *  });\n     *  console.log(form.value);   // {first: null, last: null}\n     *\n     *  form.setValue({first: 'Nancy', last: 'Drew'});\n     *  console.log(form.value);   // {first: 'Nancy', last: 'Drew'}\n     *\n     *  ```\n     * @param {?} value\n     * @param {?=} __1\n     * @return {?}\n     */\n    FormGroup.prototype.setValue = function (value, _a) {\n        var _this = this;\n        var _b = _a === void 0 ? {} : _a, onlySelf = _b.onlySelf, emitEvent = _b.emitEvent;\n        this._checkAllValuesPresent(value);\n        Object.keys(value).forEach(function (name) {\n            _this._throwIfControlMissing(name);\n            _this.controls[name].setValue(value[name], { onlySelf: true, emitEvent: emitEvent });\n        });\n        this.updateValueAndValidity({ onlySelf: onlySelf, emitEvent: emitEvent });\n    };\n    /**\n     *  Patches the value of the {\\@link FormGroup}. It accepts an object with control\n     *  names as keys, and will do its best to match the values to the correct controls\n     *  in the group.\n     *\n     *  It accepts both super-sets and sub-sets of the group without throwing an error.\n     *\n     *  ### Example\n     *\n     *  ```\n     *  const form = new FormGroup({\n     *     first: new FormControl(),\n     *     last: new FormControl()\n     *  });\n     *  console.log(form.value);   // {first: null, last: null}\n     *\n     *  form.patchValue({first: 'Nancy'});\n     *  console.log(form.value);   // {first: 'Nancy', last: null}\n     *\n     *  ```\n     * @param {?} value\n     * @param {?=} __1\n     * @return {?}\n     */\n    FormGroup.prototype.patchValue = function (value, _a) {\n        var _this = this;\n        var _b = _a === void 0 ? {} : _a, onlySelf = _b.onlySelf, emitEvent = _b.emitEvent;\n        Object.keys(value).forEach(function (name) {\n            if (_this.controls[name]) {\n                _this.controls[name].patchValue(value[name], { onlySelf: true, emitEvent: emitEvent });\n            }\n        });\n        this.updateValueAndValidity({ onlySelf: onlySelf, emitEvent: emitEvent });\n    };\n    /**\n     * Resets the {\\@link FormGroup}. This means by default:\n     *\n     * * The group and all descendants are marked `pristine`\n     * * The group and all descendants are marked `untouched`\n     * * The value of all descendants will be null or null maps\n     *\n     * You can also reset to a specific form state by passing in a map of states\n     * that matches the structure of your form, with control names as keys. The state\n     * can be a standalone value or a form state object with both a value and a disabled\n     * status.\n     *\n     * ### Example\n     *\n     * ```ts\n     * this.form.reset({first: 'name', last: 'last name'});\n     *\n     * console.log(this.form.value);  // {first: 'name', last: 'last name'}\n     * ```\n     *\n     * - OR -\n     *\n     * ```\n     * this.form.reset({\n     *   first: {value: 'name', disabled: true},\n     *   last: 'last'\n     * });\n     *\n     * console.log(this.form.value);  // {first: 'name', last: 'last name'}\n     * console.log(this.form.get('first').status);  // 'DISABLED'\n     * ```\n     * @param {?=} value\n     * @param {?=} __1\n     * @return {?}\n     */\n    FormGroup.prototype.reset = function (value, _a) {\n        if (value === void 0) { value = {}; }\n        var _b = _a === void 0 ? {} : _a, onlySelf = _b.onlySelf, emitEvent = _b.emitEvent;\n        this._forEachChild(function (control, name) {\n            control.reset(value[name], { onlySelf: true, emitEvent: emitEvent });\n        });\n        this.updateValueAndValidity({ onlySelf: onlySelf, emitEvent: emitEvent });\n        this._updatePristine({ onlySelf: onlySelf });\n        this._updateTouched({ onlySelf: onlySelf });\n    };\n    /**\n     * The aggregate value of the {\\@link FormGroup}, including any disabled controls.\n     *\n     * If you'd like to include all values regardless of disabled status, use this method.\n     * Otherwise, the `value` property is the best way to get the value of the group.\n     * @return {?}\n     */\n    FormGroup.prototype.getRawValue = function () {\n        return this._reduceChildren({}, function (acc, control, name) {\n            acc[name] = control instanceof FormControl ? control.value : ((control)).getRawValue();\n            return acc;\n        });\n    };\n    /**\n     * \\@internal\n     * @param {?} name\n     * @return {?}\n     */\n    FormGroup.prototype._throwIfControlMissing = function (name) {\n        if (!Object.keys(this.controls).length) {\n            throw new Error(\"\\n        There are no form controls registered with this group yet.  If you're using ngModel,\\n        you may want to check next tick (e.g. use setTimeout).\\n      \");\n        }\n        if (!this.controls[name]) {\n            throw new Error(\"Cannot find form control with name: \" + name + \".\");\n        }\n    };\n    /**\n     * \\@internal\n     * @param {?} cb\n     * @return {?}\n     */\n    FormGroup.prototype._forEachChild = function (cb) {\n        var _this = this;\n        Object.keys(this.controls).forEach(function (k) { return cb(_this.controls[k], k); });\n    };\n    /**\n     * \\@internal\n     * @return {?}\n     */\n    FormGroup.prototype._setUpControls = function () {\n        var _this = this;\n        this._forEachChild(function (control) {\n            control.setParent(_this);\n            control._registerOnCollectionChange(_this._onCollectionChange);\n        });\n    };\n    /**\n     * \\@internal\n     * @return {?}\n     */\n    FormGroup.prototype._updateValue = function () { this._value = this._reduceValue(); };\n    /**\n     * \\@internal\n     * @param {?} condition\n     * @return {?}\n     */\n    FormGroup.prototype._anyControls = function (condition) {\n        var _this = this;\n        var /** @type {?} */ res = false;\n        this._forEachChild(function (control, name) {\n            res = res || (_this.contains(name) && condition(control));\n        });\n        return res;\n    };\n    /**\n     * \\@internal\n     * @return {?}\n     */\n    FormGroup.prototype._reduceValue = function () {\n        var _this = this;\n        return this._reduceChildren({}, function (acc, control, name) {\n            if (control.enabled || _this.disabled) {\n                acc[name] = control.value;\n            }\n            return acc;\n        });\n    };\n    /**\n     * \\@internal\n     * @param {?} initValue\n     * @param {?} fn\n     * @return {?}\n     */\n    FormGroup.prototype._reduceChildren = function (initValue, fn) {\n        var /** @type {?} */ res = initValue;\n        this._forEachChild(function (control, name) { res = fn(res, control, name); });\n        return res;\n    };\n    /**\n     * \\@internal\n     * @return {?}\n     */\n    FormGroup.prototype._allControlsDisabled = function () {\n        for (var _i = 0, _a = Object.keys(this.controls); _i < _a.length; _i++) {\n            var controlName = _a[_i];\n            if (this.controls[controlName].enabled) {\n                return false;\n            }\n        }\n        return Object.keys(this.controls).length > 0 || this.disabled;\n    };\n    /**\n     * \\@internal\n     * @param {?} value\n     * @return {?}\n     */\n    FormGroup.prototype._checkAllValuesPresent = function (value) {\n        this._forEachChild(function (control, name) {\n            if (value[name] === undefined) {\n                throw new Error(\"Must supply a value for form control with name: '\" + name + \"'.\");\n            }\n        });\n    };\n    return FormGroup;\n}(AbstractControl));\nfunction FormGroup_tsickle_Closure_declarations() {\n    /** @type {?} */\n    FormGroup.prototype.controls;\n}\n/**\n * \\@whatItDoes Tracks the value and validity state of an array of {\\@link FormControl},\n * {\\@link FormGroup} or {\\@link FormArray} instances.\n *\n * A `FormArray` aggregates the values of each child {\\@link FormControl} into an array.\n * It calculates its status by reducing the statuses of its children. For example, if one of\n * the controls in a `FormArray` is invalid, the entire array becomes invalid.\n *\n * `FormArray` is one of the three fundamental building blocks used to define forms in Angular,\n * along with {\\@link FormControl} and {\\@link FormGroup}.\n *\n * \\@howToUse\n *\n * When instantiating a {\\@link FormArray}, pass in an array of child controls as the first\n * argument.\n *\n * ### Example\n *\n * ```\n * const arr = new FormArray([\n *   new FormControl('Nancy', Validators.minLength(2)),\n *   new FormControl('Drew'),\n * ]);\n *\n * console.log(arr.value);   // ['Nancy', 'Drew']\n * console.log(arr.status);  // 'VALID'\n * ```\n *\n * You can also include array-level validators as the second arg, or array-level async\n * validators as the third arg. These come in handy when you want to perform validation\n * that considers the value of more than one child control.\n *\n * ### Adding or removing controls\n *\n * To change the controls in the array, use the `push`, `insert`, or `removeAt` methods\n * in `FormArray` 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 `FormArray` directly, as that will result in strange and unexpected behavior such\n * as broken change detection.\n *\n * * **npm package**: `\\@angular/forms`\n *\n * \\@stable\n */\nexport var FormArray = (function (_super) {\n    __extends(FormArray, _super);\n    /**\n     * @param {?} controls\n     * @param {?=} validator\n     * @param {?=} asyncValidator\n     */\n    function FormArray(controls, validator, asyncValidator) {\n        if (validator === void 0) { validator = null; }\n        if (asyncValidator === void 0) { asyncValidator = null; }\n        _super.call(this, validator, asyncValidator);\n        this.controls = controls;\n        this._initObservables();\n        this._setUpControls();\n        this.updateValueAndValidity({ onlySelf: true, emitEvent: false });\n    }\n    /**\n     * Get the {\\@link AbstractControl} at the given `index` in the array.\n     * @param {?} index\n     * @return {?}\n     */\n    FormArray.prototype.at = function (index) { return this.controls[index]; };\n    /**\n     * Insert a new {\\@link AbstractControl} at the end of the array.\n     * @param {?} control\n     * @return {?}\n     */\n    FormArray.prototype.push = function (control) {\n        this.controls.push(control);\n        this._registerControl(control);\n        this.updateValueAndValidity();\n        this._onCollectionChange();\n    };\n    /**\n     * Insert a new {\\@link AbstractControl} at the given `index` in the array.\n     * @param {?} index\n     * @param {?} control\n     * @return {?}\n     */\n    FormArray.prototype.insert = function (index, control) {\n        this.controls.splice(index, 0, control);\n        this._registerControl(control);\n        this.updateValueAndValidity();\n        this._onCollectionChange();\n    };\n    /**\n     * Remove the control at the given `index` in the array.\n     * @param {?} index\n     * @return {?}\n     */\n    FormArray.prototype.removeAt = function (index) {\n        if (this.controls[index])\n            this.controls[index]._registerOnCollectionChange(function () { });\n        this.controls.splice(index, 1);\n        this.updateValueAndValidity();\n        this._onCollectionChange();\n    };\n    /**\n     * Replace an existing control.\n     * @param {?} index\n     * @param {?} control\n     * @return {?}\n     */\n    FormArray.prototype.setControl = function (index, control) {\n        if (this.controls[index])\n            this.controls[index]._registerOnCollectionChange(function () { });\n        this.controls.splice(index, 1);\n        if (control) {\n            this.controls.splice(index, 0, control);\n            this._registerControl(control);\n        }\n        this.updateValueAndValidity();\n        this._onCollectionChange();\n    };\n    Object.defineProperty(FormArray.prototype, \"length\", {\n        /**\n         * Length of the control array.\n         * @return {?}\n         */\n        get: function () { return this.controls.length; },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     *  Sets the value of the {\\@link FormArray}. It accepts an array that matches\n     *  the structure of the control.\n     *\n     * This method performs strict checks, so it will throw an error if you try\n     * to set the value of a control that doesn't exist or if you exclude the\n     * value of a control.\n     *\n     *  ### Example\n     *\n     *  ```\n     *  const arr = new FormArray([\n     *     new FormControl(),\n     *     new FormControl()\n     *  ]);\n     *  console.log(arr.value);   // [null, null]\n     *\n     *  arr.setValue(['Nancy', 'Drew']);\n     *  console.log(arr.value);   // ['Nancy', 'Drew']\n     *  ```\n     * @param {?} value\n     * @param {?=} __1\n     * @return {?}\n     */\n    FormArray.prototype.setValue = function (value, _a) {\n        var _this = this;\n        var _b = _a === void 0 ? {} : _a, onlySelf = _b.onlySelf, emitEvent = _b.emitEvent;\n        this._checkAllValuesPresent(value);\n        value.forEach(function (newValue, index) {\n            _this._throwIfControlMissing(index);\n            _this.at(index).setValue(newValue, { onlySelf: true, emitEvent: emitEvent });\n        });\n        this.updateValueAndValidity({ onlySelf: onlySelf, emitEvent: emitEvent });\n    };\n    /**\n     *  Patches the value of the {\\@link FormArray}. It accepts an array that matches the\n     *  structure of the control, and will do its best to match the values to the correct\n     *  controls in the group.\n     *\n     *  It accepts both super-sets and sub-sets of the array without throwing an error.\n     *\n     *  ### Example\n     *\n     *  ```\n     *  const arr = new FormArray([\n     *     new FormControl(),\n     *     new FormControl()\n     *  ]);\n     *  console.log(arr.value);   // [null, null]\n     *\n     *  arr.patchValue(['Nancy']);\n     *  console.log(arr.value);   // ['Nancy', null]\n     *  ```\n     * @param {?} value\n     * @param {?=} __1\n     * @return {?}\n     */\n    FormArray.prototype.patchValue = function (value, _a) {\n        var _this = this;\n        var _b = _a === void 0 ? {} : _a, onlySelf = _b.onlySelf, emitEvent = _b.emitEvent;\n        value.forEach(function (newValue, index) {\n            if (_this.at(index)) {\n                _this.at(index).patchValue(newValue, { onlySelf: true, emitEvent: emitEvent });\n            }\n        });\n        this.updateValueAndValidity({ onlySelf: onlySelf, emitEvent: emitEvent });\n    };\n    /**\n     * Resets the {\\@link FormArray}. This means by default:\n     *\n     * * The array and all descendants are marked `pristine`\n     * * The array and all descendants are marked `untouched`\n     * * The value of all descendants will be null or null maps\n     *\n     * You can also reset to a specific form state by passing in an array of states\n     * that matches the structure of the control. The state can be a standalone value\n     * or a form state object with both a value and a disabled status.\n     *\n     * ### Example\n     *\n     * ```ts\n     * this.arr.reset(['name', 'last name']);\n     *\n     * console.log(this.arr.value);  // ['name', 'last name']\n     * ```\n     *\n     * - OR -\n     *\n     * ```\n     * this.arr.reset([\n     *   {value: 'name', disabled: true},\n     *   'last'\n     * ]);\n     *\n     * console.log(this.arr.value);  // ['name', 'last name']\n     * console.log(this.arr.get(0).status);  // 'DISABLED'\n     * ```\n     * @param {?=} value\n     * @param {?=} __1\n     * @return {?}\n     */\n    FormArray.prototype.reset = function (value, _a) {\n        if (value === void 0) { value = []; }\n        var _b = _a === void 0 ? {} : _a, onlySelf = _b.onlySelf, emitEvent = _b.emitEvent;\n        this._forEachChild(function (control, index) {\n            control.reset(value[index], { onlySelf: true, emitEvent: emitEvent });\n        });\n        this.updateValueAndValidity({ onlySelf: onlySelf, emitEvent: emitEvent });\n        this._updatePristine({ onlySelf: onlySelf });\n        this._updateTouched({ onlySelf: onlySelf });\n    };\n    /**\n     * The aggregate value of the array, including any disabled controls.\n     *\n     * If you'd like to include all values regardless of disabled status, use this method.\n     * Otherwise, the `value` property is the best way to get the value of the array.\n     * @return {?}\n     */\n    FormArray.prototype.getRawValue = function () {\n        return this.controls.map(function (control) {\n            return control instanceof FormControl ? control.value : ((control)).getRawValue();\n        });\n    };\n    /**\n     * \\@internal\n     * @param {?} index\n     * @return {?}\n     */\n    FormArray.prototype._throwIfControlMissing = function (index) {\n        if (!this.controls.length) {\n            throw new Error(\"\\n        There are no form controls registered with this array yet.  If you're using ngModel,\\n        you may want to check next tick (e.g. use setTimeout).\\n      \");\n        }\n        if (!this.at(index)) {\n            throw new Error(\"Cannot find form control at index \" + index);\n        }\n    };\n    /**\n     * \\@internal\n     * @param {?} cb\n     * @return {?}\n     */\n    FormArray.prototype._forEachChild = function (cb) {\n        this.controls.forEach(function (control, index) { cb(control, index); });\n    };\n    /**\n     * \\@internal\n     * @return {?}\n     */\n    FormArray.prototype._updateValue = function () {\n        var _this = this;\n        this._value = this.controls.filter(function (control) { return control.enabled || _this.disabled; })\n            .map(function (control) { return control.value; });\n    };\n    /**\n     * \\@internal\n     * @param {?} condition\n     * @return {?}\n     */\n    FormArray.prototype._anyControls = function (condition) {\n        return this.controls.some(function (control) { return control.enabled && condition(control); });\n    };\n    /**\n     * \\@internal\n     * @return {?}\n     */\n    FormArray.prototype._setUpControls = function () {\n        var _this = this;\n        this._forEachChild(function (control) { return _this._registerControl(control); });\n    };\n    /**\n     * \\@internal\n     * @param {?} value\n     * @return {?}\n     */\n    FormArray.prototype._checkAllValuesPresent = function (value) {\n        this._forEachChild(function (control, i) {\n            if (value[i] === undefined) {\n                throw new Error(\"Must supply a value for form control at index: \" + i + \".\");\n            }\n        });\n    };\n    /**\n     * \\@internal\n     * @return {?}\n     */\n    FormArray.prototype._allControlsDisabled = function () {\n        for (var _i = 0, _a = this.controls; _i < _a.length; _i++) {\n            var control = _a[_i];\n            if (control.enabled)\n                return false;\n        }\n        return this.controls.length > 0 || this.disabled;\n    };\n    /**\n     * @param {?} control\n     * @return {?}\n     */\n    FormArray.prototype._registerControl = function (control) {\n        control.setParent(this);\n        control._registerOnCollectionChange(this._onCollectionChange);\n    };\n    return FormArray;\n}(AbstractControl));\nfunction FormArray_tsickle_Closure_declarations() {\n    /** @type {?} */\n    FormArray.prototype.controls;\n}\n//# sourceMappingURL=model.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/forms/src/model.js\n// module id = 214\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { Injectable } from '@angular/core';\nimport { ResponseType } from './enums';\nimport { Headers } from './headers';\n/**\n * Creates a response options object to be optionally provided when instantiating a\n * {\\@link Response}.\n *\n * This class is based on the `ResponseInit` description in the [Fetch\n * Spec](https://fetch.spec.whatwg.org/#responseinit).\n *\n * All values are null by default. Typical defaults can be found in the\n * {\\@link BaseResponseOptions} class, which sub-classes `ResponseOptions`.\n *\n * This class may be used in tests to build {\\@link Response Responses} for\n * mock responses (see {\\@link MockBackend}).\n *\n * ### Example ([live demo](http://plnkr.co/edit/P9Jkk8e8cz6NVzbcxEsD?p=preview))\n *\n * ```typescript\n * import {ResponseOptions, Response} from '\\@angular/http';\n *\n * var options = new ResponseOptions({\n *   body: '{\"name\":\"Jeff\"}'\n * });\n * var res = new Response(options);\n *\n * console.log('res.json():', res.json()); // Object {name: \"Jeff\"}\n * ```\n *\n * \\@experimental\n */\nexport var ResponseOptions = (function () {\n    /**\n     * @param {?=} __0\n     */\n    function ResponseOptions(_a) {\n        var _b = _a === void 0 ? {} : _a, body = _b.body, status = _b.status, headers = _b.headers, statusText = _b.statusText, type = _b.type, url = _b.url;\n        this.body = body != null ? body : null;\n        this.status = status != null ? status : null;\n        this.headers = headers != null ? headers : null;\n        this.statusText = statusText != null ? statusText : null;\n        this.type = type != null ? type : null;\n        this.url = url != null ? url : null;\n    }\n    /**\n     * Creates a copy of the `ResponseOptions` instance, using the optional input as values to\n     * override\n     * existing values. This method will not change the values of the instance on which it is being\n     * called.\n     *\n     * This may be useful when sharing a base `ResponseOptions` object inside tests,\n     * where certain properties may change from test to test.\n     *\n     * ### Example ([live demo](http://plnkr.co/edit/1lXquqFfgduTFBWjNoRE?p=preview))\n     *\n     * ```typescript\n     * import {ResponseOptions, Response} from '\\@angular/http';\n     *\n     * var options = new ResponseOptions({\n     *   body: {name: 'Jeff'}\n     * });\n     * var res = new Response(options.merge({\n     *   url: 'https://google.com'\n     * }));\n     * console.log('options.url:', options.url); // null\n     * console.log('res.json():', res.json()); // Object {name: \"Jeff\"}\n     * console.log('res.url:', res.url); // https://google.com\n     * ```\n     * @param {?=} options\n     * @return {?}\n     */\n    ResponseOptions.prototype.merge = function (options) {\n        return new ResponseOptions({\n            body: options && options.body != null ? options.body : this.body,\n            status: options && options.status != null ? options.status : this.status,\n            headers: options && options.headers != null ? options.headers : this.headers,\n            statusText: options && options.statusText != null ? options.statusText : this.statusText,\n            type: options && options.type != null ? options.type : this.type,\n            url: options && options.url != null ? options.url : this.url,\n        });\n    };\n    return ResponseOptions;\n}());\nfunction ResponseOptions_tsickle_Closure_declarations() {\n    /**\n     * String, Object, ArrayBuffer or Blob representing the body of the {\\@link Response}.\n     * @type {?}\n     */\n    ResponseOptions.prototype.body;\n    /**\n     * Http {\\@link http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html status code}\n     * associated with the response.\n     * @type {?}\n     */\n    ResponseOptions.prototype.status;\n    /**\n     * Response {\\@link Headers headers}\n     * @type {?}\n     */\n    ResponseOptions.prototype.headers;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    ResponseOptions.prototype.statusText;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    ResponseOptions.prototype.type;\n    /** @type {?} */\n    ResponseOptions.prototype.url;\n}\n/**\n * Subclass of {\\@link ResponseOptions}, with default values.\n *\n * Default values:\n *  * status: 200\n *  * headers: empty {\\@link Headers} object\n *\n * This class could be extended and bound to the {\\@link ResponseOptions} class\n * when configuring an {\\@link Injector}, in order to override the default options\n * used by {\\@link Http} to create {\\@link Response Responses}.\n *\n * ### Example ([live demo](http://plnkr.co/edit/qv8DLT?p=preview))\n *\n * ```typescript\n * import {provide} from '\\@angular/core';\n * import {bootstrap} from '\\@angular/platform-browser/browser';\n * import {HTTP_PROVIDERS, Headers, Http, BaseResponseOptions, ResponseOptions} from\n * '\\@angular/http';\n * import {App} from './myapp';\n *\n * class MyOptions extends BaseResponseOptions {\n *   headers:Headers = new Headers({network: 'github'});\n * }\n *\n * bootstrap(App, [HTTP_PROVIDERS, {provide: ResponseOptions, useClass: MyOptions}]);\n * ```\n *\n * The options could also be extended when manually creating a {\\@link Response}\n * object.\n *\n * ### Example ([live demo](http://plnkr.co/edit/VngosOWiaExEtbstDoix?p=preview))\n *\n * ```\n * import {BaseResponseOptions, Response} from '\\@angular/http';\n *\n * var options = new BaseResponseOptions();\n * var res = new Response(options.merge({\n *   body: 'Angular',\n *   headers: new Headers({framework: 'angular'})\n * }));\n * console.log('res.headers.get(\"framework\"):', res.headers.get('framework')); // angular\n * console.log('res.text():', res.text()); // Angular;\n * ```\n *\n * \\@experimental\n */\nexport var BaseResponseOptions = (function (_super) {\n    __extends(BaseResponseOptions, _super);\n    function BaseResponseOptions() {\n        _super.call(this, { status: 200, statusText: 'Ok', type: ResponseType.Default, headers: new Headers() });\n    }\n    BaseResponseOptions.decorators = [\n        { type: Injectable },\n    ];\n    /** @nocollapse */\n    BaseResponseOptions.ctorParameters = function () { return []; };\n    return BaseResponseOptions;\n}(ResponseOptions));\nfunction BaseResponseOptions_tsickle_Closure_declarations() {\n    /** @type {?} */\n    BaseResponseOptions.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    BaseResponseOptions.ctorParameters;\n}\n//# sourceMappingURL=base_response_options.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/http/src/base_response_options.js\n// module id = 215\n// module chunks = 0","/**\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 */\nimport { RequestMethod } from './enums';\n/**\n * @param {?} method\n * @return {?}\n */\nexport function normalizeMethodName(method) {\n    if (typeof method !== 'string')\n        return method;\n    switch (method.toUpperCase()) {\n        case 'GET':\n            return RequestMethod.Get;\n        case 'POST':\n            return RequestMethod.Post;\n        case 'PUT':\n            return RequestMethod.Put;\n        case 'DELETE':\n            return RequestMethod.Delete;\n        case 'OPTIONS':\n            return RequestMethod.Options;\n        case 'HEAD':\n            return RequestMethod.Head;\n        case 'PATCH':\n            return RequestMethod.Patch;\n    }\n    throw new Error(\"Invalid request method. The method \\\"\" + method + \"\\\" is not supported.\");\n}\nexport var /** @type {?} */ isSuccess = function (status) { return (status >= 200 && status < 300); };\n/**\n * @param {?} xhr\n * @return {?}\n */\nexport function getResponseURL(xhr) {\n    if ('responseURL' in xhr) {\n        return xhr.responseURL;\n    }\n    if (/^X-Request-URL:/m.test(xhr.getAllResponseHeaders())) {\n        return xhr.getResponseHeader('X-Request-URL');\n    }\n    return;\n}\n/**\n * @param {?} input\n * @return {?}\n */\nexport function stringToArrayBuffer(input) {\n    var /** @type {?} */ view = new Uint16Array(input.length);\n    for (var /** @type {?} */ i = 0, /** @type {?} */ strLen = input.length; i < strLen; i++) {\n        view[i] = input.charCodeAt(i);\n    }\n    return view.buffer;\n}\n//# sourceMappingURL=http_utils.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/http/src/http_utils.js\n// module id = 216\n// module chunks = 0","/**\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 * @param {?=} rawParams\n * @return {?}\n */\nfunction paramParser(rawParams) {\n    if (rawParams === void 0) { rawParams = ''; }\n    var /** @type {?} */ map = new Map();\n    if (rawParams.length > 0) {\n        var /** @type {?} */ params = rawParams.split('&');\n        params.forEach(function (param) {\n            var /** @type {?} */ eqIdx = param.indexOf('=');\n            var _a = eqIdx == -1 ? [param, ''] : [param.slice(0, eqIdx), param.slice(eqIdx + 1)], key = _a[0], val = _a[1];\n            var /** @type {?} */ list = map.get(key) || [];\n            list.push(val);\n            map.set(key, list);\n        });\n    }\n    return map;\n}\n/**\n * \\@experimental\n *\n */\nexport var QueryEncoder = (function () {\n    function QueryEncoder() {\n    }\n    /**\n     * @param {?} k\n     * @return {?}\n     */\n    QueryEncoder.prototype.encodeKey = function (k) { return standardEncoding(k); };\n    /**\n     * @param {?} v\n     * @return {?}\n     */\n    QueryEncoder.prototype.encodeValue = function (v) { return standardEncoding(v); };\n    return QueryEncoder;\n}());\n/**\n * @param {?} v\n * @return {?}\n */\nfunction standardEncoding(v) {\n    return encodeURIComponent(v)\n        .replace(/%40/gi, '@')\n        .replace(/%3A/gi, ':')\n        .replace(/%24/gi, '$')\n        .replace(/%2C/gi, ',')\n        .replace(/%3B/gi, ';')\n        .replace(/%2B/gi, '+')\n        .replace(/%3D/gi, '=')\n        .replace(/%3F/gi, '?')\n        .replace(/%2F/gi, '/');\n}\n/**\n * Map-like representation of url search parameters, based on\n * [URLSearchParams](https://url.spec.whatwg.org/#urlsearchparams) in the url living standard,\n * with several extensions for merging URLSearchParams objects:\n *   - setAll()\n *   - appendAll()\n *   - replaceAll()\n *\n * This class accepts an optional second parameter of ${\\@link QueryEncoder},\n * which is used to serialize parameters before making a request. By default,\n * `QueryEncoder` encodes keys and values of parameters using `encodeURIComponent`,\n * and then un-encodes certain characters that are allowed to be part of the query\n * according to IETF RFC 3986: https://tools.ietf.org/html/rfc3986.\n *\n * These are the characters that are not encoded: `! $ \\' ( ) * + , ; A 9 - . _ ~ ? /`\n *\n * If the set of allowed query characters is not acceptable for a particular backend,\n * `QueryEncoder` can be subclassed and provided as the 2nd argument to URLSearchParams.\n *\n * ```\n * import {URLSearchParams, QueryEncoder} from '\\@angular/http';\n * class MyQueryEncoder extends QueryEncoder {\n *   encodeKey(k: string): string {\n *     return myEncodingFunction(k);\n *   }\n *\n *   encodeValue(v: string): string {\n *     return myEncodingFunction(v);\n *   }\n * }\n *\n * let params = new URLSearchParams('', new MyQueryEncoder());\n * ```\n * \\@experimental\n */\nexport var URLSearchParams = (function () {\n    /**\n     * @param {?=} rawParams\n     * @param {?=} queryEncoder\n     */\n    function URLSearchParams(rawParams, queryEncoder) {\n        if (rawParams === void 0) { rawParams = ''; }\n        if (queryEncoder === void 0) { queryEncoder = new QueryEncoder(); }\n        this.rawParams = rawParams;\n        this.queryEncoder = queryEncoder;\n        this.paramsMap = paramParser(rawParams);\n    }\n    /**\n     * @return {?}\n     */\n    URLSearchParams.prototype.clone = function () {\n        var /** @type {?} */ clone = new URLSearchParams('', this.queryEncoder);\n        clone.appendAll(this);\n        return clone;\n    };\n    /**\n     * @param {?} param\n     * @return {?}\n     */\n    URLSearchParams.prototype.has = function (param) { return this.paramsMap.has(param); };\n    /**\n     * @param {?} param\n     * @return {?}\n     */\n    URLSearchParams.prototype.get = function (param) {\n        var /** @type {?} */ storedParam = this.paramsMap.get(param);\n        return Array.isArray(storedParam) ? storedParam[0] : null;\n    };\n    /**\n     * @param {?} param\n     * @return {?}\n     */\n    URLSearchParams.prototype.getAll = function (param) { return this.paramsMap.get(param) || []; };\n    /**\n     * @param {?} param\n     * @param {?} val\n     * @return {?}\n     */\n    URLSearchParams.prototype.set = function (param, val) {\n        if (val === void 0 || val === null) {\n            this.delete(param);\n            return;\n        }\n        var /** @type {?} */ list = this.paramsMap.get(param) || [];\n        list.length = 0;\n        list.push(val);\n        this.paramsMap.set(param, list);\n    };\n    /**\n     * @param {?} searchParams\n     * @return {?}\n     */\n    URLSearchParams.prototype.setAll = function (searchParams) {\n        var _this = this;\n        searchParams.paramsMap.forEach(function (value, param) {\n            var /** @type {?} */ list = _this.paramsMap.get(param) || [];\n            list.length = 0;\n            list.push(value[0]);\n            _this.paramsMap.set(param, list);\n        });\n    };\n    /**\n     * @param {?} param\n     * @param {?} val\n     * @return {?}\n     */\n    URLSearchParams.prototype.append = function (param, val) {\n        if (val === void 0 || val === null)\n            return;\n        var /** @type {?} */ list = this.paramsMap.get(param) || [];\n        list.push(val);\n        this.paramsMap.set(param, list);\n    };\n    /**\n     * @param {?} searchParams\n     * @return {?}\n     */\n    URLSearchParams.prototype.appendAll = function (searchParams) {\n        var _this = this;\n        searchParams.paramsMap.forEach(function (value, param) {\n            var /** @type {?} */ list = _this.paramsMap.get(param) || [];\n            for (var /** @type {?} */ i = 0; i < value.length; ++i) {\n                list.push(value[i]);\n            }\n            _this.paramsMap.set(param, list);\n        });\n    };\n    /**\n     * @param {?} searchParams\n     * @return {?}\n     */\n    URLSearchParams.prototype.replaceAll = function (searchParams) {\n        var _this = this;\n        searchParams.paramsMap.forEach(function (value, param) {\n            var /** @type {?} */ list = _this.paramsMap.get(param) || [];\n            list.length = 0;\n            for (var /** @type {?} */ i = 0; i < value.length; ++i) {\n                list.push(value[i]);\n            }\n            _this.paramsMap.set(param, list);\n        });\n    };\n    /**\n     * @return {?}\n     */\n    URLSearchParams.prototype.toString = function () {\n        var _this = this;\n        var /** @type {?} */ paramsList = [];\n        this.paramsMap.forEach(function (values, k) {\n            values.forEach(function (v) { return paramsList.push(_this.queryEncoder.encodeKey(k) + '=' + _this.queryEncoder.encodeValue(v)); });\n        });\n        return paramsList.join('&');\n    };\n    /**\n     * @param {?} param\n     * @return {?}\n     */\n    URLSearchParams.prototype.delete = function (param) { this.paramsMap.delete(param); };\n    return URLSearchParams;\n}());\nfunction URLSearchParams_tsickle_Closure_declarations() {\n    /** @type {?} */\n    URLSearchParams.prototype.paramsMap;\n    /** @type {?} */\n    URLSearchParams.prototype.rawParams;\n    /** @type {?} */\n    URLSearchParams.prototype.queryEncoder;\n}\n//# sourceMappingURL=url_search_params.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/http/src/url_search_params.js\n// module id = 217\n// module chunks = 0","/**\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 */\nimport { OpaqueToken } from '@angular/core';\n/**\n * A DI Token representing the main rendering context. In a browser this is the DOM Document.\n *\n * Note: Document might not be available in the Application Context when Application and Rendering\n * Contexts are not the same (e.g. when running the application into a Web Worker).\n *\n * @stable\n */\nexport var /** @type {?} */ DOCUMENT = new OpaqueToken('DocumentToken');\n//# sourceMappingURL=dom_tokens.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/platform-browser/src/dom/dom_tokens.js\n// module id = 218\n// module chunks = 0","/**\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/**\n * @whatItDoes Contains all the router outlets created in a component.\n *\n * @stable\n */\nexport var RouterOutletMap = (function () {\n    function RouterOutletMap() {\n        /** @internal */\n        this._outlets = {};\n    }\n    /**\n     * Adds an outlet to this map.\n     */\n    RouterOutletMap.prototype.registerOutlet = function (name, outlet) { this._outlets[name] = outlet; };\n    /**\n     * Removes an outlet from this map.\n     */\n    RouterOutletMap.prototype.removeOutlet = function (name) { this._outlets[name] = undefined; };\n    return RouterOutletMap;\n}());\n//# sourceMappingURL=router_outlet_map.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/router/src/router_outlet_map.js\n// module id = 219\n// module chunks = 0","import { Injectable } from '@angular/core';\r\n \r\n@Injectable()\r\nexport class Data {\r\n \r\n    public storage: any;\r\n\r\n    public constructor() { \r\n    \tthis.storage = {\r\n    \t\t\"code\": null,\r\n            \"message\": ''  ,\r\n            \"class\": ''\r\n        }\r\n    }\r\n \r\n}\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/data.ts","/**\r\n * @license\r\n * Copyright (C) 2016 Dizzy <itsdizzy40@gmail.com>\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file.\r\n */\r\n\"use strict\";\r\n/**\r\n * Sets up the authentication configuration.\r\n */\r\nvar AuthConfig = (function () {\r\n    function AuthConfig(config) {\r\n        if (config === void 0) { config = {}; }\r\n        this.globalHeaders = config.globalHeaders || [];\r\n        this.headerName = config.headerName || 'Authorization';\r\n        if (config.headerPrefix) {\r\n            this.headerPrefix = config.headerPrefix + ' ';\r\n        }\r\n        else if (config.noTokenScheme) {\r\n            this.headerPrefix = '';\r\n        }\r\n        else {\r\n            this.headerPrefix = 'Bearer ';\r\n        }\r\n        this.noJwtError = config.noJwtError || false;\r\n        this.noTokenScheme = config.noTokenScheme || false;\r\n        this.guards = {\r\n            loggedInGuard: config.guards.loggedInGuard || { redirectUrl: null },\r\n            loggedOutGuard: config.guards.loggedOutGuard || { redirectUrl: null }\r\n        };\r\n    }\r\n    AuthConfig.prototype.getConfig = function () {\r\n        return {\r\n            globalHeaders: this.globalHeaders,\r\n            headerName: this.headerName,\r\n            headerPrefix: this.headerPrefix,\r\n            noJwtError: this.noJwtError,\r\n            noTokenScheme: this.noTokenScheme,\r\n            guards: this.guards\r\n        };\r\n    };\r\n    return AuthConfig;\r\n}());\r\nexports.AuthConfig = AuthConfig;\r\n//# sourceMappingURL=auth.config.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/angular2-auth/dist/auth.config.js\n// module id = 221\n// module chunks = 0","/**\r\n * @license\r\n * Copyright (C) 2016 Dizzy <itsdizzy40@gmail.com>\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file.\r\n */\r\n\"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 token_model_1 = require('./token.model');\r\nvar rxjs_1 = require('rxjs');\r\nvar TokenService = (function () {\r\n    function TokenService() {\r\n        this._token = new rxjs_1.BehaviorSubject(new token_model_1.Token(localStorage.getItem('auth_token')));\r\n    }\r\n    /**\r\n     * Get the current token.\r\n     */\r\n    TokenService.prototype.getToken = function () {\r\n        return this._token.getValue();\r\n    };\r\n    /**\r\n     * Returns an stream of tokens.\r\n     */\r\n    TokenService.prototype.getTokenStream = function () {\r\n        return this._token.asObservable();\r\n    };\r\n    /**\r\n     * Update the current token.\r\n     */\r\n    TokenService.prototype.setToken = function (token) {\r\n        this._token.next(new token_model_1.Token(token));\r\n        localStorage.setItem('auth_token', token);\r\n    };\r\n    /**\r\n     * Remove the current token.\r\n     */\r\n    TokenService.prototype.removeToken = function () {\r\n        this._token.next(null);\r\n        localStorage.removeItem('auth_token');\r\n    };\r\n    TokenService = __decorate([\r\n        core_1.Injectable(), \r\n        __metadata('design:paramtypes', [])\r\n    ], TokenService);\r\n    return TokenService;\r\n}());\r\nexports.TokenService = TokenService;\r\n//# sourceMappingURL=token.service.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/angular2-auth/dist/token.service.js\n// module id = 222\n// module chunks = 0","var isObject = require('./_is-object');\nmodule.exports = function(it){\n  if(!isObject(it))throw TypeError(it + ' is not an object!');\n  return it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_an-object.js\n// module id = 223\n// module chunks = 0","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function(it, key){\n  return hasOwnProperty.call(it, key);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_has.js\n// module id = 224\n// module chunks = 0","module.exports = {};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_iterators.js\n// module id = 225\n// module chunks = 0","var anObject       = require('./_an-object')\n  , IE8_DOM_DEFINE = require('./_ie8-dom-define')\n  , toPrimitive    = require('./_to-primitive')\n  , dP             = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes){\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if(IE8_DOM_DEFINE)try {\n    return dP(O, P, Attributes);\n  } catch(e){ /* empty */ }\n  if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!');\n  if('value' in Attributes)O[P] = Attributes.value;\n  return O;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_object-dp.js\n// module id = 226\n// module chunks = 0","'use strict';\nvar hide     = require('./_hide')\n  , redefine = require('./_redefine')\n  , fails    = require('./_fails')\n  , defined  = require('./_defined')\n  , wks      = require('./_wks');\n\nmodule.exports = function(KEY, length, exec){\n  var SYMBOL   = wks(KEY)\n    , fns      = exec(defined, SYMBOL, ''[KEY])\n    , strfn    = fns[0]\n    , rxfn     = fns[1];\n  if(fails(function(){\n    var O = {};\n    O[SYMBOL] = function(){ return 7; };\n    return ''[KEY](O) != 7;\n  })){\n    redefine(String.prototype, KEY, strfn);\n    hide(RegExp.prototype, SYMBOL, length == 2\n      // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n      // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n      ? function(string, arg){ return rxfn.call(string, this, arg); }\n      // 21.2.5.6 RegExp.prototype[@@match](string)\n      // 21.2.5.9 RegExp.prototype[@@search](string)\n      : function(string){ return rxfn.call(string, this); }\n    );\n  }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_fix-re-wks.js\n// module id = 227\n// module chunks = 0","var ctx         = require('./_ctx')\n  , call        = require('./_iter-call')\n  , isArrayIter = require('./_is-array-iter')\n  , anObject    = require('./_an-object')\n  , toLength    = require('./_to-length')\n  , getIterFn   = require('./core.get-iterator-method')\n  , BREAK       = {}\n  , RETURN      = {};\nvar exports = module.exports = function(iterable, entries, fn, that, ITERATOR){\n  var iterFn = ITERATOR ? function(){ return iterable; } : getIterFn(iterable)\n    , f      = ctx(fn, that, entries ? 2 : 1)\n    , index  = 0\n    , length, step, iterator, result;\n  if(typeof iterFn != 'function')throw TypeError(iterable + ' is not iterable!');\n  // fast case for arrays with default iterator\n  if(isArrayIter(iterFn))for(length = toLength(iterable.length); length > index; index++){\n    result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n    if(result === BREAK || result === RETURN)return result;\n  } else for(iterator = iterFn.call(iterable); !(step = iterator.next()).done; ){\n    result = call(iterator, f, step.value, entries);\n    if(result === BREAK || result === RETURN)return result;\n  }\n};\nexports.BREAK  = BREAK;\nexports.RETURN = RETURN;\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_for-of.js\n// module id = 228\n// module chunks = 0","exports.f = Object.getOwnPropertySymbols;\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_object-gops.js\n// module id = 229\n// module chunks = 0","exports.f = {}.propertyIsEnumerable;\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_object-pie.js\n// module id = 230\n// module chunks = 0","var def = require('./_object-dp').f\n  , has = require('./_has')\n  , TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function(it, tag, stat){\n  if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_set-to-string-tag.js\n// module id = 231\n// module chunks = 0","var global = require('./_global')\n  , SHARED = '__core-js_shared__'\n  , store  = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function(key){\n  return store[key] || (store[key] = {});\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_shared.js\n// module id = 232\n// module chunks = 0","var $export = require('./_export')\n  , defined = require('./_defined')\n  , fails   = require('./_fails')\n  , spaces  = require('./_string-ws')\n  , space   = '[' + spaces + ']'\n  , non     = '\\u200b\\u0085'\n  , ltrim   = RegExp('^' + space + space + '*')\n  , rtrim   = RegExp(space + space + '*$');\n\nvar exporter = function(KEY, exec, ALIAS){\n  var exp   = {};\n  var FORCE = fails(function(){\n    return !!spaces[KEY]() || non[KEY]() != non;\n  });\n  var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n  if(ALIAS)exp[ALIAS] = fn;\n  $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function(string, TYPE){\n  string = String(defined(string));\n  if(TYPE & 1)string = string.replace(ltrim, '');\n  if(TYPE & 2)string = string.replace(rtrim, '');\n  return string;\n};\n\nmodule.exports = exporter;\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_string-trim.js\n// module id = 233\n// module chunks = 0","'use strict';\n// 19.1.3.6 Object.prototype.toString()\nvar classof = require('./_classof')\n  , test    = {};\ntest[require('./_wks')('toStringTag')] = 'z';\nif(test + '' != '[object z]'){\n  require('./_redefine')(Object.prototype, 'toString', function toString(){\n    return '[object ' + classof(this) + ']';\n  }, true);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.object.to-string.js\n// module id = 234\n// module chunks = 0","'use strict';\nvar $at  = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function(iterated){\n  this._t = String(iterated); // target\n  this._i = 0;                // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function(){\n  var O     = this._t\n    , index = this._i\n    , point;\n  if(index >= O.length)return {value: undefined, done: true};\n  point = $at(O, index);\n  this._i += point.length;\n  return {value: point, done: false};\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.string.iterator.js\n// module id = 235\n// module chunks = 0","!function(t){\"function\"==typeof define&&define.amd?define(t):t()}(function(){\"use strict\";\n/** @license\n   * jsPDF - PDF Document creation from JavaScript\n   * Version 1.5.3 Built on 2018-12-27T14:11:42.696Z\n   *                      CommitID d93d28db14\n   *\n   * Copyright (c) 2010-2016 James Hall <james@parall.ax>, https://github.com/MrRio/jsPDF\n   *               2010 Aaron Spike, https://github.com/acspike\n   *               2012 Willow Systems Corporation, willow-systems.com\n   *               2012 Pablo Hess, https://github.com/pablohess\n   *               2012 Florian Jenett, https://github.com/fjenett\n   *               2013 Warren Weckesser, https://github.com/warrenweckesser\n   *               2013 Youssef Beddad, https://github.com/lifof\n   *               2013 Lee Driscoll, https://github.com/lsdriscoll\n   *               2013 Stefan Slonevskiy, https://github.com/stefslon\n   *               2013 Jeremy Morel, https://github.com/jmorel\n   *               2013 Christoph Hartmann, https://github.com/chris-rock\n   *               2014 Juan Pablo Gaviria, https://github.com/juanpgaviria\n   *               2014 James Makes, https://github.com/dollaruw\n   *               2014 Diego Casorran, https://github.com/diegocr\n   *               2014 Steven Spungin, https://github.com/Flamenco\n   *               2014 Kenneth Glassey, https://github.com/Gavvers\n   *\n   * Licensed under the MIT License\n   *\n   * Contributor(s):\n   *    siefkenj, ahwolf, rickygu, Midnith, saintclair, eaparango,\n   *    kim3er, mfo, alnorth, Flamenco\n   */function se(t){return(se=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}!function(t){if(\"object\"!==se(t.console)){t.console={};for(var e,n,r=t.console,i=function(){},o=[\"memory\"],a=\"assert,clear,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profiles,profileEnd,show,table,time,timeEnd,timeline,timelineEnd,timeStamp,trace,warn\".split(\",\");e=o.pop();)r[e]||(r[e]={});for(;n=a.pop();)r[n]||(r[n]=i)}var s,l,h,u,c=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";void 0===t.btoa&&(t.btoa=function(t){var e,n,r,i,o,a=0,s=0,l=\"\",h=[];if(!t)return t;for(;e=(o=t.charCodeAt(a++)<<16|t.charCodeAt(a++)<<8|t.charCodeAt(a++))>>18&63,n=o>>12&63,r=o>>6&63,i=63&o,h[s++]=c.charAt(e)+c.charAt(n)+c.charAt(r)+c.charAt(i),a<t.length;);l=h.join(\"\");var u=t.length%3;return(u?l.slice(0,u-3):l)+\"===\".slice(u||3)}),void 0===t.atob&&(t.atob=function(t){var e,n,r,i,o,a,s=0,l=0,h=[];if(!t)return t;for(t+=\"\";e=(a=c.indexOf(t.charAt(s++))<<18|c.indexOf(t.charAt(s++))<<12|(i=c.indexOf(t.charAt(s++)))<<6|(o=c.indexOf(t.charAt(s++))))>>16&255,n=a>>8&255,r=255&a,h[l++]=64==i?String.fromCharCode(e):64==o?String.fromCharCode(e,n):String.fromCharCode(e,n,r),s<t.length;);return h.join(\"\")}),Array.prototype.map||(Array.prototype.map=function(t){if(null==this||\"function\"!=typeof t)throw new TypeError;for(var e=Object(this),n=e.length>>>0,r=new Array(n),i=1<arguments.length?arguments[1]:void 0,o=0;o<n;o++)o in e&&(r[o]=t.call(i,e[o],o,e));return r}),Array.isArray||(Array.isArray=function(t){return\"[object Array]\"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t,e){if(null==this||\"function\"!=typeof t)throw new TypeError;for(var n=Object(this),r=n.length>>>0,i=0;i<r;i++)i in n&&t.call(e,n[i],i,n)}),Array.prototype.find||Object.defineProperty(Array.prototype,\"find\",{value:function(t){if(null==this)throw new TypeError('\"this\" is null or not defined');var e=Object(this),n=e.length>>>0;if(\"function\"!=typeof t)throw new TypeError(\"predicate must be a function\");for(var r=arguments[1],i=0;i<n;){var o=e[i];if(t.call(r,o,i,e))return o;i++}},configurable:!0,writable:!0}),Object.keys||(Object.keys=(s=Object.prototype.hasOwnProperty,l=!{toString:null}.propertyIsEnumerable(\"toString\"),u=(h=[\"toString\",\"toLocaleString\",\"valueOf\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"constructor\"]).length,function(t){if(\"object\"!==se(t)&&(\"function\"!=typeof t||null===t))throw new TypeError;var e,n,r=[];for(e in t)s.call(t,e)&&r.push(e);if(l)for(n=0;n<u;n++)s.call(t,h[n])&&r.push(h[n]);return r})),\"function\"!=typeof Object.assign&&(Object.assign=function(t){if(null==t)throw new TypeError(\"Cannot convert undefined or null to object\");t=Object(t);for(var e=1;e<arguments.length;e++){var n=arguments[e];if(null!=n)for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t}),String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^\\s+|\\s+$/g,\"\")}),String.prototype.trimLeft||(String.prototype.trimLeft=function(){return this.replace(/^\\s+/g,\"\")}),String.prototype.trimRight||(String.prototype.trimRight=function(){return this.replace(/\\s+$/g,\"\")}),Number.isInteger=Number.isInteger||function(t){return\"number\"==typeof t&&isFinite(t)&&Math.floor(t)===t}}(\"undefined\"!=typeof self&&self||\"undefined\"!=typeof window&&window||\"undefined\"!=typeof global&&global||Function('return typeof this === \"object\" && this.content')()||Function(\"return this\")());var t,e,n,_,l,F,P,p,d,k,a,o,s,h,u,c,r,i,f,g,m,y,v,w,b,x,I,C,B,N,L,A,S,j,E,M,O,q,T,R,D,U,z,H,W,V,G,Y,J,X,K,Z,Q,$,tt,et,nt,rt,it,ot,at,st,lt=function(ie){function oe(o){if(\"object\"!==se(o))throw new Error(\"Invalid Context passed to initialize PubSub (jsPDF-module)\");var a={};this.subscribe=function(t,e,n){if(n=n||!1,\"string\"!=typeof t||\"function\"!=typeof e||\"boolean\"!=typeof n)throw new Error(\"Invalid arguments passed to PubSub.subscribe (jsPDF-module)\");a.hasOwnProperty(t)||(a[t]={});var r=Math.random().toString(35);return a[t][r]=[e,!!n],r},this.unsubscribe=function(t){for(var e in a)if(a[e][t])return delete a[e][t],0===Object.keys(a[e]).length&&delete a[e],!0;return!1},this.publish=function(t){if(a.hasOwnProperty(t)){var e=Array.prototype.slice.call(arguments,1),n=[];for(var r in a[t]){var i=a[t][r];try{i[0].apply(o,e)}catch(t){ie.console&&console.error(\"jsPDF PubSub Error\",t.message,t)}i[1]&&n.push(r)}n.length&&n.forEach(this.unsubscribe)}},this.getTopics=function(){return a}}function ae(t,e,i,n){var r={},o=[],a=1;\"object\"===se(t)&&(t=(r=t).orientation,e=r.unit||e,i=r.format||i,n=r.compress||r.compressPdf||n,o=r.filters||(!0===n?[\"FlateEncode\"]:o),a=\"number\"==typeof r.userUnit?Math.abs(r.userUnit):1),e=e||\"mm\",t=(\"\"+(t||\"P\")).toLowerCase();var s=r.putOnlyUsedFonts||!0,K={},l={internal:{},__private__:{}};l.__private__.PubSub=oe;var h=\"1.3\",u=l.__private__.getPdfVersion=function(){return h},c=(l.__private__.setPdfVersion=function(t){h=t},{a0:[2383.94,3370.39],a1:[1683.78,2383.94],a2:[1190.55,1683.78],a3:[841.89,1190.55],a4:[595.28,841.89],a5:[419.53,595.28],a6:[297.64,419.53],a7:[209.76,297.64],a8:[147.4,209.76],a9:[104.88,147.4],a10:[73.7,104.88],b0:[2834.65,4008.19],b1:[2004.09,2834.65],b2:[1417.32,2004.09],b3:[1000.63,1417.32],b4:[708.66,1000.63],b5:[498.9,708.66],b6:[354.33,498.9],b7:[249.45,354.33],b8:[175.75,249.45],b9:[124.72,175.75],b10:[87.87,124.72],c0:[2599.37,3676.54],c1:[1836.85,2599.37],c2:[1298.27,1836.85],c3:[918.43,1298.27],c4:[649.13,918.43],c5:[459.21,649.13],c6:[323.15,459.21],c7:[229.61,323.15],c8:[161.57,229.61],c9:[113.39,161.57],c10:[79.37,113.39],dl:[311.81,623.62],letter:[612,792],\"government-letter\":[576,756],legal:[612,1008],\"junior-legal\":[576,360],ledger:[1224,792],tabloid:[792,1224],\"credit-card\":[153,243]}),f=(l.__private__.getPageFormats=function(){return c},l.__private__.getPageFormat=function(t){return c[t]});\"string\"==typeof i&&(i=f(i)),i=i||f(\"a4\");var p,Z=l.f2=l.__private__.f2=function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.f2\");return t.toFixed(2)},Q=l.__private__.f3=function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.f3\");return t.toFixed(3)},d=\"00000000000000000000000000000000\",g=l.__private__.getFileId=function(){return d},m=l.__private__.setFileId=function(t){return t=t||\"12345678901234567890123456789012\".split(\"\").map(function(){return\"ABCDEF0123456789\".charAt(Math.floor(16*Math.random()))}).join(\"\"),d=t};l.setFileId=function(t){return m(t),this},l.getFileId=function(){return g()};var y=l.__private__.convertDateToPDFDate=function(t){var e=t.getTimezoneOffset(),n=e<0?\"+\":\"-\",r=Math.floor(Math.abs(e/60)),i=Math.abs(e%60),o=[n,P(r),\"'\",P(i),\"'\"].join(\"\");return[\"D:\",t.getFullYear(),P(t.getMonth()+1),P(t.getDate()),P(t.getHours()),P(t.getMinutes()),P(t.getSeconds()),o].join(\"\")},v=l.__private__.convertPDFDateToDate=function(t){var e=parseInt(t.substr(2,4),10),n=parseInt(t.substr(6,2),10)-1,r=parseInt(t.substr(8,2),10),i=parseInt(t.substr(10,2),10),o=parseInt(t.substr(12,2),10),a=parseInt(t.substr(14,2),10);parseInt(t.substr(16,2),10),parseInt(t.substr(20,2),10);return new Date(e,n,r,i,o,a,0)},w=l.__private__.setCreationDate=function(t){var e;if(void 0===t&&(t=new Date),\"object\"===se(t)&&\"[object Date]\"===Object.prototype.toString.call(t))e=y(t);else{if(!/^D:(20[0-2][0-9]|203[0-7]|19[7-9][0-9])(0[0-9]|1[0-2])([0-2][0-9]|3[0-1])(0[0-9]|1[0-9]|2[0-3])(0[0-9]|[1-5][0-9])(0[0-9]|[1-5][0-9])(\\+0[0-9]|\\+1[0-4]|\\-0[0-9]|\\-1[0-1])\\'(0[0-9]|[1-5][0-9])\\'?$/.test(t))throw new Error(\"Invalid argument passed to jsPDF.setCreationDate\");e=t}return p=e},b=l.__private__.getCreationDate=function(t){var e=p;return\"jsDate\"===t&&(e=v(p)),e};l.setCreationDate=function(t){return w(t),this},l.getCreationDate=function(t){return b(t)};var x,N,L,A,S,$,_,F,P=l.__private__.padd2=function(t){return(\"0\"+parseInt(t)).slice(-2)},k=!1,I=[],C=[],B=0,tt=(l.__private__.setCustomOutputDestination=function(t){N=t},l.__private__.resetCustomOutputDestination=function(t){N=void 0},l.__private__.out=function(t){var e;return t=\"string\"==typeof t?t:t.toString(),(e=void 0===N?k?I[x]:C:N).push(t),k||(B+=t.length+1),e}),j=l.__private__.write=function(t){return tt(1===arguments.length?t.toString():Array.prototype.join.call(arguments,\" \"))},E=l.__private__.getArrayBuffer=function(t){for(var e=t.length,n=new ArrayBuffer(e),r=new Uint8Array(n);e--;)r[e]=t.charCodeAt(e);return n},M=[[\"Helvetica\",\"helvetica\",\"normal\",\"WinAnsiEncoding\"],[\"Helvetica-Bold\",\"helvetica\",\"bold\",\"WinAnsiEncoding\"],[\"Helvetica-Oblique\",\"helvetica\",\"italic\",\"WinAnsiEncoding\"],[\"Helvetica-BoldOblique\",\"helvetica\",\"bolditalic\",\"WinAnsiEncoding\"],[\"Courier\",\"courier\",\"normal\",\"WinAnsiEncoding\"],[\"Courier-Bold\",\"courier\",\"bold\",\"WinAnsiEncoding\"],[\"Courier-Oblique\",\"courier\",\"italic\",\"WinAnsiEncoding\"],[\"Courier-BoldOblique\",\"courier\",\"bolditalic\",\"WinAnsiEncoding\"],[\"Times-Roman\",\"times\",\"normal\",\"WinAnsiEncoding\"],[\"Times-Bold\",\"times\",\"bold\",\"WinAnsiEncoding\"],[\"Times-Italic\",\"times\",\"italic\",\"WinAnsiEncoding\"],[\"Times-BoldItalic\",\"times\",\"bolditalic\",\"WinAnsiEncoding\"],[\"ZapfDingbats\",\"zapfdingbats\",\"normal\",null],[\"Symbol\",\"symbol\",\"normal\",null]],et=(l.__private__.getStandardFonts=function(t){return M},r.fontSize||16),O=(l.__private__.setFontSize=l.setFontSize=function(t){return et=t,this},l.__private__.getFontSize=l.getFontSize=function(){return et}),nt=r.R2L||!1,q=(l.__private__.setR2L=l.setR2L=function(t){return nt=t,this},l.__private__.getR2L=l.getR2L=function(t){return nt},l.__private__.setZoomMode=function(t){var e=[void 0,null,\"fullwidth\",\"fullheight\",\"fullpage\",\"original\"];if(/^\\d*\\.?\\d*\\%$/.test(t))L=t;else if(isNaN(t)){if(-1===e.indexOf(t))throw new Error('zoom must be Integer (e.g. 2), a percentage Value (e.g. 300%) or fullwidth, fullheight, fullpage, original. \"'+t+'\" is not recognized.');L=t}else L=parseInt(t,10)}),T=(l.__private__.getZoomMode=function(){return L},l.__private__.setPageMode=function(t){if(-1==[void 0,null,\"UseNone\",\"UseOutlines\",\"UseThumbs\",\"FullScreen\"].indexOf(t))throw new Error('Page mode must be one of UseNone, UseOutlines, UseThumbs, or FullScreen. \"'+t+'\" is not recognized.');A=t}),R=(l.__private__.getPageMode=function(){return A},l.__private__.setLayoutMode=function(t){if(-1==[void 0,null,\"continuous\",\"single\",\"twoleft\",\"tworight\",\"two\"].indexOf(t))throw new Error('Layout mode must be one of continuous, single, twoleft, tworight. \"'+t+'\" is not recognized.');S=t}),D=(l.__private__.getLayoutMode=function(){return S},l.__private__.setDisplayMode=l.setDisplayMode=function(t,e,n){return q(t),R(e),T(n),this},{title:\"\",subject:\"\",author:\"\",keywords:\"\",creator:\"\"}),U=(l.__private__.getDocumentProperty=function(t){if(-1===Object.keys(D).indexOf(t))throw new Error(\"Invalid argument passed to jsPDF.getDocumentProperty\");return D[t]},l.__private__.getDocumentProperties=function(t){return D},l.__private__.setDocumentProperties=l.setProperties=l.setDocumentProperties=function(t){for(var e in D)D.hasOwnProperty(e)&&t[e]&&(D[e]=t[e]);return this},l.__private__.setDocumentProperty=function(t,e){if(-1===Object.keys(D).indexOf(t))throw new Error(\"Invalid arguments passed to jsPDF.setDocumentProperty\");return D[t]=e},0),z=[],rt={},H={},W=0,V=[],G=[],it=new oe(l),Y=r.hotfixes||[],J=l.__private__.newObject=function(){var t=X();return ot(t,!0),t},X=l.__private__.newObjectDeferred=function(){return z[++U]=function(){return B},U},ot=function(t,e){return e=\"boolean\"==typeof e&&e,z[t]=B,e&&tt(t+\" 0 obj\"),t},at=l.__private__.newAdditionalObject=function(){var t={objId:X(),content:\"\"};return G.push(t),t},st=X(),lt=X(),ht=l.__private__.decodeColorString=function(t){var e=t.split(\" \");if(2===e.length&&(\"g\"===e[1]||\"G\"===e[1])){var n=parseFloat(e[0]);e=[n,n,n,\"r\"]}for(var r=\"#\",i=0;i<3;i++)r+=(\"0\"+Math.floor(255*parseFloat(e[i])).toString(16)).slice(-2);return r},ut=l.__private__.encodeColorString=function(t){var e;\"string\"==typeof t&&(t={ch1:t});var n=t.ch1,r=t.ch2,i=t.ch3,o=t.ch4,a=(t.precision,\"draw\"===t.pdfColorType?[\"G\",\"RG\",\"K\"]:[\"g\",\"rg\",\"k\"]);if(\"string\"==typeof n&&\"#\"!==n.charAt(0)){var s=new RGBColor(n);if(s.ok)n=s.toHex();else if(!/^\\d*\\.?\\d*$/.test(n))throw new Error('Invalid color \"'+n+'\" passed to jsPDF.encodeColorString.')}if(\"string\"==typeof n&&/^#[0-9A-Fa-f]{3}$/.test(n)&&(n=\"#\"+n[1]+n[1]+n[2]+n[2]+n[3]+n[3]),\"string\"==typeof n&&/^#[0-9A-Fa-f]{6}$/.test(n)){var l=parseInt(n.substr(1),16);n=l>>16&255,r=l>>8&255,i=255&l}if(void 0===r||void 0===o&&n===r&&r===i)if(\"string\"==typeof n)e=n+\" \"+a[0];else switch(t.precision){case 2:e=Z(n/255)+\" \"+a[0];break;case 3:default:e=Q(n/255)+\" \"+a[0]}else if(void 0===o||\"object\"===se(o)){if(o&&!isNaN(o.a)&&0===o.a)return e=[\"1.000\",\"1.000\",\"1.000\",a[1]].join(\" \");if(\"string\"==typeof n)e=[n,r,i,a[1]].join(\" \");else switch(t.precision){case 2:e=[Z(n/255),Z(r/255),Z(i/255),a[1]].join(\" \");break;default:case 3:e=[Q(n/255),Q(r/255),Q(i/255),a[1]].join(\" \")}}else if(\"string\"==typeof n)e=[n,r,i,o,a[2]].join(\" \");else switch(t.precision){case 2:e=[Z(n/255),Z(r/255),Z(i/255),Z(o/255),a[2]].join(\" \");break;case 3:default:e=[Q(n/255),Q(r/255),Q(i/255),Q(o/255),a[2]].join(\" \")}return e},ct=l.__private__.getFilters=function(){return o},ft=l.__private__.putStream=function(t){var e=(t=t||{}).data||\"\",n=t.filters||ct(),r=t.alreadyAppliedFilters||[],i=t.addLength1||!1,o=e.length,a={};!0===n&&(n=[\"FlateEncode\"]);var s=t.additionalKeyValues||[],l=(a=void 0!==ae.API.processDataByFilters?ae.API.processDataByFilters(e,n):{data:e,reverseChain:[]}).reverseChain+(Array.isArray(r)?r.join(\" \"):r.toString());0!==a.data.length&&(s.push({key:\"Length\",value:a.data.length}),!0===i&&s.push({key:\"Length1\",value:o})),0!=l.length&&(l.split(\"/\").length-1==1?s.push({key:\"Filter\",value:l}):s.push({key:\"Filter\",value:\"[\"+l+\"]\"})),tt(\"<<\");for(var h=0;h<s.length;h++)tt(\"/\"+s[h].key+\" \"+s[h].value);tt(\">>\"),0!==a.data.length&&(tt(\"stream\"),tt(a.data),tt(\"endstream\"))},pt=l.__private__.putPage=function(t){t.mediaBox;var e=t.number,n=t.data,r=t.objId,i=t.contentsObjId;ot(r,!0);V[x].mediaBox.topRightX,V[x].mediaBox.bottomLeftX,V[x].mediaBox.topRightY,V[x].mediaBox.bottomLeftY;tt(\"<</Type /Page\"),tt(\"/Parent \"+t.rootDictionaryObjId+\" 0 R\"),tt(\"/Resources \"+t.resourceDictionaryObjId+\" 0 R\"),tt(\"/MediaBox [\"+parseFloat(Z(t.mediaBox.bottomLeftX))+\" \"+parseFloat(Z(t.mediaBox.bottomLeftY))+\" \"+Z(t.mediaBox.topRightX)+\" \"+Z(t.mediaBox.topRightY)+\"]\"),null!==t.cropBox&&tt(\"/CropBox [\"+Z(t.cropBox.bottomLeftX)+\" \"+Z(t.cropBox.bottomLeftY)+\" \"+Z(t.cropBox.topRightX)+\" \"+Z(t.cropBox.topRightY)+\"]\"),null!==t.bleedBox&&tt(\"/BleedBox [\"+Z(t.bleedBox.bottomLeftX)+\" \"+Z(t.bleedBox.bottomLeftY)+\" \"+Z(t.bleedBox.topRightX)+\" \"+Z(t.bleedBox.topRightY)+\"]\"),null!==t.trimBox&&tt(\"/TrimBox [\"+Z(t.trimBox.bottomLeftX)+\" \"+Z(t.trimBox.bottomLeftY)+\" \"+Z(t.trimBox.topRightX)+\" \"+Z(t.trimBox.topRightY)+\"]\"),null!==t.artBox&&tt(\"/ArtBox [\"+Z(t.artBox.bottomLeftX)+\" \"+Z(t.artBox.bottomLeftY)+\" \"+Z(t.artBox.topRightX)+\" \"+Z(t.artBox.topRightY)+\"]\"),\"number\"==typeof t.userUnit&&1!==t.userUnit&&tt(\"/UserUnit \"+t.userUnit),it.publish(\"putPage\",{objId:r,pageContext:V[e],pageNumber:e,page:n}),tt(\"/Contents \"+i+\" 0 R\"),tt(\">>\"),tt(\"endobj\");var o=n.join(\"\\n\");return ot(i,!0),ft({data:o,filters:ct()}),tt(\"endobj\"),r},dt=l.__private__.putPages=function(){var t,e,n=[];for(t=1;t<=W;t++)V[t].objId=X(),V[t].contentsObjId=X();for(t=1;t<=W;t++)n.push(pt({number:t,data:I[t],objId:V[t].objId,contentsObjId:V[t].contentsObjId,mediaBox:V[t].mediaBox,cropBox:V[t].cropBox,bleedBox:V[t].bleedBox,trimBox:V[t].trimBox,artBox:V[t].artBox,userUnit:V[t].userUnit,rootDictionaryObjId:st,resourceDictionaryObjId:lt}));ot(st,!0),tt(\"<</Type /Pages\");var r=\"/Kids [\";for(e=0;e<W;e++)r+=n[e]+\" 0 R \";tt(r+\"]\"),tt(\"/Count \"+W),tt(\">>\"),tt(\"endobj\"),it.publish(\"postPutPages\")},gt=function(){!function(){for(var t in rt)rt.hasOwnProperty(t)&&(!1===s||!0===s&&K.hasOwnProperty(t))&&(e=rt[t],it.publish(\"putFont\",{font:e,out:tt,newObject:J,putStream:ft}),!0!==e.isAlreadyPutted&&(e.objectNumber=J(),tt(\"<<\"),tt(\"/Type /Font\"),tt(\"/BaseFont /\"+e.postScriptName),tt(\"/Subtype /Type1\"),\"string\"==typeof e.encoding&&tt(\"/Encoding /\"+e.encoding),tt(\"/FirstChar 32\"),tt(\"/LastChar 255\"),tt(\">>\"),tt(\"endobj\")));var e}(),it.publish(\"putResources\"),ot(lt,!0),tt(\"<<\"),function(){for(var t in tt(\"/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]\"),tt(\"/Font <<\"),rt)rt.hasOwnProperty(t)&&(!1===s||!0===s&&K.hasOwnProperty(t))&&tt(\"/\"+t+\" \"+rt[t].objectNumber+\" 0 R\");tt(\">>\"),tt(\"/XObject <<\"),it.publish(\"putXobjectDict\"),tt(\">>\")}(),tt(\">>\"),tt(\"endobj\"),it.publish(\"postPutResources\")},mt=function(t,e,n){H.hasOwnProperty(e)||(H[e]={}),H[e][n]=t},yt=function(t,e,n,r,i){i=i||!1;var o=\"F\"+(Object.keys(rt).length+1).toString(10),a={id:o,postScriptName:t,fontName:e,fontStyle:n,encoding:r,isStandardFont:i,metadata:{}};return it.publish(\"addFont\",{font:a,instance:this}),void 0!==o&&(rt[o]=a,mt(o,e,n)),o},vt=l.__private__.pdfEscape=l.pdfEscape=function(t,e){return function(t,e){var n,r,i,o,a,s,l,h,u;if(i=(e=e||{}).sourceEncoding||\"Unicode\",a=e.outputEncoding,(e.autoencode||a)&&rt[$].metadata&&rt[$].metadata[i]&&rt[$].metadata[i].encoding&&(o=rt[$].metadata[i].encoding,!a&&rt[$].encoding&&(a=rt[$].encoding),!a&&o.codePages&&(a=o.codePages[0]),\"string\"==typeof a&&(a=o[a]),a)){for(l=!1,s=[],n=0,r=t.length;n<r;n++)(h=a[t.charCodeAt(n)])?s.push(String.fromCharCode(h)):s.push(t[n]),s[n].charCodeAt(0)>>8&&(l=!0);t=s.join(\"\")}for(n=t.length;void 0===l&&0!==n;)t.charCodeAt(n-1)>>8&&(l=!0),n--;if(!l)return t;for(s=e.noBOM?[]:[254,255],n=0,r=t.length;n<r;n++){if((u=(h=t.charCodeAt(n))>>8)>>8)throw new Error(\"Character at position \"+n+\" of string '\"+t+\"' exceeds 16bits. Cannot be encoded into UCS-2 BE\");s.push(u),s.push(h-(u<<8))}return String.fromCharCode.apply(void 0,s)}(t,e).replace(/\\\\/g,\"\\\\\\\\\").replace(/\\(/g,\"\\\\(\").replace(/\\)/g,\"\\\\)\")},wt=l.__private__.beginPage=function(t,e){var n,r=\"string\"==typeof e&&e.toLowerCase();if(\"string\"==typeof t&&(n=f(t.toLowerCase()))&&(t=n[0],e=n[1]),Array.isArray(t)&&(e=t[1],t=t[0]),(isNaN(t)||isNaN(e))&&(t=i[0],e=i[1]),r){switch(r.substr(0,1)){case\"l\":t<e&&(r=\"s\");break;case\"p\":e<t&&(r=\"s\")}\"s\"===r&&(n=t,t=e,e=n)}(14400<t||14400<e)&&(console.warn(\"A page in a PDF can not be wider or taller than 14400 userUnit. jsPDF limits the width/height to 14400\"),t=Math.min(14400,t),e=Math.min(14400,e)),i=[t,e],k=!0,I[++W]=[],V[W]={objId:0,contentsObjId:0,userUnit:Number(a),artBox:null,bleedBox:null,cropBox:null,trimBox:null,mediaBox:{bottomLeftX:0,bottomLeftY:0,topRightX:Number(t),topRightY:Number(e)}},xt(W)},bt=function(){wt.apply(this,arguments),Dt(Rt),tt(Jt),0!==te&&tt(te+\" J\"),0!==ne&&tt(ne+\" j\"),it.publish(\"addPage\",{pageNumber:W})},xt=function(t){0<t&&t<=W&&(x=t)},Nt=l.__private__.getNumberOfPages=l.getNumberOfPages=function(){return I.length-1},Lt=function(t,e,n){var r,i=void 0;return n=n||{},t=void 0!==t?t:rt[$].fontName,e=void 0!==e?e:rt[$].fontStyle,r=t.toLowerCase(),void 0!==H[r]&&void 0!==H[r][e]?i=H[r][e]:void 0!==H[t]&&void 0!==H[t][e]?i=H[t][e]:!1===n.disableWarning&&console.warn(\"Unable to look up font label for font '\"+t+\"', '\"+e+\"'. Refer to getFontList() for available fonts.\"),i||n.noFallback||null==(i=H.times[e])&&(i=H.times.normal),i},At=l.__private__.putInfo=function(){for(var t in J(),tt(\"<<\"),tt(\"/Producer (jsPDF \"+ae.version+\")\"),D)D.hasOwnProperty(t)&&D[t]&&tt(\"/\"+t.substr(0,1).toUpperCase()+t.substr(1)+\" (\"+vt(D[t])+\")\");tt(\"/CreationDate (\"+p+\")\"),tt(\">>\"),tt(\"endobj\")},St=l.__private__.putCatalog=function(t){var e=(t=t||{}).rootDictionaryObjId||st;switch(J(),tt(\"<<\"),tt(\"/Type /Catalog\"),tt(\"/Pages \"+e+\" 0 R\"),L||(L=\"fullwidth\"),L){case\"fullwidth\":tt(\"/OpenAction [3 0 R /FitH null]\");break;case\"fullheight\":tt(\"/OpenAction [3 0 R /FitV null]\");break;case\"fullpage\":tt(\"/OpenAction [3 0 R /Fit]\");break;case\"original\":tt(\"/OpenAction [3 0 R /XYZ null null 1]\");break;default:var n=\"\"+L;\"%\"===n.substr(n.length-1)&&(L=parseInt(L)/100),\"number\"==typeof L&&tt(\"/OpenAction [3 0 R /XYZ null null \"+Z(L)+\"]\")}switch(S||(S=\"continuous\"),S){case\"continuous\":tt(\"/PageLayout /OneColumn\");break;case\"single\":tt(\"/PageLayout /SinglePage\");break;case\"two\":case\"twoleft\":tt(\"/PageLayout /TwoColumnLeft\");break;case\"tworight\":tt(\"/PageLayout /TwoColumnRight\")}A&&tt(\"/PageMode /\"+A),it.publish(\"putCatalog\"),tt(\">>\"),tt(\"endobj\")},_t=l.__private__.putTrailer=function(){tt(\"trailer\"),tt(\"<<\"),tt(\"/Size \"+(U+1)),tt(\"/Root \"+U+\" 0 R\"),tt(\"/Info \"+(U-1)+\" 0 R\"),tt(\"/ID [ <\"+d+\"> <\"+d+\"> ]\"),tt(\">>\")},Ft=l.__private__.putHeader=function(){tt(\"%PDF-\"+h),tt(\"%ºß¬à\")},Pt=l.__private__.putXRef=function(){var t=1,e=\"0000000000\";for(tt(\"xref\"),tt(\"0 \"+(U+1)),tt(\"0000000000 65535 f \"),t=1;t<=U;t++){\"function\"==typeof z[t]?tt((e+z[t]()).slice(-10)+\" 00000 n \"):void 0!==z[t]?tt((e+z[t]).slice(-10)+\" 00000 n \"):tt(\"0000000000 00000 n \")}},kt=l.__private__.buildDocument=function(){k=!1,B=U=0,C=[],z=[],G=[],st=X(),lt=X(),it.publish(\"buildDocument\"),Ft(),dt(),function(){it.publish(\"putAdditionalObjects\");for(var t=0;t<G.length;t++){var e=G[t];ot(e.objId,!0),tt(e.content),tt(\"endobj\")}it.publish(\"postPutAdditionalObjects\")}(),gt(),At(),St();var t=B;return Pt(),_t(),tt(\"startxref\"),tt(\"\"+t),tt(\"%%EOF\"),k=!0,C.join(\"\\n\")},It=l.__private__.getBlob=function(t){return new Blob([E(t)],{type:\"application/pdf\"})},Ct=l.output=l.__private__.output=((F=function(t,e){e=e||{};var n=kt();switch(\"string\"==typeof e?e={filename:e}:e.filename=e.filename||\"generated.pdf\",t){case void 0:return n;case\"save\":l.save(e.filename);break;case\"arraybuffer\":return E(n);case\"blob\":return It(n);case\"bloburi\":case\"bloburl\":if(void 0!==ie.URL&&\"function\"==typeof ie.URL.createObjectURL)return ie.URL&&ie.URL.createObjectURL(It(n))||void 0;console.warn(\"bloburl is not supported by your system, because URL.createObjectURL is not supported by your browser.\");break;case\"datauristring\":case\"dataurlstring\":return\"data:application/pdf;filename=\"+e.filename+\";base64,\"+btoa(n);case\"dataurlnewwindow\":var r='<html><style>html, body { padding: 0; margin: 0; } iframe { width: 100%; height: 100%; border: 0;}  </style><body><iframe src=\"'+this.output(\"datauristring\")+'\"></iframe></body></html>',i=ie.open();if(null!==i&&i.document.write(r),i||\"undefined\"==typeof safari)return i;case\"datauri\":case\"dataurl\":return ie.document.location.href=\"data:application/pdf;filename=\"+e.filename+\";base64,\"+btoa(n);default:return null}}).foo=function(){try{return F.apply(this,arguments)}catch(t){var e=t.stack||\"\";~e.indexOf(\" at \")&&(e=e.split(\" at \")[1]);var n=\"Error in function \"+e.split(\"\\n\")[0].split(\"<\")[0]+\": \"+t.message;if(!ie.console)throw new Error(n);ie.console.error(n,t),ie.alert&&alert(n)}},(F.foo.bar=F).foo),Bt=function(t){return!0===Array.isArray(Y)&&-1<Y.indexOf(t)};switch(e){case\"pt\":_=1;break;case\"mm\":_=72/25.4;break;case\"cm\":_=72/2.54;break;case\"in\":_=72;break;case\"px\":_=1==Bt(\"px_scaling\")?.75:96/72;break;case\"pc\":case\"em\":_=12;break;case\"ex\":_=6;break;default:throw new Error(\"Invalid unit: \"+e)}w(),m();var jt=l.__private__.getPageInfo=function(t){if(isNaN(t)||t%1!=0)throw new Error(\"Invalid argument passed to jsPDF.getPageInfo\");return{objId:V[t].objId,pageNumber:t,pageContext:V[t]}},Et=l.__private__.getPageInfoByObjId=function(t){for(var e in V)if(V[e].objId===t)break;if(isNaN(t)||t%1!=0)throw new Error(\"Invalid argument passed to jsPDF.getPageInfoByObjId\");return jt(e)},Mt=l.__private__.getCurrentPageInfo=function(){return{objId:V[x].objId,pageNumber:x,pageContext:V[x]}};l.addPage=function(){return bt.apply(this,arguments),this},l.setPage=function(){return xt.apply(this,arguments),this},l.insertPage=function(t){return this.addPage(),this.movePage(x,t),this},l.movePage=function(t,e){if(e<t){for(var n=I[t],r=V[t],i=t;e<i;i--)I[i]=I[i-1],V[i]=V[i-1];I[e]=n,V[e]=r,this.setPage(e)}else if(t<e){for(n=I[t],r=V[t],i=t;i<e;i++)I[i]=I[i+1],V[i]=V[i+1];I[e]=n,V[e]=r,this.setPage(e)}return this},l.deletePage=function(){return function(t){0<t&&t<=W&&(I.splice(t,1),--W<x&&(x=W),this.setPage(x))}.apply(this,arguments),this};l.__private__.text=l.text=function(t,e,n,i){var r;\"number\"!=typeof t||\"number\"!=typeof e||\"string\"!=typeof n&&!Array.isArray(n)||(r=n,n=e,e=t,t=r);var o=arguments[3],a=arguments[4],s=arguments[5];if(\"object\"===se(o)&&null!==o||(\"string\"==typeof a&&(s=a,a=null),\"string\"==typeof o&&(s=o,o=null),\"number\"==typeof o&&(a=o,o=null),i={flags:o,angle:a,align:s}),(o=o||{}).noBOM=o.noBOM||!0,o.autoencode=o.autoencode||!0,isNaN(e)||isNaN(n)||null==t)throw new Error(\"Invalid arguments passed to jsPDF.text\");if(0===t.length)return c;var l,h=\"\",u=\"number\"==typeof i.lineHeightFactor?i.lineHeightFactor:Tt,c=i.scope||this;function f(t){for(var e,n=t.concat(),r=[],i=n.length;i--;)\"string\"==typeof(e=n.shift())?r.push(e):Array.isArray(t)&&1===e.length?r.push(e[0]):r.push([e[0],e[1],e[2]]);return r}function p(t,e){var n;if(\"string\"==typeof t)n=e(t)[0];else if(Array.isArray(t)){for(var r,i,o=t.concat(),a=[],s=o.length;s--;)\"string\"==typeof(r=o.shift())?a.push(e(r)[0]):Array.isArray(r)&&\"string\"===r[0]&&(i=e(r[0],r[1],r[2]),a.push([i[0],i[1],i[2]]));n=a}return n}var d=!1,g=!0;if(\"string\"==typeof t)d=!0;else if(Array.isArray(t)){for(var m,y=t.concat(),v=[],w=y.length;w--;)(\"string\"!=typeof(m=y.shift())||Array.isArray(m)&&\"string\"!=typeof m[0])&&(g=!1);d=g}if(!1===d)throw new Error('Type of text must be string or Array. \"'+t+'\" is not recognized.');var b=rt[$].encoding;\"WinAnsiEncoding\"!==b&&\"StandardEncoding\"!==b||(t=p(t,function(t,e,n){return[(r=t,r=r.split(\"\\t\").join(Array(i.TabLen||9).join(\" \")),vt(r,o)),e,n];var r})),\"string\"==typeof t&&(t=t.match(/[\\r?\\n]/)?t.split(/\\r\\n|\\r|\\n/g):[t]);var x=et/c.internal.scaleFactor,N=x*(Tt-1);switch(i.baseline){case\"bottom\":n-=N;break;case\"top\":n+=x-N;break;case\"hanging\":n+=x-2*N;break;case\"middle\":n+=x/2-N}0<(O=i.maxWidth||0)&&(\"string\"==typeof t?t=c.splitTextToSize(t,O):\"[object Array]\"===Object.prototype.toString.call(t)&&(t=c.splitTextToSize(t.join(\" \"),O)));var L={text:t,x:e,y:n,options:i,mutex:{pdfEscape:vt,activeFontKey:$,fonts:rt,activeFontSize:et}};it.publish(\"preProcessText\",L),t=L.text;a=(i=L.options).angle;var A=c.internal.scaleFactor,S=[];if(a){a*=Math.PI/180;var _=Math.cos(a),F=Math.sin(a);S=[Z(_),Z(F),Z(-1*F),Z(_)]}void 0!==(M=i.charSpace)&&(h+=Q(M*A)+\" Tc\\n\");i.lang;var P=-1,k=void 0!==i.renderingMode?i.renderingMode:i.stroke,I=c.internal.getCurrentPageInfo().pageContext;switch(k){case 0:case!1:case\"fill\":P=0;break;case 1:case!0:case\"stroke\":P=1;break;case 2:case\"fillThenStroke\":P=2;break;case 3:case\"invisible\":P=3;break;case 4:case\"fillAndAddForClipping\":P=4;break;case 5:case\"strokeAndAddPathForClipping\":P=5;break;case 6:case\"fillThenStrokeAndAddToPathForClipping\":P=6;break;case 7:case\"addToPathForClipping\":P=7}var C=void 0!==I.usedRenderingMode?I.usedRenderingMode:-1;-1!==P?h+=P+\" Tr\\n\":-1!==C&&(h+=\"0 Tr\\n\"),-1!==P&&(I.usedRenderingMode=P);s=i.align||\"left\";var B=et*u,j=c.internal.pageSize.getWidth(),E=(A=c.internal.scaleFactor,rt[$]),M=i.charSpace||Qt,O=i.maxWidth||0,q=(o={},[]);if(\"[object Array]\"===Object.prototype.toString.call(t)){var T,R;v=f(t);\"left\"!==s&&(R=v.map(function(t){return c.getStringUnitWidth(t,{font:E,charSpace:M,fontSize:et})*et/A}));var D,U=Math.max.apply(Math,R),z=0;if(\"right\"===s){e-=R[0],t=[];var H=0;for(w=v.length;H<w;H++)U-R[H],T=0===H?(D=Wt(e),Vt(n)):(D=(z-R[H])*A,-B),t.push([v[H],D,T]),z=R[H]}else if(\"center\"===s){e-=R[0]/2,t=[];for(H=0,w=v.length;H<w;H++)(U-R[H])/2,T=0===H?(D=Wt(e),Vt(n)):(D=(z-R[H])/2*A,-B),t.push([v[H],D,T]),z=R[H]}else if(\"left\"===s){t=[];for(H=0,w=v.length;H<w;H++)T=0===H?Vt(n):-B,D=0===H?Wt(e):0,t.push(v[H])}else{if(\"justify\"!==s)throw new Error('Unrecognized alignment option, use \"left\", \"center\", \"right\" or \"justify\".');t=[];for(O=0!==O?O:j,H=0,w=v.length;H<w;H++)T=0===H?Vt(n):-B,D=0===H?Wt(e):0,H<w-1&&q.push(((O-R[H])/(v[H].split(\" \").length-1)*A).toFixed(2)),t.push([v[H],D,T])}}!0===(\"boolean\"==typeof i.R2L?i.R2L:nt)&&(t=p(t,function(t,e,n){return[t.split(\"\").reverse().join(\"\"),e,n]}));L={text:t,x:e,y:n,options:i,mutex:{pdfEscape:vt,activeFontKey:$,fonts:rt,activeFontSize:et}};it.publish(\"postProcessText\",L),t=L.text,l=L.mutex.isHex;v=f(t);t=[];var W,V,G,Y=0,J=(w=v.length,\"\");for(H=0;H<w;H++)J=\"\",Array.isArray(v[H])?(W=parseFloat(v[H][1]),V=parseFloat(v[H][2]),G=(l?\"<\":\"(\")+v[H][0]+(l?\">\":\")\"),Y=1):(W=Wt(e),V=Vt(n),G=(l?\"<\":\"(\")+v[H]+(l?\">\":\")\")),void 0!==q&&void 0!==q[H]&&(J=q[H]+\" Tw\\n\"),0!==S.length&&0===H?t.push(J+S.join(\" \")+\" \"+W.toFixed(2)+\" \"+V.toFixed(2)+\" Tm\\n\"+G):1===Y||0===Y&&0===H?t.push(J+W.toFixed(2)+\" \"+V.toFixed(2)+\" Td\\n\"+G):t.push(J+G);t=0===Y?t.join(\" Tj\\nT* \"):t.join(\" Tj\\n\"),t+=\" Tj\\n\";var X=\"BT\\n/\"+$+\" \"+et+\" Tf\\n\"+(et*u).toFixed(2)+\" TL\\n\"+Kt+\"\\n\";return X+=h,X+=t,tt(X+=\"ET\"),K[$]=!0,c},l.__private__.lstext=l.lstext=function(t,e,n,r){return console.warn(\"jsPDF.lstext is deprecated\"),this.text(t,e,n,{charSpace:r})},l.__private__.clip=l.clip=function(t){tt(\"evenodd\"===t?\"W*\":\"W\"),tt(\"n\")},l.__private__.clip_fixed=l.clip_fixed=function(t){console.log(\"clip_fixed is deprecated\"),l.clip(t)};var Ot=l.__private__.isValidStyle=function(t){var e=!1;return-1!==[void 0,null,\"S\",\"F\",\"DF\",\"FD\",\"f\",\"f*\",\"B\",\"B*\"].indexOf(t)&&(e=!0),e},qt=l.__private__.getStyle=function(t){var e=\"S\";return\"F\"===t?e=\"f\":\"FD\"===t||\"DF\"===t?e=\"B\":\"f\"!==t&&\"f*\"!==t&&\"B\"!==t&&\"B*\"!==t||(e=t),e};l.__private__.line=l.line=function(t,e,n,r){if(isNaN(t)||isNaN(e)||isNaN(n)||isNaN(r))throw new Error(\"Invalid arguments passed to jsPDF.line\");return this.lines([[n-t,r-e]],t,e)},l.__private__.lines=l.lines=function(t,e,n,r,i,o){var a,s,l,h,u,c,f,p,d,g,m,y;if(\"number\"==typeof t&&(y=n,n=e,e=t,t=y),r=r||[1,1],o=o||!1,isNaN(e)||isNaN(n)||!Array.isArray(t)||!Array.isArray(r)||!Ot(i)||\"boolean\"!=typeof o)throw new Error(\"Invalid arguments passed to jsPDF.lines\");for(tt(Q(Wt(e))+\" \"+Q(Vt(n))+\" m \"),a=r[0],s=r[1],h=t.length,g=e,m=n,l=0;l<h;l++)2===(u=t[l]).length?(g=u[0]*a+g,m=u[1]*s+m,tt(Q(Wt(g))+\" \"+Q(Vt(m))+\" l\")):(c=u[0]*a+g,f=u[1]*s+m,p=u[2]*a+g,d=u[3]*s+m,g=u[4]*a+g,m=u[5]*s+m,tt(Q(Wt(c))+\" \"+Q(Vt(f))+\" \"+Q(Wt(p))+\" \"+Q(Vt(d))+\" \"+Q(Wt(g))+\" \"+Q(Vt(m))+\" c\"));return o&&tt(\" h\"),null!==i&&tt(qt(i)),this},l.__private__.rect=l.rect=function(t,e,n,r,i){if(isNaN(t)||isNaN(e)||isNaN(n)||isNaN(r)||!Ot(i))throw new Error(\"Invalid arguments passed to jsPDF.rect\");return tt([Z(Wt(t)),Z(Vt(e)),Z(n*_),Z(-r*_),\"re\"].join(\" \")),null!==i&&tt(qt(i)),this},l.__private__.triangle=l.triangle=function(t,e,n,r,i,o,a){if(isNaN(t)||isNaN(e)||isNaN(n)||isNaN(r)||isNaN(i)||isNaN(o)||!Ot(a))throw new Error(\"Invalid arguments passed to jsPDF.triangle\");return this.lines([[n-t,r-e],[i-n,o-r],[t-i,e-o]],t,e,[1,1],a,!0),this},l.__private__.roundedRect=l.roundedRect=function(t,e,n,r,i,o,a){if(isNaN(t)||isNaN(e)||isNaN(n)||isNaN(r)||isNaN(i)||isNaN(o)||!Ot(a))throw new Error(\"Invalid arguments passed to jsPDF.roundedRect\");var s=4/3*(Math.SQRT2-1);return this.lines([[n-2*i,0],[i*s,0,i,o-o*s,i,o],[0,r-2*o],[0,o*s,-i*s,o,-i,o],[2*i-n,0],[-i*s,0,-i,-o*s,-i,-o],[0,2*o-r],[0,-o*s,i*s,-o,i,-o]],t+i,e,[1,1],a),this},l.__private__.ellipse=l.ellipse=function(t,e,n,r,i){if(isNaN(t)||isNaN(e)||isNaN(n)||isNaN(r)||!Ot(i))throw new Error(\"Invalid arguments passed to jsPDF.ellipse\");var o=4/3*(Math.SQRT2-1)*n,a=4/3*(Math.SQRT2-1)*r;return tt([Z(Wt(t+n)),Z(Vt(e)),\"m\",Z(Wt(t+n)),Z(Vt(e-a)),Z(Wt(t+o)),Z(Vt(e-r)),Z(Wt(t)),Z(Vt(e-r)),\"c\"].join(\" \")),tt([Z(Wt(t-o)),Z(Vt(e-r)),Z(Wt(t-n)),Z(Vt(e-a)),Z(Wt(t-n)),Z(Vt(e)),\"c\"].join(\" \")),tt([Z(Wt(t-n)),Z(Vt(e+a)),Z(Wt(t-o)),Z(Vt(e+r)),Z(Wt(t)),Z(Vt(e+r)),\"c\"].join(\" \")),tt([Z(Wt(t+o)),Z(Vt(e+r)),Z(Wt(t+n)),Z(Vt(e+a)),Z(Wt(t+n)),Z(Vt(e)),\"c\"].join(\" \")),null!==i&&tt(qt(i)),this},l.__private__.circle=l.circle=function(t,e,n,r){if(isNaN(t)||isNaN(e)||isNaN(n)||!Ot(r))throw new Error(\"Invalid arguments passed to jsPDF.circle\");return this.ellipse(t,e,n,n,r)};l.setFont=function(t,e){return $=Lt(t,e,{disableWarning:!1}),this},l.setFontStyle=l.setFontType=function(t){return $=Lt(void 0,t),this};l.__private__.getFontList=l.getFontList=function(){var t,e,n,r={};for(t in H)if(H.hasOwnProperty(t))for(e in r[t]=n=[],H[t])H[t].hasOwnProperty(e)&&n.push(e);return r};l.addFont=function(t,e,n,r){yt.call(this,t,e,n,r=r||\"Identity-H\")};var Tt,Rt=r.lineWidth||.200025,Dt=l.__private__.setLineWidth=l.setLineWidth=function(t){return tt((t*_).toFixed(2)+\" w\"),this},Ut=(l.__private__.setLineDash=ae.API.setLineDash=function(t,e){if(t=t||[],e=e||0,isNaN(e)||!Array.isArray(t))throw new Error(\"Invalid arguments passed to jsPDF.setLineDash\");return t=t.map(function(t){return(t*_).toFixed(3)}).join(\" \"),e=parseFloat((e*_).toFixed(3)),tt(\"[\"+t+\"] \"+e+\" d\"),this},l.__private__.getLineHeight=l.getLineHeight=function(){return et*Tt}),zt=(Ut=l.__private__.getLineHeight=l.getLineHeight=function(){return et*Tt},l.__private__.setLineHeightFactor=l.setLineHeightFactor=function(t){return\"number\"==typeof(t=t||1.15)&&(Tt=t),this}),Ht=l.__private__.getLineHeightFactor=l.getLineHeightFactor=function(){return Tt};zt(r.lineHeight);var Wt=l.__private__.getHorizontalCoordinate=function(t){return t*_},Vt=l.__private__.getVerticalCoordinate=function(t){return V[x].mediaBox.topRightY-V[x].mediaBox.bottomLeftY-t*_},Gt=l.__private__.getHorizontalCoordinateString=function(t){return Z(t*_)},Yt=l.__private__.getVerticalCoordinateString=function(t){return Z(V[x].mediaBox.topRightY-V[x].mediaBox.bottomLeftY-t*_)},Jt=r.strokeColor||\"0 G\",Xt=(l.__private__.getStrokeColor=l.getDrawColor=function(){return ht(Jt)},l.__private__.setStrokeColor=l.setDrawColor=function(t,e,n,r){return Jt=ut({ch1:t,ch2:e,ch3:n,ch4:r,pdfColorType:\"draw\",precision:2}),tt(Jt),this},r.fillColor||\"0 g\"),Kt=(l.__private__.getFillColor=l.getFillColor=function(){return ht(Xt)},l.__private__.setFillColor=l.setFillColor=function(t,e,n,r){return Xt=ut({ch1:t,ch2:e,ch3:n,ch4:r,pdfColorType:\"fill\",precision:2}),tt(Xt),this},r.textColor||\"0 g\"),Zt=l.__private__.getTextColor=l.getTextColor=function(){return ht(Kt)},Qt=(l.__private__.setTextColor=l.setTextColor=function(t,e,n,r){return Kt=ut({ch1:t,ch2:e,ch3:n,ch4:r,pdfColorType:\"text\",precision:3}),this},r.charSpace||0),$t=l.__private__.getCharSpace=l.getCharSpace=function(){return Qt},te=(l.__private__.setCharSpace=l.setCharSpace=function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.setCharSpace\");return Qt=t,this},0);l.CapJoinStyles={0:0,butt:0,but:0,miter:0,1:1,round:1,rounded:1,circle:1,2:2,projecting:2,project:2,square:2,bevel:2};l.__private__.setLineCap=l.setLineCap=function(t){var e=l.CapJoinStyles[t];if(void 0===e)throw new Error(\"Line cap style of '\"+t+\"' is not recognized. See or extend .CapJoinStyles property for valid styles\");return tt((te=e)+\" J\"),this};var ee,ne=0;l.__private__.setLineJoin=l.setLineJoin=function(t){var e=l.CapJoinStyles[t];if(void 0===e)throw new Error(\"Line join style of '\"+t+\"' is not recognized. See or extend .CapJoinStyles property for valid styles\");return tt((ne=e)+\" j\"),this},l.__private__.setMiterLimit=l.setMiterLimit=function(t){if(t=t||0,isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.setMiterLimit\");return ee=parseFloat(Z(t*_)),tt(ee+\" M\"),this};for(var re in l.save=function(r,t){if(r=r||\"generated.pdf\",(t=t||{}).returnPromise=t.returnPromise||!1,!1!==t.returnPromise)return new Promise(function(t,e){try{var n=le(It(kt()),r);\"function\"==typeof le.unload&&ie.setTimeout&&setTimeout(le.unload,911),t(n)}catch(t){e(t.message)}});le(It(kt()),r),\"function\"==typeof le.unload&&ie.setTimeout&&setTimeout(le.unload,911)},ae.API)ae.API.hasOwnProperty(re)&&(\"events\"===re&&ae.API.events.length?function(t,e){var n,r,i;for(i=e.length-1;-1!==i;i--)n=e[i][0],r=e[i][1],t.subscribe.apply(t,[n].concat(\"function\"==typeof r?[r]:r))}(it,ae.API.events):l[re]=ae.API[re]);return l.internal={pdfEscape:vt,getStyle:qt,getFont:function(){return rt[Lt.apply(l,arguments)]},getFontSize:O,getCharSpace:$t,getTextColor:Zt,getLineHeight:Ut,getLineHeightFactor:Ht,write:j,getHorizontalCoordinate:Wt,getVerticalCoordinate:Vt,getCoordinateString:Gt,getVerticalCoordinateString:Yt,collections:{},newObject:J,newAdditionalObject:at,newObjectDeferred:X,newObjectDeferredBegin:ot,getFilters:ct,putStream:ft,events:it,scaleFactor:_,pageSize:{getWidth:function(){return(V[x].mediaBox.topRightX-V[x].mediaBox.bottomLeftX)/_},setWidth:function(t){V[x].mediaBox.topRightX=t*_+V[x].mediaBox.bottomLeftX},getHeight:function(){return(V[x].mediaBox.topRightY-V[x].mediaBox.bottomLeftY)/_},setHeight:function(t){V[x].mediaBox.topRightY=t*_+V[x].mediaBox.bottomLeftY}},output:Ct,getNumberOfPages:Nt,pages:I,out:tt,f2:Z,f3:Q,getPageInfo:jt,getPageInfoByObjId:Et,getCurrentPageInfo:Mt,getPDFVersion:u,hasHotfix:Bt},Object.defineProperty(l.internal.pageSize,\"width\",{get:function(){return(V[x].mediaBox.topRightX-V[x].mediaBox.bottomLeftX)/_},set:function(t){V[x].mediaBox.topRightX=t*_+V[x].mediaBox.bottomLeftX},enumerable:!0,configurable:!0}),Object.defineProperty(l.internal.pageSize,\"height\",{get:function(){return(V[x].mediaBox.topRightY-V[x].mediaBox.bottomLeftY)/_},set:function(t){V[x].mediaBox.topRightY=t*_+V[x].mediaBox.bottomLeftY},enumerable:!0,configurable:!0}),function(t){for(var e=0,n=M.length;e<n;e++){var r=yt(t[e][0],t[e][1],t[e][2],M[e][3],!0);K[r]=!0;var i=t[e][0].split(\"-\");mt(r,i[0],i[1]||\"\")}it.publish(\"addFonts\",{fonts:rt,dictionary:H})}(M),$=\"F1\",bt(i,t),it.publish(\"initialized\"),l}return ae.API={events:[]},ae.version=\"1.5.3\",\"function\"==typeof define&&define.amd?define(\"jsPDF\",function(){return ae}):\"undefined\"!=typeof module&&module.exports?(module.exports=ae,module.exports.jsPDF=ae):ie.jsPDF=ae,ae}(\"undefined\"!=typeof self&&self||\"undefined\"!=typeof window&&window||\"undefined\"!=typeof global&&global||Function('return typeof this === \"object\" && this.content')()||Function(\"return this\")());\n/**\n   * @license\n   * Copyright (c) 2016 Alexander Weidt,\n   * https://github.com/BiggA94\n   * \n   * Licensed under the MIT License. http://opensource.org/licenses/mit-license\n   */\n(function(t,e){var A,n=1,S=function(t){return t.replace(/\\\\/g,\"\\\\\\\\\").replace(/\\(/g,\"\\\\(\").replace(/\\)/g,\"\\\\)\")},y=function(t){return t.replace(/\\\\\\\\/g,\"\\\\\").replace(/\\\\\\(/g,\"(\").replace(/\\\\\\)/g,\")\")},_=function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.f2\");return t.toFixed(2)},s=function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.f2\");return t.toFixed(5)};t.__acroform__={};var r=function(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t},v=function(t){return t*n},w=function(t){return t/n},l=function(t){var e=new j,n=Y.internal.getHeight(t)||0,r=Y.internal.getWidth(t)||0;return e.BBox=[0,0,Number(_(r)),Number(_(n))],e},i=t.__acroform__.setBit=function(t,e){if(t=t||0,e=e||0,isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.setBit\");return t|=1<<e},o=t.__acroform__.clearBit=function(t,e){if(t=t||0,e=e||0,isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.clearBit\");return t&=~(1<<e)},a=t.__acroform__.getBit=function(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.getBit\");return 0==(t&1<<e)?0:1},b=t.__acroform__.getBitForPdf=function(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.getBitForPdf\");return a(t,e-1)},x=t.__acroform__.setBitForPdf=function(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.setBitForPdf\");return i(t,e-1)},N=t.__acroform__.clearBitForPdf=function(t,e,n){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.clearBitForPdf\");return o(t,e-1)},c=t.__acroform__.calculateCoordinates=function(t){var e=this.internal.getHorizontalCoordinate,n=this.internal.getVerticalCoordinate,r=t[0],i=t[1],o=t[2],a=t[3],s={};return s.lowerLeft_X=e(r)||0,s.lowerLeft_Y=n(i+a)||0,s.upperRight_X=e(r+o)||0,s.upperRight_Y=n(i)||0,[Number(_(s.lowerLeft_X)),Number(_(s.lowerLeft_Y)),Number(_(s.upperRight_X)),Number(_(s.upperRight_Y))]},f=function(t){if(t.appearanceStreamContent)return t.appearanceStreamContent;if(t.V||t.DV){var e=[],n=t.V||t.DV,r=h(t,n),i=A.internal.getFont(t.fontName,t.fontStyle).id;e.push(\"/Tx BMC\"),e.push(\"q\"),e.push(\"BT\"),e.push(A.__private__.encodeColorString(t.color)),e.push(\"/\"+i+\" \"+_(r.fontSize)+\" Tf\"),e.push(\"1 0 0 1 0 0 Tm\"),e.push(r.text),e.push(\"ET\"),e.push(\"Q\"),e.push(\"EMC\");var o=new l(t);return o.stream=e.join(\"\\n\"),o}},h=function(i,t){var e=i.maxFontSize||12,n=(i.fontName,{text:\"\",fontSize:\"\"}),o=(t=\")\"==(t=\"(\"==t.substr(0,1)?t.substr(1):t).substr(t.length-1)?t.substr(0,t.length-1):t).split(\" \"),r=(A.__private__.encodeColorString(i.color),e),a=Y.internal.getHeight(i)||0;a=a<0?-a:a;var s=Y.internal.getWidth(i)||0;s=s<0?-s:s;var l=function(t,e,n){if(t+1<o.length){var r=e+\" \"+o[t+1];return F(r,i,n).width<=s-4}return!1};r++;t:for(;;){t=\"\";var h=F(\"3\",i,--r).height,u=i.multiline?a-r:(a-h)/2,c=-2,f=u+=2,p=0,d=0,g=0;if(r<=0){t=\"(...) Tj\\n\",t+=\"% Width of Text: \"+F(t,i,r=12).width+\", FieldWidth:\"+s+\"\\n\";break}g=F(o[0]+\" \",i,r).width;var m=\"\",y=0;for(var v in o)if(o.hasOwnProperty(v)){m=\" \"==(m+=o[v]+\" \").substr(m.length-1)?m.substr(0,m.length-1):m;var w=parseInt(v);g=F(m+\" \",i,r).width;var b=l(w,m,r),x=v>=o.length-1;if(b&&!x){m+=\" \";continue}if(b||x){if(x)d=w;else if(i.multiline&&a<(h+2)*(y+2)+2)continue t}else{if(!i.multiline)continue t;if(a<(h+2)*(y+2)+2)continue t;d=w}for(var N=\"\",L=p;L<=d;L++)N+=o[L]+\" \";switch(N=\" \"==N.substr(N.length-1)?N.substr(0,N.length-1):N,g=F(N,i,r).width,i.textAlign){case\"right\":c=s-g-2;break;case\"center\":c=(s-g)/2;break;case\"left\":default:c=2}t+=_(c)+\" \"+_(f)+\" Td\\n\",t+=\"(\"+S(N)+\") Tj\\n\",t+=-_(c)+\" 0 Td\\n\",f=-(r+2),g=0,p=d+1,y++,m=\"\"}else;break}return n.text=t,n.fontSize=r,n},F=function(t,e,n){var r=A.internal.getFont(e.fontName,e.fontStyle),i=A.getStringUnitWidth(t,{font:r,fontSize:parseFloat(n),charSpace:0})*parseFloat(n);return{height:A.getStringUnitWidth(\"3\",{font:r,fontSize:parseFloat(n),charSpace:0})*parseFloat(n)*1.5,width:i}},u={fields:[],xForms:[],acroFormDictionaryRoot:null,printedOut:!1,internal:null,isInitialized:!1},p=function(){A.internal.acroformPlugin.acroFormDictionaryRoot.objId=void 0;var t=A.internal.acroformPlugin.acroFormDictionaryRoot.Fields;for(var e in t)if(t.hasOwnProperty(e)){var n=t[e];n.objId=void 0,n.hasAnnotation&&d.call(A,n)}},d=function(t){var e={type:\"reference\",object:t};void 0===A.internal.getPageInfo(t.page).pageContext.annotations.find(function(t){return t.type===e.type&&t.object===e.object})&&A.internal.getPageInfo(t.page).pageContext.annotations.push(e)},g=function(){if(void 0===A.internal.acroformPlugin.acroFormDictionaryRoot)throw new Error(\"putCatalogCallback: Root missing.\");A.internal.write(\"/AcroForm \"+A.internal.acroformPlugin.acroFormDictionaryRoot.objId+\" 0 R\")},m=function(){A.internal.events.unsubscribe(A.internal.acroformPlugin.acroFormDictionaryRoot._eventID),delete A.internal.acroformPlugin.acroFormDictionaryRoot._eventID,A.internal.acroformPlugin.printedOut=!0},L=function(t){var e=!t;t||(A.internal.newObjectDeferredBegin(A.internal.acroformPlugin.acroFormDictionaryRoot.objId,!0),A.internal.acroformPlugin.acroFormDictionaryRoot.putStream());t=t||A.internal.acroformPlugin.acroFormDictionaryRoot.Kids;for(var n in t)if(t.hasOwnProperty(n)){var r=t[n],i=[],o=r.Rect;if(r.Rect&&(r.Rect=c.call(this,r.Rect)),A.internal.newObjectDeferredBegin(r.objId,!0),r.DA=Y.createDefaultAppearanceStream(r),\"object\"===se(r)&&\"function\"==typeof r.getKeyValueListForStream&&(i=r.getKeyValueListForStream()),r.Rect=o,r.hasAppearanceStream&&!r.appearanceStreamContent){var a=f.call(this,r);i.push({key:\"AP\",value:\"<</N \"+a+\">>\"}),A.internal.acroformPlugin.xForms.push(a)}if(r.appearanceStreamContent){var s=\"\";for(var l in r.appearanceStreamContent)if(r.appearanceStreamContent.hasOwnProperty(l)){var h=r.appearanceStreamContent[l];if(s+=\"/\"+l+\" \",s+=\"<<\",1<=Object.keys(h).length||Array.isArray(h))for(var n in h){var u;if(h.hasOwnProperty(n))\"function\"==typeof(u=h[n])&&(u=u.call(this,r)),s+=\"/\"+n+\" \"+u+\" \",0<=A.internal.acroformPlugin.xForms.indexOf(u)||A.internal.acroformPlugin.xForms.push(u)}else\"function\"==typeof(u=h)&&(u=u.call(this,r)),s+=\"/\"+n+\" \"+u,0<=A.internal.acroformPlugin.xForms.indexOf(u)||A.internal.acroformPlugin.xForms.push(u);s+=\">>\"}i.push({key:\"AP\",value:\"<<\\n\"+s+\">>\"})}A.internal.putStream({additionalKeyValues:i}),A.internal.out(\"endobj\")}e&&P.call(this,A.internal.acroformPlugin.xForms)},P=function(t){for(var e in t)if(t.hasOwnProperty(e)){var n=e,r=t[e];A.internal.newObjectDeferredBegin(r&&r.objId,!0),\"object\"===se(r)&&\"function\"==typeof r.putStream&&r.putStream(),delete t[n]}},k=function(){if(void 0!==this.internal&&(void 0===this.internal.acroformPlugin||!1===this.internal.acroformPlugin.isInitialized)){if(A=this,M.FieldNum=0,this.internal.acroformPlugin=JSON.parse(JSON.stringify(u)),this.internal.acroformPlugin.acroFormDictionaryRoot)throw new Error(\"Exception while creating AcroformDictionary\");n=A.internal.scaleFactor,A.internal.acroformPlugin.acroFormDictionaryRoot=new E,A.internal.acroformPlugin.acroFormDictionaryRoot._eventID=A.internal.events.subscribe(\"postPutResources\",m),A.internal.events.subscribe(\"buildDocument\",p),A.internal.events.subscribe(\"putCatalog\",g),A.internal.events.subscribe(\"postPutPages\",L),A.internal.acroformPlugin.isInitialized=!0}},I=t.__acroform__.arrayToPdfArray=function(t){if(Array.isArray(t)){for(var e=\"[\",n=0;n<t.length;n++)switch(0!==n&&(e+=\" \"),se(t[n])){case\"boolean\":case\"number\":case\"object\":e+=t[n].toString();break;case\"string\":\"/\"!==t[n].substr(0,1)?e+=\"(\"+S(t[n].toString())+\")\":e+=t[n].toString()}return e+=\"]\"}throw new Error(\"Invalid argument passed to jsPDF.__acroform__.arrayToPdfArray\")};var C=function(t){return(t=t||\"\").toString(),t=\"(\"+S(t)+\")\"},B=function(){var e;Object.defineProperty(this,\"objId\",{configurable:!0,get:function(){if(e||(e=A.internal.newObjectDeferred()),!e)throw new Error(\"AcroFormPDFObject: Couldn't create Object ID\");return e},set:function(t){e=t}})};B.prototype.toString=function(){return this.objId+\" 0 R\"},B.prototype.putStream=function(){var t=this.getKeyValueListForStream();A.internal.putStream({data:this.stream,additionalKeyValues:t}),A.internal.out(\"endobj\")},B.prototype.getKeyValueListForStream=function(){return function(t){var e=[],n=Object.getOwnPropertyNames(t).filter(function(t){return\"content\"!=t&&\"appearanceStreamContent\"!=t&&\"_\"!=t.substring(0,1)});for(var r in n)if(!1===Object.getOwnPropertyDescriptor(t,n[r]).configurable){var i=n[r],o=t[i];o&&(Array.isArray(o)?e.push({key:i,value:I(o)}):o instanceof B?e.push({key:i,value:o.objId+\" 0 R\"}):\"function\"!=typeof o&&e.push({key:i,value:o}))}return e}(this)};var j=function(){B.call(this),Object.defineProperty(this,\"Type\",{value:\"/XObject\",configurable:!1,writeable:!0}),Object.defineProperty(this,\"Subtype\",{value:\"/Form\",configurable:!1,writeable:!0}),Object.defineProperty(this,\"FormType\",{value:1,configurable:!1,writeable:!0});var e,n=[];Object.defineProperty(this,\"BBox\",{configurable:!1,writeable:!0,get:function(){return n},set:function(t){n=t}}),Object.defineProperty(this,\"Resources\",{value:\"2 0 R\",configurable:!1,writeable:!0}),Object.defineProperty(this,\"stream\",{enumerable:!1,configurable:!0,set:function(t){e=t.trim()},get:function(){return e||null}})};r(j,B);var E=function(){B.call(this);var e,t=[];Object.defineProperty(this,\"Kids\",{enumerable:!1,configurable:!0,get:function(){return 0<t.length?t:void 0}}),Object.defineProperty(this,\"Fields\",{enumerable:!1,configurable:!1,get:function(){return t}}),Object.defineProperty(this,\"DA\",{enumerable:!1,configurable:!1,get:function(){if(e)return\"(\"+e+\")\"},set:function(t){e=t}})};r(E,B);var M=function t(){B.call(this);var e=4;Object.defineProperty(this,\"F\",{enumerable:!1,configurable:!1,get:function(){return e},set:function(t){if(isNaN(t))throw new Error('Invalid value \"'+t+'\" for attribute F supplied.');e=t}}),Object.defineProperty(this,\"showWhenPrinted\",{enumerable:!0,configurable:!0,get:function(){return Boolean(b(e,3))},set:function(t){!0===Boolean(t)?this.F=x(e,3):this.F=N(e,3)}});var n=0;Object.defineProperty(this,\"Ff\",{enumerable:!1,configurable:!1,get:function(){return n},set:function(t){if(isNaN(t))throw new Error('Invalid value \"'+t+'\" for attribute Ff supplied.');n=t}});var r=[];Object.defineProperty(this,\"Rect\",{enumerable:!1,configurable:!1,get:function(){if(0!==r.length)return r},set:function(t){r=void 0!==t?t:[]}}),Object.defineProperty(this,\"x\",{enumerable:!0,configurable:!0,get:function(){return!r||isNaN(r[0])?0:w(r[0])},set:function(t){r[0]=v(t)}}),Object.defineProperty(this,\"y\",{enumerable:!0,configurable:!0,get:function(){return!r||isNaN(r[1])?0:w(r[1])},set:function(t){r[1]=v(t)}}),Object.defineProperty(this,\"width\",{enumerable:!0,configurable:!0,get:function(){return!r||isNaN(r[2])?0:w(r[2])},set:function(t){r[2]=v(t)}}),Object.defineProperty(this,\"height\",{enumerable:!0,configurable:!0,get:function(){return!r||isNaN(r[3])?0:w(r[3])},set:function(t){r[3]=v(t)}});var i=\"\";Object.defineProperty(this,\"FT\",{enumerable:!0,configurable:!1,get:function(){return i},set:function(t){switch(t){case\"/Btn\":case\"/Tx\":case\"/Ch\":case\"/Sig\":i=t;break;default:throw new Error('Invalid value \"'+t+'\" for attribute FT supplied.')}}});var o=null;Object.defineProperty(this,\"T\",{enumerable:!0,configurable:!1,get:function(){if(!o||o.length<1){if(this instanceof H)return;o=\"FieldObject\"+t.FieldNum++}return\"(\"+S(o)+\")\"},set:function(t){o=t.toString()}}),Object.defineProperty(this,\"fieldName\",{configurable:!0,enumerable:!0,get:function(){return o},set:function(t){o=t}});var a=\"helvetica\";Object.defineProperty(this,\"fontName\",{enumerable:!0,configurable:!0,get:function(){return a},set:function(t){a=t}});var s=\"normal\";Object.defineProperty(this,\"fontStyle\",{enumerable:!0,configurable:!0,get:function(){return s},set:function(t){s=t}});var l=0;Object.defineProperty(this,\"fontSize\",{enumerable:!0,configurable:!0,get:function(){return w(l)},set:function(t){l=v(t)}});var h=50;Object.defineProperty(this,\"maxFontSize\",{enumerable:!0,configurable:!0,get:function(){return w(h)},set:function(t){h=v(t)}});var u=\"black\";Object.defineProperty(this,\"color\",{enumerable:!0,configurable:!0,get:function(){return u},set:function(t){u=t}});var c=\"/F1 0 Tf 0 g\";Object.defineProperty(this,\"DA\",{enumerable:!0,configurable:!1,get:function(){if(!(!c||this instanceof H||this instanceof V))return C(c)},set:function(t){t=t.toString(),c=t}});var f=null;Object.defineProperty(this,\"DV\",{enumerable:!1,configurable:!1,get:function(){if(f)return this instanceof D==!1?C(f):f},set:function(t){t=t.toString(),f=this instanceof D==!1?\"(\"===t.substr(0,1)?y(t.substr(1,t.length-2)):y(t):t}}),Object.defineProperty(this,\"defaultValue\",{enumerable:!0,configurable:!0,get:function(){return this instanceof D==!0?y(f.substr(1,f.length-1)):f},set:function(t){t=t.toString(),f=this instanceof D==!0?\"/\"+t:t}});var p=null;Object.defineProperty(this,\"V\",{enumerable:!1,configurable:!1,get:function(){if(p)return this instanceof D==!1?C(p):p},set:function(t){t=t.toString(),p=this instanceof D==!1?\"(\"===t.substr(0,1)?y(t.substr(1,t.length-2)):y(t):t}}),Object.defineProperty(this,\"value\",{enumerable:!0,configurable:!0,get:function(){return this instanceof D==!0?y(p.substr(1,p.length-1)):p},set:function(t){t=t.toString(),p=this instanceof D==!0?\"/\"+t:t}}),Object.defineProperty(this,\"hasAnnotation\",{enumerable:!0,configurable:!0,get:function(){return this.Rect}}),Object.defineProperty(this,\"Type\",{enumerable:!0,configurable:!1,get:function(){return this.hasAnnotation?\"/Annot\":null}}),Object.defineProperty(this,\"Subtype\",{enumerable:!0,configurable:!1,get:function(){return this.hasAnnotation?\"/Widget\":null}});var d,g=!1;Object.defineProperty(this,\"hasAppearanceStream\",{enumerable:!0,configurable:!0,writeable:!0,get:function(){return g},set:function(t){t=Boolean(t),g=t}}),Object.defineProperty(this,\"page\",{enumerable:!0,configurable:!0,writeable:!0,get:function(){if(d)return d},set:function(t){d=t}}),Object.defineProperty(this,\"readOnly\",{enumerable:!0,configurable:!0,get:function(){return Boolean(b(this.Ff,1))},set:function(t){!0===Boolean(t)?this.Ff=x(this.Ff,1):this.Ff=N(this.Ff,1)}}),Object.defineProperty(this,\"required\",{enumerable:!0,configurable:!0,get:function(){return Boolean(b(this.Ff,2))},set:function(t){!0===Boolean(t)?this.Ff=x(this.Ff,2):this.Ff=N(this.Ff,2)}}),Object.defineProperty(this,\"noExport\",{enumerable:!0,configurable:!0,get:function(){return Boolean(b(this.Ff,3))},set:function(t){!0===Boolean(t)?this.Ff=x(this.Ff,3):this.Ff=N(this.Ff,3)}});var m=null;Object.defineProperty(this,\"Q\",{enumerable:!0,configurable:!1,get:function(){if(null!==m)return m},set:function(t){if(-1===[0,1,2].indexOf(t))throw new Error('Invalid value \"'+t+'\" for attribute Q supplied.');m=t}}),Object.defineProperty(this,\"textAlign\",{get:function(){var t=\"left\";switch(m){case 0:default:t=\"left\";break;case 1:t=\"center\";break;case 2:t=\"right\"}return t},configurable:!0,enumerable:!0,set:function(t){switch(t){case\"right\":case 2:m=2;break;case\"center\":case 1:m=1;break;case\"left\":case 0:default:m=0}}})};r(M,B);var O=function(){M.call(this),this.FT=\"/Ch\",this.V=\"()\",this.fontName=\"zapfdingbats\";var e=0;Object.defineProperty(this,\"TI\",{enumerable:!0,configurable:!1,get:function(){return e},set:function(t){e=t}}),Object.defineProperty(this,\"topIndex\",{enumerable:!0,configurable:!0,get:function(){return e},set:function(t){e=t}});var r=[];Object.defineProperty(this,\"Opt\",{enumerable:!0,configurable:!1,get:function(){return I(r)},set:function(t){var e,n;n=[],\"string\"==typeof(e=t)&&(n=function(t,e,n){n||(n=1);for(var r,i=[];r=e.exec(t);)i.push(r[n]);return i}(e,/\\((.*?)\\)/g)),r=n}}),this.getOptions=function(){return r},this.setOptions=function(t){r=t,this.sort&&r.sort()},this.addOption=function(t){t=(t=t||\"\").toString(),r.push(t),this.sort&&r.sort()},this.removeOption=function(t,e){for(e=e||!1,t=(t=t||\"\").toString();-1!==r.indexOf(t)&&(r.splice(r.indexOf(t),1),!1!==e););},Object.defineProperty(this,\"combo\",{enumerable:!0,configurable:!0,get:function(){return Boolean(b(this.Ff,18))},set:function(t){!0===Boolean(t)?this.Ff=x(this.Ff,18):this.Ff=N(this.Ff,18)}}),Object.defineProperty(this,\"edit\",{enumerable:!0,configurable:!0,get:function(){return Boolean(b(this.Ff,19))},set:function(t){!0===this.combo&&(!0===Boolean(t)?this.Ff=x(this.Ff,19):this.Ff=N(this.Ff,19))}}),Object.defineProperty(this,\"sort\",{enumerable:!0,configurable:!0,get:function(){return Boolean(b(this.Ff,20))},set:function(t){!0===Boolean(t)?(this.Ff=x(this.Ff,20),r.sort()):this.Ff=N(this.Ff,20)}}),Object.defineProperty(this,\"multiSelect\",{enumerable:!0,configurable:!0,get:function(){return Boolean(b(this.Ff,22))},set:function(t){!0===Boolean(t)?this.Ff=x(this.Ff,22):this.Ff=N(this.Ff,22)}}),Object.defineProperty(this,\"doNotSpellCheck\",{enumerable:!0,configurable:!0,get:function(){return Boolean(b(this.Ff,23))},set:function(t){!0===Boolean(t)?this.Ff=x(this.Ff,23):this.Ff=N(this.Ff,23)}}),Object.defineProperty(this,\"commitOnSelChange\",{enumerable:!0,configurable:!0,get:function(){return Boolean(b(this.Ff,27))},set:function(t){!0===Boolean(t)?this.Ff=x(this.Ff,27):this.Ff=N(this.Ff,27)}}),this.hasAppearanceStream=!1};r(O,M);var q=function(){O.call(this),this.fontName=\"helvetica\",this.combo=!1};r(q,O);var T=function(){q.call(this),this.combo=!0};r(T,q);var R=function(){T.call(this),this.edit=!0};r(R,T);var D=function(){M.call(this),this.FT=\"/Btn\",Object.defineProperty(this,\"noToggleToOff\",{enumerable:!0,configurable:!0,get:function(){return Boolean(b(this.Ff,15))},set:function(t){!0===Boolean(t)?this.Ff=x(this.Ff,15):this.Ff=N(this.Ff,15)}}),Object.defineProperty(this,\"radio\",{enumerable:!0,configurable:!0,get:function(){return Boolean(b(this.Ff,16))},set:function(t){!0===Boolean(t)?this.Ff=x(this.Ff,16):this.Ff=N(this.Ff,16)}}),Object.defineProperty(this,\"pushButton\",{enumerable:!0,configurable:!0,get:function(){return Boolean(b(this.Ff,17))},set:function(t){!0===Boolean(t)?this.Ff=x(this.Ff,17):this.Ff=N(this.Ff,17)}}),Object.defineProperty(this,\"radioIsUnison\",{enumerable:!0,configurable:!0,get:function(){return Boolean(b(this.Ff,26))},set:function(t){!0===Boolean(t)?this.Ff=x(this.Ff,26):this.Ff=N(this.Ff,26)}});var e,n={};Object.defineProperty(this,\"MK\",{enumerable:!1,configurable:!1,get:function(){if(0!==Object.keys(n).length){var t,e=[];for(t in e.push(\"<<\"),n)e.push(\"/\"+t+\" (\"+n[t]+\")\");return e.push(\">>\"),e.join(\"\\n\")}},set:function(t){\"object\"===se(t)&&(n=t)}}),Object.defineProperty(this,\"caption\",{enumerable:!0,configurable:!0,get:function(){return n.CA||\"\"},set:function(t){\"string\"==typeof t&&(n.CA=t)}}),Object.defineProperty(this,\"AS\",{enumerable:!1,configurable:!1,get:function(){return e},set:function(t){e=t}}),Object.defineProperty(this,\"appearanceState\",{enumerable:!0,configurable:!0,get:function(){return e.substr(1,e.length-1)},set:function(t){e=\"/\"+t}})};r(D,M);var U=function(){D.call(this),this.pushButton=!0};r(U,D);var z=function(){D.call(this),this.radio=!0,this.pushButton=!1;var e=[];Object.defineProperty(this,\"Kids\",{enumerable:!0,configurable:!1,get:function(){return e},set:function(t){e=void 0!==t?t:[]}})};r(z,D);var H=function(){var e,n;M.call(this),Object.defineProperty(this,\"Parent\",{enumerable:!1,configurable:!1,get:function(){return e},set:function(t){e=t}}),Object.defineProperty(this,\"optionName\",{enumerable:!1,configurable:!0,get:function(){return n},set:function(t){n=t}});var r,i={};Object.defineProperty(this,\"MK\",{enumerable:!1,configurable:!1,get:function(){var t,e=[];for(t in e.push(\"<<\"),i)e.push(\"/\"+t+\" (\"+i[t]+\")\");return e.push(\">>\"),e.join(\"\\n\")},set:function(t){\"object\"===se(t)&&(i=t)}}),Object.defineProperty(this,\"caption\",{enumerable:!0,configurable:!0,get:function(){return i.CA||\"\"},set:function(t){\"string\"==typeof t&&(i.CA=t)}}),Object.defineProperty(this,\"AS\",{enumerable:!1,configurable:!1,get:function(){return r},set:function(t){r=t}}),Object.defineProperty(this,\"appearanceState\",{enumerable:!0,configurable:!0,get:function(){return r.substr(1,r.length-1)},set:function(t){r=\"/\"+t}}),this.optionName=name,this.caption=\"l\",this.appearanceState=\"Off\",this._AppearanceType=Y.RadioButton.Circle,this.appearanceStreamContent=this._AppearanceType.createAppearanceStream(name)};r(H,M),z.prototype.setAppearance=function(t){if(!(\"createAppearanceStream\"in t&&\"getCA\"in t))throw new Error(\"Couldn't assign Appearance to RadioButton. Appearance was Invalid!\");for(var e in this.Kids)if(this.Kids.hasOwnProperty(e)){var n=this.Kids[e];n.appearanceStreamContent=t.createAppearanceStream(n.optionName),n.caption=t.getCA()}},z.prototype.createOption=function(t){this.Kids.length;var e=new H;return e.Parent=this,e.optionName=t,this.Kids.push(e),J.call(this,e),e};var W=function(){D.call(this),this.fontName=\"zapfdingbats\",this.caption=\"3\",this.appearanceState=\"On\",this.value=\"On\",this.textAlign=\"center\",this.appearanceStreamContent=Y.CheckBox.createAppearanceStream()};r(W,D);var V=function(){M.call(this),this.FT=\"/Tx\",Object.defineProperty(this,\"multiline\",{enumerable:!0,configurable:!0,get:function(){return Boolean(b(this.Ff,13))},set:function(t){!0===Boolean(t)?this.Ff=x(this.Ff,13):this.Ff=N(this.Ff,13)}}),Object.defineProperty(this,\"fileSelect\",{enumerable:!0,configurable:!0,get:function(){return Boolean(b(this.Ff,21))},set:function(t){!0===Boolean(t)?this.Ff=x(this.Ff,21):this.Ff=N(this.Ff,21)}}),Object.defineProperty(this,\"doNotSpellCheck\",{enumerable:!0,configurable:!0,get:function(){return Boolean(b(this.Ff,23))},set:function(t){!0===Boolean(t)?this.Ff=x(this.Ff,23):this.Ff=N(this.Ff,23)}}),Object.defineProperty(this,\"doNotScroll\",{enumerable:!0,configurable:!0,get:function(){return Boolean(b(this.Ff,24))},set:function(t){!0===Boolean(t)?this.Ff=x(this.Ff,24):this.Ff=N(this.Ff,24)}}),Object.defineProperty(this,\"comb\",{enumerable:!0,configurable:!0,get:function(){return Boolean(b(this.Ff,25))},set:function(t){!0===Boolean(t)?this.Ff=x(this.Ff,25):this.Ff=N(this.Ff,25)}}),Object.defineProperty(this,\"richText\",{enumerable:!0,configurable:!0,get:function(){return Boolean(b(this.Ff,26))},set:function(t){!0===Boolean(t)?this.Ff=x(this.Ff,26):this.Ff=N(this.Ff,26)}});var e=null;Object.defineProperty(this,\"MaxLen\",{enumerable:!0,configurable:!1,get:function(){return e},set:function(t){e=t}}),Object.defineProperty(this,\"maxLength\",{enumerable:!0,configurable:!0,get:function(){return e},set:function(t){Number.isInteger(t)&&(e=t)}}),Object.defineProperty(this,\"hasAppearanceStream\",{enumerable:!0,configurable:!0,get:function(){return this.V||this.DV}})};r(V,M);var G=function(){V.call(this),Object.defineProperty(this,\"password\",{enumerable:!0,configurable:!0,get:function(){return Boolean(b(this.Ff,14))},set:function(t){!0===Boolean(t)?this.Ff=x(this.Ff,14):this.Ff=N(this.Ff,14)}}),this.password=!0};r(G,V);var Y={CheckBox:{createAppearanceStream:function(){return{N:{On:Y.CheckBox.YesNormal},D:{On:Y.CheckBox.YesPushDown,Off:Y.CheckBox.OffPushDown}}},YesPushDown:function(t){var e=l(t),n=[],r=A.internal.getFont(t.fontName,t.fontStyle).id,i=A.__private__.encodeColorString(t.color),o=h(t,t.caption);return n.push(\"0.749023 g\"),n.push(\"0 0 \"+_(Y.internal.getWidth(t))+\" \"+_(Y.internal.getHeight(t))+\" re\"),n.push(\"f\"),n.push(\"BMC\"),n.push(\"q\"),n.push(\"0 0 1 rg\"),n.push(\"/\"+r+\" \"+_(o.fontSize)+\" Tf \"+i),n.push(\"BT\"),n.push(o.text),n.push(\"ET\"),n.push(\"Q\"),n.push(\"EMC\"),e.stream=n.join(\"\\n\"),e},YesNormal:function(t){var e=l(t),n=A.internal.getFont(t.fontName,t.fontStyle).id,r=A.__private__.encodeColorString(t.color),i=[],o=Y.internal.getHeight(t),a=Y.internal.getWidth(t),s=h(t,t.caption);return i.push(\"1 g\"),i.push(\"0 0 \"+_(a)+\" \"+_(o)+\" re\"),i.push(\"f\"),i.push(\"q\"),i.push(\"0 0 1 rg\"),i.push(\"0 0 \"+_(a-1)+\" \"+_(o-1)+\" re\"),i.push(\"W\"),i.push(\"n\"),i.push(\"0 g\"),i.push(\"BT\"),i.push(\"/\"+n+\" \"+_(s.fontSize)+\" Tf \"+r),i.push(s.text),i.push(\"ET\"),i.push(\"Q\"),e.stream=i.join(\"\\n\"),e},OffPushDown:function(t){var e=l(t),n=[];return n.push(\"0.749023 g\"),n.push(\"0 0 \"+_(Y.internal.getWidth(t))+\" \"+_(Y.internal.getHeight(t))+\" re\"),n.push(\"f\"),e.stream=n.join(\"\\n\"),e}},RadioButton:{Circle:{createAppearanceStream:function(t){var e={D:{Off:Y.RadioButton.Circle.OffPushDown},N:{}};return e.N[t]=Y.RadioButton.Circle.YesNormal,e.D[t]=Y.RadioButton.Circle.YesPushDown,e},getCA:function(){return\"l\"},YesNormal:function(t){var e=l(t),n=[],r=Y.internal.getWidth(t)<=Y.internal.getHeight(t)?Y.internal.getWidth(t)/4:Y.internal.getHeight(t)/4;r=Number((.9*r).toFixed(5));var i=Y.internal.Bezier_C,o=Number((r*i).toFixed(5));return n.push(\"q\"),n.push(\"1 0 0 1 \"+s(Y.internal.getWidth(t)/2)+\" \"+s(Y.internal.getHeight(t)/2)+\" cm\"),n.push(r+\" 0 m\"),n.push(r+\" \"+o+\" \"+o+\" \"+r+\" 0 \"+r+\" c\"),n.push(\"-\"+o+\" \"+r+\" -\"+r+\" \"+o+\" -\"+r+\" 0 c\"),n.push(\"-\"+r+\" -\"+o+\" -\"+o+\" -\"+r+\" 0 -\"+r+\" c\"),n.push(o+\" -\"+r+\" \"+r+\" -\"+o+\" \"+r+\" 0 c\"),n.push(\"f\"),n.push(\"Q\"),e.stream=n.join(\"\\n\"),e},YesPushDown:function(t){var e=l(t),n=[],r=Y.internal.getWidth(t)<=Y.internal.getHeight(t)?Y.internal.getWidth(t)/4:Y.internal.getHeight(t)/4,i=(r=Number((.9*r).toFixed(5)),Number((2*r).toFixed(5))),o=Number((i*Y.internal.Bezier_C).toFixed(5)),a=Number((r*Y.internal.Bezier_C).toFixed(5));return n.push(\"0.749023 g\"),n.push(\"q\"),n.push(\"1 0 0 1 \"+s(Y.internal.getWidth(t)/2)+\" \"+s(Y.internal.getHeight(t)/2)+\" cm\"),n.push(i+\" 0 m\"),n.push(i+\" \"+o+\" \"+o+\" \"+i+\" 0 \"+i+\" c\"),n.push(\"-\"+o+\" \"+i+\" -\"+i+\" \"+o+\" -\"+i+\" 0 c\"),n.push(\"-\"+i+\" -\"+o+\" -\"+o+\" -\"+i+\" 0 -\"+i+\" c\"),n.push(o+\" -\"+i+\" \"+i+\" -\"+o+\" \"+i+\" 0 c\"),n.push(\"f\"),n.push(\"Q\"),n.push(\"0 g\"),n.push(\"q\"),n.push(\"1 0 0 1 \"+s(Y.internal.getWidth(t)/2)+\" \"+s(Y.internal.getHeight(t)/2)+\" cm\"),n.push(r+\" 0 m\"),n.push(r+\" \"+a+\" \"+a+\" \"+r+\" 0 \"+r+\" c\"),n.push(\"-\"+a+\" \"+r+\" -\"+r+\" \"+a+\" -\"+r+\" 0 c\"),n.push(\"-\"+r+\" -\"+a+\" -\"+a+\" -\"+r+\" 0 -\"+r+\" c\"),n.push(a+\" -\"+r+\" \"+r+\" -\"+a+\" \"+r+\" 0 c\"),n.push(\"f\"),n.push(\"Q\"),e.stream=n.join(\"\\n\"),e},OffPushDown:function(t){var e=l(t),n=[],r=Y.internal.getWidth(t)<=Y.internal.getHeight(t)?Y.internal.getWidth(t)/4:Y.internal.getHeight(t)/4,i=(r=Number((.9*r).toFixed(5)),Number((2*r).toFixed(5))),o=Number((i*Y.internal.Bezier_C).toFixed(5));return n.push(\"0.749023 g\"),n.push(\"q\"),n.push(\"1 0 0 1 \"+s(Y.internal.getWidth(t)/2)+\" \"+s(Y.internal.getHeight(t)/2)+\" cm\"),n.push(i+\" 0 m\"),n.push(i+\" \"+o+\" \"+o+\" \"+i+\" 0 \"+i+\" c\"),n.push(\"-\"+o+\" \"+i+\" -\"+i+\" \"+o+\" -\"+i+\" 0 c\"),n.push(\"-\"+i+\" -\"+o+\" -\"+o+\" -\"+i+\" 0 -\"+i+\" c\"),n.push(o+\" -\"+i+\" \"+i+\" -\"+o+\" \"+i+\" 0 c\"),n.push(\"f\"),n.push(\"Q\"),e.stream=n.join(\"\\n\"),e}},Cross:{createAppearanceStream:function(t){var e={D:{Off:Y.RadioButton.Cross.OffPushDown},N:{}};return e.N[t]=Y.RadioButton.Cross.YesNormal,e.D[t]=Y.RadioButton.Cross.YesPushDown,e},getCA:function(){return\"8\"},YesNormal:function(t){var e=l(t),n=[],r=Y.internal.calculateCross(t);return n.push(\"q\"),n.push(\"1 1 \"+_(Y.internal.getWidth(t)-2)+\" \"+_(Y.internal.getHeight(t)-2)+\" re\"),n.push(\"W\"),n.push(\"n\"),n.push(_(r.x1.x)+\" \"+_(r.x1.y)+\" m\"),n.push(_(r.x2.x)+\" \"+_(r.x2.y)+\" l\"),n.push(_(r.x4.x)+\" \"+_(r.x4.y)+\" m\"),n.push(_(r.x3.x)+\" \"+_(r.x3.y)+\" l\"),n.push(\"s\"),n.push(\"Q\"),e.stream=n.join(\"\\n\"),e},YesPushDown:function(t){var e=l(t),n=Y.internal.calculateCross(t),r=[];return r.push(\"0.749023 g\"),r.push(\"0 0 \"+_(Y.internal.getWidth(t))+\" \"+_(Y.internal.getHeight(t))+\" re\"),r.push(\"f\"),r.push(\"q\"),r.push(\"1 1 \"+_(Y.internal.getWidth(t)-2)+\" \"+_(Y.internal.getHeight(t)-2)+\" re\"),r.push(\"W\"),r.push(\"n\"),r.push(_(n.x1.x)+\" \"+_(n.x1.y)+\" m\"),r.push(_(n.x2.x)+\" \"+_(n.x2.y)+\" l\"),r.push(_(n.x4.x)+\" \"+_(n.x4.y)+\" m\"),r.push(_(n.x3.x)+\" \"+_(n.x3.y)+\" l\"),r.push(\"s\"),r.push(\"Q\"),e.stream=r.join(\"\\n\"),e},OffPushDown:function(t){var e=l(t),n=[];return n.push(\"0.749023 g\"),n.push(\"0 0 \"+_(Y.internal.getWidth(t))+\" \"+_(Y.internal.getHeight(t))+\" re\"),n.push(\"f\"),e.stream=n.join(\"\\n\"),e}}},createDefaultAppearanceStream:function(t){var e=A.internal.getFont(t.fontName,t.fontStyle).id,n=A.__private__.encodeColorString(t.color);return\"/\"+e+\" \"+t.fontSize+\" Tf \"+n}};Y.internal={Bezier_C:.551915024494,calculateCross:function(t){var e=Y.internal.getWidth(t),n=Y.internal.getHeight(t),r=Math.min(e,n);return{x1:{x:(e-r)/2,y:(n-r)/2+r},x2:{x:(e-r)/2+r,y:(n-r)/2},x3:{x:(e-r)/2,y:(n-r)/2},x4:{x:(e-r)/2+r,y:(n-r)/2+r}}}},Y.internal.getWidth=function(t){var e=0;return\"object\"===se(t)&&(e=v(t.Rect[2])),e},Y.internal.getHeight=function(t){var e=0;return\"object\"===se(t)&&(e=v(t.Rect[3])),e};var J=t.addField=function(t){if(k.call(this),!(t instanceof M))throw new Error(\"Invalid argument passed to jsPDF.addField.\");return function(t){A.internal.acroformPlugin.printedOut&&(A.internal.acroformPlugin.printedOut=!1,A.internal.acroformPlugin.acroFormDictionaryRoot=null),A.internal.acroformPlugin.acroFormDictionaryRoot||k.call(A),A.internal.acroformPlugin.acroFormDictionaryRoot.Fields.push(t)}.call(this,t),t.page=A.internal.getCurrentPageInfo().pageNumber,this};t.addButton=function(t){if(t instanceof D==!1)throw new Error(\"Invalid argument passed to jsPDF.addButton.\");return J.call(this,t)},t.addTextField=function(t){if(t instanceof V==!1)throw new Error(\"Invalid argument passed to jsPDF.addTextField.\");return J.call(this,t)},t.addChoiceField=function(t){if(t instanceof O==!1)throw new Error(\"Invalid argument passed to jsPDF.addChoiceField.\");return J.call(this,t)};\"object\"==se(e)&&void 0===e.ChoiceField&&void 0===e.ListBox&&void 0===e.ComboBox&&void 0===e.EditBox&&void 0===e.Button&&void 0===e.PushButton&&void 0===e.RadioButton&&void 0===e.CheckBox&&void 0===e.TextField&&void 0===e.PasswordField?(e.ChoiceField=O,e.ListBox=q,e.ComboBox=T,e.EditBox=R,e.Button=D,e.PushButton=U,e.RadioButton=z,e.CheckBox=W,e.TextField=V,e.PasswordField=G,e.AcroForm={Appearance:Y}):console.warn(\"AcroForm-Classes are not populated into global-namespace, because the class-Names exist already.\"),t.AcroFormChoiceField=O,t.AcroFormListBox=q,t.AcroFormComboBox=T,t.AcroFormEditBox=R,t.AcroFormButton=D,t.AcroFormPushButton=U,t.AcroFormRadioButton=z,t.AcroFormCheckBox=W,t.AcroFormTextField=V,t.AcroFormPasswordField=G,t.AcroFormAppearance=Y,t.AcroForm={ChoiceField:O,ListBox:q,ComboBox:T,EditBox:R,Button:D,PushButton:U,RadioButton:z,CheckBox:W,TextField:V,PasswordField:G,Appearance:Y}})((window.tmp=lt).API,\"undefined\"!=typeof window&&window||\"undefined\"!=typeof global&&global),\n/** @license\n   * jsPDF addImage plugin\n   * Copyright (c) 2012 Jason Siefken, https://github.com/siefkenj/\n   *               2013 Chris Dowling, https://github.com/gingerchris\n   *               2013 Trinh Ho, https://github.com/ineedfat\n   *               2013 Edwin Alejandro Perez, https://github.com/eaparango\n   *               2013 Norah Smith, https://github.com/burnburnrocket\n   *               2014 Diego Casorran, https://github.com/diegocr\n   *               2014 James Robb, https://github.com/jamesbrobb\n   *\n   * \n   */\nfunction(x){var N=\"addImage_\",l={PNG:[[137,80,78,71]],TIFF:[[77,77,0,42],[73,73,42,0]],JPEG:[[255,216,255,224,void 0,void 0,74,70,73,70,0],[255,216,255,225,void 0,void 0,69,120,105,102,0,0]],JPEG2000:[[0,0,0,12,106,80,32,32]],GIF87a:[[71,73,70,56,55,97]],GIF89a:[[71,73,70,56,57,97]],BMP:[[66,77],[66,65],[67,73],[67,80],[73,67],[80,84]]},h=x.getImageFileTypeByImageData=function(t,e){var n,r;e=e||\"UNKNOWN\";var i,o,a,s=\"UNKNOWN\";for(a in x.isArrayBufferView(t)&&(t=x.arrayBufferToBinaryString(t)),l)for(i=l[a],n=0;n<i.length;n+=1){for(o=!0,r=0;r<i[n].length;r+=1)if(void 0!==i[n][r]&&i[n][r]!==t.charCodeAt(r)){o=!1;break}if(!0===o){s=a;break}}return\"UNKNOWN\"===s&&\"UNKNOWN\"!==e&&(console.warn('FileType of Image not recognized. Processing image as \"'+e+'\".'),s=e),s},n=function t(e){for(var n=this.internal.newObject(),r=this.internal.write,i=this.internal.putStream,o=(0,this.internal.getFilters)();-1!==o.indexOf(\"FlateEncode\");)o.splice(o.indexOf(\"FlateEncode\"),1);e.n=n;var a=[];if(a.push({key:\"Type\",value:\"/XObject\"}),a.push({key:\"Subtype\",value:\"/Image\"}),a.push({key:\"Width\",value:e.w}),a.push({key:\"Height\",value:e.h}),e.cs===this.color_spaces.INDEXED?a.push({key:\"ColorSpace\",value:\"[/Indexed /DeviceRGB \"+(e.pal.length/3-1)+\" \"+(\"smask\"in e?n+2:n+1)+\" 0 R]\"}):(a.push({key:\"ColorSpace\",value:\"/\"+e.cs}),e.cs===this.color_spaces.DEVICE_CMYK&&a.push({key:\"Decode\",value:\"[1 0 1 0 1 0 1 0]\"})),a.push({key:\"BitsPerComponent\",value:e.bpc}),\"dp\"in e&&a.push({key:\"DecodeParms\",value:\"<<\"+e.dp+\">>\"}),\"trns\"in e&&e.trns.constructor==Array){for(var s=\"\",l=0,h=e.trns.length;l<h;l++)s+=e.trns[l]+\" \"+e.trns[l]+\" \";a.push({key:\"Mask\",value:\"[\"+s+\"]\"})}\"smask\"in e&&a.push({key:\"SMask\",value:n+1+\" 0 R\"});var u=void 0!==e.f?[\"/\"+e.f]:void 0;if(i({data:e.data,additionalKeyValues:a,alreadyAppliedFilters:u}),r(\"endobj\"),\"smask\"in e){var c=\"/Predictor \"+e.p+\" /Colors 1 /BitsPerComponent \"+e.bpc+\" /Columns \"+e.w,f={w:e.w,h:e.h,cs:\"DeviceGray\",bpc:e.bpc,dp:c,data:e.smask};\"f\"in e&&(f.f=e.f),t.call(this,f)}e.cs===this.color_spaces.INDEXED&&(this.internal.newObject(),i({data:this.arrayBufferToBinaryString(new Uint8Array(e.pal))}),r(\"endobj\"))},L=function(){var t=this.internal.collections[N+\"images\"];for(var e in t)n.call(this,t[e])},A=function(){var t,e=this.internal.collections[N+\"images\"],n=this.internal.write;for(var r in e)n(\"/I\"+(t=e[r]).i,t.n,\"0\",\"R\")},S=function(t){return\"function\"==typeof x[\"process\"+t.toUpperCase()]},_=function(t){return\"object\"===se(t)&&1===t.nodeType},F=function(t,e){if(\"IMG\"===t.nodeName&&t.hasAttribute(\"src\")){var n=\"\"+t.getAttribute(\"src\");if(0===n.indexOf(\"data:image/\"))return unescape(n);var r=x.loadFile(n);if(void 0!==r)return btoa(r)}if(\"CANVAS\"===t.nodeName){var i=t;return t.toDataURL(\"image/jpeg\",1)}(i=document.createElement(\"canvas\")).width=t.clientWidth||t.width,i.height=t.clientHeight||t.height;var o=i.getContext(\"2d\");if(!o)throw\"addImage requires canvas to be supported by browser.\";return o.drawImage(t,0,0,i.width,i.height),i.toDataURL(\"png\"==(\"\"+e).toLowerCase()?\"image/png\":\"image/jpeg\")},P=function(t,e){var n;if(e)for(var r in e)if(t===e[r].alias){n=e[r];break}return n};x.color_spaces={DEVICE_RGB:\"DeviceRGB\",DEVICE_GRAY:\"DeviceGray\",DEVICE_CMYK:\"DeviceCMYK\",CAL_GREY:\"CalGray\",CAL_RGB:\"CalRGB\",LAB:\"Lab\",ICC_BASED:\"ICCBased\",INDEXED:\"Indexed\",PATTERN:\"Pattern\",SEPARATION:\"Separation\",DEVICE_N:\"DeviceN\"},x.decode={DCT_DECODE:\"DCTDecode\",FLATE_DECODE:\"FlateDecode\",LZW_DECODE:\"LZWDecode\",JPX_DECODE:\"JPXDecode\",JBIG2_DECODE:\"JBIG2Decode\",ASCII85_DECODE:\"ASCII85Decode\",ASCII_HEX_DECODE:\"ASCIIHexDecode\",RUN_LENGTH_DECODE:\"RunLengthDecode\",CCITT_FAX_DECODE:\"CCITTFaxDecode\"},x.image_compression={NONE:\"NONE\",FAST:\"FAST\",MEDIUM:\"MEDIUM\",SLOW:\"SLOW\"},x.sHashCode=function(t){var e,n=0;if(0===(t=t||\"\").length)return n;for(e=0;e<t.length;e++)n=(n<<5)-n+t.charCodeAt(e),n|=0;return n},x.isString=function(t){return\"string\"==typeof t},x.validateStringAsBase64=function(t){(t=t||\"\").toString().trim();var e=!0;return 0===t.length&&(e=!1),t.length%4!=0&&(e=!1),!1===/^[A-Za-z0-9+\\/]+$/.test(t.substr(0,t.length-2))&&(e=!1),!1===/^[A-Za-z0-9\\/][A-Za-z0-9+\\/]|[A-Za-z0-9+\\/]=|==$/.test(t.substr(-2))&&(e=!1),e},x.extractInfoFromBase64DataURI=function(t){return/^data:([\\w]+?\\/([\\w]+?));\\S*;*base64,(.+)$/g.exec(t)},x.extractImageFromDataUrl=function(t){var e=(t=t||\"\").split(\"base64,\"),n=null;if(2===e.length){var r=/^data:(\\w*\\/\\w*);*(charset=[\\w=-]*)*;*$/.exec(e[0]);Array.isArray(r)&&(n={mimeType:r[1],charset:r[2],data:e[1]})}return n},x.supportsArrayBuffer=function(){return\"undefined\"!=typeof ArrayBuffer&&\"undefined\"!=typeof Uint8Array},x.isArrayBuffer=function(t){return!!this.supportsArrayBuffer()&&t instanceof ArrayBuffer},x.isArrayBufferView=function(t){return!!this.supportsArrayBuffer()&&(\"undefined\"!=typeof Uint32Array&&(t instanceof Int8Array||t instanceof Uint8Array||\"undefined\"!=typeof Uint8ClampedArray&&t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array||t instanceof Float64Array))},x.binaryStringToUint8Array=function(t){for(var e=t.length,n=new Uint8Array(e),r=0;r<e;r++)n[r]=t.charCodeAt(r);return n},x.arrayBufferToBinaryString=function(t){if(\"function\"==typeof atob)return atob(this.arrayBufferToBase64(t))},x.arrayBufferToBase64=function(t){for(var e,n=\"\",r=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",i=new Uint8Array(t),o=i.byteLength,a=o%3,s=o-a,l=0;l<s;l+=3)n+=r[(16515072&(e=i[l]<<16|i[l+1]<<8|i[l+2]))>>18]+r[(258048&e)>>12]+r[(4032&e)>>6]+r[63&e];return 1==a?n+=r[(252&(e=i[s]))>>2]+r[(3&e)<<4]+\"==\":2==a&&(n+=r[(64512&(e=i[s]<<8|i[s+1]))>>10]+r[(1008&e)>>4]+r[(15&e)<<2]+\"=\"),n},x.createImageInfo=function(t,e,n,r,i,o,a,s,l,h,u,c,f){var p={alias:s,w:e,h:n,cs:r,bpc:i,i:a,data:t};return o&&(p.f=o),l&&(p.dp=l),h&&(p.trns=h),u&&(p.pal=u),c&&(p.smask=c),f&&(p.p=f),p},x.addImage=function(t,e,n,r,i,o,a,s,l){var h=\"\";if(\"string\"!=typeof e){var u=o;o=i,i=r,r=n,n=e,e=u}if(\"object\"===se(t)&&!_(t)&&\"imageData\"in t){var c=t;t=c.imageData,e=c.format||e||\"UNKNOWN\",n=c.x||n||0,r=c.y||r||0,i=c.w||i,o=c.h||o,a=c.alias||a,s=c.compression||s,l=c.rotation||c.angle||l}var f=this.internal.getFilters();if(void 0===s&&-1!==f.indexOf(\"FlateEncode\")&&(s=\"SLOW\"),\"string\"==typeof t&&(t=unescape(t)),isNaN(n)||isNaN(r))throw console.error(\"jsPDF.addImage: Invalid coordinates\",arguments),new Error(\"Invalid coordinates passed to jsPDF.addImage\");var p,d,g,m,y,v,w,b=function(){var t=this.internal.collections[N+\"images\"];return t||(this.internal.collections[N+\"images\"]=t={},this.internal.events.subscribe(\"putResources\",L),this.internal.events.subscribe(\"putXobjectDict\",A)),t}.call(this);if(!((p=P(t,b))||(_(t)&&(t=F(t,e)),(null==(w=a)||0===w.length)&&(a=\"string\"==typeof(v=t)?x.sHashCode(v):x.isArrayBufferView(v)?x.sHashCode(x.arrayBufferToBinaryString(v)):null),p=P(a,b)))){if(this.isString(t)&&(\"\"!==(h=this.convertStringToImageData(t))?t=h:void 0!==(h=x.loadFile(t))&&(t=h)),e=this.getImageFileTypeByImageData(t,e),!S(e))throw new Error(\"addImage does not support files of type '\"+e+\"', please ensure that a plugin for '\"+e+\"' support is added.\");if(this.supportsArrayBuffer()&&(t instanceof Uint8Array||(d=t,t=this.binaryStringToUint8Array(t))),!(p=this[\"process\"+e.toUpperCase()](t,(y=0,(m=b)&&(y=Object.keys?Object.keys(m).length:function(t){var e=0;for(var n in t)t.hasOwnProperty(n)&&e++;return e}(m)),y),a,((g=s)&&\"string\"==typeof g&&(g=g.toUpperCase()),g in x.image_compression?g:x.image_compression.NONE),d)))throw new Error(\"An unknown error occurred whilst processing the image\")}return function(t,e,n,r,i,o,a,s){var l=function(t,e,n){return t||e||(e=t=-96),t<0&&(t=-1*n.w*72/t/this.internal.scaleFactor),e<0&&(e=-1*n.h*72/e/this.internal.scaleFactor),0===t&&(t=e*n.w/n.h),0===e&&(e=t*n.h/n.w),[t,e]}.call(this,n,r,i),h=this.internal.getCoordinateString,u=this.internal.getVerticalCoordinateString;if(n=l[0],r=l[1],a[o]=i,s){s*=Math.PI/180;var c=Math.cos(s),f=Math.sin(s),p=function(t){return t.toFixed(4)},d=[p(c),p(f),p(-1*f),p(c),0,0,\"cm\"]}this.internal.write(\"q\"),s?(this.internal.write([1,\"0\",\"0\",1,h(t),u(e+r),\"cm\"].join(\" \")),this.internal.write(d.join(\" \")),this.internal.write([h(n),\"0\",\"0\",h(r),\"0\",\"0\",\"cm\"].join(\" \"))):this.internal.write([h(n),\"0\",\"0\",h(r),h(t),u(e+r),\"cm\"].join(\" \")),this.internal.write(\"/I\"+i.i+\" Do\"),this.internal.write(\"Q\")}.call(this,n,r,i,o,p,p.i,b,l),this},x.convertStringToImageData=function(t){var e,n=\"\";if(this.isString(t)){var r;e=null!==(r=this.extractImageFromDataUrl(t))?r.data:t;try{n=atob(e)}catch(t){throw x.validateStringAsBase64(e)?new Error(\"atob-Error in jsPDF.convertStringToImageData \"+t.message):new Error(\"Supplied Data is not a valid base64-String jsPDF.convertStringToImageData \")}}return n};var u=function(t,e){return t.subarray(e,e+5)};x.processJPEG=function(t,e,n,r,i,o){var a,s=this.decode.DCT_DECODE;if(!this.isString(t)&&!this.isArrayBuffer(t)&&!this.isArrayBufferView(t))return null;if(this.isString(t)&&(a=function(t){var e;if(\"JPEG\"!==h(t))throw new Error(\"getJpegSize requires a binary string jpeg file\");for(var n=256*t.charCodeAt(4)+t.charCodeAt(5),r=4,i=t.length;r<i;){if(r+=n,255!==t.charCodeAt(r))throw new Error(\"getJpegSize could not find the size of the image\");if(192===t.charCodeAt(r+1)||193===t.charCodeAt(r+1)||194===t.charCodeAt(r+1)||195===t.charCodeAt(r+1)||196===t.charCodeAt(r+1)||197===t.charCodeAt(r+1)||198===t.charCodeAt(r+1)||199===t.charCodeAt(r+1))return e=256*t.charCodeAt(r+5)+t.charCodeAt(r+6),[256*t.charCodeAt(r+7)+t.charCodeAt(r+8),e,t.charCodeAt(r+9)];r+=2,n=256*t.charCodeAt(r)+t.charCodeAt(r+1)}}(t)),this.isArrayBuffer(t)&&(t=new Uint8Array(t)),this.isArrayBufferView(t)&&(a=function(t){if(65496!=(t[0]<<8|t[1]))throw new Error(\"Supplied data is not a JPEG\");for(var e,n=t.length,r=(t[4]<<8)+t[5],i=4;i<n;){if(r=((e=u(t,i+=r))[2]<<8)+e[3],(192===e[1]||194===e[1])&&255===e[0]&&7<r)return{width:((e=u(t,i+5))[2]<<8)+e[3],height:(e[0]<<8)+e[1],numcomponents:e[4]};i+=2}throw new Error(\"getJpegSizeFromBytes could not find the size of the image\")}(t),t=i||this.arrayBufferToBinaryString(t)),void 0===o)switch(a.numcomponents){case 1:o=this.color_spaces.DEVICE_GRAY;break;case 4:o=this.color_spaces.DEVICE_CMYK;break;default:case 3:o=this.color_spaces.DEVICE_RGB}return this.createImageInfo(t,a.width,a.height,o,8,s,e,n)},x.processJPG=function(){return this.processJPEG.apply(this,arguments)},x.getImageProperties=function(t){var e,n,r=\"\";if(_(t)&&(t=F(t)),this.isString(t)&&(\"\"!==(r=this.convertStringToImageData(t))?t=r:void 0!==(r=x.loadFile(t))&&(t=r)),n=this.getImageFileTypeByImageData(t),!S(n))throw new Error(\"addImage does not support files of type '\"+n+\"', please ensure that a plugin for '\"+n+\"' support is added.\");if(this.supportsArrayBuffer()&&(t instanceof Uint8Array||(t=this.binaryStringToUint8Array(t))),!(e=this[\"process\"+n.toUpperCase()](t)))throw new Error(\"An unknown error occurred whilst processing the image\");return{fileType:n,width:e.w,height:e.h,colorSpace:e.cs,compressionMode:e.f,bitsPerComponent:e.bpc}}}(lt.API),\n/**\n   * @license\n   * Copyright (c) 2014 Steven Spungin (TwelveTone LLC)  steven@twelvetone.tv\n   *\n   * Licensed under the MIT License.\n   * http://opensource.org/licenses/mit-license\n   */\nt=lt.API,lt.API.events.push([\"addPage\",function(t){this.internal.getPageInfo(t.pageNumber).pageContext.annotations=[]}]),t.events.push([\"putPage\",function(t){for(var e=this.internal.getPageInfoByObjId(t.objId),n=t.pageContext.annotations,r=function(t){if(void 0!==t&&\"\"!=t)return!0},i=!1,o=0;o<n.length&&!i;o++)switch((l=n[o]).type){case\"link\":if(r(l.options.url)||r(l.options.pageNumber)){i=!0;break}case\"reference\":case\"text\":case\"freetext\":i=!0}if(0!=i){this.internal.write(\"/Annots [\"),this.internal.pageSize.height;var a=this.internal.getCoordinateString,s=this.internal.getVerticalCoordinateString;for(o=0;o<n.length;o++){var l;switch((l=n[o]).type){case\"reference\":this.internal.write(\" \"+l.object.objId+\" 0 R \");break;case\"text\":var h=this.internal.newAdditionalObject(),u=this.internal.newAdditionalObject(),c=l.title||\"Note\";m=\"<</Type /Annot /Subtype /Text \"+(p=\"/Rect [\"+a(l.bounds.x)+\" \"+s(l.bounds.y+l.bounds.h)+\" \"+a(l.bounds.x+l.bounds.w)+\" \"+s(l.bounds.y)+\"] \")+\"/Contents (\"+l.contents+\")\",m+=\" /Popup \"+u.objId+\" 0 R\",m+=\" /P \"+e.objId+\" 0 R\",m+=\" /T (\"+c+\") >>\",h.content=m;var f=h.objId+\" 0 R\";m=\"<</Type /Annot /Subtype /Popup \"+(p=\"/Rect [\"+a(l.bounds.x+30)+\" \"+s(l.bounds.y+l.bounds.h)+\" \"+a(l.bounds.x+l.bounds.w+30)+\" \"+s(l.bounds.y)+\"] \")+\" /Parent \"+f,l.open&&(m+=\" /Open true\"),m+=\" >>\",u.content=m,this.internal.write(h.objId,\"0 R\",u.objId,\"0 R\");break;case\"freetext\":var p=\"/Rect [\"+a(l.bounds.x)+\" \"+s(l.bounds.y)+\" \"+a(l.bounds.x+l.bounds.w)+\" \"+s(l.bounds.y+l.bounds.h)+\"] \",d=l.color||\"#000000\";m=\"<</Type /Annot /Subtype /FreeText \"+p+\"/Contents (\"+l.contents+\")\",m+=\" /DS(font: Helvetica,sans-serif 12.0pt; text-align:left; color:#\"+d+\")\",m+=\" /Border [0 0 0]\",m+=\" >>\",this.internal.write(m);break;case\"link\":if(l.options.name){var g=this.annotations._nameMap[l.options.name];l.options.pageNumber=g.page,l.options.top=g.y}else l.options.top||(l.options.top=0);p=\"/Rect [\"+a(l.x)+\" \"+s(l.y)+\" \"+a(l.x+l.w)+\" \"+s(l.y+l.h)+\"] \";var m=\"\";if(l.options.url)m=\"<</Type /Annot /Subtype /Link \"+p+\"/Border [0 0 0] /A <</S /URI /URI (\"+l.options.url+\") >>\";else if(l.options.pageNumber)switch(m=\"<</Type /Annot /Subtype /Link \"+p+\"/Border [0 0 0] /Dest [\"+this.internal.getPageInfo(l.options.pageNumber).objId+\" 0 R\",l.options.magFactor=l.options.magFactor||\"XYZ\",l.options.magFactor){case\"Fit\":m+=\" /Fit]\";break;case\"FitH\":m+=\" /FitH \"+l.options.top+\"]\";break;case\"FitV\":l.options.left=l.options.left||0,m+=\" /FitV \"+l.options.left+\"]\";break;case\"XYZ\":default:var y=s(l.options.top);l.options.left=l.options.left||0,void 0===l.options.zoom&&(l.options.zoom=0),m+=\" /XYZ \"+l.options.left+\" \"+y+\" \"+l.options.zoom+\"]\"}\"\"!=m&&(m+=\" >>\",this.internal.write(m))}}this.internal.write(\"]\")}}]),t.createAnnotation=function(t){var e=this.internal.getCurrentPageInfo();switch(t.type){case\"link\":this.link(t.bounds.x,t.bounds.y,t.bounds.w,t.bounds.h,t);break;case\"text\":case\"freetext\":e.pageContext.annotations.push(t)}},t.link=function(t,e,n,r,i){this.internal.getCurrentPageInfo().pageContext.annotations.push({x:t,y:e,w:n,h:r,options:i,type:\"link\"})},t.textWithLink=function(t,e,n,r){var i=this.getTextWidth(t),o=this.internal.getLineHeight()/this.internal.scaleFactor;return this.text(t,e,n),n+=.2*o,this.link(e,n-o,i,o,r),i},t.getTextWidth=function(t){var e=this.internal.getFontSize();return this.getStringUnitWidth(t)*e/this.internal.scaleFactor},\n/**\n   * @license\n   * Copyright (c) 2017 Aras Abbasi \n   *\n   * Licensed under the MIT License.\n   * http://opensource.org/licenses/mit-license\n   */\nfunction(t){var h={1569:[65152],1570:[65153,65154],1571:[65155,65156],1572:[65157,65158],1573:[65159,65160],1574:[65161,65162,65163,65164],1575:[65165,65166],1576:[65167,65168,65169,65170],1577:[65171,65172],1578:[65173,65174,65175,65176],1579:[65177,65178,65179,65180],1580:[65181,65182,65183,65184],1581:[65185,65186,65187,65188],1582:[65189,65190,65191,65192],1583:[65193,65194],1584:[65195,65196],1585:[65197,65198],1586:[65199,65200],1587:[65201,65202,65203,65204],1588:[65205,65206,65207,65208],1589:[65209,65210,65211,65212],1590:[65213,65214,65215,65216],1591:[65217,65218,65219,65220],1592:[65221,65222,65223,65224],1593:[65225,65226,65227,65228],1594:[65229,65230,65231,65232],1601:[65233,65234,65235,65236],1602:[65237,65238,65239,65240],1603:[65241,65242,65243,65244],1604:[65245,65246,65247,65248],1605:[65249,65250,65251,65252],1606:[65253,65254,65255,65256],1607:[65257,65258,65259,65260],1608:[65261,65262],1609:[65263,65264,64488,64489],1610:[65265,65266,65267,65268],1649:[64336,64337],1655:[64477],1657:[64358,64359,64360,64361],1658:[64350,64351,64352,64353],1659:[64338,64339,64340,64341],1662:[64342,64343,64344,64345],1663:[64354,64355,64356,64357],1664:[64346,64347,64348,64349],1667:[64374,64375,64376,64377],1668:[64370,64371,64372,64373],1670:[64378,64379,64380,64381],1671:[64382,64383,64384,64385],1672:[64392,64393],1676:[64388,64389],1677:[64386,64387],1678:[64390,64391],1681:[64396,64397],1688:[64394,64395],1700:[64362,64363,64364,64365],1702:[64366,64367,64368,64369],1705:[64398,64399,64400,64401],1709:[64467,64468,64469,64470],1711:[64402,64403,64404,64405],1713:[64410,64411,64412,64413],1715:[64406,64407,64408,64409],1722:[64414,64415],1723:[64416,64417,64418,64419],1726:[64426,64427,64428,64429],1728:[64420,64421],1729:[64422,64423,64424,64425],1733:[64480,64481],1734:[64473,64474],1735:[64471,64472],1736:[64475,64476],1737:[64482,64483],1739:[64478,64479],1740:[64508,64509,64510,64511],1744:[64484,64485,64486,64487],1746:[64430,64431],1747:[64432,64433]},a={65247:{65154:65269,65156:65271,65160:65273,65166:65275},65248:{65154:65270,65156:65272,65160:65274,65166:65276},65165:{65247:{65248:{65258:65010}}},1617:{1612:64606,1613:64607,1614:64608,1615:64609,1616:64610}},e={1612:64606,1613:64607,1614:64608,1615:64609,1616:64610},n=[1570,1571,1573,1575];t.__arabicParser__={};var r=t.__arabicParser__.isInArabicSubstitutionA=function(t){return void 0!==h[t.charCodeAt(0)]},u=t.__arabicParser__.isArabicLetter=function(t){return\"string\"==typeof t&&/^[\\u0600-\\u06FF\\u0750-\\u077F\\u08A0-\\u08FF\\uFB50-\\uFDFF\\uFE70-\\uFEFF]+$/.test(t)},i=t.__arabicParser__.isArabicEndLetter=function(t){return u(t)&&r(t)&&h[t.charCodeAt(0)].length<=2},o=t.__arabicParser__.isArabicAlfLetter=function(t){return u(t)&&0<=n.indexOf(t.charCodeAt(0))},s=(t.__arabicParser__.arabicLetterHasIsolatedForm=function(t){return u(t)&&r(t)&&1<=h[t.charCodeAt(0)].length},t.__arabicParser__.arabicLetterHasFinalForm=function(t){return u(t)&&r(t)&&2<=h[t.charCodeAt(0)].length}),l=(t.__arabicParser__.arabicLetterHasInitialForm=function(t){return u(t)&&r(t)&&3<=h[t.charCodeAt(0)].length},t.__arabicParser__.arabicLetterHasMedialForm=function(t){return u(t)&&r(t)&&4==h[t.charCodeAt(0)].length}),c=t.__arabicParser__.resolveLigatures=function(t){var e=0,n=a,r=0,i=\"\",o=0;for(e=0;e<t.length;e+=1)void 0!==n[t.charCodeAt(e)]?(o++,\"number\"==typeof(n=n[t.charCodeAt(e)])&&(r=-1!==(r=f(t.charAt(e),t.charAt(e-o),t.charAt(e+1)))?r:0,i+=String.fromCharCode(n),n=a,o=0),e===t.length-1&&(n=a,i+=t.charAt(e-(o-1)),e-=o-1,o=0)):(n=a,i+=t.charAt(e-o),e-=o,o=0);return i},f=(t.__arabicParser__.isArabicDiacritic=function(t){return void 0!==t&&void 0!==e[t.charCodeAt(0)]},t.__arabicParser__.getCorrectForm=function(t,e,n){return u(t)?!1===r(t)?-1:!s(t)||!u(e)&&!u(n)||!u(n)&&i(e)||i(t)&&!u(e)||i(t)&&o(e)||i(t)&&i(e)?0:l(t)&&u(e)&&!i(e)&&u(n)&&s(n)?3:i(t)||!u(n)?1:2:-1}),p=t.__arabicParser__.processArabic=t.processArabic=function(t){var e=0,n=0,r=0,i=\"\",o=\"\",a=\"\",s=(t=t||\"\").split(\"\\\\s+\"),l=[];for(e=0;e<s.length;e+=1){for(l.push(\"\"),n=0;n<s[e].length;n+=1)i=s[e][n],o=s[e][n-1],a=s[e][n+1],u(i)?(r=f(i,o,a),l[e]+=-1!==r?String.fromCharCode(h[i.charCodeAt(0)][r]):i):l[e]+=i;l[e]=c(l[e])}return l.join(\" \")};t.events.push([\"preProcessText\",function(t){var e=t.text,n=(t.x,t.y,t.options||{}),r=(t.mutex,n.lang,[]);if(\"[object Array]\"===Object.prototype.toString.call(e)){var i=0;for(r=[],i=0;i<e.length;i+=1)\"[object Array]\"===Object.prototype.toString.call(e[i])?r.push([p(e[i][0]),e[i][1],e[i][2]]):r.push([p(e[i])]);t.text=r}else t.text=p(e)}])}(lt.API),lt.API.autoPrint=function(t){var e;switch((t=t||{}).variant=t.variant||\"non-conform\",t.variant){case\"javascript\":this.addJS(\"print({});\");break;case\"non-conform\":default:this.internal.events.subscribe(\"postPutResources\",function(){e=this.internal.newObject(),this.internal.out(\"<<\"),this.internal.out(\"/S /Named\"),this.internal.out(\"/Type /Action\"),this.internal.out(\"/N /Print\"),this.internal.out(\">>\"),this.internal.out(\"endobj\")}),this.internal.events.subscribe(\"putCatalog\",function(){this.internal.out(\"/OpenAction \"+e+\" 0 R\")})}return this},\n/**\n   * @license\n   * Copyright (c) 2014 Steven Spungin (TwelveTone LLC)  steven@twelvetone.tv\n   *\n   * Licensed under the MIT License.\n   * http://opensource.org/licenses/mit-license\n   */\ne=lt.API,(n=function(){var e=void 0;Object.defineProperty(this,\"pdf\",{get:function(){return e},set:function(t){e=t}});var n=150;Object.defineProperty(this,\"width\",{get:function(){return n},set:function(t){n=isNaN(t)||!1===Number.isInteger(t)||t<0?150:t,this.getContext(\"2d\").pageWrapXEnabled&&(this.getContext(\"2d\").pageWrapX=n+1)}});var r=300;Object.defineProperty(this,\"height\",{get:function(){return r},set:function(t){r=isNaN(t)||!1===Number.isInteger(t)||t<0?300:t,this.getContext(\"2d\").pageWrapYEnabled&&(this.getContext(\"2d\").pageWrapY=r+1)}});var i=[];Object.defineProperty(this,\"childNodes\",{get:function(){return i},set:function(t){i=t}});var o={};Object.defineProperty(this,\"style\",{get:function(){return o},set:function(t){o=t}}),Object.defineProperty(this,\"parentNode\",{get:function(){return!1}})}).prototype.getContext=function(t,e){var n;if(\"2d\"!==(t=t||\"2d\"))return null;for(n in e)this.pdf.context2d.hasOwnProperty(n)&&(this.pdf.context2d[n]=e[n]);return(this.pdf.context2d._canvas=this).pdf.context2d},n.prototype.toDataURL=function(){throw new Error(\"toDataURL is not implemented.\")},e.events.push([\"initialized\",function(){this.canvas=new n,this.canvas.pdf=this}]),\n/** \n   * @license\n   * ====================================================================\n   * Copyright (c) 2013 Youssef Beddad, youssef.beddad@gmail.com\n   *               2013 Eduardo Menezes de Morais, eduardo.morais@usp.br\n   *               2013 Lee Driscoll, https://github.com/lsdriscoll\n   *               2014 Juan Pablo Gaviria, https://github.com/juanpgaviria\n   *               2014 James Hall, james@parall.ax\n   *               2014 Diego Casorran, https://github.com/diegocr\n   *\n   * \n   * ====================================================================\n   */\n_=lt.API,F={x:void 0,y:void 0,w:void 0,h:void 0,ln:void 0},P=1,p=function(t,e,n,r,i){F={x:t,y:e,w:n,h:r,ln:i}},d=function(){return F},k={left:0,top:0,bottom:0},_.setHeaderFunction=function(t){l=t},_.getTextDimensions=function(t,e){var n=this.table_font_size||this.internal.getFontSize(),r=(this.internal.getFont().fontStyle,(e=e||{}).scaleFactor||this.internal.scaleFactor),i=0,o=0,a=0;if(\"string\"==typeof t)0!=(i=this.getStringUnitWidth(t)*n)&&(o=1);else{if(\"[object Array]\"!==Object.prototype.toString.call(t))throw new Error(\"getTextDimensions expects text-parameter to be of type String or an Array of Strings.\");for(var s=0;s<t.length;s++)i<(a=this.getStringUnitWidth(t[s])*n)&&(i=a);0!==i&&(o=t.length)}return{w:i/=r,h:Math.max((o*n*this.getLineHeightFactor()-n*(this.getLineHeightFactor()-1))/r,0)}},_.cellAddPage=function(){var t=this.margins||k;this.addPage(),p(t.left,t.top,void 0,void 0),P+=1},_.cellInitialize=function(){F={x:void 0,y:void 0,w:void 0,h:void 0,ln:void 0},P=1},_.cell=function(t,e,n,r,i,o,a){var s=d(),l=!1;if(void 0!==s.ln)if(s.ln===o)t=s.x+s.w,e=s.y;else{var h=this.margins||k;s.y+s.h+r+13>=this.internal.pageSize.getHeight()-h.bottom&&(this.cellAddPage(),l=!0,this.printHeaders&&this.tableHeaderRow&&this.printHeaderRow(o,!0)),e=d().y+d().h,l&&(e=23)}if(void 0!==i[0])if(this.printingHeaderRow?this.rect(t,e,n,r,\"FD\"):this.rect(t,e,n,r),\"right\"===a){i instanceof Array||(i=[i]);for(var u=0;u<i.length;u++){var c=i[u],f=this.getStringUnitWidth(c)*this.internal.getFontSize()/this.internal.scaleFactor;this.text(c,t+n-f-3,e+this.internal.getLineHeight()*(u+1))}}else this.text(i,t+3,e+this.internal.getLineHeight());return p(t,e,n,r,o),this},_.arrayMax=function(t,e){var n,r,i,o=t[0];for(n=0,r=t.length;n<r;n+=1)i=t[n],e?-1===e(o,i)&&(o=i):o<i&&(o=i);return o},_.table=function(t,e,n,r,i){if(!n)throw\"No data for PDF table\";var o,a,s,l,h,u,c,f,p,d,g=[],m=[],y={},v={},w=[],b=[],x=!1,N=!0,L=12,A=k;if(A.width=this.internal.pageSize.getWidth(),i&&(!0===i.autoSize&&(x=!0),!1===i.printHeaders&&(N=!1),i.fontSize&&(L=i.fontSize),i.css&&void 0!==i.css[\"font-size\"]&&(L=16*i.css[\"font-size\"]),i.margins&&(A=i.margins)),this.lnMod=0,F={x:void 0,y:void 0,w:void 0,h:void 0,ln:void 0},P=1,this.printHeaders=N,this.margins=A,this.setFontSize(L),this.table_font_size=L,null==r)g=Object.keys(n[0]);else if(r[0]&&\"string\"!=typeof r[0])for(a=0,s=r.length;a<s;a+=1)o=r[a],g.push(o.name),m.push(o.prompt),v[o.name]=o.width*(19.049976/25.4);else g=r;if(x)for(d=function(t){return t[o]},a=0,s=g.length;a<s;a+=1){for(y[o=g[a]]=n.map(d),w.push(this.getTextDimensions(m[a]||o,{scaleFactor:1}).w),c=0,l=(u=y[o]).length;c<l;c+=1)h=u[c],w.push(this.getTextDimensions(h,{scaleFactor:1}).w);v[o]=_.arrayMax(w),w=[]}if(N){var S=this.calculateLineHeight(g,v,m.length?m:g);for(a=0,s=g.length;a<s;a+=1)o=g[a],b.push([t,e,v[o],S,String(m.length?m[a]:o)]);this.setTableHeaderRow(b),this.printHeaderRow(1,!1)}for(a=0,s=n.length;a<s;a+=1)for(f=n[a],S=this.calculateLineHeight(g,v,f),c=0,p=g.length;c<p;c+=1)o=g[c],this.cell(t,e,v[o],S,f[o],a+2,o.align);return this.lastCellPos=F,this.table_x=t,this.table_y=e,this},_.calculateLineHeight=function(t,e,n){for(var r,i=0,o=0;o<t.length;o++){n[r=t[o]]=this.splitTextToSize(String(n[r]),e[r]-3);var a=this.internal.getLineHeight()*n[r].length+3;i<a&&(i=a)}return i},_.setTableHeaderRow=function(t){this.tableHeaderRow=t},_.printHeaderRow=function(t,e){if(!this.tableHeaderRow)throw\"Property tableHeaderRow does not exist.\";var n,r,i,o;if(this.printingHeaderRow=!0,void 0!==l){var a=l(this,P);p(a[0],a[1],a[2],a[3],-1)}this.setFontStyle(\"bold\");var s=[];for(i=0,o=this.tableHeaderRow.length;i<o;i+=1)this.setFillColor(200,200,200),n=this.tableHeaderRow[i],e&&(this.margins.top=13,n[1]=this.margins&&this.margins.top||0,s.push(n)),r=[].concat(n),this.cell.apply(this,r.concat(t));0<s.length&&this.setTableHeaderRow(s),this.setFontStyle(\"normal\"),this.printingHeaderRow=!1},\n/**\n   * jsPDF Context2D PlugIn Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n   *\n   * Licensed under the MIT License. http://opensource.org/licenses/mit-license\n   */\nfunction(t,e){var l,i,o,h,u,c=function(t){return t=t||{},this.isStrokeTransparent=t.isStrokeTransparent||!1,this.strokeOpacity=t.strokeOpacity||1,this.strokeStyle=t.strokeStyle||\"#000000\",this.fillStyle=t.fillStyle||\"#000000\",this.isFillTransparent=t.isFillTransparent||!1,this.fillOpacity=t.fillOpacity||1,this.font=t.font||\"10px sans-serif\",this.textBaseline=t.textBaseline||\"alphabetic\",this.textAlign=t.textAlign||\"left\",this.lineWidth=t.lineWidth||1,this.lineJoin=t.lineJoin||\"miter\",this.lineCap=t.lineCap||\"butt\",this.path=t.path||[],this.transform=void 0!==t.transform?t.transform.clone():new M,this.globalCompositeOperation=t.globalCompositeOperation||\"normal\",this.globalAlpha=t.globalAlpha||1,this.clip_path=t.clip_path||[],this.currentPoint=t.currentPoint||new j,this.miterLimit=t.miterLimit||10,this.lastPoint=t.lastPoint||new j,this.ignoreClearRect=\"boolean\"!=typeof t.ignoreClearRect||t.ignoreClearRect,this};t.events.push([\"initialized\",function(){this.context2d=new n(this),l=this.internal.f2,this.internal.f3,i=this.internal.getCoordinateString,o=this.internal.getVerticalCoordinateString,h=this.internal.getHorizontalCoordinate,u=this.internal.getVerticalCoordinate}]);var n=function(t){Object.defineProperty(this,\"canvas\",{get:function(){return{parentNode:!1,style:!1}}}),Object.defineProperty(this,\"pdf\",{get:function(){return t}});var e=!1;Object.defineProperty(this,\"pageWrapXEnabled\",{get:function(){return e},set:function(t){e=Boolean(t)}});var n=!1;Object.defineProperty(this,\"pageWrapYEnabled\",{get:function(){return n},set:function(t){n=Boolean(t)}});var r=0;Object.defineProperty(this,\"posX\",{get:function(){return r},set:function(t){isNaN(t)||(r=t)}});var i=0;Object.defineProperty(this,\"posY\",{get:function(){return i},set:function(t){isNaN(t)||(i=t)}});var o=!1;Object.defineProperty(this,\"autoPaging\",{get:function(){return o},set:function(t){o=Boolean(t)}});var a=0;Object.defineProperty(this,\"lastBreak\",{get:function(){return a},set:function(t){a=t}});var s=[];Object.defineProperty(this,\"pageBreaks\",{get:function(){return s},set:function(t){s=t}});var l=new c;Object.defineProperty(this,\"ctx\",{get:function(){return l},set:function(t){t instanceof c&&(l=t)}}),Object.defineProperty(this,\"path\",{get:function(){return l.path},set:function(t){l.path=t}});var h=[];Object.defineProperty(this,\"ctxStack\",{get:function(){return h},set:function(t){h=t}}),Object.defineProperty(this,\"fillStyle\",{get:function(){return this.ctx.fillStyle},set:function(t){var e;e=f(t),this.ctx.fillStyle=e.style,this.ctx.isFillTransparent=0===e.a,this.ctx.fillOpacity=e.a,this.pdf.setFillColor(e.r,e.g,e.b,{a:e.a}),this.pdf.setTextColor(e.r,e.g,e.b,{a:e.a})}}),Object.defineProperty(this,\"strokeStyle\",{get:function(){return this.ctx.strokeStyle},set:function(t){var e=f(t);this.ctx.strokeStyle=e.style,this.ctx.isStrokeTransparent=0===e.a,this.ctx.strokeOpacity=e.a,0===e.a?this.pdf.setDrawColor(255,255,255):(e.a,this.pdf.setDrawColor(e.r,e.g,e.b))}}),Object.defineProperty(this,\"lineCap\",{get:function(){return this.ctx.lineCap},set:function(t){-1!==[\"butt\",\"round\",\"square\"].indexOf(t)&&(this.ctx.lineCap=t,this.pdf.setLineCap(t))}}),Object.defineProperty(this,\"lineWidth\",{get:function(){return this.ctx.lineWidth},set:function(t){isNaN(t)||(this.ctx.lineWidth=t,this.pdf.setLineWidth(t))}}),Object.defineProperty(this,\"lineJoin\",{get:function(){return this.ctx.lineJoin},set:function(t){-1!==[\"bevel\",\"round\",\"miter\"].indexOf(t)&&(this.ctx.lineJoin=t,this.pdf.setLineJoin(t))}}),Object.defineProperty(this,\"miterLimit\",{get:function(){return this.ctx.miterLimit},set:function(t){isNaN(t)||(this.ctx.miterLimit=t,this.pdf.setMiterLimit(t))}}),Object.defineProperty(this,\"textBaseline\",{get:function(){return this.ctx.textBaseline},set:function(t){this.ctx.textBaseline=t}}),Object.defineProperty(this,\"textAlign\",{get:function(){return this.ctx.textAlign},set:function(t){-1!==[\"right\",\"end\",\"center\",\"left\",\"start\"].indexOf(t)&&(this.ctx.textAlign=t)}}),Object.defineProperty(this,\"font\",{get:function(){return this.ctx.font},set:function(t){var e;if(this.ctx.font=t,null!==(e=/^\\s*(?=(?:(?:[-a-z]+\\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\\1|\\2|\\3)\\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx]))(?:\\s*\\/\\s*(normal|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx])))?\\s*([-_,\\\"\\'\\sa-z]+?)\\s*$/i.exec(t))){var n=e[1],r=(e[2],e[3]),i=e[4],o=e[5],a=e[6];i=\"px\"===o?Math.floor(parseFloat(i)):\"em\"===o?Math.floor(parseFloat(i)*this.pdf.getFontSize()):Math.floor(parseFloat(i)),this.pdf.setFontSize(i);var s=\"\";(\"bold\"===r||700<=parseInt(r,10)||\"bold\"===n)&&(s=\"bold\"),\"italic\"===n&&(s+=\"italic\"),0===s.length&&(s=\"normal\");for(var l=\"\",h=a.toLowerCase().replace(/\"|'/g,\"\").split(/\\s*,\\s*/),u={arial:\"Helvetica\",verdana:\"Helvetica\",helvetica:\"Helvetica\",\"sans-serif\":\"Helvetica\",fixed:\"Courier\",monospace:\"Courier\",terminal:\"Courier\",courier:\"Courier\",times:\"Times\",cursive:\"Times\",fantasy:\"Times\",serif:\"Times\"},c=0;c<h.length;c++){if(void 0!==this.pdf.internal.getFont(h[c],s,{noFallback:!0,disableWarning:!0})){l=h[c];break}if(\"bolditalic\"===s&&void 0!==this.pdf.internal.getFont(h[c],\"bold\",{noFallback:!0,disableWarning:!0}))l=h[c],s=\"bold\";else if(void 0!==this.pdf.internal.getFont(h[c],\"normal\",{noFallback:!0,disableWarning:!0})){l=h[c],s=\"normal\";break}}if(\"\"===l)for(c=0;c<h.length;c++)if(u[h[c]]){l=u[h[c]];break}l=\"\"===l?\"Times\":l,this.pdf.setFont(l,s)}}}),Object.defineProperty(this,\"globalCompositeOperation\",{get:function(){return this.ctx.globalCompositeOperation},set:function(t){this.ctx.globalCompositeOperation=t}}),Object.defineProperty(this,\"globalAlpha\",{get:function(){return this.ctx.globalAlpha},set:function(t){this.ctx.globalAlpha=t}}),Object.defineProperty(this,\"ignoreClearRect\",{get:function(){return this.ctx.ignoreClearRect},set:function(t){this.ctx.ignoreClearRect=Boolean(t)}})};n.prototype.fill=function(){r.call(this,\"fill\",!1)},n.prototype.stroke=function(){r.call(this,\"stroke\",!1)},n.prototype.beginPath=function(){this.path=[{type:\"begin\"}]},n.prototype.moveTo=function(t,e){if(isNaN(t)||isNaN(e))throw console.error(\"jsPDF.context2d.moveTo: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.moveTo\");var n=this.ctx.transform.applyToPoint(new j(t,e));this.path.push({type:\"mt\",x:n.x,y:n.y}),this.ctx.lastPoint=new j(t,e)},n.prototype.closePath=function(){var t=new j(0,0),e=0;for(e=this.path.length-1;-1!==e;e--)if(\"begin\"===this.path[e].type&&\"object\"===se(this.path[e+1])&&\"number\"==typeof this.path[e+1].x){t=new j(this.path[e+1].x,this.path[e+1].y),this.path.push({type:\"lt\",x:t.x,y:t.y});break}\"object\"===se(this.path[e+2])&&\"number\"==typeof this.path[e+2].x&&this.path.push(JSON.parse(JSON.stringify(this.path[e+2]))),this.path.push({type:\"close\"}),this.ctx.lastPoint=new j(t.x,t.y)},n.prototype.lineTo=function(t,e){if(isNaN(t)||isNaN(e))throw console.error(\"jsPDF.context2d.lineTo: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.lineTo\");var n=this.ctx.transform.applyToPoint(new j(t,e));this.path.push({type:\"lt\",x:n.x,y:n.y}),this.ctx.lastPoint=new j(n.x,n.y)},n.prototype.clip=function(){this.ctx.clip_path=JSON.parse(JSON.stringify(this.path)),r.call(this,null,!0)},n.prototype.quadraticCurveTo=function(t,e,n,r){if(isNaN(n)||isNaN(r)||isNaN(t)||isNaN(e))throw console.error(\"jsPDF.context2d.quadraticCurveTo: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.quadraticCurveTo\");var i=this.ctx.transform.applyToPoint(new j(n,r)),o=this.ctx.transform.applyToPoint(new j(t,e));this.path.push({type:\"qct\",x1:o.x,y1:o.y,x:i.x,y:i.y}),this.ctx.lastPoint=new j(i.x,i.y)},n.prototype.bezierCurveTo=function(t,e,n,r,i,o){if(isNaN(i)||isNaN(o)||isNaN(t)||isNaN(e)||isNaN(n)||isNaN(r))throw console.error(\"jsPDF.context2d.bezierCurveTo: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.bezierCurveTo\");var a=this.ctx.transform.applyToPoint(new j(i,o)),s=this.ctx.transform.applyToPoint(new j(t,e)),l=this.ctx.transform.applyToPoint(new j(n,r));this.path.push({type:\"bct\",x1:s.x,y1:s.y,x2:l.x,y2:l.y,x:a.x,y:a.y}),this.ctx.lastPoint=new j(a.x,a.y)},n.prototype.arc=function(t,e,n,r,i,o){if(isNaN(t)||isNaN(e)||isNaN(n)||isNaN(r)||isNaN(i))throw console.error(\"jsPDF.context2d.arc: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.arc\");if(o=Boolean(o),!this.ctx.transform.isIdentity){var a=this.ctx.transform.applyToPoint(new j(t,e));t=a.x,e=a.y;var s=this.ctx.transform.applyToPoint(new j(0,n)),l=this.ctx.transform.applyToPoint(new j(0,0));n=Math.sqrt(Math.pow(s.x-l.x,2)+Math.pow(s.y-l.y,2))}Math.abs(i-r)>=2*Math.PI&&(r=0,i=2*Math.PI),this.path.push({type:\"arc\",x:t,y:e,radius:n,startAngle:r,endAngle:i,counterclockwise:o})},n.prototype.arcTo=function(t,e,n,r,i){throw new Error(\"arcTo not implemented.\")},n.prototype.rect=function(t,e,n,r){if(isNaN(t)||isNaN(e)||isNaN(n)||isNaN(r))throw console.error(\"jsPDF.context2d.rect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.rect\");this.moveTo(t,e),this.lineTo(t+n,e),this.lineTo(t+n,e+r),this.lineTo(t,e+r),this.lineTo(t,e),this.lineTo(t+n,e),this.lineTo(t,e)},n.prototype.fillRect=function(t,e,n,r){if(isNaN(t)||isNaN(e)||isNaN(n)||isNaN(r))throw console.error(\"jsPDF.context2d.fillRect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.fillRect\");if(!N.call(this)){var i={};\"butt\"!==this.lineCap&&(i.lineCap=this.lineCap,this.lineCap=\"butt\"),\"miter\"!==this.lineJoin&&(i.lineJoin=this.lineJoin,this.lineJoin=\"miter\"),this.beginPath(),this.rect(t,e,n,r),this.fill(),i.hasOwnProperty(\"lineCap\")&&(this.lineCap=i.lineCap),i.hasOwnProperty(\"lineJoin\")&&(this.lineJoin=i.lineJoin)}},n.prototype.strokeRect=function(t,e,n,r){if(isNaN(t)||isNaN(e)||isNaN(n)||isNaN(r))throw console.error(\"jsPDF.context2d.strokeRect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.strokeRect\");L.call(this)||(this.beginPath(),this.rect(t,e,n,r),this.stroke())},n.prototype.clearRect=function(t,e,n,r){if(isNaN(t)||isNaN(e)||isNaN(n)||isNaN(r))throw console.error(\"jsPDF.context2d.clearRect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.clearRect\");this.ignoreClearRect||(this.fillStyle=\"#ffffff\",this.fillRect(t,e,n,r))},n.prototype.save=function(t){t=\"boolean\"!=typeof t||t;for(var e=this.pdf.internal.getCurrentPageInfo().pageNumber,n=0;n<this.pdf.internal.getNumberOfPages();n++)this.pdf.setPage(n+1),this.pdf.internal.out(\"q\");if(this.pdf.setPage(e),t){this.ctx.fontSize=this.pdf.internal.getFontSize();var r=new c(this.ctx);this.ctxStack.push(this.ctx),this.ctx=r}},n.prototype.restore=function(t){t=\"boolean\"!=typeof t||t;for(var e=this.pdf.internal.getCurrentPageInfo().pageNumber,n=0;n<this.pdf.internal.getNumberOfPages();n++)this.pdf.setPage(n+1),this.pdf.internal.out(\"Q\");this.pdf.setPage(e),t&&0!==this.ctxStack.length&&(this.ctx=this.ctxStack.pop(),this.fillStyle=this.ctx.fillStyle,this.strokeStyle=this.ctx.strokeStyle,this.font=this.ctx.font,this.lineCap=this.ctx.lineCap,this.lineWidth=this.ctx.lineWidth,this.lineJoin=this.ctx.lineJoin)},n.prototype.toDataURL=function(){throw new Error(\"toDataUrl not implemented.\")};var f=function(t){var e,n,r,i;if(!0===t.isCanvasGradient&&(t=t.getColor()),!t)return{r:0,g:0,b:0,a:0,style:t};if(/transparent|rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*0+\\s*\\)/.test(t))i=r=n=e=0;else{var o=/rgb\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*\\)/.exec(t);if(null!==o)e=parseInt(o[1]),n=parseInt(o[2]),r=parseInt(o[3]),i=1;else if(null!==(o=/rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*([\\d\\.]+)\\s*\\)/.exec(t)))e=parseInt(o[1]),n=parseInt(o[2]),r=parseInt(o[3]),i=parseFloat(o[4]);else{if(i=1,\"string\"==typeof t&&\"#\"!==t.charAt(0)){var a=new RGBColor(t);t=a.ok?a.toHex():\"#000000\"}4===t.length?(e=t.substring(1,2),e+=e,n=t.substring(2,3),n+=n,r=t.substring(3,4),r+=r):(e=t.substring(1,3),n=t.substring(3,5),r=t.substring(5,7)),e=parseInt(e,16),n=parseInt(n,16),r=parseInt(r,16)}}return{r:e,g:n,b:r,a:i,style:t}},N=function(){return this.ctx.isFillTransparent||0==this.globalAlpha},L=function(){return Boolean(this.ctx.isStrokeTransparent||0==this.globalAlpha)};n.prototype.fillText=function(t,e,n,r){if(isNaN(e)||isNaN(n)||\"string\"!=typeof t)throw console.error(\"jsPDF.context2d.fillText: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.fillText\");if(r=isNaN(r)?void 0:r,!N.call(this)){n=a.call(this,n);var i=B(this.ctx.transform.rotation),o=this.ctx.transform.scaleX;s.call(this,{text:t,x:e,y:n,scale:o,angle:i,align:this.textAlign,maxWidth:r})}},n.prototype.strokeText=function(t,e,n,r){if(isNaN(e)||isNaN(n)||\"string\"!=typeof t)throw console.error(\"jsPDF.context2d.strokeText: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.strokeText\");if(!L.call(this)){r=isNaN(r)?void 0:r,n=a.call(this,n);var i=B(this.ctx.transform.rotation),o=this.ctx.transform.scaleX;s.call(this,{text:t,x:e,y:n,scale:o,renderingMode:\"stroke\",angle:i,align:this.textAlign,maxWidth:r})}},n.prototype.measureText=function(t){if(\"string\"!=typeof t)throw console.error(\"jsPDF.context2d.measureText: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.measureText\");var e=this.pdf,n=this.pdf.internal.scaleFactor,r=e.internal.getFontSize(),i=e.getStringUnitWidth(t)*r/e.internal.scaleFactor;return new function(t){var e=(t=t||{}).width||0;return Object.defineProperty(this,\"width\",{get:function(){return e}}),this}({width:i*=Math.round(96*n/72*1e4)/1e4})},n.prototype.scale=function(t,e){if(isNaN(t)||isNaN(e))throw console.error(\"jsPDF.context2d.scale: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.scale\");var n=new M(t,0,0,e,0,0);this.ctx.transform=this.ctx.transform.multiply(n)},n.prototype.rotate=function(t){if(isNaN(t))throw console.error(\"jsPDF.context2d.rotate: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.rotate\");var e=new M(Math.cos(t),Math.sin(t),-Math.sin(t),Math.cos(t),0,0);this.ctx.transform=this.ctx.transform.multiply(e)},n.prototype.translate=function(t,e){if(isNaN(t)||isNaN(e))throw console.error(\"jsPDF.context2d.translate: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.translate\");var n=new M(1,0,0,1,t,e);this.ctx.transform=this.ctx.transform.multiply(n)},n.prototype.transform=function(t,e,n,r,i,o){if(isNaN(t)||isNaN(e)||isNaN(n)||isNaN(r)||isNaN(i)||isNaN(o))throw console.error(\"jsPDF.context2d.transform: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.transform\");var a=new M(t,e,n,r,i,o);this.ctx.transform=this.ctx.transform.multiply(a)},n.prototype.setTransform=function(t,e,n,r,i,o){t=isNaN(t)?1:t,e=isNaN(e)?0:e,n=isNaN(n)?0:n,r=isNaN(r)?1:r,i=isNaN(i)?0:i,o=isNaN(o)?0:o,this.ctx.transform=new M(t,e,n,r,i,o)},n.prototype.drawImage=function(t,e,n,r,i,o,a,s,l){var h=this.pdf.getImageProperties(t),u=1,c=1,f=1,p=1;void 0!==r&&void 0!==s&&(f=s/r,p=l/i,u=h.width/r*s/r,c=h.height/i*l/i),void 0===o&&(o=e,a=n,n=e=0),void 0!==r&&void 0===s&&(s=r,l=i),void 0===r&&void 0===s&&(s=h.width,l=h.height);var d=this.ctx.transform.decompose(),g=B(d.rotate.shx);d.scale.sx,d.scale.sy;for(var m,y=new M,v=((y=(y=(y=y.multiply(d.translate)).multiply(d.skew)).multiply(d.scale)).applyToPoint(new j(s,l)),y.applyToRectangle(new E(o-e*f,a-n*p,r*u,i*c))),w=F.call(this,v),b=[],x=0;x<w.length;x+=1)-1===b.indexOf(w[x])&&b.push(w[x]);if(b.sort(),this.autoPaging)for(var N=b[0],L=b[b.length-1],A=N;A<L+1;A++){if(this.pdf.setPage(A),0!==this.ctx.clip_path.length){var S=this.path;m=JSON.parse(JSON.stringify(this.ctx.clip_path)),this.path=P(m,this.posX,-1*this.pdf.internal.pageSize.height*(A-1)+this.posY),k.call(this,\"fill\",!0),this.path=S}var _=JSON.parse(JSON.stringify(v));_=P([_],this.posX,-1*this.pdf.internal.pageSize.height*(A-1)+this.posY)[0],this.pdf.addImage(t,\"jpg\",_.x,_.y,_.w,_.h,null,null,g)}else this.pdf.addImage(t,\"jpg\",v.x,v.y,v.w,v.h,null,null,g)};var F=function(t,e,n){var r=[];switch(e=e||this.pdf.internal.pageSize.width,n=n||this.pdf.internal.pageSize.height,t.type){default:case\"mt\":case\"lt\":r.push(Math.floor((t.y+this.posY)/n)+1);break;case\"arc\":r.push(Math.floor((t.y+this.posY-t.radius)/n)+1),r.push(Math.floor((t.y+this.posY+t.radius)/n)+1);break;case\"qct\":var i=w(this.ctx.lastPoint.x,this.ctx.lastPoint.y,t.x1,t.y1,t.x,t.y);r.push(Math.floor(i.y/n)+1),r.push(Math.floor((i.y+i.h)/n)+1);break;case\"bct\":var o=b(this.ctx.lastPoint.x,this.ctx.lastPoint.y,t.x1,t.y1,t.x2,t.y2,t.x,t.y);r.push(Math.floor(o.y/n)+1),r.push(Math.floor((o.y+o.h)/n)+1);break;case\"rect\":r.push(Math.floor((t.y+this.posY)/n)+1),r.push(Math.floor((t.y+t.h+this.posY)/n)+1)}for(var a=0;a<r.length;a+=1)for(;this.pdf.internal.getNumberOfPages()<r[a];)v.call(this);return r},v=function(){var t=this.fillStyle,e=this.strokeStyle,n=this.font,r=this.lineCap,i=this.lineWidth,o=this.lineJoin;this.pdf.addPage(),this.fillStyle=t,this.strokeStyle=e,this.font=n,this.lineCap=r,this.lineWidth=i,this.lineJoin=o},P=function(t,e,n){for(var r=0;r<t.length;r++)switch(t[r].type){case\"bct\":t[r].x2+=e,t[r].y2+=n;case\"qct\":t[r].x1+=e,t[r].y1+=n;case\"mt\":case\"lt\":case\"arc\":default:t[r].x+=e,t[r].y+=n}return t},r=function(t,e){for(var n,r,i=this.fillStyle,o=this.strokeStyle,a=(this.font,this.lineCap),s=this.lineWidth,l=this.lineJoin,h=JSON.parse(JSON.stringify(this.path)),u=JSON.parse(JSON.stringify(this.path)),c=[],f=0;f<u.length;f++)if(void 0!==u[f].x)for(var p=F.call(this,u[f]),d=0;d<p.length;d+=1)-1===c.indexOf(p[d])&&c.push(p[d]);for(f=0;f<c.length;f++)for(;this.pdf.internal.getNumberOfPages()<c[f];)v.call(this);if(c.sort(),this.autoPaging){var g=c[0],m=c[c.length-1];for(f=g;f<m+1;f++){if(this.pdf.setPage(f),this.fillStyle=i,this.strokeStyle=o,this.lineCap=a,this.lineWidth=s,this.lineJoin=l,0!==this.ctx.clip_path.length){var y=this.path;n=JSON.parse(JSON.stringify(this.ctx.clip_path)),this.path=P(n,this.posX,-1*this.pdf.internal.pageSize.height*(f-1)+this.posY),k.call(this,t,!0),this.path=y}r=JSON.parse(JSON.stringify(h)),this.path=P(r,this.posX,-1*this.pdf.internal.pageSize.height*(f-1)+this.posY),!1!==e&&0!==f||k.call(this,t,e)}}else k.call(this,t,e);this.path=h},k=function(t,e){if((\"stroke\"!==t||e||!L.call(this))&&(\"stroke\"===t||e||!N.call(this))){var n=[];this.ctx.globalAlpha;this.ctx.fillOpacity<1&&this.ctx.fillOpacity;for(var r,i=this.path,o=0;o<i.length;o++){var a=i[o];switch(a.type){case\"begin\":n.push({begin:!0});break;case\"close\":n.push({close:!0});break;case\"mt\":n.push({start:a,deltas:[],abs:[]});break;case\"lt\":var s=n.length;if(!isNaN(i[o-1].x)){var l=[a.x-i[o-1].x,a.y-i[o-1].y];if(0<s)for(;0<=s;s--)if(!0!==n[s-1].close&&!0!==n[s-1].begin){n[s-1].deltas.push(l),n[s-1].abs.push(a);break}}break;case\"bct\":l=[a.x1-i[o-1].x,a.y1-i[o-1].y,a.x2-i[o-1].x,a.y2-i[o-1].y,a.x-i[o-1].x,a.y-i[o-1].y];n[n.length-1].deltas.push(l);break;case\"qct\":var h=i[o-1].x+2/3*(a.x1-i[o-1].x),u=i[o-1].y+2/3*(a.y1-i[o-1].y),c=a.x+2/3*(a.x1-a.x),f=a.y+2/3*(a.y1-a.y),p=a.x,d=a.y;l=[h-i[o-1].x,u-i[o-1].y,c-i[o-1].x,f-i[o-1].y,p-i[o-1].x,d-i[o-1].y];n[n.length-1].deltas.push(l);break;case\"arc\":n.push({deltas:[],abs:[],arc:!0}),Array.isArray(n[n.length-1].abs)&&n[n.length-1].abs.push(a)}}r=e?null:\"stroke\"===t?\"stroke\":\"fill\";for(o=0;o<n.length;o++){if(n[o].arc)for(var g=n[o].abs,m=0;m<g.length;m++){var y=g[m];if(void 0!==y.startAngle){var v=B(y.startAngle),w=B(y.endAngle),b=y.x,x=y.y;A.call(this,b,x,y.radius,v,w,y.counterclockwise,r,e)}else I.call(this,y.x,y.y)}if(!n[o].arc&&!0!==n[o].close&&!0!==n[o].begin){b=n[o].start.x,x=n[o].start.y;C.call(this,n[o].deltas,b,x,null,null)}}r&&S.call(this,r),e&&_.call(this)}},a=function(t){var e=this.pdf.internal.getFontSize()/this.pdf.internal.scaleFactor,n=e*(this.pdf.internal.getLineHeightFactor()-1);switch(this.ctx.textBaseline){case\"bottom\":return t-n;case\"top\":return t+e-n;case\"hanging\":return t+e-2*n;case\"middle\":return t+e/2-n;case\"ideographic\":return t;case\"alphabetic\":default:return t}};n.prototype.createLinearGradient=function(){var t=function(){};return t.colorStops=[],t.addColorStop=function(t,e){this.colorStops.push([t,e])},t.getColor=function(){return 0===this.colorStops.length?\"#000000\":this.colorStops[0][1]},t.isCanvasGradient=!0,t},n.prototype.createPattern=function(){return this.createLinearGradient()},n.prototype.createRadialGradient=function(){return this.createLinearGradient()};var A=function(t,e,n,r,i,o,a,s){this.pdf.internal.scaleFactor;for(var l=y(r),h=y(i),u=g.call(this,n,l,h,o),c=0;c<u.length;c++){var f=u[c];0===c&&p.call(this,f.x1+t,f.y1+e),d.call(this,t,e,f.x2,f.y2,f.x3,f.y3,f.x4,f.y4)}s?_.call(this):S.call(this,a)},S=function(t){switch(t){case\"stroke\":this.pdf.internal.out(\"S\");break;case\"fill\":this.pdf.internal.out(\"f\")}},_=function(){this.pdf.clip()},p=function(t,e){this.pdf.internal.out(i(t)+\" \"+o(e)+\" m\")},s=function(t){var e;switch(t.align){case\"right\":case\"end\":e=\"right\";break;case\"center\":e=\"center\";break;case\"left\":case\"start\":default:e=\"left\"}var n=this.ctx.transform.applyToPoint(new j(t.x,t.y)),r=this.ctx.transform.decompose(),i=new M;i=(i=(i=i.multiply(r.translate)).multiply(r.skew)).multiply(r.scale);for(var o,a=this.pdf.getTextDimensions(t.text),s=this.ctx.transform.applyToRectangle(new E(t.x,t.y,a.w,a.h)),l=i.applyToRectangle(new E(t.x,t.y-a.h,a.w,a.h)),h=F.call(this,l),u=[],c=0;c<h.length;c+=1)-1===u.indexOf(h[c])&&u.push(h[c]);if(u.sort(),!0===this.autoPaging)for(var f=u[0],p=u[u.length-1],d=f;d<p+1;d++){if(this.pdf.setPage(d),0!==this.ctx.clip_path.length){var g=this.path;o=JSON.parse(JSON.stringify(this.ctx.clip_path)),this.path=P(o,this.posX,-1*this.pdf.internal.pageSize.height*(d-1)+this.posY),k.call(this,\"fill\",!0),this.path=g}var m=JSON.parse(JSON.stringify(s));if(m=P([m],this.posX,-1*this.pdf.internal.pageSize.height*(d-1)+this.posY)[0],.01<=t.scale){var y=this.pdf.internal.getFontSize();this.pdf.setFontSize(y*t.scale)}this.pdf.text(t.text,m.x,m.y,{angle:t.angle,align:e,renderingMode:t.renderingMode,maxWidth:t.maxWidth}),.01<=t.scale&&this.pdf.setFontSize(y)}else{if(.01<=t.scale){y=this.pdf.internal.getFontSize();this.pdf.setFontSize(y*t.scale)}this.pdf.text(t.text,n.x+this.posX,n.y+this.posY,{angle:t.angle,align:e,renderingMode:t.renderingMode,maxWidth:t.maxWidth}),.01<=t.scale&&this.pdf.setFontSize(y)}},I=function(t,e,n,r){n=n||0,r=r||0,this.pdf.internal.out(i(t+n)+\" \"+o(e+r)+\" l\")},C=function(t,e,n){return this.pdf.lines(t,e,n,null,null)},d=function(t,e,n,r,i,o,a,s){this.pdf.internal.out([l(h(n+t)),l(u(r+e)),l(h(i+t)),l(u(o+e)),l(h(a+t)),l(u(s+e)),\"c\"].join(\" \"))},g=function(t,e,n,r){var i=2*Math.PI,o=e;(o<i||i<o)&&(o%=i);var a=n;(a<i||i<a)&&(a%=i);for(var s=[],l=Math.PI/2,h=r?-1:1,u=e,c=Math.min(i,Math.abs(a-o));1e-5<c;){var f=u+h*Math.min(c,l);s.push(m.call(this,t,u,f)),c-=Math.abs(f-u),u=f}return s},m=function(t,e,n){var r=(n-e)/2,i=t*Math.cos(r),o=t*Math.sin(r),a=i,s=-o,l=a*a+s*s,h=l+a*i+s*o,u=4/3*(Math.sqrt(2*l*h)-h)/(a*o-s*i),c=a-u*s,f=s+u*a,p=c,d=-f,g=r+e,m=Math.cos(g),y=Math.sin(g);return{x1:t*Math.cos(e),y1:t*Math.sin(e),x2:c*m-f*y,y2:c*y+f*m,x3:p*m-d*y,y3:p*y+d*m,x4:t*Math.cos(n),y4:t*Math.sin(n)}},B=function(t){return 180*t/Math.PI},y=function(t){return t*Math.PI/180},w=function(t,e,n,r,i,o){var a=t+.5*(n-t),s=e+.5*(r-e),l=i+.5*(n-i),h=o+.5*(r-o),u=Math.min(t,i,a,l),c=Math.max(t,i,a,l),f=Math.min(e,o,s,h),p=Math.max(e,o,s,h);return new E(u,f,c-u,p-f)},b=function(t,e,n,r,i,o,a,s){for(var l,h,u,c,f,p,d,g,m,y,v,w,b,x=n-t,N=r-e,L=i-n,A=o-r,S=a-i,_=s-o,F=0;F<41;F++)g=(p=(h=t+(l=F/40)*x)+l*((c=n+l*L)-h))+l*(c+l*(i+l*S-c)-p),m=(d=(u=e+l*N)+l*((f=r+l*A)-u))+l*(f+l*(o+l*_-f)-d),b=0==F?(w=y=g,v=m):(y=Math.min(y,g),v=Math.min(v,m),w=Math.max(w,g),Math.max(b,m));return new E(Math.round(y),Math.round(v),Math.round(w-y),Math.round(b-v))},j=function(t,e){var n=t||0;Object.defineProperty(this,\"x\",{enumerable:!0,get:function(){return n},set:function(t){isNaN(t)||(n=parseFloat(t))}});var r=e||0;Object.defineProperty(this,\"y\",{enumerable:!0,get:function(){return r},set:function(t){isNaN(t)||(r=parseFloat(t))}});var i=\"pt\";return Object.defineProperty(this,\"type\",{enumerable:!0,get:function(){return i},set:function(t){i=t.toString()}}),this},E=function(t,e,n,r){j.call(this,t,e),this.type=\"rect\";var i=n||0;Object.defineProperty(this,\"w\",{enumerable:!0,get:function(){return i},set:function(t){isNaN(t)||(i=parseFloat(t))}});var o=r||0;return Object.defineProperty(this,\"h\",{enumerable:!0,get:function(){return o},set:function(t){isNaN(t)||(o=parseFloat(t))}}),this},M=function(t,e,n,r,i,o){var a=[];return Object.defineProperty(this,\"sx\",{get:function(){return a[0]},set:function(t){a[0]=Math.round(1e5*t)/1e5}}),Object.defineProperty(this,\"shy\",{get:function(){return a[1]},set:function(t){a[1]=Math.round(1e5*t)/1e5}}),Object.defineProperty(this,\"shx\",{get:function(){return a[2]},set:function(t){a[2]=Math.round(1e5*t)/1e5}}),Object.defineProperty(this,\"sy\",{get:function(){return a[3]},set:function(t){a[3]=Math.round(1e5*t)/1e5}}),Object.defineProperty(this,\"tx\",{get:function(){return a[4]},set:function(t){a[4]=Math.round(1e5*t)/1e5}}),Object.defineProperty(this,\"ty\",{get:function(){return a[5]},set:function(t){a[5]=Math.round(1e5*t)/1e5}}),Object.defineProperty(this,\"rotation\",{get:function(){return Math.atan2(this.shx,this.sx)}}),Object.defineProperty(this,\"scaleX\",{get:function(){return this.decompose().scale.sx}}),Object.defineProperty(this,\"scaleY\",{get:function(){return this.decompose().scale.sy}}),Object.defineProperty(this,\"isIdentity\",{get:function(){return 1===this.sx&&(0===this.shy&&(0===this.shx&&(1===this.sy&&(0===this.tx&&0===this.ty))))}}),this.sx=isNaN(t)?1:t,this.shy=isNaN(e)?0:e,this.shx=isNaN(n)?0:n,this.sy=isNaN(r)?1:r,this.tx=isNaN(i)?0:i,this.ty=isNaN(o)?0:o,this};M.prototype.multiply=function(t){var e=t.sx*this.sx+t.shy*this.shx,n=t.sx*this.shy+t.shy*this.sy,r=t.shx*this.sx+t.sy*this.shx,i=t.shx*this.shy+t.sy*this.sy,o=t.tx*this.sx+t.ty*this.shx+this.tx,a=t.tx*this.shy+t.ty*this.sy+this.ty;return new M(e,n,r,i,o,a)},M.prototype.decompose=function(){var t=this.sx,e=this.shy,n=this.shx,r=this.sy,i=this.tx,o=this.ty,a=Math.sqrt(t*t+e*e),s=(t/=a)*n+(e/=a)*r;n-=t*s,r-=e*s;var l=Math.sqrt(n*n+r*r);return s/=l,t*(r/=l)<e*(n/=l)&&(t=-t,e=-e,s=-s,a=-a),{scale:new M(a,0,0,l,0,0),translate:new M(1,0,0,1,i,o),rotate:new M(t,e,-e,t,0,0),skew:new M(1,0,s,1,0,0)}},M.prototype.applyToPoint=function(t){var e=t.x*this.sx+t.y*this.shx+this.tx,n=t.x*this.shy+t.y*this.sy+this.ty;return new j(e,n)},M.prototype.applyToRectangle=function(t){var e=this.applyToPoint(t),n=this.applyToPoint(new j(t.x+t.w,t.y+t.h));return new E(e.x,e.y,n.x-e.x,n.y-e.y)},M.prototype.clone=function(){var t=this.sx,e=this.shy,n=this.shx,r=this.sy,i=this.tx,o=this.ty;return new M(t,e,n,r,i,o)}}(lt.API,\"undefined\"!=typeof self&&self||\"undefined\"!=typeof window&&window||\"undefined\"!=typeof global&&global||Function('return typeof this === \"object\" && this.content')()||Function(\"return this\")()),\n/**\n   * jsPDF filters PlugIn\n   * Copyright (c) 2014 Aras Abbasi \n   *\n   * Licensed under the MIT License.\n   * http://opensource.org/licenses/mit-license\n   */\na=lt.API,o=function(t){var r,e,n,i,o,a,s,l,h,u;for(/[^\\x00-\\xFF]/.test(t),e=[],n=0,i=(t+=r=\"\\0\\0\\0\\0\".slice(t.length%4||4)).length;n<i;n+=4)0!==(o=(t.charCodeAt(n)<<24)+(t.charCodeAt(n+1)<<16)+(t.charCodeAt(n+2)<<8)+t.charCodeAt(n+3))?(a=(o=((o=((o=((o=(o-(u=o%85))/85)-(h=o%85))/85)-(l=o%85))/85)-(s=o%85))/85)%85,e.push(a+33,s+33,l+33,h+33,u+33)):e.push(122);return function(t,e){for(var n=r.length;0<n;n--)t.pop()}(e),String.fromCharCode.apply(String,e)+\"~>\"},s=function(t){var r,e,n,i,o,a=String,s=\"length\",l=\"charCodeAt\",h=\"slice\",u=\"replace\";for(t[h](-2),t=t[h](0,-2)[u](/\\s/g,\"\")[u](\"z\",\"!!!!!\"),n=[],i=0,o=(t+=r=\"uuuuu\"[h](t[s]%5||5))[s];i<o;i+=5)e=52200625*(t[l](i)-33)+614125*(t[l](i+1)-33)+7225*(t[l](i+2)-33)+85*(t[l](i+3)-33)+(t[l](i+4)-33),n.push(255&e>>24,255&e>>16,255&e>>8,255&e);return function(t,e){for(var n=r[s];0<n;n--)t.pop()}(n),a.fromCharCode.apply(a,n)},h=function(t){for(var e=\"\",n=0;n<t.length;n+=1)e+=(\"0\"+t.charCodeAt(n).toString(16)).slice(-2);return e+=\">\"},u=function(t){var e=new RegExp(/^([0-9A-Fa-f]{2})+$/);if(-1!==(t=t.replace(/\\s/g,\"\")).indexOf(\">\")&&(t=t.substr(0,t.indexOf(\">\"))),t.length%2&&(t+=\"0\"),!1===e.test(t))return\"\";for(var n=\"\",r=0;r<t.length;r+=2)n+=String.fromCharCode(\"0x\"+(t[r]+t[r+1]));return n},c=function(t,e){e=Object.assign({predictor:1,colors:1,bitsPerComponent:8,columns:1},e);for(var n,r,i=[],o=t.length;o--;)i[o]=t.charCodeAt(o);return n=a.adler32cs.from(t),(r=new Deflater(6)).append(new Uint8Array(i)),t=r.flush(),(i=new Uint8Array(t.length+6)).set(new Uint8Array([120,156])),i.set(t,2),i.set(new Uint8Array([255&n,n>>8&255,n>>16&255,n>>24&255]),t.length+2),t=String.fromCharCode.apply(null,i)},a.processDataByFilters=function(t,e){var n=0,r=t||\"\",i=[];for(\"string\"==typeof(e=e||[])&&(e=[e]),n=0;n<e.length;n+=1)switch(e[n]){case\"ASCII85Decode\":case\"/ASCII85Decode\":r=s(r),i.push(\"/ASCII85Encode\");break;case\"ASCII85Encode\":case\"/ASCII85Encode\":r=o(r),i.push(\"/ASCII85Decode\");break;case\"ASCIIHexDecode\":case\"/ASCIIHexDecode\":r=u(r),i.push(\"/ASCIIHexEncode\");break;case\"ASCIIHexEncode\":case\"/ASCIIHexEncode\":r=h(r),i.push(\"/ASCIIHexDecode\");break;case\"FlateEncode\":case\"/FlateEncode\":r=c(r),i.push(\"/FlateDecode\");break;default:throw'The filter: \"'+e[n]+'\" is not implemented'}return{data:r,reverseChain:i.reverse().join(\" \")}},(\n/**\n   * jsPDF fileloading PlugIn\n   * Copyright (c) 2018 Aras Abbasi (aras.abbasi@gmail.com)\n   *\n   * Licensed under the MIT License.\n   * http://opensource.org/licenses/mit-license\n   */\nr=lt.API).loadFile=function(t,e,n){var r;e=e||!0,n=n||function(){};try{r=function(t,e,n){var r=new XMLHttpRequest,i=[],o=0,a=function(t){var e=t.length,n=String.fromCharCode;for(o=0;o<e;o+=1)i.push(n(255&t.charCodeAt(o)));return i.join(\"\")};if(r.open(\"GET\",t,!e),r.overrideMimeType(\"text/plain; charset=x-user-defined\"),!1===e&&(r.onload=function(){return a(this.responseText)}),r.send(null),200===r.status)return e?a(r.responseText):void 0;console.warn('Unable to load file \"'+t+'\"')}(t,e)}catch(t){r=void 0}return r},r.loadImageFile=r.loadFile,\n/**\n   * Copyright (c) 2018 Erik Koopmans\n   * Released under the MIT License.\n   *\n   * Licensed under the MIT License.\n   * http://opensource.org/licenses/mit-license\n   */\ni=lt.API,f=\"undefined\"!=typeof window&&window||\"undefined\"!=typeof global&&global,g=function(t){var e=se(t);return\"undefined\"===e?\"undefined\":\"string\"===e||t instanceof String?\"string\":\"number\"===e||t instanceof Number?\"number\":\"function\"===e||t instanceof Function?\"function\":t&&t.constructor===Array?\"array\":t&&1===t.nodeType?\"element\":\"object\"===e?\"object\":\"unknown\"},m=function(t,e){var n=document.createElement(t);if(e.className&&(n.className=e.className),e.innerHTML){n.innerHTML=e.innerHTML;for(var r=n.getElementsByTagName(\"script\"),i=r.length;0<i--;null)r[i].parentNode.removeChild(r[i])}for(var o in e.style)n.style[o]=e.style[o];return n},(((y=function t(e){var n=Object.assign(t.convert(Promise.resolve()),JSON.parse(JSON.stringify(t.template))),r=t.convert(Promise.resolve(),n);return r=(r=r.setProgress(1,t,1,[t])).set(e)}).prototype=Object.create(Promise.prototype)).constructor=y).convert=function(t,e){return t.__proto__=e||y.prototype,t},y.template={prop:{src:null,container:null,overlay:null,canvas:null,img:null,pdf:null,pageSize:null,callback:function(){}},progress:{val:0,state:null,n:0,stack:[]},opt:{filename:\"file.pdf\",margin:[0,0,0,0],enableLinks:!0,x:0,y:0,html2canvas:{},jsPDF:{}}},y.prototype.from=function(t,e){return this.then(function(){switch(e=e||function(t){switch(g(t)){case\"string\":return\"string\";case\"element\":return\"canvas\"===t.nodeName.toLowerCase?\"canvas\":\"element\";default:return\"unknown\"}}(t)){case\"string\":return this.set({src:m(\"div\",{innerHTML:t})});case\"element\":return this.set({src:t});case\"canvas\":return this.set({canvas:t});case\"img\":return this.set({img:t});default:return this.error(\"Unknown source type.\")}})},y.prototype.to=function(t){switch(t){case\"container\":return this.toContainer();case\"canvas\":return this.toCanvas();case\"img\":return this.toImg();case\"pdf\":return this.toPdf();default:return this.error(\"Invalid target.\")}},y.prototype.toContainer=function(){return this.thenList([function(){return this.prop.src||this.error(\"Cannot duplicate - no source HTML.\")},function(){return this.prop.pageSize||this.setPageSize()}]).then(function(){var t={position:\"relative\",display:\"inline-block\",width:Math.max(this.prop.src.clientWidth,this.prop.src.scrollWidth,this.prop.src.offsetWidth)+\"px\",left:0,right:0,top:0,margin:\"auto\",backgroundColor:\"white\"},e=function t(e,n){for(var r=3===e.nodeType?document.createTextNode(e.nodeValue):e.cloneNode(!1),i=e.firstChild;i;i=i.nextSibling)!0!==n&&1===i.nodeType&&\"SCRIPT\"===i.nodeName||r.appendChild(t(i,n));return 1===e.nodeType&&(\"CANVAS\"===e.nodeName?(r.width=e.width,r.height=e.height,r.getContext(\"2d\").drawImage(e,0,0)):\"TEXTAREA\"!==e.nodeName&&\"SELECT\"!==e.nodeName||(r.value=e.value),r.addEventListener(\"load\",function(){r.scrollTop=e.scrollTop,r.scrollLeft=e.scrollLeft},!0)),r}(this.prop.src,this.opt.html2canvas.javascriptEnabled);\"BODY\"===e.tagName&&(t.height=Math.max(document.body.scrollHeight,document.body.offsetHeight,document.documentElement.clientHeight,document.documentElement.scrollHeight,document.documentElement.offsetHeight)+\"px\"),this.prop.overlay=m(\"div\",{className:\"html2pdf__overlay\",style:{position:\"fixed\",overflow:\"hidden\",zIndex:1e3,left:\"-100000px\",right:0,bottom:0,top:0}}),this.prop.container=m(\"div\",{className:\"html2pdf__container\",style:t}),this.prop.container.appendChild(e),this.prop.container.firstChild.appendChild(m(\"div\",{style:{clear:\"both\",border:\"0 none transparent\",margin:0,padding:0,height:0}})),this.prop.container.style.float=\"none\",this.prop.overlay.appendChild(this.prop.container),document.body.appendChild(this.prop.overlay),this.prop.container.firstChild.style.position=\"relative\",this.prop.container.height=Math.max(this.prop.container.firstChild.clientHeight,this.prop.container.firstChild.scrollHeight,this.prop.container.firstChild.offsetHeight)+\"px\"})},y.prototype.toCanvas=function(){var t=[function(){return document.body.contains(this.prop.container)||this.toContainer()}];return this.thenList(t).then(function(){var t=Object.assign({},this.opt.html2canvas);if(delete t.onrendered,this.isHtml2CanvasLoaded())return html2canvas(this.prop.container,t)}).then(function(t){(this.opt.html2canvas.onrendered||function(){})(t),this.prop.canvas=t,document.body.removeChild(this.prop.overlay)})},y.prototype.toContext2d=function(){var t=[function(){return document.body.contains(this.prop.container)||this.toContainer()}];return this.thenList(t).then(function(){var t=this.opt.jsPDF,e=Object.assign({async:!0,allowTaint:!0,backgroundColor:\"#ffffff\",imageTimeout:15e3,logging:!0,proxy:null,removeContainer:!0,foreignObjectRendering:!1,useCORS:!1},this.opt.html2canvas);if(delete e.onrendered,t.context2d.autoPaging=!0,t.context2d.posX=this.opt.x,t.context2d.posY=this.opt.y,e.windowHeight=e.windowHeight||0,e.windowHeight=0==e.windowHeight?Math.max(this.prop.container.clientHeight,this.prop.container.scrollHeight,this.prop.container.offsetHeight):e.windowHeight,this.isHtml2CanvasLoaded())return html2canvas(this.prop.container,e)}).then(function(t){(this.opt.html2canvas.onrendered||function(){})(t),this.prop.canvas=t,document.body.removeChild(this.prop.overlay)})},y.prototype.toImg=function(){return this.thenList([function(){return this.prop.canvas||this.toCanvas()}]).then(function(){var t=this.prop.canvas.toDataURL(\"image/\"+this.opt.image.type,this.opt.image.quality);this.prop.img=document.createElement(\"img\"),this.prop.img.src=t})},y.prototype.toPdf=function(){return this.thenList([function(){return this.toContext2d()}]).then(function(){this.prop.pdf=this.prop.pdf||this.opt.jsPDF})},y.prototype.output=function(t,e,n){return\"img\"===(n=n||\"pdf\").toLowerCase()||\"image\"===n.toLowerCase()?this.outputImg(t,e):this.outputPdf(t,e)},y.prototype.outputPdf=function(t,e){return this.thenList([function(){return this.prop.pdf||this.toPdf()}]).then(function(){return this.prop.pdf.output(t,e)})},y.prototype.outputImg=function(t,e){return this.thenList([function(){return this.prop.img||this.toImg()}]).then(function(){switch(t){case void 0:case\"img\":return this.prop.img;case\"datauristring\":case\"dataurlstring\":return this.prop.img.src;case\"datauri\":case\"dataurl\":return document.location.href=this.prop.img.src;default:throw'Image output type \"'+t+'\" is not supported.'}})},y.prototype.isHtml2CanvasLoaded=function(){var t=void 0!==f.html2canvas;return t||console.error(\"html2canvas not loaded.\"),t},y.prototype.save=function(t){if(this.isHtml2CanvasLoaded())return this.thenList([function(){return this.prop.pdf||this.toPdf()}]).set(t?{filename:t}:null).then(function(){this.prop.pdf.save(this.opt.filename)})},y.prototype.doCallback=function(t){if(this.isHtml2CanvasLoaded())return this.thenList([function(){return this.prop.pdf||this.toPdf()}]).then(function(){this.prop.callback(this.prop.pdf)})},y.prototype.set=function(e){if(\"object\"!==g(e))return this;var t=Object.keys(e||{}).map(function(t){if(t in y.template.prop)return function(){this.prop[t]=e[t]};switch(t){case\"margin\":return this.setMargin.bind(this,e.margin);case\"jsPDF\":return function(){return this.opt.jsPDF=e.jsPDF,this.setPageSize()};case\"pageSize\":return this.setPageSize.bind(this,e.pageSize);default:return function(){this.opt[t]=e[t]}}},this);return this.then(function(){return this.thenList(t)})},y.prototype.get=function(e,n){return this.then(function(){var t=e in y.template.prop?this.prop[e]:this.opt[e];return n?n(t):t})},y.prototype.setMargin=function(t){return this.then(function(){switch(g(t)){case\"number\":t=[t,t,t,t];case\"array\":if(2===t.length&&(t=[t[0],t[1],t[0],t[1]]),4===t.length)break;default:return this.error(\"Invalid margin array.\")}this.opt.margin=t}).then(this.setPageSize)},y.prototype.setPageSize=function(t){function e(t,e){return Math.floor(t*e/72*96)}return this.then(function(){(t=t||lt.getPageSize(this.opt.jsPDF)).hasOwnProperty(\"inner\")||(t.inner={width:t.width-this.opt.margin[1]-this.opt.margin[3],height:t.height-this.opt.margin[0]-this.opt.margin[2]},t.inner.px={width:e(t.inner.width,t.k),height:e(t.inner.height,t.k)},t.inner.ratio=t.inner.height/t.inner.width),this.prop.pageSize=t})},y.prototype.setProgress=function(t,e,n,r){return null!=t&&(this.progress.val=t),null!=e&&(this.progress.state=e),null!=n&&(this.progress.n=n),null!=r&&(this.progress.stack=r),this.progress.ratio=this.progress.val/this.progress.state,this},y.prototype.updateProgress=function(t,e,n,r){return this.setProgress(t?this.progress.val+t:null,e||null,n?this.progress.n+n:null,r?this.progress.stack.concat(r):null)},y.prototype.then=function(t,e){var n=this;return this.thenCore(t,e,function(e,t){return n.updateProgress(null,null,1,[e]),Promise.prototype.then.call(this,function(t){return n.updateProgress(null,e),t}).then(e,t).then(function(t){return n.updateProgress(1),t})})},y.prototype.thenCore=function(t,e,n){n=n||Promise.prototype.then;var r=this;t&&(t=t.bind(r)),e&&(e=e.bind(r));var i=-1!==Promise.toString().indexOf(\"[native code]\")&&\"Promise\"===Promise.name?r:y.convert(Object.assign({},r),Promise.prototype),o=n.call(i,t,e);return y.convert(o,r.__proto__)},y.prototype.thenExternal=function(t,e){return Promise.prototype.then.call(this,t,e)},y.prototype.thenList=function(t){var e=this;return t.forEach(function(t){e=e.thenCore(t)}),e},y.prototype.catch=function(t){t&&(t=t.bind(this));var e=Promise.prototype.catch.call(this,t);return y.convert(e,this)},y.prototype.catchExternal=function(t){return Promise.prototype.catch.call(this,t)},y.prototype.error=function(t){return this.then(function(){throw new Error(t)})},y.prototype.using=y.prototype.set,y.prototype.saveAs=y.prototype.save,y.prototype.export=y.prototype.output,y.prototype.run=y.prototype.then,lt.getPageSize=function(t,e,n){if(\"object\"===se(t)){var r=t;t=r.orientation,e=r.unit||e,n=r.format||n}e=e||\"mm\",n=n||\"a4\",t=(\"\"+(t||\"P\")).toLowerCase();var i=(\"\"+n).toLowerCase(),o={a0:[2383.94,3370.39],a1:[1683.78,2383.94],a2:[1190.55,1683.78],a3:[841.89,1190.55],a4:[595.28,841.89],a5:[419.53,595.28],a6:[297.64,419.53],a7:[209.76,297.64],a8:[147.4,209.76],a9:[104.88,147.4],a10:[73.7,104.88],b0:[2834.65,4008.19],b1:[2004.09,2834.65],b2:[1417.32,2004.09],b3:[1000.63,1417.32],b4:[708.66,1000.63],b5:[498.9,708.66],b6:[354.33,498.9],b7:[249.45,354.33],b8:[175.75,249.45],b9:[124.72,175.75],b10:[87.87,124.72],c0:[2599.37,3676.54],c1:[1836.85,2599.37],c2:[1298.27,1836.85],c3:[918.43,1298.27],c4:[649.13,918.43],c5:[459.21,649.13],c6:[323.15,459.21],c7:[229.61,323.15],c8:[161.57,229.61],c9:[113.39,161.57],c10:[79.37,113.39],dl:[311.81,623.62],letter:[612,792],\"government-letter\":[576,756],legal:[612,1008],\"junior-legal\":[576,360],ledger:[1224,792],tabloid:[792,1224],\"credit-card\":[153,243]};switch(e){case\"pt\":var a=1;break;case\"mm\":a=72/25.4;break;case\"cm\":a=72/2.54;break;case\"in\":a=72;break;case\"px\":a=.75;break;case\"pc\":case\"em\":a=12;break;case\"ex\":a=6;break;default:throw\"Invalid unit: \"+e}if(o.hasOwnProperty(i))var s=o[i][1]/a,l=o[i][0]/a;else try{s=n[1],l=n[0]}catch(t){throw new Error(\"Invalid format: \"+n)}if(\"p\"===t||\"portrait\"===t){if(t=\"p\",s<l){var h=l;l=s,s=h}}else{if(\"l\"!==t&&\"landscape\"!==t)throw\"Invalid orientation: \"+t;t=\"l\",l<s&&(h=l,l=s,s=h)}return{width:l,height:s,unit:e,k:a}},i.html=function(t,e){(e=e||{}).callback=e.callback||function(){},e.html2canvas=e.html2canvas||{},e.html2canvas.canvas=e.html2canvas.canvas||this.canvas,e.jsPDF=e.jsPDF||this,e.jsPDF;var n=new y(e);return e.worker?n:n.from(t).doCallback()},lt.API.addJS=function(t){return b=t,this.internal.events.subscribe(\"postPutResources\",function(t){v=this.internal.newObject(),this.internal.out(\"<<\"),this.internal.out(\"/Names [(EmbeddedJS) \"+(v+1)+\" 0 R]\"),this.internal.out(\">>\"),this.internal.out(\"endobj\"),w=this.internal.newObject(),this.internal.out(\"<<\"),this.internal.out(\"/S /JavaScript\"),this.internal.out(\"/JS (\"+b+\")\"),this.internal.out(\">>\"),this.internal.out(\"endobj\")}),this.internal.events.subscribe(\"putCatalog\",function(){void 0!==v&&void 0!==w&&this.internal.out(\"/Names <</JavaScript \"+v+\" 0 R>>\")}),this},(\n/**\n   * @license\n   * Copyright (c) 2014 Steven Spungin (TwelveTone LLC)  steven@twelvetone.tv\n   *\n   * Licensed under the MIT License.\n   * http://opensource.org/licenses/mit-license\n   */\nx=lt.API).events.push([\"postPutResources\",function(){var t=this,e=/^(\\d+) 0 obj$/;if(0<this.outline.root.children.length)for(var n=t.outline.render().split(/\\r\\n/),r=0;r<n.length;r++){var i=n[r],o=e.exec(i);if(null!=o){var a=o[1];t.internal.newObjectDeferredBegin(a,!1)}t.internal.write(i)}if(this.outline.createNamedDestinations){var s=this.internal.pages.length,l=[];for(r=0;r<s;r++){var h=t.internal.newObject();l.push(h);var u=t.internal.getPageInfo(r+1);t.internal.write(\"<< /D[\"+u.objId+\" 0 R /XYZ null null null]>> endobj\")}var c=t.internal.newObject();for(t.internal.write(\"<< /Names [ \"),r=0;r<l.length;r++)t.internal.write(\"(page_\"+(r+1)+\")\"+l[r]+\" 0 R\");t.internal.write(\" ] >>\",\"endobj\"),t.internal.newObject(),t.internal.write(\"<< /Dests \"+c+\" 0 R\"),t.internal.write(\">>\",\"endobj\")}}]),x.events.push([\"putCatalog\",function(){0<this.outline.root.children.length&&(this.internal.write(\"/Outlines\",this.outline.makeRef(this.outline.root)),this.outline.createNamedDestinations&&this.internal.write(\"/Names \"+namesOid+\" 0 R\"))}]),x.events.push([\"initialized\",function(){var a=this;a.outline={createNamedDestinations:!1,root:{children:[]}},a.outline.add=function(t,e,n){var r={title:e,options:n,children:[]};return null==t&&(t=this.root),t.children.push(r),r},a.outline.render=function(){return this.ctx={},this.ctx.val=\"\",this.ctx.pdf=a,this.genIds_r(this.root),this.renderRoot(this.root),this.renderItems(this.root),this.ctx.val},a.outline.genIds_r=function(t){t.id=a.internal.newObjectDeferred();for(var e=0;e<t.children.length;e++)this.genIds_r(t.children[e])},a.outline.renderRoot=function(t){this.objStart(t),this.line(\"/Type /Outlines\"),0<t.children.length&&(this.line(\"/First \"+this.makeRef(t.children[0])),this.line(\"/Last \"+this.makeRef(t.children[t.children.length-1]))),this.line(\"/Count \"+this.count_r({count:0},t)),this.objEnd()},a.outline.renderItems=function(t){this.ctx.pdf.internal.getCoordinateString;for(var e=this.ctx.pdf.internal.getVerticalCoordinateString,n=0;n<t.children.length;n++){var r=t.children[n];this.objStart(r),this.line(\"/Title \"+this.makeString(r.title)),this.line(\"/Parent \"+this.makeRef(t)),0<n&&this.line(\"/Prev \"+this.makeRef(t.children[n-1])),n<t.children.length-1&&this.line(\"/Next \"+this.makeRef(t.children[n+1])),0<r.children.length&&(this.line(\"/First \"+this.makeRef(r.children[0])),this.line(\"/Last \"+this.makeRef(r.children[r.children.length-1])));var i=this.count=this.count_r({count:0},r);if(0<i&&this.line(\"/Count \"+i),r.options&&r.options.pageNumber){var o=a.internal.getPageInfo(r.options.pageNumber);this.line(\"/Dest [\"+o.objId+\" 0 R /XYZ 0 \"+e(0)+\" 0]\")}this.objEnd()}for(n=0;n<t.children.length;n++)r=t.children[n],this.renderItems(r)},a.outline.line=function(t){this.ctx.val+=t+\"\\r\\n\"},a.outline.makeRef=function(t){return t.id+\" 0 R\"},a.outline.makeString=function(t){return\"(\"+a.internal.pdfEscape(t)+\")\"},a.outline.objStart=function(t){this.ctx.val+=\"\\r\\n\"+t.id+\" 0 obj\\r\\n<<\\r\\n\"},a.outline.objEnd=function(t){this.ctx.val+=\">> \\r\\nendobj\\r\\n\"},a.outline.count_r=function(t,e){for(var n=0;n<e.children.length;n++)t.count++,this.count_r(t,e.children[n]);return t.count}}]),\n/**\n   * @license\n   * \n   * Copyright (c) 2014 James Robb, https://github.com/jamesbrobb\n   *\n   * \n   * ====================================================================\n   */\nI=lt.API,C=function(){var t=\"function\"==typeof Deflater;if(!t)throw new Error(\"requires deflate.js for compression\");return t},B=function(t,e,n,r){var i=5,o=E;switch(r){case I.image_compression.FAST:i=3,o=j;break;case I.image_compression.MEDIUM:i=6,o=M;break;case I.image_compression.SLOW:i=9,o=O}t=A(t,e,n,o);var a=new Uint8Array(N(i)),s=L(t),l=new Deflater(i),h=l.append(t),u=l.flush(),c=a.length+h.length+u.length,f=new Uint8Array(c+4);return f.set(a),f.set(h,a.length),f.set(u,a.length+h.length),f[c++]=s>>>24&255,f[c++]=s>>>16&255,f[c++]=s>>>8&255,f[c++]=255&s,I.arrayBufferToBinaryString(f)},N=function(t,e){var n=Math.LOG2E*Math.log(32768)-8<<4|8,r=n<<8;return r|=Math.min(3,(e-1&255)>>1)<<6,r|=0,[n,255&(r+=31-r%31)]},L=function(t,e){for(var n,r=1,i=0,o=t.length,a=0;0<o;){for(o-=n=e<o?e:o;i+=r+=t[a++],--n;);r%=65521,i%=65521}return(i<<16|r)>>>0},A=function(t,e,n,r){for(var i,o,a,s=t.length/e,l=new Uint8Array(t.length+s),h=T(),u=0;u<s;u++){if(a=u*e,i=t.subarray(a,a+e),r)l.set(r(i,n,o),a+u);else{for(var c=0,f=h.length,p=[];c<f;c++)p[c]=h[c](i,n,o);var d=R(p.concat());l.set(p[d],a+u)}o=i}return l},S=function(t,e,n){var r=Array.apply([],t);return r.unshift(0),r},j=function(t,e,n){var r,i=[],o=0,a=t.length;for(i[0]=1;o<a;o++)r=t[o-e]||0,i[o+1]=t[o]-r+256&255;return i},E=function(t,e,n){var r,i=[],o=0,a=t.length;for(i[0]=2;o<a;o++)r=n&&n[o]||0,i[o+1]=t[o]-r+256&255;return i},M=function(t,e,n){var r,i,o=[],a=0,s=t.length;for(o[0]=3;a<s;a++)r=t[a-e]||0,i=n&&n[a]||0,o[a+1]=t[a]+256-(r+i>>>1)&255;return o},O=function(t,e,n){var r,i,o,a,s=[],l=0,h=t.length;for(s[0]=4;l<h;l++)r=t[l-e]||0,i=n&&n[l]||0,o=n&&n[l-e]||0,a=q(r,i,o),s[l+1]=t[l]-a+256&255;return s},q=function(t,e,n){var r=t+e-n,i=Math.abs(r-t),o=Math.abs(r-e),a=Math.abs(r-n);return i<=o&&i<=a?t:o<=a?e:n},T=function(){return[S,j,E,M,O]},R=function(t){for(var e,n,r,i=0,o=t.length;i<o;)((e=D(t[i].slice(1)))<n||!n)&&(n=e,r=i),i++;return r},D=function(t){for(var e=0,n=t.length,r=0;e<n;)r+=Math.abs(t[e++]);return r},I.processPNG=function(t,e,n,r,i){var o,a,s,l,h,u,c=this.color_spaces.DEVICE_RGB,f=this.decode.FLATE_DECODE,p=8;if(this.isArrayBuffer(t)&&(t=new Uint8Array(t)),this.isArrayBufferView(t)){if(\"function\"!=typeof PNG||\"function\"!=typeof kt)throw new Error(\"PNG support requires png.js and zlib.js\");if(t=(o=new PNG(t)).imgData,p=o.bits,c=o.colorSpace,l=o.colors,-1!==[4,6].indexOf(o.colorType)){if(8===o.bits)for(var d,g=(_=32==o.pixelBitlength?new Uint32Array(o.decodePixels().buffer):16==o.pixelBitlength?new Uint16Array(o.decodePixels().buffer):new Uint8Array(o.decodePixels().buffer)).length,m=new Uint8Array(g*o.colors),y=new Uint8Array(g),v=o.pixelBitlength-o.bits,w=0,b=0;w<g;w++){for(x=_[w],d=0;d<v;)m[b++]=x>>>d&255,d+=o.bits;y[w]=x>>>d&255}if(16===o.bits){g=(_=new Uint32Array(o.decodePixels().buffer)).length,m=new Uint8Array(g*(32/o.pixelBitlength)*o.colors),y=new Uint8Array(g*(32/o.pixelBitlength));for(var x,N=1<o.colors,L=b=w=0;w<g;)x=_[w++],m[b++]=x>>>0&255,N&&(m[b++]=x>>>16&255,x=_[w++],m[b++]=x>>>0&255),y[L++]=x>>>16&255;p=8}r!==I.image_compression.NONE&&C()?(t=B(m,o.width*o.colors,o.colors,r),u=B(y,o.width,1,r)):(t=m,u=y,f=null)}if(3===o.colorType&&(c=this.color_spaces.INDEXED,h=o.palette,o.transparency.indexed)){var A=o.transparency.indexed,S=0;for(w=0,g=A.length;w<g;++w)S+=A[w];if((S/=255)==g-1&&-1!==A.indexOf(0))s=[A.indexOf(0)];else if(S!==g){var _=o.decodePixels();for(y=new Uint8Array(_.length),w=0,g=_.length;w<g;w++)y[w]=A[_[w]];u=B(y,o.width,1)}}var F=function(t){var e;switch(t){case I.image_compression.FAST:e=11;break;case I.image_compression.MEDIUM:e=13;break;case I.image_compression.SLOW:e=14;break;default:e=12}return e}(r);return a=f===this.decode.FLATE_DECODE?\"/Predictor \"+F+\" /Colors \"+l+\" /BitsPerComponent \"+p+\" /Columns \"+o.width:\"/Colors \"+l+\" /BitsPerComponent \"+p+\" /Columns \"+o.width,(this.isArrayBuffer(t)||this.isArrayBufferView(t))&&(t=this.arrayBufferToBinaryString(t)),(u&&this.isArrayBuffer(u)||this.isArrayBufferView(u))&&(u=this.arrayBufferToBinaryString(u)),this.createImageInfo(t,o.width,o.height,c,p,f,e,n,a,s,h,u,F)}throw new Error(\"Unsupported PNG image data, try using JPEG instead.\")},(\n/**\n   * @license\n   * Copyright (c) 2017 Aras Abbasi \n   *\n   * Licensed under the MIT License.\n   * http://opensource.org/licenses/mit-license\n   */\nU=lt.API).processGIF89A=function(t,e,n,r,i){var o=new At(t),a=o.width,s=o.height,l=[];o.decodeAndBlitFrameRGBA(0,l);var h={data:l,width:a,height:s},u=new _t(100).encode(h,100);return U.processJPEG.call(this,u,e,n,r)},U.processGIF87A=U.processGIF89A,(\n/**\n   * Copyright (c) 2018 Aras Abbasi \n   *\n   * Licensed under the MIT License.\n   * http://opensource.org/licenses/mit-license\n   */\nz=lt.API).processBMP=function(t,e,n,r,i){var o=new Ft(t,!1),a=o.width,s=o.height,l={data:o.getData(),width:a,height:s},h=new _t(100).encode(l,100);return z.processJPEG.call(this,h,e,n,r)},lt.API.setLanguage=function(t){return void 0===this.internal.languageSettings&&(this.internal.languageSettings={},this.internal.languageSettings.isSubscribed=!1),void 0!=={af:\"Afrikaans\",sq:\"Albanian\",ar:\"Arabic (Standard)\",\"ar-DZ\":\"Arabic (Algeria)\",\"ar-BH\":\"Arabic (Bahrain)\",\"ar-EG\":\"Arabic (Egypt)\",\"ar-IQ\":\"Arabic (Iraq)\",\"ar-JO\":\"Arabic (Jordan)\",\"ar-KW\":\"Arabic (Kuwait)\",\"ar-LB\":\"Arabic (Lebanon)\",\"ar-LY\":\"Arabic (Libya)\",\"ar-MA\":\"Arabic (Morocco)\",\"ar-OM\":\"Arabic (Oman)\",\"ar-QA\":\"Arabic (Qatar)\",\"ar-SA\":\"Arabic (Saudi Arabia)\",\"ar-SY\":\"Arabic (Syria)\",\"ar-TN\":\"Arabic (Tunisia)\",\"ar-AE\":\"Arabic (U.A.E.)\",\"ar-YE\":\"Arabic (Yemen)\",an:\"Aragonese\",hy:\"Armenian\",as:\"Assamese\",ast:\"Asturian\",az:\"Azerbaijani\",eu:\"Basque\",be:\"Belarusian\",bn:\"Bengali\",bs:\"Bosnian\",br:\"Breton\",bg:\"Bulgarian\",my:\"Burmese\",ca:\"Catalan\",ch:\"Chamorro\",ce:\"Chechen\",zh:\"Chinese\",\"zh-HK\":\"Chinese (Hong Kong)\",\"zh-CN\":\"Chinese (PRC)\",\"zh-SG\":\"Chinese (Singapore)\",\"zh-TW\":\"Chinese (Taiwan)\",cv:\"Chuvash\",co:\"Corsican\",cr:\"Cree\",hr:\"Croatian\",cs:\"Czech\",da:\"Danish\",nl:\"Dutch (Standard)\",\"nl-BE\":\"Dutch (Belgian)\",en:\"English\",\"en-AU\":\"English (Australia)\",\"en-BZ\":\"English (Belize)\",\"en-CA\":\"English (Canada)\",\"en-IE\":\"English (Ireland)\",\"en-JM\":\"English (Jamaica)\",\"en-NZ\":\"English (New Zealand)\",\"en-PH\":\"English (Philippines)\",\"en-ZA\":\"English (South Africa)\",\"en-TT\":\"English (Trinidad & Tobago)\",\"en-GB\":\"English (United Kingdom)\",\"en-US\":\"English (United States)\",\"en-ZW\":\"English (Zimbabwe)\",eo:\"Esperanto\",et:\"Estonian\",fo:\"Faeroese\",fj:\"Fijian\",fi:\"Finnish\",fr:\"French (Standard)\",\"fr-BE\":\"French (Belgium)\",\"fr-CA\":\"French (Canada)\",\"fr-FR\":\"French (France)\",\"fr-LU\":\"French (Luxembourg)\",\"fr-MC\":\"French (Monaco)\",\"fr-CH\":\"French (Switzerland)\",fy:\"Frisian\",fur:\"Friulian\",gd:\"Gaelic (Scots)\",\"gd-IE\":\"Gaelic (Irish)\",gl:\"Galacian\",ka:\"Georgian\",de:\"German (Standard)\",\"de-AT\":\"German (Austria)\",\"de-DE\":\"German (Germany)\",\"de-LI\":\"German (Liechtenstein)\",\"de-LU\":\"German (Luxembourg)\",\"de-CH\":\"German (Switzerland)\",el:\"Greek\",gu:\"Gujurati\",ht:\"Haitian\",he:\"Hebrew\",hi:\"Hindi\",hu:\"Hungarian\",is:\"Icelandic\",id:\"Indonesian\",iu:\"Inuktitut\",ga:\"Irish\",it:\"Italian (Standard)\",\"it-CH\":\"Italian (Switzerland)\",ja:\"Japanese\",kn:\"Kannada\",ks:\"Kashmiri\",kk:\"Kazakh\",km:\"Khmer\",ky:\"Kirghiz\",tlh:\"Klingon\",ko:\"Korean\",\"ko-KP\":\"Korean (North Korea)\",\"ko-KR\":\"Korean (South Korea)\",la:\"Latin\",lv:\"Latvian\",lt:\"Lithuanian\",lb:\"Luxembourgish\",mk:\"FYRO Macedonian\",ms:\"Malay\",ml:\"Malayalam\",mt:\"Maltese\",mi:\"Maori\",mr:\"Marathi\",mo:\"Moldavian\",nv:\"Navajo\",ng:\"Ndonga\",ne:\"Nepali\",no:\"Norwegian\",nb:\"Norwegian (Bokmal)\",nn:\"Norwegian (Nynorsk)\",oc:\"Occitan\",or:\"Oriya\",om:\"Oromo\",fa:\"Persian\",\"fa-IR\":\"Persian/Iran\",pl:\"Polish\",pt:\"Portuguese\",\"pt-BR\":\"Portuguese (Brazil)\",pa:\"Punjabi\",\"pa-IN\":\"Punjabi (India)\",\"pa-PK\":\"Punjabi (Pakistan)\",qu:\"Quechua\",rm:\"Rhaeto-Romanic\",ro:\"Romanian\",\"ro-MO\":\"Romanian (Moldavia)\",ru:\"Russian\",\"ru-MO\":\"Russian (Moldavia)\",sz:\"Sami (Lappish)\",sg:\"Sango\",sa:\"Sanskrit\",sc:\"Sardinian\",sd:\"Sindhi\",si:\"Singhalese\",sr:\"Serbian\",sk:\"Slovak\",sl:\"Slovenian\",so:\"Somani\",sb:\"Sorbian\",es:\"Spanish\",\"es-AR\":\"Spanish (Argentina)\",\"es-BO\":\"Spanish (Bolivia)\",\"es-CL\":\"Spanish (Chile)\",\"es-CO\":\"Spanish (Colombia)\",\"es-CR\":\"Spanish (Costa Rica)\",\"es-DO\":\"Spanish (Dominican Republic)\",\"es-EC\":\"Spanish (Ecuador)\",\"es-SV\":\"Spanish (El Salvador)\",\"es-GT\":\"Spanish (Guatemala)\",\"es-HN\":\"Spanish (Honduras)\",\"es-MX\":\"Spanish (Mexico)\",\"es-NI\":\"Spanish (Nicaragua)\",\"es-PA\":\"Spanish (Panama)\",\"es-PY\":\"Spanish (Paraguay)\",\"es-PE\":\"Spanish (Peru)\",\"es-PR\":\"Spanish (Puerto Rico)\",\"es-ES\":\"Spanish (Spain)\",\"es-UY\":\"Spanish (Uruguay)\",\"es-VE\":\"Spanish (Venezuela)\",sx:\"Sutu\",sw:\"Swahili\",sv:\"Swedish\",\"sv-FI\":\"Swedish (Finland)\",\"sv-SV\":\"Swedish (Sweden)\",ta:\"Tamil\",tt:\"Tatar\",te:\"Teluga\",th:\"Thai\",tig:\"Tigre\",ts:\"Tsonga\",tn:\"Tswana\",tr:\"Turkish\",tk:\"Turkmen\",uk:\"Ukrainian\",hsb:\"Upper Sorbian\",ur:\"Urdu\",ve:\"Venda\",vi:\"Vietnamese\",vo:\"Volapuk\",wa:\"Walloon\",cy:\"Welsh\",xh:\"Xhosa\",ji:\"Yiddish\",zu:\"Zulu\"}[t]&&(this.internal.languageSettings.languageCode=t,!1===this.internal.languageSettings.isSubscribed&&(this.internal.events.subscribe(\"putCatalog\",function(){this.internal.write(\"/Lang (\"+this.internal.languageSettings.languageCode+\")\")}),this.internal.languageSettings.isSubscribed=!0)),this},\n/** @license\n   * MIT license.\n   * Copyright (c) 2012 Willow Systems Corporation, willow-systems.com\n   *               2014 Diego Casorran, https://github.com/diegocr\n   *\n   * \n   * ====================================================================\n   */\nH=lt.API,W=H.getCharWidthsArray=function(t,e){var n,r,i,o=(e=e||{}).font||this.internal.getFont(),a=e.fontSize||this.internal.getFontSize(),s=e.charSpace||this.internal.getCharSpace(),l=e.widths?e.widths:o.metadata.Unicode.widths,h=l.fof?l.fof:1,u=e.kerning?e.kerning:o.metadata.Unicode.kerning,c=u.fof?u.fof:1,f=0,p=l[0]||h,d=[];for(n=0,r=t.length;n<r;n++)i=t.charCodeAt(n),\"function\"==typeof o.metadata.widthOfString?d.push((o.metadata.widthOfGlyph(o.metadata.characterToGlyph(i))+s*(1e3/a)||0)/1e3):d.push((l[i]||p)/h+(u[i]&&u[i][f]||0)/c),f=i;return d},V=H.getArraySum=function(t){for(var e=t.length,n=0;e;)n+=t[--e];return n},G=H.getStringUnitWidth=function(t,e){var n=(e=e||{}).fontSize||this.internal.getFontSize(),r=e.font||this.internal.getFont(),i=e.charSpace||this.internal.getCharSpace();return\"function\"==typeof r.metadata.widthOfString?r.metadata.widthOfString(t,n,i)/n:V(W.apply(this,arguments))},Y=function(t,e,n,r){for(var i=[],o=0,a=t.length,s=0;o!==a&&s+e[o]<n;)s+=e[o],o++;i.push(t.slice(0,o));var l=o;for(s=0;o!==a;)s+e[o]>r&&(i.push(t.slice(l,o)),s=0,l=o),s+=e[o],o++;return l!==o&&i.push(t.slice(l,o)),i},J=function(t,e,n){n||(n={});var r,i,o,a,s,l,h=[],u=[h],c=n.textIndent||0,f=0,p=0,d=t.split(\" \"),g=W.apply(this,[\" \",n])[0];if(l=-1===n.lineIndent?d[0].length+2:n.lineIndent||0){var m=Array(l).join(\" \"),y=[];d.map(function(t){1<(t=t.split(/\\s*\\n/)).length?y=y.concat(t.map(function(t,e){return(e&&t.length?\"\\n\":\"\")+t})):y.push(t[0])}),d=y,l=G.apply(this,[m,n])}for(o=0,a=d.length;o<a;o++){var v=0;if(r=d[o],l&&\"\\n\"==r[0]&&(r=r.substr(1),v=1),i=W.apply(this,[r,n]),e<c+f+(p=V(i))||v){if(e<p){for(s=Y.apply(this,[r,i,e-(c+f),e]),h.push(s.shift()),h=[s.pop()];s.length;)u.push([s.shift()]);p=V(i.slice(r.length-(h[0]?h[0].length:0)))}else h=[r];u.push(h),c=p+l,f=g}else h.push(r),c+=f+p,f=g}if(l)var w=function(t,e){return(e?m:\"\")+t.join(\" \")};else w=function(t){return t.join(\" \")};return u.map(w)},H.splitTextToSize=function(t,e,n){var r,i=(n=n||{}).fontSize||this.internal.getFontSize(),o=function(t){var e={0:1},n={};if(t.widths&&t.kerning)return{widths:t.widths,kerning:t.kerning};var r=this.internal.getFont(t.fontName,t.fontStyle),i=\"Unicode\";return r.metadata[i]?{widths:r.metadata[i].widths||e,kerning:r.metadata[i].kerning||n}:{font:r.metadata,fontSize:this.internal.getFontSize(),charSpace:this.internal.getCharSpace()}}.call(this,n);r=Array.isArray(t)?t:t.split(/\\r?\\n/);var a=1*this.internal.scaleFactor*e/i;o.textIndent=n.textIndent?1*n.textIndent*this.internal.scaleFactor/i:0,o.lineIndent=n.lineIndent;var s,l,h=[];for(s=0,l=r.length;s<l;s++)h=h.concat(J.apply(this,[r[s],a,o]));return h},\n/** @license\n   jsPDF standard_fonts_metrics plugin\n   * Copyright (c) 2012 Willow Systems Corporation, willow-systems.com\n   * MIT license.\n   * \n   * ====================================================================\n   */\nX=lt.API,Z={codePages:[\"WinAnsiEncoding\"],WinAnsiEncoding:(K=function(t){for(var e=\"klmnopqrstuvwxyz\",n={},r=0;r<e.length;r++)n[e[r]]=\"0123456789abcdef\"[r];var i,o,a,s,l,h={},u=1,c=h,f=[],p=\"\",d=\"\",g=t.length-1;for(r=1;r!=g;)l=t[r],r+=1,\"'\"==l?o=o?(s=o.join(\"\"),i):[]:o?o.push(l):\"{\"==l?(f.push([c,s]),c={},s=i):\"}\"==l?((a=f.pop())[0][a[1]]=c,s=i,c=a[0]):\"-\"==l?u=-1:s===i?n.hasOwnProperty(l)?(p+=n[l],s=parseInt(p,16)*u,u=1,p=\"\"):p+=l:n.hasOwnProperty(l)?(d+=n[l],c[s]=parseInt(d,16)*u,u=1,s=i,d=\"\"):d+=l;return h})(\"{19m8n201n9q201o9r201s9l201t9m201u8m201w9n201x9o201y8o202k8q202l8r202m9p202q8p20aw8k203k8t203t8v203u9v2cq8s212m9t15m8w15n9w2dw9s16k8u16l9u17s9z17x8y17y9y}\")},Q={Unicode:{Courier:Z,\"Courier-Bold\":Z,\"Courier-BoldOblique\":Z,\"Courier-Oblique\":Z,Helvetica:Z,\"Helvetica-Bold\":Z,\"Helvetica-BoldOblique\":Z,\"Helvetica-Oblique\":Z,\"Times-Roman\":Z,\"Times-Bold\":Z,\"Times-BoldItalic\":Z,\"Times-Italic\":Z}},$={Unicode:{\"Courier-Oblique\":K(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\"Times-BoldItalic\":K(\"{'widths'{k3o2q4ycx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2r202m2n2n3m2o3m2p5n202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5n4l4m4m4m4n4m4o4s4p4m4q4m4r4s4s4y4t2r4u3m4v4m4w3x4x5t4y4s4z4s5k3x5l4s5m4m5n3r5o3x5p4s5q4m5r5t5s4m5t3x5u3x5v2l5w1w5x2l5y3t5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q2l6r3m6s3r6t1w6u1w6v3m6w1w6x4y6y3r6z3m7k3m7l3m7m2r7n2r7o1w7p3r7q2w7r4m7s3m7t2w7u2r7v2n7w1q7x2n7y3t202l3mcl4mal2ram3man3mao3map3mar3mas2lat4uau1uav3maw3way4uaz2lbk2sbl3t'fof'6obo2lbp3tbq3mbr1tbs2lbu1ybv3mbz3mck4m202k3mcm4mcn4mco4mcp4mcq5ycr4mcs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz2w203k6o212m6o2dw2l2cq2l3t3m3u2l17s3x19m3m}'kerning'{cl{4qu5kt5qt5rs17ss5ts}201s{201ss}201t{cks4lscmscnscoscpscls2wu2yu201ts}201x{2wu2yu}2k{201ts}2w{4qx5kx5ou5qx5rs17su5tu}2x{17su5tu5ou}2y{4qx5kx5ou5qx5rs17ss5ts}'fof'-6ofn{17sw5tw5ou5qw5rs}7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qs}3v{17su5tu5os5qs}7p{17su5tu}ck{4qu5kt5qt5rs17ss5ts}4l{4qu5kt5qt5rs17ss5ts}cm{4qu5kt5qt5rs17ss5ts}cn{4qu5kt5qt5rs17ss5ts}co{4qu5kt5qt5rs17ss5ts}cp{4qu5kt5qt5rs17ss5ts}6l{4qu5ou5qw5rt17su5tu}5q{ckuclucmucnucoucpu4lu}5r{ckuclucmucnucoucpu4lu}7q{cksclscmscnscoscps4ls}6p{4qu5ou5qw5rt17sw5tw}ek{4qu5ou5qw5rt17su5tu}el{4qu5ou5qw5rt17su5tu}em{4qu5ou5qw5rt17su5tu}en{4qu5ou5qw5rt17su5tu}eo{4qu5ou5qw5rt17su5tu}ep{4qu5ou5qw5rt17su5tu}es{17ss5ts5qs4qu}et{4qu5ou5qw5rt17sw5tw}eu{4qu5ou5qw5rt17ss5ts}ev{17ss5ts5qs4qu}6z{17sw5tw5ou5qw5rs}fm{17sw5tw5ou5qw5rs}7n{201ts}fo{17sw5tw5ou5qw5rs}fp{17sw5tw5ou5qw5rs}fq{17sw5tw5ou5qw5rs}7r{cksclscmscnscoscps4ls}fs{17sw5tw5ou5qw5rs}ft{17su5tu}fu{17su5tu}fv{17su5tu}fw{17su5tu}fz{cksclscmscnscoscps4ls}}}\"),\"Helvetica-Bold\":K(\"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"),Courier:K(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\"Courier-BoldOblique\":K(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\"Times-Bold\":K(\"{'widths'{k3q2q5ncx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2l202m2n2n3m2o3m2p6o202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5x4l4s4m4m4n4s4o4s4p4m4q3x4r4y4s4y4t2r4u3m4v4y4w4m4x5y4y4s4z4y5k3x5l4y5m4s5n3r5o4m5p4s5q4s5r6o5s4s5t4s5u4m5v2l5w1w5x2l5y3u5z3m6k2l6l3m6m3r6n2w6o3r6p2w6q2l6r3m6s3r6t1w6u2l6v3r6w1w6x5n6y3r6z3m7k3r7l3r7m2w7n2r7o2l7p3r7q3m7r4s7s3m7t3m7u2w7v2r7w1q7x2r7y3o202l3mcl4sal2lam3man3mao3map3mar3mas2lat4uau1yav3maw3tay4uaz2lbk2sbl3t'fof'6obo2lbp3rbr1tbs2lbu2lbv3mbz3mck4s202k3mcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3rek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3m3u2l17s4s19m3m}'kerning'{cl{4qt5ks5ot5qy5rw17sv5tv}201t{cks4lscmscnscoscpscls4wv}2k{201ts}2w{4qu5ku7mu5os5qx5ru17su5tu}2x{17su5tu5ou5qs}2y{4qv5kv7mu5ot5qz5ru17su5tu}'fof'-6o7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qu}3v{17su5tu5os5qu}fu{17su5tu5ou5qu}7p{17su5tu5ou5qu}ck{4qt5ks5ot5qy5rw17sv5tv}4l{4qt5ks5ot5qy5rw17sv5tv}cm{4qt5ks5ot5qy5rw17sv5tv}cn{4qt5ks5ot5qy5rw17sv5tv}co{4qt5ks5ot5qy5rw17sv5tv}cp{4qt5ks5ot5qy5rw17sv5tv}6l{17st5tt5ou5qu}17s{ckuclucmucnucoucpu4lu4wu}5o{ckuclucmucnucoucpu4lu4wu}5q{ckzclzcmzcnzcozcpz4lz4wu}5r{ckxclxcmxcnxcoxcpx4lx4wu}5t{ckuclucmucnucoucpu4lu4wu}7q{ckuclucmucnucoucpu4lu}6p{17sw5tw5ou5qu}ek{17st5tt5qu}el{17st5tt5ou5qu}em{17st5tt5qu}en{17st5tt5qu}eo{17st5tt5qu}ep{17st5tt5ou5qu}es{17ss5ts5qu}et{17sw5tw5ou5qu}eu{17sw5tw5ou5qu}ev{17ss5ts5qu}6z{17sw5tw5ou5qu5rs}fm{17sw5tw5ou5qu5rs}fn{17sw5tw5ou5qu5rs}fo{17sw5tw5ou5qu5rs}fp{17sw5tw5ou5qu5rs}fq{17sw5tw5ou5qu5rs}7r{cktcltcmtcntcotcpt4lt5os}fs{17sw5tw5ou5qu5rs}ft{17su5tu5ou5qu}7m{5os}fv{17su5tu5ou5qu}fw{17su5tu5ou5qu}fz{cksclscmscnscoscps4ls}}}\"),Symbol:K(\"{'widths'{k3uaw4r19m3m2k1t2l2l202m2y2n3m2p5n202q6o3k3m2s2l2t2l2v3r2w1t3m3m2y1t2z1wbk2sbl3r'fof'6o3n3m3o3m3p3m3q3m3r3m3s3m3t3m3u1w3v1w3w3r3x3r3y3r3z2wbp3t3l3m5v2l5x2l5z3m2q4yfr3r7v3k7w1o7x3k}'kerning'{'fof'-6o}}\"),Helvetica:K(\"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\"),\"Helvetica-BoldOblique\":K(\"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"),ZapfDingbats:K(\"{'widths'{k4u2k1w'fof'6o}'kerning'{'fof'-6o}}\"),\"Courier-Bold\":K(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\"Times-Italic\":K(\"{'widths'{k3n2q4ycx2l201n3m201o5t201s2l201t2l201u2l201w3r201x3r201y3r2k1t2l2l202m2n2n3m2o3m2p5n202q5t2r1p2s2l2t2l2u3m2v4n2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w4n3x4n3y4n3z3m4k5w4l3x4m3x4n4m4o4s4p3x4q3x4r4s4s4s4t2l4u2w4v4m4w3r4x5n4y4m4z4s5k3x5l4s5m3x5n3m5o3r5p4s5q3x5r5n5s3x5t3r5u3r5v2r5w1w5x2r5y2u5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q1w6r3m6s3m6t1w6u1w6v2w6w1w6x4s6y3m6z3m7k3m7l3m7m2r7n2r7o1w7p3m7q2w7r4m7s2w7t2w7u2r7v2s7w1v7x2s7y3q202l3mcl3xal2ram3man3mao3map3mar3mas2lat4wau1vav3maw4nay4waz2lbk2sbl4n'fof'6obo2lbp3mbq3obr1tbs2lbu1zbv3mbz3mck3x202k3mcm3xcn3xco3xcp3xcq5tcr4mcs3xct3xcu3xcv3xcw2l2m2ucy2lcz2ldl4mdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr4nfs3mft3mfu3mfv3mfw3mfz2w203k6o212m6m2dw2l2cq2l3t3m3u2l17s3r19m3m}'kerning'{cl{5kt4qw}201s{201sw}201t{201tw2wy2yy6q-t}201x{2wy2yy}2k{201tw}2w{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}2x{17ss5ts5os}2y{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}'fof'-6o6t{17ss5ts5qs}7t{5os}3v{5qs}7p{17su5tu5qs}ck{5kt4qw}4l{5kt4qw}cm{5kt4qw}cn{5kt4qw}co{5kt4qw}cp{5kt4qw}6l{4qs5ks5ou5qw5ru17su5tu}17s{2ks}5q{ckvclvcmvcnvcovcpv4lv}5r{ckuclucmucnucoucpu4lu}5t{2ks}6p{4qs5ks5ou5qw5ru17su5tu}ek{4qs5ks5ou5qw5ru17su5tu}el{4qs5ks5ou5qw5ru17su5tu}em{4qs5ks5ou5qw5ru17su5tu}en{4qs5ks5ou5qw5ru17su5tu}eo{4qs5ks5ou5qw5ru17su5tu}ep{4qs5ks5ou5qw5ru17su5tu}es{5ks5qs4qs}et{4qs5ks5ou5qw5ru17su5tu}eu{4qs5ks5qw5ru17su5tu}ev{5ks5qs4qs}ex{17ss5ts5qs}6z{4qv5ks5ou5qw5ru17su5tu}fm{4qv5ks5ou5qw5ru17su5tu}fn{4qv5ks5ou5qw5ru17su5tu}fo{4qv5ks5ou5qw5ru17su5tu}fp{4qv5ks5ou5qw5ru17su5tu}fq{4qv5ks5ou5qw5ru17su5tu}7r{5os}fs{4qv5ks5ou5qw5ru17su5tu}ft{17su5tu5qs}fu{17su5tu5qs}fv{17su5tu5qs}fw{17su5tu5qs}}}\"),\"Times-Roman\":K(\"{'widths'{k3n2q4ycx2l201n3m201o6o201s2l201t2l201u2l201w2w201x2w201y2w2k1t2l2l202m2n2n3m2o3m2p5n202q6o2r1m2s2l2t2l2u3m2v3s2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v1w3w3s3x3s3y3s3z2w4k5w4l4s4m4m4n4m4o4s4p3x4q3r4r4s4s4s4t2l4u2r4v4s4w3x4x5t4y4s4z4s5k3r5l4s5m4m5n3r5o3x5p4s5q4s5r5y5s4s5t4s5u3x5v2l5w1w5x2l5y2z5z3m6k2l6l2w6m3m6n2w6o3m6p2w6q2l6r3m6s3m6t1w6u1w6v3m6w1w6x4y6y3m6z3m7k3m7l3m7m2l7n2r7o1w7p3m7q3m7r4s7s3m7t3m7u2w7v3k7w1o7x3k7y3q202l3mcl4sal2lam3man3mao3map3mar3mas2lat4wau1vav3maw3say4waz2lbk2sbl3s'fof'6obo2lbp3mbq2xbr1tbs2lbu1zbv3mbz2wck4s202k3mcm4scn4sco4scp4scq5tcr4mcs3xct3xcu3xcv3xcw2l2m2tcy2lcz2ldl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek2wel2wem2wen2weo2wep2weq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr3sfs3mft3mfu3mfv3mfw3mfz3m203k6o212m6m2dw2l2cq2l3t3m3u1w17s4s19m3m}'kerning'{cl{4qs5ku17sw5ou5qy5rw201ss5tw201ws}201s{201ss}201t{ckw4lwcmwcnwcowcpwclw4wu201ts}2k{201ts}2w{4qs5kw5os5qx5ru17sx5tx}2x{17sw5tw5ou5qu}2y{4qs5kw5os5qx5ru17sx5tx}'fof'-6o7t{ckuclucmucnucoucpu4lu5os5rs}3u{17su5tu5qs}3v{17su5tu5qs}7p{17sw5tw5qs}ck{4qs5ku17sw5ou5qy5rw201ss5tw201ws}4l{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cm{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cn{4qs5ku17sw5ou5qy5rw201ss5tw201ws}co{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cp{4qs5ku17sw5ou5qy5rw201ss5tw201ws}6l{17su5tu5os5qw5rs}17s{2ktclvcmvcnvcovcpv4lv4wuckv}5o{ckwclwcmwcnwcowcpw4lw4wu}5q{ckyclycmycnycoycpy4ly4wu5ms}5r{cktcltcmtcntcotcpt4lt4ws}5t{2ktclvcmvcnvcovcpv4lv4wuckv}7q{cksclscmscnscoscps4ls}6p{17su5tu5qw5rs}ek{5qs5rs}el{17su5tu5os5qw5rs}em{17su5tu5os5qs5rs}en{17su5qs5rs}eo{5qs5rs}ep{17su5tu5os5qw5rs}es{5qs}et{17su5tu5qw5rs}eu{17su5tu5qs5rs}ev{5qs}6z{17sv5tv5os5qx5rs}fm{5os5qt5rs}fn{17sv5tv5os5qx5rs}fo{17sv5tv5os5qx5rs}fp{5os5qt5rs}fq{5os5qt5rs}7r{ckuclucmucnucoucpu4lu5os}fs{17sv5tv5os5qx5rs}ft{17ss5ts5qs}fu{17sw5tw5qs}fv{17sw5tw5qs}fw{17ss5ts5qs}fz{ckuclucmucnucoucpu4lu5os5rs}}}\"),\"Helvetica-Oblique\":K(\"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\")}},X.events.push([\"addFont\",function(t){var e,n,r,i=t.font,o=\"Unicode\";(e=$[o][i.postScriptName])&&((n=i.metadata[o]?i.metadata[o]:i.metadata[o]={}).widths=e.widths,n.kerning=e.kerning),(r=Q[o][i.postScriptName])&&((n=i.metadata[o]?i.metadata[o]:i.metadata[o]={}).encoding=r).codePages&&r.codePages.length&&(i.encoding=r.codePages[0])}]),\n/**\n   * @license\n   * Licensed under the MIT License.\n   * http://opensource.org/licenses/mit-license\n   */\ntt=lt,\"undefined\"!=typeof self&&self||\"undefined\"!=typeof global&&global||\"undefined\"!=typeof window&&window||Function(\"return this\")(),tt.API.events.push([\"addFont\",function(t){var e=t.font,n=t.instance;if(void 0!==n&&n.existsFileInVFS(e.postScriptName)){var r=n.getFileFromVFS(e.postScriptName);if(\"string\"!=typeof r)throw new Error(\"Font is not stored as string-data in vFS, import fonts or remove declaration doc.addFont('\"+e.postScriptName+\"').\");e.metadata=tt.API.TTFFont.open(e.postScriptName,e.fontName,r,e.encoding),e.metadata.Unicode=e.metadata.Unicode||{encoding:{},kerning:{},widths:[]},e.metadata.glyIdsUsed=[0]}else if(!1===e.isStandardFont)throw new Error(\"Font does not exist in vFS, import fonts or remove declaration doc.addFont('\"+e.postScriptName+\"').\")}]),(\n/** @license\n   * Copyright (c) 2012 Willow Systems Corporation, willow-systems.com\n   * \n   * \n   * ====================================================================\n   */\net=lt.API).addSvg=function(t,e,n,r,i){if(void 0===e||void 0===n)throw new Error(\"addSVG needs values for 'x' and 'y'\");function o(t){for(var e=parseFloat(t[1]),n=parseFloat(t[2]),r=[],i=3,o=t.length;i<o;)\"c\"===t[i]?(r.push([parseFloat(t[i+1]),parseFloat(t[i+2]),parseFloat(t[i+3]),parseFloat(t[i+4]),parseFloat(t[i+5]),parseFloat(t[i+6])]),i+=7):\"l\"===t[i]?(r.push([parseFloat(t[i+1]),parseFloat(t[i+2])]),i+=3):i+=1;return[e,n,r]}var a,s,l,h,u,c,f,p,d=(h=document,p=h.createElement(\"iframe\"),u=\".jsPDF_sillysvg_iframe {display:none;position:absolute;}\",(f=(c=h).createElement(\"style\")).type=\"text/css\",f.styleSheet?f.styleSheet.cssText=u:f.appendChild(c.createTextNode(u)),c.getElementsByTagName(\"head\")[0].appendChild(f),p.name=\"childframe\",p.setAttribute(\"width\",0),p.setAttribute(\"height\",0),p.setAttribute(\"frameborder\",\"0\"),p.setAttribute(\"scrolling\",\"no\"),p.setAttribute(\"seamless\",\"seamless\"),p.setAttribute(\"class\",\"jsPDF_sillysvg_iframe\"),h.body.appendChild(p),p),g=(a=t,(l=((s=d).contentWindow||s.contentDocument).document).write(a),l.close(),l.getElementsByTagName(\"svg\")[0]),m=[1,1],y=parseFloat(g.getAttribute(\"width\")),v=parseFloat(g.getAttribute(\"height\"));y&&v&&(r&&i?m=[r/y,i/v]:r?m=[r/y,r/y]:i&&(m=[i/v,i/v]));var w,b,x,N,L=g.childNodes;for(w=0,b=L.length;w<b;w++)(x=L[w]).tagName&&\"PATH\"===x.tagName.toUpperCase()&&((N=o(x.getAttribute(\"d\").split(\" \")))[0]=N[0]*m[0]+e,N[1]=N[1]*m[1]+n,this.lines.call(this,N[2],N[0],N[1],m));return this},et.addSVG=et.addSvg,et.addSvgAsImage=function(t,e,n,r,i,o,a,s){if(isNaN(e)||isNaN(n))throw console.error(\"jsPDF.addSvgAsImage: Invalid coordinates\",arguments),new Error(\"Invalid coordinates passed to jsPDF.addSvgAsImage\");if(isNaN(r)||isNaN(i))throw console.error(\"jsPDF.addSvgAsImage: Invalid measurements\",arguments),new Error(\"Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage\");var l=document.createElement(\"canvas\");l.width=r,l.height=i;var h=l.getContext(\"2d\");return h.fillStyle=\"#fff\",h.fillRect(0,0,l.width,l.height),canvg(l,t,{ignoreMouse:!0,ignoreAnimation:!0,ignoreDimensions:!0,ignoreClear:!0}),this.addImage(l.toDataURL(\"image/jpeg\",1),e,n,r,i,a,s),this},lt.API.putTotalPages=function(t){var e,n=0;n=parseInt(this.internal.getFont().id.substr(1),10)<15?(e=new RegExp(t,\"g\"),this.internal.getNumberOfPages()):(e=new RegExp(this.pdfEscape16(t,this.internal.getFont()),\"g\"),this.pdfEscape16(this.internal.getNumberOfPages()+\"\",this.internal.getFont()));for(var r=1;r<=this.internal.getNumberOfPages();r++)for(var i=0;i<this.internal.pages[r].length;i++)this.internal.pages[r][i]=this.internal.pages[r][i].replace(e,n);return this},lt.API.viewerPreferences=function(t,e){var n;t=t||{},e=e||!1;var r,i,o={HideToolbar:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideMenubar:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideWindowUI:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},FitWindow:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},CenterWindow:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},DisplayDocTitle:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.4},NonFullScreenPageMode:{defaultValue:\"UseNone\",value:\"UseNone\",type:\"name\",explicitSet:!1,valueSet:[\"UseNone\",\"UseOutlines\",\"UseThumbs\",\"UseOC\"],pdfVersion:1.3},Direction:{defaultValue:\"L2R\",value:\"L2R\",type:\"name\",explicitSet:!1,valueSet:[\"L2R\",\"R2L\"],pdfVersion:1.3},ViewArea:{defaultValue:\"CropBox\",value:\"CropBox\",type:\"name\",explicitSet:!1,valueSet:[\"MediaBox\",\"CropBox\",\"TrimBox\",\"BleedBox\",\"ArtBox\"],pdfVersion:1.4},ViewClip:{defaultValue:\"CropBox\",value:\"CropBox\",type:\"name\",explicitSet:!1,valueSet:[\"MediaBox\",\"CropBox\",\"TrimBox\",\"BleedBox\",\"ArtBox\"],pdfVersion:1.4},PrintArea:{defaultValue:\"CropBox\",value:\"CropBox\",type:\"name\",explicitSet:!1,valueSet:[\"MediaBox\",\"CropBox\",\"TrimBox\",\"BleedBox\",\"ArtBox\"],pdfVersion:1.4},PrintClip:{defaultValue:\"CropBox\",value:\"CropBox\",type:\"name\",explicitSet:!1,valueSet:[\"MediaBox\",\"CropBox\",\"TrimBox\",\"BleedBox\",\"ArtBox\"],pdfVersion:1.4},PrintScaling:{defaultValue:\"AppDefault\",value:\"AppDefault\",type:\"name\",explicitSet:!1,valueSet:[\"AppDefault\",\"None\"],pdfVersion:1.6},Duplex:{defaultValue:\"\",value:\"none\",type:\"name\",explicitSet:!1,valueSet:[\"Simplex\",\"DuplexFlipShortEdge\",\"DuplexFlipLongEdge\",\"none\"],pdfVersion:1.7},PickTrayByPDFSize:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.7},PrintPageRange:{defaultValue:\"\",value:\"\",type:\"array\",explicitSet:!1,valueSet:null,pdfVersion:1.7},NumCopies:{defaultValue:1,value:1,type:\"integer\",explicitSet:!1,valueSet:null,pdfVersion:1.7}},a=Object.keys(o),s=[],l=0,h=0,u=0,c=!0;function f(t,e){var n,r=!1;for(n=0;n<t.length;n+=1)t[n]===e&&(r=!0);return r}if(void 0===this.internal.viewerpreferences&&(this.internal.viewerpreferences={},this.internal.viewerpreferences.configuration=JSON.parse(JSON.stringify(o)),this.internal.viewerpreferences.isSubscribed=!1),n=this.internal.viewerpreferences.configuration,\"reset\"===t||!0===e){var p=a.length;for(u=0;u<p;u+=1)n[a[u]].value=n[a[u]].defaultValue,n[a[u]].explicitSet=!1}if(\"object\"===se(t))for(r in t)if(i=t[r],f(a,r)&&void 0!==i){if(\"boolean\"===n[r].type&&\"boolean\"==typeof i)n[r].value=i;else if(\"name\"===n[r].type&&f(n[r].valueSet,i))n[r].value=i;else if(\"integer\"===n[r].type&&Number.isInteger(i))n[r].value=i;else if(\"array\"===n[r].type){for(l=0;l<i.length;l+=1)if(c=!0,1===i[l].length&&\"number\"==typeof i[l][0])s.push(String(i[l]-1));else if(1<i[l].length){for(h=0;h<i[l].length;h+=1)\"number\"!=typeof i[l][h]&&(c=!1);!0===c&&s.push([i[l][0]-1,i[l][1]-1].join(\" \"))}n[r].value=\"[\"+s.join(\" \")+\"]\"}else n[r].value=n[r].defaultValue;n[r].explicitSet=!0}return!1===this.internal.viewerpreferences.isSubscribed&&(this.internal.events.subscribe(\"putCatalog\",function(){var t,e=[];for(t in n)!0===n[t].explicitSet&&(\"name\"===n[t].type?e.push(\"/\"+t+\" /\"+n[t].value):e.push(\"/\"+t+\" \"+n[t].value));0!==e.length&&this.internal.write(\"/ViewerPreferences\\n<<\\n\"+e.join(\"\\n\")+\"\\n>>\")}),this.internal.viewerpreferences.isSubscribed=!0),this.internal.viewerpreferences.configuration=n,this},\n/** ==================================================================== \n   * jsPDF XMP metadata plugin\n   * Copyright (c) 2016 Jussi Utunen, u-jussi@suomi24.fi\n   * \n   * \n   * ====================================================================\n   */\nnt=lt.API,ot=it=rt=\"\",nt.addMetadata=function(t,e){return it=e||\"http://jspdf.default.namespaceuri/\",rt=t,this.internal.events.subscribe(\"postPutResources\",function(){if(rt){var t='<rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"><rdf:Description rdf:about=\"\" xmlns:jspdf=\"'+it+'\"><jspdf:metadata>',e=unescape(encodeURIComponent('<x:xmpmeta xmlns:x=\"adobe:ns:meta/\">')),n=unescape(encodeURIComponent(t)),r=unescape(encodeURIComponent(rt)),i=unescape(encodeURIComponent(\"</jspdf:metadata></rdf:Description></rdf:RDF>\")),o=unescape(encodeURIComponent(\"</x:xmpmeta>\")),a=n.length+r.length+i.length+e.length+o.length;ot=this.internal.newObject(),this.internal.write(\"<< /Type /Metadata /Subtype /XML /Length \"+a+\" >>\"),this.internal.write(\"stream\"),this.internal.write(e+n+r+i+o),this.internal.write(\"endstream\"),this.internal.write(\"endobj\")}else ot=\"\"}),this.internal.events.subscribe(\"putCatalog\",function(){ot&&this.internal.write(\"/Metadata \"+ot+\" 0 R\")}),this},function(f,t){var e=f.API;var m=e.pdfEscape16=function(t,e){for(var n,r=e.metadata.Unicode.widths,i=[\"\",\"0\",\"00\",\"000\",\"0000\"],o=[\"\"],a=0,s=t.length;a<s;++a){if(n=e.metadata.characterToGlyph(t.charCodeAt(a)),e.metadata.glyIdsUsed.push(n),e.metadata.toUnicode[n]=t.charCodeAt(a),-1==r.indexOf(n)&&(r.push(n),r.push([parseInt(e.metadata.widthOfGlyph(n),10)])),\"0\"==n)return o.join(\"\");n=n.toString(16),o.push(i[4-n.length],n)}return o.join(\"\")},p=function(t){var e,n,r,i,o,a,s;for(o=\"/CIDInit /ProcSet findresource begin\\n12 dict begin\\nbegincmap\\n/CIDSystemInfo <<\\n  /Registry (Adobe)\\n  /Ordering (UCS)\\n  /Supplement 0\\n>> def\\n/CMapName /Adobe-Identity-UCS def\\n/CMapType 2 def\\n1 begincodespacerange\\n<0000><ffff>\\nendcodespacerange\",r=[],a=0,s=(n=Object.keys(t).sort(function(t,e){return t-e})).length;a<s;a++)e=n[a],100<=r.length&&(o+=\"\\n\"+r.length+\" beginbfchar\\n\"+r.join(\"\\n\")+\"\\nendbfchar\",r=[]),i=(\"0000\"+t[e].toString(16)).slice(-4),e=(\"0000\"+(+e).toString(16)).slice(-4),r.push(\"<\"+e+\"><\"+i+\">\");return r.length&&(o+=\"\\n\"+r.length+\" beginbfchar\\n\"+r.join(\"\\n\")+\"\\nendbfchar\\n\"),o+=\"endcmap\\nCMapName currentdict /CMap defineresource pop\\nend\\nend\"};e.events.push([\"putFont\",function(t){!function(t,e,n,r){if(t.metadata instanceof f.API.TTFFont&&\"Identity-H\"===t.encoding){for(var i=t.metadata.Unicode.widths,o=t.metadata.subset.encode(t.metadata.glyIdsUsed,1),a=\"\",s=0;s<o.length;s++)a+=String.fromCharCode(o[s]);var l=n();r({data:a,addLength1:!0}),e(\"endobj\");var h=n();r({data:p(t.metadata.toUnicode),addLength1:!0}),e(\"endobj\");var u=n();e(\"<<\"),e(\"/Type /FontDescriptor\"),e(\"/FontName /\"+t.fontName),e(\"/FontFile2 \"+l+\" 0 R\"),e(\"/FontBBox \"+f.API.PDFObject.convert(t.metadata.bbox)),e(\"/Flags \"+t.metadata.flags),e(\"/StemV \"+t.metadata.stemV),e(\"/ItalicAngle \"+t.metadata.italicAngle),e(\"/Ascent \"+t.metadata.ascender),e(\"/Descent \"+t.metadata.decender),e(\"/CapHeight \"+t.metadata.capHeight),e(\">>\"),e(\"endobj\");var c=n();e(\"<<\"),e(\"/Type /Font\"),e(\"/BaseFont /\"+t.fontName),e(\"/FontDescriptor \"+u+\" 0 R\"),e(\"/W \"+f.API.PDFObject.convert(i)),e(\"/CIDToGIDMap /Identity\"),e(\"/DW 1000\"),e(\"/Subtype /CIDFontType2\"),e(\"/CIDSystemInfo\"),e(\"<<\"),e(\"/Supplement 0\"),e(\"/Registry (Adobe)\"),e(\"/Ordering (\"+t.encoding+\")\"),e(\">>\"),e(\">>\"),e(\"endobj\"),t.objectNumber=n(),e(\"<<\"),e(\"/Type /Font\"),e(\"/Subtype /Type0\"),e(\"/ToUnicode \"+h+\" 0 R\"),e(\"/BaseFont /\"+t.fontName),e(\"/Encoding /\"+t.encoding),e(\"/DescendantFonts [\"+c+\" 0 R]\"),e(\">>\"),e(\"endobj\"),t.isAlreadyPutted=!0}}(t.font,t.out,t.newObject,t.putStream)}]);e.events.push([\"putFont\",function(t){!function(t,e,n,r){if(t.metadata instanceof f.API.TTFFont&&\"WinAnsiEncoding\"===t.encoding){t.metadata.Unicode.widths;for(var i=t.metadata.rawData,o=\"\",a=0;a<i.length;a++)o+=String.fromCharCode(i[a]);var s=n();r({data:o,addLength1:!0}),e(\"endobj\");var l=n();r({data:p(t.metadata.toUnicode),addLength1:!0}),e(\"endobj\");var h=n();for(e(\"<<\"),e(\"/Descent \"+t.metadata.decender),e(\"/CapHeight \"+t.metadata.capHeight),e(\"/StemV \"+t.metadata.stemV),e(\"/Type /FontDescriptor\"),e(\"/FontFile2 \"+s+\" 0 R\"),e(\"/Flags 96\"),e(\"/FontBBox \"+f.API.PDFObject.convert(t.metadata.bbox)),e(\"/FontName /\"+t.fontName),e(\"/ItalicAngle \"+t.metadata.italicAngle),e(\"/Ascent \"+t.metadata.ascender),e(\">>\"),e(\"endobj\"),t.objectNumber=n(),a=0;a<t.metadata.hmtx.widths.length;a++)t.metadata.hmtx.widths[a]=parseInt(t.metadata.hmtx.widths[a]*(1e3/t.metadata.head.unitsPerEm));e(\"<</Subtype/TrueType/Type/Font/ToUnicode \"+l+\" 0 R/BaseFont/\"+t.fontName+\"/FontDescriptor \"+h+\" 0 R/Encoding/\"+t.encoding+\" /FirstChar 29 /LastChar 255 /Widths \"+f.API.PDFObject.convert(t.metadata.hmtx.widths)+\">>\"),e(\"endobj\"),t.isAlreadyPutted=!0}}(t.font,t.out,t.newObject,t.putStream)}]);var h=function(t){var e,n,r=t.text||\"\",i=t.x,o=t.y,a=t.options||{},s=t.mutex||{},l=s.pdfEscape,h=s.activeFontKey,u=s.fonts,c=(s.activeFontSize,\"\"),f=0,p=\"\",d=u[n=h].encoding;if(\"Identity-H\"!==u[n].encoding)return{text:r,x:i,y:o,options:a,mutex:s};for(p=r,n=h,\"[object Array]\"===Object.prototype.toString.call(r)&&(p=r[0]),f=0;f<p.length;f+=1)u[n].metadata.hasOwnProperty(\"cmap\")&&(e=u[n].metadata.cmap.unicode.codeMap[p[f].charCodeAt(0)]),e?c+=p[f]:p[f].charCodeAt(0)<256&&u[n].metadata.hasOwnProperty(\"Unicode\")?c+=p[f]:c+=\"\";var g=\"\";return parseInt(n.slice(1))<14||\"WinAnsiEncoding\"===d?g=function(t){for(var e=\"\",n=0;n<t.length;n++)e+=\"\"+t.charCodeAt(n).toString(16);return e}(l(c,n)):\"Identity-H\"===d&&(g=m(c,u[n])),s.isHex=!0,{text:g,x:i,y:o,options:a,mutex:s}};e.events.push([\"postProcessText\",function(t){var e=t.text||\"\",n=t.x,r=t.y,i=t.options,o=t.mutex,a=(i.lang,[]),s={text:e,x:n,y:r,options:i,mutex:o};if(\"[object Array]\"===Object.prototype.toString.call(e)){var l=0;for(l=0;l<e.length;l+=1)\"[object Array]\"===Object.prototype.toString.call(e[l])&&3===e[l].length?a.push([h(Object.assign({},s,{text:e[l][0]})).text,e[l][1],e[l][2]]):a.push(h(Object.assign({},s,{text:e[l]})).text);t.text=a}else t.text=h(Object.assign({},s,{text:e})).text}])}(lt,\"undefined\"!=typeof self&&self||\"undefined\"!=typeof global&&global||\"undefined\"!=typeof window&&window||Function(\"return this\")()),at=lt.API,st=function(t){return void 0!==t&&(void 0===t.vFS&&(t.vFS={}),!0)},at.existsFileInVFS=function(t){return!!st(this.internal)&&void 0!==this.internal.vFS[t]},at.addFileToVFS=function(t,e){return st(this.internal),this.internal.vFS[t]=e,this},at.getFileFromVFS=function(t){return st(this.internal),void 0!==this.internal.vFS[t]?this.internal.vFS[t]:null},lt.API.addHTML=function(t,d,g,s,m){if(\"undefined\"==typeof html2canvas&&\"undefined\"==typeof rasterizeHTML)throw new Error(\"You need either https://github.com/niklasvh/html2canvas or https://github.com/cburgmer/rasterizeHTML.js\");\"number\"!=typeof d&&(s=d,m=g),\"function\"==typeof s&&(m=s,s=null),\"function\"!=typeof m&&(m=function(){});var e=this.internal,y=e.scaleFactor,v=e.pageSize.getWidth(),w=e.pageSize.getHeight();if((s=s||{}).onrendered=function(l){d=parseInt(d)||0,g=parseInt(g)||0;var t=s.dim||{},h=Object.assign({top:0,right:0,bottom:0,left:0,useFor:\"content\"},s.margin),e=t.h||Math.min(w,l.height/y),u=t.w||Math.min(v,l.width/y)-d,c=s.format||\"JPEG\",f=s.imageCompression||\"SLOW\";if(l.height>w-h.top-h.bottom&&s.pagesplit){var p=function(t,e,n,r,i){var o=document.createElement(\"canvas\");o.height=i,o.width=r;var a=o.getContext(\"2d\");return a.mozImageSmoothingEnabled=!1,a.webkitImageSmoothingEnabled=!1,a.msImageSmoothingEnabled=!1,a.imageSmoothingEnabled=!1,a.fillStyle=s.backgroundColor||\"#ffffff\",a.fillRect(0,0,r,i),a.drawImage(t,e,n,r,i,0,0,r,i),o},n=function(){for(var t,e,n=0,r=0,i={},o=!1;;){var a;if(r=0,i.top=0!==n?h.top:g,i.left=0!==n?h.left:d,o=(v-h.left-h.right)*y<l.width,\"content\"===h.useFor?0===n?(t=Math.min((v-h.left)*y,l.width),e=Math.min((w-h.top)*y,l.height-n)):(t=Math.min(v*y,l.width),e=Math.min(w*y,l.height-n),i.top=0):(t=Math.min((v-h.left-h.right)*y,l.width),e=Math.min((w-h.bottom-h.top)*y,l.height-n)),o)for(;;){\"content\"===h.useFor&&(0===r?t=Math.min((v-h.left)*y,l.width):(t=Math.min(v*y,l.width-r),i.left=0));var s=[a=p(l,r,n,t,e),i.left,i.top,a.width/y,a.height/y,c,null,f];if(this.addImage.apply(this,s),(r+=t)>=l.width)break;this.addPage()}else s=[a=p(l,0,n,t,e),i.left,i.top,a.width/y,a.height/y,c,null,f],this.addImage.apply(this,s);if((n+=e)>=l.height)break;this.addPage()}m(u,n,null,s)}.bind(this);if(\"CANVAS\"===l.nodeName){var r=new Image;r.onload=n,r.src=l.toDataURL(\"image/png\"),l=r}else n()}else{var i=Math.random().toString(35),o=[l,d,g,u,e,c,i,f];this.addImage.apply(this,o),m(u,e,i,o)}}.bind(this),\"undefined\"!=typeof html2canvas&&!s.rstz)return html2canvas(t,s);if(\"undefined\"==typeof rasterizeHTML)return null;var n=\"drawDocument\";return\"string\"==typeof t&&(n=/^http/.test(t)?\"drawURL\":\"drawHTML\"),s.width=s.width||v*y,rasterizeHTML[n](t,void 0,s).then(function(t){s.onrendered(t.image)},function(t){m(null,t)})},\n/**\n   * jsPDF fromHTML plugin. BETA stage. API subject to change. Needs browser\n   * Copyright (c) 2012 Willow Systems Corporation, willow-systems.com\n   *               2014 Juan Pablo Gaviria, https://github.com/juanpgaviria\n   *               2014 Diego Casorran, https://github.com/diegocr\n   *               2014 Daniel Husar, https://github.com/danielhusar\n   *               2014 Wolfgang Gassler, https://github.com/woolfg\n   *               2014 Steven Spungin, https://github.com/flamenco\n   *\n   * @license\n   * \n   * ====================================================================\n   */\nfunction(t){var P,k,i,a,s,l,h,u,I,w,f,c,p,n,C,B,d,g,m,j;P=function(){return function(t){return e.prototype=t,new e};function e(){}}(),w=function(t){var e,n,r,i,o,a,s;for(n=0,r=t.length,e=void 0,a=i=!1;!i&&n!==r;)(e=t[n]=t[n].trimLeft())&&(i=!0),n++;for(n=r-1;r&&!a&&-1!==n;)(e=t[n]=t[n].trimRight())&&(a=!0),n--;for(o=/\\s+$/g,s=!0,n=0;n!==r;)\"\\u2028\"!=t[n]&&(e=t[n].replace(/\\s+/g,\" \"),s&&(e=e.trimLeft()),e&&(s=o.test(e)),t[n]=e),n++;return t},c=function(t){var e,n,r;for(e=void 0,n=(r=t.split(\",\")).shift();!e&&n;)e=i[n.trim().toLowerCase()],n=r.shift();return e},p=function(t){var e;return-1<(t=\"auto\"===t?\"0px\":t).indexOf(\"em\")&&!isNaN(Number(t.replace(\"em\",\"\")))&&(t=18.719*Number(t.replace(\"em\",\"\"))+\"px\"),-1<t.indexOf(\"pt\")&&!isNaN(Number(t.replace(\"pt\",\"\")))&&(t=1.333*Number(t.replace(\"pt\",\"\"))+\"px\"),void 0,16,(e=n[t])?e:void 0!==(e={\"xx-small\":9,\"x-small\":11,small:13,medium:16,large:19,\"x-large\":23,\"xx-large\":28,auto:0}[t])?n[t]=e/16:(e=parseFloat(t))?n[t]=e/16:(e=t.match(/([\\d\\.]+)(px)/),Array.isArray(e)&&3===e.length?n[t]=parseFloat(e[1])/16:n[t]=1)},I=function(t){var e,n,r,i,o;return o=t,i=document.defaultView&&document.defaultView.getComputedStyle?document.defaultView.getComputedStyle(o,null):o.currentStyle?o.currentStyle:o.style,n=void 0,(e={})[\"font-family\"]=c((r=function(t){return t=t.replace(/-\\D/g,function(t){return t.charAt(1).toUpperCase()}),i[t]})(\"font-family\"))||\"times\",e[\"font-style\"]=a[r(\"font-style\")]||\"normal\",e[\"text-align\"]=s[r(\"text-align\")]||\"left\",\"bold\"===(n=l[r(\"font-weight\")]||\"normal\")&&(\"normal\"===e[\"font-style\"]?e[\"font-style\"]=n:e[\"font-style\"]=n+e[\"font-style\"]),e[\"font-size\"]=p(r(\"font-size\"))||1,e[\"line-height\"]=p(r(\"line-height\"))||1,e.display=\"inline\"===r(\"display\")?\"inline\":\"block\",n=\"block\"===e.display,e[\"margin-top\"]=n&&p(r(\"margin-top\"))||0,e[\"margin-bottom\"]=n&&p(r(\"margin-bottom\"))||0,e[\"padding-top\"]=n&&p(r(\"padding-top\"))||0,e[\"padding-bottom\"]=n&&p(r(\"padding-bottom\"))||0,e[\"margin-left\"]=n&&p(r(\"margin-left\"))||0,e[\"margin-right\"]=n&&p(r(\"margin-right\"))||0,e[\"padding-left\"]=n&&p(r(\"padding-left\"))||0,e[\"padding-right\"]=n&&p(r(\"padding-right\"))||0,e[\"page-break-before\"]=r(\"page-break-before\")||\"auto\",e.float=h[r(\"cssFloat\")]||\"none\",e.clear=u[r(\"clear\")]||\"none\",e.color=r(\"color\"),e},C=function(t,e,n){var r,i,o,a,s;if(o=!1,a=i=void 0,r=n[\"#\"+t.id])if(\"function\"==typeof r)o=r(t,e);else for(i=0,a=r.length;!o&&i!==a;)o=r[i](t,e),i++;if(r=n[t.nodeName],!o&&r)if(\"function\"==typeof r)o=r(t,e);else for(i=0,a=r.length;!o&&i!==a;)o=r[i](t,e),i++;for(s=\"string\"==typeof t.className?t.className.split(\" \"):[],i=0;i<s.length;i++)if(r=n[\".\"+s[i]],!o&&r)if(\"function\"==typeof r)o=r(t,e);else for(i=0,a=r.length;!o&&i!==a;)o=r[i](t,e),i++;return o},j=function(t,e){var n,r,i,o,a,s,l,h,u;for(n=[],r=[],i=0,u=t.rows[0].cells.length,l=t.clientWidth;i<u;)h=t.rows[0].cells[i],r[i]={name:h.textContent.toLowerCase().replace(/\\s+/g,\"\"),prompt:h.textContent.replace(/\\r?\\n/g,\"\"),width:h.clientWidth/l*e.pdf.internal.pageSize.getWidth()},i++;for(i=1;i<t.rows.length;){for(s=t.rows[i],a={},o=0;o<s.cells.length;)a[r[o].name]=s.cells[o].textContent.replace(/\\r?\\n/g,\"\"),o++;n.push(a),i++}return{rows:n,headers:r}};var E={SCRIPT:1,STYLE:1,NOSCRIPT:1,OBJECT:1,EMBED:1,SELECT:1},M=1;k=function(t,i,e){var n,r,o,a,s,l,h,u;for(r=t.childNodes,n=void 0,(s=\"block\"===(o=I(t)).display)&&(i.setBlockBoundary(),i.setBlockStyle(o)),a=0,l=r.length;a<l;){if(\"object\"===se(n=r[a])){if(i.executeWatchFunctions(n),1===n.nodeType&&\"HEADER\"===n.nodeName){var c=n,f=i.pdf.margins_doc.top;i.pdf.internal.events.subscribe(\"addPage\",function(t){i.y=f,k(c,i,e),i.pdf.margins_doc.top=i.y+10,i.y+=10},!1)}if(8===n.nodeType&&\"#comment\"===n.nodeName)~n.textContent.indexOf(\"ADD_PAGE\")&&(i.pdf.addPage(),i.y=i.pdf.margins_doc.top);else if(1!==n.nodeType||E[n.nodeName])if(3===n.nodeType){var p=n.nodeValue;if(n.nodeValue&&\"LI\"===n.parentNode.nodeName)if(\"OL\"===n.parentNode.parentNode.nodeName)p=M+++\". \"+p;else{var d=o[\"font-size\"],g=(3-.75*d)*i.pdf.internal.scaleFactor,m=.75*d*i.pdf.internal.scaleFactor,y=1.74*d/i.pdf.internal.scaleFactor;u=function(t,e){this.pdf.circle(t+g,e+m,y,\"FD\")}}16&n.ownerDocument.body.compareDocumentPosition(n)&&i.addText(p,o)}else\"string\"==typeof n&&i.addText(n,o);else{var v;if(\"IMG\"===n.nodeName){var w=n.getAttribute(\"src\");v=B[i.pdf.sHashCode(w)||w]}if(v){i.pdf.internal.pageSize.getHeight()-i.pdf.margins_doc.bottom<i.y+n.height&&i.y>i.pdf.margins_doc.top&&(i.pdf.addPage(),i.y=i.pdf.margins_doc.top,i.executeWatchFunctions(n));var b=I(n),x=i.x,N=12/i.pdf.internal.scaleFactor,L=(b[\"margin-left\"]+b[\"padding-left\"])*N,A=(b[\"margin-right\"]+b[\"padding-right\"])*N,S=(b[\"margin-top\"]+b[\"padding-top\"])*N,_=(b[\"margin-bottom\"]+b[\"padding-bottom\"])*N;void 0!==b.float&&\"right\"===b.float?x+=i.settings.width-n.width-A:x+=L,i.pdf.addImage(v,x,i.y+S,n.width,n.height),v=void 0,\"right\"===b.float||\"left\"===b.float?(i.watchFunctions.push(function(t,e,n,r){return i.y>=e?(i.x+=t,i.settings.width+=n,!0):!!(r&&1===r.nodeType&&!E[r.nodeName]&&i.x+r.width>i.pdf.margins_doc.left+i.pdf.margins_doc.width)&&(i.x+=t,i.y=e,i.settings.width+=n,!0)}.bind(this,\"left\"===b.float?-n.width-L-A:0,i.y+n.height+S+_,n.width)),i.watchFunctions.push(function(t,e,n){return!(i.y<t&&e===i.pdf.internal.getNumberOfPages())||1===n.nodeType&&\"both\"===I(n).clear&&(i.y=t,!0)}.bind(this,i.y+n.height,i.pdf.internal.getNumberOfPages())),i.settings.width-=n.width+L+A,\"left\"===b.float&&(i.x+=n.width+L+A)):i.y+=n.height+S+_}else if(\"TABLE\"===n.nodeName)h=j(n,i),i.y+=10,i.pdf.table(i.x,i.y,h.rows,h.headers,{autoSize:!1,printHeaders:e.printHeaders,margins:i.pdf.margins_doc,css:I(n)}),i.y=i.pdf.lastCellPos.y+i.pdf.lastCellPos.h+20;else if(\"OL\"===n.nodeName||\"UL\"===n.nodeName)M=1,C(n,i,e)||k(n,i,e),i.y+=10;else if(\"LI\"===n.nodeName){var F=i.x;i.x+=20/i.pdf.internal.scaleFactor,i.y+=3,C(n,i,e)||k(n,i,e),i.x=F}else\"BR\"===n.nodeName?(i.y+=o[\"font-size\"]*i.pdf.internal.scaleFactor,i.addText(\"\\u2028\",P(o))):C(n,i,e)||k(n,i,e)}}a++}if(e.outY=i.y,s)return i.setBlockBoundary(u)},B={},d=function(t,o,e,n){var a,r=t.getElementsByTagName(\"img\"),i=r.length,s=0;function l(){o.pdf.internal.events.publish(\"imagesLoaded\"),n(a)}function h(e,n,r){if(e){var i=new Image;a=++s,i.crossOrigin=\"\",i.onerror=i.onload=function(){if(i.complete&&(0===i.src.indexOf(\"data:image/\")&&(i.width=n||i.width||0,i.height=r||i.height||0),i.width+i.height)){var t=o.pdf.sHashCode(e)||e;B[t]=B[t]||i}--s||l()},i.src=e}}for(;i--;)h(r[i].getAttribute(\"src\"),r[i].width,r[i].height);return s||l()},g=function(t,o,a){var s=t.getElementsByTagName(\"footer\");if(0<s.length){s=s[0];var e=o.pdf.internal.write,n=o.y;o.pdf.internal.write=function(){},k(s,o,a);var l=Math.ceil(o.y-n)+5;o.y=n,o.pdf.internal.write=e,o.pdf.margins_doc.bottom+=l;for(var r=function(t){var e=void 0!==t?t.pageNumber:1,n=o.y;o.y=o.pdf.internal.pageSize.getHeight()-o.pdf.margins_doc.bottom,o.pdf.margins_doc.bottom-=l;for(var r=s.getElementsByTagName(\"span\"),i=0;i<r.length;++i)-1<(\" \"+r[i].className+\" \").replace(/[\\n\\t]/g,\" \").indexOf(\" pageCounter \")&&(r[i].innerHTML=e),-1<(\" \"+r[i].className+\" \").replace(/[\\n\\t]/g,\" \").indexOf(\" totalPages \")&&(r[i].innerHTML=\"###jsPDFVarTotalPages###\");k(s,o,a),o.pdf.margins_doc.bottom+=l,o.y=n},i=s.getElementsByTagName(\"span\"),h=0;h<i.length;++h)-1<(\" \"+i[h].className+\" \").replace(/[\\n\\t]/g,\" \").indexOf(\" totalPages \")&&o.pdf.internal.events.subscribe(\"htmlRenderingFinished\",o.pdf.putTotalPages.bind(o.pdf,\"###jsPDFVarTotalPages###\"),!0);o.pdf.internal.events.subscribe(\"addPage\",r,!1),r(),E.FOOTER=1}},m=function(t,e,n,r,i,o){if(!e)return!1;var a,s,l,h;\"string\"==typeof e||e.parentNode||(e=\"\"+e.innerHTML),\"string\"==typeof e&&(a=e.replace(/<\\/?script[^>]*?>/gi,\"\"),h=\"jsPDFhtmlText\"+Date.now().toString()+(1e3*Math.random()).toFixed(0),(l=document.createElement(\"div\")).style.cssText=\"position: absolute !important;clip: rect(1px 1px 1px 1px); /* IE6, IE7 */clip: rect(1px, 1px, 1px, 1px);padding:0 !important;border:0 !important;height: 1px !important;width: 1px !important; top:auto;left:-100px;overflow: hidden;\",l.innerHTML='<iframe style=\"height:1px;width:1px\" name=\"'+h+'\" />',document.body.appendChild(l),(s=window.frames[h]).document.open(),s.document.writeln(a),s.document.close(),e=s.document.body);var u,c=new f(t,n,r,i);return d.call(this,e,c,i.elementHandlers,function(t){g(e,c,i.elementHandlers),k(e,c,i.elementHandlers),c.pdf.internal.events.publish(\"htmlRenderingFinished\"),u=c.dispose(),\"function\"==typeof o?o(u):t&&console.error(\"jsPDF Warning: rendering issues? provide a callback to fromHTML!\")}),u||{x:c.x,y:c.y}},(f=function(t,e,n,r){return this.pdf=t,this.x=e,this.y=n,this.settings=r,this.watchFunctions=[],this.init(),this}).prototype.init=function(){return this.paragraph={text:[],style:[]},this.pdf.internal.write(\"q\")},f.prototype.dispose=function(){return this.pdf.internal.write(\"Q\"),{x:this.x,y:this.y,ready:!0}},f.prototype.executeWatchFunctions=function(t){var e=!1,n=[];if(0<this.watchFunctions.length){for(var r=0;r<this.watchFunctions.length;++r)!0===this.watchFunctions[r](t)?e=!0:n.push(this.watchFunctions[r]);this.watchFunctions=n}return e},f.prototype.splitFragmentsIntoLines=function(t,e){var n,r,i,o,a,s,l,h,u,c,f,p,d,g;for(12,c=this.pdf.internal.scaleFactor,o={},s=l=h=g=a=i=u=r=void 0,p=[f=[]],n=0,d=this.settings.width;t.length;)if(a=t.shift(),g=e.shift(),a)if((i=o[(r=g[\"font-family\"])+(u=g[\"font-style\"])])||(i=this.pdf.internal.getFont(r,u).metadata.Unicode,o[r+u]=i),h={widths:i.widths,kerning:i.kerning,fontSize:12*g[\"font-size\"],textIndent:n},l=this.pdf.getStringUnitWidth(a,h)*h.fontSize/c,\"\\u2028\"==a)f=[],p.push(f);else if(d<n+l){for(s=this.pdf.splitTextToSize(a,d,h),f.push([s.shift(),g]);s.length;)f=[[s.shift(),g]],p.push(f);n=this.pdf.getStringUnitWidth(f[0][0],h)*h.fontSize/c}else f.push([a,g]),n+=l;if(void 0!==g[\"text-align\"]&&(\"center\"===g[\"text-align\"]||\"right\"===g[\"text-align\"]||\"justify\"===g[\"text-align\"]))for(var m=0;m<p.length;++m){var y=this.pdf.getStringUnitWidth(p[m][0][0],h)*h.fontSize/c;0<m&&(p[m][0][1]=P(p[m][0][1]));var v=d-y;if(\"right\"===g[\"text-align\"])p[m][0][1][\"margin-left\"]=v;else if(\"center\"===g[\"text-align\"])p[m][0][1][\"margin-left\"]=v/2;else if(\"justify\"===g[\"text-align\"]){var w=p[m][0][0].split(\" \").length-1;p[m][0][1][\"word-spacing\"]=v/w,m===p.length-1&&(p[m][0][1][\"word-spacing\"]=0)}}return p},f.prototype.RenderTextFragment=function(t,e){var n,r;r=0,this.pdf.internal.pageSize.getHeight()-this.pdf.margins_doc.bottom<this.y+this.pdf.internal.getFontSize()&&(this.pdf.internal.write(\"ET\",\"Q\"),this.pdf.addPage(),this.y=this.pdf.margins_doc.top,this.pdf.internal.write(\"q\",\"BT\",this.getPdfColor(e.color),this.pdf.internal.getCoordinateString(this.x),this.pdf.internal.getVerticalCoordinateString(this.y),\"Td\"),r=Math.max(r,e[\"line-height\"],e[\"font-size\"]),this.pdf.internal.write(0,(-12*r).toFixed(2),\"Td\")),n=this.pdf.internal.getFont(e[\"font-family\"],e[\"font-style\"]);var i=this.getPdfColor(e.color);i!==this.lastTextColor&&(this.pdf.internal.write(i),this.lastTextColor=i),void 0!==e[\"word-spacing\"]&&0<e[\"word-spacing\"]&&this.pdf.internal.write(e[\"word-spacing\"].toFixed(2),\"Tw\"),this.pdf.internal.write(\"/\"+n.id,(12*e[\"font-size\"]).toFixed(2),\"Tf\",\"(\"+this.pdf.internal.pdfEscape(t)+\") Tj\"),void 0!==e[\"word-spacing\"]&&this.pdf.internal.write(0,\"Tw\")},f.prototype.getPdfColor=function(t){var e,n,r,i=/rgb\\s*\\(\\s*(\\d+),\\s*(\\d+),\\s*(\\d+\\s*)\\)/.exec(t);if(null!=i)e=parseInt(i[1]),n=parseInt(i[2]),r=parseInt(i[3]);else{if(\"string\"==typeof t&&\"#\"!=t.charAt(0)){var o=new RGBColor(t);t=o.ok?o.toHex():\"#000000\"}e=t.substring(1,3),e=parseInt(e,16),n=t.substring(3,5),n=parseInt(n,16),r=t.substring(5,7),r=parseInt(r,16)}if(\"string\"==typeof e&&/^#[0-9A-Fa-f]{6}$/.test(e)){var a=parseInt(e.substr(1),16);e=a>>16&255,n=a>>8&255,r=255&a}var s=this.f3;return 0===e&&0===n&&0===r||void 0===n?s(e/255)+\" g\":[s(e/255),s(n/255),s(r/255),\"rg\"].join(\" \")},f.prototype.f3=function(t){return t.toFixed(3)},f.prototype.renderParagraph=function(t){var e,n,r,i,o,a,s,l,h,u,c,f,p;if(r=w(this.paragraph.text),f=this.paragraph.style,e=this.paragraph.blockstyle,this.paragraph.priorblockstyle||{},this.paragraph={text:[],style:[],blockstyle:{},priorblockstyle:e},r.join(\"\").trim()){s=this.splitFragmentsIntoLines(r,f),l=a=void 0,n=12/this.pdf.internal.scaleFactor,this.priorMarginBottom=this.priorMarginBottom||0,c=(Math.max((e[\"margin-top\"]||0)-this.priorMarginBottom,0)+(e[\"padding-top\"]||0))*n,u=((e[\"margin-bottom\"]||0)+(e[\"padding-bottom\"]||0))*n,this.priorMarginBottom=e[\"margin-bottom\"]||0,\"always\"===e[\"page-break-before\"]&&(this.pdf.addPage(),this.y=0,c=((e[\"margin-top\"]||0)+(e[\"padding-top\"]||0))*n),h=this.pdf.internal.write,o=i=void 0,this.y+=c,h(\"q\",\"BT 0 g\",this.pdf.internal.getCoordinateString(this.x),this.pdf.internal.getVerticalCoordinateString(this.y),\"Td\");for(var d=0;s.length;){for(i=l=0,o=(a=s.shift()).length;i!==o;)a[i][0].trim()&&(l=Math.max(l,a[i][1][\"line-height\"],a[i][1][\"font-size\"]),p=7*a[i][1][\"font-size\"]),i++;var g=0,m=0;for(void 0!==a[0][1][\"margin-left\"]&&0<a[0][1][\"margin-left\"]&&(g=(m=this.pdf.internal.getCoordinateString(a[0][1][\"margin-left\"]))-d,d=m),h(g+Math.max(e[\"margin-left\"]||0,0)*n,(-12*l).toFixed(2),\"Td\"),i=0,o=a.length;i!==o;)a[i][0]&&this.RenderTextFragment(a[i][0],a[i][1]),i++;if(this.y+=l*n,this.executeWatchFunctions(a[0][1])&&0<s.length){var y=[],v=[];s.forEach(function(t){for(var e=0,n=t.length;e!==n;)t[e][0]&&(y.push(t[e][0]+\" \"),v.push(t[e][1])),++e}),s=this.splitFragmentsIntoLines(w(y),v),h(\"ET\",\"Q\"),h(\"q\",\"BT 0 g\",this.pdf.internal.getCoordinateString(this.x),this.pdf.internal.getVerticalCoordinateString(this.y),\"Td\")}}return t&&\"function\"==typeof t&&t.call(this,this.x-9,this.y-p/2),h(\"ET\",\"Q\"),this.y+=u}},f.prototype.setBlockBoundary=function(t){return this.renderParagraph(t)},f.prototype.setBlockStyle=function(t){return this.paragraph.blockstyle=t},f.prototype.addText=function(t,e){return this.paragraph.text.push(t),this.paragraph.style.push(e)},i={helvetica:\"helvetica\",\"sans-serif\":\"helvetica\",\"times new roman\":\"times\",serif:\"times\",times:\"times\",monospace:\"courier\",courier:\"courier\"},l={100:\"normal\",200:\"normal\",300:\"normal\",400:\"normal\",500:\"bold\",600:\"bold\",700:\"bold\",800:\"bold\",900:\"bold\",normal:\"normal\",bold:\"bold\",bolder:\"bold\",lighter:\"normal\"},a={normal:\"normal\",italic:\"italic\",oblique:\"italic\"},s={left:\"left\",right:\"right\",center:\"center\",justify:\"justify\"},h={none:\"none\",right:\"right\",left:\"left\"},u={none:\"none\",both:\"both\"},n={normal:1},t.fromHTML=function(t,e,n,r,i,o){return this.margins_doc=o||{top:0,bottom:0},r||(r={}),r.elementHandlers||(r.elementHandlers={}),m(this,t,isNaN(e)?4:e,isNaN(n)?4:n,r,i)}}(lt.API),lt.API,(\"undefined\"!=typeof window&&window||\"undefined\"!=typeof global&&global).html2pdf=function(t,a,e){var n=a.canvas;if(n){var r,i;if((n.pdf=a).annotations={_nameMap:[],createAnnotation:function(t,e){var n,r=a.context2d._wrapX(e.left),i=a.context2d._wrapY(e.top),o=(a.context2d._page(e.top),t.indexOf(\"#\"));n=0<=o?{name:t.substring(o+1)}:{url:t},a.link(r,i,e.right-e.left,e.bottom-e.top,n)},setName:function(t,e){var n=a.context2d._wrapX(e.left),r=a.context2d._wrapY(e.top),i=a.context2d._page(e.top);this._nameMap[t]={page:i,x:n,y:r}}},n.annotations=a.annotations,a.context2d._pageBreakAt=function(t){this.pageBreaks.push(t)},a.context2d._gotoPage=function(t){for(;a.internal.getNumberOfPages()<t;)a.addPage();a.setPage(t)},\"string\"==typeof t){t=t.replace(/<script\\b[^<]*(?:(?!<\\/script>)<[^<]*)*<\\/script>/gi,\"\");var o,s,l=document.createElement(\"iframe\");document.body.appendChild(l),null!=(o=l.contentDocument)&&null!=o||(o=l.contentWindow.document),o.open(),o.write(t),o.close(),r=o.body,s=o.body||{},t=o.documentElement||{},i=Math.max(s.scrollHeight,s.offsetHeight,t.clientHeight,t.scrollHeight,t.offsetHeight)}else s=(r=t).body||{},i=Math.max(s.scrollHeight,s.offsetHeight,t.clientHeight,t.scrollHeight,t.offsetHeight);var h={async:!0,allowTaint:!0,backgroundColor:\"#ffffff\",canvas:n,imageTimeout:15e3,logging:!0,proxy:null,removeContainer:!0,foreignObjectRendering:!1,useCORS:!1,windowHeight:i=a.internal.pageSize.getHeight(),scrollY:i};a.context2d.pageWrapYEnabled=!0,a.context2d.pageWrapY=a.internal.pageSize.getHeight(),html2canvas(r,h).then(function(t){e&&(l&&l.parentElement.removeChild(l),e(a))})}else alert(\"jsPDF canvas plugin not installed\")},window.tmp=html2pdf,function(f){var r=f.BlobBuilder||f.WebKitBlobBuilder||f.MSBlobBuilder||f.MozBlobBuilder;f.URL=f.URL||f.webkitURL||function(t,e){return(e=document.createElement(\"a\")).href=t,e};var n=f.Blob,p=URL.createObjectURL,d=URL.revokeObjectURL,o=f.Symbol&&f.Symbol.toStringTag,t=!1,e=!1,g=!!f.ArrayBuffer,i=r&&r.prototype.append&&r.prototype.getBlob;try{t=2===new Blob([\"ä\"]).size,e=2===new Blob([new Uint8Array([1,2])]).size}catch(t){}function a(t){return t.map(function(t){if(t.buffer instanceof ArrayBuffer){var e=t.buffer;if(t.byteLength!==e.byteLength){var n=new Uint8Array(t.byteLength);n.set(new Uint8Array(e,t.byteOffset,t.byteLength)),e=n.buffer}return e}return t})}function s(t,e){e=e||{};var n=new r;return a(t).forEach(function(t){n.append(t)}),e.type?n.getBlob(e.type):n.getBlob()}function l(t,e){return new n(a(t),e||{})}if(f.Blob&&(s.prototype=Blob.prototype,l.prototype=Blob.prototype),o)try{File.prototype[o]=\"File\",Blob.prototype[o]=\"Blob\",FileReader.prototype[o]=\"FileReader\"}catch(t){}function h(){var t=!!f.ActiveXObject||\"-ms-scroll-limit\"in document.documentElement.style&&\"-ms-ime-align\"in document.documentElement.style,e=f.XMLHttpRequest&&f.XMLHttpRequest.prototype.send;t&&e&&(XMLHttpRequest.prototype.send=function(t){t instanceof Blob&&this.setRequestHeader(\"Content-Type\",t.type),e.call(this,t)});try{new File([],\"\")}catch(t){try{var n=new Function('class File extends Blob {constructor(chunks, name, opts) {opts = opts || {};super(chunks, opts || {});this.name = name;this.lastModifiedDate = opts.lastModified ? new Date(opts.lastModified) : new Date;this.lastModified = +this.lastModifiedDate;}};return new File([], \"\"), File')();f.File=n}catch(t){n=function(t,e,n){var r=new Blob(t,n),i=n&&void 0!==n.lastModified?new Date(n.lastModified):new Date;return r.name=e,r.lastModifiedDate=i,r.lastModified=+i,r.toString=function(){return\"[object File]\"},o&&(r[o]=\"File\"),r};f.File=n}}}t?(h(),f.Blob=e?f.Blob:l):i?(h(),f.Blob=s):function(){function a(t){for(var e=[],n=0;n<t.length;n++){var r=t.charCodeAt(n);r<128?e.push(r):r<2048?e.push(192|r>>6,128|63&r):r<55296||57344<=r?e.push(224|r>>12,128|r>>6&63,128|63&r):(n++,r=65536+((1023&r)<<10|1023&t.charCodeAt(n)),e.push(240|r>>18,128|r>>12&63,128|r>>6&63,128|63&r))}return e}function e(t){var e,n,r,i,o,a;for(e=\"\",r=t.length,n=0;n<r;)switch((i=t[n++])>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:e+=String.fromCharCode(i);break;case 12:case 13:o=t[n++],e+=String.fromCharCode((31&i)<<6|63&o);break;case 14:o=t[n++],a=t[n++],e+=String.fromCharCode((15&i)<<12|(63&o)<<6|(63&a)<<0)}return e}function s(t){for(var e=new Array(t.byteLength),n=new Uint8Array(t),r=e.length;r--;)e[r]=n[r];return e}function n(t){for(var e=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\",n=[],r=0;r<t.length;r+=3){var i=t[r],o=r+1<t.length,a=o?t[r+1]:0,s=r+2<t.length,l=s?t[r+2]:0,h=i>>2,u=(3&i)<<4|a>>4,c=(15&a)<<2|l>>6,f=63&l;s||(f=64,o||(c=64)),n.push(e[h],e[u],e[c],e[f])}return n.join(\"\")}var t=Object.create||function(t){function e(){}return e.prototype=t,new e};if(g)var r=[\"[object Int8Array]\",\"[object Uint8Array]\",\"[object Uint8ClampedArray]\",\"[object Int16Array]\",\"[object Uint16Array]\",\"[object Int32Array]\",\"[object Uint32Array]\",\"[object Float32Array]\",\"[object Float64Array]\"],l=ArrayBuffer.isView||function(t){return t&&-1<r.indexOf(Object.prototype.toString.call(t))};function h(t,e){for(var n=0,r=(t=t||[]).length;n<r;n++){var i=t[n];i instanceof h?t[n]=i._buffer:\"string\"==typeof i?t[n]=a(i):g&&(ArrayBuffer.prototype.isPrototypeOf(i)||l(i))?t[n]=s(i):g&&(o=i)&&DataView.prototype.isPrototypeOf(o)?t[n]=s(i.buffer):t[n]=a(String(i))}var o;this._buffer=[].concat.apply([],t),this.size=this._buffer.length,this.type=e&&e.type||\"\"}function i(t,e,n){var r=h.call(this,t,n=n||{})||this;return r.name=e,r.lastModifiedDate=n.lastModified?new Date(n.lastModified):new Date,r.lastModified=+r.lastModifiedDate,r}if(h.prototype.slice=function(t,e,n){return new h([this._buffer.slice(t||0,e||this._buffer.length)],{type:n})},h.prototype.toString=function(){return\"[object Blob]\"},(i.prototype=t(h.prototype)).constructor=i,Object.setPrototypeOf)Object.setPrototypeOf(i,h);else try{i.__proto__=h}catch(t){}function o(){if(!(this instanceof o))throw new TypeError(\"Failed to construct 'FileReader': Please use the 'new' operator, this DOM object constructor cannot be called as a function.\");var n=document.createDocumentFragment();this.addEventListener=n.addEventListener,this.dispatchEvent=function(t){var e=this[\"on\"+t.type];\"function\"==typeof e&&e(t),n.dispatchEvent(t)},this.removeEventListener=n.removeEventListener}function u(t,e,n){if(!(e instanceof h))throw new TypeError(\"Failed to execute '\"+n+\"' on 'FileReader': parameter 1 is not of type 'Blob'.\");t.result=\"\",setTimeout(function(){this.readyState=o.LOADING,t.dispatchEvent(new Event(\"load\")),t.dispatchEvent(new Event(\"loadend\"))})}i.prototype.toString=function(){return\"[object File]\"},o.EMPTY=0,o.LOADING=1,o.DONE=2,o.prototype.error=null,o.prototype.onabort=null,o.prototype.onerror=null,o.prototype.onload=null,o.prototype.onloadend=null,o.prototype.onloadstart=null,o.prototype.onprogress=null,o.prototype.readAsDataURL=function(t){u(this,t,\"readAsDataURL\"),this.result=\"data:\"+t.type+\";base64,\"+n(t._buffer)},o.prototype.readAsText=function(t){u(this,t,\"readAsText\"),this.result=e(t._buffer)},o.prototype.readAsArrayBuffer=function(t){u(this,t,\"readAsText\"),this.result=t._buffer.slice()},o.prototype.abort=function(){},URL.createObjectURL=function(t){return t instanceof h?\"data:\"+t.type+\";base64,\"+n(t._buffer):p.call(URL,t)},URL.revokeObjectURL=function(t){d&&d.call(URL,t)};var c=f.XMLHttpRequest&&f.XMLHttpRequest.prototype.send;c&&(XMLHttpRequest.prototype.send=function(t){t instanceof h?(this.setRequestHeader(\"Content-Type\",t.type),c.call(this,e(t._buffer))):c.call(this,t)}),f.FileReader=o,f.File=i,f.Blob=h}()}(\"undefined\"!=typeof self&&self||\"undefined\"!=typeof window&&window||\"undefined\"!=typeof global&&global||Function('return typeof this === \"object\" && this.content')()||Function(\"return this\")());var ht,ut,ct,ft,pt,dt,gt,mt,yt,vt,wt,bt,xt,Nt,Lt,le=le||function(s){if(!(void 0===s||\"undefined\"!=typeof navigator&&/MSIE [1-9]\\./.test(navigator.userAgent))){var t=s.document,l=function(){return s.URL||s.webkitURL||s},h=t.createElementNS(\"http://www.w3.org/1999/xhtml\",\"a\"),u=\"download\"in h,c=/constructor/i.test(s.HTMLElement)||s.safari,f=/CriOS\\/[\\d]+/.test(navigator.userAgent),p=s.setImmediate||s.setTimeout,d=function(t){p(function(){throw t},0)},g=function(t){setTimeout(function(){\"string\"==typeof t?l().revokeObjectURL(t):t.remove()},4e4)},m=function(t){return/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(t.type)?new Blob([String.fromCharCode(65279),t],{type:t.type}):t},r=function(t,n,e){e||(t=m(t));var r,i=this,o=\"application/octet-stream\"===t.type,a=function(){!function(t,e,n){for(var r=(e=[].concat(e)).length;r--;){var i=t[\"on\"+e[r]];if(\"function\"==typeof i)try{i.call(t,n||t)}catch(t){d(t)}}}(i,\"writestart progress write writeend\".split(\" \"))};if(i.readyState=i.INIT,u)return r=l().createObjectURL(t),void p(function(){var t,e;h.href=r,h.download=n,t=h,e=new MouseEvent(\"click\"),t.dispatchEvent(e),a(),g(r),i.readyState=i.DONE},0);!function(){if((f||o&&c)&&s.FileReader){var e=new FileReader;return e.onloadend=function(){var t=f?e.result:e.result.replace(/^data:[^;]*;/,\"data:attachment/file;\");s.open(t,\"_blank\")||(s.location.href=t),t=void 0,i.readyState=i.DONE,a()},e.readAsDataURL(t),i.readyState=i.INIT}r||(r=l().createObjectURL(t)),o?s.location.href=r:s.open(r,\"_blank\")||(s.location.href=r);i.readyState=i.DONE,a(),g(r)}()},e=r.prototype;return\"undefined\"!=typeof navigator&&navigator.msSaveOrOpenBlob?function(t,e,n){return e=e||t.name||\"download\",n||(t=m(t)),navigator.msSaveOrOpenBlob(t,e)}:(e.abort=function(){},e.readyState=e.INIT=0,e.WRITING=1,e.DONE=2,e.error=e.onwritestart=e.onprogress=e.onwrite=e.onabort=e.onerror=e.onwriteend=null,function(t,e,n){return new r(t,e||t.name||\"download\",n)})}}(\"undefined\"!=typeof self&&self||\"undefined\"!=typeof window&&window||void 0);function At(x){var t=0;if(71!==x[t++]||73!==x[t++]||70!==x[t++]||56!==x[t++]||56!=(x[t++]+1&253)||97!==x[t++])throw\"Invalid GIF 87a/89a header.\";var N=x[t++]|x[t++]<<8,e=x[t++]|x[t++]<<8,n=x[t++],r=n>>7,i=1<<(7&n)+1;x[t++];x[t++];var o=null;r&&(o=t,t+=3*i);var a=!0,s=[],l=0,h=null,u=0,c=null;for(this.width=N,this.height=e;a&&t<x.length;)switch(x[t++]){case 33:switch(x[t++]){case 255:if(11!==x[t]||78==x[t+1]&&69==x[t+2]&&84==x[t+3]&&83==x[t+4]&&67==x[t+5]&&65==x[t+6]&&80==x[t+7]&&69==x[t+8]&&50==x[t+9]&&46==x[t+10]&&48==x[t+11]&&3==x[t+12]&&1==x[t+13]&&0==x[t+16])t+=14,c=x[t++]|x[t++]<<8,t++;else for(t+=12;;){if(0===(A=x[t++]))break;t+=A}break;case 249:if(4!==x[t++]||0!==x[t+4])throw\"Invalid graphics extension block.\";var f=x[t++];l=x[t++]|x[t++]<<8,h=x[t++],0==(1&f)&&(h=null),u=f>>2&7,t++;break;case 254:for(;;){if(0===(A=x[t++]))break;t+=A}break;default:throw\"Unknown graphic control label: 0x\"+x[t-1].toString(16)}break;case 44:var p=x[t++]|x[t++]<<8,d=x[t++]|x[t++]<<8,g=x[t++]|x[t++]<<8,m=x[t++]|x[t++]<<8,y=x[t++],v=y>>6&1,w=o,b=!1;if(y>>7){b=!0;w=t,t+=3*(1<<(7&y)+1)}var L=t;for(t++;;){var A;if(0===(A=x[t++]))break;t+=A}s.push({x:p,y:d,width:g,height:m,has_local_palette:b,palette_offset:w,data_offset:L,data_length:t-L,transparent_index:h,interlaced:!!v,delay:l,disposal:u});break;case 59:a=!1;break;default:throw\"Unknown gif block: 0x\"+x[t-1].toString(16)}this.numFrames=function(){return s.length},this.loopCount=function(){return c},this.frameInfo=function(t){if(t<0||t>=s.length)throw\"Frame index out of range.\";return s[t]},this.decodeAndBlitFrameBGRA=function(t,e){var n=this.frameInfo(t),r=n.width*n.height,i=new Uint8Array(r);St(x,n.data_offset,i,r);var o=n.palette_offset,a=n.transparent_index;null===a&&(a=256);var s=n.width,l=N-s,h=s,u=4*(n.y*N+n.x),c=4*((n.y+n.height)*N+n.x),f=u,p=4*l;!0===n.interlaced&&(p+=4*(s+l)*7);for(var d=8,g=0,m=i.length;g<m;++g){var y=i[g];if(0===h&&(h=s,c<=(f+=p)&&(p=l+4*(s+l)*(d-1),f=u+(s+l)*(d<<1),d>>=1)),y===a)f+=4;else{var v=x[o+3*y],w=x[o+3*y+1],b=x[o+3*y+2];e[f++]=b,e[f++]=w,e[f++]=v,e[f++]=255}--h}},this.decodeAndBlitFrameRGBA=function(t,e){var n=this.frameInfo(t),r=n.width*n.height,i=new Uint8Array(r);St(x,n.data_offset,i,r);var o=n.palette_offset,a=n.transparent_index;null===a&&(a=256);var s=n.width,l=N-s,h=s,u=4*(n.y*N+n.x),c=4*((n.y+n.height)*N+n.x),f=u,p=4*l;!0===n.interlaced&&(p+=4*(s+l)*7);for(var d=8,g=0,m=i.length;g<m;++g){var y=i[g];if(0===h&&(h=s,c<=(f+=p)&&(p=l+4*(s+l)*(d-1),f=u+(s+l)*(d<<1),d>>=1)),y===a)f+=4;else{var v=x[o+3*y],w=x[o+3*y+1],b=x[o+3*y+2];e[f++]=v,e[f++]=w,e[f++]=b,e[f++]=255}--h}}}function St(t,e,n,r){for(var i=t[e++],o=1<<i,a=o+1,s=a+1,l=i+1,h=(1<<l)-1,u=0,c=0,f=0,p=t[e++],d=new Int32Array(4096),g=null;;){for(;u<16&&0!==p;)c|=t[e++]<<u,u+=8,1===p?p=t[e++]:--p;if(u<l)break;var m=c&h;if(c>>=l,u-=l,m!==o){if(m===a)break;for(var y=m<s?m:g,v=0,w=y;o<w;)w=d[w]>>8,++v;var b=w;if(r<f+v+(y!==m?1:0))return void console.log(\"Warning, gif stream longer than expected.\");n[f++]=b;var x=f+=v;for(y!==m&&(n[f++]=b),w=y;v--;)w=d[w],n[--x]=255&w,w>>=8;null!==g&&s<4096&&(d[s++]=g<<8|b,h+1<=s&&l<12&&(++l,h=h<<1|1)),g=m}else s=a+1,h=(1<<(l=i+1))-1,g=null}return f!==r&&console.log(\"Warning, gif stream shorter than expected.\"),n}try{exports.GifWriter=function(y,t,e,n){var v=0,r=void 0===(n=void 0===n?{}:n).loop?null:n.loop,w=void 0===n.palette?null:n.palette;if(t<=0||e<=0||65535<t||65535<e)throw\"Width/Height invalid.\";function b(t){var e=t.length;if(e<2||256<e||e&e-1)throw\"Invalid code/color length, must be power of 2 and 2 .. 256.\";return e}y[v++]=71,y[v++]=73,y[v++]=70,y[v++]=56,y[v++]=57,y[v++]=97;var i=0,o=0;if(null!==w){for(var a=b(w);a>>=1;)++i;if(a=1<<i,--i,void 0!==n.background){if(a<=(o=n.background))throw\"Background index out of range.\";if(0===o)throw\"Background index explicitly passed as 0.\"}}if(y[v++]=255&t,y[v++]=t>>8&255,y[v++]=255&e,y[v++]=e>>8&255,y[v++]=(null!==w?128:0)|i,y[v++]=o,y[v++]=0,null!==w)for(var s=0,l=w.length;s<l;++s){var h=w[s];y[v++]=h>>16&255,y[v++]=h>>8&255,y[v++]=255&h}if(null!==r){if(r<0||65535<r)throw\"Loop count invalid.\";y[v++]=33,y[v++]=255,y[v++]=11,y[v++]=78,y[v++]=69,y[v++]=84,y[v++]=83,y[v++]=67,y[v++]=65,y[v++]=80,y[v++]=69,y[v++]=50,y[v++]=46,y[v++]=48,y[v++]=3,y[v++]=1,y[v++]=255&r,y[v++]=r>>8&255,y[v++]=0}var x=!1;this.addFrame=function(t,e,n,r,i,o){if(!0===x&&(--v,x=!1),o=void 0===o?{}:o,t<0||e<0||65535<t||65535<e)throw\"x/y invalid.\";if(n<=0||r<=0||65535<n||65535<r)throw\"Width/Height invalid.\";if(i.length<n*r)throw\"Not enough pixels for the frame size.\";var a=!0,s=o.palette;if(null==s&&(a=!1,s=w),null==s)throw\"Must supply either a local or global palette.\";for(var l=b(s),h=0;l>>=1;)++h;l=1<<h;var u=void 0===o.delay?0:o.delay,c=void 0===o.disposal?0:o.disposal;if(c<0||3<c)throw\"Disposal out of range.\";var f=!1,p=0;if(void 0!==o.transparent&&null!==o.transparent&&(f=!0,(p=o.transparent)<0||l<=p))throw\"Transparent color index.\";if((0!==c||f||0!==u)&&(y[v++]=33,y[v++]=249,y[v++]=4,y[v++]=c<<2|(!0===f?1:0),y[v++]=255&u,y[v++]=u>>8&255,y[v++]=p,y[v++]=0),y[v++]=44,y[v++]=255&t,y[v++]=t>>8&255,y[v++]=255&e,y[v++]=e>>8&255,y[v++]=255&n,y[v++]=n>>8&255,y[v++]=255&r,y[v++]=r>>8&255,y[v++]=!0===a?128|h-1:0,!0===a)for(var d=0,g=s.length;d<g;++d){var m=s[d];y[v++]=m>>16&255,y[v++]=m>>8&255,y[v++]=255&m}v=function(e,n,t,r){e[n++]=t;var i=n++,o=1<<t,a=o-1,s=o+1,l=s+1,h=t+1,u=0,c=0;function f(t){for(;t<=u;)e[n++]=255&c,c>>=8,u-=8,n===i+256&&(e[i]=255,i=n++)}function p(t){c|=t<<u,u+=h,f(8)}var d=r[0]&a,g={};p(o);for(var m=1,y=r.length;m<y;++m){var v=r[m]&a,w=d<<8|v,b=g[w];if(void 0===b){for(c|=d<<u,u+=h;8<=u;)e[n++]=255&c,c>>=8,u-=8,n===i+256&&(e[i]=255,i=n++);4096===l?(p(o),l=s+1,h=t+1,g={}):(1<<h<=l&&++h,g[w]=l++),d=v}else d=b}return p(d),p(s),f(1),i+1===n?e[i]=0:(e[i]=n-i-1,e[n++]=0),n}(y,v,h<2?2:h,i)},this.end=function(){return!1===x&&(y[v++]=59,x=!0),v}},exports.GifReader=At}catch(t){}\n/*\n    Copyright (c) 2008, Adobe Systems Incorporated\n    All rights reserved.\n\n    Redistribution and use in source and binary forms, with or without \n    modification, are permitted provided that the following conditions are\n    met:\n\n    * Redistributions of source code must retain the above copyright notice, \n      this list of conditions and the following disclaimer.\n    \n    * Redistributions in binary form must reproduce the above copyright\n      notice, this list of conditions and the following disclaimer in the \n      documentation and/or other materials provided with the distribution.\n    \n    * Neither the name of Adobe Systems Incorporated nor the names of its \n      contributors may be used to endorse or promote products derived from \n      this software without specific prior written permission.\n\n    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS\n    IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\n    THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n    PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR \n    CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n    EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n    PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n    PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n    LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n    NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n    SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n  */\nfunction _t(t){var N,L,A,S,e,c=Math.floor,_=new Array(64),F=new Array(64),P=new Array(64),k=new Array(64),y=new Array(65535),v=new Array(65535),Z=new Array(64),w=new Array(64),I=[],C=0,B=7,j=new Array(64),E=new Array(64),M=new Array(64),n=new Array(256),O=new Array(2048),b=[0,1,5,6,14,15,27,28,2,4,7,13,16,26,29,42,3,8,12,17,25,30,41,43,9,11,18,24,31,40,44,53,10,19,23,32,39,45,52,54,20,22,33,38,46,51,55,60,21,34,37,47,50,56,59,61,35,36,48,49,57,58,62,63],q=[0,0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0],T=[0,1,2,3,4,5,6,7,8,9,10,11],R=[0,0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,125],D=[1,2,3,0,4,17,5,18,33,49,65,6,19,81,97,7,34,113,20,50,129,145,161,8,35,66,177,193,21,82,209,240,36,51,98,114,130,9,10,22,23,24,25,26,37,38,39,40,41,42,52,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,225,226,227,228,229,230,231,232,233,234,241,242,243,244,245,246,247,248,249,250],U=[0,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0],z=[0,1,2,3,4,5,6,7,8,9,10,11],H=[0,0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,119],W=[0,1,2,3,17,4,5,33,49,6,18,65,81,7,97,113,19,34,50,129,8,20,66,145,161,177,193,9,35,51,82,240,21,98,114,209,10,22,36,52,225,37,241,23,24,25,26,38,39,40,41,42,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,130,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,226,227,228,229,230,231,232,233,234,242,243,244,245,246,247,248,249,250];function r(t,e){for(var n=0,r=0,i=new Array,o=1;o<=16;o++){for(var a=1;a<=t[o];a++)i[e[r]]=[],i[e[r]][0]=n,i[e[r]][1]=o,r++,n++;n*=2}return i}function V(t){for(var e=t[0],n=t[1]-1;0<=n;)e&1<<n&&(C|=1<<B),n--,--B<0&&(255==C?(G(255),G(0)):G(C),B=7,C=0)}function G(t){I.push(t)}function Y(t){G(t>>8&255),G(255&t)}function J(t,e,n,r,i){for(var o,a=i[0],s=i[240],l=function(t,e){var n,r,i,o,a,s,l,h,u,c,f=0;for(u=0;u<8;++u){n=t[f],r=t[f+1],i=t[f+2],o=t[f+3],a=t[f+4],s=t[f+5],l=t[f+6];var p=n+(h=t[f+7]),d=n-h,g=r+l,m=r-l,y=i+s,v=i-s,w=o+a,b=o-a,x=p+w,N=p-w,L=g+y,A=g-y;t[f]=x+L,t[f+4]=x-L;var S=.707106781*(A+N);t[f+2]=N+S,t[f+6]=N-S;var _=.382683433*((x=b+v)-(A=m+d)),F=.5411961*x+_,P=1.306562965*A+_,k=.707106781*(L=v+m),I=d+k,C=d-k;t[f+5]=C+F,t[f+3]=C-F,t[f+1]=I+P,t[f+7]=I-P,f+=8}for(u=f=0;u<8;++u){n=t[f],r=t[f+8],i=t[f+16],o=t[f+24],a=t[f+32],s=t[f+40],l=t[f+48];var B=n+(h=t[f+56]),j=n-h,E=r+l,M=r-l,O=i+s,q=i-s,T=o+a,R=o-a,D=B+T,U=B-T,z=E+O,H=E-O;t[f]=D+z,t[f+32]=D-z;var W=.707106781*(H+U);t[f+16]=U+W,t[f+48]=U-W;var V=.382683433*((D=R+q)-(H=M+j)),G=.5411961*D+V,Y=1.306562965*H+V,J=.707106781*(z=q+M),X=j+J,K=j-J;t[f+40]=K+G,t[f+24]=K-G,t[f+8]=X+Y,t[f+56]=X-Y,f++}for(u=0;u<64;++u)c=t[u]*e[u],Z[u]=0<c?c+.5|0:c-.5|0;return Z}(t,e),h=0;h<64;++h)w[b[h]]=l[h];var u=w[0]-n;n=w[0],0==u?V(r[0]):(V(r[v[o=32767+u]]),V(y[o]));for(var c=63;0<c&&0==w[c];c--);if(0==c)return V(a),n;for(var f,p=1;p<=c;){for(var d=p;0==w[p]&&p<=c;++p);var g=p-d;if(16<=g){f=g>>4;for(var m=1;m<=f;++m)V(s);g&=15}o=32767+w[p],V(i[(g<<4)+v[o]]),V(y[o]),p++}return 63!=c&&V(a),n}function X(t){if(t<=0&&(t=1),100<t&&(t=100),e!=t){(function(t){for(var e=[16,11,10,16,24,40,51,61,12,12,14,19,26,58,60,55,14,13,16,24,40,57,69,56,14,17,22,29,51,87,80,62,18,22,37,56,68,109,103,77,24,35,55,64,81,104,113,92,49,64,78,87,103,121,120,101,72,92,95,98,112,100,103,99],n=0;n<64;n++){var r=c((e[n]*t+50)/100);r<1?r=1:255<r&&(r=255),_[b[n]]=r}for(var i=[17,18,24,47,99,99,99,99,18,21,26,66,99,99,99,99,24,26,56,99,99,99,99,99,47,66,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99],o=0;o<64;o++){var a=c((i[o]*t+50)/100);a<1?a=1:255<a&&(a=255),F[b[o]]=a}for(var s=[1,1.387039845,1.306562965,1.175875602,1,.785694958,.5411961,.275899379],l=0,h=0;h<8;h++)for(var u=0;u<8;u++)P[l]=1/(_[b[l]]*s[h]*s[u]*8),k[l]=1/(F[b[l]]*s[h]*s[u]*8),l++})(t<50?Math.floor(5e3/t):Math.floor(200-2*t)),e=t}}this.encode=function(t,e){var n,r;(new Date).getTime();e&&X(e),I=new Array,C=0,B=7,Y(65496),Y(65504),Y(16),G(74),G(70),G(73),G(70),G(0),G(1),G(1),G(0),Y(1),Y(1),G(0),G(0),function(){Y(65499),Y(132),G(0);for(var t=0;t<64;t++)G(_[t]);G(1);for(var e=0;e<64;e++)G(F[e])}(),n=t.width,r=t.height,Y(65472),Y(17),G(8),Y(r),Y(n),G(3),G(1),G(17),G(0),G(2),G(17),G(1),G(3),G(17),G(1),function(){Y(65476),Y(418),G(0);for(var t=0;t<16;t++)G(q[t+1]);for(var e=0;e<=11;e++)G(T[e]);G(16);for(var n=0;n<16;n++)G(R[n+1]);for(var r=0;r<=161;r++)G(D[r]);G(1);for(var i=0;i<16;i++)G(U[i+1]);for(var o=0;o<=11;o++)G(z[o]);G(17);for(var a=0;a<16;a++)G(H[a+1]);for(var s=0;s<=161;s++)G(W[s])}(),Y(65498),Y(12),G(3),G(1),G(0),G(2),G(17),G(3),G(17),G(0),G(63),G(0);var i=0,o=0,a=0;C=0,B=7,this.encode.displayName=\"_encode_\";for(var s,l,h,u,c,f,p,d,g,m=t.data,y=t.width,v=t.height,w=4*y,b=0;b<v;){for(s=0;s<w;){for(f=c=w*b+s,p=-1,g=d=0;g<64;g++)f=c+(d=g>>3)*w+(p=4*(7&g)),v<=b+d&&(f-=w*(b+1+d-v)),w<=s+p&&(f-=s+p-w+4),l=m[f++],h=m[f++],u=m[f++],j[g]=(O[l]+O[h+256>>0]+O[u+512>>0]>>16)-128,E[g]=(O[l+768>>0]+O[h+1024>>0]+O[u+1280>>0]>>16)-128,M[g]=(O[l+1280>>0]+O[h+1536>>0]+O[u+1792>>0]>>16)-128;i=J(j,P,i,N,A),o=J(E,k,o,L,S),a=J(M,k,a,L,S),s+=32}b+=8}if(0<=B){var x=[];x[1]=B+1,x[0]=(1<<B+1)-1,V(x)}return Y(65497),new Uint8Array(I)},function(){(new Date).getTime();t||(t=50),function(){for(var t=String.fromCharCode,e=0;e<256;e++)n[e]=t(e)}(),N=r(q,T),L=r(U,z),A=r(R,D),S=r(H,W),function(){for(var t=1,e=2,n=1;n<=15;n++){for(var r=t;r<e;r++)v[32767+r]=n,y[32767+r]=[],y[32767+r][1]=n,y[32767+r][0]=r;for(var i=-(e-1);i<=-t;i++)v[32767+i]=n,y[32767+i]=[],y[32767+i][1]=n,y[32767+i][0]=e-1+i;t<<=1,e<<=1}}(),function(){for(var t=0;t<256;t++)O[t]=19595*t,O[t+256>>0]=38470*t,O[t+512>>0]=7471*t+32768,O[t+768>>0]=-11059*t,O[t+1024>>0]=-21709*t,O[t+1280>>0]=32768*t+8421375,O[t+1536>>0]=-27439*t,O[t+1792>>0]=-5329*t}(),X(t),(new Date).getTime()}()}function Ft(t,e){if(this.pos=0,this.buffer=t,this.datav=new DataView(t.buffer),this.is_with_alpha=!!e,this.bottom_up=!0,this.flag=String.fromCharCode(this.buffer[0])+String.fromCharCode(this.buffer[1]),this.pos+=2,-1===[\"BM\",\"BA\",\"CI\",\"CP\",\"IC\",\"PT\"].indexOf(this.flag))throw new Error(\"Invalid BMP File\");this.parseHeader(),this.parseBGR()}window.tmp=At,lt.API.adler32cs=(dt=\"function\"==typeof ArrayBuffer&&\"function\"==typeof Uint8Array,gt=null,mt=function(){if(!dt)return function(){return!1};try{var t={};\"function\"==typeof t.Buffer&&(gt=t.Buffer)}catch(t){}return function(t){return t instanceof ArrayBuffer||null!==gt&&t instanceof gt}}(),yt=null!==gt?function(t){return new gt(t,\"utf8\").toString(\"binary\")}:function(t){return unescape(encodeURIComponent(t))},vt=function(t,e){for(var n=65535&t,r=t>>>16,i=0,o=e.length;i<o;i++)n=(n+(255&e.charCodeAt(i)))%65521,r=(r+n)%65521;return(r<<16|n)>>>0},wt=function(t,e){for(var n=65535&t,r=t>>>16,i=0,o=e.length;i<o;i++)n=(n+e[i])%65521,r=(r+n)%65521;return(r<<16|n)>>>0},xt=(bt={}).Adler32=(((pt=(ft=function(t){if(!(this instanceof ft))throw new TypeError(\"Constructor cannot called be as a function.\");if(!isFinite(t=null==t?1:+t))throw new Error(\"First arguments needs to be a finite number.\");this.checksum=t>>>0}).prototype={}).constructor=ft).from=((ht=function(t){if(!(this instanceof ft))throw new TypeError(\"Constructor cannot called be as a function.\");if(null==t)throw new Error(\"First argument needs to be a string.\");this.checksum=vt(1,t.toString())}).prototype=pt,ht),ft.fromUtf8=((ut=function(t){if(!(this instanceof ft))throw new TypeError(\"Constructor cannot called be as a function.\");if(null==t)throw new Error(\"First argument needs to be a string.\");var e=yt(t.toString());this.checksum=vt(1,e)}).prototype=pt,ut),dt&&(ft.fromBuffer=((ct=function(t){if(!(this instanceof ft))throw new TypeError(\"Constructor cannot called be as a function.\");if(!mt(t))throw new Error(\"First argument needs to be ArrayBuffer.\");var e=new Uint8Array(t);return this.checksum=wt(1,e)}).prototype=pt,ct)),pt.update=function(t){if(null==t)throw new Error(\"First argument needs to be a string.\");return t=t.toString(),this.checksum=vt(this.checksum,t)},pt.updateUtf8=function(t){if(null==t)throw new Error(\"First argument needs to be a string.\");var e=yt(t.toString());return this.checksum=vt(this.checksum,e)},dt&&(pt.updateBuffer=function(t){if(!mt(t))throw new Error(\"First argument needs to be ArrayBuffer.\");var e=new Uint8Array(t);return this.checksum=wt(this.checksum,e)}),pt.clone=function(){return new xt(this.checksum)},ft),bt.from=function(t){if(null==t)throw new Error(\"First argument needs to be a string.\");return vt(1,t.toString())},bt.fromUtf8=function(t){if(null==t)throw new Error(\"First argument needs to be a string.\");var e=yt(t.toString());return vt(1,e)},dt&&(bt.fromBuffer=function(t){if(!mt(t))throw new Error(\"First argument need to be ArrayBuffer.\");var e=new Uint8Array(t);return wt(1,e)}),bt),function(t){t.__bidiEngine__=t.prototype.__bidiEngine__=function(t){var d,g,c,f,i,o,a,s=e,m=[[0,3,0,1,0,0,0],[0,3,0,1,2,2,0],[0,3,0,17,2,0,1],[0,3,5,5,4,1,0],[0,3,21,21,4,0,1],[0,3,5,5,4,2,0]],y=[[2,0,1,1,0,1,0],[2,0,1,1,0,2,0],[2,0,2,1,3,2,0],[2,0,2,33,3,1,1]],v={L:0,R:1,EN:2,AN:3,N:4,B:5,S:6},l={0:0,5:1,6:2,7:3,32:4,251:5,254:6,255:7},h=[\"(\",\")\",\"(\",\"<\",\">\",\"<\",\"[\",\"]\",\"[\",\"{\",\"}\",\"{\",\"«\",\"»\",\"«\",\"‹\",\"›\",\"‹\",\"⁅\",\"⁆\",\"⁅\",\"⁽\",\"⁾\",\"⁽\",\"₍\",\"₎\",\"₍\",\"≤\",\"≥\",\"≤\",\"〈\",\"〉\",\"〈\",\"﹙\",\"﹚\",\"﹙\",\"﹛\",\"﹜\",\"﹛\",\"﹝\",\"﹞\",\"﹝\",\"﹤\",\"﹥\",\"﹤\"],u=new RegExp(/^([1-4|9]|1[0-9]|2[0-9]|3[0168]|4[04589]|5[012]|7[78]|159|16[0-9]|17[0-2]|21[569]|22[03489]|250)$/),w=!1,b=0;this.__bidiEngine__={};var x=function(t){var e=t.charCodeAt(),n=e>>8,r=l[n];return void 0!==r?s[256*r+(255&e)]:252===n||253===n?\"AL\":u.test(n)?\"L\":8===n?\"R\":\"N\"},p=function(t){for(var e,n=0;n<t.length;n++){if(\"L\"===(e=x(t.charAt(n))))return!1;if(\"R\"===e)return!0}return!1},N=function(t,e,n,r){var i,o,a,s,l=e[r];switch(l){case\"L\":case\"R\":w=!1;break;case\"N\":case\"AN\":break;case\"EN\":w&&(l=\"AN\");break;case\"AL\":w=!0,l=\"R\";break;case\"WS\":l=\"N\";break;case\"CS\":r<1||r+1>=e.length||\"EN\"!==(i=n[r-1])&&\"AN\"!==i||\"EN\"!==(o=e[r+1])&&\"AN\"!==o?l=\"N\":w&&(o=\"AN\"),l=o===i?o:\"N\";break;case\"ES\":l=\"EN\"===(i=0<r?n[r-1]:\"B\")&&r+1<e.length&&\"EN\"===e[r+1]?\"EN\":\"N\";break;case\"ET\":if(0<r&&\"EN\"===n[r-1]){l=\"EN\";break}if(w){l=\"N\";break}for(a=r+1,s=e.length;a<s&&\"ET\"===e[a];)a++;l=a<s&&\"EN\"===e[a]?\"EN\":\"N\";break;case\"NSM\":if(c&&!f){for(s=e.length,a=r+1;a<s&&\"NSM\"===e[a];)a++;if(a<s){var h=t[r],u=1425<=h&&h<=2303||64286===h;if(i=e[a],u&&(\"R\"===i||\"AL\"===i)){l=\"R\";break}}}l=r<1||\"B\"===(i=e[r-1])?\"N\":n[r-1];break;case\"B\":d=!(w=!1),l=b;break;case\"S\":g=!0,l=\"N\";break;case\"LRE\":case\"RLE\":case\"LRO\":case\"RLO\":case\"PDF\":w=!1;break;case\"BN\":l=\"N\"}return l},L=function(t,e,n){var r=t.split(\"\");return n&&A(r,n,{hiLevel:b}),r.reverse(),e&&e.reverse(),r.join(\"\")},A=function(t,e,n){var r,i,o,a,s,l=-1,h=t.length,u=0,c=[],f=b?y:m,p=[];for(g=d=w=!1,i=0;i<h;i++)p[i]=x(t[i]);for(o=0;o<h;o++){if(s=u,c[o]=N(t,p,c,o),r=240&(u=f[s][v[c[o]]]),u&=15,e[o]=a=f[u][5],0<r)if(16===r){for(i=l;i<o;i++)e[i]=1;l=-1}else l=-1;if(f[u][6])-1===l&&(l=o);else if(-1<l){for(i=l;i<o;i++)e[i]=a;l=-1}\"B\"===p[o]&&(e[o]=0),n.hiLevel|=a}g&&function(t,e,n){for(var r=0;r<n;r++)if(\"S\"===t[r]){e[r]=b;for(var i=r-1;0<=i&&\"WS\"===t[i];i--)e[i]=b}}(p,e,h)},S=function(t,e,n,r,i){if(!(i.hiLevel<t)){if(1===t&&1===b&&!d)return e.reverse(),void(n&&n.reverse());for(var o,a,s,l,h=e.length,u=0;u<h;){if(r[u]>=t){for(s=u+1;s<h&&r[s]>=t;)s++;for(l=u,a=s-1;l<a;l++,a--)o=e[l],e[l]=e[a],e[a]=o,n&&(o=n[l],n[l]=n[a],n[a]=o);u=s}u++}}},_=function(t,e,n){var r=t.split(\"\"),i={hiLevel:b};return n||(n=[]),A(r,n,i),function(t,e,n){if(0!==n.hiLevel&&a)for(var r,i=0;i<t.length;i++)1===e[i]&&0<=(r=h.indexOf(t[i]))&&(t[i]=h[r+1])}(r,n,i),S(2,r,e,n,i),S(1,r,e,n,i),r.join(\"\")};return this.__bidiEngine__.doBidiReorder=function(t,e,n){if(function(t,e){if(e)for(var n=0;n<t.length;n++)e[n]=n;void 0===f&&(f=p(t)),void 0===o&&(o=p(t))}(t,e),c||!i||o)if(c&&i&&f^o)b=f?1:0,t=L(t,e,n);else if(!c&&i&&o)b=f?1:0,t=_(t,e,n),t=L(t,e);else if(!c||f||i||o){if(c&&!i&&f^o)t=L(t,e),t=f?(b=0,_(t,e,n)):(b=1,t=_(t,e,n),L(t,e));else if(c&&f&&!i&&o)b=1,t=_(t,e,n),t=L(t,e);else if(!c&&!i&&f^o){var r=a;f?(b=1,t=_(t,e,n),b=0,a=!1,t=_(t,e,n),a=r):(b=0,t=_(t,e,n),t=L(t,e),a=!(b=1),t=_(t,e,n),a=r,t=L(t,e))}}else b=0,t=_(t,e,n);else b=f?1:0,t=_(t,e,n);return t},this.__bidiEngine__.setOptions=function(t){t&&(c=t.isInputVisual,i=t.isOutputVisual,f=t.isInputRtl,o=t.isOutputRtl,a=t.isSymmetricSwapping)},this.__bidiEngine__.setOptions(t),this.__bidiEngine__};var e=[\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"S\",\"B\",\"S\",\"WS\",\"B\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"B\",\"B\",\"B\",\"S\",\"WS\",\"N\",\"N\",\"ET\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"ES\",\"CS\",\"ES\",\"CS\",\"CS\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"CS\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"B\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"CS\",\"N\",\"ET\",\"ET\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"L\",\"N\",\"N\",\"BN\",\"N\",\"N\",\"ET\",\"ET\",\"EN\",\"EN\",\"N\",\"L\",\"N\",\"N\",\"N\",\"EN\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"ET\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"R\",\"NSM\",\"R\",\"NSM\",\"NSM\",\"R\",\"NSM\",\"NSM\",\"R\",\"NSM\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"N\",\"N\",\"N\",\"N\",\"N\",\"R\",\"R\",\"R\",\"R\",\"R\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"N\",\"N\",\"AL\",\"ET\",\"ET\",\"AL\",\"CS\",\"AL\",\"N\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AL\",\"AL\",\"N\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"ET\",\"AN\",\"AN\",\"AL\",\"AL\",\"AL\",\"NSM\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AN\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AL\",\"AL\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"N\",\"AL\",\"AL\",\"NSM\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"N\",\"N\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AL\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"R\",\"R\",\"N\",\"N\",\"N\",\"N\",\"R\",\"N\",\"N\",\"N\",\"N\",\"N\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"BN\",\"BN\",\"BN\",\"L\",\"R\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"WS\",\"B\",\"LRE\",\"RLE\",\"PDF\",\"LRO\",\"RLO\",\"CS\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"CS\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"WS\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"N\",\"LRI\",\"RLI\",\"FSI\",\"PDI\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"EN\",\"L\",\"N\",\"N\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"ES\",\"ES\",\"N\",\"N\",\"N\",\"L\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"ES\",\"ES\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"R\",\"NSM\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"ES\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"N\",\"R\",\"R\",\"R\",\"R\",\"R\",\"N\",\"R\",\"N\",\"R\",\"R\",\"N\",\"R\",\"R\",\"N\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"CS\",\"N\",\"CS\",\"N\",\"N\",\"CS\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"ET\",\"N\",\"N\",\"ES\",\"ES\",\"N\",\"N\",\"N\",\"N\",\"N\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"N\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"N\",\"N\",\"BN\",\"N\",\"N\",\"N\",\"ET\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"ES\",\"CS\",\"ES\",\"CS\",\"CS\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"CS\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\"],o=new t.__bidiEngine__({isInputVisual:!0});t.API.events.push([\"postProcessText\",function(t){var e=t.text,n=(t.x,t.y,t.options||{}),r=(t.mutex,n.lang,[]);if(\"[object Array]\"===Object.prototype.toString.call(e)){var i=0;for(r=[],i=0;i<e.length;i+=1)\"[object Array]\"===Object.prototype.toString.call(e[i])?r.push([o.doBidiReorder(e[i][0]),e[i][1],e[i][2]]):r.push([o.doBidiReorder(e[i])]);t.text=r}else t.text=o.doBidiReorder(e)}])}(lt),window.tmp=_t,Ft.prototype.parseHeader=function(){if(this.fileSize=this.datav.getUint32(this.pos,!0),this.pos+=4,this.reserved=this.datav.getUint32(this.pos,!0),this.pos+=4,this.offset=this.datav.getUint32(this.pos,!0),this.pos+=4,this.headerSize=this.datav.getUint32(this.pos,!0),this.pos+=4,this.width=this.datav.getUint32(this.pos,!0),this.pos+=4,this.height=this.datav.getInt32(this.pos,!0),this.pos+=4,this.planes=this.datav.getUint16(this.pos,!0),this.pos+=2,this.bitPP=this.datav.getUint16(this.pos,!0),this.pos+=2,this.compress=this.datav.getUint32(this.pos,!0),this.pos+=4,this.rawSize=this.datav.getUint32(this.pos,!0),this.pos+=4,this.hr=this.datav.getUint32(this.pos,!0),this.pos+=4,this.vr=this.datav.getUint32(this.pos,!0),this.pos+=4,this.colors=this.datav.getUint32(this.pos,!0),this.pos+=4,this.importantColors=this.datav.getUint32(this.pos,!0),this.pos+=4,16===this.bitPP&&this.is_with_alpha&&(this.bitPP=15),this.bitPP<15){var t=0===this.colors?1<<this.bitPP:this.colors;this.palette=new Array(t);for(var e=0;e<t;e++){var n=this.datav.getUint8(this.pos++,!0),r=this.datav.getUint8(this.pos++,!0),i=this.datav.getUint8(this.pos++,!0),o=this.datav.getUint8(this.pos++,!0);this.palette[e]={red:i,green:r,blue:n,quad:o}}}this.height<0&&(this.height*=-1,this.bottom_up=!1)},Ft.prototype.parseBGR=function(){this.pos=this.offset;try{var t=\"bit\"+this.bitPP,e=this.width*this.height*4;this.data=new Uint8Array(e),this[t]()}catch(t){console.log(\"bit decode error:\"+t)}},Ft.prototype.bit1=function(){var t=Math.ceil(this.width/8),e=t%4,n=0<=this.height?this.height-1:-this.height;for(n=this.height-1;0<=n;n--){for(var r=this.bottom_up?n:this.height-1-n,i=0;i<t;i++)for(var o=this.datav.getUint8(this.pos++,!0),a=r*this.width*4+8*i*4,s=0;s<8&&8*i+s<this.width;s++){var l=this.palette[o>>7-s&1];this.data[a+4*s]=l.blue,this.data[a+4*s+1]=l.green,this.data[a+4*s+2]=l.red,this.data[a+4*s+3]=255}0!=e&&(this.pos+=4-e)}},Ft.prototype.bit4=function(){for(var t=Math.ceil(this.width/2),e=t%4,n=this.height-1;0<=n;n--){for(var r=this.bottom_up?n:this.height-1-n,i=0;i<t;i++){var o=this.datav.getUint8(this.pos++,!0),a=r*this.width*4+2*i*4,s=o>>4,l=15&o,h=this.palette[s];if(this.data[a]=h.blue,this.data[a+1]=h.green,this.data[a+2]=h.red,this.data[a+3]=255,2*i+1>=this.width)break;h=this.palette[l],this.data[a+4]=h.blue,this.data[a+4+1]=h.green,this.data[a+4+2]=h.red,this.data[a+4+3]=255}0!=e&&(this.pos+=4-e)}},Ft.prototype.bit8=function(){for(var t=this.width%4,e=this.height-1;0<=e;e--){for(var n=this.bottom_up?e:this.height-1-e,r=0;r<this.width;r++){var i=this.datav.getUint8(this.pos++,!0),o=n*this.width*4+4*r;if(i<this.palette.length){var a=this.palette[i];this.data[o]=a.red,this.data[o+1]=a.green,this.data[o+2]=a.blue,this.data[o+3]=255}else this.data[o]=255,this.data[o+1]=255,this.data[o+2]=255,this.data[o+3]=255}0!=t&&(this.pos+=4-t)}},Ft.prototype.bit15=function(){for(var t=this.width%3,e=parseInt(\"11111\",2),n=this.height-1;0<=n;n--){for(var r=this.bottom_up?n:this.height-1-n,i=0;i<this.width;i++){var o=this.datav.getUint16(this.pos,!0);this.pos+=2;var a=(o&e)/e*255|0,s=(o>>5&e)/e*255|0,l=(o>>10&e)/e*255|0,h=o>>15?255:0,u=r*this.width*4+4*i;this.data[u]=l,this.data[u+1]=s,this.data[u+2]=a,this.data[u+3]=h}this.pos+=t}},Ft.prototype.bit16=function(){for(var t=this.width%3,e=parseInt(\"11111\",2),n=parseInt(\"111111\",2),r=this.height-1;0<=r;r--){for(var i=this.bottom_up?r:this.height-1-r,o=0;o<this.width;o++){var a=this.datav.getUint16(this.pos,!0);this.pos+=2;var s=(a&e)/e*255|0,l=(a>>5&n)/n*255|0,h=(a>>11)/e*255|0,u=i*this.width*4+4*o;this.data[u]=h,this.data[u+1]=l,this.data[u+2]=s,this.data[u+3]=255}this.pos+=t}},Ft.prototype.bit24=function(){for(var t=this.height-1;0<=t;t--){for(var e=this.bottom_up?t:this.height-1-t,n=0;n<this.width;n++){var r=this.datav.getUint8(this.pos++,!0),i=this.datav.getUint8(this.pos++,!0),o=this.datav.getUint8(this.pos++,!0),a=e*this.width*4+4*n;this.data[a]=o,this.data[a+1]=i,this.data[a+2]=r,this.data[a+3]=255}this.pos+=this.width%4}},Ft.prototype.bit32=function(){for(var t=this.height-1;0<=t;t--)for(var e=this.bottom_up?t:this.height-1-t,n=0;n<this.width;n++){var r=this.datav.getUint8(this.pos++,!0),i=this.datav.getUint8(this.pos++,!0),o=this.datav.getUint8(this.pos++,!0),a=this.datav.getUint8(this.pos++,!0),s=e*this.width*4+4*n;this.data[s]=o,this.data[s+1]=i,this.data[s+2]=r,this.data[s+3]=a}},Ft.prototype.getData=function(){return this.data},window.tmp=Ft,\n/*\n   Copyright (c) 2013 Gildas Lormeau. All rights reserved.\n\n   Redistribution and use in source and binary forms, with or without\n   modification, are permitted provided that the following conditions are met:\n\n   1. Redistributions of source code must retain the above copyright notice,\n   this list of conditions and the following disclaimer.\n\n   2. Redistributions in binary form must reproduce the above copyright \n   notice, this list of conditions and the following disclaimer in \n   the documentation and/or other materials provided with the distribution.\n\n   3. The names of the authors may not be used to endorse or promote products\n   derived from this software without specific prior written permission.\n\n   THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,\n   INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND\n   FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JCRAFT,\n   INC. OR ANY CONTRIBUTORS TO THIS SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT,\n   INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,\n   OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n   LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\n   EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n   */\nfunction(t){var d=15,g=573,e=[0,1,2,3,4,4,5,5,6,6,6,6,7,7,7,7,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,0,16,17,18,18,19,19,20,20,20,20,21,21,21,21,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29];function ct(){var p=this;function l(t,e){for(var n=0;n|=1&t,t>>>=1,n<<=1,0<--e;);return n>>>1}p.build_tree=function(t){var e,n,r,i=p.dyn_tree,o=p.stat_desc.static_tree,a=p.stat_desc.elems,s=-1;for(t.heap_len=0,t.heap_max=g,e=0;e<a;e++)0!==i[2*e]?(t.heap[++t.heap_len]=s=e,t.depth[e]=0):i[2*e+1]=0;for(;t.heap_len<2;)i[2*(r=t.heap[++t.heap_len]=s<2?++s:0)]=1,t.depth[r]=0,t.opt_len--,o&&(t.static_len-=o[2*r+1]);for(p.max_code=s,e=Math.floor(t.heap_len/2);1<=e;e--)t.pqdownheap(i,e);for(r=a;e=t.heap[1],t.heap[1]=t.heap[t.heap_len--],t.pqdownheap(i,1),n=t.heap[1],t.heap[--t.heap_max]=e,t.heap[--t.heap_max]=n,i[2*r]=i[2*e]+i[2*n],t.depth[r]=Math.max(t.depth[e],t.depth[n])+1,i[2*e+1]=i[2*n+1]=r,t.heap[1]=r++,t.pqdownheap(i,1),2<=t.heap_len;);t.heap[--t.heap_max]=t.heap[1],function(t){var e,n,r,i,o,a,s=p.dyn_tree,l=p.stat_desc.static_tree,h=p.stat_desc.extra_bits,u=p.stat_desc.extra_base,c=p.stat_desc.max_length,f=0;for(i=0;i<=d;i++)t.bl_count[i]=0;for(s[2*t.heap[t.heap_max]+1]=0,e=t.heap_max+1;e<g;e++)c<(i=s[2*s[2*(n=t.heap[e])+1]+1]+1)&&(i=c,f++),s[2*n+1]=i,n>p.max_code||(t.bl_count[i]++,o=0,u<=n&&(o=h[n-u]),a=s[2*n],t.opt_len+=a*(i+o),l&&(t.static_len+=a*(l[2*n+1]+o)));if(0!==f){do{for(i=c-1;0===t.bl_count[i];)i--;t.bl_count[i]--,t.bl_count[i+1]+=2,t.bl_count[c]--,f-=2}while(0<f);for(i=c;0!==i;i--)for(n=t.bl_count[i];0!==n;)(r=t.heap[--e])>p.max_code||(s[2*r+1]!=i&&(t.opt_len+=(i-s[2*r+1])*s[2*r],s[2*r+1]=i),n--)}}(t),function(t,e,n){var r,i,o,a=[],s=0;for(r=1;r<=d;r++)a[r]=s=s+n[r-1]<<1;for(i=0;i<=e;i++)0!==(o=t[2*i+1])&&(t[2*i]=l(a[o]++,o))}(i,p.max_code,t.bl_count)}}function ft(t,e,n,r,i){this.static_tree=t,this.extra_bits=e,this.extra_base=n,this.elems=r,this.max_length=i}ct._length_code=[0,1,2,3,4,5,6,7,8,8,9,9,10,10,11,11,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,16,16,16,16,17,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,28],ct.base_length=[0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0],ct.base_dist=[0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576],ct.d_code=function(t){return t<256?e[t]:e[256+(t>>>7)]},ct.extra_lbits=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],ct.extra_dbits=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],ct.extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],ct.bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],ft.static_ltree=[12,8,140,8,76,8,204,8,44,8,172,8,108,8,236,8,28,8,156,8,92,8,220,8,60,8,188,8,124,8,252,8,2,8,130,8,66,8,194,8,34,8,162,8,98,8,226,8,18,8,146,8,82,8,210,8,50,8,178,8,114,8,242,8,10,8,138,8,74,8,202,8,42,8,170,8,106,8,234,8,26,8,154,8,90,8,218,8,58,8,186,8,122,8,250,8,6,8,134,8,70,8,198,8,38,8,166,8,102,8,230,8,22,8,150,8,86,8,214,8,54,8,182,8,118,8,246,8,14,8,142,8,78,8,206,8,46,8,174,8,110,8,238,8,30,8,158,8,94,8,222,8,62,8,190,8,126,8,254,8,1,8,129,8,65,8,193,8,33,8,161,8,97,8,225,8,17,8,145,8,81,8,209,8,49,8,177,8,113,8,241,8,9,8,137,8,73,8,201,8,41,8,169,8,105,8,233,8,25,8,153,8,89,8,217,8,57,8,185,8,121,8,249,8,5,8,133,8,69,8,197,8,37,8,165,8,101,8,229,8,21,8,149,8,85,8,213,8,53,8,181,8,117,8,245,8,13,8,141,8,77,8,205,8,45,8,173,8,109,8,237,8,29,8,157,8,93,8,221,8,61,8,189,8,125,8,253,8,19,9,275,9,147,9,403,9,83,9,339,9,211,9,467,9,51,9,307,9,179,9,435,9,115,9,371,9,243,9,499,9,11,9,267,9,139,9,395,9,75,9,331,9,203,9,459,9,43,9,299,9,171,9,427,9,107,9,363,9,235,9,491,9,27,9,283,9,155,9,411,9,91,9,347,9,219,9,475,9,59,9,315,9,187,9,443,9,123,9,379,9,251,9,507,9,7,9,263,9,135,9,391,9,71,9,327,9,199,9,455,9,39,9,295,9,167,9,423,9,103,9,359,9,231,9,487,9,23,9,279,9,151,9,407,9,87,9,343,9,215,9,471,9,55,9,311,9,183,9,439,9,119,9,375,9,247,9,503,9,15,9,271,9,143,9,399,9,79,9,335,9,207,9,463,9,47,9,303,9,175,9,431,9,111,9,367,9,239,9,495,9,31,9,287,9,159,9,415,9,95,9,351,9,223,9,479,9,63,9,319,9,191,9,447,9,127,9,383,9,255,9,511,9,0,7,64,7,32,7,96,7,16,7,80,7,48,7,112,7,8,7,72,7,40,7,104,7,24,7,88,7,56,7,120,7,4,7,68,7,36,7,100,7,20,7,84,7,52,7,116,7,3,8,131,8,67,8,195,8,35,8,163,8,99,8,227,8],ft.static_dtree=[0,5,16,5,8,5,24,5,4,5,20,5,12,5,28,5,2,5,18,5,10,5,26,5,6,5,22,5,14,5,30,5,1,5,17,5,9,5,25,5,5,5,21,5,13,5,29,5,3,5,19,5,11,5,27,5,7,5,23,5],ft.static_l_desc=new ft(ft.static_ltree,ct.extra_lbits,257,286,d),ft.static_d_desc=new ft(ft.static_dtree,ct.extra_dbits,0,30,d),ft.static_bl_desc=new ft(null,ct.extra_blbits,0,19,7);function n(t,e,n,r,i){this.good_length=t,this.max_lazy=e,this.nice_length=n,this.max_chain=r,this.func=i}var pt=[new n(0,0,0,0,0),new n(4,4,8,4,1),new n(4,5,16,8,1),new n(4,6,32,32,1),new n(4,4,16,16,2),new n(8,16,32,32,2),new n(8,16,128,128,2),new n(8,32,128,256,2),new n(32,128,258,1024,2),new n(32,258,258,4096,2)],dt=[\"need dictionary\",\"stream end\",\"\",\"\",\"stream error\",\"data error\",\"\",\"buffer error\",\"\",\"\"];function gt(t,e,n,r){var i=t[2*e],o=t[2*n];return i<o||i==o&&r[e]<=r[n]}function r(){var l,h,u,c,f,p,d,g,i,m,y,v,w,a,b,x,N,L,A,S,_,F,P,k,I,C,B,j,E,M,s,O,q,T,R,D,U,o,z,H,W,V=this,G=new ct,Y=new ct,J=new ct;function X(){var t;for(t=0;t<286;t++)s[2*t]=0;for(t=0;t<30;t++)O[2*t]=0;for(t=0;t<19;t++)q[2*t]=0;s[512]=1,V.opt_len=V.static_len=0,D=o=0}function K(t,e){var n,r,i=-1,o=t[1],a=0,s=7,l=4;for(0===o&&(s=138,l=3),t[2*(e+1)+1]=65535,n=0;n<=e;n++)r=o,o=t[2*(n+1)+1],++a<s&&r==o||(a<l?q[2*r]+=a:0!==r?(r!=i&&q[2*r]++,q[32]++):a<=10?q[34]++:q[36]++,i=r,l=(a=0)===o?(s=138,3):r==o?(s=6,3):(s=7,4))}function Z(t){V.pending_buf[V.pending++]=t}function Q(t){Z(255&t),Z(t>>>8&255)}function $(t,e){var n,r=e;16-r<W?(Q(H|=(n=t)<<W&65535),H=n>>>16-W,W+=r-16):(H|=t<<W&65535,W+=r)}function tt(t,e){var n=2*t;$(65535&e[n],65535&e[n+1])}function et(t,e){var n,r,i=-1,o=t[1],a=0,s=7,l=4;for(0===o&&(s=138,l=3),n=0;n<=e;n++)if(r=o,o=t[2*(n+1)+1],!(++a<s&&r==o)){if(a<l)for(;tt(r,q),0!=--a;);else 0!==r?(r!=i&&(tt(r,q),a--),tt(16,q),$(a-3,2)):a<=10?(tt(17,q),$(a-3,3)):(tt(18,q),$(a-11,7));i=r,l=(a=0)===o?(s=138,3):r==o?(s=6,3):(s=7,4)}}function nt(){16==W?(Q(H),W=H=0):8<=W&&(Z(255&H),H>>>=8,W-=8)}function rt(t,e){var n,r,i;if(V.pending_buf[U+2*D]=t>>>8&255,V.pending_buf[U+2*D+1]=255&t,V.pending_buf[T+D]=255&e,D++,0===t?s[2*e]++:(o++,t--,s[2*(ct._length_code[e]+256+1)]++,O[2*ct.d_code(t)]++),0==(8191&D)&&2<B){for(n=8*D,r=_-N,i=0;i<30;i++)n+=O[2*i]*(5+ct.extra_dbits[i]);if(n>>>=3,o<Math.floor(D/2)&&n<Math.floor(r/2))return!0}return D==R-1}function it(t,e){var n,r,i,o,a=0;if(0!==D)for(;n=V.pending_buf[U+2*a]<<8&65280|255&V.pending_buf[U+2*a+1],r=255&V.pending_buf[T+a],a++,0===n?tt(r,t):(tt((i=ct._length_code[r])+256+1,t),0!==(o=ct.extra_lbits[i])&&$(r-=ct.base_length[i],o),tt(i=ct.d_code(--n),e),0!==(o=ct.extra_dbits[i])&&$(n-=ct.base_dist[i],o)),a<D;);tt(256,t),z=t[513]}function ot(){8<W?Q(H):0<W&&Z(255&H),W=H=0}function at(t,e,n){var r,i,o;$(0+(n?1:0),3),r=t,i=e,o=!0,ot(),z=8,o&&(Q(i),Q(~i)),V.pending_buf.set(g.subarray(r,r+i),V.pending),V.pending+=i}function e(t,e,n){var r,i,o=0;0<B?(G.build_tree(V),Y.build_tree(V),o=function(){var t;for(K(s,G.max_code),K(O,Y.max_code),J.build_tree(V),t=18;3<=t&&0===q[2*ct.bl_order[t]+1];t--);return V.opt_len+=3*(t+1)+5+5+4,t}(),r=V.opt_len+3+7>>>3,(i=V.static_len+3+7>>>3)<=r&&(r=i)):r=i=e+5,e+4<=r&&-1!=t?at(t,e,n):i==r?($(2+(n?1:0),3),it(ft.static_ltree,ft.static_dtree)):($(4+(n?1:0),3),function(t,e,n){var r;for($(t-257,5),$(e-1,5),$(n-4,4),r=0;r<n;r++)$(q[2*ct.bl_order[r]+1],3);et(s,t-1),et(O,e-1)}(G.max_code+1,Y.max_code+1,o+1),it(s,O)),X(),n&&ot()}function st(t){e(0<=N?N:-1,_-N,t),N=_,l.flush_pending()}function lt(){var t,e,n,r;do{if(0===(r=i-P-_)&&0===_&&0===P)r=f;else if(-1==r)r--;else if(f+f-262<=_){for(g.set(g.subarray(f,f+f),0),F-=f,_-=f,N-=f,n=t=w;e=65535&y[--n],y[n]=f<=e?e-f:0,0!=--t;);for(n=t=f;e=65535&m[--n],m[n]=f<=e?e-f:0,0!=--t;);r+=f}if(0===l.avail_in)return;t=l.read_buf(g,_+P,r),3<=(P+=t)&&(v=((v=255&g[_])<<x^255&g[_+1])&b)}while(P<262&&0!==l.avail_in)}function ht(t){var e,n,r=I,i=_,o=k,a=f-262<_?_-(f-262):0,s=M,l=d,h=_+258,u=g[i+o-1],c=g[i+o];E<=k&&(r>>=2),P<s&&(s=P);do{if(g[(e=t)+o]==c&&g[e+o-1]==u&&g[e]==g[i]&&g[++e]==g[i+1]){i+=2,e++;do{}while(g[++i]==g[++e]&&g[++i]==g[++e]&&g[++i]==g[++e]&&g[++i]==g[++e]&&g[++i]==g[++e]&&g[++i]==g[++e]&&g[++i]==g[++e]&&g[++i]==g[++e]&&i<h);if(n=258-(h-i),i=h-258,o<n){if(F=t,s<=(o=n))break;u=g[i+o-1],c=g[i+o]}}}while((t=65535&m[t&l])>a&&0!=--r);return o<=P?o:P}function ut(t){return t.total_in=t.total_out=0,t.msg=null,V.pending=0,V.pending_out=0,h=113,c=0,G.dyn_tree=s,G.stat_desc=ft.static_l_desc,Y.dyn_tree=O,Y.stat_desc=ft.static_d_desc,J.dyn_tree=q,J.stat_desc=ft.static_bl_desc,W=H=0,z=8,X(),function(){var t;for(i=2*f,t=y[w-1]=0;t<w-1;t++)y[t]=0;C=pt[B].max_lazy,E=pt[B].good_length,M=pt[B].nice_length,I=pt[B].max_chain,L=k=2,v=S=P=N=_=0}(),0}V.depth=[],V.bl_count=[],V.heap=[],s=[],O=[],q=[],V.pqdownheap=function(t,e){for(var n=V.heap,r=n[e],i=e<<1;i<=V.heap_len&&(i<V.heap_len&&gt(t,n[i+1],n[i],V.depth)&&i++,!gt(t,r,n[i],V.depth));)n[e]=n[i],e=i,i<<=1;n[e]=r},V.deflateInit=function(t,e,n,r,i,o){return r||(r=8),i||(i=8),o||(o=0),t.msg=null,-1==e&&(e=6),i<1||9<i||8!=r||n<9||15<n||e<0||9<e||o<0||2<o?-2:(t.dstate=V,d=(f=1<<(p=n))-1,b=(w=1<<(a=i+7))-1,x=Math.floor((a+3-1)/3),g=new Uint8Array(2*f),m=[],y=[],R=1<<i+6,V.pending_buf=new Uint8Array(4*R),u=4*R,U=Math.floor(R/2),T=3*R,B=e,j=o,ut(t))},V.deflateEnd=function(){return 42!=h&&113!=h&&666!=h?-2:(V.pending_buf=null,g=m=y=null,V.dstate=null,113==h?-3:0)},V.deflateParams=function(t,e,n){var r=0;return-1==e&&(e=6),e<0||9<e||n<0||2<n?-2:(pt[B].func!=pt[e].func&&0!==t.total_in&&(r=t.deflate(1)),B!=e&&(C=pt[B=e].max_lazy,E=pt[B].good_length,M=pt[B].nice_length,I=pt[B].max_chain),j=n,r)},V.deflateSetDictionary=function(t,e,n){var r,i=n,o=0;if(!e||42!=h)return-2;if(i<3)return 0;for(f-262<i&&(o=n-(i=f-262)),g.set(e.subarray(o,o+i),0),N=_=i,v=((v=255&g[0])<<x^255&g[1])&b,r=0;r<=i-3;r++)v=(v<<x^255&g[r+2])&b,m[r&d]=y[v],y[v]=r;return 0},V.deflate=function(t,e){var n,r,i,o,a,s;if(4<e||e<0)return-2;if(!t.next_out||!t.next_in&&0!==t.avail_in||666==h&&4!=e)return t.msg=dt[4],-2;if(0===t.avail_out)return t.msg=dt[7],-5;if(l=t,o=c,c=e,42==h&&(r=8+(p-8<<4)<<8,3<(i=(B-1&255)>>1)&&(i=3),r|=i<<6,0!==_&&(r|=32),h=113,Z((s=r+=31-r%31)>>8&255),Z(255&s)),0!==V.pending){if(l.flush_pending(),0===l.avail_out)return c=-1,0}else if(0===l.avail_in&&e<=o&&4!=e)return l.msg=dt[7],-5;if(666==h&&0!==l.avail_in)return t.msg=dt[7],-5;if(0!==l.avail_in||0!==P||0!=e&&666!=h){switch(a=-1,pt[B].func){case 0:a=function(t){var e,n=65535;for(u-5<n&&(n=u-5);;){if(P<=1){if(lt(),0===P&&0==t)return 0;if(0===P)break}if(_+=P,e=N+n,((P=0)===_||e<=_)&&(P=_-e,_=e,st(!1),0===l.avail_out))return 0;if(f-262<=_-N&&(st(!1),0===l.avail_out))return 0}return st(4==t),0===l.avail_out?4==t?2:0:4==t?3:1}(e);break;case 1:a=function(t){for(var e,n=0;;){if(P<262){if(lt(),P<262&&0==t)return 0;if(0===P)break}if(3<=P&&(v=(v<<x^255&g[_+2])&b,n=65535&y[v],m[_&d]=y[v],y[v]=_),0!==n&&(_-n&65535)<=f-262&&2!=j&&(L=ht(n)),3<=L)if(e=rt(_-F,L-3),P-=L,L<=C&&3<=P){for(L--;v=(v<<x^255&g[++_+2])&b,n=65535&y[v],m[_&d]=y[v],y[v]=_,0!=--L;);_++}else _+=L,L=0,v=((v=255&g[_])<<x^255&g[_+1])&b;else e=rt(0,255&g[_]),P--,_++;if(e&&(st(!1),0===l.avail_out))return 0}return st(4==t),0===l.avail_out?4==t?2:0:4==t?3:1}(e);break;case 2:a=function(t){for(var e,n,r=0;;){if(P<262){if(lt(),P<262&&0==t)return 0;if(0===P)break}if(3<=P&&(v=(v<<x^255&g[_+2])&b,r=65535&y[v],m[_&d]=y[v],y[v]=_),k=L,A=F,L=2,0!==r&&k<C&&(_-r&65535)<=f-262&&(2!=j&&(L=ht(r)),L<=5&&(1==j||3==L&&4096<_-F)&&(L=2)),3<=k&&L<=k){for(n=_+P-3,e=rt(_-1-A,k-3),P-=k-1,k-=2;++_<=n&&(v=(v<<x^255&g[_+2])&b,r=65535&y[v],m[_&d]=y[v],y[v]=_),0!=--k;);if(S=0,L=2,_++,e&&(st(!1),0===l.avail_out))return 0}else if(0!==S){if((e=rt(0,255&g[_-1]))&&st(!1),_++,P--,0===l.avail_out)return 0}else S=1,_++,P--}return 0!==S&&(e=rt(0,255&g[_-1]),S=0),st(4==t),0===l.avail_out?4==t?2:0:4==t?3:1}(e)}if(2!=a&&3!=a||(h=666),0==a||2==a)return 0===l.avail_out&&(c=-1),0;if(1==a){if(1==e)$(2,3),tt(256,ft.static_ltree),nt(),1+z+10-W<9&&($(2,3),tt(256,ft.static_ltree),nt()),z=7;else if(at(0,0,!1),3==e)for(n=0;n<w;n++)y[n]=0;if(l.flush_pending(),0===l.avail_out)return c=-1,0}}return 4!=e?0:1}}function i(){this.next_in_index=0,this.next_out_index=0,this.avail_in=0,this.total_in=0,this.avail_out=0,this.total_out=0}i.prototype={deflateInit:function(t,e){return this.dstate=new r,e||(e=d),this.dstate.deflateInit(this,t,e)},deflate:function(t){return this.dstate?this.dstate.deflate(this,t):-2},deflateEnd:function(){if(!this.dstate)return-2;var t=this.dstate.deflateEnd();return this.dstate=null,t},deflateParams:function(t,e){return this.dstate?this.dstate.deflateParams(this,t,e):-2},deflateSetDictionary:function(t,e){return this.dstate?this.dstate.deflateSetDictionary(this,t,e):-2},read_buf:function(t,e,n){var r=this.avail_in;return n<r&&(r=n),0===r?0:(this.avail_in-=r,t.set(this.next_in.subarray(this.next_in_index,this.next_in_index+r),e),this.next_in_index+=r,this.total_in+=r,r)},flush_pending:function(){var t=this,e=t.dstate.pending;e>t.avail_out&&(e=t.avail_out),0!==e&&(t.next_out.set(t.dstate.pending_buf.subarray(t.dstate.pending_out,t.dstate.pending_out+e),t.next_out_index),t.next_out_index+=e,t.dstate.pending_out+=e,t.total_out+=e,t.avail_out-=e,t.dstate.pending-=e,0===t.dstate.pending&&(t.dstate.pending_out=0))}};var o=t.zip||t;o.Deflater=o._jzlib_Deflater=function(t){var s=new i,l=new Uint8Array(512),e=t?t.level:-1;void 0===e&&(e=-1),s.deflateInit(e),s.next_out=l,this.append=function(t,e){var n,r=[],i=0,o=0,a=0;if(t.length){s.next_in_index=0,s.next_in=t,s.avail_in=t.length;do{if(s.next_out_index=0,s.avail_out=512,0!=s.deflate(0))throw new Error(\"deflating: \"+s.msg);s.next_out_index&&(512==s.next_out_index?r.push(new Uint8Array(l)):r.push(new Uint8Array(l.subarray(0,s.next_out_index)))),a+=s.next_out_index,e&&0<s.next_in_index&&s.next_in_index!=i&&(e(s.next_in_index),i=s.next_in_index)}while(0<s.avail_in||0===s.avail_out);return n=new Uint8Array(a),r.forEach(function(t){n.set(t,o),o+=t.length}),n}},this.flush=function(){var t,e,n=[],r=0,i=0;do{if(s.next_out_index=0,s.avail_out=512,1!=(t=s.deflate(4))&&0!=t)throw new Error(\"deflating: \"+s.msg);0<512-s.avail_out&&n.push(new Uint8Array(l.subarray(0,s.next_out_index))),i+=s.next_out_index}while(0<s.avail_in||0===s.avail_out);return s.deflateEnd(),e=new Uint8Array(i),n.forEach(function(t){e.set(t,r),r+=t.length}),e}}}(\"undefined\"!=typeof self&&self||\"undefined\"!=typeof window&&window||\"undefined\"!=typeof global&&global||Function('return typeof this === \"object\" && this.content')()||Function(\"return this\")()),(\"undefined\"!=typeof self&&self||\"undefined\"!=typeof window&&window||\"undefined\"!=typeof global&&global||Function('return typeof this === \"object\" && this.content')()||Function(\"return this\")()).RGBColor=function(t){var e;t=t||\"\",this.ok=!1,\"#\"==t.charAt(0)&&(t=t.substr(1,6)),t=(t=t.replace(/ /g,\"\")).toLowerCase();var n={aliceblue:\"f0f8ff\",antiquewhite:\"faebd7\",aqua:\"00ffff\",aquamarine:\"7fffd4\",azure:\"f0ffff\",beige:\"f5f5dc\",bisque:\"ffe4c4\",black:\"000000\",blanchedalmond:\"ffebcd\",blue:\"0000ff\",blueviolet:\"8a2be2\",brown:\"a52a2a\",burlywood:\"deb887\",cadetblue:\"5f9ea0\",chartreuse:\"7fff00\",chocolate:\"d2691e\",coral:\"ff7f50\",cornflowerblue:\"6495ed\",cornsilk:\"fff8dc\",crimson:\"dc143c\",cyan:\"00ffff\",darkblue:\"00008b\",darkcyan:\"008b8b\",darkgoldenrod:\"b8860b\",darkgray:\"a9a9a9\",darkgreen:\"006400\",darkkhaki:\"bdb76b\",darkmagenta:\"8b008b\",darkolivegreen:\"556b2f\",darkorange:\"ff8c00\",darkorchid:\"9932cc\",darkred:\"8b0000\",darksalmon:\"e9967a\",darkseagreen:\"8fbc8f\",darkslateblue:\"483d8b\",darkslategray:\"2f4f4f\",darkturquoise:\"00ced1\",darkviolet:\"9400d3\",deeppink:\"ff1493\",deepskyblue:\"00bfff\",dimgray:\"696969\",dodgerblue:\"1e90ff\",feldspar:\"d19275\",firebrick:\"b22222\",floralwhite:\"fffaf0\",forestgreen:\"228b22\",fuchsia:\"ff00ff\",gainsboro:\"dcdcdc\",ghostwhite:\"f8f8ff\",gold:\"ffd700\",goldenrod:\"daa520\",gray:\"808080\",green:\"008000\",greenyellow:\"adff2f\",honeydew:\"f0fff0\",hotpink:\"ff69b4\",indianred:\"cd5c5c\",indigo:\"4b0082\",ivory:\"fffff0\",khaki:\"f0e68c\",lavender:\"e6e6fa\",lavenderblush:\"fff0f5\",lawngreen:\"7cfc00\",lemonchiffon:\"fffacd\",lightblue:\"add8e6\",lightcoral:\"f08080\",lightcyan:\"e0ffff\",lightgoldenrodyellow:\"fafad2\",lightgrey:\"d3d3d3\",lightgreen:\"90ee90\",lightpink:\"ffb6c1\",lightsalmon:\"ffa07a\",lightseagreen:\"20b2aa\",lightskyblue:\"87cefa\",lightslateblue:\"8470ff\",lightslategray:\"778899\",lightsteelblue:\"b0c4de\",lightyellow:\"ffffe0\",lime:\"00ff00\",limegreen:\"32cd32\",linen:\"faf0e6\",magenta:\"ff00ff\",maroon:\"800000\",mediumaquamarine:\"66cdaa\",mediumblue:\"0000cd\",mediumorchid:\"ba55d3\",mediumpurple:\"9370d8\",mediumseagreen:\"3cb371\",mediumslateblue:\"7b68ee\",mediumspringgreen:\"00fa9a\",mediumturquoise:\"48d1cc\",mediumvioletred:\"c71585\",midnightblue:\"191970\",mintcream:\"f5fffa\",mistyrose:\"ffe4e1\",moccasin:\"ffe4b5\",navajowhite:\"ffdead\",navy:\"000080\",oldlace:\"fdf5e6\",olive:\"808000\",olivedrab:\"6b8e23\",orange:\"ffa500\",orangered:\"ff4500\",orchid:\"da70d6\",palegoldenrod:\"eee8aa\",palegreen:\"98fb98\",paleturquoise:\"afeeee\",palevioletred:\"d87093\",papayawhip:\"ffefd5\",peachpuff:\"ffdab9\",peru:\"cd853f\",pink:\"ffc0cb\",plum:\"dda0dd\",powderblue:\"b0e0e6\",purple:\"800080\",red:\"ff0000\",rosybrown:\"bc8f8f\",royalblue:\"4169e1\",saddlebrown:\"8b4513\",salmon:\"fa8072\",sandybrown:\"f4a460\",seagreen:\"2e8b57\",seashell:\"fff5ee\",sienna:\"a0522d\",silver:\"c0c0c0\",skyblue:\"87ceeb\",slateblue:\"6a5acd\",slategray:\"708090\",snow:\"fffafa\",springgreen:\"00ff7f\",steelblue:\"4682b4\",tan:\"d2b48c\",teal:\"008080\",thistle:\"d8bfd8\",tomato:\"ff6347\",turquoise:\"40e0d0\",violet:\"ee82ee\",violetred:\"d02090\",wheat:\"f5deb3\",white:\"ffffff\",whitesmoke:\"f5f5f5\",yellow:\"ffff00\",yellowgreen:\"9acd32\"};for(var r in n)t==r&&(t=n[r]);for(var i=[{re:/^rgb\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3})\\)$/,example:[\"rgb(123, 234, 45)\",\"rgb(255,234,245)\"],process:function(t){return[parseInt(t[1]),parseInt(t[2]),parseInt(t[3])]}},{re:/^(\\w{2})(\\w{2})(\\w{2})$/,example:[\"#00ff00\",\"336699\"],process:function(t){return[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]}},{re:/^(\\w{1})(\\w{1})(\\w{1})$/,example:[\"#fb0\",\"f0f\"],process:function(t){return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)]}}],o=0;o<i.length;o++){var a=i[o].re,s=i[o].process,l=a.exec(t);l&&(e=s(l),this.r=e[0],this.g=e[1],this.b=e[2],this.ok=!0)}this.r=this.r<0||isNaN(this.r)?0:255<this.r?255:this.r,this.g=this.g<0||isNaN(this.g)?0:255<this.g?255:this.g,this.b=this.b<0||isNaN(this.b)?0:255<this.b?255:this.b,this.toRGB=function(){return\"rgb(\"+this.r+\", \"+this.g+\", \"+this.b+\")\"},this.toHex=function(){var t=this.r.toString(16),e=this.g.toString(16),n=this.b.toString(16);return 1==t.length&&(t=\"0\"+t),1==e.length&&(e=\"0\"+e),1==n.length&&(n=\"0\"+n),\"#\"+t+e+n}},function(t){var n=\"+\".charCodeAt(0),r=\"/\".charCodeAt(0),i=\"0\".charCodeAt(0),o=\"a\".charCodeAt(0),a=\"A\".charCodeAt(0),s=\"-\".charCodeAt(0),l=\"_\".charCodeAt(0),u=function(t){var e=t.charCodeAt(0);return e===n||e===s?62:e===r||e===l?63:e<i?-1:e<i+10?e-i+26+26:e<a+26?e-a:e<o+26?e-o+26:void 0};t.API.TTFFont=function(){function i(t,e,n){var r;if(this.rawData=t,r=this.contents=new J(t),this.contents.pos=4,\"ttcf\"===r.readString(4)){if(!e)throw new Error(\"Must specify a font name for TTC files.\");throw new Error(\"Font \"+e+\" not found in TTC file.\")}r.pos=0,this.parse(),this.subset=new P(this),this.registerTTF()}return i.open=function(t,e,n,r){if(\"string\"!=typeof n)throw new Error(\"Invalid argument supplied in TTFFont.open\");return new i(function(t){var e,n,r,i,o,a;if(0<t.length%4)throw new Error(\"Invalid string. Length must be a multiple of 4\");var s=t.length;o=\"=\"===t.charAt(s-2)?2:\"=\"===t.charAt(s-1)?1:0,a=new Uint8Array(3*t.length/4-o),r=0<o?t.length-4:t.length;var l=0;function h(t){a[l++]=t}for(n=e=0;e<r;e+=4,n+=3)h((16711680&(i=u(t.charAt(e))<<18|u(t.charAt(e+1))<<12|u(t.charAt(e+2))<<6|u(t.charAt(e+3))))>>16),h((65280&i)>>8),h(255&i);return 2===o?h(255&(i=u(t.charAt(e))<<2|u(t.charAt(e+1))>>4)):1===o&&(h((i=u(t.charAt(e))<<10|u(t.charAt(e+1))<<4|u(t.charAt(e+2))>>2)>>8&255),h(255&i)),a}(n),e,r)},i.prototype.parse=function(){return this.directory=new e(this.contents),this.head=new p(this),this.name=new b(this),this.cmap=new y(this),this.toUnicode=new Map,this.hhea=new g(this),this.maxp=new x(this),this.hmtx=new N(this),this.post=new v(this),this.os2=new m(this),this.loca=new F(this),this.glyf=new A(this),this.ascender=this.os2.exists&&this.os2.ascender||this.hhea.ascender,this.decender=this.os2.exists&&this.os2.decender||this.hhea.decender,this.lineGap=this.os2.exists&&this.os2.lineGap||this.hhea.lineGap,this.bbox=[this.head.xMin,this.head.yMin,this.head.xMax,this.head.yMax]},i.prototype.registerTTF=function(){var i,t,e,n,r;if(this.scaleFactor=1e3/this.head.unitsPerEm,this.bbox=function(){var t,e,n,r;for(r=[],t=0,e=(n=this.bbox).length;t<e;t++)i=n[t],r.push(Math.round(i*this.scaleFactor));return r}.call(this),this.stemV=0,this.post.exists?(e=255&(n=this.post.italic_angle),!0&(t=n>>16)&&(t=-(1+(65535^t))),this.italicAngle=+(t+\".\"+e)):this.italicAngle=0,this.ascender=Math.round(this.ascender*this.scaleFactor),this.decender=Math.round(this.decender*this.scaleFactor),this.lineGap=Math.round(this.lineGap*this.scaleFactor),this.capHeight=this.os2.exists&&this.os2.capHeight||this.ascender,this.xHeight=this.os2.exists&&this.os2.xHeight||0,this.familyClass=(this.os2.exists&&this.os2.familyClass||0)>>8,this.isSerif=1===(r=this.familyClass)||2===r||3===r||4===r||5===r||7===r,this.isScript=10===this.familyClass,this.flags=0,this.post.isFixedPitch&&(this.flags|=1),this.isSerif&&(this.flags|=2),this.isScript&&(this.flags|=8),0!==this.italicAngle&&(this.flags|=64),this.flags|=32,!this.cmap.unicode)throw new Error(\"No unicode cmap for font\")},i.prototype.characterToGlyph=function(t){var e;return(null!=(e=this.cmap.unicode)?e.codeMap[t]:void 0)||0},i.prototype.widthOfGlyph=function(t){var e;return e=1e3/this.head.unitsPerEm,this.hmtx.forGlyph(t).advance*e},i.prototype.widthOfString=function(t,e,n){var r,i,o,a,s;for(i=a=o=0,s=(t=\"\"+t).length;0<=s?a<s:s<a;i=0<=s?++a:--a)r=t.charCodeAt(i),o+=this.widthOfGlyph(this.characterToGlyph(r))+n*(1e3/e)||0;return o*(e/1e3)},i.prototype.lineHeight=function(t,e){var n;return null==e&&(e=!1),n=e?this.lineGap:0,(this.ascender+n-this.decender)/1e3*t},i}();var h,J=function(){function t(t){this.data=null!=t?t:[],this.pos=0,this.length=this.data.length}return t.prototype.readByte=function(){return this.data[this.pos++]},t.prototype.writeByte=function(t){return this.data[this.pos++]=t},t.prototype.readUInt32=function(){return 16777216*this.readByte()+(this.readByte()<<16)+(this.readByte()<<8)+this.readByte()},t.prototype.writeUInt32=function(t){return this.writeByte(t>>>24&255),this.writeByte(t>>16&255),this.writeByte(t>>8&255),this.writeByte(255&t)},t.prototype.readInt32=function(){var t;return 2147483648<=(t=this.readUInt32())?t-4294967296:t},t.prototype.writeInt32=function(t){return t<0&&(t+=4294967296),this.writeUInt32(t)},t.prototype.readUInt16=function(){return this.readByte()<<8|this.readByte()},t.prototype.writeUInt16=function(t){return this.writeByte(t>>8&255),this.writeByte(255&t)},t.prototype.readInt16=function(){var t;return 32768<=(t=this.readUInt16())?t-65536:t},t.prototype.writeInt16=function(t){return t<0&&(t+=65536),this.writeUInt16(t)},t.prototype.readString=function(t){var e,n,r;for(n=[],e=r=0;0<=t?r<t:t<r;e=0<=t?++r:--r)n[e]=String.fromCharCode(this.readByte());return n.join(\"\")},t.prototype.writeString=function(t){var e,n,r,i;for(i=[],e=n=0,r=t.length;0<=r?n<r:r<n;e=0<=r?++n:--n)i.push(this.writeByte(t.charCodeAt(e)));return i},t.prototype.readShort=function(){return this.readInt16()},t.prototype.writeShort=function(t){return this.writeInt16(t)},t.prototype.readLongLong=function(){var t,e,n,r,i,o,a,s;return t=this.readByte(),e=this.readByte(),n=this.readByte(),r=this.readByte(),i=this.readByte(),o=this.readByte(),a=this.readByte(),s=this.readByte(),128&t?-1*(72057594037927940*(255^t)+281474976710656*(255^e)+1099511627776*(255^n)+4294967296*(255^r)+16777216*(255^i)+65536*(255^o)+256*(255^a)+(255^s)+1):72057594037927940*t+281474976710656*e+1099511627776*n+4294967296*r+16777216*i+65536*o+256*a+s},t.prototype.writeLongLong=function(t){var e,n;return e=Math.floor(t/4294967296),n=4294967295&t,this.writeByte(e>>24&255),this.writeByte(e>>16&255),this.writeByte(e>>8&255),this.writeByte(255&e),this.writeByte(n>>24&255),this.writeByte(n>>16&255),this.writeByte(n>>8&255),this.writeByte(255&n)},t.prototype.readInt=function(){return this.readInt32()},t.prototype.writeInt=function(t){return this.writeInt32(t)},t.prototype.read=function(t){var e,n;for(e=[],n=0;0<=t?n<t:t<n;0<=t?++n:--n)e.push(this.readByte());return e},t.prototype.write=function(t){var e,n,r,i;for(i=[],n=0,r=t.length;n<r;n++)e=t[n],i.push(this.writeByte(e));return i},t}(),e=function(){var d;function t(t){var e,n,r;for(this.scalarType=t.readInt(),this.tableCount=t.readShort(),this.searchRange=t.readShort(),this.entrySelector=t.readShort(),this.rangeShift=t.readShort(),this.tables={},n=0,r=this.tableCount;0<=r?n<r:r<n;0<=r?++n:--n)e={tag:t.readString(4),checksum:t.readInt(),offset:t.readInt(),length:t.readInt()},this.tables[e.tag]=e}return t.prototype.encode=function(t){var e,n,r,i,o,a,s,l,h,u,c,f,p;for(p in c=Object.keys(t).length,a=Math.log(2),h=16*Math.floor(Math.log(c)/a),i=Math.floor(h/a),l=16*c-h,(n=new J).writeInt(this.scalarType),n.writeShort(c),n.writeShort(h),n.writeShort(i),n.writeShort(l),r=16*c,s=n.pos+r,o=null,f=[],t)for(u=t[p],n.writeString(p),n.writeInt(d(u)),n.writeInt(s),n.writeInt(u.length),f=f.concat(u),\"head\"===p&&(o=s),s+=u.length;s%4;)f.push(0),s++;return n.write(f),e=2981146554-d(n.data),n.pos=o+8,n.writeUInt32(e),n.data},d=function(t){var e,n,r,i;for(t=L.call(t);t.length%4;)t.push(0);for(n=new J(t),r=e=0,i=t.length;r<i;r+=4)e+=n.readUInt32();return 4294967295&e},t}(),c={}.hasOwnProperty,f=function(t,e){for(var n in e)c.call(e,n)&&(t[n]=e[n]);function r(){this.constructor=t}return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t};h=function(){function t(t){var e;this.file=t,e=this.file.directory.tables[this.tag],this.exists=!!e,e&&(this.offset=e.offset,this.length=e.length,this.parse(this.file.contents))}return t.prototype.parse=function(){},t.prototype.encode=function(){},t.prototype.raw=function(){return this.exists?(this.file.contents.pos=this.offset,this.file.contents.read(this.length)):null},t}();var p=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return f(e,h),e.prototype.tag=\"head\",e.prototype.parse=function(t){return t.pos=this.offset,this.version=t.readInt(),this.revision=t.readInt(),this.checkSumAdjustment=t.readInt(),this.magicNumber=t.readInt(),this.flags=t.readShort(),this.unitsPerEm=t.readShort(),this.created=t.readLongLong(),this.modified=t.readLongLong(),this.xMin=t.readShort(),this.yMin=t.readShort(),this.xMax=t.readShort(),this.yMax=t.readShort(),this.macStyle=t.readShort(),this.lowestRecPPEM=t.readShort(),this.fontDirectionHint=t.readShort(),this.indexToLocFormat=t.readShort(),this.glyphDataFormat=t.readShort()},e.prototype.encode=function(t){var e;return(e=new J).writeInt(this.version),e.writeInt(this.revision),e.writeInt(this.checkSumAdjustment),e.writeInt(this.magicNumber),e.writeShort(this.flags),e.writeShort(this.unitsPerEm),e.writeLongLong(this.created),e.writeLongLong(this.modified),e.writeShort(this.xMin),e.writeShort(this.yMin),e.writeShort(this.xMax),e.writeShort(this.yMax),e.writeShort(this.macStyle),e.writeShort(this.lowestRecPPEM),e.writeShort(this.fontDirectionHint),e.writeShort(t),e.writeShort(this.glyphDataFormat),e.data},e}(),d=function(){function t(n,t){var e,r,i,o,a,s,l,h,u,c,f,p,d,g,m,y,v,w;switch(this.platformID=n.readUInt16(),this.encodingID=n.readShort(),this.offset=t+n.readInt(),u=n.pos,n.pos=this.offset,this.format=n.readUInt16(),this.length=n.readUInt16(),this.language=n.readUInt16(),this.isUnicode=3===this.platformID&&1===this.encodingID&&4===this.format||0===this.platformID&&4===this.format,this.codeMap={},this.format){case 0:for(s=m=0;m<256;s=++m)this.codeMap[s]=n.readByte();break;case 4:for(f=n.readUInt16(),c=f/2,n.pos+=6,i=function(){var t,e;for(e=[],s=t=0;0<=c?t<c:c<t;s=0<=c?++t:--t)e.push(n.readUInt16());return e}(),n.pos+=2,d=function(){var t,e;for(e=[],s=t=0;0<=c?t<c:c<t;s=0<=c?++t:--t)e.push(n.readUInt16());return e}(),l=function(){var t,e;for(e=[],s=t=0;0<=c?t<c:c<t;s=0<=c?++t:--t)e.push(n.readUInt16());return e}(),h=function(){var t,e;for(e=[],s=t=0;0<=c?t<c:c<t;s=0<=c?++t:--t)e.push(n.readUInt16());return e}(),r=(this.length-n.pos+this.offset)/2,a=function(){var t,e;for(e=[],s=t=0;0<=r?t<r:r<t;s=0<=r?++t:--t)e.push(n.readUInt16());return e}(),s=y=0,w=i.length;y<w;s=++y)for(g=i[s],e=v=p=d[s];p<=g?v<=g:g<=v;e=p<=g?++v:--v)0===h[s]?o=e+l[s]:0!==(o=a[h[s]/2+(e-p)-(c-s)]||0)&&(o+=l[s]),this.codeMap[e]=65535&o}n.pos=u}return t.encode=function(t,e){var n,r,i,o,a,s,l,h,u,c,f,p,d,g,m,y,v,w,b,x,N,L,A,S,_,F,P,k,I,C,B,j,E,M,O,q,T,R,D,U,z,H,W,V,G,Y;switch(k=new J,o=Object.keys(t).sort(function(t,e){return t-e}),e){case\"macroman\":for(d=0,g=function(){var t,e;for(e=[],p=t=0;t<256;p=++t)e.push(0);return e}(),y={0:0},i={},I=0,E=o.length;I<E;I++)null==y[W=t[r=o[I]]]&&(y[W]=++d),i[r]={old:t[r],new:y[t[r]]},g[r]=y[t[r]];return k.writeUInt16(1),k.writeUInt16(0),k.writeUInt32(12),k.writeUInt16(0),k.writeUInt16(262),k.writeUInt16(0),k.write(g),{charMap:i,subtable:k.data,maxGlyphID:d+1};case\"unicode\":for(F=[],u=[],y={},n={},m=l=null,C=v=0,M=o.length;C<M;C++)null==y[b=t[r=o[C]]]&&(y[b]=++v),n[r]={old:b,new:y[b]},a=y[b]-r,null!=m&&a===l||(m&&u.push(m),F.push(r),l=a),m=r;for(m&&u.push(m),u.push(65535),F.push(65535),S=2*(A=F.length),L=2*Math.pow(Math.log(A)/Math.LN2,2),c=Math.log(L/2)/Math.LN2,N=2*A-L,s=[],x=[],f=[],p=B=0,O=F.length;B<O;p=++B){if(_=F[p],h=u[p],65535===_){s.push(0),x.push(0);break}if(32768<=_-(P=n[_].new))for(s.push(0),x.push(2*(f.length+A-p)),r=j=_;_<=h?j<=h:h<=j;r=_<=h?++j:--j)f.push(n[r].new);else s.push(P-_),x.push(0)}for(k.writeUInt16(3),k.writeUInt16(1),k.writeUInt32(12),k.writeUInt16(4),k.writeUInt16(16+8*A+2*f.length),k.writeUInt16(0),k.writeUInt16(S),k.writeUInt16(L),k.writeUInt16(c),k.writeUInt16(N),z=0,q=u.length;z<q;z++)r=u[z],k.writeUInt16(r);for(k.writeUInt16(0),H=0,T=F.length;H<T;H++)r=F[H],k.writeUInt16(r);for(V=0,R=s.length;V<R;V++)a=s[V],k.writeUInt16(a);for(G=0,D=x.length;G<D;G++)w=x[G],k.writeUInt16(w);for(Y=0,U=f.length;Y<U;Y++)d=f[Y],k.writeUInt16(d);return{charMap:n,subtable:k.data,maxGlyphID:v+1}}},t}(),y=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return f(e,h),e.prototype.tag=\"cmap\",e.prototype.parse=function(t){var e,n,r;for(t.pos=this.offset,this.version=t.readUInt16(),n=t.readUInt16(),this.tables=[],this.unicode=null,r=0;0<=n?r<n:n<r;0<=n?++r:--r)e=new d(t,this.offset),this.tables.push(e),e.isUnicode&&null==this.unicode&&(this.unicode=e);return!0},e.encode=function(t,e){var n,r;return null==e&&(e=\"macroman\"),n=d.encode(t,e),(r=new J).writeUInt16(0),r.writeUInt16(1),n.table=r.data.concat(n.subtable),n},e}(),g=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return f(e,h),e.prototype.tag=\"hhea\",e.prototype.parse=function(t){return t.pos=this.offset,this.version=t.readInt(),this.ascender=t.readShort(),this.decender=t.readShort(),this.lineGap=t.readShort(),this.advanceWidthMax=t.readShort(),this.minLeftSideBearing=t.readShort(),this.minRightSideBearing=t.readShort(),this.xMaxExtent=t.readShort(),this.caretSlopeRise=t.readShort(),this.caretSlopeRun=t.readShort(),this.caretOffset=t.readShort(),t.pos+=8,this.metricDataFormat=t.readShort(),this.numberOfMetrics=t.readUInt16()},e}(),m=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return f(e,h),e.prototype.tag=\"OS/2\",e.prototype.parse=function(n){if(n.pos=this.offset,this.version=n.readUInt16(),this.averageCharWidth=n.readShort(),this.weightClass=n.readUInt16(),this.widthClass=n.readUInt16(),this.type=n.readShort(),this.ySubscriptXSize=n.readShort(),this.ySubscriptYSize=n.readShort(),this.ySubscriptXOffset=n.readShort(),this.ySubscriptYOffset=n.readShort(),this.ySuperscriptXSize=n.readShort(),this.ySuperscriptYSize=n.readShort(),this.ySuperscriptXOffset=n.readShort(),this.ySuperscriptYOffset=n.readShort(),this.yStrikeoutSize=n.readShort(),this.yStrikeoutPosition=n.readShort(),this.familyClass=n.readShort(),this.panose=function(){var t,e;for(e=[],t=0;t<10;++t)e.push(n.readByte());return e}(),this.charRange=function(){var t,e;for(e=[],t=0;t<4;++t)e.push(n.readInt());return e}(),this.vendorID=n.readString(4),this.selection=n.readShort(),this.firstCharIndex=n.readShort(),this.lastCharIndex=n.readShort(),0<this.version&&(this.ascent=n.readShort(),this.descent=n.readShort(),this.lineGap=n.readShort(),this.winAscent=n.readShort(),this.winDescent=n.readShort(),this.codePageRange=function(){var t,e;for(e=[],t=0;t<2;++t)e.push(n.readInt());return e}(),1<this.version))return this.xHeight=n.readShort(),this.capHeight=n.readShort(),this.defaultChar=n.readShort(),this.breakChar=n.readShort(),this.maxContext=n.readShort()},e}(),v=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return f(e,h),e.prototype.tag=\"post\",e.prototype.parse=function(r){var t,e,n,i;switch(r.pos=this.offset,this.format=r.readInt(),this.italicAngle=r.readInt(),this.underlinePosition=r.readShort(),this.underlineThickness=r.readShort(),this.isFixedPitch=r.readInt(),this.minMemType42=r.readInt(),this.maxMemType42=r.readInt(),this.minMemType1=r.readInt(),this.maxMemType1=r.readInt(),this.format){case 65536:break;case 131072:for(e=r.readUInt16(),this.glyphNameIndex=[],n=0;0<=e?n<e:e<n;0<=e?++n:--n)this.glyphNameIndex.push(r.readUInt16());for(this.names=[],i=[];r.pos<this.offset+this.length;)t=r.readByte(),i.push(this.names.push(r.readString(t)));return i;case 151552:return e=r.readUInt16(),this.offsets=r.read(e);case 196608:break;case 262144:return this.map=function(){var t,e,n;for(n=[],t=0,e=this.file.maxp.numGlyphs;0<=e?t<e:e<t;0<=e?++t:--t)n.push(r.readUInt32());return n}.call(this)}},e}(),w=function(t,e){this.raw=t,this.length=t.length,this.platformID=e.platformID,this.encodingID=e.encodingID,this.languageID=e.languageID},b=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return f(e,h),e.prototype.tag=\"name\",e.prototype.parse=function(t){var e,n,r,i,o,a,s,l,h,u,c,f;for(t.pos=this.offset,t.readShort(),e=t.readShort(),a=t.readShort(),n=[],i=h=0;0<=e?h<e:e<h;i=0<=e?++h:--h)n.push({platformID:t.readShort(),encodingID:t.readShort(),languageID:t.readShort(),nameID:t.readShort(),length:t.readShort(),offset:this.offset+a+t.readShort()});for(s={},i=u=0,c=n.length;u<c;i=++u)r=n[i],t.pos=r.offset,l=t.readString(r.length),o=new w(l,r),null==s[f=r.nameID]&&(s[f]=[]),s[r.nameID].push(o);this.strings=s,this.copyright=s[0],this.fontFamily=s[1],this.fontSubfamily=s[2],this.uniqueSubfamily=s[3],this.fontName=s[4],this.version=s[5];try{this.postscriptName=s[6][0].raw.replace(/[\\x00-\\x19\\x80-\\xff]/g,\"\")}catch(t){this.postscriptName=s[4][0].raw.replace(/[\\x00-\\x19\\x80-\\xff]/g,\"\")}return this.trademark=s[7],this.manufacturer=s[8],this.designer=s[9],this.description=s[10],this.vendorUrl=s[11],this.designerUrl=s[12],this.license=s[13],this.licenseUrl=s[14],this.preferredFamily=s[15],this.preferredSubfamily=s[17],this.compatibleFull=s[18],this.sampleText=s[19]},e}(),x=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return f(e,h),e.prototype.tag=\"maxp\",e.prototype.parse=function(t){return t.pos=this.offset,this.version=t.readInt(),this.numGlyphs=t.readUInt16(),this.maxPoints=t.readUInt16(),this.maxContours=t.readUInt16(),this.maxCompositePoints=t.readUInt16(),this.maxComponentContours=t.readUInt16(),this.maxZones=t.readUInt16(),this.maxTwilightPoints=t.readUInt16(),this.maxStorage=t.readUInt16(),this.maxFunctionDefs=t.readUInt16(),this.maxInstructionDefs=t.readUInt16(),this.maxStackElements=t.readUInt16(),this.maxSizeOfInstructions=t.readUInt16(),this.maxComponentElements=t.readUInt16(),this.maxComponentDepth=t.readUInt16()},e}(),N=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return f(e,h),e.prototype.tag=\"hmtx\",e.prototype.parse=function(n){var t,r,i,e,o,a,s;for(n.pos=this.offset,this.metrics=[],e=0,a=this.file.hhea.numberOfMetrics;0<=a?e<a:a<e;0<=a?++e:--e)this.metrics.push({advance:n.readUInt16(),lsb:n.readInt16()});for(r=this.file.maxp.numGlyphs-this.file.hhea.numberOfMetrics,this.leftSideBearings=function(){var t,e;for(e=[],t=0;0<=r?t<r:r<t;0<=r?++t:--t)e.push(n.readInt16());return e}(),this.widths=function(){var t,e,n,r;for(r=[],t=0,e=(n=this.metrics).length;t<e;t++)i=n[t],r.push(i.advance);return r}.call(this),t=this.widths[this.widths.length-1],s=[],o=0;0<=r?o<r:r<o;0<=r?++o:--o)s.push(this.widths.push(t));return s},e.prototype.forGlyph=function(t){return t in this.metrics?this.metrics[t]:{advance:this.metrics[this.metrics.length-1].advance,lsb:this.leftSideBearings[t-this.metrics.length]}},e}(),L=[].slice,A=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return f(e,h),e.prototype.tag=\"glyf\",e.prototype.parse=function(t){return this.cache={}},e.prototype.glyphFor=function(t){var e,n,r,i,o,a,s,l,h,u;return(t=t)in this.cache?this.cache[t]:(i=this.file.loca,e=this.file.contents,n=i.indexOf(t),0===(r=i.lengthOf(t))?this.cache[t]=null:(e.pos=this.offset+n,o=(a=new J(e.read(r))).readShort(),l=a.readShort(),u=a.readShort(),s=a.readShort(),h=a.readShort(),this.cache[t]=-1===o?new _(a,l,u,s,h):new S(a,o,l,u,s,h),this.cache[t]))},e.prototype.encode=function(t,e,n){var r,i,o,a,s;for(o=[],i=[],a=0,s=e.length;a<s;a++)r=t[e[a]],i.push(o.length),r&&(o=o.concat(r.encode(n)));return i.push(o.length),{table:o,offsets:i}},e}(),S=function(){function t(t,e,n,r,i,o){this.raw=t,this.numberOfContours=e,this.xMin=n,this.yMin=r,this.xMax=i,this.yMax=o,this.compound=!1}return t.prototype.encode=function(){return this.raw.data},t}(),_=function(){function t(t,e,n,r,i){var o,a;for(this.raw=t,this.xMin=e,this.yMin=n,this.xMax=r,this.yMax=i,this.compound=!0,this.glyphIDs=[],this.glyphOffsets=[],o=this.raw;a=o.readShort(),this.glyphOffsets.push(o.pos),this.glyphIDs.push(o.readShort()),32&a;)o.pos+=1&a?4:2,128&a?o.pos+=8:64&a?o.pos+=4:8&a&&(o.pos+=2)}return 1,8,32,64,128,t.prototype.encode=function(t){var e,n,r,i,o;for(n=new J(L.call(this.raw.data)),e=r=0,i=(o=this.glyphIDs).length;r<i;e=++r)o[e],n.pos=this.glyphOffsets[e];return n.data},t}(),F=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return f(e,h),e.prototype.tag=\"loca\",e.prototype.parse=function(r){var t;return r.pos=this.offset,t=this.file.head.indexToLocFormat,this.offsets=0===t?function(){var t,e,n;for(n=[],t=0,e=this.length;t<e;t+=2)n.push(2*r.readUInt16());return n}.call(this):function(){var t,e,n;for(n=[],t=0,e=this.length;t<e;t+=4)n.push(r.readUInt32());return n}.call(this)},e.prototype.indexOf=function(t){return this.offsets[t]},e.prototype.lengthOf=function(t){return this.offsets[t+1]-this.offsets[t]},e.prototype.encode=function(t,e){for(var n=new Uint32Array(this.offsets.length),r=0,i=0,o=0;o<n.length;++o)if(n[o]=r,i<e.length&&e[i]==o){++i,n[o]=r;var a=this.offsets[o],s=this.offsets[o+1]-a;0<s&&(r+=s)}for(var l=new Array(4*n.length),h=0;h<n.length;++h)l[4*h+3]=255&n[h],l[4*h+2]=(65280&n[h])>>8,l[4*h+1]=(16711680&n[h])>>16,l[4*h]=(4278190080&n[h])>>24;return l},e}(),P=function(){function t(t){this.font=t,this.subset={},this.unicodes={},this.next=33}return t.prototype.generateCmap=function(){var t,e,n,r,i;for(e in r=this.font.cmap.tables[0].codeMap,t={},i=this.subset)n=i[e],t[e]=r[n];return t},t.prototype.glyphsFor=function(t){var e,n,r,i,o,a,s;for(r={},o=0,a=t.length;o<a;o++)r[i=t[o]]=this.font.glyf.glyphFor(i);for(i in e=[],r)(null!=(n=r[i])?n.compound:void 0)&&e.push.apply(e,n.glyphIDs);if(0<e.length)for(i in s=this.glyphsFor(e))n=s[i],r[i]=n;return r},t.prototype.encode=function(t,e){var n,r,i,o,a,s,l,h,u,c,f,p,d,g,m;for(r in n=y.encode(this.generateCmap(),\"unicode\"),o=this.glyphsFor(t),f={0:0},m=n.charMap)f[(s=m[r]).old]=s.new;for(p in c=n.maxGlyphID,o)p in f||(f[p]=c++);return h=function(t){var e,n;for(e in n={},t)n[t[e]]=e;return n}(f),u=Object.keys(h).sort(function(t,e){return t-e}),d=function(){var t,e,n;for(n=[],t=0,e=u.length;t<e;t++)a=u[t],n.push(h[a]);return n}(),i=this.font.glyf.encode(o,d,f),l=this.font.loca.encode(i.offsets,d),g={cmap:this.font.cmap.raw(),glyf:i.table,loca:l,hmtx:this.font.hmtx.raw(),hhea:this.font.hhea.raw(),maxp:this.font.maxp.raw(),post:this.font.post.raw(),name:this.font.name.raw(),head:this.font.head.encode(e)},this.font.os2.exists&&(g[\"OS/2\"]=this.font.os2.raw()),this.font.directory.encode(g)},t}();t.API.PDFObject=function(){var o;function a(){}return o=function(t,e){return(Array(e+1).join(\"0\")+t).slice(-e)},a.convert=function(r){var i,t,e,n;if(Array.isArray(r))return\"[\"+function(){var t,e,n;for(n=[],t=0,e=r.length;t<e;t++)i=r[t],n.push(a.convert(i));return n}().join(\" \")+\"]\";if(\"string\"==typeof r)return\"/\"+r;if(null!=r?r.isString:void 0)return\"(\"+r+\")\";if(r instanceof Date)return\"(D:\"+o(r.getUTCFullYear(),4)+o(r.getUTCMonth(),2)+o(r.getUTCDate(),2)+o(r.getUTCHours(),2)+o(r.getUTCMinutes(),2)+o(r.getUTCSeconds(),2)+\"Z)\";if(\"[object Object]\"!=={}.toString.call(r))return\"\"+r;for(t in e=[\"<<\"],r)n=r[t],e.push(\"/\"+t+\" \"+a.convert(n));return e.push(\">>\"),e.join(\"\\n\")},a}()}(lt),\n/*\n  # PNG.js\n  # Copyright (c) 2011 Devon Govett\n  # MIT LICENSE\n  # \n  # \n  */\nNt=\"undefined\"!=typeof self&&self||\"undefined\"!=typeof window&&window||\"undefined\"!=typeof global&&global||Function('return typeof this === \"object\" && this.content')()||Function(\"return this\")(),Lt=function(){var h,n,r;function i(t){var e,n,r,i,o,a,s,l,h,u,c,f,p,d;for(this.data=t,this.pos=8,this.palette=[],this.imgData=[],this.transparency={},this.animation=null,this.text={},a=null;;){switch(e=this.readUInt32(),h=function(){var t,e;for(e=[],t=0;t<4;++t)e.push(String.fromCharCode(this.data[this.pos++]));return e}.call(this).join(\"\")){case\"IHDR\":this.width=this.readUInt32(),this.height=this.readUInt32(),this.bits=this.data[this.pos++],this.colorType=this.data[this.pos++],this.compressionMethod=this.data[this.pos++],this.filterMethod=this.data[this.pos++],this.interlaceMethod=this.data[this.pos++];break;case\"acTL\":this.animation={numFrames:this.readUInt32(),numPlays:this.readUInt32()||1/0,frames:[]};break;case\"PLTE\":this.palette=this.read(e);break;case\"fcTL\":a&&this.animation.frames.push(a),this.pos+=4,a={width:this.readUInt32(),height:this.readUInt32(),xOffset:this.readUInt32(),yOffset:this.readUInt32()},o=this.readUInt16(),i=this.readUInt16()||100,a.delay=1e3*o/i,a.disposeOp=this.data[this.pos++],a.blendOp=this.data[this.pos++],a.data=[];break;case\"IDAT\":case\"fdAT\":for(\"fdAT\"===h&&(this.pos+=4,e-=4),t=(null!=a?a.data:void 0)||this.imgData,f=0;0<=e?f<e:e<f;0<=e?++f:--f)t.push(this.data[this.pos++]);break;case\"tRNS\":switch(this.transparency={},this.colorType){case 3:if(r=this.palette.length/3,this.transparency.indexed=this.read(e),this.transparency.indexed.length>r)throw new Error(\"More transparent colors than palette size\");if(0<(u=r-this.transparency.indexed.length))for(p=0;0<=u?p<u:u<p;0<=u?++p:--p)this.transparency.indexed.push(255);break;case 0:this.transparency.grayscale=this.read(e)[0];break;case 2:this.transparency.rgb=this.read(e)}break;case\"tEXt\":s=(c=this.read(e)).indexOf(0),l=String.fromCharCode.apply(String,c.slice(0,s)),this.text[l]=String.fromCharCode.apply(String,c.slice(s+1));break;case\"IEND\":return a&&this.animation.frames.push(a),this.colors=function(){switch(this.colorType){case 0:case 3:case 4:return 1;case 2:case 6:return 3}}.call(this),this.hasAlphaChannel=4===(d=this.colorType)||6===d,n=this.colors+(this.hasAlphaChannel?1:0),this.pixelBitlength=this.bits*n,this.colorSpace=function(){switch(this.colors){case 1:return\"DeviceGray\";case 3:return\"DeviceRGB\"}}.call(this),void(this.imgData=new Uint8Array(this.imgData));default:this.pos+=e}if(this.pos+=4,this.pos>this.data.length)throw new Error(\"Incomplete or corrupt PNG file\")}}i.load=function(t,e,n){var r;return\"function\"==typeof e&&(n=e),(r=new XMLHttpRequest).open(\"GET\",t,!0),r.responseType=\"arraybuffer\",r.onload=function(){var t;return t=new i(new Uint8Array(r.response||r.mozResponseArrayBuffer)),\"function\"==typeof(null!=e?e.getContext:void 0)&&t.render(e),\"function\"==typeof n?n(t):void 0},r.send(null)},i.prototype.read=function(t){var e,n;for(n=[],e=0;0<=t?e<t:t<e;0<=t?++e:--e)n.push(this.data[this.pos++]);return n},i.prototype.readUInt32=function(){return this.data[this.pos++]<<24|this.data[this.pos++]<<16|this.data[this.pos++]<<8|this.data[this.pos++]},i.prototype.readUInt16=function(){return this.data[this.pos++]<<8|this.data[this.pos++]},i.prototype.decodePixels=function(C){var B=this.pixelBitlength/8,j=new Uint8Array(this.width*this.height*B),E=0,M=this;if(null==C&&(C=this.imgData),0===C.length)return new Uint8Array(0);function t(t,e,n,r){var i,o,a,s,l,h,u,c,f,p,d,g,m,y,v,w,b,x,N,L,A,S=Math.ceil((M.width-t)/n),_=Math.ceil((M.height-e)/r),F=M.width==S&&M.height==_;for(y=B*S,g=F?j:new Uint8Array(y*_),h=C.length,o=m=0;m<_&&E<h;){switch(C[E++]){case 0:for(s=b=0;b<y;s=b+=1)g[o++]=C[E++];break;case 1:for(s=x=0;x<y;s=x+=1)i=C[E++],l=s<B?0:g[o-B],g[o++]=(i+l)%256;break;case 2:for(s=N=0;N<y;s=N+=1)i=C[E++],a=(s-s%B)/B,v=m&&g[(m-1)*y+a*B+s%B],g[o++]=(v+i)%256;break;case 3:for(s=L=0;L<y;s=L+=1)i=C[E++],a=(s-s%B)/B,l=s<B?0:g[o-B],v=m&&g[(m-1)*y+a*B+s%B],g[o++]=(i+Math.floor((l+v)/2))%256;break;case 4:for(s=A=0;A<y;s=A+=1)i=C[E++],a=(s-s%B)/B,l=s<B?0:g[o-B],0===m?v=w=0:(v=g[(m-1)*y+a*B+s%B],w=a&&g[(m-1)*y+(a-1)*B+s%B]),u=l+v-w,c=Math.abs(u-l),p=Math.abs(u-v),d=Math.abs(u-w),f=c<=p&&c<=d?l:p<=d?v:w,g[o++]=(i+f)%256;break;default:throw new Error(\"Invalid filter algorithm: \"+C[E-1])}if(!F){var P=((e+m*r)*M.width+t)*B,k=m*y;for(s=0;s<S;s+=1){for(var I=0;I<B;I+=1)j[P++]=g[k++];P+=(n-1)*B}}m++}}return C=(C=new kt(C)).getBytes(),1==M.interlaceMethod?(t(0,0,8,8),t(4,0,8,8),t(0,4,4,8),t(2,0,4,4),t(0,2,2,4),t(1,0,2,2),t(0,1,1,2)):t(0,0,1,1),j},i.prototype.decodePalette=function(){var t,e,n,r,i,o,a,s,l;for(n=this.palette,o=this.transparency.indexed||[],i=new Uint8Array((o.length||0)+n.length),r=0,n.length,e=a=t=0,s=n.length;a<s;e=a+=3)i[r++]=n[e],i[r++]=n[e+1],i[r++]=n[e+2],i[r++]=null!=(l=o[t++])?l:255;return i},i.prototype.copyToImageData=function(t,e){var n,r,i,o,a,s,l,h,u,c,f;if(r=this.colors,u=null,n=this.hasAlphaChannel,this.palette.length&&(u=null!=(f=this._decodedPalette)?f:this._decodedPalette=this.decodePalette(),r=4,n=!0),h=(i=t.data||t).length,a=u||e,o=s=0,1===r)for(;o<h;)l=u?4*e[o/4]:s,c=a[l++],i[o++]=c,i[o++]=c,i[o++]=c,i[o++]=n?a[l++]:255,s=l;else for(;o<h;)l=u?4*e[o/4]:s,i[o++]=a[l++],i[o++]=a[l++],i[o++]=a[l++],i[o++]=n?a[l++]:255,s=l},i.prototype.decode=function(){var t;return t=new Uint8Array(this.width*this.height*4),this.copyToImageData(t,this.decodePixels()),t};try{n=Nt.document.createElement(\"canvas\"),r=n.getContext(\"2d\")}catch(t){return-1}return h=function(t){var e;return r.width=t.width,r.height=t.height,r.clearRect(0,0,t.width,t.height),r.putImageData(t,0,0),(e=new Image).src=n.toDataURL(),e},i.prototype.decodeFrames=function(t){var e,n,r,i,o,a,s,l;if(this.animation){for(l=[],n=o=0,a=(s=this.animation.frames).length;o<a;n=++o)e=s[n],r=t.createImageData(e.width,e.height),i=this.decodePixels(new Uint8Array(e.data)),this.copyToImageData(r,i),e.imageData=r,l.push(e.image=h(r));return l}},i.prototype.renderFrame=function(t,e){var n,r,i;return n=(r=this.animation.frames)[e],i=r[e-1],0===e&&t.clearRect(0,0,this.width,this.height),1===(null!=i?i.disposeOp:void 0)?t.clearRect(i.xOffset,i.yOffset,i.width,i.height):2===(null!=i?i.disposeOp:void 0)&&t.putImageData(i.imageData,i.xOffset,i.yOffset),0===n.blendOp&&t.clearRect(n.xOffset,n.yOffset,n.width,n.height),t.drawImage(n.image,n.xOffset,n.yOffset)},i.prototype.animate=function(n){var r,i,o,a,s,t,l=this;return i=0,t=this.animation,a=t.numFrames,o=t.frames,s=t.numPlays,(r=function(){var t,e;if(t=i++%a,e=o[t],l.renderFrame(n,t),1<a&&i/a<s)return l.animation._timeout=setTimeout(r,e.delay)})()},i.prototype.stopAnimation=function(){var t;return clearTimeout(null!=(t=this.animation)?t._timeout:void 0)},i.prototype.render=function(t){var e,n;return t._png&&t._png.stopAnimation(),t._png=this,t.width=this.width,t.height=this.height,e=t.getContext(\"2d\"),this.animation?(this.decodeFrames(e),this.animate(e)):(n=e.createImageData(this.width,this.height),this.copyToImageData(n,this.decodePixels()),e.putImageData(n,0,0))},i}(),Nt.PNG=Lt;\n/*\n   * Extracted from pdf.js\n   * https://github.com/andreasgal/pdf.js\n   *\n   * Copyright (c) 2011 Mozilla Foundation\n   *\n   * Contributors: Andreas Gal <gal@mozilla.com>\n   *               Chris G Jones <cjones@mozilla.com>\n   *               Shaon Barman <shaon.barman@gmail.com>\n   *               Vivien Nicolas <21@vingtetun.org>\n   *               Justin D'Arcangelo <justindarc@gmail.com>\n   *               Yury Delendik\n   *\n   * \n   */\nvar Pt=function(){function t(){this.pos=0,this.bufferLength=0,this.eof=!1,this.buffer=null}return t.prototype={ensureBuffer:function(t){var e=this.buffer,n=e?e.byteLength:0;if(t<n)return e;for(var r=512;r<t;)r<<=1;for(var i=new Uint8Array(r),o=0;o<n;++o)i[o]=e[o];return this.buffer=i},getByte:function(){for(var t=this.pos;this.bufferLength<=t;){if(this.eof)return null;this.readBlock()}return this.buffer[this.pos++]},getBytes:function(t){var e=this.pos;if(t){this.ensureBuffer(e+t);for(var n=e+t;!this.eof&&this.bufferLength<n;)this.readBlock();var r=this.bufferLength;r<n&&(n=r)}else{for(;!this.eof;)this.readBlock();n=this.bufferLength}return this.pos=n,this.buffer.subarray(e,n)},lookChar:function(){for(var t=this.pos;this.bufferLength<=t;){if(this.eof)return null;this.readBlock()}return String.fromCharCode(this.buffer[this.pos])},getChar:function(){for(var t=this.pos;this.bufferLength<=t;){if(this.eof)return null;this.readBlock()}return String.fromCharCode(this.buffer[this.pos++])},makeSubStream:function(t,e,n){for(var r=t+e;this.bufferLength<=r&&!this.eof;)this.readBlock();return new Stream(this.buffer,t,e,n)},skip:function(t){t||(t=1),this.pos+=t},reset:function(){this.pos=0}},t}(),kt=function(){if(\"undefined\"!=typeof Uint32Array){var k=new Uint32Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),I=new Uint32Array([3,4,5,6,7,8,9,10,65547,65549,65551,65553,131091,131095,131099,131103,196643,196651,196659,196667,262211,262227,262243,262259,327811,327843,327875,327907,258,258,258]),C=new Uint32Array([1,2,3,4,65541,65543,131081,131085,196625,196633,262177,262193,327745,327777,393345,393409,459009,459137,524801,525057,590849,591361,657409,658433,724993,727041,794625,798721,868353,876545]),B=[new Uint32Array([459008,524368,524304,524568,459024,524400,524336,590016,459016,524384,524320,589984,524288,524416,524352,590048,459012,524376,524312,589968,459028,524408,524344,590032,459020,524392,524328,59e4,524296,524424,524360,590064,459010,524372,524308,524572,459026,524404,524340,590024,459018,524388,524324,589992,524292,524420,524356,590056,459014,524380,524316,589976,459030,524412,524348,590040,459022,524396,524332,590008,524300,524428,524364,590072,459009,524370,524306,524570,459025,524402,524338,590020,459017,524386,524322,589988,524290,524418,524354,590052,459013,524378,524314,589972,459029,524410,524346,590036,459021,524394,524330,590004,524298,524426,524362,590068,459011,524374,524310,524574,459027,524406,524342,590028,459019,524390,524326,589996,524294,524422,524358,590060,459015,524382,524318,589980,459031,524414,524350,590044,459023,524398,524334,590012,524302,524430,524366,590076,459008,524369,524305,524569,459024,524401,524337,590018,459016,524385,524321,589986,524289,524417,524353,590050,459012,524377,524313,589970,459028,524409,524345,590034,459020,524393,524329,590002,524297,524425,524361,590066,459010,524373,524309,524573,459026,524405,524341,590026,459018,524389,524325,589994,524293,524421,524357,590058,459014,524381,524317,589978,459030,524413,524349,590042,459022,524397,524333,590010,524301,524429,524365,590074,459009,524371,524307,524571,459025,524403,524339,590022,459017,524387,524323,589990,524291,524419,524355,590054,459013,524379,524315,589974,459029,524411,524347,590038,459021,524395,524331,590006,524299,524427,524363,590070,459011,524375,524311,524575,459027,524407,524343,590030,459019,524391,524327,589998,524295,524423,524359,590062,459015,524383,524319,589982,459031,524415,524351,590046,459023,524399,524335,590014,524303,524431,524367,590078,459008,524368,524304,524568,459024,524400,524336,590017,459016,524384,524320,589985,524288,524416,524352,590049,459012,524376,524312,589969,459028,524408,524344,590033,459020,524392,524328,590001,524296,524424,524360,590065,459010,524372,524308,524572,459026,524404,524340,590025,459018,524388,524324,589993,524292,524420,524356,590057,459014,524380,524316,589977,459030,524412,524348,590041,459022,524396,524332,590009,524300,524428,524364,590073,459009,524370,524306,524570,459025,524402,524338,590021,459017,524386,524322,589989,524290,524418,524354,590053,459013,524378,524314,589973,459029,524410,524346,590037,459021,524394,524330,590005,524298,524426,524362,590069,459011,524374,524310,524574,459027,524406,524342,590029,459019,524390,524326,589997,524294,524422,524358,590061,459015,524382,524318,589981,459031,524414,524350,590045,459023,524398,524334,590013,524302,524430,524366,590077,459008,524369,524305,524569,459024,524401,524337,590019,459016,524385,524321,589987,524289,524417,524353,590051,459012,524377,524313,589971,459028,524409,524345,590035,459020,524393,524329,590003,524297,524425,524361,590067,459010,524373,524309,524573,459026,524405,524341,590027,459018,524389,524325,589995,524293,524421,524357,590059,459014,524381,524317,589979,459030,524413,524349,590043,459022,524397,524333,590011,524301,524429,524365,590075,459009,524371,524307,524571,459025,524403,524339,590023,459017,524387,524323,589991,524291,524419,524355,590055,459013,524379,524315,589975,459029,524411,524347,590039,459021,524395,524331,590007,524299,524427,524363,590071,459011,524375,524311,524575,459027,524407,524343,590031,459019,524391,524327,589999,524295,524423,524359,590063,459015,524383,524319,589983,459031,524415,524351,590047,459023,524399,524335,590015,524303,524431,524367,590079]),9],j=[new Uint32Array([327680,327696,327688,327704,327684,327700,327692,327708,327682,327698,327690,327706,327686,327702,327694,0,327681,327697,327689,327705,327685,327701,327693,327709,327683,327699,327691,327707,327687,327703,327695,0]),5];return(t.prototype=Object.create(Pt.prototype)).getBits=function(t){for(var e,n=this.codeSize,r=this.codeBuf,i=this.bytes,o=this.bytesPos;n<t;)void 0===(e=i[o++])&&E(\"Bad encoding in flate stream\"),r|=e<<n,n+=8;return e=r&(1<<t)-1,this.codeBuf=r>>t,this.codeSize=n-=t,this.bytesPos=o,e},t.prototype.getCode=function(t){for(var e=t[0],n=t[1],r=this.codeSize,i=this.codeBuf,o=this.bytes,a=this.bytesPos;r<n;){var s;void 0===(s=o[a++])&&E(\"Bad encoding in flate stream\"),i|=s<<r,r+=8}var l=e[i&(1<<n)-1],h=l>>16,u=65535&l;return(0==r||r<h||0==h)&&E(\"Bad encoding in flate stream\"),this.codeBuf=i>>h,this.codeSize=r-h,this.bytesPos=a,u},t.prototype.generateHuffmanTable=function(t){for(var e=t.length,n=0,r=0;r<e;++r)t[r]>n&&(n=t[r]);for(var i=1<<n,o=new Uint32Array(i),a=1,s=0,l=2;a<=n;++a,s<<=1,l<<=1)for(var h=0;h<e;++h)if(t[h]==a){var u=0,c=s;for(r=0;r<a;++r)u=u<<1|1&c,c>>=1;for(r=u;r<i;r+=l)o[r]=a<<16|h;++s}return[o,n]},t.prototype.readBlock=function(){function t(t,e,n,r,i){for(var o=t.getBits(n)+r;0<o--;)e[l++]=i}var e=this.getBits(3);if(1&e&&(this.eof=!0),0!=(e>>=1)){var n,r;if(1==e)n=B,r=j;else if(2==e){for(var i=this.getBits(5)+257,o=this.getBits(5)+1,a=this.getBits(4)+4,s=Array(k.length),l=0;l<a;)s[k[l++]]=this.getBits(3);for(var h=this.generateHuffmanTable(s),u=0,c=(l=0,i+o),f=new Array(c);l<c;){var p=this.getCode(h);16==p?t(this,f,2,3,u):17==p?t(this,f,3,3,u=0):18==p?t(this,f,7,11,u=0):f[l++]=u=p}n=this.generateHuffmanTable(f.slice(0,i)),r=this.generateHuffmanTable(f.slice(i,c))}else E(\"Unknown block type in flate stream\");for(var d=(_=this.buffer)?_.length:0,g=this.bufferLength;;){var m=this.getCode(n);if(m<256)d<=g+1&&(d=(_=this.ensureBuffer(g+1)).length),_[g++]=m;else{if(256==m)return void(this.bufferLength=g);var y=(m=I[m-=257])>>16;0<y&&(y=this.getBits(y));u=(65535&m)+y;m=this.getCode(r),0<(y=(m=C[m])>>16)&&(y=this.getBits(y));var v=(65535&m)+y;d<=g+u&&(d=(_=this.ensureBuffer(g+u)).length);for(var w=0;w<u;++w,++g)_[g]=_[g-v]}}}else{var b,x=this.bytes,N=this.bytesPos;void 0===(b=x[N++])&&E(\"Bad block header in flate stream\");var L=b;void 0===(b=x[N++])&&E(\"Bad block header in flate stream\"),L|=b<<8,void 0===(b=x[N++])&&E(\"Bad block header in flate stream\");var A=b;void 0===(b=x[N++])&&E(\"Bad block header in flate stream\"),(A|=b<<8)!=(65535&~L)&&E(\"Bad uncompressed block length in flate stream\"),this.codeBuf=0,this.codeSize=0;var S=this.bufferLength,_=this.ensureBuffer(S+L),F=S+L;this.bufferLength=F;for(var P=S;P<F;++P){if(void 0===(b=x[N++])){this.eof=!0;break}_[P]=b}this.bytesPos=N}},t}function E(t){throw new Error(t)}function t(t){var e=0,n=t[e++],r=t[e++];-1!=n&&-1!=r||E(\"Invalid header in flate stream\"),8!=(15&n)&&E(\"Unknown compression method in flate stream\"),((n<<8)+r)%31!=0&&E(\"Bad FCHECK in flate stream\"),32&r&&E(\"FDICT bit set in flate stream\"),this.bytes=t,this.bytesPos=2,this.codeSize=0,this.codeBuf=0,Pt.call(this)}}();window.tmp=kt});try{module.exports=jsPDF}catch(t){}\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/jspdf/dist/jspdf.min.js\n// module id = 236\n// module chunks = 0","// Checks whether the entire input sequence can be matched\n// against the regular expression.\nexport function matches_entirely() {\n\tvar text = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n\tvar regular_expression = arguments[1];\n\n\tif (typeof regular_expression === 'string') {\n\t\tregular_expression = '^(?:' + regular_expression + ')$';\n\t}\n\n\tvar matched_groups = text.match(regular_expression);\n\treturn matched_groups && matched_groups[0].length === text.length;\n}\n//# sourceMappingURL=common.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/libphonenumber-js/es6/common.js\n// module id = 237\n// module chunks = 0","import _getIterator from 'babel-runtime/core-js/get-iterator';\n// This is a port of Google Android `libphonenumber`'s\n// `phonenumberutil.js` of 17th November, 2016.\n//\n// https://github.com/googlei18n/libphonenumber/commits/master/javascript/i18n/phonenumbers/phonenumberutil.js\n\nimport { matches_entirely } from './common';\n\nimport { parse_phone_number_and_country_phone_code, VALID_PUNCTUATION } from './parse';\n\nimport { get_phone_code, get_formats, get_format_pattern, get_format_format, get_format_leading_digits_patterns, get_format_national_prefix_formatting_rule, get_format_national_prefix_is_optional_when_formatting, get_format_international_format, get_metadata_by_country_phone_code } from './metadata';\n\n// Formats a phone number\n//\n// Example use cases:\n//\n// ```js\n// format('8005553535', 'RU', 'International')\n// format('8005553535', 'RU', 'International', metadata)\n// format({ phone: '8005553535', country: 'RU' }, 'International')\n// format({ phone: '8005553535', country: 'RU' }, 'International', metadata)\n// format('+78005553535', 'National')\n// format('+78005553535', 'National', metadata)\n// ```\n//\nexport default function format(first_argument, second_argument, third_argument, fourth_argument) {\n\tvar _sort_out_arguments = sort_out_arguments(first_argument, second_argument, third_argument, fourth_argument),\n\t    input = _sort_out_arguments.input,\n\t    format_type = _sort_out_arguments.format_type,\n\t    metadata = _sort_out_arguments.metadata;\n\n\tvar country_metadata = void 0;\n\n\tif (input.country) {\n\t\tcountry_metadata = metadata.countries[input.country];\n\t}\n\n\tvar _parse_phone_number_a = parse_phone_number_and_country_phone_code(input.phone, metadata),\n\t    country_phone_code = _parse_phone_number_a.country_phone_code,\n\t    number = _parse_phone_number_a.number;\n\n\tif (country_phone_code) {\n\t\t// Check country restriction\n\t\tif (input.country && country_metadata && country_phone_code !== get_phone_code(country_metadata)) {\n\t\t\treturn input.phone;\n\t\t}\n\n\t\tcountry_metadata = get_metadata_by_country_phone_code(country_phone_code, metadata);\n\t}\n\n\tif (!country_metadata) {\n\t\treturn input.phone;\n\t}\n\n\tswitch (format_type) {\n\t\tcase 'International':\n\t\t\tif (!number) {\n\t\t\t\treturn '+' + get_phone_code(country_metadata);\n\t\t\t}\n\t\t\tvar national_number = format_national_number(number, 'International', false, country_metadata);\n\t\t\treturn '+' + get_phone_code(country_metadata) + ' ' + national_number;\n\n\t\tcase 'International_plaintext':\n\t\t\treturn '+' + get_phone_code(country_metadata) + input.phone;\n\n\t\tcase 'National':\n\t\t\tif (!number) {\n\t\t\t\treturn '';\n\t\t\t}\n\t\t\treturn format_national_number(number, 'National', false, country_metadata);\n\t}\n}\n\n// This was originally set to $1 but there are some countries for which the\n// first group is not used in the national pattern (e.g. Argentina) so the $1\n// group does not match correctly.  Therefore, we use \\d, so that the first\n// group actually used in the pattern will be matched.\nexport var FIRST_GROUP_PATTERN = /(\\$\\d)/;\n\nexport function format_national_number_using_format(number, format, international, enforce_national_prefix, country_metadata) {\n\tvar format_pattern_matcher = new RegExp(get_format_pattern(format));\n\n\tvar national_prefix_formatting_rule = get_format_national_prefix_formatting_rule(format, country_metadata);\n\n\t// National prefix is omitted if there's no national prefix formatting rule\n\t// set for this country, or when this rule is set but\n\t// national prefix is optional for this phone number format\n\t// (and it is not enforced explicitly)\n\tvar national_prefix_may_be_omitted = !national_prefix_formatting_rule || national_prefix_formatting_rule && get_format_national_prefix_is_optional_when_formatting(format, country_metadata) && !enforce_national_prefix;\n\n\tif (!international && !national_prefix_may_be_omitted) {\n\t\treturn number.replace(format_pattern_matcher, get_format_format(format).replace(FIRST_GROUP_PATTERN, national_prefix_formatting_rule));\n\t}\n\n\tvar formatted_number = number.replace(format_pattern_matcher, international ? get_format_international_format(format) : get_format_format(format));\n\n\tif (international) {\n\t\treturn local_to_international_style(formatted_number);\n\t}\n\n\treturn formatted_number;\n}\n\nexport function format_national_number(number, format_as, enforce_national_prefix, country_metadata) {\n\tvar format = choose_format_for_number(get_formats(country_metadata), number);\n\n\tif (!format) {\n\t\treturn number;\n\t}\n\n\treturn format_national_number_using_format(number, format, format_as === 'International', enforce_national_prefix, country_metadata);\n}\n\nexport function choose_format_for_number(available_formats, national_number) {\n\tvar _iteratorNormalCompletion = true;\n\tvar _didIteratorError = false;\n\tvar _iteratorError = undefined;\n\n\ttry {\n\t\tfor (var _iterator = _getIterator(available_formats), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n\t\t\tvar _format = _step.value;\n\n\t\t\t// Validate leading digits\n\t\t\tif (get_format_leading_digits_patterns(_format).length > 0) {\n\t\t\t\t// The last leading_digits_pattern is used here, as it is the most detailed\n\t\t\t\tvar last_leading_digits_pattern = get_format_leading_digits_patterns(_format)[get_format_leading_digits_patterns(_format).length - 1];\n\n\t\t\t\t// If leading digits don't match then move on to the next phone number format\n\t\t\t\tif (national_number.search(last_leading_digits_pattern) !== 0) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Check that the national number matches the phone number format regular expression\n\t\t\tif (matches_entirely(national_number, new RegExp(get_format_pattern(_format)))) {\n\t\t\t\treturn _format;\n\t\t\t}\n\t\t}\n\t} catch (err) {\n\t\t_didIteratorError = true;\n\t\t_iteratorError = err;\n\t} finally {\n\t\ttry {\n\t\t\tif (!_iteratorNormalCompletion && _iterator.return) {\n\t\t\t\t_iterator.return();\n\t\t\t}\n\t\t} finally {\n\t\t\tif (_didIteratorError) {\n\t\t\t\tthrow _iteratorError;\n\t\t\t}\n\t\t}\n\t}\n}\n\n// Removes brackets and replaces dashes with spaces.\n//\n// E.g. \"(999) 111-22-33\" -> \"999 111 22 33\"\n//\nexport function local_to_international_style(local) {\n\treturn local.replace(new RegExp('[' + VALID_PUNCTUATION + ']+', 'g'), ' ').trim();\n}\n\n// Sort out arguments\nfunction sort_out_arguments() {\n\tvar first_argument = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n\tvar second_argument = arguments[1];\n\tvar third_argument = arguments[2];\n\tvar fourth_argument = arguments[3];\n\n\tvar input = void 0;\n\tvar format_type = void 0;\n\tvar metadata = void 0;\n\n\t// Sort out arguments\n\tif (typeof first_argument === 'string') {\n\t\t// If country code is supplied\n\t\tif (typeof third_argument === 'string') {\n\t\t\t// Will be `parse()`d later in code\n\t\t\tinput = {\n\t\t\t\tphone: first_argument,\n\t\t\t\tcountry: second_argument\n\t\t\t};\n\n\t\t\tformat_type = third_argument;\n\t\t\tmetadata = fourth_argument;\n\t\t}\n\t\t// Just an international phone number is supplied\n\t\telse {\n\t\t\t\t// Will be `parse()`d later in code\n\t\t\t\tinput = {\n\t\t\t\t\tphone: first_argument\n\t\t\t\t};\n\n\t\t\t\tif (typeof second_argument !== 'string') {\n\t\t\t\t\tthrow new Error('Format type argument not passed for `format()`');\n\t\t\t\t}\n\n\t\t\t\tformat_type = second_argument;\n\t\t\t\tmetadata = third_argument;\n\t\t\t}\n\t} else {\n\t\tinput = first_argument;\n\t\tformat_type = second_argument;\n\t\tmetadata = third_argument;\n\t}\n\n\t// Sanity check\n\tif (!metadata) {\n\t\tthrow new Error('Metadata not passed');\n\t}\n\n\tswitch (format_type) {\n\t\tcase 'International':\n\t\tcase 'International_plaintext':\n\t\tcase 'National':\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tthrow new Error('Unknown format type argument passed to \"format()\": \"' + format_type + '\"');\n\t}\n\n\treturn { input: input, format_type: format_type, metadata: metadata };\n}\n//# sourceMappingURL=format.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/libphonenumber-js/es6/format.js\n// module id = 238\n// module chunks = 0","import parse, { is_viable_phone_number } from './parse';\n\nimport { matches_entirely } from './common';\n\nimport { get_national_number_pattern, get_type_fixed_line, get_type_mobile, get_type_toll_free, get_type_premium_rate, get_type_personal_number, get_type_voice_mail, get_type_uan, get_type_pager, get_type_voip, get_type_shared_cost } from './metadata';\n\n// Finds out national phone number type (fixed line, mobile, etc)\nexport default function get_number_type(first_argument, second_argument, third_argument) {\n\tvar _sort_out_arguments = sort_out_arguments(first_argument, second_argument, third_argument),\n\t    input = _sort_out_arguments.input,\n\t    metadata = _sort_out_arguments.metadata;\n\n\t// Sanity check\n\n\n\tif (!metadata) {\n\t\tthrow new Error('Metadata not passed');\n\t}\n\n\t// When no input was passed\n\tif (!input) {\n\t\treturn;\n\t}\n\n\t// When `parse()` returned `{}`\n\t// meaning that the phone number is not a valid one.\n\tif (!input.country) {\n\t\treturn;\n\t}\n\n\tvar national_number = input.phone;\n\tvar country_metadata = metadata.countries[input.country];\n\n\t// The following is copy-pasted from the original function:\n\t// https://github.com/googlei18n/libphonenumber/blob/3ea547d4fbaa2d0b67588904dfa5d3f2557c27ff/javascript/i18n/phonenumbers/phonenumberutil.js#L2835\n\n\t// Is this national number even valid for this country\n\tif (!is_of_type(national_number, get_national_number_pattern(country_metadata))) {\n\t\treturn; // 'UNKNOWN'\n\t}\n\n\tif (is_of_type(national_number, get_type_premium_rate(country_metadata))) {\n\t\treturn 'PREMIUM_RATE';\n\t}\n\n\tif (is_of_type(national_number, get_type_toll_free(country_metadata))) {\n\t\treturn 'TOLL_FREE';\n\t}\n\n\t/* istanbul ignore if */\n\tif (is_of_type(national_number, get_type_shared_cost(country_metadata))) {\n\t\treturn 'SHARED_COST';\n\t}\n\n\t/* istanbul ignore if */\n\tif (is_of_type(national_number, get_type_voip(country_metadata))) {\n\t\treturn 'VOIP';\n\t}\n\n\tif (is_of_type(national_number, get_type_personal_number(country_metadata))) {\n\t\treturn 'PERSONAL_NUMBER';\n\t}\n\n\t/* istanbul ignore if */\n\tif (is_of_type(national_number, get_type_pager(country_metadata))) {\n\t\treturn 'PAGER';\n\t}\n\n\t/* istanbul ignore if */\n\tif (is_of_type(national_number, get_type_uan(country_metadata))) {\n\t\treturn 'UAN';\n\t}\n\n\t/* istanbul ignore if */\n\tif (is_of_type(national_number, get_type_voice_mail(country_metadata))) {\n\t\treturn 'VOICEMAIL';\n\t}\n\n\t// Is it fixed line number\n\tif (is_of_type(national_number, get_type_fixed_line(country_metadata))) {\n\t\t// Because duplicate regular expressions are removed\n\t\t// to reduce metadata size, if there's no \"mobile\" pattern\n\t\t// then it means it was removed due to being a duplicate of some other pattern.\n\t\t//\n\t\tif (!get_type_mobile(country_metadata)) {\n\t\t\treturn 'FIXED_LINE_OR_MOBILE';\n\t\t}\n\n\t\t// Check if the number happens to qualify as both fixed line and mobile.\n\t\t// (no such country in the minimal metadata set)\n\t\t/* istanbul ignore if */\n\t\tif (is_of_type(national_number, get_type_mobile(country_metadata))) {\n\t\t\treturn 'FIXED_LINE_OR_MOBILE';\n\t\t}\n\n\t\treturn 'FIXED_LINE';\n\t}\n\n\tif (is_of_type(national_number, get_type_mobile(country_metadata))) {\n\t\treturn 'MOBILE';\n\t}\n\n\t// return 'UNKNOWN'\n}\n\nexport function is_of_type(national_number, type) {\n\t// // Check if any possible number lengths are present;\n\t// // if so, we use them to avoid checking\n\t// // the validation pattern if they don't match.\n\t// // If they are absent, this means they match\n\t// // the general description, which we have\n\t// // already checked before a specific number type.\n\t// if (get_possible_lengths(type) &&\n\t// \tget_possible_lengths(type).indexOf(national_number.length) === -1)\n\t// {\n\t// \treturn false\n\t// }\n\n\t// get_type_pattern(type) === type\n\treturn matches_entirely(national_number, type);\n}\n\n// Sort out arguments\nexport function sort_out_arguments(first_argument, second_argument, third_argument) {\n\tvar input = void 0;\n\tvar metadata = void 0;\n\n\tif (typeof first_argument === 'string') {\n\t\t// If country code is supplied\n\t\tif (typeof second_argument === 'string') {\n\t\t\tmetadata = third_argument;\n\n\t\t\t// `parse` extracts phone numbers from raw text,\n\t\t\t// therefore it will cut off all \"garbage\" characters,\n\t\t\t// while this `validate` function needs to verify\n\t\t\t// that the phone number contains no \"garbage\"\n\t\t\t// therefore the explicit `is_viable_phone_number` check.\n\t\t\tif (is_viable_phone_number(first_argument)) {\n\t\t\t\tinput = parse(first_argument, second_argument, metadata);\n\t\t\t}\n\t\t}\n\t\t// Just an international phone number is supplied\n\t\telse {\n\t\t\t\tmetadata = second_argument;\n\n\t\t\t\t// `parse` extracts phone numbers from raw text,\n\t\t\t\t// therefore it will cut off all \"garbage\" characters,\n\t\t\t\t// while this `validate` function needs to verify\n\t\t\t\t// that the phone number contains no \"garbage\"\n\t\t\t\t// therefore the explicit `is_viable_phone_number` check.\n\t\t\t\tif (is_viable_phone_number(first_argument)) {\n\t\t\t\t\tinput = parse(first_argument, metadata);\n\t\t\t\t}\n\t\t\t}\n\t} else {\n\t\t// The `first_argument` must be a valid phone number\n\t\t// as a whole, not just a part of it which gets parsed here.\n\t\tif (first_argument && first_argument.phone && is_viable_phone_number(first_argument.phone)) {\n\t\t\tinput = first_argument;\n\t\t}\n\n\t\tmetadata = second_argument;\n\t}\n\n\treturn { input: input, metadata: metadata };\n}\n//# sourceMappingURL=get number type.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/libphonenumber-js/es6/get number type.js\n// module id = 239\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar core_1 = require(\"@angular/core\");\nvar ToastOptions = (function () {\n    function ToastOptions() {\n        this.positionClass = 'toast-top-right';\n        this.maxShown = 5;\n        this.newestOnTop = false;\n        this.animate = 'fade';\n        // override-able properties\n        this.toastLife = 5000;\n        this.enableHTML = false;\n        this.dismiss = 'auto'; //'auto' | 'click' | 'controlled'\n        this.messageClass = 'toast-message';\n        this.titleClass = 'toast-title';\n        this.showCloseButton = false;\n    }\n    return ToastOptions;\n}());\nToastOptions.decorators = [\n    { type: core_1.Injectable },\n];\n/** @nocollapse */\nToastOptions.ctorParameters = function () { return []; };\nexports.ToastOptions = ToastOptions;\n//# sourceMappingURL=toast-options.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-toastr/src/toast-options.js\n// module id = 240\n// module chunks = 0","import { Injectable, EventEmitter, Optional } from \"@angular/core\";\nimport { Observable } from \"rxjs/Observable\";\nimport \"rxjs/add/observable/of\";\nimport \"rxjs/add/operator/share\";\nimport \"rxjs/add/operator/map\";\nimport \"rxjs/add/operator/merge\";\nimport \"rxjs/add/operator/toArray\";\nimport \"rxjs/add/operator/take\";\nimport { TranslateParser } from \"./translate.parser\";\nimport { isDefined } from \"./util\";\nexport var MissingTranslationHandler = (function () {\n    function MissingTranslationHandler() {\n    }\n    return MissingTranslationHandler;\n}());\nexport var TranslateLoader = (function () {\n    function TranslateLoader() {\n    }\n    return TranslateLoader;\n}());\nexport var TranslateStaticLoader = (function () {\n    function TranslateStaticLoader(http, prefix, suffix) {\n        if (prefix === void 0) { prefix = \"i18n\"; }\n        if (suffix === void 0) { suffix = \".json\"; }\n        this.http = http;\n        this.prefix = prefix;\n        this.suffix = suffix;\n    }\n    /**\n     * Gets the translations from the server\n     * @param lang\n     * @returns {any}\n     */\n    TranslateStaticLoader.prototype.getTranslation = function (lang) {\n        return this.http.get(this.prefix + \"/\" + lang + this.suffix)\n            .map(function (res) { return res.json(); });\n    };\n    return TranslateStaticLoader;\n}());\nexport var TranslateService = (function () {\n    /**\n     *\n     * @param currentLoader An instance of the loader currently used\n     * @param parser An instance of the parser currently used\n     * @param missingTranslationHandler A handler for missing translations.\n     */\n    function TranslateService(currentLoader, parser, missingTranslationHandler) {\n        this.currentLoader = currentLoader;\n        this.parser = parser;\n        this.missingTranslationHandler = missingTranslationHandler;\n        /**\n         * The lang currently used\n         */\n        this.currentLang = this.defaultLang;\n        /**\n         * An EventEmitter to listen to translation change events\n         * onTranslationChange.subscribe((params: TranslationChangeEvent) => {\n         *     // do something\n         * });\n         * @type {EventEmitter<TranslationChangeEvent>}\n         */\n        this.onTranslationChange = new EventEmitter();\n        /**\n         * An EventEmitter to listen to lang change events\n         * onLangChange.subscribe((params: LangChangeEvent) => {\n         *     // do something\n         * });\n         * @type {EventEmitter<LangChangeEvent>}\n         */\n        this.onLangChange = new EventEmitter();\n        /**\n         * An EventEmitter to listen to default lang change events\n         * onDefaultLangChange.subscribe((params: DefaultLangChangeEvent) => {\n         *     // do something\n         * });\n         * @type {EventEmitter<DefaultLangChangeEvent>}\n         */\n        this.onDefaultLangChange = new EventEmitter();\n        this.translations = {};\n        this.langs = [];\n    }\n    /**\n     * Sets the default language to use as a fallback\n     * @param lang\n     */\n    TranslateService.prototype.setDefaultLang = function (lang) {\n        var _this = this;\n        if (lang === this.defaultLang) {\n            return;\n        }\n        var pending = this.retrieveTranslations(lang);\n        if (typeof pending !== \"undefined\") {\n            // on init set the defaultLang immediately\n            if (!this.defaultLang) {\n                this.defaultLang = lang;\n            }\n            pending.take(1)\n                .subscribe(function (res) {\n                _this.changeDefaultLang(lang);\n            });\n        }\n        else {\n            this.changeDefaultLang(lang);\n        }\n    };\n    /**\n     * Gets the default language used\n     * @returns string\n     */\n    TranslateService.prototype.getDefaultLang = function () {\n        return this.defaultLang;\n    };\n    /**\n     * Changes the lang currently used\n     * @param lang\n     * @returns {Observable<*>}\n     */\n    TranslateService.prototype.use = function (lang) {\n        var _this = this;\n        var pending = this.retrieveTranslations(lang);\n        if (typeof pending !== \"undefined\") {\n            // on init set the currentLang immediately\n            if (!this.currentLang) {\n                this.currentLang = lang;\n            }\n            pending.take(1)\n                .subscribe(function (res) {\n                _this.changeLang(lang);\n            });\n            return pending;\n        }\n        else {\n            this.changeLang(lang);\n            return Observable.of(this.translations[lang]);\n        }\n    };\n    /**\n     * Retrieves the given translations\n     * @param lang\n     * @returns {Observable<*>}\n     */\n    TranslateService.prototype.retrieveTranslations = function (lang) {\n        var pending;\n        // if this language is unavailable, ask for it\n        if (typeof this.translations[lang] === \"undefined\") {\n            pending = this.getTranslation(lang);\n        }\n        return pending;\n    };\n    /**\n     * Gets an object of translations for a given language with the current loader\n     * @param lang\n     * @returns {Observable<*>}\n     */\n    TranslateService.prototype.getTranslation = function (lang) {\n        var _this = this;\n        this.pending = this.currentLoader.getTranslation(lang).share();\n        this.pending.take(1)\n            .subscribe(function (res) {\n            _this.translations[lang] = res;\n            _this.updateLangs();\n            _this.pending = undefined;\n        }, function (err) {\n            _this.pending = undefined;\n        });\n        return this.pending;\n    };\n    /**\n     * Manually sets an object of translations for a given language\n     * @param lang\n     * @param translations\n     * @param shouldMerge\n     */\n    TranslateService.prototype.setTranslation = function (lang, translations, shouldMerge) {\n        if (shouldMerge === void 0) { shouldMerge = false; }\n        if (shouldMerge && this.translations[lang]) {\n            Object.assign(this.translations[lang], translations);\n        }\n        else {\n            this.translations[lang] = translations;\n        }\n        this.updateLangs();\n        this.onTranslationChange.emit({ lang: lang, translations: this.translations[lang] });\n    };\n    /**\n     * Returns an array of currently available langs\n     * @returns {any}\n     */\n    TranslateService.prototype.getLangs = function () {\n        return this.langs;\n    };\n    /**\n     * @param langs\n     * Add available langs\n     */\n    TranslateService.prototype.addLangs = function (langs) {\n        var _this = this;\n        langs.forEach(function (lang) {\n            if (_this.langs.indexOf(lang) === -1) {\n                _this.langs.push(lang);\n            }\n        });\n    };\n    /**\n     * Update the list of available langs\n     */\n    TranslateService.prototype.updateLangs = function () {\n        this.addLangs(Object.keys(this.translations));\n    };\n    /**\n     * Returns the parsed result of the translations\n     * @param translations\n     * @param key\n     * @param interpolateParams\n     * @returns {any}\n     */\n    TranslateService.prototype.getParsedResult = function (translations, key, interpolateParams) {\n        var res;\n        if (key instanceof Array) {\n            var result = {}, observables = false;\n            for (var _i = 0, key_1 = key; _i < key_1.length; _i++) {\n                var k = key_1[_i];\n                result[k] = this.getParsedResult(translations, k, interpolateParams);\n                if (typeof result[k].subscribe === \"function\") {\n                    observables = true;\n                }\n            }\n            if (observables) {\n                var mergedObs = void 0;\n                for (var _a = 0, key_2 = key; _a < key_2.length; _a++) {\n                    var k = key_2[_a];\n                    var obs = typeof result[k].subscribe === \"function\" ? result[k] : Observable.of(result[k]);\n                    if (typeof mergedObs === \"undefined\") {\n                        mergedObs = obs;\n                    }\n                    else {\n                        mergedObs = mergedObs.merge(obs);\n                    }\n                }\n                return mergedObs.toArray().map(function (arr) {\n                    var obj = {};\n                    arr.forEach(function (value, index) {\n                        obj[key[index]] = value;\n                    });\n                    return obj;\n                });\n            }\n            return result;\n        }\n        if (translations) {\n            res = this.parser.interpolate(this.parser.getValue(translations, key), interpolateParams);\n        }\n        if (typeof res === \"undefined\" && this.defaultLang && this.defaultLang !== this.currentLang) {\n            res = this.parser.interpolate(this.parser.getValue(this.translations[this.defaultLang], key), interpolateParams);\n        }\n        if (!res && this.missingTranslationHandler) {\n            var params = { key: key, translateService: this };\n            if (typeof interpolateParams !== 'undefined') {\n                params.interpolateParams = interpolateParams;\n            }\n            res = this.missingTranslationHandler.handle(params);\n        }\n        return typeof res !== \"undefined\" ? res : key;\n    };\n    /**\n     * Gets the translated value of a key (or an array of keys)\n     * @param key\n     * @param interpolateParams\n     * @returns {any} the translated key, or an object of translated keys\n     */\n    TranslateService.prototype.get = function (key, interpolateParams) {\n        var _this = this;\n        if (!isDefined(key) || !key.length) {\n            throw new Error(\"Parameter \\\"key\\\" required\");\n        }\n        // check if we are loading a new translation to use\n        if (this.pending) {\n            return Observable.create(function (observer) {\n                var onComplete = function (res) {\n                    observer.next(res);\n                    observer.complete();\n                };\n                var onError = function (err) {\n                    observer.error(err);\n                };\n                _this.pending.subscribe(function (res) {\n                    res = _this.getParsedResult(res, key, interpolateParams);\n                    if (typeof res.subscribe === \"function\") {\n                        res.subscribe(onComplete, onError);\n                    }\n                    else {\n                        onComplete(res);\n                    }\n                }, onError);\n            });\n        }\n        else {\n            var res = this.getParsedResult(this.translations[this.currentLang], key, interpolateParams);\n            if (typeof res.subscribe === \"function\") {\n                return res;\n            }\n            else {\n                return Observable.of(res);\n            }\n        }\n    };\n    /**\n     * Returns a translation instantly from the internal state of loaded translation.\n     * All rules regarding the current language, the preferred language of even fallback languages will be used except any promise handling.\n     * @param key\n     * @param interpolateParams\n     * @returns {string}\n     */\n    TranslateService.prototype.instant = function (key, interpolateParams) {\n        if (!isDefined(key) || !key.length) {\n            throw new Error(\"Parameter \\\"key\\\" required\");\n        }\n        var res = this.getParsedResult(this.translations[this.currentLang], key, interpolateParams);\n        if (typeof res.subscribe !== \"undefined\") {\n            if (key instanceof Array) {\n                var obj_1 = {};\n                key.forEach(function (value, index) {\n                    obj_1[key[index]] = key[index];\n                });\n                return obj_1;\n            }\n            return key;\n        }\n        else {\n            return res;\n        }\n    };\n    /**\n     * Sets the translated value of a key\n     * @param key\n     * @param value\n     * @param lang\n     */\n    TranslateService.prototype.set = function (key, value, lang) {\n        if (lang === void 0) { lang = this.currentLang; }\n        this.translations[lang][key] = value;\n        this.updateLangs();\n        this.onTranslationChange.emit({ lang: lang, translations: this.translations[lang] });\n    };\n    /**\n     * Changes the current lang\n     * @param lang\n     */\n    TranslateService.prototype.changeLang = function (lang) {\n        this.currentLang = lang;\n        this.onLangChange.emit({ lang: lang, translations: this.translations[lang] });\n        // if there is no default lang, use the one that we just set\n        if (!this.defaultLang) {\n            this.changeDefaultLang(lang);\n        }\n    };\n    /**\n     * Changes the default lang\n     * @param lang\n     */\n    TranslateService.prototype.changeDefaultLang = function (lang) {\n        this.defaultLang = lang;\n        this.onDefaultLangChange.emit({ lang: lang, translations: this.translations[lang] });\n    };\n    /**\n     * Allows to reload the lang file from the file\n     * @param lang\n     * @returns {Observable<any>}\n     */\n    TranslateService.prototype.reloadLang = function (lang) {\n        this.resetLang(lang);\n        return this.getTranslation(lang);\n    };\n    /**\n     * Deletes inner translation\n     * @param lang\n     */\n    TranslateService.prototype.resetLang = function (lang) {\n        this.translations[lang] = undefined;\n    };\n    /**\n     * Returns the language code name from the browser, e.g. \"de\"\n     *\n     * @returns string\n     */\n    TranslateService.prototype.getBrowserLang = function () {\n        if (typeof window === 'undefined' || typeof window.navigator === 'undefined') {\n            return undefined;\n        }\n        var browserLang = window.navigator.languages ? window.navigator.languages[0] : null;\n        browserLang = browserLang || window.navigator.language || window.navigator.browserLanguage || window.navigator.userLanguage;\n        if (browserLang.indexOf('-') !== -1) {\n            browserLang = browserLang.split('-')[0];\n        }\n        if (browserLang.indexOf('_') !== -1) {\n            browserLang = browserLang.split('_')[0];\n        }\n        return browserLang;\n    };\n    /**\n     * Returns the culture language code name from the browser, e.g. \"de-DE\"\n     *\n     * @returns string\n     */\n    TranslateService.prototype.getBrowserCultureLang = function () {\n        if (typeof window === 'undefined' || typeof window.navigator === 'undefined') {\n            return undefined;\n        }\n        var browserCultureLang = window.navigator.languages ? window.navigator.languages[0] : null;\n        browserCultureLang = browserCultureLang || window.navigator.language || window.navigator.browserLanguage || window.navigator.userLanguage;\n        return browserCultureLang;\n    };\n    TranslateService.decorators = [\n        { type: Injectable },\n    ];\n    /** @nocollapse */\n    TranslateService.ctorParameters = function () { return [\n        { type: TranslateLoader, },\n        { type: TranslateParser, },\n        { type: MissingTranslationHandler, decorators: [{ type: Optional },] },\n    ]; };\n    return TranslateService;\n}());\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-translate/src/translate.service.js\n// module id = 241\n// module chunks = 0","/* tslint:disable */\n/**\n * @name equals\n *\n * @description\n * Determines if two objects or two values are equivalent.\n *\n * Two objects or values are considered equivalent if at least one of the following is true:\n *\n * * Both objects or values pass `===` comparison.\n * * Both objects or values are of the same type and all of their properties are equal by\n *   comparing them with `equals`.\n *\n * @param {*} o1 Object or value to compare.\n * @param {*} o2 Object or value to compare.\n * @returns {boolean} True if arguments are equal.\n */\nexport function equals(o1, o2) {\n    if (o1 === o2)\n        return true;\n    if (o1 === null || o2 === null)\n        return false;\n    if (o1 !== o1 && o2 !== o2)\n        return true; // NaN === NaN\n    var t1 = typeof o1, t2 = typeof o2, length, key, keySet;\n    if (t1 == t2 && t1 == 'object') {\n        if (Array.isArray(o1)) {\n            if (!Array.isArray(o2))\n                return false;\n            if ((length = o1.length) == o2.length) {\n                for (key = 0; key < length; key++) {\n                    if (!equals(o1[key], o2[key]))\n                        return false;\n                }\n                return true;\n            }\n        }\n        else {\n            if (Array.isArray(o2)) {\n                return false;\n            }\n            keySet = Object.create(null);\n            for (key in o1) {\n                if (!equals(o1[key], o2[key])) {\n                    return false;\n                }\n                keySet[key] = true;\n            }\n            for (key in o2) {\n                if (!(key in keySet) && typeof o2[key] !== 'undefined') {\n                    return false;\n                }\n            }\n            return true;\n        }\n    }\n    return false;\n}\n/* tslint:enable */\nexport function isDefined(value) {\n    return typeof value !== 'undefined' && value !== null;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-translate/src/util.js\n// module id = 242\n// module chunks = 0","'use strict';\n\n\nvar TYPED_OK =  (typeof Uint8Array !== 'undefined') &&\n                (typeof Uint16Array !== 'undefined') &&\n                (typeof Int32Array !== 'undefined');\n\n\nexports.assign = function (obj /*from1, from2, from3, ...*/) {\n  var sources = Array.prototype.slice.call(arguments, 1);\n  while (sources.length) {\n    var source = sources.shift();\n    if (!source) { continue; }\n\n    if (typeof source !== 'object') {\n      throw new TypeError(source + 'must be non-object');\n    }\n\n    for (var p in source) {\n      if (source.hasOwnProperty(p)) {\n        obj[p] = source[p];\n      }\n    }\n  }\n\n  return obj;\n};\n\n\n// reduce buffer size, avoiding mem copy\nexports.shrinkBuf = function (buf, size) {\n  if (buf.length === size) { return buf; }\n  if (buf.subarray) { return buf.subarray(0, size); }\n  buf.length = size;\n  return buf;\n};\n\n\nvar fnTyped = {\n  arraySet: function (dest, src, src_offs, len, dest_offs) {\n    if (src.subarray && dest.subarray) {\n      dest.set(src.subarray(src_offs, src_offs + len), dest_offs);\n      return;\n    }\n    // Fallback to ordinary array\n    for (var i = 0; i < len; i++) {\n      dest[dest_offs + i] = src[src_offs + i];\n    }\n  },\n  // Join array of chunks to single array.\n  flattenChunks: function (chunks) {\n    var i, l, len, pos, chunk, result;\n\n    // calculate data length\n    len = 0;\n    for (i = 0, l = chunks.length; i < l; i++) {\n      len += chunks[i].length;\n    }\n\n    // join chunks\n    result = new Uint8Array(len);\n    pos = 0;\n    for (i = 0, l = chunks.length; i < l; i++) {\n      chunk = chunks[i];\n      result.set(chunk, pos);\n      pos += chunk.length;\n    }\n\n    return result;\n  }\n};\n\nvar fnUntyped = {\n  arraySet: function (dest, src, src_offs, len, dest_offs) {\n    for (var i = 0; i < len; i++) {\n      dest[dest_offs + i] = src[src_offs + i];\n    }\n  },\n  // Join array of chunks to single array.\n  flattenChunks: function (chunks) {\n    return [].concat.apply([], chunks);\n  }\n};\n\n\n// Enable/Disable typed arrays use, for testing\n//\nexports.setTyped = function (on) {\n  if (on) {\n    exports.Buf8  = Uint8Array;\n    exports.Buf16 = Uint16Array;\n    exports.Buf32 = Int32Array;\n    exports.assign(exports, fnTyped);\n  } else {\n    exports.Buf8  = Array;\n    exports.Buf16 = Array;\n    exports.Buf32 = Array;\n    exports.assign(exports, fnUntyped);\n  }\n};\n\nexports.setTyped(TYPED_OK);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/pako/lib/utils/common.js\n// module id = 243\n// module chunks = 0","'use strict';\n\nif (typeof process === 'undefined' ||\n    !process.version ||\n    process.version.indexOf('v0.') === 0 ||\n    process.version.indexOf('v1.') === 0 && process.version.indexOf('v1.8.') !== 0) {\n  module.exports = { nextTick: nextTick };\n} else {\n  module.exports = process\n}\n\nfunction nextTick(fn, arg1, arg2, arg3) {\n  if (typeof fn !== 'function') {\n    throw new TypeError('\"callback\" argument must be a function');\n  }\n  var len = arguments.length;\n  var args, i;\n  switch (len) {\n  case 0:\n  case 1:\n    return process.nextTick(fn);\n  case 2:\n    return process.nextTick(function afterTickOne() {\n      fn.call(null, arg1);\n    });\n  case 3:\n    return process.nextTick(function afterTickTwo() {\n      fn.call(null, arg1, arg2);\n    });\n  case 4:\n    return process.nextTick(function afterTickThree() {\n      fn.call(null, arg1, arg2, arg3);\n    });\n  default:\n    args = new Array(len - 1);\n    i = 0;\n    while (i < args.length) {\n      args[i++] = arguments[i];\n    }\n    return process.nextTick(function afterTick() {\n      fn.apply(null, args);\n    });\n  }\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/process-nextick-args/index.js\n// module id = 244\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subject_1 = require('./Subject');\nvar Subscription_1 = require('./Subscription');\n/**\n * @class AsyncSubject<T>\n */\nvar AsyncSubject = (function (_super) {\n    __extends(AsyncSubject, _super);\n    function AsyncSubject() {\n        _super.apply(this, arguments);\n        this.value = null;\n        this.hasNext = false;\n        this.hasCompleted = false;\n    }\n    AsyncSubject.prototype._subscribe = function (subscriber) {\n        if (this.hasCompleted && this.hasNext) {\n            subscriber.next(this.value);\n            subscriber.complete();\n            return Subscription_1.Subscription.EMPTY;\n        }\n        else if (this.hasError) {\n            subscriber.error(this.thrownError);\n            return Subscription_1.Subscription.EMPTY;\n        }\n        return _super.prototype._subscribe.call(this, subscriber);\n    };\n    AsyncSubject.prototype.next = function (value) {\n        if (!this.hasCompleted) {\n            this.value = value;\n            this.hasNext = true;\n        }\n    };\n    AsyncSubject.prototype.complete = function () {\n        this.hasCompleted = true;\n        if (this.hasNext) {\n            _super.prototype.next.call(this, this.value);\n        }\n        _super.prototype.complete.call(this);\n    };\n    return AsyncSubject;\n}(Subject_1.Subject));\nexports.AsyncSubject = AsyncSubject;\n//# sourceMappingURL=AsyncSubject.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/AsyncSubject.js\n// module id = 245\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subject_1 = require('./Subject');\nvar ObjectUnsubscribedError_1 = require('./util/ObjectUnsubscribedError');\n/**\n * @class BehaviorSubject<T>\n */\nvar BehaviorSubject = (function (_super) {\n    __extends(BehaviorSubject, _super);\n    function BehaviorSubject(_value) {\n        _super.call(this);\n        this._value = _value;\n    }\n    Object.defineProperty(BehaviorSubject.prototype, \"value\", {\n        get: function () {\n            return this.getValue();\n        },\n        enumerable: true,\n        configurable: true\n    });\n    BehaviorSubject.prototype._subscribe = function (subscriber) {\n        var subscription = _super.prototype._subscribe.call(this, subscriber);\n        if (subscription && !subscription.closed) {\n            subscriber.next(this._value);\n        }\n        return subscription;\n    };\n    BehaviorSubject.prototype.getValue = function () {\n        if (this.hasError) {\n            throw this.thrownError;\n        }\n        else if (this.closed) {\n            throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError();\n        }\n        else {\n            return this._value;\n        }\n    };\n    BehaviorSubject.prototype.next = function (value) {\n        _super.prototype.next.call(this, this._value = value);\n    };\n    return BehaviorSubject;\n}(Subject_1.Subject));\nexports.BehaviorSubject = BehaviorSubject;\n//# sourceMappingURL=BehaviorSubject.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/BehaviorSubject.js\n// module id = 246\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subject_1 = require('./Subject');\nvar queue_1 = require('./scheduler/queue');\nvar observeOn_1 = require('./operator/observeOn');\n/**\n * @class ReplaySubject<T>\n */\nvar ReplaySubject = (function (_super) {\n    __extends(ReplaySubject, _super);\n    function ReplaySubject(bufferSize, windowTime, scheduler) {\n        if (bufferSize === void 0) { bufferSize = Number.POSITIVE_INFINITY; }\n        if (windowTime === void 0) { windowTime = Number.POSITIVE_INFINITY; }\n        _super.call(this);\n        this.scheduler = scheduler;\n        this._events = [];\n        this._bufferSize = bufferSize < 1 ? 1 : bufferSize;\n        this._windowTime = windowTime < 1 ? 1 : windowTime;\n    }\n    ReplaySubject.prototype.next = function (value) {\n        var now = this._getNow();\n        this._events.push(new ReplayEvent(now, value));\n        this._trimBufferThenGetEvents();\n        _super.prototype.next.call(this, value);\n    };\n    ReplaySubject.prototype._subscribe = function (subscriber) {\n        var _events = this._trimBufferThenGetEvents();\n        var scheduler = this.scheduler;\n        if (scheduler) {\n            subscriber.add(subscriber = new observeOn_1.ObserveOnSubscriber(subscriber, scheduler));\n        }\n        var len = _events.length;\n        for (var i = 0; i < len && !subscriber.closed; i++) {\n            subscriber.next(_events[i].value);\n        }\n        return _super.prototype._subscribe.call(this, subscriber);\n    };\n    ReplaySubject.prototype._getNow = function () {\n        return (this.scheduler || queue_1.queue).now();\n    };\n    ReplaySubject.prototype._trimBufferThenGetEvents = function () {\n        var now = this._getNow();\n        var _bufferSize = this._bufferSize;\n        var _windowTime = this._windowTime;\n        var _events = this._events;\n        var eventsCount = _events.length;\n        var spliceCount = 0;\n        // Trim events that fall out of the time window.\n        // Start at the front of the list. Break early once\n        // we encounter an event that falls within the window.\n        while (spliceCount < eventsCount) {\n            if ((now - _events[spliceCount].time) < _windowTime) {\n                break;\n            }\n            spliceCount++;\n        }\n        if (eventsCount > _bufferSize) {\n            spliceCount = Math.max(spliceCount, eventsCount - _bufferSize);\n        }\n        if (spliceCount > 0) {\n            _events.splice(0, spliceCount);\n        }\n        return _events;\n    };\n    return ReplaySubject;\n}(Subject_1.Subject));\nexports.ReplaySubject = ReplaySubject;\nvar ReplayEvent = (function () {\n    function ReplayEvent(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    return ReplayEvent;\n}());\n//# sourceMappingURL=ReplaySubject.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/ReplaySubject.js\n// module id = 247\n// module chunks = 0","\"use strict\";\nvar FromObservable_1 = require('./FromObservable');\nexports.from = FromObservable_1.FromObservable.create;\n//# sourceMappingURL=from.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/from.js\n// module id = 248\n// module chunks = 0","\"use strict\";\nvar PromiseObservable_1 = require('./PromiseObservable');\nexports.fromPromise = PromiseObservable_1.PromiseObservable.create;\n//# sourceMappingURL=fromPromise.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/fromPromise.js\n// module id = 249\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\n/**\n * Applies an accumulator function over the source Observable, and returns the\n * accumulated result when the source completes, given an optional seed value.\n *\n * <span class=\"informal\">Combines together all values emitted on the source,\n * using an accumulator function that knows how to join a new source value into\n * the accumulation from the past.</span>\n *\n * <img src=\"./img/reduce.png\" width=\"100%\">\n *\n * Like\n * [Array.prototype.reduce()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce),\n * `reduce` applies an `accumulator` function against an accumulation and each\n * value of the source Observable (from the past) to reduce it to a single\n * value, emitted on the output Observable. Note that `reduce` will only emit\n * one value, only when the source Observable completes. It is equivalent to\n * applying operator {@link scan} followed by operator {@link last}.\n *\n * Returns an Observable that applies a specified `accumulator` function to each\n * item emitted by the source Observable. If a `seed` value is specified, then\n * that value will be used as the initial value for the accumulator. If no seed\n * value is specified, the first item of the source is used as the seed.\n *\n * @example <caption>Count the number of click events that happened in 5 seconds</caption>\n * var clicksInFiveSeconds = Rx.Observable.fromEvent(document, 'click')\n *   .takeUntil(Rx.Observable.interval(5000));\n * var ones = clicksInFiveSeconds.mapTo(1);\n * var seed = 0;\n * var count = ones.reduce((acc, one) => acc + one, seed);\n * count.subscribe(x => console.log(x));\n *\n * @see {@link count}\n * @see {@link expand}\n * @see {@link mergeScan}\n * @see {@link scan}\n *\n * @param {function(acc: R, value: T): R} accumulator The accumulator function\n * called on each source value.\n * @param {R} [seed] The initial accumulation value.\n * @return {Observable<R>} An observable of the accumulated values.\n * @return {Observable<R>} An Observable that emits a single value that is the\n * result of accumulating the values emitted by the source Observable.\n * @method reduce\n * @owner Observable\n */\nfunction reduce(accumulator, seed) {\n    return this.lift(new ReduceOperator(accumulator, seed));\n}\nexports.reduce = reduce;\nvar ReduceOperator = (function () {\n    function ReduceOperator(accumulator, seed) {\n        this.accumulator = accumulator;\n        this.seed = seed;\n    }\n    ReduceOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new ReduceSubscriber(subscriber, this.accumulator, this.seed));\n    };\n    return ReduceOperator;\n}());\nexports.ReduceOperator = ReduceOperator;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar ReduceSubscriber = (function (_super) {\n    __extends(ReduceSubscriber, _super);\n    function ReduceSubscriber(destination, accumulator, seed) {\n        _super.call(this, destination);\n        this.accumulator = accumulator;\n        this.hasValue = false;\n        this.acc = seed;\n        this.accumulator = accumulator;\n        this.hasSeed = typeof seed !== 'undefined';\n    }\n    ReduceSubscriber.prototype._next = function (value) {\n        if (this.hasValue || (this.hasValue = this.hasSeed)) {\n            this._tryReduce(value);\n        }\n        else {\n            this.acc = value;\n            this.hasValue = true;\n        }\n    };\n    ReduceSubscriber.prototype._tryReduce = function (value) {\n        var result;\n        try {\n            result = this.accumulator(this.acc, value);\n        }\n        catch (err) {\n            this.destination.error(err);\n            return;\n        }\n        this.acc = result;\n    };\n    ReduceSubscriber.prototype._complete = function () {\n        if (this.hasValue || this.hasSeed) {\n            this.destination.next(this.acc);\n        }\n        this.destination.complete();\n    };\n    return ReduceSubscriber;\n}(Subscriber_1.Subscriber));\nexports.ReduceSubscriber = ReduceSubscriber;\n//# sourceMappingURL=reduce.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/reduce.js\n// module id = 250\n// module chunks = 0","\"use strict\";\nvar root_1 = require('../util/root');\nvar Symbol = root_1.root.Symbol;\nexports.$$rxSubscriber = (typeof Symbol === 'function' && typeof Symbol.for === 'function') ?\n    Symbol.for('rxSubscriber') : '@@rxSubscriber';\n//# sourceMappingURL=rxSubscriber.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/symbol/rxSubscriber.js\n// module id = 251\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n/**\n * An error thrown when an element was queried at a certain index of an\n * Observable, but no such index or position exists in that sequence.\n *\n * @see {@link elementAt}\n * @see {@link take}\n * @see {@link takeLast}\n *\n * @class ArgumentOutOfRangeError\n */\nvar ArgumentOutOfRangeError = (function (_super) {\n    __extends(ArgumentOutOfRangeError, _super);\n    function ArgumentOutOfRangeError() {\n        var err = _super.call(this, 'argument out of range');\n        this.name = err.name = 'ArgumentOutOfRangeError';\n        this.stack = err.stack;\n        this.message = err.message;\n    }\n    return ArgumentOutOfRangeError;\n}(Error));\nexports.ArgumentOutOfRangeError = ArgumentOutOfRangeError;\n//# sourceMappingURL=ArgumentOutOfRangeError.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/util/ArgumentOutOfRangeError.js\n// module id = 252\n// module chunks = 0","\"use strict\";\nfunction isDate(value) {\n    return value instanceof Date && !isNaN(+value);\n}\nexports.isDate = isDate;\n//# sourceMappingURL=isDate.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/util/isDate.js\n// module id = 253\n// module chunks = 0","/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n  for (var key in src) {\n    dst[key] = src[key]\n  }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n  module.exports = buffer\n} else {\n  // Copy properties from require('buffer')\n  copyProps(buffer, exports)\n  exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n  return Buffer(arg, encodingOrOffset, length)\n}\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n  if (typeof arg === 'number') {\n    throw new TypeError('Argument must not be a number')\n  }\n  return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n  if (typeof size !== 'number') {\n    throw new TypeError('Argument must be a number')\n  }\n  var buf = Buffer(size)\n  if (fill !== undefined) {\n    if (typeof encoding === 'string') {\n      buf.fill(fill, encoding)\n    } else {\n      buf.fill(fill)\n    }\n  } else {\n    buf.fill(0)\n  }\n  return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n  if (typeof size !== 'number') {\n    throw new TypeError('Argument must be a number')\n  }\n  return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n  if (typeof size !== 'number') {\n    throw new TypeError('Argument must be a number')\n  }\n  return buffer.SlowBuffer(size)\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/safe-buffer/index.js\n// module id = 254\n// module chunks = 0","/**\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 */\nimport { EventEmitter, Injectable } from '@angular/core';\nimport { LocationStrategy } from './location_strategy';\n/**\n * \\@whatItDoes `Location` is a service that applications can use to interact with a browser's URL.\n * \\@description\n * Depending on which {\\@link LocationStrategy} is used, `Location` will either persist\n * to the URL's path or the URL's hash segment.\n *\n * Note: it's better to use {\\@link Router#navigate} service to trigger route changes. Use\n * `Location` only if you need to interact with or create normalized URLs outside of\n * routing.\n *\n * `Location` is responsible for normalizing the URL against the application's base href.\n * A normalized URL is absolute from the URL host, includes the application's base href, and has no\n * trailing slash:\n * - `/my/app/user/123` is normalized\n * - `my/app/user/123` **is not** normalized\n * - `/my/app/user/123/` **is not** normalized\n *\n * ### Example\n * {\\@example common/location/ts/path_location_component.ts region='LocationComponent'}\n * \\@stable\n */\nexport var Location = (function () {\n    /**\n     * @param {?} platformStrategy\n     */\n    function Location(platformStrategy) {\n        var _this = this;\n        /** @internal */\n        this._subject = new 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({\n                'url': _this.path(true),\n                'pop': true,\n                'type': ev.type,\n            });\n        });\n    }\n    /**\n     * @param {?=} includeHash\n     * @return {?}\n     */\n    Location.prototype.path = function (includeHash) {\n        if (includeHash === void 0) { includeHash = false; }\n        return this.normalize(this._platformStrategy.path(includeHash));\n    };\n    /**\n     * Normalizes the given path and compares to the current normalized path.\n     * @param {?} path\n     * @param {?=} query\n     * @return {?}\n     */\n    Location.prototype.isCurrentPathEqualTo = function (path, query) {\n        if (query === void 0) { query = ''; }\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     * @param {?} url\n     * @return {?}\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     * @param {?} url\n     * @return {?}\n     */\n    Location.prototype.prepareExternalUrl = function (url) {\n        if (url && url[0] !== '/') {\n            url = '/' + url;\n        }\n        return this._platformStrategy.prepareExternalUrl(url);\n    };\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     * @param {?} path\n     * @param {?=} query\n     * @return {?}\n     */\n    Location.prototype.go = function (path, query) {\n        if (query === void 0) { query = ''; }\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     * @param {?} path\n     * @param {?=} query\n     * @return {?}\n     */\n    Location.prototype.replaceState = function (path, query) {\n        if (query === void 0) { query = ''; }\n        this._platformStrategy.replaceState(null, '', path, query);\n    };\n    /**\n     * Navigates forward in the platform's history.\n     * @return {?}\n     */\n    Location.prototype.forward = function () { this._platformStrategy.forward(); };\n    /**\n     * Navigates back in the platform's history.\n     * @return {?}\n     */\n    Location.prototype.back = function () { this._platformStrategy.back(); };\n    /**\n     * Subscribe to the platform's `popState` events.\n     * @param {?} onNext\n     * @param {?=} onThrow\n     * @param {?=} onReturn\n     * @return {?}\n     */\n    Location.prototype.subscribe = function (onNext, onThrow, onReturn) {\n        if (onThrow === void 0) { onThrow = null; }\n        if (onReturn === void 0) { onReturn = null; }\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     * @param {?} params\n     * @return {?}\n     */\n    Location.normalizeQueryParams = function (params) {\n        return params && params[0] !== '?' ? '?' + params : params;\n    };\n    /**\n     * Given 2 parts of a url, join them with a slash if needed.\n     * @param {?} start\n     * @param {?} end\n     * @return {?}\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 /** @type {?} */ 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     * @param {?} url\n     * @return {?}\n     */\n    Location.stripTrailingSlash = function (url) { return url.replace(/\\/$/, ''); };\n    Location.decorators = [\n        { type: Injectable },\n    ];\n    /** @nocollapse */\n    Location.ctorParameters = function () { return [\n        { type: LocationStrategy, },\n    ]; };\n    return Location;\n}());\nfunction Location_tsickle_Closure_declarations() {\n    /** @type {?} */\n    Location.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    Location.ctorParameters;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    Location.prototype._subject;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    Location.prototype._baseHref;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    Location.prototype._platformStrategy;\n}\n/**\n * @param {?} baseHref\n * @param {?} url\n * @return {?}\n */\nfunction _stripBaseHref(baseHref, url) {\n    return baseHref && url.startsWith(baseHref) ? url.substring(baseHref.length) : url;\n}\n/**\n * @param {?} url\n * @return {?}\n */\nfunction _stripIndexHtml(url) {\n    return url.replace(/\\/index.html$/, '');\n}\n//# sourceMappingURL=location.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/common/src/location/location.js\n// module id = 255\n// module chunks = 0","/**\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 * @abstract\n */\nexport var PlatformLocation = (function () {\n    function PlatformLocation() {\n    }\n    /**\n     * @abstract\n     * @return {?}\n     */\n    PlatformLocation.prototype.getBaseHrefFromDOM = function () { };\n    /**\n     * @abstract\n     * @param {?} fn\n     * @return {?}\n     */\n    PlatformLocation.prototype.onPopState = function (fn) { };\n    /**\n     * @abstract\n     * @param {?} fn\n     * @return {?}\n     */\n    PlatformLocation.prototype.onHashChange = function (fn) { };\n    Object.defineProperty(PlatformLocation.prototype, \"pathname\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return null; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(PlatformLocation.prototype, \"search\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return null; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(PlatformLocation.prototype, \"hash\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return null; },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @abstract\n     * @param {?} state\n     * @param {?} title\n     * @param {?} url\n     * @return {?}\n     */\n    PlatformLocation.prototype.replaceState = function (state, title, url) { };\n    /**\n     * @abstract\n     * @param {?} state\n     * @param {?} title\n     * @param {?} url\n     * @return {?}\n     */\n    PlatformLocation.prototype.pushState = function (state, title, url) { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    PlatformLocation.prototype.forward = function () { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    PlatformLocation.prototype.back = function () { };\n    return PlatformLocation;\n}());\n//# sourceMappingURL=platform_location.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/common/src/location/platform_location.js\n// module id = 256\n// module chunks = 0","/**\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 */\nimport { AnimationCompiler } from '../animation/animation_compiler';\nimport { createHostComponentMeta, identifierModuleUrl, identifierName } from '../compile_metadata';\nimport { ListWrapper } from '../facade/collection';\nimport { Identifiers, createIdentifier, createIdentifierToken } from '../identifiers';\nimport * as o from '../output/output_ast';\nimport { ComponentFactoryDependency, DirectiveWrapperDependency, ViewClassDependency } from '../view_compiler/view_compiler';\nimport { GeneratedFile } from './generated_file';\nimport { serializeSummaries, summaryFileName } from './summary_serializer';\nexport var AotCompiler = (function () {\n    /**\n     * @param {?} _host\n     * @param {?} _metadataResolver\n     * @param {?} _templateParser\n     * @param {?} _styleCompiler\n     * @param {?} _viewCompiler\n     * @param {?} _dirWrapperCompiler\n     * @param {?} _ngModuleCompiler\n     * @param {?} _outputEmitter\n     * @param {?} _summaryResolver\n     * @param {?} _localeId\n     * @param {?} _translationFormat\n     * @param {?} _animationParser\n     * @param {?} _symbolResolver\n     */\n    function AotCompiler(_host, _metadataResolver, _templateParser, _styleCompiler, _viewCompiler, _dirWrapperCompiler, _ngModuleCompiler, _outputEmitter, _summaryResolver, _localeId, _translationFormat, _animationParser, _symbolResolver) {\n        this._host = _host;\n        this._metadataResolver = _metadataResolver;\n        this._templateParser = _templateParser;\n        this._styleCompiler = _styleCompiler;\n        this._viewCompiler = _viewCompiler;\n        this._dirWrapperCompiler = _dirWrapperCompiler;\n        this._ngModuleCompiler = _ngModuleCompiler;\n        this._outputEmitter = _outputEmitter;\n        this._summaryResolver = _summaryResolver;\n        this._localeId = _localeId;\n        this._translationFormat = _translationFormat;\n        this._animationParser = _animationParser;\n        this._symbolResolver = _symbolResolver;\n        this._animationCompiler = new AnimationCompiler();\n    }\n    /**\n     * @return {?}\n     */\n    AotCompiler.prototype.clearCache = function () { this._metadataResolver.clearCache(); };\n    /**\n     * @param {?} rootFiles\n     * @return {?}\n     */\n    AotCompiler.prototype.compileAll = function (rootFiles) {\n        var _this = this;\n        var /** @type {?} */ programSymbols = extractProgramSymbols(this._symbolResolver, rootFiles, this._host);\n        var _a = analyzeAndValidateNgModules(programSymbols, this._host, this._metadataResolver), ngModuleByPipeOrDirective = _a.ngModuleByPipeOrDirective, files = _a.files, ngModules = _a.ngModules;\n        return Promise\n            .all(ngModules.map(function (ngModule) { return _this._metadataResolver.loadNgModuleDirectiveAndPipeMetadata(ngModule.type.reference, false); }))\n            .then(function () {\n            var /** @type {?} */ sourceModules = files.map(function (file) { return _this._compileSrcFile(file.srcUrl, ngModuleByPipeOrDirective, file.directives, file.pipes, file.ngModules, file.injectables); });\n            return ListWrapper.flatten(sourceModules);\n        });\n    };\n    /**\n     * @param {?} srcFileUrl\n     * @param {?} ngModuleByPipeOrDirective\n     * @param {?} directives\n     * @param {?} pipes\n     * @param {?} ngModules\n     * @param {?} injectables\n     * @return {?}\n     */\n    AotCompiler.prototype._compileSrcFile = function (srcFileUrl, ngModuleByPipeOrDirective, directives, pipes, ngModules, injectables) {\n        var _this = this;\n        var /** @type {?} */ fileSuffix = _splitTypescriptSuffix(srcFileUrl)[1];\n        var /** @type {?} */ statements = [];\n        var /** @type {?} */ exportedVars = [];\n        var /** @type {?} */ generatedFiles = [];\n        generatedFiles.push(this._createSummary(srcFileUrl, directives, pipes, ngModules, injectables));\n        // compile all ng modules\n        exportedVars.push.apply(exportedVars, ngModules.map(function (ngModuleType) { return _this._compileModule(ngModuleType, statements); }));\n        // compile directive wrappers\n        exportedVars.push.apply(exportedVars, directives.map(function (directiveType) { return _this._compileDirectiveWrapper(directiveType, statements); }));\n        // compile components\n        directives.forEach(function (dirType) {\n            var /** @type {?} */ compMeta = _this._metadataResolver.getDirectiveMetadata(/** @type {?} */ (dirType));\n            if (!compMeta.isComponent) {\n                return Promise.resolve(null);\n            }\n            var /** @type {?} */ ngModule = ngModuleByPipeOrDirective.get(dirType);\n            if (!ngModule) {\n                throw new Error(\"Internal Error: cannot determine the module for component \" + identifierName(compMeta.type) + \"!\");\n            }\n            _assertComponent(compMeta);\n            // compile styles\n            var /** @type {?} */ stylesCompileResults = _this._styleCompiler.compileComponent(compMeta);\n            stylesCompileResults.externalStylesheets.forEach(function (compiledStyleSheet) {\n                generatedFiles.push(_this._codgenStyles(srcFileUrl, compiledStyleSheet, fileSuffix));\n            });\n            // compile components\n            exportedVars.push(_this._compileComponentFactory(compMeta, ngModule, fileSuffix, statements), _this._compileComponent(compMeta, ngModule, ngModule.transitiveModule.directives, stylesCompileResults.componentStylesheet, fileSuffix, statements));\n        });\n        if (statements.length > 0) {\n            var /** @type {?} */ srcModule = this._codegenSourceModule(srcFileUrl, _ngfactoryModuleUrl(srcFileUrl), statements, exportedVars);\n            generatedFiles.unshift(srcModule);\n        }\n        return generatedFiles;\n    };\n    /**\n     * @param {?} srcFileUrl\n     * @param {?} directives\n     * @param {?} pipes\n     * @param {?} ngModules\n     * @param {?} injectables\n     * @return {?}\n     */\n    AotCompiler.prototype._createSummary = function (srcFileUrl, directives, pipes, ngModules, injectables) {\n        var _this = this;\n        var /** @type {?} */ symbolSummaries = this._symbolResolver.getSymbolsOf(srcFileUrl)\n            .map(function (symbol) { return _this._symbolResolver.resolveSymbol(symbol); });\n        var /** @type {?} */ typeSummaries = ngModules.map(function (ref) { return _this._metadataResolver.getNgModuleSummary(ref); }).concat(directives.map(function (ref) { return _this._metadataResolver.getDirectiveSummary(ref); }), pipes.map(function (ref) { return _this._metadataResolver.getPipeSummary(ref); }), injectables.map(function (ref) { return _this._metadataResolver.getInjectableSummary(ref); }));\n        var /** @type {?} */ json = serializeSummaries(this._host, this._summaryResolver, this._symbolResolver, symbolSummaries, typeSummaries);\n        return new GeneratedFile(srcFileUrl, summaryFileName(srcFileUrl), json);\n    };\n    /**\n     * @param {?} ngModuleType\n     * @param {?} targetStatements\n     * @return {?}\n     */\n    AotCompiler.prototype._compileModule = function (ngModuleType, targetStatements) {\n        var _this = this;\n        var /** @type {?} */ ngModule = this._metadataResolver.getNgModuleMetadata(ngModuleType);\n        var /** @type {?} */ providers = [];\n        if (this._localeId) {\n            providers.push({\n                token: createIdentifierToken(Identifiers.LOCALE_ID),\n                useValue: this._localeId,\n            });\n        }\n        if (this._translationFormat) {\n            providers.push({\n                token: createIdentifierToken(Identifiers.TRANSLATIONS_FORMAT),\n                useValue: this._translationFormat\n            });\n        }\n        var /** @type {?} */ appCompileResult = this._ngModuleCompiler.compile(ngModule, providers);\n        appCompileResult.dependencies.forEach(function (dep) {\n            dep.placeholder.reference = _this._symbolResolver.getStaticSymbol(_ngfactoryModuleUrl(identifierModuleUrl(dep.comp)), _componentFactoryName(dep.comp));\n        });\n        targetStatements.push.apply(targetStatements, appCompileResult.statements);\n        return appCompileResult.ngModuleFactoryVar;\n    };\n    /**\n     * @param {?} directiveType\n     * @param {?} targetStatements\n     * @return {?}\n     */\n    AotCompiler.prototype._compileDirectiveWrapper = function (directiveType, targetStatements) {\n        var /** @type {?} */ dirMeta = this._metadataResolver.getDirectiveMetadata(directiveType);\n        var /** @type {?} */ dirCompileResult = this._dirWrapperCompiler.compile(dirMeta);\n        targetStatements.push.apply(targetStatements, dirCompileResult.statements);\n        return dirCompileResult.dirWrapperClassVar;\n    };\n    /**\n     * @param {?} compMeta\n     * @param {?} ngModule\n     * @param {?} fileSuffix\n     * @param {?} targetStatements\n     * @return {?}\n     */\n    AotCompiler.prototype._compileComponentFactory = function (compMeta, ngModule, fileSuffix, targetStatements) {\n        var /** @type {?} */ hostMeta = createHostComponentMeta(this._symbolResolver.getStaticSymbol(identifierModuleUrl(compMeta.type), identifierName(compMeta.type) + \"_Host\"), compMeta);\n        var /** @type {?} */ hostViewFactoryVar = this._compileComponent(hostMeta, ngModule, [compMeta.type], null, fileSuffix, targetStatements);\n        var /** @type {?} */ compFactoryVar = _componentFactoryName(compMeta.type);\n        targetStatements.push(o.variable(compFactoryVar)\n            .set(o.importExpr(createIdentifier(Identifiers.ComponentFactory), [o.importType(compMeta.type)])\n            .instantiate([\n            o.literal(compMeta.selector),\n            o.variable(hostViewFactoryVar),\n            o.importExpr(compMeta.type),\n        ], o.importType(createIdentifier(Identifiers.ComponentFactory), [o.importType(compMeta.type)], [o.TypeModifier.Const])))\n            .toDeclStmt(null, [o.StmtModifier.Final]));\n        return compFactoryVar;\n    };\n    /**\n     * @param {?} compMeta\n     * @param {?} ngModule\n     * @param {?} directiveIdentifiers\n     * @param {?} componentStyles\n     * @param {?} fileSuffix\n     * @param {?} targetStatements\n     * @return {?}\n     */\n    AotCompiler.prototype._compileComponent = function (compMeta, ngModule, directiveIdentifiers, componentStyles, fileSuffix, targetStatements) {\n        var _this = this;\n        var /** @type {?} */ parsedAnimations = this._animationParser.parseComponent(compMeta);\n        var /** @type {?} */ directives = directiveIdentifiers.map(function (dir) { return _this._metadataResolver.getDirectiveSummary(dir.reference); });\n        var /** @type {?} */ pipes = ngModule.transitiveModule.pipes.map(function (pipe) { return _this._metadataResolver.getPipeSummary(pipe.reference); });\n        var /** @type {?} */ parsedTemplate = this._templateParser.parse(compMeta, compMeta.template.template, directives, pipes, ngModule.schemas, identifierName(compMeta.type));\n        var /** @type {?} */ stylesExpr = componentStyles ? o.variable(componentStyles.stylesVar) : o.literalArr([]);\n        var /** @type {?} */ compiledAnimations = this._animationCompiler.compile(identifierName(compMeta.type), parsedAnimations);\n        var /** @type {?} */ viewResult = this._viewCompiler.compileComponent(compMeta, parsedTemplate, stylesExpr, pipes, compiledAnimations);\n        if (componentStyles) {\n            targetStatements.push.apply(targetStatements, _resolveStyleStatements(this._symbolResolver, componentStyles, fileSuffix));\n        }\n        compiledAnimations.forEach(function (entry) { return targetStatements.push.apply(targetStatements, entry.statements); });\n        targetStatements.push.apply(targetStatements, _resolveViewStatements(this._symbolResolver, viewResult));\n        return viewResult.viewClassVar;\n    };\n    /**\n     * @param {?} fileUrl\n     * @param {?} stylesCompileResult\n     * @param {?} fileSuffix\n     * @return {?}\n     */\n    AotCompiler.prototype._codgenStyles = function (fileUrl, stylesCompileResult, fileSuffix) {\n        _resolveStyleStatements(this._symbolResolver, stylesCompileResult, fileSuffix);\n        return this._codegenSourceModule(fileUrl, _stylesModuleUrl(stylesCompileResult.meta.moduleUrl, stylesCompileResult.isShimmed, fileSuffix), stylesCompileResult.statements, [stylesCompileResult.stylesVar]);\n    };\n    /**\n     * @param {?} srcFileUrl\n     * @param {?} genFileUrl\n     * @param {?} statements\n     * @param {?} exportedVars\n     * @return {?}\n     */\n    AotCompiler.prototype._codegenSourceModule = function (srcFileUrl, genFileUrl, statements, exportedVars) {\n        return new GeneratedFile(srcFileUrl, genFileUrl, this._outputEmitter.emitStatements(genFileUrl, statements, exportedVars));\n    };\n    return AotCompiler;\n}());\nfunction AotCompiler_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AotCompiler.prototype._animationCompiler;\n    /** @type {?} */\n    AotCompiler.prototype._host;\n    /** @type {?} */\n    AotCompiler.prototype._metadataResolver;\n    /** @type {?} */\n    AotCompiler.prototype._templateParser;\n    /** @type {?} */\n    AotCompiler.prototype._styleCompiler;\n    /** @type {?} */\n    AotCompiler.prototype._viewCompiler;\n    /** @type {?} */\n    AotCompiler.prototype._dirWrapperCompiler;\n    /** @type {?} */\n    AotCompiler.prototype._ngModuleCompiler;\n    /** @type {?} */\n    AotCompiler.prototype._outputEmitter;\n    /** @type {?} */\n    AotCompiler.prototype._summaryResolver;\n    /** @type {?} */\n    AotCompiler.prototype._localeId;\n    /** @type {?} */\n    AotCompiler.prototype._translationFormat;\n    /** @type {?} */\n    AotCompiler.prototype._animationParser;\n    /** @type {?} */\n    AotCompiler.prototype._symbolResolver;\n}\n/**\n * @param {?} reflector\n * @param {?} compileResult\n * @return {?}\n */\nfunction _resolveViewStatements(reflector, compileResult) {\n    compileResult.dependencies.forEach(function (dep) {\n        if (dep instanceof ViewClassDependency) {\n            var /** @type {?} */ vfd = (dep);\n            vfd.placeholder.reference =\n                reflector.getStaticSymbol(_ngfactoryModuleUrl(identifierModuleUrl(vfd.comp)), dep.name);\n        }\n        else if (dep instanceof ComponentFactoryDependency) {\n            var /** @type {?} */ cfd = (dep);\n            cfd.placeholder.reference = reflector.getStaticSymbol(_ngfactoryModuleUrl(identifierModuleUrl(cfd.comp)), _componentFactoryName(cfd.comp));\n        }\n        else if (dep instanceof DirectiveWrapperDependency) {\n            var /** @type {?} */ dwd = (dep);\n            dwd.placeholder.reference =\n                reflector.getStaticSymbol(_ngfactoryModuleUrl(identifierModuleUrl(dwd.dir)), dwd.name);\n        }\n    });\n    return compileResult.statements;\n}\n/**\n * @param {?} reflector\n * @param {?} compileResult\n * @param {?} fileSuffix\n * @return {?}\n */\nfunction _resolveStyleStatements(reflector, compileResult, fileSuffix) {\n    compileResult.dependencies.forEach(function (dep) {\n        dep.valuePlaceholder.reference = reflector.getStaticSymbol(_stylesModuleUrl(dep.moduleUrl, dep.isShimmed, fileSuffix), dep.name);\n    });\n    return compileResult.statements;\n}\n/**\n * @param {?} dirUrl\n * @return {?}\n */\nfunction _ngfactoryModuleUrl(dirUrl) {\n    var /** @type {?} */ urlWithSuffix = _splitTypescriptSuffix(dirUrl);\n    return urlWithSuffix[0] + \".ngfactory\" + urlWithSuffix[1];\n}\n/**\n * @param {?} comp\n * @return {?}\n */\nfunction _componentFactoryName(comp) {\n    return identifierName(comp) + \"NgFactory\";\n}\n/**\n * @param {?} stylesheetUrl\n * @param {?} shim\n * @param {?} suffix\n * @return {?}\n */\nfunction _stylesModuleUrl(stylesheetUrl, shim, suffix) {\n    return \"\" + stylesheetUrl + (shim ? '.shim' : '') + \".ngstyle\" + suffix;\n}\n/**\n * @param {?} meta\n * @return {?}\n */\nfunction _assertComponent(meta) {\n    if (!meta.isComponent) {\n        throw new Error(\"Could not compile '\" + identifierName(meta.type) + \"' because it is not a component.\");\n    }\n}\n/**\n * @param {?} path\n * @return {?}\n */\nfunction _splitTypescriptSuffix(path) {\n    if (path.endsWith('.d.ts')) {\n        return [path.slice(0, -5), '.ts'];\n    }\n    var /** @type {?} */ lastDot = path.lastIndexOf('.');\n    if (lastDot !== -1) {\n        return [path.substring(0, lastDot), path.substring(lastDot)];\n    }\n    return [path, ''];\n}\n/**\n * @param {?} programStaticSymbols\n * @param {?} host\n * @param {?} metadataResolver\n * @return {?}\n */\nexport function analyzeNgModules(programStaticSymbols, host, metadataResolver) {\n    var _a = _createNgModules(programStaticSymbols, host, metadataResolver), ngModules = _a.ngModules, symbolsMissingModule = _a.symbolsMissingModule;\n    return _analyzeNgModules(programStaticSymbols, ngModules, symbolsMissingModule, metadataResolver);\n}\n/**\n * @param {?} programStaticSymbols\n * @param {?} host\n * @param {?} metadataResolver\n * @return {?}\n */\nexport function analyzeAndValidateNgModules(programStaticSymbols, host, metadataResolver) {\n    var /** @type {?} */ result = analyzeNgModules(programStaticSymbols, host, metadataResolver);\n    if (result.symbolsMissingModule && result.symbolsMissingModule.length) {\n        var /** @type {?} */ messages = result.symbolsMissingModule.map(function (s) { return (\"Cannot determine the module for class \" + s.name + \" in \" + s.filePath + \"!\"); });\n        throw new Error(messages.join('\\n'));\n    }\n    return result;\n}\n/**\n * @param {?} programSymbols\n * @param {?} ngModuleMetas\n * @param {?} symbolsMissingModule\n * @param {?} metadataResolver\n * @return {?}\n */\nfunction _analyzeNgModules(programSymbols, ngModuleMetas, symbolsMissingModule, metadataResolver) {\n    var /** @type {?} */ moduleMetasByRef = new Map();\n    ngModuleMetas.forEach(function (ngModule) { return moduleMetasByRef.set(ngModule.type.reference, ngModule); });\n    var /** @type {?} */ ngModuleByPipeOrDirective = new Map();\n    var /** @type {?} */ ngModulesByFile = new Map();\n    var /** @type {?} */ ngDirectivesByFile = new Map();\n    var /** @type {?} */ ngPipesByFile = new Map();\n    var /** @type {?} */ ngInjectablesByFile = new Map();\n    var /** @type {?} */ filePaths = new Set();\n    // Make sure we produce an analyzed file for each input file\n    programSymbols.forEach(function (symbol) {\n        var /** @type {?} */ filePath = symbol.filePath;\n        filePaths.add(filePath);\n        if (metadataResolver.isInjectable(symbol)) {\n            ngInjectablesByFile.set(filePath, (ngInjectablesByFile.get(filePath) || []).concat(symbol));\n        }\n    });\n    // Looping over all modules to construct:\n    // - a map from file to modules `ngModulesByFile`,\n    // - a map from file to directives `ngDirectivesByFile`,\n    // - a map from file to pipes `ngPipesByFile`,\n    // - a map from directive/pipe to module `ngModuleByPipeOrDirective`.\n    ngModuleMetas.forEach(function (ngModuleMeta) {\n        var /** @type {?} */ srcFileUrl = ngModuleMeta.type.reference.filePath;\n        filePaths.add(srcFileUrl);\n        ngModulesByFile.set(srcFileUrl, (ngModulesByFile.get(srcFileUrl) || []).concat(ngModuleMeta.type.reference));\n        ngModuleMeta.declaredDirectives.forEach(function (dirIdentifier) {\n            var /** @type {?} */ fileUrl = dirIdentifier.reference.filePath;\n            filePaths.add(fileUrl);\n            ngDirectivesByFile.set(fileUrl, (ngDirectivesByFile.get(fileUrl) || []).concat(dirIdentifier.reference));\n            ngModuleByPipeOrDirective.set(dirIdentifier.reference, ngModuleMeta);\n        });\n        ngModuleMeta.declaredPipes.forEach(function (pipeIdentifier) {\n            var /** @type {?} */ fileUrl = pipeIdentifier.reference.filePath;\n            filePaths.add(fileUrl);\n            ngPipesByFile.set(fileUrl, (ngPipesByFile.get(fileUrl) || []).concat(pipeIdentifier.reference));\n            ngModuleByPipeOrDirective.set(pipeIdentifier.reference, ngModuleMeta);\n        });\n    });\n    var /** @type {?} */ files = [];\n    filePaths.forEach(function (srcUrl) {\n        var /** @type {?} */ directives = ngDirectivesByFile.get(srcUrl) || [];\n        var /** @type {?} */ pipes = ngPipesByFile.get(srcUrl) || [];\n        var /** @type {?} */ ngModules = ngModulesByFile.get(srcUrl) || [];\n        var /** @type {?} */ injectables = ngInjectablesByFile.get(srcUrl) || [];\n        files.push({ srcUrl: srcUrl, directives: directives, pipes: pipes, ngModules: ngModules, injectables: injectables });\n    });\n    return {\n        // map directive/pipe to module\n        ngModuleByPipeOrDirective: ngModuleByPipeOrDirective,\n        // list modules and directives for every source file\n        files: files,\n        ngModules: ngModuleMetas, symbolsMissingModule: symbolsMissingModule\n    };\n}\n/**\n * @param {?} staticSymbolResolver\n * @param {?} files\n * @param {?} host\n * @return {?}\n */\nexport function extractProgramSymbols(staticSymbolResolver, files, host) {\n    var /** @type {?} */ staticSymbols = [];\n    files.filter(function (fileName) { return host.isSourceFile(fileName); }).forEach(function (sourceFile) {\n        staticSymbolResolver.getSymbolsOf(sourceFile).forEach(function (symbol) {\n            var /** @type {?} */ resolvedSymbol = staticSymbolResolver.resolveSymbol(symbol);\n            var /** @type {?} */ symbolMeta = resolvedSymbol.metadata;\n            if (symbolMeta) {\n                if (symbolMeta.__symbolic != 'error') {\n                    // Ignore symbols that are only included to record error information.\n                    staticSymbols.push(resolvedSymbol.symbol);\n                }\n            }\n        });\n    });\n    return staticSymbols;\n}\n/**\n * @param {?} programStaticSymbols\n * @param {?} host\n * @param {?} metadataResolver\n * @return {?}\n */\nfunction _createNgModules(programStaticSymbols, host, metadataResolver) {\n    var /** @type {?} */ ngModules = new Map();\n    var /** @type {?} */ programPipesAndDirectives = [];\n    var /** @type {?} */ ngModulePipesAndDirective = new Set();\n    var /** @type {?} */ addNgModule = function (staticSymbol) {\n        if (ngModules.has(staticSymbol) || !host.isSourceFile(staticSymbol.filePath)) {\n            return false;\n        }\n        var /** @type {?} */ ngModule = metadataResolver.getNgModuleMetadata(staticSymbol, false);\n        if (ngModule) {\n            ngModules.set(ngModule.type.reference, ngModule);\n            ngModule.declaredDirectives.forEach(function (dir) { return ngModulePipesAndDirective.add(dir.reference); });\n            ngModule.declaredPipes.forEach(function (pipe) { return ngModulePipesAndDirective.add(pipe.reference); });\n            // For every input module add the list of transitively included modules\n            ngModule.transitiveModule.modules.forEach(function (modMeta) { return addNgModule(modMeta.reference); });\n        }\n        return !!ngModule;\n    };\n    programStaticSymbols.forEach(function (staticSymbol) {\n        if (!addNgModule(staticSymbol) &&\n            (metadataResolver.isDirective(staticSymbol) || metadataResolver.isPipe(staticSymbol))) {\n            programPipesAndDirectives.push(staticSymbol);\n        }\n    });\n    // Throw an error if any of the program pipe or directives is not declared by a module\n    var /** @type {?} */ symbolsMissingModule = programPipesAndDirectives.filter(function (s) { return !ngModulePipesAndDirective.has(s); });\n    return { ngModules: Array.from(ngModules.values()), symbolsMissingModule: symbolsMissingModule };\n}\n//# sourceMappingURL=compiler.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/aot/compiler.js\n// module id = 257\n// module chunks = 0","/**\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 */\nimport { ReflectionCapabilities, reflector } from '../private_import_core';\nexport var StaticAndDynamicReflectionCapabilities = (function () {\n    /**\n     * @param {?} staticDelegate\n     */\n    function StaticAndDynamicReflectionCapabilities(staticDelegate) {\n        this.staticDelegate = staticDelegate;\n        this.dynamicDelegate = new ReflectionCapabilities();\n    }\n    /**\n     * @param {?} staticDelegate\n     * @return {?}\n     */\n    StaticAndDynamicReflectionCapabilities.install = function (staticDelegate) {\n        reflector.updateCapabilities(new StaticAndDynamicReflectionCapabilities(staticDelegate));\n    };\n    /**\n     * @return {?}\n     */\n    StaticAndDynamicReflectionCapabilities.prototype.isReflectionEnabled = function () { return true; };\n    /**\n     * @param {?} type\n     * @return {?}\n     */\n    StaticAndDynamicReflectionCapabilities.prototype.factory = function (type) { return this.dynamicDelegate.factory(type); };\n    /**\n     * @param {?} type\n     * @param {?} lcProperty\n     * @return {?}\n     */\n    StaticAndDynamicReflectionCapabilities.prototype.hasLifecycleHook = function (type, lcProperty) {\n        return isStaticType(type) ? this.staticDelegate.hasLifecycleHook(type, lcProperty) :\n            this.dynamicDelegate.hasLifecycleHook(type, lcProperty);\n    };\n    /**\n     * @param {?} type\n     * @return {?}\n     */\n    StaticAndDynamicReflectionCapabilities.prototype.parameters = function (type) {\n        return isStaticType(type) ? this.staticDelegate.parameters(type) :\n            this.dynamicDelegate.parameters(type);\n    };\n    /**\n     * @param {?} type\n     * @return {?}\n     */\n    StaticAndDynamicReflectionCapabilities.prototype.annotations = function (type) {\n        return isStaticType(type) ? this.staticDelegate.annotations(type) :\n            this.dynamicDelegate.annotations(type);\n    };\n    /**\n     * @param {?} typeOrFunc\n     * @return {?}\n     */\n    StaticAndDynamicReflectionCapabilities.prototype.propMetadata = function (typeOrFunc) {\n        return isStaticType(typeOrFunc) ? this.staticDelegate.propMetadata(typeOrFunc) :\n            this.dynamicDelegate.propMetadata(typeOrFunc);\n    };\n    /**\n     * @param {?} name\n     * @return {?}\n     */\n    StaticAndDynamicReflectionCapabilities.prototype.getter = function (name) { return this.dynamicDelegate.getter(name); };\n    /**\n     * @param {?} name\n     * @return {?}\n     */\n    StaticAndDynamicReflectionCapabilities.prototype.setter = function (name) { return this.dynamicDelegate.setter(name); };\n    /**\n     * @param {?} name\n     * @return {?}\n     */\n    StaticAndDynamicReflectionCapabilities.prototype.method = function (name) { return this.dynamicDelegate.method(name); };\n    /**\n     * @param {?} type\n     * @return {?}\n     */\n    StaticAndDynamicReflectionCapabilities.prototype.importUri = function (type) { return this.staticDelegate.importUri(type); };\n    /**\n     * @param {?} name\n     * @param {?} moduleUrl\n     * @param {?} runtime\n     * @return {?}\n     */\n    StaticAndDynamicReflectionCapabilities.prototype.resolveIdentifier = function (name, moduleUrl, runtime) {\n        return this.staticDelegate.resolveIdentifier(name, moduleUrl);\n    };\n    /**\n     * @param {?} enumIdentifier\n     * @param {?} name\n     * @return {?}\n     */\n    StaticAndDynamicReflectionCapabilities.prototype.resolveEnum = function (enumIdentifier, name) {\n        if (isStaticType(enumIdentifier)) {\n            return this.staticDelegate.resolveEnum(enumIdentifier, name);\n        }\n        else {\n            return null;\n        }\n    };\n    return StaticAndDynamicReflectionCapabilities;\n}());\nfunction StaticAndDynamicReflectionCapabilities_tsickle_Closure_declarations() {\n    /** @type {?} */\n    StaticAndDynamicReflectionCapabilities.prototype.dynamicDelegate;\n    /** @type {?} */\n    StaticAndDynamicReflectionCapabilities.prototype.staticDelegate;\n}\n/**\n * @param {?} type\n * @return {?}\n */\nfunction isStaticType(type) {\n    return typeof type === 'object' && type.name && type.filePath;\n}\n//# sourceMappingURL=static_reflection_capabilities.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/aot/static_reflection_capabilities.js\n// module id = 258\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { Attribute, Component, ContentChild, ContentChildren, Directive, Host, HostBinding, HostListener, Inject, Injectable, Input, NgModule, Optional, Output, Pipe, Self, SkipSelf, ViewChild, ViewChildren, animate, group, keyframes, sequence, state, style, transition, trigger } from '@angular/core';\nimport { SyntaxError } from '../util';\nimport { StaticSymbol } from './static_symbol';\nvar /** @type {?} */ ANGULAR_IMPORT_LOCATIONS = {\n    coreDecorators: '@angular/core/src/metadata',\n    diDecorators: '@angular/core/src/di/metadata',\n    diMetadata: '@angular/core/src/di/metadata',\n    diOpaqueToken: '@angular/core/src/di/opaque_token',\n    animationMetadata: '@angular/core/src/animation/metadata',\n    provider: '@angular/core/src/di/provider'\n};\nvar /** @type {?} */ HIDDEN_KEY = /^\\$.*\\$$/;\n/**\n * A static reflector implements enough of the Reflector API that is necessary to compile\n * templates statically.\n */\nexport var StaticReflector = (function () {\n    /**\n     * @param {?} symbolResolver\n     * @param {?=} knownMetadataClasses\n     * @param {?=} knownMetadataFunctions\n     * @param {?=} errorRecorder\n     */\n    function StaticReflector(symbolResolver, knownMetadataClasses, knownMetadataFunctions, errorRecorder) {\n        var _this = this;\n        if (knownMetadataClasses === void 0) { knownMetadataClasses = []; }\n        if (knownMetadataFunctions === void 0) { knownMetadataFunctions = []; }\n        this.symbolResolver = symbolResolver;\n        this.errorRecorder = errorRecorder;\n        this.annotationCache = new Map();\n        this.propertyCache = new Map();\n        this.parameterCache = new Map();\n        this.methodCache = new Map();\n        this.conversionMap = new Map();\n        this.initializeConversionMap();\n        knownMetadataClasses.forEach(function (kc) { return _this._registerDecoratorOrConstructor(_this.getStaticSymbol(kc.filePath, kc.name), kc.ctor); });\n        knownMetadataFunctions.forEach(function (kf) { return _this._registerFunction(_this.getStaticSymbol(kf.filePath, kf.name), kf.fn); });\n    }\n    /**\n     * @param {?} typeOrFunc\n     * @return {?}\n     */\n    StaticReflector.prototype.importUri = function (typeOrFunc) {\n        var /** @type {?} */ staticSymbol = this.findSymbolDeclaration(typeOrFunc);\n        return staticSymbol ? staticSymbol.filePath : null;\n    };\n    /**\n     * @param {?} name\n     * @param {?} moduleUrl\n     * @return {?}\n     */\n    StaticReflector.prototype.resolveIdentifier = function (name, moduleUrl) {\n        return this.findDeclaration(moduleUrl, name);\n    };\n    /**\n     * @param {?} moduleUrl\n     * @param {?} name\n     * @param {?=} containingFile\n     * @return {?}\n     */\n    StaticReflector.prototype.findDeclaration = function (moduleUrl, name, containingFile) {\n        return this.findSymbolDeclaration(this.symbolResolver.getSymbolByModule(moduleUrl, name, containingFile));\n    };\n    /**\n     * @param {?} symbol\n     * @return {?}\n     */\n    StaticReflector.prototype.findSymbolDeclaration = function (symbol) {\n        var /** @type {?} */ resolvedSymbol = this.symbolResolver.resolveSymbol(symbol);\n        if (resolvedSymbol && resolvedSymbol.metadata instanceof StaticSymbol) {\n            return this.findSymbolDeclaration(resolvedSymbol.metadata);\n        }\n        else {\n            return symbol;\n        }\n    };\n    /**\n     * @param {?} enumIdentifier\n     * @param {?} name\n     * @return {?}\n     */\n    StaticReflector.prototype.resolveEnum = function (enumIdentifier, name) {\n        var /** @type {?} */ staticSymbol = enumIdentifier;\n        return this.getStaticSymbol(staticSymbol.filePath, staticSymbol.name, [name]);\n    };\n    /**\n     * @param {?} type\n     * @return {?}\n     */\n    StaticReflector.prototype.annotations = function (type) {\n        var /** @type {?} */ annotations = this.annotationCache.get(type);\n        if (!annotations) {\n            annotations = [];\n            var /** @type {?} */ classMetadata = this.getTypeMetadata(type);\n            if (classMetadata['extends']) {\n                var /** @type {?} */ parentAnnotations = this.annotations(this.simplify(type, classMetadata['extends']));\n                annotations.push.apply(annotations, parentAnnotations);\n            }\n            if (classMetadata['decorators']) {\n                var /** @type {?} */ ownAnnotations = this.simplify(type, classMetadata['decorators']);\n                annotations.push.apply(annotations, ownAnnotations);\n            }\n            this.annotationCache.set(type, annotations.filter(function (ann) { return !!ann; }));\n        }\n        return annotations;\n    };\n    /**\n     * @param {?} type\n     * @return {?}\n     */\n    StaticReflector.prototype.propMetadata = function (type) {\n        var _this = this;\n        var /** @type {?} */ propMetadata = this.propertyCache.get(type);\n        if (!propMetadata) {\n            var /** @type {?} */ classMetadata = this.getTypeMetadata(type);\n            propMetadata = {};\n            if (classMetadata['extends']) {\n                var /** @type {?} */ parentPropMetadata_1 = this.propMetadata(this.simplify(type, classMetadata['extends']));\n                Object.keys(parentPropMetadata_1).forEach(function (parentProp) {\n                    propMetadata[parentProp] = parentPropMetadata_1[parentProp];\n                });\n            }\n            var /** @type {?} */ members_1 = classMetadata['members'] || {};\n            Object.keys(members_1).forEach(function (propName) {\n                var /** @type {?} */ propData = members_1[propName];\n                var /** @type {?} */ prop = ((propData))\n                    .find(function (a) { return a['__symbolic'] == 'property' || a['__symbolic'] == 'method'; });\n                var /** @type {?} */ decorators = [];\n                if (propMetadata[propName]) {\n                    decorators.push.apply(decorators, propMetadata[propName]);\n                }\n                propMetadata[propName] = decorators;\n                if (prop && prop['decorators']) {\n                    decorators.push.apply(decorators, _this.simplify(type, prop['decorators']));\n                }\n            });\n            this.propertyCache.set(type, propMetadata);\n        }\n        return propMetadata;\n    };\n    /**\n     * @param {?} type\n     * @return {?}\n     */\n    StaticReflector.prototype.parameters = function (type) {\n        if (!(type instanceof StaticSymbol)) {\n            this.reportError(new Error(\"parameters received \" + JSON.stringify(type) + \" which is not a StaticSymbol\"), type);\n            return [];\n        }\n        try {\n            var /** @type {?} */ parameters_1 = this.parameterCache.get(type);\n            if (!parameters_1) {\n                var /** @type {?} */ classMetadata = this.getTypeMetadata(type);\n                var /** @type {?} */ members = classMetadata ? classMetadata['members'] : null;\n                var /** @type {?} */ ctorData = members ? members['__ctor__'] : null;\n                if (ctorData) {\n                    var /** @type {?} */ ctor = ((ctorData)).find(function (a) { return a['__symbolic'] == 'constructor'; });\n                    var /** @type {?} */ parameterTypes = (this.simplify(type, ctor['parameters'] || []));\n                    var /** @type {?} */ parameterDecorators_1 = (this.simplify(type, ctor['parameterDecorators'] || []));\n                    parameters_1 = [];\n                    parameterTypes.forEach(function (paramType, index) {\n                        var /** @type {?} */ nestedResult = [];\n                        if (paramType) {\n                            nestedResult.push(paramType);\n                        }\n                        var /** @type {?} */ decorators = parameterDecorators_1 ? parameterDecorators_1[index] : null;\n                        if (decorators) {\n                            nestedResult.push.apply(nestedResult, decorators);\n                        }\n                        parameters_1.push(nestedResult);\n                    });\n                }\n                else if (classMetadata['extends']) {\n                    parameters_1 = this.parameters(this.simplify(type, classMetadata['extends']));\n                }\n                if (!parameters_1) {\n                    parameters_1 = [];\n                }\n                this.parameterCache.set(type, parameters_1);\n            }\n            return parameters_1;\n        }\n        catch (e) {\n            console.error(\"Failed on type \" + JSON.stringify(type) + \" with error \" + e);\n            throw e;\n        }\n    };\n    /**\n     * @param {?} type\n     * @return {?}\n     */\n    StaticReflector.prototype._methodNames = function (type) {\n        var /** @type {?} */ methodNames = this.methodCache.get(type);\n        if (!methodNames) {\n            var /** @type {?} */ classMetadata = this.getTypeMetadata(type);\n            methodNames = {};\n            if (classMetadata['extends']) {\n                var /** @type {?} */ parentMethodNames_1 = this._methodNames(this.simplify(type, classMetadata['extends']));\n                Object.keys(parentMethodNames_1).forEach(function (parentProp) {\n                    methodNames[parentProp] = parentMethodNames_1[parentProp];\n                });\n            }\n            var /** @type {?} */ members_2 = classMetadata['members'] || {};\n            Object.keys(members_2).forEach(function (propName) {\n                var /** @type {?} */ propData = members_2[propName];\n                var /** @type {?} */ isMethod = ((propData)).some(function (a) { return a['__symbolic'] == 'method'; });\n                methodNames[propName] = methodNames[propName] || isMethod;\n            });\n            this.methodCache.set(type, methodNames);\n        }\n        return methodNames;\n    };\n    /**\n     * @param {?} type\n     * @param {?} lcProperty\n     * @return {?}\n     */\n    StaticReflector.prototype.hasLifecycleHook = function (type, lcProperty) {\n        if (!(type instanceof StaticSymbol)) {\n            this.reportError(new Error(\"hasLifecycleHook received \" + JSON.stringify(type) + \" which is not a StaticSymbol\"), type);\n        }\n        try {\n            return !!this._methodNames(type)[lcProperty];\n        }\n        catch (e) {\n            console.error(\"Failed on type \" + JSON.stringify(type) + \" with error \" + e);\n            throw e;\n        }\n    };\n    /**\n     * @param {?} type\n     * @param {?} ctor\n     * @return {?}\n     */\n    StaticReflector.prototype._registerDecoratorOrConstructor = function (type, ctor) {\n        this.conversionMap.set(type, function (context, args) { return new (ctor.bind.apply(ctor, [void 0].concat(args)))(); });\n    };\n    /**\n     * @param {?} type\n     * @param {?} fn\n     * @return {?}\n     */\n    StaticReflector.prototype._registerFunction = function (type, fn) {\n        this.conversionMap.set(type, function (context, args) { return fn.apply(undefined, args); });\n    };\n    /**\n     * @return {?}\n     */\n    StaticReflector.prototype.initializeConversionMap = function () {\n        var coreDecorators = ANGULAR_IMPORT_LOCATIONS.coreDecorators, diDecorators = ANGULAR_IMPORT_LOCATIONS.diDecorators, diMetadata = ANGULAR_IMPORT_LOCATIONS.diMetadata, diOpaqueToken = ANGULAR_IMPORT_LOCATIONS.diOpaqueToken, animationMetadata = ANGULAR_IMPORT_LOCATIONS.animationMetadata, provider = ANGULAR_IMPORT_LOCATIONS.provider;\n        this.opaqueToken = this.findDeclaration(diOpaqueToken, 'OpaqueToken');\n        this._registerDecoratorOrConstructor(this.findDeclaration(diDecorators, 'Host'), Host);\n        this._registerDecoratorOrConstructor(this.findDeclaration(diDecorators, 'Injectable'), Injectable);\n        this._registerDecoratorOrConstructor(this.findDeclaration(diDecorators, 'Self'), Self);\n        this._registerDecoratorOrConstructor(this.findDeclaration(diDecorators, 'SkipSelf'), SkipSelf);\n        this._registerDecoratorOrConstructor(this.findDeclaration(diDecorators, 'Inject'), Inject);\n        this._registerDecoratorOrConstructor(this.findDeclaration(diDecorators, 'Optional'), Optional);\n        this._registerDecoratorOrConstructor(this.findDeclaration(coreDecorators, 'Attribute'), Attribute);\n        this._registerDecoratorOrConstructor(this.findDeclaration(coreDecorators, 'ContentChild'), ContentChild);\n        this._registerDecoratorOrConstructor(this.findDeclaration(coreDecorators, 'ContentChildren'), ContentChildren);\n        this._registerDecoratorOrConstructor(this.findDeclaration(coreDecorators, 'ViewChild'), ViewChild);\n        this._registerDecoratorOrConstructor(this.findDeclaration(coreDecorators, 'ViewChildren'), ViewChildren);\n        this._registerDecoratorOrConstructor(this.findDeclaration(coreDecorators, 'Input'), Input);\n        this._registerDecoratorOrConstructor(this.findDeclaration(coreDecorators, 'Output'), Output);\n        this._registerDecoratorOrConstructor(this.findDeclaration(coreDecorators, 'Pipe'), Pipe);\n        this._registerDecoratorOrConstructor(this.findDeclaration(coreDecorators, 'HostBinding'), HostBinding);\n        this._registerDecoratorOrConstructor(this.findDeclaration(coreDecorators, 'HostListener'), HostListener);\n        this._registerDecoratorOrConstructor(this.findDeclaration(coreDecorators, 'Directive'), Directive);\n        this._registerDecoratorOrConstructor(this.findDeclaration(coreDecorators, 'Component'), Component);\n        this._registerDecoratorOrConstructor(this.findDeclaration(coreDecorators, 'NgModule'), NgModule);\n        // Note: Some metadata classes can be used directly with Provider.deps.\n        this._registerDecoratorOrConstructor(this.findDeclaration(diMetadata, 'Host'), Host);\n        this._registerDecoratorOrConstructor(this.findDeclaration(diMetadata, 'Self'), Self);\n        this._registerDecoratorOrConstructor(this.findDeclaration(diMetadata, 'SkipSelf'), SkipSelf);\n        this._registerDecoratorOrConstructor(this.findDeclaration(diMetadata, 'Optional'), Optional);\n        this._registerFunction(this.findDeclaration(animationMetadata, 'trigger'), trigger);\n        this._registerFunction(this.findDeclaration(animationMetadata, 'state'), state);\n        this._registerFunction(this.findDeclaration(animationMetadata, 'transition'), transition);\n        this._registerFunction(this.findDeclaration(animationMetadata, 'style'), style);\n        this._registerFunction(this.findDeclaration(animationMetadata, 'animate'), animate);\n        this._registerFunction(this.findDeclaration(animationMetadata, 'keyframes'), keyframes);\n        this._registerFunction(this.findDeclaration(animationMetadata, 'sequence'), sequence);\n        this._registerFunction(this.findDeclaration(animationMetadata, 'group'), group);\n    };\n    /**\n     * getStaticSymbol produces a Type whose metadata is known but whose implementation is not loaded.\n     * All types passed to the StaticResolver should be pseudo-types returned by this method.\n     *\n     * @param {?} declarationFile the absolute path of the file where the symbol is declared\n     * @param {?} name the name of the type.\n     * @param {?=} members\n     * @return {?}\n     */\n    StaticReflector.prototype.getStaticSymbol = function (declarationFile, name, members) {\n        return this.symbolResolver.getStaticSymbol(declarationFile, name, members);\n    };\n    /**\n     * @param {?} error\n     * @param {?} context\n     * @param {?=} path\n     * @return {?}\n     */\n    StaticReflector.prototype.reportError = function (error, context, path) {\n        if (this.errorRecorder) {\n            this.errorRecorder(error, (context && context.filePath) || path);\n        }\n        else {\n            throw error;\n        }\n    };\n    /**\n     * \\@internal\n     * @param {?} context\n     * @param {?} value\n     * @return {?}\n     */\n    StaticReflector.prototype.simplify = function (context, value) {\n        var _this = this;\n        var /** @type {?} */ self = this;\n        var /** @type {?} */ scope = BindingScope.empty;\n        var /** @type {?} */ calling = new Map();\n        /**\n         * @param {?} context\n         * @param {?} value\n         * @param {?} depth\n         * @return {?}\n         */\n        function simplifyInContext(context, value, depth) {\n            /**\n             * @param {?} staticSymbol\n             * @return {?}\n             */\n            function resolveReferenceValue(staticSymbol) {\n                var /** @type {?} */ resolvedSymbol = self.symbolResolver.resolveSymbol(staticSymbol);\n                return resolvedSymbol ? resolvedSymbol.metadata : null;\n            }\n            /**\n             * @param {?} functionSymbol\n             * @param {?} targetFunction\n             * @param {?} args\n             * @return {?}\n             */\n            function simplifyCall(functionSymbol, targetFunction, args) {\n                if (targetFunction && targetFunction['__symbolic'] == 'function') {\n                    if (calling.get(functionSymbol)) {\n                        throw new Error('Recursion not supported');\n                    }\n                    calling.set(functionSymbol, true);\n                    try {\n                        var /** @type {?} */ value_1 = targetFunction['value'];\n                        if (value_1 && (depth != 0 || value_1.__symbolic != 'error')) {\n                            var /** @type {?} */ parameters = targetFunction['parameters'];\n                            var /** @type {?} */ defaults = targetFunction.defaults;\n                            args = args.map(function (arg) { return simplifyInContext(context, arg, depth + 1); });\n                            if (defaults && defaults.length > args.length) {\n                                args.push.apply(args, defaults.slice(args.length).map(function (value) { return simplify(value); }));\n                            }\n                            var /** @type {?} */ functionScope = BindingScope.build();\n                            for (var /** @type {?} */ i = 0; i < parameters.length; i++) {\n                                functionScope.define(parameters[i], args[i]);\n                            }\n                            var /** @type {?} */ oldScope = scope;\n                            var /** @type {?} */ result_1;\n                            try {\n                                scope = functionScope.done();\n                                result_1 = simplifyInContext(functionSymbol, value_1, depth + 1);\n                            }\n                            finally {\n                                scope = oldScope;\n                            }\n                            return result_1;\n                        }\n                    }\n                    finally {\n                        calling.delete(functionSymbol);\n                    }\n                }\n                if (depth === 0) {\n                    // If depth is 0 we are evaluating the top level expression that is describing element\n                    // decorator. In this case, it is a decorator we don't understand, such as a custom\n                    // non-angular decorator, and we should just ignore it.\n                    return { __symbolic: 'ignore' };\n                }\n                return simplify({ __symbolic: 'error', message: 'Function call not supported', context: functionSymbol });\n            }\n            /**\n             * @param {?} expression\n             * @return {?}\n             */\n            function simplify(expression) {\n                if (isPrimitive(expression)) {\n                    return expression;\n                }\n                if (expression instanceof Array) {\n                    var /** @type {?} */ result_2 = [];\n                    for (var _i = 0, _a = ((expression)); _i < _a.length; _i++) {\n                        var item = _a[_i];\n                        // Check for a spread expression\n                        if (item && item.__symbolic === 'spread') {\n                            var /** @type {?} */ spreadArray = simplify(item.expression);\n                            if (Array.isArray(spreadArray)) {\n                                for (var _b = 0, spreadArray_1 = spreadArray; _b < spreadArray_1.length; _b++) {\n                                    var spreadItem = spreadArray_1[_b];\n                                    result_2.push(spreadItem);\n                                }\n                                continue;\n                            }\n                        }\n                        var /** @type {?} */ value_2 = simplify(item);\n                        if (shouldIgnore(value_2)) {\n                            continue;\n                        }\n                        result_2.push(value_2);\n                    }\n                    return result_2;\n                }\n                if (expression instanceof StaticSymbol) {\n                    // Stop simplification at builtin symbols\n                    if (expression === self.opaqueToken || self.conversionMap.has(expression)) {\n                        return expression;\n                    }\n                    else {\n                        var /** @type {?} */ staticSymbol = expression;\n                        var /** @type {?} */ declarationValue = resolveReferenceValue(staticSymbol);\n                        if (declarationValue) {\n                            return simplifyInContext(staticSymbol, declarationValue, depth + 1);\n                        }\n                        else {\n                            return staticSymbol;\n                        }\n                    }\n                }\n                if (expression) {\n                    if (expression['__symbolic']) {\n                        var /** @type {?} */ staticSymbol = void 0;\n                        switch (expression['__symbolic']) {\n                            case 'binop':\n                                var /** @type {?} */ left = simplify(expression['left']);\n                                if (shouldIgnore(left))\n                                    return left;\n                                var /** @type {?} */ right = simplify(expression['right']);\n                                if (shouldIgnore(right))\n                                    return right;\n                                switch (expression['operator']) {\n                                    case '&&':\n                                        return left && right;\n                                    case '||':\n                                        return left || right;\n                                    case '|':\n                                        return left | right;\n                                    case '^':\n                                        return left ^ right;\n                                    case '&':\n                                        return left & right;\n                                    case '==':\n                                        return left == right;\n                                    case '!=':\n                                        return left != right;\n                                    case '===':\n                                        return left === right;\n                                    case '!==':\n                                        return left !== right;\n                                    case '<':\n                                        return left < right;\n                                    case '>':\n                                        return left > right;\n                                    case '<=':\n                                        return left <= right;\n                                    case '>=':\n                                        return left >= right;\n                                    case '<<':\n                                        return left << right;\n                                    case '>>':\n                                        return left >> right;\n                                    case '+':\n                                        return left + right;\n                                    case '-':\n                                        return left - right;\n                                    case '*':\n                                        return left * right;\n                                    case '/':\n                                        return left / right;\n                                    case '%':\n                                        return left % right;\n                                }\n                                return null;\n                            case 'if':\n                                var /** @type {?} */ condition = simplify(expression['condition']);\n                                return condition ? simplify(expression['thenExpression']) :\n                                    simplify(expression['elseExpression']);\n                            case 'pre':\n                                var /** @type {?} */ operand = simplify(expression['operand']);\n                                if (shouldIgnore(operand))\n                                    return operand;\n                                switch (expression['operator']) {\n                                    case '+':\n                                        return operand;\n                                    case '-':\n                                        return -operand;\n                                    case '!':\n                                        return !operand;\n                                    case '~':\n                                        return ~operand;\n                                }\n                                return null;\n                            case 'index':\n                                var /** @type {?} */ indexTarget = simplify(expression['expression']);\n                                var /** @type {?} */ index = simplify(expression['index']);\n                                if (indexTarget && isPrimitive(index))\n                                    return indexTarget[index];\n                                return null;\n                            case 'select':\n                                var /** @type {?} */ member = expression['member'];\n                                var /** @type {?} */ selectContext = context;\n                                var /** @type {?} */ selectTarget = simplify(expression['expression']);\n                                if (selectTarget instanceof StaticSymbol) {\n                                    var /** @type {?} */ members = selectTarget.members.concat(member);\n                                    selectContext =\n                                        self.getStaticSymbol(selectTarget.filePath, selectTarget.name, members);\n                                    var /** @type {?} */ declarationValue = resolveReferenceValue(selectContext);\n                                    if (declarationValue) {\n                                        return simplifyInContext(selectContext, declarationValue, depth + 1);\n                                    }\n                                    else {\n                                        return selectContext;\n                                    }\n                                }\n                                if (selectTarget && isPrimitive(member))\n                                    return simplifyInContext(selectContext, selectTarget[member], depth + 1);\n                                return null;\n                            case 'reference':\n                                // Note: This only has to deal with variable references,\n                                // as symbol references have been converted into StaticSymbols already\n                                // in the StaticSymbolResolver!\n                                var /** @type {?} */ name_1 = expression['name'];\n                                var /** @type {?} */ localValue = scope.resolve(name_1);\n                                if (localValue != BindingScope.missing) {\n                                    return localValue;\n                                }\n                                break;\n                            case 'class':\n                                return context;\n                            case 'function':\n                                return context;\n                            case 'new':\n                            case 'call':\n                                // Determine if the function is a built-in conversion\n                                staticSymbol = simplifyInContext(context, expression['expression'], depth + 1);\n                                if (staticSymbol instanceof StaticSymbol) {\n                                    if (staticSymbol === self.opaqueToken) {\n                                        // if somebody calls new OpaqueToken, don't create an OpaqueToken,\n                                        // but rather return the symbol to which the OpaqueToken is assigned to.\n                                        return context;\n                                    }\n                                    var /** @type {?} */ argExpressions = expression['arguments'] || [];\n                                    var /** @type {?} */ converter = self.conversionMap.get(staticSymbol);\n                                    if (converter) {\n                                        var /** @type {?} */ args = argExpressions.map(function (arg) { return simplifyInContext(context, arg, depth + 1); });\n                                        return converter(context, args);\n                                    }\n                                    else {\n                                        // Determine if the function is one we can simplify.\n                                        var /** @type {?} */ targetFunction = resolveReferenceValue(staticSymbol);\n                                        return simplifyCall(staticSymbol, targetFunction, argExpressions);\n                                    }\n                                }\n                                break;\n                            case 'error':\n                                var /** @type {?} */ message = produceErrorMessage(expression);\n                                if (expression['line']) {\n                                    message =\n                                        message + \" (position \" + (expression['line'] + 1) + \":\" + (expression['character'] + 1) + \" in the original .ts file)\";\n                                    throw positionalError(message, context.filePath, expression['line'], expression['character']);\n                                }\n                                throw new Error(message);\n                        }\n                        return null;\n                    }\n                    return mapStringMap(expression, function (value, name) { return simplify(value); });\n                }\n                return null;\n            }\n            try {\n                return simplify(value);\n            }\n            catch (e) {\n                var /** @type {?} */ members = context.members.length ? \".\" + context.members.join('.') : '';\n                var /** @type {?} */ message = e.message + \", resolving symbol \" + context.name + members + \" in \" + context.filePath;\n                if (e.fileName) {\n                    throw positionalError(message, e.fileName, e.line, e.column);\n                }\n                throw new SyntaxError(message);\n            }\n        }\n        var /** @type {?} */ recordedSimplifyInContext = function (context, value, depth) {\n            try {\n                return simplifyInContext(context, value, depth);\n            }\n            catch (e) {\n                _this.reportError(e, context);\n            }\n        };\n        var /** @type {?} */ result = this.errorRecorder ? recordedSimplifyInContext(context, value, 0) :\n            simplifyInContext(context, value, 0);\n        if (shouldIgnore(result)) {\n            return undefined;\n        }\n        return result;\n    };\n    /**\n     * @param {?} type\n     * @return {?}\n     */\n    StaticReflector.prototype.getTypeMetadata = function (type) {\n        var /** @type {?} */ resolvedSymbol = this.symbolResolver.resolveSymbol(type);\n        return resolvedSymbol && resolvedSymbol.metadata ? resolvedSymbol.metadata :\n            { __symbolic: 'class' };\n    };\n    return StaticReflector;\n}());\nfunction StaticReflector_tsickle_Closure_declarations() {\n    /** @type {?} */\n    StaticReflector.prototype.annotationCache;\n    /** @type {?} */\n    StaticReflector.prototype.propertyCache;\n    /** @type {?} */\n    StaticReflector.prototype.parameterCache;\n    /** @type {?} */\n    StaticReflector.prototype.methodCache;\n    /** @type {?} */\n    StaticReflector.prototype.conversionMap;\n    /** @type {?} */\n    StaticReflector.prototype.opaqueToken;\n    /** @type {?} */\n    StaticReflector.prototype.symbolResolver;\n    /** @type {?} */\n    StaticReflector.prototype.errorRecorder;\n}\n/**\n * @param {?} error\n * @return {?}\n */\nfunction expandedMessage(error) {\n    switch (error.message) {\n        case 'Reference to non-exported class':\n            if (error.context && error.context.className) {\n                return \"Reference to a non-exported class \" + error.context.className + \". Consider exporting the class\";\n            }\n            break;\n        case 'Variable not initialized':\n            return 'Only initialized variables and constants can be referenced because the value of this variable is needed by the template compiler';\n        case 'Destructuring not supported':\n            return 'Referencing an exported destructured variable or constant is not supported by the template compiler. Consider simplifying this to avoid destructuring';\n        case 'Could not resolve type':\n            if (error.context && error.context.typeName) {\n                return \"Could not resolve type \" + error.context.typeName;\n            }\n            break;\n        case 'Function call not supported':\n            var /** @type {?} */ prefix = error.context && error.context.name ? \"Calling function '\" + error.context.name + \"', f\" : 'F';\n            return prefix +\n                'unction calls are not supported. Consider replacing the function or lambda with a reference to an exported function';\n        case 'Reference to a local symbol':\n            if (error.context && error.context.name) {\n                return \"Reference to a local (non-exported) symbol '\" + error.context.name + \"'. Consider exporting the symbol\";\n            }\n            break;\n    }\n    return error.message;\n}\n/**\n * @param {?} error\n * @return {?}\n */\nfunction produceErrorMessage(error) {\n    return \"Error encountered resolving symbol values statically. \" + expandedMessage(error);\n}\n/**\n * @param {?} input\n * @param {?} transform\n * @return {?}\n */\nfunction mapStringMap(input, transform) {\n    if (!input)\n        return {};\n    var /** @type {?} */ result = {};\n    Object.keys(input).forEach(function (key) {\n        var /** @type {?} */ value = transform(input[key], key);\n        if (!shouldIgnore(value)) {\n            if (HIDDEN_KEY.test(key)) {\n                Object.defineProperty(result, key, { enumerable: false, configurable: true, value: value });\n            }\n            else {\n                result[key] = value;\n            }\n        }\n    });\n    return result;\n}\n/**\n * @param {?} o\n * @return {?}\n */\nfunction isPrimitive(o) {\n    return o === null || (typeof o !== 'function' && typeof o !== 'object');\n}\n/**\n * @abstract\n */\nvar BindingScope = (function () {\n    function BindingScope() {\n    }\n    /**\n     * @abstract\n     * @param {?} name\n     * @return {?}\n     */\n    BindingScope.prototype.resolve = function (name) { };\n    /**\n     * @return {?}\n     */\n    BindingScope.build = function () {\n        var /** @type {?} */ current = new Map();\n        return {\n            define: function (name, value) {\n                current.set(name, value);\n                return this;\n            },\n            done: function () {\n                return current.size > 0 ? new PopulatedScope(current) : BindingScope.empty;\n            }\n        };\n    };\n    BindingScope.missing = {};\n    BindingScope.empty = { resolve: function (name) { return BindingScope.missing; } };\n    return BindingScope;\n}());\nfunction BindingScope_tsickle_Closure_declarations() {\n    /** @type {?} */\n    BindingScope.missing;\n    /** @type {?} */\n    BindingScope.empty;\n}\nvar PopulatedScope = (function (_super) {\n    __extends(PopulatedScope, _super);\n    /**\n     * @param {?} bindings\n     */\n    function PopulatedScope(bindings) {\n        _super.call(this);\n        this.bindings = bindings;\n    }\n    /**\n     * @param {?} name\n     * @return {?}\n     */\n    PopulatedScope.prototype.resolve = function (name) {\n        return this.bindings.has(name) ? this.bindings.get(name) : BindingScope.missing;\n    };\n    return PopulatedScope;\n}(BindingScope));\nfunction PopulatedScope_tsickle_Closure_declarations() {\n    /** @type {?} */\n    PopulatedScope.prototype.bindings;\n}\n/**\n * @param {?} value\n * @return {?}\n */\nfunction shouldIgnore(value) {\n    return value && value.__symbolic == 'ignore';\n}\n/**\n * @param {?} message\n * @param {?} fileName\n * @param {?} line\n * @param {?} column\n * @return {?}\n */\nfunction positionalError(message, fileName, line, column) {\n    var /** @type {?} */ result = new Error(message);\n    ((result)).fileName = fileName;\n    ((result)).line = line;\n    ((result)).column = column;\n    return result;\n}\n//# sourceMappingURL=static_reflector.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/aot/static_reflector.js\n// module id = 259\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { ValueTransformer, visitValue } from '../util';\nimport { StaticSymbol } from './static_symbol';\nexport var ResolvedStaticSymbol = (function () {\n    /**\n     * @param {?} symbol\n     * @param {?} metadata\n     */\n    function ResolvedStaticSymbol(symbol, metadata) {\n        this.symbol = symbol;\n        this.metadata = metadata;\n    }\n    return ResolvedStaticSymbol;\n}());\nfunction ResolvedStaticSymbol_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ResolvedStaticSymbol.prototype.symbol;\n    /** @type {?} */\n    ResolvedStaticSymbol.prototype.metadata;\n}\nvar /** @type {?} */ SUPPORTED_SCHEMA_VERSION = 3;\n/**\n * This class is responsible for loading metadata per symbol,\n * and normalizing references between symbols.\n */\nexport var StaticSymbolResolver = (function () {\n    /**\n     * @param {?} host\n     * @param {?} staticSymbolCache\n     * @param {?} summaryResolver\n     * @param {?=} errorRecorder\n     */\n    function StaticSymbolResolver(host, staticSymbolCache, summaryResolver, errorRecorder) {\n        this.host = host;\n        this.staticSymbolCache = staticSymbolCache;\n        this.summaryResolver = summaryResolver;\n        this.errorRecorder = errorRecorder;\n        this.metadataCache = new Map();\n        this.resolvedSymbols = new Map();\n        this.resolvedFilePaths = new Set();\n    }\n    /**\n     * @param {?} staticSymbol\n     * @return {?}\n     */\n    StaticSymbolResolver.prototype.resolveSymbol = function (staticSymbol) {\n        if (staticSymbol.members.length > 0) {\n            return this._resolveSymbolMembers(staticSymbol);\n        }\n        var /** @type {?} */ result = this._resolveSymbolFromSummary(staticSymbol);\n        if (!result) {\n            // Note: Some users use libraries that were not compiled with ngc, i.e. they don't\n            // have summaries, only .d.ts files. So we always need to check both, the summary\n            // and metadata.\n            this._createSymbolsOf(staticSymbol.filePath);\n            result = this.resolvedSymbols.get(staticSymbol);\n        }\n        return result;\n    };\n    /**\n     * @param {?} staticSymbol\n     * @return {?}\n     */\n    StaticSymbolResolver.prototype._resolveSymbolMembers = function (staticSymbol) {\n        var /** @type {?} */ members = staticSymbol.members;\n        var /** @type {?} */ baseResolvedSymbol = this.resolveSymbol(this.getStaticSymbol(staticSymbol.filePath, staticSymbol.name));\n        if (!baseResolvedSymbol) {\n            return null;\n        }\n        var /** @type {?} */ baseMetadata = baseResolvedSymbol.metadata;\n        if (baseMetadata instanceof StaticSymbol) {\n            return new ResolvedStaticSymbol(staticSymbol, this.getStaticSymbol(baseMetadata.filePath, baseMetadata.name, members));\n        }\n        else if (baseMetadata && baseMetadata.__symbolic === 'class') {\n            if (baseMetadata.statics && members.length === 1) {\n                return new ResolvedStaticSymbol(staticSymbol, baseMetadata.statics[members[0]]);\n            }\n        }\n        else {\n            var /** @type {?} */ value = baseMetadata;\n            for (var /** @type {?} */ i = 0; i < members.length && value; i++) {\n                value = value[members[i]];\n            }\n            return new ResolvedStaticSymbol(staticSymbol, value);\n        }\n        return null;\n    };\n    /**\n     * @param {?} staticSymbol\n     * @return {?}\n     */\n    StaticSymbolResolver.prototype._resolveSymbolFromSummary = function (staticSymbol) {\n        var /** @type {?} */ summary = this.summaryResolver.resolveSummary(staticSymbol);\n        return summary ? new ResolvedStaticSymbol(staticSymbol, summary.metadata) : null;\n    };\n    /**\n     * getStaticSymbol produces a Type whose metadata is known but whose implementation is not loaded.\n     * All types passed to the StaticResolver should be pseudo-types returned by this method.\n     *\n     * @param {?} declarationFile the absolute path of the file where the symbol is declared\n     * @param {?} name the name of the type.\n     * @param {?=} members\n     * @return {?}\n     */\n    StaticSymbolResolver.prototype.getStaticSymbol = function (declarationFile, name, members) {\n        return this.staticSymbolCache.get(declarationFile, name, members);\n    };\n    /**\n     * @param {?} filePath\n     * @return {?}\n     */\n    StaticSymbolResolver.prototype.getSymbolsOf = function (filePath) {\n        // Note: Some users use libraries that were not compiled with ngc, i.e. they don't\n        // have summaries, only .d.ts files. So we always need to check both, the summary\n        // and metadata.\n        var /** @type {?} */ symbols = new Set(this.summaryResolver.getSymbolsOf(filePath));\n        this._createSymbolsOf(filePath);\n        this.resolvedSymbols.forEach(function (resolvedSymbol) {\n            if (resolvedSymbol.symbol.filePath === filePath) {\n                symbols.add(resolvedSymbol.symbol);\n            }\n        });\n        return Array.from(symbols);\n    };\n    /**\n     * @param {?} filePath\n     * @return {?}\n     */\n    StaticSymbolResolver.prototype._createSymbolsOf = function (filePath) {\n        var _this = this;\n        if (this.resolvedFilePaths.has(filePath)) {\n            return;\n        }\n        this.resolvedFilePaths.add(filePath);\n        var /** @type {?} */ resolvedSymbols = [];\n        var /** @type {?} */ metadata = this.getModuleMetadata(filePath);\n        if (metadata['metadata']) {\n            // handle direct declarations of the symbol\n            Object.keys(metadata['metadata']).forEach(function (symbolName) {\n                var /** @type {?} */ symbolMeta = metadata['metadata'][symbolName];\n                resolvedSymbols.push(_this.createResolvedSymbol(_this.getStaticSymbol(filePath, symbolName), symbolMeta));\n            });\n        }\n        // handle the symbols in one of the re-export location\n        if (metadata['exports']) {\n            var _loop_1 = function(moduleExport) {\n                // handle the symbols in the list of explicitly re-exported symbols.\n                if (moduleExport.export) {\n                    moduleExport.export.forEach(function (exportSymbol) {\n                        var /** @type {?} */ symbolName;\n                        if (typeof exportSymbol === 'string') {\n                            symbolName = exportSymbol;\n                        }\n                        else {\n                            symbolName = exportSymbol.as;\n                        }\n                        var /** @type {?} */ symName = symbolName;\n                        if (typeof exportSymbol !== 'string') {\n                            symName = exportSymbol.name;\n                        }\n                        var /** @type {?} */ resolvedModule = _this.resolveModule(moduleExport.from, filePath);\n                        if (resolvedModule) {\n                            var /** @type {?} */ targetSymbol = _this.getStaticSymbol(resolvedModule, symName);\n                            var /** @type {?} */ sourceSymbol = _this.getStaticSymbol(filePath, symbolName);\n                            resolvedSymbols.push(new ResolvedStaticSymbol(sourceSymbol, targetSymbol));\n                        }\n                    });\n                }\n                else {\n                    // handle the symbols via export * directives.\n                    var /** @type {?} */ resolvedModule = this_1.resolveModule(moduleExport.from, filePath);\n                    if (resolvedModule) {\n                        var /** @type {?} */ nestedExports = this_1.getSymbolsOf(resolvedModule);\n                        nestedExports.forEach(function (targetSymbol) {\n                            var /** @type {?} */ sourceSymbol = _this.getStaticSymbol(filePath, targetSymbol.name);\n                            resolvedSymbols.push(new ResolvedStaticSymbol(sourceSymbol, targetSymbol));\n                        });\n                    }\n                }\n            };\n            var this_1 = this;\n            for (var _i = 0, _a = metadata['exports']; _i < _a.length; _i++) {\n                var moduleExport = _a[_i];\n                _loop_1(moduleExport);\n            }\n        }\n        resolvedSymbols.forEach(function (resolvedSymbol) { return _this.resolvedSymbols.set(resolvedSymbol.symbol, resolvedSymbol); });\n    };\n    /**\n     * @param {?} sourceSymbol\n     * @param {?} metadata\n     * @return {?}\n     */\n    StaticSymbolResolver.prototype.createResolvedSymbol = function (sourceSymbol, metadata) {\n        var /** @type {?} */ self = this;\n        var ReferenceTransformer = (function (_super) {\n            __extends(ReferenceTransformer, _super);\n            function ReferenceTransformer() {\n                _super.apply(this, arguments);\n            }\n            /**\n             * @param {?} map\n             * @param {?} functionParams\n             * @return {?}\n             */\n            ReferenceTransformer.prototype.visitStringMap = function (map, functionParams) {\n                var /** @type {?} */ symbolic = map['__symbolic'];\n                if (symbolic === 'function') {\n                    var /** @type {?} */ oldLen = functionParams.length;\n                    functionParams.push.apply(functionParams, (map['parameters'] || []));\n                    var /** @type {?} */ result = _super.prototype.visitStringMap.call(this, map, functionParams);\n                    functionParams.length = oldLen;\n                    return result;\n                }\n                else if (symbolic === 'reference') {\n                    var /** @type {?} */ module_1 = map['module'];\n                    var /** @type {?} */ name_1 = map['name'];\n                    if (!name_1) {\n                        return null;\n                    }\n                    var /** @type {?} */ filePath = void 0;\n                    if (module_1) {\n                        filePath = self.resolveModule(module_1, sourceSymbol.filePath);\n                        if (!filePath) {\n                            return {\n                                __symbolic: 'error',\n                                message: \"Could not resolve \" + module_1 + \" relative to \" + sourceSymbol.filePath + \".\"\n                            };\n                        }\n                    }\n                    else {\n                        var /** @type {?} */ isFunctionParam = functionParams.indexOf(name_1) >= 0;\n                        if (!isFunctionParam) {\n                            filePath = sourceSymbol.filePath;\n                        }\n                    }\n                    if (filePath) {\n                        return self.getStaticSymbol(filePath, name_1);\n                    }\n                    else {\n                        // reference to a function parameter\n                        return { __symbolic: 'reference', name: name_1 };\n                    }\n                }\n                else {\n                    return _super.prototype.visitStringMap.call(this, map, functionParams);\n                }\n            };\n            return ReferenceTransformer;\n        }(ValueTransformer));\n        var /** @type {?} */ transformedMeta = visitValue(metadata, new ReferenceTransformer(), []);\n        return new ResolvedStaticSymbol(sourceSymbol, transformedMeta);\n    };\n    /**\n     * @param {?} error\n     * @param {?} context\n     * @param {?=} path\n     * @return {?}\n     */\n    StaticSymbolResolver.prototype.reportError = function (error, context, path) {\n        if (this.errorRecorder) {\n            this.errorRecorder(error, (context && context.filePath) || path);\n        }\n        else {\n            throw error;\n        }\n    };\n    /**\n     * @param {?} module an absolute path to a module file.\n     * @return {?}\n     */\n    StaticSymbolResolver.prototype.getModuleMetadata = function (module) {\n        var /** @type {?} */ moduleMetadata = this.metadataCache.get(module);\n        if (!moduleMetadata) {\n            var /** @type {?} */ moduleMetadatas = this.host.getMetadataFor(module);\n            if (moduleMetadatas) {\n                var /** @type {?} */ maxVersion_1 = -1;\n                moduleMetadatas.forEach(function (md) {\n                    if (md['version'] > maxVersion_1) {\n                        maxVersion_1 = md['version'];\n                        moduleMetadata = md;\n                    }\n                });\n            }\n            if (!moduleMetadata) {\n                moduleMetadata =\n                    { __symbolic: 'module', version: SUPPORTED_SCHEMA_VERSION, module: module, metadata: {} };\n            }\n            if (moduleMetadata['version'] != SUPPORTED_SCHEMA_VERSION) {\n                var /** @type {?} */ errorMessage = moduleMetadata['version'] == 2 ?\n                    \"Unsupported metadata version \" + moduleMetadata['version'] + \" for module \" + module + \". This module should be compiled with a newer version of ngc\" :\n                    \"Metadata version mismatch for module \" + module + \", found version \" + moduleMetadata['version'] + \", expected \" + SUPPORTED_SCHEMA_VERSION;\n                this.reportError(new Error(errorMessage), null);\n            }\n            this.metadataCache.set(module, moduleMetadata);\n        }\n        return moduleMetadata;\n    };\n    /**\n     * @param {?} module\n     * @param {?} symbolName\n     * @param {?=} containingFile\n     * @return {?}\n     */\n    StaticSymbolResolver.prototype.getSymbolByModule = function (module, symbolName, containingFile) {\n        var /** @type {?} */ filePath = this.resolveModule(module, containingFile);\n        if (!filePath) {\n            this.reportError(new Error(\"Could not resolve module \" + module + (containingFile ? \" relative to $ {\\n            containingFile\\n          } \" : '')), null);\n            return this.getStaticSymbol(\"ERROR:\" + module, symbolName);\n        }\n        return this.getStaticSymbol(filePath, symbolName);\n    };\n    /**\n     * @param {?} module\n     * @param {?} containingFile\n     * @return {?}\n     */\n    StaticSymbolResolver.prototype.resolveModule = function (module, containingFile) {\n        try {\n            return this.host.moduleNameToFileName(module, containingFile);\n        }\n        catch (e) {\n            console.error(\"Could not resolve module '\" + module + \"' relative to file \" + containingFile);\n            this.reportError(new e, null, containingFile);\n        }\n    };\n    return StaticSymbolResolver;\n}());\nfunction StaticSymbolResolver_tsickle_Closure_declarations() {\n    /** @type {?} */\n    StaticSymbolResolver.prototype.metadataCache;\n    /** @type {?} */\n    StaticSymbolResolver.prototype.resolvedSymbols;\n    /** @type {?} */\n    StaticSymbolResolver.prototype.resolvedFilePaths;\n    /** @type {?} */\n    StaticSymbolResolver.prototype.host;\n    /** @type {?} */\n    StaticSymbolResolver.prototype.staticSymbolCache;\n    /** @type {?} */\n    StaticSymbolResolver.prototype.summaryResolver;\n    /** @type {?} */\n    StaticSymbolResolver.prototype.errorRecorder;\n}\n//# sourceMappingURL=static_symbol_resolver.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/aot/static_symbol_resolver.js\n// module id = 260\n// module chunks = 0","/**\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 */\nimport { deserializeSummaries, summaryFileName } from './summary_serializer';\nvar /** @type {?} */ STRIP_SRC_FILE_SUFFIXES = /(\\.ts|\\.d\\.ts|\\.js|\\.jsx|\\.tsx)$/;\nexport var AotSummaryResolver = (function () {\n    /**\n     * @param {?} host\n     * @param {?} staticSymbolCache\n     */\n    function AotSummaryResolver(host, staticSymbolCache) {\n        this.host = host;\n        this.staticSymbolCache = staticSymbolCache;\n        this.summaryCache = new Map();\n        this.loadedFilePaths = new Set();\n    }\n    /**\n     * @param {?} symbol\n     * @return {?}\n     */\n    AotSummaryResolver.prototype._assertNoMembers = function (symbol) {\n        if (symbol.members.length) {\n            throw new Error(\"Internal state: StaticSymbols in summaries can't have members! \" + JSON.stringify(symbol));\n        }\n    };\n    /**\n     * @param {?} staticSymbol\n     * @return {?}\n     */\n    AotSummaryResolver.prototype.resolveSummary = function (staticSymbol) {\n        this._assertNoMembers(staticSymbol);\n        var /** @type {?} */ summary = this.summaryCache.get(staticSymbol);\n        if (!summary) {\n            this._loadSummaryFile(staticSymbol.filePath);\n            summary = this.summaryCache.get(staticSymbol);\n        }\n        return summary;\n    };\n    /**\n     * @param {?} filePath\n     * @return {?}\n     */\n    AotSummaryResolver.prototype.getSymbolsOf = function (filePath) {\n        this._loadSummaryFile(filePath);\n        return Array.from(this.summaryCache.keys()).filter(function (symbol) { return symbol.filePath === filePath; });\n    };\n    /**\n     * @param {?} filePath\n     * @return {?}\n     */\n    AotSummaryResolver.prototype._loadSummaryFile = function (filePath) {\n        var _this = this;\n        if (this.loadedFilePaths.has(filePath)) {\n            return;\n        }\n        this.loadedFilePaths.add(filePath);\n        if (!this.host.isSourceFile(filePath)) {\n            var /** @type {?} */ summaryFilePath = summaryFileName(filePath);\n            var /** @type {?} */ json = void 0;\n            try {\n                json = this.host.loadSummary(summaryFilePath);\n            }\n            catch (e) {\n                console.error(\"Error loading summary file \" + summaryFilePath);\n                throw e;\n            }\n            if (json) {\n                var /** @type {?} */ readSummaries = deserializeSummaries(this.staticSymbolCache, json);\n                readSummaries.forEach(function (summary) { _this.summaryCache.set(summary.symbol, summary); });\n            }\n        }\n    };\n    return AotSummaryResolver;\n}());\nfunction AotSummaryResolver_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AotSummaryResolver.prototype.summaryCache;\n    /** @type {?} */\n    AotSummaryResolver.prototype.loadedFilePaths;\n    /** @type {?} */\n    AotSummaryResolver.prototype.host;\n    /** @type {?} */\n    AotSummaryResolver.prototype.staticSymbolCache;\n}\n//# sourceMappingURL=summary_resolver.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/aot/summary_resolver.js\n// module id = 261\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { isBlank } from '../facade/lang';\nexport var ParserError = (function () {\n    /**\n     * @param {?} message\n     * @param {?} input\n     * @param {?} errLocation\n     * @param {?=} ctxLocation\n     */\n    function ParserError(message, input, errLocation, ctxLocation) {\n        this.input = input;\n        this.errLocation = errLocation;\n        this.ctxLocation = ctxLocation;\n        this.message = \"Parser Error: \" + message + \" \" + errLocation + \" [\" + input + \"] in \" + ctxLocation;\n    }\n    return ParserError;\n}());\nfunction ParserError_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ParserError.prototype.message;\n    /** @type {?} */\n    ParserError.prototype.input;\n    /** @type {?} */\n    ParserError.prototype.errLocation;\n    /** @type {?} */\n    ParserError.prototype.ctxLocation;\n}\nexport var ParseSpan = (function () {\n    /**\n     * @param {?} start\n     * @param {?} end\n     */\n    function ParseSpan(start, end) {\n        this.start = start;\n        this.end = end;\n    }\n    return ParseSpan;\n}());\nfunction ParseSpan_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ParseSpan.prototype.start;\n    /** @type {?} */\n    ParseSpan.prototype.end;\n}\nexport var AST = (function () {\n    /**\n     * @param {?} span\n     */\n    function AST(span) {\n        this.span = span;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?=} context\n     * @return {?}\n     */\n    AST.prototype.visit = function (visitor, context) {\n        if (context === void 0) { context = null; }\n        return null;\n    };\n    /**\n     * @return {?}\n     */\n    AST.prototype.toString = function () { return 'AST'; };\n    return AST;\n}());\nfunction AST_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AST.prototype.span;\n}\n/**\n * Represents a quoted expression of the form:\n *\n * quote = prefix `:` uninterpretedExpression\n * prefix = identifier\n * uninterpretedExpression = arbitrary string\n *\n * A quoted expression is meant to be pre-processed by an AST transformer that\n * converts it into another AST that no longer contains quoted expressions.\n * It is meant to allow third-party developers to extend Angular template\n * expression language. The `uninterpretedExpression` part of the quote is\n * therefore not interpreted by the Angular's own expression parser.\n */\nexport var Quote = (function (_super) {\n    __extends(Quote, _super);\n    /**\n     * @param {?} span\n     * @param {?} prefix\n     * @param {?} uninterpretedExpression\n     * @param {?} location\n     */\n    function Quote(span, prefix, uninterpretedExpression, location) {\n        _super.call(this, span);\n        this.prefix = prefix;\n        this.uninterpretedExpression = uninterpretedExpression;\n        this.location = location;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?=} context\n     * @return {?}\n     */\n    Quote.prototype.visit = function (visitor, context) {\n        if (context === void 0) { context = null; }\n        return visitor.visitQuote(this, context);\n    };\n    /**\n     * @return {?}\n     */\n    Quote.prototype.toString = function () { return 'Quote'; };\n    return Quote;\n}(AST));\nfunction Quote_tsickle_Closure_declarations() {\n    /** @type {?} */\n    Quote.prototype.prefix;\n    /** @type {?} */\n    Quote.prototype.uninterpretedExpression;\n    /** @type {?} */\n    Quote.prototype.location;\n}\nexport var EmptyExpr = (function (_super) {\n    __extends(EmptyExpr, _super);\n    function EmptyExpr() {\n        _super.apply(this, arguments);\n    }\n    /**\n     * @param {?} visitor\n     * @param {?=} context\n     * @return {?}\n     */\n    EmptyExpr.prototype.visit = function (visitor, context) {\n        if (context === void 0) { context = null; }\n        // do nothing\n    };\n    return EmptyExpr;\n}(AST));\nexport var ImplicitReceiver = (function (_super) {\n    __extends(ImplicitReceiver, _super);\n    function ImplicitReceiver() {\n        _super.apply(this, arguments);\n    }\n    /**\n     * @param {?} visitor\n     * @param {?=} context\n     * @return {?}\n     */\n    ImplicitReceiver.prototype.visit = function (visitor, context) {\n        if (context === void 0) { context = null; }\n        return visitor.visitImplicitReceiver(this, context);\n    };\n    return ImplicitReceiver;\n}(AST));\n/**\n * Multiple expressions separated by a semicolon.\n */\nexport var Chain = (function (_super) {\n    __extends(Chain, _super);\n    /**\n     * @param {?} span\n     * @param {?} expressions\n     */\n    function Chain(span, expressions) {\n        _super.call(this, span);\n        this.expressions = expressions;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?=} context\n     * @return {?}\n     */\n    Chain.prototype.visit = function (visitor, context) {\n        if (context === void 0) { context = null; }\n        return visitor.visitChain(this, context);\n    };\n    return Chain;\n}(AST));\nfunction Chain_tsickle_Closure_declarations() {\n    /** @type {?} */\n    Chain.prototype.expressions;\n}\nexport var Conditional = (function (_super) {\n    __extends(Conditional, _super);\n    /**\n     * @param {?} span\n     * @param {?} condition\n     * @param {?} trueExp\n     * @param {?} falseExp\n     */\n    function Conditional(span, condition, trueExp, falseExp) {\n        _super.call(this, span);\n        this.condition = condition;\n        this.trueExp = trueExp;\n        this.falseExp = falseExp;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?=} context\n     * @return {?}\n     */\n    Conditional.prototype.visit = function (visitor, context) {\n        if (context === void 0) { context = null; }\n        return visitor.visitConditional(this, context);\n    };\n    return Conditional;\n}(AST));\nfunction Conditional_tsickle_Closure_declarations() {\n    /** @type {?} */\n    Conditional.prototype.condition;\n    /** @type {?} */\n    Conditional.prototype.trueExp;\n    /** @type {?} */\n    Conditional.prototype.falseExp;\n}\nexport var PropertyRead = (function (_super) {\n    __extends(PropertyRead, _super);\n    /**\n     * @param {?} span\n     * @param {?} receiver\n     * @param {?} name\n     */\n    function PropertyRead(span, receiver, name) {\n        _super.call(this, span);\n        this.receiver = receiver;\n        this.name = name;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?=} context\n     * @return {?}\n     */\n    PropertyRead.prototype.visit = function (visitor, context) {\n        if (context === void 0) { context = null; }\n        return visitor.visitPropertyRead(this, context);\n    };\n    return PropertyRead;\n}(AST));\nfunction PropertyRead_tsickle_Closure_declarations() {\n    /** @type {?} */\n    PropertyRead.prototype.receiver;\n    /** @type {?} */\n    PropertyRead.prototype.name;\n}\nexport var PropertyWrite = (function (_super) {\n    __extends(PropertyWrite, _super);\n    /**\n     * @param {?} span\n     * @param {?} receiver\n     * @param {?} name\n     * @param {?} value\n     */\n    function PropertyWrite(span, receiver, name, value) {\n        _super.call(this, span);\n        this.receiver = receiver;\n        this.name = name;\n        this.value = value;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?=} context\n     * @return {?}\n     */\n    PropertyWrite.prototype.visit = function (visitor, context) {\n        if (context === void 0) { context = null; }\n        return visitor.visitPropertyWrite(this, context);\n    };\n    return PropertyWrite;\n}(AST));\nfunction PropertyWrite_tsickle_Closure_declarations() {\n    /** @type {?} */\n    PropertyWrite.prototype.receiver;\n    /** @type {?} */\n    PropertyWrite.prototype.name;\n    /** @type {?} */\n    PropertyWrite.prototype.value;\n}\nexport var SafePropertyRead = (function (_super) {\n    __extends(SafePropertyRead, _super);\n    /**\n     * @param {?} span\n     * @param {?} receiver\n     * @param {?} name\n     */\n    function SafePropertyRead(span, receiver, name) {\n        _super.call(this, span);\n        this.receiver = receiver;\n        this.name = name;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?=} context\n     * @return {?}\n     */\n    SafePropertyRead.prototype.visit = function (visitor, context) {\n        if (context === void 0) { context = null; }\n        return visitor.visitSafePropertyRead(this, context);\n    };\n    return SafePropertyRead;\n}(AST));\nfunction SafePropertyRead_tsickle_Closure_declarations() {\n    /** @type {?} */\n    SafePropertyRead.prototype.receiver;\n    /** @type {?} */\n    SafePropertyRead.prototype.name;\n}\nexport var KeyedRead = (function (_super) {\n    __extends(KeyedRead, _super);\n    /**\n     * @param {?} span\n     * @param {?} obj\n     * @param {?} key\n     */\n    function KeyedRead(span, obj, key) {\n        _super.call(this, span);\n        this.obj = obj;\n        this.key = key;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?=} context\n     * @return {?}\n     */\n    KeyedRead.prototype.visit = function (visitor, context) {\n        if (context === void 0) { context = null; }\n        return visitor.visitKeyedRead(this, context);\n    };\n    return KeyedRead;\n}(AST));\nfunction KeyedRead_tsickle_Closure_declarations() {\n    /** @type {?} */\n    KeyedRead.prototype.obj;\n    /** @type {?} */\n    KeyedRead.prototype.key;\n}\nexport var KeyedWrite = (function (_super) {\n    __extends(KeyedWrite, _super);\n    /**\n     * @param {?} span\n     * @param {?} obj\n     * @param {?} key\n     * @param {?} value\n     */\n    function KeyedWrite(span, obj, key, value) {\n        _super.call(this, span);\n        this.obj = obj;\n        this.key = key;\n        this.value = value;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?=} context\n     * @return {?}\n     */\n    KeyedWrite.prototype.visit = function (visitor, context) {\n        if (context === void 0) { context = null; }\n        return visitor.visitKeyedWrite(this, context);\n    };\n    return KeyedWrite;\n}(AST));\nfunction KeyedWrite_tsickle_Closure_declarations() {\n    /** @type {?} */\n    KeyedWrite.prototype.obj;\n    /** @type {?} */\n    KeyedWrite.prototype.key;\n    /** @type {?} */\n    KeyedWrite.prototype.value;\n}\nexport var BindingPipe = (function (_super) {\n    __extends(BindingPipe, _super);\n    /**\n     * @param {?} span\n     * @param {?} exp\n     * @param {?} name\n     * @param {?} args\n     */\n    function BindingPipe(span, exp, name, args) {\n        _super.call(this, span);\n        this.exp = exp;\n        this.name = name;\n        this.args = args;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?=} context\n     * @return {?}\n     */\n    BindingPipe.prototype.visit = function (visitor, context) {\n        if (context === void 0) { context = null; }\n        return visitor.visitPipe(this, context);\n    };\n    return BindingPipe;\n}(AST));\nfunction BindingPipe_tsickle_Closure_declarations() {\n    /** @type {?} */\n    BindingPipe.prototype.exp;\n    /** @type {?} */\n    BindingPipe.prototype.name;\n    /** @type {?} */\n    BindingPipe.prototype.args;\n}\nexport var LiteralPrimitive = (function (_super) {\n    __extends(LiteralPrimitive, _super);\n    /**\n     * @param {?} span\n     * @param {?} value\n     */\n    function LiteralPrimitive(span, value) {\n        _super.call(this, span);\n        this.value = value;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?=} context\n     * @return {?}\n     */\n    LiteralPrimitive.prototype.visit = function (visitor, context) {\n        if (context === void 0) { context = null; }\n        return visitor.visitLiteralPrimitive(this, context);\n    };\n    return LiteralPrimitive;\n}(AST));\nfunction LiteralPrimitive_tsickle_Closure_declarations() {\n    /** @type {?} */\n    LiteralPrimitive.prototype.value;\n}\nexport var LiteralArray = (function (_super) {\n    __extends(LiteralArray, _super);\n    /**\n     * @param {?} span\n     * @param {?} expressions\n     */\n    function LiteralArray(span, expressions) {\n        _super.call(this, span);\n        this.expressions = expressions;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?=} context\n     * @return {?}\n     */\n    LiteralArray.prototype.visit = function (visitor, context) {\n        if (context === void 0) { context = null; }\n        return visitor.visitLiteralArray(this, context);\n    };\n    return LiteralArray;\n}(AST));\nfunction LiteralArray_tsickle_Closure_declarations() {\n    /** @type {?} */\n    LiteralArray.prototype.expressions;\n}\nexport var LiteralMap = (function (_super) {\n    __extends(LiteralMap, _super);\n    /**\n     * @param {?} span\n     * @param {?} keys\n     * @param {?} values\n     */\n    function LiteralMap(span, keys, values) {\n        _super.call(this, span);\n        this.keys = keys;\n        this.values = values;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?=} context\n     * @return {?}\n     */\n    LiteralMap.prototype.visit = function (visitor, context) {\n        if (context === void 0) { context = null; }\n        return visitor.visitLiteralMap(this, context);\n    };\n    return LiteralMap;\n}(AST));\nfunction LiteralMap_tsickle_Closure_declarations() {\n    /** @type {?} */\n    LiteralMap.prototype.keys;\n    /** @type {?} */\n    LiteralMap.prototype.values;\n}\nexport var Interpolation = (function (_super) {\n    __extends(Interpolation, _super);\n    /**\n     * @param {?} span\n     * @param {?} strings\n     * @param {?} expressions\n     */\n    function Interpolation(span, strings, expressions) {\n        _super.call(this, span);\n        this.strings = strings;\n        this.expressions = expressions;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?=} context\n     * @return {?}\n     */\n    Interpolation.prototype.visit = function (visitor, context) {\n        if (context === void 0) { context = null; }\n        return visitor.visitInterpolation(this, context);\n    };\n    return Interpolation;\n}(AST));\nfunction Interpolation_tsickle_Closure_declarations() {\n    /** @type {?} */\n    Interpolation.prototype.strings;\n    /** @type {?} */\n    Interpolation.prototype.expressions;\n}\nexport var Binary = (function (_super) {\n    __extends(Binary, _super);\n    /**\n     * @param {?} span\n     * @param {?} operation\n     * @param {?} left\n     * @param {?} right\n     */\n    function Binary(span, operation, left, right) {\n        _super.call(this, span);\n        this.operation = operation;\n        this.left = left;\n        this.right = right;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?=} context\n     * @return {?}\n     */\n    Binary.prototype.visit = function (visitor, context) {\n        if (context === void 0) { context = null; }\n        return visitor.visitBinary(this, context);\n    };\n    return Binary;\n}(AST));\nfunction Binary_tsickle_Closure_declarations() {\n    /** @type {?} */\n    Binary.prototype.operation;\n    /** @type {?} */\n    Binary.prototype.left;\n    /** @type {?} */\n    Binary.prototype.right;\n}\nexport var PrefixNot = (function (_super) {\n    __extends(PrefixNot, _super);\n    /**\n     * @param {?} span\n     * @param {?} expression\n     */\n    function PrefixNot(span, expression) {\n        _super.call(this, span);\n        this.expression = expression;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?=} context\n     * @return {?}\n     */\n    PrefixNot.prototype.visit = function (visitor, context) {\n        if (context === void 0) { context = null; }\n        return visitor.visitPrefixNot(this, context);\n    };\n    return PrefixNot;\n}(AST));\nfunction PrefixNot_tsickle_Closure_declarations() {\n    /** @type {?} */\n    PrefixNot.prototype.expression;\n}\nexport var MethodCall = (function (_super) {\n    __extends(MethodCall, _super);\n    /**\n     * @param {?} span\n     * @param {?} receiver\n     * @param {?} name\n     * @param {?} args\n     */\n    function MethodCall(span, receiver, name, args) {\n        _super.call(this, span);\n        this.receiver = receiver;\n        this.name = name;\n        this.args = args;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?=} context\n     * @return {?}\n     */\n    MethodCall.prototype.visit = function (visitor, context) {\n        if (context === void 0) { context = null; }\n        return visitor.visitMethodCall(this, context);\n    };\n    return MethodCall;\n}(AST));\nfunction MethodCall_tsickle_Closure_declarations() {\n    /** @type {?} */\n    MethodCall.prototype.receiver;\n    /** @type {?} */\n    MethodCall.prototype.name;\n    /** @type {?} */\n    MethodCall.prototype.args;\n}\nexport var SafeMethodCall = (function (_super) {\n    __extends(SafeMethodCall, _super);\n    /**\n     * @param {?} span\n     * @param {?} receiver\n     * @param {?} name\n     * @param {?} args\n     */\n    function SafeMethodCall(span, receiver, name, args) {\n        _super.call(this, span);\n        this.receiver = receiver;\n        this.name = name;\n        this.args = args;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?=} context\n     * @return {?}\n     */\n    SafeMethodCall.prototype.visit = function (visitor, context) {\n        if (context === void 0) { context = null; }\n        return visitor.visitSafeMethodCall(this, context);\n    };\n    return SafeMethodCall;\n}(AST));\nfunction SafeMethodCall_tsickle_Closure_declarations() {\n    /** @type {?} */\n    SafeMethodCall.prototype.receiver;\n    /** @type {?} */\n    SafeMethodCall.prototype.name;\n    /** @type {?} */\n    SafeMethodCall.prototype.args;\n}\nexport var FunctionCall = (function (_super) {\n    __extends(FunctionCall, _super);\n    /**\n     * @param {?} span\n     * @param {?} target\n     * @param {?} args\n     */\n    function FunctionCall(span, target, args) {\n        _super.call(this, span);\n        this.target = target;\n        this.args = args;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?=} context\n     * @return {?}\n     */\n    FunctionCall.prototype.visit = function (visitor, context) {\n        if (context === void 0) { context = null; }\n        return visitor.visitFunctionCall(this, context);\n    };\n    return FunctionCall;\n}(AST));\nfunction FunctionCall_tsickle_Closure_declarations() {\n    /** @type {?} */\n    FunctionCall.prototype.target;\n    /** @type {?} */\n    FunctionCall.prototype.args;\n}\nexport var ASTWithSource = (function (_super) {\n    __extends(ASTWithSource, _super);\n    /**\n     * @param {?} ast\n     * @param {?} source\n     * @param {?} location\n     * @param {?} errors\n     */\n    function ASTWithSource(ast, source, location, errors) {\n        _super.call(this, new ParseSpan(0, isBlank(source) ? 0 : source.length));\n        this.ast = ast;\n        this.source = source;\n        this.location = location;\n        this.errors = errors;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?=} context\n     * @return {?}\n     */\n    ASTWithSource.prototype.visit = function (visitor, context) {\n        if (context === void 0) { context = null; }\n        return this.ast.visit(visitor, context);\n    };\n    /**\n     * @return {?}\n     */\n    ASTWithSource.prototype.toString = function () { return this.source + \" in \" + this.location; };\n    return ASTWithSource;\n}(AST));\nfunction ASTWithSource_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ASTWithSource.prototype.ast;\n    /** @type {?} */\n    ASTWithSource.prototype.source;\n    /** @type {?} */\n    ASTWithSource.prototype.location;\n    /** @type {?} */\n    ASTWithSource.prototype.errors;\n}\nexport var TemplateBinding = (function () {\n    /**\n     * @param {?} span\n     * @param {?} key\n     * @param {?} keyIsVar\n     * @param {?} name\n     * @param {?} expression\n     */\n    function TemplateBinding(span, key, keyIsVar, name, expression) {\n        this.span = span;\n        this.key = key;\n        this.keyIsVar = keyIsVar;\n        this.name = name;\n        this.expression = expression;\n    }\n    return TemplateBinding;\n}());\nfunction TemplateBinding_tsickle_Closure_declarations() {\n    /** @type {?} */\n    TemplateBinding.prototype.span;\n    /** @type {?} */\n    TemplateBinding.prototype.key;\n    /** @type {?} */\n    TemplateBinding.prototype.keyIsVar;\n    /** @type {?} */\n    TemplateBinding.prototype.name;\n    /** @type {?} */\n    TemplateBinding.prototype.expression;\n}\nexport var RecursiveAstVisitor = (function () {\n    function RecursiveAstVisitor() {\n    }\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveAstVisitor.prototype.visitBinary = function (ast, context) {\n        ast.left.visit(this);\n        ast.right.visit(this);\n        return null;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveAstVisitor.prototype.visitChain = function (ast, context) { return this.visitAll(ast.expressions, context); };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveAstVisitor.prototype.visitConditional = function (ast, context) {\n        ast.condition.visit(this);\n        ast.trueExp.visit(this);\n        ast.falseExp.visit(this);\n        return null;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveAstVisitor.prototype.visitPipe = function (ast, context) {\n        ast.exp.visit(this);\n        this.visitAll(ast.args, context);\n        return null;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveAstVisitor.prototype.visitFunctionCall = function (ast, context) {\n        ast.target.visit(this);\n        this.visitAll(ast.args, context);\n        return null;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveAstVisitor.prototype.visitImplicitReceiver = function (ast, context) { return null; };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveAstVisitor.prototype.visitInterpolation = function (ast, context) {\n        return this.visitAll(ast.expressions, context);\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveAstVisitor.prototype.visitKeyedRead = function (ast, context) {\n        ast.obj.visit(this);\n        ast.key.visit(this);\n        return null;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveAstVisitor.prototype.visitKeyedWrite = function (ast, context) {\n        ast.obj.visit(this);\n        ast.key.visit(this);\n        ast.value.visit(this);\n        return null;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveAstVisitor.prototype.visitLiteralArray = function (ast, context) {\n        return this.visitAll(ast.expressions, context);\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveAstVisitor.prototype.visitLiteralMap = function (ast, context) { return this.visitAll(ast.values, context); };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveAstVisitor.prototype.visitLiteralPrimitive = function (ast, context) { return null; };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveAstVisitor.prototype.visitMethodCall = function (ast, context) {\n        ast.receiver.visit(this);\n        return this.visitAll(ast.args, context);\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveAstVisitor.prototype.visitPrefixNot = function (ast, context) {\n        ast.expression.visit(this);\n        return null;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveAstVisitor.prototype.visitPropertyRead = function (ast, context) {\n        ast.receiver.visit(this);\n        return null;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveAstVisitor.prototype.visitPropertyWrite = function (ast, context) {\n        ast.receiver.visit(this);\n        ast.value.visit(this);\n        return null;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveAstVisitor.prototype.visitSafePropertyRead = function (ast, context) {\n        ast.receiver.visit(this);\n        return null;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveAstVisitor.prototype.visitSafeMethodCall = function (ast, context) {\n        ast.receiver.visit(this);\n        return this.visitAll(ast.args, context);\n    };\n    /**\n     * @param {?} asts\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveAstVisitor.prototype.visitAll = function (asts, context) {\n        var _this = this;\n        asts.forEach(function (ast) { return ast.visit(_this, context); });\n        return null;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    RecursiveAstVisitor.prototype.visitQuote = function (ast, context) { return null; };\n    return RecursiveAstVisitor;\n}());\nexport var AstTransformer = (function () {\n    function AstTransformer() {\n    }\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AstTransformer.prototype.visitImplicitReceiver = function (ast, context) { return ast; };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AstTransformer.prototype.visitInterpolation = function (ast, context) {\n        return new Interpolation(ast.span, ast.strings, this.visitAll(ast.expressions));\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AstTransformer.prototype.visitLiteralPrimitive = function (ast, context) {\n        return new LiteralPrimitive(ast.span, ast.value);\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AstTransformer.prototype.visitPropertyRead = function (ast, context) {\n        return new PropertyRead(ast.span, ast.receiver.visit(this), ast.name);\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AstTransformer.prototype.visitPropertyWrite = function (ast, context) {\n        return new PropertyWrite(ast.span, ast.receiver.visit(this), ast.name, ast.value);\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AstTransformer.prototype.visitSafePropertyRead = function (ast, context) {\n        return new SafePropertyRead(ast.span, ast.receiver.visit(this), ast.name);\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AstTransformer.prototype.visitMethodCall = function (ast, context) {\n        return new MethodCall(ast.span, ast.receiver.visit(this), ast.name, this.visitAll(ast.args));\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AstTransformer.prototype.visitSafeMethodCall = function (ast, context) {\n        return new SafeMethodCall(ast.span, ast.receiver.visit(this), ast.name, this.visitAll(ast.args));\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AstTransformer.prototype.visitFunctionCall = function (ast, context) {\n        return new FunctionCall(ast.span, ast.target.visit(this), this.visitAll(ast.args));\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AstTransformer.prototype.visitLiteralArray = function (ast, context) {\n        return new LiteralArray(ast.span, this.visitAll(ast.expressions));\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AstTransformer.prototype.visitLiteralMap = function (ast, context) {\n        return new LiteralMap(ast.span, ast.keys, this.visitAll(ast.values));\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AstTransformer.prototype.visitBinary = function (ast, context) {\n        return new Binary(ast.span, ast.operation, ast.left.visit(this), ast.right.visit(this));\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AstTransformer.prototype.visitPrefixNot = function (ast, context) {\n        return new PrefixNot(ast.span, ast.expression.visit(this));\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AstTransformer.prototype.visitConditional = function (ast, context) {\n        return new Conditional(ast.span, ast.condition.visit(this), ast.trueExp.visit(this), ast.falseExp.visit(this));\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AstTransformer.prototype.visitPipe = function (ast, context) {\n        return new BindingPipe(ast.span, ast.exp.visit(this), ast.name, this.visitAll(ast.args));\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AstTransformer.prototype.visitKeyedRead = function (ast, context) {\n        return new KeyedRead(ast.span, ast.obj.visit(this), ast.key.visit(this));\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AstTransformer.prototype.visitKeyedWrite = function (ast, context) {\n        return new KeyedWrite(ast.span, ast.obj.visit(this), ast.key.visit(this), ast.value.visit(this));\n    };\n    /**\n     * @param {?} asts\n     * @return {?}\n     */\n    AstTransformer.prototype.visitAll = function (asts) {\n        var /** @type {?} */ res = new Array(asts.length);\n        for (var /** @type {?} */ i = 0; i < asts.length; ++i) {\n            res[i] = asts[i].visit(this);\n        }\n        return res;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AstTransformer.prototype.visitChain = function (ast, context) {\n        return new Chain(ast.span, this.visitAll(ast.expressions));\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AstTransformer.prototype.visitQuote = function (ast, context) {\n        return new Quote(ast.span, ast.prefix, ast.uninterpretedExpression, ast.location);\n    };\n    return AstTransformer;\n}());\n//# sourceMappingURL=ast.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/expression_parser/ast.js\n// module id = 262\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { decimalDigest } from '../digest';\nimport { Serializer } from './serializer';\nimport * as xml from './xml_helper';\nvar /** @type {?} */ _MESSAGES_TAG = 'messagebundle';\nvar /** @type {?} */ _MESSAGE_TAG = 'msg';\nvar /** @type {?} */ _PLACEHOLDER_TAG = 'ph';\nvar /** @type {?} */ _EXEMPLE_TAG = 'ex';\nvar /** @type {?} */ _DOCTYPE = \"<!ELEMENT messagebundle (msg)*>\\n<!ATTLIST messagebundle class CDATA #IMPLIED>\\n\\n<!ELEMENT msg (#PCDATA|ph|source)*>\\n<!ATTLIST msg id CDATA #IMPLIED>\\n<!ATTLIST msg seq CDATA #IMPLIED>\\n<!ATTLIST msg name CDATA #IMPLIED>\\n<!ATTLIST msg desc CDATA #IMPLIED>\\n<!ATTLIST msg meaning CDATA #IMPLIED>\\n<!ATTLIST msg obsolete (obsolete) #IMPLIED>\\n<!ATTLIST msg xml:space (default|preserve) \\\"default\\\">\\n<!ATTLIST msg is_hidden CDATA #IMPLIED>\\n\\n<!ELEMENT source (#PCDATA)>\\n\\n<!ELEMENT ph (#PCDATA|ex)*>\\n<!ATTLIST ph name CDATA #REQUIRED>\\n\\n<!ELEMENT ex (#PCDATA)>\";\nexport var Xmb = (function (_super) {\n    __extends(Xmb, _super);\n    function Xmb() {\n        _super.apply(this, arguments);\n    }\n    /**\n     * @param {?} messages\n     * @return {?}\n     */\n    Xmb.prototype.write = function (messages) {\n        var _this = this;\n        var /** @type {?} */ exampleVisitor = new ExampleVisitor();\n        var /** @type {?} */ visitor = new _Visitor();\n        var /** @type {?} */ visited = {};\n        var /** @type {?} */ rootNode = new xml.Tag(_MESSAGES_TAG);\n        messages.forEach(function (message) {\n            var /** @type {?} */ id = _this.digest(message);\n            // deduplicate messages\n            if (visited[id])\n                return;\n            visited[id] = true;\n            var /** @type {?} */ mapper = _this.createNameMapper(message);\n            var /** @type {?} */ attrs = { id: id };\n            if (message.description) {\n                attrs['desc'] = message.description;\n            }\n            if (message.meaning) {\n                attrs['meaning'] = message.meaning;\n            }\n            rootNode.children.push(new xml.CR(2), new xml.Tag(_MESSAGE_TAG, attrs, visitor.serialize(message.nodes, { mapper: mapper })));\n        });\n        rootNode.children.push(new xml.CR());\n        return xml.serialize([\n            new xml.Declaration({ version: '1.0', encoding: 'UTF-8' }),\n            new xml.CR(),\n            new xml.Doctype(_MESSAGES_TAG, _DOCTYPE),\n            new xml.CR(),\n            exampleVisitor.addDefaultExamples(rootNode),\n            new xml.CR(),\n        ]);\n    };\n    /**\n     * @param {?} content\n     * @param {?} url\n     * @return {?}\n     */\n    Xmb.prototype.load = function (content, url) {\n        throw new Error('Unsupported');\n    };\n    /**\n     * @param {?} message\n     * @return {?}\n     */\n    Xmb.prototype.digest = function (message) { return digest(message); };\n    /**\n     * @param {?} message\n     * @return {?}\n     */\n    Xmb.prototype.createNameMapper = function (message) {\n        return new XmbPlaceholderMapper(message);\n    };\n    return Xmb;\n}(Serializer));\nvar _Visitor = (function () {\n    function _Visitor() {\n    }\n    /**\n     * @param {?} text\n     * @param {?} ctx\n     * @return {?}\n     */\n    _Visitor.prototype.visitText = function (text, ctx) {\n        return [new xml.Text(text.value)];\n    };\n    /**\n     * @param {?} container\n     * @param {?} ctx\n     * @return {?}\n     */\n    _Visitor.prototype.visitContainer = function (container, ctx) {\n        var _this = this;\n        var /** @type {?} */ nodes = [];\n        container.children.forEach(function (node) { return nodes.push.apply(nodes, node.visit(_this, ctx)); });\n        return nodes;\n    };\n    /**\n     * @param {?} icu\n     * @param {?} ctx\n     * @return {?}\n     */\n    _Visitor.prototype.visitIcu = function (icu, ctx) {\n        var _this = this;\n        var /** @type {?} */ nodes = [new xml.Text(\"{\" + icu.expressionPlaceholder + \", \" + icu.type + \", \")];\n        Object.keys(icu.cases).forEach(function (c) {\n            nodes.push.apply(nodes, [new xml.Text(c + \" {\")].concat(icu.cases[c].visit(_this, ctx), [new xml.Text(\"} \")]));\n        });\n        nodes.push(new xml.Text(\"}\"));\n        return nodes;\n    };\n    /**\n     * @param {?} ph\n     * @param {?} ctx\n     * @return {?}\n     */\n    _Visitor.prototype.visitTagPlaceholder = function (ph, ctx) {\n        var /** @type {?} */ startEx = new xml.Tag(_EXEMPLE_TAG, {}, [new xml.Text(\"<\" + ph.tag + \">\")]);\n        var /** @type {?} */ name = ctx.mapper.toPublicName(ph.startName);\n        var /** @type {?} */ startTagPh = new xml.Tag(_PLACEHOLDER_TAG, { name: name }, [startEx]);\n        if (ph.isVoid) {\n            // void tags have no children nor closing tags\n            return [startTagPh];\n        }\n        var /** @type {?} */ closeEx = new xml.Tag(_EXEMPLE_TAG, {}, [new xml.Text(\"</\" + ph.tag + \">\")]);\n        name = ctx.mapper.toPublicName(ph.closeName);\n        var /** @type {?} */ closeTagPh = new xml.Tag(_PLACEHOLDER_TAG, { name: name }, [closeEx]);\n        return [startTagPh].concat(this.serialize(ph.children, ctx), [closeTagPh]);\n    };\n    /**\n     * @param {?} ph\n     * @param {?} ctx\n     * @return {?}\n     */\n    _Visitor.prototype.visitPlaceholder = function (ph, ctx) {\n        var /** @type {?} */ name = ctx.mapper.toPublicName(ph.name);\n        return [new xml.Tag(_PLACEHOLDER_TAG, { name: name })];\n    };\n    /**\n     * @param {?} ph\n     * @param {?} ctx\n     * @return {?}\n     */\n    _Visitor.prototype.visitIcuPlaceholder = function (ph, ctx) {\n        var /** @type {?} */ name = ctx.mapper.toPublicName(ph.name);\n        return [new xml.Tag(_PLACEHOLDER_TAG, { name: name })];\n    };\n    /**\n     * @param {?} nodes\n     * @param {?} ctx\n     * @return {?}\n     */\n    _Visitor.prototype.serialize = function (nodes, ctx) {\n        var _this = this;\n        return (_a = []).concat.apply(_a, nodes.map(function (node) { return node.visit(_this, ctx); }));\n        var _a;\n    };\n    return _Visitor;\n}());\n/**\n * @param {?} message\n * @return {?}\n */\nexport function digest(message) {\n    return decimalDigest(message);\n}\nvar ExampleVisitor = (function () {\n    function ExampleVisitor() {\n    }\n    /**\n     * @param {?} node\n     * @return {?}\n     */\n    ExampleVisitor.prototype.addDefaultExamples = function (node) {\n        node.visit(this);\n        return node;\n    };\n    /**\n     * @param {?} tag\n     * @return {?}\n     */\n    ExampleVisitor.prototype.visitTag = function (tag) {\n        var _this = this;\n        if (tag.name === _PLACEHOLDER_TAG) {\n            if (!tag.children || tag.children.length == 0) {\n                var /** @type {?} */ exText = new xml.Text(tag.attrs['name'] || '...');\n                tag.children = [new xml.Tag(_EXEMPLE_TAG, {}, [exText])];\n            }\n        }\n        else if (tag.children) {\n            tag.children.forEach(function (node) { return node.visit(_this); });\n        }\n    };\n    /**\n     * @param {?} text\n     * @return {?}\n     */\n    ExampleVisitor.prototype.visitText = function (text) { };\n    /**\n     * @param {?} decl\n     * @return {?}\n     */\n    ExampleVisitor.prototype.visitDeclaration = function (decl) { };\n    /**\n     * @param {?} doctype\n     * @return {?}\n     */\n    ExampleVisitor.prototype.visitDoctype = function (doctype) { };\n    return ExampleVisitor;\n}());\n/**\n * XMB/XTB placeholders can only contain A-Z, 0-9 and _\n *\n * Because such restrictions do not exist on placeholder names generated locally, the\n * `PlaceholderMapper` is used to convert internal names to XMB names when the XMB file is\n * serialized and back from XTB to internal names when an XTB is loaded.\n */\nexport var XmbPlaceholderMapper = (function () {\n    /**\n     * @param {?} message\n     */\n    function XmbPlaceholderMapper(message) {\n        var _this = this;\n        this.internalToXmb = {};\n        this.xmbToNextId = {};\n        this.xmbToInternal = {};\n        message.nodes.forEach(function (node) { return node.visit(_this); });\n    }\n    /**\n     * @param {?} internalName\n     * @return {?}\n     */\n    XmbPlaceholderMapper.prototype.toPublicName = function (internalName) {\n        return this.internalToXmb.hasOwnProperty(internalName) ? this.internalToXmb[internalName] :\n            null;\n    };\n    /**\n     * @param {?} publicName\n     * @return {?}\n     */\n    XmbPlaceholderMapper.prototype.toInternalName = function (publicName) {\n        return this.xmbToInternal.hasOwnProperty(publicName) ? this.xmbToInternal[publicName] : null;\n    };\n    /**\n     * @param {?} text\n     * @param {?=} ctx\n     * @return {?}\n     */\n    XmbPlaceholderMapper.prototype.visitText = function (text, ctx) { return null; };\n    /**\n     * @param {?} container\n     * @param {?=} ctx\n     * @return {?}\n     */\n    XmbPlaceholderMapper.prototype.visitContainer = function (container, ctx) {\n        var _this = this;\n        container.children.forEach(function (child) { return child.visit(_this); });\n    };\n    /**\n     * @param {?} icu\n     * @param {?=} ctx\n     * @return {?}\n     */\n    XmbPlaceholderMapper.prototype.visitIcu = function (icu, ctx) {\n        var _this = this;\n        Object.keys(icu.cases).forEach(function (k) { icu.cases[k].visit(_this); });\n    };\n    /**\n     * @param {?} ph\n     * @param {?=} ctx\n     * @return {?}\n     */\n    XmbPlaceholderMapper.prototype.visitTagPlaceholder = function (ph, ctx) {\n        var _this = this;\n        this.addPlaceholder(ph.startName);\n        ph.children.forEach(function (child) { return child.visit(_this); });\n        this.addPlaceholder(ph.closeName);\n    };\n    /**\n     * @param {?} ph\n     * @param {?=} ctx\n     * @return {?}\n     */\n    XmbPlaceholderMapper.prototype.visitPlaceholder = function (ph, ctx) { this.addPlaceholder(ph.name); };\n    /**\n     * @param {?} ph\n     * @param {?=} ctx\n     * @return {?}\n     */\n    XmbPlaceholderMapper.prototype.visitIcuPlaceholder = function (ph, ctx) { this.addPlaceholder(ph.name); };\n    /**\n     * @param {?} internalName\n     * @return {?}\n     */\n    XmbPlaceholderMapper.prototype.addPlaceholder = function (internalName) {\n        if (!internalName || this.internalToXmb.hasOwnProperty(internalName)) {\n            return;\n        }\n        var /** @type {?} */ xmbName = internalName.toUpperCase().replace(/[^A-Z0-9_]/g, '_');\n        if (this.xmbToInternal.hasOwnProperty(xmbName)) {\n            // Create a new XMB when it has already been used\n            var /** @type {?} */ nextId = this.xmbToNextId[xmbName];\n            this.xmbToNextId[xmbName] = nextId + 1;\n            xmbName = xmbName + \"_\" + nextId;\n        }\n        else {\n            this.xmbToNextId[xmbName] = 1;\n        }\n        this.internalToXmb[internalName] = xmbName;\n        this.xmbToInternal[xmbName] = internalName;\n    };\n    return XmbPlaceholderMapper;\n}());\nfunction XmbPlaceholderMapper_tsickle_Closure_declarations() {\n    /** @type {?} */\n    XmbPlaceholderMapper.prototype.internalToXmb;\n    /** @type {?} */\n    XmbPlaceholderMapper.prototype.xmbToNextId;\n    /** @type {?} */\n    XmbPlaceholderMapper.prototype.xmbToInternal;\n}\n//# sourceMappingURL=xmb.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/i18n/serializers/xmb.js\n// module id = 263\n// module chunks = 0","/**\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 */\nimport { TagContentType } from './tags';\nexport var HtmlTagDefinition = (function () {\n    /**\n     * @param {?=} __0\n     */\n    function HtmlTagDefinition(_a) {\n        var _this = this;\n        var _b = _a === void 0 ? {} : _a, closedByChildren = _b.closedByChildren, requiredParents = _b.requiredParents, implicitNamespacePrefix = _b.implicitNamespacePrefix, _c = _b.contentType, contentType = _c === void 0 ? TagContentType.PARSABLE_DATA : _c, _d = _b.closedByParent, closedByParent = _d === void 0 ? false : _d, _e = _b.isVoid, isVoid = _e === void 0 ? false : _e, _f = _b.ignoreFirstLf, ignoreFirstLf = _f === void 0 ? false : _f;\n        this.closedByChildren = {};\n        this.closedByParent = false;\n        this.canSelfClose = false;\n        if (closedByChildren && closedByChildren.length > 0) {\n            closedByChildren.forEach(function (tagName) { return _this.closedByChildren[tagName] = true; });\n        }\n        this.isVoid = isVoid;\n        this.closedByParent = closedByParent || isVoid;\n        if (requiredParents && requiredParents.length > 0) {\n            this.requiredParents = {};\n            // The first parent is the list is automatically when none of the listed parents are present\n            this.parentToAdd = requiredParents[0];\n            requiredParents.forEach(function (tagName) { return _this.requiredParents[tagName] = true; });\n        }\n        this.implicitNamespacePrefix = implicitNamespacePrefix;\n        this.contentType = contentType;\n        this.ignoreFirstLf = ignoreFirstLf;\n    }\n    /**\n     * @param {?} currentParent\n     * @return {?}\n     */\n    HtmlTagDefinition.prototype.requireExtraParent = function (currentParent) {\n        if (!this.requiredParents) {\n            return false;\n        }\n        if (!currentParent) {\n            return true;\n        }\n        var /** @type {?} */ lcParent = currentParent.toLowerCase();\n        return this.requiredParents[lcParent] != true && lcParent != 'template';\n    };\n    /**\n     * @param {?} name\n     * @return {?}\n     */\n    HtmlTagDefinition.prototype.isClosedByChild = function (name) {\n        return this.isVoid || name.toLowerCase() in this.closedByChildren;\n    };\n    return HtmlTagDefinition;\n}());\nfunction HtmlTagDefinition_tsickle_Closure_declarations() {\n    /** @type {?} */\n    HtmlTagDefinition.prototype.closedByChildren;\n    /** @type {?} */\n    HtmlTagDefinition.prototype.closedByParent;\n    /** @type {?} */\n    HtmlTagDefinition.prototype.requiredParents;\n    /** @type {?} */\n    HtmlTagDefinition.prototype.parentToAdd;\n    /** @type {?} */\n    HtmlTagDefinition.prototype.implicitNamespacePrefix;\n    /** @type {?} */\n    HtmlTagDefinition.prototype.contentType;\n    /** @type {?} */\n    HtmlTagDefinition.prototype.isVoid;\n    /** @type {?} */\n    HtmlTagDefinition.prototype.ignoreFirstLf;\n    /** @type {?} */\n    HtmlTagDefinition.prototype.canSelfClose;\n}\n// see http://www.w3.org/TR/html51/syntax.html#optional-tags\n// This implementation does not fully conform to the HTML5 spec.\nvar /** @type {?} */ TAG_DEFINITIONS = {\n    'base': new HtmlTagDefinition({ isVoid: true }),\n    'meta': new HtmlTagDefinition({ isVoid: true }),\n    'area': new HtmlTagDefinition({ isVoid: true }),\n    'embed': new HtmlTagDefinition({ isVoid: true }),\n    'link': new HtmlTagDefinition({ isVoid: true }),\n    'img': new HtmlTagDefinition({ isVoid: true }),\n    'input': new HtmlTagDefinition({ isVoid: true }),\n    'param': new HtmlTagDefinition({ isVoid: true }),\n    'hr': new HtmlTagDefinition({ isVoid: true }),\n    'br': new HtmlTagDefinition({ isVoid: true }),\n    'source': new HtmlTagDefinition({ isVoid: true }),\n    'track': new HtmlTagDefinition({ isVoid: true }),\n    'wbr': new HtmlTagDefinition({ isVoid: true }),\n    'p': new HtmlTagDefinition({\n        closedByChildren: [\n            'address', 'article', 'aside', 'blockquote', 'div', 'dl', 'fieldset', 'footer', 'form',\n            'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'header', 'hgroup', 'hr',\n            'main', 'nav', 'ol', 'p', 'pre', 'section', 'table', 'ul'\n        ],\n        closedByParent: true\n    }),\n    'thead': new HtmlTagDefinition({ closedByChildren: ['tbody', 'tfoot'] }),\n    'tbody': new HtmlTagDefinition({ closedByChildren: ['tbody', 'tfoot'], closedByParent: true }),\n    'tfoot': new HtmlTagDefinition({ closedByChildren: ['tbody'], closedByParent: true }),\n    'tr': new HtmlTagDefinition({\n        closedByChildren: ['tr'],\n        requiredParents: ['tbody', 'tfoot', 'thead'],\n        closedByParent: true\n    }),\n    'td': new HtmlTagDefinition({ closedByChildren: ['td', 'th'], closedByParent: true }),\n    'th': new HtmlTagDefinition({ closedByChildren: ['td', 'th'], closedByParent: true }),\n    'col': new HtmlTagDefinition({ requiredParents: ['colgroup'], isVoid: true }),\n    'svg': new HtmlTagDefinition({ implicitNamespacePrefix: 'svg' }),\n    'math': new HtmlTagDefinition({ implicitNamespacePrefix: 'math' }),\n    'li': new HtmlTagDefinition({ closedByChildren: ['li'], closedByParent: true }),\n    'dt': new HtmlTagDefinition({ closedByChildren: ['dt', 'dd'] }),\n    'dd': new HtmlTagDefinition({ closedByChildren: ['dt', 'dd'], closedByParent: true }),\n    'rb': new HtmlTagDefinition({ closedByChildren: ['rb', 'rt', 'rtc', 'rp'], closedByParent: true }),\n    'rt': new HtmlTagDefinition({ closedByChildren: ['rb', 'rt', 'rtc', 'rp'], closedByParent: true }),\n    'rtc': new HtmlTagDefinition({ closedByChildren: ['rb', 'rtc', 'rp'], closedByParent: true }),\n    'rp': new HtmlTagDefinition({ closedByChildren: ['rb', 'rt', 'rtc', 'rp'], closedByParent: true }),\n    'optgroup': new HtmlTagDefinition({ closedByChildren: ['optgroup'], closedByParent: true }),\n    'option': new HtmlTagDefinition({ closedByChildren: ['option', 'optgroup'], closedByParent: true }),\n    'pre': new HtmlTagDefinition({ ignoreFirstLf: true }),\n    'listing': new HtmlTagDefinition({ ignoreFirstLf: true }),\n    'style': new HtmlTagDefinition({ contentType: TagContentType.RAW_TEXT }),\n    'script': new HtmlTagDefinition({ contentType: TagContentType.RAW_TEXT }),\n    'title': new HtmlTagDefinition({ contentType: TagContentType.ESCAPABLE_RAW_TEXT }),\n    'textarea': new HtmlTagDefinition({ contentType: TagContentType.ESCAPABLE_RAW_TEXT, ignoreFirstLf: true }),\n};\nvar /** @type {?} */ _DEFAULT_TAG_DEFINITION = new HtmlTagDefinition();\n/**\n * @param {?} tagName\n * @return {?}\n */\nexport function getHtmlTagDefinition(tagName) {\n    return TAG_DEFINITIONS[tagName.toLowerCase()] || _DEFAULT_TAG_DEFINITION;\n}\n//# sourceMappingURL=html_tags.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/ml_parser/html_tags.js\n// module id = 264\n// module chunks = 0","/**\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 */\nimport { isBlank, isPresent } from '../facade/lang';\nimport * as o from './output_ast';\nvar /** @type {?} */ _SINGLE_QUOTE_ESCAPE_STRING_RE = /'|\\\\|\\n|\\r|\\$/g;\nvar /** @type {?} */ _LEGAL_IDENTIFIER_RE = /^[$A-Z_][0-9A-Z_$]*$/i;\nexport var /** @type {?} */ CATCH_ERROR_VAR = o.variable('error');\nexport var /** @type {?} */ CATCH_STACK_VAR = o.variable('stack');\n/**\n * @abstract\n */\nexport var OutputEmitter = (function () {\n    function OutputEmitter() {\n    }\n    /**\n     * @abstract\n     * @param {?} moduleUrl\n     * @param {?} stmts\n     * @param {?} exportedVars\n     * @return {?}\n     */\n    OutputEmitter.prototype.emitStatements = function (moduleUrl, stmts, exportedVars) { };\n    return OutputEmitter;\n}());\nvar _EmittedLine = (function () {\n    /**\n     * @param {?} indent\n     */\n    function _EmittedLine(indent) {\n        this.indent = indent;\n        this.parts = [];\n    }\n    return _EmittedLine;\n}());\nfunction _EmittedLine_tsickle_Closure_declarations() {\n    /** @type {?} */\n    _EmittedLine.prototype.parts;\n    /** @type {?} */\n    _EmittedLine.prototype.indent;\n}\nexport var EmitterVisitorContext = (function () {\n    /**\n     * @param {?} _exportedVars\n     * @param {?} _indent\n     */\n    function EmitterVisitorContext(_exportedVars, _indent) {\n        this._exportedVars = _exportedVars;\n        this._indent = _indent;\n        this._classes = [];\n        this._lines = [new _EmittedLine(_indent)];\n    }\n    /**\n     * @param {?} exportedVars\n     * @return {?}\n     */\n    EmitterVisitorContext.createRoot = function (exportedVars) {\n        return new EmitterVisitorContext(exportedVars, 0);\n    };\n    Object.defineProperty(EmitterVisitorContext.prototype, \"_currentLine\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._lines[this._lines.length - 1]; },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @param {?} varName\n     * @return {?}\n     */\n    EmitterVisitorContext.prototype.isExportedVar = function (varName) { return this._exportedVars.indexOf(varName) !== -1; };\n    /**\n     * @param {?=} lastPart\n     * @return {?}\n     */\n    EmitterVisitorContext.prototype.println = function (lastPart) {\n        if (lastPart === void 0) { lastPart = ''; }\n        this.print(lastPart, true);\n    };\n    /**\n     * @return {?}\n     */\n    EmitterVisitorContext.prototype.lineIsEmpty = function () { return this._currentLine.parts.length === 0; };\n    /**\n     * @param {?} part\n     * @param {?=} newLine\n     * @return {?}\n     */\n    EmitterVisitorContext.prototype.print = function (part, newLine) {\n        if (newLine === void 0) { newLine = false; }\n        if (part.length > 0) {\n            this._currentLine.parts.push(part);\n        }\n        if (newLine) {\n            this._lines.push(new _EmittedLine(this._indent));\n        }\n    };\n    /**\n     * @return {?}\n     */\n    EmitterVisitorContext.prototype.removeEmptyLastLine = function () {\n        if (this.lineIsEmpty()) {\n            this._lines.pop();\n        }\n    };\n    /**\n     * @return {?}\n     */\n    EmitterVisitorContext.prototype.incIndent = function () {\n        this._indent++;\n        this._currentLine.indent = this._indent;\n    };\n    /**\n     * @return {?}\n     */\n    EmitterVisitorContext.prototype.decIndent = function () {\n        this._indent--;\n        this._currentLine.indent = this._indent;\n    };\n    /**\n     * @param {?} clazz\n     * @return {?}\n     */\n    EmitterVisitorContext.prototype.pushClass = function (clazz) { this._classes.push(clazz); };\n    /**\n     * @return {?}\n     */\n    EmitterVisitorContext.prototype.popClass = function () { return this._classes.pop(); };\n    Object.defineProperty(EmitterVisitorContext.prototype, \"currentClass\", {\n        /**\n         * @return {?}\n         */\n        get: function () {\n            return this._classes.length > 0 ? this._classes[this._classes.length - 1] : null;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @return {?}\n     */\n    EmitterVisitorContext.prototype.toSource = function () {\n        var /** @type {?} */ lines = this._lines;\n        if (lines[lines.length - 1].parts.length === 0) {\n            lines = lines.slice(0, lines.length - 1);\n        }\n        return lines\n            .map(function (line) {\n            if (line.parts.length > 0) {\n                return _createIndent(line.indent) + line.parts.join('');\n            }\n            else {\n                return '';\n            }\n        })\n            .join('\\n');\n    };\n    return EmitterVisitorContext;\n}());\nfunction EmitterVisitorContext_tsickle_Closure_declarations() {\n    /** @type {?} */\n    EmitterVisitorContext.prototype._lines;\n    /** @type {?} */\n    EmitterVisitorContext.prototype._classes;\n    /** @type {?} */\n    EmitterVisitorContext.prototype._exportedVars;\n    /** @type {?} */\n    EmitterVisitorContext.prototype._indent;\n}\n/**\n * @abstract\n */\nexport var AbstractEmitterVisitor = (function () {\n    /**\n     * @param {?} _escapeDollarInStrings\n     */\n    function AbstractEmitterVisitor(_escapeDollarInStrings) {\n        this._escapeDollarInStrings = _escapeDollarInStrings;\n    }\n    /**\n     * @param {?} stmt\n     * @param {?} ctx\n     * @return {?}\n     */\n    AbstractEmitterVisitor.prototype.visitExpressionStmt = function (stmt, ctx) {\n        stmt.expr.visitExpression(this, ctx);\n        ctx.println(';');\n        return null;\n    };\n    /**\n     * @param {?} stmt\n     * @param {?} ctx\n     * @return {?}\n     */\n    AbstractEmitterVisitor.prototype.visitReturnStmt = function (stmt, ctx) {\n        ctx.print(\"return \");\n        stmt.value.visitExpression(this, ctx);\n        ctx.println(';');\n        return null;\n    };\n    /**\n     * @abstract\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AbstractEmitterVisitor.prototype.visitCastExpr = function (ast, context) { };\n    /**\n     * @abstract\n     * @param {?} stmt\n     * @param {?} ctx\n     * @return {?}\n     */\n    AbstractEmitterVisitor.prototype.visitDeclareClassStmt = function (stmt, ctx) { };\n    /**\n     * @param {?} stmt\n     * @param {?} ctx\n     * @return {?}\n     */\n    AbstractEmitterVisitor.prototype.visitIfStmt = function (stmt, ctx) {\n        ctx.print(\"if (\");\n        stmt.condition.visitExpression(this, ctx);\n        ctx.print(\") {\");\n        var /** @type {?} */ hasElseCase = isPresent(stmt.falseCase) && stmt.falseCase.length > 0;\n        if (stmt.trueCase.length <= 1 && !hasElseCase) {\n            ctx.print(\" \");\n            this.visitAllStatements(stmt.trueCase, ctx);\n            ctx.removeEmptyLastLine();\n            ctx.print(\" \");\n        }\n        else {\n            ctx.println();\n            ctx.incIndent();\n            this.visitAllStatements(stmt.trueCase, ctx);\n            ctx.decIndent();\n            if (hasElseCase) {\n                ctx.println(\"} else {\");\n                ctx.incIndent();\n                this.visitAllStatements(stmt.falseCase, ctx);\n                ctx.decIndent();\n            }\n        }\n        ctx.println(\"}\");\n        return null;\n    };\n    /**\n     * @abstract\n     * @param {?} stmt\n     * @param {?} ctx\n     * @return {?}\n     */\n    AbstractEmitterVisitor.prototype.visitTryCatchStmt = function (stmt, ctx) { };\n    /**\n     * @param {?} stmt\n     * @param {?} ctx\n     * @return {?}\n     */\n    AbstractEmitterVisitor.prototype.visitThrowStmt = function (stmt, ctx) {\n        ctx.print(\"throw \");\n        stmt.error.visitExpression(this, ctx);\n        ctx.println(\";\");\n        return null;\n    };\n    /**\n     * @param {?} stmt\n     * @param {?} ctx\n     * @return {?}\n     */\n    AbstractEmitterVisitor.prototype.visitCommentStmt = function (stmt, ctx) {\n        var /** @type {?} */ lines = stmt.comment.split('\\n');\n        lines.forEach(function (line) { ctx.println(\"// \" + line); });\n        return null;\n    };\n    /**\n     * @abstract\n     * @param {?} stmt\n     * @param {?} ctx\n     * @return {?}\n     */\n    AbstractEmitterVisitor.prototype.visitDeclareVarStmt = function (stmt, ctx) { };\n    /**\n     * @param {?} expr\n     * @param {?} ctx\n     * @return {?}\n     */\n    AbstractEmitterVisitor.prototype.visitWriteVarExpr = function (expr, ctx) {\n        var /** @type {?} */ lineWasEmpty = ctx.lineIsEmpty();\n        if (!lineWasEmpty) {\n            ctx.print('(');\n        }\n        ctx.print(expr.name + \" = \");\n        expr.value.visitExpression(this, ctx);\n        if (!lineWasEmpty) {\n            ctx.print(')');\n        }\n        return null;\n    };\n    /**\n     * @param {?} expr\n     * @param {?} ctx\n     * @return {?}\n     */\n    AbstractEmitterVisitor.prototype.visitWriteKeyExpr = function (expr, ctx) {\n        var /** @type {?} */ lineWasEmpty = ctx.lineIsEmpty();\n        if (!lineWasEmpty) {\n            ctx.print('(');\n        }\n        expr.receiver.visitExpression(this, ctx);\n        ctx.print(\"[\");\n        expr.index.visitExpression(this, ctx);\n        ctx.print(\"] = \");\n        expr.value.visitExpression(this, ctx);\n        if (!lineWasEmpty) {\n            ctx.print(')');\n        }\n        return null;\n    };\n    /**\n     * @param {?} expr\n     * @param {?} ctx\n     * @return {?}\n     */\n    AbstractEmitterVisitor.prototype.visitWritePropExpr = function (expr, ctx) {\n        var /** @type {?} */ lineWasEmpty = ctx.lineIsEmpty();\n        if (!lineWasEmpty) {\n            ctx.print('(');\n        }\n        expr.receiver.visitExpression(this, ctx);\n        ctx.print(\".\" + expr.name + \" = \");\n        expr.value.visitExpression(this, ctx);\n        if (!lineWasEmpty) {\n            ctx.print(')');\n        }\n        return null;\n    };\n    /**\n     * @param {?} expr\n     * @param {?} ctx\n     * @return {?}\n     */\n    AbstractEmitterVisitor.prototype.visitInvokeMethodExpr = function (expr, ctx) {\n        expr.receiver.visitExpression(this, ctx);\n        var /** @type {?} */ name = expr.name;\n        if (isPresent(expr.builtin)) {\n            name = this.getBuiltinMethodName(expr.builtin);\n            if (isBlank(name)) {\n                // some builtins just mean to skip the call.\n                return null;\n            }\n        }\n        ctx.print(\".\" + name + \"(\");\n        this.visitAllExpressions(expr.args, ctx, \",\");\n        ctx.print(\")\");\n        return null;\n    };\n    /**\n     * @abstract\n     * @param {?} method\n     * @return {?}\n     */\n    AbstractEmitterVisitor.prototype.getBuiltinMethodName = function (method) { };\n    /**\n     * @param {?} expr\n     * @param {?} ctx\n     * @return {?}\n     */\n    AbstractEmitterVisitor.prototype.visitInvokeFunctionExpr = function (expr, ctx) {\n        expr.fn.visitExpression(this, ctx);\n        ctx.print(\"(\");\n        this.visitAllExpressions(expr.args, ctx, ',');\n        ctx.print(\")\");\n        return null;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} ctx\n     * @return {?}\n     */\n    AbstractEmitterVisitor.prototype.visitReadVarExpr = function (ast, ctx) {\n        var /** @type {?} */ varName = ast.name;\n        if (isPresent(ast.builtin)) {\n            switch (ast.builtin) {\n                case o.BuiltinVar.Super:\n                    varName = 'super';\n                    break;\n                case o.BuiltinVar.This:\n                    varName = 'this';\n                    break;\n                case o.BuiltinVar.CatchError:\n                    varName = CATCH_ERROR_VAR.name;\n                    break;\n                case o.BuiltinVar.CatchStack:\n                    varName = CATCH_STACK_VAR.name;\n                    break;\n                default:\n                    throw new Error(\"Unknown builtin variable \" + ast.builtin);\n            }\n        }\n        ctx.print(varName);\n        return null;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} ctx\n     * @return {?}\n     */\n    AbstractEmitterVisitor.prototype.visitInstantiateExpr = function (ast, ctx) {\n        ctx.print(\"new \");\n        ast.classExpr.visitExpression(this, ctx);\n        ctx.print(\"(\");\n        this.visitAllExpressions(ast.args, ctx, ',');\n        ctx.print(\")\");\n        return null;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} ctx\n     * @return {?}\n     */\n    AbstractEmitterVisitor.prototype.visitLiteralExpr = function (ast, ctx) {\n        var /** @type {?} */ value = ast.value;\n        if (typeof value === 'string') {\n            ctx.print(escapeIdentifier(value, this._escapeDollarInStrings));\n        }\n        else {\n            ctx.print(\"\" + value);\n        }\n        return null;\n    };\n    /**\n     * @abstract\n     * @param {?} ast\n     * @param {?} ctx\n     * @return {?}\n     */\n    AbstractEmitterVisitor.prototype.visitExternalExpr = function (ast, ctx) { };\n    /**\n     * @param {?} ast\n     * @param {?} ctx\n     * @return {?}\n     */\n    AbstractEmitterVisitor.prototype.visitConditionalExpr = function (ast, ctx) {\n        ctx.print(\"(\");\n        ast.condition.visitExpression(this, ctx);\n        ctx.print('? ');\n        ast.trueCase.visitExpression(this, ctx);\n        ctx.print(': ');\n        ast.falseCase.visitExpression(this, ctx);\n        ctx.print(\")\");\n        return null;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} ctx\n     * @return {?}\n     */\n    AbstractEmitterVisitor.prototype.visitNotExpr = function (ast, ctx) {\n        ctx.print('!');\n        ast.condition.visitExpression(this, ctx);\n        return null;\n    };\n    /**\n     * @abstract\n     * @param {?} ast\n     * @param {?} ctx\n     * @return {?}\n     */\n    AbstractEmitterVisitor.prototype.visitFunctionExpr = function (ast, ctx) { };\n    /**\n     * @abstract\n     * @param {?} stmt\n     * @param {?} context\n     * @return {?}\n     */\n    AbstractEmitterVisitor.prototype.visitDeclareFunctionStmt = function (stmt, context) { };\n    /**\n     * @param {?} ast\n     * @param {?} ctx\n     * @return {?}\n     */\n    AbstractEmitterVisitor.prototype.visitBinaryOperatorExpr = function (ast, ctx) {\n        var /** @type {?} */ opStr;\n        switch (ast.operator) {\n            case o.BinaryOperator.Equals:\n                opStr = '==';\n                break;\n            case o.BinaryOperator.Identical:\n                opStr = '===';\n                break;\n            case o.BinaryOperator.NotEquals:\n                opStr = '!=';\n                break;\n            case o.BinaryOperator.NotIdentical:\n                opStr = '!==';\n                break;\n            case o.BinaryOperator.And:\n                opStr = '&&';\n                break;\n            case o.BinaryOperator.Or:\n                opStr = '||';\n                break;\n            case o.BinaryOperator.Plus:\n                opStr = '+';\n                break;\n            case o.BinaryOperator.Minus:\n                opStr = '-';\n                break;\n            case o.BinaryOperator.Divide:\n                opStr = '/';\n                break;\n            case o.BinaryOperator.Multiply:\n                opStr = '*';\n                break;\n            case o.BinaryOperator.Modulo:\n                opStr = '%';\n                break;\n            case o.BinaryOperator.Lower:\n                opStr = '<';\n                break;\n            case o.BinaryOperator.LowerEquals:\n                opStr = '<=';\n                break;\n            case o.BinaryOperator.Bigger:\n                opStr = '>';\n                break;\n            case o.BinaryOperator.BiggerEquals:\n                opStr = '>=';\n                break;\n            default:\n                throw new Error(\"Unknown operator \" + ast.operator);\n        }\n        ctx.print(\"(\");\n        ast.lhs.visitExpression(this, ctx);\n        ctx.print(\" \" + opStr + \" \");\n        ast.rhs.visitExpression(this, ctx);\n        ctx.print(\")\");\n        return null;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} ctx\n     * @return {?}\n     */\n    AbstractEmitterVisitor.prototype.visitReadPropExpr = function (ast, ctx) {\n        ast.receiver.visitExpression(this, ctx);\n        ctx.print(\".\");\n        ctx.print(ast.name);\n        return null;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} ctx\n     * @return {?}\n     */\n    AbstractEmitterVisitor.prototype.visitReadKeyExpr = function (ast, ctx) {\n        ast.receiver.visitExpression(this, ctx);\n        ctx.print(\"[\");\n        ast.index.visitExpression(this, ctx);\n        ctx.print(\"]\");\n        return null;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} ctx\n     * @return {?}\n     */\n    AbstractEmitterVisitor.prototype.visitLiteralArrayExpr = function (ast, ctx) {\n        var /** @type {?} */ useNewLine = ast.entries.length > 1;\n        ctx.print(\"[\", useNewLine);\n        ctx.incIndent();\n        this.visitAllExpressions(ast.entries, ctx, ',', useNewLine);\n        ctx.decIndent();\n        ctx.print(\"]\", useNewLine);\n        return null;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} ctx\n     * @return {?}\n     */\n    AbstractEmitterVisitor.prototype.visitLiteralMapExpr = function (ast, ctx) {\n        var _this = this;\n        var /** @type {?} */ useNewLine = ast.entries.length > 1;\n        ctx.print(\"{\", useNewLine);\n        ctx.incIndent();\n        this.visitAllObjects(function (entry) {\n            ctx.print(escapeIdentifier(entry.key, _this._escapeDollarInStrings, entry.quoted) + \": \");\n            entry.value.visitExpression(_this, ctx);\n        }, ast.entries, ctx, ',', useNewLine);\n        ctx.decIndent();\n        ctx.print(\"}\", useNewLine);\n        return null;\n    };\n    /**\n     * @param {?} expressions\n     * @param {?} ctx\n     * @param {?} separator\n     * @param {?=} newLine\n     * @return {?}\n     */\n    AbstractEmitterVisitor.prototype.visitAllExpressions = function (expressions, ctx, separator, newLine) {\n        var _this = this;\n        if (newLine === void 0) { newLine = false; }\n        this.visitAllObjects(function (expr) { return expr.visitExpression(_this, ctx); }, expressions, ctx, separator, newLine);\n    };\n    /**\n     * @param {?} handler\n     * @param {?} expressions\n     * @param {?} ctx\n     * @param {?} separator\n     * @param {?=} newLine\n     * @return {?}\n     */\n    AbstractEmitterVisitor.prototype.visitAllObjects = function (handler, expressions, ctx, separator, newLine) {\n        if (newLine === void 0) { newLine = false; }\n        for (var /** @type {?} */ i = 0; i < expressions.length; i++) {\n            if (i > 0) {\n                ctx.print(separator, newLine);\n            }\n            handler(expressions[i]);\n        }\n        if (newLine) {\n            ctx.println();\n        }\n    };\n    /**\n     * @param {?} statements\n     * @param {?} ctx\n     * @return {?}\n     */\n    AbstractEmitterVisitor.prototype.visitAllStatements = function (statements, ctx) {\n        var _this = this;\n        statements.forEach(function (stmt) { return stmt.visitStatement(_this, ctx); });\n    };\n    return AbstractEmitterVisitor;\n}());\nfunction AbstractEmitterVisitor_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AbstractEmitterVisitor.prototype._escapeDollarInStrings;\n}\n/**\n * @param {?} input\n * @param {?} escapeDollar\n * @param {?=} alwaysQuote\n * @return {?}\n */\nexport function escapeIdentifier(input, escapeDollar, alwaysQuote) {\n    if (alwaysQuote === void 0) { alwaysQuote = true; }\n    if (isBlank(input)) {\n        return null;\n    }\n    var /** @type {?} */ body = input.replace(_SINGLE_QUOTE_ESCAPE_STRING_RE, function () {\n        var match = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            match[_i - 0] = arguments[_i];\n        }\n        if (match[0] == '$') {\n            return escapeDollar ? '\\\\$' : '$';\n        }\n        else if (match[0] == '\\n') {\n            return '\\\\n';\n        }\n        else if (match[0] == '\\r') {\n            return '\\\\r';\n        }\n        else {\n            return \"\\\\\" + match[0];\n        }\n    });\n    var /** @type {?} */ requiresQuotes = alwaysQuote || !_LEGAL_IDENTIFIER_RE.test(body);\n    return requiresQuotes ? \"'\" + body + \"'\" : body;\n}\n/**\n * @param {?} count\n * @return {?}\n */\nfunction _createIndent(count) {\n    var /** @type {?} */ res = '';\n    for (var /** @type {?} */ i = 0; i < count; i++) {\n        res += '  ';\n    }\n    return res;\n}\n//# sourceMappingURL=abstract_emitter.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/output/abstract_emitter.js\n// module id = 265\n// module chunks = 0","/**\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 */\nimport * as o from './output_ast';\n/**\n * Create a new class stmts based on the given data.\n * @param {?} config\n * @return {?}\n */\nexport function createClassStmt(config) {\n    var /** @type {?} */ parentArgs = config.parentArgs || [];\n    var /** @type {?} */ superCtorStmts = config.parent ? [o.SUPER_EXPR.callFn(parentArgs).toStmt()] : [];\n    var /** @type {?} */ builder = concatClassBuilderParts(Array.isArray(config.builders) ? config.builders : [config.builders]);\n    var /** @type {?} */ ctor = new o.ClassMethod(null, config.ctorParams || [], superCtorStmts.concat(builder.ctorStmts));\n    return new o.ClassStmt(config.name, config.parent, builder.fields, builder.getters, ctor, builder.methods, config.modifiers || []);\n}\n/**\n * @param {?} builders\n * @return {?}\n */\nfunction concatClassBuilderParts(builders) {\n    return {\n        fields: (_a = []).concat.apply(_a, builders.map(function (builder) { return builder.fields || []; })),\n        methods: (_b = []).concat.apply(_b, builders.map(function (builder) { return builder.methods || []; })),\n        getters: (_c = []).concat.apply(_c, builders.map(function (builder) { return builder.getters || []; })),\n        ctorStmts: (_d = []).concat.apply(_d, builders.map(function (builder) { return builder.ctorStmts || []; })),\n    };\n    var _a, _b, _c, _d;\n}\n//# sourceMappingURL=class_builder.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/output/class_builder.js\n// module id = 266\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { identifierModuleUrl, identifierName } from '../compile_metadata';\nimport { isBlank, isPresent } from '../facade/lang';\nimport { AbstractEmitterVisitor, CATCH_ERROR_VAR, CATCH_STACK_VAR, EmitterVisitorContext } from './abstract_emitter';\nimport * as o from './output_ast';\nvar /** @type {?} */ _debugModuleUrl = '/debug/lib';\n/**\n * @param {?} ast\n * @return {?}\n */\nexport function debugOutputAstAsTypeScript(ast) {\n    var /** @type {?} */ converter = new _TsEmitterVisitor(_debugModuleUrl);\n    var /** @type {?} */ ctx = EmitterVisitorContext.createRoot([]);\n    var /** @type {?} */ asts = Array.isArray(ast) ? ast : [ast];\n    asts.forEach(function (ast) {\n        if (ast instanceof o.Statement) {\n            ast.visitStatement(converter, ctx);\n        }\n        else if (ast instanceof o.Expression) {\n            ast.visitExpression(converter, ctx);\n        }\n        else if (ast instanceof o.Type) {\n            ast.visitType(converter, ctx);\n        }\n        else {\n            throw new Error(\"Don't know how to print debug info for \" + ast);\n        }\n    });\n    return ctx.toSource();\n}\nexport var TypeScriptEmitter = (function () {\n    /**\n     * @param {?} _importGenerator\n     */\n    function TypeScriptEmitter(_importGenerator) {\n        this._importGenerator = _importGenerator;\n    }\n    /**\n     * @param {?} moduleUrl\n     * @param {?} stmts\n     * @param {?} exportedVars\n     * @return {?}\n     */\n    TypeScriptEmitter.prototype.emitStatements = function (moduleUrl, stmts, exportedVars) {\n        var _this = this;\n        var /** @type {?} */ converter = new _TsEmitterVisitor(moduleUrl);\n        var /** @type {?} */ ctx = EmitterVisitorContext.createRoot(exportedVars);\n        converter.visitAllStatements(stmts, ctx);\n        var /** @type {?} */ srcParts = [];\n        converter.importsWithPrefixes.forEach(function (prefix, importedModuleUrl) {\n            // Note: can't write the real word for import as it screws up system.js auto detection...\n            srcParts.push(\"imp\" +\n                (\"ort * as \" + prefix + \" from '\" + _this._importGenerator.fileNameToModuleName(importedModuleUrl, moduleUrl) + \"';\"));\n        });\n        srcParts.push(ctx.toSource());\n        return srcParts.join('\\n');\n    };\n    return TypeScriptEmitter;\n}());\nfunction TypeScriptEmitter_tsickle_Closure_declarations() {\n    /** @type {?} */\n    TypeScriptEmitter.prototype._importGenerator;\n}\nvar _TsEmitterVisitor = (function (_super) {\n    __extends(_TsEmitterVisitor, _super);\n    /**\n     * @param {?} _moduleUrl\n     */\n    function _TsEmitterVisitor(_moduleUrl) {\n        _super.call(this, false);\n        this._moduleUrl = _moduleUrl;\n        this.importsWithPrefixes = new Map();\n    }\n    /**\n     * @param {?} t\n     * @param {?} ctx\n     * @param {?=} defaultType\n     * @return {?}\n     */\n    _TsEmitterVisitor.prototype.visitType = function (t, ctx, defaultType) {\n        if (defaultType === void 0) { defaultType = 'any'; }\n        if (isPresent(t)) {\n            t.visitType(this, ctx);\n        }\n        else {\n            ctx.print(defaultType);\n        }\n    };\n    /**\n     * @param {?} ast\n     * @param {?} ctx\n     * @return {?}\n     */\n    _TsEmitterVisitor.prototype.visitLiteralExpr = function (ast, ctx) {\n        var /** @type {?} */ value = ast.value;\n        if (isBlank(value) && ast.type != o.NULL_TYPE) {\n            ctx.print(\"(\" + value + \" as any)\");\n            return null;\n        }\n        return _super.prototype.visitLiteralExpr.call(this, ast, ctx);\n    };\n    /**\n     * @param {?} ast\n     * @param {?} ctx\n     * @return {?}\n     */\n    _TsEmitterVisitor.prototype.visitLiteralArrayExpr = function (ast, ctx) {\n        if (ast.entries.length === 0) {\n            ctx.print('(');\n        }\n        var /** @type {?} */ result = _super.prototype.visitLiteralArrayExpr.call(this, ast, ctx);\n        if (ast.entries.length === 0) {\n            ctx.print(' as any[])');\n        }\n        return result;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} ctx\n     * @return {?}\n     */\n    _TsEmitterVisitor.prototype.visitExternalExpr = function (ast, ctx) {\n        this._visitIdentifier(ast.value, ast.typeParams, ctx);\n        return null;\n    };\n    /**\n     * @param {?} stmt\n     * @param {?} ctx\n     * @return {?}\n     */\n    _TsEmitterVisitor.prototype.visitDeclareVarStmt = function (stmt, ctx) {\n        if (ctx.isExportedVar(stmt.name)) {\n            ctx.print(\"export \");\n        }\n        if (stmt.hasModifier(o.StmtModifier.Final)) {\n            ctx.print(\"const\");\n        }\n        else {\n            ctx.print(\"var\");\n        }\n        ctx.print(\" \" + stmt.name + \":\");\n        this.visitType(stmt.type, ctx);\n        ctx.print(\" = \");\n        stmt.value.visitExpression(this, ctx);\n        ctx.println(\";\");\n        return null;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} ctx\n     * @return {?}\n     */\n    _TsEmitterVisitor.prototype.visitCastExpr = function (ast, ctx) {\n        ctx.print(\"(<\");\n        ast.type.visitType(this, ctx);\n        ctx.print(\">\");\n        ast.value.visitExpression(this, ctx);\n        ctx.print(\")\");\n        return null;\n    };\n    /**\n     * @param {?} stmt\n     * @param {?} ctx\n     * @return {?}\n     */\n    _TsEmitterVisitor.prototype.visitDeclareClassStmt = function (stmt, ctx) {\n        var _this = this;\n        ctx.pushClass(stmt);\n        if (ctx.isExportedVar(stmt.name)) {\n            ctx.print(\"export \");\n        }\n        ctx.print(\"class \" + stmt.name);\n        if (isPresent(stmt.parent)) {\n            ctx.print(\" extends \");\n            stmt.parent.visitExpression(this, ctx);\n        }\n        ctx.println(\" {\");\n        ctx.incIndent();\n        stmt.fields.forEach(function (field) { return _this._visitClassField(field, ctx); });\n        if (isPresent(stmt.constructorMethod)) {\n            this._visitClassConstructor(stmt, ctx);\n        }\n        stmt.getters.forEach(function (getter) { return _this._visitClassGetter(getter, ctx); });\n        stmt.methods.forEach(function (method) { return _this._visitClassMethod(method, ctx); });\n        ctx.decIndent();\n        ctx.println(\"}\");\n        ctx.popClass();\n        return null;\n    };\n    /**\n     * @param {?} field\n     * @param {?} ctx\n     * @return {?}\n     */\n    _TsEmitterVisitor.prototype._visitClassField = function (field, ctx) {\n        if (field.hasModifier(o.StmtModifier.Private)) {\n            // comment out as a workaround for #10967\n            ctx.print(\"/*private*/ \");\n        }\n        ctx.print(field.name);\n        ctx.print(':');\n        this.visitType(field.type, ctx);\n        ctx.println(\";\");\n    };\n    /**\n     * @param {?} getter\n     * @param {?} ctx\n     * @return {?}\n     */\n    _TsEmitterVisitor.prototype._visitClassGetter = function (getter, ctx) {\n        if (getter.hasModifier(o.StmtModifier.Private)) {\n            ctx.print(\"private \");\n        }\n        ctx.print(\"get \" + getter.name + \"()\");\n        ctx.print(':');\n        this.visitType(getter.type, ctx);\n        ctx.println(\" {\");\n        ctx.incIndent();\n        this.visitAllStatements(getter.body, ctx);\n        ctx.decIndent();\n        ctx.println(\"}\");\n    };\n    /**\n     * @param {?} stmt\n     * @param {?} ctx\n     * @return {?}\n     */\n    _TsEmitterVisitor.prototype._visitClassConstructor = function (stmt, ctx) {\n        ctx.print(\"constructor(\");\n        this._visitParams(stmt.constructorMethod.params, ctx);\n        ctx.println(\") {\");\n        ctx.incIndent();\n        this.visitAllStatements(stmt.constructorMethod.body, ctx);\n        ctx.decIndent();\n        ctx.println(\"}\");\n    };\n    /**\n     * @param {?} method\n     * @param {?} ctx\n     * @return {?}\n     */\n    _TsEmitterVisitor.prototype._visitClassMethod = function (method, ctx) {\n        if (method.hasModifier(o.StmtModifier.Private)) {\n            ctx.print(\"private \");\n        }\n        ctx.print(method.name + \"(\");\n        this._visitParams(method.params, ctx);\n        ctx.print(\"):\");\n        this.visitType(method.type, ctx, 'void');\n        ctx.println(\" {\");\n        ctx.incIndent();\n        this.visitAllStatements(method.body, ctx);\n        ctx.decIndent();\n        ctx.println(\"}\");\n    };\n    /**\n     * @param {?} ast\n     * @param {?} ctx\n     * @return {?}\n     */\n    _TsEmitterVisitor.prototype.visitFunctionExpr = function (ast, ctx) {\n        ctx.print(\"(\");\n        this._visitParams(ast.params, ctx);\n        ctx.print(\"):\");\n        this.visitType(ast.type, ctx, 'void');\n        ctx.println(\" => {\");\n        ctx.incIndent();\n        this.visitAllStatements(ast.statements, ctx);\n        ctx.decIndent();\n        ctx.print(\"}\");\n        return null;\n    };\n    /**\n     * @param {?} stmt\n     * @param {?} ctx\n     * @return {?}\n     */\n    _TsEmitterVisitor.prototype.visitDeclareFunctionStmt = function (stmt, ctx) {\n        if (ctx.isExportedVar(stmt.name)) {\n            ctx.print(\"export \");\n        }\n        ctx.print(\"function \" + stmt.name + \"(\");\n        this._visitParams(stmt.params, ctx);\n        ctx.print(\"):\");\n        this.visitType(stmt.type, ctx, 'void');\n        ctx.println(\" {\");\n        ctx.incIndent();\n        this.visitAllStatements(stmt.statements, ctx);\n        ctx.decIndent();\n        ctx.println(\"}\");\n        return null;\n    };\n    /**\n     * @param {?} stmt\n     * @param {?} ctx\n     * @return {?}\n     */\n    _TsEmitterVisitor.prototype.visitTryCatchStmt = function (stmt, ctx) {\n        ctx.println(\"try {\");\n        ctx.incIndent();\n        this.visitAllStatements(stmt.bodyStmts, ctx);\n        ctx.decIndent();\n        ctx.println(\"} catch (\" + CATCH_ERROR_VAR.name + \") {\");\n        ctx.incIndent();\n        var /** @type {?} */ catchStmts = [(CATCH_STACK_VAR.set(CATCH_ERROR_VAR.prop('stack')).toDeclStmt(null, [\n                o.StmtModifier.Final\n            ]))].concat(stmt.catchStmts);\n        this.visitAllStatements(catchStmts, ctx);\n        ctx.decIndent();\n        ctx.println(\"}\");\n        return null;\n    };\n    /**\n     * @param {?} type\n     * @param {?} ctx\n     * @return {?}\n     */\n    _TsEmitterVisitor.prototype.visitBuiltintType = function (type, ctx) {\n        var /** @type {?} */ typeStr;\n        switch (type.name) {\n            case o.BuiltinTypeName.Bool:\n                typeStr = 'boolean';\n                break;\n            case o.BuiltinTypeName.Dynamic:\n                typeStr = 'any';\n                break;\n            case o.BuiltinTypeName.Function:\n                typeStr = 'Function';\n                break;\n            case o.BuiltinTypeName.Number:\n                typeStr = 'number';\n                break;\n            case o.BuiltinTypeName.Int:\n                typeStr = 'number';\n                break;\n            case o.BuiltinTypeName.String:\n                typeStr = 'string';\n                break;\n            default:\n                throw new Error(\"Unsupported builtin type \" + type.name);\n        }\n        ctx.print(typeStr);\n        return null;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} ctx\n     * @return {?}\n     */\n    _TsEmitterVisitor.prototype.visitExpressionType = function (ast, ctx) {\n        var _this = this;\n        ast.value.visitExpression(this, ctx);\n        if (isPresent(ast.typeParams) && ast.typeParams.length > 0) {\n            ctx.print(\"<\");\n            this.visitAllObjects(function (type) { return type.visitType(_this, ctx); }, ast.typeParams, ctx, ',');\n            ctx.print(\">\");\n        }\n        return null;\n    };\n    /**\n     * @param {?} type\n     * @param {?} ctx\n     * @return {?}\n     */\n    _TsEmitterVisitor.prototype.visitArrayType = function (type, ctx) {\n        this.visitType(type.of, ctx);\n        ctx.print(\"[]\");\n        return null;\n    };\n    /**\n     * @param {?} type\n     * @param {?} ctx\n     * @return {?}\n     */\n    _TsEmitterVisitor.prototype.visitMapType = function (type, ctx) {\n        ctx.print(\"{[key: string]:\");\n        this.visitType(type.valueType, ctx);\n        ctx.print(\"}\");\n        return null;\n    };\n    /**\n     * @param {?} method\n     * @return {?}\n     */\n    _TsEmitterVisitor.prototype.getBuiltinMethodName = function (method) {\n        var /** @type {?} */ name;\n        switch (method) {\n            case o.BuiltinMethod.ConcatArray:\n                name = 'concat';\n                break;\n            case o.BuiltinMethod.SubscribeObservable:\n                name = 'subscribe';\n                break;\n            case o.BuiltinMethod.Bind:\n                name = 'bind';\n                break;\n            default:\n                throw new Error(\"Unknown builtin method: \" + method);\n        }\n        return name;\n    };\n    /**\n     * @param {?} params\n     * @param {?} ctx\n     * @return {?}\n     */\n    _TsEmitterVisitor.prototype._visitParams = function (params, ctx) {\n        var _this = this;\n        this.visitAllObjects(function (param) {\n            ctx.print(param.name);\n            ctx.print(':');\n            _this.visitType(param.type, ctx);\n        }, params, ctx, ',');\n    };\n    /**\n     * @param {?} value\n     * @param {?} typeParams\n     * @param {?} ctx\n     * @return {?}\n     */\n    _TsEmitterVisitor.prototype._visitIdentifier = function (value, typeParams, ctx) {\n        var _this = this;\n        var /** @type {?} */ name = identifierName(value);\n        var /** @type {?} */ moduleUrl = identifierModuleUrl(value);\n        if (isBlank(name)) {\n            throw new Error(\"Internal error: unknown identifier \" + value);\n        }\n        if (isPresent(moduleUrl) && moduleUrl != this._moduleUrl) {\n            var /** @type {?} */ prefix = this.importsWithPrefixes.get(moduleUrl);\n            if (isBlank(prefix)) {\n                prefix = \"import\" + this.importsWithPrefixes.size;\n                this.importsWithPrefixes.set(moduleUrl, prefix);\n            }\n            ctx.print(prefix + \".\");\n        }\n        if (value.reference && value.reference.members && value.reference.members.length) {\n            ctx.print(value.reference.name);\n            ctx.print('.');\n            ctx.print(value.reference.members.join('.'));\n        }\n        else {\n            ctx.print(name);\n        }\n        if (isPresent(typeParams) && typeParams.length > 0) {\n            ctx.print(\"<\");\n            this.visitAllObjects(function (type) { return type.visitType(_this, ctx); }, typeParams, ctx, ',');\n            ctx.print(\">\");\n        }\n    };\n    return _TsEmitterVisitor;\n}(AbstractEmitterVisitor));\nfunction _TsEmitterVisitor_tsickle_Closure_declarations() {\n    /** @type {?} */\n    _TsEmitterVisitor.prototype.importsWithPrefixes;\n    /** @type {?} */\n    _TsEmitterVisitor.prototype._moduleUrl;\n}\n//# sourceMappingURL=ts_emitter.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/output/ts_emitter.js\n// module id = 267\n// module chunks = 0","/**\n * An interface for retrieving documents by URL that the compiler uses\n * to load templates.\n */\nexport var ResourceLoader = (function () {\n    function ResourceLoader() {\n    }\n    /**\n     * @param {?} url\n     * @return {?}\n     */\n    ResourceLoader.prototype.get = function (url) { return null; };\n    return ResourceLoader;\n}());\n//# sourceMappingURL=resource_loader.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/resource_loader.js\n// module id = 268\n// module chunks = 0","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nimport { CompilerInjectable } from './injectable';\nexport var SummaryResolver = (function () {\n    function SummaryResolver() {\n    }\n    /**\n     * @param {?} reference\n     * @return {?}\n     */\n    SummaryResolver.prototype.resolveSummary = function (reference) { return null; };\n    ;\n    /**\n     * @param {?} filePath\n     * @return {?}\n     */\n    SummaryResolver.prototype.getSymbolsOf = function (filePath) { return []; };\n    SummaryResolver = __decorate([\n        CompilerInjectable(), \n        __metadata('design:paramtypes', [])\n    ], SummaryResolver);\n    return SummaryResolver;\n}());\n//# sourceMappingURL=summary_resolver.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/summary_resolver.js\n// module id = 269\n// module chunks = 0","/**\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 */\nimport * as o from '../output/output_ast';\nvar _DebugState = (function () {\n    /**\n     * @param {?} nodeIndex\n     * @param {?} sourceAst\n     */\n    function _DebugState(nodeIndex, sourceAst) {\n        this.nodeIndex = nodeIndex;\n        this.sourceAst = sourceAst;\n    }\n    return _DebugState;\n}());\nfunction _DebugState_tsickle_Closure_declarations() {\n    /** @type {?} */\n    _DebugState.prototype.nodeIndex;\n    /** @type {?} */\n    _DebugState.prototype.sourceAst;\n}\nvar /** @type {?} */ NULL_DEBUG_STATE = new _DebugState(null, null);\nexport var CompileMethod = (function () {\n    /**\n     * @param {?} _view\n     */\n    function CompileMethod(_view) {\n        this._view = _view;\n        this._newState = NULL_DEBUG_STATE;\n        this._currState = NULL_DEBUG_STATE;\n        this._bodyStatements = [];\n        this._debugEnabled = this._view.genConfig.genDebugInfo;\n    }\n    /**\n     * @return {?}\n     */\n    CompileMethod.prototype._updateDebugContextIfNeeded = function () {\n        if (this._newState.nodeIndex !== this._currState.nodeIndex ||\n            this._newState.sourceAst !== this._currState.sourceAst) {\n            var /** @type {?} */ expr = this._updateDebugContext(this._newState);\n            if (expr) {\n                this._bodyStatements.push(expr.toStmt());\n            }\n        }\n    };\n    /**\n     * @param {?} newState\n     * @return {?}\n     */\n    CompileMethod.prototype._updateDebugContext = function (newState) {\n        this._currState = this._newState = newState;\n        if (this._debugEnabled) {\n            var /** @type {?} */ sourceLocation = newState.sourceAst ? newState.sourceAst.sourceSpan.start : null;\n            return o.THIS_EXPR.callMethod('debug', [\n                o.literal(newState.nodeIndex),\n                sourceLocation ? o.literal(sourceLocation.line) : o.NULL_EXPR,\n                sourceLocation ? o.literal(sourceLocation.col) : o.NULL_EXPR\n            ]);\n        }\n        else {\n            return null;\n        }\n    };\n    /**\n     * @param {?} nodeIndex\n     * @param {?} templateAst\n     * @return {?}\n     */\n    CompileMethod.prototype.resetDebugInfoExpr = function (nodeIndex, templateAst) {\n        var /** @type {?} */ res = this._updateDebugContext(new _DebugState(nodeIndex, templateAst));\n        return res || o.NULL_EXPR;\n    };\n    /**\n     * @param {?} nodeIndex\n     * @param {?} templateAst\n     * @return {?}\n     */\n    CompileMethod.prototype.resetDebugInfo = function (nodeIndex, templateAst) {\n        this._newState = new _DebugState(nodeIndex, templateAst);\n    };\n    /**\n     * @param {...?} stmts\n     * @return {?}\n     */\n    CompileMethod.prototype.push = function () {\n        var stmts = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            stmts[_i - 0] = arguments[_i];\n        }\n        this.addStmts(stmts);\n    };\n    /**\n     * @param {?} stmt\n     * @return {?}\n     */\n    CompileMethod.prototype.addStmt = function (stmt) {\n        this._updateDebugContextIfNeeded();\n        this._bodyStatements.push(stmt);\n    };\n    /**\n     * @param {?} stmts\n     * @return {?}\n     */\n    CompileMethod.prototype.addStmts = function (stmts) {\n        this._updateDebugContextIfNeeded();\n        (_a = this._bodyStatements).push.apply(_a, stmts);\n        var _a;\n    };\n    /**\n     * @return {?}\n     */\n    CompileMethod.prototype.finish = function () { return this._bodyStatements; };\n    /**\n     * @return {?}\n     */\n    CompileMethod.prototype.isEmpty = function () { return this._bodyStatements.length === 0; };\n    return CompileMethod;\n}());\nfunction CompileMethod_tsickle_Closure_declarations() {\n    /** @type {?} */\n    CompileMethod.prototype._newState;\n    /** @type {?} */\n    CompileMethod.prototype._currState;\n    /** @type {?} */\n    CompileMethod.prototype._debugEnabled;\n    /** @type {?} */\n    CompileMethod.prototype._bodyStatements;\n    /** @type {?} */\n    CompileMethod.prototype._view;\n}\n//# sourceMappingURL=compile_method.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/view_compiler/compile_method.js\n// module id = 270\n// module chunks = 0","/**\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 */\nexport var ViewClassDependency = (function () {\n    /**\n     * @param {?} comp\n     * @param {?} name\n     * @param {?} placeholder\n     */\n    function ViewClassDependency(comp, name, placeholder) {\n        this.comp = comp;\n        this.name = name;\n        this.placeholder = placeholder;\n    }\n    return ViewClassDependency;\n}());\nfunction ViewClassDependency_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ViewClassDependency.prototype.comp;\n    /** @type {?} */\n    ViewClassDependency.prototype.name;\n    /** @type {?} */\n    ViewClassDependency.prototype.placeholder;\n}\nexport var ComponentFactoryDependency = (function () {\n    /**\n     * @param {?} comp\n     * @param {?} placeholder\n     */\n    function ComponentFactoryDependency(comp, placeholder) {\n        this.comp = comp;\n        this.placeholder = placeholder;\n    }\n    return ComponentFactoryDependency;\n}());\nfunction ComponentFactoryDependency_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ComponentFactoryDependency.prototype.comp;\n    /** @type {?} */\n    ComponentFactoryDependency.prototype.placeholder;\n}\nexport var DirectiveWrapperDependency = (function () {\n    /**\n     * @param {?} dir\n     * @param {?} name\n     * @param {?} placeholder\n     */\n    function DirectiveWrapperDependency(dir, name, placeholder) {\n        this.dir = dir;\n        this.name = name;\n        this.placeholder = placeholder;\n    }\n    return DirectiveWrapperDependency;\n}());\nfunction DirectiveWrapperDependency_tsickle_Closure_declarations() {\n    /** @type {?} */\n    DirectiveWrapperDependency.prototype.dir;\n    /** @type {?} */\n    DirectiveWrapperDependency.prototype.name;\n    /** @type {?} */\n    DirectiveWrapperDependency.prototype.placeholder;\n}\n//# sourceMappingURL=deps.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/view_compiler/deps.js\n// module id = 271\n// module chunks = 0","/**\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 */\nimport { scheduleMicroTask } from '../facade/lang';\n/**\n * \\@experimental Animation support is experimental.\n * @abstract\n */\nexport var AnimationPlayer = (function () {\n    function AnimationPlayer() {\n    }\n    /**\n     * @abstract\n     * @param {?} fn\n     * @return {?}\n     */\n    AnimationPlayer.prototype.onDone = function (fn) { };\n    /**\n     * @abstract\n     * @param {?} fn\n     * @return {?}\n     */\n    AnimationPlayer.prototype.onStart = function (fn) { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    AnimationPlayer.prototype.init = function () { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    AnimationPlayer.prototype.hasStarted = function () { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    AnimationPlayer.prototype.play = function () { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    AnimationPlayer.prototype.pause = function () { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    AnimationPlayer.prototype.restart = function () { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    AnimationPlayer.prototype.finish = function () { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    AnimationPlayer.prototype.destroy = function () { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    AnimationPlayer.prototype.reset = function () { };\n    /**\n     * @abstract\n     * @param {?} p\n     * @return {?}\n     */\n    AnimationPlayer.prototype.setPosition = function (p) { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    AnimationPlayer.prototype.getPosition = function () { };\n    Object.defineProperty(AnimationPlayer.prototype, \"parentPlayer\", {\n        /**\n         * @return {?}\n         */\n        get: function () { throw new Error('NOT IMPLEMENTED: Base Class'); },\n        /**\n         * @param {?} player\n         * @return {?}\n         */\n        set: function (player) { throw new Error('NOT IMPLEMENTED: Base Class'); },\n        enumerable: true,\n        configurable: true\n    });\n    return AnimationPlayer;\n}());\nexport var NoOpAnimationPlayer = (function () {\n    function NoOpAnimationPlayer() {\n        var _this = this;\n        this._onDoneFns = [];\n        this._onStartFns = [];\n        this._started = false;\n        this.parentPlayer = null;\n        scheduleMicroTask(function () { return _this._onFinish(); });\n    }\n    /**\n     * \\@internal\n     * @return {?}\n     */\n    NoOpAnimationPlayer.prototype._onFinish = function () {\n        this._onDoneFns.forEach(function (fn) { return fn(); });\n        this._onDoneFns = [];\n    };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    NoOpAnimationPlayer.prototype.onStart = function (fn) { this._onStartFns.push(fn); };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    NoOpAnimationPlayer.prototype.onDone = function (fn) { this._onDoneFns.push(fn); };\n    /**\n     * @return {?}\n     */\n    NoOpAnimationPlayer.prototype.hasStarted = function () { return this._started; };\n    /**\n     * @return {?}\n     */\n    NoOpAnimationPlayer.prototype.init = function () { };\n    /**\n     * @return {?}\n     */\n    NoOpAnimationPlayer.prototype.play = function () {\n        if (!this.hasStarted()) {\n            this._onStartFns.forEach(function (fn) { return fn(); });\n            this._onStartFns = [];\n        }\n        this._started = true;\n    };\n    /**\n     * @return {?}\n     */\n    NoOpAnimationPlayer.prototype.pause = function () { };\n    /**\n     * @return {?}\n     */\n    NoOpAnimationPlayer.prototype.restart = function () { };\n    /**\n     * @return {?}\n     */\n    NoOpAnimationPlayer.prototype.finish = function () { this._onFinish(); };\n    /**\n     * @return {?}\n     */\n    NoOpAnimationPlayer.prototype.destroy = function () { };\n    /**\n     * @return {?}\n     */\n    NoOpAnimationPlayer.prototype.reset = function () { };\n    /**\n     * @param {?} p\n     * @return {?}\n     */\n    NoOpAnimationPlayer.prototype.setPosition = function (p) { };\n    /**\n     * @return {?}\n     */\n    NoOpAnimationPlayer.prototype.getPosition = function () { return 0; };\n    return NoOpAnimationPlayer;\n}());\nfunction NoOpAnimationPlayer_tsickle_Closure_declarations() {\n    /** @type {?} */\n    NoOpAnimationPlayer.prototype._onDoneFns;\n    /** @type {?} */\n    NoOpAnimationPlayer.prototype._onStartFns;\n    /** @type {?} */\n    NoOpAnimationPlayer.prototype._started;\n    /** @type {?} */\n    NoOpAnimationPlayer.prototype.parentPlayer;\n}\n//# sourceMappingURL=animation_player.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/animation/animation_player.js\n// module id = 272\n// module chunks = 0","/**\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 */\nimport { isPromise } from '../src/util/lang';\nimport { Inject, Injectable, OpaqueToken, Optional } from './di';\n/**\n * A function that will be executed when an application is initialized.\n * @experimental\n */\nexport var /** @type {?} */ APP_INITIALIZER = new OpaqueToken('Application Initializer');\n/**\n * A class that reflects the state of running {\\@link APP_INITIALIZER}s.\n *\n * \\@experimental\n */\nexport var ApplicationInitStatus = (function () {\n    /**\n     * @param {?} appInits\n     */\n    function ApplicationInitStatus(appInits) {\n        var _this = this;\n        this._done = false;\n        var asyncInitPromises = [];\n        if (appInits) {\n            for (var i = 0; i < appInits.length; i++) {\n                var initResult = appInits[i]();\n                if (isPromise(initResult)) {\n                    asyncInitPromises.push(initResult);\n                }\n            }\n        }\n        this._donePromise = Promise.all(asyncInitPromises).then(function () { _this._done = true; });\n        if (asyncInitPromises.length === 0) {\n            this._done = true;\n        }\n    }\n    Object.defineProperty(ApplicationInitStatus.prototype, \"done\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._done; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(ApplicationInitStatus.prototype, \"donePromise\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._donePromise; },\n        enumerable: true,\n        configurable: true\n    });\n    ApplicationInitStatus.decorators = [\n        { type: Injectable },\n    ];\n    /** @nocollapse */\n    ApplicationInitStatus.ctorParameters = function () { return [\n        { type: Array, decorators: [{ type: Inject, args: [APP_INITIALIZER,] }, { type: Optional },] },\n    ]; };\n    return ApplicationInitStatus;\n}());\nfunction ApplicationInitStatus_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ApplicationInitStatus.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    ApplicationInitStatus.ctorParameters;\n    /** @type {?} */\n    ApplicationInitStatus.prototype._donePromise;\n    /** @type {?} */\n    ApplicationInitStatus.prototype._done;\n}\n//# sourceMappingURL=application_init.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/application_init.js\n// module id = 273\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { ErrorHandler } from '../src/error_handler';\nimport { ListWrapper } from '../src/facade/collection';\nimport { stringify } from '../src/facade/lang';\nimport { isPromise } from '../src/util/lang';\nimport { ApplicationInitStatus } from './application_init';\nimport { APP_BOOTSTRAP_LISTENER, PLATFORM_INITIALIZER } from './application_tokens';\nimport { Console } from './console';\nimport { Injectable, Injector, OpaqueToken, Optional, ReflectiveInjector } from './di';\nimport { CompilerFactory } from './linker/compiler';\nimport { ComponentFactory } from './linker/component_factory';\nimport { ComponentFactoryResolver } from './linker/component_factory_resolver';\nimport { wtfCreateScope, wtfLeave } from './profile/profile';\nimport { Testability, TestabilityRegistry } from './testability/testability';\nimport { NgZone } from './zone/ng_zone';\nvar /** @type {?} */ _devMode = true;\nvar /** @type {?} */ _runModeLocked = false;\nvar /** @type {?} */ _platform;\n/**\n * Disable Angular's development mode, which turns off assertions and other\n * checks within the framework.\n *\n * One important assertion this disables verifies that a change detection pass\n * does not result in additional changes to any bindings (also known as\n * unidirectional data flow).\n *\n * \\@stable\n * @return {?}\n */\nexport function enableProdMode() {\n    if (_runModeLocked) {\n        throw new Error('Cannot enable prod mode after platform setup.');\n    }\n    _devMode = false;\n}\n/**\n * Returns whether Angular is in development mode. After called once,\n * the value is locked and won't change any more.\n *\n * By default, this is true, unless a user calls `enableProdMode` before calling this.\n *\n * \\@experimental APIs related to application bootstrap are currently under review.\n * @return {?}\n */\nexport function isDevMode() {\n    _runModeLocked = true;\n    return _devMode;\n}\n/**\n * A token for third-party components that can register themselves with NgProbe.\n *\n * \\@experimental\n */\nexport var NgProbeToken = (function () {\n    /**\n     * @param {?} name\n     * @param {?} token\n     */\n    function NgProbeToken(name, token) {\n        this.name = name;\n        this.token = token;\n    }\n    return NgProbeToken;\n}());\nfunction NgProbeToken_tsickle_Closure_declarations() {\n    /** @type {?} */\n    NgProbeToken.prototype.name;\n    /** @type {?} */\n    NgProbeToken.prototype.token;\n}\n/**\n * Creates a platform.\n * Platforms have to be eagerly created via this function.\n *\n * \\@experimental APIs related to application bootstrap are currently under review.\n * @param {?} injector\n * @return {?}\n */\nexport function createPlatform(injector) {\n    if (_platform && !_platform.destroyed) {\n        throw new Error('There can be only one platform. Destroy the previous one to create a new one.');\n    }\n    _platform = injector.get(PlatformRef);\n    var /** @type {?} */ inits = (injector.get(PLATFORM_INITIALIZER, null));\n    if (inits)\n        inits.forEach(function (init) { return init(); });\n    return _platform;\n}\n/**\n * Creates a factory for a platform\n *\n * \\@experimental APIs related to application bootstrap are currently under review.\n * @param {?} parentPlatformFactory\n * @param {?} name\n * @param {?=} providers\n * @return {?}\n */\nexport function createPlatformFactory(parentPlatformFactory, name, providers) {\n    if (providers === void 0) { providers = []; }\n    var /** @type {?} */ marker = new OpaqueToken(\"Platform: \" + name);\n    return function (extraProviders) {\n        if (extraProviders === void 0) { extraProviders = []; }\n        if (!getPlatform()) {\n            if (parentPlatformFactory) {\n                parentPlatformFactory(providers.concat(extraProviders).concat({ provide: marker, useValue: true }));\n            }\n            else {\n                createPlatform(ReflectiveInjector.resolveAndCreate(providers.concat(extraProviders).concat({ provide: marker, useValue: true })));\n            }\n        }\n        return assertPlatform(marker);\n    };\n}\n/**\n * Checks that there currently is a platform\n * which contains the given token as a provider.\n *\n * \\@experimental APIs related to application bootstrap are currently under review.\n * @param {?} requiredToken\n * @return {?}\n */\nexport function assertPlatform(requiredToken) {\n    var /** @type {?} */ platform = getPlatform();\n    if (!platform) {\n        throw new Error('No platform exists!');\n    }\n    if (!platform.injector.get(requiredToken, null)) {\n        throw new Error('A platform with a different configuration has been created. Please destroy it first.');\n    }\n    return platform;\n}\n/**\n * Destroy the existing platform.\n *\n * \\@experimental APIs related to application bootstrap are currently under review.\n * @return {?}\n */\nexport function destroyPlatform() {\n    if (_platform && !_platform.destroyed) {\n        _platform.destroy();\n    }\n}\n/**\n * Returns the current platform.\n *\n * \\@experimental APIs related to application bootstrap are currently under review.\n * @return {?}\n */\nexport function getPlatform() {\n    return _platform && !_platform.destroyed ? _platform : null;\n}\n/**\n * The Angular platform is the entry point for Angular on a web page. Each page\n * has exactly one platform, and services (such as reflection) which are common\n * to every Angular application running on the page are bound in its scope.\n *\n * A page's platform is initialized implicitly when {\\@link bootstrap}() is called, or\n * explicitly by calling {\\@link createPlatform}().\n *\n * \\@stable\n * @abstract\n */\nexport var PlatformRef = (function () {\n    function PlatformRef() {\n    }\n    /**\n     * Creates an instance of an `\\@NgModule` for the given platform\n     * for offline compilation.\n     *\n     * ## Simple Example\n     *\n     * ```typescript\n     * my_module.ts:\n     *\n     * \\@NgModule({\n     *   imports: [BrowserModule]\n     * })\n     * class MyModule {}\n     *\n     * main.ts:\n     * import {MyModuleNgFactory} from './my_module.ngfactory';\n     * import {platformBrowser} from '\\@angular/platform-browser';\n     *\n     * let moduleRef = platformBrowser().bootstrapModuleFactory(MyModuleNgFactory);\n     * ```\n     *\n     * \\@experimental APIs related to application bootstrap are currently under review.\n     * @abstract\n     * @param {?} moduleFactory\n     * @return {?}\n     */\n    PlatformRef.prototype.bootstrapModuleFactory = function (moduleFactory) { };\n    /**\n     * Creates an instance of an `\\@NgModule` for a given platform using the given runtime compiler.\n     *\n     * ## Simple Example\n     *\n     * ```typescript\n     * \\@NgModule({\n     *   imports: [BrowserModule]\n     * })\n     * class MyModule {}\n     *\n     * let moduleRef = platformBrowser().bootstrapModule(MyModule);\n     * ```\n     * \\@stable\n     * @abstract\n     * @param {?} moduleType\n     * @param {?=} compilerOptions\n     * @return {?}\n     */\n    PlatformRef.prototype.bootstrapModule = function (moduleType, compilerOptions) { };\n    /**\n     * Register a listener to be called when the platform is disposed.\n     * @abstract\n     * @param {?} callback\n     * @return {?}\n     */\n    PlatformRef.prototype.onDestroy = function (callback) { };\n    /**\n     * Retrieve the platform {\\@link Injector}, which is the parent injector for\n     * every Angular application on the page and provides singleton providers.\n     * @abstract\n     * @return {?}\n     */\n    PlatformRef.prototype.injector = function () { };\n    /**\n     * Destroy the Angular platform and all Angular applications on the page.\n     * @abstract\n     * @return {?}\n     */\n    PlatformRef.prototype.destroy = function () { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    PlatformRef.prototype.destroyed = function () { };\n    return PlatformRef;\n}());\n/**\n * @param {?} errorHandler\n * @param {?} callback\n * @return {?}\n */\nfunction _callAndReportToErrorHandler(errorHandler, callback) {\n    try {\n        var /** @type {?} */ result = callback();\n        if (isPromise(result)) {\n            return result.catch(function (e) {\n                errorHandler.handleError(e);\n                // rethrow as the exception handler might not do it\n                throw e;\n            });\n        }\n        return result;\n    }\n    catch (e) {\n        errorHandler.handleError(e);\n        // rethrow as the exception handler might not do it\n        throw e;\n    }\n}\nexport var PlatformRef_ = (function (_super) {\n    __extends(PlatformRef_, _super);\n    /**\n     * @param {?} _injector\n     */\n    function PlatformRef_(_injector) {\n        _super.call(this);\n        this._injector = _injector;\n        this._modules = [];\n        this._destroyListeners = [];\n        this._destroyed = false;\n    }\n    /**\n     * @param {?} callback\n     * @return {?}\n     */\n    PlatformRef_.prototype.onDestroy = function (callback) { this._destroyListeners.push(callback); };\n    Object.defineProperty(PlatformRef_.prototype, \"injector\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._injector; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(PlatformRef_.prototype, \"destroyed\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._destroyed; },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @return {?}\n     */\n    PlatformRef_.prototype.destroy = function () {\n        if (this._destroyed) {\n            throw new Error('The platform has already been destroyed!');\n        }\n        this._modules.slice().forEach(function (module) { return module.destroy(); });\n        this._destroyListeners.forEach(function (listener) { return listener(); });\n        this._destroyed = true;\n    };\n    /**\n     * @param {?} moduleFactory\n     * @return {?}\n     */\n    PlatformRef_.prototype.bootstrapModuleFactory = function (moduleFactory) {\n        return this._bootstrapModuleFactoryWithZone(moduleFactory, null);\n    };\n    /**\n     * @param {?} moduleFactory\n     * @param {?} ngZone\n     * @return {?}\n     */\n    PlatformRef_.prototype._bootstrapModuleFactoryWithZone = function (moduleFactory, ngZone) {\n        var _this = this;\n        // Note: We need to create the NgZone _before_ we instantiate the module,\n        // as instantiating the module creates some providers eagerly.\n        // So we create a mini parent injector that just contains the new NgZone and\n        // pass that as parent to the NgModuleFactory.\n        if (!ngZone)\n            ngZone = new NgZone({ enableLongStackTrace: isDevMode() });\n        // Attention: Don't use ApplicationRef.run here,\n        // as we want to be sure that all possible constructor calls are inside `ngZone.run`!\n        return ngZone.run(function () {\n            var /** @type {?} */ ngZoneInjector = ReflectiveInjector.resolveAndCreate([{ provide: NgZone, useValue: ngZone }], _this.injector);\n            var /** @type {?} */ moduleRef = (moduleFactory.create(ngZoneInjector));\n            var /** @type {?} */ exceptionHandler = moduleRef.injector.get(ErrorHandler, null);\n            if (!exceptionHandler) {\n                throw new Error('No ErrorHandler. Is platform module (BrowserModule) included?');\n            }\n            moduleRef.onDestroy(function () { return ListWrapper.remove(_this._modules, moduleRef); });\n            ngZone.onError.subscribe({ next: function (error) { exceptionHandler.handleError(error); } });\n            return _callAndReportToErrorHandler(exceptionHandler, function () {\n                var /** @type {?} */ initStatus = moduleRef.injector.get(ApplicationInitStatus);\n                return initStatus.donePromise.then(function () {\n                    _this._moduleDoBootstrap(moduleRef);\n                    return moduleRef;\n                });\n            });\n        });\n    };\n    /**\n     * @param {?} moduleType\n     * @param {?=} compilerOptions\n     * @return {?}\n     */\n    PlatformRef_.prototype.bootstrapModule = function (moduleType, compilerOptions) {\n        if (compilerOptions === void 0) { compilerOptions = []; }\n        return this._bootstrapModuleWithZone(moduleType, compilerOptions, null);\n    };\n    /**\n     * @param {?} moduleType\n     * @param {?=} compilerOptions\n     * @param {?} ngZone\n     * @param {?=} componentFactoryCallback\n     * @return {?}\n     */\n    PlatformRef_.prototype._bootstrapModuleWithZone = function (moduleType, compilerOptions, ngZone, componentFactoryCallback) {\n        var _this = this;\n        if (compilerOptions === void 0) { compilerOptions = []; }\n        var /** @type {?} */ compilerFactory = this.injector.get(CompilerFactory);\n        var /** @type {?} */ compiler = compilerFactory.createCompiler(Array.isArray(compilerOptions) ? compilerOptions : [compilerOptions]);\n        // ugly internal api hack: generate host component factories for all declared components and\n        // pass the factories into the callback - this is used by UpdateAdapter to get hold of all\n        // factories.\n        if (componentFactoryCallback) {\n            return compiler.compileModuleAndAllComponentsAsync(moduleType)\n                .then(function (_a) {\n                var ngModuleFactory = _a.ngModuleFactory, componentFactories = _a.componentFactories;\n                componentFactoryCallback(componentFactories);\n                return _this._bootstrapModuleFactoryWithZone(ngModuleFactory, ngZone);\n            });\n        }\n        return compiler.compileModuleAsync(moduleType)\n            .then(function (moduleFactory) { return _this._bootstrapModuleFactoryWithZone(moduleFactory, ngZone); });\n    };\n    /**\n     * @param {?} moduleRef\n     * @return {?}\n     */\n    PlatformRef_.prototype._moduleDoBootstrap = function (moduleRef) {\n        var /** @type {?} */ appRef = moduleRef.injector.get(ApplicationRef);\n        if (moduleRef.bootstrapFactories.length > 0) {\n            moduleRef.bootstrapFactories.forEach(function (compFactory) { return appRef.bootstrap(compFactory); });\n        }\n        else if (moduleRef.instance.ngDoBootstrap) {\n            moduleRef.instance.ngDoBootstrap(appRef);\n        }\n        else {\n            throw new Error((\"The module \" + stringify(moduleRef.instance.constructor) + \" was bootstrapped, but it does not declare \\\"@NgModule.bootstrap\\\" components nor a \\\"ngDoBootstrap\\\" method. \") +\n                \"Please define one of these.\");\n        }\n        this._modules.push(moduleRef);\n    };\n    PlatformRef_.decorators = [\n        { type: Injectable },\n    ];\n    /** @nocollapse */\n    PlatformRef_.ctorParameters = function () { return [\n        { type: Injector, },\n    ]; };\n    return PlatformRef_;\n}(PlatformRef));\nfunction PlatformRef__tsickle_Closure_declarations() {\n    /** @type {?} */\n    PlatformRef_.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    PlatformRef_.ctorParameters;\n    /** @type {?} */\n    PlatformRef_.prototype._modules;\n    /** @type {?} */\n    PlatformRef_.prototype._destroyListeners;\n    /** @type {?} */\n    PlatformRef_.prototype._destroyed;\n    /** @type {?} */\n    PlatformRef_.prototype._injector;\n}\n/**\n * A reference to an Angular application running on a page.\n *\n * For more about Angular applications, see the documentation for {\\@link bootstrap}.\n *\n * \\@stable\n * @abstract\n */\nexport var ApplicationRef = (function () {\n    function ApplicationRef() {\n    }\n    /**\n     * Bootstrap a new component at the root level of the application.\n     *\n     * ### Bootstrap process\n     *\n     * When bootstrapping a new root component into an application, Angular mounts the\n     * specified application component onto DOM elements identified by the [componentType]'s\n     * selector and kicks off automatic change detection to finish initializing the component.\n     *\n     * ### Example\n     * {\\@example core/ts/platform/platform.ts region='longform'}\n     * @abstract\n     * @param {?} componentFactory\n     * @return {?}\n     */\n    ApplicationRef.prototype.bootstrap = function (componentFactory) { };\n    /**\n     * Invoke this method to explicitly process change detection and its side-effects.\n     *\n     * In development mode, `tick()` also performs a second change detection cycle to ensure that no\n     * further changes are detected. If additional changes are picked up during this second cycle,\n     * bindings in the app have side-effects that cannot be resolved in a single change detection\n     * pass.\n     * In this case, Angular throws an error, since an Angular application can only have one change\n     * detection pass during which all change detection must complete.\n     * @abstract\n     * @return {?}\n     */\n    ApplicationRef.prototype.tick = function () { };\n    /**\n     * Get a list of component types registered to this application.\n     * This list is populated even before the component is created.\n     * @abstract\n     * @return {?}\n     */\n    ApplicationRef.prototype.componentTypes = function () { };\n    /**\n     * Get a list of components registered to this application.\n     * @abstract\n     * @return {?}\n     */\n    ApplicationRef.prototype.components = function () { };\n    /**\n     * Attaches a view so that it will be dirty checked.\n     * The view will be automatically detached when it is destroyed.\n     * This will throw if the view is already attached to a ViewContainer.\n     * @abstract\n     * @param {?} view\n     * @return {?}\n     */\n    ApplicationRef.prototype.attachView = function (view) { };\n    /**\n     * Detaches a view from dirty checking again.\n     * @abstract\n     * @param {?} view\n     * @return {?}\n     */\n    ApplicationRef.prototype.detachView = function (view) { };\n    /**\n     * Returns the number of attached views.\n     * @abstract\n     * @return {?}\n     */\n    ApplicationRef.prototype.viewCount = function () { };\n    return ApplicationRef;\n}());\nexport var ApplicationRef_ = (function (_super) {\n    __extends(ApplicationRef_, _super);\n    /**\n     * @param {?} _zone\n     * @param {?} _console\n     * @param {?} _injector\n     * @param {?} _exceptionHandler\n     * @param {?} _componentFactoryResolver\n     * @param {?} _initStatus\n     * @param {?} _testabilityRegistry\n     * @param {?} _testability\n     */\n    function ApplicationRef_(_zone, _console, _injector, _exceptionHandler, _componentFactoryResolver, _initStatus, _testabilityRegistry, _testability) {\n        var _this = this;\n        _super.call(this);\n        this._zone = _zone;\n        this._console = _console;\n        this._injector = _injector;\n        this._exceptionHandler = _exceptionHandler;\n        this._componentFactoryResolver = _componentFactoryResolver;\n        this._initStatus = _initStatus;\n        this._testabilityRegistry = _testabilityRegistry;\n        this._testability = _testability;\n        this._bootstrapListeners = [];\n        this._rootComponents = [];\n        this._rootComponentTypes = [];\n        this._views = [];\n        this._runningTick = false;\n        this._enforceNoNewChanges = false;\n        this._enforceNoNewChanges = isDevMode();\n        this._zone.onMicrotaskEmpty.subscribe({ next: function () { _this._zone.run(function () { _this.tick(); }); } });\n    }\n    /**\n     * @param {?} viewRef\n     * @return {?}\n     */\n    ApplicationRef_.prototype.attachView = function (viewRef) {\n        var /** @type {?} */ view = ((viewRef)).internalView;\n        this._views.push(view);\n        view.attachToAppRef(this);\n    };\n    /**\n     * @param {?} viewRef\n     * @return {?}\n     */\n    ApplicationRef_.prototype.detachView = function (viewRef) {\n        var /** @type {?} */ view = ((viewRef)).internalView;\n        ListWrapper.remove(this._views, view);\n        view.detach();\n    };\n    /**\n     * @param {?} componentOrFactory\n     * @return {?}\n     */\n    ApplicationRef_.prototype.bootstrap = function (componentOrFactory) {\n        var _this = this;\n        if (!this._initStatus.done) {\n            throw new Error('Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.');\n        }\n        var /** @type {?} */ componentFactory;\n        if (componentOrFactory instanceof ComponentFactory) {\n            componentFactory = componentOrFactory;\n        }\n        else {\n            componentFactory = this._componentFactoryResolver.resolveComponentFactory(componentOrFactory);\n        }\n        this._rootComponentTypes.push(componentFactory.componentType);\n        var /** @type {?} */ compRef = componentFactory.create(this._injector, [], componentFactory.selector);\n        compRef.onDestroy(function () { _this._unloadComponent(compRef); });\n        var /** @type {?} */ testability = compRef.injector.get(Testability, null);\n        if (testability) {\n            compRef.injector.get(TestabilityRegistry)\n                .registerApplication(compRef.location.nativeElement, testability);\n        }\n        this._loadComponent(compRef);\n        if (isDevMode()) {\n            this._console.log(\"Angular is running in the development mode. Call enableProdMode() to enable the production mode.\");\n        }\n        return compRef;\n    };\n    /**\n     * @param {?} componentRef\n     * @return {?}\n     */\n    ApplicationRef_.prototype._loadComponent = function (componentRef) {\n        this.attachView(componentRef.hostView);\n        this.tick();\n        this._rootComponents.push(componentRef);\n        // Get the listeners lazily to prevent DI cycles.\n        var /** @type {?} */ listeners = (this._injector.get(APP_BOOTSTRAP_LISTENER, [])\n            .concat(this._bootstrapListeners));\n        listeners.forEach(function (listener) { return listener(componentRef); });\n    };\n    /**\n     * @param {?} componentRef\n     * @return {?}\n     */\n    ApplicationRef_.prototype._unloadComponent = function (componentRef) {\n        this.detachView(componentRef.hostView);\n        ListWrapper.remove(this._rootComponents, componentRef);\n    };\n    /**\n     * @return {?}\n     */\n    ApplicationRef_.prototype.tick = function () {\n        if (this._runningTick) {\n            throw new Error('ApplicationRef.tick is called recursively');\n        }\n        var /** @type {?} */ scope = ApplicationRef_._tickScope();\n        try {\n            this._runningTick = true;\n            this._views.forEach(function (view) { return view.ref.detectChanges(); });\n            if (this._enforceNoNewChanges) {\n                this._views.forEach(function (view) { return view.ref.checkNoChanges(); });\n            }\n        }\n        finally {\n            this._runningTick = false;\n            wtfLeave(scope);\n        }\n    };\n    /**\n     * @return {?}\n     */\n    ApplicationRef_.prototype.ngOnDestroy = function () {\n        // TODO(alxhub): Dispose of the NgZone.\n        this._views.slice().forEach(function (view) { return view.destroy(); });\n    };\n    Object.defineProperty(ApplicationRef_.prototype, \"viewCount\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._views.length; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(ApplicationRef_.prototype, \"componentTypes\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._rootComponentTypes; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(ApplicationRef_.prototype, \"components\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._rootComponents; },\n        enumerable: true,\n        configurable: true\n    });\n    /** @internal */\n    ApplicationRef_._tickScope = wtfCreateScope('ApplicationRef#tick()');\n    ApplicationRef_.decorators = [\n        { type: Injectable },\n    ];\n    /** @nocollapse */\n    ApplicationRef_.ctorParameters = function () { return [\n        { type: NgZone, },\n        { type: Console, },\n        { type: Injector, },\n        { type: ErrorHandler, },\n        { type: ComponentFactoryResolver, },\n        { type: ApplicationInitStatus, },\n        { type: TestabilityRegistry, decorators: [{ type: Optional },] },\n        { type: Testability, decorators: [{ type: Optional },] },\n    ]; };\n    return ApplicationRef_;\n}(ApplicationRef));\nfunction ApplicationRef__tsickle_Closure_declarations() {\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    ApplicationRef_._tickScope;\n    /** @type {?} */\n    ApplicationRef_.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    ApplicationRef_.ctorParameters;\n    /** @type {?} */\n    ApplicationRef_.prototype._bootstrapListeners;\n    /** @type {?} */\n    ApplicationRef_.prototype._rootComponents;\n    /** @type {?} */\n    ApplicationRef_.prototype._rootComponentTypes;\n    /** @type {?} */\n    ApplicationRef_.prototype._views;\n    /** @type {?} */\n    ApplicationRef_.prototype._runningTick;\n    /** @type {?} */\n    ApplicationRef_.prototype._enforceNoNewChanges;\n    /** @type {?} */\n    ApplicationRef_.prototype._zone;\n    /** @type {?} */\n    ApplicationRef_.prototype._console;\n    /** @type {?} */\n    ApplicationRef_.prototype._injector;\n    /** @type {?} */\n    ApplicationRef_.prototype._exceptionHandler;\n    /** @type {?} */\n    ApplicationRef_.prototype._componentFactoryResolver;\n    /** @type {?} */\n    ApplicationRef_.prototype._initStatus;\n    /** @type {?} */\n    ApplicationRef_.prototype._testabilityRegistry;\n    /** @type {?} */\n    ApplicationRef_.prototype._testability;\n}\n//# sourceMappingURL=application_ref.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/application_ref.js\n// module id = 274\n// module chunks = 0","/**\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 */\nimport { isListLikeIterable, iterateListLike } from '../../facade/collection';\nimport { isBlank, looseIdentical, stringify } from '../../facade/lang';\nexport var DefaultIterableDifferFactory = (function () {\n    function DefaultIterableDifferFactory() {\n    }\n    /**\n     * @param {?} obj\n     * @return {?}\n     */\n    DefaultIterableDifferFactory.prototype.supports = function (obj) { return isListLikeIterable(obj); };\n    /**\n     * @param {?} cdRef\n     * @param {?=} trackByFn\n     * @return {?}\n     */\n    DefaultIterableDifferFactory.prototype.create = function (cdRef, trackByFn) {\n        return new DefaultIterableDiffer(trackByFn);\n    };\n    return DefaultIterableDifferFactory;\n}());\nvar /** @type {?} */ trackByIdentity = function (index, item) { return item; };\n/**\n * \\@stable\n */\nexport var DefaultIterableDiffer = (function () {\n    /**\n     * @param {?=} _trackByFn\n     */\n    function DefaultIterableDiffer(_trackByFn) {\n        this._trackByFn = _trackByFn;\n        this._length = null;\n        this._collection = null;\n        this._linkedRecords = null;\n        this._unlinkedRecords = null;\n        this._previousItHead = null;\n        this._itHead = null;\n        this._itTail = null;\n        this._additionsHead = null;\n        this._additionsTail = null;\n        this._movesHead = null;\n        this._movesTail = null;\n        this._removalsHead = null;\n        this._removalsTail = null;\n        this._identityChangesHead = null;\n        this._identityChangesTail = null;\n        this._trackByFn = this._trackByFn || trackByIdentity;\n    }\n    Object.defineProperty(DefaultIterableDiffer.prototype, \"collection\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._collection; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(DefaultIterableDiffer.prototype, \"length\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._length; },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    DefaultIterableDiffer.prototype.forEachItem = function (fn) {\n        var /** @type {?} */ record;\n        for (record = this._itHead; record !== null; record = record._next) {\n            fn(record);\n        }\n    };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    DefaultIterableDiffer.prototype.forEachOperation = function (fn) {\n        var /** @type {?} */ nextIt = this._itHead;\n        var /** @type {?} */ nextRemove = this._removalsHead;\n        var /** @type {?} */ addRemoveOffset = 0;\n        var /** @type {?} */ moveOffsets = null;\n        while (nextIt || nextRemove) {\n            // Figure out which is the next record to process\n            // Order: remove, add, move\n            var /** @type {?} */ record = !nextRemove ||\n                nextIt &&\n                    nextIt.currentIndex < getPreviousIndex(nextRemove, addRemoveOffset, moveOffsets) ?\n                nextIt :\n                nextRemove;\n            var /** @type {?} */ adjPreviousIndex = getPreviousIndex(record, addRemoveOffset, moveOffsets);\n            var /** @type {?} */ currentIndex = record.currentIndex;\n            // consume the item, and adjust the addRemoveOffset and update moveDistance if necessary\n            if (record === nextRemove) {\n                addRemoveOffset--;\n                nextRemove = nextRemove._nextRemoved;\n            }\n            else {\n                nextIt = nextIt._next;\n                if (record.previousIndex == null) {\n                    addRemoveOffset++;\n                }\n                else {\n                    // INVARIANT:  currentIndex < previousIndex\n                    if (!moveOffsets)\n                        moveOffsets = [];\n                    var /** @type {?} */ localMovePreviousIndex = adjPreviousIndex - addRemoveOffset;\n                    var /** @type {?} */ localCurrentIndex = currentIndex - addRemoveOffset;\n                    if (localMovePreviousIndex != localCurrentIndex) {\n                        for (var /** @type {?} */ i = 0; i < localMovePreviousIndex; i++) {\n                            var /** @type {?} */ offset = i < moveOffsets.length ? moveOffsets[i] : (moveOffsets[i] = 0);\n                            var /** @type {?} */ index = offset + i;\n                            if (localCurrentIndex <= index && index < localMovePreviousIndex) {\n                                moveOffsets[i] = offset + 1;\n                            }\n                        }\n                        var /** @type {?} */ previousIndex = record.previousIndex;\n                        moveOffsets[previousIndex] = localCurrentIndex - localMovePreviousIndex;\n                    }\n                }\n            }\n            if (adjPreviousIndex !== currentIndex) {\n                fn(record, adjPreviousIndex, currentIndex);\n            }\n        }\n    };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    DefaultIterableDiffer.prototype.forEachPreviousItem = function (fn) {\n        var /** @type {?} */ record;\n        for (record = this._previousItHead; record !== null; record = record._nextPrevious) {\n            fn(record);\n        }\n    };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    DefaultIterableDiffer.prototype.forEachAddedItem = function (fn) {\n        var /** @type {?} */ record;\n        for (record = this._additionsHead; record !== null; record = record._nextAdded) {\n            fn(record);\n        }\n    };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    DefaultIterableDiffer.prototype.forEachMovedItem = function (fn) {\n        var /** @type {?} */ record;\n        for (record = this._movesHead; record !== null; record = record._nextMoved) {\n            fn(record);\n        }\n    };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    DefaultIterableDiffer.prototype.forEachRemovedItem = function (fn) {\n        var /** @type {?} */ record;\n        for (record = this._removalsHead; record !== null; record = record._nextRemoved) {\n            fn(record);\n        }\n    };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    DefaultIterableDiffer.prototype.forEachIdentityChange = function (fn) {\n        var /** @type {?} */ record;\n        for (record = this._identityChangesHead; record !== null; record = record._nextIdentityChange) {\n            fn(record);\n        }\n    };\n    /**\n     * @param {?} collection\n     * @return {?}\n     */\n    DefaultIterableDiffer.prototype.diff = function (collection) {\n        if (isBlank(collection))\n            collection = [];\n        if (!isListLikeIterable(collection)) {\n            throw new Error(\"Error trying to diff '\" + collection + \"'\");\n        }\n        if (this.check(collection)) {\n            return this;\n        }\n        else {\n            return null;\n        }\n    };\n    /**\n     * @return {?}\n     */\n    DefaultIterableDiffer.prototype.onDestroy = function () { };\n    /**\n     * @param {?} collection\n     * @return {?}\n     */\n    DefaultIterableDiffer.prototype.check = function (collection) {\n        var _this = this;\n        this._reset();\n        var /** @type {?} */ record = this._itHead;\n        var /** @type {?} */ mayBeDirty = false;\n        var /** @type {?} */ index;\n        var /** @type {?} */ item;\n        var /** @type {?} */ itemTrackBy;\n        if (Array.isArray(collection)) {\n            var /** @type {?} */ list = collection;\n            this._length = collection.length;\n            for (var /** @type {?} */ index_1 = 0; index_1 < this._length; index_1++) {\n                item = list[index_1];\n                itemTrackBy = this._trackByFn(index_1, item);\n                if (record === null || !looseIdentical(record.trackById, itemTrackBy)) {\n                    record = this._mismatch(record, item, itemTrackBy, index_1);\n                    mayBeDirty = true;\n                }\n                else {\n                    if (mayBeDirty) {\n                        // TODO(misko): can we limit this to duplicates only?\n                        record = this._verifyReinsertion(record, item, itemTrackBy, index_1);\n                    }\n                    if (!looseIdentical(record.item, item))\n                        this._addIdentityChange(record, item);\n                }\n                record = record._next;\n            }\n        }\n        else {\n            index = 0;\n            iterateListLike(collection, function (item /** TODO #9100 */) {\n                itemTrackBy = _this._trackByFn(index, item);\n                if (record === null || !looseIdentical(record.trackById, itemTrackBy)) {\n                    record = _this._mismatch(record, item, itemTrackBy, index);\n                    mayBeDirty = true;\n                }\n                else {\n                    if (mayBeDirty) {\n                        // TODO(misko): can we limit this to duplicates only?\n                        record = _this._verifyReinsertion(record, item, itemTrackBy, index);\n                    }\n                    if (!looseIdentical(record.item, item))\n                        _this._addIdentityChange(record, item);\n                }\n                record = record._next;\n                index++;\n            });\n            this._length = index;\n        }\n        this._truncate(record);\n        this._collection = collection;\n        return this.isDirty;\n    };\n    Object.defineProperty(DefaultIterableDiffer.prototype, \"isDirty\", {\n        /**\n         * @return {?}\n         */\n        get: function () {\n            return this._additionsHead !== null || this._movesHead !== null ||\n                this._removalsHead !== null || this._identityChangesHead !== null;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * Reset the state of the change objects to show no changes. This means set previousKey to\n     * currentKey, and clear all of the queues (additions, moves, removals).\n     * Set the previousIndexes of moved and added items to their currentIndexes\n     * Reset the list of additions, moves and removals\n     *\n     * \\@internal\n     * @return {?}\n     */\n    DefaultIterableDiffer.prototype._reset = function () {\n        if (this.isDirty) {\n            var /** @type {?} */ record = void 0;\n            var /** @type {?} */ nextRecord = void 0;\n            for (record = this._previousItHead = this._itHead; record !== null; record = record._next) {\n                record._nextPrevious = record._next;\n            }\n            for (record = this._additionsHead; record !== null; record = record._nextAdded) {\n                record.previousIndex = record.currentIndex;\n            }\n            this._additionsHead = this._additionsTail = null;\n            for (record = this._movesHead; record !== null; record = nextRecord) {\n                record.previousIndex = record.currentIndex;\n                nextRecord = record._nextMoved;\n            }\n            this._movesHead = this._movesTail = null;\n            this._removalsHead = this._removalsTail = null;\n            this._identityChangesHead = this._identityChangesTail = null;\n        }\n    };\n    /**\n     * This is the core function which handles differences between collections.\n     *\n     * - `record` is the record which we saw at this position last time. If null then it is a new\n     *   item.\n     * - `item` is the current item in the collection\n     * - `index` is the position of the item in the collection\n     *\n     * \\@internal\n     * @param {?} record\n     * @param {?} item\n     * @param {?} itemTrackBy\n     * @param {?} index\n     * @return {?}\n     */\n    DefaultIterableDiffer.prototype._mismatch = function (record, item, itemTrackBy, index) {\n        // The previous record after which we will append the current one.\n        var /** @type {?} */ previousRecord;\n        if (record === null) {\n            previousRecord = this._itTail;\n        }\n        else {\n            previousRecord = record._prev;\n            // Remove the record from the collection since we know it does not match the item.\n            this._remove(record);\n        }\n        // Attempt to see if we have seen the item before.\n        record = this._linkedRecords === null ? null : this._linkedRecords.get(itemTrackBy, index);\n        if (record !== null) {\n            // We have seen this before, we need to move it forward in the collection.\n            // But first we need to check if identity changed, so we can update in view if necessary\n            if (!looseIdentical(record.item, item))\n                this._addIdentityChange(record, item);\n            this._moveAfter(record, previousRecord, index);\n        }\n        else {\n            // Never seen it, check evicted list.\n            record = this._unlinkedRecords === null ? null : this._unlinkedRecords.get(itemTrackBy);\n            if (record !== null) {\n                // It is an item which we have evicted earlier: reinsert it back into the list.\n                // But first we need to check if identity changed, so we can update in view if necessary\n                if (!looseIdentical(record.item, item))\n                    this._addIdentityChange(record, item);\n                this._reinsertAfter(record, previousRecord, index);\n            }\n            else {\n                // It is a new item: add it.\n                record =\n                    this._addAfter(new CollectionChangeRecord(item, itemTrackBy), previousRecord, index);\n            }\n        }\n        return record;\n    };\n    /**\n     * This check is only needed if an array contains duplicates. (Short circuit of nothing dirty)\n     *\n     * Use case: `[a, a]` => `[b, a, a]`\n     *\n     * If we did not have this check then the insertion of `b` would:\n     *   1) evict first `a`\n     *   2) insert `b` at `0` index.\n     *   3) leave `a` at index `1` as is. <-- this is wrong!\n     *   3) reinsert `a` at index 2. <-- this is wrong!\n     *\n     * The correct behavior is:\n     *   1) evict first `a`\n     *   2) insert `b` at `0` index.\n     *   3) reinsert `a` at index 1.\n     *   3) move `a` at from `1` to `2`.\n     *\n     *\n     * Double check that we have not evicted a duplicate item. We need to check if the item type may\n     * have already been removed:\n     * The insertion of b will evict the first 'a'. If we don't reinsert it now it will be reinserted\n     * at the end. Which will show up as the two 'a's switching position. This is incorrect, since a\n     * better way to think of it is as insert of 'b' rather then switch 'a' with 'b' and then add 'a'\n     * at the end.\n     *\n     * \\@internal\n     * @param {?} record\n     * @param {?} item\n     * @param {?} itemTrackBy\n     * @param {?} index\n     * @return {?}\n     */\n    DefaultIterableDiffer.prototype._verifyReinsertion = function (record, item, itemTrackBy, index) {\n        var /** @type {?} */ reinsertRecord = this._unlinkedRecords === null ? null : this._unlinkedRecords.get(itemTrackBy);\n        if (reinsertRecord !== null) {\n            record = this._reinsertAfter(reinsertRecord, record._prev, index);\n        }\n        else if (record.currentIndex != index) {\n            record.currentIndex = index;\n            this._addToMoves(record, index);\n        }\n        return record;\n    };\n    /**\n     * Get rid of any excess {\\@link CollectionChangeRecord}s from the previous collection\n     *\n     * - `record` The first excess {\\@link CollectionChangeRecord}.\n     *\n     * \\@internal\n     * @param {?} record\n     * @return {?}\n     */\n    DefaultIterableDiffer.prototype._truncate = function (record) {\n        // Anything after that needs to be removed;\n        while (record !== null) {\n            var /** @type {?} */ nextRecord = record._next;\n            this._addToRemovals(this._unlink(record));\n            record = nextRecord;\n        }\n        if (this._unlinkedRecords !== null) {\n            this._unlinkedRecords.clear();\n        }\n        if (this._additionsTail !== null) {\n            this._additionsTail._nextAdded = null;\n        }\n        if (this._movesTail !== null) {\n            this._movesTail._nextMoved = null;\n        }\n        if (this._itTail !== null) {\n            this._itTail._next = null;\n        }\n        if (this._removalsTail !== null) {\n            this._removalsTail._nextRemoved = null;\n        }\n        if (this._identityChangesTail !== null) {\n            this._identityChangesTail._nextIdentityChange = null;\n        }\n    };\n    /**\n     * \\@internal\n     * @param {?} record\n     * @param {?} prevRecord\n     * @param {?} index\n     * @return {?}\n     */\n    DefaultIterableDiffer.prototype._reinsertAfter = function (record, prevRecord, index) {\n        if (this._unlinkedRecords !== null) {\n            this._unlinkedRecords.remove(record);\n        }\n        var /** @type {?} */ prev = record._prevRemoved;\n        var /** @type {?} */ next = record._nextRemoved;\n        if (prev === null) {\n            this._removalsHead = next;\n        }\n        else {\n            prev._nextRemoved = next;\n        }\n        if (next === null) {\n            this._removalsTail = prev;\n        }\n        else {\n            next._prevRemoved = prev;\n        }\n        this._insertAfter(record, prevRecord, index);\n        this._addToMoves(record, index);\n        return record;\n    };\n    /**\n     * \\@internal\n     * @param {?} record\n     * @param {?} prevRecord\n     * @param {?} index\n     * @return {?}\n     */\n    DefaultIterableDiffer.prototype._moveAfter = function (record, prevRecord, index) {\n        this._unlink(record);\n        this._insertAfter(record, prevRecord, index);\n        this._addToMoves(record, index);\n        return record;\n    };\n    /**\n     * \\@internal\n     * @param {?} record\n     * @param {?} prevRecord\n     * @param {?} index\n     * @return {?}\n     */\n    DefaultIterableDiffer.prototype._addAfter = function (record, prevRecord, index) {\n        this._insertAfter(record, prevRecord, index);\n        if (this._additionsTail === null) {\n            // todo(vicb)\n            // assert(this._additionsHead === null);\n            this._additionsTail = this._additionsHead = record;\n        }\n        else {\n            // todo(vicb)\n            // assert(_additionsTail._nextAdded === null);\n            // assert(record._nextAdded === null);\n            this._additionsTail = this._additionsTail._nextAdded = record;\n        }\n        return record;\n    };\n    /**\n     * \\@internal\n     * @param {?} record\n     * @param {?} prevRecord\n     * @param {?} index\n     * @return {?}\n     */\n    DefaultIterableDiffer.prototype._insertAfter = function (record, prevRecord, index) {\n        // todo(vicb)\n        // assert(record != prevRecord);\n        // assert(record._next === null);\n        // assert(record._prev === null);\n        var /** @type {?} */ next = prevRecord === null ? this._itHead : prevRecord._next;\n        // todo(vicb)\n        // assert(next != record);\n        // assert(prevRecord != record);\n        record._next = next;\n        record._prev = prevRecord;\n        if (next === null) {\n            this._itTail = record;\n        }\n        else {\n            next._prev = record;\n        }\n        if (prevRecord === null) {\n            this._itHead = record;\n        }\n        else {\n            prevRecord._next = record;\n        }\n        if (this._linkedRecords === null) {\n            this._linkedRecords = new _DuplicateMap();\n        }\n        this._linkedRecords.put(record);\n        record.currentIndex = index;\n        return record;\n    };\n    /**\n     * \\@internal\n     * @param {?} record\n     * @return {?}\n     */\n    DefaultIterableDiffer.prototype._remove = function (record) {\n        return this._addToRemovals(this._unlink(record));\n    };\n    /**\n     * \\@internal\n     * @param {?} record\n     * @return {?}\n     */\n    DefaultIterableDiffer.prototype._unlink = function (record) {\n        if (this._linkedRecords !== null) {\n            this._linkedRecords.remove(record);\n        }\n        var /** @type {?} */ prev = record._prev;\n        var /** @type {?} */ next = record._next;\n        // todo(vicb)\n        // assert((record._prev = null) === null);\n        // assert((record._next = null) === null);\n        if (prev === null) {\n            this._itHead = next;\n        }\n        else {\n            prev._next = next;\n        }\n        if (next === null) {\n            this._itTail = prev;\n        }\n        else {\n            next._prev = prev;\n        }\n        return record;\n    };\n    /**\n     * \\@internal\n     * @param {?} record\n     * @param {?} toIndex\n     * @return {?}\n     */\n    DefaultIterableDiffer.prototype._addToMoves = function (record, toIndex) {\n        // todo(vicb)\n        // assert(record._nextMoved === null);\n        if (record.previousIndex === toIndex) {\n            return record;\n        }\n        if (this._movesTail === null) {\n            // todo(vicb)\n            // assert(_movesHead === null);\n            this._movesTail = this._movesHead = record;\n        }\n        else {\n            // todo(vicb)\n            // assert(_movesTail._nextMoved === null);\n            this._movesTail = this._movesTail._nextMoved = record;\n        }\n        return record;\n    };\n    /**\n     * \\@internal\n     * @param {?} record\n     * @return {?}\n     */\n    DefaultIterableDiffer.prototype._addToRemovals = function (record) {\n        if (this._unlinkedRecords === null) {\n            this._unlinkedRecords = new _DuplicateMap();\n        }\n        this._unlinkedRecords.put(record);\n        record.currentIndex = null;\n        record._nextRemoved = null;\n        if (this._removalsTail === null) {\n            // todo(vicb)\n            // assert(_removalsHead === null);\n            this._removalsTail = this._removalsHead = record;\n            record._prevRemoved = null;\n        }\n        else {\n            // todo(vicb)\n            // assert(_removalsTail._nextRemoved === null);\n            // assert(record._nextRemoved === null);\n            record._prevRemoved = this._removalsTail;\n            this._removalsTail = this._removalsTail._nextRemoved = record;\n        }\n        return record;\n    };\n    /**\n     * \\@internal\n     * @param {?} record\n     * @param {?} item\n     * @return {?}\n     */\n    DefaultIterableDiffer.prototype._addIdentityChange = function (record, item) {\n        record.item = item;\n        if (this._identityChangesTail === null) {\n            this._identityChangesTail = this._identityChangesHead = record;\n        }\n        else {\n            this._identityChangesTail = this._identityChangesTail._nextIdentityChange = record;\n        }\n        return record;\n    };\n    /**\n     * @return {?}\n     */\n    DefaultIterableDiffer.prototype.toString = function () {\n        var /** @type {?} */ list = [];\n        this.forEachItem(function (record /** TODO #9100 */) { return list.push(record); });\n        var /** @type {?} */ previous = [];\n        this.forEachPreviousItem(function (record /** TODO #9100 */) { return previous.push(record); });\n        var /** @type {?} */ additions = [];\n        this.forEachAddedItem(function (record /** TODO #9100 */) { return additions.push(record); });\n        var /** @type {?} */ moves = [];\n        this.forEachMovedItem(function (record /** TODO #9100 */) { return moves.push(record); });\n        var /** @type {?} */ removals = [];\n        this.forEachRemovedItem(function (record /** TODO #9100 */) { return removals.push(record); });\n        var /** @type {?} */ identityChanges = [];\n        this.forEachIdentityChange(function (record /** TODO #9100 */) { return identityChanges.push(record); });\n        return 'collection: ' + list.join(', ') + '\\n' +\n            'previous: ' + previous.join(', ') + '\\n' +\n            'additions: ' + additions.join(', ') + '\\n' +\n            'moves: ' + moves.join(', ') + '\\n' +\n            'removals: ' + removals.join(', ') + '\\n' +\n            'identityChanges: ' + identityChanges.join(', ') + '\\n';\n    };\n    return DefaultIterableDiffer;\n}());\nfunction DefaultIterableDiffer_tsickle_Closure_declarations() {\n    /** @type {?} */\n    DefaultIterableDiffer.prototype._length;\n    /** @type {?} */\n    DefaultIterableDiffer.prototype._collection;\n    /** @type {?} */\n    DefaultIterableDiffer.prototype._linkedRecords;\n    /** @type {?} */\n    DefaultIterableDiffer.prototype._unlinkedRecords;\n    /** @type {?} */\n    DefaultIterableDiffer.prototype._previousItHead;\n    /** @type {?} */\n    DefaultIterableDiffer.prototype._itHead;\n    /** @type {?} */\n    DefaultIterableDiffer.prototype._itTail;\n    /** @type {?} */\n    DefaultIterableDiffer.prototype._additionsHead;\n    /** @type {?} */\n    DefaultIterableDiffer.prototype._additionsTail;\n    /** @type {?} */\n    DefaultIterableDiffer.prototype._movesHead;\n    /** @type {?} */\n    DefaultIterableDiffer.prototype._movesTail;\n    /** @type {?} */\n    DefaultIterableDiffer.prototype._removalsHead;\n    /** @type {?} */\n    DefaultIterableDiffer.prototype._removalsTail;\n    /** @type {?} */\n    DefaultIterableDiffer.prototype._identityChangesHead;\n    /** @type {?} */\n    DefaultIterableDiffer.prototype._identityChangesTail;\n    /** @type {?} */\n    DefaultIterableDiffer.prototype._trackByFn;\n}\n/**\n * \\@stable\n */\nexport var CollectionChangeRecord = (function () {\n    /**\n     * @param {?} item\n     * @param {?} trackById\n     */\n    function CollectionChangeRecord(item, trackById) {\n        this.item = item;\n        this.trackById = trackById;\n        this.currentIndex = null;\n        this.previousIndex = null;\n        /** @internal */\n        this._nextPrevious = null;\n        /** @internal */\n        this._prev = null;\n        /** @internal */\n        this._next = null;\n        /** @internal */\n        this._prevDup = null;\n        /** @internal */\n        this._nextDup = null;\n        /** @internal */\n        this._prevRemoved = null;\n        /** @internal */\n        this._nextRemoved = null;\n        /** @internal */\n        this._nextAdded = null;\n        /** @internal */\n        this._nextMoved = null;\n        /** @internal */\n        this._nextIdentityChange = null;\n    }\n    /**\n     * @return {?}\n     */\n    CollectionChangeRecord.prototype.toString = function () {\n        return this.previousIndex === this.currentIndex ? stringify(this.item) :\n            stringify(this.item) + '[' +\n                stringify(this.previousIndex) + '->' + stringify(this.currentIndex) + ']';\n    };\n    return CollectionChangeRecord;\n}());\nfunction CollectionChangeRecord_tsickle_Closure_declarations() {\n    /** @type {?} */\n    CollectionChangeRecord.prototype.currentIndex;\n    /** @type {?} */\n    CollectionChangeRecord.prototype.previousIndex;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    CollectionChangeRecord.prototype._nextPrevious;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    CollectionChangeRecord.prototype._prev;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    CollectionChangeRecord.prototype._next;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    CollectionChangeRecord.prototype._prevDup;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    CollectionChangeRecord.prototype._nextDup;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    CollectionChangeRecord.prototype._prevRemoved;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    CollectionChangeRecord.prototype._nextRemoved;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    CollectionChangeRecord.prototype._nextAdded;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    CollectionChangeRecord.prototype._nextMoved;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    CollectionChangeRecord.prototype._nextIdentityChange;\n    /** @type {?} */\n    CollectionChangeRecord.prototype.item;\n    /** @type {?} */\n    CollectionChangeRecord.prototype.trackById;\n}\nvar _DuplicateItemRecordList = (function () {\n    function _DuplicateItemRecordList() {\n        /** @internal */\n        this._head = null;\n        /** @internal */\n        this._tail = null;\n    }\n    /**\n     * Append the record to the list of duplicates.\n     *\n     * Note: by design all records in the list of duplicates hold the same value in record.item.\n     * @param {?} record\n     * @return {?}\n     */\n    _DuplicateItemRecordList.prototype.add = function (record) {\n        if (this._head === null) {\n            this._head = this._tail = record;\n            record._nextDup = null;\n            record._prevDup = null;\n        }\n        else {\n            // todo(vicb)\n            // assert(record.item ==  _head.item ||\n            //       record.item is num && record.item.isNaN && _head.item is num && _head.item.isNaN);\n            this._tail._nextDup = record;\n            record._prevDup = this._tail;\n            record._nextDup = null;\n            this._tail = record;\n        }\n    };\n    /**\n     * @param {?} trackById\n     * @param {?} afterIndex\n     * @return {?}\n     */\n    _DuplicateItemRecordList.prototype.get = function (trackById, afterIndex) {\n        var /** @type {?} */ record;\n        for (record = this._head; record !== null; record = record._nextDup) {\n            if ((afterIndex === null || afterIndex < record.currentIndex) &&\n                looseIdentical(record.trackById, trackById)) {\n                return record;\n            }\n        }\n        return null;\n    };\n    /**\n     * Remove one {\\@link CollectionChangeRecord} from the list of duplicates.\n     *\n     * Returns whether the list of duplicates is empty.\n     * @param {?} record\n     * @return {?}\n     */\n    _DuplicateItemRecordList.prototype.remove = function (record) {\n        // todo(vicb)\n        // assert(() {\n        //  // verify that the record being removed is in the list.\n        //  for (CollectionChangeRecord cursor = _head; cursor != null; cursor = cursor._nextDup) {\n        //    if (identical(cursor, record)) return true;\n        //  }\n        //  return false;\n        //});\n        var /** @type {?} */ prev = record._prevDup;\n        var /** @type {?} */ next = record._nextDup;\n        if (prev === null) {\n            this._head = next;\n        }\n        else {\n            prev._nextDup = next;\n        }\n        if (next === null) {\n            this._tail = prev;\n        }\n        else {\n            next._prevDup = prev;\n        }\n        return this._head === null;\n    };\n    return _DuplicateItemRecordList;\n}());\nfunction _DuplicateItemRecordList_tsickle_Closure_declarations() {\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    _DuplicateItemRecordList.prototype._head;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    _DuplicateItemRecordList.prototype._tail;\n}\nvar _DuplicateMap = (function () {\n    function _DuplicateMap() {\n        this.map = new Map();\n    }\n    /**\n     * @param {?} record\n     * @return {?}\n     */\n    _DuplicateMap.prototype.put = function (record) {\n        var /** @type {?} */ key = record.trackById;\n        var /** @type {?} */ duplicates = this.map.get(key);\n        if (!duplicates) {\n            duplicates = new _DuplicateItemRecordList();\n            this.map.set(key, duplicates);\n        }\n        duplicates.add(record);\n    };\n    /**\n     * Retrieve the `value` using key. Because the CollectionChangeRecord value may be one which we\n     * have already iterated over, we use the afterIndex to pretend it is not there.\n     *\n     * Use case: `[a, b, c, a, a]` if we are at index `3` which is the second `a` then asking if we\n     * have any more `a`s needs to return the last `a` not the first or second.\n     * @param {?} trackById\n     * @param {?=} afterIndex\n     * @return {?}\n     */\n    _DuplicateMap.prototype.get = function (trackById, afterIndex) {\n        if (afterIndex === void 0) { afterIndex = null; }\n        var /** @type {?} */ key = trackById;\n        var /** @type {?} */ recordList = this.map.get(key);\n        return recordList ? recordList.get(trackById, afterIndex) : null;\n    };\n    /**\n     * Removes a {\\@link CollectionChangeRecord} from the list of duplicates.\n     *\n     * The list of duplicates also is removed from the map if it gets empty.\n     * @param {?} record\n     * @return {?}\n     */\n    _DuplicateMap.prototype.remove = function (record) {\n        var /** @type {?} */ key = record.trackById;\n        var /** @type {?} */ recordList = this.map.get(key);\n        // Remove the list of duplicates when it gets empty\n        if (recordList.remove(record)) {\n            this.map.delete(key);\n        }\n        return record;\n    };\n    Object.defineProperty(_DuplicateMap.prototype, \"isEmpty\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this.map.size === 0; },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @return {?}\n     */\n    _DuplicateMap.prototype.clear = function () { this.map.clear(); };\n    /**\n     * @return {?}\n     */\n    _DuplicateMap.prototype.toString = function () { return '_DuplicateMap(' + stringify(this.map) + ')'; };\n    return _DuplicateMap;\n}());\nfunction _DuplicateMap_tsickle_Closure_declarations() {\n    /** @type {?} */\n    _DuplicateMap.prototype.map;\n}\n/**\n * @param {?} item\n * @param {?} addRemoveOffset\n * @param {?} moveOffsets\n * @return {?}\n */\nfunction getPreviousIndex(item, addRemoveOffset, moveOffsets) {\n    var /** @type {?} */ previousIndex = item.previousIndex;\n    if (previousIndex === null)\n        return previousIndex;\n    var /** @type {?} */ moveOffset = 0;\n    if (moveOffsets && previousIndex < moveOffsets.length) {\n        moveOffset = moveOffsets[previousIndex];\n    }\n    return previousIndex + addRemoveOffset + moveOffset;\n}\n//# sourceMappingURL=default_iterable_differ.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/change_detection/differs/default_iterable_differ.js\n// module id = 275\n// module chunks = 0","/**\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 */\nimport { Injectable } from './di';\nimport { print, warn } from './facade/lang';\nexport var Console = (function () {\n    function Console() {\n    }\n    /**\n     * @param {?} message\n     * @return {?}\n     */\n    Console.prototype.log = function (message) { print(message); };\n    /**\n     * @param {?} message\n     * @return {?}\n     */\n    Console.prototype.warn = function (message) { warn(message); };\n    Console.decorators = [\n        { type: Injectable },\n    ];\n    /** @nocollapse */\n    Console.ctorParameters = function () { return []; };\n    return Console;\n}());\nfunction Console_tsickle_Closure_declarations() {\n    /** @type {?} */\n    Console.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    Console.ctorParameters;\n}\n//# sourceMappingURL=console.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/console.js\n// module id = 276\n// module chunks = 0","/**\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 */\nimport { stringify } from '../facade/lang';\n/**\n * Allows to refer to references which are not yet defined.\n *\n * For instance, `forwardRef` is used when the `token` which we need to refer to for the purposes of\n * DI is declared,\n * but not yet defined. It is also used when the `token` which we use when creating a query is not\n * yet defined.\n *\n * ### Example\n * {\\@example core/di/ts/forward_ref/forward_ref_spec.ts region='forward_ref'}\n * \\@experimental\n * @param {?} forwardRefFn\n * @return {?}\n */\nexport function forwardRef(forwardRefFn) {\n    ((forwardRefFn)).__forward_ref__ = forwardRef;\n    ((forwardRefFn)).toString = function () { return stringify(this()); };\n    return (((forwardRefFn)));\n}\n/**\n * Lazily retrieves the reference value from a forwardRef.\n *\n * Acts as the identity function when given a non-forward-ref value.\n *\n * ### Example ([live demo](http://plnkr.co/edit/GU72mJrk1fiodChcmiDR?p=preview))\n *\n * {\\@example core/di/ts/forward_ref/forward_ref_spec.ts region='resolve_forward_ref'}\n *\n * See: {\\@link forwardRef}\n * \\@experimental\n * @param {?} type\n * @return {?}\n */\nexport function resolveForwardRef(type) {\n    if (typeof type === 'function' && type.hasOwnProperty('__forward_ref__') &&\n        type.__forward_ref__ === forwardRef) {\n        return ((type))();\n    }\n    else {\n        return type;\n    }\n}\n//# sourceMappingURL=forward_ref.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/di/forward_ref.js\n// module id = 277\n// module chunks = 0","/**\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 */\nimport { Injectable } from './metadata';\nexport var OpaqueToken = (function () {\n    /**\n     * @param {?} _desc\n     */\n    function OpaqueToken(_desc) {\n        this._desc = _desc;\n    }\n    /**\n     * @return {?}\n     */\n    OpaqueToken.prototype.toString = function () { return \"Token \" + this._desc; };\n    OpaqueToken.decorators = [\n        { type: Injectable },\n    ];\n    /** @nocollapse */\n    OpaqueToken.ctorParameters = function () { return [\n        null,\n    ]; };\n    return OpaqueToken;\n}());\nfunction OpaqueToken_tsickle_Closure_declarations() {\n    /** @type {?} */\n    OpaqueToken.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    OpaqueToken.ctorParameters;\n    /** @type {?} */\n    OpaqueToken.prototype._desc;\n}\n//# sourceMappingURL=opaque_token.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/di/opaque_token.js\n// module id = 278\n// module chunks = 0","/**\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 */\nimport { stringify } from '../facade/lang';\nimport { resolveForwardRef } from './forward_ref';\n/**\n * A unique object used for retrieving items from the {\\@link ReflectiveInjector}.\n *\n * Keys have:\n * - a system-wide unique `id`.\n * - a `token`.\n *\n * `Key` is used internally by {\\@link ReflectiveInjector} because its system-wide unique `id` allows\n * the\n * injector to store created objects in a more efficient way.\n *\n * `Key` should not be created directly. {\\@link ReflectiveInjector} creates keys automatically when\n * resolving\n * providers.\n * \\@experimental\n */\nexport var ReflectiveKey = (function () {\n    /**\n     * Private\n     * @param {?} token\n     * @param {?} id\n     */\n    function ReflectiveKey(token, id) {\n        this.token = token;\n        this.id = id;\n        if (!token) {\n            throw new Error('Token must be defined!');\n        }\n    }\n    Object.defineProperty(ReflectiveKey.prototype, \"displayName\", {\n        /**\n         * Returns a stringified token.\n         * @return {?}\n         */\n        get: function () { return stringify(this.token); },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * Retrieves a `Key` for a token.\n     * @param {?} token\n     * @return {?}\n     */\n    ReflectiveKey.get = function (token) {\n        return _globalKeyRegistry.get(resolveForwardRef(token));\n    };\n    Object.defineProperty(ReflectiveKey, \"numberOfKeys\", {\n        /**\n         * @return {?} the number of keys registered in the system.\n         */\n        get: function () { return _globalKeyRegistry.numberOfKeys; },\n        enumerable: true,\n        configurable: true\n    });\n    return ReflectiveKey;\n}());\nfunction ReflectiveKey_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ReflectiveKey.prototype.token;\n    /** @type {?} */\n    ReflectiveKey.prototype.id;\n}\n/**\n * \\@internal\n */\nexport var KeyRegistry = (function () {\n    function KeyRegistry() {\n        this._allKeys = new Map();\n    }\n    /**\n     * @param {?} token\n     * @return {?}\n     */\n    KeyRegistry.prototype.get = function (token) {\n        if (token instanceof ReflectiveKey)\n            return token;\n        if (this._allKeys.has(token)) {\n            return this._allKeys.get(token);\n        }\n        var /** @type {?} */ newKey = new ReflectiveKey(token, ReflectiveKey.numberOfKeys);\n        this._allKeys.set(token, newKey);\n        return newKey;\n    };\n    Object.defineProperty(KeyRegistry.prototype, \"numberOfKeys\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._allKeys.size; },\n        enumerable: true,\n        configurable: true\n    });\n    return KeyRegistry;\n}());\nfunction KeyRegistry_tsickle_Closure_declarations() {\n    /** @type {?} */\n    KeyRegistry.prototype._allKeys;\n}\nvar /** @type {?} */ _globalKeyRegistry = new KeyRegistry();\n//# sourceMappingURL=reflective_key.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/di/reflective_key.js\n// module id = 279\n// module chunks = 0","/**\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 */\nimport { reflector } from '../reflection/reflection';\nimport { Type } from '../type';\nimport { resolveForwardRef } from './forward_ref';\nimport { Inject, Optional, Self, SkipSelf } from './metadata';\nimport { InvalidProviderError, MixingMultiProvidersWithRegularProvidersError, NoAnnotationError } from './reflective_errors';\nimport { ReflectiveKey } from './reflective_key';\n/**\n * `Dependency` is used by the framework to extend DI.\n * This is internal to Angular and should not be used directly.\n */\nexport var ReflectiveDependency = (function () {\n    /**\n     * @param {?} key\n     * @param {?} optional\n     * @param {?} visibility\n     */\n    function ReflectiveDependency(key, optional, visibility) {\n        this.key = key;\n        this.optional = optional;\n        this.visibility = visibility;\n    }\n    /**\n     * @param {?} key\n     * @return {?}\n     */\n    ReflectiveDependency.fromKey = function (key) {\n        return new ReflectiveDependency(key, false, null);\n    };\n    return ReflectiveDependency;\n}());\nfunction ReflectiveDependency_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ReflectiveDependency.prototype.key;\n    /** @type {?} */\n    ReflectiveDependency.prototype.optional;\n    /** @type {?} */\n    ReflectiveDependency.prototype.visibility;\n}\nvar /** @type {?} */ _EMPTY_LIST = [];\nexport var ResolvedReflectiveProvider_ = (function () {\n    /**\n     * @param {?} key\n     * @param {?} resolvedFactories\n     * @param {?} multiProvider\n     */\n    function ResolvedReflectiveProvider_(key, resolvedFactories, multiProvider) {\n        this.key = key;\n        this.resolvedFactories = resolvedFactories;\n        this.multiProvider = multiProvider;\n    }\n    Object.defineProperty(ResolvedReflectiveProvider_.prototype, \"resolvedFactory\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this.resolvedFactories[0]; },\n        enumerable: true,\n        configurable: true\n    });\n    return ResolvedReflectiveProvider_;\n}());\nfunction ResolvedReflectiveProvider__tsickle_Closure_declarations() {\n    /** @type {?} */\n    ResolvedReflectiveProvider_.prototype.key;\n    /** @type {?} */\n    ResolvedReflectiveProvider_.prototype.resolvedFactories;\n    /** @type {?} */\n    ResolvedReflectiveProvider_.prototype.multiProvider;\n}\n/**\n * An internal resolved representation of a factory function created by resolving {\\@link\n * Provider}.\n * \\@experimental\n */\nexport var ResolvedReflectiveFactory = (function () {\n    /**\n     * @param {?} factory\n     * @param {?} dependencies\n     */\n    function ResolvedReflectiveFactory(factory, dependencies) {\n        this.factory = factory;\n        this.dependencies = dependencies;\n    }\n    return ResolvedReflectiveFactory;\n}());\nfunction ResolvedReflectiveFactory_tsickle_Closure_declarations() {\n    /**\n     * Factory function which can return an instance of an object represented by a key.\n     * @type {?}\n     */\n    ResolvedReflectiveFactory.prototype.factory;\n    /**\n     * Arguments (dependencies) to the `factory` function.\n     * @type {?}\n     */\n    ResolvedReflectiveFactory.prototype.dependencies;\n}\n/**\n * Resolve a single provider.\n * @param {?} provider\n * @return {?}\n */\nfunction resolveReflectiveFactory(provider) {\n    var /** @type {?} */ factoryFn;\n    var /** @type {?} */ resolvedDeps;\n    if (provider.useClass) {\n        var /** @type {?} */ useClass = resolveForwardRef(provider.useClass);\n        factoryFn = reflector.factory(useClass);\n        resolvedDeps = _dependenciesFor(useClass);\n    }\n    else if (provider.useExisting) {\n        factoryFn = function (aliasInstance) { return aliasInstance; };\n        resolvedDeps = [ReflectiveDependency.fromKey(ReflectiveKey.get(provider.useExisting))];\n    }\n    else if (provider.useFactory) {\n        factoryFn = provider.useFactory;\n        resolvedDeps = constructDependencies(provider.useFactory, provider.deps);\n    }\n    else {\n        factoryFn = function () { return provider.useValue; };\n        resolvedDeps = _EMPTY_LIST;\n    }\n    return new ResolvedReflectiveFactory(factoryFn, resolvedDeps);\n}\n/**\n * Converts the {\\@link Provider} into {\\@link ResolvedProvider}.\n *\n * {\\@link Injector} internally only uses {\\@link ResolvedProvider}, {\\@link Provider} contains\n * convenience provider syntax.\n * @param {?} provider\n * @return {?}\n */\nfunction resolveReflectiveProvider(provider) {\n    return new ResolvedReflectiveProvider_(ReflectiveKey.get(provider.provide), [resolveReflectiveFactory(provider)], provider.multi);\n}\n/**\n * Resolve a list of Providers.\n * @param {?} providers\n * @return {?}\n */\nexport function resolveReflectiveProviders(providers) {\n    var /** @type {?} */ normalized = _normalizeProviders(providers, []);\n    var /** @type {?} */ resolved = normalized.map(resolveReflectiveProvider);\n    var /** @type {?} */ resolvedProviderMap = mergeResolvedReflectiveProviders(resolved, new Map());\n    return Array.from(resolvedProviderMap.values());\n}\n/**\n * Merges a list of ResolvedProviders into a list where\n * each key is contained exactly once and multi providers\n * have been merged.\n * @param {?} providers\n * @param {?} normalizedProvidersMap\n * @return {?}\n */\nexport function mergeResolvedReflectiveProviders(providers, normalizedProvidersMap) {\n    for (var /** @type {?} */ i = 0; i < providers.length; i++) {\n        var /** @type {?} */ provider = providers[i];\n        var /** @type {?} */ existing = normalizedProvidersMap.get(provider.key.id);\n        if (existing) {\n            if (provider.multiProvider !== existing.multiProvider) {\n                throw new MixingMultiProvidersWithRegularProvidersError(existing, provider);\n            }\n            if (provider.multiProvider) {\n                for (var /** @type {?} */ j = 0; j < provider.resolvedFactories.length; j++) {\n                    existing.resolvedFactories.push(provider.resolvedFactories[j]);\n                }\n            }\n            else {\n                normalizedProvidersMap.set(provider.key.id, provider);\n            }\n        }\n        else {\n            var /** @type {?} */ resolvedProvider = void 0;\n            if (provider.multiProvider) {\n                resolvedProvider = new ResolvedReflectiveProvider_(provider.key, provider.resolvedFactories.slice(), provider.multiProvider);\n            }\n            else {\n                resolvedProvider = provider;\n            }\n            normalizedProvidersMap.set(provider.key.id, resolvedProvider);\n        }\n    }\n    return normalizedProvidersMap;\n}\n/**\n * @param {?} providers\n * @param {?} res\n * @return {?}\n */\nfunction _normalizeProviders(providers, res) {\n    providers.forEach(function (b) {\n        if (b instanceof Type) {\n            res.push({ provide: b, useClass: b });\n        }\n        else if (b && typeof b == 'object' && ((b)).provide !== undefined) {\n            res.push(/** @type {?} */ (b));\n        }\n        else if (b instanceof Array) {\n            _normalizeProviders(b, res);\n        }\n        else {\n            throw new InvalidProviderError(b);\n        }\n    });\n    return res;\n}\n/**\n * @param {?} typeOrFunc\n * @param {?} dependencies\n * @return {?}\n */\nexport function constructDependencies(typeOrFunc, dependencies) {\n    if (!dependencies) {\n        return _dependenciesFor(typeOrFunc);\n    }\n    else {\n        var /** @type {?} */ params_1 = dependencies.map(function (t) { return [t]; });\n        return dependencies.map(function (t) { return _extractToken(typeOrFunc, t, params_1); });\n    }\n}\n/**\n * @param {?} typeOrFunc\n * @return {?}\n */\nfunction _dependenciesFor(typeOrFunc) {\n    var /** @type {?} */ params = reflector.parameters(typeOrFunc);\n    if (!params)\n        return [];\n    if (params.some(function (p) { return p == null; })) {\n        throw new NoAnnotationError(typeOrFunc, params);\n    }\n    return params.map(function (p) { return _extractToken(typeOrFunc, p, params); });\n}\n/**\n * @param {?} typeOrFunc\n * @param {?} metadata\n * @param {?} params\n * @return {?}\n */\nfunction _extractToken(typeOrFunc, metadata, params) {\n    var /** @type {?} */ token = null;\n    var /** @type {?} */ optional = false;\n    if (!Array.isArray(metadata)) {\n        if (metadata instanceof Inject) {\n            return _createDependency(metadata.token, optional, null);\n        }\n        else {\n            return _createDependency(metadata, optional, null);\n        }\n    }\n    var /** @type {?} */ visibility = null;\n    for (var /** @type {?} */ i = 0; i < metadata.length; ++i) {\n        var /** @type {?} */ paramMetadata = metadata[i];\n        if (paramMetadata instanceof Type) {\n            token = paramMetadata;\n        }\n        else if (paramMetadata instanceof Inject) {\n            token = paramMetadata.token;\n        }\n        else if (paramMetadata instanceof Optional) {\n            optional = true;\n        }\n        else if (paramMetadata instanceof Self || paramMetadata instanceof SkipSelf) {\n            visibility = paramMetadata;\n        }\n    }\n    token = resolveForwardRef(token);\n    if (token != null) {\n        return _createDependency(token, optional, visibility);\n    }\n    else {\n        throw new NoAnnotationError(typeOrFunc, params);\n    }\n}\n/**\n * @param {?} token\n * @param {?} optional\n * @param {?} visibility\n * @return {?}\n */\nfunction _createDependency(token, optional, visibility) {\n    return new ReflectiveDependency(ReflectiveKey.get(token), optional, visibility);\n}\n//# sourceMappingURL=reflective_provider.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/di/reflective_provider.js\n// module id = 280\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { Subject } from 'rxjs/Subject';\nexport { Observable } from 'rxjs/Observable';\nexport { Subject } from 'rxjs/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 */\nexport var 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     * @param {?=} isAsync\n     */\n    function EventEmitter(isAsync) {\n        if (isAsync === void 0) { isAsync = false; }\n        _super.call(this);\n        this.__isAsync = isAsync;\n    }\n    /**\n     * @param {?=} value\n     * @return {?}\n     */\n    EventEmitter.prototype.emit = function (value) { _super.prototype.next.call(this, value); };\n    /**\n     * @param {?=} generatorOrNext\n     * @param {?=} error\n     * @param {?=} complete\n     * @return {?}\n     */\n    EventEmitter.prototype.subscribe = function (generatorOrNext, error, complete) {\n        var /** @type {?} */ schedulerFn;\n        var /** @type {?} */ errorFn = function (err) { return null; };\n        var /** @type {?} */ completeFn = function () { return null; };\n        if (generatorOrNext && typeof generatorOrNext === 'object') {\n            schedulerFn = this.__isAsync ? function (value) {\n                setTimeout(function () { return generatorOrNext.next(value); });\n            } : function (value) { generatorOrNext.next(value); };\n            if (generatorOrNext.error) {\n                errorFn = this.__isAsync ? function (err) { setTimeout(function () { return generatorOrNext.error(err); }); } :\n                    function (err) { generatorOrNext.error(err); };\n            }\n            if (generatorOrNext.complete) {\n                completeFn = this.__isAsync ? function () { setTimeout(function () { return generatorOrNext.complete(); }); } :\n                    function () { generatorOrNext.complete(); };\n            }\n        }\n        else {\n            schedulerFn = this.__isAsync ? function (value) { setTimeout(function () { return generatorOrNext(value); }); } :\n                function (value) { generatorOrNext(value); };\n            if (error) {\n                errorFn =\n                    this.__isAsync ? function (err) { setTimeout(function () { return error(err); }); } : function (err) { error(err); };\n            }\n            if (complete) {\n                completeFn =\n                    this.__isAsync ? function () { setTimeout(function () { return complete(); }); } : function () { complete(); };\n            }\n        }\n        return _super.prototype.subscribe.call(this, schedulerFn, errorFn, completeFn);\n    };\n    return EventEmitter;\n}(Subject));\nfunction EventEmitter_tsickle_Closure_declarations() {\n    /** @type {?} */\n    EventEmitter.prototype.__isAsync;\n}\n//# sourceMappingURL=async.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/facade/async.js\n// module id = 281\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { ElementRef } from './element_ref';\nimport { ViewUtils } from './view_utils';\n/**\n * Represents an instance of a Component created via a {\\@link ComponentFactory}.\n *\n * `ComponentRef` provides access to the Component Instance as well other objects related to this\n * Component Instance and allows you to destroy the Component Instance via the {\\@link #destroy}\n * method.\n * \\@stable\n * @abstract\n */\nexport var ComponentRef = (function () {\n    function ComponentRef() {\n    }\n    /**\n     * Location of the Host Element of this Component Instance.\n     * @abstract\n     * @return {?}\n     */\n    ComponentRef.prototype.location = function () { };\n    /**\n     * The injector on which the component instance exists.\n     * @abstract\n     * @return {?}\n     */\n    ComponentRef.prototype.injector = function () { };\n    /**\n     * The instance of the Component.\n     * @abstract\n     * @return {?}\n     */\n    ComponentRef.prototype.instance = function () { };\n    /**\n     * The {\\@link ViewRef} of the Host View of this Component instance.\n     * @abstract\n     * @return {?}\n     */\n    ComponentRef.prototype.hostView = function () { };\n    /**\n     * The {\\@link ChangeDetectorRef} of the Component instance.\n     * @abstract\n     * @return {?}\n     */\n    ComponentRef.prototype.changeDetectorRef = function () { };\n    /**\n     * The component type.\n     * @abstract\n     * @return {?}\n     */\n    ComponentRef.prototype.componentType = function () { };\n    /**\n     * Destroys the component instance and all of the data structures associated with it.\n     * @abstract\n     * @return {?}\n     */\n    ComponentRef.prototype.destroy = function () { };\n    /**\n     * Allows to register a callback that will be called when the component is destroyed.\n     * @abstract\n     * @param {?} callback\n     * @return {?}\n     */\n    ComponentRef.prototype.onDestroy = function (callback) { };\n    return ComponentRef;\n}());\nexport var ComponentRef_ = (function (_super) {\n    __extends(ComponentRef_, _super);\n    /**\n     * @param {?} _index\n     * @param {?} _parentView\n     * @param {?} _nativeElement\n     * @param {?} _component\n     */\n    function ComponentRef_(_index, _parentView, _nativeElement, _component) {\n        _super.call(this);\n        this._index = _index;\n        this._parentView = _parentView;\n        this._nativeElement = _nativeElement;\n        this._component = _component;\n    }\n    Object.defineProperty(ComponentRef_.prototype, \"location\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return new ElementRef(this._nativeElement); },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(ComponentRef_.prototype, \"injector\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._parentView.injector(this._index); },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(ComponentRef_.prototype, \"instance\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._component; },\n        enumerable: true,\n        configurable: true\n    });\n    ;\n    Object.defineProperty(ComponentRef_.prototype, \"hostView\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._parentView.ref; },\n        enumerable: true,\n        configurable: true\n    });\n    ;\n    Object.defineProperty(ComponentRef_.prototype, \"changeDetectorRef\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._parentView.ref; },\n        enumerable: true,\n        configurable: true\n    });\n    ;\n    Object.defineProperty(ComponentRef_.prototype, \"componentType\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return (this._component.constructor); },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @return {?}\n     */\n    ComponentRef_.prototype.destroy = function () { this._parentView.detachAndDestroy(); };\n    /**\n     * @param {?} callback\n     * @return {?}\n     */\n    ComponentRef_.prototype.onDestroy = function (callback) { this.hostView.onDestroy(callback); };\n    return ComponentRef_;\n}(ComponentRef));\nfunction ComponentRef__tsickle_Closure_declarations() {\n    /** @type {?} */\n    ComponentRef_.prototype._index;\n    /** @type {?} */\n    ComponentRef_.prototype._parentView;\n    /** @type {?} */\n    ComponentRef_.prototype._nativeElement;\n    /** @type {?} */\n    ComponentRef_.prototype._component;\n}\n/**\n * \\@stable\n */\nexport var ComponentFactory = (function () {\n    /**\n     * @param {?} selector\n     * @param {?} _viewClass\n     * @param {?} _componentType\n     */\n    function ComponentFactory(selector, _viewClass, _componentType) {\n        this.selector = selector;\n        this._viewClass = _viewClass;\n        this._componentType = _componentType;\n    }\n    Object.defineProperty(ComponentFactory.prototype, \"componentType\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._componentType; },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * Creates a new component.\n     * @param {?} injector\n     * @param {?=} projectableNodes\n     * @param {?=} rootSelectorOrNode\n     * @return {?}\n     */\n    ComponentFactory.prototype.create = function (injector, projectableNodes, rootSelectorOrNode) {\n        if (projectableNodes === void 0) { projectableNodes = null; }\n        if (rootSelectorOrNode === void 0) { rootSelectorOrNode = null; }\n        var /** @type {?} */ vu = injector.get(ViewUtils);\n        if (!projectableNodes) {\n            projectableNodes = [];\n        }\n        var /** @type {?} */ hostView = new this._viewClass(vu, null, null, null);\n        return hostView.createHostView(rootSelectorOrNode, injector, projectableNodes);\n    };\n    return ComponentFactory;\n}());\nfunction ComponentFactory_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ComponentFactory.prototype.selector;\n    /** @type {?} */\n    ComponentFactory.prototype._viewClass;\n    /** @type {?} */\n    ComponentFactory.prototype._componentType;\n}\n//# sourceMappingURL=component_factory.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/linker/component_factory.js\n// module id = 282\n// module chunks = 0","/**\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 */\nimport { ReflectionCapabilities } from './reflection_capabilities';\nimport { Reflector } from './reflector';\nexport { Reflector } from './reflector';\n/**\n * The {@link Reflector} used internally in Angular to access metadata\n * about symbols.\n */\nexport var /** @type {?} */ reflector = new Reflector(new ReflectionCapabilities());\n//# sourceMappingURL=reflection.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/reflection/reflection.js\n// module id = 283\n// module chunks = 0","/**\n * Provides read-only access to reflection data about symbols. Used internally by Angular\n * to power dependency injection and compilation.\n * @abstract\n */\nexport var ReflectorReader = (function () {\n    function ReflectorReader() {\n    }\n    /**\n     * @abstract\n     * @param {?} typeOrFunc\n     * @return {?}\n     */\n    ReflectorReader.prototype.parameters = function (typeOrFunc) { };\n    /**\n     * @abstract\n     * @param {?} typeOrFunc\n     * @return {?}\n     */\n    ReflectorReader.prototype.annotations = function (typeOrFunc) { };\n    /**\n     * @abstract\n     * @param {?} typeOrFunc\n     * @return {?}\n     */\n    ReflectorReader.prototype.propMetadata = function (typeOrFunc) { };\n    /**\n     * @abstract\n     * @param {?} typeOrFunc\n     * @return {?}\n     */\n    ReflectorReader.prototype.importUri = function (typeOrFunc) { };\n    /**\n     * @abstract\n     * @param {?} name\n     * @param {?} moduleUrl\n     * @param {?} runtime\n     * @return {?}\n     */\n    ReflectorReader.prototype.resolveIdentifier = function (name, moduleUrl, runtime) { };\n    /**\n     * @abstract\n     * @param {?} identifier\n     * @param {?} name\n     * @return {?}\n     */\n    ReflectorReader.prototype.resolveEnum = function (identifier, name) { };\n    return ReflectorReader;\n}());\n//# sourceMappingURL=reflector_reader.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/reflection/reflector_reader.js\n// module id = 284\n// module chunks = 0","/**\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 */\nexport var RenderComponentType = (function () {\n    /**\n     * @param {?} id\n     * @param {?} templateUrl\n     * @param {?} slotCount\n     * @param {?} encapsulation\n     * @param {?} styles\n     * @param {?} animations\n     */\n    function RenderComponentType(id, templateUrl, slotCount, encapsulation, styles, animations) {\n        this.id = id;\n        this.templateUrl = templateUrl;\n        this.slotCount = slotCount;\n        this.encapsulation = encapsulation;\n        this.styles = styles;\n        this.animations = animations;\n    }\n    return RenderComponentType;\n}());\nfunction RenderComponentType_tsickle_Closure_declarations() {\n    /** @type {?} */\n    RenderComponentType.prototype.id;\n    /** @type {?} */\n    RenderComponentType.prototype.templateUrl;\n    /** @type {?} */\n    RenderComponentType.prototype.slotCount;\n    /** @type {?} */\n    RenderComponentType.prototype.encapsulation;\n    /** @type {?} */\n    RenderComponentType.prototype.styles;\n    /** @type {?} */\n    RenderComponentType.prototype.animations;\n}\n/**\n * @abstract\n */\nexport var RenderDebugInfo = (function () {\n    function RenderDebugInfo() {\n    }\n    /**\n     * @abstract\n     * @return {?}\n     */\n    RenderDebugInfo.prototype.injector = function () { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    RenderDebugInfo.prototype.component = function () { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    RenderDebugInfo.prototype.providerTokens = function () { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    RenderDebugInfo.prototype.references = function () { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    RenderDebugInfo.prototype.context = function () { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    RenderDebugInfo.prototype.source = function () { };\n    return RenderDebugInfo;\n}());\n/**\n * \\@experimental\n * @abstract\n */\nexport var Renderer = (function () {\n    function Renderer() {\n    }\n    /**\n     * @abstract\n     * @param {?} selectorOrNode\n     * @param {?=} debugInfo\n     * @return {?}\n     */\n    Renderer.prototype.selectRootElement = function (selectorOrNode, debugInfo) { };\n    /**\n     * @abstract\n     * @param {?} parentElement\n     * @param {?} name\n     * @param {?=} debugInfo\n     * @return {?}\n     */\n    Renderer.prototype.createElement = function (parentElement, name, debugInfo) { };\n    /**\n     * @abstract\n     * @param {?} hostElement\n     * @return {?}\n     */\n    Renderer.prototype.createViewRoot = function (hostElement) { };\n    /**\n     * @abstract\n     * @param {?} parentElement\n     * @param {?=} debugInfo\n     * @return {?}\n     */\n    Renderer.prototype.createTemplateAnchor = function (parentElement, debugInfo) { };\n    /**\n     * @abstract\n     * @param {?} parentElement\n     * @param {?} value\n     * @param {?=} debugInfo\n     * @return {?}\n     */\n    Renderer.prototype.createText = function (parentElement, value, debugInfo) { };\n    /**\n     * @abstract\n     * @param {?} parentElement\n     * @param {?} nodes\n     * @return {?}\n     */\n    Renderer.prototype.projectNodes = function (parentElement, nodes) { };\n    /**\n     * @abstract\n     * @param {?} node\n     * @param {?} viewRootNodes\n     * @return {?}\n     */\n    Renderer.prototype.attachViewAfter = function (node, viewRootNodes) { };\n    /**\n     * @abstract\n     * @param {?} viewRootNodes\n     * @return {?}\n     */\n    Renderer.prototype.detachView = function (viewRootNodes) { };\n    /**\n     * @abstract\n     * @param {?} hostElement\n     * @param {?} viewAllNodes\n     * @return {?}\n     */\n    Renderer.prototype.destroyView = function (hostElement, viewAllNodes) { };\n    /**\n     * @abstract\n     * @param {?} renderElement\n     * @param {?} name\n     * @param {?} callback\n     * @return {?}\n     */\n    Renderer.prototype.listen = function (renderElement, name, callback) { };\n    /**\n     * @abstract\n     * @param {?} target\n     * @param {?} name\n     * @param {?} callback\n     * @return {?}\n     */\n    Renderer.prototype.listenGlobal = function (target, name, callback) { };\n    /**\n     * @abstract\n     * @param {?} renderElement\n     * @param {?} propertyName\n     * @param {?} propertyValue\n     * @return {?}\n     */\n    Renderer.prototype.setElementProperty = function (renderElement, propertyName, propertyValue) { };\n    /**\n     * @abstract\n     * @param {?} renderElement\n     * @param {?} attributeName\n     * @param {?} attributeValue\n     * @return {?}\n     */\n    Renderer.prototype.setElementAttribute = function (renderElement, attributeName, attributeValue) { };\n    /**\n     * Used only in debug mode to serialize property changes to dom nodes as attributes.\n     * @abstract\n     * @param {?} renderElement\n     * @param {?} propertyName\n     * @param {?} propertyValue\n     * @return {?}\n     */\n    Renderer.prototype.setBindingDebugInfo = function (renderElement, propertyName, propertyValue) { };\n    /**\n     * @abstract\n     * @param {?} renderElement\n     * @param {?} className\n     * @param {?} isAdd\n     * @return {?}\n     */\n    Renderer.prototype.setElementClass = function (renderElement, className, isAdd) { };\n    /**\n     * @abstract\n     * @param {?} renderElement\n     * @param {?} styleName\n     * @param {?} styleValue\n     * @return {?}\n     */\n    Renderer.prototype.setElementStyle = function (renderElement, styleName, styleValue) { };\n    /**\n     * @abstract\n     * @param {?} renderElement\n     * @param {?} methodName\n     * @param {?=} args\n     * @return {?}\n     */\n    Renderer.prototype.invokeElementMethod = function (renderElement, methodName, args) { };\n    /**\n     * @abstract\n     * @param {?} renderNode\n     * @param {?} text\n     * @return {?}\n     */\n    Renderer.prototype.setText = function (renderNode, text) { };\n    /**\n     * @abstract\n     * @param {?} element\n     * @param {?} startingStyles\n     * @param {?} keyframes\n     * @param {?} duration\n     * @param {?} delay\n     * @param {?} easing\n     * @param {?=} previousPlayers\n     * @return {?}\n     */\n    Renderer.prototype.animate = function (element, startingStyles, keyframes, duration, delay, easing, previousPlayers) { };\n    return Renderer;\n}());\n/**\n * Injectable service that provides a low-level interface for modifying the UI.\n *\n * Use this service to bypass Angular's templating and make custom UI changes that can't be\n * expressed declaratively. For example if you need to set a property or an attribute whose name is\n * not statically known, use {\\@link #setElementProperty} or {\\@link #setElementAttribute}\n * respectively.\n *\n * If you are implementing a custom renderer, you must implement this interface.\n *\n * The default Renderer implementation is `DomRenderer`. Also available is `WebWorkerRenderer`.\n * \\@experimental\n * @abstract\n */\nexport var RootRenderer = (function () {\n    function RootRenderer() {\n    }\n    /**\n     * @abstract\n     * @param {?} componentType\n     * @return {?}\n     */\n    RootRenderer.prototype.renderComponent = function (componentType) { };\n    return RootRenderer;\n}());\n//# sourceMappingURL=api.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/render/api.js\n// module id = 285\n// module chunks = 0","/**\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 */\nimport { Injectable } from '../di';\nimport { scheduleMicroTask } from '../facade/lang';\nimport { NgZone } from '../zone/ng_zone';\n/**\n * The Testability service provides testing hooks that can be accessed from\n * the browser and by services such as Protractor. Each bootstrapped Angular\n * application on the page will have an instance of Testability.\n * \\@experimental\n */\nexport var Testability = (function () {\n    /**\n     * @param {?} _ngZone\n     */\n    function Testability(_ngZone) {\n        this._ngZone = _ngZone;\n        /** @internal */\n        this._pendingCount = 0;\n        /** @internal */\n        this._isZoneStable = true;\n        /**\n         * Whether any work was done since the last 'whenStable' callback. This is\n         * useful to detect if this could have potentially destabilized another\n         * component while it is stabilizing.\n         * @internal\n         */\n        this._didWork = false;\n        /** @internal */\n        this._callbacks = [];\n        this._watchAngularEvents();\n    }\n    /**\n     * \\@internal\n     * @return {?}\n     */\n    Testability.prototype._watchAngularEvents = function () {\n        var _this = this;\n        this._ngZone.onUnstable.subscribe({\n            next: function () {\n                _this._didWork = true;\n                _this._isZoneStable = false;\n            }\n        });\n        this._ngZone.runOutsideAngular(function () {\n            _this._ngZone.onStable.subscribe({\n                next: function () {\n                    NgZone.assertNotInAngularZone();\n                    scheduleMicroTask(function () {\n                        _this._isZoneStable = true;\n                        _this._runCallbacksIfReady();\n                    });\n                }\n            });\n        });\n    };\n    /**\n     * @return {?}\n     */\n    Testability.prototype.increasePendingRequestCount = function () {\n        this._pendingCount += 1;\n        this._didWork = true;\n        return this._pendingCount;\n    };\n    /**\n     * @return {?}\n     */\n    Testability.prototype.decreasePendingRequestCount = function () {\n        this._pendingCount -= 1;\n        if (this._pendingCount < 0) {\n            throw new Error('pending async requests below zero');\n        }\n        this._runCallbacksIfReady();\n        return this._pendingCount;\n    };\n    /**\n     * @return {?}\n     */\n    Testability.prototype.isStable = function () {\n        return this._isZoneStable && this._pendingCount == 0 && !this._ngZone.hasPendingMacrotasks;\n    };\n    /**\n     * \\@internal\n     * @return {?}\n     */\n    Testability.prototype._runCallbacksIfReady = function () {\n        var _this = this;\n        if (this.isStable()) {\n            // Schedules the call backs in a new frame so that it is always async.\n            scheduleMicroTask(function () {\n                while (_this._callbacks.length !== 0) {\n                    (_this._callbacks.pop())(_this._didWork);\n                }\n                _this._didWork = false;\n            });\n        }\n        else {\n            // Not Ready\n            this._didWork = true;\n        }\n    };\n    /**\n     * @param {?} callback\n     * @return {?}\n     */\n    Testability.prototype.whenStable = function (callback) {\n        this._callbacks.push(callback);\n        this._runCallbacksIfReady();\n    };\n    /**\n     * @return {?}\n     */\n    Testability.prototype.getPendingRequestCount = function () { return this._pendingCount; };\n    /**\n     * @deprecated use findProviders\n     * @param {?} using\n     * @param {?} provider\n     * @param {?} exactMatch\n     * @return {?}\n     */\n    Testability.prototype.findBindings = function (using, provider, exactMatch) {\n        // TODO(juliemr): implement.\n        return [];\n    };\n    /**\n     * @param {?} using\n     * @param {?} provider\n     * @param {?} exactMatch\n     * @return {?}\n     */\n    Testability.prototype.findProviders = function (using, provider, exactMatch) {\n        // TODO(juliemr): implement.\n        return [];\n    };\n    Testability.decorators = [\n        { type: Injectable },\n    ];\n    /** @nocollapse */\n    Testability.ctorParameters = function () { return [\n        { type: NgZone, },\n    ]; };\n    return Testability;\n}());\nfunction Testability_tsickle_Closure_declarations() {\n    /** @type {?} */\n    Testability.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    Testability.ctorParameters;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    Testability.prototype._pendingCount;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    Testability.prototype._isZoneStable;\n    /**\n     * Whether any work was done since the last 'whenStable' callback. This is\n     * useful to detect if this could have potentially destabilized another\n     * component while it is stabilizing.\n     * \\@internal\n     * @type {?}\n     */\n    Testability.prototype._didWork;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    Testability.prototype._callbacks;\n    /** @type {?} */\n    Testability.prototype._ngZone;\n}\n/**\n * A global registry of {\\@link Testability} instances for specific elements.\n * \\@experimental\n */\nexport var TestabilityRegistry = (function () {\n    function TestabilityRegistry() {\n        /** @internal */\n        this._applications = new Map();\n        _testabilityGetter.addToWindow(this);\n    }\n    /**\n     * @param {?} token\n     * @param {?} testability\n     * @return {?}\n     */\n    TestabilityRegistry.prototype.registerApplication = function (token, testability) {\n        this._applications.set(token, testability);\n    };\n    /**\n     * @param {?} elem\n     * @return {?}\n     */\n    TestabilityRegistry.prototype.getTestability = function (elem) { return this._applications.get(elem); };\n    /**\n     * @return {?}\n     */\n    TestabilityRegistry.prototype.getAllTestabilities = function () { return Array.from(this._applications.values()); };\n    /**\n     * @return {?}\n     */\n    TestabilityRegistry.prototype.getAllRootElements = function () { return Array.from(this._applications.keys()); };\n    /**\n     * @param {?} elem\n     * @param {?=} findInAncestors\n     * @return {?}\n     */\n    TestabilityRegistry.prototype.findTestabilityInTree = function (elem, findInAncestors) {\n        if (findInAncestors === void 0) { findInAncestors = true; }\n        return _testabilityGetter.findTestabilityInTree(this, elem, findInAncestors);\n    };\n    TestabilityRegistry.decorators = [\n        { type: Injectable },\n    ];\n    /** @nocollapse */\n    TestabilityRegistry.ctorParameters = function () { return []; };\n    return TestabilityRegistry;\n}());\nfunction TestabilityRegistry_tsickle_Closure_declarations() {\n    /** @type {?} */\n    TestabilityRegistry.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    TestabilityRegistry.ctorParameters;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    TestabilityRegistry.prototype._applications;\n}\nvar _NoopGetTestability = (function () {\n    function _NoopGetTestability() {\n    }\n    /**\n     * @param {?} registry\n     * @return {?}\n     */\n    _NoopGetTestability.prototype.addToWindow = function (registry) { };\n    /**\n     * @param {?} registry\n     * @param {?} elem\n     * @param {?} findInAncestors\n     * @return {?}\n     */\n    _NoopGetTestability.prototype.findTestabilityInTree = function (registry, elem, findInAncestors) {\n        return null;\n    };\n    return _NoopGetTestability;\n}());\n/**\n * Set the {\\@link GetTestability} implementation used by the Angular testing framework.\n * \\@experimental\n * @param {?} getter\n * @return {?}\n */\nexport function setTestabilityGetter(getter) {\n    _testabilityGetter = getter;\n}\nvar /** @type {?} */ _testabilityGetter = new _NoopGetTestability();\n//# sourceMappingURL=testability.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/testability/testability.js\n// module id = 286\n// module chunks = 0","/**\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/**\n * @whatItDoes Represents a type that a Component or other object is instances of.\n *\n * @description\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 */\nexport var /** @type {?} */ Type = Function;\n/**\n * @param {?} v\n * @return {?}\n */\nexport function isType(v) {\n    return typeof v === 'function';\n}\n//# sourceMappingURL=type.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/type.js\n// module id = 287\n// module chunks = 0","/**\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 */\nimport { $$observable as symbolObservable } from 'rxjs/symbol/observable';\n/**\n * Determine if the argument is shaped like a Promise\n * @param {?} obj\n * @return {?}\n */\nexport function 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 !!obj && typeof obj.then === 'function';\n}\n/**\n * Determine if the argument is an Observable\n * @param {?} obj\n * @return {?}\n */\nexport function isObservable(obj) {\n    return !!(obj && obj[symbolObservable]);\n}\n//# sourceMappingURL=lang.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/util/lang.js\n// module id = 288\n// module chunks = 0","/**\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/**\n * Base class for control directives.\n *\n * Only used internally in the forms module.\n *\n * \\@stable\n * @abstract\n */\nexport var AbstractControlDirective = (function () {\n    function AbstractControlDirective() {\n    }\n    Object.defineProperty(AbstractControlDirective.prototype, \"control\", {\n        /**\n         * @return {?}\n         */\n        get: function () { throw new Error('unimplemented'); },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControlDirective.prototype, \"value\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this.control ? this.control.value : null; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControlDirective.prototype, \"valid\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this.control ? this.control.valid : null; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControlDirective.prototype, \"invalid\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this.control ? this.control.invalid : null; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControlDirective.prototype, \"pending\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this.control ? this.control.pending : null; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControlDirective.prototype, \"errors\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this.control ? this.control.errors : null; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControlDirective.prototype, \"pristine\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this.control ? this.control.pristine : null; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControlDirective.prototype, \"dirty\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this.control ? this.control.dirty : null; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControlDirective.prototype, \"touched\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this.control ? this.control.touched : null; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControlDirective.prototype, \"untouched\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this.control ? this.control.untouched : null; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControlDirective.prototype, \"disabled\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this.control ? this.control.disabled : null; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControlDirective.prototype, \"enabled\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this.control ? this.control.enabled : null; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControlDirective.prototype, \"statusChanges\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this.control ? this.control.statusChanges : null; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControlDirective.prototype, \"valueChanges\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this.control ? this.control.valueChanges : null; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControlDirective.prototype, \"path\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return null; },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @param {?=} value\n     * @return {?}\n     */\n    AbstractControlDirective.prototype.reset = function (value) {\n        if (value === void 0) { value = undefined; }\n        if (this.control)\n            this.control.reset(value);\n    };\n    /**\n     * @param {?} errorCode\n     * @param {?=} path\n     * @return {?}\n     */\n    AbstractControlDirective.prototype.hasError = function (errorCode, path) {\n        if (path === void 0) { path = null; }\n        return this.control ? this.control.hasError(errorCode, path) : false;\n    };\n    /**\n     * @param {?} errorCode\n     * @param {?=} path\n     * @return {?}\n     */\n    AbstractControlDirective.prototype.getError = function (errorCode, path) {\n        if (path === void 0) { path = null; }\n        return this.control ? this.control.getError(errorCode, path) : null;\n    };\n    return AbstractControlDirective;\n}());\n//# sourceMappingURL=abstract_control_directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/forms/src/directives/abstract_control_directive.js\n// module id = 289\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { Directive, Self } from '@angular/core';\nimport { ControlContainer } from './control_container';\nimport { NgControl } from './ng_control';\nexport var AbstractControlStatus = (function () {\n    /**\n     * @param {?} cd\n     */\n    function AbstractControlStatus(cd) {\n        this._cd = cd;\n    }\n    Object.defineProperty(AbstractControlStatus.prototype, \"ngClassUntouched\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._cd.control ? this._cd.control.untouched : false; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControlStatus.prototype, \"ngClassTouched\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._cd.control ? this._cd.control.touched : false; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControlStatus.prototype, \"ngClassPristine\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._cd.control ? this._cd.control.pristine : false; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControlStatus.prototype, \"ngClassDirty\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._cd.control ? this._cd.control.dirty : false; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControlStatus.prototype, \"ngClassValid\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._cd.control ? this._cd.control.valid : false; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControlStatus.prototype, \"ngClassInvalid\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._cd.control ? this._cd.control.invalid : false; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControlStatus.prototype, \"ngClassPending\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._cd.control ? this._cd.control.pending : false; },\n        enumerable: true,\n        configurable: true\n    });\n    return AbstractControlStatus;\n}());\nfunction AbstractControlStatus_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AbstractControlStatus.prototype._cd;\n}\nexport var /** @type {?} */ ngControlStatusHost = {\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    '[class.ng-pending]': 'ngClassPending',\n};\n/**\n * Directive automatically applied to Angular form controls that sets CSS classes\n * based on control status (valid/invalid/dirty/etc).\n *\n * \\@stable\n */\nexport var NgControlStatus = (function (_super) {\n    __extends(NgControlStatus, _super);\n    /**\n     * @param {?} cd\n     */\n    function NgControlStatus(cd) {\n        _super.call(this, cd);\n    }\n    NgControlStatus.decorators = [\n        { type: Directive, args: [{ selector: '[formControlName],[ngModel],[formControl]', host: ngControlStatusHost },] },\n    ];\n    /** @nocollapse */\n    NgControlStatus.ctorParameters = function () { return [\n        { type: NgControl, decorators: [{ type: Self },] },\n    ]; };\n    return NgControlStatus;\n}(AbstractControlStatus));\nfunction NgControlStatus_tsickle_Closure_declarations() {\n    /** @type {?} */\n    NgControlStatus.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    NgControlStatus.ctorParameters;\n}\n/**\n * Directive automatically applied to Angular form groups that sets CSS classes\n * based on control status (valid/invalid/dirty/etc).\n *\n * \\@stable\n */\nexport var NgControlStatusGroup = (function (_super) {\n    __extends(NgControlStatusGroup, _super);\n    /**\n     * @param {?} cd\n     */\n    function NgControlStatusGroup(cd) {\n        _super.call(this, cd);\n    }\n    NgControlStatusGroup.decorators = [\n        { type: Directive, args: [{\n                    selector: '[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]',\n                    host: ngControlStatusHost\n                },] },\n    ];\n    /** @nocollapse */\n    NgControlStatusGroup.ctorParameters = function () { return [\n        { type: ControlContainer, decorators: [{ type: Self },] },\n    ]; };\n    return NgControlStatusGroup;\n}(AbstractControlStatus));\nfunction NgControlStatusGroup_tsickle_Closure_declarations() {\n    /** @type {?} */\n    NgControlStatusGroup.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    NgControlStatusGroup.ctorParameters;\n}\n//# sourceMappingURL=ng_control_status.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/forms/src/directives/ng_control_status.js\n// module id = 290\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { Directive, Host, Inject, Input, Optional, Output, Self, forwardRef } from '@angular/core';\nimport { EventEmitter } from '../facade/async';\nimport { FormControl } from '../model';\nimport { NG_ASYNC_VALIDATORS, NG_VALIDATORS } from '../validators';\nimport { AbstractFormGroupDirective } from './abstract_form_group_directive';\nimport { ControlContainer } from './control_container';\nimport { NG_VALUE_ACCESSOR } from './control_value_accessor';\nimport { NgControl } from './ng_control';\nimport { NgForm } from './ng_form';\nimport { NgModelGroup } from './ng_model_group';\nimport { composeAsyncValidators, composeValidators, controlPath, isPropertyUpdated, selectValueAccessor, setUpControl } from './shared';\nimport { TemplateDrivenErrors } from './template_driven_errors';\nexport var /** @type {?} */ formControlBinding = {\n    provide: NgControl,\n    useExisting: forwardRef(function () { return NgModel; })\n};\n/**\n * `ngModel` forces an additional change detection run when its inputs change:\n * E.g.:\n * ```\n * <div>{{myModel.valid}}</div>\n * <input [(ngModel)]=\"myValue\" #myModel=\"ngModel\">\n * ```\n * I.e. `ngModel` can export itself on the element and then be used in the template.\n * Normally, this would result in expressions before the `input` that use the exported directive\n * to have and old value as they have been\n * dirty checked before. As this is a very common case for `ngModel`, we added this second change\n * detection run.\n *\n * Notes:\n * - this is just one extra run no matter how many `ngModel` have been changed.\n * - this is a general problem when using `exportAs` for directives!\n */\nvar /** @type {?} */ resolvedPromise = Promise.resolve(null);\n/**\n * \\@whatItDoes Creates a {\\@link FormControl} instance from a domain model and binds it\n * to a form control element.\n *\n * The {\\@link FormControl} instance will track the value, user interaction, and\n * validation status of the control and keep the view synced with the model. If used\n * within a parent form, the directive will also register itself with the form as a child\n * control.\n *\n * \\@howToUse\n *\n * This directive can be used by itself or as part of a larger form. All you need is the\n * `ngModel` selector to activate it.\n *\n * It accepts a domain model as an optional {\\@link \\@Input}. If you have a one-way binding\n * to `ngModel` with `[]` syntax, changing the value of the domain model in the component\n * class will set the value in the view. If you have a two-way binding with `[()]` syntax\n * (also known as 'banana-box syntax'), the value in the UI will always be synced back to\n * the domain model in your class as well.\n *\n * If you wish to inspect the properties of the associated {\\@link FormControl} (like\n * validity state), you can also export the directive into a local template variable using\n * `ngModel` as the key (ex: `#myVar=\"ngModel\"`). You can then access the control using the\n * directive's `control` property, but most properties you'll need (like `valid` and `dirty`)\n * will fall through to the control anyway, so you can access them directly. You can see a\n * full list of properties directly available in {\\@link AbstractControlDirective}.\n *\n * The following is an example of a simple standalone control using `ngModel`:\n *\n * {\\@example forms/ts/simpleNgModel/simple_ng_model_example.ts region='Component'}\n *\n * When using the `ngModel` within `<form>` tags, you'll also need to supply a `name` attribute\n * so that the control can be registered with the parent form under that name.\n *\n * It's worth noting that in the context of a parent form, you often can skip one-way or\n * two-way binding because the parent form will sync the value for you. You can access\n * its properties by exporting it into a local template variable using `ngForm` (ex:\n * `#f=\"ngForm\"`). Then you can pass it where it needs to go on submit.\n *\n * If you do need to populate initial values into your form, using a one-way binding for\n * `ngModel` tends to be sufficient as long as you use the exported form's value rather\n * than the domain model's value on submit.\n *\n * Take a look at an example of using `ngModel` within a form:\n *\n * {\\@example forms/ts/simpleForm/simple_form_example.ts region='Component'}\n *\n * To see `ngModel` examples with different form control types, see:\n *\n * * Radio buttons: {\\@link RadioControlValueAccessor}\n * * Selects: {\\@link SelectControlValueAccessor}\n *\n * **npm package**: `\\@angular/forms`\n *\n * **NgModule**: `FormsModule`\n *\n *  \\@stable\n */\nexport var NgModel = (function (_super) {\n    __extends(NgModel, _super);\n    /**\n     * @param {?} parent\n     * @param {?} validators\n     * @param {?} asyncValidators\n     * @param {?} valueAccessors\n     */\n    function NgModel(parent, validators, asyncValidators, valueAccessors) {\n        _super.call(this);\n        /** @internal */\n        this._control = new FormControl();\n        /** @internal */\n        this._registered = false;\n        this.update = new EventEmitter();\n        this._parent = parent;\n        this._rawValidators = validators || [];\n        this._rawAsyncValidators = asyncValidators || [];\n        this.valueAccessor = selectValueAccessor(this, valueAccessors);\n    }\n    /**\n     * @param {?} changes\n     * @return {?}\n     */\n    NgModel.prototype.ngOnChanges = function (changes) {\n        this._checkForErrors();\n        if (!this._registered)\n            this._setUpControl();\n        if ('isDisabled' in changes) {\n            this._updateDisabled(changes);\n        }\n        if (isPropertyUpdated(changes, this.viewModel)) {\n            this._updateValue(this.model);\n            this.viewModel = this.model;\n        }\n    };\n    /**\n     * @return {?}\n     */\n    NgModel.prototype.ngOnDestroy = function () { this.formDirective && this.formDirective.removeControl(this); };\n    Object.defineProperty(NgModel.prototype, \"control\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._control; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgModel.prototype, \"path\", {\n        /**\n         * @return {?}\n         */\n        get: function () {\n            return this._parent ? controlPath(this.name, this._parent) : [this.name];\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgModel.prototype, \"formDirective\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._parent ? this._parent.formDirective : null; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgModel.prototype, \"validator\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return composeValidators(this._rawValidators); },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgModel.prototype, \"asyncValidator\", {\n        /**\n         * @return {?}\n         */\n        get: function () {\n            return composeAsyncValidators(this._rawAsyncValidators);\n        },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @param {?} newValue\n     * @return {?}\n     */\n    NgModel.prototype.viewToModelUpdate = function (newValue) {\n        this.viewModel = newValue;\n        this.update.emit(newValue);\n    };\n    /**\n     * @return {?}\n     */\n    NgModel.prototype._setUpControl = function () {\n        this._isStandalone() ? this._setUpStandalone() :\n            this.formDirective.addControl(this);\n        this._registered = true;\n    };\n    /**\n     * @return {?}\n     */\n    NgModel.prototype._isStandalone = function () {\n        return !this._parent || (this.options && this.options.standalone);\n    };\n    /**\n     * @return {?}\n     */\n    NgModel.prototype._setUpStandalone = function () {\n        setUpControl(this._control, this);\n        this._control.updateValueAndValidity({ emitEvent: false });\n    };\n    /**\n     * @return {?}\n     */\n    NgModel.prototype._checkForErrors = function () {\n        if (!this._isStandalone()) {\n            this._checkParentType();\n        }\n        this._checkName();\n    };\n    /**\n     * @return {?}\n     */\n    NgModel.prototype._checkParentType = function () {\n        if (!(this._parent instanceof NgModelGroup) &&\n            this._parent instanceof AbstractFormGroupDirective) {\n            TemplateDrivenErrors.formGroupNameException();\n        }\n        else if (!(this._parent instanceof NgModelGroup) && !(this._parent instanceof NgForm)) {\n            TemplateDrivenErrors.modelParentException();\n        }\n    };\n    /**\n     * @return {?}\n     */\n    NgModel.prototype._checkName = function () {\n        if (this.options && this.options.name)\n            this.name = this.options.name;\n        if (!this._isStandalone() && !this.name) {\n            TemplateDrivenErrors.missingNameException();\n        }\n    };\n    /**\n     * @param {?} value\n     * @return {?}\n     */\n    NgModel.prototype._updateValue = function (value) {\n        var _this = this;\n        resolvedPromise.then(function () { _this.control.setValue(value, { emitViewToModelChange: false }); });\n    };\n    /**\n     * @param {?} changes\n     * @return {?}\n     */\n    NgModel.prototype._updateDisabled = function (changes) {\n        var _this = this;\n        var /** @type {?} */ disabledValue = changes['isDisabled'].currentValue;\n        var /** @type {?} */ isDisabled = disabledValue === '' || (disabledValue && disabledValue !== 'false');\n        resolvedPromise.then(function () {\n            if (isDisabled && !_this.control.disabled) {\n                _this.control.disable();\n            }\n            else if (!isDisabled && _this.control.disabled) {\n                _this.control.enable();\n            }\n        });\n    };\n    NgModel.decorators = [\n        { type: Directive, args: [{\n                    selector: '[ngModel]:not([formControlName]):not([formControl])',\n                    providers: [formControlBinding],\n                    exportAs: 'ngModel'\n                },] },\n    ];\n    /** @nocollapse */\n    NgModel.ctorParameters = function () { return [\n        { type: ControlContainer, decorators: [{ type: Optional }, { type: Host },] },\n        { type: Array, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NG_VALIDATORS,] },] },\n        { type: Array, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NG_ASYNC_VALIDATORS,] },] },\n        { type: Array, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NG_VALUE_ACCESSOR,] },] },\n    ]; };\n    NgModel.propDecorators = {\n        'name': [{ type: Input },],\n        'isDisabled': [{ type: Input, args: ['disabled',] },],\n        'model': [{ type: Input, args: ['ngModel',] },],\n        'options': [{ type: Input, args: ['ngModelOptions',] },],\n        'update': [{ type: Output, args: ['ngModelChange',] },],\n    };\n    return NgModel;\n}(NgControl));\nfunction NgModel_tsickle_Closure_declarations() {\n    /** @type {?} */\n    NgModel.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    NgModel.ctorParameters;\n    /** @type {?} */\n    NgModel.propDecorators;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    NgModel.prototype._control;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    NgModel.prototype._registered;\n    /** @type {?} */\n    NgModel.prototype.viewModel;\n    /** @type {?} */\n    NgModel.prototype.name;\n    /** @type {?} */\n    NgModel.prototype.isDisabled;\n    /** @type {?} */\n    NgModel.prototype.model;\n    /** @type {?} */\n    NgModel.prototype.options;\n    /** @type {?} */\n    NgModel.prototype.update;\n}\n//# sourceMappingURL=ng_model.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/forms/src/directives/ng_model.js\n// module id = 291\n// module chunks = 0","/**\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 */\nimport { Directive, ElementRef, Renderer, forwardRef } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from './control_value_accessor';\nexport var /** @type {?} */ NUMBER_VALUE_ACCESSOR = {\n    provide: NG_VALUE_ACCESSOR,\n    useExisting: forwardRef(function () { return NumberValueAccessor; }),\n    multi: true\n};\n/**\n * The accessor for writing a number value and listening to changes that is used by the\n * {\\@link NgModel}, {\\@link FormControlDirective}, and {\\@link FormControlName} directives.\n *\n *  ### Example\n *  ```\n *  <input type=\"number\" [(ngModel)]=\"age\">\n *  ```\n */\nexport var NumberValueAccessor = (function () {\n    /**\n     * @param {?} _renderer\n     * @param {?} _elementRef\n     */\n    function NumberValueAccessor(_renderer, _elementRef) {\n        this._renderer = _renderer;\n        this._elementRef = _elementRef;\n        this.onChange = function (_) { };\n        this.onTouched = function () { };\n    }\n    /**\n     * @param {?} value\n     * @return {?}\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 /** @type {?} */ normalizedValue = value == null ? '' : value;\n        this._renderer.setElementProperty(this._elementRef.nativeElement, 'value', normalizedValue);\n    };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    NumberValueAccessor.prototype.registerOnChange = function (fn) {\n        this.onChange = function (value) { fn(value == '' ? null : parseFloat(value)); };\n    };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    NumberValueAccessor.prototype.registerOnTouched = function (fn) { this.onTouched = fn; };\n    /**\n     * @param {?} isDisabled\n     * @return {?}\n     */\n    NumberValueAccessor.prototype.setDisabledState = function (isDisabled) {\n        this._renderer.setElementProperty(this._elementRef.nativeElement, 'disabled', isDisabled);\n    };\n    NumberValueAccessor.decorators = [\n        { type: Directive, args: [{\n                    selector: 'input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]',\n                    host: {\n                        '(change)': 'onChange($event.target.value)',\n                        '(input)': 'onChange($event.target.value)',\n                        '(blur)': 'onTouched()'\n                    },\n                    providers: [NUMBER_VALUE_ACCESSOR]\n                },] },\n    ];\n    /** @nocollapse */\n    NumberValueAccessor.ctorParameters = function () { return [\n        { type: Renderer, },\n        { type: ElementRef, },\n    ]; };\n    return NumberValueAccessor;\n}());\nfunction NumberValueAccessor_tsickle_Closure_declarations() {\n    /** @type {?} */\n    NumberValueAccessor.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    NumberValueAccessor.ctorParameters;\n    /** @type {?} */\n    NumberValueAccessor.prototype.onChange;\n    /** @type {?} */\n    NumberValueAccessor.prototype.onTouched;\n    /** @type {?} */\n    NumberValueAccessor.prototype._renderer;\n    /** @type {?} */\n    NumberValueAccessor.prototype._elementRef;\n}\n//# sourceMappingURL=number_value_accessor.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/forms/src/directives/number_value_accessor.js\n// module id = 292\n// module chunks = 0","/**\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 */\nimport { Directive, ElementRef, Renderer, forwardRef } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from './control_value_accessor';\nexport var /** @type {?} */ RANGE_VALUE_ACCESSOR = {\n    provide: NG_VALUE_ACCESSOR,\n    useExisting: forwardRef(function () { return RangeValueAccessor; }),\n    multi: true\n};\n/**\n * The accessor for writing a range value and listening to changes that is used by the\n * {\\@link NgModel}, {\\@link FormControlDirective}, and {\\@link FormControlName} directives.\n *\n *  ### Example\n *  ```\n *  <input type=\"range\" [(ngModel)]=\"age\" >\n *  ```\n */\nexport var RangeValueAccessor = (function () {\n    /**\n     * @param {?} _renderer\n     * @param {?} _elementRef\n     */\n    function RangeValueAccessor(_renderer, _elementRef) {\n        this._renderer = _renderer;\n        this._elementRef = _elementRef;\n        this.onChange = function (_) { };\n        this.onTouched = function () { };\n    }\n    /**\n     * @param {?} value\n     * @return {?}\n     */\n    RangeValueAccessor.prototype.writeValue = function (value) {\n        this._renderer.setElementProperty(this._elementRef.nativeElement, 'value', parseFloat(value));\n    };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    RangeValueAccessor.prototype.registerOnChange = function (fn) {\n        this.onChange = function (value) { fn(value == '' ? null : parseFloat(value)); };\n    };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    RangeValueAccessor.prototype.registerOnTouched = function (fn) { this.onTouched = fn; };\n    /**\n     * @param {?} isDisabled\n     * @return {?}\n     */\n    RangeValueAccessor.prototype.setDisabledState = function (isDisabled) {\n        this._renderer.setElementProperty(this._elementRef.nativeElement, 'disabled', isDisabled);\n    };\n    RangeValueAccessor.decorators = [\n        { type: Directive, args: [{\n                    selector: 'input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]',\n                    host: {\n                        '(change)': 'onChange($event.target.value)',\n                        '(input)': 'onChange($event.target.value)',\n                        '(blur)': 'onTouched()'\n                    },\n                    providers: [RANGE_VALUE_ACCESSOR]\n                },] },\n    ];\n    /** @nocollapse */\n    RangeValueAccessor.ctorParameters = function () { return [\n        { type: Renderer, },\n        { type: ElementRef, },\n    ]; };\n    return RangeValueAccessor;\n}());\nfunction RangeValueAccessor_tsickle_Closure_declarations() {\n    /** @type {?} */\n    RangeValueAccessor.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    RangeValueAccessor.ctorParameters;\n    /** @type {?} */\n    RangeValueAccessor.prototype.onChange;\n    /** @type {?} */\n    RangeValueAccessor.prototype.onTouched;\n    /** @type {?} */\n    RangeValueAccessor.prototype._renderer;\n    /** @type {?} */\n    RangeValueAccessor.prototype._elementRef;\n}\n//# sourceMappingURL=range_value_accessor.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/forms/src/directives/range_value_accessor.js\n// module id = 293\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { Directive, Inject, Input, Optional, Output, Self, forwardRef } from '@angular/core';\nimport { EventEmitter } from '../../facade/async';\nimport { NG_ASYNC_VALIDATORS, NG_VALIDATORS } from '../../validators';\nimport { NG_VALUE_ACCESSOR } from '../control_value_accessor';\nimport { NgControl } from '../ng_control';\nimport { ReactiveErrors } from '../reactive_errors';\nimport { composeAsyncValidators, composeValidators, isPropertyUpdated, selectValueAccessor, setUpControl } from '../shared';\nexport var /** @type {?} */ formControlBinding = {\n    provide: NgControl,\n    useExisting: forwardRef(function () { return FormControlDirective; })\n};\n/**\n * \\@whatItDoes Syncs a standalone {\\@link FormControl} instance to a form control element.\n *\n * In other words, this directive ensures that any values written to the {\\@link FormControl}\n * instance programmatically will be written to the DOM element (model -> view). Conversely,\n * any values written to the DOM element through user input will be reflected in the\n * {\\@link FormControl} instance (view -> model).\n *\n * \\@howToUse\n *\n * Use this directive if you'd like to create and manage a {\\@link FormControl} instance directly.\n * Simply create a {\\@link FormControl}, save it to your component class, and pass it into the\n * {\\@link FormControlDirective}.\n *\n * This directive is designed to be used as a standalone control.  Unlike {\\@link FormControlName},\n * it does not require that your {\\@link FormControl} instance be part of any parent\n * {\\@link FormGroup}, and it won't be registered to any {\\@link FormGroupDirective} that\n * exists above it.\n *\n * **Get the value**: the `value` property is always synced and available on the\n * {\\@link FormControl} instance. See a full list of available properties in\n * {\\@link AbstractControl}.\n *\n * **Set the value**: You can pass in an initial value when instantiating the {\\@link FormControl},\n * or you can set it programmatically later using {\\@link AbstractControl.setValue} or\n * {\\@link AbstractControl.patchValue}.\n *\n * **Listen to value**: If you want to listen to changes in the value of the control, you can\n * subscribe to the {\\@link AbstractControl.valueChanges} event.  You can also listen to\n * {\\@link AbstractControl.statusChanges} to be notified when the validation status is\n * re-calculated.\n *\n * ### Example\n *\n * {\\@example forms/ts/simpleFormControl/simple_form_control_example.ts region='Component'}\n *\n * * **npm package**: `\\@angular/forms`\n *\n * * **NgModule**: `ReactiveFormsModule`\n *\n *  \\@stable\n */\nexport var FormControlDirective = (function (_super) {\n    __extends(FormControlDirective, _super);\n    /**\n     * @param {?} validators\n     * @param {?} asyncValidators\n     * @param {?} valueAccessors\n     */\n    function FormControlDirective(validators, asyncValidators, valueAccessors) {\n        _super.call(this);\n        this.update = new EventEmitter();\n        this._rawValidators = validators || [];\n        this._rawAsyncValidators = asyncValidators || [];\n        this.valueAccessor = selectValueAccessor(this, valueAccessors);\n    }\n    Object.defineProperty(FormControlDirective.prototype, \"isDisabled\", {\n        /**\n         * @param {?} isDisabled\n         * @return {?}\n         */\n        set: function (isDisabled) { ReactiveErrors.disabledAttrWarning(); },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @param {?} changes\n     * @return {?}\n     */\n    FormControlDirective.prototype.ngOnChanges = function (changes) {\n        if (this._isControlChanged(changes)) {\n            setUpControl(this.form, this);\n            if (this.control.disabled && this.valueAccessor.setDisabledState) {\n                this.valueAccessor.setDisabledState(true);\n            }\n            this.form.updateValueAndValidity({ emitEvent: false });\n        }\n        if (isPropertyUpdated(changes, this.viewModel)) {\n            this.form.setValue(this.model);\n            this.viewModel = this.model;\n        }\n    };\n    Object.defineProperty(FormControlDirective.prototype, \"path\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return []; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(FormControlDirective.prototype, \"validator\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return composeValidators(this._rawValidators); },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(FormControlDirective.prototype, \"asyncValidator\", {\n        /**\n         * @return {?}\n         */\n        get: function () {\n            return composeAsyncValidators(this._rawAsyncValidators);\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(FormControlDirective.prototype, \"control\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this.form; },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @param {?} newValue\n     * @return {?}\n     */\n    FormControlDirective.prototype.viewToModelUpdate = function (newValue) {\n        this.viewModel = newValue;\n        this.update.emit(newValue);\n    };\n    /**\n     * @param {?} changes\n     * @return {?}\n     */\n    FormControlDirective.prototype._isControlChanged = function (changes) {\n        return changes.hasOwnProperty('form');\n    };\n    FormControlDirective.decorators = [\n        { type: Directive, args: [{ selector: '[formControl]', providers: [formControlBinding], exportAs: 'ngForm' },] },\n    ];\n    /** @nocollapse */\n    FormControlDirective.ctorParameters = function () { return [\n        { type: Array, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NG_VALIDATORS,] },] },\n        { type: Array, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NG_ASYNC_VALIDATORS,] },] },\n        { type: Array, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NG_VALUE_ACCESSOR,] },] },\n    ]; };\n    FormControlDirective.propDecorators = {\n        'form': [{ type: Input, args: ['formControl',] },],\n        'model': [{ type: Input, args: ['ngModel',] },],\n        'update': [{ type: Output, args: ['ngModelChange',] },],\n        'isDisabled': [{ type: Input, args: ['disabled',] },],\n    };\n    return FormControlDirective;\n}(NgControl));\nfunction FormControlDirective_tsickle_Closure_declarations() {\n    /** @type {?} */\n    FormControlDirective.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    FormControlDirective.ctorParameters;\n    /** @type {?} */\n    FormControlDirective.propDecorators;\n    /** @type {?} */\n    FormControlDirective.prototype.viewModel;\n    /** @type {?} */\n    FormControlDirective.prototype.form;\n    /** @type {?} */\n    FormControlDirective.prototype.model;\n    /** @type {?} */\n    FormControlDirective.prototype.update;\n}\n//# sourceMappingURL=form_control_directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/forms/src/directives/reactive_directives/form_control_directive.js\n// module id = 294\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { Directive, Host, Inject, Input, Optional, Output, Self, SkipSelf, forwardRef } from '@angular/core';\nimport { EventEmitter } from '../../facade/async';\nimport { NG_ASYNC_VALIDATORS, NG_VALIDATORS } from '../../validators';\nimport { AbstractFormGroupDirective } from '../abstract_form_group_directive';\nimport { ControlContainer } from '../control_container';\nimport { NG_VALUE_ACCESSOR } from '../control_value_accessor';\nimport { NgControl } from '../ng_control';\nimport { ReactiveErrors } from '../reactive_errors';\nimport { composeAsyncValidators, composeValidators, controlPath, isPropertyUpdated, selectValueAccessor } from '../shared';\nimport { FormGroupDirective } from './form_group_directive';\nimport { FormArrayName, FormGroupName } from './form_group_name';\nexport var /** @type {?} */ controlNameBinding = {\n    provide: NgControl,\n    useExisting: forwardRef(function () { return FormControlName; })\n};\n/**\n * \\@whatItDoes Syncs a {\\@link FormControl} in an existing {\\@link FormGroup} to a form control\n * element by name.\n *\n * In other words, this directive ensures that any values written to the {\\@link FormControl}\n * instance programmatically will be written to the DOM element (model -> view). Conversely,\n * any values written to the DOM element through user input will be reflected in the\n * {\\@link FormControl} instance (view -> model).\n *\n * \\@howToUse\n *\n * This directive is designed to be used with a parent {\\@link FormGroupDirective} (selector:\n * `[formGroup]`).\n *\n * It accepts the string name of the {\\@link FormControl} instance you want to\n * link, and will look for a {\\@link FormControl} registered with that name in the\n * closest {\\@link FormGroup} or {\\@link FormArray} above it.\n *\n * **Access the control**: You can access the {\\@link FormControl} associated with\n * this directive by using the {\\@link AbstractControl.get} method.\n * Ex: `this.form.get('first');`\n *\n * **Get value**: the `value` property is always synced and available on the {\\@link FormControl}.\n * See a full list of available properties in {\\@link AbstractControl}.\n *\n *  **Set value**: You can set an initial value for the control when instantiating the\n *  {\\@link FormControl}, or you can set it programmatically later using\n *  {\\@link AbstractControl.setValue} or {\\@link AbstractControl.patchValue}.\n *\n * **Listen to value**: If you want to listen to changes in the value of the control, you can\n * subscribe to the {\\@link AbstractControl.valueChanges} event.  You can also listen to\n * {\\@link AbstractControl.statusChanges} to be notified when the validation status is\n * re-calculated.\n *\n * ### Example\n *\n * In this example, we create form controls for first name and last name.\n *\n * {\\@example forms/ts/simpleFormGroup/simple_form_group_example.ts region='Component'}\n *\n * To see `formControlName` examples with different form control types, see:\n *\n * * Radio buttons: {\\@link RadioControlValueAccessor}\n * * Selects: {\\@link SelectControlValueAccessor}\n *\n * **npm package**: `\\@angular/forms`\n *\n * **NgModule**: {\\@link ReactiveFormsModule}\n *\n *  \\@stable\n */\nexport var FormControlName = (function (_super) {\n    __extends(FormControlName, _super);\n    /**\n     * @param {?} parent\n     * @param {?} validators\n     * @param {?} asyncValidators\n     * @param {?} valueAccessors\n     */\n    function FormControlName(parent, validators, asyncValidators, valueAccessors) {\n        _super.call(this);\n        this._added = false;\n        this.update = new EventEmitter();\n        this._parent = parent;\n        this._rawValidators = validators || [];\n        this._rawAsyncValidators = asyncValidators || [];\n        this.valueAccessor = selectValueAccessor(this, valueAccessors);\n    }\n    Object.defineProperty(FormControlName.prototype, \"isDisabled\", {\n        /**\n         * @param {?} isDisabled\n         * @return {?}\n         */\n        set: function (isDisabled) { ReactiveErrors.disabledAttrWarning(); },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @param {?} changes\n     * @return {?}\n     */\n    FormControlName.prototype.ngOnChanges = function (changes) {\n        if (!this._added)\n            this._setUpControl();\n        if (isPropertyUpdated(changes, this.viewModel)) {\n            this.viewModel = this.model;\n            this.formDirective.updateModel(this, this.model);\n        }\n    };\n    /**\n     * @return {?}\n     */\n    FormControlName.prototype.ngOnDestroy = function () {\n        if (this.formDirective) {\n            this.formDirective.removeControl(this);\n        }\n    };\n    /**\n     * @param {?} newValue\n     * @return {?}\n     */\n    FormControlName.prototype.viewToModelUpdate = function (newValue) {\n        this.viewModel = newValue;\n        this.update.emit(newValue);\n    };\n    Object.defineProperty(FormControlName.prototype, \"path\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return controlPath(this.name, this._parent); },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(FormControlName.prototype, \"formDirective\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._parent ? this._parent.formDirective : null; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(FormControlName.prototype, \"validator\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return composeValidators(this._rawValidators); },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(FormControlName.prototype, \"asyncValidator\", {\n        /**\n         * @return {?}\n         */\n        get: function () {\n            return composeAsyncValidators(this._rawAsyncValidators);\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(FormControlName.prototype, \"control\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._control; },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @return {?}\n     */\n    FormControlName.prototype._checkParentType = function () {\n        if (!(this._parent instanceof FormGroupName) &&\n            this._parent instanceof AbstractFormGroupDirective) {\n            ReactiveErrors.ngModelGroupException();\n        }\n        else if (!(this._parent instanceof FormGroupName) && !(this._parent instanceof FormGroupDirective) &&\n            !(this._parent instanceof FormArrayName)) {\n            ReactiveErrors.controlParentException();\n        }\n    };\n    /**\n     * @return {?}\n     */\n    FormControlName.prototype._setUpControl = function () {\n        this._checkParentType();\n        this._control = this.formDirective.addControl(this);\n        if (this.control.disabled && this.valueAccessor.setDisabledState) {\n            this.valueAccessor.setDisabledState(true);\n        }\n        this._added = true;\n    };\n    FormControlName.decorators = [\n        { type: Directive, args: [{ selector: '[formControlName]', providers: [controlNameBinding] },] },\n    ];\n    /** @nocollapse */\n    FormControlName.ctorParameters = function () { return [\n        { type: ControlContainer, decorators: [{ type: Optional }, { type: Host }, { type: SkipSelf },] },\n        { type: Array, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NG_VALIDATORS,] },] },\n        { type: Array, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NG_ASYNC_VALIDATORS,] },] },\n        { type: Array, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NG_VALUE_ACCESSOR,] },] },\n    ]; };\n    FormControlName.propDecorators = {\n        'name': [{ type: Input, args: ['formControlName',] },],\n        'model': [{ type: Input, args: ['ngModel',] },],\n        'update': [{ type: Output, args: ['ngModelChange',] },],\n        'isDisabled': [{ type: Input, args: ['disabled',] },],\n    };\n    return FormControlName;\n}(NgControl));\nfunction FormControlName_tsickle_Closure_declarations() {\n    /** @type {?} */\n    FormControlName.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    FormControlName.ctorParameters;\n    /** @type {?} */\n    FormControlName.propDecorators;\n    /** @type {?} */\n    FormControlName.prototype._added;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    FormControlName.prototype.viewModel;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    FormControlName.prototype._control;\n    /** @type {?} */\n    FormControlName.prototype.name;\n    /** @type {?} */\n    FormControlName.prototype.model;\n    /** @type {?} */\n    FormControlName.prototype.update;\n}\n//# sourceMappingURL=form_control_name.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/forms/src/directives/reactive_directives/form_control_name.js\n// module id = 295\n// module chunks = 0","/**\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 */\nimport { Injectable } from '@angular/core';\n/**\n * A backend for http that uses the `XMLHttpRequest` browser API.\n *\n * Take care not to evaluate this in non-browser contexts.\n *\n * \\@experimental\n */\nexport var BrowserXhr = (function () {\n    function BrowserXhr() {\n    }\n    /**\n     * @return {?}\n     */\n    BrowserXhr.prototype.build = function () { return ((new XMLHttpRequest())); };\n    BrowserXhr.decorators = [\n        { type: Injectable },\n    ];\n    /** @nocollapse */\n    BrowserXhr.ctorParameters = function () { return []; };\n    return BrowserXhr;\n}());\nfunction BrowserXhr_tsickle_Closure_declarations() {\n    /** @type {?} */\n    BrowserXhr.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    BrowserXhr.ctorParameters;\n}\n//# sourceMappingURL=browser_xhr.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/http/src/backends/browser_xhr.js\n// module id = 296\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { Injectable } from '@angular/core';\nimport { RequestMethod } from './enums';\nimport { Headers } from './headers';\nimport { normalizeMethodName } from './http_utils';\nimport { URLSearchParams } from './url_search_params';\n/**\n * Creates a request options object to be optionally provided when instantiating a\n * {\\@link Request}.\n *\n * This class is based on the `RequestInit` description in the [Fetch\n * Spec](https://fetch.spec.whatwg.org/#requestinit).\n *\n * All values are null by default. Typical defaults can be found in the {\\@link BaseRequestOptions}\n * class, which sub-classes `RequestOptions`.\n *\n * ### Example ([live demo](http://plnkr.co/edit/7Wvi3lfLq41aQPKlxB4O?p=preview))\n *\n * ```typescript\n * import {RequestOptions, Request, RequestMethod} from '\\@angular/http';\n *\n * var options = new RequestOptions({\n *   method: RequestMethod.Post,\n *   url: 'https://google.com'\n * });\n * var req = new Request(options);\n * console.log('req.method:', RequestMethod[req.method]); // Post\n * console.log('options.url:', options.url); // https://google.com\n * ```\n *\n * \\@experimental\n */\nexport var RequestOptions = (function () {\n    /**\n     * @param {?=} __0\n     */\n    function RequestOptions(_a) {\n        var _b = _a === void 0 ? {} : _a, method = _b.method, headers = _b.headers, body = _b.body, url = _b.url, search = _b.search, withCredentials = _b.withCredentials, responseType = _b.responseType;\n        this.method = method != null ? normalizeMethodName(method) : null;\n        this.headers = headers != null ? headers : null;\n        this.body = body != null ? body : null;\n        this.url = url != null ? url : null;\n        this.search =\n            search != null ? (typeof search === 'string' ? new URLSearchParams(search) : search) : null;\n        this.withCredentials = withCredentials != null ? withCredentials : null;\n        this.responseType = responseType != null ? responseType : null;\n    }\n    /**\n     * Creates a copy of the `RequestOptions` instance, using the optional input as values to override\n     * existing values. This method will not change the values of the instance on which it is being\n     * called.\n     *\n     * Note that `headers` and `search` will override existing values completely if present in\n     * the `options` object. If these values should be merged, it should be done prior to calling\n     * `merge` on the `RequestOptions` instance.\n     *\n     * ### Example ([live demo](http://plnkr.co/edit/6w8XA8YTkDRcPYpdB9dk?p=preview))\n     *\n     * ```typescript\n     * import {RequestOptions, Request, RequestMethod} from '\\@angular/http';\n     *\n     * var options = new RequestOptions({\n     *   method: RequestMethod.Post\n     * });\n     * var req = new Request(options.merge({\n     *   url: 'https://google.com'\n     * }));\n     * console.log('req.method:', RequestMethod[req.method]); // Post\n     * console.log('options.url:', options.url); // null\n     * console.log('req.url:', req.url); // https://google.com\n     * ```\n     * @param {?=} options\n     * @return {?}\n     */\n    RequestOptions.prototype.merge = function (options) {\n        return new RequestOptions({\n            method: options && options.method != null ? options.method : this.method,\n            headers: options && options.headers != null ? options.headers : new Headers(this.headers),\n            body: options && options.body != null ? options.body : this.body,\n            url: options && options.url != null ? options.url : this.url,\n            search: options && options.search != null ?\n                (typeof options.search === 'string' ? new URLSearchParams(options.search) :\n                    options.search.clone()) :\n                this.search,\n            withCredentials: options && options.withCredentials != null ? options.withCredentials :\n                this.withCredentials,\n            responseType: options && options.responseType != null ? options.responseType :\n                this.responseType\n        });\n    };\n    return RequestOptions;\n}());\nfunction RequestOptions_tsickle_Closure_declarations() {\n    /**\n     * Http method with which to execute a {\\@link Request}.\n     * Acceptable methods are defined in the {\\@link RequestMethod} enum.\n     * @type {?}\n     */\n    RequestOptions.prototype.method;\n    /**\n     * {\\@link Headers} to be attached to a {\\@link Request}.\n     * @type {?}\n     */\n    RequestOptions.prototype.headers;\n    /**\n     * Body to be used when creating a {\\@link Request}.\n     * @type {?}\n     */\n    RequestOptions.prototype.body;\n    /**\n     * Url with which to perform a {\\@link Request}.\n     * @type {?}\n     */\n    RequestOptions.prototype.url;\n    /**\n     * Search parameters to be included in a {\\@link Request}.\n     * @type {?}\n     */\n    RequestOptions.prototype.search;\n    /**\n     * Enable use credentials for a {\\@link Request}.\n     * @type {?}\n     */\n    RequestOptions.prototype.withCredentials;\n    /** @type {?} */\n    RequestOptions.prototype.responseType;\n}\n/**\n * Subclass of {\\@link RequestOptions}, with default values.\n *\n * Default values:\n *  * method: {\\@link RequestMethod RequestMethod.Get}\n *  * headers: empty {\\@link Headers} object\n *\n * This class could be extended and bound to the {\\@link RequestOptions} class\n * when configuring an {\\@link Injector}, in order to override the default options\n * used by {\\@link Http} to create and send {\\@link Request Requests}.\n *\n * ### Example ([live demo](http://plnkr.co/edit/LEKVSx?p=preview))\n *\n * ```typescript\n * import {provide} from '\\@angular/core';\n * import {bootstrap} from '\\@angular/platform-browser/browser';\n * import {HTTP_PROVIDERS, Http, BaseRequestOptions, RequestOptions} from '\\@angular/http';\n * import {App} from './myapp';\n *\n * class MyOptions extends BaseRequestOptions {\n *   search: string = 'coreTeam=true';\n * }\n *\n * bootstrap(App, [HTTP_PROVIDERS, {provide: RequestOptions, useClass: MyOptions}]);\n * ```\n *\n * The options could also be extended when manually creating a {\\@link Request}\n * object.\n *\n * ### Example ([live demo](http://plnkr.co/edit/oyBoEvNtDhOSfi9YxaVb?p=preview))\n *\n * ```\n * import {BaseRequestOptions, Request, RequestMethod} from '\\@angular/http';\n *\n * var options = new BaseRequestOptions();\n * var req = new Request(options.merge({\n *   method: RequestMethod.Post,\n *   url: 'https://google.com'\n * }));\n * console.log('req.method:', RequestMethod[req.method]); // Post\n * console.log('options.url:', options.url); // null\n * console.log('req.url:', req.url); // https://google.com\n * ```\n *\n * \\@experimental\n */\nexport var BaseRequestOptions = (function (_super) {\n    __extends(BaseRequestOptions, _super);\n    function BaseRequestOptions() {\n        _super.call(this, { method: RequestMethod.Get, headers: new Headers() });\n    }\n    BaseRequestOptions.decorators = [\n        { type: Injectable },\n    ];\n    /** @nocollapse */\n    BaseRequestOptions.ctorParameters = function () { return []; };\n    return BaseRequestOptions;\n}(RequestOptions));\nfunction BaseRequestOptions_tsickle_Closure_declarations() {\n    /** @type {?} */\n    BaseRequestOptions.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    BaseRequestOptions.ctorParameters;\n}\n//# sourceMappingURL=base_request_options.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/http/src/base_request_options.js\n// module id = 297\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { Body } from './body';\n/**\n * Creates `Response` instances from provided values.\n *\n * Though this object isn't\n * usually instantiated by end-users, it is the primary object interacted with when it comes time to\n * add data to a view.\n *\n * ### Example\n *\n * ```\n * http.request('my-friends.txt').subscribe(response => this.friends = response.text());\n * ```\n *\n * The Response's interface is inspired by the Response constructor defined in the [Fetch\n * Spec](https://fetch.spec.whatwg.org/#response-class), but is considered a static value whose body\n * can be accessed many times. There are other differences in the implementation, but this is the\n * most significant.\n *\n * \\@experimental\n */\nexport var Response = (function (_super) {\n    __extends(Response, _super);\n    /**\n     * @param {?} responseOptions\n     */\n    function Response(responseOptions) {\n        _super.call(this);\n        this._body = responseOptions.body;\n        this.status = responseOptions.status;\n        this.ok = (this.status >= 200 && this.status <= 299);\n        this.statusText = responseOptions.statusText;\n        this.headers = responseOptions.headers;\n        this.type = responseOptions.type;\n        this.url = responseOptions.url;\n    }\n    /**\n     * @return {?}\n     */\n    Response.prototype.toString = function () {\n        return \"Response with status: \" + this.status + \" \" + this.statusText + \" for URL: \" + this.url;\n    };\n    return Response;\n}(Body));\nfunction Response_tsickle_Closure_declarations() {\n    /**\n     * One of \"basic\", \"cors\", \"default\", \"error\", or \"opaque\".\n     *\n     * Defaults to \"default\".\n     * @type {?}\n     */\n    Response.prototype.type;\n    /**\n     * True if the response's status is within 200-299\n     * @type {?}\n     */\n    Response.prototype.ok;\n    /**\n     * URL of response.\n     *\n     * Defaults to empty string.\n     * @type {?}\n     */\n    Response.prototype.url;\n    /**\n     * Status code returned by server.\n     *\n     * Defaults to 200.\n     * @type {?}\n     */\n    Response.prototype.status;\n    /**\n     * Text representing the corresponding reason phrase to the `status`, as defined in [ietf rfc 2616\n     * section 6.1.1](https://tools.ietf.org/html/rfc2616#section-6.1.1)\n     *\n     * Defaults to \"OK\"\n     * @type {?}\n     */\n    Response.prototype.statusText;\n    /**\n     * Non-standard property\n     *\n     * Denotes how many of the response body's bytes have been loaded, for example if the response is\n     * the result of a progress event.\n     * @type {?}\n     */\n    Response.prototype.bytesLoaded;\n    /**\n     * Non-standard property\n     *\n     * Denotes how many bytes are expected in the final response body.\n     * @type {?}\n     */\n    Response.prototype.totalBytes;\n    /**\n     * Headers object based on the `Headers` class in the [Fetch\n     * Spec](https://fetch.spec.whatwg.org/#headers-class).\n     * @type {?}\n     */\n    Response.prototype.headers;\n}\n//# sourceMappingURL=static_response.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/http/src/static_response.js\n// module id = 298\n// module chunks = 0","/**\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 */\nimport { NoOpAnimationPlayer } from '../private_import_core';\n/**\n * \\@experimental\n */\nexport var NoOpAnimationDriver = (function () {\n    function NoOpAnimationDriver() {\n    }\n    /**\n     * @param {?} element\n     * @param {?} startingStyles\n     * @param {?} keyframes\n     * @param {?} duration\n     * @param {?} delay\n     * @param {?} easing\n     * @param {?=} previousPlayers\n     * @return {?}\n     */\n    NoOpAnimationDriver.prototype.animate = function (element, startingStyles, keyframes, duration, delay, easing, previousPlayers) {\n        if (previousPlayers === void 0) { previousPlayers = []; }\n        return new NoOpAnimationPlayer();\n    };\n    return NoOpAnimationDriver;\n}());\n/**\n * \\@experimental\n * @abstract\n */\nexport var AnimationDriver = (function () {\n    function AnimationDriver() {\n    }\n    /**\n     * @abstract\n     * @param {?} element\n     * @param {?} startingStyles\n     * @param {?} keyframes\n     * @param {?} duration\n     * @param {?} delay\n     * @param {?} easing\n     * @param {?=} previousPlayers\n     * @return {?}\n     */\n    AnimationDriver.prototype.animate = function (element, startingStyles, keyframes, duration, delay, easing, previousPlayers) { };\n    AnimationDriver.NOOP = new NoOpAnimationDriver();\n    return AnimationDriver;\n}());\nfunction AnimationDriver_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationDriver.NOOP;\n}\n//# sourceMappingURL=animation_driver.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/platform-browser/src/dom/animation_driver.js\n// module id = 299\n// module chunks = 0","/**\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 */\nimport * as core from '@angular/core';\nimport { StringMapWrapper } from '../../facade/collection';\nimport { DebugDomRootRenderer } from '../../private_import_core';\nimport { getDOM } from '../dom_adapter';\nimport { DomRootRenderer } from '../dom_renderer';\nvar /** @type {?} */ CORE_TOKENS = {\n    'ApplicationRef': core.ApplicationRef,\n    'NgZone': core.NgZone,\n};\nvar /** @type {?} */ INSPECT_GLOBAL_NAME = 'ng.probe';\nvar /** @type {?} */ CORE_TOKENS_GLOBAL_NAME = 'ng.coreTokens';\n/**\n * Returns a {\\@link DebugElement} for the given native DOM element, or\n * null if the given native element does not have an Angular view associated\n * with it.\n * @param {?} element\n * @return {?}\n */\nexport function inspectNativeElement(element) {\n    return core.getDebugNode(element);\n}\n/**\n * Deprecated. Use the one from '\\@angular/core'.\n * @deprecated\n */\nexport var NgProbeToken = (function () {\n    /**\n     * @param {?} name\n     * @param {?} token\n     */\n    function NgProbeToken(name, token) {\n        this.name = name;\n        this.token = token;\n    }\n    return NgProbeToken;\n}());\nfunction NgProbeToken_tsickle_Closure_declarations() {\n    /** @type {?} */\n    NgProbeToken.prototype.name;\n    /** @type {?} */\n    NgProbeToken.prototype.token;\n}\n/**\n * @param {?} rootRenderer\n * @param {?} extraTokens\n * @param {?} coreTokens\n * @return {?}\n */\nexport function _createConditionalRootRenderer(rootRenderer, extraTokens, coreTokens) {\n    return core.isDevMode() ?\n        _createRootRenderer(rootRenderer, (extraTokens || []).concat(coreTokens || [])) :\n        rootRenderer;\n}\n/**\n * @param {?} rootRenderer\n * @param {?} extraTokens\n * @return {?}\n */\nfunction _createRootRenderer(rootRenderer, extraTokens) {\n    getDOM().setGlobalVar(INSPECT_GLOBAL_NAME, inspectNativeElement);\n    getDOM().setGlobalVar(CORE_TOKENS_GLOBAL_NAME, StringMapWrapper.merge(CORE_TOKENS, _ngProbeTokensToMap(extraTokens || [])));\n    return new DebugDomRootRenderer(rootRenderer);\n}\n/**\n * @param {?} tokens\n * @return {?}\n */\nfunction _ngProbeTokensToMap(tokens) {\n    return tokens.reduce(function (prev, t) { return (prev[t.name] = t.token, prev); }, {});\n}\n/**\n * Providers which support debugging Angular applications (e.g. via `ng.probe`).\n */\nexport var /** @type {?} */ ELEMENT_PROBE_PROVIDERS = [{\n        provide: core.RootRenderer,\n        useFactory: _createConditionalRootRenderer,\n        deps: [\n            DomRootRenderer, [NgProbeToken, new core.Optional()],\n            [core.NgProbeToken, new core.Optional()]\n        ]\n    }];\n//# sourceMappingURL=ng_probe.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/platform-browser/src/dom/debug/ng_probe.js\n// module id = 300\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { APP_ID, Inject, Injectable, ViewEncapsulation } from '@angular/core';\nimport { isPresent, stringify } from '../facade/lang';\nimport { NoOpAnimationPlayer } from '../private_import_core';\nimport { AnimationDriver } from './animation_driver';\nimport { DOCUMENT } from './dom_tokens';\nimport { EventManager } from './events/event_manager';\nimport { DomSharedStylesHost } from './shared_styles_host';\nexport var /** @type {?} */ NAMESPACE_URIS = {\n    'xlink': 'http://www.w3.org/1999/xlink',\n    'svg': 'http://www.w3.org/2000/svg',\n    'xhtml': 'http://www.w3.org/1999/xhtml'\n};\nvar /** @type {?} */ TEMPLATE_COMMENT_TEXT = 'template bindings={}';\nvar /** @type {?} */ TEMPLATE_BINDINGS_EXP = /^template bindings=(.*)$/;\n/**\n * @abstract\n */\nexport var DomRootRenderer = (function () {\n    /**\n     * @param {?} document\n     * @param {?} eventManager\n     * @param {?} sharedStylesHost\n     * @param {?} animationDriver\n     * @param {?} appId\n     */\n    function DomRootRenderer(document, eventManager, sharedStylesHost, animationDriver, appId) {\n        this.document = document;\n        this.eventManager = eventManager;\n        this.sharedStylesHost = sharedStylesHost;\n        this.animationDriver = animationDriver;\n        this.appId = appId;\n        this.registeredComponents = new Map();\n    }\n    /**\n     * @param {?} componentProto\n     * @return {?}\n     */\n    DomRootRenderer.prototype.renderComponent = function (componentProto) {\n        var /** @type {?} */ renderer = this.registeredComponents.get(componentProto.id);\n        if (!renderer) {\n            renderer = new DomRenderer(this, componentProto, this.animationDriver, this.appId + \"-\" + componentProto.id);\n            this.registeredComponents.set(componentProto.id, renderer);\n        }\n        return renderer;\n    };\n    return DomRootRenderer;\n}());\nfunction DomRootRenderer_tsickle_Closure_declarations() {\n    /** @type {?} */\n    DomRootRenderer.prototype.registeredComponents;\n    /** @type {?} */\n    DomRootRenderer.prototype.document;\n    /** @type {?} */\n    DomRootRenderer.prototype.eventManager;\n    /** @type {?} */\n    DomRootRenderer.prototype.sharedStylesHost;\n    /** @type {?} */\n    DomRootRenderer.prototype.animationDriver;\n    /** @type {?} */\n    DomRootRenderer.prototype.appId;\n}\nexport var DomRootRenderer_ = (function (_super) {\n    __extends(DomRootRenderer_, _super);\n    /**\n     * @param {?} _document\n     * @param {?} _eventManager\n     * @param {?} sharedStylesHost\n     * @param {?} animationDriver\n     * @param {?} appId\n     */\n    function DomRootRenderer_(_document, _eventManager, sharedStylesHost, animationDriver, appId) {\n        _super.call(this, _document, _eventManager, sharedStylesHost, animationDriver, appId);\n    }\n    DomRootRenderer_.decorators = [\n        { type: Injectable },\n    ];\n    /** @nocollapse */\n    DomRootRenderer_.ctorParameters = function () { return [\n        { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] },] },\n        { type: EventManager, },\n        { type: DomSharedStylesHost, },\n        { type: AnimationDriver, },\n        { type: undefined, decorators: [{ type: Inject, args: [APP_ID,] },] },\n    ]; };\n    return DomRootRenderer_;\n}(DomRootRenderer));\nfunction DomRootRenderer__tsickle_Closure_declarations() {\n    /** @type {?} */\n    DomRootRenderer_.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    DomRootRenderer_.ctorParameters;\n}\nexport var /** @type {?} */ DIRECT_DOM_RENDERER = {\n    /**\n     * @param {?} node\n     * @return {?}\n     */\n    remove: function (node) {\n        if (node.parentNode) {\n            node.parentNode.removeChild(node);\n        }\n    },\n    /**\n     * @param {?} node\n     * @param {?} parent\n     * @return {?}\n     */\n    appendChild: function (node, parent) { parent.appendChild(node); },\n    /**\n     * @param {?} node\n     * @param {?} refNode\n     * @return {?}\n     */\n    insertBefore: function (node, refNode) { refNode.parentNode.insertBefore(node, refNode); },\n    /**\n     * @param {?} node\n     * @return {?}\n     */\n    nextSibling: function (node) { return node.nextSibling; },\n    /**\n     * @param {?} node\n     * @return {?}\n     */\n    parentElement: function (node) { return (node.parentNode); }\n};\nexport var DomRenderer = (function () {\n    /**\n     * @param {?} _rootRenderer\n     * @param {?} componentProto\n     * @param {?} _animationDriver\n     * @param {?} styleShimId\n     */\n    function DomRenderer(_rootRenderer, componentProto, _animationDriver, styleShimId) {\n        this._rootRenderer = _rootRenderer;\n        this.componentProto = componentProto;\n        this._animationDriver = _animationDriver;\n        this.directRenderer = DIRECT_DOM_RENDERER;\n        this._styles = flattenStyles(styleShimId, componentProto.styles, []);\n        if (componentProto.encapsulation !== ViewEncapsulation.Native) {\n            this._rootRenderer.sharedStylesHost.addStyles(this._styles);\n        }\n        if (this.componentProto.encapsulation === ViewEncapsulation.Emulated) {\n            this._contentAttr = shimContentAttribute(styleShimId);\n            this._hostAttr = shimHostAttribute(styleShimId);\n        }\n        else {\n            this._contentAttr = null;\n            this._hostAttr = null;\n        }\n    }\n    /**\n     * @param {?} selectorOrNode\n     * @param {?} debugInfo\n     * @return {?}\n     */\n    DomRenderer.prototype.selectRootElement = function (selectorOrNode, debugInfo) {\n        var /** @type {?} */ el;\n        if (typeof selectorOrNode === 'string') {\n            el = this._rootRenderer.document.querySelector(selectorOrNode);\n            if (!el) {\n                throw new Error(\"The selector \\\"\" + selectorOrNode + \"\\\" did not match any elements\");\n            }\n        }\n        else {\n            el = selectorOrNode;\n        }\n        while (el.firstChild) {\n            el.removeChild(el.firstChild);\n        }\n        return el;\n    };\n    /**\n     * @param {?} parent\n     * @param {?} name\n     * @param {?} debugInfo\n     * @return {?}\n     */\n    DomRenderer.prototype.createElement = function (parent, name, debugInfo) {\n        var /** @type {?} */ el;\n        if (isNamespaced(name)) {\n            var /** @type {?} */ nsAndName = splitNamespace(name);\n            el = document.createElementNS((NAMESPACE_URIS)[nsAndName[0]], nsAndName[1]);\n        }\n        else {\n            el = document.createElement(name);\n        }\n        if (this._contentAttr) {\n            el.setAttribute(this._contentAttr, '');\n        }\n        if (parent) {\n            parent.appendChild(el);\n        }\n        return el;\n    };\n    /**\n     * @param {?} hostElement\n     * @return {?}\n     */\n    DomRenderer.prototype.createViewRoot = function (hostElement) {\n        var /** @type {?} */ nodesParent;\n        if (this.componentProto.encapsulation === ViewEncapsulation.Native) {\n            nodesParent = ((hostElement)).createShadowRoot();\n            for (var /** @type {?} */ i = 0; i < this._styles.length; i++) {\n                var /** @type {?} */ styleEl = document.createElement('style');\n                styleEl.textContent = this._styles[i];\n                nodesParent.appendChild(styleEl);\n            }\n        }\n        else {\n            if (this._hostAttr) {\n                hostElement.setAttribute(this._hostAttr, '');\n            }\n            nodesParent = hostElement;\n        }\n        return nodesParent;\n    };\n    /**\n     * @param {?} parentElement\n     * @param {?} debugInfo\n     * @return {?}\n     */\n    DomRenderer.prototype.createTemplateAnchor = function (parentElement, debugInfo) {\n        var /** @type {?} */ comment = document.createComment(TEMPLATE_COMMENT_TEXT);\n        if (parentElement) {\n            parentElement.appendChild(comment);\n        }\n        return comment;\n    };\n    /**\n     * @param {?} parentElement\n     * @param {?} value\n     * @param {?} debugInfo\n     * @return {?}\n     */\n    DomRenderer.prototype.createText = function (parentElement, value, debugInfo) {\n        var /** @type {?} */ node = document.createTextNode(value);\n        if (parentElement) {\n            parentElement.appendChild(node);\n        }\n        return node;\n    };\n    /**\n     * @param {?} parentElement\n     * @param {?} nodes\n     * @return {?}\n     */\n    DomRenderer.prototype.projectNodes = function (parentElement, nodes) {\n        if (!parentElement)\n            return;\n        appendNodes(parentElement, nodes);\n    };\n    /**\n     * @param {?} node\n     * @param {?} viewRootNodes\n     * @return {?}\n     */\n    DomRenderer.prototype.attachViewAfter = function (node, viewRootNodes) { moveNodesAfterSibling(node, viewRootNodes); };\n    /**\n     * @param {?} viewRootNodes\n     * @return {?}\n     */\n    DomRenderer.prototype.detachView = function (viewRootNodes) {\n        for (var /** @type {?} */ i = 0; i < viewRootNodes.length; i++) {\n            var /** @type {?} */ node = viewRootNodes[i];\n            if (node.parentNode) {\n                node.parentNode.removeChild(node);\n            }\n        }\n    };\n    /**\n     * @param {?} hostElement\n     * @param {?} viewAllNodes\n     * @return {?}\n     */\n    DomRenderer.prototype.destroyView = function (hostElement, viewAllNodes) {\n        if (this.componentProto.encapsulation === ViewEncapsulation.Native && hostElement) {\n            this._rootRenderer.sharedStylesHost.removeHost(((hostElement)).shadowRoot);\n        }\n    };\n    /**\n     * @param {?} renderElement\n     * @param {?} name\n     * @param {?} callback\n     * @return {?}\n     */\n    DomRenderer.prototype.listen = function (renderElement, name, callback) {\n        return this._rootRenderer.eventManager.addEventListener(renderElement, name, decoratePreventDefault(callback));\n    };\n    /**\n     * @param {?} target\n     * @param {?} name\n     * @param {?} callback\n     * @return {?}\n     */\n    DomRenderer.prototype.listenGlobal = function (target, name, callback) {\n        return this._rootRenderer.eventManager.addGlobalEventListener(target, name, decoratePreventDefault(callback));\n    };\n    /**\n     * @param {?} renderElement\n     * @param {?} propertyName\n     * @param {?} propertyValue\n     * @return {?}\n     */\n    DomRenderer.prototype.setElementProperty = function (renderElement, propertyName, propertyValue) {\n        ((renderElement))[propertyName] = propertyValue;\n    };\n    /**\n     * @param {?} renderElement\n     * @param {?} attributeName\n     * @param {?} attributeValue\n     * @return {?}\n     */\n    DomRenderer.prototype.setElementAttribute = function (renderElement, attributeName, attributeValue) {\n        var /** @type {?} */ attrNs;\n        var /** @type {?} */ attrNameWithoutNs = attributeName;\n        if (isNamespaced(attributeName)) {\n            var /** @type {?} */ nsAndName = splitNamespace(attributeName);\n            attrNameWithoutNs = nsAndName[1];\n            attributeName = nsAndName[0] + ':' + nsAndName[1];\n            attrNs = NAMESPACE_URIS[nsAndName[0]];\n        }\n        if (isPresent(attributeValue)) {\n            if (attrNs) {\n                renderElement.setAttributeNS(attrNs, attributeName, attributeValue);\n            }\n            else {\n                renderElement.setAttribute(attributeName, attributeValue);\n            }\n        }\n        else {\n            if (isPresent(attrNs)) {\n                renderElement.removeAttributeNS(attrNs, attrNameWithoutNs);\n            }\n            else {\n                renderElement.removeAttribute(attributeName);\n            }\n        }\n    };\n    /**\n     * @param {?} renderElement\n     * @param {?} propertyName\n     * @param {?} propertyValue\n     * @return {?}\n     */\n    DomRenderer.prototype.setBindingDebugInfo = function (renderElement, propertyName, propertyValue) {\n        if (renderElement.nodeType === Node.COMMENT_NODE) {\n            var /** @type {?} */ existingBindings = renderElement.nodeValue.replace(/\\n/g, '').match(TEMPLATE_BINDINGS_EXP);\n            var /** @type {?} */ parsedBindings = JSON.parse(existingBindings[1]);\n            parsedBindings[propertyName] = propertyValue;\n            renderElement.nodeValue =\n                TEMPLATE_COMMENT_TEXT.replace('{}', JSON.stringify(parsedBindings, null, 2));\n        }\n        else {\n            this.setElementAttribute(renderElement, propertyName, propertyValue);\n        }\n    };\n    /**\n     * @param {?} renderElement\n     * @param {?} className\n     * @param {?} isAdd\n     * @return {?}\n     */\n    DomRenderer.prototype.setElementClass = function (renderElement, className, isAdd) {\n        if (isAdd) {\n            renderElement.classList.add(className);\n        }\n        else {\n            renderElement.classList.remove(className);\n        }\n    };\n    /**\n     * @param {?} renderElement\n     * @param {?} styleName\n     * @param {?} styleValue\n     * @return {?}\n     */\n    DomRenderer.prototype.setElementStyle = function (renderElement, styleName, styleValue) {\n        if (isPresent(styleValue)) {\n            ((renderElement.style))[styleName] = stringify(styleValue);\n        }\n        else {\n            // IE requires '' instead of null\n            // see https://github.com/angular/angular/issues/7916\n            ((renderElement.style))[styleName] = '';\n        }\n    };\n    /**\n     * @param {?} renderElement\n     * @param {?} methodName\n     * @param {?} args\n     * @return {?}\n     */\n    DomRenderer.prototype.invokeElementMethod = function (renderElement, methodName, args) {\n        ((renderElement))[methodName].apply(renderElement, args);\n    };\n    /**\n     * @param {?} renderNode\n     * @param {?} text\n     * @return {?}\n     */\n    DomRenderer.prototype.setText = function (renderNode, text) { renderNode.nodeValue = text; };\n    /**\n     * @param {?} element\n     * @param {?} startingStyles\n     * @param {?} keyframes\n     * @param {?} duration\n     * @param {?} delay\n     * @param {?} easing\n     * @param {?=} previousPlayers\n     * @return {?}\n     */\n    DomRenderer.prototype.animate = function (element, startingStyles, keyframes, duration, delay, easing, previousPlayers) {\n        if (previousPlayers === void 0) { previousPlayers = []; }\n        if (this._rootRenderer.document.body.contains(element)) {\n            return this._animationDriver.animate(element, startingStyles, keyframes, duration, delay, easing, previousPlayers);\n        }\n        return new NoOpAnimationPlayer();\n    };\n    return DomRenderer;\n}());\nfunction DomRenderer_tsickle_Closure_declarations() {\n    /** @type {?} */\n    DomRenderer.prototype._contentAttr;\n    /** @type {?} */\n    DomRenderer.prototype._hostAttr;\n    /** @type {?} */\n    DomRenderer.prototype._styles;\n    /** @type {?} */\n    DomRenderer.prototype.directRenderer;\n    /** @type {?} */\n    DomRenderer.prototype._rootRenderer;\n    /** @type {?} */\n    DomRenderer.prototype.componentProto;\n    /** @type {?} */\n    DomRenderer.prototype._animationDriver;\n}\n/**\n * @param {?} sibling\n * @param {?} nodes\n * @return {?}\n */\nfunction moveNodesAfterSibling(sibling, nodes) {\n    var /** @type {?} */ parent = sibling.parentNode;\n    if (nodes.length > 0 && parent) {\n        var /** @type {?} */ nextSibling = sibling.nextSibling;\n        if (nextSibling) {\n            for (var /** @type {?} */ i = 0; i < nodes.length; i++) {\n                parent.insertBefore(nodes[i], nextSibling);\n            }\n        }\n        else {\n            for (var /** @type {?} */ i = 0; i < nodes.length; i++) {\n                parent.appendChild(nodes[i]);\n            }\n        }\n    }\n}\n/**\n * @param {?} parent\n * @param {?} nodes\n * @return {?}\n */\nfunction appendNodes(parent, nodes) {\n    for (var /** @type {?} */ i = 0; i < nodes.length; i++) {\n        parent.appendChild(nodes[i]);\n    }\n}\n/**\n * @param {?} eventHandler\n * @return {?}\n */\nfunction decoratePreventDefault(eventHandler) {\n    return function (event) {\n        var /** @type {?} */ allowDefaultBehavior = eventHandler(event);\n        if (allowDefaultBehavior === false) {\n            // TODO(tbosch): move preventDefault into event plugins...\n            event.preventDefault();\n            event.returnValue = false;\n        }\n    };\n}\nvar /** @type {?} */ COMPONENT_REGEX = /%COMP%/g;\nexport var /** @type {?} */ COMPONENT_VARIABLE = '%COMP%';\nexport var /** @type {?} */ HOST_ATTR = \"_nghost-\" + COMPONENT_VARIABLE;\nexport var /** @type {?} */ CONTENT_ATTR = \"_ngcontent-\" + COMPONENT_VARIABLE;\n/**\n * @param {?} componentShortId\n * @return {?}\n */\nexport function shimContentAttribute(componentShortId) {\n    return CONTENT_ATTR.replace(COMPONENT_REGEX, componentShortId);\n}\n/**\n * @param {?} componentShortId\n * @return {?}\n */\nexport function shimHostAttribute(componentShortId) {\n    return HOST_ATTR.replace(COMPONENT_REGEX, componentShortId);\n}\n/**\n * @param {?} compId\n * @param {?} styles\n * @param {?} target\n * @return {?}\n */\nexport function flattenStyles(compId, styles, target) {\n    for (var /** @type {?} */ i = 0; i < styles.length; i++) {\n        var /** @type {?} */ style = styles[i];\n        if (Array.isArray(style)) {\n            flattenStyles(compId, style, target);\n        }\n        else {\n            style = style.replace(COMPONENT_REGEX, compId);\n            target.push(style);\n        }\n    }\n    return target;\n}\nvar /** @type {?} */ NS_PREFIX_RE = /^:([^:]+):(.+)$/;\n/**\n * @param {?} name\n * @return {?}\n */\nexport function isNamespaced(name) {\n    return name[0] === ':';\n}\n/**\n * @param {?} name\n * @return {?}\n */\nexport function splitNamespace(name) {\n    var /** @type {?} */ match = name.match(NS_PREFIX_RE);\n    return [match[1], match[2]];\n}\n//# sourceMappingURL=dom_renderer.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/platform-browser/src/dom/dom_renderer.js\n// module id = 301\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { Inject, Injectable, OpaqueToken } from '@angular/core';\nimport { EventManagerPlugin } from './event_manager';\nvar /** @type {?} */ EVENT_NAMES = {\n    // pan\n    'pan': true,\n    'panstart': true,\n    'panmove': true,\n    'panend': true,\n    'pancancel': true,\n    'panleft': true,\n    'panright': true,\n    'panup': true,\n    'pandown': true,\n    // pinch\n    'pinch': true,\n    'pinchstart': true,\n    'pinchmove': true,\n    'pinchend': true,\n    'pinchcancel': true,\n    'pinchin': true,\n    'pinchout': true,\n    // press\n    'press': true,\n    'pressup': true,\n    // rotate\n    'rotate': true,\n    'rotatestart': true,\n    'rotatemove': true,\n    'rotateend': true,\n    'rotatecancel': true,\n    // swipe\n    'swipe': true,\n    'swipeleft': true,\n    'swiperight': true,\n    'swipeup': true,\n    'swipedown': true,\n    // tap\n    'tap': true,\n};\n/**\n * A DI token that you can use to provide{@link HammerGestureConfig} to Angular. Use it to configure\n * Hammer gestures.\n *\n * @experimental\n */\nexport var /** @type {?} */ HAMMER_GESTURE_CONFIG = new OpaqueToken('HammerGestureConfig');\n/**\n * \\@experimental\n */\nexport var HammerGestureConfig = (function () {\n    function HammerGestureConfig() {\n        this.events = [];\n        this.overrides = {};\n    }\n    /**\n     * @param {?} element\n     * @return {?}\n     */\n    HammerGestureConfig.prototype.buildHammer = function (element) {\n        var /** @type {?} */ mc = new Hammer(element);\n        mc.get('pinch').set({ enable: true });\n        mc.get('rotate').set({ enable: true });\n        for (var eventName in this.overrides) {\n            mc.get(eventName).set(this.overrides[eventName]);\n        }\n        return mc;\n    };\n    HammerGestureConfig.decorators = [\n        { type: Injectable },\n    ];\n    /** @nocollapse */\n    HammerGestureConfig.ctorParameters = function () { return []; };\n    return HammerGestureConfig;\n}());\nfunction HammerGestureConfig_tsickle_Closure_declarations() {\n    /** @type {?} */\n    HammerGestureConfig.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    HammerGestureConfig.ctorParameters;\n    /** @type {?} */\n    HammerGestureConfig.prototype.events;\n    /** @type {?} */\n    HammerGestureConfig.prototype.overrides;\n}\nexport var HammerGesturesPlugin = (function (_super) {\n    __extends(HammerGesturesPlugin, _super);\n    /**\n     * @param {?} _config\n     */\n    function HammerGesturesPlugin(_config) {\n        _super.call(this);\n        this._config = _config;\n    }\n    /**\n     * @param {?} eventName\n     * @return {?}\n     */\n    HammerGesturesPlugin.prototype.supports = function (eventName) {\n        if (!EVENT_NAMES.hasOwnProperty(eventName.toLowerCase()) && !this.isCustomEvent(eventName)) {\n            return false;\n        }\n        if (!((window)).Hammer) {\n            throw new Error(\"Hammer.js is not loaded, can not bind \" + eventName + \" event\");\n        }\n        return true;\n    };\n    /**\n     * @param {?} element\n     * @param {?} eventName\n     * @param {?} handler\n     * @return {?}\n     */\n    HammerGesturesPlugin.prototype.addEventListener = function (element, eventName, handler) {\n        var _this = this;\n        var /** @type {?} */ zone = this.manager.getZone();\n        eventName = eventName.toLowerCase();\n        return zone.runOutsideAngular(function () {\n            // Creating the manager bind events, must be done outside of angular\n            var /** @type {?} */ mc = _this._config.buildHammer(element);\n            var /** @type {?} */ callback = function (eventObj) {\n                zone.runGuarded(function () { handler(eventObj); });\n            };\n            mc.on(eventName, callback);\n            return function () { return mc.off(eventName, callback); };\n        });\n    };\n    /**\n     * @param {?} eventName\n     * @return {?}\n     */\n    HammerGesturesPlugin.prototype.isCustomEvent = function (eventName) { return this._config.events.indexOf(eventName) > -1; };\n    HammerGesturesPlugin.decorators = [\n        { type: Injectable },\n    ];\n    /** @nocollapse */\n    HammerGesturesPlugin.ctorParameters = function () { return [\n        { type: HammerGestureConfig, decorators: [{ type: Inject, args: [HAMMER_GESTURE_CONFIG,] },] },\n    ]; };\n    return HammerGesturesPlugin;\n}(EventManagerPlugin));\nfunction HammerGesturesPlugin_tsickle_Closure_declarations() {\n    /** @type {?} */\n    HammerGesturesPlugin.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    HammerGesturesPlugin.ctorParameters;\n    /** @type {?} */\n    HammerGesturesPlugin.prototype._config;\n}\n//# sourceMappingURL=hammer_gestures.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/platform-browser/src/dom/events/hammer_gestures.js\n// module id = 302\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { Inject, Injectable } from '@angular/core';\nimport { getDOM } from './dom_adapter';\nimport { DOCUMENT } from './dom_tokens';\nexport var SharedStylesHost = (function () {\n    function SharedStylesHost() {\n        /** @internal */\n        this._stylesSet = new Set();\n    }\n    /**\n     * @param {?} styles\n     * @return {?}\n     */\n    SharedStylesHost.prototype.addStyles = function (styles) {\n        var _this = this;\n        var /** @type {?} */ additions = new Set();\n        styles.forEach(function (style) {\n            if (!_this._stylesSet.has(style)) {\n                _this._stylesSet.add(style);\n                additions.add(style);\n            }\n        });\n        this.onStylesAdded(additions);\n    };\n    /**\n     * @param {?} additions\n     * @return {?}\n     */\n    SharedStylesHost.prototype.onStylesAdded = function (additions) { };\n    /**\n     * @return {?}\n     */\n    SharedStylesHost.prototype.getAllStyles = function () { return Array.from(this._stylesSet); };\n    SharedStylesHost.decorators = [\n        { type: Injectable },\n    ];\n    /** @nocollapse */\n    SharedStylesHost.ctorParameters = function () { return []; };\n    return SharedStylesHost;\n}());\nfunction SharedStylesHost_tsickle_Closure_declarations() {\n    /** @type {?} */\n    SharedStylesHost.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    SharedStylesHost.ctorParameters;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    SharedStylesHost.prototype._stylesSet;\n}\nexport var DomSharedStylesHost = (function (_super) {\n    __extends(DomSharedStylesHost, _super);\n    /**\n     * @param {?} _doc\n     */\n    function DomSharedStylesHost(_doc) {\n        _super.call(this);\n        this._doc = _doc;\n        this._hostNodes = new Set();\n        this._styleNodes = new Set();\n        this._hostNodes.add(_doc.head);\n    }\n    /**\n     * @param {?} styles\n     * @param {?} host\n     * @return {?}\n     */\n    DomSharedStylesHost.prototype._addStylesToHost = function (styles, host) {\n        var _this = this;\n        styles.forEach(function (style) {\n            var /** @type {?} */ styleEl = _this._doc.createElement('style');\n            styleEl.textContent = style;\n            _this._styleNodes.add(host.appendChild(styleEl));\n        });\n    };\n    /**\n     * @param {?} hostNode\n     * @return {?}\n     */\n    DomSharedStylesHost.prototype.addHost = function (hostNode) {\n        this._addStylesToHost(this._stylesSet, hostNode);\n        this._hostNodes.add(hostNode);\n    };\n    /**\n     * @param {?} hostNode\n     * @return {?}\n     */\n    DomSharedStylesHost.prototype.removeHost = function (hostNode) { this._hostNodes.delete(hostNode); };\n    /**\n     * @param {?} additions\n     * @return {?}\n     */\n    DomSharedStylesHost.prototype.onStylesAdded = function (additions) {\n        var _this = this;\n        this._hostNodes.forEach(function (hostNode) { return _this._addStylesToHost(additions, hostNode); });\n    };\n    /**\n     * @return {?}\n     */\n    DomSharedStylesHost.prototype.ngOnDestroy = function () { this._styleNodes.forEach(function (styleNode) { return getDOM().remove(styleNode); }); };\n    DomSharedStylesHost.decorators = [\n        { type: Injectable },\n    ];\n    /** @nocollapse */\n    DomSharedStylesHost.ctorParameters = function () { return [\n        { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] },] },\n    ]; };\n    return DomSharedStylesHost;\n}(SharedStylesHost));\nfunction DomSharedStylesHost_tsickle_Closure_declarations() {\n    /** @type {?} */\n    DomSharedStylesHost.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    DomSharedStylesHost.ctorParameters;\n    /** @type {?} */\n    DomSharedStylesHost.prototype._hostNodes;\n    /** @type {?} */\n    DomSharedStylesHost.prototype._styleNodes;\n    /** @type {?} */\n    DomSharedStylesHost.prototype._doc;\n}\n//# sourceMappingURL=shared_styles_host.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/platform-browser/src/dom/shared_styles_host.js\n// module id = 303\n// module chunks = 0","/**\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 */\nimport { __core_private__ as r } from '@angular/core';\nexport var /** @type {?} */ RenderDebugInfo = r.RenderDebugInfo;\nexport var /** @type {?} */ ReflectionCapabilities = r.ReflectionCapabilities;\nexport var /** @type {?} */ DebugDomRootRenderer = r.DebugDomRootRenderer;\nexport var /** @type {?} */ reflector = r.reflector;\nexport var /** @type {?} */ NoOpAnimationPlayer = r.NoOpAnimationPlayer;\nexport var /** @type {?} */ AnimationPlayer = r.AnimationPlayer;\nexport var /** @type {?} */ AnimationSequencePlayer = r.AnimationSequencePlayer;\nexport var /** @type {?} */ AnimationGroupPlayer = r.AnimationGroupPlayer;\nexport var /** @type {?} */ AnimationKeyframe = r.AnimationKeyframe;\nexport var /** @type {?} */ AnimationStyles = r.AnimationStyles;\nexport var /** @type {?} */ prepareFinalAnimationStyles = r.prepareFinalAnimationStyles;\nexport var /** @type {?} */ balanceAnimationKeyframes = r.balanceAnimationKeyframes;\nexport var /** @type {?} */ clearStyles = r.clearStyles;\nexport var /** @type {?} */ collectAndResolveStyles = r.collectAndResolveStyles;\n//# sourceMappingURL=private_import_core.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/platform-browser/src/private_import_core.js\n// module id = 304\n// module chunks = 0","/**\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 */\nimport { isDevMode } from '@angular/core';\nimport { getDOM } from '../dom/dom_adapter';\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * This regular expression matches a subset of URLs that will not cause script\n * execution if used in URL context within a HTML document. Specifically, this\n * regular expression matches if (comment from here on and regex copied from\n * Soy's EscapingConventions):\n * (1) Either a protocol in a whitelist (http, https, mailto or ftp).\n * (2) or no protocol.  A protocol must be followed by a colon. The below\n *     allows that by allowing colons only after one of the characters [/?#].\n *     A colon after a hash (#) must be in the fragment.\n *     Otherwise, a colon after a (?) must be in a query.\n *     Otherwise, a colon after a single solidus (/) must be in a path.\n *     Otherwise, a colon after a double solidus (//) must be in the authority\n *     (before port).\n *\n * The pattern disallows &, used in HTML entity declarations before\n * one of the characters in [/?#]. This disallows HTML entities used in the\n * protocol name, which should never happen, e.g. \"h&#116;tp\" for \"http\".\n * It also disallows HTML entities in the first path part of a relative path,\n * e.g. \"foo&lt;bar/baz\".  Our existing escaping functions should not produce\n * that. More importantly, it disallows masking of a colon,\n * e.g. \"javascript&#58;...\".\n *\n * This regular expression was taken from the Closure sanitization library.\n */\nvar /** @type {?} */ SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi;\n/* A pattern that matches safe srcset values */\nvar /** @type {?} */ SAFE_SRCSET_PATTERN = /^(?:(?:https?|file):|[^&:/?#]*(?:[/?#]|$))/gi;\n/** A pattern that matches safe data URLs. Only matches image, video and audio types. */\nvar /** @type {?} */ DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+\\/]+=*$/i;\n/**\n * @param {?} url\n * @return {?}\n */\nexport function sanitizeUrl(url) {\n    url = String(url);\n    if (url.match(SAFE_URL_PATTERN) || url.match(DATA_URL_PATTERN))\n        return url;\n    if (isDevMode()) {\n        getDOM().log(\"WARNING: sanitizing unsafe URL value \" + url + \" (see http://g.co/ng/security#xss)\");\n    }\n    return 'unsafe:' + url;\n}\n/**\n * @param {?} srcset\n * @return {?}\n */\nexport function sanitizeSrcset(srcset) {\n    srcset = String(srcset);\n    return srcset.split(',').map(function (srcset) { return sanitizeUrl(srcset.trim()); }).join(', ');\n}\n//# sourceMappingURL=url_sanitizer.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/platform-browser/src/security/url_sanitizer.js\n// module id = 305\n// module chunks = 0","/**\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 */\nimport { LocationStrategy } from '@angular/common';\nimport { Directive, HostBinding, HostListener, Input } from '@angular/core';\nimport { NavigationEnd, Router } from '../router';\nimport { ActivatedRoute } from '../router_state';\n/**\n * @whatItDoes Lets you link to specific parts of your app.\n *\n * @howToUse\n *\n * Consider the following route configuration:\n\n * ```\n * [{ path: 'user/:name', component: UserCmp }]\n * ```\n *\n * When linking to this `user/:name` route, you can write:\n *\n * ```\n * <a routerLink='/user/bob'>link to user component</a>\n * ```\n *\n * @description\n *\n * The RouterLink directives let you link to specific parts of your app.\n *\n * Whe the link is static, you can use the directive as follows:\n *\n * ```\n * <a routerLink=\"/user/bob\">link to user component</a>\n * ```\n *\n * If you use dynamic values to generate the link, you can pass an array of path\n * segments, followed by the params for each segment.\n *\n * For instance `['/team', teamId, 'user', userName, {details: true}]`\n * means that we want to generate a link to `/team/11/user/bob;details=true`.\n *\n * Multiple static segments can be merged into one (e.g., `['/team/11/user', userName, {details:\n true}]`).\n *\n * The first segment name can be prepended with `/`, `./`, or `../`:\n * * If the first segment begins with `/`, the router will look up the route from the root of the\n app.\n * * If the first segment begins with `./`, or doesn't begin with a slash, the router will\n * instead look in the children of the current activated route.\n * * And if the first segment begins with `../`, the router will go up one level.\n *\n * You can set query params and fragment as follows:\n *\n * ```\n * <a [routerLink]=\"['/user/bob']\" [queryParams]=\"{debug: true}\" fragment=\"education\">link to user\n component</a>\n * ```\n * RouterLink will use these to generate this link: `/user/bob#education?debug=true`.\n *\n * You can also tell the directive to preserve the current query params and fragment:\n *\n * ```\n * <a [routerLink]=\"['/user/bob']\" preserveQueryParams preserveFragment>link to user\n component</a>\n * ```\n *\n * The router link directive always treats the provided input as a delta to the current url.\n *\n * For instance, if the current url is `/user/(box//aux:team)`.\n *\n * Then the following link `<a [routerLink]=\"['/user/jim']\">Jim</a>` will generate the link\n * `/user/(jim//aux:team)`.\n *\n * @selector ':not(a)[routerLink]'\n * @ngModule RouterModule\n *\n * See {@link Router.createUrlTree} for more information.\n *\n * @stable\n */\nexport var RouterLink = (function () {\n    function RouterLink(router, route, locationStrategy) {\n        this.router = router;\n        this.route = route;\n        this.locationStrategy = locationStrategy;\n        this.commands = [];\n    }\n    Object.defineProperty(RouterLink.prototype, \"routerLink\", {\n        set: function (data) {\n            if (Array.isArray(data)) {\n                this.commands = data;\n            }\n            else {\n                this.commands = [data];\n            }\n        },\n        enumerable: true,\n        configurable: true\n    });\n    RouterLink.prototype.onClick = function (button, ctrlKey, metaKey) {\n        if (button !== 0 || ctrlKey || metaKey) {\n            return true;\n        }\n        this.router.navigateByUrl(this.urlTree);\n        return false;\n    };\n    Object.defineProperty(RouterLink.prototype, \"urlTree\", {\n        get: function () {\n            return this.router.createUrlTree(this.commands, {\n                relativeTo: this.route,\n                queryParams: this.queryParams,\n                fragment: this.fragment,\n                preserveQueryParams: toBool(this.preserveQueryParams),\n                preserveFragment: toBool(this.preserveFragment)\n            });\n        },\n        enumerable: true,\n        configurable: true\n    });\n    RouterLink.decorators = [\n        { type: Directive, args: [{ selector: ':not(a)[routerLink]' },] },\n    ];\n    /** @nocollapse */\n    RouterLink.ctorParameters = [\n        { type: Router, },\n        { type: ActivatedRoute, },\n        { type: LocationStrategy, },\n    ];\n    RouterLink.propDecorators = {\n        'queryParams': [{ type: Input },],\n        'fragment': [{ type: Input },],\n        'preserveQueryParams': [{ type: Input },],\n        'preserveFragment': [{ type: Input },],\n        'routerLink': [{ type: Input },],\n        'onClick': [{ type: HostListener, args: ['click', ['$event.button', '$event.ctrlKey', '$event.metaKey'],] },],\n    };\n    return RouterLink;\n}());\n/**\n * @whatItDoes Lets you link to specific parts of your app.\n *\n * See {@link RouterLink} for more information.\n *\n * @selector 'a[routerLink]'\n * @ngModule RouterModule\n *\n * @stable\n */\nexport var RouterLinkWithHref = (function () {\n    function RouterLinkWithHref(router, route, locationStrategy) {\n        var _this = this;\n        this.router = router;\n        this.route = route;\n        this.locationStrategy = locationStrategy;\n        this.commands = [];\n        this.subscription = router.events.subscribe(function (s) {\n            if (s instanceof NavigationEnd) {\n                _this.updateTargetUrlAndHref();\n            }\n        });\n    }\n    Object.defineProperty(RouterLinkWithHref.prototype, \"routerLink\", {\n        set: function (data) {\n            if (Array.isArray(data)) {\n                this.commands = data;\n            }\n            else {\n                this.commands = [data];\n            }\n        },\n        enumerable: true,\n        configurable: true\n    });\n    RouterLinkWithHref.prototype.ngOnChanges = function (changes) { this.updateTargetUrlAndHref(); };\n    RouterLinkWithHref.prototype.ngOnDestroy = function () { this.subscription.unsubscribe(); };\n    RouterLinkWithHref.prototype.onClick = function (button, ctrlKey, metaKey) {\n        if (button !== 0 || ctrlKey || metaKey) {\n            return true;\n        }\n        if (typeof this.target === 'string' && this.target != '_self') {\n            return true;\n        }\n        this.router.navigateByUrl(this.urlTree);\n        return false;\n    };\n    RouterLinkWithHref.prototype.updateTargetUrlAndHref = function () {\n        this.href = this.locationStrategy.prepareExternalUrl(this.router.serializeUrl(this.urlTree));\n    };\n    Object.defineProperty(RouterLinkWithHref.prototype, \"urlTree\", {\n        get: function () {\n            return this.router.createUrlTree(this.commands, {\n                relativeTo: this.route,\n                queryParams: this.queryParams,\n                fragment: this.fragment,\n                preserveQueryParams: toBool(this.preserveQueryParams),\n                preserveFragment: toBool(this.preserveFragment)\n            });\n        },\n        enumerable: true,\n        configurable: true\n    });\n    RouterLinkWithHref.decorators = [\n        { type: Directive, args: [{ selector: 'a[routerLink]' },] },\n    ];\n    /** @nocollapse */\n    RouterLinkWithHref.ctorParameters = [\n        { type: Router, },\n        { type: ActivatedRoute, },\n        { type: LocationStrategy, },\n    ];\n    RouterLinkWithHref.propDecorators = {\n        'target': [{ type: Input },],\n        'queryParams': [{ type: Input },],\n        'fragment': [{ type: Input },],\n        'routerLinkOptions': [{ type: Input },],\n        'preserveQueryParams': [{ type: Input },],\n        'preserveFragment': [{ type: Input },],\n        'href': [{ type: HostBinding },],\n        'routerLink': [{ type: Input },],\n        'onClick': [{ type: HostListener, args: ['click', ['$event.button', '$event.ctrlKey', '$event.metaKey'],] },],\n    };\n    return RouterLinkWithHref;\n}());\nfunction toBool(s) {\n    if (s === '')\n        return true;\n    return !!s;\n}\n//# sourceMappingURL=router_link.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/router/src/directives/router_link.js\n// module id = 306\n// module chunks = 0","/**\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 */\nexport var Tree = (function () {\n    function Tree(root) {\n        this._root = root;\n    }\n    Object.defineProperty(Tree.prototype, \"root\", {\n        get: function () { return this._root.value; },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @internal\n     */\n    Tree.prototype.parent = function (t) {\n        var p = this.pathFromRoot(t);\n        return p.length > 1 ? p[p.length - 2] : null;\n    };\n    /**\n     * @internal\n     */\n    Tree.prototype.children = function (t) {\n        var n = findNode(t, this._root);\n        return n ? n.children.map(function (t) { return t.value; }) : [];\n    };\n    /**\n     * @internal\n     */\n    Tree.prototype.firstChild = function (t) {\n        var n = findNode(t, this._root);\n        return n && n.children.length > 0 ? n.children[0].value : null;\n    };\n    /**\n     * @internal\n     */\n    Tree.prototype.siblings = function (t) {\n        var p = findPath(t, this._root, []);\n        if (p.length < 2)\n            return [];\n        var c = p[p.length - 2].children.map(function (c) { return c.value; });\n        return c.filter(function (cc) { return cc !== t; });\n    };\n    /**\n     * @internal\n     */\n    Tree.prototype.pathFromRoot = function (t) { return findPath(t, this._root, []).map(function (s) { return s.value; }); };\n    return Tree;\n}());\nfunction findNode(expected, c) {\n    if (expected === c.value)\n        return c;\n    for (var _i = 0, _a = c.children; _i < _a.length; _i++) {\n        var cc = _a[_i];\n        var r = findNode(expected, cc);\n        if (r)\n            return r;\n    }\n    return null;\n}\nfunction findPath(expected, c, collected) {\n    collected.push(c);\n    if (expected === c.value)\n        return collected;\n    for (var _i = 0, _a = c.children; _i < _a.length; _i++) {\n        var cc = _a[_i];\n        var cloned = collected.slice(0);\n        var r = findPath(expected, cc, cloned);\n        if (r.length > 0)\n            return r;\n    }\n    return [];\n}\nexport var TreeNode = (function () {\n    function TreeNode(value, children) {\n        this.value = value;\n        this.children = children;\n    }\n    TreeNode.prototype.toString = function () { return \"TreeNode(\" + this.value + \")\"; };\n    return TreeNode;\n}());\n//# sourceMappingURL=tree.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/router/src/utils/tree.js\n// module id = 307\n// module chunks = 0","import {NgModule} from \"@angular/core\";\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport {RouterModule} from \"@angular/router\";\r\nimport {NavigationComponent} from \"./navigation.component\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { ProfileModule } from '../../../views/store/profile/profile.module';\r\n\r\n@NgModule({\r\n    imports     : [BrowserModule, RouterModule , TranslateModule],\r\n    declarations: [NavigationComponent],\r\n    exports     : [NavigationComponent],\r\n})\r\n\r\nexport class NavigationModule {}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/common/store/navigation/navigation.module.ts","import {Component, OnInit} from '@angular/core';\r\nimport {Params} from '@angular/router';\r\n\r\nimport {Helper} from \"../../helper\";\r\nimport {Response} from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport * as moment from 'moment-timezone';\r\n\r\ndeclare var google: any;\r\ndeclare var jQuery: any;\r\n\r\n\r\n@Component({\r\n    selector: 'app-location_track',\r\n    template: require('./location_track.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class LocationTrackComponent implements OnInit {\r\n\r\n    provider_markers: any[] = [];\r\n    provider_list: any[] = [];\r\n    country_list: any[] = [];\r\n    city_list: any[] = [];\r\n    store_list: any[] = [];\r\n    order_list: any[] = [];\r\n\r\n    order_user_markers: any[] = [];\r\n    order_store_markers: any[] = [];\r\n    // order_provider_markers: any[] = [];\r\n\r\n    // provider: any;\r\n\r\n    public latitude: number;\r\n    public longitude: number;\r\n    public zoom: number;\r\n    public order_id: Object;\r\n    public store_id: Object;\r\n    public provider_id: Object;\r\n    public assign_type: number=0;\r\n    country_id: Object;\r\n    city_id: Object;\r\n    id: any[] = [];\r\n    filter_type: number = 0;\r\n    order_provider: number = 0;\r\n    trafficLayer: any;\r\n\r\n    total_online_provider: number = 0;\r\n    total_in_delivery_provider: number = 0;\r\n    total_offline_provider: number = 0;\r\n\r\n    public numDeltas: number;\r\n    public delay: number; //milliseconds\r\n    public i: number;\r\n    old_lat_lng: any[];\r\n    new_lat_lng: any[];\r\n    interval: any;\r\n    provider_interval: any;\r\n    provider_timeout: any;\r\n\r\n\r\n    provider_name: string = '';\r\n    provider_email: string = '';\r\n    provider_phone: string = '';\r\n    icon: string = '';\r\n    title: any;\r\n    message: any;\r\n    heading_title: any;\r\n    button: any;\r\n    is_show: boolean = false;\r\n    map: any = '';\r\n\r\n    myLoading: boolean = true;\r\n\r\n    constructor(public helper: Helper) {\r\n    }\r\n    // ngAfterViewInit() {\r\n    //     jQuery(\"#country\").chosen();\r\n    //     jQuery(\"#city\").chosen();\r\n    //     jQuery(\"#order\").chosen();\r\n    //     jQuery(\"#provider\").chosen();\r\n    //     jQuery(\"#type\").chosen();\r\n    //     jQuery(\".chosen-select\").chosen({disable_search: true});\r\n    //     setTimeout(function () {\r\n    //         jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n    //     }, 1000);\r\n    // }\r\n\r\n\r\n    ngOnInit() {\r\n\r\n        console.log('ngOnInit')\r\n        jQuery(\"#country\").chosen();\r\n        jQuery(\"#city\").chosen();\r\n        jQuery(\"#order\").chosen();\r\n        jQuery(\"#provider\").chosen();\r\n        jQuery(\"#store\").chosen();\r\n        jQuery(\".chosen-select\").chosen({disable_search: true});\r\n\r\n        setTimeout(()=> {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n            jQuery(\"#country\").trigger(\"chosen:updated\");\r\n            console.log('country chosen')\r\n            jQuery(this.helper.elementRef.nativeElement).find('#country').on('change', (evnt, res_data) => {\r\n\r\n                console.log('change country')\r\n                this.get_city_list(res_data.selected);\r\n\r\n            });\r\n        }, 1000);\r\n\r\n        this.zoom = 4;\r\n        this.numDeltas = 100;\r\n        this.delay = 100;\r\n        this.icon = \"https://hop-delivery.s3.eu-central-1.amazonaws.com/map_pin/destination.png\";\r\n        this.title = this.helper.title;\r\n        this.message = this.helper.message;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.button = this.helper.button;\r\n\r\n        var directionsDisplay = new google.maps.DirectionsRenderer;\r\n        // navigator.geolocation.getCurrentPosition((position) => {\r\n            this.map = new google.maps.Map(document.getElementById('map'), {\r\n                zoom: 15,\r\n                streetViewControl: false,\r\n                center: {lat: 46.2044, lng: 6.1432}\r\n            });\r\n            directionsDisplay.setMap(this.map);\r\n\r\n            var noPoi = [\r\n                {\r\n                    featureType: \"poi\",\r\n                    stylers: [\r\n                      { visibility: \"off\" }\r\n                    ]   \r\n                },\r\n                {\r\n                    featureType: \"transit\",\r\n                    stylers: [\r\n                      { visibility: \"off\" }\r\n                    ]   \r\n                }\r\n            ];\r\n\r\n            this.map.setOptions({styles: noPoi});\r\n            \r\n\r\n            var legend = document.getElementById('legend');\r\n            this.map.controls[google.maps.ControlPosition.TOP_CENTER].push(legend);\r\n\r\n            this.myLoading = true;\r\n            this.helper.http.get('/api/admin/get_country_list').map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n                this.myLoading = false;\r\n                if (res_data.success) {\r\n                    this.country_list = res_data.countries;\r\n\r\n                    this.helper.route.params.subscribe((x: Params) => {\r\n                        this.country_id = this.helper.router_id.admin.country_id || x['country_id'];\r\n                        this.provider_id = this.helper.router_id.admin.provider_id || x['provider_id'];\r\n                        this.store_id = this.helper.router_id.admin.store_id || x['store_id'];\r\n                        this.order_id = this.helper.router_id.admin.order_id || x['order_id'];\r\n                        this.city_id = this.helper.router_id.admin.city_id || x['city_id'];\r\n\r\n                        if(this.country_id){\r\n                            this.get_city_list(this.country_id);\r\n                        }\r\n                        if(this.city_id){\r\n                            this.get_provider_list(this.city_id, true, true);\r\n                            this.get_store_list(this.city_id);\r\n                            console.log(this.store_id)\r\n                            if(this.store_id){\r\n                                this.get_order_list();\r\n                            }\r\n                        }\r\n\r\n\r\n            \r\n                        setTimeout(()=> {\r\n                            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n                        }, 1000);\r\n                    });\r\n\r\n                }\r\n                else {\r\n                    this.country_list = [];\r\n                }\r\n\r\n            });\r\n\r\n            jQuery(this.helper.elementRef.nativeElement).find('#city').on('change', (evnt, res_data) => {\r\n                if(this.provider_interval){\r\n                    clearInterval(this.provider_interval);\r\n                }\r\n                this.city_id = res_data.selected;\r\n                this.get_provider_list(res_data.selected, false, true);\r\n                this.get_store_list(res_data.selected);\r\n                this.provider_interval = setInterval(()=>{\r\n                    // this.get_provider_list(res_data.selected);\r\n                }, 5000);\r\n\r\n            });\r\n            // jQuery(this.helper.elementRef.nativeElement).find('#type').on('change', (evnt, res_data) => {\r\n\r\n            //     this.type = res_data.selected;\r\n\r\n            // });\r\n\r\n            jQuery(this.helper.elementRef.nativeElement).find('#assign_type').on('change', (evnt, res_data) => {\r\n                this.assign_type = res_data.selected;\r\n                if(this.store_id){\r\n                    this.get_order_list();\r\n                } else {\r\n                    this.order_list = [];\r\n                    setTimeout(()=> {\r\n                        jQuery(\"#order\").trigger(\"chosen:updated\");\r\n                    }, 1000);\r\n                    this.set_order_markers()\r\n                }\r\n            });\r\n\r\n            jQuery(this.helper.elementRef.nativeElement).find('#store').on('change', (evnt, res_data) => {\r\n                this.store_id = res_data.selected;\r\n                this.order_id = '';\r\n                this.filter_type = 0;\r\n                if(this.interval){\r\n                    clearInterval(this.interval);\r\n                }\r\n                this.provider_id = null;\r\n                setTimeout(()=> {\r\n                    jQuery(\"#provider\").trigger(\"chosen:updated\");\r\n                }, 1000);\r\n                if(this.store_id){\r\n                    this.get_order_list();\r\n                } else {\r\n                    this.order_list = [];\r\n                    setTimeout(()=> {\r\n                        jQuery(\"#order\").trigger(\"chosen:updated\");\r\n                    }, 1000);\r\n                    this.set_order_markers()\r\n                }\r\n            });\r\n            \r\n            jQuery(this.helper.elementRef.nativeElement).find('#order').on('change', (evnt, res_data) => {\r\n                this.order_id = res_data.selected;\r\n                this.filter_type = 0;\r\n                console.log('filter_type set 0')\r\n                if(this.interval){\r\n                    clearInterval(this.interval);\r\n                }\r\n                this.provider_id = null;\r\n                setTimeout(()=> {\r\n                    jQuery(\"#provider\").trigger(\"chosen:updated\");\r\n                }, 1000);\r\n                this.set_order_markers()\r\n            });\r\n\r\n            jQuery(this.helper.elementRef.nativeElement).find('#order_provider').on('change', (evnt, res_data) => {\r\n                this.order_provider = res_data.selected;\r\n                this.order_id = '';\r\n                if(this.order_provider == 2 || this.order_provider == 3){\r\n                    this.get_provider_list(null, false, true);\r\n                    if(this.interval){\r\n                        clearInterval(this.interval);\r\n                    }\r\n                    this.filter_type = this.order_provider;\r\n                    this.filter_hopper()\r\n                }\r\n\r\n                this.order_id = null;\r\n                this.store_id = null;\r\n                this.assign_type = 0;\r\n                setTimeout(()=> {\r\n                    jQuery(\"#order\").trigger(\"chosen:updated\");\r\n                }, 1000);\r\n                setTimeout(()=> {\r\n                    jQuery(\"#store\").trigger(\"chosen:updated\");\r\n                }, 1000);\r\n                setTimeout(()=> {\r\n                    jQuery(\"#assign_type\").trigger(\"chosen:updated\");\r\n                }, 1000);\r\n                this.order_user_markers.forEach((marker)=>{\r\n                    marker.setMap(null);\r\n                })\r\n                this.order_user_markers = [];\r\n\r\n                this.order_store_markers.forEach((marker)=>{\r\n                    marker.setMap(null);\r\n                })\r\n                this.order_store_markers = [];\r\n                this.get_order_list(true);\r\n\r\n            });\r\n\r\n            setTimeout(() => {\r\n                jQuery(\"#provider\").trigger(\"chosen:updated\");\r\n                jQuery(this.helper.elementRef.nativeElement).find('#provider').on('change', (evnt, res_data) => {\r\n\r\n                    if(this.interval){\r\n                        clearInterval(this.interval);\r\n                    }\r\n\r\n                    this.provider_id = res_data.selected;\r\n                    if(res_data.selected == '1'){\r\n                        this.filter_type = 1;\r\n                        this.filter_hopper()\r\n                    } else if(res_data.selected == '2'){\r\n                        this.filter_type = 2;\r\n                        this.filter_hopper()\r\n                    } else if(res_data.selected == '3'){\r\n                        this.filter_type = 3;\r\n                        this.filter_hopper()\r\n                    } else {\r\n                        this.id = [res_data.selected];\r\n                        this.filter_type = 0;\r\n                        console.log('filter_type set 0')\r\n                        var index = this.provider_list.findIndex((x)=>x._id==res_data.selected);\r\n                        if(index == -1){\r\n                            this.helper.http.post('/admin/deliveryman_track', {id: res_data.selected, type: this.filter_type}).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n                                if (res_data.success) {\r\n\r\n                                    if (res_data.provider.is_online) {\r\n                                        if(res_data.provider.request_count>0){\r\n                                            res_data.provider.map_pin = 'marker_orangeH.png';\r\n                                            // this.create_marker(provider, icon_url + 'deliveryman_online_with_orders.png', map, is_remove_marker);\r\n                                        } else {\r\n                                            res_data.provider.map_pin = 'marker_greenH.png';\r\n                                            // this.create_marker(provider, icon_url + 'deliveryman_online.png', map, is_remove_marker);\r\n                                        }\r\n\r\n                                    }\r\n                                    else {\r\n                                        // if(res_data.provider.request_count>0){\r\n                                        //     res_data.provider.map_pin = 'marker_orangeH.png';\r\n                                        //     // this.create_marker(provider, icon_url + 'deliveryman_offline_with_orders.png', map, is_remove_marker);\r\n                                        // } else {\r\n                                            res_data.provider.map_pin = 'marker_redH.png';\r\n                                            // this.create_marker(provider, icon_url + 'deliveryman_offline.png', map, is_remove_marker);\r\n                                        // }\r\n                                    }\r\n\r\n                                    this.set_provider_marker(res_data.provider, true, true)\r\n                                    \r\n                                }\r\n                            });\r\n                        } else {\r\n                            this.set_provider_marker(this.provider_list[index], true, true);\r\n                        }\r\n                    }\r\n\r\n                    this.order_id = null;\r\n                    this.store_id = null;\r\n                    setTimeout(()=> {\r\n                        jQuery(\"#order\").trigger(\"chosen:updated\");\r\n                    }, 1000);\r\n                    setTimeout(()=> {\r\n                        jQuery(\"#store\").trigger(\"chosen:updated\");\r\n                    }, 1000);\r\n                    this.order_user_markers.forEach((marker)=>{\r\n                        marker.setMap(null);\r\n                    })\r\n                    this.order_user_markers = [];\r\n\r\n                    this.order_store_markers.forEach((marker)=>{\r\n                        marker.setMap(null);\r\n                    })\r\n                    this.order_store_markers = [];\r\n\r\n                });\r\n            }, 1000);\r\n\r\n        // });\r\n    }\r\n\r\n    show_traffic(){\r\n        if(this.trafficLayer){\r\n            this.trafficLayer.setMap(null);\r\n            this.trafficLayer = null;\r\n        } else {\r\n            this.trafficLayer = new google.maps.TrafficLayer();\r\n            this.trafficLayer.setMap(this.map);\r\n        }\r\n    }\r\n\r\n    set_order_markers(){\r\n        console.log(this.order_id)\r\n        this.order_user_markers.forEach((marker)=>{\r\n            marker.setMap(null);\r\n        })\r\n        this.order_user_markers = [];\r\n\r\n        this.order_store_markers.forEach((marker)=>{\r\n            marker.setMap(null);\r\n        })\r\n        this.order_store_markers = [];\r\n\r\n        this.provider_markers.forEach((marker)=>{\r\n            if(marker.marker){\r\n                marker.marker.setMap(null);\r\n            }\r\n        })\r\n        this.provider_markers = [];\r\n\r\n\r\n        if(this.order_id){\r\n            var index = this.order_list.findIndex((x)=>x._id==this.order_id);\r\n            if(index !== -1){\r\n                this.set_order_marker(this.order_list[index]);\r\n            }\r\n        } else {\r\n            this.order_list.forEach((order_detail)=>{\r\n                this.set_order_marker(order_detail);\r\n            })\r\n        }\r\n    }\r\n\r\n    set_order_marker(order_detail){\r\n\r\n        var store_marker;\r\n        if(order_detail.pickup_location){\r\n\r\n            var icon;\r\n            var index = this.order_list.findIndex((x)=>x.store_id==order_detail.store_id && x.provider_id==null);\r\n            if(index == -1){\r\n                icon = 'https://hop-delivery.s3.eu-central-1.amazonaws.com/map_pin_images/marker_blueS.png'\r\n            } else {\r\n                icon = 'https://hop-delivery.s3.eu-central-1.amazonaws.com/map_pin_images/marker_orangeS.png';\r\n            }\r\n\r\n            store_marker = new google.maps.Marker({\r\n                position: {lat: order_detail.pickup_location[0], lng: order_detail.pickup_location[1]},\r\n                map: this.map,\r\n                icon: icon\r\n            });\r\n            this.order_store_markers.push(store_marker);\r\n\r\n            \r\n        }\r\n\r\n        var provider_marker\r\n        this.provider_id = order_detail.provider_id;\r\n        setTimeout(function () {\r\n            jQuery(\"#provider\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n        this.id = [order_detail.provider_id];\r\n        // this.type = 0;\r\n        var index = this.provider_list.findIndex((x)=>x._id==order_detail.provider_id);\r\n        var provider = this.provider_list[index];\r\n        if(index !== -1){\r\n            var marker_index = this.provider_markers.findIndex((x)=>x.id==order_detail.provider_id);\r\n            if(marker_index == -1){\r\n                this.set_provider_marker(this.provider_list[index], true, false);\r\n            }\r\n        }\r\n\r\n        if(order_detail.destination_location){\r\n            var user_marker = new google.maps.Marker({\r\n                position: {lat: order_detail.destination_location[0], lng: order_detail.destination_location[1]},\r\n                map: this.map,\r\n                icon: 'https://hop-delivery.s3.eu-central-1.amazonaws.com/map_pin_images/marker_blueU.png'\r\n            });\r\n            this.order_user_markers.push(user_marker);\r\n\r\n            google.maps.event.addListener(store_marker, 'click', (e)=> {\r\n                var ready_at = moment(order_detail.estimated_time_for_ready_order).format('hh:mm a')\r\n                var contentString =\r\n                    '<p><b>Store</b>: ' +\r\n                    '<p>'+order_detail.store_name+'</p>'+\r\n                    '<p>' + order_detail.store_address+'</p>'+\r\n                    '<p>#'+order_detail.unique_id +' ready at: '+ready_at+ '</p>'+\r\n                    '</p>';\r\n\r\n                var store_message = new google.maps.InfoWindow({\r\n                    content: contentString,\r\n                    maxWidth: 320\r\n                });\r\n                store_message.open(this.map, store_marker);\r\n\r\n                setTimeout(function () {store_message.close();}, 5000);\r\n\r\n                var delivery_at = moment(order_detail.estimated_time_for_delivery_order).format('hh:mm a')\r\n\r\n                var contentString =\r\n                    '<p><b>User</b>: ' +\r\n                    '<p>'+order_detail.user_first_name+' ' + order_detail.user_last_name +'</p>'+\r\n                    '<p>' + order_detail.destination_address+'</p>'+\r\n                    '<p>#'+order_detail.unique_id +' delivery at: '+ delivery_at + '</p>' +\r\n                    '</p>';\r\n\r\n                var user_message = new google.maps.InfoWindow({\r\n                    content: contentString,\r\n                    maxWidth: 320\r\n                });\r\n\r\n                user_message.open(this.map, user_marker);\r\n                setTimeout(function () {user_message.close();}, 5000);\r\n                \r\n            });\r\n\r\n            google.maps.event.addListener(user_marker, 'click', (e)=> {\r\n\r\n                var delivery_at = moment(order_detail.estimated_time_for_delivery_order).format('hh:mm a')\r\n\r\n                var contentString =\r\n                    '<p><b>User</b>: ' +\r\n                    '<p>'+order_detail.user_first_name+' ' + order_detail.user_last_name +'</p>'+\r\n                    '<p>' + order_detail.destination_address+'</p>'+\r\n                    '<p>#'+order_detail.unique_id +' delivery at: '+ delivery_at + '</p>' +\r\n                    '</p>';\r\n\r\n                var user_message = new google.maps.InfoWindow({\r\n                    content: contentString,\r\n                    maxWidth: 320\r\n                });\r\n\r\n                user_message.open(this.map, user_marker);\r\n                setTimeout(function () {user_message.close();}, 5000);\r\n\r\n                if(provider){\r\n                    var marker_index = this.provider_markers.findIndex((x)=>x.id==provider._id);\r\n                    if(marker_index !== -1){\r\n                        provider_marker = this.provider_markers[marker_index].marker;\r\n                    }\r\n                }\r\n                if(provider_marker){\r\n                    var address = '';\r\n\r\n                    var initialLocation = new google.maps.LatLng(provider.location[0] , provider.location[1]);\r\n                    var geocoder = new google.maps.Geocoder();\r\n\r\n                    let request = { latLng: initialLocation };\r\n                    geocoder.geocode(request, (results, status) => {\r\n\r\n                        if (status == google.maps.GeocoderStatus.OK) {\r\n                            address = results[0].formatted_address;\r\n                        }\r\n\r\n                        var Status = '';\r\n                        if (provider.is_online) {\r\n                            if(provider.order_list && provider.order_list.length>0){\r\n                                Status = 'Total Order - '+provider.order_list.length +'<br>';\r\n                                provider.order_list.forEach((order_detail)=>{\r\n                                    var delivery_status = '';\r\n                                    switch(order_detail.delivery_status){\r\n                                        case this.helper.ORDER_STATE.WAITING_FOR_DELIVERY_MAN:\r\n                                            delivery_status = this.helper.status.waiting_for_delivery_man;\r\n                                            break;\r\n                                        case this.helper.ORDER_STATE.DELIVERY_MAN_ACCEPTED:\r\n                                            delivery_status = this.helper.status.delivery_man_accepted;\r\n                                            break;\r\n                                        case this.helper.ORDER_STATE.DELIVERY_MAN_COMING:\r\n                                            delivery_status = this.helper.status.delivery_man_coming;\r\n                                            break;\r\n                                        case this.helper.ORDER_STATE.DELIVERY_MAN_ARRIVED:\r\n                                            delivery_status = this.helper.status.delivery_man_arrived;\r\n                                            break;\r\n                                        case this.helper.ORDER_STATE.DELIVERY_MAN_PICKED_ORDER:\r\n                                            delivery_status = this.helper.status.picked_order;\r\n                                            break;\r\n                                        case this.helper.ORDER_STATE.DELIVERY_MAN_STARTED_DELIVERY:\r\n                                            delivery_status = this.helper.status.started_for_delivery;\r\n                                            break;\r\n                                        case this.helper.ORDER_STATE.DELIVERY_MAN_ARRIVED_AT_DESTINATION:\r\n                                            delivery_status = this.helper.status.arrived_at_destination;\r\n                                            break;\r\n                                        case this.helper.ORDER_STATE.STORE_CANCELLED_REQUEST:\r\n                                            delivery_status = this.helper.status.store_cancelled_request;\r\n                                            break;\r\n                                        case this.helper.ORDER_STATE.ORDER_COMPLETED:\r\n                                            delivery_status = this.helper.status.completed;\r\n                                            break;\r\n                                        case this.helper.ORDER_STATE.NO_DELIVERY_MAN_FOUND:\r\n                                            delivery_status = this.helper.status.no_delivery_man_found;\r\n                                            break;\r\n                                        case this.helper.ORDER_STATE.DELIVERY_MAN_REJECTED:\r\n                                            delivery_status = this.helper.status.no_delivery_man_found;\r\n                                            break;\r\n                                        case this.helper.ORDER_STATE.DELIVERY_MAN_CANCELLED:\r\n                                            delivery_status = this.helper.status.no_delivery_man_found;\r\n                                            break;\r\n                                    }\r\n                                    Status = Status + '<br>Order No. - ' + order_detail.unique_id +' ('+ delivery_status+') ' ;\r\n                                });\r\n                            } else {\r\n                                Status = 'Free';\r\n                            }\r\n                        } else {\r\n                            if(provider.order_list && provider.order_list.length>0){\r\n                                Status = 'Total Order - '+provider.order_list.length +'<br>';\r\n                                provider.order_list.forEach((order_detail)=>{\r\n                                    var delivery_status = '';\r\n                                    switch(order_detail.delivery_status){\r\n                                        case this.helper.ORDER_STATE.WAITING_FOR_DELIVERY_MAN:\r\n                                            delivery_status = this.helper.status.waiting_for_delivery_man;\r\n                                            break;\r\n                                        case this.helper.ORDER_STATE.DELIVERY_MAN_ACCEPTED:\r\n                                            delivery_status = this.helper.status.delivery_man_accepted;\r\n                                            break;\r\n                                        case this.helper.ORDER_STATE.DELIVERY_MAN_COMING:\r\n                                            delivery_status = this.helper.status.delivery_man_coming;\r\n                                            break;\r\n                                        case this.helper.ORDER_STATE.DELIVERY_MAN_ARRIVED:\r\n                                            delivery_status = this.helper.status.delivery_man_arrived;\r\n                                            break;\r\n                                        case this.helper.ORDER_STATE.DELIVERY_MAN_PICKED_ORDER:\r\n                                            delivery_status = this.helper.status.picked_order;\r\n                                            break;\r\n                                        case this.helper.ORDER_STATE.DELIVERY_MAN_STARTED_DELIVERY:\r\n                                            delivery_status = this.helper.status.started_for_delivery;\r\n                                            break;\r\n                                        case this.helper.ORDER_STATE.DELIVERY_MAN_ARRIVED_AT_DESTINATION:\r\n                                            delivery_status = this.helper.status.arrived_at_destination;\r\n                                            break;\r\n                                        case this.helper.ORDER_STATE.STORE_CANCELLED_REQUEST:\r\n                                            delivery_status = this.helper.status.store_cancelled_request;\r\n                                            break;\r\n                                        case this.helper.ORDER_STATE.ORDER_COMPLETED:\r\n                                            delivery_status = this.helper.status.completed;\r\n                                            break;\r\n                                        case this.helper.ORDER_STATE.NO_DELIVERY_MAN_FOUND:\r\n                                            delivery_status = this.helper.status.no_delivery_man_found;\r\n                                            break;\r\n                                        case this.helper.ORDER_STATE.DELIVERY_MAN_REJECTED:\r\n                                            delivery_status = this.helper.status.no_delivery_man_found;\r\n                                            break;\r\n                                        case this.helper.ORDER_STATE.DELIVERY_MAN_CANCELLED:\r\n                                            delivery_status = this.helper.status.no_delivery_man_found;\r\n                                            break;\r\n                                    }\r\n                                    Status = Status + '<br>Order No. - ' + order_detail.unique_id +' ('+ delivery_status+') ' ;\r\n                                });\r\n                            } else {\r\n                                Status = 'Offline';\r\n                            }\r\n                        }\r\n\r\n                        var location_updated_time = moment(provider.location_updated_time).format('DD-MM-YYYY hh:mm a')\r\n                        var contentString =\r\n                        '<p><b>Name</b> : ' + provider.first_name + ' ' + provider.last_name +\r\n                        '<br><b>Email</b> : ' + provider.email +\r\n                        '<br><b>Address</b> : ' + address +\r\n                        '<br><b>Last Tracking Time</b> : ' + location_updated_time +\r\n                        '<br><b>Last Delivery Postal Code</b> : ' + provider.postal_code +\r\n                        '<br><b>Status Hopper</b> : ' + Status +\r\n                        '</p>';\r\n\r\n                        // if(this.provider){\r\n                        //     this.provider.last_tracking_time = new Date();\r\n                        // }\r\n\r\n                        var provider_message = new google.maps.InfoWindow({\r\n                            content: contentString,\r\n                            maxWidth: 320\r\n                        });\r\n                        provider_message.open(this.map, provider_marker);\r\n                        setTimeout(function () {provider_message.close();}, 5000);\r\n                    });\r\n                }\r\n\r\n                if(store_marker){\r\n\r\n                    var ready_at = moment(order_detail.estimated_time_for_ready_order).format('hh:mm a')\r\n                    var contentString =\r\n                        '<p><b>Store</b>: ' +\r\n                        '<p>'+order_detail.store_name+'</p>'+\r\n                        '<p>' + order_detail.store_address+'</p>'+\r\n                        '<p>#'+order_detail.unique_id +' ready at: '+ready_at+ '</p>'+\r\n                        '</p>';\r\n\r\n                    var store_message = new google.maps.InfoWindow({\r\n                        content: contentString,\r\n                        maxWidth: 320\r\n                    });\r\n                    store_message.open(this.map, store_marker);\r\n\r\n                    setTimeout(function () {store_message.close();}, 5000);\r\n                }\r\n            });\r\n        }\r\n\r\n    }\r\n\r\n    filter_hopper(){\r\n        this.id = [];\r\n        if(this.interval){\r\n            clearInterval(this.interval);\r\n        }\r\n        this.provider_markers.forEach((marker)=>{\r\n            marker.marker.setMap(null);\r\n        })\r\n        this.provider_markers = [];\r\n        var icon_url = 'https://hop-delivery.s3.eu-central-1.amazonaws.com/map_pin_images/';\r\n        this.provider_list.forEach((provider_detail)=>{\r\n            if(this.filter_type == 1 && provider_detail.is_online){\r\n                this.id.push(provider_detail._id)\r\n                this.create_marker(provider_detail, icon_url + provider_detail.map_pin, this.map, true);\r\n            } else if(this.filter_type == 2 && provider_detail.type==1){\r\n                this.id.push(provider_detail._id)\r\n                this.create_marker(provider_detail, icon_url + provider_detail.map_pin, this.map, true);\r\n            } else if(this.filter_type == 3 && provider_detail.type==2){\r\n                this.id.push(provider_detail._id)\r\n                this.create_marker(provider_detail, icon_url + provider_detail.map_pin, this.map, true);\r\n            }\r\n        });\r\n        if(this.provider_timeout){\r\n            clearTimeout(this.provider_timeout);\r\n        }\r\n        this.provider_timeout = setTimeout(()=>{\r\n            if(this.filter_type !== 0){\r\n                this.get_provider_list(this.city_id, false, false);\r\n            }\r\n        },60000)\r\n    }\r\n\r\n    set_provider_marker(provider, boolean, clean_old_marker){\r\n        console.log('set_provider_marker')\r\n        // this.provider = provider;\r\n        this.latitude = provider.location[0];\r\n        this.longitude = provider.location[1];\r\n        this.zoom = 12;\r\n        this.old_lat_lng = [this.latitude, this.longitude];\r\n        // this.provider_name = provider.first_name + ' ' + provider.last_name;\r\n        // this.provider_email = provider.email;\r\n        // this.provider_phone = provider.phone;\r\n        // this.check_provider_country(this.map, true);\r\n        var icon_url = 'https://hop-delivery.s3.eu-central-1.amazonaws.com/map_pin_images/';\r\n        if(clean_old_marker){\r\n            this.provider_markers.forEach((marker)=>{\r\n                marker.marker.setMap(null);\r\n            })\r\n            this.provider_markers = [];\r\n        }\r\n        this.create_marker(provider, icon_url + provider.map_pin, this.map, true);\r\n        if(boolean){\r\n            this.provider_location_track(provider, clean_old_marker);\r\n        }\r\n    }\r\n\r\n    ngOnDestroy() {\r\n        if(this.interval){\r\n            clearInterval(this.interval);\r\n        }\r\n        if(this.provider_interval){\r\n            clearInterval(this.provider_interval);\r\n        }\r\n        if(this.provider_timeout){\r\n            clearTimeout(this.provider_timeout);\r\n        }\r\n        this.helper.router_id.admin.country_id = '';\r\n        this.helper.router_id.admin.provider_id = '';\r\n        this.helper.router_id.admin.city_id = '';\r\n        this.helper.router_id.admin.store_id = '';\r\n        this.helper.router_id.admin.order_id = '';\r\n    }\r\n\r\n    get_city_list(countryid) {\r\n        this.myLoading = true;\r\n        this.helper.http.post('/api/admin/get_city_list', {country_id: countryid}).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            this.city_list = res_data.cities;\r\n            setTimeout(function () {\r\n                console.log(jQuery(\"#city\"))\r\n                jQuery(\"#city\").trigger(\"chosen:updated\");\r\n            }, 1000);\r\n        });\r\n    }\r\n\r\n    get_store_list(cityid){\r\n        this.myLoading = true;\r\n        this.helper.http.post('/admin/get_store_list_for_city', {city_id: cityid}).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.store_list = res_data.stores;\r\n            this.myLoading = false;\r\n            setTimeout(function () {\r\n                jQuery(\"#store\").trigger(\"chosen:updated\");\r\n            }, 1000);\r\n        });\r\n    }\r\n\r\n    get_provider_list(cityid, boolean, myLoading) {\r\n\r\n        var city_index = this.city_list.findIndex((x)=>x._id == cityid);\r\n        if(city_index !== -1){\r\n            var latlng = new google.maps.LatLng(this.city_list[city_index].city_lat_long[0], this.city_list[city_index].city_lat_long[1]);\r\n            this.map.setCenter(latlng)\r\n        }\r\n\r\n        this.myLoading = myLoading;\r\n        this.helper.http.post('/admin/get_provider_list_for_city', {city_id: cityid}).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            this.provider_list = res_data.providers;\r\n\r\n            this.count_total_providers();\r\n            setTimeout(function () {\r\n                jQuery(\"#provider\").trigger(\"chosen:updated\");\r\n            }, 1000);\r\n\r\n            this.provider_list.forEach((provider_detail)=>{\r\n                if (provider_detail.is_online) {\r\n                    if(provider_detail.request_count>0){\r\n                        provider_detail.map_pin = 'marker_orangeH.png';\r\n                        provider_detail.type = 2;\r\n                        // this.create_marker(provider, icon_url + 'deliveryman_online_with_orders.png', map, is_remove_marker);\r\n                    } else {\r\n                        provider_detail.map_pin = 'marker_greenH.png';\r\n                        provider_detail.type = 1;\r\n                        // this.create_marker(provider, icon_url + 'deliveryman_online.png', map, is_remove_marker);\r\n                    }\r\n\r\n                }\r\n                else {\r\n                    // if(provider_detail.request_count>0){\r\n                    //     provider_detail.map_pin = 'marker_orangeH.png';\r\n                    //     provider_detail.type = 2;\r\n                    //     // this.create_marker(provider, icon_url + 'deliveryman_offline_with_orders.png', map, is_remove_marker);\r\n                    // } else {\r\n                        provider_detail.map_pin = 'marker_redH.png';\r\n                        provider_detail.type = 3;\r\n                        // this.create_marker(provider, icon_url + 'deliveryman_offline.png', map, is_remove_marker);\r\n                    // }\r\n                }\r\n            })\r\n\r\n            if(this.filter_type){\r\n                this.filter_hopper()\r\n            }\r\n\r\n            if(boolean && this.provider_id){\r\n                this.id = [this.provider_id];\r\n                // this.type = 0;\r\n                var index = this.provider_list.findIndex((x)=>x._id==this.provider_id);\r\n                console.log(\"index: \"+index)\r\n                if(index == -1){\r\n                    this.helper.http.post('/admin/deliveryman_track', {id: this.provider_id, type: this.filter_type}).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n                        if (res_data.success) {\r\n\r\n                            if (res_data.provider.is_online) {\r\n                                if(res_data.provider.request_count>0){\r\n                                    res_data.provider.map_pin = 'marker_orangeH.png';\r\n                                    // this.create_marker(provider, icon_url + 'deliveryman_online_with_orders.png', map, is_remove_marker);\r\n                                } else {\r\n                                    res_data.provider.map_pin = 'marker_greenH.png';\r\n                                    // this.create_marker(provider, icon_url + 'deliveryman_online.png', map, is_remove_marker);\r\n                                }\r\n\r\n                            }\r\n                            else {\r\n                                // if(res_data.provider.request_count>0){\r\n                                //     res_data.provider.map_pin = 'marker_orangeH.png';\r\n                                //     // this.create_marker(provider, icon_url + 'deliveryman_offline_with_orders.png', map, is_remove_marker);\r\n                                // } else {\r\n                                    res_data.provider.map_pin = 'marker_redH.png';\r\n                                    // this.create_marker(provider, icon_url + 'deliveryman_offline.png', map, is_remove_marker);\r\n                                // }\r\n                            }\r\n\r\n                            this.set_provider_marker(res_data.provider, true, true)\r\n                            \r\n                        }\r\n                    });\r\n                } else {\r\n                    this.set_provider_marker(this.provider_list[index], true, true);\r\n                }\r\n            }\r\n        });\r\n    }\r\n\r\n    count_total_providers(){\r\n        this.total_online_provider = 0;\r\n        this.total_in_delivery_provider = 0;\r\n        this.total_offline_provider = 0;\r\n        this.provider_list.forEach((provider)=>{\r\n            if (provider.is_online) {\r\n                if(provider.order_list && provider.order_list.length>0){\r\n                    this.total_in_delivery_provider++;\r\n                } else {\r\n                    this.total_online_provider++;\r\n                }\r\n            } else {\r\n                if(provider.order_list && provider.order_list.length>0){\r\n                    this.total_in_delivery_provider++;\r\n                } else {\r\n                    this.total_offline_provider++;\r\n                }\r\n            }\r\n        })\r\n    }\r\n\r\n    get_order_list(only_new = false) {\r\n        this.myLoading = true;\r\n        this.helper.http.post('/admin/order_list_location_track', {only_new: only_new, store_id: this.store_id, assign_type: this.assign_type}).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            this.order_list = res_data.orders || [];\r\n            setTimeout(function () {\r\n                jQuery(\"#order\").trigger(\"chosen:updated\");\r\n            }, 1000);\r\n            this.set_order_markers()\r\n        });\r\n    }\r\n\r\n\r\n\r\n\r\n    // check_provider_country(map, is_remove_marker) {\r\n    //     console.log('check_provider_country')\r\n    //     this.check_provider_status(this.provider, map, is_remove_marker);\r\n\r\n    // }\r\n    // check_provider_status(provider, map, is_remove_marker) {\r\n    //     console.log('check_provider_status')\r\n    //     var icon_url = '/map_pin_images/Deliveryman/';\r\n    //     if (this.type == 1) {\r\n            \r\n    //         if (provider.is_online) {\r\n    //             this.create_marker(provider, icon_url + 'deliveryman_online_with_orders.png', map, is_remove_marker);\r\n\r\n    //         } else {\r\n\r\n    //             this.create_marker(provider, icon_url + 'deliveryman_offline_with_orders.png', map, is_remove_marker);\r\n\r\n    //         }\r\n\r\n    //     } else if (this.type == 0) {\r\n\r\n            \r\n    //         if (provider.is_online) {\r\n    //             if(provider.request_count>0){\r\n    //                 console.log(1)\r\n    //                 this.create_marker(provider, icon_url + 'deliveryman_online_with_orders.png', map, is_remove_marker);\r\n    //             } else {\r\n    //                 console.log(2)\r\n\r\n    //                 this.create_marker(provider, icon_url + 'deliveryman_online.png', map, is_remove_marker);\r\n    //             }\r\n\r\n    //         }\r\n    //         else {\r\n    //                 console.log(3)\r\n    //             if(provider.request_count>0){\r\n    //                 console.log(1)\r\n    //                 this.create_marker(provider, icon_url + 'deliveryman_offline_with_orders.png', map, is_remove_marker);\r\n    //             } else {\r\n    //                 this.create_marker(provider, icon_url + 'deliveryman_offline.png', map, is_remove_marker);\r\n    //             }\r\n    //         }\r\n\r\n    //     }\r\n    // }\r\n\r\n    create_marker(provider, icon_url, map, is_remove_marker) {\r\n\r\n        console.log('create_marker')\r\n        \r\n        var Status = '';\r\n        if (provider.is_online) {\r\n            if(provider.order_list && provider.order_list.length>0){\r\n                Status = 'Total Order - '+provider.order_list.length +'<br>';\r\n                provider.order_list.forEach((order_detail)=>{\r\n                    var delivery_status = '';\r\n                    switch(order_detail.delivery_status){\r\n                        case this.helper.ORDER_STATE.WAITING_FOR_DELIVERY_MAN:\r\n                            delivery_status = this.helper.status.waiting_for_delivery_man;\r\n                            break;\r\n                        case this.helper.ORDER_STATE.DELIVERY_MAN_ACCEPTED:\r\n                            delivery_status = this.helper.status.delivery_man_accepted;\r\n                            break;\r\n                        case this.helper.ORDER_STATE.DELIVERY_MAN_COMING:\r\n                            delivery_status = this.helper.status.delivery_man_coming;\r\n                            break;\r\n                        case this.helper.ORDER_STATE.DELIVERY_MAN_ARRIVED:\r\n                            delivery_status = this.helper.status.delivery_man_arrived;\r\n                            break;\r\n                        case this.helper.ORDER_STATE.DELIVERY_MAN_PICKED_ORDER:\r\n                            delivery_status = this.helper.status.picked_order;\r\n                            break;\r\n                        case this.helper.ORDER_STATE.DELIVERY_MAN_STARTED_DELIVERY:\r\n                            delivery_status = this.helper.status.started_for_delivery;\r\n                            break;\r\n                        case this.helper.ORDER_STATE.DELIVERY_MAN_ARRIVED_AT_DESTINATION:\r\n                            delivery_status = this.helper.status.arrived_at_destination;\r\n                            break;\r\n                        case this.helper.ORDER_STATE.STORE_CANCELLED_REQUEST:\r\n                            delivery_status = this.helper.status.store_cancelled_request;\r\n                            break;\r\n                        case this.helper.ORDER_STATE.ORDER_COMPLETED:\r\n                            delivery_status = this.helper.status.completed;\r\n                            break;\r\n                        case this.helper.ORDER_STATE.NO_DELIVERY_MAN_FOUND:\r\n                            delivery_status = this.helper.status.no_delivery_man_found;\r\n                            break;\r\n                        case this.helper.ORDER_STATE.DELIVERY_MAN_REJECTED:\r\n                            delivery_status = this.helper.status.no_delivery_man_found;\r\n                            break;\r\n                        case this.helper.ORDER_STATE.DELIVERY_MAN_CANCELLED:\r\n                            delivery_status = this.helper.status.no_delivery_man_found;\r\n                            break;\r\n                    }\r\n                    Status = Status + '<br>Order No. - ' + order_detail.unique_id +' ('+ delivery_status+') ' ;\r\n                });\r\n            } else {\r\n                Status = 'Free';\r\n            }\r\n        } else {\r\n            if(provider.order_list && provider.order_list.length>0){\r\n                Status = 'Total Order - '+provider.order_list.length +'<br>';\r\n                provider.order_list.forEach((order_detail)=>{\r\n                    var delivery_status = '';\r\n                    switch(order_detail.delivery_status){\r\n                        case this.helper.ORDER_STATE.WAITING_FOR_DELIVERY_MAN:\r\n                            delivery_status = this.helper.status.waiting_for_delivery_man;\r\n                            break;\r\n                        case this.helper.ORDER_STATE.DELIVERY_MAN_ACCEPTED:\r\n                            delivery_status = this.helper.status.delivery_man_accepted;\r\n                            break;\r\n                        case this.helper.ORDER_STATE.DELIVERY_MAN_COMING:\r\n                            delivery_status = this.helper.status.delivery_man_coming;\r\n                            break;\r\n                        case this.helper.ORDER_STATE.DELIVERY_MAN_ARRIVED:\r\n                            delivery_status = this.helper.status.delivery_man_arrived;\r\n                            break;\r\n                        case this.helper.ORDER_STATE.DELIVERY_MAN_PICKED_ORDER:\r\n                            delivery_status = this.helper.status.picked_order;\r\n                            break;\r\n                        case this.helper.ORDER_STATE.DELIVERY_MAN_STARTED_DELIVERY:\r\n                            delivery_status = this.helper.status.started_for_delivery;\r\n                            break;\r\n                        case this.helper.ORDER_STATE.DELIVERY_MAN_ARRIVED_AT_DESTINATION:\r\n                            delivery_status = this.helper.status.arrived_at_destination;\r\n                            break;\r\n                        case this.helper.ORDER_STATE.STORE_CANCELLED_REQUEST:\r\n                            delivery_status = this.helper.status.store_cancelled_request;\r\n                            break;\r\n                        case this.helper.ORDER_STATE.ORDER_COMPLETED:\r\n                            delivery_status = this.helper.status.completed;\r\n                            break;\r\n                        case this.helper.ORDER_STATE.NO_DELIVERY_MAN_FOUND:\r\n                            delivery_status = this.helper.status.no_delivery_man_found;\r\n                            break;\r\n                        case this.helper.ORDER_STATE.DELIVERY_MAN_REJECTED:\r\n                            delivery_status = this.helper.status.no_delivery_man_found;\r\n                            break;\r\n                        case this.helper.ORDER_STATE.DELIVERY_MAN_CANCELLED:\r\n                            delivery_status = this.helper.status.no_delivery_man_found;\r\n                            break;\r\n                    }\r\n                    Status = Status + '<br>Order No. - ' + order_detail.unique_id +' ('+ delivery_status+') ' ;\r\n                });\r\n            } else {\r\n                Status = 'Offline';\r\n            }\r\n        }\r\n        \r\n        var marker = new google.maps.Marker({\r\n            position: {lat: provider.location[0], lng: provider.location[1]},\r\n            map: this.map,\r\n            icon: icon_url\r\n        });\r\n\r\n        var latlng = new google.maps.LatLng(provider.location[0], provider.location[1]);\r\n\r\n        if(this.provider_markers.length == 0){\r\n            this.map.setZoom(15);\r\n            this.map.panTo(latlng);\r\n        }\r\n\r\n        this.provider_markers.push({marker: marker, id: provider._id});\r\n        \r\n        google.maps.event.addListener(marker, 'click', (e)=> {\r\n\r\n            var address = '';\r\n\r\n            var initialLocation = new google.maps.LatLng(provider.location[0] , provider.location[1]);\r\n            var geocoder = new google.maps.Geocoder();\r\n\r\n            let request = { latLng: initialLocation };\r\n            geocoder.geocode(request, (results, status) => {\r\n\r\n                if (status == google.maps.GeocoderStatus.OK) {\r\n                    address = results[0].formatted_address;\r\n                }\r\n\r\n\r\n\r\n                var location_updated_time = moment(provider.location_updated_time).format('DD-MM-YYYY hh:mm a')\r\n                        var contentString =\r\n                        '<p><b>Name</b> : ' + provider.first_name + ' ' + provider.last_name +\r\n                        '<br><b>Email</b> : ' + provider.email +\r\n                        '<br><b>Address</b> : ' + address +\r\n                        '<br><b>Last Tracking Time</b> : ' + location_updated_time +\r\n                        '<br><b>Last Delivery Postal Code</b> : ' + provider.postal_code +\r\n                        '<br><b>Status Hopper</b> : ' + Status +\r\n                        '</p>';\r\n\r\n                // if(this.provider){\r\n                //     this.provider.last_tracking_time = new Date();\r\n                // }\r\n\r\n                var message = new google.maps.InfoWindow({\r\n                    content: contentString,\r\n                    maxWidth: 320\r\n                });\r\n                message.open(map, marker);\r\n                setTimeout(function () {message.close();}, 5000);\r\n            });\r\n        });\r\n    }\r\n\r\n//    create_order_marker(provider, icon_url, map) {\r\n//        this.provider_markers_order = \"\";\r\n//\r\n//        var marker = new google.maps.Marker({\r\n//            position: {lat: provider.location[0], lng: provider.location[1]},\r\n//            map: map,\r\n//            icon: icon_url\r\n//        });\r\n//        this.provider_markers_order = marker;\r\n//\r\n//        console.log(\"create_order_marker set this.provider_markers_order\" + this.provider_markers_order);\r\n//\r\n//\r\n//        var contentString =\r\n//            '<p><b>Name</b>: ' + provider.first_name + ' ' + provider.last_name +\r\n//            '<br><b>Email</b>: ' + provider.email +\r\n//            '<br><b>Rating</b>: ' + provider.user_rate +\r\n//            '</p>';\r\n//\r\n//        var message = new google.maps.InfoWindow({\r\n//            content: contentString,\r\n//            maxWidth: 320\r\n//        });\r\n//        google.maps.event.addListener(marker, 'click', function (e) {\r\n//\r\n//            message.open(map, marker);\r\n//            setTimeout(function () {message.close();}, 5000);\r\n//        });\r\n//    }\r\n\r\n\r\n    provider_location_track(provider, clean_old_marker) {\r\n\r\n        var lat;\r\n        var lng;\r\n        // if(this.interval){\r\n        //     clearInterval(this.interval);\r\n        // }\r\n        this.interval = setInterval(() => {\r\n            this.helper.http.post('/admin/deliveryman_track', {id: provider._id, last_tracking_time: provider.last_tracking_time, type: this.filter_type}).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n                if (res_data.success == false) {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                }\r\n                else {\r\n\r\n                    if (res_data.provider.is_online) {\r\n                                if(res_data.provider.request_count>0){\r\n                                    res_data.provider.map_pin = 'marker_orangeH.png';\r\n                                    // this.create_marker(provider, icon_url + 'deliveryman_online_with_orders.png', map, is_remove_marker);\r\n                                } else {\r\n                                    res_data.provider.map_pin = 'marker_greenH.png';\r\n                                    // this.create_marker(provider, icon_url + 'deliveryman_online.png', map, is_remove_marker);\r\n                                }\r\n\r\n                            }\r\n                            else {\r\n                                // if(res_data.provider.request_count>0){\r\n                                //     res_data.provider.map_pin = 'marker_orangeH.png';\r\n                                //     // this.create_marker(provider, icon_url + 'deliveryman_offline_with_orders.png', map, is_remove_marker);\r\n                                // } else {\r\n                                    res_data.provider.map_pin = 'marker_redH.png';\r\n                                    // this.create_marker(provider, icon_url + 'deliveryman_offline.png', map, is_remove_marker);\r\n                                // }\r\n                            }\r\n\r\n                    // this.provider = res_data.provider;\r\n                    var marker_index = this.provider_markers.findIndex((x)=>x.id==res_data.provider._id);\r\n                    console.log(this.provider_markers)\r\n                    var latlng = new google.maps.LatLng(res_data.provider.location[0], res_data.provider.location[1]);\r\n                    this.provider_markers[marker_index].marker.setPosition(latlng);\r\n                    // console.log(\"marker_index: \"+marker_index)\r\n                    // if(marker_index !== -1){\r\n                    //     // this.provider_markers[marker_index].marker.setMap(null);\r\n                    //     // this.provider_markers.splice(marker_index, 1);\r\n                    // }\r\n                    // this.set_provider_marker(res_data.provider, false, clean_old_marker)\r\n                    // this.check_provider_country(this.map, false);\r\n                    // this.provider_location_track();\r\n\r\n                    // this.i = 0;\r\n                    // this.new_lat_lng = res_data.provider.location;\r\n                    // // this.provider_name = res_data.provider.first_name + ' ' + res_data.provider.last_name;\r\n                    // // this.provider_email = res_data.provider.email;\r\n                    // // this.provider_phone = res_data.provider.phone;\r\n                    // this.latitude = JSON.parse(JSON.stringify(this.old_lat_lng[0]));\r\n                    // this.longitude = JSON.parse(JSON.stringify(this.old_lat_lng[1]));\r\n\r\n                    // if (this.new_lat_lng[0] == this.old_lat_lng[0] && this.new_lat_lng[1] == this.old_lat_lng[1]) {\r\n                    //     lat = 0;\r\n                    //     lng = 0;\r\n                    //     this.moveMarker(lat, lng, this.provider_markers[marker_index]);\r\n                    // }\r\n                    // else {\r\n                    //     lat = (this.new_lat_lng[0] - this.old_lat_lng[0]) / this.numDeltas;\r\n                    //     lng = (this.new_lat_lng[1] - this.old_lat_lng[1]) / this.numDeltas;\r\n                    //     this.moveMarker(lat, lng, this.provider_markers[marker_index]);\r\n                    //     this.old_lat_lng = JSON.parse(JSON.stringify(this.new_lat_lng));\r\n                    // }\r\n                }\r\n            });\r\n        }, 10000);\r\n    }\r\n\r\n    setCurrentPosition() {\r\n        if (\"geolocation\" in navigator) {\r\n            navigator.geolocation.getCurrentPosition((position) => {\r\n                this.latitude = position.coords.latitude;\r\n                this.longitude = position.coords.longitude;\r\n                this.zoom = 12;\r\n                this.old_lat_lng = [this.latitude, this.longitude];\r\n            });\r\n        }\r\n    }\r\n\r\n    moveMarker(lat, lng, marker) {\r\n        if (this.i !== this.numDeltas) {\r\n            this.i++;\r\n            this.latitude += lat;\r\n            this.longitude += lng;\r\n            var latlng = new google.maps.LatLng(this.latitude, this.longitude);\r\n            if(marker){\r\n                marker.marker.setPosition(latlng);\r\n            }\r\n            // this.map.panTo(latlng);\r\n            setTimeout(() => {\r\n                this.moveMarker(lat, lng, marker)\r\n            }, 100);\r\n        } else {\r\n            // this.provider_location_track();\r\n        }\r\n    }\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/location_track/location_track.component.ts","export * from './translate.service';\r\nexport * from './translations';\r\nexport * from './translate.pipe';\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/trans_language/translate/index.ts","import {Injectable} from \"@angular/core\";\r\nimport { ConnectionBackend, RequestOptions, Request, RequestOptionsArgs, Response, Http, Headers} from \"@angular/http\";\r\nimport {Observable} from \"rxjs/Rx\";\r\n// import {environment} from \"../environments/environment\";\r\nimport {InterceptorService} from \"./interceptor.service\";\r\n\r\n@Injectable()\r\nexport class InterceptedHttp extends Http {\r\n    constructor(backend: ConnectionBackend, defaultOptions: RequestOptions, private interceptor_service: InterceptorService) {\r\n        super(backend, defaultOptions);\r\n    }\r\n\r\n    request(url: string | Request, options?: RequestOptionsArgs): Observable<Response> {\r\n        return super.request(url, options);\r\n    }\r\n\r\n    get(url: string, options?: RequestOptionsArgs): Observable<Response> {\r\n        console.log('get interceptor')\r\n        // url = this.updateUrl(url);\r\n        url = this.interceptor_service.CONSTANT.BASE_URL + url;\r\n        var data = super.get(url, this.getRequestOptionArgs(options));\r\n        return data;\r\n    }\r\n\r\n    post(url: string, body: any, options?: RequestOptionsArgs): Observable<Response> {\r\n        url = this.interceptor_service.CONSTANT.BASE_URL + url;\r\n        var headers = new Headers();\r\n        if(body instanceof FormData){\r\n          // headers.append('Content-Type', 'application/x-www-form-urlencoded');\r\n          headers.append(\"enctype\", \"multipart/form-data\");\r\n        } else {\r\n          headers.append('Content-Type', 'application/json');\r\n        }\r\n        var data = super.post(url, body, {headers: headers}).do((res: Response) => {\r\n            if(res.status == 0){\r\n              // this.interceptor_service.router.navigate(['/502']);\r\n            // } else if(res.status == 502){\r\n            //   this.interceptor_service.router.navigate(['/502']);\r\n            } else if(res.status == 404){\r\n              // this.interceptor_service.router.navigate(['/404']);\r\n            }\r\n        }, (error: any) => {\r\n          if(error.status == 0){\r\n            // this.interceptor_service.router.navigate(['/502']);\r\n          // } else if(error.status == 502){\r\n          //   this.interceptor_service.router.navigate(['/502']);\r\n          } else if(error.status == 404){\r\n            // this.interceptor_service.router.navigate(['/404']);\r\n          }\r\n        });\r\n        return data;\r\n    }\r\n\r\n    private onCatch(error: any, caught: Observable<any>): Observable<any> {\r\n\r\n    return Observable.throw(error);\r\n  }\r\n\r\n  /**\r\n   * onSuccess\r\n   * @param res\r\n   */\r\n  private onSuccess(res: Response): void {\r\n    console.log(res);\r\n  }\r\n\r\n  /**\r\n   * onError\r\n   * @param error\r\n   */\r\n  private onError(error: any): void {\r\n    console.log(error)\r\n  }\r\n\r\n  private onFinally(): void {\r\n     console.log('onFinally')\r\n  }\r\n\r\n    put(url: string, body: string, options?: RequestOptionsArgs): Observable<Response> {\r\n        url = this.updateUrl(url);\r\n        return super.put(url, body, this.getRequestOptionArgs(options));\r\n    }\r\n\r\n    delete(url: string, options?: RequestOptionsArgs): Observable<Response> {\r\n        url = this.updateUrl(url);\r\n        return super.delete(url, this.getRequestOptionArgs(options));\r\n    }\r\n\r\n    private updateUrl(req: string) {\r\n        return  req;\r\n    }\r\n\r\n    private getRequestOptionArgs(options?: RequestOptionsArgs) : RequestOptionsArgs {\r\n        if (options == null) {\r\n            options = new RequestOptions();\r\n        }\r\n        if (options.headers == null) {\r\n            options.headers = new Headers();\r\n        }\r\n        options.headers.append('Content-Type', 'application/json');\r\n\r\n        return options;\r\n    }\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/http.interceptor.ts","module.exports = { \"default\": require(\"core-js/library/fn/get-iterator\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/babel-runtime/core-js/get-iterator.js\n// module id = 312\n// module chunks = 0","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function(it){\n  if(it == undefined)throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_defined.js\n// module id = 313\n// module chunks = 0","var global    = require('./_global')\n  , core      = require('./_core')\n  , ctx       = require('./_ctx')\n  , hide      = require('./_hide')\n  , PROTOTYPE = 'prototype';\n\nvar $export = function(type, name, source){\n  var IS_FORCED = type & $export.F\n    , IS_GLOBAL = type & $export.G\n    , IS_STATIC = type & $export.S\n    , IS_PROTO  = type & $export.P\n    , IS_BIND   = type & $export.B\n    , IS_WRAP   = type & $export.W\n    , exports   = IS_GLOBAL ? core : core[name] || (core[name] = {})\n    , expProto  = exports[PROTOTYPE]\n    , target    = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]\n    , key, own, out;\n  if(IS_GLOBAL)source = name;\n  for(key in source){\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    if(own && key in exports)continue;\n    // export native or passed\n    out = own ? target[key] : source[key];\n    // prevent global pollution for namespaces\n    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n    // bind timers to global for call from export context\n    : IS_BIND && own ? ctx(out, global)\n    // wrap global constructors for prevent change them in library\n    : IS_WRAP && target[key] == out ? (function(C){\n      var F = function(a, b, c){\n        if(this instanceof C){\n          switch(arguments.length){\n            case 0: return new C;\n            case 1: return new C(a);\n            case 2: return new C(a, b);\n          } return new C(a, b, c);\n        } return C.apply(this, arguments);\n      };\n      F[PROTOTYPE] = C[PROTOTYPE];\n      return F;\n    // make static versions for prototype methods\n    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n    if(IS_PROTO){\n      (exports.virtual || (exports.virtual = {}))[key] = out;\n      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n      if(type & $export.R && expProto && !expProto[key])hide(expProto, key, out);\n    }\n  }\n};\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library` \nmodule.exports = $export;\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_export.js\n// module id = 314\n// module chunks = 0","module.exports = function(exec){\n  try {\n    return !!exec();\n  } catch(e){\n    return true;\n  }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_fails.js\n// module id = 315\n// module chunks = 0","module.exports = function(it){\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_is-object.js\n// module id = 316\n// module chunks = 0","var shared = require('./_shared')('keys')\n  , uid    = require('./_uid');\nmodule.exports = function(key){\n  return shared[key] || (shared[key] = uid(key));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_shared-key.js\n// module id = 317\n// module chunks = 0","// 7.1.4 ToInteger\nvar ceil  = Math.ceil\n  , floor = Math.floor;\nmodule.exports = function(it){\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_to-integer.js\n// module id = 318\n// module chunks = 0","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject')\n  , defined = require('./_defined');\nmodule.exports = function(it){\n  return IObject(defined(it));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_to-iobject.js\n// module id = 319\n// module chunks = 0","module.exports = function(it, Constructor, name, forbiddenField){\n  if(!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)){\n    throw TypeError(name + ': incorrect invocation!');\n  } return it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_an-instance.js\n// module id = 320\n// module chunks = 0","'use strict';\nvar global            = require('./_global')\n  , $export           = require('./_export')\n  , redefine          = require('./_redefine')\n  , redefineAll       = require('./_redefine-all')\n  , meta              = require('./_meta')\n  , forOf             = require('./_for-of')\n  , anInstance        = require('./_an-instance')\n  , isObject          = require('./_is-object')\n  , fails             = require('./_fails')\n  , $iterDetect       = require('./_iter-detect')\n  , setToStringTag    = require('./_set-to-string-tag')\n  , inheritIfRequired = require('./_inherit-if-required');\n\nmodule.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){\n  var Base  = global[NAME]\n    , C     = Base\n    , ADDER = IS_MAP ? 'set' : 'add'\n    , proto = C && C.prototype\n    , O     = {};\n  var fixMethod = function(KEY){\n    var fn = proto[KEY];\n    redefine(proto, KEY,\n      KEY == 'delete' ? function(a){\n        return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n      } : KEY == 'has' ? function has(a){\n        return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n      } : KEY == 'get' ? function get(a){\n        return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n      } : KEY == 'add' ? function add(a){ fn.call(this, a === 0 ? 0 : a); return this; }\n        : function set(a, b){ fn.call(this, a === 0 ? 0 : a, b); return this; }\n    );\n  };\n  if(typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function(){\n    new C().entries().next();\n  }))){\n    // create collection constructor\n    C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n    redefineAll(C.prototype, methods);\n    meta.NEED = true;\n  } else {\n    var instance             = new C\n      // early implementations not supports chaining\n      , HASNT_CHAINING       = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance\n      // V8 ~  Chromium 40- weak-collections throws on primitives, but should return false\n      , THROWS_ON_PRIMITIVES = fails(function(){ instance.has(1); })\n      // most early implementations doesn't supports iterables, most modern - not close it correctly\n      , ACCEPT_ITERABLES     = $iterDetect(function(iter){ new C(iter); }) // eslint-disable-line no-new\n      // for early implementations -0 and +0 not the same\n      , BUGGY_ZERO = !IS_WEAK && fails(function(){\n        // V8 ~ Chromium 42- fails only with 5+ elements\n        var $instance = new C()\n          , index     = 5;\n        while(index--)$instance[ADDER](index, index);\n        return !$instance.has(-0);\n      });\n    if(!ACCEPT_ITERABLES){ \n      C = wrapper(function(target, iterable){\n        anInstance(target, C, NAME);\n        var that = inheritIfRequired(new Base, target, C);\n        if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);\n        return that;\n      });\n      C.prototype = proto;\n      proto.constructor = C;\n    }\n    if(THROWS_ON_PRIMITIVES || BUGGY_ZERO){\n      fixMethod('delete');\n      fixMethod('has');\n      IS_MAP && fixMethod('get');\n    }\n    if(BUGGY_ZERO || HASNT_CHAINING)fixMethod(ADDER);\n    // weak collections should not contains .clear method\n    if(IS_WEAK && proto.clear)delete proto.clear;\n  }\n\n  setToStringTag(C, NAME);\n\n  O[NAME] = C;\n  $export($export.G + $export.W + $export.F * (C != Base), O);\n\n  if(!IS_WEAK)common.setStrong(C, NAME, IS_MAP);\n\n  return C;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_collection.js\n// module id = 321\n// module chunks = 0","// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_enum-bug-keys.js\n// module id = 322\n// module chunks = 0","var MATCH = require('./_wks')('match');\nmodule.exports = function(KEY){\n  var re = /./;\n  try {\n    '/./'[KEY](re);\n  } catch(e){\n    try {\n      re[MATCH] = false;\n      return !'/./'[KEY](re);\n    } catch(f){ /* empty */ }\n  } return true;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_fails-is-regexp.js\n// module id = 323\n// module chunks = 0","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function(){\n  var that   = anObject(this)\n    , result = '';\n  if(that.global)     result += 'g';\n  if(that.ignoreCase) result += 'i';\n  if(that.multiline)  result += 'm';\n  if(that.unicode)    result += 'u';\n  if(that.sticky)     result += 'y';\n  return result;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_flags.js\n// module id = 324\n// module chunks = 0","var isObject       = require('./_is-object')\n  , setPrototypeOf = require('./_set-proto').set;\nmodule.exports = function(that, target, C){\n  var P, S = target.constructor;\n  if(S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf){\n    setPrototypeOf(that, P);\n  } return that;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_inherit-if-required.js\n// module id = 325\n// module chunks = 0","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg){\n  return cof(arg) == 'Array';\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_is-array.js\n// module id = 326\n// module chunks = 0","// 7.2.8 IsRegExp(argument)\nvar isObject = require('./_is-object')\n  , cof      = require('./_cof')\n  , MATCH    = require('./_wks')('match');\nmodule.exports = function(it){\n  var isRegExp;\n  return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_is-regexp.js\n// module id = 327\n// module chunks = 0","'use strict';\nvar LIBRARY        = require('./_library')\n  , $export        = require('./_export')\n  , redefine       = require('./_redefine')\n  , hide           = require('./_hide')\n  , has            = require('./_has')\n  , Iterators      = require('./_iterators')\n  , $iterCreate    = require('./_iter-create')\n  , setToStringTag = require('./_set-to-string-tag')\n  , getPrototypeOf = require('./_object-gpo')\n  , ITERATOR       = require('./_wks')('iterator')\n  , BUGGY          = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`\n  , FF_ITERATOR    = '@@iterator'\n  , KEYS           = 'keys'\n  , VALUES         = 'values';\n\nvar returnThis = function(){ return this; };\n\nmodule.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){\n  $iterCreate(Constructor, NAME, next);\n  var getMethod = function(kind){\n    if(!BUGGY && kind in proto)return proto[kind];\n    switch(kind){\n      case KEYS: return function keys(){ return new Constructor(this, kind); };\n      case VALUES: return function values(){ return new Constructor(this, kind); };\n    } return function entries(){ return new Constructor(this, kind); };\n  };\n  var TAG        = NAME + ' Iterator'\n    , DEF_VALUES = DEFAULT == VALUES\n    , VALUES_BUG = false\n    , proto      = Base.prototype\n    , $native    = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]\n    , $default   = $native || getMethod(DEFAULT)\n    , $entries   = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined\n    , $anyNative = NAME == 'Array' ? proto.entries || $native : $native\n    , methods, key, IteratorPrototype;\n  // Fix native\n  if($anyNative){\n    IteratorPrototype = getPrototypeOf($anyNative.call(new Base));\n    if(IteratorPrototype !== Object.prototype){\n      // Set @@toStringTag to native iterators\n      setToStringTag(IteratorPrototype, TAG, true);\n      // fix for some old engines\n      if(!LIBRARY && !has(IteratorPrototype, ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis);\n    }\n  }\n  // fix Array#{values, @@iterator}.name in V8 / FF\n  if(DEF_VALUES && $native && $native.name !== VALUES){\n    VALUES_BUG = true;\n    $default = function values(){ return $native.call(this); };\n  }\n  // Define iterator\n  if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){\n    hide(proto, ITERATOR, $default);\n  }\n  // Plug for library\n  Iterators[NAME] = $default;\n  Iterators[TAG]  = returnThis;\n  if(DEFAULT){\n    methods = {\n      values:  DEF_VALUES ? $default : getMethod(VALUES),\n      keys:    IS_SET     ? $default : getMethod(KEYS),\n      entries: $entries\n    };\n    if(FORCED)for(key in methods){\n      if(!(key in proto))redefine(proto, key, methods[key]);\n    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n  }\n  return methods;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_iter-define.js\n// module id = 328\n// module chunks = 0","module.exports = false;\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_library.js\n// module id = 329\n// module chunks = 0","// 20.2.2.14 Math.expm1(x)\nvar $expm1 = Math.expm1;\nmodule.exports = (!$expm1\n  // Old FF bug\n  || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168\n  // Tor Browser bug\n  || $expm1(-2e-17) != -2e-17\n) ? function expm1(x){\n  return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;\n} : $expm1;\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_math-expm1.js\n// module id = 330\n// module chunks = 0","// 20.2.2.28 Math.sign(x)\nmodule.exports = Math.sign || function sign(x){\n  return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_math-sign.js\n// module id = 331\n// module chunks = 0","var redefine = require('./_redefine');\nmodule.exports = function(target, src, safe){\n  for(var key in src)redefine(target, key, src[key], safe);\n  return target;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_redefine-all.js\n// module id = 332\n// module chunks = 0","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object')\n  , anObject = require('./_an-object');\nvar check = function(O, proto){\n  anObject(O);\n  if(!isObject(proto) && proto !== null)throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n  set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n    function(test, buggy, set){\n      try {\n        set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n        set(test, []);\n        buggy = !(test instanceof Array);\n      } catch(e){ buggy = true; }\n      return function setPrototypeOf(O, proto){\n        check(O, proto);\n        if(buggy)O.__proto__ = proto;\n        else set(O, proto);\n        return O;\n      };\n    }({}, false) : undefined),\n  check: check\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_set-proto.js\n// module id = 333\n// module chunks = 0","'use strict';\nvar global      = require('./_global')\n  , dP          = require('./_object-dp')\n  , DESCRIPTORS = require('./_descriptors')\n  , SPECIES     = require('./_wks')('species');\n\nmodule.exports = function(KEY){\n  var C = global[KEY];\n  if(DESCRIPTORS && C && !C[SPECIES])dP.f(C, SPECIES, {\n    configurable: true,\n    get: function(){ return this; }\n  });\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_set-species.js\n// module id = 334\n// module chunks = 0","var shared = require('./_shared')('keys')\n  , uid    = require('./_uid');\nmodule.exports = function(key){\n  return shared[key] || (shared[key] = uid(key));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_shared-key.js\n// module id = 335\n// module chunks = 0","// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = require('./_is-regexp')\n  , defined  = require('./_defined');\n\nmodule.exports = function(that, searchString, NAME){\n  if(isRegExp(searchString))throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n  return String(defined(that));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_string-context.js\n// module id = 336\n// module chunks = 0","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n  '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_string-ws.js\n// module id = 337\n// module chunks = 0","\"use strict\";\nvar core_1 = require(\"@angular/core\");\nvar DropdownNotClosableZone_1 = require(\"./DropdownNotClosableZone\");\nvar Dropdown = (function () {\n    // -------------------------------------------------------------------------\n    // Constructor\n    // -------------------------------------------------------------------------\n    function Dropdown(elementRef) {\n        this.elementRef = elementRef;\n        // -------------------------------------------------------------------------\n        // Inputs / Outputs\n        // -------------------------------------------------------------------------\n        this.toggleClick = true;\n        this.activateOnFocus = false;\n        this.onOpen = new core_1.EventEmitter();\n        this.onClose = new core_1.EventEmitter();\n    }\n    // -------------------------------------------------------------------------\n    // Public Methods\n    // -------------------------------------------------------------------------\n    Dropdown.prototype.open = function () {\n        var element = this.elementRef.nativeElement;\n        element.classList.add(\"open\");\n        this.onOpen.emit(undefined);\n    };\n    Dropdown.prototype.close = function () {\n        var element = this.elementRef.nativeElement;\n        element.classList.remove(\"open\");\n        this.onClose.emit(undefined);\n    };\n    Dropdown.prototype.isOpened = function () {\n        var element = this.elementRef.nativeElement;\n        return element.classList.contains(\"open\");\n    };\n    Dropdown.prototype.isInClosableZone = function (element) {\n        if (!this.notClosableZone)\n            return false;\n        return this.notClosableZone.contains(element);\n    };\n    Dropdown.decorators = [\n        { type: core_1.Directive, args: [{\n                    selector: \"[dropdown]\",\n                    exportAs: \"dropdown\"\n                },] },\n    ];\n    /** @nocollapse */\n    Dropdown.ctorParameters = [\n        { type: core_1.ElementRef, },\n    ];\n    Dropdown.propDecorators = {\n        'toggleClick': [{ type: core_1.Input, args: [\"dropdownToggle\",] },],\n        'activateOnFocus': [{ type: core_1.Input, args: [\"dropdownFocusActivate\",] },],\n        'onOpen': [{ type: core_1.Output },],\n        'onClose': [{ type: core_1.Output },],\n        'notClosableZone': [{ type: core_1.ContentChild, args: [DropdownNotClosableZone_1.DropdownNotClosableZone,] },],\n    };\n    return Dropdown;\n}());\nexports.Dropdown = Dropdown;\n//# sourceMappingURL=Dropdown.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-dropdown/Dropdown.js\n// module id = 338\n// module chunks = 0","\"use strict\";\nvar core_1 = require(\"@angular/core\");\nvar DropdownNotClosableZone = (function () {\n    function DropdownNotClosableZone(elementRef) {\n        this.elementRef = elementRef;\n    }\n    DropdownNotClosableZone.prototype.contains = function (element) {\n        if (this.dropdownNotClosabledZone === false)\n            return false;\n        var thisElement = this.elementRef.nativeElement;\n        return thisElement.contains(element);\n    };\n    DropdownNotClosableZone.decorators = [\n        { type: core_1.Directive, args: [{\n                    selector: \"[dropdown-not-closable-zone]\"\n                },] },\n    ];\n    /** @nocollapse */\n    DropdownNotClosableZone.ctorParameters = [\n        { type: core_1.ElementRef, },\n    ];\n    DropdownNotClosableZone.propDecorators = {\n        'dropdownNotClosabledZone': [{ type: core_1.Input, args: [\"dropdown-not-closable-zone\",] },],\n    };\n    return DropdownNotClosableZone;\n}());\nexports.DropdownNotClosableZone = DropdownNotClosableZone;\n//# sourceMappingURL=DropdownNotClosableZone.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-dropdown/DropdownNotClosableZone.js\n// module id = 339\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar cropperDrawSettings_1 = require(\"./cropperDrawSettings\");\nvar CropperSettings = (function () {\n    function CropperSettings() {\n        this.canvasWidth = 300;\n        this.canvasHeight = 300;\n        this.dynamicSizing = false;\n        this.width = 200;\n        this.height = 200;\n        this.minWidth = 50;\n        this.minHeight = 50;\n        this.minWithRelativeToResolution = true;\n        this.croppedWidth = 100;\n        this.croppedHeight = 100;\n        this.cropperDrawSettings = new cropperDrawSettings_1.CropperDrawSettings();\n        this.touchRadius = 20;\n        this.noFileInput = false;\n        this.allowedFilesRegex = /\\.(jpe?g|png|gif)$/i;\n        this.preserveSize = false;\n        this.compressRatio = 1.0;\n        this._rounded = false;\n        this._keepAspect = true;\n        // init\n    }\n    Object.defineProperty(CropperSettings.prototype, \"rounded\", {\n        get: function () {\n            return this._rounded;\n        },\n        set: function (val) {\n            this._rounded = val;\n            if (val) {\n                this._keepAspect = true;\n            }\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(CropperSettings.prototype, \"keepAspect\", {\n        get: function () {\n            return this._keepAspect;\n        },\n        set: function (val) {\n            if (val === false && this._rounded) {\n                throw new Error('Cannot set keep aspect to false on rounded cropper. Ellipsis not supported');\n            }\n            this._keepAspect = val;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    return CropperSettings;\n}());\nexports.CropperSettings = CropperSettings;\n//# sourceMappingURL=cropperSettings.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-img-cropper/src/cropperSettings.js\n// module id = 340\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar pointPool_1 = require(\"./pointPool\");\nvar Bounds = (function () {\n    function Bounds(x, y, width, height) {\n        if (x === void 0) {\n            x = 0;\n        }\n        if (y === void 0) {\n            y = 0;\n        }\n        if (width === void 0) {\n            width = 0;\n        }\n        if (height === void 0) {\n            height = 0;\n        }\n        this.left = x;\n        this.right = x + width;\n        this.top = y;\n        this.bottom = y + height;\n    }\n    Object.defineProperty(Bounds.prototype, \"width\", {\n        get: function () {\n            return this.right - this.left;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    ;\n    Object.defineProperty(Bounds.prototype, \"height\", {\n        get: function () {\n            return this.bottom - this.top;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    ;\n    Bounds.prototype.getCentre = function () {\n        var w = this.width;\n        var h = this.height;\n        return pointPool_1.PointPool.instance.borrow(this.left + (w / 2), this.top + (h / 2));\n    };\n    ;\n    return Bounds;\n}());\nexports.Bounds = Bounds;\n//# sourceMappingURL=bounds.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-img-cropper/src/model/bounds.js\n// module id = 341\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar point_1 = require(\"./point\");\nvar PointPool = (function () {\n    function PointPool(initialSize) {\n        PointPool._instance = this;\n        var prev = this.firstAvailable = new point_1.Point();\n        for (var i = 1; i < initialSize; i++) {\n            var p = new point_1.Point();\n            prev.next = p;\n            prev = p;\n        }\n    }\n    Object.defineProperty(PointPool, \"instance\", {\n        get: function () {\n            return PointPool._instance;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    PointPool.prototype.borrow = function (x, y) {\n        if (this.firstAvailable == null) {\n            throw 'Pool exhausted';\n        }\n        this.borrowed++;\n        var p = this.firstAvailable;\n        this.firstAvailable = p.next;\n        p.x = x;\n        p.y = y;\n        return p;\n    };\n    ;\n    PointPool.prototype.returnPoint = function (p) {\n        this.borrowed--;\n        p.x = 0;\n        p.y = 0;\n        p.next = this.firstAvailable;\n        this.firstAvailable = p;\n    };\n    ;\n    return PointPool;\n}());\nexports.PointPool = PointPool;\n//# sourceMappingURL=pointPool.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-img-cropper/src/model/pointPool.js\n// module id = 342\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar core_1 = require(\"@angular/core\");\nvar toast_options_1 = require(\"./toast-options\");\nvar platform_browser_1 = require(\"@angular/platform-browser\");\nvar ToastContainer = (function () {\n    function ToastContainer(sanitizer, cdr, options) {\n        this.sanitizer = sanitizer;\n        this.cdr = cdr;\n        this.position = 'fixed';\n        this.messageClass = 'toast-message';\n        this.titleClass = 'toast-title';\n        this.positionClass = 'toast-top-right';\n        this.toasts = [];\n        this.maxShown = 5;\n        this.newestOnTop = false;\n        this.animate = 'fade';\n        if (options) {\n            Object.assign(this, options);\n        }\n    }\n    ToastContainer.prototype.addToast = function (toast) {\n        if (this.positionClass.indexOf('top') > 0) {\n            if (this.newestOnTop) {\n                this.toasts.unshift(toast);\n            }\n            else {\n                this.toasts.push(toast);\n            }\n            if (this.toasts.length > this.maxShown) {\n                var diff = this.toasts.length - this.maxShown;\n                if (this.newestOnTop) {\n                    this.toasts.splice(this.maxShown);\n                }\n                else {\n                    this.toasts.splice(0, diff);\n                }\n            }\n        }\n        else {\n            this.toasts.unshift(toast);\n            if (this.toasts.length > this.maxShown) {\n                this.toasts.splice(this.maxShown);\n            }\n        }\n        this.cdr.detectChanges();\n    };\n    ToastContainer.prototype.removeToast = function (toast) {\n        if (toast.timeoutId) {\n            clearTimeout(toast.timeoutId);\n            toast.timeoutId = null;\n        }\n        this.toasts = this.toasts.filter(function (t) {\n            return t.id !== toast.id;\n        });\n    };\n    ToastContainer.prototype.removeAllToasts = function () {\n        this.toasts = [];\n    };\n    ToastContainer.prototype.clicked = function (toast) {\n        if (this.onToastClicked) {\n            this.onToastClicked(toast);\n        }\n    };\n    ToastContainer.prototype.anyToast = function () {\n        return this.toasts.length > 0;\n    };\n    ToastContainer.prototype.findToast = function (toastId) {\n        for (var _i = 0, _a = this.toasts; _i < _a.length; _i++) {\n            var toast = _a[_i];\n            if (toast.id === toastId) {\n                return toast;\n            }\n        }\n        return null;\n    };\n    return ToastContainer;\n}());\nToastContainer.decorators = [\n    { type: core_1.Component, args: [{\n                selector: 'toast-container',\n                template: \"\\n    <div #toastContainer id=\\\"toast-container\\\" [style.position]=\\\"position\\\" class=\\\"{{positionClass}}\\\">\\n      <div *ngFor=\\\"let toast of toasts\\\" [@inOut]=\\\"animate\\\" class=\\\"toast toast-{{toast.type}}\\\" \\n      (click)=\\\"clicked(toast)\\\">\\n        <div class=\\\"toast-close-button\\\" *ngIf=\\\"toast.config.showCloseButton\\\" (click)=\\\"removeToast(toast)\\\">&times;\\n        </div> \\n        <div *ngIf=\\\"toast.title\\\" class=\\\"{{toast.config.titleClass || titleClass}}\\\">{{toast.title}}</div>\\n        <div [ngSwitch]=\\\"toast.config.enableHTML\\\">\\n          <span *ngSwitchCase=\\\"true\\\" [innerHTML]=\\\"sanitizer.bypassSecurityTrustHtml(toast.message)\\\"></span>\\n          <span id='toast_class' *ngSwitchDefault class=\\\"{{toast.config.messageClass || messageClass}}\\\">{{toast.message}}</span>\\n        </div>             \\n      </div>\\n    </div>\\n    \",\n                animations: [\n                    core_1.trigger('inOut', [\n                        core_1.state('flyRight, flyLeft', core_1.style({ opacity: 1, transform: 'translateX(0)' })),\n                        core_1.state('fade', core_1.style({ opacity: 1 })),\n                        core_1.state('slideDown, slideUp', core_1.style({ opacity: 1, transform: 'translateY(0)' })),\n                        core_1.transition('void => flyRight', [\n                            core_1.style({\n                                opacity: 0,\n                                transform: 'translateX(100%)'\n                            }),\n                            core_1.animate('0.2s ease-in')\n                        ]),\n                        core_1.transition('flyRight => void', [\n                            core_1.animate('0.2s 10 ease-out', core_1.style({\n                                opacity: 0,\n                                transform: 'translateX(100%)'\n                            }))\n                        ]),\n                        core_1.transition('void => flyLeft', [\n                            core_1.style({\n                                opacity: 0,\n                                transform: 'translateX(-100%)'\n                            }),\n                            core_1.animate('0.2s ease-in')\n                        ]),\n                        core_1.transition('flyLeft => void', [\n                            core_1.animate('0.2s 10 ease-out', core_1.style({\n                                opacity: 0,\n                                transform: 'translateX(-100%)'\n                            }))\n                        ]),\n                        core_1.transition('void => fade', [\n                            core_1.style({\n                                opacity: 0,\n                            }),\n                            core_1.animate('0.3s ease-in')\n                        ]),\n                        core_1.transition('fade => void', [\n                            core_1.animate('0.3s 10 ease-out', core_1.style({\n                                opacity: 0,\n                            }))\n                        ]),\n                        core_1.transition('void => slideDown', [\n                            core_1.style({\n                                opacity: 0,\n                                transform: 'translateY(-200%)'\n                            }),\n                            core_1.animate('0.3s ease-in')\n                        ]),\n                        core_1.transition('slideDown => void', [\n                            core_1.animate('0.3s 10 ease-out', core_1.style({\n                                opacity: 0,\n                                transform: 'translateY(-200%)'\n                            }))\n                        ]),\n                        core_1.transition('void => slideUp', [\n                            core_1.style({\n                                opacity: 0,\n                                transform: 'translateY(200%)'\n                            }),\n                            core_1.animate('0.3s ease-in')\n                        ]),\n                        core_1.transition('slideUp => void', [\n                            core_1.animate('0.3s 10 ease-out', core_1.style({\n                                opacity: 0,\n                                transform: 'translateY(200%)'\n                            }))\n                        ]),\n                    ]),\n                ],\n            },] },\n];\n/** @nocollapse */\nToastContainer.ctorParameters = function () { return [\n    { type: platform_browser_1.DomSanitizer, },\n    { type: core_1.ChangeDetectorRef, },\n    { type: toast_options_1.ToastOptions, decorators: [{ type: core_1.Optional },] },\n]; };\nexports.ToastContainer = ToastContainer;\n//# sourceMappingURL=toast-container.component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-toastr/src/toast-container.component.js\n// module id = 343\n// module chunks = 0","var __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { Injectable } from \"@angular/core\";\nimport { isDefined } from \"./util\";\nexport var TranslateParser = (function () {\n    function TranslateParser() {\n    }\n    return TranslateParser;\n}());\nexport var DefaultTranslateParser = (function (_super) {\n    __extends(DefaultTranslateParser, _super);\n    function DefaultTranslateParser() {\n        _super.apply(this, arguments);\n        this.templateMatcher = /{{\\s?([^{}\\s]*)\\s?}}/g;\n    }\n    DefaultTranslateParser.prototype.interpolate = function (expr, params) {\n        var _this = this;\n        if (typeof expr !== 'string' || !params) {\n            return expr;\n        }\n        return expr.replace(this.templateMatcher, function (substring, b) {\n            var r = _this.getValue(params, b);\n            return isDefined(r) ? r : substring;\n        });\n    };\n    DefaultTranslateParser.prototype.getValue = function (target, key) {\n        var keys = key.split('.');\n        key = '';\n        do {\n            key += keys.shift();\n            if (isDefined(target) && isDefined(target[key]) && (typeof target[key] === 'object' || !keys.length)) {\n                target = target[key];\n                key = '';\n            }\n            else if (!keys.length) {\n                target = undefined;\n            }\n            else {\n                key += '.';\n            }\n        } while (keys.length);\n        return target;\n    };\n    DefaultTranslateParser.decorators = [\n        { type: Injectable },\n    ];\n    /** @nocollapse */\n    DefaultTranslateParser.ctorParameters = function () { return []; };\n    return DefaultTranslateParser;\n}(TranslateParser));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-translate/src/translate.parser.js\n// module id = 344\n// module chunks = 0","\"use strict\";\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar core_1 = require(\"@angular/core\");\nvar TooltipContent = (function () {\n    // -------------------------------------------------------------------------\n    // Constructor\n    // -------------------------------------------------------------------------\n    function TooltipContent(element, cdr) {\n        this.element = element;\n        this.cdr = cdr;\n        this.placement = \"bottom\";\n        this.animation = true;\n        // -------------------------------------------------------------------------\n        // Properties\n        // -------------------------------------------------------------------------\n        this.top = -100000;\n        this.left = -100000;\n        this.isIn = false;\n        this.isFade = false;\n    }\n    // -------------------------------------------------------------------------\n    // Lifecycle callbacks\n    // -------------------------------------------------------------------------\n    TooltipContent.prototype.ngAfterViewInit = function () {\n        this.show();\n        this.cdr.detectChanges();\n    };\n    // -------------------------------------------------------------------------\n    // Public Methods\n    // -------------------------------------------------------------------------\n    TooltipContent.prototype.show = function () {\n        if (!this.hostElement)\n            return;\n        var p = this.positionElements(this.hostElement, this.element.nativeElement.children[0], this.placement);\n        this.top = p.top;\n        this.left = p.left;\n        this.isIn = true;\n        if (this.animation)\n            this.isFade = true;\n    };\n    TooltipContent.prototype.hide = function () {\n        this.top = -100000;\n        this.left = -100000;\n        this.isIn = true;\n        if (this.animation)\n            this.isFade = false;\n    };\n    // -------------------------------------------------------------------------\n    // Private Methods\n    // -------------------------------------------------------------------------\n    TooltipContent.prototype.positionElements = function (hostEl, targetEl, positionStr, appendToBody) {\n        if (appendToBody === void 0) { appendToBody = false; }\n        var positionStrParts = positionStr.split(\"-\");\n        var pos0 = positionStrParts[0];\n        var pos1 = positionStrParts[1] || \"center\";\n        var hostElPos = appendToBody ? this.offset(hostEl) : this.position(hostEl);\n        var targetElWidth = targetEl.offsetWidth;\n        var targetElHeight = targetEl.offsetHeight;\n        var shiftWidth = {\n            center: function () {\n                return hostElPos.left + hostElPos.width / 2 - targetElWidth / 2;\n            },\n            left: function () {\n                return hostElPos.left;\n            },\n            right: function () {\n                return hostElPos.left + hostElPos.width;\n            }\n        };\n        var shiftHeight = {\n            center: function () {\n                return hostElPos.top + hostElPos.height / 2 - targetElHeight / 2;\n            },\n            top: function () {\n                return hostElPos.top;\n            },\n            bottom: function () {\n                return hostElPos.top + hostElPos.height;\n            }\n        };\n        var targetElPos;\n        switch (pos0) {\n            case \"right\":\n                targetElPos = {\n                    top: shiftHeight[pos1](),\n                    left: shiftWidth[pos0]()\n                };\n                break;\n            case \"left\":\n                targetElPos = {\n                    top: shiftHeight[pos1](),\n                    left: hostElPos.left - targetElWidth\n                };\n                break;\n            case \"bottom\":\n                targetElPos = {\n                    top: shiftHeight[pos0](),\n                    left: shiftWidth[pos1]()\n                };\n                break;\n            default:\n                targetElPos = {\n                    top: hostElPos.top - targetElHeight,\n                    left: shiftWidth[pos1]()\n                };\n                break;\n        }\n        return targetElPos;\n    };\n    TooltipContent.prototype.position = function (nativeEl) {\n        var offsetParentBCR = { top: 0, left: 0 };\n        var elBCR = this.offset(nativeEl);\n        var offsetParentEl = this.parentOffsetEl(nativeEl);\n        if (offsetParentEl !== window.document) {\n            offsetParentBCR = this.offset(offsetParentEl);\n            offsetParentBCR.top += offsetParentEl.clientTop - offsetParentEl.scrollTop;\n            offsetParentBCR.left += offsetParentEl.clientLeft - offsetParentEl.scrollLeft;\n        }\n        var boundingClientRect = nativeEl.getBoundingClientRect();\n        return {\n            width: boundingClientRect.width || nativeEl.offsetWidth,\n            height: boundingClientRect.height || nativeEl.offsetHeight,\n            top: elBCR.top - offsetParentBCR.top,\n            left: elBCR.left - offsetParentBCR.left\n        };\n    };\n    TooltipContent.prototype.offset = function (nativeEl) {\n        var boundingClientRect = nativeEl.getBoundingClientRect();\n        return {\n            width: boundingClientRect.width || nativeEl.offsetWidth,\n            height: boundingClientRect.height || nativeEl.offsetHeight,\n            top: boundingClientRect.top + (window.pageYOffset || window.document.documentElement.scrollTop),\n            left: boundingClientRect.left + (window.pageXOffset || window.document.documentElement.scrollLeft)\n        };\n    };\n    TooltipContent.prototype.getStyle = function (nativeEl, cssProp) {\n        if (nativeEl.currentStyle)\n            return nativeEl.currentStyle[cssProp];\n        if (window.getComputedStyle)\n            return window.getComputedStyle(nativeEl)[cssProp];\n        // finally try and get inline style\n        return nativeEl.style[cssProp];\n    };\n    TooltipContent.prototype.isStaticPositioned = function (nativeEl) {\n        return (this.getStyle(nativeEl, \"position\") || \"static\") === \"static\";\n    };\n    TooltipContent.prototype.parentOffsetEl = function (nativeEl) {\n        var offsetParent = nativeEl.offsetParent || window.document;\n        while (offsetParent && offsetParent !== window.document && this.isStaticPositioned(offsetParent)) {\n            offsetParent = offsetParent.offsetParent;\n        }\n        return offsetParent || window.document;\n    };\n    return TooltipContent;\n}());\n__decorate([\n    core_1.Input(),\n    __metadata(\"design:type\", HTMLElement)\n], TooltipContent.prototype, \"hostElement\", void 0);\n__decorate([\n    core_1.Input(),\n    __metadata(\"design:type\", String)\n], TooltipContent.prototype, \"content\", void 0);\n__decorate([\n    core_1.Input(),\n    __metadata(\"design:type\", String)\n], TooltipContent.prototype, \"placement\", void 0);\n__decorate([\n    core_1.Input(),\n    __metadata(\"design:type\", Boolean)\n], TooltipContent.prototype, \"animation\", void 0);\nTooltipContent = __decorate([\n    core_1.Component({\n        selector: \"tooltip-content\",\n        template: \"\\n<div class=\\\"tooltip {{ placement }}\\\"\\n     [style.top]=\\\"top + 'px'\\\"\\n     [style.left]=\\\"left + 'px'\\\"\\n     [class.in]=\\\"isIn\\\"\\n     [class.fade]=\\\"isFade\\\"\\n     role=\\\"tooltip\\\">\\n    <div class=\\\"tooltip-arrow\\\"></div> \\n    <div class=\\\"tooltip-inner\\\">\\n        <ng-content></ng-content>\\n        {{ content }}\\n    </div> \\n</div>\\n\"\n    }),\n    __metadata(\"design:paramtypes\", [core_1.ElementRef,\n        core_1.ChangeDetectorRef])\n], TooltipContent);\nexports.TooltipContent = TooltipContent;\n//# sourceMappingURL=TooltipContent.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ngx-tooltip/TooltipContent.js\n// module id = 345\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar toPromise_1 = require('../../operator/toPromise');\nObservable_1.Observable.prototype.toPromise = toPromise_1.toPromise;\n//# sourceMappingURL=toPromise.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/toPromise.js\n// module id = 346\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subject_1 = require('../Subject');\nvar Observable_1 = require('../Observable');\nvar Subscriber_1 = require('../Subscriber');\nvar Subscription_1 = require('../Subscription');\n/**\n * @class ConnectableObservable<T>\n */\nvar ConnectableObservable = (function (_super) {\n    __extends(ConnectableObservable, _super);\n    function ConnectableObservable(source, subjectFactory) {\n        _super.call(this);\n        this.source = source;\n        this.subjectFactory = subjectFactory;\n        this._refCount = 0;\n    }\n    ConnectableObservable.prototype._subscribe = function (subscriber) {\n        return this.getSubject().subscribe(subscriber);\n    };\n    ConnectableObservable.prototype.getSubject = function () {\n        var subject = this._subject;\n        if (!subject || subject.isStopped) {\n            this._subject = this.subjectFactory();\n        }\n        return this._subject;\n    };\n    ConnectableObservable.prototype.connect = function () {\n        var connection = this._connection;\n        if (!connection) {\n            connection = this._connection = new Subscription_1.Subscription();\n            connection.add(this.source\n                .subscribe(new ConnectableSubscriber(this.getSubject(), this)));\n            if (connection.closed) {\n                this._connection = null;\n                connection = Subscription_1.Subscription.EMPTY;\n            }\n            else {\n                this._connection = connection;\n            }\n        }\n        return connection;\n    };\n    ConnectableObservable.prototype.refCount = function () {\n        return this.lift(new RefCountOperator(this));\n    };\n    return ConnectableObservable;\n}(Observable_1.Observable));\nexports.ConnectableObservable = ConnectableObservable;\nvar ConnectableSubscriber = (function (_super) {\n    __extends(ConnectableSubscriber, _super);\n    function ConnectableSubscriber(destination, connectable) {\n        _super.call(this, destination);\n        this.connectable = connectable;\n    }\n    ConnectableSubscriber.prototype._error = function (err) {\n        this._unsubscribe();\n        _super.prototype._error.call(this, err);\n    };\n    ConnectableSubscriber.prototype._complete = function () {\n        this._unsubscribe();\n        _super.prototype._complete.call(this);\n    };\n    ConnectableSubscriber.prototype._unsubscribe = function () {\n        var connectable = this.connectable;\n        if (connectable) {\n            this.connectable = null;\n            var connection = connectable._connection;\n            connectable._refCount = 0;\n            connectable._subject = null;\n            connectable._connection = null;\n            if (connection) {\n                connection.unsubscribe();\n            }\n        }\n    };\n    return ConnectableSubscriber;\n}(Subject_1.SubjectSubscriber));\nvar RefCountOperator = (function () {\n    function RefCountOperator(connectable) {\n        this.connectable = connectable;\n    }\n    RefCountOperator.prototype.call = function (subscriber, source) {\n        var connectable = this.connectable;\n        connectable._refCount++;\n        var refCounter = new RefCountSubscriber(subscriber, connectable);\n        var subscription = source._subscribe(refCounter);\n        if (!refCounter.closed) {\n            refCounter.connection = connectable.connect();\n        }\n        return subscription;\n    };\n    return RefCountOperator;\n}());\nvar RefCountSubscriber = (function (_super) {\n    __extends(RefCountSubscriber, _super);\n    function RefCountSubscriber(destination, connectable) {\n        _super.call(this, destination);\n        this.connectable = connectable;\n    }\n    RefCountSubscriber.prototype._unsubscribe = function () {\n        var connectable = this.connectable;\n        if (!connectable) {\n            this.connection = null;\n            return;\n        }\n        this.connectable = null;\n        var refCount = connectable._refCount;\n        if (refCount <= 0) {\n            this.connection = null;\n            return;\n        }\n        connectable._refCount = refCount - 1;\n        if (refCount > 1) {\n            this.connection = null;\n            return;\n        }\n        ///\n        // Compare the local RefCountSubscriber's connection Subscription to the\n        // connection Subscription on the shared ConnectableObservable. In cases\n        // where the ConnectableObservable source synchronously emits values, and\n        // the RefCountSubscriber's dowstream Observers synchronously unsubscribe,\n        // execution continues to here before the RefCountOperator has a chance to\n        // supply the RefCountSubscriber with the shared connection Subscription.\n        // For example:\n        // ```\n        // Observable.range(0, 10)\n        //   .publish()\n        //   .refCount()\n        //   .take(5)\n        //   .subscribe();\n        // ```\n        // In order to account for this case, RefCountSubscriber should only dispose\n        // the ConnectableObservable's shared connection Subscription if the\n        // connection Subscription exists, *and* either:\n        //   a. RefCountSubscriber doesn't have a reference to the shared connection\n        //      Subscription yet, or,\n        //   b. RefCountSubscriber's connection Subscription reference is identical\n        //      to the shared connection Subscription\n        ///\n        var connection = this.connection;\n        var sharedConnection = connectable._connection;\n        this.connection = null;\n        if (sharedConnection && (!connection || sharedConnection === connection)) {\n            sharedConnection.unsubscribe();\n        }\n    };\n    return RefCountSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=ConnectableObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/ConnectableObservable.js\n// module id = 347\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = require('../Observable');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar ScalarObservable = (function (_super) {\n    __extends(ScalarObservable, _super);\n    function ScalarObservable(value, scheduler) {\n        _super.call(this);\n        this.value = value;\n        this.scheduler = scheduler;\n        this._isScalar = true;\n        if (scheduler) {\n            this._isScalar = false;\n        }\n    }\n    ScalarObservable.create = function (value, scheduler) {\n        return new ScalarObservable(value, scheduler);\n    };\n    ScalarObservable.dispatch = function (state) {\n        var done = state.done, value = state.value, subscriber = state.subscriber;\n        if (done) {\n            subscriber.complete();\n            return;\n        }\n        subscriber.next(value);\n        if (subscriber.closed) {\n            return;\n        }\n        state.done = true;\n        this.schedule(state);\n    };\n    ScalarObservable.prototype._subscribe = function (subscriber) {\n        var value = this.value;\n        var scheduler = this.scheduler;\n        if (scheduler) {\n            return scheduler.schedule(ScalarObservable.dispatch, 0, {\n                done: false, value: value, subscriber: subscriber\n            });\n        }\n        else {\n            subscriber.next(value);\n            if (!subscriber.closed) {\n                subscriber.complete();\n            }\n        }\n    };\n    return ScalarObservable;\n}(Observable_1.Observable));\nexports.ScalarObservable = ScalarObservable;\n//# sourceMappingURL=ScalarObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/ScalarObservable.js\n// module id = 348\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar OuterSubscriber_1 = require('../OuterSubscriber');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\n/**\n * Catches errors on the observable to be handled by returning a new observable or throwing an error.\n * @param {function} selector a function that takes as arguments `err`, which is the error, and `caught`, which\n *  is the source observable, in case you'd like to \"retry\" that observable by returning it again. Whatever observable\n *  is returned by the `selector` will be used to continue the observable chain.\n * @return {Observable} an observable that originates from either the source or the observable returned by the\n *  catch `selector` function.\n * @method catch\n * @owner Observable\n */\nfunction _catch(selector) {\n    var operator = new CatchOperator(selector);\n    var caught = this.lift(operator);\n    return (operator.caught = caught);\n}\nexports._catch = _catch;\nvar CatchOperator = (function () {\n    function CatchOperator(selector) {\n        this.selector = selector;\n    }\n    CatchOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new CatchSubscriber(subscriber, this.selector, this.caught));\n    };\n    return CatchOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar CatchSubscriber = (function (_super) {\n    __extends(CatchSubscriber, _super);\n    function CatchSubscriber(destination, selector, caught) {\n        _super.call(this, destination);\n        this.selector = selector;\n        this.caught = caught;\n    }\n    // NOTE: overriding `error` instead of `_error` because we don't want\n    // to have this flag this subscriber as `isStopped`.\n    CatchSubscriber.prototype.error = function (err) {\n        if (!this.isStopped) {\n            var result = void 0;\n            try {\n                result = this.selector(err, this.caught);\n            }\n            catch (err) {\n                this.destination.error(err);\n                return;\n            }\n            this.unsubscribe();\n            this.destination.remove(this);\n            subscribeToResult_1.subscribeToResult(this, result);\n        }\n    };\n    return CatchSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=catch.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/catch.js\n// module id = 349\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar ArrayObservable_1 = require('../observable/ArrayObservable');\nvar isArray_1 = require('../util/isArray');\nvar OuterSubscriber_1 = require('../OuterSubscriber');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\nvar none = {};\n/**\n * Combines multiple Observables to create an Observable whose values are\n * calculated from the latest values of each of its input Observables.\n *\n * <span class=\"informal\">Whenever any input Observable emits a value, it\n * computes a formula using the latest values from all the inputs, then emits\n * the output of that formula.</span>\n *\n * <img src=\"./img/combineLatest.png\" width=\"100%\">\n *\n * `combineLatest` combines the values from this Observable with values from\n * Observables passed as arguments. This is done by subscribing to each\n * Observable, in order, and collecting an array of each of the most recent\n * values any time any of the input Observables emits, then either taking that\n * array and passing it as arguments to an optional `project` function and\n * emitting the return value of that, or just emitting the array of recent\n * values directly if there is no `project` function.\n *\n * @example <caption>Dynamically calculate the Body-Mass Index from an Observable of weight and one for height</caption>\n * var weight = Rx.Observable.of(70, 72, 76, 79, 75);\n * var height = Rx.Observable.of(1.76, 1.77, 1.78);\n * var bmi = weight.combineLatest(height, (w, h) => w / (h * h));\n * bmi.subscribe(x => console.log('BMI is ' + x));\n *\n * @see {@link combineAll}\n * @see {@link merge}\n * @see {@link withLatestFrom}\n *\n * @param {Observable} other An input Observable to combine with the source\n * Observable. More than one input Observables may be given as argument.\n * @param {function} [project] An optional function to project the values from\n * the combined latest values into a new value on the output Observable.\n * @return {Observable} An Observable of projected values from the most recent\n * values from each input Observable, or an array of the most recent values from\n * each input Observable.\n * @method combineLatest\n * @owner Observable\n */\nfunction combineLatest() {\n    var observables = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        observables[_i - 0] = arguments[_i];\n    }\n    var project = null;\n    if (typeof observables[observables.length - 1] === 'function') {\n        project = observables.pop();\n    }\n    // if the first and only other argument besides the resultSelector is an array\n    // assume it's been called with `combineLatest([obs1, obs2, obs3], project)`\n    if (observables.length === 1 && isArray_1.isArray(observables[0])) {\n        observables = observables[0];\n    }\n    observables.unshift(this);\n    return new ArrayObservable_1.ArrayObservable(observables).lift(new CombineLatestOperator(project));\n}\nexports.combineLatest = combineLatest;\n/* tslint:enable:max-line-length */\nvar CombineLatestOperator = (function () {\n    function CombineLatestOperator(project) {\n        this.project = project;\n    }\n    CombineLatestOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new CombineLatestSubscriber(subscriber, this.project));\n    };\n    return CombineLatestOperator;\n}());\nexports.CombineLatestOperator = CombineLatestOperator;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar CombineLatestSubscriber = (function (_super) {\n    __extends(CombineLatestSubscriber, _super);\n    function CombineLatestSubscriber(destination, project) {\n        _super.call(this, destination);\n        this.project = project;\n        this.active = 0;\n        this.values = [];\n        this.observables = [];\n    }\n    CombineLatestSubscriber.prototype._next = function (observable) {\n        this.values.push(none);\n        this.observables.push(observable);\n    };\n    CombineLatestSubscriber.prototype._complete = function () {\n        var observables = this.observables;\n        var len = observables.length;\n        if (len === 0) {\n            this.destination.complete();\n        }\n        else {\n            this.active = len;\n            this.toRespond = len;\n            for (var i = 0; i < len; i++) {\n                var observable = observables[i];\n                this.add(subscribeToResult_1.subscribeToResult(this, observable, observable, i));\n            }\n        }\n    };\n    CombineLatestSubscriber.prototype.notifyComplete = function (unused) {\n        if ((this.active -= 1) === 0) {\n            this.destination.complete();\n        }\n    };\n    CombineLatestSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        var values = this.values;\n        var oldVal = values[outerIndex];\n        var toRespond = !this.toRespond\n            ? 0\n            : oldVal === none ? --this.toRespond : this.toRespond;\n        values[outerIndex] = innerValue;\n        if (toRespond === 0) {\n            if (this.project) {\n                this._tryProject(values);\n            }\n            else {\n                this.destination.next(values.slice());\n            }\n        }\n    };\n    CombineLatestSubscriber.prototype._tryProject = function (values) {\n        var result;\n        try {\n            result = this.project.apply(this, values);\n        }\n        catch (err) {\n            this.destination.error(err);\n            return;\n        }\n        this.destination.next(result);\n    };\n    return CombineLatestSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\nexports.CombineLatestSubscriber = CombineLatestSubscriber;\n//# sourceMappingURL=combineLatest.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/combineLatest.js\n// module id = 350\n// module chunks = 0","\"use strict\";\nvar isScheduler_1 = require('../util/isScheduler');\nvar ArrayObservable_1 = require('../observable/ArrayObservable');\nvar mergeAll_1 = require('./mergeAll');\n/**\n * Creates an output Observable which sequentially emits all values from every\n * given input Observable after the current Observable.\n *\n * <span class=\"informal\">Concatenates multiple Observables together by\n * sequentially emitting their values, one Observable after the other.</span>\n *\n * <img src=\"./img/concat.png\" width=\"100%\">\n *\n * Joins this Observable with multiple other Observables by subscribing to them\n * one at a time, starting with the source, and merging their results into the\n * output Observable. Will wait for each Observable to complete before moving\n * on to the next.\n *\n * @example <caption>Concatenate a timer counting from 0 to 3 with a synchronous sequence from 1 to 10</caption>\n * var timer = Rx.Observable.interval(1000).take(4);\n * var sequence = Rx.Observable.range(1, 10);\n * var result = timer.concat(sequence);\n * result.subscribe(x => console.log(x));\n *\n * @example <caption>Concatenate 3 Observables</caption>\n * var timer1 = Rx.Observable.interval(1000).take(10);\n * var timer2 = Rx.Observable.interval(2000).take(6);\n * var timer3 = Rx.Observable.interval(500).take(10);\n * var result = timer1.concat(timer2, timer3);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link concatAll}\n * @see {@link concatMap}\n * @see {@link concatMapTo}\n *\n * @param {Observable} other An input Observable to concatenate after the source\n * Observable. More than one input Observables may be given as argument.\n * @param {Scheduler} [scheduler=null] An optional Scheduler to schedule each\n * Observable subscription on.\n * @return {Observable} All values of each passed Observable merged into a\n * single Observable, in order, in serial fashion.\n * @method concat\n * @owner Observable\n */\nfunction concat() {\n    var observables = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        observables[_i - 0] = arguments[_i];\n    }\n    return concatStatic.apply(void 0, [this].concat(observables));\n}\nexports.concat = concat;\n/* tslint:enable:max-line-length */\n/**\n * Creates an output Observable which sequentially emits all values from every\n * given input Observable after the current Observable.\n *\n * <span class=\"informal\">Concatenates multiple Observables together by\n * sequentially emitting their values, one Observable after the other.</span>\n *\n * <img src=\"./img/concat.png\" width=\"100%\">\n *\n * Joins multiple Observables together by subscribing to them one at a time and\n * merging their results into the output Observable. Will wait for each\n * Observable to complete before moving on to the next.\n *\n * @example <caption>Concatenate a timer counting from 0 to 3 with a synchronous sequence from 1 to 10</caption>\n * var timer = Rx.Observable.interval(1000).take(4);\n * var sequence = Rx.Observable.range(1, 10);\n * var result = Rx.Observable.concat(timer, sequence);\n * result.subscribe(x => console.log(x));\n *\n * @example <caption>Concatenate 3 Observables</caption>\n * var timer1 = Rx.Observable.interval(1000).take(10);\n * var timer2 = Rx.Observable.interval(2000).take(6);\n * var timer3 = Rx.Observable.interval(500).take(10);\n * var result = Rx.Observable.concat(timer1, timer2, timer3);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link concatAll}\n * @see {@link concatMap}\n * @see {@link concatMapTo}\n *\n * @param {Observable} input1 An input Observable to concatenate with others.\n * @param {Observable} input2 An input Observable to concatenate with others.\n * More than one input Observables may be given as argument.\n * @param {Scheduler} [scheduler=null] An optional Scheduler to schedule each\n * Observable subscription on.\n * @return {Observable} All values of each passed Observable merged into a\n * single Observable, in order, in serial fashion.\n * @static true\n * @name concat\n * @owner Observable\n */\nfunction concatStatic() {\n    var observables = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        observables[_i - 0] = arguments[_i];\n    }\n    var scheduler = null;\n    var args = observables;\n    if (isScheduler_1.isScheduler(args[observables.length - 1])) {\n        scheduler = args.pop();\n    }\n    return new ArrayObservable_1.ArrayObservable(observables, scheduler).lift(new mergeAll_1.MergeAllOperator(1));\n}\nexports.concatStatic = concatStatic;\n//# sourceMappingURL=concat.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/concat.js\n// module id = 351\n// module chunks = 0","\"use strict\";\nvar mergeAll_1 = require('./mergeAll');\n/**\n * Converts a higher-order Observable into a first-order Observable by\n * concatenating the inner Observables in order.\n *\n * <span class=\"informal\">Flattens an Observable-of-Observables by putting one\n * inner Observable after the other.</span>\n *\n * <img src=\"./img/concatAll.png\" width=\"100%\">\n *\n * Joins every Observable emitted by the source (a higher-order Observable), in\n * a serial fashion. It subscribes to each inner Observable only after the\n * previous inner Observable has completed, and merges all of their values into\n * the returned observable.\n *\n * __Warning:__ If the source Observable emits Observables quickly and\n * endlessly, and the inner Observables it emits generally complete slower than\n * the source emits, you can run into memory issues as the incoming Observables\n * collect in an unbounded buffer.\n *\n * Note: `concatAll` is equivalent to `mergeAll` with concurrency parameter set\n * to `1`.\n *\n * @example <caption>For each click event, tick every second from 0 to 3, with no concurrency</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var higherOrder = clicks.map(ev => Rx.Observable.interval(1000).take(4));\n * var firstOrder = higherOrder.concatAll();\n * firstOrder.subscribe(x => console.log(x));\n *\n * @see {@link combineAll}\n * @see {@link concat}\n * @see {@link concatMap}\n * @see {@link concatMapTo}\n * @see {@link exhaust}\n * @see {@link mergeAll}\n * @see {@link switch}\n * @see {@link zipAll}\n *\n * @return {Observable} An Observable emitting values from all the inner\n * Observables concatenated.\n * @method concatAll\n * @owner Observable\n */\nfunction concatAll() {\n    return this.lift(new mergeAll_1.MergeAllOperator(1));\n}\nexports.concatAll = concatAll;\n//# sourceMappingURL=concatAll.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/concatAll.js\n// module id = 352\n// module chunks = 0","\"use strict\";\nvar mergeMap_1 = require('./mergeMap');\n/**\n * Projects each source value to an Observable which is merged in the output\n * Observable, in a serialized fashion waiting for each one to complete before\n * merging the next.\n *\n * <span class=\"informal\">Maps each value to an Observable, then flattens all of\n * these inner Observables using {@link concatAll}.</span>\n *\n * <img src=\"./img/concatMap.png\" width=\"100%\">\n *\n * Returns an Observable that emits items based on applying a function that you\n * supply to each item emitted by the source Observable, where that function\n * returns an (so-called \"inner\") Observable. Each new inner Observable is\n * concatenated with the previous inner Observable.\n *\n * __Warning:__ if source values arrive endlessly and faster than their\n * corresponding inner Observables can complete, it will result in memory issues\n * as inner Observables amass in an unbounded buffer waiting for their turn to\n * be subscribed to.\n *\n * Note: `concatMap` is equivalent to `mergeMap` with concurrency parameter set\n * to `1`.\n *\n * @example <caption>For each click event, tick every second from 0 to 3, with no concurrency</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.concatMap(ev => Rx.Observable.interval(1000).take(4));\n * result.subscribe(x => console.log(x));\n *\n * @see {@link concat}\n * @see {@link concatAll}\n * @see {@link concatMapTo}\n * @see {@link exhaustMap}\n * @see {@link mergeMap}\n * @see {@link switchMap}\n *\n * @param {function(value: T, ?index: number): Observable} project A function\n * that, when applied to an item emitted by the source Observable, returns an\n * Observable.\n * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector]\n * A function to produce the value on the output Observable based on the values\n * and the indices of the source (outer) emission and the inner Observable\n * emission. The arguments passed to this function are:\n * - `outerValue`: the value that came from the source\n * - `innerValue`: the value that came from the projected Observable\n * - `outerIndex`: the \"index\" of the value that came from the source\n * - `innerIndex`: the \"index\" of the value from the projected Observable\n * @return {Observable} an observable of values merged from the projected\n * Observables as they were subscribed to, one at a time. Optionally, these\n * values may have been projected from a passed `projectResult` argument.\n * @return {Observable} An Observable that emits the result of applying the\n * projection function (and the optional `resultSelector`) to each item emitted\n * by the source Observable and taking values from each projected inner\n * Observable sequentially.\n * @method concatMap\n * @owner Observable\n */\nfunction concatMap(project, resultSelector) {\n    return this.lift(new mergeMap_1.MergeMapOperator(project, resultSelector, 1));\n}\nexports.concatMap = concatMap;\n//# sourceMappingURL=concatMap.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/concatMap.js\n// module id = 353\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\n/**\n * Returns an Observable that emits whether or not every item of the source satisfies the condition specified.\n * @param {function} predicate a function for determining if an item meets a specified condition.\n * @param {any} [thisArg] optional object to use for `this` in the callback\n * @return {Observable} an Observable of booleans that determines if all items of the source Observable meet the condition specified.\n * @method every\n * @owner Observable\n */\nfunction every(predicate, thisArg) {\n    return this.lift(new EveryOperator(predicate, thisArg, this));\n}\nexports.every = every;\nvar EveryOperator = (function () {\n    function EveryOperator(predicate, thisArg, source) {\n        this.predicate = predicate;\n        this.thisArg = thisArg;\n        this.source = source;\n    }\n    EveryOperator.prototype.call = function (observer, source) {\n        return source._subscribe(new EverySubscriber(observer, this.predicate, this.thisArg, this.source));\n    };\n    return EveryOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar EverySubscriber = (function (_super) {\n    __extends(EverySubscriber, _super);\n    function EverySubscriber(destination, predicate, thisArg, source) {\n        _super.call(this, destination);\n        this.predicate = predicate;\n        this.thisArg = thisArg;\n        this.source = source;\n        this.index = 0;\n        this.thisArg = thisArg || this;\n    }\n    EverySubscriber.prototype.notifyComplete = function (everyValueMatch) {\n        this.destination.next(everyValueMatch);\n        this.destination.complete();\n    };\n    EverySubscriber.prototype._next = function (value) {\n        var result = false;\n        try {\n            result = this.predicate.call(this.thisArg, value, this.index++, this.source);\n        }\n        catch (err) {\n            this.destination.error(err);\n            return;\n        }\n        if (!result) {\n            this.notifyComplete(false);\n        }\n    };\n    EverySubscriber.prototype._complete = function () {\n        this.notifyComplete(true);\n    };\n    return EverySubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=every.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/every.js\n// module id = 354\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\n/**\n * Filter items emitted by the source Observable by only emitting those that\n * satisfy a specified predicate.\n *\n * <span class=\"informal\">Like\n * [Array.prototype.filter()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter),\n * it only emits a value from the source if it passes a criterion function.</span>\n *\n * <img src=\"./img/filter.png\" width=\"100%\">\n *\n * Similar to the well-known `Array.prototype.filter` method, this operator\n * takes values from the source Observable, passes them through a `predicate`\n * function and only emits those values that yielded `true`.\n *\n * @example <caption>Emit only click events whose target was a DIV element</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var clicksOnDivs = clicks.filter(ev => ev.target.tagName === 'DIV');\n * clicksOnDivs.subscribe(x => console.log(x));\n *\n * @see {@link distinct}\n * @see {@link distinctKey}\n * @see {@link distinctUntilChanged}\n * @see {@link distinctUntilKeyChanged}\n * @see {@link ignoreElements}\n * @see {@link partition}\n * @see {@link skip}\n *\n * @param {function(value: T, index: number): boolean} predicate A function that\n * evaluates each value emitted by the source Observable. If it returns `true`,\n * the value is emitted, if `false` the value is not passed to the output\n * Observable. The `index` parameter is the number `i` for the i-th source\n * emission that has happened since the subscription, starting from the number\n * `0`.\n * @param {any} [thisArg] An optional argument to determine the value of `this`\n * in the `predicate` function.\n * @return {Observable} An Observable of values from the source that were\n * allowed by the `predicate` function.\n * @method filter\n * @owner Observable\n */\nfunction filter(predicate, thisArg) {\n    return this.lift(new FilterOperator(predicate, thisArg));\n}\nexports.filter = filter;\nvar FilterOperator = (function () {\n    function FilterOperator(predicate, thisArg) {\n        this.predicate = predicate;\n        this.thisArg = thisArg;\n    }\n    FilterOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new FilterSubscriber(subscriber, this.predicate, this.thisArg));\n    };\n    return FilterOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar FilterSubscriber = (function (_super) {\n    __extends(FilterSubscriber, _super);\n    function FilterSubscriber(destination, predicate, thisArg) {\n        _super.call(this, destination);\n        this.predicate = predicate;\n        this.thisArg = thisArg;\n        this.count = 0;\n        this.predicate = predicate;\n    }\n    // the try catch block below is left specifically for\n    // optimization and perf reasons. a tryCatcher is not necessary here.\n    FilterSubscriber.prototype._next = function (value) {\n        var result;\n        try {\n            result = this.predicate.call(this.thisArg, value, this.count++);\n        }\n        catch (err) {\n            this.destination.error(err);\n            return;\n        }\n        if (result) {\n            this.destination.next(value);\n        }\n    };\n    return FilterSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=filter.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/filter.js\n// module id = 355\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\nvar Notification_1 = require('../Notification');\n/**\n * @see {@link Notification}\n *\n * @param scheduler\n * @param delay\n * @return {Observable<R>|WebSocketSubject<T>|Observable<T>}\n * @method observeOn\n * @owner Observable\n */\nfunction observeOn(scheduler, delay) {\n    if (delay === void 0) { delay = 0; }\n    return this.lift(new ObserveOnOperator(scheduler, delay));\n}\nexports.observeOn = observeOn;\nvar ObserveOnOperator = (function () {\n    function ObserveOnOperator(scheduler, delay) {\n        if (delay === void 0) { delay = 0; }\n        this.scheduler = scheduler;\n        this.delay = delay;\n    }\n    ObserveOnOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new ObserveOnSubscriber(subscriber, this.scheduler, this.delay));\n    };\n    return ObserveOnOperator;\n}());\nexports.ObserveOnOperator = ObserveOnOperator;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar ObserveOnSubscriber = (function (_super) {\n    __extends(ObserveOnSubscriber, _super);\n    function ObserveOnSubscriber(destination, scheduler, delay) {\n        if (delay === void 0) { delay = 0; }\n        _super.call(this, destination);\n        this.scheduler = scheduler;\n        this.delay = delay;\n    }\n    ObserveOnSubscriber.dispatch = function (arg) {\n        var notification = arg.notification, destination = arg.destination;\n        notification.observe(destination);\n    };\n    ObserveOnSubscriber.prototype.scheduleMessage = function (notification) {\n        this.add(this.scheduler.schedule(ObserveOnSubscriber.dispatch, this.delay, new ObserveOnMessage(notification, this.destination)));\n    };\n    ObserveOnSubscriber.prototype._next = function (value) {\n        this.scheduleMessage(Notification_1.Notification.createNext(value));\n    };\n    ObserveOnSubscriber.prototype._error = function (err) {\n        this.scheduleMessage(Notification_1.Notification.createError(err));\n    };\n    ObserveOnSubscriber.prototype._complete = function () {\n        this.scheduleMessage(Notification_1.Notification.createComplete());\n    };\n    return ObserveOnSubscriber;\n}(Subscriber_1.Subscriber));\nexports.ObserveOnSubscriber = ObserveOnSubscriber;\nvar ObserveOnMessage = (function () {\n    function ObserveOnMessage(notification, destination) {\n        this.notification = notification;\n        this.destination = destination;\n    }\n    return ObserveOnMessage;\n}());\nexports.ObserveOnMessage = ObserveOnMessage;\n//# sourceMappingURL=observeOn.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/observeOn.js\n// module id = 356\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar ArrayObservable_1 = require('../observable/ArrayObservable');\nvar isArray_1 = require('../util/isArray');\nvar Subscriber_1 = require('../Subscriber');\nvar OuterSubscriber_1 = require('../OuterSubscriber');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\nvar iterator_1 = require('../symbol/iterator');\n/**\n * @param observables\n * @return {Observable<R>}\n * @method zip\n * @owner Observable\n */\nfunction zipProto() {\n    var observables = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        observables[_i - 0] = arguments[_i];\n    }\n    observables.unshift(this);\n    return zipStatic.apply(this, observables);\n}\nexports.zipProto = zipProto;\n/* tslint:enable:max-line-length */\n/**\n * @param observables\n * @return {Observable<R>}\n * @static true\n * @name zip\n * @owner Observable\n */\nfunction zipStatic() {\n    var observables = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        observables[_i - 0] = arguments[_i];\n    }\n    var project = observables[observables.length - 1];\n    if (typeof project === 'function') {\n        observables.pop();\n    }\n    return new ArrayObservable_1.ArrayObservable(observables).lift(new ZipOperator(project));\n}\nexports.zipStatic = zipStatic;\nvar ZipOperator = (function () {\n    function ZipOperator(project) {\n        this.project = project;\n    }\n    ZipOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new ZipSubscriber(subscriber, this.project));\n    };\n    return ZipOperator;\n}());\nexports.ZipOperator = ZipOperator;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar ZipSubscriber = (function (_super) {\n    __extends(ZipSubscriber, _super);\n    function ZipSubscriber(destination, project, values) {\n        if (values === void 0) { values = Object.create(null); }\n        _super.call(this, destination);\n        this.index = 0;\n        this.iterators = [];\n        this.active = 0;\n        this.project = (typeof project === 'function') ? project : null;\n        this.values = values;\n    }\n    ZipSubscriber.prototype._next = function (value) {\n        var iterators = this.iterators;\n        var index = this.index++;\n        if (isArray_1.isArray(value)) {\n            iterators.push(new StaticArrayIterator(value));\n        }\n        else if (typeof value[iterator_1.$$iterator] === 'function') {\n            iterators.push(new StaticIterator(value[iterator_1.$$iterator]()));\n        }\n        else {\n            iterators.push(new ZipBufferIterator(this.destination, this, value, index));\n        }\n    };\n    ZipSubscriber.prototype._complete = function () {\n        var iterators = this.iterators;\n        var len = iterators.length;\n        this.active = len;\n        for (var i = 0; i < len; i++) {\n            var iterator = iterators[i];\n            if (iterator.stillUnsubscribed) {\n                this.add(iterator.subscribe(iterator, i));\n            }\n            else {\n                this.active--; // not an observable\n            }\n        }\n    };\n    ZipSubscriber.prototype.notifyInactive = function () {\n        this.active--;\n        if (this.active === 0) {\n            this.destination.complete();\n        }\n    };\n    ZipSubscriber.prototype.checkIterators = function () {\n        var iterators = this.iterators;\n        var len = iterators.length;\n        var destination = this.destination;\n        // abort if not all of them have values\n        for (var i = 0; i < len; i++) {\n            var iterator = iterators[i];\n            if (typeof iterator.hasValue === 'function' && !iterator.hasValue()) {\n                return;\n            }\n        }\n        var shouldComplete = false;\n        var args = [];\n        for (var i = 0; i < len; i++) {\n            var iterator = iterators[i];\n            var result = iterator.next();\n            // check to see if it's completed now that you've gotten\n            // the next value.\n            if (iterator.hasCompleted()) {\n                shouldComplete = true;\n            }\n            if (result.done) {\n                destination.complete();\n                return;\n            }\n            args.push(result.value);\n        }\n        if (this.project) {\n            this._tryProject(args);\n        }\n        else {\n            destination.next(args);\n        }\n        if (shouldComplete) {\n            destination.complete();\n        }\n    };\n    ZipSubscriber.prototype._tryProject = function (args) {\n        var result;\n        try {\n            result = this.project.apply(this, args);\n        }\n        catch (err) {\n            this.destination.error(err);\n            return;\n        }\n        this.destination.next(result);\n    };\n    return ZipSubscriber;\n}(Subscriber_1.Subscriber));\nexports.ZipSubscriber = ZipSubscriber;\nvar StaticIterator = (function () {\n    function StaticIterator(iterator) {\n        this.iterator = iterator;\n        this.nextResult = iterator.next();\n    }\n    StaticIterator.prototype.hasValue = function () {\n        return true;\n    };\n    StaticIterator.prototype.next = function () {\n        var result = this.nextResult;\n        this.nextResult = this.iterator.next();\n        return result;\n    };\n    StaticIterator.prototype.hasCompleted = function () {\n        var nextResult = this.nextResult;\n        return nextResult && nextResult.done;\n    };\n    return StaticIterator;\n}());\nvar StaticArrayIterator = (function () {\n    function StaticArrayIterator(array) {\n        this.array = array;\n        this.index = 0;\n        this.length = 0;\n        this.length = array.length;\n    }\n    StaticArrayIterator.prototype[iterator_1.$$iterator] = function () {\n        return this;\n    };\n    StaticArrayIterator.prototype.next = function (value) {\n        var i = this.index++;\n        var array = this.array;\n        return i < this.length ? { value: array[i], done: false } : { value: null, done: true };\n    };\n    StaticArrayIterator.prototype.hasValue = function () {\n        return this.array.length > this.index;\n    };\n    StaticArrayIterator.prototype.hasCompleted = function () {\n        return this.array.length === this.index;\n    };\n    return StaticArrayIterator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar ZipBufferIterator = (function (_super) {\n    __extends(ZipBufferIterator, _super);\n    function ZipBufferIterator(destination, parent, observable, index) {\n        _super.call(this, destination);\n        this.parent = parent;\n        this.observable = observable;\n        this.index = index;\n        this.stillUnsubscribed = true;\n        this.buffer = [];\n        this.isComplete = false;\n    }\n    ZipBufferIterator.prototype[iterator_1.$$iterator] = function () {\n        return this;\n    };\n    // NOTE: there is actually a name collision here with Subscriber.next and Iterator.next\n    //    this is legit because `next()` will never be called by a subscription in this case.\n    ZipBufferIterator.prototype.next = function () {\n        var buffer = this.buffer;\n        if (buffer.length === 0 && this.isComplete) {\n            return { value: null, done: true };\n        }\n        else {\n            return { value: buffer.shift(), done: false };\n        }\n    };\n    ZipBufferIterator.prototype.hasValue = function () {\n        return this.buffer.length > 0;\n    };\n    ZipBufferIterator.prototype.hasCompleted = function () {\n        return this.buffer.length === 0 && this.isComplete;\n    };\n    ZipBufferIterator.prototype.notifyComplete = function () {\n        if (this.buffer.length > 0) {\n            this.isComplete = true;\n            this.parent.notifyInactive();\n        }\n        else {\n            this.destination.complete();\n        }\n    };\n    ZipBufferIterator.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        this.buffer.push(innerValue);\n        this.parent.checkIterators();\n    };\n    ZipBufferIterator.prototype.subscribe = function (value, index) {\n        return subscribeToResult_1.subscribeToResult(this, this.observable, this, index);\n    };\n    return ZipBufferIterator;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=zip.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/zip.js\n// module id = 357\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\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\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/util/ObjectUnsubscribedError.js\n// module id = 358\n// module chunks = 0","\"use strict\";\nfunction isFunction(x) {\n    return typeof x === 'function';\n}\nexports.isFunction = isFunction;\n//# sourceMappingURL=isFunction.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/util/isFunction.js\n// module id = 359\n// module chunks = 0","\"use strict\";\nvar isArray_1 = require('../util/isArray');\nfunction isNumeric(val) {\n    // parseFloat NaNs numeric-cast false positives (null|true|false|\"\")\n    // ...but misinterprets leading-number strings, particularly hex literals (\"0x...\")\n    // subtraction forces infinities to NaN\n    // adding 1 corrects loss of precision from parseFloat (#15100)\n    return !isArray_1.isArray(val) && (val - parseFloat(val) + 1) >= 0;\n}\nexports.isNumeric = isNumeric;\n;\n//# sourceMappingURL=isNumeric.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/util/isNumeric.js\n// module id = 360\n// module chunks = 0","/**\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 */\nimport { NgClass } from './ng_class';\nimport { NgFor } from './ng_for';\nimport { NgIf } from './ng_if';\nimport { NgPlural, NgPluralCase } from './ng_plural';\nimport { NgStyle } from './ng_style';\nimport { NgSwitch, NgSwitchCase, NgSwitchDefault } from './ng_switch';\nimport { NgTemplateOutlet } from './ng_template_outlet';\nexport { NgClass, NgFor, NgIf, NgPlural, NgPluralCase, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgTemplateOutlet };\n/**\n * A collection of Angular directives that are likely to be used in each and every Angular\n * application.\n */\nexport var /** @type {?} */ COMMON_DIRECTIVES = [\n    NgClass,\n    NgFor,\n    NgIf,\n    NgTemplateOutlet,\n    NgStyle,\n    NgSwitch,\n    NgSwitchCase,\n    NgSwitchDefault,\n    NgPlural,\n    NgPluralCase,\n];\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/common/src/directives/index.js\n// module id = 361\n// module chunks = 0","/**\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 */\nimport { Directive, Host, Input, TemplateRef, ViewContainerRef } from '@angular/core';\nexport var SwitchView = (function () {\n    /**\n     * @param {?} _viewContainerRef\n     * @param {?} _templateRef\n     */\n    function SwitchView(_viewContainerRef, _templateRef) {\n        this._viewContainerRef = _viewContainerRef;\n        this._templateRef = _templateRef;\n        this._created = false;\n    }\n    /**\n     * @return {?}\n     */\n    SwitchView.prototype.create = function () {\n        this._created = true;\n        this._viewContainerRef.createEmbeddedView(this._templateRef);\n    };\n    /**\n     * @return {?}\n     */\n    SwitchView.prototype.destroy = function () {\n        this._created = false;\n        this._viewContainerRef.clear();\n    };\n    /**\n     * @param {?} created\n     * @return {?}\n     */\n    SwitchView.prototype.enforceState = function (created) {\n        if (created && !this._created) {\n            this.create();\n        }\n        else if (!created && this._created) {\n            this.destroy();\n        }\n    };\n    return SwitchView;\n}());\nfunction SwitchView_tsickle_Closure_declarations() {\n    /** @type {?} */\n    SwitchView.prototype._created;\n    /** @type {?} */\n    SwitchView.prototype._viewContainerRef;\n    /** @type {?} */\n    SwitchView.prototype._templateRef;\n}\n/**\n * \\@ngModule CommonModule\n *\n * \\@whatItDoes Adds / removes DOM sub-trees when the nest match expressions matches the switch\n *             expression.\n *\n * \\@howToUse\n * ```\n *     <container-element [ngSwitch]=\"switch_expression\">\n *       <some-element *ngSwitchCase=\"match_expression_1\">...</some-element>\n *       <some-element *ngSwitchCase=\"match_expression_2\">...</some-element>\n *       <some-other-element *ngSwitchCase=\"match_expression_3\">...</some-other-element>\n *       <ng-container *ngSwitchCase=\"match_expression_3\">\n *         <!-- use a ng-container to group multiple root nodes -->\n *         <inner-element></inner-element>\n *         <inner-other-element></inner-other-element>\n *       </ng-container>\n *       <some-element *ngSwitchDefault>...</some-element>\n *     </container-element>\n * ```\n * \\@description\n *\n * `NgSwitch` stamps out nested views when their match expression value matches the value of the\n * switch expression.\n *\n * In other words:\n * - you define a container element (where you place the directive with a switch expression on the\n * `[ngSwitch]=\"...\"` attribute)\n * - you define inner views inside the `NgSwitch` and place a `*ngSwitchCase` attribute on the view\n * root elements.\n *\n * Elements within `NgSwitch` but outside of a `NgSwitchCase` or `NgSwitchDefault` directives will\n * be preserved at the location.\n *\n * The `ngSwitchCase` directive informs the parent `NgSwitch` of which view to display when the\n * expression is evaluated.\n * When no matching expression is found on a `ngSwitchCase` view, the `ngSwitchDefault` view is\n * stamped out.\n *\n * \\@stable\n */\nexport var NgSwitch = (function () {\n    function NgSwitch() {\n        this._defaultUsed = false;\n        this._caseCount = 0;\n        this._lastCaseCheckIndex = 0;\n        this._lastCasesMatched = false;\n    }\n    Object.defineProperty(NgSwitch.prototype, \"ngSwitch\", {\n        /**\n         * @param {?} newValue\n         * @return {?}\n         */\n        set: function (newValue) {\n            this._ngSwitch = newValue;\n            if (this._caseCount === 0) {\n                this._updateDefaultCases(true);\n            }\n        },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * \\@internal\n     * @return {?}\n     */\n    NgSwitch.prototype._addCase = function () { return this._caseCount++; };\n    /**\n     * \\@internal\n     * @param {?} view\n     * @return {?}\n     */\n    NgSwitch.prototype._addDefault = function (view) {\n        if (!this._defaultViews) {\n            this._defaultViews = [];\n        }\n        this._defaultViews.push(view);\n    };\n    /**\n     * \\@internal\n     * @param {?} value\n     * @return {?}\n     */\n    NgSwitch.prototype._matchCase = function (value) {\n        var /** @type {?} */ matched = value == this._ngSwitch;\n        this._lastCasesMatched = this._lastCasesMatched || matched;\n        this._lastCaseCheckIndex++;\n        if (this._lastCaseCheckIndex === this._caseCount) {\n            this._updateDefaultCases(!this._lastCasesMatched);\n            this._lastCaseCheckIndex = 0;\n            this._lastCasesMatched = false;\n        }\n        return matched;\n    };\n    /**\n     * @param {?} useDefault\n     * @return {?}\n     */\n    NgSwitch.prototype._updateDefaultCases = function (useDefault) {\n        if (this._defaultViews && useDefault !== this._defaultUsed) {\n            this._defaultUsed = useDefault;\n            for (var /** @type {?} */ i = 0; i < this._defaultViews.length; i++) {\n                var /** @type {?} */ defaultView = this._defaultViews[i];\n                defaultView.enforceState(useDefault);\n            }\n        }\n    };\n    NgSwitch.decorators = [\n        { type: Directive, args: [{ selector: '[ngSwitch]' },] },\n    ];\n    /** @nocollapse */\n    NgSwitch.ctorParameters = function () { return []; };\n    NgSwitch.propDecorators = {\n        'ngSwitch': [{ type: Input },],\n    };\n    return NgSwitch;\n}());\nfunction NgSwitch_tsickle_Closure_declarations() {\n    /** @type {?} */\n    NgSwitch.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    NgSwitch.ctorParameters;\n    /** @type {?} */\n    NgSwitch.propDecorators;\n    /** @type {?} */\n    NgSwitch.prototype._defaultViews;\n    /** @type {?} */\n    NgSwitch.prototype._defaultUsed;\n    /** @type {?} */\n    NgSwitch.prototype._caseCount;\n    /** @type {?} */\n    NgSwitch.prototype._lastCaseCheckIndex;\n    /** @type {?} */\n    NgSwitch.prototype._lastCasesMatched;\n    /** @type {?} */\n    NgSwitch.prototype._ngSwitch;\n}\n/**\n * \\@ngModule CommonModule\n *\n * \\@whatItDoes Creates a view that will be added/removed from the parent {\\@link NgSwitch} when the\n *             given expression evaluate to respectively the same/different value as the switch\n *             expression.\n *\n * \\@howToUse\n * ```\n * <container-element [ngSwitch]=\"switch_expression\">\n *   <some-element *ngSwitchCase=\"match_expression_1\">...</some-element>\n * </container-element>\n * ```\n * \\@description\n *\n * Insert the sub-tree when the expression evaluates to the same value as the enclosing switch\n * expression.\n *\n * If multiple match expressions match the switch expression value, all of them are displayed.\n *\n * See {\\@link NgSwitch} for more details and example.\n *\n * \\@stable\n */\nexport var NgSwitchCase = (function () {\n    /**\n     * @param {?} viewContainer\n     * @param {?} templateRef\n     * @param {?} ngSwitch\n     */\n    function NgSwitchCase(viewContainer, templateRef, ngSwitch) {\n        this.ngSwitch = ngSwitch;\n        ngSwitch._addCase();\n        this._view = new SwitchView(viewContainer, templateRef);\n    }\n    /**\n     * @return {?}\n     */\n    NgSwitchCase.prototype.ngDoCheck = function () { this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase)); };\n    NgSwitchCase.decorators = [\n        { type: Directive, args: [{ selector: '[ngSwitchCase]' },] },\n    ];\n    /** @nocollapse */\n    NgSwitchCase.ctorParameters = function () { return [\n        { type: ViewContainerRef, },\n        { type: TemplateRef, },\n        { type: NgSwitch, decorators: [{ type: Host },] },\n    ]; };\n    NgSwitchCase.propDecorators = {\n        'ngSwitchCase': [{ type: Input },],\n    };\n    return NgSwitchCase;\n}());\nfunction NgSwitchCase_tsickle_Closure_declarations() {\n    /** @type {?} */\n    NgSwitchCase.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    NgSwitchCase.ctorParameters;\n    /** @type {?} */\n    NgSwitchCase.propDecorators;\n    /** @type {?} */\n    NgSwitchCase.prototype._view;\n    /** @type {?} */\n    NgSwitchCase.prototype.ngSwitchCase;\n    /** @type {?} */\n    NgSwitchCase.prototype.ngSwitch;\n}\n/**\n * \\@ngModule CommonModule\n * \\@whatItDoes Creates a view that is added to the parent {\\@link NgSwitch} when no case expressions\n * match the\n *             switch expression.\n *\n * \\@howToUse\n * ```\n * <container-element [ngSwitch]=\"switch_expression\">\n *   <some-element *ngSwitchCase=\"match_expression_1\">...</some-element>\n *   <some-other-element *ngSwitchDefault>...</some-other-element>\n * </container-element>\n * ```\n *\n * \\@description\n *\n * Insert the sub-tree when no case expressions evaluate to the same value as the enclosing switch\n * expression.\n *\n * See {\\@link NgSwitch} for more details and example.\n *\n * \\@stable\n */\nexport var NgSwitchDefault = (function () {\n    /**\n     * @param {?} viewContainer\n     * @param {?} templateRef\n     * @param {?} ngSwitch\n     */\n    function NgSwitchDefault(viewContainer, templateRef, ngSwitch) {\n        ngSwitch._addDefault(new SwitchView(viewContainer, templateRef));\n    }\n    NgSwitchDefault.decorators = [\n        { type: Directive, args: [{ selector: '[ngSwitchDefault]' },] },\n    ];\n    /** @nocollapse */\n    NgSwitchDefault.ctorParameters = function () { return [\n        { type: ViewContainerRef, },\n        { type: TemplateRef, },\n        { type: NgSwitch, decorators: [{ type: Host },] },\n    ]; };\n    return NgSwitchDefault;\n}());\nfunction NgSwitchDefault_tsickle_Closure_declarations() {\n    /** @type {?} */\n    NgSwitchDefault.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    NgSwitchDefault.ctorParameters;\n}\n//# sourceMappingURL=ng_switch.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/common/src/directives/ng_switch.js\n// module id = 362\n// module chunks = 0","/**\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 */\nimport { AsyncPipe } from './async_pipe';\nimport { DatePipe } from './date_pipe';\nimport { I18nPluralPipe } from './i18n_plural_pipe';\nimport { I18nSelectPipe } from './i18n_select_pipe';\nimport { JsonPipe } from './json_pipe';\nimport { LowerCasePipe } from './lowercase_pipe';\nimport { CurrencyPipe, DecimalPipe, PercentPipe } from './number_pipe';\nimport { SlicePipe } from './slice_pipe';\nimport { UpperCasePipe } from './uppercase_pipe';\nexport { AsyncPipe, CurrencyPipe, DatePipe, DecimalPipe, I18nPluralPipe, I18nSelectPipe, JsonPipe, LowerCasePipe, PercentPipe, SlicePipe, UpperCasePipe };\n/**\n * A collection of Angular pipes that are likely to be used in each and every application.\n */\nexport var /** @type {?} */ COMMON_PIPES = [\n    AsyncPipe,\n    UpperCasePipe,\n    LowerCasePipe,\n    JsonPipe,\n    SlicePipe,\n    DecimalPipe,\n    PercentPipe,\n    CurrencyPipe,\n    DatePipe,\n    I18nPluralPipe,\n    I18nSelectPipe,\n];\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/common/src/pipes/index.js\n// module id = 363\n// module chunks = 0","export var NumberFormatStyle = {};\nNumberFormatStyle.Decimal = 0;\nNumberFormatStyle.Percent = 1;\nNumberFormatStyle.Currency = 2;\nNumberFormatStyle[NumberFormatStyle.Decimal] = \"Decimal\";\nNumberFormatStyle[NumberFormatStyle.Percent] = \"Percent\";\nNumberFormatStyle[NumberFormatStyle.Currency] = \"Currency\";\nexport var NumberFormatter = (function () {\n    function NumberFormatter() {\n    }\n    /**\n     * @param {?} num\n     * @param {?} locale\n     * @param {?} style\n     * @param {?=} __3\n     * @return {?}\n     */\n    NumberFormatter.format = function (num, locale, style, _a) {\n        var _b = _a === void 0 ? {} : _a, minimumIntegerDigits = _b.minimumIntegerDigits, minimumFractionDigits = _b.minimumFractionDigits, maximumFractionDigits = _b.maximumFractionDigits, currency = _b.currency, _c = _b.currencyAsSymbol, currencyAsSymbol = _c === void 0 ? false : _c;\n        var /** @type {?} */ 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}());\nvar /** @type {?} */ DATE_FORMATS_SPLIT = /((?:[^yMLdHhmsazZEwGjJ']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|L+|d+|H+|h+|J+|j+|m+|s+|a|z|Z|G+|w+))(.*)/;\nvar /** @type {?} */ PATTERN_ALIASES = {\n    // Keys are quoted so they do not get renamed during closure compilation.\n    'yMMMdjms': datePartGetterFactory(combine([\n        digitCondition('year', 1),\n        nameCondition('month', 3),\n        digitCondition('day', 1),\n        digitCondition('hour', 1),\n        digitCondition('minute', 1),\n        digitCondition('second', 1),\n    ])),\n    'yMdjm': datePartGetterFactory(combine([\n        digitCondition('year', 1), digitCondition('month', 1), digitCondition('day', 1),\n        digitCondition('hour', 1), digitCondition('minute', 1)\n    ])),\n    'yMMMMEEEEd': datePartGetterFactory(combine([\n        digitCondition('year', 1), nameCondition('month', 4), nameCondition('weekday', 4),\n        digitCondition('day', 1)\n    ])),\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 /** @type {?} */ DATE_FORMATS = {\n    // Keys are quoted so they do not get renamed.\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    'L': datePartGetterFactory(nameCondition('month', 1)),\n    'dd': datePartGetterFactory(digitCondition('day', 2)),\n    'd': datePartGetterFactory(digitCondition('day', 1)),\n    'HH': digitModifier(hourExtractor(datePartGetterFactory(hour12Modify(digitCondition('hour', 2), false)))),\n    'H': hourExtractor(datePartGetterFactory(hour12Modify(digitCondition('hour', 1), false))),\n    'hh': digitModifier(hourExtractor(datePartGetterFactory(hour12Modify(digitCondition('hour', 2), true)))),\n    'h': hourExtractor(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': hourClockExtractor(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};\n/**\n * @param {?} inner\n * @return {?}\n */\nfunction digitModifier(inner) {\n    return function (date, locale) {\n        var /** @type {?} */ result = inner(date, locale);\n        return result.length == 1 ? '0' + result : result;\n    };\n}\n/**\n * @param {?} inner\n * @return {?}\n */\nfunction hourClockExtractor(inner) {\n    return function (date, locale) { return inner(date, locale).split(' ')[1]; };\n}\n/**\n * @param {?} inner\n * @return {?}\n */\nfunction hourExtractor(inner) {\n    return function (date, locale) { return inner(date, locale).split(' ')[0]; };\n}\n/**\n * @param {?} date\n * @param {?} locale\n * @param {?} options\n * @return {?}\n */\nfunction intlDateFormat(date, locale, options) {\n    return new Intl.DateTimeFormat(locale, options).format(date).replace(/[\\u200e\\u200f]/g, '');\n}\n/**\n * @param {?} timezone\n * @return {?}\n */\nfunction timeZoneGetter(timezone) {\n    // To workaround `Intl` API restriction for single timezone let format with 24 hours\n    var /** @type {?} */ options = { hour: '2-digit', hour12: false, timeZoneName: timezone };\n    return function (date, locale) {\n        var /** @type {?} */ result = intlDateFormat(date, locale, options);\n        // Then extract first 3 letters that related to hours\n        return result ? result.substring(3) : '';\n    };\n}\n/**\n * @param {?} options\n * @param {?} value\n * @return {?}\n */\nfunction hour12Modify(options, value) {\n    options.hour12 = value;\n    return options;\n}\n/**\n * @param {?} prop\n * @param {?} len\n * @return {?}\n */\nfunction digitCondition(prop, len) {\n    var /** @type {?} */ result = {};\n    result[prop] = len === 2 ? '2-digit' : 'numeric';\n    return result;\n}\n/**\n * @param {?} prop\n * @param {?} len\n * @return {?}\n */\nfunction nameCondition(prop, len) {\n    var /** @type {?} */ result = {};\n    if (len < 4) {\n        result[prop] = len > 1 ? 'short' : 'narrow';\n    }\n    else {\n        result[prop] = 'long';\n    }\n    return result;\n}\n/**\n * @param {?} options\n * @return {?}\n */\nfunction combine(options) {\n    return (_a = ((Object))).assign.apply(_a, [{}].concat(options));\n    var _a;\n}\n/**\n * @param {?} ret\n * @return {?}\n */\nfunction datePartGetterFactory(ret) {\n    return function (date, locale) { return intlDateFormat(date, locale, ret); };\n}\nvar /** @type {?} */ DATE_FORMATTER_CACHE = new Map();\n/**\n * @param {?} format\n * @param {?} date\n * @param {?} locale\n * @return {?}\n */\nfunction dateFormatter(format, date, locale) {\n    var /** @type {?} */ fn = PATTERN_ALIASES[format];\n    if (fn)\n        return fn(date, locale);\n    var /** @type {?} */ cacheKey = format;\n    var /** @type {?} */ parts = DATE_FORMATTER_CACHE.get(cacheKey);\n    if (!parts) {\n        parts = [];\n        var /** @type {?} */ match = void 0;\n        DATE_FORMATS_SPLIT.exec(format);\n        while (format) {\n            match = DATE_FORMATS_SPLIT.exec(format);\n            if (match) {\n                parts = parts.concat(match.slice(1));\n                format = parts.pop();\n            }\n            else {\n                parts.push(format);\n                format = null;\n            }\n        }\n        DATE_FORMATTER_CACHE.set(cacheKey, parts);\n    }\n    return parts.reduce(function (text, part) {\n        var /** @type {?} */ fn = DATE_FORMATS[part];\n        return text + (fn ? fn(date, locale) : partToTime(part));\n    }, '');\n}\n/**\n * @param {?} part\n * @return {?}\n */\nfunction partToTime(part) {\n    return part === '\\'\\'' ? '\\'' : part.replace(/(^'|'$)/g, '').replace(/''/g, '\\'');\n}\nexport var DateFormatter = (function () {\n    function DateFormatter() {\n    }\n    /**\n     * @param {?} date\n     * @param {?} locale\n     * @param {?} pattern\n     * @return {?}\n     */\n    DateFormatter.format = function (date, locale, pattern) {\n        return dateFormatter(pattern, date, locale);\n    };\n    return DateFormatter;\n}());\n//# sourceMappingURL=intl.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/common/src/pipes/intl.js\n// module id = 364\n// module chunks = 0","var __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n/**\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 * @abstract\n */\nexport var AnimationAst = (function () {\n    function AnimationAst() {\n        this.startTime = 0;\n        this.playTime = 0;\n    }\n    /**\n     * @abstract\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationAst.prototype.visit = function (visitor, context) { };\n    return AnimationAst;\n}());\nfunction AnimationAst_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationAst.prototype.startTime;\n    /** @type {?} */\n    AnimationAst.prototype.playTime;\n}\n/**\n * @abstract\n */\nexport var AnimationStateAst = (function (_super) {\n    __extends(AnimationStateAst, _super);\n    function AnimationStateAst() {\n        _super.apply(this, arguments);\n    }\n    /**\n     * @abstract\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationStateAst.prototype.visit = function (visitor, context) { };\n    return AnimationStateAst;\n}(AnimationAst));\nexport var AnimationEntryAst = (function (_super) {\n    __extends(AnimationEntryAst, _super);\n    /**\n     * @param {?} name\n     * @param {?} stateDeclarations\n     * @param {?} stateTransitions\n     */\n    function AnimationEntryAst(name, stateDeclarations, stateTransitions) {\n        _super.call(this);\n        this.name = name;\n        this.stateDeclarations = stateDeclarations;\n        this.stateTransitions = stateTransitions;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationEntryAst.prototype.visit = function (visitor, context) {\n        return visitor.visitAnimationEntry(this, context);\n    };\n    return AnimationEntryAst;\n}(AnimationAst));\nfunction AnimationEntryAst_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationEntryAst.prototype.name;\n    /** @type {?} */\n    AnimationEntryAst.prototype.stateDeclarations;\n    /** @type {?} */\n    AnimationEntryAst.prototype.stateTransitions;\n}\nexport var AnimationStateDeclarationAst = (function (_super) {\n    __extends(AnimationStateDeclarationAst, _super);\n    /**\n     * @param {?} stateName\n     * @param {?} styles\n     */\n    function AnimationStateDeclarationAst(stateName, styles) {\n        _super.call(this);\n        this.stateName = stateName;\n        this.styles = styles;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationStateDeclarationAst.prototype.visit = function (visitor, context) {\n        return visitor.visitAnimationStateDeclaration(this, context);\n    };\n    return AnimationStateDeclarationAst;\n}(AnimationStateAst));\nfunction AnimationStateDeclarationAst_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationStateDeclarationAst.prototype.stateName;\n    /** @type {?} */\n    AnimationStateDeclarationAst.prototype.styles;\n}\nexport var AnimationStateTransitionExpression = (function () {\n    /**\n     * @param {?} fromState\n     * @param {?} toState\n     */\n    function AnimationStateTransitionExpression(fromState, toState) {\n        this.fromState = fromState;\n        this.toState = toState;\n    }\n    return AnimationStateTransitionExpression;\n}());\nfunction AnimationStateTransitionExpression_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationStateTransitionExpression.prototype.fromState;\n    /** @type {?} */\n    AnimationStateTransitionExpression.prototype.toState;\n}\nexport var AnimationStateTransitionAst = (function (_super) {\n    __extends(AnimationStateTransitionAst, _super);\n    /**\n     * @param {?} stateChanges\n     * @param {?} animation\n     */\n    function AnimationStateTransitionAst(stateChanges, animation) {\n        _super.call(this);\n        this.stateChanges = stateChanges;\n        this.animation = animation;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationStateTransitionAst.prototype.visit = function (visitor, context) {\n        return visitor.visitAnimationStateTransition(this, context);\n    };\n    return AnimationStateTransitionAst;\n}(AnimationStateAst));\nfunction AnimationStateTransitionAst_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationStateTransitionAst.prototype.stateChanges;\n    /** @type {?} */\n    AnimationStateTransitionAst.prototype.animation;\n}\nexport var AnimationStepAst = (function (_super) {\n    __extends(AnimationStepAst, _super);\n    /**\n     * @param {?} startingStyles\n     * @param {?} keyframes\n     * @param {?} duration\n     * @param {?} delay\n     * @param {?} easing\n     */\n    function AnimationStepAst(startingStyles, keyframes, duration, delay, easing) {\n        _super.call(this);\n        this.startingStyles = startingStyles;\n        this.keyframes = keyframes;\n        this.duration = duration;\n        this.delay = delay;\n        this.easing = easing;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationStepAst.prototype.visit = function (visitor, context) {\n        return visitor.visitAnimationStep(this, context);\n    };\n    return AnimationStepAst;\n}(AnimationAst));\nfunction AnimationStepAst_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationStepAst.prototype.startingStyles;\n    /** @type {?} */\n    AnimationStepAst.prototype.keyframes;\n    /** @type {?} */\n    AnimationStepAst.prototype.duration;\n    /** @type {?} */\n    AnimationStepAst.prototype.delay;\n    /** @type {?} */\n    AnimationStepAst.prototype.easing;\n}\nexport var AnimationStylesAst = (function (_super) {\n    __extends(AnimationStylesAst, _super);\n    /**\n     * @param {?} styles\n     */\n    function AnimationStylesAst(styles) {\n        _super.call(this);\n        this.styles = styles;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationStylesAst.prototype.visit = function (visitor, context) {\n        return visitor.visitAnimationStyles(this, context);\n    };\n    return AnimationStylesAst;\n}(AnimationAst));\nfunction AnimationStylesAst_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationStylesAst.prototype.styles;\n}\nexport var AnimationKeyframeAst = (function (_super) {\n    __extends(AnimationKeyframeAst, _super);\n    /**\n     * @param {?} offset\n     * @param {?} styles\n     */\n    function AnimationKeyframeAst(offset, styles) {\n        _super.call(this);\n        this.offset = offset;\n        this.styles = styles;\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationKeyframeAst.prototype.visit = function (visitor, context) {\n        return visitor.visitAnimationKeyframe(this, context);\n    };\n    return AnimationKeyframeAst;\n}(AnimationAst));\nfunction AnimationKeyframeAst_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationKeyframeAst.prototype.offset;\n    /** @type {?} */\n    AnimationKeyframeAst.prototype.styles;\n}\n/**\n * @abstract\n */\nexport var AnimationWithStepsAst = (function (_super) {\n    __extends(AnimationWithStepsAst, _super);\n    /**\n     * @param {?} steps\n     */\n    function AnimationWithStepsAst(steps) {\n        _super.call(this);\n        this.steps = steps;\n    }\n    return AnimationWithStepsAst;\n}(AnimationAst));\nfunction AnimationWithStepsAst_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationWithStepsAst.prototype.steps;\n}\nexport var AnimationGroupAst = (function (_super) {\n    __extends(AnimationGroupAst, _super);\n    /**\n     * @param {?} steps\n     */\n    function AnimationGroupAst(steps) {\n        _super.call(this, steps);\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationGroupAst.prototype.visit = function (visitor, context) {\n        return visitor.visitAnimationGroup(this, context);\n    };\n    return AnimationGroupAst;\n}(AnimationWithStepsAst));\nexport var AnimationSequenceAst = (function (_super) {\n    __extends(AnimationSequenceAst, _super);\n    /**\n     * @param {?} steps\n     */\n    function AnimationSequenceAst(steps) {\n        _super.call(this, steps);\n    }\n    /**\n     * @param {?} visitor\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationSequenceAst.prototype.visit = function (visitor, context) {\n        return visitor.visitAnimationSequence(this, context);\n    };\n    return AnimationSequenceAst;\n}(AnimationWithStepsAst));\n//# sourceMappingURL=animation_ast.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/animation/animation_ast.js\n// module id = 365\n// module chunks = 0","/**\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 */\nimport { isPresent } from '../facade/lang';\nimport { Identifiers, createIdentifier } from '../identifiers';\nimport * as o from '../output/output_ast';\nimport { ANY_STATE, DEFAULT_STATE, EMPTY_STATE } from '../private_import_core';\nimport { AnimationStepAst } from './animation_ast';\nexport var AnimationEntryCompileResult = (function () {\n    /**\n     * @param {?} name\n     * @param {?} statements\n     * @param {?} fnExp\n     */\n    function AnimationEntryCompileResult(name, statements, fnExp) {\n        this.name = name;\n        this.statements = statements;\n        this.fnExp = fnExp;\n    }\n    return AnimationEntryCompileResult;\n}());\nfunction AnimationEntryCompileResult_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationEntryCompileResult.prototype.name;\n    /** @type {?} */\n    AnimationEntryCompileResult.prototype.statements;\n    /** @type {?} */\n    AnimationEntryCompileResult.prototype.fnExp;\n}\nexport var AnimationCompiler = (function () {\n    function AnimationCompiler() {\n    }\n    /**\n     * @param {?} factoryNamePrefix\n     * @param {?} parsedAnimations\n     * @return {?}\n     */\n    AnimationCompiler.prototype.compile = function (factoryNamePrefix, parsedAnimations) {\n        return parsedAnimations.map(function (entry) {\n            var /** @type {?} */ factoryName = factoryNamePrefix + \"_\" + entry.name;\n            var /** @type {?} */ visitor = new _AnimationBuilder(entry.name, factoryName);\n            return visitor.build(entry);\n        });\n    };\n    return AnimationCompiler;\n}());\nvar /** @type {?} */ _ANIMATION_FACTORY_ELEMENT_VAR = o.variable('element');\nvar /** @type {?} */ _ANIMATION_DEFAULT_STATE_VAR = o.variable('defaultStateStyles');\nvar /** @type {?} */ _ANIMATION_FACTORY_VIEW_VAR = o.variable('view');\nvar /** @type {?} */ _ANIMATION_FACTORY_VIEW_CONTEXT = _ANIMATION_FACTORY_VIEW_VAR.prop('animationContext');\nvar /** @type {?} */ _ANIMATION_FACTORY_RENDERER_VAR = _ANIMATION_FACTORY_VIEW_VAR.prop('renderer');\nvar /** @type {?} */ _ANIMATION_CURRENT_STATE_VAR = o.variable('currentState');\nvar /** @type {?} */ _ANIMATION_NEXT_STATE_VAR = o.variable('nextState');\nvar /** @type {?} */ _ANIMATION_PLAYER_VAR = o.variable('player');\nvar /** @type {?} */ _ANIMATION_TIME_VAR = o.variable('totalTime');\nvar /** @type {?} */ _ANIMATION_START_STATE_STYLES_VAR = o.variable('startStateStyles');\nvar /** @type {?} */ _ANIMATION_END_STATE_STYLES_VAR = o.variable('endStateStyles');\nvar /** @type {?} */ _ANIMATION_COLLECTED_STYLES = o.variable('collectedStyles');\nvar /** @type {?} */ _PREVIOUS_ANIMATION_PLAYERS = o.variable('previousPlayers');\nvar /** @type {?} */ _EMPTY_MAP = o.literalMap([]);\nvar /** @type {?} */ _EMPTY_ARRAY = o.literalArr([]);\nvar _AnimationBuilder = (function () {\n    /**\n     * @param {?} animationName\n     * @param {?} factoryName\n     */\n    function _AnimationBuilder(animationName, factoryName) {\n        this.animationName = animationName;\n        this._fnVarName = factoryName + '_factory';\n        this._statesMapVarName = factoryName + '_states';\n        this._statesMapVar = o.variable(this._statesMapVarName);\n    }\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    _AnimationBuilder.prototype.visitAnimationStyles = function (ast, context) {\n        var /** @type {?} */ stylesArr = [];\n        if (context.isExpectingFirstStyleStep) {\n            stylesArr.push(_ANIMATION_START_STATE_STYLES_VAR);\n            context.isExpectingFirstStyleStep = false;\n        }\n        ast.styles.forEach(function (entry) {\n            var /** @type {?} */ entries = Object.keys(entry).map(function (key) { return [key, o.literal(entry[key])]; });\n            stylesArr.push(o.literalMap(entries, null, true));\n        });\n        return o.importExpr(createIdentifier(Identifiers.AnimationStyles)).instantiate([\n            o.importExpr(createIdentifier(Identifiers.collectAndResolveStyles)).callFn([\n                _ANIMATION_COLLECTED_STYLES, o.literalArr(stylesArr)\n            ])\n        ]);\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    _AnimationBuilder.prototype.visitAnimationKeyframe = function (ast, context) {\n        return o.importExpr(createIdentifier(Identifiers.AnimationKeyframe)).instantiate([\n            o.literal(ast.offset), ast.styles.visit(this, context)\n        ]);\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    _AnimationBuilder.prototype.visitAnimationStep = function (ast, context) {\n        var _this = this;\n        if (context.endStateAnimateStep === ast) {\n            return this._visitEndStateAnimation(ast, context);\n        }\n        var /** @type {?} */ startingStylesExpr = ast.startingStyles.visit(this, context);\n        var /** @type {?} */ keyframeExpressions = ast.keyframes.map(function (keyframeEntry) { return keyframeEntry.visit(_this, context); });\n        return this._callAnimateMethod(ast, startingStylesExpr, o.literalArr(keyframeExpressions), context);\n    };\n    /**\n     * \\@internal\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    _AnimationBuilder.prototype._visitEndStateAnimation = function (ast, context) {\n        var _this = this;\n        var /** @type {?} */ startingStylesExpr = ast.startingStyles.visit(this, context);\n        var /** @type {?} */ keyframeExpressions = ast.keyframes.map(function (keyframe) { return keyframe.visit(_this, context); });\n        var /** @type {?} */ keyframesExpr = o.importExpr(createIdentifier(Identifiers.balanceAnimationKeyframes)).callFn([\n            _ANIMATION_COLLECTED_STYLES, _ANIMATION_END_STATE_STYLES_VAR,\n            o.literalArr(keyframeExpressions)\n        ]);\n        return this._callAnimateMethod(ast, startingStylesExpr, keyframesExpr, context);\n    };\n    /**\n     * \\@internal\n     * @param {?} ast\n     * @param {?} startingStylesExpr\n     * @param {?} keyframesExpr\n     * @param {?} context\n     * @return {?}\n     */\n    _AnimationBuilder.prototype._callAnimateMethod = function (ast, startingStylesExpr, keyframesExpr, context) {\n        var /** @type {?} */ previousStylesValue = _EMPTY_ARRAY;\n        if (context.isExpectingFirstAnimateStep) {\n            previousStylesValue = _PREVIOUS_ANIMATION_PLAYERS;\n            context.isExpectingFirstAnimateStep = false;\n        }\n        context.totalTransitionTime += ast.duration + ast.delay;\n        return _ANIMATION_FACTORY_RENDERER_VAR.callMethod('animate', [\n            _ANIMATION_FACTORY_ELEMENT_VAR, startingStylesExpr, keyframesExpr, o.literal(ast.duration),\n            o.literal(ast.delay), o.literal(ast.easing), previousStylesValue\n        ]);\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    _AnimationBuilder.prototype.visitAnimationSequence = function (ast, context) {\n        var _this = this;\n        var /** @type {?} */ playerExprs = ast.steps.map(function (step) { return step.visit(_this, context); });\n        return o.importExpr(createIdentifier(Identifiers.AnimationSequencePlayer)).instantiate([\n            o.literalArr(playerExprs)\n        ]);\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    _AnimationBuilder.prototype.visitAnimationGroup = function (ast, context) {\n        var _this = this;\n        var /** @type {?} */ playerExprs = ast.steps.map(function (step) { return step.visit(_this, context); });\n        return o.importExpr(createIdentifier(Identifiers.AnimationGroupPlayer)).instantiate([\n            o.literalArr(playerExprs)\n        ]);\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    _AnimationBuilder.prototype.visitAnimationStateDeclaration = function (ast, context) {\n        var /** @type {?} */ flatStyles = {};\n        _getStylesArray(ast).forEach(function (entry) { Object.keys(entry).forEach(function (key) { flatStyles[key] = entry[key]; }); });\n        context.stateMap.registerState(ast.stateName, flatStyles);\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    _AnimationBuilder.prototype.visitAnimationStateTransition = function (ast, context) {\n        var /** @type {?} */ steps = ast.animation.steps;\n        var /** @type {?} */ lastStep = steps[steps.length - 1];\n        if (_isEndStateAnimateStep(lastStep)) {\n            context.endStateAnimateStep = (lastStep);\n        }\n        context.totalTransitionTime = 0;\n        context.isExpectingFirstStyleStep = true;\n        context.isExpectingFirstAnimateStep = true;\n        var /** @type {?} */ stateChangePreconditions = [];\n        ast.stateChanges.forEach(function (stateChange) {\n            stateChangePreconditions.push(_compareToAnimationStateExpr(_ANIMATION_CURRENT_STATE_VAR, stateChange.fromState)\n                .and(_compareToAnimationStateExpr(_ANIMATION_NEXT_STATE_VAR, stateChange.toState)));\n            if (stateChange.fromState != ANY_STATE) {\n                context.stateMap.registerState(stateChange.fromState);\n            }\n            if (stateChange.toState != ANY_STATE) {\n                context.stateMap.registerState(stateChange.toState);\n            }\n        });\n        var /** @type {?} */ animationPlayerExpr = ast.animation.visit(this, context);\n        var /** @type {?} */ reducedStateChangesPrecondition = stateChangePreconditions.reduce(function (a, b) { return a.or(b); });\n        var /** @type {?} */ precondition = _ANIMATION_PLAYER_VAR.equals(o.NULL_EXPR).and(reducedStateChangesPrecondition);\n        var /** @type {?} */ animationStmt = _ANIMATION_PLAYER_VAR.set(animationPlayerExpr).toStmt();\n        var /** @type {?} */ totalTimeStmt = _ANIMATION_TIME_VAR.set(o.literal(context.totalTransitionTime)).toStmt();\n        return new o.IfStmt(precondition, [animationStmt, totalTimeStmt]);\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    _AnimationBuilder.prototype.visitAnimationEntry = function (ast, context) {\n        var _this = this;\n        // visit each of the declarations first to build the context state map\n        ast.stateDeclarations.forEach(function (def) { return def.visit(_this, context); });\n        // this should always be defined even if the user overrides it\n        context.stateMap.registerState(DEFAULT_STATE, {});\n        var /** @type {?} */ statements = [];\n        statements.push(_PREVIOUS_ANIMATION_PLAYERS\n            .set(_ANIMATION_FACTORY_VIEW_CONTEXT.callMethod('getAnimationPlayers', [\n            _ANIMATION_FACTORY_ELEMENT_VAR,\n            _ANIMATION_NEXT_STATE_VAR.equals(o.literal(EMPTY_STATE))\n                .conditional(o.NULL_EXPR, o.literal(this.animationName))\n        ]))\n            .toDeclStmt());\n        statements.push(_ANIMATION_COLLECTED_STYLES.set(_EMPTY_MAP).toDeclStmt());\n        statements.push(_ANIMATION_PLAYER_VAR.set(o.NULL_EXPR).toDeclStmt());\n        statements.push(_ANIMATION_TIME_VAR.set(o.literal(0)).toDeclStmt());\n        statements.push(_ANIMATION_DEFAULT_STATE_VAR.set(this._statesMapVar.key(o.literal(DEFAULT_STATE)))\n            .toDeclStmt());\n        statements.push(_ANIMATION_START_STATE_STYLES_VAR.set(this._statesMapVar.key(_ANIMATION_CURRENT_STATE_VAR))\n            .toDeclStmt());\n        statements.push(new o.IfStmt(_ANIMATION_START_STATE_STYLES_VAR.equals(o.NULL_EXPR), [_ANIMATION_START_STATE_STYLES_VAR.set(_ANIMATION_DEFAULT_STATE_VAR).toStmt()]));\n        statements.push(_ANIMATION_END_STATE_STYLES_VAR.set(this._statesMapVar.key(_ANIMATION_NEXT_STATE_VAR))\n            .toDeclStmt());\n        statements.push(new o.IfStmt(_ANIMATION_END_STATE_STYLES_VAR.equals(o.NULL_EXPR), [_ANIMATION_END_STATE_STYLES_VAR.set(_ANIMATION_DEFAULT_STATE_VAR).toStmt()]));\n        var /** @type {?} */ RENDER_STYLES_FN = o.importExpr(createIdentifier(Identifiers.renderStyles));\n        ast.stateTransitions.forEach(function (transAst) { return statements.push(transAst.visit(_this, context)); });\n        // this check ensures that the animation factory always returns a player\n        // so that the onDone callback can be used for tracking\n        statements.push(new o.IfStmt(_ANIMATION_PLAYER_VAR.equals(o.NULL_EXPR), [_ANIMATION_PLAYER_VAR\n                .set(o.importExpr(createIdentifier(Identifiers.NoOpAnimationPlayer)).instantiate([]))\n                .toStmt()]));\n        // once complete we want to apply the styles on the element\n        // since the destination state's values should persist once\n        // the animation sequence has completed.\n        statements.push(_ANIMATION_PLAYER_VAR\n            .callMethod('onDone', [o\n                .fn([], [\n                _ANIMATION_PLAYER_VAR.callMethod('destroy', []).toStmt(),\n                RENDER_STYLES_FN\n                    .callFn([\n                    _ANIMATION_FACTORY_ELEMENT_VAR, _ANIMATION_FACTORY_RENDERER_VAR,\n                    o.importExpr(createIdentifier(Identifiers.prepareFinalAnimationStyles))\n                        .callFn([\n                        _ANIMATION_START_STATE_STYLES_VAR,\n                        _ANIMATION_END_STATE_STYLES_VAR\n                    ])\n                ])\n                    .toStmt()\n            ])])\n            .toStmt());\n        statements.push(o.importExpr(createIdentifier(Identifiers.AnimationSequencePlayer))\n            .instantiate([_PREVIOUS_ANIMATION_PLAYERS])\n            .callMethod('destroy', [])\n            .toStmt());\n        // before we start any animation we want to clear out the starting\n        // styles from the element's style property (since they were placed\n        // there at the end of the last animation\n        statements.push(RENDER_STYLES_FN\n            .callFn([\n            _ANIMATION_FACTORY_ELEMENT_VAR, _ANIMATION_FACTORY_RENDERER_VAR,\n            o.importExpr(createIdentifier(Identifiers.clearStyles))\n                .callFn([_ANIMATION_START_STATE_STYLES_VAR])\n        ])\n            .toStmt());\n        statements.push(_ANIMATION_FACTORY_VIEW_CONTEXT\n            .callMethod('queueAnimation', [\n            _ANIMATION_FACTORY_ELEMENT_VAR, o.literal(this.animationName),\n            _ANIMATION_PLAYER_VAR\n        ])\n            .toStmt());\n        statements.push(new o.ReturnStatement(o.importExpr(createIdentifier(Identifiers.AnimationTransition)).instantiate([\n            _ANIMATION_PLAYER_VAR, _ANIMATION_CURRENT_STATE_VAR, _ANIMATION_NEXT_STATE_VAR,\n            _ANIMATION_TIME_VAR\n        ])));\n        return o.fn([\n            new o.FnParam(_ANIMATION_FACTORY_VIEW_VAR.name, o.importType(createIdentifier(Identifiers.AppView), [o.DYNAMIC_TYPE])),\n            new o.FnParam(_ANIMATION_FACTORY_ELEMENT_VAR.name, o.DYNAMIC_TYPE),\n            new o.FnParam(_ANIMATION_CURRENT_STATE_VAR.name, o.DYNAMIC_TYPE),\n            new o.FnParam(_ANIMATION_NEXT_STATE_VAR.name, o.DYNAMIC_TYPE)\n        ], statements, o.importType(createIdentifier(Identifiers.AnimationTransition)));\n    };\n    /**\n     * @param {?} ast\n     * @return {?}\n     */\n    _AnimationBuilder.prototype.build = function (ast) {\n        var /** @type {?} */ context = new _AnimationBuilderContext();\n        var /** @type {?} */ fnStatement = ast.visit(this, context).toDeclStmt(this._fnVarName);\n        var /** @type {?} */ fnVariable = o.variable(this._fnVarName);\n        var /** @type {?} */ lookupMap = [];\n        Object.keys(context.stateMap.states).forEach(function (stateName) {\n            var /** @type {?} */ value = context.stateMap.states[stateName];\n            var /** @type {?} */ variableValue = _EMPTY_MAP;\n            if (isPresent(value)) {\n                var /** @type {?} */ styleMap_1 = [];\n                Object.keys(value).forEach(function (key) { styleMap_1.push([key, o.literal(value[key])]); });\n                variableValue = o.literalMap(styleMap_1, null, true);\n            }\n            lookupMap.push([stateName, variableValue]);\n        });\n        var /** @type {?} */ compiledStatesMapStmt = this._statesMapVar.set(o.literalMap(lookupMap, null, true)).toDeclStmt();\n        var /** @type {?} */ statements = [compiledStatesMapStmt, fnStatement];\n        return new AnimationEntryCompileResult(this.animationName, statements, fnVariable);\n    };\n    return _AnimationBuilder;\n}());\nfunction _AnimationBuilder_tsickle_Closure_declarations() {\n    /** @type {?} */\n    _AnimationBuilder.prototype._fnVarName;\n    /** @type {?} */\n    _AnimationBuilder.prototype._statesMapVarName;\n    /** @type {?} */\n    _AnimationBuilder.prototype._statesMapVar;\n    /** @type {?} */\n    _AnimationBuilder.prototype.animationName;\n}\nvar _AnimationBuilderContext = (function () {\n    function _AnimationBuilderContext() {\n        this.stateMap = new _AnimationBuilderStateMap();\n        this.endStateAnimateStep = null;\n        this.isExpectingFirstStyleStep = false;\n        this.isExpectingFirstAnimateStep = false;\n        this.totalTransitionTime = 0;\n    }\n    return _AnimationBuilderContext;\n}());\nfunction _AnimationBuilderContext_tsickle_Closure_declarations() {\n    /** @type {?} */\n    _AnimationBuilderContext.prototype.stateMap;\n    /** @type {?} */\n    _AnimationBuilderContext.prototype.endStateAnimateStep;\n    /** @type {?} */\n    _AnimationBuilderContext.prototype.isExpectingFirstStyleStep;\n    /** @type {?} */\n    _AnimationBuilderContext.prototype.isExpectingFirstAnimateStep;\n    /** @type {?} */\n    _AnimationBuilderContext.prototype.totalTransitionTime;\n}\nvar _AnimationBuilderStateMap = (function () {\n    function _AnimationBuilderStateMap() {\n        this._states = {};\n    }\n    Object.defineProperty(_AnimationBuilderStateMap.prototype, \"states\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._states; },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @param {?} name\n     * @param {?=} value\n     * @return {?}\n     */\n    _AnimationBuilderStateMap.prototype.registerState = function (name, value) {\n        if (value === void 0) { value = null; }\n        var /** @type {?} */ existingEntry = this._states[name];\n        if (!existingEntry) {\n            this._states[name] = value;\n        }\n    };\n    return _AnimationBuilderStateMap;\n}());\nfunction _AnimationBuilderStateMap_tsickle_Closure_declarations() {\n    /** @type {?} */\n    _AnimationBuilderStateMap.prototype._states;\n}\n/**\n * @param {?} value\n * @param {?} animationState\n * @return {?}\n */\nfunction _compareToAnimationStateExpr(value, animationState) {\n    var /** @type {?} */ emptyStateLiteral = o.literal(EMPTY_STATE);\n    switch (animationState) {\n        case EMPTY_STATE:\n            return value.equals(emptyStateLiteral);\n        case ANY_STATE:\n            return o.literal(true);\n        default:\n            return value.equals(o.literal(animationState));\n    }\n}\n/**\n * @param {?} step\n * @return {?}\n */\nfunction _isEndStateAnimateStep(step) {\n    // the final animation step is characterized by having only TWO\n    // keyframe values and it must have zero styles for both keyframes\n    if (step instanceof AnimationStepAst && step.duration > 0 && step.keyframes.length == 2) {\n        var /** @type {?} */ styles1 = _getStylesArray(step.keyframes[0])[0];\n        var /** @type {?} */ styles2 = _getStylesArray(step.keyframes[1])[0];\n        return Object.keys(styles1).length === 0 && Object.keys(styles2).length === 0;\n    }\n    return false;\n}\n/**\n * @param {?} obj\n * @return {?}\n */\nfunction _getStylesArray(obj) {\n    return obj.styles.styles;\n}\n//# sourceMappingURL=animation_compiler.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/animation/animation_compiler.js\n// module id = 366\n// module chunks = 0","var __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { CompileSummaryKind } from '../compile_metadata';\nimport { ValueTransformer, visitValue } from '../util';\nimport { StaticSymbol } from './static_symbol';\nvar /** @type {?} */ STRIP_SRC_FILE_SUFFIXES = /(\\.ts|\\.d\\.ts|\\.js|\\.jsx|\\.tsx)$/;\n/**\n * @param {?} host\n * @param {?} summaryResolver\n * @param {?} symbolResolver\n * @param {?} symbols\n * @param {?} types\n * @return {?}\n */\nexport function serializeSummaries(host, summaryResolver, symbolResolver, symbols, types) {\n    var /** @type {?} */ serializer = new Serializer(host);\n    // for symbols, we use everything except for the class metadata itself\n    // (we keep the statics though), as the class metadata is contained in the\n    // CompileTypeSummary.\n    symbols.forEach(function (resolvedSymbol) { return serializer.addOrMergeSummary({ symbol: resolvedSymbol.symbol, metadata: resolvedSymbol.metadata }); });\n    // Add summaries that are referenced by the given symbols (transitively)\n    // Note: the serializer.symbols array might be growing while\n    // we execute the loop!\n    for (var /** @type {?} */ processedIndex = 0; processedIndex < serializer.symbols.length; processedIndex++) {\n        var /** @type {?} */ symbol = serializer.symbols[processedIndex];\n        if (!host.isSourceFile(symbol.filePath)) {\n            var /** @type {?} */ summary = summaryResolver.resolveSummary(symbol);\n            if (!summary) {\n                // some symbols might originate from a plain typescript library\n                // that just exported .d.ts and .metadata.json files, i.e. where no summary\n                // files were created.\n                var /** @type {?} */ resolvedSymbol = symbolResolver.resolveSymbol(symbol);\n                if (resolvedSymbol) {\n                    summary = { symbol: resolvedSymbol.symbol, metadata: resolvedSymbol.metadata };\n                }\n            }\n            if (summary) {\n                serializer.addOrMergeSummary(summary);\n            }\n        }\n    }\n    // Add type summaries.\n    // Note: We don't add the summaries of all referenced symbols as for the ResolvedSymbols,\n    // as the type summaries already contain the transitive data that they require\n    // (in a minimal way).\n    types.forEach(function (typeSummary) {\n        serializer.addOrMergeSummary({ symbol: typeSummary.type.reference, metadata: { __symbolic: 'class' }, type: typeSummary });\n        if (typeSummary.summaryKind === CompileSummaryKind.NgModule) {\n            var /** @type {?} */ ngModuleSummary = (typeSummary);\n            ngModuleSummary.exportedDirectives.concat(ngModuleSummary.exportedPipes).forEach(function (id) {\n                var /** @type {?} */ symbol = id.reference;\n                if (!host.isSourceFile(symbol.filePath)) {\n                    serializer.addOrMergeSummary(summaryResolver.resolveSummary(symbol));\n                }\n            });\n        }\n    });\n    return serializer.serialize();\n}\n/**\n * @param {?} symbolCache\n * @param {?} json\n * @return {?}\n */\nexport function deserializeSummaries(symbolCache, json) {\n    var /** @type {?} */ deserializer = new Deserializer(symbolCache);\n    return deserializer.deserialize(json);\n}\n/**\n * @param {?} fileName\n * @return {?}\n */\nexport function summaryFileName(fileName) {\n    var /** @type {?} */ fileNameWithoutSuffix = fileName.replace(STRIP_SRC_FILE_SUFFIXES, '');\n    return fileNameWithoutSuffix + \".ngsummary.json\";\n}\nvar Serializer = (function (_super) {\n    __extends(Serializer, _super);\n    /**\n     * @param {?} host\n     */\n    function Serializer(host) {\n        _super.call(this);\n        this.host = host;\n        this.symbols = [];\n        this.indexBySymbol = new Map();\n        this.processedSummaryBySymbol = new Map();\n        this.processedSummaries = [];\n    }\n    /**\n     * @param {?} summary\n     * @return {?}\n     */\n    Serializer.prototype.addOrMergeSummary = function (summary) {\n        var /** @type {?} */ symbolMeta = summary.metadata;\n        if (symbolMeta && symbolMeta.__symbolic === 'class') {\n            // For classes, we only keep their statics, but not the metadata\n            // of the class itself as that has been captured already via other summaries\n            // (e.g. DirectiveSummary, ...).\n            symbolMeta = { __symbolic: 'class', statics: symbolMeta.statics };\n        }\n        var /** @type {?} */ processedSummary = this.processedSummaryBySymbol.get(summary.symbol);\n        if (!processedSummary) {\n            processedSummary = this.processValue({ symbol: summary.symbol });\n            this.processedSummaries.push(processedSummary);\n            this.processedSummaryBySymbol.set(summary.symbol, processedSummary);\n        }\n        // Note: == by purpose to compare with undefined!\n        if (processedSummary.metadata == null && symbolMeta != null) {\n            processedSummary.metadata = this.processValue(symbolMeta);\n        }\n        // Note: == by purpose to compare with undefined!\n        if (processedSummary.type == null && summary.type != null) {\n            processedSummary.type = this.processValue(summary.type);\n        }\n    };\n    /**\n     * @return {?}\n     */\n    Serializer.prototype.serialize = function () {\n        var _this = this;\n        return JSON.stringify({\n            summaries: this.processedSummaries,\n            symbols: this.symbols.map(function (symbol, index) {\n                return {\n                    __symbol: index,\n                    name: symbol.name,\n                    // We convert the source filenames tinto output filenames,\n                    // as the generated summary file will be used when teh current\n                    // compilation unit is used as a library\n                    filePath: _this.host.getOutputFileName(symbol.filePath)\n                };\n            })\n        });\n    };\n    /**\n     * @param {?} value\n     * @return {?}\n     */\n    Serializer.prototype.processValue = function (value) { return visitValue(value, this, null); };\n    /**\n     * @param {?} value\n     * @param {?} context\n     * @return {?}\n     */\n    Serializer.prototype.visitOther = function (value, context) {\n        if (value instanceof StaticSymbol) {\n            var /** @type {?} */ index = this.indexBySymbol.get(value);\n            // Note: == by purpose to compare with undefined!\n            if (index == null) {\n                index = this.indexBySymbol.size;\n                this.indexBySymbol.set(value, index);\n                this.symbols.push(value);\n            }\n            return { __symbol: index };\n        }\n    };\n    return Serializer;\n}(ValueTransformer));\nfunction Serializer_tsickle_Closure_declarations() {\n    /** @type {?} */\n    Serializer.prototype.symbols;\n    /** @type {?} */\n    Serializer.prototype.indexBySymbol;\n    /** @type {?} */\n    Serializer.prototype.processedSummaryBySymbol;\n    /** @type {?} */\n    Serializer.prototype.processedSummaries;\n    /** @type {?} */\n    Serializer.prototype.host;\n}\nvar Deserializer = (function (_super) {\n    __extends(Deserializer, _super);\n    /**\n     * @param {?} symbolCache\n     */\n    function Deserializer(symbolCache) {\n        _super.call(this);\n        this.symbolCache = symbolCache;\n    }\n    /**\n     * @param {?} json\n     * @return {?}\n     */\n    Deserializer.prototype.deserialize = function (json) {\n        var _this = this;\n        var /** @type {?} */ data = JSON.parse(json);\n        this.symbols = data.symbols.map(function (serializedSymbol) { return _this.symbolCache.get(serializedSymbol.filePath, serializedSymbol.name); });\n        return visitValue(data.summaries, this, null);\n    };\n    /**\n     * @param {?} map\n     * @param {?} context\n     * @return {?}\n     */\n    Deserializer.prototype.visitStringMap = function (map, context) {\n        if ('__symbol' in map) {\n            return this.symbols[map['__symbol']];\n        }\n        else {\n            return _super.prototype.visitStringMap.call(this, map, context);\n        }\n    };\n    return Deserializer;\n}(ValueTransformer));\nfunction Deserializer_tsickle_Closure_declarations() {\n    /** @type {?} */\n    Deserializer.prototype.symbols;\n    /** @type {?} */\n    Deserializer.prototype.symbolCache;\n}\n//# sourceMappingURL=summary_serializer.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/aot/summary_serializer.js\n// module id = 367\n// module chunks = 0","/**\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 */\nimport { isDevMode } from '@angular/core';\nimport { isBlank, isPresent } from '../src/facade/lang';\n/**\n * @param {?} identifier\n * @param {?} value\n * @return {?}\n */\nexport function assertArrayOfStrings(identifier, value) {\n    if (!isDevMode() || isBlank(value)) {\n        return;\n    }\n    if (!Array.isArray(value)) {\n        throw new Error(\"Expected '\" + identifier + \"' to be an array of strings.\");\n    }\n    for (var /** @type {?} */ i = 0; i < value.length; i += 1) {\n        if (typeof value[i] !== 'string') {\n            throw new Error(\"Expected '\" + identifier + \"' to be an array of strings.\");\n        }\n    }\n}\nvar /** @type {?} */ INTERPOLATION_BLACKLIST_REGEXPS = [\n    /^\\s*$/,\n    /[<>]/,\n    /^[{}]$/,\n    /&(#|[a-z])/i,\n    /^\\/\\//,\n];\n/**\n * @param {?} identifier\n * @param {?} value\n * @return {?}\n */\nexport function assertInterpolationSymbols(identifier, value) {\n    if (isPresent(value) && !(Array.isArray(value) && value.length == 2)) {\n        throw new Error(\"Expected '\" + identifier + \"' to be an array, [start, end].\");\n    }\n    else if (isDevMode() && !isBlank(value)) {\n        var /** @type {?} */ start_1 = (value[0]);\n        var /** @type {?} */ end_1 = (value[1]);\n        // black list checking\n        INTERPOLATION_BLACKLIST_REGEXPS.forEach(function (regexp) {\n            if (regexp.test(start_1) || regexp.test(end_1)) {\n                throw new Error(\"['\" + start_1 + \"', '\" + end_1 + \"'] contains unusable interpolation symbol.\");\n            }\n        });\n    }\n}\n//# sourceMappingURL=assertions.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/assertions.js\n// module id = 368\n// module chunks = 0","import { Identifiers, createIdentifier } from '../identifiers';\nimport * as o from '../output/output_ast';\nexport var CheckBindingField = (function () {\n    /**\n     * @param {?} expression\n     * @param {?} bindingId\n     */\n    function CheckBindingField(expression, bindingId) {\n        this.expression = expression;\n        this.bindingId = bindingId;\n    }\n    return CheckBindingField;\n}());\nfunction CheckBindingField_tsickle_Closure_declarations() {\n    /** @type {?} */\n    CheckBindingField.prototype.expression;\n    /** @type {?} */\n    CheckBindingField.prototype.bindingId;\n}\n/**\n * @param {?} builder\n * @return {?}\n */\nexport function createCheckBindingField(builder) {\n    var /** @type {?} */ bindingId = \"\" + builder.fields.length;\n    var /** @type {?} */ fieldExpr = createBindFieldExpr(bindingId);\n    // private is fine here as no child view will reference the cached value...\n    builder.fields.push(new o.ClassField(fieldExpr.name, null, [o.StmtModifier.Private]));\n    builder.ctorStmts.push(o.THIS_EXPR.prop(fieldExpr.name)\n        .set(o.importExpr(createIdentifier(Identifiers.UNINITIALIZED)))\n        .toStmt());\n    return new CheckBindingField(fieldExpr, bindingId);\n}\n/**\n * @param {?} evalResult\n * @param {?} fieldExpr\n * @param {?} throwOnChangeVar\n * @param {?} actions\n * @return {?}\n */\nexport function createCheckBindingStmt(evalResult, fieldExpr, throwOnChangeVar, actions) {\n    var /** @type {?} */ condition = o.importExpr(createIdentifier(Identifiers.checkBinding)).callFn([\n        throwOnChangeVar, fieldExpr, evalResult.currValExpr\n    ]);\n    if (evalResult.forceUpdate) {\n        condition = evalResult.forceUpdate.or(condition);\n    }\n    return evalResult.stmts.concat([\n        new o.IfStmt(condition, actions.concat([(o.THIS_EXPR.prop(fieldExpr.name).set(evalResult.currValExpr).toStmt())\n        ]))\n    ]);\n}\n/**\n * @param {?} bindingId\n * @return {?}\n */\nfunction createBindFieldExpr(bindingId) {\n    return o.THIS_EXPR.prop(\"_expr_\" + bindingId);\n}\n//# sourceMappingURL=binding_util.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/compiler_util/binding_util.js\n// module id = 369\n// module chunks = 0","import { SecurityContext } from '@angular/core';\nimport { isPresent } from '../facade/lang';\nimport { Identifiers, createIdentifier } from '../identifiers';\nimport * as o from '../output/output_ast';\nimport { EMPTY_STATE as EMPTY_ANIMATION_STATE } from '../private_import_core';\nimport { BoundEventAst, PropertyBindingType } from '../template_parser/template_ast';\nimport { createEnumExpression } from './identifier_util';\n/**\n * @param {?} view\n * @param {?} boundProp\n * @param {?} renderElement\n * @param {?} renderValue\n * @param {?} logBindingUpdate\n * @param {?=} securityContextExpression\n * @return {?}\n */\nexport function writeToRenderer(view, boundProp, renderElement, renderValue, logBindingUpdate, securityContextExpression) {\n    var /** @type {?} */ updateStmts = [];\n    var /** @type {?} */ renderer = view.prop('renderer');\n    renderValue = sanitizedValue(view, boundProp, renderValue, securityContextExpression);\n    switch (boundProp.type) {\n        case PropertyBindingType.Property:\n            if (logBindingUpdate) {\n                updateStmts.push(o.importExpr(createIdentifier(Identifiers.setBindingDebugInfo))\n                    .callFn([renderer, renderElement, o.literal(boundProp.name), renderValue])\n                    .toStmt());\n            }\n            updateStmts.push(renderer\n                .callMethod('setElementProperty', [renderElement, o.literal(boundProp.name), renderValue])\n                .toStmt());\n            break;\n        case PropertyBindingType.Attribute:\n            renderValue =\n                renderValue.isBlank().conditional(o.NULL_EXPR, renderValue.callMethod('toString', []));\n            updateStmts.push(renderer\n                .callMethod('setElementAttribute', [renderElement, o.literal(boundProp.name), renderValue])\n                .toStmt());\n            break;\n        case PropertyBindingType.Class:\n            updateStmts.push(renderer\n                .callMethod('setElementClass', [renderElement, o.literal(boundProp.name), renderValue])\n                .toStmt());\n            break;\n        case PropertyBindingType.Style:\n            var /** @type {?} */ strValue = renderValue.callMethod('toString', []);\n            if (isPresent(boundProp.unit)) {\n                strValue = strValue.plus(o.literal(boundProp.unit));\n            }\n            renderValue = renderValue.isBlank().conditional(o.NULL_EXPR, strValue);\n            updateStmts.push(renderer\n                .callMethod('setElementStyle', [renderElement, o.literal(boundProp.name), renderValue])\n                .toStmt());\n            break;\n        case PropertyBindingType.Animation:\n            throw new Error('Illegal state: Should not come here!');\n    }\n    return updateStmts;\n}\n/**\n * @param {?} view\n * @param {?} boundProp\n * @param {?} renderValue\n * @param {?=} securityContextExpression\n * @return {?}\n */\nfunction sanitizedValue(view, boundProp, renderValue, securityContextExpression) {\n    if (boundProp.securityContext === SecurityContext.NONE) {\n        return renderValue; // No sanitization needed.\n    }\n    if (!boundProp.needsRuntimeSecurityContext) {\n        securityContextExpression =\n            createEnumExpression(Identifiers.SecurityContext, boundProp.securityContext);\n    }\n    if (!securityContextExpression) {\n        throw new Error(\"internal error, no SecurityContext given \" + boundProp.name);\n    }\n    var /** @type {?} */ ctx = view.prop('viewUtils').prop('sanitizer');\n    var /** @type {?} */ args = [securityContextExpression, renderValue];\n    return ctx.callMethod('sanitize', args);\n}\n/**\n * @param {?} view\n * @param {?} componentView\n * @param {?} boundProp\n * @param {?} boundOutputs\n * @param {?} eventListener\n * @param {?} renderElement\n * @param {?} renderValue\n * @param {?} lastRenderValue\n * @return {?}\n */\nexport function triggerAnimation(view, componentView, boundProp, boundOutputs, eventListener, renderElement, renderValue, lastRenderValue) {\n    var /** @type {?} */ detachStmts = [];\n    var /** @type {?} */ updateStmts = [];\n    var /** @type {?} */ animationName = boundProp.name;\n    var /** @type {?} */ animationFnExpr = componentView.prop('componentType').prop('animations').key(o.literal(animationName));\n    // it's important to normalize the void value as `void` explicitly\n    // so that the styles data can be obtained from the stringmap\n    var /** @type {?} */ emptyStateValue = o.literal(EMPTY_ANIMATION_STATE);\n    var /** @type {?} */ unitializedValue = o.importExpr(createIdentifier(Identifiers.UNINITIALIZED));\n    var /** @type {?} */ animationTransitionVar = o.variable('animationTransition_' + animationName);\n    updateStmts.push(animationTransitionVar\n        .set(animationFnExpr.callFn([\n        view, renderElement,\n        lastRenderValue.equals(unitializedValue).conditional(emptyStateValue, lastRenderValue),\n        renderValue.equals(unitializedValue).conditional(emptyStateValue, renderValue)\n    ]))\n        .toDeclStmt());\n    detachStmts.push(animationTransitionVar\n        .set(animationFnExpr.callFn([view, renderElement, lastRenderValue, emptyStateValue]))\n        .toDeclStmt());\n    var /** @type {?} */ registerStmts = [];\n    var /** @type {?} */ animationStartMethodExists = boundOutputs.find(function (event) { return event.isAnimation && event.name == animationName && event.phase == 'start'; });\n    if (animationStartMethodExists) {\n        registerStmts.push(animationTransitionVar\n            .callMethod('onStart', [eventListener.callMethod(o.BuiltinMethod.Bind, [view, o.literal(BoundEventAst.calcFullName(animationName, null, 'start'))])])\n            .toStmt());\n    }\n    var /** @type {?} */ animationDoneMethodExists = boundOutputs.find(function (event) { return event.isAnimation && event.name == animationName && event.phase == 'done'; });\n    if (animationDoneMethodExists) {\n        registerStmts.push(animationTransitionVar\n            .callMethod('onDone', [eventListener.callMethod(o.BuiltinMethod.Bind, [view, o.literal(BoundEventAst.calcFullName(animationName, null, 'done'))])])\n            .toStmt());\n    }\n    updateStmts.push.apply(updateStmts, registerStmts);\n    detachStmts.push.apply(detachStmts, registerStmts);\n    return { updateStmts: updateStmts, detachStmts: detachStmts };\n}\n//# sourceMappingURL=render_util.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/compiler_util/render_util.js\n// module id = 370\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n/**\n * @param {?} message\n * @return {?}\n */\nexport function digest(message) {\n    return sha1(serializeNodes(message.nodes).join('') + (\"[\" + message.meaning + \"]\"));\n}\n/**\n * @param {?} message\n * @return {?}\n */\nexport function decimalDigest(message) {\n    var /** @type {?} */ visitor = new _SerializerIgnoreIcuExpVisitor();\n    var /** @type {?} */ parts = message.nodes.map(function (a) { return a.visit(visitor, null); });\n    return computeMsgId(parts.join(''), message.meaning);\n}\n/**\n * Serialize the i18n ast to something xml-like in order to generate an UID.\n *\n * The visitor is also used in the i18n parser tests\n *\n * \\@internal\n */\nvar _SerializerVisitor = (function () {\n    function _SerializerVisitor() {\n    }\n    /**\n     * @param {?} text\n     * @param {?} context\n     * @return {?}\n     */\n    _SerializerVisitor.prototype.visitText = function (text, context) { return text.value; };\n    /**\n     * @param {?} container\n     * @param {?} context\n     * @return {?}\n     */\n    _SerializerVisitor.prototype.visitContainer = function (container, context) {\n        var _this = this;\n        return \"[\" + container.children.map(function (child) { return child.visit(_this); }).join(', ') + \"]\";\n    };\n    /**\n     * @param {?} icu\n     * @param {?} context\n     * @return {?}\n     */\n    _SerializerVisitor.prototype.visitIcu = function (icu, context) {\n        var _this = this;\n        var /** @type {?} */ strCases = Object.keys(icu.cases).map(function (k) { return (k + \" {\" + icu.cases[k].visit(_this) + \"}\"); });\n        return \"{\" + icu.expression + \", \" + icu.type + \", \" + strCases.join(', ') + \"}\";\n    };\n    /**\n     * @param {?} ph\n     * @param {?} context\n     * @return {?}\n     */\n    _SerializerVisitor.prototype.visitTagPlaceholder = function (ph, context) {\n        var _this = this;\n        return ph.isVoid ?\n            \"<ph tag name=\\\"\" + ph.startName + \"\\\"/>\" :\n            \"<ph tag name=\\\"\" + ph.startName + \"\\\">\" + ph.children.map(function (child) { return child.visit(_this); }).join(', ') + \"</ph name=\\\"\" + ph.closeName + \"\\\">\";\n    };\n    /**\n     * @param {?} ph\n     * @param {?} context\n     * @return {?}\n     */\n    _SerializerVisitor.prototype.visitPlaceholder = function (ph, context) {\n        return ph.value ? \"<ph name=\\\"\" + ph.name + \"\\\">\" + ph.value + \"</ph>\" : \"<ph name=\\\"\" + ph.name + \"\\\"/>\";\n    };\n    /**\n     * @param {?} ph\n     * @param {?=} context\n     * @return {?}\n     */\n    _SerializerVisitor.prototype.visitIcuPlaceholder = function (ph, context) {\n        return \"<ph icu name=\\\"\" + ph.name + \"\\\">\" + ph.value.visit(this) + \"</ph>\";\n    };\n    return _SerializerVisitor;\n}());\nvar /** @type {?} */ serializerVisitor = new _SerializerVisitor();\n/**\n * @param {?} nodes\n * @return {?}\n */\nexport function serializeNodes(nodes) {\n    return nodes.map(function (a) { return a.visit(serializerVisitor, null); });\n}\n/**\n * Serialize the i18n ast to something xml-like in order to generate an UID.\n *\n * Ignore the ICU expressions so that message IDs stays identical if only the expression changes.\n *\n * \\@internal\n */\nvar _SerializerIgnoreIcuExpVisitor = (function (_super) {\n    __extends(_SerializerIgnoreIcuExpVisitor, _super);\n    function _SerializerIgnoreIcuExpVisitor() {\n        _super.apply(this, arguments);\n    }\n    /**\n     * @param {?} icu\n     * @param {?} context\n     * @return {?}\n     */\n    _SerializerIgnoreIcuExpVisitor.prototype.visitIcu = function (icu, context) {\n        var _this = this;\n        var /** @type {?} */ strCases = Object.keys(icu.cases).map(function (k) { return (k + \" {\" + icu.cases[k].visit(_this) + \"}\"); });\n        // Do not take the expression into account\n        return \"{\" + icu.type + \", \" + strCases.join(', ') + \"}\";\n    };\n    return _SerializerIgnoreIcuExpVisitor;\n}(_SerializerVisitor));\n/**\n * Compute the SHA1 of the given string\n *\n * see http://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf\n *\n * WARNING: this function has not been designed not tested with security in mind.\n *          DO NOT USE IT IN A SECURITY SENSITIVE CONTEXT.\n * @param {?} str\n * @return {?}\n */\nexport function sha1(str) {\n    var /** @type {?} */ utf8 = utf8Encode(str);\n    var /** @type {?} */ words32 = stringToWords32(utf8, Endian.Big);\n    var /** @type {?} */ len = utf8.length * 8;\n    var /** @type {?} */ w = new Array(80);\n    var _a = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0], a = _a[0], b = _a[1], c = _a[2], d = _a[3], e = _a[4];\n    words32[len >> 5] |= 0x80 << (24 - len % 32);\n    words32[((len + 64 >> 9) << 4) + 15] = len;\n    for (var /** @type {?} */ i = 0; i < words32.length; i += 16) {\n        var _b = [a, b, c, d, e], h0 = _b[0], h1 = _b[1], h2 = _b[2], h3 = _b[3], h4 = _b[4];\n        for (var /** @type {?} */ j = 0; j < 80; j++) {\n            if (j < 16) {\n                w[j] = words32[i + j];\n            }\n            else {\n                w[j] = rol32(w[j - 3] ^ w[j - 8] ^ w[j - 14] ^ w[j - 16], 1);\n            }\n            var _c = fk(j, b, c, d), f = _c[0], k = _c[1];\n            var /** @type {?} */ temp = [rol32(a, 5), f, e, k, w[j]].reduce(add32);\n            _d = [d, c, rol32(b, 30), a, temp], e = _d[0], d = _d[1], c = _d[2], b = _d[3], a = _d[4];\n        }\n        _e = [add32(a, h0), add32(b, h1), add32(c, h2), add32(d, h3), add32(e, h4)], a = _e[0], b = _e[1], c = _e[2], d = _e[3], e = _e[4];\n    }\n    return byteStringToHexString(words32ToByteString([a, b, c, d, e]));\n    var _d, _e;\n}\n/**\n * @param {?} index\n * @param {?} b\n * @param {?} c\n * @param {?} d\n * @return {?}\n */\nfunction fk(index, b, c, d) {\n    if (index < 20) {\n        return [(b & c) | (~b & d), 0x5a827999];\n    }\n    if (index < 40) {\n        return [b ^ c ^ d, 0x6ed9eba1];\n    }\n    if (index < 60) {\n        return [(b & c) | (b & d) | (c & d), 0x8f1bbcdc];\n    }\n    return [b ^ c ^ d, 0xca62c1d6];\n}\n/**\n * Compute the fingerprint of the given string\n *\n * The output is 64 bit number encoded as a decimal string\n *\n * based on:\n * https://github.com/google/closure-compiler/blob/master/src/com/google/javascript/jscomp/GoogleJsMessageIdGenerator.java\n * @param {?} str\n * @return {?}\n */\nexport function fingerprint(str) {\n    var /** @type {?} */ utf8 = utf8Encode(str);\n    var _a = [hash32(utf8, 0), hash32(utf8, 102072)], hi = _a[0], lo = _a[1];\n    if (hi == 0 && (lo == 0 || lo == 1)) {\n        hi = hi ^ 0x130f9bef;\n        lo = lo ^ -0x6b5f56d8;\n    }\n    return [hi, lo];\n}\n/**\n * @param {?} msg\n * @param {?} meaning\n * @return {?}\n */\nexport function computeMsgId(msg, meaning) {\n    var _a = fingerprint(msg), hi = _a[0], lo = _a[1];\n    if (meaning) {\n        var _b = fingerprint(meaning), him = _b[0], lom = _b[1];\n        _c = add64(rol64([hi, lo], 1), [him, lom]), hi = _c[0], lo = _c[1];\n    }\n    return byteStringToDecString(words32ToByteString([hi & 0x7fffffff, lo]));\n    var _c;\n}\n/**\n * @param {?} str\n * @param {?} c\n * @return {?}\n */\nfunction hash32(str, c) {\n    var _a = [0x9e3779b9, 0x9e3779b9], a = _a[0], b = _a[1];\n    var /** @type {?} */ i;\n    var /** @type {?} */ len = str.length;\n    for (i = 0; i + 12 <= len; i += 12) {\n        a = add32(a, wordAt(str, i, Endian.Little));\n        b = add32(b, wordAt(str, i + 4, Endian.Little));\n        c = add32(c, wordAt(str, i + 8, Endian.Little));\n        _b = mix([a, b, c]), a = _b[0], b = _b[1], c = _b[2];\n    }\n    a = add32(a, wordAt(str, i, Endian.Little));\n    b = add32(b, wordAt(str, i + 4, Endian.Little));\n    // the first byte of c is reserved for the length\n    c = add32(c, len);\n    c = add32(c, wordAt(str, i + 8, Endian.Little) << 8);\n    return mix([a, b, c])[2];\n    var _b;\n}\n/**\n * @param {?} __0\n * @return {?}\n */\nfunction mix(_a) {\n    var a = _a[0], b = _a[1], c = _a[2];\n    a = sub32(a, b);\n    a = sub32(a, c);\n    a ^= c >>> 13;\n    b = sub32(b, c);\n    b = sub32(b, a);\n    b ^= a << 8;\n    c = sub32(c, a);\n    c = sub32(c, b);\n    c ^= b >>> 13;\n    a = sub32(a, b);\n    a = sub32(a, c);\n    a ^= c >>> 12;\n    b = sub32(b, c);\n    b = sub32(b, a);\n    b ^= a << 16;\n    c = sub32(c, a);\n    c = sub32(c, b);\n    c ^= b >>> 5;\n    a = sub32(a, b);\n    a = sub32(a, c);\n    a ^= c >>> 3;\n    b = sub32(b, c);\n    b = sub32(b, a);\n    b ^= a << 10;\n    c = sub32(c, a);\n    c = sub32(c, b);\n    c ^= b >>> 15;\n    return [a, b, c];\n}\nvar Endian = {};\nEndian.Little = 0;\nEndian.Big = 1;\nEndian[Endian.Little] = \"Little\";\nEndian[Endian.Big] = \"Big\";\n/**\n * @param {?} str\n * @return {?}\n */\nfunction utf8Encode(str) {\n    var /** @type {?} */ encoded = '';\n    for (var /** @type {?} */ index = 0; index < str.length; index++) {\n        var /** @type {?} */ codePoint = decodeSurrogatePairs(str, index);\n        if (codePoint <= 0x7f) {\n            encoded += String.fromCharCode(codePoint);\n        }\n        else if (codePoint <= 0x7ff) {\n            encoded += String.fromCharCode(0xc0 | codePoint >>> 6, 0x80 | codePoint & 0x3f);\n        }\n        else if (codePoint <= 0xffff) {\n            encoded += String.fromCharCode(0xe0 | codePoint >>> 12, 0x80 | codePoint >>> 6 & 0x3f, 0x80 | codePoint & 0x3f);\n        }\n        else if (codePoint <= 0x1fffff) {\n            encoded += String.fromCharCode(0xf0 | codePoint >>> 18, 0x80 | codePoint >>> 12 & 0x3f, 0x80 | codePoint >>> 6 & 0x3f, 0x80 | codePoint & 0x3f);\n        }\n    }\n    return encoded;\n}\n/**\n * @param {?} str\n * @param {?} index\n * @return {?}\n */\nfunction decodeSurrogatePairs(str, index) {\n    if (index < 0 || index >= str.length) {\n        throw new Error(\"index=\" + index + \" is out of range in \\\"\" + str + \"\\\"\");\n    }\n    var /** @type {?} */ high = str.charCodeAt(index);\n    if (high >= 0xd800 && high <= 0xdfff && str.length > index + 1) {\n        var /** @type {?} */ low = byteAt(str, index + 1);\n        if (low >= 0xdc00 && low <= 0xdfff) {\n            return (high - 0xd800) * 0x400 + low - 0xdc00 + 0x10000;\n        }\n    }\n    return high;\n}\n/**\n * @param {?} a\n * @param {?} b\n * @return {?}\n */\nfunction add32(a, b) {\n    return add32to64(a, b)[1];\n}\n/**\n * @param {?} a\n * @param {?} b\n * @return {?}\n */\nfunction add32to64(a, b) {\n    var /** @type {?} */ low = (a & 0xffff) + (b & 0xffff);\n    var /** @type {?} */ high = (a >>> 16) + (b >>> 16) + (low >>> 16);\n    return [high >>> 16, (high << 16) | (low & 0xffff)];\n}\n/**\n * @param {?} __0\n * @param {?} __1\n * @return {?}\n */\nfunction add64(_a, _b) {\n    var ah = _a[0], al = _a[1];\n    var bh = _b[0], bl = _b[1];\n    var _c = add32to64(al, bl), carry = _c[0], l = _c[1];\n    var /** @type {?} */ h = add32(add32(ah, bh), carry);\n    return [h, l];\n}\n/**\n * @param {?} a\n * @param {?} b\n * @return {?}\n */\nfunction sub32(a, b) {\n    var /** @type {?} */ low = (a & 0xffff) - (b & 0xffff);\n    var /** @type {?} */ high = (a >> 16) - (b >> 16) + (low >> 16);\n    return (high << 16) | (low & 0xffff);\n}\n/**\n * @param {?} a\n * @param {?} count\n * @return {?}\n */\nfunction rol32(a, count) {\n    return (a << count) | (a >>> (32 - count));\n}\n/**\n * @param {?} __0\n * @param {?} count\n * @return {?}\n */\nfunction rol64(_a, count) {\n    var hi = _a[0], lo = _a[1];\n    var /** @type {?} */ h = (hi << count) | (lo >>> (32 - count));\n    var /** @type {?} */ l = (lo << count) | (hi >>> (32 - count));\n    return [h, l];\n}\n/**\n * @param {?} str\n * @param {?} endian\n * @return {?}\n */\nfunction stringToWords32(str, endian) {\n    var /** @type {?} */ words32 = Array((str.length + 3) >>> 2);\n    for (var /** @type {?} */ i = 0; i < words32.length; i++) {\n        words32[i] = wordAt(str, i * 4, endian);\n    }\n    return words32;\n}\n/**\n * @param {?} str\n * @param {?} index\n * @return {?}\n */\nfunction byteAt(str, index) {\n    return index >= str.length ? 0 : str.charCodeAt(index) & 0xff;\n}\n/**\n * @param {?} str\n * @param {?} index\n * @param {?} endian\n * @return {?}\n */\nfunction wordAt(str, index, endian) {\n    var /** @type {?} */ word = 0;\n    if (endian === Endian.Big) {\n        for (var /** @type {?} */ i = 0; i < 4; i++) {\n            word += byteAt(str, index + i) << (24 - 8 * i);\n        }\n    }\n    else {\n        for (var /** @type {?} */ i = 0; i < 4; i++) {\n            word += byteAt(str, index + i) << 8 * i;\n        }\n    }\n    return word;\n}\n/**\n * @param {?} words32\n * @return {?}\n */\nfunction words32ToByteString(words32) {\n    return words32.reduce(function (str, word) { return str + word32ToByteString(word); }, '');\n}\n/**\n * @param {?} word\n * @return {?}\n */\nfunction word32ToByteString(word) {\n    var /** @type {?} */ str = '';\n    for (var /** @type {?} */ i = 0; i < 4; i++) {\n        str += String.fromCharCode((word >>> 8 * (3 - i)) & 0xff);\n    }\n    return str;\n}\n/**\n * @param {?} str\n * @return {?}\n */\nfunction byteStringToHexString(str) {\n    var /** @type {?} */ hex = '';\n    for (var /** @type {?} */ i = 0; i < str.length; i++) {\n        var /** @type {?} */ b = byteAt(str, i);\n        hex += (b >>> 4).toString(16) + (b & 0x0f).toString(16);\n    }\n    return hex.toLowerCase();\n}\n/**\n * @param {?} str\n * @return {?}\n */\nfunction byteStringToDecString(str) {\n    var /** @type {?} */ decimal = '';\n    var /** @type {?} */ toThePower = '1';\n    for (var /** @type {?} */ i = str.length - 1; i >= 0; i--) {\n        decimal = addBigInt(decimal, numberTimesBigInt(byteAt(str, i), toThePower));\n        toThePower = numberTimesBigInt(256, toThePower);\n    }\n    return decimal.split('').reverse().join('');\n}\n/**\n * @param {?} x\n * @param {?} y\n * @return {?}\n */\nfunction addBigInt(x, y) {\n    var /** @type {?} */ sum = '';\n    var /** @type {?} */ len = Math.max(x.length, y.length);\n    for (var /** @type {?} */ i = 0, /** @type {?} */ carry = 0; i < len || carry; i++) {\n        var /** @type {?} */ tmpSum = carry + +(x[i] || 0) + +(y[i] || 0);\n        if (tmpSum >= 10) {\n            carry = 1;\n            sum += tmpSum - 10;\n        }\n        else {\n            carry = 0;\n            sum += tmpSum;\n        }\n    }\n    return sum;\n}\n/**\n * @param {?} num\n * @param {?} b\n * @return {?}\n */\nfunction numberTimesBigInt(num, b) {\n    var /** @type {?} */ product = '';\n    var /** @type {?} */ bToThePower = b;\n    for (; num !== 0; num = num >>> 1) {\n        if (num & 1)\n            product = addBigInt(product, bToThePower);\n        bToThePower = addBigInt(bToThePower, bToThePower);\n    }\n    return product;\n}\n//# sourceMappingURL=digest.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/i18n/digest.js\n// module id = 371\n// module chunks = 0","/**\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 */\nimport * as html from '../ml_parser/ast';\nimport { ParseTreeResult } from '../ml_parser/parser';\nimport * as i18n from './i18n_ast';\nimport { createI18nMessageFactory } from './i18n_parser';\nimport { I18nError } from './parse_util';\nvar /** @type {?} */ _I18N_ATTR = 'i18n';\nvar /** @type {?} */ _I18N_ATTR_PREFIX = 'i18n-';\nvar /** @type {?} */ _I18N_COMMENT_PREFIX_REGEXP = /^i18n:?/;\n/**\n * Extract translatable messages from an html AST\n * @param {?} nodes\n * @param {?} interpolationConfig\n * @param {?} implicitTags\n * @param {?} implicitAttrs\n * @return {?}\n */\nexport function extractMessages(nodes, interpolationConfig, implicitTags, implicitAttrs) {\n    var /** @type {?} */ visitor = new _Visitor(implicitTags, implicitAttrs);\n    return visitor.extract(nodes, interpolationConfig);\n}\n/**\n * @param {?} nodes\n * @param {?} translations\n * @param {?} interpolationConfig\n * @param {?} implicitTags\n * @param {?} implicitAttrs\n * @return {?}\n */\nexport function mergeTranslations(nodes, translations, interpolationConfig, implicitTags, implicitAttrs) {\n    var /** @type {?} */ visitor = new _Visitor(implicitTags, implicitAttrs);\n    return visitor.merge(nodes, translations, interpolationConfig);\n}\nexport var ExtractionResult = (function () {\n    /**\n     * @param {?} messages\n     * @param {?} errors\n     */\n    function ExtractionResult(messages, errors) {\n        this.messages = messages;\n        this.errors = errors;\n    }\n    return ExtractionResult;\n}());\nfunction ExtractionResult_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ExtractionResult.prototype.messages;\n    /** @type {?} */\n    ExtractionResult.prototype.errors;\n}\nvar _VisitorMode = {};\n_VisitorMode.Extract = 0;\n_VisitorMode.Merge = 1;\n_VisitorMode[_VisitorMode.Extract] = \"Extract\";\n_VisitorMode[_VisitorMode.Merge] = \"Merge\";\n/**\n * This Visitor is used:\n * 1. to extract all the translatable strings from an html AST (see `extract()`),\n * 2. to replace the translatable strings with the actual translations (see `merge()`)\n *\n * \\@internal\n */\nvar _Visitor = (function () {\n    /**\n     * @param {?} _implicitTags\n     * @param {?} _implicitAttrs\n     */\n    function _Visitor(_implicitTags, _implicitAttrs) {\n        this._implicitTags = _implicitTags;\n        this._implicitAttrs = _implicitAttrs;\n    }\n    /**\n     * Extracts the messages from the tree\n     * @param {?} nodes\n     * @param {?} interpolationConfig\n     * @return {?}\n     */\n    _Visitor.prototype.extract = function (nodes, interpolationConfig) {\n        var _this = this;\n        this._init(_VisitorMode.Extract, interpolationConfig);\n        nodes.forEach(function (node) { return node.visit(_this, null); });\n        if (this._inI18nBlock) {\n            this._reportError(nodes[nodes.length - 1], 'Unclosed block');\n        }\n        return new ExtractionResult(this._messages, this._errors);\n    };\n    /**\n     * Returns a tree where all translatable nodes are translated\n     * @param {?} nodes\n     * @param {?} translations\n     * @param {?} interpolationConfig\n     * @return {?}\n     */\n    _Visitor.prototype.merge = function (nodes, translations, interpolationConfig) {\n        this._init(_VisitorMode.Merge, interpolationConfig);\n        this._translations = translations;\n        // Construct a single fake root element\n        var /** @type {?} */ wrapper = new html.Element('wrapper', [], nodes, null, null, null);\n        var /** @type {?} */ translatedNode = wrapper.visit(this, null);\n        if (this._inI18nBlock) {\n            this._reportError(nodes[nodes.length - 1], 'Unclosed block');\n        }\n        return new ParseTreeResult(translatedNode.children, this._errors);\n    };\n    /**\n     * @param {?} icuCase\n     * @param {?} context\n     * @return {?}\n     */\n    _Visitor.prototype.visitExpansionCase = function (icuCase, context) {\n        // Parse cases for translatable html attributes\n        var /** @type {?} */ expression = html.visitAll(this, icuCase.expression, context);\n        if (this._mode === _VisitorMode.Merge) {\n            return new html.ExpansionCase(icuCase.value, expression, icuCase.sourceSpan, icuCase.valueSourceSpan, icuCase.expSourceSpan);\n        }\n    };\n    /**\n     * @param {?} icu\n     * @param {?} context\n     * @return {?}\n     */\n    _Visitor.prototype.visitExpansion = function (icu, context) {\n        this._mayBeAddBlockChildren(icu);\n        var /** @type {?} */ wasInIcu = this._inIcu;\n        if (!this._inIcu) {\n            // nested ICU messages should not be extracted but top-level translated as a whole\n            if (this._isInTranslatableSection) {\n                this._addMessage([icu]);\n            }\n            this._inIcu = true;\n        }\n        var /** @type {?} */ cases = html.visitAll(this, icu.cases, context);\n        if (this._mode === _VisitorMode.Merge) {\n            icu = new html.Expansion(icu.switchValue, icu.type, cases, icu.sourceSpan, icu.switchValueSourceSpan);\n        }\n        this._inIcu = wasInIcu;\n        return icu;\n    };\n    /**\n     * @param {?} comment\n     * @param {?} context\n     * @return {?}\n     */\n    _Visitor.prototype.visitComment = function (comment, context) {\n        var /** @type {?} */ isOpening = _isOpeningComment(comment);\n        if (isOpening && this._isInTranslatableSection) {\n            this._reportError(comment, 'Could not start a block inside a translatable section');\n            return;\n        }\n        var /** @type {?} */ isClosing = _isClosingComment(comment);\n        if (isClosing && !this._inI18nBlock) {\n            this._reportError(comment, 'Trying to close an unopened block');\n            return;\n        }\n        if (!this._inI18nNode && !this._inIcu) {\n            if (!this._inI18nBlock) {\n                if (isOpening) {\n                    this._inI18nBlock = true;\n                    this._blockStartDepth = this._depth;\n                    this._blockChildren = [];\n                    this._blockMeaningAndDesc = comment.value.replace(_I18N_COMMENT_PREFIX_REGEXP, '').trim();\n                    this._openTranslatableSection(comment);\n                }\n            }\n            else {\n                if (isClosing) {\n                    if (this._depth == this._blockStartDepth) {\n                        this._closeTranslatableSection(comment, this._blockChildren);\n                        this._inI18nBlock = false;\n                        var /** @type {?} */ message = this._addMessage(this._blockChildren, this._blockMeaningAndDesc);\n                        // merge attributes in sections\n                        var /** @type {?} */ nodes = this._translateMessage(comment, message);\n                        return html.visitAll(this, nodes);\n                    }\n                    else {\n                        this._reportError(comment, 'I18N blocks should not cross element boundaries');\n                        return;\n                    }\n                }\n            }\n        }\n    };\n    /**\n     * @param {?} text\n     * @param {?} context\n     * @return {?}\n     */\n    _Visitor.prototype.visitText = function (text, context) {\n        if (this._isInTranslatableSection) {\n            this._mayBeAddBlockChildren(text);\n        }\n        return text;\n    };\n    /**\n     * @param {?} el\n     * @param {?} context\n     * @return {?}\n     */\n    _Visitor.prototype.visitElement = function (el, context) {\n        var _this = this;\n        this._mayBeAddBlockChildren(el);\n        this._depth++;\n        var /** @type {?} */ wasInI18nNode = this._inI18nNode;\n        var /** @type {?} */ wasInImplicitNode = this._inImplicitNode;\n        var /** @type {?} */ childNodes = [];\n        var /** @type {?} */ translatedChildNodes;\n        // Extract:\n        // - top level nodes with the (implicit) \"i18n\" attribute if not already in a section\n        // - ICU messages\n        var /** @type {?} */ i18nAttr = _getI18nAttr(el);\n        var /** @type {?} */ i18nMeta = i18nAttr ? i18nAttr.value : '';\n        var /** @type {?} */ isImplicit = this._implicitTags.some(function (tag) { return el.name === tag; }) && !this._inIcu &&\n            !this._isInTranslatableSection;\n        var /** @type {?} */ isTopLevelImplicit = !wasInImplicitNode && isImplicit;\n        this._inImplicitNode = wasInImplicitNode || isImplicit;\n        if (!this._isInTranslatableSection && !this._inIcu) {\n            if (i18nAttr || isTopLevelImplicit) {\n                this._inI18nNode = true;\n                var /** @type {?} */ message = this._addMessage(el.children, i18nMeta);\n                translatedChildNodes = this._translateMessage(el, message);\n            }\n            if (this._mode == _VisitorMode.Extract) {\n                var /** @type {?} */ isTranslatable = i18nAttr || isTopLevelImplicit;\n                if (isTranslatable)\n                    this._openTranslatableSection(el);\n                html.visitAll(this, el.children);\n                if (isTranslatable)\n                    this._closeTranslatableSection(el, el.children);\n            }\n        }\n        else {\n            if (i18nAttr || isTopLevelImplicit) {\n                this._reportError(el, 'Could not mark an element as translatable inside a translatable section');\n            }\n            if (this._mode == _VisitorMode.Extract) {\n                // Descend into child nodes for extraction\n                html.visitAll(this, el.children);\n            }\n        }\n        if (this._mode === _VisitorMode.Merge) {\n            var /** @type {?} */ visitNodes = translatedChildNodes || el.children;\n            visitNodes.forEach(function (child) {\n                var /** @type {?} */ visited = child.visit(_this, context);\n                if (visited && !_this._isInTranslatableSection) {\n                    // Do not add the children from translatable sections (= i18n blocks here)\n                    // They will be added later in this loop when the block closes (i.e. on `<!-- /i18n -->`)\n                    childNodes = childNodes.concat(visited);\n                }\n            });\n        }\n        this._visitAttributesOf(el);\n        this._depth--;\n        this._inI18nNode = wasInI18nNode;\n        this._inImplicitNode = wasInImplicitNode;\n        if (this._mode === _VisitorMode.Merge) {\n            var /** @type {?} */ translatedAttrs = this._translateAttributes(el);\n            return new html.Element(el.name, translatedAttrs, childNodes, el.sourceSpan, el.startSourceSpan, el.endSourceSpan);\n        }\n    };\n    /**\n     * @param {?} attribute\n     * @param {?} context\n     * @return {?}\n     */\n    _Visitor.prototype.visitAttribute = function (attribute, context) {\n        throw new Error('unreachable code');\n    };\n    /**\n     * @param {?} mode\n     * @param {?} interpolationConfig\n     * @return {?}\n     */\n    _Visitor.prototype._init = function (mode, interpolationConfig) {\n        this._mode = mode;\n        this._inI18nBlock = false;\n        this._inI18nNode = false;\n        this._depth = 0;\n        this._inIcu = false;\n        this._msgCountAtSectionStart = void 0;\n        this._errors = [];\n        this._messages = [];\n        this._inImplicitNode = false;\n        this._createI18nMessage = createI18nMessageFactory(interpolationConfig);\n    };\n    /**\n     * @param {?} el\n     * @return {?}\n     */\n    _Visitor.prototype._visitAttributesOf = function (el) {\n        var _this = this;\n        var /** @type {?} */ explicitAttrNameToValue = {};\n        var /** @type {?} */ implicitAttrNames = this._implicitAttrs[el.name] || [];\n        el.attrs.filter(function (attr) { return attr.name.startsWith(_I18N_ATTR_PREFIX); })\n            .forEach(function (attr) { return explicitAttrNameToValue[attr.name.slice(_I18N_ATTR_PREFIX.length)] =\n            attr.value; });\n        el.attrs.forEach(function (attr) {\n            if (attr.name in explicitAttrNameToValue) {\n                _this._addMessage([attr], explicitAttrNameToValue[attr.name]);\n            }\n            else if (implicitAttrNames.some(function (name) { return attr.name === name; })) {\n                _this._addMessage([attr]);\n            }\n        });\n    };\n    /**\n     * @param {?} ast\n     * @param {?=} meaningAndDesc\n     * @return {?}\n     */\n    _Visitor.prototype._addMessage = function (ast, meaningAndDesc) {\n        if (ast.length == 0 ||\n            ast.length == 1 && ast[0] instanceof html.Attribute && !((ast[0])).value) {\n            // Do not create empty messages\n            return;\n        }\n        var _a = _splitMeaningAndDesc(meaningAndDesc), meaning = _a[0], description = _a[1];\n        var /** @type {?} */ message = this._createI18nMessage(ast, meaning, description);\n        this._messages.push(message);\n        return message;\n    };\n    /**\n     * @param {?} el\n     * @param {?} message\n     * @return {?}\n     */\n    _Visitor.prototype._translateMessage = function (el, message) {\n        if (message && this._mode === _VisitorMode.Merge) {\n            var /** @type {?} */ nodes = this._translations.get(message);\n            if (nodes) {\n                return nodes;\n            }\n            this._reportError(el, \"Translation unavailable for message id=\\\"\" + this._translations.digest(message) + \"\\\"\");\n        }\n        return [];\n    };\n    /**\n     * @param {?} el\n     * @return {?}\n     */\n    _Visitor.prototype._translateAttributes = function (el) {\n        var _this = this;\n        var /** @type {?} */ attributes = el.attrs;\n        var /** @type {?} */ i18nAttributeMeanings = {};\n        attributes.forEach(function (attr) {\n            if (attr.name.startsWith(_I18N_ATTR_PREFIX)) {\n                i18nAttributeMeanings[attr.name.slice(_I18N_ATTR_PREFIX.length)] =\n                    _splitMeaningAndDesc(attr.value)[0];\n            }\n        });\n        var /** @type {?} */ translatedAttributes = [];\n        attributes.forEach(function (attr) {\n            if (attr.name === _I18N_ATTR || attr.name.startsWith(_I18N_ATTR_PREFIX)) {\n                // strip i18n specific attributes\n                return;\n            }\n            if (attr.value && attr.value != '' && i18nAttributeMeanings.hasOwnProperty(attr.name)) {\n                var /** @type {?} */ meaning = i18nAttributeMeanings[attr.name];\n                var /** @type {?} */ message = _this._createI18nMessage([attr], meaning, '');\n                var /** @type {?} */ nodes = _this._translations.get(message);\n                if (nodes) {\n                    if (nodes.length == 0) {\n                        translatedAttributes.push(new html.Attribute(attr.name, '', attr.sourceSpan));\n                    }\n                    else if (nodes[0] instanceof html.Text) {\n                        var /** @type {?} */ value = ((nodes[0])).value;\n                        translatedAttributes.push(new html.Attribute(attr.name, value, attr.sourceSpan));\n                    }\n                    else {\n                        _this._reportError(el, \"Unexpected translation for attribute \\\"\" + attr.name + \"\\\" (id=\\\"\" + _this._translations.digest(message) + \"\\\")\");\n                    }\n                }\n                else {\n                    _this._reportError(el, \"Translation unavailable for attribute \\\"\" + attr.name + \"\\\" (id=\\\"\" + _this._translations.digest(message) + \"\\\")\");\n                }\n            }\n            else {\n                translatedAttributes.push(attr);\n            }\n        });\n        return translatedAttributes;\n    };\n    /**\n     * Add the node as a child of the block when:\n     * - we are in a block,\n     * - we are not inside a ICU message (those are handled separately),\n     * - the node is a \"direct child\" of the block\n     * @param {?} node\n     * @return {?}\n     */\n    _Visitor.prototype._mayBeAddBlockChildren = function (node) {\n        if (this._inI18nBlock && !this._inIcu && this._depth == this._blockStartDepth) {\n            this._blockChildren.push(node);\n        }\n    };\n    /**\n     * Marks the start of a section, see `_closeTranslatableSection`\n     * @param {?} node\n     * @return {?}\n     */\n    _Visitor.prototype._openTranslatableSection = function (node) {\n        if (this._isInTranslatableSection) {\n            this._reportError(node, 'Unexpected section start');\n        }\n        else {\n            this._msgCountAtSectionStart = this._messages.length;\n        }\n    };\n    Object.defineProperty(_Visitor.prototype, \"_isInTranslatableSection\", {\n        /**\n         * A translatable section could be:\n         * - the content of translatable element,\n         * - nodes between `<!-- i18n -->` and `<!-- /i18n -->` comments\n         * @return {?}\n         */\n        get: function () {\n            return this._msgCountAtSectionStart !== void 0;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * Terminates a section.\n     *\n     * If a section has only one significant children (comments not significant) then we should not\n     * keep the message from this children:\n     *\n     * `<p i18n=\"meaning|description\">{ICU message}</p>` would produce two messages:\n     * - one for the <p> content with meaning and description,\n     * - another one for the ICU message.\n     *\n     * In this case the last message is discarded as it contains less information (the AST is\n     * otherwise identical).\n     *\n     * Note that we should still keep messages extracted from attributes inside the section (ie in the\n     * ICU message here)\n     * @param {?} node\n     * @param {?} directChildren\n     * @return {?}\n     */\n    _Visitor.prototype._closeTranslatableSection = function (node, directChildren) {\n        if (!this._isInTranslatableSection) {\n            this._reportError(node, 'Unexpected section end');\n            return;\n        }\n        var /** @type {?} */ startIndex = this._msgCountAtSectionStart;\n        var /** @type {?} */ significantChildren = directChildren.reduce(function (count, node) { return count + (node instanceof html.Comment ? 0 : 1); }, 0);\n        if (significantChildren == 1) {\n            for (var /** @type {?} */ i = this._messages.length - 1; i >= startIndex; i--) {\n                var /** @type {?} */ ast = this._messages[i].nodes;\n                if (!(ast.length == 1 && ast[0] instanceof i18n.Text)) {\n                    this._messages.splice(i, 1);\n                    break;\n                }\n            }\n        }\n        this._msgCountAtSectionStart = void 0;\n    };\n    /**\n     * @param {?} node\n     * @param {?} msg\n     * @return {?}\n     */\n    _Visitor.prototype._reportError = function (node, msg) {\n        this._errors.push(new I18nError(node.sourceSpan, msg));\n    };\n    return _Visitor;\n}());\nfunction _Visitor_tsickle_Closure_declarations() {\n    /** @type {?} */\n    _Visitor.prototype._depth;\n    /** @type {?} */\n    _Visitor.prototype._inI18nNode;\n    /** @type {?} */\n    _Visitor.prototype._inImplicitNode;\n    /** @type {?} */\n    _Visitor.prototype._inI18nBlock;\n    /** @type {?} */\n    _Visitor.prototype._blockMeaningAndDesc;\n    /** @type {?} */\n    _Visitor.prototype._blockChildren;\n    /** @type {?} */\n    _Visitor.prototype._blockStartDepth;\n    /** @type {?} */\n    _Visitor.prototype._inIcu;\n    /** @type {?} */\n    _Visitor.prototype._msgCountAtSectionStart;\n    /** @type {?} */\n    _Visitor.prototype._errors;\n    /** @type {?} */\n    _Visitor.prototype._mode;\n    /** @type {?} */\n    _Visitor.prototype._messages;\n    /** @type {?} */\n    _Visitor.prototype._translations;\n    /** @type {?} */\n    _Visitor.prototype._createI18nMessage;\n    /** @type {?} */\n    _Visitor.prototype._implicitTags;\n    /** @type {?} */\n    _Visitor.prototype._implicitAttrs;\n}\n/**\n * @param {?} n\n * @return {?}\n */\nfunction _isOpeningComment(n) {\n    return n instanceof html.Comment && n.value && n.value.startsWith('i18n');\n}\n/**\n * @param {?} n\n * @return {?}\n */\nfunction _isClosingComment(n) {\n    return n instanceof html.Comment && n.value && n.value === '/i18n';\n}\n/**\n * @param {?} p\n * @return {?}\n */\nfunction _getI18nAttr(p) {\n    return p.attrs.find(function (attr) { return attr.name === _I18N_ATTR; }) || null;\n}\n/**\n * @param {?} i18n\n * @return {?}\n */\nfunction _splitMeaningAndDesc(i18n) {\n    if (!i18n)\n        return ['', ''];\n    var /** @type {?} */ pipeIndex = i18n.indexOf('|');\n    return pipeIndex == -1 ? ['', i18n] : [i18n.slice(0, pipeIndex), i18n.slice(pipeIndex + 1)];\n}\n//# sourceMappingURL=extractor_merger.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/i18n/extractor_merger.js\n// module id = 372\n// module chunks = 0","/**\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 */\nexport { Extractor } from './extractor';\nexport { I18NHtmlParser } from './i18n_html_parser';\nexport { MessageBundle } from './message_bundle';\nexport { Serializer } from './serializers/serializer';\nexport { Xliff } from './serializers/xliff';\nexport { Xmb } from './serializers/xmb';\nexport { Xtb } from './serializers/xtb';\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/i18n/index.js\n// module id = 373\n// module chunks = 0","/**\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 */\nimport { extractMessages } from './extractor_merger';\n/**\n * A container for message extracted from the templates.\n */\nexport var MessageBundle = (function () {\n    /**\n     * @param {?} _htmlParser\n     * @param {?} _implicitTags\n     * @param {?} _implicitAttrs\n     */\n    function MessageBundle(_htmlParser, _implicitTags, _implicitAttrs) {\n        this._htmlParser = _htmlParser;\n        this._implicitTags = _implicitTags;\n        this._implicitAttrs = _implicitAttrs;\n        this._messages = [];\n    }\n    /**\n     * @param {?} html\n     * @param {?} url\n     * @param {?} interpolationConfig\n     * @return {?}\n     */\n    MessageBundle.prototype.updateFromTemplate = function (html, url, interpolationConfig) {\n        var /** @type {?} */ htmlParserResult = this._htmlParser.parse(html, url, true, interpolationConfig);\n        if (htmlParserResult.errors.length) {\n            return htmlParserResult.errors;\n        }\n        var /** @type {?} */ i18nParserResult = extractMessages(htmlParserResult.rootNodes, interpolationConfig, this._implicitTags, this._implicitAttrs);\n        if (i18nParserResult.errors.length) {\n            return i18nParserResult.errors;\n        }\n        (_a = this._messages).push.apply(_a, i18nParserResult.messages);\n        var _a;\n    };\n    /**\n     * @return {?}\n     */\n    MessageBundle.prototype.getMessages = function () { return this._messages; };\n    /**\n     * @param {?} serializer\n     * @return {?}\n     */\n    MessageBundle.prototype.write = function (serializer) { return serializer.write(this._messages); };\n    return MessageBundle;\n}());\nfunction MessageBundle_tsickle_Closure_declarations() {\n    /** @type {?} */\n    MessageBundle.prototype._messages;\n    /** @type {?} */\n    MessageBundle.prototype._htmlParser;\n    /** @type {?} */\n    MessageBundle.prototype._implicitTags;\n    /** @type {?} */\n    MessageBundle.prototype._implicitAttrs;\n}\n//# sourceMappingURL=message_bundle.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/i18n/message_bundle.js\n// module id = 374\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport * as ml from '../../ml_parser/ast';\nimport { XmlParser } from '../../ml_parser/xml_parser';\nimport { digest } from '../digest';\nimport * as i18n from '../i18n_ast';\nimport { I18nError } from '../parse_util';\nimport { Serializer } from './serializer';\nimport * as xml from './xml_helper';\nvar /** @type {?} */ _VERSION = '1.2';\nvar /** @type {?} */ _XMLNS = 'urn:oasis:names:tc:xliff:document:1.2';\n// TODO(vicb): make this a param (s/_/-/)\nvar /** @type {?} */ _SOURCE_LANG = 'en';\nvar /** @type {?} */ _PLACEHOLDER_TAG = 'x';\nvar /** @type {?} */ _SOURCE_TAG = 'source';\nvar /** @type {?} */ _TARGET_TAG = 'target';\nvar /** @type {?} */ _UNIT_TAG = 'trans-unit';\nexport var Xliff = (function (_super) {\n    __extends(Xliff, _super);\n    function Xliff() {\n        _super.apply(this, arguments);\n    }\n    /**\n     * @param {?} messages\n     * @return {?}\n     */\n    Xliff.prototype.write = function (messages) {\n        var _this = this;\n        var /** @type {?} */ visitor = new _WriteVisitor();\n        var /** @type {?} */ visited = {};\n        var /** @type {?} */ transUnits = [];\n        messages.forEach(function (message) {\n            var /** @type {?} */ id = _this.digest(message);\n            // deduplicate messages\n            if (visited[id])\n                return;\n            visited[id] = true;\n            var /** @type {?} */ transUnit = new xml.Tag(_UNIT_TAG, { id: id, datatype: 'html' });\n            transUnit.children.push(new xml.CR(8), new xml.Tag(_SOURCE_TAG, {}, visitor.serialize(message.nodes)), new xml.CR(8), new xml.Tag(_TARGET_TAG));\n            if (message.description) {\n                transUnit.children.push(new xml.CR(8), new xml.Tag('note', { priority: '1', from: 'description' }, [new xml.Text(message.description)]));\n            }\n            if (message.meaning) {\n                transUnit.children.push(new xml.CR(8), new xml.Tag('note', { priority: '1', from: 'meaning' }, [new xml.Text(message.meaning)]));\n            }\n            transUnit.children.push(new xml.CR(6));\n            transUnits.push(new xml.CR(6), transUnit);\n        });\n        var /** @type {?} */ body = new xml.Tag('body', {}, transUnits.concat([new xml.CR(4)]));\n        var /** @type {?} */ file = new xml.Tag('file', { 'source-language': _SOURCE_LANG, datatype: 'plaintext', original: 'ng2.template' }, [new xml.CR(4), body, new xml.CR(2)]);\n        var /** @type {?} */ xliff = new xml.Tag('xliff', { version: _VERSION, xmlns: _XMLNS }, [new xml.CR(2), file, new xml.CR()]);\n        return xml.serialize([\n            new xml.Declaration({ version: '1.0', encoding: 'UTF-8' }), new xml.CR(), xliff, new xml.CR()\n        ]);\n    };\n    /**\n     * @param {?} content\n     * @param {?} url\n     * @return {?}\n     */\n    Xliff.prototype.load = function (content, url) {\n        // xliff to xml nodes\n        var /** @type {?} */ xliffParser = new XliffParser();\n        var _a = xliffParser.parse(content, url), mlNodesByMsgId = _a.mlNodesByMsgId, errors = _a.errors;\n        // xml nodes to i18n nodes\n        var /** @type {?} */ i18nNodesByMsgId = {};\n        var /** @type {?} */ converter = new XmlToI18n();\n        Object.keys(mlNodesByMsgId).forEach(function (msgId) {\n            var _a = converter.convert(mlNodesByMsgId[msgId]), i18nNodes = _a.i18nNodes, e = _a.errors;\n            errors.push.apply(errors, e);\n            i18nNodesByMsgId[msgId] = i18nNodes;\n        });\n        if (errors.length) {\n            throw new Error(\"xliff parse errors:\\n\" + errors.join('\\n'));\n        }\n        return i18nNodesByMsgId;\n    };\n    /**\n     * @param {?} message\n     * @return {?}\n     */\n    Xliff.prototype.digest = function (message) { return digest(message); };\n    return Xliff;\n}(Serializer));\nvar _WriteVisitor = (function () {\n    function _WriteVisitor() {\n    }\n    /**\n     * @param {?} text\n     * @param {?=} context\n     * @return {?}\n     */\n    _WriteVisitor.prototype.visitText = function (text, context) { return [new xml.Text(text.value)]; };\n    /**\n     * @param {?} container\n     * @param {?=} context\n     * @return {?}\n     */\n    _WriteVisitor.prototype.visitContainer = function (container, context) {\n        var _this = this;\n        var /** @type {?} */ nodes = [];\n        container.children.forEach(function (node) { return nodes.push.apply(nodes, node.visit(_this)); });\n        return nodes;\n    };\n    /**\n     * @param {?} icu\n     * @param {?=} context\n     * @return {?}\n     */\n    _WriteVisitor.prototype.visitIcu = function (icu, context) {\n        if (this._isInIcu) {\n            // nested ICU is not supported\n            throw new Error('xliff does not support nested ICU messages');\n        }\n        this._isInIcu = true;\n        // TODO(vicb): support ICU messages\n        // https://lists.oasis-open.org/archives/xliff/201201/msg00028.html\n        // http://docs.oasis-open.org/xliff/v1.2/xliff-profile-po/xliff-profile-po-1.2-cd02.html\n        var /** @type {?} */ nodes = [];\n        this._isInIcu = false;\n        return nodes;\n    };\n    /**\n     * @param {?} ph\n     * @param {?=} context\n     * @return {?}\n     */\n    _WriteVisitor.prototype.visitTagPlaceholder = function (ph, context) {\n        var /** @type {?} */ ctype = getCtypeForTag(ph.tag);\n        var /** @type {?} */ startTagPh = new xml.Tag(_PLACEHOLDER_TAG, { id: ph.startName, ctype: ctype });\n        if (ph.isVoid) {\n            // void tags have no children nor closing tags\n            return [startTagPh];\n        }\n        var /** @type {?} */ closeTagPh = new xml.Tag(_PLACEHOLDER_TAG, { id: ph.closeName, ctype: ctype });\n        return [startTagPh].concat(this.serialize(ph.children), [closeTagPh]);\n    };\n    /**\n     * @param {?} ph\n     * @param {?=} context\n     * @return {?}\n     */\n    _WriteVisitor.prototype.visitPlaceholder = function (ph, context) {\n        return [new xml.Tag(_PLACEHOLDER_TAG, { id: ph.name })];\n    };\n    /**\n     * @param {?} ph\n     * @param {?=} context\n     * @return {?}\n     */\n    _WriteVisitor.prototype.visitIcuPlaceholder = function (ph, context) {\n        return [new xml.Tag(_PLACEHOLDER_TAG, { id: ph.name })];\n    };\n    /**\n     * @param {?} nodes\n     * @return {?}\n     */\n    _WriteVisitor.prototype.serialize = function (nodes) {\n        var _this = this;\n        this._isInIcu = false;\n        return (_a = []).concat.apply(_a, nodes.map(function (node) { return node.visit(_this); }));\n        var _a;\n    };\n    return _WriteVisitor;\n}());\nfunction _WriteVisitor_tsickle_Closure_declarations() {\n    /** @type {?} */\n    _WriteVisitor.prototype._isInIcu;\n}\nvar XliffParser = (function () {\n    function XliffParser() {\n    }\n    /**\n     * @param {?} xliff\n     * @param {?} url\n     * @return {?}\n     */\n    XliffParser.prototype.parse = function (xliff, url) {\n        this._unitMlNodes = [];\n        this._mlNodesByMsgId = {};\n        var /** @type {?} */ xml = new XmlParser().parse(xliff, url, false);\n        this._errors = xml.errors;\n        ml.visitAll(this, xml.rootNodes, null);\n        return {\n            mlNodesByMsgId: this._mlNodesByMsgId,\n            errors: this._errors,\n        };\n    };\n    /**\n     * @param {?} element\n     * @param {?} context\n     * @return {?}\n     */\n    XliffParser.prototype.visitElement = function (element, context) {\n        switch (element.name) {\n            case _UNIT_TAG:\n                this._unitMlNodes = null;\n                var /** @type {?} */ idAttr = element.attrs.find(function (attr) { return attr.name === 'id'; });\n                if (!idAttr) {\n                    this._addError(element, \"<\" + _UNIT_TAG + \"> misses the \\\"id\\\" attribute\");\n                }\n                else {\n                    var /** @type {?} */ id = idAttr.value;\n                    if (this._mlNodesByMsgId.hasOwnProperty(id)) {\n                        this._addError(element, \"Duplicated translations for msg \" + id);\n                    }\n                    else {\n                        ml.visitAll(this, element.children, null);\n                        if (this._unitMlNodes) {\n                            this._mlNodesByMsgId[id] = this._unitMlNodes;\n                        }\n                        else {\n                            this._addError(element, \"Message \" + id + \" misses a translation\");\n                        }\n                    }\n                }\n                break;\n            case _SOURCE_TAG:\n                // ignore source message\n                break;\n            case _TARGET_TAG:\n                this._unitMlNodes = element.children;\n                break;\n            default:\n                // TODO(vicb): assert file structure, xliff version\n                // For now only recurse on unhandled nodes\n                ml.visitAll(this, element.children, null);\n        }\n    };\n    /**\n     * @param {?} attribute\n     * @param {?} context\n     * @return {?}\n     */\n    XliffParser.prototype.visitAttribute = function (attribute, context) { };\n    /**\n     * @param {?} text\n     * @param {?} context\n     * @return {?}\n     */\n    XliffParser.prototype.visitText = function (text, context) { };\n    /**\n     * @param {?} comment\n     * @param {?} context\n     * @return {?}\n     */\n    XliffParser.prototype.visitComment = function (comment, context) { };\n    /**\n     * @param {?} expansion\n     * @param {?} context\n     * @return {?}\n     */\n    XliffParser.prototype.visitExpansion = function (expansion, context) { };\n    /**\n     * @param {?} expansionCase\n     * @param {?} context\n     * @return {?}\n     */\n    XliffParser.prototype.visitExpansionCase = function (expansionCase, context) { };\n    /**\n     * @param {?} node\n     * @param {?} message\n     * @return {?}\n     */\n    XliffParser.prototype._addError = function (node, message) {\n        this._errors.push(new I18nError(node.sourceSpan, message));\n    };\n    return XliffParser;\n}());\nfunction XliffParser_tsickle_Closure_declarations() {\n    /** @type {?} */\n    XliffParser.prototype._unitMlNodes;\n    /** @type {?} */\n    XliffParser.prototype._errors;\n    /** @type {?} */\n    XliffParser.prototype._mlNodesByMsgId;\n}\nvar XmlToI18n = (function () {\n    function XmlToI18n() {\n    }\n    /**\n     * @param {?} nodes\n     * @return {?}\n     */\n    XmlToI18n.prototype.convert = function (nodes) {\n        this._errors = [];\n        return {\n            i18nNodes: ml.visitAll(this, nodes),\n            errors: this._errors,\n        };\n    };\n    /**\n     * @param {?} text\n     * @param {?} context\n     * @return {?}\n     */\n    XmlToI18n.prototype.visitText = function (text, context) { return new i18n.Text(text.value, text.sourceSpan); };\n    /**\n     * @param {?} el\n     * @param {?} context\n     * @return {?}\n     */\n    XmlToI18n.prototype.visitElement = function (el, context) {\n        if (el.name === _PLACEHOLDER_TAG) {\n            var /** @type {?} */ nameAttr = el.attrs.find(function (attr) { return attr.name === 'id'; });\n            if (nameAttr) {\n                return new i18n.Placeholder('', nameAttr.value, el.sourceSpan);\n            }\n            this._addError(el, \"<\" + _PLACEHOLDER_TAG + \"> misses the \\\"id\\\" attribute\");\n        }\n        else {\n            this._addError(el, \"Unexpected tag\");\n        }\n    };\n    /**\n     * @param {?} icu\n     * @param {?} context\n     * @return {?}\n     */\n    XmlToI18n.prototype.visitExpansion = function (icu, context) { };\n    /**\n     * @param {?} icuCase\n     * @param {?} context\n     * @return {?}\n     */\n    XmlToI18n.prototype.visitExpansionCase = function (icuCase, context) { };\n    /**\n     * @param {?} comment\n     * @param {?} context\n     * @return {?}\n     */\n    XmlToI18n.prototype.visitComment = function (comment, context) { };\n    /**\n     * @param {?} attribute\n     * @param {?} context\n     * @return {?}\n     */\n    XmlToI18n.prototype.visitAttribute = function (attribute, context) { };\n    /**\n     * @param {?} node\n     * @param {?} message\n     * @return {?}\n     */\n    XmlToI18n.prototype._addError = function (node, message) {\n        this._errors.push(new I18nError(node.sourceSpan, message));\n    };\n    return XmlToI18n;\n}());\nfunction XmlToI18n_tsickle_Closure_declarations() {\n    /** @type {?} */\n    XmlToI18n.prototype._errors;\n}\n/**\n * @param {?} tag\n * @return {?}\n */\nfunction getCtypeForTag(tag) {\n    switch (tag.toLowerCase()) {\n        case 'br':\n            return 'lb';\n        case 'img':\n            return 'image';\n        default:\n            return \"x-\" + tag;\n    }\n}\n//# sourceMappingURL=xliff.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/i18n/serializers/xliff.js\n// module id = 375\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar _Visitor = (function () {\n    function _Visitor() {\n    }\n    /**\n     * @param {?} tag\n     * @return {?}\n     */\n    _Visitor.prototype.visitTag = function (tag) {\n        var _this = this;\n        var /** @type {?} */ strAttrs = this._serializeAttributes(tag.attrs);\n        if (tag.children.length == 0) {\n            return \"<\" + tag.name + strAttrs + \"/>\";\n        }\n        var /** @type {?} */ strChildren = tag.children.map(function (node) { return node.visit(_this); });\n        return \"<\" + tag.name + strAttrs + \">\" + strChildren.join('') + \"</\" + tag.name + \">\";\n    };\n    /**\n     * @param {?} text\n     * @return {?}\n     */\n    _Visitor.prototype.visitText = function (text) { return text.value; };\n    /**\n     * @param {?} decl\n     * @return {?}\n     */\n    _Visitor.prototype.visitDeclaration = function (decl) {\n        return \"<?xml\" + this._serializeAttributes(decl.attrs) + \" ?>\";\n    };\n    /**\n     * @param {?} attrs\n     * @return {?}\n     */\n    _Visitor.prototype._serializeAttributes = function (attrs) {\n        var /** @type {?} */ strAttrs = Object.keys(attrs).map(function (name) { return (name + \"=\\\"\" + attrs[name] + \"\\\"\"); }).join(' ');\n        return strAttrs.length > 0 ? ' ' + strAttrs : '';\n    };\n    /**\n     * @param {?} doctype\n     * @return {?}\n     */\n    _Visitor.prototype.visitDoctype = function (doctype) {\n        return \"<!DOCTYPE \" + doctype.rootTag + \" [\\n\" + doctype.dtd + \"\\n]>\";\n    };\n    return _Visitor;\n}());\nvar /** @type {?} */ _visitor = new _Visitor();\n/**\n * @param {?} nodes\n * @return {?}\n */\nexport function serialize(nodes) {\n    return nodes.map(function (node) { return node.visit(_visitor); }).join('');\n}\nexport var Declaration = (function () {\n    /**\n     * @param {?} unescapedAttrs\n     */\n    function Declaration(unescapedAttrs) {\n        var _this = this;\n        this.attrs = {};\n        Object.keys(unescapedAttrs).forEach(function (k) {\n            _this.attrs[k] = _escapeXml(unescapedAttrs[k]);\n        });\n    }\n    /**\n     * @param {?} visitor\n     * @return {?}\n     */\n    Declaration.prototype.visit = function (visitor) { return visitor.visitDeclaration(this); };\n    return Declaration;\n}());\nfunction Declaration_tsickle_Closure_declarations() {\n    /** @type {?} */\n    Declaration.prototype.attrs;\n}\nexport var Doctype = (function () {\n    /**\n     * @param {?} rootTag\n     * @param {?} dtd\n     */\n    function Doctype(rootTag, dtd) {\n        this.rootTag = rootTag;\n        this.dtd = dtd;\n    }\n    ;\n    /**\n     * @param {?} visitor\n     * @return {?}\n     */\n    Doctype.prototype.visit = function (visitor) { return visitor.visitDoctype(this); };\n    return Doctype;\n}());\nfunction Doctype_tsickle_Closure_declarations() {\n    /** @type {?} */\n    Doctype.prototype.rootTag;\n    /** @type {?} */\n    Doctype.prototype.dtd;\n}\nexport var Tag = (function () {\n    /**\n     * @param {?} name\n     * @param {?=} unescapedAttrs\n     * @param {?=} children\n     */\n    function Tag(name, unescapedAttrs, children) {\n        var _this = this;\n        if (unescapedAttrs === void 0) { unescapedAttrs = {}; }\n        if (children === void 0) { children = []; }\n        this.name = name;\n        this.children = children;\n        this.attrs = {};\n        Object.keys(unescapedAttrs).forEach(function (k) {\n            _this.attrs[k] = _escapeXml(unescapedAttrs[k]);\n        });\n    }\n    /**\n     * @param {?} visitor\n     * @return {?}\n     */\n    Tag.prototype.visit = function (visitor) { return visitor.visitTag(this); };\n    return Tag;\n}());\nfunction Tag_tsickle_Closure_declarations() {\n    /** @type {?} */\n    Tag.prototype.attrs;\n    /** @type {?} */\n    Tag.prototype.name;\n    /** @type {?} */\n    Tag.prototype.children;\n}\nexport var Text = (function () {\n    /**\n     * @param {?} unescapedValue\n     */\n    function Text(unescapedValue) {\n        this.value = _escapeXml(unescapedValue);\n    }\n    ;\n    /**\n     * @param {?} visitor\n     * @return {?}\n     */\n    Text.prototype.visit = function (visitor) { return visitor.visitText(this); };\n    return Text;\n}());\nfunction Text_tsickle_Closure_declarations() {\n    /** @type {?} */\n    Text.prototype.value;\n}\nexport var CR = (function (_super) {\n    __extends(CR, _super);\n    /**\n     * @param {?=} ws\n     */\n    function CR(ws) {\n        if (ws === void 0) { ws = 0; }\n        _super.call(this, \"\\n\" + new Array(ws + 1).join(' '));\n    }\n    return CR;\n}(Text));\nvar /** @type {?} */ _ESCAPED_CHARS = [\n    [/&/g, '&amp;'],\n    [/\"/g, '&quot;'],\n    [/'/g, '&apos;'],\n    [/</g, '&lt;'],\n    [/>/g, '&gt;'],\n];\n/**\n * @param {?} text\n * @return {?}\n */\nfunction _escapeXml(text) {\n    return _ESCAPED_CHARS.reduce(function (text, entry) { return text.replace(entry[0], entry[1]); }, text);\n}\n//# sourceMappingURL=xml_helper.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/i18n/serializers/xml_helper.js\n// module id = 376\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport * as ml from '../../ml_parser/ast';\nimport { XmlParser } from '../../ml_parser/xml_parser';\nimport * as i18n from '../i18n_ast';\nimport { I18nError } from '../parse_util';\nimport { Serializer } from './serializer';\nimport { XmbPlaceholderMapper, digest } from './xmb';\nvar /** @type {?} */ _TRANSLATIONS_TAG = 'translationbundle';\nvar /** @type {?} */ _TRANSLATION_TAG = 'translation';\nvar /** @type {?} */ _PLACEHOLDER_TAG = 'ph';\nexport var Xtb = (function (_super) {\n    __extends(Xtb, _super);\n    function Xtb() {\n        _super.apply(this, arguments);\n    }\n    /**\n     * @param {?} messages\n     * @return {?}\n     */\n    Xtb.prototype.write = function (messages) { throw new Error('Unsupported'); };\n    /**\n     * @param {?} content\n     * @param {?} url\n     * @return {?}\n     */\n    Xtb.prototype.load = function (content, url) {\n        // xtb to xml nodes\n        var /** @type {?} */ xtbParser = new XtbParser();\n        var _a = xtbParser.parse(content, url), mlNodesByMsgId = _a.mlNodesByMsgId, errors = _a.errors;\n        // xml nodes to i18n nodes\n        var /** @type {?} */ i18nNodesByMsgId = {};\n        var /** @type {?} */ converter = new XmlToI18n();\n        Object.keys(mlNodesByMsgId).forEach(function (msgId) {\n            var _a = converter.convert(mlNodesByMsgId[msgId]), i18nNodes = _a.i18nNodes, e = _a.errors;\n            errors.push.apply(errors, e);\n            i18nNodesByMsgId[msgId] = i18nNodes;\n        });\n        if (errors.length) {\n            throw new Error(\"xtb parse errors:\\n\" + errors.join('\\n'));\n        }\n        return i18nNodesByMsgId;\n    };\n    /**\n     * @param {?} message\n     * @return {?}\n     */\n    Xtb.prototype.digest = function (message) { return digest(message); };\n    /**\n     * @param {?} message\n     * @return {?}\n     */\n    Xtb.prototype.createNameMapper = function (message) {\n        return new XmbPlaceholderMapper(message);\n    };\n    return Xtb;\n}(Serializer));\nvar XtbParser = (function () {\n    function XtbParser() {\n    }\n    /**\n     * @param {?} xtb\n     * @param {?} url\n     * @return {?}\n     */\n    XtbParser.prototype.parse = function (xtb, url) {\n        this._bundleDepth = 0;\n        this._mlNodesByMsgId = {};\n        var /** @type {?} */ xml = new XmlParser().parse(xtb, url, true);\n        this._errors = xml.errors;\n        ml.visitAll(this, xml.rootNodes);\n        return {\n            mlNodesByMsgId: this._mlNodesByMsgId,\n            errors: this._errors,\n        };\n    };\n    /**\n     * @param {?} element\n     * @param {?} context\n     * @return {?}\n     */\n    XtbParser.prototype.visitElement = function (element, context) {\n        switch (element.name) {\n            case _TRANSLATIONS_TAG:\n                this._bundleDepth++;\n                if (this._bundleDepth > 1) {\n                    this._addError(element, \"<\" + _TRANSLATIONS_TAG + \"> elements can not be nested\");\n                }\n                ml.visitAll(this, element.children, null);\n                this._bundleDepth--;\n                break;\n            case _TRANSLATION_TAG:\n                var /** @type {?} */ idAttr = element.attrs.find(function (attr) { return attr.name === 'id'; });\n                if (!idAttr) {\n                    this._addError(element, \"<\" + _TRANSLATION_TAG + \"> misses the \\\"id\\\" attribute\");\n                }\n                else {\n                    var /** @type {?} */ id = idAttr.value;\n                    if (this._mlNodesByMsgId.hasOwnProperty(id)) {\n                        this._addError(element, \"Duplicated translations for msg \" + id);\n                    }\n                    else {\n                        this._mlNodesByMsgId[id] = element.children;\n                    }\n                }\n                break;\n            default:\n                this._addError(element, 'Unexpected tag');\n        }\n    };\n    /**\n     * @param {?} attribute\n     * @param {?} context\n     * @return {?}\n     */\n    XtbParser.prototype.visitAttribute = function (attribute, context) { };\n    /**\n     * @param {?} text\n     * @param {?} context\n     * @return {?}\n     */\n    XtbParser.prototype.visitText = function (text, context) { };\n    /**\n     * @param {?} comment\n     * @param {?} context\n     * @return {?}\n     */\n    XtbParser.prototype.visitComment = function (comment, context) { };\n    /**\n     * @param {?} expansion\n     * @param {?} context\n     * @return {?}\n     */\n    XtbParser.prototype.visitExpansion = function (expansion, context) { };\n    /**\n     * @param {?} expansionCase\n     * @param {?} context\n     * @return {?}\n     */\n    XtbParser.prototype.visitExpansionCase = function (expansionCase, context) { };\n    /**\n     * @param {?} node\n     * @param {?} message\n     * @return {?}\n     */\n    XtbParser.prototype._addError = function (node, message) {\n        this._errors.push(new I18nError(node.sourceSpan, message));\n    };\n    return XtbParser;\n}());\nfunction XtbParser_tsickle_Closure_declarations() {\n    /** @type {?} */\n    XtbParser.prototype._bundleDepth;\n    /** @type {?} */\n    XtbParser.prototype._errors;\n    /** @type {?} */\n    XtbParser.prototype._mlNodesByMsgId;\n}\nvar XmlToI18n = (function () {\n    function XmlToI18n() {\n    }\n    /**\n     * @param {?} nodes\n     * @return {?}\n     */\n    XmlToI18n.prototype.convert = function (nodes) {\n        this._errors = [];\n        return {\n            i18nNodes: ml.visitAll(this, nodes),\n            errors: this._errors,\n        };\n    };\n    /**\n     * @param {?} text\n     * @param {?} context\n     * @return {?}\n     */\n    XmlToI18n.prototype.visitText = function (text, context) { return new i18n.Text(text.value, text.sourceSpan); };\n    /**\n     * @param {?} icu\n     * @param {?} context\n     * @return {?}\n     */\n    XmlToI18n.prototype.visitExpansion = function (icu, context) {\n        var /** @type {?} */ caseMap = {};\n        ml.visitAll(this, icu.cases).forEach(function (c) {\n            caseMap[c.value] = new i18n.Container(c.nodes, icu.sourceSpan);\n        });\n        return new i18n.Icu(icu.switchValue, icu.type, caseMap, icu.sourceSpan);\n    };\n    /**\n     * @param {?} icuCase\n     * @param {?} context\n     * @return {?}\n     */\n    XmlToI18n.prototype.visitExpansionCase = function (icuCase, context) {\n        return {\n            value: icuCase.value,\n            nodes: ml.visitAll(this, icuCase.expression),\n        };\n    };\n    /**\n     * @param {?} el\n     * @param {?} context\n     * @return {?}\n     */\n    XmlToI18n.prototype.visitElement = function (el, context) {\n        if (el.name === _PLACEHOLDER_TAG) {\n            var /** @type {?} */ nameAttr = el.attrs.find(function (attr) { return attr.name === 'name'; });\n            if (nameAttr) {\n                return new i18n.Placeholder('', nameAttr.value, el.sourceSpan);\n            }\n            this._addError(el, \"<\" + _PLACEHOLDER_TAG + \"> misses the \\\"name\\\" attribute\");\n        }\n        else {\n            this._addError(el, \"Unexpected tag\");\n        }\n    };\n    /**\n     * @param {?} comment\n     * @param {?} context\n     * @return {?}\n     */\n    XmlToI18n.prototype.visitComment = function (comment, context) { };\n    /**\n     * @param {?} attribute\n     * @param {?} context\n     * @return {?}\n     */\n    XmlToI18n.prototype.visitAttribute = function (attribute, context) { };\n    /**\n     * @param {?} node\n     * @param {?} message\n     * @return {?}\n     */\n    XmlToI18n.prototype._addError = function (node, message) {\n        this._errors.push(new I18nError(node.sourceSpan, message));\n    };\n    return XmlToI18n;\n}());\nfunction XmlToI18n_tsickle_Closure_declarations() {\n    /** @type {?} */\n    XmlToI18n.prototype._errors;\n}\n//# sourceMappingURL=xtb.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/i18n/serializers/xtb.js\n// module id = 377\n// module chunks = 0","/**\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 */\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nimport { Compiler, ComponentFactory, Injector, ModuleWithComponentFactories } from '@angular/core';\nimport { AnimationCompiler } from '../animation/animation_compiler';\nimport { AnimationParser } from '../animation/animation_parser';\nimport { ProviderMeta, createHostComponentMeta, identifierName } from '../compile_metadata';\nimport { CompilerConfig } from '../config';\nimport { DirectiveWrapperCompiler } from '../directive_wrapper_compiler';\nimport { stringify } from '../facade/lang';\nimport { CompilerInjectable } from '../injectable';\nimport { CompileMetadataResolver } from '../metadata_resolver';\nimport { NgModuleCompiler } from '../ng_module_compiler';\nimport * as ir from '../output/output_ast';\nimport { interpretStatements } from '../output/output_interpreter';\nimport { jitStatements } from '../output/output_jit';\nimport { StyleCompiler } from '../style_compiler';\nimport { TemplateParser } from '../template_parser/template_parser';\nimport { SyncAsyncResult } from '../util';\nimport { ComponentFactoryDependency, DirectiveWrapperDependency, ViewClassDependency, ViewCompiler } from '../view_compiler/view_compiler';\n/**\n * An internal module of the Angular compiler that begins with component types,\n * extracts templates, and eventually produces a compiled version of the component\n * ready for linking into an application.\n *\n * \\@security When compiling templates at runtime, you must ensure that the entire template comes\n * from a trusted source. Attacker-controlled data introduced by a template could expose your\n * application to XSS risks.  For more detail, see the [Security Guide](http://g.co/ng/security).\n */\nexport var JitCompiler = (function () {\n    /**\n     * @param {?} _injector\n     * @param {?} _metadataResolver\n     * @param {?} _templateParser\n     * @param {?} _styleCompiler\n     * @param {?} _viewCompiler\n     * @param {?} _ngModuleCompiler\n     * @param {?} _directiveWrapperCompiler\n     * @param {?} _compilerConfig\n     * @param {?} _animationParser\n     */\n    function JitCompiler(_injector, _metadataResolver, _templateParser, _styleCompiler, _viewCompiler, _ngModuleCompiler, _directiveWrapperCompiler, _compilerConfig, _animationParser) {\n        this._injector = _injector;\n        this._metadataResolver = _metadataResolver;\n        this._templateParser = _templateParser;\n        this._styleCompiler = _styleCompiler;\n        this._viewCompiler = _viewCompiler;\n        this._ngModuleCompiler = _ngModuleCompiler;\n        this._directiveWrapperCompiler = _directiveWrapperCompiler;\n        this._compilerConfig = _compilerConfig;\n        this._animationParser = _animationParser;\n        this._compiledTemplateCache = new Map();\n        this._compiledHostTemplateCache = new Map();\n        this._compiledDirectiveWrapperCache = new Map();\n        this._compiledNgModuleCache = new Map();\n        this._animationCompiler = new AnimationCompiler();\n    }\n    Object.defineProperty(JitCompiler.prototype, \"injector\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._injector; },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @param {?} moduleType\n     * @return {?}\n     */\n    JitCompiler.prototype.compileModuleSync = function (moduleType) {\n        return this._compileModuleAndComponents(moduleType, true).syncResult;\n    };\n    /**\n     * @param {?} moduleType\n     * @return {?}\n     */\n    JitCompiler.prototype.compileModuleAsync = function (moduleType) {\n        return this._compileModuleAndComponents(moduleType, false).asyncResult;\n    };\n    /**\n     * @param {?} moduleType\n     * @return {?}\n     */\n    JitCompiler.prototype.compileModuleAndAllComponentsSync = function (moduleType) {\n        return this._compileModuleAndAllComponents(moduleType, true).syncResult;\n    };\n    /**\n     * @param {?} moduleType\n     * @return {?}\n     */\n    JitCompiler.prototype.compileModuleAndAllComponentsAsync = function (moduleType) {\n        return this._compileModuleAndAllComponents(moduleType, false).asyncResult;\n    };\n    /**\n     * @param {?} component\n     * @return {?}\n     */\n    JitCompiler.prototype.getNgContentSelectors = function (component) {\n        var /** @type {?} */ template = this._compiledTemplateCache.get(component);\n        if (!template) {\n            throw new Error(\"The component \" + stringify(component) + \" is not yet compiled!\");\n        }\n        return template.compMeta.template.ngContentSelectors;\n    };\n    /**\n     * @param {?} moduleType\n     * @param {?} isSync\n     * @return {?}\n     */\n    JitCompiler.prototype._compileModuleAndComponents = function (moduleType, isSync) {\n        var _this = this;\n        var /** @type {?} */ loadingPromise = this._loadModules(moduleType, isSync);\n        var /** @type {?} */ createResult = function () {\n            _this._compileComponents(moduleType, null);\n            return _this._compileModule(moduleType);\n        };\n        if (isSync) {\n            return new SyncAsyncResult(createResult());\n        }\n        else {\n            return new SyncAsyncResult(null, loadingPromise.then(createResult));\n        }\n    };\n    /**\n     * @param {?} moduleType\n     * @param {?} isSync\n     * @return {?}\n     */\n    JitCompiler.prototype._compileModuleAndAllComponents = function (moduleType, isSync) {\n        var _this = this;\n        var /** @type {?} */ loadingPromise = this._loadModules(moduleType, isSync);\n        var /** @type {?} */ createResult = function () {\n            var /** @type {?} */ componentFactories = [];\n            _this._compileComponents(moduleType, componentFactories);\n            return new ModuleWithComponentFactories(_this._compileModule(moduleType), componentFactories);\n        };\n        if (isSync) {\n            return new SyncAsyncResult(createResult());\n        }\n        else {\n            return new SyncAsyncResult(null, loadingPromise.then(createResult));\n        }\n    };\n    /**\n     * @param {?} mainModule\n     * @param {?} isSync\n     * @return {?}\n     */\n    JitCompiler.prototype._loadModules = function (mainModule, isSync) {\n        var _this = this;\n        var /** @type {?} */ loadingPromises = [];\n        var /** @type {?} */ ngModule = this._metadataResolver.getNgModuleMetadata(mainModule);\n        // Note: the loadingPromise for a module only includes the loading of the exported directives\n        // of imported modules.\n        // However, for runtime compilation, we want to transitively compile all modules,\n        // so we also need to call loadNgModuleDirectiveAndPipeMetadata for all nested modules.\n        ngModule.transitiveModule.modules.forEach(function (localModuleMeta) {\n            loadingPromises.push(_this._metadataResolver.loadNgModuleDirectiveAndPipeMetadata(localModuleMeta.reference, isSync));\n        });\n        return Promise.all(loadingPromises);\n    };\n    /**\n     * @param {?} moduleType\n     * @return {?}\n     */\n    JitCompiler.prototype._compileModule = function (moduleType) {\n        var _this = this;\n        var /** @type {?} */ ngModuleFactory = this._compiledNgModuleCache.get(moduleType);\n        if (!ngModuleFactory) {\n            var /** @type {?} */ moduleMeta_1 = this._metadataResolver.getNgModuleMetadata(moduleType);\n            // Always provide a bound Compiler\n            var /** @type {?} */ extraProviders = [this._metadataResolver.getProviderMetadata(new ProviderMeta(Compiler, { useFactory: function () { return new ModuleBoundCompiler(_this, moduleMeta_1.type.reference); } }))];\n            var /** @type {?} */ compileResult = this._ngModuleCompiler.compile(moduleMeta_1, extraProviders);\n            compileResult.dependencies.forEach(function (dep) {\n                dep.placeholder.reference =\n                    _this._assertComponentKnown(dep.comp.reference, true).proxyComponentFactory;\n            });\n            if (!this._compilerConfig.useJit) {\n                ngModuleFactory =\n                    interpretStatements(compileResult.statements, compileResult.ngModuleFactoryVar);\n            }\n            else {\n                ngModuleFactory = jitStatements(\"/\" + identifierName(moduleMeta_1.type) + \"/module.ngfactory.js\", compileResult.statements, compileResult.ngModuleFactoryVar);\n            }\n            this._compiledNgModuleCache.set(moduleMeta_1.type.reference, ngModuleFactory);\n        }\n        return ngModuleFactory;\n    };\n    /**\n     * \\@internal\n     * @param {?} mainModule\n     * @param {?} allComponentFactories\n     * @return {?}\n     */\n    JitCompiler.prototype._compileComponents = function (mainModule, allComponentFactories) {\n        var _this = this;\n        var /** @type {?} */ ngModule = this._metadataResolver.getNgModuleMetadata(mainModule);\n        var /** @type {?} */ moduleByDirective = new Map();\n        var /** @type {?} */ templates = new Set();\n        ngModule.transitiveModule.modules.forEach(function (localModuleSummary) {\n            var /** @type {?} */ localModuleMeta = _this._metadataResolver.getNgModuleMetadata(localModuleSummary.reference);\n            localModuleMeta.declaredDirectives.forEach(function (dirIdentifier) {\n                moduleByDirective.set(dirIdentifier.reference, localModuleMeta);\n                var /** @type {?} */ dirMeta = _this._metadataResolver.getDirectiveMetadata(dirIdentifier.reference);\n                _this._compileDirectiveWrapper(dirMeta, localModuleMeta);\n                if (dirMeta.isComponent) {\n                    templates.add(_this._createCompiledTemplate(dirMeta, localModuleMeta));\n                    if (allComponentFactories) {\n                        var /** @type {?} */ template = _this._createCompiledHostTemplate(dirMeta.type.reference, localModuleMeta);\n                        templates.add(template);\n                        allComponentFactories.push(template.proxyComponentFactory);\n                    }\n                }\n            });\n        });\n        ngModule.transitiveModule.modules.forEach(function (localModuleSummary) {\n            var /** @type {?} */ localModuleMeta = _this._metadataResolver.getNgModuleMetadata(localModuleSummary.reference);\n            localModuleMeta.declaredDirectives.forEach(function (dirIdentifier) {\n                var /** @type {?} */ dirMeta = _this._metadataResolver.getDirectiveMetadata(dirIdentifier.reference);\n                if (dirMeta.isComponent) {\n                    dirMeta.entryComponents.forEach(function (entryComponentType) {\n                        var /** @type {?} */ moduleMeta = moduleByDirective.get(entryComponentType.reference);\n                        templates.add(_this._createCompiledHostTemplate(entryComponentType.reference, moduleMeta));\n                    });\n                }\n            });\n            localModuleMeta.entryComponents.forEach(function (entryComponentType) {\n                var /** @type {?} */ moduleMeta = moduleByDirective.get(entryComponentType.reference);\n                templates.add(_this._createCompiledHostTemplate(entryComponentType.reference, moduleMeta));\n            });\n        });\n        templates.forEach(function (template) { return _this._compileTemplate(template); });\n    };\n    /**\n     * @param {?} type\n     * @return {?}\n     */\n    JitCompiler.prototype.clearCacheFor = function (type) {\n        this._compiledNgModuleCache.delete(type);\n        this._metadataResolver.clearCacheFor(type);\n        this._compiledHostTemplateCache.delete(type);\n        var /** @type {?} */ compiledTemplate = this._compiledTemplateCache.get(type);\n        if (compiledTemplate) {\n            this._compiledTemplateCache.delete(type);\n        }\n    };\n    /**\n     * @return {?}\n     */\n    JitCompiler.prototype.clearCache = function () {\n        this._metadataResolver.clearCache();\n        this._compiledTemplateCache.clear();\n        this._compiledHostTemplateCache.clear();\n        this._compiledNgModuleCache.clear();\n    };\n    /**\n     * @param {?} compType\n     * @param {?} ngModule\n     * @return {?}\n     */\n    JitCompiler.prototype._createCompiledHostTemplate = function (compType, ngModule) {\n        if (!ngModule) {\n            throw new Error(\"Component \" + stringify(compType) + \" is not part of any NgModule or the module has not been imported into your module.\");\n        }\n        var /** @type {?} */ compiledTemplate = this._compiledHostTemplateCache.get(compType);\n        if (!compiledTemplate) {\n            var /** @type {?} */ compMeta = this._metadataResolver.getDirectiveMetadata(compType);\n            assertComponent(compMeta);\n            var /** @type {?} */ HostClass = function HostClass() { };\n            ((HostClass)).overriddenName = identifierName(compMeta.type) + \"_Host\";\n            var /** @type {?} */ hostMeta = createHostComponentMeta(HostClass, compMeta);\n            compiledTemplate = new CompiledTemplate(true, compMeta.selector, compMeta.type, hostMeta, ngModule, [compMeta.type]);\n            this._compiledHostTemplateCache.set(compType, compiledTemplate);\n        }\n        return compiledTemplate;\n    };\n    /**\n     * @param {?} compMeta\n     * @param {?} ngModule\n     * @return {?}\n     */\n    JitCompiler.prototype._createCompiledTemplate = function (compMeta, ngModule) {\n        var /** @type {?} */ compiledTemplate = this._compiledTemplateCache.get(compMeta.type.reference);\n        if (!compiledTemplate) {\n            assertComponent(compMeta);\n            compiledTemplate = new CompiledTemplate(false, compMeta.selector, compMeta.type, compMeta, ngModule, ngModule.transitiveModule.directives);\n            this._compiledTemplateCache.set(compMeta.type.reference, compiledTemplate);\n        }\n        return compiledTemplate;\n    };\n    /**\n     * @param {?} compType\n     * @param {?} isHost\n     * @return {?}\n     */\n    JitCompiler.prototype._assertComponentKnown = function (compType, isHost) {\n        var /** @type {?} */ compiledTemplate = isHost ? this._compiledHostTemplateCache.get(compType) :\n            this._compiledTemplateCache.get(compType);\n        if (!compiledTemplate) {\n            throw new Error(\"Illegal state: Compiled view for component \" + stringify(compType) + \" (host: \" + isHost + \") does not exist!\");\n        }\n        return compiledTemplate;\n    };\n    /**\n     * @param {?} dirType\n     * @return {?}\n     */\n    JitCompiler.prototype._assertDirectiveWrapper = function (dirType) {\n        var /** @type {?} */ dirWrapper = this._compiledDirectiveWrapperCache.get(dirType);\n        if (!dirWrapper) {\n            throw new Error(\"Illegal state: Directive wrapper for \" + stringify(dirType) + \" has not been compiled!\");\n        }\n        return dirWrapper;\n    };\n    /**\n     * @param {?} dirMeta\n     * @param {?} moduleMeta\n     * @return {?}\n     */\n    JitCompiler.prototype._compileDirectiveWrapper = function (dirMeta, moduleMeta) {\n        var /** @type {?} */ compileResult = this._directiveWrapperCompiler.compile(dirMeta);\n        var /** @type {?} */ statements = compileResult.statements;\n        var /** @type {?} */ directiveWrapperClass;\n        if (!this._compilerConfig.useJit) {\n            directiveWrapperClass = interpretStatements(statements, compileResult.dirWrapperClassVar);\n        }\n        else {\n            directiveWrapperClass = jitStatements(\"/\" + identifierName(moduleMeta.type) + \"/\" + identifierName(dirMeta.type) + \"/wrapper.ngfactory.js\", statements, compileResult.dirWrapperClassVar);\n        }\n        this._compiledDirectiveWrapperCache.set(dirMeta.type.reference, directiveWrapperClass);\n    };\n    /**\n     * @param {?} template\n     * @return {?}\n     */\n    JitCompiler.prototype._compileTemplate = function (template) {\n        var _this = this;\n        if (template.isCompiled) {\n            return;\n        }\n        var /** @type {?} */ compMeta = template.compMeta;\n        var /** @type {?} */ externalStylesheetsByModuleUrl = new Map();\n        var /** @type {?} */ stylesCompileResult = this._styleCompiler.compileComponent(compMeta);\n        stylesCompileResult.externalStylesheets.forEach(function (r) { externalStylesheetsByModuleUrl.set(r.meta.moduleUrl, r); });\n        this._resolveStylesCompileResult(stylesCompileResult.componentStylesheet, externalStylesheetsByModuleUrl);\n        var /** @type {?} */ parsedAnimations = this._animationParser.parseComponent(compMeta);\n        var /** @type {?} */ directives = template.directives.map(function (dir) { return _this._metadataResolver.getDirectiveSummary(dir.reference); });\n        var /** @type {?} */ pipes = template.ngModule.transitiveModule.pipes.map(function (pipe) { return _this._metadataResolver.getPipeSummary(pipe.reference); });\n        var /** @type {?} */ parsedTemplate = this._templateParser.parse(compMeta, compMeta.template.template, directives, pipes, template.ngModule.schemas, identifierName(compMeta.type));\n        var /** @type {?} */ compiledAnimations = this._animationCompiler.compile(identifierName(compMeta.type), parsedAnimations);\n        var /** @type {?} */ compileResult = this._viewCompiler.compileComponent(compMeta, parsedTemplate, ir.variable(stylesCompileResult.componentStylesheet.stylesVar), pipes, compiledAnimations);\n        compileResult.dependencies.forEach(function (dep) {\n            var /** @type {?} */ depTemplate;\n            if (dep instanceof ViewClassDependency) {\n                var /** @type {?} */ vfd = (dep);\n                depTemplate = _this._assertComponentKnown(vfd.comp.reference, false);\n                vfd.placeholder.reference = depTemplate.proxyViewClass;\n            }\n            else if (dep instanceof ComponentFactoryDependency) {\n                var /** @type {?} */ cfd = (dep);\n                depTemplate = _this._assertComponentKnown(cfd.comp.reference, true);\n                cfd.placeholder.reference = depTemplate.proxyComponentFactory;\n            }\n            else if (dep instanceof DirectiveWrapperDependency) {\n                var /** @type {?} */ dwd = (dep);\n                dwd.placeholder.reference = _this._assertDirectiveWrapper(dwd.dir.reference);\n            }\n        });\n        var /** @type {?} */ statements = (_a = stylesCompileResult.componentStylesheet.statements).concat.apply(_a, compiledAnimations.map(function (ca) { return ca.statements; }))\n            .concat(compileResult.statements);\n        var /** @type {?} */ viewClass;\n        if (!this._compilerConfig.useJit) {\n            viewClass = interpretStatements(statements, compileResult.viewClassVar);\n        }\n        else {\n            viewClass = jitStatements(\"/\" + identifierName(template.ngModule.type) + \"/\" + identifierName(template.compType) + \"/\" + (template.isHost ? 'host' : 'component') + \".ngfactory.js\", statements, compileResult.viewClassVar);\n        }\n        template.compiled(viewClass);\n        var _a;\n    };\n    /**\n     * @param {?} result\n     * @param {?} externalStylesheetsByModuleUrl\n     * @return {?}\n     */\n    JitCompiler.prototype._resolveStylesCompileResult = function (result, externalStylesheetsByModuleUrl) {\n        var _this = this;\n        result.dependencies.forEach(function (dep, i) {\n            var /** @type {?} */ nestedCompileResult = externalStylesheetsByModuleUrl.get(dep.moduleUrl);\n            var /** @type {?} */ nestedStylesArr = _this._resolveAndEvalStylesCompileResult(nestedCompileResult, externalStylesheetsByModuleUrl);\n            dep.valuePlaceholder.reference = nestedStylesArr;\n        });\n    };\n    /**\n     * @param {?} result\n     * @param {?} externalStylesheetsByModuleUrl\n     * @return {?}\n     */\n    JitCompiler.prototype._resolveAndEvalStylesCompileResult = function (result, externalStylesheetsByModuleUrl) {\n        this._resolveStylesCompileResult(result, externalStylesheetsByModuleUrl);\n        if (!this._compilerConfig.useJit) {\n            return interpretStatements(result.statements, result.stylesVar);\n        }\n        else {\n            return jitStatements(\"/\" + result.meta.moduleUrl + \".ngstyle.js\", result.statements, result.stylesVar);\n        }\n    };\n    JitCompiler = __decorate([\n        CompilerInjectable(), \n        __metadata('design:paramtypes', [Injector, CompileMetadataResolver, TemplateParser, StyleCompiler, ViewCompiler, NgModuleCompiler, DirectiveWrapperCompiler, CompilerConfig, AnimationParser])\n    ], JitCompiler);\n    return JitCompiler;\n}());\nfunction JitCompiler_tsickle_Closure_declarations() {\n    /** @type {?} */\n    JitCompiler.prototype._compiledTemplateCache;\n    /** @type {?} */\n    JitCompiler.prototype._compiledHostTemplateCache;\n    /** @type {?} */\n    JitCompiler.prototype._compiledDirectiveWrapperCache;\n    /** @type {?} */\n    JitCompiler.prototype._compiledNgModuleCache;\n    /** @type {?} */\n    JitCompiler.prototype._animationCompiler;\n    /** @type {?} */\n    JitCompiler.prototype._injector;\n    /** @type {?} */\n    JitCompiler.prototype._metadataResolver;\n    /** @type {?} */\n    JitCompiler.prototype._templateParser;\n    /** @type {?} */\n    JitCompiler.prototype._styleCompiler;\n    /** @type {?} */\n    JitCompiler.prototype._viewCompiler;\n    /** @type {?} */\n    JitCompiler.prototype._ngModuleCompiler;\n    /** @type {?} */\n    JitCompiler.prototype._directiveWrapperCompiler;\n    /** @type {?} */\n    JitCompiler.prototype._compilerConfig;\n    /** @type {?} */\n    JitCompiler.prototype._animationParser;\n}\nvar CompiledTemplate = (function () {\n    /**\n     * @param {?} isHost\n     * @param {?} selector\n     * @param {?} compType\n     * @param {?} compMeta\n     * @param {?} ngModule\n     * @param {?} directives\n     */\n    function CompiledTemplate(isHost, selector, compType, compMeta, ngModule, directives) {\n        this.isHost = isHost;\n        this.compType = compType;\n        this.compMeta = compMeta;\n        this.ngModule = ngModule;\n        this.directives = directives;\n        this._viewClass = null;\n        this.isCompiled = false;\n        var self = this;\n        this.proxyViewClass = function () {\n            if (!self._viewClass) {\n                throw new Error(\"Illegal state: CompiledTemplate for \" + stringify(self.compType) + \" is not compiled yet!\");\n            }\n            return self._viewClass.apply(this, arguments);\n        };\n        this.proxyComponentFactory = isHost ?\n            new ComponentFactory(selector, this.proxyViewClass, compType.reference) :\n            null;\n    }\n    /**\n     * @param {?} viewClass\n     * @return {?}\n     */\n    CompiledTemplate.prototype.compiled = function (viewClass) {\n        this._viewClass = viewClass;\n        this.proxyViewClass.prototype = viewClass.prototype;\n        this.isCompiled = true;\n    };\n    return CompiledTemplate;\n}());\nfunction CompiledTemplate_tsickle_Closure_declarations() {\n    /** @type {?} */\n    CompiledTemplate.prototype._viewClass;\n    /** @type {?} */\n    CompiledTemplate.prototype.proxyViewClass;\n    /** @type {?} */\n    CompiledTemplate.prototype.proxyComponentFactory;\n    /** @type {?} */\n    CompiledTemplate.prototype.isCompiled;\n    /** @type {?} */\n    CompiledTemplate.prototype.isHost;\n    /** @type {?} */\n    CompiledTemplate.prototype.compType;\n    /** @type {?} */\n    CompiledTemplate.prototype.compMeta;\n    /** @type {?} */\n    CompiledTemplate.prototype.ngModule;\n    /** @type {?} */\n    CompiledTemplate.prototype.directives;\n}\n/**\n * @param {?} meta\n * @return {?}\n */\nfunction assertComponent(meta) {\n    if (!meta.isComponent) {\n        throw new Error(\"Could not compile '\" + identifierName(meta.type) + \"' because it is not a component.\");\n    }\n}\n/**\n * Implements `Compiler` by delegating to the JitCompiler using a known module.\n */\nvar ModuleBoundCompiler = (function () {\n    /**\n     * @param {?} _delegate\n     * @param {?} _ngModule\n     */\n    function ModuleBoundCompiler(_delegate, _ngModule) {\n        this._delegate = _delegate;\n        this._ngModule = _ngModule;\n    }\n    Object.defineProperty(ModuleBoundCompiler.prototype, \"_injector\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._delegate.injector; },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @param {?} moduleType\n     * @return {?}\n     */\n    ModuleBoundCompiler.prototype.compileModuleSync = function (moduleType) {\n        return this._delegate.compileModuleSync(moduleType);\n    };\n    /**\n     * @param {?} moduleType\n     * @return {?}\n     */\n    ModuleBoundCompiler.prototype.compileModuleAsync = function (moduleType) {\n        return this._delegate.compileModuleAsync(moduleType);\n    };\n    /**\n     * @param {?} moduleType\n     * @return {?}\n     */\n    ModuleBoundCompiler.prototype.compileModuleAndAllComponentsSync = function (moduleType) {\n        return this._delegate.compileModuleAndAllComponentsSync(moduleType);\n    };\n    /**\n     * @param {?} moduleType\n     * @return {?}\n     */\n    ModuleBoundCompiler.prototype.compileModuleAndAllComponentsAsync = function (moduleType) {\n        return this._delegate.compileModuleAndAllComponentsAsync(moduleType);\n    };\n    /**\n     * @param {?} component\n     * @return {?}\n     */\n    ModuleBoundCompiler.prototype.getNgContentSelectors = function (component) {\n        return this._delegate.getNgContentSelectors(component);\n    };\n    /**\n     * Clears all caches\n     * @return {?}\n     */\n    ModuleBoundCompiler.prototype.clearCache = function () { this._delegate.clearCache(); };\n    /**\n     * Clears the cache for the given component/ngModule.\n     * @param {?} type\n     * @return {?}\n     */\n    ModuleBoundCompiler.prototype.clearCacheFor = function (type) { this._delegate.clearCacheFor(type); };\n    return ModuleBoundCompiler;\n}());\nfunction ModuleBoundCompiler_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ModuleBoundCompiler.prototype._delegate;\n    /** @type {?} */\n    ModuleBoundCompiler.prototype._ngModule;\n}\n//# sourceMappingURL=compiler.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/jit/compiler.js\n// module id = 378\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { Parser } from './parser';\nimport { getXmlTagDefinition } from './xml_tags';\nexport { ParseTreeResult, TreeError } from './parser';\nexport var XmlParser = (function (_super) {\n    __extends(XmlParser, _super);\n    function XmlParser() {\n        _super.call(this, getXmlTagDefinition);\n    }\n    /**\n     * @param {?} source\n     * @param {?} url\n     * @param {?=} parseExpansionForms\n     * @return {?}\n     */\n    XmlParser.prototype.parse = function (source, url, parseExpansionForms) {\n        if (parseExpansionForms === void 0) { parseExpansionForms = false; }\n        return _super.prototype.parse.call(this, source, url, parseExpansionForms, null);\n    };\n    return XmlParser;\n}(Parser));\n//# sourceMappingURL=xml_parser.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/ml_parser/xml_parser.js\n// module id = 379\n// module chunks = 0","/**\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 */\nimport { visitValue } from '../util';\nimport * as o from './output_ast';\nexport var /** @type {?} */ QUOTED_KEYS = '$quoted$';\n/**\n * @param {?} value\n * @param {?=} type\n * @return {?}\n */\nexport function convertValueToOutputAst(value, type) {\n    if (type === void 0) { type = null; }\n    return visitValue(value, new _ValueOutputAstTransformer(), type);\n}\nvar _ValueOutputAstTransformer = (function () {\n    function _ValueOutputAstTransformer() {\n    }\n    /**\n     * @param {?} arr\n     * @param {?} type\n     * @return {?}\n     */\n    _ValueOutputAstTransformer.prototype.visitArray = function (arr, type) {\n        var _this = this;\n        return o.literalArr(arr.map(function (value) { return visitValue(value, _this, null); }), type);\n    };\n    /**\n     * @param {?} map\n     * @param {?} type\n     * @return {?}\n     */\n    _ValueOutputAstTransformer.prototype.visitStringMap = function (map, type) {\n        var _this = this;\n        var /** @type {?} */ entries = [];\n        var /** @type {?} */ quotedSet = new Set(map && map[QUOTED_KEYS]);\n        Object.keys(map).forEach(function (key) {\n            entries.push(new o.LiteralMapEntry(key, visitValue(map[key], _this, null), quotedSet.has(key)));\n        });\n        return new o.LiteralMapExpr(entries, type);\n    };\n    /**\n     * @param {?} value\n     * @param {?} type\n     * @return {?}\n     */\n    _ValueOutputAstTransformer.prototype.visitPrimitive = function (value, type) { return o.literal(value, type); };\n    /**\n     * @param {?} value\n     * @param {?} type\n     * @return {?}\n     */\n    _ValueOutputAstTransformer.prototype.visitOther = function (value, type) {\n        if (value instanceof o.Expression) {\n            return value;\n        }\n        else {\n            return o.importExpr({ reference: value });\n        }\n    };\n    return _ValueOutputAstTransformer;\n}());\n//# sourceMappingURL=value_util.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/output/value_util.js\n// module id = 380\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { tokenName, tokenReference } from './compile_metadata';\nimport { isBlank, isPresent } from './facade/lang';\nimport { Identifiers, resolveIdentifier } from './identifiers';\nimport { ParseError } from './parse_util';\nimport { ProviderAst, ProviderAstType } from './template_parser/template_ast';\nexport var ProviderError = (function (_super) {\n    __extends(ProviderError, _super);\n    /**\n     * @param {?} message\n     * @param {?} span\n     */\n    function ProviderError(message, span) {\n        _super.call(this, span, message);\n    }\n    return ProviderError;\n}(ParseError));\nexport var ProviderViewContext = (function () {\n    /**\n     * @param {?} component\n     * @param {?} sourceSpan\n     */\n    function ProviderViewContext(component, sourceSpan) {\n        var _this = this;\n        this.component = component;\n        this.sourceSpan = sourceSpan;\n        this.errors = [];\n        this.viewQueries = _getViewQueries(component);\n        this.viewProviders = new Map();\n        component.viewProviders.forEach(function (provider) {\n            if (isBlank(_this.viewProviders.get(tokenReference(provider.token)))) {\n                _this.viewProviders.set(tokenReference(provider.token), true);\n            }\n        });\n    }\n    return ProviderViewContext;\n}());\nfunction ProviderViewContext_tsickle_Closure_declarations() {\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    ProviderViewContext.prototype.viewQueries;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    ProviderViewContext.prototype.viewProviders;\n    /** @type {?} */\n    ProviderViewContext.prototype.errors;\n    /** @type {?} */\n    ProviderViewContext.prototype.component;\n    /** @type {?} */\n    ProviderViewContext.prototype.sourceSpan;\n}\nexport var ProviderElementContext = (function () {\n    /**\n     * @param {?} viewContext\n     * @param {?} _parent\n     * @param {?} _isViewRoot\n     * @param {?} _directiveAsts\n     * @param {?} attrs\n     * @param {?} refs\n     * @param {?} _sourceSpan\n     */\n    function ProviderElementContext(viewContext, _parent, _isViewRoot, _directiveAsts, attrs, refs, _sourceSpan) {\n        var _this = this;\n        this.viewContext = viewContext;\n        this._parent = _parent;\n        this._isViewRoot = _isViewRoot;\n        this._directiveAsts = _directiveAsts;\n        this._sourceSpan = _sourceSpan;\n        this._transformedProviders = new Map();\n        this._seenProviders = new Map();\n        this._hasViewContainer = false;\n        this._attrs = {};\n        attrs.forEach(function (attrAst) { return _this._attrs[attrAst.name] = attrAst.value; });\n        var directivesMeta = _directiveAsts.map(function (directiveAst) { return directiveAst.directive; });\n        this._allProviders =\n            _resolveProvidersFromDirectives(directivesMeta, _sourceSpan, viewContext.errors);\n        this._contentQueries = _getContentQueries(directivesMeta);\n        var queriedTokens = new Map();\n        Array.from(this._allProviders.values()).forEach(function (provider) {\n            _this._addQueryReadsTo(provider.token, queriedTokens);\n        });\n        refs.forEach(function (refAst) { _this._addQueryReadsTo({ value: refAst.name }, queriedTokens); });\n        if (isPresent(queriedTokens.get(resolveIdentifier(Identifiers.ViewContainerRef)))) {\n            this._hasViewContainer = true;\n        }\n        // create the providers that we know are eager first\n        Array.from(this._allProviders.values()).forEach(function (provider) {\n            var eager = provider.eager || isPresent(queriedTokens.get(tokenReference(provider.token)));\n            if (eager) {\n                _this._getOrCreateLocalProvider(provider.providerType, provider.token, true);\n            }\n        });\n    }\n    /**\n     * @return {?}\n     */\n    ProviderElementContext.prototype.afterElement = function () {\n        var _this = this;\n        // collect lazy providers\n        Array.from(this._allProviders.values()).forEach(function (provider) {\n            _this._getOrCreateLocalProvider(provider.providerType, provider.token, false);\n        });\n    };\n    Object.defineProperty(ProviderElementContext.prototype, \"transformProviders\", {\n        /**\n         * @return {?}\n         */\n        get: function () {\n            return Array.from(this._transformedProviders.values());\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(ProviderElementContext.prototype, \"transformedDirectiveAsts\", {\n        /**\n         * @return {?}\n         */\n        get: function () {\n            var /** @type {?} */ sortedProviderTypes = this.transformProviders.map(function (provider) { return provider.token.identifier; });\n            var /** @type {?} */ sortedDirectives = this._directiveAsts.slice();\n            sortedDirectives.sort(function (dir1, dir2) { return sortedProviderTypes.indexOf(dir1.directive.type) -\n                sortedProviderTypes.indexOf(dir2.directive.type); });\n            return sortedDirectives;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(ProviderElementContext.prototype, \"transformedHasViewContainer\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._hasViewContainer; },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @param {?} token\n     * @param {?} queryReadTokens\n     * @return {?}\n     */\n    ProviderElementContext.prototype._addQueryReadsTo = function (token, queryReadTokens) {\n        this._getQueriesFor(token).forEach(function (query) {\n            var /** @type {?} */ queryReadToken = query.read || token;\n            if (isBlank(queryReadTokens.get(tokenReference(queryReadToken)))) {\n                queryReadTokens.set(tokenReference(queryReadToken), true);\n            }\n        });\n    };\n    /**\n     * @param {?} token\n     * @return {?}\n     */\n    ProviderElementContext.prototype._getQueriesFor = function (token) {\n        var /** @type {?} */ result = [];\n        var /** @type {?} */ currentEl = this;\n        var /** @type {?} */ distance = 0;\n        var /** @type {?} */ queries;\n        while (currentEl !== null) {\n            queries = currentEl._contentQueries.get(tokenReference(token));\n            if (queries) {\n                result.push.apply(result, queries.filter(function (query) { return query.descendants || distance <= 1; }));\n            }\n            if (currentEl._directiveAsts.length > 0) {\n                distance++;\n            }\n            currentEl = currentEl._parent;\n        }\n        queries = this.viewContext.viewQueries.get(tokenReference(token));\n        if (queries) {\n            result.push.apply(result, queries);\n        }\n        return result;\n    };\n    /**\n     * @param {?} requestingProviderType\n     * @param {?} token\n     * @param {?} eager\n     * @return {?}\n     */\n    ProviderElementContext.prototype._getOrCreateLocalProvider = function (requestingProviderType, token, eager) {\n        var _this = this;\n        var /** @type {?} */ resolvedProvider = this._allProviders.get(tokenReference(token));\n        if (!resolvedProvider || ((requestingProviderType === ProviderAstType.Directive ||\n            requestingProviderType === ProviderAstType.PublicService) &&\n            resolvedProvider.providerType === ProviderAstType.PrivateService) ||\n            ((requestingProviderType === ProviderAstType.PrivateService ||\n                requestingProviderType === ProviderAstType.PublicService) &&\n                resolvedProvider.providerType === ProviderAstType.Builtin)) {\n            return null;\n        }\n        var /** @type {?} */ transformedProviderAst = this._transformedProviders.get(tokenReference(token));\n        if (transformedProviderAst) {\n            return transformedProviderAst;\n        }\n        if (isPresent(this._seenProviders.get(tokenReference(token)))) {\n            this.viewContext.errors.push(new ProviderError(\"Cannot instantiate cyclic dependency! \" + tokenName(token), this._sourceSpan));\n            return null;\n        }\n        this._seenProviders.set(tokenReference(token), true);\n        var /** @type {?} */ transformedProviders = resolvedProvider.providers.map(function (provider) {\n            var /** @type {?} */ transformedUseValue = provider.useValue;\n            var /** @type {?} */ transformedUseExisting = provider.useExisting;\n            var /** @type {?} */ transformedDeps;\n            if (isPresent(provider.useExisting)) {\n                var /** @type {?} */ existingDiDep = _this._getDependency(resolvedProvider.providerType, { token: provider.useExisting }, eager);\n                if (isPresent(existingDiDep.token)) {\n                    transformedUseExisting = existingDiDep.token;\n                }\n                else {\n                    transformedUseExisting = null;\n                    transformedUseValue = existingDiDep.value;\n                }\n            }\n            else if (provider.useFactory) {\n                var /** @type {?} */ deps = provider.deps || provider.useFactory.diDeps;\n                transformedDeps =\n                    deps.map(function (dep) { return _this._getDependency(resolvedProvider.providerType, dep, eager); });\n            }\n            else if (provider.useClass) {\n                var /** @type {?} */ deps = provider.deps || provider.useClass.diDeps;\n                transformedDeps =\n                    deps.map(function (dep) { return _this._getDependency(resolvedProvider.providerType, dep, eager); });\n            }\n            return _transformProvider(provider, {\n                useExisting: transformedUseExisting,\n                useValue: transformedUseValue,\n                deps: transformedDeps\n            });\n        });\n        transformedProviderAst =\n            _transformProviderAst(resolvedProvider, { eager: eager, providers: transformedProviders });\n        this._transformedProviders.set(tokenReference(token), transformedProviderAst);\n        return transformedProviderAst;\n    };\n    /**\n     * @param {?} requestingProviderType\n     * @param {?} dep\n     * @param {?=} eager\n     * @return {?}\n     */\n    ProviderElementContext.prototype._getLocalDependency = function (requestingProviderType, dep, eager) {\n        if (eager === void 0) { eager = null; }\n        if (dep.isAttribute) {\n            var /** @type {?} */ attrValue = this._attrs[dep.token.value];\n            return { isValue: true, value: attrValue == null ? null : attrValue };\n        }\n        if (isPresent(dep.token)) {\n            // access builtints\n            if ((requestingProviderType === ProviderAstType.Directive ||\n                requestingProviderType === ProviderAstType.Component)) {\n                if (tokenReference(dep.token) === resolveIdentifier(Identifiers.Renderer) ||\n                    tokenReference(dep.token) === resolveIdentifier(Identifiers.ElementRef) ||\n                    tokenReference(dep.token) === resolveIdentifier(Identifiers.ChangeDetectorRef) ||\n                    tokenReference(dep.token) === resolveIdentifier(Identifiers.TemplateRef)) {\n                    return dep;\n                }\n                if (tokenReference(dep.token) === resolveIdentifier(Identifiers.ViewContainerRef)) {\n                    this._hasViewContainer = true;\n                }\n            }\n            // access the injector\n            if (tokenReference(dep.token) === resolveIdentifier(Identifiers.Injector)) {\n                return dep;\n            }\n            // access providers\n            if (isPresent(this._getOrCreateLocalProvider(requestingProviderType, dep.token, eager))) {\n                return dep;\n            }\n        }\n        return null;\n    };\n    /**\n     * @param {?} requestingProviderType\n     * @param {?} dep\n     * @param {?=} eager\n     * @return {?}\n     */\n    ProviderElementContext.prototype._getDependency = function (requestingProviderType, dep, eager) {\n        if (eager === void 0) { eager = null; }\n        var /** @type {?} */ currElement = this;\n        var /** @type {?} */ currEager = eager;\n        var /** @type {?} */ result = null;\n        if (!dep.isSkipSelf) {\n            result = this._getLocalDependency(requestingProviderType, dep, eager);\n        }\n        if (dep.isSelf) {\n            if (!result && dep.isOptional) {\n                result = { isValue: true, value: null };\n            }\n        }\n        else {\n            // check parent elements\n            while (!result && currElement._parent) {\n                var /** @type {?} */ prevElement = currElement;\n                currElement = currElement._parent;\n                if (prevElement._isViewRoot) {\n                    currEager = false;\n                }\n                result = currElement._getLocalDependency(ProviderAstType.PublicService, dep, currEager);\n            }\n            // check @Host restriction\n            if (!result) {\n                if (!dep.isHost || this.viewContext.component.isHost ||\n                    this.viewContext.component.type.reference === tokenReference(dep.token) ||\n                    isPresent(this.viewContext.viewProviders.get(tokenReference(dep.token)))) {\n                    result = dep;\n                }\n                else {\n                    result = dep.isOptional ? result = { isValue: true, value: null } : null;\n                }\n            }\n        }\n        if (!result) {\n            this.viewContext.errors.push(new ProviderError(\"No provider for \" + tokenName(dep.token), this._sourceSpan));\n        }\n        return result;\n    };\n    return ProviderElementContext;\n}());\nfunction ProviderElementContext_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ProviderElementContext.prototype._contentQueries;\n    /** @type {?} */\n    ProviderElementContext.prototype._transformedProviders;\n    /** @type {?} */\n    ProviderElementContext.prototype._seenProviders;\n    /** @type {?} */\n    ProviderElementContext.prototype._allProviders;\n    /** @type {?} */\n    ProviderElementContext.prototype._attrs;\n    /** @type {?} */\n    ProviderElementContext.prototype._hasViewContainer;\n    /** @type {?} */\n    ProviderElementContext.prototype.viewContext;\n    /** @type {?} */\n    ProviderElementContext.prototype._parent;\n    /** @type {?} */\n    ProviderElementContext.prototype._isViewRoot;\n    /** @type {?} */\n    ProviderElementContext.prototype._directiveAsts;\n    /** @type {?} */\n    ProviderElementContext.prototype._sourceSpan;\n}\nexport var NgModuleProviderAnalyzer = (function () {\n    /**\n     * @param {?} ngModule\n     * @param {?} extraProviders\n     * @param {?} sourceSpan\n     */\n    function NgModuleProviderAnalyzer(ngModule, extraProviders, sourceSpan) {\n        var _this = this;\n        this._transformedProviders = new Map();\n        this._seenProviders = new Map();\n        this._errors = [];\n        this._allProviders = new Map();\n        ngModule.transitiveModule.modules.forEach(function (ngModuleType) {\n            var ngModuleProvider = { token: { identifier: ngModuleType }, useClass: ngModuleType };\n            _resolveProviders([ngModuleProvider], ProviderAstType.PublicService, true, sourceSpan, _this._errors, _this._allProviders);\n        });\n        _resolveProviders(ngModule.transitiveModule.providers.map(function (entry) { return entry.provider; }).concat(extraProviders), ProviderAstType.PublicService, false, sourceSpan, this._errors, this._allProviders);\n    }\n    /**\n     * @return {?}\n     */\n    NgModuleProviderAnalyzer.prototype.parse = function () {\n        var _this = this;\n        Array.from(this._allProviders.values()).forEach(function (provider) {\n            _this._getOrCreateLocalProvider(provider.token, provider.eager);\n        });\n        if (this._errors.length > 0) {\n            var /** @type {?} */ errorString = this._errors.join('\\n');\n            throw new Error(\"Provider parse errors:\\n\" + errorString);\n        }\n        return Array.from(this._transformedProviders.values());\n    };\n    /**\n     * @param {?} token\n     * @param {?} eager\n     * @return {?}\n     */\n    NgModuleProviderAnalyzer.prototype._getOrCreateLocalProvider = function (token, eager) {\n        var _this = this;\n        var /** @type {?} */ resolvedProvider = this._allProviders.get(tokenReference(token));\n        if (!resolvedProvider) {\n            return null;\n        }\n        var /** @type {?} */ transformedProviderAst = this._transformedProviders.get(tokenReference(token));\n        if (transformedProviderAst) {\n            return transformedProviderAst;\n        }\n        if (isPresent(this._seenProviders.get(tokenReference(token)))) {\n            this._errors.push(new ProviderError(\"Cannot instantiate cyclic dependency! \" + tokenName(token), resolvedProvider.sourceSpan));\n            return null;\n        }\n        this._seenProviders.set(tokenReference(token), true);\n        var /** @type {?} */ transformedProviders = resolvedProvider.providers.map(function (provider) {\n            var /** @type {?} */ transformedUseValue = provider.useValue;\n            var /** @type {?} */ transformedUseExisting = provider.useExisting;\n            var /** @type {?} */ transformedDeps;\n            if (isPresent(provider.useExisting)) {\n                var /** @type {?} */ existingDiDep = _this._getDependency({ token: provider.useExisting }, eager, resolvedProvider.sourceSpan);\n                if (isPresent(existingDiDep.token)) {\n                    transformedUseExisting = existingDiDep.token;\n                }\n                else {\n                    transformedUseExisting = null;\n                    transformedUseValue = existingDiDep.value;\n                }\n            }\n            else if (provider.useFactory) {\n                var /** @type {?} */ deps = provider.deps || provider.useFactory.diDeps;\n                transformedDeps =\n                    deps.map(function (dep) { return _this._getDependency(dep, eager, resolvedProvider.sourceSpan); });\n            }\n            else if (provider.useClass) {\n                var /** @type {?} */ deps = provider.deps || provider.useClass.diDeps;\n                transformedDeps =\n                    deps.map(function (dep) { return _this._getDependency(dep, eager, resolvedProvider.sourceSpan); });\n            }\n            return _transformProvider(provider, {\n                useExisting: transformedUseExisting,\n                useValue: transformedUseValue,\n                deps: transformedDeps\n            });\n        });\n        transformedProviderAst =\n            _transformProviderAst(resolvedProvider, { eager: eager, providers: transformedProviders });\n        this._transformedProviders.set(tokenReference(token), transformedProviderAst);\n        return transformedProviderAst;\n    };\n    /**\n     * @param {?} dep\n     * @param {?=} eager\n     * @param {?} requestorSourceSpan\n     * @return {?}\n     */\n    NgModuleProviderAnalyzer.prototype._getDependency = function (dep, eager, requestorSourceSpan) {\n        if (eager === void 0) { eager = null; }\n        var /** @type {?} */ foundLocal = false;\n        if (!dep.isSkipSelf && isPresent(dep.token)) {\n            // access the injector\n            if (tokenReference(dep.token) === resolveIdentifier(Identifiers.Injector) ||\n                tokenReference(dep.token) === resolveIdentifier(Identifiers.ComponentFactoryResolver)) {\n                foundLocal = true;\n            }\n            else if (isPresent(this._getOrCreateLocalProvider(dep.token, eager))) {\n                foundLocal = true;\n            }\n        }\n        var /** @type {?} */ result = dep;\n        if (dep.isSelf && !foundLocal) {\n            if (dep.isOptional) {\n                result = { isValue: true, value: null };\n            }\n            else {\n                this._errors.push(new ProviderError(\"No provider for \" + tokenName(dep.token), requestorSourceSpan));\n            }\n        }\n        return result;\n    };\n    return NgModuleProviderAnalyzer;\n}());\nfunction NgModuleProviderAnalyzer_tsickle_Closure_declarations() {\n    /** @type {?} */\n    NgModuleProviderAnalyzer.prototype._transformedProviders;\n    /** @type {?} */\n    NgModuleProviderAnalyzer.prototype._seenProviders;\n    /** @type {?} */\n    NgModuleProviderAnalyzer.prototype._allProviders;\n    /** @type {?} */\n    NgModuleProviderAnalyzer.prototype._errors;\n}\n/**\n * @param {?} provider\n * @param {?} __1\n * @return {?}\n */\nfunction _transformProvider(provider, _a) {\n    var useExisting = _a.useExisting, useValue = _a.useValue, deps = _a.deps;\n    return {\n        token: provider.token,\n        useClass: provider.useClass,\n        useExisting: useExisting,\n        useFactory: provider.useFactory,\n        useValue: useValue,\n        deps: deps,\n        multi: provider.multi\n    };\n}\n/**\n * @param {?} provider\n * @param {?} __1\n * @return {?}\n */\nfunction _transformProviderAst(provider, _a) {\n    var eager = _a.eager, providers = _a.providers;\n    return new ProviderAst(provider.token, provider.multiProvider, provider.eager || eager, providers, provider.providerType, provider.lifecycleHooks, provider.sourceSpan);\n}\n/**\n * @param {?} directives\n * @param {?} sourceSpan\n * @param {?} targetErrors\n * @return {?}\n */\nfunction _resolveProvidersFromDirectives(directives, sourceSpan, targetErrors) {\n    var /** @type {?} */ providersByToken = new Map();\n    directives.forEach(function (directive) {\n        var /** @type {?} */ dirProvider = { token: { identifier: directive.type }, useClass: directive.type };\n        _resolveProviders([dirProvider], directive.isComponent ? ProviderAstType.Component : ProviderAstType.Directive, true, sourceSpan, targetErrors, providersByToken);\n    });\n    // Note: directives need to be able to overwrite providers of a component!\n    var /** @type {?} */ directivesWithComponentFirst = directives.filter(function (dir) { return dir.isComponent; }).concat(directives.filter(function (dir) { return !dir.isComponent; }));\n    directivesWithComponentFirst.forEach(function (directive) {\n        _resolveProviders(directive.providers, ProviderAstType.PublicService, false, sourceSpan, targetErrors, providersByToken);\n        _resolveProviders(directive.viewProviders, ProviderAstType.PrivateService, false, sourceSpan, targetErrors, providersByToken);\n    });\n    return providersByToken;\n}\n/**\n * @param {?} providers\n * @param {?} providerType\n * @param {?} eager\n * @param {?} sourceSpan\n * @param {?} targetErrors\n * @param {?} targetProvidersByToken\n * @return {?}\n */\nfunction _resolveProviders(providers, providerType, eager, sourceSpan, targetErrors, targetProvidersByToken) {\n    providers.forEach(function (provider) {\n        var /** @type {?} */ resolvedProvider = targetProvidersByToken.get(tokenReference(provider.token));\n        if (isPresent(resolvedProvider) && !!resolvedProvider.multiProvider !== !!provider.multi) {\n            targetErrors.push(new ProviderError(\"Mixing multi and non multi provider is not possible for token \" + tokenName(resolvedProvider.token), sourceSpan));\n        }\n        if (!resolvedProvider) {\n            var /** @type {?} */ lifecycleHooks = provider.token.identifier &&\n                ((provider.token.identifier)).lifecycleHooks ?\n                ((provider.token.identifier)).lifecycleHooks :\n                [];\n            resolvedProvider = new ProviderAst(provider.token, provider.multi, eager || lifecycleHooks.length > 0, [provider], providerType, lifecycleHooks, sourceSpan);\n            targetProvidersByToken.set(tokenReference(provider.token), resolvedProvider);\n        }\n        else {\n            if (!provider.multi) {\n                resolvedProvider.providers.length = 0;\n            }\n            resolvedProvider.providers.push(provider);\n        }\n    });\n}\n/**\n * @param {?} component\n * @return {?}\n */\nfunction _getViewQueries(component) {\n    var /** @type {?} */ viewQueries = new Map();\n    if (component.viewQueries) {\n        component.viewQueries.forEach(function (query) { return _addQueryToTokenMap(viewQueries, query); });\n    }\n    return viewQueries;\n}\n/**\n * @param {?} directives\n * @return {?}\n */\nfunction _getContentQueries(directives) {\n    var /** @type {?} */ contentQueries = new Map();\n    directives.forEach(function (directive) {\n        if (directive.queries) {\n            directive.queries.forEach(function (query) { return _addQueryToTokenMap(contentQueries, query); });\n        }\n    });\n    return contentQueries;\n}\n/**\n * @param {?} map\n * @param {?} query\n * @return {?}\n */\nfunction _addQueryToTokenMap(map, query) {\n    query.selectors.forEach(function (token) {\n        var /** @type {?} */ entry = map.get(tokenReference(token));\n        if (!entry) {\n            entry = [];\n            map.set(tokenReference(token), entry);\n        }\n        entry.push(query);\n    });\n}\n//# sourceMappingURL=provider_analyzer.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/provider_analyzer.js\n// module id = 381\n// module chunks = 0","/**\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 */\nexport var StyleWithImports = (function () {\n    /**\n     * @param {?} style\n     * @param {?} styleUrls\n     */\n    function StyleWithImports(style, styleUrls) {\n        this.style = style;\n        this.styleUrls = styleUrls;\n    }\n    return StyleWithImports;\n}());\nfunction StyleWithImports_tsickle_Closure_declarations() {\n    /** @type {?} */\n    StyleWithImports.prototype.style;\n    /** @type {?} */\n    StyleWithImports.prototype.styleUrls;\n}\n/**\n * @param {?} url\n * @return {?}\n */\nexport function isStyleUrlResolvable(url) {\n    if (url == null || url.length === 0 || url[0] == '/')\n        return false;\n    var /** @type {?} */ schemeMatch = url.match(URL_WITH_SCHEMA_REGEXP);\n    return schemeMatch === null || schemeMatch[1] == 'package' || schemeMatch[1] == 'asset';\n}\n/**\n * Rewrites stylesheets by resolving and removing the \\@import urls that\n * are either relative or don't have a `package:` scheme\n * @param {?} resolver\n * @param {?} baseUrl\n * @param {?} cssText\n * @return {?}\n */\nexport function extractStyleUrls(resolver, baseUrl, cssText) {\n    var /** @type {?} */ foundUrls = [];\n    var /** @type {?} */ modifiedCssText = cssText.replace(CSS_COMMENT_REGEXP, '').replace(CSS_IMPORT_REGEXP, function () {\n        var m = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            m[_i - 0] = arguments[_i];\n        }\n        var /** @type {?} */ url = m[1] || m[2];\n        if (!isStyleUrlResolvable(url)) {\n            // Do not attempt to resolve non-package absolute URLs with URI scheme\n            return m[0];\n        }\n        foundUrls.push(resolver.resolve(baseUrl, url));\n        return '';\n    });\n    return new StyleWithImports(modifiedCssText, foundUrls);\n}\nvar /** @type {?} */ CSS_IMPORT_REGEXP = /@import\\s+(?:url\\()?\\s*(?:(?:['\"]([^'\"]*))|([^;\\)\\s]*))[^;]*;?/g;\nvar /** @type {?} */ CSS_COMMENT_REGEXP = /\\/\\*.+?\\*\\//g;\nvar /** @type {?} */ URL_WITH_SCHEMA_REGEXP = /^([^:/?#]+):/;\n//# sourceMappingURL=style_url_resolver.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/style_url_resolver.js\n// module id = 382\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { SecurityContext } from '@angular/core';\nimport { EmptyExpr, RecursiveAstVisitor } from '../expression_parser/ast';\nimport { mergeNsAndName } from '../ml_parser/tags';\nimport { ParseError, ParseErrorLevel, ParseSourceSpan } from '../parse_util';\nimport { CssSelector } from '../selector';\nimport { splitAtColon, splitAtPeriod } from '../util';\nimport { BoundElementPropertyAst, BoundEventAst, PropertyBindingType, VariableAst } from './template_ast';\nvar /** @type {?} */ PROPERTY_PARTS_SEPARATOR = '.';\nvar /** @type {?} */ ATTRIBUTE_PREFIX = 'attr';\nvar /** @type {?} */ CLASS_PREFIX = 'class';\nvar /** @type {?} */ STYLE_PREFIX = 'style';\nvar /** @type {?} */ ANIMATE_PROP_PREFIX = 'animate-';\nexport var BoundPropertyType = {};\nBoundPropertyType.DEFAULT = 0;\nBoundPropertyType.LITERAL_ATTR = 1;\nBoundPropertyType.ANIMATION = 2;\nBoundPropertyType[BoundPropertyType.DEFAULT] = \"DEFAULT\";\nBoundPropertyType[BoundPropertyType.LITERAL_ATTR] = \"LITERAL_ATTR\";\nBoundPropertyType[BoundPropertyType.ANIMATION] = \"ANIMATION\";\n/**\n * Represents a parsed property.\n */\nexport var BoundProperty = (function () {\n    /**\n     * @param {?} name\n     * @param {?} expression\n     * @param {?} type\n     * @param {?} sourceSpan\n     */\n    function BoundProperty(name, expression, type, sourceSpan) {\n        this.name = name;\n        this.expression = expression;\n        this.type = type;\n        this.sourceSpan = sourceSpan;\n    }\n    Object.defineProperty(BoundProperty.prototype, \"isLiteral\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this.type === BoundPropertyType.LITERAL_ATTR; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(BoundProperty.prototype, \"isAnimation\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this.type === BoundPropertyType.ANIMATION; },\n        enumerable: true,\n        configurable: true\n    });\n    return BoundProperty;\n}());\nfunction BoundProperty_tsickle_Closure_declarations() {\n    /** @type {?} */\n    BoundProperty.prototype.name;\n    /** @type {?} */\n    BoundProperty.prototype.expression;\n    /** @type {?} */\n    BoundProperty.prototype.type;\n    /** @type {?} */\n    BoundProperty.prototype.sourceSpan;\n}\n/**\n * Parses bindings in templates and in the directive host area.\n */\nexport var BindingParser = (function () {\n    /**\n     * @param {?} _exprParser\n     * @param {?} _interpolationConfig\n     * @param {?} _schemaRegistry\n     * @param {?} pipes\n     * @param {?} _targetErrors\n     */\n    function BindingParser(_exprParser, _interpolationConfig, _schemaRegistry, pipes, _targetErrors) {\n        var _this = this;\n        this._exprParser = _exprParser;\n        this._interpolationConfig = _interpolationConfig;\n        this._schemaRegistry = _schemaRegistry;\n        this._targetErrors = _targetErrors;\n        this.pipesByName = new Map();\n        pipes.forEach(function (pipe) { return _this.pipesByName.set(pipe.name, pipe); });\n    }\n    /**\n     * @param {?} dirMeta\n     * @param {?} sourceSpan\n     * @return {?}\n     */\n    BindingParser.prototype.createDirectiveHostPropertyAsts = function (dirMeta, sourceSpan) {\n        var _this = this;\n        if (dirMeta.hostProperties) {\n            var /** @type {?} */ boundProps_1 = [];\n            Object.keys(dirMeta.hostProperties).forEach(function (propName) {\n                var /** @type {?} */ expression = dirMeta.hostProperties[propName];\n                if (typeof expression === 'string') {\n                    _this.parsePropertyBinding(propName, expression, true, sourceSpan, [], boundProps_1);\n                }\n                else {\n                    _this._reportError(\"Value of the host property binding \\\"\" + propName + \"\\\" needs to be a string representing an expression but got \\\"\" + expression + \"\\\" (\" + typeof expression + \")\", sourceSpan);\n                }\n            });\n            return boundProps_1.map(function (prop) { return _this.createElementPropertyAst(dirMeta.selector, prop); });\n        }\n    };\n    /**\n     * @param {?} dirMeta\n     * @param {?} sourceSpan\n     * @return {?}\n     */\n    BindingParser.prototype.createDirectiveHostEventAsts = function (dirMeta, sourceSpan) {\n        var _this = this;\n        if (dirMeta.hostListeners) {\n            var /** @type {?} */ targetEventAsts_1 = [];\n            Object.keys(dirMeta.hostListeners).forEach(function (propName) {\n                var /** @type {?} */ expression = dirMeta.hostListeners[propName];\n                if (typeof expression === 'string') {\n                    _this.parseEvent(propName, expression, sourceSpan, [], targetEventAsts_1);\n                }\n                else {\n                    _this._reportError(\"Value of the host listener \\\"\" + propName + \"\\\" needs to be a string representing an expression but got \\\"\" + expression + \"\\\" (\" + typeof expression + \")\", sourceSpan);\n                }\n            });\n            return targetEventAsts_1;\n        }\n    };\n    /**\n     * @param {?} value\n     * @param {?} sourceSpan\n     * @return {?}\n     */\n    BindingParser.prototype.parseInterpolation = function (value, sourceSpan) {\n        var /** @type {?} */ sourceInfo = sourceSpan.start.toString();\n        try {\n            var /** @type {?} */ ast = this._exprParser.parseInterpolation(value, sourceInfo, this._interpolationConfig);\n            if (ast)\n                this._reportExpressionParserErrors(ast.errors, sourceSpan);\n            this._checkPipes(ast, sourceSpan);\n            return ast;\n        }\n        catch (e) {\n            this._reportError(\"\" + e, sourceSpan);\n            return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo);\n        }\n    };\n    /**\n     * @param {?} prefixToken\n     * @param {?} value\n     * @param {?} sourceSpan\n     * @param {?} targetMatchableAttrs\n     * @param {?} targetProps\n     * @param {?} targetVars\n     * @return {?}\n     */\n    BindingParser.prototype.parseInlineTemplateBinding = function (prefixToken, value, sourceSpan, targetMatchableAttrs, targetProps, targetVars) {\n        var /** @type {?} */ bindings = this._parseTemplateBindings(prefixToken, value, sourceSpan);\n        for (var /** @type {?} */ i = 0; i < bindings.length; i++) {\n            var /** @type {?} */ binding = bindings[i];\n            if (binding.keyIsVar) {\n                targetVars.push(new VariableAst(binding.key, binding.name, sourceSpan));\n            }\n            else if (binding.expression) {\n                this._parsePropertyAst(binding.key, binding.expression, sourceSpan, targetMatchableAttrs, targetProps);\n            }\n            else {\n                targetMatchableAttrs.push([binding.key, '']);\n                this.parseLiteralAttr(binding.key, null, sourceSpan, targetMatchableAttrs, targetProps);\n            }\n        }\n    };\n    /**\n     * @param {?} prefixToken\n     * @param {?} value\n     * @param {?} sourceSpan\n     * @return {?}\n     */\n    BindingParser.prototype._parseTemplateBindings = function (prefixToken, value, sourceSpan) {\n        var _this = this;\n        var /** @type {?} */ sourceInfo = sourceSpan.start.toString();\n        try {\n            var /** @type {?} */ bindingsResult = this._exprParser.parseTemplateBindings(prefixToken, value, sourceInfo);\n            this._reportExpressionParserErrors(bindingsResult.errors, sourceSpan);\n            bindingsResult.templateBindings.forEach(function (binding) {\n                if (binding.expression) {\n                    _this._checkPipes(binding.expression, sourceSpan);\n                }\n            });\n            bindingsResult.warnings.forEach(function (warning) { _this._reportError(warning, sourceSpan, ParseErrorLevel.WARNING); });\n            return bindingsResult.templateBindings;\n        }\n        catch (e) {\n            this._reportError(\"\" + e, sourceSpan);\n            return [];\n        }\n    };\n    /**\n     * @param {?} name\n     * @param {?} value\n     * @param {?} sourceSpan\n     * @param {?} targetMatchableAttrs\n     * @param {?} targetProps\n     * @return {?}\n     */\n    BindingParser.prototype.parseLiteralAttr = function (name, value, sourceSpan, targetMatchableAttrs, targetProps) {\n        if (_isAnimationLabel(name)) {\n            name = name.substring(1);\n            if (value) {\n                this._reportError(\"Assigning animation triggers via @prop=\\\"exp\\\" attributes with an expression is invalid.\" +\n                    \" Use property bindings (e.g. [@prop]=\\\"exp\\\") or use an attribute without a value (e.g. @prop) instead.\", sourceSpan, ParseErrorLevel.FATAL);\n            }\n            this._parseAnimation(name, value, sourceSpan, targetMatchableAttrs, targetProps);\n        }\n        else {\n            targetProps.push(new BoundProperty(name, this._exprParser.wrapLiteralPrimitive(value, ''), BoundPropertyType.LITERAL_ATTR, sourceSpan));\n        }\n    };\n    /**\n     * @param {?} name\n     * @param {?} expression\n     * @param {?} isHost\n     * @param {?} sourceSpan\n     * @param {?} targetMatchableAttrs\n     * @param {?} targetProps\n     * @return {?}\n     */\n    BindingParser.prototype.parsePropertyBinding = function (name, expression, isHost, sourceSpan, targetMatchableAttrs, targetProps) {\n        var /** @type {?} */ isAnimationProp = false;\n        if (name.startsWith(ANIMATE_PROP_PREFIX)) {\n            isAnimationProp = true;\n            name = name.substring(ANIMATE_PROP_PREFIX.length);\n        }\n        else if (_isAnimationLabel(name)) {\n            isAnimationProp = true;\n            name = name.substring(1);\n        }\n        if (isAnimationProp) {\n            this._parseAnimation(name, expression, sourceSpan, targetMatchableAttrs, targetProps);\n        }\n        else {\n            this._parsePropertyAst(name, this._parseBinding(expression, isHost, sourceSpan), sourceSpan, targetMatchableAttrs, targetProps);\n        }\n    };\n    /**\n     * @param {?} name\n     * @param {?} value\n     * @param {?} sourceSpan\n     * @param {?} targetMatchableAttrs\n     * @param {?} targetProps\n     * @return {?}\n     */\n    BindingParser.prototype.parsePropertyInterpolation = function (name, value, sourceSpan, targetMatchableAttrs, targetProps) {\n        var /** @type {?} */ expr = this.parseInterpolation(value, sourceSpan);\n        if (expr) {\n            this._parsePropertyAst(name, expr, sourceSpan, targetMatchableAttrs, targetProps);\n            return true;\n        }\n        return false;\n    };\n    /**\n     * @param {?} name\n     * @param {?} ast\n     * @param {?} sourceSpan\n     * @param {?} targetMatchableAttrs\n     * @param {?} targetProps\n     * @return {?}\n     */\n    BindingParser.prototype._parsePropertyAst = function (name, ast, sourceSpan, targetMatchableAttrs, targetProps) {\n        targetMatchableAttrs.push([name, ast.source]);\n        targetProps.push(new BoundProperty(name, ast, BoundPropertyType.DEFAULT, sourceSpan));\n    };\n    /**\n     * @param {?} name\n     * @param {?} expression\n     * @param {?} sourceSpan\n     * @param {?} targetMatchableAttrs\n     * @param {?} targetProps\n     * @return {?}\n     */\n    BindingParser.prototype._parseAnimation = function (name, expression, sourceSpan, targetMatchableAttrs, targetProps) {\n        // This will occur when a @trigger is not paired with an expression.\n        // For animations it is valid to not have an expression since */void\n        // states will be applied by angular when the element is attached/detached\n        var /** @type {?} */ ast = this._parseBinding(expression || 'null', false, sourceSpan);\n        targetMatchableAttrs.push([name, ast.source]);\n        targetProps.push(new BoundProperty(name, ast, BoundPropertyType.ANIMATION, sourceSpan));\n    };\n    /**\n     * @param {?} value\n     * @param {?} isHostBinding\n     * @param {?} sourceSpan\n     * @return {?}\n     */\n    BindingParser.prototype._parseBinding = function (value, isHostBinding, sourceSpan) {\n        var /** @type {?} */ sourceInfo = sourceSpan.start.toString();\n        try {\n            var /** @type {?} */ ast = isHostBinding ?\n                this._exprParser.parseSimpleBinding(value, sourceInfo, this._interpolationConfig) :\n                this._exprParser.parseBinding(value, sourceInfo, this._interpolationConfig);\n            if (ast)\n                this._reportExpressionParserErrors(ast.errors, sourceSpan);\n            this._checkPipes(ast, sourceSpan);\n            return ast;\n        }\n        catch (e) {\n            this._reportError(\"\" + e, sourceSpan);\n            return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo);\n        }\n    };\n    /**\n     * @param {?} elementSelector\n     * @param {?} boundProp\n     * @return {?}\n     */\n    BindingParser.prototype.createElementPropertyAst = function (elementSelector, boundProp) {\n        if (boundProp.isAnimation) {\n            return new BoundElementPropertyAst(boundProp.name, PropertyBindingType.Animation, SecurityContext.NONE, false, boundProp.expression, null, boundProp.sourceSpan);\n        }\n        var /** @type {?} */ unit = null;\n        var /** @type {?} */ bindingType;\n        var /** @type {?} */ boundPropertyName = null;\n        var /** @type {?} */ parts = boundProp.name.split(PROPERTY_PARTS_SEPARATOR);\n        var /** @type {?} */ securityContexts;\n        // Check check for special cases (prefix style, attr, class)\n        if (parts.length > 1) {\n            if (parts[0] == ATTRIBUTE_PREFIX) {\n                boundPropertyName = parts[1];\n                this._validatePropertyOrAttributeName(boundPropertyName, boundProp.sourceSpan, true);\n                securityContexts = calcPossibleSecurityContexts(this._schemaRegistry, elementSelector, boundPropertyName, true);\n                var /** @type {?} */ nsSeparatorIdx = boundPropertyName.indexOf(':');\n                if (nsSeparatorIdx > -1) {\n                    var /** @type {?} */ ns = boundPropertyName.substring(0, nsSeparatorIdx);\n                    var /** @type {?} */ name_1 = boundPropertyName.substring(nsSeparatorIdx + 1);\n                    boundPropertyName = mergeNsAndName(ns, name_1);\n                }\n                bindingType = PropertyBindingType.Attribute;\n            }\n            else if (parts[0] == CLASS_PREFIX) {\n                boundPropertyName = parts[1];\n                bindingType = PropertyBindingType.Class;\n                securityContexts = [SecurityContext.NONE];\n            }\n            else if (parts[0] == STYLE_PREFIX) {\n                unit = parts.length > 2 ? parts[2] : null;\n                boundPropertyName = parts[1];\n                bindingType = PropertyBindingType.Style;\n                securityContexts = [SecurityContext.STYLE];\n            }\n        }\n        // If not a special case, use the full property name\n        if (boundPropertyName === null) {\n            boundPropertyName = this._schemaRegistry.getMappedPropName(boundProp.name);\n            securityContexts = calcPossibleSecurityContexts(this._schemaRegistry, elementSelector, boundPropertyName, false);\n            bindingType = PropertyBindingType.Property;\n            this._validatePropertyOrAttributeName(boundPropertyName, boundProp.sourceSpan, false);\n        }\n        return new BoundElementPropertyAst(boundPropertyName, bindingType, securityContexts.length === 1 ? securityContexts[0] : null, securityContexts.length > 1, boundProp.expression, unit, boundProp.sourceSpan);\n    };\n    /**\n     * @param {?} name\n     * @param {?} expression\n     * @param {?} sourceSpan\n     * @param {?} targetMatchableAttrs\n     * @param {?} targetEvents\n     * @return {?}\n     */\n    BindingParser.prototype.parseEvent = function (name, expression, sourceSpan, targetMatchableAttrs, targetEvents) {\n        if (_isAnimationLabel(name)) {\n            name = name.substr(1);\n            this._parseAnimationEvent(name, expression, sourceSpan, targetEvents);\n        }\n        else {\n            this._parseEvent(name, expression, sourceSpan, targetMatchableAttrs, targetEvents);\n        }\n    };\n    /**\n     * @param {?} name\n     * @param {?} expression\n     * @param {?} sourceSpan\n     * @param {?} targetEvents\n     * @return {?}\n     */\n    BindingParser.prototype._parseAnimationEvent = function (name, expression, sourceSpan, targetEvents) {\n        var /** @type {?} */ matches = splitAtPeriod(name, [name, '']);\n        var /** @type {?} */ eventName = matches[0];\n        var /** @type {?} */ phase = matches[1].toLowerCase();\n        if (phase) {\n            switch (phase) {\n                case 'start':\n                case 'done':\n                    var /** @type {?} */ ast = this._parseAction(expression, sourceSpan);\n                    targetEvents.push(new BoundEventAst(eventName, null, phase, ast, sourceSpan));\n                    break;\n                default:\n                    this._reportError(\"The provided animation output phase value \\\"\" + phase + \"\\\" for \\\"@\" + eventName + \"\\\" is not supported (use start or done)\", sourceSpan);\n                    break;\n            }\n        }\n        else {\n            this._reportError(\"The animation trigger output event (@\" + eventName + \") is missing its phase value name (start or done are currently supported)\", sourceSpan);\n        }\n    };\n    /**\n     * @param {?} name\n     * @param {?} expression\n     * @param {?} sourceSpan\n     * @param {?} targetMatchableAttrs\n     * @param {?} targetEvents\n     * @return {?}\n     */\n    BindingParser.prototype._parseEvent = function (name, expression, sourceSpan, targetMatchableAttrs, targetEvents) {\n        // long format: 'target: eventName'\n        var _a = splitAtColon(name, [null, name]), target = _a[0], eventName = _a[1];\n        var /** @type {?} */ ast = this._parseAction(expression, sourceSpan);\n        targetMatchableAttrs.push([name, ast.source]);\n        targetEvents.push(new BoundEventAst(eventName, target, null, ast, sourceSpan));\n        // Don't detect directives for event names for now,\n        // so don't add the event name to the matchableAttrs\n    };\n    /**\n     * @param {?} value\n     * @param {?} sourceSpan\n     * @return {?}\n     */\n    BindingParser.prototype._parseAction = function (value, sourceSpan) {\n        var /** @type {?} */ sourceInfo = sourceSpan.start.toString();\n        try {\n            var /** @type {?} */ ast = this._exprParser.parseAction(value, sourceInfo, this._interpolationConfig);\n            if (ast) {\n                this._reportExpressionParserErrors(ast.errors, sourceSpan);\n            }\n            if (!ast || ast.ast instanceof EmptyExpr) {\n                this._reportError(\"Empty expressions are not allowed\", sourceSpan);\n                return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo);\n            }\n            this._checkPipes(ast, sourceSpan);\n            return ast;\n        }\n        catch (e) {\n            this._reportError(\"\" + e, sourceSpan);\n            return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo);\n        }\n    };\n    /**\n     * @param {?} message\n     * @param {?} sourceSpan\n     * @param {?=} level\n     * @return {?}\n     */\n    BindingParser.prototype._reportError = function (message, sourceSpan, level) {\n        if (level === void 0) { level = ParseErrorLevel.FATAL; }\n        this._targetErrors.push(new ParseError(sourceSpan, message, level));\n    };\n    /**\n     * @param {?} errors\n     * @param {?} sourceSpan\n     * @return {?}\n     */\n    BindingParser.prototype._reportExpressionParserErrors = function (errors, sourceSpan) {\n        for (var _i = 0, errors_1 = errors; _i < errors_1.length; _i++) {\n            var error = errors_1[_i];\n            this._reportError(error.message, sourceSpan);\n        }\n    };\n    /**\n     * @param {?} ast\n     * @param {?} sourceSpan\n     * @return {?}\n     */\n    BindingParser.prototype._checkPipes = function (ast, sourceSpan) {\n        var _this = this;\n        if (ast) {\n            var /** @type {?} */ collector = new PipeCollector();\n            ast.visit(collector);\n            collector.pipes.forEach(function (ast, pipeName) {\n                if (!_this.pipesByName.has(pipeName)) {\n                    _this._reportError(\"The pipe '\" + pipeName + \"' could not be found\", new ParseSourceSpan(sourceSpan.start.moveBy(ast.span.start), sourceSpan.start.moveBy(ast.span.end)));\n                }\n            });\n        }\n    };\n    /**\n     * @param {?} propName the name of the property / attribute\n     * @param {?} sourceSpan\n     * @param {?} isAttr true when binding to an attribute\n     * @return {?}\n     */\n    BindingParser.prototype._validatePropertyOrAttributeName = function (propName, sourceSpan, isAttr) {\n        var /** @type {?} */ report = isAttr ? this._schemaRegistry.validateAttribute(propName) :\n            this._schemaRegistry.validateProperty(propName);\n        if (report.error) {\n            this._reportError(report.msg, sourceSpan, ParseErrorLevel.FATAL);\n        }\n    };\n    return BindingParser;\n}());\nfunction BindingParser_tsickle_Closure_declarations() {\n    /** @type {?} */\n    BindingParser.prototype.pipesByName;\n    /** @type {?} */\n    BindingParser.prototype._exprParser;\n    /** @type {?} */\n    BindingParser.prototype._interpolationConfig;\n    /** @type {?} */\n    BindingParser.prototype._schemaRegistry;\n    /** @type {?} */\n    BindingParser.prototype._targetErrors;\n}\nexport var PipeCollector = (function (_super) {\n    __extends(PipeCollector, _super);\n    function PipeCollector() {\n        _super.apply(this, arguments);\n        this.pipes = new Map();\n    }\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    PipeCollector.prototype.visitPipe = function (ast, context) {\n        this.pipes.set(ast.name, ast);\n        ast.exp.visit(this);\n        this.visitAll(ast.args, context);\n        return null;\n    };\n    return PipeCollector;\n}(RecursiveAstVisitor));\nfunction PipeCollector_tsickle_Closure_declarations() {\n    /** @type {?} */\n    PipeCollector.prototype.pipes;\n}\n/**\n * @param {?} name\n * @return {?}\n */\nfunction _isAnimationLabel(name) {\n    return name[0] == '@';\n}\n/**\n * @param {?} registry\n * @param {?} selector\n * @param {?} propName\n * @param {?} isAttribute\n * @return {?}\n */\nexport function calcPossibleSecurityContexts(registry, selector, propName, isAttribute) {\n    var /** @type {?} */ ctxs = [];\n    CssSelector.parse(selector).forEach(function (selector) {\n        var /** @type {?} */ elementNames = selector.element ? [selector.element] : registry.allKnownElementNames();\n        var /** @type {?} */ notElementNames = new Set(selector.notSelectors.filter(function (selector) { return selector.isElementSelector(); })\n            .map(function (selector) { return selector.element; }));\n        var /** @type {?} */ possibleElementNames = elementNames.filter(function (elementName) { return !notElementNames.has(elementName); });\n        ctxs.push.apply(ctxs, possibleElementNames.map(function (elementName) { return registry.securityContext(elementName, propName, isAttribute); }));\n    });\n    return ctxs.length === 0 ? [SecurityContext.NONE] : Array.from(new Set(ctxs)).sort();\n}\n//# sourceMappingURL=binding_parser.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/template_parser/binding_parser.js\n// module id = 383\n// module chunks = 0","/**\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 */\nimport { splitNsName } from '../ml_parser/tags';\nvar /** @type {?} */ NG_CONTENT_SELECT_ATTR = 'select';\nvar /** @type {?} */ NG_CONTENT_ELEMENT = 'ng-content';\nvar /** @type {?} */ LINK_ELEMENT = 'link';\nvar /** @type {?} */ LINK_STYLE_REL_ATTR = 'rel';\nvar /** @type {?} */ LINK_STYLE_HREF_ATTR = 'href';\nvar /** @type {?} */ LINK_STYLE_REL_VALUE = 'stylesheet';\nvar /** @type {?} */ STYLE_ELEMENT = 'style';\nvar /** @type {?} */ SCRIPT_ELEMENT = 'script';\nvar /** @type {?} */ NG_NON_BINDABLE_ATTR = 'ngNonBindable';\nvar /** @type {?} */ NG_PROJECT_AS = 'ngProjectAs';\n/**\n * @param {?} ast\n * @return {?}\n */\nexport function preparseElement(ast) {\n    var /** @type {?} */ selectAttr = null;\n    var /** @type {?} */ hrefAttr = null;\n    var /** @type {?} */ relAttr = null;\n    var /** @type {?} */ nonBindable = false;\n    var /** @type {?} */ projectAs = null;\n    ast.attrs.forEach(function (attr) {\n        var /** @type {?} */ lcAttrName = attr.name.toLowerCase();\n        if (lcAttrName == NG_CONTENT_SELECT_ATTR) {\n            selectAttr = attr.value;\n        }\n        else if (lcAttrName == LINK_STYLE_HREF_ATTR) {\n            hrefAttr = attr.value;\n        }\n        else if (lcAttrName == LINK_STYLE_REL_ATTR) {\n            relAttr = attr.value;\n        }\n        else if (attr.name == NG_NON_BINDABLE_ATTR) {\n            nonBindable = true;\n        }\n        else if (attr.name == NG_PROJECT_AS) {\n            if (attr.value.length > 0) {\n                projectAs = attr.value;\n            }\n        }\n    });\n    selectAttr = normalizeNgContentSelect(selectAttr);\n    var /** @type {?} */ nodeName = ast.name.toLowerCase();\n    var /** @type {?} */ type = PreparsedElementType.OTHER;\n    if (splitNsName(nodeName)[1] == NG_CONTENT_ELEMENT) {\n        type = PreparsedElementType.NG_CONTENT;\n    }\n    else if (nodeName == STYLE_ELEMENT) {\n        type = PreparsedElementType.STYLE;\n    }\n    else if (nodeName == SCRIPT_ELEMENT) {\n        type = PreparsedElementType.SCRIPT;\n    }\n    else if (nodeName == LINK_ELEMENT && relAttr == LINK_STYLE_REL_VALUE) {\n        type = PreparsedElementType.STYLESHEET;\n    }\n    return new PreparsedElement(type, selectAttr, hrefAttr, nonBindable, projectAs);\n}\nexport var PreparsedElementType = {};\nPreparsedElementType.NG_CONTENT = 0;\nPreparsedElementType.STYLE = 1;\nPreparsedElementType.STYLESHEET = 2;\nPreparsedElementType.SCRIPT = 3;\nPreparsedElementType.OTHER = 4;\nPreparsedElementType[PreparsedElementType.NG_CONTENT] = \"NG_CONTENT\";\nPreparsedElementType[PreparsedElementType.STYLE] = \"STYLE\";\nPreparsedElementType[PreparsedElementType.STYLESHEET] = \"STYLESHEET\";\nPreparsedElementType[PreparsedElementType.SCRIPT] = \"SCRIPT\";\nPreparsedElementType[PreparsedElementType.OTHER] = \"OTHER\";\nexport var PreparsedElement = (function () {\n    /**\n     * @param {?} type\n     * @param {?} selectAttr\n     * @param {?} hrefAttr\n     * @param {?} nonBindable\n     * @param {?} projectAs\n     */\n    function PreparsedElement(type, selectAttr, hrefAttr, nonBindable, projectAs) {\n        this.type = type;\n        this.selectAttr = selectAttr;\n        this.hrefAttr = hrefAttr;\n        this.nonBindable = nonBindable;\n        this.projectAs = projectAs;\n    }\n    return PreparsedElement;\n}());\nfunction PreparsedElement_tsickle_Closure_declarations() {\n    /** @type {?} */\n    PreparsedElement.prototype.type;\n    /** @type {?} */\n    PreparsedElement.prototype.selectAttr;\n    /** @type {?} */\n    PreparsedElement.prototype.hrefAttr;\n    /** @type {?} */\n    PreparsedElement.prototype.nonBindable;\n    /** @type {?} */\n    PreparsedElement.prototype.projectAs;\n}\n/**\n * @param {?} selectAttr\n * @return {?}\n */\nfunction normalizeNgContentSelect(selectAttr) {\n    if (selectAttr === null || selectAttr.length === 0) {\n        return '*';\n    }\n    return selectAttr;\n}\n//# sourceMappingURL=template_preparser.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/template_parser/template_preparser.js\n// module id = 384\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { tokenName, tokenReference } from '../compile_metadata';\nimport { createDiTokenExpression } from '../compiler_util/identifier_util';\nimport { DirectiveWrapperCompiler, DirectiveWrapperExpressions } from '../directive_wrapper_compiler';\nimport { isPresent } from '../facade/lang';\nimport { Identifiers, createIdentifier, createIdentifierToken, identifierToken, resolveIdentifier } from '../identifiers';\nimport * as o from '../output/output_ast';\nimport { convertValueToOutputAst } from '../output/value_util';\nimport { ProviderAst, ProviderAstType } from '../template_parser/template_ast';\nimport { CompileMethod } from './compile_method';\nimport { CompileQuery, addQueryToTokenMap, createQueryList } from './compile_query';\nimport { InjectMethodVars } from './constants';\nimport { ComponentFactoryDependency, DirectiveWrapperDependency } from './deps';\nimport { getPropertyInView, injectFromViewParentInjector } from './util';\nexport var CompileNode = (function () {\n    /**\n     * @param {?} parent\n     * @param {?} view\n     * @param {?} nodeIndex\n     * @param {?} renderNode\n     * @param {?} sourceAst\n     */\n    function CompileNode(parent, view, nodeIndex, renderNode, sourceAst) {\n        this.parent = parent;\n        this.view = view;\n        this.nodeIndex = nodeIndex;\n        this.renderNode = renderNode;\n        this.sourceAst = sourceAst;\n    }\n    /**\n     * @return {?}\n     */\n    CompileNode.prototype.isNull = function () { return !this.renderNode; };\n    /**\n     * @return {?}\n     */\n    CompileNode.prototype.isRootElement = function () { return this.view != this.parent.view; };\n    return CompileNode;\n}());\nfunction CompileNode_tsickle_Closure_declarations() {\n    /** @type {?} */\n    CompileNode.prototype.parent;\n    /** @type {?} */\n    CompileNode.prototype.view;\n    /** @type {?} */\n    CompileNode.prototype.nodeIndex;\n    /** @type {?} */\n    CompileNode.prototype.renderNode;\n    /** @type {?} */\n    CompileNode.prototype.sourceAst;\n}\nexport var CompileElement = (function (_super) {\n    __extends(CompileElement, _super);\n    /**\n     * @param {?} parent\n     * @param {?} view\n     * @param {?} nodeIndex\n     * @param {?} renderNode\n     * @param {?} sourceAst\n     * @param {?} component\n     * @param {?} _directives\n     * @param {?} _resolvedProvidersArray\n     * @param {?} hasViewContainer\n     * @param {?} hasEmbeddedView\n     * @param {?} references\n     */\n    function CompileElement(parent, view, nodeIndex, renderNode, sourceAst, component, _directives, _resolvedProvidersArray, hasViewContainer, hasEmbeddedView, references) {\n        var _this = this;\n        _super.call(this, parent, view, nodeIndex, renderNode, sourceAst);\n        this.component = component;\n        this._directives = _directives;\n        this._resolvedProvidersArray = _resolvedProvidersArray;\n        this.hasViewContainer = hasViewContainer;\n        this.hasEmbeddedView = hasEmbeddedView;\n        this.compViewExpr = null;\n        this.instances = new Map();\n        this.directiveWrapperInstance = new Map();\n        this._queryCount = 0;\n        this._queries = new Map();\n        this.contentNodesByNgContentIndex = null;\n        this.referenceTokens = {};\n        references.forEach(function (ref) { return _this.referenceTokens[ref.name] = ref.value; });\n        this.elementRef =\n            o.importExpr(createIdentifier(Identifiers.ElementRef)).instantiate([this.renderNode]);\n        this.instances.set(resolveIdentifier(Identifiers.ElementRef), this.elementRef);\n        this.instances.set(resolveIdentifier(Identifiers.Injector), o.THIS_EXPR.callMethod('injector', [o.literal(this.nodeIndex)]));\n        this.instances.set(resolveIdentifier(Identifiers.Renderer), o.THIS_EXPR.prop('renderer'));\n        if (this.hasViewContainer || this.hasEmbeddedView) {\n            this._createViewContainer();\n        }\n        if (this.component) {\n            this._createComponentFactoryResolver();\n        }\n    }\n    /**\n     * @return {?}\n     */\n    CompileElement.createNull = function () {\n        return new CompileElement(null, null, null, null, null, null, [], [], false, false, []);\n    };\n    /**\n     * @return {?}\n     */\n    CompileElement.prototype._createViewContainer = function () {\n        var /** @type {?} */ fieldName = \"_vc_\" + this.nodeIndex;\n        var /** @type {?} */ parentNodeIndex = this.isRootElement() ? null : this.parent.nodeIndex;\n        // private is fine here as no child view will reference a ViewContainer\n        this.view.fields.push(new o.ClassField(fieldName, o.importType(createIdentifier(Identifiers.ViewContainer)), [o.StmtModifier.Private]));\n        var /** @type {?} */ statement = o.THIS_EXPR.prop(fieldName)\n            .set(o.importExpr(createIdentifier(Identifiers.ViewContainer)).instantiate([\n            o.literal(this.nodeIndex), o.literal(parentNodeIndex), o.THIS_EXPR, this.renderNode\n        ]))\n            .toStmt();\n        this.view.createMethod.addStmt(statement);\n        this.viewContainer = o.THIS_EXPR.prop(fieldName);\n        this.instances.set(resolveIdentifier(Identifiers.ViewContainer), this.viewContainer);\n        this.view.viewContainers.push(this.viewContainer);\n    };\n    /**\n     * @return {?}\n     */\n    CompileElement.prototype._createComponentFactoryResolver = function () {\n        var _this = this;\n        var /** @type {?} */ entryComponents = this.component.entryComponents.map(function (entryComponent) {\n            var /** @type {?} */ id = { reference: null };\n            _this.view.targetDependencies.push(new ComponentFactoryDependency(entryComponent, id));\n            return id;\n        });\n        if (!entryComponents || entryComponents.length === 0) {\n            return;\n        }\n        var /** @type {?} */ createComponentFactoryResolverExpr = o.importExpr(createIdentifier(Identifiers.CodegenComponentFactoryResolver)).instantiate([\n            o.literalArr(entryComponents.map(function (entryComponent) { return o.importExpr(entryComponent); })),\n            injectFromViewParentInjector(this.view, createIdentifierToken(Identifiers.ComponentFactoryResolver), false)\n        ]);\n        var /** @type {?} */ provider = {\n            token: createIdentifierToken(Identifiers.ComponentFactoryResolver),\n            useValue: createComponentFactoryResolverExpr\n        };\n        // Add ComponentFactoryResolver as first provider as it does not have deps on other providers\n        // ProviderAstType.PrivateService as only the component and its view can see it,\n        // but nobody else\n        this._resolvedProvidersArray.unshift(new ProviderAst(provider.token, false, true, [provider], ProviderAstType.PrivateService, [], this.sourceAst.sourceSpan));\n    };\n    /**\n     * @param {?} compViewExpr\n     * @return {?}\n     */\n    CompileElement.prototype.setComponentView = function (compViewExpr) {\n        this.compViewExpr = compViewExpr;\n        this.contentNodesByNgContentIndex =\n            new Array(this.component.template.ngContentSelectors.length);\n        for (var /** @type {?} */ i = 0; i < this.contentNodesByNgContentIndex.length; i++) {\n            this.contentNodesByNgContentIndex[i] = [];\n        }\n    };\n    /**\n     * @param {?} embeddedView\n     * @return {?}\n     */\n    CompileElement.prototype.setEmbeddedView = function (embeddedView) {\n        this.embeddedView = embeddedView;\n        if (isPresent(embeddedView)) {\n            var /** @type {?} */ createTemplateRefExpr = o.importExpr(createIdentifier(Identifiers.TemplateRef_)).instantiate([\n                o.THIS_EXPR, o.literal(this.nodeIndex), this.renderNode\n            ]);\n            var /** @type {?} */ provider = {\n                token: createIdentifierToken(Identifiers.TemplateRef),\n                useValue: createTemplateRefExpr\n            };\n            // Add TemplateRef as first provider as it does not have deps on other providers\n            this._resolvedProvidersArray.unshift(new ProviderAst(provider.token, false, true, [provider], ProviderAstType.Builtin, [], this.sourceAst.sourceSpan));\n        }\n    };\n    /**\n     * @return {?}\n     */\n    CompileElement.prototype.beforeChildren = function () {\n        var _this = this;\n        if (this.hasViewContainer) {\n            this.instances.set(resolveIdentifier(Identifiers.ViewContainerRef), this.viewContainer.prop('vcRef'));\n        }\n        this._resolvedProviders = new Map();\n        this._resolvedProvidersArray.forEach(function (provider) { return _this._resolvedProviders.set(tokenReference(provider.token), provider); });\n        // create all the provider instances, some in the view constructor,\n        // some as getters. We rely on the fact that they are already sorted topologically.\n        Array.from(this._resolvedProviders.values()).forEach(function (resolvedProvider) {\n            var /** @type {?} */ isDirectiveWrapper = resolvedProvider.providerType === ProviderAstType.Component ||\n                resolvedProvider.providerType === ProviderAstType.Directive;\n            var /** @type {?} */ providerValueExpressions = resolvedProvider.providers.map(function (provider) {\n                if (provider.useExisting) {\n                    return _this._getDependency(resolvedProvider.providerType, { token: provider.useExisting });\n                }\n                else if (provider.useFactory) {\n                    var /** @type {?} */ deps = provider.deps || provider.useFactory.diDeps;\n                    var /** @type {?} */ depsExpr = deps.map(function (dep) { return _this._getDependency(resolvedProvider.providerType, dep); });\n                    return o.importExpr(provider.useFactory).callFn(depsExpr);\n                }\n                else if (provider.useClass) {\n                    var /** @type {?} */ deps = provider.deps || provider.useClass.diDeps;\n                    var /** @type {?} */ depsExpr = deps.map(function (dep) { return _this._getDependency(resolvedProvider.providerType, dep); });\n                    if (isDirectiveWrapper) {\n                        var /** @type {?} */ directiveWrapperIdentifier = { reference: null };\n                        _this.view.targetDependencies.push(new DirectiveWrapperDependency(provider.useClass, DirectiveWrapperCompiler.dirWrapperClassName(provider.useClass), directiveWrapperIdentifier));\n                        return DirectiveWrapperExpressions.create(directiveWrapperIdentifier, depsExpr);\n                    }\n                    else {\n                        return o.importExpr(provider.useClass)\n                            .instantiate(depsExpr, o.importType(provider.useClass));\n                    }\n                }\n                else {\n                    return convertValueToOutputAst(provider.useValue);\n                }\n            });\n            var /** @type {?} */ propName = \"_\" + tokenName(resolvedProvider.token) + \"_\" + _this.nodeIndex + \"_\" + _this.instances.size;\n            var /** @type {?} */ instance = createProviderProperty(propName, providerValueExpressions, resolvedProvider.multiProvider, resolvedProvider.eager, _this);\n            if (isDirectiveWrapper) {\n                _this.directiveWrapperInstance.set(tokenReference(resolvedProvider.token), instance);\n                _this.instances.set(tokenReference(resolvedProvider.token), DirectiveWrapperExpressions.context(instance));\n            }\n            else {\n                _this.instances.set(tokenReference(resolvedProvider.token), instance);\n            }\n        });\n        var _loop_1 = function(i) {\n            var /** @type {?} */ directive = this_1._directives[i];\n            var /** @type {?} */ directiveInstance = this_1.instances.get(tokenReference(identifierToken(directive.type)));\n            directive.queries.forEach(function (queryMeta) { _this._addQuery(queryMeta, directiveInstance); });\n        };\n        var this_1 = this;\n        for (var /** @type {?} */ i = 0; i < this._directives.length; i++) {\n            _loop_1(i);\n        }\n        Object.keys(this.referenceTokens).forEach(function (varName) {\n            var /** @type {?} */ token = _this.referenceTokens[varName];\n            var /** @type {?} */ varValue;\n            if (token) {\n                varValue = _this.instances.get(tokenReference(token));\n            }\n            else {\n                varValue = _this.renderNode;\n            }\n            _this.view.locals.set(varName, varValue);\n        });\n    };\n    /**\n     * @param {?} childNodeCount\n     * @return {?}\n     */\n    CompileElement.prototype.afterChildren = function (childNodeCount) {\n        var _this = this;\n        Array.from(this._resolvedProviders.values()).forEach(function (resolvedProvider) {\n            // Note: afterChildren is called after recursing into children.\n            // This is good so that an injector match in an element that is closer to a requesting element\n            // matches first.\n            var /** @type {?} */ providerExpr = _this.instances.get(tokenReference(resolvedProvider.token));\n            // Note: view providers are only visible on the injector of that element.\n            // This is not fully correct as the rules during codegen don't allow a directive\n            // to get hold of a view provdier on the same element. We still do this semantic\n            // as it simplifies our model to having only one runtime injector per element.\n            var /** @type {?} */ providerChildNodeCount = resolvedProvider.providerType === ProviderAstType.PrivateService ? 0 : childNodeCount;\n            _this.view.injectorGetMethod.addStmt(createInjectInternalCondition(_this.nodeIndex, providerChildNodeCount, resolvedProvider, providerExpr));\n        });\n    };\n    /**\n     * @return {?}\n     */\n    CompileElement.prototype.finish = function () {\n        var _this = this;\n        Array.from(this._queries.values())\n            .forEach(function (queries) { return queries.forEach(function (q) { return q.generateStatements(_this.view.createMethod, _this.view.updateContentQueriesMethod); }); });\n    };\n    /**\n     * @param {?} ngContentIndex\n     * @param {?} nodeExpr\n     * @return {?}\n     */\n    CompileElement.prototype.addContentNode = function (ngContentIndex, nodeExpr) {\n        this.contentNodesByNgContentIndex[ngContentIndex].push(nodeExpr);\n    };\n    /**\n     * @return {?}\n     */\n    CompileElement.prototype.getComponent = function () {\n        return isPresent(this.component) ?\n            this.instances.get(tokenReference(identifierToken(this.component.type))) :\n            null;\n    };\n    /**\n     * @return {?}\n     */\n    CompileElement.prototype.getProviderTokens = function () {\n        return Array.from(this._resolvedProviders.values()).map(function (provider) { return provider.token; });\n    };\n    /**\n     * @param {?} token\n     * @return {?}\n     */\n    CompileElement.prototype.getQueriesFor = function (token) {\n        var /** @type {?} */ result = [];\n        var /** @type {?} */ currentEl = this;\n        var /** @type {?} */ distance = 0;\n        var /** @type {?} */ queries;\n        while (!currentEl.isNull()) {\n            queries = currentEl._queries.get(tokenReference(token));\n            if (isPresent(queries)) {\n                result.push.apply(result, queries.filter(function (query) { return query.meta.descendants || distance <= 1; }));\n            }\n            if (currentEl._directives.length > 0) {\n                distance++;\n            }\n            currentEl = currentEl.parent;\n        }\n        queries = this.view.componentView.viewQueries.get(tokenReference(token));\n        if (isPresent(queries)) {\n            result.push.apply(result, queries);\n        }\n        return result;\n    };\n    /**\n     * @param {?} queryMeta\n     * @param {?} directiveInstance\n     * @return {?}\n     */\n    CompileElement.prototype._addQuery = function (queryMeta, directiveInstance) {\n        var /** @type {?} */ propName = \"_query_\" + tokenName(queryMeta.selectors[0]) + \"_\" + this.nodeIndex + \"_\" + this._queryCount++;\n        var /** @type {?} */ queryList = createQueryList(propName, this.view);\n        var /** @type {?} */ query = new CompileQuery(queryMeta, queryList, directiveInstance, this.view);\n        addQueryToTokenMap(this._queries, query);\n        return query;\n    };\n    /**\n     * @param {?} requestingProviderType\n     * @param {?} dep\n     * @return {?}\n     */\n    CompileElement.prototype._getLocalDependency = function (requestingProviderType, dep) {\n        var /** @type {?} */ result = null;\n        if (isPresent(dep.token)) {\n            // access builtins with special visibility\n            if (!result) {\n                if (tokenReference(dep.token) === resolveIdentifier(Identifiers.ChangeDetectorRef)) {\n                    if (requestingProviderType === ProviderAstType.Component) {\n                        return this.compViewExpr.prop('ref');\n                    }\n                    else {\n                        return getPropertyInView(o.THIS_EXPR.prop('ref'), this.view, this.view.componentView);\n                    }\n                }\n            }\n            // access regular providers on the element\n            if (!result) {\n                var /** @type {?} */ resolvedProvider = this._resolvedProviders.get(tokenReference(dep.token));\n                // don't allow directives / public services to access private services.\n                // only components and private services can access private services.\n                if (resolvedProvider && (requestingProviderType === ProviderAstType.Directive ||\n                    requestingProviderType === ProviderAstType.PublicService) &&\n                    resolvedProvider.providerType === ProviderAstType.PrivateService) {\n                    return null;\n                }\n                result = this.instances.get(tokenReference(dep.token));\n            }\n        }\n        return result;\n    };\n    /**\n     * @param {?} requestingProviderType\n     * @param {?} dep\n     * @return {?}\n     */\n    CompileElement.prototype._getDependency = function (requestingProviderType, dep) {\n        var /** @type {?} */ currElement = this;\n        var /** @type {?} */ result = null;\n        if (dep.isValue) {\n            result = o.literal(dep.value);\n        }\n        if (!result && !dep.isSkipSelf) {\n            result = this._getLocalDependency(requestingProviderType, dep);\n        }\n        // check parent elements\n        while (!result && !currElement.parent.isNull()) {\n            currElement = currElement.parent;\n            result = currElement._getLocalDependency(ProviderAstType.PublicService, { token: dep.token });\n        }\n        if (!result) {\n            result = injectFromViewParentInjector(this.view, dep.token, dep.isOptional);\n        }\n        if (!result) {\n            result = o.NULL_EXPR;\n        }\n        return getPropertyInView(result, this.view, currElement.view);\n    };\n    return CompileElement;\n}(CompileNode));\nfunction CompileElement_tsickle_Closure_declarations() {\n    /** @type {?} */\n    CompileElement.prototype.compViewExpr;\n    /** @type {?} */\n    CompileElement.prototype.viewContainer;\n    /** @type {?} */\n    CompileElement.prototype.elementRef;\n    /** @type {?} */\n    CompileElement.prototype.instances;\n    /** @type {?} */\n    CompileElement.prototype.directiveWrapperInstance;\n    /** @type {?} */\n    CompileElement.prototype._resolvedProviders;\n    /** @type {?} */\n    CompileElement.prototype._queryCount;\n    /** @type {?} */\n    CompileElement.prototype._queries;\n    /** @type {?} */\n    CompileElement.prototype.contentNodesByNgContentIndex;\n    /** @type {?} */\n    CompileElement.prototype.embeddedView;\n    /** @type {?} */\n    CompileElement.prototype.referenceTokens;\n    /** @type {?} */\n    CompileElement.prototype.component;\n    /** @type {?} */\n    CompileElement.prototype._directives;\n    /** @type {?} */\n    CompileElement.prototype._resolvedProvidersArray;\n    /** @type {?} */\n    CompileElement.prototype.hasViewContainer;\n    /** @type {?} */\n    CompileElement.prototype.hasEmbeddedView;\n}\n/**\n * @param {?} nodeIndex\n * @param {?} childNodeCount\n * @param {?} provider\n * @param {?} providerExpr\n * @return {?}\n */\nfunction createInjectInternalCondition(nodeIndex, childNodeCount, provider, providerExpr) {\n    var /** @type {?} */ indexCondition;\n    if (childNodeCount > 0) {\n        indexCondition = o.literal(nodeIndex)\n            .lowerEquals(InjectMethodVars.requestNodeIndex)\n            .and(InjectMethodVars.requestNodeIndex.lowerEquals(o.literal(nodeIndex + childNodeCount)));\n    }\n    else {\n        indexCondition = o.literal(nodeIndex).identical(InjectMethodVars.requestNodeIndex);\n    }\n    return new o.IfStmt(InjectMethodVars.token.identical(createDiTokenExpression(provider.token)).and(indexCondition), [new o.ReturnStatement(providerExpr)]);\n}\n/**\n * @param {?} propName\n * @param {?} providerValueExpressions\n * @param {?} isMulti\n * @param {?} isEager\n * @param {?} compileElement\n * @return {?}\n */\nfunction createProviderProperty(propName, providerValueExpressions, isMulti, isEager, compileElement) {\n    var /** @type {?} */ view = compileElement.view;\n    var /** @type {?} */ resolvedProviderValueExpr;\n    var /** @type {?} */ type;\n    if (isMulti) {\n        resolvedProviderValueExpr = o.literalArr(providerValueExpressions);\n        type = new o.ArrayType(o.DYNAMIC_TYPE);\n    }\n    else {\n        resolvedProviderValueExpr = providerValueExpressions[0];\n        type = providerValueExpressions[0].type;\n    }\n    if (!type) {\n        type = o.DYNAMIC_TYPE;\n    }\n    if (isEager) {\n        view.fields.push(new o.ClassField(propName, type));\n        view.createMethod.addStmt(o.THIS_EXPR.prop(propName).set(resolvedProviderValueExpr).toStmt());\n    }\n    else {\n        var /** @type {?} */ internalField = \"_\" + propName;\n        view.fields.push(new o.ClassField(internalField, type));\n        var /** @type {?} */ getter = new CompileMethod(view);\n        getter.resetDebugInfo(compileElement.nodeIndex, compileElement.sourceAst);\n        // Note: Equals is important for JS so that it also checks the undefined case!\n        getter.addStmt(new o.IfStmt(o.THIS_EXPR.prop(internalField).isBlank(), [o.THIS_EXPR.prop(internalField).set(resolvedProviderValueExpr).toStmt()]));\n        getter.addStmt(new o.ReturnStatement(o.THIS_EXPR.prop(internalField)));\n        view.getters.push(new o.ClassGetter(propName, getter.finish(), type));\n    }\n    return o.THIS_EXPR.prop(propName);\n}\n//# sourceMappingURL=compile_element.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/view_compiler/compile_element.js\n// module id = 385\n// module chunks = 0","/**\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 */\nimport { tokenReference } from '../compile_metadata';\nimport { ListWrapper } from '../facade/collection';\nimport { Identifiers, createIdentifier } from '../identifiers';\nimport * as o from '../output/output_ast';\nimport { getPropertyInView } from './util';\nvar ViewQueryValues = (function () {\n    /**\n     * @param {?} view\n     * @param {?} values\n     */\n    function ViewQueryValues(view, values) {\n        this.view = view;\n        this.values = values;\n    }\n    return ViewQueryValues;\n}());\nfunction ViewQueryValues_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ViewQueryValues.prototype.view;\n    /** @type {?} */\n    ViewQueryValues.prototype.values;\n}\nexport var CompileQuery = (function () {\n    /**\n     * @param {?} meta\n     * @param {?} queryList\n     * @param {?} ownerDirectiveExpression\n     * @param {?} view\n     */\n    function CompileQuery(meta, queryList, ownerDirectiveExpression, view) {\n        this.meta = meta;\n        this.queryList = queryList;\n        this.ownerDirectiveExpression = ownerDirectiveExpression;\n        this.view = view;\n        this._values = new ViewQueryValues(view, []);\n    }\n    /**\n     * @param {?} value\n     * @param {?} view\n     * @return {?}\n     */\n    CompileQuery.prototype.addValue = function (value, view) {\n        var /** @type {?} */ currentView = view;\n        var /** @type {?} */ elPath = [];\n        while (currentView && currentView !== this.view) {\n            var /** @type {?} */ parentEl = currentView.declarationElement;\n            elPath.unshift(parentEl);\n            currentView = parentEl.view;\n        }\n        var /** @type {?} */ queryListForDirtyExpr = getPropertyInView(this.queryList, view, this.view);\n        var /** @type {?} */ viewValues = this._values;\n        elPath.forEach(function (el) {\n            var /** @type {?} */ last = viewValues.values.length > 0 ? viewValues.values[viewValues.values.length - 1] : null;\n            if (last instanceof ViewQueryValues && last.view === el.embeddedView) {\n                viewValues = last;\n            }\n            else {\n                var /** @type {?} */ newViewValues = new ViewQueryValues(el.embeddedView, []);\n                viewValues.values.push(newViewValues);\n                viewValues = newViewValues;\n            }\n        });\n        viewValues.values.push(value);\n        if (elPath.length > 0) {\n            view.dirtyParentQueriesMethod.addStmt(queryListForDirtyExpr.callMethod('setDirty', []).toStmt());\n        }\n    };\n    /**\n     * @return {?}\n     */\n    CompileQuery.prototype._isStatic = function () {\n        return !this._values.values.some(function (value) { return value instanceof ViewQueryValues; });\n    };\n    /**\n     * @param {?} targetStaticMethod\n     * @param {?} targetDynamicMethod\n     * @return {?}\n     */\n    CompileQuery.prototype.generateStatements = function (targetStaticMethod, targetDynamicMethod) {\n        var /** @type {?} */ values = createQueryValues(this._values);\n        var /** @type {?} */ updateStmts = [this.queryList.callMethod('reset', [o.literalArr(values)]).toStmt()];\n        if (this.ownerDirectiveExpression) {\n            var /** @type {?} */ valueExpr = this.meta.first ? this.queryList.prop('first') : this.queryList;\n            updateStmts.push(this.ownerDirectiveExpression.prop(this.meta.propertyName).set(valueExpr).toStmt());\n        }\n        if (!this.meta.first) {\n            updateStmts.push(this.queryList.callMethod('notifyOnChanges', []).toStmt());\n        }\n        if (this.meta.first && this._isStatic()) {\n            // for queries that don't change and the user asked for a single element,\n            // set it immediately. That is e.g. needed for querying for ViewContainerRefs, ...\n            // we don't do this for QueryLists for now as this would break the timing when\n            // we call QueryList listeners...\n            targetStaticMethod.addStmts(updateStmts);\n        }\n        else {\n            targetDynamicMethod.addStmt(new o.IfStmt(this.queryList.prop('dirty'), updateStmts));\n        }\n    };\n    return CompileQuery;\n}());\nfunction CompileQuery_tsickle_Closure_declarations() {\n    /** @type {?} */\n    CompileQuery.prototype._values;\n    /** @type {?} */\n    CompileQuery.prototype.meta;\n    /** @type {?} */\n    CompileQuery.prototype.queryList;\n    /** @type {?} */\n    CompileQuery.prototype.ownerDirectiveExpression;\n    /** @type {?} */\n    CompileQuery.prototype.view;\n}\n/**\n * @param {?} viewValues\n * @return {?}\n */\nfunction createQueryValues(viewValues) {\n    return ListWrapper.flatten(viewValues.values.map(function (entry) {\n        if (entry instanceof ViewQueryValues) {\n            return mapNestedViews(entry.view.declarationElement.viewContainer, entry.view, createQueryValues(entry));\n        }\n        else {\n            return (entry);\n        }\n    }));\n}\n/**\n * @param {?} viewContainer\n * @param {?} view\n * @param {?} expressions\n * @return {?}\n */\nfunction mapNestedViews(viewContainer, view, expressions) {\n    var /** @type {?} */ adjustedExpressions = expressions.map(function (expr) { return o.replaceVarInExpression(o.THIS_EXPR.name, o.variable('nestedView'), expr); });\n    return viewContainer.callMethod('mapNestedViews', [\n        o.variable(view.className),\n        o.fn([new o.FnParam('nestedView', view.classType)], [new o.ReturnStatement(o.literalArr(adjustedExpressions))], o.DYNAMIC_TYPE)\n    ]);\n}\n/**\n * @param {?} propertyName\n * @param {?} compileView\n * @return {?}\n */\nexport function createQueryList(propertyName, compileView) {\n    compileView.fields.push(new o.ClassField(propertyName, o.importType(createIdentifier(Identifiers.QueryList), [o.DYNAMIC_TYPE])));\n    var /** @type {?} */ expr = o.THIS_EXPR.prop(propertyName);\n    compileView.createMethod.addStmt(o.THIS_EXPR.prop(propertyName)\n        .set(o.importExpr(createIdentifier(Identifiers.QueryList), [o.DYNAMIC_TYPE]).instantiate([]))\n        .toStmt());\n    return expr;\n}\n/**\n * @param {?} map\n * @param {?} query\n * @return {?}\n */\nexport function addQueryToTokenMap(map, query) {\n    query.meta.selectors.forEach(function (selector) {\n        var /** @type {?} */ entry = map.get(tokenReference(selector));\n        if (!entry) {\n            entry = [];\n            map.set(tokenReference(selector), entry);\n        }\n        entry.push(query);\n    });\n}\n//# sourceMappingURL=compile_query.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/view_compiler/compile_query.js\n// module id = 386\n// module chunks = 0","/**\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 */\nimport { tokenName } from '../compile_metadata';\nimport { EventHandlerVars } from '../compiler_util/expression_converter';\nimport { isPresent } from '../facade/lang';\nimport * as o from '../output/output_ast';\nimport { ViewType } from '../private_import_core';\nimport { CompileMethod } from './compile_method';\nimport { CompilePipe } from './compile_pipe';\nimport { CompileQuery, addQueryToTokenMap, createQueryList } from './compile_query';\nimport { getPropertyInView, getViewClassName } from './util';\nexport var CompileViewRootNodeType = {};\nCompileViewRootNodeType.Node = 0;\nCompileViewRootNodeType.ViewContainer = 1;\nCompileViewRootNodeType.NgContent = 2;\nCompileViewRootNodeType[CompileViewRootNodeType.Node] = \"Node\";\nCompileViewRootNodeType[CompileViewRootNodeType.ViewContainer] = \"ViewContainer\";\nCompileViewRootNodeType[CompileViewRootNodeType.NgContent] = \"NgContent\";\nexport var CompileViewRootNode = (function () {\n    /**\n     * @param {?} type\n     * @param {?} expr\n     * @param {?=} ngContentIndex\n     */\n    function CompileViewRootNode(type, expr, ngContentIndex) {\n        this.type = type;\n        this.expr = expr;\n        this.ngContentIndex = ngContentIndex;\n    }\n    return CompileViewRootNode;\n}());\nfunction CompileViewRootNode_tsickle_Closure_declarations() {\n    /** @type {?} */\n    CompileViewRootNode.prototype.type;\n    /** @type {?} */\n    CompileViewRootNode.prototype.expr;\n    /** @type {?} */\n    CompileViewRootNode.prototype.ngContentIndex;\n}\nexport var CompileView = (function () {\n    /**\n     * @param {?} component\n     * @param {?} genConfig\n     * @param {?} pipeMetas\n     * @param {?} styles\n     * @param {?} animations\n     * @param {?} viewIndex\n     * @param {?} declarationElement\n     * @param {?} templateVariableBindings\n     * @param {?} targetDependencies\n     */\n    function CompileView(component, genConfig, pipeMetas, styles, animations, viewIndex, declarationElement, templateVariableBindings, targetDependencies) {\n        var _this = this;\n        this.component = component;\n        this.genConfig = genConfig;\n        this.pipeMetas = pipeMetas;\n        this.styles = styles;\n        this.animations = animations;\n        this.viewIndex = viewIndex;\n        this.declarationElement = declarationElement;\n        this.templateVariableBindings = templateVariableBindings;\n        this.targetDependencies = targetDependencies;\n        this.viewChildren = [];\n        this.nodes = [];\n        this.rootNodes = [];\n        this.lastRenderNode = o.NULL_EXPR;\n        this.viewContainers = [];\n        this.methods = [];\n        this.ctorStmts = [];\n        this.fields = [];\n        this.getters = [];\n        this.disposables = [];\n        this.purePipes = new Map();\n        this.pipes = [];\n        this.locals = new Map();\n        this.literalArrayCount = 0;\n        this.literalMapCount = 0;\n        this.pipeCount = 0;\n        this.createMethod = new CompileMethod(this);\n        this.animationBindingsMethod = new CompileMethod(this);\n        this.injectorGetMethod = new CompileMethod(this);\n        this.updateContentQueriesMethod = new CompileMethod(this);\n        this.dirtyParentQueriesMethod = new CompileMethod(this);\n        this.updateViewQueriesMethod = new CompileMethod(this);\n        this.detectChangesInInputsMethod = new CompileMethod(this);\n        this.detectChangesRenderPropertiesMethod = new CompileMethod(this);\n        this.afterContentLifecycleCallbacksMethod = new CompileMethod(this);\n        this.afterViewLifecycleCallbacksMethod = new CompileMethod(this);\n        this.destroyMethod = new CompileMethod(this);\n        this.detachMethod = new CompileMethod(this);\n        this.viewType = getViewType(component, viewIndex);\n        this.className = getViewClassName(component, viewIndex);\n        this.classType = o.expressionType(o.variable(this.className));\n        this.classExpr = o.variable(this.className);\n        if (this.viewType === ViewType.COMPONENT || this.viewType === ViewType.HOST) {\n            this.componentView = this;\n        }\n        else {\n            this.componentView = this.declarationElement.view.componentView;\n        }\n        this.componentContext =\n            getPropertyInView(o.THIS_EXPR.prop('context'), this, this.componentView);\n        var viewQueries = new Map();\n        if (this.viewType === ViewType.COMPONENT) {\n            var directiveInstance_1 = o.THIS_EXPR.prop('context');\n            this.component.viewQueries.forEach(function (queryMeta, queryIndex) {\n                var propName = \"_viewQuery_\" + tokenName(queryMeta.selectors[0]) + \"_\" + queryIndex;\n                var queryList = createQueryList(propName, _this);\n                var query = new CompileQuery(queryMeta, queryList, directiveInstance_1, _this);\n                addQueryToTokenMap(viewQueries, query);\n            });\n        }\n        this.viewQueries = viewQueries;\n        templateVariableBindings.forEach(function (entry) { _this.locals.set(entry[1], o.THIS_EXPR.prop('context').prop(entry[0])); });\n        if (!this.declarationElement.isNull()) {\n            this.declarationElement.setEmbeddedView(this);\n        }\n    }\n    /**\n     * @param {?} name\n     * @param {?} input\n     * @param {?} args\n     * @return {?}\n     */\n    CompileView.prototype.callPipe = function (name, input, args) {\n        return CompilePipe.call(this, name, [input].concat(args));\n    };\n    /**\n     * @param {?} name\n     * @return {?}\n     */\n    CompileView.prototype.getLocal = function (name) {\n        if (name == EventHandlerVars.event.name) {\n            return EventHandlerVars.event;\n        }\n        var /** @type {?} */ currView = this;\n        var /** @type {?} */ result = currView.locals.get(name);\n        while (!result && isPresent(currView.declarationElement.view)) {\n            currView = currView.declarationElement.view;\n            result = currView.locals.get(name);\n        }\n        if (isPresent(result)) {\n            return getPropertyInView(result, this, currView);\n        }\n        else {\n            return null;\n        }\n    };\n    /**\n     * @return {?}\n     */\n    CompileView.prototype.finish = function () {\n        var _this = this;\n        Array.from(this.viewQueries.values())\n            .forEach(function (queries) { return queries.forEach(function (q) { return q.generateStatements(_this.createMethod, _this.updateViewQueriesMethod); }); });\n    };\n    return CompileView;\n}());\nfunction CompileView_tsickle_Closure_declarations() {\n    /** @type {?} */\n    CompileView.prototype.viewType;\n    /** @type {?} */\n    CompileView.prototype.viewQueries;\n    /** @type {?} */\n    CompileView.prototype.viewChildren;\n    /** @type {?} */\n    CompileView.prototype.nodes;\n    /** @type {?} */\n    CompileView.prototype.rootNodes;\n    /** @type {?} */\n    CompileView.prototype.lastRenderNode;\n    /** @type {?} */\n    CompileView.prototype.viewContainers;\n    /** @type {?} */\n    CompileView.prototype.createMethod;\n    /** @type {?} */\n    CompileView.prototype.animationBindingsMethod;\n    /** @type {?} */\n    CompileView.prototype.injectorGetMethod;\n    /** @type {?} */\n    CompileView.prototype.updateContentQueriesMethod;\n    /** @type {?} */\n    CompileView.prototype.dirtyParentQueriesMethod;\n    /** @type {?} */\n    CompileView.prototype.updateViewQueriesMethod;\n    /** @type {?} */\n    CompileView.prototype.detectChangesInInputsMethod;\n    /** @type {?} */\n    CompileView.prototype.detectChangesRenderPropertiesMethod;\n    /** @type {?} */\n    CompileView.prototype.afterContentLifecycleCallbacksMethod;\n    /** @type {?} */\n    CompileView.prototype.afterViewLifecycleCallbacksMethod;\n    /** @type {?} */\n    CompileView.prototype.destroyMethod;\n    /** @type {?} */\n    CompileView.prototype.detachMethod;\n    /** @type {?} */\n    CompileView.prototype.methods;\n    /** @type {?} */\n    CompileView.prototype.ctorStmts;\n    /** @type {?} */\n    CompileView.prototype.fields;\n    /** @type {?} */\n    CompileView.prototype.getters;\n    /** @type {?} */\n    CompileView.prototype.disposables;\n    /** @type {?} */\n    CompileView.prototype.componentView;\n    /** @type {?} */\n    CompileView.prototype.purePipes;\n    /** @type {?} */\n    CompileView.prototype.pipes;\n    /** @type {?} */\n    CompileView.prototype.locals;\n    /** @type {?} */\n    CompileView.prototype.className;\n    /** @type {?} */\n    CompileView.prototype.classType;\n    /** @type {?} */\n    CompileView.prototype.classExpr;\n    /** @type {?} */\n    CompileView.prototype.literalArrayCount;\n    /** @type {?} */\n    CompileView.prototype.literalMapCount;\n    /** @type {?} */\n    CompileView.prototype.pipeCount;\n    /** @type {?} */\n    CompileView.prototype.componentContext;\n    /** @type {?} */\n    CompileView.prototype.component;\n    /** @type {?} */\n    CompileView.prototype.genConfig;\n    /** @type {?} */\n    CompileView.prototype.pipeMetas;\n    /** @type {?} */\n    CompileView.prototype.styles;\n    /** @type {?} */\n    CompileView.prototype.animations;\n    /** @type {?} */\n    CompileView.prototype.viewIndex;\n    /** @type {?} */\n    CompileView.prototype.declarationElement;\n    /** @type {?} */\n    CompileView.prototype.templateVariableBindings;\n    /** @type {?} */\n    CompileView.prototype.targetDependencies;\n}\n/**\n * @param {?} component\n * @param {?} embeddedTemplateIndex\n * @return {?}\n */\nfunction getViewType(component, embeddedTemplateIndex) {\n    if (embeddedTemplateIndex > 0) {\n        return ViewType.EMBEDDED;\n    }\n    if (component.isHost) {\n        return ViewType.HOST;\n    }\n    return ViewType.COMPONENT;\n}\n//# sourceMappingURL=compile_view.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/view_compiler/compile_view.js\n// module id = 387\n// module chunks = 0","/**\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 */\nexport var /** @type {?} */ FILL_STYLE_FLAG = 'true'; // TODO (matsko): change to boolean\nexport var /** @type {?} */ ANY_STATE = '*';\nexport var /** @type {?} */ DEFAULT_STATE = '*';\nexport var /** @type {?} */ EMPTY_STATE = 'void';\n//# sourceMappingURL=animation_constants.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/animation/animation_constants.js\n// module id = 388\n// module chunks = 0","/**\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 */\nimport { isPresent, scheduleMicroTask } from '../facade/lang';\nexport var AnimationGroupPlayer = (function () {\n    /**\n     * @param {?} _players\n     */\n    function AnimationGroupPlayer(_players) {\n        var _this = this;\n        this._players = _players;\n        this._onDoneFns = [];\n        this._onStartFns = [];\n        this._finished = false;\n        this._started = false;\n        this._destroyed = false;\n        this.parentPlayer = null;\n        var count = 0;\n        var total = this._players.length;\n        if (total == 0) {\n            scheduleMicroTask(function () { return _this._onFinish(); });\n        }\n        else {\n            this._players.forEach(function (player) {\n                player.parentPlayer = _this;\n                player.onDone(function () {\n                    if (++count >= total) {\n                        _this._onFinish();\n                    }\n                });\n            });\n        }\n    }\n    /**\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype._onFinish = function () {\n        if (!this._finished) {\n            this._finished = true;\n            this._onDoneFns.forEach(function (fn) { return fn(); });\n            this._onDoneFns = [];\n        }\n    };\n    /**\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.init = function () { this._players.forEach(function (player) { return player.init(); }); };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.onStart = function (fn) { this._onStartFns.push(fn); };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.onDone = function (fn) { this._onDoneFns.push(fn); };\n    /**\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.hasStarted = function () { return this._started; };\n    /**\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.play = function () {\n        if (!isPresent(this.parentPlayer)) {\n            this.init();\n        }\n        if (!this.hasStarted()) {\n            this._onStartFns.forEach(function (fn) { return fn(); });\n            this._onStartFns = [];\n            this._started = true;\n        }\n        this._players.forEach(function (player) { return player.play(); });\n    };\n    /**\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.pause = function () { this._players.forEach(function (player) { return player.pause(); }); };\n    /**\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.restart = function () { this._players.forEach(function (player) { return player.restart(); }); };\n    /**\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.finish = function () {\n        this._onFinish();\n        this._players.forEach(function (player) { return player.finish(); });\n    };\n    /**\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.destroy = function () {\n        if (!this._destroyed) {\n            this._onFinish();\n            this._players.forEach(function (player) { return player.destroy(); });\n            this._destroyed = true;\n        }\n    };\n    /**\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.reset = function () {\n        this._players.forEach(function (player) { return player.reset(); });\n        this._destroyed = false;\n        this._finished = false;\n        this._started = false;\n    };\n    /**\n     * @param {?} p\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.setPosition = function (p) {\n        this._players.forEach(function (player) { player.setPosition(p); });\n    };\n    /**\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.getPosition = function () {\n        var /** @type {?} */ min = 0;\n        this._players.forEach(function (player) {\n            var /** @type {?} */ p = player.getPosition();\n            min = Math.min(p, min);\n        });\n        return min;\n    };\n    Object.defineProperty(AnimationGroupPlayer.prototype, \"players\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._players; },\n        enumerable: true,\n        configurable: true\n    });\n    return AnimationGroupPlayer;\n}());\nfunction AnimationGroupPlayer_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationGroupPlayer.prototype._onDoneFns;\n    /** @type {?} */\n    AnimationGroupPlayer.prototype._onStartFns;\n    /** @type {?} */\n    AnimationGroupPlayer.prototype._finished;\n    /** @type {?} */\n    AnimationGroupPlayer.prototype._started;\n    /** @type {?} */\n    AnimationGroupPlayer.prototype._destroyed;\n    /** @type {?} */\n    AnimationGroupPlayer.prototype.parentPlayer;\n    /** @type {?} */\n    AnimationGroupPlayer.prototype._players;\n}\n//# sourceMappingURL=animation_group_player.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/animation/animation_group_player.js\n// module id = 389\n// module chunks = 0","/**\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/**\n * `AnimationKeyframe` consists of a series of styles (contained within {\\@link AnimationStyles\n * `AnimationStyles`})\n * and an offset value indicating when those styles are applied within the `duration/delay/easing`\n * timings.\n * `AnimationKeyframe` is mostly an internal class which is designed to be used alongside {\\@link\n * Renderer#animate-anchor `Renderer.animate`}.\n *\n * \\@experimental Animation support is experimental\n */\nexport var AnimationKeyframe = (function () {\n    /**\n     * @param {?} offset\n     * @param {?} styles\n     */\n    function AnimationKeyframe(offset, styles) {\n        this.offset = offset;\n        this.styles = styles;\n    }\n    return AnimationKeyframe;\n}());\nfunction AnimationKeyframe_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationKeyframe.prototype.offset;\n    /** @type {?} */\n    AnimationKeyframe.prototype.styles;\n}\n//# sourceMappingURL=animation_keyframe.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/animation/animation_keyframe.js\n// module id = 390\n// module chunks = 0","import { Injectable } from '../di/metadata';\nimport { NgZone } from '../zone/ng_zone';\nexport var AnimationQueue = (function () {\n    /**\n     * @param {?} _zone\n     */\n    function AnimationQueue(_zone) {\n        this._zone = _zone;\n        this.entries = [];\n    }\n    /**\n     * @param {?} player\n     * @return {?}\n     */\n    AnimationQueue.prototype.enqueue = function (player) { this.entries.push(player); };\n    /**\n     * @return {?}\n     */\n    AnimationQueue.prototype.flush = function () {\n        var _this = this;\n        // given that each animation player may set aside\n        // microtasks and rely on DOM-based events, this\n        // will cause Angular to run change detection after\n        // each request. This sidesteps the issue. If a user\n        // hooks into an animation via (@anim.start) or (@anim.done)\n        // then those methods will automatically trigger change\n        // detection by wrapping themselves inside of a zone\n        if (this.entries.length) {\n            this._zone.runOutsideAngular(function () {\n                // this code is wrapped into a single promise such that the\n                // onStart and onDone player callbacks are triggered outside\n                // of the digest cycle of animations\n                Promise.resolve(null).then(function () { return _this._triggerAnimations(); });\n            });\n        }\n    };\n    /**\n     * @return {?}\n     */\n    AnimationQueue.prototype._triggerAnimations = function () {\n        NgZone.assertNotInAngularZone();\n        while (this.entries.length) {\n            var /** @type {?} */ player = this.entries.shift();\n            // in the event that an animation throws an error then we do\n            // not want to re-run animations on any previous animations\n            // if they have already been kicked off beforehand\n            if (!player.hasStarted()) {\n                player.play();\n            }\n        }\n    };\n    AnimationQueue.decorators = [\n        { type: Injectable },\n    ];\n    /** @nocollapse */\n    AnimationQueue.ctorParameters = function () { return [\n        { type: NgZone, },\n    ]; };\n    return AnimationQueue;\n}());\nfunction AnimationQueue_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationQueue.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    AnimationQueue.ctorParameters;\n    /** @type {?} */\n    AnimationQueue.prototype.entries;\n    /** @type {?} */\n    AnimationQueue.prototype._zone;\n}\n//# sourceMappingURL=animation_queue.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/animation/animation_queue.js\n// module id = 391\n// module chunks = 0","/**\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 */\nimport { isPresent, scheduleMicroTask } from '../facade/lang';\nimport { NoOpAnimationPlayer } from './animation_player';\nexport var AnimationSequencePlayer = (function () {\n    /**\n     * @param {?} _players\n     */\n    function AnimationSequencePlayer(_players) {\n        var _this = this;\n        this._players = _players;\n        this._currentIndex = 0;\n        this._onDoneFns = [];\n        this._onStartFns = [];\n        this._finished = false;\n        this._started = false;\n        this._destroyed = false;\n        this.parentPlayer = null;\n        this._players.forEach(function (player) { player.parentPlayer = _this; });\n        this._onNext(false);\n    }\n    /**\n     * @param {?} start\n     * @return {?}\n     */\n    AnimationSequencePlayer.prototype._onNext = function (start) {\n        var _this = this;\n        if (this._finished)\n            return;\n        if (this._players.length == 0) {\n            this._activePlayer = new NoOpAnimationPlayer();\n            scheduleMicroTask(function () { return _this._onFinish(); });\n        }\n        else if (this._currentIndex >= this._players.length) {\n            this._activePlayer = new NoOpAnimationPlayer();\n            this._onFinish();\n        }\n        else {\n            var /** @type {?} */ player = this._players[this._currentIndex++];\n            player.onDone(function () { return _this._onNext(true); });\n            this._activePlayer = player;\n            if (start) {\n                player.play();\n            }\n        }\n    };\n    /**\n     * @return {?}\n     */\n    AnimationSequencePlayer.prototype._onFinish = function () {\n        if (!this._finished) {\n            this._finished = true;\n            this._onDoneFns.forEach(function (fn) { return fn(); });\n            this._onDoneFns = [];\n        }\n    };\n    /**\n     * @return {?}\n     */\n    AnimationSequencePlayer.prototype.init = function () { this._players.forEach(function (player) { return player.init(); }); };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    AnimationSequencePlayer.prototype.onStart = function (fn) { this._onStartFns.push(fn); };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    AnimationSequencePlayer.prototype.onDone = function (fn) { this._onDoneFns.push(fn); };\n    /**\n     * @return {?}\n     */\n    AnimationSequencePlayer.prototype.hasStarted = function () { return this._started; };\n    /**\n     * @return {?}\n     */\n    AnimationSequencePlayer.prototype.play = function () {\n        if (!isPresent(this.parentPlayer)) {\n            this.init();\n        }\n        if (!this.hasStarted()) {\n            this._onStartFns.forEach(function (fn) { return fn(); });\n            this._onStartFns = [];\n            this._started = true;\n        }\n        this._activePlayer.play();\n    };\n    /**\n     * @return {?}\n     */\n    AnimationSequencePlayer.prototype.pause = function () { this._activePlayer.pause(); };\n    /**\n     * @return {?}\n     */\n    AnimationSequencePlayer.prototype.restart = function () {\n        this.reset();\n        if (this._players.length > 0) {\n            this._players[0].restart();\n        }\n    };\n    /**\n     * @return {?}\n     */\n    AnimationSequencePlayer.prototype.reset = function () {\n        this._players.forEach(function (player) { return player.reset(); });\n        this._destroyed = false;\n        this._finished = false;\n        this._started = false;\n    };\n    /**\n     * @return {?}\n     */\n    AnimationSequencePlayer.prototype.finish = function () {\n        this._onFinish();\n        this._players.forEach(function (player) { return player.finish(); });\n    };\n    /**\n     * @return {?}\n     */\n    AnimationSequencePlayer.prototype.destroy = function () {\n        if (!this._destroyed) {\n            this._onFinish();\n            this._players.forEach(function (player) { return player.destroy(); });\n            this._destroyed = true;\n            this._activePlayer = new NoOpAnimationPlayer();\n        }\n    };\n    /**\n     * @param {?} p\n     * @return {?}\n     */\n    AnimationSequencePlayer.prototype.setPosition = function (p) { this._players[0].setPosition(p); };\n    /**\n     * @return {?}\n     */\n    AnimationSequencePlayer.prototype.getPosition = function () { return this._players[0].getPosition(); };\n    Object.defineProperty(AnimationSequencePlayer.prototype, \"players\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._players; },\n        enumerable: true,\n        configurable: true\n    });\n    return AnimationSequencePlayer;\n}());\nfunction AnimationSequencePlayer_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationSequencePlayer.prototype._currentIndex;\n    /** @type {?} */\n    AnimationSequencePlayer.prototype._activePlayer;\n    /** @type {?} */\n    AnimationSequencePlayer.prototype._onDoneFns;\n    /** @type {?} */\n    AnimationSequencePlayer.prototype._onStartFns;\n    /** @type {?} */\n    AnimationSequencePlayer.prototype._finished;\n    /** @type {?} */\n    AnimationSequencePlayer.prototype._started;\n    /** @type {?} */\n    AnimationSequencePlayer.prototype._destroyed;\n    /** @type {?} */\n    AnimationSequencePlayer.prototype.parentPlayer;\n    /** @type {?} */\n    AnimationSequencePlayer.prototype._players;\n}\n//# sourceMappingURL=animation_sequence_player.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/animation/animation_sequence_player.js\n// module id = 392\n// module chunks = 0","/**\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/**\n * `AnimationStyles` consists of a collection of key/value maps containing CSS-based style data\n * that can either be used as initial styling data or apart of a series of keyframes within an\n * animation.\n * This class is mostly internal, and it is designed to be used alongside\n * {\\@link AnimationKeyframe `AnimationKeyframe`} and {\\@link Renderer#animate-anchor\n * `Renderer.animate`}.\n *\n * \\@experimental Animation support is experimental\n */\nexport var AnimationStyles = (function () {\n    /**\n     * @param {?} styles\n     */\n    function AnimationStyles(styles) {\n        this.styles = styles;\n    }\n    return AnimationStyles;\n}());\nfunction AnimationStyles_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationStyles.prototype.styles;\n}\n//# sourceMappingURL=animation_styles.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/animation/animation_styles.js\n// module id = 393\n// module chunks = 0","/**\n * An instance of this class is returned as an event parameter when an animation\n * callback is captured for an animation either during the start or done phase.\n *\n * ```typescript\n * \\@Component({\n *   host: {\n *     '[\\@myAnimationTrigger]': 'someExpression',\n *     '(\\@myAnimationTrigger.start)': 'captureStartEvent($event)',\n *     '(\\@myAnimationTrigger.done)': 'captureDoneEvent($event)',\n *   },\n *   animations: [\n *     trigger(\"myAnimationTrigger\", [\n *        // ...\n *     ])\n *   ]\n * })\n * class MyComponent {\n *   someExpression: any = false;\n *   captureStartEvent(event: AnimationTransitionEvent) {\n *     // the toState, fromState and totalTime data is accessible from the event variable\n *   }\n *\n *   captureDoneEvent(event: AnimationTransitionEvent) {\n *     // the toState, fromState and totalTime data is accessible from the event variable\n *   }\n * }\n * ```\n *\n * \\@experimental Animation support is experimental.\n */\nexport var AnimationTransitionEvent = (function () {\n    /**\n     * @param {?} __0\n     */\n    function AnimationTransitionEvent(_a) {\n        var fromState = _a.fromState, toState = _a.toState, totalTime = _a.totalTime, phaseName = _a.phaseName;\n        this.fromState = fromState;\n        this.toState = toState;\n        this.totalTime = totalTime;\n        this.phaseName = phaseName;\n    }\n    return AnimationTransitionEvent;\n}());\nfunction AnimationTransitionEvent_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationTransitionEvent.prototype.fromState;\n    /** @type {?} */\n    AnimationTransitionEvent.prototype.toState;\n    /** @type {?} */\n    AnimationTransitionEvent.prototype.totalTime;\n    /** @type {?} */\n    AnimationTransitionEvent.prototype.phaseName;\n}\n//# sourceMappingURL=animation_transition_event.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/animation/animation_transition_event.js\n// module id = 394\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { isPresent } from '../facade/lang';\n/**\n * @experimental Animation support is experimental.\n */\nexport var /** @type {?} */ AUTO_STYLE = '*';\n/**\n * Metadata representing the entry of animations.\n * Instances of this class are provided via the animation DSL when the {\\@link trigger trigger\n * animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n */\nexport var AnimationEntryMetadata = (function () {\n    /**\n     * @param {?} name\n     * @param {?} definitions\n     */\n    function AnimationEntryMetadata(name, definitions) {\n        this.name = name;\n        this.definitions = definitions;\n    }\n    return AnimationEntryMetadata;\n}());\nfunction AnimationEntryMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationEntryMetadata.prototype.name;\n    /** @type {?} */\n    AnimationEntryMetadata.prototype.definitions;\n}\n/**\n * \\@experimental Animation support is experimental.\n * @abstract\n */\nexport var AnimationStateMetadata = (function () {\n    function AnimationStateMetadata() {\n    }\n    return AnimationStateMetadata;\n}());\n/**\n * Metadata representing the entry of animations.\n * Instances of this class are provided via the animation DSL when the {\\@link state state animation\n * function} is called.\n *\n * \\@experimental Animation support is experimental.\n */\nexport var AnimationStateDeclarationMetadata = (function (_super) {\n    __extends(AnimationStateDeclarationMetadata, _super);\n    /**\n     * @param {?} stateNameExpr\n     * @param {?} styles\n     */\n    function AnimationStateDeclarationMetadata(stateNameExpr, styles) {\n        _super.call(this);\n        this.stateNameExpr = stateNameExpr;\n        this.styles = styles;\n    }\n    return AnimationStateDeclarationMetadata;\n}(AnimationStateMetadata));\nfunction AnimationStateDeclarationMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationStateDeclarationMetadata.prototype.stateNameExpr;\n    /** @type {?} */\n    AnimationStateDeclarationMetadata.prototype.styles;\n}\n/**\n * Metadata representing the entry of animations.\n * Instances of this class are provided via the animation DSL when the\n * {\\@link transition transition animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n */\nexport var AnimationStateTransitionMetadata = (function (_super) {\n    __extends(AnimationStateTransitionMetadata, _super);\n    /**\n     * @param {?} stateChangeExpr\n     * @param {?} steps\n     */\n    function AnimationStateTransitionMetadata(stateChangeExpr, steps) {\n        _super.call(this);\n        this.stateChangeExpr = stateChangeExpr;\n        this.steps = steps;\n    }\n    return AnimationStateTransitionMetadata;\n}(AnimationStateMetadata));\nfunction AnimationStateTransitionMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationStateTransitionMetadata.prototype.stateChangeExpr;\n    /** @type {?} */\n    AnimationStateTransitionMetadata.prototype.steps;\n}\n/**\n * \\@experimental Animation support is experimental.\n * @abstract\n */\nexport var AnimationMetadata = (function () {\n    function AnimationMetadata() {\n    }\n    return AnimationMetadata;\n}());\n/**\n * Metadata representing the entry of animations.\n * Instances of this class are provided via the animation DSL when the {\\@link keyframes keyframes\n * animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n */\nexport var AnimationKeyframesSequenceMetadata = (function (_super) {\n    __extends(AnimationKeyframesSequenceMetadata, _super);\n    /**\n     * @param {?} steps\n     */\n    function AnimationKeyframesSequenceMetadata(steps) {\n        _super.call(this);\n        this.steps = steps;\n    }\n    return AnimationKeyframesSequenceMetadata;\n}(AnimationMetadata));\nfunction AnimationKeyframesSequenceMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationKeyframesSequenceMetadata.prototype.steps;\n}\n/**\n * Metadata representing the entry of animations.\n * Instances of this class are provided via the animation DSL when the {\\@link style style animation\n * function} is called.\n *\n * \\@experimental Animation support is experimental.\n */\nexport var AnimationStyleMetadata = (function (_super) {\n    __extends(AnimationStyleMetadata, _super);\n    /**\n     * @param {?} styles\n     * @param {?=} offset\n     */\n    function AnimationStyleMetadata(styles, offset) {\n        if (offset === void 0) { offset = null; }\n        _super.call(this);\n        this.styles = styles;\n        this.offset = offset;\n    }\n    return AnimationStyleMetadata;\n}(AnimationMetadata));\nfunction AnimationStyleMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationStyleMetadata.prototype.styles;\n    /** @type {?} */\n    AnimationStyleMetadata.prototype.offset;\n}\n/**\n * Metadata representing the entry of animations.\n * Instances of this class are provided via the animation DSL when the {\\@link animate animate\n * animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n */\nexport var AnimationAnimateMetadata = (function (_super) {\n    __extends(AnimationAnimateMetadata, _super);\n    /**\n     * @param {?} timings\n     * @param {?} styles\n     */\n    function AnimationAnimateMetadata(timings, styles) {\n        _super.call(this);\n        this.timings = timings;\n        this.styles = styles;\n    }\n    return AnimationAnimateMetadata;\n}(AnimationMetadata));\nfunction AnimationAnimateMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationAnimateMetadata.prototype.timings;\n    /** @type {?} */\n    AnimationAnimateMetadata.prototype.styles;\n}\n/**\n * \\@experimental Animation support is experimental.\n * @abstract\n */\nexport var AnimationWithStepsMetadata = (function (_super) {\n    __extends(AnimationWithStepsMetadata, _super);\n    function AnimationWithStepsMetadata() {\n        _super.call(this);\n    }\n    Object.defineProperty(AnimationWithStepsMetadata.prototype, \"steps\", {\n        /**\n         * @return {?}\n         */\n        get: function () { throw new Error('NOT IMPLEMENTED: Base Class'); },\n        enumerable: true,\n        configurable: true\n    });\n    return AnimationWithStepsMetadata;\n}(AnimationMetadata));\n/**\n * Metadata representing the entry of animations.\n * Instances of this class are provided via the animation DSL when the {\\@link sequence sequence\n * animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n */\nexport var AnimationSequenceMetadata = (function (_super) {\n    __extends(AnimationSequenceMetadata, _super);\n    /**\n     * @param {?} _steps\n     */\n    function AnimationSequenceMetadata(_steps) {\n        _super.call(this);\n        this._steps = _steps;\n    }\n    Object.defineProperty(AnimationSequenceMetadata.prototype, \"steps\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._steps; },\n        enumerable: true,\n        configurable: true\n    });\n    return AnimationSequenceMetadata;\n}(AnimationWithStepsMetadata));\nfunction AnimationSequenceMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationSequenceMetadata.prototype._steps;\n}\n/**\n * Metadata representing the entry of animations.\n * Instances of this class are provided via the animation DSL when the {\\@link group group animation\n * function} is called.\n *\n * \\@experimental Animation support is experimental.\n */\nexport var AnimationGroupMetadata = (function (_super) {\n    __extends(AnimationGroupMetadata, _super);\n    /**\n     * @param {?} _steps\n     */\n    function AnimationGroupMetadata(_steps) {\n        _super.call(this);\n        this._steps = _steps;\n    }\n    Object.defineProperty(AnimationGroupMetadata.prototype, \"steps\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._steps; },\n        enumerable: true,\n        configurable: true\n    });\n    return AnimationGroupMetadata;\n}(AnimationWithStepsMetadata));\nfunction AnimationGroupMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationGroupMetadata.prototype._steps;\n}\n/**\n * `animate` is an animation-specific function that is designed to be used inside of Angular2's\n * animation\n * DSL language. If this information is new, please navigate to the\n * {\\@link Component#animations-anchor component animations metadata\n * page} to gain a better understanding of how animations in Angular2 are used.\n *\n * `animate` specifies an animation step that will apply the provided `styles` data for a given\n * amount of\n * time based on the provided `timing` expression value. Calls to `animate` are expected to be\n * used within {\\@link sequence an animation sequence}, {\\@link group group}, or {\\@link transition\n * transition}.\n *\n * ### Usage\n *\n * The `animate` function accepts two input parameters: `timing` and `styles`:\n *\n * - `timing` is a string based value that can be a combination of a duration with optional\n * delay and easing values. The format for the expression breaks down to `duration delay easing`\n * (therefore a value such as `1s 100ms ease-out` will be parse itself into `duration=1000,\n * delay=100, easing=ease-out`.\n * If a numeric value is provided then that will be used as the `duration` value in millisecond\n * form.\n * - `styles` is the style input data which can either be a call to {\\@link style style} or {\\@link\n * keyframes keyframes}.\n * If left empty then the styles from the destination state will be collected and used (this is\n * useful when\n * describing an animation step that will complete an animation by {\\@link\n * transition#the-final-animate-call animating to the final state}).\n *\n * ```typescript\n * // various functions for specifying timing data\n * animate(500, style(...))\n * animate(\"1s\", style(...))\n * animate(\"100ms 0.5s\", style(...))\n * animate(\"5s ease\", style(...))\n * animate(\"5s 10ms cubic-bezier(.17,.67,.88,.1)\", style(...))\n *\n * // either style() of keyframes() can be used\n * animate(500, style({ background: \"red\" }))\n * animate(500, keyframes([\n *   style({ background: \"blue\" })),\n *   style({ background: \"red\" }))\n * ])\n * ```\n *\n * ### Example ([live demo](http://plnkr.co/edit/Kez8XGWBxWue7qP7nNvF?p=preview))\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} timing\n * @param {?=} styles\n * @return {?}\n */\nexport function animate(timing, styles) {\n    if (styles === void 0) { styles = null; }\n    var /** @type {?} */ stylesEntry = styles;\n    if (!isPresent(stylesEntry)) {\n        var /** @type {?} */ EMPTY_STYLE = {};\n        stylesEntry = new AnimationStyleMetadata([EMPTY_STYLE], 1);\n    }\n    return new AnimationAnimateMetadata(timing, stylesEntry);\n}\n/**\n * `group` is an animation-specific function that is designed to be used inside of Angular2's\n * animation\n * DSL language. If this information is new, please navigate to the\n * {\\@link Component#animations-anchor component animations metadata\n * page} to gain a better understanding of how animations in Angular2 are used.\n *\n * `group` specifies a list of animation steps that are all run in parallel. Grouped animations\n * are useful when a series of styles must be animated/closed off\n * at different statrting/ending times.\n *\n * The `group` function can either be used within a {\\@link sequence sequence} or a {\\@link transition\n * transition}\n * and it will only continue to the next instruction once all of the inner animation steps\n * have completed.\n *\n * ### Usage\n *\n * The `steps` data that is passed into the `group` animation function can either consist\n * of {\\@link style style} or {\\@link animate animate} function calls. Each call to `style()` or\n * `animate()`\n * within a group will be executed instantly (use {\\@link keyframes keyframes} or a\n * {\\@link animate#usage animate() with a delay value} to offset styles to be applied at a later\n * time).\n *\n * ```typescript\n * group([\n *   animate(\"1s\", { background: \"black\" }))\n *   animate(\"2s\", { color: \"white\" }))\n * ])\n * ```\n *\n * ### Example ([live demo](http://plnkr.co/edit/Kez8XGWBxWue7qP7nNvF?p=preview))\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} steps\n * @return {?}\n */\nexport function group(steps) {\n    return new AnimationGroupMetadata(steps);\n}\n/**\n * `sequence` is an animation-specific function that is designed to be used inside of Angular2's\n * animation\n * DSL language. If this information is new, please navigate to the\n * {\\@link Component#animations-anchor component animations metadata\n * page} to gain a better understanding of how animations in Angular2 are used.\n *\n * `sequence` Specifies a list of animation steps that are run one by one. (`sequence` is used\n * by default when an array is passed as animation data into {\\@link transition transition}.)\n *\n * The `sequence` function can either be used within a {\\@link group group} or a {\\@link transition\n * transition}\n * and it will only continue to the next instruction once each of the inner animation steps\n * have completed.\n *\n * To perform animation styling in parallel with other animation steps then\n * have a look at the {\\@link group group} animation function.\n *\n * ### Usage\n *\n * The `steps` data that is passed into the `sequence` animation function can either consist\n * of {\\@link style style} or {\\@link animate animate} function calls. A call to `style()` will apply\n * the\n * provided styling data immediately while a call to `animate()` will apply its styling\n * data over a given time depending on its timing data.\n *\n * ```typescript\n * sequence([\n *   style({ opacity: 0 })),\n *   animate(\"1s\", { opacity: 1 }))\n * ])\n * ```\n *\n * ### Example ([live demo](http://plnkr.co/edit/Kez8XGWBxWue7qP7nNvF?p=preview))\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} steps\n * @return {?}\n */\nexport function sequence(steps) {\n    return new AnimationSequenceMetadata(steps);\n}\n/**\n * `style` is an animation-specific function that is designed to be used inside of Angular2's\n * animation\n * DSL language. If this information is new, please navigate to the\n * {\\@link Component#animations-anchor component animations metadata\n * page} to gain a better understanding of how animations in Angular2 are used.\n *\n * `style` declares a key/value object containing CSS properties/styles that can then\n * be used for {\\@link state animation states}, within an {\\@link sequence animation sequence}, or as\n * styling data for both {\\@link animate animate} and {\\@link keyframes keyframes}.\n *\n * ### Usage\n *\n * `style` takes in a key/value string map as data and expects one or more CSS property/value\n * pairs to be defined.\n *\n * ```typescript\n * // string values are used for css properties\n * style({ background: \"red\", color: \"blue\" })\n *\n * // numerical (pixel) values are also supported\n * style({ width: 100, height: 0 })\n * ```\n *\n * #### Auto-styles (using `*`)\n *\n * When an asterix (`*`) character is used as a value then it will be detected from the element\n * being animated\n * and applied as animation data when the animation starts.\n *\n * This feature proves useful for a state depending on layout and/or environment factors; in such\n * cases\n * the styles are calculated just before the animation starts.\n *\n * ```typescript\n * // the steps below will animate from 0 to the\n * // actual height of the element\n * style({ height: 0 }),\n * animate(\"1s\", style({ height: \"*\" }))\n * ```\n *\n * ### Example ([live demo](http://plnkr.co/edit/Kez8XGWBxWue7qP7nNvF?p=preview))\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} tokens\n * @return {?}\n */\nexport function style(tokens) {\n    var /** @type {?} */ input;\n    var /** @type {?} */ offset = null;\n    if (typeof tokens === 'string') {\n        input = [(tokens)];\n    }\n    else {\n        if (Array.isArray(tokens)) {\n            input = (tokens);\n        }\n        else {\n            input = [(tokens)];\n        }\n        input.forEach(function (entry) {\n            var /** @type {?} */ entryOffset = ((entry) /** TODO #9100 */)['offset'];\n            if (isPresent(entryOffset)) {\n                offset = offset == null ? parseFloat(entryOffset) : offset;\n            }\n        });\n    }\n    return new AnimationStyleMetadata(input, offset);\n}\n/**\n * `state` is an animation-specific function that is designed to be used inside of Angular2's\n * animation\n * DSL language. If this information is new, please navigate to the\n * {\\@link Component#animations-anchor component animations metadata\n * page} to gain a better understanding of how animations in Angular2 are used.\n *\n * `state` declares an animation state within the given trigger. When a state is\n * active within a component then its associated styles will persist on\n * the element that the trigger is attached to (even when the animation ends).\n *\n * To animate between states, have a look at the animation {\\@link transition transition}\n * DSL function. To register states to an animation trigger please have a look\n * at the {\\@link trigger trigger} function.\n *\n * #### The `void` state\n *\n * The `void` state value is a reserved word that angular uses to determine when the element is not\n * apart\n * of the application anymore (e.g. when an `ngIf` evaluates to false then the state of the\n * associated element\n * is void).\n *\n * #### The `*` (default) state\n *\n * The `*` state (when styled) is a fallback state that will be used if\n * the state that is being animated is not declared within the trigger.\n *\n * ### Usage\n *\n * `state` will declare an animation state with its associated styles\n * within the given trigger.\n *\n * - `stateNameExpr` can be one or more state names separated by commas.\n * - `styles` refers to the {\\@link style styling data} that will be persisted on the element once\n * the state\n * has been reached.\n *\n * ```typescript\n * // \"void\" is a reserved name for a state and is used to represent\n * // the state in which an element is detached from from the application.\n * state(\"void\", style({ height: 0 }))\n *\n * // user-defined states\n * state(\"closed\", style({ height: 0 }))\n * state(\"open, visible\", style({ height: \"*\" }))\n * ```\n *\n * ### Example ([live demo](http://plnkr.co/edit/Kez8XGWBxWue7qP7nNvF?p=preview))\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} stateNameExpr\n * @param {?} styles\n * @return {?}\n */\nexport function state(stateNameExpr, styles) {\n    return new AnimationStateDeclarationMetadata(stateNameExpr, styles);\n}\n/**\n * `keyframes` is an animation-specific function that is designed to be used inside of Angular2's\n * animation\n * DSL language. If this information is new, please navigate to the\n * {\\@link Component#animations-anchor component animations metadata\n * page} to gain a better understanding of how animations in Angular2 are used.\n *\n * `keyframes` specifies a collection of {\\@link style style} entries each optionally characterized\n * by an `offset` value.\n *\n * ### Usage\n *\n * The `keyframes` animation function is designed to be used alongside the {\\@link animate animate}\n * animation function. Instead of applying animations from where they are\n * currently to their destination, keyframes can describe how each style entry is applied\n * and at what point within the animation arc (much like CSS Keyframe Animations do).\n *\n * For each `style()` entry an `offset` value can be set. Doing so allows to specifiy at\n * what percentage of the animate time the styles will be applied.\n *\n * ```typescript\n * // the provided offset values describe when each backgroundColor value is applied.\n * animate(\"5s\", keyframes([\n *   style({ backgroundColor: \"red\", offset: 0 }),\n *   style({ backgroundColor: \"blue\", offset: 0.2 }),\n *   style({ backgroundColor: \"orange\", offset: 0.3 }),\n *   style({ backgroundColor: \"black\", offset: 1 })\n * ]))\n * ```\n *\n * Alternatively, if there are no `offset` values used within the style entries then the offsets\n * will\n * be calculated automatically.\n *\n * ```typescript\n * animate(\"5s\", keyframes([\n *   style({ backgroundColor: \"red\" }) // offset = 0\n *   style({ backgroundColor: \"blue\" }) // offset = 0.33\n *   style({ backgroundColor: \"orange\" }) // offset = 0.66\n *   style({ backgroundColor: \"black\" }) // offset = 1\n * ]))\n * ```\n *\n * ### Example ([live demo](http://plnkr.co/edit/Kez8XGWBxWue7qP7nNvF?p=preview))\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} steps\n * @return {?}\n */\nexport function keyframes(steps) {\n    return new AnimationKeyframesSequenceMetadata(steps);\n}\n/**\n * `transition` is an animation-specific function that is designed to be used inside of Angular2's\n * animation\n * DSL language. If this information is new, please navigate to the\n * {\\@link Component#animations-anchor component animations metadata\n * page} to gain a better understanding of how animations in Angular2 are used.\n *\n * `transition` declares the {\\@link sequence sequence of animation steps} that will be run when the\n * provided\n * `stateChangeExpr` value is satisfied. The `stateChangeExpr` consists of a `state1 => state2`\n * which consists\n * of two known states (use an asterix (`*`) to refer to a dynamic starting and/or ending state).\n *\n * Animation transitions are placed within an {\\@link trigger animation trigger}. For an transition\n * to animate to\n * a state value and persist its styles then one or more {\\@link state animation states} is expected\n * to be defined.\n *\n * ### Usage\n *\n * An animation transition is kicked off the `stateChangeExpr` predicate evaluates to true based on\n * what the\n * previous state is and what the current state has become. In other words, if a transition is\n * defined that\n * matches the old/current state criteria then the associated animation will be triggered.\n *\n * ```typescript\n * // all transition/state changes are defined within an animation trigger\n * trigger(\"myAnimationTrigger\", [\n *   // if a state is defined then its styles will be persisted when the\n *   // animation has fully completed itself\n *   state(\"on\", style({ background: \"green\" })),\n *   state(\"off\", style({ background: \"grey\" })),\n *\n *   // a transition animation that will be kicked off when the state value\n *   // bound to \"myAnimationTrigger\" changes from \"on\" to \"off\"\n *   transition(\"on => off\", animate(500)),\n *\n *   // it is also possible to do run the same animation for both directions\n *   transition(\"on <=> off\", animate(500)),\n *\n *   // or to define multiple states pairs separated by commas\n *   transition(\"on => off, off => void\", animate(500)),\n *\n *   // this is a catch-all state change for when an element is inserted into\n *   // the page and the destination state is unknown\n *   transition(\"void => *\", [\n *     style({ opacity: 0 }),\n *     animate(500)\n *   ]),\n *\n *   // this will capture a state change between any states\n *   transition(\"* => *\", animate(\"1s 0s\")),\n * ])\n * ```\n *\n * The template associated with this component will make use of the `myAnimationTrigger`\n * animation trigger by binding to an element within its template code.\n *\n * ```html\n * <!-- somewhere inside of my-component-tpl.html -->\n * <div [\\@myAnimationTrigger]=\"myStatusExp\">...</div>\n * ```\n *\n * #### The final `animate` call\n *\n * If the final step within the transition steps is a call to `animate()` that **only**\n * uses a timing value with **no style data** then it will be automatically used as the final\n * animation\n * arc for the element to animate itself to the final state. This involves an automatic mix of\n * adding/removing CSS styles so that the element will be in the exact state it should be for the\n * applied state to be presented correctly.\n *\n * ```\n * // start off by hiding the element, but make sure that it animates properly to whatever state\n * // is currently active for \"myAnimationTrigger\"\n * transition(\"void => *\", [\n *   style({ opacity: 0 }),\n *   animate(500)\n * ])\n * ```\n *\n * ### Transition Aliases (`:enter` and `:leave`)\n *\n * Given that enter (insertion) and leave (removal) animations are so common,\n * the `transition` function accepts both `:enter` and `:leave` values which\n * are aliases for the `void => *` and `* => void` state changes.\n *\n * ```\n * transition(\":enter\", [\n *   style({ opacity: 0 }),\n *   animate(500, style({ opacity: 1 }))\n * ])\n * transition(\":leave\", [\n *   animate(500, style({ opacity: 0 }))\n * ])\n * ```\n *\n * ### Example ([live demo](http://plnkr.co/edit/Kez8XGWBxWue7qP7nNvF?p=preview))\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} stateChangeExpr\n * @param {?} steps\n * @return {?}\n */\nexport function transition(stateChangeExpr, steps) {\n    var /** @type {?} */ animationData = Array.isArray(steps) ? new AnimationSequenceMetadata(steps) : steps;\n    return new AnimationStateTransitionMetadata(stateChangeExpr, animationData);\n}\n/**\n * `trigger` is an animation-specific function that is designed to be used inside of Angular2's\n * animation\n * DSL language. If this information is new, please navigate to the\n * {\\@link Component#animations-anchor component animations metadata\n * page} to gain a better understanding of how animations in Angular2 are used.\n *\n * `trigger` Creates an animation trigger which will a list of {\\@link state state} and {\\@link\n * transition transition}\n * entries that will be evaluated when the expression bound to the trigger changes.\n *\n * Triggers are registered within the component annotation data under the\n * {\\@link Component#animations-anchor animations section}. An animation trigger can\n * be placed on an element within a template by referencing the name of the\n * trigger followed by the expression value that the trigger is bound to\n * (in the form of `[\\@triggerName]=\"expression\"`.\n *\n * ### Usage\n *\n * `trigger` will create an animation trigger reference based on the provided `name` value.\n * The provided `animation` value is expected to be an array consisting of {\\@link state state} and\n * {\\@link transition transition}\n * declarations.\n *\n * ```typescript\n * \\@Component({\n *   selector: 'my-component',\n *   templateUrl: 'my-component-tpl.html',\n *   animations: [\n *     trigger(\"myAnimationTrigger\", [\n *       state(...),\n *       state(...),\n *       transition(...),\n *       transition(...)\n *     ])\n *   ]\n * })\n * class MyComponent {\n *   myStatusExp = \"something\";\n * }\n * ```\n *\n * The template associated with this component will make use of the `myAnimationTrigger`\n * animation trigger by binding to an element within its template code.\n *\n * ```html\n * <!-- somewhere inside of my-component-tpl.html -->\n * <div [\\@myAnimationTrigger]=\"myStatusExp\">...</div>\n * ```\n *\n * ### Example ([live demo](http://plnkr.co/edit/Kez8XGWBxWue7qP7nNvF?p=preview))\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} name\n * @param {?} animation\n * @return {?}\n */\nexport function trigger(name, animation) {\n    return new AnimationEntryMetadata(name, animation);\n}\n//# sourceMappingURL=metadata.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/animation/metadata.js\n// module id = 395\n// module chunks = 0","/**\n * \\@stable\n * @abstract\n */\nexport var ChangeDetectorRef = (function () {\n    function ChangeDetectorRef() {\n    }\n    /**\n     * Marks all {\\@link ChangeDetectionStrategy#OnPush} ancestors as to be checked.\n     *\n     * <!-- TODO: Add a link to a chapter on OnPush components -->\n     *\n     * ### Example ([live demo](http://plnkr.co/edit/GC512b?p=preview))\n     *\n     * ```typescript\n     * \\@Component({\n     *   selector: 'cmp',\n     *   changeDetection: ChangeDetectionStrategy.OnPush,\n     *   template: `Number of ticks: {{numberOfTicks}}`\n     * })\n     * class Cmp {\n     *   numberOfTicks = 0;\n     *\n     *   constructor(ref: ChangeDetectorRef) {\n     *     setInterval(() => {\n     *       this.numberOfTicks ++\n     *       // the following is required, otherwise the view will not be updated\n     *       this.ref.markForCheck();\n     *     }, 1000);\n     *   }\n     * }\n     *\n     * \\@Component({\n     *   selector: 'app',\n     *   changeDetection: ChangeDetectionStrategy.OnPush,\n     *   template: `\n     *     <cmp><cmp>\n     *   `,\n     * })\n     * class App {\n     * }\n     * ```\n     * @abstract\n     * @return {?}\n     */\n    ChangeDetectorRef.prototype.markForCheck = function () { };\n    /**\n     * Detaches the change detector from the change detector tree.\n     *\n     * The detached change detector will not be checked until it is reattached.\n     *\n     * This can also be used in combination with {\\@link ChangeDetectorRef#detectChanges} to implement\n     * local change\n     * detection checks.\n     *\n     * <!-- TODO: Add a link to a chapter on detach/reattach/local digest -->\n     * <!-- TODO: Add a live demo once ref.detectChanges is merged into master -->\n     *\n     * ### Example\n     *\n     * The following example defines a component with a large list of readonly data.\n     * Imagine the data changes constantly, many times per second. For performance reasons,\n     * we want to check and update the list every five seconds. We can do that by detaching\n     * the component's change detector and doing a local check every five seconds.\n     *\n     * ```typescript\n     * class DataProvider {\n     *   // in a real application the returned data will be different every time\n     *   get data() {\n     *     return [1,2,3,4,5];\n     *   }\n     * }\n     *\n     * \\@Component({\n     *   selector: 'giant-list',\n     *   template: `\n     *     <li *ngFor=\"let d of dataProvider.data\">Data {{d}}</lig>\n     *   `,\n     * })\n     * class GiantList {\n     *   constructor(private ref: ChangeDetectorRef, private dataProvider:DataProvider) {\n     *     ref.detach();\n     *     setInterval(() => {\n     *       this.ref.detectChanges();\n     *     }, 5000);\n     *   }\n     * }\n     *\n     * \\@Component({\n     *   selector: 'app',\n     *   providers: [DataProvider],\n     *   template: `\n     *     <giant-list><giant-list>\n     *   `,\n     * })\n     * class App {\n     * }\n     * ```\n     * @abstract\n     * @return {?}\n     */\n    ChangeDetectorRef.prototype.detach = function () { };\n    /**\n     * Checks the change detector and its children.\n     *\n     * This can also be used in combination with {\\@link ChangeDetectorRef#detach} to implement local\n     * change detection\n     * checks.\n     *\n     * <!-- TODO: Add a link to a chapter on detach/reattach/local digest -->\n     * <!-- TODO: Add a live demo once ref.detectChanges is merged into master -->\n     *\n     * ### Example\n     *\n     * The following example defines a component with a large list of readonly data.\n     * Imagine, the data changes constantly, many times per second. For performance reasons,\n     * we want to check and update the list every five seconds.\n     *\n     * We can do that by detaching the component's change detector and doing a local change detection\n     * check\n     * every five seconds.\n     *\n     * See {\\@link ChangeDetectorRef#detach} for more information.\n     * @abstract\n     * @return {?}\n     */\n    ChangeDetectorRef.prototype.detectChanges = function () { };\n    /**\n     * Checks the change detector and its children, and throws if any changes are detected.\n     *\n     * This is used in development mode to verify that running change detection doesn't introduce\n     * other changes.\n     * @abstract\n     * @return {?}\n     */\n    ChangeDetectorRef.prototype.checkNoChanges = function () { };\n    /**\n     * Reattach the change detector to the change detector tree.\n     *\n     * This also marks OnPush ancestors as to be checked. This reattached change detector will be\n     * checked during the next change detection run.\n     *\n     * <!-- TODO: Add a link to a chapter on detach/reattach/local digest -->\n     *\n     * ### Example ([live demo](http://plnkr.co/edit/aUhZha?p=preview))\n     *\n     * The following example creates a component displaying `live` data. The component will detach\n     * its change detector from the main change detector tree when the component's live property\n     * is set to false.\n     *\n     * ```typescript\n     * class DataProvider {\n     *   data = 1;\n     *\n     *   constructor() {\n     *     setInterval(() => {\n     *       this.data = this.data * 2;\n     *     }, 500);\n     *   }\n     * }\n     *\n     * \\@Component({\n     *   selector: 'live-data',\n     *   inputs: ['live'],\n     *   template: 'Data: {{dataProvider.data}}'\n     * })\n     * class LiveData {\n     *   constructor(private ref: ChangeDetectorRef, private dataProvider:DataProvider) {}\n     *\n     *   set live(value) {\n     *     if (value)\n     *       this.ref.reattach();\n     *     else\n     *       this.ref.detach();\n     *   }\n     * }\n     *\n     * \\@Component({\n     *   selector: 'app',\n     *   providers: [DataProvider],\n     *   template: `\n     *     Live Update: <input type=\"checkbox\" [(ngModel)]=\"live\">\n     *     <live-data [live]=\"live\"><live-data>\n     *   `,\n     * })\n     * class App {\n     *   live = true;\n     * }\n     * ```\n     * @abstract\n     * @return {?}\n     */\n    ChangeDetectorRef.prototype.reattach = function () { };\n    return ChangeDetectorRef;\n}());\n//# sourceMappingURL=change_detector_ref.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/change_detection/change_detector_ref.js\n// module id = 396\n// module chunks = 0","/**\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 */\nimport { isJsObject, looseIdentical, stringify } from '../../facade/lang';\nexport var DefaultKeyValueDifferFactory = (function () {\n    function DefaultKeyValueDifferFactory() {\n    }\n    /**\n     * @param {?} obj\n     * @return {?}\n     */\n    DefaultKeyValueDifferFactory.prototype.supports = function (obj) { return obj instanceof Map || isJsObject(obj); };\n    /**\n     * @param {?} cdRef\n     * @return {?}\n     */\n    DefaultKeyValueDifferFactory.prototype.create = function (cdRef) { return new DefaultKeyValueDiffer(); };\n    return DefaultKeyValueDifferFactory;\n}());\nexport var DefaultKeyValueDiffer = (function () {\n    function DefaultKeyValueDiffer() {\n        this._records = new Map();\n        this._mapHead = null;\n        this._previousMapHead = null;\n        this._changesHead = null;\n        this._changesTail = null;\n        this._additionsHead = null;\n        this._additionsTail = null;\n        this._removalsHead = null;\n        this._removalsTail = null;\n    }\n    Object.defineProperty(DefaultKeyValueDiffer.prototype, \"isDirty\", {\n        /**\n         * @return {?}\n         */\n        get: function () {\n            return this._additionsHead !== null || this._changesHead !== null ||\n                this._removalsHead !== null;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    DefaultKeyValueDiffer.prototype.forEachItem = function (fn) {\n        var /** @type {?} */ record;\n        for (record = this._mapHead; record !== null; record = record._next) {\n            fn(record);\n        }\n    };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    DefaultKeyValueDiffer.prototype.forEachPreviousItem = function (fn) {\n        var /** @type {?} */ record;\n        for (record = this._previousMapHead; record !== null; record = record._nextPrevious) {\n            fn(record);\n        }\n    };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    DefaultKeyValueDiffer.prototype.forEachChangedItem = function (fn) {\n        var /** @type {?} */ record;\n        for (record = this._changesHead; record !== null; record = record._nextChanged) {\n            fn(record);\n        }\n    };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    DefaultKeyValueDiffer.prototype.forEachAddedItem = function (fn) {\n        var /** @type {?} */ record;\n        for (record = this._additionsHead; record !== null; record = record._nextAdded) {\n            fn(record);\n        }\n    };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    DefaultKeyValueDiffer.prototype.forEachRemovedItem = function (fn) {\n        var /** @type {?} */ record;\n        for (record = this._removalsHead; record !== null; record = record._nextRemoved) {\n            fn(record);\n        }\n    };\n    /**\n     * @param {?} map\n     * @return {?}\n     */\n    DefaultKeyValueDiffer.prototype.diff = function (map) {\n        if (!map) {\n            map = new Map();\n        }\n        else if (!(map instanceof Map || isJsObject(map))) {\n            throw new Error(\"Error trying to diff '\" + map + \"'\");\n        }\n        return this.check(map) ? this : null;\n    };\n    /**\n     * @return {?}\n     */\n    DefaultKeyValueDiffer.prototype.onDestroy = function () { };\n    /**\n     * @param {?} map\n     * @return {?}\n     */\n    DefaultKeyValueDiffer.prototype.check = function (map) {\n        var _this = this;\n        this._reset();\n        var /** @type {?} */ records = this._records;\n        var /** @type {?} */ oldSeqRecord = this._mapHead;\n        var /** @type {?} */ lastOldSeqRecord = null;\n        var /** @type {?} */ lastNewSeqRecord = null;\n        var /** @type {?} */ seqChanged = false;\n        this._forEach(map, function (value, key) {\n            var /** @type {?} */ newSeqRecord;\n            if (oldSeqRecord && key === oldSeqRecord.key) {\n                newSeqRecord = oldSeqRecord;\n                _this._maybeAddToChanges(newSeqRecord, value);\n            }\n            else {\n                seqChanged = true;\n                if (oldSeqRecord !== null) {\n                    _this._removeFromSeq(lastOldSeqRecord, oldSeqRecord);\n                    _this._addToRemovals(oldSeqRecord);\n                }\n                if (records.has(key)) {\n                    newSeqRecord = records.get(key);\n                    _this._maybeAddToChanges(newSeqRecord, value);\n                }\n                else {\n                    newSeqRecord = new KeyValueChangeRecord(key);\n                    records.set(key, newSeqRecord);\n                    newSeqRecord.currentValue = value;\n                    _this._addToAdditions(newSeqRecord);\n                }\n            }\n            if (seqChanged) {\n                if (_this._isInRemovals(newSeqRecord)) {\n                    _this._removeFromRemovals(newSeqRecord);\n                }\n                if (lastNewSeqRecord == null) {\n                    _this._mapHead = newSeqRecord;\n                }\n                else {\n                    lastNewSeqRecord._next = newSeqRecord;\n                }\n            }\n            lastOldSeqRecord = oldSeqRecord;\n            lastNewSeqRecord = newSeqRecord;\n            oldSeqRecord = oldSeqRecord && oldSeqRecord._next;\n        });\n        this._truncate(lastOldSeqRecord, oldSeqRecord);\n        return this.isDirty;\n    };\n    /**\n     * \\@internal\n     * @return {?}\n     */\n    DefaultKeyValueDiffer.prototype._reset = function () {\n        if (this.isDirty) {\n            var /** @type {?} */ record = void 0;\n            // Record the state of the mapping\n            for (record = this._previousMapHead = this._mapHead; record !== null; record = record._next) {\n                record._nextPrevious = record._next;\n            }\n            for (record = this._changesHead; record !== null; record = record._nextChanged) {\n                record.previousValue = record.currentValue;\n            }\n            for (record = this._additionsHead; record != null; record = record._nextAdded) {\n                record.previousValue = record.currentValue;\n            }\n            this._changesHead = this._changesTail = null;\n            this._additionsHead = this._additionsTail = null;\n            this._removalsHead = this._removalsTail = null;\n        }\n    };\n    /**\n     * \\@internal\n     * @param {?} lastRecord\n     * @param {?} record\n     * @return {?}\n     */\n    DefaultKeyValueDiffer.prototype._truncate = function (lastRecord, record) {\n        while (record !== null) {\n            if (lastRecord === null) {\n                this._mapHead = null;\n            }\n            else {\n                lastRecord._next = null;\n            }\n            var /** @type {?} */ nextRecord = record._next;\n            this._addToRemovals(record);\n            lastRecord = record;\n            record = nextRecord;\n        }\n        for (var /** @type {?} */ rec = this._removalsHead; rec !== null; rec = rec._nextRemoved) {\n            rec.previousValue = rec.currentValue;\n            rec.currentValue = null;\n            this._records.delete(rec.key);\n        }\n    };\n    /**\n     * @param {?} record\n     * @param {?} newValue\n     * @return {?}\n     */\n    DefaultKeyValueDiffer.prototype._maybeAddToChanges = function (record, newValue) {\n        if (!looseIdentical(newValue, record.currentValue)) {\n            record.previousValue = record.currentValue;\n            record.currentValue = newValue;\n            this._addToChanges(record);\n        }\n    };\n    /**\n     * \\@internal\n     * @param {?} record\n     * @return {?}\n     */\n    DefaultKeyValueDiffer.prototype._isInRemovals = function (record) {\n        return record === this._removalsHead || record._nextRemoved !== null ||\n            record._prevRemoved !== null;\n    };\n    /**\n     * \\@internal\n     * @param {?} record\n     * @return {?}\n     */\n    DefaultKeyValueDiffer.prototype._addToRemovals = function (record) {\n        if (this._removalsHead === null) {\n            this._removalsHead = this._removalsTail = record;\n        }\n        else {\n            this._removalsTail._nextRemoved = record;\n            record._prevRemoved = this._removalsTail;\n            this._removalsTail = record;\n        }\n    };\n    /**\n     * \\@internal\n     * @param {?} prev\n     * @param {?} record\n     * @return {?}\n     */\n    DefaultKeyValueDiffer.prototype._removeFromSeq = function (prev, record) {\n        var /** @type {?} */ next = record._next;\n        if (prev === null) {\n            this._mapHead = next;\n        }\n        else {\n            prev._next = next;\n        }\n        record._next = null;\n    };\n    /**\n     * \\@internal\n     * @param {?} record\n     * @return {?}\n     */\n    DefaultKeyValueDiffer.prototype._removeFromRemovals = function (record) {\n        var /** @type {?} */ prev = record._prevRemoved;\n        var /** @type {?} */ next = record._nextRemoved;\n        if (prev === null) {\n            this._removalsHead = next;\n        }\n        else {\n            prev._nextRemoved = next;\n        }\n        if (next === null) {\n            this._removalsTail = prev;\n        }\n        else {\n            next._prevRemoved = prev;\n        }\n        record._prevRemoved = record._nextRemoved = null;\n    };\n    /**\n     * \\@internal\n     * @param {?} record\n     * @return {?}\n     */\n    DefaultKeyValueDiffer.prototype._addToAdditions = function (record) {\n        if (this._additionsHead === null) {\n            this._additionsHead = this._additionsTail = record;\n        }\n        else {\n            this._additionsTail._nextAdded = record;\n            this._additionsTail = record;\n        }\n    };\n    /**\n     * \\@internal\n     * @param {?} record\n     * @return {?}\n     */\n    DefaultKeyValueDiffer.prototype._addToChanges = function (record) {\n        if (this._changesHead === null) {\n            this._changesHead = this._changesTail = record;\n        }\n        else {\n            this._changesTail._nextChanged = record;\n            this._changesTail = record;\n        }\n    };\n    /**\n     * @return {?}\n     */\n    DefaultKeyValueDiffer.prototype.toString = function () {\n        var /** @type {?} */ items = [];\n        var /** @type {?} */ previous = [];\n        var /** @type {?} */ changes = [];\n        var /** @type {?} */ additions = [];\n        var /** @type {?} */ removals = [];\n        var /** @type {?} */ record;\n        for (record = this._mapHead; record !== null; record = record._next) {\n            items.push(stringify(record));\n        }\n        for (record = this._previousMapHead; record !== null; record = record._nextPrevious) {\n            previous.push(stringify(record));\n        }\n        for (record = this._changesHead; record !== null; record = record._nextChanged) {\n            changes.push(stringify(record));\n        }\n        for (record = this._additionsHead; record !== null; record = record._nextAdded) {\n            additions.push(stringify(record));\n        }\n        for (record = this._removalsHead; record !== null; record = record._nextRemoved) {\n            removals.push(stringify(record));\n        }\n        return 'map: ' + items.join(', ') + '\\n' +\n            'previous: ' + previous.join(', ') + '\\n' +\n            'additions: ' + additions.join(', ') + '\\n' +\n            'changes: ' + changes.join(', ') + '\\n' +\n            'removals: ' + removals.join(', ') + '\\n';\n    };\n    /**\n     * \\@internal\n     * @param {?} obj\n     * @param {?} fn\n     * @return {?}\n     */\n    DefaultKeyValueDiffer.prototype._forEach = function (obj, fn) {\n        if (obj instanceof Map) {\n            obj.forEach(fn);\n        }\n        else {\n            Object.keys(obj).forEach(function (k) { return fn(obj[k], k); });\n        }\n    };\n    return DefaultKeyValueDiffer;\n}());\nfunction DefaultKeyValueDiffer_tsickle_Closure_declarations() {\n    /** @type {?} */\n    DefaultKeyValueDiffer.prototype._records;\n    /** @type {?} */\n    DefaultKeyValueDiffer.prototype._mapHead;\n    /** @type {?} */\n    DefaultKeyValueDiffer.prototype._previousMapHead;\n    /** @type {?} */\n    DefaultKeyValueDiffer.prototype._changesHead;\n    /** @type {?} */\n    DefaultKeyValueDiffer.prototype._changesTail;\n    /** @type {?} */\n    DefaultKeyValueDiffer.prototype._additionsHead;\n    /** @type {?} */\n    DefaultKeyValueDiffer.prototype._additionsTail;\n    /** @type {?} */\n    DefaultKeyValueDiffer.prototype._removalsHead;\n    /** @type {?} */\n    DefaultKeyValueDiffer.prototype._removalsTail;\n}\n/**\n * \\@stable\n */\nexport var KeyValueChangeRecord = (function () {\n    /**\n     * @param {?} key\n     */\n    function KeyValueChangeRecord(key) {\n        this.key = key;\n        this.previousValue = null;\n        this.currentValue = null;\n        /** @internal */\n        this._nextPrevious = null;\n        /** @internal */\n        this._next = null;\n        /** @internal */\n        this._nextAdded = null;\n        /** @internal */\n        this._nextRemoved = null;\n        /** @internal */\n        this._prevRemoved = null;\n        /** @internal */\n        this._nextChanged = null;\n    }\n    /**\n     * @return {?}\n     */\n    KeyValueChangeRecord.prototype.toString = function () {\n        return looseIdentical(this.previousValue, this.currentValue) ?\n            stringify(this.key) :\n            (stringify(this.key) + '[' + stringify(this.previousValue) + '->' +\n                stringify(this.currentValue) + ']');\n    };\n    return KeyValueChangeRecord;\n}());\nfunction KeyValueChangeRecord_tsickle_Closure_declarations() {\n    /** @type {?} */\n    KeyValueChangeRecord.prototype.previousValue;\n    /** @type {?} */\n    KeyValueChangeRecord.prototype.currentValue;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    KeyValueChangeRecord.prototype._nextPrevious;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    KeyValueChangeRecord.prototype._next;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    KeyValueChangeRecord.prototype._nextAdded;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    KeyValueChangeRecord.prototype._nextRemoved;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    KeyValueChangeRecord.prototype._prevRemoved;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    KeyValueChangeRecord.prototype._nextChanged;\n    /** @type {?} */\n    KeyValueChangeRecord.prototype.key;\n}\n//# sourceMappingURL=default_keyvalue_differ.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/change_detection/differs/default_keyvalue_differ.js\n// module id = 397\n// module chunks = 0","/**\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 */\nimport { Optional, SkipSelf } from '../../di';\nimport { getTypeNameForDebugging, isPresent } from '../../facade/lang';\n/**\n * A repository of different iterable diffing strategies used by NgFor, NgClass, and others.\n * \\@stable\n */\nexport var IterableDiffers = (function () {\n    /**\n     * @param {?} factories\n     */\n    function IterableDiffers(factories) {\n        this.factories = factories;\n    }\n    /**\n     * @param {?} factories\n     * @param {?=} parent\n     * @return {?}\n     */\n    IterableDiffers.create = function (factories, parent) {\n        if (isPresent(parent)) {\n            var /** @type {?} */ copied = parent.factories.slice();\n            factories = factories.concat(copied);\n            return new IterableDiffers(factories);\n        }\n        else {\n            return new IterableDiffers(factories);\n        }\n    };\n    /**\n     * Takes an array of {\\@link IterableDifferFactory} and returns a provider used to extend the\n     * inherited {\\@link IterableDiffers} instance with the provided factories and return a new\n     * {\\@link IterableDiffers} instance.\n     *\n     * The following example shows how to extend an existing list of factories,\n     * which will only be applied to the injector for this component and its children.\n     * This step is all that's required to make a new {\\@link IterableDiffer} available.\n     *\n     * ### Example\n     *\n     * ```\n     * \\@Component({\n     *   viewProviders: [\n     *     IterableDiffers.extend([new ImmutableListDiffer()])\n     *   ]\n     * })\n     * ```\n     * @param {?} factories\n     * @return {?}\n     */\n    IterableDiffers.extend = function (factories) {\n        return {\n            provide: IterableDiffers,\n            useFactory: function (parent) {\n                if (!parent) {\n                    // Typically would occur when calling IterableDiffers.extend inside of dependencies passed\n                    // to\n                    // bootstrap(), which would override default pipes instead of extending them.\n                    throw new Error('Cannot extend IterableDiffers without a parent injector');\n                }\n                return IterableDiffers.create(factories, parent);\n            },\n            // Dependency technically isn't optional, but we can provide a better error message this way.\n            deps: [[IterableDiffers, new SkipSelf(), new Optional()]]\n        };\n    };\n    /**\n     * @param {?} iterable\n     * @return {?}\n     */\n    IterableDiffers.prototype.find = function (iterable) {\n        var /** @type {?} */ factory = this.factories.find(function (f) { return f.supports(iterable); });\n        if (isPresent(factory)) {\n            return factory;\n        }\n        else {\n            throw new Error(\"Cannot find a differ supporting object '\" + iterable + \"' of type '\" + getTypeNameForDebugging(iterable) + \"'\");\n        }\n    };\n    return IterableDiffers;\n}());\nfunction IterableDiffers_tsickle_Closure_declarations() {\n    /** @type {?} */\n    IterableDiffers.prototype.factories;\n}\n//# sourceMappingURL=iterable_differs.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/change_detection/differs/iterable_differs.js\n// module id = 398\n// module chunks = 0","/**\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 */\nimport { Optional, SkipSelf } from '../../di';\nimport { isPresent } from '../../facade/lang';\n/**\n * A repository of different Map diffing strategies used by NgClass, NgStyle, and others.\n * \\@stable\n */\nexport var KeyValueDiffers = (function () {\n    /**\n     * @param {?} factories\n     */\n    function KeyValueDiffers(factories) {\n        this.factories = factories;\n    }\n    /**\n     * @param {?} factories\n     * @param {?=} parent\n     * @return {?}\n     */\n    KeyValueDiffers.create = function (factories, parent) {\n        if (isPresent(parent)) {\n            var /** @type {?} */ copied = parent.factories.slice();\n            factories = factories.concat(copied);\n            return new KeyValueDiffers(factories);\n        }\n        else {\n            return new KeyValueDiffers(factories);\n        }\n    };\n    /**\n     * Takes an array of {\\@link KeyValueDifferFactory} and returns a provider used to extend the\n     * inherited {\\@link KeyValueDiffers} instance with the provided factories and return a new\n     * {\\@link KeyValueDiffers} instance.\n     *\n     * The following example shows how to extend an existing list of factories,\n     * which will only be applied to the injector for this component and its children.\n     * This step is all that's required to make a new {\\@link KeyValueDiffer} available.\n     *\n     * ### Example\n     *\n     * ```\n     * \\@Component({\n     *   viewProviders: [\n     *     KeyValueDiffers.extend([new ImmutableMapDiffer()])\n     *   ]\n     * })\n     * ```\n     * @param {?} factories\n     * @return {?}\n     */\n    KeyValueDiffers.extend = function (factories) {\n        return {\n            provide: KeyValueDiffers,\n            useFactory: function (parent) {\n                if (!parent) {\n                    // Typically would occur when calling KeyValueDiffers.extend inside of dependencies passed\n                    // to\n                    // bootstrap(), which would override default pipes instead of extending them.\n                    throw new Error('Cannot extend KeyValueDiffers without a parent injector');\n                }\n                return KeyValueDiffers.create(factories, parent);\n            },\n            // Dependency technically isn't optional, but we can provide a better error message this way.\n            deps: [[KeyValueDiffers, new SkipSelf(), new Optional()]]\n        };\n    };\n    /**\n     * @param {?} kv\n     * @return {?}\n     */\n    KeyValueDiffers.prototype.find = function (kv) {\n        var /** @type {?} */ factory = this.factories.find(function (f) { return f.supports(kv); });\n        if (isPresent(factory)) {\n            return factory;\n        }\n        else {\n            throw new Error(\"Cannot find a differ supporting object '\" + kv + \"'\");\n        }\n    };\n    return KeyValueDiffers;\n}());\nfunction KeyValueDiffers_tsickle_Closure_declarations() {\n    /** @type {?} */\n    KeyValueDiffers.prototype.factories;\n}\n//# sourceMappingURL=keyvalue_differs.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/change_detection/differs/keyvalue_differs.js\n// module id = 399\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nexport var EventListener = (function () {\n    /**\n     * @param {?} name\n     * @param {?} callback\n     */\n    function EventListener(name, callback) {\n        this.name = name;\n        this.callback = callback;\n    }\n    ;\n    return EventListener;\n}());\nfunction EventListener_tsickle_Closure_declarations() {\n    /** @type {?} */\n    EventListener.prototype.name;\n    /** @type {?} */\n    EventListener.prototype.callback;\n}\n/**\n * \\@experimental All debugging apis are currently experimental.\n */\nexport var DebugNode = (function () {\n    /**\n     * @param {?} nativeNode\n     * @param {?} parent\n     * @param {?} _debugInfo\n     */\n    function DebugNode(nativeNode, parent, _debugInfo) {\n        this._debugInfo = _debugInfo;\n        this.nativeNode = nativeNode;\n        if (parent && parent instanceof DebugElement) {\n            parent.addChild(this);\n        }\n        else {\n            this.parent = null;\n        }\n        this.listeners = [];\n    }\n    Object.defineProperty(DebugNode.prototype, \"injector\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._debugInfo ? this._debugInfo.injector : null; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(DebugNode.prototype, \"componentInstance\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._debugInfo ? this._debugInfo.component : null; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(DebugNode.prototype, \"context\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._debugInfo ? this._debugInfo.context : null; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(DebugNode.prototype, \"references\", {\n        /**\n         * @return {?}\n         */\n        get: function () {\n            return this._debugInfo ? this._debugInfo.references : null;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(DebugNode.prototype, \"providerTokens\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._debugInfo ? this._debugInfo.providerTokens : null; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(DebugNode.prototype, \"source\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._debugInfo ? this._debugInfo.source : null; },\n        enumerable: true,\n        configurable: true\n    });\n    return DebugNode;\n}());\nfunction DebugNode_tsickle_Closure_declarations() {\n    /** @type {?} */\n    DebugNode.prototype.nativeNode;\n    /** @type {?} */\n    DebugNode.prototype.listeners;\n    /** @type {?} */\n    DebugNode.prototype.parent;\n    /** @type {?} */\n    DebugNode.prototype._debugInfo;\n}\n/**\n * \\@experimental All debugging apis are currently experimental.\n */\nexport var DebugElement = (function (_super) {\n    __extends(DebugElement, _super);\n    /**\n     * @param {?} nativeNode\n     * @param {?} parent\n     * @param {?} _debugInfo\n     */\n    function DebugElement(nativeNode, parent, _debugInfo) {\n        _super.call(this, nativeNode, parent, _debugInfo);\n        this.properties = {};\n        this.attributes = {};\n        this.classes = {};\n        this.styles = {};\n        this.childNodes = [];\n        this.nativeElement = nativeNode;\n    }\n    /**\n     * @param {?} child\n     * @return {?}\n     */\n    DebugElement.prototype.addChild = function (child) {\n        if (child) {\n            this.childNodes.push(child);\n            child.parent = this;\n        }\n    };\n    /**\n     * @param {?} child\n     * @return {?}\n     */\n    DebugElement.prototype.removeChild = function (child) {\n        var /** @type {?} */ childIndex = this.childNodes.indexOf(child);\n        if (childIndex !== -1) {\n            child.parent = null;\n            this.childNodes.splice(childIndex, 1);\n        }\n    };\n    /**\n     * @param {?} child\n     * @param {?} newChildren\n     * @return {?}\n     */\n    DebugElement.prototype.insertChildrenAfter = function (child, newChildren) {\n        var /** @type {?} */ siblingIndex = this.childNodes.indexOf(child);\n        if (siblingIndex !== -1) {\n            var /** @type {?} */ previousChildren = this.childNodes.slice(0, siblingIndex + 1);\n            var /** @type {?} */ nextChildren = this.childNodes.slice(siblingIndex + 1);\n            this.childNodes = previousChildren.concat(newChildren, nextChildren);\n            for (var /** @type {?} */ i = 0; i < newChildren.length; ++i) {\n                var /** @type {?} */ newChild = newChildren[i];\n                if (newChild.parent) {\n                    newChild.parent.removeChild(newChild);\n                }\n                newChild.parent = this;\n            }\n        }\n    };\n    /**\n     * @param {?} predicate\n     * @return {?}\n     */\n    DebugElement.prototype.query = function (predicate) {\n        var /** @type {?} */ results = this.queryAll(predicate);\n        return results[0] || null;\n    };\n    /**\n     * @param {?} predicate\n     * @return {?}\n     */\n    DebugElement.prototype.queryAll = function (predicate) {\n        var /** @type {?} */ matches = [];\n        _queryElementChildren(this, predicate, matches);\n        return matches;\n    };\n    /**\n     * @param {?} predicate\n     * @return {?}\n     */\n    DebugElement.prototype.queryAllNodes = function (predicate) {\n        var /** @type {?} */ matches = [];\n        _queryNodeChildren(this, predicate, matches);\n        return matches;\n    };\n    Object.defineProperty(DebugElement.prototype, \"children\", {\n        /**\n         * @return {?}\n         */\n        get: function () {\n            return (this.childNodes.filter(function (node) { return node instanceof DebugElement; }));\n        },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @param {?} eventName\n     * @param {?} eventObj\n     * @return {?}\n     */\n    DebugElement.prototype.triggerEventHandler = function (eventName, eventObj) {\n        this.listeners.forEach(function (listener) {\n            if (listener.name == eventName) {\n                listener.callback(eventObj);\n            }\n        });\n    };\n    return DebugElement;\n}(DebugNode));\nfunction DebugElement_tsickle_Closure_declarations() {\n    /** @type {?} */\n    DebugElement.prototype.name;\n    /** @type {?} */\n    DebugElement.prototype.properties;\n    /** @type {?} */\n    DebugElement.prototype.attributes;\n    /** @type {?} */\n    DebugElement.prototype.classes;\n    /** @type {?} */\n    DebugElement.prototype.styles;\n    /** @type {?} */\n    DebugElement.prototype.childNodes;\n    /** @type {?} */\n    DebugElement.prototype.nativeElement;\n}\n/**\n * \\@experimental\n * @param {?} debugEls\n * @return {?}\n */\nexport function asNativeElements(debugEls) {\n    return debugEls.map(function (el) { return el.nativeElement; });\n}\n/**\n * @param {?} element\n * @param {?} predicate\n * @param {?} matches\n * @return {?}\n */\nfunction _queryElementChildren(element, predicate, matches) {\n    element.childNodes.forEach(function (node) {\n        if (node instanceof DebugElement) {\n            if (predicate(node)) {\n                matches.push(node);\n            }\n            _queryElementChildren(node, predicate, matches);\n        }\n    });\n}\n/**\n * @param {?} parentNode\n * @param {?} predicate\n * @param {?} matches\n * @return {?}\n */\nfunction _queryNodeChildren(parentNode, predicate, matches) {\n    if (parentNode instanceof DebugElement) {\n        parentNode.childNodes.forEach(function (node) {\n            if (predicate(node)) {\n                matches.push(node);\n            }\n            if (node instanceof DebugElement) {\n                _queryNodeChildren(node, predicate, matches);\n            }\n        });\n    }\n}\n// Need to keep the nodes in a global Map so that multiple angular apps are supported.\nvar /** @type {?} */ _nativeNodeToDebugNode = new Map();\n/**\n * \\@experimental\n * @param {?} nativeNode\n * @return {?}\n */\nexport function getDebugNode(nativeNode) {\n    return _nativeNodeToDebugNode.get(nativeNode);\n}\n/**\n * @return {?}\n */\nexport function getAllDebugNodes() {\n    return Array.from(_nativeNodeToDebugNode.values());\n}\n/**\n * @param {?} node\n * @return {?}\n */\nexport function indexDebugNode(node) {\n    _nativeNodeToDebugNode.set(node.nativeNode, node);\n}\n/**\n * @param {?} node\n * @return {?}\n */\nexport function removeDebugNodeFromIndex(node) {\n    _nativeNodeToDebugNode.delete(node.nativeNode);\n}\n//# sourceMappingURL=debug_node.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/debug/debug_node.js\n// module id = 400\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { BaseError, WrappedError } from '../facade/errors';\nimport { stringify } from '../facade/lang';\n/**\n * @param {?} keys\n * @return {?}\n */\nfunction findFirstClosedCycle(keys) {\n    var /** @type {?} */ res = [];\n    for (var /** @type {?} */ i = 0; i < keys.length; ++i) {\n        if (res.indexOf(keys[i]) > -1) {\n            res.push(keys[i]);\n            return res;\n        }\n        res.push(keys[i]);\n    }\n    return res;\n}\n/**\n * @param {?} keys\n * @return {?}\n */\nfunction constructResolvingPath(keys) {\n    if (keys.length > 1) {\n        var /** @type {?} */ reversed = findFirstClosedCycle(keys.slice().reverse());\n        var /** @type {?} */ tokenStrs = reversed.map(function (k) { return stringify(k.token); });\n        return ' (' + tokenStrs.join(' -> ') + ')';\n    }\n    return '';\n}\n/**\n * Base class for all errors arising from misconfigured providers.\n * \\@stable\n */\nexport var AbstractProviderError = (function (_super) {\n    __extends(AbstractProviderError, _super);\n    /**\n     * @param {?} injector\n     * @param {?} key\n     * @param {?} constructResolvingMessage\n     */\n    function AbstractProviderError(injector, key, constructResolvingMessage) {\n        _super.call(this, 'DI Error');\n        this.keys = [key];\n        this.injectors = [injector];\n        this.constructResolvingMessage = constructResolvingMessage;\n        this.message = this.constructResolvingMessage(this.keys);\n    }\n    /**\n     * @param {?} injector\n     * @param {?} key\n     * @return {?}\n     */\n    AbstractProviderError.prototype.addKey = function (injector, key) {\n        this.injectors.push(injector);\n        this.keys.push(key);\n        this.message = this.constructResolvingMessage(this.keys);\n    };\n    return AbstractProviderError;\n}(BaseError));\nfunction AbstractProviderError_tsickle_Closure_declarations() {\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    AbstractProviderError.prototype.message;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    AbstractProviderError.prototype.keys;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    AbstractProviderError.prototype.injectors;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    AbstractProviderError.prototype.constructResolvingMessage;\n}\n/**\n * Thrown when trying to retrieve a dependency by key from {\\@link Injector}, but the\n * {\\@link Injector} does not have a {\\@link Provider} for the given key.\n *\n * ### Example ([live demo](http://plnkr.co/edit/vq8D3FRB9aGbnWJqtEPE?p=preview))\n *\n * ```typescript\n * class A {\n *   constructor(b:B) {}\n * }\n *\n * expect(() => Injector.resolveAndCreate([A])).toThrowError();\n * ```\n * \\@stable\n */\nexport var NoProviderError = (function (_super) {\n    __extends(NoProviderError, _super);\n    /**\n     * @param {?} injector\n     * @param {?} key\n     */\n    function NoProviderError(injector, key) {\n        _super.call(this, injector, key, function (keys) {\n            var first = stringify(keys[0].token);\n            return \"No provider for \" + first + \"!\" + constructResolvingPath(keys);\n        });\n    }\n    return NoProviderError;\n}(AbstractProviderError));\n/**\n * Thrown when dependencies form a cycle.\n *\n * ### Example ([live demo](http://plnkr.co/edit/wYQdNos0Tzql3ei1EV9j?p=info))\n *\n * ```typescript\n * var injector = Injector.resolveAndCreate([\n *   {provide: \"one\", useFactory: (two) => \"two\", deps: [[new Inject(\"two\")]]},\n *   {provide: \"two\", useFactory: (one) => \"one\", deps: [[new Inject(\"one\")]]}\n * ]);\n *\n * expect(() => injector.get(\"one\")).toThrowError();\n * ```\n *\n * Retrieving `A` or `B` throws a `CyclicDependencyError` as the graph above cannot be constructed.\n * \\@stable\n */\nexport var CyclicDependencyError = (function (_super) {\n    __extends(CyclicDependencyError, _super);\n    /**\n     * @param {?} injector\n     * @param {?} key\n     */\n    function CyclicDependencyError(injector, key) {\n        _super.call(this, injector, key, function (keys) {\n            return \"Cannot instantiate cyclic dependency!\" + constructResolvingPath(keys);\n        });\n    }\n    return CyclicDependencyError;\n}(AbstractProviderError));\n/**\n * Thrown when a constructing type returns with an Error.\n *\n * The `InstantiationError` class contains the original error plus the dependency graph which caused\n * this object to be instantiated.\n *\n * ### Example ([live demo](http://plnkr.co/edit/7aWYdcqTQsP0eNqEdUAf?p=preview))\n *\n * ```typescript\n * class A {\n *   constructor() {\n *     throw new Error('message');\n *   }\n * }\n *\n * var injector = Injector.resolveAndCreate([A]);\n * try {\n *   injector.get(A);\n * } catch (e) {\n *   expect(e instanceof InstantiationError).toBe(true);\n *   expect(e.originalException.message).toEqual(\"message\");\n *   expect(e.originalStack).toBeDefined();\n * }\n * ```\n * \\@stable\n */\nexport var InstantiationError = (function (_super) {\n    __extends(InstantiationError, _super);\n    /**\n     * @param {?} injector\n     * @param {?} originalException\n     * @param {?} originalStack\n     * @param {?} key\n     */\n    function InstantiationError(injector, originalException, originalStack, key) {\n        _super.call(this, 'DI Error', originalException);\n        this.keys = [key];\n        this.injectors = [injector];\n    }\n    /**\n     * @param {?} injector\n     * @param {?} key\n     * @return {?}\n     */\n    InstantiationError.prototype.addKey = function (injector, key) {\n        this.injectors.push(injector);\n        this.keys.push(key);\n    };\n    Object.defineProperty(InstantiationError.prototype, \"message\", {\n        /**\n         * @return {?}\n         */\n        get: function () {\n            var /** @type {?} */ first = stringify(this.keys[0].token);\n            return this.originalError.message + \": Error during instantiation of \" + first + \"!\" + constructResolvingPath(this.keys) + \".\";\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(InstantiationError.prototype, \"causeKey\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this.keys[0]; },\n        enumerable: true,\n        configurable: true\n    });\n    return InstantiationError;\n}(WrappedError));\nfunction InstantiationError_tsickle_Closure_declarations() {\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    InstantiationError.prototype.keys;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    InstantiationError.prototype.injectors;\n}\n/**\n * Thrown when an object other then {\\@link Provider} (or `Type`) is passed to {\\@link Injector}\n * creation.\n *\n * ### Example ([live demo](http://plnkr.co/edit/YatCFbPAMCL0JSSQ4mvH?p=preview))\n *\n * ```typescript\n * expect(() => Injector.resolveAndCreate([\"not a type\"])).toThrowError();\n * ```\n * \\@stable\n */\nexport var InvalidProviderError = (function (_super) {\n    __extends(InvalidProviderError, _super);\n    /**\n     * @param {?} provider\n     */\n    function InvalidProviderError(provider) {\n        _super.call(this, \"Invalid provider - only instances of Provider and Type are allowed, got: \" + provider);\n    }\n    return InvalidProviderError;\n}(BaseError));\n/**\n * Thrown when the class has no annotation information.\n *\n * Lack of annotation information prevents the {\\@link Injector} from determining which dependencies\n * need to be injected into the constructor.\n *\n * ### Example ([live demo](http://plnkr.co/edit/rHnZtlNS7vJOPQ6pcVkm?p=preview))\n *\n * ```typescript\n * class A {\n *   constructor(b) {}\n * }\n *\n * expect(() => Injector.resolveAndCreate([A])).toThrowError();\n * ```\n *\n * This error is also thrown when the class not marked with {\\@link Injectable} has parameter types.\n *\n * ```typescript\n * class B {}\n *\n * class A {\n *   constructor(b:B) {} // no information about the parameter types of A is available at runtime.\n * }\n *\n * expect(() => Injector.resolveAndCreate([A,B])).toThrowError();\n * ```\n * \\@stable\n */\nexport var NoAnnotationError = (function (_super) {\n    __extends(NoAnnotationError, _super);\n    /**\n     * @param {?} typeOrFunc\n     * @param {?} params\n     */\n    function NoAnnotationError(typeOrFunc, params) {\n        _super.call(this, NoAnnotationError._genMessage(typeOrFunc, params));\n    }\n    /**\n     * @param {?} typeOrFunc\n     * @param {?} params\n     * @return {?}\n     */\n    NoAnnotationError._genMessage = function (typeOrFunc, params) {\n        var /** @type {?} */ signature = [];\n        for (var /** @type {?} */ i = 0, /** @type {?} */ ii = params.length; i < ii; i++) {\n            var /** @type {?} */ parameter = params[i];\n            if (!parameter || parameter.length == 0) {\n                signature.push('?');\n            }\n            else {\n                signature.push(parameter.map(stringify).join(' '));\n            }\n        }\n        return 'Cannot resolve all parameters for \\'' + stringify(typeOrFunc) + '\\'(' +\n            signature.join(', ') + '). ' +\n            'Make sure that all the parameters are decorated with Inject or have valid type annotations and that \\'' +\n            stringify(typeOrFunc) + '\\' is decorated with Injectable.';\n    };\n    return NoAnnotationError;\n}(BaseError));\n/**\n * Thrown when getting an object by index.\n *\n * ### Example ([live demo](http://plnkr.co/edit/bRs0SX2OTQiJzqvjgl8P?p=preview))\n *\n * ```typescript\n * class A {}\n *\n * var injector = Injector.resolveAndCreate([A]);\n *\n * expect(() => injector.getAt(100)).toThrowError();\n * ```\n * \\@stable\n */\nexport var OutOfBoundsError = (function (_super) {\n    __extends(OutOfBoundsError, _super);\n    /**\n     * @param {?} index\n     */\n    function OutOfBoundsError(index) {\n        _super.call(this, \"Index \" + index + \" is out-of-bounds.\");\n    }\n    return OutOfBoundsError;\n}(BaseError));\n/**\n * Thrown when a multi provider and a regular provider are bound to the same token.\n *\n * ### Example\n *\n * ```typescript\n * expect(() => Injector.resolveAndCreate([\n *   { provide: \"Strings\", useValue: \"string1\", multi: true},\n *   { provide: \"Strings\", useValue: \"string2\", multi: false}\n * ])).toThrowError();\n * ```\n */\nexport var MixingMultiProvidersWithRegularProvidersError = (function (_super) {\n    __extends(MixingMultiProvidersWithRegularProvidersError, _super);\n    /**\n     * @param {?} provider1\n     * @param {?} provider2\n     */\n    function MixingMultiProvidersWithRegularProvidersError(provider1, provider2) {\n        _super.call(this, 'Cannot mix multi providers and regular providers, got: ' + provider1.toString() + ' ' +\n            provider2.toString());\n    }\n    return MixingMultiProvidersWithRegularProvidersError;\n}(BaseError));\n//# sourceMappingURL=reflective_errors.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/di/reflective_errors.js\n// module id = 401\n// module chunks = 0","/**\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/**\n * \\@whatItDoes Provides a hook for centralized exception handling.\n *\n * \\@description\n *\n * The default implementation of `ErrorHandler` prints error messages to the `console`. To\n * intercept error handling, write a custom exception handler that replaces this default as\n * appropriate for your app.\n *\n * ### Example\n *\n * ```\n * class MyErrorHandler implements ErrorHandler {\n *   handleError(error) {\n *     // do something with the exception\n *   }\n * }\n *\n * \\@NgModule({\n *   providers: [{provide: ErrorHandler, useClass: MyErrorHandler}]\n * })\n * class MyModule {}\n * ```\n *\n * \\@stable\n */\nexport var ErrorHandler = (function () {\n    /**\n     * @param {?=} rethrowError\n     */\n    function ErrorHandler(rethrowError) {\n        if (rethrowError === void 0) { rethrowError = true; }\n        /**\n         * @internal\n         */\n        this._console = console;\n        this.rethrowError = rethrowError;\n    }\n    /**\n     * @param {?} error\n     * @return {?}\n     */\n    ErrorHandler.prototype.handleError = function (error) {\n        var /** @type {?} */ originalError = this._findOriginalError(error);\n        var /** @type {?} */ originalStack = this._findOriginalStack(error);\n        var /** @type {?} */ context = this._findContext(error);\n        this._console.error(\"EXCEPTION: \" + this._extractMessage(error));\n        if (originalError) {\n            this._console.error(\"ORIGINAL EXCEPTION: \" + this._extractMessage(originalError));\n        }\n        if (originalStack) {\n            this._console.error('ORIGINAL STACKTRACE:');\n            this._console.error(originalStack);\n        }\n        if (context) {\n            this._console.error('ERROR CONTEXT:');\n            this._console.error(context);\n        }\n        // We rethrow exceptions, so operations like 'bootstrap' will result in an error\n        // when an error happens. If we do not rethrow, bootstrap will always succeed.\n        if (this.rethrowError)\n            throw error;\n    };\n    /**\n     * \\@internal\n     * @param {?} error\n     * @return {?}\n     */\n    ErrorHandler.prototype._extractMessage = function (error) {\n        return error instanceof Error ? error.message : error.toString();\n    };\n    /**\n     * \\@internal\n     * @param {?} error\n     * @return {?}\n     */\n    ErrorHandler.prototype._findContext = function (error) {\n        if (error) {\n            return error.context ? error.context :\n                this._findContext(((error)).originalError);\n        }\n        return null;\n    };\n    /**\n     * \\@internal\n     * @param {?} error\n     * @return {?}\n     */\n    ErrorHandler.prototype._findOriginalError = function (error) {\n        var /** @type {?} */ e = ((error)).originalError;\n        while (e && ((e)).originalError) {\n            e = ((e)).originalError;\n        }\n        return e;\n    };\n    /**\n     * \\@internal\n     * @param {?} error\n     * @return {?}\n     */\n    ErrorHandler.prototype._findOriginalStack = function (error) {\n        if (!(error instanceof Error))\n            return null;\n        var /** @type {?} */ e = error;\n        var /** @type {?} */ stack = e.stack;\n        while (e instanceof Error && ((e)).originalError) {\n            e = ((e)).originalError;\n            if (e instanceof Error && e.stack) {\n                stack = e.stack;\n            }\n        }\n        return stack;\n    };\n    return ErrorHandler;\n}());\nfunction ErrorHandler_tsickle_Closure_declarations() {\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    ErrorHandler.prototype._console;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    ErrorHandler.prototype.rethrowError;\n}\n//# sourceMappingURL=error_handler.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/error_handler.js\n// module id = 402\n// module chunks = 0","/**\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 */\nimport { OpaqueToken } from '../di/opaque_token';\n/**\n * @experimental i18n support is experimental.\n */\nexport var /** @type {?} */ LOCALE_ID = new OpaqueToken('LocaleId');\n/**\n * @experimental i18n support is experimental.\n */\nexport var /** @type {?} */ TRANSLATIONS = new OpaqueToken('Translations');\n/**\n * @experimental i18n support is experimental.\n */\nexport var /** @type {?} */ TRANSLATIONS_FORMAT = new OpaqueToken('TranslationsFormat');\n//# sourceMappingURL=tokens.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/i18n/tokens.js\n// module id = 403\n// module chunks = 0","/**\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 */\nimport { isBlank, isPresent } from '../facade/lang';\nimport { ViewType } from './view_type';\nexport var StaticNodeDebugInfo = (function () {\n    /**\n     * @param {?} providerTokens\n     * @param {?} componentToken\n     * @param {?} refTokens\n     */\n    function StaticNodeDebugInfo(providerTokens, componentToken, refTokens) {\n        this.providerTokens = providerTokens;\n        this.componentToken = componentToken;\n        this.refTokens = refTokens;\n    }\n    return StaticNodeDebugInfo;\n}());\nfunction StaticNodeDebugInfo_tsickle_Closure_declarations() {\n    /** @type {?} */\n    StaticNodeDebugInfo.prototype.providerTokens;\n    /** @type {?} */\n    StaticNodeDebugInfo.prototype.componentToken;\n    /** @type {?} */\n    StaticNodeDebugInfo.prototype.refTokens;\n}\nexport var DebugContext = (function () {\n    /**\n     * @param {?} _view\n     * @param {?} _nodeIndex\n     * @param {?} _tplRow\n     * @param {?} _tplCol\n     */\n    function DebugContext(_view, _nodeIndex, _tplRow, _tplCol) {\n        this._view = _view;\n        this._nodeIndex = _nodeIndex;\n        this._tplRow = _tplRow;\n        this._tplCol = _tplCol;\n    }\n    Object.defineProperty(DebugContext.prototype, \"_staticNodeInfo\", {\n        /**\n         * @return {?}\n         */\n        get: function () {\n            return isPresent(this._nodeIndex) ? this._view.staticNodeDebugInfos[this._nodeIndex] : null;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(DebugContext.prototype, \"context\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._view.context; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(DebugContext.prototype, \"component\", {\n        /**\n         * @return {?}\n         */\n        get: function () {\n            var /** @type {?} */ staticNodeInfo = this._staticNodeInfo;\n            if (isPresent(staticNodeInfo) && isPresent(staticNodeInfo.componentToken)) {\n                return this.injector.get(staticNodeInfo.componentToken);\n            }\n            return null;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(DebugContext.prototype, \"componentRenderElement\", {\n        /**\n         * @return {?}\n         */\n        get: function () {\n            var /** @type {?} */ componentView = this._view;\n            while (isPresent(componentView.parentView) && componentView.type !== ViewType.COMPONENT) {\n                componentView = (componentView.parentView);\n            }\n            return componentView.parentElement;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(DebugContext.prototype, \"injector\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._view.injector(this._nodeIndex); },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(DebugContext.prototype, \"renderNode\", {\n        /**\n         * @return {?}\n         */\n        get: function () {\n            if (isPresent(this._nodeIndex) && this._view.allNodes) {\n                return this._view.allNodes[this._nodeIndex];\n            }\n            else {\n                return null;\n            }\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(DebugContext.prototype, \"providerTokens\", {\n        /**\n         * @return {?}\n         */\n        get: function () {\n            var /** @type {?} */ staticNodeInfo = this._staticNodeInfo;\n            return isPresent(staticNodeInfo) ? staticNodeInfo.providerTokens : null;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(DebugContext.prototype, \"source\", {\n        /**\n         * @return {?}\n         */\n        get: function () {\n            return this._view.componentType.templateUrl + \":\" + this._tplRow + \":\" + this._tplCol;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(DebugContext.prototype, \"references\", {\n        /**\n         * @return {?}\n         */\n        get: function () {\n            var _this = this;\n            var /** @type {?} */ varValues = {};\n            var /** @type {?} */ staticNodeInfo = this._staticNodeInfo;\n            if (isPresent(staticNodeInfo)) {\n                var /** @type {?} */ refs_1 = staticNodeInfo.refTokens;\n                Object.keys(refs_1).forEach(function (refName) {\n                    var /** @type {?} */ refToken = refs_1[refName];\n                    var /** @type {?} */ varValue;\n                    if (isBlank(refToken)) {\n                        varValue = _this._view.allNodes ? _this._view.allNodes[_this._nodeIndex] : null;\n                    }\n                    else {\n                        varValue = _this._view.injectorGet(refToken, _this._nodeIndex, null);\n                    }\n                    varValues[refName] = varValue;\n                });\n            }\n            return varValues;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    return DebugContext;\n}());\nfunction DebugContext_tsickle_Closure_declarations() {\n    /** @type {?} */\n    DebugContext.prototype._view;\n    /** @type {?} */\n    DebugContext.prototype._nodeIndex;\n    /** @type {?} */\n    DebugContext.prototype._tplRow;\n    /** @type {?} */\n    DebugContext.prototype._tplCol;\n}\n//# sourceMappingURL=debug_context.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/linker/debug_context.js\n// module id = 404\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { UNINITIALIZED } from '../change_detection/change_detection_util';\nimport { BaseError, WrappedError } from '../facade/errors';\n/**\n * An error thrown if application changes model breaking the top-down data flow.\n *\n * This exception is only thrown in dev mode.\n *\n * <!-- TODO: Add a link once the dev mode option is configurable -->\n *\n * ### Example\n *\n * ```typescript\n * \\@Component({\n *   selector: 'parent',\n *   template: '<child [prop]=\"parentProp\"></child>',\n * })\n * class Parent {\n *   parentProp = 'init';\n * }\n *\n * \\@Directive({selector: 'child', inputs: ['prop']})\n * class Child {\n *   constructor(public parent: Parent) {}\n *\n *   set prop(v) {\n *     // this updates the parent property, which is disallowed during change detection\n *     // this will result in ExpressionChangedAfterItHasBeenCheckedError\n *     this.parent.parentProp = 'updated';\n *   }\n * }\n * ```\n * \\@stable\n */\nexport var ExpressionChangedAfterItHasBeenCheckedError = (function (_super) {\n    __extends(ExpressionChangedAfterItHasBeenCheckedError, _super);\n    /**\n     * @param {?} oldValue\n     * @param {?} currValue\n     */\n    function ExpressionChangedAfterItHasBeenCheckedError(oldValue, currValue) {\n        var msg = \"Expression has changed after it was checked. Previous value: '\" + oldValue + \"'. Current value: '\" + currValue + \"'.\";\n        if (oldValue === UNINITIALIZED) {\n            msg +=\n                \" It seems like the view has been created after its parent and its children have been dirty checked.\" +\n                    \" Has it been created in a change detection hook ?\";\n        }\n        _super.call(this, msg);\n    }\n    return ExpressionChangedAfterItHasBeenCheckedError;\n}(BaseError));\n/**\n * Thrown when an exception was raised during view creation, change detection or destruction.\n *\n * This error wraps the original exception to attach additional contextual information that can\n * be useful for debugging.\n * \\@stable\n */\nexport var ViewWrappedError = (function (_super) {\n    __extends(ViewWrappedError, _super);\n    /**\n     * @param {?} originalError\n     * @param {?} context\n     */\n    function ViewWrappedError(originalError, context) {\n        _super.call(this, \"Error in \" + context.source, originalError);\n        this.context = context;\n    }\n    return ViewWrappedError;\n}(WrappedError));\nfunction ViewWrappedError_tsickle_Closure_declarations() {\n    /**\n     * DebugContext\n     * @type {?}\n     */\n    ViewWrappedError.prototype.context;\n}\n/**\n * Thrown when a destroyed view is used.\n *\n * This error indicates a bug in the framework.\n *\n * This is an internal Angular error.\n * \\@stable\n */\nexport var ViewDestroyedError = (function (_super) {\n    __extends(ViewDestroyedError, _super);\n    /**\n     * @param {?} details\n     */\n    function ViewDestroyedError(details) {\n        _super.call(this, \"Attempt to use a destroyed view: \" + details);\n    }\n    return ViewDestroyedError;\n}(BaseError));\n//# sourceMappingURL=errors.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/linker/errors.js\n// module id = 405\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { Injector, THROW_IF_NOT_FOUND } from '../di/injector';\nimport { stringify } from '../facade/lang';\nimport { CodegenComponentFactoryResolver, ComponentFactoryResolver } from './component_factory_resolver';\n/**\n * Represents an instance of an NgModule created via a {\\@link NgModuleFactory}.\n *\n * `NgModuleRef` provides access to the NgModule Instance as well other objects related to this\n * NgModule Instance.\n *\n * \\@stable\n * @abstract\n */\nexport var NgModuleRef = (function () {\n    function NgModuleRef() {\n    }\n    /**\n     * The injector that contains all of the providers of the NgModule.\n     * @abstract\n     * @return {?}\n     */\n    NgModuleRef.prototype.injector = function () { };\n    /**\n     * The ComponentFactoryResolver to get hold of the ComponentFactories\n     * declared in the `entryComponents` property of the module.\n     * @abstract\n     * @return {?}\n     */\n    NgModuleRef.prototype.componentFactoryResolver = function () { };\n    /**\n     * The NgModule instance.\n     * @abstract\n     * @return {?}\n     */\n    NgModuleRef.prototype.instance = function () { };\n    /**\n     * Destroys the module instance and all of the data structures associated with it.\n     * @abstract\n     * @return {?}\n     */\n    NgModuleRef.prototype.destroy = function () { };\n    /**\n     * Allows to register a callback that will be called when the module is destroyed.\n     * @abstract\n     * @param {?} callback\n     * @return {?}\n     */\n    NgModuleRef.prototype.onDestroy = function (callback) { };\n    return NgModuleRef;\n}());\n/**\n * \\@experimental\n */\nexport var NgModuleFactory = (function () {\n    /**\n     * @param {?} _injectorClass\n     * @param {?} _moduleType\n     */\n    function NgModuleFactory(_injectorClass, _moduleType) {\n        this._injectorClass = _injectorClass;\n        this._moduleType = _moduleType;\n    }\n    Object.defineProperty(NgModuleFactory.prototype, \"moduleType\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._moduleType; },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @param {?} parentInjector\n     * @return {?}\n     */\n    NgModuleFactory.prototype.create = function (parentInjector) {\n        if (!parentInjector) {\n            parentInjector = Injector.NULL;\n        }\n        var /** @type {?} */ instance = new this._injectorClass(parentInjector);\n        instance.create();\n        return instance;\n    };\n    return NgModuleFactory;\n}());\nfunction NgModuleFactory_tsickle_Closure_declarations() {\n    /** @type {?} */\n    NgModuleFactory.prototype._injectorClass;\n    /** @type {?} */\n    NgModuleFactory.prototype._moduleType;\n}\nvar /** @type {?} */ _UNDEFINED = new Object();\n/**\n * @abstract\n */\nexport var NgModuleInjector = (function (_super) {\n    __extends(NgModuleInjector, _super);\n    /**\n     * @param {?} parent\n     * @param {?} factories\n     * @param {?} bootstrapFactories\n     */\n    function NgModuleInjector(parent, factories, bootstrapFactories) {\n        _super.call(this, factories, parent.get(ComponentFactoryResolver, ComponentFactoryResolver.NULL));\n        this.parent = parent;\n        this.bootstrapFactories = bootstrapFactories;\n        this._destroyListeners = [];\n        this._destroyed = false;\n    }\n    /**\n     * @return {?}\n     */\n    NgModuleInjector.prototype.create = function () { this.instance = this.createInternal(); };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    NgModuleInjector.prototype.createInternal = function () { };\n    /**\n     * @param {?} token\n     * @param {?=} notFoundValue\n     * @return {?}\n     */\n    NgModuleInjector.prototype.get = function (token, notFoundValue) {\n        if (notFoundValue === void 0) { notFoundValue = THROW_IF_NOT_FOUND; }\n        if (token === Injector || token === ComponentFactoryResolver) {\n            return this;\n        }\n        var /** @type {?} */ result = this.getInternal(token, _UNDEFINED);\n        return result === _UNDEFINED ? this.parent.get(token, notFoundValue) : result;\n    };\n    /**\n     * @abstract\n     * @param {?} token\n     * @param {?} notFoundValue\n     * @return {?}\n     */\n    NgModuleInjector.prototype.getInternal = function (token, notFoundValue) { };\n    Object.defineProperty(NgModuleInjector.prototype, \"injector\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgModuleInjector.prototype, \"componentFactoryResolver\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this; },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @return {?}\n     */\n    NgModuleInjector.prototype.destroy = function () {\n        if (this._destroyed) {\n            throw new Error(\"The ng module \" + stringify(this.instance.constructor) + \" has already been destroyed.\");\n        }\n        this._destroyed = true;\n        this.destroyInternal();\n        this._destroyListeners.forEach(function (listener) { return listener(); });\n    };\n    /**\n     * @param {?} callback\n     * @return {?}\n     */\n    NgModuleInjector.prototype.onDestroy = function (callback) { this._destroyListeners.push(callback); };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    NgModuleInjector.prototype.destroyInternal = function () { };\n    return NgModuleInjector;\n}(CodegenComponentFactoryResolver));\nfunction NgModuleInjector_tsickle_Closure_declarations() {\n    /** @type {?} */\n    NgModuleInjector.prototype._destroyListeners;\n    /** @type {?} */\n    NgModuleInjector.prototype._destroyed;\n    /** @type {?} */\n    NgModuleInjector.prototype.instance;\n    /** @type {?} */\n    NgModuleInjector.prototype.parent;\n    /** @type {?} */\n    NgModuleInjector.prototype.bootstrapFactories;\n}\n//# sourceMappingURL=ng_module_factory.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/linker/ng_module_factory.js\n// module id = 406\n// module chunks = 0","/**\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/**\n * Used to load ng module factories.\n * \\@stable\n * @abstract\n */\nexport var NgModuleFactoryLoader = (function () {\n    function NgModuleFactoryLoader() {\n    }\n    /**\n     * @abstract\n     * @param {?} path\n     * @return {?}\n     */\n    NgModuleFactoryLoader.prototype.load = function (path) { };\n    return NgModuleFactoryLoader;\n}());\nvar /** @type {?} */ moduleFactories = new Map();\n/**\n * Registers a loaded module. Should only be called from generated NgModuleFactory code.\n * \\@experimental\n * @param {?} id\n * @param {?} factory\n * @return {?}\n */\nexport function registerModuleFactory(id, factory) {\n    var /** @type {?} */ existing = moduleFactories.get(id);\n    if (existing) {\n        throw new Error(\"Duplicate module registered for \" + id + \" - \" + existing.moduleType.name + \" vs \" + factory.moduleType.name);\n    }\n    moduleFactories.set(id, factory);\n}\n/**\n * @return {?}\n */\nexport function clearModulesForTest() {\n    moduleFactories = new Map();\n}\n/**\n * Returns the NgModuleFactory with the given id, if it exists and has been loaded.\n * Factories for modules that do not specify an `id` cannot be retrieved. Throws if the module\n * cannot be found.\n * \\@experimental\n * @param {?} id\n * @return {?}\n */\nexport function getModuleFactory(id) {\n    var /** @type {?} */ factory = moduleFactories.get(id);\n    if (!factory)\n        throw new Error(\"No module with ID \" + id + \" loaded\");\n    return factory;\n}\n//# sourceMappingURL=ng_module_factory_loader.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/linker/ng_module_factory_loader.js\n// module id = 407\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { ElementRef } from './element_ref';\n/**\n * Represents an Embedded Template that can be used to instantiate Embedded Views.\n *\n * You can access a `TemplateRef`, in two ways. Via a directive placed on a `<template>` element (or\n * directive prefixed with `*`) and have the `TemplateRef` for this Embedded View injected into the\n * constructor of the directive using the `TemplateRef` Token. Alternatively you can query for the\n * `TemplateRef` from a Component or a Directive via {\\@link Query}.\n *\n * To instantiate Embedded Views based on a Template, use\n * {\\@link ViewContainerRef#createEmbeddedView}, which will create the View and attach it to the\n * View Container.\n * \\@stable\n * @abstract\n */\nexport var TemplateRef = (function () {\n    function TemplateRef() {\n    }\n    /**\n     * @abstract\n     * @return {?}\n     */\n    TemplateRef.prototype.elementRef = function () { };\n    /**\n     * @abstract\n     * @param {?} context\n     * @return {?}\n     */\n    TemplateRef.prototype.createEmbeddedView = function (context) { };\n    return TemplateRef;\n}());\nexport var TemplateRef_ = (function (_super) {\n    __extends(TemplateRef_, _super);\n    /**\n     * @param {?} _parentView\n     * @param {?} _nodeIndex\n     * @param {?} _nativeElement\n     */\n    function TemplateRef_(_parentView, _nodeIndex, _nativeElement) {\n        _super.call(this);\n        this._parentView = _parentView;\n        this._nodeIndex = _nodeIndex;\n        this._nativeElement = _nativeElement;\n    }\n    /**\n     * @param {?} context\n     * @return {?}\n     */\n    TemplateRef_.prototype.createEmbeddedView = function (context) {\n        var /** @type {?} */ view = this._parentView.createEmbeddedViewInternal(this._nodeIndex);\n        view.create(context || ({}));\n        return view.ref;\n    };\n    Object.defineProperty(TemplateRef_.prototype, \"elementRef\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return new ElementRef(this._nativeElement); },\n        enumerable: true,\n        configurable: true\n    });\n    return TemplateRef_;\n}(TemplateRef));\nfunction TemplateRef__tsickle_Closure_declarations() {\n    /** @type {?} */\n    TemplateRef_.prototype._parentView;\n    /** @type {?} */\n    TemplateRef_.prototype._nodeIndex;\n    /** @type {?} */\n    TemplateRef_.prototype._nativeElement;\n}\n//# sourceMappingURL=template_ref.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/linker/template_ref.js\n// module id = 408\n// module chunks = 0","/**\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 */\nimport { isPresent } from '../facade/lang';\nimport { wtfCreateScope, wtfLeave } from '../profile/profile';\n/**\n * Represents a container where one or more Views can be attached.\n *\n * The container can contain two kinds of Views. Host Views, created by instantiating a\n * {\\@link Component} via {\\@link #createComponent}, and Embedded Views, created by instantiating an\n * {\\@link TemplateRef Embedded Template} via {\\@link #createEmbeddedView}.\n *\n * The location of the View Container within the containing View is specified by the Anchor\n * `element`. Each View Container can have only one Anchor Element and each Anchor Element can only\n * have a single View Container.\n *\n * Root elements of Views attached to this container become siblings of the Anchor Element in\n * the Rendered View.\n *\n * To access a `ViewContainerRef` of an Element, you can either place a {\\@link Directive} injected\n * with `ViewContainerRef` on the Element, or you obtain it via a {\\@link ViewChild} query.\n * \\@stable\n * @abstract\n */\nexport var ViewContainerRef = (function () {\n    function ViewContainerRef() {\n    }\n    /**\n     * Anchor element that specifies the location of this container in the containing View.\n     * <!-- TODO: rename to anchorElement -->\n     * @abstract\n     * @return {?}\n     */\n    ViewContainerRef.prototype.element = function () { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    ViewContainerRef.prototype.injector = function () { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    ViewContainerRef.prototype.parentInjector = function () { };\n    /**\n     * Destroys all Views in this container.\n     * @abstract\n     * @return {?}\n     */\n    ViewContainerRef.prototype.clear = function () { };\n    /**\n     * Returns the {\\@link ViewRef} for the View located in this container at the specified index.\n     * @abstract\n     * @param {?} index\n     * @return {?}\n     */\n    ViewContainerRef.prototype.get = function (index) { };\n    /**\n     * Returns the number of Views currently attached to this container.\n     * @abstract\n     * @return {?}\n     */\n    ViewContainerRef.prototype.length = function () { };\n    /**\n     * Instantiates an Embedded View based on the {\\@link TemplateRef `templateRef`} and inserts it\n     * into this container at the specified `index`.\n     *\n     * If `index` is not specified, the new View will be inserted as the last View in the container.\n     *\n     * Returns the {\\@link ViewRef} for the newly created View.\n     * @abstract\n     * @param {?} templateRef\n     * @param {?=} context\n     * @param {?=} index\n     * @return {?}\n     */\n    ViewContainerRef.prototype.createEmbeddedView = function (templateRef, context, index) { };\n    /**\n     * Instantiates a single {\\@link Component} and inserts its Host View into this container at the\n     * specified `index`.\n     *\n     * The component is instantiated using its {\\@link ComponentFactory} which can be\n     * obtained via {\\@link ComponentFactoryResolver#resolveComponentFactory}.\n     *\n     * If `index` is not specified, the new View will be inserted as the last View in the container.\n     *\n     * You can optionally specify the {\\@link Injector} that will be used as parent for the Component.\n     *\n     * Returns the {\\@link ComponentRef} of the Host View created for the newly instantiated Component.\n     * @abstract\n     * @param {?} componentFactory\n     * @param {?=} index\n     * @param {?=} injector\n     * @param {?=} projectableNodes\n     * @return {?}\n     */\n    ViewContainerRef.prototype.createComponent = function (componentFactory, index, injector, projectableNodes) { };\n    /**\n     * Inserts a View identified by a {\\@link ViewRef} into the container at the specified `index`.\n     *\n     * If `index` is not specified, the new View will be inserted as the last View in the container.\n     *\n     * Returns the inserted {\\@link ViewRef}.\n     * @abstract\n     * @param {?} viewRef\n     * @param {?=} index\n     * @return {?}\n     */\n    ViewContainerRef.prototype.insert = function (viewRef, index) { };\n    /**\n     * Moves a View identified by a {\\@link ViewRef} into the container at the specified `index`.\n     *\n     * Returns the inserted {\\@link ViewRef}.\n     * @abstract\n     * @param {?} viewRef\n     * @param {?} currentIndex\n     * @return {?}\n     */\n    ViewContainerRef.prototype.move = function (viewRef, currentIndex) { };\n    /**\n     * Returns the index of the View, specified via {\\@link ViewRef}, within the current container or\n     * `-1` if this container doesn't contain the View.\n     * @abstract\n     * @param {?} viewRef\n     * @return {?}\n     */\n    ViewContainerRef.prototype.indexOf = function (viewRef) { };\n    /**\n     * Destroys a View attached to this container at the specified `index`.\n     *\n     * If `index` is not specified, the last View in the container will be removed.\n     * @abstract\n     * @param {?=} index\n     * @return {?}\n     */\n    ViewContainerRef.prototype.remove = function (index) { };\n    /**\n     * Use along with {\\@link #insert} to move a View within the current container.\n     *\n     * If the `index` param is omitted, the last {\\@link ViewRef} is detached.\n     * @abstract\n     * @param {?=} index\n     * @return {?}\n     */\n    ViewContainerRef.prototype.detach = function (index) { };\n    return ViewContainerRef;\n}());\nexport var ViewContainerRef_ = (function () {\n    /**\n     * @param {?} _element\n     */\n    function ViewContainerRef_(_element) {\n        this._element = _element;\n        /** @internal */\n        this._createComponentInContainerScope = wtfCreateScope('ViewContainerRef#createComponent()');\n        /** @internal */\n        this._insertScope = wtfCreateScope('ViewContainerRef#insert()');\n        /** @internal */\n        this._removeScope = wtfCreateScope('ViewContainerRef#remove()');\n        /** @internal */\n        this._detachScope = wtfCreateScope('ViewContainerRef#detach()');\n    }\n    /**\n     * @param {?} index\n     * @return {?}\n     */\n    ViewContainerRef_.prototype.get = function (index) { return this._element.nestedViews[index].ref; };\n    Object.defineProperty(ViewContainerRef_.prototype, \"length\", {\n        /**\n         * @return {?}\n         */\n        get: function () {\n            var /** @type {?} */ views = this._element.nestedViews;\n            return isPresent(views) ? views.length : 0;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(ViewContainerRef_.prototype, \"element\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._element.elementRef; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(ViewContainerRef_.prototype, \"injector\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._element.injector; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(ViewContainerRef_.prototype, \"parentInjector\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._element.parentInjector; },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @param {?} templateRef\n     * @param {?=} context\n     * @param {?=} index\n     * @return {?}\n     */\n    ViewContainerRef_.prototype.createEmbeddedView = function (templateRef, context, index) {\n        if (context === void 0) { context = null; }\n        if (index === void 0) { index = -1; }\n        var /** @type {?} */ viewRef = templateRef.createEmbeddedView(context);\n        this.insert(viewRef, index);\n        return viewRef;\n    };\n    /**\n     * @param {?} componentFactory\n     * @param {?=} index\n     * @param {?=} injector\n     * @param {?=} projectableNodes\n     * @return {?}\n     */\n    ViewContainerRef_.prototype.createComponent = function (componentFactory, index, injector, projectableNodes) {\n        if (index === void 0) { index = -1; }\n        if (injector === void 0) { injector = null; }\n        if (projectableNodes === void 0) { projectableNodes = null; }\n        var /** @type {?} */ s = this._createComponentInContainerScope();\n        var /** @type {?} */ contextInjector = injector || this._element.parentInjector;\n        var /** @type {?} */ componentRef = componentFactory.create(contextInjector, projectableNodes);\n        this.insert(componentRef.hostView, index);\n        return wtfLeave(s, componentRef);\n    };\n    /**\n     * @param {?} viewRef\n     * @param {?=} index\n     * @return {?}\n     */\n    ViewContainerRef_.prototype.insert = function (viewRef, index) {\n        if (index === void 0) { index = -1; }\n        var /** @type {?} */ s = this._insertScope();\n        if (index == -1)\n            index = this.length;\n        var /** @type {?} */ viewRef_ = (viewRef);\n        this._element.attachView(viewRef_.internalView, index);\n        return wtfLeave(s, viewRef_);\n    };\n    /**\n     * @param {?} viewRef\n     * @param {?} currentIndex\n     * @return {?}\n     */\n    ViewContainerRef_.prototype.move = function (viewRef, currentIndex) {\n        var /** @type {?} */ s = this._insertScope();\n        if (currentIndex == -1)\n            return;\n        var /** @type {?} */ viewRef_ = (viewRef);\n        this._element.moveView(viewRef_.internalView, currentIndex);\n        return wtfLeave(s, viewRef_);\n    };\n    /**\n     * @param {?} viewRef\n     * @return {?}\n     */\n    ViewContainerRef_.prototype.indexOf = function (viewRef) {\n        return this.length ? this._element.nestedViews.indexOf(((viewRef)).internalView) :\n            -1;\n    };\n    /**\n     * @param {?=} index\n     * @return {?}\n     */\n    ViewContainerRef_.prototype.remove = function (index) {\n        if (index === void 0) { index = -1; }\n        var /** @type {?} */ s = this._removeScope();\n        if (index == -1)\n            index = this.length - 1;\n        var /** @type {?} */ view = this._element.detachView(index);\n        view.destroy();\n        // view is intentionally not returned to the client.\n        wtfLeave(s);\n    };\n    /**\n     * @param {?=} index\n     * @return {?}\n     */\n    ViewContainerRef_.prototype.detach = function (index) {\n        if (index === void 0) { index = -1; }\n        var /** @type {?} */ s = this._detachScope();\n        if (index == -1)\n            index = this.length - 1;\n        var /** @type {?} */ view = this._element.detachView(index);\n        return wtfLeave(s, view.ref);\n    };\n    /**\n     * @return {?}\n     */\n    ViewContainerRef_.prototype.clear = function () {\n        for (var /** @type {?} */ i = this.length - 1; i >= 0; i--) {\n            this.remove(i);\n        }\n    };\n    return ViewContainerRef_;\n}());\nfunction ViewContainerRef__tsickle_Closure_declarations() {\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    ViewContainerRef_.prototype._createComponentInContainerScope;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    ViewContainerRef_.prototype._insertScope;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    ViewContainerRef_.prototype._removeScope;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    ViewContainerRef_.prototype._detachScope;\n    /** @type {?} */\n    ViewContainerRef_.prototype._element;\n}\n//# sourceMappingURL=view_container_ref.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/linker/view_container_ref.js\n// module id = 409\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { ChangeDetectorRef } from '../change_detection/change_detector_ref';\nimport { ChangeDetectorStatus } from '../change_detection/constants';\n/**\n * \\@stable\n * @abstract\n */\nexport var ViewRef = (function (_super) {\n    __extends(ViewRef, _super);\n    function ViewRef() {\n        _super.apply(this, arguments);\n    }\n    /**\n     * Destroys the view and all of the data structures associated with it.\n     * @abstract\n     * @return {?}\n     */\n    ViewRef.prototype.destroy = function () { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    ViewRef.prototype.destroyed = function () { };\n    /**\n     * @abstract\n     * @param {?} callback\n     * @return {?}\n     */\n    ViewRef.prototype.onDestroy = function (callback) { };\n    return ViewRef;\n}(ChangeDetectorRef));\n/**\n * Represents an Angular View.\n *\n * <!-- TODO: move the next two paragraphs to the dev guide -->\n * A View is a fundamental building block of the application UI. It is the smallest grouping of\n * Elements which are created and destroyed together.\n *\n * Properties of elements in a View can change, but the structure (number and order) of elements in\n * a View cannot. Changing the structure of Elements can only be done by inserting, moving or\n * removing nested Views via a {\\@link ViewContainerRef}. Each View can contain many View Containers.\n * <!-- /TODO -->\n *\n * ### Example\n *\n * Given this template...\n *\n * ```\n * Count: {{items.length}}\n * <ul>\n *   <li *ngFor=\"let  item of items\">{{item}}</li>\n * </ul>\n * ```\n *\n * We have two {\\@link TemplateRef}s:\n *\n * Outer {\\@link TemplateRef}:\n * ```\n * Count: {{items.length}}\n * <ul>\n *   <template ngFor let-item [ngForOf]=\"items\"></template>\n * </ul>\n * ```\n *\n * Inner {\\@link TemplateRef}:\n * ```\n *   <li>{{item}}</li>\n * ```\n *\n * Notice that the original template is broken down into two separate {\\@link TemplateRef}s.\n *\n * The outer/inner {\\@link TemplateRef}s are then assembled into views like so:\n *\n * ```\n * <!-- ViewRef: outer-0 -->\n * Count: 2\n * <ul>\n *   <template view-container-ref></template>\n *   <!-- ViewRef: inner-1 --><li>first</li><!-- /ViewRef: inner-1 -->\n *   <!-- ViewRef: inner-2 --><li>second</li><!-- /ViewRef: inner-2 -->\n * </ul>\n * <!-- /ViewRef: outer-0 -->\n * ```\n * \\@experimental\n * @abstract\n */\nexport var EmbeddedViewRef = (function (_super) {\n    __extends(EmbeddedViewRef, _super);\n    function EmbeddedViewRef() {\n        _super.apply(this, arguments);\n    }\n    /**\n     * @abstract\n     * @return {?}\n     */\n    EmbeddedViewRef.prototype.context = function () { };\n    /**\n     * @abstract\n     * @return {?}\n     */\n    EmbeddedViewRef.prototype.rootNodes = function () { };\n    return EmbeddedViewRef;\n}(ViewRef));\nexport var ViewRef_ = (function () {\n    /**\n     * @param {?} _view\n     * @param {?} animationQueue\n     */\n    function ViewRef_(_view, animationQueue) {\n        this._view = _view;\n        this.animationQueue = animationQueue;\n        this._view = _view;\n        this._originalMode = this._view.cdMode;\n    }\n    Object.defineProperty(ViewRef_.prototype, \"internalView\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._view; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(ViewRef_.prototype, \"rootNodes\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._view.flatRootNodes; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(ViewRef_.prototype, \"context\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._view.context; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(ViewRef_.prototype, \"destroyed\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._view.destroyed; },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @return {?}\n     */\n    ViewRef_.prototype.markForCheck = function () { this._view.markPathToRootAsCheckOnce(); };\n    /**\n     * @return {?}\n     */\n    ViewRef_.prototype.detach = function () { this._view.cdMode = ChangeDetectorStatus.Detached; };\n    /**\n     * @return {?}\n     */\n    ViewRef_.prototype.detectChanges = function () {\n        this._view.detectChanges(false);\n        this.animationQueue.flush();\n    };\n    /**\n     * @return {?}\n     */\n    ViewRef_.prototype.checkNoChanges = function () { this._view.detectChanges(true); };\n    /**\n     * @return {?}\n     */\n    ViewRef_.prototype.reattach = function () {\n        this._view.cdMode = this._originalMode;\n        this.markForCheck();\n    };\n    /**\n     * @param {?} callback\n     * @return {?}\n     */\n    ViewRef_.prototype.onDestroy = function (callback) {\n        if (!this._view.disposables) {\n            this._view.disposables = [];\n        }\n        this._view.disposables.push(callback);\n    };\n    /**\n     * @return {?}\n     */\n    ViewRef_.prototype.destroy = function () { this._view.detachAndDestroy(); };\n    return ViewRef_;\n}());\nfunction ViewRef__tsickle_Closure_declarations() {\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    ViewRef_.prototype._originalMode;\n    /** @type {?} */\n    ViewRef_.prototype._view;\n    /** @type {?} */\n    ViewRef_.prototype.animationQueue;\n}\n//# sourceMappingURL=view_ref.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/linker/view_ref.js\n// module id = 410\n// module chunks = 0","/**\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 */\nexport { ANALYZE_FOR_ENTRY_COMPONENTS, Attribute, ContentChild, ContentChildren, Query, ViewChild, ViewChildren } from './metadata/di';\nexport { Component, Directive, HostBinding, HostListener, Input, Output, Pipe } from './metadata/directives';\nexport { AfterContentChecked, AfterContentInit, AfterViewChecked, AfterViewInit, DoCheck, OnChanges, OnDestroy, OnInit } from './metadata/lifecycle_hooks';\nexport { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from './metadata/ng_module';\nexport { ViewEncapsulation } from './metadata/view';\n//# sourceMappingURL=metadata.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/metadata.js\n// module id = 411\n// module chunks = 0","/**\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 */\nexport var LifecycleHooks = {};\nLifecycleHooks.OnInit = 0;\nLifecycleHooks.OnDestroy = 1;\nLifecycleHooks.DoCheck = 2;\nLifecycleHooks.OnChanges = 3;\nLifecycleHooks.AfterContentInit = 4;\nLifecycleHooks.AfterContentChecked = 5;\nLifecycleHooks.AfterViewInit = 6;\nLifecycleHooks.AfterViewChecked = 7;\nLifecycleHooks[LifecycleHooks.OnInit] = \"OnInit\";\nLifecycleHooks[LifecycleHooks.OnDestroy] = \"OnDestroy\";\nLifecycleHooks[LifecycleHooks.DoCheck] = \"DoCheck\";\nLifecycleHooks[LifecycleHooks.OnChanges] = \"OnChanges\";\nLifecycleHooks[LifecycleHooks.AfterContentInit] = \"AfterContentInit\";\nLifecycleHooks[LifecycleHooks.AfterContentChecked] = \"AfterContentChecked\";\nLifecycleHooks[LifecycleHooks.AfterViewInit] = \"AfterViewInit\";\nLifecycleHooks[LifecycleHooks.AfterViewChecked] = \"AfterViewChecked\";\nexport var /** @type {?} */ LIFECYCLE_HOOKS_VALUES = [\n    LifecycleHooks.OnInit, LifecycleHooks.OnDestroy, LifecycleHooks.DoCheck, LifecycleHooks.OnChanges,\n    LifecycleHooks.AfterContentInit, LifecycleHooks.AfterContentChecked, LifecycleHooks.AfterViewInit,\n    LifecycleHooks.AfterViewChecked\n];\n/**\n * \\@whatItDoes Lifecycle hook that is called when any data-bound property of a directive changes.\n * \\@howToUse\n * {\\@example core/ts/metadata/lifecycle_hooks_spec.ts region='OnChanges'}\n *\n * \\@description\n * `ngOnChanges` is called right after the data-bound properties have been checked and before view\n * and content children are checked if at least one of them has changed.\n * The `changes` parameter contains the changed properties.\n *\n * See {\\@linkDocs guide/lifecycle-hooks#onchanges \"Lifecycle Hooks Guide\"}.\n *\n * \\@stable\n * @abstract\n */\nexport var OnChanges = (function () {\n    function OnChanges() {\n    }\n    /**\n     * @abstract\n     * @param {?} changes\n     * @return {?}\n     */\n    OnChanges.prototype.ngOnChanges = function (changes) { };\n    return OnChanges;\n}());\n/**\n * \\@whatItDoes Lifecycle hook that is called after data-bound properties of a directive are\n * initialized.\n * \\@howToUse\n * {\\@example core/ts/metadata/lifecycle_hooks_spec.ts region='OnInit'}\n *\n * \\@description\n * `ngOnInit` is called right after the directive's data-bound properties have been checked for the\n * first time, and before any of its children have been checked. It is invoked only once when the\n * directive is instantiated.\n *\n * See {\\@linkDocs guide/lifecycle-hooks \"Lifecycle Hooks Guide\"}.\n *\n * \\@stable\n * @abstract\n */\nexport var OnInit = (function () {\n    function OnInit() {\n    }\n    /**\n     * @abstract\n     * @return {?}\n     */\n    OnInit.prototype.ngOnInit = function () { };\n    return OnInit;\n}());\n/**\n * \\@whatItDoes Lifecycle hook that is called when Angular dirty checks a directive.\n * \\@howToUse\n * {\\@example core/ts/metadata/lifecycle_hooks_spec.ts region='DoCheck'}\n *\n * \\@description\n * `ngDoCheck` gets called to check the changes in the directives in addition to the default\n * algorithm. The default change detection algorithm looks for differences by comparing\n * bound-property values by reference across change detection runs.\n *\n * Note that a directive typically should not use both `DoCheck` and {\\@link OnChanges} to respond to\n * changes on the same input, as `ngOnChanges` will continue to be called when the default change\n * detector detects changes.\n *\n * See {\\@link KeyValueDiffers} and {\\@link IterableDiffers} for implementing custom dirty checking\n * for collections.\n *\n * See {\\@linkDocs guide/lifecycle-hooks#docheck \"Lifecycle Hooks Guide\"}.\n *\n * \\@stable\n * @abstract\n */\nexport var DoCheck = (function () {\n    function DoCheck() {\n    }\n    /**\n     * @abstract\n     * @return {?}\n     */\n    DoCheck.prototype.ngDoCheck = function () { };\n    return DoCheck;\n}());\n/**\n * \\@whatItDoes Lifecycle hook that is called when a directive, pipe or service is destroyed.\n * \\@howToUse\n * {\\@example core/ts/metadata/lifecycle_hooks_spec.ts region='OnDestroy'}\n *\n * \\@description\n * `ngOnDestroy` callback is typically used for any custom cleanup that needs to occur when the\n * instance is destroyed.\n *\n * See {\\@linkDocs guide/lifecycle-hooks \"Lifecycle Hooks Guide\"}.\n *\n * \\@stable\n * @abstract\n */\nexport var OnDestroy = (function () {\n    function OnDestroy() {\n    }\n    /**\n     * @abstract\n     * @return {?}\n     */\n    OnDestroy.prototype.ngOnDestroy = function () { };\n    return OnDestroy;\n}());\n/**\n *\n * \\@whatItDoes Lifecycle hook that is called after a directive's content has been fully\n * initialized.\n * \\@howToUse\n * {\\@example core/ts/metadata/lifecycle_hooks_spec.ts region='AfterContentInit'}\n *\n * \\@description\n * See {\\@linkDocs guide/lifecycle-hooks#aftercontent \"Lifecycle Hooks Guide\"}.\n *\n * \\@stable\n * @abstract\n */\nexport var AfterContentInit = (function () {\n    function AfterContentInit() {\n    }\n    /**\n     * @abstract\n     * @return {?}\n     */\n    AfterContentInit.prototype.ngAfterContentInit = function () { };\n    return AfterContentInit;\n}());\n/**\n * \\@whatItDoes Lifecycle hook that is called after every check of a directive's content.\n * \\@howToUse\n * {\\@example core/ts/metadata/lifecycle_hooks_spec.ts region='AfterContentChecked'}\n *\n * \\@description\n * See {\\@linkDocs guide/lifecycle-hooks#aftercontent \"Lifecycle Hooks Guide\"}.\n *\n * \\@stable\n * @abstract\n */\nexport var AfterContentChecked = (function () {\n    function AfterContentChecked() {\n    }\n    /**\n     * @abstract\n     * @return {?}\n     */\n    AfterContentChecked.prototype.ngAfterContentChecked = function () { };\n    return AfterContentChecked;\n}());\n/**\n * \\@whatItDoes Lifecycle hook that is called after a component's view has been fully\n * initialized.\n * \\@howToUse\n * {\\@example core/ts/metadata/lifecycle_hooks_spec.ts region='AfterViewInit'}\n *\n * \\@description\n * See {\\@linkDocs guide/lifecycle-hooks#afterview \"Lifecycle Hooks Guide\"}.\n *\n * \\@stable\n * @abstract\n */\nexport var AfterViewInit = (function () {\n    function AfterViewInit() {\n    }\n    /**\n     * @abstract\n     * @return {?}\n     */\n    AfterViewInit.prototype.ngAfterViewInit = function () { };\n    return AfterViewInit;\n}());\n/**\n * \\@whatItDoes Lifecycle hook that is called after every check of a component's view.\n * \\@howToUse\n * {\\@example core/ts/metadata/lifecycle_hooks_spec.ts region='AfterViewChecked'}\n *\n * \\@description\n * See {\\@linkDocs guide/lifecycle-hooks#afterview \"Lifecycle Hooks Guide\"}.\n *\n * \\@stable\n * @abstract\n */\nexport var AfterViewChecked = (function () {\n    function AfterViewChecked() {\n    }\n    /**\n     * @abstract\n     * @return {?}\n     */\n    AfterViewChecked.prototype.ngAfterViewChecked = function () { };\n    return AfterViewChecked;\n}());\n//# sourceMappingURL=lifecycle_hooks.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/metadata/lifecycle_hooks.js\n// module id = 412\n// module chunks = 0","/**\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 */\nexport var ViewEncapsulation = {};\nViewEncapsulation.Emulated = 0;\nViewEncapsulation.Native = 1;\nViewEncapsulation.None = 2;\nViewEncapsulation[ViewEncapsulation.Emulated] = \"Emulated\";\nViewEncapsulation[ViewEncapsulation.Native] = \"Native\";\nViewEncapsulation[ViewEncapsulation.None] = \"None\";\n/**\n * Metadata properties available for configuring Views.\n *\n * For details on the `\\@Component` annotation, see {\\@link Component}.\n *\n * ### Example\n *\n * ```\n * \\@Component({\n *   selector: 'greet',\n *   template: 'Hello {{name}}!',\n * })\n * class Greet {\n *   name: string;\n *\n *   constructor() {\n *     this.name = 'World';\n *   }\n * }\n * ```\n *\n * @deprecated Use Component instead.\n *\n * {\\@link Component}\n */\nexport var ViewMetadata = (function () {\n    /**\n     * @param {?=} __0\n     */\n    function ViewMetadata(_a) {\n        var _b = _a === void 0 ? {} : _a, templateUrl = _b.templateUrl, template = _b.template, encapsulation = _b.encapsulation, styles = _b.styles, styleUrls = _b.styleUrls, animations = _b.animations, interpolation = _b.interpolation;\n        this.templateUrl = templateUrl;\n        this.template = template;\n        this.styleUrls = styleUrls;\n        this.styles = styles;\n        this.encapsulation = encapsulation;\n        this.animations = animations;\n        this.interpolation = interpolation;\n    }\n    return ViewMetadata;\n}());\nfunction ViewMetadata_tsickle_Closure_declarations() {\n    /**\n     * {\\@link Component.templateUrl}\n     * @type {?}\n     */\n    ViewMetadata.prototype.templateUrl;\n    /**\n     * {\\@link Component.template}\n     * @type {?}\n     */\n    ViewMetadata.prototype.template;\n    /**\n     * {\\@link Component.stylesUrl}\n     * @type {?}\n     */\n    ViewMetadata.prototype.styleUrls;\n    /**\n     * {\\@link Component.styles}\n     * @type {?}\n     */\n    ViewMetadata.prototype.styles;\n    /**\n     * {\\@link Component.encapsulation}\n     * @type {?}\n     */\n    ViewMetadata.prototype.encapsulation;\n    /**\n     * {\\@link Component.animation}\n     * @type {?}\n     */\n    ViewMetadata.prototype.animations;\n    /**\n     * {\\@link Component.interpolation}\n     * @type {?}\n     */\n    ViewMetadata.prototype.interpolation;\n}\n//# sourceMappingURL=view.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/metadata/view.js\n// module id = 413\n// module chunks = 0","/**\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 */\nimport { global, isPresent, stringify } from '../facade/lang';\nimport { Type, isType } from '../type';\n/**\n * Attention: This regex has to hold even if the code is minified!\n */\nexport var /** @type {?} */ DELEGATE_CTOR = /^function\\s+\\S+\\(\\)\\s*{\\s*(\"use strict\";)?\\s*(return\\s+)?\\S+\\.apply\\(this,\\s*arguments\\)/;\nexport var ReflectionCapabilities = (function () {\n    /**\n     * @param {?=} reflect\n     */\n    function ReflectionCapabilities(reflect) {\n        this._reflect = reflect || global.Reflect;\n    }\n    /**\n     * @return {?}\n     */\n    ReflectionCapabilities.prototype.isReflectionEnabled = function () { return true; };\n    /**\n     * @param {?} t\n     * @return {?}\n     */\n    ReflectionCapabilities.prototype.factory = function (t) { return function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            args[_i - 0] = arguments[_i];\n        }\n        return new (t.bind.apply(t, [void 0].concat(args)))();\n    }; };\n    /**\n     * \\@internal\n     * @param {?} paramTypes\n     * @param {?} paramAnnotations\n     * @return {?}\n     */\n    ReflectionCapabilities.prototype._zipTypesAndAnnotations = function (paramTypes, paramAnnotations) {\n        var /** @type {?} */ result;\n        if (typeof paramTypes === 'undefined') {\n            result = new Array(paramAnnotations.length);\n        }\n        else {\n            result = new Array(paramTypes.length);\n        }\n        for (var /** @type {?} */ i = 0; i < result.length; i++) {\n            // TS outputs Object for parameters without types, while Traceur omits\n            // the annotations. For now we preserve the Traceur behavior to aid\n            // migration, but this can be revisited.\n            if (typeof paramTypes === 'undefined') {\n                result[i] = [];\n            }\n            else if (paramTypes[i] != Object) {\n                result[i] = [paramTypes[i]];\n            }\n            else {\n                result[i] = [];\n            }\n            if (paramAnnotations && isPresent(paramAnnotations[i])) {\n                result[i] = result[i].concat(paramAnnotations[i]);\n            }\n        }\n        return result;\n    };\n    /**\n     * @param {?} type\n     * @param {?} parentCtor\n     * @return {?}\n     */\n    ReflectionCapabilities.prototype._ownParameters = function (type, parentCtor) {\n        // If we have no decorators, we only have function.length as metadata.\n        // In that case, to detect whether a child class declared an own constructor or not,\n        // we need to look inside of that constructor to check whether it is\n        // just calling the parent.\n        // This also helps to work around for https://github.com/Microsoft/TypeScript/issues/12439\n        // that sets 'design:paramtypes' to []\n        // if a class inherits from another class but has no ctor declared itself.\n        if (DELEGATE_CTOR.exec(type.toString())) {\n            return null;\n        }\n        // Prefer the direct API.\n        if (((type)).parameters && ((type)).parameters !== parentCtor.parameters) {\n            return ((type)).parameters;\n        }\n        // API of tsickle for lowering decorators to properties on the class.\n        var /** @type {?} */ tsickleCtorParams = ((type)).ctorParameters;\n        if (tsickleCtorParams && tsickleCtorParams !== parentCtor.ctorParameters) {\n            // Newer tsickle uses a function closure\n            // Retain the non-function case for compatibility with older tsickle\n            var /** @type {?} */ ctorParameters = typeof tsickleCtorParams === 'function' ? tsickleCtorParams() : tsickleCtorParams;\n            var /** @type {?} */ paramTypes = ctorParameters.map(function (ctorParam) { return ctorParam && ctorParam.type; });\n            var /** @type {?} */ paramAnnotations = ctorParameters.map(function (ctorParam) {\n                return ctorParam && convertTsickleDecoratorIntoMetadata(ctorParam.decorators);\n            });\n            return this._zipTypesAndAnnotations(paramTypes, paramAnnotations);\n        }\n        // API for metadata created by invoking the decorators.\n        if (isPresent(this._reflect) && isPresent(this._reflect.getOwnMetadata)) {\n            var /** @type {?} */ paramAnnotations = this._reflect.getOwnMetadata('parameters', type);\n            var /** @type {?} */ paramTypes = this._reflect.getOwnMetadata('design:paramtypes', type);\n            if (paramTypes || paramAnnotations) {\n                return this._zipTypesAndAnnotations(paramTypes, paramAnnotations);\n            }\n        }\n        // If a class has no decorators, at least create metadata\n        // based on function.length.\n        // Note: We know that this is a real constructor as we checked\n        // the content of the constructor above.\n        return new Array(((type.length))).fill(undefined);\n    };\n    /**\n     * @param {?} type\n     * @return {?}\n     */\n    ReflectionCapabilities.prototype.parameters = function (type) {\n        // Note: only report metadata if we have at least one class decorator\n        // to stay in sync with the static reflector.\n        if (!isType(type)) {\n            return [];\n        }\n        var /** @type {?} */ parentCtor = getParentCtor(type);\n        var /** @type {?} */ parameters = this._ownParameters(type, parentCtor);\n        if (!parameters && parentCtor !== Object) {\n            parameters = this.parameters(parentCtor);\n        }\n        return parameters || [];\n    };\n    /**\n     * @param {?} typeOrFunc\n     * @param {?} parentCtor\n     * @return {?}\n     */\n    ReflectionCapabilities.prototype._ownAnnotations = function (typeOrFunc, parentCtor) {\n        // Prefer the direct API.\n        if (((typeOrFunc)).annotations && ((typeOrFunc)).annotations !== parentCtor.annotations) {\n            var /** @type {?} */ annotations = ((typeOrFunc)).annotations;\n            if (typeof annotations === 'function' && annotations.annotations) {\n                annotations = annotations.annotations;\n            }\n            return annotations;\n        }\n        // API of tsickle for lowering decorators to properties on the class.\n        if (((typeOrFunc)).decorators && ((typeOrFunc)).decorators !== parentCtor.decorators) {\n            return convertTsickleDecoratorIntoMetadata(((typeOrFunc)).decorators);\n        }\n        // API for metadata created by invoking the decorators.\n        if (this._reflect && this._reflect.getOwnMetadata) {\n            return this._reflect.getOwnMetadata('annotations', typeOrFunc);\n        }\n    };\n    /**\n     * @param {?} typeOrFunc\n     * @return {?}\n     */\n    ReflectionCapabilities.prototype.annotations = function (typeOrFunc) {\n        if (!isType(typeOrFunc)) {\n            return [];\n        }\n        var /** @type {?} */ parentCtor = getParentCtor(typeOrFunc);\n        var /** @type {?} */ ownAnnotations = this._ownAnnotations(typeOrFunc, parentCtor) || [];\n        var /** @type {?} */ parentAnnotations = parentCtor !== Object ? this.annotations(parentCtor) : [];\n        return parentAnnotations.concat(ownAnnotations);\n    };\n    /**\n     * @param {?} typeOrFunc\n     * @param {?} parentCtor\n     * @return {?}\n     */\n    ReflectionCapabilities.prototype._ownPropMetadata = function (typeOrFunc, parentCtor) {\n        // Prefer the direct API.\n        if (((typeOrFunc)).propMetadata &&\n            ((typeOrFunc)).propMetadata !== parentCtor.propMetadata) {\n            var /** @type {?} */ propMetadata = ((typeOrFunc)).propMetadata;\n            if (typeof propMetadata === 'function' && propMetadata.propMetadata) {\n                propMetadata = propMetadata.propMetadata;\n            }\n            return propMetadata;\n        }\n        // API of tsickle for lowering decorators to properties on the class.\n        if (((typeOrFunc)).propDecorators &&\n            ((typeOrFunc)).propDecorators !== parentCtor.propDecorators) {\n            var /** @type {?} */ propDecorators_1 = ((typeOrFunc)).propDecorators;\n            var /** @type {?} */ propMetadata_1 = ({});\n            Object.keys(propDecorators_1).forEach(function (prop) {\n                propMetadata_1[prop] = convertTsickleDecoratorIntoMetadata(propDecorators_1[prop]);\n            });\n            return propMetadata_1;\n        }\n        // API for metadata created by invoking the decorators.\n        if (this._reflect && this._reflect.getOwnMetadata) {\n            return this._reflect.getOwnMetadata('propMetadata', typeOrFunc);\n        }\n    };\n    /**\n     * @param {?} typeOrFunc\n     * @return {?}\n     */\n    ReflectionCapabilities.prototype.propMetadata = function (typeOrFunc) {\n        if (!isType(typeOrFunc)) {\n            return {};\n        }\n        var /** @type {?} */ parentCtor = getParentCtor(typeOrFunc);\n        var /** @type {?} */ propMetadata = {};\n        if (parentCtor !== Object) {\n            var /** @type {?} */ parentPropMetadata_1 = this.propMetadata(parentCtor);\n            Object.keys(parentPropMetadata_1).forEach(function (propName) {\n                propMetadata[propName] = parentPropMetadata_1[propName];\n            });\n        }\n        var /** @type {?} */ ownPropMetadata = this._ownPropMetadata(typeOrFunc, parentCtor);\n        if (ownPropMetadata) {\n            Object.keys(ownPropMetadata).forEach(function (propName) {\n                var /** @type {?} */ decorators = [];\n                if (propMetadata.hasOwnProperty(propName)) {\n                    decorators.push.apply(decorators, propMetadata[propName]);\n                }\n                decorators.push.apply(decorators, ownPropMetadata[propName]);\n                propMetadata[propName] = decorators;\n            });\n        }\n        return propMetadata;\n    };\n    /**\n     * @param {?} type\n     * @param {?} lcProperty\n     * @return {?}\n     */\n    ReflectionCapabilities.prototype.hasLifecycleHook = function (type, lcProperty) {\n        return type instanceof Type && lcProperty in type.prototype;\n    };\n    /**\n     * @param {?} name\n     * @return {?}\n     */\n    ReflectionCapabilities.prototype.getter = function (name) { return ((new Function('o', 'return o.' + name + ';'))); };\n    /**\n     * @param {?} name\n     * @return {?}\n     */\n    ReflectionCapabilities.prototype.setter = function (name) {\n        return ((new Function('o', 'v', 'return o.' + name + ' = v;')));\n    };\n    /**\n     * @param {?} name\n     * @return {?}\n     */\n    ReflectionCapabilities.prototype.method = function (name) {\n        var /** @type {?} */ functionBody = \"if (!o.\" + name + \") throw new Error('\\\"\" + name + \"\\\" is undefined');\\n        return o.\" + name + \".apply(o, args);\";\n        return ((new Function('o', 'args', functionBody)));\n    };\n    /**\n     * @param {?} type\n     * @return {?}\n     */\n    ReflectionCapabilities.prototype.importUri = function (type) {\n        // StaticSymbol\n        if (typeof type === 'object' && type['filePath']) {\n            return type['filePath'];\n        }\n        // Runtime type\n        return \"./\" + stringify(type);\n    };\n    /**\n     * @param {?} name\n     * @param {?} moduleUrl\n     * @param {?} runtime\n     * @return {?}\n     */\n    ReflectionCapabilities.prototype.resolveIdentifier = function (name, moduleUrl, runtime) { return runtime; };\n    /**\n     * @param {?} enumIdentifier\n     * @param {?} name\n     * @return {?}\n     */\n    ReflectionCapabilities.prototype.resolveEnum = function (enumIdentifier, name) { return enumIdentifier[name]; };\n    return ReflectionCapabilities;\n}());\nfunction ReflectionCapabilities_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ReflectionCapabilities.prototype._reflect;\n}\n/**\n * @param {?} decoratorInvocations\n * @return {?}\n */\nfunction convertTsickleDecoratorIntoMetadata(decoratorInvocations) {\n    if (!decoratorInvocations) {\n        return [];\n    }\n    return decoratorInvocations.map(function (decoratorInvocation) {\n        var /** @type {?} */ decoratorType = decoratorInvocation.type;\n        var /** @type {?} */ annotationCls = decoratorType.annotationCls;\n        var /** @type {?} */ annotationArgs = decoratorInvocation.args ? decoratorInvocation.args : [];\n        return new (annotationCls.bind.apply(annotationCls, [void 0].concat(annotationArgs)))();\n    });\n}\n/**\n * @param {?} ctor\n * @return {?}\n */\nfunction getParentCtor(ctor) {\n    var /** @type {?} */ parentProto = Object.getPrototypeOf(ctor.prototype);\n    var /** @type {?} */ parentCtor = parentProto ? parentProto.constructor : null;\n    // Note: We always use `Object` as the null value\n    // to simplify checking later on.\n    return parentCtor || Object;\n}\n//# sourceMappingURL=reflection_capabilities.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/reflection/reflection_capabilities.js\n// module id = 414\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { ReflectorReader } from './reflector_reader';\n/**\n * Provides access to reflection data about symbols. Used internally by Angular\n * to power dependency injection and compilation.\n */\nexport var Reflector = (function (_super) {\n    __extends(Reflector, _super);\n    /**\n     * @param {?} reflectionCapabilities\n     */\n    function Reflector(reflectionCapabilities) {\n        _super.call(this);\n        this.reflectionCapabilities = reflectionCapabilities;\n    }\n    /**\n     * @param {?} caps\n     * @return {?}\n     */\n    Reflector.prototype.updateCapabilities = function (caps) { this.reflectionCapabilities = caps; };\n    /**\n     * @param {?} type\n     * @return {?}\n     */\n    Reflector.prototype.factory = function (type) { return this.reflectionCapabilities.factory(type); };\n    /**\n     * @param {?} typeOrFunc\n     * @return {?}\n     */\n    Reflector.prototype.parameters = function (typeOrFunc) {\n        return this.reflectionCapabilities.parameters(typeOrFunc);\n    };\n    /**\n     * @param {?} typeOrFunc\n     * @return {?}\n     */\n    Reflector.prototype.annotations = function (typeOrFunc) {\n        return this.reflectionCapabilities.annotations(typeOrFunc);\n    };\n    /**\n     * @param {?} typeOrFunc\n     * @return {?}\n     */\n    Reflector.prototype.propMetadata = function (typeOrFunc) {\n        return this.reflectionCapabilities.propMetadata(typeOrFunc);\n    };\n    /**\n     * @param {?} type\n     * @param {?} lcProperty\n     * @return {?}\n     */\n    Reflector.prototype.hasLifecycleHook = function (type, lcProperty) {\n        return this.reflectionCapabilities.hasLifecycleHook(type, lcProperty);\n    };\n    /**\n     * @param {?} name\n     * @return {?}\n     */\n    Reflector.prototype.getter = function (name) { return this.reflectionCapabilities.getter(name); };\n    /**\n     * @param {?} name\n     * @return {?}\n     */\n    Reflector.prototype.setter = function (name) { return this.reflectionCapabilities.setter(name); };\n    /**\n     * @param {?} name\n     * @return {?}\n     */\n    Reflector.prototype.method = function (name) { return this.reflectionCapabilities.method(name); };\n    /**\n     * @param {?} type\n     * @return {?}\n     */\n    Reflector.prototype.importUri = function (type) { return this.reflectionCapabilities.importUri(type); };\n    /**\n     * @param {?} name\n     * @param {?} moduleUrl\n     * @param {?} runtime\n     * @return {?}\n     */\n    Reflector.prototype.resolveIdentifier = function (name, moduleUrl, runtime) {\n        return this.reflectionCapabilities.resolveIdentifier(name, moduleUrl, runtime);\n    };\n    /**\n     * @param {?} identifier\n     * @param {?} name\n     * @return {?}\n     */\n    Reflector.prototype.resolveEnum = function (identifier, name) {\n        return this.reflectionCapabilities.resolveEnum(identifier, name);\n    };\n    return Reflector;\n}(ReflectorReader));\nfunction Reflector_tsickle_Closure_declarations() {\n    /** @type {?} */\n    Reflector.prototype.reflectionCapabilities;\n}\n//# sourceMappingURL=reflector.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/reflection/reflector.js\n// module id = 415\n// module chunks = 0","export var SecurityContext = {};\nSecurityContext.NONE = 0;\nSecurityContext.HTML = 1;\nSecurityContext.STYLE = 2;\nSecurityContext.SCRIPT = 3;\nSecurityContext.URL = 4;\nSecurityContext.RESOURCE_URL = 5;\nSecurityContext[SecurityContext.NONE] = \"NONE\";\nSecurityContext[SecurityContext.HTML] = \"HTML\";\nSecurityContext[SecurityContext.STYLE] = \"STYLE\";\nSecurityContext[SecurityContext.SCRIPT] = \"SCRIPT\";\nSecurityContext[SecurityContext.URL] = \"URL\";\nSecurityContext[SecurityContext.RESOURCE_URL] = \"RESOURCE_URL\";\n/**\n * Sanitizer is used by the views to sanitize potentially dangerous values.\n *\n * \\@stable\n * @abstract\n */\nexport var Sanitizer = (function () {\n    function Sanitizer() {\n    }\n    /**\n     * @abstract\n     * @param {?} context\n     * @param {?} value\n     * @return {?}\n     */\n    Sanitizer.prototype.sanitize = function (context, value) { };\n    return Sanitizer;\n}());\n//# sourceMappingURL=security.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/security.js\n// module id = 416\n// module chunks = 0","/**\n * \\@whatItDoes Represents the version of Angular\n *\n * \\@stable\n */\nexport var Version = (function () {\n    /**\n     * @param {?} full\n     */\n    function Version(full) {\n        this.full = full;\n    }\n    Object.defineProperty(Version.prototype, \"major\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this.full.split('.')[0]; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(Version.prototype, \"minor\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this.full.split('.')[1]; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(Version.prototype, \"patch\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this.full.split('.').slice(2).join('.'); },\n        enumerable: true,\n        configurable: true\n    });\n    return Version;\n}());\nfunction Version_tsickle_Closure_declarations() {\n    /** @type {?} */\n    Version.prototype.full;\n}\n/**\n * @stable\n */\nexport var /** @type {?} */ VERSION = new Version('2.4.9');\n//# sourceMappingURL=version.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/version.js\n// module id = 417\n// module chunks = 0","/**\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 */\nexport var /** @type {?} */ FormErrorExamples = {\n    formControlName: \"\\n    <div [formGroup]=\\\"myGroup\\\">\\n      <input formControlName=\\\"firstName\\\">\\n    </div>\\n\\n    In your class:\\n\\n    this.myGroup = new FormGroup({\\n       firstName: new FormControl()\\n    });\",\n    formGroupName: \"\\n    <div [formGroup]=\\\"myGroup\\\">\\n       <div formGroupName=\\\"person\\\">\\n          <input formControlName=\\\"firstName\\\">\\n       </div>\\n    </div>\\n\\n    In your class:\\n\\n    this.myGroup = new FormGroup({\\n       person: new FormGroup({ firstName: new FormControl() })\\n    });\",\n    formArrayName: \"\\n    <div [formGroup]=\\\"myGroup\\\">\\n      <div formArrayName=\\\"cities\\\">\\n        <div *ngFor=\\\"let city of cityArray.controls; let i=index\\\">\\n          <input [formControlName]=\\\"i\\\">\\n        </div>\\n      </div>\\n    </div>\\n\\n    In your class:\\n\\n    this.cityArray = new FormArray([new FormControl('SF')]);\\n    this.myGroup = new FormGroup({\\n      cities: this.cityArray\\n    });\",\n    ngModelGroup: \"\\n    <form>\\n       <div ngModelGroup=\\\"person\\\">\\n          <input [(ngModel)]=\\\"person.name\\\" name=\\\"firstName\\\">\\n       </div>\\n    </form>\",\n    ngModelWithFormGroup: \"\\n    <div [formGroup]=\\\"myGroup\\\">\\n       <input formControlName=\\\"firstName\\\">\\n       <input [(ngModel)]=\\\"showMoreControls\\\" [ngModelOptions]=\\\"{standalone: true}\\\">\\n    </div>\\n  \"\n};\n//# sourceMappingURL=error_examples.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/forms/src/directives/error_examples.js\n// module id = 418\n// module chunks = 0","/**\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 */\nimport { FormErrorExamples as Examples } from './error_examples';\nexport var TemplateDrivenErrors = (function () {\n    function TemplateDrivenErrors() {\n    }\n    /**\n     * @return {?}\n     */\n    TemplateDrivenErrors.modelParentException = function () {\n        throw new Error(\"\\n      ngModel cannot be used to register form controls with a parent formGroup directive.  Try using\\n      formGroup's partner directive \\\"formControlName\\\" instead.  Example:\\n\\n      \" + Examples.formControlName + \"\\n\\n      Or, if you'd like to avoid registering this form control, indicate that it's standalone in ngModelOptions:\\n\\n      Example:\\n\\n      \" + Examples.ngModelWithFormGroup);\n    };\n    /**\n     * @return {?}\n     */\n    TemplateDrivenErrors.formGroupNameException = function () {\n        throw new Error(\"\\n      ngModel cannot be used to register form controls with a parent formGroupName or formArrayName directive.\\n\\n      Option 1: Use formControlName instead of ngModel (reactive strategy):\\n\\n      \" + Examples.formGroupName + \"\\n\\n      Option 2:  Update ngModel's parent be ngModelGroup (template-driven strategy):\\n\\n      \" + Examples.ngModelGroup);\n    };\n    /**\n     * @return {?}\n     */\n    TemplateDrivenErrors.missingNameException = function () {\n        throw new Error(\"If ngModel is used within a form tag, either the name attribute must be set or the form\\n      control must be defined as 'standalone' in ngModelOptions.\\n\\n      Example 1: <input [(ngModel)]=\\\"person.firstName\\\" name=\\\"first\\\">\\n      Example 2: <input [(ngModel)]=\\\"person.firstName\\\" [ngModelOptions]=\\\"{standalone: true}\\\">\");\n    };\n    /**\n     * @return {?}\n     */\n    TemplateDrivenErrors.modelGroupParentException = function () {\n        throw new Error(\"\\n      ngModelGroup cannot be used with a parent formGroup directive.\\n\\n      Option 1: Use formGroupName instead of ngModelGroup (reactive strategy):\\n\\n      \" + Examples.formGroupName + \"\\n\\n      Option 2:  Use a regular form tag instead of the formGroup directive (template-driven strategy):\\n\\n      \" + Examples.ngModelGroup);\n    };\n    return TemplateDrivenErrors;\n}());\n//# sourceMappingURL=template_driven_errors.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/forms/src/directives/template_driven_errors.js\n// module id = 419\n// module chunks = 0","var __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { Directive, Input, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, Validators } from '../validators';\nexport var /** @type {?} */ REQUIRED_VALIDATOR = {\n    provide: NG_VALIDATORS,\n    useExisting: forwardRef(function () { return RequiredValidator; }),\n    multi: true\n};\nexport var /** @type {?} */ CHECKBOX_REQUIRED_VALIDATOR = {\n    provide: NG_VALIDATORS,\n    useExisting: forwardRef(function () { return CheckboxRequiredValidator; }),\n    multi: true\n};\n/**\n * A Directive that adds the `required` validator to any controls marked with the\n * `required` attribute, via the {\\@link NG_VALIDATORS} binding.\n *\n * ### Example\n *\n * ```\n * <input name=\"fullName\" ngModel required>\n * ```\n *\n * \\@stable\n */\nexport var RequiredValidator = (function () {\n    function RequiredValidator() {\n    }\n    Object.defineProperty(RequiredValidator.prototype, \"required\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._required; },\n        /**\n         * @param {?} value\n         * @return {?}\n         */\n        set: function (value) {\n            this._required = value != null && value !== false && \"\" + value !== 'false';\n            if (this._onChange)\n                this._onChange();\n        },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @param {?} c\n     * @return {?}\n     */\n    RequiredValidator.prototype.validate = function (c) {\n        return this.required ? Validators.required(c) : null;\n    };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    RequiredValidator.prototype.registerOnValidatorChange = function (fn) { this._onChange = fn; };\n    RequiredValidator.decorators = [\n        { type: Directive, args: [{\n                    selector: ':not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]',\n                    providers: [REQUIRED_VALIDATOR],\n                    host: { '[attr.required]': 'required ? \"\" : null' }\n                },] },\n    ];\n    /** @nocollapse */\n    RequiredValidator.ctorParameters = function () { return []; };\n    RequiredValidator.propDecorators = {\n        'required': [{ type: Input },],\n    };\n    return RequiredValidator;\n}());\nfunction RequiredValidator_tsickle_Closure_declarations() {\n    /** @type {?} */\n    RequiredValidator.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    RequiredValidator.ctorParameters;\n    /** @type {?} */\n    RequiredValidator.propDecorators;\n    /** @type {?} */\n    RequiredValidator.prototype._required;\n    /** @type {?} */\n    RequiredValidator.prototype._onChange;\n}\n/**\n * A Directive that adds the `required` validator to checkbox controls marked with the\n * `required` attribute, via the {\\@link NG_VALIDATORS} binding.\n *\n * ### Example\n *\n * ```\n * <input type=\"checkbox\" name=\"active\" ngModel required>\n * ```\n *\n * \\@experimental\n */\nexport var CheckboxRequiredValidator = (function (_super) {\n    __extends(CheckboxRequiredValidator, _super);\n    function CheckboxRequiredValidator() {\n        _super.apply(this, arguments);\n    }\n    /**\n     * @param {?} c\n     * @return {?}\n     */\n    CheckboxRequiredValidator.prototype.validate = function (c) {\n        return this.required ? Validators.requiredTrue(c) : null;\n    };\n    CheckboxRequiredValidator.decorators = [\n        { type: Directive, args: [{\n                    selector: 'input[type=checkbox][required][formControlName],input[type=checkbox][required][formControl],input[type=checkbox][required][ngModel]',\n                    providers: [CHECKBOX_REQUIRED_VALIDATOR],\n                    host: { '[attr.required]': 'required ? \"\" : null' }\n                },] },\n    ];\n    /** @nocollapse */\n    CheckboxRequiredValidator.ctorParameters = function () { return []; };\n    return CheckboxRequiredValidator;\n}(RequiredValidator));\nfunction CheckboxRequiredValidator_tsickle_Closure_declarations() {\n    /** @type {?} */\n    CheckboxRequiredValidator.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    CheckboxRequiredValidator.ctorParameters;\n}\n/**\n * Provider which adds {@link MinLengthValidator} to {@link NG_VALIDATORS}.\n *\n * ## Example:\n *\n * {@example common/forms/ts/validators/validators.ts region='min'}\n */\nexport var /** @type {?} */ MIN_LENGTH_VALIDATOR = {\n    provide: NG_VALIDATORS,\n    useExisting: forwardRef(function () { return MinLengthValidator; }),\n    multi: true\n};\n/**\n * A directive which installs the {\\@link MinLengthValidator} for any `formControlName`,\n * `formControl`, or control with `ngModel` that also has a `minlength` attribute.\n *\n * \\@stable\n */\nexport var MinLengthValidator = (function () {\n    function MinLengthValidator() {\n    }\n    /**\n     * @param {?} changes\n     * @return {?}\n     */\n    MinLengthValidator.prototype.ngOnChanges = function (changes) {\n        if ('minlength' in changes) {\n            this._createValidator();\n            if (this._onChange)\n                this._onChange();\n        }\n    };\n    /**\n     * @param {?} c\n     * @return {?}\n     */\n    MinLengthValidator.prototype.validate = function (c) {\n        return this.minlength == null ? null : this._validator(c);\n    };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    MinLengthValidator.prototype.registerOnValidatorChange = function (fn) { this._onChange = fn; };\n    /**\n     * @return {?}\n     */\n    MinLengthValidator.prototype._createValidator = function () {\n        this._validator = Validators.minLength(parseInt(this.minlength, 10));\n    };\n    MinLengthValidator.decorators = [\n        { type: Directive, args: [{\n                    selector: '[minlength][formControlName],[minlength][formControl],[minlength][ngModel]',\n                    providers: [MIN_LENGTH_VALIDATOR],\n                    host: { '[attr.minlength]': 'minlength ? minlength : null' }\n                },] },\n    ];\n    /** @nocollapse */\n    MinLengthValidator.ctorParameters = function () { return []; };\n    MinLengthValidator.propDecorators = {\n        'minlength': [{ type: Input },],\n    };\n    return MinLengthValidator;\n}());\nfunction MinLengthValidator_tsickle_Closure_declarations() {\n    /** @type {?} */\n    MinLengthValidator.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    MinLengthValidator.ctorParameters;\n    /** @type {?} */\n    MinLengthValidator.propDecorators;\n    /** @type {?} */\n    MinLengthValidator.prototype._validator;\n    /** @type {?} */\n    MinLengthValidator.prototype._onChange;\n    /** @type {?} */\n    MinLengthValidator.prototype.minlength;\n}\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 */\nexport var /** @type {?} */ MAX_LENGTH_VALIDATOR = {\n    provide: NG_VALIDATORS,\n    useExisting: forwardRef(function () { return MaxLengthValidator; }),\n    multi: true\n};\n/**\n * A directive which installs the {\\@link MaxLengthValidator} for any `formControlName,\n * `formControl`,\n * or control with `ngModel` that also has a `maxlength` attribute.\n *\n * \\@stable\n */\nexport var MaxLengthValidator = (function () {\n    function MaxLengthValidator() {\n    }\n    /**\n     * @param {?} changes\n     * @return {?}\n     */\n    MaxLengthValidator.prototype.ngOnChanges = function (changes) {\n        if ('maxlength' in changes) {\n            this._createValidator();\n            if (this._onChange)\n                this._onChange();\n        }\n    };\n    /**\n     * @param {?} c\n     * @return {?}\n     */\n    MaxLengthValidator.prototype.validate = function (c) {\n        return this.maxlength != null ? this._validator(c) : null;\n    };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    MaxLengthValidator.prototype.registerOnValidatorChange = function (fn) { this._onChange = fn; };\n    /**\n     * @return {?}\n     */\n    MaxLengthValidator.prototype._createValidator = function () {\n        this._validator = Validators.maxLength(parseInt(this.maxlength, 10));\n    };\n    MaxLengthValidator.decorators = [\n        { type: Directive, args: [{\n                    selector: '[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]',\n                    providers: [MAX_LENGTH_VALIDATOR],\n                    host: { '[attr.maxlength]': 'maxlength ? maxlength : null' }\n                },] },\n    ];\n    /** @nocollapse */\n    MaxLengthValidator.ctorParameters = function () { return []; };\n    MaxLengthValidator.propDecorators = {\n        'maxlength': [{ type: Input },],\n    };\n    return MaxLengthValidator;\n}());\nfunction MaxLengthValidator_tsickle_Closure_declarations() {\n    /** @type {?} */\n    MaxLengthValidator.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    MaxLengthValidator.ctorParameters;\n    /** @type {?} */\n    MaxLengthValidator.propDecorators;\n    /** @type {?} */\n    MaxLengthValidator.prototype._validator;\n    /** @type {?} */\n    MaxLengthValidator.prototype._onChange;\n    /** @type {?} */\n    MaxLengthValidator.prototype.maxlength;\n}\nexport var /** @type {?} */ PATTERN_VALIDATOR = {\n    provide: NG_VALIDATORS,\n    useExisting: forwardRef(function () { return PatternValidator; }),\n    multi: true\n};\n/**\n * A Directive that adds the `pattern` validator to any controls marked with the\n * `pattern` attribute, via the {\\@link NG_VALIDATORS} binding. Uses attribute value\n * as the regex to validate Control value against.  Follows pattern attribute\n * semantics; i.e. regex must match entire Control value.\n *\n * ### Example\n *\n * ```\n * <input [name]=\"fullName\" pattern=\"[a-zA-Z ]*\" ngModel>\n * ```\n * \\@stable\n */\nexport var PatternValidator = (function () {\n    function PatternValidator() {\n    }\n    /**\n     * @param {?} changes\n     * @return {?}\n     */\n    PatternValidator.prototype.ngOnChanges = function (changes) {\n        if ('pattern' in changes) {\n            this._createValidator();\n            if (this._onChange)\n                this._onChange();\n        }\n    };\n    /**\n     * @param {?} c\n     * @return {?}\n     */\n    PatternValidator.prototype.validate = function (c) { return this._validator(c); };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    PatternValidator.prototype.registerOnValidatorChange = function (fn) { this._onChange = fn; };\n    /**\n     * @return {?}\n     */\n    PatternValidator.prototype._createValidator = function () { this._validator = Validators.pattern(this.pattern); };\n    PatternValidator.decorators = [\n        { type: Directive, args: [{\n                    selector: '[pattern][formControlName],[pattern][formControl],[pattern][ngModel]',\n                    providers: [PATTERN_VALIDATOR],\n                    host: { '[attr.pattern]': 'pattern ? pattern : null' }\n                },] },\n    ];\n    /** @nocollapse */\n    PatternValidator.ctorParameters = function () { return []; };\n    PatternValidator.propDecorators = {\n        'pattern': [{ type: Input },],\n    };\n    return PatternValidator;\n}());\nfunction PatternValidator_tsickle_Closure_declarations() {\n    /** @type {?} */\n    PatternValidator.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    PatternValidator.ctorParameters;\n    /** @type {?} */\n    PatternValidator.propDecorators;\n    /** @type {?} */\n    PatternValidator.prototype._validator;\n    /** @type {?} */\n    PatternValidator.prototype._onChange;\n    /** @type {?} */\n    PatternValidator.prototype.pattern;\n}\n//# sourceMappingURL=validators.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/forms/src/directives/validators.js\n// module id = 420\n// module chunks = 0","/**\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 */\nimport { getSymbolIterator, isJsObject } from './lang';\n/**\n * Wraps Javascript Objects\n */\nexport var StringMapWrapper = (function () {\n    function StringMapWrapper() {\n    }\n    /**\n     * @param {?} m1\n     * @param {?} m2\n     * @return {?}\n     */\n    StringMapWrapper.merge = function (m1, m2) {\n        var /** @type {?} */ 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    /**\n     * @param {?} m1\n     * @param {?} m2\n     * @return {?}\n     */\n    StringMapWrapper.equals = function (m1, m2) {\n        var /** @type {?} */ k1 = Object.keys(m1);\n        var /** @type {?} */ k2 = Object.keys(m2);\n        if (k1.length != k2.length) {\n            return false;\n        }\n        for (var /** @type {?} */ i = 0; i < k1.length; i++) {\n            var /** @type {?} */ key = k1[i];\n            if (m1[key] !== m2[key]) {\n                return false;\n            }\n        }\n        return true;\n    };\n    return StringMapWrapper;\n}());\nexport var ListWrapper = (function () {\n    function ListWrapper() {\n    }\n    /**\n     * @param {?} arr\n     * @param {?} condition\n     * @return {?}\n     */\n    ListWrapper.findLast = function (arr, condition) {\n        for (var /** @type {?} */ i = arr.length - 1; i >= 0; i--) {\n            if (condition(arr[i])) {\n                return arr[i];\n            }\n        }\n        return null;\n    };\n    /**\n     * @param {?} list\n     * @param {?} items\n     * @return {?}\n     */\n    ListWrapper.removeAll = function (list, items) {\n        for (var /** @type {?} */ i = 0; i < items.length; ++i) {\n            var /** @type {?} */ index = list.indexOf(items[i]);\n            if (index > -1) {\n                list.splice(index, 1);\n            }\n        }\n    };\n    /**\n     * @param {?} list\n     * @param {?} el\n     * @return {?}\n     */\n    ListWrapper.remove = function (list, el) {\n        var /** @type {?} */ index = list.indexOf(el);\n        if (index > -1) {\n            list.splice(index, 1);\n            return true;\n        }\n        return false;\n    };\n    /**\n     * @param {?} a\n     * @param {?} b\n     * @return {?}\n     */\n    ListWrapper.equals = function (a, b) {\n        if (a.length != b.length)\n            return false;\n        for (var /** @type {?} */ i = 0; i < a.length; ++i) {\n            if (a[i] !== b[i])\n                return false;\n        }\n        return true;\n    };\n    /**\n     * @param {?} list\n     * @return {?}\n     */\n    ListWrapper.flatten = function (list) {\n        return list.reduce(function (flat, item) {\n            var /** @type {?} */ flatItem = Array.isArray(item) ? ListWrapper.flatten(item) : item;\n            return ((flat)).concat(flatItem);\n        }, []);\n    };\n    return ListWrapper;\n}());\n/**\n * @param {?} obj\n * @return {?}\n */\nexport function isListLikeIterable(obj) {\n    if (!isJsObject(obj))\n        return false;\n    return Array.isArray(obj) ||\n        (!(obj instanceof Map) &&\n            getSymbolIterator() in obj); // JS Iterable have a Symbol.iterator prop\n}\n/**\n * @param {?} a\n * @param {?} b\n * @param {?} comparator\n * @return {?}\n */\nexport function areIterablesEqual(a, b, comparator) {\n    var /** @type {?} */ iterator1 = a[getSymbolIterator()]();\n    var /** @type {?} */ iterator2 = b[getSymbolIterator()]();\n    while (true) {\n        var /** @type {?} */ item1 = iterator1.next();\n        var /** @type {?} */ item2 = iterator2.next();\n        if (item1.done && item2.done)\n            return true;\n        if (item1.done || item2.done)\n            return false;\n        if (!comparator(item1.value, item2.value))\n            return false;\n    }\n}\n/**\n * @param {?} obj\n * @param {?} fn\n * @return {?}\n */\nexport function iterateListLike(obj, fn) {\n    if (Array.isArray(obj)) {\n        for (var /** @type {?} */ i = 0; i < obj.length; i++) {\n            fn(obj[i]);\n        }\n    }\n    else {\n        var /** @type {?} */ iterator = obj[getSymbolIterator()]();\n        var /** @type {?} */ item = void 0;\n        while (!((item = iterator.next()).done)) {\n            fn(item.value);\n        }\n    }\n}\n//# sourceMappingURL=collection.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/forms/src/facade/collection.js\n// module id = 421\n// module chunks = 0","/**\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 */\nimport { Injectable } from '@angular/core';\nimport { isPresent } from './facade/lang';\nimport { FormArray, FormControl, FormGroup } from './model';\n/**\n * \\@whatItDoes Creates an {\\@link AbstractControl} from a user-specified configuration.\n *\n * It is essentially syntactic sugar that shortens the `new FormGroup()`,\n * `new FormControl()`, and `new FormArray()` boilerplate that can build up in larger\n * forms.\n *\n * \\@howToUse\n *\n * To use, inject `FormBuilder` into your component class. You can then call its methods\n * directly.\n *\n * {\\@example forms/ts/formBuilder/form_builder_example.ts region='Component'}\n *\n *  * **npm package**: `\\@angular/forms`\n *\n *  * **NgModule**: {\\@link ReactiveFormsModule}\n *\n * \\@stable\n */\nexport var FormBuilder = (function () {\n    function FormBuilder() {\n    }\n    /**\n     * Construct a new {\\@link FormGroup} with the given map of configuration.\n     * Valid keys for the `extra` parameter map are `validator` and `asyncValidator`.\n     *\n     * See the {\\@link FormGroup} constructor for more details.\n     * @param {?} controlsConfig\n     * @param {?=} extra\n     * @return {?}\n     */\n    FormBuilder.prototype.group = function (controlsConfig, extra) {\n        if (extra === void 0) { extra = null; }\n        var /** @type {?} */ controls = this._reduceControls(controlsConfig);\n        var /** @type {?} */ validator = isPresent(extra) ? extra['validator'] : null;\n        var /** @type {?} */ asyncValidator = isPresent(extra) ? extra['asyncValidator'] : null;\n        return new FormGroup(controls, validator, asyncValidator);\n    };\n    /**\n     * Construct a new {\\@link FormControl} with the given `formState`,`validator`, and\n     * `asyncValidator`.\n     *\n     * `formState` can either be a standalone value for the form control or an object\n     * that contains both a value and a disabled status.\n     *\n     * @param {?} formState\n     * @param {?=} validator\n     * @param {?=} asyncValidator\n     * @return {?}\n     */\n    FormBuilder.prototype.control = function (formState, validator, asyncValidator) {\n        if (validator === void 0) { validator = null; }\n        if (asyncValidator === void 0) { asyncValidator = null; }\n        return new FormControl(formState, validator, asyncValidator);\n    };\n    /**\n     * Construct a {\\@link FormArray} from the given `controlsConfig` array of\n     * configuration, with the given optional `validator` and `asyncValidator`.\n     * @param {?} controlsConfig\n     * @param {?=} validator\n     * @param {?=} asyncValidator\n     * @return {?}\n     */\n    FormBuilder.prototype.array = function (controlsConfig, validator, asyncValidator) {\n        var _this = this;\n        if (validator === void 0) { validator = null; }\n        if (asyncValidator === void 0) { asyncValidator = null; }\n        var /** @type {?} */ controls = controlsConfig.map(function (c) { return _this._createControl(c); });\n        return new FormArray(controls, validator, asyncValidator);\n    };\n    /**\n     * \\@internal\n     * @param {?} controlsConfig\n     * @return {?}\n     */\n    FormBuilder.prototype._reduceControls = function (controlsConfig) {\n        var _this = this;\n        var /** @type {?} */ controls = {};\n        Object.keys(controlsConfig).forEach(function (controlName) {\n            controls[controlName] = _this._createControl(controlsConfig[controlName]);\n        });\n        return controls;\n    };\n    /**\n     * \\@internal\n     * @param {?} controlConfig\n     * @return {?}\n     */\n    FormBuilder.prototype._createControl = function (controlConfig) {\n        if (controlConfig instanceof FormControl || controlConfig instanceof FormGroup ||\n            controlConfig instanceof FormArray) {\n            return controlConfig;\n        }\n        else if (Array.isArray(controlConfig)) {\n            var /** @type {?} */ value = controlConfig[0];\n            var /** @type {?} */ validator = controlConfig.length > 1 ? controlConfig[1] : null;\n            var /** @type {?} */ asyncValidator = controlConfig.length > 2 ? controlConfig[2] : null;\n            return this.control(value, validator, asyncValidator);\n        }\n        else {\n            return this.control(controlConfig);\n        }\n    };\n    FormBuilder.decorators = [\n        { type: Injectable },\n    ];\n    /** @nocollapse */\n    FormBuilder.ctorParameters = function () { return []; };\n    return FormBuilder;\n}());\nfunction FormBuilder_tsickle_Closure_declarations() {\n    /** @type {?} */\n    FormBuilder.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    FormBuilder.ctorParameters;\n}\n//# sourceMappingURL=form_builder.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/forms/src/form_builder.js\n// module id = 422\n// module chunks = 0","/**\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 */\nimport { __core_private__ as r } from '@angular/core';\nexport var /** @type {?} */ isPromise = r.isPromise;\nexport var /** @type {?} */ isObservable = r.isObservable;\n//# sourceMappingURL=private_import_core.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/forms/src/private_import_core.js\n// module id = 423\n// module chunks = 0","/**\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 */\nimport { Injectable } from '@angular/core';\nvar /** @type {?} */ _nextRequestId = 0;\nexport var /** @type {?} */ JSONP_HOME = '__ng_jsonp__';\nvar /** @type {?} */ _jsonpConnections = null;\n/**\n * @return {?}\n */\nfunction _getJsonpConnections() {\n    var /** @type {?} */ w = typeof window == 'object' ? window : {};\n    if (_jsonpConnections === null) {\n        _jsonpConnections = w[JSONP_HOME] = {};\n    }\n    return _jsonpConnections;\n}\nexport var BrowserJsonp = (function () {\n    function BrowserJsonp() {\n    }\n    /**\n     * @param {?} url\n     * @return {?}\n     */\n    BrowserJsonp.prototype.build = function (url) {\n        var /** @type {?} */ node = document.createElement('script');\n        node.src = url;\n        return node;\n    };\n    /**\n     * @return {?}\n     */\n    BrowserJsonp.prototype.nextRequestID = function () { return \"__req\" + _nextRequestId++; };\n    /**\n     * @param {?} id\n     * @return {?}\n     */\n    BrowserJsonp.prototype.requestCallback = function (id) { return JSONP_HOME + \".\" + id + \".finished\"; };\n    /**\n     * @param {?} id\n     * @param {?} connection\n     * @return {?}\n     */\n    BrowserJsonp.prototype.exposeConnection = function (id, connection) {\n        var /** @type {?} */ connections = _getJsonpConnections();\n        connections[id] = connection;\n    };\n    /**\n     * @param {?} id\n     * @return {?}\n     */\n    BrowserJsonp.prototype.removeConnection = function (id) {\n        var /** @type {?} */ connections = _getJsonpConnections();\n        connections[id] = null;\n    };\n    /**\n     * @param {?} node\n     * @return {?}\n     */\n    BrowserJsonp.prototype.send = function (node) { document.body.appendChild(/** @type {?} */ ((node))); };\n    /**\n     * @param {?} node\n     * @return {?}\n     */\n    BrowserJsonp.prototype.cleanup = function (node) {\n        if (node.parentNode) {\n            node.parentNode.removeChild(/** @type {?} */ ((node)));\n        }\n    };\n    BrowserJsonp.decorators = [\n        { type: Injectable },\n    ];\n    /** @nocollapse */\n    BrowserJsonp.ctorParameters = function () { return []; };\n    return BrowserJsonp;\n}());\nfunction BrowserJsonp_tsickle_Closure_declarations() {\n    /** @type {?} */\n    BrowserJsonp.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    BrowserJsonp.ctorParameters;\n}\n//# sourceMappingURL=browser_jsonp.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/http/src/backends/browser_jsonp.js\n// module id = 424\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs/Observable';\nimport { ResponseOptions } from '../base_response_options';\nimport { ReadyState, RequestMethod, ResponseType } from '../enums';\nimport { ConnectionBackend } from '../interfaces';\nimport { Response } from '../static_response';\nimport { BrowserJsonp } from './browser_jsonp';\nvar /** @type {?} */ JSONP_ERR_NO_CALLBACK = 'JSONP injected script did not invoke callback.';\nvar /** @type {?} */ JSONP_ERR_WRONG_METHOD = 'JSONP requests must use GET request method.';\n/**\n * Abstract base class for an in-flight JSONP request.\n *\n * \\@experimental\n * @abstract\n */\nexport var JSONPConnection = (function () {\n    function JSONPConnection() {\n    }\n    /**\n     * Callback called when the JSONP request completes, to notify the application\n     * of the new data.\n     * @abstract\n     * @param {?=} data\n     * @return {?}\n     */\n    JSONPConnection.prototype.finished = function (data) { };\n    return JSONPConnection;\n}());\nfunction JSONPConnection_tsickle_Closure_declarations() {\n    /**\n     * The {\\@link ReadyState} of this request.\n     * @type {?}\n     */\n    JSONPConnection.prototype.readyState;\n    /**\n     * The outgoing HTTP request.\n     * @type {?}\n     */\n    JSONPConnection.prototype.request;\n    /**\n     * An observable that completes with the response, when the request is finished.\n     * @type {?}\n     */\n    JSONPConnection.prototype.response;\n}\nexport var JSONPConnection_ = (function (_super) {\n    __extends(JSONPConnection_, _super);\n    /**\n     * @param {?} req\n     * @param {?} _dom\n     * @param {?=} baseResponseOptions\n     */\n    function JSONPConnection_(req, _dom, baseResponseOptions) {\n        var _this = this;\n        _super.call(this);\n        this._dom = _dom;\n        this.baseResponseOptions = baseResponseOptions;\n        this._finished = false;\n        if (req.method !== RequestMethod.Get) {\n            throw new TypeError(JSONP_ERR_WRONG_METHOD);\n        }\n        this.request = req;\n        this.response = new Observable(function (responseObserver) {\n            _this.readyState = ReadyState.Loading;\n            var id = _this._id = _dom.nextRequestID();\n            _dom.exposeConnection(id, _this);\n            // Workaround Dart\n            // url = url.replace(/=JSONP_CALLBACK(&|$)/, `generated method`);\n            var callback = _dom.requestCallback(_this._id);\n            var url = req.url;\n            if (url.indexOf('=JSONP_CALLBACK&') > -1) {\n                url = url.replace('=JSONP_CALLBACK&', \"=\" + callback + \"&\");\n            }\n            else if (url.lastIndexOf('=JSONP_CALLBACK') === url.length - '=JSONP_CALLBACK'.length) {\n                url = url.substring(0, url.length - '=JSONP_CALLBACK'.length) + (\"=\" + callback);\n            }\n            var script = _this._script = _dom.build(url);\n            var onLoad = function (event) {\n                if (_this.readyState === ReadyState.Cancelled)\n                    return;\n                _this.readyState = ReadyState.Done;\n                _dom.cleanup(script);\n                if (!_this._finished) {\n                    var responseOptions_1 = new ResponseOptions({ body: JSONP_ERR_NO_CALLBACK, type: ResponseType.Error, url: url });\n                    if (baseResponseOptions) {\n                        responseOptions_1 = baseResponseOptions.merge(responseOptions_1);\n                    }\n                    responseObserver.error(new Response(responseOptions_1));\n                    return;\n                }\n                var responseOptions = new ResponseOptions({ body: _this._responseData, url: url });\n                if (_this.baseResponseOptions) {\n                    responseOptions = _this.baseResponseOptions.merge(responseOptions);\n                }\n                responseObserver.next(new Response(responseOptions));\n                responseObserver.complete();\n            };\n            var onError = function (error) {\n                if (_this.readyState === ReadyState.Cancelled)\n                    return;\n                _this.readyState = ReadyState.Done;\n                _dom.cleanup(script);\n                var responseOptions = new ResponseOptions({ body: error.message, type: ResponseType.Error });\n                if (baseResponseOptions) {\n                    responseOptions = baseResponseOptions.merge(responseOptions);\n                }\n                responseObserver.error(new Response(responseOptions));\n            };\n            script.addEventListener('load', onLoad);\n            script.addEventListener('error', onError);\n            _dom.send(script);\n            return function () {\n                _this.readyState = ReadyState.Cancelled;\n                script.removeEventListener('load', onLoad);\n                script.removeEventListener('error', onError);\n                _this._dom.cleanup(script);\n            };\n        });\n    }\n    /**\n     * @param {?=} data\n     * @return {?}\n     */\n    JSONPConnection_.prototype.finished = function (data) {\n        // Don't leak connections\n        this._finished = true;\n        this._dom.removeConnection(this._id);\n        if (this.readyState === ReadyState.Cancelled)\n            return;\n        this._responseData = data;\n    };\n    return JSONPConnection_;\n}(JSONPConnection));\nfunction JSONPConnection__tsickle_Closure_declarations() {\n    /** @type {?} */\n    JSONPConnection_.prototype._id;\n    /** @type {?} */\n    JSONPConnection_.prototype._script;\n    /** @type {?} */\n    JSONPConnection_.prototype._responseData;\n    /** @type {?} */\n    JSONPConnection_.prototype._finished;\n    /** @type {?} */\n    JSONPConnection_.prototype._dom;\n    /** @type {?} */\n    JSONPConnection_.prototype.baseResponseOptions;\n}\n/**\n * A {\\@link ConnectionBackend} that uses the JSONP strategy of making requests.\n *\n * \\@experimental\n * @abstract\n */\nexport var JSONPBackend = (function (_super) {\n    __extends(JSONPBackend, _super);\n    function JSONPBackend() {\n        _super.apply(this, arguments);\n    }\n    return JSONPBackend;\n}(ConnectionBackend));\nexport var JSONPBackend_ = (function (_super) {\n    __extends(JSONPBackend_, _super);\n    /**\n     * @param {?} _browserJSONP\n     * @param {?} _baseResponseOptions\n     */\n    function JSONPBackend_(_browserJSONP, _baseResponseOptions) {\n        _super.call(this);\n        this._browserJSONP = _browserJSONP;\n        this._baseResponseOptions = _baseResponseOptions;\n    }\n    /**\n     * @param {?} request\n     * @return {?}\n     */\n    JSONPBackend_.prototype.createConnection = function (request) {\n        return new JSONPConnection_(request, this._browserJSONP, this._baseResponseOptions);\n    };\n    JSONPBackend_.decorators = [\n        { type: Injectable },\n    ];\n    /** @nocollapse */\n    JSONPBackend_.ctorParameters = function () { return [\n        { type: BrowserJsonp, },\n        { type: ResponseOptions, },\n    ]; };\n    return JSONPBackend_;\n}(JSONPBackend));\nfunction JSONPBackend__tsickle_Closure_declarations() {\n    /** @type {?} */\n    JSONPBackend_.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    JSONPBackend_.ctorParameters;\n    /** @type {?} */\n    JSONPBackend_.prototype._browserJSONP;\n    /** @type {?} */\n    JSONPBackend_.prototype._baseResponseOptions;\n}\n//# sourceMappingURL=jsonp_backend.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/http/src/backends/jsonp_backend.js\n// module id = 425\n// module chunks = 0","/**\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 */\nimport { Injectable } from '@angular/core';\nimport { __platform_browser_private__ } from '@angular/platform-browser';\nimport { Observable } from 'rxjs/Observable';\nimport { ResponseOptions } from '../base_response_options';\nimport { ContentType, RequestMethod, ResponseContentType, ResponseType } from '../enums';\nimport { Headers } from '../headers';\nimport { getResponseURL, isSuccess } from '../http_utils';\nimport { XSRFStrategy } from '../interfaces';\nimport { Response } from '../static_response';\nimport { BrowserXhr } from './browser_xhr';\nvar /** @type {?} */ XSSI_PREFIX = /^\\)\\]\\}',?\\n/;\n/**\n * Creates connections using `XMLHttpRequest`. Given a fully-qualified\n * request, an `XHRConnection` will immediately create an `XMLHttpRequest` object and send the\n * request.\n *\n * This class would typically not be created or interacted with directly inside applications, though\n * the {\\@link MockConnection} may be interacted with in tests.\n *\n * \\@experimental\n */\nexport var XHRConnection = (function () {\n    /**\n     * @param {?} req\n     * @param {?} browserXHR\n     * @param {?=} baseResponseOptions\n     */\n    function XHRConnection(req, browserXHR, baseResponseOptions) {\n        var _this = this;\n        this.request = req;\n        this.response = new Observable(function (responseObserver) {\n            var _xhr = browserXHR.build();\n            _xhr.open(RequestMethod[req.method].toUpperCase(), req.url);\n            if (req.withCredentials != null) {\n                _xhr.withCredentials = req.withCredentials;\n            }\n            // load event handler\n            var onLoad = function () {\n                // normalize IE9 bug (http://bugs.jquery.com/ticket/1450)\n                var status = _xhr.status === 1223 ? 204 : _xhr.status;\n                var body = null;\n                // HTTP 204 means no content\n                if (status !== 204) {\n                    // responseText is the old-school way of retrieving response (supported by IE8 & 9)\n                    // response/responseType properties were introduced in ResourceLoader Level2 spec\n                    // (supported by IE10)\n                    body = (typeof _xhr.response === 'undefined') ? _xhr.responseText : _xhr.response;\n                    // Implicitly strip a potential XSSI prefix.\n                    if (typeof body === 'string') {\n                        body = body.replace(XSSI_PREFIX, '');\n                    }\n                }\n                // fix status code when it is 0 (0 status is undocumented).\n                // Occurs when accessing file resources or on Android 4.1 stock browser\n                // while retrieving files from application cache.\n                if (status === 0) {\n                    status = body ? 200 : 0;\n                }\n                var headers = Headers.fromResponseHeaderString(_xhr.getAllResponseHeaders());\n                // IE 9 does not provide the way to get URL of response\n                var url = getResponseURL(_xhr) || req.url;\n                var statusText = _xhr.statusText || 'OK';\n                var responseOptions = new ResponseOptions({ body: body, status: status, headers: headers, statusText: statusText, url: url });\n                if (baseResponseOptions != null) {\n                    responseOptions = baseResponseOptions.merge(responseOptions);\n                }\n                var response = new Response(responseOptions);\n                response.ok = isSuccess(status);\n                if (response.ok) {\n                    responseObserver.next(response);\n                    // TODO(gdi2290): defer complete if array buffer until done\n                    responseObserver.complete();\n                    return;\n                }\n                responseObserver.error(response);\n            };\n            // error event handler\n            var onError = function (err) {\n                var responseOptions = new ResponseOptions({\n                    body: err,\n                    type: ResponseType.Error,\n                    status: _xhr.status,\n                    statusText: _xhr.statusText,\n                });\n                if (baseResponseOptions != null) {\n                    responseOptions = baseResponseOptions.merge(responseOptions);\n                }\n                responseObserver.error(new Response(responseOptions));\n            };\n            _this.setDetectedContentType(req, _xhr);\n            if (req.headers == null) {\n                req.headers = new Headers();\n            }\n            if (!req.headers.has('Accept')) {\n                req.headers.append('Accept', 'application/json, text/plain, */*');\n            }\n            req.headers.forEach(function (values, name) { return _xhr.setRequestHeader(name, values.join(',')); });\n            // Select the correct buffer type to store the response\n            if (req.responseType != null && _xhr.responseType != null) {\n                switch (req.responseType) {\n                    case ResponseContentType.ArrayBuffer:\n                        _xhr.responseType = 'arraybuffer';\n                        break;\n                    case ResponseContentType.Json:\n                        _xhr.responseType = 'json';\n                        break;\n                    case ResponseContentType.Text:\n                        _xhr.responseType = 'text';\n                        break;\n                    case ResponseContentType.Blob:\n                        _xhr.responseType = 'blob';\n                        break;\n                    default:\n                        throw new Error('The selected responseType is not supported');\n                }\n            }\n            _xhr.addEventListener('load', onLoad);\n            _xhr.addEventListener('error', onError);\n            _xhr.send(_this.request.getBody());\n            return function () {\n                _xhr.removeEventListener('load', onLoad);\n                _xhr.removeEventListener('error', onError);\n                _xhr.abort();\n            };\n        });\n    }\n    /**\n     * @param {?} req\n     * @param {?} _xhr\n     * @return {?}\n     */\n    XHRConnection.prototype.setDetectedContentType = function (req /** TODO Request */, _xhr /** XMLHttpRequest */) {\n        // Skip if a custom Content-Type header is provided\n        if (req.headers != null && req.headers.get('Content-Type') != null) {\n            return;\n        }\n        // Set the detected content type\n        switch (req.contentType) {\n            case ContentType.NONE:\n                break;\n            case ContentType.JSON:\n                _xhr.setRequestHeader('content-type', 'application/json');\n                break;\n            case ContentType.FORM:\n                _xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n                break;\n            case ContentType.TEXT:\n                _xhr.setRequestHeader('content-type', 'text/plain');\n                break;\n            case ContentType.BLOB:\n                var /** @type {?} */ blob = req.blob();\n                if (blob.type) {\n                    _xhr.setRequestHeader('content-type', blob.type);\n                }\n                break;\n        }\n    };\n    return XHRConnection;\n}());\nfunction XHRConnection_tsickle_Closure_declarations() {\n    /** @type {?} */\n    XHRConnection.prototype.request;\n    /**\n     * Response {\\@link EventEmitter} which emits a single {\\@link Response} value on load event of\n     * `XMLHttpRequest`.\n     * @type {?}\n     */\n    XHRConnection.prototype.response;\n    /** @type {?} */\n    XHRConnection.prototype.readyState;\n}\n/**\n * `XSRFConfiguration` sets up Cross Site Request Forgery (XSRF) protection for the application\n * using a cookie. See https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)\n * for more information on XSRF.\n *\n * Applications can configure custom cookie and header names by binding an instance of this class\n * with different `cookieName` and `headerName` values. See the main HTTP documentation for more\n * details.\n *\n * \\@experimental\n */\nexport var CookieXSRFStrategy = (function () {\n    /**\n     * @param {?=} _cookieName\n     * @param {?=} _headerName\n     */\n    function CookieXSRFStrategy(_cookieName, _headerName) {\n        if (_cookieName === void 0) { _cookieName = 'XSRF-TOKEN'; }\n        if (_headerName === void 0) { _headerName = 'X-XSRF-TOKEN'; }\n        this._cookieName = _cookieName;\n        this._headerName = _headerName;\n    }\n    /**\n     * @param {?} req\n     * @return {?}\n     */\n    CookieXSRFStrategy.prototype.configureRequest = function (req) {\n        var /** @type {?} */ xsrfToken = __platform_browser_private__.getDOM().getCookie(this._cookieName);\n        if (xsrfToken) {\n            req.headers.set(this._headerName, xsrfToken);\n        }\n    };\n    return CookieXSRFStrategy;\n}());\nfunction CookieXSRFStrategy_tsickle_Closure_declarations() {\n    /** @type {?} */\n    CookieXSRFStrategy.prototype._cookieName;\n    /** @type {?} */\n    CookieXSRFStrategy.prototype._headerName;\n}\n/**\n * Creates {\\@link XHRConnection} instances.\n *\n * This class would typically not be used by end users, but could be\n * overridden if a different backend implementation should be used,\n * such as in a node backend.\n *\n * ### Example\n *\n * ```\n * import {Http, MyNodeBackend, HTTP_PROVIDERS, BaseRequestOptions} from '\\@angular/http';\n * \\@Component({\n *   viewProviders: [\n *     HTTP_PROVIDERS,\n *     {provide: Http, useFactory: (backend, options) => {\n *       return new Http(backend, options);\n *     }, deps: [MyNodeBackend, BaseRequestOptions]}]\n * })\n * class MyComponent {\n *   constructor(http:Http) {\n *     http.request('people.json').subscribe(res => this.people = res.json());\n *   }\n * }\n * ```\n * \\@experimental\n */\nexport var XHRBackend = (function () {\n    /**\n     * @param {?} _browserXHR\n     * @param {?} _baseResponseOptions\n     * @param {?} _xsrfStrategy\n     */\n    function XHRBackend(_browserXHR, _baseResponseOptions, _xsrfStrategy) {\n        this._browserXHR = _browserXHR;\n        this._baseResponseOptions = _baseResponseOptions;\n        this._xsrfStrategy = _xsrfStrategy;\n    }\n    /**\n     * @param {?} request\n     * @return {?}\n     */\n    XHRBackend.prototype.createConnection = function (request) {\n        this._xsrfStrategy.configureRequest(request);\n        return new XHRConnection(request, this._browserXHR, this._baseResponseOptions);\n    };\n    XHRBackend.decorators = [\n        { type: Injectable },\n    ];\n    /** @nocollapse */\n    XHRBackend.ctorParameters = function () { return [\n        { type: BrowserXhr, },\n        { type: ResponseOptions, },\n        { type: XSRFStrategy, },\n    ]; };\n    return XHRBackend;\n}());\nfunction XHRBackend_tsickle_Closure_declarations() {\n    /** @type {?} */\n    XHRBackend.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    XHRBackend.ctorParameters;\n    /** @type {?} */\n    XHRBackend.prototype._browserXHR;\n    /** @type {?} */\n    XHRBackend.prototype._baseResponseOptions;\n    /** @type {?} */\n    XHRBackend.prototype._xsrfStrategy;\n}\n//# sourceMappingURL=xhr_backend.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/http/src/backends/xhr_backend.js\n// module id = 426\n// module chunks = 0","/**\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 */\nimport { stringToArrayBuffer } from './http_utils';\nimport { URLSearchParams } from './url_search_params';\n/**\n * HTTP request body used by both {\\@link Request} and {\\@link Response}\n * https://fetch.spec.whatwg.org/#body\n * @abstract\n */\nexport var Body = (function () {\n    function Body() {\n    }\n    /**\n     * Attempts to return body as parsed `JSON` object, or raises an exception.\n     * @return {?}\n     */\n    Body.prototype.json = function () {\n        if (typeof this._body === 'string') {\n            return JSON.parse(/** @type {?} */ (this._body));\n        }\n        if (this._body instanceof ArrayBuffer) {\n            return JSON.parse(this.text());\n        }\n        return this._body;\n    };\n    /**\n     * Returns the body as a string, presuming `toString()` can be called on the response body.\n     * @return {?}\n     */\n    Body.prototype.text = function () {\n        if (this._body instanceof URLSearchParams) {\n            return this._body.toString();\n        }\n        if (this._body instanceof ArrayBuffer) {\n            return String.fromCharCode.apply(null, new Uint16Array(/** @type {?} */ (this._body)));\n        }\n        if (this._body == null) {\n            return '';\n        }\n        if (typeof this._body === 'object') {\n            return JSON.stringify(this._body, null, 2);\n        }\n        return this._body.toString();\n    };\n    /**\n     * Return the body as an ArrayBuffer\n     * @return {?}\n     */\n    Body.prototype.arrayBuffer = function () {\n        if (this._body instanceof ArrayBuffer) {\n            return (this._body);\n        }\n        return stringToArrayBuffer(this.text());\n    };\n    /**\n     * Returns the request's body as a Blob, assuming that body exists.\n     * @return {?}\n     */\n    Body.prototype.blob = function () {\n        if (this._body instanceof Blob) {\n            return (this._body);\n        }\n        if (this._body instanceof ArrayBuffer) {\n            return new Blob([this._body]);\n        }\n        throw new Error('The request body isn\\'t either a blob or an array buffer');\n    };\n    return Body;\n}());\nfunction Body_tsickle_Closure_declarations() {\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    Body.prototype._body;\n}\n//# sourceMappingURL=body.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/http/src/body.js\n// module id = 427\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { Injectable } from '@angular/core';\nimport { RequestOptions } from './base_request_options';\nimport { RequestMethod } from './enums';\nimport { ConnectionBackend } from './interfaces';\nimport { Request } from './static_request';\n/**\n * @param {?} backend\n * @param {?} request\n * @return {?}\n */\nfunction httpRequest(backend, request) {\n    return backend.createConnection(request).response;\n}\n/**\n * @param {?} defaultOpts\n * @param {?} providedOpts\n * @param {?} method\n * @param {?} url\n * @return {?}\n */\nfunction mergeOptions(defaultOpts, providedOpts, method, url) {\n    var /** @type {?} */ newOptions = defaultOpts;\n    if (providedOpts) {\n        // Hack so Dart can used named parameters\n        return newOptions.merge(new RequestOptions({\n            method: providedOpts.method || method,\n            url: providedOpts.url || url,\n            search: providedOpts.search,\n            headers: providedOpts.headers,\n            body: providedOpts.body,\n            withCredentials: providedOpts.withCredentials,\n            responseType: providedOpts.responseType\n        }));\n    }\n    return newOptions.merge(new RequestOptions({ method: method, url: url }));\n}\n/**\n * Performs http requests using `XMLHttpRequest` as the default backend.\n *\n * `Http` is available as an injectable class, with methods to perform http requests. Calling\n * `request` returns an `Observable` which will emit a single {\\@link Response} when a\n * response is received.\n *\n * ### Example\n *\n * ```typescript\n * import {Http, HTTP_PROVIDERS} from '\\@angular/http';\n * import 'rxjs/add/operator/map'\n * \\@Component({\n *   selector: 'http-app',\n *   viewProviders: [HTTP_PROVIDERS],\n *   templateUrl: 'people.html'\n * })\n * class PeopleComponent {\n *   constructor(http: Http) {\n *     http.get('people.json')\n *       // Call map on the response observable to get the parsed people object\n *       .map(res => res.json())\n *       // Subscribe to the observable to get the parsed people object and attach it to the\n *       // component\n *       .subscribe(people => this.people = people);\n *   }\n * }\n * ```\n *\n *\n * ### Example\n *\n * ```\n * http.get('people.json').subscribe((res:Response) => this.people = res.json());\n * ```\n *\n * The default construct used to perform requests, `XMLHttpRequest`, is abstracted as a \"Backend\" (\n * {\\@link XHRBackend} in this case), which could be mocked with dependency injection by replacing\n * the {\\@link XHRBackend} provider, as in the following example:\n *\n * ### Example\n *\n * ```typescript\n * import {BaseRequestOptions, Http} from '\\@angular/http';\n * import {MockBackend} from '\\@angular/http/testing';\n * var injector = Injector.resolveAndCreate([\n *   BaseRequestOptions,\n *   MockBackend,\n *   {provide: Http, useFactory:\n *       function(backend, defaultOptions) {\n *         return new Http(backend, defaultOptions);\n *       },\n *       deps: [MockBackend, BaseRequestOptions]}\n * ]);\n * var http = injector.get(Http);\n * http.get('request-from-mock-backend.json').subscribe((res:Response) => doSomething(res));\n * ```\n *\n * \\@experimental\n */\nexport var Http = (function () {\n    /**\n     * @param {?} _backend\n     * @param {?} _defaultOptions\n     */\n    function Http(_backend, _defaultOptions) {\n        this._backend = _backend;\n        this._defaultOptions = _defaultOptions;\n    }\n    /**\n     * Performs any type of http request. First argument is required, and can either be a url or\n     * a {\\@link Request} instance. If the first argument is a url, an optional {\\@link RequestOptions}\n     * object can be provided as the 2nd argument. The options object will be merged with the values\n     * of {\\@link BaseRequestOptions} before performing the request.\n     * @param {?} url\n     * @param {?=} options\n     * @return {?}\n     */\n    Http.prototype.request = function (url, options) {\n        var /** @type {?} */ responseObservable;\n        if (typeof url === 'string') {\n            responseObservable = httpRequest(this._backend, new Request(mergeOptions(this._defaultOptions, options, RequestMethod.Get, /** @type {?} */ (url))));\n        }\n        else if (url instanceof Request) {\n            responseObservable = httpRequest(this._backend, url);\n        }\n        else {\n            throw new Error('First argument must be a url string or Request instance.');\n        }\n        return responseObservable;\n    };\n    /**\n     * Performs a request with `get` http method.\n     * @param {?} url\n     * @param {?=} options\n     * @return {?}\n     */\n    Http.prototype.get = function (url, options) {\n        return this.request(new Request(mergeOptions(this._defaultOptions, options, RequestMethod.Get, url)));\n    };\n    /**\n     * Performs a request with `post` http method.\n     * @param {?} url\n     * @param {?} body\n     * @param {?=} options\n     * @return {?}\n     */\n    Http.prototype.post = function (url, body, options) {\n        return this.request(new Request(mergeOptions(this._defaultOptions.merge(new RequestOptions({ body: body })), options, RequestMethod.Post, url)));\n    };\n    /**\n     * Performs a request with `put` http method.\n     * @param {?} url\n     * @param {?} body\n     * @param {?=} options\n     * @return {?}\n     */\n    Http.prototype.put = function (url, body, options) {\n        return this.request(new Request(mergeOptions(this._defaultOptions.merge(new RequestOptions({ body: body })), options, RequestMethod.Put, url)));\n    };\n    /**\n     * Performs a request with `delete` http method.\n     * @param {?} url\n     * @param {?=} options\n     * @return {?}\n     */\n    Http.prototype.delete = function (url, options) {\n        return this.request(new Request(mergeOptions(this._defaultOptions, options, RequestMethod.Delete, url)));\n    };\n    /**\n     * Performs a request with `patch` http method.\n     * @param {?} url\n     * @param {?} body\n     * @param {?=} options\n     * @return {?}\n     */\n    Http.prototype.patch = function (url, body, options) {\n        return this.request(new Request(mergeOptions(this._defaultOptions.merge(new RequestOptions({ body: body })), options, RequestMethod.Patch, url)));\n    };\n    /**\n     * Performs a request with `head` http method.\n     * @param {?} url\n     * @param {?=} options\n     * @return {?}\n     */\n    Http.prototype.head = function (url, options) {\n        return this.request(new Request(mergeOptions(this._defaultOptions, options, RequestMethod.Head, url)));\n    };\n    /**\n     * Performs a request with `options` http method.\n     * @param {?} url\n     * @param {?=} options\n     * @return {?}\n     */\n    Http.prototype.options = function (url, options) {\n        return this.request(new Request(mergeOptions(this._defaultOptions, options, RequestMethod.Options, url)));\n    };\n    Http.decorators = [\n        { type: Injectable },\n    ];\n    /** @nocollapse */\n    Http.ctorParameters = function () { return [\n        { type: ConnectionBackend, },\n        { type: RequestOptions, },\n    ]; };\n    return Http;\n}());\nfunction Http_tsickle_Closure_declarations() {\n    /** @type {?} */\n    Http.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    Http.ctorParameters;\n    /** @type {?} */\n    Http.prototype._backend;\n    /** @type {?} */\n    Http.prototype._defaultOptions;\n}\n/**\n * \\@experimental\n */\nexport var Jsonp = (function (_super) {\n    __extends(Jsonp, _super);\n    /**\n     * @param {?} backend\n     * @param {?} defaultOptions\n     */\n    function Jsonp(backend, defaultOptions) {\n        _super.call(this, backend, defaultOptions);\n    }\n    /**\n     * Performs any type of http request. First argument is required, and can either be a url or\n     * a {\\@link Request} instance. If the first argument is a url, an optional {\\@link RequestOptions}\n     * object can be provided as the 2nd argument. The options object will be merged with the values\n     * of {\\@link BaseRequestOptions} before performing the request.\n     *\n     * \\@security Regular XHR is the safest alternative to JSONP for most applications, and is\n     * supported by all current browsers. Because JSONP creates a `<script>` element with\n     * contents retrieved from a remote source, attacker-controlled data introduced by an untrusted\n     * source could expose your application to XSS risks. Data exposed by JSONP may also be\n     * readable by malicious third-party websites. In addition, JSONP introduces potential risk for\n     * future security issues (e.g. content sniffing).  For more detail, see the\n     * [Security Guide](http://g.co/ng/security).\n     * @param {?} url\n     * @param {?=} options\n     * @return {?}\n     */\n    Jsonp.prototype.request = function (url, options) {\n        var /** @type {?} */ responseObservable;\n        if (typeof url === 'string') {\n            url =\n                new Request(mergeOptions(this._defaultOptions, options, RequestMethod.Get, /** @type {?} */ (url)));\n        }\n        if (url instanceof Request) {\n            if (url.method !== RequestMethod.Get) {\n                throw new Error('JSONP requests must use GET request method.');\n            }\n            responseObservable = httpRequest(this._backend, url);\n        }\n        else {\n            throw new Error('First argument must be a url string or Request instance.');\n        }\n        return responseObservable;\n    };\n    Jsonp.decorators = [\n        { type: Injectable },\n    ];\n    /** @nocollapse */\n    Jsonp.ctorParameters = function () { return [\n        { type: ConnectionBackend, },\n        { type: RequestOptions, },\n    ]; };\n    return Jsonp;\n}(Http));\nfunction Jsonp_tsickle_Closure_declarations() {\n    /** @type {?} */\n    Jsonp.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    Jsonp.ctorParameters;\n}\n//# sourceMappingURL=http.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/http/src/http.js\n// module id = 428\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { Body } from './body';\nimport { ContentType } from './enums';\nimport { Headers } from './headers';\nimport { normalizeMethodName } from './http_utils';\nimport { URLSearchParams } from './url_search_params';\n/**\n * Creates `Request` instances from provided values.\n *\n * The Request's interface is inspired by the Request constructor defined in the [Fetch\n * Spec](https://fetch.spec.whatwg.org/#request-class),\n * but is considered a static value whose body can be accessed many times. There are other\n * differences in the implementation, but this is the most significant.\n *\n * `Request` instances are typically created by higher-level classes, like {\\@link Http} and\n * {\\@link Jsonp}, but it may occasionally be useful to explicitly create `Request` instances.\n * One such example is when creating services that wrap higher-level services, like {\\@link Http},\n * where it may be useful to generate a `Request` with arbitrary headers and search params.\n *\n * ```typescript\n * import {Injectable, Injector} from '\\@angular/core';\n * import {HTTP_PROVIDERS, Http, Request, RequestMethod} from '\\@angular/http';\n *\n * \\@Injectable()\n * class AutoAuthenticator {\n *   constructor(public http:Http) {}\n *   request(url:string) {\n *     return this.http.request(new Request({\n *       method: RequestMethod.Get,\n *       url: url,\n *       search: 'password=123'\n *     }));\n *   }\n * }\n *\n * var injector = Injector.resolveAndCreate([HTTP_PROVIDERS, AutoAuthenticator]);\n * var authenticator = injector.get(AutoAuthenticator);\n * authenticator.request('people.json').subscribe(res => {\n *   //URL should have included '?password=123'\n *   console.log('people', res.json());\n * });\n * ```\n *\n * \\@experimental\n */\nexport var Request = (function (_super) {\n    __extends(Request, _super);\n    /**\n     * @param {?} requestOptions\n     */\n    function Request(requestOptions) {\n        _super.call(this);\n        // TODO: assert that url is present\n        var url = requestOptions.url;\n        this.url = requestOptions.url;\n        if (requestOptions.search) {\n            var search = requestOptions.search.toString();\n            if (search.length > 0) {\n                var prefix = '?';\n                if (this.url.indexOf('?') != -1) {\n                    prefix = (this.url[this.url.length - 1] == '&') ? '' : '&';\n                }\n                // TODO: just delete search-query-looking string in url?\n                this.url = url + prefix + search;\n            }\n        }\n        this._body = requestOptions.body;\n        this.method = normalizeMethodName(requestOptions.method);\n        // TODO(jeffbcross): implement behavior\n        // Defaults to 'omit', consistent with browser\n        this.headers = new Headers(requestOptions.headers);\n        this.contentType = this.detectContentType();\n        this.withCredentials = requestOptions.withCredentials;\n        this.responseType = requestOptions.responseType;\n    }\n    /**\n     * Returns the content type enum based on header options.\n     * @return {?}\n     */\n    Request.prototype.detectContentType = function () {\n        switch (this.headers.get('content-type')) {\n            case 'application/json':\n                return ContentType.JSON;\n            case 'application/x-www-form-urlencoded':\n                return ContentType.FORM;\n            case 'multipart/form-data':\n                return ContentType.FORM_DATA;\n            case 'text/plain':\n            case 'text/html':\n                return ContentType.TEXT;\n            case 'application/octet-stream':\n                return this._body instanceof ArrayBuffer ? ContentType.ARRAY_BUFFER : ContentType.BLOB;\n            default:\n                return this.detectContentTypeFromBody();\n        }\n    };\n    /**\n     * Returns the content type of request's body based on its type.\n     * @return {?}\n     */\n    Request.prototype.detectContentTypeFromBody = function () {\n        if (this._body == null) {\n            return ContentType.NONE;\n        }\n        else if (this._body instanceof URLSearchParams) {\n            return ContentType.FORM;\n        }\n        else if (this._body instanceof FormData) {\n            return ContentType.FORM_DATA;\n        }\n        else if (this._body instanceof Blob) {\n            return ContentType.BLOB;\n        }\n        else if (this._body instanceof ArrayBuffer) {\n            return ContentType.ARRAY_BUFFER;\n        }\n        else if (this._body && typeof this._body === 'object') {\n            return ContentType.JSON;\n        }\n        else {\n            return ContentType.TEXT;\n        }\n    };\n    /**\n     * Returns the request's body according to its type. If body is undefined, return\n     * null.\n     * @return {?}\n     */\n    Request.prototype.getBody = function () {\n        switch (this.contentType) {\n            case ContentType.JSON:\n                return this.text();\n            case ContentType.FORM:\n                return this.text();\n            case ContentType.FORM_DATA:\n                return this._body;\n            case ContentType.TEXT:\n                return this.text();\n            case ContentType.BLOB:\n                return this.blob();\n            case ContentType.ARRAY_BUFFER:\n                return this.arrayBuffer();\n            default:\n                return null;\n        }\n    };\n    return Request;\n}(Body));\nfunction Request_tsickle_Closure_declarations() {\n    /**\n     * Http method with which to perform the request.\n     * @type {?}\n     */\n    Request.prototype.method;\n    /**\n     * {\\@link Headers} instance\n     * @type {?}\n     */\n    Request.prototype.headers;\n    /**\n     * Url of the remote resource\n     * @type {?}\n     */\n    Request.prototype.url;\n    /**\n     * Type of the request body *\n     * @type {?}\n     */\n    Request.prototype.contentType;\n    /**\n     * Enable use credentials\n     * @type {?}\n     */\n    Request.prototype.withCredentials;\n    /**\n     * Buffer to store the response\n     * @type {?}\n     */\n    Request.prototype.responseType;\n}\nvar /** @type {?} */ noop = function () { };\nvar /** @type {?} */ w = typeof window == 'object' ? window : noop;\nvar /** @type {?} */ FormData = ((w) /** TODO #9100 */)['FormData'] || noop;\nvar /** @type {?} */ Blob = ((w) /** TODO #9100 */)['Blob'] || noop;\nexport var /** @type {?} */ ArrayBuffer = ((w) /** TODO #9100 */)['ArrayBuffer'] || noop;\n//# sourceMappingURL=static_request.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/http/src/static_request.js\n// module id = 429\n// module chunks = 0","/**\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 */\nimport { ResourceLoader } from '@angular/compiler';\nimport { COMPILER_OPTIONS } from '@angular/core';\nimport { INTERNAL_BROWSER_PLATFORM_PROVIDERS } from './private_import_platform-browser';\nimport { ResourceLoaderImpl } from './resource_loader/resource_loader_impl';\nexport var INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS = [\n    INTERNAL_BROWSER_PLATFORM_PROVIDERS,\n    {\n        provide: COMPILER_OPTIONS,\n        useValue: { providers: [{ provide: ResourceLoader, useClass: ResourceLoaderImpl }] },\n        multi: true\n    },\n];\n//# sourceMappingURL=platform_providers.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/platform-browser-dynamic/src/platform_providers.js\n// module id = 430\n// module chunks = 0","var __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { ResourceLoader } from '@angular/compiler';\nimport { Injectable } from '@angular/core';\nexport var ResourceLoaderImpl = (function (_super) {\n    __extends(ResourceLoaderImpl, _super);\n    function ResourceLoaderImpl() {\n        _super.apply(this, arguments);\n    }\n    ResourceLoaderImpl.prototype.get = function (url) {\n        var resolve;\n        var reject;\n        var promise = new Promise(function (res, rej) {\n            resolve = res;\n            reject = rej;\n        });\n        var xhr = new XMLHttpRequest();\n        xhr.open('GET', url, true);\n        xhr.responseType = 'text';\n        xhr.onload = function () {\n            // responseText is the old-school way of retrieving response (supported by IE8 & 9)\n            // response/responseType properties were introduced in ResourceLoader Level2 spec (supported\n            // by IE10)\n            var response = xhr.response || xhr.responseText;\n            // normalize IE9 bug (http://bugs.jquery.com/ticket/1450)\n            var status = xhr.status === 1223 ? 204 : xhr.status;\n            // fix status code when it is 0 (0 status is undocumented).\n            // Occurs when accessing file resources or on Android 4.1 stock browser\n            // while retrieving files from application cache.\n            if (status === 0) {\n                status = response ? 200 : 0;\n            }\n            if (200 <= status && status <= 300) {\n                resolve(response);\n            }\n            else {\n                reject(\"Failed to load \" + url);\n            }\n        };\n        xhr.onerror = function () { reject(\"Failed to load \" + url); };\n        xhr.send();\n        return promise;\n    };\n    ResourceLoaderImpl.decorators = [\n        { type: Injectable },\n    ];\n    /** @nocollapse */\n    ResourceLoaderImpl.ctorParameters = function () { return []; };\n    return ResourceLoaderImpl;\n}(ResourceLoader));\n//# sourceMappingURL=resource_loader_impl.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/platform-browser-dynamic/src/resource_loader/resource_loader_impl.js\n// module id = 431\n// module chunks = 0","/**\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 */\nimport { CommonModule, PlatformLocation } from '@angular/common';\nimport { ApplicationModule, ErrorHandler, NgModule, Optional, PLATFORM_INITIALIZER, RootRenderer, Sanitizer, SkipSelf, Testability, createPlatformFactory, platformCore } from '@angular/core';\nimport { AnimationDriver } from '../src/dom/animation_driver';\nimport { WebAnimationsDriver } from '../src/dom/web_animations_driver';\nimport { BrowserDomAdapter } from './browser/browser_adapter';\nimport { BrowserPlatformLocation } from './browser/location/browser_platform_location';\nimport { BrowserGetTestability } from './browser/testability';\nimport { Title } from './browser/title';\nimport { ELEMENT_PROBE_PROVIDERS } from './dom/debug/ng_probe';\nimport { getDOM } from './dom/dom_adapter';\nimport { DomRootRenderer, DomRootRenderer_ } from './dom/dom_renderer';\nimport { DOCUMENT } from './dom/dom_tokens';\nimport { DomEventsPlugin } from './dom/events/dom_events';\nimport { EVENT_MANAGER_PLUGINS, EventManager } from './dom/events/event_manager';\nimport { HAMMER_GESTURE_CONFIG, HammerGestureConfig, HammerGesturesPlugin } from './dom/events/hammer_gestures';\nimport { KeyEventsPlugin } from './dom/events/key_events';\nimport { DomSharedStylesHost, SharedStylesHost } from './dom/shared_styles_host';\nimport { DomSanitizer, DomSanitizerImpl } from './security/dom_sanitization_service';\nexport var /** @type {?} */ INTERNAL_BROWSER_PLATFORM_PROVIDERS = [\n    { provide: PLATFORM_INITIALIZER, useValue: initDomAdapter, multi: true },\n    { provide: PlatformLocation, useClass: BrowserPlatformLocation }\n];\n/**\n * @security Replacing built-in sanitization providers exposes the application to XSS risks.\n * Attacker-controlled data introduced by an unsanitized provider could expose your\n * application to XSS risks. For more detail, see the [Security Guide](http://g.co/ng/security).\n * @experimental\n */\nexport var /** @type {?} */ BROWSER_SANITIZATION_PROVIDERS = [\n    { provide: Sanitizer, useExisting: DomSanitizer },\n    { provide: DomSanitizer, useClass: DomSanitizerImpl },\n];\n/**\n * @stable\n */\nexport var /** @type {?} */ platformBrowser = createPlatformFactory(platformCore, 'browser', INTERNAL_BROWSER_PLATFORM_PROVIDERS);\n/**\n * @return {?}\n */\nexport function initDomAdapter() {\n    BrowserDomAdapter.makeCurrent();\n    BrowserGetTestability.init();\n}\n/**\n * @return {?}\n */\nexport function errorHandler() {\n    return new ErrorHandler();\n}\n/**\n * @return {?}\n */\nexport function _document() {\n    return getDOM().defaultDoc();\n}\n/**\n * @return {?}\n */\nexport function _resolveDefaultAnimationDriver() {\n    if (getDOM().supportsWebAnimation()) {\n        return new WebAnimationsDriver();\n    }\n    return AnimationDriver.NOOP;\n}\n/**\n * The ng module for the browser.\n *\n * \\@stable\n */\nexport var BrowserModule = (function () {\n    /**\n     * @param {?} parentModule\n     */\n    function BrowserModule(parentModule) {\n        if (parentModule) {\n            throw new Error(\"BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.\");\n        }\n    }\n    BrowserModule.decorators = [\n        { type: NgModule, args: [{\n                    providers: [\n                        BROWSER_SANITIZATION_PROVIDERS, { provide: ErrorHandler, useFactory: errorHandler, deps: [] },\n                        { provide: DOCUMENT, useFactory: _document, deps: [] },\n                        { provide: EVENT_MANAGER_PLUGINS, useClass: DomEventsPlugin, multi: true },\n                        { provide: EVENT_MANAGER_PLUGINS, useClass: KeyEventsPlugin, multi: true },\n                        { provide: EVENT_MANAGER_PLUGINS, useClass: HammerGesturesPlugin, multi: true },\n                        { provide: HAMMER_GESTURE_CONFIG, useClass: HammerGestureConfig },\n                        { provide: DomRootRenderer, useClass: DomRootRenderer_ },\n                        { provide: RootRenderer, useExisting: DomRootRenderer },\n                        { provide: SharedStylesHost, useExisting: DomSharedStylesHost },\n                        { provide: AnimationDriver, useFactory: _resolveDefaultAnimationDriver }, DomSharedStylesHost,\n                        Testability, EventManager, ELEMENT_PROBE_PROVIDERS, Title\n                    ],\n                    exports: [CommonModule, ApplicationModule]\n                },] },\n    ];\n    /** @nocollapse */\n    BrowserModule.ctorParameters = function () { return [\n        { type: BrowserModule, decorators: [{ type: Optional }, { type: SkipSelf },] },\n    ]; };\n    return BrowserModule;\n}());\nfunction BrowserModule_tsickle_Closure_declarations() {\n    /** @type {?} */\n    BrowserModule.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    BrowserModule.ctorParameters;\n}\n//# sourceMappingURL=browser.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/platform-browser/src/browser.js\n// module id = 432\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { setRootDomAdapter } from '../dom/dom_adapter';\nimport { global, isBlank, isPresent, setValueOnPath } from '../facade/lang';\nimport { GenericBrowserDomAdapter } from './generic_browser_adapter';\nvar /** @type {?} */ _attrToPropMap = {\n    'class': 'className',\n    'innerHtml': 'innerHTML',\n    'readonly': 'readOnly',\n    'tabindex': 'tabIndex',\n};\nvar /** @type {?} */ DOM_KEY_LOCATION_NUMPAD = 3;\n// Map to convert some key or keyIdentifier values to what will be returned by getEventKey\nvar /** @type {?} */ _keyMap = {\n    // The following values are here for cross-browser compatibility and to match the W3C standard\n    // cf http://www.w3.org/TR/DOM-Level-3-Events-key/\n    '\\b': 'Backspace',\n    '\\t': 'Tab',\n    '\\x7F': 'Delete',\n    '\\x1B': 'Escape',\n    'Del': 'Delete',\n    'Esc': 'Escape',\n    'Left': 'ArrowLeft',\n    'Right': 'ArrowRight',\n    'Up': 'ArrowUp',\n    'Down': 'ArrowDown',\n    'Menu': 'ContextMenu',\n    'Scroll': 'ScrollLock',\n    'Win': 'OS'\n};\n// There is a bug in Chrome for numeric keypad keys:\n// https://code.google.com/p/chromium/issues/detail?id=155654\n// 1, 2, 3 ... are reported as A, B, C ...\nvar /** @type {?} */ _chromeNumKeyPadMap = {\n    'A': '1',\n    'B': '2',\n    'C': '3',\n    'D': '4',\n    'E': '5',\n    'F': '6',\n    'G': '7',\n    'H': '8',\n    'I': '9',\n    'J': '*',\n    'K': '+',\n    'M': '-',\n    'N': '.',\n    'O': '/',\n    '\\x60': '0',\n    '\\x90': 'NumLock'\n};\nexport var BrowserDomAdapter = (function (_super) {\n    __extends(BrowserDomAdapter, _super);\n    function BrowserDomAdapter() {\n        _super.apply(this, arguments);\n    }\n    /**\n     * @param {?} templateHtml\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.parse = function (templateHtml) { throw new Error('parse not implemented'); };\n    /**\n     * @return {?}\n     */\n    BrowserDomAdapter.makeCurrent = function () { setRootDomAdapter(new BrowserDomAdapter()); };\n    /**\n     * @param {?} element\n     * @param {?} name\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.hasProperty = function (element, name) { return name in element; };\n    /**\n     * @param {?} el\n     * @param {?} name\n     * @param {?} value\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.setProperty = function (el, name, value) { ((el))[name] = value; };\n    /**\n     * @param {?} el\n     * @param {?} name\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.getProperty = function (el, name) { return ((el))[name]; };\n    /**\n     * @param {?} el\n     * @param {?} methodName\n     * @param {?} args\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.invoke = function (el, methodName, args) { (_a = ((el)))[methodName].apply(_a, args); var _a; };\n    /**\n     * @param {?} error\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.logError = function (error) {\n        if (window.console) {\n            if (console.error) {\n                console.error(error);\n            }\n            else {\n                console.log(error);\n            }\n        }\n    };\n    /**\n     * @param {?} error\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.log = function (error) {\n        if (window.console) {\n            window.console.log && window.console.log(error);\n        }\n    };\n    /**\n     * @param {?} error\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.logGroup = function (error) {\n        if (window.console) {\n            window.console.group && window.console.group(error);\n        }\n    };\n    /**\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.logGroupEnd = function () {\n        if (window.console) {\n            window.console.groupEnd && window.console.groupEnd();\n        }\n    };\n    Object.defineProperty(BrowserDomAdapter.prototype, \"attrToPropMap\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return _attrToPropMap; },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @param {?} selector\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.query = function (selector) { return document.querySelector(selector); };\n    /**\n     * @param {?} el\n     * @param {?} selector\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.querySelector = function (el, selector) {\n        return (el.querySelector(selector));\n    };\n    /**\n     * @param {?} el\n     * @param {?} selector\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.querySelectorAll = function (el, selector) { return el.querySelectorAll(selector); };\n    /**\n     * @param {?} el\n     * @param {?} evt\n     * @param {?} listener\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.on = function (el, evt, listener) { el.addEventListener(evt, listener, false); };\n    /**\n     * @param {?} el\n     * @param {?} evt\n     * @param {?} listener\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.onAndCancel = function (el, evt, listener) {\n        el.addEventListener(evt, listener, false);\n        // Needed to follow Dart's subscription semantic, until fix of\n        // https://code.google.com/p/dart/issues/detail?id=17406\n        return function () { el.removeEventListener(evt, listener, false); };\n    };\n    /**\n     * @param {?} el\n     * @param {?} evt\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.dispatchEvent = function (el, evt) { el.dispatchEvent(evt); };\n    /**\n     * @param {?} eventType\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.createMouseEvent = function (eventType) {\n        var /** @type {?} */ evt = document.createEvent('MouseEvent');\n        evt.initEvent(eventType, true, true);\n        return evt;\n    };\n    /**\n     * @param {?} eventType\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.createEvent = function (eventType) {\n        var /** @type {?} */ evt = document.createEvent('Event');\n        evt.initEvent(eventType, true, true);\n        return evt;\n    };\n    /**\n     * @param {?} evt\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.preventDefault = function (evt) {\n        evt.preventDefault();\n        evt.returnValue = false;\n    };\n    /**\n     * @param {?} evt\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.isPrevented = function (evt) {\n        return evt.defaultPrevented || isPresent(evt.returnValue) && !evt.returnValue;\n    };\n    /**\n     * @param {?} el\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.getInnerHTML = function (el) { return el.innerHTML; };\n    /**\n     * @param {?} el\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.getTemplateContent = function (el) {\n        return 'content' in el && el instanceof HTMLTemplateElement ? el.content : null;\n    };\n    /**\n     * @param {?} el\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.getOuterHTML = function (el) { return el.outerHTML; };\n    /**\n     * @param {?} node\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.nodeName = function (node) { return node.nodeName; };\n    /**\n     * @param {?} node\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.nodeValue = function (node) { return node.nodeValue; };\n    /**\n     * @param {?} node\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.type = function (node) { return node.type; };\n    /**\n     * @param {?} node\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.content = function (node) {\n        if (this.hasProperty(node, 'content')) {\n            return ((node)).content;\n        }\n        else {\n            return node;\n        }\n    };\n    /**\n     * @param {?} el\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.firstChild = function (el) { return el.firstChild; };\n    /**\n     * @param {?} el\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.nextSibling = function (el) { return el.nextSibling; };\n    /**\n     * @param {?} el\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.parentElement = function (el) { return el.parentNode; };\n    /**\n     * @param {?} el\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.childNodes = function (el) { return el.childNodes; };\n    /**\n     * @param {?} el\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.childNodesAsList = function (el) {\n        var /** @type {?} */ childNodes = el.childNodes;\n        var /** @type {?} */ res = new Array(childNodes.length);\n        for (var /** @type {?} */ i = 0; i < childNodes.length; i++) {\n            res[i] = childNodes[i];\n        }\n        return res;\n    };\n    /**\n     * @param {?} el\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.clearNodes = function (el) {\n        while (el.firstChild) {\n            el.removeChild(el.firstChild);\n        }\n    };\n    /**\n     * @param {?} el\n     * @param {?} node\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.appendChild = function (el, node) { el.appendChild(node); };\n    /**\n     * @param {?} el\n     * @param {?} node\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.removeChild = function (el, node) { el.removeChild(node); };\n    /**\n     * @param {?} el\n     * @param {?} newChild\n     * @param {?} oldChild\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.replaceChild = function (el, newChild, oldChild) { el.replaceChild(newChild, oldChild); };\n    /**\n     * @param {?} node\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.remove = function (node) {\n        if (node.parentNode) {\n            node.parentNode.removeChild(node);\n        }\n        return node;\n    };\n    /**\n     * @param {?} el\n     * @param {?} node\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.insertBefore = function (el, node) { el.parentNode.insertBefore(node, el); };\n    /**\n     * @param {?} el\n     * @param {?} nodes\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.insertAllBefore = function (el, nodes) {\n        nodes.forEach(function (n) { return el.parentNode.insertBefore(n, el); });\n    };\n    /**\n     * @param {?} el\n     * @param {?} node\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.insertAfter = function (el, node) { el.parentNode.insertBefore(node, el.nextSibling); };\n    /**\n     * @param {?} el\n     * @param {?} value\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.setInnerHTML = function (el, value) { el.innerHTML = value; };\n    /**\n     * @param {?} el\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.getText = function (el) { return el.textContent; };\n    /**\n     * @param {?} el\n     * @param {?} value\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.setText = function (el, value) { el.textContent = value; };\n    /**\n     * @param {?} el\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.getValue = function (el) { return el.value; };\n    /**\n     * @param {?} el\n     * @param {?} value\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.setValue = function (el, value) { el.value = value; };\n    /**\n     * @param {?} el\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.getChecked = function (el) { return el.checked; };\n    /**\n     * @param {?} el\n     * @param {?} value\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.setChecked = function (el, value) { el.checked = value; };\n    /**\n     * @param {?} text\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.createComment = function (text) { return document.createComment(text); };\n    /**\n     * @param {?} html\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.createTemplate = function (html) {\n        var /** @type {?} */ t = document.createElement('template');\n        t.innerHTML = html;\n        return t;\n    };\n    /**\n     * @param {?} tagName\n     * @param {?=} doc\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.createElement = function (tagName, doc) {\n        if (doc === void 0) { doc = document; }\n        return doc.createElement(tagName);\n    };\n    /**\n     * @param {?} ns\n     * @param {?} tagName\n     * @param {?=} doc\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.createElementNS = function (ns, tagName, doc) {\n        if (doc === void 0) { doc = document; }\n        return doc.createElementNS(ns, tagName);\n    };\n    /**\n     * @param {?} text\n     * @param {?=} doc\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.createTextNode = function (text, doc) {\n        if (doc === void 0) { doc = document; }\n        return doc.createTextNode(text);\n    };\n    /**\n     * @param {?} attrName\n     * @param {?} attrValue\n     * @param {?=} doc\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.createScriptTag = function (attrName, attrValue, doc) {\n        if (doc === void 0) { doc = document; }\n        var /** @type {?} */ el = (doc.createElement('SCRIPT'));\n        el.setAttribute(attrName, attrValue);\n        return el;\n    };\n    /**\n     * @param {?} css\n     * @param {?=} doc\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.createStyleElement = function (css, doc) {\n        if (doc === void 0) { doc = document; }\n        var /** @type {?} */ style = (doc.createElement('style'));\n        this.appendChild(style, this.createTextNode(css));\n        return style;\n    };\n    /**\n     * @param {?} el\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.createShadowRoot = function (el) { return ((el)).createShadowRoot(); };\n    /**\n     * @param {?} el\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.getShadowRoot = function (el) { return ((el)).shadowRoot; };\n    /**\n     * @param {?} el\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.getHost = function (el) { return ((el)).host; };\n    /**\n     * @param {?} node\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.clone = function (node) { return node.cloneNode(true); };\n    /**\n     * @param {?} element\n     * @param {?} name\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.getElementsByClassName = function (element, name) {\n        return element.getElementsByClassName(name);\n    };\n    /**\n     * @param {?} element\n     * @param {?} name\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.getElementsByTagName = function (element, name) {\n        return element.getElementsByTagName(name);\n    };\n    /**\n     * @param {?} element\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.classList = function (element) { return Array.prototype.slice.call(element.classList, 0); };\n    /**\n     * @param {?} element\n     * @param {?} className\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.addClass = function (element, className) { element.classList.add(className); };\n    /**\n     * @param {?} element\n     * @param {?} className\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.removeClass = function (element, className) { element.classList.remove(className); };\n    /**\n     * @param {?} element\n     * @param {?} className\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.hasClass = function (element, className) {\n        return element.classList.contains(className);\n    };\n    /**\n     * @param {?} element\n     * @param {?} styleName\n     * @param {?} styleValue\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.setStyle = function (element, styleName, styleValue) {\n        element.style[styleName] = styleValue;\n    };\n    /**\n     * @param {?} element\n     * @param {?} stylename\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.removeStyle = function (element, stylename) {\n        // IE requires '' instead of null\n        // see https://github.com/angular/angular/issues/7916\n        element.style[stylename] = '';\n    };\n    /**\n     * @param {?} element\n     * @param {?} stylename\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.getStyle = function (element, stylename) { return element.style[stylename]; };\n    /**\n     * @param {?} element\n     * @param {?} styleName\n     * @param {?=} styleValue\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.hasStyle = function (element, styleName, styleValue) {\n        if (styleValue === void 0) { styleValue = null; }\n        var /** @type {?} */ value = this.getStyle(element, styleName) || '';\n        return styleValue ? value == styleValue : value.length > 0;\n    };\n    /**\n     * @param {?} element\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.tagName = function (element) { return element.tagName; };\n    /**\n     * @param {?} element\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.attributeMap = function (element) {\n        var /** @type {?} */ res = new Map();\n        var /** @type {?} */ elAttrs = element.attributes;\n        for (var /** @type {?} */ i = 0; i < elAttrs.length; i++) {\n            var /** @type {?} */ attrib = elAttrs[i];\n            res.set(attrib.name, attrib.value);\n        }\n        return res;\n    };\n    /**\n     * @param {?} element\n     * @param {?} attribute\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.hasAttribute = function (element, attribute) {\n        return element.hasAttribute(attribute);\n    };\n    /**\n     * @param {?} element\n     * @param {?} ns\n     * @param {?} attribute\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.hasAttributeNS = function (element, ns, attribute) {\n        return element.hasAttributeNS(ns, attribute);\n    };\n    /**\n     * @param {?} element\n     * @param {?} attribute\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.getAttribute = function (element, attribute) {\n        return element.getAttribute(attribute);\n    };\n    /**\n     * @param {?} element\n     * @param {?} ns\n     * @param {?} name\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.getAttributeNS = function (element, ns, name) {\n        return element.getAttributeNS(ns, name);\n    };\n    /**\n     * @param {?} element\n     * @param {?} name\n     * @param {?} value\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.setAttribute = function (element, name, value) { element.setAttribute(name, value); };\n    /**\n     * @param {?} element\n     * @param {?} ns\n     * @param {?} name\n     * @param {?} value\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.setAttributeNS = function (element, ns, name, value) {\n        element.setAttributeNS(ns, name, value);\n    };\n    /**\n     * @param {?} element\n     * @param {?} attribute\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.removeAttribute = function (element, attribute) { element.removeAttribute(attribute); };\n    /**\n     * @param {?} element\n     * @param {?} ns\n     * @param {?} name\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.removeAttributeNS = function (element, ns, name) {\n        element.removeAttributeNS(ns, name);\n    };\n    /**\n     * @param {?} el\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.templateAwareRoot = function (el) { return this.isTemplateElement(el) ? this.content(el) : el; };\n    /**\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.createHtmlDocument = function () {\n        return document.implementation.createHTMLDocument('fakeTitle');\n    };\n    /**\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.defaultDoc = function () { return document; };\n    /**\n     * @param {?} el\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.getBoundingClientRect = function (el) {\n        try {\n            return el.getBoundingClientRect();\n        }\n        catch (e) {\n            return { top: 0, bottom: 0, left: 0, right: 0, width: 0, height: 0 };\n        }\n    };\n    /**\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.getTitle = function () { return document.title; };\n    /**\n     * @param {?} newTitle\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.setTitle = function (newTitle) { document.title = newTitle || ''; };\n    /**\n     * @param {?} n\n     * @param {?} selector\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.elementMatches = function (n, selector) {\n        if (n instanceof HTMLElement) {\n            return n.matches && n.matches(selector) ||\n                n.msMatchesSelector && n.msMatchesSelector(selector) ||\n                n.webkitMatchesSelector && n.webkitMatchesSelector(selector);\n        }\n        return false;\n    };\n    /**\n     * @param {?} el\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.isTemplateElement = function (el) {\n        return el instanceof HTMLElement && el.nodeName == 'TEMPLATE';\n    };\n    /**\n     * @param {?} node\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.isTextNode = function (node) { return node.nodeType === Node.TEXT_NODE; };\n    /**\n     * @param {?} node\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.isCommentNode = function (node) { return node.nodeType === Node.COMMENT_NODE; };\n    /**\n     * @param {?} node\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.isElementNode = function (node) { return node.nodeType === Node.ELEMENT_NODE; };\n    /**\n     * @param {?} node\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.hasShadowRoot = function (node) {\n        return isPresent(node.shadowRoot) && node instanceof HTMLElement;\n    };\n    /**\n     * @param {?} node\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.isShadowRoot = function (node) { return node instanceof DocumentFragment; };\n    /**\n     * @param {?} node\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.importIntoDoc = function (node) { return document.importNode(this.templateAwareRoot(node), true); };\n    /**\n     * @param {?} node\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.adoptNode = function (node) { return document.adoptNode(node); };\n    /**\n     * @param {?} el\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.getHref = function (el) { return ((el)).href; };\n    /**\n     * @param {?} event\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.getEventKey = function (event) {\n        var /** @type {?} */ key = event.key;\n        if (isBlank(key)) {\n            key = event.keyIdentifier;\n            // keyIdentifier is defined in the old draft of DOM Level 3 Events implemented by Chrome and\n            // Safari cf\n            // http://www.w3.org/TR/2007/WD-DOM-Level-3-Events-20071221/events.html#Events-KeyboardEvents-Interfaces\n            if (isBlank(key)) {\n                return 'Unidentified';\n            }\n            if (key.startsWith('U+')) {\n                key = String.fromCharCode(parseInt(key.substring(2), 16));\n                if (event.location === DOM_KEY_LOCATION_NUMPAD && _chromeNumKeyPadMap.hasOwnProperty(key)) {\n                    // There is a bug in Chrome for numeric keypad keys:\n                    // https://code.google.com/p/chromium/issues/detail?id=155654\n                    // 1, 2, 3 ... are reported as A, B, C ...\n                    key = ((_chromeNumKeyPadMap))[key];\n                }\n            }\n        }\n        return _keyMap[key] || key;\n    };\n    /**\n     * @param {?} target\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.getGlobalEventTarget = function (target) {\n        if (target === 'window') {\n            return window;\n        }\n        if (target === 'document') {\n            return document;\n        }\n        if (target === 'body') {\n            return document.body;\n        }\n    };\n    /**\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.getHistory = function () { return window.history; };\n    /**\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.getLocation = function () { return window.location; };\n    /**\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.getBaseHref = function () {\n        var /** @type {?} */ href = getBaseElementHref();\n        return isBlank(href) ? null : relativePath(href);\n    };\n    /**\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.resetBaseElement = function () { baseElement = null; };\n    /**\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.getUserAgent = function () { return window.navigator.userAgent; };\n    /**\n     * @param {?} element\n     * @param {?} name\n     * @param {?} value\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.setData = function (element, name, value) {\n        this.setAttribute(element, 'data-' + name, value);\n    };\n    /**\n     * @param {?} element\n     * @param {?} name\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.getData = function (element, name) {\n        return this.getAttribute(element, 'data-' + name);\n    };\n    /**\n     * @param {?} element\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.getComputedStyle = function (element) { return getComputedStyle(element); };\n    /**\n     * @param {?} path\n     * @param {?} value\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.setGlobalVar = function (path, value) { setValueOnPath(global, path, value); };\n    /**\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.supportsWebAnimation = function () {\n        return typeof ((Element)).prototype['animate'] === 'function';\n    };\n    /**\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.performanceNow = function () {\n        // performance.now() is not available in all browsers, see\n        // http://caniuse.com/#search=performance.now\n        return window.performance && window.performance.now ? window.performance.now() :\n            new Date().getTime();\n    };\n    /**\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.supportsCookies = function () { return true; };\n    /**\n     * @param {?} name\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.getCookie = function (name) { return parseCookieValue(document.cookie, name); };\n    /**\n     * @param {?} name\n     * @param {?} value\n     * @return {?}\n     */\n    BrowserDomAdapter.prototype.setCookie = function (name, value) {\n        // document.cookie is magical, assigning into it assigns/overrides one cookie value, but does\n        // not clear other cookies.\n        document.cookie = encodeURIComponent(name) + '=' + encodeURIComponent(value);\n    };\n    return BrowserDomAdapter;\n}(GenericBrowserDomAdapter));\nvar /** @type {?} */ baseElement = null;\n/**\n * @return {?}\n */\nfunction getBaseElementHref() {\n    if (!baseElement) {\n        baseElement = document.querySelector('base');\n        if (!baseElement) {\n            return null;\n        }\n    }\n    return baseElement.getAttribute('href');\n}\n// based on urlUtils.js in AngularJS 1\nvar /** @type {?} */ urlParsingNode;\n/**\n * @param {?} url\n * @return {?}\n */\nfunction relativePath(url) {\n    if (!urlParsingNode) {\n        urlParsingNode = document.createElement('a');\n    }\n    urlParsingNode.setAttribute('href', url);\n    return (urlParsingNode.pathname.charAt(0) === '/') ? urlParsingNode.pathname :\n        '/' + urlParsingNode.pathname;\n}\n/**\n * @param {?} cookieStr\n * @param {?} name\n * @return {?}\n */\nexport function parseCookieValue(cookieStr, name) {\n    name = encodeURIComponent(name);\n    for (var _i = 0, _a = cookieStr.split(';'); _i < _a.length; _i++) {\n        var cookie = _a[_i];\n        var /** @type {?} */ eqIndex = cookie.indexOf('=');\n        var _b = eqIndex == -1 ? [cookie, ''] : [cookie.slice(0, eqIndex), cookie.slice(eqIndex + 1)], cookieName = _b[0], cookieValue = _b[1];\n        if (cookieName.trim() === name) {\n            return decodeURIComponent(cookieValue);\n        }\n    }\n    return null;\n}\n//# sourceMappingURL=browser_adapter.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/platform-browser/src/browser/browser_adapter.js\n// module id = 433\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { PlatformLocation } from '@angular/common';\nimport { Injectable } from '@angular/core';\nimport { getDOM } from '../../dom/dom_adapter';\nimport { supportsState } from './history';\n/**\n * `PlatformLocation` encapsulates all of the direct calls to platform APIs.\n * This class should not be used directly by an application developer. Instead, use\n * {\\@link Location}.\n */\nexport var BrowserPlatformLocation = (function (_super) {\n    __extends(BrowserPlatformLocation, _super);\n    function BrowserPlatformLocation() {\n        _super.call(this);\n        this._init();\n    }\n    /**\n     * \\@internal\n     * @return {?}\n     */\n    BrowserPlatformLocation.prototype._init = function () {\n        this._location = getDOM().getLocation();\n        this._history = getDOM().getHistory();\n    };\n    Object.defineProperty(BrowserPlatformLocation.prototype, \"location\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._location; },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @return {?}\n     */\n    BrowserPlatformLocation.prototype.getBaseHrefFromDOM = function () { return getDOM().getBaseHref(); };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    BrowserPlatformLocation.prototype.onPopState = function (fn) {\n        getDOM().getGlobalEventTarget('window').addEventListener('popstate', fn, false);\n    };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    BrowserPlatformLocation.prototype.onHashChange = function (fn) {\n        getDOM().getGlobalEventTarget('window').addEventListener('hashchange', fn, false);\n    };\n    Object.defineProperty(BrowserPlatformLocation.prototype, \"pathname\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._location.pathname; },\n        /**\n         * @param {?} newPath\n         * @return {?}\n         */\n        set: function (newPath) { this._location.pathname = newPath; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(BrowserPlatformLocation.prototype, \"search\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._location.search; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(BrowserPlatformLocation.prototype, \"hash\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._location.hash; },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @param {?} state\n     * @param {?} title\n     * @param {?} url\n     * @return {?}\n     */\n    BrowserPlatformLocation.prototype.pushState = function (state, title, url) {\n        if (supportsState()) {\n            this._history.pushState(state, title, url);\n        }\n        else {\n            this._location.hash = url;\n        }\n    };\n    /**\n     * @param {?} state\n     * @param {?} title\n     * @param {?} url\n     * @return {?}\n     */\n    BrowserPlatformLocation.prototype.replaceState = function (state, title, url) {\n        if (supportsState()) {\n            this._history.replaceState(state, title, url);\n        }\n        else {\n            this._location.hash = url;\n        }\n    };\n    /**\n     * @return {?}\n     */\n    BrowserPlatformLocation.prototype.forward = function () { this._history.forward(); };\n    /**\n     * @return {?}\n     */\n    BrowserPlatformLocation.prototype.back = function () { this._history.back(); };\n    BrowserPlatformLocation.decorators = [\n        { type: Injectable },\n    ];\n    /** @nocollapse */\n    BrowserPlatformLocation.ctorParameters = function () { return []; };\n    return BrowserPlatformLocation;\n}(PlatformLocation));\nfunction BrowserPlatformLocation_tsickle_Closure_declarations() {\n    /** @type {?} */\n    BrowserPlatformLocation.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    BrowserPlatformLocation.ctorParameters;\n    /** @type {?} */\n    BrowserPlatformLocation.prototype._location;\n    /** @type {?} */\n    BrowserPlatformLocation.prototype._history;\n}\n//# sourceMappingURL=browser_platform_location.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/platform-browser/src/browser/location/browser_platform_location.js\n// module id = 434\n// module chunks = 0","/**\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 */\nimport { setTestabilityGetter } from '@angular/core';\nimport { getDOM } from '../dom/dom_adapter';\nimport { global, isPresent } from '../facade/lang';\nexport var BrowserGetTestability = (function () {\n    function BrowserGetTestability() {\n    }\n    /**\n     * @return {?}\n     */\n    BrowserGetTestability.init = function () { setTestabilityGetter(new BrowserGetTestability()); };\n    /**\n     * @param {?} registry\n     * @return {?}\n     */\n    BrowserGetTestability.prototype.addToWindow = function (registry) {\n        global.getAngularTestability = function (elem, findInAncestors) {\n            if (findInAncestors === void 0) { findInAncestors = true; }\n            var /** @type {?} */ testability = registry.findTestabilityInTree(elem, findInAncestors);\n            if (testability == null) {\n                throw new Error('Could not find testability for element.');\n            }\n            return testability;\n        };\n        global.getAllAngularTestabilities = function () { return registry.getAllTestabilities(); };\n        global.getAllAngularRootElements = function () { return registry.getAllRootElements(); };\n        var /** @type {?} */ whenAllStable = function (callback /** TODO #9100 */) {\n            var /** @type {?} */ testabilities = global.getAllAngularTestabilities();\n            var /** @type {?} */ count = testabilities.length;\n            var /** @type {?} */ didWork = false;\n            var /** @type {?} */ decrement = function (didWork_ /** TODO #9100 */) {\n                didWork = didWork || didWork_;\n                count--;\n                if (count == 0) {\n                    callback(didWork);\n                }\n            };\n            testabilities.forEach(function (testability /** TODO #9100 */) {\n                testability.whenStable(decrement);\n            });\n        };\n        if (!global['frameworkStabilizers']) {\n            global['frameworkStabilizers'] = [];\n        }\n        global['frameworkStabilizers'].push(whenAllStable);\n    };\n    /**\n     * @param {?} registry\n     * @param {?} elem\n     * @param {?} findInAncestors\n     * @return {?}\n     */\n    BrowserGetTestability.prototype.findTestabilityInTree = function (registry, elem, findInAncestors) {\n        if (elem == null) {\n            return null;\n        }\n        var /** @type {?} */ t = registry.getTestability(elem);\n        if (isPresent(t)) {\n            return t;\n        }\n        else if (!findInAncestors) {\n            return null;\n        }\n        if (getDOM().isShadowRoot(elem)) {\n            return this.findTestabilityInTree(registry, getDOM().getHost(elem), true);\n        }\n        return this.findTestabilityInTree(registry, getDOM().parentElement(elem), true);\n    };\n    return BrowserGetTestability;\n}());\n//# sourceMappingURL=testability.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/platform-browser/src/browser/testability.js\n// module id = 435\n// module chunks = 0","/**\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 */\nimport { getDOM } from '../dom/dom_adapter';\n/**\n * A service that can be used to get and set the title of a current HTML document.\n *\n * Since an Angular 2 application can't be bootstrapped on the entire HTML document (`<html>` tag)\n * it is not possible to bind to the `text` property of the `HTMLTitleElement` elements\n * (representing the `<title>` tag). Instead, this service can be used to set and get the current\n * title value.\n *\n * \\@experimental\n */\nexport var Title = (function () {\n    function Title() {\n    }\n    /**\n     * Get the title of the current HTML document.\n     * @return {?}\n     */\n    Title.prototype.getTitle = function () { return getDOM().getTitle(); };\n    /**\n     * Set the title of the current HTML document.\n     * @param {?} newTitle\n     * @return {?}\n     */\n    Title.prototype.setTitle = function (newTitle) { getDOM().setTitle(newTitle); };\n    return Title;\n}());\n//# sourceMappingURL=title.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/platform-browser/src/browser/title.js\n// module id = 436\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { Injectable } from '@angular/core';\nimport { EventManagerPlugin } from './event_manager';\nexport var DomEventsPlugin = (function (_super) {\n    __extends(DomEventsPlugin, _super);\n    function DomEventsPlugin() {\n        _super.apply(this, arguments);\n    }\n    /**\n     * @param {?} eventName\n     * @return {?}\n     */\n    DomEventsPlugin.prototype.supports = function (eventName) { return true; };\n    /**\n     * @param {?} element\n     * @param {?} eventName\n     * @param {?} handler\n     * @return {?}\n     */\n    DomEventsPlugin.prototype.addEventListener = function (element, eventName, handler) {\n        element.addEventListener(eventName, /** @type {?} */ (handler), false);\n        return function () { return element.removeEventListener(eventName, /** @type {?} */ (handler), false); };\n    };\n    DomEventsPlugin.decorators = [\n        { type: Injectable },\n    ];\n    /** @nocollapse */\n    DomEventsPlugin.ctorParameters = function () { return []; };\n    return DomEventsPlugin;\n}(EventManagerPlugin));\nfunction DomEventsPlugin_tsickle_Closure_declarations() {\n    /** @type {?} */\n    DomEventsPlugin.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    DomEventsPlugin.ctorParameters;\n}\n//# sourceMappingURL=dom_events.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/platform-browser/src/dom/events/dom_events.js\n// module id = 437\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { Injectable } from '@angular/core';\nimport { getDOM } from '../dom_adapter';\nimport { EventManagerPlugin } from './event_manager';\nvar /** @type {?} */ MODIFIER_KEYS = ['alt', 'control', 'meta', 'shift'];\nvar /** @type {?} */ MODIFIER_KEY_GETTERS = {\n    'alt': function (event) { return event.altKey; },\n    'control': function (event) { return event.ctrlKey; },\n    'meta': function (event) { return event.metaKey; },\n    'shift': function (event) { return event.shiftKey; }\n};\n/**\n * \\@experimental\n */\nexport var KeyEventsPlugin = (function (_super) {\n    __extends(KeyEventsPlugin, _super);\n    function KeyEventsPlugin() {\n        _super.call(this);\n    }\n    /**\n     * @param {?} eventName\n     * @return {?}\n     */\n    KeyEventsPlugin.prototype.supports = function (eventName) { return KeyEventsPlugin.parseEventName(eventName) != null; };\n    /**\n     * @param {?} element\n     * @param {?} eventName\n     * @param {?} handler\n     * @return {?}\n     */\n    KeyEventsPlugin.prototype.addEventListener = function (element, eventName, handler) {\n        var /** @type {?} */ parsedEvent = KeyEventsPlugin.parseEventName(eventName);\n        var /** @type {?} */ outsideHandler = KeyEventsPlugin.eventCallback(parsedEvent['fullKey'], handler, this.manager.getZone());\n        return this.manager.getZone().runOutsideAngular(function () {\n            return getDOM().onAndCancel(element, parsedEvent['domEventName'], outsideHandler);\n        });\n    };\n    /**\n     * @param {?} eventName\n     * @return {?}\n     */\n    KeyEventsPlugin.parseEventName = function (eventName) {\n        var /** @type {?} */ parts = eventName.toLowerCase().split('.');\n        var /** @type {?} */ domEventName = parts.shift();\n        if ((parts.length === 0) || !(domEventName === 'keydown' || domEventName === 'keyup')) {\n            return null;\n        }\n        var /** @type {?} */ key = KeyEventsPlugin._normalizeKey(parts.pop());\n        var /** @type {?} */ fullKey = '';\n        MODIFIER_KEYS.forEach(function (modifierName) {\n            var /** @type {?} */ index = parts.indexOf(modifierName);\n            if (index > -1) {\n                parts.splice(index, 1);\n                fullKey += modifierName + '.';\n            }\n        });\n        fullKey += key;\n        if (parts.length != 0 || key.length === 0) {\n            // returning null instead of throwing to let another plugin process the event\n            return null;\n        }\n        var /** @type {?} */ result = {};\n        result['domEventName'] = domEventName;\n        result['fullKey'] = fullKey;\n        return result;\n    };\n    /**\n     * @param {?} event\n     * @return {?}\n     */\n    KeyEventsPlugin.getEventFullKey = function (event) {\n        var /** @type {?} */ fullKey = '';\n        var /** @type {?} */ key = getDOM().getEventKey(event);\n        key = key.toLowerCase();\n        if (key === ' ') {\n            key = 'space'; // for readability\n        }\n        else if (key === '.') {\n            key = 'dot'; // because '.' is used as a separator in event names\n        }\n        MODIFIER_KEYS.forEach(function (modifierName) {\n            if (modifierName != key) {\n                var /** @type {?} */ modifierGetter = MODIFIER_KEY_GETTERS[modifierName];\n                if (modifierGetter(event)) {\n                    fullKey += modifierName + '.';\n                }\n            }\n        });\n        fullKey += key;\n        return fullKey;\n    };\n    /**\n     * @param {?} fullKey\n     * @param {?} handler\n     * @param {?} zone\n     * @return {?}\n     */\n    KeyEventsPlugin.eventCallback = function (fullKey, handler, zone) {\n        return function (event /** TODO #9100 */) {\n            if (KeyEventsPlugin.getEventFullKey(event) === fullKey) {\n                zone.runGuarded(function () { return handler(event); });\n            }\n        };\n    };\n    /**\n     * \\@internal\n     * @param {?} keyName\n     * @return {?}\n     */\n    KeyEventsPlugin._normalizeKey = function (keyName) {\n        // TODO: switch to a Map if the mapping grows too much\n        switch (keyName) {\n            case 'esc':\n                return 'escape';\n            default:\n                return keyName;\n        }\n    };\n    KeyEventsPlugin.decorators = [\n        { type: Injectable },\n    ];\n    /** @nocollapse */\n    KeyEventsPlugin.ctorParameters = function () { return []; };\n    return KeyEventsPlugin;\n}(EventManagerPlugin));\nfunction KeyEventsPlugin_tsickle_Closure_declarations() {\n    /** @type {?} */\n    KeyEventsPlugin.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    KeyEventsPlugin.ctorParameters;\n}\n//# sourceMappingURL=key_events.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/platform-browser/src/dom/events/key_events.js\n// module id = 438\n// module chunks = 0","/**\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 */\nimport { isPresent } from '../facade/lang';\nimport { WebAnimationsPlayer } from './web_animations_player';\nexport var WebAnimationsDriver = (function () {\n    function WebAnimationsDriver() {\n    }\n    /**\n     * @param {?} element\n     * @param {?} startingStyles\n     * @param {?} keyframes\n     * @param {?} duration\n     * @param {?} delay\n     * @param {?} easing\n     * @param {?=} previousPlayers\n     * @return {?}\n     */\n    WebAnimationsDriver.prototype.animate = function (element, startingStyles, keyframes, duration, delay, easing, previousPlayers) {\n        if (previousPlayers === void 0) { previousPlayers = []; }\n        var /** @type {?} */ formattedSteps = [];\n        var /** @type {?} */ startingStyleLookup = {};\n        if (isPresent(startingStyles)) {\n            startingStyleLookup = _populateStyles(startingStyles, {});\n        }\n        keyframes.forEach(function (keyframe) {\n            var /** @type {?} */ data = _populateStyles(keyframe.styles, startingStyleLookup);\n            data['offset'] = Math.max(0, Math.min(1, keyframe.offset));\n            formattedSteps.push(data);\n        });\n        // Styling passed into element.animate() must always be balanced.\n        // The special cases below can occur if only style() calls exist\n        // within an animation or when a style() calls are used prior\n        // to a group() animation being issued or if the renderer is\n        // invoked by the user directly.\n        if (formattedSteps.length == 0) {\n            formattedSteps = [startingStyleLookup, startingStyleLookup];\n        }\n        else if (formattedSteps.length == 1) {\n            var /** @type {?} */ start = startingStyleLookup;\n            var /** @type {?} */ end = formattedSteps[0];\n            end['offset'] = null;\n            formattedSteps = [start, end];\n        }\n        var /** @type {?} */ playerOptions = {\n            'duration': duration,\n            'delay': delay,\n            'fill': 'both' // we use `both` because it allows for styling at 0% to work with `delay`\n        };\n        // we check for this to avoid having a null|undefined value be present\n        // for the easing (which results in an error for certain browsers #9752)\n        if (easing) {\n            playerOptions['easing'] = easing;\n        }\n        // there may be a chance a NoOp player is returned depending\n        // on when the previous animation was cancelled\n        previousPlayers = previousPlayers.filter(filterWebAnimationPlayerFn);\n        return new WebAnimationsPlayer(element, formattedSteps, playerOptions, /** @type {?} */ (previousPlayers));\n    };\n    return WebAnimationsDriver;\n}());\n/**\n * @param {?} styles\n * @param {?} defaultStyles\n * @return {?}\n */\nfunction _populateStyles(styles, defaultStyles) {\n    var /** @type {?} */ data = {};\n    styles.styles.forEach(function (entry) { Object.keys(entry).forEach(function (prop) { data[prop] = entry[prop]; }); });\n    Object.keys(defaultStyles).forEach(function (prop) {\n        if (!isPresent(data[prop])) {\n            data[prop] = defaultStyles[prop];\n        }\n    });\n    return data;\n}\n/**\n * @param {?} player\n * @return {?}\n */\nfunction filterWebAnimationPlayerFn(player) {\n    return player instanceof WebAnimationsPlayer;\n}\n//# sourceMappingURL=web_animations_driver.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/platform-browser/src/dom/web_animations_driver.js\n// module id = 439\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { Injectable, SecurityContext } from '@angular/core';\nimport { sanitizeHtml } from './html_sanitizer';\nimport { sanitizeStyle } from './style_sanitizer';\nimport { sanitizeUrl } from './url_sanitizer';\nexport { SecurityContext };\n/**\n * DomSanitizer helps preventing Cross Site Scripting Security bugs (XSS) by sanitizing\n * values to be safe to use in the different DOM contexts.\n *\n * For example, when binding a URL in an `<a [href]=\"someValue\">` hyperlink, `someValue` will be\n * sanitized so that an attacker cannot inject e.g. a `javascript:` URL that would execute code on\n * the website.\n *\n * In specific situations, it might be necessary to disable sanitization, for example if the\n * application genuinely needs to produce a `javascript:` style link with a dynamic value in it.\n * Users can bypass security by constructing a value with one of the `bypassSecurityTrust...`\n * methods, and then binding to that value from the template.\n *\n * These situations should be very rare, and extraordinary care must be taken to avoid creating a\n * Cross Site Scripting (XSS) security bug!\n *\n * When using `bypassSecurityTrust...`, make sure to call the method as early as possible and as\n * close as possible to the source of the value, to make it easy to verify no security bug is\n * created by its use.\n *\n * It is not required (and not recommended) to bypass security if the value is safe, e.g. a URL that\n * does not start with a suspicious protocol, or an HTML snippet that does not contain dangerous\n * code. The sanitizer leaves safe values intact.\n *\n * \\@security Calling any of the `bypassSecurityTrust...` APIs disables Angular's built-in\n * sanitization for the value passed in. Carefully check and audit all values and code paths going\n * into this call. Make sure any user data is appropriately escaped for this security context.\n * For more detail, see the [Security Guide](http://g.co/ng/security).\n *\n * \\@stable\n * @abstract\n */\nexport var DomSanitizer = (function () {\n    function DomSanitizer() {\n    }\n    /**\n     * Sanitizes a value for use in the given SecurityContext.\n     *\n     * If value is trusted for the context, this method will unwrap the contained safe value and use\n     * it directly. Otherwise, value will be sanitized to be safe in the given context, for example\n     * by replacing URLs that have an unsafe protocol part (such as `javascript:`). The implementation\n     * is responsible to make sure that the value can definitely be safely used in the given context.\n     * @abstract\n     * @param {?} context\n     * @param {?} value\n     * @return {?}\n     */\n    DomSanitizer.prototype.sanitize = function (context, value) { };\n    /**\n     * Bypass security and trust the given value to be safe HTML. Only use this when the bound HTML\n     * is unsafe (e.g. contains `<script>` tags) and the code should be executed. The sanitizer will\n     * leave safe HTML intact, so in most situations this method should not be used.\n     *\n     * **WARNING:** calling this method with untrusted user data exposes your application to XSS\n     * security risks!\n     * @abstract\n     * @param {?} value\n     * @return {?}\n     */\n    DomSanitizer.prototype.bypassSecurityTrustHtml = function (value) { };\n    /**\n     * Bypass security and trust the given value to be safe style value (CSS).\n     *\n     * **WARNING:** calling this method with untrusted user data exposes your application to XSS\n     * security risks!\n     * @abstract\n     * @param {?} value\n     * @return {?}\n     */\n    DomSanitizer.prototype.bypassSecurityTrustStyle = function (value) { };\n    /**\n     * Bypass security and trust the given value to be safe JavaScript.\n     *\n     * **WARNING:** calling this method with untrusted user data exposes your application to XSS\n     * security risks!\n     * @abstract\n     * @param {?} value\n     * @return {?}\n     */\n    DomSanitizer.prototype.bypassSecurityTrustScript = function (value) { };\n    /**\n     * Bypass security and trust the given value to be a safe style URL, i.e. a value that can be used\n     * in hyperlinks or `<img src>`.\n     *\n     * **WARNING:** calling this method with untrusted user data exposes your application to XSS\n     * security risks!\n     * @abstract\n     * @param {?} value\n     * @return {?}\n     */\n    DomSanitizer.prototype.bypassSecurityTrustUrl = function (value) { };\n    /**\n     * Bypass security and trust the given value to be a safe resource URL, i.e. a location that may\n     * be used to load executable code from, like `<script src>`, or `<iframe src>`.\n     *\n     * **WARNING:** calling this method with untrusted user data exposes your application to XSS\n     * security risks!\n     * @abstract\n     * @param {?} value\n     * @return {?}\n     */\n    DomSanitizer.prototype.bypassSecurityTrustResourceUrl = function (value) { };\n    return DomSanitizer;\n}());\nexport var DomSanitizerImpl = (function (_super) {\n    __extends(DomSanitizerImpl, _super);\n    function DomSanitizerImpl() {\n        _super.apply(this, arguments);\n    }\n    /**\n     * @param {?} ctx\n     * @param {?} value\n     * @return {?}\n     */\n    DomSanitizerImpl.prototype.sanitize = function (ctx, value) {\n        if (value == null)\n            return null;\n        switch (ctx) {\n            case SecurityContext.NONE:\n                return value;\n            case SecurityContext.HTML:\n                if (value instanceof SafeHtmlImpl)\n                    return value.changingThisBreaksApplicationSecurity;\n                this.checkNotSafeValue(value, 'HTML');\n                return sanitizeHtml(String(value));\n            case SecurityContext.STYLE:\n                if (value instanceof SafeStyleImpl)\n                    return value.changingThisBreaksApplicationSecurity;\n                this.checkNotSafeValue(value, 'Style');\n                return sanitizeStyle(value);\n            case SecurityContext.SCRIPT:\n                if (value instanceof SafeScriptImpl)\n                    return value.changingThisBreaksApplicationSecurity;\n                this.checkNotSafeValue(value, 'Script');\n                throw new Error('unsafe value used in a script context');\n            case SecurityContext.URL:\n                if (value instanceof SafeResourceUrlImpl || value instanceof SafeUrlImpl) {\n                    // Allow resource URLs in URL contexts, they are strictly more trusted.\n                    return value.changingThisBreaksApplicationSecurity;\n                }\n                this.checkNotSafeValue(value, 'URL');\n                return sanitizeUrl(String(value));\n            case SecurityContext.RESOURCE_URL:\n                if (value instanceof SafeResourceUrlImpl) {\n                    return value.changingThisBreaksApplicationSecurity;\n                }\n                this.checkNotSafeValue(value, 'ResourceURL');\n                throw new Error('unsafe value used in a resource URL context (see http://g.co/ng/security#xss)');\n            default:\n                throw new Error(\"Unexpected SecurityContext \" + ctx + \" (see http://g.co/ng/security#xss)\");\n        }\n    };\n    /**\n     * @param {?} value\n     * @param {?} expectedType\n     * @return {?}\n     */\n    DomSanitizerImpl.prototype.checkNotSafeValue = function (value, expectedType) {\n        if (value instanceof SafeValueImpl) {\n            throw new Error((\"Required a safe \" + expectedType + \", got a \" + value.getTypeName() + \" \") +\n                \"(see http://g.co/ng/security#xss)\");\n        }\n    };\n    /**\n     * @param {?} value\n     * @return {?}\n     */\n    DomSanitizerImpl.prototype.bypassSecurityTrustHtml = function (value) { return new SafeHtmlImpl(value); };\n    /**\n     * @param {?} value\n     * @return {?}\n     */\n    DomSanitizerImpl.prototype.bypassSecurityTrustStyle = function (value) { return new SafeStyleImpl(value); };\n    /**\n     * @param {?} value\n     * @return {?}\n     */\n    DomSanitizerImpl.prototype.bypassSecurityTrustScript = function (value) { return new SafeScriptImpl(value); };\n    /**\n     * @param {?} value\n     * @return {?}\n     */\n    DomSanitizerImpl.prototype.bypassSecurityTrustUrl = function (value) { return new SafeUrlImpl(value); };\n    /**\n     * @param {?} value\n     * @return {?}\n     */\n    DomSanitizerImpl.prototype.bypassSecurityTrustResourceUrl = function (value) {\n        return new SafeResourceUrlImpl(value);\n    };\n    DomSanitizerImpl.decorators = [\n        { type: Injectable },\n    ];\n    /** @nocollapse */\n    DomSanitizerImpl.ctorParameters = function () { return []; };\n    return DomSanitizerImpl;\n}(DomSanitizer));\nfunction DomSanitizerImpl_tsickle_Closure_declarations() {\n    /** @type {?} */\n    DomSanitizerImpl.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    DomSanitizerImpl.ctorParameters;\n}\n/**\n * @abstract\n */\nvar SafeValueImpl = (function () {\n    /**\n     * @param {?} changingThisBreaksApplicationSecurity\n     */\n    function SafeValueImpl(changingThisBreaksApplicationSecurity) {\n        this.changingThisBreaksApplicationSecurity = changingThisBreaksApplicationSecurity;\n        // empty\n    }\n    /**\n     * @abstract\n     * @return {?}\n     */\n    SafeValueImpl.prototype.getTypeName = function () { };\n    /**\n     * @return {?}\n     */\n    SafeValueImpl.prototype.toString = function () {\n        return (\"SafeValue must use [property]=binding: \" + this.changingThisBreaksApplicationSecurity) +\n            \" (see http://g.co/ng/security#xss)\";\n    };\n    return SafeValueImpl;\n}());\nfunction SafeValueImpl_tsickle_Closure_declarations() {\n    /** @type {?} */\n    SafeValueImpl.prototype.changingThisBreaksApplicationSecurity;\n}\nvar SafeHtmlImpl = (function (_super) {\n    __extends(SafeHtmlImpl, _super);\n    function SafeHtmlImpl() {\n        _super.apply(this, arguments);\n    }\n    /**\n     * @return {?}\n     */\n    SafeHtmlImpl.prototype.getTypeName = function () { return 'HTML'; };\n    return SafeHtmlImpl;\n}(SafeValueImpl));\nvar SafeStyleImpl = (function (_super) {\n    __extends(SafeStyleImpl, _super);\n    function SafeStyleImpl() {\n        _super.apply(this, arguments);\n    }\n    /**\n     * @return {?}\n     */\n    SafeStyleImpl.prototype.getTypeName = function () { return 'Style'; };\n    return SafeStyleImpl;\n}(SafeValueImpl));\nvar SafeScriptImpl = (function (_super) {\n    __extends(SafeScriptImpl, _super);\n    function SafeScriptImpl() {\n        _super.apply(this, arguments);\n    }\n    /**\n     * @return {?}\n     */\n    SafeScriptImpl.prototype.getTypeName = function () { return 'Script'; };\n    return SafeScriptImpl;\n}(SafeValueImpl));\nvar SafeUrlImpl = (function (_super) {\n    __extends(SafeUrlImpl, _super);\n    function SafeUrlImpl() {\n        _super.apply(this, arguments);\n    }\n    /**\n     * @return {?}\n     */\n    SafeUrlImpl.prototype.getTypeName = function () { return 'URL'; };\n    return SafeUrlImpl;\n}(SafeValueImpl));\nvar SafeResourceUrlImpl = (function (_super) {\n    __extends(SafeResourceUrlImpl, _super);\n    function SafeResourceUrlImpl() {\n        _super.apply(this, arguments);\n    }\n    /**\n     * @return {?}\n     */\n    SafeResourceUrlImpl.prototype.getTypeName = function () { return 'ResourceURL'; };\n    return SafeResourceUrlImpl;\n}(SafeValueImpl));\n//# sourceMappingURL=dom_sanitization_service.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/platform-browser/src/security/dom_sanitization_service.js\n// module id = 440\n// module chunks = 0","/**\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 */\nimport { ContentChildren, Directive, ElementRef, Input, Renderer } from '@angular/core';\nimport { NavigationEnd, Router } from '../router';\nimport { RouterLink, RouterLinkWithHref } from './router_link';\n/**\n * @whatItDoes Lets you add a CSS class to an element when the link's route becomes active.\n *\n * @howToUse\n *\n * ```\n * <a routerLink=\"/user/bob\" routerLinkActive=\"active-link\">Bob</a>\n * ```\n *\n * @description\n *\n * The RouterLinkActive directive lets you add a CSS class to an element when the link's route\n * becomes active.\n *\n * Consider the following example:\n *\n * ```\n * <a routerLink=\"/user/bob\" routerLinkActive=\"active-link\">Bob</a>\n * ```\n *\n * When the url is either '/user' or '/user/bob', the active-link class will\n * be added to the `a` tag. If the url changes, the class will be removed.\n *\n * You can set more than one class, as follows:\n *\n * ```\n * <a routerLink=\"/user/bob\" routerLinkActive=\"class1 class2\">Bob</a>\n * <a routerLink=\"/user/bob\" [routerLinkActive]=\"['class1', 'class2']\">Bob</a>\n * ```\n *\n * You can configure RouterLinkActive by passing `exact: true`. This will add the classes\n * only when the url matches the link exactly.\n *\n * ```\n * <a routerLink=\"/user/bob\" routerLinkActive=\"active-link\" [routerLinkActiveOptions]=\"{exact:\n * true}\">Bob</a>\n * ```\n *\n * Finally, you can apply the RouterLinkActive directive to an ancestor of a RouterLink.\n *\n * ```\n * <div routerLinkActive=\"active-link\" [routerLinkActiveOptions]=\"{exact: true}\">\n *   <a routerLink=\"/user/jim\">Jim</a>\n *   <a routerLink=\"/user/bob\">Bob</a>\n * </div>\n * ```\n *\n * This will set the active-link class on the div tag if the url is either '/user/jim' or\n * '/user/bob'.\n *\n * @selector ':not(a)[routerLink]'\n * @ngModule RouterModule\n *\n * @stable\n */\nexport var RouterLinkActive = (function () {\n    function RouterLinkActive(router, element, renderer) {\n        var _this = this;\n        this.router = router;\n        this.element = element;\n        this.renderer = renderer;\n        this.classes = [];\n        this.routerLinkActiveOptions = { exact: false };\n        this.subscription = router.events.subscribe(function (s) {\n            if (s instanceof NavigationEnd) {\n                _this.update();\n            }\n        });\n    }\n    RouterLinkActive.prototype.ngAfterContentInit = function () {\n        var _this = this;\n        this.links.changes.subscribe(function (s) { return _this.update(); });\n        this.linksWithHrefs.changes.subscribe(function (s) { return _this.update(); });\n        this.update();\n    };\n    Object.defineProperty(RouterLinkActive.prototype, \"routerLinkActive\", {\n        set: function (data) {\n            if (Array.isArray(data)) {\n                this.classes = data;\n            }\n            else {\n                this.classes = data.split(' ');\n            }\n        },\n        enumerable: true,\n        configurable: true\n    });\n    RouterLinkActive.prototype.ngOnChanges = function (changes) { this.update(); };\n    RouterLinkActive.prototype.ngOnDestroy = function () { this.subscription.unsubscribe(); };\n    RouterLinkActive.prototype.update = function () {\n        var _this = this;\n        if (!this.links || !this.linksWithHrefs || !this.router.navigated)\n            return;\n        var isActive = this.hasActiveLink();\n        this.classes.forEach(function (c) { return _this.renderer.setElementClass(_this.element.nativeElement, c, isActive); });\n    };\n    RouterLinkActive.prototype.isLinkActive = function (router) {\n        var _this = this;\n        return function (link) {\n            return router.isActive(link.urlTree, _this.routerLinkActiveOptions.exact);\n        };\n    };\n    RouterLinkActive.prototype.hasActiveLink = function () {\n        return this.links.some(this.isLinkActive(this.router)) ||\n            this.linksWithHrefs.some(this.isLinkActive(this.router));\n    };\n    RouterLinkActive.decorators = [\n        { type: Directive, args: [{ selector: '[routerLinkActive]' },] },\n    ];\n    /** @nocollapse */\n    RouterLinkActive.ctorParameters = [\n        { type: Router, },\n        { type: ElementRef, },\n        { type: Renderer, },\n    ];\n    RouterLinkActive.propDecorators = {\n        'links': [{ type: ContentChildren, args: [RouterLink, { descendants: true },] },],\n        'linksWithHrefs': [{ type: ContentChildren, args: [RouterLinkWithHref, { descendants: true },] },],\n        'routerLinkActiveOptions': [{ type: Input },],\n        'routerLinkActive': [{ type: Input },],\n    };\n    return RouterLinkActive;\n}());\n//# sourceMappingURL=router_link_active.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/router/src/directives/router_link_active.js\n// module id = 441\n// module chunks = 0","/**\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 */\nimport { Attribute, ComponentFactoryResolver, Directive, EventEmitter, Output, ReflectiveInjector, ViewContainerRef } from '@angular/core';\nimport { RouterOutletMap } from '../router_outlet_map';\nimport { PRIMARY_OUTLET } from '../shared';\n/**\n * @whatItDoes Acts as a placeholder that Angular dynamically fills based on the current router\n * state.\n *\n * @howToUse\n *\n * ```\n * <router-outlet></router-outlet>\n * <router-outlet name='left'></router-outlet>\n * <router-outlet name='right'></router-outlet>\n * ```\n *\n * A router outlet will emit an activate event any time a new component is being instantiated,\n * and a deactivate event when it is being destroyed.\n *\n * ```\n * <router-outlet\n *   (activate)='onActivate($event)'\n *   (deactivate)='onDeactivate($event)'></router-outlet>\n * ```\n * @selector 'a[routerLink]'\n * @ngModule RouterModule\n *\n * @stable\n */\nexport var RouterOutlet = (function () {\n    function RouterOutlet(parentOutletMap, location, resolver, name) {\n        this.parentOutletMap = parentOutletMap;\n        this.location = location;\n        this.resolver = resolver;\n        this.name = name;\n        this.activateEvents = new EventEmitter();\n        this.deactivateEvents = new EventEmitter();\n        parentOutletMap.registerOutlet(name ? name : PRIMARY_OUTLET, this);\n    }\n    RouterOutlet.prototype.ngOnDestroy = function () { this.parentOutletMap.removeOutlet(this.name ? this.name : PRIMARY_OUTLET); };\n    Object.defineProperty(RouterOutlet.prototype, \"isActivated\", {\n        get: function () { return !!this.activated; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(RouterOutlet.prototype, \"component\", {\n        get: function () {\n            if (!this.activated)\n                throw new Error('Outlet is not activated');\n            return this.activated.instance;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(RouterOutlet.prototype, \"activatedRoute\", {\n        get: function () {\n            if (!this.activated)\n                throw new Error('Outlet is not activated');\n            return this._activatedRoute;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    RouterOutlet.prototype.deactivate = function () {\n        if (this.activated) {\n            var c = this.component;\n            this.activated.destroy();\n            this.activated = null;\n            this.deactivateEvents.emit(c);\n        }\n    };\n    RouterOutlet.prototype.activate = function (activatedRoute, loadedResolver, loadedInjector, providers, outletMap) {\n        if (this.isActivated) {\n            throw new Error('Cannot activate an already activated outlet');\n        }\n        this.outletMap = outletMap;\n        this._activatedRoute = activatedRoute;\n        var snapshot = activatedRoute._futureSnapshot;\n        var component = snapshot._routeConfig.component;\n        var factory;\n        if (loadedResolver) {\n            factory = loadedResolver.resolveComponentFactory(component);\n        }\n        else {\n            factory = this.resolver.resolveComponentFactory(component);\n        }\n        var injector = loadedInjector ? loadedInjector : this.location.parentInjector;\n        var inj = ReflectiveInjector.fromResolvedProviders(providers, injector);\n        this.activated = this.location.createComponent(factory, this.location.length, inj, []);\n        this.activated.changeDetectorRef.detectChanges();\n        this.activateEvents.emit(this.activated.instance);\n    };\n    RouterOutlet.decorators = [\n        { type: Directive, args: [{ selector: 'router-outlet' },] },\n    ];\n    /** @nocollapse */\n    RouterOutlet.ctorParameters = [\n        { type: RouterOutletMap, },\n        { type: ViewContainerRef, },\n        { type: ComponentFactoryResolver, },\n        { type: undefined, decorators: [{ type: Attribute, args: ['name',] },] },\n    ];\n    RouterOutlet.propDecorators = {\n        'activateEvents': [{ type: Output, args: ['activate',] },],\n        'deactivateEvents': [{ type: Output, args: ['deactivate',] },],\n    };\n    return RouterOutlet;\n}());\n//# sourceMappingURL=router_outlet.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/router/src/directives/router_outlet.js\n// module id = 442\n// module chunks = 0","/**\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 */\nimport { APP_BASE_HREF, HashLocationStrategy, Location, LocationStrategy, PathLocationStrategy, PlatformLocation } from '@angular/common';\nimport { ANALYZE_FOR_ENTRY_COMPONENTS, APP_BOOTSTRAP_LISTENER, ApplicationRef, Compiler, Inject, Injector, NgModule, NgModuleFactoryLoader, OpaqueToken, Optional, SkipSelf, SystemJsNgModuleLoader } from '@angular/core';\nimport { RouterLink, RouterLinkWithHref } from './directives/router_link';\nimport { RouterLinkActive } from './directives/router_link_active';\nimport { RouterOutlet } from './directives/router_outlet';\nimport { Router } from './router';\nimport { ROUTES } from './router_config_loader';\nimport { RouterOutletMap } from './router_outlet_map';\nimport { NoPreloading, PreloadAllModules, PreloadingStrategy, RouterPreloader } from './router_preloader';\nimport { ActivatedRoute } from './router_state';\nimport { DefaultUrlSerializer, UrlSerializer } from './url_tree';\nimport { flatten } from './utils/collection';\n/**\n * @whatItDoes Contains a list of directives\n * @stable\n */\nvar ROUTER_DIRECTIVES = [RouterOutlet, RouterLink, RouterLinkWithHref, RouterLinkActive];\n/**\n * @whatItDoes Is used in DI to configure the router.\n * @stable\n */\nexport var ROUTER_CONFIGURATION = new OpaqueToken('ROUTER_CONFIGURATION');\n/**\n * @docsNotRequired\n */\nexport var ROUTER_FORROOT_GUARD = new OpaqueToken('ROUTER_FORROOT_GUARD');\nvar pathLocationStrategy = {\n    provide: LocationStrategy,\n    useClass: PathLocationStrategy\n};\nvar hashLocationStrategy = {\n    provide: LocationStrategy,\n    useClass: HashLocationStrategy\n};\nexport var ROUTER_PROVIDERS = [\n    Location, { provide: UrlSerializer, useClass: DefaultUrlSerializer }, {\n        provide: Router,\n        useFactory: setupRouter,\n        deps: [\n            ApplicationRef, UrlSerializer, RouterOutletMap, Location, Injector, NgModuleFactoryLoader,\n            Compiler, ROUTES, ROUTER_CONFIGURATION\n        ]\n    },\n    RouterOutletMap, { provide: ActivatedRoute, useFactory: rootRoute, deps: [Router] },\n    { provide: NgModuleFactoryLoader, useClass: SystemJsNgModuleLoader }, RouterPreloader, NoPreloading,\n    PreloadAllModules, { provide: ROUTER_CONFIGURATION, useValue: { enableTracing: false } }\n];\n/**\n * @whatItDoes Adds router directives and providers.\n *\n * @howToUse\n *\n * RouterModule can be imported multiple times: once per lazily-loaded bundle.\n * Since the router deals with a global shared resource--location, we cannot have\n * more than one router service active.\n *\n * That is why there are two ways to create the module: `RouterModule.forRoot` and\n * `RouterModule.forChild`.\n *\n * * `forRoot` creates a module that contains all the directives, the given routes, and the router\n * service itself.\n * * `forChild` creates a module that contains all the directives and the given routes, but does not\n * include\n * the router service.\n *\n * When registered at the root, the module should be used as follows\n *\n * ```\n * @NgModule({\n *   imports: [RouterModule.forRoot(ROUTES)]\n * })\n * class MyNgModule {}\n * ```\n *\n * For submodules and lazy loaded submodules the module should be used as follows:\n *\n * ```\n * @NgModule({\n *   imports: [RouterModule.forChild(ROUTES)]\n * })\n * class MyNgModule {}\n * ```\n *\n * @description\n *\n * Managing state transitions is one of the hardest parts of building applications. This is\n * especially true on the web, where you also need to ensure that the state is reflected in the URL.\n * In addition, we often want to split applications into multiple bundles and load them on demand.\n * Doing this transparently is not trivial.\n *\n * The Angular 2 router solves these problems. Using the router, you can declaratively specify\n * application states, manage state transitions while taking care of the URL, and load bundles on\n * demand.\n *\n * [Read this developer guide](https://angular.io/docs/ts/latest/guide/router.html) to get an\n * overview of how the router should be used.\n *\n * @stable\n */\nexport var RouterModule = (function () {\n    function RouterModule(guard) {\n    }\n    /**\n     * Creates a module with all the router providers and directives. It also optionally sets up an\n     * application listener to perform an initial navigation.\n     *\n     * Options:\n     * * `enableTracing` makes the router log all its internal events to the console.\n     * * `useHash` enables the location strategy that uses the URL fragment instead of the history\n     * API.\n     * * `initialNavigation` disables the initial navigation.\n     * * `errorHandler` provides a custom error handler.\n     */\n    RouterModule.forRoot = function (routes, config) {\n        return {\n            ngModule: RouterModule,\n            providers: [\n                ROUTER_PROVIDERS, provideRoutes(routes), {\n                    provide: ROUTER_FORROOT_GUARD,\n                    useFactory: provideForRootGuard,\n                    deps: [[Router, new Optional(), new SkipSelf()]]\n                },\n                { provide: ROUTER_CONFIGURATION, useValue: config ? config : {} }, {\n                    provide: LocationStrategy,\n                    useFactory: provideLocationStrategy,\n                    deps: [\n                        PlatformLocation, [new Inject(APP_BASE_HREF), new Optional()], ROUTER_CONFIGURATION\n                    ]\n                },\n                {\n                    provide: PreloadingStrategy,\n                    useExisting: config && config.preloadingStrategy ? config.preloadingStrategy :\n                        NoPreloading\n                },\n                provideRouterInitializer()\n            ]\n        };\n    };\n    /**\n     * Creates a module with all the router directives and a provider registering routes.\n     */\n    RouterModule.forChild = function (routes) {\n        return { ngModule: RouterModule, providers: [provideRoutes(routes)] };\n    };\n    RouterModule.decorators = [\n        { type: NgModule, args: [{ declarations: ROUTER_DIRECTIVES, exports: ROUTER_DIRECTIVES },] },\n    ];\n    /** @nocollapse */\n    RouterModule.ctorParameters = [\n        { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [ROUTER_FORROOT_GUARD,] },] },\n    ];\n    return RouterModule;\n}());\nexport function provideLocationStrategy(platformLocationStrategy, baseHref, options) {\n    if (options === void 0) { options = {}; }\n    return options.useHash ? new HashLocationStrategy(platformLocationStrategy, baseHref) :\n        new PathLocationStrategy(platformLocationStrategy, baseHref);\n}\nexport function provideForRootGuard(router) {\n    if (router) {\n        throw new Error(\"RouterModule.forRoot() called twice. Lazy loaded modules should use RouterModule.forChild() instead.\");\n    }\n    return 'guarded';\n}\n/**\n * @whatItDoes Registers routes.\n *\n * @howToUse\n *\n * ```\n * @NgModule({\n *   imports: [RouterModule.forChild(ROUTES)],\n *   providers: [provideRoutes(EXTRA_ROUTES)]\n * })\n * class MyNgModule {}\n * ```\n *\n * @stable\n */\nexport function provideRoutes(routes) {\n    return [\n        { provide: ANALYZE_FOR_ENTRY_COMPONENTS, multi: true, useValue: routes },\n        { provide: ROUTES, multi: true, useValue: routes }\n    ];\n}\nexport function setupRouter(ref, urlSerializer, outletMap, location, injector, loader, compiler, config, opts) {\n    if (opts === void 0) { opts = {}; }\n    var r = new Router(null, urlSerializer, outletMap, location, injector, loader, compiler, flatten(config));\n    if (opts.errorHandler) {\n        r.errorHandler = opts.errorHandler;\n    }\n    if (opts.enableTracing) {\n        r.events.subscribe(function (e) {\n            console.group(\"Router Event: \" + e.constructor.name);\n            console.log(e.toString());\n            console.log(e);\n            console.groupEnd();\n        });\n    }\n    return r;\n}\nexport function rootRoute(router) {\n    return router.routerState.root;\n}\nexport function initialRouterNavigation(router, ref, preloader, opts) {\n    return function () {\n        router.resetRootComponentType(ref.componentTypes[0]);\n        preloader.setUpPreloading();\n        if (opts.initialNavigation === false) {\n            router.setUpLocationChangeListener();\n        }\n        else {\n            router.initialNavigation();\n        }\n    };\n}\nexport function provideRouterInitializer() {\n    return {\n        provide: APP_BOOTSTRAP_LISTENER,\n        multi: true,\n        useFactory: initialRouterNavigation,\n        deps: [Router, ApplicationRef, RouterPreloader, ROUTER_CONFIGURATION]\n    };\n}\n//# sourceMappingURL=router_module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/router/src/router_module.js\n// module id = 443\n// module chunks = 0","/**\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*/\nimport { Compiler, Injectable, Injector, NgModuleFactoryLoader } from '@angular/core';\nimport { from } from 'rxjs/observable/from';\nimport { of } from 'rxjs/observable/of';\nimport { _catch } from 'rxjs/operator/catch';\nimport { concatMap } from 'rxjs/operator/concatMap';\nimport { filter } from 'rxjs/operator/filter';\nimport { mergeAll } from 'rxjs/operator/mergeAll';\nimport { mergeMap } from 'rxjs/operator/mergeMap';\nimport { NavigationEnd, Router } from './router';\nimport { RouterConfigLoader } from './router_config_loader';\n/**\n * @whatItDoes Provides a preloading strategy.\n *\n * @experimental\n */\nexport var PreloadingStrategy = (function () {\n    function PreloadingStrategy() {\n    }\n    return PreloadingStrategy;\n}());\n/**\n * @whatItDoes Provides a preloading strategy that preloads all modules as quicky as possible.\n *\n * @howToUse\n *\n * ```\n * RouteModule.forRoot(ROUTES, {preloadingStrategy: PreloadAllModules})\n * ```\n *\n * @experimental\n */\nexport var PreloadAllModules = (function () {\n    function PreloadAllModules() {\n    }\n    PreloadAllModules.prototype.preload = function (route, fn) {\n        return _catch.call(fn(), function () { return of(null); });\n    };\n    return PreloadAllModules;\n}());\n/**\n * @whatItDoes Provides a preloading strategy that does not preload any modules.\n *\n * @description\n *\n * This strategy is enabled by default.\n *\n * @experimental\n */\nexport var NoPreloading = (function () {\n    function NoPreloading() {\n    }\n    NoPreloading.prototype.preload = function (route, fn) { return of(null); };\n    return NoPreloading;\n}());\n/**\n * The preloader optimistically loads all router configurations to\n * make navigations into lazily-loaded sections of the application faster.\n *\n * The preloader runs in the background. When the router bootstraps, the preloader\n * starts listening to all navigation events. After every such event, the preloader\n * will check if any configurations can be loaded lazily.\n *\n * If a route is protected by `canLoad` guards, the preloaded will not load it.\n */\nexport var RouterPreloader = (function () {\n    function RouterPreloader(router, moduleLoader, compiler, injector, preloadingStrategy) {\n        this.router = router;\n        this.injector = injector;\n        this.preloadingStrategy = preloadingStrategy;\n        this.loader = new RouterConfigLoader(moduleLoader, compiler);\n    }\n    ;\n    RouterPreloader.prototype.setUpPreloading = function () {\n        var _this = this;\n        var navigations = filter.call(this.router.events, function (e) { return e instanceof NavigationEnd; });\n        this.subscription = concatMap.call(navigations, function () { return _this.preload(); }).subscribe(function (v) { });\n    };\n    RouterPreloader.prototype.preload = function () { return this.processRoutes(this.injector, this.router.config); };\n    RouterPreloader.prototype.ngOnDestroy = function () { this.subscription.unsubscribe(); };\n    RouterPreloader.prototype.processRoutes = function (injector, routes) {\n        var res = [];\n        for (var _i = 0, routes_1 = routes; _i < routes_1.length; _i++) {\n            var c = routes_1[_i];\n            // we already have the config loaded, just recurce\n            if (c.loadChildren && !c.canLoad && c._loadedConfig) {\n                var childConfig = c._loadedConfig;\n                res.push(this.processRoutes(childConfig.injector, childConfig.routes));\n            }\n            else if (c.loadChildren && !c.canLoad) {\n                res.push(this.preloadConfig(injector, c));\n            }\n            else if (c.children) {\n                res.push(this.processRoutes(injector, c.children));\n            }\n        }\n        return mergeAll.call(from(res));\n    };\n    RouterPreloader.prototype.preloadConfig = function (injector, route) {\n        var _this = this;\n        return this.preloadingStrategy.preload(route, function () {\n            var loaded = _this.loader.load(injector, route.loadChildren);\n            return mergeMap.call(loaded, function (config) {\n                var c = route;\n                c._loadedConfig = config;\n                return _this.processRoutes(config.injector, config.routes);\n            });\n        });\n    };\n    RouterPreloader.decorators = [\n        { type: Injectable },\n    ];\n    /** @nocollapse */\n    RouterPreloader.ctorParameters = [\n        { type: Router, },\n        { type: NgModuleFactoryLoader, },\n        { type: Compiler, },\n        { type: Injector, },\n        { type: PreloadingStrategy, },\n    ];\n    return RouterPreloader;\n}());\n//# sourceMappingURL=router_preloader.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/router/src/router_preloader.js\n// module id = 444\n// module chunks = 0","import { Component } from \"@angular/core\";\r\nimport { correctHeight, detectBody } from \"./app.helpers\";\r\n\r\ndeclare var jQuery: any;\r\n\r\n@Component({\r\n  selector: \"app-root\",\r\n  template: require('./app.component.html'),\r\n})\r\nexport class AppComponent {\r\n  ngAfterViewInit() {\r\n    // Run correctHeight function on load and resize window event\r\n    jQuery(window).bind(\"load resize\", function () {\r\n      correctHeight();\r\n      detectBody();\r\n    });\r\n\r\n    // Correct height of wrapper after metisMenu animation.\r\n    jQuery(\".metismenu a\").click(() => {\r\n      setTimeout(() => {\r\n        correctHeight();\r\n      }, 300);\r\n    });\r\n  }\r\n\r\n  onActivate(event) {\r\n    console.log(event);\r\n  }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/app.component.ts","import { Component } from '@angular/core';\r\n\r\ndeclare var jQuery:any;\r\n\r\n@Component({\r\n    selector: 'admin_basic',\r\n    template: require('./admin_basic.template.html')\r\n})\r\nexport class admin_basicComponent {}\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/common/admin/layouts/admin_basic.component.ts","import { Component } from '@angular/core';\r\n\r\ndeclare var jQuery:any;\r\n\r\n@Component({\r\n    selector: 'admin_blank',\r\n    template: require('./admin_blank.template.html')\r\n})\r\nexport class admin_blankComponent {\r\n\r\n    ngAfterViewInit() {\r\n        jQuery('body').addClass('gray-bg');\r\n    }\r\n\r\n    ngOnDestroy() {\r\n        jQuery('body').removeClass('gray-bg');\r\n    }\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/common/admin/layouts/admin_blank.component.ts","import { Component } from '@angular/core';\r\n\r\ndeclare var jQuery:any;\r\n\r\n@Component({\r\n    selector: 'dispatcher_basic',\r\n    template: require('./dispatcher_basic.template.html')\r\n})\r\nexport class DispatcherbasicComponent {}\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/common/dispatcher/layouts/dispatcher_basic.component.ts","import { Component } from '@angular/core';\r\n\r\ndeclare var jQuery:any;\r\n\r\n@Component({\r\n    selector: 'dispatcher_blank',\r\n    template: require('./dispatcher_blank.template.html')\r\n})\r\nexport class DispatcherblankComponent {\r\n\r\n    ngAfterViewInit() {\r\n        jQuery('body').addClass('gray-bg');\r\n    }\r\n\r\n    ngOnDestroy() {\r\n        jQuery('body').removeClass('gray-bg');\r\n    }\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/common/dispatcher/layouts/dispatcher_blank.component.ts","import { Component, Input , Output , EventEmitter } from '@angular/core';\r\n\r\ndeclare var jQuery:any;\r\n\r\n@Component({\r\n    selector: 'franchise_basic',\r\n    template: require('./franchise_basic.template.html')\r\n})\r\nexport class franchise_basicComponent {\r\n\r\n\t\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/common/franchise/layouts/franchise_basic.component.ts","import { Component, Input , Output , EventEmitter} from '@angular/core';\r\n\r\ndeclare var jQuery:any;\r\n\r\n@Component({\r\n    selector: 'franchise_blank',\r\n    template: require('./franchise_blank.template.html'),\r\n})\r\nexport class franchise_blankComponent {\r\n\r\n\t\r\n\r\n    ngAfterViewInit() {\r\n        jQuery('body').addClass('gray-bg');\r\n    }\r\n\r\n    ngOnDestroy() {\r\n        jQuery('body').removeClass('gray-bg');\r\n    }\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/common/franchise/layouts/franchise_blank.component.ts","import {NgModule} from \"@angular/core\";\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport {RouterModule} from \"@angular/router\";\r\nimport {NavigationComponent} from \"./navigation.component\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FranchiseProfileModule } from '../../../views/franchise/profile/profile.module';\r\n\r\n@NgModule({\r\n    imports     : [BrowserModule, RouterModule , TranslateModule],\r\n    declarations: [NavigationComponent],\r\n    exports     : [NavigationComponent],\r\n})\r\n\r\nexport class NavigationModule {}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/common/franchise/navigation/navigation.module.ts","import { Component, Input , Output , EventEmitter } from '@angular/core';\r\n\r\ndeclare var jQuery:any;\r\n\r\n@Component({\r\n    selector: 'store_basic',\r\n    template: require('./store_basic.template.html')\r\n})\r\nexport class store_basicComponent {\r\n\r\n\t\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/common/store/layouts/store_basic.component.ts","import { Component, Input , Output , EventEmitter} from '@angular/core';\r\n\r\nimport { EditItemComponent } from '../../../views/store/edit_item/edit_item.component';\r\n\r\ndeclare var jQuery:any;\r\n\r\n@Component({\r\n    selector: 'store_blank',\r\n    template: require('./store_blank.template.html'),\r\n})\r\nexport class store_blankComponent {\r\n\r\n\t\r\n\r\n    ngAfterViewInit() {\r\n        jQuery('body').addClass('gray-bg');\r\n    }\r\n\r\n    ngOnDestroy() {\r\n        jQuery('body').removeClass('gray-bg');\r\n    }\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/common/store/layouts/store_blank.component.ts","import {Component, OnInit} from '@angular/core';\r\nimport {Response} from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport {Helper} from \"../../helper\";\r\ndeclare var jQuery: any;\r\n\r\n\r\nexport interface AddAdmin {\r\n    admin_type: Number,\r\n    username: String,\r\n    password: String,\r\n    email: String,\r\n    urls: String[],\r\n    team_id: any\r\n}\r\n\r\n@Component({\r\n    selector: 'app-404',\r\n    template: require('./404.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class Add404Component implements OnInit {\r\n\r\n    private add_admin: AddAdmin;\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    validation_message: any;\r\n    type: String;\r\n    admin_id: Object;\r\n    admin_exist: any;\r\n    error: any;\r\n    admin_list: any[];\r\n\r\n    team_list: any[] = [];\r\n\r\n    myLoading: boolean = true;\r\n    url_list: any[];\r\n    constructor(private helper: Helper) {\r\n\r\n    }\r\n    ngAfterViewInit() {\r\n\r\n        jQuery(\".chosen-select\").chosen();\r\n        jQuery(\"#admin_type\").chosen({disable_search: true});\r\n\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n            jQuery('input').iCheck({\r\n                handle: 'checkbox',\r\n                checkboxClass: 'icheckbox_square-green',\r\n            });\r\n        }, 1000);\r\n    }\r\n    ngOnDestroy() {\r\n        this.helper.router_id.admin.admin_id = \"\";\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.url_list = this.helper.ADMIN_URL;\r\n        this.add_admin = {\r\n            admin_type: 1,\r\n            username: \"\",\r\n            password: \"\",\r\n            email: \"\",\r\n            urls: [],\r\n            team_id: null\r\n        }\r\n        this.admin_id = this.helper.router_id.admin.admin_id;\r\n        jQuery(this.helper.elementRef.nativeElement).find('#admin_type').on('change', (evnt, res_data) => {\r\n\r\n            this.add_admin.admin_type = res_data.selected;\r\n            if (res_data.selected == 3) {\r\n                this.url_list = this.helper.ADMIN_URL;\r\n                setTimeout(() => {\r\n                    jQuery('.icheck').iCheck({\r\n                        handle: 'checkbox',\r\n                        checkboxClass: 'icheckbox_square-green',\r\n                    });\r\n\r\n                    jQuery(this.helper.elementRef.nativeElement).find('.icheck').on('ifChecked', (event, res_data) => {\r\n\r\n                        var id = event.target.getAttribute('value')\r\n                        this.add_admin.urls.push(id);\r\n\r\n                    });\r\n\r\n                    jQuery(this.helper.elementRef.nativeElement).find('.icheck').on('ifUnchecked', (event, res_data) => {\r\n\r\n                        var id = event.target.getAttribute('value')\r\n                        var i = this.add_admin.urls.indexOf(id);\r\n                        if (i != -1) {\r\n                            this.add_admin.urls.splice(i, 1);\r\n\r\n                        }\r\n                    });\r\n\r\n\r\n                }, 1000);\r\n            }\r\n\r\n\r\n        });\r\n\r\n        setTimeout(()=> {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n\r\n            jQuery(this.helper.elementRef.nativeElement).find('#team_id').on('change', (evnt, res_data) => {\r\n                \r\n                this.add_admin.team_id = res_data.selected;\r\n\r\n            });\r\n            \r\n        }, 1000);\r\n\r\n        this.helper.http.get('/team/lists').map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            if (res_data.success) {\r\n                this.team_list = res_data.team_list;\r\n                setTimeout(()=> {\r\n                    jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n                }, 1000);\r\n            }\r\n            else {\r\n                this.team_list = [];\r\n            }\r\n\r\n        });\r\n\r\n\r\n        if (this.admin_id == '') {\r\n            this.type = \"add\";\r\n            this.admin_exist = \"\"\r\n        }\r\n        else {\r\n            jQuery('#add').hide();\r\n            this.type = \"edit\";\r\n            this.helper.http.post('/admin/get_detail', {admin_id: this.admin_id}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n                if (res_data.success == false) {\r\n                    this.helper.router.navigate(['admin/list']);\r\n                }\r\n                else {\r\n                    this.add_admin.username = res_data.admin.username;\r\n                    this.add_admin.email = res_data.admin.email;\r\n                    this.add_admin.admin_type = res_data.admin.admin_type;\r\n                    this.add_admin.urls = res_data.admin.urls;\r\n                    this.add_admin.team_id = res_data.admin.team_id || null;\r\n                }\r\n            });\r\n\r\n        }\r\n\r\n\r\n        this.title = this.helper.title\r\n        this.button = this.helper.button\r\n        this.heading_title = this.helper.heading_title\r\n        this.validation_message = this.helper.validation_message;\r\n    }\r\n\r\n    hide_fidpatch(){\r\n        if(this.add_admin.admin_type == 5){\r\n            return false;\r\n        } else {\r\n            return true;\r\n        }\r\n    }\r\n\r\n    AddAdmin(admin_data) {\r\n        admin_data.team_id = this.add_admin.team_id;\r\n        if (this.type == 'add') {\r\n            this.myLoading = true;\r\n            this.helper.http.post('/admin/add', admin_data).map((res: Response) => res.json()).subscribe(res_data => {\r\n                this.myLoading = false;\r\n                if (res_data.success == true) {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n                    this.helper.router.navigate(['admin/list']);\r\n                }\r\n                else {\r\n\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.router.navigate(['admin/list']);\r\n                }\r\n\r\n\r\n            },\r\n                (error: any) => {\r\n                    this.myLoading = false;\r\n                    this.helper.http_status(error)\r\n                });\r\n        } else {\r\n            this.updateAdmin(admin_data)\r\n        }\r\n\r\n    }\r\n\r\n    updateAdmin(admin_data) {\r\n        this.myLoading = true;\r\n        this.helper.http.post('/admin/update', admin_data).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == true) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.helper.router.navigate(['admin/list']);\r\n            }\r\n            else {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.router.navigate(['admin/list']);\r\n\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/404/404.component.ts","import {Component, OnInit} from '@angular/core';\r\nimport {Response} from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport {Helper} from \"../../helper\";\r\ndeclare var jQuery: any;\r\n\r\n\r\nexport interface AddAdmin {\r\n    admin_type: Number,\r\n    username: String,\r\n    password: String,\r\n    email: String,\r\n    urls: String[],\r\n    team_id: any\r\n}\r\n\r\n@Component({\r\n    selector: 'app-502',\r\n    template: require('./502.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class Add502Component implements OnInit {\r\n\r\n    private add_admin: AddAdmin;\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    validation_message: any;\r\n    type: String;\r\n    admin_id: Object;\r\n    admin_exist: any;\r\n    error: any;\r\n    admin_list: any[];\r\n\r\n    team_list: any[] = [];\r\n\r\n    myLoading: boolean = true;\r\n    url_list: any[];\r\n    constructor(private helper: Helper) {\r\n\r\n    }\r\n    ngAfterViewInit() {\r\n\r\n        jQuery(\".chosen-select\").chosen();\r\n        jQuery(\"#admin_type\").chosen({disable_search: true});\r\n\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n            jQuery('input').iCheck({\r\n                handle: 'checkbox',\r\n                checkboxClass: 'icheckbox_square-green',\r\n            });\r\n        }, 1000);\r\n    }\r\n    ngOnDestroy() {\r\n        this.helper.router_id.admin.admin_id = \"\";\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.url_list = this.helper.ADMIN_URL;\r\n        this.add_admin = {\r\n            admin_type: 1,\r\n            username: \"\",\r\n            password: \"\",\r\n            email: \"\",\r\n            urls: [],\r\n            team_id: null\r\n        }\r\n        this.admin_id = this.helper.router_id.admin.admin_id;\r\n        jQuery(this.helper.elementRef.nativeElement).find('#admin_type').on('change', (evnt, res_data) => {\r\n\r\n            this.add_admin.admin_type = res_data.selected;\r\n            if (res_data.selected == 3) {\r\n                this.url_list = this.helper.ADMIN_URL;\r\n                setTimeout(() => {\r\n                    jQuery('.icheck').iCheck({\r\n                        handle: 'checkbox',\r\n                        checkboxClass: 'icheckbox_square-green',\r\n                    });\r\n\r\n                    jQuery(this.helper.elementRef.nativeElement).find('.icheck').on('ifChecked', (event, res_data) => {\r\n\r\n                        var id = event.target.getAttribute('value')\r\n                        this.add_admin.urls.push(id);\r\n\r\n                    });\r\n\r\n                    jQuery(this.helper.elementRef.nativeElement).find('.icheck').on('ifUnchecked', (event, res_data) => {\r\n\r\n                        var id = event.target.getAttribute('value')\r\n                        var i = this.add_admin.urls.indexOf(id);\r\n                        if (i != -1) {\r\n                            this.add_admin.urls.splice(i, 1);\r\n\r\n                        }\r\n                    });\r\n\r\n\r\n                }, 1000);\r\n            }\r\n\r\n\r\n        });\r\n\r\n        setTimeout(()=> {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n\r\n            jQuery(this.helper.elementRef.nativeElement).find('#team_id').on('change', (evnt, res_data) => {\r\n                \r\n                this.add_admin.team_id = res_data.selected;\r\n\r\n            });\r\n            \r\n        }, 1000);\r\n\r\n        this.helper.http.get('/team/lists').map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            if (res_data.success) {\r\n                this.team_list = res_data.team_list;\r\n                setTimeout(()=> {\r\n                    jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n                }, 1000);\r\n            }\r\n            else {\r\n                this.team_list = [];\r\n            }\r\n\r\n        });\r\n\r\n\r\n        if (this.admin_id == '') {\r\n            this.type = \"add\";\r\n            this.admin_exist = \"\"\r\n        }\r\n        else {\r\n            jQuery('#add').hide();\r\n            this.type = \"edit\";\r\n            this.helper.http.post('/admin/get_detail', {admin_id: this.admin_id}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n                if (res_data.success == false) {\r\n                    this.helper.router.navigate(['admin/list']);\r\n                }\r\n                else {\r\n                    this.add_admin.username = res_data.admin.username;\r\n                    this.add_admin.email = res_data.admin.email;\r\n                    this.add_admin.admin_type = res_data.admin.admin_type;\r\n                    this.add_admin.urls = res_data.admin.urls;\r\n                    this.add_admin.team_id = res_data.admin.team_id || null;\r\n                }\r\n            });\r\n\r\n        }\r\n\r\n\r\n        this.title = this.helper.title\r\n        this.button = this.helper.button\r\n        this.heading_title = this.helper.heading_title\r\n        this.validation_message = this.helper.validation_message;\r\n    }\r\n\r\n    hide_fidpatch(){\r\n        if(this.add_admin.admin_type == 5){\r\n            return false;\r\n        } else {\r\n            return true;\r\n        }\r\n    }\r\n\r\n    AddAdmin(admin_data) {\r\n        admin_data.team_id = this.add_admin.team_id;\r\n        if (this.type == 'add') {\r\n            this.myLoading = true;\r\n            this.helper.http.post('/admin/add', admin_data).map((res: Response) => res.json()).subscribe(res_data => {\r\n                this.myLoading = false;\r\n                if (res_data.success == true) {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n                    this.helper.router.navigate(['admin/list']);\r\n                }\r\n                else {\r\n\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.router.navigate(['admin/list']);\r\n                }\r\n\r\n\r\n            },\r\n                (error: any) => {\r\n                    this.myLoading = false;\r\n                    this.helper.http_status(error)\r\n                });\r\n        } else {\r\n            this.updateAdmin(admin_data)\r\n        }\r\n\r\n    }\r\n\r\n    updateAdmin(admin_data) {\r\n        this.myLoading = true;\r\n        this.helper.http.post('/admin/update', admin_data).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == true) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.helper.router.navigate(['admin/list']);\r\n            }\r\n            else {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.router.navigate(['admin/list']);\r\n\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/502/502.component.ts","import {Component, OnInit, ViewContainerRef} from '@angular/core';\r\nimport {Response} from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport {Helper} from \"../../helper\";\r\ndeclare var jQuery: any;\r\n\r\n\r\nexport interface AddAdmin {\r\n    admin_type: Number,\r\n    username: String,\r\n    password: String,\r\n    email: String,\r\n    urls: String[],\r\n    team_id: any\r\n}\r\n\r\n@Component({\r\n    selector: 'app-add_admin',\r\n    template: require('./add_admin.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class AddAdminComponent implements OnInit {\r\n\r\n    private add_admin: AddAdmin;\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    validation_message: any;\r\n    type: String;\r\n    admin_id: Object;\r\n    admin_exist: any;\r\n    error: any;\r\n    admin_list: any[];\r\n\r\n    team_list: any[] = [];\r\n\r\n    myLoading: boolean = true;\r\n    url_list: any[];\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n    ngAfterViewInit() {\r\n\r\n        jQuery(\".chosen-select\").chosen();\r\n        jQuery(\"#admin_type\").chosen({disable_search: true});\r\n\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n            jQuery('input').iCheck({\r\n                handle: 'checkbox',\r\n                checkboxClass: 'icheckbox_square-green',\r\n            });\r\n        }, 1000);\r\n    }\r\n    ngOnDestroy() {\r\n        this.helper.router_id.admin.admin_id = \"\";\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.myLoading = false;\r\n        this.url_list = this.helper.ADMIN_URL;\r\n        this.add_admin = {\r\n            admin_type: 1,\r\n            username: \"\",\r\n            password: \"\",\r\n            email: \"\",\r\n            urls: [],\r\n            team_id: null\r\n        }\r\n        this.admin_id = this.helper.router_id.admin.admin_id;\r\n        jQuery(this.helper.elementRef.nativeElement).find('#admin_type').on('change', (evnt, res_data) => {\r\n\r\n            this.add_admin.admin_type = res_data.selected;\r\n            if (res_data.selected == 3) {\r\n                setTimeout(() => {\r\n                    jQuery('.icheck').iCheck({\r\n                        handle: 'checkbox',\r\n                        checkboxClass: 'icheckbox_square-green',\r\n                    });\r\n\r\n                    jQuery(this.helper.elementRef.nativeElement).find('.icheck').on('ifChecked', (event, res_data) => {\r\n\r\n                        var id = event.target.getAttribute('value')\r\n                        this.add_admin.urls.push(id);\r\n\r\n                    });\r\n\r\n                    jQuery(this.helper.elementRef.nativeElement).find('.icheck').on('ifUnchecked', (event, res_data) => {\r\n\r\n                        var id = event.target.getAttribute('value')\r\n                        var i = this.add_admin.urls.indexOf(id);\r\n                        if (i != -1) {\r\n                            this.add_admin.urls.splice(i, 1);\r\n\r\n                        }\r\n                    });\r\n\r\n\r\n                }, 1000);\r\n            }\r\n\r\n\r\n        });\r\n\r\n        setTimeout(()=> {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n\r\n            jQuery(this.helper.elementRef.nativeElement).find('#team_id').on('change', (evnt, res_data) => {\r\n                \r\n                this.add_admin.team_id = res_data.selected;\r\n\r\n            });\r\n            \r\n        }, 1000);\r\n\r\n        this.helper.http.get('/team/lists').map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            if (res_data.success) {\r\n                this.team_list = res_data.team_list;\r\n                setTimeout(()=> {\r\n                    jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n                }, 1000);\r\n            }\r\n            else {\r\n                this.team_list = [];\r\n            }\r\n\r\n        });\r\n\r\n\r\n        if (this.admin_id == '') {\r\n            this.type = \"add\";\r\n            this.admin_exist = \"\"\r\n        }\r\n        else {\r\n            jQuery('#add').hide();\r\n            this.type = \"edit\";\r\n            this.helper.http.post('/admin/get_detail', {admin_id: this.admin_id}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n                if (res_data.success == false) {\r\n                    this.helper.router.navigate(['admin/list']);\r\n                }\r\n                else {\r\n                    this.add_admin.username = res_data.admin.username;\r\n                    this.add_admin.email = res_data.admin.email;\r\n                    this.add_admin.admin_type = res_data.admin.admin_type;\r\n                    this.add_admin.urls = res_data.admin.urls;\r\n                    this.add_admin.team_id = res_data.admin.team_id || null;\r\n\r\n                    if (this.add_admin.admin_type == 3) {\r\n                        setTimeout(() => {\r\n                            jQuery('.icheck').iCheck({\r\n                                handle: 'checkbox',\r\n                                checkboxClass: 'icheckbox_square-green',\r\n                            });\r\n\r\n                            jQuery(this.helper.elementRef.nativeElement).find('.icheck').on('ifChecked', (event, res_data) => {\r\n\r\n                                var id = event.target.getAttribute('value')\r\n                                this.add_admin.urls.push(id);\r\n\r\n                            });\r\n\r\n                            jQuery(this.helper.elementRef.nativeElement).find('.icheck').on('ifUnchecked', (event, res_data) => {\r\n\r\n                                var id = event.target.getAttribute('value')\r\n                                var i = this.add_admin.urls.indexOf(id);\r\n                                if (i != -1) {\r\n                                    this.add_admin.urls.splice(i, 1);\r\n\r\n                                }\r\n                            });\r\n\r\n\r\n                        }, 1000);\r\n                    }\r\n                }\r\n            });\r\n\r\n        }\r\n        this.title = this.helper.title\r\n        this.button = this.helper.button\r\n        this.heading_title = this.helper.heading_title\r\n        this.validation_message = this.helper.validation_message;\r\n    }\r\n\r\n    hide_fidpatch(){\r\n        if(this.add_admin.admin_type == 5){\r\n            return false;\r\n        } else {\r\n            return true;\r\n        }\r\n    }\r\n\r\n    AddAdmin(admin_data) {\r\n        console.log(admin_data)\r\n        if(this.add_admin.admin_type == 1 || this.add_admin.admin_type == 5 || (this.add_admin.admin_type == 3 && this.add_admin.urls.length>0)){\r\n            admin_data.team_id = this.add_admin.team_id;\r\n            if (this.type == 'add') {\r\n                this.myLoading = true;\r\n                this.helper.http.post('/admin/add', admin_data).map((res: Response) => res.json()).subscribe(res_data => {\r\n                    this.myLoading = false;\r\n                    if (res_data.success == true) {\r\n                        this.helper.data.storage = {\r\n                            \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                            \"class\": \"alert-info\"\r\n                        }\r\n                        this.helper.router.navigate(['admin/list']);\r\n                    }\r\n                    else {\r\n                        this.helper.data.storage = {\r\n                            \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                            \"class\": \"alert-danger\"\r\n                        }\r\n                        this.helper.router.navigate(['admin/list']);\r\n                    }\r\n                },\r\n                    (error: any) => {\r\n                        this.myLoading = false;\r\n                        this.helper.http_status(error)\r\n                    });\r\n            } else {\r\n                this.updateAdmin(admin_data)\r\n            }\r\n        } else {\r\n            this.helper.data.storage = {\r\n                \"message\": \"Please Select One Url\",\r\n                \"class\": \"alert-info\"\r\n            }\r\n            this.helper.message();\r\n        }\r\n\r\n    }\r\n\r\n    updateAdmin(admin_data) {\r\n        this.myLoading = true;\r\n        this.helper.http.post('/admin/update', admin_data).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == true) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.helper.router.navigate(['admin/list']);\r\n            }\r\n            else {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.router.navigate(['admin/list']);\r\n            }\r\n        }, (error: any) => {\r\n            this.myLoading = false;\r\n            this.helper.http_status(error)\r\n        });\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/add_admin/add_admin.component.ts","import {Component, OnInit, ViewContainerRef, ViewChild} from '@angular/core';\r\nimport {Response} from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport {Helper} from \"../../helper\";\r\ndeclare var jQuery: any;\r\nimport {ModalComponent} from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport {ImageCropperComponent, CropperSettings, Bounds} from 'ng2-img-cropper';\r\n\r\n\r\nexport interface AddAdvertise {\r\n\r\n    city_id: Object,\r\n    country_id: Object,\r\n    //city_unique_id: Number,\r\n    //country_unique_id: Number,\r\n    ads_type: Number,\r\n    ads_for: Number,\r\n    is_ads_visible: Boolean,\r\n    is_ads_approve_by_admin: Boolean,\r\n    is_ads_have_expiry_date: Boolean,\r\n    expiry_date: any,\r\n    is_ads_redirect_to_store: Boolean,\r\n    store_id: Object,\r\n    //image_for_banner: any,\r\n    //image_for_fullscreen: any,\r\n    image_url: any,\r\n    country_name: String,\r\n    city_name: String,\r\n    store_email: String,\r\n    ads_detail: String,\r\n\r\n}\r\nexport interface imageSetting {\r\n    image_ratio: number,\r\n    image_ratio_full: number,\r\n\r\n\r\n    image_min_width_full: number,\r\n    image_max_width_full: number\r\n    image_min_height_full: number,\r\n    image_max_height_full: number,\r\n\r\n    image_min_width: number,\r\n    image_max_width: number\r\n    image_min_height: number,\r\n    image_max_height: number,\r\n    image_type: any[]\r\n\r\n}\r\n\r\n\r\n@Component({\r\n    selector: 'app-add_advertise',\r\n    template: require('./add_advertise.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class AddAdvertiseComponent implements OnInit {\r\n\r\n    @ViewChild('image_crop_modal')\r\n    image_crop_modal: ModalComponent;\r\n    @ViewChild('cropper', undefined)\r\n    cropper: ImageCropperComponent;\r\n    \r\n    @ViewChild('image_crop_modal_full')\r\n    image_crop_modal_full: ModalComponent;\r\n    @ViewChild('cropper_full', undefined)\r\n    cropper_full: ImageCropperComponent;\r\n\r\n    private add_advertise: AddAdvertise;\r\n    public image_setting: imageSetting;\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    validation_message: any;\r\n    type: String;\r\n    country_list: any[];\r\n    city_list: any[];\r\n    store_list: any[];\r\n    advertise_id: Object;\r\n    advertise_exist: any;\r\n    error: any;\r\n    advertise_list: any[];\r\n    myLoading: boolean = true;\r\n    image_error: string = '';\r\n\r\n    //image_note: string = '';\r\n    //image_note_ratio: string = '';\r\n\r\n\r\n    data: any;\r\n    data_full:any;\r\n    cropperSettings: CropperSettings;\r\n    cropperSettingsFull: CropperSettings;\r\n\r\n\r\n    constructor(public helper: Helper, vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n\r\n        this.cropperSettings = new CropperSettings();\r\n        this.cropperSettings.canvasWidth = 400;\r\n        this.cropperSettings.canvasHeight = 400;\r\n        this.cropperSettings.noFileInput = true;\r\n        this.cropperSettings.preserveSize = true;\r\n        this.cropperSettings.height = 200;\r\n        this.cropperSettings.width = this.cropperSettings.height * this.helper.image_ratio.ADS_BANNER_IMAGE;\r\n\r\n        this.data = {};\r\n        \r\n        this.cropperSettingsFull = new CropperSettings();\r\n        this.cropperSettingsFull.canvasWidth = 400;\r\n        this.cropperSettingsFull.canvasHeight = 400;\r\n        this.cropperSettingsFull.noFileInput = true;\r\n        this.cropperSettingsFull.preserveSize = true;\r\n        this.cropperSettingsFull.height = 200;\r\n        this.cropperSettingsFull.width = this.cropperSettingsFull.height * this.helper.image_ratio.ADS_FULL_IMAGE;\r\n\r\n        this.data_full = {};\r\n\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n        jQuery(\"#country\").chosen();\r\n        jQuery(\"#city\").chosen();\r\n        jQuery(\"#store\").chosen();\r\n        jQuery(\"#ads_type\").chosen({disable_search: true});\r\n        jQuery(\"#ads_for\").chosen({disable_search: true});\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n    }\r\n    ngOnDestroy() {\r\n        this.helper.router_id.admin.advertise_id = \"\";\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.add_advertise = {\r\n            city_id: \"\",\r\n            country_id: \"\",\r\n            country_name: \"\",\r\n            city_name: \"\",\r\n            store_email: \"\",\r\n            //city_unique_id: null,\r\n            //country_unique_id: null,\r\n            ads_type: 1,\r\n            ads_for: null,\r\n            is_ads_visible: false,\r\n            is_ads_approve_by_admin: false,\r\n            is_ads_have_expiry_date: true,\r\n            expiry_date: null,\r\n            is_ads_redirect_to_store: true,\r\n            store_id: \"\",\r\n            ads_detail: \"\",\r\n            //image_for_banner: \"./plus_box.png\",\r\n            //image_for_fullscreen: \"./plus_box.png\",\r\n            image_url: \"./plus_box.png\"\r\n        }\r\n\r\n        this.image_setting = {\r\n            image_ratio: 1,\r\n            image_ratio_full: 1,\r\n            image_min_width: 100,\r\n            image_max_width: 100,\r\n            image_min_height: 100,\r\n            image_max_height: 100,\r\n            image_min_width_full: 100,\r\n            image_max_width_full: 100,\r\n            image_min_height_full: 100,\r\n            image_max_height_full: 100,\r\n            image_type: []\r\n\r\n        }\r\n\r\n        this.advertise_id = this.helper.router_id.admin.advertise_id;\r\n\r\n        this.helper.http.get('/admin/get_server_country_list').map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.country_list = res_data.countries\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#country').on('change', (evnt, res_data) => {\r\n            this.get_city_list(res_data.selected);\r\n            this.get_store_list(res_data.selected);\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#city').on('change', (evnt, res_data) => {\r\n\r\n            this.add_advertise.city_id = res_data.selected;\r\n            this.get_store_list_for_city(res_data.selected);\r\n\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#ads_type').on('change', (evnt, res_data) => {\r\n\r\n            this.add_advertise.ads_type = res_data.selected;\r\n            this.get_image_setting_detail(res_data.selected);\r\n\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#ads_for').on('change', (evnt, res_data) => {\r\n\r\n            this.add_advertise.ads_for = res_data.selected;\r\n        });\r\n\r\n\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#store').on('change', (evnt, res_data) => {\r\n\r\n            this.add_advertise.store_id = res_data.selected;\r\n\r\n        });\r\n\r\n\r\n        this.helper.http.post('/api/admin/get_image_setting', {\r\n        }).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n            this.image_setting.image_ratio = res_data.image_setting.ads_banner_image_ratio;\r\n            this.image_setting.image_min_width = res_data.image_setting.ads_banner_image_min_width;\r\n            this.image_setting.image_max_width = res_data.image_setting.ads_banner_image_max_width;\r\n            this.image_setting.image_min_height = res_data.image_setting.ads_banner_image_min_height;\r\n            this.image_setting.image_max_height = res_data.image_setting.ads_banner_image_max_height;\r\n            this.image_setting.image_type = res_data.image_setting.image_type;\r\n\r\n            this.image_setting.image_ratio_full = res_data.image_setting.ads_fullscreen_image_ratio;\r\n            this.image_setting.image_min_width_full = res_data.image_setting.ads_fullscreen_image_min_width;\r\n            this.image_setting.image_max_width_full = res_data.image_setting.ads_fullscreen_image_max_width;\r\n            this.image_setting.image_min_height_full = res_data.image_setting.ads_fullscreen_image_min_height;\r\n            this.image_setting.image_max_height_full = res_data.image_setting.ads_fullscreen_image_max_height;\r\n            this.image_setting.image_type = res_data.image_setting.image_type;\r\n\r\n\r\n            setTimeout(() => {\r\n                this.cropperSettings.width = this.cropperSettings.height * res_data.image_setting.ads_banner_image_ratio;\r\n                this.cropperSettingsFull.width = this.cropperSettingsFull.height * res_data.image_setting.ads_fullscreen_image_ratio;\r\n\r\n            }, 1000);\r\n\r\n            //this.image_note = \"Upload image size within width x height (min \" + this.image_setting.image_min_width + \"x\" + this.image_setting.image_min_height + \" and max \" + this.image_setting.image_max_width + \"x\" + this.image_setting.image_max_height + \")\"\r\n\r\n            //this.image_note_ratio = \"Image ratio should be \"+ this.image_setting.image_ratio + \" and upload only \" + this.image_setting.image_type + \" file\"\r\n\r\n\r\n\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n\r\n\r\n        if (this.advertise_id == '') {\r\n            this.type = \"add\";\r\n            this.helper.http.get('/admin/advertise_list').map((res: Response) => res.json()).subscribe(res => this.advertise_list = res, error => this.error = error);\r\n\r\n            this.advertise_exist = \"\"\r\n        }\r\n        else {\r\n            jQuery('.add').hide();\r\n            this.type = \"edit\";\r\n            this.helper.http.post('/admin/get_advertise_detail', {advertise_id: this.advertise_id}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n                if (res_data.success == false) {\r\n\r\n                    this.helper.router.navigate(['admin/advertise']);\r\n\r\n                }\r\n                else {\r\n                    this.add_advertise.city_id = res_data.advertise.city_id;\r\n                    this.add_advertise.country_id = res_data.advertise.country_id;\r\n                    this.get_store_list_for_city(this.add_advertise.city_id);\r\n                    this.add_advertise.country_name = res_data.advertise.country_details.country_name;\r\n                    if (res_data.advertise.city_details.length > 0) {\r\n                        this.add_advertise.city_name = res_data.advertise.city_details[0].city_name;\r\n\r\n                    } else {\r\n                        this.add_advertise.city_name = \"All\";\r\n\r\n                    }\r\n                    this.add_advertise.ads_type = res_data.advertise.ads_type;\r\n                    this.add_advertise.ads_for = res_data.advertise.ads_for;\r\n\r\n                    this.add_advertise.store_id = res_data.advertise.store_id;\r\n                    this.add_advertise.ads_detail = res_data.advertise.ads_detail;\r\n\r\n\r\n                    this.add_advertise.is_ads_visible = res_data.advertise.is_ads_visible;\r\n                    this.add_advertise.is_ads_approve_by_admin = res_data.advertise.is_ads_approve_by_admin;\r\n\r\n                    this.add_advertise.is_ads_have_expiry_date = res_data.advertise.is_ads_have_expiry_date;\r\n\r\n\r\n                    if (res_data.advertise.expiry_date != null) {\r\n                        var date = new Date(res_data.advertise.expiry_date);\r\n                        this.add_advertise.expiry_date = {date: {year: date.getFullYear(), month: date.getMonth() + 1, day: date.getDate()}, formatted: date.getMonth() + 1 + '-' + date.getDate() + '-' + date.getFullYear()};\r\n\r\n                    }\r\n\r\n                    this.add_advertise.is_ads_redirect_to_store = res_data.advertise.is_ads_redirect_to_store;\r\n\r\n                    if (res_data.advertise.store_details.length > 0) {\r\n                        this.add_advertise.store_email = res_data.advertise.store_details[0].email;\r\n\r\n                    }\r\n\r\n                    this.add_advertise.image_url = this.helper.CONSTANT.IMAGE_BASE_URL + res_data.advertise.image_url;\r\n                }\r\n            });\r\n\r\n        }\r\n\r\n\r\n\r\n        //this.image_note = \"\"; \r\n        //this.image_note_ratio = \"\";\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.validation_message = this.helper.validation_message;\r\n\r\n\r\n    }\r\n\r\n    get_city_list(countryid) {\r\n        this.add_advertise.country_id = countryid;\r\n        this.helper.http.post('/api/admin/get_city_list', {country_id: countryid}).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            this.city_list = res_data.cities;\r\n        });\r\n        setTimeout(function () {\r\n            jQuery(\"#city\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n    }\r\n    get_store_list(countryid) {\r\n        this.add_advertise.country_id = countryid;\r\n        this.helper.http.post('/admin/get_store_list_for_country', {country_id: countryid}).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            this.store_list = res_data.stores;\r\n        });\r\n        setTimeout(function () {\r\n            jQuery(\"#store\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n    }\r\n\r\n    get_store_list_for_city(city_id) {\r\n        this.add_advertise.city_id = city_id;\r\n        this.helper.http.post('/admin/get_store_list_for_city', {city_id: city_id}).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            this.store_list = res_data.stores;\r\n        });\r\n        setTimeout(function () {\r\n            jQuery(\"#store\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n    }\r\n\r\n    get_image_setting_detail(ads_type) {\r\n        this.add_advertise.ads_type = ads_type;\r\n        this.helper.http.post('/api/admin/get_image_setting', {\r\n        }).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n            if (this.add_advertise.ads_type == 1) {\r\n                this.image_setting.image_ratio = res_data.image_setting.ads_banner_image_ratio;\r\n                this.image_setting.image_min_width = res_data.image_setting.ads_banner_image_min_width;\r\n                this.image_setting.image_max_width = res_data.image_setting.ads_banner_image_max_width;\r\n                this.image_setting.image_min_height = res_data.image_setting.ads_banner_image_min_height;\r\n                this.image_setting.image_max_height = res_data.image_setting.ads_banner_image_max_height;\r\n                this.image_setting.image_type = res_data.image_setting.image_type;\r\n\r\n                setTimeout(() => {\r\n                    this.cropperSettings.width = this.cropperSettings.height * res_data.image_setting.delivery_image_ratio;\r\n\r\n                }, 1000);\r\n                //this.image_note = \"Upload image size within width x height (min \" + this.image_setting.image_min_width + \"x\" + this.image_setting.image_min_height + \" and max \" + this.image_setting.image_max_width + \"x\" + this.image_setting.image_max_height + \")\"\r\n\r\n                //this.image_note_ratio = \"Image ratio should be \"+ this.image_setting.image_ratio + \" and upload only \" + this.image_setting.image_type + \" file\"\r\n\r\n\r\n            } else if (this.add_advertise.ads_type == 2) {\r\n                this.image_setting.image_ratio_full = res_data.image_setting.ads_fullscreen_image_ratio;\r\n                this.image_setting.image_min_width_full = res_data.image_setting.ads_fullscreen_image_min_width;\r\n                this.image_setting.image_max_width_full = res_data.image_setting.ads_fullscreen_image_max_width;\r\n                this.image_setting.image_min_height_full = res_data.image_setting.ads_fullscreen_image_min_height;\r\n                this.image_setting.image_max_height_full = res_data.image_setting.ads_fullscreen_image_max_height;\r\n                this.image_setting.image_type = res_data.image_setting.image_type;\r\n\r\n\r\n                setTimeout(() => {\r\n                    this.cropperSettingsFull.width = this.cropperSettingsFull.height * res_data.image_setting.ads_fullscreen_image_ratio;\r\n\r\n                }, 1000);\r\n\r\n                //this.image_note = \"Upload image size within width x height (min \" + this.image_setting.image_min_width + \"x\" + this.image_setting.image_min_height + \" and max \" + this.image_setting.image_max_width + \"x\" + this.image_setting.image_max_height + \")\"\r\n\r\n                //this.image_note_ratio = \"Image ratio should be \"+ this.image_setting.image_ratio + \" and upload only \" + this.image_setting.image_type + \" file\"\r\n\r\n            }\r\n\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n\r\n\r\n\r\n    public formData = new FormData();\r\n\r\n\r\n    web_image_update($event) {\r\n        this.image_error = \"\";\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const image_url = files[0];\r\n        var index = this.image_setting.image_type.indexOf(image_url.type);\r\n        if (index !== -1) {\r\n            var reader = new FileReader();\r\n            reader.onload = (e: any) => {\r\n                var new_image = new Image();\r\n                new_image.src = e.target.result;\r\n                this.cropper.setImage(new_image);\r\n                new_image.onload = () => {\r\n                    if (new_image.width >= this.image_setting.image_min_width && new_image.width <= this.image_setting.image_max_width &&\r\n                        new_image.height >= this.image_setting.image_min_height && new_image.height <= this.image_setting.image_max_height) {\r\n\r\n                        if (new_image.width == (new_image.height * this.image_setting.image_ratio)) {\r\n                            this.add_advertise.image_url = e.target.result;\r\n                            this.formData.append('image_url', image_url)\r\n                        } else {\r\n                            this.image_crop_modal.open();\r\n                            this.image_error = this.title.ads_image_ratio_error;\r\n                        }\r\n                    } else {\r\n                        this.image_error = this.title.ads_image_size_error;\r\n                        this.image_crop_modal.open();\r\n                    }\r\n                }\r\n            }\r\n            reader.readAsDataURL(image_url);\r\n        } else {\r\n            jQuery('#remove').click();\r\n            this.image_error = this.title.ads_image_extension_error;\r\n        }\r\n\r\n    }\r\n\r\n    crop($event) {\r\n\r\n        this.image_error = '';\r\n        function dataURLtoFile(dataurl, filename) {\r\n            var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],\r\n                bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);\r\n            while (n--) {\r\n                u8arr[n] = bstr.charCodeAt(n);\r\n            }\r\n            return new File([u8arr], filename, {type: mime});\r\n        }\r\n        let image_type = this.image_setting.image_type\r\n        image_type = image_type[0].split('/')\r\n        var image_url = dataURLtoFile(this.cropper.image.image, 'image.' + image_type[0]);\r\n\r\n        var reader = new FileReader();\r\n        reader.onload = (e: any) => {\r\n            var new_image = new Image();\r\n            new_image.src = e.target.result;\r\n\r\n            new_image.onload = () => {\r\n                if (new_image.width >= this.image_setting.image_min_width && new_image.width <= this.image_setting.image_max_width &&\r\n                    new_image.height >= this.image_setting.image_min_height && new_image.height <= this.image_setting.image_max_height) {\r\n\r\n                    this.add_advertise.image_url = e.target.result;\r\n                    this.formData.append('image_url', image_url)\r\n                    this.image_crop_modal.close();\r\n                } else {\r\n                    this.image_error = this.title.ads_image_size_error;\r\n                }\r\n            }\r\n        }\r\n        reader.readAsDataURL(image_url);\r\n\r\n    }\r\n\r\n\r\n   full_image_update($event) {\r\n\r\n        this.image_error = \"\";\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const image_url = files[0];\r\n        var index = this.image_setting.image_type.indexOf(image_url.type);\r\n        if (index !== -1) {\r\n            var reader = new FileReader();\r\n            reader.onload = (e: any) => {\r\n                var new_image = new Image();\r\n                new_image.src = e.target.result;\r\n                this.cropper_full.setImage(new_image);\r\n                new_image.onload = () => {\r\n                    if (new_image.width >= this.image_setting.image_min_width_full && new_image.width <= this.image_setting.image_max_width_full &&\r\n                        new_image.height >= this.image_setting.image_min_height_full && new_image.height <= this.image_setting.image_max_height_full) {\r\n\r\n                        if (new_image.width == (new_image.height * this.image_setting.image_ratio_full)) {\r\n                            this.add_advertise.image_url = e.target.result;\r\n                            this.formData.append('image_url', image_url)\r\n                        } else {\r\n                            this.image_crop_modal_full.open();\r\n                            this.image_error = this.title.ads_image_ratio_error;\r\n                        }\r\n                    } else {\r\n                        this.image_error = this.title.ads_image_size_error;\r\n                        this.image_crop_modal_full.open();\r\n                    }\r\n                }\r\n            }\r\n            reader.readAsDataURL(image_url);\r\n        } else {\r\n            jQuery('#remove').click();\r\n            this.image_error = this.title.ads_image_extension_error;\r\n        }\r\n\r\n    }\r\n   \r\n    \r\n    cropFull($event) {\r\n        this.image_error = '';\r\n        function dataURLtoFile(dataurl, filename) {\r\n            var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],\r\n                bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);\r\n            while (n--) {\r\n                u8arr[n] = bstr.charCodeAt(n);\r\n            }\r\n            return new File([u8arr], filename, {type: mime});\r\n        }\r\n        let image_type = this.image_setting.image_type\r\n        image_type = image_type[0].split('/')\r\n        var image_url = dataURLtoFile(this.cropper_full.image.image, 'image.' + image_type[0]);\r\n\r\n        var reader = new FileReader();\r\n        reader.onload = (e: any) => {\r\n            var new_image = new Image();\r\n            new_image.src = e.target.result;\r\n\r\n            new_image.onload = () => {\r\n                if (new_image.width >= this.image_setting.image_min_width_full && new_image.width <= this.image_setting.image_max_width_full &&\r\n                    new_image.height >= this.image_setting.image_min_height_full && new_image.height <= this.image_setting.image_max_height_full) {\r\n\r\n                    this.add_advertise.image_url = e.target.result;\r\n                    this.formData.append('image_url', image_url)\r\n                    this.image_crop_modal_full.close();\r\n                } else {\r\n                    this.image_error = this.title.ads_image_size_error;\r\n                }\r\n            }\r\n        }\r\n        reader.readAsDataURL(image_url);\r\n\r\n    }\r\n\r\n\r\n\r\n\r\n    AddAdvertisement(advertise_data) {\r\n        if (this.type == \"add\") {\r\n            this.myLoading = true;\r\n\r\n            this.formData.append(\"country_id\", advertise_data.country_id);\r\n            this.formData.append(\"ads_detail\", advertise_data.ads_detail);\r\n\r\n            this.formData.append(\"city_id\", advertise_data.city_id);\r\n            this.formData.append(\"ads_type\", advertise_data.ads_type);\r\n            this.formData.append(\"ads_for\", advertise_data.ads_for);\r\n            this.formData.append(\"is_ads_visible\", advertise_data.is_ads_visible);\r\n            this.formData.append(\"is_ads_approve_by_admin\", advertise_data.is_ads_approve_by_admin);\r\n\r\n\r\n            this.formData.append(\"is_ads_have_expiry_date\", advertise_data.is_ads_have_expiry_date);\r\n\r\n            if (this.add_advertise.is_ads_have_expiry_date == true) {\r\n                this.formData.append('expiry_date', this.add_advertise.expiry_date.formatted);\r\n            }\r\n            this.formData.append(\"is_ads_redirect_to_store\", advertise_data.is_ads_redirect_to_store);\r\n\r\n            if (this.add_advertise.is_ads_redirect_to_store == true) {\r\n                this.formData.append(\"store_id\", this.add_advertise.store_id);\r\n            }\r\n            this.helper.http.post('/admin/add_advertise', this.formData).map((res: Response) => res.json()).subscribe(res_data => {\r\n                this.myLoading = false;\r\n\r\n                if (res_data.success == true) {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n                    this.helper.router.navigate(['admin/advertise']);\r\n                } else {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                }\r\n\r\n            },\r\n                (error: any) => {\r\n                    this.myLoading = false;\r\n                    this.helper.http_status(error)\r\n                });\r\n        } else {\r\n\r\n            this.updateAdvertise(advertise_data)\r\n        }\r\n    }\r\n\r\n\r\n\r\n    updateAdvertise(advertise_data) {\r\n\r\n        this.myLoading = true;\r\n        this.formData.append(\"country_id\", advertise_data.country_id);\r\n        this.formData.append(\"ads_detail\", advertise_data.ads_detail);\r\n        this.formData.append(\"city_id\", advertise_data.city_id);\r\n        this.formData.append(\"ads_type\", advertise_data.ads_type);\r\n        this.formData.append(\"ads_for\", advertise_data.ads_for);\r\n        this.formData.append(\"is_ads_visible\", advertise_data.is_ads_visible);\r\n        this.formData.append(\"is_ads_approve_by_admin\", advertise_data.is_ads_approve_by_admin);\r\n\r\n\r\n        this.formData.append(\"is_ads_have_expiry_date\", advertise_data.is_ads_have_expiry_date);\r\n\r\n        if (this.add_advertise.is_ads_have_expiry_date == true) {\r\n            this.formData.append('expiry_date', this.add_advertise.expiry_date.formatted);\r\n        }\r\n        this.formData.append(\"is_ads_redirect_to_store\", advertise_data.is_ads_redirect_to_store);\r\n\r\n        if (this.add_advertise.is_ads_redirect_to_store == true) {\r\n            this.formData.append(\"store_id\", this.add_advertise.store_id);\r\n\r\n        }\r\n        this.formData.append(\"advertise_id\", advertise_data.advertise_id);\r\n\r\n        this.helper.http.post('/admin/update_advertise', this.formData).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == true) {\r\n\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.helper.router.navigate(['admin/advertise']);\r\n\r\n\r\n            }\r\n            else {\r\n\r\n                this.helper.router.navigate(['admin/advertise']);\r\n\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/add_advertise/add_advertise.component.ts","import { Component, NgZone, OnInit, ViewChild } from \"@angular/core\";\r\nimport { Response } from \"@angular/http\";\r\nimport { Observable } from \"rxjs/Rx\";\r\nimport \"rxjs/add/operator/map\";\r\nimport \"rxjs/add/operator/catch\";\r\nimport { Helper } from \"../../helper\";\r\ndeclare var jQuery: any;\r\nimport { ModalComponent } from \"ng2-bs3-modal/ng2-bs3-modal\";\r\ndeclare var swal: any;\r\n\r\nexport interface AddCity {\r\n  country_id: Object;\r\n  city_code: String;\r\n  city_name: String;\r\n  city_nick_name: String;\r\n  language: String;\r\n  time_format: String;\r\n  country_name: String;\r\n  name: String;\r\n  is_cash_payment_mode: Boolean;\r\n  is_other_payment_mode: Boolean;\r\n  admin_profit_mode_on_delivery: Number;\r\n  admin_profit_value_on_delivery: Number;\r\n  is_promo_apply: Boolean;\r\n  is_business: Boolean;\r\n  is_hopper_business: Boolean;\r\n  is_delay_order_reward: Boolean;\r\n  payment_gateway: Object[];\r\n\r\n  is_use_radius: Boolean;\r\n  zone_business: Boolean;\r\n\r\n  city_radius: Number;\r\n  city_lat: Number;\r\n  city_lng: Number;\r\n  deliveries_in_city: Object[];\r\n  timezone: String;\r\n  city_locations: any[];\r\n  sms_configurations: any[];\r\n\r\n  is_check_provider_wallet_amount_for_received_cash_request: Boolean;\r\n  provider_min_wallet_amount_for_received_cash_request: Number;\r\n\r\n  is_provider_earning_add_in_wallet_on_cash_payment: Boolean;\r\n  is_store_earning_add_in_wallet_on_cash_payment: Boolean;\r\n  is_provider_earning_add_in_wallet_on_other_payment: Boolean;\r\n  is_store_earning_add_in_wallet_on_other_payment: Boolean;\r\n  is_ads_visible: Boolean;\r\n}\r\n\r\n@Component({\r\n  selector: \"app-add_city\",\r\n  template: require('./add_city.component.html'),\r\n  providers: [Helper],\r\n})\r\nexport class AddCityComponent implements OnInit {\r\n  private add_city: AddCity;\r\n  title: any;\r\n  button: any;\r\n  type: String;\r\n  heading_title: any;\r\n  validation_message: any;\r\n  ADMIN_PROFIT_ON_DELIVERYS: any;\r\n  country_list: any[];\r\n  timezone_list: any[];\r\n  language_list: any[] = [\r\n    {\r\n      code: \"fr\",\r\n      name: \"French\",\r\n    },\r\n    {\r\n      code: \"en\",\r\n      name: \"English\",\r\n    },\r\n  ];\r\n  city_id: Object;\r\n  city_list: any[];\r\n  error: any;\r\n  deliveries_in_city_list: any[];\r\n  payment_gateway_list: any[];\r\n  city_exist: any;\r\n  submit_button: string;\r\n  timer: any;\r\n  myLoading: boolean = false;\r\n  admin_profit_mode_on_delivery_list: any[];\r\n  city_zone: any[] = [];\r\n  city_zone_polygon: any[] = [];\r\n  city_map: any = \"\";\r\n  city_radius_map: any = \"\";\r\n  date_array: any[] = [];\r\n\r\n  selected_tab: string = \"city\";\r\n\r\n  selectedShape: any;\r\n  selectedColor: any;\r\n  colors: any[] = [\"#1E90FF\", \"#FF1493\", \"#32CD32\", \"#FF8C00\", \"#4B0082\"];\r\n  colorButtons: any = {};\r\n  drawingManager: any;\r\n  city_radius_drawingManager: any;\r\n\r\n  sms_detail: any = {};\r\n\r\n  delivery_time: any[] = [\r\n    {\r\n      is_delivery_open: true,\r\n      day: 0,\r\n      day_time: [],\r\n    },\r\n    {\r\n      is_delivery_open: true,\r\n      day: 1,\r\n      day_time: [],\r\n    },\r\n    {\r\n      is_delivery_open: true,\r\n      day: 2,\r\n      day_time: [],\r\n    },\r\n    {\r\n      is_delivery_open: true,\r\n      day: 3,\r\n      day_time: [],\r\n    },\r\n    {\r\n      is_delivery_open: true,\r\n      day: 4,\r\n      day_time: [],\r\n    },\r\n    {\r\n      is_delivery_open: true,\r\n      day: 5,\r\n      day_time: [],\r\n    },\r\n    {\r\n      is_delivery_open: true,\r\n      day: 6,\r\n      day_time: [],\r\n    },\r\n  ];\r\n  selected_delivery_time_array: any[] = [];\r\n  delivery_time_millisecond_array: any[] = [];\r\n  curren_selected_day: number = 0;\r\n  is_delivery_open: Boolean = false;\r\n  is_time_edit: boolean = false;\r\n  selected_time_index: any;\r\n  selected_days: any[] = [];\r\n  delivery_time_add: Boolean;\r\n  delivery_open_time_error: number;\r\n  delivery_close_time_error: number;\r\n  @ViewChild(\"add_modal\")\r\n  add_modal: ModalComponent;\r\n  @ViewChild(\"copy_delivery_time_modal\")\r\n  copy_delivery_time_modal: ModalComponent;\r\n  delivery_open_time: string = \"\";\r\n  delivery_close_time: string = \"\";\r\n  edit: boolean = true;\r\n  infoWindow: any = null;\r\n\r\n  constructor(private helper: Helper, public ngZone: NgZone) {}\r\n\r\n  ngAfterViewInit() {\r\n    jQuery(\"#country\").chosen();\r\n    jQuery(\"#admin_profit_mode\").chosen({ disable_search: true });\r\n    jQuery(\"#timezone\").chosen();\r\n    jQuery(\"#language\").chosen();\r\n    setTimeout(function () {\r\n      jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n      jQuery(\"input\").iCheck({\r\n        handle: \"checkbox\",\r\n        checkboxClass: \"icheckbox_square-green\",\r\n      });\r\n      jQuery(\"#time_format\").chosen();\r\n    }, 1000);\r\n\r\n    jQuery(\".clock-picker\").clockpicker({\r\n      default: \"now\",\r\n      align: \"right\",\r\n      autoclose: true,\r\n    });\r\n  }\r\n  ngOnDestroy() {\r\n    this.helper.router_id.admin.city_id = \"\";\r\n  }\r\n\r\n  ngOnInit() {\r\n    this.admin_profit_mode_on_delivery_list =\r\n      this.helper.ADMIN_PROFIT_ON_DELIVERYS;\r\n\r\n    this.add_city = {\r\n      country_id: \"\",\r\n      language: \"fr\",\r\n      time_format: \"HH:mm\",\r\n      city_code: \"\",\r\n      city_name: \"\",\r\n      city_nick_name: \"\",\r\n      country_name: \"\",\r\n      name: \"\",\r\n      is_cash_payment_mode: false,\r\n      is_other_payment_mode: false,\r\n      is_promo_apply: false,\r\n      admin_profit_mode_on_delivery: 1,\r\n      admin_profit_value_on_delivery: null,\r\n      city_locations: [],\r\n      is_business: false,\r\n      is_hopper_business: false,\r\n      is_delay_order_reward: false,\r\n      payment_gateway: [],\r\n      city_radius: null,\r\n      is_use_radius: false,\r\n      zone_business: false,\r\n      city_lat: null,\r\n      city_lng: null,\r\n      deliveries_in_city: [],\r\n      timezone: \"\",\r\n      is_check_provider_wallet_amount_for_received_cash_request: false,\r\n      provider_min_wallet_amount_for_received_cash_request: null,\r\n      is_provider_earning_add_in_wallet_on_cash_payment: true,\r\n      is_store_earning_add_in_wallet_on_cash_payment: true,\r\n      is_provider_earning_add_in_wallet_on_other_payment: false,\r\n      is_store_earning_add_in_wallet_on_other_payment: false,\r\n      is_ads_visible: true,\r\n      sms_configurations: [],\r\n    };\r\n    setTimeout(function () {\r\n      jQuery(\"#language\").trigger(\"chosen:updated\");\r\n      jQuery(\"#time_fromat\").trigger(\"chosen:updated\");\r\n    }, 1000);\r\n    this.city_id = this.helper.router_id.admin.city_id;\r\n\r\n    this.timezone_list = [];\r\n    this.title = this.helper.title;\r\n    this.button = this.helper.button;\r\n    this.heading_title = this.helper.heading_title;\r\n    this.validation_message = this.helper.validation_message;\r\n\r\n    this.helper.http\r\n      .get(\"/admin/get_server_country_list\")\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res) => {\r\n        (this.country_list = res.countries),\r\n          (this.deliveries_in_city_list = res.delivery),\r\n          (this.payment_gateway_list = res.payment_gateway);\r\n\r\n        jQuery(this.helper.elementRef.nativeElement)\r\n          .find(\"#country\")\r\n          .on(\"change\", (evnt, res_data) => {\r\n            this.get_country_timezone(res_data.selected);\r\n          });\r\n        jQuery(this.helper.elementRef.nativeElement)\r\n          .find(\"#timezone\")\r\n          .on(\"change\", (evnt, res_data) => {\r\n            this.add_city.timezone = res_data.selected;\r\n          });\r\n        jQuery(this.helper.elementRef.nativeElement)\r\n          .find(\"#language\")\r\n          .on(\"change\", (evnt, res_data) => {\r\n            this.add_city.language = res_data.selected;\r\n          });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement)\r\n          .find(\"#time_format\")\r\n          .on(\"change\", (evnt, res_data) => {\r\n            this.add_city.time_format = res_data.selected;\r\n          });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement)\r\n          .find(\"#admin_profit_mode\")\r\n          .on(\"change\", (evnt, res_data) => {\r\n            this.add_city.admin_profit_mode_on_delivery = res_data.selected;\r\n          });\r\n\r\n        setTimeout(() => {\r\n          jQuery(this.helper.elementRef.nativeElement)\r\n            .find(\".icheck\")\r\n            .on(\"ifChecked\", (event, res_data) => {\r\n              var id = event.target.getAttribute(\"value\");\r\n              this.add_city.deliveries_in_city.push(id);\r\n            });\r\n\r\n          jQuery(this.helper.elementRef.nativeElement)\r\n            .find(\".icheck\")\r\n            .on(\"ifUnchecked\", (event, res_data) => {\r\n              var id = event.target.getAttribute(\"value\");\r\n              var i = this.add_city.deliveries_in_city.indexOf(id);\r\n              if (i != -1) {\r\n                swal({\r\n                  title: \"Are you sure?\",\r\n                  text: \"You won't be able to revert this!\",\r\n                  type: \"warning\",\r\n                  showCancelButton: true,\r\n                  confirmButtonColor: \"#3085d6\",\r\n                  cancelButtonColor: \"#d33\",\r\n                  confirmButtonText: \"Yes\",\r\n                }).then(\r\n                  (res) => {\r\n                    this.add_city.deliveries_in_city.splice(i, 1);\r\n                  },\r\n                  (dismiss) => {\r\n                    setTimeout(() => {\r\n                      jQuery(\r\n                        \"#icheck\" + this.add_city.deliveries_in_city[i]\r\n                      ).iCheck(\"check\");\r\n                      this.add_city.deliveries_in_city.splice(i, 1);\r\n                    }, 100);\r\n                  }\r\n                );\r\n              }\r\n            });\r\n\r\n          jQuery(this.helper.elementRef.nativeElement)\r\n            .find(\".icheck_payment_gateway\")\r\n            .on(\"ifChecked\", (event, res_data) => {\r\n              var id = event.target.getAttribute(\"value\");\r\n              this.add_city.payment_gateway.push(id);\r\n            });\r\n\r\n          jQuery(this.helper.elementRef.nativeElement)\r\n            .find(\".icheck_payment_gateway\")\r\n            .on(\"ifUnchecked\", (event, res_data) => {\r\n              var id = event.target.getAttribute(\"value\");\r\n              var i = this.add_city.payment_gateway.indexOf(id);\r\n              if (i != -1) {\r\n                swal({\r\n                  title: \"Are you sure?\",\r\n                  text: \"You won't be able to revert this!\",\r\n                  type: \"warning\",\r\n                  showCancelButton: true,\r\n                  confirmButtonColor: \"#3085d6\",\r\n                  cancelButtonColor: \"#d33\",\r\n                  confirmButtonText: \"Yes\",\r\n                }).then(\r\n                  (res) => {\r\n                    this.add_city.payment_gateway.splice(i, 1);\r\n                  },\r\n                  (dismiss) => {\r\n                    setTimeout(() => {\r\n                      jQuery(\r\n                        \"#icheck\" + this.add_city.payment_gateway[i]\r\n                      ).iCheck(\"check\");\r\n                      this.add_city.payment_gateway.splice(i, 1);\r\n                    }, 100);\r\n                  }\r\n                );\r\n              }\r\n            });\r\n        }, 1000);\r\n\r\n        var directionsDisplay = new google.maps.DirectionsRenderer();\r\n        this.city_map = new google.maps.Map(document.getElementById(\"map\"), {\r\n          zoom: 7,\r\n          streetViewControl: false,\r\n          center: { lat: 22, lng: 70 },\r\n        });\r\n\r\n        this.drawingManager = new google.maps.drawing.DrawingManager({\r\n          drawingMode: google.maps.drawing.OverlayType.POLYGON,\r\n          drawingControl: true,\r\n          drawingControlOptions: {\r\n            position: google.maps.ControlPosition.TOP_CENTER,\r\n            drawingModes: [google.maps.drawing.OverlayType.POLYGON],\r\n          },\r\n          polygonOptions: {\r\n            fillColor: \"#ffff00\",\r\n            fillOpacity: 0.3,\r\n            strokeWeight: 2,\r\n            clickable: true,\r\n            draggable: false,\r\n            editable: true,\r\n            zIndex: 1,\r\n          },\r\n        });\r\n        this.drawingManager.setMap(this.city_map);\r\n\r\n        this.city_radius_map = new google.maps.Map(\r\n          document.getElementById(\"city_radius_map\"),\r\n          {\r\n            zoom: 10,\r\n            streetViewControl: false,\r\n            center: { lat: 22, lng: 70 },\r\n          }\r\n        );\r\n        this.city_radius_drawingManager =\r\n          new google.maps.drawing.DrawingManager({\r\n            drawingMode: google.maps.drawing.OverlayType.POLYGON,\r\n            drawingControl: true,\r\n            drawingControlOptions: {\r\n              position: google.maps.ControlPosition.TOP_CENTER,\r\n              drawingModes: [google.maps.drawing.OverlayType.POLYGON],\r\n            },\r\n            polygonOptions: {\r\n              fillColor: \"black\",\r\n              fillOpacity: 0.3,\r\n              strokeWeight: 2,\r\n              clickable: true,\r\n              editable: true,\r\n              zIndex: 1,\r\n            },\r\n          });\r\n        this.city_radius_drawingManager.setMap(this.city_radius_map);\r\n\r\n        google.maps.event.addListener(\r\n          this.city_radius_drawingManager,\r\n          \"overlaycomplete\",\r\n          (polygon) => {\r\n            var shape = polygon.overlay;\r\n            this.city_radius_drawingManager.setDrawingMode(null);\r\n            this.city_radius_drawingManager.setOptions({\r\n              drawingControl: false,\r\n            });\r\n            let location_array = [];\r\n            shape\r\n              .getPath()\r\n              .getArray()\r\n              .forEach((location) => {\r\n                location_array.push([location.lng(), location.lat()]);\r\n              });\r\n\r\n            this.add_city.city_locations = location_array;\r\n            google.maps.event.addListener(\r\n              shape.getPath(),\r\n              \"set_at\",\r\n              (event) => {\r\n                let location_array = [];\r\n                shape\r\n                  .getPath()\r\n                  .getArray()\r\n                  .forEach((location) => {\r\n                    location_array.push([location.lng(), location.lat()]);\r\n                  });\r\n                this.add_city.city_locations = location_array;\r\n              }\r\n            );\r\n            google.maps.event.addListener(\r\n              shape.getPath(),\r\n              \"insert_at\",\r\n              (event) => {\r\n                let location_array = [];\r\n                shape\r\n                  .getPath()\r\n                  .getArray()\r\n                  .forEach((location) => {\r\n                    location_array.push([location.lng(), location.lat()]);\r\n                  });\r\n                this.add_city.city_locations = location_array;\r\n              }\r\n            );\r\n            google.maps.event.addListener(\r\n              shape.getPath(),\r\n              \"remove_at\",\r\n              (event) => {\r\n                let location_array = [];\r\n                shape\r\n                  .getPath()\r\n                  .getArray()\r\n                  .forEach((location) => {\r\n                    location_array.push([location.lng(), location.lat()]);\r\n                  });\r\n                this.add_city.city_locations = location_array;\r\n              }\r\n            );\r\n          }\r\n        );\r\n\r\n        google.maps.event.addListener(\r\n          this.drawingManager,\r\n          \"overlaycomplete\",\r\n          (polygon) => {\r\n            var shape = polygon.overlay;\r\n            shape.type = polygon.type;\r\n            shape.unique_id = this.city_zone.length;\r\n            shape.title = \"Polygon \" + (this.city_zone.length + 1);\r\n            this.drawingManager.setDrawingMode(null);\r\n\r\n            let location_array = [];\r\n            shape\r\n              .getPath()\r\n              .getArray()\r\n              .forEach((location) => {\r\n                location_array.push([location.lng(), location.lat()]);\r\n              });\r\n\r\n            let json = {\r\n              kmlzone: location_array,\r\n              unique_id: this.city_zone.length,\r\n              color: shape.get(\"fillColor\"),\r\n              is_business: true,\r\n              title: shape.title,\r\n            };\r\n            this.city_zone.push(json);\r\n            this.city_zone_polygon.push(shape);\r\n            this.setSelection(shape);\r\n\r\n            var locations = shape.getPath().getArray();\r\n\r\n            var html =\r\n              '<div><input type=\"text\" id=\"title\" name=\"title\"/></div><br>' +\r\n              '<div><input type=\"color\" id=\"color\" name=\"color\"/></div><br>' +\r\n              '<div><button id=\"submit_title\" type=\"button\" style=\"text-align: center;\">Submit</button></div>';\r\n\r\n            if (this.infoWindow) {\r\n              this.infoWindow.close();\r\n            }\r\n\r\n            this.infoWindow = new google.maps.InfoWindow();\r\n            this.infoWindow.setContent(html);\r\n            this.infoWindow.setPosition(locations[0]);\r\n            this.infoWindow.open(this.city_map, shape);\r\n            setTimeout(() => {\r\n              jQuery(\"#submit_title\").on(\"click\", (event, res_data) => {\r\n                if (this.selectedShape) {\r\n                  if (jQuery(\"#title\").val() != \"\") {\r\n                    this.selectedShape.set(\"title\", jQuery(\"#title\").val());\r\n                    this.city_zone[this.selectedShape.unique_id].title =\r\n                      jQuery(\"#title\").val();\r\n                    shape.title = jQuery(\"#title\").val();\r\n                  }\r\n                  if (jQuery(\"#color\").val() != \"\") {\r\n                    this.makeColorButton(jQuery(\"#color\").val());\r\n                    this.selectedShape.set(\"color\", jQuery(\"#color\").val());\r\n                    this.city_zone[this.selectedShape.unique_id].color =\r\n                      jQuery(\"#color\").val();\r\n                    shape.color = jQuery(\"#color\").val();\r\n                  }\r\n                  this.infoWindow.close();\r\n                }\r\n              });\r\n            }, 1000);\r\n\r\n            google.maps.event.addListener(shape, \"click\", (e) => {\r\n              if (this.infoWindow) {\r\n                this.infoWindow.close();\r\n              }\r\n\r\n              this.setSelection(shape);\r\n              var locations = shape.getPath().getArray();\r\n              var html =\r\n                '<div><input type=\"text\" id=\"edit_title\" name=\"title\"/></div><br>' +\r\n                '<div><input type=\"color\" id=\"edit_color\" name=\"color\"/></div><br>' +\r\n                '<div><button id=\"update_title\" type=\"button\" style=\"text-align: center;\">Update</button></div>';\r\n\r\n              this.infoWindow = new google.maps.InfoWindow();\r\n              this.infoWindow.setContent(html);\r\n              this.infoWindow.setPosition(locations[0]);\r\n              this.infoWindow.open(this.city_map, shape);\r\n              setTimeout(() => {\r\n                jQuery(\"#edit_title\").val(shape.title);\r\n                jQuery(\"#edit_color\").val(shape.color);\r\n                jQuery(\"#update_title\").on(\"click\", (event, res_data) => {\r\n                  if (this.selectedShape) {\r\n                    if (jQuery(\"#edit_color\").val() != \"\") {\r\n                      this.makeColorButton(jQuery(\"#edit_color\").val());\r\n                      this.selectedShape.set(\r\n                        \"color\",\r\n                        jQuery(\"#edit_color\").val()\r\n                      );\r\n                      this.city_zone[this.selectedShape.unique_id].color =\r\n                        jQuery(\"#edit_color\").val();\r\n                      shape.color = jQuery(\"#edit_color\").val();\r\n                    }\r\n                    if (jQuery(\"#edit_title\").val() != \"\") {\r\n                      this.selectedShape.set(\r\n                        \"title\",\r\n                        jQuery(\"#edit_title\").val()\r\n                      );\r\n                      this.city_zone[this.selectedShape.unique_id].title =\r\n                        jQuery(\"#edit_title\").val();\r\n                      shape.title = jQuery(\"#edit_title\").val();\r\n                    }\r\n                    this.infoWindow.close();\r\n                  }\r\n                });\r\n              }, 500);\r\n            });\r\n\r\n            google.maps.event.addListener(\r\n              shape.getPath(),\r\n              \"set_at\",\r\n              (event) => {\r\n                let location_array = [];\r\n                shape\r\n                  .getPath()\r\n                  .getArray()\r\n                  .forEach((location) => {\r\n                    location_array.push([location.lng(), location.lat()]);\r\n                  });\r\n                this.city_zone[this.selectedShape.unique_id].kmlzone =\r\n                  location_array;\r\n              }\r\n            );\r\n            google.maps.event.addListener(\r\n              shape.getPath(),\r\n              \"insert_at\",\r\n              (event) => {\r\n                let location_array = [];\r\n                shape\r\n                  .getPath()\r\n                  .getArray()\r\n                  .forEach((location) => {\r\n                    location_array.push([location.lng(), location.lat()]);\r\n                  });\r\n                this.city_zone[this.selectedShape.unique_id].kmlzone =\r\n                  location_array;\r\n              }\r\n            );\r\n            google.maps.event.addListener(\r\n              shape.getPath(),\r\n              \"remove_at\",\r\n              (event) => {\r\n                let location_array = [];\r\n                shape\r\n                  .getPath()\r\n                  .getArray()\r\n                  .forEach((location) => {\r\n                    location_array.push([location.lng(), location.lat()]);\r\n                  });\r\n                this.city_zone[this.selectedShape.unique_id].kmlzone =\r\n                  location_array;\r\n              }\r\n            );\r\n            google.maps.event.addListener(\r\n              shape.getPath(),\r\n              \"dragend\",\r\n              (event) => {\r\n                let location_array = [];\r\n                shape\r\n                  .getPath()\r\n                  .getArray()\r\n                  .forEach((location) => {\r\n                    location_array.push([location.lng(), location.lat()]);\r\n                  });\r\n                this.city_zone[this.selectedShape.unique_id].kmlzone =\r\n                  location_array;\r\n              }\r\n            );\r\n          }\r\n        );\r\n\r\n        directionsDisplay.setMap(this.city_map);\r\n        directionsDisplay.setMap(this.city_radius_map);\r\n        this.buildColorPalette();\r\n\r\n        if (this.city_id == \"\") {\r\n          this.type = \"add\";\r\n          this.helper.http\r\n            .get(\"/admin/city_list\")\r\n            .map((res: Response) => res.json())\r\n            .subscribe(\r\n              (res) => (this.city_list = res),\r\n              (error) => (this.error = error)\r\n            );\r\n\r\n          this.city_exist = \"\";\r\n        } else {\r\n          this.myLoading = true;\r\n          jQuery(\".add\").hide();\r\n          this.type = \"edit\";\r\n          this.helper.http\r\n            .post(\"/admin/get_city_detail\", { city_id: this.city_id })\r\n            .map((res_data: Response) => res_data.json())\r\n            .subscribe((res_data) => {\r\n              if (res_data.success == false) {\r\n                this.myLoading = false;\r\n                this.helper.router.navigate([\"admin/city\"]);\r\n              } else {\r\n                this.drawingManager.setDrawingMode(null);\r\n                this.city_map.setCenter({\r\n                  lat: res_data.city.city_lat_long[0],\r\n                  lng: res_data.city.city_lat_long[1],\r\n                });\r\n                this.city_radius_map.setCenter({\r\n                  lat: res_data.city.city_lat_long[0],\r\n                  lng: res_data.city.city_lat_long[1],\r\n                });\r\n                this.city_zone = res_data.city_zone;\r\n                this.city_zone_polygon = [];\r\n                this.add_city.city_name = res_data.city.city_name;\r\n                this.add_city.city_nick_name = res_data.city.city_nick_name;\r\n                this.add_city.sms_configurations =\r\n                  res_data.city.sms_configurations;\r\n\r\n                if (this.add_city.sms_configurations.length > 0) {\r\n                  this.sms_detail = JSON.parse(\r\n                    JSON.stringify(this.add_city.sms_configurations[0])\r\n                  );\r\n                }\r\n\r\n                this.add_city.city_code = res_data.city.city_code;\r\n                this.add_city.city_radius = res_data.city.city_radius;\r\n                this.add_city.zone_business = res_data.city.zone_business;\r\n                this.add_city.is_use_radius = res_data.city.is_use_radius;\r\n\r\n                this.add_city.timezone = res_data.city.timezone;\r\n                this.add_city.language = res_data.city.language\r\n                  ? res_data.city.language\r\n                  : \"fr\";\r\n                this.add_city.time_format = res_data.city.time_format\r\n                  ? res_data.city.time_format\r\n                  : \"hh:mm\";\r\n\r\n                setTimeout(function () {\r\n                  jQuery(\"#time_format\").trigger(\"chosen:updated\");\r\n                }, 1000);\r\n\r\n                this.add_city.country_name =\r\n                  res_data.city.country_details.country_name;\r\n\r\n                this.add_city.country_id = res_data.city.country_id;\r\n                this.get_country_timezone(this.add_city.country_id);\r\n                this.add_city.city_lat = res_data.city.city_lat_long[0];\r\n                this.add_city.city_lng = res_data.city.city_lat_long[1];\r\n\r\n                this.add_city.admin_profit_mode_on_delivery =\r\n                  res_data.city.admin_profit_mode_on_delivery;\r\n                this.add_city.admin_profit_value_on_delivery =\r\n                  res_data.city.admin_profit_value_on_delivery;\r\n\r\n                this.add_city.is_ads_visible = res_data.city.is_ads_visible;\r\n                this.add_city.is_promo_apply = res_data.city.is_promo_apply;\r\n                this.add_city.is_cash_payment_mode =\r\n                  res_data.city.is_cash_payment_mode;\r\n                this.add_city.is_business = res_data.city.is_business;\r\n                this.add_city.is_hopper_business =\r\n                  res_data.city.is_hopper_business;\r\n                this.add_city.is_delay_order_reward =\r\n                  res_data.city.is_delay_order_reward;\r\n                this.add_city.is_other_payment_mode =\r\n                  res_data.city.is_other_payment_mode;\r\n\r\n                this.add_city.is_check_provider_wallet_amount_for_received_cash_request =\r\n                  res_data.city.is_check_provider_wallet_amount_for_received_cash_request;\r\n                this.add_city.provider_min_wallet_amount_for_received_cash_request =\r\n                  res_data.city.provider_min_wallet_amount_for_received_cash_request;\r\n                this.add_city.is_provider_earning_add_in_wallet_on_cash_payment =\r\n                  res_data.city.is_provider_earning_add_in_wallet_on_cash_payment;\r\n                this.add_city.is_store_earning_add_in_wallet_on_cash_payment =\r\n                  res_data.city.is_store_earning_add_in_wallet_on_cash_payment;\r\n                this.add_city.is_provider_earning_add_in_wallet_on_other_payment =\r\n                  res_data.city.is_provider_earning_add_in_wallet_on_other_payment;\r\n                this.add_city.is_store_earning_add_in_wallet_on_other_payment =\r\n                  res_data.city.is_store_earning_add_in_wallet_on_other_payment;\r\n\r\n                res_data.city.payment_gateway.forEach(function (\r\n                  payment_gateway_data\r\n                ) {\r\n                  setTimeout(() => {\r\n                    jQuery(\"#icheck\" + payment_gateway_data).iCheck(\"check\");\r\n                  }, 1000);\r\n                });\r\n\r\n                res_data.city.deliveries_in_city.forEach(\r\n                  (deliveries_in_city_data) => {\r\n                    setTimeout(() => {\r\n                      this.myLoading = false;\r\n                      jQuery(\"#icheck\" + deliveries_in_city_data).iCheck(\r\n                        \"check\"\r\n                      );\r\n                    }, 1000);\r\n                  }\r\n                );\r\n                if (res_data.city.deliveries_in_city.length == 0) {\r\n                  this.myLoading = false;\r\n                }\r\n\r\n                if (res_data.city.city_locations) {\r\n                  if (res_data.city.city_locations.length > 0) {\r\n                    this.city_radius_drawingManager.setDrawingMode(null);\r\n                    this.city_radius_drawingManager.setOptions({\r\n                      drawingControl: false,\r\n                    });\r\n                  }\r\n\r\n                  this.add_city.city_locations = res_data.city.city_locations;\r\n\r\n                  let array = [];\r\n                  this.add_city.city_locations.forEach((location) => {\r\n                    array.push({\r\n                      lat: Number(location[1]),\r\n                      lng: Number(location[0]),\r\n                    });\r\n                  });\r\n\r\n                  let polygon = new google.maps.Polygon({\r\n                    map: this.city_radius_map,\r\n                    paths: array,\r\n                    strokeColor: \"black\",\r\n                    strokeOpacity: 1,\r\n                    strokeWeight: 1.2,\r\n                    fillColor: \"black\",\r\n                    fillOpacity: 0.3,\r\n                    draggable: false,\r\n                    geodesic: true,\r\n                    editable: true,\r\n                  });\r\n\r\n                  google.maps.event.addListener(\r\n                    polygon.getPath(),\r\n                    \"set_at\",\r\n                    (event) => {\r\n                      let location_array = [];\r\n                      polygon\r\n                        .getPath()\r\n                        .getArray()\r\n                        .forEach((location) => {\r\n                          location_array.push([location.lng(), location.lat()]);\r\n                        });\r\n                      this.add_city.city_locations = location_array;\r\n                    }\r\n                  );\r\n                  google.maps.event.addListener(\r\n                    polygon.getPath(),\r\n                    \"insert_at\",\r\n                    (event) => {\r\n                      let location_array = [];\r\n                      polygon\r\n                        .getPath()\r\n                        .getArray()\r\n                        .forEach((location) => {\r\n                          location_array.push([location.lng(), location.lat()]);\r\n                        });\r\n                      this.add_city.city_locations = location_array;\r\n                    }\r\n                  );\r\n                  google.maps.event.addListener(\r\n                    polygon.getPath(),\r\n                    \"remove_at\",\r\n                    (event) => {\r\n                      let location_array = [];\r\n                      polygon\r\n                        .getPath()\r\n                        .getArray()\r\n                        .forEach((location) => {\r\n                          location_array.push([location.lng(), location.lat()]);\r\n                        });\r\n                      this.add_city.city_locations = location_array;\r\n                    }\r\n                  );\r\n                }\r\n\r\n                this.city_zone.forEach((city_zone_detail, index) => {\r\n                  let zone = [];\r\n                  city_zone_detail.kmlzone.forEach((kml) => {\r\n                    zone.push({ lat: Number(kml[1]), lng: Number(kml[0]) });\r\n                  });\r\n\r\n                  let polygon2: any = new google.maps.Polygon({\r\n                    map: this.city_map,\r\n                    paths: zone,\r\n                    strokeColor: city_zone_detail.is_business ? \"black\" : \"red\",\r\n                    strokeOpacity: 1,\r\n                    strokeWeight: 1.2,\r\n                    fillColor: city_zone_detail.color,\r\n                    fillOpacity: 0.3,\r\n                    draggable: false,\r\n                    geodesic: false,\r\n                    editable: false,\r\n                  });\r\n\r\n                  //   var shape: any = polygon2;\r\n                  polygon2.unique_id = index;\r\n                  this.city_zone_polygon.push(polygon2);\r\n\r\n                  google.maps.event.addListener(polygon2, \"click\", (event) => {\r\n                    if (this.infoWindow) {\r\n                      this.infoWindow.close();\r\n                    }\r\n\r\n                    // infoWindow = new google.maps.InfoWindow({\r\n                    //     content: city_zone_detail.title,\r\n                    //     maxWidth: 320\r\n                    // });\r\n\r\n                    // infoWindow.setPosition(event.latLng);\r\n                    // infoWindow.open(this.map, polygon2);\r\n\r\n                    var html =\r\n                      '<div><input type=\"text\" id=\"edit_title2\" name=\"title\"/></div><br>' +\r\n                      '<div><input type=\"color\" id=\"edit_color2\" name=\"color\"/></div><br>' +\r\n                      '<div><button id=\"update_title2\" type=\"button\" style=\"text-align: center;\">Update</button></div>';\r\n\r\n                    this.infoWindow = new google.maps.InfoWindow();\r\n                    this.infoWindow.setContent(html);\r\n                    this.infoWindow.setPosition(event.latLng);\r\n                    this.infoWindow.open(this.city_map, polygon2);\r\n                    this.setSelection(polygon2);\r\n                    setTimeout(() => {\r\n                      this.ngZone.run(() => {\r\n                        jQuery(\"#edit_title2\").val(city_zone_detail.title);\r\n                        jQuery(\"#edit_color2\").val(city_zone_detail.color);\r\n                        jQuery(\"#update_title2\").on(\r\n                          \"click\",\r\n                          (event, res_data) => {\r\n                            if (polygon2) {\r\n                              if (jQuery(\"#edit_color2\").val() != \"\") {\r\n                                this.makeColorButton(\r\n                                  jQuery(\"#edit_color2\").val()\r\n                                );\r\n                                polygon2.set(\r\n                                  \"color\",\r\n                                  jQuery(\"#edit_color2\").val()\r\n                                );\r\n                                this.city_zone[polygon2.unique_id].color =\r\n                                  jQuery(\"#edit_color2\").val();\r\n                                polygon2.color = jQuery(\"#edit_color2\").val();\r\n                              }\r\n                              if (jQuery(\"#edit_title2\").val() != \"\") {\r\n                                polygon2.set(\r\n                                  \"title\",\r\n                                  jQuery(\"#edit_title2\").val()\r\n                                );\r\n                                this.city_zone[polygon2.unique_id].title =\r\n                                  jQuery(\"#edit_title2\").val();\r\n                                polygon2.title = jQuery(\"#edit_title2\").val();\r\n                              }\r\n                              this.infoWindow.close();\r\n                            }\r\n                          }\r\n                        );\r\n                      });\r\n                    }, 500);\r\n                  });\r\n\r\n                  google.maps.event.addListener(\r\n                    polygon2.getPath(),\r\n                    \"set_at\",\r\n                    (event) => {\r\n                      let location_array = [];\r\n                      polygon2\r\n                        .getPath()\r\n                        .getArray()\r\n                        .forEach((location) => {\r\n                          location_array.push([location.lng(), location.lat()]);\r\n                        });\r\n                      this.city_zone[this.selectedShape.unique_id].kmlzone =\r\n                        location_array;\r\n                    }\r\n                  );\r\n                  google.maps.event.addListener(\r\n                    polygon2.getPath(),\r\n                    \"insert_at\",\r\n                    (event) => {\r\n                      let location_array = [];\r\n                      polygon2\r\n                        .getPath()\r\n                        .getArray()\r\n                        .forEach((location) => {\r\n                          location_array.push([location.lng(), location.lat()]);\r\n                        });\r\n                      this.city_zone[this.selectedShape.unique_id].kmlzone =\r\n                        location_array;\r\n                    }\r\n                  );\r\n                  google.maps.event.addListener(\r\n                    polygon2.getPath(),\r\n                    \"remove_at\",\r\n                    (event) => {\r\n                      let location_array = [];\r\n                      polygon2\r\n                        .getPath()\r\n                        .getArray()\r\n                        .forEach((location) => {\r\n                          location_array.push([location.lng(), location.lat()]);\r\n                        });\r\n                      this.city_zone[this.selectedShape.unique_id].kmlzone =\r\n                        location_array;\r\n                    }\r\n                  );\r\n                  google.maps.event.addListener(\r\n                    polygon2.getPath(),\r\n                    \"dragend\",\r\n                    (event) => {\r\n                      let location_array = [];\r\n                      polygon2\r\n                        .getPath()\r\n                        .getArray()\r\n                        .forEach((location) => {\r\n                          location_array.push([location.lng(), location.lat()]);\r\n                        });\r\n                      this.city_zone[this.selectedShape.unique_id].kmlzone =\r\n                        location_array;\r\n                    }\r\n                  );\r\n                });\r\n\r\n                this.delivery_time = res_data.city.delivery_time;\r\n                this.change_day(0);\r\n              }\r\n            });\r\n        }\r\n      });\r\n  }\r\n\r\n  change_day(selected_day) {\r\n    this.curren_selected_day = selected_day;\r\n    let index = this.delivery_time.findIndex((x) => x.day == selected_day);\r\n\r\n    this.is_delivery_open = this.delivery_time[index].is_delivery_open;\r\n    this.selected_delivery_time_array = this.delivery_time[index].day_time;\r\n    this.delivery_time_millisecond_array = [];\r\n    this.selected_delivery_time_array.forEach((time) => {\r\n      var open_date = new Date(Date.now());\r\n      var open_time = time.delivery_open_time;\r\n      open_time = open_time.split(\":\");\r\n      open_date.setHours(open_time[0], open_time[1], 0, 0);\r\n\r\n      var close_date = new Date(Date.now());\r\n      var close_time = time.delivery_close_time;\r\n      close_time = close_time.split(\":\");\r\n      close_date.setHours(close_time[0], close_time[1], 0, 0);\r\n\r\n      this.delivery_time_millisecond_array.push({\r\n        delivery_open_time: open_date.getTime(),\r\n        delivery_close_time: close_date.getTime(),\r\n      });\r\n    });\r\n  }\r\n\r\n  delivery_open(event) {\r\n    let index = this.delivery_time.findIndex(\r\n      (x) => x.day == this.curren_selected_day\r\n    );\r\n    this.delivery_time[index].is_delivery_open = event;\r\n  }\r\n\r\n  open_add_time_modal() {\r\n    this.is_time_edit = false;\r\n    this.selected_time_index = null;\r\n    this.add_modal.open();\r\n    this.delivery_open_time = \"\";\r\n    this.delivery_close_time = \"\";\r\n    this.delivery_close_time_error = 0;\r\n    this.delivery_open_time_error = 0;\r\n\r\n    jQuery(\"#open\").on(\"change\", (event, res_data) => {\r\n      this.check_open_time();\r\n    });\r\n\r\n    jQuery(\"#close\").on(\"change\", (event, res_data) => {\r\n      this.check_close_time();\r\n    });\r\n  }\r\n\r\n  check_open_time() {\r\n    this.delivery_open_time_error = 0;\r\n    this.delivery_close_time_error = 0;\r\n    var open = jQuery(\"#open\").val();\r\n    var close = jQuery(\"#close\").val();\r\n    this.delivery_open_time = open;\r\n\r\n    var open_date = new Date(Date.now());\r\n    open = open.split(\":\");\r\n    open_date.setHours(open[0], open[1], 0, 0);\r\n    open = open_date.getTime();\r\n\r\n    var close_date = new Date(Date.now());\r\n    close = close.split(\":\");\r\n    close_date.setHours(close[0], close[1], 0, 0);\r\n    close = close_date.getTime();\r\n\r\n    if (open >= close) {\r\n      this.delivery_open_time_error = 1;\r\n    } else {\r\n      this.delivery_open_time_error = 0;\r\n    }\r\n\r\n    for (var i in this.delivery_time_millisecond_array) {\r\n      if (this.selected_time_index != i) {\r\n        var open_time =\r\n          this.delivery_time_millisecond_array[i].delivery_open_time;\r\n        var close_time =\r\n          this.delivery_time_millisecond_array[i].delivery_close_time;\r\n\r\n        if (open_time <= open && open <= close_time) {\r\n          this.delivery_open_time_error = 2;\r\n        } else if (open <= open_time && close_time <= close) {\r\n          this.delivery_open_time_error = 2;\r\n        } else if (open_time <= close && close <= close_time) {\r\n          this.delivery_close_time_error = 2;\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  check_close_time() {\r\n    this.delivery_close_time_error = 0;\r\n    this.delivery_open_time_error = 0;\r\n    var open = jQuery(\"#open\").val();\r\n    var close = jQuery(\"#close\").val();\r\n    this.delivery_close_time = close;\r\n    var open_date = new Date(Date.now());\r\n    open = open.split(\":\");\r\n    open_date.setHours(open[0], open[1], 0, 0);\r\n    open = open_date.getTime();\r\n\r\n    var close_date = new Date(Date.now());\r\n    close = close.split(\":\");\r\n    close_date.setHours(close[0], close[1], 0, 0);\r\n    close = close_date.getTime();\r\n    if (open >= close) {\r\n      this.delivery_close_time_error = 1;\r\n    } else {\r\n      this.delivery_close_time_error = 0;\r\n    }\r\n    for (var i in this.delivery_time_millisecond_array) {\r\n      if (this.selected_time_index != i) {\r\n        let open_time =\r\n          this.delivery_time_millisecond_array[i].delivery_open_time;\r\n        let close_time =\r\n          this.delivery_time_millisecond_array[i].delivery_close_time;\r\n\r\n        if (open_time <= close && close <= close_time) {\r\n          this.delivery_close_time_error = 2;\r\n        } else if (open <= open_time && close_time <= close) {\r\n          this.delivery_close_time_error = 2;\r\n        } else if (open_time <= open && open <= close_time) {\r\n          this.delivery_open_time_error = 2;\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  get isvalidateTime(): boolean {\r\n    this.check_open_time();\r\n    this.check_close_time();\r\n    if (!this.delivery_close_time) {\r\n      this.delivery_close_time_error = 2;\r\n      return false;\r\n    } else if (!this.delivery_open_time) {\r\n      this.delivery_open_time_error = 2;\r\n      return false;\r\n    } else if (\r\n      this.delivery_open_time_error ||\r\n      this.delivery_close_time_error\r\n    ) {\r\n      return false;\r\n    } else {\r\n      return true;\r\n    }\r\n  }\r\n\r\n  add_delivery_time() {\r\n    if (this.isvalidateTime) {\r\n      this.delivery_time_add = false;\r\n      var open_date = new Date(Date.now());\r\n      var open_time: any = this.delivery_open_time;\r\n      open_time = open_time.split(\":\");\r\n      open_date.setHours(open_time[0], open_time[1], 0, 0);\r\n\r\n      var close_date = new Date(Date.now());\r\n      var close_time: any = this.delivery_close_time;\r\n      close_time = close_time.split(\":\");\r\n      close_date.setHours(close_time[0], close_time[1], 0, 0);\r\n\r\n      if (!this.is_time_edit) {\r\n        this.selected_delivery_time_array.push({\r\n          delivery_open_time: this.delivery_open_time,\r\n          delivery_close_time: this.delivery_close_time,\r\n        });\r\n\r\n        this.delivery_time_millisecond_array.push({\r\n          delivery_open_time: open_date.getTime(),\r\n          delivery_close_time: close_date.getTime(),\r\n        });\r\n      } else {\r\n        this.selected_delivery_time_array[this.selected_time_index] = {\r\n          delivery_open_time: this.delivery_open_time,\r\n          delivery_close_time: this.delivery_close_time,\r\n        };\r\n        this.delivery_time_millisecond_array[this.selected_time_index] = {\r\n          delivery_open_time: open_date.getTime(),\r\n          delivery_close_time: close_date.getTime(),\r\n        };\r\n      }\r\n      this.selected_delivery_time_array.sort(this.sortdeliveryTime);\r\n      // this.updatedeliveryTime();\r\n      this.add_modal.close();\r\n    }\r\n  }\r\n\r\n  sortdeliveryTime(a, b) {\r\n    if (a.delivery_open_time < b.delivery_open_time) return -1;\r\n    if (a.delivery_open_time > b.delivery_open_time) return 1;\r\n    return 0;\r\n  }\r\n\r\n  edit_delivery_time(delivery_time, index) {\r\n    this.is_time_edit = true;\r\n    this.delivery_open_time = delivery_time.delivery_open_time;\r\n    this.delivery_close_time = delivery_time.delivery_close_time;\r\n    jQuery(\"#open\").val(delivery_time.delivery_open_time);\r\n    jQuery(\"#close\").val(delivery_time.delivery_close_time);\r\n    this.delivery_close_time_error = 0;\r\n    this.delivery_open_time_error = 0;\r\n    this.selected_time_index = index;\r\n    this.add_modal.open();\r\n\r\n    jQuery(\"#open\").on(\"change\", (event, res_data) => {\r\n      this.delivery_open_time_error = 0;\r\n      this.delivery_close_time_error = 0;\r\n      var open = jQuery(\"#open\").val();\r\n      var close = jQuery(\"#close\").val();\r\n      this.delivery_open_time = open;\r\n\r\n      var open_date = new Date(Date.now());\r\n      open = open.split(\":\");\r\n      open_date.setHours(open[0], open[1], 0, 0);\r\n      open = open_date.getTime();\r\n\r\n      var close_date = new Date(Date.now());\r\n      close = close.split(\":\");\r\n      close_date.setHours(close[0], close[1], 0, 0);\r\n      close = close_date.getTime();\r\n\r\n      if (open >= close) {\r\n        this.delivery_open_time_error = 1;\r\n      } else {\r\n        this.delivery_open_time_error = 0;\r\n      }\r\n      for (var i in this.delivery_time_millisecond_array) {\r\n        if (this.selected_time_index != i) {\r\n          var open_time =\r\n            this.delivery_time_millisecond_array[i].delivery_open_time;\r\n          var close_time =\r\n            this.delivery_time_millisecond_array[i].delivery_close_time;\r\n\r\n          if (open_time <= open && open <= close_time) {\r\n            this.delivery_open_time_error = 2;\r\n          } else if (open <= open_time && close_time <= close) {\r\n            this.delivery_open_time_error = 2;\r\n          } else if (open_time <= close && close <= close_time) {\r\n            this.delivery_close_time_error = 2;\r\n          }\r\n        } else {\r\n        }\r\n      }\r\n    });\r\n\r\n    jQuery(\"#close\").on(\"change\", (event, res_data) => {\r\n      this.delivery_close_time_error = 0;\r\n      this.delivery_open_time_error = 0;\r\n      var open = jQuery(\"#open\").val();\r\n      var close = jQuery(\"#close\").val();\r\n      this.delivery_close_time = close;\r\n      var open_date = new Date(Date.now());\r\n      open = open.split(\":\");\r\n      open_date.setHours(open[0], open[1], 0, 0);\r\n      open = open_date.getTime();\r\n\r\n      var close_date = new Date(Date.now());\r\n      close = close.split(\":\");\r\n      close_date.setHours(close[0], close[1], 0, 0);\r\n      close = close_date.getTime();\r\n\r\n      if (open >= close) {\r\n        this.delivery_close_time_error = 1;\r\n      } else {\r\n        this.delivery_close_time_error = 0;\r\n      }\r\n\r\n      for (var i in this.delivery_time_millisecond_array) {\r\n        if (this.selected_time_index != i) {\r\n          let open_time =\r\n            this.delivery_time_millisecond_array[i].delivery_open_time;\r\n          let close_time =\r\n            this.delivery_time_millisecond_array[i].delivery_close_time;\r\n\r\n          if (open_time <= close && close <= close_time) {\r\n            this.delivery_close_time_error = 2;\r\n          } else if (open <= open_time && close_time <= close) {\r\n            this.delivery_close_time_error = 2;\r\n          } else if (open_time <= open && open <= close_time) {\r\n            this.delivery_open_time_error = 2;\r\n          }\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  remove_delivery_time(delivery_time) {\r\n    // if(this.edit) {\r\n\r\n    swal({\r\n      title: \"Are you sure?\",\r\n      text: \"You won't be able to revert this!\",\r\n      type: \"warning\",\r\n      showCancelButton: true,\r\n      confirmButtonColor: \"#3085d6\",\r\n      cancelButtonColor: \"#d33\",\r\n      confirmButtonText: \"Yes, delete it!\",\r\n    })\r\n      .then(() => {\r\n        var i = this.selected_delivery_time_array.indexOf(delivery_time);\r\n        if (i != -1) {\r\n          this.selected_delivery_time_array.splice(i, 1);\r\n          this.delivery_time_millisecond_array.splice(i, 1);\r\n          // this.updatedeliveryTime()\r\n        }\r\n      })\r\n      .catch(swal.noop);\r\n    // }\r\n  }\r\n\r\n  updatedeliveryTime() {\r\n    // this.updateDeliveryTimeService();\r\n  }\r\n\r\n  setSelection(shape) {\r\n    this.clearSelection();\r\n    shape.setEditable(true);\r\n    this.selectColor(shape.get(\"fillColor\") || shape.get(\"strokeColor\"));\r\n    this.selectedShape = shape;\r\n  }\r\n\r\n  clearSelection() {\r\n    if (this.selectedShape) {\r\n      this.selectedShape.setEditable(false);\r\n      this.selectedShape = null;\r\n    }\r\n  }\r\n\r\n  selectColor(color) {\r\n    this.selectedColor = color;\r\n    var polygonOptions = this.drawingManager.get(\"polygonOptions\");\r\n    polygonOptions.fillColor = color;\r\n    polygonOptions.strokeColor = color;\r\n    this.drawingManager.set(\"polygonOptions\", polygonOptions);\r\n  }\r\n  setSelectedShapeColor(color) {\r\n    if (this.selectedShape) {\r\n      if (this.selectedShape.type == google.maps.drawing.OverlayType.POLYLINE) {\r\n        this.selectedShape.set(\"strokeColor\", color);\r\n        this.selectedShape.set(\"fillColor\", color);\r\n        this.city_zone[this.selectedShape.unique_id].color = color;\r\n      } else {\r\n        this.selectedShape.set(\"strokeColor\", color);\r\n        this.selectedShape.set(\"fillColor\", color);\r\n        this.city_zone[this.selectedShape.unique_id].color = color;\r\n      }\r\n    }\r\n  }\r\n  buildColorPalette() {\r\n    this.selectColor(this.colors[0]);\r\n  }\r\n\r\n  makeColorButton(color) {\r\n    this.selectColor(color);\r\n    this.setSelectedShapeColor(color);\r\n  }\r\n\r\n  public formData = new FormData();\r\n  image_update($event) {\r\n    this.formData = new FormData();\r\n    const files = $event.target.files || $event.srcElement.files;\r\n    const image_url = files[0];\r\n    this.formData.append(\"zone_file\", image_url);\r\n  }\r\n\r\n  get_country_timezone(countryid) {\r\n    this.add_city.country_id = countryid;\r\n    this.check_city(this.add_city.city_name, this.add_city.city_code);\r\n    this.helper.http\r\n      .post(\"/admin/get_country_timezone\", { countryid: countryid })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((data) => {\r\n        this.timezone_list = data.country_timezone;\r\n        this.add_city.timezone = this.timezone_list[0];\r\n\r\n        ///////// for city auto complete ///////////////////\r\n        var autocompleteElm = <HTMLInputElement>(\r\n          document.getElementById(\"city_name\")\r\n        );\r\n        let autocomplete = new google.maps.places.Autocomplete(\r\n          autocompleteElm,\r\n          {\r\n            types: [\"(cities)\"],\r\n            componentRestrictions: { country: data.country_code },\r\n          }\r\n        );\r\n        autocomplete.addListener(\"place_changed\", () => {\r\n          var place = autocomplete.getPlace();\r\n          var lat = place.geometry.location.lat();\r\n          var lng = place.geometry.location.lng();\r\n          this.city_map.setCenter({\r\n            lat: place.geometry.location.lat(),\r\n            lng: place.geometry.location.lng(),\r\n          });\r\n          this.city_radius_map.setCenter({\r\n            lat: place.geometry.location.lat(),\r\n            lng: place.geometry.location.lng(),\r\n          });\r\n          var city_code;\r\n          for (var i = 0; i < place.address_components.length; i++) {\r\n            if (\r\n              place.address_components[i].types[0] ==\r\n              \"administrative_area_level_1\"\r\n            ) {\r\n              city_code = place.address_components[i];\r\n              city_code = city_code.short_name;\r\n            }\r\n          }\r\n\r\n          this.add_city.city_code = city_code;\r\n          this.add_city.city_nick_name = place.formatted_address;\r\n          this.add_city.city_name = place.name;\r\n          this.add_city.city_lat = lat;\r\n          this.add_city.city_lng = lng;\r\n          this.check_city(place.name, city_code);\r\n        });\r\n      });\r\n    setTimeout(function () {\r\n      jQuery(\"#timezone\").trigger(\"chosen:updated\");\r\n    }, 1000);\r\n  }\r\n\r\n  addCity(citydata) {\r\n    if (this.type == \"add\") {\r\n      this.myLoading = true;\r\n      citydata.city_zone = this.city_zone;\r\n\r\n      if (this.add_city.is_use_radius == true) {\r\n        citydata.city_radius = this.add_city.city_radius;\r\n      }\r\n\r\n      if (this.add_city.is_use_radius == false) {\r\n        citydata.city_locations = this.add_city.city_locations;\r\n      }\r\n\r\n      citydata.delivery_time = this.delivery_time;\r\n\r\n      this.helper.http\r\n        .post(\"/admin/add_city_data\", citydata)\r\n        .map((res: Response) => res.json())\r\n        .subscribe(\r\n          (res_data) => {\r\n            this.myLoading = false;\r\n            if (res_data.success == true) {\r\n              this.helper.data.storage = {\r\n                message: this.helper.MESSAGE_CODE[res_data.message],\r\n                class: \"alert-info\",\r\n              };\r\n              this.helper.router.navigate([\"admin/city\"]);\r\n            } else {\r\n              this.helper.data.storage = {\r\n                code: res_data.error_code,\r\n                message: this.helper.ERROR_CODE[res_data.error_code],\r\n                class: \"alert-danger\",\r\n              };\r\n              this.helper.message();\r\n            }\r\n          },\r\n          (error: any) => {\r\n            this.myLoading = false;\r\n            this.helper.http_status(error);\r\n          }\r\n        );\r\n    } else {\r\n      this.updateCity(citydata);\r\n    }\r\n  }\r\n\r\n  updateCity(city_data) {\r\n    this.myLoading = true;\r\n    city_data.city_zone = this.city_zone;\r\n    city_data.city_locations = this.add_city.city_locations;\r\n    city_data.delivery_time = this.delivery_time;\r\n    this.helper.http\r\n      .post(\"/admin/update_city\", city_data)\r\n      .map((res: Response) => res.json())\r\n      .subscribe(\r\n        (res_data) => {\r\n          this.myLoading = false;\r\n          if (res_data.success == true) {\r\n            //     this.formData.append('city_id',city_data.city_id);\r\n            //     this.helper.http.post('/admin/update_city_zone', this.formData).map((res: Response) => res.json()).subscribe(res_data => {\r\n            //\r\n            // if (res_data.success == true) {\r\n\r\n            this.helper.data.storage = {\r\n              message: this.helper.MESSAGE_CODE[res_data.message],\r\n              class: \"alert-info\",\r\n            };\r\n            this.helper.router.navigate([\"admin/city\"]);\r\n            //     }\r\n            // });\r\n          } else {\r\n            this.helper.router.navigate([\"admin/city\"]);\r\n          }\r\n        },\r\n        (error: any) => {\r\n          this.myLoading = false;\r\n          this.helper.http_status(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  check_city(city, city_code) {\r\n    this.helper.http\r\n      .post(\"/admin/check_city\", {\r\n        country_id: this.add_city.country_id,\r\n        city_name: city.trim(),\r\n        city_code: city_code.trim(),\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        if (res_data.success == false) {\r\n          jQuery(\"#submit\").attr(\"disabled\", true);\r\n          this.city_exist = \"City Already Exist.\";\r\n        } else {\r\n          jQuery(\"#submit\").attr(\"disabled\", false);\r\n          this.city_exist = \"\";\r\n        }\r\n      });\r\n  }\r\n\r\n  open_copy_delivery_time_modal() {\r\n    var date_array = [\r\n      { value: 0, label: this.title.sunday },\r\n      { value: 1, label: this.title.monday },\r\n      { value: 2, label: this.title.tuesday },\r\n      { value: 3, label: this.title.wednesday },\r\n      { value: 4, label: this.title.thursday },\r\n      { value: 5, label: this.title.friday },\r\n      { value: 6, label: this.title.saturday },\r\n    ];\r\n    date_array.splice(this.curren_selected_day, 1);\r\n\r\n    this.date_array = date_array;\r\n    this.copy_delivery_time_modal.open();\r\n\r\n    setTimeout(() => {\r\n      jQuery(\"#selected_days\").chosen();\r\n      jQuery(\"#selected_days\").trigger(\"chosen:updated\");\r\n    }, 1000);\r\n  }\r\n\r\n  copy_delivery_time_update() {\r\n    var selected_days = jQuery(\"#selected_days\").val();\r\n\r\n    var day_array = [];\r\n    selected_days.forEach((month) => {\r\n      month = month.split(\": \");\r\n      var result = month[1].substring(1, month[1].length - 1);\r\n      day_array.push(result);\r\n    });\r\n\r\n    day_array.forEach((day) => {\r\n      this.delivery_time[day].is_delivery_open_full_time =\r\n        this.delivery_time[this.curren_selected_day].is_delivery_open_full_time;\r\n      this.delivery_time[day].is_delivery_open =\r\n        this.delivery_time[this.curren_selected_day].is_delivery_open;\r\n      this.delivery_time[day].day_time =\r\n        this.delivery_time[this.curren_selected_day].day_time;\r\n    });\r\n\r\n    this.copy_delivery_time_modal.close();\r\n  }\r\n\r\n  select_polygon(index) {\r\n    let shape = this.city_zone_polygon[index];\r\n    this.setSelection(shape);\r\n    var locations = shape.getPath().getArray();\r\n    var html =\r\n      '<div><input type=\"text\" id=\"edit_title3\" name=\"title\"/></div><br>' +\r\n      '<div><input type=\"color\" id=\"edit_color3\" name=\"color\"/></div><br>' +\r\n      '<div><button id=\"update_title3\" type=\"button\" style=\"text-align: center;\">Update</button></div>';\r\n\r\n    if (this.infoWindow) {\r\n      this.infoWindow.close();\r\n    }\r\n\r\n    this.infoWindow = new google.maps.InfoWindow();\r\n    this.infoWindow.setContent(html);\r\n    this.infoWindow.setPosition(locations[0]);\r\n    this.infoWindow.open(this.city_map, shape);\r\n    setTimeout(() => {\r\n      jQuery(\"#edit_title3\").val(this.city_zone[index].title);\r\n      jQuery(\"#edit_color3\").val(this.city_zone[index].color);\r\n      jQuery(\"#update_title3\").on(\"click\", (event, res_data) => {\r\n        if (this.selectedShape) {\r\n          if (jQuery(\"#edit_color3\").val() != \"\") {\r\n            this.makeColorButton(jQuery(\"#edit_color3\").val());\r\n            this.selectedShape.set(\"color\", jQuery(\"#edit_color3\").val());\r\n            this.city_zone[this.selectedShape.unique_id].color =\r\n              jQuery(\"#edit_color3\").val();\r\n            shape.color = jQuery(\"#edit_color3\").val();\r\n          }\r\n          if (jQuery(\"#edit_title3\").val() != \"\") {\r\n            this.selectedShape.set(\"title\", jQuery(\"#edit_title3\").val());\r\n            this.city_zone[this.selectedShape.unique_id].title =\r\n              jQuery(\"#edit_title3\").val();\r\n            shape.title = jQuery(\"#edit_title3\").val();\r\n          }\r\n          this.infoWindow.close();\r\n        }\r\n      });\r\n    }, 500);\r\n  }\r\n\r\n  UpdateSms() {\r\n    this.helper.http\r\n      .post(\"/admin/update_city_sms\", {\r\n        city_id: this.city_id,\r\n        sms_unique_title: this.sms_detail.sms_unique_title,\r\n        sms_content: this.sms_detail.sms_content,\r\n        is_odh_only: this.sms_detail.is_odh_only,\r\n        is_send: this.sms_detail.is_send,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        if (res_data.success == true) {\r\n          this.helper.data.storage = {\r\n            message: this.helper.MESSAGE_CODE[res_data.message],\r\n            class: \"alert-info\",\r\n          };\r\n          this.helper.message();\r\n          const index = this.add_city.sms_configurations.findIndex(\r\n            (x) => x.sms_unique_title === this.sms_detail.sms_unique_title\r\n          );\r\n          if (index !== -1) {\r\n            this.add_city.sms_configurations[index] = JSON.parse(\r\n              JSON.stringify(this.sms_detail)\r\n            );\r\n          }\r\n        } else {\r\n          this.helper.data.storage = {\r\n            code: res_data.error_code,\r\n            message: this.helper.ERROR_CODE[res_data.error_code],\r\n            class: \"alert-danger\",\r\n          };\r\n          this.helper.message();\r\n        }\r\n      });\r\n  }\r\n\r\n  sms_tab_active() {\r\n    this.selected_tab = \"sms\";\r\n    setTimeout(() => {\r\n      jQuery(\"#sms\").chosen();\r\n      jQuery(this.helper.elementRef.nativeElement)\r\n        .find(\"#sms\")\r\n        .on(\"change\", (evnt, res_data) => {\r\n          this.sms_detail.sms_unique_title = res_data.selected;\r\n          const index = this.add_city.sms_configurations.findIndex(\r\n            (x) => x.sms_unique_title === this.sms_detail.sms_unique_title\r\n          );\r\n          if (index !== -1) {\r\n            this.sms_detail = JSON.parse(\r\n              JSON.stringify(this.add_city.sms_configurations[index])\r\n            );\r\n          } else {\r\n            this.sms_detail = {\r\n              sms_unique_title: res_data.selected,\r\n              sms_content: \"\",\r\n              is_send: false,\r\n              is_odh_only: false,\r\n            };\r\n          }\r\n        });\r\n    }, 500);\r\n  }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/add_city/add_city.component.ts","import { Component, OnInit } from \"@angular/core\";\r\nimport { Http, Response } from \"@angular/http\";\r\nimport { Observable } from \"rxjs/Rx\";\r\nimport \"rxjs/add/operator/map\";\r\nimport \"rxjs/add/operator/catch\";\r\nimport { Helper } from \"../../helper\";\r\ndeclare var jQuery: any;\r\n\r\nexport interface AddCountry {\r\n  country_name: String;\r\n  country_code: String;\r\n  country_timezone: any[];\r\n  currency_name: String;\r\n  currency_code: String;\r\n  country_code_2: String;\r\n  currency_sign: String;\r\n  country_phone_code: String;\r\n  countryCallingCodes: any[];\r\n  currency_rate: Number;\r\n\r\n  referral_bonus_to_user: Number;\r\n  referral_bonus_to_user_friend: Number;\r\n  no_of_user_use_referral: Number;\r\n\r\n  referral_bonus_to_store: Number;\r\n  referral_bonus_to_store_friend: Number;\r\n  no_of_store_use_referral: Number;\r\n\r\n  referral_bonus_to_provider: Number;\r\n  referral_bonus_to_provider_friend: Number;\r\n  no_of_provider_use_referral: Number;\r\n\r\n  is_referral_user: Boolean;\r\n  is_referral_store: Boolean;\r\n  is_referral_provider: Boolean;\r\n\r\n  is_business: Boolean;\r\n  is_distance_unit_mile: Boolean;\r\n  minimum_phone_number_length: Number;\r\n  maximum_phone_number_length: Number;\r\n  is_ads_visible: Boolean;\r\n  is_auto_transfer_for_store: Boolean;\r\n  auto_transfer_day_for_store: Number;\r\n  is_auto_transfer_for_deliveryman: Boolean;\r\n  auto_transfer_day_for_deliveryman: Number;\r\n}\r\n\r\n@Component({\r\n  selector: \"add_country\",\r\n  template: require('./add_country.component.html'),\r\n  providers: [Helper],\r\n})\r\nexport class AddCountryComponent implements OnInit {\r\n  private add_country: AddCountry;\r\n\r\n  title: any;\r\n  button: any;\r\n  type: String;\r\n  heading_title: any;\r\n  tooltip_title: any;\r\n  validation_message: any;\r\n  country_list: any[];\r\n  country_id: Object;\r\n  error: any;\r\n  timezone: any[];\r\n  country_exist: String;\r\n  myLoading: boolean = false;\r\n  admin_currency_code = String;\r\n  constructor(private helper: Helper) {}\r\n\r\n  ngAfterViewInit() {\r\n    jQuery(\".chosen-select\").chosen();\r\n\r\n    setTimeout(function () {\r\n      jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n    }, 1000);\r\n    jQuery(\"#is_distance_unit_mile\").chosen();\r\n  }\r\n  ngOnDestroy() {\r\n    this.helper.router_id.admin.country_id = \"\";\r\n  }\r\n  ngOnInit() {\r\n    this.add_country = {\r\n      country_name: \"\",\r\n      country_code: \"\",\r\n      country_timezone: [],\r\n      currency_name: \"\",\r\n      currency_code: \"\",\r\n      country_code_2: \"\",\r\n      currency_sign: \"\",\r\n      country_phone_code: \"\",\r\n      countryCallingCodes: [],\r\n      currency_rate: null,\r\n\r\n      minimum_phone_number_length: null,\r\n      maximum_phone_number_length: null,\r\n      referral_bonus_to_user: null,\r\n      referral_bonus_to_user_friend: null,\r\n      no_of_user_use_referral: null,\r\n\r\n      referral_bonus_to_store: null,\r\n      referral_bonus_to_store_friend: null,\r\n      no_of_store_use_referral: null,\r\n\r\n      referral_bonus_to_provider: null,\r\n      referral_bonus_to_provider_friend: null,\r\n      no_of_provider_use_referral: null,\r\n\r\n      is_business: true,\r\n      is_distance_unit_mile: false,\r\n      is_referral_user: true,\r\n      is_referral_store: true,\r\n      is_referral_provider: true,\r\n      is_ads_visible: true,\r\n      auto_transfer_day_for_deliveryman: 7,\r\n      auto_transfer_day_for_store: 7,\r\n      is_auto_transfer_for_deliveryman: false,\r\n      is_auto_transfer_for_store: false,\r\n    };\r\n    setTimeout(() => {\r\n      let height = jQuery(\".country_setting\").height();\r\n      jQuery(\".referral_setting\").height(height);\r\n    }, 1000);\r\n    this.country_id = this.helper.router_id.admin.country_id;\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#country\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.get_country_data(res_data.selected);\r\n      });\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#is_distance_unit_mile\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.add_country.is_distance_unit_mile = res_data.selected;\r\n      });\r\n\r\n    this.helper.http\r\n      .post(\"/api/admin/get_setting_detail\", {})\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        this.admin_currency_code = res_data.setting.admin_currency_code;\r\n      });\r\n    if (this.country_id == \"\") {\r\n      this.type = \"add\";\r\n      this.helper.http\r\n        .get(\"/admin/get_country_list\")\r\n        .map((res: Response) => res.json())\r\n        .subscribe(\r\n          (res) => (this.country_list = res),\r\n          (error) => (this.error = error)\r\n        );\r\n\r\n      this.country_exist = \"\";\r\n    } else {\r\n      jQuery(\"#add\").hide();\r\n      this.type = \"edit\";\r\n      this.helper.http\r\n        .post(\"/admin/get_country_detail\", { country_id: this.country_id })\r\n        .map((res_data: Response) => res_data.json())\r\n        .subscribe((res_data) => {\r\n          if (res_data.success == false) {\r\n            this.helper.router.navigate([\"admin/country\"]);\r\n          } else {\r\n            this.add_country.country_name = res_data.country.country_name;\r\n            this.add_country.country_code = res_data.country.country_code;\r\n            this.add_country.country_timezone =\r\n              res_data.country.country_timezone;\r\n            this.add_country.currency_name = res_data.country.currency_name;\r\n            this.add_country.currency_rate = res_data.country.currency_rate;\r\n\r\n            this.add_country.country_code_2 = res_data.country.country_code_2;\r\n\r\n            this.add_country.currency_code = res_data.country.currency_code;\r\n            this.add_country.currency_sign = res_data.country.currency_sign;\r\n            this.add_country.country_phone_code =\r\n              res_data.country.country_phone_code;\r\n            this.add_country.countryCallingCodes =\r\n              res_data.country.countryCallingCodes;\r\n            this.add_country.referral_bonus_to_user =\r\n              res_data.country.referral_bonus_to_user;\r\n\r\n            this.add_country.is_auto_transfer_for_store =\r\n              res_data.country.is_auto_transfer_for_store;\r\n            this.add_country.auto_transfer_day_for_store =\r\n              res_data.country.auto_transfer_day_for_store;\r\n            this.add_country.is_auto_transfer_for_deliveryman =\r\n              res_data.country.is_auto_transfer_for_deliveryman;\r\n            this.add_country.auto_transfer_day_for_deliveryman =\r\n              res_data.country.auto_transfer_day_for_deliveryman;\r\n\r\n            this.add_country.referral_bonus_to_user_friend =\r\n              res_data.country.referral_bonus_to_user_friend;\r\n            this.add_country.no_of_user_use_referral =\r\n              res_data.country.no_of_user_use_referral;\r\n            this.add_country.referral_bonus_to_store =\r\n              res_data.country.referral_bonus_to_store;\r\n            this.add_country.referral_bonus_to_store_friend =\r\n              res_data.country.referral_bonus_to_store_friend;\r\n\r\n            this.add_country.no_of_store_use_referral =\r\n              res_data.country.no_of_store_use_referral;\r\n            this.add_country.referral_bonus_to_provider =\r\n              res_data.country.referral_bonus_to_provider;\r\n            this.add_country.referral_bonus_to_provider_friend =\r\n              res_data.country.referral_bonus_to_provider_friend;\r\n            this.add_country.no_of_provider_use_referral =\r\n              res_data.country.no_of_provider_use_referral;\r\n\r\n            this.add_country.is_ads_visible = res_data.country.is_ads_visible;\r\n            this.add_country.is_business = res_data.country.is_business;\r\n            this.add_country.is_distance_unit_mile =\r\n              res_data.country.is_distance_unit_mile;\r\n            this.add_country.is_referral_user =\r\n              res_data.country.is_referral_user;\r\n            this.add_country.is_referral_store =\r\n              res_data.country.is_referral_store;\r\n            this.add_country.is_referral_provider =\r\n              res_data.country.is_referral_provider;\r\n            this.add_country.minimum_phone_number_length =\r\n              res_data.country.minimum_phone_number_length;\r\n            this.add_country.maximum_phone_number_length =\r\n              res_data.country.maximum_phone_number_length;\r\n          }\r\n        });\r\n    }\r\n    this.title = this.helper.title;\r\n    this.button = this.helper.button;\r\n    this.heading_title = this.helper.heading_title;\r\n    this.tooltip_title = this.helper.tooltip_title;\r\n    this.validation_message = this.helper.validation_message;\r\n  }\r\n\r\n  get_country_data(countryname) {\r\n    this.helper.http\r\n      .post(\"/admin/get_country_data\", { countryname: countryname })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((data) => {\r\n        if (data.success == true) {\r\n          this.timezone = [];\r\n          this.country_exist = \"\";\r\n          jQuery(\"#submit\").attr(\"disabled\", false);\r\n          for (var i in data.country_timezone) {\r\n            this.timezone.push(data.country_timezone[i].name);\r\n          }\r\n\r\n          this.add_country.country_name = countryname;\r\n          this.add_country.country_timezone = this.timezone;\r\n          this.add_country.currency_code = data.lookup.currencies[0];\r\n          this.add_country.currency_sign = data.currency_symbol;\r\n          this.add_country.country_phone_code =\r\n            data.lookup.countryCallingCodes[0];\r\n          this.add_country.countryCallingCodes =\r\n            data.lookup.countryCallingCodes;\r\n          this.add_country.country_code = data.lookup.alpha2;\r\n          this.add_country.country_code_2 = data.lookup.alpha3;\r\n        } else {\r\n          this.country_exist = \"Country Already Exist\";\r\n          this.timezone = [];\r\n          this.add_country.country_name = \"\";\r\n          this.add_country.country_timezone = [];\r\n          this.add_country.currency_code = \"\";\r\n          this.add_country.currency_sign = \"\";\r\n          this.add_country.country_phone_code = \"\";\r\n          this.add_country.countryCallingCodes = [];\r\n          this.add_country.country_code = \"\";\r\n          this.add_country.country_code_2 = \"\";\r\n          jQuery(\"#submit\").attr(\"disabled\", true);\r\n        }\r\n      });\r\n  }\r\n\r\n  addCountry(countrydata) {\r\n    if (this.type == \"add\") {\r\n      this.myLoading = true;\r\n      this.helper.http\r\n        .post(\"/admin/add_country_data\", countrydata)\r\n        .map((res: Response) => res.json())\r\n        .subscribe(\r\n          (res_data) => {\r\n            this.myLoading = false;\r\n            if (res_data.success == true) {\r\n              this.helper.data.storage = {\r\n                message: this.helper.MESSAGE_CODE[res_data.message],\r\n                class: \"alert-info\",\r\n              };\r\n              this.helper.router.navigate([\"admin/country\"]);\r\n            }\r\n          },\r\n          (error: any) => {\r\n            this.myLoading = false;\r\n            this.helper.http_status(error);\r\n          }\r\n        );\r\n    } else {\r\n      this.updateCountry(countrydata);\r\n    }\r\n  }\r\n\r\n  updateCountry(country_data) {\r\n    this.myLoading = true;\r\n    this.helper.http\r\n      .post(\"/admin/update_country\", country_data)\r\n      .map((res: Response) => res.json())\r\n      .subscribe(\r\n        (res_data) => {\r\n          this.myLoading = false;\r\n          if (res_data.success == true) {\r\n            this.helper.data.storage = {\r\n              message: this.helper.MESSAGE_CODE[res_data.message],\r\n              class: \"alert-info\",\r\n            };\r\n            this.helper.router.navigate([\"admin/country\"]);\r\n          } else {\r\n            this.helper.router.navigate([\"admin/country\"]);\r\n          }\r\n        },\r\n        (error: any) => {\r\n          this.myLoading = false;\r\n          this.helper.http_status(error);\r\n        }\r\n      );\r\n  }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/add_country/add_country.component.ts","import {Component, OnInit, ViewContainerRef, ViewChild} from '@angular/core';\r\nimport {Response} from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport {Helper} from \"../../helper\";\r\ndeclare var jQuery: any;\r\nimport {ModalComponent} from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport {ImageCropperComponent, CropperSettings, Bounds} from 'ng2-img-cropper';\r\nexport interface AddDelivery {\r\n    delivery_name: String,\r\n    description: String,\r\n    image_url: any,\r\n    image_url1: any,\r\n    image_url2: any,\r\n    image_url3: any,\r\n    icon_url: any,\r\n    map_pin_url: any,\r\n    delivery_type_id: Object,\r\n    is_business: Boolean,\r\n    sequence_number: number,\r\n    famous_products_tags: any[]\r\n}\r\nexport interface imageSetting {\r\n    image_ratio: number,\r\n    image_min_width: number,\r\n    image_max_width: number\r\n    image_min_height: number,\r\n    image_max_height: number,\r\n\r\n    image_ratio1: number,\r\n    image_min_width1: number,\r\n    image_max_width1: number\r\n    image_min_height1: number,\r\n    image_max_height1: number,\r\n\r\n    image_ratio2: number,\r\n    image_min_width2: number,\r\n    image_max_width2: number\r\n    image_min_height2: number,\r\n    image_max_height2: number,\r\n\r\n    image_ratio3: number,\r\n    image_min_width3: number,\r\n    image_max_width3: number\r\n    image_min_height3: number,\r\n    image_max_height3: number,\r\n\r\n    map_pin_image_ratio: number,\r\n    map_pin_image_min_width: number,\r\n    map_pin_image_max_width: number\r\n    map_pin_image_min_height: number,\r\n    map_pin_image_max_height: number,\r\n\r\n    icon_image_ratio: number,\r\n    icon_minimum_size: number,\r\n    icon_maximum_size: number,\r\n    image_type: any[],\r\n    map_pin_image_type: any[],\r\n    icon_image_type: any[]\r\n}\r\n\r\n@Component({\r\n    selector: 'app-add_delivery',\r\n    template: require('./add_delivery.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class AddDeliveryComponent implements OnInit {\r\n\r\n    @ViewChild('image_crop_modal')\r\n    image_crop_modal: ModalComponent;\r\n    @ViewChild('cropper', undefined)\r\n    cropper: ImageCropperComponent;\r\n\r\n    @ViewChild('image_crop_modal1')\r\n    image_crop_modal1: ModalComponent;\r\n    @ViewChild('cropper1', undefined)\r\n    cropper1: ImageCropperComponent;\r\n\r\n    @ViewChild('image_crop_modal2')\r\n    image_crop_modal2: ModalComponent;\r\n    @ViewChild('cropper2', undefined)\r\n    cropper2: ImageCropperComponent;\r\n\r\n    @ViewChild('image_crop_modal3')\r\n    image_crop_modal3: ModalComponent;\r\n    @ViewChild('cropper3', undefined)\r\n    cropper3: ImageCropperComponent;\r\n    \r\n    @ViewChild('map_pin_image_crop_modal')\r\n    map_pin_image_crop_modal: ModalComponent;\r\n    @ViewChild('cropper_map_pin', undefined)\r\n    cropper_map_pin: ImageCropperComponent;\r\n    \r\n    @ViewChild('icon_image_crop_modal')\r\n    icon_image_crop_modal: ModalComponent;\r\n    @ViewChild('cropper_icon', undefined)\r\n    cropper_icon: ImageCropperComponent;\r\n\r\n    private add_delivery: AddDelivery;\r\n    public image_setting: imageSetting;\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    validation_message: any;\r\n    delivery_type_list: any[];\r\n    delivery_id: Object;\r\n    delivery_exist: any;\r\n    delivery_list: any[];\r\n    products_tags_array: any[] = [];\r\n    products_tags_arrays: any[] = [];\r\n\r\n    deleted_product_tag_array: any[] = [];\r\n    store_list: any[] = [];\r\n    added_store_ids: any[] = [];\r\n    removed_store_ids: any[] = [];\r\n    all_selected: boolean = false;\r\n\r\n\r\n    error: any;\r\n    type: String;\r\n    myLoading: boolean = false;\r\n    image_error: string = '';\r\n    image_error1: string = '';\r\n    image_error2: string = '';\r\n    image_error3: string = '';\r\n    icon_image_error: string = '';\r\n    map_pin_image_error: string = '';\r\n\r\n    image_note: string = '';\r\n    image_note_ratio: string = '';\r\n\r\n    map_pin_note: string = '';\r\n    map_pin_note_ratio: string = '';\r\n\r\n    icon_note: string = '';\r\n    icon_note_ratio: string = '';\r\n\r\n    add_tag: boolean = false;\r\n    tags_array: any[];\r\n    product_tag: boolean = false;\r\n\r\n    data: any;\r\n    map_pin_data: any;\r\n    icon_data:any;\r\n    cropperSettings: CropperSettings;\r\n    cropperSettings1: CropperSettings;\r\n    cropperSettings2: CropperSettings;\r\n    cropperSettings3: CropperSettings;\r\n    cropperMapPinSettings: CropperSettings;\r\n    cropperIconSettings: CropperSettings;\r\n\r\n\r\n    constructor(public helper: Helper, vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n\r\n        this.cropperSettings = new CropperSettings();\r\n        this.cropperSettings.canvasWidth = 400;\r\n        this.cropperSettings.canvasHeight = 400;\r\n        this.cropperSettings.noFileInput = true;\r\n        this.cropperSettings.preserveSize = true;\r\n        this.cropperSettings.height = 200;\r\n        this.cropperSettings.width = this.cropperSettings.height * this.helper.image_ratio.DELIVERY_IMAGE;\r\n\r\n        this.cropperSettings1 = new CropperSettings();\r\n        this.cropperSettings1.canvasWidth = 400;\r\n        this.cropperSettings1.canvasHeight = 400;\r\n        this.cropperSettings1.noFileInput = true;\r\n        this.cropperSettings1.preserveSize = true;\r\n        this.cropperSettings1.height = 200;\r\n        this.cropperSettings1.width = this.cropperSettings1.height;\r\n\r\n        this.cropperSettings2 = new CropperSettings();\r\n        this.cropperSettings2.canvasWidth = 400;\r\n        this.cropperSettings2.canvasHeight = 400;\r\n        this.cropperSettings2.noFileInput = true;\r\n        this.cropperSettings2.preserveSize = true;\r\n        this.cropperSettings2.height = 200;\r\n        this.cropperSettings2.width = this.cropperSettings2.height * 0.5;\r\n\r\n        this.cropperSettings3 = new CropperSettings();\r\n        this.cropperSettings3.canvasWidth = 400;\r\n        this.cropperSettings3.canvasHeight = 400;\r\n        this.cropperSettings3.noFileInput = true;\r\n        this.cropperSettings3.preserveSize = true;\r\n        this.cropperSettings3.height = 200;\r\n        this.cropperSettings3.width = this.cropperSettings3.height;\r\n\r\n        this.cropperMapPinSettings = new CropperSettings();\r\n        this.cropperMapPinSettings.canvasWidth = 400;\r\n        this.cropperMapPinSettings.canvasHeight = 400;\r\n        this.cropperMapPinSettings.noFileInput = true;\r\n        this.cropperMapPinSettings.preserveSize = true;\r\n        this.cropperMapPinSettings.height = 200;\r\n        this.cropperMapPinSettings.width = this.cropperMapPinSettings.height * this.helper.image_ratio.DELIVER_MAP_PIN;\r\n\r\n        this.cropperIconSettings = new CropperSettings();\r\n        this.cropperIconSettings.canvasWidth = 400;\r\n        this.cropperIconSettings.canvasHeight = 400;\r\n        this.cropperIconSettings.noFileInput = true;\r\n        this.cropperIconSettings.preserveSize = true;\r\n        this.cropperIconSettings.height = 200;\r\n        this.cropperIconSettings.width = this.cropperIconSettings.height * this.helper.image_ratio.DELIVERY_ICON;\r\n\r\n\r\n        this.data = {};\r\n        this.map_pin_data = {};\r\n        this.icon_data = {};\r\n    }\r\n    ngAfterViewInit() {\r\n        jQuery(\"#delivery_type_id\").chosen({disable_search: true});\r\n        jQuery(\"input[name='sequence_number']\").TouchSpin({\r\n            min: 0,\r\n            max: 100,\r\n            step: 1,\r\n            initval: 0,\r\n            boostat: 5,\r\n            forcestepdivisibility: 'none'\r\n        });\r\n    }\r\n    ngOnDestroy() {\r\n        this.helper.router_id.admin.delivery_id = \"\";\r\n    }\r\n    ngOnInit() {\r\n\r\n        this.add_delivery = {\r\n\r\n            delivery_name: \"\",\r\n            description: \"\",\r\n            image_url: \"./plus_box.png\",\r\n            image_url1: './plus_box.png',\r\n            image_url2: './plus_box.png',\r\n            image_url3: './plus_box.png',\r\n            icon_url: \"./plus_box.png\",\r\n            map_pin_url: \"./plus_box.png\",\r\n            delivery_type_id: \"\",\r\n            is_business: false,\r\n            sequence_number: 1,\r\n            famous_products_tags: []\r\n\r\n        }\r\n\r\n        this.image_setting = {\r\n            image_ratio: 1,\r\n            image_min_width: 100,\r\n            image_max_width: 100,\r\n            image_min_height: 100,\r\n            image_max_height: 100,\r\n            image_ratio1: 1,\r\n            image_min_width1: 100,\r\n            image_max_width1: 100,\r\n            image_min_height1: 100,\r\n            image_max_height1: 100,\r\n            image_ratio2: 1,\r\n            image_min_width2: 100,\r\n            image_max_width2: 100,\r\n            image_min_height2: 100,\r\n            image_max_height2: 100,\r\n            image_type: [],\r\n            map_pin_image_type: [],\r\n            icon_image_type: [],\r\n            map_pin_image_ratio: 1,\r\n            map_pin_image_min_width: 100,\r\n            map_pin_image_max_width: 100,\r\n            map_pin_image_min_height: 100,\r\n            map_pin_image_max_height: 100,\r\n            icon_image_ratio: 1,\r\n            icon_minimum_size: 100,\r\n            icon_maximum_size: 100,\r\n            image_ratio3: 1,\r\n            image_min_width3: 100,\r\n            image_max_width3: 100,\r\n            image_min_height3: 100,\r\n            image_max_height3: 100,\r\n\r\n        }\r\n\r\n        this.delivery_id = this.helper.router_id.admin.delivery_id;\r\n\r\n        setTimeout(() => {\r\n            jQuery(this.helper.elementRef.nativeElement).find('.bootstrap-touchspin-down').on('click', (evnt, res_data) => {\r\n                if (this.add_delivery.sequence_number > 0) {\r\n                    this.add_delivery.sequence_number--;\r\n                }\r\n            });\r\n            jQuery(this.helper.elementRef.nativeElement).find('.bootstrap-touchspin-up').on('click', (evnt, res_data) => {\r\n                this.add_delivery.sequence_number++;\r\n\r\n            });\r\n        }, 1000);\r\n\r\n\r\n        this.helper.http.post('/api/admin/get_image_setting', {\r\n        }).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n            this.image_setting.image_ratio = res_data.image_setting.delivery_image_ratio;\r\n            this.image_setting.image_min_width = res_data.image_setting.delivery_image_min_width;\r\n            this.image_setting.image_max_width = res_data.image_setting.delivery_image_max_width;\r\n            this.image_setting.image_min_height = res_data.image_setting.delivery_image_min_height;\r\n            this.image_setting.image_max_height = res_data.image_setting.delivery_image_max_height;\r\n\r\n                this.image_setting.image_ratio1 = res_data.image_setting.delivery_image_ratio1;\r\n                this.image_setting.image_min_width1 = res_data.image_setting.delivery_image_min_width1;\r\n                this.image_setting.image_max_width1 = res_data.image_setting.delivery_image_max_width1;\r\n                this.image_setting.image_min_height1 = res_data.image_setting.delivery_image_min_height1;\r\n                this.image_setting.image_max_height1 = res_data.image_setting.delivery_image_max_height1;\r\n\r\n                this.image_setting.image_ratio2 = res_data.image_setting.delivery_image_ratio2;\r\n                this.image_setting.image_min_width2 = res_data.image_setting.delivery_image_min_width2;\r\n                this.image_setting.image_max_width2 = res_data.image_setting.delivery_image_max_width2;\r\n                this.image_setting.image_min_height2 = res_data.image_setting.delivery_image_min_height2;\r\n                this.image_setting.image_max_height2 = res_data.image_setting.delivery_image_max_height2;\r\n\r\n                this.image_setting.image_ratio3 = res_data.image_setting.delivery_image_ratio3;\r\n                this.image_setting.image_min_width3 = res_data.image_setting.delivery_image_min_width3;\r\n                this.image_setting.image_max_width3 = res_data.image_setting.delivery_image_max_width3;\r\n                this.image_setting.image_min_height3 = res_data.image_setting.delivery_image_min_height3;\r\n                this.image_setting.image_max_height3 = res_data.image_setting.delivery_image_max_height3;\r\n\r\n\r\n            this.image_setting.map_pin_image_ratio = res_data.image_setting.delivery_map_pin_ratio;\r\n            this.image_setting.map_pin_image_min_width = res_data.image_setting.delivery_map_pin_min_width;\r\n            this.image_setting.map_pin_image_max_width = res_data.image_setting.delivery_map_pin_max_width;\r\n            this.image_setting.map_pin_image_min_height = res_data.image_setting.delivery_map_pin_min_height;\r\n            this.image_setting.map_pin_image_max_height = res_data.image_setting.delivery_map_pin_max_height;\r\n\r\n            this.image_setting.icon_image_ratio = res_data.image_setting.delivery_icon_ratio;\r\n            this.image_setting.icon_minimum_size = res_data.image_setting.delivery_icon_minimum_size;\r\n            this.image_setting.icon_maximum_size = res_data.image_setting.delivery_icon_maximum_size;\r\n\r\n            this.image_setting.image_type = res_data.image_setting.image_type;\r\n            this.image_setting.icon_image_type = res_data.image_setting.icon_image_type;\r\n            this.image_setting.map_pin_image_type = res_data.image_setting.map_pin_image_type;\r\n\r\n\r\n\r\n            setTimeout(() => {\r\n                this.cropperSettings.width = this.cropperSettings.height * res_data.image_setting.delivery_image_ratio;\r\n                this.cropperSettings1.width = this.cropperSettings1.height * res_data.image_setting.delivery_image_ratio1;\r\n                this.cropperSettings2.width = this.cropperSettings2.height * res_data.image_setting.delivery_image_ratio2;\r\n                this.cropperSettings3.width = this.cropperSettings3.height * res_data.image_setting.delivery_image_ratio3;\r\n                this.cropperMapPinSettings.width = this.cropperMapPinSettings.height * res_data.image_setting.delivery_map_pin_ratio;\r\n                this.cropperIconSettings.width = this.cropperIconSettings.height * res_data.image_setting.delivery_icon_ratio;\r\n            }, 1000);\r\n\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n\r\n        if (this.delivery_id == '') {\r\n            this.type = \"add\";\r\n            this.helper.http.get('/admin/delivery_list').map((res: Response) => res.json()).subscribe(res => this.delivery_list = res, error => this.error = error);\r\n\r\n            this.delivery_exist = \"\"\r\n        }\r\n        else {\r\n            jQuery('#add').hide();\r\n            this.type = \"edit\";\r\n            this.helper.http.post('/admin/get_delivery_detail', {delivery_id: this.delivery_id}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n                if (res_data.success == false) {\r\n                    this.helper.router.navigate(['admin/delivery']);\r\n                }\r\n                else {\r\n\r\n                    this.add_delivery.delivery_name = res_data.delivery.delivery_name;\r\n                    this.add_delivery.description = res_data.delivery.description;\r\n                    this.add_delivery.is_business = res_data.delivery.is_business;\r\n                    this.add_delivery.delivery_type_id = res_data.delivery.delivery_type_id;\r\n                    this.add_delivery.icon_url = res_data.delivery.icon_url;\r\n                    this.add_delivery.image_url = this.helper.CONSTANT.IMAGE_BASE_URL + res_data.delivery.image_url;\r\n                    this.add_delivery.image_url1 = this.helper.CONSTANT.IMAGE_BASE_URL + res_data.delivery.image_url1;\r\n                    this.add_delivery.image_url2 = this.helper.CONSTANT.IMAGE_BASE_URL + res_data.delivery.image_url2;\r\n                    this.add_delivery.image_url3 = this.helper.CONSTANT.IMAGE_BASE_URL + res_data.delivery.image_url3;\r\n                    this.add_delivery.map_pin_url = this.helper.CONSTANT.IMAGE_BASE_URL + res_data.delivery.map_pin_url;\r\n                    this.add_delivery.sequence_number = res_data.delivery.sequence_number;\r\n                    this.add_delivery.famous_products_tags = res_data.delivery.famous_products_tags;\r\n\r\n                    this.store_list = res_data.store_list || [];\r\n\r\n                    this.store_list.forEach((store)=>{\r\n                        var index = store.store_delivery_ids.findIndex((x)=>(x).toString()==this.delivery_id.toString());\r\n                        if(index !== -1){\r\n                            setTimeout(() => {\r\n                                jQuery('#icheck' + store._id).iCheck('check');\r\n                            }, 1000);\r\n                            store.is_selected = true;\r\n                        } else {\r\n                            store.is_selected = false;\r\n                        }\r\n                    });\r\n\r\n                    setTimeout(() => {\r\n                        jQuery('.icheck_store').iCheck({\r\n                            handle: 'checkbox',\r\n                            checkboxClass: 'icheckbox_square-green',\r\n                        });\r\n\r\n                        jQuery(this.helper.elementRef.nativeElement).find('.icheck_store').on('ifChecked', (event, res_data) => {\r\n                            var id = event.target.getAttribute('value');\r\n                            var index = this.removed_store_ids.findIndex((x)=>x.toString()==id.toString());\r\n                            if(index==-1){\r\n                                this.added_store_ids.push(id);\r\n                            } else {\r\n                                this.removed_store_ids.splice(index, 1);\r\n                            }\r\n                        });\r\n\r\n                        jQuery(this.helper.elementRef.nativeElement).find('.icheck_store').on('ifUnchecked', (event, res_data) => {\r\n                            var id = event.target.getAttribute('value');\r\n                            var index = this.added_store_ids.findIndex((x)=>x.toString()==id.toString());\r\n                            if(index==-1){\r\n                                this.removed_store_ids.push(id);\r\n                            } else {\r\n                                this.added_store_ids.splice(index, 1);\r\n                            }\r\n                        });\r\n\r\n                        jQuery('.icheck_all').iCheck({\r\n                            handle: 'checkbox',\r\n                            checkboxClass: 'icheckbox_square-green',\r\n                        });\r\n\r\n                        jQuery(this.helper.elementRef.nativeElement).find('.icheck_all').on('ifChecked', (event, res_data) => {\r\n                            this.store_list.forEach((store)=>{\r\n                                // if(!store.is_selected){\r\n                                //     this.added_store_ids.push(store._id);\r\n                                // }\r\n                                jQuery('.icheck_store').iCheck('check');\r\n                            })\r\n                        });\r\n\r\n                        jQuery(this.helper.elementRef.nativeElement).find('.icheck_all').on('ifUnchecked', (event, res_data) => {\r\n                            this.store_list.forEach((store)=>{\r\n                                // if(store.is_selected){\r\n                                //     this.removed_store_ids.push(store._id);\r\n                                // }\r\n                                jQuery('.icheck_store').iCheck('uncheck');\r\n                            })\r\n                        });\r\n                    }, 1000);\r\n\r\n                }\r\n            });\r\n        }\r\n\r\n\r\n\r\n        this.helper.http.get('/admin/get_delivery_type').map((res: Response) => res.json()).subscribe(res => {\r\n\r\n\r\n            this.delivery_type_list = res.delivery_type;\r\n            setTimeout(function () {\r\n                jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n            }, 1000);\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#delivery_type_id').on('change', (evnt, res_data) => {\r\n\r\n            this.add_delivery.delivery_type_id = res_data.selected;\r\n\r\n\r\n        });\r\n\r\n        this.tags_array = [];\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.validation_message = this.helper.validation_message;\r\n\r\n    }\r\n\r\n    updateTag() {\r\n        this.products_tags_arrays.forEach((tag) => {\r\n\r\n            if (tag != \"\") {\r\n                this.add_delivery.famous_products_tags.push(tag);\r\n            }\r\n        });\r\n\r\n\r\n\r\n        this.add_tag = false;\r\n        this.products_tags_array = [];\r\n        this.products_tags_arrays = [];\r\n    }\r\n\r\n    append_tag() {\r\n\r\n        this.products_tags_array.push(\"\");\r\n        this.products_tags_arrays.push(\"\");\r\n    }\r\n\r\n    deleteTag(tag_index, Bool) {\r\n        if (Bool) {\r\n            this.products_tags_array.splice(tag_index, 1);\r\n            this.products_tags_arrays.splice(tag_index, 1);\r\n        } else {\r\n            this.deleted_product_tag_array.push(this.add_delivery.famous_products_tags[tag_index]);\r\n            this.add_delivery.famous_products_tags.splice(tag_index, 1);\r\n        }\r\n    }\r\n\r\n    public formData = new FormData();\r\n\r\n    image_update($event) {\r\n        this.image_error = \"\";\r\n        this.image_error1 = \"\";\r\n        this.image_error2 = \"\";\r\n\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const image_url = files[0];\r\n        var index = this.image_setting.image_type.indexOf(image_url.type);\r\n        if (index !== -1) {\r\n            var reader = new FileReader();\r\n            reader.onload = (e: any) => {\r\n                var new_image = new Image();\r\n                new_image.src = e.target.result;\r\n                this.cropper.setImage(new_image);\r\n                new_image.onload = () => {\r\n\r\n                    if (new_image.width >= this.image_setting.image_min_width && new_image.width <= this.image_setting.image_max_width &&\r\n                        new_image.height >= this.image_setting.image_min_height && new_image.height <= this.image_setting.image_max_height) {\r\n\r\n                        if (new_image.width == (new_image.height * this.image_setting.image_ratio)) {\r\n                            this.add_delivery.image_url = e.target.result;\r\n                            this.formData.append('image_url', image_url)\r\n                        } else {\r\n                            this.image_crop_modal.open();\r\n                            this.image_error = this.title.delivery_image_ratio_error;\r\n                        }\r\n                    } else {\r\n                        this.image_error = this.title.delivery_image_size_error;\r\n                        this.image_crop_modal.open();\r\n                    }\r\n                }\r\n            }\r\n            reader.readAsDataURL(image_url);\r\n        } else {\r\n            jQuery('#remove').click();\r\n            this.image_error = this.title.delivery_image_extension_error;\r\n        }\r\n    }\r\n\r\n    crop($event) {\r\n        this.image_error = '';\r\n        function dataURLtoFile(dataurl, filename) {\r\n            var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],\r\n                bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);\r\n            while (n--) {\r\n                u8arr[n] = bstr.charCodeAt(n);\r\n            }\r\n            return new File([u8arr], filename, {type: mime});\r\n        }\r\n        let image_type = this.image_setting.image_type\r\n        image_type = image_type[0].split('/')\r\n        var image_url = dataURLtoFile(this.cropper.image.image, 'image.' + image_type[0]);\r\n\r\n        var reader = new FileReader();\r\n        reader.onload = (e: any) => {\r\n            var new_image = new Image();\r\n            new_image.src = e.target.result;\r\n\r\n            new_image.onload = () => {\r\n\r\n                if (new_image.width >= this.image_setting.image_min_width && new_image.width <= this.image_setting.image_max_width &&\r\n                    new_image.height >= this.image_setting.image_min_height && new_image.height <= this.image_setting.image_max_height) {\r\n\r\n                    this.add_delivery.image_url = e.target.result;\r\n                    this.formData.append('image_url', image_url)\r\n                    this.image_crop_modal.close();\r\n\r\n                } else {\r\n                    this.image_error = this.title.delivery_image_size_error;\r\n                }\r\n\r\n            }\r\n        }\r\n        reader.readAsDataURL(image_url);\r\n\r\n    }\r\n\r\n    image_update1($event) {\r\n        this.image_error1 = \"\";\r\n\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const image_url = files[0];\r\n        var index = this.image_setting.image_type.indexOf(image_url.type);\r\n        if (index !== -1) {\r\n            var reader = new FileReader();\r\n            reader.onload = (e: any) => {\r\n                var new_image = new Image();\r\n                new_image.src = e.target.result;\r\n                this.cropper1.setImage(new_image);\r\n                new_image.onload = () => {\r\n\r\n                    if (new_image.width >= this.image_setting.image_min_width1 && new_image.width <= this.image_setting.image_max_width1 &&\r\n                        new_image.height >= this.image_setting.image_min_height1 && new_image.height <= this.image_setting.image_max_height1) {\r\n\r\n                        if (new_image.width == (new_image.height * this.image_setting.image_ratio1)) {\r\n                            this.add_delivery.image_url1 = e.target.result;\r\n                            this.formData.append('image_url1', image_url)\r\n                        } else {\r\n                            this.image_crop_modal1.open();\r\n                            this.image_error1 = this.title.delivery_image_ratio_error;\r\n                        }\r\n                    } else {\r\n                        this.image_error1 = this.title.delivery_image_size_error;\r\n                        this.image_crop_modal1.open();\r\n                    }\r\n                }\r\n            }\r\n            reader.readAsDataURL(image_url);\r\n        } else {\r\n            jQuery('#remove').click();\r\n            this.image_error1 = this.title.delivery_image_extension_error;\r\n        }\r\n    }\r\n\r\n    crop1($event) {\r\n        this.image_error1 = '';\r\n        function dataURLtoFile(dataurl, filename) {\r\n            var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],\r\n                bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);\r\n            while (n--) {\r\n                u8arr[n] = bstr.charCodeAt(n);\r\n            }\r\n            return new File([u8arr], filename, {type: mime});\r\n        }\r\n        let image_type = this.image_setting.image_type\r\n        image_type = image_type[0].split('/')\r\n        var image_url = dataURLtoFile(this.cropper1.image.image, 'image.' + image_type[0]);\r\n\r\n        var reader = new FileReader();\r\n        reader.onload = (e: any) => {\r\n            var new_image = new Image();\r\n            new_image.src = e.target.result;\r\n\r\n            new_image.onload = () => {\r\n\r\n                if (new_image.width >= this.image_setting.image_min_width1 && new_image.width <= this.image_setting.image_max_width1 &&\r\n                    new_image.height >= this.image_setting.image_min_height1 && new_image.height <= this.image_setting.image_max_height1) {\r\n\r\n                    this.add_delivery.image_url1 = e.target.result;\r\n                    this.formData.append('image_url1', image_url)\r\n                    this.image_crop_modal1.close();\r\n\r\n                } else {\r\n                    this.image_error1 = this.title.delivery_image_size_error;\r\n                }\r\n\r\n            }\r\n        }\r\n        reader.readAsDataURL(image_url);\r\n\r\n    }\r\n\r\n    image_update3($event) {\r\n        this.image_error3 = \"\";\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const image_url = files[0];\r\n            var reader = new FileReader();\r\n            reader.onload = (e: any) => {\r\n                var new_image = new Image();\r\n                new_image.src = e.target.result;\r\n                \r\n                new_image.onload = () => {\r\n\r\n                    \r\n                            this.add_delivery.image_url3 = e.target.result;\r\n                            this.formData.append('image_url3', image_url)\r\n                        \r\n                }\r\n            }\r\n            reader.readAsDataURL(image_url);\r\n        \r\n    }\r\n\r\n    crop3($event) {\r\n        this.image_error3 = '';\r\n        function dataURLtoFile(dataurl, filename) {\r\n            var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],\r\n                bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);\r\n            while (n--) {\r\n                u8arr[n] = bstr.charCodeAt(n);\r\n            }\r\n            return new File([u8arr], filename, {type: mime});\r\n        }\r\n        let image_type = this.image_setting.image_type\r\n        image_type = image_type[0].split('/')\r\n        var image_url = dataURLtoFile(this.cropper3.image.image, 'image.' + image_type[0]);\r\n\r\n        var reader = new FileReader();\r\n        reader.onload = (e: any) => {\r\n            var new_image = new Image();\r\n            new_image.src = e.target.result;\r\n\r\n            new_image.onload = () => {\r\n\r\n                if (new_image.width >= this.image_setting.image_min_width3 && new_image.width <= this.image_setting.image_max_width3 &&\r\n                    new_image.height >= this.image_setting.image_min_height3 && new_image.height <= this.image_setting.image_max_height3) {\r\n\r\n                    this.add_delivery.image_url3 = e.target.result;\r\n                    this.formData.append('image_url3', image_url)\r\n                    this.image_crop_modal3.close();\r\n\r\n                } else {\r\n                    this.image_error3 = this.title.delivery_image_size_error;\r\n                }\r\n\r\n            }\r\n        }\r\n        reader.readAsDataURL(image_url);\r\n\r\n    }\r\n\r\n    image_update2($event) {\r\n        this.image_error2 = \"\";\r\n\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const image_url = files[0];\r\n        var index = this.image_setting.image_type.indexOf(image_url.type);\r\n        if (index !== -1) {\r\n            var reader = new FileReader();\r\n            reader.onload = (e: any) => {\r\n                var new_image = new Image();\r\n                new_image.src = e.target.result;\r\n                this.cropper2.setImage(new_image);\r\n                new_image.onload = () => {\r\n\r\n                    if (new_image.width >= this.image_setting.image_min_width2 && new_image.width <= this.image_setting.image_max_width2 &&\r\n                        new_image.height >= this.image_setting.image_min_height2 && new_image.height <= this.image_setting.image_max_height2) {\r\n\r\n                        if (new_image.width == (new_image.height * this.image_setting.image_ratio2)) {\r\n                            this.add_delivery.image_url2 = e.target.result;\r\n                            this.formData.append('image_url2', image_url)\r\n                        } else {\r\n                            this.image_crop_modal2.open();\r\n                            this.image_error2 = this.title.delivery_image_ratio_error;\r\n                        }\r\n                    } else {\r\n                        this.image_error2 = this.title.delivery_image_size_error;\r\n                        this.image_crop_modal2.open();\r\n                    }\r\n                }\r\n            }\r\n            reader.readAsDataURL(image_url);\r\n        } else {\r\n            jQuery('#remove').click();\r\n            this.image_error2 = this.title.delivery_image_extension_error;\r\n        }\r\n    }\r\n\r\n    crop2($event) {\r\n        this.image_error2 = '';\r\n        function dataURLtoFile(dataurl, filename) {\r\n            var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],\r\n                bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);\r\n            while (n--) {\r\n                u8arr[n] = bstr.charCodeAt(n);\r\n            }\r\n            return new File([u8arr], filename, {type: mime});\r\n        }\r\n        let image_type = this.image_setting.image_type\r\n        image_type = image_type[0].split('/')\r\n        var image_url = dataURLtoFile(this.cropper2.image.image, 'image.' + image_type[0]);\r\n\r\n        var reader = new FileReader();\r\n        reader.onload = (e: any) => {\r\n            var new_image = new Image();\r\n            new_image.src = e.target.result;\r\n\r\n            new_image.onload = () => {\r\n\r\n                if (new_image.width >= this.image_setting.image_min_width2 && new_image.width <= this.image_setting.image_max_width2 &&\r\n                    new_image.height >= this.image_setting.image_min_height2 && new_image.height <= this.image_setting.image_max_height2) {\r\n\r\n                    this.add_delivery.image_url2 = e.target.result;\r\n                    this.formData.append('image_url2', image_url)\r\n                    this.image_crop_modal2.close();\r\n\r\n                } else {\r\n                    this.image_error2 = this.title.delivery_image_size_error;\r\n                }\r\n\r\n            }\r\n        }\r\n        reader.readAsDataURL(image_url);\r\n\r\n    }\r\n\r\n\r\n\r\n\r\n\r\n    map_pin_url_update($event) {\r\n        this.map_pin_image_error = \"\";\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const map_pin_url = files[0];\r\n        var index = this.image_setting.map_pin_image_type.indexOf(map_pin_url.type);\r\n        if (index !== -1) {\r\n            var reader = new FileReader();\r\n            reader.onload = (e: any) => {\r\n                var new_image = new Image();\r\n                new_image.src = e.target.result;\r\n                this.cropper_map_pin.setImage(new_image);\r\n                new_image.onload = () => {\r\n                    if (new_image.width >= this.image_setting.map_pin_image_min_width && new_image.width <= this.image_setting.map_pin_image_max_width &&\r\n                        new_image.height >= this.image_setting.map_pin_image_min_height && new_image.height <= this.image_setting.map_pin_image_max_height) {\r\n\r\n                        if (new_image.width == (new_image.height * this.image_setting.map_pin_image_ratio)) {\r\n                            this.formData.append('map_pin_url', map_pin_url);\r\n                            this.add_delivery.map_pin_url = e.target.result;\r\n                        } else {\r\n                            this.map_pin_image_crop_modal.open();\r\n                            this.map_pin_image_error = this.title.delivery_image_ratio_error;\r\n                        }\r\n                    } else {\r\n                        this.map_pin_image_error = this.title.delivery_image_size_error;\r\n                        this.map_pin_image_crop_modal.open();\r\n                    }\r\n                }\r\n            }\r\n            reader.readAsDataURL(map_pin_url);\r\n        } else {\r\n            jQuery('#remove').click();\r\n            this.map_pin_image_error = this.title.delivery_image_extension_error;\r\n        }\r\n    }\r\n    \r\n    \r\n    cropDeliveryMapPin($event) {\r\n        this.map_pin_image_error = '';\r\n        function dataURLtoFile(dataurl, filename) {\r\n            var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],\r\n                bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);\r\n            while (n--) {\r\n                u8arr[n] = bstr.charCodeAt(n);\r\n            }\r\n            return new File([u8arr], filename, {type: mime});\r\n        }\r\n        let map_pin_image_type = this.image_setting.map_pin_image_type\r\n        map_pin_image_type = map_pin_image_type[0].split('/')\r\n        var map_pin_url = dataURLtoFile(this.cropper_map_pin.image.image, 'image.' + map_pin_image_type[0]);\r\n\r\n        var reader = new FileReader();\r\n        reader.onload = (e: any) => {\r\n            var new_image = new Image();\r\n            new_image.src = e.target.result;\r\n            // this.cropper.setImage(new_image);\r\n            new_image.onload = () => {\r\n               if (new_image.width >= this.image_setting.map_pin_image_min_width && new_image.width <= this.image_setting.map_pin_image_max_width &&\r\n                        new_image.height >= this.image_setting.map_pin_image_min_height && new_image.height <= this.image_setting.map_pin_image_max_height) {\r\n\r\n                    this.add_delivery.map_pin_url = e.target.result;\r\n                    this.formData.append('map_pin_url', map_pin_url)\r\n                    this.map_pin_image_crop_modal.close();\r\n\r\n                } else {\r\n                    this.map_pin_image_error = this.title.delivery_image_size_error;\r\n                }\r\n\r\n            }\r\n        }\r\n        reader.readAsDataURL(map_pin_url);\r\n\r\n    }\r\n\r\n\r\n\r\n\r\n\r\n    icon_url_update($event) {\r\n        this.icon_image_error = \"\";\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const icon_url = files[0];\r\n        var index = this.image_setting.icon_image_type.indexOf(icon_url.type);\r\n        if (index !== -1) {\r\n            var reader = new FileReader();\r\n            reader.onload = (e: any) => {\r\n                var new_image = new Image();\r\n                new_image.src = e.target.result;\r\n                this.cropper_icon.setImage(new_image);\r\n                new_image.onload = () => {\r\n                    if (new_image.width >= this.image_setting.icon_minimum_size && new_image.width <= this.image_setting.icon_maximum_size &&\r\n                        new_image.height >= this.image_setting.icon_minimum_size && new_image.height <= this.image_setting.icon_maximum_size) {\r\n\r\n                        if (new_image.width == (new_image.height * this.image_setting.icon_image_ratio)) {\r\n                            this.formData.append('icon_url', icon_url);\r\n                            this.add_delivery.icon_url = e.target.result;\r\n                        } else {\r\n                            this.icon_image_crop_modal.open();\r\n                            this.icon_image_error = this.title.delivery_image_ratio_error;\r\n                        }\r\n                    } else {\r\n                        this.icon_image_error = this.title.delivery_image_size_error;\r\n                        this.icon_image_crop_modal.open();\r\n                    }\r\n                }\r\n            }\r\n            reader.readAsDataURL(icon_url);\r\n        } else {\r\n            jQuery('#remove').click();\r\n            this.icon_image_error = this.title.delivery_image_extension_error;\r\n        }\r\n    }\r\n    \r\n    \r\n    \r\n    cropIcon($event) {\r\n        this.icon_image_error = '';\r\n        function dataURLtoFile(dataurl, filename) {\r\n            var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],\r\n                bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);\r\n            while (n--) {\r\n                u8arr[n] = bstr.charCodeAt(n);\r\n            }\r\n            return new File([u8arr], filename, {type: mime});\r\n        }\r\n        let icon_image_type = this.image_setting.icon_image_type\r\n        icon_image_type = icon_image_type[0].split('/')\r\n        var icon_url = dataURLtoFile(this.cropper_icon.image.image, 'image.' + icon_image_type[0]);\r\n\r\n        var reader = new FileReader();\r\n        reader.onload = (e: any) => {\r\n            var new_image = new Image();\r\n            new_image.src = e.target.result;\r\n\r\n            new_image.onload = () => {\r\n               if (new_image.width >= this.image_setting.icon_minimum_size && new_image.width <= this.image_setting.icon_maximum_size &&\r\n                        new_image.height >= this.image_setting.icon_minimum_size && new_image.height <= this.image_setting.icon_maximum_size) {\r\n\r\n                    this.add_delivery.icon_url = e.target.result;\r\n                    this.formData.append('icon_url', icon_url)\r\n                    this.icon_image_crop_modal.close();\r\n\r\n                } else {\r\n                    this.icon_image_error = this.title.delivery_image_size_error;\r\n                }\r\n            }\r\n        }\r\n        reader.readAsDataURL(icon_url);\r\n    }\r\n\r\n\r\n\r\n\r\n\r\n    addDelivery(delivery_data) {\r\n        if (this.type == \"add\") {\r\n\r\n            this.myLoading = true;\r\n            this.formData.append(\"delivery_name\", delivery_data.delivery_name);\r\n            this.formData.append(\"description\", delivery_data.description);\r\n            this.formData.append(\"delivery_type_id\", delivery_data.delivery_type_id);\r\n            this.formData.append(\"is_business\", delivery_data.is_business);\r\n            this.formData.append(\"sequence_number\", delivery_data.sequence_number);\r\n            this.formData.append(\"famous_products_tags\", this.add_delivery.famous_products_tags);\r\n\r\n\r\n\r\n            this.helper.http.post('/admin/add_delivery_data', this.formData).map((res: Response) => res.json()).subscribe(res_data => {\r\n                this.myLoading = false;\r\n                if (res_data.success == true) {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n                    this.helper.router.navigate(['admin/delivery']);\r\n                } else {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.router.navigate(['admin/delivery']);\r\n\r\n                }\r\n\r\n            },\r\n                (error: any) => {\r\n                    this.myLoading = false;\r\n                    this.helper.http_status(error)\r\n                });\r\n        }\r\n        else {\r\n\r\n            this.updateDelivery(delivery_data)\r\n        }\r\n    }\r\n\r\n\r\n\r\n    updateDelivery(delivery_data) {\r\n        this.myLoading = true;\r\n        console.log(delivery_data)\r\n        this.formData.append(\"delivery_name\", delivery_data.delivery_name);\r\n        this.formData.append(\"description\", delivery_data.description);\r\n        this.formData.append(\"is_business\", delivery_data.is_business);\r\n        this.formData.append(\"delivery_type_id\", delivery_data.delivery_type_id);\r\n        this.formData.append(\"famous_products_tags\", this.add_delivery.famous_products_tags);\r\n        this.formData.append(\"deleted_product_tag_array\", this.deleted_product_tag_array);\r\n        this.formData.append(\"added_store_ids\", this.added_store_ids);\r\n        this.formData.append(\"removed_store_ids\", this.removed_store_ids);\r\n\r\n\r\n        this.formData.append(\"delivery_id\", delivery_data.delivery_id);\r\n        this.formData.append(\"sequence_number\", delivery_data.sequence_number);\r\n\r\n        this.helper.http.post('/admin/update_delivery', this.formData).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == true) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.helper.router.navigate(['admin/delivery']);\r\n            }\r\n            else {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.router.navigate(['admin/delivery']);\r\n\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/add_delivery/add_delivery.component.ts","import {Component, OnInit, ViewContainerRef} from '@angular/core';\r\nimport {Response} from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport {Helper} from \"../../helper\";\r\ndeclare var jQuery: any;\r\n\r\n\r\n\r\nexport interface AddDetail {\r\n\r\n    country_id: Object,\r\n    city_id: Object,\r\n    store_delivery_id: Object,\r\n    type: number\r\n\r\n}\r\n\r\nexport interface AddStoreData {\r\n    present_store_id: Object,\r\n    new_store_id: Object,\r\n    api: number\r\n}\r\n\r\nexport interface AddProVehicleData {\r\n    provider_id: Object\r\n\r\n}\r\n\r\n\r\n@Component({\r\n    selector: 'app-add_detail',\r\n    template: require('./add_detail.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class AddDetailComponent implements OnInit {\r\n    private add_detail: AddDetail;\r\n    private add_store_data: AddStoreData;\r\n    private add_provider_vehicle_data: AddProVehicleData;\r\n\r\n\r\n    title: any;\r\n    button: any;\r\n    heading_title: any\r\n    validation_message: any;\r\n    country_list: any[];\r\n    provider_list: any[];\r\n    city_list: any[];\r\n    delivery_list: any[];\r\n    provider: any;\r\n    store: any;\r\n    user: any;\r\n    user_email: String = \"\";\r\n    provider_email: String = \"\";\r\n    store_email: String = \"\";\r\n    store_list: any[];\r\n    new_store_list: any[];\r\n    myLoading: boolean = true;\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n        jQuery(\"#country\").chosen();\r\n        jQuery(\"#city\").chosen();\r\n        jQuery(\"#store_delivery_id\").chosen();\r\n        jQuery(\"#type\").chosen({disable_search: true});\r\n        jQuery(\"#present_store_id\").chosen();\r\n        jQuery(\"#new_store_id\").chosen();\r\n        jQuery(\"#api\").chosen({disable_search: true});\r\n        jQuery(\"#provider_id\").chosen();\r\n        jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n    }\r\n\r\n\r\n    ngOnInit() {\r\n        this.add_detail = {\r\n            country_id: \"\",\r\n            city_id: \"\",\r\n            store_delivery_id: \"\",\r\n            type: null\r\n        }\r\n        this.add_store_data = {\r\n            present_store_id: \"\",\r\n            new_store_id: \"\",\r\n            api: null\r\n        }\r\n\r\n        this.add_provider_vehicle_data = {\r\n            provider_id: \"\"\r\n        }\r\n\r\n        this.helper.http.get('/api/admin/get_country_list').map((response: Response) => response.json()).subscribe(res_data => {\r\n            this.country_list = res_data.countries;\r\n            setTimeout(function () {\r\n                jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n            }, 1000);\r\n\r\n        });\r\n\r\n        this.helper.http.get('/admin/get_store_list').map((response: Response) => response.json()).subscribe(res_data => {\r\n            this.store_list = res_data.stores;\r\n            this.new_store_list = res_data.stores;\r\n            setTimeout(function () {\r\n                jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n            }, 1000);\r\n\r\n        });\r\n\r\n        this.helper.http.get('/api/admin/get_delivery_list').map((response: Response) => response.json()).subscribe(res_data => {\r\n            this.delivery_list = res_data.deliveries;\r\n            setTimeout(function () {\r\n                jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n            }, 1000);\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#country').on('change', (evnt, res_data) => {\r\n\r\n            this.get_city_list(res_data.selected);\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#city').on('change', (evnt, res_data) => {\r\n\r\n            this.add_detail.city_id = res_data.selected;\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#type').on('change', (evnt, res_data) => {\r\n\r\n\r\n            this.add_detail.type = res_data.selected;\r\n            console.log(this.add_detail.type)\r\n        });\r\n\r\n        this.helper.http.get('/admin/get_providers').map((response: Response) => response.json()).subscribe(res_data => {\r\n\r\n            this.provider_list = res_data.providers;\r\n            setTimeout(function () {\r\n                jQuery(\"#provider_id\").trigger(\"chosen:updated\");\r\n            }, 1000);\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#provider_id').on('change', (evnt, res_data) => {\r\n\r\n            this.add_provider_vehicle_data.provider_id = res_data.selected;\r\n\r\n\r\n        });\r\n\r\n\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#store_delivery_id').on('change', (evnt, res_data) => {\r\n\r\n            this.add_detail.store_delivery_id = res_data.selected;\r\n\r\n        });\r\n\r\n\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#new_store_id').on('change', (evnt, res_data) => {\r\n\r\n            this.add_store_data.new_store_id = res_data.selected;\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#present_store_id').on('change', (evnt, res_data) => {\r\n\r\n            this.add_store_data.present_store_id = res_data.selected;\r\n            this.get_new_store_list();\r\n\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#api').on('change', (evnt, res_data) => {\r\n\r\n            this.add_store_data.api = res_data.selected;\r\n\r\n        });\r\n\r\n\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.title = this.helper.title;\r\n        this.validation_message = this.helper.validation_message;\r\n    }\r\n\r\n    get_new_store_list() {\r\n        this.helper.http.get('/admin/get_store_list').map((response: Response) => response.json()).subscribe(res_data => {\r\n\r\n            this.new_store_list = res_data.stores;\r\n        });\r\n        setTimeout(function () {\r\n            jQuery(\"#new_store_id\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n    }\r\n\r\n\r\n\r\n    get_city_list(countryid) {\r\n        this.add_detail.country_id = countryid;\r\n        this.helper.http.post('/api/admin/get_city_list', {country_id: countryid}).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            this.city_list = res_data.cities;\r\n        });\r\n        setTimeout(function () {\r\n            jQuery(\"#city\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n    }\r\n\r\n\r\n    addstore(add_detail_data){\r\n        console.log(\"addstore\")\r\n\r\n        this.helper.http.post('/admin/add_new_store', add_detail_data).map((res: Response) => res.json()).subscribe(res_data => {\r\n                this.myLoading = false;\r\n\r\n                if (res_data.success == true) {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n\r\n                    this.store = res_data.store;\r\n                    this.store_email = res_data.store.email;\r\n                    this.new_store_list.push(res_data.store);\r\n\r\n                    this.helper.router.navigate(['admin/add_detail']);\r\n                    this.helper.message();\r\n                }\r\n\r\n                else {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message();\r\n                }\r\n\r\n            },\r\n                (error: any) => {\r\n                    this.myLoading = false;\r\n                    this.helper.http_status(error)\r\n                });\r\n    }\r\n\r\n    add_user(add_detail_data){\r\n        console.log(\"add_user\")\r\n        this.helper.http.post('/admin/add_new_user', add_detail_data).map((res: Response) => res.json()).subscribe(res_data => {\r\n                this.myLoading = false;\r\n\r\n                if (res_data.success == true) {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n\r\n                    this.user = res_data.user;\r\n                    this.user_email = res_data.user.email;\r\n                    this.helper.router.navigate(['admin/add_detail']);\r\n                    this.helper.message();\r\n                }\r\n\r\n                else {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message();\r\n                }\r\n\r\n            },\r\n                (error: any) => {\r\n                    this.myLoading = false;\r\n                    this.helper.http_status(error)\r\n                });\r\n    }\r\n\r\n    add_provider(add_detail_data){\r\n        console.log(\"add_provider\")\r\n\r\n        this.helper.http.post('/admin/add_new_provider', add_detail_data).map((res: Response) => res.json()).subscribe(res_data => {\r\n                this.myLoading = false;\r\n                console.log(res_data)\r\n                if (res_data.success == true) {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n                    this.provider = res_data.provider;\r\n                    this.provider_email = res_data.provider.email;\r\n                    this.helper.router.navigate(['admin/add_detail']);\r\n                    this.helper.message();\r\n\r\n                    this.AddProviderVehicleData(res_data.provider._id);\r\n                }\r\n\r\n                else {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message();\r\n                }\r\n\r\n            },\r\n                (error: any) => {\r\n                    this.myLoading = false;\r\n                    this.helper.http_status(error)\r\n                });\r\n    }\r\n\r\n    AddDetail(add_detail_data) {\r\n        this.myLoading = true;\r\n        if (this.add_detail.type == 2) {\r\n            this.addstore(add_detail_data);\r\n        }\r\n        else if (this.add_detail.type == 7) {\r\n            this.add_user(add_detail_data)\r\n        }\r\n        else if (this.add_detail.type == 8) {\r\n            this.myLoading = true;\r\n            this.add_provider(add_detail_data)\r\n        } else {\r\n            this.addstore(add_detail_data);\r\n            this.add_user(add_detail_data);\r\n            this.add_provider(add_detail_data);\r\n        }\r\n\r\n    }\r\n\r\n    AddStoreData(add_store_data) {\r\n        \r\n            this.myLoading = true;\r\n        if(add_store_data.present_store_id && add_store_data.new_store_id){\r\n            this.helper.http.post('/updateDatabaseTable', add_store_data).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n                if (res_data.success) {\r\n\r\n                    this.myLoading = false;\r\n                    this.helper.data.storage = {\r\n                        \"message\": \"Copy Successfully\",\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n                    this.helper.message();\r\n                    this.add_store_data = {\r\n                        present_store_id: \"\",\r\n                        new_store_id: \"\",\r\n                        api: null\r\n                    }\r\n\r\n                    setTimeout(function () {\r\n                        jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n                    }, 1000);\r\n\r\n                    setTimeout(()=>{\r\n                        this.helper.http.post('/updateItemNewTable', add_store_data).map((res: Response) => res.json()).subscribe(res_data => {\r\n                            \r\n                        },\r\n                            (error: any) => {\r\n                                this.myLoading = false;\r\n                                this.helper.http_status(error)\r\n                            });\r\n\r\n                    },5000);\r\n                    \r\n                }\r\n                else {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message();\r\n                }\r\n\r\n            },\r\n                (error: any) => {\r\n                    this.myLoading = false;\r\n                    this.helper.http_status(error)\r\n                });\r\n        \r\n        }\r\n\r\n    }\r\n\r\n\r\n    AddProviderVehicleData(providerid) {\r\n        this.myLoading = true;\r\n        this.helper.http.post('/admin/add_provider_vehicle_data',{provider_id: providerid}).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n\r\n            this.myLoading = false;\r\n            if (res_data.success == true) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.helper.router.navigate(['admin/add_detail']);\r\n                this.helper.message();\r\n            }\r\n            else {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message();\r\n            }\r\n\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/add_detail/add_detail.component.ts","import {Component, OnInit} from '@angular/core';\r\nimport {Response} from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport {Helper} from \"../../helper\";\r\ndeclare var jQuery: any;\r\n\r\n\r\n\r\nexport interface AddDocument {\r\n\r\n    document_name: String,\r\n    country_id: Object,\r\n    document_for: Number,\r\n\r\n    country_name: String,\r\n    is_show: Boolean,\r\n    is_mandatory: Boolean,\r\n    is_expired_date: Boolean,\r\n    is_unique_code: Boolean,\r\n    document_type_name: String\r\n\r\n}\r\n\r\n\r\n@Component({\r\n    selector: 'app-add_document',\r\n    template: require('./add_document.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class AddDocumentComponent implements OnInit {\r\n\r\n    private add_document: AddDocument;\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    validation_message: any;\r\n    country_name: String;\r\n    ADMIN_DATA_ID: any;\r\n\r\n\r\n    country_list: any[];\r\n    type: String;\r\n    document_id: Object;\r\n    document_exist: any;\r\n    document_list: any[];\r\n    error: any;\r\n\r\n    myLoading: boolean = true;\r\n\r\n    constructor(private helper: Helper) {\r\n\r\n    }\r\n    ngAfterViewInit() {\r\n\r\n        jQuery(\"#document_for\").chosen({disable_search: true});\r\n        jQuery(\"#country_id\").chosen();\r\n\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n\r\n            jQuery('input').iCheck({\r\n                handle: 'checkbox',\r\n                checkboxClass: 'icheckbox_square-green',\r\n            });\r\n        }, 1000);\r\n    }\r\n    ngOnDestroy() {\r\n        this.helper.router_id.admin.document_id = \"\";\r\n    }\r\n\r\n    ngOnInit() {\r\n\r\n        this.add_document = {\r\n\r\n\r\n            document_name: \"\",\r\n            country_id: \"\",\r\n            country_name: \"\",\r\n            document_for: 8,\r\n            is_show: false,\r\n            is_mandatory: false,\r\n            is_expired_date: false,\r\n            is_unique_code: false,\r\n            document_type_name:\"\"\r\n\r\n\r\n\r\n        }\r\n        this.document_id = this.helper.router_id.admin.document_id\r\n        this.helper.http.get('/admin/get_server_country_list').map((res: Response) => res.json()).subscribe(res => {\r\n            this.country_list = res.countries\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#document_for').on('change', (evnt, res_data) => {\r\n\r\n            this.add_document.document_for = res_data.selected;\r\n\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#country_id').on('change', (evnt, res_data) => {\r\n\r\n            this.add_document.country_id = res_data.selected;\r\n\r\n\r\n        });\r\n\r\n        if (this.document_id == '') {\r\n            this.type = \"add\";\r\n            this.document_exist = \"\"\r\n        }\r\n        else {\r\n            jQuery('.add').hide();\r\n            this.type = \"edit\";\r\n            this.helper.http.post('/admin/get_document_detail', {document_id: this.document_id}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n                if (res_data.success == false) {\r\n\r\n                    this.helper.router.navigate(['admin/document']);\r\n\r\n                }\r\n                else {\r\n\r\n\r\n\r\n                    this.add_document.document_name = res_data.document.document_name;\r\n                    this.add_document.country_id = res_data.document.country_id;\r\n                    this.add_document.country_name = res_data.document.country_details.country_name;\r\n                    this.add_document.document_for = res_data.document.document_for;\r\n                    this.add_document.is_show = res_data.document.is_show;\r\n                    this.add_document.is_mandatory = res_data.document.is_mandatory;\r\n                    this.add_document.is_expired_date = res_data.document.is_expired_date;\r\n                    this.add_document.is_unique_code = res_data.document.is_unique_code;\r\n\r\n                    if(res_data.document.document_for == 2)\r\n                    {\r\n                        this.add_document.document_type_name = \"Store\";\r\n                    }else if (res_data.document.document_for == 7)\r\n                    {\r\n                        this.add_document.document_type_name = \"User\";\r\n                    }else if (res_data.document.document_for == 8)\r\n                    {\r\n                        this.add_document.document_type_name = \"Provider\";\r\n                    }else if (res_data.document.document_for == 9)\r\n                    {\r\n                        this.add_document.document_type_name = \"Provider Vehicle\";\r\n                    }\r\n\r\n                }\r\n            });\r\n\r\n        }\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.validation_message = this.helper.validation_message;\r\n        this.ADMIN_DATA_ID = this.helper.ADMIN_DATA_ID;\r\n\r\n    }\r\n\r\n    AddDocument(document_data) {\r\n        if (this.type == 'add') {\r\n            this.myLoading = true;\r\n            this.helper.http.post('/admin/add_document_data', document_data).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n                this.myLoading = false;\r\n                if (res_data.success == true) {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n                    this.helper.router.navigate(['admin/document']);\r\n                }\r\n                else {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.router.navigate(['admin/document']);\r\n                }\r\n\r\n\r\n\r\n            }, (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n        } else {\r\n\r\n            this.updateDocument(document_data)\r\n        }\r\n    }\r\n    updateDocument(document_data) {\r\n        this.myLoading = true;\r\n        this.helper.http.post('/admin/update_document', document_data).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == true) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n\r\n                this.helper.router.navigate(['admin/document']);\r\n            }\r\n            else {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n\r\n                this.helper.router.navigate(['admin/document']);\r\n\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/add_document/add_document.component.ts","import { Component, OnInit } from \"@angular/core\";\r\nimport { Response } from \"@angular/http\";\r\nimport { Observable } from \"rxjs/Rx\";\r\nimport \"rxjs/add/operator/map\";\r\nimport \"rxjs/add/operator/catch\";\r\nimport { Helper } from \"../../helper\";\r\ndeclare var jQuery: any;\r\n\r\nexport interface AddPromocode {\r\n  country_id: Object;\r\n  city_id: Object;\r\n\r\n  is_promo_have_date: Boolean;\r\n  is_promo_multiple_use: Boolean;\r\n  multiple_use: number;\r\n  promo_start_date: any;\r\n  promo_expire_date: any;\r\n  promo_start_time: any;\r\n  promo_end_time: any;\r\n  promo_recursion_type: Number;\r\n  months: any[];\r\n  weeks: any[];\r\n  days: any[];\r\n\r\n  is_active: Boolean;\r\n  is_approved: Boolean;\r\n\r\n  promo_details: String;\r\n  promo_code_name: String;\r\n  promo_code_value: Number;\r\n  promo_code_type: Number;\r\n  promo_code_delivery_type: Number;\r\n  promo_code_delivery_value: Number;\r\n\r\n  promo_for: Number;\r\n  promo_apply_on: Object[];\r\n\r\n  admin_loyalty_type: Number;\r\n  admin_loyalty: Number;\r\n\r\n  admin_delivery_loyalty_type: Number;\r\n  admin_delivery_loyalty: Number;\r\n\r\n  is_promo_have_minimum_amount_limit: Boolean;\r\n  promo_code_apply_on_minimum_amount: Number;\r\n  is_promo_have_max_discount_limit: Boolean;\r\n  promo_code_max_discount_amount: Number;\r\n  is_promo_have_item_count_limit: Boolean;\r\n  promo_code_apply_on_minimum_item_count: Number;\r\n\r\n  is_promo_required_uses: Boolean;\r\n  promo_code_uses: Number;\r\n\r\n  is_promo_apply_on_completed_order: Boolean;\r\n  promo_apply_after_completed_order: Number;\r\n\r\n  country_name: String;\r\n  city_name: String;\r\n}\r\n\r\n@Component({\r\n  selector: \"app-add_promo_code\",\r\n  template: require('./add_promo_code.component.html'),\r\n  providers: [Helper],\r\n})\r\nexport class AddPromoCodeComponent implements OnInit {\r\n  private add_promo_code: AddPromocode;\r\n  title: any;\r\n  button: any;\r\n  heading_title: any;\r\n  lable_title: any;\r\n  validation_message: any;\r\n  country_list: any[];\r\n  city_list: any[];\r\n  delivery_list: any[];\r\n  store_list: any[];\r\n  country_name: String;\r\n  city_name: String;\r\n  promo_start_date: any;\r\n  promo_expire_date: any;\r\n  type: String;\r\n  promo_id: Object;\r\n  promo_exist: any;\r\n  promo_code_list: any[];\r\n  error: any;\r\n  myLoading: boolean = true;\r\n  admin_promo_for: any[];\r\n  admin_promo_for_delivery_service: any[];\r\n  product_list: any[];\r\n  item_list: any[];\r\n  constructor(private helper: Helper) {}\r\n\r\n  ngAfterViewInit() {\r\n    jQuery(\"#country\").chosen();\r\n    jQuery(\"#city\").chosen();\r\n    jQuery(\"#promo_for\").chosen({ disable_search: true });\r\n    jQuery(\"#promo_code_type\").chosen({ disable_search: true });\r\n    jQuery(\"#promo_code_delivery_type\").chosen({ disable_search: true });\r\n    jQuery(\"#admin_delivery_loyalty_type\").chosen({ disable_search: true });\r\n    jQuery(\"#admin_loyalty_type\").chosen({ disable_search: true });\r\n    jQuery(\"#promo_recursion_type\").chosen({ disable_search: true });\r\n    setTimeout(function () {\r\n      jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n\r\n      jQuery(\"input\").iCheck({\r\n        handle: \"checkbox\",\r\n        checkboxClass: \"icheckbox_square-green\",\r\n      });\r\n    }, 1000);\r\n  }\r\n  ngOnDestroy() {\r\n    this.helper.router_id.admin.promo_id = \"\";\r\n  }\r\n\r\n  ngOnInit() {\r\n    this.admin_promo_for = this.helper.ADMIN_PROMO_FOR_DELIVERY_SERVICE;\r\n\r\n    this.add_promo_code = {\r\n      country_id: \"\",\r\n      city_id: \"\",\r\n      promo_start_date: null,\r\n      promo_expire_date: null,\r\n      promo_details: \"\",\r\n      promo_code_name: \"\",\r\n      promo_code_value: null,\r\n      promo_code_type: 1,\r\n      promo_code_uses: null,\r\n      promo_code_delivery_type: 3,\r\n      promo_code_delivery_value: 0,\r\n\r\n      promo_apply_on: [],\r\n      promo_for: 20,\r\n      admin_loyalty_type: 1,\r\n      admin_delivery_loyalty_type: 1,\r\n      admin_delivery_loyalty: 0,\r\n      promo_code_apply_on_minimum_amount: null,\r\n      promo_code_max_discount_amount: null,\r\n      admin_loyalty: 0,\r\n      is_active: true,\r\n      is_approved: true,\r\n      is_promo_required_uses: true,\r\n      is_promo_have_minimum_amount_limit: true,\r\n      is_promo_have_max_discount_limit: true,\r\n      country_name: \"\",\r\n      city_name: \"\",\r\n      is_promo_have_item_count_limit: false,\r\n      promo_code_apply_on_minimum_item_count: null,\r\n      promo_recursion_type: 0,\r\n      days: [],\r\n      months: [],\r\n      weeks: [],\r\n      promo_end_time: \"\",\r\n      promo_start_time: \"\",\r\n      is_promo_have_date: false,\r\n      is_promo_multiple_use: false,\r\n      multiple_use: 2,\r\n      promo_apply_after_completed_order: null,\r\n      is_promo_apply_on_completed_order: false,\r\n    };\r\n    this.promo_id = this.helper.router_id.admin.promo_id;\r\n    this.helper.http\r\n      .get(\"/api/admin/get_country_list\")\r\n      .map((response: Response) => response.json())\r\n      .subscribe((res_data) => {\r\n        this.country_list = res_data.countries;\r\n      });\r\n    this.helper.http\r\n      .get(\"/api/admin/get_delivery_list\")\r\n      .map((response: Response) => response.json())\r\n      .subscribe((res_data) => {\r\n        this.delivery_list = res_data.deliveries;\r\n\r\n        setTimeout(() => {\r\n          jQuery(this.helper.elementRef.nativeElement)\r\n            .find(\".icheck\")\r\n            .on(\"ifChecked\", (event, res_data) => {\r\n              var id = event.target.getAttribute(\"value\");\r\n              this.add_promo_code.promo_apply_on.push(id);\r\n            });\r\n\r\n          jQuery(this.helper.elementRef.nativeElement)\r\n            .find(\".icheck\")\r\n            .on(\"ifUnchecked\", (event, res_data) => {\r\n              var id = event.target.getAttribute(\"value\");\r\n              var i = this.add_promo_code.promo_apply_on.indexOf(id);\r\n              if (i != -1) {\r\n                this.add_promo_code.promo_apply_on.splice(i, 1);\r\n              }\r\n            });\r\n        }, 1000);\r\n      });\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#country\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.get_city_list(res_data.selected);\r\n        this.get_store_list(res_data.selected);\r\n      });\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#city\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.add_promo_code.city_id = res_data.selected;\r\n        this.get_store_list(res_data.selected);\r\n        this.get_product_list(res_data.selected);\r\n      });\r\n\r\n    // jQuery(this.helper.elementRef.nativeElement).find('#is_promo_for_delivery_service').on('change', (evnt, res_data) => {\r\n    //\r\n    //     this.add_promo_code.is_promo_for_delivery_service = res_data.selected;\r\n    //\r\n    // });\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#promo_code_type\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.add_promo_code.promo_code_type = res_data.selected;\r\n      });\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#promo_code_delivery_type\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        console.log(\"promo_code_delivery_type\");\r\n        this.add_promo_code.promo_code_delivery_type = res_data.selected;\r\n      });\r\n    setTimeout(() => {\r\n      jQuery(\"#months\").trigger(\"chosen:updated\");\r\n      jQuery(\"#weeks\").trigger(\"chosen:updated\");\r\n      jQuery(\"#days\").trigger(\"chosen:updated\");\r\n      jQuery(\"#promo_recursion_type\").trigger(\"chosen:updated\");\r\n      jQuery(\"#promo_for\").trigger(\"chosen:updated\");\r\n    }, 100);\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#promo_recursion_type\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.add_promo_code.promo_recursion_type = res_data.selected;\r\n        jQuery(\"#promo_code_type\").chosen();\r\n        jQuery(\"#promo_code_delivery_type\").chosen();\r\n\r\n        setTimeout(() => {\r\n          jQuery(\"#months\").chosen();\r\n          jQuery(\"#weeks\").chosen();\r\n          jQuery(\"#days\").chosen();\r\n        }, 100);\r\n        jQuery(\".clock-picker\").clockpicker({\r\n          default: \"now\",\r\n          align: \"right\",\r\n        });\r\n        jQuery(\"#promo_start_time\").on(\"change\", (event) => {\r\n          this.add_promo_code.promo_start_time = event.target.value;\r\n        });\r\n        jQuery(\"#promo_end_time\").on(\"change\", (event) => {\r\n          this.add_promo_code.promo_end_time = event.target.value;\r\n        });\r\n      });\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#promo_for\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.add_promo_code.promo_for = res_data.selected;\r\n        this.add_promo_code.promo_apply_on = [];\r\n        if (res_data.selected == this.helper.ADMIN_PROMO_FOR_ID.DELIVERIES) {\r\n          this.helper.http\r\n            .get(\"/api/admin/get_delivery_list\")\r\n            .map((response: Response) => response.json())\r\n            .subscribe((res_data) => {\r\n              this.delivery_list = res_data.deliveries;\r\n\r\n              setTimeout(() => {\r\n                jQuery(\".icheck\").iCheck({\r\n                  handle: \"checkbox\",\r\n                  checkboxClass: \"icheckbox_square-green\",\r\n                });\r\n                jQuery(this.helper.elementRef.nativeElement)\r\n                  .find(\".icheck\")\r\n                  .on(\"ifChecked\", (event, res_data) => {\r\n                    var id = event.target.getAttribute(\"value\");\r\n                    this.add_promo_code.promo_apply_on.push(id);\r\n                  });\r\n\r\n                jQuery(this.helper.elementRef.nativeElement)\r\n                  .find(\".icheck\")\r\n                  .on(\"ifUnchecked\", (event, res_data) => {\r\n                    var id = event.target.getAttribute(\"value\");\r\n                    var i = this.add_promo_code.promo_apply_on.indexOf(id);\r\n                    if (i != -1) {\r\n                      this.add_promo_code.promo_apply_on.splice(i, 1);\r\n                    }\r\n                  });\r\n              }, 1000);\r\n            });\r\n        } else if (\r\n          res_data.selected == this.helper.ADMIN_PROMO_FOR_ID.STORE ||\r\n          res_data.selected == this.helper.ADMIN_PROMO_FOR_ID.PICKUP ||\r\n          res_data.selected == this.helper.ADMIN_PROMO_FOR_ID.DELIVERY\r\n        ) {\r\n          this.get_store_list(this.add_promo_code.city_id);\r\n        } else if (\r\n          res_data.selected == this.helper.ADMIN_PROMO_FOR_ID.PRODUCT\r\n        ) {\r\n          this.get_product_list(this.add_promo_code.city_id);\r\n          setTimeout(() => {\r\n            jQuery(\".icheckproduct\").iCheck({\r\n              handle: \"checkbox\",\r\n              checkboxClass: \"icheckbox_square-green\",\r\n            });\r\n            jQuery(this.helper.elementRef.nativeElement)\r\n              .find(\".icheckproduct\")\r\n              .on(\"ifChecked\", (event, res_data) => {\r\n                let id = event.target.getAttribute(\"value\");\r\n                this.add_promo_code.promo_apply_on.push(id);\r\n              });\r\n            jQuery(this.helper.elementRef.nativeElement)\r\n              .find(\".icheckproduct\")\r\n              .on(\"ifUnchecked\", (event, res_data) => {\r\n                let id = event.target.getAttribute(\"value\");\r\n                let index = this.add_promo_code.promo_apply_on.indexOf(id);\r\n                if (index !== -1) {\r\n                  this.add_promo_code.promo_apply_on.splice(index, 1);\r\n                }\r\n              });\r\n          }, 1000);\r\n        } else if (res_data.selected == this.helper.ADMIN_PROMO_FOR_ID.ITEM) {\r\n          this.get_item_list(this.add_promo_code.city_id);\r\n          setTimeout(() => {\r\n            jQuery(\".icheckitem\").iCheck({\r\n              handle: \"checkbox\",\r\n              checkboxClass: \"icheckbox_square-green\",\r\n            });\r\n            jQuery(this.helper.elementRef.nativeElement)\r\n              .find(\".icheckitem\")\r\n              .on(\"ifChecked\", (event, res_data) => {\r\n                let id = event.target.getAttribute(\"value\");\r\n                this.add_promo_code.promo_apply_on.push(id);\r\n              });\r\n            jQuery(this.helper.elementRef.nativeElement)\r\n              .find(\".icheckitem\")\r\n              .on(\"ifUnchecked\", (event, res_data) => {\r\n                let id = event.target.getAttribute(\"value\");\r\n                let index = this.add_promo_code.promo_apply_on.indexOf(id);\r\n                if (index !== -1) {\r\n                  this.add_promo_code.promo_apply_on.splice(index, 1);\r\n                }\r\n              });\r\n          }, 1000);\r\n        }\r\n      });\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#admin_loyalty_type\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.add_promo_code.admin_loyalty_type = res_data.selected;\r\n      });\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#admin_delivery_loyalty_type\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.add_promo_code.admin_delivery_loyalty_type = res_data.selected;\r\n      });\r\n\r\n    this.city_list = [];\r\n\r\n    if (this.promo_id == \"\") {\r\n      jQuery(\".edit\").hide();\r\n      this.type = \"add\";\r\n      this.promo_exist = \"\";\r\n    } else {\r\n      jQuery(\".add\").hide();\r\n      this.type = \"edit\";\r\n      jQuery(\"#promo_for\").hide();\r\n\r\n      this.helper.http\r\n        .post(\"/admin/get_promo_detail\", { promo_id: this.promo_id })\r\n        .map((res_data: Response) => res_data.json())\r\n        .subscribe((res_data) => {\r\n          if (res_data.success == false) {\r\n            this.helper.router.navigate([\"admin/promotions\"]);\r\n          } else {\r\n            jQuery(\"#promo_for_chosen\").hide();\r\n            this.add_promo_code = res_data.promo_code;\r\n            this.add_promo_code.country_name =\r\n              res_data.promo_code.country_details.country_name;\r\n\r\n            if (res_data.promo_code.city_details.length > 0) {\r\n              this.add_promo_code.city_name =\r\n                res_data.promo_code.city_details[0].city_name;\r\n            } else {\r\n              this.add_promo_code.city_name = \"All\";\r\n            }\r\n\r\n            if (res_data.promo_code.promo_start_date != null) {\r\n              var date = new Date(res_data.promo_code.promo_start_date);\r\n              this.add_promo_code.promo_start_date = {\r\n                date: {\r\n                  year: date.getFullYear(),\r\n                  month: date.getMonth() + 1,\r\n                  day: date.getDate(),\r\n                },\r\n                formatted:\r\n                  date.getMonth() +\r\n                  1 +\r\n                  \"-\" +\r\n                  date.getDate() +\r\n                  \"-\" +\r\n                  date.getFullYear(),\r\n              };\r\n            }\r\n            if (res_data.promo_code.promo_expire_date != null) {\r\n              var date = new Date(res_data.promo_code.promo_expire_date);\r\n              this.add_promo_code.promo_expire_date = {\r\n                date: {\r\n                  year: date.getFullYear(),\r\n                  month: date.getMonth() + 1,\r\n                  day: date.getDate(),\r\n                },\r\n                formatted:\r\n                  date.getMonth() +\r\n                  1 +\r\n                  \"-\" +\r\n                  date.getDate() +\r\n                  \"-\" +\r\n                  date.getFullYear(),\r\n              };\r\n            }\r\n\r\n            setTimeout(() => {\r\n              jQuery(\"#promo_for\").trigger(\"chosen:updated\");\r\n            }, 100);\r\n\r\n            if (!this.add_promo_code.is_promo_have_date) {\r\n              jQuery(\".btnpicker\").prop(\"disabled\", true);\r\n            }\r\n\r\n            if (res_data.promo_code.is_promo_for_delivery_service) {\r\n              this.add_promo_code.promo_for = res_data.promo_code.promo_for;\r\n              this.admin_promo_for =\r\n                this.helper.ADMIN_PROMO_FOR_DELIVERY_SERVICE;\r\n            } else {\r\n              this.add_promo_code.promo_for = res_data.promo_code.promo_for;\r\n              this.admin_promo_for = this.helper.ADMIN_PROMO_FOR;\r\n            }\r\n\r\n            this.get_store_list(this.add_promo_code.city_id);\r\n            this.get_product_list(this.add_promo_code.city_id);\r\n            this.get_item_list(this.add_promo_code.city_id);\r\n\r\n            setTimeout(() => {\r\n              jQuery(\"#months\").chosen();\r\n              jQuery(\"#weeks\").chosen();\r\n              jQuery(\"#days\").chosen();\r\n              jQuery(\"#promo_recursion_type\").trigger(\"chosen:updated\");\r\n            }, 100);\r\n            jQuery(\".clock-picker\").clockpicker({\r\n              default: \"now\",\r\n              align: \"right\",\r\n            });\r\n            jQuery(\"#promo_start_time\").on(\"change\", (event) => {\r\n              this.add_promo_code.promo_start_time = event.target.value;\r\n            });\r\n            jQuery(\"#promo_end_time\").on(\"change\", (event) => {\r\n              this.add_promo_code.promo_end_time = event.target.value;\r\n            });\r\n          }\r\n        });\r\n    }\r\n    this.title = this.helper.title;\r\n    this.button = this.helper.button;\r\n    this.heading_title = this.helper.heading_title;\r\n    this.lable_title = this.helper.lable_title;\r\n    this.validation_message = this.helper.validation_message;\r\n  }\r\n\r\n  change_expiry_date(event) {\r\n    if (event) {\r\n      jQuery(\".btnpicker\").prop(\"disabled\", false);\r\n    } else {\r\n      jQuery(\".btnpicker\").prop(\"disabled\", true);\r\n    }\r\n  }\r\n\r\n  get_product_list(city_id) {\r\n    this.helper.http\r\n      .post(\"/admin/product_for_city_store\", {\r\n        city_id: this.add_promo_code.city_id,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        this.product_list = res_data.city;\r\n      });\r\n    setTimeout(() => {\r\n      jQuery(\".icheckproduct\").iCheck({\r\n        handle: \"checkbox\",\r\n        checkboxClass: \"icheckbox_square-green\",\r\n      });\r\n      jQuery(this.helper.elementRef.nativeElement)\r\n        .find(\".icheckproduct\")\r\n        .on(\"ifChecked\", (event, res_data) => {\r\n          var id = event.target.getAttribute(\"value\");\r\n          this.add_promo_code.promo_apply_on.push(id);\r\n        });\r\n\r\n      jQuery(this.helper.elementRef.nativeElement)\r\n        .find(\".icheckproduct\")\r\n        .on(\"ifUnchecked\", (event, res_data) => {\r\n          var id = event.target.getAttribute(\"value\");\r\n          var i = this.add_promo_code.promo_apply_on.indexOf(id);\r\n          if (i != -1) {\r\n            this.add_promo_code.promo_apply_on.splice(i, 1);\r\n          }\r\n        });\r\n    }, 1000);\r\n  }\r\n\r\n  // onChange(value) {\r\n  //\r\n  //     if (value == true) {\r\n  //         this.admin_promo_for = this.helper.ADMIN_PROMO_FOR_DELIVERY_SERVICE;\r\n  //     } else {\r\n  //         this.admin_promo_for = this.helper.ADMIN_PROMO_FOR;\r\n  //     }\r\n  //     setTimeout(() => {\r\n  //         jQuery(\"#promo_for\").trigger(\"chosen:updated\");\r\n  //     }, 100);\r\n  // }\r\n\r\n  get_item_list(city_id) {\r\n    // this.helper.http.post('/admin/item_for_city_store', {\r\n    //     city_id: this.add_promo_code.city_id\r\n    // }).map((res: Response) => res.json()).subscribe(res_data => {\r\n    //     this.item_list = res_data.city;\r\n\r\n    // });\r\n    setTimeout(() => {\r\n      jQuery(\".icheckitem\").iCheck({\r\n        handle: \"checkbox\",\r\n        checkboxClass: \"icheckbox_square-green\",\r\n      });\r\n      jQuery(this.helper.elementRef.nativeElement)\r\n        .find(\".icheckitem\")\r\n        .on(\"ifChecked\", (event, res_data) => {\r\n          var id = event.target.getAttribute(\"value\");\r\n          this.add_promo_code.promo_apply_on.push(id);\r\n        });\r\n\r\n      jQuery(this.helper.elementRef.nativeElement)\r\n        .find(\".icheckitem\")\r\n        .on(\"ifUnchecked\", (event, res_data) => {\r\n          var id = event.target.getAttribute(\"value\");\r\n          var i = this.add_promo_code.promo_apply_on.indexOf(id);\r\n          if (i != -1) {\r\n            this.add_promo_code.promo_apply_on.splice(i, 1);\r\n          }\r\n        });\r\n    }, 1000);\r\n  }\r\n\r\n  get_city_list(countryid) {\r\n    this.add_promo_code.country_id = countryid;\r\n    this.helper.http\r\n      .post(\"/api/admin/get_city_list\", { country_id: countryid })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        this.city_list = res_data.cities;\r\n      });\r\n    setTimeout(function () {\r\n      jQuery(\"#city\").trigger(\"chosen:updated\");\r\n    }, 1000);\r\n  }\r\n\r\n  get_store_list(city_id) {\r\n    this.add_promo_code.city_id = city_id;\r\n    this.helper.http\r\n      .post(\"/admin/get_store_list_for_city\", { city_id: city_id })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        this.store_list = res_data.stores;\r\n        setTimeout(() => {\r\n          jQuery(\".icheck_store\").iCheck({\r\n            handle: \"checkbox\",\r\n            checkboxClass: \"icheckbox_square-green\",\r\n          });\r\n          jQuery(this.helper.elementRef.nativeElement)\r\n            .find(\".icheck_store\")\r\n            .on(\"ifChecked\", (event, res_data) => {\r\n              var id = event.target.getAttribute(\"value\");\r\n              this.add_promo_code.promo_apply_on.push(id);\r\n            });\r\n\r\n          jQuery(this.helper.elementRef.nativeElement)\r\n            .find(\".icheck_store\")\r\n            .on(\"ifUnchecked\", (event, res_data) => {\r\n              var id = event.target.getAttribute(\"value\");\r\n              var i = this.add_promo_code.promo_apply_on.indexOf(id);\r\n              if (i != -1) {\r\n                this.add_promo_code.promo_apply_on.splice(i, 1);\r\n              }\r\n            });\r\n\r\n          this.add_promo_code.promo_apply_on.forEach(function (\r\n            promo_apply_on_data\r\n          ) {\r\n            setTimeout(() => {\r\n              jQuery(\"#icheck\" + promo_apply_on_data).iCheck(\"check\");\r\n            }, 1000);\r\n          });\r\n        }, 1000);\r\n      });\r\n  }\r\n\r\n  AddPromocode(promo_code_data) {\r\n    this.add_promo_code.days = [];\r\n    this.add_promo_code.months = [];\r\n    this.add_promo_code.weeks = [];\r\n\r\n    if (\r\n      this.add_promo_code.is_promo_have_date &&\r\n      this.add_promo_code.promo_recursion_type >= 2\r\n    ) {\r\n      var days = jQuery(\"#days\").val();\r\n      days.forEach((day) => {\r\n        day = day.split(\": \");\r\n        var result = day[1].substring(1, day[1].length - 1);\r\n        this.add_promo_code.days.push(result);\r\n      });\r\n    }\r\n\r\n    if (\r\n      this.add_promo_code.is_promo_have_date &&\r\n      this.add_promo_code.promo_recursion_type >= 4\r\n    ) {\r\n      var months = jQuery(\"#months\").val();\r\n      months.forEach((month) => {\r\n        month = month.split(\": \");\r\n        var result = month[1].substring(1, month[1].length - 1);\r\n        this.add_promo_code.months.push(result);\r\n      });\r\n    }\r\n\r\n    if (\r\n      this.add_promo_code.is_promo_have_date &&\r\n      this.add_promo_code.promo_recursion_type >= 3\r\n    ) {\r\n      var weeks = jQuery(\"#weeks\").val();\r\n      weeks.forEach((week) => {\r\n        week = week.split(\": \");\r\n        var result = week[1].substring(1, week[1].length - 1);\r\n        this.add_promo_code.weeks.push(result);\r\n      });\r\n    }\r\n\r\n    if (this.type == \"add\") {\r\n      this.myLoading = true;\r\n      promo_code_data.promo_apply_on = this.add_promo_code.promo_apply_on;\r\n      promo_code_data.admin_id = localStorage.getItem(\"admin_id\");\r\n\r\n      this.helper.http\r\n        .post(\"/admin/add_promo_code_data\", promo_code_data)\r\n        .map((res: Response) => res.json())\r\n        .subscribe(\r\n          (res_data) => {\r\n            this.myLoading = false;\r\n\r\n            if (res_data.success == true) {\r\n              this.helper.data.storage = {\r\n                message: this.helper.MESSAGE_CODE[res_data.message],\r\n                class: \"alert-info\",\r\n              };\r\n              this.helper.router.navigate([\"admin/promotions\"]);\r\n            } else {\r\n              this.helper.data.storage = {\r\n                message: this.helper.ERROR_CODE[res_data.error_code],\r\n                class: \"alert-danger\",\r\n              };\r\n            }\r\n          },\r\n          (error: any) => {\r\n            this.myLoading = false;\r\n            this.helper.http_status(error);\r\n          }\r\n        );\r\n    } else {\r\n      this.updatePromo(promo_code_data);\r\n    }\r\n  }\r\n  updatePromo(promo_code_data) {\r\n    this.myLoading = true;\r\n    promo_code_data.promo_apply_on = this.add_promo_code.promo_apply_on;\r\n    promo_code_data.days = this.add_promo_code.days;\r\n    promo_code_data.months = this.add_promo_code.months;\r\n    promo_code_data.weeks = this.add_promo_code.weeks;\r\n\r\n    this.helper.http\r\n      .post(\"/admin/update_promo_code\", promo_code_data)\r\n      .map((res: Response) => res.json())\r\n      .subscribe(\r\n        (res_data) => {\r\n          this.myLoading = false;\r\n          if (res_data.success == true) {\r\n            this.helper.data.storage = {\r\n              message: this.helper.MESSAGE_CODE[res_data.message],\r\n              class: \"alert-info\",\r\n            };\r\n            this.helper.router.navigate([\"admin/promotions\"]);\r\n          } else {\r\n            this.helper.data.storage = {\r\n              message: this.helper.ERROR_CODE[res_data.error_code],\r\n              class: \"alert-danger\",\r\n            };\r\n          }\r\n        },\r\n        (error: any) => {\r\n          this.myLoading = false;\r\n          this.helper.http_status(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  check_promo_code(promo_code) {\r\n    this.helper.http\r\n      .post(\"/admin/check_promo_code\", {\r\n        country_id: this.add_promo_code.country_id,\r\n        city_id: this.add_promo_code.city_id,\r\n        promo_code_name: promo_code.trim(),\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        if (res_data.success == false) {\r\n          jQuery(\"#submit\").attr(\"disabled\", true);\r\n          this.promo_exist = \"Promo Code Already Exist\";\r\n        } else {\r\n          jQuery(\"#submit\").attr(\"disabled\", false);\r\n          this.promo_exist = \"\";\r\n        }\r\n      });\r\n  }\r\n\r\n  change_switch() {\r\n    setTimeout(() => {\r\n      jQuery(\"#months\").chosen();\r\n      jQuery(\"#weeks\").chosen();\r\n      jQuery(\"#days\").chosen();\r\n      jQuery(\"#promo_recursion_type\").trigger(\"chosen:updated\");\r\n    }, 100);\r\n    jQuery(\".clock-picker\").clockpicker({\r\n      default: \"now\",\r\n      align: \"right\",\r\n    });\r\n  }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/add_promo_code/add_promo_code.component.ts","import { Component, OnInit, ViewChild } from \"@angular/core\";\r\nimport { Response } from \"@angular/http\";\r\nimport \"rxjs/add/operator/map\";\r\nimport \"rxjs/add/operator/catch\";\r\nimport { Helper } from \"../../helper\";\r\nimport { ModalComponent } from \"ng2-bs3-modal/ng2-bs3-modal\";\r\ndeclare var jQuery: any;\r\ndeclare var swal: any;\r\n\r\nexport interface AddZone {\r\n  city_id: Object;\r\n  from_zone_id: Object;\r\n  to_zone_id: Object;\r\n  price: number;\r\n  min_order_price: number;\r\n  store_ids: string[];\r\n}\r\n\r\nexport interface AddService {\r\n  country_id: Object;\r\n  city_id: Object;\r\n  vehicle_id: Object;\r\n  delivery_service_id: Object;\r\n  base_price_distance: Number;\r\n  delivery_type_id: Object;\r\n\r\n  country_name: String;\r\n  city_name: String;\r\n  name: String;\r\n  vehicle_name: String;\r\n  delivery_name: String;\r\n  currency_sign: String;\r\n  is_distance_unit_mile: Boolean;\r\n  base_price: Number;\r\n  price_per_unit_distance: Number;\r\n  price_per_unit_time: Number;\r\n  service_tax: Number;\r\n  min_fare: Number;\r\n  admin_profit_value_on_delivery: Number;\r\n\r\n  hopper_base_price_distance: Number;\r\n  hopper_base_price: Number;\r\n  hopper_price_per_unit_distance: Number;\r\n  hopper_price_per_unit_time: Number;\r\n  hopper_service_tax: Number;\r\n  hopper_min_fare: Number;\r\n  hopper_admin_profit_value_on_delivery: Number;\r\n  hop_fee: Number;\r\n  bike_charge: Number;\r\n  scooter_charge: Number;\r\n  car_charge: Number;\r\n\r\n  cancellation_fee: Number;\r\n\r\n  surge_hours: any[];\r\n  is_surge_hours: Boolean;\r\n  is_business: Boolean;\r\n  surge_multiplier: Number;\r\n  surge_start_hour: Number;\r\n  surge_end_hour: Number;\r\n  admin_profit_distance: Number;\r\n  is_admin_profit: Boolean;\r\n  admin_profit: Number;\r\n  hopper_admin_profit_distance: Number;\r\n  hopper_is_admin_profit: Boolean;\r\n  hopper_admin_profit: Number;\r\n}\r\n\r\n@Component({\r\n  selector: \"app-add_service\",\r\n  template: require('./add_service.component.html'),\r\n  providers: [Helper],\r\n})\r\nexport class AddServiceComponent implements OnInit {\r\n  private add_service: AddService;\r\n  title: any;\r\n  button: any;\r\n  type: String;\r\n  heading_title: any;\r\n  validation_message: any;\r\n  tooltip_title: any;\r\n\r\n  country_list: any[];\r\n  city_list: any[];\r\n  vehicle_list: any[];\r\n  delivery_type_list: any[];\r\n  delivery_list: any[];\r\n  currency_sign: String;\r\n  is_distance_unit_mile: Boolean;\r\n  service_id: Object;\r\n  error: any;\r\n  service_exist: any;\r\n\r\n  zone_price_id: string = \"\";\r\n  store_list: any[] = [];\r\n  filtered_store_list: any[] = [];\r\n  store_ids: any[] = [];\r\n  @ViewChild(\"storeListModal\")\r\n  store_list_modal: ModalComponent;\r\n\r\n  add_surge_hours: any;\r\n  surge_start_error: any;\r\n  surge_end_error: any;\r\n  myLoading: boolean = true;\r\n  add_zone: AddZone;\r\n  selected_tab: string = \"zone\";\r\n\r\n  zone_price: any[] = [];\r\n  filtered_zone_price: any[] = [];\r\n\r\n  from_zone_list: any[] = [];\r\n  to_zone_list: any[] = [];\r\n  search_store_text: string = \"\";\r\n  filter_zone_id: string = \"\";\r\n  filter_store_id: string = \"\";\r\n\r\n  constructor(private helper: Helper) {}\r\n\r\n  ngAfterViewInit() {\r\n    jQuery(\".chosen-select\").chosen();\r\n\r\n    jQuery(\"#country\").chosen();\r\n    jQuery(\"#city\").chosen();\r\n    jQuery(\"#delivery_type_id\").chosen({ disable_search: true });\r\n\r\n    setTimeout(function () {\r\n      jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n    }, 1000);\r\n\r\n    jQuery(\".clock-picker\").clockpicker({\r\n      default: \"now\",\r\n    });\r\n  }\r\n  ngOnDestroy() {\r\n    this.helper.router_id.admin.service_id = \"\";\r\n    this.helper.router_id.admin.store_id = \"\";\r\n  }\r\n\r\n  ngOnInit() {\r\n    this.add_zone = {\r\n      price: null,\r\n      min_order_price: null,\r\n      city_id: null,\r\n      to_zone_id: null,\r\n      from_zone_id: null,\r\n      store_ids: [],\r\n    };\r\n\r\n    // this.admin_profit_mode_on_delivery_list = ADMIN_PROFIT_ON_ORDERS\r\n\r\n    this.add_service = {\r\n      country_id: \"\",\r\n      city_id: \"\",\r\n      vehicle_id: \"\",\r\n      delivery_service_id: \"\",\r\n      delivery_type_id: \"\",\r\n      country_name: \"\",\r\n      city_name: \"\",\r\n      name: \"\",\r\n      vehicle_name: \"\",\r\n      delivery_name: \"\",\r\n      currency_sign: \"\",\r\n      is_distance_unit_mile: false,\r\n      base_price_distance: null,\r\n      base_price: null,\r\n      price_per_unit_distance: null,\r\n      price_per_unit_time: null,\r\n      service_tax: null,\r\n      min_fare: null,\r\n      admin_profit_value_on_delivery: null,\r\n      hopper_base_price_distance: null,\r\n      hopper_base_price: null,\r\n      hopper_price_per_unit_distance: null,\r\n      hopper_price_per_unit_time: null,\r\n      hopper_service_tax: null,\r\n      hopper_min_fare: null,\r\n      hopper_admin_profit_value_on_delivery: null,\r\n      // surge_price: null,\r\n      cancellation_fee: null,\r\n      // admin_profit_mode_on_delivery: null,\r\n      // admin_profit_value_on_delivery: null,\r\n      surge_hours: [],\r\n      is_surge_hours: false,\r\n      is_business: true,\r\n      surge_multiplier: null,\r\n      surge_start_hour: null,\r\n      surge_end_hour: null,\r\n      hop_fee: null,\r\n      bike_charge: null,\r\n      scooter_charge: null,\r\n      car_charge: null,\r\n      is_admin_profit: false,\r\n      admin_profit_distance: null,\r\n      admin_profit: null,\r\n      hopper_admin_profit_distance: null,\r\n      hopper_is_admin_profit: false,\r\n      hopper_admin_profit: null,\r\n    };\r\n    this.service_id = this.helper.router_id.admin.service_id;\r\n\r\n    this.helper.http\r\n      .get(\"/admin/get_server_country_list\")\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        this.country_list = res_data.countries;\r\n      });\r\n\r\n    this.helper.http\r\n      .get(\"/admin/get_delivery_type\")\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        this.delivery_type_list = res_data.delivery_type;\r\n      });\r\n    this.vehicle_list = [];\r\n    this.delivery_list = [];\r\n    this.currency_sign = \"\";\r\n    this.is_distance_unit_mile = false;\r\n\r\n    this.add_surge_hours = true;\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#country\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.get_city_lists(res_data.selected);\r\n      });\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#delivery_service\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.add_service.delivery_service_id = res_data.selected;\r\n      });\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#city\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.add_service.city_id = res_data.selected;\r\n        this.get_zone_list(res_data.selected);\r\n      });\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#vehicle\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.add_service.vehicle_id = res_data.selected;\r\n      });\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#delivery_type_id\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.add_service.delivery_type_id = res_data.selected;\r\n      });\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#start\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.surge_start_error = \"\";\r\n        var start = jQuery(\"#start\").val();\r\n        this.add_service.surge_start_hour = start;\r\n        start = start.split(\":\");\r\n        for (var i in this.add_service.surge_hours) {\r\n          var surge_start =\r\n            this.add_service.surge_hours[i].surge_start_hour.split(\":\");\r\n          var surge_end =\r\n            this.add_service.surge_hours[i].surge_end_hour.split(\":\");\r\n\r\n          if (surge_start[0] > surge_end[0]) {\r\n            if (start[0] > 0 && surge_end[0] > start[0]) {\r\n              this.surge_start_error = \"Alredy\";\r\n            } else if (surge_start[0] == start[0]) {\r\n              if (surge_start[1] <= start[1]) {\r\n                this.surge_start_error = \"Alredy\";\r\n              }\r\n            } else if (surge_end[0] == start[0]) {\r\n              if (start[1] <= surge_end[1]) {\r\n                this.surge_start_error = \"Alredy\";\r\n              }\r\n            }\r\n          } else {\r\n            if (surge_start[0] < start[0] && start[0] < surge_end[0]) {\r\n              this.surge_start_error = \"Alredy\";\r\n            } else if (surge_start[0] == start[0]) {\r\n              if (surge_start[1] <= start[1]) {\r\n                this.surge_start_error = \"Alredy\";\r\n              }\r\n            } else if (surge_end[0] == start[0]) {\r\n              if (start[1] <= surge_end[1]) {\r\n                this.surge_start_error = \"Alredy\";\r\n              }\r\n            }\r\n          }\r\n        }\r\n      });\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#end\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.surge_end_error = \"\";\r\n\r\n        var end = jQuery(\"#end\").val();\r\n        var start = jQuery(\"#start\").val();\r\n        this.add_service.surge_end_hour = end;\r\n        end = end.split(\":\");\r\n        start = start.split(\":\");\r\n        for (var i in this.add_service.surge_hours) {\r\n          var surge_start =\r\n            this.add_service.surge_hours[i].surge_start_hour.split(\":\");\r\n          var surge_end =\r\n            this.add_service.surge_hours[i].surge_end_hour.split(\":\");\r\n\r\n          if (surge_start[0] < end[0] && end[0] < surge_end[0]) {\r\n            this.surge_end_error = \"Alredy\";\r\n          } else if (surge_start[0] == end[0]) {\r\n            if (surge_start[1] <= end[1]) {\r\n              this.surge_end_error = \"Alredy\";\r\n            }\r\n          } else if (surge_end[0] == end[0]) {\r\n            if (end[1] <= surge_end[1]) {\r\n              this.surge_end_error = \"Alredy\";\r\n            }\r\n          }\r\n        }\r\n      });\r\n\r\n    if (this.service_id == \"\") {\r\n      this.type = \"add\";\r\n      this.service_exist = \"\";\r\n      this.myLoading = false;\r\n    } else {\r\n      jQuery(\".add\").hide();\r\n      this.type = \"edit\";\r\n      this.helper.http\r\n        .post(\"/admin/get_service_detail\", { service_id: this.service_id })\r\n        .map((res_data: Response) => res_data.json())\r\n        .subscribe((res_data) => {\r\n          this.myLoading = false;\r\n          if (res_data.success == false) {\r\n            this.helper.router.navigate([\"admin/service\"]);\r\n          } else {\r\n            this.add_service.country_id = res_data.service.country_id;\r\n            this.add_service.city_id = res_data.service.city_id;\r\n\r\n            this.helper.http\r\n              .post(\"/admin/get_city_store_list\", {\r\n                city_id: res_data.service.city_id,\r\n              })\r\n              .map((res_data: Response) => res_data.json())\r\n              .subscribe((res_data) => {\r\n                this.store_list = res_data.store_list;\r\n                this.filtered_store_list = res_data.store_list;\r\n                setTimeout(function () {\r\n                  jQuery(\"#from_zone_id\").trigger(\"chosen:updated\");\r\n                  jQuery(\"#filter_zone_id\").trigger(\"chosen:updated\");\r\n                  jQuery(\"#filter_store_id\").trigger(\"chosen:updated\");\r\n                  jQuery(\"#to_zone_id\").trigger(\"chosen:updated\");\r\n                }, 1000);\r\n              });\r\n\r\n            this.add_zone.city_id = res_data.service.city_id;\r\n\r\n            this.zone_price = res_data.zone_price;\r\n            this.filtered_zone_price = res_data.zone_price;\r\n\r\n            this.from_zone_list = res_data.city_zone;\r\n            this.to_zone_list = res_data.city_zone;\r\n\r\n            if (this.helper.router_id.admin.store_id) {\r\n              this.filter_store_id = this.helper.router_id.admin.store_id;\r\n              this.filter_zone_price();\r\n            }\r\n\r\n            // this.add_service.vehicle_id = res_data.service.vehicle_id;\r\n            // this.add_service.delivery_service_id = res_data.service.delivery_service_id;\r\n            //this.add_service.delivery_type_id = res_data.service.delivery_type_id;\r\n\r\n            this.add_service.country_name =\r\n              res_data.service.country_details.country_name;\r\n            this.add_service.city_name =\r\n              res_data.service.city_details.city_name;\r\n            //this.add_service.name = res_data.service.delivery_type_details.name;\r\n\r\n            // this.add_service.vehicle_name = res_data.service.vehicle_details.vehicle_name;\r\n            // this.add_service.delivery_name = res_data.service.delivery_details.delivery_name;\r\n            this.add_service.base_price_distance =\r\n              res_data.service.base_price_distance;\r\n            this.add_service.base_price = res_data.service.base_price;\r\n            this.add_service.price_per_unit_distance =\r\n              res_data.service.price_per_unit_distance;\r\n\r\n            this.add_service.price_per_unit_time =\r\n              res_data.service.price_per_unit_time;\r\n            this.add_service.service_tax = res_data.service.service_tax;\r\n            this.add_service.min_fare = res_data.service.min_fare;\r\n            this.add_service.admin_profit_value_on_delivery =\r\n              res_data.service.admin_profit_value_on_delivery;\r\n\r\n            this.currency_sign = res_data.service.country_details.currency_sign;\r\n            this.is_distance_unit_mile =\r\n              res_data.service.country_details.is_distance_unit_mile;\r\n\r\n            //this.add_service.surge_price = res_data.service.surge_price;\r\n            this.add_service.cancellation_fee =\r\n              res_data.service.cancellation_fee;\r\n            // this.add_service.admin_profit_mode_on_delivery = res_data.service.admin_profit_mode_on_delivery;\r\n            // this.add_service.admin_profit_value_on_delivery = res_data.service.admin_profit_value_on_delivery;\r\n\r\n            this.add_service.surge_hours = res_data.service.surge_hours;\r\n            this.add_service.is_surge_hours = res_data.service.is_surge_hours;\r\n            this.add_service.is_business = res_data.service.is_business;\r\n            this.add_service.surge_multiplier =\r\n              res_data.service.surge_multiplier;\r\n            this.add_service.surge_start_hour =\r\n              res_data.service.surge_start_hour;\r\n            this.add_service.surge_end_hour = res_data.service.surge_end_hour;\r\n            this.add_service.hopper_base_price_distance =\r\n              res_data.service.hopper_base_price_distance;\r\n            this.add_service.hopper_base_price =\r\n              res_data.service.hopper_base_price;\r\n            this.add_service.hopper_price_per_unit_distance =\r\n              res_data.service.hopper_price_per_unit_distance;\r\n            this.add_service.hopper_price_per_unit_time =\r\n              res_data.service.hopper_price_per_unit_time;\r\n            this.add_service.hopper_service_tax =\r\n              res_data.service.hopper_service_tax;\r\n            this.add_service.hopper_min_fare = res_data.service.hopper_min_fare;\r\n            this.add_service.hopper_admin_profit_value_on_delivery =\r\n              res_data.service.hopper_admin_profit_value_on_delivery;\r\n            this.add_service.hop_fee = res_data.service.hop_fee;\r\n            this.add_service.bike_charge = res_data.service.bike_charge;\r\n            this.add_service.scooter_charge = res_data.service.scooter_charge;\r\n            this.add_service.car_charge = res_data.service.car_charge;\r\n            this.add_service.is_admin_profit = res_data.service.is_admin_profit;\r\n            this.add_service.admin_profit_distance =\r\n              res_data.service.admin_profit_distance;\r\n            this.add_service.admin_profit = res_data.service.admin_profit;\r\n            this.add_service.hopper_is_admin_profit =\r\n              res_data.service.hopper_is_admin_profit;\r\n            this.add_service.hopper_admin_profit_distance =\r\n              res_data.service.hopper_admin_profit_distance;\r\n            this.add_service.hopper_admin_profit =\r\n              res_data.service.hopper_admin_profit;\r\n          }\r\n        });\r\n    }\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#from_zone_id\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.add_zone.from_zone_id = res_data.selected;\r\n      });\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#filter_zone_id\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.filter_zone_id = res_data.selected;\r\n        this.filter_zone_price();\r\n      });\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#filter_store_id\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.filter_store_id = res_data.selected;\r\n        this.filter_zone_price();\r\n      });\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#to_zone_id\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.add_zone.to_zone_id = res_data.selected;\r\n      });\r\n\r\n    this.title = this.helper.title;\r\n    this.button = this.helper.button;\r\n    this.heading_title = this.helper.heading_title;\r\n    this.tooltip_title = this.helper.tooltip_title;\r\n\r\n    this.validation_message = this.helper.validation_message;\r\n  }\r\n\r\n  filter_zone_price() {\r\n    this.filtered_zone_price = [...this.zone_price];\r\n    if (this.filter_zone_id) {\r\n      this.filtered_zone_price = this.filtered_zone_price.filter(\r\n        (x) => String(x.from_zone_id) == String(this.filter_zone_id)\r\n      );\r\n    }\r\n    if (this.filter_store_id) {\r\n      this.filtered_zone_price = this.filtered_zone_price.filter((x) =>\r\n        x.store_ids.includes(String(this.filter_store_id))\r\n      );\r\n    }\r\n  }\r\n\r\n  get_zone_list(city_id) {\r\n    this.helper.http\r\n      .post(\"/admin/get_zone_detail\", { city_id: city_id })\r\n      .map((res_data: Response) => res_data.json())\r\n      .subscribe((res_data) => {\r\n        if (res_data.success) {\r\n          this.helper.data.storage = {\r\n            message: this.helper.MESSAGE_CODE[res_data.message],\r\n            class: \"alert-info\",\r\n          };\r\n          this.from_zone_list = res_data.city_zone;\r\n          this.to_zone_list = res_data.city_zone;\r\n\r\n          setTimeout(function () {\r\n            jQuery(\"#from_zone_id\").trigger(\"chosen:updated\");\r\n            jQuery(\"#filter_zone_id\").trigger(\"chosen:updated\");\r\n            jQuery(\"#filter_store_id\").trigger(\"chosen:updated\");\r\n            jQuery(\"#to_zone_id\").trigger(\"chosen:updated\");\r\n          }, 1000);\r\n        } else {\r\n          this.helper.data.storage = {\r\n            message: this.helper.ERROR_CODE[res_data.error_code],\r\n            class: \"alert-danger\",\r\n          };\r\n        }\r\n      });\r\n  }\r\n\r\n  add_surge_hours_array() {\r\n    this.add_surge_hours = false;\r\n    this.add_service.surge_hours.push({\r\n      surge_multiplier: Number(this.add_service.surge_multiplier),\r\n      surge_start_hour: this.add_service.surge_start_hour,\r\n      surge_end_hour: this.add_service.surge_end_hour,\r\n    });\r\n    this.add_service.surge_multiplier = null;\r\n    this.add_service.surge_start_hour = null;\r\n    this.add_service.surge_end_hour = null;\r\n  }\r\n  add_zone_price() {\r\n    this.myLoading = true;\r\n    this.add_zone.city_id = this.add_service.city_id;\r\n    this.helper.http\r\n      .post(\"/admin/add_zone_price\", this.add_zone)\r\n      .map((res_data: Response) => res_data.json())\r\n      .subscribe((res_data) => {\r\n        this.myLoading = false;\r\n        if (res_data.success) {\r\n          var from_index = this.from_zone_list.findIndex(\r\n            (x) => x._id == this.add_zone.from_zone_id\r\n          );\r\n          //   var to_index = this.to_zone_list.findIndex(\r\n          //     (x) => x._id == this.add_zone.to_zone_id\r\n          //   );\r\n\r\n          var json = res_data.zone_value;\r\n          json.from_zone_detail = {\r\n            title: this.from_zone_list[from_index].title,\r\n          };\r\n          //   json.to_zone_detail = {\r\n          //     title: this.to_zone_list[to_index].title,\r\n          //   };\r\n          this.zone_price.push(json);\r\n          this.filter_zone_price();\r\n          this.helper.data.storage = {\r\n            message: this.helper.MESSAGE_CODE[res_data.message],\r\n            class: \"alert-info\",\r\n          };\r\n          this.helper.message();\r\n          this.select_store(\r\n            [],\r\n            res_data.zone_value._id,\r\n            this.add_zone.from_zone_id\r\n          );\r\n        } else {\r\n          this.helper.data.storage = {\r\n            message: this.helper.ERROR_CODE[res_data.error_code],\r\n            class: \"alert-danger\",\r\n          };\r\n          this.helper.message();\r\n        }\r\n      });\r\n  }\r\n  update_zone_price(data) {\r\n    this.myLoading = true;\r\n    var json = {\r\n      _id: data._id,\r\n      price: Number(data.price),\r\n      min_order_price: Number(data.min_order_price),\r\n      store_ids: data.store_ids,\r\n      from_zone_id: data.from_zone_id,\r\n    };\r\n    this.helper.http\r\n      .post(\"/admin/update_zone_price\", json)\r\n      .map((res_data: Response) => res_data.json())\r\n      .subscribe((res_data) => {\r\n        this.myLoading = false;\r\n        if (res_data.success) {\r\n          this.helper.data.storage = {\r\n            message: this.helper.MESSAGE_CODE[res_data.message],\r\n            class: \"alert-info\",\r\n          };\r\n          this.store_list_modal.close();\r\n          this.helper.message();\r\n        } else {\r\n          this.helper.data.storage = {\r\n            message: this.helper.ERROR_CODE[res_data.error_code],\r\n            class: \"alert-danger\",\r\n          };\r\n          this.helper.message();\r\n        }\r\n      });\r\n  }\r\n\r\n  remove_surge_data(surge_data) {\r\n    swal({\r\n      title: \"Are you sure?\",\r\n      text: \"You won't be able to revert this!\",\r\n      type: \"warning\",\r\n      showCancelButton: true,\r\n      confirmButtonColor: \"#3085d6\",\r\n      cancelButtonColor: \"#d33\",\r\n      confirmButtonText: \"Yes, delete it!\",\r\n    })\r\n      .then(() => {\r\n        var i = this.add_service.surge_hours.indexOf(surge_data);\r\n        if (i != -1) {\r\n          this.add_service.surge_hours.splice(i, 1);\r\n        }\r\n        swal(\"Deleted!\", \"Your file has been deleted.\", \"success\");\r\n      })\r\n      .catch(swal.noop);\r\n  }\r\n\r\n  get_city_lists(countryid) {\r\n    this.add_service.country_id = countryid;\r\n    this.helper.http\r\n      .post(\"/api/admin/get_city_lists\", { country_id: countryid })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        var city_list = res_data.cities;\r\n        this.currency_sign = res_data.currency_sign;\r\n        this.is_distance_unit_mile = res_data.is_distance_unit_mile;\r\n\r\n        var services_list = res_data.services;\r\n        var city_array = [];\r\n        var service_array = [];\r\n        var unique_array = [];\r\n        for (var index in city_list) {\r\n          city_array.push({\r\n            _id: city_list[index]._id,\r\n            name: city_list[index].city_name,\r\n          });\r\n        }\r\n        for (var index in services_list) {\r\n          service_array.push({\r\n            _id: services_list[index].city_detail._id,\r\n            name: services_list[index].city_detail.city_name,\r\n          });\r\n        }\r\n        unique_array = city_array.filter(function (current) {\r\n          return (\r\n            service_array.filter(function (current_b) {\r\n              return current_b[\"_id\"] == current[\"_id\"];\r\n            }).length == 0\r\n          );\r\n        });\r\n        this.city_list = unique_array;\r\n        this.add_service.city_id = unique_array[0]._id;\r\n      });\r\n    setTimeout(function () {\r\n      jQuery(\"#city\").trigger(\"chosen:updated\");\r\n    }, 1000);\r\n  }\r\n\r\n  get_vehicle_list(cityid) {\r\n    this.add_service.city_id = cityid;\r\n    this.helper.http\r\n      .post(\"/api/admin/get_vehicle_list\", { city_id: cityid })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        var vehicles_list = res_data.vehicles;\r\n        var services_list = res_data.services;\r\n        var vehicle_array = [];\r\n        var service_array = [];\r\n        var unique_array = [];\r\n        for (var index in vehicles_list) {\r\n          vehicle_array.push({\r\n            _id: vehicles_list[index]._id,\r\n            name: vehicles_list[index].vehicle_name,\r\n          });\r\n        }\r\n        for (var index in services_list) {\r\n          service_array.push({\r\n            _id: services_list[index].vehicle_detail._id,\r\n            name: services_list[index].vehicle_detail.vehicle_name,\r\n          });\r\n        }\r\n        unique_array = vehicle_array.filter(function (current) {\r\n          return (\r\n            service_array.filter(function (current_b) {\r\n              return current_b[\"_id\"] == current[\"_id\"];\r\n            }).length == 0\r\n          );\r\n        });\r\n        this.vehicle_list = unique_array;\r\n      });\r\n    setTimeout(function () {\r\n      jQuery(\"#vehicle\").trigger(\"chosen:updated\");\r\n    }, 1000);\r\n  }\r\n\r\n  get_delivery_list(cityid) {\r\n    this.add_service.city_id = cityid;\r\n    this.helper.http\r\n      .post(\"/api/admin/get_delivery_list_for_city\", { city_id: cityid })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        this.delivery_list = res_data.deliveries;\r\n      });\r\n    setTimeout(function () {\r\n      jQuery(\"#delivery_service\").trigger(\"chosen:updated\");\r\n    }, 1000);\r\n  }\r\n\r\n  addService(servicedata) {\r\n    if (this.type == \"add\") {\r\n      this.myLoading = true;\r\n      this.helper.http\r\n        .post(\"/admin/add_service_data\", servicedata)\r\n        .map((res: Response) => res.json())\r\n        .subscribe(\r\n          (res_data) => {\r\n            this.myLoading = false;\r\n            if (res_data.success == true) {\r\n              this.helper.data.storage = {\r\n                message: this.helper.MESSAGE_CODE[res_data.message],\r\n                class: \"alert-info\",\r\n              };\r\n              this.helper.router.navigate([\"admin/service\"]);\r\n            } else {\r\n              this.helper.data.storage = {\r\n                message: this.helper.ERROR_CODE[res_data.error_code],\r\n                class: \"alert-danger\",\r\n              };\r\n            }\r\n          },\r\n          (error: any) => {\r\n            this.myLoading = false;\r\n            this.helper.http_status(error);\r\n          }\r\n        );\r\n    } else {\r\n      this.updateService(servicedata);\r\n    }\r\n  }\r\n\r\n  updateService(service_data) {\r\n    this.myLoading = true;\r\n    this.helper.http\r\n      .post(\"/admin/update_service\", service_data)\r\n      .map((res: Response) => res.json())\r\n      .subscribe(\r\n        (res_data) => {\r\n          this.myLoading = false;\r\n          if (res_data.success == true) {\r\n            this.helper.data.storage = {\r\n              message: this.helper.MESSAGE_CODE[res_data.message],\r\n              class: \"alert-info\",\r\n            };\r\n            this.helper.router.navigate([\"admin/service\"]);\r\n          } else {\r\n            this.helper.router.navigate([\"admin/service\"]);\r\n          }\r\n        },\r\n        (error: any) => {\r\n          this.myLoading = false;\r\n          this.helper.http_status(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  select_store(store_ids: any[], zone_price_id: string, from_zone_id: any) {\r\n    this.zone_price_id = zone_price_id;\r\n    this.store_ids = [...store_ids];\r\n    this.search_store_text = \"\";\r\n    this.store_list_modal.open();\r\n    this.filtered_store_list = [...this.store_list];\r\n    let selected_store_ids = this.zone_price\r\n      .map((x) => {\r\n        if (\r\n          String(x._id) !== String(zone_price_id) &&\r\n          String(x.from_zone_id) == String(from_zone_id)\r\n        ) {\r\n          return x.store_ids;\r\n        }\r\n        return [];\r\n      })\r\n      .reduce((acc, val) => acc.concat(val), []);\r\n    console.log(store_ids);\r\n\r\n    this.filtered_store_list = this.filtered_store_list.filter((store) => {\r\n      return !selected_store_ids.includes(String(store._id));\r\n    });\r\n\r\n    this.filtered_store_list.forEach((store) => {\r\n      jQuery(\"#icheck\" + store._id).iCheck(\"uncheck\");\r\n      var index = store_ids.indexOf(store._id);\r\n      if (index !== -1) {\r\n        setTimeout(() => {\r\n          jQuery(\"#icheck\" + store._id).iCheck(\"check\");\r\n        }, 1000);\r\n        store.is_selected = true;\r\n      } else {\r\n        store.is_selected = false;\r\n      }\r\n    });\r\n    //   jQuery(\".icheck_store\").iCheck({\r\n    //     handle: \"checkbox\",\r\n    //     checkboxClass: \"icheckbox_square-green\",\r\n    //   });\r\n  }\r\n\r\n  select_unselect_store_ids(id) {\r\n    var index = this.store_ids.findIndex((x) => x.toString() == id.toString());\r\n    var store_index = this.store_list.findIndex(\r\n      (x) => x._id.toString() == id.toString()\r\n    );\r\n    if (index == -1) {\r\n      this.store_ids.push(id);\r\n      this.store_list[store_index].is_selected = true;\r\n    } else {\r\n      this.store_ids.splice(index, 1);\r\n      this.store_list[store_index].is_selected = false;\r\n    }\r\n  }\r\n\r\n  update_store_ids() {\r\n    let index = this.zone_price.findIndex((x) => x._id == this.zone_price_id);\r\n    if (index !== -1) {\r\n      this.zone_price[index].store_ids = this.store_ids;\r\n      this.filter_zone_price();\r\n      this.update_zone_price(this.zone_price[index]);\r\n    }\r\n  }\r\n\r\n  delete_zone_price(id, index) {\r\n    swal({\r\n      title: \"Are you sure?\",\r\n      text: \"You won't be able to revert this!\",\r\n      type: \"warning\",\r\n      showCancelButton: true,\r\n      confirmButtonColor: \"#3085d6\",\r\n      cancelButtonColor: \"#d33\",\r\n      confirmButtonText: \"Yes\",\r\n    })\r\n      .then(() => {\r\n        this.myLoading = true;\r\n        this.helper.http\r\n          .post(\"/admin/delete_zone_price\", { id: id })\r\n          .map((res_data: Response) => res_data.json())\r\n          .subscribe((res_data) => {\r\n            this.myLoading = false;\r\n            if (res_data.success) {\r\n              this.helper.data.storage = {\r\n                message: this.helper.MESSAGE_CODE[res_data.message],\r\n                class: \"alert-info\",\r\n              };\r\n              this.zone_price.splice(index, 1);\r\n              this.filter_zone_price();\r\n              this.helper.message();\r\n            } else {\r\n              this.helper.data.storage = {\r\n                message: this.helper.ERROR_CODE[res_data.error_code],\r\n                class: \"alert-danger\",\r\n              };\r\n              this.helper.message();\r\n            }\r\n          });\r\n      })\r\n      .catch(swal.noop);\r\n  }\r\n\r\n  search_store(data) {\r\n    data = data.replace(/^\\s+|\\s+$/g, \"\");\r\n    data = data.replace(/ +(?= )/g, \"\");\r\n    data = new RegExp(data, \"gi\");\r\n\r\n    var country_array = this.store_list.filter((country_data) => {\r\n      var a = country_data.name.match(data);\r\n      return a !== null;\r\n    });\r\n\r\n    this.filtered_store_list = country_array;\r\n  }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/add_service/add_service.component.ts","import {Component, OnInit} from '@angular/core';\r\nimport {Response} from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport {Helper} from \"../../helper\";\r\ndeclare var jQuery: any;\r\n\r\n\r\nexport interface Addteam {\r\n    name: String\r\n}\r\n\r\n@Component({\r\n    selector: 'app-add_team',\r\n    template: require('./add_team.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class AddteamComponent implements OnInit {\r\n\r\n    private add_team: Addteam;\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    validation_message: any;\r\n    type: String;\r\n    team_id: Object;\r\n    team_exist: any;\r\n    error: any;\r\n    team_list: any[];\r\n\r\n    country_ids: any[] = [];\r\n    city_ids: any[] = [];\r\n    store_ids: any[] = [];\r\n    provider_ids: any[] = [];\r\n\r\n    country_list: any[] = [];\r\n    city_list: any[] = [];\r\n    store_list: any[] = [];\r\n    provider_list: any[] = [];\r\n\r\n    myLoading: boolean = true;\r\n    url_list: any[];\r\n    constructor(private helper: Helper) {\r\n\r\n    }\r\n    ngAfterViewInit() {\r\n\r\n        jQuery(\".chosen-select\").chosen();\r\n        jQuery(\"#team_type\").chosen({disable_search: true});\r\n\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n    }\r\n    ngOnDestroy() {\r\n        this.helper.router_id.admin.team_id = \"\";\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.add_team = {\r\n            name: \"\"\r\n        }\r\n        this.team_id = this.helper.router_id.admin.team_id;\r\n\r\n        this.helper.http.get('/api/admin/get_country_list').map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            if (res_data.success) {\r\n                this.country_list = res_data.countries || [];\r\n                setTimeout(()=> {\r\n                    jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n                }, 1000);\r\n            }\r\n            else {\r\n                this.country_list = [];\r\n            }\r\n\r\n        });\r\n\r\n\r\n        if (!this.team_id) {\r\n            this.type = \"add\";\r\n            this.team_exist = \"\"\r\n        }\r\n        else {\r\n            jQuery('#add').hide();\r\n            this.type = \"edit\";\r\n            this.helper.http.post('/team/get_detail', {team_id: this.team_id}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n                if (res_data.success == false) {\r\n                    this.helper.router.navigate(['admin/create_team']);\r\n                }\r\n                else {\r\n                    this.add_team.name = res_data.team.name;\r\n                    this.city_ids = res_data.team.city_ids || '';\r\n                    this.country_ids = res_data.team.country_ids || '';\r\n                    this.provider_ids = res_data.team.provider_ids || [];\r\n                    this.store_ids = res_data.team.store_ids || [];\r\n                    if(this.country_ids){\r\n                        this.get_city_list();\r\n                        if(this.city_ids){\r\n                            this.get_provider_list();\r\n                            this.get_store_list();\r\n                        }\r\n                    }\r\n                }\r\n            });\r\n\r\n        }\r\n\r\n\r\n        this.title = this.helper.title\r\n        this.button = this.helper.button\r\n        this.heading_title = this.helper.heading_title\r\n        this.validation_message = this.helper.validation_message;\r\n    }\r\n\r\n    select_all_country(){\r\n        this.country_ids = [];\r\n        this.country_list.forEach((country_detail)=>{\r\n            this.country_ids.push(country_detail._id.toString());\r\n        });\r\n        this.get_city_list();\r\n    }\r\n\r\n    select_all_city(){\r\n        this.city_ids = [];\r\n        this.city_list.forEach((city_detail)=>{\r\n            this.city_ids.push(city_detail._id.toString());\r\n        });\r\n        this.get_provider_list();\r\n        this.get_store_list();\r\n    }\r\n\r\n    select_all_store(){\r\n        this.store_ids = [];\r\n        this.store_list.forEach((store_detail)=>{\r\n            this.store_ids.push(store_detail._id.toString());\r\n        });\r\n    }\r\n\r\n    select_all_provider(){\r\n        this.provider_ids = [];\r\n        this.provider_list.forEach((provider_detail)=>{\r\n            this.provider_ids.push(provider_detail._id.toString());\r\n        });\r\n    }\r\n\r\n    change_country(event){\r\n        var country_id = event.target.value;\r\n        if(event.target.checked){\r\n            this.country_ids.push(country_id.toString());\r\n        } else {\r\n            var index = this.country_ids.indexOf(country_id.toString());\r\n            if(index !== -1){\r\n                this.country_ids.splice(index, 1);\r\n                this.city_ids = [];\r\n                this.provider_ids = [];\r\n                this.store_ids = [];\r\n                this.store_list = [];\r\n                this.provider_list = [];\r\n            }\r\n        }\r\n        this.get_city_list();\r\n    }\r\n\r\n    is_checked(array, country_id){\r\n        if(array.indexOf(country_id.toString()) !== -1){\r\n            return true;\r\n        } else {\r\n            return false;\r\n        }\r\n    }\r\n\r\n    get_city_list() {\r\n        this.helper.http.post('/api/admin/get_city_list', {country_ids: this.country_ids}).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            this.city_list = res_data.cities || [];\r\n            setTimeout(function () {\r\n                console.log(jQuery(\"#city_dispatcher\"))\r\n                jQuery(\"#city_dispatcher\").trigger(\"chosen:updated\");\r\n            }, 1000);\r\n        });\r\n    }\r\n\r\n    change_city(event){\r\n        var city_id = event.target.value;\r\n        if(event.target.checked){\r\n            this.city_ids.push(city_id.toString());\r\n        } else {\r\n            var index = this.city_ids.indexOf(city_id.toString());\r\n            if(index !== -1){\r\n                this.city_ids.splice(index, 1);\r\n                this.provider_ids = [];\r\n                this.store_ids = [];\r\n            }\r\n        }\r\n        this.get_provider_list();\r\n        this.get_store_list();\r\n    }\r\n\r\n    get_provider_list() {\r\n        this.helper.http.post('/admin/provider_list_for_map', {city_ids: this.city_ids, is_approved: true}).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            this.provider_list = res_data.providers || [];\r\n\r\n            setTimeout(function () {\r\n                jQuery(\"#provider_dispatcher\").trigger(\"chosen:updated\");\r\n            }, 1000);\r\n        });\r\n    }\r\n\r\n    change_provider(event){\r\n        var provider_id = event.target.value;\r\n        if(event.target.checked){\r\n            this.provider_ids.push(provider_id.toString());\r\n        } else {\r\n            var index = this.provider_ids.indexOf(provider_id.toString());\r\n            if(index !== -1){\r\n                this.provider_ids.splice(index, 1);\r\n            }\r\n        }\r\n    }\r\n\r\n    get_store_list() {\r\n        this.helper.http.post('/admin/get_store_list_for_city', {city_ids: this.city_ids, is_approved: true}).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            this.store_list = res_data.stores || [];\r\n\r\n            setTimeout(function () {\r\n                jQuery(\"#store_dispatcher\").trigger(\"chosen:updated\");\r\n            }, 1000);\r\n        });\r\n    }\r\n\r\n    change_store(event){\r\n        var store_id = event.target.value;\r\n        if(event.target.checked){\r\n            this.store_ids.push(store_id.toString());\r\n        } else {\r\n            var index = this.store_ids.indexOf(store_id.toString());\r\n            if(index !== -1){\r\n                this.store_ids.splice(index, 1);\r\n            }\r\n        }\r\n    }\r\n\r\n    Addteam(team_data) {\r\n        team_data.country_ids = this.country_ids;\r\n        team_data.city_ids = this.city_ids;\r\n        team_data.provider_ids = this.provider_ids;\r\n        team_data.store_ids = this.store_ids;\r\n        if (this.type == 'add') {\r\n            this.myLoading = true;\r\n            this.helper.http.post('/team/add', team_data).map((res: Response) => res.json()).subscribe(res_data => {\r\n                this.myLoading = false;\r\n                if (res_data.success == true) {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n                    this.helper.router.navigate(['admin/create_team']);\r\n                }\r\n                else {\r\n\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.router.navigate(['admin/create_team']);\r\n                }\r\n\r\n\r\n            },\r\n                (error: any) => {\r\n                    this.myLoading = false;\r\n                    this.helper.http_status(error)\r\n                });\r\n        } else {\r\n            this.updateteam(team_data)\r\n        }\r\n\r\n    }\r\n\r\n    updateteam(team_data) {\r\n        this.myLoading = true;\r\n        this.helper.http.post('/team/update', team_data).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == true) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.helper.router.navigate(['admin/create_team']);\r\n            }\r\n            else {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.router.navigate(['admin/create_team']);\r\n\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/add_team/add_team.component.ts","import {Component, OnInit, ViewContainerRef, ViewChild} from '@angular/core';\r\nimport {Response} from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport {Helper} from \"../../helper\";\r\ndeclare var jQuery: any;\r\nimport {ModalComponent} from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport {ImageCropperComponent, CropperSettings, Bounds} from 'ng2-img-cropper';\r\n\r\nexport interface AddVehicle {\r\n    vehicle_name: String,\r\n    description: String,\r\n    image_url: any,\r\n    map_pin_image_url: any,\r\n    is_business: Boolean\r\n\r\n}\r\nexport interface imageSetting {\r\n    image_ratio: number,\r\n    image_min_width: number,\r\n    image_max_width: number\r\n    image_min_height: number,\r\n    image_max_height: number,\r\n\r\n    map_pin_image_ratio: number,\r\n    map_pin_image_min_width: number,\r\n    map_pin_image_max_width: number\r\n    map_pin_image_min_height: number,\r\n    map_pin_image_max_height: number,\r\n\r\n    image_type: any[],\r\n    map_pin_image_type: any[]\r\n\r\n}\r\n\r\n@Component({\r\n    selector: 'app-add_vehicle',\r\n    template: require('./add_vehicle.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class AddVehicleComponent implements OnInit {\r\n    \r\n    @ViewChild('image_crop_modal')\r\n    image_crop_modal: ModalComponent;\r\n    @ViewChild('cropper', undefined)\r\n    cropper: ImageCropperComponent;\r\n    \r\n    @ViewChild('map_pin_image_crop_modal')\r\n    map_pin_image_crop_modal: ModalComponent;\r\n    @ViewChild('cropper_map_pin', undefined)\r\n    cropper_map_pin: ImageCropperComponent;\r\n\r\n\r\n    private add_vehicle: AddVehicle;\r\n    public image_setting: imageSetting;\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    validation_message: any;\r\n    vehicle_id: Object;\r\n    vehicle_exist: any;\r\n    vehicle_list: any[];\r\n\r\n    error: any;\r\n    type: String;\r\n    myLoading: boolean = false;\r\n    image_error: string = '';\r\n    map_pin_image_error: string = '';\r\n\r\n    \r\n    data: any;\r\n    map_pin_data: any;\r\n    \r\n    cropperSettings: CropperSettings;\r\n    cropperMapPinSettings: CropperSettings;\r\n    \r\n\r\n    constructor(public helper: Helper, vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n\r\n        this.cropperSettings = new CropperSettings();\r\n        this.cropperSettings.canvasWidth = 400;\r\n        this.cropperSettings.canvasHeight = 400;\r\n        this.cropperSettings.noFileInput = true;\r\n        this.cropperSettings.preserveSize = true;\r\n        this.cropperSettings.height = 200;\r\n        this.cropperSettings.width = this.cropperSettings.height * this.helper.image_ratio.VEHICLE_IMAGE;\r\n\r\n        this.cropperMapPinSettings = new CropperSettings();\r\n        this.cropperMapPinSettings.canvasWidth = 400;\r\n        this.cropperMapPinSettings.canvasHeight = 400;\r\n        this.cropperMapPinSettings.noFileInput = true;\r\n        this.cropperMapPinSettings.preserveSize = true;\r\n        this.cropperMapPinSettings.height = 200;\r\n        this.cropperMapPinSettings.width = this.cropperMapPinSettings.height * this.helper.image_ratio.VEHICLE_MAP_PIN;\r\n\r\n\r\n        this.data = {};\r\n        this.map_pin_data = {};\r\n        \r\n    }\r\n\r\n\r\n\r\n    ngAfterViewInit() {\r\n        jQuery(document).ready(function (jQ) {\r\n            jQ(\"#vehicle\").chosen();\r\n            jQ(\"#vehicle\").trigger(\"chosen:updated\");\r\n\r\n        });\r\n    }\r\n    ngOnDestroy() {\r\n        this.helper.router_id.admin.vehicle_id = \"\";\r\n    }\r\n\r\n    ngOnInit() {\r\n\r\n        this.add_vehicle = {\r\n            vehicle_name: \"\",\r\n            description: \"\",\r\n            image_url: \"./plus_box.png\",\r\n            map_pin_image_url: \"./plus_box.png\",\r\n            is_business: false,\r\n\r\n        }\r\n        this.image_setting = {\r\n            image_ratio: 1,\r\n            image_min_width: 100,\r\n            image_max_width: 100,\r\n            image_min_height: 100,\r\n            image_max_height: 100,\r\n            image_type: [],\r\n            map_pin_image_type: [],\r\n            map_pin_image_ratio: 1,\r\n            map_pin_image_min_width: 100,\r\n            map_pin_image_max_width: 100,\r\n            map_pin_image_min_height: 100,\r\n            map_pin_image_max_height: 100\r\n\r\n\r\n        }\r\n\r\n        this.vehicle_id = this.helper.router_id.admin.vehicle_id;\r\n\r\n        this.helper.http.post('/api/admin/get_image_setting', {\r\n        }).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n            this.image_setting.image_ratio = res_data.image_setting.vehicle_image_ratio;\r\n            this.image_setting.image_min_width = res_data.image_setting.vehicle_image_min_width;\r\n            this.image_setting.image_max_width = res_data.image_setting.vehicle_image_max_width;\r\n            this.image_setting.image_min_height = res_data.image_setting.vehicle_image_min_height;\r\n            this.image_setting.image_max_height = res_data.image_setting.vehicle_image_max_height;\r\n\r\n\r\n\r\n\r\n            this.image_setting.map_pin_image_ratio = res_data.image_setting.vehicle_map_pin_ratio;\r\n            this.image_setting.map_pin_image_min_width = res_data.image_setting.vehicle_map_pin_min_width;\r\n            this.image_setting.map_pin_image_max_width = res_data.image_setting.vehicle_map_pin_max_width;\r\n            this.image_setting.map_pin_image_min_height = res_data.image_setting.vehicle_map_pin_min_height;\r\n            this.image_setting.map_pin_image_max_height = res_data.image_setting.vehicle_map_pin_max_height;\r\n\r\n\r\n\r\n            this.image_setting.image_type = res_data.image_setting.image_type;\r\n            this.image_setting.map_pin_image_type = res_data.image_setting.map_pin_image_type;\r\n            \r\n            setTimeout(() => {\r\n                this.cropperSettings.width = this.cropperSettings.height * res_data.image_setting.vehicle_image_ratio;\r\n                this.cropperMapPinSettings.width = this.cropperMapPinSettings.height * res_data.image_setting.vehicle_map_pin_ratio;\r\n                \r\n            }, 1000);\r\n\r\n\r\n\r\n\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n\r\n        if (this.vehicle_id == '') {\r\n            this.type = \"add\";\r\n            this.helper.http.get('/admin/vehicle_list').map((res: Response) => res.json()).subscribe(res => this.vehicle_list = res, error => this.error = error);\r\n\r\n            this.vehicle_exist = \"\"\r\n        }\r\n        else {\r\n            jQuery('#add').hide();\r\n            this.type = \"edit\";\r\n            this.helper.http.post('/admin/get_vehicle_detail', {vehicle_id: this.vehicle_id}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n                if (res_data.success == false) {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n\r\n                    this.helper.router.navigate(['admin/vehicle']);\r\n\r\n                }\r\n                else {\r\n                    this.add_vehicle.vehicle_name = res_data.vehicle.vehicle_name;\r\n                    this.add_vehicle.description = res_data.vehicle.description;\r\n                    this.add_vehicle.is_business = res_data.vehicle.is_business;\r\n                    this.add_vehicle.image_url = this.helper.CONSTANT.IMAGE_BASE_URL + res_data.vehicle.image_url;\r\n                    this.add_vehicle.map_pin_image_url = this.helper.CONSTANT.IMAGE_BASE_URL + res_data.vehicle.map_pin_image_url;\r\n                }\r\n            });\r\n        }\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.validation_message = this.helper.validation_message;\r\n\r\n    }\r\n    public formData = new FormData();\r\n    \r\n    \r\n    main_image_update($event) {\r\n        this.image_error = \"\";\r\n\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const image_url = files[0];\r\n        var index = this.image_setting.image_type.indexOf(image_url.type);\r\n        if (index !== -1) {\r\n            var reader = new FileReader();\r\n            reader.onload = (e: any) => {\r\n                var new_image = new Image();\r\n                new_image.src = e.target.result;\r\n                this.cropper.setImage(new_image);\r\n                new_image.onload = () => {\r\n\r\n                    if (new_image.width >= this.image_setting.image_min_width && new_image.width <= this.image_setting.image_max_width &&\r\n                        new_image.height >= this.image_setting.image_min_height && new_image.height <= this.image_setting.image_max_height) {\r\n\r\n                        if (new_image.width == (new_image.height * this.image_setting.image_ratio)) {\r\n                            this.add_vehicle.image_url = e.target.result;\r\n                            this.formData.append('image_url', image_url)\r\n                        } else {\r\n                            this.image_crop_modal.open();\r\n                            this.image_error = this.title.vehicle_image_ratio_error;\r\n                        }\r\n                    } else {\r\n                        this.image_error = this.title.vehicle_image_size_error;\r\n                        this.image_crop_modal.open();\r\n                    }\r\n                }\r\n            }\r\n            reader.readAsDataURL(image_url);\r\n        } else {\r\n            jQuery('#remove').click();\r\n            this.image_error = this.title.vehicle_image_extension_error;\r\n        }\r\n    }\r\n\r\n    crop($event) {\r\n        this.image_error = '';\r\n        function dataURLtoFile(dataurl, filename) {\r\n            var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],\r\n                bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);\r\n            while (n--) {\r\n                u8arr[n] = bstr.charCodeAt(n);\r\n            }\r\n            return new File([u8arr], filename, {type: mime});\r\n        }\r\n        let image_type = this.image_setting.image_type\r\n        image_type = image_type[0].split('/')\r\n        var image_url = dataURLtoFile(this.cropper.image.image, 'image.' + image_type[0]);\r\n\r\n        var reader = new FileReader();\r\n        reader.onload = (e: any) => {\r\n            var new_image = new Image();\r\n            new_image.src = e.target.result;\r\n            // this.cropper.setImage(new_image);\r\n            new_image.onload = () => {\r\n\r\n                if (new_image.width >= this.image_setting.image_min_width && new_image.width <= this.image_setting.image_max_width &&\r\n                    new_image.height >= this.image_setting.image_min_height && new_image.height <= this.image_setting.image_max_height) {\r\n\r\n                    this.add_vehicle.image_url = e.target.result;\r\n                    this.formData.append('image_url', image_url)\r\n                    this.image_crop_modal.close();\r\n\r\n                } else {\r\n                    this.image_error = this.title.vehicle_image_size_error;\r\n                }\r\n\r\n            }\r\n        }\r\n        reader.readAsDataURL(image_url);\r\n\r\n    }\r\n\r\n\r\n    \r\n    map_pin_image_update($event) {\r\n        this.map_pin_image_error = \"\";\r\n        //this.formData = new FormData();\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const map_pin_image_url = files[0];\r\n        var index = this.image_setting.map_pin_image_type.indexOf(map_pin_image_url.type);\r\n        if (index !== -1) {\r\n            var reader = new FileReader();\r\n            reader.onload = (e: any) => {\r\n                var new_image = new Image();\r\n                new_image.src = e.target.result;\r\n                this.cropper_map_pin.setImage(new_image);\r\n                new_image.onload = () => {\r\n                    if (new_image.width >= this.image_setting.map_pin_image_min_width && new_image.width <= this.image_setting.map_pin_image_max_width &&\r\n                        new_image.height >= this.image_setting.map_pin_image_min_height && new_image.height <= this.image_setting.map_pin_image_max_height) {\r\n\r\n                        if (new_image.width == (new_image.height * this.image_setting.map_pin_image_ratio)) {\r\n                            this.formData.append('map_pin_image_url', map_pin_image_url);\r\n                            this.add_vehicle.map_pin_image_url = e.target.result;\r\n                        } else {\r\n                            this.map_pin_image_crop_modal.open();\r\n                            this.map_pin_image_error = this.title.vehicle_image_ratio_error;\r\n                        }\r\n                    } else {\r\n                        this.map_pin_image_error = this.title.vehicle_image_size_error;\r\n                        this.map_pin_image_crop_modal.open();\r\n                    }\r\n                }\r\n            }\r\n            reader.readAsDataURL(map_pin_image_url);\r\n        } else {\r\n            jQuery('#remove').click();\r\n            this.map_pin_image_error = this.title.vehicle_image_extension_error;\r\n        }\r\n    }\r\n    \r\n    \r\n    cropDeliveryMapPin($event) {\r\n        this.map_pin_image_error = '';\r\n        function dataURLtoFile(dataurl, filename) {\r\n            var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],\r\n                bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);\r\n            while (n--) {\r\n                u8arr[n] = bstr.charCodeAt(n);\r\n            }\r\n            return new File([u8arr], filename, {type: mime});\r\n        }\r\n        let map_pin_image_type = this.image_setting.map_pin_image_type\r\n        map_pin_image_type = map_pin_image_type[0].split('/')\r\n        var map_pin_image_url = dataURLtoFile(this.cropper_map_pin.image.image, 'image.' + map_pin_image_type[0]);\r\n\r\n        var reader = new FileReader();\r\n        reader.onload = (e: any) => {\r\n            var new_image = new Image();\r\n            new_image.src = e.target.result;\r\n\r\n            new_image.onload = () => {\r\n               if (new_image.width >= this.image_setting.map_pin_image_min_width && new_image.width <= this.image_setting.map_pin_image_max_width &&\r\n                        new_image.height >= this.image_setting.map_pin_image_min_height && new_image.height <= this.image_setting.map_pin_image_max_height) {\r\n\r\n                    this.add_vehicle.map_pin_image_url = e.target.result;\r\n                    this.formData.append('map_pin_image_url', map_pin_image_url)\r\n                    this.map_pin_image_crop_modal.close();\r\n\r\n                } else {\r\n                    this.map_pin_image_error = this.title.vehicle_image_size_error;\r\n                }\r\n\r\n            }\r\n        }\r\n        reader.readAsDataURL(map_pin_image_url);\r\n\r\n    }\r\n\r\n\r\n\r\n\r\n    addVehicle(vehicle_data) {\r\n        if (this.type == \"add\") {\r\n            this.myLoading = true;\r\n            this.formData.append(\"vehicle_name\", vehicle_data.vehicle_name);\r\n            this.formData.append(\"description\", vehicle_data.description);\r\n            this.formData.append(\"is_business\", vehicle_data.is_business);\r\n            this.helper.http.post('/admin/add_vehicle_data', this.formData).map((res: Response) => res.json()).subscribe(res_data => {\r\n                this.myLoading = false;\r\n                if (res_data.success == false) {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                } else {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n                }\r\n                this.helper.router.navigate(['admin/vehicle']);\r\n            },\r\n                (error: any) => {\r\n                    this.myLoading = false;\r\n                    this.helper.http_status(error)\r\n                });\r\n        } else {\r\n            this.updateVehicle(vehicle_data)\r\n        }\r\n\r\n    }\r\n\r\n\r\n    updateVehicle(vehicle_data) {\r\n        {\r\n            this.myLoading = true;\r\n            this.formData.append(\"vehicle_name\", vehicle_data.vehicle_name);\r\n            this.formData.append(\"description\", vehicle_data.description);\r\n            this.formData.append(\"is_business\", vehicle_data.is_business);\r\n            this.formData.append(\"vehicle_id\", vehicle_data.vehicle_id);\r\n\r\n            this.helper.http.post('/admin/update_vehicle', this.formData).map((res: Response) => res.json()).subscribe(res_data => {\r\n                this.myLoading = false;\r\n                if (res_data.success == false) {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                } else {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n                }\r\n                this.helper.router.navigate(['admin/vehicle']);\r\n\r\n            },\r\n                (error: any) => {\r\n                    this.myLoading = false;\r\n                    this.helper.http_status(error)\r\n                });\r\n        }\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/add_vehicle/add_vehicle.component.ts","import {Component, OnInit, ViewContainerRef} from '@angular/core';\r\nimport {Helper} from \"../../helper\";\r\nimport {Http, Response} from '@angular/http';\r\ndeclare var swal: any;\r\n\r\n@Component({\r\n    selector: 'app-admin',\r\n    template: require('./admin.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class AdminComponent implements OnInit {\r\n    admin_list: any[];\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    public message: string;\r\n    public class: string;\r\n    myLoading: boolean = true;\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    activeRoute(routename: string): boolean {\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n\r\n\r\n    ngOnInit() {\r\n        this.helper.message();\r\n        this.helper.http.get('/admin/lists').map((res: Response) => res.json()).subscribe(data => {\r\n            this.myLoading = false;\r\n\r\n            if (data.success == false) {\r\n                this.admin_list = [];\r\n            }\r\n            else {\r\n                this.admin_list = data.admins;\r\n            }\r\n\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n\r\n\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n\r\n    }\r\n\r\n    editAdmin(id) {\r\n        this.helper.router_id.admin.admin_id = id;\r\n        this.helper.router.navigate(['admin/edit']);\r\n    }\r\n\r\n    deleteAdmin(id, admin_index) {\r\n        swal({\r\n            title: 'Are you sure?',\r\n            text: \"You won't be able to revert this!\",\r\n            type: 'warning',\r\n            showCancelButton: true,\r\n            confirmButtonColor: '#3085d6',\r\n            cancelButtonColor: '#d33',\r\n            confirmButtonText: 'Yes, delete it!'\r\n        }).then(() => {\r\n            this.helper.http.post('/admin/delete', {admin_id: id}).map((response: Response) => response.json()).subscribe(res_data => {\r\n                if (res_data.success == true) {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n\r\n                    this.helper.message();\r\n                    this.admin_list.splice(admin_index, 1);\r\n                }\r\n                else {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                }\r\n            });\r\n            swal(\r\n                'Deleted!',\r\n                'Your file has been deleted.',\r\n                'success'\r\n            );\r\n        }).catch(swal.noop)\r\n    }\r\n\r\n\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/admin/admin.component.ts","import {Component, OnInit, ViewContainerRef} from '@angular/core';\r\nimport {Helper} from \"../../helper\";\r\nimport {Response} from '@angular/http';\r\ndeclare var jQuery: any;\r\nexport interface AdminForgotPassword {\r\n    email: String\r\n}\r\n\r\n@Component({\r\n    selector: 'app-admin_forgot_password',\r\n    template: require('./admin_forgot_password.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class AdminForgotPasswordComponent implements OnInit {\r\n\r\n    private admin_forgot_password: AdminForgotPassword;\r\n    title: any;\r\n    button: any;\r\n    public message: string;\r\n    public class: string;\r\n    validation_message: any;\r\n    myLoading: boolean = false;\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.helper.message()\r\n        this.admin_forgot_password = {\r\n            email: \"\",\r\n        }\r\n        this.title = this.helper.title\r\n        this.button = this.helper.button\r\n        this.validation_message = this.helper.validation_message;\r\n    }\r\n    adminForgotPassword(forgotpassworddata) {\r\n        this.myLoading = true;\r\n        this.helper.http.post('/api/admin/forgot_password', {email:forgotpassworddata.email.trim(), type: 1}).map((res: Response) => res.json()).subscribe(res_data => {\r\n       \r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message();\r\n            }\r\n            else {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.helper.router.navigate(['admin/login']);\r\n\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/admin_forgot_password/admin_forgot_password.component.ts","import {OnInit, Component, ViewContainerRef, ViewChild} from '@angular/core';\r\nimport {Helper} from \"../../helper\";\r\nimport {Http, Response} from '@angular/http';\r\ndeclare var jQuery: any;\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport {Router} from '@angular/router';\r\nimport {ModalComponent} from 'ng2-bs3-modal/ng2-bs3-modal';\r\n\r\n@Component({\r\n    selector: 'admin_login',\r\n    template: require('./admin_login.template.html'),\r\n    providers: [Helper]\r\n})\r\nexport class admin_loginComponent implements OnInit {\r\n    title: any;\r\n    button: any;\r\n    user_token:string='';\r\n    res_data:any;\r\n\r\n    @ViewChild('myModal')\r\n    modal: ModalComponent;\r\n\r\n    myLoading: boolean = true;\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.helper.message();\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n    }\r\n\r\n    check_verify(logindata) {\r\n        logindata.type = 1;\r\n        this.helper.http.post('/login', logindata).map((res: Response) => res.json()).subscribe(res_data => {\r\n            \r\n            this.myLoading = false;\r\n            if (res_data.success == true) {\r\n                // this.res_data = res_data;\r\n                // this.modal.open();\r\n                localStorage.setItem('admin_id', res_data.admin_data._id);\r\n                localStorage.setItem('admin_token', res_data.admin_data.server_token);\r\n                localStorage.setItem('type', '1');\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                if(res_data.admin_data.admin_type == 3){\r\n                    this.helper.router.navigate([res_data.admin_data.urls[0]]);\r\n                } else {\r\n                    this.helper.router.navigate(['/admin/dashboard']);\r\n                }\r\n            } else {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message();\r\n                this.helper.router.navigate(['admin/login']);\r\n\r\n            }\r\n\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    verify_auth_token(){\r\n        this.helper.http.post('/verify_auth_token', {user_token: this.user_token}).map((res: Response) => res.json()).subscribe(res_data => {\r\n            \r\n            this.myLoading = false;\r\n            if (res_data.success == true) {\r\n                this.modal.close();\r\n                localStorage.setItem('admin_id', this.res_data.admin_data._id);\r\n                localStorage.setItem('admin_token', this.res_data.admin_data.server_token);\r\n                localStorage.setItem('type', '1');\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[this.res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                if(this.res_data.admin_data.admin_type == 3){\r\n                    this.helper.router.navigate([this.res_data.admin_data.urls[0]]);\r\n                } else {\r\n                    this.helper.router.navigate(['/admin/dashboard']);\r\n                }\r\n            } else {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": 'Enter Valid Verification Code',\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message();\r\n            }\r\n\r\n        }, (error: any) => {\r\n            this.myLoading = false;\r\n            this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/admin_login/admin_login.component.ts","import { Component, OnInit , ViewContainerRef} from '@angular/core';\r\nimport {Router, ActivatedRoute, Params} from '@angular/router';\r\nimport {Helper} from \"../../helper\";\r\nimport {Response} from '@angular/http';\r\ndeclare var jQuery:any;\r\n\r\nexport interface AdminNewPassword{\r\n        type:string,\r\n        id:Object,\r\n        server_token:string,\r\n        password: String,\r\n        confirm_password: String    \r\n}\r\n\r\n@Component({\r\n  selector: 'app-admin_new_password',\r\n  template: require('./admin_new_password.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class AdminNewPasswordComponent implements OnInit {\r\n    \r\n    private admin_new_password: AdminNewPassword;\r\n    title:any;\r\n    button:any;\r\n    public message: string;\r\n    public class: string;\r\n    validation_message:any;\r\n    myLoading:boolean = true;\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef){\r\n        helper.toastr.setRootViewContainerRef(vcr);\t\t\t\r\n    }\r\n\r\n  \r\n\r\n  ngOnInit() {\r\n      this.helper.message();\r\n\r\n        this.admin_new_password={\r\n            type:\"\",\r\n            id:null,\r\n            server_token:\"\",\r\n            password: \"\",\r\n            confirm_password: \"\"    \r\n        }\r\n        \r\n       this.helper.route.params.subscribe((x: Params) => {\r\n\r\n            var current_date = new Date(Date.now())\r\n            var email_token = x['email_token']\r\n            var json = this.helper.getIDFromEmailToken(email_token);\r\n\r\n            var difference = current_date.getTime() - json.milli_seconds;\r\n            difference = difference/(3600 * 60 * 24)\r\n\r\n            if(difference > 5) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.error_code.TOKEN_INVALID,\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.helper.router.navigate(['admin/login']);\r\n            } else {\r\n                this.admin_new_password={\r\n                    type:'admin',\r\n                    id:json.id,\r\n                    server_token:json.server_token,\r\n                    password: \"\",\r\n                    confirm_password: \"\"\r\n                }\r\n\r\n               this.helper.http.post('/api/admin/check_detail', this.admin_new_password).map((res: Response) => res.json()).subscribe(res_data => { this.myLoading=false;\r\n                   \r\n                    if(!res_data.success)\r\n                    {\r\n                        this.helper.data.storage = {\r\n                            \"code\": res_data.error_code,\r\n                            \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                            \"class\": \"alert-danger\"\r\n                        }\r\n                        this.helper.router.navigate(['admin/login']);\r\n                    }\r\n\r\n                },\r\n                (error: any) => {\r\n                    this.myLoading=false;\r\n                    this.helper.http_status(error)\r\n                });\r\n            }\r\n        });\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.validation_message=this.helper.validation_message\r\n  }\r\n  \r\n  adminNewPassword(newpassworddata)\r\n    {\r\n       this.myLoading = true;\r\n        this.helper.http.post('/api/admin/new_password', this.admin_new_password).map((res: Response) => res.json()).subscribe(res_data => {\r\n            \r\n            this.myLoading = false;\r\n            if(res_data.success == false)\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message()\r\n            }\r\n            else\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.helper.router.navigate(['admin/login']);\r\n                \r\n            }\r\n\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/admin_new_password/admin_new_password.component.ts","import {Component, OnInit, ViewContainerRef} from '@angular/core';\r\nimport {Http, Response} from '@angular/http';\r\ndeclare var jQuery: any;\r\nimport {Helper} from \"../../helper\";\r\n\r\n@Component({\r\n    selector: 'app-admin_view_cart',\r\n    template: require('./admin_view_cart.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class AdminViewCartComponent implements OnInit {\r\n\r\n    order_id: Object;\r\n    order_detail: any[];\r\n    currency_sign: any;\r\n    order_total: number;\r\n    product_item_total: number;\r\n    product_item_total_array: number[];\r\n    product_item_specification_total: number;\r\n    product_item_specification_total_array: number[];\r\n    product_specification_total_array: any[];\r\n    total_item: number;\r\n\r\n    public status: any;\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    ORDER_STATE: any;\r\n    ORDER_STATUS_ID: any;\r\n    DATE_FORMAT: any;\r\n    order_status: number;\r\n    order_status_id: number;\r\n    created_at: any;\r\n    store_accepted_at: any;\r\n    start_preparing_order_at: any;\r\n    order_ready_at: any;\r\n    store_order_created_at: any;\r\n    accepted_at: any;\r\n    cancelled_at: any;\r\n    start_for_pickup_at: any;\r\n    arrived_on_store_at: any;\r\n    picked_order_at: any;\r\n    start_for_delivery_at: any;\r\n    delivered_at: any;\r\n    completed_at: any;\r\n\r\n    invoice_number: string;\r\n    total_order_price: number;\r\n    total_delivery_price: number;\r\n    card_payment: number;\r\n    cash_payment: number;\r\n    is_payment_mode_cash: Boolean = false;\r\n\r\n\r\n    user_name: string = '';\r\n    user_email: string = '';\r\n    provider_name: string = '';\r\n    provider_email: string = '';\r\n    provider_vehicle: string = '';\r\n    myLoading: boolean = true;\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    activeRoute(routename: string): boolean {\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n\r\n    ngOnInit() {\r\n\r\n        this.order_id = this.helper.router_id.admin.order_id;\r\n        this.order_total = 0;\r\n        this.total_item = 0;\r\n        this.product_item_total = 0;\r\n        this.product_item_total_array = [];\r\n        this.product_item_specification_total = 0;\r\n        this.product_item_specification_total_array = [];\r\n        this.product_specification_total_array = [];\r\n\r\n        this.status = this.helper.status;\r\n        this.title = this.helper.title;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.button = this.helper.button;\r\n        this.ORDER_STATE = this.helper.ORDER_STATE;\r\n        this.ORDER_STATUS_ID = this.helper.ORDER_STATUS_ID;\r\n        this.DATE_FORMAT = this.helper.DATE_FORMAT\r\n\r\n        this.invoice_number = '';\r\n        this.total_order_price = 0;\r\n        this.total_delivery_price = 0;\r\n        this.card_payment = 0;\r\n        this.cash_payment = 0;\r\n\r\n        if (this.order_id !== '') {\r\n\r\n            this.helper.http.post('/api/admin/get_order_data', {order_id: this.order_id}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n                this.myLoading = false;\r\n                if (res_data.success == false) {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.router.navigate(['admin/history']);\r\n                }\r\n                else {\r\n\r\n                    this.user_name = res_data.order.user_detail.first_name + ' ' + res_data.order.user_detail.last_name;\r\n                    this.user_email = res_data.order.user_detail.email;\r\n\r\n                    if (res_data.order.provider_detail !== undefined) {\r\n                        this.provider_name = res_data.order.provider_detail.first_name + ' ' + res_data.order.provider_detail.last_name\r\n                        this.provider_email = res_data.order.provider_detail.email;\r\n                    }\r\n\r\n\r\n                    this.invoice_number = res_data.order.invoice_number;\r\n                    this.total_order_price = res_data.order.order_payment_detail.total_order_price\r\n                    this.total_delivery_price = res_data.order.order_payment_detail.total_delivery_price\r\n\r\n                    this.order_status = res_data.order.order_status\r\n                    this.order_status_id = res_data.order.order_status_id\r\n\r\n                    this.created_at = res_data.order.created_at\r\n                    this.store_accepted_at = res_data.order.store_accepted_at\r\n                    this.start_preparing_order_at = res_data.order.start_preparing_order_at\r\n                    this.order_ready_at = res_data.order.order_ready_at\r\n                    this.store_order_created_at = res_data.order.store_order_created_at\r\n                    this.accepted_at = res_data.order.accepted_at\r\n                    this.cancelled_at = res_data.order.cancelled_at\r\n                    this.start_for_pickup_at = res_data.order.start_for_pickup_at\r\n                    this.arrived_on_store_at = res_data.order.arrived_on_store_at\r\n                    this.picked_order_at = res_data.order.picked_order_at\r\n                    this.start_for_delivery_at = res_data.order.start_for_delivery_at\r\n                    this.delivered_at = res_data.order.delivered_at\r\n                    this.completed_at = res_data.order.completed_at\r\n                    \r\n                    this.order_id = res_data.order._id\r\n\r\n                    this.is_payment_mode_cash = res_data.order.order_payment_detail.is_payment_mode_cash;\r\n                    this.card_payment = res_data.order.order_payment_detail.card_payment\r\n                    this.cash_payment = res_data.order.order_payment_detail.cash_payment\r\n\r\n\r\n                    this.order_detail = res_data.order.order_details\r\n                    this.currency_sign = res_data.order.currency\r\n\r\n                    res_data.order.order_details.forEach((product) => {\r\n                        product.items.forEach((item) => {\r\n                            this.order_total = this.order_total + (item.item_price + item.total_specification_price) * item.quantity\r\n                            this.product_item_total = this.product_item_total + (item.item_price + item.total_specification_price) * item.quantity\r\n                            this.total_item = this.total_item + 1;\r\n                            item.specifications.forEach((specification) => {\r\n                                this.product_item_specification_total = this.product_item_specification_total + specification.specification_price;\r\n                            })\r\n                            this.product_item_specification_total_array.push(this.product_item_specification_total)\r\n                            this.product_item_specification_total = 0;\r\n                        })\r\n                        this.product_specification_total_array.push(this.product_item_specification_total_array)\r\n                        this.product_item_specification_total_array = [];\r\n                        this.product_item_total_array.push(this.product_item_total)\r\n                        this.product_item_total = 0;\r\n                    })\r\n                }\r\n            },\r\n                (error: any) => {\r\n                    this.myLoading = false;\r\n                    this.helper.http_status(error)\r\n                });\r\n        }\r\n        else {\r\n            this.helper.router.navigate(['admin/history']);\r\n        }\r\n\r\n\r\n\r\n    }\r\n    viewOrderEarningDetail(id) {\r\n        this.helper.router_id.admin.view_order_earning_id = id;\r\n        this.helper.router.navigate(['admin/order_earning_detail']);\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/admin_view_cart/admin_view_cart.component.ts","import {Component, OnInit, ViewContainerRef} from '@angular/core';\r\nimport {Response} from '@angular/http';\r\nimport {Helper} from \"../../helper\";\r\ndeclare var jQuery: any;\r\n\r\ndeclare var swal: any;\r\n\r\n@Component({\r\n    selector: 'app-advertise',\r\n    template: require('./advertise.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class AdvertiseComponent implements OnInit {\r\n\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    DATE_FORMAT: any;\r\n    public message: string = \"\";\r\n    public class: string;\r\n    country_list: any[];\r\n    city_list: any[];\r\n    filtered_country_list: any[] = [];\r\n    selected_country: string;\r\n    selected_is_ads_visible: boolean;\r\n    filter_country_name: String = \"\";\r\n    myLoading: boolean = true;\r\n\r\n    advertise_index: number;\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n    ngAfterViewInit() {\r\n        jQuery(\"#ads_type\").chosen({disable_search: true});\r\n        jQuery(\".chosen-select\").chosen();\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n\r\n    }\r\n\r\n    activeRoute(routename: string): boolean {\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n\r\n\r\n\r\n    ngOnInit() {\r\n        this.helper.message();\r\n\r\n        this.title = this.helper.title\r\n        this.button = this.helper.button\r\n        this.DATE_FORMAT = this.helper.DATE_FORMAT\r\n        this.heading_title = this.helper.heading_title;\r\n        this.selected_country = this.title.all\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#selected_country').on('change', (evnt, res_data) => {\r\n\r\n            this.selected_country = res_data.selected;\r\n            this.get_city_list(res_data.selected);\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#selected_is_ads_visible').on('change', (evnt, res_data) => {\r\n\r\n            this.selected_is_ads_visible = res_data.selected;\r\n            this.get_visible_advertise_list(res_data.selected);\r\n\r\n        });\r\n\r\n        this.helper.http.post('/admin/advertise_list', {}).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n\r\n            this.myLoading = false;\r\n\r\n            if (res_data.success == false) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n\r\n                this.country_list = [];\r\n                this.filtered_country_list = [];\r\n                //this.helper.message()\r\n            }\r\n            else {\r\n\r\n                this.country_list = res_data.countries;\r\n                this.filtered_country_list = res_data.countries;\r\n\r\n                //               \r\n\r\n\r\n                setTimeout(function () {\r\n                    jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n                }, 1000);\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n\r\n\r\n    }\r\n    get_city_list(countryid) {\r\n        this.selected_country = countryid;\r\n        this.helper.http.post('/api/admin/get_city_list', {country_id: countryid}).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            this.city_list = res_data.cities\r\n        });\r\n        setTimeout(function () {\r\n            jQuery(\"#select_city\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n    }\r\n\r\n    get_visible_advertise_list(is_ads_visible) {\r\n\r\n        this.selected_is_ads_visible = is_ads_visible;\r\n        this.helper.http.post('/admin/get_visible_advertiset', {is_ads_visible: is_ads_visible}).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            this.filtered_country_list = res_data.advertises;\r\n        });\r\n    }\r\n\r\n    filter_ads(data) {\r\n        data = data.replace(/^\\s+|\\s+$/g, '');\r\n        data = data.replace(/ +(?= )/g, '');\r\n        data = new RegExp(data, \"gi\");\r\n\r\n        var country_array = [];\r\n        this.country_list.forEach((country) => {\r\n            var advertise_array = country.advertises_detail.filter((advertise_data) => {\r\n                var a = advertise_data.country_id.match(data);\r\n                return a !== null;\r\n            })\r\n            if (advertise_array.length > 0) {\r\n                country_array.push({_id: country._id, advertises: advertise_array})\r\n            }\r\n        });\r\n        this.filtered_country_list = country_array;\r\n    }\r\n\r\n    delete_advertise(advertise_id, index, advertise_index) {\r\n        swal({\r\n            title: 'Are you sure?',\r\n            text: \"You won't be able to revert this!\",\r\n            type: 'warning',\r\n            showCancelButton: true,\r\n            confirmButtonColor: '#3085d6',\r\n            cancelButtonColor: '#d33',\r\n            confirmButtonText: 'Yes, delete it!'\r\n        }).then(() => {\r\n\r\n            this.filtered_country_list[index].advertises_detail.splice(advertise_index, 1);\r\n            this.helper.http.post('/admin/delete_advertise', {\r\n                advertise_id: advertise_id\r\n            }).map((res: Response) => res.json()).subscribe(res_data => {\r\n                if (res_data.success == true) {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n\r\n                    this.helper.message();\r\n                }\r\n                else {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                }\r\n            });\r\n\r\n            swal(\r\n                'Deleted!',\r\n                'Your file has been deleted.',\r\n                'success'\r\n            );\r\n        }).catch(swal.noop)\r\n    }\r\n\r\n    onChange(id, event) {\r\n        this.helper.http.post('/admin/change_advertise_visibility', {advertise_id: id, is_ads_visible: event}).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            if (res_data.success == false) {\r\n\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    onChange_visible(event) {\r\n        this.helper.http.post('/admin/get_visible_advertise', {is_ads_visible: event}).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            if (res_data.success == true) {\r\n                this.filtered_country_list = res_data.countries;\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n\r\n    editAdvertise(id) {\r\n        this.helper.router_id.admin.advertise_id = id;\r\n        this.helper.router.navigate(['admin/advertise/edit']);\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/advertise/advertise.component.ts","import {Component, OnInit} from '@angular/core';\r\n\r\nimport {Helper} from \"../../helper\";\r\nimport {Response} from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\n\r\ndeclare var google: any;\r\ndeclare var jQuery: any;\r\n\r\n@Component({\r\n    selector: 'app-all-city',\r\n    template: require('./all-city.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class AllCityComponent implements OnInit {\r\n\r\n    constructor(private helper: Helper) {}\r\n    map: any = '';\r\n    drawingManager: any;\r\n    city_list: any[] = [];\r\n    filtered_city_list: any = [];\r\n    country_list: any[] = [];\r\n    selected_country: string = \"All\";\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    ngAfterViewInit() {\r\n        jQuery(\".chosen-select\").chosen({disable_search: true});\r\n\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n\r\n\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        var directionsDisplay = new google.maps.DirectionsRenderer;\r\n        this.map = new google.maps.Map(document.getElementById('map'), {\r\n            zoom: 7,\r\n            streetViewControl: false,\r\n            center: {lat: 22, lng: 70}\r\n        });\r\n\r\n        var infoWindow = null;\r\n\r\n//        this.helper.http.get('api/admin/get_country_list').map((res: Response) => res.json()).subscribe(res_data => {\r\n//\r\n//            if (res_data.success) {\r\n//                this.country_list = res_data.countries;\r\n//              \r\n//            }\r\n//            else {\r\n//                this.country_list = [];\r\n//            }\r\n//\r\n//        });\r\n//        setTimeout(function () {\r\n//            jQuery(\"#selected_country\").trigger(\"chosen:updated\");\r\n//        }, 1000);\r\n\r\n        var input = document.getElementById('search');\r\n        var searchBox = new google.maps.places.SearchBox(input);\r\n        this.map.addListener('bounds_changed', () => {\r\n            searchBox.setBounds(this.map.getBounds());\r\n        });\r\n        searchBox.addListener('places_changed', () => {\r\n            var places = searchBox.getPlaces();\r\n            var bounds = new google.maps.LatLngBounds();\r\n            places.forEach(function (place) {\r\n                if (place.geometry.viewport) {\r\n                    bounds.union(place.geometry.viewport);\r\n                } else {\r\n                    bounds.extend(place.geometry.location);\r\n                }\r\n            });\r\n            this.map.fitBounds(bounds);\r\n        });\r\n\r\n\r\n//        jQuery(this.helper.elementRef.nativeElement).find('#selected_country').on('change', (evnt, res_data) => {\r\n//\r\n//            this.selected_country = res_data.selected;\r\n//            this.check_country()\r\n//\r\n//\r\n//        });\r\n\r\n        this.helper.http.post('/admin/get_all_city_list', {}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n            this.city_list = res_data.city_list;\r\n\r\n\r\n            this.city_list.forEach((city) => {\r\n                if (city.is_use_radius) {\r\n                    var cityCircle = new google.maps.Circle({\r\n                        strokeColor: '#FF0000',\r\n                        strokeOpacity: 0.8,\r\n                        strokeWeight: 2,\r\n                        fillColor: '#FF0000',\r\n                        fillOpacity: 0.35,\r\n                        map: this.map,\r\n                        center: {lat: city.city_lat_long[0], lng: city.city_lat_long[1]},\r\n                        radius: city.city_radius * 1000\r\n                    });\r\n                    google.maps.event.addListener(cityCircle, 'click', (event) => {\r\n\r\n                        if (infoWindow) {\r\n                            infoWindow.close();\r\n                        }\r\n\r\n                        infoWindow = new google.maps.InfoWindow({\r\n                            content: city.city_name,\r\n                            maxWidth: 320\r\n                        });\r\n\r\n                        infoWindow.setPosition(event.latLng);\r\n                        infoWindow.open(this.map, cityCircle);\r\n                    });\r\n\r\n                } else {\r\n                    let city_location = city.city_locations;\r\n                    let array = [];\r\n                    city_location.forEach((location) => {\r\n                        array.push({lat: Number(location[1]), lng: Number(location[0])})\r\n                    });\r\n                    let polygon = new google.maps.Polygon({\r\n                        map: this.map,\r\n                        paths: array,\r\n                        strokeColor: 'black',\r\n                        strokeOpacity: 1,\r\n                        strokeWeight: 1.2,\r\n                        fillColor: 'black',\r\n                        fillOpacity: 0.3,\r\n                        draggable: false,\r\n                        geodesic: true,\r\n                        editable: false\r\n                    });\r\n                    google.maps.event.addListener(polygon, 'click', (event) => {\r\n\r\n                        if (infoWindow) {\r\n                            infoWindow.close();\r\n                        }\r\n\r\n                        infoWindow = new google.maps.InfoWindow({\r\n                            content: city.city_name,\r\n                            maxWidth: 320\r\n                        });\r\n\r\n                        infoWindow.setPosition(event.latLng);\r\n                        infoWindow.open(this.map, polygon);\r\n                    });\r\n                }\r\n\r\n            });\r\n\r\n            //this.check_country();\r\n        });\r\n    }\r\n\r\n//    check_country() {\r\n//        console.log(\"check_country\");\r\n//        this.filtered_city_list = this.city_list.filter((city_data) => {\r\n//            console.log(this.selected_country);\r\n//\r\n//            return (this.selected_country == 'All' || this.selected_country == city_data.country_id);\r\n//        });\r\n//    }\r\n\r\n\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/all-city/all-city.component.ts","import {Component, OnInit, ViewContainerRef, ViewChild} from '@angular/core';\r\nimport {Response} from '@angular/http';\r\nimport {Helper} from \"../../helper\";\r\ndeclare var jQuery: any;\r\nimport { ModalComponent } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport * as jsPDF from 'jspdf';\r\n\r\n@Component({\r\n    selector: 'app-analytics',\r\n    template: require('./analytics.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class AnalyticsComponent implements OnInit {\r\n\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    lable_title: any;\r\n    DATE_FORMAT: any;\r\n    sort_field: string;\r\n    sort_order: number;\r\n    search_field: string;\r\n    city_id: string;\r\n    city_list: any[]=[];\r\n    date_filter: string;\r\n    search_value: string;\r\n    start_date: string;\r\n    end_date: string;\r\n    myLoading: boolean = true;\r\n    analytics_total: any = {\r\n        total_order: 0,\r\n        total_not_order: 0,\r\n        total_order_in_hop_delivery: 0,\r\n        total_order_in_hop_ch: 0,\r\n        total_order_in_whop: 0,\r\n        total_order_in_android: 0,\r\n        total_order_in_odh: 0,\r\n        total_order_in_ios: 0,\r\n        total_order_in_admin: 0,\r\n        total_order_in_store: 0,\r\n        total_order_in_hopper: 0,\r\n        total_visit: 0,\r\n        total_visit_in_hop_delivery: 0,\r\n        total_visit_in_hop_ch: 0,\r\n        total_visit_in_whop: 0,\r\n        total_visit_in_android: 0,\r\n        total_visit_in_ios: 0,\r\n        total_checkout: 0,\r\n        total_checkout_in_hop_delivery: 0,\r\n        total_checkout_in_hop_ch: 0,\r\n        total_checkout_in_whop: 0,\r\n        total_checkout_in_android: 0,\r\n        total_checkout_in_odh: 0,\r\n        total_checkout_in_ios: 0,\r\n        total_checkout_in_hopper: 0,\r\n    }\r\n\r\n    analytics_list: any[] = [];\r\n\r\n    constructor(private helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n    ngAfterViewInit() {\r\n\r\n        jQuery(\".chosen-select\").chosen({disable_search: true});\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.sort_field = \"store_name\";\r\n        this.sort_order = -1;\r\n        this.search_field = 'store_name';\r\n        this.city_id = '';\r\n        this.date_filter = 'today';\r\n        this.search_value = \"\";\r\n        this.start_date = '';\r\n        this.end_date = '';\r\n\r\n\r\n        this.helper.message()\r\n\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.lable_title = this.helper.lable_title\r\n        this.DATE_FORMAT = this.helper.DATE_FORMAT\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_field').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_field = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_order').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_order = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#search_field').on('change', (evnt, res_data) => {\r\n\r\n            this.search_field = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#city_id').on('change', (evnt, res_data) => {\r\n\r\n            this.city_id = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#date_filter').on('change', (evnt, res_data) => {\r\n\r\n            this.date_filter = res_data.selected;\r\n\r\n        });\r\n\r\n        this.helper.http.post('/admin/city_list_search_sort', {}).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n\r\n            if (res_data.success == false) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n\r\n                this.city_list = [];\r\n            }\r\n            else {\r\n                var city_array = res_data.countries.map((city_data) => {\r\n                    // city_data.cities.forEach((city_detail)=>{\r\n                        return city_data.cities;\r\n                    // })\r\n                })\r\n                city_array = city_array.flat()\r\n                //[].concat(...arr);\r\n                this.city_list = city_array;\r\n            }\r\n\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        })\r\n\r\n        this.get_analytics_detail();\r\n    }\r\n\r\n    get_analytics_detail() {\r\n        this.myLoading = true;\r\n        this.helper.http.post('/admin/get_analytics_detail', {\r\n            start_date: this.start_date, end_date: this.end_date,\r\n            sort_field: this.sort_field,\r\n            sort_order: this.sort_order,\r\n            search_value: this.search_value,\r\n            search_field: this.search_field,\r\n            city_id: this.city_id,\r\n            date_filter: this.date_filter\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n                this.analytics_list = [];\r\n                this.analytics_total = {\r\n                    total_order: 0,\r\n                    total_not_order: 0,\r\n                    total_order_in_hop_delivery: 0,\r\n                    total_order_in_hop_ch: 0,\r\n                    total_order_in_whop: 0,\r\n                    total_order_in_android: 0,\r\n                    total_order_in_ios: 0,\r\n                    total_order_in_admin: 0,\r\n                    total_order_in_store: 0,\r\n\t\t\t\t\ttotal_order_in_odh: 0,\r\n                    total_visit: 0,\r\n                    total_visit_in_hop_delivery: 0,\r\n                    total_visit_in_hop_ch: 0,\r\n                    total_visit_in_whop: 0,\r\n                    total_visit_in_android: 0,\r\n                    total_visit_in_ios: 0,\r\n                    total_checkout: 0,\r\n                    total_checkout_in_hop_delivery: 0,\r\n                    total_checkout_in_hop_ch: 0,\r\n                    total_checkout_in_whop: 0,\r\n                    total_checkout_in_android: 0,\r\n                    total_checkout_in_odh: 0,\r\n                    total_checkout_in_ios: 0,\r\n                    total_visit_in_hopper: 0,\r\n                    total_checkout_in_hopper: 0\r\n                }\r\n            } else {\r\n                this.analytics_total = res_data.analytics_total;\r\n                this.analytics_total.total_order = this.analytics_total.total_order_in_hop_delivery + this.analytics_total.total_order_in_hop_ch + this.analytics_total.total_order_in_whop + this.analytics_total.total_order_in_android + this.analytics_total.total_order_in_odh + this.analytics_total.total_order_in_ios + this.analytics_total.total_order_in_hopper + this.analytics_total.total_order_in_store + this.analytics_total.total_order_in_admin; \r\n                this.analytics_total.total_visit = this.analytics_total.total_visit_in_hop_delivery + this.analytics_total.total_visit_in_hop_ch + this.analytics_total.total_visit_in_whop + this.analytics_total.total_visit_in_android + this.analytics_total.total_visit_in_ios; \r\n                this.analytics_total.total_checkout = this.analytics_total.total_checkout_in_hop_delivery + this.analytics_total.total_checkout_in_hop_ch + this.analytics_total.total_checkout_in_whop + this.analytics_total.total_checkout_in_android + this.analytics_total.total_checkout_in_odh + this.analytics_total.total_checkout_in_ios + this.analytics_total.total_checkout_in_hopper; \r\n                this.analytics_total.total_not_order = this.analytics_total.total_visit - this.analytics_total.total_order;\r\n                this.analytics_list = res_data.analytics_list;\r\n                this.analytics_list.sort((a,b) => {\r\n                    if (a.store_name > b.store_name)\r\n                        return -1;\r\n                    if (a.store_name < b.store_name)\r\n                        return 1;\r\n                    return 0;\r\n                });\r\n                this.analytics_list.sort((a,b) => {\r\n                    if (a[this.sort_field] > b[this.sort_field])\r\n                        return this.sort_order;\r\n                    if (a[this.sort_field] < b[this.sort_field])\r\n                        return -(this.sort_order);\r\n                    return 0;\r\n                });\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error);\r\n            });\r\n    }\r\n\r\n    sortData(a,b) {\r\n        if (a[this.sort_field] > b[this.sort_field])\r\n            return -1;\r\n        if (a[this.sort_field] < b[this.sort_field])\r\n            return 1;\r\n        return 0;\r\n    }\r\n    \r\n    wallet_history_export_csv() {\r\n         this.helper.http.post('/admin/get_wallet_detail', {\r\n            start_date: this.start_date, end_date: this.end_date,\r\n            sort_field: this.sort_field, date_filter: this.date_filter,\r\n            search_field: this.search_field, search_value: this.search_value\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            var json2csv = require('json2csv');\r\n            res_data.wallet.forEach((wallet_detail, index) => {\r\n                if (wallet_detail.user_type == 7) {\r\n                    wallet_detail.type = this.lable_title.user;\r\n                } else if (wallet_detail.user_type == 8) {\r\n                    wallet_detail.type = this.lable_title.provider;\r\n                }else if (wallet_detail.user_type == 2) {\r\n                    wallet_detail.type = this.lable_title.store;\r\n                }\r\n                \r\n                \r\n                switch (wallet_detail.user_type) {\r\n                    case 7:\r\n                        wallet_detail.email = wallet_detail.user_detail[0].email;\r\n                        break;\r\n                    case 8:\r\n                        wallet_detail.email = wallet_detail.provider_detail[0].email;\r\n                        break;\r\n                    case 2:\r\n                        wallet_detail.email = wallet_detail.store_detail[0].email;\r\n                        break;\r\n                    default:\r\n                        wallet_detail.email = '';\r\n                }\r\n                \r\n                switch (wallet_detail.user_type) {\r\n                    case 7:\r\n                        wallet_detail.wallet_currency_code = wallet_detail.user_detail[0].wallet_currency_code;\r\n                        break;\r\n                    case 8:\r\n                        wallet_detail.wallet_currency_code = wallet_detail.provider_detail[0].wallet_currency_code;\r\n                        break;\r\n                    case 2:\r\n                        wallet_detail.wallet_currency_code = wallet_detail.store_detail[0].wallet_currency_code;\r\n                        break;\r\n                    default:\r\n                        wallet_detail.wallet_currency_code = '';\r\n                }\r\n                \r\n            });\r\n\r\n            var fieldNames = [this.title.ID,\r\n            this.title.type,\r\n            this.title.email,\r\n            this.title.date,\r\n            this.title.country,\r\n            this.title.currency,\r\n            this.title.wallet_amount,\r\n            this.title.add_cut,\r\n            this.title.wallet,\r\n            this.title.from_where\r\n            ];\r\n            var fields = ['unique_id',\r\n                'type',\r\n                'email',\r\n                'created_at',\r\n                // 'country_details.country_name',\r\n                'wallet_currency_code',\r\n                'wallet_amount',\r\n                'added_wallet',\r\n                'total_wallet_amount',\r\n                'wallet_description'\r\n            ];\r\n\r\n           \r\n            var csv = json2csv({data: res_data.wallet, fields: fields, fieldNames: fieldNames});\r\n\r\n            var final_csv: any = csv;\r\n            this.helper.downloadFile(final_csv);\r\n        });\r\n    }\r\n    \r\n    wallet_history_export_excel() {\r\n         this.helper.http.post('/admin/get_wallet_detail', {\r\n            start_date: this.start_date, end_date: this.end_date,\r\n            sort_field: this.sort_field, date_filter: this.date_filter,\r\n            search_field: this.search_field, search_value: this.search_value\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            var json_data = [];\r\n            var json2excel = require('js2excel');\r\n            res_data.wallet.forEach((wallet_detail, index) => {\r\n                if (wallet_detail.user_type == 7) {\r\n                    wallet_detail.type = this.lable_title.user;\r\n                } else if (wallet_detail.user_type == 8) {\r\n                    wallet_detail.type = this.lable_title.provider;\r\n                }else if (wallet_detail.user_type == 2) {\r\n                    wallet_detail.type = this.lable_title.store;\r\n                }\r\n                \r\n                \r\n                switch (wallet_detail.user_type) {\r\n                    case 7:\r\n                        wallet_detail.email = wallet_detail.user_detail[0].email;\r\n                        break;\r\n                    case 8:\r\n                        wallet_detail.email = wallet_detail.provider_detail[0].email;\r\n                        break;\r\n                    case 2:\r\n                        wallet_detail.email = wallet_detail.store_detail[0].email;\r\n                        break;\r\n                    default:\r\n                        wallet_detail.email = '';\r\n                }\r\n                \r\n                switch (wallet_detail.user_type) {\r\n                    case 7:\r\n                        wallet_detail.wallet_currency_code = wallet_detail.user_detail[0].wallet_currency_code;\r\n                        break;\r\n                    case 8:\r\n                        wallet_detail.wallet_currency_code = wallet_detail.provider_detail[0].wallet_currency_code;\r\n                        break;\r\n                    case 2:\r\n                        wallet_detail.wallet_currency_code = wallet_detail.store_detail[0].wallet_currency_code;\r\n                        break;\r\n                    default:\r\n                        wallet_detail.wallet_currency_code = '';\r\n                }\r\n                \r\n                \r\n                 json_data.push({\r\n                    \"ID\": wallet_detail.unique_id,\r\n                    \"Type\":wallet_detail.type,\r\n                    \"Email\":wallet_detail.email,\r\n                    // \"Country\":wallet_detail.country_details.country_name,\r\n                    \"Currency\":wallet_detail.wallet_currency_code,\r\n                    \"Wallet Amount\":wallet_detail.wallet_amount,\r\n                    \"Add/Cut\":wallet_detail.added_wallet,\r\n                    \"Wallet\":wallet_detail.total_wallet_amount,\r\n                    \"From Where\":wallet_detail.wallet_description,\r\n                    \"Date\":wallet_detail.created_at\r\n                 });\r\n                \r\n                \r\n            });\r\n            \r\n            json2excel.json2excel({\r\n                data: json_data,\r\n                name: 'wallet_history_excel',\r\n                formateDate: 'yyyy/mm/dd'\r\n            });\r\n           \r\n           \r\n        });\r\n    }\r\n\r\n    export_pdf(){\r\n        // jQuery(\"tr\").remove(\"#hide\");\r\n        var node = document.getElementById('analytics_data');\r\n        console.log(node)\r\n        var doc = new jsPDF({\r\n            format: \"a1\"\r\n        });          \r\n        doc.fromHTML(\r\n            node,\r\n            10,\r\n            10\r\n        );\r\n        doc.save('analytics.pdf');\r\n        // jQuery(\"thead\").prepend('<tr id=\"hide\"><th style=\"border-right: 1px solid #DDDDDD;\"></th><th colspan=\"6\" class=\"text-center\" style=\"border-right: 1px solid #DDDDDD;\">Visit</th><th colspan=\"8\" class=\"text-center\">Order</th></tr>');\r\n    }\r\n\r\n    export_excel(){\r\n        var json2csv = require('json2csv');\r\n\r\n        var fieldNames = [\r\n            this.title.store,\r\n            'hop.delivery',\r\n            'hop.ch',\r\n            'whop',\r\n            'ios',\r\n            'Android',\r\n            'Total',\r\n            'hop.delivery',\r\n            'hop.ch',\r\n            'whop',\r\n            'ios',\r\n            'Android',\r\n            'Admin',\r\n            'Store',\r\n            'Total',\r\n        ];\r\n\r\n        var fields = [    \r\n            'store_name',\r\n            'total_visit_in_hop_delivery',\r\n            'total_visit_in_hop_ch',\r\n            'total_visit_in_whop',\r\n            'total_visit_in_ios',\r\n            'total_visit_in_android',\r\n            'total_visit',\r\n            'total_order_in_hop_delivery',\r\n            'total_order_in_hop_ch',\r\n            'total_order_in_whop',\r\n            'total_order_in_ios',\r\n            'total_order_in_android',\r\n            'total_order_in_admin',\r\n            'total_order_in_store',\r\n\t\t\t'total_order_in_odh',\r\n            'total_order'\r\n        ]\r\n\r\n        var visit_fieldNames = [\r\n            this.title.total_visit,\r\n            this.title.total_visit_in_whop,\r\n            this.title.total_visit_in_web,\r\n            this.title.total_visit_in_android,\r\n            this.title.total_visit_in_ios\r\n        ]\r\n        this.analytics_total.total_visit_in_web = this.analytics_total.total_visit_in_hop_delivery + this.analytics_total.total_visit_in_hop_ch;\r\n        var visit_fields = [\r\n            'total_visit',\r\n            'total_visit_in_whop',\r\n            'total_visit_in_web',\r\n            'total_visit_in_android',\r\n            'total_visit_in_ios'\r\n        ]\r\n\r\n        var checkout_fieldNames = [\r\n            this.title.total_checkout,\r\n            this.title.total_checkout_in_whop,\r\n            this.title.total_checkout_in_web,\r\n            this.title.total_checkout_in_android,\r\n            this.title.total_checkout_in_odh,\r\n            this.title.total_checkout_in_ios,\r\n            this.title.total_checkout_in_hopper\r\n        ]\r\n        this.analytics_total.total_checkout_in_web = this.analytics_total.total_checkout_in_hop_delivery + this.analytics_total.total_checkout_in_hop_ch;\r\n        var checkout_fields = [\r\n            'total_checkout',\r\n            'total_checkout_in_whop',\r\n            'total_checkout_in_web',\r\n            'total_checkout_in_android',\r\n            'total_checkout_in_odh',\r\n            'total_checkout_in_ios',\r\n            'total_checkout_in_hopper'\r\n        ]\r\n\r\n        var order_fieldNames = [\r\n            this.title.total_order,\r\n            this.title.total_order_in_whop,\r\n            this.title.total_order_in_web,\r\n            this.title.total_order_in_android,\r\n            this.title.total_order_in_ios,\r\n            this.title.total_order_in_hopper,\r\n            this.title.total_order_in_admin,\r\n            this.title.total_order_in_odh,\r\n            this.title.total_order_in_store\r\n        ]\r\n        this.analytics_total.total_order_in_web = this.analytics_total.total_order_in_hop_delivery + this.analytics_total.total_order_in_hop_ch;\r\n        var order_fields = [\r\n            'total_order',\r\n            'total_order_in_whop',\r\n            'total_order_in_web',\r\n            'total_order_in_android',\r\n            'total_order_in_ios',\r\n            'total_order_in_hopper',\r\n            'total_order_in_admin',\r\n            'total_order_in_odh',\r\n            'total_order_in_store'\r\n        ]\r\n\r\n        var csv = json2csv({data: this.analytics_list, fields: fields, fieldNames: fieldNames});\r\n        var visit_csv = json2csv({data: this.analytics_total, fields: visit_fields, fieldNames: visit_fieldNames});\r\n        var checkout_csv = json2csv({data: this.analytics_total, fields: checkout_fields, fieldNames: checkout_fieldNames});\r\n        var order_csv = json2csv({data: this.analytics_total, fields: order_fields, fieldNames: order_fieldNames});\r\n        \r\n        var final_csv: any = visit_csv + \"\\n\" + \"\\n\" + checkout_csv + \"\\n\" + \"\\n\" + order_csv + \"\\n\" + \"\\n\" + csv\r\n\r\n        this.helper.downloadFile(final_csv);\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/analytics/analytics.component.ts","import {Component, OnInit, ViewContainerRef} from '@angular/core';\r\nimport {Http, Response} from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\n\r\nimport {Helper} from \"../../helper\";\r\n\r\nexport interface AppSetting {\r\n\r\n    default_search_radius: Number,\r\n    provider_timeout: Number,\r\n    store_timeout: Number,\r\n    app_name: String,\r\n    scheduled_request_pre_start_minute: Number,\r\n    number_of_try_for_scheduled_request: Number\r\n\r\n}\r\n\r\n@Component({\r\n    selector: 'app-app_setting',\r\n    template: require('./app_setting.component.html')\r\n})\r\nexport class AppSettingComponent implements OnInit {\r\n\r\n    private app_setting: AppSetting;\r\n    title: any;\r\n    button: any;\r\n    type: String;\r\n    heading_title: any;\r\n    edit_button: Boolean;\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    ngOnInit() {\r\n        \r\n        this.app_setting = {\r\n            default_search_radius: null,\r\n            provider_timeout: null,\r\n            store_timeout: null,\r\n            app_name: \"\",\r\n            scheduled_request_pre_start_minute: null,\r\n            number_of_try_for_scheduled_request: null\r\n        }\r\n        \r\n        var admin_id = localStorage.getItem('admin_id');\r\n        if (admin_id != \"\" || admin_id != undefined) {\r\n            this.helper.http.post('/admin/get_detail', {admin_id: admin_id}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n                \r\n                if (res_data.success == true) {\r\n                    if (res_data.admin.admin_type == 3) {\r\n                        this.edit_button = false;\r\n                    }\r\n                }\r\n            });\r\n        }\r\n        \r\n        this.helper.http.post('/api/admin/get_setting_detail', {}).map((res: Response) => res.json()).subscribe(res_data => {\r\n            \r\n            this.app_setting.default_search_radius = res_data.setting.default_search_radius,\r\n                this.app_setting.provider_timeout = res_data.setting.provider_timeout,\r\n                this.app_setting.store_timeout = res_data.setting.store_timeout,\r\n                this.app_setting.app_name = res_data.setting.app_name,\r\n                this.app_setting.scheduled_request_pre_start_minute = res_data.setting.scheduled_request_pre_start_minute,\r\n                this.app_setting.number_of_try_for_scheduled_request = res_data.setting.number_of_try_for_scheduled_request\r\n\r\n        });\r\n\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n    }\r\n\r\n    AppSetting(appsettingdata) {\r\n        this.helper.http.post('/admin/update_app_setting', appsettingdata).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            if (res_data.success == true) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.helper.message();\r\n                this.helper.router.navigate(['setting/app_setting']);\r\n            }\r\n            else {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message();\r\n                this.helper.router.navigate(['setting/app_setting']);\r\n            }\r\n\r\n        });\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/app_setting/app_setting.component.ts","import {Component, OnInit, ViewContainerRef} from '@angular/core';\r\nimport {Http, Response} from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\n\r\nimport {Helper} from \"../../helper\";\r\n\r\nexport interface UpdateVersionSetting {\r\n\r\n    android_user_app_version_code: String,\r\n    is_android_user_app_open_update_dialog: Boolean,\r\n    is_android_user_app_force_update: Boolean,\r\n    android_provider_app_version_code: String,\r\n    is_android_provider_app_open_update_dialog: Boolean,\r\n    is_android_provider_app_force_update: Boolean,\r\n    android_store_app_version_code: String,\r\n    is_android_store_app_open_update_dialog: Boolean,\r\n    is_android_store_app_force_update: Boolean,\r\n    ios_user_app_version_code: String,\r\n    is_ios_user_app_open_update_dialog: Boolean,\r\n    is_ios_user_app_force_update: Boolean,\r\n    ios_provider_app_version_code: String,\r\n    is_ios_provider_app_open_update_dialog: Boolean,\r\n    is_ios_provider_app_force_update: Boolean,\r\n    ios_store_app_version_code: String,\r\n    is_ios_store_app_open_update_dialog: Boolean,\r\n    is_ios_store_app_force_update: Boolean\r\n\r\n\r\n\r\n}\r\n\r\n@Component({\r\n    selector: 'app-app_update_setting',\r\n    template: require('./app_update_setting.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class AppUpdateSettingComponent implements OnInit {\r\n\r\n    private update_version_setting: UpdateVersionSetting;\r\n    title: any;\r\n    button: any;\r\n    type: String;\r\n    heading_title: any;\r\n    edit_button: Boolean;\r\n    myLoading: boolean = true;\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.update_version_setting = {\r\n\r\n            android_user_app_version_code: \"\",\r\n            is_android_user_app_open_update_dialog: false,\r\n            is_android_user_app_force_update: false,\r\n            android_provider_app_version_code: \"\",\r\n            is_android_provider_app_open_update_dialog: false,\r\n            is_android_provider_app_force_update: false,\r\n            android_store_app_version_code: \"\",\r\n            is_android_store_app_open_update_dialog: false,\r\n            is_android_store_app_force_update: false,\r\n            ios_user_app_version_code: \"\",\r\n            is_ios_user_app_open_update_dialog: false,\r\n            is_ios_user_app_force_update: false,\r\n            ios_provider_app_version_code: \"\",\r\n            is_ios_provider_app_open_update_dialog: false,\r\n            is_ios_provider_app_force_update: false,\r\n            ios_store_app_version_code: \"\",\r\n            is_ios_store_app_open_update_dialog: false,\r\n            is_ios_store_app_force_update: false\r\n\r\n\r\n        }\r\n        var admin_id = localStorage.getItem('admin_id');\r\n        if (admin_id != \"\" || admin_id != undefined) {\r\n            this.helper.http.post('/admin/get_detail', {admin_id: admin_id}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n                if (res_data.success == true) {\r\n                    if (res_data.admin.admin_type == 3) {\r\n                        this.edit_button = false;\r\n                    }\r\n                }\r\n            });\r\n        }\r\n        this.helper.http.post('/api/admin/get_app_keys', {}).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            this.update_version_setting.android_user_app_version_code = res_data.app_keys.android_user_app_version_code,\r\n\r\n                this.update_version_setting.is_android_user_app_open_update_dialog = res_data.app_keys.is_android_user_app_open_update_dialog,\r\n                this.update_version_setting.is_android_user_app_force_update = res_data.app_keys.is_android_user_app_force_update,\r\n\r\n                this.update_version_setting.android_provider_app_version_code = res_data.app_keys.android_provider_app_version_code,\r\n                this.update_version_setting.is_android_provider_app_open_update_dialog = res_data.app_keys.is_android_provider_app_open_update_dialog,\r\n                this.update_version_setting.is_android_provider_app_force_update = res_data.app_keys.is_android_provider_app_force_update,\r\n                this.update_version_setting.android_store_app_version_code = res_data.app_keys.android_store_app_version_code,\r\n\r\n                this.update_version_setting.is_android_store_app_open_update_dialog = res_data.app_keys.is_android_store_app_open_update_dialog,\r\n                this.update_version_setting.is_android_store_app_force_update = res_data.app_keys.is_android_store_app_force_update,\r\n                this.update_version_setting.ios_user_app_version_code = res_data.app_keys.ios_user_app_version_code,\r\n                this.update_version_setting.is_ios_user_app_open_update_dialog = res_data.app_keys.is_ios_user_app_open_update_dialog,\r\n\r\n                this.update_version_setting.is_ios_user_app_force_update = res_data.app_keys.is_ios_user_app_force_update,\r\n                this.update_version_setting.ios_provider_app_version_code = res_data.app_keys.ios_provider_app_version_code,\r\n                this.update_version_setting.is_ios_provider_app_open_update_dialog = res_data.app_keys.is_ios_provider_app_open_update_dialog,\r\n                this.update_version_setting.is_ios_provider_app_force_update = res_data.app_keys.is_ios_provider_app_force_update,\r\n                this.update_version_setting.ios_store_app_version_code = res_data.app_keys.ios_store_app_version_code,\r\n                this.update_version_setting.is_ios_store_app_open_update_dialog = res_data.app_keys.is_ios_store_app_open_update_dialog,\r\n                this.update_version_setting.is_ios_store_app_force_update = res_data.app_keys.is_ios_store_app_force_update\r\n        });\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n    }\r\n\r\n    UpdateVersionSetting(appversionsettingdata) {\r\n        this.helper.http.post('/admin/update_app_version_setting', appversionsettingdata).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            this.helper.data.storage = {\r\n                \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                \"class\": \"alert-info\"\r\n            }\r\n            this.helper.message();\r\n\r\n            this.helper.router.navigate(['setting/app_update_setting']);\r\n\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/app_update_setting/app_update_setting.component.ts","import { Component, OnInit, ViewChild, ViewContainerRef } from \"@angular/core\";\r\nimport { Http, Response } from \"@angular/http\";\r\nimport { Observable } from \"rxjs/Rx\";\r\nimport \"rxjs/add/operator/map\";\r\nimport \"rxjs/add/operator/catch\";\r\nimport { Helper } from \"../../helper\";\r\nimport { ModalComponent } from \"ng2-bs3-modal/ng2-bs3-modal\";\r\ndeclare var jQuery: any;\r\n\r\nexport interface AdminSetting {\r\n  admin_name: String;\r\n  admin_email: String;\r\n  admin_phone_number: String;\r\n  admin_contact_email: String;\r\n  admin_contact_phone_number: String;\r\n  admin_country: String;\r\n  admin_currency_code: String;\r\n  admin_currency: String;\r\n  //admin_time_zone: String,\r\n  admin_panel_timezone: String;\r\n  lang: string;\r\n  default_search_radius: Number;\r\n  provider_timeout: Number;\r\n  app_name: String;\r\n  call_store_after_min: Number;\r\n  is_call_store: Boolean;\r\n  is_show_last_month_earning_in_store: Boolean;\r\n  store_auto_accept_min: Number;\r\n  is_store_auto_accept: Boolean;\r\n}\r\n\r\n@Component({\r\n  selector: \"app-basic_setting\",\r\n  template: require('./basic_setting.component.html'),\r\n})\r\nexport class BasicSettingComponent implements OnInit {\r\n  private admin_setting: AdminSetting;\r\n  hubrise_origins: any[] = [];\r\n  title: any;\r\n  button: any;\r\n  type: String;\r\n  country_list: any[];\r\n  timezone_list: any[];\r\n  heading_title: any;\r\n  //admin_time_zone_array: any[];\r\n  error: any;\r\n  edit_button: Boolean;\r\n  admin_country: String = \"\";\r\n  edit: Boolean;\r\n  test1: number = 500;\r\n  test2: number = 0;\r\n  hubrise_origin_index: number;\r\n  code: string = \"\";\r\n\r\n  myLoading: boolean = true;\r\n\r\n  @ViewChild(\"myModal\")\r\n  modal: ModalComponent;\r\n\r\n  constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n    helper.toastr.setRootViewContainerRef(vcr);\r\n  }\r\n\r\n  ngAfterViewInit() {\r\n    jQuery(\"#country\").chosen();\r\n    //jQuery(\"#admin_time_zone\").chosen();\r\n    jQuery(\"#admin_panel_timezone\").chosen();\r\n    jQuery(\"#lang\").chosen({ disable_search: true });\r\n    setTimeout(function () {\r\n      jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n    }, 1000);\r\n  }\r\n\r\n  ngOnInit() {\r\n    this.admin_setting = {\r\n      admin_name: \"\",\r\n      admin_email: \"\",\r\n      admin_phone_number: \"\",\r\n      admin_contact_email: \"\",\r\n      admin_contact_phone_number: \"\",\r\n      admin_country: \"\",\r\n      admin_currency_code: \"\",\r\n      admin_currency: \"\",\r\n      //admin_time_zone: \"\",\r\n      admin_panel_timezone: \"\",\r\n      lang: \"\",\r\n      default_search_radius: null,\r\n      provider_timeout: null,\r\n      app_name: \"\",\r\n      call_store_after_min: 0,\r\n      is_call_store: false,\r\n      is_show_last_month_earning_in_store: true,\r\n      is_store_auto_accept: false,\r\n      store_auto_accept_min: 0,\r\n    };\r\n\r\n    var language = JSON.parse(localStorage.getItem(\"admin_language\"));\r\n    if (language == \"\" || language == undefined) {\r\n      language = \"en\";\r\n    }\r\n    var admin_id = localStorage.getItem(\"admin_id\");\r\n    if (admin_id != \"\" || admin_id != undefined) {\r\n      this.helper.http\r\n        .post(\"/admin/get_detail\", { admin_id: admin_id })\r\n        .map((res_data: Response) => res_data.json())\r\n        .subscribe((res_data) => {\r\n          if (res_data.success == true) {\r\n            if (res_data.admin.admin_type == 3) {\r\n              this.edit_button = false;\r\n            }\r\n          }\r\n        });\r\n    }\r\n\r\n    this.helper.http\r\n      .get(\"/admin/get_country_list\")\r\n      .map((res: Response) => res.json())\r\n      .subscribe(\r\n        (res) => (this.country_list = res),\r\n        (error) => (this.error = error)\r\n      );\r\n    this.helper.http\r\n      .get(\"/admin/get_timezone_list\")\r\n      .map((res: Response) => res.json())\r\n      .subscribe(\r\n        (res) => (this.timezone_list = res),\r\n        (error) => (this.error = error)\r\n      );\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#admin_panel_timezone\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.admin_setting.admin_panel_timezone = res_data.selected;\r\n      });\r\n\r\n    this.helper.http\r\n      .post(\"/api/admin/get_setting_detail\", {})\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        this.myLoading = false;\r\n        this.hubrise_origins = res_data.setting.hubrise_origins;\r\n        (this.admin_setting.admin_name = res_data.setting.admin_name),\r\n          (this.admin_setting.admin_email = res_data.setting.admin_email),\r\n          (this.admin_setting.admin_phone_number =\r\n            res_data.setting.admin_phone_number),\r\n          (this.admin_setting.admin_contact_email =\r\n            res_data.setting.admin_contact_email),\r\n          (this.admin_setting.admin_contact_phone_number =\r\n            res_data.setting.admin_contact_phone_number),\r\n          (this.admin_setting.admin_country = res_data.setting.admin_country),\r\n          (this.admin_setting.admin_currency_code =\r\n            res_data.setting.admin_currency_code),\r\n          (this.admin_setting.admin_currency = res_data.setting.admin_currency),\r\n          //this.admin_setting.admin_time_zone = res_data.setting.admin_time_zone,\r\n          (this.admin_setting.admin_panel_timezone =\r\n            res_data.setting.admin_panel_timezone),\r\n          (this.admin_setting.lang = language),\r\n          (this.admin_setting.default_search_radius =\r\n            res_data.setting.default_search_radius),\r\n          (this.admin_setting.provider_timeout =\r\n            res_data.setting.provider_timeout),\r\n          (this.admin_setting.app_name = res_data.setting.app_name);\r\n        this.admin_setting.call_store_after_min =\r\n          res_data.setting.call_store_after_min;\r\n        this.admin_setting.is_store_auto_accept =\r\n          res_data.setting.is_store_auto_accept;\r\n        this.admin_setting.is_show_last_month_earning_in_store =\r\n          res_data.setting.is_show_last_month_earning_in_store;\r\n        this.admin_setting.is_call_store = res_data.setting.is_call_store;\r\n        this.admin_setting.store_auto_accept_min =\r\n          res_data.setting.store_auto_accept_min;\r\n\r\n        this.admin_country = res_data.setting.admin_country;\r\n        setTimeout(() => {\r\n          jQuery(\"#admin_panel_timezone\").trigger(\"chosen:updated\");\r\n        }, 100);\r\n\r\n        if (res_data.setting.admin_country == \"\") {\r\n          this.edit = true;\r\n        } else if (res_data.setting.admin_country !== \"\") {\r\n          this.edit = false;\r\n        }\r\n      });\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#country\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.get_country_detail(res_data.selected);\r\n      });\r\n\r\n    //        jQuery(this.helper.elementRef.nativeElement).find('#admin_time_zone').on('change', (evnt, res_data) => {\r\n    //\r\n    //            this.admin_setting.admin_time_zone = res_data.selected;\r\n    //\r\n    //            console.log(this.admin_setting.admin_time_zone);\r\n    //            console.log(\"res_data.selected\");\r\n    //            console.log(res_data.selected);\r\n    //\r\n    //        });\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#lang\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.helper.trans.use(res_data.selected);\r\n        localStorage.setItem(\r\n          \"admin_language\",\r\n          JSON.stringify(res_data.selected)\r\n        );\r\n      });\r\n\r\n    //        this.helper.http.get('/admin/get_country_list').map((res: Response) => res.json()).subscribe(res => this.country_list = res, error => this.error = error);\r\n    //        this.helper.http.get('/admin/get_timezone_list').map((res: Response) => res.json()).subscribe(res => this.timezone_list = res, error => this.error = error);\r\n    //\r\n    //        jQuery(this.helper.elementRef.nativeElement).find('#admin_panel_timezone').on('change', (evnt, res_data) => {\r\n    //            this.admin_setting.admin_panel_timezone = res_data.selected;\r\n    //        });\r\n\r\n    this.title = this.helper.title;\r\n    this.button = this.helper.button;\r\n    this.heading_title = this.helper.heading_title;\r\n  }\r\n  get_country_detail(countryname) {\r\n    this.test2 = this.test1 - 100;\r\n\r\n    this.helper.http\r\n      .post(\"/admin/country_detail_for_admin\", { countryname: countryname })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((data) => {\r\n        if (data.success == true) {\r\n          //                this.admin_time_zone_array = []\r\n          //                for (var i in data.country_timezone) {\r\n          //                    this.admin_time_zone_array.push(data.country_timezone[i].name);\r\n          //                }\r\n          //                console.log(this.admin_time_zone_array);\r\n          this.admin_setting.admin_country = countryname;\r\n\r\n          this.admin_setting.admin_currency_code = data.lookup.currencies[0];\r\n          this.admin_setting.admin_currency = data.currency_symbol;\r\n        }\r\n      });\r\n    setTimeout(function () {\r\n      jQuery(\"#country\").trigger(\"chosen:updated\");\r\n    }, 1000);\r\n  }\r\n\r\n  AdminSetting(adminsettingdata) {\r\n    adminsettingdata.hubrise_origins = this.hubrise_origins;\r\n    this.helper.http\r\n      .post(\"/admin/update_admin_setting\", adminsettingdata)\r\n      .map((res: Response) => res.json())\r\n      .subscribe(\r\n        (res_data) => {\r\n          this.myLoading = false;\r\n          console.log(this.helper.MESSAGE_CODE[res_data.message]);\r\n          this.helper.data.storage = {\r\n            message: this.helper.MESSAGE_CODE[res_data.message],\r\n            class: \"alert-info\",\r\n          };\r\n          this.helper.message();\r\n          this.admin_country = res_data.setting.admin_country;\r\n          this.admin_setting.admin_country = res_data.setting.admin_country;\r\n          // this.helper.router.navigate(['setting/basic_setting']);\r\n        },\r\n        (error: any) => {\r\n          this.myLoading = false;\r\n          this.helper.http_status(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  add_code(index) {\r\n    this.hubrise_origin_index = index;\r\n    this.code = \"\";\r\n    this.modal.open();\r\n  }\r\n\r\n  save_code() {\r\n    if (this.code) {\r\n      this.code = this.code.trim().toUpperCase();\r\n      this.hubrise_origins[this.hubrise_origin_index].codes.push(this.code);\r\n      this.code = \"\";\r\n      this.modal.close();\r\n    }\r\n  }\r\n\r\n  remove_code(index, code_index) {\r\n    this.hubrise_origins[index].codes.splice(code_index, 1);\r\n  }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/basic_setting/basic_setting.component.ts","import {Component, OnInit, ViewContainerRef} from '@angular/core';\r\nimport {Response} from '@angular/http';\r\nimport {Helper} from \"../../helper\";\r\ndeclare var jQuery: any;\r\n@Component({\r\n    selector: 'app-cancellation_reason',\r\n    template: require('./cancellation_reason.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class CancellationReasonComponent implements OnInit {\r\n\r\n    title: any;\r\n    button: any;\r\n    ORDER_STATE: any;\r\n    DATE_FORMAT: any;\r\n    heading_title: any;\r\n    status: any;\r\n    lable_title: any;\r\n    order_list: any[];\r\n    sort_field: string;\r\n    sort_order: number;\r\n    search_field: string;\r\n    search_value: string;\r\n    start_date: string;\r\n    end_date: string;\r\n    page: number;\r\n    total_page: number;\r\n    total_pages: number[];\r\n    myLoading: boolean = true;\r\n\r\n    constructor(private helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n\r\n        jQuery(\".chosen-select\").chosen({disable_search: true});\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.sort_field = \"unique_id\";\r\n        this.sort_order = -1;\r\n        this.search_field = \"user_detail.first_name\";\r\n        this.search_value = \"\";\r\n        this.start_date = '';\r\n        this.end_date = '';\r\n        this.page = 1\r\n\r\n\r\n        this.helper.message();\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.ORDER_STATE = this.helper.ORDER_STATE\r\n        this.DATE_FORMAT = this.helper.DATE_FORMAT\r\n        this.status = this.helper.status\r\n        this.lable_title = this.helper.lable_title\r\n        this.order_list = [];\r\n\r\n        this.admin_cancellation_reason(1)\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_field').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_field = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_order').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_order = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#search_field').on('change', (evnt, res_data) => {\r\n\r\n            this.search_field = res_data.selected;\r\n\r\n        });\r\n    }\r\n    \r\n    admin_cancellation_reason(page) {\r\n        this.myLoading=true;\r\n        this.page = page;\r\n        this.helper.http.post('/admin/cancellation_reason_list', {\r\n            start_date: this.start_date, end_date: this.end_date,\r\n            sort_field: this.sort_field, sort_order: this.sort_order,\r\n            search_field: this.search_field, search_value: this.search_value, page: this.page\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n\r\n                this.order_list = [];\r\n                this.total_pages = [];\r\n\r\n            }\r\n            else {\r\n                this.order_list = res_data.orders;\r\n                this.total_page = res_data.pages;\r\n                this.total_pages = Array(res_data.pages).fill((x, i) => i).map((x, i) => i + 1)\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/cancellation_reason/cancellation_reason.component.ts","import { Component, OnInit, ViewContainerRef, ViewChild } from \"@angular/core\";\r\nimport { Helper } from \"../../helper\";\r\nimport { Http, Response } from \"@angular/http\";\r\ndeclare var jQuery: any;\r\nimport { ModalComponent } from \"ng2-bs3-modal/ng2-bs3-modal\";\r\nimport * as moment from \"moment-timezone\";\r\n\r\n@Component({\r\n  selector: \"app-city\",\r\n  template: require('./city.component.html'),\r\n  providers: [Helper],\r\n})\r\nexport class cityComponent implements OnInit {\r\n  country_list: any[];\r\n  filtered_country_list: any[] = [];\r\n  title: any;\r\n  button: any;\r\n  heading_title: any;\r\n  public message: string = \"\";\r\n  public class: string;\r\n  selected_country: string;\r\n  filter_country_name: String = \"\";\r\n  myLoading: boolean = true;\r\n  @ViewChild(\"delay_order_modal\") delay_order_modal: ModalComponent;\r\n  @ViewChild(\"emergency_modal\") emergency_modal: ModalComponent;\r\n\r\n  city_id: string = \"\";\r\n  is_emergency: boolean = true;\r\n  emergency_delay_distance: number = null;\r\n  emergency_delay_time: number = null;\r\n  emergency_close_till: any;\r\n  emergency_stop_time: number = null;\r\n\r\n  is_delay_order: boolean = true;\r\n  delay_distance: number = null;\r\n  delay_time: number = null;\r\n  close_till: any;\r\n  stop_for_time: number = null;\r\n\r\n  constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n    helper.toastr.setRootViewContainerRef(vcr);\r\n  }\r\n\r\n  ngAfterViewInit() {\r\n    jQuery(\".chosen-select\").chosen();\r\n    setTimeout(function () {\r\n      jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n    }, 1000);\r\n  }\r\n\r\n  activeRoute(routename: string): boolean {\r\n    return this.helper.router.url.indexOf(routename) > -1;\r\n  }\r\n\r\n  ngOnInit() {\r\n    this.helper.message();\r\n\r\n    this.title = this.helper.title;\r\n    this.button = this.helper.button;\r\n    this.heading_title = this.helper.heading_title;\r\n    this.selected_country = this.title.all;\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#selected_country\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.selected_country = res_data.selected;\r\n      });\r\n\r\n    this.helper.http\r\n      .post(\"/admin/city_list_search_sort\", {})\r\n      .map((res: Response) => res.json())\r\n      .subscribe(\r\n        (res_data) => {\r\n          this.myLoading = false;\r\n\r\n          if (res_data.success == false) {\r\n            this.helper.data.storage = {\r\n              message: this.helper.ERROR_CODE[res_data.error_code],\r\n              class: \"alert-danger\",\r\n            };\r\n\r\n            this.country_list = [];\r\n            this.filtered_country_list = [];\r\n          } else {\r\n            this.country_list = res_data.countries;\r\n            this.filtered_country_list = res_data.countries;\r\n          }\r\n        },\r\n        (error: any) => {\r\n          this.myLoading = false;\r\n          this.helper.http_status(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  filter_country(data) {\r\n    data = data.replace(/^\\s+|\\s+$/g, \"\");\r\n    data = data.replace(/ +(?= )/g, \"\");\r\n    data = new RegExp(data, \"gi\");\r\n\r\n    var country_array = [];\r\n    this.country_list.forEach((country) => {\r\n      var city_array = country.cities.filter((city_data) => {\r\n        var a = city_data.city_name.match(data);\r\n        return a !== null;\r\n      });\r\n      if (city_array.length > 0) {\r\n        country_array.push({\r\n          _id: country._id,\r\n          country_name: country.country_name,\r\n          cities: city_array,\r\n        });\r\n      }\r\n    });\r\n    this.filtered_country_list = country_array;\r\n  }\r\n\r\n  update_emergency_data() {\r\n    var date = new Date();\r\n\r\n    if (this.emergency_close_till) {\r\n      var emergency_close_till = this.emergency_close_till.split(\":\");\r\n      date = new Date(\r\n        date.setHours(emergency_close_till[0], emergency_close_till[1], 0, 0)\r\n      );\r\n    }\r\n\r\n    var json = {\r\n      city_id: this.city_id,\r\n      is_emergency: this.is_emergency,\r\n      emergency_delay_distance: this.emergency_delay_distance,\r\n      emergency_delay_time: this.emergency_delay_time,\r\n      emergency_stop_time: this.emergency_stop_time,\r\n      emergency_close_till: date,\r\n    };\r\n    this.helper.http\r\n      .post(\"/admin/update_city_emergency_data\", json)\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        this.emergency_modal.close();\r\n        this.is_emergency = true;\r\n        this.emergency_delay_distance = null;\r\n        this.emergency_delay_time = null;\r\n        this.emergency_close_till;\r\n        this.emergency_stop_time = null;\r\n        this.ngOnInit();\r\n      });\r\n  }\r\n\r\n  update_delay_order() {\r\n    var date = new Date();\r\n\r\n    if (this.close_till) {\r\n      var close_till = this.close_till.split(\":\");\r\n      date = new Date(date.setHours(close_till[0], close_till[1], 0, 0));\r\n    }\r\n\r\n    var json = {\r\n      city_id: this.city_id,\r\n      is_delay_order: this.is_delay_order,\r\n      delay_distance: this.delay_distance,\r\n      delay_time: this.delay_time,\r\n      stop_for_time: this.stop_for_time,\r\n      close_till: date,\r\n    };\r\n    this.helper.http\r\n      .post(\"/admin/update_city_delay_order\", json)\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        this.delay_order_modal.close();\r\n        this.is_delay_order = true;\r\n        this.delay_distance = null;\r\n        this.delay_time = null;\r\n        this.close_till;\r\n        this.stop_for_time = null;\r\n        this.ngOnInit();\r\n      });\r\n  }\r\n\r\n  is_business_change(id, event) {\r\n    this.helper.http\r\n      .post(\"/admin/toggle_change\", { city_id: id, is_business: event })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        if (res_data.success == false) {\r\n        }\r\n      });\r\n  }\r\n\r\n  is_hopper_business_change(id, event) {\r\n    this.helper.http\r\n      .post(\"/admin/toggle_change\", { city_id: id, is_hopper_business: event })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        if (res_data.success == false) {\r\n        }\r\n      });\r\n  }\r\n\r\n  is_cash_payment_mode_change(id, event) {\r\n    this.helper.http\r\n      .post(\"/admin/toggle_change\", {\r\n        city_id: id,\r\n        is_cash_payment_mode: event,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        if (res_data.success == false) {\r\n        }\r\n      });\r\n  }\r\n\r\n  is_other_payment_mode_change(id, event) {\r\n    this.helper.http\r\n      .post(\"/admin/toggle_change\", {\r\n        city_id: id,\r\n        is_other_payment_mode: event,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        if (res_data.success == false) {\r\n        }\r\n      });\r\n  }\r\n\r\n  select_time(time) {\r\n    this.emergency_stop_time = time;\r\n    var date = new Date();\r\n    date = new Date(date.setMinutes(date.getMinutes() + time));\r\n    this.emergency_close_till = moment(date).format(\"HH:mm\");\r\n  }\r\n\r\n  select_delay_order_time(time) {\r\n    this.stop_for_time = time;\r\n    var date = new Date();\r\n    date = new Date(date.setMinutes(date.getMinutes() + time));\r\n    this.close_till = moment(date).format(\"HH:mm\");\r\n  }\r\n\r\n  is_emergency_change(city, event) {\r\n    // if(!event){\r\n    //     this.helper.http.post('/admin/toggle_change', {city_id: city._id, is_emergency: event}).map((res: Response) => res.json()).subscribe(res_data => {\r\n    //         if (res_data.success == false) {\r\n\r\n    //         }\r\n    //     });\r\n    // } else {\r\n    this.is_emergency = city.is_emergency;\r\n    if (this.is_emergency) {\r\n      this.emergency_delay_distance = city.emergency_delay_distance;\r\n      this.emergency_delay_time = city.emergency_delay_time;\r\n      this.emergency_stop_time = city.emergency_stop_time;\r\n      this.emergency_close_till = moment(\r\n        new Date(city.emergency_close_till)\r\n      ).format(\"HH:mm\");\r\n    }\r\n    this.city_id = city._id;\r\n    this.emergency_modal.open();\r\n    // }\r\n  }\r\n\r\n  is_delay_order_change(city, event) {\r\n    this.is_delay_order = city.is_delay_order;\r\n    this.delay_distance = city.delay_distance;\r\n    this.delay_time = city.delay_time;\r\n    if (this.is_delay_order) {\r\n      this.stop_for_time = city.stop_for_time;\r\n      this.close_till = moment(new Date(city.close_till)).format(\"HH:mm\");\r\n    }\r\n    this.city_id = city._id;\r\n    this.delay_order_modal.open();\r\n  }\r\n  is_automatic_find_provider_change(id, event) {\r\n    this.helper.http\r\n      .post(\"/admin/toggle_change\", {\r\n        city_id: id,\r\n        is_automatic_find_provider: event,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        if (res_data.success == false) {\r\n        }\r\n      });\r\n  }\r\n\r\n  is_show_tips_change(id, event) {\r\n    this.helper.http\r\n      .post(\"/admin/toggle_change\", {\r\n        city_id: id,\r\n        is_show_tips: event,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        if (res_data.success == false) {\r\n        }\r\n      });\r\n  }\r\n  editCity(id) {\r\n    this.helper.router_id.admin.city_id = id;\r\n    this.helper.router.navigate([\"admin/city/edit\"]);\r\n  }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/city/city.component.ts","import {Component, OnInit, ViewContainerRef} from '@angular/core';\r\nimport {Http, Response} from '@angular/http';\r\nimport {Helper} from \"../../helper\";\r\ndeclare var jQuery: any;\r\n\r\n\r\n@Component({\r\n    selector: 'app-country',\r\n    template: require('./country.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class countryComponent implements OnInit {\r\n\r\n    country_list: any[];\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    \r\n    public message: string;\r\n    public class: string;\r\n    myLoading: boolean = true;\r\n    filter_country_name: String = \"\";\r\n    filtered_country_list: any[] = [];\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n\r\n    }\r\n    activeRoute(routename: string): boolean {\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n\r\n\r\n    ngOnInit() {\r\n        this.helper.message();\r\n        this.helper.http.get('/api/admin/get_country_list').map((res: Response) => res.json()).subscribe(data => {\r\n            this.myLoading = false;\r\n            if (data.success == false) {\r\n                this.country_list = [];\r\n                this.filtered_country_list = [];\r\n            }\r\n            else {\r\n                this.country_list = data.countries;\r\n                this.filtered_country_list = data.countries;\r\n                \r\n            }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        })\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n    }\r\n    \r\n    \r\n    filter_country_list(data) {\r\n        data = data.replace(/^\\s+|\\s+$/g, '');\r\n        data = data.replace(/ +(?= )/g, '');\r\n        data = new RegExp(data, \"gi\");\r\n\r\n            var country_array = this.country_list.filter((country_data) => {\r\n                var a = country_data.country_name.match(data);\r\n                return a !== null;\r\n            })\r\n\r\n        \r\n        this.filtered_country_list = country_array;\r\n    }\r\n    \r\n    \r\n\r\n    is_business_change(id, event) {\r\n        this.helper.http.post('/admin/country_toggle_change', {country_id: id, is_business: event}).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            if (res_data.success == false) {\r\n\r\n            }\r\n        });\r\n\r\n    }\r\n\r\n    is_referral_user_change(id, event) {\r\n        this.helper.http.post('/admin/country_toggle_change', {country_id: id, is_referral_user: event}).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            if (res_data.success == false) {\r\n\r\n            }\r\n        });\r\n\r\n    }\r\n\r\n    is_referral_store_change(id, event) {\r\n        this.helper.http.post('/admin/country_toggle_change', {country_id: id, is_referral_store: event}).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            if (res_data.success == false) {\r\n\r\n            }\r\n        });\r\n\r\n    }\r\n    is_referral_provider_change(id, event) {\r\n        this.helper.http.post('/admin/country_toggle_change', {country_id: id, is_referral_provider: event}).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            if (res_data.success == false) {\r\n\r\n            }\r\n        });\r\n\r\n    }\r\n\r\n    editCountry(id) {\r\n        this.helper.router_id.admin.country_id = id;\r\n        this.helper.router.navigate(['admin/country/edit']);\r\n\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/country/country.component.ts","import {Component, OnInit, ViewChild,ViewContainerRef} from '@angular/core';\r\nimport {Response} from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\n\r\n\r\n//import 'E:/NEW_FLOW_EDELIVERY/node_modules/chart.js/src/chart.js';\r\n//const require: WebpackRequire = (window as any).require;\r\n\r\n//declare var require: NodeRequire|Require\r\n\r\ndeclare var c3: any;\r\nimport {Helper} from \"../../helper\";\r\ndeclare var jQuery: any;\r\n\r\nexport interface List {\r\n    total_users: Number,\r\n    total_providers: Number,\r\n    total_store: Number,\r\n    total_countries: Number,\r\n    total_cities: Number\r\n}\r\n\r\nexport interface OrderDetail {\r\n    completed_order: Number,\r\n    total_item_sold: Number,\r\n    total_payments: Number,\r\n    promo_payment: Number,\r\n    cash_payment: Number,\r\n    wallet_payment: Number,\r\n    other_payment: Number,\r\n    admin_earning: Number,\r\n    order_payment: Number,\r\n    delivery_payment: Number,\r\n    store_earning: Number,\r\n    provider_earning: Number,\r\n    admin_earn_per: Number,\r\n    store_earn_per: Number,\r\n    provider_earn_per: Number,\r\n    store_payment_pre_earning:Number,\r\n    provider_payment_pre_earning:Number\r\n}\r\n\r\nexport interface OrderDetail1 {\r\n    total_orders: Number,\r\n    total_deliveries: Number,\r\n    cancelled_order: Number\r\n}\r\n\r\n@Component({\r\n    selector: 'app-dashboard',\r\n    template: require('./dashboard.component.html'),\r\n    providers: [Helper]\r\n})\r\n\r\nexport class DashboardComponent implements OnInit {\r\n\r\n\r\n    public order_detail: OrderDetail;\r\n    public order_detail1: OrderDetail1;\r\n    public list: List;\r\n    country_list: any[] = [];\r\n    selected_country: string = \"all\";\r\n    myLoading:Boolean = false;\r\n    start_date:any = '';\r\n    end_date:any = '';\r\n    date_error:number = 0;\r\n    validation_message:any;\r\n    heading_title:any;\r\n    title:any;\r\n    button:any;\r\n\r\n    //////// for pie chart ////////\r\n    public pieChartLabels: string[] = ['Other Payment', 'Cash Payment', 'Promo', 'Wallet'];\r\n    public pieChartData: number[] = [0, 0, 0, 0];\r\n    public pieChartType: string = 'pie';\r\n    public pieChartLegend: boolean = false;\r\n\r\n    public pieChartColors: Array<any> = [\r\n        {\r\n            backgroundColor: ['#de404c', '#e56671', '#d3d3d3', '#bababa'],\r\n        }\r\n    ];\r\n    ///////////////////////////\r\n\r\n\r\n    /////////// for line chart ///////////\r\n    public lineChartData: Array<any> = [\r\n        {data: [], label: 'Total'},\r\n        {data: [], label: 'Admin Earn'},\r\n        {data: [], label: 'Admin Paid'},\r\n        {data: [], label: 'Paid Deliveryman'},\r\n        {data: [], label: 'Paid Store'}\r\n    ];\r\n    public lineChartLabels: Array<any> = [];\r\n    public lineChartOptions: any = {\r\n        responsive: true,\r\n        labels: {\r\n            fontSize: '15px'\r\n        }\r\n    };\r\n    public lineChartColors: Array<any> = [\r\n        {\r\n            backgroundColor: 'rgba(241, 190, 186, 0.50)',\r\n            borderColor: 'rgba(77,83,96,1)',\r\n            pointBackgroundColor: '#cc212e',\r\n            pointBorderColor: '#fff',\r\n            pointHoverBackgroundColor: '#fff',\r\n            pointHoverBorderColor: '#cc212e'\r\n        },\r\n        {\r\n            backgroundColor: 'rgba(241, 241, 241, 0.50)',\r\n            borderColor: 'rgba(148,159,177,1)',\r\n            pointBackgroundColor: 'rgba(77,83,96,1)',\r\n            pointBorderColor: '#fff',\r\n            pointHoverBackgroundColor: '#fff',\r\n            pointHoverBorderColor: 'rgba(77,83,96,1)'\r\n        },\r\n        {\r\n            backgroundColor: 'rgba(241, 241, 241, 0.50)',\r\n            borderColor: 'red',\r\n            pointBackgroundColor: 'rgba(77,83,96,1)',\r\n            pointBorderColor: '#fff',\r\n            pointHoverBackgroundColor: '#fff',\r\n            pointHoverBorderColor: 'rgba(77,83,96,1)'\r\n        },\r\n        {\r\n            backgroundColor: 'rgba(241, 241, 241, 0.50)',\r\n            borderColor: 'blue',\r\n            pointBackgroundColor: 'rgba(77,83,96,1)',\r\n            pointBorderColor: '#fff',\r\n            pointHoverBackgroundColor: '#fff',\r\n            pointHoverBorderColor: 'rgba(77,83,96,1)'\r\n        },\r\n        {\r\n            backgroundColor: 'rgba(241, 241, 241, 0.50)',\r\n            borderColor: 'green',\r\n            pointBackgroundColor: 'rgba(77,83,96,1)',\r\n            pointBorderColor: '#fff',\r\n            pointHoverBackgroundColor: '#fff',\r\n            pointHoverBorderColor: 'rgba(77,83,96,1)'\r\n        }\r\n    ];\r\n    public lineChartLegend: boolean = true;\r\n    public lineChartType: string = 'line';\r\n\r\n    ////////////////////////\r\n\r\n    ////// for bar chart //////////////\r\n\r\n    public barChartOptions: any = {\r\n        scaleShowVerticalLines: false,\r\n        responsive: true\r\n    };\r\n    public barChartLabels: string[] = [];\r\n    public barChartType: string = 'bar';\r\n    public barChartLegend: boolean = true;\r\n\r\n    public barChartData: any[] = [\r\n        {data: [], label: 'Total orders'},\r\n        {data: [], label: 'Total Deliveries'},\r\n        {data: [], label: 'Completed Order'},\r\n        {data: [], label: 'Rejected By Store'},\r\n        {data: [], label: 'Cancelled By User'}\r\n    ];\r\n\r\n    public barChartColors: Array<any> = [\r\n        {\r\n            backgroundColor: '#f1beba',\r\n            borderColor: '#f1beba',\r\n        },\r\n        {\r\n            backgroundColor: 'black',\r\n            borderColor: 'black',\r\n        },\r\n        {\r\n            backgroundColor: 'red',\r\n            borderColor: 'red',\r\n        },\r\n        {\r\n            backgroundColor: 'green',\r\n            borderColor: 'green',\r\n        },\r\n        {\r\n            backgroundColor: 'blue',\r\n            borderColor: 'blue',\r\n        }\r\n    ];\r\n\r\n\r\n\r\n    ////////////////////////\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n//        reverse() {\r\n//    import('./string-helpers').then(module => {\r\n//        this.name = module.reverseString(this.name);\r\n//    });\r\n//}\r\n        //require.ensure(['E:/NEW_FLOW_EDELIVERY/node_modules/ng2-toastr/bundles/ng2-toastr.min.css'], require => {\r\n        ////let yourModule = require('E:/NEW_FLOW_EDELIVERY/node_modules/ng2-toastr/bundles/ng2-toastr.min.css');\r\n        //console.log(yourModule);\r\n        //yourModule.someFunction();\r\n     //}); \r\n        \r\n\r\n         //System.import('path/to/your/module').then(refToLoadedModule => {\r\n             \r\n         //}\r\n        \r\n    }\r\n\r\n    ngAfterViewInit() {\r\n\r\n        jQuery(\".chosen-select\").chosen();\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.helper.message()\r\n\r\n        this.validation_message=this.helper.validation_message;\r\n        this.heading_title=this.helper.heading_title;\r\n        this.title=this.helper.title;\r\n        this.button=this.helper.button;\r\n\r\n        this.order_detail = {\r\n            completed_order: 0,\r\n            total_item_sold: 0,\r\n            total_payments: 0,\r\n            promo_payment: 0,\r\n            cash_payment: 0,\r\n            wallet_payment: 0,\r\n            other_payment: 0,\r\n            admin_earning: 0,\r\n            order_payment: 0,\r\n            delivery_payment:0,\r\n            store_earning: 0,\r\n            provider_earning: 0,\r\n            admin_earn_per: 0,\r\n            store_earn_per: 0,\r\n            provider_earn_per: 0,\r\n            store_payment_pre_earning:0,\r\n            provider_payment_pre_earning:0\r\n        }\r\n        this.order_detail1 = {\r\n            total_orders: 0,\r\n            total_deliveries: 0,\r\n            cancelled_order: 0\r\n        }\r\n\r\n        this.list = {\r\n            total_users: 0,\r\n            total_providers: 0,\r\n            total_store: 0,\r\n            total_countries: 0,\r\n            total_cities: 0\r\n        }\r\n\r\n        this.helper.http.get('/api/admin/get_country_list').map((response: Response) => response.json()).subscribe(res_data => {\r\n                this.country_list = res_data.countries\r\n\r\n            },\r\n            (error: any) => {\r\n\r\n            });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#selected_country').on('change', (evnt, res_data) => {\r\n\r\n            this.selected_country = res_data.selected;\r\n            this.order_details();\r\n\r\n        });\r\n\r\n        this.helper.http.post('/admin/dashboard/last_six_month_payment_detail', {}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n            if (res_data.success) {\r\n                this.pieChartData = [res_data.order_detail.total_other_payment.toFixed(2),\r\n                    res_data.order_detail.total_cash_payment.toFixed(2),\r\n                    res_data.order_detail.total_promo_payment.toFixed(2),\r\n                    res_data.order_detail.total_wallet_payment.toFixed(2)\r\n                ]\r\n            }\r\n        });\r\n\r\n\r\n        this.helper.http.post('/admin/dashboard/last_fifteen_day_order_detail', {}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n            if (res_data.success) {\r\n                let labels: string[] = [];\r\n                res_data.array.forEach((order_data) => {\r\n\r\n                    labels.push(order_data._id)\r\n                    this.barChartData[0].data.push(order_data.total_orders)\r\n                    this.barChartData[1].data.push(order_data.total_deliveries)\r\n                    this.barChartData[2].data.push(order_data.completed_order)\r\n                    this.barChartData[3].data.push(order_data.rejected_by_store)\r\n                    this.barChartData[4].data.push(order_data.cancelled_by_user)\r\n\r\n                })\r\n                this.barChartLabels = labels;\r\n            }\r\n\r\n        });\r\n\r\n        this.helper.http.post('/admin/dashboard/last_six_month_earning_detail', {}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n            if (res_data.success) {\r\n                let labels: string[] = [];\r\n                res_data.array.forEach((order_data) => {\r\n\r\n                    labels.push(order_data._id)\r\n                    this.lineChartData[0].data.push(order_data.total.toFixed(2))\r\n                    this.lineChartData[1].data.push(order_data.admin_earning.toFixed(2))\r\n                    this.lineChartData[2].data.push(order_data.admin_paid.toFixed(2))\r\n                    this.lineChartData[3].data.push(order_data.paid_deliveryman.toFixed(2))\r\n                    this.lineChartData[4].data.push(order_data.paid_store.toFixed(2))\r\n\r\n                })\r\n                this.lineChartLabels = labels;\r\n            }\r\n\r\n        });\r\n\r\n        this.order_details();\r\n\r\n        let chart: any;\r\n        chart = c3.generate({\r\n            bindto: '#bar_chart_group',\r\n            data: {\r\n                x: 'x',\r\n                columns: [\r\n                    ['x'],\r\n                    ['Other'],\r\n                    ['Wallet'],\r\n                    ['Promo'],\r\n                    ['Cash']\r\n                ],\r\n                type: 'bar',\r\n                groups: [\r\n                    ['Other', 'Wallet', 'Promo', 'Cash']\r\n                ]\r\n            },\r\n            legend: {\r\n                position: 'right'\r\n            },\r\n            axis: {\r\n                x: {\r\n                    type: 'category' // this needed to load string x value\r\n                }\r\n            },\r\n            grid: {\r\n                y: {\r\n                    lines: [{value: 0}]\r\n                }\r\n            }\r\n        });\r\n        this.helper.http.post('/admin/dashboard/monthly_payment_detail', {}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n\r\n\r\n\r\n            var label = ['x']\r\n            var other = ['Other'];\r\n            var wallet = ['Wallet'];\r\n            var promo = ['Promo'];\r\n            var cash = ['Cash'];\r\n\r\n            res_data.array.forEach((payment_data) => {\r\n\r\n                label.push(payment_data._id)\r\n                promo.push(payment_data.promo_payment.toFixed(2))\r\n                wallet.push(payment_data.wallet_payment.toFixed(2))\r\n                other.push(payment_data.other_payment.toFixed(2))\r\n                cash.push(payment_data.cash_payment.toFixed(2))\r\n\r\n\r\n\r\n            });\r\n            chart.load({\r\n                columns: [label , other , wallet , promo , cash]\r\n            });\r\n\r\n        });\r\n\r\n        let country_chart = c3.generate({\r\n            bindto: '#country_chart',\r\n            data: {\r\n                x: 'x',\r\n                columns: [\r\n                    ['x']\r\n                ]\r\n            },\r\n            legend: {\r\n                position: 'right'\r\n            },\r\n            axis: {\r\n                x: {\r\n                    type: 'category' // this needed to load string x value\r\n                }\r\n            }\r\n        });\r\n\r\n        this.helper.http.post('/admin/dashboard/country_chart', {}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n            var label = ['x'];\r\n            var array = []\r\n\r\n            res_data.array.forEach((month_data , index) => {\r\n\r\n\r\n                array[index] = [month_data._id]\r\n                month_data.total.forEach( (country_data) => {\r\n\r\n                    let a = label.findIndex(x => x==country_data.country_name);\r\n                    if(a==-1)\r\n                    {\r\n                        label.push(country_data.country_name);\r\n\r\n                    }\r\n                    var country_index= label.indexOf(country_data.country_name)\r\n                    array[index][country_index] = country_data.total.toFixed(2);\r\n\r\n                })\r\n            });\r\n            array.unshift(label);\r\n            array.forEach((data , index)=>{\r\n                if (data.length != 1) {\r\n                } else {\r\n                    array[index].length = label.length\r\n                    array[index].fill(0, 1)\r\n                }\r\n            });\r\n\r\n            country_chart.load({\r\n                columns: array\r\n            });\r\n        });\r\n\r\n\r\n        }\r\n\r\n    date_filter(){\r\n        if(this.start_date === ''){\r\n            this.date_error=1;\r\n        } else if(this.end_date === ''){\r\n            this.date_error=2;\r\n        } else{\r\n            this.date_error=0;\r\n            this.order_details();\r\n        }\r\n    }\r\n\r\n    order_details() {\r\n        this.myLoading = true;\r\n        this.helper.http.post('/admin/dashboard/order_detail', {country_id: this.selected_country , start_date:this.start_date, end_date:this.end_date}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n            if (res_data.success) {\r\n                this.order_detail = res_data.order_detail;\r\n                this.order_detail1 = res_data.order_detail1;\r\n                this.list = res_data.list;\r\n            }\r\n            else {\r\n                this.order_detail = {\r\n                    completed_order: 0,\r\n                    total_item_sold: 0,\r\n                    total_payments: 0,\r\n                    promo_payment: 0,\r\n                    cash_payment: 0,\r\n                    wallet_payment: 0,\r\n                    other_payment: 0,\r\n                    admin_earning: 0,\r\n                    order_payment: 0,\r\n                    delivery_payment:0,\r\n                    store_earning: 0,\r\n                    provider_earning: 0,\r\n                    admin_earn_per: 0,\r\n                    store_earn_per: 0,\r\n                    provider_earn_per: 0,\r\n                    store_payment_pre_earning:0,\r\n                    provider_payment_pre_earning:0\r\n                }\r\n                this.order_detail1 = {\r\n                    total_orders: 0,\r\n                    total_deliveries: 0,\r\n                    cancelled_order: 0\r\n                }\r\n\r\n                this.list = res_data.list;\r\n            }\r\n\r\n\r\n            ////////// for radar chart 1 //////////\r\n\r\n\r\n            let chart1 = c3.generate({\r\n                bindto: '#a',\r\n                data: {\r\n\r\n                    columns: [\r\n                        ['Admin Earn', this.order_detail.admin_earn_per.toFixed(2)]\r\n                    ],\r\n                    type: 'gauge',\r\n                },\r\n                legend: {\r\n                    show: true\r\n                },\r\n                gauge: {\r\n                    label: {\r\n                        show: false // to turn off the min/max labels.\r\n                    },\r\n                    width: 30 // for adjusting arc thickness\r\n                },\r\n                color: {\r\n                    pattern: ['#1e1e1e'], // the three color levels for the percentage values.\r\n                }\r\n            });\r\n            ////////////////////////\r\n\r\n            ////////// for radar chart 2 //////////\r\n            let chart21 = c3.generate({\r\n                bindto: '#b1',\r\n                data: {\r\n\r\n                    columns: [\r\n                        ['Store Earning', this.order_detail.store_earn_per.toFixed(2)]\r\n                    ],\r\n                    type: 'gauge',\r\n                },\r\n                legend: {\r\n                    show: true\r\n                },\r\n                gauge: {\r\n                    label: {\r\n                        show: false // to turn off the min/max labels.\r\n                    },\r\n                    width: 30 // for adjusting arc thickness\r\n                },\r\n                color: {\r\n                    pattern: ['#1e1e1e'],\r\n                }\r\n            });\r\n\r\n            let chart22 = c3.generate({\r\n                bindto: '#b2',\r\n                data: {\r\n\r\n                    columns: [\r\n                        ['pre',this.order_detail.store_payment_pre_earning.toFixed(2) ]\r\n                    ],\r\n                    type: 'gauge',\r\n                },\r\n                legend: {\r\n                    show: true\r\n                },\r\n                gauge: {\r\n                    label: {\r\n                        show: false // to turn off the min/max labels.\r\n                    },\r\n                    width: 10 // for adjusting arc thickness\r\n                },\r\n                color: {\r\n                    pattern: ['#bc1a2b'], // the three color levels for the percentage values.\r\n\r\n                },\r\n                size: {\r\n                    height: 100\r\n                }\r\n            });\r\n            //////////////////////////////\r\n\r\n            ////////// for radar chart 3 //////////\r\n            let chart31 = c3.generate({\r\n                bindto: '#c1',\r\n                data: {\r\n\r\n                    columns: [\r\n                        ['Provider Earning', this.order_detail.provider_earn_per.toFixed(2)]\r\n                    ],\r\n                    type: 'gauge',\r\n                },\r\n                legend: {\r\n                    show: true\r\n                },\r\n                gauge: {\r\n                    label: {\r\n                        show: false // to turn off the min/max labels.\r\n                    },\r\n                    width: 30 // for adjusting arc thickness\r\n                },\r\n                color: {\r\n                    pattern: ['#1e1e1e'], // the three color levels for the percentage values.\r\n\r\n                }\r\n            });\r\n\r\n            let chart32 = c3.generate({\r\n                bindto: '#c2',\r\n                data: {\r\n\r\n                    columns: [\r\n                        ['pre', this.order_detail.provider_payment_pre_earning.toFixed(2)]\r\n                    ],\r\n                    type: 'gauge',\r\n                },\r\n                legend: {\r\n                    show: true\r\n                },\r\n                gauge: {\r\n                    label: {\r\n                        show: false // to turn off the min/max labels.\r\n                    },\r\n                    width: 10 // for adjusting arc thickness\r\n                },\r\n                color: {\r\n                    pattern: ['#bc1a2b']\r\n                },\r\n                size: {\r\n                    height: 100\r\n                }\r\n            });\r\n            //////////////////////\r\n\r\n            this.myLoading = false;\r\n\r\n\r\n\r\n\r\n\r\n        });\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/dashboard/dashboard.component.ts","import {Component, OnInit, ViewContainerRef, ViewChild} from '@angular/core';\r\nimport {Response} from '@angular/http';\r\nimport {Helper} from \"../../helper\";\r\ndeclare var jQuery: any;\r\nimport * as moment from 'moment-timezone';\r\ndeclare var swal: any;\r\nimport {ModalComponent} from \"ng2-bs3-modal/ng2-bs3-modal\";\r\n\r\n@Component({\r\n    selector: 'app-deliveries',\r\n    template: require('./deliveries.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class DeliveriesComponent implements OnInit {\r\n\r\n    title: any;\r\n    button: any;\r\n    ORDER_STATE: any;\r\n    DATE_FORMAT: any;\r\n    heading_title: any;\r\n    status: any;\r\n    lable_title: any;\r\n    @ViewChild('deliveryman_modal')\r\n    deliveryman_modal: ModalComponent;\r\n    order_list: any[];\r\n    interval: any;\r\n\r\n    sort_field: string;\r\n    sort_order: number;\r\n    search_field: string;\r\n    search_value: string;\r\n    page: number;\r\n    total_page: number;\r\n    total_pages: number[];\r\n    myLoading: boolean = true;\r\n    number_of_rec: number = 10;\r\n    moment: any;\r\n    timezone: string;\r\n    provider_list: any[] = [];\r\n    provider_id: string = '';\r\n    order_id: string = '';\r\n\r\n    total_online_hopper: number = 0;\r\n    total_online_free: number = 0;\r\n\r\n    constructor(private helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n    ngAfterViewInit() {\r\n\r\n        jQuery(\".chosen-select\").chosen({disable_search: true});\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n\r\n\r\n    }\r\n\r\n    ngOnInit() {\r\n\r\n        this.sort_field = \"unique_id\";\r\n        this.sort_order = -1;\r\n        this.search_field = \"user_first_name\";\r\n        this.search_value = \"\";\r\n        this.page = 1;\r\n        this.moment = moment;\r\n        this.timezone = \"\";\r\n\r\n        this.helper.message()\r\n\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.lable_title = this.helper.lable_title\r\n        this.ORDER_STATE = this.helper.ORDER_STATE\r\n        this.DATE_FORMAT = this.helper.DATE_FORMAT\r\n        this.status = this.helper.status\r\n        this.order_list = [];\r\n        // this.orderDetail()\r\n        this.interval = setInterval(() => {\r\n            this.filter(this.page)\r\n        }, this.helper.TIMEOUT.NEW_ORDER_REQUEST);\r\n        this.filter(1);\r\n\r\n\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_field').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_field = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_order').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_order = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#search_field').on('change', (evnt, res_data) => {\r\n\r\n            this.search_field = res_data.selected;\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#provider_id').on('change', (evnt, res_data) => {\r\n            this.provider_id = res_data.selected;\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#number_of_rec').on('change', (evnt, res_data) => {\r\n            this.number_of_rec = res_data.selected;\r\n            this.filter(1)\r\n        });\r\n\r\n    }\r\n\r\n    ngOnDestroy() {\r\n        clearInterval(this.interval);\r\n    }\r\n    activeRoute(routename: string): boolean {\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n\r\n    cancelOrder(store_id, order_id){\r\n        swal({\r\n            title: 'Are you sure?',\r\n            text: \"You won't be able to revert this!\",\r\n            type: 'warning',\r\n            showCancelButton: true,\r\n            confirmButtonColor: '#3085d6',\r\n            cancelButtonColor: '#d33',\r\n            confirmButtonText: 'Yes'\r\n        }).then(() => {\r\n            this.helper.http.post('/api/store/store_cancel_or_reject_order', {\r\n                store_id: store_id,\r\n                order_id: order_id,\r\n                order_status: this.helper.ORDER_STATE.ADMIN_CANCELLED, \r\n                type: this.helper.ADMIN_DATA_ID.ADMIN\r\n            }).map((res: Response) => res.json()).subscribe(res_data => {\r\n                if (res_data.success == false) {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message();\r\n                }\r\n                else {\r\n                    \r\n                }\r\n                this.orderDetail();\r\n            });\r\n        }).catch(swal.noop)\r\n    }\r\n\r\n    orderAssignProvider(order_id, store_id) {\r\n        swal({\r\n            title: 'Are you sure?',\r\n            text: \"You won't be able to revert this!\",\r\n            type: 'warning',\r\n            showCancelButton: true,\r\n            confirmButtonColor: '#3085d6',\r\n            cancelButtonColor: '#d33',\r\n            confirmButtonText: 'Yes'\r\n        }).then(() => {\r\n            this.myLoading = true;\r\n            let json;\r\n            var store = JSON.parse(localStorage.getItem('store'));\r\n            // if (store.is_ask_estimated_time_for_ready_order) {\r\n            //     json = {store_id: store_id, type: this.helper.ADMIN_DATA_ID.ADMIN, order_id: order_id, estimated_time_for_ready_order: this.estimated_time}\r\n            // } else {\r\n                json = {store_id: store_id, type: this.helper.ADMIN_DATA_ID.ADMIN, order_id: order_id}\r\n            // }\r\n            this.helper.http.post('/api/store/create_request', json).map((res: Response) => res.json()).subscribe(res_data => {\r\n         \r\n                this.myLoading = false;\r\n                if (res_data.success == false) {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message();\r\n                }\r\n                else {\r\n                    \r\n                }\r\n                this.orderDetail();\r\n            },\r\n                (error: any) => {\r\n                    this.myLoading = false;\r\n                    this.helper.http_status(error)\r\n                });\r\n        }).catch(swal.noop)\r\n    }\r\n\r\n    change_deliveryman(order_id, provider_id){\r\n        this.myLoading = true;\r\n        this.helper.http.post('/api/store/get_nearest_provider', {order_id: order_id}).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            this.provider_list = res_data.providers;\r\n            this.provider_id = provider_id;\r\n            this.provider_list.sort(this.sortItem);\r\n            this.provider_list.sort(this.sortItem1);\r\n            this.deliveryman_modal.open();\r\n\r\n              \r\n\r\n            setTimeout(()=> {\r\n                jQuery(\"#provider_id\").chosen({disable_search: false});\r\n                jQuery(\"#provider_id\").trigger(\"chosen:updated\");\r\n            }, 1000);\r\n            jQuery('#provider_id').change((evnt, res_data) => {\r\n                this.provider_id = res_data.selected;\r\n            });\r\n            this.order_id = order_id;\r\n        });\r\n    }\r\n\r\n    sortItem(a,b) {\r\n        if (a.request_count < b.request_count)\r\n            return -1;\r\n        if (a.request_count > b.request_count)\r\n            return 1;\r\n        return 0;\r\n    }\r\n\r\n    sortItem1(a,b) {\r\n        if (a.is_online < b.is_online)\r\n            return 1;\r\n        if (a.is_online > b.is_online)\r\n            return -1;\r\n        return 0;\r\n    }\r\n\r\n    assign_new_provider(){\r\n        if(this.provider_id !== ''){\r\n            this.myLoading = true;\r\n            this.helper.http.post('/api/store/assign_new_provider', {order_id: this.order_id, provider_id: this.provider_id}).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n                this.myLoading = false;\r\n                this.deliveryman_modal.close();\r\n                this.orderDetail();\r\n            });\r\n        }\r\n    }\r\n\r\n    rejectrequest(provider_id, request_id){\r\n        swal({\r\n            title: 'Are you sure?',\r\n            text: \"You won't be able to revert this!\",\r\n            type: 'warning',\r\n            showCancelButton: true,\r\n            confirmButtonColor: '#3085d6',\r\n            cancelButtonColor: '#d33',\r\n            confirmButtonText: 'Yes'\r\n        }).then(() => {\r\n            this.helper.http.post('/api/provider/provider_cancel_or_reject_request', {\r\n                provider_id: provider_id,\r\n                request_id: request_id,\r\n                cancel_reasons: '',\r\n                delivery_status: this.helper.ORDER_STATE.DELIVERY_MAN_REJECTED, \r\n                type: this.helper.ADMIN_DATA_ID.ADMIN\r\n            }).map((res: Response) => res.json()).subscribe(res_data => {\r\n                if (res_data.success == false) {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message();\r\n                }\r\n                else {\r\n                    \r\n                }\r\n                this.orderDetail();\r\n            });\r\n        }).catch(swal.noop)\r\n    }\r\n\r\n    acceptrequest(provider_id, request_id, delivery_status){\r\n        swal({\r\n            title: 'Are you sure?',\r\n            text: \"You won't be able to revert this!\",\r\n            type: 'warning',\r\n            showCancelButton: true,\r\n            confirmButtonColor: '#3085d6',\r\n            cancelButtonColor: '#d33',\r\n            confirmButtonText: 'Yes'\r\n        }).then(() => {\r\n            this.helper.http.post('/api/provider/change_request_status', {\r\n                provider_id: provider_id,\r\n                request_id: request_id,\r\n                delivery_status: delivery_status, \r\n                type: this.helper.ADMIN_DATA_ID.ADMIN\r\n            }).map((res: Response) => res.json()).subscribe(res_data => {\r\n                if (res_data.success == false) {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message();\r\n                }\r\n                else {\r\n                    \r\n                }\r\n                this.orderDetail();\r\n            });\r\n        }).catch(swal.noop)\r\n    }\r\n\r\n    completerequest(provider_id, request_id){\r\n        swal({\r\n            title: 'Are you sure?',\r\n            text: \"You won't be able to revert this!\",\r\n            type: 'warning',\r\n            showCancelButton: true,\r\n            confirmButtonColor: '#3085d6',\r\n            cancelButtonColor: '#d33',\r\n            confirmButtonText: 'Yes'\r\n        }).then(() => {\r\n            this.helper.http.post('/api/provider/complete_request', {\r\n                provider_id: provider_id,\r\n                request_id: request_id, \r\n                type: this.helper.ADMIN_DATA_ID.ADMIN\r\n            }).map((res: Response) => res.json()).subscribe(res_data => {\r\n                if (res_data.success == false) {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message();\r\n                }\r\n                else {\r\n                    \r\n                }\r\n                this.orderDetail();\r\n            });\r\n        }).catch(swal.noop)\r\n    }\r\n\r\n    filter(page) {\r\n        // this.myLoading = true;\r\n        this.page = page;\r\n        this.helper.http.post('/api/admin/delivery_list_search_sort', {\r\n            sort_field: this.sort_field, sort_order: this.sort_order,  number_of_rec: this.number_of_rec,\r\n            search_field: this.search_field, search_value: this.search_value, page: this.page\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n                this.order_list = [];\r\n                this.total_pages = [];\r\n            }\r\n            else {\r\n\r\n                this.timezone = res_data.timezone;\r\n                this.order_list = res_data.requests;\r\n                this.total_page = res_data.pages;\r\n                this.total_pages = Array(res_data.pages).fill((x, i) => i).map((x, i) => i + 1)\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n\r\n    }\r\n    viewRequestOrder_detail(id) {\r\n        console.log('viewRequestOrder_detail')\r\n        this.helper.router_id.admin.order_id = id;\r\n        this.helper.router.navigate(['admin/order_detail']);\r\n    }\r\n\r\n    orderDetail() {\r\n        this.helper.http.post('/api/admin/delivery_list_search_sort', {\r\n\r\n            sort_field: this.sort_field, sort_order: this.sort_order, number_of_rec: this.number_of_rec,\r\n            search_field: this.search_field, search_value: this.search_value, page: this.page\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n                this.order_list = [];\r\n                this.total_page = res_data.pages;\r\n                this.total_pages = Array(res_data.pages).fill((x, i) => i).map((x, i) => i + 1)\r\n            }\r\n            else {\r\n                this.timezone = res_data.timezone;\r\n                this.total_page = res_data.pages;\r\n                this.total_pages = Array(res_data.pages).fill((x, i) => i).map((x, i) => i + 1)\r\n\r\n                this.order_list.forEach((value, index) => {\r\n                    var new_index = res_data.requests.findIndex(x => x._id == this.order_list[index]._id)\r\n                    if (new_index == -1) {\r\n                        this.order_list.splice(index, 1)\r\n                    }\r\n                    else {\r\n                        this.order_list[index].delivery_status = res_data.requests[new_index].delivery_status;\r\n                        this.order_list[index].order_detail.provider_first_name = res_data.requests[new_index].order_detail.provider_first_name;\r\n                        this.order_list[index].order_detail.provider_last_name = res_data.requests[new_index].order_detail.provider_last_name;\r\n                        this.order_list[index].current_provider = res_data.requests[new_index].current_provider;\r\n                    }\r\n                });\r\n\r\n                res_data.requests.forEach((new_value, index) => {\r\n                    var aaa = this.order_list.findIndex(x => x._id == res_data.requests[index]._id)\r\n\r\n                    if (aaa == -1) {\r\n                        this.order_list.push(new_value)\r\n                    }\r\n\r\n                });\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n    \r\n    \r\n    //delivery_export_csv\r\n    delivery_export_csv() {\r\n        this.helper.http.post('/api/admin/delivery_list_search_sort', {\r\n            sort_field: this.sort_field, sort_order: this.sort_order, number_of_rec: this.number_of_rec,\r\n            search_field: this.search_field, search_value: this.search_value\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            var json2csv = require('json2csv');\r\n            res_data.requests.forEach((request, index) => {\r\n                if (request.order_payment_detail.is_paid_from_wallet) {\r\n                    request.payment_status = this.title.wallet;\r\n                } else {\r\n                    if (request.order_payment_detail.is_payment_mode_cash) {\r\n                        request.payment_status = this.lable_title.cash;\r\n                    } else {\r\n                        request.payment_status = request.payment_gateway_detail[0].name;\r\n                    }\r\n                }\r\n\r\n                request.user_name = request.user_detail.first_name + ' ' + request.user_detail.last_name;\r\n                request.store_name = request.store_detail.name;\r\n                //if (request.city_detail.length > 0) {\r\n                    request.city_name = request.city_detail.city_name;\r\n                //}\r\n               \r\n                if (request.provider_detail.length > 0) {\r\n                    request.provider_name = request.provider_detail[0].first_name + ' ' + request.provider_detail[0].last_name;\r\n                }\r\n\r\n                switch (request.delivery_status) {\r\n                    case this.ORDER_STATE.WAITING_FOR_DELIVERY_MAN:\r\n                        request.status = this.status.waiting_for_delivery_man;\r\n                        break;\r\n                    case this.ORDER_STATE.DELIVERY_MAN_ACCEPTED:\r\n                        request.status = this.status.delivery_man_accepted;\r\n                        break;\r\n                    case this.ORDER_STATE.DELIVERY_MAN_COMING:\r\n                        request.status = this.status.delivery_man_coming;\r\n                        break;\r\n                    case this.ORDER_STATE.DELIVERY_MAN_ARRIVED:\r\n                        request.status = this.status.delivery_man_arrived;\r\n                        break;\r\n                    case this.ORDER_STATE.DELIVERY_MAN_PICKED_ORDER:\r\n                        request.status = this.status.picked_order;\r\n                        break;\r\n                    case this.ORDER_STATE.DELIVERY_MAN_STARTED_DELIVERY:\r\n                        request.status = this.status.started_for_delivery;\r\n                        break;\r\n                    case this.ORDER_STATE.DELIVERY_MAN_ARRIVED_AT_DESTINATION:\r\n                        request.status = this.status.arrived_at_destination;\r\n                        break;\r\n                     case this.ORDER_STATE.STORE_CANCELLED_REQUEST:\r\n                        request.status = this.status.store_cancelled_request;\r\n                        break;    \r\n                    case this.ORDER_STATE.NO_DELIVERY_MAN_FOUND:\r\n                        request.status = this.status.no_delivery_man_found;\r\n                        break;     \r\n                    default:\r\n                        request.satus = '';\r\n                }\r\n                request.amount = ((+request.order_payment_detail.total_delivery_price + +request.order_payment_detail.total_order_price).toFixed(2));\r\n            });\r\n\r\n            var fieldNames = [this.title.id,\r\n            this.title.user,\r\n            this.title.store,\r\n            this.title.city,\r\n            this.title.provider,\r\n            this.title.status,\r\n            this.title.amount,\r\n            this.title.payment_by,\r\n            this.title.date,\r\n            this.title.delivery_at\r\n            ];\r\n            var fields = ['unique_id',\r\n                'user_name',\r\n                'store_name',\r\n                'city_name',\r\n                'provider_name',\r\n                'status',\r\n                'amount',\r\n                'payment_status',\r\n                'created_at',\r\n                'created_at'\r\n            ];\r\n\r\n           \r\n            var csv = json2csv({data: res_data.requests, fields: fields, fieldNames: fieldNames});\r\n\r\n            var final_csv: any = csv;\r\n            this.helper.downloadFile(final_csv);\r\n        });\r\n    }\r\n    \r\n    \r\n    \r\n    \r\n    \r\n    \r\n    // delivery_export_excel\r\n    delivery_export_excel() {\r\n        this.helper.http.post('/api/admin/deliveries_export_excel', {\r\n            sort_field: this.sort_field, sort_order: this.sort_order, number_of_rec: this.number_of_rec,\r\n            search_field: this.search_field, search_value: this.search_value\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            if (res_data.success == true) {\r\n                var json2excel = require('js2excel');\r\n                let data = res_data.requests;\r\n                if (data.length > 0) {\r\n                    try {\r\n                        json2excel.json2excel({\r\n                            data,\r\n                            name: 'deliveries',\r\n                            formateDate: 'yyyy/mm/dd'\r\n                        });\r\n                    } catch (e) {\r\n                    }\r\n                }\r\n            }\r\n        });\r\n    }\r\n    \r\n    \r\n    editOrder(store_id, order_id){\r\n        this.helper.router_id.store.store_id = store_id;\r\n        this.helper.router_id.store.order_id = order_id;\r\n        this.helper.router.navigate(['admin/edit/order']);\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/deliveries/deliveries.component.ts","import {Component, OnInit, ViewContainerRef} from '@angular/core';\r\nimport {Helper} from \"../../helper\";\r\nimport {Http, Response} from '@angular/http';\r\n\r\n\r\n@Component({\r\n    selector: 'app-delivery',\r\n    template: require('./delivery.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class DeliveryComponent implements OnInit {\r\n\r\n    delivery_list: any[];\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    public message: string;\r\n    public class: string;\r\n    myLoading: boolean = true;\r\n    filter_delivery_name: String = \"\";\r\n    filtered_delivery_list: any[] = [];\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    activeRoute(routename: string): boolean {\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.helper.message()\r\n        this.get_delivery_list();\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n    }\r\n\r\n    get_delivery_list(){\r\n         this.helper.http.get('/admin/delivery_list').map((res: Response) => res.json()).subscribe(data => {\r\n            this.myLoading = false;\r\n\r\n            if (data.success == false) {\r\n\r\n                this.delivery_list = [];\r\n                this.filtered_delivery_list = [];\r\n            }\r\n            else {\r\n                this.delivery_list = data.deliveries;\r\n                this.filtered_delivery_list = data.deliveries;\r\n            }\r\n\r\n\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            })\r\n    }\r\n\r\n    copy_delivery(id){\r\n        this.helper.http.post('/admin/copy_delivery', {delivery_id: id}).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.get_delivery_list();\r\n        });\r\n    }\r\n\r\n    filter_delivery_list(data) {\r\n        data = data.replace(/^\\s+|\\s+$/g, '');\r\n        data = data.replace(/ +(?= )/g, '');\r\n        data = new RegExp(data, \"gi\");\r\n\r\n        var delivery_array = this.delivery_list.filter((delivery_data) => {\r\n            var a = delivery_data.delivery_name.match(data);\r\n            return a !== null;\r\n        })\r\n\r\n\r\n        this.filtered_delivery_list = delivery_array;\r\n    }\r\n\r\n    is_business_change(id, event) {\r\n        this.helper.http.post('/admin/delivery_toggle_change', {delivery_id: id, is_business: event}).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            if (res_data.success == false) {\r\n\r\n            }\r\n        });\r\n\r\n    }\r\n\r\n\r\n    editDelivery(id, event) {\r\n        if (event.target.attributes.class != undefined) {\r\n            var value = event.target.attributes.class.value\r\n            value = value.split(' ')\r\n            if (value[0] !== \"switch\" && value[0] !== \"pull-right\" && value[0] !== \"fa\") {\r\n                this.helper.router_id.admin.delivery_id = id;\r\n                this.helper.router.navigate(['admin/delivery/edit']);\r\n            }\r\n        }\r\n        else if (event.target.tagName !== \"SMALL\") {\r\n            this.helper.router_id.admin.delivery_id = id;\r\n            this.helper.router.navigate(['admin/delivery/edit']);\r\n        }\r\n    }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/delivery/delivery.component.ts","import {\r\n  Component,\r\n  OnInit,\r\n  OnDestroy,\r\n  ViewContainerRef,\r\n  ViewChild,\r\n  NgZone,\r\n} from \"@angular/core\";\r\nimport { Response } from \"@angular/http\";\r\nimport { Helper } from \"../../helper\";\r\ndeclare var jQuery: any;\r\nimport * as moment from \"moment-timezone\";\r\ndeclare var swal: any;\r\nimport { ModalComponent } from \"ng2-bs3-modal/ng2-bs3-modal\";\r\nimport { LocationTrackComponent } from \"../location_track/location_track.component\";\r\ndeclare var stripe;\r\n\r\n@Component({\r\n  selector: \"app-deliveries\",\r\n  template: require('./dispatch.component.html'),\r\n  providers: [Helper],\r\n})\r\nexport class DispatchComponent implements OnInit, OnDestroy {\r\n  title: any;\r\n  button: any;\r\n  ORDER_STATE: any;\r\n  DATE_FORMAT: any;\r\n  heading_title: any;\r\n  status: any;\r\n  lable_title: any;\r\n  @ViewChild(\"deliveryman_modal\") deliveryman_modal: ModalComponent;\r\n  @ViewChild(\"nearest_store_list_modal\")\r\n  nearest_store_list_modal: ModalComponent;\r\n  @ViewChild(\"delay_order_modal\") delay_order_modal: ModalComponent;\r\n  @ViewChild(\"delay_order_modal1\") delay_order_modal1: ModalComponent;\r\n  @ViewChild(\"team_modal\") team_modal: ModalComponent;\r\n  @ViewChild(\"location_track_component\")\r\n  location_track_component: LocationTrackComponent;\r\n  @ViewChild(\"city_list_modal\") city_list_modal: ModalComponent;\r\n  @ViewChild(\"uber_eats_store_list_modal\")\r\n  uber_eats_store_list_modal: ModalComponent;\r\n\r\n  @ViewChild(\"cancel_detail_order_modal\")\r\n  cancel_detail_order_modal: ModalComponent;\r\n\r\n  @ViewChild(\"estimated_time_modal1\")\r\n  estimated_time_modal1: ModalComponent;\r\n\r\n  order_list: any[];\r\n  interval: any;\r\n\r\n  sort_field: string;\r\n  sort_order: number;\r\n  search_field: string;\r\n  search_value: string;\r\n  page: number;\r\n  total_page: number;\r\n  total_pages: number[];\r\n  myLoading: boolean = true;\r\n  nearest_store_list: any[] = [];\r\n  is_smart_dispatch: boolean = false;\r\n  cancelled_count: number;\r\n  moment: any;\r\n  timezone: string;\r\n  provider_list: any[] = [];\r\n  filtered_provider_list: any[] = [];\r\n  provider_id: string = \"\";\r\n  store_id: string = \"\";\r\n  cancel_reason: string = \"\";\r\n  filter_type: number = 5;\r\n\r\n  order_id: string = \"\";\r\n  estimated_time: number = null;\r\n\r\n  // country_id: Object = '';\r\n  // city_id: Object = '';\r\n  // store_ids: any[] = [];\r\n  provider_ids: any[] = [];\r\n\r\n  country_ids: any[] = [];\r\n  city_ids: any[] = [];\r\n\r\n  search_provider_list: any[] = [];\r\n  store_list: any[] = [];\r\n  country_list: any[] = [];\r\n  city_list: any[] = [];\r\n  is_schedule_order: boolean = false;\r\n  preorder_count: number = 0;\r\n  team_list: any[] = [];\r\n\r\n  total_order: number = 0;\r\n  total_not_accepteed_order: number = 0;\r\n  total_hopper_not_accepteed_order: number = 0;\r\n  total_time_changed_order: number = 0;\r\n  total_partner_delay_order: number = 0;\r\n  total_hopper_delay_order: number = 0;\r\n  total_in_progress_order: number = 0;\r\n  total_new_order: number = 0;\r\n  total_accepted_order: number = 0;\r\n  total_ready_order: number = 0;\r\n  total_in_delivery_order: number = 0;\r\n\r\n  total_online_hopper: number = 0;\r\n  total_online_free: number = 0;\r\n\r\n  search_hopper: string = \"\";\r\n  show_type: number = 0;\r\n  order_show_type: any[] = [];\r\n  selected_color: string = \"\";\r\n\r\n  new_order_count: number = 0;\r\n  accepted_order_count: number = 0;\r\n  ready_order_count: number = 0;\r\n  pickup_order_count: number = 0;\r\n  order_pay_order_count: number = 0;\r\n  is_show_order: boolean = true;\r\n\r\n  available_providers: any[] = [];\r\n  in_delivery_providers: any[] = [];\r\n  soon_available_providers: any[] = [];\r\n  dispatcher_provider: any[] = [];\r\n\r\n  is_delay_order: boolean = true;\r\n  delay_distance: number = null;\r\n  delay_time: number = null;\r\n  dispatcher_provider_interval: any;\r\n  dispatcher_provider_count_interval: any;\r\n  is_sort_by_hopper: boolean = true;\r\n\r\n  stop_for_time: number = 5;\r\n  uber_eats_store_list: any[] = [];\r\n  close_till: any = \"\";\r\n  admin_id: string = \"\";\r\n  city_id: string = \"\";\r\n\r\n  team_name: string = \"\";\r\n  team_id: string = \"\";\r\n  team_store_ids: any[] = [];\r\n  team_provider_ids: any[] = [];\r\n\r\n  provider_count: any[] = [];\r\n  store_count: any[] = [];\r\n  order_color_list: any[] = [];\r\n  selected_provider_id: any;\r\n  selected_store_id: any;\r\n  all_city_list: any[] = [];\r\n  is_main_delay_order: boolean = false;\r\n\r\n  @ViewChild(\"editAddressModal\")\r\n  edit_address_modal: ModalComponent;\r\n  is_show_address: boolean = false;\r\n\r\n  order_details: any;\r\n  floor: any;\r\n  entry_code: any;\r\n  note: any;\r\n\r\n  constructor(\r\n    private helper: Helper,\r\n    public vcr: ViewContainerRef,\r\n    public ngZone: NgZone\r\n  ) {\r\n    helper.toastr.setRootViewContainerRef(vcr);\r\n  }\r\n  ngAfterViewInit() {\r\n    jQuery(\".clock-picker\").clockpicker({\r\n      default: \"now\",\r\n      align: \"right\",\r\n    });\r\n\r\n    jQuery(\".chosen-select\").chosen({ search_contains: true });\r\n    setTimeout(function () {\r\n      jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n    }, 1000);\r\n  }\r\n\r\n  select_time(time) {\r\n    this.stop_for_time = time;\r\n    var date = new Date();\r\n    date = new Date(date.setMinutes(date.getMinutes() + time));\r\n    console.log(date);\r\n    this.close_till = moment(date).format(\"HH:mm\");\r\n  }\r\n\r\n  show_type_filter(show_type) {\r\n    this.show_type = show_type;\r\n    this.order_show_type = [];\r\n    this.selected_color = \"\";\r\n    this.selected_provider_id = \"\";\r\n    this.selected_store_id = \"\";\r\n  }\r\n\r\n  order_show_type_filter(order_show_type) {\r\n    var index = this.order_show_type.indexOf(order_show_type);\r\n    if (index == -1) {\r\n      this.order_show_type.push(order_show_type);\r\n    } else {\r\n      this.order_show_type.splice(index, 1);\r\n    }\r\n    this.show_type = null;\r\n    this.selected_color = \"\";\r\n    this.selected_provider_id = \"\";\r\n    this.selected_store_id = \"\";\r\n  }\r\n\r\n  color_filter(color) {\r\n    this.order_show_type = [];\r\n    this.show_type = null;\r\n    this.selected_color = color;\r\n  }\r\n\r\n  check_order_show_type(order_show_type) {\r\n    var index = this.order_show_type.indexOf(order_show_type);\r\n    if (index == -1) {\r\n      return false;\r\n    } else {\r\n      return true;\r\n    }\r\n  }\r\n\r\n  open_city_modal() {\r\n    this.city_list_modal.open();\r\n    this.helper.http\r\n      .post(\"/admin/city_list_search_sort\", {})\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        this.all_city_list = res_data.countries;\r\n      });\r\n  }\r\n\r\n  is_automatic_find_provider_change(id, event) {\r\n    this.helper.http\r\n      .post(\"/admin/toggle_change\", {\r\n        city_id: id,\r\n        is_automatic_find_provider: event,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        if (res_data.success == false) {\r\n        }\r\n      });\r\n  }\r\n\r\n  //   is_delay_order_change(id, event) {\r\n  //     this.helper.http\r\n  //       .post(\"/admin/toggle_change\", { city_id: id, is_delay_order: event })\r\n  //       .map((res: Response) => res.json())\r\n  //       .subscribe((res_data) => {\r\n  //         if (res_data.success == false) {\r\n  //         }\r\n  //       });\r\n  //   }\r\n\r\n  go_to_dispatcher_map(provider) {\r\n    this.helper.router_id.admin.country_id = provider.country_id;\r\n    this.helper.router_id.admin.country_ids = [provider.country_id];\r\n    this.helper.router_id.admin.provider_id = provider._id;\r\n    this.helper.router_id.admin.city_id = provider.city_id;\r\n    this.helper.router_id.admin.city_ids = [provider.city_id];\r\n    if (provider.order_list && provider.order_list[0]) {\r\n      this.helper.router_id.admin.order_id = provider.order_list[0].order_id;\r\n      this.helper.router_id.admin.store_id = provider.order_list[0].store_id;\r\n    }\r\n\r\n    this.location_track_component.ngOnInit();\r\n  }\r\n\r\n  ngOnInit() {\r\n    this.sort_field = \"unique_id\";\r\n    this.sort_order = -1;\r\n    // this.search_field = \"user_first_name\";\r\n    // this.search_value = \"\";\r\n    this.page = 1;\r\n    this.moment = moment;\r\n    this.timezone = \"\";\r\n\r\n    this.helper.message();\r\n\r\n    this.title = this.helper.title;\r\n    this.button = this.helper.button;\r\n    this.heading_title = this.helper.heading_title;\r\n    this.lable_title = this.helper.lable_title;\r\n    this.ORDER_STATE = this.helper.ORDER_STATE;\r\n    this.DATE_FORMAT = this.helper.DATE_FORMAT;\r\n    this.status = this.helper.status;\r\n    this.order_list = [];\r\n\r\n    this.country_ids = this.helper.router_id.filter.country_ids;\r\n    this.city_ids = this.helper.router_id.filter.city_ids;\r\n    // this.orderDetail()\r\n\r\n    var admin_id = localStorage.getItem(\"admin_id\");\r\n    this.admin_id = admin_id;\r\n    if (!admin_id) {\r\n      localStorage.setItem(\"admin_id\", \"\");\r\n      localStorage.setItem(\"admin_token\", \"\");\r\n      this.helper.router.navigate([\"/admin/login\"]);\r\n    } else {\r\n      this.get_all_city();\r\n\r\n      this.helper.http\r\n        .post(\"/admin/get_admin_team_detail\", { admin_id: admin_id })\r\n        .map((res: Response) => res.json())\r\n        .subscribe((res_data) => {\r\n          if (res_data.team_detail) {\r\n            this.team_name = res_data.team_detail.name;\r\n            this.team_id = res_data.team_detail._id;\r\n            this.team_store_ids = res_data.team_detail.store_ids;\r\n            this.team_provider_ids = res_data.team_detail.provider_ids;\r\n          }\r\n\r\n          this.get_dispatcher_provider_list1();\r\n\r\n          this.filter(1, true);\r\n          this.interval = setInterval(() => {\r\n            this.filter(this.page, false);\r\n          }, this.helper.TIMEOUT.NEW_ORDER_REQUEST);\r\n\r\n          this.get_dispatcher_provider_count();\r\n          this.dispatcher_provider_count_interval = setInterval(() => {\r\n            this.get_dispatcher_provider_count();\r\n          }, 120000);\r\n\r\n          setTimeout(() => {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n            jQuery(\"#country_dispatcher\").trigger(\"chosen:updated\");\r\n            jQuery(this.helper.elementRef.nativeElement)\r\n              .find(\"#country_dispatcher\")\r\n              .on(\"change\", (evnt, res_data) => {\r\n                console.log(jQuery(\"#country_dispatcher\").val());\r\n\r\n                this.helper.router_id.filter.country_ids = [];\r\n\r\n                var countryIds = jQuery(\"#country_dispatcher\").val();\r\n                if (countryIds) {\r\n                  countryIds.forEach((countryId) => {\r\n                    countryId = countryId.split(\": \");\r\n                    var result = countryId[1].substring(\r\n                      1,\r\n                      countryId[1].length - 1\r\n                    );\r\n                    this.helper.router_id.filter.country_ids.push(result);\r\n                  });\r\n                }\r\n\r\n                console.log(this.helper.router_id.filter.country_ids);\r\n                console.log(this.country_ids);\r\n                this.helper.router_id.filter.city_id = \"\";\r\n                this.helper.router_id.filter.city_ids = [];\r\n                this.helper.router_id.filter.store_ids = [];\r\n                this.helper.router_id.filter.provider_ids = [];\r\n                this.provider_ids = [];\r\n\r\n                if (\r\n                  this.helper.router_id.filter.country_ids &&\r\n                  this.helper.router_id.filter.country_ids.length > 0\r\n                ) {\r\n                  this.get_city_list();\r\n                } else {\r\n                  this.city_list = [];\r\n                  this.store_list = [];\r\n                  this.search_provider_list = [];\r\n                  setTimeout(function () {\r\n                    jQuery(\"#provider_dispatcher\").trigger(\"chosen:updated\");\r\n                    jQuery(\"#store_dispatcher\").trigger(\"chosen:updated\");\r\n                    jQuery(\"#city_dispatcher\").trigger(\"chosen:updated\");\r\n                  }, 1000);\r\n                }\r\n                this.filter(1, true);\r\n                this.get_dispatcher_provider_list1();\r\n              });\r\n\r\n            if (\r\n              this.helper.router_id.filter.country_ids &&\r\n              this.helper.router_id.filter.country_ids.length > 0\r\n            ) {\r\n              this.get_city_list();\r\n            }\r\n\r\n            jQuery(this.helper.elementRef.nativeElement)\r\n              .find(\"#provider_dispatcher\")\r\n              .on(\"change\", (evnt, res_data) => {\r\n                var provider_list = jQuery(\"#provider_dispatcher\").val();\r\n                this.helper.router_id.filter.provider_ids = [];\r\n                provider_list.forEach((provider) => {\r\n                  provider = provider.split(\": \");\r\n                  var result = provider[1].substring(1, provider[1].length - 1);\r\n                  this.helper.router_id.filter.provider_ids.push(result);\r\n                });\r\n                this.filter(1, true);\r\n                setTimeout(() => {\r\n                  evnt.stopPropagation();\r\n                  jQuery(\"#provider_dispatcher\").trigger(\"chosen:open\");\r\n                }, 100);\r\n              });\r\n            jQuery(this.helper.elementRef.nativeElement)\r\n              .find(\"#store_dispatcher\")\r\n              .on(\"change\", (evnt, res_data) => {\r\n                this.helper.router_id.filter.store_ids = [];\r\n                setTimeout(() => {\r\n                  jQuery(\"#store_dispatcher\").click();\r\n                }, 100);\r\n                // if(res_data.selected){\r\n                //     var selected = res_data.selected.split(': ');\r\n                //     var selected_string = selected[1].substring(1, selected[1].length-1)\r\n\r\n                //     if(selected_string){\r\n                //         var store_list = jQuery('#store').val();\r\n                //         store_list.forEach((store) => {\r\n                //             store = store.split(': ')\r\n                //             var result = store[1].substring(1, store[1].length-1);\r\n                //             this.store_ids.push(result);\r\n                //         });\r\n                //     }\r\n                // } else {\r\n                var store_list = jQuery(\"#store_dispatcher\").val();\r\n                store_list.forEach((store) => {\r\n                  store = store.split(\": \");\r\n                  var result = store[1].substring(1, store[1].length - 1);\r\n                  this.helper.router_id.filter.store_ids.push(result);\r\n                });\r\n                // }\r\n                this.filter(1, true);\r\n              });\r\n\r\n            jQuery(this.helper.elementRef.nativeElement)\r\n              .find(\"#city_dispatcher\")\r\n              .on(\"change\", (evnt, res_data) => {\r\n                this.helper.router_id.filter.store_ids = [];\r\n                this.helper.router_id.filter.provider_idso = [];\r\n                this.provider_ids = [];\r\n                // this.helper.router_id.filter.city_id = res_data.selected;\r\n                console.log(jQuery(\"#city_dispatcher\").val());\r\n\r\n                this.helper.router_id.filter.city_ids = [];\r\n\r\n                var cityIds = jQuery(\"#city_dispatcher\").val();\r\n                if (cityIds) {\r\n                  cityIds.forEach((cityId) => {\r\n                    cityId = cityId.split(\": \");\r\n                    var result = cityId[1].substring(1, cityId[1].length - 1);\r\n                    this.helper.router_id.filter.city_ids.push(result);\r\n                  });\r\n                }\r\n\r\n                console.log(this.helper.router_id.filter.city_ids);\r\n                console.log(this.city_ids);\r\n\r\n                if (\r\n                  this.helper.router_id.filter.city_ids &&\r\n                  this.helper.router_id.filter.city_ids.length > 0\r\n                ) {\r\n                  this.get_provider_list();\r\n                  this.get_store_list();\r\n                } else {\r\n                  this.store_list = [];\r\n                  this.search_provider_list = [];\r\n                  setTimeout(function () {\r\n                    jQuery(\"#provider_dispatcher\").trigger(\"chosen:updated\");\r\n                    jQuery(\"#store_dispatcher\").trigger(\"chosen:updated\");\r\n                  }, 1000);\r\n                }\r\n                this.filter(1, true);\r\n                this.get_dispatcher_provider_list1();\r\n              });\r\n\r\n            if (\r\n              this.helper.router_id.filter.city_ids &&\r\n              this.helper.router_id.filter.city_ids.length > 0\r\n            ) {\r\n              this.get_provider_list();\r\n              this.get_store_list();\r\n            }\r\n\r\n            var chosen = jQuery(\"#store_dispatcher\").chosen().data(\"chosen\");\r\n            var autoClose = false;\r\n            var chosen_resultSelect_fn = chosen.result_select;\r\n            chosen.search_contains = true;\r\n\r\n            chosen.result_select = function (evt) {\r\n              var resultHighlight = null;\r\n\r\n              console.log(\"selected\");\r\n\r\n              if (autoClose === false) {\r\n                evt[\"metaKey\"] = true;\r\n                evt[\"ctrlKey\"] = true;\r\n\r\n                resultHighlight = chosen.result_highlight;\r\n              }\r\n\r\n              var stext = chosen.get_search_text();\r\n\r\n              var result = chosen_resultSelect_fn.call(chosen, evt);\r\n\r\n              if (autoClose === false && resultHighlight !== null)\r\n                resultHighlight.addClass(\"result-selected\");\r\n\r\n              this.search_field.val(stext);\r\n              this.winnow_results();\r\n              this.search_field_scale();\r\n\r\n              return result;\r\n            };\r\n          }, 1000);\r\n\r\n          this.helper.http\r\n            .get(\"/api/admin/get_country_list\")\r\n            .map((res: Response) => res.json())\r\n            .subscribe((res_data) => {\r\n              // this.is_delay_order = res_data.is_delay_order;\r\n              // this.delay_distance = res_data.delay_distance;\r\n              // this.delay_time = res_data.delay_time;\r\n              // this.stop_for_time = res_data.stop_for_time;\r\n              // if(res_data.close_till){\r\n              //     this.close_till = moment(new Date(res_data.close_till)).format('HH:mm');\r\n              // } else {\r\n              //     this.close_till = '';\r\n              // }\r\n\r\n              if (res_data.success) {\r\n                this.country_list = res_data.countries;\r\n                setTimeout(() => {\r\n                  jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n                }, 1000);\r\n                jQuery(\"#open\").on(\"change\", (event, res_data) => {\r\n                  this.close_till = jQuery(\"#open\").val();\r\n                  console.log(\"close_till: \" + this.close_till);\r\n                });\r\n              } else {\r\n                this.country_list = [];\r\n              }\r\n            });\r\n\r\n          jQuery(this.helper.elementRef.nativeElement)\r\n            .find(\"#sort_field\")\r\n            .on(\"change\", (evnt, res_data) => {\r\n              this.sort_field = res_data.selected;\r\n            });\r\n          jQuery(this.helper.elementRef.nativeElement)\r\n            .find(\"#sort_order\")\r\n            .on(\"change\", (evnt, res_data) => {\r\n              this.sort_order = res_data.selected;\r\n            });\r\n          jQuery(this.helper.elementRef.nativeElement)\r\n            .find(\"#search_field\")\r\n            .on(\"change\", (evnt, res_data) => {\r\n              this.helper.router_id.filter.search_field = res_data.selected;\r\n            });\r\n\r\n          jQuery(this.helper.elementRef.nativeElement)\r\n            .find(\"#type_of_order\")\r\n            .on(\"change\", (evnt, res_data) => {\r\n              this.helper.router_id.filter.type_of_order = res_data.selected;\r\n            });\r\n\r\n          jQuery(this.helper.elementRef.nativeElement)\r\n            .find(\"#provider_id\")\r\n            .on(\"change\", (evnt, res_data) => {\r\n              let old_provider_id = this.provider_id;\r\n              this.provider_id = res_data.selected;\r\n              this.assign_new_provider(old_provider_id);\r\n            });\r\n\r\n          jQuery(this.helper.elementRef.nativeElement)\r\n            .find(\"#number_of_rec\")\r\n            .on(\"change\", (evnt, res_data) => {\r\n              this.helper.router_id.filter.number_of_rec = res_data.selected;\r\n              this.filter(1, true);\r\n            });\r\n\r\n          //   this.helper.http\r\n          //     .post(\"/admin/get_delay_order_setting\", {})\r\n          //     .map((res: Response) => res.json())\r\n          //     .subscribe((res_data) => {\r\n          //       this.is_delay_order = res_data.is_delay_order;\r\n          //       this.delay_distance = res_data.delay_distance;\r\n          //       this.delay_time = res_data.delay_time;\r\n          //       this.stop_for_time = res_data.stop_for_time;\r\n          //       this.is_smart_dispatch = res_data.is_smart_dispatch;\r\n          //       if (res_data.close_till) {\r\n          //         this.close_till = moment(new Date(res_data.close_till)).format(\r\n          //           \"HH:mm\"\r\n          //         );\r\n          //       } else {\r\n          //         this.close_till = \"\";\r\n          //       }\r\n          //     });\r\n        });\r\n    }\r\n  }\r\n\r\n  preorder() {\r\n    this.is_schedule_order = !this.is_schedule_order;\r\n    this.filter(1, true);\r\n  }\r\n\r\n  get_city_list() {\r\n    this.helper.http\r\n      .post(\"/api/admin/get_city_list\", {\r\n        country_ids: this.helper.router_id.filter.country_ids,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        this.city_list = res_data.cities;\r\n        setTimeout(function () {\r\n          console.log(jQuery(\"#city_dispatcher\"));\r\n          jQuery(\"#city_dispatcher\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n      });\r\n  }\r\n\r\n  get_dispatcher_provider_list() {\r\n    this.is_show_order = !this.is_show_order;\r\n    clearInterval(this.dispatcher_provider_interval);\r\n    clearInterval(this.interval);\r\n    if (!this.is_show_order) {\r\n      this.get_dispatcher_provider_list1();\r\n      this.dispatcher_provider_interval = setInterval(() => {\r\n        this.get_dispatcher_provider_list1();\r\n      }, this.helper.TIMEOUT.NEW_ORDER_REQUEST);\r\n    } else {\r\n      this.filter(1, true);\r\n      this.interval = setInterval(() => {\r\n        this.filter(this.page, false);\r\n      }, this.helper.TIMEOUT.NEW_ORDER_REQUEST);\r\n    }\r\n  }\r\n\r\n  get_dispatcher_provider_list1() {\r\n    this.helper.http\r\n      .post(\"/admin/get_dispatcher_provider_list\", {\r\n        team_provider_ids: this.team_provider_ids,\r\n        team_store_ids: this.team_store_ids,\r\n        provider_ids: this.helper.router_id.filter.provider_ids,\r\n        city_ids: this.helper.router_id.filter.city_ids,\r\n        country_ids: this.helper.router_id.filter.country_ids,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        this.available_providers = res_data.available_providers;\r\n        this.in_delivery_providers = res_data.in_delivery_providers;\r\n        this.soon_available_providers = res_data.soon_available_providers;\r\n\r\n        if (\r\n          this.available_providers.length >= this.in_delivery_providers.length\r\n        ) {\r\n          if (\r\n            this.available_providers.length >=\r\n            this.soon_available_providers.length\r\n          ) {\r\n            this.dispatcher_provider = this.available_providers;\r\n          } else {\r\n            this.dispatcher_provider = this.soon_available_providers;\r\n          }\r\n        } else {\r\n          if (\r\n            this.in_delivery_providers.length >=\r\n            this.soon_available_providers.length\r\n          ) {\r\n            this.dispatcher_provider = this.in_delivery_providers;\r\n          } else {\r\n            this.dispatcher_provider = this.soon_available_providers;\r\n          }\r\n        }\r\n        this.in_delivery_providers.forEach((provider_detail) => {\r\n          if (provider_detail.order_list) {\r\n            provider_detail.order_list.sort(this.sortItem2);\r\n          }\r\n        });\r\n        this.soon_available_providers.forEach((provider_detail) => {\r\n          if (provider_detail.order_list) {\r\n            provider_detail.order_list.sort(this.sortItem3);\r\n          }\r\n        });\r\n\r\n        this.available_providers.sort(this.sortItem);\r\n        this.in_delivery_providers.sort(this.sortItem);\r\n        this.soon_available_providers.sort(this.sortItem);\r\n\r\n        this.in_delivery_providers.sort(in_delivery_providers_sortItem);\r\n        this.soon_available_providers.sort(soon_available_providers_sortItem);\r\n\r\n        function in_delivery_providers_sortItem(a, b) {\r\n          if (a.order_list[0] && b.order_list[0]) {\r\n            if (\r\n              a.order_list[0].delivery_status < b.order_list[0].delivery_status\r\n            )\r\n              return -1;\r\n            if (\r\n              a.order_list[0].delivery_status > b.order_list[0].delivery_status\r\n            )\r\n              return 1;\r\n            return 0;\r\n          } else {\r\n            return 0;\r\n          }\r\n        }\r\n\r\n        function soon_available_providers_sortItem(a, b) {\r\n          if (a.order_list[0] && b.order_list[0]) {\r\n            if (\r\n              a.order_list[0].delivery_status > b.order_list[0].delivery_status\r\n            )\r\n              return -1;\r\n            if (\r\n              a.order_list[0].delivery_status < b.order_list[0].delivery_status\r\n            )\r\n              return 1;\r\n            return 0;\r\n          } else {\r\n            return 0;\r\n          }\r\n        }\r\n      });\r\n  }\r\n\r\n  get_provider_list() {\r\n    this.helper.http\r\n      .post(\"/admin/get_provider_list_for_city\", {\r\n        team_provider_ids: this.team_provider_ids,\r\n        team_store_ids: this.team_store_ids,\r\n        city_ids: this.helper.router_id.filter.city_ids,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        this.search_provider_list = res_data.providers;\r\n\r\n        setTimeout(function () {\r\n          jQuery(\"#provider_dispatcher\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n      });\r\n  }\r\n\r\n  get_store_list() {\r\n    this.helper.http\r\n      .post(\"/admin/get_store_list_for_city\", {\r\n        team_provider_ids: this.team_provider_ids,\r\n        team_store_ids: this.team_store_ids,\r\n        city_ids: this.helper.router_id.filter.city_ids,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        this.store_list = res_data.stores;\r\n\r\n        setTimeout(function () {\r\n          jQuery(\"#store_dispatcher\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n      });\r\n  }\r\n\r\n  orderStatus(\r\n    status,\r\n    store_id,\r\n    order_id,\r\n    order_type,\r\n    is_user_pick_up_order,\r\n    is_schedule_order,\r\n    is_hopper_on_demand\r\n  ) {\r\n    if (!is_hopper_on_demand) {\r\n      swal({\r\n        title: \"Are you sure?\",\r\n        text: \"You won't be able to revert this!\",\r\n        type: \"warning\",\r\n        showCancelButton: true,\r\n        confirmButtonColor: \"#3085d6\",\r\n        cancelButtonColor: \"#d33\",\r\n        confirmButtonText: \"Yes\",\r\n      })\r\n        .then(() => {\r\n          let data = {\r\n            order_id: order_id,\r\n            order_type: order_type,\r\n            order_status: status,\r\n          };\r\n          var store = JSON.parse(localStorage.getItem(\"store\"));\r\n          this.myLoading = true;\r\n          this.helper.http\r\n            .post(\"/api/store/set_order_status\", {\r\n              store_id: store_id,\r\n              order_id: data.order_id,\r\n              order_status: data.order_status,\r\n              type: this.helper.ADMIN_DATA_ID.ADMIN,\r\n            })\r\n            .map((res: Response) => res.json())\r\n            .subscribe(\r\n              (res_data) => {\r\n                if (res_data.success == false) {\r\n                  this.myLoading = false;\r\n                  this.helper.data.storage = {\r\n                    code: res_data.error_code,\r\n                    message: this.helper.ERROR_CODE[res_data.error_code],\r\n                    class: \"alert-danger\",\r\n                  };\r\n                  this.helper.message();\r\n                } else {\r\n                  if (\r\n                    status == this.ORDER_STATE.STORE_ACCEPTED &&\r\n                    !is_schedule_order &&\r\n                    !is_user_pick_up_order\r\n                  ) {\r\n                    this.assign_provider(data.order_id, store_id);\r\n                  } else {\r\n                    this.myLoading = false;\r\n                    this.filter(this.page, true);\r\n                  }\r\n                }\r\n              },\r\n              (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error);\r\n              }\r\n            );\r\n        })\r\n        .catch(swal.noop);\r\n    }\r\n  }\r\n\r\n  go_to_map(destination_address, store_address) {\r\n    var url =\r\n      \"https://www.google.com/maps/dir/\" +\r\n      store_address +\r\n      \"/\" +\r\n      destination_address;\r\n    window.open(url, \"_blank\");\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    clearInterval(this.interval);\r\n    clearInterval(this.dispatcher_provider_interval);\r\n    clearInterval(this.dispatcher_provider_count_interval);\r\n  }\r\n  activeRoute(routename: string): boolean {\r\n    return this.helper.router.url.indexOf(routename) > -1;\r\n  }\r\n\r\n  CancleOrderModal(store_id, order_id) {\r\n    this.store_id = store_id;\r\n    this.order_id = order_id;\r\n    this.cancel_detail_order_modal.open();\r\n    // this.helper.ngZone.run(() => {\r\n    jQuery(\".iradio\").iCheck({\r\n      handle: \"radio\",\r\n      radioClass: \"iradio_square-green\",\r\n    });\r\n    jQuery(\"#default_reason\").iCheck(\"check\");\r\n    this.cancel_reason = jQuery(\"#default_reason\").val();\r\n    jQuery(\".iradio\").on(\"ifChecked\", (event) => {\r\n      if (event.target.value == 1) {\r\n        jQuery(\"#text_box\").show();\r\n        this.cancel_reason = \"\";\r\n      } else {\r\n        jQuery(\"#text_box\").hide();\r\n        this.cancel_reason = event.target.value;\r\n      }\r\n    });\r\n    // });\r\n  }\r\n\r\n  cancelOrder() {\r\n    if (this.cancel_reason) {\r\n      this.myLoading = true;\r\n      // swal({\r\n      //     title: 'Are you sure?',\r\n      //     text: \"You won't be able to revert this!\",\r\n      //     type: 'warning',\r\n      //     showCancelButton: true,\r\n      //     confirmButtonColor: '#3085d6',\r\n      //     cancelButtonColor: '#d33',\r\n      //     confirmButtonText: 'Yes'\r\n      // }).then(() => {\r\n      this.helper.http\r\n        .post(\"/api/store/store_cancel_or_reject_order\", {\r\n          store_id: this.store_id,\r\n          order_id: this.order_id,\r\n          cancel_reason: this.cancel_reason,\r\n          order_status: this.helper.ORDER_STATE.ADMIN_CANCELLED,\r\n          type: this.helper.ADMIN_DATA_ID.ADMIN,\r\n        })\r\n        .map((res: Response) => res.json())\r\n        .subscribe((res_data) => {\r\n          if (res_data.success == false) {\r\n            this.helper.data.storage = {\r\n              code: res_data.error_code,\r\n              message: this.helper.ERROR_CODE[res_data.error_code],\r\n              class: \"alert-danger\",\r\n            };\r\n            this.helper.message();\r\n          } else {\r\n            this.cancel_detail_order_modal.close();\r\n          }\r\n          this.filter(this.page, true);\r\n        });\r\n      // }).catch(swal.noop)\r\n    }\r\n  }\r\n\r\n  orderAssignProvider(order_id, store_id) {\r\n    swal({\r\n      title: \"Are you sure?\",\r\n      text: \"You won't be able to revert this!\",\r\n      type: \"warning\",\r\n      showCancelButton: true,\r\n      confirmButtonColor: \"#3085d6\",\r\n      cancelButtonColor: \"#d33\",\r\n      confirmButtonText: \"Yes\",\r\n    })\r\n      .then(() => {\r\n        this.assign_provider(order_id, store_id);\r\n      })\r\n      .catch(swal.noop);\r\n  }\r\n\r\n  assign_provider(order_id, store_id) {\r\n    this.myLoading = true;\r\n    let json;\r\n    var store = JSON.parse(localStorage.getItem(\"store\"));\r\n    // if (store.is_ask_estimated_time_for_ready_order) {\r\n    //     json = {store_id: store_id, type: this.helper.ADMIN_DATA_ID.ADMIN, order_id: order_id, estimated_time_for_ready_order: this.estimated_time}\r\n    // } else {\r\n    json = {\r\n      store_id: store_id,\r\n      type: this.helper.ADMIN_DATA_ID.ADMIN,\r\n      order_id: order_id,\r\n    };\r\n    // }\r\n    this.helper.http\r\n      .post(\"/api/store/create_request\", json)\r\n      .map((res: Response) => res.json())\r\n      .subscribe(\r\n        (res_data) => {\r\n          this.myLoading = false;\r\n          if (res_data.success == false) {\r\n            if (res_data.error_code) {\r\n              this.helper.data.storage = {\r\n                code: res_data.error_code,\r\n                message: this.helper.ERROR_CODE[res_data.error_code],\r\n                class: \"alert-danger\",\r\n              };\r\n              this.helper.message();\r\n            }\r\n          } else {\r\n          }\r\n          this.filter(this.page, true);\r\n        },\r\n        (error: any) => {\r\n          this.myLoading = false;\r\n          this.helper.http_status(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  change_deliveryman(order_id, provider_id, store_id) {\r\n    this.myLoading = true;\r\n    this.helper.http\r\n      .post(\"/api/store/get_nearest_provider\", {\r\n        team_provider_ids: this.team_provider_ids,\r\n        team_store_ids: this.team_store_ids,\r\n        order_id: order_id,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        this.myLoading = false;\r\n        this.search_hopper = \"\";\r\n        this.provider_list = res_data.providers;\r\n        this.filtered_provider_list = res_data.providers;\r\n        this.provider_id = provider_id;\r\n        this.store_id = store_id;\r\n\r\n        this.total_online_hopper = 0;\r\n        this.total_online_free = 0;\r\n        this.provider_list.forEach((provider_detail) => {\r\n          if (provider_detail.is_online) {\r\n            this.total_online_hopper++;\r\n          }\r\n          if (provider_detail.is_online && provider_detail.request_count == 0) {\r\n            this.total_online_free++;\r\n          }\r\n          if (provider_detail.is_online && provider_detail.request_count == 0) {\r\n            provider_detail.filter_type = 1;\r\n          } else if (\r\n            provider_detail.is_online &&\r\n            provider_detail.request_count > 0 &&\r\n            provider_detail.order_list[0].delivery_status <\r\n              this.helper.ORDER_STATE.DELIVERY_MAN_ARRIVED\r\n          ) {\r\n            provider_detail.filter_type = 2;\r\n          } else if (\r\n            provider_detail.is_online &&\r\n            provider_detail.request_count > 0 &&\r\n            provider_detail.order_list[0].delivery_status >=\r\n              this.helper.ORDER_STATE.DELIVERY_MAN_ARRIVED\r\n          ) {\r\n            provider_detail.filter_type = 3;\r\n          } else {\r\n            provider_detail.filter_type = 4;\r\n          }\r\n        });\r\n\r\n        this.provider_sorting(5);\r\n\r\n        this.deliveryman_modal.open();\r\n\r\n        jQuery(\"#provider_id\").change((evnt, res_data) => {\r\n          let old_provider_id = this.provider_id;\r\n          this.provider_id = res_data.selected;\r\n          this.assign_new_provider(old_provider_id);\r\n        });\r\n        this.order_id = order_id;\r\n      });\r\n  }\r\n\r\n  provider_sorting(filter_type) {\r\n    this.filter_type = filter_type;\r\n    if (this.filter_type == 1) {\r\n      this.provider_list.sort(this.sortOrderTimeWise);\r\n      this.provider_list.sort(this.sortTimeWise);\r\n    } else if (this.filter_type == 2) {\r\n      this.provider_list.sort(this.sortItem);\r\n      this.provider_list.sort(this.sortItem1);\r\n    } else if (this.filter_type == 3) {\r\n      this.provider_list.sort(this.sortItem);\r\n      this.provider_list.sort(this.sortItem1);\r\n      var list = this.provider_list.filter((elt) => elt.filter_type === 2);\r\n      list.forEach((detail) => {\r\n        this.provider_list.unshift(\r\n          this.provider_list.splice(\r\n            this.provider_list.findIndex((x) => x._id == detail._id),\r\n            1\r\n          )[0]\r\n        );\r\n      });\r\n      // this.provider_list.unshift(\r\n      //     this.provider_list.splice(this.provider_list.findIndex(elt => elt.filter_type === 3),1)[0]\r\n      // )\r\n    } else if (this.filter_type == 4) {\r\n      this.provider_list.sort(this.sortItem);\r\n      this.provider_list.sort(this.sortItem1);\r\n      var list = this.provider_list.filter((elt) => elt.filter_type === 3);\r\n      list.forEach((detail) => {\r\n        this.provider_list.unshift(\r\n          this.provider_list.splice(\r\n            this.provider_list.findIndex((x) => x._id == detail._id),\r\n            1\r\n          )[0]\r\n        );\r\n      });\r\n    } else {\r\n      this.provider_list.sort(this.sortOrderTimeWise);\r\n      this.provider_list.sort(this.sortTimeWise);\r\n      this.provider_list.sort(this.sortItem);\r\n      this.provider_list.sort(this.sortItem1);\r\n    }\r\n    var index = this.provider_list.findIndex((x) => x._id == this.provider_id);\r\n    if (index !== -1) {\r\n      var selected_provider = JSON.parse(\r\n        JSON.stringify(this.provider_list[index])\r\n      );\r\n      this.provider_list.splice(index, 1);\r\n      this.provider_list.unshift(selected_provider);\r\n    }\r\n    setTimeout(() => {\r\n      jQuery(\"#provider_id\").trigger(\"chosen:updated\");\r\n      jQuery(\"#provider_id\").trigger(\"chosen:open\");\r\n    }, 100);\r\n  }\r\n\r\n  search_hopper_data() {\r\n    // let data: any = this.search_hopper.replace(/^\\s+|\\s+$/g, '');\r\n    // data = data.replace(/ +(?= )/g, '');\r\n    // data = new RegExp(data,\"gi\");\r\n    // this.filtered_provider_list = this.provider_list.filter((provider_detail)=>{\r\n    //     var a = provider_detail.first_name.match(data);\r\n    //     var b = provider_detail.last_name.match(data);\r\n    //     return (a !== null || b !== null);\r\n    // });\r\n    // setTimeout(()=> {\r\n    //     jQuery(\"#provider_id\").chosen({disable_search: true});\r\n    //     jQuery(\"#provider_id\").trigger(\"chosen:updated\");\r\n    // }, 1000);\r\n  }\r\n\r\n  sortTimeWise(a, b) {\r\n    if (a.distance_to_store < b.distance_to_store) return -1;\r\n    if (a.distance_to_store > b.distance_to_store) return 1;\r\n    return 0;\r\n  }\r\n\r\n  sortOrderTimeWise(a, b) {\r\n    if (a.distance_to_store_with_order < b.distance_to_store_with_order)\r\n      return -1;\r\n    if (a.distance_to_store_with_order > b.distance_to_store_with_order)\r\n      return 1;\r\n    return 0;\r\n  }\r\n\r\n  sortItem(a, b) {\r\n    if (a.request_count < b.request_count) return -1;\r\n    if (a.request_count > b.request_count) return 1;\r\n    return 0;\r\n  }\r\n\r\n  sortItem1(a, b) {\r\n    if (a.filter_type > b.filter_type) return 1;\r\n    if (a.filter_type < b.filter_type) return -1;\r\n    return 0;\r\n  }\r\n\r\n  assign_new_provider(old_provider_id) {\r\n    if (this.provider_id !== \"\") {\r\n      let index = this.provider_list.findIndex(\r\n        (x) => x._id == this.provider_id\r\n      );\r\n      let distance_to_store = 0;\r\n      if (index !== -1) {\r\n        distance_to_store = this.provider_list[index].distance_to_store;\r\n      }\r\n      let is_another_nearest_provider = false;\r\n      this.provider_list.forEach((provider) => {\r\n        if (\r\n          provider.is_online &&\r\n          (provider.request_count == 0 || provider._id == old_provider_id) &&\r\n          provider.distance_to_store <= distance_to_store - 5\r\n        ) {\r\n          is_another_nearest_provider = true;\r\n        }\r\n      });\r\n      this.myLoading = true;\r\n      this.helper.http\r\n        .post(\"/api/store/assign_new_provider\", {\r\n          type: this.helper.ADMIN_DATA_ID.ADMIN,\r\n          order_id: this.order_id,\r\n          store_id: this.store_id,\r\n          provider_id: this.provider_id,\r\n          is_another_nearest_provider: is_another_nearest_provider,\r\n        })\r\n        .map((res: Response) => res.json())\r\n        .subscribe((res_data) => {\r\n          this.myLoading = false;\r\n          jQuery(\"#provider_id\").off(\"change\");\r\n          this.deliveryman_modal.close();\r\n          this.filter(this.page, true);\r\n        });\r\n    }\r\n  }\r\n\r\n  remove_event() {\r\n    jQuery(\"#provider_id\").off(\"change\");\r\n    this.deliveryman_modal.close();\r\n  }\r\n\r\n  remove_uber_eats_store_list_event() {\r\n    this.uber_eats_store_list_modal.close();\r\n  }\r\n\r\n  remove_nearest_store_list_event() {\r\n    jQuery(\"#nearest_store_list_modal\").off(\"change\");\r\n    this.nearest_store_list_modal.close();\r\n  }\r\n\r\n  get_nearest_store_list(order_id) {\r\n    const order_detail = this.order_list.find((x) => x._id == order_id);\r\n    if (order_detail) {\r\n      const customer_location = order_detail.destination_location;\r\n\r\n      const store_locations = this.order_list\r\n        .filter(\r\n          (x) =>\r\n            order_detail.city_id === x.city_id &&\r\n            x.store_id !== order_detail.store_id\r\n        )\r\n        .map((x) => {\r\n          return {\r\n            _id: x._id,\r\n            store_name: x.store_name,\r\n            is_online: true,\r\n            store_postal_code: x.store_postal_code,\r\n            store_address: x.store_address,\r\n            pickup_location: x.pickup_location,\r\n          };\r\n        });\r\n\r\n      this.myLoading = true;\r\n\r\n      this.helper.http\r\n        .post(\"/api/store/get_nearest_store_list\", {\r\n          type: this.helper.ADMIN_DATA_ID.ADMIN,\r\n          city_id: order_detail.city_id,\r\n          customer_location: customer_location,\r\n          store_locations: store_locations,\r\n          order_id: order_id,\r\n        })\r\n        .map((res: Response) => res.json())\r\n        .subscribe((res_data) => {\r\n          this.myLoading = false;\r\n          if (res_data.success) {\r\n            this.nearest_store_list = res_data.store_locations;\r\n            this.nearest_store_list.forEach((store) => {\r\n              store.distance_to_store_with_order = (\r\n                store.distance_to_store + order_detail.deliveryman_to_user_time\r\n              ).toFixed(0);\r\n            });\r\n          } else {\r\n            this.nearest_store_list = [];\r\n          }\r\n          this.nearest_store_list_modal.open();\r\n          setTimeout(() => {\r\n            jQuery(\"#nearest_store_list\").trigger(\"chosen:updated\");\r\n            jQuery(\"#nearest_store_list\").trigger(\"chosen:open\");\r\n          }, 100);\r\n        });\r\n    }\r\n  }\r\n\r\n  re_attribute_provider(order_id, store_id, is_order_completed_by_other) {\r\n    if (is_order_completed_by_other) {\r\n      swal({\r\n        title: \"Are you sure order completed by other?\",\r\n        text: \"You won't be able to revert this!\",\r\n        type: \"warning\",\r\n        showCancelButton: true,\r\n        confirmButtonColor: \"#3085d6\",\r\n        cancelButtonColor: \"#d33\",\r\n        confirmButtonText: \"Yes\",\r\n      }).then(() => {\r\n        this.myLoading = true;\r\n        this.helper.http\r\n          .post(\"/api/store/assign_new_provider\", {\r\n            type: this.helper.ADMIN_DATA_ID.ADMIN,\r\n            order_id: order_id,\r\n            store_id: store_id,\r\n            is_order_completed_by_other: is_order_completed_by_other,\r\n          })\r\n          .map((res: Response) => res.json())\r\n          .subscribe((res_data) => {\r\n            this.myLoading = false;\r\n            this.filter(this.page, true);\r\n          });\r\n      });\r\n    } else {\r\n      this.myLoading = true;\r\n      this.helper.http\r\n        .post(\"/api/store/assign_new_provider\", {\r\n          type: this.helper.ADMIN_DATA_ID.ADMIN,\r\n          order_id: order_id,\r\n          store_id: store_id,\r\n          is_order_completed_by_other: is_order_completed_by_other,\r\n        })\r\n        .map((res: Response) => res.json())\r\n        .subscribe((res_data) => {\r\n          this.myLoading = false;\r\n          this.filter(this.page, true);\r\n        });\r\n    }\r\n  }\r\n\r\n  add_preparation_time(order_id, store_id) {\r\n    this.order_id = order_id;\r\n    this.store_id = store_id;\r\n    this.estimated_time_modal1.open();\r\n  }\r\n\r\n  add_time(time) {\r\n    this.estimated_time = time;\r\n  }\r\n\r\n  completeDeliveryModal(order_id, store_id) {\r\n    this.order_id = order_id;\r\n\r\n    swal({\r\n      title: \"Are you sure?\",\r\n      text: \"You won't be able to revert this!\",\r\n      type: \"warning\",\r\n      showCancelButton: true,\r\n      confirmButtonColor: \"#3085d6\",\r\n      cancelButtonColor: \"#d33\",\r\n      confirmButtonText: \"Yes\",\r\n    }).then(() => {\r\n      this.myLoading = true;\r\n      this.helper.http\r\n        .post(\"/api/store/complete_order\", {\r\n          store_id: store_id,\r\n          order_id: this.order_id,\r\n          type: this.helper.ADMIN_DATA_ID.ADMIN,\r\n        })\r\n        .map((res: Response) => res.json())\r\n        .subscribe(\r\n          (res_data) => {\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n              this.helper.data.storage = {\r\n                code: res_data.error_code,\r\n                message: this.helper.ERROR_CODE[res_data.error_code],\r\n                class: \"alert-danger\",\r\n              };\r\n              this.helper.message();\r\n            } else {\r\n              let order_index = this.order_list.findIndex(\r\n                (x) => x._id == this.order_id\r\n              );\r\n              this.order_list.splice(order_index, 1);\r\n            }\r\n          },\r\n          (error: any) => {\r\n            this.myLoading = false;\r\n            this.helper.http_status(error);\r\n          }\r\n        );\r\n    });\r\n  }\r\n\r\n  rejectrequest(provider_id, request_id) {\r\n    swal({\r\n      title: \"Are you sure?\",\r\n      text: \"You won't be able to revert this!\",\r\n      type: \"warning\",\r\n      showCancelButton: true,\r\n      confirmButtonColor: \"#3085d6\",\r\n      cancelButtonColor: \"#d33\",\r\n      confirmButtonText: \"Yes\",\r\n    })\r\n      .then(() => {\r\n        this.helper.http\r\n          .post(\"/api/provider/provider_cancel_or_reject_request\", {\r\n            provider_id: provider_id,\r\n            request_id: request_id,\r\n            cancel_reasons: \"\",\r\n            delivery_status: this.helper.ORDER_STATE.DELIVERY_MAN_REJECTED,\r\n            type: this.helper.ADMIN_DATA_ID.ADMIN,\r\n          })\r\n          .map((res: Response) => res.json())\r\n          .subscribe((res_data) => {\r\n            if (res_data.success == false) {\r\n              this.helper.data.storage = {\r\n                code: res_data.error_code,\r\n                message: this.helper.ERROR_CODE[res_data.error_code],\r\n                class: \"alert-danger\",\r\n              };\r\n              this.helper.message();\r\n            } else {\r\n            }\r\n            this.filter(this.page, true);\r\n          });\r\n      })\r\n      .catch(swal.noop);\r\n  }\r\n\r\n  verify_address(order) {\r\n    this.helper.http\r\n      .post(\"/admin/verify_address\", {\r\n        order_id: order._id,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        if (res_data.success == false) {\r\n          this.helper.data.storage = {\r\n            code: res_data.error_code,\r\n            message: this.helper.ERROR_CODE[res_data.error_code],\r\n            class: \"alert-danger\",\r\n          };\r\n          this.helper.message();\r\n        } else {\r\n          order.is_street_available = true;\r\n        }\r\n      });\r\n  }\r\n\r\n  verify_provider_stopped(order) {\r\n    this.helper.http\r\n      .post(\"/admin/verify_provider_stopped\", {\r\n        request_id: order.request_id,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        if (res_data.success == false) {\r\n          this.helper.data.storage = {\r\n            code: res_data.error_code,\r\n            message: this.helper.ERROR_CODE[res_data.error_code],\r\n            class: \"alert-danger\",\r\n          };\r\n          this.helper.message();\r\n        } else {\r\n          order.is_provider_stopped = false;\r\n        }\r\n      });\r\n  }\r\n\r\n  verify_another_nearest_provider(order) {\r\n    this.helper.http\r\n      .post(\"/admin/verify_another_nearest_provider\", {\r\n        order_id: order._id,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        if (res_data.success == false) {\r\n          this.helper.data.storage = {\r\n            code: res_data.error_code,\r\n            message: this.helper.ERROR_CODE[res_data.error_code],\r\n            class: \"alert-danger\",\r\n          };\r\n          this.helper.message();\r\n        } else {\r\n          order.is_another_nearest_provider = false;\r\n        }\r\n      });\r\n  }\r\n\r\n  acceptrequest(provider_id, request_id, delivery_status) {\r\n    swal({\r\n      title: \"Are you sure?\",\r\n      text: \"You won't be able to revert this!\",\r\n      type: \"warning\",\r\n      showCancelButton: true,\r\n      confirmButtonColor: \"#3085d6\",\r\n      cancelButtonColor: \"#d33\",\r\n      confirmButtonText: \"Yes\",\r\n    })\r\n      .then(() => {\r\n        this.helper.http\r\n          .post(\"/api/provider/change_request_status\", {\r\n            provider_id: provider_id,\r\n            request_id: request_id,\r\n            delivery_status: delivery_status,\r\n            type: this.helper.ADMIN_DATA_ID.ADMIN,\r\n          })\r\n          .map((res: Response) => res.json())\r\n          .subscribe((res_data) => {\r\n            if (res_data.success == false) {\r\n              this.helper.data.storage = {\r\n                code: res_data.error_code,\r\n                message: this.helper.ERROR_CODE[res_data.error_code],\r\n                class: \"alert-danger\",\r\n              };\r\n              this.helper.message();\r\n            } else {\r\n            }\r\n            this.filter(this.page, true);\r\n          });\r\n      })\r\n      .catch(swal.noop);\r\n  }\r\n\r\n  completerequest(provider_id, request_id) {\r\n    swal({\r\n      title: \"Are you sure?\",\r\n      text: \"You won't be able to revert this!\",\r\n      type: \"warning\",\r\n      showCancelButton: true,\r\n      confirmButtonColor: \"#3085d6\",\r\n      cancelButtonColor: \"#d33\",\r\n      confirmButtonText: \"Yes\",\r\n    })\r\n      .then(() => {\r\n        this.helper.http\r\n          .post(\"/api/provider/complete_request\", {\r\n            provider_id: provider_id,\r\n            request_id: request_id,\r\n            type: this.helper.ADMIN_DATA_ID.ADMIN,\r\n          })\r\n          .map((res: Response) => res.json())\r\n          .subscribe((res_data) => {\r\n            if (res_data.success == false) {\r\n              this.helper.data.storage = {\r\n                code: res_data.error_code,\r\n                message: this.helper.ERROR_CODE[res_data.error_code],\r\n                class: \"alert-danger\",\r\n              };\r\n              this.helper.message();\r\n            } else {\r\n            }\r\n            this.filter(this.page, true);\r\n          });\r\n      })\r\n      .catch(swal.noop);\r\n  }\r\n\r\n  is_sort_by_hopper_chnage(bool) {\r\n    this.is_sort_by_hopper = bool;\r\n    this.filter(this.page, true);\r\n  }\r\n\r\n  filter(page, loader) {\r\n    console.log(\"is_schedule_order: \" + this.is_schedule_order);\r\n    this.myLoading = loader;\r\n    this.page = page;\r\n    this.helper.http\r\n      .post(\"/api/admin/dispatch_list_search_sort\", {\r\n        team_provider_ids: this.team_provider_ids,\r\n        team_store_ids: this.team_store_ids,\r\n        is_sort_by_hopper: this.is_sort_by_hopper,\r\n        provider_ids: this.helper.router_id.filter.provider_ids,\r\n        store_ids: this.helper.router_id.filter.store_ids,\r\n        number_of_rec: this.helper.router_id.filter.number_of_rec,\r\n        city_ids: this.helper.router_id.filter.city_ids,\r\n        country_ids: this.helper.router_id.filter.country_ids,\r\n        sort_field: this.sort_field,\r\n        sort_order: this.sort_order,\r\n        is_schedule_order: this.is_schedule_order,\r\n        search_field: this.helper.router_id.filter.search_field,\r\n        search_value: this.helper.router_id.filter.search_value,\r\n        page: this.page,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe(\r\n        (res_data) => {\r\n          this.cancelled_count = res_data.cancelled_count;\r\n          this.myLoading = false;\r\n          this.order_color_list = [];\r\n          this.total_order = 0;\r\n          this.total_not_accepteed_order = 0;\r\n          this.total_hopper_not_accepteed_order = 0;\r\n          this.total_time_changed_order = 0;\r\n          this.total_partner_delay_order = 0;\r\n          this.total_hopper_delay_order = 0;\r\n          this.total_in_progress_order = 0;\r\n\r\n          this.total_new_order = 0;\r\n          this.total_accepted_order = 0;\r\n          this.total_ready_order = 0;\r\n          this.total_in_delivery_order = 0;\r\n\r\n          this.helper.router_id.hopper_order_count = 0;\r\n          this.helper.router_id.hop_order_count = 0;\r\n          this.new_order_count = 0;\r\n          this.accepted_order_count = 0;\r\n          this.ready_order_count = 0;\r\n          this.pickup_order_count = 0;\r\n          this.order_pay_order_count = 0;\r\n          this.helper.router_id.city_order_count = [];\r\n\r\n          this.preorder_count = res_data.preorder_count;\r\n          if (res_data.success == false) {\r\n            this.order_list = [];\r\n            this.total_pages = [];\r\n            this.provider_count = [];\r\n            this.store_count = [];\r\n          } else {\r\n            this.timezone = res_data.timezone;\r\n            this.order_list = res_data.order_list;\r\n            this.total_page = res_data.pages;\r\n            this.total_pages = Array(res_data.pages)\r\n              .fill((x, i) => i)\r\n              .map((x, i) => i + 1);\r\n            this.provider_count = [];\r\n            this.store_count = [];\r\n\r\n            this.order_list.forEach((order) => {\r\n              var current_time = new Date(res_data.current_date).getTime();\r\n              var estimated_time_for_ready_order = new Date(\r\n                order.estimated_time_for_ready_order\r\n              ).getTime();\r\n              var status_change_time = null;\r\n              if (order.status_change_time) {\r\n                status_change_time = new Date(\r\n                  order.status_change_time\r\n                ).getTime();\r\n                var time_diff3 = current_time - status_change_time;\r\n                time_diff3 = time_diff3 / 60000;\r\n                order.status_change_time_diff = time_diff3 || 0;\r\n              }\r\n              var estimated_time_for_delivery_order = new Date(\r\n                order.estimated_time_for_delivery_order\r\n              ).getTime();\r\n              var created_at = new Date(order.created_at).getTime();\r\n\r\n              // console.log(estimated_time_for_delivery_order)\r\n              // console.log(current_time)\r\n              var time_diff = estimated_time_for_ready_order - current_time;\r\n              time_diff = time_diff / 60000;\r\n              order.ready_time_diff = time_diff || 0;\r\n\r\n              var time_diff1 = estimated_time_for_delivery_order - current_time;\r\n              time_diff1 = time_diff1 / 60000;\r\n              order.delivery_time_diff = time_diff1 || 0;\r\n\r\n              var time_diff2 = current_time - created_at;\r\n              time_diff2 = time_diff2 / 60000;\r\n              order.creation_time_diff = time_diff2 || 0;\r\n\r\n              let deliveryman_to_store_time_set_date = new Date(\r\n                res_data.current_date\r\n              );\r\n              if (order.deliveryman_to_store_time_set_date) {\r\n                deliveryman_to_store_time_set_date = new Date(\r\n                  order.deliveryman_to_store_time_set_date\r\n                );\r\n              }\r\n              let deliveryman_to_store_time_set_date_diff =\r\n                (current_time - deliveryman_to_store_time_set_date.getTime()) /\r\n                60000;\r\n              order.deliveryman_to_store_time =\r\n                order.deliveryman_to_store_time -\r\n                deliveryman_to_store_time_set_date_diff;\r\n              if (order.deliveryman_to_store_time < 0) {\r\n                order.deliveryman_to_store_time = 0;\r\n              }\r\n\r\n              let current1 = new Date(res_data.current_date);\r\n              current1 = new Date(\r\n                current1.setMinutes(\r\n                  current1.getMinutes() + order.deliveryman_to_store_time\r\n                )\r\n              );\r\n              let diff1 =\r\n                new Date(order.estimated_time_for_ready_order).getTime() -\r\n                current1.getTime();\r\n              diff1 = diff1 / 60000;\r\n              order.estimated_time_for_ready_order_difference =\r\n                Math.ceil(diff1);\r\n\r\n              let deliveryman_to_user_time_set_date = new Date(\r\n                res_data.current_date\r\n              );\r\n              if (order.deliveryman_to_user_time_set_date) {\r\n                deliveryman_to_user_time_set_date = new Date(\r\n                  order.deliveryman_to_user_time_set_date\r\n                );\r\n              }\r\n              let deliveryman_to_user_time_set_date_diff =\r\n                (current_time - deliveryman_to_user_time_set_date.getTime()) /\r\n                60000;\r\n              order.deliveryman_to_user_time =\r\n                order.deliveryman_to_user_time -\r\n                deliveryman_to_user_time_set_date_diff;\r\n              if (order.deliveryman_to_user_time < 0) {\r\n                order.deliveryman_to_user_time = 0;\r\n              }\r\n\r\n              let current = new Date(res_data.current_date);\r\n              current = new Date(\r\n                current.setMinutes(\r\n                  current.getMinutes() + order.deliveryman_to_user_time\r\n                )\r\n              );\r\n              let diff =\r\n                new Date(order.estimated_time_for_delivery_order).getTime() -\r\n                current.getTime();\r\n              diff = diff / 60000;\r\n              order.estimated_time_for_delivery_order_difference =\r\n                Math.ceil(diff);\r\n\r\n              if (order.request_id) {\r\n                // order.delivery_status = order.request_detail.delivery_status;\r\n                // order.current_provider = order.request_detail.current_provider;\r\n                order.current_provider = order.provider_id;\r\n\r\n                // console.log(order.unique_id + \" order.current_provider: \"+ order.current_provider)\r\n              } else {\r\n                if (order.is_user_pick_up_order) {\r\n                  order.delivery_status = 1000;\r\n                } else {\r\n                  order.delivery_status = 0;\r\n                }\r\n              }\r\n\r\n              if (order.is_hopper_on_demand) {\r\n                this.helper.router_id.hopper_order_count++;\r\n              } else {\r\n                this.helper.router_id.hop_order_count++;\r\n              }\r\n\r\n              let city_index = this.helper.router_id.city_order_count.findIndex(\r\n                (x) => x.city_id == order.city_id\r\n              );\r\n              if (city_index == -1) {\r\n                this.helper.router_id.city_order_count.push({\r\n                  city_id: order.city_id,\r\n                  city_name: order.city_name ? order.city_name : \"Genève\",\r\n                  order_count: 1,\r\n                });\r\n              } else {\r\n                this.helper.router_id.city_order_count[city_index]\r\n                  .order_count++;\r\n              }\r\n\r\n              if (!order.is_user_pick_up_order) {\r\n                if (\r\n                  order.order_status ==\r\n                  this.ORDER_STATE.WAITING_FOR_ACCEPT_STORE\r\n                ) {\r\n                  this.new_order_count++;\r\n                } else if (\r\n                  order.order_status == this.ORDER_STATE.STORE_ACCEPTED\r\n                ) {\r\n                  this.accepted_order_count++;\r\n                } else if (\r\n                  order.order_status == this.ORDER_STATE.OREDER_READY\r\n                ) {\r\n                  this.ready_order_count++;\r\n                }\r\n              } else {\r\n                if (order.is_order_pay) {\r\n                  this.order_pay_order_count++;\r\n                } else {\r\n                  this.pickup_order_count++;\r\n                }\r\n              }\r\n\r\n              if (\r\n                order.updated_time >= 30 &&\r\n                order.order_status !== this.ORDER_STATE.OREDER_READY\r\n              ) {\r\n                this.total_time_changed_order++;\r\n                order.show_type = 4;\r\n              } else {\r\n                if (\r\n                  order.order_status ==\r\n                  this.ORDER_STATE.WAITING_FOR_ACCEPT_STORE\r\n                ) {\r\n                  if (order.creation_time_diff >= 5) {\r\n                    this.total_not_accepteed_order++;\r\n                    order.show_type = 2;\r\n                  } else {\r\n                    this.total_order++;\r\n                    order.show_type = 1;\r\n                  }\r\n                  this.total_new_order++;\r\n                } else if (\r\n                  order.delivery_status ==\r\n                    this.ORDER_STATE.NO_DELIVERY_MAN_FOUND ||\r\n                  order.delivery_status ==\r\n                    this.ORDER_STATE.DELIVERY_MAN_CANCELLED\r\n                ) {\r\n                  this.total_hopper_not_accepteed_order++;\r\n                  order.show_type = 3;\r\n                } else if (\r\n                  order.order_status == this.ORDER_STATE.STORE_ACCEPTED &&\r\n                  order.ready_time_diff <= -10\r\n                ) {\r\n                  // if(order.ready_time_diff>-10){\r\n                  this.total_partner_delay_order++;\r\n                  order.show_type = 5;\r\n                  // }\r\n                } else if (\r\n                  order.delivery_time_diff <= -15 &&\r\n                  order.order_status == this.ORDER_STATE.OREDER_READY &&\r\n                  order.delivery_status >=\r\n                    this.ORDER_STATE.DELIVERY_MAN_PICKED_ORDER &&\r\n                  !order.is_user_pick_up_order\r\n                ) {\r\n                  this.total_hopper_delay_order++;\r\n                  order.show_type = 6;\r\n                } else {\r\n                  this.total_in_progress_order++;\r\n                  order.show_type = 7;\r\n                }\r\n\r\n                order.order_show_type = 0;\r\n                if (order.order_status == this.ORDER_STATE.STORE_ACCEPTED) {\r\n                  this.total_accepted_order++;\r\n                  order.order_show_type = 1;\r\n                } else if (\r\n                  order.order_status == this.ORDER_STATE.OREDER_READY &&\r\n                  order.delivery_status >=\r\n                    this.ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\r\n                ) {\r\n                  this.total_in_delivery_order++;\r\n                  order.order_show_type = 3;\r\n                } else if (\r\n                  order.order_status == this.ORDER_STATE.OREDER_READY &&\r\n                  order.delivery_status <\r\n                    this.ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\r\n                ) {\r\n                  this.total_ready_order++;\r\n                  order.order_show_type = 2;\r\n                }\r\n              }\r\n\r\n              if (order.provider_id) {\r\n                var index = this.provider_count.findIndex(\r\n                  (x) =>\r\n                    x.provider_id.toString() == order.provider_id.toString()\r\n                );\r\n                if (index == -1) {\r\n                  this.provider_count.push({\r\n                    provider_id: order.provider_id,\r\n                    count: 1,\r\n                  });\r\n                } else {\r\n                  this.provider_count[index].count++;\r\n                }\r\n              }\r\n\r\n              if (order.store_id && !order.is_user_pick_up_order) {\r\n                var index = this.store_count.findIndex(\r\n                  (x) => x.store_id.toString() == order.store_id.toString()\r\n                );\r\n                if (index == -1) {\r\n                  this.store_count.push({\r\n                    store_id: order.store_id,\r\n                    count: 1,\r\n                  });\r\n                } else {\r\n                  this.store_count[index].count++;\r\n                }\r\n              }\r\n\r\n              if (order.dispatcher_color_code) {\r\n                var color_index = this.order_color_list.findIndex(\r\n                  (x) => x == order.dispatcher_color_code\r\n                );\r\n                if (color_index == -1) {\r\n                  this.order_color_list.push(order.dispatcher_color_code);\r\n                }\r\n              }\r\n\r\n              if (order.provider_id) {\r\n                // var total_provider_order = this.order_list.filter((element)=>{\r\n                //     return element.provider_id == order.provider_id;\r\n                // }).length\r\n                // order.total_provider_order = total_provider_order;\r\n              }\r\n            });\r\n          }\r\n        },\r\n        (error: any) => {\r\n          this.myLoading = false;\r\n          this.helper.http_status(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  get_dispatcher_provider_count() {\r\n    this.helper.http\r\n      .post(\"/admin/get_dispatcher_provider_count\", {\r\n        team_provider_ids: this.team_provider_ids,\r\n        team_store_ids: this.team_store_ids,\r\n        provider_ids: this.helper.router_id.filter.provider_ids,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        let city_hopper_count = res_data.city_hopper_count;\r\n        let old_city_hopper_count = this.helper.router_id.city_hopper_count;\r\n        this.helper.router_id.city_hopper_count = [];\r\n        city_hopper_count.forEach((city) => {\r\n          let city_index = old_city_hopper_count.findIndex(\r\n            (x) => x._id == city._id\r\n          );\r\n          if (city_index == -1) {\r\n            this.helper.router_id.city_hopper_count.push(city);\r\n          } else {\r\n            let hopper_diff =\r\n              city.hopper_count -\r\n              old_city_hopper_count[city_index].hopper_count;\r\n            city.hopper_diff = hopper_diff;\r\n            this.helper.router_id.city_hopper_count.push(city);\r\n          }\r\n        });\r\n      });\r\n  }\r\n\r\n  get_provider_order_count(provider_id) {\r\n    var count = 0;\r\n    var index = this.provider_count.findIndex(\r\n      (x) => x.provider_id.toString() == provider_id.toString()\r\n    );\r\n    if (index !== -1) {\r\n      count = this.provider_count[index].count;\r\n    }\r\n    return count;\r\n  }\r\n\r\n  get_store_order_count(store_id) {\r\n    var count = 0;\r\n    var index = this.store_count.findIndex(\r\n      (x) => x.store_id.toString() == store_id.toString()\r\n    );\r\n    if (index !== -1) {\r\n      count = this.store_count[index].count;\r\n    }\r\n    return count;\r\n  }\r\n\r\n  clear_filter() {\r\n    this.is_sort_by_hopper = true;\r\n    this.helper.router_id.filter.provider_ids = [];\r\n    this.helper.router_id.filter.store_ids = [];\r\n    this.helper.router_id.filter.number_of_rec = 500;\r\n    this.helper.router_id.filter.city_id = \"\";\r\n    this.helper.router_id.filter.country_id = \"\";\r\n    this.helper.router_id.filter.country_ids = [];\r\n    this.helper.router_id.filter.city_ids = [];\r\n    this.helper.router_id.filter.search_field = \"user_first_name\";\r\n    this.helper.router_id.filter.type_of_order = 0;\r\n    this.helper.router_id.filter.search_value = \"\";\r\n    this.page = 1;\r\n    setTimeout(function () {\r\n      jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n    });\r\n    this.filter(1, true);\r\n  }\r\n\r\n  sortItem2(a, b) {\r\n    if (a.delivery_status < b.delivery_status) return -1;\r\n    if (a.delivery_status > b.delivery_status) return 1;\r\n    return 0;\r\n  }\r\n\r\n  sortItem3(a, b) {\r\n    if (a.delivery_status > b.delivery_status) return -1;\r\n    if (a.delivery_status < b.delivery_status) return 1;\r\n    return 0;\r\n  }\r\n\r\n  viewRequestOrder_detail(id) {\r\n    this.helper.router_id.admin.order_id = id;\r\n    if (this.helper.router.url === \"/dispatcher/dispatch\") {\r\n      this.helper.router.navigate([\"dispatcher/order_detail\"]);\r\n    } else {\r\n      this.helper.router.navigate([\"admin/order_detail\"]);\r\n    }\r\n    // this.helper.router.navigate([]).then(result => {  window.open('admin/order_detail/'+id, '_blank'); });\r\n  }\r\n\r\n  orderDetail() {\r\n    this.helper.http\r\n      .post(\"/api/admin/dispatch_list_search_sort\", {\r\n        team_provider_ids: this.team_provider_ids,\r\n        team_store_ids: this.team_store_ids,\r\n        sort_field: this.sort_field,\r\n        sort_order: this.sort_order,\r\n        search_field: this.helper.router_id.filter.search_field,\r\n        search_value: this.helper.router_id.filter.search_value,\r\n        number_of_rec: this.helper.router_id.filter.number_of_rec,\r\n        page: this.page,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe(\r\n        (res_data) => {\r\n          this.cancelled_count = res_data.cancelled_count;\r\n\r\n          this.myLoading = false;\r\n          if (res_data.success == false) {\r\n            this.order_list = [];\r\n            this.total_page = res_data.pages;\r\n            this.total_pages = Array(res_data.pages)\r\n              .fill((x, i) => i)\r\n              .map((x, i) => i + 1);\r\n          } else {\r\n            this.timezone = res_data.timezone;\r\n            this.total_page = res_data.pages;\r\n            this.total_pages = Array(res_data.pages)\r\n              .fill((x, i) => i)\r\n              .map((x, i) => i + 1);\r\n\r\n            this.order_list.forEach((value, index) => {\r\n              var new_index = res_data.order_list.findIndex(\r\n                (x) => x._id == this.order_list[index]._id\r\n              );\r\n              if (new_index == -1) {\r\n                this.order_list.splice(index, 1);\r\n              } else {\r\n                this.order_list[index].order_status =\r\n                  res_data.order_list[new_index].order_status;\r\n                this.order_list[index].provider_first_name =\r\n                  res_data.order_list[new_index].provider_first_name;\r\n                this.order_list[index].provider_last_name =\r\n                  res_data.order_list[new_index].provider_last_name;\r\n                this.order_list[index].current_provider =\r\n                  res_data.order_list[new_index].current_provider;\r\n              }\r\n            });\r\n\r\n            res_data.order_list.forEach((new_value, index) => {\r\n              var aaa = this.order_list.findIndex(\r\n                (x) => x._id == res_data.order_list[index]._id\r\n              );\r\n\r\n              if (aaa == -1) {\r\n                this.order_list.push(new_value);\r\n              }\r\n            });\r\n          }\r\n        },\r\n        (error: any) => {\r\n          this.helper.http_status(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  //delivery_export_csv\r\n  delivery_export_csv() {\r\n    this.helper.http\r\n      .post(\"/api/admin/dispatch_list_search_sort\", {\r\n        team_provider_ids: this.team_provider_ids,\r\n        team_store_ids: this.team_store_ids,\r\n        sort_field: this.sort_field,\r\n        number_of_rec: this.helper.router_id.filter.number_of_rec,\r\n        sort_order: this.sort_order,\r\n        search_field: this.helper.router_id.filter.search_field,\r\n        search_value: this.helper.router_id.filter.search_value,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        var json2csv = require(\"json2csv\");\r\n        res_data.order_list.forEach((request, index) => {\r\n          if (request.order_payment_detail.is_paid_from_wallet) {\r\n            request.payment_status = this.title.wallet;\r\n          } else {\r\n            if (request.order_payment_detail.is_payment_mode_cash) {\r\n              request.payment_status = this.lable_title.cash;\r\n            } else {\r\n              request.payment_status = request.payment_gateway_detail[0].name;\r\n            }\r\n          }\r\n\r\n          request.user_name =\r\n            request.user_detail.first_name +\r\n            \" \" +\r\n            request.user_detail.last_name;\r\n          request.store_name = request.store_detail.name;\r\n          //if (request.city_detail.length > 0) {\r\n          request.city_name = request.city_detail.city_name;\r\n          //}\r\n\r\n          if (request.provider_detail.length > 0) {\r\n            request.provider_name =\r\n              request.provider_detail[0].first_name +\r\n              \" \" +\r\n              request.provider_detail[0].last_name;\r\n          }\r\n\r\n          switch (request.delivery_status) {\r\n            case this.ORDER_STATE.WAITING_FOR_DELIVERY_MAN:\r\n              request.status = this.status.waiting_for_delivery_man;\r\n              break;\r\n            case this.ORDER_STATE.DELIVERY_MAN_ACCEPTED:\r\n              request.status = this.status.delivery_man_accepted;\r\n              break;\r\n            case this.ORDER_STATE.DELIVERY_MAN_COMING:\r\n              request.status = this.status.delivery_man_coming;\r\n              break;\r\n            case this.ORDER_STATE.DELIVERY_MAN_ARRIVED:\r\n              request.status = this.status.delivery_man_arrived;\r\n              break;\r\n            case this.ORDER_STATE.DELIVERY_MAN_PICKED_ORDER:\r\n              request.status = this.status.picked_order;\r\n              break;\r\n            case this.ORDER_STATE.DELIVERY_MAN_STARTED_DELIVERY:\r\n              request.status = this.status.started_for_delivery;\r\n              break;\r\n            case this.ORDER_STATE.DELIVERY_MAN_ARRIVED_AT_DESTINATION:\r\n              request.status = this.status.arrived_at_destination;\r\n              break;\r\n            case this.ORDER_STATE.STORE_CANCELLED_REQUEST:\r\n              request.status = this.status.store_cancelled_request;\r\n              break;\r\n            case this.ORDER_STATE.NO_DELIVERY_MAN_FOUND:\r\n              request.status = this.status.no_delivery_man_found;\r\n              break;\r\n            default:\r\n              request.satus = \"\";\r\n          }\r\n          request.amount = (\r\n            +request.order_payment_detail.total_delivery_price +\r\n            +request.order_payment_detail.total_order_price\r\n          ).toFixed(2);\r\n        });\r\n\r\n        var fieldNames = [\r\n          this.title.id,\r\n          this.title.user,\r\n          this.title.store,\r\n          this.title.city,\r\n          this.title.provider,\r\n          this.title.status,\r\n          this.title.amount,\r\n          this.title.payment_by,\r\n          this.title.date,\r\n          this.title.delivery_at,\r\n        ];\r\n        var fields = [\r\n          \"unique_id\",\r\n          \"user_name\",\r\n          \"store_name\",\r\n          \"city_name\",\r\n          \"provider_name\",\r\n          \"status\",\r\n          \"amount\",\r\n          \"payment_status\",\r\n          \"created_at\",\r\n          \"created_at\",\r\n        ];\r\n\r\n        var csv = json2csv({\r\n          data: res_data.order_list,\r\n          fields: fields,\r\n          fieldNames: fieldNames,\r\n        });\r\n\r\n        var final_csv: any = csv;\r\n        this.helper.downloadFile(final_csv);\r\n      });\r\n  }\r\n\r\n  // delivery_export_excel\r\n  delivery_export_excel() {\r\n    this.helper.http\r\n      .post(\"/api/admin/deliveries_export_excel\", {\r\n        sort_field: this.sort_field,\r\n        sort_order: this.sort_order,\r\n        search_field: this.helper.router_id.filter.search_field,\r\n        search_value: this.helper.router_id.filter.search_value,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        if (res_data.success == true) {\r\n          var json2excel = require(\"js2excel\");\r\n          let data = res_data.requests;\r\n          if (data.length > 0) {\r\n            try {\r\n              json2excel.json2excel({\r\n                data,\r\n                name: \"deliveries\",\r\n                formateDate: \"yyyy/mm/dd\",\r\n              });\r\n            } catch (e) {}\r\n          }\r\n        }\r\n      });\r\n  }\r\n\r\n  focus_search() {\r\n    console.log(\"focus_search\");\r\n    // jQuery('#provider_id_chosen').click();\r\n    // jQuery('#provider_id_chosen').addClass('chosen-container-drop')\r\n    // jQuery('#provider_id_chosen').addClass('chosen-with-drop')\r\n  }\r\n\r\n  track_deliveryman(country_id, city_id, provider_id, store_id, order_id) {\r\n    this.helper.router_id.admin.country_id = country_id;\r\n    this.helper.router_id.admin.country_ids = [country_id];\r\n    this.helper.router_id.admin.provider_id = provider_id;\r\n    this.helper.router_id.admin.city_id = city_id;\r\n    this.helper.router_id.admin.city_ids = [city_id];\r\n    this.helper.router_id.admin.order_id = order_id;\r\n    this.helper.router_id.admin.store_id = store_id;\r\n    var link =\r\n      \"admin/location_track/\" +\r\n      order_id +\r\n      \"/\" +\r\n      country_id +\r\n      \"/\" +\r\n      city_id +\r\n      \"/\" +\r\n      provider_id +\r\n      \"/\" +\r\n      store_id;\r\n    if (this.helper.router.url === \"/dispatcher/dispatch\") {\r\n      this.helper.router.navigate([\"dispatcher/location_track\"]);\r\n    } else {\r\n      this.helper.router.navigate([\"admin/location_track\"]);\r\n    }\r\n    // this.helper.router.navigate([]).then(result => {  window.open(link, '_blank'); });;;\r\n  }\r\n\r\n  track_order(order_id) {\r\n    if (this.helper.router.url === \"/dispatcher/dispatch\") {\r\n      this.helper.router.navigate([\"dispatcher/order_track/\" + order_id]);\r\n    } else {\r\n      this.helper.router.navigate([\"admin/order_track/\" + order_id]);\r\n    }\r\n  }\r\n\r\n  delay_order() {\r\n    this.delay_order_modal.open();\r\n    this.get_all_city();\r\n  }\r\n\r\n  get_all_city() {\r\n    this.helper.http\r\n      .post(\"/admin/city_list_search_sort\", {})\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        this.all_city_list = res_data.countries;\r\n        this.is_main_delay_order = false;\r\n\r\n        this.all_city_list.forEach((country) => {\r\n          const index = country.cities.findIndex(\r\n            (x) => x.is_delay_order === true\r\n          );\r\n          if (index !== -1) {\r\n            this.is_main_delay_order = true;\r\n          }\r\n        });\r\n      });\r\n  }\r\n\r\n  update_delay_order() {\r\n    var date = new Date();\r\n    var close_till: any = this.close_till;\r\n    close_till = close_till.split(\":\");\r\n    date = new Date(date.setHours(close_till[0], close_till[1], 0, 0));\r\n    this.helper.http\r\n      .post(\"/admin/update_delay_order_setting\", {\r\n        is_delay_order: this.is_delay_order,\r\n        close_till: date,\r\n        stop_for_time: this.stop_for_time,\r\n        delay_distance: this.delay_distance,\r\n        delay_time: this.delay_time,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        this.delay_order_modal.close();\r\n      });\r\n  }\r\n\r\n  update_delay_order1() {\r\n    var date = new Date();\r\n\r\n    if (this.close_till) {\r\n      var close_till = this.close_till.split(\":\");\r\n      date = new Date(date.setHours(close_till[0], close_till[1], 0, 0));\r\n    }\r\n\r\n    var json = {\r\n      city_id: this.city_id,\r\n      is_delay_order: this.is_delay_order,\r\n      delay_distance: this.delay_distance,\r\n      delay_time: this.delay_time,\r\n      stop_for_time: this.stop_for_time,\r\n      close_till: date,\r\n    };\r\n    this.helper.http\r\n      .post(\"/admin/update_city_delay_order\", json)\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        this.delay_order_modal1.close();\r\n        this.is_delay_order = true;\r\n        this.delay_distance = null;\r\n        this.delay_time = null;\r\n        this.close_till;\r\n        this.stop_for_time = null;\r\n        this.delay_order();\r\n      });\r\n  }\r\n\r\n  editOrder(store_id, order_id) {\r\n    this.helper.router_id.store.store_id = store_id;\r\n    this.helper.router_id.store.order_id = order_id;\r\n    if (this.helper.router.url === \"/dispatcher/dispatch\") {\r\n      this.helper.router.navigate([\"dispatcher/edit/order\"]);\r\n    } else {\r\n      this.helper.router.navigate([\"admin/edit/order\"]);\r\n    }\r\n  }\r\n\r\n  change_team() {\r\n    if (this.team_name) {\r\n      this.helper.http\r\n        .get(\"/team/lists\")\r\n        .map((res: Response) => res.json())\r\n        .subscribe((res_data) => {\r\n          if (res_data.success) {\r\n            this.team_list = res_data.team_list;\r\n            this.team_modal.open();\r\n            setTimeout(() => {\r\n              jQuery(\"#team_id\").trigger(\"chosen:updated\");\r\n            }, 1000);\r\n            jQuery(\"#team_id\").change((evnt, res_data) => {\r\n              this.team_id = res_data.selected;\r\n            });\r\n          } else {\r\n            this.team_list = [];\r\n          }\r\n        });\r\n    }\r\n  }\r\n\r\n  update_team() {\r\n    this.helper.http\r\n      .post(\"/admin/update_team_detail\", {\r\n        team_id: this.team_id,\r\n        admin_id: this.admin_id,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        this.team_modal.close();\r\n        this.team_name = res_data.team_detail.name;\r\n        this.team_provider_ids = res_data.team_detail.provider_ids;\r\n        this.team_store_ids = res_data.team_detail.store_ids;\r\n        if (this.interval) {\r\n          clearInterval(this.interval);\r\n        }\r\n        if (this.dispatcher_provider_interval) {\r\n          clearInterval(this.dispatcher_provider_interval);\r\n        }\r\n        this.ngOnInit();\r\n      });\r\n  }\r\n\r\n  update_estimated_time() {\r\n    this.myLoading = true;\r\n    this.helper.http\r\n      .post(\"/api/store/update_estimation_time\", {\r\n        type: this.helper.ADMIN_DATA_ID.ADMIN,\r\n        store_id: this.store_id,\r\n        order_id: this.order_id,\r\n        estimated_time: this.estimated_time,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        this.myLoading = false;\r\n        this.estimated_time_modal1.close();\r\n        this.filter(this.page, true);\r\n      });\r\n  }\r\n\r\n  provider_order_filter(provider_id) {\r\n    this.order_show_type = [];\r\n    this.selected_store_id = \"\";\r\n    if (this.selected_provider_id == provider_id) {\r\n      this.selected_provider_id = \"\";\r\n      this.show_type = 0;\r\n    } else {\r\n      this.selected_provider_id = provider_id;\r\n      this.show_type = null;\r\n    }\r\n  }\r\n\r\n  store_order_filter(store_id) {\r\n    this.order_show_type = [];\r\n    this.selected_provider_id = \"\";\r\n    if (this.selected_store_id == store_id) {\r\n      this.selected_store_id = \"\";\r\n      this.show_type = 0;\r\n    } else {\r\n      this.selected_store_id = store_id;\r\n      this.show_type = null;\r\n    }\r\n  }\r\n\r\n  copy_order_number(order_number) {}\r\n\r\n  set_address(address) {\r\n    this.order_details.cart_detail.destination_addresses[0].address =\r\n      address.address;\r\n    jQuery(\"#address\").val(address.address);\r\n    this.floor = address.floor;\r\n    this.entry_code = address.entry_code;\r\n    this.note = address.note ? address.not : address.comment;\r\n    this.order_details.cart_detail.destination_addresses[0].postal_code =\r\n      address.postal_code;\r\n    this.order_details.cart_detail.destination_addresses[0].street_number =\r\n      address.street_number;\r\n    this.order_details.cart_detail.destination_addresses[0].location = [\r\n      address.latitude,\r\n      address.longitude,\r\n    ];\r\n    this.is_show_address = false;\r\n  }\r\n\r\n  edit_address(order_id) {\r\n    this.helper.http\r\n      .post(\"/api/admin/get_order_data\", { order_id: order_id })\r\n      .map((res_data: Response) => res_data.json())\r\n      .subscribe((res_data) => {\r\n        this.myLoading = false;\r\n        if (res_data.success == false) {\r\n          this.helper.router.navigate([\"admin/dispatch\"]);\r\n        } else {\r\n          this.order_details = res_data.order;\r\n          this.floor =\r\n            this.order_details.cart_detail.destination_addresses[0].floor;\r\n          this.entry_code =\r\n            this.order_details.cart_detail.destination_addresses[0].entry_code;\r\n          this.note =\r\n            this.order_details.cart_detail.destination_addresses[0].note;\r\n          this.edit_address_modal.open();\r\n\r\n          setTimeout(() => {\r\n            jQuery(\"#address\").val(\r\n              this.order_details.cart_detail.destination_addresses[0].address\r\n            );\r\n            var autocompleteElm = <HTMLInputElement>(\r\n              document.getElementById(\"address\")\r\n            );\r\n            let autocomplete = new google.maps.places.Autocomplete(\r\n              autocompleteElm,\r\n              {}\r\n            );\r\n\r\n            autocomplete.addListener(\"place_changed\", () => {\r\n              var place = autocomplete.getPlace();\r\n              var lat = place.geometry.location.lat();\r\n              var lng = place.geometry.location.lng();\r\n\r\n              this.order_details.cart_detail.destination_addresses[0].address =\r\n                place.formatted_address;\r\n              this.order_details.cart_detail.destination_addresses[0].location =\r\n                [lat, lng];\r\n              for (var i = 0; i < place.address_components.length; i++) {\r\n                if (place.address_components[i].types[0] == \"postal_code\") {\r\n                  this.order_details.cart_detail.destination_addresses[0].postal_code =\r\n                    place.address_components[i].long_name;\r\n                }\r\n                if (place.address_components[i].types[0] == \"street_number\") {\r\n                  this.order_details.cart_detail.destination_addresses[0].street_number =\r\n                    place.address_components[i].long_name;\r\n                }\r\n              }\r\n            });\r\n          }, 1000);\r\n        }\r\n      });\r\n  }\r\n\r\n  update_order_address(json) {\r\n    this.helper.http\r\n      .post(\"/admin/update_order_address\", json)\r\n      .map((res: Response) => res.json())\r\n      .subscribe(\r\n        (res_data) => {\r\n          // this.myLoading = false;\r\n          if (res_data.success) {\r\n            this.helper.data.storage = {\r\n              message: this.helper.MESSAGE_CODE[res_data.message],\r\n              class: \"alert-info\",\r\n            };\r\n            this.ngZone.run(() => {\r\n              this.edit_address_modal.close();\r\n              this.filter(1, true);\r\n            });\r\n          } else {\r\n            this.helper.data.storage = {\r\n              code: res_data.error_code,\r\n              message: this.helper.ERROR_CODE[res_data.error_code],\r\n              class: \"alert-danger\",\r\n            };\r\n          }\r\n          this.helper.message();\r\n        },\r\n        (error: any) => {\r\n          this.myLoading = false;\r\n          this.helper.http_status(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  UpdateAddress() {\r\n    this.order_details.cart_detail.destination_addresses[0].floor = this.floor;\r\n    this.order_details.cart_detail.destination_addresses[0].entry_code =\r\n      this.entry_code;\r\n    this.order_details.cart_detail.destination_addresses[0].note = this.note;\r\n\r\n    let google_distance = 0;\r\n    let google_time = 0;\r\n    let origin: any = {\r\n      lat: parseFloat(\r\n        this.order_details.cart_detail.pickup_addresses[0].location[0]\r\n      ),\r\n      lng: parseFloat(\r\n        this.order_details.cart_detail.pickup_addresses[0].location[1]\r\n      ),\r\n    };\r\n    let destination: any = {\r\n      lat: parseFloat(\r\n        this.order_details.cart_detail.destination_addresses[0].location[0]\r\n      ),\r\n      lng: parseFloat(\r\n        this.order_details.cart_detail.destination_addresses[0].location[1]\r\n      ),\r\n    };\r\n\r\n    this.myLoading = true;\r\n    let service = new google.maps.DistanceMatrixService();\r\n    service.getDistanceMatrix(\r\n      {\r\n        origins: [origin],\r\n        destinations: [destination],\r\n        unitSystem: google.maps.UnitSystem.METRIC,\r\n        avoidHighways: true,\r\n        avoidTolls: true,\r\n        travelMode: google.maps.TravelMode.DRIVING,\r\n      },\r\n      (response, status) => {\r\n        if (status == google.maps.DistanceMatrixStatus.OK) {\r\n          google_distance = response.rows[0].elements[0].distance.value;\r\n          google_time = response.rows[0].elements[0].duration.value;\r\n\r\n          let json = {\r\n            order_id: this.order_details._id,\r\n            destination_addresses:\r\n              this.order_details.cart_detail.destination_addresses,\r\n            pickup_addresses: this.order_details.cart_detail.pickup_addresses,\r\n            payment_intent_id: \"\",\r\n            total_distance: google_distance,\r\n            total_time: google_time,\r\n          };\r\n\r\n          if (this.order_details.is_payment_mode_cash) {\r\n            this.update_order_address(json);\r\n          } else {\r\n            this.helper.http\r\n              .post(\"/admin/check_update_order_address\", json)\r\n              .map((res: Response) => res.json())\r\n              .subscribe((res_data) => {\r\n                if (res_data.success) {\r\n                  if (res_data.is_payment_paid) {\r\n                    this.update_order_address(json);\r\n                  } else {\r\n                    var json_data = {\r\n                      user_id: this.order_details.user_id,\r\n                      amount: res_data.remaining_payment,\r\n                      order_currency_code: res_data.order_currency_code,\r\n                    };\r\n                    this.helper.http\r\n                      .post(\"/api/get_stripe_payment_intent\", json_data)\r\n                      .map((res: Response) => res.json())\r\n                      .subscribe((res_data) => {\r\n                        console.log(res_data);\r\n                        if (res_data.success) {\r\n                          if (res_data.is_payment_paid) {\r\n                            this.update_order_address(json);\r\n                          } else {\r\n                            stripe\r\n                              .confirmCardPayment(res_data.client_secret, {\r\n                                payment_method: res_data.payment_method,\r\n                              })\r\n                              .then((result) => {\r\n                                console.log(result);\r\n                                if (result.paymentIntent) {\r\n                                  json.payment_intent_id =\r\n                                    result.paymentIntent.id;\r\n                                  this.update_order_address(json);\r\n                                } else {\r\n                                  this.myLoading = false;\r\n                                  this.helper.data.storage = {\r\n                                    message: result.error.message,\r\n                                    class: \"alert-danger\",\r\n                                  };\r\n                                  this.helper.message();\r\n                                }\r\n                              });\r\n                          }\r\n                        } else {\r\n                          this.helper.data.storage = {\r\n                            code: res_data.error_code,\r\n                            message:\r\n                              res_data.error ||\r\n                              this.helper.ERROR_CODE[res_data.error_code],\r\n                            class: \"alert-info\",\r\n                          };\r\n                          this.helper.message();\r\n                          this.myLoading = false;\r\n                        }\r\n                      });\r\n                  }\r\n                } else {\r\n                  this.myLoading = false;\r\n                  this.helper.data.storage = {\r\n                    code: res_data.error_code,\r\n                    message: this.helper.ERROR_CODE[res_data.error_code],\r\n                    class: \"alert-info\",\r\n                  };\r\n                  this.helper.message();\r\n                }\r\n              });\r\n          }\r\n        } else {\r\n          this.myLoading = false;\r\n        }\r\n      }\r\n    );\r\n  }\r\n\r\n  is_delay_order_change(city) {\r\n    this.is_delay_order = city.is_delay_order;\r\n    this.delay_distance = city.delay_distance;\r\n    this.delay_time = city.delay_time;\r\n    if (this.is_delay_order) {\r\n      this.stop_for_time = city.stop_for_time;\r\n      this.close_till = moment(new Date(city.close_till)).format(\"HH:mm\");\r\n    }\r\n    this.city_id = city._id;\r\n    this.delay_order_modal.close();\r\n    this.delay_order_modal1.open();\r\n  }\r\n\r\n  select_delay_order_time(time) {\r\n    this.stop_for_time = time;\r\n    var date = new Date();\r\n    date = new Date(date.setMinutes(date.getMinutes() + time));\r\n    this.close_till = moment(date).format(\"HH:mm\");\r\n  }\r\n\r\n  open_uber_eats() {\r\n    this.helper.http\r\n      .get(\"/api/store/uber_eats_store_list\")\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        if (res_data.success) {\r\n          this.uber_eats_store_list = res_data.store_list;\r\n          this.uber_eats_store_list_modal.open();\r\n        } else {\r\n          this.helper.data.storage = {\r\n            message: this.helper.MESSAGE_CODE[res_data.message],\r\n            class: \"alert-info\",\r\n          };\r\n          this.helper.message();\r\n        }\r\n      });\r\n  }\r\n\r\n  is_use_hop_deliveryman_change(store, event) {\r\n    console.log(store._id, event);\r\n    this.myLoading = true;\r\n    this.helper.http\r\n      .post(\"/api/store/open_uber_eats\", {\r\n        store_id: store._id,\r\n        type: this.helper.ADMIN_DATA_ID.ADMIN,\r\n        is_use_hop_deliveryman: store.is_use_hop_deliveryman,\r\n      })\r\n      .map((response: Response) => response.json())\r\n      .subscribe((res_data) => {\r\n        this.myLoading = false;\r\n        store.is_edit_use_hop_deliveryman = false;\r\n        if (res_data.success) {\r\n          this.helper.data.storage = {\r\n            message: this.helper.MESSAGE_CODE[res_data.message],\r\n            class: \"alert-info\",\r\n          };\r\n          this.helper.message();\r\n        } else {\r\n          store.is_use_hop_deliveryman = !store.is_use_hop_deliveryman;\r\n          this.helper.data.storage = {\r\n            message: this.helper.MESSAGE_CODE[res_data.message],\r\n            class: \"alert-info\",\r\n          };\r\n          this.helper.message();\r\n        }\r\n      });\r\n  }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/dispatch/dispatch.component.ts","import {Component, OnInit, ViewContainerRef} from '@angular/core';\r\nimport {Http, Response} from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport {Helper} from \"../../helper\";\r\ndeclare var jQuery: any;\r\n\r\nexport interface DispatchSetting {\r\n    is_smart_dispatch: boolean,\r\n    store_distance_diff: number,\r\n    user_distance_diff: number,\r\n    ready_time_diff: number,\r\n    delivery_time_diff: number,\r\n    vehicle_settings:any[]\r\n}\r\n\r\n@Component({\r\n    selector: 'app-dispatch_setting',\r\n    template: require('./dispatch_setting.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class DispatcherSettingComponent implements OnInit {\r\n\r\n    private dispatch_setting: DispatchSetting;\r\n    myLoading: boolean = true;\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n\r\n    ngAfterViewInit() {\r\n    }\r\n\r\n\r\n    ngOnInit() {\r\n        this.dispatch_setting = {\r\n            is_smart_dispatch: true,\r\n            store_distance_diff: null,\r\n            user_distance_diff: null,\r\n            ready_time_diff: null,\r\n            delivery_time_diff: null,\r\n            vehicle_settings: []\r\n        }\r\n        this.helper.http.post('/api/admin/get_setting_detail', {}).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            this.dispatch_setting.is_smart_dispatch = res_data.setting.is_smart_dispatch,\r\n            this.dispatch_setting.store_distance_diff = res_data.setting.store_distance_diff,\r\n            this.dispatch_setting.user_distance_diff = res_data.setting.user_distance_diff,\r\n            this.dispatch_setting.ready_time_diff = res_data.setting.ready_time_diff,\r\n            this.dispatch_setting.delivery_time_diff = res_data.setting.delivery_time_diff\r\n            this.dispatch_setting.vehicle_settings = res_data.setting.vehicle_settings\r\n        });\r\n\r\n    }\r\n\r\n    AdminSetting(adminsettingdata) {\r\n        this.helper.http.post('/admin/update_admin_setting', this.dispatch_setting).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            this.helper.data.storage = {\r\n                \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                \"class\": \"alert-info\"\r\n            }\r\n            this.helper.message();\r\n        }, (error: any) => {\r\n            this.myLoading = false;\r\n            this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/dispatch_setting/dispatch_setting.component.ts","import {Component, OnInit, ViewContainerRef} from '@angular/core';\r\nimport {Helper} from \"../../helper\";\r\nimport {Http, Response} from '@angular/http';\r\ndeclare var jQuery: any;\r\n@Component({\r\n    selector: 'app-dispatcher_city',\r\n    template: require('./dispatcher_city.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class dispatchercityComponent implements OnInit {\r\n    \r\n    country_list: any[];\r\n    filtered_country_list: any[] = [];\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    public message: string = \"\";\r\n    public class: string;\r\n    selected_country: string;\r\n    filter_country_name: String = \"\";\r\n    myLoading: boolean = true;\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n        jQuery(\".chosen-select\").chosen();\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n    }\r\n\r\n    activeRoute(routename: string): boolean {\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n\r\n    ngOnInit() {\r\n\r\n        this.helper.message();\r\n\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.selected_country = this.title.all\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#selected_country').on('change', (evnt, res_data) => {\r\n\r\n            this.selected_country = res_data.selected;\r\n        });\r\n        \r\n        \r\n\r\n        this.helper.http.post('/admin/city_list_search_sort', {}).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n\r\n            if (res_data.success == false) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n\r\n                this.country_list = [];\r\n                this.filtered_country_list = [];\r\n\r\n            }\r\n            else {\r\n\r\n                this.country_list = res_data.countries;\r\n                this.filtered_country_list = res_data.countries;\r\n            }\r\n\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        })\r\n    }\r\n\r\n\r\n    filter_country(data) {\r\n        data = data.replace(/^\\s+|\\s+$/g, '');\r\n        data = data.replace(/ +(?= )/g, '');\r\n        data = new RegExp(data, \"gi\");\r\n\r\n        var country_array = [];\r\n        this.country_list.forEach((country) => {\r\n\r\n            var city_array = country.cities.filter((city_data) => {\r\n                var a = city_data.city_name.match(data);\r\n                return a !== null;\r\n            })\r\n            if (city_array.length > 0) {\r\n                country_array.push({\r\n                    _id: country._id, country_name: country.country_name, cities: city_array\r\n                })\r\n            }\r\n        });\r\n        this.filtered_country_list = country_array;\r\n    }\r\n\r\n\r\n\r\n\r\n    is_business_change(id, event) {\r\n        this.helper.http.post('/admin/toggle_change', {city_id: id, is_business: event}).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            if (res_data.success == false) {\r\n\r\n            }\r\n        });\r\n\r\n    }\r\n\r\n    is_cash_payment_mode_change(id, event) {\r\n        this.helper.http.post('/admin/toggle_change', {city_id: id, is_cash_payment_mode: event}).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            if (res_data.success == false) {\r\n\r\n            }\r\n        });\r\n\r\n    }\r\n\r\n    is_other_payment_mode_change(id, event) {\r\n        this.helper.http.post('/admin/toggle_change', {city_id: id, is_other_payment_mode: event}).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            if (res_data.success == false) {\r\n\r\n            }\r\n        });\r\n\r\n    }\r\n    is_automatic_find_provider_change(id, event) {\r\n        this.helper.http.post('/admin/toggle_change', {city_id: id, is_automatic_find_provider: event}).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            if (res_data.success == false) {\r\n\r\n            }\r\n        });\r\n\r\n    }\r\n    editCity(id) {\r\n        this.helper.router_id.admin.city_id = id;\r\n        this.helper.router.navigate(['admin/city/edit']);\r\n    }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/dispatcher_city/dispatcher_city.component.ts","import {OnInit, Component, ViewContainerRef, ViewChild} from '@angular/core';\r\nimport {Helper} from \"../../helper\";\r\nimport {Http, Response} from '@angular/http';\r\ndeclare var jQuery: any;\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport {Router} from '@angular/router';\r\nimport {ModalComponent} from 'ng2-bs3-modal/ng2-bs3-modal';\r\n\r\n@Component({\r\n    selector: 'dispatcher_login',\r\n    template: require('./dispatcher_login.template.html'),\r\n    providers: [Helper]\r\n})\r\nexport class dispatcher_loginComponent implements OnInit {\r\n    title: any;\r\n    button: any;\r\n\r\n    myLoading: boolean = true;\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.helper.message();\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n    }\r\n\r\n    check_verify(logindata) {\r\n        logindata.type = 5;\r\n        this.helper.http.post('/login', logindata).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == true) {\r\n                localStorage.setItem('admin_id', res_data.admin_data._id);\r\n                localStorage.setItem('admin_token', res_data.admin_data.server_token);\r\n                localStorage.setItem('type', '5');\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.helper.router.navigate(['dispatcher/dispatch']);\r\n            } else {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message();\r\n                this.helper.router.navigate(['dispatcher/login']);\r\n\r\n            }\r\n\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/dispatcher_login/dispatcher_login.component.ts","import {Component, OnInit, ViewContainerRef} from '@angular/core';\r\nimport {Helper} from \"../../helper\";\r\nimport {Http, Response} from '@angular/http';\r\n\r\n\r\ndeclare var jQuery: any;\r\n@Component({\r\n    selector: 'app-document',\r\n    template: require('./document.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class DocumentComponent implements OnInit {\r\n\r\n    document_list: any[];\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    lable_title: any;\r\n    sort_field: string;\r\n    sort_document: number;\r\n    search_field: string;\r\n    search_value: string;\r\n    page: number;\r\n    total_page: number;\r\n    total_pages: number[];\r\n    public message: string = \"\";\r\n    public class: string;\r\n    myLoading: boolean = true;\r\n    ADMIN_DATA_ID: any;\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n    ngAfterViewInit() {\r\n\r\n        jQuery(\".chosen-select\").chosen({disable_search: true});\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.helper.message()\r\n        this.sort_field = \"unique_id\";\r\n        this.sort_document = -1;\r\n        this.search_field = \"document_name\";\r\n        this.search_value = \"\";\r\n        this.page = 1;\r\n\r\n        this.filter(this.page);\r\n        \r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.lable_title = this.helper.lable_title;\r\n        this.ADMIN_DATA_ID = this.helper.ADMIN_DATA_ID;\r\n        \r\n        \r\n        \r\n        this.document_list = [];\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_field').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_field = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_document').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_document = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#search_field').on('change', (evnt, res_data) => {\r\n\r\n            this.search_field = res_data.selected;\r\n\r\n        });\r\n    }\r\n\r\n    filter(page) {\r\n        this.page = page;\r\n        this.helper.http.post('/admin/document_list', {\r\n            sort_field: this.sort_field, sort_document: this.sort_document,\r\n            search_field: this.search_field, search_value: this.search_value, page: this.page\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n\r\n                this.document_list = [];\r\n                this.total_pages = [];\r\n\r\n            }\r\n            else {\r\n\r\n                this.document_list = res_data.documents;\r\n                this.total_page = res_data.pages;\r\n                this.total_pages = Array(res_data.pages).fill((x, i) => i).map((x, i) => i + 1)\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n    editDocument(id) {\r\n        this.helper.router_id.admin.document_id = id;\r\n        this.helper.router.navigate(['admin/document/edit']);\r\n\r\n    }\r\n\r\n\r\n    activeRoute(routename: string): boolean {\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/document/document.component.ts","import { Component, OnInit, ViewContainerRef } from \"@angular/core\";\r\nimport { Response } from \"@angular/http\";\r\nimport { Helper } from \"../../helper\";\r\ndeclare var jQuery: any;\r\nimport * as moment from \"moment-timezone\";\r\n\r\n@Component({\r\n  selector: \"app-earning\",\r\n  template: require('./earning.component.html'),\r\n  providers: [Helper],\r\n})\r\nexport class EarningComponent implements OnInit {\r\n  title: any;\r\n  button: any;\r\n  ORDER_STATE: any;\r\n  DATE_FORMAT: any;\r\n  heading_title: any;\r\n  status: any;\r\n  lable_title: any;\r\n  order_list: any[];\r\n  sort_field: string;\r\n  sort_order: number;\r\n  search_field: string;\r\n  search_value: string;\r\n  start_date: string;\r\n  end_date: string;\r\n  page: number;\r\n  total_page: number;\r\n  total_pages: number[];\r\n  total_item: number;\r\n  order_total: String;\r\n  order_count: number;\r\n  order_id: Object;\r\n  page_tab: number;\r\n  moment: any;\r\n\r\n  user_paid: number;\r\n  user_cash: number;\r\n  user_card: number;\r\n  user_wallet: number;\r\n  user_refferal: number;\r\n  promo_payment: number;\r\n\r\n  myLoading: boolean = true;\r\n\r\n  constructor(private helper: Helper, public vcr: ViewContainerRef) {\r\n    helper.toastr.setRootViewContainerRef(vcr);\r\n  }\r\n\r\n  ngAfterViewInit() {\r\n    jQuery(\".chosen-select\").chosen({ disable_search: true });\r\n    setTimeout(function () {\r\n      jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n    }, 1000);\r\n  }\r\n  ngOnInit() {\r\n    this.sort_field = \"unique_id\";\r\n    this.sort_order = -1;\r\n    this.search_field = \"unique_id\";\r\n    this.search_value = \"\";\r\n    this.start_date = \"\";\r\n    this.end_date = \"\";\r\n    this.page = 1;\r\n\r\n    this.moment = moment;\r\n\r\n    this.helper.message();\r\n\r\n    this.title = this.helper.title;\r\n    this.button = this.helper.button;\r\n    this.heading_title = this.helper.heading_title;\r\n    this.ORDER_STATE = this.helper.ORDER_STATE;\r\n    this.DATE_FORMAT = this.helper.DATE_FORMAT;\r\n    this.status = this.helper.status;\r\n    this.lable_title = this.helper.lable_title;\r\n    this.order_list = [];\r\n    this.page_tab = 1;\r\n\r\n    this.total_item = 0;\r\n    this.order_total = \"\";\r\n    this.order_count = 0;\r\n    this.order_id = \"\";\r\n\r\n    this.user_paid = 0;\r\n    this.user_cash = 0;\r\n    this.user_card = 0;\r\n    this.user_wallet = 0;\r\n    this.user_refferal = 0;\r\n    this.promo_payment = 0;\r\n\r\n    this.admin_earning(1);\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#sort_field\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.sort_field = res_data.selected;\r\n      });\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#sort_order\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.sort_order = res_data.selected;\r\n      });\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#search_field\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.search_field = res_data.selected;\r\n      });\r\n  }\r\n  activeRoute(routename: string): boolean {\r\n    return this.helper.router.url.indexOf(routename) > -1;\r\n  }\r\n\r\n  admin_earning(page) {\r\n    this.myLoading = true;\r\n    this.page = page;\r\n    this.helper.http\r\n      .post(\"/admin/get_earning\", {\r\n        start_date: this.start_date,\r\n        end_date: this.end_date,\r\n        sort_field: this.sort_field,\r\n        sort_order: this.sort_order,\r\n        search_field: this.search_field,\r\n        search_value: this.search_value,\r\n        page: this.page,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe(\r\n        (res_data) => {\r\n          this.myLoading = false;\r\n          if (res_data.success == false) {\r\n            this.order_list = [];\r\n            this.total_pages = [];\r\n          } else {\r\n            this.order_list = res_data.orders;\r\n            this.total_page = res_data.pages;\r\n            this.order_total = res_data.order_total;\r\n            this.order_count = res_data.order_count;\r\n\r\n            this.user_paid = res_data.order_total.user_paid;\r\n            this.user_cash = res_data.order_total.user_cash;\r\n            this.user_card = res_data.order_total.user_card;\r\n            this.user_wallet = res_data.order_total.user_wallet;\r\n            this.user_refferal = res_data.order_total.user_refferal;\r\n            this.promo_payment = res_data.order_total.promo_payment;\r\n            if (res_data.orders) {\r\n              res_data.orders.forEach((order) => {\r\n                if (order.order_details) {\r\n                  order.order_details.forEach((product) => {\r\n                    if (product.items) {\r\n                      product.items.forEach((item) => {\r\n                        this.total_item = product.items.length;\r\n                      });\r\n                    }\r\n                  });\r\n                }\r\n              });\r\n            }\r\n\r\n            this.total_pages = Array(res_data.pages)\r\n              .fill((x, i) => i)\r\n              .map((x, i) => i + 1);\r\n          }\r\n        },\r\n        (error: any) => {\r\n          this.myLoading = false;\r\n          this.helper.http_status(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  viewEarningDetail(id) {\r\n    this.helper.router_id.admin.view_earning_id = id;\r\n    this.helper.router.navigate([\"admin/earning_detail\"]);\r\n  }\r\n\r\n  earning_export_csv() {\r\n    this.helper.http\r\n      .post(\"/admin/get_earning\", {\r\n        start_date: this.start_date,\r\n        end_date: this.end_date,\r\n        sort_field: this.sort_field,\r\n        sort_order: this.sort_order,\r\n        search_field: this.search_field,\r\n        search_value: this.search_value,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        var json2csv = require(\"json2csv\");\r\n        this.order_count = res_data.order_count;\r\n        res_data.orders.forEach((order, index) => {\r\n          if (order.order_payment_detail.is_paid_from_wallet) {\r\n            order.payment_status = this.title.wallet;\r\n          } else {\r\n            if (order.order_payment_detail.is_payment_mode_cash) {\r\n              if (order.is_hubrise_order) {\r\n                order.payment_status = this.title.odh;\r\n              } else {\r\n                order.payment_status = this.lable_title.cash;\r\n              }\r\n            } else {\r\n              order.payment_status = this.lable_title.card;\r\n            }\r\n          }\r\n          let created_from = \"\";\r\n          if (order.order_type == this.helper.ADMIN_DATA_ID.ADMIN) {\r\n            if (order.is_hubrise_order) {\r\n              created_from = order.created_by;\r\n            } else {\r\n              created_from = \"Admin\";\r\n            }\r\n          } else if (order.order_type == this.helper.ADMIN_DATA_ID.STORE) {\r\n            created_from = \"Store\";\r\n          } else if (order.date_time[0].host) {\r\n            created_from = order.date_time[0].host;\r\n          } else {\r\n            if (order.date_time[0].device_type == \"ios\") {\r\n              created_from = \"IOS\";\r\n            } else if (order.date_time[0].device_type == \"android\") {\r\n              created_from = \"Android\";\r\n            }\r\n            created_from = created_from + \"-\" + order.date_time[0].app_version;\r\n          }\r\n          order.created_from = created_from;\r\n\r\n          // order.store_name = order.store_name;\r\n          // order.currency = order.currency_sign;\r\n          order.user_name = order.user_first_name + \" \" + order.user_last_name;\r\n          order.provider_name =\r\n            order.provider_first_name + \" \" + order.provider_last_name;\r\n\r\n          order.completed_at1 = this.moment(order.completed_at)\r\n            .tz(order.timezone !== undefined ? order.timezone : \"Asia/Kolkata\")\r\n            .format(\"DD MMM YYYY HH:mm\");\r\n\r\n          switch (order.order_status) {\r\n            case this.ORDER_STATE.STORE_REJECTED:\r\n              order.status = this.status.rejected;\r\n              break;\r\n            case this.ORDER_STATE.STORE_CANCELLED:\r\n              order.status = this.status.cancelled;\r\n              break;\r\n            case this.ORDER_STATE.NO_DELIVERY_MAN_FOUND:\r\n              order.status = this.status.no_delivery_man_found;\r\n              break;\r\n            case this.ORDER_STATE.DELIVERY_MAN_REJECTED:\r\n              order.status = this.status.delivery_man_rejected;\r\n              break;\r\n            case this.ORDER_STATE.DELIVERY_MAN_CANCELLED:\r\n              order.status = this.status.delivery_man_cancelled;\r\n              break;\r\n            case this.ORDER_STATE.CANCELED_BY_USER:\r\n              order.status = this.status.user_cancelled;\r\n              break;\r\n            case this.ORDER_STATE.DELIVERY_MAN_COMPLETE_DELIVERY:\r\n              order.status = this.status.order_delivered;\r\n              break;\r\n            case this.ORDER_STATE.ORDER_COMPLETED:\r\n              order.status = this.status.completed;\r\n              break;\r\n            default:\r\n              order.satus = \"\";\r\n          }\r\n        });\r\n\r\n        var fieldNames = [\r\n          this.title.id,\r\n          \"Order Created From\",\r\n          this.title.completed_at,\r\n          this.title.status,\r\n          this.title.user,\r\n          this.title.store,\r\n          this.title.provider,\r\n          this.title.payment_by,\r\n          this.title.currency,\r\n\r\n          this.title.earning_no_of_items,\r\n          this.title.earning_order_price,\r\n          this.title.earning_delivery_price,\r\n          this.title.earning_promo,\r\n          \"Tip Price\",\r\n          this.title.earning_total,\r\n          this.title.earning_wallet,\r\n          this.title.earning_provider_fees,\r\n\r\n          this.title.earning_provider_paid_order,\r\n          this.title.earning_provider_have_cash,\r\n          this.title.earning_pay_provider,\r\n          this.title.provider_income_set_in_wallet,\r\n\r\n          this.title.earning_store_fees,\r\n          this.title.earning_store_paid_delivery_fees,\r\n          this.title.earning_store_have_payment,\r\n          this.title.earning_pay_store,\r\n          this.title.store_income_set_in_wallet,\r\n          this.title.earning_refund_amount,\r\n        ];\r\n\r\n        var fields = [\r\n          \"unique_id\",\r\n          \"created_from\",\r\n          \"completed_at1\",\r\n          \"status\",\r\n          \"user_name\",\r\n          \"store_name\",\r\n          \"provider_name\",\r\n          \"payment_status\",\r\n          \"currency\",\r\n          \"order_payment_detail.total_item_count\",\r\n          \"order_payment_detail.order_price\",\r\n          \"order_payment_detail.delivery_price\",\r\n          \"order_payment_detail.promo_payment\",\r\n          \"order_payment_detail.tip_price\",\r\n          \"order_payment_detail.total\",\r\n          \"order_payment_detail.wallet_payment\",\r\n          \"order_payment_detail.total_provider_income\",\r\n          \"order_payment_detail.provider_paid_order_payment\",\r\n          \"order_payment_detail.provider_have_cash_payment\",\r\n\r\n          \"order_payment_detail.pay_to_provider\",\r\n          \"order_payment_detail.provider_income_set_in_wallet\",\r\n          \"order_payment_detail.total_store_income\",\r\n          \"order_payment_detail.store_have_service_payment\",\r\n\r\n          \"order_payment_detail.total_store_have_payment\",\r\n          \"order_payment_detail.pay_to_store\",\r\n          \"order_payment_detail.store_income_set_in_wallet\",\r\n          \"order_payment_detail.refund_amount\",\r\n        ];\r\n\r\n        var order_total_fieldNames = [\r\n          this.title.earning_paid,\r\n          this.title.earning_promo,\r\n          this.title.earning_cash,\r\n          this.title.earning_card,\r\n          this.title.earning_wallet,\r\n          this.title.earning_get_refferal,\r\n\r\n          this.title.total_item,\r\n          this.title.earning_orders,\r\n          this.title.earning_completed,\r\n          this.title.earning_cancelled,\r\n          this.title.rejected,\r\n          this.title.earning_refund_amount,\r\n          this.title.earning_cancellation_fees,\r\n          this.title.earning_total,\r\n          this.title.earning_order_price,\r\n          this.title.earning_delivery_price,\r\n          this.title.earning_admin_earn,\r\n          this.title.order_deliveryman_earn,\r\n          this.title.store_earn,\r\n          this.title.earning_promo,\r\n          this.title.earning_cash,\r\n          this.title.earning_other_payment,\r\n          this.title.earning_wallet,\r\n          this.title.pay_to_deliveryman,\r\n          this.title.pay_to_store,\r\n\r\n          this.title.deliveries_payment,\r\n          this.title.earning_admin_earn,\r\n          this.title.profit,\r\n          this.title.earning_provider_paid_order,\r\n          this.title.earning_cash,\r\n          this.title.pay,\r\n\r\n          this.title.earning_order_payment,\r\n          this.title.earning_admin_earn,\r\n          this.title.profit,\r\n          this.title.earning_store_have_payment,\r\n          this.title.store_have_service_payment,\r\n          this.title.pay,\r\n        ];\r\n        var order_total_fields = [\r\n          \"user_paid\",\r\n          \"promo_payment\",\r\n          \"user_cash\",\r\n          \"user_card\",\r\n          \"user_wallet\",\r\n          \"user_refferal\",\r\n\r\n          \"total_item_count\",\r\n          \"order_count\",\r\n          \"total_completed_orders\",\r\n          \"total_cancelled_orders\",\r\n          \"total_rejected_orders\",\r\n          \"refund_amount\",\r\n          \"order_cancellation_charge\",\r\n          \"total\",\r\n          \"order_price\",\r\n          \"delivery_price\",\r\n          \"admin_earn\",\r\n          \"deliveryman_earn\",\r\n          \"store_earn\",\r\n          \"promo_payment\",\r\n          \"cash_payment\",\r\n          \"other_payment\",\r\n          \"wallet\",\r\n\r\n          \"pay_to_provider\",\r\n          \"pay_to_store\",\r\n          \"delivery_price\",\r\n          \"provider_admin_earn\",\r\n          \"provider_profit\",\r\n          \"provider_paid_order_payment\",\r\n          \"provider_cash\",\r\n          \"provider_paid\",\r\n\r\n          \"order_price\",\r\n          \"store_admin_earn\",\r\n          \"store_profit\",\r\n          \"store_have_payment\",\r\n          \"store_have_service_payment\",\r\n          \"store_paid\",\r\n        ];\r\n        var order_total_csv = json2csv({\r\n          data: res_data.order_total,\r\n          fields: order_total_fields,\r\n          fieldNames: order_total_fieldNames,\r\n        });\r\n        var csv = json2csv({\r\n          data: res_data.orders,\r\n          fields: fields,\r\n          fieldNames: fieldNames,\r\n        });\r\n\r\n        var final_csv: any = order_total_csv + \"\\n\" + \"\\n\" + csv;\r\n\r\n        this.helper.downloadFile(final_csv);\r\n      });\r\n  }\r\n\r\n  earning_export_excel() {\r\n    this.helper.http\r\n      .post(\"/admin/get_earning\", {\r\n        start_date: this.start_date,\r\n        end_date: this.end_date,\r\n        sort_field: this.sort_field,\r\n        sort_order: this.sort_order,\r\n        search_field: this.search_field,\r\n        search_value: this.search_value,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        var json_data = [];\r\n        var json2excel = require(\"js2excel\");\r\n        this.order_count = res_data.order_count;\r\n        res_data.orders.forEach((order, index) => {\r\n          if (order.order_payment_detail.is_paid_from_wallet) {\r\n            order.payment_status = this.title.wallet;\r\n          } else {\r\n            if (order.order_payment_detail.is_payment_mode_cash) {\r\n              order.payment_status = this.lable_title.cash;\r\n            } else {\r\n              order.payment_status = order.payment_gateway_detail[0].name;\r\n            }\r\n          }\r\n\r\n          order.store_name = order.store_detail.name;\r\n          order.currency = order.country_detail.currency_sign;\r\n          order.user_name =\r\n            order.user_detail.first_name + \" \" + order.user_detail.last_name;\r\n          if (order.request_detail != undefined) {\r\n            if (order.provider_detail.length > 0) {\r\n              order.provider_name =\r\n                order.provider_detail[0].first_name +\r\n                \" \" +\r\n                order.provider_detail[0].last_name;\r\n            }\r\n          }\r\n\r\n          switch (order.order_status) {\r\n            case this.ORDER_STATE.STORE_REJECTED:\r\n              order.status = this.status.rejected;\r\n              break;\r\n            case this.ORDER_STATE.STORE_CANCELLED:\r\n              order.status = this.status.cancelled;\r\n              break;\r\n            case this.ORDER_STATE.NO_DELIVERY_MAN_FOUND:\r\n              order.status = this.status.no_delivery_man_found;\r\n              break;\r\n            case this.ORDER_STATE.DELIVERY_MAN_REJECTED:\r\n              order.status = this.status.delivery_man_rejected;\r\n              break;\r\n            case this.ORDER_STATE.DELIVERY_MAN_CANCELLED:\r\n              order.status = this.status.delivery_man_cancelled;\r\n              break;\r\n            case this.ORDER_STATE.CANCELED_BY_USER:\r\n              order.status = this.status.user_cancelled;\r\n              break;\r\n            case this.ORDER_STATE.DELIVERY_MAN_COMPLETE_DELIVERY:\r\n              order.status = this.status.order_delivered;\r\n              break;\r\n            case this.ORDER_STATE.ORDER_COMPLETED:\r\n              order.status = this.status.completed;\r\n              break;\r\n            default:\r\n              order.status = \"\";\r\n          }\r\n\r\n          json_data.push({\r\n            ID: order.unique_id,\r\n            User: order.user_name,\r\n            Store: order.store_name,\r\n            Provider: order.provider_name,\r\n            \"Payment By\": order.payment_status,\r\n            Currency: order.currency,\r\n            Status: order.status,\r\n            \"No Of Items\": order.order_payment_detail.total_item_count,\r\n            order_price: order.order_payment_detail.order_price,\r\n            delivery_price: order.order_payment_detail.delivery_price,\r\n            promo: order.order_payment_detail.promo_payment,\r\n            total: order.order_payment_detail.total,\r\n            wallet: order.order_payment_detail.wallet_payment,\r\n            provider_fees: order.order_payment_detail.total_provider_income,\r\n\r\n            provider_paid_order:\r\n              order.order_payment_detail.provider_paid_order_payment,\r\n            provider_have_cash:\r\n              order.order_payment_detail.provider_have_cash_payment,\r\n            pay_provider: order.order_payment_detail.pay_to_provider,\r\n            provider_income_set_in_wallet:\r\n              order.order_payment_detail.provider_income_set_in_wallet,\r\n\r\n            store_fees: order.order_payment_detail.total_store_income,\r\n            store_paid_delivery_fees:\r\n              order.order_payment_detail.store_have_service_payment,\r\n            store_have_payment:\r\n              order.order_payment_detail.total_store_have_payment,\r\n            pay_store: order.order_payment_detail.pay_to_store,\r\n            store_income_set_in_wallet:\r\n              order.order_payment_detail.store_income_set_in_wallet,\r\n            refund_amount: order.order_payment_detail.refund_amount,\r\n            Date: order.completed_at,\r\n          });\r\n        });\r\n\r\n        json2excel.json2excel({\r\n          data: json_data,\r\n          name: \"earning_excel\",\r\n          formateDate: \"yyyy/mm/dd\",\r\n        });\r\n      });\r\n  }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/earning/earning.component.ts","import { Component, OnInit ,ViewContainerRef, ViewChild } from '@angular/core';\r\nimport {Response } from '@angular/http';\r\nimport {Helper} from \"../../store_helper\";\r\ndeclare var jQuery:any;\r\nimport { ModalComponent } from 'ng2-bs3-modal/ng2-bs3-modal';\r\ndeclare var stripe;\r\n\r\nexport interface CartProductItems{\r\n    item_id: Object,\r\n    unique_id: Number,\r\n    item_name: string,\r\n    quantity: Number,\r\n    image_url: any,\r\n    details: string,\r\n    specifications: any[],\r\n    formule_list: any[],\r\n    item_price: Number,\r\n    total_specification_price: Number,\r\n    total_item_and_specification_price: Number,\r\n    note_for_item: string\r\n    //note_for_item: string\r\n}\r\n\r\nexport interface cartProducts{\r\n    items: any[],\r\n    product_id: Object,\r\n    product_name: string,\r\n    unique_id: number,\r\n    total_item_price: number\r\n}\r\n\r\n@Component({\r\n    selector: 'app-edit-order',\r\n    template: require('./edit_order.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class AdminEditOrderComponent implements OnInit {\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef){\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n    @ViewChild('itemModal')\r\n    item_modal: ModalComponent;\r\n\r\n    @ViewChild('edititemModal')\r\n    edit_item_modal: ModalComponent;\r\n\r\n    store_id:string;\r\n    server_token:string;\r\n    myLoading:boolean = true;\r\n    order: any = {cart_detail:{}};\r\n    last_item: boolean = false;\r\n    title:any;\r\n    button:any;\r\n    heading_title:any;\r\n\r\n    filtered_product_list:any[] = [];\r\n    product_list: any[] = [];\r\n    qty: number = 1;\r\n    note_for_item: string = '';\r\n    //note_for_item: string = '';\r\n    current_item: any = {image_url: []};\r\n    current_formule:any = {};\r\n    required_count: number = 0;\r\n    private total: number = 0;\r\n    required_temp_count: number = 0;\r\n    product_name: string = '';\r\n    product_unique_id: number = 0;\r\n    currency:any;\r\n    selected_product:string;\r\n    private cartProductItems : CartProductItems;\r\n    private cartProducts : cartProducts;\r\n\r\n    add_boolean: boolean = false;\r\n    start_screex: number = 0;\r\n    end_screex: number = 0;\r\n\r\n    selected_product_index: number = 0;\r\n    selected_item_index: number = 0;\r\n\r\n    ngOnInit() {\r\n        // let token = this.helper.tokenService.getToken();\r\n\r\n        // if (!token || !token.token) {\r\n\r\n        //     this.helper.router.navigate(['store/logout']);\r\n        // }\r\n        this.helper.message();\r\n\r\n        // var store = JSON.parse(localStorage.getItem('store'));\r\n        // if (store !== null) {\r\n            this.store_id = this.helper.router_id.store.store_id;\r\n        //     this.server_token = store.server_token\r\n        // }\r\n        if(this.helper.router_id.store.order_id == '' || this.helper.router_id.store.store_id == ''){\r\n            if(this.helper.router.url === '/dispatcher/edit/order'){\r\n                this.helper.router.navigate(['dispatcher/dispatch']);\r\n                \r\n            } else {\r\n                this.helper.router.navigate(['admin/dispatch']);\r\n            }\r\n        } else {\r\n            this.get_order_data();\r\n        }\r\n\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.heading_title=this.helper.heading_title;\r\n\r\n        \r\n\r\n\r\n\r\n    }\r\n\r\n    open_item_modal(item, item_index , product_index, event){\r\n\r\n        if(event.target.attributes.class != undefined) {\r\n            if(event.target.attributes.class.value !== \"carousel-indicators_li\" && event.target.attributes.class.value !== \"carousel-indicators_li active\"){\r\n                this.qty = 1;\r\n                this.required_count = 0;\r\n                this.current_item = JSON.parse(JSON.stringify(item));\r\n                this.current_item.specifications.sort(this.sortFormule);\r\n                this.current_formule = {};\r\n                this.product_unique_id = this.filtered_product_list[product_index].unique_id;\r\n                this.product_name = this.filtered_product_list[product_index].name;\r\n                this.calculate_is_required();\r\n                this.calculateTotalAmount();\r\n                this.item_modal.open();\r\n            }\r\n        } else {\r\n            this.qty = 1;\r\n            this.required_count = 0;\r\n            this.current_item = JSON.parse(JSON.stringify(item));\r\n            this.current_item.specifications.sort(this.sortFormule);\r\n            this.current_formule = {};\r\n            this.product_unique_id = this.filtered_product_list[product_index].unique_id;\r\n            this.product_name = this.filtered_product_list[product_index].name;\r\n            this.calculate_is_required();\r\n            this.calculateTotalAmount();\r\n            this.item_modal.open();\r\n        }\r\n    }\r\n\r\n    open_edit_item_modal(item, product, selected_item_index, selected_product_index){\r\n\r\n        this.current_formule = {formule_id: ''}\r\n        if(item.formule_list && item.formule_list.length>0){\r\n            this.current_formule = JSON.parse(JSON.stringify(item.formule_list[0]));\r\n        }\r\n\r\n\r\n        this.selected_item_index = selected_item_index;\r\n        this.selected_product_index = selected_product_index;\r\n\r\n        let product_index = this.product_list.findIndex((x) => x._id == product.product_id)\r\n        let item_index = this.product_list[product_index].items.findIndex((x) => x._id == item.item_id)\r\n\r\n        let current_specification = this.product_list[product_index].items[item_index].specifications;\r\n        let order_specification = item.specifications;\r\n        let new_specification = [];\r\n        current_specification.forEach((x) => {\r\n            var index = order_specification.findIndex((order_sp) => order_sp.unique_id == x.unique_id)\r\n            if(x.formule_id){\r\n                index = order_specification.findIndex((order_sp:any) => (order_sp.unique_id == x.unique_id && order_sp.formule_id==x.formule_id))\r\n            }\r\n  \r\n            if(index == -1){\r\n                x.list.forEach((y:any)=>{\r\n                    y.price = Number(y.price);\r\n                });      \r\n                new_specification.push(x);\r\n            } else {\r\n                var new_specification_list = [];\r\n                x.list.forEach((y)=>{\r\n                    var list_index = order_specification[index].list.findIndex((order_sp_list) => order_sp_list.unique_id == y.unique_id)\r\n                    if(list_index == -1){\r\n                        y.is_default_selected = false;\r\n                        new_specification_list.push(y);\r\n                    } else {\r\n                        order_specification[index].list[list_index].price = y.price;\r\n                        new_specification_list.push(order_specification[index].list[list_index]);\r\n                    }\r\n                });\r\n                let json = {\r\n                    list: new_specification_list,\r\n                    \"unique_id\" : x.unique_id,\r\n                    \"name\" : x.name,\r\n                    \"is_required\": x.is_required,\r\n                    formule_id: x.formule_id,\r\n                    \"min_selection\": x.min_selection,\r\n                    \"max_selection\": x.max_selection,\r\n                    \"price\" : x.price,\r\n                    \"type\" : x.type\r\n                }\r\n                new_specification.push(json);\r\n            }\r\n        });\r\n\r\n        this.qty = item.quantity;\r\n        this.required_count = 0;\r\n        this.current_item = JSON.parse(JSON.stringify(item));\r\n        this.current_item.price = this.product_list[product_index].items[item_index].price;\r\n        this.current_item.name = this.product_list[product_index].items[item_index].name;\r\n        new_specification.sort(this.sortFormule);\r\n        this.current_item.specifications = new_specification;\r\n        this.current_item.formule_list = this.product_list[product_index].items[item_index].formule_list;\r\n        this.calculate_is_required();\r\n        this.calculateTotalAmount();\r\n        this.edit_item_modal.open();\r\n    }\r\n\r\n    sortFormule(a:any,b:any){\r\n        if (a.formule_id)\r\n            return -1;\r\n        return 0;\r\n      }\r\n  \r\n\r\n    close_item_modal(){\r\n        this.current_item = {image_url :[]};\r\n        this.item_modal.close();\r\n        this.edit_item_modal.close();\r\n    }\r\n    calculate_is_required(){\r\n        this.required_count = 0;\r\n        this.current_item.specifications.forEach((specification_group) => {\r\n            if(!specification_group.formule_id || specification_group.formule_id==this.current_formule.formule_id){\r\n                if(specification_group.is_required){\r\n                    this.required_count++;\r\n                }\r\n            }\r\n        })\r\n    }\r\n\r\n    dragstart_image(event){\r\n        this.start_screex = event.screenX\r\n    }\r\n    dragend_image(event, length){\r\n        this.end_screex = event.screenX;\r\n        var a = jQuery('.a.active').attr('data-slide-to');\r\n        a = Number(a);\r\n        if(this.start_screex < this.end_screex && a > 0){\r\n            a = a-1;\r\n            jQuery('.a#aa'+a).click()\r\n        } else if(this.start_screex > this.end_screex && a < length){\r\n            a = a+1;\r\n            jQuery('.a#aa'+a).click()\r\n        }\r\n    }\r\n\r\n    calculateTotalAmount(){\r\n        this.total = this.current_item.price;\r\n        if(this.current_formule.formule_id && this.current_formule.price){\r\n            this.total = Number(this.current_formule.price)\r\n        }\r\n        this.required_temp_count = 0;\r\n        this.current_item.specifications.forEach((specification_group , specification_group_index) => {\r\n            if(!specification_group.formule_id || specification_group.formule_id==this.current_formule.formule_id){\r\n                let isAllowed = false;\r\n                var default_selected_count = 0;\r\n                specification_group.selected_specification = 0;\r\n                specification_group.list.forEach((specification , specification_index) => {\r\n\r\n                    if(specification.is_default_selected){\r\n                        this.total = this.total + specification.price;\r\n                        default_selected_count++;\r\n                        specification_group.selected_specification++;\r\n                    }\r\n                    specification_group.default_selected_count = default_selected_count;\r\n                });\r\n                if(specification_group.type ==1 && specification_group.is_required) {\r\n                        if (default_selected_count >= 1) {\r\n                            this.required_temp_count++;\r\n                        }\r\n                } else if(specification_group.type == 2 && specification_group.is_required) {\r\n                        if (default_selected_count >= specification_group.min_selection) {\r\n                            this.required_temp_count++;\r\n                        }\r\n                }\r\n            }\r\n        });\r\n        \r\n        this.total = this.total * this.qty;\r\n    }\r\n    changeradio(event, specification_group_index, specification_index){\r\n\r\n        var index = this.current_item.specifications[specification_group_index].list.findIndex(x => x.is_default_selected == true)\r\n        if(index !== -1){\r\n            this.current_item.specifications[specification_group_index].list[index].is_default_selected = false;\r\n        }\r\n        this.current_item.specifications[specification_group_index].list[specification_index].is_default_selected = true;\r\n        this.calculateTotalAmount();\r\n    }\r\n\r\n    changecheckbox(event, specification_group_index, specification_index){\r\n\r\n        this.current_item.specifications[specification_group_index].list[specification_index].is_default_selected = event.target.checked;\r\n        this.calculateTotalAmount();\r\n\r\n    }\r\n\r\n    select_formule(formule:any){\r\n        this.current_formule = JSON.parse(JSON.stringify(formule));\r\n        this.calculate_is_required();\r\n        this.calculateTotalAmount();\r\n    }\r\n  \r\n\r\n    newitem_incerase_qty(){\r\n        this.qty++;\r\n        this.calculateTotalAmount();\r\n    }\r\n\r\n    newitem_decrease_qty(){\r\n        if(this.qty>1){\r\n            this.qty--;\r\n            this.calculateTotalAmount();\r\n        }\r\n    }\r\n\r\n    updateCart(){\r\n        let specificationPriceTotal = 0;\r\n        let specificationPrice = 0;\r\n        let specificationList = [];\r\n        this.current_item.specifications.forEach((specification_group , specification_group_index) => {\r\n            if(!specification_group.formule_id || specification_group.formule_id==this.current_formule.formule_id){\r\n                let specificationItemCartList = [];\r\n                specification_group.list.forEach((specification , specification_index) => {\r\n\r\n                    if(specification.is_default_selected){\r\n\r\n                        specificationPrice = specificationPrice + specification.price;\r\n                        specificationPriceTotal = specificationPriceTotal + specification.price;\r\n                        specificationItemCartList.push(specification)\r\n                    }\r\n                });\r\n\r\n                if(specificationItemCartList.length > 0){\r\n                    let specificationsItem_json ={\r\n                        list: specificationItemCartList,\r\n                        unique_id: specification_group.unique_id,\r\n                        formule_id: specification_group.formule_id,\r\n                        name: specification_group.name,\r\n                        price: specificationPrice,\r\n                        type: specification_group.type,\r\n                        is_required: specification_group.is_required,\r\n                        min_selection: specification_group.min_selection,\r\n                        max_selection: specification_group.max_selection\r\n                    }\r\n                    specificationList.push(specificationsItem_json);\r\n                }\r\n                specificationPrice = 0;\r\n            }\r\n        });\r\n\r\n        this.order.cart_detail.order_details[this.selected_product_index].items[this.selected_item_index].item_price = this.current_item.price;\r\n        this.order.cart_detail.order_details[this.selected_product_index].items[this.selected_item_index].total_specification_price = specificationPriceTotal;\r\n        this.order.cart_detail.order_details[this.selected_product_index].items[this.selected_item_index].total_item_and_specification_price = this.total;\r\n        this.order.cart_detail.order_details[this.selected_product_index].items[this.selected_item_index].note_for_item = this.note_for_item;\r\n        \r\n        if(this.current_formule.formule_id){\r\n            this.order.cart_detail.order_details[this.selected_product_index].items[this.selected_item_index].formule_list = [this.current_formule];\r\n            this.order.cart_detail.order_details[this.selected_product_index].items[this.selected_item_index].item_price = Number(this.current_formule.price);\r\n            this.order.cart_detail.order_details[this.selected_product_index].items[this.selected_item_index].item_name = this.current_formule.name;\r\n        } else {\r\n            this.order.cart_detail.order_details[this.selected_product_index].items[this.selected_item_index].formule_list = [];\r\n        }\r\n\r\n          \r\n        //this.order.cart_detail.order_details[this.selected_product_index].items[this.selected_item_index].note_for_item = this.note_for_item;\r\n       \r\n        \r\n        this.order.cart_detail.order_details[this.selected_product_index].items[this.selected_item_index].specifications = specificationList;\r\n        \r\n        var total_item_price = 0;\r\n        this.order.cart_detail.order_details[this.selected_product_index].items.forEach((item) =>{\r\n            total_item_price = total_item_price + item.total_item_and_specification_price;\r\n        });\r\n        this.order.cart_detail.order_details[this.selected_product_index].total_item_price = total_item_price;\r\n\r\n        this.edit_item_modal.close();\r\n        // this.update_order_data();\r\n\r\n    }\r\n\r\n    addToCart(){\r\n\r\n        let specificationPriceTotal = 0;\r\n        let specificationPrice = 0;\r\n        let specificationList = [];\r\n\r\n        this.current_item.specifications.forEach((specification_group , specification_group_index) => {\r\n            if(!specification_group.formule_id || specification_group.formule_id==this.current_formule.formule_id){\r\n                let specificationItemCartList = [];\r\n                specification_group.list.forEach((specification , specification_index) => {\r\n\r\n                    if(specification.is_default_selected){\r\n\r\n                        specificationPrice = specificationPrice + specification.price;\r\n                        specificationPriceTotal = specificationPriceTotal + specification.price;\r\n                        specificationItemCartList.push(specification)\r\n                    }\r\n                });\r\n\r\n                if(specificationItemCartList.length > 0){\r\n                    let specificationsItem_json ={\r\n                        list: specificationItemCartList,\r\n                        unique_id: specification_group.unique_id,\r\n                        name: specification_group.name,\r\n                        price: specificationPrice,\r\n                        type: specification_group.type,\r\n                        formule_id: specification_group.formule_id,\r\n                        is_required: specification_group.is_required,\r\n                        min_selection: specification_group.min_selection,\r\n                        max_selection: specification_group.max_selection,\r\n                    }\r\n                    specificationList.push(specificationsItem_json);\r\n                }\r\n                specificationPrice = 0;\r\n            }\r\n        });\r\n\r\n        this.cartProductItems.item_id = this.current_item._id;\r\n        this.cartProductItems.unique_id = this.current_item.unique_id;\r\n        this.cartProductItems.item_name = this.current_item.name;\r\n        this.cartProductItems.quantity = this.qty;\r\n        this.cartProductItems.image_url = this.current_item.image_url;\r\n        this.cartProductItems.details = this.current_item.details;\r\n        this.cartProductItems.specifications = specificationList;\r\n        this.cartProductItems.item_price = this.current_item.price;\r\n        this.cartProductItems.total_specification_price = specificationPriceTotal;\r\n        this.cartProductItems.total_item_and_specification_price = this.total;\r\n        //this.cartProductItems.note_for_item = this.note_for_item;\r\n        this.cartProductItems.note_for_item = this.note_for_item;\r\n        \r\n        if(this.current_formule.formule_id){\r\n            this.cartProductItems.formule_list = [this.current_formule]\r\n            this.cartProductItems.item_price = Number(this.current_formule.price);\r\n        }  \r\n\r\n        this.helper.user_cart.total_cart_amount = this.helper.user_cart.total_cart_amount + this.total;\r\n\r\n        if(this.isProductExistInLocalCart(this.cartProductItems))\r\n        {\r\n\r\n        } else {\r\n            let cartProductItemsList = [];\r\n            cartProductItemsList.push(this.cartProductItems)\r\n            this.cartProducts.items = cartProductItemsList;\r\n            this.cartProducts.product_id = this.current_item.product_id;\r\n            this.cartProducts.product_name = this.product_name\r\n            this.cartProducts.unique_id = this.product_unique_id\r\n            this.cartProducts.total_item_price = this.total;\r\n\r\n            this.order.cart_detail.order_details.push(this.cartProducts);\r\n        }\r\n\r\n\r\n        this.current_item = {image_url:[]};\r\n        this.cartProductItems = {\r\n            item_id: null,\r\n            unique_id: 0,\r\n            item_name: '',\r\n            quantity: 0,\r\n            image_url: [],\r\n            details: '',\r\n            specifications: [],\r\n            formule_list: [],\r\n            item_price: 0,\r\n            total_specification_price: 0,\r\n            total_item_and_specification_price: 0,\r\n            note_for_item: ''\r\n            //note_for_item: ''\r\n        }\r\n        this.cartProducts = {\r\n            items: [],\r\n            product_id: null,\r\n            product_name: '',\r\n            unique_id: 0,\r\n            total_item_price: 0\r\n        }\r\n\r\n        this.item_modal.close();\r\n        this.last_item = false;\r\n        // this.update_order_data();\r\n        this.add_boolean = false;\r\n    }\r\n\r\n    isProductExistInLocalCart(cartProductItems){\r\n\r\n        let bool = false;\r\n        this.order.cart_detail.order_details.forEach((cart_item) =>{\r\n\r\n            if(cart_item.product_id == this.current_item.product_id && bool == false){\r\n                cart_item.items.push(cartProductItems);\r\n                cart_item.total_item_price = cart_item.total_item_price + this.total;\r\n                bool = true;\r\n            }\r\n        });\r\n        return bool;\r\n    }\r\n\r\n\r\n\r\n    get_order_data(){\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_ORDER_DETAIL, {\r\n            store_id: this.store_id,\r\n            type: 1, \r\n            server_token: null,\r\n            order_id: this.helper.router_id.store.order_id\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n                this.myLoading = false;\r\n                let you_want_to_add_price_in_menu = false;\r\n                let add_price_type;\r\n                let add_price_value;\r\n                if(res_data.success){\r\n                    this.order = res_data.order;\r\n                    this.check_last_item();\r\n                    you_want_to_add_price_in_menu = this.order.order_payment_detail.is_add_price_in_menu\r\n                    add_price_type = this.order.order_payment_detail.add_price_type\r\n                    add_price_value = this.order.order_payment_detail.add_price_value\r\n                } else {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    if(this.helper.router.url === '/dispatcher/edit/order'){\r\n                        this.helper.router.navigate(['dispatcher/dispatch']);\r\n                        \r\n                    } else {\r\n                        this.helper.router.navigate(['admin/dispatch']);\r\n                    }\r\n                }\r\n\r\n                this.cartProductItems = {\r\n                    item_id: null,\r\n                    unique_id: 0,\r\n                    item_name: '',\r\n                    quantity: 0,\r\n                    image_url: [],\r\n                    details: '',\r\n                    specifications: [],\r\n                    formule_list: [],\r\n                    item_price: 0,\r\n                    total_specification_price: 0,\r\n                    total_item_and_specification_price: 0,\r\n                    note_for_item: ''\r\n                    //note_for_item: ''\r\n                }\r\n                this.cartProducts = {\r\n                    items: [],\r\n                    product_id: null,\r\n                    product_name: '',\r\n                    unique_id: 0,\r\n                    total_item_price: 0\r\n                }\r\n        \r\n                this.helper.http.post(this.helper.POST_METHOD.GET_STORE_PRODUCT_ITEM_LIST,{type: 1, store_id:this.store_id, server_token:null}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n        \r\n                    this.myLoading=false;\r\n        \r\n                    if(res_data.success == false)\r\n                    {\r\n                        this.helper.data.storage = {\r\n                            \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                            \"class\": \"alert-danger\"\r\n                        }\r\n                        this.filtered_product_list=[];\r\n                        this.helper.message()\r\n                    }\r\n                    else\r\n                    {\r\n                        this.product_list = res_data.products;\r\n                        this.currency=res_data.currency;\r\n                        let product_list = res_data.products.filter((product)=>{\r\n                            let item_list = product.items.filter((item) =>{\r\n                                if(item.formule_list){\r\n                                    item.formule_list.forEach((formule_data)=>{\r\n                                        if(you_want_to_add_price_in_menu && add_price_value){\r\n                                        if(add_price_type==1){\r\n                                            formule_data.price = formule_data.price + ((formule_data.price * add_price_value)/100);\r\n                                        }\r\n                                        }\r\n                                    })\r\n                                }\r\n        \r\n                                var specification_price = 0;\r\n                                item.specifications.filter((specification_group) => {\r\n                                  specification_group.list.filter((specification) => {\r\n                                    specification.price = Number(specification.price);\r\n                                        if(you_want_to_add_price_in_menu && add_price_value){\r\n                                            if(add_price_type==1){\r\n                                                specification.price = specification.price + ((specification.price * add_price_value)/100);\r\n                                            }\r\n                                        }\r\n                                        if(specification.is_default_selected){\r\n                                            specification_price = specification_price + Number(specification.price);\r\n                                        }\r\n                                  })\r\n                                  if(specification_group.min_selection==undefined || specification_group.max_selection==undefined){\r\n                                    if(specification_group.type==1){\r\n                                      specification_group.min_selection = 1;\r\n                                      specification_group.max_selection = 1;\r\n                                      specification_group.is_required = true;\r\n                                    } else {\r\n                                      specification_group.max_selection = specification_group.list.length;\r\n                                      if(specification_group.is_required){\r\n                                        specification_group.min_selection = 1;\r\n                                      } else {\r\n                                        specification_group.min_selection = 0;\r\n                                      }\r\n                                    }\r\n                                  }\r\n                                })\r\n                                if(you_want_to_add_price_in_menu && add_price_value){\r\n                                    if(add_price_type==1){\r\n                                        item.price = item.price + ((item.price * add_price_value)/100);\r\n                                    } else if(add_price_type==2){\r\n                                        item.price = item.price + add_price_value;\r\n                                    }\r\n                                }\r\n        \r\n                                return (item.is_item_in_stock==true && item.is_visible_in_store == true)\r\n                            });\r\n                            product.items = item_list;\r\n                            return product.is_visible_in_store == true;\r\n                        });\r\n                        this.filtered_product_list=product_list;\r\n                    }\r\n                },\r\n                (error: any) => {\r\n                    this.myLoading=false;\r\n                    this.helper.http_status(error)\r\n                });\r\n                \r\n            },\r\n            (error: any) => {\r\n                this.myLoading=false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    increase_qty(product_index, item_index){\r\n        this.order.cart_detail.order_details[product_index].items[item_index].quantity++;\r\n        this.calculate_amount(product_index, item_index, true,true);\r\n    }\r\n\r\n    remove_from_cart(product_index, item_index){\r\n        this.order.cart_detail.order_details[product_index].items.splice(item_index, 1);\r\n        if(this.order.cart_detail.order_details[product_index].items.length == 0){\r\n            this.order.cart_detail.order_details.splice(product_index, 1);\r\n            this.calculate_amount(product_index, item_index, false, false);\r\n        } else {\r\n            this.calculate_amount(product_index, item_index, true, false);\r\n        }\r\n        this.check_last_item();\r\n    }\r\n    check_last_item(){\r\n        if(this.order.cart_detail.order_details.length ==1 && this.order.cart_detail.order_details[0].items.length == 1){\r\n            this.last_item = true;\r\n        }\r\n    }\r\n\r\n    decrease_qty(product_index, item_index){\r\n        if(this.order.cart_detail.order_details[product_index].items[item_index].quantity > 1) {\r\n            var offer_price = 0;\r\n            if(this.order.cart_detail.order_details[product_index].items[item_index].offer_price){\r\n                offer_price = (this.order.cart_detail.order_details[product_index].items[item_index].offer_price/this.order.cart_detail.order_details[product_index].items[item_index].quantity);\r\n            }\r\n            this.order.cart_detail.order_details[product_index].items[item_index].offer_price = this.order.cart_detail.order_details[product_index].items[item_index].offer_price - offer_price;\r\n            this.order.cart_detail.order_details[product_index].items[item_index].quantity--;\r\n            this.calculate_amount(product_index, item_index, true, true);\r\n        }\r\n    }\r\n\r\n    calculate_amount(product_index, item_index, product_bool, item_bool){\r\n        // this.myLoading = true;\r\n        if(item_bool){\r\n            this.order.cart_detail.order_details[product_index].items[item_index].total_item_and_specification_price =\r\n                (this.order.cart_detail.order_details[product_index].items[item_index].item_price + this.order.cart_detail.order_details[product_index].items[item_index].total_specification_price) * this.order.cart_detail.order_details[product_index].items[item_index].quantity;\r\n        }\r\n\r\n        if(product_bool){\r\n            var total_item_price = 0;\r\n            this.order.cart_detail.order_details[product_index].items.forEach((item) =>{\r\n                total_item_price = total_item_price + item.total_item_and_specification_price;\r\n            });\r\n            this.order.cart_detail.order_details[product_index].total_item_price = total_item_price;\r\n        }\r\n\r\n        // this.update_order_data();\r\n\r\n\r\n    }\r\n\r\n    update_order_data(){\r\n        let totalItemsPriceWithQuantity = 0;\r\n        let totalSpecificationPriceWithQuantity = 0;\r\n        let totalItemsCount = 0;\r\n        let totalCartAmount = 0;\r\n        let totalSpecificationCount = 0;\r\n        this.order.cart_detail.order_details.forEach((order_product) => {\r\n            order_product.items.forEach((order_item) =>{\r\n                totalItemsPriceWithQuantity += (order_item.item_price * order_item.quantity);\r\n                totalSpecificationPriceWithQuantity += (order_item.total_specification_price * order_item.quantity);\r\n                totalItemsCount += order_item.quantity;\r\n                order_item.specifications.forEach((specification) => {\r\n                    totalSpecificationCount +=  (specification.list.length);\r\n                });\r\n            });\r\n\r\n            totalCartAmount += order_product.total_item_price;\r\n        });\r\n\r\n        let json = {\r\n            store_id: this.store_id,\r\n            server_token: null,\r\n            order_id: this.helper.router_id.store.order_id,\r\n            total_cart_price: totalCartAmount,\r\n            total_item_count: totalItemsCount,\r\n            order_details: this.order.cart_detail.order_details,\r\n            type: 1,\r\n            payment_intent_id: ''\r\n        }\r\n        console.log(json)\r\n        this.myLoading = true;\r\n        // this.helper.http.post(this.helper.POST_METHOD.STORE_UPDATE_ORDER, json).map((res: Response) => res.json()).subscribe(res_data => {\r\n        //         this.myLoading = false;\r\n\r\n        //         if(res_data.success){\r\n        //             this.helper.data.storage = {\r\n        //                 \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n        //                 \"class\": \"alert-info\"\r\n        //             }\r\n        //         } else {\r\n        //             this.helper.data.storage = {\r\n        //                 \"code\": res_data.error_code,\r\n        //                 \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n        //                 \"class\": \"alert-info\"\r\n        //             }\r\n        //         }\r\n        //         this.helper.router.navigate(['admin/orders']);\r\n\r\n        //     },\r\n        //     (error: any) => {\r\n        //         this.myLoading=false;\r\n        //         this.helper.http_status(error)\r\n        //     });\r\n\r\n        console.log(this.order)\r\n        if(this.order.is_payment_mode_cash){\r\n            this.helper.http.post(this.helper.POST_METHOD.STORE_UPDATE_ORDER, json).map((res: Response) => res.json()).subscribe(res_data => {\r\n                this.myLoading = false;\r\n               \r\n                if(res_data.success){\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n                } else {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n                }\r\n                this.helper.message();\r\n                if(this.helper.router.url === '/dispatcher/edit/order'){\r\n                    this.helper.router.navigate(['dispatcher/dispatch']);\r\n                    \r\n                } else {\r\n                    this.helper.router.navigate(['admin/dispatch']);\r\n                }\r\n\r\n            },\r\n            (error: any) => {\r\n                this.myLoading=false;\r\n                this.helper.http_status(error)\r\n            });\r\n        } else {\r\n            this.helper.http.post(this.helper.POST_METHOD.CHECK_STORE_UPDATE_ORDER_PAYMENT, json).map((res: Response) => res.json()).subscribe(res_data => {\r\n                if(res_data.success){\r\n                    if(res_data.is_payment_paid){\r\n                        this.helper.http.post(this.helper.POST_METHOD.STORE_UPDATE_ORDER, json).map((res: Response) => res.json()).subscribe(res_data => {\r\n                            this.myLoading = false;\r\n                           \r\n                            if(res_data.success){\r\n                                this.helper.data.storage = {\r\n                                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                                    \"class\": \"alert-info\"\r\n                                }\r\n                            } else {\r\n                                this.helper.data.storage = {\r\n                                    \"code\": res_data.error_code,\r\n                                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                                    \"class\": \"alert-info\"\r\n                                }\r\n                            }\r\n                            this.helper.message();\r\n                            if(this.helper.router.url === '/dispatcher/edit/order'){\r\n                                this.helper.router.navigate(['dispatcher/dispatch']);\r\n                                \r\n                            } else {\r\n                                this.helper.router.navigate(['admin/dispatch']);\r\n                            }\r\n\r\n                        },\r\n                        (error: any) => {\r\n                            this.myLoading=false;\r\n                            this.helper.http_status(error)\r\n                        });\r\n                    } else {\r\n                        var json_data = {\r\n                            user_id: this.order.user_id,\r\n                            amount: res_data.remaining_payment\r\n                        }\r\n                        this.helper.http.post(this.helper.POST_METHOD.GET_STRIPE_PAYMENT_INTENT, json_data).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n                            if(res_data.success){\r\n                                if(res_data.is_payment_paid){\r\n\r\n                                    this.helper.http.post(this.helper.POST_METHOD.STORE_UPDATE_ORDER, json).map((res: Response) => res.json()).subscribe(res_data => {\r\n                                        this.myLoading = false;\r\n                                       \r\n                                        if(res_data.success){\r\n                                            this.helper.data.storage = {\r\n                                                \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                                                \"class\": \"alert-info\"\r\n                                            }\r\n                                        } else {\r\n                                            this.helper.data.storage = {\r\n                                                \"code\": res_data.error_code,\r\n                                                \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                                                \"class\": \"alert-info\"\r\n                                            }\r\n                                        }\r\n                                        this.helper.message();\r\n                                        if(this.helper.router.url === '/dispatcher/edit/order'){\r\n                                            this.helper.router.navigate(['dispatcher/dispatch']);\r\n                                            \r\n                                        } else {\r\n                                            this.helper.router.navigate(['admin/dispatch']);\r\n                                        }\r\n\r\n                                    },\r\n                                    (error: any) => {\r\n                                        this.myLoading=false;\r\n                                        this.helper.http_status(error)\r\n                                    });\r\n                                } else {\r\n                                    stripe.confirmCardPayment(\r\n                                        res_data.client_secret, {\r\n                                          payment_method: res_data.payment_method\r\n                                        }\r\n                                    ).then((result)=> {\r\n                                        if(result.paymentIntent){\r\n                                            json.payment_intent_id = result.paymentIntent.id;\r\n                                            this.helper.http.post(this.helper.POST_METHOD.STORE_UPDATE_ORDER, json).map((res: Response) => res.json()).subscribe(res_data => {\r\n                                                this.myLoading = false;\r\n                                               \r\n                                                if(res_data.success){\r\n                                                    this.helper.data.storage = {\r\n                                                        \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                                                        \"class\": \"alert-info\"\r\n                                                    }\r\n                                                } else {\r\n                                                    this.helper.data.storage = {\r\n                                                        \"code\": res_data.error_code,\r\n                                                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                                                        \"class\": \"alert-info\"\r\n                                                    }\r\n                                                }\r\n                                                this.helper.message();\r\n                                                if(this.helper.router.url === '/dispatcher/edit/order'){\r\n                                                    this.helper.router.navigate(['dispatcher/dispatch']);\r\n                                                    \r\n                                                } else {\r\n                                                    this.helper.router.navigate(['admin/dispatch']);\r\n                                                }\r\n\r\n                                            },\r\n                                            (error: any) => {\r\n                                                this.myLoading=false;\r\n                                                this.helper.http_status(error)\r\n                                            });\r\n                                        } else {\r\n                                            this.myLoading = false;\r\n                                            this.helper.data.storage = {\r\n                                                \"message\": result.error.message,\r\n                                                \"class\": \"alert-danger\"\r\n                                            }\r\n                                            this.helper.message();\r\n                                        }\r\n                                    });\r\n                                }\r\n                            }\r\n\r\n                        });\r\n                    }\r\n                } else {\r\n                    this.myLoading = false;\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message();\r\n                }\r\n            });\r\n        }\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/edit_order/edit_order.component.ts","import {Component, OnInit, ViewContainerRef, ViewChild} from '@angular/core';\r\nimport {Response} from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport {ModalComponent} from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport {Helper} from \"../../helper\";\r\ndeclare var jQuery: any;\r\ndeclare var c3: any;\r\n\r\n\r\nexport interface ProviderEdit {\r\n\r\n    provider_id: Object,\r\n    first_name: String,\r\n    last_name: String,\r\n    email: String,\r\n    //zipcode: String,\r\n    device_type: String,\r\n    user_rate: Number,\r\n    total_online_time: Number,\r\n    total_active_job_time: Number,\r\n    total_rejected_orders: Number,\r\n\r\n\r\n\r\n    country_name: String,\r\n    city_name: String,\r\n    address: String,\r\n    country_phone_code: String,\r\n    phone: Number,\r\n    \r\n    _id: Object,\r\n    unique_id:Number,\r\n\r\n    referral_code: String,\r\n    wallet: Number,\r\n    total_referrals: Number,\r\n    referred_by: Object,\r\n    //vehicle_id: Object,\r\n\r\n    wallet_currency_code: String,\r\n    app_version: String,\r\n    image_url: String,\r\n    //vehicle_model: String,\r\n    //vehicle_number: String,\r\n    comments: String,\r\n    referred_provider_first_name: String,\r\n    referred_provider_last_name: String,\r\n    vehicle_name: String,\r\n\r\n    is_document_uploaded: Boolean,\r\n    is_phone_number_verified: Boolean,\r\n    is_email_verified: Boolean,\r\n    is_in_delivery: Boolean,\r\n    is_online: Boolean,\r\n    is_active_for_job: Boolean,\r\n    is_approved: Boolean,\r\n    total_orders: Number\r\n    \r\n\r\n\r\n}\r\n\r\nexport interface OrderDetail {\r\n    total_orders: Number,\r\n    accepted_orders: Number,\r\n    completed_orders: Number,\r\n    cancelled_orders: Number,\r\n    completed_order_percentage: Number\r\n}\r\n\r\n@Component({\r\n    selector: 'app-edit_provider',\r\n    template: require('./edit_provider.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class EditProviderComponent implements OnInit {\r\n\r\n    private provider_edit: ProviderEdit;\r\n    private order_detail: OrderDetail;\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    minimum_phone_number_length: number;\r\n    maximum_phone_number_length: number;\r\n    provider: any;\r\n    provider_id: Object;\r\n    edit: Boolean;\r\n    vehicle_list: any[];\r\n    myLoading: boolean = true;\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n\r\n        jQuery(\"#vehicle\").chosen({disable_search: true});\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n    }\r\n\r\n\r\n    ngOnInit() {\r\n        this.provider_edit = {\r\n            provider_id: \"\",\r\n            //vehicle_id: \"\",\r\n            first_name: \"\",\r\n            last_name: \"\",\r\n            email: \"\",\r\n\r\n            device_type: \"\",\r\n            user_rate: null,\r\n            total_online_time: null,\r\n            total_active_job_time: null,\r\n            total_rejected_orders: null,\r\n            is_in_delivery: false,\r\n            is_document_uploaded: false,\r\n\r\n\r\n            //zipcode: \"\",\r\n            country_name: \"\",\r\n            city_name: \"\",\r\n            vehicle_name: \"\",\r\n            address: \"\",\r\n            country_phone_code: \"\",\r\n            phone: null,\r\n             _id: \"\",\r\n            unique_id: null,\r\n            // latitude: null,\r\n            // longitude: null,\r\n            referral_code: \"\",\r\n            wallet: null,\r\n            total_referrals: null,\r\n            referred_by: \"\",\r\n            wallet_currency_code: \"\",\r\n            app_version: \"\",\r\n            image_url: \"\",\r\n            //vehicle_model: \"\",\r\n            //vehicle_number: \"\",\r\n            comments: \"\",\r\n            referred_provider_first_name: \"\",\r\n            referred_provider_last_name: \"\",\r\n\r\n            //is_document_uploaded: false,\r\n            is_phone_number_verified: false,\r\n            is_email_verified: false,\r\n            //is_in_delivery: false,\r\n            is_online: false,\r\n            is_active_for_job: false,\r\n            is_approved: false,\r\n            total_orders: null\r\n            \r\n\r\n\r\n        }\r\n\r\n        this.order_detail = {\r\n            total_orders: 0,\r\n            accepted_orders: 0,\r\n            completed_orders: 0,\r\n            cancelled_orders: 0,\r\n            completed_order_percentage: 0\r\n        }\r\n        this.provider_id = this.helper.router_id.admin.provider_id;\r\n        var provider = JSON.parse(localStorage.getItem('provider'));\r\n\r\n//        this.helper.http.get('/admin/vehicle_list_for_provider').map((res: Response) => res.json()).subscribe(res => {\r\n//            this.vehicle_list = res.vehicles;\r\n//\r\n//        });\r\n//\r\n//        jQuery(this.helper.elementRef.nativeElement).find('#vehicle').on('change', (evnt, res_data) => {\r\n//\r\n//            this.provider_edit.vehicle_id = res_data.selected;\r\n//        });\r\n\r\n\r\n\r\n\r\n\r\n        this.helper.http.post('/admin/get_provider_detail', {provider_id: this.provider_id}).map((response: Response) => response.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n            }\r\n            else {\r\n\r\n                this.order_detail = res_data.order_detail;\r\n\r\n                let chart31 = c3.generate({\r\n                    bindto: '#c1',\r\n                    data: {\r\n\r\n                        columns: [\r\n                            [this.title.completed_order, this.order_detail.completed_order_percentage]\r\n                        ],\r\n                        type: 'gauge',\r\n                    },\r\n                    legend: {\r\n                        show: true\r\n                    },\r\n                    gauge: {\r\n                        label: {\r\n                            show: false // to turn off the min/max labels.\r\n                        },\r\n                        width: 30 // for adjusting arc thickness\r\n                    },\r\n                    color: {\r\n                        pattern: ['#1e1e1e'], // the three color levels for the percentage values.\r\n\r\n                    }\r\n                });\r\n\r\n                this.provider_edit.total_orders = res_data.provider.total_orders;\r\n                this.provider_edit.total_active_job_time = res_data.provider.total_active_job_time;\r\n                this.provider_edit.first_name = res_data.provider.first_name;\r\n                this.provider_edit.last_name = res_data.provider.last_name;\r\n                this.provider_edit.email = res_data.provider.email;\r\n                \r\n                \r\n                this.provider_edit._id = res_data.provider._id;\r\n                this.provider_edit.unique_id = res_data.provider.unique_id;\r\n\r\n                this.provider_edit.device_type = res_data.provider.device_type;\r\n                this.provider_edit.user_rate = res_data.provider.user_rate;\r\n                this.provider_edit.total_online_time = res_data.provider.total_online_time;\r\n                this.provider_edit.total_rejected_orders = res_data.provider.total_rejected_orders;\r\n\r\n\r\n\r\n                this.provider_edit.is_document_uploaded = res_data.provider.is_document_uploaded;\r\n                this.provider_edit.is_in_delivery = res_data.provider.is_in_delivery;\r\n\r\n\r\n                //this.provider_edit.zipcode = res_data.provider.zipcode;\r\n                this.minimum_phone_number_length = res_data.provider.country_details.minimum_phone_number_length;\r\n                this.maximum_phone_number_length = res_data.provider.country_details.maximum_phone_number_length;\r\n\r\n\r\n                this.provider_edit.country_name = res_data.provider.country_details.country_name;\r\n                this.provider_edit.city_name = res_data.provider.city_details.city_name;\r\n                this.provider_edit.address = res_data.provider.address;\r\n                this.provider_edit.country_phone_code = res_data.provider.country_phone_code;\r\n                this.provider_edit.phone = res_data.provider.phone;\r\n               // this.provider_edit.vehicle_model = res_data.provider.vehicle_model;\r\n               // this.provider_edit.vehicle_id = res_data.provider.vehicle_id;\r\n\r\n\r\n\r\n                this.provider_edit.referral_code = res_data.provider.referral_code;\r\n\r\n\r\n                if (res_data.provider.vehicles_details.length > 0) {\r\n                    this.provider_edit.vehicle_name = res_data.provider.vehicles_details[0].vehicle_name;\r\n\r\n                }\r\n\r\n                if (res_data.provider.referred_provider_details.length > 0) {\r\n                    this.provider_edit.referred_provider_first_name = res_data.provider.referred_provider_details[0].first_name;\r\n                    this.provider_edit.referred_provider_last_name = res_data.provider.referred_provider_details[0].last_name;\r\n                }\r\n                this.provider_edit.wallet_currency_code = res_data.provider.wallet_currency_code;\r\n                this.provider_edit.wallet = res_data.provider.wallet;\r\n                this.provider_edit.total_referrals = res_data.provider.total_referrals;\r\n\r\n                this.provider_edit.referred_by = res_data.provider.referred_by;\r\n                this.provider_edit.app_version = res_data.provider.app_version;\r\n\r\n\r\n                // this.provider_edit.is_document_uploaded = res_data.provider.is_document_uploaded;\r\n                this.provider_edit.is_phone_number_verified = res_data.provider.is_phone_number_verified;\r\n                this.provider_edit.is_email_verified = res_data.provider.is_email_verified;\r\n                //this.provider_edit.is_in_delivery = res_data.provider.is_in_delivery;\r\n                this.provider_edit.is_online = res_data.provider.is_online;\r\n                this.provider_edit.is_active_for_job = res_data.provider.is_active_for_job;\r\n                this.provider_edit.is_approved = res_data.provider.is_approved;\r\n\r\n\r\n                // this.provider_edit.latitude = res_data.provider.location[0];\r\n                // this.provider_edit.longitude = res_data.provider.location[1];\r\n                //this.provider_edit.vehicle_number = res_data.provider.vehicle_number;\r\n                this.provider_edit.image_url = res_data.provider.image_url;\r\n                this.provider_edit.comments = res_data.provider.comments;\r\n\r\n\r\n            }\r\n\r\n\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.edit = false;\r\n\r\n        jQuery(window).resize(function () {\r\n            if (jQuery(window).width() < 454) {\r\n                jQuery('.box').removeClass('col-xs-1');\r\n                jQuery('.total').removeClass('col-xs-5');\r\n                jQuery('.box').addClass('col-xs-2');\r\n                jQuery('.total').addClass('col-xs-10');\r\n                jQuery('.box1').css('padding', '')\r\n                jQuery('.total1').css('padding', '')\r\n            } else {\r\n                jQuery('.box').removeClass('col-xs-2');\r\n                jQuery('.total').removeClass('col-xs-10');\r\n                jQuery('.box').addClass('col-xs-1');\r\n                jQuery('.total').addClass('col-xs-5');\r\n                jQuery('.box1').css('padding', 0)\r\n                jQuery('.total1').css('padding', 0)\r\n            }\r\n        });\r\n        setTimeout(function () {\r\n            if (jQuery(window).width() < 454) {\r\n                jQuery('.box').removeClass('col-xs-1');\r\n                jQuery('.total').removeClass('col-xs-5');\r\n                jQuery('.box').addClass('col-xs-2');\r\n                jQuery('.total').addClass('col-xs-10');\r\n                jQuery('.box1').css('padding', '')\r\n                jQuery('.total1').css('padding', '')\r\n            } else {\r\n                jQuery('.box').removeClass('col-xs-2');\r\n                jQuery('.total').removeClass('col-xs-10');\r\n                jQuery('.box').addClass('col-xs-1');\r\n                jQuery('.total').addClass('col-xs-5');\r\n                jQuery('.box1').css('padding', 0)\r\n                jQuery('.total1').css('padding', 0)\r\n            }\r\n        }, 500);\r\n\r\n    }\r\n\r\n    public formData = new FormData();\r\n\r\n    change_image($event) {\r\n\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const image_url = files[0];\r\n\r\n        if (image_url.type == \"image/jpeg\" || image_url.type == \"image/jpg\" || image_url.type == \"image/png\") {\r\n            this.formData = new FormData();\r\n            this.formData.append('image_url', image_url);\r\n\r\n            var reader = new FileReader();\r\n\r\n            reader.onload = (e: any) => {\r\n                this.provider_edit.image_url = e.target.result\r\n            }\r\n            reader.readAsDataURL(image_url);\r\n        }\r\n    }\r\n\r\n\r\n    UpdateProvider(provider_data) {\r\n        this.myLoading = true;\r\n        this.formData.append('provider_id', provider_data.provider_id);\r\n        this.formData.append('phone', provider_data.phone);\r\n        this.formData.append('email', provider_data.email);\r\n        this.formData.append('first_name', provider_data.first_name);\r\n        this.formData.append('last_name', provider_data.last_name);\r\n        this.formData.append('address', provider_data.address);\r\n        this.formData.append('latitude', provider_data.latitude);\r\n        this.formData.append('longitude', provider_data.longitude);\r\n        //this.formData.append('zipcode', provider_data.zipcode);\r\n        //this.formData.append('vehicle_model', provider_data.vehicle_model);\r\n        //this.formData.append('vehicle_number', provider_data.vehicle_number);\r\n        //this.formData.append('vehicle_id', provider_data.vehicle_id);\r\n        \r\n        this.formData.append('is_phone_number_verified', provider_data.is_phone_number_verified);\r\n        this.formData.append('is_email_verified', provider_data.is_email_verified);\r\n        this.formData.append('is_online', provider_data.is_online);\r\n        this.formData.append('is_active_for_job', provider_data.is_active_for_job);\r\n        this.formData.append('is_approved', provider_data.is_approved);\r\n        this.formData.append('comments', provider_data.comments);\r\n\r\n\r\n        this.helper.http.post('/admin/update_provider', this.formData).map((response: Response) => response.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            jQuery('#remove').click();\r\n\r\n            if (res_data.success == false) {\r\n\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message();\r\n\r\n                this.formData = new FormData();\r\n                this.provider_edit.first_name = this.provider.first_name;\r\n                this.provider_edit.last_name = this.provider.last_name;\r\n                //this.provider_edit.vehicle_id = this.provider.vehicle_id;\r\n                //this.provider_edit.zipcode = this.provider.zipcode;\r\n                this.provider_edit.address = this.provider.address;\r\n                this.provider_edit.phone = this.provider.phone;\r\n                this.provider_edit.email = this.provider.email;\r\n               // this.provider_edit.vehicle_model = this.provider.vehicle_model;\r\n               // this.provider_edit.vehicle_number = this.provider.vehicle_number;\r\n                this.provider_edit.image_url = this.provider.image_url;\r\n                this.provider_edit.is_phone_number_verified = this.provider.is_phone_number_verified;\r\n                this.provider_edit.is_email_verified = this.provider.is_email_verified;\r\n                this.provider_edit.is_online = this.provider.is_online;\r\n                this.provider_edit.is_active_for_job = this.provider.is_active_for_job;\r\n                this.provider_edit.is_approved = this.provider.is_approved;\r\n                this.provider_edit.comments = this.provider.comments;\r\n\r\n            }\r\n            else {\r\n                localStorage.setItem('provider', JSON.stringify(res_data.provider));\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.helper.router.navigate(['admin/pending_for_approval']);\r\n                this.helper.message();\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/edit_provider/edit_provider.component.ts","import {Component, OnInit} from '@angular/core';\r\nimport {Response} from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport {Helper} from \"../../helper\";\r\ndeclare var jQuery: any;\r\n\r\nexport interface EditProviderVehicle {\r\n\r\n    vehicle_id: Object,\r\n    service_id: Object,\r\n    admin_service_id: Object,\r\n    admin_vehicle_id: Object,\r\n    vehicle_year: Number,\r\n    vehicle_model: String,\r\n    vehicle_name: String,\r\n    vehicle_plate_no: String,\r\n    vehicle_color: String,\r\n    is_approved: Boolean\r\n\r\n}\r\n\r\n@Component({\r\n    selector: 'app-edit_provider_vehicle',\r\n    template: require('./edit_provider_vehicle.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class EditProviderVehicleComponent implements OnInit {\r\n\r\n    private edit_provider_vehicle: EditProviderVehicle;\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    validation_message: any;\r\n    vehicle_service_list: any[] = [];\r\n    vehicle_list: any[] = [];\r\n\r\n    document_list: any[] = [];\r\n    provider_vehicle_id: Object;\r\n    error: any;\r\n\r\n    myLoading: boolean = true;\r\n\r\n    constructor(private helper: Helper) {\r\n\r\n    }\r\n    ngAfterViewInit() {\r\n        jQuery(\"#admin_vehicle_id\").chosen({disable_search: true});\r\n\r\n\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.edit_provider_vehicle = {\r\n\r\n            vehicle_id: \"\",\r\n            service_id: \"\",\r\n            admin_service_id: \"\",\r\n            admin_vehicle_id: \"\",\r\n            vehicle_year: null,\r\n            vehicle_model: \"\",\r\n            vehicle_name: \"\",\r\n            vehicle_plate_no: \"\",\r\n            vehicle_color: \"\",\r\n            is_approved: false\r\n\r\n\r\n        }\r\n        this.provider_vehicle_id = this.helper.router_id.admin.provider_vehicle_id;\r\n        this.helper.http.get('/admin/vehicle_list_for_provider').map((res: Response) => res.json()).subscribe(res => {\r\n            this.vehicle_service_list = res.vehicles;\r\n            setTimeout(function () {\r\n                jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n            }, 1000);\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#admin_vehicle_id').on('change', (evnt, res_data) => {\r\n\r\n            this.edit_provider_vehicle.admin_vehicle_id = res_data.selected;\r\n\r\n\r\n        });\r\n\r\n\r\n\r\n\r\n        this.helper.http.post('/admin/get_provider_vehicle_detail', {provider_vehicle_id: this.provider_vehicle_id}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n            if (res_data.success == false) {\r\n\r\n                this.helper.router.navigate(['admin/provider_vehicles']);\r\n\r\n            }\r\n            else {\r\n\r\n                this.edit_provider_vehicle.vehicle_id = res_data.provider_vehicle_detail.vehicle_id;\r\n                this.edit_provider_vehicle.service_id = res_data.provider_vehicle_detail.service_id;\r\n                this.edit_provider_vehicle.admin_service_id = res_data.provider_vehicle_detail.admin_service_id;\r\n                this.edit_provider_vehicle.admin_vehicle_id = res_data.provider_vehicle_detail.admin_vehicle_id;\r\n                this.edit_provider_vehicle.vehicle_year = res_data.provider_vehicle_detail.vehicle_year;\r\n                this.edit_provider_vehicle.vehicle_model = res_data.provider_vehicle_detail.vehicle_model;\r\n                this.edit_provider_vehicle.vehicle_name = res_data.provider_vehicle_detail.vehicle_name;\r\n\r\n                this.edit_provider_vehicle.vehicle_plate_no = res_data.provider_vehicle_detail.vehicle_plate_no;\r\n                this.edit_provider_vehicle.vehicle_color = res_data.provider_vehicle_detail.vehicle_color;\r\n                this.edit_provider_vehicle.is_approved = res_data.provider_vehicle_detail.is_approved;\r\n\r\n\r\n\r\n            }\r\n        });\r\n\r\n\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.validation_message = this.helper.validation_message;\r\n\r\n\r\n\r\n    }\r\n\r\n    updateProviderVehicle(provider_vehicle_data) {\r\n        this.myLoading = true;\r\n\r\n        this.edit_provider_vehicle.vehicle_id = provider_vehicle_data.admin_vehicle_id;\r\n        this.helper.http.post('/admin/provider_vehicle_update', provider_vehicle_data).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == true) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.vehicles(res_data.provider_vehicle.provider_id);\r\n\r\n                this.helper.router.navigate(['admin/pending_for_approval']);\r\n            }\r\n            else {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n\r\n                this.helper.router.navigate(['admin/provider_vehicles']);\r\n\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n\r\n    vehicles(provider_id) {\r\n        this.helper.http.post('/admin/provider_vehicle_list', {\r\n            provider_id: provider_id\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n                this.vehicle_list = [];\r\n            }\r\n            else {\r\n                this.vehicle_list = res_data.provider_vehicles;\r\n\r\n                this.vehicle_list.forEach((vehicle, index) => {\r\n\r\n                    this.get_document_list(vehicle._id, 9, vehicle.provider_id);\r\n\r\n                })\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    get_document_list(id, type, user_type_id) {\r\n        this.helper.http.post('/admin/view_document_list', {id: id, type: type, user_type_id: user_type_id}).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            this.document_list = res_data.documents;\r\n        });\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/edit_provider_vehicle/edit_provider_vehicle.component.ts","import {Component, OnInit, ViewContainerRef, ViewChild} from '@angular/core';\r\nimport {Response} from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport {ModalComponent} from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport {Helper} from \"../../helper\";\r\ndeclare var jQuery: any;\r\ndeclare var c3: any;\r\n\r\nexport interface StoreEdit {\r\n\r\n    store_id: Object,\r\n\r\n    name: String,\r\n    email: String,\r\n    website_url: String,\r\n    slogan: String,\r\n    country_name: String,\r\n    city_name: String,\r\n    address: String,\r\n    country_phone_code: String,\r\n    phone: Number,\r\n    offer: String,\r\n    //zipcode: String,\r\n    admin_profit_mode_on_store: Number,\r\n    admin_profit_value_on_store: Number,\r\n    store_delivery_name: String,\r\n    famous_for: String,\r\n    image_url: String,\r\n    comments: String,\r\n    store_time: any[],\r\n    store_open_time: any,\r\n    store_close_time: any,\r\n\r\n\r\n\r\n    price_rating: Number,\r\n    user_rate: Number,\r\n    \r\n    _id: Object,\r\n    unique_id:Number,\r\n\r\n\r\n    referral_code: String,\r\n    wallet: Number,\r\n    referred_by: Object,\r\n    wallet_currency_code: String,\r\n    app_version: String,\r\n    device_type: String,\r\n    total_referrals: Number,\r\n    referred_store_name: String,\r\n\r\n\r\n    is_approved: Boolean,\r\n    is_email_verified: Boolean,\r\n    is_phone_number_verified: Boolean,\r\n    is_visible: Boolean,\r\n\r\n    is_document_uploaded: Boolean,\r\n    is_business: Boolean,\r\n    free_delivery_for_above_order_price: Number,\r\n    delivery_time: Number,\r\n    item_tax: Number,\r\n    is_store_pay_delivery_fees: Boolean\r\n    //is_document_uploaded: Boolean\r\n\r\n}\r\n\r\nexport interface OrderDetail {\r\n    total_orders: Number,\r\n    accepted_orders: Number,\r\n    completed_orders: Number,\r\n    cancelled_orders: Number,\r\n    completed_order_percentage: Number\r\n}\r\n\r\n@Component({\r\n    selector: 'app-edit_store',\r\n    template: require('./edit_store.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class EditStoreComponent implements OnInit {\r\n\r\n    private store_edit: StoreEdit;\r\n    private order_detail: OrderDetail;\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    minimum_phone_number_length: number;\r\n    maximum_phone_number_length: number;\r\n    phone_number_length: number\r\n    //setting_data: any;\r\n    store_detail: any;\r\n    store_id: Object;\r\n    admin_profit_mode_on_store_list: any[];\r\n    edit: Boolean;\r\n    myLoading: boolean = true;\r\n\r\n\r\n    selected_store_time_array: any[] = [];\r\n    store_time_millisecond_array: any[] = [];\r\n    curren_selected_day: number = 0;\r\n    is_store_open_full_time: Boolean = false;\r\n    is_store_open: Boolean = false;\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n\r\n    }\r\n    ngAfterViewInit() {\r\n\r\n\r\n\r\n        jQuery(\"#admin_profit_mode\").chosen({disable_search: true});\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n\r\n\r\n            jQuery('input').iCheck({\r\n                handle: 'checkbox',\r\n                checkboxClass: 'icheckbox_square-green',\r\n            });\r\n        }, 1000);\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.admin_profit_mode_on_store_list = this.helper.ADMIN_PROFIT_ON_ORDERS;\r\n        this.store_edit = {\r\n            store_id: \"\",\r\n            name: \"\",\r\n            email: \"\",\r\n            website_url: \"\",\r\n            slogan: \"\",\r\n            country_name: \"\",\r\n            city_name: \"\",\r\n            address: \"\",\r\n            country_phone_code: \"\",\r\n            phone: null,\r\n            \r\n            _id: \"\",\r\n            unique_id: null,\r\n\r\n            price_rating: null,\r\n            user_rate: null,\r\n            is_document_uploaded: false,\r\n            is_visible: false,\r\n            device_type: \"\",\r\n            //zipcode: \"\",\r\n            offer: \"\",\r\n            admin_profit_mode_on_store: null,\r\n            admin_profit_value_on_store: null,\r\n            store_delivery_name: \"\",\r\n            image_url: \"\",\r\n\r\n            famous_for: \"\",\r\n            comments: \"\",\r\n            store_open_time: \"\",\r\n            store_close_time: \"\",\r\n            store_time: [],\r\n\r\n\r\n\r\n            referral_code: \"\",\r\n            wallet: null,\r\n            referred_by: \"\",\r\n            wallet_currency_code: \"\",\r\n            app_version: \"\",\r\n\r\n            total_referrals: null,\r\n            referred_store_name: \"\",\r\n\r\n\r\n            is_business: false,\r\n            free_delivery_for_above_order_price: null,\r\n            delivery_time: null,\r\n            item_tax: null,\r\n            is_store_pay_delivery_fees: false,\r\n\r\n            is_approved: false,\r\n            is_email_verified: false,\r\n            is_phone_number_verified: false,\r\n            //is_document_uploaded: false\r\n        }\r\n        this.order_detail = {\r\n            total_orders: 0,\r\n            accepted_orders: 0,\r\n            completed_orders: 0,\r\n            cancelled_orders: 0,\r\n            completed_order_percentage: 0\r\n        }\r\n        this.store_id = this.helper.router_id.admin.store_id;\r\n        var store = JSON.parse(localStorage.getItem('store'));\r\n\r\n\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#admin_profit_mode').on('change', (evnt, res_data) => {\r\n\r\n            this.store_edit.admin_profit_mode_on_store = res_data.selected\r\n\r\n\r\n        });\r\n\r\n        this.helper.http.post('/admin/get_store_data', {store_id: this.store_id}).map((response: Response) => response.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n            }\r\n            else {\r\n                this.order_detail = res_data.order_detail;\r\n\r\n                let chart31 = c3.generate({\r\n                    bindto: '#c1',\r\n                    data: {\r\n\r\n                        columns: [\r\n                            [this.title.completed_order, this.order_detail.completed_order_percentage]\r\n                        ],\r\n                        type: 'gauge',\r\n                    },\r\n                    legend: {\r\n                        show: true\r\n                    },\r\n                    gauge: {\r\n                        label: {\r\n                            show: false // to turn off the min/max labels.\r\n                        },\r\n                        width: 30 // for adjusting arc thickness\r\n                    },\r\n                    color: {\r\n                        pattern: ['#1e1e1e'], // the three color levels for the percentage values.\r\n\r\n                    }\r\n                });\r\n                this.store_detail = res_data.store_detail;\r\n                this.store_edit.name = res_data.store_detail.name;\r\n                this.store_edit.email = res_data.store_detail.email;\r\n                \r\n                this.store_edit._id = res_data.store_detail._id;\r\n                this.store_edit.unique_id = res_data.store_detail.unique_id;\r\n                \r\n                \r\n                \r\n                \r\n\r\n                \r\n\r\n                this.store_edit.website_url = res_data.store_detail.website_url;\r\n                this.store_edit.slogan = res_data.store_detail.slogan;\r\n                this.store_edit.offer = res_data.store_detail.offer;\r\n                this.store_edit.comments = res_data.store_detail.comments;\r\n                this.store_edit.famous_for = res_data.store_detail.famous_for;\r\n\r\n                this.store_edit.store_time = res_data.store_detail.store_time;\r\n                this.store_edit.is_visible = res_data.store_detail.is_visible;\r\n\r\n                this.store_edit.country_name = res_data.store_detail.country_details.country_name;\r\n                this.store_edit.city_name = res_data.store_detail.city_details.city_name;\r\n                this.store_edit.address = res_data.store_detail.address;\r\n                this.store_edit.country_phone_code = res_data.store_detail.country_phone_code;\r\n                this.store_edit.phone = res_data.store_detail.phone;\r\n\r\n                this.store_edit.user_rate = res_data.store_detail.user_rate;\r\n                this.store_edit.device_type = res_data.store_detail.device_type;\r\n                this.store_edit.price_rating = res_data.store_detail.price_rating;\r\n                this.store_edit.is_document_uploaded = res_data.store_detail.is_document_uploaded;\r\n\r\n\r\n\r\n\r\n                //this.store_edit.zipcode = res_data.store_detail.zipcode;\r\n                this.admin_profit_mode_on_store_list = this.helper.ADMIN_PROFIT_ON_ORDERS;\r\n                this.store_edit.admin_profit_mode_on_store = res_data.store_detail.admin_profit_mode_on_store;\r\n                this.store_edit.admin_profit_value_on_store = res_data.store_detail.admin_profit_value_on_store;\r\n\r\n\r\n                this.store_edit.store_delivery_name = res_data.store_detail.delivery_details.delivery_name;\r\n\r\n\r\n                this.store_edit.image_url = res_data.store_detail.image_url;\r\n                this.minimum_phone_number_length = res_data.store_detail.country_details.minimum_phone_number_length;\r\n                this.maximum_phone_number_length = res_data.store_detail.country_details.maximum_phone_number_length;\r\n\r\n                this.phone_number_length = res_data.store_detail.country_details.phone_number_length;\r\n\r\n                this.store_edit.referral_code = res_data.store_detail.referral_code;\r\n                this.store_edit.wallet = res_data.store_detail.wallet;\r\n                this.store_edit.referred_by = res_data.store_detail.referred_by;\r\n                this.store_edit.wallet_currency_code = res_data.store_detail.wallet_currency_code;\r\n                this.store_edit.app_version = res_data.store_detail.app_version;\r\n\r\n\r\n\r\n                this.store_edit.total_referrals = res_data.store_detail.total_referrals;\r\n\r\n                if (res_data.store_detail.referred_store_details.length > 0) {\r\n                    this.store_edit.referred_store_name = res_data.store_detail.referred_store_details[0].name;\r\n                }\r\n\r\n                this.store_edit.is_business = res_data.store_detail.is_business;\r\n                this.store_edit.free_delivery_for_above_order_price = res_data.store_detail.free_delivery_for_above_order_price;\r\n                this.store_edit.delivery_time = res_data.store_detail.delivery_time;\r\n                this.store_edit.item_tax = res_data.store_detail.item_tax;\r\n                this.store_edit.is_store_pay_delivery_fees = res_data.store_detail.is_store_pay_delivery_fees;\r\n\r\n\r\n                this.store_edit.is_approved = res_data.store_detail.is_approved;\r\n                this.store_edit.is_email_verified = res_data.store_detail.is_email_verified;\r\n\r\n                this.store_edit.is_phone_number_verified = res_data.store_detail.is_phone_number_verified;\r\n\r\n                this.change_day(0);\r\n\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.edit = false;\r\n        jQuery(window).resize(function () {\r\n            if (jQuery(window).width() < 454) {\r\n                jQuery('.box').removeClass('col-xs-1');\r\n                jQuery('.total').removeClass('col-xs-5');\r\n                jQuery('.box').addClass('col-xs-2');\r\n                jQuery('.total').addClass('col-xs-10');\r\n                jQuery('.box1').css('padding', '')\r\n                jQuery('.total1').css('padding', '')\r\n            } else {\r\n                jQuery('.box').removeClass('col-xs-2');\r\n                jQuery('.total').removeClass('col-xs-10');\r\n                jQuery('.box').addClass('col-xs-1');\r\n                jQuery('.total').addClass('col-xs-5');\r\n                jQuery('.box1').css('padding', 0)\r\n                jQuery('.total1').css('padding', 0)\r\n            }\r\n        });\r\n        setTimeout(function () {\r\n            if (jQuery(window).width() < 454) {\r\n                jQuery('.box').removeClass('col-xs-1');\r\n                jQuery('.total').removeClass('col-xs-5');\r\n                jQuery('.box').addClass('col-xs-2');\r\n                jQuery('.total').addClass('col-xs-10');\r\n                jQuery('.box1').css('padding', '')\r\n                jQuery('.total1').css('padding', '')\r\n            } else {\r\n                jQuery('.box').removeClass('col-xs-2');\r\n                jQuery('.total').removeClass('col-xs-10');\r\n                jQuery('.box').addClass('col-xs-1');\r\n                jQuery('.total').addClass('col-xs-5');\r\n                jQuery('.box1').css('padding', 0)\r\n                jQuery('.total1').css('padding', 0)\r\n            }\r\n        }, 500);\r\n    }\r\n\r\n\r\n\r\n    change_day(selected_day) {\r\n        this.curren_selected_day = selected_day;\r\n        let index = this.store_edit.store_time.findIndex((x) => x.day == selected_day)\r\n\r\n        this.is_store_open_full_time = this.store_edit.store_time[index].is_store_open_full_time;\r\n        this.is_store_open = this.store_edit.store_time[index].is_store_open;\r\n        this.selected_store_time_array = this.store_edit.store_time[index].day_time;\r\n        this.store_time_millisecond_array = [];\r\n        this.selected_store_time_array.forEach((time) => {\r\n\r\n            var open_date = new Date(Date.now())\r\n            var open_time = time.store_open_time;\r\n            open_time = open_time.split(':')\r\n            open_date.setHours(open_time[0], open_time[1], 0, 0);\r\n\r\n            var close_date = new Date(Date.now());\r\n            var close_time = time.store_close_time;\r\n            close_time = close_time.split(':');\r\n            close_date.setHours(close_time[0], close_time[1], 0, 0);\r\n\r\n            this.store_time_millisecond_array.push({store_open_time: open_date.getTime(), store_close_time: close_date.getTime()});\r\n        });\r\n    }\r\n\r\n\r\n\r\n\r\n\r\n    public formData = new FormData();\r\n\r\n    change_image($event) {\r\n\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const image_url = files[0];\r\n\r\n        if (image_url.type == \"image/jpeg\" || image_url.type == \"image/jpg\" || image_url.type == \"image/png\") {\r\n            this.formData = new FormData();\r\n            this.formData.append('image_url', image_url);\r\n\r\n            var reader = new FileReader();\r\n\r\n            reader.onload = (e: any) => {\r\n                this.store_edit.image_url = e.target.result\r\n            }\r\n            reader.readAsDataURL(image_url);\r\n        }\r\n    }\r\n\r\n\r\n\r\n    UpdateStore(store_data) {\r\n        this.myLoading = true;\r\n        this.formData.append('store_id', store_data.store_id);\r\n\r\n        this.formData.append('phone', store_data.phone);\r\n        this.formData.append('email', store_data.email);\r\n        this.formData.append('name', store_data.name);\r\n        this.formData.append('address', store_data.address);\r\n\r\n        this.formData.append('website_url', store_data.website_url);\r\n        this.formData.append('famous_for', store_data.famous_for);\r\n        this.formData.append('offer', store_data.offer);\r\n        this.formData.append('slogan', store_data.slogan);\r\n        this.formData.append('is_visible', store_data.is_visible);\r\n\r\n        this.formData.append('comments', store_data.comments);\r\n        //this.formData.append('zipcode', store_data.zipcode);\r\n\r\n        this.formData.append('is_approved', store_data.is_approved);\r\n        this.formData.append('is_email_verified', store_data.is_email_verified);\r\n        this.formData.append('is_phone_number_verified', store_data.is_phone_number_verified);\r\n\r\n        this.formData.append('admin_profit_mode_on_store', store_data.admin_profit_mode_on_store);\r\n        this.formData.append('admin_profit_value_on_store', store_data.admin_profit_value_on_store);\r\n\r\n\r\n\r\n\r\n\r\n        this.helper.http.post('/admin/update_store', this.formData).map((response: Response) => response.json()).subscribe(res_data => {\r\n\r\n            this.myLoading = false;\r\n\r\n            jQuery('#remove').click();\r\n            if (res_data.success == false) {\r\n\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message();\r\n                this.formData = new FormData();\r\n                this.store_edit.name = this.store_detail.name;\r\n\r\n                this.store_edit.website_url = this.store_detail.website_url;\r\n                this.store_edit.famous_for = this.store_detail.famous_for;\r\n                this.store_edit.slogan = this.store_detail.slogan;\r\n                this.store_edit.offer = this.store_detail.offer;\r\n\r\n                this.store_edit.comments = this.store_detail.comments;\r\n\r\n                this.store_edit.address = this.store_detail.address;\r\n                this.store_edit.phone = this.store_detail.phone;\r\n                this.store_edit.email = this.store_detail.email;\r\n                this.store_edit.is_visible = this.store_detail.is_visible;\r\n\r\n                this.store_edit.admin_profit_mode_on_store = this.store_detail.admin_profit_mode_on_store;\r\n                this.store_edit.admin_profit_value_on_store = this.store_detail.admin_profit_value_on_store;\r\n\r\n\r\n                //this.store_edit.zipcode = this.store_detail.zipcode;\r\n\r\n\r\n\r\n                this.store_edit.is_approved = this.store_detail.is_approved;\r\n                this.store_edit.is_email_verified = this.store_detail.is_email_verified;\r\n                this.store_edit.is_phone_number_verified = this.store_detail.is_phone_number_verified;\r\n\r\n\r\n\r\n                this.store_edit.image_url = this.store_detail.image_url;\r\n\r\n\r\n            }\r\n            else {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                localStorage.setItem('store', JSON.stringify(res_data.store));\r\n                this.helper.router.navigate(['admin/stores']);\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/edit_store/edit_store.component.ts","import {Component, OnInit, ViewContainerRef} from '@angular/core';\r\nimport {Response} from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport {Helper} from \"../../helper\";\r\ndeclare var jQuery: any;\r\n\r\nexport interface UserEdit {\r\n\r\n    user_id: Object,\r\n    first_name: String,\r\n    last_name: String,\r\n    email: String,\r\n    //zipcode: String,\r\n    //old_password: String,\r\n    //new_password: String,\r\n    country_name: String,\r\n    city_name: String,\r\n    city: String,\r\n    address: String,\r\n    country_phone_code: String,\r\n    phone: Number,\r\n    image_url: String,\r\n    \r\n     _id: Object,\r\n    unique_id:Number,\r\n\r\n    provider_rate: Number,\r\n    device_type: String,\r\n    is_use_wallet: Boolean,\r\n    is_document_uploaded: Boolean,\r\n\r\n    referral_code: String,\r\n    wallet: Number,\r\n    referred_by: Object,\r\n    total_referrals: Number,\r\n    referred_user_first_name: String,\r\n    referred_user_last_name: String,\r\n    wallet_currency_code: String,\r\n    app_version: String,\r\n    comments: String,\r\n\r\n    is_approved: Boolean,\r\n    is_email_verified: Boolean,\r\n    is_phone_number_verified: Boolean,\r\n    //is_document_uploaded: Boolean,\r\n    is_user_type_approved: Boolean\r\n\r\n\r\n\r\n\r\n}\r\n\r\n@Component({\r\n    selector: 'app-edit_user',\r\n    template: require('./edit_user.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class EditUserComponent implements OnInit {\r\n\r\n    private user_edit: UserEdit;\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    //phone_number_length: number;\r\n    minimum_phone_number_length: number;\r\n    maximum_phone_number_length: number;\r\n    user: any;\r\n    user_id: Object;\r\n    edit: Boolean;\r\n    myLoading: boolean = true;\r\n    //user_page_type: number;\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.user_edit = {\r\n            user_id: \"\",\r\n            first_name: \"\",\r\n            last_name: \"\",\r\n            email: \"\",\r\n            \r\n             _id: \"\",\r\n            unique_id: null,\r\n            \r\n            //zipcode: \"\",\r\n            country_name: \"\",\r\n            city_name: \"\",\r\n            city: \"\",\r\n            address: \"\",\r\n            country_phone_code: \"\",\r\n            total_referrals: null,\r\n            referred_user_first_name: \"\",\r\n            referred_user_last_name: \"\",\r\n            phone: null,\r\n            image_url: \"\",\r\n            referral_code: \"\",\r\n            wallet: null,\r\n            referred_by: \"\",\r\n            wallet_currency_code: \"\",\r\n            app_version: \"\",\r\n            comments: \"\",\r\n            is_approved: false,\r\n            is_email_verified: false,\r\n            is_phone_number_verified: false,\r\n\r\n            provider_rate: null,\r\n            device_type: \"\",\r\n            is_use_wallet: false,\r\n            is_document_uploaded: false,\r\n\r\n            //is_document_uploaded: false,\r\n            is_user_type_approved: false\r\n\r\n        }\r\n        this.user_id = this.helper.router_id.admin.user_id;\r\n        var user = JSON.parse(localStorage.getItem('user'));\r\n        \r\n//        console.log(this.helper.route.snapshot.url[1]);\r\n//        if (this.helper.route.snapshot.url[1].path == 'users') {\r\n//            this.user_page_type = 1;\r\n//        }\r\n//        else if (this.helper.route.snapshot.url[1].path == 'declined_user') {\r\n//            this.user_page_type = 2;\r\n//        }\r\n\r\n\r\n\r\n        this.helper.http.post('/admin/get_user_detail', {user_id: this.user_id}).map((response: Response) => response.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n            }\r\n            else {\r\n                this.user_edit.first_name = res_data.user.first_name;\r\n                this.user_edit.last_name = res_data.user.last_name;\r\n                this.user_edit.email = res_data.user.email;\r\n                \r\n                this.user_edit._id = res_data.user._id;\r\n                this.user_edit.unique_id = res_data.user.unique_id;\r\n                \r\n                //this.user_edit.zipcode = res_data.user.zipcode;\r\n                this.minimum_phone_number_length = res_data.user.country_details.minimum_phone_number_length;\r\n                this.maximum_phone_number_length = res_data.user.country_details.maximum_phone_number_length;\r\n\r\n                this.user_edit.country_name = res_data.user.country_details.country_name;\r\n                //this.user_edit.city_name = res_data.user.city_details.city_name;\r\n                this.user_edit.address = res_data.user.address;\r\n                this.user_edit.city = res_data.user.city;\r\n                this.user_edit.country_phone_code = res_data.user.country_phone_code;\r\n                this.user_edit.phone = res_data.user.phone;\r\n                this.user_edit.image_url = res_data.user.image_url;\r\n                \r\n                this.user_edit.provider_rate = res_data.user.provider_rate;\r\n                this.user_edit.device_type = res_data.user.device_type;\r\n                this.user_edit.is_use_wallet = res_data.user.is_use_wallet;\r\n                this.user_edit.is_document_uploaded = res_data.user.is_document_uploaded;\r\n                \r\n\r\n\r\n                this.user_edit.referral_code = res_data.user.referral_code;\r\n                this.user_edit.wallet = res_data.user.wallet;\r\n\r\n                this.user_edit.total_referrals = res_data.user.total_referrals;\r\n\r\n                if (res_data.user.referred_user_details.length > 0) {\r\n                    this.user_edit.referred_user_first_name = res_data.user.referred_user_details[0].first_name;\r\n                    this.user_edit.referred_user_first_name = res_data.user.referred_user_details[0].last_name;\r\n                }\r\n\r\n\r\n\r\n\r\n                this.user_edit.referred_by = res_data.user.referred_by;\r\n                this.user_edit.wallet_currency_code = res_data.user.wallet_currency_code;\r\n                this.user_edit.app_version = res_data.user.app_version;\r\n                this.user_edit.comments = res_data.user.comments;\r\n                this.user_edit.is_approved = res_data.user.is_approved;\r\n                this.user_edit.is_email_verified = res_data.user.is_email_verified;\r\n\r\n                this.user_edit.is_phone_number_verified = res_data.user.is_phone_number_verified;\r\n                //this.user_edit.is_document_uploaded = res_data.user.is_document_uploaded;\r\n                this.user_edit.is_user_type_approved = res_data.user.is_user_type_approved;\r\n\r\n\r\n\r\n\r\n            }\r\n\r\n\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.edit = false;\r\n    }\r\n    public formData = new FormData();\r\n    change_image($event) {\r\n\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const image_url = files[0];\r\n\r\n        if (image_url.type == \"image/jpeg\" || image_url.type == \"image/jpg\" || image_url.type == \"image/png\") {\r\n            this.formData = new FormData();\r\n            this.formData.append('image_url', image_url);\r\n\r\n            var reader = new FileReader();\r\n\r\n            reader.onload = (e: any) => {\r\n                this.user_edit.image_url = e.target.result\r\n            }\r\n            reader.readAsDataURL(image_url);\r\n        }\r\n    }\r\n    //    change_image($event) {\r\n    //        this.formData = new FormData();\r\n    //        const files = $event.target.files || $event.srcElement.files;\r\n    //        const image_url = files[0];\r\n    //        this.formData.append('image_url', image_url);\r\n    //\r\n    //        var reader = new FileReader();\r\n    //\r\n    //        reader.onload = (e: any) => {\r\n    //            this.user_edit.image_url = e.target.result\r\n    //        }\r\n    //        reader.readAsDataURL(image_url);\r\n    //    }\r\n    UpdateUser(user_data) {\r\n        \r\n        this.formData.append('user_id', user_data.user_id);\r\n\r\n        this.formData.append('phone', user_data.phone);\r\n        this.formData.append('email', user_data.email);\r\n        this.formData.append('first_name', user_data.first_name);\r\n        this.formData.append('last_name', user_data.last_name);\r\n        this.formData.append('address', user_data.address);\r\n        //this.formData.append('zipcode', user_data.zipcode);\r\n\r\n\r\n        // this.formData.append('referral_code', user_data.referral_code);\r\n        //this.formData.append('wallet', user_data.wallet);\r\n        //this.formData.append('referred_by', user_data.referred_by);\r\n        //this.formData.append('wallet_currency_code', user_data.wallet_currency_code);\r\n        // this.formData.append('app_version', user_data.app_version);\r\n        this.formData.append('comments', user_data.comments);\r\n        this.formData.append('is_approved', user_data.is_approved);\r\n        this.formData.append('is_email_verified', user_data.is_email_verified);\r\n        this.formData.append('is_phone_number_verified', user_data.is_phone_number_verified);\r\n        //this.formData.append('is_document_uploaded', user_data.is_document_uploaded);\r\n        this.formData.append('is_user_type_approved', user_data.is_user_type_approved);\r\n\r\n\r\n        this.helper.http.post('/admin/update_user', this.formData).map((response: Response) => response.json()).subscribe(res_data => {\r\n\r\n            this.myLoading = false;\r\n            jQuery('#remove').click();\r\n            if (res_data.success == false) {\r\n\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message();\r\n                this.formData = new FormData();\r\n                this.user_edit.first_name = this.user.first_name;\r\n                this.user_edit.last_name = this.user.last_name;\r\n                //this.user_edit.zipcode = this.user.zipcode;\r\n                this.user_edit.address = this.user.address;\r\n                this.user_edit.phone = this.user.phone;\r\n                this.user_edit.email = this.user.email;\r\n                this.user_edit.image_url = this.user.image_url;\r\n\r\n                // this.user_edit.referral_code = this.user.referral_code;\r\n                // this.user_edit.wallet = this.user.wallet;\r\n                // this.user_edit.referred_by = this.user.referred_by;\r\n                // this.user_edit.wallet_currency_code = this.user.wallet_currency_code;\r\n                // this.user_edit.app_version = this.user.app_version;\r\n                this.user_edit.comments = this.user.comments;\r\n                this.user_edit.is_approved = this.user.is_approved;\r\n                this.user_edit.is_email_verified = this.user.is_email_verified;\r\n                this.user_edit.is_phone_number_verified = this.user.is_phone_number_verified;\r\n                //this.user_edit.is_document_uploaded = this.user.is_document_uploaded;\r\n                this.user_edit.is_user_type_approved = this.user.is_user_type_approved;\r\n\r\n\r\n\r\n\r\n\r\n            }\r\n            else {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                localStorage.setItem('user', JSON.stringify(res_data.user));\r\n                \r\n                this.helper.router.navigate(['admin/users']);\r\n                \r\n//                 if (user_page_type == 1) {\r\n//                    this.helper.data.storage = {\r\n//                        \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n//                        \"class\": \"alert-info\"\r\n//                    }\r\n//                    this.helper.router.navigate(['admin/users']);\r\n//                }\r\n//                else if (user_page_type == 2) {\r\n//                    this.helper.data.storage = {\r\n//                        \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n//                        \"class\": \"alert-info\"\r\n//                    }\r\n//\r\n//                    this.helper.router.navigate(['admin/declined_user']);\r\n//                }\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/edit_user/edit_user.component.ts","import {Component, OnInit, ViewContainerRef} from '@angular/core';\r\nimport {Response} from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport {Helper} from \"../../helper\";\r\ndeclare var jQuery: any;\r\n\r\nexport interface UpdateEmail {\r\n    email_unique_title: String,\r\n    email_title: String,\r\n    email_content: String,\r\n    email_admin_info: String,\r\n    is_send: Boolean\r\n}\r\n\r\nexport interface EmailConfiguration {\r\n    email: String,\r\n    password: String\r\n}\r\n\r\n@Component({\r\n    selector: 'app-email',\r\n    template: require('./email.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class EmailComponent implements OnInit {\r\n\r\n    private update_email: UpdateEmail;\r\n    private email_configuration: EmailConfiguration;\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    email_id: Object;\r\n    email_list: any[];\r\n    error: any;\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n        //jQuery(\"#email_content\").summernote();\r\n        jQuery(\"#email\").chosen();\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n            jQuery('input').iCheck({\r\n                handle: 'checkbox',\r\n                checkboxClass: 'icheckbox_square-green',\r\n            });\r\n        }, 1000);\r\n    }\r\n    ngOnDestroy() {\r\n        this.helper.router_id.admin.email_id = \"\";\r\n    }\r\n\r\n    ngOnInit() {\r\n\r\n        this.email_configuration = {\r\n            email: \"\",\r\n            password: \"\"\r\n        }\r\n\r\n        this.update_email = {\r\n\r\n            email_unique_title: \"\",\r\n            email_title: \"\",\r\n            email_content: \"\",\r\n            email_admin_info: \"\",\r\n            is_send: true\r\n\r\n        }\r\n\r\n        this.helper.http.post('/api/admin/get_setting_detail_for_mail_config', {}).map((res: Response) => res.json()).subscribe(res_data => {\r\n            \r\n            this.email_configuration.email = res_data.setting.email,\r\n            this.email_configuration.password = res_data.setting.password\r\n\r\n        });\r\n\r\n        this.email_id = this.helper.router_id.admin.email_id\r\n        this.helper.http.get('/admin/email_list').map((res: Response) => res.json()).subscribe(res => {\r\n            this.email_list = res.email_details\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#email').on('change', (evnt, res_data) => {\r\n\r\n            this.update_email.email_unique_title = res_data.selected;\r\n            this.email_id = res_data.selected;\r\n            this.helper.http.post('/admin/get_email_detail', {email_id: res_data.selected}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n                if (res_data.success == false) {\r\n\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message();\r\n\r\n                    this.helper.router.navigate(['admin/email']);\r\n\r\n                }\r\n                else {\r\n\r\n\r\n                    this.update_email.email_title = res_data.email_detail.email_title;\r\n                    this.update_email.email_unique_title = res_data.email_detail.email_unique_title;\r\n\r\n                    this.update_email.email_admin_info = res_data.email_detail.email_admin_info;\r\n                    this.update_email.email_content = res_data.email_detail.email_content;\r\n                    this.update_email.is_send = res_data.email_detail.is_send;\r\n\r\n                }\r\n            });\r\n\r\n        });\r\n\r\n\r\n\r\n\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n    }\r\n\r\n\r\n    EmailConfiguration(emailconfigurationdata) {\r\n        this.helper.http.post('/admin/update_email_configuration', emailconfigurationdata).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            if (res_data.success == true) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.helper.message();\r\n                this.helper.router.navigate(['admin/email']);\r\n            }\r\n            else {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message();\r\n                this.helper.router.navigate(['admin/email']);\r\n            }\r\n\r\n        });\r\n    }\r\n\r\n    UpdateEmail(email_data) {\r\n        this.helper.http.post('/admin/update_email', email_data).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            if (res_data.success == true) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.helper.message();\r\n                this.helper.router.navigate(['admin/email']);\r\n            }\r\n            else {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message();\r\n\r\n                this.helper.router.navigate(['admin/email']);\r\n\r\n            }\r\n        });\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/email/email.component.ts","import {Component, OnInit, ViewChild, ViewContainerRef} from '@angular/core';\r\nimport {Helper} from \"../../helper\";\r\nimport {Http, Response} from '@angular/http';\r\ndeclare var jQuery: any;\r\nimport {ModalComponent} from 'ng2-bs3-modal/ng2-bs3-modal';\r\n@Component({\r\n    selector: 'app-franchises',\r\n    template: require('./franchises.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class FranchisesComponent implements OnInit {\r\n\r\n    @ViewChild('myModal')\r\n    modal: ModalComponent;\r\n    @ViewChild('mysmsModal')\r\n    sms_modal: ModalComponent;\r\n    @ViewChild('mynotificationModal')\r\n    notification_modal: ModalComponent;\r\n\r\n    franchises_list: any;\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n\r\n    sort_field: string;\r\n    sort_franchises: number;\r\n    search_field: string;\r\n    search_value: string;\r\n    page: number;\r\n\r\n    total_page: number;\r\n    total_pages: number[];\r\n\r\n    store_page_type: number;\r\n    franchises_id: Object;\r\n    type: number;\r\n    wallet: number;\r\n    content: string;\r\n    public message: string = \"\";\r\n    public class: string;\r\n    myLoading: boolean = true;\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n    ngAfterViewInit() {\r\n\r\n        jQuery(\".chosen-select\").chosen({disable_search: true});\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.helper.message()\r\n        this.sort_field = \"unique_id\";\r\n        this.sort_franchises = -1;\r\n        this.search_field = \"name\";\r\n        this.search_value = \"\";\r\n        this.page = 1;\r\n        if (this.helper.route.snapshot.url[1].path == 'franchises') {\r\n            this.store_page_type = 1;\r\n        }\r\n        else if (this.helper.route.snapshot.url[1].path == 'declined_franchises') {\r\n            this.store_page_type = 2;\r\n        }\r\n        else if (this.helper.route.snapshot.url[1].path == 'business_off_franchises') {\r\n            this.store_page_type = 3;\r\n        }\r\n        this.franchises_id = \"\";\r\n        this.filter(this.page);\r\n\r\n        this.type = 2;\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.franchises_list = [];\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_field').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_field = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_store').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_franchises = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#search_field').on('change', (evnt, res_data) => {\r\n\r\n            this.search_field = res_data.selected;\r\n\r\n        });\r\n    }\r\n    filter(page) {\r\n        this.page = page;\r\n        this.helper.http.post('/admin/franchise_list_search_sort', {\r\n            sort_field: this.sort_field, sort_franchises: this.sort_franchises, store_page_type: this.store_page_type,\r\n            search_field: this.search_field, search_value: this.search_value, page: this.page\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n\r\n                this.franchises_list = [];\r\n                this.total_pages = [];\r\n            }\r\n            else {\r\n\r\n                this.franchises_list = res_data.franchises;\r\n                this.total_page = res_data.pages;\r\n                this.total_pages = Array(res_data.pages).fill((x, i) => i).map((x, i) => i + 1)\r\n\r\n\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n    open_modal(type, id) {\r\n\r\n        this.franchises_id = id;\r\n        this.type = type;\r\n        this.modal.open();\r\n        this.wallet = null;\r\n    }\r\n   \r\n    open_sms_modal(type, id) {\r\n\r\n        this.franchises_id = id;\r\n        this.type = type;\r\n        this.sms_modal.open();\r\n        this.content = \"\";\r\n    }\r\n    SendSms(sms_data) {\r\n        this.helper.http.post('/admin/send_sms', sms_data).map((res: Response) => res.json()).subscribe(res_data => {\r\n            if (res_data.success == true) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.sms_modal.close();\r\n                this.helper.message();\r\n            }\r\n            else {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message();\r\n            }\r\n\r\n        });\r\n    }\r\n\r\n    approved_decline(store_page_type, franchises_id) {\r\n        this.helper.http.post('/admin/approve_decline_franchises', {\r\n            franchises_id: franchises_id,\r\n            store_page_type: store_page_type\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            if (res_data.success == false) {\r\n\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n\r\n            }\r\n            else {\r\n\r\n\r\n                if (store_page_type == 1) {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n\r\n\r\n                    this.helper.router.navigate(['admin/declined_franchises']);\r\n                }\r\n                else if (store_page_type == 2) {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n\r\n\r\n                    this.helper.router.navigate(['admin/franchises']);\r\n                }\r\n                else if (store_page_type == 3) {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n\r\n\r\n                    this.helper.router.navigate(['admin/declined_franchises']);\r\n                }\r\n\r\n            }\r\n        });\r\n    }\r\n\r\n    \r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/franchises/franchises.component.ts","import {Component, OnInit, ViewContainerRef, ViewChild} from '@angular/core';\r\nimport {Response} from '@angular/http';\r\nimport {Helper} from \"../../helper\";\r\ndeclare var jQuery: any;\r\nimport { ModalComponent } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport * as jsPDF from 'jspdf';\r\n\r\n@Component({\r\n    selector: 'app-analytics',\r\n    template: require('./general_analytics.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class GeneralAnalyticsComponent implements OnInit {\r\n\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    lable_title: any;\r\n    DATE_FORMAT: any;\r\n    sort_field: string;\r\n    sort_order: number;\r\n    search_field: string;\r\n    platforms: string;\r\n    city_list: any[]=[];\r\n    city_id: string;\r\n    date_filter: string;\r\n    search_value: string;\r\n    start_date: string;\r\n    end_date: string;\r\n    myLoading: boolean = true;\r\n    hopper_analytics_total: any = {\r\n        average_hopper_earning_per_delivery_time_hour: 0,\r\n        average_order_per_day: 0,\r\n        average_order_per_day_per_hopper: 0,\r\n        average_hopper_earning_per_order: 0,\r\n\t\taverage_hopper_wait_time: 0,\r\n\t\taverage_hopper_arrived_at_store_time: 0,\r\n        average_hopper_earning_per_delivery_fee: 0,\r\n        average_hopper_earning_comission: 0,\r\n    }\r\n\r\n    general_analytics_total:any = {\r\n        total_user: 0,\r\n        total_user_never_order: 0,\r\n        total_user_never_order_after_one_month_reg: 0,\r\n    }\r\n\r\n    usual_analytics_total: any = {\r\n        total_order: 0,\r\n        total_new_user_order: 0,\r\n        total_old_user_order: 0,\r\n        average_time_for_delivery: 0,\r\n        average_distance_for_delivery: 0,\r\n        average_amount_spend_user: 0,\r\n        average_price: 0,\r\n        total_delivery_time_under_15: 0,\r\n        total_delivery_time_under_30: 0,\r\n        total_delivery_time_under_45: 0,\r\n        total_delivery_time_under_60: 0,\r\n        total_delivery_time_over_60: 0,\r\n\t\taverage_time_for_preparation: 0,\r\n\t\ttotal_preparation_time_under_15: 0,\r\n\t\ttotal_preparation_time_under_30: 0,\r\n\t\ttotal_preparation_time_under_45: 0,\r\n\t\ttotal_preparation_time_under_60: 0,\r\n\t\ttotal_preparation_time_over_60: 0,\r\n        total_distance_under_1: 0,\r\n        total_distance_under_2: 0,\r\n        total_distance_under_3: 0,\r\n        total_distance_under_4: 0,\r\n        total_distance_under_5: 0,\r\n        total_distance_under_6: 0,\r\n        total_distance_under_7: 0,\r\n        total_distance_under_8: 0,\r\n        total_distance_under_9: 0,\r\n        total_distance_under_10: 0,\r\n        total_distance_over_10: 0,\r\n        morning_order: 0,\r\n        noon_order: 0,\r\n        after_noon_order: 0,\r\n        night_order: 0,\r\n        average_days_reorder: 0,\r\n        total_user: 0,\r\n        total_reorder_user: 0,\r\n        never_reorder_user: 0,\r\n\t\ttotal_advance_delivered_order: 0,\r\n\t\ttotal_advance_delivered_on_time: 0,\r\n\t\ttotal_advance_delivered_very_late: 0,\r\n\t\ttotal_advance_delivered_late: 0\r\n    }\r\n\r\n    constructor(private helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n    ngAfterViewInit() {\r\n\r\n        jQuery(\".chosen-select\").chosen({disable_search: true});\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.sort_field = \"store_name\";\r\n        this.sort_order = -1;\r\n        this.search_field = 'store_name';\r\n        this.platforms = '1';\r\n        this.city_id = '';\r\n        this.date_filter = 'today';\r\n        this.search_value = \"\";\r\n        this.start_date = '';\r\n        this.end_date = '';\r\n\r\n\r\n        this.helper.message()\r\n\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.lable_title = this.helper.lable_title\r\n        this.DATE_FORMAT = this.helper.DATE_FORMAT\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_field').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_field = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_order').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_order = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#search_field').on('change', (evnt, res_data) => {\r\n\r\n            this.search_field = res_data.selected;\r\n\r\n        });\r\n\t\tjQuery(this.helper.elementRef.nativeElement).find('#platforms').on('change', (evnt, res_data) => {\r\n\r\n            this.platforms = res_data.selected;\r\n\r\n        });\t\r\n        jQuery(this.helper.elementRef.nativeElement).find('#city_id').on('change', (evnt, res_data) => {\r\n\r\n            this.city_id = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#date_filter').on('change', (evnt, res_data) => {\r\n\r\n            this.date_filter = res_data.selected;\r\n\r\n        });\r\n\r\n        this.helper.http.post('/admin/city_list_search_sort', {}).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n\r\n            if (res_data.success == false) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n\r\n                this.city_list = [];\r\n            }\r\n            else {\r\n                var city_array = res_data.countries.map((city_data) => {\r\n                    // city_data.cities.forEach((city_detail)=>{\r\n                        return city_data.cities;\r\n                    // })\r\n                })\r\n                city_array = city_array.flat()\r\n                //[].concat(...arr);\r\n                this.city_list = city_array;\r\n            }\r\n\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        })\r\n\r\n        this.get_analytics_detail();\r\n    }\r\n\r\n    get_analytics_detail() {\r\n        this.myLoading = true;\r\n        this.helper.http.post('/admin/get_general_analytics_detail', {\r\n            start_date: this.start_date, \r\n            end_date: this.end_date,\r\n            sort_field: this.sort_field,\r\n            sort_order: this.sort_order,\r\n            search_value: this.search_value,\r\n            search_field: this.search_field,\r\n\t\t\tplatforms: this.platforms,\r\n            city_id: this.city_id,\r\n            date_filter: this.date_filter\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            \r\n            if(res_data.user_list && res_data.user_list.length>0){\r\n                this.general_analytics_total = res_data.user_list[0];\r\n            } else {\r\n                this.general_analytics_total = {\r\n                    total_user: 0,\r\n                    total_user_never_order: 0,\r\n                    total_user_never_order_after_one_month_reg: 0,\r\n                }\r\n            }\r\n\r\n            if(res_data.success == false) {\r\n                this.hopper_analytics_total = {\r\n                    average_hopper_earning_per_delivery_time_hour: 0,\r\n                    average_order_per_day: 0,\r\n                    average_order_per_day_per_hopper: 0,\r\n                    average_hopper_earning_per_order: 0,\r\n\t\t\t\t\taverage_hopper_wait_time: 0,\r\n\t\t\t\t\taverage_hopper_arrived_at_store_time: 0,\r\n                    average_hopper_earning_per_delivery_fee: 0,\r\n                    average_hopper_earning_comission: 0,\r\n                }\r\n                this.usual_analytics_total = {\r\n                    total_order: 0,\r\n                    total_new_user_order: 0,\r\n                    total_old_user_order: 0,\r\n                    average_time_for_delivery: 0,\r\n                    average_distance_for_delivery: 0,\r\n                    average_amount_spend_user: 0,\r\n                    average_price: 0,\r\n                    total_delivery_time_under_15: 0,\r\n                    total_delivery_time_under_30: 0,\r\n                    total_delivery_time_under_45: 0,\r\n                    total_delivery_time_under_60: 0,\r\n                    total_delivery_time_over_60: 0,\r\n\t\t\t\t\taverage_time_for_preparation: 0,\r\n\t\t\t\t\ttotal_preparation_time_under_15: 0,\r\n\t\t\t\t\ttotal_preparation_time_under_30: 0,\r\n\t\t\t\t\ttotal_preparation_time_under_45: 0,\r\n\t\t\t\t\ttotal_preparation_time_under_60: 0,\r\n\t\t\t\t\ttotal_preparation_time_over_60: 0,\r\n                    total_distance_under_1: 0,\r\n                    total_distance_under_2: 0,\r\n                    total_distance_under_3: 0,\r\n                    total_distance_under_4: 0,\r\n                    total_distance_under_5: 0,\r\n                    total_distance_under_6: 0,\r\n                    total_distance_under_7: 0,\r\n                    total_distance_under_8: 0,\r\n                    total_distance_under_9: 0,\r\n                    total_distance_under_10: 0,\r\n                    total_distance_over_10: 0,\r\n                    morning_order: 0,\r\n                    noon_order: 0,\r\n                    after_noon_order: 0,\r\n                    night_order: 0,\r\n                    average_days_reorder: 0,\r\n                    total_user: 0,\r\n                    total_reorder_user: 0,\r\n                    never_reorder_user: 0,\r\n\t\t\t\t\ttotal_advance_delivered_order: 0,\r\n\t\t\t\t\ttotal_advance_delivered_on_time: 0,\r\n\t\t\t\t\ttotal_advance_delivered_very_late: 0,\r\n\t\t\t\t\ttotal_advance_delivered_late: 0\r\n                }\r\n            } else {\r\n                this.hopper_analytics_total = res_data.hopper_analytics_total;\r\n                this.usual_analytics_total = res_data.usual_analytics_total;\r\n            }\r\n        },(error: any) => {\r\n            this.myLoading = false;\r\n            this.helper.http_status(error);\r\n        });\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/general_analytics/general_analytics.component.ts","import {Component, OnInit, ViewContainerRef} from '@angular/core';\r\nimport {Http, Response} from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport {Helper} from \"../../helper\";\r\n\r\nexport interface UpdateAppKeySetting {\r\n\r\n    android_user_app_gcm_key: String,\r\n    android_provider_app_gcm_key: String,\r\n    android_store_app_gcm_key: String,\r\n    android_user_app_google_key: String,\r\n    android_provider_app_google_key: String,\r\n    android_store_app_google_key: String,\r\n    ios_user_app_google_key: String,\r\n    ios_provider_app_google_key: String,\r\n    ios_store_app_google_key: String,\r\n    admin_panel_google_key: String,\r\n    store_panel_google_key: String,\r\n    branch_io_key: String\r\n\r\n}\r\n\r\n@Component({\r\n    selector: 'app-google_key_setting',\r\n    template: require('./google_key_setting.component.html')\r\n})\r\nexport class GoogleKeySettingComponent implements OnInit {\r\n\r\n    private update_app_key_setting: UpdateAppKeySetting;\r\n    title: any;\r\n    button: any;\r\n    type: String;\r\n    heading_title: any;\r\n    edit_button: Boolean;\r\n\r\n    myLoading: boolean = true;\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.helper.message()\r\n        this.update_app_key_setting = {\r\n            android_user_app_gcm_key: \"\",\r\n            android_provider_app_gcm_key: \"\",\r\n            android_store_app_gcm_key: \"\",\r\n            android_user_app_google_key: \"\",\r\n            android_provider_app_google_key: \"\",\r\n            android_store_app_google_key: \"\",\r\n            ios_user_app_google_key: \"\",\r\n            ios_provider_app_google_key: \"\",\r\n            ios_store_app_google_key: \"\",\r\n            admin_panel_google_key: \"\",\r\n            store_panel_google_key: \"\",\r\n            branch_io_key:\"\",\r\n        }\r\n\r\n        var admin_id = localStorage.getItem('admin_id');\r\n        if (admin_id != \"\" || admin_id != undefined) {\r\n            this.helper.http.post('/admin/get_detail', {admin_id: admin_id}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n                if (res_data.success == true) {\r\n                    if (res_data.admin.admin_type == 3) {\r\n                        this.edit_button = false;\r\n                    }\r\n                }\r\n            });\r\n        }\r\n        this.helper.http.post('/api/admin/get_app_keys', {}).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n             this.myLoading = false;\r\n            this.update_app_key_setting.android_user_app_gcm_key = res_data.app_keys.android_user_app_gcm_key,\r\n                this.update_app_key_setting.android_provider_app_gcm_key = res_data.app_keys.android_provider_app_gcm_key,\r\n                this.update_app_key_setting.android_store_app_gcm_key = res_data.app_keys.android_store_app_gcm_key,\r\n                this.update_app_key_setting.android_user_app_google_key = res_data.app_keys.android_user_app_google_key,\r\n                this.update_app_key_setting.android_provider_app_google_key = res_data.app_keys.android_provider_app_google_key,\r\n                this.update_app_key_setting.android_store_app_google_key = res_data.app_keys.android_store_app_google_key,\r\n                this.update_app_key_setting.ios_user_app_google_key = res_data.app_keys.ios_user_app_google_key,\r\n\r\n                this.update_app_key_setting.ios_provider_app_google_key = res_data.app_keys.ios_provider_app_google_key,\r\n                this.update_app_key_setting.ios_store_app_google_key = res_data.app_keys.ios_store_app_google_key,\r\n                this.update_app_key_setting.admin_panel_google_key = res_data.app_keys.admin_panel_google_key,\r\n                this.update_app_key_setting.store_panel_google_key = res_data.app_keys.store_panel_google_key\r\n                this.update_app_key_setting.branch_io_key = res_data.app_keys.branch_io_key\r\n               \r\n                 \r\n        });\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n    }\r\n    UpdateAppKeySetting(appkeydata) {\r\n        this.helper.http.post('/admin/update_google_key_setting', appkeydata).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            this.helper.data.storage = {\r\n                \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                \"class\": \"alert-info\"\r\n            }\r\n            this.helper.message();\r\n            this.helper.router.navigate(['setting/google_key_setting']);\r\n           \r\n\r\n        },\r\n        (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/google_key_setting/google_key_setting.component.ts","import {\r\n  Component,\r\n  OnInit,\r\n  NgZone,\r\n  ViewChild,\r\n  ViewContainerRef,\r\n} from \"@angular/core\";\r\nimport { Response } from \"@angular/http\";\r\nimport { Helper } from \"../../helper\";\r\nimport * as moment from \"moment-timezone\";\r\ndeclare var jQuery: any;\r\ndeclare var swal;\r\nimport { ModalComponent } from \"ng2-bs3-modal/ng2-bs3-modal\";\r\ndeclare var stripe;\r\n\r\nexport interface Bonus {\r\n  bonus_amount: number;\r\n  bonus_type: number;\r\n  bonus_payment_type: number;\r\n  bonus_reason: string;\r\n  user_type: number;\r\n  is_bonus_monthly: boolean;\r\n}\r\n\r\n@Component({\r\n  selector: \"app-history\",\r\n  template: require('./history.component.html'),\r\n  providers: [Helper],\r\n})\r\nexport class HistoryComponent implements OnInit {\r\n  @ViewChild(\"modal\")\r\n  modal: ModalComponent;\r\n  @ViewChild(\"order_detail_modal\")\r\n  order_detail_modal: ModalComponent;\r\n  @ViewChild(\"review_detail_modal\")\r\n  review_detail_modal: ModalComponent;\r\n  @ViewChild(\"editAddressModal\")\r\n  edit_address_modal: ModalComponent;\r\n  @ViewChild(\"refund_modal\")\r\n  refund_modal: ModalComponent;\r\n  @ViewChild(\"image_modal\")\r\n  image_modal: ModalComponent;\r\n  image: string = \"\";\r\n\r\n  bonus_info: Bonus = {\r\n    bonus_amount: null,\r\n    bonus_type: 2,\r\n    user_type: this.helper.ADMIN_DATA_ID.STORE,\r\n    bonus_payment_type: 1,\r\n    bonus_reason: \"\",\r\n    is_bonus_monthly: false,\r\n  };\r\n  is_show_address: boolean = false;\r\n  favourite_addresses: any[] = [];\r\n\r\n  floor: any;\r\n  entry_code: any;\r\n  note: any;\r\n  user_order_detail: any = {\r\n    completed_at: [],\r\n    total: 0,\r\n    total_delivery_time: 0,\r\n    total_order: 0,\r\n    total_store_order: 0,\r\n  };\r\n  title: any;\r\n  button: any;\r\n  ORDER_STATE: any;\r\n  heading_title: any;\r\n  status: any;\r\n  order_list: any[];\r\n  pickup_type: any = \"both\";\r\n  order_type: any = \"both\";\r\n  payment_status: any = \"all\";\r\n  created_by: any = \"both\";\r\n  order_status_id: string;\r\n  provider_list: any[] = [];\r\n  // search_field:string;\r\n  // search_value:string;\r\n  // start_date:string;\r\n  // end_date:string;\r\n  // page:number;\r\n  total_page: number;\r\n  total_pages: number[];\r\n  moment: any;\r\n  timezone: string = \"\";\r\n  order_id: Object = \"\";\r\n  rating: number = 1;\r\n  review: string = \"\";\r\n  type: number;\r\n  selected_order_index: number = 0;\r\n  order_detail: any = {\r\n    order_payment_detail: {},\r\n  };\r\n\r\n  total_item: number = 0;\r\n  order_total: number = 0;\r\n  product_item_total: number = 0;\r\n  product_item_total_array: number[] = [];\r\n  product_item_specification_total: number = 0;\r\n  product_item_specification_total_array: number[] = [];\r\n  product_specification_total_array: any[] = [];\r\n  hide_specification_group: any[] = [];\r\n  specifications: any[] = [];\r\n  item_note: string = \"\";\r\n  is_show_specification: boolean = false;\r\n  currency_sign: any = \"\";\r\n  myLoading: boolean = true;\r\n  review_detail: any = {};\r\n  user_detail: any;\r\n  user_id: string = null;\r\n  store_detail: any;\r\n  store_id: string = null;\r\n  provider_detail: any;\r\n  provider_id: string = null;\r\n  provider_first_name: string = \"\";\r\n  provider_last_name: string = \"\";\r\n  provider_unique_id: string = \"\";\r\n\r\n  constructor(\r\n    private helper: Helper,\r\n    public vcr: ViewContainerRef,\r\n    public ngZone: NgZone\r\n  ) {\r\n    helper.toastr.setRootViewContainerRef(vcr);\r\n  }\r\n  ngAfterViewInit() {\r\n    jQuery(\".chosen-select\").chosen({ disable_search: true });\r\n    setTimeout(function () {\r\n      jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n    }, 1000);\r\n  }\r\n  ngOnDestroy() {\r\n    this.helper.router_id.admin.user_detail = null;\r\n    this.helper.router_id.admin.store_detail = null;\r\n    this.helper.router_id.admin.provider_detail = null;\r\n  }\r\n  ngOnInit() {\r\n    this.user_detail = this.helper.router_id.admin.user_detail;\r\n    if (this.user_detail) {\r\n      this.user_id = this.user_detail._id;\r\n    }\r\n\r\n    this.provider_detail = this.helper.router_id.admin.provider_detail;\r\n    if (this.provider_detail) {\r\n      this.provider_id = this.provider_detail._id;\r\n    }\r\n\r\n    this.store_detail = this.helper.router_id.admin.store_detail;\r\n    if (this.store_detail) {\r\n      this.store_id = this.store_detail._id;\r\n    }\r\n    this.order_status_id = \"\";\r\n    // this.helper.router_id.history_filter.search_field=\"user_first_name\";\r\n    // this.helper.router_id.history_filter.search_value=\"\";\r\n    // this.helper.router_id.history_filter.start_date='';\r\n    // this.helper.router_id.history_filter.end_date='';\r\n    // this.helper.router_id.history_filter.page=1;\r\n    this.moment = moment;\r\n\r\n    this.helper.message();\r\n\r\n    this.title = this.helper.title;\r\n    this.button = this.helper.button;\r\n    this.heading_title = this.helper.heading_title;\r\n    this.ORDER_STATE = this.helper.ORDER_STATE;\r\n    this.status = this.helper.status;\r\n    this.order_list = [];\r\n\r\n    this.store_history(this.helper.router_id.history_filter.page);\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#order_status_id\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.order_status_id = res_data.selected;\r\n      });\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#search_field\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.helper.router_id.history_filter.search_field = res_data.selected;\r\n      });\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#pickup_type\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.pickup_type = res_data.selected;\r\n      });\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#created_by\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.created_by = res_data.selected;\r\n      });\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#order_type\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.order_type = res_data.selected;\r\n      });\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#payment_status\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.payment_status = res_data.selected;\r\n      });\r\n  }\r\n  activeRoute(routename: string): boolean {\r\n    return this.helper.router.url.indexOf(routename) > -1;\r\n  }\r\n  open_detail_modal(index) {\r\n    this.order_detail_modal.open();\r\n  }\r\n  hide_specifications_group(specification_group_index) {\r\n    this.hide_specification_group[specification_group_index] = \"true\";\r\n    jQuery(\"#spec_list\" + specification_group_index).hide();\r\n  }\r\n\r\n  show_specifications_group(specification_group_index) {\r\n    this.hide_specification_group[specification_group_index] = \"false\";\r\n    jQuery(\"#spec_list\" + specification_group_index).show();\r\n  }\r\n\r\n  get_specification(product_index, item_index) {\r\n    this.is_show_specification = true;\r\n    this.specifications =\r\n      this.order_detail.cart_detail.order_details[product_index].items[\r\n        item_index\r\n      ].specifications;\r\n    this.item_note =\r\n      this.order_detail.cart_detail.order_details[product_index].items[\r\n        item_index\r\n      ].note_for_item;\r\n  }\r\n\r\n  history_export_csv() {\r\n    this.myLoading = true;\r\n    this.helper.http\r\n      .post(\"/api/admin/history\", {\r\n        start_date: this.helper.router_id.history_filter.start_date,\r\n        end_date: this.helper.router_id.history_filter.end_date,\r\n        user_id: this.user_id,\r\n        store_id: this.store_id,\r\n        provider_id: this.provider_id,\r\n        payment_status: this.payment_status,\r\n        created_by: this.created_by,\r\n        pickup_type: this.pickup_type,\r\n        order_status_id: this.order_status_id,\r\n        search_field: this.helper.router_id.history_filter.search_field,\r\n        search_value: this.helper.router_id.history_filter.search_value,\r\n        order_type: this.order_type,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        this.myLoading = false;\r\n        var json2csv = require(\"json2csv\");\r\n        res_data.orders.forEach((order, index) => {\r\n          // if (order.order_payment_detail.is_paid_from_wallet) {\r\n          //     order.payment_status = this.title.wallet;\r\n          // } else {\r\n          //     if (order.order_payment_detail.is_payment_mode_cash) {\r\n          //         order.payment_status = this.helper.lable_title.cash;\r\n          //     } else {\r\n          //         if (order.payment_gateway_detail.length > 0) {\r\n          //             order.payment_status = order.payment_gateway_detail[0].name;\r\n          //         }\r\n          //     }\r\n          // }\r\n\r\n          order.user_name = order.user_first_name + \" \" + order.user_last_name;\r\n          // order.store_name = order.store_detail.name;\r\n          order.provider_name =\r\n            order.provider_first_name + order.provider_last_name;\r\n          // order.city_name = order.city_detail.city_name;\r\n          if (order.request_detail != undefined) {\r\n            if (order.provider_detail.length > 0) {\r\n              order.provider_name =\r\n                order.provider_detail[0].first_name +\r\n                \" \" +\r\n                order.provider_detail[0].last_name;\r\n            }\r\n          }\r\n\r\n          order.type_of_order = order.is_user_pick_up_order\r\n            ? \"Pickup\"\r\n            : \"Delivery\";\r\n\r\n          order.order_payment_detail.total_net_order_price =\r\n            order.order_payment_detail.total_order_price +\r\n            order.order_payment_detail.cart_offer_price;\r\n\r\n          order.order_payment_detail.total_net_delivery_price =\r\n            order.order_payment_detail.total_delivery_price;\r\n\r\n          order.order_payment_detail.total_delivery_price =\r\n            order.order_payment_detail.total_delivery_price +\r\n            order.order_payment_detail.delivery_offer_price;\r\n\r\n          if (\r\n            order.order_payment_detail &&\r\n            order.order_payment_detail.is_promo_for_delivery_service\r\n          ) {\r\n            order.order_payment_detail.total_net_delivery_price =\r\n              order.order_payment_detail.total_net_delivery_price -\r\n              order.order_payment_detail.promo_payment;\r\n          } else {\r\n            order.order_payment_detail.total_net_order_price =\r\n              order.order_payment_detail.total_net_order_price -\r\n              order.order_payment_detail.promo_payment;\r\n          }\r\n\r\n          switch (order.order_status) {\r\n            case this.ORDER_STATE.STORE_REJECTED:\r\n              order.status = this.status.rejected;\r\n              break;\r\n            case this.ORDER_STATE.STORE_CANCELLED:\r\n              order.status = this.status.cancelled;\r\n              break;\r\n\r\n            case this.ORDER_STATE.CANCELED_BY_USER:\r\n              order.status = this.status.user_cancelled;\r\n              break;\r\n            case this.ORDER_STATE.DELIVERY_MAN_COMPLETE_DELIVERY:\r\n              order.status = this.status.order_delivered;\r\n              break;\r\n            case this.ORDER_STATE.ORDER_COMPLETED:\r\n              order.status = this.status.completed;\r\n              break;\r\n            default:\r\n              order.satus = \"\";\r\n          }\r\n\r\n          order.created_at = moment(order.created_at)\r\n            .tz(order.timezone !== undefined ? order.timezone : \"Asia/Kolkata\")\r\n            .format(\"DD MMM YYYY HH:mm a\");\r\n          order.provider_coming_time = moment(order.provider_coming_time)\r\n            .tz(order.timezone !== undefined ? order.timezone : \"Asia/Kolkata\")\r\n            .format(\"DD MMM YYYY HH:mm a\");\r\n          order.completed_at = moment(order.completed_at)\r\n            .tz(order.timezone !== undefined ? order.timezone : \"Asia/Kolkata\")\r\n            .format(\"DD MMM YYYY HH:mm a\");\r\n\r\n          //    order.amount = ((+order.order_payment_detail.total_delivery_price + +order.order_payment_detail.total_order_price).toFixed(2));\r\n        });\r\n\r\n        var fieldNames = [\r\n          this.title.id,\r\n          this.title.hubrise_order_id,\r\n          this.title.user,\r\n          this.title.store,\r\n          // this.title.city,\r\n          this.title.provider,\r\n          this.title.status,\r\n          \"Type of Order\",\r\n          this.title.amount,\r\n          // this.title.payment_by,\r\n          \"Gross Order Price\",\r\n          \"NET Order Price\",\r\n          \"Gross Delivery Price\",\r\n          \"NET Delivery Price\",\r\n          \"Tip Price\",\r\n          this.title.date,\r\n          \"Coming Time\",\r\n          this.title.delivery_at,\r\n        ];\r\n        var fields = [\r\n          \"unique_id\",\r\n          \"hubrise_order_id\",\r\n          \"user_name\",\r\n          \"store_name\",\r\n          // 'city_name',\r\n          \"provider_name\",\r\n          \"status\",\r\n          \"type_of_order\",\r\n          \"total\",\r\n          \"order_payment_detail.total_order_price\",\r\n          \"order_payment_detail.total_net_order_price\",\r\n          \"order_payment_detail.total_delivery_price\",\r\n          \"order_payment_detail.total_net_delivery_price\",\r\n          \"order_payment_detail.tip_price\",\r\n          // 'payment_status',\r\n          \"created_at\",\r\n          \"provider_coming_time\",\r\n          \"completed_at\",\r\n        ];\r\n\r\n        var csv = json2csv({\r\n          data: res_data.orders,\r\n          fields: fields,\r\n          fieldNames: fieldNames,\r\n        });\r\n\r\n        var final_csv: any = csv;\r\n        this.helper.downloadFile(final_csv);\r\n      });\r\n  }\r\n\r\n  history_export_excel() {\r\n    this.helper.http\r\n      .post(\"/api/admin/history\", {\r\n        user_id: this.user_id,\r\n        store_id: this.store_id,\r\n        provider_id: this.provider_id,\r\n        start_date: this.helper.router_id.history_filter.start_date,\r\n        end_date: this.helper.router_id.history_filter.end_date,\r\n        search_field: this.helper.router_id.history_filter.search_field,\r\n        search_value: this.helper.router_id.history_filter.search_value,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        var json_data = [];\r\n        var json2excel = require(\"js2excel\");\r\n        res_data.orders.forEach((order, index) => {\r\n          if (order.order_payment_detail.is_paid_from_wallet) {\r\n            order.payment_status = this.title.wallet;\r\n          } else {\r\n            if (order.order_payment_detail.is_payment_mode_cash) {\r\n              order.payment_status = this.helper.lable_title.cash;\r\n            } else {\r\n              if (order.payment_gateway_detail.length > 0) {\r\n                order.payment_status = order.payment_gateway_detail[0].name;\r\n              }\r\n            }\r\n          }\r\n\r\n          order.user_name =\r\n            order.user_detail.first_name + \" \" + order.user_detail.last_name;\r\n          order.store_name = order.store_detail.name;\r\n\r\n          order.city_name = order.city_detail.city_name;\r\n          if (order.request_detail != undefined) {\r\n            if (order.provider_detail.length > 0) {\r\n              order.provider_name =\r\n                order.provider_detail[0].first_name +\r\n                \" \" +\r\n                order.provider_detail[0].last_name;\r\n            }\r\n          }\r\n\r\n          switch (order.order_status) {\r\n            case this.ORDER_STATE.STORE_REJECTED:\r\n              order.status = this.status.rejected;\r\n              break;\r\n            case this.ORDER_STATE.STORE_CANCELLED:\r\n              order.status = this.status.cancelled;\r\n              break;\r\n\r\n            case this.ORDER_STATE.CANCELED_BY_USER:\r\n              order.status = this.status.user_cancelled;\r\n              break;\r\n            case this.ORDER_STATE.DELIVERY_MAN_COMPLETE_DELIVERY:\r\n              order.status = this.status.order_delivered;\r\n              break;\r\n            case this.ORDER_STATE.ORDER_COMPLETED:\r\n              order.status = this.status.completed;\r\n              break;\r\n            default:\r\n              order.satus = \"\";\r\n          }\r\n\r\n          order.amount = (\r\n            +order.order_payment_detail.total_delivery_price +\r\n            +order.order_payment_detail.total_order_price\r\n          ).toFixed(2);\r\n\r\n          json_data.push({\r\n            ID: order.unique_id,\r\n            User: order.user_name,\r\n            Store: order.store_name,\r\n            Provider: order.provider_name,\r\n            City: order.city_name,\r\n            Status: order.status,\r\n            Amount: order.amount,\r\n            \"Payment By\": order.payment_status,\r\n            Date: order.created_at,\r\n          });\r\n        });\r\n\r\n        json2excel.json2excel({\r\n          data: json_data,\r\n          name: \"history_excel\",\r\n          formateDate: \"yyyy/mm/dd\",\r\n        });\r\n      });\r\n  }\r\n\r\n  store_history(page) {\r\n    this.myLoading = true;\r\n    this.selected_order_index = 0;\r\n    this.helper.router_id.history_filter.page = page;\r\n    this.helper.http\r\n      .post(\"/api/admin/history\", {\r\n        start_date: this.helper.router_id.history_filter.start_date,\r\n        end_date: this.helper.router_id.history_filter.end_date,\r\n        store_id: this.store_id,\r\n        provider_id: this.provider_id,\r\n        user_id: this.user_id,\r\n        created_by: this.created_by,\r\n        payment_status: this.payment_status,\r\n        pickup_type: this.pickup_type,\r\n        order_status_id: this.order_status_id,\r\n        search_field: this.helper.router_id.history_filter.search_field,\r\n        search_value: this.helper.router_id.history_filter.search_value,\r\n        page: this.helper.router_id.history_filter.page,\r\n        order_type: this.order_type,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe(\r\n        (res_data) => {\r\n          this.myLoading = false;\r\n          if (res_data.success == false) {\r\n            this.order_list = [];\r\n            this.total_pages = [];\r\n          } else {\r\n            this.currency_sign = res_data.currency_sign;\r\n            this.order_list = res_data.orders;\r\n            this.total_page = res_data.pages;\r\n            this.total_pages = Array(res_data.pages)\r\n              .fill((x, i) => i)\r\n              .map((x, i) => i + 1);\r\n            if (this.order_list.length > 0) {\r\n              this.get_order_detail(\r\n                this.order_list[0]._id,\r\n                this.order_list[0].user_id,\r\n                this.order_list[0].store_id\r\n              );\r\n            }\r\n          }\r\n        },\r\n        (error: any) => {\r\n          this.myLoading = false;\r\n          this.helper.http_status(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  show_review(order_id) {\r\n    this.helper.http\r\n      .post(\"/admin/get_review_detail\", { order_id: order_id })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        if (res_data.success) {\r\n          this.review_detail = res_data.review_detail;\r\n          this.review_detail_modal.open();\r\n        } else {\r\n          this.review_detail = {};\r\n        }\r\n      });\r\n  }\r\n\r\n  get_order_detail(order_id, user_id, store_id) {\r\n    this.helper.http\r\n      .post(\"/admin/get_user_order_detail\", {\r\n        user_id: user_id,\r\n        store_id: store_id,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        if (res_data.success) {\r\n          this.user_order_detail = res_data.user_order_detail;\r\n        } else {\r\n          this.user_order_detail = {\r\n            completed_at: [],\r\n            total: 0,\r\n            total_delivery_time: 0,\r\n            total_order: 0,\r\n            total_store_order: 0,\r\n          };\r\n        }\r\n      });\r\n    this.helper.http\r\n      .post(\"/admin/get_order_detail\", {\r\n        order_id: order_id,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        if (res_data.success) {\r\n          this.helper.router_id.history_filter.id = res_data.order_detail._id;\r\n          this.order_detail = res_data.order_detail;\r\n          let index = this.order_detail.date_time.findIndex(\r\n            (x) => x.status == this.ORDER_STATE.OREDER_READY\r\n          );\r\n          if (\r\n            index !== -1 &&\r\n            this.order_detail.estimated_time_for_ready_order\r\n          ) {\r\n            let estimated_time_for_ready_order: any = new Date(\r\n              this.order_detail.estimated_time_for_ready_order\r\n            );\r\n            let ready_at: any = new Date(\r\n              this.order_detail.date_time[index].date\r\n            );\r\n            const diffTime = ready_at - estimated_time_for_ready_order;\r\n            const diffMins = Math.ceil(diffTime / (1000 * 60));\r\n            var actual_preparation_time =\r\n              this.order_detail.preparation_time +\r\n              (this.order_detail.updated_time\r\n                ? this.order_detail.updated_time\r\n                : 0) +\r\n              diffMins;\r\n            this.order_detail.actual_preparation_time = actual_preparation_time;\r\n          }\r\n          this.is_show_specification = false;\r\n          this.order_total = 0;\r\n          this.product_item_total = 0;\r\n          this.total_item = 0;\r\n          this.product_item_specification_total = 0;\r\n          this.product_item_specification_total_array = [];\r\n          this.product_item_total_array = [];\r\n          this.product_specification_total_array = [];\r\n          this.order_detail.cart_detail.order_details.forEach(\r\n            (product, product_index) => {\r\n              this.hide_specification_group[product_index] = \"false\";\r\n              product.items.forEach((item) => {\r\n                let item_price =\r\n                  item.formule_list &&\r\n                  item.formule_list[0] &&\r\n                  item.formule_list[0].price\r\n                    ? item.formule_list[0].price\r\n                    : item.item_price;\r\n                this.order_total =\r\n                  this.order_total +\r\n                  (item_price + item.total_specification_price) *\r\n                    item.quantity -\r\n                  (item.offer_price ? item.offer_price : 0);\r\n                this.product_item_total =\r\n                  this.product_item_total +\r\n                  (item_price + item.total_specification_price) *\r\n                    item.quantity -\r\n                  (item.offer_price ? item.offer_price : 0);\r\n                this.total_item++;\r\n                item.specifications.forEach((specification) => {\r\n                  this.product_item_specification_total =\r\n                    this.product_item_specification_total +\r\n                    specification.specification_price;\r\n                });\r\n                // if(item.formule_list){\r\n                //     item.formule_list.forEach((formule)=>{\r\n                //         if(formule.price){\r\n                //             this.product_item_total = this.product_item_total + Number(formule.price * item.quantity);\r\n                //             this.order_total=this.order_total +  Number(formule.price * item.quantity);\r\n                //         }\r\n                //     })\r\n                // }\r\n                this.product_item_specification_total_array.push(\r\n                  this.product_item_specification_total\r\n                );\r\n                this.product_item_specification_total = 0;\r\n              });\r\n              this.product_specification_total_array.push(\r\n                this.product_item_specification_total_array\r\n              );\r\n              this.product_item_specification_total_array = [];\r\n              this.product_item_total_array.push(this.product_item_total);\r\n              this.product_item_total = 0;\r\n            }\r\n          );\r\n        }\r\n      });\r\n  }\r\n\r\n  give_rate_modal(orderid, index, type) {\r\n    this.rating = 1;\r\n    this.review = \"\";\r\n    this.type = type;\r\n    this.order_id = orderid;\r\n    this.modal.open();\r\n    this.selected_order_index = index;\r\n  }\r\n\r\n  editOrder(store_id, order_id) {\r\n    this.helper.router_id.store.store_id = store_id;\r\n    this.helper.router_id.store.order_id = order_id;\r\n    if (this.helper.router.url === \"/dispatcher/history\") {\r\n      this.helper.router.navigate([\"dispatcher/edit/order\"]);\r\n    } else {\r\n      this.helper.router.navigate([\"admin/edit/order\"]);\r\n    }\r\n  }\r\n\r\n  refundOrder(store_id, order_id) {\r\n    this.helper.router_id.store.store_id = store_id;\r\n    this.helper.router_id.store.order_id = order_id;\r\n    if (this.helper.router.url === \"/dispatcher/history\") {\r\n      this.helper.router.navigate([\"dispatcher/refund/order\"]);\r\n    } else {\r\n      this.helper.router.navigate([\"admin/refund/order\"]);\r\n    }\r\n  }\r\n\r\n  delete_order(order_id) {\r\n    swal({\r\n      title: \"Are you sure?\",\r\n      text: \"You won't be able to revert this!\",\r\n      type: \"warning\",\r\n      showCancelButton: true,\r\n      confirmButtonColor: \"#3085d6\",\r\n      cancelButtonColor: \"#d33\",\r\n      confirmButtonText: \"Yes, delete it!\",\r\n    }).then(() => {\r\n      this.helper.http\r\n        .post(\"/admin/delete_order\", { order_id: order_id })\r\n        .map((res: Response) => res.json())\r\n        .subscribe((res_data) => {\r\n          this.store_history(this.helper.router_id.history_filter.page);\r\n        });\r\n    });\r\n  }\r\n\r\n  delete_store_order(order_id) {\r\n    swal({\r\n      title: \"Are you sure?\",\r\n      text: \"You won't be able to revert this!\",\r\n      type: \"warning\",\r\n      showCancelButton: true,\r\n      confirmButtonColor: \"#3085d6\",\r\n      cancelButtonColor: \"#d33\",\r\n      confirmButtonText: \"Yes, delete it!\",\r\n    }).then(() => {\r\n      this.helper.http\r\n        .post(\"/admin/delete_store_order\", { order_id: order_id })\r\n        .map((res: Response) => res.json())\r\n        .subscribe((res_data) => {\r\n          this.order_detail.is_store_deleted = true;\r\n        });\r\n    });\r\n  }\r\n\r\n  reorder(order_id) {\r\n    this.helper.router_id.admin.order_id = order_id;\r\n    if (this.helper.router.url === \"/dispatcher/history\") {\r\n      this.helper.router.navigate([\"dispatcher/create_order\"]);\r\n    } else {\r\n      this.helper.router.navigate([\"admin/create_order\"]);\r\n    }\r\n  }\r\n\r\n  set_address(address) {\r\n    this.order_detail.cart_detail.destination_addresses[0].address =\r\n      address.address;\r\n    jQuery(\"#address\").val(address.address);\r\n    this.floor = address.floor;\r\n    this.entry_code = address.entry_code;\r\n    this.note = address.note ? address.not : address.comment;\r\n    this.order_detail.cart_detail.destination_addresses[0].postal_code =\r\n      address.postal_code;\r\n    this.order_detail.cart_detail.destination_addresses[0].street_number =\r\n      address.street_number;\r\n    this.order_detail.cart_detail.destination_addresses[0].location = [\r\n      address.latitude,\r\n      address.longitude,\r\n    ];\r\n    this.is_show_address = false;\r\n  }\r\n\r\n  get_fav_address(user_id) {\r\n    this.helper.http\r\n      .post(\"/api/user/get_favoutire_addresses\", {\r\n        user_id: user_id,\r\n        type: this.helper.ADMIN_DATA_ID.ADMIN,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        if (res_data.success) {\r\n          this.favourite_addresses = res_data.favourite_addresses;\r\n        } else {\r\n          this.favourite_addresses = [];\r\n        }\r\n      });\r\n  }\r\n\r\n  edit_address() {\r\n    this.floor = this.order_detail.cart_detail.destination_addresses[0].floor;\r\n    this.entry_code =\r\n      this.order_detail.cart_detail.destination_addresses[0].entry_code;\r\n    this.note = this.order_detail.cart_detail.destination_addresses[0].note;\r\n    this.edit_address_modal.open();\r\n    this.get_fav_address(this.order_detail.user_id);\r\n\r\n    setTimeout(() => {\r\n      jQuery(\"#address\").val(\r\n        this.order_detail.cart_detail.destination_addresses[0].address\r\n      );\r\n      var autocompleteElm = <HTMLInputElement>(\r\n        document.getElementById(\"address\")\r\n      );\r\n      let autocomplete = new google.maps.places.Autocomplete(\r\n        autocompleteElm,\r\n        {}\r\n      );\r\n\r\n      autocomplete.addListener(\"place_changed\", () => {\r\n        var place = autocomplete.getPlace();\r\n        var lat = place.geometry.location.lat();\r\n        var lng = place.geometry.location.lng();\r\n        console.log(this.order_detail.cart_detail.destination_addresses[0]);\r\n\r\n        this.order_detail.cart_detail.destination_addresses[0].address =\r\n          place.formatted_address;\r\n        this.order_detail.cart_detail.destination_addresses[0].location = [\r\n          lat,\r\n          lng,\r\n        ];\r\n        for (var i = 0; i < place.address_components.length; i++) {\r\n          if (place.address_components[i].types[0] == \"postal_code\") {\r\n            this.order_detail.cart_detail.destination_addresses[0].postal_code =\r\n              place.address_components[i].long_name;\r\n          }\r\n        }\r\n      });\r\n    }, 1000);\r\n\r\n    if (this.order_detail.order_payment_detail.is_user_pick_up_order) {\r\n      this.provider_id = \"\";\r\n      this.provider_first_name = \"\";\r\n      this.provider_last_name = \"\";\r\n      this.provider_unique_id = \"\";\r\n      this.helper.http\r\n        .post(\"/api/store/get_nearest_provider\", {\r\n          order_id: this.order_detail._id,\r\n        })\r\n        .map((res: Response) => res.json())\r\n        .subscribe((res_data) => {\r\n          this.provider_list = res_data.providers;\r\n          setTimeout(() => {\r\n            jQuery(\"#provider_id\").trigger(\"chosen:updated\");\r\n            jQuery(\"#provider_id\").trigger(\"chosen:open\");\r\n          }, 100);\r\n          jQuery(\"#provider_id\").change((evnt, res_data) => {\r\n            this.provider_id = res_data.selected;\r\n            let index = this.provider_list.findIndex(\r\n              (x) => x._id == this.provider_id\r\n            );\r\n            if (index !== -1) {\r\n              this.provider_first_name = this.provider_list[index].first_name;\r\n              this.provider_last_name = this.provider_list[index].last_name;\r\n              this.provider_unique_id = this.provider_list[index].unique_id;\r\n            }\r\n          });\r\n        });\r\n    }\r\n  }\r\n  UpdateAddress() {\r\n    this.order_detail.cart_detail.destination_addresses[0].floor = this.floor;\r\n    this.order_detail.cart_detail.destination_addresses[0].entry_code =\r\n      this.entry_code;\r\n    this.order_detail.cart_detail.destination_addresses[0].note = this.note;\r\n\r\n    let google_distance = 0;\r\n    let google_time = 0;\r\n    let origin: any = {\r\n      lat: parseFloat(\r\n        this.order_detail.cart_detail.pickup_addresses[0].location[0]\r\n      ),\r\n      lng: parseFloat(\r\n        this.order_detail.cart_detail.pickup_addresses[0].location[1]\r\n      ),\r\n    };\r\n    let destination: any = {\r\n      lat: parseFloat(\r\n        this.order_detail.cart_detail.destination_addresses[0].location[0]\r\n      ),\r\n      lng: parseFloat(\r\n        this.order_detail.cart_detail.destination_addresses[0].location[1]\r\n      ),\r\n    };\r\n\r\n    this.myLoading = true;\r\n    let service = new google.maps.DistanceMatrixService();\r\n    service.getDistanceMatrix(\r\n      {\r\n        origins: [origin],\r\n        destinations: [destination],\r\n        unitSystem: google.maps.UnitSystem.METRIC,\r\n        avoidHighways: true,\r\n        avoidTolls: true,\r\n        travelMode: google.maps.TravelMode.DRIVING,\r\n      },\r\n      (response, status) => {\r\n        if (status == google.maps.DistanceMatrixStatus.OK) {\r\n          google_distance = response.rows[0].elements[0].distance.value;\r\n          google_time = response.rows[0].elements[0].duration.value;\r\n\r\n          let json = {\r\n            order_id: this.order_detail._id,\r\n            destination_addresses:\r\n              this.order_detail.cart_detail.destination_addresses,\r\n            pickup_addresses: this.order_detail.cart_detail.pickup_addresses,\r\n            payment_intent_id: \"\",\r\n            total_distance: google_distance,\r\n            total_time: google_time,\r\n          };\r\n          if (this.order_detail.order_payment_detail.is_user_pick_up_order) {\r\n            json[\"provider_id\"] = this.provider_id;\r\n            json[\"provider_first_name\"] = this.provider_first_name;\r\n            json[\"provider_last_name\"] = this.provider_last_name;\r\n            json[\"provider_unique_id\"] = this.provider_unique_id;\r\n          }\r\n\r\n          if (this.order_detail.is_payment_mode_cash) {\r\n            this.update_order_address(json);\r\n          } else {\r\n            this.helper.http\r\n              .post(\"/admin/check_update_order_address\", json)\r\n              .map((res: Response) => res.json())\r\n              .subscribe((res_data) => {\r\n                if (res_data.success) {\r\n                  if (res_data.is_payment_paid) {\r\n                    this.update_order_address(json);\r\n                  } else {\r\n                    var json_data = {\r\n                      user_id: this.order_detail.user_id,\r\n                      amount: res_data.remaining_payment,\r\n                    };\r\n                    this.helper.http\r\n                      .post(\"/api/get_stripe_payment_intent\", json_data)\r\n                      .map((res: Response) => res.json())\r\n                      .subscribe((res_data) => {\r\n                        console.log(res_data);\r\n                        if (res_data.success) {\r\n                          if (res_data.is_payment_paid) {\r\n                            this.update_order_address(json);\r\n                          } else {\r\n                            stripe\r\n                              .confirmCardPayment(res_data.client_secret, {\r\n                                payment_method: res_data.payment_method,\r\n                              })\r\n                              .then((result) => {\r\n                                console.log(result);\r\n                                if (result.paymentIntent) {\r\n                                  json.payment_intent_id =\r\n                                    result.paymentIntent.id;\r\n                                  this.update_order_address(json);\r\n                                } else {\r\n                                  this.myLoading = false;\r\n                                  this.helper.data.storage = {\r\n                                    message: result.error.message,\r\n                                    class: \"alert-danger\",\r\n                                  };\r\n                                  this.helper.message();\r\n                                }\r\n                              });\r\n                          }\r\n                        } else {\r\n                          this.helper.data.storage = {\r\n                            code: res_data.error_code,\r\n                            message:\r\n                              res_data.error ||\r\n                              this.helper.ERROR_CODE[res_data.error_code],\r\n                            class: \"alert-info\",\r\n                          };\r\n                          this.helper.message();\r\n                          this.myLoading = false;\r\n                        }\r\n                      });\r\n                  }\r\n                } else {\r\n                  this.myLoading = false;\r\n                  this.helper.data.storage = {\r\n                    code: res_data.error_code,\r\n                    message: this.helper.ERROR_CODE[res_data.error_code],\r\n                    class: \"alert-info\",\r\n                  };\r\n                  this.helper.message();\r\n                }\r\n              });\r\n          }\r\n        } else {\r\n          this.myLoading = false;\r\n        }\r\n      }\r\n    );\r\n  }\r\n\r\n  update_order_address(json) {\r\n    this.helper.http\r\n      .post(\"/admin/update_order_address\", json)\r\n      .map((res: Response) => res.json())\r\n      .subscribe(\r\n        (res_data) => {\r\n          // this.myLoading = false;\r\n          console.log(res_data);\r\n          if (res_data.success) {\r\n            this.helper.data.storage = {\r\n              message: this.helper.MESSAGE_CODE[res_data.message],\r\n              class: \"alert-info\",\r\n            };\r\n            this.ngZone.run(() => {\r\n              this.edit_address_modal.close();\r\n              this.ngOnInit();\r\n            });\r\n          } else {\r\n            this.helper.data.storage = {\r\n              code: res_data.error_code,\r\n              message: this.helper.ERROR_CODE[res_data.error_code],\r\n              class: \"alert-danger\",\r\n            };\r\n          }\r\n          this.helper.message();\r\n        },\r\n        (error: any) => {\r\n          this.myLoading = false;\r\n          this.helper.http_status(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  delay_popup() {\r\n    this.bonus_info = {\r\n      bonus_amount: null,\r\n      bonus_type: 2,\r\n      user_type: this.helper.ADMIN_DATA_ID.STORE,\r\n      bonus_payment_type: 1,\r\n      bonus_reason: \"\",\r\n      is_bonus_monthly: false,\r\n    };\r\n    if (this.order_detail.is_hopper_on_demand) {\r\n      this.bonus_info.user_type = this.helper.ADMIN_DATA_ID.PROVIDER;\r\n    }\r\n    this.refund_modal.open();\r\n  }\r\n\r\n  update_delay() {\r\n    this.bonus_info.bonus_reason =\r\n      \"Delay Order no: \" + this.order_detail.unique_id;\r\n    var json = {\r\n      order_id: this.order_detail._id,\r\n      store_id: this.order_detail.store_id,\r\n      provider_id: this.order_detail.provider_id,\r\n      is_notification: true,\r\n      is_refund: true,\r\n    };\r\n    this.helper.http\r\n      .post(\"/admin/update_delay_reward\", Object.assign(json, this.bonus_info))\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        this.order_detail.order_payment_detail.store_panelty =\r\n          res_data.store_panelty;\r\n        this.order_detail.order_payment_detail.provider_panelty =\r\n          res_data.provider_panelty;\r\n        this.refund_modal.close();\r\n      });\r\n  }\r\n\r\n  open_image_modal(image) {\r\n    this.image = image;\r\n    this.image_modal.open();\r\n  }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/history/history.component.ts","import { Component, OnInit, ViewContainerRef, ViewChild } from \"@angular/core\";\r\nimport { Response } from \"@angular/http\";\r\nimport { Helper } from \"../../helper\";\r\nimport { ModalComponent } from \"ng2-bs3-modal/ng2-bs3-modal\";\r\ndeclare var swal: any;\r\n\r\ndeclare var jQuery: any;\r\n\r\n@Component({\r\n  selector: \"app-hopper_earning\",\r\n  template: require('./hopper_earning.component.html'),\r\n  providers: [Helper],\r\n})\r\nexport class HopperEarningComponent implements OnInit {\r\n  title: any;\r\n  button: any;\r\n  ORDER_STATE: any;\r\n  DATE_FORMAT: any;\r\n  heading_title: any;\r\n  status: any;\r\n  lable_title: any;\r\n  order_list: any[];\r\n  sort_field: string;\r\n  sort_order: number;\r\n  search_field: string;\r\n  search_value: string;\r\n  start_date: string;\r\n  end_date: string;\r\n  page: number;\r\n  total_page: number;\r\n  total_pages: number[];\r\n  order_total: any;\r\n  admin_currency: String;\r\n  myLoading: boolean = true;\r\n\r\n  country_list: any[] = [];\r\n  city_list: any[] = [];\r\n  country_id: string = \"\";\r\n  city_id: string = \"\";\r\n  filter: string = \"1\";\r\n\r\n  month_array: any[] = [];\r\n  year_array: any[] = [];\r\n  select_year: any;\r\n  select_month: any = 0;\r\n\r\n  bonus_list: any[] = [];\r\n\r\n  @ViewChild(\"positive_detail_modal\")\r\n  positive_detail_modal: ModalComponent;\r\n\r\n  @ViewChild(\"negative_detail_modal\")\r\n  negative_detail_modal: ModalComponent;\r\n\r\n  constructor(private helper: Helper, public vcr: ViewContainerRef) {\r\n    helper.toastr.setRootViewContainerRef(vcr);\r\n  }\r\n  ngAfterViewInit() {\r\n    jQuery(\".chosen-select\").chosen({ disable_search: true });\r\n    setTimeout(function () {\r\n      jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n    }, 1000);\r\n  }\r\n\r\n  ngOnInit() {\r\n    this.sort_field = \"gain\";\r\n    this.sort_order = -1;\r\n    this.search_field = \"unique_id\";\r\n    this.search_value = \"\";\r\n    this.start_date = \"\";\r\n    this.end_date = \"\";\r\n    this.page = 1;\r\n\r\n    this.month_array = [\r\n      { value: 0, text: \"Janvier\" },\r\n      { value: 1, text: \"Février\" },\r\n      { value: 2, text: \"Mars\" },\r\n      { value: 3, text: \"Avril\" },\r\n      { value: 4, text: \"Mai\" },\r\n      { value: 5, text: \"Juin\" },\r\n      { value: 6, text: \"Juillet\" },\r\n      { value: 7, text: \"Août\" },\r\n      { value: 8, text: \"Septembre\" },\r\n      { value: 9, text: \"Octobre\" },\r\n      { value: 10, text: \"Novembre\" },\r\n      { value: 11, text: \"Décembre\" },\r\n    ];\r\n\r\n    var registered_date = new Date(\"01/01/2018\");\r\n    var today = new Date(Date.now());\r\n    var firstDay: any = new Date(\r\n      registered_date.getFullYear(),\r\n      registered_date.getMonth(),\r\n      1\r\n    );\r\n    var lastDay: any = new Date(today.getFullYear(), today.getMonth() + 1, 0);\r\n    var total_month = monthDiff(firstDay, lastDay);\r\n    console.log(firstDay);\r\n    console.log(lastDay);\r\n    for (var i = 0; i < total_month; i++) {\r\n      var index = this.year_array.indexOf(lastDay.getFullYear());\r\n      if (index == -1) {\r\n        this.year_array.push(lastDay.getFullYear());\r\n        if (this.year_array.length == 1) {\r\n          // this.select_year = lastDay.getFullYear()\r\n        }\r\n      }\r\n      lastDay = lastDay.setMonth(lastDay.getMonth() - 1);\r\n      lastDay = new Date(lastDay);\r\n      setTimeout(function () {\r\n        jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n      }, 2000);\r\n    }\r\n    if (this.helper.router_id.select_year) {\r\n      this.select_year = this.helper.router_id.select_year;\r\n    } else {\r\n      this.select_year = today.getFullYear();\r\n    }\r\n    if (this.helper.router_id.select_month) {\r\n      this.select_month = this.helper.router_id.select_month;\r\n    } else {\r\n      this.select_month = today.getMonth();\r\n    }\r\n\r\n    function monthDiff(d1, d2) {\r\n      var months;\r\n      months = (d2.getFullYear() - d1.getFullYear()) * 12;\r\n      months -= d1.getMonth() + 1;\r\n      months += d2.getMonth();\r\n      months = months + 1;\r\n      return months <= 0 ? 0 : months;\r\n    }\r\n\r\n    this.helper.http\r\n      .get(\"/api/admin/get_country_list\")\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        if (res_data.success) {\r\n          this.country_list = res_data.countries;\r\n          this.country_id = this.country_list[1]._id;\r\n          this.get_city_list(this.country_id);\r\n          this.order_earning(1);\r\n\r\n          setTimeout(() => {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n          }, 1000);\r\n        } else {\r\n          this.country_list = [];\r\n        }\r\n      });\r\n\r\n    this.helper.message();\r\n\r\n    this.title = this.helper.title;\r\n    this.button = this.helper.button;\r\n    this.heading_title = this.helper.heading_title;\r\n    this.ORDER_STATE = this.helper.ORDER_STATE;\r\n    this.DATE_FORMAT = this.helper.DATE_FORMAT;\r\n    this.status = this.helper.status;\r\n    this.lable_title = this.helper.lable_title;\r\n    this.order_list = [];\r\n    this.order_total = {\r\n      total: 0,\r\n      total_completed_orders: 0,\r\n      positive_hopper_amount: 0,\r\n      negative_hopper_amount: 0,\r\n      no_of_malus_provider: 0,\r\n      no_of_bonus_provider: 0,\r\n      no_of_working_provider: 0,\r\n      no_of_malus: 0,\r\n      no_of_binus: 0,\r\n      total_malus: 0,\r\n      total_bonus: 0,\r\n      gain_final: 0,\r\n    };\r\n    this.admin_currency = \"\";\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#select_year\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.select_year = res_data.selected;\r\n      });\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#select_month\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.select_month = res_data.selected;\r\n      });\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#sort_field\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.sort_field = res_data.selected;\r\n      });\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#sort_order\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.sort_order = res_data.selected;\r\n      });\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#search_field\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.search_field = res_data.selected;\r\n      });\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#country\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.city_id = \"\";\r\n        this.country_id = res_data.selected;\r\n\r\n        if (res_data.selected) {\r\n          this.order_earning(1);\r\n          this.get_city_list(res_data.selected);\r\n        } else {\r\n          this.city_list = [];\r\n          setTimeout(function () {\r\n            jQuery(\"#city\").trigger(\"chosen:updated\");\r\n          }, 1000);\r\n        }\r\n      });\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#city\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.city_id = res_data.selected;\r\n      });\r\n  }\r\n\r\n  get_city_list(countryid) {\r\n    this.helper.http\r\n      .post(\"/api/admin/get_city_list\", { country_id: countryid })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        this.city_list = res_data.cities;\r\n        setTimeout(function () {\r\n          jQuery(\"#city\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n      });\r\n  }\r\n\r\n  activeRoute(routename: string): boolean {\r\n    return this.helper.router.url.indexOf(routename) > -1;\r\n  }\r\n  order_earning(page) {\r\n    this.myLoading = true;\r\n    var start_date: any = new Date(\r\n      Date.UTC(this.select_year, this.select_month, 1)\r\n    );\r\n    start_date = start_date.toISOString();\r\n\r\n    var end_date: any = new Date(\r\n      Date.UTC(this.select_year, Number(this.select_month) + 1, 0)\r\n    );\r\n    end_date.setUTCHours(23, 59, 59, 0);\r\n    end_date = end_date.toISOString();\r\n\r\n    // start_date =\r\n    //   start_date.getMonth() +\r\n    //   1 +\r\n    //   \"/\" +\r\n    //   start_date.getDate() +\r\n    //   \"/\" +\r\n    //   start_date.getFullYear();\r\n    // end_date =\r\n    //   end_date.getMonth() +\r\n    //   1 +\r\n    //   \"/\" +\r\n    //   end_date.getDate() +\r\n    //   \"/\" +\r\n    //   end_date.getFullYear();\r\n\r\n    this.page = page;\r\n    this.helper.http\r\n      .post(\"/admin/get_hopper_earning\", {\r\n        start_date: start_date,\r\n        end_date: end_date,\r\n        country_id: this.country_id,\r\n        city_id: this.city_id,\r\n        filter: this.filter,\r\n        sort_field: this.sort_field,\r\n        sort_order: this.sort_order,\r\n        search_field: this.search_field,\r\n        search_value: this.search_value,\r\n        page: this.page,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe(\r\n        (res_data) => {\r\n          this.myLoading = false;\r\n          if (res_data.success == false) {\r\n            this.order_list = [];\r\n            this.total_pages = [];\r\n            this.order_total = {\r\n              total: 0,\r\n              total_completed_orders: 0,\r\n              positive_hopper_amount: 0,\r\n              negative_hopper_amount: 0,\r\n              no_of_malus_provider: 0,\r\n              no_of_bonus_provider: 0,\r\n              no_of_working_provider: 0,\r\n              no_of_malus: 0,\r\n              no_of_binus: 0,\r\n              total_malus: 0,\r\n              total_bonus: 0,\r\n              gain_final: 0,\r\n            };\r\n          } else {\r\n            this.order_list = res_data.orders;\r\n            this.order_total = res_data.order_total;\r\n            this.admin_currency = res_data.admin_currency;\r\n            this.total_page = res_data.pages;\r\n            this.order_list.forEach((order_detail) => {\r\n              order_detail.gain =\r\n                order_detail.total_delivery_price +\r\n                (order_detail.total_cart_price * 10) / 100;\r\n\r\n              let subscription_charge = 0;\r\n              if (this.order_total.subscription_detail) {\r\n                this.order_total.subscription_detail.forEach(\r\n                  (subscription_detail) => {\r\n                    if (\r\n                      subscription_detail.type_unique_id ==\r\n                        order_detail.unique_id &&\r\n                      !subscription_charge\r\n                    ) {\r\n                      subscription_charge =\r\n                        subscription_charge +\r\n                        subscription_detail.subscription_charge;\r\n                    }\r\n                  }\r\n                );\r\n              }\r\n              order_detail.subscription_charge = subscription_charge;\r\n\r\n              let bonus_list = [];\r\n              this.order_total.bonus_detail.forEach((bonus_detail) => {\r\n                bonus_list = bonus_list.concat(\r\n                  bonus_detail.filter(\r\n                    (x) => x.type_unique_id == order_detail.unique_id\r\n                  )\r\n                );\r\n              });\r\n              bonus_list.forEach((x) => {\r\n                if (x.bonus_type == 2) {\r\n                  if (!order_detail.malus) {\r\n                    order_detail.malus = 0;\r\n                  }\r\n                  order_detail.malus = order_detail.malus + x.total_amount;\r\n                } else if (x.bonus_type == 1) {\r\n                  if (!order_detail.bonus) {\r\n                    order_detail.bonus = 0;\r\n                  }\r\n                  order_detail.bonus = order_detail.bonus + x.total_amount;\r\n                }\r\n              });\r\n            });\r\n            this.total_pages = Array(res_data.pages)\r\n              .fill((x, i) => i)\r\n              .map((x, i) => i + 1);\r\n          }\r\n        },\r\n        (error: any) => {\r\n          this.myLoading = false;\r\n          this.helper.http_status(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  viewOrderEarningDetail(id) {\r\n    this.helper.router_id.select_year = this.select_year;\r\n    this.helper.router_id.select_month = this.select_month;\r\n    this.helper.router_id.admin.provider_id = id;\r\n    this.helper.router.navigate([\"admin/hopper_earning_detail\"]);\r\n  }\r\n\r\n  order_earning_export_csv() {\r\n    var start_date: any = new Date(\r\n      Date.UTC(this.select_year, this.select_month, 1)\r\n    );\r\n    start_date = start_date.toISOString();\r\n\r\n    var end_date: any = new Date(\r\n      Date.UTC(this.select_year, Number(this.select_month) + 1, 0)\r\n    );\r\n    end_date.setUTCHours(23, 59, 59, 0);\r\n    end_date = end_date.toISOString();\r\n\r\n    // start_date =\r\n    //   start_date.getMonth() +\r\n    //   1 +\r\n    //   \"/\" +\r\n    //   start_date.getDate() +\r\n    //   \"/\" +\r\n    //   start_date.getFullYear();\r\n    // end_date =\r\n    //   end_date.getMonth() +\r\n    //   1 +\r\n    //   \"/\" +\r\n    //   end_date.getDate() +\r\n    //   \"/\" +\r\n    //   end_date.getFullYear();\r\n\r\n    this.helper.http\r\n      .post(\"/admin/get_hopper_earning\", {\r\n        start_date: start_date,\r\n        end_date: end_date,\r\n        country_id: this.country_id,\r\n        city_id: this.city_id,\r\n        filter: this.filter,\r\n        sort_field: this.sort_field,\r\n        sort_order: this.sort_order,\r\n        search_field: this.search_field,\r\n        search_value: this.search_value,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        if (res_data.success) {\r\n          var json2csv = require(\"json2csv\");\r\n          res_data.orders.forEach((order_detail) => {\r\n            order_detail.gain =\r\n              order_detail.total_delivery_price +\r\n              (order_detail.total_cart_price * 10) / 100;\r\n\r\n            let subscription_charge = 0;\r\n            if (this.order_total.subscription_detail) {\r\n              this.order_total.subscription_detail.forEach(\r\n                (subscription_detail) => {\r\n                  if (\r\n                    subscription_detail.type_unique_id ==\r\n                      order_detail.unique_id &&\r\n                    !subscription_charge\r\n                  ) {\r\n                    subscription_charge =\r\n                      subscription_charge +\r\n                      subscription_detail.subscription_charge;\r\n                  }\r\n                }\r\n              );\r\n            }\r\n            order_detail.subscription_charge = subscription_charge;\r\n\r\n            let bonus_list = [];\r\n            res_data.order_total.bonus_detail.forEach((bonus_detail) => {\r\n              bonus_list = bonus_list.concat(\r\n                bonus_detail.filter(\r\n                  (x) => x.type_unique_id == order_detail.unique_id\r\n                )\r\n              );\r\n            });\r\n            bonus_list.forEach((x) => {\r\n              if (x.bonus_type == 2) {\r\n                if (!order_detail.malus) {\r\n                  order_detail.malus = 0;\r\n                }\r\n                order_detail.malus = order_detail.malus + x.total_amount;\r\n              } else if (x.bonus_type == 1) {\r\n                if (!order_detail.bonus) {\r\n                  order_detail.bonus = 0;\r\n                }\r\n                order_detail.bonus = order_detail.bonus + x.total_amount;\r\n              }\r\n            });\r\n          });\r\n\r\n          res_data.orders.forEach((order, index) => {\r\n            // if(order.is_saas_business){\r\n            order.is_saas_business = \"Yes\";\r\n            order.bonus_detail =\r\n              (order.bonus ? order.bonus : 0).toFixed(2) +\r\n              \"/\" +\r\n              (order.malus ? order.malus : 0).toFixed(2);\r\n            order.final_gain = (\r\n              Number(order.gain) +\r\n              Number(order.bonus ? order.bonus : 0) -\r\n              Number(order.malus ? order.malus : 0) -\r\n              Number(order.subscription_charge ? order.subscription_charge : 0)\r\n            ).toFixed(2);\r\n            // } else {\r\n            //     order.is_saas_business = \"No\";\r\n            // }\r\n          });\r\n\r\n          var fieldNames = [\r\n            this.title.ID + this.title.store,\r\n            this.title.provider_names,\r\n            this.title.no_of_orders,\r\n            this.title.total_delivery_price,\r\n            this.title.total_cart_price,\r\n            this.title.gain,\r\n            this.title.bonus + \"/\" + this.title.malus,\r\n            this.title.saas_subscription_charge_for_provider,\r\n            this.title.gain_final,\r\n            this.title.saas,\r\n            this.title.note,\r\n            this.title.country,\r\n            this.title.city,\r\n            this.title.earning_promo,\r\n            this.title.date_chez,\r\n            this.title.classment,\r\n          ];\r\n          var fields = [\r\n            \"unique_id\",\r\n            \"name\",\r\n            \"total_completed_orders\",\r\n            \"total_delivery_price\",\r\n            \"total_cart_price\",\r\n            \"gain\",\r\n            \"bonus_detail\",\r\n            \"subscription_charge\",\r\n            \"final_gain\",\r\n            \"is_saas_business\",\r\n            \"user_rate\",\r\n            \"country_name\",\r\n            \"city_name\",\r\n            \"promo\",\r\n            \"created_at\",\r\n            \"\",\r\n          ];\r\n\r\n          var order_total_fieldNames = [\r\n            this.title.total_gain,\r\n            this.title.total_completed_commande,\r\n            this.title.positive_hopper_amount,\r\n            this.title.negative_hopper_amount,\r\n            this.title.no_of_malus_provider,\r\n            this.title.no_of_working_provider,\r\n            this.title.no_of_bonus_provider,\r\n            this.title.gain_final,\r\n          ];\r\n          var order_total_fields = [\r\n            \"total\",\r\n            \"total_completed_orders\",\r\n            \"positive_hopper_amount\",\r\n            \"negative_hopper_amount\",\r\n            \"no_of_negative_hopper\",\r\n            \"no_of_working_provider\",\r\n            \"no_of_bonus_provider\",\r\n            \"gain_final\",\r\n          ];\r\n\r\n          var order_total_csv = json2csv({\r\n            data: res_data.order_total,\r\n            fields: order_total_fields,\r\n            fieldNames: order_total_fieldNames,\r\n          });\r\n          var csv = json2csv({\r\n            data: res_data.orders,\r\n            fields: fields,\r\n            fieldNames: fieldNames,\r\n          });\r\n\r\n          var final_csv: any = order_total_csv + \"\\n\" + \"\\n\" + csv;\r\n\r\n          this.helper.downloadFile(final_csv);\r\n        }\r\n      });\r\n  }\r\n\r\n  order_earning_export_excel() {\r\n    this.helper.http\r\n      .post(\"/admin/get_order_earning\", {\r\n        start_date: this.start_date,\r\n        end_date: this.end_date,\r\n        sort_field: this.sort_field,\r\n        sort_order: this.sort_order,\r\n        search_field: this.search_field,\r\n        search_value: this.search_value,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        var json_data = [];\r\n        var json2excel = require(\"js2excel\");\r\n\r\n        res_data.orders.forEach((order, index) => {\r\n          if (order.order_payment_detail.is_paid_from_wallet) {\r\n            order.payment_status = this.title.wallet;\r\n          } else {\r\n            if (order.order_payment_detail.is_payment_mode_cash) {\r\n              order.payment_status = this.lable_title.cash;\r\n            } else {\r\n              order.payment_status = order.payment_gateway_detail[0].name;\r\n            }\r\n          }\r\n\r\n          order.user_name =\r\n            order.user_detail.first_name + \" \" + order.user_detail.last_name;\r\n          order.store_name = order.store_detail.name;\r\n\r\n          if (order.request_detail != undefined) {\r\n            if (order.provider_detail.length > 0) {\r\n              order.provider_name =\r\n                order.provider_detail[0].first_name +\r\n                \" \" +\r\n                order.provider_detail[0].last_name;\r\n            }\r\n          }\r\n\r\n          order.admin_earning = (\r\n            +order.order_payment_detail.total_delivery_price +\r\n            +order.order_payment_detail.total_order_price\r\n          ).toFixed(2);\r\n\r\n          json_data.push({\r\n            ID: order.unique_id,\r\n            User: order.user_name,\r\n            Store: order.store_name,\r\n            Provider: order.provider_name,\r\n            \"Payment By\": order.payment_status,\r\n            Currency: order.country_detail.currency_sign,\r\n            total: order.order_payment_detail.total,\r\n            admin_earning: order.admin_earning,\r\n            provider_earning: order.order_payment_detail.total_provider_income,\r\n            pay_provider: order.order_payment_detail.pay_to_provider,\r\n            provider_income_set_in_wallet:\r\n              order.order_payment_detail.provider_income_set_in_wallet,\r\n            store_earn: order.order_payment_detail.total_store_income,\r\n            pay_store: order.order_payment_detail.pay_to_store,\r\n            store_income_set_in_wallet:\r\n              order.order_payment_detail.store_income_set_in_wallet,\r\n          });\r\n        });\r\n\r\n        json2excel.json2excel({\r\n          data: json_data,\r\n          name: \"order_earning_excel\",\r\n          formateDate: \"yyyy/mm/dd\",\r\n        });\r\n      });\r\n  }\r\n\r\n  delete_malus(id, index) {\r\n    swal({\r\n      title: \"Are you sure?\",\r\n      text: \"You won't be able to revert this!\",\r\n      type: \"warning\",\r\n      showCancelButton: true,\r\n      confirmButtonColor: \"#3085d6\",\r\n      cancelButtonColor: \"#d33\",\r\n      confirmButtonText: \"Yes\",\r\n    })\r\n      .then(() => {\r\n        this.helper.http\r\n          .post(\"/admin/delete_malus\", { malus_id: id })\r\n          .map((res: Response) => res.json())\r\n          .subscribe((res_data) => {\r\n            console.log(res_data);\r\n            this.order_total.bonus_detail.splice(index, 1);\r\n          });\r\n      })\r\n      .catch(swal.noop);\r\n  }\r\n\r\n  open_positive_modal() {\r\n    this.positive_detail_modal.open();\r\n  }\r\n\r\n  open_negative_modal() {\r\n    this.negative_detail_modal.open();\r\n  }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/hopper_earning/hopper_earning.component.ts","import { Component, OnInit, ViewContainerRef } from \"@angular/core\";\r\nimport { Response } from \"@angular/http\";\r\nimport { Helper } from \"../../helper\";\r\ndeclare var jQuery: any;\r\nimport * as jsPDF from \"jspdf\";\r\n// var htmlToImage = require('html-to-image');\r\nimport * as moment from \"moment-timezone\";\r\n\r\n@Component({\r\n  selector: \"app-hopper_earning_detail\",\r\n  template: require('./hopper_earning_detail.component.html'),\r\n  providers: [Helper],\r\n})\r\nexport class HopperEarningDetailComponent implements OnInit {\r\n  title: any;\r\n  button: any;\r\n  ORDER_STATE: any;\r\n  heading_title: any;\r\n  provider_id: Object;\r\n  server_token: String;\r\n  search_field: string;\r\n  search_value: string;\r\n  start_date: string;\r\n  end_date: string;\r\n  week_date: string;\r\n  week_array: any[];\r\n  show: Boolean;\r\n  month_array: any[] = [];\r\n  year_array: any[] = [];\r\n  select_year: any;\r\n  select_month: any = 0;\r\n  order_list: any[] = [];\r\n  bonus_list: any[] = [];\r\n  subscription_charge: number = 0;\r\n  order_total: any = {\r\n    total_delivery_price: 0,\r\n    total_provider_income: 0,\r\n    total_provider_profit_on_store: 0,\r\n    total: 0,\r\n    total_bonus: 0,\r\n    total_admin_profit_on_delivery: 0,\r\n    total_malus: 0,\r\n    total_cart_price: 0,\r\n  };\r\n  moment: any;\r\n  provider_detail: any = {};\r\n\r\n  show_selected_month: string = \"\";\r\n  show_selected_year: string = \"\";\r\n\r\n  constructor(private helper: Helper, public vcr: ViewContainerRef) {\r\n    helper.toastr.setRootViewContainerRef(vcr);\r\n  }\r\n\r\n  ngAfterViewInit() {\r\n    jQuery(\".chosen-select\").chosen();\r\n  }\r\n\r\n  ngOnInit() {\r\n    this.search_field = \"user_detail.first_name\";\r\n    this.search_value = \"\";\r\n    this.start_date = \"\";\r\n    this.end_date = \"\";\r\n    this.week_date = \"\";\r\n    this.show = false;\r\n    this.month_array = [\r\n      { value: 0, text: \"Janvier\" },\r\n      { value: 1, text: \"Février\" },\r\n      { value: 2, text: \"Mars\" },\r\n      { value: 3, text: \"Avril\" },\r\n      { value: 4, text: \"Mai\" },\r\n      { value: 5, text: \"Juin\" },\r\n      { value: 6, text: \"Juillet\" },\r\n      { value: 7, text: \"Août\" },\r\n      { value: 8, text: \"Septembre\" },\r\n      { value: 9, text: \"Octobre\" },\r\n      { value: 10, text: \"Novembre\" },\r\n      { value: 11, text: \"Décembre\" },\r\n    ];\r\n\r\n    this.title = this.helper.title;\r\n    this.button = this.helper.button;\r\n    this.heading_title = this.helper.heading_title;\r\n    this.ORDER_STATE = this.helper.ORDER_STATE;\r\n    this.week_array = [];\r\n    this.moment = moment;\r\n\r\n    this.provider_id = this.helper.router_id.admin.provider_id;\r\n    this.select_year = this.helper.router_id.select_year;\r\n    this.select_month = this.helper.router_id.select_month;\r\n\r\n    if (\r\n      this.select_year &&\r\n      this.select_month !== undefined &&\r\n      this.provider_id\r\n    ) {\r\n      this.provider_monthly_earning();\r\n    } else {\r\n      this.helper.router.navigate([\"/admin/hopper_earning\"]);\r\n    }\r\n\r\n    var monthNames = [\r\n      \"Jan\",\r\n      \"Feb\",\r\n      \"Mar\",\r\n      \"Apr\",\r\n      \"May\",\r\n      \"Jun\",\r\n      \"Jul\",\r\n      \"Aug\",\r\n      \"Sep\",\r\n      \"Oct\",\r\n      \"Nov\",\r\n      \"Dec\",\r\n    ];\r\n\r\n    var registered_date = new Date(\"01/01/2018\");\r\n    var today = new Date(Date.now());\r\n    var getDay = today.getDay();\r\n    getDay = 7 - getDay;\r\n    var lastWeekEndDay = today.getDate() + getDay - 1;\r\n    var lastWeekEndDate1 = new Date(today.setDate(lastWeekEndDay));\r\n    var timeDiff = Math.abs(\r\n      lastWeekEndDate1.getTime() - registered_date.getTime()\r\n    );\r\n    var total_week = Math.ceil(timeDiff / (1000 * 3600 * 24) / 7);\r\n\r\n    for (var i = 0; i < total_week; i++) {\r\n      var today = new Date(Date.now());\r\n      var getDay = today.getDay();\r\n      getDay = 7 - getDay;\r\n      var lastWeekEndDay = today.getDate() + getDay - 1 - i * 7;\r\n      var lastWeekEndDate = new Date(today.setDate(lastWeekEndDay)).setHours(\r\n        23,\r\n        59,\r\n        59,\r\n        999\r\n      );\r\n      var lastWeekEndDates = new Date(lastWeekEndDate);\r\n      var lastWeekStartDate = new Date(\r\n        lastWeekEndDates.getTime() - 6 * 24 * 60 * 60 * 1000\r\n      );\r\n      var lastWeekStartDates = lastWeekStartDate.setHours(0, 0, 0, 0);\r\n      lastWeekStartDate = new Date(lastWeekStartDates);\r\n\r\n      var month = monthNames[lastWeekStartDate.getMonth()];\r\n      var date = lastWeekStartDate.getDate();\r\n      var year = lastWeekStartDate.getFullYear();\r\n      var start_date =\r\n        lastWeekStartDate.getMonth() + 1 + \"-\" + date + \"-\" + year;\r\n      var lastWeekstartday = date + \" \" + month + \" \" + year;\r\n\r\n      month = monthNames[lastWeekEndDates.getMonth()];\r\n      date = lastWeekEndDates.getDate();\r\n      year = lastWeekEndDates.getFullYear();\r\n      var lastWeekenddate = date + \" \" + month + \" \" + year;\r\n      var end_date = lastWeekEndDates.getMonth() + 1 + \"-\" + date + \"-\" + year;\r\n\r\n      this.week_array.push({\r\n        value: start_date + \" \" + end_date,\r\n        text: lastWeekstartday + \" - \" + lastWeekenddate,\r\n      });\r\n      if (i == 0) {\r\n        this.week_date = start_date + \" \" + end_date;\r\n        this.start_date = start_date;\r\n        this.end_date = end_date;\r\n      }\r\n    }\r\n    var registered_date = new Date(\"01/01/2018\");\r\n    var today = new Date(Date.now());\r\n    var firstDay: any = new Date(\r\n      registered_date.getFullYear(),\r\n      registered_date.getMonth(),\r\n      1\r\n    );\r\n    var lastDay: any = new Date(today.getFullYear(), today.getMonth() + 1, 0);\r\n    var total_month = monthDiff(firstDay, lastDay);\r\n    for (var i = 0; i < total_month; i++) {\r\n      var index = this.year_array.indexOf(lastDay.getFullYear());\r\n      if (index == -1) {\r\n        this.year_array.push(lastDay.getFullYear());\r\n        if (this.year_array.length == 1) {\r\n          // this.select_year = lastDay.getFullYear()\r\n        }\r\n      }\r\n      lastDay = lastDay.setMonth(lastDay.getMonth() - 1);\r\n      lastDay = new Date(lastDay);\r\n      setTimeout(function () {\r\n        jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n      }, 2000);\r\n    }\r\n    // this.select_month = today.getMonth();\r\n    // this.select_year = today.getFullYear();\r\n\r\n    function monthDiff(d1, d2) {\r\n      var months;\r\n      months = (d2.getFullYear() - d1.getFullYear()) * 12;\r\n      months -= d1.getMonth() + 1;\r\n      months += d2.getMonth();\r\n      months = months + 1;\r\n      return months <= 0 ? 0 : months;\r\n    }\r\n\r\n    setTimeout(function () {\r\n      jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n    }, 1000);\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#search_field\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.search_field = res_data.selected;\r\n      });\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#select_year\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.select_year = res_data.selected;\r\n      });\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#select_month\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.select_month = res_data.selected;\r\n      });\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#week_date\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.week_date = res_data.selected;\r\n        var date = this.week_date.split(\" \");\r\n        this.start_date = date[0];\r\n        this.end_date = date[1];\r\n      });\r\n  }\r\n\r\n  provider_monthly_earning() {\r\n    var start_date: any = new Date(\r\n      Date.UTC(this.select_year, this.select_month, 1)\r\n    );\r\n    start_date = start_date.toISOString();\r\n\r\n    var end_date: any = new Date(\r\n      Date.UTC(this.select_year, Number(this.select_month) + 1, 0)\r\n    );\r\n    end_date.setUTCHours(23, 59, 59, 0);\r\n    end_date = end_date.toISOString();\r\n\r\n    // start_date =\r\n    //   start_date.getMonth() +\r\n    //   1 +\r\n    //   \"/\" +\r\n    //   start_date.getDate() +\r\n    //   \"/\" +\r\n    //   start_date.getFullYear();\r\n    // end_date =\r\n    //   end_date.getMonth() +\r\n    //   1 +\r\n    //   \"/\" +\r\n    //   end_date.getDate() +\r\n    //   \"/\" +\r\n    //   end_date.getFullYear();\r\n\r\n    this.helper.http\r\n      .post(\"/admin/get_hopper_earning_detail\", {\r\n        provider_id: this.provider_id,\r\n        start_date: start_date,\r\n        end_date: end_date,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        this.order_list = res_data.order_list;\r\n        this.bonus_list = res_data.bonus_list;\r\n        this.subscription_charge = res_data.subscription_charge;\r\n\r\n        this.order_total = {\r\n          total_delivery_price: 0,\r\n          total_provider_income: 0,\r\n          total_cart_price: 0,\r\n          hop_fee: 0,\r\n          vehicle_charge: 0,\r\n          total_admin_profit_on_delivery: 0,\r\n          total_provider_profit_on_store: 0,\r\n          total: 0,\r\n          total_bonus: 0,\r\n          total_malus: 0,\r\n        };\r\n        this.order_list.forEach((order_detail) => {\r\n          let total_provider_profit_on_store =\r\n            (order_detail.total_cart_price *\r\n              res_data.saas_percentage_for_provider) /\r\n            100;\r\n\r\n          order_detail.total_provider_income =\r\n            order_detail.total_provider_income -\r\n            order_detail.total_provider_profit_on_store +\r\n            total_provider_profit_on_store;\r\n\r\n          order_detail.total_provider_profit_on_store =\r\n            total_provider_profit_on_store;\r\n\r\n          this.order_total.total = this.order_total.total + order_detail.total;\r\n          this.order_total.total_provider_income =\r\n            this.order_total.total_provider_income +\r\n            order_detail.total_provider_income;\r\n          this.order_total.total_delivery_price =\r\n            this.order_total.total_delivery_price +\r\n            order_detail.total_delivery_price;\r\n          this.order_total.total_cart_price =\r\n            this.order_total.total_cart_price + order_detail.total_cart_price;\r\n          this.order_total.hop_fee =\r\n            this.order_total.hop_fee +\r\n            (order_detail.hop_fee ? order_detail.hop_fee : 0);\r\n          this.order_total.vehicle_charge =\r\n            this.order_total.vehicle_charge +\r\n            (order_detail.vehicle_charge ? order_detail.vehicle_charge : 0);\r\n          this.order_total.total_provider_profit_on_store =\r\n            this.order_total.total_provider_profit_on_store +\r\n            order_detail.total_provider_profit_on_store;\r\n          this.order_total.total_admin_profit_on_delivery =\r\n            this.order_total.total_admin_profit_on_delivery +\r\n            order_detail.total_admin_profit_on_delivery;\r\n        });\r\n\r\n        this.bonus_list.forEach((bonus_detail) => {\r\n          if (bonus_detail.bonus_type == 1) {\r\n            this.order_total.total_bonus =\r\n              this.order_total.total_bonus + bonus_detail.bonus_amount;\r\n          } else {\r\n            this.order_total.total_malus =\r\n              this.order_total.total_malus + bonus_detail.bonus_amount;\r\n          }\r\n        });\r\n\r\n        this.show_selected_month = this.select_month;\r\n        this.show_selected_year = this.select_year;\r\n        this.provider_detail = res_data.provider_detail;\r\n        this.provider_detail.saas_percentage_delivery_for_provider =\r\n          res_data.saas_percentage_delivery_for_provider;\r\n        this.provider_detail.saas_percentage_for_provider =\r\n          res_data.saas_percentage_for_provider;\r\n        // this.provider_detail.admin_profit_value_on_provider = res_data.admin_profit_value_on_provider\r\n      });\r\n  }\r\n\r\n  export_excel() {\r\n    // var domtoimage = require('dom-to-image');\r\n    var node = document.getElementById(\"order\");\r\n    var doc = new jsPDF({\r\n      format: \"a0\",\r\n      orientation: \"landscape\",\r\n    });\r\n    doc.fromHTML(node, 10, 10, { width: 200, height: 300 });\r\n    var file_name =\r\n      this.provider_detail.name +\r\n      \"_\" +\r\n      \"Facture_\" +\r\n      this.month_array[this.show_selected_month].text +\r\n      this.show_selected_year;\r\n    doc.save(file_name + \".pdf\");\r\n  }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/hopper_earning_detail/hopper_earning_detail.component.ts","import {Component, OnInit, ViewContainerRef} from '@angular/core';\r\nimport {Http, Response} from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport {Helper} from \"../../helper\";\r\ndeclare var jQuery: any;\r\n\r\nexport interface ImageSetting {\r\n    //    image_ratio: Number,\r\n    //    image_min_width: Number,\r\n    //    image_max_width: Number,\r\n    //    image_min_height: Number,\r\n    //    image_max_height: Number,\r\n    //    map_pin_min_width: Number,\r\n    //    map_pin_min_height: Number,\r\n    //    map_pin_max_width: Number,\r\n    //    map_pin_max_height: Number,\r\n    //    icon_ratio: Number,\r\n    //    map_pin_ratio: Number,\r\n    //    icon_maximum_size: Number,\r\n    //    icon_minimum_size: Number\r\n    delivery_image_ratio: number,\r\n    delivery_icon_ratio: number,\r\n    delivery_map_pin_ratio: number,\r\n\r\n    vehicle_image_ratio: number,\r\n    vehicle_map_pin_ratio: number,\r\n\r\n    product_image_ratio: number,\r\n    item_image_ratio: number,\r\n\r\n    image_type: any[],\r\n    icon_image_type: any[],\r\n    map_pin_image_type: any[],\r\n\r\n\r\n    delivery_icon_minimum_size: number,\r\n    delivery_icon_maximum_size: number,\r\n\r\n\r\n    delivery_image_min_width: number,\r\n    delivery_image_min_height: number,\r\n\r\n    vehicle_image_min_width: number,\r\n    vehicle_image_min_height: number,\r\n\r\n    item_image_min_width: number,\r\n    item_image_min_height: number,\r\n\r\n    product_image_min_width: number,\r\n    product_image_min_height: number,\r\n\r\n    delivery_image_max_width: number,\r\n    delivery_image_max_height: number,\r\n\r\n    vehicle_image_max_width: number,\r\n    vehicle_image_max_height: number,\r\n\r\n    item_image_max_width: number,\r\n    item_image_max_height: number,\r\n\r\n    product_image_max_width: number,\r\n    product_image_max_height: number,\r\n\r\n    delivery_map_pin_min_width: number,\r\n    delivery_map_pin_min_height: number,\r\n    vehicle_map_pin_min_width: number,\r\n    vehicle_map_pin_min_height: number,\r\n\r\n    delivery_map_pin_max_width: number,\r\n    delivery_map_pin_max_height: number,\r\n    vehicle_map_pin_max_width: number,\r\n    vehicle_map_pin_max_height: number,\r\n\r\n    ads_fullscreen_image_ratio: number,\r\n    ads_banner_image_ratio: number,\r\n\r\n    ads_fullscreen_image_min_width: number,\r\n    ads_fullscreen_image_min_height: number,\r\n    ads_fullscreen_image_max_width: number,\r\n    ads_fullscreen_image_max_height: number,\r\n    ads_banner_image_min_width: number,\r\n    ads_banner_image_min_height: number,\r\n    ads_banner_image_max_width: number,\r\n    ads_banner_image_max_height: number\r\n}\r\n\r\n@Component({\r\n    selector: 'app-image_setting',\r\n    template: require('./image_setting.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class ImageSettingComponent implements OnInit {\r\n\r\n    private image_setting: ImageSetting;\r\n\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    admin_image_type_list: any[];\r\n    edit_button: Boolean;\r\n    myLoading: boolean = true;\r\n\r\nconstructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n    helper.toastr.setRootViewContainerRef(vcr);\r\n}\r\n\r\nngAfterViewInit() {\r\n    jQuery(\"#min_image_width\").chosen();\r\n    jQuery(\"#max_image_width\").chosen();\r\n    jQuery(\"#map_pin_min_width\").chosen();\r\n    jQuery(\"#map_pin_max_width\").chosen();\r\n    jQuery(\"#maximum\").chosen();\r\n    jQuery(\"#minimum\").chosen();\r\n    setTimeout(function () {\r\n        jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        jQuery('input').iCheck({\r\n            handle: 'checkbox',\r\n            checkboxClass: 'icheckbox_square-green',\r\n        });\r\n\r\n    }, 1000);\r\n}\r\n\r\nngOnInit() {\r\n    this.admin_image_type_list = this.helper.ADMIN_IMAGE_TYPES;\r\n    this.image_setting = {\r\n\r\n        delivery_image_ratio: null,\r\n        delivery_icon_ratio: null,\r\n        delivery_map_pin_ratio: null,\r\n        image_type: [],\r\n        icon_image_type: [],\r\n        map_pin_image_type: [],\r\n\r\n\r\n        vehicle_image_ratio: null,\r\n        vehicle_map_pin_ratio: null,\r\n\r\n        product_image_ratio: null,\r\n        item_image_ratio: null,\r\n\r\n\r\n        delivery_icon_minimum_size: null,\r\n        delivery_icon_maximum_size: null,\r\n\r\n\r\n        delivery_image_min_width: null,\r\n        delivery_image_min_height: null,\r\n\r\n        vehicle_image_min_width: null,\r\n        vehicle_image_min_height: null,\r\n\r\n        item_image_min_width: null,\r\n        item_image_min_height: null,\r\n\r\n        product_image_min_width: null,\r\n        product_image_min_height: null,\r\n\r\n        delivery_image_max_width: null,\r\n        delivery_image_max_height: null,\r\n\r\n        vehicle_image_max_width: null,\r\n        vehicle_image_max_height: null,\r\n\r\n        item_image_max_width: null,\r\n        item_image_max_height: null,\r\n\r\n        product_image_max_width: null,\r\n        product_image_max_height: null,\r\n\r\n        delivery_map_pin_min_width: null,\r\n        delivery_map_pin_min_height: null,\r\n        vehicle_map_pin_min_width: null,\r\n        vehicle_map_pin_min_height: null,\r\n\r\n        delivery_map_pin_max_width: null,\r\n        delivery_map_pin_max_height: null,\r\n        vehicle_map_pin_max_width: null,\r\n        vehicle_map_pin_max_height: null,\r\n\r\n        ads_fullscreen_image_ratio: null,\r\n        ads_banner_image_ratio: null,\r\n\r\n        ads_fullscreen_image_min_width: null,\r\n        ads_fullscreen_image_min_height: null,\r\n        ads_fullscreen_image_max_width: null,\r\n        ads_fullscreen_image_max_height: null,\r\n        ads_banner_image_min_width: null,\r\n        ads_banner_image_min_height: null,\r\n        ads_banner_image_max_width: null,\r\n        ads_banner_image_max_height: null\r\n    }\r\n\r\n    var admin_id = localStorage.getItem('admin_id');\r\n    if (admin_id != \"\" || admin_id != undefined) {\r\n        this.helper.http.post('/admin/get_detail', {admin_id: admin_id}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n            if (res_data.success == true) {\r\n                if (res_data.admin.admin_type == 3) {\r\n                    this.edit_button = false;\r\n                }\r\n            }\r\n        });\r\n    }\r\n\r\n    this.helper.http.post('/admin/get_image_setting_detail', {}).map((res: Response) => res.json()).subscribe(res_data => {\r\n        this.myLoading = false;\r\n\r\n        //this.image_setting.image_type = res_data.image_setting_data.image_type;\r\n        //this.image_setting.icon_image_type = res_data.image_setting_data.icon_image_type;\r\n        //this.image_setting.map_pin_image_type = res_data.image_setting_data.map_pin_image_type;\r\n\r\n        res_data.image_setting_data.image_type.forEach(function (image_type_data) {\r\n            var img = image_type_data.split('/');\r\n            setTimeout(() => {\r\n                jQuery('#icheck' + img[1]).iCheck('check');\r\n            }, 1000);\r\n        });\r\n\r\n        res_data.image_setting_data.icon_image_type.forEach(function (image_icon_type_data) {\r\n            var img1 = image_icon_type_data.split('/');\r\n            setTimeout(() => {\r\n                jQuery('#icon_icheck' + img1[1]).iCheck('check');\r\n            }, 1000);\r\n        });\r\n\r\n        res_data.image_setting_data.map_pin_image_type.forEach(function (image_map_pin_type_data) {\r\n            var img2 = image_map_pin_type_data.split('/');\r\n            setTimeout(() => {\r\n                jQuery('#map_icheck' + img2[1]).iCheck('check');\r\n            }, 1000);\r\n        });\r\n\r\n        this.image_setting.delivery_image_ratio = res_data.image_setting_data.delivery_image_ratio;\r\n        this.image_setting.delivery_icon_ratio = res_data.image_setting_data.delivery_icon_ratio;\r\n        this.image_setting.delivery_map_pin_ratio = res_data.image_setting_data.delivery_map_pin_ratio;\r\n        this.image_setting.vehicle_image_ratio = res_data.image_setting_data.vehicle_image_ratio;\r\n\r\n        this.image_setting.vehicle_map_pin_ratio = res_data.image_setting_data.vehicle_map_pin_ratio;\r\n        this.image_setting.product_image_ratio = res_data.image_setting_data.product_image_ratio;\r\n        this.image_setting.item_image_ratio = res_data.image_setting_data.item_image_ratio;\r\n        this.image_setting.delivery_icon_minimum_size = res_data.image_setting_data.delivery_icon_minimum_size;\r\n\r\n\r\n        this.image_setting.delivery_icon_maximum_size = res_data.image_setting_data.delivery_icon_maximum_size;\r\n\r\n        this.image_setting.delivery_image_min_width = res_data.image_setting_data.delivery_image_min_width;\r\n        this.image_setting.delivery_image_min_height = res_data.image_setting_data.delivery_image_min_height;\r\n        this.image_setting.vehicle_image_min_width = res_data.image_setting_data.vehicle_image_min_width;\r\n        this.image_setting.vehicle_image_min_height = res_data.image_setting_data.vehicle_image_min_height;\r\n\r\n        this.image_setting.item_image_min_width = res_data.image_setting_data.item_image_min_width;\r\n        this.image_setting.item_image_min_height = res_data.image_setting_data.item_image_min_height;\r\n        this.image_setting.product_image_min_width = res_data.image_setting_data.product_image_min_width;\r\n        this.image_setting.product_image_min_height = res_data.image_setting_data.product_image_min_height;\r\n\r\n\r\n        this.image_setting.delivery_image_max_width = res_data.image_setting_data.delivery_image_max_width;\r\n        this.image_setting.delivery_image_max_height = res_data.image_setting_data.delivery_image_max_height;\r\n        this.image_setting.vehicle_image_max_width = res_data.image_setting_data.vehicle_image_max_width;\r\n        this.image_setting.vehicle_image_max_height = res_data.image_setting_data.vehicle_image_max_height;\r\n\r\n\r\n        this.image_setting.item_image_max_width = res_data.image_setting_data.item_image_max_width;\r\n        this.image_setting.item_image_max_height = res_data.image_setting_data.item_image_max_height;\r\n        this.image_setting.product_image_max_width = res_data.image_setting_data.product_image_max_width;\r\n        this.image_setting.product_image_max_height = res_data.image_setting_data.product_image_max_height;\r\n\r\n\r\n        this.image_setting.delivery_map_pin_min_width = res_data.image_setting_data.delivery_map_pin_min_width;\r\n        this.image_setting.delivery_map_pin_min_height = res_data.image_setting_data.delivery_map_pin_min_height;\r\n        this.image_setting.vehicle_map_pin_min_width = res_data.image_setting_data.vehicle_map_pin_min_width;\r\n        this.image_setting.vehicle_map_pin_min_height = res_data.image_setting_data.vehicle_map_pin_min_height;\r\n\r\n        this.image_setting.delivery_map_pin_max_width = res_data.image_setting_data.delivery_map_pin_max_width;\r\n        this.image_setting.delivery_map_pin_max_height = res_data.image_setting_data.delivery_map_pin_max_height;\r\n        this.image_setting.vehicle_map_pin_max_width = res_data.image_setting_data.vehicle_map_pin_max_width;\r\n        this.image_setting.vehicle_map_pin_max_height = res_data.image_setting_data.vehicle_map_pin_max_height;\r\n\r\n\r\n    });\r\n\r\n    setTimeout(() => {\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('.icheck').on('ifChecked', (event, res_data) => {\r\n\r\n            var id = event.target.getAttribute('value')\r\n            this.image_setting.image_type.push(id)\r\n\r\n\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('.icheck').on('ifUnchecked', (event, res_data) => {\r\n\r\n            var id = event.target.getAttribute('value')\r\n            var i = this.image_setting.image_type.indexOf(id);\r\n            if (i != -1) {\r\n                this.image_setting.image_type.splice(i, 1);\r\n            }\r\n\r\n        });\r\n\r\n\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('.icon_icheck').on('ifChecked', (event, res_data) => {\r\n\r\n            var id = event.target.getAttribute('value')\r\n            this.image_setting.icon_image_type.push(id)\r\n\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('.icon_icheck').on('ifUnchecked', (event, res_data) => {\r\n\r\n            var id = event.target.getAttribute('value')\r\n            var i = this.image_setting.icon_image_type.indexOf(id);\r\n            if (i != -1) {\r\n                this.image_setting.icon_image_type.splice(i, 1);\r\n            }\r\n\r\n        });\r\n\r\n\r\n\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('.map_icheck').on('ifChecked', (event, res_data) => {\r\n\r\n            var id = event.target.getAttribute('value')\r\n            this.image_setting.map_pin_image_type.push(id)\r\n\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('.map_icheck').on('ifUnchecked', (event, res_data) => {\r\n\r\n            var id = event.target.getAttribute('value')\r\n            var i = this.image_setting.map_pin_image_type.indexOf(id);\r\n            if (i != -1) {\r\n                this.image_setting.map_pin_image_type.splice(i, 1);\r\n            }\r\n        });\r\n\r\n\r\n\r\n        //\r\n        //            jQuery(this.helper.elementRef.nativeElement).find('.icon_icheck').on('ifChecked', (event, res_data) => {\r\n        //\r\n        //                var id = event.target.getAttribute('value')\r\n        //                this.image_setting.icon_image_type = id;\r\n        //\r\n        //            });\r\n        //\r\n        //            jQuery(this.helper.elementRef.nativeElement).find('.icon_icheck').on('ifUnchecked', (event, res_data) => {\r\n        //\r\n        //                var id = event.target.getAttribute('value')\r\n        //                this.image_setting.icon_image_type = id;\r\n        //            });\r\n\r\n\r\n        //\r\n\r\n        //            jQuery(this.helper.elementRef.nativeElement).find('.map_icheck').on('ifChecked', (event, res_data) => {\r\n        //\r\n        //                var id = event.target.getAttribute('value')\r\n        //                this.image_setting.map_pin_image_type = id;\r\n        //\r\n        //            });\r\n        //\r\n        //            jQuery(this.helper.elementRef.nativeElement).find('.map_icheck').on('ifUnchecked', (event, res_data) => {\r\n        //\r\n        //                var id = event.target.getAttribute('value')\r\n        //                this.image_setting.map_pin_image_type = id;\r\n        //            });\r\n\r\n\r\n\r\n\r\n    });\r\n\r\n    jQuery(this.helper.elementRef.nativeElement).find('#min_image_width').on('change', (evnt, res_data) => {\r\n\r\n\r\n        this.image_setting.delivery_image_min_width = res_data.selected;\r\n        this.get_min_image_height(res_data.selected);\r\n\r\n    });\r\n\r\n    jQuery(this.helper.elementRef.nativeElement).find('#max_image_width').on('change', (evnt, res_data) => {\r\n        this.image_setting.delivery_image_max_width = res_data.selected;\r\n        this.get_max_image_height(res_data.selected);\r\n    });\r\n\r\n\r\n    jQuery(this.helper.elementRef.nativeElement).find('#map_pin_min_width').on('change', (evnt, res_data) => {\r\n        this.image_setting.delivery_map_pin_min_width = res_data.selected;\r\n        this.get_min_map_pin_height(res_data.selected);\r\n\r\n    });\r\n    jQuery(this.helper.elementRef.nativeElement).find('#map_pin_max_width').on('change', (evnt, res_data) => {\r\n        this.image_setting.delivery_map_pin_max_width = res_data.selected;\r\n        this.get_max_map_pin_height(res_data.selected);\r\n\r\n    });\r\n\r\n    jQuery(this.helper.elementRef.nativeElement).find('#minimum').on('change', (evnt, res_data) => {\r\n        this.image_setting.delivery_icon_minimum_size = res_data.selected;\r\n        this.get_icon_max_size(res_data.selected);\r\n\r\n    });\r\n\r\n\r\n    this.title = this.helper.title;\r\n    this.button = this.helper.button;\r\n    this.heading_title = this.helper.heading_title;\r\n}\r\n\r\nget_min_image_height(min_image_width) {\r\n    this.image_setting.delivery_image_min_height = min_image_width / this.image_setting.delivery_image_ratio;\r\n}\r\n\r\nget_max_image_height(max_image_width) {\r\n    this.image_setting.delivery_image_max_height = max_image_width / this.image_setting.delivery_image_ratio;\r\n}\r\n\r\n\r\n\r\nget_min_map_pin_height(min_map_pin_width) {\r\n    this.image_setting.delivery_map_pin_min_height = min_map_pin_width / this.image_setting.delivery_map_pin_ratio;\r\n}\r\n\r\n\r\nget_max_map_pin_height(max_map_pin_width) {\r\n    this.image_setting.delivery_map_pin_max_height = max_map_pin_width / this.image_setting.delivery_map_pin_ratio;\r\n\r\n}\r\n\r\nget_icon_max_size(icon_minimum_size) {\r\n    this.image_setting.delivery_icon_maximum_size = icon_minimum_size / this.image_setting.delivery_icon_ratio;\r\n\r\n}\r\n\r\n\r\nAdminImageSetting(adminimagesettingdata) {\r\n    this.helper.http.post('/admin/update_image_setting', adminimagesettingdata).map((res: Response) => res.json()).subscribe(res_data => {\r\n        this.myLoading = false;\r\n        this.helper.data.storage = {\r\n            \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n            \"class\": \"alert-info\"\r\n        }\r\n        this.helper.message();\r\n        this.helper.router.navigate(['setting/image_setting']);\r\n    },\r\n        (error: any) => {\r\n            this.myLoading = false;\r\n            this.helper.http_status(error)\r\n        });\r\n}\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/image_setting/image_setting.component.ts","import {Component, OnInit, ViewContainerRef} from '@angular/core';\r\nimport {Response} from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport {Helper} from \"../../helper\";\r\n\r\n\r\n@Component({\r\n    selector: 'app-installation_setting',\r\n    template: require('./installation_setting.component.html'),\r\n    providers: [Helper]\r\n\r\n})\r\nexport class InstallationSettingComponent implements OnInit {\r\n\r\n\r\n    title: any;\r\n    button: any;\r\n    type: String;\r\n    heading_title: any;\r\n    edit_button: Boolean;\r\n    //public store_logo : string = \"web_images/store_logo.png\";\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n\r\n        var admin_id = localStorage.getItem('admin_id');\r\n        if (admin_id != \"\" || admin_id != undefined) {\r\n            this.helper.http.post('/admin/get_detail', {admin_id: admin_id}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n                if (res_data.success == true) {\r\n                    if (res_data.admin.admin_type == 3) {\r\n                        this.edit_button = false;\r\n                    }\r\n                }\r\n            });\r\n        }\r\n    }\r\n\r\n    public formData = new FormData();\r\n\r\n\r\n    logo_image($event) {\r\n        this.formData = new FormData();\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const logo_image = files[0];\r\n        // this.add_delivery.icon_url=icon_url\r\n        //this.formData.append('image_url', this.add_delivery.image_url);\r\n        this.formData.append('logo_image', logo_image);\r\n    }\r\n\r\n    title_image($event) {\r\n        this.formData = new FormData();\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const title_image = files[0];\r\n        // this.add_delivery.icon_url=icon_url\r\n        //this.formData.append('image_url', this.add_delivery.image_url);\r\n        this.formData.append('title_image', title_image);\r\n    }\r\n\r\n    mail_title_image($event) {\r\n        this.formData = new FormData();\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const mail_title_image = files[0];\r\n        // this.add_delivery.icon_url=icon_url\r\n        //this.formData.append('image_url', this.add_delivery.image_url);\r\n        this.formData.append('mail_title_image', mail_title_image);\r\n    }\r\n\r\n    mail_logo_image($event) {\r\n        this.formData = new FormData();\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const mail_logo_image = files[0];\r\n        // this.add_delivery.icon_url=icon_url\r\n        //this.formData.append('image_url', this.add_delivery.image_url);\r\n        this.formData.append('mail_logo_image', mail_logo_image);\r\n    }\r\n\r\n    store_logo_image($event) {\r\n        this.formData = new FormData();\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const store_logo_image = files[0];\r\n        // this.add_delivery.icon_url=icon_url\r\n        //this.formData.append('image_url', this.add_delivery.image_url);\r\n        this.formData.append('store_logo_image', store_logo_image);\r\n    }\r\n\r\n    user_logo_image($event) {\r\n        this.formData = new FormData();\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const user_logo_image = files[0];\r\n        // this.add_delivery.icon_url=icon_url\r\n        //this.formData.append('image_url', this.add_delivery.image_url);\r\n        this.formData.append('user_logo_image', user_logo_image);\r\n    }\r\n\r\n\r\n\r\n    addImage(image_data) {\r\n        //this.store_logo = \"web_images/store_logos.png\";\r\n        this.helper.http.post('/admin/upload_logo_images', this.formData).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n\r\n            this.helper.data.storage = {\r\n                \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                \"class\": \"alert-info\"\r\n            }\r\n            this.helper.message();\r\n            location.reload();\r\n            //this.store_logo = \"web_images/store_logo.png\";\r\n            //           this.helper.router.navigate(['setting/installation_setting']);\r\n\r\n        });\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/installation_setting/installation_setting.component.ts","import {Component, OnInit, ViewContainerRef} from '@angular/core';\r\nimport {Http, Response} from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport {Helper} from \"../../helper\";\r\ndeclare var jQuery: any;\r\n\r\nexport interface IosPushNotificationSetting {\r\n\r\n    user_certificate_mode: String,\r\n    provider_certificate_mode: String,\r\n    store_certificate_mode: String,\r\n    provider_passphrase: String,\r\n    user_passphrase: String,\r\n    store_passphrase: String,\r\n    ios_push_certificate_path: String\r\n\r\n}\r\n\r\n@Component({\r\n    selector: 'app-ios_push_notification_setting',\r\n    template: require('./ios_push_notification_setting.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class IosPushNotificationSettingComponent implements OnInit {\r\n\r\n    private ios_push_notification_setting: IosPushNotificationSetting;\r\n    title: any;\r\n    button: any;\r\n    type: String;\r\n    heading_title: any;\r\n    edit_button: Boolean;\r\n    myLoading: boolean = true;\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n\r\n        jQuery(\"#user_certificate_mode\").chosen({disable_search: true});\r\n        jQuery(\"#provider_certificate_mode\").chosen({disable_search: true});\r\n        jQuery(\"#store_certificate_mode\").chosen({disable_search: true});\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n\r\n            jQuery('input').iCheck({\r\n                handle: 'checkbox',\r\n                checkboxClass: 'icheckbox_square-green',\r\n            });\r\n        }, 1000);\r\n\r\n\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.ios_push_notification_setting = {\r\n            user_certificate_mode: \"\",\r\n            provider_certificate_mode: \"\",\r\n            store_certificate_mode: \"\",\r\n            provider_passphrase: \"\",\r\n            user_passphrase: \"\",\r\n            store_passphrase: \"\",\r\n            ios_push_certificate_path: \"\"\r\n\r\n\r\n        }\r\n        var admin_id = localStorage.getItem('admin_id');\r\n        if (admin_id != \"\" || admin_id != undefined) {\r\n            this.helper.http.post('/admin/get_detail', {admin_id: admin_id}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n                if (res_data.success == true) {\r\n                    if (res_data.admin.admin_type == 3) {\r\n                        this.edit_button = false;\r\n                    }\r\n                }\r\n            });\r\n        }\r\n        this.helper.http.post('/api/admin/get_app_keys', {}).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n\r\n            this.ios_push_notification_setting.user_certificate_mode = res_data.app_keys.user_certificate_mode,\r\n                this.ios_push_notification_setting.provider_certificate_mode = res_data.app_keys.provider_certificate_mode,\r\n                this.ios_push_notification_setting.store_certificate_mode = res_data.app_keys.store_certificate_mode,\r\n                this.ios_push_notification_setting.provider_passphrase = res_data.app_keys.provider_passphrase,\r\n                this.ios_push_notification_setting.user_passphrase = res_data.app_keys.user_passphrase,\r\n                this.ios_push_notification_setting.store_passphrase = res_data.app_keys.store_passphrase,\r\n                this.ios_push_notification_setting.ios_push_certificate_path = res_data.app_keys.ios_push_certificate_path\r\n\r\n\r\n\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#user_certificate_mode').on('change', (evnt, res_data) => {\r\n\r\n            this.ios_push_notification_setting.user_certificate_mode = res_data.selected;\r\n\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#provider_certificate_mode').on('change', (evnt, res_data) => {\r\n\r\n            this.ios_push_notification_setting.provider_certificate_mode = res_data.selected;\r\n\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#store_certificate_mode').on('change', (evnt, res_data) => {\r\n\r\n            this.ios_push_notification_setting.store_certificate_mode = res_data.selected;\r\n\r\n\r\n        });\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n    }\r\n\r\n    public formData = new FormData();\r\n    ios_user_cert_file_image($event) {\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const ios_user_cert_file = files[0];\r\n        this.formData.append('ios_user_cert_file', ios_user_cert_file);\r\n\r\n    }\r\n\r\n    ios_user_key_file_image($event) {\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const ios_user_key_file = files[0];\r\n        this.formData.append('ios_user_key_file', ios_user_key_file);\r\n    }\r\n\r\n    ios_provider_cert_file_image($event) {\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const ios_provider_cert_file = files[0];\r\n        this.formData.append('ios_provider_cert_file', ios_provider_cert_file);\r\n\r\n    }\r\n\r\n    ios_provider_key_file_image($event) {\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const ios_provider_key_file = files[0];\r\n        this.formData.append('ios_provider_key_file', ios_provider_key_file);\r\n\r\n    }\r\n\r\n    ios_store_cert_file_image($event) {\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const ios_store_cert_file = files[0];\r\n        this.formData.append('ios_store_cert_file', ios_store_cert_file);\r\n\r\n    }\r\n\r\n    ios_store_key_file_image($event) {\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const ios_store_key_file = files[0];\r\n        this.formData.append('ios_store_key_file', ios_store_key_file);\r\n\r\n    }\r\n\r\n\r\n\r\n    IosPushNotificationSetting(pushnotificationdata) {\r\n        this.formData.append(\"user_certificate_mode\", pushnotificationdata.user_certificate_mode);\r\n        this.formData.append(\"provider_certificate_mode\", pushnotificationdata.provider_certificate_mode);\r\n        this.formData.append(\"store_certificate_mode\", pushnotificationdata.store_certificate_mode);\r\n        this.formData.append(\"provider_passphrase\", pushnotificationdata.provider_passphrase);\r\n        this.formData.append(\"user_passphrase\", pushnotificationdata.user_passphrase);\r\n        this.formData.append(\"store_passphrase\", pushnotificationdata.store_passphrase);\r\n        this.formData.append(\"ios_push_certificate_path\", pushnotificationdata.ios_push_certificate_path);\r\n\r\n\r\n        this.helper.http.post('/admin/update_ios_push_notification_setting', this.formData).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            this.helper.data.storage = {\r\n                \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                \"class\": \"alert-info\"\r\n            }\r\n\r\n            this.helper.message();\r\n            this.helper.router.navigate(['setting/ios_push_notification_setting']);\r\n\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/ios_push_notification_setting/ios_push_notification_setting.component.ts","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {LocationTrackComponent} from './location_track.component';\r\nimport {FormsModule} from '@angular/forms';\r\nimport {TranslateModule} from 'ng2-translate';\r\n\r\n\r\n\r\n@NgModule({\r\n    imports: [\r\n        CommonModule, FormsModule, TranslateModule\r\n    ],\r\n    exports     : [LocationTrackComponent],\r\n    declarations: [LocationTrackComponent]\r\n})\r\nexport class LocationTrackModule {}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/location_track/location_track.module.ts","import {Component, OnInit} from '@angular/core';\r\nimport {Http, Response} from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport {Helper} from \"../../helper\";\r\ndeclare var jQuery: any;\r\n\r\nexport interface CreateMassNotification {\r\n    user_type: number,\r\n    device_type: string,\r\n    message: string,\r\n    country: string,\r\n    delivery: string,\r\n    city:string\r\n}\r\n\r\n@Component({\r\n    selector: 'app-mass_notification',\r\n    template: require('./mass_notification.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class MassNotificationComponent implements OnInit {\r\n\r\n    constructor(public helper: Helper) {\r\n    }\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    validation_message: any;\r\n    DATE_FORMAT: any;\r\n    \r\n\r\n    mass_notification_list: any[] = [];\r\n\r\n    create_mass_notification: CreateMassNotification;\r\n    country_list: any[] = [];\r\n    delivery_list: any[] = [];\r\n    city_list: any[] = [];\r\n    page: number = 1;\r\n    total_pages: number[];\r\n    total_page: number = 1;\r\n    page_number: number = 1;\r\n    show_city:boolean = false;\r\n    show_delivery:boolean = false;\r\n    user_type: any = '';\r\n\r\n    ngOnInit() {\r\n\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.validation_message = this.helper.validation_message;\r\n        this.DATE_FORMAT = this.helper.DATE_FORMAT;\r\n\r\n        jQuery('.chosen-select').chosen();\r\n        setTimeout(() => {\r\n            jQuery('.chosen-select').trigger(\"chosen:updated\");\r\n        }, 1000);\r\n        jQuery(this.helper.elementRef.nativeElement).find('#device_type').on('change', (evnt, res_data) => {\r\n            this.create_mass_notification.device_type = res_data.selected;\r\n\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#user_type1').on('change', (evnt, res_data) => {\r\n                this.user_type = res_data.selected;\r\n                this.get_mass_notification_list(this.page)\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#user_type').on('change', (evnt, res_data) => {\r\n            this.create_mass_notification.user_type = res_data.selected;\r\n            console.log(\"this.create_mass_notification.user_type\" + this.create_mass_notification.user_type);\r\n            if(this.create_mass_notification.user_type == 2){\r\n                this.show_delivery = true;\r\n                console.log(\"this.show_delivery\" + this.show_delivery);\r\n            }\r\n            if(this.create_mass_notification.user_type != 7){\r\n                this.show_city = true;\r\n                console.log(\"this.show_city\" + this.show_city);\r\n            }\r\n            \r\n            this.get_delivery_list();\r\n        });\r\n        this.create_mass_notification = {\r\n            device_type: 'both',\r\n            message: '',\r\n            user_type: 7,\r\n            country: 'all',\r\n            city: 'all',\r\n            delivery: ''\r\n        }\r\n        this.get_mass_notification_list(1);\r\n        this.helper.http.get('/admin/get_server_country_list').map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.country_list = res_data.countries;\r\n            setTimeout(() => {\r\n                jQuery('#country').trigger('chosen:updated');\r\n            }, 1000);\r\n            jQuery(this.helper.elementRef.nativeElement).find('#country').on('change', (evnt, res_data) => {\r\n                this.create_mass_notification.country = res_data.selected;\r\n                this.get_city_list(res_data.selected);\r\n            });\r\n        });\r\n\r\n\r\n    }\r\n\r\n    get_city_list(countryid) {\r\n        this.create_mass_notification.country = countryid;\r\n        this.helper.http.post('/api/admin/get_city_list', {country_id: countryid}).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            this.city_list = res_data.cities;\r\n        });\r\n        setTimeout(function () {\r\n            jQuery(\"#city\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#city').on('change', (evnt, res_data) => {\r\n            this.create_mass_notification.city = res_data.selected;\r\n        });\r\n    }\r\n\r\n\r\n    get_mass_notification_list(page) {\r\n\r\n        page = Number(page);\r\n        if (page > this.total_page) {\r\n            page = this.total_page;\r\n        }\r\n        if (page == '') {\r\n            page = 1;\r\n        }\r\n        this.page = JSON.parse(JSON.stringify(page));\r\n        this.page_number = JSON.parse(JSON.stringify(page));\r\n        this.helper.http.post('/admin/get_mass_notification_list', {page: page, user_type: this.user_type}).map((res: Response) => res.json()).subscribe(res_data => {\r\n            if (res_data.success) {\r\n                this.total_page = res_data.pages;\r\n                this.total_pages = Array(res_data.pages).fill((x, i) => i).map((x, i) => i + 1)\r\n                this.mass_notification_list = res_data.mass_notification_list;\r\n            } else {\r\n                this.total_pages = [];\r\n                this.mass_notification_list = [];\r\n            }\r\n        });\r\n    }\r\n\r\n    get_delivery_list() {\r\n        this.helper.http.get('/admin/delivery_list').map((res: Response) => res.json()).subscribe(res => {\r\n\r\n            this.delivery_list = res.deliveries;\r\n            setTimeout(() => {\r\n                jQuery('#delivery').trigger('chosen:updated');\r\n            }, 1000);\r\n\r\n            jQuery(this.helper.elementRef.nativeElement).find('#delivery').on('change', (evnt, res_data) => {\r\n                this.create_mass_notification.delivery = res_data.selected;\r\n            });\r\n        });\r\n    }\r\n\r\n\r\n    generate_mass_notification() {\r\n        console.log(\"generate_mass_notification\");\r\n        console.log(this.create_mass_notification);\r\n        this.helper.http.post('/admin/create_mass_notifications', this.create_mass_notification).map((res: Response) => res.json()).subscribe(res_data => {\r\n            console.log(res_data);\r\n            if (res_data.success) {\r\n\r\n                if (this.create_mass_notification.country != 'all') {\r\n                    let country_index = this.country_list.findIndex((x) => x._id == this.create_mass_notification.country);\r\n                    res_data.mass_notification_data.country_detail = this.country_list[country_index];\r\n                }\r\n\r\n                this.mass_notification_list.push(res_data.mass_notification_data);\r\n\r\n                this.create_mass_notification = {\r\n                    device_type: 'both',\r\n                    message: '',\r\n                    user_type: 7,\r\n                    country: 'all',\r\n                    city: 'all',\r\n                    delivery: ''\r\n                }\r\n\r\n                setTimeout(() => {\r\n                    jQuery('.chosen-select').trigger(\"chosen:updated\");\r\n                }, 1000);\r\n            } else {\r\n\r\n            }\r\n\r\n        });\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/mass_notification/mass_notification.component.ts","import {Component, OnInit, ViewChild, ViewContainerRef} from \"@angular/core\";\r\nimport {Response} from '@angular/http';\r\nimport {Helper} from \"../../helper\";\r\ndeclare var jQuery: any;\r\nimport * as moment from 'moment-timezone';\r\nimport {ModalComponent} from \"ng2-bs3-modal/ng2-bs3-modal\";\r\ndeclare var swal: any;\r\n\r\n@Component({\r\n    selector: 'app-order',\r\n    template: require('./order.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class OrderComponent implements OnInit {\r\n\r\n    @ViewChild('order_detail_modal')\r\n    order_detail_modal: ModalComponent;\r\n    \r\n    title: any;\r\n    button: any;\r\n    ORDER_STATE: any;\r\n    DATE_FORMAT: any;\r\n    heading_title: any;\r\n    status: any;\r\n    lable_title: any;\r\n    order_list: any[];\r\n    interval: any;\r\n    search_field: string;\r\n    search_value: string;\r\n    number_of_rec: number = 10;\r\n    page: number;\r\n    total_page: number;\r\n    total_pages: number[];\r\n    myLoading: boolean = true;\r\n    moment: any;\r\n    timezone: string;\r\n    order_detail: any = {};\r\n    order_status: any = 'all';\r\n    pickup_type: any = 'both';\r\n    created_by: any = 'both';\r\n    payment_status: any = 'all';\r\n    order_type: any = 'both';\r\n    total_item:number = 0;\r\n    order_total:number = 0;\r\n    product_item_total:number = 0;\r\n    product_item_total_array:number[] = [];\r\n    product_item_specification_total:number = 0;\r\n    product_item_specification_total_array:number[] = [];\r\n    product_specification_total_array:any[] = [];\r\n    hide_specification_group: any[] = [];\r\n    specifications: any[] = [];\r\n    item_note: string = '';\r\n    is_show_specification: boolean = false;\r\n    estimated_time: number = null;\r\n\r\n    store_id: string = '';\r\n    order_id: string = '';\r\n\r\n    constructor(private helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n    ngAfterViewInit() {\r\n\r\n        jQuery(\".chosen-select\").chosen({disable_search: true});\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.search_field = \"user_first_name\";\r\n        this.search_value = \"\";\r\n        //        this.start_date = '';\r\n        //        this.end_date = '';\r\n        this.page = 1\r\n        this.moment = moment;\r\n        this.timezone = \"\";\r\n\r\n        this.helper.message();\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.ORDER_STATE = this.helper.ORDER_STATE\r\n        this.DATE_FORMAT = this.helper.DATE_FORMAT\r\n        this.status = this.helper.status\r\n        this.lable_title = this.helper.lable_title\r\n        this.order_list = [];\r\n\r\n        this.orderDetail()\r\n        this.interval = setInterval(() => {\r\n            this.orderDetail()\r\n        }, this.helper.TIMEOUT.NEW_ORDER_REQUEST);\r\n\r\n        this.admin_history(1)\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#order_status').on('change', (evnt, res_data) => {\r\n\r\n            this.order_status = res_data.selected;\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#pickup_type').on('change', (evnt, res_data) => {\r\n\r\n            this.pickup_type = res_data.selected;\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#created_by').on('change', (evnt, res_data) => {\r\n\r\n            this.created_by = res_data.selected;\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#order_type').on('change', (evnt, res_data) => {\r\n\r\n            this.order_type = res_data.selected;\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#payment_status').on('change', (evnt, res_data) => {\r\n\r\n            this.payment_status = res_data.selected;\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#search_field').on('change', (evnt, res_data) => {\r\n\r\n            this.search_field = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#number_of_rec').on('change', (evnt, res_data) => {\r\n            this.number_of_rec = res_data.selected;\r\n            this.admin_history(1)\r\n        });\r\n    }\r\n    ngOnDestroy() {\r\n        clearInterval(this.interval);\r\n    }\r\n    activeRoute(routename: string): boolean {\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n\r\n    completeDeliveryModal(order_id, store_id) {\r\n        this.order_id = order_id;\r\n        \r\n        swal({\r\n            title: 'Are you sure?',\r\n            text: \"You won't be able to revert this!\",\r\n            type: 'warning',\r\n            showCancelButton: true,\r\n            confirmButtonColor: '#3085d6',\r\n            cancelButtonColor: '#d33',\r\n            confirmButtonText: 'Yes'\r\n        }).then(() => {\r\n            this.myLoading = true;\r\n            this.helper.http.post('/api/store/complete_order', {\r\n                store_id: store_id,\r\n                order_id: this.order_id,\r\n                type: this.helper.ADMIN_DATA_ID.ADMIN\r\n            }).map((res: Response) => res.json()).subscribe(res_data => {\r\n                this.myLoading = false;\r\n                if (res_data.success == false) {\r\n\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message()\r\n                }\r\n                else {\r\n                    let order_index = this.order_list.findIndex((x)=>x._id==this.order_id);\r\n                    this.order_list.splice(order_index, 1);\r\n                }\r\n            },(error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n        });\r\n    }\r\n\r\n    orderStatus(status, store_id, order_id, order_type, is_user_pick_up_order, is_schedule_order) {\r\n        swal({\r\n            title: 'Are you sure?',\r\n            text: \"You won't be able to revert this!\",\r\n            type: 'warning',\r\n            showCancelButton: true,\r\n            confirmButtonColor: '#3085d6',\r\n            cancelButtonColor: '#d33',\r\n            confirmButtonText: 'Yes'\r\n        }).then(() => {\r\n            let data = {    \r\n                order_id: order_id,\r\n                order_type: order_type,\r\n                order_status: status\r\n            }\r\n            var store = JSON.parse(localStorage.getItem('store'));\r\n            this.myLoading = true;\r\n            this.helper.http.post('/api/store/set_order_status', {\r\n                store_id: store_id,\r\n                order_id: data.order_id,\r\n                order_status: data.order_status,\r\n                type: this.helper.ADMIN_DATA_ID.ADMIN\r\n            }).map((res: Response) => res.json()).subscribe(res_data => {\r\n                this.myLoading = false;\r\n                if (res_data.success == false) {\r\n\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message()\r\n                }\r\n                else {\r\n                    if(status == this.ORDER_STATE.STORE_ACCEPTED && !is_schedule_order && !is_user_pick_up_order){\r\n                        this.orderAssignProvider(data.order_id, store_id)\r\n                    } else {\r\n                        this.orderDetail();\r\n                    }\r\n                }\r\n            },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n        }).catch(swal.noop)\r\n    }\r\n\r\n    orderAssignProvider(order_id, store_id) {\r\n        // swal({\r\n        //     title: 'Are you sure?',\r\n        //     text: \"You won't be able to revert this!\",\r\n        //     type: 'warning',\r\n        //     showCancelButton: true,\r\n        //     confirmButtonColor: '#3085d6',\r\n        //     cancelButtonColor: '#d33',\r\n        //     confirmButtonText: 'Yes'\r\n        // }).then(() => {\r\n            this.myLoading = true;\r\n            let json;\r\n            var store = JSON.parse(localStorage.getItem('store'));\r\n            // if (store.is_ask_estimated_time_for_ready_order) {\r\n            //     json = {store_id: store_id, type: this.helper.ADMIN_DATA_ID.ADMIN, order_id: order_id, estimated_time_for_ready_order: this.estimated_time}\r\n            // } else {\r\n                json = {store_id: store_id, type: this.helper.ADMIN_DATA_ID.ADMIN, order_id: order_id}\r\n            // }\r\n            this.helper.http.post('/api/store/create_request', json).map((res: Response) => res.json()).subscribe(res_data => {\r\n         \r\n                this.myLoading = false;\r\n                if (res_data.success == false) {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message();\r\n                }\r\n                else {\r\n                    \r\n                }\r\n                this.orderDetail();\r\n            },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n        // }).catch(swal.noop)\r\n    }\r\n\r\n    cancelOrder(store_id, order_id){\r\n        swal({\r\n            title: 'Are you sure?',\r\n            text: \"You won't be able to revert this!\",\r\n            type: 'warning',\r\n            showCancelButton: true,\r\n            confirmButtonColor: '#3085d6',\r\n            cancelButtonColor: '#d33',\r\n            confirmButtonText: 'Yes'\r\n        }).then(() => {\r\n            this.helper.http.post('/api/store/store_cancel_or_reject_order', {\r\n                store_id: store_id,\r\n                order_id: order_id,\r\n                order_status: this.helper.ORDER_STATE.ADMIN_CANCELLED, \r\n                type: this.helper.ADMIN_DATA_ID.ADMIN\r\n            }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n                if (res_data.success == false) {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message();\r\n                }\r\n                else {\r\n                    \r\n                }\r\n                this.orderDetail();\r\n            });\r\n        }).catch(swal.noop)\r\n    }\r\n\r\n    view_cart(id) {\r\n        this.helper.router_id.admin.order_id = id;\r\n        this.helper.router.navigate(['admin/view_cart']);\r\n    }\r\n\r\n    admin_history(page) {\r\n        this.myLoading = true;\r\n        this.page = page;\r\n        this.helper.http.post('/admin/orders_list', {\r\n            order_status: this.order_status, number_of_rec: this.number_of_rec, payment_status: this.payment_status, pickup_type: this.pickup_type, created_by: this.created_by,\r\n            order_type: this.order_type, search_field: this.search_field, search_value: this.search_value, page: this.page\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n\r\n                this.order_list = [];\r\n                this.total_pages = [];\r\n\r\n            }\r\n            else {\r\n                this.timezone = res_data.timezone;\r\n                this.order_list = res_data.orders;\r\n                this.total_page = res_data.pages;\r\n                this.total_pages = Array(res_data.pages).fill((x, i) => i).map((x, i) => i + 1)\r\n                if(this.order_list.length>0){\r\n                    // this.order_detail = this.order_list[0];\r\n                    this.get_order_detail(this.order_list[0]._id)\r\n                }\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    orderDetail() {\r\n        this.helper.http.post('/admin/orders_list', {order_status: this.order_status, payment_status: this.payment_status, pickup_type: this.pickup_type,\r\n            created_by: this.created_by, number_of_rec: this.number_of_rec, order_type: this.order_type, search_field: this.search_field, search_value: this.search_value, page: this.page\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n                this.order_list = [];\r\n                this.total_page = res_data.pages;\r\n                this.total_pages = Array(res_data.pages).fill((x, i) => i).map((x, i) => i + 1)\r\n            }\r\n            else {\r\n                this.timezone = res_data.timezone;\r\n                this.total_page = res_data.pages;\r\n                this.total_pages = Array(res_data.pages).fill((x, i) => i).map((x, i) => i + 1)\r\n\r\n                this.order_list.forEach((value, index) => {\r\n\r\n                    var new_index = res_data.orders.findIndex(x => x._id == this.order_list[index]._id)\r\n                    if (new_index == -1) {\r\n                        this.order_list.splice(index, 1)\r\n                    }\r\n                    else {\r\n                        this.order_list[index].order_status = res_data.orders[new_index].order_status;\r\n                        this.order_list[index].total = res_data.orders[new_index].total;\r\n                        // this.order_list[index].total_delivery_price = res_data.orders[new_index].total_delivery_price;\r\n\r\n                    }\r\n                });\r\n\r\n                res_data.orders.forEach((new_value, index) => {\r\n                    var aaa = this.order_list.findIndex(x => x._id == res_data.orders[index]._id)\r\n\r\n                    if (aaa == -1) {\r\n                        this.order_list.push(new_value)\r\n                    }\r\n\r\n                });\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n    \r\n    // order_export_csv\r\n    order_export_csv() {\r\n        this.helper.http.post('/admin/orders_list', {\r\n            order_status: this.order_status, number_of_rec: this.number_of_rec, payment_status: this.payment_status,  pickup_type: this.pickup_type, created_by: this.created_by,\r\n            order_type: this.order_type, search_field: this.search_field, search_value: this.search_value\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            var json2csv = require('json2csv');\r\n            res_data.orders.forEach((order, index) => {\r\n                if (order.order_payment_detail.is_paid_from_wallet) {\r\n                    order.payment_status = this.title.wallet;\r\n                } else {\r\n                    if (order.order_payment_detail.is_payment_mode_cash) {\r\n                        order.payment_status = this.lable_title.cash;\r\n                    } else {\r\n                        if (order.order_payment_detail.length > 0) {\r\n                        order.payment_status = order.payment_gateway_detail[0].name;\r\n                        }\r\n                    }\r\n                }\r\n\r\n                order.user_name = order.user_detail.first_name + ' ' + order.user_detail.last_name;\r\n                order.store_name = order.store_detail.name;\r\n               \r\n                order.city_name = order.city_detail.city_name;\r\n                \r\n\r\n                switch (order.order_status) {\r\n                    case this.ORDER_STATE.WAITING_FOR_ACCEPT_STORE:\r\n                        order.status = this.status.waiting_for_accept;\r\n                        break;\r\n                    case this.ORDER_STATE.STORE_ACCEPTED:\r\n                        order.status = this.status.accepted;\r\n                        break;\r\n                    case this.ORDER_STATE.STORE_PREPARING_ORDER:\r\n                        order.status = this.status.start_preparing_order;\r\n                        break;\r\n                    case this.ORDER_STATE.OREDER_READY:\r\n                        order.status = this.status.order_ready;\r\n                        break;\r\n                    default:\r\n                        order.satus = '';\r\n                }\r\n                order.amount = ((+order.order_payment_detail.total_delivery_price + +order.order_payment_detail.total_order_price).toFixed(2));\r\n            });\r\n\r\n            var fieldNames = [this.title.id,\r\n            this.title.user,\r\n            this.title.store,\r\n            this.title.city,\r\n            this.title.status,\r\n            this.title.amount,\r\n            this.title.payment_by,\r\n            this.title.date,\r\n            this.title.delivery_at\r\n            ];\r\n            var fields = ['unique_id',\r\n                'user_name',\r\n                'store_name',\r\n                'city_name',\r\n                'status',\r\n                'amount',\r\n                'payment_status',\r\n                'created_at',\r\n                'store_order_created_at'\r\n            ];\r\n           \r\n            var csv = json2csv({data: res_data.orders, fields: fields, fieldNames: fieldNames});\r\n\r\n            var final_csv: any = csv;\r\n            this.helper.downloadFile(final_csv);\r\n        });\r\n    }\r\n    \r\n    \r\n    \r\n    \r\n    \r\n    orders_export_excel() {\r\n        this.helper.http.post('/admin/orders_list', {\r\n            order_status: this.order_status, number_of_rec: this.number_of_rec, payment_status: this.payment_status,  pickup_type: this.pickup_type, created_by: this.created_by,\r\n            order_type: this.order_type, search_field: this.search_field, search_value: this.search_value\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            var json_data = [];\r\n            var json2excel = require('js2excel');\r\n            res_data.orders.forEach((order, index) => {\r\n                if (order.order_payment_detail.is_paid_from_wallet) {\r\n                    order.payment_status = this.title.wallet;\r\n                } else {\r\n                    if (order.order_payment_detail.is_payment_mode_cash) {\r\n                        order.payment_status = this.lable_title.cash;\r\n                    } else {\r\n                        if (order.order_payment_detail.length > 0) {\r\n                        order.payment_status = order.payment_gateway_detail[0].name;\r\n                        }\r\n                    }\r\n                }\r\n\r\n                order.user_name = order.user_detail.first_name + ' ' + order.user_detail.last_name;\r\n                order.store_name = order.store_detail.name;\r\n                order.city_name = order.city_detail.city_name;\r\n                \r\n\r\n                switch (order.order_status) {\r\n                    case this.ORDER_STATE.WAITING_FOR_ACCEPT_STORE:\r\n                        order.status = this.status.waiting_for_accept;\r\n                        break;\r\n                    case this.ORDER_STATE.STORE_ACCEPTED:\r\n                        order.status = this.status.accepted;\r\n                        break;\r\n                    case this.ORDER_STATE.STORE_PREPARING_ORDER:\r\n                        order.status = this.status.start_preparing_order;\r\n                        break;\r\n                    case this.ORDER_STATE.OREDER_READY:\r\n                        order.status = this.status.order_ready;\r\n                        break;\r\n                    default:\r\n                        order.satus = '';\r\n                }\r\n                order.amount = ((+order.order_payment_detail.total_delivery_price + +order.order_payment_detail.total_order_price).toFixed(2));\r\n            \r\n            \r\n            \r\n                 json_data.push({\r\n                    \"ID\": order.unique_id,\r\n                    \"User\":order.user_name,\r\n                    \"Store\":order.store_name,\r\n                    \"City\":order.city_name,\r\n                    \"Status\":order.status,\r\n                    \"Amount\":order.amount,\r\n                    \"Payment By\":order.payment_status,\r\n                    \"Date\":order.created_at\r\n                    \r\n                 });\r\n            });\r\n           \r\n            json2excel.json2excel({\r\n                data: json_data,\r\n                name: 'order_excel',\r\n                formateDate: 'yyyy/mm/dd'\r\n            });\r\n            \r\n        });\r\n    }\r\n\r\n    open_detail_modal(){\r\n        \r\n        this.order_detail_modal.open();\r\n    }\r\n\r\n    hide_specifications_group(specification_group_index)\r\n    {\r\n        this.hide_specification_group[specification_group_index]='true';\r\n        jQuery('#spec_list'+specification_group_index).hide();\r\n    }\r\n\r\n    show_specifications_group(specification_group_index)\r\n    {\r\n        this.hide_specification_group[specification_group_index]='false';\r\n        jQuery('#spec_list'+specification_group_index).show();\r\n    }\r\n\r\n    get_specification(product_index, item_index){\r\n        this.is_show_specification= true;\r\n        this.specifications = this.order_detail.cart_detail.order_details[product_index].items[item_index].specifications;\r\n        this.item_note = this.order_detail.cart_detail.order_details[product_index].items[item_index].note_for_item;\r\n    }\r\n\r\n    get_order_detail(order_id){\r\n\r\n        this.helper.http.post('/admin/get_order_detail', {\r\n            order_id: order_id    \r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            console.log(res_data)\r\n            if(res_data.success){\r\n                this.order_detail = res_data.order_detail;\r\n                this.is_show_specification = false;\r\n                this.is_show_specification = false;\r\n                this.order_total = 0;\r\n                this.product_item_total = 0;\r\n                this.total_item = 0;\r\n                this.product_item_specification_total = 0;\r\n                this.product_item_specification_total_array = [];\r\n                this.product_item_total_array = [];\r\n                this.product_specification_total_array = [];\r\n                this.order_detail.cart_detail.order_details.forEach((product, product_index)=>{\r\n                    this.hide_specification_group[product_index]=\"false\"\r\n                    product.items.forEach((item) =>{\r\n                        this.order_total=this.order_total + (item.item_price + item.total_specification_price)*item.quantity\r\n                        this.product_item_total=this.product_item_total + (item.item_price + item.total_specification_price)*item.quantity\r\n                        this.total_item++;\r\n                        item.specifications.forEach((specification)=>{\r\n                            this.product_item_specification_total= this.product_item_specification_total + specification.specification_price;\r\n                        })\r\n                        this.product_item_specification_total_array.push(this.product_item_specification_total)\r\n                        this.product_item_specification_total=0;\r\n                    })\r\n                    this.product_specification_total_array.push(this.product_item_specification_total_array)\r\n                    this.product_item_specification_total_array=[];\r\n                    this.product_item_total_array.push(this.product_item_total)\r\n                    this.product_item_total=0;\r\n                });\r\n            } else {\r\n\r\n            }\r\n        });\r\n    }\r\n\r\n    editOrder(store_id, order_id){\r\n        this.helper.router_id.store.store_id = store_id;\r\n        this.helper.router_id.store.order_id = order_id;\r\n        this.helper.router.navigate(['admin/edit/order']);\r\n    }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/order/order.component.ts","import {\r\n  Component,\r\n  NgZone,\r\n  OnInit,\r\n  OnDestroy,\r\n  ViewChild,\r\n  ViewContainerRef,\r\n} from \"@angular/core\";\r\nimport { Http, Response } from \"@angular/http\";\r\nimport { Params } from \"@angular/router\";\r\nimport { Observable } from \"rxjs/Rx\";\r\nimport \"rxjs/add/operator/map\";\r\nimport \"rxjs/add/operator/catch\";\r\ndeclare var jQuery: any;\r\nimport { ModalComponent } from \"ng2-bs3-modal/ng2-bs3-modal\";\r\nimport { Helper } from \"../../helper\";\r\nimport * as moment from \"moment-timezone\";\r\ndeclare var stripe;\r\n\r\n@Component({\r\n  selector: \"app-order_detail\",\r\n  template: require('./order_detail.component.html'),\r\n  providers: [Helper],\r\n})\r\nexport class OrderDetailComponent implements OnInit, OnDestroy {\r\n  order_id: Object;\r\n  order_id_view_invoice: Object;\r\n  order_detail: any[];\r\n  order_details: any;\r\n  currency_sign: any;\r\n  public status: any;\r\n  title: any;\r\n  heading_title: any;\r\n  lable_title: any;\r\n  button: any;\r\n  ORDER_STATE: any;\r\n  ORDER_STATUS_ID: any;\r\n  DATE_FORMAT: any;\r\n  timezone: string;\r\n  moment: any;\r\n  myLoading: boolean = true;\r\n  favourite_addresses: any[] = [];\r\n  is_show_address: boolean = false;\r\n\r\n  id: Object = \"\";\r\n  content: string = \"\";\r\n\r\n  order_count: number = 0;\r\n\r\n  @ViewChild(\"mynotificationModal\")\r\n  notification_modal: ModalComponent;\r\n\r\n  @ViewChild(\"editAddressModal\")\r\n  edit_address_modal: ModalComponent;\r\n\r\n  @ViewChild(\"image_modal\")\r\n  image_modal: ModalComponent;\r\n\r\n  @ViewChild(\"editAddressModal1\")\r\n  edit_pickup_address_modal: ModalComponent;\r\n\r\n  order_price: number;\r\n  total_order_price: number;\r\n  total_store_income: number;\r\n  total_cart_price: number;\r\n  image: string = \"\";\r\n\r\n  delivery_price: number;\r\n  total_delivery_price: number;\r\n  total_provider_income: number;\r\n\r\n  promo_payment: number;\r\n  wallet_payment: number;\r\n  card_payment: number;\r\n\r\n  total: number;\r\n  type: number;\r\n\r\n  // total_order_price: number;\r\n  order_total: number;\r\n  //total_delivery_price: number;\r\n  //card_payment: number;\r\n  cash_payment: number;\r\n  product_item_total: number;\r\n  product_item_total_array: number[];\r\n  product_item_specification_total: number;\r\n  product_item_specification_total_array: number[];\r\n  product_specification_total_array: any[];\r\n  total_item: number;\r\n\r\n  user_first_name: String;\r\n  user_last_name: String;\r\n  user_email: String;\r\n  user_phone: String;\r\n  user_address: String;\r\n\r\n  delivery_user_name: String;\r\n  delivery_user_phone: String;\r\n  delivery_user_address: String;\r\n  delivery_user_email: String;\r\n\r\n  user_profile: string = \"\";\r\n  provider_profile: string = \"\";\r\n  store_profile: string = \"\";\r\n\r\n  provider_first_name: String;\r\n  provider_last_name: String;\r\n  provider_email: String;\r\n  provider_phone: String;\r\n  vehicle_name: String;\r\n\r\n  store_name: String;\r\n  store_email: String;\r\n  store_address: String;\r\n  store_phone: String;\r\n  store_unique_id: number = null;\r\n  user_unique_id: number = null;\r\n  provider_unique_id: number = null;\r\n\r\n  invoice_number: String;\r\n\r\n  order_status: any = \"\";\r\n  order_status_id: number;\r\n  created_at: any;\r\n  //    store_accepted_at: any;\r\n  //    start_preparing_order_at: any;\r\n  //    order_ready_at: any;\r\n  //    store_order_created_at: any;\r\n  //    accepted_at: any;\r\n  //    cancelled_at: any;\r\n  //    start_for_pickup_at: any;\r\n  //    arrived_on_store_at: any;\r\n  //    picked_order_at: any;\r\n  //    start_for_delivery_at: any;\r\n  //delivered_at: any;\r\n  completed_at: any;\r\n\r\n  order_date_time: any[] = [];\r\n  request_date_time: any[] = [];\r\n\r\n  is_payment_mode_cash: Boolean;\r\n  is_user_pick_up_order: Boolean = false;\r\n  specifications: any[] = [];\r\n  item_note: string = \"\";\r\n  hide_specification_group: any[] = [];\r\n\r\n  floor: any;\r\n  entry_code: any;\r\n  note: any;\r\n\r\n  constructor(\r\n    public helper: Helper,\r\n    public ngZone: NgZone,\r\n    public vcr: ViewContainerRef\r\n  ) {\r\n    helper.toastr.setRootViewContainerRef(vcr);\r\n  }\r\n\r\n  ngOnInit() {\r\n    console.log(\"order detail\");\r\n\r\n    this.helper.route.params.subscribe((x: Params) => {\r\n      this.order_id = x[\"order_id\"] || this.helper.router_id.admin.order_id;\r\n\r\n      if (this.order_id) {\r\n        this.title = this.helper.title;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.status = this.helper.status;\r\n        this.button = this.helper.button;\r\n\r\n        this.lable_title = this.helper.lable_title;\r\n        this.ORDER_STATE = this.helper.ORDER_STATE;\r\n        this.ORDER_STATUS_ID = this.helper.ORDER_STATUS_ID;\r\n        this.DATE_FORMAT = this.helper.DATE_FORMAT;\r\n        this.order_total = 0;\r\n        this.total_item = 0;\r\n        this.product_item_total = 0;\r\n        this.product_item_total_array = [];\r\n        this.product_item_specification_total = 0;\r\n        this.product_item_specification_total_array = [];\r\n        this.product_specification_total_array = [];\r\n\r\n        this.provider_first_name = \"\";\r\n        this.provider_last_name = \"\";\r\n        this.provider_email = \"\";\r\n        this.vehicle_name = \"\";\r\n        this.provider_phone = \"\";\r\n\r\n        this.user_profile = \"\";\r\n        this.provider_profile = \"\";\r\n        this.store_profile = \"\";\r\n\r\n        this.store_name = \"\";\r\n        this.store_email = \"\";\r\n        this.store_address = \"\";\r\n        this.store_phone = \"\";\r\n\r\n        this.user_first_name = \"\";\r\n        this.user_last_name = \"\";\r\n        this.user_email = \"\";\r\n        this.user_phone = \"\";\r\n        this.user_address = \"\";\r\n\r\n        this.delivery_user_name = \"\";\r\n        this.delivery_user_phone = \"\";\r\n        this.delivery_user_address = \"\";\r\n        this.delivery_user_email = \"\";\r\n\r\n        this.timezone = \"\";\r\n        this.moment = moment;\r\n\r\n        this.cash_payment = 0;\r\n        this.is_payment_mode_cash = false;\r\n        this.order_id_view_invoice = \"\";\r\n\r\n        this.order_price = 0;\r\n        this.total_order_price = 0;\r\n        this.total_store_income = 0;\r\n        this.total_cart_price = 0;\r\n\r\n        this.delivery_price = 0;\r\n        this.total_delivery_price = 0;\r\n        this.total_provider_income = 0;\r\n\r\n        this.promo_payment = 0;\r\n        this.wallet_payment = 0;\r\n        this.card_payment = 0;\r\n\r\n        this.total = 0;\r\n        this.helper.http\r\n          .post(\"/api/admin/get_order_data\", { order_id: this.order_id })\r\n          .map((res_data: Response) => res_data.json())\r\n          .subscribe((res_data) => {\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n              this.helper.router.navigate([\"admin/dispatch\"]);\r\n            } else {\r\n              this.order_details = res_data.order;\r\n              // this.helper.http.post('/api/store/get_user_order_count', {store_id: this.order_details.store_id, type: this.helper.ADMIN_DATA_ID.ADMIN, user_id: this.order_details.user_id}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n              //     this.order_count = res_data.order_count;\r\n              // });\r\n\r\n              this.order_count = res_data.order.user_detail.total_order;\r\n              this.user_first_name = res_data.order.user_detail.first_name;\r\n              this.user_last_name = res_data.order.user_detail.last_name;\r\n              this.user_email = res_data.order.user_detail.email;\r\n              this.user_unique_id = res_data.order.user_detail.unique_id;\r\n              this.user_phone =\r\n                res_data.order.user_detail.country_phone_code +\r\n                res_data.order.user_detail.phone;\r\n              this.user_address = res_data.order.user_detail.address;\r\n\r\n              this.timezone = res_data.order.timezone;\r\n              //this.date_time = res_data.order.date_time;\r\n              this.order_date_time = res_data.order.date_time;\r\n              if (res_data.order.request_detail) {\r\n                this.order_date_time = this.order_date_time.concat(\r\n                  res_data.order.request_detail.date_time\r\n                );\r\n              }\r\n\r\n              this.order_date_time.sort(this.sortItem);\r\n              this.order_date_time.sort(this.sortItem1);\r\n\r\n              if (res_data.order.request_detail != undefined) {\r\n                this.request_date_time =\r\n                  res_data.order.request_detail.date_time;\r\n              }\r\n\r\n              if (res_data.order.store_detail) {\r\n                this.store_name = res_data.order.store_detail.name;\r\n                this.store_unique_id = res_data.order.store_detail.unique_id;\r\n                this.store_email = res_data.order.store_detail.email;\r\n                this.store_address = res_data.order.store_detail.address;\r\n                this.store_phone =\r\n                  res_data.order.store_detail.country_phone_code +\r\n                  res_data.order.store_detail.phone;\r\n              }\r\n\r\n              this.invoice_number =\r\n                res_data.order.order_payment_detail.invoice_number;\r\n\r\n              this.order_status = res_data.order.order_status;\r\n              this.order_status_id = res_data.order.order_status_id;\r\n              this.is_payment_mode_cash =\r\n                res_data.order.order_payment_detail.is_payment_mode_cash;\r\n\r\n              if (res_data.order.timezone != \"\") {\r\n                if (res_data.order.created_at != null) {\r\n                  this.created_at = moment(res_data.order.created_at)\r\n                    .tz(this.timezone)\r\n                    .format(\"DD MMM YYYY HH:mm:ss\");\r\n                }\r\n                if (res_data.order.completed_at != null) {\r\n                  this.completed_at = moment(res_data.order.completed_at)\r\n                    .tz(this.timezone)\r\n                    .format(\"DD MMM YYYY HH:mm:ss\");\r\n                }\r\n                //                    if (res_data.order.store_acc                    epted_at != null) {\r\n                //                        this.store_accepted_at = moment(res_data.order.store_accepted_at).tz(this.timezone).format('DD M                    MM YYYY HH:mm:ss');\r\n                //                                        }\r\n                //                    if (res_data.order.start_preparing_                    order_at != null) {\r\n                //                        this.start_preparing_order_at = moment(res_data.order.start_preparing_order_at).tz(this.timezone).format('DD M                    MM YYYY HH:mm:ss');\r\n                //                                                                                }\r\n                //\r\n                //\r\n                //                    if (res_data.order.order_                    ready_at != null) {\r\n                //                        this.order_ready_at = moment(res_data.order.order_ready_at).tz(this.timezone).format('DD M                    MM YYYY HH:mm:ss');\r\n                //                                        }\r\n                //                    if (res_data.order.store_order_cr                    eated_at != null) {\r\n                //                        this.store_order_created_at = moment(res_data.order.store_order_created_at).tz(this.timezone).format('DD M                    MM YYYY HH:mm:ss');\r\n                //                                        }\r\n                //                    if (res_data.order.acc                    epted_at != null) {\r\n                //                        this.accepted_at = moment(res_data.order.accepted_at).tz(this.timezone).format('DD M                    MM YYYY HH:mm:ss');\r\n                //                                        }\r\n                //                    if (res_data.order.canc                    ell                    ed_at != null) {\r\n                //\r\n                //                        this.cancelled_at = moment(res_data.order.cancelled_at).tz(this.timezone).format('DD M                    MM YYYY HH:mm:ss');\r\n                //                                        }\r\n                //                    if (res_data.order.start_for_p                    ick                    up_at != null) {\r\n                //\r\n                //                        this.start_for_pickup_at = moment(res_data.order.start_for_pickup_at).tz(this.timezone).format('DD M                    MM YYYY HH:mm:ss');\r\n                //                                        }\r\n                //                    if (res_data.order.arrived_on_                    store_at != null) {\r\n                //                        this.arrived_on_store_at = moment(res_data.order.arrived_on_store_at).tz(this.timezone).format('DD M                    MM YYYY HH:mm:ss');\r\n                //                                        }\r\n                //                    if (res_data.order.picked_                    order_at != null) {\r\n                //                        this.picked_order_at = moment(res_data.order.picked_order_at).tz(this.timezone).format('DD M                    MM YYYY HH:mm:ss');\r\n                //                                        }\r\n                //                    if (res_data.order.start_for_del                    ivery_at != null) {\r\n                //                        this.start_for_delivery_at = moment(res_data.order.start_for_delivery_at).tz(this.timezone).format('DD M                    MM YYYY HH:mm:ss');\r\n                //                                                            }\r\n                //\r\n                //                    if (res_data.order.deli                    vered_at != null) {\r\n                //                        this.delivered_at = moment(res_data.order.delivered_at).tz(this.timezone).format('DD M                    MM YYYY HH:mm:ss');\r\n                //                    }\r\n              }\r\n              this.order_detail = res_data.order.cart_detail.order_details;\r\n\r\n              this.currency_sign = res_data.order.country_detail.currency_sign;\r\n\r\n              this.total_cart_price =\r\n                res_data.order.order_payment_detail.total_cart_price;\r\n              this.order_price =\r\n                res_data.order.order_payment_detail.order_price;\r\n              this.total_order_price =\r\n                res_data.order.order_payment_detail.total_order_price;\r\n              this.total_store_income =\r\n                res_data.order.order_payment_detail.total_store_income;\r\n\r\n              this.delivery_price =\r\n                res_data.order.order_payment_detail.delivery_price;\r\n              this.total_delivery_price =\r\n                res_data.order.order_payment_detail.total_delivery_price;\r\n              this.total_provider_income =\r\n                res_data.order.order_payment_detail.total_provider_income;\r\n\r\n              this.promo_payment =\r\n                res_data.order.order_payment_detail.promo_payment;\r\n              this.wallet_payment =\r\n                res_data.order.order_payment_detail.wallet_payment;\r\n              this.card_payment =\r\n                res_data.order.order_payment_detail.card_payment;\r\n\r\n              this.total = res_data.order.order_payment_detail.total;\r\n              this.cash_payment =\r\n                res_data.order.order_payment_detail.cash_payment;\r\n\r\n              this.order_id_view_invoice = res_data.order._id;\r\n\r\n              res_data.order.cart_detail.order_details.forEach(\r\n                (product, product_index) => {\r\n                  this.hide_specification_group[product_index] = \"false\";\r\n                  product.items.forEach((item) => {\r\n                    let item_price =\r\n                      item.formule_list &&\r\n                      item.formule_list[0] &&\r\n                      item.formule_list[0].price\r\n                        ? item.formule_list[0].price\r\n                        : item.item_price;\r\n\r\n                    this.order_total =\r\n                      this.order_total +\r\n                      (Number(item_price) +\r\n                        Number(item.total_specification_price)) *\r\n                        item.quantity -\r\n                      (item.offer_price ? item.offer_price : 0);\r\n                    this.product_item_total =\r\n                      this.product_item_total +\r\n                      (Number(item_price) +\r\n                        Number(item.total_specification_price)) *\r\n                        item.quantity -\r\n                      (item.offer_price ? item.offer_price : 0);\r\n                    this.total_item = this.total_item + 1;\r\n                    item.specifications.forEach((specification) => {\r\n                      this.product_item_specification_total =\r\n                        this.product_item_specification_total +\r\n                        specification.specification_price;\r\n                    });\r\n                    // if(item.formule_list){\r\n                    //     item.formule_list.forEach((formule)=>{\r\n                    //         if(formule.price){\r\n                    //             this.product_item_total = this.product_item_total + Number(formule.price * item.quantity);\r\n                    //             this.order_total=this.order_total +  Number(formule.price * item.quantity);\r\n                    //         }\r\n                    //     })\r\n                    // }\r\n                    this.product_item_specification_total_array.push(\r\n                      this.product_item_specification_total\r\n                    );\r\n                    this.product_item_specification_total = 0;\r\n                  });\r\n                  this.product_specification_total_array.push(\r\n                    this.product_item_specification_total_array\r\n                  );\r\n                  this.product_item_specification_total_array = [];\r\n                  this.product_item_total_array.push(this.product_item_total);\r\n                  this.product_item_total = 0;\r\n                }\r\n              );\r\n\r\n              if (res_data.order.cart_detail.order_details.length > 0) {\r\n                this.specifications =\r\n                  res_data.order.cart_detail.order_details[0].items[0].specifications;\r\n                this.item_note =\r\n                  res_data.order.cart_detail.order_details[0].items[0].note_for_item;\r\n              }\r\n\r\n              if (res_data.order.cart_detail.destination_addresses.length > 0) {\r\n                this.delivery_user_name =\r\n                  res_data.order.cart_detail.destination_addresses[0].user_details.name;\r\n                this.delivery_user_email =\r\n                  res_data.order.cart_detail.destination_addresses[0].user_details.email;\r\n                this.delivery_user_phone =\r\n                  res_data.order.cart_detail.destination_addresses[0]\r\n                    .user_details.country_phone_code +\r\n                  res_data.order.cart_detail.destination_addresses[0]\r\n                    .user_details.phone;\r\n                this.delivery_user_address =\r\n                  res_data.order.cart_detail.destination_addresses[0].address;\r\n              }\r\n\r\n              if (res_data.order.request_detail !== undefined) {\r\n                if (res_data.order.provider_detail.length > 0) {\r\n                  this.provider_first_name =\r\n                    res_data.order.provider_detail[0].first_name;\r\n                  this.provider_unique_id =\r\n                    res_data.order.provider_detail[0].unique_id;\r\n                  this.provider_last_name =\r\n                    res_data.order.provider_detail[0].last_name;\r\n                  this.provider_email = res_data.order.provider_detail[0].email;\r\n                  this.provider_phone =\r\n                    res_data.order.provider_detail[0].country_phone_code +\r\n                    res_data.order.provider_detail[0].phone;\r\n                }\r\n              }\r\n              this.get_fav_address(res_data.order.user_detail._id);\r\n            }\r\n          });\r\n      } else {\r\n        this.helper.router.navigate([\"admin/dispatch\"]);\r\n      }\r\n    });\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.helper.router_id.admin.order_id = \"\";\r\n  }\r\n\r\n  sortItem(a, b) {\r\n    if (a.status < b.status) return -1;\r\n    if (a.status > b.status) return 1;\r\n    return 0;\r\n  }\r\n\r\n  sortItem1(a, b) {\r\n    if (a.date < b.date) return -1;\r\n    if (a.date > b.date) return 1;\r\n    return 0;\r\n  }\r\n\r\n  get_fav_address(user_id) {\r\n    this.helper.http\r\n      .post(\"/api/user/get_favoutire_addresses\", {\r\n        user_id: user_id,\r\n        type: this.helper.ADMIN_DATA_ID.ADMIN,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        if (res_data.success) {\r\n          this.favourite_addresses = res_data.favourite_addresses;\r\n        } else {\r\n          this.favourite_addresses = [];\r\n        }\r\n      });\r\n  }\r\n\r\n  track_deliveryman(country_id, city_id, provider_id, store_id, order_id) {\r\n    this.helper.router_id.admin.country_id = country_id;\r\n    this.helper.router_id.admin.provider_id = provider_id;\r\n    this.helper.router_id.admin.city_id = city_id;\r\n    this.helper.router_id.admin.order_id = order_id;\r\n    this.helper.router_id.admin.store_id = store_id;\r\n    var link =\r\n      \"admin/location_track/\" +\r\n      order_id +\r\n      \"/\" +\r\n      country_id +\r\n      \"/\" +\r\n      city_id +\r\n      \"/\" +\r\n      provider_id +\r\n      \"/\" +\r\n      store_id;\r\n    this.helper.router.navigate([\"/admin/location_track\"]);\r\n  }\r\n\r\n  open_notification_modal(id, type) {\r\n    this.type = type;\r\n    this.id = id;\r\n    this.notification_modal.open();\r\n    this.content = \"\";\r\n  }\r\n\r\n  hide_specifications_group(specification_group_index) {\r\n    this.hide_specification_group[specification_group_index] = \"true\";\r\n    jQuery(\"#spec_list\" + specification_group_index).hide();\r\n  }\r\n\r\n  show_specifications_group(specification_group_index) {\r\n    this.hide_specification_group[specification_group_index] = \"false\";\r\n    jQuery(\"#spec_list\" + specification_group_index).show();\r\n  }\r\n\r\n  editOrder(store_id, order_id) {\r\n    this.helper.router_id.store.store_id = store_id;\r\n    this.helper.router_id.store.order_id = order_id;\r\n    this.helper.router.navigate([\"admin/edit/order\"]);\r\n  }\r\n\r\n  get_specification(product_index, item_index) {\r\n    this.specifications =\r\n      this.order_detail[product_index].items[item_index].specifications;\r\n    this.item_note =\r\n      this.order_detail[product_index].items[item_index].note_for_item;\r\n  }\r\n\r\n  viewOrderEarningDetail(id) {\r\n    this.helper.router_id.admin.view_order_earning_id = id;\r\n    this.helper.router.navigate([\"admin/order_earning_detail\"]);\r\n  }\r\n\r\n  view_cart(id) {\r\n    this.helper.router_id.admin.order_id = id;\r\n    this.helper.router.navigate([\"admin/view_cart\"]);\r\n  }\r\n\r\n  SendNotification(notification_data) {\r\n    console.log(notification_data);\r\n    this.myLoading = true;\r\n    this.helper.http\r\n      .post(\"/admin/send_notification\", notification_data)\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        this.myLoading = false;\r\n        if (res_data.success == true) {\r\n          this.helper.data.storage = {\r\n            message: this.helper.MESSAGE_CODE[res_data.message],\r\n            class: \"alert-info\",\r\n          };\r\n          this.notification_modal.close();\r\n          this.helper.message();\r\n        } else {\r\n          this.helper.data.storage = {\r\n            code: res_data.error_code,\r\n            message: this.helper.ERROR_CODE[res_data.error_code],\r\n            class: \"alert-danger\",\r\n          };\r\n          this.helper.message();\r\n        }\r\n      });\r\n  }\r\n\r\n  set_address(address) {\r\n    this.order_details.cart_detail.destination_addresses[0].address =\r\n      address.address;\r\n    jQuery(\"#address\").val(address.address);\r\n    this.floor = address.floor;\r\n    this.entry_code = address.entry_code;\r\n    this.note = address.note ? address.not : address.comment;\r\n    this.order_details.cart_detail.destination_addresses[0].postal_code =\r\n      address.postal_code;\r\n    this.order_details.cart_detail.destination_addresses[0].street_number =\r\n      address.street_number;\r\n    this.order_details.cart_detail.destination_addresses[0].location = [\r\n      address.latitude,\r\n      address.longitude,\r\n    ];\r\n    this.is_show_address = false;\r\n  }\r\n\r\n  edit_address() {\r\n    this.floor = this.order_details.cart_detail.destination_addresses[0].floor;\r\n    this.entry_code =\r\n      this.order_details.cart_detail.destination_addresses[0].entry_code;\r\n    this.note = this.order_details.cart_detail.destination_addresses[0].note;\r\n    this.edit_address_modal.open();\r\n\r\n    setTimeout(() => {\r\n      jQuery(\"#address\").val(\r\n        this.order_details.cart_detail.destination_addresses[0].address\r\n      );\r\n      var autocompleteElm = <HTMLInputElement>(\r\n        document.getElementById(\"address\")\r\n      );\r\n      let autocomplete = new google.maps.places.Autocomplete(\r\n        autocompleteElm,\r\n        {}\r\n      );\r\n\r\n      autocomplete.addListener(\"place_changed\", () => {\r\n        var place = autocomplete.getPlace();\r\n        var lat = place.geometry.location.lat();\r\n        var lng = place.geometry.location.lng();\r\n        console.log(place);\r\n\r\n        this.order_details.cart_detail.destination_addresses[0].address =\r\n          place.formatted_address;\r\n        this.order_details.cart_detail.destination_addresses[0].location = [\r\n          lat,\r\n          lng,\r\n        ];\r\n        for (var i = 0; i < place.address_components.length; i++) {\r\n          if (place.address_components[i].types[0] == \"postal_code\") {\r\n            this.order_details.cart_detail.destination_addresses[0].postal_code =\r\n              place.address_components[i].long_name;\r\n          }\r\n          if (place.address_components[i].types[0] == \"street_number\") {\r\n            this.order_details.cart_detail.destination_addresses[0].street_number =\r\n              place.address_components[i].long_name;\r\n          }\r\n        }\r\n      });\r\n    }, 1000);\r\n  }\r\n\r\n  edit_pickup_address() {\r\n    this.floor = this.order_details.cart_detail.pickup_addresses[0].floor;\r\n    this.entry_code =\r\n      this.order_details.cart_detail.pickup_addresses[0].entry_code;\r\n    this.note = this.order_details.cart_detail.pickup_addresses[0].note;\r\n    this.edit_pickup_address_modal.open();\r\n\r\n    setTimeout(() => {\r\n      jQuery(\"#pickup_address\").val(\r\n        this.order_details.cart_detail.pickup_addresses[0].address\r\n      );\r\n      var autocompleteElm = <HTMLInputElement>(\r\n        document.getElementById(\"pickup_address\")\r\n      );\r\n      let autocomplete = new google.maps.places.Autocomplete(\r\n        autocompleteElm,\r\n        {}\r\n      );\r\n\r\n      autocomplete.addListener(\"place_changed\", () => {\r\n        var place = autocomplete.getPlace();\r\n        var lat = place.geometry.location.lat();\r\n        var lng = place.geometry.location.lng();\r\n        console.log(this.order_details.cart_detail.pickup_addresses[0]);\r\n\r\n        this.order_details.cart_detail.pickup_addresses[0].address =\r\n          place.formatted_address;\r\n        this.order_details.cart_detail.pickup_addresses[0].location = [\r\n          lat,\r\n          lng,\r\n        ];\r\n        for (var i = 0; i < place.address_components.length; i++) {\r\n          if (place.address_components[i].types[0] == \"postal_code\") {\r\n            this.order_details.cart_detail.pickup_addresses[0].postal_code =\r\n              place.address_components[i].long_name;\r\n          }\r\n        }\r\n      });\r\n    }, 1000);\r\n  }\r\n\r\n  UpdateAddress() {\r\n    this.order_details.cart_detail.destination_addresses[0].floor = this.floor;\r\n    this.order_details.cart_detail.destination_addresses[0].entry_code =\r\n      this.entry_code;\r\n    this.order_details.cart_detail.destination_addresses[0].note = this.note;\r\n\r\n    let google_distance = 0;\r\n    let google_time = 0;\r\n    let origin: any = {\r\n      lat: parseFloat(\r\n        this.order_details.cart_detail.pickup_addresses[0].location[0]\r\n      ),\r\n      lng: parseFloat(\r\n        this.order_details.cart_detail.pickup_addresses[0].location[1]\r\n      ),\r\n    };\r\n    let destination: any = {\r\n      lat: parseFloat(\r\n        this.order_details.cart_detail.destination_addresses[0].location[0]\r\n      ),\r\n      lng: parseFloat(\r\n        this.order_details.cart_detail.destination_addresses[0].location[1]\r\n      ),\r\n    };\r\n\r\n    this.myLoading = true;\r\n    let service = new google.maps.DistanceMatrixService();\r\n    service.getDistanceMatrix(\r\n      {\r\n        origins: [origin],\r\n        destinations: [destination],\r\n        unitSystem: google.maps.UnitSystem.METRIC,\r\n        avoidHighways: true,\r\n        avoidTolls: true,\r\n        travelMode: google.maps.TravelMode.DRIVING,\r\n      },\r\n      (response, status) => {\r\n        if (status == google.maps.DistanceMatrixStatus.OK) {\r\n          google_distance = response.rows[0].elements[0].distance.value;\r\n          google_time = response.rows[0].elements[0].duration.value;\r\n\r\n          let json = {\r\n            order_id: this.order_details._id,\r\n            destination_addresses:\r\n              this.order_details.cart_detail.destination_addresses,\r\n            pickup_addresses: this.order_details.cart_detail.pickup_addresses,\r\n            payment_intent_id: \"\",\r\n            total_distance: google_distance,\r\n            total_time: google_time,\r\n          };\r\n\r\n          if (this.order_details.is_payment_mode_cash) {\r\n            this.update_order_address(json);\r\n          } else {\r\n            this.helper.http\r\n              .post(\"/admin/check_update_order_address\", json)\r\n              .map((res: Response) => res.json())\r\n              .subscribe((res_data) => {\r\n                if (res_data.success) {\r\n                  if (res_data.is_payment_paid) {\r\n                    this.update_order_address(json);\r\n                  } else {\r\n                    var json_data = {\r\n                      user_id: this.order_details.user_id,\r\n                      amount: res_data.remaining_payment,\r\n                      order_currency_code: res_data.order_currency_code,\r\n                    };\r\n                    this.helper.http\r\n                      .post(\"/api/get_stripe_payment_intent\", json_data)\r\n                      .map((res: Response) => res.json())\r\n                      .subscribe((res_data) => {\r\n                        console.log(res_data);\r\n                        if (res_data.success) {\r\n                          if (res_data.is_payment_paid) {\r\n                            this.update_order_address(json);\r\n                          } else {\r\n                            stripe\r\n                              .confirmCardPayment(res_data.client_secret, {\r\n                                payment_method: res_data.payment_method,\r\n                              })\r\n                              .then((result) => {\r\n                                console.log(result);\r\n                                if (result.paymentIntent) {\r\n                                  json.payment_intent_id =\r\n                                    result.paymentIntent.id;\r\n                                  this.update_order_address(json);\r\n                                } else {\r\n                                  this.myLoading = false;\r\n                                  this.helper.data.storage = {\r\n                                    message: result.error.message,\r\n                                    class: \"alert-danger\",\r\n                                  };\r\n                                  this.helper.message();\r\n                                }\r\n                              });\r\n                          }\r\n                        } else {\r\n                          this.helper.data.storage = {\r\n                            code: res_data.error_code,\r\n                            message:\r\n                              res_data.error ||\r\n                              this.helper.ERROR_CODE[res_data.error_code],\r\n                            class: \"alert-info\",\r\n                          };\r\n                          this.helper.message();\r\n                          this.myLoading = false;\r\n                        }\r\n                      });\r\n                  }\r\n                } else {\r\n                  this.myLoading = false;\r\n                  this.helper.data.storage = {\r\n                    code: res_data.error_code,\r\n                    message: this.helper.ERROR_CODE[res_data.error_code],\r\n                    class: \"alert-info\",\r\n                  };\r\n                  this.helper.message();\r\n                }\r\n              });\r\n          }\r\n        } else {\r\n          this.myLoading = false;\r\n        }\r\n      }\r\n    );\r\n  }\r\n\r\n  go_to_store() {\r\n    if (this.order_details.store_detail) {\r\n      this.helper.router_id.store_filter.search_field = \"email\";\r\n      this.helper.router_id.store_filter.search_value =\r\n        this.order_details.store_detail.email;\r\n      this.helper.router_id.store_filter.number_of_rec = 10;\r\n      this.helper.router_id.store_filter.page = 1;\r\n      this.helper.router_id.store_filter.store_page_type = 1;\r\n      this.helper.router_id.store_filter.id =\r\n        this.order_details.store_detail._id;\r\n      this.helper.router.navigate([\"/admin/stores\"]);\r\n    }\r\n  }\r\n\r\n  go_to_provider() {\r\n    if (this.order_details.provider_detail[0]) {\r\n      this.helper.router_id.provider_filter.search_field = \"email\";\r\n      this.helper.router_id.provider_filter.search_value =\r\n        this.order_details.provider_detail[0].email;\r\n      this.helper.router_id.provider_filter.number_of_rec = 10;\r\n      this.helper.router_id.provider_filter.page = 1;\r\n      this.helper.router_id.provider_filter.provider_page_type = 1;\r\n      this.helper.router_id.provider_filter.id =\r\n        this.order_details.provider_detail[0]._id;\r\n      this.helper.router.navigate([\"/admin/providers\"]);\r\n    }\r\n  }\r\n\r\n  go_to_user() {\r\n    if (this.order_details.user_detail) {\r\n      this.helper.router_id.user_filter.search_field = \"email\";\r\n      this.helper.router_id.user_filter.search_value =\r\n        this.order_details.user_detail.email;\r\n      this.helper.router_id.user_filter.number_of_rec = 10;\r\n      this.helper.router_id.user_filter.page = 1;\r\n      this.helper.router_id.user_filter.user_page_type = 1;\r\n      this.helper.router_id.user_filter.id = this.order_details.user_detail._id;\r\n      this.helper.router.navigate([\"/admin/users\"]);\r\n    }\r\n  }\r\n\r\n  update_order_address(json) {\r\n    this.helper.http\r\n      .post(\"/admin/update_order_address\", json)\r\n      .map((res: Response) => res.json())\r\n      .subscribe(\r\n        (res_data) => {\r\n          // this.myLoading = false;\r\n          if (res_data.success) {\r\n            this.helper.data.storage = {\r\n              message: this.helper.MESSAGE_CODE[res_data.message],\r\n              class: \"alert-info\",\r\n            };\r\n            this.ngZone.run(() => {\r\n              this.edit_address_modal.close();\r\n              this.edit_pickup_address_modal.close();\r\n              this.ngOnInit();\r\n            });\r\n          } else {\r\n            this.helper.data.storage = {\r\n              code: res_data.error_code,\r\n              message: this.helper.ERROR_CODE[res_data.error_code],\r\n              class: \"alert-danger\",\r\n            };\r\n          }\r\n          this.helper.message();\r\n        },\r\n        (error: any) => {\r\n          this.myLoading = false;\r\n          this.helper.http_status(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  open_image_modal(image) {\r\n    this.image = image;\r\n    this.image_modal.open();\r\n  }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/order_detail/order_detail.component.ts","import {Component, OnInit, ViewContainerRef} from '@angular/core';\r\nimport {Response} from '@angular/http';\r\nimport {Helper} from \"../../helper\";\r\n\r\ndeclare var jQuery: any;\r\n\r\n@Component({\r\n    selector: 'app-order_earning',\r\n    template: require('./order_earning.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class OrderEarningComponent implements OnInit {\r\n    title: any;\r\n    button: any;\r\n    ORDER_STATE: any;\r\n    DATE_FORMAT: any;\r\n    heading_title: any;\r\n    status: any;\r\n    lable_title: any;\r\n    order_list: any[];\r\n    sort_field: string;\r\n    sort_order: number;\r\n    search_field: string;\r\n    search_value: string;\r\n    start_date: string;\r\n    end_date: string;\r\n    page: number;\r\n    total_page: number;\r\n    total_pages: number[];\r\n    order_total: String;\r\n    admin_currency: String;\r\n    myLoading: boolean = true;\r\n\r\n    constructor(private helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n    ngAfterViewInit() {\r\n\r\n        jQuery(\".chosen-select\").chosen({disable_search: true});\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n    }\r\n\r\n\r\n\r\n    ngOnInit() {\r\n        this.sort_field = \"unique_id\";\r\n        this.sort_order = -1;\r\n        this.search_field = \"user_detail.first_name\";\r\n        this.search_value = \"\";\r\n        this.start_date = '';\r\n        this.end_date = '';\r\n        this.page = 1\r\n\r\n\r\n        this.helper.message()\r\n\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.ORDER_STATE = this.helper.ORDER_STATE\r\n        this.DATE_FORMAT = this.helper.DATE_FORMAT\r\n        this.status = this.helper.status\r\n        this.lable_title = this.helper.lable_title\r\n        this.order_list = [];\r\n        this.order_total = \"\";\r\n        this.admin_currency = \"\";\r\n\r\n        this.order_earning(1);\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_field').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_field = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_order').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_order = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#search_field').on('change', (evnt, res_data) => {\r\n\r\n            this.search_field = res_data.selected;\r\n\r\n        });\r\n    }\r\n    activeRoute(routename: string): boolean {\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n    order_earning(page) {\r\n        this.page = page;\r\n        this.helper.http.post('/admin/get_order_earning', {\r\n            start_date: this.start_date, end_date: this.end_date,\r\n            sort_field: this.sort_field, sort_order: this.sort_order,\r\n            search_field: this.search_field, search_value: this.search_value, page: this.page\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n\r\n                this.order_list = [];\r\n                this.total_pages = [];\r\n\r\n            }\r\n            else {\r\n                this.order_list = res_data.orders;\r\n                this.order_total = res_data.order_total;\r\n                this.admin_currency = res_data.admin_currency;\r\n                this.total_page = res_data.pages;\r\n\r\n                this.total_pages = Array(res_data.pages).fill((x, i) => i).map((x, i) => i + 1)\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    viewOrderEarningDetail(id) {\r\n        this.helper.router_id.admin.view_order_earning_id = id;\r\n        this.helper.router.navigate(['admin/order_earning_detail']);\r\n\r\n    }\r\n\r\n\r\n    order_earning_export_csv() {\r\n        this.helper.http.post('/admin/get_order_earning', {\r\n            start_date: this.start_date,\r\n            end_date: this.end_date,\r\n            sort_field: this.sort_field,\r\n            sort_order: this.sort_order,\r\n            search_field: this.search_field,\r\n            search_value: this.search_value\r\n\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            var json2csv = require('json2csv');\r\n\r\n            res_data.orders.forEach((order, index) => {\r\n                if (order.order_payment_detail.is_paid_from_wallet) {\r\n                    order.payment_status = this.title.wallet;\r\n                } else {\r\n                    if (order.order_payment_detail.is_payment_mode_cash) {\r\n                        order.payment_status = this.lable_title.cash;\r\n                    } else {\r\n                        order.payment_status = order.payment_gateway_detail[0].name;\r\n                    }\r\n                }\r\n\r\n\r\n\r\n                order.user_name = order.user_detail.first_name + ' ' + order.user_detail.last_name;\r\n                order.store_name = order.store_detail.name;\r\n                \r\n                if(order.request_detail != undefined)\r\n                {\r\n                    if(order.provider_detail.length > 0)\r\n                    {\r\n                     order.provider_name = order.provider_detail[0].first_name + ' ' + order.provider_detail[0].last_name;\r\n                   \r\n                    }\r\n                \r\n                }\r\n\r\n                order.admin_earning = ((+order.order_payment_detail.total_delivery_price + +order.order_payment_detail.total_order_price).toFixed(2));\r\n            });\r\n\r\n            var fieldNames = [this.title.id, this.title.completed_at, this.title.user, this.title.store, this.title.provider,\r\n            this.title.payment_by, this.title.currency,\r\n            this.title.total, this.title.admin_earning, this.title.provider_earning,\r\n            this.title.earning_pay_provider, this.title.provider_income_set_in_wallet,\r\n            this.title.store_earn,\r\n            this.title.pay_store,\r\n            this.title.store_income_set_in_wallet\r\n            ];\r\n            var fields = ['unique_id', 'completed_at', 'user_name', 'store_name', 'provider_name', 'payment_status',\r\n                'currency',\r\n                'order_payment_detail.total',\r\n                'admin_earning',\r\n                'order_payment_detail.total_provider_income',\r\n                'order_payment_detail.pay_to_provider',\r\n                'order_payment_detail.provider_income_set_in_wallet',\r\n                'order_payment_detail.total_store_income',\r\n                'order_payment_detail.pay_to_store',\r\n                'order_payment_detail.store_income_set_in_wallet'\r\n            ];\r\n\r\n            var order_total_fieldNames = [this.title.total_completed_orders, this.title.admin_earn, this.title.admin_earn_in_wallet, this.title.provider_earn,\r\n            this.title.store_earn, this.title.store_income_set_in_wallet,\r\n            this.title.total_order_amount,\r\n            this.title.admin_earn_in_cash,\r\n            this.title.admin_earn_in_other,\r\n            this.title.pay_to_provider,\r\n            this.title.pay_to_store,\r\n            this.title.provider_income_set_in_wallet\r\n            ];\r\n            var order_total_fields = ['total_completed_orders', 'total_admin_earn', 'admin_earn_wallet',\r\n                'provider_earn',\r\n                'store_earn',\r\n                'store_income_set_in_wallet',\r\n                'total',\r\n                'cash_payment',\r\n                'card_payment',\r\n                'pay_to_provider',\r\n                'pay_to_store',\r\n                'provider_income_set_in_wallet'\r\n            ];\r\n\r\n            var order_total_csv = json2csv({data: res_data.order_total, fields: order_total_fields, fieldNames: order_total_fieldNames});\r\n            var csv = json2csv({data: res_data.orders, fields: fields, fieldNames: fieldNames});\r\n\r\n            var final_csv: any = order_total_csv + \"\\n\" + \"\\n\" + csv\r\n\r\n            this.helper.downloadFile(final_csv);\r\n        });\r\n    }\r\n\r\n\r\n\r\n\r\n    order_earning_export_excel() {\r\n        this.helper.http.post('/admin/get_order_earning', {\r\n            start_date: this.start_date,\r\n            end_date: this.end_date,\r\n            sort_field: this.sort_field,\r\n            sort_order: this.sort_order,\r\n            search_field: this.search_field,\r\n            search_value: this.search_value\r\n\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            var json_data = [];\r\n            var json2excel = require('js2excel');\r\n\r\n            res_data.orders.forEach((order, index) => {\r\n                if (order.order_payment_detail.is_paid_from_wallet) {\r\n                    order.payment_status = this.title.wallet;\r\n                } else {\r\n                    if (order.order_payment_detail.is_payment_mode_cash) {\r\n                        order.payment_status = this.lable_title.cash;\r\n                    } else {\r\n                        order.payment_status = order.payment_gateway_detail[0].name;\r\n                    }\r\n                }\r\n\r\n\r\n\r\n                order.user_name = order.user_detail.first_name + ' ' + order.user_detail.last_name;\r\n                order.store_name = order.store_detail.name;\r\n                \r\n                if(order.request_detail != undefined)\r\n                {\r\n                    if(order.provider_detail.length > 0)\r\n                    {\r\n                     order.provider_name = order.provider_detail[0].first_name + ' ' + order.provider_detail[0].last_name;\r\n                   \r\n                    }\r\n                \r\n                }\r\n\r\n                order.admin_earning = ((+order.order_payment_detail.total_delivery_price + +order.order_payment_detail.total_order_price).toFixed(2));\r\n            \r\n                json_data.push({\r\n                    \"ID\": order.unique_id,\r\n                    \"User\": order.user_name,\r\n                    \"Store\": order.store_name,\r\n                    \"Provider\": order.provider_name,\r\n                    \"Payment By\": order.payment_status,\r\n                    \"Currency\": order.country_detail.currency_sign,\r\n                    \"total\": order.order_payment_detail.total,\r\n                    \"admin_earning\": order.admin_earning,\r\n                    \"provider_earning\": order.order_payment_detail.total_provider_income,\r\n                    \"pay_provider\": order.order_payment_detail.pay_to_provider,\r\n                    \"provider_income_set_in_wallet\": order.order_payment_detail.provider_income_set_in_wallet,\r\n                    \"store_earn\": order.order_payment_detail.total_store_income,\r\n                    \"pay_store\": order.order_payment_detail.pay_to_store,\r\n                    \"store_income_set_in_wallet\": order.order_payment_detail.store_income_set_in_wallet\r\n                });\r\n                \r\n            });\r\n\r\n           \r\n\r\n            json2excel.json2excel({\r\n                data: json_data,\r\n                name: 'order_earning_excel',\r\n                formateDate: 'yyyy/mm/dd'\r\n            });\r\n        });\r\n    }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/order_earning/order_earning.component.ts","import { Component, OnInit, ViewContainerRef, OnDestroy } from \"@angular/core\";\r\nimport { Response } from \"@angular/http\";\r\nimport { Observable } from \"rxjs/Rx\";\r\nimport \"rxjs/add/operator/map\";\r\nimport \"rxjs/add/operator/catch\";\r\nimport { Helper } from \"../../helper\";\r\ndeclare var jQuery: any;\r\nimport { Router, ActivatedRoute, Params } from \"@angular/router\";\r\nimport * as moment from \"moment-timezone\";\r\n\r\n@Component({\r\n  selector: \"app-order_track\",\r\n  template: require('./order_track.component.html'),\r\n  providers: [Helper],\r\n})\r\nexport class OrderTrackComponent implements OnInit, OnDestroy {\r\n  order_list: any[] = [];\r\n  myLoading: boolean = true;\r\n  public order_id: Object;\r\n  map: any = \"\";\r\n  team_store_ids: any[] = [];\r\n  team_provider_ids: any[] = [];\r\n  total_online_hopper: number = 0;\r\n  total_in_delivery_hopper: number = 0;\r\n  total_free_hopper: number = 0;\r\n  provider_list: any[] = [];\r\n  trafficLayer: any;\r\n  interval: any;\r\n  provider_markers: any[] = [];\r\n  user_markers: any[] = [];\r\n  store_markers: any[] = [];\r\n  map_paths: any[] = [];\r\n  order_detail: any;\r\n\r\n  constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n    helper.toastr.setRootViewContainerRef(vcr);\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    clearInterval(this.interval);\r\n  }\r\n\r\n  ngOnInit() {\r\n    this.myLoading = false;\r\n\r\n    jQuery(\"#order\").chosen();\r\n    setTimeout(() => {\r\n      jQuery(this.helper.elementRef.nativeElement)\r\n        .find(\"#order\")\r\n        .on(\"change\", (evnt, res_data) => {\r\n          this.order_id = res_data.selected;\r\n          this.set_order_detail();\r\n          this.interval = setInterval(() => {\r\n            // this.get_provider_list()\r\n          }, 60000);\r\n        });\r\n    }, 1000);\r\n    var directionsDisplay = new google.maps.DirectionsRenderer();\r\n    this.map = new google.maps.Map(document.getElementById(\"map\"), {\r\n      zoom: 15,\r\n      streetViewControl: false,\r\n      center: { lat: 46.2044, lng: 6.1432 },\r\n    });\r\n    directionsDisplay.setMap(this.map);\r\n\r\n    var noPoi = [\r\n      {\r\n        featureType: \"poi\",\r\n        stylers: [{ visibility: \"off\" }],\r\n      },\r\n      {\r\n        featureType: \"transit\",\r\n        stylers: [{ visibility: \"off\" }],\r\n      },\r\n    ];\r\n    this.map.setOptions({ styles: noPoi });\r\n\r\n    var legend = document.getElementById(\"legend\");\r\n    this.map.controls[google.maps.ControlPosition.TOP_CENTER].push(legend);\r\n\r\n    var admin_id = localStorage.getItem(\"admin_id\");\r\n    if (!admin_id) {\r\n      localStorage.setItem(\"admin_id\", \"\");\r\n      localStorage.setItem(\"admin_token\", \"\");\r\n      this.helper.router.navigate([\"/admin/login\"]);\r\n    } else {\r\n      this.helper.http\r\n        .post(\"/admin/get_admin_team_detail\", { admin_id: admin_id })\r\n        .map((res: Response) => res.json())\r\n        .subscribe((res_data) => {\r\n          if (res_data.team_detail) {\r\n            this.team_store_ids = res_data.team_detail.store_ids;\r\n            this.team_provider_ids = res_data.team_detail.provider_ids;\r\n          }\r\n          this.get_order_list();\r\n        });\r\n    }\r\n\r\n    this.helper.route.params.subscribe((x: Params) => {\r\n      if (x[\"id\"]) {\r\n        this.order_id = x[\"id\"];\r\n      }\r\n    });\r\n  }\r\n\r\n  get_order_list(only_new = false) {\r\n    this.myLoading = true;\r\n    this.helper.http\r\n      .post(\"/admin/order_list_location_track\", {\r\n        assign_type: 3,\r\n        only_new: false,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        this.myLoading = false;\r\n        this.order_list = res_data.orders || [];\r\n        if (this.order_id) {\r\n          this.set_order_detail();\r\n        }\r\n        setTimeout(function () {\r\n          jQuery(\"#order\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n      });\r\n  }\r\n\r\n  set_order_detail() {\r\n    var index = this.order_list.findIndex((x) => x._id == this.order_id);\r\n    if (index !== -1) {\r\n      this.order_detail = this.order_list[index];\r\n      var current_time = new Date().getTime();\r\n      var estimated_time_for_ready_order = new Date(\r\n        this.order_detail.estimated_time_for_ready_order\r\n      ).getTime();\r\n      var estimated_time_for_delivery_order = new Date(\r\n        this.order_detail.estimated_time_for_delivery_order\r\n      ).getTime();\r\n\r\n      var time_diff = estimated_time_for_ready_order - current_time;\r\n      time_diff = time_diff / 60000;\r\n      this.order_detail.ready_time_diff = time_diff || 0;\r\n\r\n      var time_diff1 = estimated_time_for_delivery_order - current_time;\r\n      time_diff1 = time_diff1 / 60000;\r\n      this.order_detail.delivery_time_diff = time_diff1 || 0;\r\n\r\n      if (\r\n        this.order_detail.delivery_status <\r\n        this.helper.ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\r\n      ) {\r\n        var latlng = new google.maps.LatLng(\r\n          this.order_detail.pickup_location[0],\r\n          this.order_detail.pickup_location[1]\r\n        );\r\n        this.map.setCenter(latlng);\r\n      } else {\r\n        var latlng = new google.maps.LatLng(\r\n          this.order_detail.destination_location[0],\r\n          this.order_detail.destination_location[1]\r\n        );\r\n        this.map.setCenter(latlng);\r\n      }\r\n      this.show_user_marker();\r\n      this.show_store_marker(this.order_detail);\r\n      if (\r\n        this.order_detail.provider_id &&\r\n        this.order_detail.delivery_status >=\r\n          this.helper.ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\r\n      ) {\r\n        this.get_provider_list(this.order_detail.provider_id);\r\n      } else {\r\n        this.get_provider_list(null);\r\n      }\r\n    }\r\n  }\r\n\r\n  get_provider_info(provider_id) {\r\n    var index = this.provider_list.findIndex((x) => x._id == provider_id);\r\n    if (index !== -1) {\r\n      return (\r\n        this.provider_list[index].first_name +\r\n        \" \" +\r\n        this.provider_list[index].last_name\r\n      );\r\n    }\r\n  }\r\n\r\n  get_provider_distance_to_store(provider_id, param) {\r\n    var index = this.provider_list.findIndex((x) => x._id == provider_id);\r\n    if (index !== -1) {\r\n      return this.provider_list[index][param];\r\n    }\r\n  }\r\n\r\n  show_traffic() {\r\n    if (this.trafficLayer) {\r\n      this.trafficLayer.setMap(null);\r\n      this.trafficLayer = null;\r\n    } else {\r\n      this.trafficLayer = new google.maps.TrafficLayer();\r\n      this.trafficLayer.setMap(this.map);\r\n    }\r\n  }\r\n\r\n  get_provider_list(provider_id) {\r\n    this.myLoading = true;\r\n    if (provider_id) {\r\n      this.team_provider_ids = [provider_id];\r\n    }\r\n    this.helper.http\r\n      .post(\"/api/store/get_nearest_provider\", {\r\n        team_provider_ids: this.team_provider_ids,\r\n        team_store_ids: this.team_store_ids,\r\n        order_id: this.order_id,\r\n        is_only_online: true,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        this.myLoading = false;\r\n\r\n        this.provider_markers.forEach((marker) => {\r\n          marker.setMap(null);\r\n        });\r\n        this.provider_markers = [];\r\n\r\n        this.total_online_hopper = 0;\r\n        this.total_in_delivery_hopper = 0;\r\n        this.total_free_hopper = 0;\r\n        this.provider_list = res_data.providers;\r\n        this.provider_list.forEach((provider_detail) => {\r\n          if (provider_detail.is_online) {\r\n            this.total_online_hopper++;\r\n            if (provider_detail.request_count > 0) {\r\n              this.total_in_delivery_hopper++;\r\n              if (\r\n                provider_detail.order_list[0].delivery_status <\r\n                this.helper.ORDER_STATE.DELIVERY_MAN_ARRIVED\r\n              ) {\r\n                this.show_provider_markers(\r\n                  \"map_pin_images/marker_blueH.png\",\r\n                  provider_detail,\r\n                  this.helper.ADMIN_DATA_ID.STORE\r\n                );\r\n              } else {\r\n                if (provider_detail.distance_to_first_user <= 3) {\r\n                  if (provider_detail.request_count > 1) {\r\n                    this.show_provider_markers(\r\n                      \"map_pin_images/marker_violet_red.png\",\r\n                      provider_detail,\r\n                      this.helper.ADMIN_DATA_ID.USER\r\n                    );\r\n                  } else {\r\n                    this.show_provider_markers(\r\n                      \"map_pin_images/marker_violet_green.png\",\r\n                      provider_detail,\r\n                      this.helper.ADMIN_DATA_ID.USER\r\n                    );\r\n                  }\r\n                } else {\r\n                  this.show_provider_markers(\r\n                    \"map_pin_images/marker_violetH.png\",\r\n                    provider_detail,\r\n                    this.helper.ADMIN_DATA_ID.USER\r\n                  );\r\n                }\r\n              }\r\n            } else {\r\n              this.total_free_hopper++;\r\n              this.show_provider_markers(\r\n                \"map_pin_images/marker_greenH.png\",\r\n                provider_detail,\r\n                null\r\n              );\r\n            }\r\n          }\r\n        });\r\n      });\r\n  }\r\n\r\n  show_store_marker(order_detail) {\r\n    this.store_markers.forEach((marker) => {\r\n      marker.setMap(null);\r\n    });\r\n    this.store_markers = [];\r\n\r\n    var current_time = new Date().getTime();\r\n    var estimated_time_for_ready_order = new Date(\r\n      order_detail.estimated_time_for_ready_order\r\n    ).getTime();\r\n    var ready_time_diff = estimated_time_for_ready_order - current_time;\r\n    ready_time_diff = ready_time_diff / 60000;\r\n\r\n    var store_icon = this.helper.CONSTANT.IMAGE_BASE_URL + \"map_pin_images/\";\r\n\r\n    let image = {};\r\n\r\n    if (order_detail.is_hopper_on_demand) {\r\n      store_icon = store_icon + \"marker_greenA.png\";\r\n      image = {\r\n        url: store_icon,\r\n      };\r\n    } else {\r\n      if (ready_time_diff <= 5) {\r\n        store_icon = store_icon + \"marker_redS.png\";\r\n      } else if (ready_time_diff <= 20) {\r\n        store_icon = store_icon + \"marker_orangeS.png\";\r\n      } else {\r\n        store_icon = store_icon + \"marker_greyS.png\";\r\n      }\r\n      image = {\r\n        url: store_icon,\r\n        size: new google.maps.Size(44, 80),\r\n        origin: new google.maps.Point(0, 0),\r\n        anchor: new google.maps.Point(0, 80),\r\n        scaledSize: new google.maps.Size(44, 80),\r\n      };\r\n    }\r\n\r\n    var store_marker = new google.maps.Marker({\r\n      position: {\r\n        lat: order_detail.pickup_location[0],\r\n        lng: order_detail.pickup_location[1],\r\n      },\r\n      map: this.map,\r\n      icon: image,\r\n    });\r\n    this.store_markers.push(store_marker);\r\n    google.maps.event.addListener(store_marker, \"click\", (e) => {\r\n      var ready_at = moment(order_detail.estimated_time_for_ready_order).format(\r\n        \"hh:mm a\"\r\n      );\r\n      var store_contentString = \"\";\r\n\r\n      if (order_detail.is_hopper_on_demand) {\r\n        store_contentString =\r\n          \"<p><b>Name</b> : \" +\r\n          order_detail.store_name +\r\n          \"<br><b>Address</b> : \" +\r\n          order_detail.store_address +\r\n          \"</p>\" +\r\n          \"<p>#\" +\r\n          order_detail.unique_id +\r\n          \"</p>\" +\r\n          \"</p>\";\r\n      } else {\r\n        store_contentString =\r\n          \"<p><b>Name</b> : \" +\r\n          order_detail.store_name +\r\n          \"<br><b>Address</b> : \" +\r\n          order_detail.store_address +\r\n          \"</p>\" +\r\n          \"<p>#\" +\r\n          order_detail.unique_id +\r\n          \" ready at: \" +\r\n          ready_at +\r\n          \"</p>\" +\r\n          \"</p>\";\r\n      }\r\n\r\n      var store_message = new google.maps.InfoWindow({\r\n        content: store_contentString,\r\n        maxWidth: 320,\r\n      });\r\n      store_message.open(this.map, store_marker);\r\n      setTimeout(function () {\r\n        store_message.close();\r\n      }, 5000);\r\n    });\r\n  }\r\n\r\n  show_user_marker() {\r\n    this.user_markers.forEach((marker) => {\r\n      marker.setMap(null);\r\n    });\r\n    this.user_markers = [];\r\n\r\n    var icon = \"map_pin_images/marker_blueU.png\";\r\n    if (this.order_detail.is_hopper_on_demand) {\r\n      icon = \"map_pin_images/marker_blueB.png\";\r\n    }\r\n    var user_marker = new google.maps.Marker({\r\n      position: {\r\n        lat: this.order_detail.destination_location[0],\r\n        lng: this.order_detail.destination_location[1],\r\n      },\r\n      map: this.map,\r\n      icon: this.helper.CONSTANT.IMAGE_BASE_URL + icon,\r\n    });\r\n    this.user_markers.push(user_marker);\r\n    google.maps.event.addListener(user_marker, \"click\", (e) => {\r\n      var delivery_at = moment(\r\n        this.order_detail.estimated_time_for_delivery_order\r\n      ).format(\"hh:mm a\");\r\n      var user_contentString =\r\n        \"<p><b>Name</b> : \" +\r\n        this.order_detail.user_first_name +\r\n        \" \" +\r\n        this.order_detail.user_last_name +\r\n        \"<br><b>Address</b> : \" +\r\n        this.order_detail.destination_address +\r\n        \"</p>\" +\r\n        \"<p>#\" +\r\n        this.order_detail.unique_id +\r\n        \" delivery at: \" +\r\n        delivery_at +\r\n        \"</p>\" +\r\n        \"</p>\";\r\n\r\n      var user_message = new google.maps.InfoWindow({\r\n        content: user_contentString,\r\n        maxWidth: 320,\r\n      });\r\n      user_message.open(this.map, user_marker);\r\n      setTimeout(function () {\r\n        user_message.close();\r\n      }, 5000);\r\n    });\r\n  }\r\n\r\n  show_provider_markers(icon, provider, type) {\r\n    this.draw_path(provider);\r\n    if (\r\n      this.order_detail.provider_id &&\r\n      this.order_detail.provider_id.toString() == provider._id.toString() &&\r\n      this.order_detail.delivery_status <\r\n        this.helper.ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\r\n    ) {\r\n      icon = \"map_pin_images/marker_pinkH.png\";\r\n    }\r\n\r\n    // if (\r\n    //   this.order_detail.delivery_status >=\r\n    //   this.helper.ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\r\n    // ) {\r\n    //   if (this.order_list && this.order_list.length > 0) {\r\n    //     this.order_list.forEach((order_detail) => {\r\n    //       if (\r\n    //         order_detail._id.toString() !== this.order_detail._id.toString() && !order_detail.provider_id\r\n    //       ) {\r\n    //         this.show_store_marker(order_detail);\r\n    //       }\r\n    //     });\r\n    //   }\r\n    // }\r\n\r\n    var marker = new google.maps.Marker({\r\n      position: { lat: provider.location[0], lng: provider.location[1] },\r\n      map: this.map,\r\n      icon: this.helper.CONSTANT.IMAGE_BASE_URL + icon,\r\n    });\r\n    this.provider_markers.push(marker);\r\n\r\n    var Status = \"\";\r\n    if (provider.order_list && provider.order_list.length > 0) {\r\n      Status = \"Total Order - \" + provider.order_list.length + \"<br>\";\r\n      provider.order_list.forEach((order_detail) => {\r\n        var delivery_status = \"\";\r\n        switch (order_detail.delivery_status) {\r\n          case this.helper.ORDER_STATE.WAITING_FOR_DELIVERY_MAN:\r\n            delivery_status = this.helper.status.waiting_for_delivery_man;\r\n            break;\r\n          case this.helper.ORDER_STATE.DELIVERY_MAN_ACCEPTED:\r\n            delivery_status = this.helper.status.delivery_man_accepted;\r\n            break;\r\n          case this.helper.ORDER_STATE.DELIVERY_MAN_COMING:\r\n            delivery_status = this.helper.status.delivery_man_coming;\r\n            break;\r\n          case this.helper.ORDER_STATE.DELIVERY_MAN_ARRIVED:\r\n            delivery_status = this.helper.status.delivery_man_arrived;\r\n            break;\r\n          case this.helper.ORDER_STATE.DELIVERY_MAN_PICKED_ORDER:\r\n            delivery_status = this.helper.status.picked_order;\r\n            break;\r\n          case this.helper.ORDER_STATE.DELIVERY_MAN_STARTED_DELIVERY:\r\n            delivery_status = this.helper.status.started_for_delivery;\r\n            break;\r\n          case this.helper.ORDER_STATE.DELIVERY_MAN_ARRIVED_AT_DESTINATION:\r\n            delivery_status = this.helper.status.arrived_at_destination;\r\n            break;\r\n          case this.helper.ORDER_STATE.STORE_CANCELLED_REQUEST:\r\n            delivery_status = this.helper.status.store_cancelled_request;\r\n            break;\r\n          case this.helper.ORDER_STATE.ORDER_COMPLETED:\r\n            delivery_status = this.helper.status.completed;\r\n            break;\r\n          case this.helper.ORDER_STATE.NO_DELIVERY_MAN_FOUND:\r\n            delivery_status = this.helper.status.no_delivery_man_found;\r\n            break;\r\n          case this.helper.ORDER_STATE.DELIVERY_MAN_REJECTED:\r\n            delivery_status = this.helper.status.no_delivery_man_found;\r\n            break;\r\n          case this.helper.ORDER_STATE.DELIVERY_MAN_CANCELLED:\r\n            delivery_status = this.helper.status.no_delivery_man_found;\r\n            break;\r\n        }\r\n        Status =\r\n          Status +\r\n          \"<br>Order No. - \" +\r\n          order_detail.unique_id +\r\n          \" (\" +\r\n          delivery_status +\r\n          \") \";\r\n      });\r\n    } else {\r\n      Status = \"Free\";\r\n    }\r\n\r\n    google.maps.event.addListener(marker, \"click\", (e) => {\r\n      var location_updated_time = moment(provider.location_updated_time).format(\r\n        \"DD-MM-YYYY hh:mm a\"\r\n      );\r\n      var contentString =\r\n        \"<p><b>Name</b> : \" +\r\n        provider.first_name +\r\n        \" \" +\r\n        provider.last_name +\r\n        \"<br><b>Email</b> : \" +\r\n        provider.email +\r\n        \"<br><b>Last Tracking Time</b> : \" +\r\n        location_updated_time +\r\n        \"<br><b>Last Delivery Postal Code</b> : \" +\r\n        provider.postal_code +\r\n        \"<br><b>Status Hopper</b> : \" +\r\n        Status;\r\n      if (\r\n        this.order_detail.delivery_status <\r\n        this.helper.ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\r\n      ) {\r\n        contentString =\r\n          contentString +\r\n          \" | \" +\r\n          \"<br><b>Time To Arrive at Store</b> : \" +\r\n          provider.distance_to_store +\r\n          \" min\";\r\n        if (\r\n          provider.distance_to_store_with_order &&\r\n          provider.request_count > 0 &&\r\n          (!this.order_detail.provider_id ||\r\n            this.order_detail.provider_id.toString() !==\r\n              provider._id.toString())\r\n        ) {\r\n          contentString =\r\n            contentString +\r\n            \" | \" +\r\n            provider.distance_to_store_with_order +\r\n            \" min\";\r\n        }\r\n      } else {\r\n        contentString =\r\n          contentString +\r\n          \"<br><b>Time To Arrive at User</b> : \" +\r\n          provider.distance_to_first_user +\r\n          \" min\";\r\n      }\r\n      contentString = contentString + \"</p>\";\r\n      if (\r\n        (!this.order_detail.provider_id ||\r\n          this.order_detail.provider_id.toString() !==\r\n            provider._id.toString()) &&\r\n        this.order_detail.order_status_id ==\r\n          this.helper.ORDER_STATUS_ID.RUNNING &&\r\n        this.order_detail.delivery_status <\r\n          this.helper.ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\r\n      ) {\r\n        contentString =\r\n          contentString +\r\n          '<div style=\"text-align:center;\"><button class=\"btn filter_apply_btn\" (click)=\"assign()\" style=\"width: unset;\" type=\"button\">Assign</button></div>';\r\n      }\r\n\r\n      var infowindow = new google.maps.InfoWindow({\r\n        content: contentString,\r\n        maxWidth: 320,\r\n      });\r\n      infowindow.open(this.map, marker);\r\n\r\n      if (\r\n        (!this.order_detail.provider_id ||\r\n          this.order_detail.provider_id.toString() !==\r\n            provider._id.toString()) &&\r\n        this.order_detail.order_status_id ==\r\n          this.helper.ORDER_STATUS_ID.RUNNING &&\r\n        this.order_detail.delivery_status <\r\n          this.helper.ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\r\n      ) {\r\n        google.maps.event.addListener(infowindow, \"domready\", () => {\r\n          const el = document.querySelector(\".filter_apply_btn\");\r\n          el.addEventListener(\"click\", (event) => this.assign(provider._id));\r\n        });\r\n      }\r\n    });\r\n  }\r\n\r\n  assign(provider_id) {\r\n    this.myLoading = true;\r\n    this.helper.http\r\n      .post(\"/api/store/assign_new_provider\", {\r\n        type: this.helper.ADMIN_DATA_ID.ADMIN,\r\n        order_id: this.order_detail._id,\r\n        store_id: this.order_detail.store_id,\r\n        provider_id: provider_id,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        this.myLoading = false;\r\n        var index = this.order_list.findIndex(\r\n          (x) => x._id == this.order_detail._id\r\n        );\r\n        if (index !== -1 && res_data.success) {\r\n          this.order_list[index].delivery_status =\r\n            res_data.request.delivery_status;\r\n          this.order_list[index].provider_id = provider_id;\r\n          this.set_order_detail();\r\n        }\r\n      });\r\n  }\r\n\r\n  draw_path(provider) {\r\n    this.map_paths.forEach((polyline) => {\r\n      polyline.setMap(null);\r\n    });\r\n    this.map_paths = [];\r\n    if (\r\n      this.order_detail.delivery_status >=\r\n        this.helper.ORDER_STATE.DELIVERY_MAN_PICKED_ORDER &&\r\n      provider.polylines &&\r\n      provider.polylines.coordinates\r\n    ) {\r\n      const polyline: google.maps.LatLngLiteral[] =\r\n        provider.polylines.coordinates.map((coord) => ({\r\n          lat: coord[1], // Swap order: lat comes first\r\n          lng: coord[0],\r\n        }));\r\n\r\n      //   provider.polylines.coordinates.forEach((polyline) => {\r\n      var path = new google.maps.Polyline({\r\n        path: polyline,\r\n        map: this.map,\r\n        strokeColor: \"#4f216a\",\r\n        strokeOpacity: 1.0,\r\n        strokeWeight: 2,\r\n      });\r\n      this.map_paths.push(path);\r\n      //   });\r\n    }\r\n  }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/order_track/order_track.component.ts","import {Component, OnInit, ViewContainerRef} from '@angular/core';\r\nimport {Response} from '@angular/http';\r\nimport {Helper} from \"../../helper\";\r\ndeclare var jQuery: any;\r\nimport * as moment from 'moment-timezone';\r\n@Component({\r\n    selector: 'app-orders',\r\n    template: require('./orders.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class OrdersComponent implements OnInit {\r\n\r\n    title: any;\r\n    button: any;\r\n    ORDER_STATE: any;\r\n    DATE_FORMAT: any;\r\n    heading_title: any;\r\n    status: any;\r\n    lable_title: any;\r\n\r\n    order_list: any[];\r\n    interval: any;\r\n\r\n    sort_field: string;\r\n    sort_order: number;\r\n    search_field: string;\r\n    search_value: string;\r\n    page: number;\r\n    total_page: number;\r\n    total_pages: number[];\r\n    myLoading: boolean = true;\r\n    moment: any;\r\n    timezone: string;\r\n        estimated_time: number = null;\r\n\r\n    constructor(private helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n    ngAfterViewInit() {\r\n\r\n        jQuery(\".chosen-select\").chosen({disable_search: true});\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n\r\n\r\n    }\r\n\r\n    ngOnInit() {\r\n\r\n\r\n        this.sort_field = \"unique_id\";\r\n        this.sort_order = -1;\r\n        this.search_field = \"user_detail.first_name\";\r\n        this.search_value = \"\";\r\n        this.page = 1;\r\n        this.moment = moment;\r\n        this.timezone = \"\";\r\n\r\n        this.helper.message()\r\n\r\n\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.ORDER_STATE = this.helper.ORDER_STATE\r\n        this.DATE_FORMAT = this.helper.DATE_FORMAT\r\n        this.status = this.helper.status\r\n        this.lable_title = this.helper.lable_title\r\n        this.order_list = [];\r\n\r\n        this.orderDetail()\r\n        this.interval = setInterval(() => {\r\n            this.orderDetail()\r\n        }, this.helper.TIMEOUT.NEW_ORDER_REQUEST);\r\n\r\n        this.filter(1);\r\n\r\n\r\n\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_field').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_field = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_order').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_order = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#search_field').on('change', (evnt, res_data) => {\r\n\r\n            this.search_field = res_data.selected;\r\n\r\n        });\r\n    }\r\n\r\n    ngOnDestroy() {\r\n        clearInterval(this.interval);\r\n    }\r\n    activeRoute(routename: string): boolean {\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n\r\n    \r\n\r\n    filter(page) {\r\n        this.page = page;\r\n        this.helper.http.post('/api/admin/order_lists_search_sort', {\r\n            sort_field: this.sort_field, sort_order: this.sort_order,\r\n            search_field: this.search_field, search_value: this.search_value, page: this.page\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n\r\n\r\n                this.order_list = [];\r\n                this.total_pages = [];\r\n\r\n            }\r\n            else {\r\n                this.timezone = res_data.timezone;\r\n                this.order_list = res_data.orders;\r\n                this.total_page = res_data.pages;\r\n                this.total_pages = Array(res_data.pages).fill((x, i) => i).map((x, i) => i + 1)\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    vieworder_detail(id) {\r\n        this.helper.router_id.admin.order_id = id;\r\n        this.helper.router.navigate(['admin/order_detail']);\r\n    }\r\n\r\n\r\n    orderDetail() {\r\n        this.helper.http.post('/api/admin/order_lists_search_sort', {\r\n\r\n            sort_field: this.sort_field, sort_order: this.sort_order,\r\n            search_field: this.search_field, search_value: this.search_value, page: this.page\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n                this.order_list = [];\r\n                this.total_page = res_data.pages;\r\n                this.total_pages = Array(res_data.pages).fill((x, i) => i).map((x, i) => i + 1)\r\n            }\r\n            else {\r\n                this.timezone = res_data.timezone;\r\n                this.total_page = res_data.pages;\r\n                this.total_pages = Array(res_data.pages).fill((x, i) => i).map((x, i) => i + 1)\r\n\r\n                this.order_list.forEach((value, index) => {\r\n\r\n                    var new_index = res_data.orders.findIndex(x => x._id == this.order_list[index]._id)\r\n                    if (new_index == -1) {\r\n                        this.order_list.splice(index, 1)\r\n                    }\r\n                    else {\r\n                        this.order_list[index].order_status = res_data.orders[new_index].order_status;\r\n                        this.order_list[index].order_payment_detail.total_delivery_price = res_data.orders[new_index].order_payment_detail.total_delivery_price;\r\n                        this.order_list[index].order_payment_detail.total_order_price = res_data.orders[new_index].order_payment_detail.total_order_price;\r\n                        //this.order_list[index].provider_detail = res_data.orders[new_index].provider_detail;\r\n                    }\r\n                });\r\n\r\n                res_data.orders.forEach((new_value, index) => {\r\n                    var aaa = this.order_list.findIndex(x => x._id == res_data.orders[index]._id)\r\n\r\n                    if (aaa == -1) {\r\n                        this.order_list.push(new_value)\r\n                    }\r\n\r\n                });\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    today_order_export_csv() {\r\n        this.helper.http.post('/api/admin/order_lists_search_sort', {\r\n\r\n            sort_field: this.sort_field, sort_order: this.sort_order,\r\n            search_field: this.search_field, search_value: this.search_value, page: this.page\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            var length = 0;\r\n            if (res_data.orders.length > 0) {\r\n                var json2csv = require('json2csv');\r\n                res_data.orders.forEach((order, index) => {\r\n                    if (order.order_payment_detail.is_paid_from_wallet) {\r\n                        order.payment_status = this.title.wallet;\r\n                    } else {\r\n                        if (order.order_payment_detail.is_payment_mode_cash) {\r\n                            order.payment_status = this.lable_title.cash;\r\n                        } else {\r\n                            if (order.order_payment_detail.length > 0) {\r\n                                order.payment_status = order.payment_gateway_detail[0].name;\r\n                            }\r\n                        }\r\n                    }\r\n\r\n                    order.user_name = order.user_detail.first_name + ' ' + order.user_detail.last_name;\r\n                    order.store_name = order.store_detail.name;\r\n\r\n                    order.city_name = order.city_detail.city_name;\r\n\r\n\r\n                    switch (order.order_status) {\r\n                        case this.ORDER_STATE.WAITING_FOR_ACCEPT_STORE:\r\n                            order.status = this.status.waiting_for_accept;\r\n                            break;\r\n                        case this.ORDER_STATE.STORE_ACCEPTED:\r\n                            order.status = this.status.accepted;\r\n                            break;\r\n                        case this.ORDER_STATE.STORE_PREPARING_ORDER:\r\n                            order.status = this.status.start_preparing_order;\r\n                            break;\r\n                        case this.ORDER_STATE.OREDER_READY:\r\n                            order.status = this.status.order_ready;\r\n                            break;\r\n\r\n                        case this.ORDER_STATE.ORDER_COMPLETED:\r\n                            order.status = this.status.completed;\r\n                            break;\r\n                        case this.ORDER_STATE.STORE_CANCELLED_REQUEST:\r\n                            order.status = this.status.store_cancelled_request;\r\n                            break;\r\n                        case this.ORDER_STATE.NO_DELIVERY_MAN_FOUND:\r\n                            order.status = this.status.no_delivery_man_found;\r\n                            break;\r\n\r\n                        case this.ORDER_STATE.STORE_REJECTED:\r\n                            order.status = this.status.rejected;\r\n                            break;\r\n                        case this.ORDER_STATE.STORE_CANCELLED:\r\n                            order.status = this.status.cancelled;\r\n                            break;\r\n                        case this.ORDER_STATE.DELIVERY_MAN_REJECTED:\r\n                            order.status = this.status.delivery_man_rejected;\r\n                            break;\r\n                        case this.ORDER_STATE.DELIVERY_MAN_CANCELLED:\r\n                            order.status = this.status.delivery_man_cancelled;\r\n                            break;\r\n                        case this.ORDER_STATE.CANCELED_BY_USER:\r\n                            order.status = this.status.user_cancelled;\r\n                            break;\r\n\r\n                        default:\r\n                            order.satus = '';\r\n                    }\r\n                    order.amount = ((+order.order_payment_detail.total_delivery_price + +order.order_payment_detail.total_order_price).toFixed(2));\r\n                });\r\n            }\r\n\r\n            var fieldNames = [this.title.id,\r\n            this.title.user,\r\n            this.title.store,\r\n            this.title.city,\r\n            this.title.status,\r\n            this.title.amount,\r\n            this.title.payment_by,\r\n            this.title.date,\r\n            this.title.delivery_at\r\n            ];\r\n            var fields = ['unique_id',\r\n                'user_name',\r\n                'store_name',\r\n                'city_name',\r\n                'status',\r\n                'amount',\r\n                'payment_status',\r\n                'created_at',\r\n                'delivered_at'\r\n            ];\r\n\r\n\r\n            var csv = json2csv({data: res_data.orders, fields: fields, fieldNames: fieldNames});\r\n\r\n            var final_csv: any = csv;\r\n            this.helper.downloadFile(final_csv);\r\n        });\r\n    }\r\n\r\n\r\n\r\n    today_order_export_excel() {\r\n        this.helper.http.post('/api/admin/order_lists_search_sort', {\r\n\r\n            sort_field: this.sort_field, sort_order: this.sort_order,\r\n            search_field: this.search_field, search_value: this.search_value, page: this.page\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            var length = 0;\r\n\r\n            var json_data = [];\r\n            var json2excel = require('js2excel');\r\n            if (res_data.orders.length > 0) {\r\n             res_data.orders.forEach((order, index) => {\r\n                    if (order.order_payment_detail.is_paid_from_wallet) {\r\n                        order.payment_status = this.title.wallet;\r\n                    } else {\r\n                        if (order.order_payment_detail.is_payment_mode_cash) {\r\n                            order.payment_status = this.lable_title.cash;\r\n                        } else {\r\n                            if (order.order_payment_detail.length > 0) {\r\n                                order.payment_status = order.payment_gateway_detail[0].name;\r\n                            }\r\n                        }\r\n                    }\r\n\r\n                    order.user_name = order.user_detail.first_name + ' ' + order.user_detail.last_name;\r\n                    order.store_name = order.store_detail.name;\r\n\r\n                    order.city_name = order.city_detail.city_name;\r\n\r\n\r\n                    switch (order.order_status) {\r\n                        case this.ORDER_STATE.WAITING_FOR_ACCEPT_STORE:\r\n                            order.status = this.status.waiting_for_accept;\r\n                            break;\r\n                        case this.ORDER_STATE.STORE_ACCEPTED:\r\n                            order.status = this.status.accepted;\r\n                            break;\r\n                        case this.ORDER_STATE.STORE_PREPARING_ORDER:\r\n                            order.status = this.status.start_preparing_order;\r\n                            break;\r\n                        case this.ORDER_STATE.OREDER_READY:\r\n                            order.status = this.status.order_ready;\r\n                            break;\r\n\r\n                        case this.ORDER_STATE.ORDER_COMPLETED:\r\n                            order.status = this.status.completed;\r\n                            break;\r\n                        case this.ORDER_STATE.STORE_CANCELLED_REQUEST:\r\n                            order.status = this.status.store_cancelled_request;\r\n                            break;\r\n                        case this.ORDER_STATE.NO_DELIVERY_MAN_FOUND:\r\n                            order.status = this.status.no_delivery_man_found;\r\n                            break;\r\n\r\n                        case this.ORDER_STATE.STORE_REJECTED:\r\n                            order.status = this.status.rejected;\r\n                            break;\r\n                        case this.ORDER_STATE.STORE_CANCELLED:\r\n                            order.status = this.status.cancelled;\r\n                            break;\r\n                        case this.ORDER_STATE.DELIVERY_MAN_REJECTED:\r\n                            order.status = this.status.delivery_man_rejected;\r\n                            break;\r\n                        case this.ORDER_STATE.DELIVERY_MAN_CANCELLED:\r\n                            order.status = this.status.delivery_man_cancelled;\r\n                            break;\r\n                        case this.ORDER_STATE.CANCELED_BY_USER:\r\n                            order.status = this.status.user_cancelled;\r\n                            break;\r\n\r\n\r\n\r\n\r\n                        default:\r\n                            order.satus = '';\r\n                    }\r\n                    order.amount = ((+order.order_payment_detail.total_delivery_price + +order.order_payment_detail.total_order_price).toFixed(2));\r\n                json_data.push({\r\n                    \"ID\": order.unique_id,\r\n                    \"User\":order.user_name,\r\n                    \"Store\":order.store_name,\r\n                    \"City\":order.city_name,\r\n                    \"Status\":order.status,\r\n                    \"Amount\":order.amount,\r\n                    \"Payment By\": order.payment_status,\r\n                    \"Date\":order.created_at\r\n                    \r\n                 });\r\n                \r\n                \r\n                });\r\n        }\r\n\r\n            json2excel.json2excel({\r\n                data: json_data,\r\n                name: 'today_order_excel',\r\n                formateDate: 'yyyy/mm/dd'\r\n            });\r\n\r\n        });\r\n    }\r\n\r\n\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/orders/orders.component.ts","import {Component, OnInit, ViewContainerRef} from '@angular/core';\r\nimport {Http, Response} from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport {Helper} from \"../../helper\";\r\n\r\nexport interface AppSwitchSetting {\r\n\r\n    is_sms_notification: Boolean,\r\n    is_mail_notification: Boolean,\r\n    is_push_notification: Boolean,\r\n\r\n\r\n    is_referral_to_user: Boolean,\r\n    is_referral_to_provider: Boolean,\r\n    is_referral_to_store: Boolean,\r\n\r\n    is_busy: boolean,\r\n\r\n    is_show_optional_field_in_user_register: Boolean,\r\n    is_show_optional_field_in_provider_register: Boolean,\r\n    is_show_optional_field_in_store_register: Boolean,\r\n\r\n    is_upload_user_documents: Boolean,\r\n    is_upload_provider_documents: Boolean,\r\n    is_upload_store_documents: Boolean,\r\n    is_user_mail_verification: Boolean,\r\n    is_user_sms_verification: Boolean,\r\n    is_provider_mail_verification: Boolean,\r\n    is_provider_sms_verification: Boolean,\r\n    is_store_mail_verification: Boolean,\r\n    is_store_sms_verification: Boolean,\r\n    is_user_profile_picture_required: Boolean,\r\n    is_provider_profile_picture_required: Boolean,\r\n    is_store_profile_picture_required: Boolean,\r\n    is_user_login_by_email: Boolean,\r\n    is_user_login_by_phone: Boolean,\r\n    is_provider_login_by_email: Boolean,\r\n    is_provider_login_by_phone: Boolean,\r\n    is_store_login_by_email: Boolean,\r\n    is_store_login_by_phone: Boolean,\r\n\r\n    is_user_login_by_social: Boolean,\r\n    is_provider_login_by_social: Boolean,\r\n    is_store_login_by_social: Boolean,\r\n\r\n    is_provider_earning_add_in_wallet_on_cash_payment: Boolean,\r\n    is_store_earning_add_in_wallet_on_cash_payment: Boolean,\r\n    is_provider_earning_add_in_wallet_on_other_payment: Boolean,\r\n    is_store_earning_add_in_wallet_on_other_payment: Boolean,\r\n\r\n    is_confirmation_code_required_at_pickup_delivery: Boolean,\r\n    is_confirmation_code_required_at_complete_delivery: Boolean,\r\n\r\n    is_email_id_field_required_in_user_register: Boolean,\r\n    is_phone_field_required_in_user_register: Boolean,\r\n    is_email_id_field_required_in_provider_register: Boolean,\r\n    is_phone_field_required_in_provider_register: Boolean,\r\n    is_email_id_field_required_in_store_register: Boolean,\r\n    is_phone_field_required_in_store_register: Boolean\r\n\r\n\r\n\r\n\r\n\r\n\r\n}\r\n@Component({\r\n    selector: 'app-other_setting',\r\n    template: require('./other_setting.component.html')\r\n})\r\nexport class OtherSettingComponent implements OnInit {\r\n\r\n    private app_switch_setting: AppSwitchSetting;\r\n    title: any;\r\n    button: any;\r\n    type: String;\r\n    heading_title: any;\r\n    edit_button: Boolean;\r\n    myLoading: boolean = true;\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n\r\n\r\n    ngOnInit() {\r\n        this.app_switch_setting = {\r\n\r\n            is_sms_notification: false,\r\n            is_mail_notification: false,\r\n            is_push_notification: false,\r\n\r\n            is_referral_to_user: false,\r\n            is_referral_to_provider: false,\r\n            is_referral_to_store: false,\r\n\r\n            is_upload_user_documents: false,\r\n            is_upload_provider_documents: false,\r\n            is_upload_store_documents: false,\r\n            is_user_mail_verification: false,\r\n            is_user_sms_verification: false,\r\n            is_provider_mail_verification: false,\r\n            is_provider_sms_verification: false,\r\n            is_store_mail_verification: false,\r\n            is_store_sms_verification: false,\r\n            is_user_profile_picture_required: false,\r\n            is_provider_profile_picture_required: false,\r\n            is_store_profile_picture_required: false,\r\n            is_user_login_by_email: true,\r\n            is_user_login_by_phone: true,\r\n            is_provider_login_by_email: false,\r\n            is_provider_login_by_phone: false,\r\n            is_store_login_by_email: false,\r\n            is_store_login_by_phone: false,\r\n            is_user_login_by_social: false,\r\n            is_provider_login_by_social: false,\r\n            is_store_login_by_social: false,\r\n\r\n            is_show_optional_field_in_user_register: false,\r\n            is_busy: false,\r\n            is_show_optional_field_in_provider_register: false,\r\n            is_show_optional_field_in_store_register: false,\r\n\r\n            is_provider_earning_add_in_wallet_on_cash_payment: false,\r\n            is_store_earning_add_in_wallet_on_cash_payment: false,\r\n            is_provider_earning_add_in_wallet_on_other_payment: false,\r\n            is_store_earning_add_in_wallet_on_other_payment: false,\r\n\r\n            is_confirmation_code_required_at_pickup_delivery: false,\r\n            is_confirmation_code_required_at_complete_delivery: false,\r\n\r\n            is_email_id_field_required_in_user_register: true,\r\n            is_phone_field_required_in_user_register: true,\r\n            is_email_id_field_required_in_provider_register: true,\r\n            is_phone_field_required_in_provider_register: true,\r\n            is_email_id_field_required_in_store_register: true,\r\n            is_phone_field_required_in_store_register: true\r\n\r\n        }\r\n\r\n        var admin_id = localStorage.getItem('admin_id');\r\n        if (admin_id != \"\" || admin_id != undefined) {\r\n            this.helper.http.post('/admin/get_detail', {admin_id: admin_id}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n                \r\n                if (res_data.success == true) {\r\n                    if (res_data.admin.admin_type == 3) {\r\n                        this.edit_button = false;\r\n                    }\r\n                }\r\n            });\r\n        }\r\n        this.helper.http.post('/api/admin/get_setting_detail', {}).map((res: Response) => res.json()).subscribe(res_data => {\r\n            \r\n            this.myLoading = false;\r\n\r\n            this.app_switch_setting.is_sms_notification = res_data.setting.is_sms_notification,\r\n                this.app_switch_setting.is_mail_notification = res_data.setting.is_mail_notification,\r\n                this.app_switch_setting.is_push_notification = res_data.setting.is_push_notification,\r\n\r\n                this.app_switch_setting.is_confirmation_code_required_at_pickup_delivery = res_data.setting.is_confirmation_code_required_at_pickup_delivery,\r\n                this.app_switch_setting.is_confirmation_code_required_at_complete_delivery = res_data.setting.is_confirmation_code_required_at_complete_delivery,\r\n\r\n                this.app_switch_setting.is_email_id_field_required_in_user_register = res_data.setting.is_email_id_field_required_in_user_register,\r\n\r\n                this.app_switch_setting.is_phone_field_required_in_user_register = res_data.setting.is_phone_field_required_in_user_register,\r\n\r\n                this.app_switch_setting.is_email_id_field_required_in_provider_register = res_data.setting.is_email_id_field_required_in_provider_register,\r\n\r\n                this.app_switch_setting.is_phone_field_required_in_provider_register = res_data.setting.is_phone_field_required_in_provider_register,\r\n\r\n                this.app_switch_setting.is_email_id_field_required_in_store_register = res_data.setting.is_email_id_field_required_in_store_register,\r\n                this.app_switch_setting.is_phone_field_required_in_store_register = res_data.setting.is_phone_field_required_in_store_register,\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n                this.app_switch_setting.is_referral_to_user = res_data.setting.is_referral_to_user,\r\n                this.app_switch_setting.is_referral_to_provider = res_data.setting.is_referral_to_provider,\r\n                this.app_switch_setting.is_referral_to_store = res_data.setting.is_referral_to_store,\r\n\r\n\r\n\r\n                this.app_switch_setting.is_upload_user_documents = res_data.setting.is_upload_user_documents,\r\n                this.app_switch_setting.is_upload_provider_documents = res_data.setting.is_upload_provider_documents,\r\n                this.app_switch_setting.is_upload_store_documents = res_data.setting.is_upload_store_documents,\r\n\r\n\r\n                this.app_switch_setting.is_busy = res_data.setting.is_busy,\r\n                this.app_switch_setting.is_show_optional_field_in_user_register = res_data.setting.is_show_optional_field_in_user_register,\r\n                this.app_switch_setting.is_show_optional_field_in_provider_register = res_data.setting.is_show_optional_field_in_provider_register,\r\n                this.app_switch_setting.is_show_optional_field_in_store_register = res_data.setting.is_show_optional_field_in_store_register,\r\n\r\n\r\n\r\n\r\n                this.app_switch_setting.is_user_mail_verification = res_data.setting.is_user_mail_verification,\r\n                this.app_switch_setting.is_user_sms_verification = res_data.setting.is_user_sms_verification,\r\n                this.app_switch_setting.is_provider_mail_verification = res_data.setting.is_provider_mail_verification,\r\n                this.app_switch_setting.is_provider_sms_verification = res_data.setting.is_provider_sms_verification,\r\n                this.app_switch_setting.is_store_mail_verification = res_data.setting.is_store_mail_verification,\r\n                this.app_switch_setting.is_store_sms_verification = res_data.setting.is_store_sms_verification,\r\n\r\n                this.app_switch_setting.is_user_profile_picture_required = res_data.setting.is_user_profile_picture_required,\r\n                this.app_switch_setting.is_provider_profile_picture_required = res_data.setting.is_provider_profile_picture_required,\r\n                this.app_switch_setting.is_store_profile_picture_required = res_data.setting.is_store_profile_picture_required,\r\n\r\n                this.app_switch_setting.is_user_login_by_email = res_data.setting.is_user_login_by_email,\r\n                this.app_switch_setting.is_user_login_by_phone = res_data.setting.is_user_login_by_phone,\r\n                this.app_switch_setting.is_user_login_by_social = res_data.setting.is_user_login_by_social,\r\n\r\n                this.app_switch_setting.is_provider_login_by_email = res_data.setting.is_provider_login_by_email,\r\n                this.app_switch_setting.is_provider_login_by_phone = res_data.setting.is_provider_login_by_phone,\r\n                this.app_switch_setting.is_provider_login_by_social = res_data.setting.is_provider_login_by_social,\r\n\r\n                this.app_switch_setting.is_store_login_by_email = res_data.setting.is_store_login_by_email,\r\n                this.app_switch_setting.is_store_login_by_phone = res_data.setting.is_store_login_by_phone,\r\n                this.app_switch_setting.is_store_login_by_social = res_data.setting.is_store_login_by_social,\r\n\r\n                this.app_switch_setting.is_provider_earning_add_in_wallet_on_cash_payment = res_data.setting.is_provider_earning_add_in_wallet_on_cash_payment,\r\n                this.app_switch_setting.is_store_earning_add_in_wallet_on_cash_payment = res_data.setting.is_store_earning_add_in_wallet_on_cash_payment,\r\n                this.app_switch_setting.is_provider_earning_add_in_wallet_on_other_payment = res_data.setting.is_provider_earning_add_in_wallet_on_other_payment,\r\n                this.app_switch_setting.is_store_earning_add_in_wallet_on_other_payment = res_data.setting.is_store_earning_add_in_wallet_on_other_payment\r\n\r\n\r\n\r\n        });\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n    }\r\n\r\n\r\n    onChange(value, type) {\r\n        if (!value) {\r\n            if (type == \"email\" && !this.app_switch_setting.is_user_login_by_phone) {\r\n                this.app_switch_setting.is_user_login_by_phone = true;\r\n            } else if (type == \"phone\" && !this.app_switch_setting.is_user_login_by_email) {\r\n                this.app_switch_setting.is_user_login_by_email = true;\r\n            }\r\n        }\r\n    }\r\n\r\n\r\n\r\n\r\n\r\n\r\n    providerOnChange(value, type) {\r\n        if (!value) {\r\n            if (type == \"email\" && !this.app_switch_setting.is_provider_login_by_phone) {\r\n                this.app_switch_setting.is_provider_login_by_phone = true;\r\n            } else if (type == \"phone\" && !this.app_switch_setting.is_provider_login_by_email) {\r\n                this.app_switch_setting.is_provider_login_by_email = true;\r\n            }\r\n        }\r\n    }\r\n\r\n    storeOnChange(value, type) {\r\n        if (!value) {\r\n            if (type == \"email\" && !this.app_switch_setting.is_store_login_by_phone) {\r\n                this.app_switch_setting.is_store_login_by_phone = true;\r\n            } else if (type == \"phone\" && !this.app_switch_setting.is_store_login_by_email) {\r\n                this.app_switch_setting.is_store_login_by_email = true;\r\n            }\r\n        }\r\n    }\r\n\r\n    /////\r\n\r\n    onChangeEmail(value, type) {\r\n        if (value == true && type == 7) {\r\n            this.app_switch_setting.is_email_id_field_required_in_user_register = true;\r\n        } else if (value == true && type == 8) {\r\n            this.app_switch_setting.is_email_id_field_required_in_provider_register = true;\r\n        } else if (value == true && type == 2) {\r\n            this.app_switch_setting.is_email_id_field_required_in_store_register = true;\r\n        }\r\n    }\r\n\r\n    onChangePhone(value, type) {\r\n        \r\n        if (value == true && type == 7) {\r\n            this.app_switch_setting.is_phone_field_required_in_user_register = true;\r\n        } else if (value == true && type == 8) {\r\n            this.app_switch_setting.is_phone_field_required_in_provider_register = true;\r\n        } else if (value == true && type == 2) {\r\n            this.app_switch_setting.is_phone_field_required_in_store_register = true;\r\n        }\r\n    }\r\n\r\n    ////\r\n\r\n\r\n\r\n\r\n    AppSwitchSetting(appswitchsettingdata) {\r\n        //        if (this.app_switch_setting.is_user_mail_verification == true) {\r\n        //            this.app_switch_setting.is_email_id_field_required_in_user_register = true;\r\n        //        }\r\n        //        if (this.app_switch_setting.is_provider_mail_verification == true) {\r\n        //            this.app_switch_setting.is_email_id_field_required_in_provider_register = true;\r\n        //        }\r\n        //        if (this.app_switch_setting.is_store_mail_verification == true) {\r\n        //            this.app_switch_setting.is_email_id_field_required_in_store_register = true;\r\n        //        }\r\n        //\r\n        //        if (this.app_switch_setting.is_user_sms_verification == true) {\r\n        //            this.app_switch_setting.is_phone_field_required_in_user_register = true;\r\n        //        }\r\n        //        if (this.app_switch_setting.is_provider_sms_verification == true) {\r\n        //            this.app_switch_setting.is_phone_field_required_in_provider_register = true;\r\n        //        }\r\n        //        if (this.app_switch_setting.is_store_sms_verification == true) {\r\n        //            this.app_switch_setting.is_phone_field_required_in_store_register = true;\r\n        //        }\r\n\r\n\r\n\r\n        this.helper.http.post('/admin/update_switch_setting', appswitchsettingdata).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == true) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n            }\r\n            this.helper.message();\r\n            this.helper.router.navigate(['setting/other_setting']);\r\n\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/other_setting/other_setting.component.ts","import { Component, OnInit, ViewContainerRef, ViewChild } from \"@angular/core\";\r\nimport { Response } from \"@angular/http\";\r\nimport { Helper } from \"../../helper\";\r\nimport { ModalComponent } from \"ng2-bs3-modal/ng2-bs3-modal\";\r\ndeclare var swal: any;\r\n\r\ndeclare var jQuery: any;\r\n\r\n@Component({\r\n  selector: \"app-partner_earning\",\r\n  template: require('./partner_earning.component.html'),\r\n  providers: [Helper],\r\n})\r\nexport class PartnerEarningComponent implements OnInit {\r\n  title: any;\r\n  button: any;\r\n  ORDER_STATE: any;\r\n  DATE_FORMAT: any;\r\n  heading_title: any;\r\n  status: any;\r\n  lable_title: any;\r\n  order_list: any[];\r\n  sort_field: string;\r\n  sort_order: number;\r\n  search_field: string;\r\n  search_value: string;\r\n  start_date: string;\r\n  end_date: string;\r\n  page: number;\r\n  total_page: number;\r\n  total_pages: number[];\r\n  order_total: any;\r\n  admin_currency: String;\r\n  myLoading: boolean = true;\r\n\r\n  country_list: any[] = [];\r\n  city_list: any[] = [];\r\n  country_id: string = \"\";\r\n  city_id: string = \"\";\r\n  filter: string = \"1\";\r\n\r\n  month_array: any[] = [];\r\n  year_array: any[] = [];\r\n  select_year: any;\r\n  select_month: any = 0;\r\n\r\n  bonus_list: any[] = [];\r\n\r\n  @ViewChild(\"positive_detail_modal\")\r\n  positive_detail_modal: ModalComponent;\r\n\r\n  @ViewChild(\"negative_detail_modal\")\r\n  negative_detail_modal: ModalComponent;\r\n\r\n  constructor(\r\n    private helper: Helper,\r\n    public vcr: ViewContainerRef,\r\n  ) {\r\n    helper.toastr.setRootViewContainerRef(vcr);\r\n  }\r\n  ngAfterViewInit() {\r\n    jQuery(\".chosen-select\").chosen({ disable_search: true });\r\n    setTimeout(function () {\r\n      jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n    }, 1000);\r\n  }\r\n\r\n  ngOnInit() {\r\n    this.sort_field = \"gain\";\r\n    this.sort_order = -1;\r\n    this.search_field = \"unique_id\";\r\n    this.search_value = \"\";\r\n    this.start_date = \"\";\r\n    this.end_date = \"\";\r\n    this.page = 1;\r\n\r\n    this.month_array = [\r\n      { value: 0, text: \"Janvier\" },\r\n      { value: 1, text: \"Février\" },\r\n      { value: 2, text: \"Mars\" },\r\n      { value: 3, text: \"Avril\" },\r\n      { value: 4, text: \"Mai\" },\r\n      { value: 5, text: \"Juin\" },\r\n      { value: 6, text: \"Juillet\" },\r\n      { value: 7, text: \"Août\" },\r\n      { value: 8, text: \"Septembre\" },\r\n      { value: 9, text: \"Octobre\" },\r\n      { value: 10, text: \"Novembre\" },\r\n      { value: 11, text: \"Décembre\" },\r\n    ];\r\n\r\n    var registered_date = new Date(\"01/01/2018\");\r\n    var today = new Date(Date.now());\r\n    var firstDay: any = new Date(\r\n      registered_date.getFullYear(),\r\n      registered_date.getMonth(),\r\n      1,\r\n    );\r\n    var lastDay: any = new Date(today.getFullYear(), today.getMonth() + 1, 0);\r\n    var total_month = monthDiff(firstDay, lastDay);\r\n    for (var i = 0; i < total_month; i++) {\r\n      var index = this.year_array.indexOf(lastDay.getFullYear());\r\n      if (index == -1) {\r\n        this.year_array.push(lastDay.getFullYear());\r\n        if (this.year_array.length == 1) {\r\n          // this.select_year = lastDay.getFullYear()\r\n        }\r\n      }\r\n      lastDay = lastDay.setMonth(lastDay.getMonth() - 1);\r\n      lastDay = new Date(lastDay);\r\n      setTimeout(function () {\r\n        jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n      }, 2000);\r\n    }\r\n    if (this.helper.router_id.select_year) {\r\n      this.select_year = this.helper.router_id.select_year;\r\n    } else {\r\n      this.select_year = today.getFullYear();\r\n    }\r\n    if (this.helper.router_id.select_month) {\r\n      this.select_month = this.helper.router_id.select_month;\r\n    } else {\r\n      this.select_month = today.getMonth();\r\n    }\r\n\r\n    function monthDiff(d1, d2) {\r\n      var months;\r\n      months = (d2.getFullYear() - d1.getFullYear()) * 12;\r\n      months -= d1.getMonth() + 1;\r\n      months += d2.getMonth();\r\n      months = months + 1;\r\n      return months <= 0 ? 0 : months;\r\n    }\r\n\r\n    this.helper.http\r\n      .get(\"/api/admin/get_country_list\")\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        if (res_data.success) {\r\n          this.country_list = res_data.countries;\r\n          this.country_id = this.country_list[1]._id;\r\n          this.order_earning(1);\r\n          this.get_city_list(this.country_id);\r\n          setTimeout(() => {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n          }, 1000);\r\n        } else {\r\n          this.country_list = [];\r\n        }\r\n      });\r\n\r\n    this.helper.message();\r\n\r\n    this.title = this.helper.title;\r\n    this.button = this.helper.button;\r\n    this.heading_title = this.helper.heading_title;\r\n    this.ORDER_STATE = this.helper.ORDER_STATE;\r\n    this.DATE_FORMAT = this.helper.DATE_FORMAT;\r\n    this.status = this.helper.status;\r\n    this.lable_title = this.helper.lable_title;\r\n    this.order_list = [];\r\n    this.order_total = {\r\n      bonus_detail: [],\r\n      total: 0,\r\n      delivery_total: 0,\r\n      pickup_cash_total: 0,\r\n      orderpay_card_total: 0,\r\n      pickup_card_total: 0,\r\n      orderpay_cash_total: 0,\r\n      total_completed_orders: 0,\r\n      total_panelties: 0,\r\n      negative_blind_amount: 0,\r\n      no_of_negative_blind: 0,\r\n      no_of_open_blind: 0,\r\n      no_of_saas_blind: 0,\r\n      order_rejected: 0,\r\n      total_saas_amount: 0,\r\n      no_of_malus_store: 0,\r\n      no_of_bonus_store: 0,\r\n      no_of_malus: 0,\r\n      no_of_bonus: 0,\r\n      total_malus: 0,\r\n      total_bonus: 0,\r\n    };\r\n    this.admin_currency = \"\";\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#select_year\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.select_year = res_data.selected;\r\n      });\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#select_month\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.select_month = res_data.selected;\r\n      });\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#sort_field\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.sort_field = res_data.selected;\r\n      });\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#sort_order\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.sort_order = res_data.selected;\r\n      });\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#search_field\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.search_field = res_data.selected;\r\n      });\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#country\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.city_id = \"\";\r\n        this.country_id = res_data.selected;\r\n\r\n        if (res_data.selected) {\r\n          this.order_earning(1);\r\n          this.get_city_list(res_data.selected);\r\n        } else {\r\n          this.city_list = [];\r\n          setTimeout(function () {\r\n            jQuery(\"#city\").trigger(\"chosen:updated\");\r\n          }, 1000);\r\n        }\r\n      });\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#city\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.city_id = res_data.selected;\r\n      });\r\n  }\r\n\r\n  get_city_list(countryid) {\r\n    this.helper.http\r\n      .post(\"/api/admin/get_city_list\", { country_id: countryid })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        this.city_list = res_data.cities;\r\n        setTimeout(function () {\r\n          jQuery(\"#city\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n      });\r\n  }\r\n\r\n  activeRoute(routename: string): boolean {\r\n    return this.helper.router.url.indexOf(routename) > -1;\r\n  }\r\n  order_earning(page) {\r\n    this.myLoading = true;\r\n\r\n    var start_date: any = new Date(\r\n      Date.UTC(this.select_year, this.select_month, 1),\r\n    );\r\n    start_date = start_date.toISOString();\r\n\r\n    var end_date: any = new Date(\r\n      Date.UTC(this.select_year, Number(this.select_month) + 1, 0),\r\n    );\r\n    end_date.setUTCHours(23, 59, 59, 0);\r\n    end_date = end_date.toISOString();\r\n\r\n    // start_date =\r\n    //   start_date.getMonth() +\r\n    //   1 +\r\n    //   \"/\" +\r\n    //   start_date.getDate() +\r\n    //   \"/\" +\r\n    //   start_date.getFullYear();\r\n    // end_date =\r\n    //   end_date.getMonth() +\r\n    //   1 +\r\n    //   \"/\" +\r\n    //   end_date.getDate() +\r\n    //   \"/\" +\r\n    //   end_date.getFullYear();\r\n\r\n    this.page = page;\r\n    this.helper.http\r\n      .post(\"/admin/get_partner_earning\", {\r\n        start_date: start_date,\r\n        end_date: end_date,\r\n        country_id: this.country_id,\r\n        city_id: this.city_id,\r\n        filter: this.filter,\r\n        sort_field: this.sort_field,\r\n        sort_order: this.sort_order,\r\n        search_field: this.search_field,\r\n        search_value: this.search_value,\r\n        page: this.page,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe(\r\n        (res_data) => {\r\n          this.myLoading = false;\r\n          if (res_data.success == false) {\r\n            this.order_list = [];\r\n            this.total_pages = [];\r\n            this.order_total = {\r\n              bonus_detail: [],\r\n              total: 0,\r\n              delivery_total: 0,\r\n              orderpay_card_total: 0,\r\n              pickup_cash_total: 0,\r\n              pickup_card_total: 0,\r\n              orderpay_cash_total: 0,\r\n              total_completed_orders: 0,\r\n              total_panelties: 0,\r\n              negative_blind_amount: 0,\r\n              no_of_negative_blind: 0,\r\n              no_of_open_blind: 0,\r\n              no_of_saas_blind: 0,\r\n              order_rejected: 0,\r\n              total_saas_amount: 0,\r\n              no_of_malus_store: 0,\r\n              no_of_bonus_store: 0,\r\n              no_of_malus: 0,\r\n              no_of_bonus: 0,\r\n              total_malus: 0,\r\n              total_bonus: 0,\r\n            };\r\n          } else {\r\n            this.order_list = res_data.orders;\r\n            this.order_total = res_data.order_total;\r\n            this.admin_currency = res_data.admin_currency;\r\n            this.total_page = res_data.pages;\r\n            this.order_list.forEach((order_detail) => {\r\n              order_detail.delivery_cash_final_total =\r\n                order_detail.delivery_cash_delivery_price_total +\r\n                (order_detail.delivery_cash_total *\r\n                  (order_detail.saas_percentage_delivery_by_cash_for_store ||\r\n                    order_detail.city_saas_percentage_delivery_by_cash_for_store)) /\r\n                  100 +\r\n                ((order_detail.delivery_cash_total *\r\n                  ((order_detail.saas_percentage_delivery_by_cash_for_store ||\r\n                    order_detail.city_saas_percentage_delivery_by_cash_for_store) -\r\n                    order_detail.city_saas_percentage_for_provider)) /\r\n                  100) *\r\n                  (8.1 * 0.01);\r\n\r\n              order_detail.delivery_total =\r\n                order_detail.delivery_total -\r\n                (order_detail.delivery_total *\r\n                  (order_detail.saas_percentage_delivery_for_store ||\r\n                    order_detail.city_saas_percentage_delivery_for_store)) /\r\n                  100 -\r\n                ((order_detail.delivery_total *\r\n                  ((order_detail.saas_percentage_delivery_for_store ||\r\n                    order_detail.city_saas_percentage_delivery_for_store) -\r\n                    order_detail.city_saas_percentage_for_provider)) /\r\n                  100) *\r\n                  (8.1 * 0.01);\r\n              order_detail.pickup_card_total =\r\n                order_detail.pickup_card_total -\r\n                (order_detail.pickup_card_total *\r\n                  (order_detail.saas_percentage_pickup_by_card_for_store ||\r\n                    order_detail.city_saas_percentage_pickup_by_card_for_store)) /\r\n                  100 -\r\n                ((order_detail.pickup_card_total *\r\n                  (order_detail.saas_percentage_pickup_by_card_for_store ||\r\n                    order_detail.city_saas_percentage_pickup_by_card_for_store)) /\r\n                  100) *\r\n                  (8.1 * 0.01);\r\n              order_detail.pickup_cash_total =\r\n                order_detail.pickup_cash_total -\r\n                (order_detail.pickup_cash_total *\r\n                  (order_detail.saas_percentage_pickup_by_cash_for_store ||\r\n                    order_detail.city_saas_percentage_pickup_by_cash_for_store)) /\r\n                  100 -\r\n                ((order_detail.pickup_cash_total *\r\n                  (order_detail.saas_percentage_pickup_by_cash_for_store ||\r\n                    order_detail.city_saas_percentage_pickup_by_cash_for_store)) /\r\n                  100) *\r\n                  (8.1 * 0.01);\r\n              order_detail.orderpay_cash_total =\r\n                (order_detail.orderpay_cash_total *\r\n                  (order_detail.saas_percentage_order_pay_by_cash_for_store ||\r\n                    order_detail.city_saas_percentage_order_pay_by_cash_for_store)) /\r\n                100;\r\n              order_detail.orderpay_card_total =\r\n                order_detail.orderpay_card_total -\r\n                (order_detail.orderpay_card_total *\r\n                  (order_detail.saas_percentage_order_pay_by_card_for_store ||\r\n                    order_detail.city_saas_percentage_order_pay_by_card_for_store)) /\r\n                  100;\r\n              // order_detail.delivery_total = order_detail.delivery_total - order_detail.admin_profit_delivery_total\r\n              // order_detail.orderpay_cash_total = order_detail.orderpay_cash_total - order_detail.admin_profit_orderpay_cash_total\r\n              // order_detail.orderpay_card_total = order_detail.orderpay_card_total - order_detail.admin_profit_orderpay_card_total\r\n\r\n              let subscription_charge = 0;\r\n              if (this.order_total.subscription_detail) {\r\n                this.order_total.subscription_detail.forEach(\r\n                  (subscription_detail) => {\r\n                    if (\r\n                      subscription_detail.type_unique_id ==\r\n                        order_detail.unique_id &&\r\n                      !subscription_charge\r\n                    ) {\r\n                      subscription_charge =\r\n                        subscription_detail.subscription_charge;\r\n                    }\r\n                  },\r\n                );\r\n              }\r\n              order_detail.subscription_charge =\r\n                subscription_charge + subscription_charge * 8.1 * 0.01;\r\n              order_detail.malus = 0;\r\n              order_detail.bonus = 0;\r\n\r\n              let bonus_list = [];\r\n              if (!this.order_total.bonus_detail) {\r\n                this.order_total.bonus_detail = [];\r\n              }\r\n              this.order_total.bonus_detail.forEach((bonus_detail) => {\r\n                bonus_list = bonus_list.concat(\r\n                  bonus_detail.filter(\r\n                    (x) => x.type_unique_id == order_detail.unique_id,\r\n                  ),\r\n                );\r\n              });\r\n              bonus_list.forEach((x) => {\r\n                if (x.bonus_type == 2) {\r\n                  if (!order_detail.malus) {\r\n                    order_detail.malus = 0;\r\n                  }\r\n                  order_detail.malus = order_detail.malus + x.total_amount;\r\n                } else if (x.bonus_type == 1) {\r\n                  if (!order_detail.bonus) {\r\n                    order_detail.bonus = 0;\r\n                  }\r\n                  order_detail.bonus = order_detail.bonus + x.total_amount;\r\n                }\r\n              });\r\n            });\r\n            this.total_pages = Array(res_data.pages)\r\n              .fill((x, i) => i)\r\n              .map((x, i) => i + 1);\r\n          }\r\n        },\r\n        (error: any) => {\r\n          this.myLoading = false;\r\n          this.helper.http_status(error);\r\n        },\r\n      );\r\n  }\r\n\r\n  viewOrderEarningDetail(id) {\r\n    this.helper.router_id.select_year = this.select_year;\r\n    this.helper.router_id.select_month = this.select_month;\r\n    this.helper.router_id.admin.store_id = id;\r\n    this.helper.router.navigate([\"admin/partner_earning_detail\"]);\r\n  }\r\n\r\n  order_earning_export_csv() {\r\n    var start_date: any = new Date(\r\n      Date.UTC(this.select_year, this.select_month, 1),\r\n    );\r\n    start_date = start_date.toISOString();\r\n\r\n    var end_date: any = new Date(\r\n      Date.UTC(this.select_year, Number(this.select_month) + 1, 0),\r\n    );\r\n    end_date.setUTCHours(23, 59, 59, 0);\r\n    end_date = end_date.toISOString();\r\n\r\n    // start_date =\r\n    //   start_date.getMonth() +\r\n    //   1 +\r\n    //   \"/\" +\r\n    //   start_date.getDate() +\r\n    //   \"/\" +\r\n    //   start_date.getFullYear();\r\n    // end_date =\r\n    //   end_date.getMonth() +\r\n    //   1 +\r\n    //   \"/\" +\r\n    //   end_date.getDate() +\r\n    //   \"/\" +\r\n    //   end_date.getFullYear();\r\n    this.helper.http\r\n      .post(\"/admin/get_partner_earning\", {\r\n        start_date: start_date,\r\n        end_date: end_date,\r\n        country_id: this.country_id,\r\n        city_id: this.city_id,\r\n        filter: this.filter,\r\n        sort_field: this.sort_field,\r\n        sort_order: this.sort_order,\r\n        search_field: this.search_field,\r\n        search_value: this.search_value,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        if (res_data.success) {\r\n          var json2csv = require(\"json2csv\");\r\n\r\n          res_data.orders.forEach((order_detail) => {\r\n            // order_detail.delivery_total = order_detail.delivery_total - order_detail.admin_profit_delivery_total\r\n            // order_detail.pickup_card_total = order_detail.pickup_card_total - order_detail.admin_profit_pickup_card_total\r\n            // order_detail.pickup_cash_total = order_detail.pickup_cash_total - order_detail.admin_profit_pickup_cash_total\r\n\r\n            order_detail.delivery_total =\r\n              order_detail.delivery_total -\r\n              (order_detail.delivery_total *\r\n                (order_detail.saas_percentage_delivery_for_store ||\r\n                  order_detail.city_saas_percentage_delivery_for_store)) /\r\n                100 -\r\n              ((order_detail.delivery_total *\r\n                ((order_detail.saas_percentage_delivery_for_store ||\r\n                  order_detail.city_saas_percentage_delivery_for_store) -\r\n                  order_detail.city_saas_percentage_for_provider)) /\r\n                100) *\r\n                (8.1 * 0.01);\r\n            order_detail.delivery_cash_final_total =\r\n              order_detail.delivery_cash_delivery_price_total +\r\n              (order_detail.delivery_cash_total *\r\n                (order_detail.saas_percentage_delivery_by_cash_for_store ||\r\n                  order_detail.city_saas_percentage_delivery_by_cash_for_store)) /\r\n                100 +\r\n              ((order_detail.delivery_cash_total *\r\n                ((order_detail.saas_percentage_delivery_by_cash_for_store ||\r\n                  order_detail.city_saas_percentage_delivery_by_cash_for_store) -\r\n                  order_detail.city_saas_percentage_for_provider)) /\r\n                100) *\r\n                (8.1 * 0.01);\r\n            order_detail.pickup_card_total =\r\n              order_detail.pickup_card_total -\r\n              (order_detail.pickup_card_total *\r\n                (order_detail.saas_percentage_pickup_by_card_for_store ||\r\n                  order_detail.city_saas_percentage_pickup_by_card_for_store)) /\r\n                100 -\r\n              ((order_detail.pickup_card_total *\r\n                (order_detail.saas_percentage_pickup_by_card_for_store ||\r\n                  order_detail.city_saas_percentage_pickup_by_card_for_store)) /\r\n                100) *\r\n                (8.1 * 0.01);\r\n            order_detail.pickup_cash_total =\r\n              order_detail.pickup_cash_total -\r\n              (order_detail.pickup_cash_total *\r\n                (order_detail.saas_percentage_pickup_by_cash_for_store ||\r\n                  order_detail.city_saas_percentage_pickup_by_cash_for_store)) /\r\n                100 -\r\n              ((order_detail.pickup_cash_total *\r\n                (order_detail.saas_percentage_pickup_by_cash_for_store ||\r\n                  order_detail.city_saas_percentage_pickup_by_cash_for_store)) /\r\n                100) *\r\n                (8.1 * 0.01);\r\n            order_detail.orderpay_cash_total =\r\n              (order_detail.orderpay_cash_total *\r\n                (order_detail.saas_percentage_order_pay_by_cash_for_store ||\r\n                  order_detail.city_saas_percentage_order_pay_by_cash_for_store)) /\r\n              100;\r\n            order_detail.orderpay_card_total =\r\n              order_detail.orderpay_card_total -\r\n              (order_detail.orderpay_card_total *\r\n                (order_detail.saas_percentage_order_pay_by_card_for_store ||\r\n                  order_detail.city_saas_percentage_order_pay_by_card_for_store)) /\r\n                100;\r\n\r\n            let bonus_list = [];\r\n            res_data.order_total.bonus_detail.forEach((bonus_detail) => {\r\n              bonus_list = bonus_list.concat(\r\n                bonus_detail.filter(\r\n                  (x) => x.type_unique_id == order_detail.unique_id,\r\n                ),\r\n              );\r\n            });\r\n            let subscription_charge = 0;\r\n            if (res_data.order_total.subscription_detail) {\r\n              res_data.order_total.subscription_detail.forEach(\r\n                (subscription_detail) => {\r\n                  if (\r\n                    subscription_detail.type_unique_id ==\r\n                      order_detail.unique_id &&\r\n                    !subscription_charge\r\n                  ) {\r\n                    subscription_charge =\r\n                      subscription_detail.subscription_charge;\r\n                  }\r\n                },\r\n              );\r\n            }\r\n            order_detail.subscription_charge =\r\n              subscription_charge + subscription_charge * 8.1 * 0.01;\r\n            bonus_list.forEach((x) => {\r\n              if (x.bonus_type == 2) {\r\n                if (!order_detail.malus) {\r\n                  order_detail.malus = 0;\r\n                }\r\n                order_detail.malus = order_detail.malus + x.total_amount;\r\n              } else if (x.bonus_type == 1) {\r\n                if (!order_detail.bonus) {\r\n                  order_detail.bonus = 0;\r\n                }\r\n                order_detail.bonus = order_detail.bonus + x.total_amount;\r\n              }\r\n            });\r\n            order_detail.bonus_detail =\r\n              (order_detail.bonus ? order_detail.bonus : 0).toFixed(2) +\r\n              \"/\" +\r\n              (order_detail.malus ? order_detail.malus : 0).toFixed(2);\r\n            order_detail.gain_final = (\r\n              order_detail.delivery_total -\r\n              order_detail.delivery_cash_final_total +\r\n              order_detail.service_fee +\r\n              order_detail.pickup_card_total +\r\n              order_detail.orderpay_card_total -\r\n              order_detail.promo +\r\n              order_detail.bonus -\r\n              order_detail.malus -\r\n              order_detail.subscription_charge\r\n            ).toFixed(2);\r\n            if (order_detail.gain_final >= 0) {\r\n              order_detail.status = this.heading_title.positive;\r\n            } else {\r\n              order_detail.status = this.heading_title.negative;\r\n            }\r\n          });\r\n\r\n          var fieldNames = [\r\n            this.title.ID + this.title.store,\r\n            this.title.store_name,\r\n            this.title.city,\r\n            this.title.country,\r\n            this.title.no_of_orders,\r\n            this.title.delivery,\r\n            this.title.pickup_cash,\r\n            this.title.pickup_card,\r\n            this.title.odh,\r\n            this.title.earning_promo,\r\n            this.title.bonus + \"/\" + this.title.malus,\r\n            this.title.saas_subscription_charge_for_provider,\r\n            this.title.gain_final,\r\n            this.title.status,\r\n          ];\r\n          var fields = [\r\n            \"unique_id\",\r\n            \"name\",\r\n            \"city_name\",\r\n            \"country_name\",\r\n            \"total_completed_orders\",\r\n            \"delivery_total\",\r\n            \"pickup_cash_total\",\r\n            \"pickup_card_total\",\r\n            \"delivery_cash_total\",\r\n            // 'orderpay_cash_total',\r\n            // 'orderpay_card_total',\r\n            \"promo\",\r\n            \"bonus_detail\",\r\n            \"subscription_charge\",\r\n            \"gain_final\",\r\n            \"status\",\r\n          ];\r\n\r\n          var order_total_fieldNames = [\r\n            this.title.total_gain,\r\n            this.title.total_completed_commande,\r\n            this.title.total_panelties,\r\n            this.title.negative_blind_amount,\r\n            this.title.no_of_negative_blind,\r\n            this.title.no_of_open_blind,\r\n            this.title.no_of_saas_blind,\r\n            this.title.order_rejected,\r\n            this.title.total_saas_amount,\r\n          ];\r\n          var order_total_fields = [\r\n            \"total\",\r\n            \"total_completed_orders\",\r\n            \"total_panelties\",\r\n            \"negative_blind_amount\",\r\n            \"no_of_negative_blind\",\r\n            \"no_of_open_blind\",\r\n            \"no_of_saas_blind\",\r\n            \"order_rejected\",\r\n            \"total_saas_amount\",\r\n          ];\r\n\r\n          var order_total_csv = json2csv({\r\n            data: res_data.order_total,\r\n            fields: order_total_fields,\r\n            fieldNames: order_total_fieldNames,\r\n          });\r\n          var csv = json2csv({\r\n            data: res_data.orders,\r\n            fields: fields,\r\n            fieldNames: fieldNames,\r\n          });\r\n\r\n          var final_csv: any = order_total_csv + \"\\n\" + \"\\n\" + csv;\r\n\r\n          this.helper.downloadFile(final_csv);\r\n        }\r\n      });\r\n  }\r\n\r\n  order_earning_export_csv1() {\r\n    var start_date: any = new Date(\r\n      Date.UTC(this.select_year, this.select_month, 1),\r\n    );\r\n    start_date = start_date.toISOString();\r\n\r\n    var end_date: any = new Date(\r\n      Date.UTC(this.select_year, Number(this.select_month) + 1, 0),\r\n    );\r\n    end_date.setUTCHours(23, 59, 59, 0);\r\n    end_date = end_date.toISOString();\r\n\r\n    // start_date =\r\n    //   start_date.getMonth() +\r\n    //   1 +\r\n    //   \"/\" +\r\n    //   start_date.getDate() +\r\n    //   \"/\" +\r\n    //   start_date.getFullYear();\r\n    // end_date =\r\n    //   end_date.getMonth() +\r\n    //   1 +\r\n    //   \"/\" +\r\n    //   end_date.getDate() +\r\n    //   \"/\" +\r\n    //   end_date.getFullYear();\r\n    this.helper.http\r\n      .post(\"/admin/get_partner_earning\", {\r\n        start_date: start_date,\r\n        end_date: end_date,\r\n        country_id: this.country_id,\r\n        city_id: this.city_id,\r\n        filter: this.filter,\r\n        sort_field: this.sort_field,\r\n        sort_order: this.sort_order,\r\n        search_field: this.search_field,\r\n        search_value: this.search_value,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        if (res_data.success) {\r\n          var json2csv = require(\"json2csv\");\r\n\r\n          res_data.orders.forEach((order_detail) => {\r\n            // order_detail.delivery_total = order_detail.delivery_total - order_detail.admin_profit_delivery_total\r\n            // order_detail.pickup_card_total = order_detail.pickup_card_total - order_detail.admin_profit_pickup_card_total\r\n            // order_detail.pickup_cash_total = order_detail.pickup_cash_total - order_detail.admin_profit_pickup_cash_total\r\n\r\n            order_detail.delivery_total =\r\n              order_detail.delivery_total -\r\n              (order_detail.delivery_total *\r\n                (order_detail.saas_percentage_delivery_for_store ||\r\n                  order_detail.city_saas_percentage_delivery_for_store)) /\r\n                100 -\r\n              ((order_detail.delivery_total *\r\n                (order_detail.saas_percentage_delivery_for_store ||\r\n                  order_detail.city_saas_percentage_delivery_for_store)) /\r\n                100) *\r\n                (8.1 * 0.01);\r\n            order_detail.delivery_cash_final_total =\r\n              order_detail.delivery_cash_delivery_price_total +\r\n              (order_detail.delivery_cash_total *\r\n                (order_detail.saas_percentage_delivery_by_cash_for_store ||\r\n                  order_detail.city_saas_percentage_delivery_by_cash_for_store)) /\r\n                100 +\r\n              ((order_detail.delivery_cash_total *\r\n                ((order_detail.saas_percentage_delivery_by_cash_for_store ||\r\n                  order_detail.city_saas_percentage_delivery_by_cash_for_store) -\r\n                  order_detail.city_saas_percentage_for_provider)) /\r\n                100) *\r\n                (8.1 * 0.01);\r\n            order_detail.pickup_card_total =\r\n              order_detail.pickup_card_total -\r\n              (order_detail.pickup_card_total *\r\n                (order_detail.saas_percentage_pickup_by_card_for_store ||\r\n                  order_detail.city_saas_percentage_pickup_by_card_for_store)) /\r\n                100 -\r\n              ((order_detail.pickup_card_total *\r\n                (order_detail.saas_percentage_pickup_by_card_for_store ||\r\n                  order_detail.city_saas_percentage_pickup_by_card_for_store)) /\r\n                100) *\r\n                (8.1 * 0.01);\r\n            order_detail.pickup_cash_total =\r\n              order_detail.pickup_cash_total -\r\n              (order_detail.pickup_cash_total *\r\n                (order_detail.saas_percentage_pickup_by_cash_for_store ||\r\n                  order_detail.city_saas_percentage_pickup_by_cash_for_store)) /\r\n                100 -\r\n              ((order_detail.pickup_cash_total *\r\n                (order_detail.saas_percentage_pickup_by_cash_for_store ||\r\n                  order_detail.city_saas_percentage_pickup_by_cash_for_store)) /\r\n                100) *\r\n                (8.1 * 0.01);\r\n            order_detail.orderpay_cash_total =\r\n              (order_detail.orderpay_cash_total *\r\n                (order_detail.saas_percentage_order_pay_by_cash_for_store ||\r\n                  order_detail.city_saas_percentage_order_pay_by_cash_for_store)) /\r\n              100;\r\n            order_detail.orderpay_card_total =\r\n              order_detail.orderpay_card_total -\r\n              (order_detail.orderpay_card_total *\r\n                (order_detail.saas_percentage_order_pay_by_card_for_store ||\r\n                  order_detail.city_saas_percentage_order_pay_by_card_for_store)) /\r\n                100;\r\n\r\n            let bonus_list = [];\r\n            res_data.order_total.bonus_detail.forEach((bonus_detail) => {\r\n              bonus_list = bonus_list.concat(\r\n                bonus_detail.filter(\r\n                  (x) => x.type_unique_id == order_detail.unique_id,\r\n                ),\r\n              );\r\n            });\r\n            let subscription_charge = 0;\r\n            let management_fee = 0;\r\n            if (res_data.order_total.subscription_detail) {\r\n              res_data.order_total.subscription_detail.forEach(\r\n                (subscription_detail) => {\r\n                  if (\r\n                    subscription_detail.type_unique_id ==\r\n                      order_detail.unique_id &&\r\n                    !subscription_charge\r\n                  ) {\r\n                    subscription_charge =\r\n                      subscription_detail.subscription_charge;\r\n                  }\r\n                  if (\r\n                    subscription_detail.type_unique_id ==\r\n                      order_detail.unique_id &&\r\n                    !management_fee\r\n                  ) {\r\n                    management_fee = subscription_detail.management_fee;\r\n                  }\r\n                },\r\n              );\r\n            }\r\n            order_detail.management_fee = management_fee;\r\n            order_detail.subscription_charge =\r\n              subscription_charge + subscription_charge * 8.1 * 0.01;\r\n            bonus_list.forEach((x) => {\r\n              if (x.bonus_type == 2) {\r\n                if (!order_detail.malus) {\r\n                  order_detail.malus = 0;\r\n                }\r\n                order_detail.malus = order_detail.malus + x.total_amount;\r\n              } else if (x.bonus_type == 1) {\r\n                if (!order_detail.bonus) {\r\n                  order_detail.bonus = 0;\r\n                }\r\n                order_detail.bonus = order_detail.bonus + x.total_amount;\r\n              }\r\n            });\r\n            order_detail.bonus_detail =\r\n              (order_detail.bonus ? order_detail.bonus : 0).toFixed(2) +\r\n              \"/\" +\r\n              (order_detail.malus ? order_detail.malus : 0).toFixed(2);\r\n            order_detail.gain_final = (\r\n              order_detail.delivery_total -\r\n              order_detail.delivery_cash_final_total +\r\n              order_detail.service_fee +\r\n              order_detail.pickup_card_total +\r\n              order_detail.orderpay_card_total -\r\n              order_detail.promo +\r\n              order_detail.bonus -\r\n              order_detail.malus -\r\n              order_detail.subscription_charge\r\n            ).toFixed(2);\r\n            if (order_detail.gain_final >= 0) {\r\n              order_detail.status = this.heading_title.positive;\r\n            } else {\r\n              order_detail.status = this.heading_title.negative;\r\n            }\r\n          });\r\n\r\n          var fieldNames = [\r\n            this.title.ID + this.title.store,\r\n            this.title.store_name,\r\n            this.title.gain_final,\r\n            this.title.city,\r\n            this.title.country,\r\n            this.title.no_of_orders_hop,\r\n            this.title.no_of_orders_pickup,\r\n            this.title.no_of_orders_odh,\r\n            this.title.delivery1,\r\n            this.title.delivery_hop,\r\n            this.title.delivery_odh,\r\n            this.title.gestion_delivery,\r\n            this.title.total_delivery_price_hop,\r\n            this.title.total_delivery_price_odh,\r\n            this.title.total_provider_profit_on_store,\r\n            this.title.pickup1,\r\n            this.title.total_management_fees,\r\n            this.title.promo,\r\n            this.title.bonus + \"/\" + this.title.malus,\r\n            this.title.saas_subscription_charge_for_provider,\r\n            this.title.status,\r\n            this.title.saas_percentage_pickup_by_card_for_store,\r\n          ];\r\n          var fields = [\r\n            \"unique_id\",\r\n            \"name\",\r\n            \"gain_final\",\r\n            \"city_name\",\r\n            \"country_name\",\r\n            \"total_completed_orders_hop\",\r\n            \"total_completed_orders_pickup\",\r\n            \"total_completed_orders_odh\",\r\n            \"final_delivery_total\",\r\n            \"delivery_total_hop\",\r\n            \"delivery_odh\",\r\n            \"total_delivery_price\",\r\n            \"total_delivery_price_hop\",\r\n            \"total_delivery_price_odh\",\r\n            \"total_provider_profit_on_store\",\r\n            \"pickup\",\r\n            \"management_fee\",\r\n            \"promo\",\r\n            \"bonus_detail\",\r\n            \"subscription_charge\",\r\n            \"status\",\r\n            \"saas_percentage_pickup_by_card_for_store\",\r\n          ];\r\n\r\n          var order_total_fieldNames = [\r\n            this.title.total_gain,\r\n            this.title.total_completed_commande,\r\n            this.title.total_panelties,\r\n            this.title.negative_blind_amount,\r\n            this.title.no_of_negative_blind,\r\n            this.title.no_of_open_blind,\r\n            this.title.no_of_saas_blind,\r\n            this.title.order_rejected,\r\n            this.title.total_saas_amount,\r\n          ];\r\n          var order_total_fields = [\r\n            \"total\",\r\n            \"total_completed_orders\",\r\n            \"total_panelties\",\r\n            \"negative_blind_amount\",\r\n            \"no_of_negative_blind\",\r\n            \"no_of_open_blind\",\r\n            \"no_of_saas_blind\",\r\n            \"order_rejected\",\r\n            \"total_saas_amount\",\r\n          ];\r\n\r\n          // var order_total_csv = json2csv({data: res_data.order_total, fields: order_total_fields, fieldNames: order_total_fieldNames});\r\n          var csv = json2csv({\r\n            data: res_data.orders,\r\n            fields: fields,\r\n            fieldNames: fieldNames,\r\n          });\r\n\r\n          // var final_csv: any = order_total_csv + \"\\n\" + \"\\n\" + csv\r\n\r\n          this.helper.downloadFile(csv);\r\n        }\r\n      });\r\n  }\r\n\r\n  order_earning_export_csv2() {\r\n    var start_date: any = new Date(\r\n      Date.UTC(this.select_year, this.select_month, 1),\r\n    );\r\n    start_date = start_date.toISOString();\r\n\r\n    var end_date: any = new Date(\r\n      Date.UTC(this.select_year, Number(this.select_month) + 1, 0),\r\n    );\r\n    end_date.setUTCHours(23, 59, 59, 0);\r\n    end_date = end_date.toISOString();\r\n\r\n    // start_date =\r\n    //   start_date.getMonth() +\r\n    //   1 +\r\n    //   \"/\" +\r\n    //   start_date.getDate() +\r\n    //   \"/\" +\r\n    //   start_date.getFullYear();\r\n    // end_date =\r\n    //   end_date.getMonth() +\r\n    //   1 +\r\n    //   \"/\" +\r\n    //   end_date.getDate() +\r\n    //   \"/\" +\r\n    //   end_date.getFullYear();\r\n    this.helper.http\r\n      .post(\"/admin/get_partner_earning\", {\r\n        start_date: start_date,\r\n        end_date: end_date,\r\n        country_id: this.country_id,\r\n        city_id: this.city_id,\r\n        filter: this.filter,\r\n        sort_field: this.sort_field,\r\n        sort_order: this.sort_order,\r\n        search_field: this.search_field,\r\n        search_value: this.search_value,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        if (res_data.success) {\r\n          var json2csv = require(\"json2csv\");\r\n\r\n          res_data.orders.forEach((order_detail) => {\r\n            if (order_detail.saas_percentage_delivery_for_store) {\r\n              order_detail.city_saas_percentage_delivery_for_store =\r\n                order_detail.saas_percentage_delivery_for_store;\r\n            }\r\n\r\n            if (order_detail.saas_percentage_pickup_by_card_for_store) {\r\n              order_detail.city_saas_percentage_pickup_by_card_for_store =\r\n                order_detail.saas_percentage_pickup_by_card_for_store;\r\n            }\r\n\r\n            if (order_detail.saas_percentage_delivery_by_cash_for_store) {\r\n              order_detail.city_saas_percentage_delivery_by_cash_for_store =\r\n                order_detail.saas_percentage_delivery_by_cash_for_store;\r\n            }\r\n\r\n            order_detail.delivery_gmv = order_detail.delivery_total;\r\n            order_detail.pickup_total =\r\n              order_detail.pickup_card_total + order_detail.pickup_cash_total;\r\n            order_detail.final_total =\r\n              order_detail.delivery_gmv +\r\n              order_detail.pickup_total +\r\n              order_detail.delivery_odh;\r\n            order_detail.total_hopper_odh_delivery_price_earning =\r\n              order_detail.total_delivery_price_odh -\r\n              order_detail.admin_profit_delivery_total;\r\n            order_detail.total_hopper_odh_earning =\r\n              (order_detail.delivery_cash_total *\r\n                (order_detail.city_saas_percentage_for_provider\r\n                  ? order_detail.city_saas_percentage_for_provider\r\n                  : 10)) /\r\n              100;\r\n            order_detail.total_hop_odh_earning =\r\n              (order_detail.delivery_cash_total *\r\n                (order_detail.saas_percentage_delivery_by_cash_for_store ||\r\n                  order_detail.city_saas_percentage_delivery_by_cash_for_store)) /\r\n                100 -\r\n              order_detail.total_hopper_odh_earning;\r\n\r\n            order_detail.final_delivery_total += order_detail.pickup_total_hop;\r\n            // order_detail.delivery_total = order_detail.delivery_total - order_detail.admin_profit_delivery_total\r\n            // order_detail.pickup_card_total = order_detail.pickup_card_total - order_detail.admin_profit_pickup_card_total\r\n            // order_detail.pickup_cash_total = order_detail.pickup_cash_total - order_detail.admin_profit_pickup_cash_total\r\n            order_detail.total_completed_orders_total =\r\n              order_detail.total_completed_orders_hop +\r\n              order_detail.total_completed_orders_pickup +\r\n              order_detail.total_completed_orders_odh;\r\n\r\n            order_detail.delivery_total =\r\n              order_detail.delivery_total -\r\n              (order_detail.delivery_total *\r\n                (order_detail.saas_percentage_delivery_for_store ||\r\n                  order_detail.city_saas_percentage_delivery_for_store)) /\r\n                100 -\r\n              ((order_detail.delivery_total *\r\n                (order_detail.saas_percentage_delivery_for_store ||\r\n                  order_detail.city_saas_percentage_delivery_for_store)) /\r\n                100) *\r\n                (8.1 * 0.01);\r\n            order_detail.delivery_cash_final_total =\r\n              order_detail.delivery_cash_delivery_price_total +\r\n              (order_detail.delivery_cash_total *\r\n                (order_detail.saas_percentage_delivery_by_cash_for_store ||\r\n                  order_detail.city_saas_percentage_delivery_by_cash_for_store)) /\r\n                100 +\r\n              ((order_detail.delivery_cash_total *\r\n                ((order_detail.saas_percentage_delivery_by_cash_for_store ||\r\n                  order_detail.city_saas_percentage_delivery_by_cash_for_store) -\r\n                  order_detail.city_saas_percentage_for_provider)) /\r\n                100) *\r\n                (8.1 * 0.01);\r\n            order_detail.pickup_card_total =\r\n              order_detail.pickup_card_total -\r\n              (order_detail.pickup_card_total *\r\n                (order_detail.saas_percentage_pickup_by_card_for_store ||\r\n                  order_detail.city_saas_percentage_pickup_by_card_for_store)) /\r\n                100 -\r\n              ((order_detail.pickup_card_total *\r\n                (order_detail.saas_percentage_pickup_by_card_for_store ||\r\n                  order_detail.city_saas_percentage_pickup_by_card_for_store)) /\r\n                100) *\r\n                (8.1 * 0.01);\r\n            order_detail.pickup_cash_total =\r\n              order_detail.pickup_cash_total -\r\n              (order_detail.pickup_cash_total *\r\n                (order_detail.saas_percentage_pickup_by_cash_for_store ||\r\n                  order_detail.city_saas_percentage_pickup_by_cash_for_store)) /\r\n                100 -\r\n              ((order_detail.pickup_cash_total *\r\n                (order_detail.saas_percentage_pickup_by_cash_for_store ||\r\n                  order_detail.city_saas_percentage_pickup_by_cash_for_store)) /\r\n                100) *\r\n                (8.1 * 0.01);\r\n\r\n            order_detail.orderpay_cash_total =\r\n              (order_detail.orderpay_cash_total *\r\n                (order_detail.saas_percentage_order_pay_by_cash_for_store ||\r\n                  order_detail.city_saas_percentage_order_pay_by_cash_for_store)) /\r\n              100;\r\n            order_detail.orderpay_card_total =\r\n              order_detail.orderpay_card_total -\r\n              (order_detail.orderpay_card_total *\r\n                (order_detail.saas_percentage_order_pay_by_card_for_store ||\r\n                  order_detail.city_saas_percentage_order_pay_by_card_for_store)) /\r\n                100;\r\n\r\n            let bonus_list = [];\r\n            res_data.order_total.bonus_detail.forEach((bonus_detail) => {\r\n              bonus_list = bonus_list.concat(\r\n                bonus_detail.filter(\r\n                  (x) => x.type_unique_id == order_detail.unique_id,\r\n                ),\r\n              );\r\n            });\r\n            let subscription_charge = 0;\r\n            let management_fee = 0;\r\n            if (res_data.order_total.subscription_detail) {\r\n              res_data.order_total.subscription_detail.forEach(\r\n                (subscription_detail) => {\r\n                  if (\r\n                    subscription_detail.type_unique_id ==\r\n                      order_detail.unique_id &&\r\n                    !subscription_charge\r\n                  ) {\r\n                    subscription_charge =\r\n                      subscription_detail.subscription_charge;\r\n                  }\r\n                  if (\r\n                    subscription_detail.type_unique_id ==\r\n                      order_detail.unique_id &&\r\n                    !management_fee\r\n                  ) {\r\n                    management_fee = subscription_detail.management_fee;\r\n                  }\r\n                },\r\n              );\r\n            }\r\n            order_detail.management_fee = management_fee;\r\n            order_detail.subscription_charge =\r\n              subscription_charge + subscription_charge * 8.1 * 0.01;\r\n            bonus_list.forEach((x) => {\r\n              if (x.bonus_type == 2) {\r\n                if (!order_detail.malus) {\r\n                  order_detail.malus = 0;\r\n                }\r\n                order_detail.malus = order_detail.malus + x.total_amount;\r\n              } else if (x.bonus_type == 1) {\r\n                if (!order_detail.bonus) {\r\n                  order_detail.bonus = 0;\r\n                }\r\n                order_detail.bonus = order_detail.bonus + x.total_amount;\r\n              }\r\n            });\r\n\r\n            order_detail.gain_final = (\r\n              order_detail.delivery_total -\r\n              order_detail.delivery_cash_final_total +\r\n              order_detail.service_fee +\r\n              order_detail.pickup_card_total +\r\n              order_detail.orderpay_card_total -\r\n              (order_detail.delivery_offer_price\r\n                ? order_detail.delivery_offer_price\r\n                : 0) -\r\n              order_detail.promo +\r\n              order_detail.bonus -\r\n              order_detail.malus -\r\n              order_detail.subscription_charge\r\n            ).toFixed(2);\r\n            if (order_detail.gain_final >= 0) {\r\n              order_detail.status = this.heading_title.positive;\r\n            } else {\r\n              order_detail.status = this.heading_title.negative;\r\n            }\r\n\r\n            order_detail.malus = (\r\n              order_detail.malus ? -order_detail.malus : 0\r\n            ).toFixed(2);\r\n            order_detail.promo = (\r\n              order_detail.promo ? -order_detail.promo : 0\r\n            ).toFixed(2);\r\n            order_detail.delivery_offer_price = (\r\n              order_detail.delivery_offer_price\r\n                ? -order_detail.delivery_offer_price\r\n                : 0\r\n            ).toFixed(2);\r\n          });\r\n\r\n          var fieldNames = [\r\n            this.title.ID + this.title.store,\r\n            this.title.store_name,\r\n            this.title.gain_final,\r\n            this.title.city,\r\n            this.title.country,\r\n\r\n            this.title.no_of_orders_hop,\r\n            this.title.no_of_orders_pickup,\r\n            this.title.no_of_orders_odh,\r\n            this.title.no_of_orders_total,\r\n\r\n            this.title.delivery_hop,\r\n            this.title.pickup_hop,\r\n            this.title.delivery_odh,\r\n            this.title.total_gmv,\r\n\r\n            this.title.commission_delivery,\r\n            this.title.commission_pickup_card,\r\n            // this.title.commission_pickup_cash,\r\n            this.title.commission_odh,\r\n\r\n            this.title.saas_subscription_charge_for_provider,\r\n            this.title.total_management_fees,\r\n\r\n            this.title.promo,\r\n            this.title.delivery_offer_price,\r\n            this.title.service_fee,\r\n            this.title.bonus,\r\n            this.title.malus,\r\n            \"Hopper earning order ODH\",\r\n            \"Hop earning order ODH\",\r\n            \"Hopper earning  ODH delivery FEES\",\r\n            // this.title.total_provider_profit_on_store,\r\n            this.title.status,\r\n\r\n            // this.title.gestion_delivery,\r\n            // this.title.total_delivery_price_hop,\r\n            // this.title.total_delivery_price_odh,\r\n          ];\r\n          var fields = [\r\n            \"unique_id\",\r\n            \"name\",\r\n            \"gain_final\",\r\n            \"city_name\",\r\n            \"country_name\",\r\n\r\n            \"total_completed_orders_hop\",\r\n            \"total_completed_orders_pickup\",\r\n            \"total_completed_orders_odh\",\r\n            \"total_completed_orders_total\",\r\n\r\n            \"delivery_gmv\",\r\n            \"pickup_total\",\r\n            \"delivery_odh\",\r\n            \"final_total\",\r\n\r\n            \"city_saas_percentage_delivery_for_store\",\r\n            \"city_saas_percentage_pickup_by_card_for_store\",\r\n            // 'city_saas_percentage_pickup_by_cash_for_store',\r\n            \"city_saas_percentage_delivery_by_cash_for_store\",\r\n\r\n            \"subscription_charge\",\r\n            \"management_fee\",\r\n\r\n            \"promo\",\r\n            \"delivery_offer_price\",\r\n            \"service_fee\",\r\n            \"bonus\",\r\n            \"malus\",\r\n            \"total_hopper_odh_earning\",\r\n            \"total_hop_odh_earning\",\r\n            \"total_hopper_odh_delivery_price_earning\",\r\n            // 'total_provider_profit_on_store',\r\n            \"status\",\r\n\r\n            // 'total_delivery_price',\r\n            // 'total_delivery_price_hop',\r\n            // 'total_delivery_price_odh',\r\n          ];\r\n\r\n          var order_total_fieldNames = [\r\n            this.title.total_gain,\r\n            this.title.total_completed_commande,\r\n            this.title.total_panelties,\r\n            this.title.negative_blind_amount,\r\n            this.title.no_of_negative_blind,\r\n            this.title.no_of_open_blind,\r\n            this.title.no_of_saas_blind,\r\n            this.title.order_rejected,\r\n            this.title.total_saas_amount,\r\n          ];\r\n          var order_total_fields = [\r\n            \"total\",\r\n            \"total_completed_orders\",\r\n            \"total_panelties\",\r\n            \"negative_blind_amount\",\r\n            \"no_of_negative_blind\",\r\n            \"no_of_open_blind\",\r\n            \"no_of_saas_blind\",\r\n            \"order_rejected\",\r\n            \"total_saas_amount\",\r\n          ];\r\n\r\n          // var order_total_csv = json2csv({data: res_data.order_total, fields: order_total_fields, fieldNames: order_total_fieldNames});\r\n          var csv = json2csv({\r\n            data: res_data.orders,\r\n            fields: fields,\r\n            fieldNames: fieldNames,\r\n          });\r\n\r\n          // var final_csv: any = order_total_csv + \"\\n\" + \"\\n\" + csv\r\n\r\n          this.helper.downloadFile(csv);\r\n        }\r\n      });\r\n  }\r\n\r\n  order_earning_export_excel() {\r\n    var start_date = new Date(Date.UTC(this.select_year, this.select_month, 1));\r\n    var end_date = new Date(\r\n      Date.UTC(this.select_year, Number(this.select_month) + 1, 0),\r\n    );\r\n    this.helper.http\r\n      .post(\"/admin/get_order_earning\", {\r\n        start_date: start_date,\r\n        end_date: end_date,\r\n        sort_field: this.sort_field,\r\n        sort_order: this.sort_order,\r\n        search_field: this.search_field,\r\n        search_value: this.search_value,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        var json_data = [];\r\n        var json2excel = require(\"js2excel\");\r\n\r\n        res_data.orders.forEach((order, index) => {\r\n          if (order.order_payment_detail.is_paid_from_wallet) {\r\n            order.payment_status = this.title.wallet;\r\n          } else {\r\n            if (order.order_payment_detail.is_payment_mode_cash) {\r\n              order.payment_status = this.lable_title.cash;\r\n            } else {\r\n              order.payment_status = order.payment_gateway_detail[0].name;\r\n            }\r\n          }\r\n\r\n          order.user_name =\r\n            order.user_detail.first_name + \" \" + order.user_detail.last_name;\r\n          order.store_name = order.store_detail.name;\r\n\r\n          if (order.request_detail != undefined) {\r\n            if (order.provider_detail.length > 0) {\r\n              order.provider_name =\r\n                order.provider_detail[0].first_name +\r\n                \" \" +\r\n                order.provider_detail[0].last_name;\r\n            }\r\n          }\r\n\r\n          order.admin_earning = (\r\n            +order.order_payment_detail.total_delivery_price +\r\n            +order.order_payment_detail.total_order_price\r\n          ).toFixed(2);\r\n\r\n          json_data.push({\r\n            ID: order.unique_id,\r\n            User: order.user_name,\r\n            Store: order.store_name,\r\n            Provider: order.provider_name,\r\n            \"Payment By\": order.payment_status,\r\n            Currency: order.country_detail.currency_sign,\r\n            total: order.order_payment_detail.total,\r\n            delivery_total: order.order_payment_detail.delivery_total,\r\n            pickup_cash_total: order.order_payment_detail.pickup_cash_total,\r\n            orderpay_card_total: order.order_payment_detail.orderpay_card_total,\r\n            orderpay_cash_total: order.order_payment_detail.orderpay_cash_total,\r\n            pickup_card_total: order.order_payment_detail.pickup_card_total,\r\n            admin_earning: order.admin_earning,\r\n            provider_earning: order.order_payment_detail.total_provider_income,\r\n            pay_provider: order.order_payment_detail.pay_to_provider,\r\n            provider_income_set_in_wallet:\r\n              order.order_payment_detail.provider_income_set_in_wallet,\r\n            store_earn: order.order_payment_detail.total_store_income,\r\n            pay_store: order.order_payment_detail.pay_to_store,\r\n            store_income_set_in_wallet:\r\n              order.order_payment_detail.store_income_set_in_wallet,\r\n          });\r\n        });\r\n\r\n        json2excel.json2excel({\r\n          data: json_data,\r\n          name: \"order_earning_excel\",\r\n          formateDate: \"yyyy/mm/dd\",\r\n        });\r\n      });\r\n  }\r\n\r\n  delete_malus(id, index) {\r\n    swal({\r\n      title: \"Are you sure?\",\r\n      text: \"You won't be able to revert this!\",\r\n      type: \"warning\",\r\n      showCancelButton: true,\r\n      confirmButtonColor: \"#3085d6\",\r\n      cancelButtonColor: \"#d33\",\r\n      confirmButtonText: \"Yes\",\r\n    })\r\n      .then(() => {\r\n        this.helper.http\r\n          .post(\"/admin/delete_malus\", { malus_id: id })\r\n          .map((res: Response) => res.json())\r\n          .subscribe((res_data) => {\r\n            console.log(res_data);\r\n            this.order_total.bonus_detail.splice(index, 1);\r\n          });\r\n      })\r\n      .catch(swal.noop);\r\n  }\r\n\r\n  open_positive_modal() {\r\n    this.positive_detail_modal.open();\r\n  }\r\n\r\n  open_negative_modal() {\r\n    this.negative_detail_modal.open();\r\n  }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/partner_earning/partner_earning.component.ts","import { Component, OnInit, ViewContainerRef } from \"@angular/core\";\r\nimport { Response } from \"@angular/http\";\r\nimport { Helper } from \"../../helper\";\r\ndeclare var jQuery: any;\r\nimport * as jsPDF from \"jspdf\";\r\n// var htmlToImage = require('html-to-image');\r\nimport * as moment from \"moment-timezone\";\r\n\r\n@Component({\r\n  selector: \"app-partner_earning_detail\",\r\n  template: require('./partner_earning_detail.component.html'),\r\n  providers: [Helper],\r\n})\r\nexport class PartnerEarningDetailComponent implements OnInit {\r\n  title: any;\r\n  button: any;\r\n  ORDER_STATE: any;\r\n  heading_title: any;\r\n  store_id: Object;\r\n  server_token: String;\r\n  search_field: string;\r\n  search_value: string;\r\n  start_date: string;\r\n  end_date: string;\r\n  week_date: string;\r\n  week_array: any[];\r\n  show: Boolean;\r\n  month_array: any[] = [];\r\n  year_array: any[] = [];\r\n  select_year: any;\r\n  select_month: any = 0;\r\n  order_list: any[] = [];\r\n  bonus_list: any[] = [];\r\n  subscription_charge: number = 0;\r\n  management_fee: number = 0;\r\n  order_total: any = {\r\n    total_cart_price: 0,\r\n    total_delivery_price: 0,\r\n    total_store_income: 0,\r\n    total_delivery_cart_price: 0,\r\n    total_delivery_cash_cart_price: 0,\r\n    total_delivery_cash_delivery_price: 0,\r\n    total_pickup_cash_cart_price: 0,\r\n    total_pickup_card_cart_price: 0,\r\n    total_orderpay_cash_cart_price: 0,\r\n    total_orderpay_card_cart_price: 0,\r\n    total_delivery_store_income: 0,\r\n    total_pickup_store_income: 0,\r\n    total_orderpay_store_income: 0,\r\n    total_cart_price_with_saas: 0,\r\n    total_cart_price_without_saas: 0,\r\n    total_store_income_with_saas: 0,\r\n    total_store_income_without_saas: 0,\r\n    total_saas_order: 0,\r\n    total_delivery_order: 0,\r\n    total_delivery_cash_order: 0,\r\n    total_pickup_cash_order: 0,\r\n    total_pickup_card_order: 0,\r\n    total_orderpay_cash_order: 0,\r\n    total_orderpay_card_order: 0,\r\n    total_non_saas_order: 0,\r\n    total_bonus: 0,\r\n    total_malus: 0,\r\n    service_fee: 0,\r\n    other_promo_payment_loyalty: 0,\r\n    other_delivery_promo_payment_loyalty: 0,\r\n    delivery_offer_price: 0,\r\n    total_admin_profit_on_store_cash_delivery: 0,\r\n    total_admin_profit_on_store_card_delivery: 0,\r\n    total_admin_profit_on_store_pickup: 0,\r\n    total_admin_profit_on_store_orderpay: 0,\r\n  };\r\n  moment: any;\r\n  store_detail: any = {};\r\n\r\n  show_selected_month: string = \"\";\r\n  show_selected_year: string = \"\";\r\n\r\n  tva: number = 2.5;\r\n  page_type: number = 1;\r\n\r\n  constructor(private helper: Helper, public vcr: ViewContainerRef) {\r\n    helper.toastr.setRootViewContainerRef(vcr);\r\n  }\r\n\r\n  ngAfterViewInit() {\r\n    jQuery(\".chosen-select\").chosen();\r\n  }\r\n\r\n  ngOnInit() {\r\n    console.log(this.helper.router.url);\r\n    if (this.helper.router.url == \"/admin/partner_odh_earning_detail\") {\r\n      this.page_type = 2;\r\n    }\r\n\r\n    this.search_field = \"user_detail.first_name\";\r\n    this.search_value = \"\";\r\n    this.start_date = \"\";\r\n    this.end_date = \"\";\r\n    this.week_date = \"\";\r\n    this.show = false;\r\n    this.month_array = [\r\n      { value: 0, text: \"Janvier\" },\r\n      { value: 1, text: \"Février\" },\r\n      { value: 2, text: \"Mars\" },\r\n      { value: 3, text: \"Avril\" },\r\n      { value: 4, text: \"Mai\" },\r\n      { value: 5, text: \"Juin\" },\r\n      { value: 6, text: \"Juillet\" },\r\n      { value: 7, text: \"Août\" },\r\n      { value: 8, text: \"Septembre\" },\r\n      { value: 9, text: \"Octobre\" },\r\n      { value: 10, text: \"Novembre\" },\r\n      { value: 11, text: \"Décembre\" },\r\n    ];\r\n\r\n    this.title = this.helper.title;\r\n    this.button = this.helper.button;\r\n    this.heading_title = this.helper.heading_title;\r\n    this.ORDER_STATE = this.helper.ORDER_STATE;\r\n    this.week_array = [];\r\n    this.moment = moment;\r\n\r\n    this.store_id = this.helper.router_id.admin.store_id;\r\n    this.select_year = this.helper.router_id.select_year;\r\n    this.select_month = this.helper.router_id.select_month;\r\n\r\n    if (this.select_year && this.select_month !== undefined && this.store_id) {\r\n      this.store_monthly_earning();\r\n    } else {\r\n      this.helper.router.navigate([\"/admin/partner_earning\"]);\r\n    }\r\n\r\n    var monthNames = [\r\n      \"Jan\",\r\n      \"Feb\",\r\n      \"Mar\",\r\n      \"Apr\",\r\n      \"May\",\r\n      \"Jun\",\r\n      \"Jul\",\r\n      \"Aug\",\r\n      \"Sep\",\r\n      \"Oct\",\r\n      \"Nov\",\r\n      \"Dec\",\r\n    ];\r\n\r\n    var registered_date = new Date(\"01/01/2020\");\r\n    console.log(registered_date);\r\n    var today = new Date(Date.now());\r\n    var getDay = today.getDay();\r\n    getDay = 7 - getDay;\r\n    var lastWeekEndDay = today.getDate() + getDay - 1;\r\n    var lastWeekEndDate1 = new Date(today.setDate(lastWeekEndDay));\r\n    var timeDiff = Math.abs(\r\n      lastWeekEndDate1.getTime() - registered_date.getTime()\r\n    );\r\n    var total_week = Math.ceil(timeDiff / (1000 * 3600 * 24) / 7);\r\n\r\n    for (var i = 0; i < total_week; i++) {\r\n      var today = new Date(Date.now());\r\n      var getDay = today.getDay();\r\n      getDay = 7 - getDay;\r\n      var lastWeekEndDay = today.getDate() + getDay - 1 - i * 7;\r\n      var lastWeekEndDate = new Date(today.setDate(lastWeekEndDay)).setHours(\r\n        23,\r\n        59,\r\n        59,\r\n        999\r\n      );\r\n      var lastWeekEndDates = new Date(lastWeekEndDate);\r\n      var lastWeekStartDate = new Date(\r\n        lastWeekEndDates.getTime() - 6 * 24 * 60 * 60 * 1000\r\n      );\r\n      var lastWeekStartDates = lastWeekStartDate.setHours(0, 0, 0, 0);\r\n      lastWeekStartDate = new Date(lastWeekStartDates);\r\n\r\n      var month = monthNames[lastWeekStartDate.getMonth()];\r\n      var date = lastWeekStartDate.getDate();\r\n      var year = lastWeekStartDate.getFullYear();\r\n      var start_date =\r\n        lastWeekStartDate.getMonth() + 1 + \"-\" + date + \"-\" + year;\r\n      var lastWeekstartday = date + \" \" + month + \" \" + year;\r\n\r\n      month = monthNames[lastWeekEndDates.getMonth()];\r\n      date = lastWeekEndDates.getDate();\r\n      year = lastWeekEndDates.getFullYear();\r\n      var lastWeekenddate = date + \" \" + month + \" \" + year;\r\n      var end_date = lastWeekEndDates.getMonth() + 1 + \"-\" + date + \"-\" + year;\r\n\r\n      this.week_array.push({\r\n        value: start_date + \" \" + end_date,\r\n        text: lastWeekstartday + \" - \" + lastWeekenddate,\r\n      });\r\n      if (i == 0) {\r\n        this.week_date = start_date + \" \" + end_date;\r\n        this.start_date = start_date;\r\n        this.end_date = end_date;\r\n      }\r\n    }\r\n    var today = new Date(Date.now());\r\n    var firstDay: any = new Date(\r\n      registered_date.getFullYear(),\r\n      registered_date.getMonth(),\r\n      1\r\n    );\r\n    var lastDay: any = new Date(today.getFullYear(), today.getMonth() + 1, 0);\r\n    var total_month = monthDiff(firstDay, lastDay);\r\n    for (i = 0; i < total_month; i++) {\r\n      lastDay = lastDay.setMonth(lastDay.getMonth() - 1);\r\n      lastDay = new Date(lastDay);\r\n      var index = this.year_array.indexOf(lastDay.getFullYear());\r\n      if (index == -1) {\r\n        this.year_array.push(lastDay.getFullYear());\r\n      }\r\n      setTimeout(function () {\r\n        jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n      }, 2000);\r\n    }\r\n    // this.select_month = today.getMonth();\r\n    // this.select_year = today.getFullYear();\r\n\r\n    function monthDiff(d1, d2) {\r\n      var months;\r\n      months = (d2.getFullYear() - d1.getFullYear()) * 12;\r\n      months -= d1.getMonth() + 1;\r\n      months += d2.getMonth();\r\n      months = months + 1;\r\n      return months <= 0 ? 0 : months;\r\n    }\r\n\r\n    setTimeout(function () {\r\n      jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n    }, 1000);\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#search_field\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.search_field = res_data.selected;\r\n      });\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#select_year\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.select_year = res_data.selected;\r\n      });\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#select_month\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.select_month = res_data.selected;\r\n      });\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#week_date\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.week_date = res_data.selected;\r\n        var date = this.week_date.split(\" \");\r\n        this.start_date = date[0];\r\n        this.end_date = date[1];\r\n      });\r\n  }\r\n\r\n  store_monthly_earning() {\r\n    var start_date: any = new Date(\r\n      Date.UTC(this.select_year, this.select_month, 1)\r\n    );\r\n    start_date = start_date.toISOString();\r\n\r\n    var end_date: any = new Date(\r\n      Date.UTC(this.select_year, Number(this.select_month) + 1, 0)\r\n    );\r\n    end_date.setUTCHours(23, 59, 59, 0);\r\n    end_date = end_date.toISOString();\r\n\r\n    if (this.select_year >= 2024) {\r\n      this.tva = 2.6;\r\n    } else {\r\n      this.tva = 2.5;\r\n    }\r\n    // start_date =\r\n    //   start_date.getMonth() +\r\n    //   1 +\r\n    //   \"/\" +\r\n    //   start_date.getDate() +\r\n    //   \"/\" +\r\n    //   start_date.getFullYear();\r\n    // end_date =\r\n    //   end_date.getMonth() +\r\n    //   1 +\r\n    //   \"/\" +\r\n    //   end_date.getDate() +\r\n    //   \"/\" +\r\n    //   end_date.getFullYear();\r\n\r\n    this.helper.http\r\n      .post(\"/admin/get_partner_earning_detail\", {\r\n        page_type: this.page_type,\r\n        store_id: this.store_id,\r\n        start_date: start_date,\r\n        end_date: end_date,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        this.order_list = res_data.order_list;\r\n        this.bonus_list = res_data.bonus_list;\r\n        this.subscription_charge = res_data.subscription_charge;\r\n        this.management_fee = res_data.management_fee;\r\n\r\n        this.order_total = {\r\n          total_cart_price: 0,\r\n          total_delivery_price: 0,\r\n          total_store_income: 0,\r\n          total_delivery_cart_price: 0,\r\n          total_delivery_cash_cart_price: 0,\r\n          total_delivery_cash_delivery_price: 0,\r\n          total_pickup_cash_cart_price: 0,\r\n          total_pickup_card_cart_price: 0,\r\n          total_orderpay_cash_cart_price: 0,\r\n          total_orderpay_card_cart_price: 0,\r\n          total_delivery_store_income: 0,\r\n          total_pickup_store_income: 0,\r\n          total_orderpay_store_income: 0,\r\n          total_cart_price_with_saas: 0,\r\n          total_cart_price_without_saas: 0,\r\n          total_store_income_with_saas: 0,\r\n          total_store_income_without_saas: 0,\r\n          total_saas_order: 0,\r\n          total_delivery_order: 0,\r\n          total_delivery_cash_order: 0,\r\n          total_pickup_cash_order: 0,\r\n          total_pickup_card_order: 0,\r\n          total_orderpay_cash_order: 0,\r\n          total_orderpay_card_order: 0,\r\n          total_non_saas_order: 0,\r\n          total_bonus: 0,\r\n          total_malus: 0,\r\n          service_fee: 0,\r\n          other_promo_payment_loyalty: 0,\r\n          other_delivery_promo_payment_loyalty: 0,\r\n          delivery_offer_price: 0,\r\n          total_admin_profit_on_store_cash_delivery: 0,\r\n          total_admin_profit_on_store_card_delivery: 0,\r\n          total_admin_profit_on_store_pickup: 0,\r\n          total_admin_profit_on_store_orderpay: 0,\r\n        };\r\n        this.order_list.forEach((order_detail) => {\r\n          this.order_total.total_cart_price =\r\n            this.order_total.total_cart_price + order_detail.total_cart_price;\r\n          this.order_total.total_delivery_price =\r\n            this.order_total.total_delivery_price +\r\n            order_detail.total_delivery_price;\r\n          this.order_total.total_store_income =\r\n            this.order_total.total_store_income +\r\n            order_detail.total_store_income;\r\n          // if(order_detail.is_saas_order){\r\n          this.order_total.total_cart_price_with_saas =\r\n            this.order_total.total_cart_price_with_saas +\r\n            order_detail.total_cart_price;\r\n          this.order_total.total_store_income_with_saas =\r\n            this.order_total.total_store_income_with_saas +\r\n            order_detail.total_store_income;\r\n          this.order_total.other_promo_payment_loyalty =\r\n            this.order_total.other_promo_payment_loyalty +\r\n            (order_detail.other_promo_payment_loyalty\r\n              ? order_detail.other_promo_payment_loyalty\r\n              : 0);\r\n          this.order_total.other_delivery_promo_payment_loyalty =\r\n            this.order_total.other_delivery_promo_payment_loyalty +\r\n            (order_detail.other_delivery_promo_payment_loyalty\r\n              ? order_detail.other_delivery_promo_payment_loyalty\r\n              : 0);\r\n          this.order_total.delivery_offer_price =\r\n            this.order_total.delivery_offer_price +\r\n            (order_detail.delivery_offer_price\r\n              ? order_detail.delivery_offer_price\r\n              : 0);\r\n          this.order_total.total_saas_order++;\r\n          if (order_detail.is_user_pick_up_order) {\r\n            if (order_detail.is_order_pay) {\r\n              this.order_total.total_orderpay_store_income =\r\n                this.order_total.total_orderpay_store_income +\r\n                order_detail.total_store_income;\r\n              if (!order_detail.is_payment_mode_cash) {\r\n                this.order_total.service_fee =\r\n                  this.order_total.service_fee +\r\n                  (order_detail.service_fee ? order_detail.service_fee : 0);\r\n              }\r\n              this.order_total.total_admin_profit_on_store_orderpay =\r\n                this.order_total.total_admin_profit_on_store_orderpay +\r\n                order_detail.total_admin_profit_on_store;\r\n              if (order_detail.is_payment_mode_cash) {\r\n                this.order_total.total_orderpay_cash_cart_price =\r\n                  this.order_total.total_orderpay_cash_cart_price +\r\n                  order_detail.total_cart_price;\r\n                this.order_total.total_orderpay_cash_order++;\r\n              } else {\r\n                this.order_total.total_orderpay_card_cart_price =\r\n                  this.order_total.total_orderpay_card_cart_price +\r\n                  order_detail.total_cart_price;\r\n                this.order_total.total_orderpay_card_order++;\r\n              }\r\n            } else {\r\n              this.order_total.total_pickup_store_income =\r\n                this.order_total.total_pickup_store_income +\r\n                order_detail.total_store_income;\r\n              if (!order_detail.is_payment_mode_cash) {\r\n                this.order_total.service_fee =\r\n                  this.order_total.service_fee +\r\n                  (order_detail.service_fee ? order_detail.service_fee : 0);\r\n              }\r\n              this.order_total.total_admin_profit_on_store_pickup =\r\n                this.order_total.total_admin_profit_on_store_pickup +\r\n                order_detail.total_admin_profit_on_store;\r\n              if (order_detail.is_payment_mode_cash) {\r\n                this.order_total.total_pickup_cash_cart_price =\r\n                  this.order_total.total_pickup_cash_cart_price +\r\n                  order_detail.total_cart_price;\r\n                this.order_total.total_pickup_cash_order++;\r\n              } else {\r\n                this.order_total.total_pickup_card_cart_price =\r\n                  this.order_total.total_pickup_card_cart_price +\r\n                  order_detail.total_cart_price;\r\n                this.order_total.total_pickup_card_order++;\r\n              }\r\n            }\r\n          } else {\r\n            this.order_total.total_delivery_store_income =\r\n              this.order_total.total_delivery_store_income +\r\n              order_detail.total_store_income;\r\n            if (order_detail.is_payment_mode_cash) {\r\n              this.order_total.total_delivery_cash_cart_price =\r\n                this.order_total.total_delivery_cash_cart_price +\r\n                order_detail.total_cart_price;\r\n              this.order_total.total_delivery_cash_delivery_price =\r\n                this.order_total.total_delivery_cash_delivery_price +\r\n                order_detail.total_delivery_price;\r\n              this.order_total.total_delivery_cash_order++;\r\n              this.order_total.total_admin_profit_on_store_cash_delivery =\r\n                this.order_total.total_admin_profit_on_store_cash_delivery +\r\n                order_detail.total_admin_profit_on_store +\r\n                order_detail.total_delivery_price;\r\n            } else {\r\n              this.order_total.total_admin_profit_on_store_card_delivery =\r\n                this.order_total.total_admin_profit_on_store_card_delivery +\r\n                order_detail.total_admin_profit_on_store;\r\n              this.order_total.total_delivery_cart_price =\r\n                this.order_total.total_delivery_cart_price +\r\n                order_detail.total_cart_price;\r\n              this.order_total.total_delivery_order++;\r\n              this.order_total.service_fee =\r\n                this.order_total.service_fee +\r\n                (order_detail.service_fee ? order_detail.service_fee : 0);\r\n            }\r\n          }\r\n          // } else {\r\n          //     this.order_total.total_cart_price_without_saas = this.order_total.total_cart_price_without_saas + order_detail.total_cart_price;\r\n          //     this.order_total.total_store_income_without_saas = this.order_total.total_store_income_without_saas + order_detail.total_store_income;\r\n          //     this.order_total.total_non_saas_order++;\r\n          // }\r\n        });\r\n\r\n        this.bonus_list.forEach((bonus_detail) => {\r\n          if (bonus_detail.bonus_type == 1) {\r\n            this.order_total.total_bonus =\r\n              this.order_total.total_bonus + bonus_detail.bonus_amount;\r\n          } else {\r\n            this.order_total.total_malus =\r\n              this.order_total.total_malus + bonus_detail.bonus_amount;\r\n          }\r\n        });\r\n\r\n        this.show_selected_month = this.select_month;\r\n        this.show_selected_year = this.select_year;\r\n        this.store_detail = res_data.store_detail;\r\n        this.store_detail.saas_percentage_delivery_for_store =\r\n          res_data.store_detail.saas_percentage_delivery_for_store ||\r\n          res_data.saas_percentage_delivery_for_store;\r\n        this.store_detail.saas_percentage_delivery_by_cash_for_store =\r\n          res_data.store_detail.saas_percentage_delivery_by_cash_for_store ||\r\n          res_data.saas_percentage_delivery_by_cash_for_store;\r\n        this.store_detail.saas_percentage_pickup_by_cash_for_store =\r\n          res_data.store_detail.saas_percentage_pickup_by_cash_for_store ||\r\n          res_data.saas_percentage_pickup_by_cash_for_store;\r\n        this.store_detail.saas_percentage_pickup_by_card_for_store =\r\n          res_data.store_detail.saas_percentage_pickup_by_card_for_store ||\r\n          res_data.saas_percentage_pickup_by_card_for_store;\r\n        this.store_detail.saas_percentage_orderpay_by_cash_for_store =\r\n          res_data.store_detail.saas_percentage_order_pay_by_cash_for_store ||\r\n          res_data.saas_percentage_order_pay_by_cash_for_store;\r\n        this.store_detail.saas_percentage_orderpay_by_card_for_store =\r\n          res_data.store_detail.saas_percentage_order_pay_by_card_for_store ||\r\n          res_data.saas_percentage_order_pay_by_card_for_store;\r\n        this.store_detail.saas_percentage_for_provider =\r\n          res_data.saas_percentage_for_provider;\r\n        this.order_list.sort(this.sortItem);\r\n        this.order_list.sort(this.sortItem1);\r\n        // this.store_detail.admin_profit_value_on_store = res_data.admin_profit_value_on_store\r\n      });\r\n  }\r\n\r\n  sortItem(a, b) {\r\n    return a.is_payment_mode_cash === b.is_payment_mode_cash\r\n      ? 0\r\n      : a.is_payment_mode_cash\r\n      ? 1\r\n      : -1;\r\n  }\r\n\r\n  sortItem1(a, b) {\r\n    return a.is_user_pick_up_order === b.is_user_pick_up_order\r\n      ? 0\r\n      : a.is_user_pick_up_order\r\n      ? 1\r\n      : -1;\r\n  }\r\n\r\n  export_excel() {\r\n    // var domtoimage = require('dom-to-image');\r\n    var node = document.getElementById(\"order\");\r\n    var doc = new jsPDF({\r\n      format: \"a1\",\r\n    });\r\n    doc.fromHTML(node, 10, 10);\r\n    var file_name =\r\n      this.store_detail.name +\r\n      \"_\" +\r\n      \"Facture_\" +\r\n      this.month_array[this.show_selected_month].text +\r\n      this.show_selected_year;\r\n    doc.save(file_name + \".pdf\");\r\n  }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/partner_earning_detail/partner_earning_detail.component.ts","import {Component, OnInit, ViewContainerRef, ViewChild} from '@angular/core';\r\nimport {Response} from '@angular/http';\r\nimport {Helper} from \"../../helper\";\r\nimport { ModalComponent } from 'ng2-bs3-modal/ng2-bs3-modal';\r\n\r\ndeclare var jQuery: any;\r\n\r\n@Component({\r\n    selector: 'app-partner_odh_earning',\r\n    template: require('./partner_odh_earning.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class PartnerOdhEarningComponent implements OnInit {\r\n    title: any;\r\n    button: any;\r\n    ORDER_STATE: any;\r\n    DATE_FORMAT: any;\r\n    heading_title: any;\r\n    status: any;\r\n    lable_title: any;\r\n    order_list: any[];\r\n    sort_field: string;\r\n    sort_order: number;\r\n    search_field: string;\r\n    search_value: string;\r\n    start_date: string;\r\n    end_date: string;\r\n    page: number;\r\n    total_page: number;\r\n    total_pages: number[];\r\n    order_total: any;\r\n    admin_currency: String;\r\n    myLoading: boolean = true;\r\n\r\n    country_list: any[] = [];\r\n    city_list: any[] = [];\r\n    country_id: string = '';\r\n    city_id: string = '';\r\n    filter: string = '1';\r\n\r\n    month_array: any[] = [];\r\n    year_array: any[] = [];\r\n    select_year: any;\r\n    select_month: any = 0;\r\n\r\n    bonus_list: any[] = [];\r\n\r\n    @ViewChild('positive_detail_modal')\r\n    positive_detail_modal: ModalComponent;\r\n\r\n    @ViewChild('negative_detail_modal')\r\n    negative_detail_modal: ModalComponent;\r\n\r\n    constructor(private helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n    ngAfterViewInit() {\r\n\r\n        jQuery(\".chosen-select\").chosen({disable_search: true});\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n    }\r\n\r\n\r\n\r\n    ngOnInit() {\r\n        this.sort_field = \"delivery_cash_total\";\r\n        this.sort_order = -1;\r\n        this.search_field = \"unique_id\";\r\n        this.search_value = \"\";\r\n        this.start_date = '';\r\n        this.end_date = '';\r\n        this.page = 1\r\n\r\n        this.month_array = [{value: 0, text: 'Janvier'}, {value: 1, text: 'Février'}, {value: 2, text: 'Mars'}, {value: 3, text: 'Avril'}, {value: 4, text: 'Mai'}, {value: 5, text: 'Juin'}, {value: 6, text: 'Juillet'}, {value: 7, text: 'Août'}, {value: 8, text: 'Septembre'}, {value: 9, text: 'Octobre'}, {value: 10, text: 'Novembre'}, {value: 11, text: 'Décembre'}];\r\n        \r\n        var registered_date = new Date('01/01/2018')\r\n         var today = new Date(Date.now());\r\n        var firstDay: any = new Date(registered_date.getFullYear(), registered_date.getMonth(), 1);\r\n        var lastDay: any = new Date(today.getFullYear(), today.getMonth() + 1, 0);\r\n        var total_month = monthDiff(firstDay, lastDay);\r\n        console.log(firstDay)\r\n        console.log(lastDay)\r\n        for(var i=0; i<total_month; i++){\r\n            \r\n            var index = this.year_array.indexOf(lastDay.getFullYear());\r\n            if(index == -1){\r\n                this.year_array.push(lastDay.getFullYear())\r\n                if(this.year_array.length == 1){\r\n                    // this.select_year = lastDay.getFullYear()\r\n                }\r\n            }\r\n            lastDay = lastDay.setMonth(lastDay.getMonth()-1);\r\n            lastDay = new Date(lastDay);\r\n            setTimeout(function() {\r\n                jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n            }, 2000);\r\n        }\r\n        this.select_month = today.getMonth();\r\n        this.select_year = today.getFullYear();\r\n\r\n        function monthDiff(d1, d2) {\r\n            var months;\r\n            months = (d2.getFullYear() - d1.getFullYear()) * 12;\r\n            months -= d1.getMonth() + 1;\r\n            months += d2.getMonth();\r\n            months = months+1;\r\n            return months <= 0 ? 0 : months;\r\n        }\r\n\r\n        this.helper.message()\r\n\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.ORDER_STATE = this.helper.ORDER_STATE\r\n        this.DATE_FORMAT = this.helper.DATE_FORMAT\r\n        this.status = this.helper.status\r\n        this.lable_title = this.helper.lable_title\r\n        this.order_list = [];\r\n        this.order_total = {\r\n            bonus_detail: [],\r\n            total: 0,\r\n\t\t\ttotal_revenue: 0,\r\n            delivery_total: 0,\r\n            pickup_cash_total: 0,\r\n            orderpay_card_total: 0,\r\n            pickup_card_total: 0,\r\n            orderpay_cash_total: 0,\r\n            total_completed_orders: 0,\r\n            total_panelties: 0,\r\n            negative_blind_amount: 0,\r\n            no_of_negative_blind: 0,\r\n            no_of_open_blind: 0,\r\n\t\t\tfinal_gain: 0,\r\n\t\t\tno_of_saas_blind: 0,\r\n\t\t\tdelivery_cash_final_total: 0,\r\n            order_rejected: 0,\r\n            total_saas_amount: 0,\r\n\t\t\ttotal_delivery_price: 0,\r\n\t\t\tmanagement_fee: 0,\r\n            no_of_malus_store: 0,\r\n            no_of_bonus_store: 0,\r\n            no_of_malus: 0,\r\n            no_of_bonus: 0,\r\n            total_malus: 0,\r\n            total_bonus: 0,\r\n\t\t\ttotal_record: 0\r\n        };\r\n        this.admin_currency = \"\";\r\n\r\n        this.order_earning(1);\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#select_year').on('change', (evnt,res_data) => {\r\n\r\n            this.select_year=res_data.selected;\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#select_month').on('change', (evnt,res_data) => {\r\n\r\n            this.select_month=res_data.selected;\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_field').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_field = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_order').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_order = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#search_field').on('change', (evnt, res_data) => {\r\n\r\n            this.search_field = res_data.selected;\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#country').on('change', (evnt, res_data) => {\r\n            this.city_id = '';\r\n            this.country_id = res_data.selected;\r\n\r\n            if(res_data.selected){\r\n                this.get_city_list(res_data.selected);\r\n            } else {\r\n                this.city_list = [];\r\n                setTimeout(function () {\r\n                    jQuery(\"#city\").trigger(\"chosen:updated\");\r\n                }, 1000);\r\n            }\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#city').on('change', (evnt, res_data) => {\r\n                this.city_id = res_data.selected;\r\n           });\r\n\r\n        this.helper.http.get('/api/admin/get_country_list').map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            if (res_data.success) {\r\n                this.country_list = res_data.countries;\r\n                setTimeout(()=> {\r\n                    jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n                }, 1000);\r\n            }\r\n            else {\r\n                this.country_list = [];\r\n            }\r\n\r\n        });\r\n    }\r\n\r\n    get_city_list(countryid) {\r\n        this.helper.http.post('/api/admin/get_city_list', {country_id: countryid}).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            this.city_list = res_data.cities;\r\n            setTimeout(function () {\r\n                jQuery(\"#city\").trigger(\"chosen:updated\");\r\n            }, 1000);\r\n        });\r\n    }\r\n\r\n    activeRoute(routename: string): boolean {\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n    order_earning(page) {\r\n        var start_date: any = new Date(Date.UTC(this.select_year, this.select_month, 1));\r\n        var end_date: any = new Date(Date.UTC(this.select_year, Number(this.select_month) + 1, 0));\r\n\r\n        start_date = (start_date.getMonth()+1) + '/' + start_date.getDate() + '/' + start_date.getFullYear()\r\n        end_date = (end_date.getMonth()+1) + '/' + end_date.getDate() + '/' + end_date.getFullYear()\r\n\r\n        this.page = page;\r\n        this.helper.http.post('/admin/get_partner_earning', {\r\n            start_date: start_date, end_date: end_date,\r\n            country_id: this.country_id, city_id: this.city_id, filter: this.filter,\r\n            sort_field: this.sort_field, sort_order: this.sort_order,\r\n\t\t\tpage_type: 2,\r\n            search_field: this.search_field, search_value: this.search_value, page: this.page\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n\r\n                this.order_list = [];\r\n                this.total_pages = [];\r\n                this.order_total = {\r\n                    bonus_detail: [],\r\n                    total: 0,\r\n                    delivery_total: 0,\r\n                    orderpay_card_total: 0,\r\n\t\t\t\t\ttotal_delivery_price: 0,\r\n\t\t\t\t\ttotal_revenue: 0,\r\n                    pickup_cash_total: 0,\r\n                    pickup_card_total: 0,\r\n                    orderpay_cash_total: 0,\r\n\t\t\t\t\tmanagement_fee: 0,\r\n\t\t\t\t\ttotal_completed_orders: 0,\r\n                    total_panelties: 0,\r\n\t\t\t\t\tdelivery_cash_final_total: 0,\r\n                    negative_blind_amount: 0,\r\n                    no_of_negative_blind: 0,\r\n                    no_of_open_blind: 0,\r\n                    no_of_saas_blind: 0,\r\n                    order_rejected: 0,\r\n\t\t\t\t\tfinal_gain: 0,\r\n                    total_saas_amount: 0,\r\n                    no_of_malus_store: 0,\r\n                    no_of_bonus_store: 0,\r\n                    no_of_malus: 0,\r\n                    no_of_bonus: 0,\r\n                    total_malus: 0,\r\n                    total_bonus: 0,\r\n\t\t\t\t\ttotal_record: 0\r\n                };\r\n            }\r\n            else {\r\n                this.order_list = res_data.orders;\r\n                this.order_total = res_data.order_total;\r\n\t\t\t\tthis.order_total.final_gain = 0;\r\n                this.admin_currency = res_data.admin_currency;\r\n                this.total_page = res_data.pages;\r\n                this.order_list.forEach((order_detail)=>{\r\n                    order_detail.delivery_cash_final_total = ((order_detail.delivery_cash_total * ((order_detail.saas_percentage_delivery_by_cash_for_store || order_detail.city_saas_percentage_delivery_by_cash_for_store)))/100)\r\n                    // this.order_total.delivery_cash_final_total += order_detail.delivery_cash_final_total\r\n\r\n\t\t\t\t\t\r\n                    let management_fee = 0;\r\n                    if(this.order_total.subscription_detail){\r\n\t\t\t\t\t\tthis.order_total.subscription_detail.forEach((subscription_detail)=>{\r\n\t\t\t\t\t\t\tif(subscription_detail.type_unique_id==order_detail.unique_id && !management_fee){\r\n\t\t\t\t\t\t\t\tmanagement_fee = subscription_detail.management_fee\r\n                            }\r\n                        })\r\n                    }\r\n\t\t\t\t\t// this.order_total.management_fee += management_fee;\r\n                    \r\n\t\t\t\t\t\r\n\t\t\t\t\torder_detail.management_fee = management_fee;\r\n                    order_detail.malus = 0;\r\n\t\t\t\t\torder_detail.bonus = 0;\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\tlet bonus_list = [];\r\n\t\t\t\t\tif(!this.order_total.bonus_detail){\r\n\t\t\t\t\t\tthis.order_total.bonus_detail = [];\r\n\t\t\t\t\t}\r\n                    this.order_total.bonus_detail.forEach((bonus_detail)=>{\r\n                        bonus_list = bonus_list.concat(bonus_detail.filter((x)=>x.type_unique_id==order_detail.unique_id))\r\n                    })\r\n                    bonus_list.forEach((x)=>{\r\n                        if(x.bonus_type==2){\r\n                            if(!order_detail.malus){\r\n                                order_detail.malus = 0;\r\n                            }\r\n                            order_detail.malus = order_detail.malus + x.total_amount\r\n                        } else if(x.bonus_type==1){\r\n                            if(!order_detail.bonus){\r\n                                order_detail.bonus = 0;\r\n                            }\r\n                            order_detail.bonus = order_detail.bonus + x.total_amount\r\n                        }\r\n                    })\r\n\t\t\t\t\torder_detail.final_gain = order_detail.delivery_cash_final_total + order_detail.total_delivery_price - order_detail.bonus + order_detail.malus + order_detail.management_fee\r\n\t\t\t\t\tif(!this.order_total.final_gain){\r\n\t\t\t\t\t\tthis.order_total.final_gain = 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.order_total.final_gain += order_detail.final_gain\r\n                })\r\n\t\t\t\tconsole.log(this.order_total.final_gain)\r\n                this.total_pages = Array(res_data.pages).fill((x, i) => i).map((x, i) => i + 1)\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    viewOrderEarningDetail(id) {\r\n        this.helper.router_id.select_year = this.select_year;\r\n        this.helper.router_id.select_month = this.select_month;\r\n        this.helper.router_id.admin.store_id = id;\r\n        this.helper.router.navigate(['admin/partner_odh_earning_detail']);\r\n\r\n    }\r\n\r\n\r\n    order_earning_export_csv() {\r\n        var start_date: any = new Date(Date.UTC(this.select_year, this.select_month, 1));\r\n        var end_date: any = new Date(Date.UTC(this.select_year, Number(this.select_month) + 1, 0));\r\n\r\n        start_date = (start_date.getMonth()+1) + '/' + start_date.getDate() + '/' + start_date.getFullYear()\r\n        end_date = (end_date.getMonth()+1) + '/' + end_date.getDate() + '/' + end_date.getFullYear()\r\n        this.helper.http.post('/admin/get_partner_earning', {\r\n            start_date: start_date, end_date: end_date,\r\n            country_id: this.country_id, city_id: this.city_id, filter: this.filter,\r\n\t\t\tpage_type: 2,\r\n            sort_field: this.sort_field, sort_order: this.sort_order,\r\n            search_field: this.search_field, search_value: this.search_value\r\n\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            if(res_data.success){\r\n                var json2csv = require('json2csv');\r\n\r\n                \r\n\t\t\t\tthis.order_total = res_data.order_total;\r\n\t\t\t\tthis.order_total.final_gain = 0;\r\n                res_data.orders.forEach((order_detail)=>{\r\n                    // order_detail.delivery_total = order_detail.delivery_total - order_detail.admin_profit_delivery_total\r\n                    // order_detail.pickup_card_total = order_detail.pickup_card_total - order_detail.admin_profit_pickup_card_total \r\n                    // order_detail.pickup_cash_total = order_detail.pickup_cash_total - order_detail.admin_profit_pickup_cash_total\r\n\r\n                    order_detail.delivery_total = order_detail.delivery_total - ((order_detail.delivery_total * ((order_detail.saas_percentage_delivery_for_store || order_detail.city_saas_percentage_delivery_for_store)))/100)\r\n                    order_detail.delivery_cash_final_total = ((order_detail.delivery_cash_total * ((order_detail.saas_percentage_delivery_by_cash_for_store || order_detail.city_saas_percentage_delivery_by_cash_for_store)))/100)\r\n\r\n                    let bonus_list = [];\r\n                    res_data.order_total.bonus_detail.forEach((bonus_detail)=>{\r\n                        bonus_list = bonus_list.concat(bonus_detail.filter((x)=>x.type_unique_id==order_detail.unique_id))\r\n                    })\r\n                    let management_fee = 0;\r\n                    if(this.order_total.subscription_detail){\r\n                        this.order_total.subscription_detail.forEach((subscription_detail)=>{\r\n                            if(subscription_detail.type_unique_id==order_detail.unique_id && !management_fee){\r\n                                management_fee = subscription_detail.management_fee\r\n                            }\r\n                        })\r\n                    }\r\n                    order_detail.management_fee = management_fee;\r\n                    bonus_list.forEach((x)=>{\r\n                        if(x.bonus_type==2){\r\n                            if(!order_detail.malus){\r\n                                order_detail.malus = 0;\r\n                            }\r\n                            order_detail.malus = order_detail.malus + x.total_amount\r\n                        } else if(x.bonus_type==1){\r\n                            if(!order_detail.bonus){\r\n                                order_detail.bonus = 0;\r\n                            }\r\n                            order_detail.bonus = order_detail.bonus + x.total_amount\r\n                        }\r\n                    })\r\n                    order_detail.bonus_detail = (order_detail.bonus ? order_detail.bonus : 0).toFixed(2)+'/'+((order_detail.malus ? order_detail.malus : 0).toFixed(2))\r\n                    order_detail.final_gain = (order_detail.delivery_cash_final_total + order_detail.total_delivery_price - order_detail.bonus + order_detail.malus + order_detail.management_fee).toFixed(2)\r\n                    if(!this.order_total.final_gain){\r\n\t\t\t\t\t\tthis.order_total.final_gain = 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.order_total.final_gain += Number(order_detail.final_gain)\r\n\r\n\t\t\t\t\tconsole.log(order_detail.final_gain)\r\n                    if(order_detail.final_gain>=0){\r\n                        order_detail.status = this.heading_title.positive\r\n                    } else {\r\n                        order_detail.status = this.heading_title.negative\r\n                    }\r\n                })\r\n\r\n\r\n                var fieldNames = [\r\n                    this.title.ID + this.title.store,\r\n                    this.title.store_name, \r\n                    this.title.city, \r\n                    this.title.country,\r\n                    this.title.no_of_orders, \r\n                    this.title.total_revenue_order_odh, \r\n                    this.title.total_amount_comission, \r\n                    this.title.total_amount_delivery_fees, \r\n                    this.title.bonus + '/' + this.title.malus, \r\n                    this.title.saas_subscription_charge_for_provider,\r\n                    this.title.gain_final\r\n                ];\r\n                var fields = [\r\n                    'unique_id', \r\n                    'name', \r\n                    'city_name',\r\n                    'country_name',\r\n                    'total_completed_orders', \r\n                    'delivery_cash_total',\r\n                    'delivery_cash_final_total',\r\n                    'total_delivery_price', \r\n\t\t\t\t\t'bonus_detail',\r\n                    'management_fee',\r\n                    'final_gain'\r\n                ];\r\n\r\n                var order_total_fieldNames = [\r\n                    this.title.total_revenue_order_odh, \r\n                    this.title.total_completed_commande, \r\n                    this.title.total_amount_comission, \r\n                    this.title.total_delivery_fees,\r\n                    this.title.montant_bonus,\r\n                    this.title.montant_malus,\r\n                    this.title.no_of_store,\r\n                    this.title.total_management_fees,\r\n                    this.title.total_hop_should_get\r\n                ];\r\n                var order_total_fields = [\r\n                    'total_revenue',\r\n                    'total_completed_orders',\r\n                    'delivery_cash_final_total',\r\n                    'total_delivery_price',\r\n                    'total_bonus',\r\n                    'total_malus',\r\n                    'total_record',\r\n                    'management_fee',\r\n                    'final_gain'\r\n                ];\r\n\r\n                var order_total_csv = json2csv({data: res_data.order_total, fields: order_total_fields, fieldNames: order_total_fieldNames});\r\n                var csv = json2csv({data: res_data.orders, fields: fields, fieldNames: fieldNames});\r\n\r\n                var final_csv: any = order_total_csv + \"\\n\" + \"\\n\" + csv\r\n\r\n                this.helper.downloadFile(final_csv);\r\n            }\r\n        });\r\n    }\r\n\r\n\r\n\r\n\r\n    order_earning_export_excel() {\r\n        var start_date = new Date(Date.UTC(this.select_year, this.select_month, 1));\r\n        var end_date = new Date(Date.UTC(this.select_year, Number(this.select_month) + 1, 0));\r\n        this.helper.http.post('/admin/get_order_earning', {\r\n            start_date: start_date,\r\n            end_date: end_date,\r\n            sort_field: this.sort_field,\r\n\t\t\tpage_type: 2,\r\n            sort_order: this.sort_order,\r\n            search_field: this.search_field,\r\n            search_value: this.search_value\r\n\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            var json_data = [];\r\n            var json2excel = require('js2excel');\r\n\r\n            res_data.orders.forEach((order, index) => {\r\n                if (order.order_payment_detail.is_paid_from_wallet) {\r\n                    order.payment_status = this.title.wallet;\r\n                } else {\r\n                    if (order.order_payment_detail.is_payment_mode_cash) {\r\n                        order.payment_status = this.lable_title.cash;\r\n                    } else {\r\n                        order.payment_status = order.payment_gateway_detail[0].name;\r\n                    }\r\n                }\r\n\r\n\r\n\r\n                order.user_name = order.user_detail.first_name + ' ' + order.user_detail.last_name;\r\n                order.store_name = order.store_detail.name;\r\n                \r\n                if(order.request_detail != undefined)\r\n                {\r\n                    if(order.provider_detail.length > 0)\r\n                    {\r\n                     order.provider_name = order.provider_detail[0].first_name + ' ' + order.provider_detail[0].last_name;\r\n                   \r\n                    }\r\n                \r\n                }\r\n\r\n                order.admin_earning = ((+order.order_payment_detail.total_delivery_price + +order.order_payment_detail.total_order_price).toFixed(2));\r\n            \r\n                json_data.push({\r\n                    \"ID\": order.unique_id,\r\n                    \"User\": order.user_name,\r\n                    \"Store\": order.store_name,\r\n                    \"Provider\": order.provider_name,\r\n                    \"Payment By\": order.payment_status,\r\n                    \"Currency\": order.country_detail.currency_sign,\r\n                    \"total\": order.order_payment_detail.total,\r\n                    \"delivery_total\": order.order_payment_detail.delivery_total,\r\n                    \"pickup_cash_total\": order.order_payment_detail.pickup_cash_total,\r\n                    \"orderpay_card_total\": order.order_payment_detail.orderpay_card_total,\r\n                    \"orderpay_cash_total\": order.order_payment_detail.orderpay_cash_total,\r\n                    \"pickup_card_total\": order.order_payment_detail.pickup_card_total,\r\n                    \"admin_earning\": order.admin_earning,\r\n                    \"provider_earning\": order.order_payment_detail.total_provider_income,\r\n                    \"pay_provider\": order.order_payment_detail.pay_to_provider,\r\n                    \"provider_income_set_in_wallet\": order.order_payment_detail.provider_income_set_in_wallet,\r\n                    \"store_earn\": order.order_payment_detail.total_store_income,\r\n                    \"pay_store\": order.order_payment_detail.pay_to_store,\r\n                    \"store_income_set_in_wallet\": order.order_payment_detail.store_income_set_in_wallet\r\n                });\r\n                \r\n            });\r\n\r\n           \r\n\r\n            json2excel.json2excel({\r\n                data: json_data,\r\n                name: 'order_earning_excel',\r\n                formateDate: 'yyyy/mm/dd'\r\n            });\r\n        });\r\n    }\r\n\r\n    open_positive_modal(){\r\n        this.positive_detail_modal.open();\r\n    }\r\n\r\n    open_negative_modal(){\r\n        this.negative_detail_modal.open();\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/partner_odh_earning/partner_odh_earning.component.ts","import {Component, OnInit, ViewContainerRef} from '@angular/core';\r\nimport {Response} from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport {Helper} from \"../../helper\";\r\ndeclare var jQuery: any;\r\n\r\nexport interface UpdatePaymentGateway {\r\n    name: String,\r\n    description: String,\r\n    payment_key_id: String,\r\n    payment_key: String,\r\n    payment_key1: String,\r\n    payment_key2: String,\r\n    payment_key3: String,\r\n    is_using_card_details: Boolean,\r\n    is_payment_by_web_url: Boolean,\r\n    is_payment_by_login: Boolean,\r\n    is_payment_visible: Boolean\r\n}\r\n\r\n@Component({\r\n    selector: 'app-payment_gateway',\r\n    template: require('./payment_gateway.component.html'),\r\n    providers: [Helper]\r\n\r\n})\r\nexport class PaymentGatewayComponent implements OnInit {\r\n\r\n    private update_payment_gateway: UpdatePaymentGateway;\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    payment_gateway_id: Object;\r\n    payment_gateway_list: any[];\r\n    error: any;\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n\r\n\r\n        jQuery(\"#payment_gateway\").chosen();\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n\r\n            jQuery('input').iCheck({\r\n                handle: 'checkbox',\r\n                checkboxClass: 'icheckbox_square-green',\r\n            });\r\n        }, 1000);\r\n    }\r\n    ngOnDestroy() {\r\n        this.helper.router_id.admin.payment_gateway_id = \"\";\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.update_payment_gateway = {\r\n\r\n            name: \"\",\r\n            description: \"\",\r\n            payment_key_id: \"\",\r\n            payment_key: \"\",\r\n            payment_key1: \"\",\r\n            payment_key2: \"\",\r\n            payment_key3: \"\",\r\n            is_using_card_details: true,\r\n            is_payment_by_web_url: true,\r\n            is_payment_by_login: true,\r\n            is_payment_visible: true\r\n\r\n        }\r\n        this.payment_gateway_id = this.helper.router_id.admin.payment_gateway_id;\r\n        this.helper.http.get('/admin/payment_gateway_list').map((res: Response) => res.json()).subscribe(res => {\r\n            this.payment_gateway_list = res.payment_gateway;\r\n\r\n        });\r\n       \r\n        jQuery(this.helper.elementRef.nativeElement).find('#payment_gateway').on('change', (evnt, res_data) => {\r\n\r\n            this.update_payment_gateway.name = res_data.selected;\r\n            this.payment_gateway_id = res_data.selected;\r\n           \r\n            this.helper.http.post('/admin/get_payment_gateway_detail', {payment_gateway_id: res_data.selected}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n                if (res_data.success == false) {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message();\r\n\r\n                    this.helper.router.navigate(['admin/payment_gateway']);\r\n\r\n                }\r\n                else {\r\n\r\n\r\n                    this.update_payment_gateway.name = res_data.payment_gateway_detail.name;\r\n                    this.update_payment_gateway.description = res_data.payment_gateway_detail.description;\r\n                    this.update_payment_gateway.payment_key_id = res_data.payment_gateway_detail.payment_key_id;\r\n\r\n                    this.update_payment_gateway.payment_key = res_data.payment_gateway_detail.payment_key;\r\n                    this.update_payment_gateway.payment_key1 = res_data.payment_gateway_detail.payment_key1;\r\n                    this.update_payment_gateway.payment_key2 = res_data.payment_gateway_detail.payment_key2;\r\n\r\n                    this.update_payment_gateway.payment_key3 = res_data.payment_gateway_detail.payment_key3;\r\n                    this.update_payment_gateway.is_using_card_details = res_data.payment_gateway_detail.is_using_card_details;\r\n                    this.update_payment_gateway.is_payment_by_web_url = res_data.payment_gateway_detail.is_payment_by_web_url;\r\n\r\n                    this.update_payment_gateway.is_payment_by_login = res_data.payment_gateway_detail.is_payment_by_login;\r\n                    this.update_payment_gateway.is_payment_visible = res_data.payment_gateway_detail.is_payment_visible;\r\n\r\n                }\r\n            });\r\n\r\n        });\r\n\r\n\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n    }\r\n    \r\n     UpdatePaymentGateway(payment_gateway_data) {\r\n        this.helper.http.post('/admin/update_payment_gateway', payment_gateway_data).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            if (res_data.success == true) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.helper.message();\r\n                this.helper.router.navigate(['admin/payment_gateway']);\r\n            }\r\n            else {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message();\r\n                this.helper.router.navigate(['admin/payment_gateway']);\r\n\r\n            }\r\n        });\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/payment_gateway/payment_gateway.component.ts","import {Component, OnInit, ViewContainerRef} from '@angular/core';\r\nimport {Helper} from \"../../helper\";\r\nimport {Http, Response} from '@angular/http';\r\ndeclare var jQuery: any;\r\n\r\n@Component({\r\n    selector: 'app-promo_code',\r\n    template: require('./promo_code.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class PromoCodeComponent implements OnInit {\r\n\r\n    promo_code_list: any[];\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    ADMIN_DATA_ID: any;\r\n    lable_title: any;\r\n    sort_field: string;\r\n    sort_promo_code: number;\r\n    search_field: string;\r\n    search_value: string;\r\n    page: number;\r\n    total_page: number;\r\n    total_pages: number[];\r\n    promo_id: Object;\r\n    state: Boolean;\r\n    public message: string = \"\";\r\n    public class: string;\r\n    myLoading: boolean = true;\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n    ngAfterViewInit() {\r\n\r\n        jQuery(\".chosen-select\").chosen({disable_search: true});\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.helper.message()\r\n        this.sort_field = \"unique_id\";\r\n        this.sort_promo_code = -1;\r\n        this.search_field = \"promo_code_name\";\r\n        this.search_value = \"\";\r\n        this.page = 1;\r\n\r\n        this.filter(this.page);\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.ADMIN_DATA_ID = this.helper.ADMIN_DATA_ID;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.lable_title = this.helper.lable_title\r\n        this.promo_code_list = [];\r\n        this.state = true;\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_field').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_field = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_promo_code').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_promo_code = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#search_field').on('change', (evnt, res_data) => {\r\n\r\n            this.search_field = res_data.selected;\r\n\r\n        });\r\n    }\r\n\r\n    filter(page) {\r\n        this.page = page;\r\n        this.helper.http.post('/admin/promo_code_list', {\r\n            sort_field: this.sort_field, sort_promo_code: this.sort_promo_code,\r\n            search_field: this.search_field, search_value: this.search_value, page: this.page\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n\r\n                this.promo_code_list = [];\r\n                this.total_pages = [];\r\n\r\n            }\r\n            else {\r\n\r\n                this.promo_code_list = res_data.promo_codes;\r\n                this.total_page = res_data.pages;\r\n                this.total_pages = Array(res_data.pages).fill((x, i) => i).map((x, i) => i + 1)\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    promocode_active_deactive(state, promo_id) {\r\n\r\n\r\n        this.helper.http.post('/admin/promocode_active_deactive', {\r\n            promo_id: promo_id, state: state\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            if (res_data.success == true) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n\r\n                var index = this.promo_code_list.findIndex(x => x._id == promo_id);\r\n                this.promo_code_list[index].is_active = state;\r\n\r\n                this.helper.router.navigate(['admin/promotions']);\r\n            }\r\n\r\n\r\n        });\r\n    }\r\n    editPromo(id) {\r\n        this.helper.router_id.admin.promo_id = id;\r\n        this.helper.router.navigate(['admin/promo/edit']);\r\n\r\n    }\r\n\r\n    viewPromoUses(id) {\r\n        this.helper.router_id.admin.promo_uses_id = id;\r\n        this.helper.router.navigate(['admin/view_promo_uses']);\r\n\r\n    }\r\n\r\n    activeRoute(routename: string): boolean {\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/promo_code/promo_code.component.ts","import { Component, OnInit, ViewChild, ViewContainerRef } from \"@angular/core\";\r\nimport { Helper } from \"../../helper\";\r\nimport { Http, Response } from \"@angular/http\";\r\ndeclare var jQuery: any;\r\nimport { ModalComponent } from \"ng2-bs3-modal/ng2-bs3-modal\";\r\n\r\nexport interface Document {\r\n  unique_code: String;\r\n  expired_date: any;\r\n  image_url: \"\";\r\n}\r\n\r\nexport interface Bonus {\r\n  bonus_amount: number;\r\n  bonus_type: number;\r\n  bonus_payment_type: number;\r\n  bonus_no_of_month: number;\r\n  bonus_start_month: number;\r\n  bonus_start_year: number;\r\n  bonus_reason: string;\r\n  is_bonus_monthly: boolean;\r\n}\r\n\r\n@Component({\r\n  selector: \"app-provider\",\r\n  template: require('./provider.component.html'),\r\n  providers: [Helper],\r\n})\r\nexport class ProviderComponent implements OnInit {\r\n  @ViewChild(\"myModal\")\r\n  modal: ModalComponent;\r\n  @ViewChild(\"mysmsModal\")\r\n  sms_modal: ModalComponent;\r\n  @ViewChild(\"mynotificationModal\")\r\n  notification_modal: ModalComponent;\r\n\r\n  bonus_info: Bonus = {\r\n    bonus_amount: null,\r\n    bonus_type: 1,\r\n    bonus_payment_type: 1,\r\n    bonus_no_of_month: null,\r\n    bonus_start_month: 0,\r\n    bonus_start_year: 2020,\r\n    bonus_reason: \"\",\r\n    is_bonus_monthly: false,\r\n  };\r\n\r\n  @ViewChild(\"vehicleModal\")\r\n  vehicle_modal: ModalComponent;\r\n  edit_vehicle: any[] = [];\r\n  provider_list: any[];\r\n  title: any;\r\n  button: any;\r\n  heading_title: any;\r\n\r\n  sort_field: string;\r\n  sort_provider: number;\r\n  // search_field: string;\r\n  // search_value: string;\r\n  // page: number;\r\n  // number_of_rec: number = 10;\r\n  // provider_page_type: number = 2;\r\n\r\n  review_list: any[] = [];\r\n  referral_history: any[] = [];\r\n  bank_detail_list: any[] = [];\r\n  city_list: any[] = [];\r\n  country_list: any[] = [];\r\n\r\n  type: number;\r\n  amount: number;\r\n  wallet: number;\r\n  content: string;\r\n  vehicle_id: Object = null;\r\n  //vehicle_id: Object;\r\n\r\n  month_array: any[] = [\r\n    { value: 0, text: \"Janvier\" },\r\n    { value: 1, text: \"Février\" },\r\n    { value: 2, text: \"Mars\" },\r\n    { value: 3, text: \"Avril\" },\r\n    { value: 4, text: \"Mai\" },\r\n    { value: 5, text: \"Juin\" },\r\n    { value: 6, text: \"Juillet\" },\r\n    { value: 7, text: \"Août\" },\r\n    { value: 8, text: \"Septembre\" },\r\n    { value: 9, text: \"Octobre\" },\r\n    { value: 10, text: \"Novembre\" },\r\n    { value: 11, text: \"Décembre\" },\r\n  ];\r\n  year_array: any[] = [2020, 2021, 2022];\r\n\r\n  is_document_uploaded: Boolean;\r\n  total_page: number;\r\n  total_pages: number[];\r\n  vehicle_list: any[];\r\n  vehicle_service_list: any[] = [];\r\n\r\n  provider_id: Object;\r\n  public message: string = \"\";\r\n  public class: string;\r\n  myLoading: boolean = true;\r\n  provider_detail: any = {};\r\n  is_edit: boolean = false;\r\n  formData = new FormData();\r\n  selected_tab: number = 1;\r\n\r\n  document_list: any[] = [];\r\n  edit_document: any[] = [];\r\n  old_image_url: string = \"\";\r\n  error_message: number = 0;\r\n  private documentlist: Document;\r\n\r\n  view_type: number = 1;\r\n\r\n  constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n    helper.toastr.setRootViewContainerRef(vcr);\r\n  }\r\n  ngAfterViewInit() {\r\n    //        jQuery(\"#vehicle\").chosen({disable_search: true});\r\n    //        setTimeout(function () {\r\n    //            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n    //        }, 1000);\r\n\r\n    jQuery(\"#vehicle\").chosen({ disable_search: true });\r\n    jQuery(\".chosen-select\").chosen({ disable_search: true });\r\n    //        jQuery(this.helper.elementRef.nativeElement).find('#vehicle_id').on('change', (evnt, res_data) => {\r\n    //\r\n    //            this.vehicle_id = res_data.selected;\r\n    //            console.log(this.vehicle_id)\r\n    //            console.log(\"this.vehicle_id\")\r\n    //        });\r\n    setTimeout(function () {\r\n      jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n    }, 1000);\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.helper.clear_height_width();\r\n  }\r\n\r\n  ngOnInit() {\r\n    this.helper.height = 200;\r\n    this.helper.width = 200;\r\n\r\n    this.helper.message();\r\n    // console.log(this.helper.route.snapshot.url[1]);\r\n    this.sort_field = \"unique_id\";\r\n    this.sort_provider = -1;\r\n    // this.helper.router_id.provider_filter.search_field = \"first_name\";\r\n    // this.helper.router_id.provider_filter.search_value = \"\";\r\n    // this.helper.router_id.provider_filter.page = 1;\r\n    this.documentlist = {\r\n      unique_code: \"\",\r\n      expired_date: null,\r\n      image_url: \"\",\r\n    };\r\n\r\n    // if (this.helper.route.snapshot.url[1].path == 'approved_providers') {\r\n    //     this.provider_page_type = 1;\r\n    // }\r\n    // else if (this.helper.route.snapshot.url[1].path == 'pending_for_approval') {\r\n    //     this.provider_page_type = 2;\r\n    // }\r\n    // else if (this.helper.route.snapshot.url[1].path == 'online_provider') {\r\n    //     this.provider_page_type = 3;\r\n\r\n    // }\r\n\r\n    this.is_document_uploaded = false;\r\n    this.provider_id = \"\";\r\n    this.helper.http\r\n      .get(\"/api/admin/get_country_list\")\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        this.country_list = res_data.countries;\r\n      });\r\n    this.helper.http\r\n      .post(\"/admin/get_all_city_list\", {})\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        this.city_list = res_data.city_list;\r\n        this.filter(this.helper.router_id.provider_filter.page);\r\n      });\r\n\r\n    this.title = this.helper.title;\r\n    this.button = this.helper.button;\r\n    this.heading_title = this.helper.heading_title;\r\n    this.provider_list = [];\r\n    this.type = 8;\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#sort_field\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.sort_field = res_data.selected;\r\n      });\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#country_dispatcher\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.helper.router_id.provider_filter.country_id = res_data.selected;\r\n        this.filter(1);\r\n      });\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#sort_provider\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.sort_provider = res_data.selected;\r\n      });\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#search_field\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.helper.router_id.provider_filter.search_field = res_data.selected;\r\n      });\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#number_of_rec\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.helper.router_id.provider_filter.number_of_rec = res_data.selected;\r\n        this.filter(1);\r\n      });\r\n    this.helper.http\r\n      .get(\"/admin/vehicle_list_for_provider\")\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res) => {\r\n        this.vehicle_service_list = res.vehicles;\r\n      });\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#vehicle\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.vehicle_id = res_data.selected;\r\n        //console.log(this.vehicle_id);\r\n        //console.log(res_data.selected);\r\n      });\r\n  }\r\n\r\n  change_page_type(provider_page_type) {\r\n    this.helper.router_id.provider_filter.provider_page_type =\r\n      provider_page_type;\r\n    this.filter(1);\r\n  }\r\n  filter(page) {\r\n    this.myLoading = true;\r\n    this.helper.router_id.provider_filter.page = page;\r\n    this.helper.http\r\n      .post(\"/api/provider/provider_list_search_sort\", {\r\n        sort_field: this.sort_field,\r\n        country_id: this.helper.router_id.provider_filter.country_id,\r\n        number_of_rec: this.helper.router_id.provider_filter.number_of_rec,\r\n        sort_provider: this.sort_provider,\r\n        provider_page_type:\r\n          this.helper.router_id.provider_filter.provider_page_type,\r\n        search_field: this.helper.router_id.provider_filter.search_field,\r\n        search_value: this.helper.router_id.provider_filter.search_value,\r\n        page: this.helper.router_id.provider_filter.page,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe(\r\n        (res_data) => {\r\n          this.myLoading = false;\r\n\r\n          if (res_data.success == false) {\r\n            this.provider_list = [];\r\n            this.total_pages = [];\r\n            this.provider_detail = {};\r\n          } else {\r\n            res_data.providers.forEach((provider) => {\r\n              let country = this.country_list.find(\r\n                (x) => x._id == provider.country_id\r\n              );\r\n              provider.country_details = {\r\n                country_name: country ? country.country_name : \"\",\r\n              };\r\n\r\n              let city = this.city_list.find((x) => x._id == provider.city_id);\r\n              provider.city_details = {\r\n                city_name: city ? city.city_name : \"\",\r\n              };\r\n            });\r\n            this.provider_list = res_data.providers;\r\n            this.total_page = res_data.pages;\r\n            this.total_pages = Array(res_data.pages)\r\n              .fill((x, i) => i)\r\n              .map((x, i) => i + 1);\r\n            if (this.provider_list.length > 0) {\r\n              if (this.helper.router_id.provider_filter.id) {\r\n                this.get_provider_detail(\r\n                  this.helper.router_id.provider_filter.id\r\n                );\r\n                this.helper.router_id.provider_filter.id = null;\r\n              } else {\r\n                this.get_provider_detail(this.provider_list[0]._id);\r\n              }\r\n            } else {\r\n              this.provider_detail = {};\r\n            }\r\n          }\r\n        },\r\n        (error: any) => {\r\n          this.myLoading = false;\r\n          this.helper.http_status(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  get_provider_detail(id) {\r\n    this.selected_tab = 1;\r\n    let index = this.provider_list.findIndex((provider) => provider._id == id);\r\n    this.provider_detail = JSON.parse(\r\n      JSON.stringify(this.provider_list[index])\r\n    );\r\n\r\n    if (\r\n      this.provider_detail.saas_start_date &&\r\n      !this.provider_detail.saas_start_date.formatted\r\n    ) {\r\n      var date = new Date(this.provider_detail.saas_start_date);\r\n      this.provider_detail.saas_start_date = {\r\n        date: {\r\n          day: date.getDate(),\r\n          month: date.getMonth() + 1,\r\n          year: date.getFullYear(),\r\n        },\r\n        formatted:\r\n          date.getMonth() + 1 + \"-\" + date.getDate() + \"-\" + date.getFullYear(),\r\n      };\r\n    }\r\n    if (!this.provider_detail.bonus_type) {\r\n      this.provider_detail.bonus_type = 1;\r\n    }\r\n    if (!this.provider_detail.bonus_payment_type) {\r\n      this.provider_detail.bonus_payment_type = 1;\r\n    }\r\n    if (!this.provider_detail.vehicle_type) {\r\n      this.provider_detail.vehicle_type = 2;\r\n    }\r\n\r\n    setTimeout(() => {\r\n      jQuery(\"#bonus_start_month\").chosen(\"trigger:updated\");\r\n      jQuery(this.helper.elementRef.nativeElement)\r\n        .find(\"#bonus_start_month\")\r\n        .on(\"change\", (evnt, res_data) => {\r\n          this.provider_detail.bonus_start_month = res_data.selected;\r\n          console.log(\"bonus_start_month 1\");\r\n        });\r\n      jQuery(\"#bonus_start_year\").chosen(\"trigger:updated\");\r\n      jQuery(this.helper.elementRef.nativeElement)\r\n        .find(\"#bonus_start_year\")\r\n        .on(\"change\", (evnt, res_data) => {\r\n          this.bonus_info.bonus_start_year = res_data.selected;\r\n        });\r\n    }, 1000);\r\n  }\r\n\r\n  get_referral_history() {\r\n    this.is_edit = false;\r\n    this.selected_tab = 3;\r\n    this.myLoading = true;\r\n    this.helper.http\r\n      .post(\"/admin/get_user_referral_history\", {\r\n        id: this.provider_detail._id,\r\n        type: 8,\r\n      })\r\n      .map((res_data: Response) => res_data.json())\r\n      .subscribe(\r\n        (res_data) => {\r\n          this.myLoading = false;\r\n          if (res_data.success == false) {\r\n            this.referral_history = [];\r\n          } else {\r\n            this.referral_history = res_data.referral_history;\r\n          }\r\n        },\r\n        (error: any) => {\r\n          this.myLoading = false;\r\n          this.helper.http_status(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  edit_data() {\r\n    this.is_edit = true;\r\n    jQuery(\".chosen-select\").chosen({ disable_search: true });\r\n    setTimeout(() => {\r\n      jQuery(\"#bonus_start_month\").chosen(\"trigger:updated\");\r\n      jQuery(this.helper.elementRef.nativeElement)\r\n        .find(\"#bonus_start_month\")\r\n        .on(\"change\", (evnt, res_data) => {\r\n          this.provider_detail.bonus_start_month = res_data.selected;\r\n          console.log(\"bonus_start_month 2\");\r\n        });\r\n      jQuery(\"#bonus_start_year\").chosen(\"trigger:updated\");\r\n      jQuery(this.helper.elementRef.nativeElement)\r\n        .find(\"#bonus_start_year\")\r\n        .on(\"change\", (evnt, res_data) => {\r\n          this.bonus_info.bonus_start_year = res_data.selected;\r\n        });\r\n    }, 1000);\r\n  }\r\n\r\n  get_review_history() {\r\n    this.is_edit = false;\r\n    this.selected_tab = 4;\r\n    this.myLoading = true;\r\n    this.helper.http\r\n      .post(\"/admin/get_provider_review_history\", {\r\n        provider_id: this.provider_detail._id,\r\n      })\r\n      .map((res_data: Response) => res_data.json())\r\n      .subscribe(\r\n        (res_data) => {\r\n          this.myLoading = false;\r\n          if (res_data.success == false) {\r\n            this.review_list = [];\r\n          } else {\r\n            this.review_list = res_data.review_list;\r\n          }\r\n        },\r\n        (error: any) => {\r\n          this.myLoading = false;\r\n          this.helper.http_status(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  get_vehicle_detail() {}\r\n\r\n  get_bank_detail() {\r\n    this.is_edit = false;\r\n    this.selected_tab = 5;\r\n    this.myLoading = true;\r\n    this.helper.http\r\n      .post(\"/admin/get_bank_detail\", {\r\n        id: this.provider_detail._id,\r\n        type: this.helper.ADMIN_DATA_ID.PROVIDER,\r\n      })\r\n      .map((res_data: Response) => res_data.json())\r\n      .subscribe(\r\n        (res_data) => {\r\n          this.myLoading = false;\r\n          if (res_data.success == false) {\r\n            this.bank_detail_list = [];\r\n          } else {\r\n            this.bank_detail_list = res_data.bank_detail;\r\n          }\r\n        },\r\n        (error: any) => {\r\n          this.myLoading = false;\r\n          this.helper.http_status(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  update_provider_detail() {\r\n    if (this.view_type == 1) {\r\n      this.formData.append(\"provider_id\", this.provider_detail._id);\r\n      this.formData.append(\"bonus_amount\", this.provider_detail.bonus_amount);\r\n      this.formData.append(\"bonus_type\", this.provider_detail.bonus_type);\r\n      this.formData.append(\r\n        \"bonus_payment_type\",\r\n        this.provider_detail.bonus_payment_type\r\n      );\r\n      if (this.provider_detail.bonus_no_of_month) {\r\n        this.formData.append(\r\n          \"bonus_no_of_month\",\r\n          this.provider_detail.bonus_no_of_month\r\n        );\r\n      }\r\n      if (this.provider_detail.bonus_start_month) {\r\n        this.formData.append(\r\n          \"bonus_start_month\",\r\n          this.provider_detail.bonus_start_month\r\n        );\r\n      }\r\n      this.formData.append(\"bonus_reason\", this.provider_detail.bonus_reason);\r\n      this.formData.append(\r\n        \"country_phone_code\",\r\n        this.provider_detail.country_phone_code\r\n      );\r\n      this.formData.append(\"phone\", this.provider_detail.phone);\r\n      this.formData.append(\"email\", this.provider_detail.email);\r\n      this.formData.append(\"first_name\", this.provider_detail.first_name);\r\n      this.formData.append(\"last_name\", this.provider_detail.last_name);\r\n      this.formData.append(\"comments\", this.provider_detail.comments);\r\n      this.formData.append(\r\n        \"is_active_for_job\",\r\n        this.provider_detail.is_active_for_job\r\n      );\r\n      this.formData.append(\"is_online\", this.provider_detail.is_online);\r\n      if (this.provider_detail.is_bag) {\r\n        this.formData.append(\"is_bag\", this.provider_detail.is_bag);\r\n      }\r\n      if (this.provider_detail.is_premium) {\r\n        this.formData.append(\"is_premium\", this.provider_detail.is_premium);\r\n      } else if (this.provider_detail.is_premium == false) {\r\n        this.formData.append(\"is_premium\", this.provider_detail.is_premium);\r\n      }\r\n      if (this.provider_detail.bag_number) {\r\n        this.formData.append(\"bag_number\", this.provider_detail.bag_number);\r\n      }\r\n      this.formData.append(\"vehicle_type\", this.provider_detail.vehicle_type);\r\n      this.helper.http\r\n        .post(\"/admin/update_provider\", this.formData)\r\n        .map((response: Response) => response.json())\r\n        .subscribe((res_data) => {\r\n          this.myLoading = false;\r\n          this.formData = new FormData();\r\n          if (res_data.success == false) {\r\n            this.helper.data.storage = {\r\n              code: res_data.error_code,\r\n              message: this.helper.ERROR_CODE[res_data.error_code],\r\n              class: \"alert-danger\",\r\n            };\r\n          } else {\r\n            let user_index = this.provider_list.findIndex(\r\n              (x) => x._id == this.provider_detail._id\r\n            );\r\n            this.provider_list[user_index] = JSON.parse(\r\n              JSON.stringify(this.provider_detail)\r\n            );\r\n            this.is_edit = false;\r\n            this.helper.data.storage = {\r\n              message: this.helper.MESSAGE_CODE[res_data.message],\r\n              class: \"alert-info\",\r\n            };\r\n          }\r\n          this.helper.message();\r\n        });\r\n    } else if (this.view_type == 2) {\r\n      var json = {\r\n        id: this.provider_detail._id,\r\n        bonus_amount: this.bonus_info.bonus_amount,\r\n        bonus_type: this.bonus_info.bonus_type,\r\n        bonus_payment_type: this.bonus_info.bonus_payment_type,\r\n        bonus_no_of_month: this.bonus_info.bonus_no_of_month,\r\n        bonus_start_month: this.bonus_info.bonus_start_month,\r\n        bonus_start_year: this.bonus_info.bonus_start_year,\r\n        bonus_reason: this.bonus_info.bonus_reason,\r\n        is_bonus_monthly: this.bonus_info.is_bonus_monthly,\r\n        user_type: this.helper.ADMIN_DATA_ID.PROVIDER,\r\n      };\r\n      this.helper.http\r\n        .post(\"/admin/update_bonus_info\", json)\r\n        .map((response: Response) => response.json())\r\n        .subscribe((res_data) => {\r\n          if (res_data.success == false) {\r\n            this.helper.data.storage = {\r\n              code: res_data.error_code,\r\n              message: this.helper.ERROR_CODE[res_data.error_code],\r\n              class: \"alert-danger\",\r\n            };\r\n          } else {\r\n            this.helper.data.storage = {\r\n              message: this.helper.MESSAGE_CODE[res_data.message],\r\n              class: \"alert-info\",\r\n            };\r\n            this.bonus_info = {\r\n              bonus_amount: null,\r\n              bonus_type: 1,\r\n              bonus_payment_type: 1,\r\n              bonus_no_of_month: null,\r\n              bonus_start_month: 0,\r\n              bonus_start_year: 2020,\r\n              bonus_reason: \"\",\r\n              is_bonus_monthly: false,\r\n            };\r\n            setTimeout(() => {\r\n              jQuery(\"#bonus_start_month\").chosen(\"trigger:updated\");\r\n              jQuery(\"#bonus_start_year\").chosen(\"trigger:updated\");\r\n            });\r\n          }\r\n          this.helper.message();\r\n        });\r\n    }\r\n  }\r\n  change_image($event) {\r\n    const files = $event.target.files || $event.srcElement.files;\r\n    const image_url = files[0];\r\n\r\n    if (\r\n      image_url.type == \"image/jpeg\" ||\r\n      image_url.type == \"image/jpg\" ||\r\n      image_url.type == \"image/png\"\r\n    ) {\r\n      this.formData = new FormData();\r\n      this.formData.append(\"image_url\", image_url);\r\n\r\n      var reader = new FileReader();\r\n\r\n      reader.onload = (e: any) => {\r\n        this.provider_detail.image_url = e.target.result;\r\n      };\r\n      reader.readAsDataURL(image_url);\r\n    }\r\n  }\r\n\r\n  //    open_vehicle_modal(id) {\r\n  //        this.provider_id = id;\r\n  //        this.vehicle_modal.open();\r\n  //\r\n  //        this.helper.http.get('/admin/vehicle_list_for_provider').map((res: Response) => res.json()).subscribe(res => {\r\n  //            this.vehicle_list = res.vehicles;\r\n  //            console.log(this.vehicle_list);\r\n  //        });\r\n  //        setInterval(() => {\r\n  //            jQuery(this.helper.elementRef.nativeElement).find('#vehicle').on('change', (evnt, res_data) => {\r\n  //                this.vehicle_id = res_data.selected;\r\n  //                console.log(this.vehicle_id)\r\n  //                console.log(\"res_data.selected\");\r\n  //                console.log(res_data.selected);\r\n  //            });\r\n  //        }, 1000);\r\n  //\r\n  //    }\r\n  //    AddVehicle(add_vehicle_data) {\r\n  //        this.helper.http.post('/admin/add_vehicle', add_vehicle_data).map((res: Response) => res.json()).subscribe(res_data => {\r\n  //            console.log(add_vehicle_data);\r\n  //            this.vehicle_id = add_vehicle_data.vehicle_id;\r\n  //            console.log(this.vehicle_id);\r\n  //            console.log(add_vehicle_data.vehicle_id);\r\n  //            console.log(res_data.success);\r\n  //            if (res_data.success == true) {\r\n  //                this.helper.data.storage = {\r\n  //                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n  //                    \"class\": \"alert-info\"\r\n  //                }\r\n  //                this.vehicle_modal.close();\r\n  //            }\r\n  //        });\r\n  //    }\r\n\r\n  open_modal(type, id) {\r\n    this.provider_id = id;\r\n    this.type = type;\r\n    this.modal.open();\r\n    this.wallet = null;\r\n  }\r\n  AddWallet(add_wallet_data) {\r\n    this.helper.http\r\n      .post(\"/admin/add_wallet\", add_wallet_data)\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        if (res_data.success == true) {\r\n          this.helper.data.storage = {\r\n            message: this.helper.MESSAGE_CODE[res_data.message],\r\n            class: \"alert-info\",\r\n          };\r\n          this.modal.close();\r\n          this.helper.message();\r\n        } else {\r\n          this.helper.data.storage = {\r\n            code: res_data.error_code,\r\n            message: this.helper.ERROR_CODE[res_data.error_code],\r\n            class: \"alert-danger\",\r\n          };\r\n          this.helper.message();\r\n        }\r\n      });\r\n  }\r\n\r\n  open_sms_modal(type, id) {\r\n    this.provider_id = id;\r\n    this.type = type;\r\n    this.sms_modal.open();\r\n    this.content = \"\";\r\n  }\r\n  SendSms(sms_data) {\r\n    this.helper.http\r\n      .post(\"/admin/send_sms\", sms_data)\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        if (res_data.success == true) {\r\n          this.helper.data.storage = {\r\n            message: this.helper.MESSAGE_CODE[res_data.message],\r\n            class: \"alert-info\",\r\n          };\r\n          this.sms_modal.close();\r\n          this.helper.message();\r\n        } else {\r\n          this.helper.data.storage = {\r\n            code: res_data.error_code,\r\n            message: this.helper.ERROR_CODE[res_data.error_code],\r\n            class: \"alert-danger\",\r\n          };\r\n          this.helper.message();\r\n        }\r\n      });\r\n  }\r\n\r\n  open_notification_modal(type, id) {\r\n    this.provider_id = id;\r\n    this.type = type;\r\n    this.notification_modal.open();\r\n    this.content = \"\";\r\n  }\r\n  SendNotification(notification_data) {\r\n    this.helper.http\r\n      .post(\"/admin/send_notification\", notification_data)\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        if (res_data.success == true) {\r\n          this.helper.data.storage = {\r\n            message: this.helper.MESSAGE_CODE[res_data.message],\r\n            class: \"alert-info\",\r\n          };\r\n          this.notification_modal.close();\r\n          this.helper.message();\r\n        } else {\r\n          this.helper.data.storage = {\r\n            code: res_data.error_code,\r\n            message: this.helper.ERROR_CODE[res_data.error_code],\r\n            class: \"alert-danger\",\r\n          };\r\n          this.helper.message();\r\n        }\r\n      });\r\n  }\r\n\r\n  approved(provider_page_type, provider_id) {\r\n    this.helper.http\r\n      .post(\"/admin/provider_approve_decline\", {\r\n        provider_id: provider_id,\r\n        provider_page_type: provider_page_type,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        if (res_data.success == false) {\r\n          this.helper.data.storage = {\r\n            code: res_data.error_code,\r\n            message: this.helper.ERROR_CODE[res_data.error_code],\r\n            class: \"alert-danger\",\r\n          };\r\n          this.helper.message();\r\n        } else {\r\n          let user_index = this.provider_list.findIndex(\r\n            (x) => x._id == provider_id\r\n          );\r\n          this.provider_list.splice(user_index, 1);\r\n\r\n          if (this.provider_list.length > 0) {\r\n            this.get_provider_detail(this.provider_list[0]._id);\r\n          } else {\r\n            this.provider_detail = {};\r\n          }\r\n          this.helper.data.storage = {\r\n            message: this.helper.MESSAGE_CODE[res_data.message],\r\n            class: \"alert-info\",\r\n          };\r\n          this.helper.message();\r\n        }\r\n      });\r\n  }\r\n\r\n  get_document_list() {\r\n    this.is_edit = false;\r\n    this.selected_tab = 2;\r\n    this.helper.http\r\n      .post(\"/admin/view_document_list\", {\r\n        id: this.provider_detail._id,\r\n        type: 8,\r\n      })\r\n      .map((res_data: Response) => res_data.json())\r\n      .subscribe(\r\n        (res_data) => {\r\n          this.myLoading = false;\r\n          if (res_data.success == false) {\r\n            this.document_list = [];\r\n          } else {\r\n            this.document_list = res_data.documents;\r\n            this.document_list.forEach((document, index) => {\r\n              this.edit_document[index] = \"false\";\r\n              this.get_document_image(document.image_url, index);\r\n            });\r\n          }\r\n        },\r\n        (error: any) => {\r\n          this.myLoading = false;\r\n          this.helper.http_status(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  editDocument(document, document_index) {\r\n    this.get_document_image(document.image_url, document_index);\r\n    this.old_image_url = document.image_url;\r\n    this.edit_document.fill(\"\");\r\n    this.edit_document[document_index] = \"true\";\r\n    this.documentlist.unique_code = document.unique_code;\r\n    this.documentlist.image_url = document.image_url;\r\n    if (document.expired_date != null) {\r\n      var date = new Date(document.expired_date);\r\n      this.documentlist.expired_date = {\r\n        date: {\r\n          year: date.getFullYear(),\r\n          month: date.getMonth() + 1,\r\n          day: date.getDate(),\r\n        },\r\n        formatted:\r\n          date.getMonth() + 1 + \"-\" + date.getDate() + \"-\" + date.getFullYear(),\r\n      };\r\n    }\r\n  }\r\n\r\n  image_update($event, document_index) {\r\n    this.formData = new FormData();\r\n    const files = $event.target.files || $event.srcElement.files;\r\n    const image_url = files[0];\r\n    this.formData.append(\"image_url\", image_url);\r\n\r\n    var reader = new FileReader();\r\n\r\n    reader.onload = (e: any) => {\r\n      this.document_list[document_index].image_url = e.target.result;\r\n      this.documentlist.image_url = e.target.result;\r\n      jQuery(\".document\" + document_index).attr(\"src\", e.target.result);\r\n    };\r\n    reader.readAsDataURL(image_url);\r\n  }\r\n\r\n  vehicle_image_update($event, document, document_index) {\r\n    this.formData = new FormData();\r\n    const files = $event.target.files || $event.srcElement.files;\r\n    const image_url = files[0];\r\n    this.formData.append(\"image_url\", image_url);\r\n\r\n    var reader = new FileReader();\r\n\r\n    reader.onload = (e: any) => {\r\n      jQuery(\".document\" + document_index).attr(\"src\", e.target.result);\r\n      document.image_url = e.target.result;\r\n    };\r\n    reader.readAsDataURL(image_url);\r\n  }\r\n\r\n  get_document_image(url, document_index) {\r\n    if (url == \"\") {\r\n      jQuery(\".document\" + document_index).attr(\"src\", \"default.png\");\r\n    } else {\r\n      var oReq = new XMLHttpRequest();\r\n      oReq.open(\"GET\", url, true);\r\n      oReq.setRequestHeader(\"type\", \"admin\");\r\n      oReq.setRequestHeader(\"token\", this.provider_detail.server_token);\r\n      oReq.responseType = \"blob\";\r\n      oReq.onload = function (oEvent) {\r\n        var arrayBuffer = oReq.response; // Note: not oReq.responseText\r\n        if (arrayBuffer) {\r\n          jQuery(\".document\" + document_index).attr(\r\n            \"src\",\r\n            URL.createObjectURL(arrayBuffer)\r\n          );\r\n        } else {\r\n          jQuery(\".document\" + document_index).attr(\"src\", \"default.png\");\r\n        }\r\n      };\r\n      oReq.send(null);\r\n    }\r\n  }\r\n\r\n  updateDocument(document, document_index) {\r\n    if (this.documentlist.image_url == \"\") {\r\n      this.error_message = 1;\r\n    } else if (\r\n      document.document_details.is_expired_date &&\r\n      this.documentlist.expired_date == null\r\n    ) {\r\n      this.error_message = 2;\r\n    } else if (\r\n      document.document_details.is_unique_code &&\r\n      this.documentlist.unique_code == \"\"\r\n    ) {\r\n      this.error_message = 3;\r\n    } else {\r\n      this.myLoading = true;\r\n      this.error_message = 0;\r\n      this.formData.append(\"type\", this.type);\r\n      this.formData.append(\"unique_code\", this.documentlist.unique_code);\r\n      this.formData.append(\"document_id\", document._id);\r\n      this.formData.append(\"id\", this.provider_detail._id);\r\n      this.formData.append(\"server_token\", this.provider_detail.server_token);\r\n      if (this.documentlist.expired_date != null) {\r\n        this.formData.append(\r\n          \"expired_date\",\r\n          this.documentlist.expired_date.formatted\r\n        );\r\n      }\r\n\r\n      this.helper.http\r\n        .post(\"/admin/upload_document\", this.formData)\r\n        .map((res_data: Response) => res_data.json())\r\n        .subscribe(\r\n          (res_data) => {\r\n            this.formData = new FormData();\r\n            this.edit_document.fill(\"false\");\r\n            this.myLoading = false;\r\n            if (res_data.success) {\r\n              this.document_list[document_index].image_url = res_data.image_url;\r\n\r\n              this.get_document_image(res_data.image_url, document_index);\r\n\r\n              this.document_list[document_index].unique_code =\r\n                res_data.unique_code;\r\n\r\n              this.document_list[document_index].expired_date =\r\n                res_data.expired_date;\r\n              localStorage.setItem(\r\n                \"provider_document_ulpoaded\",\r\n                res_data.is_document_uploaded\r\n              );\r\n\r\n              this.helper.data.storage = {\r\n                message: this.helper.MESSAGE_CODE[res_data.message],\r\n                class: \"alert-info\",\r\n              };\r\n              this.helper.message();\r\n            } else {\r\n              this.document_list[document_index].image_url = this.old_image_url;\r\n              this.get_document_image(this.old_image_url, document_index);\r\n\r\n              this.helper.data.storage = {\r\n                message: this.helper.ERROR_CODE[res_data.error_code],\r\n                class: \"alert-danger\",\r\n              };\r\n              this.helper.message();\r\n            }\r\n          },\r\n          (error: any) => {\r\n            this.myLoading = false;\r\n            this.helper.http_status(error);\r\n          }\r\n        );\r\n    }\r\n  }\r\n\r\n  editProvider(id) {\r\n    this.helper.router_id.admin.provider_id = id;\r\n    this.helper.router.navigate([\"admin/provider/edit\"]);\r\n  }\r\n\r\n  providerVehicle(id) {\r\n    this.helper.http\r\n      .post(\"/admin/provider_vehicle_list\", {\r\n        provider_id: id,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe(\r\n        (res_data) => {\r\n          this.myLoading = false;\r\n          if (res_data.success == false) {\r\n            this.vehicle_list = [];\r\n            this.vehicle_modal.open();\r\n          } else {\r\n            this.vehicle_list = res_data.provider_vehicles;\r\n            this.vehicle_list.forEach((vehicle, index) => {\r\n              this.edit_vehicle[index] = \"false\";\r\n            });\r\n            this.vehicle_modal.open();\r\n          }\r\n        },\r\n        (error: any) => {\r\n          this.myLoading = false;\r\n          this.helper.http_status(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  viewProvider(id) {\r\n    this.helper.router_id.admin.provider_id = id;\r\n    this.helper.router.navigate([\"admin/provider/view_detail\"]);\r\n  }\r\n\r\n  viewBankDetail(id) {\r\n    this.helper.router_id.admin.view_provider_bank_detail_id = id;\r\n    this.helper.router.navigate([\"/admin/provider/view_bank_detail\"]);\r\n  }\r\n\r\n  viewHistory(id, type) {\r\n    this.helper.router_id.admin.history_provider_id = id;\r\n    this.helper.router_id.admin.page_type = type;\r\n    this.helper.router.navigate([\"admin/provider/view_history\"]);\r\n  }\r\n  viewDocument(id, type) {\r\n    this.helper.router_id.admin.provider_id = id;\r\n    this.helper.router_id.admin.document_type = type;\r\n    this.helper.router.navigate([\"admin/provider/view_document\"]);\r\n  }\r\n\r\n  provider_export_csv(provider_page_type) {\r\n    this.helper.http\r\n      .post(\"/api/provider/provider_list_search_sort\", {\r\n        sort_field: this.sort_field,\r\n        country_id: this.helper.router_id.provider_filter.country_id,\r\n        number_of_rec: this.helper.router_id.provider_filter.number_of_rec,\r\n        sort_provider: this.sort_provider,\r\n        provider_page_type:\r\n          this.helper.router_id.provider_filter.provider_page_type,\r\n        search_field: this.helper.router_id.provider_filter.search_field,\r\n        search_value: this.helper.router_id.provider_filter.search_value,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        var json2csv = require(\"json2csv\");\r\n        res_data.providers.forEach((provider, index) => {\r\n          provider.city_name = provider.city_details.city_name;\r\n        });\r\n\r\n        var fieldNames = [\r\n          \"Unique ID\",\r\n          \"Rate\",\r\n          \"First Name\",\r\n          \"Last Name\",\r\n          \"City\",\r\n          \"Device Type\",\r\n          \"Referral Code\",\r\n          \"Email\",\r\n          \"Country Phone Code\",\r\n          \"Phone\",\r\n          \"App Version\",\r\n          \"Wallet\",\r\n          \"Bag\",\r\n          \"Wallet Currency Code\",\r\n          \"Address\",\r\n          \"Approved\",\r\n          \"Active\",\r\n          \"Online\",\r\n          \"In Delivery\",\r\n          \"Email Verify\",\r\n          \"Phone Number Verify\",\r\n          \"Document Uploaded\",\r\n          \"Location\",\r\n        ];\r\n        var fields = [\r\n          \"unique_id\",\r\n          \"user_rate\",\r\n          \"first_name\",\r\n          \"last_name\",\r\n          \"city_name\",\r\n          \"device_type\",\r\n          \"referral_code\",\r\n          \"email\",\r\n          \"country_phone_code\",\r\n          \"phone\",\r\n          \"app_version\",\r\n          \"wallet\",\r\n          \"is_bag\",\r\n          \"wallet_currency_code\",\r\n          \"address\",\r\n          \"is_approved\",\r\n          \"is_active_for_job\",\r\n          \"is_online\",\r\n          \"is_in_delivery\",\r\n          \"is_email_verified\",\r\n          \"is_phone_number_verified\",\r\n          \"is_document_uploaded\",\r\n          \"location\",\r\n        ];\r\n\r\n        var csv = json2csv({\r\n          data: res_data.providers,\r\n          fields: fields,\r\n          fieldNames: fieldNames,\r\n        });\r\n\r\n        var final_csv: any = csv;\r\n        this.helper.downloadFile(final_csv);\r\n      });\r\n  }\r\n\r\n  provider_export_excel(provider_page_type) {\r\n    this.helper.http\r\n      .post(\"/api/provider/provider_list_search_sort\", {\r\n        sort_field: this.sort_field,\r\n        country_id: this.helper.router_id.provider_filter.country_id,\r\n        number_of_rec: this.helper.router_id.provider_filter.number_of_rec,\r\n        sort_provider: this.sort_provider,\r\n        provider_page_type:\r\n          this.helper.router_id.provider_filter.provider_page_type,\r\n        search_field: this.helper.router_id.provider_filter.search_field,\r\n        search_value: this.helper.router_id.provider_filter.search_value,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        var json_data = [];\r\n        var json2excel = require(\"js2excel\");\r\n        res_data.providers.forEach((provider, index) => {\r\n          provider.city_name = provider.city_details.city_name;\r\n          json_data.push({\r\n            \"Unique ID\": provider.unique_id,\r\n            Rate: provider.user_rate,\r\n            \"First Name\": provider.first_name,\r\n            \"Last Name\": provider.last_name,\r\n            City: provider.city_name,\r\n            \"Device Type\": provider.device_type,\r\n            \"Referral Code\": provider.referral_code,\r\n            Email: provider.email,\r\n            \"Country Phone Code\": provider.country_phone_code,\r\n            Phone: provider.phone,\r\n            \"App Version\": provider.app_version,\r\n            Wallet: provider.wallet,\r\n            Bag: provider.is_bag,\r\n            \"Wallet Currency Code\": provider.wallet_currency_code,\r\n            Address: provider.address,\r\n            Approved: provider.is_approved,\r\n            Active: provider.is_active_for_job,\r\n            Online: provider.is_online,\r\n            \"In Delivery\": provider.is_in_delivery,\r\n            \"Email Verify\": provider.is_email_verified,\r\n            \"Phone Number Verify\": provider.is_phone_number_verified,\r\n            \"Document Uploaded\": provider.is_document_uploaded,\r\n            Location: provider.location,\r\n          });\r\n        });\r\n\r\n        json2excel.json2excel({\r\n          data: json_data,\r\n          name: \"provider_excel\",\r\n          formateDate: \"yyyy/mm/dd\",\r\n        });\r\n      });\r\n  }\r\n\r\n  editProviderVehicle(id, index) {\r\n    this.edit_vehicle[index] = \"true\";\r\n    setTimeout(() => {\r\n      jQuery(\"#admin_vehicle_id\").chosen({ disable_search: true });\r\n      jQuery(\"#admin_vehicle_id\").trigger(\"chosen:updated\");\r\n      jQuery(this.helper.elementRef.nativeElement)\r\n        .find(\"#admin_vehicle_id\")\r\n        .on(\"change\", (evnt, res_data) => {\r\n          this.vehicle_list[index].admin_vehicle_id = res_data.selected;\r\n        });\r\n    }, 1000);\r\n  }\r\n\r\n  updateProviderVehicle(provider_vehicle_data) {\r\n    this.myLoading = true;\r\n    this.helper.http\r\n      .post(\"/admin/provider_vehicle_update\", provider_vehicle_data)\r\n      .map((res: Response) => res.json())\r\n      .subscribe(\r\n        (res_data) => {\r\n          this.myLoading = false;\r\n          if (res_data.success == true) {\r\n            this.helper.data.storage = {\r\n              message: this.helper.MESSAGE_CODE[res_data.message],\r\n              class: \"alert-info\",\r\n            };\r\n            this.helper.message();\r\n            this.vehicle_list.forEach((vehicle, index) => {\r\n              this.edit_vehicle[index] = \"false\";\r\n            });\r\n          } else {\r\n            this.helper.data.storage = {\r\n              message: this.helper.ERROR_CODE[res_data.error_code],\r\n              class: \"alert-danger\",\r\n            };\r\n            this.helper.message();\r\n          }\r\n        },\r\n        (error: any) => {\r\n          this.myLoading = false;\r\n          this.helper.http_status(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  updateVehicleDocument(document, document_index, vehicle) {\r\n    if (document.image_url == \"\") {\r\n      this.error_message = 1;\r\n    } else if (\r\n      document.document_details.is_expired_date &&\r\n      document.expired_date == null\r\n    ) {\r\n      this.error_message = 2;\r\n    } else if (\r\n      document.document_details.is_unique_code &&\r\n      document.unique_code == \"\"\r\n    ) {\r\n      this.error_message = 3;\r\n    } else {\r\n      this.myLoading = true;\r\n      this.error_message = 0;\r\n      this.formData.append(\"type\", this.type);\r\n      this.formData.append(\"unique_code\", this.documentlist.unique_code);\r\n      this.formData.append(\"document_id\", document._id);\r\n      this.formData.append(\"id\", vehicle._id);\r\n      this.formData.append(\"server_token\", this.provider_detail.server_token);\r\n      if (document.expired_date != null) {\r\n        this.formData.append(\"expired_date\", document.expired_date.formatted);\r\n      }\r\n\r\n      this.helper.http\r\n        .post(\"/admin/upload_document\", this.formData)\r\n        .map((res_data: Response) => res_data.json())\r\n        .subscribe(\r\n          (res_data) => {\r\n            this.formData = new FormData();\r\n            this.edit_document.fill(\"false\");\r\n            this.myLoading = false;\r\n            if (res_data.success) {\r\n              this.document_list[document_index].image_url = res_data.image_url;\r\n\r\n              this.get_document_image(res_data.image_url, document_index);\r\n\r\n              this.document_list[document_index].unique_code =\r\n                res_data.unique_code;\r\n\r\n              this.document_list[document_index].expired_date =\r\n                res_data.expired_date;\r\n              localStorage.setItem(\r\n                \"provider_document_ulpoaded\",\r\n                res_data.is_document_uploaded\r\n              );\r\n\r\n              this.helper.data.storage = {\r\n                message: this.helper.MESSAGE_CODE[res_data.message],\r\n                class: \"alert-info\",\r\n              };\r\n              this.helper.message();\r\n            } else {\r\n              this.document_list[document_index].image_url = this.old_image_url;\r\n              this.get_document_image(this.old_image_url, document_index);\r\n\r\n              this.helper.data.storage = {\r\n                message: this.helper.ERROR_CODE[res_data.error_code],\r\n                class: \"alert-danger\",\r\n              };\r\n              this.helper.message();\r\n            }\r\n          },\r\n          (error: any) => {\r\n            this.myLoading = false;\r\n            this.helper.http_status(error);\r\n          }\r\n        );\r\n    }\r\n  }\r\n\r\n  view_provider_history() {\r\n    this.helper.router_id.admin.provider_detail = this.provider_detail;\r\n    this.helper.router_id.provider_filter.id = this.provider_detail._id;\r\n    if (this.helper.router.url === \"/dispatcher/providers\") {\r\n      this.helper.router.navigate([\"dispatcher/provider_summary\"]);\r\n    } else {\r\n      this.helper.router.navigate([\"admin/provider_summary\"]);\r\n    }\r\n  }\r\n\r\n  review_export_csv() {\r\n    this.helper.http\r\n      .post(\"/admin/get_provider_review_history\", {\r\n        provider_id: this.provider_detail._id,\r\n      })\r\n      .map((res_data: Response) => res_data.json())\r\n      .subscribe((res_data) => {\r\n        var json2csv = require(\"json2csv\");\r\n\r\n        var fieldNames = [\r\n          this.title.id,\r\n          this.title.store,\r\n          this.title.user,\r\n          \"Provider to Store\",\r\n          \"Provider to User\",\r\n          \"Store to Provider\",\r\n          \"User to Provider\",\r\n          this.title.date,\r\n        ];\r\n        var fields = [\r\n          \"order_unique_id\",\r\n          \"store_detail.name\",\r\n          \"user_name\",\r\n          \"provider_to_store\",\r\n          \"provider_to_user\",\r\n          \"store_to_provider\",\r\n          \"user_to_provider\",\r\n          \"created_at\",\r\n        ];\r\n\r\n        res_data.review_list.forEach(function (review_detail) {\r\n          review_detail.user_name =\r\n            review_detail.user_query.first_name +\r\n            \" \" +\r\n            review_detail.user_query.last_name;\r\n\r\n          if (review_detail.provider_rating_to_store) {\r\n            review_detail.provider_to_store =\r\n              review_detail.provider_review_to_store +\r\n              \"(\" +\r\n              review_detail.provider_rating_to_store +\r\n              \")\";\r\n          } else {\r\n            review_detail.provider_to_store = \"\";\r\n          }\r\n\r\n          if (review_detail.provider_rating_to_user) {\r\n            review_detail.provider_to_user =\r\n              review_detail.provider_review_to_user +\r\n              \"(\" +\r\n              review_detail.provider_rating_to_user +\r\n              \")\";\r\n          } else {\r\n            review_detail.provider_to_user = \"\";\r\n          }\r\n\r\n          if (review_detail.store_rating_to_provider) {\r\n            review_detail.store_to_provider =\r\n              review_detail.store_review_to_provider +\r\n              \"(\" +\r\n              review_detail.store_rating_to_provider +\r\n              \")\";\r\n          } else {\r\n            review_detail.store_to_provider = \"\";\r\n          }\r\n\r\n          if (review_detail.user_rating_to_provider) {\r\n            review_detail.user_to_provider =\r\n              review_detail.user_review_to_provider +\r\n              \"(\" +\r\n              review_detail.user_rating_to_provider +\r\n              \")\";\r\n          } else {\r\n            review_detail.user_to_provider = \"\";\r\n          }\r\n        });\r\n\r\n        var review_list = res_data.review_list.filter((x) => {\r\n          return (\r\n            x.user_to_store ||\r\n            x.user_to_provider ||\r\n            x.store_to_user ||\r\n            x.provider_to_user\r\n          );\r\n        });\r\n\r\n        var csv = json2csv({\r\n          data: review_list,\r\n          fields: fields,\r\n          fieldNames: fieldNames,\r\n        });\r\n\r\n        var final_csv: any = csv;\r\n        this.helper.downloadFile(final_csv);\r\n      });\r\n  }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/provider/provider.component.ts","import {Component, OnInit, ViewChild, ViewContainerRef} from \"@angular/core\";\r\nimport {Response} from '@angular/http';\r\nimport {Helper} from \"../../helper\";\r\nimport * as moment from 'moment-timezone';\r\ndeclare var jQuery: any;\r\nimport { ModalComponent } from 'ng2-bs3-modal/ng2-bs3-modal';\r\n\r\n@Component({\r\n    selector: 'app-history',\r\n    template: require('./history.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class ProviderHistoryComponent implements OnInit {\r\n\r\n    @ViewChild('myModal')\r\n    modal: ModalComponent;\r\n    @ViewChild('order_detail_modal')\r\n    order_detail_modal: ModalComponent;\r\n    @ViewChild('review_detail_modal')\r\n    review_detail_modal: ModalComponent;\r\n\r\n    @ViewChild('mysmsModal')\r\n    sms_modal: ModalComponent;\r\n    @ViewChild('mynotificationModal')\r\n    notification_modal: ModalComponent;\r\n\r\n    type: number = 8;\r\n    title:any;\r\n    button:any;\r\n    ORDER_STATE:any;\r\n    heading_title:any;\r\n    status:any;\r\n    order_list:any[];\r\n    pickup_type: any = 'both'\r\n    order_type: any = 'both';\r\n    payment_status: any = 'all';\r\n    created_by: any = 'both';\r\n    order_status_id:string;\r\n    search_field:string;\r\n    search_value:string;\r\n    start_date:string;\r\n    end_date:string;\r\n    page:number;\r\n    total_page:number;\r\n    total_pages:number[];\r\n    moment: any;\r\n    timezone: string = '';\r\n    order_id:Object = '';\r\n    rating:number = 1;\r\n    review:string = '';\r\n    selected_order_index:number = 0;\r\n    order_detail: any = {};\r\n\r\n    total_item:number = 0;\r\n    order_total:number = 0;\r\n    product_item_total:number = 0;\r\n    product_item_total_array:number[] = [];\r\n    product_item_specification_total:number = 0;\r\n    product_item_specification_total_array:number[] = [];\r\n    product_specification_total_array:any[] = [];\r\n    hide_specification_group: any[] = [];\r\n    specifications: any[] = [];\r\n    item_note: string = '';\r\n    is_show_specification: boolean = false;\r\n    currency_sign: any = '';\r\n    myLoading:boolean = true;\r\n    review_detail: any = {};\r\n    user_detail: any = {};\r\n    user_id: string = null;\r\n    store_detail: any;\r\n    store_id: string = null;\r\n    provider_detail: any;\r\n    provider_id: string = null;\r\n\r\n\r\n    earning_page: number;\r\n    earning_total_page: number;\r\n    earning_total_pages: number[] = [];\r\n    earning_order_total: any = {\r\n        total_completed_orders: 0,\r\n        total: 0\r\n    };\r\n    admin_currency: String;\r\n    earning_order_list: any[] = [];\r\n    wallet: number;\r\n    content: string;\r\n    amount: number;\r\n\r\n    review_list: any[] = [];\r\n\r\n    constructor(private helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n    ngAfterViewInit() {\r\n        jQuery(\".chosen-select\").chosen({disable_search: true});\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n    }\r\n    ngOnDestroy(){\r\n        this.helper.router_id.admin.user_detail = null;\r\n        this.helper.router_id.admin.store_detail = null;\r\n        this.helper.router_id.admin.provider_detail = null;\r\n    }\r\n    ngOnInit() {\r\n\r\n        this.user_detail = this.helper.router_id.admin.provider_detail;\r\n        if(this.user_detail){\r\n            this.user_id = this.user_detail._id;\r\n        } else {\r\n            this.user_detail = {};\r\n        }\r\n        \r\n        this.order_status_id=\"\";\r\n        this.search_field=\"user_first_name\";\r\n        this.search_value=\"\";\r\n        this.start_date='';\r\n        this.end_date='';\r\n        this.page=1;\r\n        this.earning_page=1;\r\n        this.moment = moment;\r\n\r\n        this.helper.message()\r\n\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.heading_title=this.helper.heading_title\r\n        this.ORDER_STATE=this.helper.ORDER_STATE\r\n        this.status=this.helper.status\r\n        this.order_list=[];\r\n\r\n        this.store_history(1);\r\n        this.order_earning(1);\r\nthis.get_review_history();\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#order_status_id').on('change', (evnt,res_data) => {\r\n            this.order_status_id=res_data.selected;\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#search_field').on('change', (evnt,res_data) => {\r\n            this.search_field=res_data.selected;\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#pickup_type').on('change', (evnt, res_data) => {\r\n\r\n            this.pickup_type = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#created_by').on('change', (evnt, res_data) => {\r\n\r\n            this.created_by = res_data.selected;\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#order_type').on('change', (evnt, res_data) => {\r\n\r\n            this.order_type = res_data.selected;\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#payment_status').on('change', (evnt, res_data) => {\r\n\r\n            this.payment_status = res_data.selected;\r\n\r\n        });\r\n    }\r\n\r\n    order_earning(page) {\r\n        this.earning_page = page;\r\n        this.helper.http.post('/admin/get_order_earning', {\r\n            start_date: this.start_date, end_date: this.end_date,\r\n            sort_field: 'unique_id', sort_order: -1,\r\n            search_field: this.search_field, provider_id: this.user_id, search_value: this.search_value, page: this.earning_page\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n\r\n                this.earning_order_list = [];\r\n                this.earning_total_pages = [];\r\n\r\n            }\r\n            else {\r\n                console.log(res_data)\r\n                this.earning_order_list = res_data.orders;\r\n                this.earning_order_total = res_data.order_total;\r\n                this.admin_currency = res_data.admin_currency;\r\n                this.earning_total_page = res_data.pages;\r\n\r\n                this.earning_total_pages = Array(res_data.pages).fill((x, i) => i).map((x, i) => i + 1)\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    viewOrderEarningDetail(id) {\r\n        this.helper.router_id.admin.view_order_earning_id = id;\r\n        this.helper.router.navigate(['admin/order_earning_detail']);\r\n\r\n    }\r\n\r\n    activeRoute(routename: string): boolean {\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n    open_detail_modal(index){\r\n        \r\n        this.order_detail_modal.open();\r\n    }\r\n    hide_specifications_group(specification_group_index)\r\n    {\r\n        this.hide_specification_group[specification_group_index]='true';\r\n        jQuery('#spec_list'+specification_group_index).hide();\r\n    }\r\n\r\n    show_specifications_group(specification_group_index)\r\n    {\r\n        this.hide_specification_group[specification_group_index]='false';\r\n        jQuery('#spec_list'+specification_group_index).show();\r\n    }\r\n\r\n    get_specification(product_index, item_index){\r\n        this.is_show_specification= true;\r\n        this.specifications = this.order_detail.cart_detail.order_details[product_index].items[item_index].specifications;\r\n        this.item_note = this.order_detail.cart_detail.order_details[product_index].items[item_index].note_for_item;\r\n    }\r\n\r\n    history_export_csv() {\r\n        this.helper.http.post('/api/admin/history', {\r\n            start_date:this.start_date,end_date:this.end_date, store_id: this.store_id, provider_id: this.user_id, payment_status: this.payment_status, created_by: this.created_by, pickup_type: this.pickup_type,\r\n            order_status_id:this.order_status_id, search_field:this.search_field,search_value:this.search_value, order_type: this.order_type\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            var json2csv = require('json2csv');\r\n            res_data.orders.forEach((order, index) => {\r\n                if (order.order_payment_detail.is_paid_from_wallet) {\r\n                    order.payment_status = this.title.wallet;\r\n                } else {\r\n                    if (order.order_payment_detail.is_payment_mode_cash) {\r\n                        order.payment_status = this.helper.lable_title.cash;\r\n                    } else {\r\n                        if (order.payment_gateway_detail.length > 0) {\r\n\r\n                            order.payment_status = order.payment_gateway_detail[0].name;\r\n                        }\r\n                    }\r\n                }\r\n\r\n                order.user_name = order.user_detail.first_name + ' ' + order.user_detail.last_name;\r\n                order.store_name = order.store_detail.name;\r\n                \r\n                order.city_name = order.city_detail.city_name;\r\n                if (order.request_detail != undefined) {\r\n                \r\n               \r\n                if (order.provider_detail.length > 0) {\r\n                    order.provider_name = order.provider_detail[0].first_name + ' ' + order.provider_detail[0].last_name;\r\n                }\r\n                }\r\n\r\n                switch (order.order_status) {\r\n                    case this.ORDER_STATE.STORE_REJECTED:\r\n                        order.status = this.status.rejected;\r\n                        break;\r\n                    case this.ORDER_STATE.STORE_CANCELLED:\r\n                        order.status = this.status.cancelled;\r\n                        break;\r\n                   \r\n                    case this.ORDER_STATE.CANCELED_BY_USER:\r\n                        order.status = this.status.user_cancelled;\r\n                        break;\r\n                    case this.ORDER_STATE.DELIVERY_MAN_COMPLETE_DELIVERY:\r\n                        order.status = this.status.order_delivered;\r\n                        break;\r\n                    case this.ORDER_STATE.ORDER_COMPLETED:\r\n                        order.status = this.status.completed;\r\n                        break;\r\n                    default:\r\n                        order.satus = '';\r\n                }\r\n\r\n               order.amount = ((+order.order_payment_detail.total_delivery_price + +order.order_payment_detail.total_order_price).toFixed(2));\r\n            });\r\n\r\n            var fieldNames = [this.title.id,\r\n            this.title.user,\r\n            this.title.store,\r\n            this.title.city,\r\n            this.title.provider,\r\n            this.title.status,\r\n            this.title.amount,\r\n            this.title.payment_by,\r\n            this.title.date,\r\n            this.title.delivery_at\r\n            ];\r\n            var fields = ['unique_id',\r\n                'user_name',\r\n                'store_name',\r\n                'city_name',\r\n                'provider_name',\r\n                'status',\r\n                'amount',\r\n                'payment_status',\r\n                'updated_at',\r\n                'completed_at'\r\n            ];\r\n\r\n           \r\n            var csv = json2csv({data: res_data.orders, fields: fields, fieldNames: fieldNames});\r\n\r\n            var final_csv: any = csv;\r\n            this.helper.downloadFile(final_csv);\r\n        });\r\n    }\r\n    \r\n    \r\n    history_export_excel() {\r\n       this.helper.http.post('/api/admin/history', {store_id: this.store_id, provider_id: this.user_id, \r\n            start_date: this.start_date, end_date: this.end_date,\r\n            search_field: this.search_field, search_value: this.search_value\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            var json_data = [];\r\n            var json2excel = require('js2excel');\r\n            res_data.orders.forEach((order, index) => {\r\n                if (order.order_payment_detail.is_paid_from_wallet) {\r\n                    order.payment_status = this.title.wallet;\r\n                } else {\r\n                    if (order.order_payment_detail.is_payment_mode_cash) {\r\n                        order.payment_status = this.helper.lable_title.cash;\r\n                    } else {\r\n                        if (order.payment_gateway_detail.length > 0) {\r\n\r\n                            order.payment_status = order.payment_gateway_detail[0].name;\r\n                        }\r\n                    }\r\n                }\r\n\r\n                order.user_name = order.user_detail.first_name + ' ' + order.user_detail.last_name;\r\n                order.store_name = order.store_detail.name;\r\n                \r\n                order.city_name = order.city_detail.city_name;\r\n                if (order.request_detail != undefined) {\r\n                \r\n               \r\n                if (order.provider_detail.length > 0) {\r\n                    order.provider_name = order.provider_detail[0].first_name + ' ' + order.provider_detail[0].last_name;\r\n                }\r\n                }\r\n\r\n                switch (order.order_status) {\r\n                    case this.ORDER_STATE.STORE_REJECTED:\r\n                        order.status = this.status.rejected;\r\n                        break;\r\n                    case this.ORDER_STATE.STORE_CANCELLED:\r\n                        order.status = this.status.cancelled;\r\n                        break;\r\n                   \r\n                    case this.ORDER_STATE.CANCELED_BY_USER:\r\n                        order.status = this.status.user_cancelled;\r\n                        break;\r\n                    case this.ORDER_STATE.DELIVERY_MAN_COMPLETE_DELIVERY:\r\n                        order.status = this.status.order_delivered;\r\n                        break;\r\n                    case this.ORDER_STATE.ORDER_COMPLETED:\r\n                        order.status = this.status.completed;\r\n                        break;\r\n                    default:\r\n                        order.satus = '';\r\n                }\r\n\r\n               order.amount = ((+order.order_payment_detail.total_delivery_price + +order.order_payment_detail.total_order_price).toFixed(2));\r\n           \r\n               json_data.push({\r\n                    \"ID\": order.unique_id,\r\n                    \"User\":order.user_name,\r\n                    \"Store\":order.store_name,\r\n                    \"Provider\":order.provider_name,\r\n                    \"City\":order.city_name,\r\n                    \"Status\":order.status,\r\n                    \"Amount\":order.amount,\r\n                    \"Payment By\":order.payment_status,\r\n                    \"Date\":order.created_at\r\n                    \r\n                 });\r\n            \r\n              });\r\n           \r\n            json2excel.json2excel({\r\n                data: json_data,\r\n                name: 'history_excel',\r\n                formateDate: 'yyyy/mm/dd'\r\n            });\r\n            \r\n        });\r\n    }\r\n\r\n    store_history(page)\r\n    {\r\n        this.myLoading=true;\r\n        this.selected_order_index = 0;\r\n        this.page=page;\r\n        this.helper.http.post('/api/admin/history',{start_date:this.start_date,end_date:this.end_date, store_id: this.store_id, provider_id: this.user_id, created_by: this.created_by,payment_status: this.payment_status, pickup_type: this.pickup_type,\r\n            order_status_id:this.order_status_id, search_field:this.search_field,search_value:this.search_value,page:this.page, order_type: this.order_type }).map((res:Response) => res.json()).subscribe(res_data=>{\r\n\r\n                this.myLoading=false;\r\n                if(res_data.success == false)\r\n                {\r\n                    this.order_list=[];\r\n                    this.total_pages=[];\r\n                }\r\n                else\r\n                {\r\n                    this.currency_sign = res_data.currency_sign;\r\n                    this.order_list=res_data.orders;\r\n                    this.total_page=res_data.pages;\r\n                    this.total_pages=Array(res_data.pages).fill((x,i)=>i).map((x,i)=>i+1)\r\n                    if(this.order_list.length>0){\r\n                        this.get_order_detail(this.order_list[0]._id);\r\n                    }\r\n                }\r\n            },\r\n            (error: any) => {\r\n                this.myLoading=false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    show_review(order_id){\r\n        this.helper.http.post('/admin/get_review_detail', {order_id: order_id}).map((res:Response) => res.json()).subscribe(res_data=> {\r\n            if(res_data.success){\r\n                this.review_detail = res_data.review_detail;\r\n                this.review_detail_modal.open();\r\n            } else {\r\n                this.review_detail = {};\r\n            }\r\n        });\r\n    }\r\n\r\n    get_order_detail(order_id){\r\n        this.helper.http.post('/admin/get_order_detail', {\r\n            order_id: order_id    \r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            if(res_data.success){\r\n                this.order_detail = res_data.order_detail;\r\n                this.is_show_specification = false;\r\n                this.order_total = 0;\r\n                this.product_item_total = 0;\r\n                this.total_item = 0;\r\n                this.product_item_specification_total = 0;\r\n                this.product_item_specification_total_array = [];\r\n                this.product_item_total_array = [];\r\n                this.product_specification_total_array = [];\r\n                this.order_detail.cart_detail.order_details.forEach((product, product_index)=>{\r\n                    this.hide_specification_group[product_index]=\"false\"\r\n                    product.items.forEach((item) =>{\r\n                        this.order_total=this.order_total + (item.item_price + item.total_specification_price)*item.quantity\r\n                        this.product_item_total=this.product_item_total + (item.item_price + item.total_specification_price)*item.quantity\r\n                        this.total_item++;\r\n                        item.specifications.forEach((specification)=>{\r\n                            this.product_item_specification_total= this.product_item_specification_total + specification.specification_price;\r\n                        })\r\n                        this.product_item_specification_total_array.push(this.product_item_specification_total)\r\n                        this.product_item_specification_total=0;\r\n                    })\r\n                    this.product_specification_total_array.push(this.product_item_specification_total_array)\r\n                    this.product_item_specification_total_array=[];\r\n                    this.product_item_total_array.push(this.product_item_total)\r\n                    this.product_item_total=0;\r\n                })\r\n            }\r\n        });\r\n    }\r\n\r\n    give_rate_modal(orderid , index, type)\r\n    {\r\n        this.rating = 1;\r\n        this.review = '';\r\n        this.type = type;\r\n        this.order_id = orderid;\r\n        this.modal.open()\r\n        this.selected_order_index = index;\r\n    }\r\n\r\n    open_modal(type, id) {\r\n\r\n        this.user_id = id;\r\n        this.type = type;\r\n        this.modal.open();\r\n        this.wallet = null;\r\n    }\r\n\r\n    AddWallet(add_wallet_data) {\r\n        this.helper.http.post('/admin/add_wallet', add_wallet_data).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            if (res_data.success == true) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.modal.close();\r\n                this.helper.message();\r\n                this.user_detail.wallet = this.user_detail.wallet + +Number(add_wallet_data.wallet).toFixed(2);\r\n\r\n\r\n            }\r\n            else {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message();\r\n            }\r\n        });\r\n    }\r\n\r\n\r\n\r\n\r\n    open_sms_modal(type, id) {\r\n\r\n        this.user_id = id;\r\n        this.type = type;\r\n        this.sms_modal.open();\r\n        this.content = \"\";\r\n    }\r\n    SendSms(sms_data) {\r\n        this.helper.http.post('/admin/send_sms', sms_data).map((res: Response) => res.json()).subscribe(res_data => {\r\n            if (res_data.success == true) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.sms_modal.close();\r\n                this.helper.message();\r\n            }\r\n            else {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message();\r\n            }\r\n\r\n        });\r\n    }\r\n\r\n    open_notification_modal(type, id) {\r\n\r\n        this.user_id = id;\r\n        this.type = type;\r\n        this.notification_modal.open();\r\n        this.content = \"\";\r\n    }\r\n    SendNotification(notification_data) {\r\n        this.helper.http.post('/admin/send_notification', notification_data).map((res: Response) => res.json()).subscribe(res_data => {\r\n            if (res_data.success == true) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.notification_modal.close();\r\n                this.helper.message();\r\n            }\r\n            else {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message();\r\n            }\r\n\r\n        });\r\n    }\r\n\r\n    approved_decline(user_page_type, user_id) {\r\n        this.helper.http.post('/admin/approve_decline_user', {\r\n            user_id: user_id,\r\n            user_page_type: user_page_type\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            if (res_data.success == false) {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n            }\r\n            else {\r\n                this.user_detail.is_approved = !this.user_detail.is_approved;\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n            }\r\n            this.helper.message();\r\n        });\r\n    }\r\n\r\n    history(){\r\n        this.store_history(1);\r\n        this.order_earning(1);\r\n    }\r\n\r\n    get_review_history(){\r\n        this.myLoading = true;\r\n        this.helper.http.post('/admin/get_provider_review_history', {provider_id: this.user_detail._id}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n                this.review_list = [];\r\n            }\r\n            else {\r\n                this.review_list = res_data.review_list;\r\n                console.log(this.review_list)\r\n            }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading = false;\r\n            this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n    Array(number){\r\n        var array = []\r\n        for(var i= 0; i< number; i++){\r\n            array.push(' ')\r\n        }\r\n        return array;\r\n    }\r\n}\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/provider_history/history.component.ts","import {Component, OnInit} from '@angular/core';\r\n\r\nimport {Helper} from \"../../helper\";\r\nimport {Response} from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\n\r\ndeclare var google: any;\r\ndeclare var jQuery: any;\r\n\r\n@Component({\r\n    selector: 'app-provider_map',\r\n    template: require('./provider_map.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class ProviderMapComponent implements OnInit {\r\n\r\n    provider_markers: any[] = [];\r\n    provider_list: any[] = [];\r\n    country_list: any[] = [];\r\n    selected_country: string = \"\";\r\n    type: string = \"All\";\r\n    map: any = '';\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n\r\n    myLoading: boolean = true;\r\n\r\n    constructor(public helper: Helper) {\r\n\r\n    }\r\n    ngAfterViewInit() {\r\n        jQuery(\".chosen-select\").chosen({disable_search: true});\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        var directionsDisplay = new google.maps.DirectionsRenderer;\r\n\r\n        navigator.geolocation.getCurrentPosition((position) => {\r\n            this.map = new google.maps.Map(document.getElementById('map'), {\r\n                zoom: 7,\r\n                streetViewControl: false,\r\n                center: {lat: position.coords.latitude, lng: position.coords.longitude}\r\n            });\r\n            directionsDisplay.setMap(this.map);\r\n\r\n            var input = document.getElementById('search');\r\n            var searchBox = new google.maps.places.SearchBox(input);\r\n            this.map.addListener('bounds_changed', () => {\r\n                searchBox.setBounds(this.map.getBounds());\r\n            });\r\n            searchBox.addListener('places_changed', () => {\r\n                var places = searchBox.getPlaces();\r\n                var bounds = new google.maps.LatLngBounds();\r\n                places.forEach(function (place) {\r\n                    if (place.geometry.viewport) {\r\n                        bounds.union(place.geometry.viewport);\r\n                    } else {\r\n                        bounds.extend(place.geometry.location);\r\n                    }\r\n                });\r\n                this.map.fitBounds(bounds);\r\n            });\r\n\r\n\r\n\r\n            this.helper.http.get('/api/admin/get_country_list').map((res: Response) => res.json()).subscribe(res_data => {\r\n                this.myLoading = false;\r\n                if (res_data.success) {\r\n                    this.country_list = res_data.countries;\r\n                    setTimeout(function () {\r\n                        jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n                    }, 1000);\r\n                    // this.get_provider_list();\r\n                }\r\n                else {\r\n                    this.country_list = [];\r\n                }\r\n\r\n            });\r\n\r\n\r\n\r\n            jQuery(this.helper.elementRef.nativeElement).find('#selected_country').on('change', (evnt, res_data) => {\r\n\r\n                this.selected_country = res_data.selected;\r\n                this.get_provider_list();\r\n                // this.check_provider_country(this.map)\r\n\r\n\r\n            });\r\n\r\n            jQuery(this.helper.elementRef.nativeElement).find('#type').on('change', (evnt, res_data) => {\r\n\r\n                this.type = res_data.selected;\r\n                this.get_provider_list();\r\n                // this.check_provider_country(this.map)\r\n\r\n            });\r\n        });\r\n    }\r\n\r\n    get_provider_list(){\r\n        if(this.selected_country){\r\n            this.myLoading = true;\r\n            this.helper.http.post('/admin/provider_list_for_map', {selected_country: this.selected_country}).map((res: Response) => res.json()).subscribe(res_data => {\r\n                this.myLoading = false;\r\n                if (res_data.success) {\r\n                    this.provider_list = res_data.providers;\r\n                    this.check_provider_country(this.map)\r\n                }\r\n                else {\r\n                    this.provider_list = [];\r\n                }\r\n\r\n            });\r\n        }\r\n    }\r\n\r\n    check_provider_country(map) {\r\n        this.myLoading = true;\r\n        this.provider_markers.forEach(function (marker) {\r\n            marker.setMap(null);\r\n        });\r\n        this.provider_markers = [];\r\n        this.provider_list.forEach((provider_data, index) => {\r\n            if (this.selected_country == 'All' || this.selected_country == provider_data.country_id) {\r\n                this.check_provider_status(provider_data, map);\r\n            }\r\n\r\n            if (index == this.provider_list.length - 1) {\r\n                this.myLoading = false;\r\n            }\r\n        });\r\n    }\r\n\r\n    check_provider_status(provider_data, map) {\r\n        var icon_url = '/map_pin_images/Deliveryman/';\r\n        if ((provider_data.is_online) && (this.type == \"All\" || this.type == \"online\" || this.type == \"onlinewithorder\")) {\r\n            if ((provider_data.request_count > 0) && (this.type == \"All\" || this.type == \"onlinewithorder\")) {\r\n                this.create_marker(provider_data, icon_url + 'deliveryman_online_with_orders.png', map)\r\n            }\r\n            else if ((this.type == \"All\" || this.type == \"online\")) {\r\n                this.create_marker(provider_data, icon_url + 'deliveryman_online.png', map)\r\n            }\r\n        }\r\n        else if ((!provider_data.is_online) && (this.type == \"All\" || this.type == \"offline\" || this.type == \"offlinewithorder\")) {\r\n            if ((provider_data.request_count > 0) && (this.type == \"All\" || this.type == \"offlinewithorder\")) {\r\n                this.create_marker(provider_data, icon_url + 'deliveryman_offline_with_orders.png', map)\r\n            }\r\n            else if ((this.type == \"All\" || this.type == \"offline\")) {\r\n                this.create_marker(provider_data, icon_url + 'deliveryman_offline.png', map)\r\n            }\r\n        }\r\n    }\r\n\r\n    create_marker(provider_data, icon_url, map) {\r\n\r\n        if (provider_data.location != undefined) {\r\n            var marker = new google.maps.Marker({\r\n                position: {lat: provider_data.location[0], lng: provider_data.location[1]},\r\n                map: map,\r\n                icon: icon_url\r\n            });\r\n            this.provider_markers.push(marker);\r\n            var contentString =\r\n                '<p><b>Name</b>: ' + provider_data.first_name + ' ' + provider_data.last_name +\r\n                '<br><b>Email</b>: ' + provider_data.email +\r\n                '<br><b>Rating</b>: ' + provider_data.user_rate +\r\n                '</p>';\r\n\r\n            if(provider_data.request_count>0){\r\n                contentString =\r\n                '<p><b>Name</b>: ' + provider_data.first_name + ' ' + provider_data.last_name +\r\n                '<br><b>Email</b>: ' + provider_data.email +\r\n                '<br><b>Rating</b>: ' + provider_data.user_rate +\r\n                '<br><b>Order Ids</b>: ' + provider_data.order_ids +\r\n                '</p>';\r\n            }\r\n\r\n            var message = new google.maps.InfoWindow({\r\n                content: contentString,\r\n                maxWidth: 320\r\n            });\r\n\r\n\r\n            google.maps.event.addListener(marker, 'click', function (e) {\r\n\r\n                message.open(map, marker);\r\n                setTimeout(function () {message.close();}, 5000);\r\n            });\r\n        }\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/provider_map/provider_map.component.ts","import {Component, OnInit, ViewContainerRef} from '@angular/core';\r\nimport {Router, ActivatedRoute, Params} from '@angular/router';\r\nimport {Helper} from \"../../helper\";\r\nimport {Response} from '@angular/http';\r\ndeclare var jQuery: any;\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\n\r\nexport interface ProviderNewPassword {\r\n    type: string,\r\n    id: Object,\r\n    server_token: string,\r\n    password: String,\r\n    confirm_password: String\r\n}\r\n\r\n@Component({\r\n    selector: 'app-provider_new_password',\r\n    template: require('./provider_new_password.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class ProviderNewPasswordComponent implements OnInit {\r\n\r\n    private provider_new_password: ProviderNewPassword;\r\n    title: any;\r\n    button: any;\r\n    public message: string;\r\n    public class: string;\r\n    validation_message: any;\r\n    myLoading: boolean = true;\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.helper.message();\r\n\r\n        this.provider_new_password = {\r\n            type: \"\",\r\n            id: null,\r\n            server_token: \"\",\r\n            password: \"\",\r\n            confirm_password: \"\"\r\n        }\r\n        this.helper.route.params.subscribe((x: Params) => {\r\n\r\n            var current_date = new Date(Date.now())\r\n            var email_token = x['email_token']\r\n            var json = this.helper.getIDFromEmailToken(email_token);\r\n\r\n            var difference = current_date.getTime() - json.milli_seconds;\r\n            difference = difference/(3600 * 60 * 24)\r\n\r\n            if(difference > 5) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.error_code.TOKEN_INVALID,\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.helper.router.navigate(['admin/login']);\r\n            } else {\r\n                this.provider_new_password={\r\n                    type:'provider',\r\n                    id:json.id,\r\n                    server_token:json.server_token,\r\n                    password: \"\",\r\n                    confirm_password: \"\"\r\n                }\r\n\r\n                this.helper.http.post('/api/admin/check_detail', this.provider_new_password).map((res: Response) => res.json()).subscribe(res_data => {\r\n                    this.myLoading=false;\r\n                    if(!res_data.success)\r\n                    {\r\n                        this.helper.data.storage = {\r\n                            \"code\": res_data.error_code,\r\n                            \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                            \"class\": \"alert-danger\"\r\n                        }\r\n                        this.helper.router.navigate(['admin/login']);\r\n                    }\r\n\r\n                },\r\n                (error: any) => {\r\n                    this.myLoading=false;\r\n                    this.helper.http_status(error)\r\n                });\r\n            }\r\n        });\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.validation_message=this.helper.validation_message\r\n    }\r\n    \r\n    \r\n     providerNewPassword(newpassworddata) {\r\n        this.myLoading = true;\r\n        this.helper.http.post('/api/admin/new_password', this.provider_new_password).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message()\r\n            }\r\n            else {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.helper.router.navigate(['admin/login']);\r\n                \r\n            }\r\n\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n    \r\n    \r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/provider_new_password/provider_new_password.component.ts","import {Component, OnInit, ViewContainerRef} from '@angular/core';\r\nimport {Response} from '@angular/http';\r\nimport {Helper} from \"../../helper\";\r\ndeclare var jQuery: any;\r\n\r\n\r\nexport interface Provider_Vehicle {\r\n    vehicle_name: String,\r\n    admin_vehicle_id: Object,\r\n    vehicle_id: Object,\r\n    vehicle_plate_no: String,\r\n    vehicle_color: String,\r\n    vehicle_model: String,\r\n    vehicle_year: null,\r\n    service_id: Object,\r\n    admin_service_id: Object\r\n\r\n}\r\n\r\n@Component({\r\n    selector: 'app-provider_vehicle',\r\n    template: require('./provider_vehicle.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class ProviderVehicleComponent implements OnInit {\r\n\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    lable_title: any;\r\n    vehicle_list: any[];\r\n    provider_id: Object;\r\n    provider_vehicle_id: Object;\r\n    myLoading: boolean = true;\r\n    document_list: any[];\r\n    vehicle_service_list: any[];\r\n    edit_vehicle: any[] = [];\r\n    private provider_vehicle_list: Provider_Vehicle;\r\n    id: Object;\r\n\r\n    constructor(private helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n\r\n    ngAfterViewInit() {\r\n        jQuery(\"#admin_vehicle_id\").chosen({disable_search: true});\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n    }\r\n\r\n\r\n    ngOnInit() {\r\n        //jQuery(\".chosen-select\").chosen();\r\n        this.provider_id = this.helper.router_id.admin.provider_vehicle_id;\r\n        this.id = this.helper.router_id.admin.pro_vehicle_id;\r\n\r\n        this.provider_vehicle_id = \"\";\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.lable_title = this.helper.lable_title;\r\n        this.vehicle_list = [];\r\n        this.document_list = [];\r\n\r\n\r\n        this.provider_vehicle_list = {\r\n            vehicle_name: '',\r\n            admin_vehicle_id: null,\r\n            vehicle_id: null,\r\n            vehicle_plate_no: '',\r\n            vehicle_color: '',\r\n            vehicle_model: '',\r\n            vehicle_year: null,\r\n            service_id: null,\r\n            admin_service_id: null\r\n        }\r\n\r\n        this.helper.http.get('/admin/vehicle_list_for_provider').map((res: Response) => res.json()).subscribe(res => {\r\n            this.vehicle_service_list = res.vehicles;\r\n            setTimeout(function () {\r\n                jQuery(\"#admin_vehicle_id\").trigger(\"chosen:updated\");\r\n            }, 1000);\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#admin_vehicle_id').on('change', (evnt, res_data) => {\r\n\r\n            this.provider_vehicle_list.admin_vehicle_id = res_data.selected;\r\n        });\r\n\r\n\r\n\r\n        this.helper.http.post('/admin/provider_vehicle_list', {\r\n            provider_id: this.provider_id\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n                this.vehicle_list = [];\r\n            }\r\n            else {\r\n                this.vehicle_list = res_data.provider_vehicles;\r\n                this.helper.http.get('/admin/vehicle_list_for_provider').map((res: Response) => res.json()).subscribe(res => {\r\n                    this.vehicle_service_list = res.vehicles;\r\n                    setTimeout(function () {\r\n                        jQuery(\"#admin_vehicle_id\").trigger(\"chosen:updated\");\r\n                    }, 1000);\r\n                });\r\n                this.vehicle_list.forEach((vehicle, index) => {\r\n                    this.edit_vehicle[index] = \"false\";\r\n                    this.get_document_list(vehicle._id, 9, vehicle.provider_id);\r\n\r\n                    this.helper.http.get('/admin/vehicle_list_for_provider').map((res: Response) => res.json()).subscribe(res => {\r\n                        this.vehicle_service_list = res.vehicles;\r\n                        setTimeout(function () {\r\n                            jQuery(\"#admin_vehicle_id\").trigger(\"chosen:updated\");\r\n                        }, 1000);\r\n                    });\r\n                })\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n\r\n    }\r\n\r\n\r\n    get_document_list(id, type, user_type_id) {\r\n        this.helper.http.post('/admin/view_document_list', {id: id, type: type, user_type_id: user_type_id}).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            this.document_list = res_data.documents;\r\n        });\r\n    }\r\n    editVehicle(vehicle, vehicle_index) {\r\n        this.edit_vehicle.fill(\"\")\r\n        this.edit_vehicle[vehicle_index] = \"true\";\r\n        this.provider_vehicle_list.vehicle_name = vehicle.vehicle_name;\r\n        this.provider_vehicle_list.admin_vehicle_id = vehicle.admin_vehicle_id;\r\n        this.provider_vehicle_list.vehicle_id = vehicle.vehicle_id;\r\n        this.provider_vehicle_list.vehicle_plate_no = vehicle.vehicle_plate_no;\r\n        this.provider_vehicle_list.vehicle_color = vehicle.vehicle_color;\r\n        this.provider_vehicle_list.vehicle_model = vehicle.vehicle_model;\r\n        this.provider_vehicle_list.vehicle_year = vehicle.vehicle_year;\r\n        this.provider_vehicle_list.service_id = vehicle.service_id;\r\n        this.provider_vehicle_list.admin_service_id = vehicle.admin_service_id;\r\n\r\n        this.helper.http.get('/admin/vehicle_list_for_provider').map((res: Response) => res.json()).subscribe(res => {\r\n            this.vehicle_service_list = res.vehicles;\r\n            setTimeout(function () {\r\n                jQuery(\"#admin_vehicle_id\").trigger(\"chosen:updated\");\r\n            }, 1000);\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#admin_vehicle_id').on('change', (evnt, res_data) => {\r\n\r\n            this.provider_vehicle_list.admin_vehicle_id = res_data.selected;\r\n        });\r\n    }\r\n\r\n    UpdateVehicle(vehicle, v_index) {\r\n\r\n        this.myLoading = true;\r\n        this.helper.http.post('/admin/provider_vehicle_update', {\r\n            provider_vehicle_id: vehicle._id, vehicle_name: this.provider_vehicle_list.vehicle_name, vehicle_id: this.provider_vehicle_list.admin_vehicle_id,\r\n            admin_vehicle_id: this.provider_vehicle_list.admin_vehicle_id,\r\n            vehicle_plate_no: this.provider_vehicle_list.vehicle_plate_no,\r\n            vehicle_color: this.provider_vehicle_list.vehicle_color,\r\n            vehicle_model: this.provider_vehicle_list.vehicle_model,\r\n            vehicle_year: this.provider_vehicle_list.vehicle_year,\r\n            service_id: this.provider_vehicle_list.service_id,\r\n            admin_service_id: this.provider_vehicle_list.admin_service_id\r\n\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            this.edit_vehicle.fill(\"false\");\r\n            if (res_data.success == true) {\r\n                this.vehicle_list[v_index].vehicle_name = res_data.provider_vehicle.vehicle_name;\r\n                this.vehicle_list[v_index].vehicle_color = res_data.provider_vehicle.vehicle_color;\r\n                this.vehicle_list[v_index].vehicle_id = res_data.provider_vehicle.vehicle_id;\r\n                this.vehicle_list[v_index].admin_vehicle_id = res_data.provider_vehicle.admin_vehicle_id;\r\n\r\n\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n\r\n    }\r\n\r\n\r\n\r\n//    editProviderVehicle(id) {\r\n//        this.helper.router_id.admin.pro_vehicle_id = id;\r\n//        this.helper.router.navigate(['admin/edit_vehicle']);\r\n//    }\r\n\r\n\r\n    onChangeVehicle(id, event) {\r\n        this.helper.http.post('/admin/provider_vehicle_approve_decline', {vehicle_id: id, is_approved: event}).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            if (res_data.success == false) {\r\n\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    editProviderVehicle(id) {\r\n        this.helper.router_id.admin.provider_vehicle_id = id;\r\n        this.helper.router.navigate(['admin/edit_vehicle']);\r\n\r\n    }\r\n\r\n\r\n    viewProviderDocument(id, user_type_id, type) {\r\n        this.helper.router_id.admin.provider_vehicle_id = id;\r\n        this.helper.router_id.admin.document_type = type;\r\n        this.helper.router.navigate(['admin/provider_vehicle_documents']);\r\n    }\r\n\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/provider_vehicle/provider_vehicle.component.ts","import {Component, OnInit, ViewChild, ViewContainerRef} from '@angular/core';\r\nimport {Response} from '@angular/http';\r\n\r\nimport {Helper} from \"../../helper\";\r\n\r\ndeclare var jQuery: any;\r\nimport {ModalComponent} from 'ng2-bs3-modal/ng2-bs3-modal';\r\n\r\nexport interface ProviderAnalyticWeekly {\r\n    received: number,\r\n    accepted: number,\r\n    rejected: number,\r\n    not_answered: number,\r\n    cancelled: number,\r\n    completed: number,\r\n    acception_ratio: number,\r\n    rejection_ratio: number,\r\n    cancellation_ratio: number,\r\n    completed_ratio: number,\r\n    total_online_time: number,\r\n    total_active_job_time: number\r\n}\r\n\r\nexport interface OrderTotal {\r\n    total_service_price: number,\r\n    total_admin_tax_price: number,\r\n    total_delivery_price: number,\r\n    total_admin_profit_on_delivery: number,\r\n    total_provider_profit: number,\r\n    wallet: number,\r\n    total_earning: number,\r\n    provider_paid_order_payment: number,\r\n    provider_have_cash_payment: number,\r\n    pay_to_provider: number,\r\n    total_paid: number,\r\n    total_remaining_to_paid: number,\r\n    total_wallet_income_set: number,\r\n    total_wallet_income_set_in_cash_order: number,\r\n    total_wallet_income_set_in_other_order: number,\r\n    total_provider_have_cash_payment_on_hand: number\r\n}\r\n\r\nexport interface OrderDayTotal {\r\n    date1: number,\r\n    date2: number,\r\n    date3: number,\r\n    date4: number,\r\n    date5: number,\r\n    date6: number,\r\n    date7: number\r\n}\r\n\r\nexport interface DateList {\r\n    date1: Object,\r\n    date2: Object,\r\n    date3: Object,\r\n    date4: Object,\r\n    date5: Object,\r\n    date6: Object,\r\n    date7: Object\r\n}\r\n\r\n@Component({\r\n    selector: 'app_provider_weekly_earning',\r\n    template: require('./provider_weekly_earning.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class ProviderWeeklyEarningComponent implements OnInit {\r\n\r\n    @ViewChild('myModal')\r\n    modal: ModalComponent;\r\n    @ViewChild('order_detail_modal')\r\n    order_detail_modal: ModalComponent;\r\n\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    provider_weekly_earning_list: any[];\r\n    setting_detail: any;\r\n    //sort_field: string;\r\n    // sort_weekly_earning: number;\r\n    search_field: string;\r\n    search_value: string;\r\n    start_date: string;\r\n    end_date: string;\r\n    page: number;\r\n    total_page: number;\r\n    total_pages: number[];\r\n    order_total: String;\r\n    admin_currency: String;\r\n\r\n    amount: number;\r\n    provider_weekly_earning_id: Object;\r\n\r\n    week_date: string;\r\n    week_array: any[];\r\n    show: Boolean;\r\n    registered_date: string;\r\n    myLoading: boolean = true;\r\n\r\n    private order_total1: OrderTotal;\r\n    private provider_analytic_weekly: ProviderAnalyticWeekly;\r\n    private order_day_total: OrderDayTotal;\r\n    date: DateList;\r\n    currency: string = '';\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n    ngAfterViewInit() {\r\n\r\n        jQuery(\".chosen-select\").chosen({disable_search: true});\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n    }\r\n\r\n    ngOnInit() {\r\n\r\n        this.search_field = \"provider_detail.first_name\";\r\n        this.search_value = \"\";\r\n        this.start_date = '';\r\n        this.end_date = '';\r\n        this.week_date = '';\r\n        this.show = false;\r\n        this.page = 1\r\n\r\n        this.helper.message()\r\n\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.provider_weekly_earning_list = [];\r\n        this.order_total = \"\";\r\n        this.admin_currency = \"\";\r\n\r\n        this.week_array = [];\r\n        this.provider_weekly_earning_id = \"\";\r\n        this.provider_weekly_earning(1);\r\n\r\n        this.order_total1 = {\r\n            total_service_price: 0,\r\n            total_admin_tax_price: 0,\r\n            total_delivery_price: 0,\r\n            total_admin_profit_on_delivery: 0,\r\n            total_provider_profit: 0,\r\n            wallet: 0,\r\n            total_earning: 0,\r\n            provider_paid_order_payment: 0,\r\n            provider_have_cash_payment: 0,\r\n            pay_to_provider: 0,\r\n\r\n            total_paid: 0,\r\n            total_remaining_to_paid: 0,\r\n            total_wallet_income_set: 0,\r\n\r\n            total_wallet_income_set_in_cash_order: 0,\r\n            total_wallet_income_set_in_other_order: 0,\r\n            total_provider_have_cash_payment_on_hand: 0\r\n        }\r\n        this.provider_analytic_weekly = {\r\n            received: 0,\r\n            accepted: 0,\r\n            rejected: 0,\r\n            not_answered: 0,\r\n            cancelled: 0,\r\n            completed: 0,\r\n            acception_ratio: 0,\r\n            rejection_ratio: 0,\r\n            cancellation_ratio: 0,\r\n            completed_ratio: 0,\r\n            total_online_time: 0,\r\n            total_active_job_time: 0\r\n        }\r\n\r\n        this.order_day_total = {\r\n            date1: 0,\r\n            date2: 0,\r\n            date3: 0,\r\n            date4: 0,\r\n            date5: 0,\r\n            date6: 0,\r\n            date7: 0\r\n        }\r\n\r\n        this.date = {\r\n            date1: null,\r\n            date2: null,\r\n            date3: null,\r\n            date4: null,\r\n            date5: null,\r\n            date6: null,\r\n            date7: null\r\n        }\r\n\r\n\r\n        this.helper.http.post('/api/admin/get_setting_detail', {}).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            if (res_data.success == true) {\r\n                this.registered_date = res_data.setting.created_at;\r\n\r\n\r\n                var monthNames = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\",\r\n                    \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\r\n\r\n                var registered_date = new Date(this.registered_date)\r\n\r\n                var today = new Date(Date.now());\r\n                var getDay = today.getDay();\r\n                \r\n\r\n               \r\n                \r\n                var lastWeekEndDay = today.getDate() + 6 - today.getDay();\r\nvar lastWeekEndDate1 = new Date(today.setDate(lastWeekEndDay));\r\nvar timeDiff = Math.abs(lastWeekEndDate1.getTime() - registered_date.getTime());\r\nvar total_week = Math.ceil((timeDiff / (1000 * 3600 * 24)) / 7);\r\n\r\nvar end_date = new Date(today.setDate(lastWeekEndDay));\r\ntoday = new Date(end_date);\r\nvar start_date = new Date(today.setDate(today.getDate() - 6));\r\n\r\n               for (var i = 0; i < total_week; i++) {\r\n    \r\n    var start_date_view = start_date.getDate() + ' ' + monthNames[start_date.getMonth()] + ' ' + start_date.getFullYear();\r\n    var end_date_view = end_date.getDate() + ' ' + monthNames[end_date.getMonth()] + ' ' + end_date.getFullYear();\r\n\r\n    this.week_array.push({value: start_date_view + '-' + end_date_view, text: start_date_view + ' - ' + end_date_view})\r\n\r\n    if (i == 0) {\r\n        this.week_date = start_date_view + '-' + end_date_view;\r\n        this.start_date = start_date_view;\r\n        this.end_date = end_date_view;\r\n    }\r\n    \r\n    end_date = new Date(end_date.setDate(end_date.getDate() - 7));\r\n    start_date = new Date(start_date.setDate(start_date.getDate() - 7));\r\n}\r\n                this.provider_weekly_earning(this.page)\r\n\r\n            }\r\n\r\n        });\r\n\r\n\r\n\r\n\r\n        setTimeout(function () {\r\n            jQuery(\"#week_date\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#search_field').on('change', (evnt, res_data) => {\r\n\r\n            this.search_field = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#week_date').on('change', (evnt, res_data) => {\r\n\r\n\r\n            this.week_date = res_data.selected;\r\n            var date = this.week_date.split('-');\r\n            this.start_date = date[0];\r\n            this.end_date = date[1];\r\n\r\n        });\r\n    }\r\n    activeRoute(routename: string): boolean {\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n\r\n    provider_weekly_earning(page) {\r\n        this.page = page;\r\n        this.helper.http.post('/admin/provider_weekly_earning', {\r\n            start_date: this.start_date, end_date: this.end_date,\r\n            //sort_field: this.sort_field, sort_weekly_earning: this.sort_weekly_earning,\r\n            search_field: this.search_field, search_value: this.search_value, page: this.page\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n                this.provider_weekly_earning_list = [];\r\n                this.total_pages = [];\r\n            }\r\n            else {\r\n\r\n\r\n                this.provider_weekly_earning_list = res_data.provider_weekly_earnings;\r\n                this.total_page = res_data.pages;\r\n                this.order_total = res_data.order_total;\r\n                this.admin_currency = res_data.admin_currency;\r\n\r\n                this.total_pages = Array(res_data.pages).fill((x, i) => i).map((x, i) => i + 1)\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    open_modal(id) {\r\n\r\n        this.provider_weekly_earning_id = id;\r\n        this.modal.open();\r\n        this.amount = null;\r\n    }\r\n    AdminPayToProvider(add_amount) {\r\n        this.helper.http.post('/admin/admin_paid_to_provider', add_amount).map((res: Response) => res.json()).subscribe(res_data => {\r\n           \r\n            if (res_data.success == true) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.modal.close();\r\n                var index = this.provider_weekly_earning_list.findIndex(x => x._id == add_amount.provider_weekly_earning_id);\r\n                this.provider_weekly_earning_list[index].total_paid = this.provider_weekly_earning_list[index].total_paid + +add_amount.amount;\r\n                this.provider_weekly_earning_list[index].total_remaining_to_paid = this.provider_weekly_earning_list[index].total_remaining_to_paid - add_amount.amount;\r\n            }\r\n\r\n        });\r\n    }\r\n\r\n    view_provider_weekly_earning_statement(id) {\r\n        this.helper.router_id.admin.provider_weekly_earning_id = id;\r\n        this.helper.router.navigate(['admin/provider_weekly_earning_statement']);\r\n    }\r\n\r\n\r\n\r\n    provider_weekly_earning_export_csv() {\r\n         this.helper.http.post('/admin/provider_weekly_earning', {\r\n            start_date: this.start_date, end_date: this.end_date,\r\n            //sort_field: this.sort_field, sort_weekly_earning: this.sort_weekly_earning,\r\n            search_field: this.search_field, search_value: this.search_value\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            var json2csv = require('json2csv');\r\n            res_data.provider_weekly_earnings.forEach((provider_weekly_earning, index) => {\r\n\r\n\r\n\r\n                provider_weekly_earning.currency = provider_weekly_earning.country_detail[0].currency_sign;\r\n\r\n\r\n                \r\n                    provider_weekly_earning.provider_name = provider_weekly_earning.provider_detail.first_name + ' ' + provider_weekly_earning.provider_detail.last_name;\r\n                \r\n\r\n                if (provider_weekly_earning.provider_analytic_weekly_detail.length > 0) {\r\n                    provider_weekly_earning.acception_ratio = provider_weekly_earning.provider_analytic_weekly_detail[0].acception_ratio;\r\n                    provider_weekly_earning.completed_ratio = provider_weekly_earning.provider_analytic_weekly_detail[0].completed_ratio;\r\n                }\r\n\r\n            });\r\n\r\n            var fieldNames = [this.title.ID,\r\n            this.title.provider,\r\n            this.title.acception_ratio,\r\n            this.title.completed_ratio,\r\n            this.title.provider_earn,\r\n            this.title.have_case,\r\n            this.title.pay_provider,\r\n            \r\n            this.title.total_wallet_income_set_in_cash_order,\r\n            this.title.total_wallet_income_set_in_other_order,\r\n            this.title.paid,\r\n            this.title.remaining_to_pay,\r\n            this.title.currency\r\n            ];\r\n\r\n            var fields = ['unique_id',\r\n                'provider_name',\r\n                'acception_ratio', 'completed_ratio',\r\n                'total_provider_earning',\r\n                'total_provider_have_cash_payment',\r\n                'total_pay_to_provider', 'total_wallet_income_set_in_cash_order',\r\n                'total_wallet_income_set_in_other_order',\r\n                'total_paid', 'total_remaining_to_paid', 'currency'\r\n            ];\r\n\r\n\r\n            var order_total_fieldNames = [this.title.total_orders,\r\n            this.title.admin_earn,\r\n            this.title.provider_earn,\r\n            this.title.pay_to_provider,\r\n            this.title.total_wallet_income_set_in_cash_order,\r\n            this.title.total_wallet_income_set_in_other_order\r\n\r\n            ];\r\n\r\n            var order_total_fields = ['total_orders',\r\n                'total_admin_earn',\r\n                'total_provider_earning',\r\n                'total_pay_to_provider',\r\n                'total_wallet_income_set_in_cash_order',\r\n                'total_wallet_income_set_in_other_order'\r\n            ];\r\n\r\n            var order_total_csv = json2csv({data: res_data.order_total, fields: order_total_fields, fieldNames: order_total_fieldNames});\r\n            var csv = json2csv({data: res_data.provider_weekly_earnings, fields: fields, fieldNames: fieldNames});\r\n\r\n            var final_csv: any = order_total_csv + \"\\n\" + \"\\n\" + csv\r\n\r\n            this.helper.downloadFile(final_csv);\r\n        });\r\n    }\r\n    \r\n    \r\n    provider_weekly_earning_export_excel() {\r\n         this.helper.http.post('/admin/provider_weekly_earning', {\r\n            start_date: this.start_date, end_date: this.end_date,\r\n            search_field: this.search_field, search_value: this.search_value\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            var json_data = [];\r\n            var json2excel = require('js2excel');\r\n            res_data.provider_weekly_earnings.forEach((provider_weekly_earning, index) => {\r\n\r\n\r\n\r\n                provider_weekly_earning.currency = provider_weekly_earning.country_detail[0].currency_sign;\r\n\r\n\r\n                \r\n                provider_weekly_earning.provider_name = provider_weekly_earning.provider_detail.first_name + ' ' + provider_weekly_earning.provider_detail.last_name;\r\n                \r\n\r\n                if (provider_weekly_earning.provider_analytic_weekly_detail.length > 0) {\r\n                    provider_weekly_earning.acception_ratio = provider_weekly_earning.provider_analytic_weekly_detail[0].acception_ratio;\r\n                    provider_weekly_earning.completed_ratio = provider_weekly_earning.provider_analytic_weekly_detail[0].completed_ratio;\r\n                }\r\n                \r\n                \r\n                json_data.push({\r\n                    \"ID\": provider_weekly_earning.unique_id,\r\n                    \"Provider\": provider_weekly_earning.provider_name,\r\n                    \"Acception Ratio\": provider_weekly_earning.acception_ratio,\r\n                    \"Completed Ratio\": provider_weekly_earning.completed_ratio,\r\n                    \"Provider Earn\": provider_weekly_earning.total_provider_earning,\r\n                    \"Provider Have Case\": provider_weekly_earning.total_provider_have_cash_payment,\r\n                    \"Pay Provider\": provider_weekly_earning.total_pay_to_provider,\r\n\r\n                    \"Deduct From Wallet\": provider_weekly_earning.total_wallet_income_set_in_cash_order,\r\n                    \"Added In Wallet\": provider_weekly_earning.total_wallet_income_set_in_other_order,\r\n                    \"Paid\": provider_weekly_earning.total_paid,\r\n                    \"Remaining To Pay\": provider_weekly_earning.total_remaining_to_paid,\r\n                    \"Currency\": provider_weekly_earning.currency\r\n\r\n                });\r\n\r\n            });\r\n            \r\n            json2excel.json2excel({\r\n                data: json_data,\r\n                name: 'provider_weekly_earning_excel',\r\n                formateDate: 'yyyy/mm/dd'\r\n            });\r\n            \r\n            \r\n        });\r\n    }\r\n    \r\n    \r\n    open_detail_modal(provider_id){\r\n        this.helper.http.post('/api/provider/weekly_earning', {\r\n            provider_id: provider_id,\r\n            type: 1,\r\n            start_date: this.start_date,\r\n            end_date: this.end_date,\r\n            search_field: this.search_field,\r\n            search_value: ''\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            if (res_data.success == false) {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n\r\n                this.order_day_total = {\r\n                    date1: 0,\r\n                    date2: 0,\r\n                    date3: 0,\r\n                    date4: 0,\r\n                    date5: 0,\r\n                    date6: 0,\r\n                    date7: 0\r\n                }\r\n                this.order_total1 = {\r\n                    total_service_price: 0,\r\n                    total_admin_tax_price: 0,\r\n                    total_delivery_price: 0,\r\n                    total_admin_profit_on_delivery: 0,\r\n                    total_provider_profit: 0,\r\n                    wallet: 0,\r\n                    total_earning: 0,\r\n                    provider_paid_order_payment: 0,\r\n                    provider_have_cash_payment: 0,\r\n                    pay_to_provider: 0,\r\n                    total_paid: 0,\r\n                    total_remaining_to_paid: 0,\r\n                    total_wallet_income_set: 0,\r\n                    total_wallet_income_set_in_cash_order: 0,\r\n                    total_wallet_income_set_in_other_order: 0,\r\n                    total_provider_have_cash_payment_on_hand: 0\r\n                }\r\n\r\n                this.provider_analytic_weekly = {\r\n                    received: 0,\r\n                    accepted: 0,\r\n                    rejected: 0,\r\n                    not_answered: 0,\r\n                    cancelled: 0,\r\n                    completed: 0,\r\n                    acception_ratio: 0,\r\n                    rejection_ratio: 0,\r\n                    cancellation_ratio: 0,\r\n                    completed_ratio: 0,\r\n                    total_online_time: 0,\r\n                    total_active_job_time: 0\r\n                }\r\n                this.date = {\r\n                    date1: null,\r\n                    date2: null,\r\n                    date3: null,\r\n                    date4: null,\r\n                    date5: null,\r\n                    date6: null,\r\n                    date7: null\r\n                }\r\n            }\r\n            else {\r\n                this.show = true;\r\n                if (res_data.order_total != undefined) {\r\n                    this.order_total1 = res_data.order_total;\r\n                }\r\n                else {\r\n                    this.order_day_total = {\r\n                        date1: 0,\r\n                        date2: 0,\r\n                        date3: 0,\r\n                        date4: 0,\r\n                        date5: 0,\r\n                        date6: 0,\r\n                        date7: 0\r\n                    }\r\n                }\r\n\r\n                if (res_data.order_day_total != undefined) {\r\n                    this.order_day_total = res_data.order_day_total;\r\n                }\r\n                else {\r\n                    this.order_total1 = {\r\n                        total_service_price: 0,\r\n                        total_admin_tax_price: 0,\r\n                        total_delivery_price: 0,\r\n                        total_admin_profit_on_delivery: 0,\r\n                        total_provider_profit: 0,\r\n                        wallet: 0,\r\n                        total_earning: 0,\r\n                        provider_paid_order_payment: 0,\r\n                        provider_have_cash_payment: 0,\r\n                        pay_to_provider: 0,\r\n                        total_paid: 0,\r\n                        total_remaining_to_paid: 0,\r\n                        total_wallet_income_set: 0,\r\n                        total_wallet_income_set_in_cash_order: 0,\r\n                        total_wallet_income_set_in_other_order: 0,\r\n                        total_provider_have_cash_payment_on_hand: 0\r\n                    }\r\n                }\r\n\r\n                this.provider_analytic_weekly = res_data.provider_analytic_weekly;\r\n                this.date = res_data.date;\r\n                this.currency = res_data.currency;\r\n                this.order_detail_modal.open();\r\n            }\r\n        });\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/provider_weekly_earning/provider_weekly_earning.component.ts","import {Component, ViewContainerRef, Injectable, ElementRef, OnInit, ViewChild} from '@angular/core';\r\nimport {Headers, Http, Response} from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport {Helper} from \"../../helper\";\r\ndeclare var jQuery: any;\r\nimport 'rxjs/add/operator/toPromise';\r\n\r\n\r\n//import * as jsPDF from 'jspdf'\r\ndeclare let jsPDF;\r\n\r\n//import {Observable} from 'rxjs';\r\n\r\n\r\n\r\nexport interface ProviderAnalyticWeekly {\r\n\r\n    received: number,\r\n    accepted: number,\r\n    rejected: number,\r\n    not_answered: number,\r\n    cancelled: number,\r\n    completed: number,\r\n    acception_ratio: number,\r\n    rejection_ratio: number,\r\n    cancellation_ratio: number,\r\n    completed_ratio: number,\r\n    total_online_time: number,\r\n    total_active_job_time: number\r\n\r\n\r\n}\r\n\r\nexport interface OrderTotal {\r\n\r\n\r\n    total_service_price: number,\r\n    total_admin_tax_price: number,\r\n    //total_surge_price: number,\r\n    total_delivery_price: number,\r\n    total_admin_profit_on_delivery: number,\r\n    total_provider_profit: number,\r\n    wallet: number,\r\n    total_earning: number,\r\n    provider_paid_order_payment: number,\r\n    provider_have_cash_payment: number,\r\n    pay_to_provider: number,\r\n\r\n    total_paid: number,\r\n    total_remaining_to_paid: number,\r\n    total_wallet_income_set: number,\r\n\r\n    total_wallet_income_set_in_cash_order: number,\r\n    total_wallet_income_set_in_other_order: number,\r\n    total_provider_have_cash_payment_on_hand: number\r\n\r\n\r\n\r\n}\r\n\r\nexport interface OrderDayTotal {\r\n    date1: number,\r\n    date2: number,\r\n    date3: number,\r\n    date4: number,\r\n    date5: number,\r\n    date6: number,\r\n    date7: number\r\n}\r\n\r\nexport interface DateList {\r\n    date1: Object,\r\n    date2: Object,\r\n    date3: Object,\r\n    date4: Object,\r\n    date5: Object,\r\n    date6: Object,\r\n    date7: Object\r\n}\r\n\r\n@Component({\r\n    selector: 'app-provider_weekly_earning_statement',\r\n    template: require('./provider_weekly_earning_statement.component.html'),\r\n    providers: [Helper,\r\n        {provide: 'Window', useValue: window}\r\n    ]\r\n})\r\n@Injectable()\r\nexport class ProviderWeeklyEarningStatementComponent implements OnInit {\r\n\r\n    private order_total: OrderTotal;\r\n    private provider_analytic_weekly: ProviderAnalyticWeekly;\r\n    private order_day_total: OrderDayTotal;\r\n    date: DateList;\r\n    provider_weekly_earning_id: Object;\r\n    currency: String;\r\n    title: any;\r\n    button: any;\r\n    ORDER_STATE: any;\r\n    heading_title: any;\r\n\r\n\r\n    constructor(private helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n\r\n        jQuery(\".chosen-select\").chosen();\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.provider_weekly_earning_id = this.helper.router_id.admin.provider_weekly_earning_id;\r\n        this.order_total = {\r\n            total_service_price: 0,\r\n            total_admin_tax_price: 0,\r\n            //total_surge_price: 0,\r\n            total_delivery_price: 0,\r\n            total_admin_profit_on_delivery: 0,\r\n            total_provider_profit: 0,\r\n            wallet: 0,\r\n            total_earning: 0,\r\n            provider_paid_order_payment: 0,\r\n            provider_have_cash_payment: 0,\r\n            pay_to_provider: 0,\r\n\r\n            total_paid: 0,\r\n            total_remaining_to_paid: 0,\r\n            total_wallet_income_set: 0,\r\n\r\n            total_wallet_income_set_in_cash_order: 0,\r\n            total_wallet_income_set_in_other_order: 0,\r\n            total_provider_have_cash_payment_on_hand: 0\r\n        }\r\n        this.provider_analytic_weekly = {\r\n            received: 0,\r\n            accepted: 0,\r\n            rejected: 0,\r\n            not_answered: 0,\r\n            cancelled: 0,\r\n            completed: 0,\r\n            acception_ratio: 0,\r\n            rejection_ratio: 0,\r\n            cancellation_ratio: 0,\r\n            completed_ratio: 0,\r\n            total_online_time: 0,\r\n            total_active_job_time: 0\r\n        }\r\n\r\n        this.order_day_total = {\r\n            date1: 0,\r\n            date2: 0,\r\n            date3: 0,\r\n            date4: 0,\r\n            date5: 0,\r\n            date6: 0,\r\n            date7: 0\r\n        }\r\n\r\n        this.date = {\r\n            date1: null,\r\n            date2: null,\r\n            date3: null,\r\n            date4: null,\r\n            date5: null,\r\n            date6: null,\r\n            date7: null\r\n        }\r\n\r\n        this.currency = \"\";\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n\r\n        this.provider_weekly_earning_statement()\r\n    }\r\n\r\n\r\n\r\n    provider_weekly_earning_statement() {\r\n        this.helper.http.post('/admin/weekly_statement_for_provider', {\r\n            provider_weekly_earning_id: this.provider_weekly_earning_id\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            if (res_data.success == false) {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n\r\n                this.order_day_total = {\r\n                    date1: 0,\r\n                    date2: 0,\r\n                    date3: 0,\r\n                    date4: 0,\r\n                    date5: 0,\r\n                    date6: 0,\r\n                    date7: 0\r\n                }\r\n                this.order_total = {\r\n\r\n                    total_service_price: 0,\r\n                    total_admin_tax_price: 0,\r\n                    //total_surge_price: 0,\r\n                    total_delivery_price: 0,\r\n                    total_admin_profit_on_delivery: 0,\r\n                    total_provider_profit: 0,\r\n                    wallet: 0,\r\n                    total_earning: 0,\r\n                    provider_paid_order_payment: 0,\r\n                    provider_have_cash_payment: 0,\r\n                    pay_to_provider: 0,\r\n\r\n                    total_paid: 0,\r\n                    total_remaining_to_paid: 0,\r\n                    total_wallet_income_set: 0,\r\n\r\n                    total_wallet_income_set_in_cash_order: 0,\r\n                    total_wallet_income_set_in_other_order: 0,\r\n                    total_provider_have_cash_payment_on_hand: 0\r\n                }\r\n\r\n                this.provider_analytic_weekly = {\r\n                    received: 0,\r\n                    accepted: 0,\r\n                    rejected: 0,\r\n                    not_answered: 0,\r\n                    cancelled: 0,\r\n                    completed: 0,\r\n                    acception_ratio: 0,\r\n                    rejection_ratio: 0,\r\n                    cancellation_ratio: 0,\r\n                    completed_ratio: 0,\r\n                    total_online_time: 0,\r\n                    total_active_job_time: 0\r\n                }\r\n                this.date = {\r\n                    date1: null,\r\n                    date2: null,\r\n                    date3: null,\r\n                    date4: null,\r\n                    date5: null,\r\n                    date6: null,\r\n                    date7: null\r\n                }\r\n            }\r\n            else {\r\n\r\n\r\n                if (res_data.order_total != undefined) {\r\n                    this.order_total = res_data.order_total;\r\n                }\r\n                else {\r\n                    this.order_day_total = {\r\n                        date1: 0,\r\n                        date2: 0,\r\n                        date3: 0,\r\n                        date4: 0,\r\n                        date5: 0,\r\n                        date6: 0,\r\n                        date7: 0\r\n                    }\r\n\r\n                }\r\n\r\n                if (res_data.order_day_total != undefined) {\r\n                    this.order_day_total = res_data.order_day_total;\r\n                }\r\n                else {\r\n                    this.order_total = {\r\n\r\n                        total_service_price: 0,\r\n                        total_admin_tax_price: 0,\r\n                        //total_surge_price: 0,\r\n                        total_delivery_price: 0,\r\n                        total_admin_profit_on_delivery: 0,\r\n                        total_provider_profit: 0,\r\n                        wallet: 0,\r\n                        total_earning: 0,\r\n                        provider_paid_order_payment: 0,\r\n                        provider_have_cash_payment: 0,\r\n                        pay_to_provider: 0,\r\n                        total_paid: 0,\r\n                        total_remaining_to_paid: 0,\r\n                        total_wallet_income_set: 0,\r\n\r\n                        total_wallet_income_set_in_cash_order: 0,\r\n                        total_wallet_income_set_in_other_order: 0,\r\n                        total_provider_have_cash_payment_on_hand: 0\r\n                    }\r\n                }\r\n\r\n                this.provider_analytic_weekly = res_data.provider_analytic_weekly;\r\n                this.date = res_data.date;\r\n                this.currency = res_data.currency;\r\n                //this.download();\r\n\r\n            }\r\n        });\r\n    }\r\n\r\n    public download() {\r\n        var doc = new jsPDF();\r\n        doc.setFontType(\"bold\");\r\n        doc.text(20, 20, \"TOTAL: \" + this.order_total.total_earning.toString() + \" \" + this.currency);\r\n        \r\n        doc.setFontType(\"normal\");\r\n        doc.text(20, 30, \"Total Online Time: \" + this.provider_analytic_weekly.total_online_time.toString());\r\n        doc.text(20, 40, \"Completed Ratio: \" + this.provider_analytic_weekly.completed_ratio.toString());\r\n        doc.text(20, 50, \"Completed Deliveries: \" + this.provider_analytic_weekly.completed)\r\n        doc.text(20, 60, \"Accepeted Ratio: \" + this.provider_analytic_weekly.acception_ratio.toString());\r\n        doc.text(20, 70, \"Total Deliveries: \" + this.provider_analytic_weekly.received);\r\n        \r\n        doc.setFontType(\"bold\");\r\n        doc.text(20, 90, \"ORDER EARNING\");\r\n        doc.setFontType(\"normal\");\r\n        doc.text(20, 100, \"Service Price: \" + (this.order_total.total_service_price.toFixed(2)).toString());\r\n        doc.text(20, 110, \"Tax Price: \" + (this.order_total.total_admin_tax_price.toFixed(2)).toString());\r\n        //doc.text(20, 120, \"Surge Price: \" + (this.order_total.total_surge_price.toFixed(2)).toString())\r\n        doc.text(20, 130, \"Delivery Price: \" + (this.order_total.total_delivery_price.toFixed(2)).toString());\r\n        doc.text(20, 140, \"Deliveryman Profit: \" + (this.order_total.total_provider_profit.toFixed(2)).toString());\r\n        doc.text(20, 150, \"Wallet: \" + (this.order_total.wallet.toFixed(2)).toString());\r\n        \r\n        doc.setFontType(\"bold\");\r\n        doc.text(20, 170, \"PROVIDER TRANSACTION\");\r\n        doc.setFontType(\"normal\");\r\n        doc.text(20, 180, \"Provider Earning: \" + (this.order_total.total_provider_profit.toFixed(2)).toString());\r\n        doc.text(20, 190, \"Paid: \" + (this.order_total.provider_paid_order_payment.toFixed(2)).toString());\r\n        doc.text(20, 200, \"Remaining To Pay: \" + (this.order_total.pay_to_provider.toFixed(2)).toString());\r\n        doc.text(20, 210, \"Total Earnings: \" + (this.order_total.total_earning.toFixed(2)).toString());\r\n        doc.text(20, 220, \"Paid Order Amount: \" + (this.order_total.provider_paid_order_payment.toFixed(2)).toString());\r\n        doc.text(20, 230, \"Cash Amount: \" + (this.order_total.provider_have_cash_payment.toFixed(2)).toString());\r\n        doc.text(20, 240, \"Cash On Hand: \" + (this.order_total.total_provider_have_cash_payment_on_hand.toFixed(2)).toString());\r\n        doc.text(20, 250, \"Deduct From Wallet: \" + (this.order_total.total_wallet_income_set_in_cash_order.toFixed(2)).toString());\r\n        doc.text(20, 260, \"Added In wallet: \" + (this.order_total.total_wallet_income_set_in_other_order.toFixed(2)).toString());\r\n        \r\n\r\n        \r\n        \r\n        //doc.addPage();\r\n        //doc.text(20, 20, '1Do you like that ?');\r\n        //        doc.addPage();\r\n        //        doc.text(20, 20, '2Do you like that?');\r\n        //        doc.addPage();\r\n        //        doc.text(20, 20, '3Do you like that?');\r\n        // Save the PDF\r\n        doc.save('provider_weekly_earning_statement.pdf');\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/provider_weekly_earning_statement/provider_weekly_earning_statement.component.ts","import { Component, OnInit ,ViewContainerRef, ViewChild } from '@angular/core';\r\nimport {Response } from '@angular/http';\r\nimport {Helper} from \"../../store_helper\";\r\ndeclare var jQuery:any;\r\nimport { ModalComponent } from 'ng2-bs3-modal/ng2-bs3-modal';\r\ndeclare var stripe;\r\n\r\nexport interface CartProductItems{\r\n    item_id: Object,\r\n    unique_id: Number,\r\n    item_name: string,\r\n    quantity: Number,\r\n    image_url: any,\r\n    details: string,\r\n    specifications: any[],\r\n    formule_list: any[],\r\n    item_price: Number,\r\n    total_specification_price: Number,\r\n    total_item_and_specification_price: Number,\r\n    note_for_item: string\r\n    //note_for_item: string\r\n}\r\n\r\nexport interface Bonus {\r\n    bonus_amount: number,\r\n    bonus_type: number,\r\n    bonus_payment_type: number,\r\n    bonus_reason: string,\r\n    user_type: number,\r\n    is_bonus_monthly: boolean\r\n}\r\n\r\nexport interface cartProducts{\r\n    items: any[],\r\n    product_id: Object,\r\n    product_name: string,\r\n    unique_id: number,\r\n    total_item_price: number\r\n}\r\n\r\n@Component({\r\n    selector: 'app-refund_order',\r\n    template: require('./refund_order.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class AdminRefundOrderComponent implements OnInit {\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef){\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n    @ViewChild('itemModal')\r\n    item_modal: ModalComponent;\r\n\r\n    @ViewChild('edititemModal')\r\n    edit_item_modal: ModalComponent;\r\n\r\n    bonus_info: Bonus = {\r\n        bonus_amount: null,\r\n        bonus_type: 2,\r\n        user_type: this.helper.ADMIN_DATA_ID.STORE,\r\n        bonus_payment_type: 1,\r\n        bonus_reason: '',\r\n        is_bonus_monthly: false\r\n    }\r\n\r\n    store_id:string;\r\n    server_token:string;\r\n    myLoading:boolean = true;\r\n    order: any = {cart_detail:{}};\r\n    last_item: boolean = false;\r\n    title:any;\r\n    button:any;\r\n    heading_title:any;\r\n    refund_amount:number=0;\r\n    is_notification:boolean=true;\r\n    is_refund:boolean=false;\r\n\r\n    filtered_product_list:any[] = [];\r\n    product_list: any[] = [];\r\n    qty: number = 1;\r\n    note_for_item: string = '';\r\n    //note_for_item: string = '';\r\n    current_item: any = {image_url: []};\r\n    current_formule:any = {};\r\n    required_count: number = 0;\r\n    private total: number = 0;\r\n    private old_total: number = 0;\r\n    required_temp_count: number = 0;\r\n    product_name: string = '';\r\n    product_unique_id: number = 0;\r\n    currency:any;\r\n    selected_product:string;\r\n    private cartProductItems : CartProductItems;\r\n    private cartProducts : cartProducts;\r\n\r\n    add_boolean: boolean = false;\r\n    start_screex: number = 0;\r\n    end_screex: number = 0;\r\n\r\n    selected_product_index: number = 0;\r\n    selected_item_index: number = 0;\r\n    @ViewChild('refund_modal')\r\n    refund_modal: ModalComponent;\r\n\r\n    ngOnInit() {\r\n        // let token = this.helper.tokenService.getToken();\r\n\r\n        // if (!token || !token.token) {\r\n\r\n        //     this.helper.router.navigate(['store/logout']);\r\n        // }\r\n        this.helper.message();\r\n\r\n        // var store = JSON.parse(localStorage.getItem('store'));\r\n        // if (store !== null) {\r\n            this.store_id = this.helper.router_id.store.store_id;\r\n        //     this.server_token = store.server_token\r\n        // }\r\n        if(this.helper.router_id.store.order_id == '' || this.helper.router_id.store.store_id == ''){\r\n            if(this.helper.router.url === '/dispatcher/edit/order'){\r\n                this.helper.router.navigate(['dispatcher/dispatch']);\r\n                \r\n            } else {\r\n                this.helper.router.navigate(['admin/dispatch']);\r\n            }\r\n        } else {\r\n            this.get_order_data();\r\n        }\r\n\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.heading_title=this.helper.heading_title;\r\n\r\n        \r\n\r\n\r\n\r\n    }\r\n\r\n    open_item_modal(item, item_index , product_index, event){\r\n\r\n        if(event.target.attributes.class != undefined) {\r\n            if(event.target.attributes.class.value !== \"carousel-indicators_li\" && event.target.attributes.class.value !== \"carousel-indicators_li active\"){\r\n                this.qty = 1;\r\n                this.required_count = 0;\r\n                this.current_item = JSON.parse(JSON.stringify(item));\r\n                this.product_unique_id = this.filtered_product_list[product_index].unique_id;\r\n                this.product_name = this.filtered_product_list[product_index].name;\r\n                this.calculate_is_required();\r\n                this.calculateTotalAmount();\r\n                this.item_modal.open();\r\n            }\r\n        } else {\r\n            this.qty = 1;\r\n            this.required_count = 0;\r\n            this.current_item = JSON.parse(JSON.stringify(item));\r\n            this.product_unique_id = this.filtered_product_list[product_index].unique_id;\r\n            this.product_name = this.filtered_product_list[product_index].name;\r\n            this.calculate_is_required();\r\n            this.calculateTotalAmount();\r\n            this.item_modal.open();\r\n        }\r\n    }\r\n\r\n    open_edit_item_modal(item, product, selected_item_index, selected_product_index){\r\n        if(!item.is_removed){\r\n            this.current_formule = {formule_id: ''}\r\n            if(item.formule_list && item.formule_list.length>0){\r\n                this.current_formule = JSON.parse(JSON.stringify(item.formule_list[0]));\r\n            }\r\n\r\n            this.selected_item_index = selected_item_index;\r\n            this.selected_product_index = selected_product_index;\r\n\r\n            let product_index = this.product_list.findIndex((x) => x._id == product.product_id)\r\n            let item_index = this.product_list[product_index].items.findIndex((x) => x._id == item.item_id)\r\n\r\n            let current_specification = this.product_list[product_index].items[item_index].specifications;\r\n            let order_specification = item.specifications;\r\n            let new_specification = [];\r\n            current_specification.forEach((x) => {\r\n                var index = order_specification.findIndex((order_sp) => order_sp.unique_id == x.unique_id)\r\n                if(x.formule_id){\r\n                    index = order_specification.findIndex((order_sp:any) => (order_sp.unique_id == x.unique_id && order_sp.formule_id==x.formule_id))\r\n                }\r\n    \r\n                if(index == -1){\r\n                    // new_specification.push(x);\r\n                } else {\r\n                    var new_specification_list = [];\r\n                    x.list.forEach((y)=>{\r\n                        var list_index = order_specification[index].list.findIndex((order_sp_list) => order_sp_list.unique_id == y.unique_id)\r\n                        if(list_index == -1){\r\n                            // y.is_default_selected = false;\r\n                            // new_specification_list.push(y);\r\n                        } else {\r\n                            order_specification[index].list[list_index].price = y.price;\r\n                            new_specification_list.push(order_specification[index].list[list_index]);\r\n                        }\r\n                    });\r\n                    let json = {\r\n                        list: new_specification_list,\r\n                        \"unique_id\" : x.unique_id,\r\n                        \"name\" : x.name,\r\n                        \"is_required\": x.is_required,\r\n                        \"min_selection\": x.min_selection,\r\n                        formule_id: x.formule_id,\r\n                        \"max_selection\": x.max_selection,\r\n                        \"price\" : x.price,\r\n                        \"type\" : x.type\r\n                    }\r\n                    new_specification.push(json);\r\n                }\r\n            });\r\n\r\n            this.qty = item.quantity;\r\n            this.required_count = 0;\r\n            this.current_item = JSON.parse(JSON.stringify(item));\r\n            this.current_item.price = this.product_list[product_index].items[item_index].price;\r\n            this.current_item.specifications = JSON.parse(JSON.stringify(new_specification));\r\n            this.current_item.name = this.product_list[product_index].items[item_index].name;\r\n            new_specification.sort(this.sortFormule);\r\n            // this.current_item.formule_list = this.product_list[product_index].items[item_index].formule_list;\r\n\r\n            this.current_item.is_open = true\r\n            // this.calculate_is_required();\r\n            this.calculateTotalAmount(true);\r\n            this.edit_item_modal.open();\r\n        }\r\n    }\r\n\r\n    sortFormule(a:any,b:any){\r\n        if (a.formule_id)\r\n            return -1;\r\n        return 0;\r\n    }\r\n\r\n\r\n    close_item_modal(){\r\n        this.current_item = {image_url :[]};\r\n        this.item_modal.close();\r\n        this.edit_item_modal.close();\r\n    }\r\n    calculate_is_required(){\r\n        this.current_item.specifications.forEach((specification_group) => {\r\n            if(specification_group.is_required){\r\n                if(!specification_group.formule_id || specification_group.formule_id==this.current_formule.formule_id){\r\n                    this.required_count++;\r\n                }\r\n            }\r\n        })\r\n    }\r\n\r\n    dragstart_image(event){\r\n        this.start_screex = event.screenX\r\n    }\r\n    dragend_image(event, length){\r\n        this.end_screex = event.screenX;\r\n        var a = jQuery('.a.active').attr('data-slide-to');\r\n        a = Number(a);\r\n        if(this.start_screex < this.end_screex && a > 0){\r\n            a = a-1;\r\n            jQuery('.a#aa'+a).click()\r\n        } else if(this.start_screex > this.end_screex && a < length){\r\n            a = a+1;\r\n            jQuery('.a#aa'+a).click()\r\n        }\r\n    }\r\n\r\n    remove_formule(formule){\r\n        if(this.current_formule.formule_id==formule.formule_id){\r\n            this.current_formule = {};\r\n        } else {\r\n            this.current_formule = formule\r\n        }\r\n        this.calculate_is_required();\r\n        this.calculateTotalAmount();\r\n    }\r\n\r\n    calculateTotalAmount(bool:boolean=false){\r\n        this.total = this.current_item.price;\r\n        if(this.current_formule.formule_id && this.current_formule.price){\r\n            this.total = Number(this.current_formule.price)\r\n        }\r\n        this.required_temp_count = 0;\r\n        this.current_item.specifications.forEach((specification_group , specification_group_index) => {\r\n            if(!specification_group.formule_id || specification_group.formule_id==this.current_formule.formule_id){\r\n                let isAllowed = false;\r\n                var default_selected_count = 0;\r\n                specification_group.selected_specification = 0;\r\n                specification_group.list.forEach((specification , specification_index) => {\r\n\r\n                    if(specification.is_default_selected){\r\n                        this.total = this.total + specification.price;\r\n                        default_selected_count++;\r\n                        specification_group.selected_specification++;\r\n                    }\r\n                    specification_group.default_selected_count = default_selected_count;\r\n                });\r\n                if(specification_group.type ==1 && specification_group.is_required) {\r\n                        if (default_selected_count >= 1) {\r\n                            this.required_temp_count++;\r\n                        }\r\n                } else if(specification_group.type == 2 && specification_group.is_required) {\r\n                        if (default_selected_count >= specification_group.min_selection) {\r\n                            this.required_temp_count++;\r\n                        }\r\n                }\r\n            }\r\n        });\r\n\r\n        this.total = this.total * this.qty;\r\n        if(bool){\r\n            if(this.current_item.old_total){\r\n                this.old_total = this.current_item.old_total;\r\n            } else {\r\n                this.old_total = this.total;\r\n            }\r\n            \r\n        }\r\n    }\r\n    changeradio(event, specification_group_index, specification_index){\r\n\r\n        var index = this.current_item.specifications[specification_group_index].list.findIndex(x => x.is_default_selected == true)\r\n        if(index !== -1){\r\n            this.current_item.specifications[specification_group_index].list[index].is_default_selected = false;\r\n        }\r\n        this.current_item.specifications[specification_group_index].list[specification_index].is_default_selected = true;\r\n        this.calculateTotalAmount();\r\n    }\r\n\r\n    changecheckbox(event, specification_group_index, specification_index){\r\n\r\n        this.current_item.specifications[specification_group_index].list[specification_index].is_default_selected = event.target.checked;\r\n        this.calculateTotalAmount();\r\n\r\n    }\r\n\r\n    newitem_incerase_qty(){\r\n        this.qty++;\r\n        this.calculateTotalAmount();\r\n    }\r\n\r\n    newitem_decrease_qty(){\r\n        if(this.qty>1){\r\n            this.qty--;\r\n            this.calculateTotalAmount();\r\n        }\r\n    }\r\n\r\n    updateCart(){\r\n        let specificationPriceTotal = 0;\r\n        let specificationPrice = 0;\r\n        let specificationList = [];\r\n        this.current_item.specifications.forEach((specification_group , specification_group_index) => {\r\n            if(!specification_group.formule_id || specification_group.formule_id==this.current_formule.formule_id){\r\n                let specificationItemCartList = [];\r\n                specification_group.list.forEach((specification , specification_index) => {\r\n\r\n                    if(specification.is_default_selected){\r\n\r\n                        specificationPrice = specificationPrice + specification.price;\r\n                        specificationPriceTotal = specificationPriceTotal + specification.price;\r\n                        specificationItemCartList.push(specification)\r\n                    }\r\n                });\r\n\r\n                if(specificationItemCartList.length > 0){\r\n                    let specificationsItem_json ={\r\n                        list: specificationItemCartList,\r\n                        unique_id: specification_group.unique_id,\r\n                        name: specification_group.name,\r\n                        price: specificationPrice,\r\n                        formule_id: specification_group.formule_id,\r\n                        type: specification_group.type,\r\n                        is_required: specification_group.is_required,\r\n                        min_selection: specification_group.min_selection,\r\n                        max_selection: specification_group.max_selection\r\n                    }\r\n                    specificationList.push(specificationsItem_json);\r\n                }\r\n                specificationPrice = 0;\r\n            }\r\n        });\r\n\r\n        this.order.cart_detail.order_details[this.selected_product_index].items[this.selected_item_index].item_price = this.current_item.price;\r\n        this.order.cart_detail.order_details[this.selected_product_index].items[this.selected_item_index].total_specification_price = specificationPriceTotal;\r\n        this.order.cart_detail.order_details[this.selected_product_index].items[this.selected_item_index].total_item_and_specification_price = this.total;\r\n        this.order.cart_detail.order_details[this.selected_product_index].items[this.selected_item_index].old_total = this.old_total;\r\n        this.order.cart_detail.order_details[this.selected_product_index].items[this.selected_item_index].note_for_item = this.note_for_item;\r\n        \r\n        if(this.current_formule.formule_id){\r\n            this.order.cart_detail.order_details[this.selected_product_index].items[this.selected_item_index].formule_list = [this.current_formule];\r\n            this.order.cart_detail.order_details[this.selected_product_index].items[this.selected_item_index].item_price = Number(this.current_formule.price);\r\n            this.order.cart_detail.order_details[this.selected_product_index].items[this.selected_item_index].item_name = this.current_formule.name;\r\n        } else {\r\n            this.order.cart_detail.order_details[this.selected_product_index].items[this.selected_item_index].formule_list = [];\r\n        }\r\n\r\n        //this.order.cart_detail.order_details[this.selected_product_index].items[this.selected_item_index].note_for_item = this.note_for_item;\r\n       \r\n        \r\n        this.order.cart_detail.order_details[this.selected_product_index].items[this.selected_item_index].specifications = specificationList;\r\n        \r\n        var total_item_price = 0;\r\n        this.order.cart_detail.order_details[this.selected_product_index].items.forEach((item) =>{\r\n            total_item_price = total_item_price + item.total_item_and_specification_price;\r\n        });\r\n        this.order.cart_detail.order_details[this.selected_product_index].total_item_price = total_item_price;\r\n\r\n        this.edit_item_modal.close();\r\n        // this.update_order_data();\r\n\r\n    }\r\n\r\n    addToCart(){\r\n\r\n        let specificationPriceTotal = 0;\r\n        let specificationPrice = 0;\r\n        let specificationList = [];\r\n\r\n        this.current_item.specifications.forEach((specification_group , specification_group_index) => {\r\n\r\n            let specificationItemCartList = [];\r\n            specification_group.list.forEach((specification , specification_index) => {\r\n\r\n                if(specification.is_default_selected){\r\n\r\n                    specificationPrice = specificationPrice + specification.price;\r\n                    specificationPriceTotal = specificationPriceTotal + specification.price;\r\n                    specificationItemCartList.push(specification)\r\n                }\r\n            });\r\n\r\n            if(specificationItemCartList.length > 0){\r\n                let specificationsItem_json ={\r\n                    list: specificationItemCartList,\r\n                    unique_id: specification_group.unique_id,\r\n                    name: specification_group.name,\r\n                    price: specificationPrice,\r\n                    type: specification_group.type,\r\n                    is_required: specification_group.is_required,\r\n                    min_selection: specification_group.min_selection,\r\n                    max_selection: specification_group.max_selection,\r\n                }\r\n                specificationList.push(specificationsItem_json);\r\n            }\r\n            specificationPrice = 0;\r\n\r\n        });\r\n\r\n        this.cartProductItems.item_id = this.current_item._id;\r\n        this.cartProductItems.unique_id = this.current_item.unique_id;\r\n        this.cartProductItems.item_name = this.current_item.name;\r\n        this.cartProductItems.quantity = this.qty;\r\n        this.cartProductItems.image_url = this.current_item.image_url;\r\n        this.cartProductItems.details = this.current_item.details;\r\n        this.cartProductItems.specifications = specificationList;\r\n        this.cartProductItems.item_price = this.current_item.price;\r\n        this.cartProductItems.total_specification_price = specificationPriceTotal;\r\n        this.cartProductItems.total_item_and_specification_price = this.total;\r\n        //this.cartProductItems.note_for_item = this.note_for_item;\r\n        this.cartProductItems.note_for_item = this.note_for_item;\r\n\r\n        this.helper.user_cart.total_cart_amount = this.helper.user_cart.total_cart_amount + this.total;\r\n\r\n        if(this.isProductExistInLocalCart(this.cartProductItems))\r\n        {\r\n\r\n        } else {\r\n            let cartProductItemsList = [];\r\n            cartProductItemsList.push(this.cartProductItems)\r\n            this.cartProducts.items = cartProductItemsList;\r\n            this.cartProducts.product_id = this.current_item.product_id;\r\n            this.cartProducts.product_name = this.product_name\r\n            this.cartProducts.unique_id = this.product_unique_id\r\n            this.cartProducts.total_item_price = this.total;\r\n\r\n            this.order.cart_detail.order_details.push(this.cartProducts);\r\n        }\r\n\r\n\r\n        this.current_item = {image_url:[]};\r\n        this.cartProductItems = {\r\n            item_id: null,\r\n            unique_id: 0,\r\n            item_name: '',\r\n            quantity: 0,\r\n            image_url: [],\r\n            details: '',\r\n            formule_list: [],\r\n            specifications: [],\r\n            item_price: 0,\r\n            total_specification_price: 0,\r\n            total_item_and_specification_price: 0,\r\n            note_for_item: ''\r\n            //note_for_item: ''\r\n        }\r\n        this.cartProducts = {\r\n            items: [],\r\n            product_id: null,\r\n            product_name: '',\r\n            unique_id: 0,\r\n            total_item_price: 0\r\n        }\r\n\r\n        this.item_modal.close();\r\n        this.last_item = false;\r\n        // this.update_order_data();\r\n        this.add_boolean = false;\r\n    }\r\n\r\n    isProductExistInLocalCart(cartProductItems){\r\n\r\n        let bool = false;\r\n        this.order.cart_detail.order_details.forEach((cart_item) =>{\r\n\r\n            if(cart_item.product_id == this.current_item.product_id && bool == false){\r\n                cart_item.items.push(cartProductItems);\r\n                cart_item.total_item_price = cart_item.total_item_price + this.total;\r\n                bool = true;\r\n            }\r\n        });\r\n        return bool;\r\n    }\r\n\r\n\r\n\r\n    get_order_data(){\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_ORDER_DETAIL, {\r\n            store_id: this.store_id,\r\n            type: 1, \r\n            server_token: null,\r\n            order_id: this.helper.router_id.store.order_id\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n                this.myLoading = false;\r\n                let you_want_to_add_price_in_menu = false;\r\n                let add_price_type;\r\n                let add_price_value;\r\n                if(res_data.success){\r\n                    this.order = res_data.order;\r\n                    this.check_last_item();\r\n                    you_want_to_add_price_in_menu = this.order.order_payment_detail.is_add_price_in_menu\r\n                    add_price_type = this.order.order_payment_detail.add_price_type\r\n                    add_price_value = this.order.order_payment_detail.add_price_value\r\n                } else {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    if(this.helper.router.url === '/dispatcher/edit/order'){\r\n                        this.helper.router.navigate(['dispatcher/dispatch']);\r\n                        \r\n                    } else {\r\n                        this.helper.router.navigate(['admin/dispatch']);\r\n                    }\r\n                }\r\n\r\n                this.cartProductItems = {\r\n                    item_id: null,\r\n                    unique_id: 0,\r\n                    item_name: '',\r\n                    quantity: 0,\r\n                    image_url: [],\r\n                    details: '',\r\n                    specifications: [],\r\n                    formule_list: [],\r\n                    item_price: 0,\r\n                    total_specification_price: 0,\r\n                    total_item_and_specification_price: 0,\r\n                    note_for_item: ''\r\n                    //note_for_item: ''\r\n                }\r\n                this.cartProducts = {\r\n                    items: [],\r\n                    product_id: null,\r\n                    product_name: '',\r\n                    unique_id: 0,\r\n                    total_item_price: 0\r\n                }\r\n        \r\n                this.helper.http.post(this.helper.POST_METHOD.GET_STORE_PRODUCT_ITEM_LIST,{type: 1, store_id:this.store_id, server_token:null}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n        \r\n                    this.myLoading=false;\r\n        \r\n                    if(res_data.success == false)\r\n                    {\r\n                        this.helper.data.storage = {\r\n                            \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                            \"class\": \"alert-danger\"\r\n                        }\r\n                        this.filtered_product_list=[];\r\n                        this.helper.message()\r\n                    }\r\n                    else\r\n                    {\r\n                        this.product_list = res_data.products;\r\n                        this.currency=res_data.currency;\r\n                        let product_list = res_data.products.filter((product)=>{\r\n                            let item_list = product.items.filter((item) =>{\r\n\r\n                                item.formule_list.forEach((formule_data)=>{\r\n                                    if(you_want_to_add_price_in_menu && add_price_value){\r\n                                      if(add_price_type==1){\r\n                                        formule_data.price = formule_data.price + ((formule_data.price * add_price_value)/100);\r\n                                      }\r\n                                    }\r\n                                })\r\n        \r\n                                var specification_price = 0;\r\n                                item.specifications.filter((specification_group) => {\r\n                                  specification_group.list.filter((specification) => {\r\n                                    specification.price = Number(specification.price);\r\n                                        if(you_want_to_add_price_in_menu && add_price_value){\r\n                                            if(add_price_type==1){\r\n                                                specification.price = specification.price + ((specification.price * add_price_value)/100);\r\n                                            }\r\n                                        }\r\n                                      if(specification.is_default_selected){\r\n                                          specification_price = specification_price + Number(specification.price);\r\n                                      }\r\n                                  })\r\n                                  if(specification_group.min_selection==undefined || specification_group.max_selection==undefined){\r\n                                    if(specification_group.type==1){\r\n                                      specification_group.min_selection = 1;\r\n                                      specification_group.max_selection = 1;\r\n                                      specification_group.is_required = true;\r\n                                    } else {\r\n                                      specification_group.max_selection = specification_group.list.length;\r\n                                      if(specification_group.is_required){\r\n                                        specification_group.min_selection = 1;\r\n                                      } else {\r\n                                        specification_group.min_selection = 0;\r\n                                      }\r\n                                    }\r\n                                  }\r\n                                })\r\n                                if(you_want_to_add_price_in_menu && add_price_value){\r\n                                    if(add_price_type==1){\r\n                                        item.price = item.price + ((item.price * add_price_value)/100);\r\n                                    } else if(add_price_type==2){\r\n                                        item.price = item.price + add_price_value;\r\n                                    }\r\n                                }\r\n        \r\n                                return (item.is_item_in_stock==true && item.is_visible_in_store == true)\r\n                            });\r\n                            product.items = item_list;\r\n                            return product.is_visible_in_store == true;\r\n                        });\r\n                        this.filtered_product_list=product_list;\r\n                    }\r\n                },\r\n                (error: any) => {\r\n                    this.myLoading=false;\r\n                    this.helper.http_status(error)\r\n                });\r\n\r\n            },\r\n            (error: any) => {\r\n                this.myLoading=false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    increase_qty(product_index, item_index){\r\n        this.order.cart_detail.order_details[product_index].items[item_index].quantity++;\r\n        this.calculate_amount(product_index, item_index, true,true);\r\n    }\r\n\r\n    remove_from_cart(product_index, item_index){\r\n        this.order.cart_detail.order_details[product_index].items[item_index].is_removed=true;\r\n        // this.order.cart_detail.order_details[product_index].items.splice(item_index, 1);\r\n        if(this.order.cart_detail.order_details[product_index].items.length == 0){\r\n            this.order.cart_detail.order_details.splice(product_index, 1);\r\n            this.calculate_amount(product_index, item_index, false, false);\r\n        } else {\r\n            this.calculate_amount(product_index, item_index, true, false);\r\n        }\r\n        this.check_last_item();\r\n    }\r\n\r\n    check_last_item(){\r\n        if(this.order.cart_detail.order_details.length ==1 && this.order.cart_detail.order_details[0].items.length == 1){\r\n            this.last_item = true;\r\n        }\r\n    }\r\n\r\n    decrease_qty(product_index, item_index){\r\n        if(this.order.cart_detail.order_details[product_index].items[item_index].quantity > 1) {\r\n            var offer_price = 0;\r\n            if(this.order.cart_detail.order_details[product_index].items[item_index].offer_price){\r\n                offer_price = (this.order.cart_detail.order_details[product_index].items[item_index].offer_price/this.order.cart_detail.order_details[product_index].items[item_index].quantity);\r\n            }\r\n            this.order.cart_detail.order_details[product_index].items[item_index].offer_price = this.order.cart_detail.order_details[product_index].items[item_index].offer_price - offer_price;\r\n            this.order.cart_detail.order_details[product_index].items[item_index].quantity--;\r\n            this.calculate_amount(product_index, item_index, true, true);\r\n        }\r\n    }\r\n\r\n    calculate_amount(product_index, item_index, product_bool, item_bool){\r\n        // this.myLoading = true;\r\n        if(item_bool && !this.order.cart_detail.order_details[product_index].items[item_index].is_removed){\r\n            this.order.cart_detail.order_details[product_index].items[item_index].total_item_and_specification_price =\r\n                (this.order.cart_detail.order_details[product_index].items[item_index].item_price + this.order.cart_detail.order_details[product_index].items[item_index].total_specification_price) * this.order.cart_detail.order_details[product_index].items[item_index].quantity;\r\n        }\r\n\r\n        if(product_bool){\r\n            var total_item_price = 0;\r\n            this.order.cart_detail.order_details[product_index].items.forEach((item) =>{\r\n                if(!item.is_removed){\r\n                    total_item_price = total_item_price + item.total_item_and_specification_price;\r\n                }\r\n            });\r\n            this.order.cart_detail.order_details[product_index].total_item_price = total_item_price;\r\n        }\r\n\r\n        // this.update_order_data();\r\n\r\n\r\n    }\r\n\r\n    check_order_data(){\r\n        let totalItemsPriceWithQuantity = 0;\r\n        let totalSpecificationPriceWithQuantity = 0;\r\n        let totalItemsCount = 0;\r\n        let totalCartAmount = 0;\r\n        let totalSpecificationCount = 0;\r\n\r\n        var order_details = [];\r\n\r\n        this.order.cart_detail.order_details.forEach((order_product) => {\r\n            var items = [];\r\n            order_product.items.forEach((order_item, item_index) =>{\r\n                if(!order_item.is_removed){\r\n                    totalItemsPriceWithQuantity += (order_item.item_price * order_item.quantity);\r\n                    totalSpecificationPriceWithQuantity += (order_item.total_specification_price * order_item.quantity);\r\n                    totalItemsCount += order_item.quantity;\r\n                    order_item.specifications.forEach((specification) => {\r\n                        totalSpecificationCount +=  (specification.list.length);\r\n                    });\r\n                    items.push(order_item);\r\n                }\r\n            });\r\n\r\n            totalCartAmount += order_product.total_item_price;\r\n\r\n            var product_detail = JSON.parse(JSON.stringify(order_product));\r\n            product_detail.items = items;\r\n            order_details.push(product_detail);\r\n\r\n        });\r\n\r\n        let json = {\r\n            store_id: this.store_id,\r\n            server_token: null,\r\n            order_id: this.helper.router_id.store.order_id,\r\n            total_cart_price: totalCartAmount,\r\n            total_item_count: totalItemsCount,\r\n            order_details: order_details,\r\n            type: 1,\r\n            payment_intent_id: ''\r\n        }\r\n        this.myLoading = true;\r\n        this.helper.http.post(this.helper.POST_METHOD.CHECK_STORE_UPDATE_ORDER_PAYMENT, json).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            this.is_notification = true;\r\n            this.refund_amount = -(res_data.remaining_payment);\r\n            this.bonus_info = {\r\n                bonus_amount: null,\r\n                bonus_type: 2,\r\n                user_type: this.helper.ADMIN_DATA_ID.STORE,\r\n                bonus_payment_type: 1,\r\n                bonus_reason: '',\r\n                is_bonus_monthly: false\r\n            }\r\n            this.refund_modal.open();\r\n        });\r\n    }\r\n\r\n    update_order_data(){\r\n        let totalItemsPriceWithQuantity = 0;\r\n        let totalSpecificationPriceWithQuantity = 0;\r\n        let totalItemsCount = 0;\r\n        let totalCartAmount = 0;\r\n        let totalSpecificationCount = 0;\r\n\r\n        var order_details = [];\r\n\r\n        this.order.cart_detail.order_details.forEach((order_product) => {\r\n            var items = [];\r\n            order_product.items.forEach((order_item, item_index) =>{\r\n                delete order_item.old_total;\r\n                if(!order_item.is_removed){\r\n                    totalItemsPriceWithQuantity += (order_item.item_price * order_item.quantity);\r\n                    totalSpecificationPriceWithQuantity += (order_item.total_specification_price * order_item.quantity);\r\n                    totalItemsCount += order_item.quantity;\r\n                    order_item.specifications.forEach((specification) => {\r\n                        totalSpecificationCount +=  (specification.list.length);\r\n                    });\r\n                    items.push(order_item);\r\n                }\r\n            });\r\n\r\n            totalCartAmount += order_product.total_item_price;\r\n\r\n            var product_detail = JSON.parse(JSON.stringify(order_product));\r\n            product_detail.items = items;\r\n            order_details.push(product_detail);\r\n\r\n        });\r\n\r\n        let json = {\r\n            store_id: this.store_id,\r\n            server_token: null,\r\n            order_id: this.helper.router_id.store.order_id,\r\n            total_cart_price: totalCartAmount,\r\n            total_item_count: totalItemsCount,\r\n            order_details: order_details,\r\n            is_refund: this.is_refund,\r\n            type: 1,\r\n            payment_intent_id: ''\r\n        }\r\n        this.myLoading = true;\r\n        \r\n        if(this.order.is_payment_mode_cash){\r\n            this.helper.http.post(this.helper.POST_METHOD.STORE_UPDATE_ORDER, json).map((res: Response) => res.json()).subscribe(res_data => {\r\n                this.myLoading = false;\r\n               \r\n                if(res_data.success){\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n                } else {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n                }\r\n                this.helper.message();\r\n                this.update_bonus()\r\n                \r\n\r\n            },\r\n            (error: any) => {\r\n                this.myLoading=false;\r\n                this.helper.http_status(error)\r\n            });\r\n        } else {\r\n            this.helper.http.post(this.helper.POST_METHOD.CHECK_STORE_UPDATE_ORDER_PAYMENT, json).map((res: Response) => res.json()).subscribe(res_data => {\r\n                if(res_data.success){\r\n                    if(res_data.is_payment_paid){\r\n                        this.helper.http.post(this.helper.POST_METHOD.STORE_UPDATE_ORDER, json).map((res: Response) => res.json()).subscribe(res_data => {\r\n                            this.myLoading = false;\r\n                           \r\n                            if(res_data.success){\r\n                                this.helper.data.storage = {\r\n                                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                                    \"class\": \"alert-info\"\r\n                                }\r\n                            } else {\r\n                                this.helper.data.storage = {\r\n                                    \"code\": res_data.error_code,\r\n                                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                                    \"class\": \"alert-info\"\r\n                                }\r\n                            }\r\n                            this.helper.message();\r\n                            this.update_bonus()\r\n                            \r\n\r\n                        },\r\n                        (error: any) => {\r\n                            this.myLoading=false;\r\n                            this.helper.http_status(error)\r\n                        });\r\n                    } else {\r\n                        var json_data = {\r\n                            user_id: this.order.user_id,\r\n                            amount: res_data.remaining_payment\r\n                        }\r\n                        this.helper.http.post(this.helper.POST_METHOD.GET_STRIPE_PAYMENT_INTENT, json_data).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n                            if(res_data.success){\r\n                                if(res_data.is_payment_paid){\r\n\r\n                                    this.helper.http.post(this.helper.POST_METHOD.STORE_UPDATE_ORDER, json).map((res: Response) => res.json()).subscribe(res_data => {\r\n                                        this.myLoading = false;\r\n                                       \r\n                                        if(res_data.success){\r\n                                            this.helper.data.storage = {\r\n                                                \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                                                \"class\": \"alert-info\"\r\n                                            }\r\n                                        } else {\r\n                                            this.helper.data.storage = {\r\n                                                \"code\": res_data.error_code,\r\n                                                \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                                                \"class\": \"alert-info\"\r\n                                            }\r\n                                        }\r\n                                        this.helper.message();\r\n                                        this.update_bonus()\r\n                                        \r\n\r\n                                    },\r\n                                    (error: any) => {\r\n                                        this.myLoading=false;\r\n                                        this.helper.http_status(error)\r\n                                    });\r\n                                } else {\r\n                                    stripe.confirmCardPayment(\r\n                                        res_data.client_secret, {\r\n                                          payment_method: res_data.payment_method\r\n                                        }\r\n                                    ).then((result)=> {\r\n                                        if(result.paymentIntent){\r\n                                            json.payment_intent_id = result.paymentIntent.id;\r\n                                            this.helper.http.post(this.helper.POST_METHOD.STORE_UPDATE_ORDER, json).map((res: Response) => res.json()).subscribe(res_data => {\r\n                                                this.myLoading = false;\r\n                                               \r\n                                                if(res_data.success){\r\n                                                    this.helper.data.storage = {\r\n                                                        \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                                                        \"class\": \"alert-info\"\r\n                                                    }\r\n                                                } else {\r\n                                                    this.helper.data.storage = {\r\n                                                        \"code\": res_data.error_code,\r\n                                                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                                                        \"class\": \"alert-info\"\r\n                                                    }\r\n                                                }\r\n                                                this.helper.message();\r\n                                                this.update_bonus()\r\n                                                \r\n\r\n                                            },\r\n                                            (error: any) => {\r\n                                                this.myLoading=false;\r\n                                                this.helper.http_status(error)\r\n                                            });\r\n                                        } else {\r\n                                            this.myLoading = false;\r\n                                            this.helper.data.storage = {\r\n                                                \"message\": result.error.message,\r\n                                                \"class\": \"alert-danger\"\r\n                                            }\r\n                                            this.helper.message();\r\n                                        }\r\n                                    });\r\n                                }\r\n                            }\r\n\r\n                        });\r\n                    }\r\n                } else {\r\n                    this.myLoading = false;\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message();\r\n                }\r\n            });\r\n        }\r\n    }\r\n\r\n    update_bonus(){\r\n        this.bonus_info.bonus_reason = 'Refund Order no: '+this.order.unique_id;\r\n        this.bonus_info.bonus_amount = Number(this.bonus_info.bonus_amount);\r\n        var json = {\r\n            order_id: this.order._id, \r\n            store_id: this.order.store_id, \r\n            provider_id: this.order.provider_id,\r\n            is_notification: this.is_notification,\r\n            is_refund: this.is_refund,\r\n            product_refund_amount: Number(this.refund_amount)\r\n        }\r\n        this.helper.http.post('/admin/update_delay_reward', Object.assign(json, this.bonus_info)).map((res: Response) => res.json()).subscribe(res_data => {\r\n            if(this.helper.router.url === '/dispatcher/refund/order'){\r\n                this.helper.router.navigate(['dispatcher/history']);\r\n            } else {\r\n                this.helper.router.navigate(['admin/history']);\r\n            }\r\n        });\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/refund_order/refund_order.component.ts","import {Component, OnInit, ViewContainerRef} from '@angular/core';\r\nimport {Response} from '@angular/http';\r\nimport {Helper} from \"../../helper\";\r\ndeclare var jQuery: any;\r\n\r\n@Component({\r\n  selector: 'app-request_cancel_reason',\r\n  template: require('./request_cancel_reason.component.html'),\r\n  providers: [Helper]\r\n})\r\nexport class RequestCancelReasonComponent implements OnInit {\r\n\r\n  title: any;\r\n    button: any;\r\n    ORDER_STATE: any;\r\n    DATE_FORMAT: any;\r\n    heading_title: any;\r\n    status: any;\r\n    lable_title: any;\r\n    request_list: any[];\r\n    sort_field: string;\r\n    sort_request: number;\r\n    search_field: string;\r\n    search_value: string;\r\n    //start_date: string;\r\n    //end_date: string;\r\n    page: number;\r\n    total_page: number;\r\n    total_pages: number[];\r\n    myLoading: boolean = true;\r\n\r\n    constructor(private helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n        jQuery(\".chosen-select\").chosen({disable_search: true});\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n    }\r\n\r\n  ngOnInit() {\r\n        this.sort_field = \"unique_id\";\r\n        this.sort_request = -1;\r\n        this.search_field = \"user_detail.first_name\";\r\n        this.search_value = \"\";\r\n        //this.start_date = '';\r\n        //this.end_date = '';\r\n        this.page = 1\r\n\r\n\r\n        this.helper.message();\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.ORDER_STATE = this.helper.ORDER_STATE\r\n        this.DATE_FORMAT = this.helper.DATE_FORMAT\r\n        this.status = this.helper.status\r\n        this.lable_title = this.helper.lable_title\r\n        this.request_list = [];\r\n\r\n        this.admin_request_cancellation_reason(1)\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_field').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_field = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_request').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_request = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#search_field').on('change', (evnt, res_data) => {\r\n\r\n            this.search_field = res_data.selected;\r\n\r\n        });\r\n    }\r\n    \r\n    admin_request_cancellation_reason(page) {\r\n        this.myLoading=true;\r\n        this.page = page;\r\n        this.helper.http.post('/admin/request_cancellation_reason', {\r\n            sort_field: this.sort_field, sort_request: this.sort_request,\r\n            search_field: this.search_field, search_value: this.search_value, page: this.page\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n                this.request_list = [];\r\n                this.total_pages = [];\r\n            }\r\n            else {\r\n                this.request_list = res_data.requests;\r\n                this.total_page = res_data.pages;\r\n                this.total_pages = Array(res_data.pages).fill((x, i) => i).map((x, i) => i + 1)\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/request_cancel_reason/request_cancel_reason.component.ts","import {Component, OnInit} from '@angular/core';\r\nimport {Http, Response} from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\ndeclare var jQuery: any;\r\nimport {Helper} from \"../../helper\";\r\nimport * as moment from 'moment-timezone';\r\n\r\n@Component({\r\n    selector: 'app-request_order_detail',\r\n    template: require('./request_order_detail.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class RequestOrderDetailComponent implements OnInit {\r\n    request_id: Object;\r\n    request_id_view_invoice: Object;\r\n    order_detail: any[];\r\n    currency_sign: any;\r\n    public status: any;\r\n    title: any;\r\n    heading_title: any;\r\n    lable_title: any;\r\n    button: any;\r\n    ORDER_STATE: any;\r\n    ORDER_STATUS_ID: any;\r\n    DATE_FORMAT: any;\r\n    timezone: string;\r\n    moment: any;\r\n\r\n\r\n    order_price: number;\r\n    total_order_price: number;\r\n    total_store_income: number;\r\n    total_cart_price: number;\r\n\r\n\r\n    delivery_price: number;\r\n    total_delivery_price: number;\r\n    total_provider_income: number;\r\n\r\n    promo_payment: number;\r\n    wallet_payment: number;\r\n    card_payment: number;\r\n\r\n    total: number;\r\n\r\n\r\n    // total_order_price: number;\r\n    order_total: number;\r\n    //total_delivery_price: number;\r\n    //card_payment: number;\r\n    cash_payment: number;\r\n    product_item_total: number;\r\n    product_item_total_array: number[];\r\n    product_item_specification_total: number;\r\n    product_item_specification_total_array: number[];\r\n    product_specification_total_array: any[];\r\n    total_item: number;\r\n\r\n    user_first_name: String;\r\n    user_last_name: String;\r\n    user_email: String;\r\n    user_phone: String;\r\n    user_address: String;\r\n\r\n    is_paid_from_wallet: boolean;\r\n    is_payment_mode_cash: boolean;\r\n\r\n\r\n    delivery_user_name: String = '';\r\n    delivery_user_phone: String = '';\r\n    delivery_user_address: String = '';\r\n    note: String;\r\n    floor: String;\r\n    entry_code: String;\r\n\r\n    user_profile: string = '';\r\n    provider_profile: string = '';\r\n    store_profile: string = '';\r\n\r\n    provider_first_name: String;\r\n    provider_last_name: String;\r\n    provider_email: String;\r\n    provider_phone: String;\r\n    vehicle_name: String;\r\n\r\n    store_name: String;\r\n    store_email: String;\r\n    store_address: String;\r\n    store_phone: String;\r\n\r\n    invoice_number: String;\r\n\r\n    delivery_status: number;\r\n    delivery_status_manage_id: number;\r\n    created_at: any;\r\n    completed_at: any;\r\n    order_date_time: any[] = [];\r\n    request_date_time: any[] = [];\r\n\r\n\r\n    //    store_accepted_at: a    ny;\r\n    //    start_preparing_order_at: a    ny;\r\n    //    order_ready_at: a    ny;\r\n    //    store_order_created_at: a    ny;\r\n    //    accepted_at: a    ny;\r\n    //    cancelled_at: a    ny;\r\n    //    start_for_pickup_at: a    ny;\r\n    //    arrived_on_store_at: a    ny;\r\n    //    picked_order_at: a    ny;\r\n    //    start_for_delivery_at: a    ny;\r\n    //    delivered_at: any;\r\n\r\n\r\n    is_user_pick_up_order: Boolean = false;\r\n    specifications: any[] = [];\r\n    item_note: string = '';\r\n    hide_specification_group: any[] = [];\r\n\r\n\r\n    constructor(public helper: Helper) {\r\n    }\r\n\r\n    ngOnInit() {\r\n\r\n        this.request_id = this.helper.router_id.admin.request_id;\r\n\r\n        this.title = this.helper.title;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.status = this.helper.status;\r\n        this.button = this.helper.button;\r\n\r\n        this.lable_title = this.helper.lable_title;\r\n        this.ORDER_STATE = this.helper.ORDER_STATE;\r\n        this.ORDER_STATUS_ID = this.helper.ORDER_STATUS_ID;\r\n        this.DATE_FORMAT = this.helper.DATE_FORMAT;\r\n        this.order_total = 0;\r\n        this.total_item = 0;\r\n        this.product_item_total = 0;\r\n        this.product_item_total_array = [];\r\n        this.product_item_specification_total = 0;\r\n        this.product_item_specification_total_array = [];\r\n        this.product_specification_total_array = [];\r\n\r\n        this.provider_first_name = \"\";\r\n        this.provider_last_name = \"\";\r\n        this.provider_email = \"\";\r\n        this.vehicle_name = \"\";\r\n        this.provider_phone = \"\";\r\n\r\n        this.user_profile = '';\r\n        this.provider_profile = '';\r\n        this.store_profile = '';\r\n\r\n        this.store_name = \"\";\r\n        this.store_email = \"\";\r\n        this.store_address = \"\";\r\n        this.store_phone = \"\";\r\n\r\n        this.user_first_name = \"\";\r\n        this.user_last_name = \"\";\r\n        this.user_email = \"\";\r\n        this.user_phone = \"\";\r\n        this.user_address = \"\";\r\n\r\n\r\n        this.delivery_user_name = \"\";\r\n        this.delivery_user_phone = \"\";\r\n        this.delivery_user_address = \"\";\r\n\r\n        this.timezone = \"\";\r\n        this.moment = moment;\r\n\r\n\r\n        this.cash_payment = 0;\r\n        this.is_payment_mode_cash = false;\r\n        this.request_id_view_invoice = \"\";\r\n\r\n\r\n\r\n        this.order_price = 0;\r\n        this.total_order_price = 0;\r\n        this.total_store_income = 0;\r\n        this.total_cart_price = 0;\r\n\r\n\r\n        this.delivery_price = 0;\r\n        this.total_delivery_price = 0;\r\n        this.total_provider_income = 0;\r\n\r\n        this.promo_payment = 0;\r\n        this.wallet_payment = 0;\r\n        this.card_payment = 0;\r\n\r\n        this.total = 0;\r\n\r\n\r\n        this.helper.http.post('/admin/get_request_data', {request_id: this.request_id}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n            if (res_data.success == false) {\r\n                this.helper.router.navigate(['admin/deliveries']);\r\n            }\r\n            else {\r\n\r\n                this.user_first_name = res_data.request.user_detail.first_name\r\n                this.user_last_name = res_data.request.user_detail.last_name\r\n                this.user_email = res_data.request.user_detail.email\r\n                this.user_phone = res_data.request.user_detail.country_phone_code + res_data.request.user_detail.phone\r\n                this.user_address = res_data.request.user_detail.address\r\n                this.user_profile = res_data.request.user_detail.image_url\r\n\r\n\r\n                this.is_user_pick_up_order = res_data.request.order_payment_detail.is_user_pick_up_order\r\n\r\n\r\n                this.request_id_view_invoice = res_data.request.order_detail._id;\r\n                this.timezone = res_data.request.timezone;\r\n\r\n\r\n                this.store_name = res_data.request.store_detail.name\r\n                this.store_email = res_data.request.store_detail.email\r\n                this.store_address = res_data.request.store_detail.address\r\n                this.store_phone = res_data.request.store_detail.country_phone_code + res_data.request.store_detail.phone\r\n\r\n                this.invoice_number = res_data.request.order_payment_detail.invoice_number\r\n\r\n                this.delivery_status = res_data.request.delivery_status\r\n                this.delivery_status_manage_id = res_data.request.delivery_status_manage_id\r\n                this.is_payment_mode_cash = res_data.request.order_payment_detail.is_payment_mode_cash\r\n                this.is_paid_from_wallet = res_data.request.order_payment_detail.is_paid_from_wallet\r\n\r\n                this.request_date_time = res_data.request.date_time;\r\n\r\n                if (res_data.request.order_detail) {\r\n                    this.order_date_time = res_data.request.order_detail.date_time;\r\n                }\r\n\r\n\r\n                if (res_data.timezone != \"\") {\r\n                    if (res_data.request.created_at != null) {\r\n                        this.created_at = moment(res_data.request.created_at).tz(this.timezone).format('DD MMM YYYY HH:mm:ss');\r\n                    }\r\n                    if (res_data.request.completed_at != null) {\r\n                        this.completed_at = moment(res_data.request.completed_at).tz(this.timezone).format('DD MMM YYYY HH:mm:ss');\r\n                    }\r\n\r\n                    //                    if (res_data.request.store_acce                    pted_at != null) {\r\n                    //                        this.store_accepted_at = moment(res_data.request.store_accepted_at).tz(this.timezone).format('DD MM                    M YYYY HH:mm:ss');\r\n                    //                                        }\r\n                    //                    if (res_data.request.start_preparing_o                    rder_at != null) {\r\n                    //                        this.start_preparing_order_at = moment(res_data.request.start_preparing_order_at).tz(this.timezone).format('DD MM                    M YYYY HH:mm:ss');\r\n                    //                                                                                }\r\n                    //\r\n                    //\r\n                    //                    if (res_data.request.order_r                    eady_at != null) {\r\n                    //                        this.order_ready_at = moment(res_data.request.order_ready_at).tz(this.timezone).format('DD MM                    M YYYY HH:mm:ss');\r\n                    //                                        }\r\n                    //                    if (res_data.request.store_order_cre                    ated_at != null) {\r\n                    //                        this.store_order_created_at = moment(res_data.request.store_order_created_at).tz(this.timezone).format('DD MM                    M YYYY HH:mm:ss');\r\n                    //                                        }\r\n                    //                    if (res_data.request.acce                    pted_at != null) {\r\n                    //                        this.accepted_at = moment(res_data.request.accepted_at).tz(this.timezone).format('DD MM                    M YYYY HH:mm:ss');\r\n                    //                                        }\r\n                    //                    if (res_data.request.cance                    lle                    d_at != null) {\r\n                    //\r\n                    //                        this.cancelled_at = moment(res_data.request.cancelled_at).tz(this.timezone).format('DD MM                    M YYYY HH:mm:ss');\r\n                    //                                        }\r\n                    //                    if (res_data.request.start_for_pi                    cku                    p_at != null) {\r\n                    //\r\n                    //                        this.start_for_pickup_at = moment(res_data.request.start_for_pickup_at).tz(this.timezone).format('DD MM                    M YYYY HH:mm:ss');\r\n                    //                                        }\r\n                    //                    if (res_data.request.arrived_on_s                    tore_at != null) {\r\n                    //                        this.arrived_on_store_at = moment(res_data.request.arrived_on_store_at).tz(this.timezone).format('DD MM                    M YYYY HH:mm:ss');\r\n                    //                                        }\r\n                    //                    if (res_data.request.picked_o                    rder_at != null) {\r\n                    //                        this.picked_order_at = moment(res_data.request.picked_order_at).tz(this.timezone).format('DD MM                    M YYYY HH:mm:ss');\r\n                    //                                        }\r\n                    //                    if (res_data.request.start_for_deli                    very_at != null) {\r\n                    //                        this.start_for_delivery_at = moment(res_data.request.start_for_delivery_at).tz(this.timezone).format('DD MM                    M YYYY HH:mm:ss');\r\n                    //                                                            }\r\n                    //\r\n                    //                    if (res_data.request.deliv                    ered_at != null) {\r\n                    //                        this.delivered_at = moment(res_data.request.delivered_at).tz(this.timezone).format('DD MM                    M YYYY HH:mm:ss');\r\n                    //                    }\r\n\r\n                }\r\n                this.order_detail = res_data.request.cart_detail.order_details\r\n\r\n                this.currency_sign = res_data.request.country_detail.currency_sign\r\n\r\n\r\n                this.total_cart_price = res_data.request.order_payment_detail.total_cart_price\r\n                this.order_price = res_data.request.order_payment_detail.order_price\r\n                this.total_order_price = res_data.request.order_payment_detail.total_order_price\r\n                this.total_store_income = res_data.request.order_payment_detail.total_store_income\r\n\r\n\r\n                this.delivery_price = res_data.request.order_payment_detail.delivery_price\r\n                this.total_delivery_price = res_data.request.order_payment_detail.total_delivery_price\r\n                this.total_provider_income = res_data.request.order_payment_detail.total_provider_income\r\n\r\n                this.promo_payment = res_data.request.order_payment_detail.promo_payment\r\n                this.wallet_payment = res_data.request.order_payment_detail.wallet_payment\r\n                this.card_payment = res_data.request.order_payment_detail.card_payment\r\n\r\n                this.total = res_data.request.order_payment_detail.total\r\n                this.cash_payment = res_data.request.order_payment_detail.cash_payment\r\n\r\n\r\n                res_data.request.cart_detail.order_details.forEach((product, product_index) => {\r\n\r\n                    this.hide_specification_group[product_index] = \"false\"\r\n                    product.items.forEach((item) => {\r\n\r\n                        this.order_total = this.order_total + (item.item_price + item.total_specification_price) * item.quantity\r\n                        this.product_item_total = this.product_item_total + (item.item_price + item.total_specification_price) * item.quantity\r\n                        this.total_item = this.total_item + 1;\r\n                        item.specifications.forEach((specification) => {\r\n                            this.product_item_specification_total = this.product_item_specification_total + specification.specification_price;\r\n                        })\r\n                        this.product_item_specification_total_array.push(this.product_item_specification_total)\r\n                        this.product_item_specification_total = 0;\r\n                    })\r\n                    this.product_specification_total_array.push(this.product_item_specification_total_array)\r\n                    this.product_item_specification_total_array = [];\r\n                    this.product_item_total_array.push(this.product_item_total)\r\n                    this.product_item_total = 0;\r\n                })\r\n\r\n                if (res_data.request.cart_detail.order_details.length > 0) {\r\n                    this.specifications = res_data.request.cart_detail.order_details[0].items[0].specifications;\r\n                    this.item_note = res_data.request.cart_detail.order_details[0].items[0].note_for_item;\r\n\r\n                }\r\n\r\n                if (res_data.request.cart_detail.destination_addresses.length > 0) {\r\n                    this.delivery_user_name = res_data.request.cart_detail.destination_addresses[0].user_details.name\r\n                    this.delivery_user_phone = res_data.request.cart_detail.destination_addresses[0].user_details.country_phone_code + res_data.request.cart_detail.destination_addresses[0].user_details.phone\r\n                    this.delivery_user_address = res_data.request.cart_detail.destination_addresses[0].address\r\n                    this.note = res_data.request.cart_detail.destination_addresses[0].note\r\n                    this.floor = res_data.request.cart_detail.destination_addresses[0].floor\r\n                    this.entry_code = res_data.request.cart_detail.destination_addresses[0].entry_code\r\n                }\r\n                if (res_data.request.provider_detail.length > 0) {\r\n                    this.provider_first_name = res_data.request.provider_detail[0].first_name\r\n                    this.provider_last_name = res_data.request.provider_detail[0].last_name\r\n                    this.provider_email = res_data.request.provider_detail[0].email\r\n                    this.provider_phone = res_data.request.provider_detail[0].country_phone_code + res_data.request.provider_detail[0].phone\r\n                }\r\n            }\r\n        });\r\n\r\n    }\r\n\r\n\r\n    hide_specifications_group(specification_group_index) {\r\n        this.hide_specification_group[specification_group_index] = 'true';\r\n        jQuery('#spec_list' + specification_group_index).hide();\r\n    }\r\n\r\n    show_specifications_group(specification_group_index) {\r\n        this.hide_specification_group[specification_group_index] = 'false';\r\n        jQuery('#spec_list' + specification_group_index).show();\r\n    }\r\n\r\n    get_specification(product_index, item_index) {\r\n        this.specifications = this.order_detail[product_index].items[item_index].specifications;\r\n        this.item_note = this.order_detail[product_index].items[item_index].note_for_item;\r\n    }\r\n\r\n    viewOrderEarningDetail(id) {\r\n        this.helper.router_id.admin.view_order_earning_id = id;\r\n        this.helper.router.navigate(['admin/order_earning_detail']);\r\n\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/request_order_detail/request_order_detail.component.ts","import {Component, OnInit, ViewChild, ViewContainerRef} from '@angular/core';\r\nimport {Response} from '@angular/http';\r\nimport {Helper} from \"../../helper\";\r\ndeclare var jQuery: any;\r\nimport {ModalComponent} from 'ng2-bs3-modal/ng2-bs3-modal';\r\n\r\n@Component({\r\n    selector: 'app-review',\r\n    template: require('./review.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class ReviewComponent implements OnInit {\r\n\r\n    @ViewChild('modal')\r\n    modal: ModalComponent;\r\n    @ViewChild('modal1')\r\n    modal1: ModalComponent;\r\n    @ViewChild('modal2')\r\n    modal2: ModalComponent;\r\n    @ViewChild('modal3')\r\n    modal3: ModalComponent;\r\n    @ViewChild('modal4')\r\n    modal4: ModalComponent;\r\n    @ViewChild('modal5')\r\n    modal5: ModalComponent;\r\n\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    lable_title: any;\r\n    DATE_FORMAT: any;\r\n    review_list: any[];\r\n    sort_field: string;\r\n    sort_review: number;\r\n    search_field: string;\r\n    search_value: string;\r\n    start_date: string;\r\n    end_date: string;\r\n    page: number;\r\n    selected_review_index:number = 0;\r\n    total_page: number;\r\n    total_pages: number[];\r\n    myLoading: boolean = true;\r\n    review_id: Object;\r\n    //show: boolean ;\r\n\r\n    constructor(private helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n    ngAfterViewInit() {\r\n\r\n        jQuery(\".chosen-select\").chosen({disable_search: true});\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.sort_field = \"order_unique_id\";\r\n        this.sort_review = -1;\r\n        this.search_field = \"user_review_to_provider\";\r\n        this.search_value = \"\";\r\n        this.start_date = '';\r\n        this.end_date = '';\r\n        this.page = 1\r\n\r\n        this.helper.message()\r\n\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.lable_title = this.helper.lable_title\r\n        this.DATE_FORMAT = this.helper.DATE_FORMAT\r\n        this.review_list = [];\r\n        //this.show = false;\r\n        this.review_id = \"\";\r\n        this.review_history(1);\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_field').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_field = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_review').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_review = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#search_field').on('change', (evnt, res_data) => {\r\n\r\n            this.search_field = res_data.selected;\r\n\r\n        });\r\n    }\r\n\r\n    activeRoute(routename: string): boolean {\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n\r\n    review_history(page) {\r\n        this.selected_review_index = 0;\r\n        this.page = page;\r\n        this.helper.http.post('/admin/get_review_list', {\r\n            start_date: this.start_date, end_date: this.end_date,\r\n            sort_field: this.sort_field, sort_review: this.sort_review,\r\n            search_field: this.search_field, search_value: this.search_value, page: this.page\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n\r\n                this.review_list = [];\r\n                this.total_pages = [];\r\n\r\n            }\r\n            else {\r\n\r\n                this.review_list = res_data.reviews;\r\n\r\n                this.total_page = res_data.pages;\r\n                this.total_pages = Array(res_data.pages).fill((x, i) => i).map((x, i) => i + 1)\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error);\r\n            });\r\n    }\r\n\r\n    viewReviewDetail(id) {\r\n        this.helper.router_id.admin.view_review_detail_id = id;\r\n        this.helper.router.navigate(['admin/view_review_detail']);\r\n\r\n    }\r\n\r\n\r\n\r\n//    review_modal(id) {\r\n//        this.review_id = id;\r\n//        this.modal.open();\r\n//      \r\n//                \r\n//    }\r\n    \r\n    review_modal(id , index)\r\n    {\r\n        this.review_id = id;\r\n        this.modal.open()\r\n        this.selected_review_index = index;\r\n    }\r\n    \r\n    review_modal1(id , index)\r\n    {\r\n        this.review_id = id;\r\n        this.modal1.open()\r\n        this.selected_review_index = index;\r\n    }\r\n    \r\n    review_modal2(id , index)\r\n    {\r\n        this.review_id = id;\r\n        this.modal2.open()\r\n        this.selected_review_index = index;\r\n    }\r\n    \r\n    review_modal3(id , index)\r\n    {\r\n        this.review_id = id;\r\n        this.modal3.open()\r\n        this.selected_review_index = index;\r\n    }\r\n    review_modal4(id , index)\r\n    {\r\n        this.review_id = id;\r\n        this.modal4.open()\r\n        this.selected_review_index = index;\r\n    }\r\n    \r\n     review_modal5(id , index)\r\n    {\r\n        this.review_id = id;\r\n        this.modal5.open()\r\n        this.selected_review_index = index;\r\n    }\r\n    \r\n    \r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/review/review.component.ts","import { Component, OnInit, ViewContainerRef, ViewChild } from \"@angular/core\";\r\nimport { Helper } from \"../../helper\";\r\nimport { Http, Response } from \"@angular/http\";\r\ndeclare var jQuery: any;\r\nimport { ModalComponent } from \"ng2-bs3-modal/ng2-bs3-modal\";\r\nimport * as moment from \"moment-timezone\";\r\n\r\n@Component({\r\n  selector: \"app-saas\",\r\n  template: require('./saas.component.html'),\r\n  providers: [Helper],\r\n})\r\nexport class saasComponent implements OnInit {\r\n  country_list: any[];\r\n  filtered_country_list: any[] = [];\r\n  title: any;\r\n  button: any;\r\n  heading_title: any;\r\n  public message: string = \"\";\r\n  public class: string;\r\n  selected_country: string;\r\n  filter_country_name: String = \"\";\r\n  myLoading: boolean = true;\r\n\r\n  country_index: number = 0;\r\n  city_index: number = 0;\r\n  distance_calculation_error: number = 0;\r\n  selected_index: number = null;\r\n  min_amount: number = null;\r\n  subscription_amount: number = null;\r\n  max_amount: number = null;\r\n  type: number = 1;\r\n  moment: any;\r\n\r\n  @ViewChild(\"add_subscription_amount_modal\")\r\n  add_subscription_amount_modal: ModalComponent;\r\n\r\n  constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n    helper.toastr.setRootViewContainerRef(vcr);\r\n  }\r\n\r\n  ngAfterViewInit() {\r\n    jQuery(\".chosen-select\").chosen();\r\n    setTimeout(function () {\r\n      jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n    }, 1000);\r\n  }\r\n\r\n  activeRoute(routename: string): boolean {\r\n    return this.helper.router.url.indexOf(routename) > -1;\r\n  }\r\n\r\n  ngOnInit() {\r\n    this.helper.message();\r\n    this.moment = moment;\r\n\r\n    this.title = this.helper.title;\r\n    this.button = this.helper.button;\r\n    this.heading_title = this.helper.heading_title;\r\n    this.selected_country = this.title.all;\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#selected_country\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.selected_country = res_data.selected;\r\n      });\r\n\r\n    this.get_city_list();\r\n  }\r\n\r\n  get_city_list() {\r\n    this.helper.http\r\n      .post(\"/admin/city_list_search_sort\", {})\r\n      .map((res: Response) => res.json())\r\n      .subscribe(\r\n        (res_data) => {\r\n          this.myLoading = false;\r\n\r\n          if (res_data.success == false) {\r\n            this.helper.data.storage = {\r\n              message: this.helper.ERROR_CODE[res_data.error_code],\r\n              class: \"alert-danger\",\r\n            };\r\n\r\n            this.country_list = [];\r\n            this.filtered_country_list = [];\r\n          } else {\r\n            this.country_list = res_data.countries;\r\n            this.filtered_country_list = res_data.countries;\r\n            this.filter_country(this.filter_country_name);\r\n          }\r\n        },\r\n        (error: any) => {\r\n          this.myLoading = false;\r\n          this.helper.http_status(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  filter_country(data) {\r\n    data = data.replace(/^\\s+|\\s+$/g, \"\");\r\n    data = data.replace(/ +(?= )/g, \"\");\r\n    data = new RegExp(data, \"gi\");\r\n\r\n    var country_array = [];\r\n    this.country_list.forEach((country) => {\r\n      var city_array = country.cities.filter((city_data) => {\r\n        var a = city_data.city_name.match(data);\r\n        return a !== null;\r\n      });\r\n      if (city_array.length > 0) {\r\n        country_array.push({\r\n          _id: country._id,\r\n          country_name: country.country_name,\r\n          cities: city_array,\r\n        });\r\n      }\r\n    });\r\n    this.filtered_country_list = country_array;\r\n  }\r\n\r\n  edit_detail(detail, country_index, city_index) {\r\n    this.country_index = country_index;\r\n    this.city_index = city_index;\r\n    detail.is_edit = true;\r\n  }\r\n\r\n  update_detail(detail) {\r\n    detail.is_edit = false;\r\n    this.myLoading = true;\r\n    detail.city_id = detail._id;\r\n\r\n    if (detail.saas_percentage_delivery_for_store > 100) {\r\n      detail.saas_percentage_delivery_for_store = 100;\r\n    } else if (detail.saas_percentage_delivery_for_store < 0) {\r\n      detail.saas_percentage_delivery_for_store = 0;\r\n    }\r\n    if (detail.saas_percentage_delivery_by_cash_for_store > 100) {\r\n      detail.saas_percentage_delivery_by_cash_for_store = 100;\r\n    } else if (detail.saas_percentage_delivery_by_cash_for_store < 0) {\r\n      detail.saas_percentage_delivery_by_cash_for_store = 0;\r\n    }\r\n    if (detail.saas_percentage_pickup_by_card_for_store > 100) {\r\n      detail.saas_percentage_pickup_by_card_for_store = 100;\r\n    } else if (detail.saas_percentage_pickup_by_card_for_store < 0) {\r\n      detail.saas_percentage_pickup_by_card_for_store = 0;\r\n    }\r\n    if (detail.saas_percentage_pickup_by_cash_for_store > 100) {\r\n      detail.saas_percentage_pickup_by_cash_for_store = 100;\r\n    } else if (detail.saas_percentage_pickup_by_cash_for_store < 0) {\r\n      detail.saas_percentage_pickup_by_cash_for_store = 0;\r\n    }\r\n    if (detail.saas_percentage_for_provider > 100) {\r\n      detail.saas_percentage_for_provider = 100;\r\n    } else if (detail.saas_percentage_for_provider < 0) {\r\n      detail.saas_percentage_for_provider = 0;\r\n    }\r\n\r\n    if (detail.saas_percentage_for_provider_from > 100) {\r\n      detail.saas_percentage_for_provider_from = 100;\r\n    } else if (detail.saas_percentage_for_provider_from < 0) {\r\n      detail.saas_percentage_for_provider_from = 0;\r\n    }\r\n\r\n    this.helper.http\r\n      .post(\"/admin/update_city_saas_detail\", detail)\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        this.myLoading = false;\r\n        this.helper.data.storage = {\r\n          message: this.helper.MESSAGE_CODE[res_data.message],\r\n          class: \"alert-info\",\r\n        };\r\n        this.helper.message();\r\n        this.get_city_list();\r\n      });\r\n  }\r\n\r\n  is_business_change(id, event) {\r\n    this.helper.http\r\n      .post(\"/admin/toggle_change\", { city_id: id, is_saas_for_store: event })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        if (res_data.success == false) {\r\n        }\r\n      });\r\n  }\r\n\r\n  is_provider_business_change(id, event) {\r\n    this.helper.http\r\n      .post(\"/admin/toggle_change\", {\r\n        city_id: id,\r\n        is_saas_for_provider: event,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        if (res_data.success == false) {\r\n        }\r\n      });\r\n  }\r\n\r\n  open_add_subscription_charge_modal() {\r\n    this.distance_calculation_error = 0;\r\n    this.selected_index = null;\r\n    this.add_subscription_amount_modal.open();\r\n    this.min_amount = null;\r\n    this.subscription_amount = null;\r\n    this.max_amount = null;\r\n  }\r\n\r\n  open_edit_subscription_charge_modal(subscription_charge, index) {\r\n    this.distance_calculation_error = 0;\r\n    this.selected_index = index;\r\n    this.min_amount = JSON.parse(\r\n      JSON.stringify(subscription_charge.min_amount)\r\n    );\r\n    this.max_amount = JSON.parse(\r\n      JSON.stringify(subscription_charge.max_amount)\r\n    );\r\n    this.subscription_amount = JSON.parse(\r\n      JSON.stringify(subscription_charge.subscription_amount)\r\n    );\r\n    this.add_subscription_amount_modal.open();\r\n  }\r\n\r\n  add_subscription_charge_data() {\r\n    if (this.selected_index !== null) {\r\n      this.update_subscription_charge_data();\r\n    } else {\r\n      if (Number(this.min_amount) < Number(this.max_amount)) {\r\n        this.distance_calculation_error = 0;\r\n        this.filtered_country_list[this.country_index].cities[\r\n          this.city_index\r\n        ].saas_subscription_charge_for_store.push({\r\n          min_amount: Number(this.min_amount),\r\n          max_amount: Number(this.max_amount),\r\n          subscription_amount: Number(this.subscription_amount),\r\n        });\r\n        this.max_amount = null;\r\n        this.min_amount = null;\r\n        this.subscription_amount = null;\r\n        this.selected_index = null;\r\n        this.add_subscription_amount_modal.close();\r\n      } else {\r\n        this.distance_calculation_error = 1;\r\n      }\r\n    }\r\n  }\r\n\r\n  delete_subscription_charge_data(index) {\r\n    this.filtered_country_list[this.country_index].cities[\r\n      this.city_index\r\n    ].saas_subscription_charge_for_store.splice(index, 1);\r\n  }\r\n\r\n  update_subscription_charge_data() {\r\n    if (Number(this.min_amount) < Number(this.max_amount)) {\r\n      this.distance_calculation_error = 0;\r\n      this.filtered_country_list[this.country_index].cities[\r\n        this.city_index\r\n      ].saas_subscription_charge_for_store[this.selected_index].min_amount =\r\n        JSON.parse(JSON.stringify(Number(this.min_amount)));\r\n      this.filtered_country_list[this.country_index].cities[\r\n        this.city_index\r\n      ].saas_subscription_charge_for_store[this.selected_index].max_amount =\r\n        JSON.parse(JSON.stringify(Number(this.max_amount)));\r\n      this.filtered_country_list[this.country_index].cities[\r\n        this.city_index\r\n      ].saas_subscription_charge_for_store[\r\n        this.selected_index\r\n      ].subscription_amount = JSON.parse(\r\n        JSON.stringify(Number(this.subscription_amount))\r\n      );\r\n      this.min_amount = null;\r\n      this.max_amount = null;\r\n      this.subscription_amount = null;\r\n      this.selected_index = null;\r\n      this.add_subscription_amount_modal.close();\r\n    } else {\r\n      this.distance_calculation_error = 1;\r\n    }\r\n  }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/saas/saas.component.ts","import {Component, OnInit, ViewContainerRef} from '@angular/core';\r\nimport {Helper} from \"../../helper\";\r\nimport {Http, Response} from '@angular/http';\r\ndeclare var jQuery: any;\r\n\r\n\r\n@Component({\r\n    selector: 'app-service',\r\n    template: require('./service.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class ServiceComponent implements OnInit {\r\n\r\n    service_list: any[];\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    sort_field: string;\r\n    sort_service: number;\r\n    search_field: string;\r\n    search_value: string;\r\n    page: number;\r\n    total_page: number;\r\n    total_pages: number[];\r\n    myLoading: boolean = true;\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n    activeRoute(routename: string): boolean {\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n    ngAfterViewInit() {\r\n\r\n        jQuery(\".chosen-select\").chosen({disable_search: true});\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.helper.message();\r\n        this.sort_field = \"unique_id\";\r\n        this.sort_service = -1;\r\n        this.search_field = \"country_details.country_name\";\r\n        this.search_value = \"\";\r\n        this.page = 1;\r\n\r\n        this.filter(this.page);\r\n        \r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.service_list = [];\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_field').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_field = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_service').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_service = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#search_field').on('change', (evnt, res_data) => {\r\n\r\n            this.search_field = res_data.selected;\r\n\r\n        });\r\n\r\n\r\n    }\r\n\r\n    filter(page) {\r\n        this.page = page;\r\n        this.myLoading=true;\r\n        this.helper.http.post('/admin/service_list', {\r\n            sort_field: this.sort_field, sort_service: this.sort_service,\r\n            search_field: this.search_field, search_value: this.search_value, page: this.page\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n\r\n                this.service_list = [];\r\n                this.total_pages = [];\r\n\r\n            }\r\n            else {\r\n\r\n                this.service_list = res_data.service;\r\n                this.total_page = res_data.pages;\r\n                this.total_pages = Array(res_data.pages).fill((x, i) => i).map((x, i) => i + 1)\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    editService(id) {\r\n        this.helper.router_id.admin.service_id = id;\r\n        this.helper.router.navigate(['admin/service/edit']);\r\n\r\n    }\r\n    viewServiceDetail(id) {\r\n        this.helper.router_id.admin.service_id = id;\r\n        this.helper.router.navigate(['admin/service/view_detail']);\r\n\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/service/service.component.ts","import {Component, OnInit} from '@angular/core';\r\nimport {Helper} from \"../../helper\";\r\nimport {Http, Response} from '@angular/http';\r\ndeclare var jQuery: any;\r\n\r\n@Component({\r\n    selector: 'app-setting',\r\n    template: require('./setting.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class settingComponent implements OnInit {\r\n\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    setting_tab_title: any;\r\n    public message: string = \"\";\r\n    public class: string;\r\n    constructor(public helper: Helper) {\r\n\r\n        setTimeout(() => {\r\n            this.message = \"\"\r\n            this.helper.data.storage = {\r\n                \"message\": '',\r\n                \"class\": ''\r\n            }\r\n        }, 3000);\r\n    }\r\n\r\n    activeRoute(routename: string): boolean {\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.setting_tab_title = this.helper.setting_tab_title\r\n    }\r\n    close() {\r\n        this.message = \"\";\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/setting/setting.component.ts","import {Component, OnInit, ViewContainerRef} from '@angular/core';\r\nimport {Response} from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport {Helper} from \"../../helper\";\r\ndeclare var jQuery: any;\r\n\r\nexport interface UpdateSms {\r\n    sms_unique_title: String,\r\n    sms_content: String,\r\n    is_send: Boolean\r\n}\r\n\r\nexport interface SmsConfiguration {\r\n    sms_auth_id: String,\r\n    sms_auth_token: String,\r\n    sms_number: String,\r\n    name:String\r\n}\r\n\r\n@Component({\r\n    selector: 'app-sms',\r\n    template: require('./sms.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class SmsComponent implements OnInit {\r\n\r\n    private update_sms: UpdateSms;\r\n    private sms_configuration: SmsConfiguration;\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    sms_id: Object;\r\n    sms_list: any[];\r\n    error: any;\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n\r\n    }\r\n    ngAfterViewInit() {\r\n\r\n\r\n        jQuery(\"#sms\").chosen();\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n\r\n            jQuery('input').iCheck({\r\n                handle: 'checkbox',\r\n                checkboxClass: 'icheckbox_square-green',\r\n            });\r\n        }, 1000);\r\n    }\r\n    ngOnDestroy() {\r\n        this.helper.router_id.admin.sms_id = \"\";\r\n    }\r\n\r\n    ngOnInit() {\r\n\r\n        this.sms_configuration = {\r\n            sms_auth_id: \"\",\r\n            sms_auth_token: \"\",\r\n            sms_number: \"\",\r\n            name:\"\",\r\n        }\r\n        this.update_sms = {\r\n            sms_unique_title: \"\",\r\n            sms_content: \"\",\r\n            is_send: true\r\n        }\r\n        this.helper.http.post('/admin/get_sms_gateway_detail', {}).map((res: Response) => res.json()).subscribe(res_data => {\r\n            console.log(res_data);\r\n            this.sms_configuration.sms_auth_id = res_data.sms_gateway_detail.sms_auth_id,\r\n                this.sms_configuration.sms_auth_token = res_data.sms_gateway_detail.sms_auth_token,\r\n                this.sms_configuration.sms_number = res_data.sms_gateway_detail.sms_number\r\n                this.sms_configuration.name = res_data.sms_gateway_detail.name\r\n\r\n        });\r\n        this.sms_id = this.helper.router_id.admin.sms_id\r\n        this.helper.http.get('/admin/sms_list').map((res: Response) => res.json()).subscribe(res => {\r\n            this.sms_list = res.sms_details\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sms').on('change', (evnt, res_data) => {\r\n\r\n            this.update_sms.sms_unique_title = res_data.selected;\r\n            this.sms_id = res_data.selected;\r\n            this.helper.http.post('/admin/get_sms_detail', {sms_id: res_data.selected}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n                if (res_data.success == false) {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message();\r\n\r\n                    this.helper.router.navigate(['admin/sms']);\r\n\r\n                }\r\n                else {\r\n\r\n\r\n\r\n\r\n                    this.update_sms.sms_unique_title = res_data.sms_detail.sms_unique_title;\r\n                    this.update_sms.sms_content = res_data.sms_detail.sms_content;\r\n                    this.update_sms.is_send = res_data.sms_detail.is_send;\r\n\r\n\r\n\r\n                }\r\n            });\r\n\r\n        });\r\n\r\n\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n    }\r\n    \r\n    \r\n     SmsConfiguration(smsconfigurationdata) {\r\n        this.helper.http.post('/admin/update_sms_configuration', smsconfigurationdata).map((res: Response) => res.json()).subscribe(res_data => {\r\n            console.log(res_data.success);\r\n            if (res_data.success == true) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.helper.message();\r\n                this.helper.router.navigate(['admin/sms']);\r\n            }\r\n            else {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message();\r\n                this.helper.router.navigate(['admin/sms']);\r\n            }\r\n\r\n        });\r\n    }\r\n\r\n\r\n    UpdateSms(sms_data) {\r\n        this.helper.http.post('/admin/update_sms', sms_data).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            if (res_data.success == true) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.helper.message();\r\n                this.helper.router.navigate(['admin/sms']);\r\n            }\r\n            else {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message();\r\n                this.helper.router.navigate(['admin/sms']);\r\n\r\n            }\r\n        });\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/sms/sms.component.ts","import {Component, OnInit, ViewChild, ViewContainerRef} from \"@angular/core\";\r\nimport {Response} from '@angular/http';\r\nimport {Helper} from \"../../helper\";\r\nimport * as moment from 'moment-timezone';\r\ndeclare var jQuery: any;\r\nimport { ModalComponent } from 'ng2-bs3-modal/ng2-bs3-modal';\r\n\r\n@Component({\r\n    selector: 'app-history',\r\n    template: require('./history.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class AdminStoreHistoryComponent implements OnInit {\r\n\r\n    @ViewChild('myModal')\r\n    modal: ModalComponent;\r\n    @ViewChild('order_detail_modal')\r\n    order_detail_modal: ModalComponent;\r\n    @ViewChild('review_detail_modal')\r\n    review_detail_modal: ModalComponent;\r\n\r\n    @ViewChild('mysmsModal')\r\n    sms_modal: ModalComponent;\r\n    @ViewChild('mynotificationModal')\r\n    notification_modal: ModalComponent;\r\n\r\n    type: number = 2;\r\n    title:any;\r\n    button:any;\r\n    ORDER_STATE:any;\r\n    heading_title:any;\r\n    status:any;\r\n    order_list:any[];\r\n    pickup_type: any = 'both'\r\n    order_type: any = 'both';\r\n    payment_status: any = 'all';\r\n    created_by: any = 'both';\r\n    order_status_id:string;\r\n    search_field:string;\r\n    search_value:string;\r\n    start_date:string;\r\n    end_date:string;\r\n    page:number;\r\n    total_page:number;\r\n    total_pages:number[];\r\n    moment: any;\r\n    timezone: string = '';\r\n    order_id:Object = '';\r\n    rating:number = 1;\r\n    review:string = '';\r\n    selected_order_index:number = 0;\r\n    order_detail: any = {};\r\n\r\n    total_item:number = 0;\r\n    order_total:number = 0;\r\n    product_item_total:number = 0;\r\n    product_item_total_array:number[] = [];\r\n    product_item_specification_total:number = 0;\r\n    product_item_specification_total_array:number[] = [];\r\n    product_specification_total_array:any[] = [];\r\n    hide_specification_group: any[] = [];\r\n    specifications: any[] = [];\r\n    item_note: string = '';\r\n    is_show_specification: boolean = false;\r\n    currency_sign: any = '';\r\n    myLoading:boolean = true;\r\n    review_detail: any = {};\r\n    user_detail: any = {};\r\n    user_id: string = null;\r\n    store_detail: any;\r\n    store_id: string = null;\r\n    provider_detail: any;\r\n    provider_id: string = null;\r\n\r\n\r\n    earning_page: number;\r\n    earning_total_page: number;\r\n    earning_total_pages: number[] = [];\r\n    earning_order_total: any = {\r\n        total_completed_orders: 0,\r\n        total: 0\r\n    };\r\n    admin_currency: String;\r\n    earning_order_list: any[] = [];\r\n    wallet: number;\r\n    content: string;\r\n    amount: number;\r\n\r\n    review_list: any[] = [];\r\n\r\n    constructor(private helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n    ngAfterViewInit() {\r\n        jQuery(\".chosen-select\").chosen({disable_search: true});\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n    }\r\n    ngOnDestroy(){\r\n        this.helper.router_id.admin.user_detail = null;\r\n        this.helper.router_id.admin.store_detail = null;\r\n        this.helper.router_id.admin.provider_detail = null;\r\n    }\r\n    ngOnInit() {\r\n   \r\n        this.user_detail = this.helper.router_id.admin.store_detail;\r\n        if(this.user_detail){\r\n            this.user_id = this.user_detail._id;\r\n        } else {\r\n            this.user_detail = {};\r\n        }\r\n\r\n        if(!this.store_id && !this.user_id && !this.provider_id){\r\n            this.helper.router.navigate(['admin/users'])\r\n        }\r\n\r\n        this.order_status_id=\"\";\r\n        this.search_field=\"user_first_name\";\r\n        this.search_value=\"\";\r\n        this.start_date='';\r\n        this.end_date='';\r\n        this.page=1;\r\n        this.earning_page=1;\r\n        this.moment = moment;\r\n\r\n        this.helper.message()\r\n\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.heading_title=this.helper.heading_title\r\n        this.ORDER_STATE=this.helper.ORDER_STATE\r\n        this.status=this.helper.status\r\n        this.order_list=[];\r\n\r\n        this.store_history(1);\r\n        this.order_earning(1);\r\n        this.get_review_history();\r\n\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#order_status_id').on('change', (evnt,res_data) => {\r\n            this.order_status_id=res_data.selected;\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#search_field').on('change', (evnt,res_data) => {\r\n            this.search_field=res_data.selected;\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#pickup_type').on('change', (evnt, res_data) => {\r\n\r\n            this.pickup_type = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#created_by').on('change', (evnt, res_data) => {\r\n\r\n            this.created_by = res_data.selected;\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#order_type').on('change', (evnt, res_data) => {\r\n\r\n            this.order_type = res_data.selected;\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#payment_status').on('change', (evnt, res_data) => {\r\n\r\n            this.payment_status = res_data.selected;\r\n\r\n        });\r\n    }\r\n\r\n    order_earning(page) {\r\n        this.earning_page = page;\r\n        this.helper.http.post('/admin/get_order_earning', {\r\n            start_date: this.start_date, end_date: this.end_date,\r\n            sort_field: 'unique_id', sort_order: -1,\r\n            search_field: this.search_field, store_id: this.user_id, search_value: this.search_value, page: this.earning_page\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n\r\n                this.earning_order_list = [];\r\n                this.earning_total_pages = [];\r\n\r\n            }\r\n            else {\r\n                console.log(res_data)\r\n                this.earning_order_list = res_data.orders;\r\n                this.earning_order_total = res_data.order_total;\r\n                this.admin_currency = res_data.admin_currency;\r\n                this.earning_total_page = res_data.pages;\r\n\r\n                this.earning_total_pages = Array(res_data.pages).fill((x, i) => i).map((x, i) => i + 1)\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    viewOrderEarningDetail(id) {\r\n        this.helper.router_id.admin.view_order_earning_id = id;\r\n        this.helper.router.navigate(['admin/order_earning_detail']);\r\n\r\n    }\r\n\r\n    activeRoute(routename: string): boolean {\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n    open_detail_modal(index){\r\n        \r\n        this.order_detail_modal.open();\r\n    }\r\n    hide_specifications_group(specification_group_index)\r\n    {\r\n        this.hide_specification_group[specification_group_index]='true';\r\n        jQuery('#spec_list'+specification_group_index).hide();\r\n    }\r\n\r\n    show_specifications_group(specification_group_index)\r\n    {\r\n        this.hide_specification_group[specification_group_index]='false';\r\n        jQuery('#spec_list'+specification_group_index).show();\r\n    }\r\n\r\n    get_specification(product_index, item_index){\r\n        this.is_show_specification= true;\r\n        this.specifications = this.order_detail.cart_detail.order_details[product_index].items[item_index].specifications;\r\n        this.item_note = this.order_detail.cart_detail.order_details[product_index].items[item_index].note_for_item;\r\n    }\r\n\r\n    history_export_csv() {\r\n        this.helper.http.post('/api/admin/history', {\r\n            start_date:this.start_date,end_date:this.end_date, store_id: this.user_id, provider_id: this.provider_id, payment_status: this.payment_status, created_by: this.created_by, pickup_type: this.pickup_type,\r\n            order_status_id:this.order_status_id, search_field:this.search_field,search_value:this.search_value, order_type: this.order_type\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            var json2csv = require('json2csv');\r\n            res_data.orders.forEach((order, index) => {\r\n                if (order.order_payment_detail.is_paid_from_wallet) {\r\n                    order.payment_status = this.title.wallet;\r\n                } else {\r\n                    if (order.order_payment_detail.is_payment_mode_cash) {\r\n                        order.payment_status = this.helper.lable_title.cash;\r\n                    } else {\r\n                        if (order.payment_gateway_detail.length > 0) {\r\n\r\n                            order.payment_status = order.payment_gateway_detail[0].name;\r\n                        }\r\n                    }\r\n                }\r\n\r\n                order.user_name = order.user_detail.first_name + ' ' + order.user_detail.last_name;\r\n                order.store_name = order.store_detail.name;\r\n                \r\n                order.city_name = order.city_detail.city_name;\r\n                if (order.request_detail != undefined) {\r\n                \r\n               \r\n                if (order.provider_detail.length > 0) {\r\n                    order.provider_name = order.provider_detail[0].first_name + ' ' + order.provider_detail[0].last_name;\r\n                }\r\n                }\r\n\r\n                switch (order.order_status) {\r\n                    case this.ORDER_STATE.STORE_REJECTED:\r\n                        order.status = this.status.rejected;\r\n                        break;\r\n                    case this.ORDER_STATE.STORE_CANCELLED:\r\n                        order.status = this.status.cancelled;\r\n                        break;\r\n                   \r\n                    case this.ORDER_STATE.CANCELED_BY_USER:\r\n                        order.status = this.status.user_cancelled;\r\n                        break;\r\n                    case this.ORDER_STATE.DELIVERY_MAN_COMPLETE_DELIVERY:\r\n                        order.status = this.status.order_delivered;\r\n                        break;\r\n                    case this.ORDER_STATE.ORDER_COMPLETED:\r\n                        order.status = this.status.completed;\r\n                        break;\r\n                    default:\r\n                        order.satus = '';\r\n                }\r\n\r\n               order.amount = ((+order.order_payment_detail.total_delivery_price + +order.order_payment_detail.total_order_price).toFixed(2));\r\n            });\r\n\r\n            var fieldNames = [this.title.id,\r\n            this.title.user,\r\n            this.title.store,\r\n            this.title.city,\r\n            this.title.provider,\r\n            this.title.status,\r\n            this.title.amount,\r\n            this.title.payment_by,\r\n            this.title.date,\r\n            this.title.delivery_at\r\n            ];\r\n            var fields = ['unique_id',\r\n                'user_name',\r\n                'store_name',\r\n                'city_name',\r\n                'provider_name',\r\n                'status',\r\n                'amount',\r\n                'payment_status',\r\n                'updated_at',\r\n                'completed_at'\r\n            ];\r\n\r\n           \r\n            var csv = json2csv({data: res_data.orders, fields: fields, fieldNames: fieldNames});\r\n\r\n            var final_csv: any = csv;\r\n            this.helper.downloadFile(final_csv);\r\n        });\r\n    }\r\n    \r\n    \r\n    history_export_excel() {\r\n       this.helper.http.post('/api/admin/history', { store_id: this.user_id, provider_id: this.provider_id, \r\n            start_date: this.start_date, end_date: this.end_date,\r\n            search_field: this.search_field, search_value: this.search_value\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            var json_data = [];\r\n            var json2excel = require('js2excel');\r\n            res_data.orders.forEach((order, index) => {\r\n                if (order.order_payment_detail.is_paid_from_wallet) {\r\n                    order.payment_status = this.title.wallet;\r\n                } else {\r\n                    if (order.order_payment_detail.is_payment_mode_cash) {\r\n                        order.payment_status = this.helper.lable_title.cash;\r\n                    } else {\r\n                        if (order.payment_gateway_detail.length > 0) {\r\n\r\n                            order.payment_status = order.payment_gateway_detail[0].name;\r\n                        }\r\n                    }\r\n                }\r\n\r\n                order.user_name = order.user_detail.first_name + ' ' + order.user_detail.last_name;\r\n                order.store_name = order.store_detail.name;\r\n                \r\n                order.city_name = order.city_detail.city_name;\r\n                if (order.request_detail != undefined) {\r\n                \r\n               \r\n                if (order.provider_detail.length > 0) {\r\n                    order.provider_name = order.provider_detail[0].first_name + ' ' + order.provider_detail[0].last_name;\r\n                }\r\n                }\r\n\r\n                switch (order.order_status) {\r\n                    case this.ORDER_STATE.STORE_REJECTED:\r\n                        order.status = this.status.rejected;\r\n                        break;\r\n                    case this.ORDER_STATE.STORE_CANCELLED:\r\n                        order.status = this.status.cancelled;\r\n                        break;\r\n                   \r\n                    case this.ORDER_STATE.CANCELED_BY_USER:\r\n                        order.status = this.status.user_cancelled;\r\n                        break;\r\n                    case this.ORDER_STATE.DELIVERY_MAN_COMPLETE_DELIVERY:\r\n                        order.status = this.status.order_delivered;\r\n                        break;\r\n                    case this.ORDER_STATE.ORDER_COMPLETED:\r\n                        order.status = this.status.completed;\r\n                        break;\r\n                    default:\r\n                        order.satus = '';\r\n                }\r\n\r\n               order.amount = ((+order.order_payment_detail.total_delivery_price + +order.order_payment_detail.total_order_price).toFixed(2));\r\n           \r\n               json_data.push({\r\n                    \"ID\": order.unique_id,\r\n                    \"User\":order.user_name,\r\n                    \"Store\":order.store_name,\r\n                    \"Provider\":order.provider_name,\r\n                    \"City\":order.city_name,\r\n                    \"Status\":order.status,\r\n                    \"Amount\":order.amount,\r\n                    \"Payment By\":order.payment_status,\r\n                    \"Date\":order.created_at\r\n                    \r\n                 });\r\n            \r\n              });\r\n           \r\n            json2excel.json2excel({\r\n                data: json_data,\r\n                name: 'history_excel',\r\n                formateDate: 'yyyy/mm/dd'\r\n            });\r\n            \r\n        });\r\n    }\r\n\r\n    store_history(page)\r\n    {\r\n        this.myLoading=true;\r\n        this.selected_order_index = 0;\r\n        this.page=page;\r\n        this.helper.http.post('/api/admin/history',{start_date:this.start_date,end_date:this.end_date, store_id: this.user_id, provider_id: this.provider_id, created_by: this.created_by,payment_status: this.payment_status, pickup_type: this.pickup_type,\r\n            order_status_id:this.order_status_id, search_field:this.search_field,search_value:this.search_value,page:this.page, order_type: this.order_type }).map((res:Response) => res.json()).subscribe(res_data=>{\r\n\r\n                this.myLoading=false;\r\n                if(res_data.success == false)\r\n                {\r\n                    this.order_list=[];\r\n                    this.total_pages=[];\r\n                }\r\n                else\r\n                {\r\n                    this.currency_sign = res_data.currency_sign;\r\n                    this.order_list=res_data.orders;\r\n                    this.total_page=res_data.pages;\r\n                    this.total_pages=Array(res_data.pages).fill((x,i)=>i).map((x,i)=>i+1)\r\n                    if(this.order_list.length>0){\r\n                        this.get_order_detail(this.order_list[0]._id);\r\n                    }\r\n                }\r\n            },\r\n            (error: any) => {\r\n                this.myLoading=false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    show_review(order_id){\r\n        this.helper.http.post('/admin/get_review_detail', {order_id: order_id}).map((res:Response) => res.json()).subscribe(res_data=> {\r\n            if(res_data.success){\r\n                this.review_detail = res_data.review_detail;\r\n                this.review_detail_modal.open();\r\n            } else {\r\n                this.review_detail = {};\r\n            }\r\n        });\r\n    }\r\n\r\n    get_order_detail(order_id){\r\n        this.helper.http.post('/admin/get_order_detail', {\r\n            order_id: order_id    \r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            if(res_data.success){\r\n                this.order_detail = res_data.order_detail;\r\n                this.is_show_specification = false;\r\n                this.order_total = 0;\r\n                this.product_item_total = 0;\r\n                this.total_item = 0;\r\n                this.product_item_specification_total = 0;\r\n                this.product_item_specification_total_array = [];\r\n                this.product_item_total_array = [];\r\n                this.product_specification_total_array = [];\r\n                this.order_detail.cart_detail.order_details.forEach((product, product_index)=>{\r\n                    this.hide_specification_group[product_index]=\"false\"\r\n                    product.items.forEach((item) =>{\r\n                        this.order_total=this.order_total + (item.item_price + item.total_specification_price)*item.quantity\r\n                        this.product_item_total=this.product_item_total + (item.item_price + item.total_specification_price)*item.quantity\r\n                        this.total_item++;\r\n                        item.specifications.forEach((specification)=>{\r\n                            this.product_item_specification_total= this.product_item_specification_total + specification.specification_price;\r\n                        })\r\n                        this.product_item_specification_total_array.push(this.product_item_specification_total)\r\n                        this.product_item_specification_total=0;\r\n                    })\r\n                    this.product_specification_total_array.push(this.product_item_specification_total_array)\r\n                    this.product_item_specification_total_array=[];\r\n                    this.product_item_total_array.push(this.product_item_total)\r\n                    this.product_item_total=0;\r\n                })\r\n            }\r\n        });\r\n    }\r\n\r\n    give_rate_modal(orderid , index, type)\r\n    {\r\n        this.rating = 1;\r\n        this.review = '';\r\n        this.type = type;\r\n        this.order_id = orderid;\r\n        this.modal.open()\r\n        this.selected_order_index = index;\r\n    }\r\n\r\n    open_modal(type, id) {\r\n\r\n        this.user_id = id;\r\n        this.type = type;\r\n        this.modal.open();\r\n        this.wallet = null;\r\n    }\r\n\r\n    AddWallet(add_wallet_data) {\r\n        this.helper.http.post('/admin/add_wallet', add_wallet_data).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            if (res_data.success == true) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.modal.close();\r\n                this.helper.message();\r\n                this.user_detail.wallet = this.user_detail.wallet + +Number(add_wallet_data.wallet).toFixed(2);\r\n\r\n\r\n            }\r\n            else {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message();\r\n            }\r\n        });\r\n    }\r\n\r\n\r\n\r\n\r\n    open_sms_modal(type, id) {\r\n\r\n        this.user_id = id;\r\n        this.type = type;\r\n        this.sms_modal.open();\r\n        this.content = \"\";\r\n    }\r\n    SendSms(sms_data) {\r\n        this.helper.http.post('/admin/send_sms', sms_data).map((res: Response) => res.json()).subscribe(res_data => {\r\n            if (res_data.success == true) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.sms_modal.close();\r\n                this.helper.message();\r\n            }\r\n            else {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message();\r\n            }\r\n\r\n        });\r\n    }\r\n\r\n    open_notification_modal(type, id) {\r\n\r\n        this.user_id = id;\r\n        this.type = type;\r\n        this.notification_modal.open();\r\n        this.content = \"\";\r\n    }\r\n    SendNotification(notification_data) {\r\n        this.helper.http.post('/admin/send_notification', notification_data).map((res: Response) => res.json()).subscribe(res_data => {\r\n            if (res_data.success == true) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.notification_modal.close();\r\n                this.helper.message();\r\n            }\r\n            else {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message();\r\n            }\r\n\r\n        });\r\n    }\r\n\r\n    approved_decline(user_page_type, user_id) {\r\n        this.helper.http.post('/admin/approve_decline_user', {\r\n            user_id: user_id,\r\n            user_page_type: user_page_type\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            if (res_data.success == false) {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n            }\r\n            else {\r\n                this.user_detail.is_approved = !this.user_detail.is_approved;\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n            }\r\n            this.helper.message();\r\n        });\r\n    }\r\n\r\n    history(){\r\n        this.store_history(1);\r\n        this.order_earning(1);\r\n    }\r\n\r\n    get_review_history(){\r\n        this.myLoading = true;\r\n        this.helper.http.post('/admin/get_store_review_history', {store_id: this.user_detail._id}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n                this.review_list = [];\r\n            }\r\n            else {\r\n                this.review_list = res_data.review_list;\r\n                console.log(this.review_list)\r\n            }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading = false;\r\n            this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n    Array(number){\r\n        var array = []\r\n        for(var i= 0; i< number; i++){\r\n            array.push(' ')\r\n        }\r\n        return array;\r\n    }\r\n}\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/store_history/history.component.ts","import {Component, OnInit} from '@angular/core';\r\n\r\nimport {Helper} from \"../../helper\";\r\nimport {Response} from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\n\r\ndeclare var google: any;\r\ndeclare var jQuery: any;\r\n\r\n@Component({\r\n    selector: 'app-store_map',\r\n    template: require('./store_map.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class StoreMapComponent implements OnInit {\r\n\r\n    store_markers: any[] = [];\r\n    store_list: any[] = [];\r\n    filtered_store_list: any = [];\r\n    country_list: any[] = [];\r\n    delivery_list: any[] = [];\r\n    selected_country: string = \"All\";\r\n    selected_delivery: string = \"All\";\r\n    type: string = \"All\";\r\n    map: any = '';\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    myLoading: boolean = true;\r\n\r\n    constructor(public helper: Helper) {\r\n\r\n    }\r\n    ngAfterViewInit() {\r\n        jQuery(\".chosen-select\").chosen({disable_search: true});\r\n\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n\r\n\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n\r\n        var directionsDisplay = new google.maps.DirectionsRenderer;\r\n        navigator.geolocation.getCurrentPosition((position) => {\r\n            this.map = new google.maps.Map(document.getElementById('map'), {\r\n                zoom: 7,\r\n                streetViewControl: false,\r\n                center: {lat: position.coords.latitude, lng: position.coords.longitude}\r\n            });\r\n            directionsDisplay.setMap(this.map);\r\n\r\n            var input = document.getElementById('search');\r\n            var searchBox = new google.maps.places.SearchBox(input);\r\n            this.map.addListener('bounds_changed', () => {\r\n                searchBox.setBounds(this.map.getBounds());\r\n            });\r\n            searchBox.addListener('places_changed', () => {\r\n                var places = searchBox.getPlaces();\r\n                var bounds = new google.maps.LatLngBounds();\r\n                places.forEach(function (place) {\r\n                    if (place.geometry.viewport) {\r\n                        bounds.union(place.geometry.viewport);\r\n                    } else {\r\n                        bounds.extend(place.geometry.location);\r\n                    }\r\n                });\r\n                this.map.fitBounds(bounds);\r\n            });\r\n\r\n\r\n\r\n            this.helper.http.get('/api/admin/get_country_list').map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n                if (res_data.success) {\r\n                    this.country_list = res_data.countries;\r\n                }\r\n                else {\r\n                    this.country_list = [];\r\n                }\r\n\r\n            });\r\n            setTimeout(function () {\r\n                jQuery(\"#selected_country\").trigger(\"chosen:updated\");\r\n            }, 1000);\r\n\r\n            this.helper.http.get('/admin/delivery_list').map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n                if (res_data.success) {\r\n                    this.delivery_list = res_data.deliveries;\r\n                    console.log(this.delivery_list);\r\n                }\r\n                else {\r\n                    this.delivery_list = [];\r\n                }\r\n\r\n            });\r\n            setTimeout(function () {\r\n                jQuery(\"#selected_delivery\").trigger(\"chosen:updated\");\r\n            }, 1000);\r\n\r\n\r\n            this.helper.http.post('/admin/store_list_for_map', {}).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n\r\n                if (res_data.success) {\r\n                    this.store_list = res_data.stores;\r\n                    this.check_open(res_data.server_time);\r\n                }\r\n                else {\r\n                    this.store_list = [];\r\n                }\r\n\r\n            });\r\n\r\n            jQuery(this.helper.elementRef.nativeElement).find('#selected_country').on('change', (evnt, res_data) => {\r\n\r\n                this.selected_country = res_data.selected;\r\n                this.check_country()\r\n\r\n\r\n            });\r\n            \r\n            jQuery(this.helper.elementRef.nativeElement).find('#selected_delivery').on('change', (evnt, res_data) => {\r\n\r\n                this.selected_delivery = res_data.selected;\r\n                this.check_delivery()\r\n\r\n\r\n            });\r\n\r\n            jQuery(this.helper.elementRef.nativeElement).find('#type').on('change', (evnt, res_data) => {\r\n\r\n                this.type = res_data.selected;\r\n                this.check_country();\r\n                this.check_delivery();\r\n\r\n            });\r\n        });\r\n    }\r\n\r\n    check_country() {\r\n        this.filtered_store_list = this.store_list.filter((store_data) => {\r\n            return (this.selected_country == 'All' || this.selected_country == store_data.country_id );\r\n        });\r\n        this.check_provider_status()\r\n    }\r\n    \r\n    check_delivery() {\r\n        this.filtered_store_list = this.store_list.filter((store_data) => {\r\n            return (this.selected_delivery == 'All' || this.selected_delivery == store_data.store_delivery_id);\r\n            \r\n        });\r\n        this.check_provider_status()\r\n    }\r\n\r\n    check_open(server_date) {\r\n        this.store_list.forEach((store) => {\r\n            let date: any = server_date;\r\n            date = new Date(date).toLocaleString(\"en-US\", {timeZone: store.city_detail.timezone})\r\n            date = new Date(date);\r\n            let weekday = date.getDay();\r\n            let current_time = date.getTime();\r\n            store.close = true;\r\n            let week_index = store.store_time.findIndex((x) => x.day == weekday)\r\n            let day_time = store.store_time[week_index].day_time;\r\n            if (store.store_time[week_index].is_store_open_full_time) {\r\n                store.close = false;\r\n            }\r\n            else {\r\n                if (store.store_time[week_index].is_store_open) {\r\n                    if (day_time.length == 0) {\r\n                        store.close = true;\r\n                    } else {\r\n                        day_time.forEach((store_time, index) => {\r\n                            let open_time = store_time.store_open_time;\r\n                            open_time = open_time.split(':')\r\n                            let open_date_time = date.setHours(open_time[0], open_time[1], 0, 0)\r\n                            open_date_time = new Date(open_date_time);\r\n                            open_date_time = open_date_time.getTime();\r\n\r\n                            let close_time = store_time.store_close_time;\r\n                            close_time = close_time.split(':')\r\n                            let close_date_time = date.setHours(close_time[0], close_time[1], 0, 0)\r\n                            close_date_time = new Date(close_date_time);\r\n                            close_date_time = close_date_time.getTime();\r\n\r\n                            if (current_time > open_date_time && current_time < close_date_time) {\r\n                                store.close = false;\r\n                            }\r\n\r\n                        });\r\n                    }\r\n                } else {\r\n                    store.close = true;\r\n                }\r\n            }\r\n        });\r\n        this.filtered_store_list = JSON.parse(JSON.stringify(this.store_list));\r\n        this.create_marker(this.filtered_store_list)\r\n    }\r\n\r\n    check_provider_status() {\r\n        if (this.type == \"open\") {\r\n            let store_list = this.filtered_store_list.filter((store) => {\r\n                return store.close == false;\r\n            });\r\n            this.create_marker(store_list);\r\n        }\r\n        else if (this.type == \"close\") {\r\n            let store_list = this.filtered_store_list.filter((store) => {\r\n                return store.close == true;\r\n            });\r\n            this.create_marker(store_list);\r\n        }\r\n        else if (this.type == \"businessoff\") {\r\n            let store_list = this.filtered_store_list.filter((store) => {\r\n                return store.is_business == false;\r\n            });\r\n            this.create_marker(store_list);\r\n        }\r\n        else {\r\n            this.create_marker(this.filtered_store_list);\r\n        }\r\n    }\r\n\r\n    create_marker(store_list) {\r\n        this.store_markers.forEach(function (marker) {\r\n            marker.setMap(null);\r\n        });\r\n        this.store_markers = [];\r\n        store_list.forEach((store_data, index) => {\r\n            let icon_url = '/map_pin_images/Store/';\r\n            if (!store_data.is_business) {\r\n                icon_url = icon_url + 'store_business_off.png';\r\n            }\r\n            else if (store_data.close) {\r\n                icon_url = icon_url + 'store_close.png';\r\n            } else if (!store_data.close) {\r\n                icon_url = icon_url + 'store_open.png';\r\n            }\r\n\r\n            let marker = new google.maps.Marker({\r\n                position: {lat: store_data.location[0], lng: store_data.location[1]},\r\n                map: this.map,\r\n                icon: icon_url\r\n            });\r\n            this.store_markers.push(marker);\r\n            var contentString =\r\n                '<p><b>Name</b>: ' + store_data.name +\r\n                '<br><b>Rating</b>: ' + store_data.user_rate +\r\n                '</p>';\r\n\r\n            var message = new google.maps.InfoWindow({\r\n                content: contentString,\r\n                maxWidth: 320\r\n            });\r\n\r\n            google.maps.event.addListener(marker, 'click', function (e) {\r\n\r\n                message.open(this.map, marker);\r\n                setTimeout(function () {message.close();}, 5000);\r\n            });\r\n\r\n            if (index == store_list.length - 1) {\r\n                this.myLoading = false;\r\n            }\r\n        });\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/store_map/store_map.component.ts","import { Component, OnInit,ViewContainerRef, NgZone, ViewChild, ElementRef } from '@angular/core';\r\nimport {Helper} from \"../../store_helper\";\r\nimport { Http, Response } from '@angular/http';\r\ndeclare var jQuery:any;\r\nimport { ModalComponent } from 'ng2-bs3-modal/ng2-bs3-modal';\r\ndeclare var swal: any;\r\nimport {ImageCropperComponent, CropperSettings} from 'ng2-img-cropper';\r\n\r\nexport interface AddProduct{\r\n    name:String,\r\n    is_visible_in_store:Boolean,\r\n    store_id:Object,\r\n    type: number,\r\n    server_token:String,\r\n    sequence_number: number\r\n}\r\nexport interface AddItem{\r\n    store_id: Object,\r\n    server_token:String,\r\n    product_id: Object,\r\n    details: String,\r\n    name: String,\r\n    type: number,\r\n    price: any,\r\n    ref_code: string,\r\n    is_visible_in_store:  Boolean,\r\n    is_item_in_stock: Boolean,\r\n    is_most_popular:  Boolean,\r\n    sequence_number: number\r\n}\r\n\r\nexport interface imageSetting{\r\n    image_ratio: number,\r\n    image_min_width: number,\r\n    image_max_width: number\r\n    image_min_height: number,\r\n    image_max_height: number,\r\n    image_type: any[]\r\n}\r\n\r\n@Component({\r\n    selector: 'app-products',\r\n    template: require('./products.component.html'),\r\n    providers: [Helper]\r\n})\r\n\r\nexport class AdminProductsComponent implements OnInit {\r\n\r\n    @ViewChild('add_specification_modal')\r\n    add_specification_modal: ModalComponent;\r\n\r\n    @ViewChild('edit_product_modal')\r\n    edit_product_modal: ModalComponent;\r\n    @ViewChild('image_crop_modal')\r\n    image_crop_modal: ModalComponent;\r\n    @ViewChild('cropper', undefined)\r\n    cropper:ImageCropperComponent;\r\n    @ViewChild('item_spec_modal')\r\n    item_spec_modal: ModalComponent;\r\n\r\n    @ViewChild('import_data_modal')\r\n    import_data_modal: ModalComponent;\r\n    import_data_file: File;\r\n    import_file_error: boolean = false;\r\n\r\n    InputVar: ElementRef; \r\n\r\n    public image_setting : imageSetting;\r\n\r\n    private add_product: AddProduct;\r\n    title:any;\r\n    button:any;\r\n    heading_title:any;\r\n    addproductform:Boolean;\r\n    validation_message:any;\r\n    product_list:any[];\r\n    filtered_product_list:any[] = [];\r\n    item_list: any[] = [];\r\n    filtered_item_list: any[] = [];\r\n    product_already_exist:Boolean = false;\r\n    filter_product_name:String = \"\";\r\n    myLoading:boolean = true;\r\n    selected_product_id: any = '';\r\n    selected_product_id_for_specification: any = '';\r\n    data: any;\r\n    selected_specification_group_id: any = '';\r\n    selected_specification_group_name: string = '';\r\n    product_data: any = {};\r\n    specification_group_name: string = '';\r\n    specification_group_ref_code: string = '';\r\n    selected_item_id: string = '';\r\n    item_detail: any = {};\r\n\r\n    private add_item: AddItem;\r\n    item_already_exist: boolean = false;\r\n    new_image_array: any[] = [];\r\n    image_error: string = '';\r\n    cropperSettings: CropperSettings;\r\n    deleted_image_url: any[] = [];\r\n    specification_list: any[] = [];\r\n    specification_name_array: any[] = [];\r\n    delete_specification_array: any[] = [];\r\n    specification_name: string = '';\r\n    selected_item_specification: string = '';\r\n    item_specification_group_list: any[] = [];\r\n    selected_spec_group_for_item: string = '';\r\n\r\n    /// for add item spec\r\n    product_specification_list: any[] = [];\r\n    checked_array: any[] = [];\r\n    specification_id_array: any[] = [];\r\n    spec_list_error: number = 0;\r\n    selected_specification_list: any[] = [];\r\n    spec_button: string;\r\n    index: number;\r\n    item_error: string;\r\n\r\n    constructor(public helper: Helper, private zone: NgZone, public vcr: ViewContainerRef){\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n        this.cropperSettings = new CropperSettings();\r\n        this.cropperSettings.canvasWidth = 400;\r\n        this.cropperSettings.canvasHeight = 400;\r\n        this.cropperSettings.noFileInput = true;\r\n        this.cropperSettings.preserveSize = true;\r\n        this.cropperSettings.height = 200;\r\n        this.cropperSettings.width = this.cropperSettings.height * this.helper.image_ratio.ITEM_IMAGE;\r\n        this.data = {};\r\n    }\r\n\r\n    ngOnDestroy(){\r\n        this.helper.router_id.admin.back_url_show = false;\r\n        this.helper.clear_height_width();\r\n    }\r\n\r\n    import_data(){\r\n        this.import_data_modal.open();\r\n    }\r\n\r\n    upload_excel($event) {\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const logo_image = files[0];\r\n        console.log(files[0])\r\n        var ext = files[0].name.substring(files[0].name.lastIndexOf('.') + 1);\r\n        console.log(ext)\r\n        if(ext == 'csv' || ext == 'xlsx' || ext == 'xls'){\r\n            this.import_file_error = false;\r\n            this.import_data_file = logo_image; \r\n        } else {\r\n            this.import_file_error = true;\r\n        }\r\n    }\r\n\r\n    export_menu(myLoading, export_response){\r\n        this.myLoading = true;\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_STORE_PRODUCT_ITEM_LIST,{type: this.helper.ADMIN_DATA_ID.ADMIN, store_id:this.add_product.store_id, server_token:this.add_product.server_token}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n            this.myLoading = myLoading;\r\n            if(res_data.success){\r\n                var json2csv = require('json2csv');\r\n                var fields  = ['product_name', 'item_name', 'description', 'price', 'ref_code', 'image_url'];\r\n                var fieldNames = ['Category Name', 'Item Name', 'Description', 'Price', 'Ref. Code', 'Image Url'];\r\n\r\n                var product_item_data = [];\r\n                res_data.products.forEach((product_detail)=>{\r\n                    product_detail.items.forEach((item_detail)=>{\r\n                        product_item_data.push({\r\n                            product_name: product_detail.name,\r\n                            item_name: item_detail.name,\r\n                            description: item_detail.details,\r\n                            price: item_detail.price,\r\n                            ref_code: item_detail.ref_code,\r\n                            image_url: this.helper.get_image(item_detail.image_url[0]) || ''\r\n                        })\r\n                    })\r\n                })\r\n\r\n                var csv = json2csv({data: product_item_data, fields: fields,fieldNames:fieldNames});\r\n                this.helper.downloadFile(csv);\r\n                if(export_response){\r\n                    export_response(true);\r\n                }\r\n            } else {\r\n                if(export_response){\r\n                    export_response(true);\r\n                }\r\n            }\r\n        });\r\n    }\r\n\r\n    upload_excel_data() {\r\n        if(this.import_data_file) {\r\n            this.export_menu(true, (export_response)=>{;\r\n                // this.myLoading = true;\r\n                this.formData.append('store_id', this.add_product.store_id.toString());\r\n                this.formData.append('server_token', this.add_product.server_token.toString());\r\n                this.formData.append('excel_file', this.import_data_file);\r\n                this.helper.http.post('/store/delete_all_products', {store_id: this.add_product.store_id, server_token: this.add_product.server_token}).map((res: Response) => res.json()).subscribe(res_data => {\r\n                    this.helper.http.post('/store/upload_store_data_excel', this.formData).map((res: Response) => res.json()).subscribe(res_data => {\r\n                        if(res_data.success){\r\n                            this.myLoading = false;\r\n                            this.formData = new FormData();\r\n                            this.import_data_modal.close();\r\n                            jQuery('#remove').click();\r\n                            this.ngOnInit();\r\n                        } else {\r\n                            this.myLoading = false;\r\n                            this.helper.data.storage = {\r\n                                \"message\": 'Please upload valid file',\r\n                                \"class\": \"alert-danger\"\r\n                            }\r\n                            this.helper.message();\r\n                        }\r\n                    });\r\n                });\r\n            });\r\n        }\r\n    }\r\n    \r\n    ngOnInit() {\r\n        this.helper.height = 200;\r\n        this.helper.width = 200;\r\n        this.helper.router_id.admin.back_url = 'admin/stores';\r\n        this.helper.router_id.admin.back_url_show = true;\r\n        this.image_setting = {\r\n            image_ratio : 1,\r\n            image_min_width: 100,\r\n            image_max_width: 100,\r\n            image_min_height: 100,\r\n            image_max_height: 100,\r\n            image_type: []\r\n        }\r\n\r\n        this.add_product ={\r\n            name:\"\",\r\n            is_visible_in_store:true,\r\n            store_id:\"\",\r\n            type: null,\r\n            server_token:\"\",\r\n            sequence_number: null\r\n        }\r\n        this.helper.message();\r\n\r\n        this.add_item ={\r\n            store_id: \"\",\r\n            server_token:\"\",\r\n            product_id: \"\",\r\n            details: \"\",\r\n            type: null,\r\n            name: \"\",\r\n            price: 0,\r\n            ref_code: '',\r\n            is_visible_in_store:  true,\r\n            is_item_in_stock: true,\r\n            is_most_popular:  false,\r\n            sequence_number: null\r\n        }\r\n\r\n        this.add_product.store_id=this.helper.router_id.admin.store_id\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.heading_title=this.helper.heading_title\r\n        this.validation_message=this.helper.validation_message;\r\n        this.addproductform=false;\r\n\r\n        this.get_product_list();\r\n        \r\n\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_IMAGE_SETTING, {\r\n        }).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n                this.image_setting.image_ratio = res_data.image_setting.item_image_ratio;\r\n                this.image_setting.image_min_width = res_data.image_setting.item_image_min_width;\r\n                this.image_setting.image_max_width = res_data.image_setting.item_image_max_width;\r\n                this.image_setting.image_min_height = res_data.image_setting.item_image_min_height;\r\n                this.image_setting.image_max_height = res_data.image_setting.item_image_max_height;\r\n                this.image_setting.image_type = res_data.image_setting.image_type;\r\n\r\n                setTimeout(() => {\r\n                    this.cropperSettings.width = this.cropperSettings.height * res_data.image_setting.product_image_ratio;\r\n                },1000);\r\n            },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    get_product_list(){\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_PRODUCT_LIST,{type: this.helper.ADMIN_DATA_ID.ADMIN, store_id:this.add_product.store_id, server_token:this.add_product.server_token}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n                this.myLoading=false;\r\n                this.helper.string_log('loading' , this.myLoading)\r\n                if(res_data.success == false)\r\n                {\r\n                    this.product_list=[];\r\n                    this.filtered_product_list=res_data.products;\r\n                }\r\n                else\r\n                {\r\n                    this.product_list=res_data.products;\r\n                    this.filtered_product_list=res_data.products;\r\n                    \r\n                    this.filtered_product_list.sort(this.sortItem);\r\n                    this.filtered_product_list.forEach((product, index)=>{\r\n                        // if(product.sequence_number == undefined){\r\n                            product.sequence_number = index;\r\n                        // }\r\n                    });\r\n                    if(this.filtered_product_list.length>0){\r\n                        this.update_sequence_number(1, false)\r\n                    }\r\n                    \r\n                    if(this.filtered_product_list.length>0){\r\n                        this.selected_product_id = this.filtered_product_list[0]._id;\r\n                        this.get_item_list();\r\n                        this.item_specification_group_list = this.filtered_product_list[0].specifications_details;\r\n                    }\r\n                    jQuery('#sortable_product').sortable({\r\n                        start: function(event, ui) {\r\n                            var start_pos = ui.item.index();\r\n                            ui.item.data('start_pos', start_pos);\r\n                        },\r\n                        update: (event, ui)=> {\r\n                            var start_pos = ui.item.data('start_pos');\r\n                            var index = ui.item.index();\r\n\r\n                            if (start_pos < index) {\r\n                                this.filtered_product_list.forEach((item)=>{\r\n                                    if(item.sequence_number >=start_pos+1 && item.sequence_number <=index){\r\n                                        item.sequence_number--;\r\n                                    }\r\n                                });\r\n\r\n                                let i_index = this.filtered_product_list.findIndex((x)=>x.sequence_number == start_pos);\r\n                                if(i_index != -1){\r\n                                    this.filtered_product_list[i_index].sequence_number = index;\r\n                                }\r\n                            } else {\r\n                                let i_index = this.filtered_product_list.findIndex((x)=>x.sequence_number == start_pos);\r\n                                \r\n                                this.filtered_product_list.forEach((product)=>{\r\n                                    if(product.sequence_number >=index && product.sequence_number <=start_pos-1){\r\n                                        product.sequence_number++;\r\n                                    }\r\n                                });\r\n                                if(i_index != -1){\r\n                                    this.filtered_product_list[i_index].sequence_number = index;\r\n                                }\r\n                            }\r\n                        }\r\n                    });\r\n                }\r\n\r\n            },\r\n            (error: any) => {\r\n            });\r\n    }\r\n\r\n\r\n    open_specification(product_id){\r\n        this.selected_product_id_for_specification=product_id;\r\n    }\r\n    close_specification(product_id){\r\n        this.selected_product_id_for_specification='';\r\n    }\r\n\r\n    delete_specification_group(id, product_index, sp_group_index, event)\r\n    {\r\n        swal({\r\n            title: 'Are you sure?',\r\n            text: \"You won't be able to revert this!\",\r\n            type: 'warning',\r\n            showCancelButton: true,\r\n            confirmButtonColor: '#3085d6',\r\n            cancelButtonColor: '#d33',\r\n            confirmButtonText: 'Yes, delete it!'\r\n        }).then(() => {\r\n\r\n            this.myLoading=true;\r\n            this.helper.http.post(this.helper.POST_METHOD.DELETE_SPECIFICATION_GROUP,{type: this.helper.ADMIN_DATA_ID.ADMIN, store_id:this.add_product.store_id, product_id:this.selected_product_id_for_specification,server_token:this.add_product.server_token,\r\n                specification_group_id:id}).map((response: Response) => response.json()) .subscribe(res_data => {\r\n\r\n                    this.myLoading=false;\r\n                    if(res_data.success)\r\n                    {\r\n                        this.helper.data.storage = {\r\n                            \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                            \"class\": \"alert-info\"\r\n                        }\r\n                        this.filtered_product_list[product_index].specifications_details.splice(sp_group_index, 1);\r\n                        if(this.selected_specification_group_id == id){\r\n                            if(this.filtered_product_list[product_index].specifications_details.length>0){\r\n                                this.get_specification(this.filtered_product_list[product_index].specifications_details[0]._id)\r\n                            } else {\r\n                                this.selected_product_id = this.filtered_product_list[product_index]._id;\r\n                                this.selected_product_id_for_specification = '';\r\n                                this.selected_specification_group_id = '';\r\n                                var index = this.filtered_product_list.findIndex((x)=>x._id==this.filtered_product_list[product_index]._id);\r\n                                this.item_specification_group_list = this.filtered_product_list[index].specifications_details;\r\n                                this.get_item_list();\r\n                            }\r\n                        }\r\n                    }\r\n                    else\r\n                    {\r\n                        this.helper.data.storage = {\r\n                            \"code\": res_data.error_code,\r\n                            \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                            \"class\": \"alert-danger\"\r\n                        }\r\n                    }\r\n                    this.helper.message()\r\n                },\r\n                (error: any) => {\r\n                    this.myLoading=false;\r\n                    this.helper.http_status(error)\r\n                });\r\n        }).catch(swal.noop)\r\n    }\r\n\r\n    get_specification(id) {\r\n        this.selected_specification_group_id = id;\r\n        this.myLoading = true;\r\n        this.specification_name_array = [];\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_SPECIFICATION_GROUP, {type: this.helper.ADMIN_DATA_ID.ADMIN, product_id: this.selected_product_id_for_specification,\r\n            specification_group_id: this.selected_specification_group_id, store_id: this.add_product.store_id, server_token: this.add_product.server_token}).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if(res_data.success){\r\n                this.selected_specification_group_name = res_data.specification_group[0].name;\r\n                this.specification_list = res_data.specification_group[0].list;\r\n            } else {\r\n                this.specification_list = [];\r\n                this.selected_specification_group_name = '';\r\n            }\r\n        });\r\n    }\r\n\r\n    deleteSpecification(id , specification_index)\r\n    {\r\n        if(id == ''){\r\n            this.specification_name_array.splice(specification_index,1);\r\n        } else {\r\n            this.specification_list.splice(specification_index,1)\r\n            this.delete_specification_array.push(id)\r\n        }\r\n    }\r\n\r\n    addSpecification(){\r\n        if(this.specification_name){\r\n            this.specification_name_array.push(this.specification_name);\r\n            this.specification_name = '';\r\n        }\r\n    }\r\n\r\n    updateSpecification() {\r\n\r\n        if(this.specification_name_array.length > 0)\r\n        {\r\n            this.myLoading=true;\r\n            this.helper.http.post(this.helper.POST_METHOD.ADD_SPECIFICATION,{type: this.helper.ADMIN_DATA_ID.ADMIN, specification_group_id: this.selected_specification_group_id , specification_name :this.specification_name_array ,product_id:this.selected_product_id_for_specification,\r\n                store_id:this.add_product.store_id, server_token:this.add_product.server_token}).map((res_data: Response) => res_data.json()) .subscribe(res_data => {\r\n\r\n                    this.specification_name_array = [];\r\n                    this.myLoading=false;\r\n                    if(res_data.success)\r\n                    {\r\n                        this.specification_list = res_data.specifications\r\n                        if(this.delete_specification_array.length > 0)\r\n                        {\r\n                            this.myLoading=true;\r\n                            this.helper.http.post(this.helper.POST_METHOD.DELETE_SPECIFICATION,{type: this.helper.ADMIN_DATA_ID.ADMIN, specification_group_id: this.selected_specification_group_id , specification_id :this.delete_specification_array ,product_id:this.selected_product_id_for_specification,\r\n                                store_id:this.add_product.store_id, server_token:this.add_product.server_token}).map((res_data: Response) => res_data.json()) .subscribe(res_data => {\r\n                                    this.delete_specification_array = [];\r\n                                    this.myLoading=false;\r\n                                    if(res_data.success)\r\n                                    {\r\n                                        this.specification_list = res_data.specifications\r\n                                    }\r\n                                    else\r\n                                    {\r\n                                        this.helper.data.storage = {\r\n                                            \"code\": res_data.error_code,\r\n                                            \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                                            \"class\": \"alert-danger\"\r\n                                        }\r\n                                    }\r\n                                },\r\n                                (error: any) => {\r\n                                    this.myLoading=false;\r\n                                    this.helper.http_status(error)\r\n                                });\r\n                        }\r\n                    }\r\n                    else\r\n                    {\r\n                        this.helper.data.storage = {\r\n                            \"code\": res_data.error_code,\r\n                            \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                            \"class\": \"alert-danger\"\r\n                        }\r\n                    }\r\n\r\n                },\r\n                (error: any) => {\r\n                    this.myLoading=false;\r\n                    this.helper.http_status(error)\r\n                });\r\n        } else if(this.delete_specification_array.length > 0)\r\n                        {\r\n                            this.myLoading=true;\r\n                            this.helper.http.post(this.helper.POST_METHOD.DELETE_SPECIFICATION,{type: this.helper.ADMIN_DATA_ID.ADMIN, specification_group_id: this.selected_specification_group_id , specification_id :this.delete_specification_array ,product_id:this.selected_product_id_for_specification,\r\n                                store_id:this.add_product.store_id, server_token:this.add_product.server_token}).map((res_data: Response) => res_data.json()) .subscribe(res_data => {\r\n                                    this.delete_specification_array = [];\r\n                                    this.myLoading=false;\r\n                                    if(res_data.success)\r\n                                    {\r\n                                        this.specification_list = res_data.specifications\r\n                                    }\r\n                                    else\r\n                                    {\r\n                                        this.helper.data.storage = {\r\n                                            \"code\": res_data.error_code,\r\n                                            \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                                            \"class\": \"alert-danger\"\r\n                                        }\r\n                                    }\r\n                                },\r\n                                (error: any) => {\r\n                                    this.myLoading=false;\r\n                                    this.helper.http_status(error)\r\n                                });\r\n                        }\r\n    }\r\n\r\n    select_product(product_id, event){\r\n        if(!event.target.attributes.class || event.target.attributes.class.value == 'product_li' || event.target.attributes.class.value == 'product_li success-element'){\r\n            this.selected_product_id = product_id;\r\n            this.selected_product_id_for_specification = '';\r\n            this.selected_specification_group_id = '';\r\n            var index = this.filtered_product_list.findIndex((x)=>x._id==product_id);\r\n            this.item_specification_group_list = this.filtered_product_list[index].specifications_details;\r\n\r\n            this.get_item_list();\r\n        }\r\n    }\r\n\r\n    check_product()\r\n    {\r\n        var product_index = this.product_list.findIndex(x => x.name.toLowerCase()==this.add_product.name.trim().toLowerCase())\r\n\r\n        if(product_index == -1)\r\n        {\r\n            this.product_already_exist = false;\r\n        }\r\n        else\r\n        {\r\n            this.product_already_exist = true;\r\n        }\r\n    }\r\n\r\n    open_edit_product_modal(product){\r\n        this.product_data = JSON.parse(JSON.stringify(product));\r\n        this.edit_product_modal.open();\r\n    }\r\n    open_add_specification_modal(product_id){\r\n        this.add_specification_modal.open();\r\n    }\r\n\r\n    filter_product(data)\r\n    {\r\n        data = data.replace(/^\\s+|\\s+$/g, '');\r\n        data = data.replace(/ +(?= )/g, '');\r\n        data = new RegExp(data,\"gi\");\r\n\r\n        this.filtered_product_list = this.product_list.filter((product) => {\r\n            var a = product.name.match(data);\r\n            return a !== null\r\n        });\r\n    }\r\n    viewSpecification(id)\r\n    {\r\n        this.helper.router_id.store.specification_product_id=id;\r\n        this.helper.router.navigate(['store/product/specification']);\r\n    }\r\n    addProduct()\r\n    {\r\n        if(!this.product_already_exist && this.add_product.name.trim() != '') {\r\n            this.myLoading = true;\r\n            this.add_product.is_visible_in_store = true;\r\n            this.add_product.sequence_number = this.product_list.length;\r\n            this.add_product.type =  this.helper.ADMIN_DATA_ID.ADMIN;\r\n            this.helper.http.post(this.helper.POST_METHOD.ADD_PRODUCT, this.add_product).map((res: Response) => res.json()).subscribe(res_data => {\r\n                this.addproductform = false\r\n                this.add_product.name = \"\"\r\n                this.add_product.is_visible_in_store = true;\r\n\r\n                this.myLoading = false;\r\n                if (res_data.success == true) {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n                    this.helper.message()\r\n                    res_data.product.specifications_details = [];\r\n                    this.product_list.push(res_data.product)\r\n                    this.filter_product(this.filter_product_name)\r\n\r\n                }\r\n                else {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message()\r\n                }\r\n            },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n        }\r\n    }\r\n\r\n    updateProduct(product_data, event)\r\n    {\r\n        var json = {\r\n            store_id: this.add_product.store_id,\r\n            product_id: product_data._id,\r\n            server_token: this.add_product.server_token,\r\n            is_visible_in_store: event,\r\n            type: this.helper.ADMIN_DATA_ID.ADMIN,\r\n            name: product_data.name\r\n\r\n        }\r\n        product_data.is_visible_in_store = event;\r\n        this.myLoading=true;\r\n        this.helper.http.post(this.helper.POST_METHOD.UPDATE_PRODUCT,json).map((res:Response) => res.json()).subscribe(res_data=>{\r\n\r\n                this.myLoading=false;\r\n                if(res_data.success == true)\r\n                {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n                    let index = this.filtered_product_list.findIndex((x)=>x._id==product_data._id);\r\n                    this.filtered_product_list[index].name = product_data.name;\r\n                    this.edit_product_modal.close();\r\n                }\r\n                else\r\n                {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message();\r\n                }\r\n            },\r\n            (error: any) => {\r\n                this.myLoading=false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    add_specification_group()\r\n    {\r\n        if(this.specification_group_name != '') {\r\n            this.myLoading = true;\r\n            this.helper.http.post(this.helper.POST_METHOD.ADD_SPECIFICATION_GROUP,\r\n                {\r\n                    type: this.helper.ADMIN_DATA_ID.ADMIN,\r\n                    store_id: this.add_product.store_id,\r\n                    product_id: this.selected_product_id,\r\n                    server_token: this.add_product.server_token,\r\n                    specification_group_name: [this.specification_group_name],\r\n                    specification_group_ref_code: [this.specification_group_ref_code],\r\n                }).map((response: Response) => response.json()).subscribe(res_data => {\r\n                    this.specification_group_name = \"\";\r\n                    this.specification_group_ref_code = '';\r\n                    this.myLoading = false;\r\n                    if (res_data.success) {\r\n                        this.helper.data.storage = {\r\n                            \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                            \"class\": \"alert-info\"\r\n                        }\r\n                        var index = this.filtered_product_list.findIndex((x) => x._id == this.selected_product_id);\r\n                        this.filtered_product_list[index].specifications_details = res_data.specification_group;\r\n                        this.add_specification_modal.close();\r\n                    }\r\n                    else {\r\n                        this.helper.data.storage = {\r\n                            \"code\": res_data.error_code,\r\n                            \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                            \"class\": \"alert-danger\"\r\n                        }\r\n                    }\r\n                    this.helper.message();\r\n                },\r\n                (error: any) => {\r\n                    this.myLoading = false;\r\n                    this.helper.http_status(error)\r\n                });\r\n        }\r\n    }\r\n\r\n    sortItem(a,b) {\r\n        if (a.sequence_number < b.sequence_number)\r\n            return -1;\r\n        if (a.sequence_number > b.sequence_number)\r\n            return 1;\r\n        return 0;\r\n    }\r\n\r\n    get_item_list(){\r\n        this.myLoading = true;\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_STORE_PRODUCT_ITEM_LIST,{type: this.helper.ADMIN_DATA_ID.ADMIN, store_id:this.add_product.store_id, server_token:this.add_product.server_token,\r\n            product_id: this.selected_product_id}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n            this.myLoading = false;\r\n            if(res_data.success){\r\n                this.filtered_item_list = res_data.products[0].items;\r\n\r\n                if(this.filtered_item_list.length>0){\r\n                    this.selected_item_id = this.filtered_item_list[0]._id;\r\n                    this.item_detail = JSON.parse(JSON.stringify(this.filtered_item_list[0]))\r\n                } else {\r\n                    this.selected_item_id = '';\r\n                    this.item_detail = {};\r\n                }\r\n            } else {\r\n                this.filtered_item_list = [];\r\n                this.selected_item_id = '';\r\n                this.item_detail = {};\r\n            }\r\n\r\n            this.filtered_item_list.sort(this.sortItem);\r\n            this.filtered_item_list.forEach((item, index)=>{\r\n                // if(item.sequence_number == undefined){\r\n                    item.sequence_number = index;\r\n                // }\r\n            });\r\n            if(this.filtered_item_list.length>0){\r\n                this.update_sequence_number(2, false)\r\n            }\r\n\r\n            jQuery('#sortable').sortable({\r\n                start: function(event, ui) {\r\n                    var start_pos = ui.item.index();\r\n                    ui.item.data('start_pos', start_pos);\r\n                },\r\n                update: (event, ui)=> {\r\n                    var start_pos = ui.item.data('start_pos');\r\n                    var index = ui.item.index();\r\n\r\n                    if (start_pos < index) {\r\n                        this.filtered_item_list.forEach((item)=>{\r\n                            if(item.sequence_number >=start_pos+1 && item.sequence_number <=index){\r\n                                item.sequence_number--;\r\n                            }\r\n                        });\r\n\r\n                        let i_index = this.filtered_item_list.findIndex((x)=>x.sequence_number == start_pos);\r\n                        if(i_index != -1){\r\n                            this.filtered_item_list[i_index].sequence_number = index;\r\n                        }\r\n\r\n                    } else {\r\n                        let i_index = this.filtered_item_list.findIndex((x)=>x.sequence_number == start_pos);\r\n                       \r\n                        this.filtered_item_list.forEach((item)=>{\r\n                            if(item.sequence_number >=index && item.sequence_number <=start_pos-1){\r\n                                item.sequence_number++;\r\n                            }\r\n                        });\r\n                        if(i_index != -1){\r\n                            this.filtered_item_list[i_index].sequence_number = index;\r\n                        }\r\n                    }\r\n                }\r\n            });\r\n            setTimeout(()=>{\r\n                jQuery('.chosen-select').chosen();\r\n                jQuery('.chosen-select').trigger(\"chosen:updated\");\r\n                jQuery(this.helper.elementRef.nativeElement).find('.chosen-select').on('change', (evnt,res_data) => {\r\n                    this.selected_spec_group_for_item = res_data.selected;\r\n                });\r\n            },1000);\r\n        });\r\n    }\r\n\r\n    update_sequence_number(type, bool) {\r\n        this.myLoading = true;\r\n        if(type == 1){\r\n            this.helper.http.post(this.helper.POST_METHOD.UPDATE_SEQUENCE_NMBER, {type: type, filtered_product_list: this.filtered_product_list}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n                this.myLoading = false;\r\n                if(bool){\r\n\r\n                this.helper.data.storage = {\r\n                    \"message\": \"Category Sequence Updated Successfully\",\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.helper.message();\r\n                }\r\n            });\r\n        } else {\r\n            this.helper.http.post(this.helper.POST_METHOD.UPDATE_SEQUENCE_NMBER, {type: type, filtered_item_list: this.filtered_item_list}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n                this.myLoading = false;\r\n                if(bool){\r\n\r\n                    this.helper.data.storage = {\r\n                        \"message\": \"Item Sequence Updated Successfully\",\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n                    this.helper.message();\r\n                }\r\n            });\r\n        }\r\n\r\n    }\r\n\r\n    select_item(item_id, event){\r\n        this.new_image_array = [];\r\n        this.deleted_image_url = [];\r\n        this.selected_item_id = item_id;\r\n        let index = this.filtered_item_list.findIndex((x)=>x._id == item_id);\r\n        this.item_detail = JSON.parse(JSON.stringify(this.filtered_item_list[index]));\r\n    }\r\n\r\n    check_item()\r\n    {\r\n        var item_index = this.filtered_item_list.findIndex(x => x.name.toLowerCase()==this.add_item.name.toLowerCase() && x.product_id==this.selected_product_id )\r\n        if(item_index == -1)\r\n        {\r\n            this.item_already_exist = false;\r\n        }\r\n        else\r\n        {\r\n            this.item_already_exist = true;\r\n        }\r\n    }\r\n\r\n    add_item_data(){\r\n\r\n        if(!this.item_already_exist && this.add_item.name.trim() && this.add_item.price) {\r\n            this.item_error = '';\r\n            this.myLoading = true;\r\n            this.add_item.product_id = this.selected_product_id;\r\n            this.add_item.store_id = this.add_product.store_id;\r\n            this.add_item.server_token = this.add_product.server_token;\r\n            this.add_item.name = this.add_item.name.trim();\r\n            this.add_item.type= this.helper.ADMIN_DATA_ID.ADMIN;\r\n            this.add_item.sequence_number= this.filtered_item_list.length;\r\n                this.helper.http.post(this.helper.POST_METHOD.ADD_ITEM, this.add_item).map((res: Response) => res.json()).subscribe(res_data => {\r\n                this.myLoading=false;\r\n                if(res_data.success == true)\r\n                {\r\n                    this.filtered_item_list.push(res_data.item);\r\n                    this.selected_item_id = res_data.item._id;\r\n                    this.item_detail = JSON.parse(JSON.stringify(res_data.item));\r\n                    this.add_item ={\r\n                        store_id: \"\",\r\n                        server_token:\"\",\r\n                        product_id: \"\",\r\n                        details: \"\",\r\n                        type: null,\r\n                        name: \"\",\r\n                        price: 0,\r\n                        ref_code: '',\r\n                        is_visible_in_store:  true,\r\n                        is_item_in_stock: true,\r\n                        is_most_popular:  false,\r\n                        sequence_number: null\r\n                    }\r\n                } else {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message();\r\n                }\r\n            });\r\n        } else if(this.item_already_exist){\r\n            this.item_error = this.helper.messages.item_already_exist;\r\n        } else if(!this.add_item.name.trim()){\r\n            this.item_error = this.helper.validation_message.item_name_required;\r\n        } else if(!this.add_item.price){\r\n            this.item_error = this.helper.validation_message.item_price_required;\r\n        } else if(!this.add_item.ref_code){\r\n            this.item_error = this.helper.validation_message.item_ref_code_required;\r\n        }\r\n    }\r\n\r\n    image_update($event, fieldname) {\r\n        this.image_error = \"\";\r\n        const files = $event.target.files || $event.srcElement.files;\r\n\r\n        for(var i=0; i<files.length; i++){\r\n            const image_url = files[i];\r\n            var index = this.image_setting.image_type.indexOf(image_url.type);\r\n            if (index !== -1) {\r\n                var reader = new FileReader();\r\n\r\n                reader.onload = (e: any) => {\r\n                    var new_image = new Image();\r\n                    new_image.src = e.target.result;\r\n                    this.cropper.setImage(new_image);\r\n                    new_image.onload = () => {\r\n\r\n                        if(new_image.width >= this.image_setting.image_min_width && new_image.width < this.image_setting.image_max_width &&\r\n                            new_image.height >= this.image_setting.image_min_height && new_image.height < this.image_setting.image_max_height ){\r\n\r\n                            if(new_image.width == (new_image.height * this.image_setting.image_ratio)){\r\n\r\n                                this.new_image_array.unshift({base64_image: e.target.result, file: image_url});\r\n                                this.InputVar.nativeElement.value = \"\"; \r\n                            } else {\r\n                                this.image_crop_modal.open();\r\n                                this.image_error = this.title.item_image_ratio_error;\r\n                                this.InputVar.nativeElement.value = \"\"; \r\n                            }\r\n\r\n                        } else {\r\n                            this.image_crop_modal.open();\r\n                            this.image_error = this.title.item_image_size_error;\r\n                            this.InputVar.nativeElement.value = \"\"; \r\n                        }\r\n\r\n                    }\r\n                }\r\n                reader.readAsDataURL(image_url);\r\n            } else {\r\n                this.image_error = this.title.item_image_extension_error;\r\n            }\r\n        }\r\n    }\r\n\r\n    crop($event){\r\n        this.myLoading = true;\r\n        this.image_error = '';\r\n        function dataURLtoFile(dataurl, filename) {\r\n            var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],\r\n                bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);\r\n            while(n--){\r\n                u8arr[n] = bstr.charCodeAt(n);\r\n            }\r\n            return new File([u8arr], filename, {type:mime});\r\n        }\r\n        let image_type = this.image_setting.image_type\r\n        image_type= image_type[0].split('/')\r\n        var image_url = dataURLtoFile(this.cropper.image.image, 'image.'+image_type[0]);\r\n\r\n        var reader = new FileReader();\r\n        reader.onload = (e: any) => {\r\n            \r\n            var new_image = new Image();\r\n            new_image.src = e.target.result;\r\n            // this.cropper.setImage(new_image);\r\n            new_image.onload = () => {\r\n                this.zone.run(() => {\r\n                    this.myLoading = false;\r\n                    if(new_image.width >= this.image_setting.image_min_width && new_image.width < this.image_setting.image_max_width &&\r\n                        new_image.height >= this.image_setting.image_min_height && new_image.height < this.image_setting.image_max_height ){\r\n\r\n                        this.new_image_array.unshift({base64_image: e.target.result, file: image_url});\r\n                        // this.formData.append('image_url', image_url)\r\n                        this.myLoading = false;\r\n                        this.image_crop_modal.close();\r\n\r\n                    } else {\r\n                        this.myLoading = false;\r\n                        this.image_error = this.title.item_image_size_error;\r\n                    }\r\n                });\r\n            }\r\n        }\r\n        reader.readAsDataURL(image_url);\r\n\r\n    }\r\n\r\n    remove_new_image(index) {\r\n        this.new_image_array.splice(index, 1)\r\n    }\r\n\r\n    delete_item_image(image, index) {\r\n        this.item_detail.image_url.splice(index, 1);\r\n        this.deleted_image_url.push(image)\r\n    }\r\n\r\n    open_specification_modal(){\r\n        if(this.selected_spec_group_for_item) {\r\n            this.checked_array = [];\r\n            let json = {\r\n                store_id: this.add_product.store_id,\r\n                server_token: this.add_product.server_token,\r\n                product_id: this.selected_product_id,\r\n                type: this.helper.ADMIN_DATA_ID.ADMIN,\r\n                specification_group_id: this.selected_spec_group_for_item\r\n            }\r\n            this.spec_button = this.button.save;\r\n            this.item_detail.type = 1;\r\n            this.item_detail.is_required = false;\r\n            this.item_detail.is_option_limit = false;\r\n            this.item_detail.option_limit_number = false;\r\n            this.item_detail.specification_group_id = this.selected_spec_group_for_item;\r\n            var index = this.item_specification_group_list.findIndex((x)=>x._id == this.selected_spec_group_for_item);\r\n            this.item_detail.item_specification_name = this.item_specification_group_list[index].name;\r\n\r\n            this.helper.http.post(this.helper.POST_METHOD.GET_SPECIFICATION_LISTS, json).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n                this.product_specification_list = res_data.specification_list.specifications;\r\n                setTimeout(() => {\r\n                    jQuery('.iradio').iCheck({\r\n                        handle: 'radio',\r\n                        radioClass: 'iradio_square-green'\r\n                    });\r\n                    jQuery('.radio1').iCheck('check');\r\n                }, 500);\r\n                this.item_spec_modal.open();\r\n                this.update_check_box();\r\n            });\r\n        }\r\n    }\r\n\r\n    update_check_box(){\r\n        setTimeout(() => {\r\n            jQuery('.icheck').iCheck({\r\n                handle: 'checkbox',\r\n                checkboxClass: 'icheckbox_square-green',\r\n            });\r\n\r\n            jQuery('.icheck').on('ifChecked', (event) => {\r\n                var id = event.target.getAttribute('value')\r\n                this.specification_id_array.push(id)\r\n                var checked_index = this.product_specification_list.findIndex(x => x._id == id);\r\n\r\n                this.checked_array[checked_index] = true;\r\n            });\r\n\r\n            jQuery('.icheck').on('ifUnchecked', (event) => {\r\n                var id = event.target.getAttribute('value')\r\n                var i = this.specification_id_array.indexOf(id);\r\n                if (i != -1) {\r\n                    this.specification_id_array.splice(i, 1);\r\n                }\r\n                var checked_index = this.product_specification_list.findIndex(x => x._id == id);\r\n                this.product_specification_list[checked_index].price = 0;\r\n                this.product_specification_list[checked_index].is_default_selected = false;\r\n                this.checked_array[checked_index] = false;\r\n            });\r\n\r\n            jQuery('.iradio').on('ifChanged', (event) => {\r\n                var value = Number(event.target.getAttribute('value'))\r\n                this.item_detail.type = value\r\n                for (var i = 0; i <= this.product_specification_list.length - 1; i++) {\r\n                    this.product_specification_list[i].is_default_selected = false\r\n                }\r\n            });\r\n        }, 1000);\r\n    }\r\n\r\n    onChange(event, id)\r\n    {\r\n        if(this.item_detail.type == 1)\r\n        {\r\n            if(event == true)\r\n            {\r\n                for(var i=0; i<=this.product_specification_list.length - 1; i++)\r\n                {\r\n                    if(this.product_specification_list[i]._id !== id)\r\n                    {\r\n                        if(this.product_specification_list[i].is_default_selected == true)\r\n                        {\r\n                            this.product_specification_list[i].is_default_selected=false\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n        }\r\n    }\r\n\r\n    addiItemSpecification(data)\r\n    {\r\n        var size = this.specification_id_array.length;\r\n        if(size == 0)\r\n        {\r\n            this.spec_list_error=1\r\n        }\r\n        else\r\n        {\r\n            for(var i=0; i<size; i++)\r\n            {\r\n                var product_size = this.product_specification_list.length;\r\n                for(var j=0; j<product_size ; j++)\r\n                {\r\n                    if(this.product_specification_list[j]._id === this.specification_id_array[i])\r\n                    {\r\n                        this.selected_specification_list.push({_id:this.product_specification_list[j]._id,\r\n                            name:this.product_specification_list[j].name,\r\n                            unique_id:this.product_specification_list[j].unique_id,\r\n                            price:Number(this.product_specification_list[j].price),\r\n                            is_default_selected:this.product_specification_list[j].is_default_selected,\r\n                            is_user_selected:false});\r\n                    }\r\n                }\r\n            }\r\n            this.selected_specification_list.sort(this.sortSpecification);\r\n            if(this.spec_button === this.button.save)\r\n            {\r\n                if(this.item_detail.specifications_unique_id_count){\r\n                    this.item_detail.specifications_unique_id_count++;\r\n                } else {\r\n                    this.item_detail.specifications_unique_id_count = 1;\r\n                }\r\n                this.item_detail.specifications.push({_id:data.specification_group_id ,\r\n                    unique_id:this.item_detail.specifications_unique_id_count,\r\n                    is_required:data.is_required,\r\n                    is_option_limit:data.is_option_limit,\r\n                    option_limit_number:data.option_limit_number,\r\n                    name:data.item_specification_name,\r\n                    type:data.type,\r\n                    list:this.selected_specification_list});\r\n            }\r\n            else\r\n            {\r\n                this.item_detail.specifications[data.index].name=data.item_specification_name;\r\n                this.item_detail.specifications[data.index].list=this.selected_specification_list;\r\n                this.item_detail.specifications[data.index].type=data.type;\r\n                this.item_detail.specifications[data.index].is_required=data.is_required;\r\n                this.item_detail.specifications[data.index].is_option_limit=data.is_option_limit;\r\n                this.item_detail.specifications[data.index].option_limit_number=data.option_limit_number;\r\n            }\r\n\r\n            this.item_spec_modal.close();\r\n            this.selected_specification_list=[];\r\n            this.specification_id_array=[];\r\n            this.spec_list_error=0;\r\n        }\r\n    }\r\n    sortSpecification(a,b) {\r\n        if (a.name < b.name)\r\n            return -1;\r\n        if (a.name > b.name)\r\n            return 1;\r\n        return 0;\r\n    }\r\n\r\n    edit_item_specification(specification, index) {\r\n        this.myLoading = true;\r\n\r\n        this.checked_array = [];\r\n        this.specification_id_array = [];\r\n        this.product_specification_list = [];\r\n        this.selected_specification_list = [];\r\n\r\n        this.index = index\r\n        this.spec_button = this.button.update;\r\n        this.item_detail.type = specification.type;\r\n        this.item_detail.is_required = specification.is_required;\r\n        this.item_detail.is_option_limit = specification.is_option_limit;\r\n        this.item_detail.option_limit_number = specification.option_limit_number;\r\n        this.item_detail.item_specification_name = specification.name;\r\n        this.product_specification_list = JSON.parse(JSON.stringify(specification.list));\r\n\r\n        specification.list.forEach((value) => {\r\n            this.specification_id_array.push(value._id)\r\n        });\r\n        this.checked_array.length = specification.list.length\r\n        this.checked_array.fill(true);\r\n\r\n        var json = {\r\n            store_id: this.add_product.store_id,\r\n            server_token: this.add_product.server_token,\r\n            product_id: this.item_detail.product_id,\r\n            type: this.helper.ADMIN_DATA_ID.ADMIN,\r\n            specification_group_id: specification._id\r\n        }\r\n\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_SPECIFICATION_LISTS, json).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n                if (res_data.success == false) {\r\n                    setTimeout(() => {\r\n                        this.myLoading = false;\r\n                        jQuery('.iradio').iCheck({\r\n                            handle: 'radio',\r\n                            radioClass: 'iradio_square-green'\r\n                        });\r\n                        jQuery('.icheck').iCheck('check');\r\n                        jQuery('.iradio' + specification.type).iCheck('check');\r\n                        this.item_spec_modal.open();\r\n                    }, 1000);\r\n                }\r\n                else {\r\n                    setTimeout(() => {\r\n                        this.myLoading = false;\r\n                        jQuery('.iradio').iCheck({\r\n                            handle: 'radio',\r\n                            radioClass: 'iradio_square-green'\r\n                        });\r\n                        jQuery('.icheck').iCheck({\r\n                            handle: 'checkbox',\r\n                            checkboxClass: 'icheckbox_square-green',\r\n                        });\r\n                        jQuery('.icheck').iCheck('check');\r\n                        jQuery('.iradio' + specification.type).iCheck('check');\r\n\r\n                        var unique_array = res_data.specification_list.specifications.filter((current) => {\r\n                            return specification.list.filter((current_b) => {\r\n                                return current_b['_id'] == current['_id']\r\n                            }).length == 0\r\n                        });\r\n\r\n                        unique_array.filter((current) => {\r\n                            this.product_specification_list.push(current)\r\n                        });\r\n                        this.item_spec_modal.open();\r\n                        this.update_check_box();\r\n                    }, 500);\r\n                }\r\n                setTimeout(() => {\r\n                    jQuery('.icheck').iCheck({\r\n                        handle: 'checkbox',\r\n                        checkboxClass: 'icheckbox_square-green',\r\n                    });\r\n                }, 1000);\r\n\r\n                setTimeout(() => {\r\n                    jQuery('.icheck').on('ifChecked', (event) => {\r\n                        var id = event.target.getAttribute('value')\r\n                        this.specification_id_array.push(id)\r\n                        var checked_index = this.product_specification_list.findIndex(x => x._id == id);\r\n\r\n                        this.checked_array[checked_index] = true;\r\n                    });\r\n\r\n                    jQuery('.icheck').on('ifUnchecked', (event) => {\r\n                        var id = event.target.getAttribute('value')\r\n                        var i = this.specification_id_array.indexOf(id);\r\n                        if (i != -1) {\r\n                            this.specification_id_array.splice(i, 1);\r\n                        }\r\n                        var checked_index = this.product_specification_list.findIndex(x => x._id == id);\r\n                        this.product_specification_list[checked_index].price = 0;\r\n                        this.product_specification_list[checked_index].is_default_selected = false;\r\n                        this.checked_array[checked_index] = false;\r\n                    });\r\n\r\n                    jQuery('.iradio').on('ifChanged', (event) => {\r\n                        var value = Number(event.target.getAttribute('value'))\r\n                        this.item_detail.type = value\r\n                        this.product_specification_list.filter((current) => {\r\n                            current.is_default_selected = false\r\n                        });\r\n                    });\r\n                }, 1000);\r\n\r\n            },\r\n            (error: any) => {\r\n                this.helper.http_status(error)\r\n            });\r\n\r\n\r\n    }\r\n\r\n    delete_item_specification(index)\r\n    {\r\n        swal({\r\n            title: 'Are you sure?',\r\n            text: \"You won't be able to revert this!\",\r\n            type: 'warning',\r\n            showCancelButton: true,\r\n            confirmButtonColor: '#3085d6',\r\n            cancelButtonColor: '#d33',\r\n            confirmButtonText: 'Yes, delete it!'\r\n        }).then(() => {\r\n            this.item_detail.specifications.splice(index, 1);\r\n            swal(\r\n                'Deleted!',\r\n                'Your file has been deleted.',\r\n                'success'\r\n            );\r\n        }).catch(swal.noop)\r\n    }\r\n\r\n    updateItem(){\r\n        this.myLoading=true;\r\n        this.item_detail.name=this.item_detail.name.trim();\r\n        this.item_detail.store_id = this.add_product.store_id;\r\n        this.item_detail.server_token = this.add_product.server_token;\r\n        this.item_detail.item_id = this.item_detail._id;\r\n        this.item_detail.type= this.helper.ADMIN_DATA_ID.ADMIN;\r\n        this.item_detail.is_item_in_stock = this.item_detail.is_item_in_stock;\r\n        this.item_detail.is_visible_in_store = this.item_detail.is_visible_in_store;\r\n\r\n            this.helper.http.post(this.helper.POST_METHOD.UPDATE_ITEM,this.item_detail).map((res:Response) => res.json()).subscribe(res_data=>{\r\n\r\n                if(res_data.success == true)\r\n                {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n                    this.helper.message();\r\n                    if(this.new_image_array.length > 0)\r\n                    {\r\n                        this.add_image_service()\r\n                    }\r\n                    else if(this.delete_item_image.length > 0)\r\n                    {\r\n                        this.delete_image_service();\r\n                    }\r\n                    else\r\n                    {\r\n                        this.myLoading=false;\r\n                        // this.helper.message();\r\n                        this.get_item_list();\r\n                    }\r\n                }\r\n                else\r\n                {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message();\r\n                    this.get_item_list();\r\n                }\r\n            },\r\n            (error: any) => {\r\n                this.myLoading=false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n    public formData = new FormData();\r\n    add_image_service()\r\n    {\r\n        this.new_image_array.forEach((image , index) =>{\r\n            if(image !== undefined)\r\n            {\r\n                this.formData.append(index, image.file);\r\n            }\r\n        });\r\n        this.formData.append(\"item_id\", this.selected_item_id);\r\n        this.formData.append('type', this.helper.ADMIN_DATA_ID.ADMIN)\r\n        this.helper.http.post(this.helper.POST_METHOD.UPDATE_ITEM_IMAGE,this.formData).map((res:Response) => res.json()).subscribe(res_data=>{\r\n\r\n                this.formData = new FormData();\r\n                if(res_data.success==false)\r\n                {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message();\r\n                    this.get_item_list();\r\n                }\r\n                else\r\n                {\r\n                    if(this.delete_item_image.length > 0)\r\n                    {\r\n                        this.delete_image_service();\r\n                    }\r\n                    else{\r\n                        this.myLoading=false;\r\n                        this.helper.message();\r\n                        this.get_item_list();\r\n                    }\r\n                }\r\n            },\r\n            (error: any) => {\r\n                this.myLoading=false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n    delete_image_service()\r\n    {\r\n        this.helper.http.post(this.helper.POST_METHOD.DELETE_ITEM_IMAGE,{type: this.helper.ADMIN_DATA_ID.ADMIN, store_id:this.add_product.store_id , server_token:this.add_product.server_token,\r\n            _id:this.selected_item_id , image_url:this.deleted_image_url}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n                this.myLoading=false;\r\n                if(res_data.success==false)\r\n                {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message();\r\n                    this.get_item_list();\r\n                }\r\n                else\r\n                {\r\n                    this.helper.message();\r\n                    this.get_item_list();\r\n                }\r\n            },\r\n            (error: any) => {\r\n                this.myLoading=false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    test(id)\r\n    {\r\n        this.helper.router.navigate(['/store/specification', { id: id}]);\r\n    }\r\n\r\n    deleteItem(item){\r\n        var json = {type: this.helper.ADMIN_DATA_ID.ADMIN, store_id:this.add_product.store_id , server_token:this.add_product.server_token,\r\n            _id: item._id, image_url: item.image_url}\r\n        this.helper.http.post(this.helper.POST_METHOD.DELETE_ITEM_IMAGE, json).map((res:Response) => res.json()).subscribe(res_data=>{\r\n            this.helper.http.post('/api/store/delete_item', json).map((res:Response) => res.json()).subscribe(res_data=>{\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.helper.message();\r\n                this.get_item_list();\r\n            });\r\n        });\r\n    }\r\n\r\n    deleteProduct(product){\r\n        var json = {type: this.helper.ADMIN_DATA_ID.ADMIN, store_id:this.add_product.store_id , server_token:this.add_product.server_token,\r\n            _id: product._id}\r\n        this.helper.http.post('/api/store/delete_product', json).map((res:Response) => res.json()).subscribe(res_data=>{\r\n            this.helper.data.storage = {\r\n                \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                \"class\": \"alert-info\"\r\n            }\r\n            this.helper.message();\r\n            this.get_product_list();\r\n        });\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/store_products/products.component.ts","import {Component, OnInit, ViewContainerRef} from '@angular/core';\r\nimport {Response} from '@angular/http';\r\nimport {Helper} from \"../../helper\";\r\nimport * as moment from 'moment-timezone';\r\n\r\n@Component({\r\n    selector: 'app-store_report',\r\n    template: require('./store_report.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class StoreReportComponent implements OnInit {\r\n\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    lable_title: any;\r\n    DATE_FORMAT: any;\r\n    transaction_history_list: any[];\r\n    sort_field: string;\r\n    sort_transaction_history: number;\r\n    search_field: string;\r\n    search_value: string;\r\n    start_date: string;\r\n    end_date: string;\r\n    page: number;\r\n    total_page: number;\r\n    total_pages: number[];\r\n    myLoading: boolean = false;\r\n    moment: any = moment;\r\n\r\n    constructor(private helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.sort_field = \"unique_id\";\r\n        this.sort_transaction_history = -1;\r\n        this.search_field = \"store_detail.email\";\r\n        this.search_value = \"\";\r\n        this.start_date = '';\r\n        this.end_date = '';\r\n        this.page = 1;\r\n\r\n\r\n        this.helper.message()\r\n\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.lable_title = this.helper.lable_title\r\n        this.DATE_FORMAT = this.helper.DATE_FORMAT\r\n        this.transaction_history_list = [];\r\n    }\r\n    activeRoute(routename: string): boolean {\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n    \r\n    partner_report() {\r\n        this.helper.http.post('/admin/partner_report', {\r\n\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            var json2csv = require('json2csv');\r\n\r\n            res_data.store_list.forEach((store, index) => {\r\n                if(store.total_cart_price>=5000){\r\n                    store.status = 'Very Active'\r\n                } else if(store.total_cart_price>=1000){\r\n                    store.status = 'Active'\r\n                } else if(store.total_cart_price>0){\r\n                    store.status = 'Not Very Active'\r\n                } else if(store.total_cart_price<0){\r\n                    store.status = 'No Order'\r\n                } else {\r\n                    store.status = 'closed'\r\n                }\r\n\r\n                if(store.total_cart_price>=200){\r\n                    store.getting_money = 'Yes'\r\n                } else if(store.total_cart_price>0){\r\n                    store.getting_money = 'Maybe'\r\n                } else {\r\n                    store.getting_money = 'No'\r\n                }\r\n\r\n                if(store.total_cart_price>store.total_cart_price1){\r\n                    store.order_status = 'increasing';\r\n                } else if(store.total_cart_price<store.total_cart_price1){\r\n                    store.order_status = 'going down';\r\n                } else {\r\n                    store.order_status = 'stable';\r\n                }\r\n\r\n                store.total_cart_price1 = store.total_cart_price1.toFixed(2);\r\n                store.total_cart_price = store.total_cart_price.toFixed(2);\r\n                store.total_cart_price2 = store.total_cart_price2.toFixed(2);\r\n                if(store.launch_date){\r\n                    store.launch_date = this.moment(store.launch_date).tz(store.timezone !== undefined ? store.timezone: 'Asia/Kolkata').format('DD MMM YYYY HH:mm a')\r\n                } else {\r\n                    store.launch_date = this.moment(store.created_at).tz(store.timezone !== undefined ? store.timezone: 'Asia/Kolkata').format('DD MMM YYYY HH:mm a')\r\n                }\r\n                store.last_order_date = this.moment(store.last_order_date).tz(store.timezone !== undefined ? store.timezone: 'Asia/Kolkata').format('DD MMM YYYY HH:mm a')\r\n            });\r\n\r\n            var fieldNames = [\r\n                'Store Id', \r\n                'Name of store', \r\n                'City', \r\n                'Status', \r\n                'launch date',\r\n                'Date of last order',\r\n                'Revenue last month',\r\n                'Revenue last 2 month',\r\n                'Revenue this month',\r\n                'Total Order',\r\n                'Order this month on WHOP',\r\n                'Order this month on HOP',\r\n                'Order',\r\n                'Getting our money ?',\r\n                'Entry fees ?',\r\n                'comissions ?',\r\n                'integration',\r\n                'time contract'\r\n            ];\r\n            var fields = [\r\n                'unique_id', \r\n                'name', \r\n                'city_name', \r\n                'status', \r\n                'launch_date',\r\n                'last_order_date',\r\n                'total_cart_price1',\r\n                'total_cart_price2',\r\n                'total_cart_price',\r\n                'no_of_order',\r\n                'whop_order',\r\n                'hop_order',\r\n                'order_status',\r\n                'getting_money',\r\n                '',\r\n                '',\r\n                '',\r\n                ''\r\n            ];\r\n\r\n            var csv = json2csv({data: res_data.store_list, fields: fields, fieldNames: fieldNames});\r\n\r\n            this.helper.downloadFile(csv);\r\n        });\r\n    }\r\n    \r\n    inactive_partner_report() {\r\n        this.helper.http.post('/admin/inactive_partner_report', {\r\n\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            var json2csv = require('json2csv');\r\n\r\n            res_data.store_list.forEach((store, index) => {\r\n                if(!store.is_business){\r\n                    store.status = 'Off'\r\n                } else {\r\n                    store.status = 'Not Approved'\r\n                }\r\n\r\n                if(store.total_cart_price>=200){\r\n                    store.getting_money = 'Yes'\r\n                } else if(store.total_cart_price>0){\r\n                    store.getting_money = 'Maybe'\r\n                } else {\r\n                    store.getting_money = 'No'\r\n                }\r\n\r\n                if(store.business_off_type === this.helper.ADMIN_DATA_ID.STORE){\r\n                    store.who_put_off = 'Store';\r\n                } else {\r\n                    store.who_put_off = 'Admin';\r\n                }\r\n\r\n                let business_off_date = new Date();\r\n                if(store.business_off_date){\r\n                    business_off_date = new Date(store.business_off_date);\r\n                }\r\n                let now = new Date();\r\n                var diff = now.getTime() - business_off_date.getTime();   \r\n                var daydiff = diff / (1000 * 60 * 60 * 24);   \r\n                store.off_day = Math.ceil(daydiff);\r\n\r\n                store.total_cart_price1 = store.total_cart_price1.toFixed(2);\r\n                store.total_cart_price = store.total_cart_price.toFixed(2);\r\n\r\n                store.created_at = this.moment(store.created_at).tz(store.timezone !== undefined ? store.timezone: 'Asia/Kolkata').format('DD MMM YYYY')\r\n                if(store.launch_date){\r\n                    store.launch_date = this.moment(store.launch_date).tz(store.timezone !== undefined ? store.timezone: 'Asia/Kolkata').format('DD MMM YYYY')\r\n                } else {\r\n                    store.launch_date = 'Not Available'\r\n                }\r\n                if(store.last_order_date){\r\n                    store.last_order_date = this.moment(store.last_order_date).tz(store.timezone !== undefined ? store.timezone: 'Asia/Kolkata').format('DD MMM YYYY HH:mm a')\r\n                } else {\r\n                    store.last_order_date = '';\r\n                }\r\n            });\r\n\r\n            var fieldNames = [\r\n                'Store Id', \r\n                'Name of store', \r\n                'City', \r\n                'Date of Creation', \r\n                'launch date',\r\n                'Total Off Day it is off',\r\n                'Status', \r\n                'Who put off ?',\r\n                'Date of last order',\r\n                'Revenue last month',\r\n                'Revenue this month',\r\n                'Total Order',\r\n                'Order this month on WHOP',\r\n                'Order this month on HOP',\r\n                'Order',\r\n                'Getting our money ?',\r\n                'Entry fees ?',\r\n                'comissions ?',\r\n                'integration',\r\n                'time contract'\r\n            ];\r\n            var fields = [\r\n                'unique_id', \r\n                'name', \r\n                'city_name', \r\n                'created_at',\r\n                'launch_date',\r\n                'off_day',\r\n                'status', \r\n                'who_put_off',\r\n                'last_order_date',\r\n                'total_cart_price1',\r\n                'total_cart_price',\r\n                'no_of_order',\r\n                'whop_order',\r\n                'hop_order',\r\n                'order_status',\r\n                'getting_money',\r\n                '',\r\n                '',\r\n                '',\r\n                ''\r\n            ];\r\n\r\n            var csv = json2csv({data: res_data.store_list, fields: fields, fieldNames: fieldNames});\r\n\r\n            this.helper.downloadFile(csv);\r\n        });\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/store_report/store_report.component.ts","import { Component, OnInit, ViewChild, ViewContainerRef } from \"@angular/core\";\r\nimport { Response } from \"@angular/http\";\r\nimport \"rxjs/add/operator/map\";\r\nimport \"rxjs/add/operator/catch\";\r\nimport { Helper } from \"../../store_helper\";\r\ndeclare var jQuery: any;\r\ndeclare var swal: any;\r\nimport { ModalComponent } from \"ng2-bs3-modal/ng2-bs3-modal\";\r\n\r\nexport interface StoreSetting {\r\n  store_id: Object;\r\n  social_id: any[];\r\n  login_by: String;\r\n  store_time: any[];\r\n  is_business: Boolean;\r\n  is_churn: Boolean;\r\n  churn_date: Date;\r\n  is_visible: Boolean;\r\n  item_tax: Number;\r\n  store_open_time: any;\r\n  store_close_time: any;\r\n  old_password: String;\r\n  free_delivery_for_above_order_price: number;\r\n  free_delivery_within_radius: number;\r\n  is_store_pay_delivery_fees: Boolean;\r\n  delivery_time: Number;\r\n  delivery_time_max: Number;\r\n  price_rating: Number;\r\n  admin_profit_mode_on_store: Number;\r\n  admin_profit_value_on_store: Number;\r\n  famous_for: any[];\r\n  is_order_cancellation_charge_apply: Boolean;\r\n  order_cancellation_charge_for_above_order_price: number;\r\n  order_cancellation_charge_type: number;\r\n  order_cancellation_charge_value: number;\r\n  max_item_quantity_add_by_user: number;\r\n  schedule_order_create_after_minute: number;\r\n  is_provide_delivery_anywhere: Boolean;\r\n  delivery_radius: number;\r\n  is_ask_estimated_time_for_ready_order: Boolean;\r\n  is_taking_schedule_order: Boolean;\r\n  inform_schedule_order_before_min: number;\r\n  min_order_price: number;\r\n  is_store_busy: Boolean;\r\n  preparation_time_for_pickup: number;\r\n  preparation_time_for_delivery: number;\r\n  is_accept_other_system_order: Boolean;\r\n  ubereats_email: String;\r\n  ubereats_password: String;\r\n  is_use_hop_deliveryman: Boolean;\r\n  city_id: string;\r\n  other_store_ids: string[];\r\n}\r\n\r\n@Component({\r\n  selector: \"app-setting\",\r\n  template: require('./setting.component.html'),\r\n  providers: [Helper],\r\n})\r\nexport class AdminSettingComponent implements OnInit {\r\n  private store_setting: StoreSetting;\r\n  title: any;\r\n  button: any;\r\n  heading_title: any;\r\n  validation_message: any;\r\n  store_time_add: Boolean;\r\n  store_open_time_error: number;\r\n  store_close_time_error: number;\r\n  @ViewChild(\"myModal\")\r\n  modal: ModalComponent;\r\n  @ViewChild(\"copy_store_time_modal\")\r\n  copy_store_time_modal: ModalComponent;\r\n  myLoading: boolean = false;\r\n  selected_store_time_array: any[] = [];\r\n  store_time_millisecond_array: any[] = [];\r\n  curren_selected_day: number = 0;\r\n  is_store_open_full_time: Boolean = false;\r\n  is_store_open: Boolean = false;\r\n  type: string = \"\";\r\n  @ViewChild(\"oldPasswordModal\")\r\n  old_password_modal: ModalComponent;\r\n  famous_for: any[] = [];\r\n  uploaded_site_logo;\r\n  uploaded_title_logo;\r\n  uploaded_menu_url;\r\n  store_list: any[] = [];\r\n  page_type: number = 1;\r\n\r\n  is_time_edit: boolean = false;\r\n  selected_time_index: any;\r\n  selected_days: any[] = [];\r\n  date_array: any[] = [];\r\n\r\n  edit: Boolean = false;\r\n  load_local: boolean = false;\r\n\r\n  StoreDomainSetting = {\r\n    site_color: \"#9bd1ef\",\r\n    site_description: \"\",\r\n    site_domain: \"\",\r\n    site_domain2: \"\",\r\n    domain_type: \"sub_domain\",\r\n    site_logo: \"\",\r\n    title_logo: \"\",\r\n    menu_url: \"\",\r\n    menu_url_type: \"\",\r\n  };\r\n  page: number = 1;\r\n\r\n  constructor(private helper: Helper, public vcr: ViewContainerRef) {\r\n    helper.toastr.setRootViewContainerRef(vcr);\r\n  }\r\n\r\n  ngAfterViewInit() {\r\n    jQuery(\".clock-picker\").clockpicker({\r\n      default: \"now\",\r\n      align: \"right\",\r\n    });\r\n\r\n    setTimeout(function () {\r\n      jQuery(\".chosen-select\").chosen({ disable_search: true });\r\n      jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n\r\n      jQuery(\".icheck\").iCheck({\r\n        handle: \"checkbox\",\r\n        checkboxClass: \"icheckbox_square-green\",\r\n      });\r\n    }, 1000);\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.helper.router_id.admin.back_url_show = false;\r\n  }\r\n\r\n  ngOnInit() {\r\n    this.helper.router_id.admin.back_url = \"admin/stores\";\r\n    this.helper.router_id.admin.back_url_show = true;\r\n    this.store_setting = {\r\n      store_id: \"\",\r\n      social_id: [],\r\n      login_by: \"\",\r\n      store_time: [],\r\n      famous_for: [],\r\n      is_business: true,\r\n      is_churn: true,\r\n      churn_date: null,\r\n      is_visible: true,\r\n      item_tax: null,\r\n      old_password: \"\",\r\n      store_open_time: \"\",\r\n      store_close_time: \"\",\r\n      is_store_pay_delivery_fees: false,\r\n      free_delivery_for_above_order_price: null,\r\n      free_delivery_within_radius: null,\r\n      delivery_time: null,\r\n      delivery_time_max: null,\r\n      price_rating: null,\r\n      admin_profit_mode_on_store: null,\r\n      admin_profit_value_on_store: null,\r\n      is_store_busy: false,\r\n\r\n      is_order_cancellation_charge_apply: false,\r\n      order_cancellation_charge_for_above_order_price: 0,\r\n      order_cancellation_charge_type: 1,\r\n      order_cancellation_charge_value: 0,\r\n      max_item_quantity_add_by_user: 0,\r\n      schedule_order_create_after_minute: 0,\r\n      is_provide_delivery_anywhere: false,\r\n      delivery_radius: 0,\r\n      is_taking_schedule_order: false,\r\n      is_ask_estimated_time_for_ready_order: false,\r\n      inform_schedule_order_before_min: 0,\r\n      min_order_price: 0,\r\n      preparation_time_for_pickup: 0,\r\n      preparation_time_for_delivery: 0,\r\n      is_accept_other_system_order: false,\r\n      ubereats_email: \"\",\r\n      ubereats_password: \"\",\r\n      is_use_hop_deliveryman: true,\r\n      city_id: \"\",\r\n      other_store_ids: [],\r\n    };\r\n    this.store_time_add = true;\r\n    this.store_setting.store_id = this.helper.router_id.admin.store_id;\r\n\r\n    this.helper.http\r\n      .post(this.helper.POST_METHOD.GET_STORE_DATA, {\r\n        store_id: this.store_setting.store_id,\r\n        type: this.helper.ADMIN_DATA_ID.ADMIN,\r\n      })\r\n      .map((response: Response) => response.json())\r\n      .subscribe(\r\n        (res_data) => {\r\n          if (res_data.success == false) {\r\n            this.helper.data.storage = {\r\n              code: res_data.error_code,\r\n              message: this.helper.ERROR_CODE[res_data.error_code],\r\n              class: \"alert-danger\",\r\n            };\r\n          } else {\r\n            this.famous_for = res_data.famous_for;\r\n            var store = res_data.store_detail;\r\n            this.store_setting.store_id = store._id;\r\n            this.store_setting.social_id = store.social_ids;\r\n            this.store_setting.login_by = store.login_by;\r\n\r\n            if (!store.site_domain) {\r\n              store.site_domain = \"\";\r\n            }\r\n            if (!store.site_domain2) {\r\n              store.site_domain2 = \"\";\r\n            }\r\n\r\n            store.site_domain = store.site_domain.replace(\"www.\", \"\");\r\n            store.site_domain2 = store.site_domain2.replace(\"www.\", \"\");\r\n            store.site_domain = store.site_domain.replace(\".mywhop.com\", \"\");\r\n            store.domain_type = store.domain_type || \"sub_domain\";\r\n            setTimeout(function () {\r\n              jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n            }, 1000);\r\n\r\n            this.StoreDomainSetting = {\r\n              site_color: store.site_color,\r\n              site_description: store.site_desc,\r\n              site_domain: store.site_domain,\r\n              site_domain2: store.site_domain2,\r\n              domain_type: store.domain_type,\r\n              site_logo: store.site_logo,\r\n              title_logo: store.title_logo,\r\n              menu_url: store.menu_url,\r\n              menu_url_type: store.menu_url_type,\r\n            };\r\n\r\n            if (store.store_time.length == 0) {\r\n              store.store_time = [\r\n                {\r\n                  is_store_open: true,\r\n                  is_store_open_full_time: true,\r\n                  day: 0,\r\n                  day_time: [],\r\n                },\r\n                {\r\n                  is_store_open: true,\r\n                  is_store_open_full_time: true,\r\n                  day: 1,\r\n                  day_time: [],\r\n                },\r\n                {\r\n                  is_store_open: true,\r\n                  is_store_open_full_time: true,\r\n                  day: 2,\r\n                  day_time: [],\r\n                },\r\n                {\r\n                  is_store_open: true,\r\n                  is_store_open_full_time: true,\r\n                  day: 3,\r\n                  day_time: [],\r\n                },\r\n                {\r\n                  is_store_open: true,\r\n                  is_store_open_full_time: true,\r\n                  day: 4,\r\n                  day_time: [],\r\n                },\r\n                {\r\n                  is_store_open: true,\r\n                  is_store_open_full_time: true,\r\n                  day: 5,\r\n                  day_time: [],\r\n                },\r\n                {\r\n                  is_store_open: true,\r\n                  is_store_open_full_time: true,\r\n                  day: 6,\r\n                  day_time: [],\r\n                },\r\n              ];\r\n            }\r\n\r\n            this.store_setting.store_time = store.store_time;\r\n            this.store_setting.is_business = store.is_business;\r\n            this.store_setting.is_churn = store.is_churn;\r\n            this.store_setting.churn_date = store.churn_date;\r\n            this.store_setting.is_visible = store.is_visible;\r\n            this.store_setting.is_store_busy = store.is_store_busy;\r\n            this.store_setting.item_tax = store.item_tax;\r\n            this.store_setting.is_store_pay_delivery_fees =\r\n              store.is_store_pay_delivery_fees;\r\n            this.store_setting.free_delivery_for_above_order_price =\r\n              store.free_delivery_for_above_order_price;\r\n            this.store_setting.free_delivery_within_radius =\r\n              store.free_delivery_within_radius;\r\n            this.store_setting.delivery_time = store.delivery_time;\r\n            this.store_setting.delivery_time_max = store.delivery_time_max;\r\n            this.store_setting.price_rating = store.price_rating;\r\n            this.store_setting.admin_profit_mode_on_store =\r\n              store.admin_profit_mode_on_store;\r\n            this.store_setting.admin_profit_value_on_store =\r\n              store.admin_profit_value_on_store;\r\n            this.store_setting.famous_for = store.famous_products_tags;\r\n\r\n            this.store_setting.is_order_cancellation_charge_apply =\r\n              store.is_order_cancellation_charge_apply;\r\n            this.store_setting.order_cancellation_charge_for_above_order_price =\r\n              store.order_cancellation_charge_for_above_order_price;\r\n            this.store_setting.order_cancellation_charge_type =\r\n              store.order_cancellation_charge_type;\r\n            this.store_setting.order_cancellation_charge_value =\r\n              store.order_cancellation_charge_value;\r\n\r\n            this.store_setting.max_item_quantity_add_by_user =\r\n              store.max_item_quantity_add_by_user;\r\n            this.store_setting.schedule_order_create_after_minute =\r\n              store.schedule_order_create_after_minute;\r\n            this.store_setting.is_provide_delivery_anywhere =\r\n              store.is_provide_delivery_anywhere;\r\n            this.store_setting.delivery_radius = store.delivery_radius;\r\n            this.store_setting.is_taking_schedule_order =\r\n              store.is_taking_schedule_order;\r\n            this.store_setting.is_ask_estimated_time_for_ready_order =\r\n              store.is_ask_estimated_time_for_ready_order;\r\n            this.store_setting.inform_schedule_order_before_min =\r\n              store.inform_schedule_order_before_min;\r\n            this.store_setting.min_order_price = store.min_order_price;\r\n            this.store_setting.preparation_time_for_pickup =\r\n              store.preparation_time_for_pickup;\r\n            this.store_setting.preparation_time_for_delivery =\r\n              store.preparation_time_for_delivery;\r\n            this.store_setting.is_accept_other_system_order =\r\n              store.is_accept_other_system_order;\r\n            this.store_setting.ubereats_email = store.ubereats_email;\r\n            this.store_setting.ubereats_password = store.ubereats_password;\r\n            this.store_setting.is_use_hop_deliveryman =\r\n              store.is_use_hop_deliveryman;\r\n            this.store_setting.city_id = store.city_id;\r\n            this.store_setting.other_store_ids = store.other_store_ids || [];\r\n\r\n            this.change_day(0);\r\n\r\n            this.store_setting.famous_for.forEach(function (famous) {\r\n              setTimeout(() => {\r\n                jQuery(\"#icheck\" + famous).iCheck(\"check\");\r\n              }, 400);\r\n            });\r\n          }\r\n        },\r\n        (error: any) => {\r\n          this.myLoading = false;\r\n          this.helper.http_status(error);\r\n        }\r\n      );\r\n\r\n    this.title = this.helper.title;\r\n    this.button = this.helper.button;\r\n    this.heading_title = this.helper.heading_title;\r\n    this.validation_message = this.helper.validation_message;\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#price_rating\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.store_setting.price_rating = res_data.selected;\r\n      });\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#domain_type\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.StoreDomainSetting.domain_type = res_data.selected;\r\n      });\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#order_cancellation_charge_type\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.store_setting.order_cancellation_charge_type = res_data.selected;\r\n      });\r\n    setTimeout(() => {\r\n      jQuery(this.helper.elementRef.nativeElement)\r\n        .find(\".icheck\")\r\n        .on(\"ifChecked\", (event, res_data) => {\r\n          var id = event.target.getAttribute(\"value\");\r\n          this.store_setting.famous_for.push(id);\r\n        });\r\n\r\n      jQuery(this.helper.elementRef.nativeElement)\r\n        .find(\".icheck\")\r\n        .on(\"ifUnchecked\", (event, res_data) => {\r\n          var id = event.target.getAttribute(\"value\");\r\n          var i = this.store_setting.famous_for.indexOf(id);\r\n          if (i != -1) {\r\n            this.store_setting.famous_for.splice(i, 1);\r\n          }\r\n        });\r\n    }, 1000);\r\n\r\n    // jQuery('#open').on('change', (event, res_data) => {\r\n\r\n    //     this.store_open_time_error = 0;\r\n    //     this.store_close_time_error = 0;\r\n    //     var open = jQuery(\"#open\").val()\r\n    //     var close = jQuery(\"#close\").val()\r\n    //     this.store_setting.store_open_time=open\r\n\r\n    //     var open_date = new Date(Date.now())\r\n    //     open=open.split(':');\r\n    //     open_date.setHours(open[0] , open[1] , 0,0)\r\n    //     open=open_date.getTime();\r\n\r\n    //     var close_date = new Date(Date.now())\r\n    //     close=close.split(':');\r\n    //     close_date.setHours(close[0] , close[1] , 0,0)\r\n    //     close=close_date.getTime();\r\n\r\n    //     if(open>=close)\r\n    //     {\r\n    //         this.store_open_time_error = 1\r\n    //     }\r\n    //     else\r\n    //     {\r\n    //         this.store_open_time_error = 0\r\n    //     }\r\n\r\n    //     for(var i in this.store_time_millisecond_array)\r\n    //     {\r\n    //         if(this.selected_time_index != i){\r\n    //             var open_time = this.store_time_millisecond_array[i].store_open_time;\r\n    //             var close_time = this.store_time_millisecond_array[i].store_close_time;\r\n\r\n    //             if( ( open_time <= open) && (open <= close_time )) {\r\n    //                 this.store_open_time_error = 2\r\n    //             }\r\n    //             else if(open<=open_time && close_time<=close){\r\n    //                 this.store_open_time_error = 2\r\n    //             } else if( ( open_time <= close ) && (close <= close_time)) {\r\n    //                 this.store_close_time_error = 2\r\n\r\n    //             }\r\n    //         }\r\n    //     }\r\n    // });\r\n\r\n    // jQuery('#close').on('change', (event, res_data) => {\r\n    //     this.store_close_time_error = 0;\r\n    //     this.store_open_time_error = 0;\r\n    //     var open = jQuery(\"#open\").val()\r\n    //     var close = jQuery(\"#close\").val()\r\n    //     this.store_setting.store_close_time=close\r\n    //     var open_date = new Date(Date.now())\r\n    //     open=open.split(':');\r\n    //     open_date.setHours(open[0] , open[1] , 0, 0)\r\n    //     open=open_date.getTime();\r\n\r\n    //     var close_date = new Date(Date.now())\r\n    //     close=close.split(':');\r\n    //     close_date.setHours(close[0] , close[1], 0 , 0)\r\n    //     close=close_date.getTime();\r\n\r\n    //     if(open>=close)\r\n    //     {\r\n    //         this.store_close_time_error = 1\r\n\r\n    //     }\r\n    //     else{\r\n    //         this.store_close_time_error = 0;\r\n    //     }\r\n\r\n    //     for(var i in this.store_time_millisecond_array)\r\n    //     {\r\n    //         if(this.selected_time_index != i){\r\n\r\n    //             let open_time = this.store_time_millisecond_array[i].store_open_time\r\n    //             let close_time = this.store_time_millisecond_array[i].store_close_time\r\n\r\n    //             if( ( open_time <= close ) && (close <= close_time)) {\r\n    //                 this.store_close_time_error = 2\r\n    //             } else if(open<=open_time && close_time<=close){\r\n    //                 this.store_close_time_error = 2\r\n    //             }else if( ( open_time <= open) && (open <= close_time )) {\r\n    //                 this.store_open_time_error = 2\r\n    //             }\r\n    //         }\r\n\r\n    //     }\r\n    // });\r\n\r\n    setTimeout(() => {\r\n      let height = jQuery(\".order_price\").height();\r\n      jQuery(\".cancellation_setting\").height(height);\r\n      let height1 = jQuery(\".delivery_setting\").height();\r\n      jQuery(\".general_setting\").height(height1);\r\n    }, 100);\r\n  }\r\n\r\n  change_cancellation_apply(event) {\r\n    if (event) {\r\n      setTimeout(function () {\r\n        jQuery(\"#order_cancellation_charge_type\").chosen({\r\n          disable_search: true,\r\n        });\r\n        jQuery(\"#order_cancellation_charge_type\").trigger(\"chosen:updated\");\r\n      }, 100);\r\n    }\r\n  }\r\n\r\n  change_day(selected_day) {\r\n    this.curren_selected_day = selected_day;\r\n    let index = this.store_setting.store_time.findIndex(\r\n      (x) => x.day == selected_day\r\n    );\r\n\r\n    this.is_store_open_full_time =\r\n      this.store_setting.store_time[index].is_store_open_full_time;\r\n    this.is_store_open = this.store_setting.store_time[index].is_store_open;\r\n    this.selected_store_time_array =\r\n      this.store_setting.store_time[index].day_time;\r\n    this.store_time_millisecond_array = [];\r\n    this.selected_store_time_array.forEach((time) => {\r\n      var open_date = new Date(Date.now());\r\n      var open_time = time.store_open_time;\r\n      open_time = open_time.split(\":\");\r\n      open_date.setHours(open_time[0], open_time[1], 0, 0);\r\n\r\n      var close_date = new Date(Date.now());\r\n      var close_time = time.store_close_time;\r\n      close_time = close_time.split(\":\");\r\n      close_date.setHours(close_time[0], close_time[1], 0, 0);\r\n\r\n      this.store_time_millisecond_array.push({\r\n        store_open_time: open_date.getTime(),\r\n        store_close_time: close_date.getTime(),\r\n      });\r\n    });\r\n  }\r\n\r\n  open_copy_store_time_modal() {\r\n    var date_array = [\r\n      { value: 0, label: this.title.sunday },\r\n      { value: 1, label: this.title.monday },\r\n      { value: 2, label: this.title.tuesday },\r\n      { value: 3, label: this.title.wednesday },\r\n      { value: 4, label: this.title.thursday },\r\n      { value: 5, label: this.title.friday },\r\n      { value: 6, label: this.title.saturday },\r\n    ];\r\n    date_array.splice(this.curren_selected_day, 1);\r\n\r\n    this.date_array = date_array;\r\n    this.copy_store_time_modal.open();\r\n\r\n    setTimeout(() => {\r\n      jQuery(\"#selected_days\").chosen();\r\n      jQuery(\"#selected_days\").trigger(\"chosen:updated\");\r\n    }, 1000);\r\n  }\r\n\r\n  copy_store_time_update() {\r\n    var selected_days = jQuery(\"#selected_days\").val();\r\n    console.log(selected_days);\r\n\r\n    var day_array = [];\r\n    selected_days.forEach((month) => {\r\n      month = month.split(\": \");\r\n      var result = month[1].substring(1, month[1].length - 1);\r\n      day_array.push(result);\r\n    });\r\n\r\n    day_array.forEach((day) => {\r\n      this.store_setting.store_time[day].is_store_open_full_time =\r\n        this.store_setting.store_time[\r\n          this.curren_selected_day\r\n        ].is_store_open_full_time;\r\n      this.store_setting.store_time[day].is_store_open =\r\n        this.store_setting.store_time[this.curren_selected_day].is_store_open;\r\n      this.store_setting.store_time[day].day_time =\r\n        this.store_setting.store_time[this.curren_selected_day].day_time;\r\n    });\r\n\r\n    this.copy_store_time_modal.close();\r\n  }\r\n\r\n  store_full_time_open(event) {\r\n    let index = this.store_setting.store_time.findIndex(\r\n      (x) => x.day == this.curren_selected_day\r\n    );\r\n    this.store_setting.store_time[index].is_store_open_full_time = event;\r\n    if (event) {\r\n      this.is_store_open = event;\r\n      this.store_setting.store_time[index].is_store_open = event;\r\n    }\r\n  }\r\n\r\n  store_open(event) {\r\n    let index = this.store_setting.store_time.findIndex(\r\n      (x) => x.day == this.curren_selected_day\r\n    );\r\n    this.store_setting.store_time[index].is_store_open = event;\r\n  }\r\n\r\n  open_add_time_modal() {\r\n    this.is_time_edit = false;\r\n    this.selected_time_index = null;\r\n    this.modal.open();\r\n    this.store_setting.store_open_time = \"\";\r\n    this.store_setting.store_close_time = \"\";\r\n    this.store_close_time_error = 0;\r\n    this.store_open_time_error = 0;\r\n  }\r\n\r\n  check_open_time() {\r\n    this.store_open_time_error = 0;\r\n    this.store_close_time_error = 0;\r\n    var open = jQuery(\"#open\").val();\r\n    var close = jQuery(\"#close\").val();\r\n    this.store_setting.store_open_time = open;\r\n\r\n    var open_date = new Date(Date.now());\r\n    open = open.split(\":\");\r\n    open_date.setHours(open[0], open[1], 0, 0);\r\n    open = open_date.getTime();\r\n\r\n    var close_date = new Date(Date.now());\r\n    close = close.split(\":\");\r\n    close_date.setHours(close[0], close[1], 0, 0);\r\n    close = close_date.getTime();\r\n\r\n    if (open >= close) {\r\n      this.store_open_time_error = 1;\r\n    } else {\r\n      this.store_open_time_error = 0;\r\n    }\r\n\r\n    for (var i in this.store_time_millisecond_array) {\r\n      if (this.selected_time_index != i) {\r\n        var open_time = this.store_time_millisecond_array[i].store_open_time;\r\n        var close_time = this.store_time_millisecond_array[i].store_close_time;\r\n\r\n        if (open_time <= open && open <= close_time) {\r\n          this.store_open_time_error = 2;\r\n        } else if (open <= open_time && close_time <= close) {\r\n          this.store_open_time_error = 2;\r\n        } else if (open_time <= close && close <= close_time) {\r\n          this.store_close_time_error = 2;\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  check_close_time() {\r\n    this.store_close_time_error = 0;\r\n    this.store_open_time_error = 0;\r\n    var open = jQuery(\"#open\").val();\r\n    var close = jQuery(\"#close\").val();\r\n    this.store_setting.store_close_time = close;\r\n    var open_date = new Date(Date.now());\r\n    open = open.split(\":\");\r\n    open_date.setHours(open[0], open[1], 0, 0);\r\n    open = open_date.getTime();\r\n\r\n    var close_date = new Date(Date.now());\r\n    close = close.split(\":\");\r\n    close_date.setHours(close[0], close[1], 0, 0);\r\n    close = close_date.getTime();\r\n\r\n    if (open >= close) {\r\n      this.store_close_time_error = 1;\r\n    } else {\r\n      this.store_close_time_error = 0;\r\n    }\r\n\r\n    for (var i in this.store_time_millisecond_array) {\r\n      if (this.selected_time_index != i) {\r\n        let open_time = this.store_time_millisecond_array[i].store_open_time;\r\n        let close_time = this.store_time_millisecond_array[i].store_close_time;\r\n\r\n        if (open_time <= close && close <= close_time) {\r\n          this.store_close_time_error = 2;\r\n        } else if (open <= open_time && close_time <= close) {\r\n          this.store_close_time_error = 2;\r\n        } else if (open_time <= open && open <= close_time) {\r\n          this.store_open_time_error = 2;\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  get isvalidateTime(): boolean {\r\n    this.check_open_time();\r\n    this.check_close_time();\r\n    if (!this.store_setting.store_close_time) {\r\n      this.store_close_time_error = 2;\r\n      return false;\r\n    } else if (!this.store_setting.store_open_time) {\r\n      this.store_open_time_error = 2;\r\n      return false;\r\n    } else if (this.store_open_time_error || this.store_close_time_error) {\r\n      return false;\r\n    } else {\r\n      return true;\r\n    }\r\n  }\r\n\r\n  add_store_time() {\r\n    if (this.isvalidateTime) {\r\n      this.store_time_add = false;\r\n      var open_date = new Date(Date.now());\r\n      var open_time = this.store_setting.store_open_time;\r\n      open_time = open_time.split(\":\");\r\n      open_date.setHours(open_time[0], open_time[1], 0, 0);\r\n\r\n      var close_date = new Date(Date.now());\r\n      var close_time = this.store_setting.store_close_time;\r\n      close_time = close_time.split(\":\");\r\n      close_date.setHours(close_time[0], close_time[1], 0, 0);\r\n\r\n      if (!this.is_time_edit) {\r\n        this.selected_store_time_array.push({\r\n          store_open_time: this.store_setting.store_open_time,\r\n          store_close_time: this.store_setting.store_close_time,\r\n        });\r\n\r\n        this.store_time_millisecond_array.push({\r\n          store_open_time: open_date.getTime(),\r\n          store_close_time: close_date.getTime(),\r\n        });\r\n      } else {\r\n        this.selected_store_time_array[this.selected_time_index] = {\r\n          store_open_time: this.store_setting.store_open_time,\r\n          store_close_time: this.store_setting.store_close_time,\r\n        };\r\n        this.store_time_millisecond_array[this.selected_time_index] = {\r\n          store_open_time: open_date.getTime(),\r\n          store_close_time: close_date.getTime(),\r\n        };\r\n      }\r\n      this.selected_store_time_array.sort(this.sortStoreTime);\r\n      // this.updateStoreTime();\r\n      this.modal.close();\r\n    }\r\n  }\r\n\r\n  sortStoreTime(a, b) {\r\n    if (a.store_open_time < b.store_open_time) return -1;\r\n    if (a.store_open_time > b.store_open_time) return 1;\r\n    return 0;\r\n  }\r\n\r\n  edit_store_time(store_time, index) {\r\n    this.is_time_edit = true;\r\n    this.store_setting.store_open_time = store_time.store_open_time;\r\n    this.store_setting.store_close_time = store_time.store_close_time;\r\n    jQuery(\"#open\").val(store_time.store_open_time);\r\n    jQuery(\"#close\").val(store_time.store_close_time);\r\n    this.store_close_time_error = 0;\r\n    this.store_open_time_error = 0;\r\n    this.selected_time_index = index;\r\n    this.modal.open();\r\n    jQuery(\"#open\").on(\"change\", (event, res_data) => {\r\n      this.store_open_time_error = 0;\r\n      this.store_close_time_error = 0;\r\n      var open = jQuery(\"#open\").val();\r\n      var close = jQuery(\"#close\").val();\r\n      this.store_setting.store_open_time = open;\r\n\r\n      var open_date = new Date(Date.now());\r\n      open = open.split(\":\");\r\n      open_date.setHours(open[0], open[1], 0, 0);\r\n      open = open_date.getTime();\r\n\r\n      var close_date = new Date(Date.now());\r\n      close = close.split(\":\");\r\n      close_date.setHours(close[0], close[1], 0, 0);\r\n      close = close_date.getTime();\r\n\r\n      if (open >= close) {\r\n        this.store_open_time_error = 1;\r\n      } else {\r\n        this.store_open_time_error = 0;\r\n      }\r\n\r\n      for (var i in this.store_time_millisecond_array) {\r\n        if (this.selected_time_index != i) {\r\n          var open_time = this.store_time_millisecond_array[i].store_open_time;\r\n          var close_time =\r\n            this.store_time_millisecond_array[i].store_close_time;\r\n\r\n          if (open_time <= open && open <= close_time) {\r\n            this.store_open_time_error = 2;\r\n          } else if (open <= open_time && close_time <= close) {\r\n            this.store_open_time_error = 2;\r\n          } else if (open_time <= close && close <= close_time) {\r\n            this.store_close_time_error = 2;\r\n          }\r\n        }\r\n      }\r\n    });\r\n\r\n    jQuery(\"#close\").on(\"change\", (event, res_data) => {\r\n      this.store_close_time_error = 0;\r\n      this.store_open_time_error = 0;\r\n      var open = jQuery(\"#open\").val();\r\n      var close = jQuery(\"#close\").val();\r\n      this.store_setting.store_close_time = close;\r\n      var open_date = new Date(Date.now());\r\n      open = open.split(\":\");\r\n      open_date.setHours(open[0], open[1], 0, 0);\r\n      open = open_date.getTime();\r\n\r\n      var close_date = new Date(Date.now());\r\n      close = close.split(\":\");\r\n      close_date.setHours(close[0], close[1], 0, 0);\r\n      close = close_date.getTime();\r\n\r\n      if (open >= close) {\r\n        this.store_close_time_error = 1;\r\n      } else {\r\n        this.store_close_time_error = 0;\r\n      }\r\n\r\n      for (var i in this.store_time_millisecond_array) {\r\n        if (this.selected_time_index != i) {\r\n          let open_time = this.store_time_millisecond_array[i].store_open_time;\r\n          let close_time =\r\n            this.store_time_millisecond_array[i].store_close_time;\r\n\r\n          if (open_time <= close && close <= close_time) {\r\n            this.store_close_time_error = 2;\r\n          } else if (open <= open_time && close_time <= close) {\r\n            this.store_close_time_error = 2;\r\n          } else if (open_time <= open && open <= close_time) {\r\n            this.store_open_time_error = 2;\r\n          }\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  remove_store_time(store_time) {\r\n    if (!this.is_store_open_full_time && this.edit) {\r\n      swal({\r\n        title: \"Are you sure?\",\r\n        text: \"You won't be able to revert this!\",\r\n        type: \"warning\",\r\n        showCancelButton: true,\r\n        confirmButtonColor: \"#3085d6\",\r\n        cancelButtonColor: \"#d33\",\r\n        confirmButtonText: \"Yes, delete it!\",\r\n      })\r\n        .then(() => {\r\n          var i = this.selected_store_time_array.indexOf(store_time);\r\n          if (i != -1) {\r\n            this.selected_store_time_array.splice(i, 1);\r\n            this.store_time_millisecond_array.splice(i, 1);\r\n            // this.updateStoreTime()\r\n          }\r\n        })\r\n        .catch(swal.noop);\r\n    }\r\n  }\r\n\r\n  updateStoreTime(store_data) {\r\n    if (this.store_setting.social_id.length == 0) {\r\n      this.type = \"time\";\r\n      this.old_password_modal.open();\r\n    } else {\r\n      this.updateStoreTimeService();\r\n    }\r\n  }\r\n\r\n  updateStoreTimeService() {\r\n    this.myLoading = true;\r\n    this.helper.http\r\n      .post(this.helper.POST_METHOD.UPDATE_STORE_TIME, {\r\n        store_time: this.store_setting.store_time,\r\n        type: this.helper.ADMIN_DATA_ID.ADMIN,\r\n        store_id: this.store_setting.store_id,\r\n      })\r\n      .map((response: Response) => response.json())\r\n      .subscribe(\r\n        (res_data) => {\r\n          this.myLoading = false;\r\n          if (res_data.success == false) {\r\n            this.helper.data.storage = {\r\n              code: res_data.error_code,\r\n              message: this.helper.ERROR_CODE[res_data.error_code],\r\n              class: \"alert-danger\",\r\n            };\r\n\r\n            this.helper.message();\r\n            var store = JSON.parse(localStorage.getItem(\"store\"));\r\n          } else {\r\n            this.edit = false;\r\n            localStorage.setItem(\"store\", JSON.stringify(res_data.store));\r\n            this.helper.data.storage = {\r\n              message: this.helper.MESSAGE_CODE[res_data.message],\r\n              class: \"alert-info\",\r\n            };\r\n            this.helper.message();\r\n          }\r\n        },\r\n        (error: any) => {\r\n          this.myLoading = false;\r\n          this.helper.http_status(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  old_password_update() {\r\n    if (this.type == \"settingdata\") {\r\n      this.UpdateSettingData(this.store_setting);\r\n    } else {\r\n      this.updateStoreTimeService();\r\n    }\r\n    this.old_password_modal.close();\r\n  }\r\n\r\n  UpdateSetting(store_data) {\r\n    this.UpdateSettingData(this.store_setting);\r\n  }\r\n\r\n  UpdateSettingData(store_data) {\r\n    this.helper.json_log(this.store_setting.old_password);\r\n    this.myLoading = true;\r\n    store_data.famous_products_tags = this.store_setting.famous_for;\r\n    store_data.old_password = this.store_setting.old_password;\r\n    store_data.new_password = \"\";\r\n    store_data.type = this.helper.ADMIN_DATA_ID.ADMIN;\r\n    this.helper.http\r\n      .post(this.helper.POST_METHOD.UPDATE, store_data)\r\n      .map((response: Response) => response.json())\r\n      .subscribe(\r\n        (res_data) => {\r\n          this.myLoading = false;\r\n          if (res_data.success == false) {\r\n            this.helper.data.storage = {\r\n              code: res_data.error_code,\r\n              message: this.helper.ERROR_CODE[res_data.error_code],\r\n              class: \"alert-danger\",\r\n            };\r\n            this.helper.message();\r\n            var store = JSON.parse(localStorage.getItem(\"store\"));\r\n\r\n            this.store_setting.is_business = store.is_business;\r\n            this.store_setting.is_churn = store.is_churn;\r\n            this.store_setting.churn_date = store.churn_date;\r\n            this.store_setting.is_store_busy = store.is_store_busy;\r\n            this.store_setting.item_tax = store.item_tax;\r\n            this.store_setting.free_delivery_for_above_order_price =\r\n              store.free_delivery_for_above_order_price;\r\n            this.store_setting.free_delivery_within_radius =\r\n              store.free_delivery_within_radius;\r\n            this.store_setting.delivery_time = store.delivery_time;\r\n            this.store_setting.delivery_time_max = store.delivery_time_max;\r\n            this.store_setting.price_rating = store.price_rating;\r\n            this.store_setting.old_password = \"\";\r\n\r\n            this.store_setting.is_order_cancellation_charge_apply =\r\n              store.is_order_cancellation_charge_apply;\r\n            this.store_setting.order_cancellation_charge_for_above_order_price =\r\n              store.order_cancellation_charge_for_above_order_price;\r\n            this.store_setting.order_cancellation_charge_type =\r\n              store.order_cancellation_charge_type;\r\n            this.store_setting.order_cancellation_charge_value =\r\n              store.order_cancellation_charge_value;\r\n            this.store_setting.max_item_quantity_add_by_user =\r\n              store.max_item_quantity_add_by_user;\r\n            this.store_setting.schedule_order_create_after_minute =\r\n              store.schedule_order_create_after_minute;\r\n            this.store_setting.is_provide_delivery_anywhere =\r\n              store.is_provide_delivery_anywhere;\r\n            this.store_setting.delivery_radius = store.delivery_radius;\r\n            this.store_setting.is_taking_schedule_order =\r\n              store.is_taking_schedule_order;\r\n            this.store_setting.is_ask_estimated_time_for_ready_order =\r\n              store.is_ask_estimated_time_for_ready_order;\r\n            this.store_setting.inform_schedule_order_before_min =\r\n              store.inform_schedule_order_before_min;\r\n            this.store_setting.famous_for = store.famous_products_tags;\r\n            this.store_setting.min_order_price = store.min_order_price;\r\n            this.store_setting.preparation_time_for_pickup =\r\n              store.preparation_time_for_pickup;\r\n            this.store_setting.preparation_time_for_delivery =\r\n              store.preparation_time_for_delivery;\r\n            this.store_setting.is_accept_other_system_order =\r\n              store.is_accept_other_system_order;\r\n            this.store_setting.ubereats_email = store.ubereats_email;\r\n            this.store_setting.ubereats_password = store.ubereats_password;\r\n            this.store_setting.is_use_hop_deliveryman =\r\n              store.is_use_hop_deliveryman;\r\n            this.store_setting.city_id = store.city_id;\r\n            this.store_setting.other_store_ids = store.other_store_ids || [];\r\n\r\n            setTimeout(function () {\r\n              jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n              jQuery(\".icheck\").iCheck(\"uncheck\");\r\n            }, 400);\r\n            this.store_setting.famous_for.forEach(function (famous) {\r\n              setTimeout(() => {\r\n                jQuery(\"#icheck\" + famous).iCheck(\"check\");\r\n              }, 500);\r\n            });\r\n          } else {\r\n            this.helper.data.storage = {\r\n              message: this.helper.MESSAGE_CODE[res_data.message],\r\n              class: \"alert-info\",\r\n            };\r\n            this.helper.message();\r\n            this.store_setting.old_password = \"\";\r\n            localStorage.setItem(\"store\", JSON.stringify(res_data.store));\r\n          }\r\n        },\r\n        (error: any) => {\r\n          this.myLoading = false;\r\n          this.helper.http_status(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  updateUberEats(ubereatsForm) {\r\n    this.myLoading = true;\r\n    if (ubereatsForm.valid) {\r\n      console.log(ubereatsForm.value);\r\n      this.helper.http\r\n        .post(this.helper.POST_METHOD.OPEN_UBER_EATS, {\r\n          store_id: this.store_setting.store_id,\r\n          type: this.helper.ADMIN_DATA_ID.ADMIN,\r\n          ubereats_email: ubereatsForm.value.ubereats_email,\r\n          ubereats_password: ubereatsForm.value.ubereats_password,\r\n          is_use_hop_deliveryman: ubereatsForm.value.is_use_hop_deliveryman,\r\n        })\r\n        .map((response: Response) => response.json())\r\n        .subscribe((res_data) => {\r\n          this.myLoading = false;\r\n          this.helper.data.storage = {\r\n            message: this.helper.MESSAGE_CODE[res_data.message],\r\n            class: \"alert-info\",\r\n          };\r\n          this.helper.message();\r\n        });\r\n    }\r\n  }\r\n\r\n  updateSiteSetting(siteformData) {\r\n    if (siteformData.valid) {\r\n      const formData = new FormData();\r\n      formData.append(\"store_id\", this.store_setting.store_id.toString());\r\n      formData.append(\"type\", this.helper.ADMIN_DATA_ID.ADMIN);\r\n      if (this.StoreDomainSetting.domain_type == \"sub_domain\") {\r\n        formData.append(\r\n          \"site_domain\",\r\n          \"www.\" + siteformData.value.site_domain + \".mywhop.com\"\r\n        );\r\n      } else {\r\n        formData.append(\"site_domain\", \"www.\" + siteformData.value.site_domain);\r\n      }\r\n      formData.append(\"site_domain2\", \"www.\" + siteformData.value.site_domain2);\r\n      formData.append(\"domain_type\", this.StoreDomainSetting.domain_type);\r\n      formData.append(\"site_desc\", siteformData.value.site_description);\r\n      formData.append(\"site_color\", siteformData.value.site_color);\r\n      formData.append(\"menu_url_type\", this.StoreDomainSetting.menu_url_type);\r\n      if (this.uploaded_site_logo) {\r\n        formData.append(\"site_logo\", this.uploaded_site_logo);\r\n      }\r\n      if (this.uploaded_title_logo) {\r\n        formData.append(\"title_logo\", this.uploaded_title_logo);\r\n      }\r\n      if (this.uploaded_menu_url) {\r\n        formData.append(\"menu_url\", this.uploaded_menu_url);\r\n      }\r\n      this.helper.http\r\n        .post(this.helper.POST_METHOD.UPDATE_SITE_SETTING, formData)\r\n        .map((response: Response) => response.json())\r\n        .subscribe((res_data) => {\r\n          this.helper.data.storage = {\r\n            message: this.helper.MESSAGE_CODE[res_data.message],\r\n            class: \"alert-info\",\r\n          };\r\n          this.helper.message();\r\n        });\r\n    }\r\n  }\r\n\r\n  change_image($event) {\r\n    const files = $event.target.files || $event.srcElement.files;\r\n    const image_url = files[0];\r\n    if (\r\n      image_url.type == \"image/jpeg\" ||\r\n      image_url.type == \"image/jpg\" ||\r\n      image_url.type == \"image/png\"\r\n    ) {\r\n      this.uploaded_site_logo = image_url;\r\n      var reader = new FileReader();\r\n      reader.onload = (e: any) => {\r\n        this.StoreDomainSetting.site_logo = e.target.result;\r\n      };\r\n      reader.readAsDataURL(image_url);\r\n    }\r\n  }\r\n\r\n  change_menu_image($event) {\r\n    const files = $event.target.files || $event.srcElement.files;\r\n    const image_url = files[0];\r\n    this.StoreDomainSetting.menu_url_type = image_url.type;\r\n    if (\r\n      image_url.type == \"image/jpeg\" ||\r\n      image_url.type == \"image/jpg\" ||\r\n      image_url.type == \"image/png\"\r\n    ) {\r\n      this.uploaded_menu_url = image_url;\r\n      var reader = new FileReader();\r\n      reader.onload = (e: any) => {\r\n        this.StoreDomainSetting.menu_url = e.target.result;\r\n      };\r\n      reader.readAsDataURL(image_url);\r\n    } else if (image_url.type == \"application/pdf\") {\r\n      this.uploaded_menu_url = image_url;\r\n      var reader = new FileReader();\r\n      reader.onload = (e: any) => {\r\n        this.StoreDomainSetting.menu_url = e.target.result;\r\n      };\r\n      reader.readAsDataURL(image_url);\r\n      this.load_local = true;\r\n    }\r\n  }\r\n\r\n  churn_change(event) {\r\n    if (event) {\r\n      this.store_setting.is_business = false;\r\n      this.store_setting.churn_date = new Date();\r\n    }\r\n  }\r\n\r\n  change_title_image($event) {\r\n    const files = $event.target.files || $event.srcElement.files;\r\n    const image_url = files[0];\r\n    if (\r\n      image_url.type == \"image/jpeg\" ||\r\n      image_url.type == \"image/jpg\" ||\r\n      image_url.type == \"image/png\"\r\n    ) {\r\n      this.uploaded_title_logo = image_url;\r\n      var reader = new FileReader();\r\n      reader.onload = (e: any) => {\r\n        this.StoreDomainSetting.title_logo = e.target.result;\r\n      };\r\n      reader.readAsDataURL(image_url);\r\n    }\r\n  }\r\n\r\n  change_page_type(page_type) {\r\n    this.page_type = page_type;\r\n    if (page_type == 2 && this.store_list.length == 0) {\r\n      this.helper.http\r\n        .post(\"/admin/get_store_list_for_city\", {\r\n          city_ids: [this.store_setting.city_id],\r\n          is_approved: true,\r\n        })\r\n        .map((res: Response) => res.json())\r\n        .subscribe((res_data) => {\r\n          this.store_list = res_data.stores || [];\r\n          this.store_list = this.store_list.filter(\r\n            (store) => store._id !== this.store_setting.store_id\r\n          );\r\n        });\r\n    }\r\n  }\r\n\r\n  is_checked(array, country_id) {\r\n    if (array.indexOf(country_id.toString()) !== -1) {\r\n      return true;\r\n    } else {\r\n      return false;\r\n    }\r\n  }\r\n\r\n  change_store(event) {\r\n    var store_id = event.target.value;\r\n    if (event.target.checked) {\r\n      this.store_setting.other_store_ids.push(store_id.toString());\r\n    } else {\r\n      var index = this.store_setting.other_store_ids.indexOf(\r\n        store_id.toString()\r\n      );\r\n      if (index !== -1) {\r\n        this.store_setting.other_store_ids.splice(index, 1);\r\n      }\r\n    }\r\n  }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/store_setting/setting.component.ts","import {Component, OnInit, ViewChild, ViewContainerRef} from '@angular/core';\r\nimport {Response} from '@angular/http';\r\nimport {Helper} from \"../../helper\";\r\ndeclare var jQuery: any;\r\nimport {ModalComponent} from 'ng2-bs3-modal/ng2-bs3-modal';\r\n\r\nexport interface StoreAnalyticDaily\r\n{\r\n    accepted:number,\r\n    acception_ratio:number,\r\n    cancellation_ratio:number,\r\n    cancelled:number,\r\n    completed:number,\r\n    completed_ratio:number,\r\n    received:number,\r\n    rejected:number,\r\n    rejection_ratio:number,\r\n    total_items:number\r\n\r\n}\r\n\r\nexport interface OrderTotal\r\n{\r\n    pay_to_store:number,\r\n    store_have_order_payment:number,\r\n    store_have_service_payment:number,\r\n    total_admin_profit_on_store:number,\r\n    total_earning:number,\r\n    total_item_price:number,\r\n    total_order_price:number,\r\n    total_store_income:number,\r\n    total_store_tax_price:number,\r\n    total_wallet_income_set:number,\r\n    total_wallet_income_set_in_cash_order: number,\r\n    total_wallet_income_set_in_other_order: number,\r\n    total_paid: number,\r\n    total_remaining_to_paid: number\r\n}\r\n\r\nexport interface OrderDayTotal\r\n{\r\n    date1:number,\r\n    date2:number,\r\n    date3:number,\r\n    date4:number,\r\n    date5:number,\r\n    date6:number,\r\n    date7:number\r\n}\r\n\r\nexport interface DateList\r\n{\r\n    date1:Object,\r\n    date2:Object,\r\n    date3:Object,\r\n    date4:Object,\r\n    date5:Object,\r\n    date6:Object,\r\n    date7:Object\r\n}\r\n\r\n@Component({\r\n    selector: 'app-store_weekly_earning',\r\n    template: require('./store_weekly_earning.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class StoreWeeklyEarningComponent implements OnInit {\r\n\r\n    @ViewChild('myModal')\r\n    modal: ModalComponent;\r\n    @ViewChild('order_detail_modal')\r\n    order_detail_modal: ModalComponent;\r\n\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    store_weekly_earning_list: any[];\r\n    //sort_field: string;\r\n    //sort_store_weekly_earning: number;\r\n    search_field: string;\r\n    search_value: string;\r\n    start_date: string;\r\n    end_date: string;\r\n    page: number;\r\n    total_page: number;\r\n    total_pages: number[];\r\n    order_total: String;\r\n    admin_currency: String;\r\n    amount: number;\r\n    store_weekly_earning_id: Object;\r\n    date:DateList;\r\n    week_date: string;\r\n    week_array: any[];\r\n    show: Boolean;\r\n    registered_date: string;\r\n    myLoading: boolean = true;\r\n    transfer_amount: number = 0;\r\n    actual_transfer_amount: number = 0;\r\n    store_id: any = '';\r\n\r\n    private order_total1: OrderTotal;\r\n    private store_analytic_daily: StoreAnalyticDaily;\r\n    private order_day_total: OrderDayTotal;\r\n\r\n    constructor(private helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n    ngAfterViewInit() {\r\n\r\n        jQuery(\".chosen-select\").chosen({disable_search: true});\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n    }\r\n\r\n\r\n\r\n    ngOnInit() {\r\n        //this.sort_field = \"unique_id\";\r\n        // this.sort_store_weekly_earning = -1;\r\n        this.search_field = \"store_detail.name\";\r\n        this.search_value = \"\";\r\n        this.start_date = '';\r\n        this.end_date = '';\r\n        this.week_date = '';\r\n        this.show = false;\r\n\r\n        this.page = 1\r\n\r\n        this.helper.message();\r\n        this.registered_date = \"\";\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.store_weekly_earning_list = [];\r\n        this.order_total = null;\r\n        this.admin_currency = \"\";\r\n        this.week_array = [];\r\n        this.store_weekly_earning_id = \"\";\r\n        this.store_weekly_earning(1);\r\n\r\n        this.order_total1={\r\n\r\n            pay_to_store:0,\r\n            store_have_order_payment:0,\r\n            store_have_service_payment:0,\r\n            total_admin_profit_on_store:0,\r\n            total_earning:0,\r\n            total_item_price:0,\r\n            total_order_price:0,\r\n            total_store_income:0,\r\n            total_store_tax_price:0,\r\n            total_wallet_income_set: 0,\r\n            total_wallet_income_set_in_cash_order: 0,\r\n            total_wallet_income_set_in_other_order: 0,\r\n            total_paid: 0,\r\n            total_remaining_to_paid: 0\r\n        }\r\n\r\n        this.store_analytic_daily={\r\n            accepted:0,\r\n            acception_ratio:0,\r\n            cancellation_ratio:0,\r\n            cancelled:0,\r\n            completed:0,\r\n            completed_ratio:0,\r\n            received:0,\r\n            rejected:0,\r\n            rejection_ratio:0,\r\n            total_items:0\r\n        }\r\n\r\n        this.order_day_total={\r\n            date1:0,\r\n            date2:0,\r\n            date3:0,\r\n            date4:0,\r\n            date5:0,\r\n            date6:0,\r\n            date7:0\r\n        }\r\n\r\n        this.date={\r\n            date1:null,\r\n            date2:null,\r\n            date3:null,\r\n            date4:null,\r\n            date5:null,\r\n            date6:null,\r\n            date7:null\r\n        }\r\n\r\n        this.helper.http.post('/api/admin/get_setting_detail', {}).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n           if (res_data.success == true) {\r\n                this.registered_date = res_data.setting.created_at;\r\n\r\n\r\n                var monthNames = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\",\r\n                    \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\r\n\r\n                var registered_date = new Date(this.registered_date)\r\n\r\n                var today = new Date(Date.now());\r\n                var getDay = today.getDay();\r\n               \r\n                \r\n                var lastWeekEndDay = today.getDate() + 6 - today.getDay();\r\nvar lastWeekEndDate1 = new Date(today.setDate(lastWeekEndDay));\r\nvar timeDiff = Math.abs(lastWeekEndDate1.getTime() - registered_date.getTime());\r\nvar total_week = Math.ceil((timeDiff / (1000 * 3600 * 24)) / 7);\r\n\r\nvar end_date = new Date(today.setDate(lastWeekEndDay));\r\ntoday = new Date(end_date);\r\nvar start_date = new Date(today.setDate(today.getDate() - 6));\r\n\r\n               for (var i = 0; i < total_week; i++) {\r\n    \r\n    var start_date_view = start_date.getDate() + ' ' + monthNames[start_date.getMonth()] + ' ' + start_date.getFullYear();\r\n    var end_date_view = end_date.getDate() + ' ' + monthNames[end_date.getMonth()] + ' ' + end_date.getFullYear();\r\n\r\n    this.week_array.push({value: start_date_view + '-' + end_date_view, text: start_date_view + ' - ' + end_date_view})\r\n\r\n    if (i == 0) {\r\n        this.week_date = start_date_view + '-' + end_date_view;\r\n        this.start_date = start_date_view;\r\n        this.end_date = end_date_view;\r\n    }\r\n    \r\n    end_date = new Date(end_date.setDate(end_date.getDate() - 7));\r\n    start_date = new Date(start_date.setDate(start_date.getDate() - 7));\r\n}\r\n                this.store_weekly_earning(this.page)\r\n\r\n            }\r\n\r\n        });\r\n\r\n\r\n        setTimeout(function () {\r\n            jQuery(\"#week_date\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n\r\n        //        jQuery(this.helper.elementRef.nativeElement).find('#sort_field').on('change', (evnt, res_data) => {\r\n        //\r\n        //            this.sort_field = res_data.selected;\r\n        //\r\n        //        });\r\n        //        jQuery(this.helper.elementRef.nativeElement).find('#sort_store_weekly_earning').on('change', (evnt, res_data) => {\r\n        //\r\n        //            this.sort_store_weekly_earning = res_data.selected;\r\n        //\r\n        //        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#search_field').on('change', (evnt, res_data) => {\r\n\r\n            this.search_field = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#week_date').on('change', (evnt, res_data) => {\r\n\r\n\r\n            this.week_date = res_data.selected;\r\n            var date = this.week_date.split('-');\r\n            this.start_date = date[0];\r\n            this.end_date = date[1];\r\n\r\n        });\r\n    }\r\n    activeRoute(routename: string): boolean {\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n\r\n    store_weekly_earning(page) {\r\n        this.myLoading = true;\r\n        this.page = page;\r\n        this.helper.http.post('/admin/store_weekly_earning', {\r\n            start_date: this.start_date, end_date: this.end_date,\r\n\r\n            search_field: this.search_field, search_value: this.search_value, page: this.page\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n\r\n            if (res_data.success == false) {\r\n\r\n                this.store_weekly_earning_list = [];\r\n                this.total_pages = [];\r\n            }\r\n            else {\r\n\r\n                this.show = true;\r\n                this.store_weekly_earning_list = res_data.store_weekly_earnings;\r\n                this.total_page = res_data.pages;\r\n                this.order_total = res_data.order_total;\r\n                this.admin_currency = res_data.admin_currency;\r\n\r\n                this.total_pages = Array(res_data.pages).fill((x, i) => i).map((x, i) => i + 1)\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    open_modal(id) {\r\n\r\n        this.store_weekly_earning_id = id;\r\n        this.modal.open();\r\n        this.amount = null;\r\n    }\r\n    AdminPayToStore(add_amount) {\r\n        this.helper.http.post('/admin/admin_paid_to_store', add_amount).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            if (res_data.success == true) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.modal.close();\r\n                var index = this.store_weekly_earning_list.findIndex(x => x._id == add_amount.store_weekly_earning_id);\r\n                this.store_weekly_earning_list[index].total_paid = this.store_weekly_earning_list[index].total_paid + +add_amount.amount;\r\n                this.store_weekly_earning_list[index].total_remaining_to_paid = this.store_weekly_earning_list[index].total_remaining_to_paid - add_amount.amount;\r\n            }\r\n\r\n        });\r\n    }\r\n\r\n    open_detail_modal(store_id) {\r\n        this.myLoading = true;\r\n        this.helper.http.post('/api/store/weekly_earning', {\r\n            store_id: store_id,\r\n            type: 1,\r\n            start_date: this.start_date,\r\n            end_date: this.end_date,\r\n            search_field: this.search_field,\r\n            search_value: ''\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n\r\n            if(res_data.success == false)\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message()\r\n                this.show=false;\r\n                this.order_day_total={\r\n                    date1:0,\r\n                    date2:0,\r\n                    date3:0,\r\n                    date4:0,\r\n                    date5:0,\r\n                    date6:0,\r\n                    date7:0\r\n                }\r\n                this.order_total1={\r\n                    pay_to_store:0,\r\n                    store_have_order_payment:0,\r\n                    store_have_service_payment:0,\r\n                    total_admin_profit_on_store:0,\r\n                    total_earning:0,\r\n                    total_item_price:0,\r\n                    total_order_price:0,\r\n                    total_store_income:0,\r\n                    total_store_tax_price:0,\r\n                    total_wallet_income_set: 0,\r\n                    total_wallet_income_set_in_cash_order: 0,\r\n                    total_wallet_income_set_in_other_order: 0,\r\n                    total_paid: 0,\r\n                    total_remaining_to_paid: 0\r\n                }\r\n\r\n                this.store_analytic_daily={\r\n                    accepted:0,\r\n                    acception_ratio:0,\r\n                    cancellation_ratio:0,\r\n                    cancelled:0,\r\n                    completed:0,\r\n                    completed_ratio:0,\r\n                    received:0,\r\n                    rejected:0,\r\n                    rejection_ratio:0,\r\n                    total_items:0\r\n                }\r\n                this.date={\r\n                    date1:null,\r\n                    date2:null,\r\n                    date3:null,\r\n                    date4:null,\r\n                    date5:null,\r\n                    date6:null,\r\n                    date7:null\r\n                }\r\n            }\r\n            else\r\n            {\r\n                this.order_detail_modal.open();\r\n                this.show=true;\r\n\r\n                this.order_day_total=res_data.order_day_total;\r\n\r\n                this.order_day_total={\r\n                    date1: res_data.order_day_total.date1 != undefined ?  res_data.order_day_total.date1 : 0 ,\r\n                    date2: res_data.order_day_total.date2 != undefined ?  res_data.order_day_total.date2 : 0,\r\n                    date3: res_data.order_day_total.date3 != undefined ?  res_data.order_day_total.date3 : 0,\r\n                    date4: res_data.order_day_total.date4 != undefined ?  res_data.order_day_total.date4 : 0,\r\n                    date5: res_data.order_day_total.date5 != undefined ?  res_data.order_day_total.date5 : 0,\r\n                    date6: res_data.order_day_total.date6 != undefined ?  res_data.order_day_total.date6 : 0,\r\n                    date7: res_data.order_day_total.date7 != undefined ?  res_data.order_day_total.date7 : 0\r\n                }\r\n\r\n                this.order_total1={\r\n\r\n                    pay_to_store:res_data.order_total.pay_to_store != undefined ? res_data.order_total.pay_to_store : 0 ,\r\n                    store_have_order_payment:res_data.order_total.store_have_order_payment != undefined ? res_data.order_total.store_have_order_payment : 0,\r\n                    store_have_service_payment:res_data.order_total.store_have_service_payment != undefined ? res_data.order_total.store_have_service_payment : 0,\r\n                    total_admin_profit_on_store:res_data.order_total.total_admin_profit_on_store != undefined ? res_data.order_total.total_admin_profit_on_store : 0,\r\n                    total_earning:res_data.order_total.total_earning != undefined ? res_data.order_total.total_earning : 0,\r\n                    total_item_price:res_data.order_total.total_item_price != undefined ? res_data.order_total.total_item_price : 0,\r\n                    total_order_price:res_data.order_total.total_order_price != undefined ? res_data.order_total.total_order_price : 0,\r\n                    total_store_income:res_data.order_total.total_store_income != undefined ? res_data.order_total.total_store_income : 0,\r\n                    total_store_tax_price:res_data.order_total.total_store_tax_price != undefined ? res_data.order_total.total_store_tax_price : 0,\r\n                    total_wallet_income_set:res_data.order_total.total_wallet_income_set != undefined ? res_data.order_total.total_wallet_income_set : 0,\r\n                    total_wallet_income_set_in_cash_order:res_data.order_total.total_wallet_income_set_in_cash_order != undefined ? res_data.order_total.total_wallet_income_set_in_cash_order : 0,\r\n                    total_wallet_income_set_in_other_order:res_data.order_total.total_wallet_income_set_in_other_order != undefined ? res_data.order_total.total_wallet_income_set_in_other_order : 0,\r\n                    total_paid:res_data.order_total.total_paid != undefined ? res_data.order_total.total_paid : 0,\r\n                    total_remaining_to_paid:res_data.order_total.total_remaining_to_paid != undefined ? res_data.order_total.total_remaining_to_paid : 0\r\n                }\r\n\r\n                this.store_analytic_daily=res_data.store_analytic_weekly;\r\n                this.date=res_data.date;\r\n            }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n            this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n    view_store_weekly_earning_statement(id) {\r\n        this.helper.router_id.admin.store_weekly_earning_id = id;\r\n        this.helper.router.navigate(['admin/store_weekly_earning_statement']);\r\n    }\r\n\r\n    store_weekly_earning_export_csv() {\r\n        this.helper.http.post('/admin/store_weekly_earning', {\r\n            start_date: this.start_date, end_date: this.end_date,\r\n            search_field: this.search_field, search_value: this.search_value\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            var json2csv = require('json2csv');\r\n            res_data.store_weekly_earnings.forEach((store_weekly_earning, index) => {\r\n\r\n\r\n\r\n                store_weekly_earning.currency = store_weekly_earning.country_detail[0].currency_sign;\r\n\r\n\r\n\r\n                store_weekly_earning.store_name = store_weekly_earning.store_detail.name;\r\n\r\n\r\n                if (store_weekly_earning.store_analytic_weekly_detail.length > 0) {\r\n\r\n                    store_weekly_earning.total_orders = store_weekly_earning.store_analytic_weekly_detail[0].total_orders;\r\n\r\n\r\n                }\r\n\r\n            });\r\n\r\n            var fieldNames = [this.title.ID,\r\n            this.title.store,\r\n            this.title.no_of_orders,\r\n            this.title.currency,\r\n            this.title.store_earn,\r\n            this.title.store_have_payment,\r\n            this.title.pay_to_store,\r\n\r\n            this.title.total_wallet_income_set_in_cash_order,\r\n            this.title.total_wallet_income_set_in_other_order,\r\n            this.title.paid,\r\n            this.title.remaining_to_pay\r\n\r\n            ];\r\n\r\n            var fields = ['unique_id', 'store_name',\r\n                'total_orders', 'currency', 'total_store_earning',\r\n                'store_have_order_payment',\r\n                'total_pay_to_store', 'total_wallet_income_set_in_cash_order',\r\n                'total_wallet_income_set_in_other_order',\r\n                'total_paid', 'total_remaining_to_paid'\r\n            ];\r\n\r\n\r\n            var order_total_fieldNames = [this.title.total_orders,\r\n            this.title.admin_earn,\r\n            this.title.store_earn,\r\n            this.title.pay_to_store,\r\n            this.title.total_wallet_income_set_in_cash_order,\r\n            this.title.total_wallet_income_set_in_other_order\r\n\r\n            ];\r\n\r\n            var order_total_fields = ['total_orders',\r\n                'total_admin_earn',\r\n                'total_store_earning',\r\n                'total_pay_to_store',\r\n                'total_wallet_income_set_in_cash_order',\r\n                'total_wallet_income_set_in_other_order'\r\n            ];\r\n\r\n            var order_total_csv = json2csv({data: res_data.order_total, fields: order_total_fields, fieldNames: order_total_fieldNames});\r\n            var csv = json2csv({data: res_data.store_weekly_earnings, fields: fields, fieldNames: fieldNames});\r\n\r\n            var final_csv: any = order_total_csv + \"\\n\" + \"\\n\" + csv;\r\n\r\n            this.helper.downloadFile(final_csv);\r\n        });\r\n    }\r\n\r\n\r\n\r\n\r\n    store_weekly_earning_export_excel() {\r\n        this.helper.http.post('/admin/store_weekly_earning', {\r\n            start_date: this.start_date, end_date: this.end_date,\r\n            search_field: this.search_field, search_value: this.search_value\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            var json_data = [];\r\n            var json2excel = require('js2excel');\r\n            res_data.store_weekly_earnings.forEach((store_weekly_earning, index) => {\r\n\r\n                store_weekly_earning.currency = store_weekly_earning.country_detail[0].currency_sign;\r\n\r\n\r\n\r\n                store_weekly_earning.store_name = store_weekly_earning.store_detail.name;\r\n\r\n                if (store_weekly_earning.store_analytic_weekly_detail.length > 0) {\r\n\r\n                    store_weekly_earning.total_orders = store_weekly_earning.store_analytic_weekly_detail[0].total_orders;\r\n\r\n\r\n                }\r\n\r\n                json_data.push({\r\n                    \"ID\": store_weekly_earning.unique_id,\r\n                    \"Store\": store_weekly_earning.store_name,\r\n                    \"Total Orders\": store_weekly_earning.total_orders,\r\n                    \"Currency\": store_weekly_earning.currency,\r\n                    \"Store Earn\": store_weekly_earning.total_store_earning,\r\n                    \"Store Have Payment\": store_weekly_earning.store_have_order_payment,\r\n                    \"Pay To Store\": store_weekly_earning.total_pay_to_store,\r\n\r\n                    \"Deduct From Wallet\": store_weekly_earning.total_wallet_income_set_in_cash_order,\r\n                    \"Added In Wallet\": store_weekly_earning.total_wallet_income_set_in_other_order,\r\n                    \"Paid\": store_weekly_earning.total_paid,\r\n                    \"Remaining to Pay\": store_weekly_earning.total_remaining_to_paid\r\n                });\r\n\r\n\r\n            });\r\n\r\n\r\n            json2excel.json2excel({\r\n                data: json_data,\r\n                name: 'store_weekly_earning_excel',\r\n                formateDate: 'yyyy/mm/dd'\r\n            });\r\n\r\n\r\n\r\n        });\r\n    }\r\n\r\n    store_manual_transfer_modal(store_id, amount){\r\n        this.transfer_amount = JSON.parse(JSON.stringify(amount));\r\n        this.actual_transfer_amount = JSON.parse(JSON.stringify(amount));\r\n        this.store_id = store_id;\r\n        this.modal.open();\r\n    }\r\n\r\n    store_manual_transfer(){\r\n        this.myLoading = true;\r\n        this.modal.close();\r\n        if(Number(this.transfer_amount) <= Number(this.actual_transfer_amount)){\r\n            this.helper.http.post('/admin/store_manual_transfer', {\r\n                start_date: this.start_date, end_date: this.end_date,\r\n                store_id: this.store_id, amount: this.transfer_amount\r\n            }).map((res: Response) => res.json()).subscribe(res_data => {\r\n                // this.myLoading = false;\r\n                if(res_data.success){\r\n                    this.helper.data.storage = {\r\n                        \"message\": 'Amount Transfer Successfully',\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n                    this.helper.message()\r\n                } else{\r\n                    this.helper.data.storage = {\r\n                        \"message\": res_data.error.message,\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message()\r\n                }\r\n                this.store_weekly_earning(this.page);\r\n            });\r\n        } else {\r\n            this.helper.data.storage = {\r\n                \"message\": 'You not transfer more then '+this.actual_transfer_amount,\r\n                \"class\": \"alert-info\"\r\n            }\r\n            this.helper.message()\r\n        }\r\n    }\r\n\r\n\r\n\r\n\r\n\r\n    //    store_weekly_earning_export_excel() {\r\n    //        this.helper.http.get('/admin/export_excel_store_weekly_earning').map((res: Response) => res.json()).subscribe(res => {\r\n    //\r\n    //        window.open(res.path);\r\n    //            \r\n    //        });\r\n    //    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/store_weekly_earning/store_weekly_earning.component.ts","import {Component, ViewContainerRef, Injectable, ElementRef, OnInit, ViewChild} from '@angular/core';\r\nimport {Headers, Http, Response} from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport {Helper} from \"../../helper\";\r\ndeclare var jQuery: any;\r\nimport 'rxjs/add/operator/toPromise';\r\n\r\n//import * as jsPDF from 'jspdf'\r\ndeclare let jsPDF;\r\n\r\nexport interface StoreAnalyticWeekly {\r\n    received: number,\r\n    accepted: number,\r\n    rejected: number,\r\n    cancelled: number,\r\n    order_ready: number,\r\n    completed: number,\r\n    acception_ratio: number,\r\n    rejection_ratio: number,\r\n    cancellation_ratio: number,\r\n    completed_ratio: number,\r\n    total_items: number\r\n\r\n}\r\nexport interface OrderTotal {\r\n    pay_to_store: number,\r\n    store_have_order_payment: number,\r\n    store_have_service_payment: number,\r\n    total_admin_profit_on_store: number,\r\n    total_earning: number,\r\n    total_item_price: number,\r\n    total_order_price: number,\r\n    total_store_income: number,\r\n    total_store_tax_price: number,\r\n    wallet: number,\r\n\r\n    total_paid: number,\r\n    total_remaining_to_paid: number,\r\n    total_wallet_income_set: number,\r\n\r\n    total_wallet_income_set_in_cash_order: number,\r\n    total_wallet_income_set_in_other_order: number\r\n}\r\n\r\nexport interface OrderDayTotal {\r\n    date1: number,\r\n    date2: number,\r\n    date3: number,\r\n    date4: number,\r\n    date5: number,\r\n    date6: number,\r\n    date7: number\r\n}\r\n\r\nexport interface DateList {\r\n    date1: Object,\r\n    date2: Object,\r\n    date3: Object,\r\n    date4: Object,\r\n    date5: Object,\r\n    date6: Object,\r\n    date7: Object\r\n}\r\n\r\n\r\n@Component({\r\n    selector: 'app-store_weekly_earning_statement',\r\n    template: require('./store_weekly_earning_statement.component.html'),\r\n   providers: [Helper,\r\n        {provide: 'Window', useValue: window}\r\n    ]\r\n})\r\n@Injectable()\r\nexport class StoreWeeklyEarningStatementComponent implements OnInit {\r\n    private order_total: OrderTotal;\r\n    private store_analytic_weekly: StoreAnalyticWeekly;\r\n    private order_day_total: OrderDayTotal;\r\n    date: DateList;\r\n    store_weekly_earning_id: Object;\r\n    currency: String;\r\n    title: any;\r\n    button: any;\r\n    ORDER_STATE: any;\r\n    heading_title: any;\r\n\r\n    constructor(private helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n    ngAfterViewInit() {\r\n\r\n        jQuery(\".chosen-select\").chosen();\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.store_weekly_earning_id = this.helper.router_id.admin.store_weekly_earning_id;\r\n        this.order_total = {\r\n\r\n            pay_to_store: 0,\r\n            store_have_order_payment: 0,\r\n            store_have_service_payment: 0,\r\n            total_admin_profit_on_store: 0,\r\n            total_earning: 0,\r\n            total_item_price: 0,\r\n            total_order_price: 0,\r\n            total_store_income: 0,\r\n            total_store_tax_price: 0,\r\n            wallet: 0,\r\n            total_paid: 0,\r\n            total_remaining_to_paid: 0,\r\n            total_wallet_income_set: 0,\r\n\r\n            total_wallet_income_set_in_cash_order: 0,\r\n            total_wallet_income_set_in_other_order: 0\r\n        }\r\n\r\n        this.store_analytic_weekly = {\r\n\r\n            received: 0,\r\n            accepted: 0,\r\n            rejected: 0,\r\n            cancelled: 0,\r\n            order_ready: 0,\r\n            completed: 0,\r\n            acception_ratio: 0,\r\n            rejection_ratio: 0,\r\n            cancellation_ratio: 0,\r\n            completed_ratio: 0,\r\n            total_items: 0\r\n        }\r\n\r\n        this.order_day_total = {\r\n            date1: 0,\r\n            date2: 0,\r\n            date3: 0,\r\n            date4: 0,\r\n            date5: 0,\r\n            date6: 0,\r\n            date7: 0\r\n        }\r\n\r\n        this.date = {\r\n            date1: null,\r\n            date2: null,\r\n            date3: null,\r\n            date4: null,\r\n            date5: null,\r\n            date6: null,\r\n            date7: null\r\n        }\r\n\r\n        this.currency = \"\";\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n\r\n        this.store_weekly_earning_statement()\r\n    }\r\n\r\n    store_weekly_earning_statement() {\r\n        this.helper.http.post('/admin/weekly_statement_for_store', {\r\n            store_weekly_earning_id: this.store_weekly_earning_id\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            if (res_data.success == false) {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n\r\n                this.order_day_total = {\r\n                    date1: 0,\r\n                    date2: 0,\r\n                    date3: 0,\r\n                    date4: 0,\r\n                    date5: 0,\r\n                    date6: 0,\r\n                    date7: 0\r\n                }\r\n                this.order_total = {\r\n                    pay_to_store: 0,\r\n                    store_have_order_payment: 0,\r\n                    store_have_service_payment: 0,\r\n                    total_admin_profit_on_store: 0,\r\n                    total_earning: 0,\r\n                    total_item_price: 0,\r\n                    total_order_price: 0,\r\n                    total_store_income: 0,\r\n                    total_store_tax_price: 0,\r\n                    wallet: 0,\r\n                    total_paid: 0,\r\n                    total_remaining_to_paid: 0,\r\n                    total_wallet_income_set: 0,\r\n\r\n                    total_wallet_income_set_in_cash_order: 0,\r\n                    total_wallet_income_set_in_other_order: 0\r\n                }\r\n\r\n                this.store_analytic_weekly = {\r\n                    received: 0,\r\n                    accepted: 0,\r\n                    rejected: 0,\r\n                    cancelled: 0,\r\n                    order_ready: 0,\r\n                    completed: 0,\r\n                    acception_ratio: 0,\r\n                    rejection_ratio: 0,\r\n                    cancellation_ratio: 0,\r\n                    completed_ratio: 0,\r\n                    total_items: 0\r\n                }\r\n                this.date = {\r\n                    date1: null,\r\n                    date2: null,\r\n                    date3: null,\r\n                    date4: null,\r\n                    date5: null,\r\n                    date6: null,\r\n                    date7: null\r\n                }\r\n            }\r\n            else {\r\n\r\n\r\n                if (res_data.order_total != undefined) {\r\n                    this.order_total = res_data.order_total;\r\n                }\r\n                else {\r\n                    this.order_day_total = {\r\n                        date1: 0,\r\n                        date2: 0,\r\n                        date3: 0,\r\n                        date4: 0,\r\n                        date5: 0,\r\n                        date6: 0,\r\n                        date7: 0\r\n                    }\r\n\r\n                }\r\n\r\n                if (res_data.order_day_total != undefined) {\r\n                    this.order_day_total = res_data.order_day_total;\r\n                }\r\n                else {\r\n                    this.order_total = {\r\n\r\n                        pay_to_store: 0,\r\n                        store_have_order_payment: 0,\r\n                        store_have_service_payment: 0,\r\n                        total_admin_profit_on_store: 0,\r\n                        total_earning: 0,\r\n                        total_item_price: 0,\r\n                        total_order_price: 0,\r\n                        total_store_income: 0,\r\n                        total_store_tax_price: 0,\r\n                        wallet: 0,\r\n                        \r\n                        total_paid: 0,\r\n                        total_remaining_to_paid: 0,\r\n                        total_wallet_income_set: 0,\r\n                        total_wallet_income_set_in_cash_order: 0,\r\n                        total_wallet_income_set_in_other_order: 0\r\n                    }\r\n                }\r\n\r\n                this.store_analytic_weekly = res_data.store_analytic_weekly;\r\n                this.date = res_data.date;\r\n                this.currency = res_data.currency;\r\n            }\r\n        });\r\n    }\r\n    \r\n    public download() {\r\n        var doc = new jsPDF();\r\n        doc.setFontType(\"bold\");\r\n        doc.text(20, 20, \"TOTAL: \" + this.order_total.total_earning.toString() + \" \" + this.currency);\r\n        \r\n        doc.setFontType(\"normal\");\r\n        doc.text(20, 30, \"Total Order: \" + this.store_analytic_weekly.order_ready);\r\n        doc.text(20, 40, \"Completed Ratio: \" + this.store_analytic_weekly.completed_ratio.toString());\r\n        doc.text(20, 50, \"Accepted: \" + this.store_analytic_weekly.accepted)\r\n        doc.text(20, 60, \"Accepeted Ratio: \" + this.store_analytic_weekly.acception_ratio.toString());\r\n        doc.text(20, 70, \"Total Item Sold: \" + this.store_analytic_weekly.total_items);\r\n        \r\n        doc.setFontType(\"bold\");\r\n        doc.text(20, 90, \"ORDER EARNING\");\r\n        doc.setFontType(\"normal\");\r\n        doc.text(20, 100, \"Item Price: \" + (this.order_total.total_item_price.toFixed(2)).toString());\r\n        doc.text(20, 110, \"Tax Price: \" + (this.order_total.total_store_tax_price.toFixed(2)).toString());\r\n        doc.text(20, 120, \"Surge Price: \" + (this.order_total.total_order_price.toFixed(2)).toString())\r\n        doc.text(20, 130, \"Order Price: \" + (this.order_total.total_order_price.toFixed(2)).toString());\r\n        doc.text(20, 140, \"Store Profit: \" + (this.order_total.total_admin_profit_on_store.toFixed(2)).toString());\r\n        doc.text(20, 150, \"Wallet: \" + (this.order_total.wallet.toFixed(2)).toString());\r\n        \r\n        doc.setFontType(\"bold\");\r\n        doc.text(20, 170, \"STORE TRANSACTION\");\r\n        doc.setFontType(\"normal\");\r\n        doc.text(20, 180, \"Store Earning: \" + (this.order_total.total_store_income.toFixed(2)).toString());\r\n        doc.text(20, 190, \"Paid: \" + (this.order_total.store_have_order_payment.toFixed(2)).toString());\r\n        doc.text(20, 200, \"Remaining To Pay: \" + (this.order_total.pay_to_store.toFixed(2)).toString());\r\n        doc.text(20, 210, \"Total Earnings: \" + (this.order_total.total_earning.toFixed(2)).toString());\r\n        doc.text(20, 220, \"Received Order Amount: \" + (this.order_total.store_have_order_payment.toFixed(2)).toString());\r\n        doc.text(20, 230, \"Paid Service Fee: \" + (this.order_total.store_have_service_payment.toFixed(2)).toString());\r\n        \r\n        doc.text(20, 240, \"Deduct From Wallet: \" + (this.order_total.total_wallet_income_set_in_cash_order.toFixed(2)).toString());\r\n        doc.text(20, 250, \"Added In wallet: \" + (this.order_total.total_wallet_income_set_in_other_order.toFixed(2)).toString());\r\n        \r\n        doc.save('store_weekly_earning_statement.pdf');\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/store_weekly_earning_statement/store_weekly_earning_statement.component.ts","import { Component, OnInit, ViewChild, ViewContainerRef } from \"@angular/core\";\r\nimport { Helper } from \"../../helper\";\r\nimport { Http, Response } from \"@angular/http\";\r\ndeclare var jQuery: any;\r\nimport { ModalComponent } from \"ng2-bs3-modal/ng2-bs3-modal\";\r\nimport * as moment from \"moment-timezone\";\r\ndeclare var swal: any;\r\n\r\nexport interface Document {\r\n  unique_code: String;\r\n  expired_date: any;\r\n  image_url: \"\";\r\n}\r\n\r\nexport interface Bonus {\r\n  bonus_amount: number;\r\n  bonus_type: number;\r\n  bonus_payment_type: number;\r\n  bonus_no_of_month: number;\r\n  bonus_start_month: number;\r\n  bonus_start_year: number;\r\n  bonus_reason: string;\r\n  is_bonus_monthly: boolean;\r\n}\r\n\r\n@Component({\r\n  selector: \"app-stores\",\r\n  template: require('./stores.component.html'),\r\n  providers: [Helper],\r\n})\r\nexport class StoresComponent implements OnInit {\r\n  @ViewChild(\"myModal\")\r\n  modal: ModalComponent;\r\n\r\n  @ViewChild(\"mysmsModal\")\r\n  sms_modal: ModalComponent;\r\n\r\n  @ViewChild(\"never_launched_modal\")\r\n  never_launched_modal: ModalComponent;\r\n\r\n  @ViewChild(\"churn_modal\")\r\n  churn_modal: ModalComponent;\r\n\r\n  // @ViewChild('mynotificationModal')\r\n\r\n  @ViewChild(\"document_full_image\")\r\n  document_full_image: ModalComponent;\r\n\r\n  bonus_info: Bonus = {\r\n    bonus_amount: null,\r\n    bonus_type: 1,\r\n    bonus_payment_type: 1,\r\n    bonus_no_of_month: null,\r\n    bonus_start_month: 0,\r\n    bonus_start_year: 2020,\r\n    bonus_reason: \"\",\r\n    is_bonus_monthly: false,\r\n  };\r\n  fee_type: number = 1;\r\n\r\n  hubrise_origin_list: any[] = [];\r\n\r\n  notification_modal: ModalComponent;\r\n  selected_document_index: number;\r\n  store_list: any;\r\n  title: any;\r\n  button: any;\r\n  heading_title: any;\r\n  delivery_list: any[] = [];\r\n  city_list: any[] = [];\r\n  city_detail: string = \"\";\r\n\r\n  sort_field: string;\r\n  sort_store: number;\r\n  // search_field: string;\r\n  // search_value: string;\r\n  // page: number;\r\n  // store_page_type: number;\r\n  // number_of_rec: number = 10;\r\n  is_file_changed = false;\r\n\r\n  month_array: any[] = [\r\n    { value: 0, text: \"Janvier\" },\r\n    { value: 1, text: \"Février\" },\r\n    { value: 2, text: \"Mars\" },\r\n    { value: 3, text: \"Avril\" },\r\n    { value: 4, text: \"Mai\" },\r\n    { value: 5, text: \"Juin\" },\r\n    { value: 6, text: \"Juillet\" },\r\n    { value: 7, text: \"Août\" },\r\n    { value: 8, text: \"Septembre\" },\r\n    { value: 9, text: \"Octobre\" },\r\n    { value: 10, text: \"Novembre\" },\r\n    { value: 11, text: \"Décembre\" },\r\n  ];\r\n  year_array: any[] = [2020, 2021, 2022, 2023];\r\n\r\n  total_page: number;\r\n  total_pages: number[];\r\n\r\n  store_id: Object;\r\n  type: number;\r\n  wallet: number;\r\n  content: string;\r\n  public message: string = \"\";\r\n  public class: string;\r\n  myLoading: boolean = true;\r\n\r\n  store_detail: any = {};\r\n  is_edit: boolean = false;\r\n  formData = new FormData();\r\n  selected_tab: number = 1;\r\n  document_list: any[] = [];\r\n  edit_document: any[] = [];\r\n  old_image_url: string = \"\";\r\n  error_message: number = 0;\r\n  private documentlist: Document;\r\n  referral_history: any[] = [];\r\n  review_list: any[] = [];\r\n  bank_detail_list: any[] = [];\r\n  country_list: any[] = [];\r\n  all_city_list: any[] = [];\r\n  moment: any;\r\n  view_type: number = 1;\r\n\r\n  distance_calculation_error: number = 0;\r\n  selected_index: number = null;\r\n  min_amount: number = null;\r\n  subscription_amount: number = null;\r\n  max_amount: number = null;\r\n  @ViewChild(\"add_subscription_amount_modal\")\r\n  add_subscription_amount_modal: ModalComponent;\r\n\r\n  store_time: any[] = [];\r\n  selected_store_time_array: any[] = [];\r\n  store_time_millisecond_array: any[] = [];\r\n  curren_selected_day: number = 0;\r\n  is_store_open_full_time: Boolean = false;\r\n  is_store_open: Boolean = false;\r\n  is_time_edit: boolean = false;\r\n  selected_time_index: any;\r\n  selected_days: any[] = [];\r\n  date_array: any[] = [];\r\n  edit: Boolean = false;\r\n  store_time_add: Boolean;\r\n  store_open_time_error: number;\r\n  store_close_time_error: number;\r\n  @ViewChild(\"add_modal\")\r\n  add_modal: ModalComponent;\r\n  @ViewChild(\"copy_store_time_modal\")\r\n  copy_store_time_modal: ModalComponent;\r\n  store_open_time: string = \"\";\r\n  store_close_time: string = \"\";\r\n\r\n  constructor(\r\n    public helper: Helper,\r\n    public vcr: ViewContainerRef,\r\n  ) {\r\n    helper.toastr.setRootViewContainerRef(vcr);\r\n  }\r\n  ngAfterViewInit() {\r\n    jQuery(\".clock-picker\").clockpicker({\r\n      default: \"now\",\r\n      align: \"right\",\r\n      autoclose: true,\r\n    });\r\n\r\n    jQuery(\".chosen-select\").chosen({ disable_search: true });\r\n    setTimeout(function () {\r\n      jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n    }, 1000);\r\n\r\n    // jQuery('#clock-picker').clockpicker().find('input').change(function(){\r\n    //     this.store_open_time = this.value;\r\n    // });\r\n\r\n    // jQuery('#clock-picker1').clockpicker().find('input').change(function(){\r\n    //     this.store_close_time = this.value;\r\n    // });\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.helper.clear_height_width();\r\n  }\r\n\r\n  ngOnInit() {\r\n    this.helper.height = 200;\r\n    this.helper.width = 200;\r\n\r\n    this.documentlist = {\r\n      unique_code: \"\",\r\n      expired_date: null,\r\n      image_url: \"\",\r\n    };\r\n    jQuery(\"#admin_profit_mode\").chosen({ disable_search: true });\r\n    setTimeout(() => {\r\n      jQuery(\"#admin_profit_mode\").trigger(\"chosen:updated\");\r\n    });\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#admin_profit_mode\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.store_detail.admin_profit_mode_on_store = res_data.selected;\r\n      });\r\n\r\n    setTimeout(() => {\r\n      jQuery(\"#add_price_type\").chosen({ disable_search: true });\r\n      jQuery(\"#add_price_type\").trigger(\"chosen:updated\");\r\n      jQuery(this.helper.elementRef.nativeElement)\r\n        .find(\"#add_price_type\")\r\n        .on(\"change\", (evnt, res_data) => {\r\n          console.log(res_data);\r\n          this.store_detail.add_price_type = res_data.selected;\r\n        });\r\n    }, 1000);\r\n\r\n    this.moment = moment;\r\n    this.helper.message();\r\n    this.sort_field = \"unique_id\";\r\n    this.sort_store = -1;\r\n    // this.helper.router_id.store_filter.search_field = \"name\";\r\n    // this.helper.router_id.store_filter.search_value = \"\";\r\n    // this.helper.router_id.store_filter.page = 1;\r\n    // if (this.helper.route.snapshot.url[1].path == 'stores') {\r\n    //     this.store_page_type = 1;\r\n    // }\r\n    // else if (this.helper.route.snapshot.url[1].path == 'declined_store') {\r\n    //     this.store_page_type = 2;\r\n    // }\r\n    // else if (this.helper.route.snapshot.url[1].path == 'business_off_store') {\r\n    //     this.store_page_type = 3;\r\n    // }\r\n    this.store_id = \"\";\r\n\r\n    this.helper.http\r\n      .get(\"/api/admin/get_country_list\")\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        this.country_list = res_data.countries;\r\n        setTimeout(() => {\r\n          jQuery(\"#country_dispatcher\").chosen(\"trigger:updated\");\r\n        }, 1000);\r\n      });\r\n    this.helper.http\r\n      .post(\"/admin/get_all_city_list\", {})\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        this.all_city_list = res_data.city_list;\r\n        this.hubrise_origin_list = res_data.hubrise_origins;\r\n        this.filter(this.helper.router_id.store_filter.page);\r\n      });\r\n\r\n    this.type = 2;\r\n    this.title = this.helper.title;\r\n    this.button = this.helper.button;\r\n    this.heading_title = this.helper.heading_title;\r\n    this.store_list = [];\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#sort_field\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.sort_field = res_data.selected;\r\n      });\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#sort_store\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.sort_store = res_data.selected;\r\n      });\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#search_field\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.helper.router_id.store_filter.search_field = res_data.selected;\r\n      });\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#number_of_rec\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.helper.router_id.store_filter.number_of_rec = res_data.selected;\r\n        this.filter(1);\r\n      });\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#country_dispatcher\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.helper.router_id.store_filter.country_id = res_data.selected;\r\n        this.filter(1);\r\n      });\r\n\r\n    // jQuery('#open').on('change', (event, res_data) => {\r\n\r\n    //     this.store_open_time_error = 0;\r\n    //     this.store_close_time_error = 0;\r\n    //     var open = jQuery(\"#open\").val()\r\n    //     var close = jQuery(\"#close\").val()\r\n    //     this.store_open_time=open\r\n\r\n    //     var open_date = new Date(Date.now())\r\n    //     open=open.split(':');\r\n    //     open_date.setHours(open[0] , open[1] , 0,0)\r\n    //     open=open_date.getTime();\r\n\r\n    //     var close_date = new Date(Date.now())\r\n    //     close=close.split(':');\r\n    //     close_date.setHours(close[0] , close[1] , 0,0)\r\n    //     close=close_date.getTime();\r\n\r\n    //     if(open>=close)\r\n    //     {\r\n    //         this.store_open_time_error = 1\r\n    //     }\r\n    //     else\r\n    //     {\r\n    //         this.store_open_time_error = 0\r\n    //     }\r\n\r\n    //     for(var i in this.store_time_millisecond_array)\r\n    //     {\r\n    //         if(this.selected_time_index != i){\r\n    //             var open_time = this.store_time_millisecond_array[i].store_open_time;\r\n    //             var close_time = this.store_time_millisecond_array[i].store_close_time;\r\n\r\n    //             if( ( open_time <= open) && (open <= close_time )) {\r\n    //                 this.store_open_time_error = 2\r\n    //             }\r\n    //             else if(open<=open_time && close_time<=close){\r\n    //                 this.store_open_time_error = 2\r\n    //             } else if( ( open_time <= close ) && (close <= close_time)) {\r\n    //                 this.store_close_time_error = 2\r\n\r\n    //             }\r\n    //         }\r\n    //     }\r\n    // });\r\n\r\n    // jQuery('#close').on('change', (event, res_data) => {\r\n\r\n    //     this.store_close_time_error = 0;\r\n    //     this.store_open_time_error = 0;\r\n    //     var open = jQuery(\"#open\").val()\r\n    //     var close = jQuery(\"#close\").val()\r\n    //     this.store_close_time=close\r\n    //     var open_date = new Date(Date.now())\r\n    //     open=open.split(':');\r\n    //     open_date.setHours(open[0] , open[1] , 0, 0)\r\n    //     open=open_date.getTime();\r\n\r\n    //     var close_date = new Date(Date.now())\r\n    //     close=close.split(':');\r\n    //     close_date.setHours(close[0] , close[1], 0 , 0)\r\n    //     close=close_date.getTime();\r\n\r\n    //     if(open>=close)\r\n    //     {\r\n    //         this.store_close_time_error = 1\r\n\r\n    //     }\r\n    //     else{\r\n    //         this.store_close_time_error = 0;\r\n    //     }\r\n\r\n    //     for(var i in this.store_time_millisecond_array)\r\n    //     {\r\n    //         if(this.selected_time_index != i){\r\n\r\n    //             let open_time = this.store_time_millisecond_array[i].store_open_time\r\n    //             let close_time = this.store_time_millisecond_array[i].store_close_time\r\n\r\n    //             if( ( open_time <= close ) && (close <= close_time)) {\r\n    //                 this.store_close_time_error = 2\r\n    //             } else if(open<=open_time && close_time<=close){\r\n    //                 this.store_close_time_error = 2\r\n    //             }else if( ( open_time <= open) && (open <= close_time )) {\r\n    //                 this.store_open_time_error = 2\r\n    //             }\r\n    //         }\r\n    //     }\r\n    // });\r\n  }\r\n\r\n  change_page_type(store_page_type) {\r\n    this.helper.router_id.store_filter.store_page_type = store_page_type;\r\n    this.filter(1);\r\n  }\r\n\r\n  show_full_image(image_url, document_index) {\r\n    this.selected_document_index = document_index;\r\n    this.document_full_image.open();\r\n    this.get_document_image(image_url, document_index);\r\n  }\r\n\r\n  edit_data() {\r\n    this.is_edit = true;\r\n    jQuery(\".chosen-select\").chosen({ disable_search: true });\r\n    setTimeout(() => {\r\n      jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n      jQuery(this.helper.elementRef.nativeElement)\r\n        .find(\"#admin_profit_mode\")\r\n        .on(\"change\", (evnt, res_data) => {\r\n          this.store_detail.admin_profit_mode_on_store = res_data.selected;\r\n        });\r\n\r\n      jQuery(this.helper.elementRef.nativeElement)\r\n        .find(\"#add_price_type\")\r\n        .on(\"change\", (evnt, res_data) => {\r\n          this.store_detail.add_price_type = res_data.selected;\r\n        });\r\n\r\n      jQuery(this.helper.elementRef.nativeElement)\r\n        .find(\"#store_delivery_id\")\r\n        .on(\"change\", (evnt, res_data) => {\r\n          this.store_detail.store_delivery_id = res_data.selected;\r\n        });\r\n\r\n      // jQuery(this.helper.elementRef.nativeElement).find('#hubrise_origin_list').on('change', (evnt, res_data) => {\r\n      // \tconsole.log(res_data.selected)\r\n      // \tif(res_data.selected){\r\n      //         this.store_detail.hubrise_origins = [];\r\n      // \t\tlet hubrise_origins = res_data.selected;\r\n      //         hubrise_origins.forEach((hubrise_origin) => {\r\n      //             hubrise_origin = hubrise_origin.split(': ')\r\n      //             var result = hubrise_origin[1].substring(1, hubrise_origin[1].length-1);\r\n      //             this.store_detail.hubrise_origins.push(result);\r\n      //         });\r\n      //     }\r\n      // \tconsole.log(this.store_detail.hubrise_origins)\r\n      //     // this.store_detail.hubrise_origins = res_data.selected\r\n      // });\r\n    }, 1000);\r\n\r\n    var autocompleteElm = <HTMLInputElement>document.getElementById(\"address\");\r\n    let autocomplete = new google.maps.places.Autocomplete(autocompleteElm, {\r\n      types: [\"address\"],\r\n      componentRestrictions: {\r\n        country: this.store_detail.country_details.country_code,\r\n      },\r\n    });\r\n\r\n    autocomplete.addListener(\"place_changed\", () => {\r\n      var place = autocomplete.getPlace();\r\n      var lat = place.geometry.location.lat();\r\n      var lng = place.geometry.location.lng();\r\n      this.store_detail.address = place.formatted_address;\r\n      this.store_detail.location = [lat, lng];\r\n    });\r\n\r\n    setTimeout(() => {\r\n      jQuery(\"#bonus_start_month\").chosen(\"trigger:updated\");\r\n      jQuery(this.helper.elementRef.nativeElement)\r\n        .find(\"#bonus_start_month\")\r\n        .on(\"change\", (evnt, res_data) => {\r\n          this.bonus_info.bonus_start_month = res_data.selected;\r\n        });\r\n      jQuery(\"#bonus_start_year\").chosen(\"trigger:updated\");\r\n      jQuery(this.helper.elementRef.nativeElement)\r\n        .find(\"#bonus_start_year\")\r\n        .on(\"change\", (evnt, res_data) => {\r\n          this.bonus_info.bonus_start_year = res_data.selected;\r\n        });\r\n    }, 1000);\r\n  }\r\n\r\n  get_hubrise_origin(id) {\r\n    let origin = this.hubrise_origin_list.find((x) => x.id == id);\r\n    if (origin) {\r\n      return origin.name;\r\n    } else {\r\n      return \"\";\r\n    }\r\n  }\r\n\r\n  filter(page) {\r\n    this.myLoading = true;\r\n    this.helper.router_id.store_filter.page = page;\r\n    this.helper.http\r\n      .post(\"/admin/store_list_search_sort\", {\r\n        sort_field: this.sort_field,\r\n        country_id: this.helper.router_id.store_filter.country_id,\r\n        sort_store: this.sort_store,\r\n        store_page_type: this.helper.router_id.store_filter.store_page_type,\r\n        number_of_rec: this.helper.router_id.store_filter.number_of_rec,\r\n        search_field: this.helper.router_id.store_filter.search_field,\r\n        search_value: this.helper.router_id.store_filter.search_value,\r\n        page: this.helper.router_id.store_filter.page,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe(\r\n        (res_data) => {\r\n          this.myLoading = false;\r\n          if (res_data.success == false) {\r\n            this.store_list = [];\r\n            this.total_pages = [];\r\n            this.store_detail = {};\r\n          } else {\r\n            res_data.stores.forEach((provider) => {\r\n              let country = this.country_list.find(\r\n                (x) => x._id == provider.country_id,\r\n              );\r\n              provider.country_details = {\r\n                country_name: country ? country.country_name : \"\",\r\n              };\r\n\r\n              let city = this.all_city_list.find(\r\n                (x) => x._id == provider.city_id,\r\n              );\r\n              provider.city_details = {\r\n                city_name: city ? city.city_name : \"\",\r\n              };\r\n            });\r\n            this.store_list = res_data.stores;\r\n\r\n            this.store_list.forEach((store_detail) => {\r\n              let activity_status = 0;\r\n              if (store_detail.last_order_date) {\r\n                const now_date = new Date();\r\n                const last_order_date = new Date(store_detail.last_order_date);\r\n                let diff =\r\n                  (now_date.getTime() - last_order_date.getTime()) / 86400000;\r\n                if (store_detail.is_churn) {\r\n                  activity_status = 4;\r\n                } else if (diff <= 15 && store_detail.is_business) {\r\n                  activity_status = 1;\r\n                } else if (diff < 45 && store_detail.is_business) {\r\n                  activity_status = 2;\r\n                } else if (diff >= 45 || !store_detail.is_business) {\r\n                  activity_status = 3;\r\n                }\r\n              } else {\r\n                activity_status = 5;\r\n              }\r\n              store_detail.activity_status = activity_status;\r\n            });\r\n            this.total_page = res_data.pages;\r\n            this.total_pages = Array(res_data.pages)\r\n              .fill((x, i) => i)\r\n              .map((x, i) => i + 1);\r\n            if (this.store_list.length > 0) {\r\n              if (this.helper.router_id.store_filter.id) {\r\n                this.get_store_detail(this.helper.router_id.store_filter.id);\r\n                this.helper.router_id.store_filter.id = null;\r\n              } else {\r\n                this.get_store_detail(this.store_list[0]._id);\r\n              }\r\n            } else {\r\n              this.store_detail = {};\r\n            }\r\n          }\r\n        },\r\n        (error: any) => {\r\n          this.myLoading = false;\r\n          this.helper.http_status(error);\r\n        },\r\n      );\r\n  }\r\n\r\n  get_store_detail(id) {\r\n    this.is_edit = false;\r\n    this.is_file_changed = false;\r\n    this.selected_tab = 1;\r\n    let index = this.store_list.findIndex((store) => store._id == id);\r\n    this.store_detail = JSON.parse(JSON.stringify(this.store_list[index]));\r\n    if (this.store_detail.order_pay_status == 1) {\r\n      this.selected_tab = 7;\r\n    }\r\n    var date = new Date(this.store_detail.created_at);\r\n    this.store_detail.created_at =\r\n      date.getMonth() + 1 + \"-\" + date.getDate() + \"-\" + date.getFullYear();\r\n\r\n    if (this.store_detail.close_till) {\r\n      var date = new Date();\r\n      let current_time = date.getTime();\r\n      let close_till = this.store_detail.close_till;\r\n      close_till = close_till.split(\":\");\r\n      let open_date_time: any = date.setHours(\r\n        close_till[0],\r\n        close_till[1],\r\n        0,\r\n        0,\r\n      );\r\n      open_date_time = new Date(open_date_time);\r\n      open_date_time = open_date_time.getTime();\r\n      if (current_time < open_date_time) {\r\n        this.store_detail.close = true;\r\n      }\r\n    }\r\n    if (\r\n      this.store_detail.saas_start_date &&\r\n      !this.store_detail.saas_start_date.formatted\r\n    ) {\r\n      var date = new Date(this.store_detail.saas_start_date);\r\n      this.store_detail.saas_start_date = {\r\n        date: {\r\n          day: date.getDate(),\r\n          month: date.getMonth() + 1,\r\n          year: date.getFullYear(),\r\n        },\r\n        formatted:\r\n          date.getMonth() + 1 + \"-\" + date.getDate() + \"-\" + date.getFullYear(),\r\n      };\r\n    }\r\n    if (\r\n      this.store_detail.signature_date &&\r\n      !this.store_detail.signature_date.formatted\r\n    ) {\r\n      var date = new Date(this.store_detail.signature_date);\r\n      this.store_detail.signature_date = {\r\n        date: {\r\n          day: date.getDate(),\r\n          month: date.getMonth() + 1,\r\n          year: date.getFullYear(),\r\n        },\r\n        formatted:\r\n          date.getMonth() + 1 + \"-\" + date.getDate() + \"-\" + date.getFullYear(),\r\n      };\r\n    }\r\n\r\n    if (\r\n      this.store_detail.top_end_date &&\r\n      !this.store_detail.top_end_date.formatted\r\n    ) {\r\n      var date = new Date(this.store_detail.top_end_date);\r\n      this.store_detail.top_end_date = {\r\n        date: {\r\n          day: date.getDate(),\r\n          month: date.getMonth() + 1,\r\n          year: date.getFullYear(),\r\n        },\r\n        formatted:\r\n          date.getMonth() + 1 + \"-\" + date.getDate() + \"-\" + date.getFullYear(),\r\n      };\r\n    }\r\n    if (\r\n      this.store_detail.launch_date &&\r\n      !this.store_detail.launch_date.formatted\r\n    ) {\r\n      var date = new Date(this.store_detail.launch_date);\r\n      this.store_detail.launch_date = {\r\n        date: {\r\n          day: date.getDate(),\r\n          month: date.getMonth() + 1,\r\n          year: date.getFullYear(),\r\n        },\r\n        formatted:\r\n          date.getMonth() + 1 + \"-\" + date.getDate() + \"-\" + date.getFullYear(),\r\n      };\r\n    }\r\n    if (!this.store_detail.bonus_type) {\r\n      this.store_detail.bonus_type = 1;\r\n    }\r\n    if (!this.store_detail.bonus_payment_type) {\r\n      this.store_detail.bonus_payment_type = 1;\r\n    }\r\n\r\n    setTimeout(() => {\r\n      jQuery(\"#bonus_start_month\").chosen(\"trigger:updated\");\r\n      jQuery(this.helper.elementRef.nativeElement)\r\n        .find(\"#bonus_start_month\")\r\n        .on(\"change\", (evnt, res_data) => {\r\n          this.bonus_info.bonus_start_month = res_data.selected;\r\n        });\r\n      jQuery(\"#bonus_start_year\").chosen(\"trigger:updated\");\r\n      jQuery(this.helper.elementRef.nativeElement)\r\n        .find(\"#bonus_start_year\")\r\n        .on(\"change\", (evnt, res_data) => {\r\n          this.bonus_info.bonus_start_year = res_data.selected;\r\n        });\r\n    }, 1000);\r\n\r\n    this.store_time = this.store_detail.store_time;\r\n    this.change_day(0);\r\n\r\n    this.myLoading = true;\r\n    this.helper.http\r\n      .post(\"/api/admin/get_delivery_list_for_city\", {\r\n        city_id: this.store_detail.city_id,\r\n      })\r\n      .map((response: Response) => response.json())\r\n      .subscribe((res_data) => {\r\n        this.myLoading = false;\r\n        if (res_data.success) {\r\n          this.delivery_list = res_data.deliveries;\r\n        } else {\r\n          this.delivery_list = [];\r\n        }\r\n      });\r\n\r\n    this.city_detail = \"\";\r\n    this.helper.http\r\n      .post(\"/api/admin/get_city_list\", {\r\n        country_id: this.store_detail.country_id,\r\n      })\r\n      .map((response: Response) => response.json())\r\n      .subscribe((res_data) => {\r\n        this.myLoading = false;\r\n        if (res_data.success) {\r\n          this.city_list = res_data.cities;\r\n          if (!this.store_detail.city_ids) {\r\n            this.store_detail.city_ids = [];\r\n          }\r\n          this.store_detail.city_ids.forEach((city_id) => {\r\n            let index = this.city_list.findIndex((x) => x._id == city_id);\r\n            if (index !== -1) {\r\n              this.city_detail =\r\n                this.city_detail + this.city_list[index].city_name + \", \";\r\n            }\r\n          });\r\n        } else {\r\n          this.city_list = [];\r\n        }\r\n      });\r\n\r\n    this.helper.http\r\n      .post(\"/api/admin/get_delivery_price_detail\", {\r\n        city_id: this.store_detail.city_id,\r\n        store_id: this.store_detail._id,\r\n      })\r\n      .map((response: Response) => response.json())\r\n      .subscribe((res_data) => {\r\n        this.store_detail.service_id = res_data.service_id;\r\n        this.store_detail.zone_price_count = res_data.zone_price_count;\r\n      });\r\n\r\n    if (this.store_detail.account_id) {\r\n      this.get_bank_detail();\r\n    }\r\n  }\r\n\r\n  store_reopen_now() {\r\n    var json = {\r\n      store_id: this.store_detail._id,\r\n      email: this.store_detail.email,\r\n      phone: this.store_detail.phone,\r\n      store_delivery_ids: this.store_detail.store_delivery_ids.toString(),\r\n      hubrise_origins: this.store_detail.hubrise_origins.toString(),\r\n      city_ids: this.store_detail.city_ids.toString(),\r\n      close_till: \"\",\r\n      is_stop_new_order_all_day: false,\r\n    };\r\n    this.helper.http\r\n      .post(\"/admin/update_store\", json)\r\n      .map((response: Response) => response.json())\r\n      .subscribe((res_data) => {\r\n        this.myLoading = false;\r\n        if (res_data.success == false) {\r\n          this.helper.data.storage = {\r\n            code: res_data.error_code,\r\n            message: this.helper.ERROR_CODE[res_data.error_code],\r\n            class: \"alert-danger\",\r\n          };\r\n        } else {\r\n          this.store_detail.is_stop_new_order_all_day = false;\r\n          this.store_detail.close_till = \"\";\r\n          let user_index = this.store_list.findIndex(\r\n            (x) => x._id == this.store_detail._id,\r\n          );\r\n          this.store_list[user_index] = JSON.parse(\r\n            JSON.stringify(this.store_detail),\r\n          );\r\n          this.is_edit = false;\r\n          this.helper.data.storage = {\r\n            message: \"store reopen successfully\",\r\n            class: \"alert-info\",\r\n          };\r\n        }\r\n        this.helper.message();\r\n      });\r\n  }\r\n\r\n  update_store_detail() {\r\n    if (this.view_type == 1) {\r\n      if (this.selected_tab == 7) {\r\n        let json = {\r\n          store_id: this.store_detail._id,\r\n          order_pay_tva: this.store_detail.order_pay_tva,\r\n          order_pay_cashback_offer: this.store_detail.order_pay_cashback_offer,\r\n          is_order_pay: this.store_detail.is_order_pay,\r\n        };\r\n        this.helper.http\r\n          .post(\"/admin/update_store\", json)\r\n          .map((response: Response) => response.json())\r\n          .subscribe((res_data) => {\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n              this.helper.data.storage = {\r\n                code: res_data.error_code,\r\n                message: this.helper.ERROR_CODE[res_data.error_code],\r\n                class: \"alert-danger\",\r\n              };\r\n            } else {\r\n              let user_index = this.store_list.findIndex(\r\n                (x) => x._id == this.store_detail._id,\r\n              );\r\n              this.store_list[user_index] = JSON.parse(\r\n                JSON.stringify(this.store_detail),\r\n              );\r\n              this.is_edit = false;\r\n              this.helper.data.storage = {\r\n                message: \"store reopen successfully\",\r\n                class: \"alert-info\",\r\n              };\r\n            }\r\n            this.helper.message();\r\n          });\r\n      } else if (this.selected_tab == 6) {\r\n        this.formData.append(\"store_id\", this.store_detail._id);\r\n        this.formData.append(\"store_owner\", this.store_detail.store_owner);\r\n        this.formData.append(\r\n          \"store_owner_phone\",\r\n          this.store_detail.store_owner_phone,\r\n        );\r\n        this.formData.append(\r\n          \"store_owner_email\",\r\n          this.store_detail.store_owner_email,\r\n        );\r\n        this.formData.append(\"company_name\", this.store_detail.company_name);\r\n        this.formData.append(\r\n          \"company_address\",\r\n          this.store_detail.company_address,\r\n        );\r\n        this.formData.append(\r\n          \"iban_bank_number\",\r\n          this.store_detail.iban_bank_number,\r\n        );\r\n        this.formData.append(\"cash_ref_code\", this.store_detail.cash_ref_code);\r\n        this.formData.append(\"card_ref_code\", this.store_detail.card_ref_code);\r\n        this.formData.append(\r\n          \"delivery_ref_code\",\r\n          this.store_detail.delivery_ref_code,\r\n        );\r\n        this.formData.append(\r\n          \"pickup_ref_code\",\r\n          this.store_detail.pickup_ref_code,\r\n        );\r\n        this.formData.append(\r\n          \"service_fee_ref_code\",\r\n          this.store_detail.service_fee_ref_code,\r\n        );\r\n        if (\r\n          this.store_detail.signature_date &&\r\n          this.store_detail.signature_date.formatted\r\n        ) {\r\n          this.formData.append(\r\n            \"signature_date\",\r\n            this.store_detail.signature_date.formatted,\r\n          );\r\n        }\r\n\r\n        this.helper.http\r\n          .post(\"/admin/update_store\", this.formData)\r\n          .map((response: Response) => response.json())\r\n          .subscribe((res_data) => {\r\n            this.myLoading = false;\r\n            this.formData = new FormData();\r\n            if (res_data.success == false) {\r\n              this.helper.data.storage = {\r\n                code: res_data.error_code,\r\n                message: this.helper.ERROR_CODE[res_data.error_code],\r\n                class: \"alert-danger\",\r\n              };\r\n            } else {\r\n              let user_index = this.store_list.findIndex(\r\n                (x) => x._id == this.store_detail._id,\r\n              );\r\n              this.store_list[user_index] = JSON.parse(\r\n                JSON.stringify(this.store_detail),\r\n              );\r\n              this.is_edit = false;\r\n              this.helper.data.storage = {\r\n                message: this.helper.MESSAGE_CODE[res_data.message],\r\n                class: \"alert-info\",\r\n              };\r\n            }\r\n            this.helper.message();\r\n          });\r\n      } else {\r\n        let store_delivery_ids = jQuery(\"#store_delivery_id\").val();\r\n        let hubrise_origins = jQuery(\"#hubrise_origin_list\").val();\r\n\r\n        if (hubrise_origins) {\r\n          this.store_detail.hubrise_origins = [];\r\n          hubrise_origins.forEach((hubrise_origin) => {\r\n            hubrise_origin = hubrise_origin.split(\": \");\r\n            var result = hubrise_origin[1].substring(\r\n              1,\r\n              hubrise_origin[1].length - 1,\r\n            );\r\n            this.store_detail.hubrise_origins.push(result);\r\n          });\r\n        }\r\n\r\n        if (store_delivery_ids) {\r\n          this.store_detail.store_delivery_ids = [];\r\n          store_delivery_ids.forEach((store_delivery_id) => {\r\n            store_delivery_id = store_delivery_id.split(\": \");\r\n            var result = store_delivery_id[1].substring(\r\n              1,\r\n              store_delivery_id[1].length - 1,\r\n            );\r\n            this.store_detail.store_delivery_ids.push(result);\r\n          });\r\n        }\r\n\r\n        let city_ids = jQuery(\"#city_id\").val();\r\n        if (!this.store_detail.city_ids) {\r\n          this.store_detail.city_ids = [];\r\n        }\r\n        if (city_ids) {\r\n          this.store_detail.city_ids = [];\r\n          city_ids.forEach((city_id) => {\r\n            city_id = city_id.split(\": \");\r\n            var result = city_id[1].substring(1, city_id[1].length - 1);\r\n            this.store_detail.city_ids.push(result);\r\n          });\r\n        }\r\n        this.city_detail = \"\";\r\n        this.store_detail.city_ids.forEach((city_id) => {\r\n          let index = this.city_list.findIndex((x) => x._id == city_id);\r\n          if (index !== -1) {\r\n            this.city_detail =\r\n              this.city_detail + this.city_list[index].city_name + \", \";\r\n          }\r\n        });\r\n\r\n        var isLinkHop =\r\n          this.store_detail.business_types &&\r\n          this.store_detail.business_types.length === 1 &&\r\n          this.store_detail.business_types[0] === 2;\r\n        if (\r\n          isLinkHop ||\r\n          (this.store_detail.store_delivery_ids.length > 0 &&\r\n            this.store_detail.city_ids.length > 0)\r\n        ) {\r\n          this.formData.append(\"store_id\", this.store_detail._id);\r\n          this.formData.append(\"address\", this.store_detail.address);\r\n          this.formData.append(\"location\", this.store_detail.location);\r\n          this.formData.append(\"phone\", this.store_detail.phone);\r\n          this.formData.append(\r\n            \"country_phone_code\",\r\n            this.store_detail.country_phone_code,\r\n          );\r\n          this.formData.append(\"email\", this.store_detail.email);\r\n          this.formData.append(\"name\", this.store_detail.name);\r\n          this.formData.append(\"website_url\", this.store_detail.website_url);\r\n          this.formData.append(\"slogan\", this.store_detail.slogan);\r\n          this.formData.append(\r\n            \"admin_profit_mode_on_store\",\r\n            this.store_detail.admin_profit_mode_on_store,\r\n          );\r\n          this.formData.append(\r\n            \"admin_profit_value_on_store\",\r\n            this.store_detail.admin_profit_value_on_store,\r\n          );\r\n          this.formData.append(\r\n            \"security_deposite_required\",\r\n            this.store_detail.security_deposite_required,\r\n          );\r\n          this.formData.append(\r\n            \"is_fix_delivery_price\",\r\n            this.store_detail.is_fix_delivery_price,\r\n          );\r\n          this.formData.append(\r\n            \"is_zone_delivery_price\",\r\n            this.store_detail.is_zone_delivery_price,\r\n          );\r\n          this.formData.append(\r\n            \"delivery_price\",\r\n            this.store_detail.delivery_price,\r\n          );\r\n          this.formData.append(\r\n            \"you_want_to_add_price_in_menu\",\r\n            this.store_detail.you_want_to_add_price_in_menu,\r\n          );\r\n          if (!this.store_detail.add_price_value) {\r\n            this.store_detail.add_price_value = 0;\r\n          }\r\n          if (!this.store_detail.add_price_type) {\r\n            this.store_detail.add_price_type = 1;\r\n          }\r\n          if (this.store_detail.you_want_to_add_price_in_menu) {\r\n            this.formData.append(\r\n              \"add_price_type\",\r\n              this.store_detail.add_price_type,\r\n            );\r\n            this.formData.append(\r\n              \"add_price_value\",\r\n              this.store_detail.add_price_value,\r\n            );\r\n          }\r\n          this.formData.append(\r\n            \"store_delivery_id\",\r\n            this.store_detail.store_delivery_id,\r\n          );\r\n          this.formData.append(\"city_ids\", this.store_detail.city_ids);\r\n          this.formData.append(\r\n            \"store_delivery_ids\",\r\n            this.store_detail.store_delivery_ids,\r\n          );\r\n          this.formData.append(\r\n            \"hubrise_origins\",\r\n            this.store_detail.hubrise_origins,\r\n          );\r\n          this.formData.append(\r\n            \"is_saas_business\",\r\n            this.store_detail.is_saas_business,\r\n          );\r\n          this.formData.append(\"is_top\", this.store_detail.is_top);\r\n          this.formData.append(\"is_premium\", this.store_detail.is_premium);\r\n          this.formData.append(\"is_tablet\", this.store_detail.is_tablet);\r\n          this.formData.append(\r\n            \"is_accept_other_system_order\",\r\n            this.store_detail.is_accept_other_system_order,\r\n          );\r\n          this.formData.append(\r\n            \"is_auto_accept_other_system_order\",\r\n            this.store_detail.is_auto_accept_other_system_order,\r\n          );\r\n          this.formData.append(\r\n            \"is_apply_other_system_delivery_price\",\r\n            this.store_detail.is_apply_other_system_delivery_price,\r\n          );\r\n          this.formData.append(\r\n            \"tablet_number\",\r\n            this.store_detail.tablet_number,\r\n          );\r\n          this.formData.append(\r\n            \"saas_percentage_delivery_for_store\",\r\n            this.store_detail.saas_percentage_delivery_for_store,\r\n          );\r\n          this.formData.append(\r\n            \"saas_percentage_delivery_by_cash_for_store\",\r\n            this.store_detail.saas_percentage_delivery_by_cash_for_store,\r\n          );\r\n          this.formData.append(\r\n            \"saas_percentage_pickup_by_card_for_store\",\r\n            this.store_detail.saas_percentage_pickup_by_card_for_store,\r\n          );\r\n          this.formData.append(\r\n            \"saas_percentage_order_pay_by_cash_for_store\",\r\n            this.store_detail.saas_percentage_order_pay_by_cash_for_store,\r\n          );\r\n          this.formData.append(\r\n            \"saas_percentage_order_pay_by_card_for_store\",\r\n            this.store_detail.saas_percentage_order_pay_by_card_for_store,\r\n          );\r\n\r\n          this.formData.append(\r\n            \"saas_subscription_charge_value\",\r\n            this.store_detail.saas_subscription_charge_value,\r\n          );\r\n          this.formData.append(\r\n            \"saas_subscription_charge_type\",\r\n            this.store_detail.saas_subscription_charge_type,\r\n          );\r\n          if (\r\n            this.store_detail.odh_management_fee_type == 3 &&\r\n            this.store_detail.odh_management_fee_value > 100\r\n          ) {\r\n            this.store_detail.odh_management_fee_value = 100;\r\n          }\r\n          this.formData.append(\r\n            \"odh_management_fee_value\",\r\n            this.store_detail.odh_management_fee_value,\r\n          );\r\n          this.formData.append(\r\n            \"odh_management_fee_type\",\r\n            this.store_detail.odh_management_fee_type,\r\n          );\r\n          this.formData.append(\r\n            \"saas_starting_fee\",\r\n            this.store_detail.saas_starting_fee,\r\n          );\r\n          this.formData.append(\r\n            \"saas_starting_fee_type\",\r\n            this.store_detail.saas_starting_fee_type,\r\n          );\r\n          this.formData.append(\r\n            \"saas_absolute_delivery_for_store\",\r\n            this.store_detail.saas_absolute_delivery_for_store,\r\n          );\r\n          this.formData.append(\r\n            \"saas_absolute_pickup_by_card_for_store\",\r\n            this.store_detail.saas_absolute_pickup_by_card_for_store,\r\n          );\r\n          this.formData.append(\r\n            \"saas_absolute_pickup_by_cash_for_store\",\r\n            this.store_detail.saas_absolute_pickup_by_cash_for_store,\r\n          );\r\n          this.formData.append(\r\n            \"saas_absolute_delivery_by_cash_for_store\",\r\n            this.store_detail.saas_absolute_delivery_by_cash_for_store,\r\n          );\r\n          this.formData.append(\r\n            \"saas_absolute_order_pay_by_card_for_store\",\r\n            this.store_detail.saas_absolute_order_pay_by_card_for_store,\r\n          );\r\n          this.formData.append(\r\n            \"saas_absolute_order_pay_by_cash_for_store\",\r\n            this.store_detail.saas_absolute_order_pay_by_cash_for_store,\r\n          );\r\n\r\n          this.formData.append(\r\n            \"saas_subscription_charge_for_store\",\r\n            JSON.stringify(\r\n              this.store_detail.saas_subscription_charge_for_store,\r\n            ),\r\n          );\r\n          this.formData.append(\r\n            \"odh_management_fee_for_store\",\r\n            JSON.stringify(this.store_detail.odh_management_fee_for_store),\r\n          );\r\n          this.formData.append(\r\n            \"hop_commission\",\r\n            this.store_detail.hop_commission != null\r\n              ? this.store_detail.hop_commission\r\n              : 2,\r\n          );\r\n          this.formData.append(\r\n            \"hopper_commission\",\r\n            this.store_detail.hopper_commission != null\r\n              ? this.store_detail.hopper_commission\r\n              : 10,\r\n          );\r\n          this.formData.append(\r\n            \"third_party_commission\",\r\n            this.store_detail.third_party_commission != null\r\n              ? this.store_detail.third_party_commission\r\n              : 15,\r\n          );\r\n          this.formData.append(\r\n            \"tip_commission\",\r\n            this.store_detail.tip_commission != null\r\n              ? this.store_detail.tip_commission\r\n              : 50,\r\n          );\r\n          if (\r\n            this.store_detail.saas_start_date &&\r\n            this.store_detail.saas_start_date.formatted\r\n          ) {\r\n            this.formData.append(\r\n              \"saas_start_date\",\r\n              this.store_detail.saas_start_date.formatted,\r\n            );\r\n          }\r\n          if (\r\n            this.store_detail.top_end_date &&\r\n            this.store_detail.top_end_date.formatted\r\n          ) {\r\n            this.formData.append(\r\n              \"top_end_date\",\r\n              this.store_detail.top_end_date.formatted,\r\n            );\r\n          }\r\n          if (\r\n            this.store_detail.launch_date &&\r\n            this.store_detail.launch_date.formatted\r\n          ) {\r\n            this.formData.append(\r\n              \"launch_date\",\r\n              this.store_detail.launch_date.formatted,\r\n            );\r\n          }\r\n          this.helper.http\r\n            .post(\"/admin/update_store\", this.formData)\r\n            .map((response: Response) => response.json())\r\n            .subscribe((res_data) => {\r\n              this.myLoading = false;\r\n              this.formData = new FormData();\r\n              if (res_data.success == false) {\r\n                this.helper.data.storage = {\r\n                  code: res_data.error_code,\r\n                  message: this.helper.ERROR_CODE[res_data.error_code],\r\n                  class: \"alert-danger\",\r\n                };\r\n              } else {\r\n                let user_index = this.store_list.findIndex(\r\n                  (x) => x._id == this.store_detail._id,\r\n                );\r\n                this.store_list[user_index] = JSON.parse(\r\n                  JSON.stringify(this.store_detail),\r\n                );\r\n                this.is_edit = false;\r\n                this.helper.data.storage = {\r\n                  message: this.helper.MESSAGE_CODE[res_data.message],\r\n                  class: \"alert-info\",\r\n                };\r\n              }\r\n              this.helper.message();\r\n            });\r\n        }\r\n      }\r\n    } else if (this.view_type == 2) {\r\n      let json = {\r\n        id: this.store_detail._id,\r\n        bonus_amount: this.bonus_info.bonus_amount,\r\n        bonus_type: this.bonus_info.bonus_type,\r\n        bonus_payment_type: this.bonus_info.bonus_payment_type,\r\n        bonus_no_of_month: this.bonus_info.bonus_no_of_month,\r\n        bonus_start_month: this.bonus_info.bonus_start_month,\r\n        bonus_start_year: this.bonus_info.bonus_start_year,\r\n        bonus_reason: this.bonus_info.bonus_reason,\r\n        is_bonus_monthly: this.bonus_info.is_bonus_monthly,\r\n        user_type: this.helper.ADMIN_DATA_ID.STORE,\r\n      };\r\n      this.helper.http\r\n        .post(\"/admin/update_bonus_info\", json)\r\n        .map((response: Response) => response.json())\r\n        .subscribe((res_data) => {\r\n          if (res_data.success == false) {\r\n            this.helper.data.storage = {\r\n              code: res_data.error_code,\r\n              message: this.helper.ERROR_CODE[res_data.error_code],\r\n              class: \"alert-danger\",\r\n            };\r\n          } else {\r\n            this.helper.data.storage = {\r\n              message: this.helper.MESSAGE_CODE[res_data.message],\r\n              class: \"alert-info\",\r\n            };\r\n            this.bonus_info = {\r\n              bonus_amount: null,\r\n              bonus_type: 1,\r\n              bonus_payment_type: 1,\r\n              bonus_no_of_month: null,\r\n              bonus_start_month: 0,\r\n              bonus_start_year: 2020,\r\n              bonus_reason: \"\",\r\n              is_bonus_monthly: false,\r\n            };\r\n            setTimeout(() => {\r\n              jQuery(\"#bonus_start_month\").chosen(\"trigger:updated\");\r\n              jQuery(\"#bonus_start_year\").chosen(\"trigger:updated\");\r\n            });\r\n          }\r\n          this.helper.message();\r\n        });\r\n    }\r\n  }\r\n\r\n  open_modal(type, id) {\r\n    this.store_id = id;\r\n    this.type = type;\r\n    this.modal.open();\r\n    this.wallet = null;\r\n  }\r\n\r\n  AddWallet(add_wallet_data) {\r\n    this.helper.http\r\n      .post(\"/admin/add_wallet\", add_wallet_data)\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        if (res_data.success == true) {\r\n          this.helper.data.storage = {\r\n            message: this.helper.MESSAGE_CODE[res_data.message],\r\n            class: \"alert-info\",\r\n          };\r\n          this.modal.close();\r\n          this.helper.message();\r\n          var index = this.store_list.findIndex(\r\n            (x) => x._id == add_wallet_data.store_id,\r\n          );\r\n          this.store_list[index].wallet =\r\n            this.store_list[index].wallet +\r\n            +Number(add_wallet_data.wallet).toFixed(2);\r\n        } else {\r\n          this.helper.data.storage = {\r\n            code: res_data.error_code,\r\n            message: this.helper.ERROR_CODE[res_data.error_code],\r\n            class: \"alert-danger\",\r\n          };\r\n          this.helper.message();\r\n        }\r\n      });\r\n  }\r\n  change_image($event) {\r\n    const files = $event.target.files || $event.srcElement.files;\r\n    const image_url = files[0];\r\n\r\n    if (\r\n      image_url.type == \"image/jpeg\" ||\r\n      image_url.type == \"image/jpg\" ||\r\n      image_url.type == \"image/png\"\r\n    ) {\r\n      this.formData = new FormData();\r\n      this.formData.append(\"image_url\", image_url);\r\n\r\n      var reader = new FileReader();\r\n\r\n      reader.onload = (e: any) => {\r\n        this.store_detail.image_url = e.target.result;\r\n      };\r\n      reader.readAsDataURL(image_url);\r\n      this.is_file_changed = true;\r\n    }\r\n  }\r\n\r\n  open_sms_modal(type, id) {\r\n    this.store_id = id;\r\n    this.type = type;\r\n    this.sms_modal.open();\r\n    this.content = \"\";\r\n  }\r\n  SendSms(sms_data) {\r\n    this.helper.http\r\n      .post(\"/admin/send_sms\", sms_data)\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        if (res_data.success == true) {\r\n          this.helper.data.storage = {\r\n            message: this.helper.MESSAGE_CODE[res_data.message],\r\n            class: \"alert-info\",\r\n          };\r\n          this.sms_modal.close();\r\n          this.helper.message();\r\n        } else {\r\n          this.helper.data.storage = {\r\n            code: res_data.error_code,\r\n            message: this.helper.ERROR_CODE[res_data.error_code],\r\n            class: \"alert-danger\",\r\n          };\r\n          this.helper.message();\r\n        }\r\n      });\r\n  }\r\n\r\n  open_notification_modal(type, id) {\r\n    this.store_id = id;\r\n    this.type = type;\r\n    this.notification_modal.open();\r\n    this.content = \"\";\r\n  }\r\n  SendNotification(notification_data) {\r\n    this.helper.http\r\n      .post(\"/admin/send_notification\", notification_data)\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        if (res_data.success == true) {\r\n          this.helper.data.storage = {\r\n            message: this.helper.MESSAGE_CODE[res_data.message],\r\n            class: \"alert-info\",\r\n          };\r\n          this.notification_modal.close();\r\n          this.helper.message();\r\n        } else {\r\n          this.helper.data.storage = {\r\n            code: res_data.error_code,\r\n            message: this.helper.ERROR_CODE[res_data.error_code],\r\n            class: \"alert-danger\",\r\n          };\r\n          this.helper.message();\r\n        }\r\n      });\r\n  }\r\n\r\n  approved_decline(store_page_type, store_id) {\r\n    this.helper.http\r\n      .post(\"/admin/approve_decline_store\", {\r\n        store_id: store_id,\r\n        store_page_type: store_page_type,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        if (res_data.success == false) {\r\n          this.helper.data.storage = {\r\n            code: res_data.error_code,\r\n            message: this.helper.ERROR_CODE[res_data.error_code],\r\n            class: \"alert-danger\",\r\n          };\r\n          let user_index = this.store_list.findIndex((x) => x._id == store_id);\r\n          this.store_list.splice(user_index, 1);\r\n\r\n          if (this.store_list.length > 0) {\r\n            this.get_store_detail(this.store_list[0]._id);\r\n          } else {\r\n            this.store_detail = {};\r\n          }\r\n        } else {\r\n          this.helper.data.storage = {\r\n            message: this.helper.MESSAGE_CODE[res_data.message],\r\n            class: \"alert-info\",\r\n          };\r\n        }\r\n        this.helper.message();\r\n      });\r\n  }\r\n\r\n  get_document_list() {\r\n    this.is_edit = false;\r\n    this.selected_tab = 2;\r\n    this.helper.http\r\n      .post(\"/admin/view_document_list\", { id: this.store_detail._id, type: 2 })\r\n      .map((res_data: Response) => res_data.json())\r\n      .subscribe(\r\n        (res_data) => {\r\n          this.myLoading = false;\r\n          if (res_data.success == false) {\r\n            this.document_list = [];\r\n          } else {\r\n            this.document_list = res_data.documents;\r\n            this.document_list.forEach((document, index) => {\r\n              this.edit_document[index] = \"false\";\r\n              this.get_document_image(document.image_url, index);\r\n            });\r\n          }\r\n        },\r\n        (error: any) => {\r\n          this.myLoading = false;\r\n          this.helper.http_status(error);\r\n        },\r\n      );\r\n  }\r\n\r\n  editDocument(document, document_index) {\r\n    this.get_document_image(document.image_url, document_index);\r\n    this.old_image_url = document.image_url;\r\n    this.edit_document.fill(\"\");\r\n    this.edit_document[document_index] = \"true\";\r\n    this.documentlist.unique_code = document.unique_code;\r\n    this.documentlist.image_url = document.image_url;\r\n    if (document.expired_date != null) {\r\n      var date = new Date(document.expired_date);\r\n      this.documentlist.expired_date = {\r\n        date: {\r\n          year: date.getFullYear(),\r\n          month: date.getMonth() + 1,\r\n          day: date.getDate(),\r\n        },\r\n        formatted:\r\n          date.getMonth() + 1 + \"-\" + date.getDate() + \"-\" + date.getFullYear(),\r\n      };\r\n    }\r\n  }\r\n\r\n  image_update($event, document_index) {\r\n    this.formData = new FormData();\r\n    const files = $event.target.files || $event.srcElement.files;\r\n    const image_url = files[0];\r\n    this.formData.append(\"image_url\", image_url);\r\n\r\n    var reader = new FileReader();\r\n\r\n    reader.onload = (e: any) => {\r\n      this.document_list[document_index].image_url = e.target.result;\r\n      this.documentlist.image_url = e.target.result;\r\n      jQuery(\".document\" + document_index).attr(\"src\", e.target.result);\r\n    };\r\n    reader.readAsDataURL(image_url);\r\n  }\r\n\r\n  get_document_image(url, document_index) {\r\n    if (url == \"\") {\r\n      jQuery(\".document\" + document_index).attr(\"src\", \"default.png\");\r\n    } else {\r\n      var oReq = new XMLHttpRequest();\r\n      oReq.open(\"GET\", url, true);\r\n      oReq.setRequestHeader(\"type\", \"admin\");\r\n      oReq.setRequestHeader(\"token\", this.store_detail.server_token);\r\n      oReq.responseType = \"blob\";\r\n      oReq.onload = function (oEvent) {\r\n        var arrayBuffer = oReq.response; // Note: not oReq.responseText\r\n        if (arrayBuffer) {\r\n          jQuery(\".document\" + document_index).attr(\r\n            \"src\",\r\n            URL.createObjectURL(arrayBuffer),\r\n          );\r\n        } else {\r\n          jQuery(\".document\" + document_index).attr(\"src\", \"default.png\");\r\n        }\r\n      };\r\n      oReq.send(null);\r\n    }\r\n  }\r\n\r\n  updateDocument(document, document_index) {\r\n    if (this.documentlist.image_url == \"\") {\r\n      this.error_message = 1;\r\n    } else if (\r\n      document.document_details.is_expired_date &&\r\n      this.documentlist.expired_date == null\r\n    ) {\r\n      this.error_message = 2;\r\n    } else if (\r\n      document.document_details.is_unique_code &&\r\n      this.documentlist.unique_code == \"\"\r\n    ) {\r\n      this.error_message = 3;\r\n    } else {\r\n      this.myLoading = true;\r\n      this.error_message = 0;\r\n      this.formData.append(\"type\", this.type);\r\n      this.formData.append(\"unique_code\", this.documentlist.unique_code);\r\n      this.formData.append(\"document_id\", document._id);\r\n      this.formData.append(\"id\", this.store_detail._id);\r\n      this.formData.append(\"server_token\", this.store_detail.server_token);\r\n      if (this.documentlist.expired_date != null) {\r\n        this.formData.append(\r\n          \"expired_date\",\r\n          this.documentlist.expired_date.formatted,\r\n        );\r\n      }\r\n\r\n      this.helper.http\r\n        .post(\"/admin/upload_document\", this.formData)\r\n        .map((res_data: Response) => res_data.json())\r\n        .subscribe(\r\n          (res_data) => {\r\n            this.formData = new FormData();\r\n            this.edit_document.fill(\"false\");\r\n            this.myLoading = false;\r\n            if (res_data.success) {\r\n              this.document_list[document_index].image_url = res_data.image_url;\r\n\r\n              this.get_document_image(res_data.image_url, document_index);\r\n\r\n              this.document_list[document_index].unique_code =\r\n                res_data.unique_code;\r\n\r\n              this.document_list[document_index].expired_date =\r\n                res_data.expired_date;\r\n              localStorage.setItem(\r\n                \"store_document_ulpoaded\",\r\n                res_data.is_document_uploaded,\r\n              );\r\n\r\n              this.helper.data.storage = {\r\n                message: this.helper.MESSAGE_CODE[res_data.message],\r\n                class: \"alert-info\",\r\n              };\r\n              this.helper.message();\r\n            } else {\r\n              this.document_list[document_index].image_url = this.old_image_url;\r\n              this.get_document_image(this.old_image_url, document_index);\r\n\r\n              this.helper.data.storage = {\r\n                message: this.helper.ERROR_CODE[res_data.error_code],\r\n                class: \"alert-danger\",\r\n              };\r\n              this.helper.message();\r\n            }\r\n          },\r\n          (error: any) => {\r\n            this.myLoading = false;\r\n            this.helper.http_status(error);\r\n          },\r\n        );\r\n    }\r\n  }\r\n\r\n  editStore(id) {\r\n    this.helper.router_id.admin.store_id = id;\r\n    this.helper.router.navigate([\"admin/store/edit\"]);\r\n  }\r\n  viewStoreDetail(id) {\r\n    this.helper.router_id.admin.detail_store_id = id;\r\n    this.helper.router.navigate([\"admin/store/view_detail\"]);\r\n  }\r\n  viewHistory(id, type) {\r\n    this.helper.router_id.admin.history_store_id = id;\r\n    this.helper.router_id.admin.page_type = type;\r\n    this.helper.router.navigate([\"admin/store/view_history\"]);\r\n  }\r\n\r\n  viewDocument(id, type) {\r\n    this.helper.router_id.admin.store_id = id;\r\n    this.helper.router_id.admin.document_type = type;\r\n    this.helper.router.navigate([\"admin/store/view_document\"]);\r\n  }\r\n\r\n  store_export_csv(store_page_type) {\r\n    this.helper.http\r\n      .post(\"/admin/store_list_search_sort\", {\r\n        sort_field: this.sort_field,\r\n        country_id: this.helper.router_id.store_filter.country_id,\r\n        number_of_rec: this.helper.router_id.store_filter.number_of_rec,\r\n        sort_store: this.sort_store,\r\n        store_page_type: this.helper.router_id.store_filter.store_page_type,\r\n        search_field: this.helper.router_id.store_filter.search_field,\r\n        search_value: this.helper.router_id.store_filter.search_value,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        var json2csv = require(\"json2csv\");\r\n        res_data.stores.forEach((provider) => {\r\n          let country = this.country_list.find(\r\n            (x) => x._id == provider.country_id,\r\n          );\r\n          provider.country_details = {\r\n            country_name: country ? country.country_name : \"\",\r\n          };\r\n\r\n          let city = this.all_city_list.find((x) => x._id == provider.city_id);\r\n          provider.city_details = {\r\n            city_name: city ? city.city_name : \"\",\r\n          };\r\n        });\r\n        res_data.stores.forEach((store, index) => {\r\n          store.created_date = moment(store.created_at).format(\"DD MMM YYYY\");\r\n          store.city_name = store.city_details.city_name;\r\n          store.delivery_details.forEach(function (delivery_detail) {\r\n            store.delivery_name =\r\n              store.delivery_name + \" , \" + delivery_detail.delivery_name;\r\n          });\r\n          let subscription_amount = 0;\r\n          if (\r\n            store.saas_subscription_charge_for_store &&\r\n            store.saas_subscription_charge_for_store[0]\r\n          ) {\r\n            subscription_amount =\r\n              store.saas_subscription_charge_for_store[0].subscription_amount;\r\n          }\r\n          store.subscription_amount = subscription_amount;\r\n        });\r\n\r\n        var fieldNames = [\r\n          \"Unique ID\",\r\n          \"User Rate\",\r\n          \"Name\",\r\n          \"City\",\r\n          \"Delivery\",\r\n          \"Device Type\",\r\n          \"Referral Code\",\r\n          \"Email\",\r\n          \"Country Phone Code\",\r\n          \"Phone\",\r\n          \"App Version\",\r\n          \"Wallet\",\r\n          \"Tablet\",\r\n          \"Tablet No,\",\r\n          \"Wallet Currency Code\",\r\n          \"Address\",\r\n          \"Approved\",\r\n          \"Business\",\r\n          \"Email Verify\",\r\n          \"Phone Number Verify\",\r\n          \"Document Uploaded\",\r\n          \"Location\",\r\n          \"Owner Name\",\r\n          \"Owner Phone\",\r\n          \"Owner Email\",\r\n          \"Company Name\",\r\n          \"Company Address\",\r\n          \"IBAN (Bank Number)\",\r\n          \"Signature Date\",\r\n          \"Creation Date\",\r\n          \"Commission Delivery\",\r\n          \"Commission Pickup\",\r\n          \"Starting fees\",\r\n          \"Monthly fees\",\r\n        ];\r\n        var fields = [\r\n          \"unique_id\",\r\n          \"user_rate\",\r\n          \"name\",\r\n          \"city_name\",\r\n          \"delivery_name\",\r\n          \"device_type\",\r\n          \"referral_code\",\r\n          \"email\",\r\n          \"country_phone_code\",\r\n          \"phone\",\r\n          \"app_version\",\r\n          \"wallet\",\r\n          \"is_tablet\",\r\n          \"tablet_number\",\r\n          \"wallet_currency_code\",\r\n          \"address\",\r\n          \"is_approved\",\r\n          \"is_business\",\r\n          \"is_email_verified\",\r\n          \"is_phone_number_verified\",\r\n          \"is_document_uploaded\",\r\n          \"location\",\r\n          \"store_owner\",\r\n          \"store_owner_phone\",\r\n          \"store_owner_email\",\r\n          \"company_name\",\r\n          \"company_address\",\r\n          \"iban_bank_number\",\r\n          \"signature_date\",\r\n          \"created_date\",\r\n          \"saas_percentage_delivery_for_store\",\r\n          \"saas_percentage_pickup_by_card_for_store\",\r\n          \"saas_starting_fee_type\",\r\n          \"subscription_amount\",\r\n        ];\r\n\r\n        var csv = json2csv({\r\n          data: res_data.stores,\r\n          fields: fields,\r\n          fieldNames: fieldNames,\r\n        });\r\n\r\n        var final_csv: any = csv;\r\n        this.helper.downloadFile(final_csv);\r\n      });\r\n  }\r\n\r\n  store_export_csv1(store_page_type) {\r\n    this.helper.http\r\n      .post(\"/admin/store_list_search_sort\", {\r\n        sort_field: this.sort_field,\r\n        country_id: this.helper.router_id.store_filter.country_id,\r\n        number_of_rec: this.helper.router_id.store_filter.number_of_rec,\r\n        sort_store: this.sort_store,\r\n        store_page_type: this.helper.router_id.store_filter.store_page_type,\r\n        search_field: this.helper.router_id.store_filter.search_field,\r\n        search_value: this.helper.router_id.store_filter.search_value,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        var json2csv = require(\"json2csv\");\r\n\r\n        res_data.stores.forEach((store, index) => {\r\n          let activity_status = \"\";\r\n          if (store.last_order_date) {\r\n            const now_date = new Date();\r\n            const last_order_date = new Date(store.last_order_date);\r\n            let diff =\r\n              (now_date.getTime() - last_order_date.getTime()) / 86400000;\r\n            if (store.is_churn) {\r\n              activity_status = \"CHURN\";\r\n            } else if (diff <= 15 && store.is_business) {\r\n              activity_status = \"Active\";\r\n            } else if (diff < 45 && store.is_business) {\r\n              activity_status = \"Low Activity\";\r\n            } else if (diff >= 45 || !store.is_business) {\r\n              activity_status = \"Inactive\";\r\n            }\r\n          } else {\r\n            activity_status = \"Never Launched\";\r\n          }\r\n          store.activity_status = activity_status;\r\n\r\n          store.created_date = moment(store.created_at).format(\"DD MMM YYYY\");\r\n          store.saas_start_date = moment(store.saas_start_date).format(\r\n            \"DD MMM YYYY\",\r\n          );\r\n          if (store.saas_starting_fee_type == 1) {\r\n            store.saas_starting_fee_type = \"deducted\";\r\n          } else {\r\n            store.saas_starting_fee_type = \"invoiced\";\r\n          }\r\n          if (store.saas_subscription_charge_type == 2) {\r\n            store.saas_subscription_charge_type = \"variable\";\r\n            store.saas_subscription_charge_for_store.forEach(\r\n              (subscription_charge) => {\r\n                store.saas_subscription_charge_value =\r\n                  store.saas_subscription_charge_value +\r\n                  \" \" +\r\n                  subscription_charge.min_amount +\r\n                  \"-\" +\r\n                  subscription_charge.max_amount +\r\n                  \" : \" +\r\n                  subscription_charge.subscription_amount +\r\n                  \" , \";\r\n              },\r\n            );\r\n          } else {\r\n            store.saas_subscription_charge_type = \"fixed\";\r\n          }\r\n        });\r\n\r\n        var fieldNames = [\r\n          \"Unique ID\",\r\n          \"Name\",\r\n          \"Creation Date\",\r\n          \"Ativity Status\",\r\n          \"Pourcentage SAAS\",\r\n          \"Fix price Delivery\",\r\n          \"Pourcentage Pick up pay by card\",\r\n          \"Fix price Pick up pay by card\",\r\n          \"Pourcentage picku pay by cash\",\r\n          \"Fix price Picku up pay by cash\",\r\n          \"Pourcentage ODH\",\r\n          \"Fix price ODH\",\r\n          \"Start DATE\",\r\n          \"Starting fees payment\",\r\n          \"Price Stating FEES \",\r\n          \"Type abonnement\",\r\n          \"Varibale\",\r\n        ];\r\n        var fields = [\r\n          \"unique_id\",\r\n          \"name\",\r\n          \"created_date\",\r\n          \"activity_status\",\r\n          \"saas_percentage_delivery_for_store\",\r\n          \"saas_absolute_delivery_for_store\",\r\n          \"saas_percentage_pickup_by_card_for_store\",\r\n          \"saas_absolute_pickup_by_card_for_store\",\r\n          \"saas_percentage_pickup_by_cash_for_store\",\r\n          \"saas_absolute_pickup_by_cash_for_store\",\r\n          \"saas_percentage_delivery_by_cash_for_store\",\r\n          \"saas_absolute_delivery_by_cash_for_store\",\r\n          \"saas_start_date\",\r\n          \"saas_starting_fee_type\",\r\n          \"saas_starting_fee\",\r\n          \"saas_subscription_charge_type\",\r\n          \"saas_subscription_charge_value\",\r\n        ];\r\n\r\n        var csv = json2csv({\r\n          data: res_data.stores,\r\n          fields: fields,\r\n          fieldNames: fieldNames,\r\n        });\r\n\r\n        var final_csv: any = csv;\r\n        this.helper.downloadFile(final_csv);\r\n      });\r\n  }\r\n\r\n  store_export_excel(store_page_type) {\r\n    this.helper.http\r\n      .post(\"/admin/store_list_search_sort\", {\r\n        sort_field: this.sort_field,\r\n        country_id: this.helper.router_id.store_filter.country_id,\r\n        number_of_rec: this.helper.router_id.store_filter.number_of_rec,\r\n        sort_store: this.sort_store,\r\n        store_page_type: this.helper.router_id.store_filter.store_page_type,\r\n        search_field: this.helper.router_id.store_filter.search_field,\r\n        search_value: this.helper.router_id.store_filter.search_value,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        var json_data = [];\r\n        var json2excel = require(\"js2excel\");\r\n        res_data.stores.forEach((provider) => {\r\n          let country = this.country_list.find(\r\n            (x) => x._id == provider.country_id,\r\n          );\r\n          provider.country_details = {\r\n            country_name: country ? country.country_name : \"\",\r\n          };\r\n\r\n          let city = this.all_city_list.find((x) => x._id == provider.city_id);\r\n          provider.city_details = {\r\n            city_name: city ? city.city_name : \"\",\r\n          };\r\n        });\r\n        res_data.stores.forEach((store, index) => {\r\n          store.city_name = store.city_details.city_name;\r\n          store.delivery_details.forEach(function (delivery_detail) {\r\n            store.delivery_name =\r\n              store.delivery_name + \" , \" + delivery_detail.delivery_name;\r\n          });\r\n          json_data.push({\r\n            \"Unique ID\": store.unique_id,\r\n            Tablet: store.is_tablet,\r\n            Name: store.name,\r\n            City: store.city_name,\r\n            Delivery: store.delivery_name,\r\n            \"Device Type\": store.device_type,\r\n            \"Referral Code\": store.referral_code,\r\n            Email: store.email,\r\n            \"Country Phone Code\": store.country_phone_code,\r\n            Phone: store.phone,\r\n            \"App Version\": store.app_version,\r\n            Wallet: store.wallet,\r\n            \"Tablet Number\": store.tablet_number,\r\n            \"Wallet Currency Code\": store.wallet_currency_code,\r\n            Address: store.address,\r\n            Approved: store.is_approved,\r\n            Business: store.is_business,\r\n            \"Email Verify\": store.is_email_verified,\r\n            \"Phone Number Verify\": store.is_phone_number_verified,\r\n            \"Document Uploaded\": store.is_document_uploaded,\r\n            Location: store.location,\r\n          });\r\n        });\r\n\r\n        json2excel.json2excel({\r\n          data: json_data,\r\n          name: \"store_excel\",\r\n          formateDate: \"yyyy/mm/dd\",\r\n        });\r\n      });\r\n  }\r\n\r\n  get_referral_history() {\r\n    this.is_edit = false;\r\n    this.selected_tab = 3;\r\n    this.helper.http\r\n      .post(\"/admin/get_user_referral_history\", {\r\n        id: this.store_detail._id,\r\n        type: this.helper.ADMIN_DATA_ID.STORE,\r\n      })\r\n      .map((res_data: Response) => res_data.json())\r\n      .subscribe(\r\n        (res_data) => {\r\n          this.myLoading = false;\r\n          if (res_data.success == false) {\r\n            this.referral_history = [];\r\n          } else {\r\n            this.referral_history = res_data.referral_history;\r\n          }\r\n        },\r\n        (error: any) => {\r\n          this.myLoading = false;\r\n          this.helper.http_status(error);\r\n        },\r\n      );\r\n  }\r\n\r\n  get_bank_detail() {\r\n    var json: any = {\r\n      bank_holder_type: this.helper.ADMIN_DATA_ID.STORE,\r\n      bank_holder_id: this.store_detail._id,\r\n    };\r\n    if (this.store_detail.account_id) {\r\n      json.account_id = this.store_detail.account_id;\r\n    }\r\n    this.helper.http\r\n      .post(\"/api/check_bank_detail_submitted\", json)\r\n      .map((response: Response) => response.json())\r\n      .subscribe((res_data) => {\r\n        if (res_data.success) {\r\n          if (res_data.payouts_enabled && res_data.details_submitted) {\r\n            this.store_detail.details_submitted = true;\r\n          } else {\r\n            this.store_detail.details_submitted = false;\r\n          }\r\n          if (res_data.bank_detail) {\r\n            this.store_detail.bank_account_holder_name =\r\n              res_data.bank_detail.account_holder_name;\r\n            this.store_detail.account_number =\r\n              \"****************\" + res_data.bank_detail.last4;\r\n          }\r\n        } else {\r\n          this.store_detail.details_submitted = false;\r\n          this.store_detail.account_id = \"\";\r\n        }\r\n      });\r\n  }\r\n\r\n  UpdateBankDetail() {\r\n    this.myLoading = true;\r\n    // this.bank_detail.dob = this.bank_detail.dob.formatted;\r\n    var json: any = {\r\n      bank_holder_type: this.helper.ADMIN_DATA_ID.STORE,\r\n      bank_holder_id: this.store_detail._id,\r\n      url: \"/admin/stores\",\r\n    };\r\n    if (this.store_detail.account_id) {\r\n      json.account_id = this.store_detail.account_id;\r\n    }\r\n    this.helper.http\r\n      .post(\"/api/admin/add_bank_detail\", json)\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        this.myLoading = false;\r\n        if (res_data.success) {\r\n          // this.helper.data.storage = {\r\n          //   \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n          //   \"class\": \"alert-info\"\r\n          // }\r\n          // this.helper.message();\r\n          this.store_detail.account_id = res_data.account_id;\r\n          this.store_detail.details_submitted = false;\r\n          window.location.href = res_data.url;\r\n          // this.get_bank_detail();\r\n\r\n          // this.store_edit.bank_id = res_data.bank_detail.bank_id;\r\n          // this.store_edit.bank_account_holder_name = res_data.bank_detail.bank_account_holder_name;\r\n          // this.store_edit.account_number = res_data.bank_detail.account_number;\r\n        } else {\r\n          this.helper.data.storage = {\r\n            code: res_data.stripe_error,\r\n            message: res_data.stripe_error,\r\n            class: \"alert-danger\",\r\n          };\r\n          this.helper.message();\r\n        }\r\n      });\r\n  }\r\n\r\n  get_review_history() {\r\n    this.is_edit = false;\r\n    this.selected_tab = 5;\r\n    this.myLoading = true;\r\n    this.helper.http\r\n      .post(\"/admin/get_store_review_history\", {\r\n        store_id: this.store_detail._id,\r\n      })\r\n      .map((res_data: Response) => res_data.json())\r\n      .subscribe(\r\n        (res_data) => {\r\n          this.myLoading = false;\r\n          if (res_data.success == false) {\r\n            this.review_list = [];\r\n          } else {\r\n            this.review_list = res_data.review_list;\r\n          }\r\n        },\r\n        (error: any) => {\r\n          this.myLoading = false;\r\n          this.helper.http_status(error);\r\n        },\r\n      );\r\n  }\r\n\r\n  menu() {\r\n    this.helper.router_id.admin.store_id = this.store_detail._id;\r\n    // if(this.helper.router.url === '/dispatcher/stores'){\r\n    //     this.helper.router.navigate(['/dispatcher/store/products']);\r\n    // } else {\r\n    //     this.helper.router.navigate(['/admin/store/products']);\r\n    // }\r\n    var isLinkHop =\r\n      this.store_detail.business_types &&\r\n      this.store_detail.business_types.length === 1 &&\r\n      this.store_detail.business_types[0] === 2;\r\n    if (isLinkHop) {\r\n      // linkphi / opp.link domain lives in store_linkp_setting, not the store\r\n      // record, so fetch it and pick the manager domain accordingly.\r\n      // Open the tab synchronously (on click) to avoid pop-up blocking, then\r\n      // point it at the resolved URL once the setting is loaded.\r\n      var store_window = window.open(\"\", \"_blank\");\r\n      this.helper.http\r\n        .post(\"/api/store/get_store_linkp_setting_data\", {\r\n          store_id: this.store_detail._id,\r\n        })\r\n        .map((res: Response) => res.json())\r\n        .subscribe(\r\n          (res_data) => {\r\n            var site_domain =\r\n              res_data.success && res_data.store_detail\r\n                ? res_data.store_detail.site_domain\r\n                : \"\";\r\n            var isOppLink = site_domain && /opp\\.link/i.test(site_domain);\r\n            var storeBaseUrl = isOppLink\r\n              ? \"https://manager.opp.link\"\r\n              : \"https://manager.linkphi.com\";\r\n            this.redirect_store_panel(store_window, storeBaseUrl);\r\n          },\r\n          (error: any) => {\r\n            this.redirect_store_panel(\r\n              store_window,\r\n              \"https://manager.linkphi.com\",\r\n            );\r\n          },\r\n        );\r\n    } else {\r\n      this.redirect_store_panel(window.open(\"\", \"_blank\"), \"https://store.hop.ch\");\r\n    }\r\n    // window.open('http://localhost:4200/store/detail/'+this.store_detail._id+'/'+this.store_detail.server_token+'', '_blank').focus();\r\n  }\r\n\r\n  redirect_store_panel(store_window, storeBaseUrl) {\r\n    var url =\r\n      storeBaseUrl +\r\n      \"/store/detail/\" +\r\n      this.store_detail._id +\r\n      \"/\" +\r\n      this.store_detail.server_token +\r\n      \"\";\r\n    if (store_window) {\r\n      store_window.location.href = url;\r\n      store_window.focus();\r\n    } else {\r\n      window.open(url, \"_blank\").focus();\r\n    }\r\n  }\r\n\r\n  get_setting() {\r\n    this.helper.router_id.admin.store_id = this.store_detail._id;\r\n    if (this.helper.router.url === \"/dispatcher/stores\") {\r\n      this.helper.router.navigate([\"/dispatcher/store/setting\"]);\r\n    } else {\r\n      this.helper.router.navigate([\"/admin/store/setting\"]);\r\n    }\r\n  }\r\n\r\n  get_duplicate_menu() {\r\n    if (this.helper.router.url === \"/dispatcher/stores\") {\r\n      this.helper.router.navigate([\"/dispatcher/duplicate_store_menu\"]);\r\n    } else {\r\n      this.helper.router.navigate([\"/admin/duplicate_store_menu\"]);\r\n    }\r\n  }\r\n\r\n  Array(number) {\r\n    var array = [];\r\n    for (var i = 0; i < number; i++) {\r\n      array.push(\" \");\r\n    }\r\n    return array;\r\n  }\r\n\r\n  view_store_history() {\r\n    this.helper.router_id.admin.store_detail = this.store_detail;\r\n    this.helper.router_id.store_filter.id = this.store_detail._id;\r\n    if (this.helper.router.url === \"/dispatcher/stores\") {\r\n      this.helper.router.navigate([\"dispatcher/store_summary\"]);\r\n    } else {\r\n      this.helper.router.navigate([\"admin/store_summary\"]);\r\n    }\r\n  }\r\n\r\n  goto_add_page() {\r\n    this.helper.router.navigate([\"admin/duplicate_store_menu\"]);\r\n  }\r\n\r\n  review_export_csv() {\r\n    this.helper.http\r\n      .post(\"/admin/get_store_review_history\", {\r\n        store_id: this.store_detail._id,\r\n      })\r\n      .map((res_data: Response) => res_data.json())\r\n      .subscribe((res_data) => {\r\n        var json2csv = require(\"json2csv\");\r\n\r\n        var fieldNames = [\r\n          this.title.id,\r\n          this.title.user,\r\n          this.title.provider,\r\n          \"Store to User\",\r\n          \"Store to Provider\",\r\n          \"User to Store\",\r\n          \"Provider to Store\",\r\n          this.title.date,\r\n        ];\r\n        var fields = [\r\n          \"order_unique_id\",\r\n          \"user_name\",\r\n          \"provider_name\",\r\n          \"store_to_user\",\r\n          \"store_to_provider\",\r\n          \"user_to_store\",\r\n          \"provider_to_store\",\r\n          \"created_at\",\r\n        ];\r\n\r\n        res_data.review_list.forEach(function (review_detail) {\r\n          review_detail.user_name =\r\n            review_detail.user_detail.first_name +\r\n            \" \" +\r\n            review_detail.user_detail.last_name;\r\n          review_detail.provider_name =\r\n            review_detail.provider_detail.first_name +\r\n            \" \" +\r\n            review_detail.provider_detail.last_name;\r\n\r\n          if (review_detail.store_rating_to_user) {\r\n            review_detail.store_to_user =\r\n              review_detail.store_review_to_user +\r\n              \"(\" +\r\n              review_detail.store_rating_to_user +\r\n              \")\";\r\n          } else {\r\n            review_detail.store_to_user = \"\";\r\n          }\r\n\r\n          if (review_detail.store_rating_to_provider) {\r\n            review_detail.store_to_provider =\r\n              review_detail.store_review_to_provider +\r\n              \"(\" +\r\n              review_detail.store_rating_to_provider +\r\n              \")\";\r\n          } else {\r\n            review_detail.store_to_provider = \"\";\r\n          }\r\n\r\n          if (review_detail.user_rating_to_store) {\r\n            review_detail.user_to_store =\r\n              review_detail.user_review_to_store +\r\n              \"(\" +\r\n              review_detail.user_rating_to_store +\r\n              \")\";\r\n          } else {\r\n            review_detail.user_to_store = \"\";\r\n          }\r\n\r\n          if (review_detail.provider_rating_to_store) {\r\n            review_detail.provider_to_store =\r\n              review_detail.provider_review_to_store +\r\n              \"(\" +\r\n              review_detail.provider_rating_to_store +\r\n              \")\";\r\n          } else {\r\n            review_detail.provider_to_store = \"\";\r\n          }\r\n        });\r\n\r\n        var review_list = res_data.review_list.filter((x) => {\r\n          return (\r\n            x.user_to_store ||\r\n            x.user_to_provider ||\r\n            x.store_to_user ||\r\n            x.provider_to_user\r\n          );\r\n        });\r\n\r\n        var csv = json2csv({\r\n          data: review_list,\r\n          fields: fields,\r\n          fieldNames: fieldNames,\r\n        });\r\n\r\n        var final_csv: any = csv;\r\n        this.helper.downloadFile(final_csv);\r\n      });\r\n  }\r\n\r\n  change_day(selected_day) {\r\n    this.curren_selected_day = selected_day;\r\n    let index = this.store_time.findIndex((x) => x.day == selected_day);\r\n\r\n    this.is_store_open_full_time =\r\n      this.store_time[index].is_store_open_full_time;\r\n    this.is_store_open = this.store_time[index].is_store_open;\r\n    this.selected_store_time_array = this.store_time[index].day_time;\r\n    this.store_time_millisecond_array = [];\r\n    this.selected_store_time_array.forEach((time) => {\r\n      var open_date = new Date(Date.now());\r\n      var open_time = time.store_open_time;\r\n      open_time = open_time.split(\":\");\r\n      open_date.setHours(open_time[0], open_time[1], 0, 0);\r\n\r\n      var close_date = new Date(Date.now());\r\n      var close_time = time.store_close_time;\r\n      close_time = close_time.split(\":\");\r\n      close_date.setHours(close_time[0], close_time[1], 0, 0);\r\n\r\n      this.store_time_millisecond_array.push({\r\n        store_open_time: open_date.getTime(),\r\n        store_close_time: close_date.getTime(),\r\n      });\r\n    });\r\n  }\r\n\r\n  open_copy_store_time_modal() {\r\n    var date_array = [\r\n      { value: 0, label: this.title.sunday },\r\n      { value: 1, label: this.title.monday },\r\n      { value: 2, label: this.title.tuesday },\r\n      { value: 3, label: this.title.wednesday },\r\n      { value: 4, label: this.title.thursday },\r\n      { value: 5, label: this.title.friday },\r\n      { value: 6, label: this.title.saturday },\r\n    ];\r\n    date_array.splice(this.curren_selected_day, 1);\r\n\r\n    this.date_array = date_array;\r\n    this.copy_store_time_modal.open();\r\n\r\n    setTimeout(() => {\r\n      jQuery(\"#selected_days\").chosen();\r\n      jQuery(\"#selected_days\").trigger(\"chosen:updated\");\r\n    }, 1000);\r\n  }\r\n\r\n  copy_store_time_update() {\r\n    var selected_days = jQuery(\"#selected_days\").val();\r\n\r\n    var day_array = [];\r\n    selected_days.forEach((month) => {\r\n      month = month.split(\": \");\r\n      var result = month[1].substring(1, month[1].length - 1);\r\n      day_array.push(result);\r\n    });\r\n\r\n    day_array.forEach((day) => {\r\n      this.store_time[day].is_store_open_full_time =\r\n        this.store_time[this.curren_selected_day].is_store_open_full_time;\r\n      this.store_time[day].is_store_open =\r\n        this.store_time[this.curren_selected_day].is_store_open;\r\n      this.store_time[day].day_time =\r\n        this.store_time[this.curren_selected_day].day_time;\r\n    });\r\n\r\n    this.copy_store_time_modal.close();\r\n  }\r\n\r\n  store_full_time_open(event) {\r\n    let index = this.store_time.findIndex(\r\n      (x) => x.day == this.curren_selected_day,\r\n    );\r\n    this.store_time[index].is_store_open_full_time = event;\r\n    if (event) {\r\n      this.is_store_open = event;\r\n      this.store_time[index].is_store_open = event;\r\n    }\r\n  }\r\n\r\n  store_open(event) {\r\n    let index = this.store_time.findIndex(\r\n      (x) => x.day == this.curren_selected_day,\r\n    );\r\n    this.store_time[index].is_store_open = event;\r\n  }\r\n\r\n  open_add_time_modal() {\r\n    this.is_time_edit = false;\r\n    this.selected_time_index = null;\r\n    this.add_modal.open();\r\n    this.store_open_time = \"\";\r\n    this.store_close_time = \"\";\r\n    this.store_close_time_error = 0;\r\n    this.store_open_time_error = 0;\r\n\r\n    jQuery(\"#open\").on(\"change\", (event, res_data) => {\r\n      this.check_open_time();\r\n    });\r\n\r\n    jQuery(\"#close\").on(\"change\", (event, res_data) => {\r\n      this.check_close_time();\r\n    });\r\n  }\r\n\r\n  check_open_time() {\r\n    this.store_open_time_error = 0;\r\n    this.store_close_time_error = 0;\r\n    var open = jQuery(\"#open\").val();\r\n    var close = jQuery(\"#close\").val();\r\n    this.store_open_time = open;\r\n\r\n    var open_date = new Date(Date.now());\r\n    open = open.split(\":\");\r\n    open_date.setHours(open[0], open[1], 0, 0);\r\n    open = open_date.getTime();\r\n\r\n    var close_date = new Date(Date.now());\r\n    close = close.split(\":\");\r\n    close_date.setHours(close[0], close[1], 0, 0);\r\n    close = close_date.getTime();\r\n\r\n    if (open >= close) {\r\n      this.store_open_time_error = 1;\r\n    } else {\r\n      this.store_open_time_error = 0;\r\n    }\r\n\r\n    for (var i in this.store_time_millisecond_array) {\r\n      if (this.selected_time_index != i) {\r\n        var open_time = this.store_time_millisecond_array[i].store_open_time;\r\n        var close_time = this.store_time_millisecond_array[i].store_close_time;\r\n\r\n        if (open_time <= open && open <= close_time) {\r\n          this.store_open_time_error = 2;\r\n        } else if (open <= open_time && close_time <= close) {\r\n          this.store_open_time_error = 2;\r\n        } else if (open_time <= close && close <= close_time) {\r\n          this.store_close_time_error = 2;\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  check_close_time() {\r\n    this.store_close_time_error = 0;\r\n    this.store_open_time_error = 0;\r\n    var open = jQuery(\"#open\").val();\r\n    var close = jQuery(\"#close\").val();\r\n    this.store_close_time = close;\r\n    var open_date = new Date(Date.now());\r\n    open = open.split(\":\");\r\n    open_date.setHours(open[0], open[1], 0, 0);\r\n    open = open_date.getTime();\r\n\r\n    var close_date = new Date(Date.now());\r\n    close = close.split(\":\");\r\n    close_date.setHours(close[0], close[1], 0, 0);\r\n    close = close_date.getTime();\r\n    if (open >= close) {\r\n      this.store_close_time_error = 1;\r\n    } else {\r\n      this.store_close_time_error = 0;\r\n    }\r\n    for (var i in this.store_time_millisecond_array) {\r\n      if (this.selected_time_index != i) {\r\n        let open_time = this.store_time_millisecond_array[i].store_open_time;\r\n        let close_time = this.store_time_millisecond_array[i].store_close_time;\r\n\r\n        if (open_time <= close && close <= close_time) {\r\n          this.store_close_time_error = 2;\r\n        } else if (open <= open_time && close_time <= close) {\r\n          this.store_close_time_error = 2;\r\n        } else if (open_time <= open && open <= close_time) {\r\n          this.store_open_time_error = 2;\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  get isvalidateTime(): boolean {\r\n    this.check_open_time();\r\n    this.check_close_time();\r\n    if (!this.store_close_time) {\r\n      this.store_close_time_error = 2;\r\n      return false;\r\n    } else if (!this.store_open_time) {\r\n      this.store_open_time_error = 2;\r\n      return false;\r\n    } else if (this.store_open_time_error || this.store_close_time_error) {\r\n      return false;\r\n    } else {\r\n      return true;\r\n    }\r\n  }\r\n\r\n  add_store_time() {\r\n    if (this.isvalidateTime) {\r\n      this.store_time_add = false;\r\n      var open_date = new Date(Date.now());\r\n      var open_time: any = this.store_open_time;\r\n      open_time = open_time.split(\":\");\r\n      open_date.setHours(open_time[0], open_time[1], 0, 0);\r\n\r\n      var close_date = new Date(Date.now());\r\n      var close_time: any = this.store_close_time;\r\n      close_time = close_time.split(\":\");\r\n      close_date.setHours(close_time[0], close_time[1], 0, 0);\r\n\r\n      if (!this.is_time_edit) {\r\n        this.selected_store_time_array.push({\r\n          store_open_time: this.store_open_time,\r\n          store_close_time: this.store_close_time,\r\n        });\r\n\r\n        this.store_time_millisecond_array.push({\r\n          store_open_time: open_date.getTime(),\r\n          store_close_time: close_date.getTime(),\r\n        });\r\n      } else {\r\n        this.selected_store_time_array[this.selected_time_index] = {\r\n          store_open_time: this.store_open_time,\r\n          store_close_time: this.store_close_time,\r\n        };\r\n        this.store_time_millisecond_array[this.selected_time_index] = {\r\n          store_open_time: open_date.getTime(),\r\n          store_close_time: close_date.getTime(),\r\n        };\r\n      }\r\n      this.selected_store_time_array.sort(this.sortStoreTime);\r\n      // this.updateStoreTime();\r\n      this.add_modal.close();\r\n    }\r\n  }\r\n\r\n  sortStoreTime(a, b) {\r\n    if (a.store_open_time < b.store_open_time) return -1;\r\n    if (a.store_open_time > b.store_open_time) return 1;\r\n    return 0;\r\n  }\r\n\r\n  edit_store_time(store_time, index) {\r\n    this.is_time_edit = true;\r\n    this.store_open_time = store_time.store_open_time;\r\n    this.store_close_time = store_time.store_close_time;\r\n    jQuery(\"#open\").val(store_time.store_open_time);\r\n    jQuery(\"#close\").val(store_time.store_close_time);\r\n    this.store_close_time_error = 0;\r\n    this.store_open_time_error = 0;\r\n    this.selected_time_index = index;\r\n    this.add_modal.open();\r\n\r\n    jQuery(\"#open\").on(\"change\", (event, res_data) => {\r\n      this.store_open_time_error = 0;\r\n      this.store_close_time_error = 0;\r\n      var open = jQuery(\"#open\").val();\r\n      var close = jQuery(\"#close\").val();\r\n      this.store_open_time = open;\r\n\r\n      var open_date = new Date(Date.now());\r\n      open = open.split(\":\");\r\n      open_date.setHours(open[0], open[1], 0, 0);\r\n      open = open_date.getTime();\r\n\r\n      var close_date = new Date(Date.now());\r\n      close = close.split(\":\");\r\n      close_date.setHours(close[0], close[1], 0, 0);\r\n      close = close_date.getTime();\r\n\r\n      if (open >= close) {\r\n        this.store_open_time_error = 1;\r\n      } else {\r\n        this.store_open_time_error = 0;\r\n      }\r\n      for (var i in this.store_time_millisecond_array) {\r\n        if (this.selected_time_index != i) {\r\n          var open_time = this.store_time_millisecond_array[i].store_open_time;\r\n          var close_time =\r\n            this.store_time_millisecond_array[i].store_close_time;\r\n\r\n          if (open_time <= open && open <= close_time) {\r\n            this.store_open_time_error = 2;\r\n          } else if (open <= open_time && close_time <= close) {\r\n            this.store_open_time_error = 2;\r\n          } else if (open_time <= close && close <= close_time) {\r\n            this.store_close_time_error = 2;\r\n          }\r\n        } else {\r\n        }\r\n      }\r\n    });\r\n\r\n    jQuery(\"#close\").on(\"change\", (event, res_data) => {\r\n      this.store_close_time_error = 0;\r\n      this.store_open_time_error = 0;\r\n      var open = jQuery(\"#open\").val();\r\n      var close = jQuery(\"#close\").val();\r\n      this.store_close_time = close;\r\n      var open_date = new Date(Date.now());\r\n      open = open.split(\":\");\r\n      open_date.setHours(open[0], open[1], 0, 0);\r\n      open = open_date.getTime();\r\n\r\n      var close_date = new Date(Date.now());\r\n      close = close.split(\":\");\r\n      close_date.setHours(close[0], close[1], 0, 0);\r\n      close = close_date.getTime();\r\n\r\n      if (open >= close) {\r\n        this.store_close_time_error = 1;\r\n      } else {\r\n        this.store_close_time_error = 0;\r\n      }\r\n\r\n      for (var i in this.store_time_millisecond_array) {\r\n        if (this.selected_time_index != i) {\r\n          let open_time = this.store_time_millisecond_array[i].store_open_time;\r\n          let close_time =\r\n            this.store_time_millisecond_array[i].store_close_time;\r\n\r\n          if (open_time <= close && close <= close_time) {\r\n            this.store_close_time_error = 2;\r\n          } else if (open <= open_time && close_time <= close) {\r\n            this.store_close_time_error = 2;\r\n          } else if (open_time <= open && open <= close_time) {\r\n            this.store_open_time_error = 2;\r\n          }\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  remove_store_time(store_time) {\r\n    if (!this.is_store_open_full_time && this.edit) {\r\n      swal({\r\n        title: \"Are you sure?\",\r\n        text: \"You won't be able to revert this!\",\r\n        type: \"warning\",\r\n        showCancelButton: true,\r\n        confirmButtonColor: \"#3085d6\",\r\n        cancelButtonColor: \"#d33\",\r\n        confirmButtonText: \"Yes, delete it!\",\r\n      })\r\n        .then(() => {\r\n          var i = this.selected_store_time_array.indexOf(store_time);\r\n          if (i != -1) {\r\n            this.selected_store_time_array.splice(i, 1);\r\n            this.store_time_millisecond_array.splice(i, 1);\r\n            // this.updateStoreTime()\r\n          }\r\n        })\r\n        .catch(swal.noop);\r\n    }\r\n  }\r\n\r\n  updateStoreTime() {\r\n    this.updateStoreTimeService();\r\n  }\r\n\r\n  updateStoreTimeService() {\r\n    this.myLoading = true;\r\n    this.helper.http\r\n      .post(\"/api/store/update_store_time\", {\r\n        store_time: this.store_time,\r\n        type: this.helper.ADMIN_DATA_ID.ADMIN,\r\n        store_id: this.store_detail._id,\r\n      })\r\n      .map((response: Response) => response.json())\r\n      .subscribe(\r\n        (res_data) => {\r\n          this.myLoading = false;\r\n          if (res_data.success == false) {\r\n            this.helper.data.storage = {\r\n              code: res_data.error_code,\r\n              message: this.helper.ERROR_CODE[res_data.error_code],\r\n              class: \"alert-danger\",\r\n            };\r\n            let user_index = this.store_list.findIndex(\r\n              (x) => x._id == this.store_detail._id,\r\n            );\r\n            this.store_list[user_index] = JSON.parse(\r\n              JSON.stringify(this.store_detail),\r\n            );\r\n            this.helper.message();\r\n          } else {\r\n            this.edit = false;\r\n            localStorage.setItem(\"store\", JSON.stringify(res_data.store));\r\n            this.helper.data.storage = {\r\n              message: this.helper.MESSAGE_CODE[res_data.message],\r\n              class: \"alert-info\",\r\n            };\r\n            this.helper.message();\r\n          }\r\n        },\r\n        (error: any) => {\r\n          this.myLoading = false;\r\n          this.helper.http_status(error);\r\n        },\r\n      );\r\n  }\r\n\r\n  create_store_page() {\r\n    this.helper.router.navigate([\"/store/register\"]);\r\n  }\r\n\r\n  open_add_subscription_charge_modal() {\r\n    this.fee_type = 1;\r\n    this.distance_calculation_error = 0;\r\n    this.selected_index = null;\r\n    this.add_subscription_amount_modal.open();\r\n    this.min_amount = null;\r\n    this.subscription_amount = null;\r\n    this.max_amount = null;\r\n  }\r\n\r\n  open_edit_subscription_charge_modal(subscription_charge, index) {\r\n    this.fee_type = 1;\r\n    this.distance_calculation_error = 0;\r\n    this.selected_index = index;\r\n    this.min_amount = JSON.parse(\r\n      JSON.stringify(subscription_charge.min_amount),\r\n    );\r\n    this.max_amount = JSON.parse(\r\n      JSON.stringify(subscription_charge.max_amount),\r\n    );\r\n    this.subscription_amount = JSON.parse(\r\n      JSON.stringify(subscription_charge.subscription_amount),\r\n    );\r\n    this.add_subscription_amount_modal.open();\r\n  }\r\n\r\n  add_subscription_charge_data() {\r\n    if (this.fee_type == 1) {\r\n      if (this.selected_index !== null) {\r\n        this.update_subscription_charge_data();\r\n      } else {\r\n        if (Number(this.min_amount) < Number(this.max_amount)) {\r\n          this.distance_calculation_error = 0;\r\n          this.store_detail.saas_subscription_charge_for_store.push({\r\n            min_amount: Number(this.min_amount),\r\n            max_amount: Number(this.max_amount),\r\n            subscription_amount: Number(this.subscription_amount),\r\n          });\r\n          this.max_amount = null;\r\n          this.min_amount = null;\r\n          this.subscription_amount = null;\r\n          this.selected_index = null;\r\n          this.add_subscription_amount_modal.close();\r\n        } else {\r\n          this.distance_calculation_error = 1;\r\n        }\r\n      }\r\n    } else {\r\n      this.add_odh_management_fee_data();\r\n    }\r\n  }\r\n\r\n  delete_subscription_charge_data(index) {\r\n    this.store_detail.saas_subscription_charge_for_store.splice(index, 1);\r\n  }\r\n\r\n  update_subscription_charge_data() {\r\n    if (this.fee_type == 1) {\r\n      if (Number(this.min_amount) < Number(this.max_amount)) {\r\n        this.distance_calculation_error = 0;\r\n        this.store_detail.saas_subscription_charge_for_store[\r\n          this.selected_index\r\n        ].min_amount = JSON.parse(JSON.stringify(Number(this.min_amount)));\r\n        this.store_detail.saas_subscription_charge_for_store[\r\n          this.selected_index\r\n        ].max_amount = JSON.parse(JSON.stringify(Number(this.max_amount)));\r\n        this.store_detail.saas_subscription_charge_for_store[\r\n          this.selected_index\r\n        ].subscription_amount = JSON.parse(\r\n          JSON.stringify(Number(this.subscription_amount)),\r\n        );\r\n        this.min_amount = null;\r\n        this.max_amount = null;\r\n        this.subscription_amount = null;\r\n        this.selected_index = null;\r\n        this.add_subscription_amount_modal.close();\r\n      } else {\r\n        this.distance_calculation_error = 1;\r\n      }\r\n    } else {\r\n      this.update_odh_management_fee_data();\r\n    }\r\n  }\r\n\r\n  open_add_odh_management_fee_modal() {\r\n    this.fee_type = 2;\r\n    this.distance_calculation_error = 0;\r\n    this.selected_index = null;\r\n    this.add_subscription_amount_modal.open();\r\n    this.min_amount = null;\r\n    this.subscription_amount = null;\r\n    this.max_amount = null;\r\n  }\r\n\r\n  open_edit_odh_management_fee_modal(subscription_charge, index) {\r\n    this.fee_type = 2;\r\n    this.distance_calculation_error = 0;\r\n    this.selected_index = index;\r\n    this.min_amount = JSON.parse(\r\n      JSON.stringify(subscription_charge.min_amount),\r\n    );\r\n    this.max_amount = JSON.parse(\r\n      JSON.stringify(subscription_charge.max_amount),\r\n    );\r\n    this.subscription_amount = JSON.parse(\r\n      JSON.stringify(subscription_charge.subscription_amount),\r\n    );\r\n    this.add_subscription_amount_modal.open();\r\n  }\r\n\r\n  add_odh_management_fee_data() {\r\n    if (this.selected_index !== null) {\r\n      this.update_subscription_charge_data();\r\n    } else {\r\n      if (Number(this.min_amount) < Number(this.max_amount)) {\r\n        this.distance_calculation_error = 0;\r\n        this.store_detail.odh_management_fee_for_store.push({\r\n          min_amount: Number(this.min_amount),\r\n          max_amount: Number(this.max_amount),\r\n          subscription_amount: Number(this.subscription_amount),\r\n        });\r\n        this.max_amount = null;\r\n        this.min_amount = null;\r\n        this.subscription_amount = null;\r\n        this.selected_index = null;\r\n        this.add_subscription_amount_modal.close();\r\n      } else {\r\n        this.distance_calculation_error = 1;\r\n      }\r\n    }\r\n  }\r\n\r\n  delete_odh_management_fee_data(index) {\r\n    this.store_detail.odh_management_fee_for_store.splice(index, 1);\r\n  }\r\n\r\n  update_odh_management_fee_data() {\r\n    if (Number(this.min_amount) < Number(this.max_amount)) {\r\n      this.distance_calculation_error = 0;\r\n      this.store_detail.odh_management_fee_for_store[\r\n        this.selected_index\r\n      ].min_amount = JSON.parse(JSON.stringify(Number(this.min_amount)));\r\n      this.store_detail.odh_management_fee_for_store[\r\n        this.selected_index\r\n      ].max_amount = JSON.parse(JSON.stringify(Number(this.max_amount)));\r\n      this.store_detail.odh_management_fee_for_store[\r\n        this.selected_index\r\n      ].subscription_amount = JSON.parse(\r\n        JSON.stringify(Number(this.subscription_amount)),\r\n      );\r\n      this.min_amount = null;\r\n      this.max_amount = null;\r\n      this.subscription_amount = null;\r\n      this.selected_index = null;\r\n      this.add_subscription_amount_modal.close();\r\n    } else {\r\n      this.distance_calculation_error = 1;\r\n    }\r\n  }\r\n\r\n  remove_conges_time(index) {\r\n    this.store_detail.store_conges.splice(index, 1);\r\n  }\r\n\r\n  updateCongesTime() {\r\n    this.myLoading = true;\r\n    this.helper.http\r\n      .post(\"/api/store/update_store_time\", {\r\n        store_conges: this.store_detail.store_conges,\r\n        type: this.helper.ADMIN_DATA_ID.ADMIN,\r\n        store_id: this.store_detail._id,\r\n      })\r\n      .map((response: Response) => response.json())\r\n      .subscribe(\r\n        (res_data) => {\r\n          this.myLoading = false;\r\n          if (res_data.success == false) {\r\n            this.helper.data.storage = {\r\n              code: res_data.error_code,\r\n              message: this.helper.ERROR_CODE[res_data.error_code],\r\n              class: \"alert-danger\",\r\n            };\r\n            let user_index = this.store_list.findIndex(\r\n              (x) => x._id == this.store_detail._id,\r\n            );\r\n            this.store_list[user_index] = JSON.parse(\r\n              JSON.stringify(this.store_detail),\r\n            );\r\n            this.helper.message();\r\n          } else {\r\n            this.edit = false;\r\n            localStorage.setItem(\"store\", JSON.stringify(res_data.store));\r\n            this.helper.data.storage = {\r\n              message: this.helper.MESSAGE_CODE[res_data.message],\r\n              class: \"alert-info\",\r\n            };\r\n            this.helper.message();\r\n          }\r\n        },\r\n        (error: any) => {\r\n          this.myLoading = false;\r\n          this.helper.http_status(error);\r\n        },\r\n      );\r\n  }\r\n\r\n  order_pay_request(order_pay_status) {\r\n    let json = {\r\n      store_id: this.store_detail._id,\r\n      order_pay_status: order_pay_status,\r\n    };\r\n    this.helper.http\r\n      .post(\"/api/store/order_pay_request\", json)\r\n      .map((response: Response) => response.json())\r\n      .subscribe(\r\n        (res_data) => {\r\n          if (res_data.success) {\r\n            this.store_detail.order_pay_status = order_pay_status;\r\n          } else {\r\n          }\r\n        },\r\n        (error: any) => {\r\n          this.myLoading = false;\r\n          this.helper.http_status(error);\r\n        },\r\n      );\r\n  }\r\n\r\n  go_to_delivery_price() {\r\n    this.helper.router_id.admin.service_id = this.store_detail.service_id;\r\n    this.helper.router_id.admin.store_id = this.store_detail._id;\r\n    this.helper.router.navigate([\"admin/service/edit\"]);\r\n  }\r\n\r\n  open_never_launched_modal() {\r\n    this.never_launched_modal.open();\r\n  }\r\n\r\n  open_churn_modal() {\r\n    this.churn_modal.open();\r\n  }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/stores/stores.component.ts","import {Component, OnInit, ViewContainerRef} from '@angular/core';\r\nimport {Helper} from \"../../helper\";\r\nimport {Http, Response} from '@angular/http';\r\ndeclare var swal: any;\r\n\r\n@Component({\r\n    selector: 'app-team',\r\n    template: require('./team.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class teamComponent implements OnInit {\r\n    team_list: any[];\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    public message: string;\r\n    public class: string;\r\n    myLoading: boolean = true;\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    activeRoute(routename: string): boolean {\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n\r\n\r\n    ngOnInit() {\r\n        this.helper.message();\r\n        this.helper.http.get('/team/lists').map((res: Response) => res.json()).subscribe(data => {\r\n            this.myLoading = false;\r\n\r\n            if (data.success == false) {\r\n                this.team_list = [];\r\n            }\r\n            else {\r\n                this.team_list = data.team_list;\r\n            }\r\n\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n\r\n\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n\r\n    }\r\n\r\n    editteam(id) {\r\n        this.helper.router_id.admin.team_id = id;\r\n        this.helper.router.navigate(['team/edit']);\r\n    }\r\n\r\n    deleteteam(id, team_index) {\r\n        swal({\r\n            title: 'Are you sure?',\r\n            text: \"You won't be able to revert this!\",\r\n            type: 'warning',\r\n            showCancelButton: true,\r\n            confirmButtonColor: '#3085d6',\r\n            cancelButtonColor: '#d33',\r\n            confirmButtonText: 'Yes, delete it!'\r\n        }).then(() => {\r\n            this.helper.http.post('/team/delete', {team_id: id}).map((response: Response) => response.json()).subscribe(res_data => {\r\n                if (res_data.success == true) {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n\r\n                    this.helper.message();\r\n                    this.team_list.splice(team_index, 1);\r\n                }\r\n                else {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                }\r\n            });\r\n            swal(\r\n                'Deleted!',\r\n                'Your file has been deleted.',\r\n                'success'\r\n            );\r\n        }).catch(swal.noop)\r\n    }\r\n\r\n\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/team/team.component.ts","import {Component, OnInit} from '@angular/core';\r\nimport {TranslateService} from './translate';\r\n\r\n@Component({\r\n    selector: 'app-trans_language',\r\n    template: require('./trans_language.component.html')\r\n})\r\nexport class TransLanguageComponent implements OnInit {\r\n    public translatedText: string;\r\n    public translatedText1: string;\r\n    public translatedText2: string;\r\n\r\n    public supportedLangs: any[];\r\n\r\n    constructor(private _translate: TranslateService) {}\r\n\r\n    ngOnInit() {\r\n        // standing data\r\n        this.supportedLangs = [\r\n            {display: 'English', value: 'en'},\r\n            {display: 'Español', value: 'es'},\r\n            {display: '华语', value: 'zh'},\r\n            {display: 'Arabic', value: 'ar'},\r\n        ];\r\n\r\n        this.selectLang('es');\r\n\r\n    }\r\n\r\n    isCurrentLang(lang: string) {\r\n        return lang === this._translate.currentLang;\r\n    }\r\n\r\n    selectLang(lang: string) {\r\n        // set default;\r\n        this._translate.use(lang);\r\n        this.refreshText();\r\n    }\r\n\r\n    refreshText() {\r\n        this.translatedText = this._translate.instant('hello world');\r\n        this.translatedText1 = this._translate.instant('dashboard');\r\n        this.translatedText2 = this._translate.instant('hi');\r\n\r\n    }\r\n\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/trans_language/trans_language.component.ts","// app/translate/translation.ts\r\n\r\nimport { OpaqueToken } from '@angular/core';\r\n\r\n// import translations\r\nimport { LANG_EN_NAME, LANG_EN_TRANS } from './lang-en';\r\nimport { LANG_ES_NAME, LANG_ES_TRANS } from './lang-es';\r\nimport { LANG_ZH_NAME, LANG_ZH_TRANS } from './lang-zh';\r\nimport { LANG_AR_NAME, LANG_AR_TRANS } from './lang-ar';\r\n\r\n// translation token\r\nexport const TRANSLATIONS = new OpaqueToken('translations');\r\n\r\n// all traslations\r\nconst dictionary = {\r\n\t[LANG_EN_NAME]: LANG_EN_TRANS,\r\n\t[LANG_ES_NAME]: LANG_ES_TRANS,\r\n\t[LANG_ZH_NAME]: LANG_ZH_TRANS,\r\n        [LANG_AR_NAME]: LANG_AR_TRANS,\r\n};\r\n\r\n// providers\r\nexport const TRANSLATION_PROVIDERS = [\r\n\t{ provide: TRANSLATIONS, useValue: dictionary },\r\n];\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/trans_language/translate/translations.ts","import {Component, OnInit, ViewContainerRef} from '@angular/core';\r\nimport {Response} from '@angular/http';\r\nimport {Helper} from \"../../helper\";\r\ndeclare var jQuery: any;\r\n\r\n@Component({\r\n    selector: 'app-transaction_history',\r\n    template: require('./transaction_history.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class TransactionHistoryComponent implements OnInit {\r\n\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    lable_title: any;\r\n    DATE_FORMAT: any;\r\n    transaction_history_list: any[];\r\n    sort_field: string;\r\n    sort_transaction_history: number;\r\n    search_field: string;\r\n    search_value: string;\r\n    start_date: string;\r\n    end_date: string;\r\n    page: number;\r\n    total_page: number;\r\n    total_pages: number[];\r\n    myLoading: boolean = true;\r\n\r\n    constructor(private helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n\r\n        jQuery(\".chosen-select\").chosen({disable_search: true});\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.sort_field = \"unique_id\";\r\n        this.sort_transaction_history = -1;\r\n        this.search_field = \"store_detail.email\";\r\n        this.search_value = \"\";\r\n        this.start_date = '';\r\n        this.end_date = '';\r\n        this.page = 1;\r\n\r\n\r\n        this.helper.message()\r\n\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.lable_title = this.helper.lable_title\r\n        this.DATE_FORMAT = this.helper.DATE_FORMAT\r\n        this.transaction_history_list = [];\r\n\r\n        this.transaction_history(1);\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_field').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_field = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_transaction_history').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_transaction_history = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#search_field').on('change', (evnt, res_data) => {\r\n\r\n            this.search_field = res_data.selected;\r\n\r\n        });\r\n    }\r\n    activeRoute(routename: string): boolean {\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n\r\n    transaction_history(page) {\r\n        this.page = page;\r\n        this.helper.http.post('/admin/get_transaction_history', {\r\n            start_date: this.start_date, end_date: this.end_date,\r\n            sort_field: this.sort_field, sort_transaction_history: this.sort_transaction_history,\r\n            search_field: this.search_field, search_value: this.search_value, page: this.page\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n                this.transaction_history_list = [];\r\n                this.total_pages = [];\r\n            }\r\n            else {\r\n                this.transaction_history_list = res_data.transfer_history;\r\n                this.total_page = res_data.pages;\r\n                this.total_pages = Array(res_data.pages).fill((x, i) => i).map((x, i) => i + 1)\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error);\r\n            });\r\n    }\r\n\r\n    transaction_history_export_csv() {\r\n        this.helper.http.post('/admin/get_transaction_history', {\r\n            start_date: this.start_date, end_date: this.end_date,\r\n            sort_field: this.sort_field, sort_transaction_history: this.sort_transaction_history,\r\n            search_field: this.search_field, search_value: this.search_value\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            var json2csv = require('json2csv');\r\n            res_data.transfer_history.forEach((transfer_history_detail, index) => {\r\n                if (transfer_history_detail.user_type == 8) {\r\n                    transfer_history_detail.type = this.lable_title.provider;\r\n                } else if (transfer_history_detail.user_type == 2) {\r\n                    transfer_history_detail.type = this.lable_title.store;\r\n                }\r\n                if (transfer_history_detail.transfer_status == 1) {\r\n                    transfer_history_detail.transfer_status = this.title.transfer;\r\n                } else if (transfer_history_detail.transfer_status == 0) {\r\n                    transfer_history_detail.transfer_status = this.title.not_transfer;\r\n                }\r\n                \r\n                if (transfer_history_detail.transfered_by == 1) {\r\n                    transfer_history_detail.transfered_by = this.title.transfered_by_admin;\r\n                } \r\n\r\n\r\n                switch (transfer_history_detail.user_type) {\r\n                    case 8:\r\n                        transfer_history_detail.email = transfer_history_detail.provider_detail[0].email;\r\n                        break;\r\n                    case 2:\r\n                        transfer_history_detail.email = transfer_history_detail.store_detail[0].email;\r\n                        break;\r\n                    default:\r\n                        transfer_history_detail.email = '';\r\n                }\r\n\r\n                switch (transfer_history_detail.user_type) {\r\n                    case 8:\r\n                        transfer_history_detail.wallet_currency_code = transfer_history_detail.provider_detail[0].wallet_currency_code;\r\n                        break;\r\n                    case 2:\r\n                        transfer_history_detail.wallet_currency_code = transfer_history_detail.store_detail[0].wallet_currency_code;\r\n                        break;\r\n                    default:\r\n                        transfer_history_detail.wallet_currency_code = '';\r\n                }\r\n\r\n            });\r\n\r\n            var fieldNames = [this.title.ID,\r\n            this.title.type,\r\n            this.title.email,\r\n            this.title.date,\r\n            this.title.country,\r\n            this.title.currency,\r\n            this.title.amount,\r\n            this.title.transfer_status,\r\n            this.title.transfered_by\r\n            ];\r\n            var fields = ['unique_id',\r\n                'type',\r\n                'email',\r\n                'created_at',\r\n                'country_details.country_name',\r\n                'wallet_currency_code',\r\n                'amount',\r\n                'transfer_status',\r\n                'transfered_by'\r\n                \r\n            ];\r\n            var csv = json2csv({data: res_data.transfer_history, fields: fields, fieldNames: fieldNames});\r\n\r\n            var final_csv: any = csv;\r\n            this.helper.downloadFile(final_csv);\r\n        });\r\n    }\r\n    \r\n    \r\n    \r\n    \r\n     transaction_history_export_excel() {\r\n         this.helper.http.post('/admin/get_transaction_history', {\r\n            start_date: this.start_date, end_date: this.end_date,\r\n            sort_field: this.sort_field, sort_transaction_history: this.sort_transaction_history,\r\n            search_field: this.search_field, search_value: this.search_value\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            var json_data = [];\r\n            var json2excel = require('js2excel');\r\n            res_data.transfer_history.forEach((transfer_history_detail, index) => {\r\n                if (transfer_history_detail.user_type == 8) {\r\n                    transfer_history_detail.type = this.lable_title.provider;\r\n                } else if (transfer_history_detail.user_type == 2) {\r\n                    transfer_history_detail.type = this.lable_title.store;\r\n                }\r\n                if (transfer_history_detail.transfer_status == 1) {\r\n                    transfer_history_detail.transfer_status = this.title.transfer;\r\n                } else if (transfer_history_detail.transfer_status == 0) {\r\n                    transfer_history_detail.transfer_status = this.title.not_transfer;\r\n                }\r\n                \r\n                if (transfer_history_detail.transfered_by == 1) {\r\n                    transfer_history_detail.transfered_by = this.title.transfered_by_admin;\r\n                } \r\n\r\n\r\n                switch (transfer_history_detail.user_type) {\r\n                    case 8:\r\n                        transfer_history_detail.email = transfer_history_detail.provider_detail[0].email;\r\n                        break;\r\n                    case 2:\r\n                        transfer_history_detail.email = transfer_history_detail.store_detail[0].email;\r\n                        break;\r\n                    default:\r\n                        transfer_history_detail.email = '';\r\n                }\r\n\r\n                switch (transfer_history_detail.user_type) {\r\n                    case 8:\r\n                        transfer_history_detail.wallet_currency_code = transfer_history_detail.provider_detail[0].wallet_currency_code;\r\n                        break;\r\n                    case 2:\r\n                        transfer_history_detail.wallet_currency_code = transfer_history_detail.store_detail[0].wallet_currency_code;\r\n                        break;\r\n                    default:\r\n                        transfer_history_detail.wallet_currency_code = '';\r\n                }\r\n                \r\n                \r\n                 json_data.push({\r\n                    \"ID\": transfer_history_detail.unique_id,\r\n                    \"Type\":transfer_history_detail.type,\r\n                    \"Email\":transfer_history_detail.email,\r\n                    \"Country\":transfer_history_detail.country_details.country_name,\r\n                    \"Currency\":transfer_history_detail.wallet_currency_code,\r\n                    \"Amount\":transfer_history_detail.amount,\r\n                    \"Transfer Status\":transfer_history_detail.transfer_status,\r\n                    \"Transfered By\":transfer_history_detail.transfered_by,\r\n                    \"Date\":transfer_history_detail.created_at\r\n                 });\r\n                \r\n                \r\n            });\r\n            \r\n            json2excel.json2excel({\r\n                data: json_data,\r\n                name: 'transfer_history_excel',\r\n                formateDate: 'yyyy/mm/dd'\r\n            });\r\n           \r\n           \r\n        });\r\n    }\r\n    \r\n    \r\n    \r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/transaction_history/transaction_history.component.ts","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'app-upload_document',\r\n  template: require('./upload_document.component.html')\r\n})\r\nexport class UploadDocumentComponent implements OnInit {\r\n\r\n  constructor() { }\r\n\r\n  ngOnInit() {\r\n  }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/upload_document/upload_document.component.ts","import {Component, OnInit, ViewChild, ViewContainerRef} from '@angular/core';\r\nimport {Helper} from \"../../helper\";\r\nimport {Http, Response} from '@angular/http';\r\ndeclare var jQuery: any;\r\nimport {ModalComponent} from 'ng2-bs3-modal/ng2-bs3-modal';\r\n\r\nexport interface Document {\r\n    unique_code: String,\r\n    expired_date: any,\r\n    image_url: ''\r\n}\r\n\r\n@Component({\r\n    selector: 'app-user',\r\n    template: require('./user.component.html'),\r\n    providers: [Helper]\r\n})\r\n\r\nexport class UserComponent implements OnInit {\r\n\r\n    @ViewChild('myModal')\r\n    modal: ModalComponent;\r\n    @ViewChild('mysmsModal')\r\n    sms_modal: ModalComponent;\r\n    @ViewChild('mynotificationModal')\r\n    notification_modal: ModalComponent;\r\n    @ViewChild('document_full_image')\r\n    document_full_image: ModalComponent;\r\n\r\n    user_list: any;\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    // search_field: string;\r\n    // search_value: string;\r\n    // page: number;\r\n    // number_of_rec: number = 10;\r\n    total_page: number;\r\n    total_pages: number[];\r\n\r\n\r\n    // user_page_type: number;\r\n    user_id: Object;\r\n    type: number;\r\n    wallet: number;\r\n    content: string;\r\n    amount: number;\r\n    public message: string = \"\";\r\n    public class: string;\r\n    myLoading: boolean = true;\r\n    user_detail: any = {};\r\n    is_edit: boolean = false;\r\n    formData = new FormData();\r\n    selected_tab: number = 1;\r\n\r\n    document_list: any[] = [];\r\n    edit_document: any[] = [];\r\n    old_image_url: string = '';\r\n    error_message: number = 0;\r\n    private documentlist: Document;\r\n    referral_history: any[] = [];\r\n    review_list: any[] = [];\r\n    selected_document_index: number;\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    ngOnInit() {\r\n\r\n        if(localStorage.getItem('admin_id')){\r\n            jQuery(\".chosen-select\").chosen({disable_search: true});\r\n            setTimeout(function () {\r\n                jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n            }, 1000);\r\n\r\n            this.documentlist = {\r\n                unique_code: '',\r\n                expired_date: null,\r\n                image_url: ''\r\n            }\r\n\r\n            this.helper.message()\r\n            // this.helper.router_id.user_filter.search_field = \"first_name\";\r\n            // this.helper.router_id.user_filter.search_value = \"\";\r\n            // this.helper.router_id.user_filter.page = 1;\r\n\r\n            this.user_id = \"\";\r\n            this.filter(this.helper.router_id.user_filter.page);\r\n\r\n            this.type = 7;\r\n            this.title = this.helper.title;\r\n            this.button = this.helper.button;\r\n            this.heading_title = this.helper.heading_title;\r\n            this.user_list = [];\r\n\r\n            jQuery(this.helper.elementRef.nativeElement).find('#search_field').on('change', (evnt, res_data) => {\r\n                this.helper.router_id.user_filter.search_field = res_data.selected;\r\n            });\r\n            jQuery(this.helper.elementRef.nativeElement).find('#number_of_rec').on('change', (evnt, res_data) => {\r\n                this.helper.router_id.user_filter.number_of_rec = res_data.selected;\r\n                this.filter(1)\r\n            });\r\n        } else {\r\n\r\n        }\r\n    }\r\n\r\n    change_page_type(user_page_type){\r\n        this.helper.router_id.user_filter.user_page_type = user_page_type;\r\n        this.filter(1);\r\n    }\r\n\r\n    view_user_history(){\r\n        this.helper.router_id.admin.user_detail = this.user_detail;\r\n        this.helper.router_id.user_filter.id = this.user_detail._id;\r\n        if(this.helper.router.url === '/dispatcher/users'){\r\n            this.helper.router.navigate(['dispatcher/user_summary']);\r\n        } else {\r\n            this.helper.router.navigate(['admin/user_summary']);\r\n        }\r\n    }\r\n\r\n    filter(page) {\r\n        this.helper.router_id.user_filter.page = page;\r\n        console.log( {\r\n            user_page_type: this.helper.router_id.user_filter.user_page_type, number_of_rec: this.helper.router_id.user_filter.number_of_rec,\r\n            search_field: this.helper.router_id.user_filter.search_field, search_value: this.helper.router_id.user_filter.search_value, page: this.helper.router_id.user_filter.page\r\n        })\r\n        this.helper.http.post('/admin/user_list_search_sort', {\r\n            user_page_type: this.helper.router_id.user_filter.user_page_type, number_of_rec: this.helper.router_id.user_filter.number_of_rec,\r\n            search_field: this.helper.router_id.user_filter.search_field, search_value: this.helper.router_id.user_filter.search_value, page: this.helper.router_id.user_filter.page\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n                this.user_list = [];\r\n                this.total_pages = [];\r\n                this.user_detail = {};\r\n            }\r\n            else {\r\n                this.user_list = res_data.users;\r\n                this.total_page = res_data.pages;\r\n                this.total_pages = Array(res_data.pages).fill((x, i) => i).map((x, i) => i + 1)\r\n                if(this.user_list.length > 0){\r\n                    if(this.helper.router_id.user_filter.id){\r\n                        this.get_user_detail(this.helper.router_id.user_filter.id);\r\n                        this.helper.router_id.user_filter.id = null;\r\n                    } else {\r\n                        this.get_user_detail(this.user_list[0]._id);\r\n                    }\r\n                } else {\r\n                    this.user_detail = {};\r\n                }\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    get_user_detail(id){\r\n        this.selected_tab = 1;\r\n        let index = this.user_list.findIndex((user)=>user._id==id);\r\n        this.user_detail = JSON.parse(JSON.stringify(this.user_list[index]));\r\n    }\r\n\r\n    change_image($event) {\r\n\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const image_url = files[0];\r\n\r\n        if (image_url.type == \"image/jpeg\" || image_url.type == \"image/jpg\" || image_url.type == \"image/png\") {\r\n            this.formData = new FormData();\r\n            this.formData.append('image_url', image_url);\r\n\r\n            var reader = new FileReader();\r\n\r\n            reader.onload = (e: any) => {\r\n                this.user_detail.image_url = e.target.result\r\n            }\r\n            reader.readAsDataURL(image_url);\r\n        }\r\n    }\r\n\r\n    update_user_detail(){\r\n        this.formData.append('user_id', this.user_detail._id);\r\n        this.formData.append('phone', this.user_detail.phone);\r\n        this.formData.append('country_phone_code', this.user_detail.country_phone_code);\r\n        this.formData.append('email', this.user_detail.email);\r\n        this.formData.append('first_name', this.user_detail.first_name);\r\n        this.formData.append('last_name', this.user_detail.last_name);\r\n        this.formData.append('city', this.user_detail.city);\r\n        this.helper.http.post('/admin/update_user', this.formData).map((response: Response) => response.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            this.formData = new FormData();\r\n            if (res_data.success == false) {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n            } else {\r\n                let user_index = this.user_list.findIndex((x)=>x._id == this.user_detail._id);\r\n                this.user_list[user_index] = JSON.parse(JSON.stringify(this.user_detail));\r\n\r\n                this.is_edit = false;\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n            }\r\n            this.helper.message();\r\n        });\r\n    }\r\n\r\n    open_modal(type, id) {\r\n\r\n        this.user_id = id;\r\n        this.type = type;\r\n        this.modal.open();\r\n        this.wallet = null;\r\n    }\r\n\r\n    AddWallet(add_wallet_data) {\r\n        if(localStorage.getItem('admin_id')){\r\n            add_wallet_data.admin_id = localStorage.getItem('admin_id');\r\n            this.helper.http.post('/admin/add_wallet', add_wallet_data).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n                if (res_data.success == true) {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n                    this.modal.close();\r\n                    this.helper.message();\r\n                    var index = this.user_list.findIndex(x => x._id == add_wallet_data.user_id);\r\n                    this.user_list[index].wallet = this.user_list[index].wallet + +Number(add_wallet_data.wallet).toFixed(2);\r\n\r\n\r\n                }\r\n                else {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message();\r\n                }\r\n            });\r\n        }\r\n    }\r\n\r\n\r\n\r\n\r\n    open_sms_modal(type, id) {\r\n\r\n        this.user_id = id;\r\n        this.type = type;\r\n        this.sms_modal.open();\r\n        this.content = \"\";\r\n    }\r\n    SendSms(sms_data) {\r\n        this.helper.http.post('/admin/send_sms', sms_data).map((res: Response) => res.json()).subscribe(res_data => {\r\n            if (res_data.success == true) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.sms_modal.close();\r\n                this.helper.message();\r\n            }\r\n            else {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message();\r\n            }\r\n\r\n        });\r\n    }\r\n\r\n    open_notification_modal(type, id) {\r\n\r\n        this.user_id = id;\r\n        this.type = type;\r\n        this.notification_modal.open();\r\n        this.content = \"\";\r\n    }\r\n    SendNotification(notification_data) {\r\n        this.helper.http.post('/admin/send_notification', notification_data).map((res: Response) => res.json()).subscribe(res_data => {\r\n            if (res_data.success == true) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.notification_modal.close();\r\n                this.helper.message();\r\n            }\r\n            else {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message();\r\n            }\r\n\r\n        });\r\n    }\r\n\r\n    approved_decline(user_page_type, user_id) {\r\n        this.helper.http.post('/admin/approve_decline_user', {\r\n            user_id: user_id,\r\n            user_page_type: user_page_type\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            let user_index = this.user_list.findIndex((x)=>x._id==user_id);\r\n            this.user_list.splice(user_index, 1);\r\n\r\n            if(this.user_list.length>0){\r\n                this.get_user_detail(this.user_list[0]._id);\r\n            } else{\r\n                this.user_detail = {};\r\n            }\r\n\r\n            if (res_data.success == false) {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n            }\r\n            else {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n            }\r\n            this.helper.message();\r\n        });\r\n    }\r\n\r\n    get_document_list(){\r\n        this.is_edit = false;\r\n        this.selected_tab = 2;\r\n        this.helper.http.post('/admin/view_document_list', {id: this.user_detail._id, type: 7}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n                this.document_list = [];\r\n            }\r\n            else {\r\n                this.document_list = res_data.documents;\r\n                this.document_list.forEach((document, index) => {\r\n                    this.edit_document[index] = \"false\";\r\n                    this.get_document_image(document.image_url, index)\r\n                })\r\n            }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading = false;\r\n            this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n    get_referral_history(){\r\n        this.is_edit = false;\r\n        this.selected_tab = 3;\r\n        this.myLoading = true;\r\n        this.helper.http.post('/admin/get_user_referral_history', {id: this.user_detail._id, type: 7}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n                this.referral_history = [];\r\n            }\r\n            else {\r\n                this.referral_history = res_data.referral_history;\r\n            }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading = false;\r\n            this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n    show_full_image(image_url, document_index){\r\n        this.selected_document_index = document_index;\r\n        this.document_full_image.open();\r\n        this.get_document_image(image_url, document_index);\r\n    }\r\n\r\n    get_review_history(){\r\n        this.is_edit = false;\r\n        this.selected_tab = 4;\r\n        this.myLoading = true;\r\n        this.helper.http.post('/admin/get_user_review_history', {user_id: this.user_detail._id}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n                this.review_list = [];\r\n            }\r\n            else {\r\n                this.review_list = res_data.review_list;\r\n            }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading = false;\r\n            this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n    Array(number){\r\n        var array = []\r\n        for(var i= 0; i< number; i++){\r\n            array.push(' ')\r\n        }\r\n        return array;\r\n    }\r\n\r\n    editDocument(document, document_index) {\r\n        this.get_document_image(document.image_url, document_index);\r\n        this.old_image_url = document.image_url;\r\n        this.edit_document.fill(\"\")\r\n        this.edit_document[document_index] = \"true\"\r\n        this.documentlist.unique_code = document.unique_code;\r\n        this.documentlist.image_url = document.image_url;\r\n        if (document.expired_date != null) {\r\n            var date = new Date(document.expired_date);\r\n            this.documentlist.expired_date = {date: {year: date.getFullYear(), month: date.getMonth() + 1, day: date.getDate()}, formatted: date.getMonth() + 1 + '-' + date.getDate() + '-' + date.getFullYear()};\r\n\r\n        }\r\n    }\r\n\r\n    image_update($event, document_index) {\r\n        this.formData = new FormData();\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const image_url = files[0];\r\n        this.formData.append('image_url', image_url);\r\n\r\n        var reader = new FileReader();\r\n\r\n        reader.onload = (e: any) => {\r\n            this.document_list[document_index].image_url = e.target.result;\r\n            this.documentlist.image_url = e.target.result;\r\n            jQuery('.document' + document_index).attr('src', e.target.result)\r\n        }\r\n        reader.readAsDataURL(image_url);\r\n\r\n    }\r\n\r\n    get_document_image(url, document_index) {\r\n        if (url == '') {\r\n            jQuery('.document' + document_index).attr('src', 'default.png')\r\n        } else {\r\n            var oReq = new XMLHttpRequest();\r\n            oReq.open(\"GET\", url, true);\r\n            oReq.setRequestHeader(\"type\", 'admin');\r\n            oReq.setRequestHeader(\"token\", this.user_detail.server_token);\r\n            oReq.responseType = \"blob\";\r\n            oReq.onload = function (oEvent) {\r\n                var arrayBuffer = oReq.response; // Note: not oReq.responseText\r\n                if (arrayBuffer) {\r\n                    jQuery('.document' + document_index).attr('src', URL.createObjectURL(arrayBuffer));\r\n                } else {\r\n                    jQuery('.document' + document_index).attr('src', 'default.png');\r\n                }\r\n            };\r\n            oReq.send(null);\r\n        }\r\n    }\r\n\r\n\r\n    updateDocument(document, document_index) {\r\n\r\n        if (this.documentlist.image_url == '') {\r\n            this.error_message = 1;\r\n        }\r\n        else if (document.document_details.is_expired_date && this.documentlist.expired_date == null) {\r\n            this.error_message = 2;\r\n        }\r\n        else if (document.document_details.is_unique_code && this.documentlist.unique_code == '') {\r\n            this.error_message = 3;\r\n        }\r\n        else {\r\n            this.myLoading = true;\r\n            this.error_message = 0;\r\n            this.formData.append('type', this.type);\r\n            this.formData.append('unique_code', this.documentlist.unique_code);\r\n            this.formData.append('document_id', document._id);\r\n            this.formData.append('id', this.user_detail._id);\r\n            this.formData.append('server_token', this.user_detail.server_token);\r\n            if (this.documentlist.expired_date != null) {\r\n                this.formData.append('expired_date', this.documentlist.expired_date.formatted);\r\n            }\r\n\r\n            this.helper.http.post('/admin/upload_document', this.formData).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n                    this.formData = new FormData();\r\n                    this.edit_document.fill(\"false\")\r\n                    this.myLoading = false;\r\n                    if (res_data.success) {\r\n                        this.document_list[document_index].image_url = res_data.image_url;\r\n\r\n                        this.get_document_image(res_data.image_url, document_index)\r\n\r\n                        this.document_list[document_index].unique_code = res_data.unique_code;\r\n\r\n                        this.document_list[document_index].expired_date = res_data.expired_date;\r\n                        localStorage.setItem('store_document_ulpoaded', res_data.is_document_uploaded);\r\n\r\n                        this.helper.data.storage = {\r\n                            \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                            \"class\": \"alert-info\"\r\n                        }\r\n                        this.helper.message();\r\n\r\n                    }\r\n                    else {\r\n                        this.document_list[document_index].image_url = this.old_image_url;\r\n                        this.get_document_image(this.old_image_url, document_index)\r\n\r\n                        this.helper.data.storage = {\r\n                            \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                            \"class\": \"alert-danger\"\r\n                        }\r\n                        this.helper.message();\r\n                    }\r\n                },\r\n                (error: any) => {\r\n                    this.myLoading = false;\r\n                    this.helper.http_status(error)\r\n                });\r\n\r\n        }\r\n\r\n    }\r\n\r\n    editUser(id) {\r\n        this.helper.router_id.admin.user_id = id;\r\n        this.helper.router.navigate(['admin/user/edit']);\r\n\r\n    }\r\n    viewHistory(id, type) {\r\n        this.helper.router_id.admin.history_user_id = id;\r\n        this.helper.router_id.admin.page_type = type;\r\n        this.helper.router.navigate(['admin/user/view_history']);\r\n\r\n    }\r\n    viewUser(id) {\r\n        this.helper.router_id.admin.detail_user_id = id;\r\n        this.helper.router.navigate(['admin/user/view_detail']);\r\n\r\n    }\r\n    viewDocument(id, type) {\r\n        this.helper.router_id.admin.user_id = id;\r\n        this.helper.router_id.admin.document_type = type;\r\n        this.helper.router.navigate(['admin/user/view_document']);\r\n    }\r\n    \r\n    user_export_csv(user_page_type) {\r\n       this.helper.http.post('/admin/user_list_search_sort', {\r\n            user_page_type: this.helper.router_id.user_filter.user_page_type, number_of_rec: this.helper.router_id.user_filter.number_of_rec,\r\n            search_field: this.helper.router_id.user_filter.search_field, search_value: this.helper.router_id.user_filter.search_value\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            var json2csv = require('json2csv');\r\n            res_data.users.forEach((user, index) => {\r\n               if(!user.created_host){\r\n                   user.created_host = user.device_type + \" - \" +  user.app_version;\r\n               }\r\n                \r\n            });\r\n\r\n            var fieldNames = ['Unique ID', 'First Name', 'Last Name', 'City', 'Device Type', 'Referral Code',\r\n                'Email', 'Country Phone Code',\r\n                'Phone', 'App Version', 'Wallet', 'Wallet Currency Code', 'Address',\r\n                'Approved', \r\n                'Email Verify', 'Phone Number Verify', 'Document Uploaded',\r\n                'Registration Date', 'Registration Device', 'Number of Order', 'Average delivery time', 'rate for hopper'\r\n            ];\r\n            var fields = ['unique_id', 'first_name', 'last_name', 'city' ,'device_type', 'referral_code',\r\n                'email', 'country_phone_code',\r\n                'phone', 'app_version', 'wallet', 'wallet_currency_code', 'address',\r\n                'is_approved', \r\n                'is_email_verified', 'is_phone_number_verified', 'is_document_uploaded',\r\n                'created_at', 'created_host', 'total_order', 'total_order_time', 'provider_rate'\r\n            ];\r\n\r\n            var csv = json2csv({data: res_data.users, fields: fields, fieldNames: fieldNames});\r\n\r\n            var final_csv: any = csv;\r\n            this.helper.downloadFile(final_csv);\r\n        });\r\n    }\r\n    \r\n    user_export_excel(user_page_type) {\r\n       this.helper.http.post('/admin/user_list_search_sort', {\r\n           number_of_rec: this.helper.router_id.user_filter.number_of_rec, user_page_type: this.helper.router_id.user_filter.user_page_type,\r\n            search_field: this.helper.router_id.user_filter.search_field, search_value: this.helper.router_id.user_filter.search_value\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            var json_data = [];\r\n            var json2excel = require('js2excel');\r\n            res_data.users.forEach((user, index) => {\r\n               \r\n                json_data.push({\r\n                    \"Unique ID\": user.unique_id, \r\n                    \"First Name\": user.first_name ,\r\n                    \"Last Name\":user.last_name,\r\n                    \"City\": user.city,\r\n                    \"Device Type\": user.device_type, \r\n                    \"Referral Code\": user.referral_code,\r\n                    \"Email\":user.email,\r\n                    \"Country Phone Code\": user.country_phone_code,\r\n                    \"Phone\": user.phone,\r\n                    \"App Version\": user.app_version, \r\n                    \"Wallet\": user.wallet ,\r\n                    \"Wallet Currency Code\":user.wallet_currency_code,\r\n                    \"Address\": user.address,\r\n                    \"Approved\": user.is_approved,\r\n                    \"Email Verify\": user.is_email_verified,\r\n                    \"Phone Number Verify\": user.is_phone_number_verified,\r\n                    \"Document Uploaded\": user.is_document_uploaded,\r\n                    \"Location\": user.location\r\n                });\r\n            });\r\n\r\n\r\n            json2excel.json2excel({\r\n                data: json_data,\r\n                name: 'user_excel',\r\n                formateDate: 'yyyy/mm/dd'\r\n            });\r\n\r\n            \r\n        });\r\n    }\r\n\r\n\r\n    review_export_csv() {\r\n        this.helper.http.post('/admin/get_user_review_history', {user_id: this.user_detail._id}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n             \r\n            var json2csv = require('json2csv');\r\n\r\n            var fieldNames = [\r\n                this.title.id,\r\n                this.title.store,\r\n                this.title.provider,\r\n                'User to Store',\r\n                'User to Provider',\r\n                'Store to User',\r\n                'Provider to User',\r\n                this.title.date\r\n            ];\r\n            var fields = [\r\n                'order_unique_id',\r\n                'store_detail.name',\r\n                'provider_name',\r\n                'user_to_store',\r\n                'user_to_provider',\r\n                'store_to_user',\r\n                'provider_to_user',\r\n                'created_at'\r\n            ];\r\n\r\n            res_data.review_list.forEach(function(review_detail){\r\n                review_detail.provider_name = review_detail.provider_detail.first_name + ' ' + review_detail.provider_detail.last_name;\r\n\r\n                if(review_detail.user_rating_to_store){\r\n                    review_detail.user_to_store = review_detail.user_review_to_store + '(' + review_detail.user_rating_to_store + ')'\r\n                } else {\r\n                    review_detail.user_to_store = '';\r\n                }\r\n\r\n                if(review_detail.user_rating_to_provider){\r\n                    review_detail.user_to_provider = review_detail.user_review_to_provider + '(' + review_detail.user_rating_to_provider + ')'\r\n                } else {\r\n                    review_detail.user_to_provider = '';\r\n                }\r\n\r\n                if(review_detail.store_rating_to_user){\r\n                    review_detail.store_to_user = review_detail.store_review_to_user + '(' + review_detail.store_rating_to_user + ')'\r\n                } else {\r\n                    review_detail.store_to_user = '';\r\n                }\r\n\r\n                if(review_detail.provider_rating_to_user){\r\n                    review_detail.provider_to_user = review_detail.provider_review_to_user + '(' + review_detail.provider_rating_to_user + ')'\r\n                } else {\r\n                    review_detail.provider_to_user = '';\r\n                }\r\n\r\n            });\r\n\r\n            var review_list = res_data.review_list.filter((x)=>{\r\n                return x.user_to_store || x.user_to_provider || x.store_to_user || x.provider_to_user;\r\n            })\r\n           \r\n            var csv = json2csv({data: review_list, fields: fields, fieldNames: fieldNames});\r\n\r\n            var final_csv: any = csv;\r\n            this.helper.downloadFile(final_csv);\r\n        });\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/user/user.component.ts","import {Component, OnInit, ViewChild, ViewContainerRef} from \"@angular/core\";\r\nimport {Response} from '@angular/http';\r\nimport {Helper} from \"../../helper\";\r\nimport * as moment from 'moment-timezone';\r\ndeclare var jQuery: any;\r\nimport { ModalComponent } from 'ng2-bs3-modal/ng2-bs3-modal';\r\n\r\n@Component({\r\n    selector: 'app-history',\r\n    template: require('./history.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class UserHistoryComponent implements OnInit {\r\n\r\n    @ViewChild('myModal')\r\n    modal: ModalComponent;\r\n    @ViewChild('order_detail_modal')\r\n    order_detail_modal: ModalComponent;\r\n    @ViewChild('review_detail_modal')\r\n    review_detail_modal: ModalComponent;\r\n\r\n    @ViewChild('mysmsModal')\r\n    sms_modal: ModalComponent;\r\n    @ViewChild('mynotificationModal')\r\n    notification_modal: ModalComponent;\r\n\r\n    type: number = 7;\r\n    title:any;\r\n    button:any;\r\n    ORDER_STATE:any;\r\n    heading_title:any;\r\n    status:any;\r\n    order_list:any[];\r\n    pickup_type: any = 'both'\r\n    order_type: any = 'both';\r\n    payment_status: any = 'all';\r\n    created_by: any = 'both';\r\n    order_status_id:string;\r\n    search_field:string;\r\n    search_value:string;\r\n    start_date:string;\r\n    end_date:string;\r\n    page:number;\r\n    total_page:number;\r\n    total_pages:number[];\r\n    moment: any;\r\n    timezone: string = '';\r\n    order_id:Object = '';\r\n    rating:number = 1;\r\n    review:string = '';\r\n    selected_order_index:number = 0;\r\n    order_detail: any = {};\r\n\r\n    total_item:number = 0;\r\n    order_total:number = 0;\r\n    product_item_total:number = 0;\r\n    product_item_total_array:number[] = [];\r\n    product_item_specification_total:number = 0;\r\n    product_item_specification_total_array:number[] = [];\r\n    product_specification_total_array:any[] = [];\r\n    hide_specification_group: any[] = [];\r\n    specifications: any[] = [];\r\n    item_note: string = '';\r\n    is_show_specification: boolean = false;\r\n    currency_sign: any = '';\r\n    myLoading:boolean = true;\r\n    review_detail: any = {};\r\n    user_detail: any = {};\r\n    user_id: string = null;\r\n    store_detail: any;\r\n    store_id: string = null;\r\n    provider_detail: any;\r\n    provider_id: string = null;\r\n\r\n\r\n    earning_page: number;\r\n    earning_total_page: number;\r\n    earning_total_pages: number[] = [];\r\n    earning_order_total: any = {\r\n        total_completed_orders: 0,\r\n        total: 0\r\n    };\r\n    admin_currency: String;\r\n    earning_order_list: any[] = [];\r\n    wallet: number;\r\n    content: string;\r\n    amount: number;\r\n    review_list: any[] = [];\r\n\r\n    constructor(private helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n    ngAfterViewInit() {\r\n        jQuery(\".chosen-select\").chosen({disable_search: true});\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n    }\r\n    ngOnDestroy(){\r\n        this.helper.router_id.admin.user_detail = null;\r\n        this.helper.router_id.admin.store_detail = null;\r\n        this.helper.router_id.admin.provider_detail = null;\r\n    }\r\n    ngOnInit() {\r\n        this.user_detail = this.helper.router_id.admin.user_detail;\r\n        if(this.user_detail){\r\n            this.user_id = this.user_detail._id;\r\n        } else {\r\n            this.user_detail = {};\r\n        }\r\n\r\n\r\n        this.provider_detail = this.helper.router_id.admin.provider_detail;\r\n        if(this.provider_detail){\r\n            this.provider_id = this.provider_detail._id;\r\n        }\r\n        this.store_detail = this.helper.router_id.admin.store_detail;\r\n        if(this.store_detail){\r\n            this.store_id = this.store_detail._id;\r\n        }\r\n\r\n        if(!this.store_id && !this.user_id && !this.provider_id){\r\n            this.helper.router.navigate(['admin/users'])\r\n        }\r\n\r\n        this.order_status_id=\"\";\r\n        this.search_field=\"user_first_name\";\r\n        this.search_value=\"\";\r\n        this.start_date='01-01-1970';\r\n        this.end_date='';\r\n        this.page=1;\r\n        this.earning_page=1;\r\n        this.moment = moment;\r\n\r\n        this.helper.message()\r\n\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.heading_title=this.helper.heading_title\r\n        this.ORDER_STATE=this.helper.ORDER_STATE\r\n        this.status=this.helper.status\r\n        this.order_list=[];\r\n\r\n        this.store_history(1);\r\n        this.order_earning(1);\r\n        this.get_review_history();\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#order_status_id').on('change', (evnt,res_data) => {\r\n            this.order_status_id=res_data.selected;\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#search_field').on('change', (evnt,res_data) => {\r\n            this.search_field=res_data.selected;\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#pickup_type').on('change', (evnt, res_data) => {\r\n\r\n            this.pickup_type = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#created_by').on('change', (evnt, res_data) => {\r\n\r\n            this.created_by = res_data.selected;\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#order_type').on('change', (evnt, res_data) => {\r\n\r\n            this.order_type = res_data.selected;\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#payment_status').on('change', (evnt, res_data) => {\r\n\r\n            this.payment_status = res_data.selected;\r\n\r\n        });\r\n    }\r\n\r\n    order_earning(page) {\r\n        this.earning_page = page;\r\n        this.helper.http.post('/admin/get_order_earning', {\r\n            start_date: this.start_date, end_date: this.end_date,\r\n            sort_field: 'unique_id', sort_order: -1,\r\n            search_field: this.search_field, user_id: this.user_id, search_value: this.search_value, page: this.earning_page\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n\r\n                this.earning_order_list = [];\r\n                this.earning_total_pages = [];\r\n\r\n            }\r\n            else {\r\n                console.log(res_data)\r\n                this.earning_order_list = res_data.orders;\r\n                this.earning_order_total = res_data.order_total;\r\n                this.admin_currency = res_data.admin_currency;\r\n                this.earning_total_page = res_data.pages;\r\n\r\n                this.earning_total_pages = Array(res_data.pages).fill((x, i) => i).map((x, i) => i + 1)\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    viewOrderEarningDetail(id) {\r\n        this.helper.router_id.admin.view_order_earning_id = id;\r\n        this.helper.router.navigate(['admin/order_earning_detail']);\r\n\r\n    }\r\n\r\n    activeRoute(routename: string): boolean {\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n    open_detail_modal(index){\r\n        \r\n        this.order_detail_modal.open();\r\n    }\r\n    hide_specifications_group(specification_group_index)\r\n    {\r\n        this.hide_specification_group[specification_group_index]='true';\r\n        jQuery('#spec_list'+specification_group_index).hide();\r\n    }\r\n\r\n    show_specifications_group(specification_group_index)\r\n    {\r\n        this.hide_specification_group[specification_group_index]='false';\r\n        jQuery('#spec_list'+specification_group_index).show();\r\n    }\r\n\r\n    get_specification(product_index, item_index){\r\n        this.is_show_specification= true;\r\n        this.specifications = this.order_detail.cart_detail.order_details[product_index].items[item_index].specifications;\r\n        this.item_note = this.order_detail.cart_detail.order_details[product_index].items[item_index].note_for_item;\r\n    }\r\n\r\n    history_export_csv() {\r\n        this.helper.http.post('/api/admin/history', {\r\n            start_date:this.start_date,end_date:this.end_date, user_id: this.user_id, store_id: this.store_id, provider_id: this.provider_id, payment_status: this.payment_status, created_by: this.created_by, pickup_type: this.pickup_type,\r\n            order_status_id:this.order_status_id, search_field:this.search_field,search_value:this.search_value, order_type: this.order_type\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            var json2csv = require('json2csv');\r\n            res_data.orders.forEach((order, index) => {\r\n                if (order.order_payment_detail.is_paid_from_wallet) {\r\n                    order.payment_status = this.title.wallet;\r\n                } else {\r\n                    if (order.order_payment_detail.is_payment_mode_cash) {\r\n                        order.payment_status = this.helper.lable_title.cash;\r\n                    } else {\r\n                        if (order.payment_gateway_detail.length > 0) {\r\n\r\n                            order.payment_status = order.payment_gateway_detail[0].name;\r\n                        }\r\n                    }\r\n                }\r\n\r\n                order.user_name = order.user_detail.first_name + ' ' + order.user_detail.last_name;\r\n                order.store_name = order.store_detail.name;\r\n                \r\n                order.city_name = order.city_detail.city_name;\r\n                if (order.request_detail != undefined) {\r\n                \r\n               \r\n                if (order.provider_detail.length > 0) {\r\n                    order.provider_name = order.provider_detail[0].first_name + ' ' + order.provider_detail[0].last_name;\r\n                }\r\n                }\r\n\r\n                switch (order.order_status) {\r\n                    case this.ORDER_STATE.STORE_REJECTED:\r\n                        order.status = this.status.rejected;\r\n                        break;\r\n                    case this.ORDER_STATE.STORE_CANCELLED:\r\n                        order.status = this.status.cancelled;\r\n                        break;\r\n                   \r\n                    case this.ORDER_STATE.CANCELED_BY_USER:\r\n                        order.status = this.status.user_cancelled;\r\n                        break;\r\n                    case this.ORDER_STATE.DELIVERY_MAN_COMPLETE_DELIVERY:\r\n                        order.status = this.status.order_delivered;\r\n                        break;\r\n                    case this.ORDER_STATE.ORDER_COMPLETED:\r\n                        order.status = this.status.completed;\r\n                        break;\r\n                    default:\r\n                        order.satus = '';\r\n                }\r\n\r\n               order.amount = ((+order.order_payment_detail.total_delivery_price + +order.order_payment_detail.total_order_price).toFixed(2));\r\n            });\r\n\r\n            var fieldNames = [this.title.id,\r\n            this.title.user,\r\n            this.title.store,\r\n            this.title.city,\r\n            this.title.provider,\r\n            this.title.status,\r\n            this.title.amount,\r\n            this.title.payment_by,\r\n            this.title.date,\r\n            this.title.delivery_at\r\n            ];\r\n            var fields = ['unique_id',\r\n                'user_name',\r\n                'store_name',\r\n                'city_name',\r\n                'provider_name',\r\n                'status',\r\n                'amount',\r\n                'payment_status',\r\n                'updated_at',\r\n                'completed_at'\r\n            ];\r\n\r\n           \r\n            var csv = json2csv({data: res_data.orders, fields: fields, fieldNames: fieldNames});\r\n\r\n            var final_csv: any = csv;\r\n            this.helper.downloadFile(final_csv);\r\n        });\r\n    }\r\n    \r\n    \r\n    history_export_excel() {\r\n       this.helper.http.post('/api/admin/history', {user_id: this.user_id, store_id: this.store_id, provider_id: this.provider_id, \r\n            start_date: this.start_date, end_date: this.end_date,\r\n            search_field: this.search_field, search_value: this.search_value\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            var json_data = [];\r\n            var json2excel = require('js2excel');\r\n            res_data.orders.forEach((order, index) => {\r\n                if (order.order_payment_detail.is_paid_from_wallet) {\r\n                    order.payment_status = this.title.wallet;\r\n                } else {\r\n                    if (order.order_payment_detail.is_payment_mode_cash) {\r\n                        order.payment_status = this.helper.lable_title.cash;\r\n                    } else {\r\n                        if (order.payment_gateway_detail.length > 0) {\r\n\r\n                            order.payment_status = order.payment_gateway_detail[0].name;\r\n                        }\r\n                    }\r\n                }\r\n\r\n                order.user_name = order.user_detail.first_name + ' ' + order.user_detail.last_name;\r\n                order.store_name = order.store_detail.name;\r\n                \r\n                order.city_name = order.city_detail.city_name;\r\n                if (order.request_detail != undefined) {\r\n                \r\n               \r\n                if (order.provider_detail.length > 0) {\r\n                    order.provider_name = order.provider_detail[0].first_name + ' ' + order.provider_detail[0].last_name;\r\n                }\r\n                }\r\n\r\n                switch (order.order_status) {\r\n                    case this.ORDER_STATE.STORE_REJECTED:\r\n                        order.status = this.status.rejected;\r\n                        break;\r\n                    case this.ORDER_STATE.STORE_CANCELLED:\r\n                        order.status = this.status.cancelled;\r\n                        break;\r\n                   \r\n                    case this.ORDER_STATE.CANCELED_BY_USER:\r\n                        order.status = this.status.user_cancelled;\r\n                        break;\r\n                    case this.ORDER_STATE.DELIVERY_MAN_COMPLETE_DELIVERY:\r\n                        order.status = this.status.order_delivered;\r\n                        break;\r\n                    case this.ORDER_STATE.ORDER_COMPLETED:\r\n                        order.status = this.status.completed;\r\n                        break;\r\n                    default:\r\n                        order.satus = '';\r\n                }\r\n\r\n               order.amount = ((+order.order_payment_detail.total_delivery_price + +order.order_payment_detail.total_order_price).toFixed(2));\r\n           \r\n               json_data.push({\r\n                    \"ID\": order.unique_id,\r\n                    \"User\":order.user_name,\r\n                    \"Store\":order.store_name,\r\n                    \"Provider\":order.provider_name,\r\n                    \"City\":order.city_name,\r\n                    \"Status\":order.status,\r\n                    \"Amount\":order.amount,\r\n                    \"Payment By\":order.payment_status,\r\n                    \"Date\":order.created_at\r\n                    \r\n                 });\r\n            \r\n              });\r\n           \r\n            json2excel.json2excel({\r\n                data: json_data,\r\n                name: 'history_excel',\r\n                formateDate: 'yyyy/mm/dd'\r\n            });\r\n            \r\n        });\r\n    }\r\n\r\n    store_history(page)\r\n    {\r\n        this.myLoading=true;\r\n        this.selected_order_index = 0;\r\n        this.page=page;\r\n        this.helper.http.post('/api/admin/history',{start_date:this.start_date,end_date:this.end_date, store_id: this.store_id, provider_id: this.provider_id, user_id: this.user_id, created_by: this.created_by,payment_status: this.payment_status, pickup_type: this.pickup_type,\r\n            order_status_id:this.order_status_id, search_field:this.search_field,search_value:this.search_value,page:this.page, order_type: this.order_type }).map((res:Response) => res.json()).subscribe(res_data=>{\r\n\r\n                this.myLoading=false;\r\n                if(res_data.success == false)\r\n                {\r\n                    this.order_list=[];\r\n                    this.total_pages=[];\r\n                }\r\n                else\r\n                {\r\n                    this.currency_sign = res_data.currency_sign;\r\n                    this.order_list=res_data.orders;\r\n                    this.total_page=res_data.pages;\r\n                    this.total_pages=Array(res_data.pages).fill((x,i)=>i).map((x,i)=>i+1)\r\n                    if(this.order_list.length>0){\r\n                        this.get_order_detail(this.order_list[0]._id);\r\n                    }\r\n                }\r\n            },\r\n            (error: any) => {\r\n                this.myLoading=false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    show_review(order_id){\r\n        this.helper.http.post('/admin/get_review_detail', {order_id: order_id}).map((res:Response) => res.json()).subscribe(res_data=> {\r\n            if(res_data.success){\r\n                this.review_detail = res_data.review_detail;\r\n                this.review_detail_modal.open();\r\n            } else {\r\n                this.review_detail = {};\r\n            }\r\n        });\r\n    }\r\n\r\n    get_order_detail(order_id){\r\n        this.helper.http.post('/admin/get_order_detail', {\r\n            order_id: order_id    \r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            if(res_data.success){\r\n                this.order_detail = res_data.order_detail;\r\n                this.is_show_specification = false;\r\n                this.order_total = 0;\r\n                this.product_item_total = 0;\r\n                this.total_item = 0;\r\n                this.product_item_specification_total = 0;\r\n                this.product_item_specification_total_array = [];\r\n                this.product_item_total_array = [];\r\n                this.product_specification_total_array = [];\r\n                this.order_detail.cart_detail.order_details.forEach((product, product_index)=>{\r\n                    this.hide_specification_group[product_index]=\"false\"\r\n                    product.items.forEach((item) =>{\r\n                        this.order_total=this.order_total + (item.item_price + item.total_specification_price)*item.quantity\r\n                        this.product_item_total=this.product_item_total + (item.item_price + item.total_specification_price)*item.quantity\r\n                        this.total_item++;\r\n                        item.specifications.forEach((specification)=>{\r\n                            this.product_item_specification_total= this.product_item_specification_total + specification.specification_price;\r\n                        })\r\n                        this.product_item_specification_total_array.push(this.product_item_specification_total)\r\n                        this.product_item_specification_total=0;\r\n                    })\r\n                    this.product_specification_total_array.push(this.product_item_specification_total_array)\r\n                    this.product_item_specification_total_array=[];\r\n                    this.product_item_total_array.push(this.product_item_total)\r\n                    this.product_item_total=0;\r\n                })\r\n            }\r\n        });\r\n    }\r\n\r\n    give_rate_modal(orderid , index, type)\r\n    {\r\n        this.rating = 1;\r\n        this.review = '';\r\n        this.type = type;\r\n        this.order_id = orderid;\r\n        this.modal.open()\r\n        this.selected_order_index = index;\r\n    }\r\n\r\n    open_modal(type, id) {\r\n\r\n        this.user_id = id;\r\n        this.type = type;\r\n        this.modal.open();\r\n        this.wallet = null;\r\n    }\r\n\r\n    AddWallet(add_wallet_data) {\r\n        if(localStorage.getItem('admin_id')){\r\n            add_wallet_data.admin_id = localStorage.getItem('admin_id');\r\n            this.helper.http.post('/admin/add_wallet', add_wallet_data).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n                if (res_data.success == true) {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n                    this.modal.close();\r\n                    this.helper.message();\r\n                    this.user_detail.wallet = this.user_detail.wallet + +Number(add_wallet_data.wallet).toFixed(2);\r\n\r\n\r\n                }\r\n                else {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message();\r\n                }\r\n            });\r\n        }\r\n    }\r\n\r\n\r\n\r\n\r\n    open_sms_modal(type, id) {\r\n\r\n        this.user_id = id;\r\n        this.type = type;\r\n        this.sms_modal.open();\r\n        this.content = \"\";\r\n    }\r\n    SendSms(sms_data) {\r\n        this.helper.http.post('/admin/send_sms', sms_data).map((res: Response) => res.json()).subscribe(res_data => {\r\n            if (res_data.success == true) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.sms_modal.close();\r\n                this.helper.message();\r\n            }\r\n            else {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message();\r\n            }\r\n\r\n        });\r\n    }\r\n\r\n    open_notification_modal(type, id) {\r\n\r\n        this.user_id = id;\r\n        this.type = type;\r\n        this.notification_modal.open();\r\n        this.content = \"\";\r\n    }\r\n    SendNotification(notification_data) {\r\n        this.helper.http.post('/admin/send_notification', notification_data).map((res: Response) => res.json()).subscribe(res_data => {\r\n            if (res_data.success == true) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.notification_modal.close();\r\n                this.helper.message();\r\n            }\r\n            else {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message();\r\n            }\r\n\r\n        });\r\n    }\r\n\r\n    approved_decline(user_page_type, user_id) {\r\n        this.helper.http.post('/admin/approve_decline_user', {\r\n            user_id: user_id,\r\n            user_page_type: user_page_type\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            if (res_data.success == false) {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n            }\r\n            else {\r\n                this.user_detail.is_approved = !this.user_detail.is_approved;\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n            }\r\n            this.helper.message();\r\n        });\r\n    }\r\n\r\n    history(){\r\n        this.store_history(1);\r\n        this.order_earning(1);\r\n    }\r\n\r\n    get_review_history(){\r\n        this.myLoading = true;\r\n        this.helper.http.post('/admin/get_user_review_history', {user_id: this.user_detail._id}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n                this.review_list = [];\r\n            }\r\n            else {\r\n                this.review_list = res_data.review_list;\r\n                console.log(this.review_list)\r\n            }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading = false;\r\n            this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n    Array(number){\r\n        var array = []\r\n        for(var i= 0; i< number; i++){\r\n            array.push(' ')\r\n        }\r\n        return array;\r\n    }\r\n\r\n    \r\n}\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/user_history/history.component.ts","import {Component, OnInit, ViewContainerRef} from '@angular/core';\r\nimport {Router, ActivatedRoute, Params} from '@angular/router';\r\nimport {Helper} from \"../../helper\";\r\nimport {Response} from '@angular/http';\r\ndeclare var jQuery: any;\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\n\r\nexport interface UserNewPassword {\r\n    type: string,\r\n    id: Object,\r\n    server_token: string,\r\n    password: String,\r\n    confirm_password: String\r\n}\r\n\r\n@Component({\r\n    selector: 'app-user_new_password',\r\n    template: require('./user_new_password.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class UserNewPasswordComponent implements OnInit {\r\n\r\n    private user_new_password: UserNewPassword;\r\n    title: any;\r\n    button: any;\r\n    public message: string;\r\n    public class: string;\r\n    validation_message: any;\r\n    myLoading: boolean = true;\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.helper.message();\r\n\r\n        this.user_new_password = {\r\n            type: \"\",\r\n            id: null,\r\n            server_token: \"\",\r\n            password: \"\",\r\n            confirm_password: \"\"\r\n        }\r\n       this.helper.route.params.subscribe((x: Params) => {\r\n\r\n            var current_date = new Date(Date.now())\r\n            var email_token = x['email_token']\r\n            var json = this.helper.getIDFromEmailToken(email_token);\r\n\r\n            var difference = current_date.getTime() - json.milli_seconds;\r\n            difference = difference/(3600 * 60 * 24)\r\n\r\n            if(difference > 5) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.error_code.TOKEN_INVALID,\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.helper.router.navigate(['admin/login']);\r\n            } else {\r\n                this.user_new_password={\r\n                    type:'user',\r\n                    id:json.id,\r\n                    server_token:json.server_token,\r\n                    password: \"\",\r\n                    confirm_password: \"\"\r\n                }\r\n\r\n                 this.helper.http.post('/api/admin/check_detail', this.user_new_password).map((res: Response) => res.json()).subscribe(res_data => {\r\n                    this.myLoading=false;\r\n                    if(!res_data.success)\r\n                    {\r\n                        this.helper.data.storage = {\r\n                            \"code\": res_data.error_code,\r\n                            \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                            \"class\": \"alert-danger\"\r\n                        }\r\n                        this.helper.router.navigate(['admin/login']);\r\n                    }\r\n\r\n                },\r\n                (error: any) => {\r\n                    this.myLoading=false;\r\n                    this.helper.http_status(error)\r\n                });\r\n            }\r\n        });\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.validation_message=this.helper.validation_message\r\n    }\r\n\r\n    userNewPassword(newpassworddata) {\r\n        this.myLoading = true;\r\n        this.helper.http.post('/api/admin/new_password', this.user_new_password).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message()\r\n            }\r\n            else {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.helper.router.navigate(['admin/login']);\r\n                \r\n            }\r\n\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/user_new_password/user_new_password.component.ts","import {Component, OnInit, ViewContainerRef} from '@angular/core';\r\nimport {Helper} from \"../../helper\";\r\nimport {Http, Response} from '@angular/http';\r\n\r\n\r\n@Component({\r\n    selector: 'app-vehicle',\r\n    template: require('./vehicle.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class VehicleComponent implements OnInit {\r\n\r\n    \r\n    vehicle_list: any[];\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    public message: string;\r\n    public class: string;\r\n    myLoading: boolean = true;\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n    activeRoute(routename: string): boolean {\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.helper.message()\r\n        this.helper.http.get('/admin/vehicle_list').map((res: Response) => res.json()).subscribe(data => {\r\n\r\n            this.myLoading = false;\r\n            if (data.success == false) {\r\n\r\n                this.vehicle_list = [];\r\n            }\r\n            else {\r\n                this.vehicle_list = data.vehicles;\r\n            }\r\n\r\n        })\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n    }\r\n    is_business_change(id, event) {\r\n        this.helper.http.post('/admin/vehicle_toggle_change', {vehicle_id: id, is_business: event}).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            if (res_data.success == false) {\r\n\r\n            }\r\n        });\r\n\r\n    }\r\n    editVehicle(id) {\r\n        this.helper.router_id.admin.vehicle_id = id;\r\n        this.helper.router.navigate(['admin/vehicle/edit']);\r\n\r\n    }\r\n\r\n    close() {\r\n        this.message = \"\";\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/vehicle/vehicle.component.ts","import {Component, OnInit, ViewContainerRef} from '@angular/core';\r\nimport {Response} from '@angular/http';\r\nimport {Helper} from \"../../helper\";\r\ndeclare var jQuery: any;\r\n\r\n@Component({\r\n  selector: 'app-vehicle_document',\r\n  template: require('./vehicle_document.component.html'),\r\n  providers: [Helper]\r\n})\r\nexport class VehicleDocumentComponent implements OnInit {\r\n\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    lable_title: any;\r\n    vehicle_list: any[];\r\n    provider_id: Object;\r\n    myLoading: boolean = true;\r\n\r\n    constructor(private helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n    ngAfterViewInit() {\r\n        jQuery(\".chosen-select\").chosen({disable_search: true});\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n    }\r\n\r\n\r\n  ngOnInit() {\r\n        this.provider_id = this.helper.router_id.admin.provider_vehicle_id;\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.lable_title = this.helper.lable_title;\r\n        this.vehicle_list = [];\r\n        //this.provider_vehicle();\r\n    }\r\n    \r\n//    provider_vehicle() {\r\n//        this.myLoading = true;\r\n//        this.helper.http.post('/admin/provider_vehicle_list', {\r\n//            provider_id: this.provider_id\r\n//        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n//            this.myLoading = false;\r\n//            if (res_data.success == false) {\r\n//                this.vehicle_list = [];\r\n//            }\r\n//            else {\r\n//                this.vehicle_list = res_data.provider.provider_vehicle_detail;\r\n//            }\r\n//        },\r\n//            (error: any) => {\r\n//                this.myLoading = false;\r\n//                this.helper.http_status(error)\r\n//            });\r\n//    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/vehicle_document/vehicle_document.component.ts","import {Component, OnInit} from '@angular/core';\r\nimport {Http, Response} from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport {Helper} from \"../../helper\";\r\n\r\n@Component({\r\n    selector: 'app-view_bank_detail',\r\n    template: require('./view_bank_detail.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class ViewBankDetailComponent implements OnInit {\r\n\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    provider_id: Object;\r\n    bank_detail: any[];\r\n    \r\n    \r\n    bank_name: String;\r\n    bank_branch: String;\r\n    bank_account_number: String;\r\n    bank_account_holder_name: String;\r\n    bank_beneficiary_address: String;\r\n    bank_unique_code: String;\r\n    bank_swift_code: String;\r\n   \r\n    created_at: any;\r\n    updated_at: any;\r\n    myLoading: boolean = true;\r\n\r\n\r\n    constructor(public helper: Helper) {\r\n    }\r\n\r\n    ngOnInit() {\r\n\r\n        this.provider_id = this.helper.router_id.admin.view_provider_bank_detail_id;\r\n\r\n        this.helper.http.post('/admin/get_bank_detail', {provider_id: this.provider_id}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n\r\n            if (res_data.success == false) {\r\n                this.helper.router.navigate(['admin/provider/view_bank_detail']);\r\n            }\r\n            else {\r\n\r\n                this.bank_name = res_data.bank_detail.bank_name\r\n                this.created_at = res_data.bank_detail.created_at\r\n                this.updated_at = res_data.bank_detail.updated_at\r\n                this.bank_branch = res_data.bank_detail.bank_branch\r\n                this.bank_account_number = res_data.bank_detail.bank_account_number\r\n                this.bank_account_holder_name = res_data.bank_detail.bank_account_holder_name\r\n                this.bank_beneficiary_address = res_data.bank_detail.bank_beneficiary_address\r\n                this.bank_unique_code = res_data.bank_detail.bank_unique_code\r\n                this.bank_swift_code = res_data.bank_detail.bank_swift_code\r\n\r\n\r\n            }\r\n\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/view_bank_detail/view_bank_detail.component.ts","import {Component, OnInit, ViewContainerRef} from '@angular/core';\r\nimport {Response} from '@angular/http';\r\nimport {Helper} from \"../../helper\";\r\ndeclare var jQuery: any;\r\n\r\nexport interface Document {\r\n    unique_code: String,\r\n    expired_date: any,\r\n    image_url: ''\r\n}\r\n\r\n\r\n@Component({\r\n    selector: 'app-view_document',\r\n    template: require('./view_document.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class ViewDocumentComponent implements OnInit {\r\n\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    validation_message: any;\r\n    id: Object;\r\n    server_token: string;\r\n    type: Number;\r\n    edit_document: any[] = [];\r\n    document_list: any[] = [];\r\n    old_image_url: string = '';\r\n    error_message: number = 0;\r\n\r\n    myLoading: boolean = true;\r\n\r\n    private documentlist: Document;\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n\r\n    ngOnInit() {\r\n        this.server_token = localStorage.getItem('admin_token');\r\n        this.type = this.helper.router_id.admin.document_type;\r\n\r\n        if (this.type == 7) {\r\n            this.id = this.helper.router_id.admin.user_id;\r\n\r\n        }\r\n        else if (this.type == 2) {\r\n            this.id = this.helper.router_id.admin.store_id;\r\n\r\n        }\r\n        else if (this.type == 8) {\r\n            this.id = this.helper.router_id.admin.provider_id;\r\n\r\n        }\r\n        this.helper.message()\r\n        this.title = this.helper.title\r\n        this.button = this.helper.button\r\n        this.heading_title = this.helper.heading_title\r\n        this.validation_message = this.helper.validation_message;\r\n\r\n        this.documentlist = {\r\n            unique_code: '',\r\n            expired_date: null,\r\n            image_url: ''\r\n        }\r\n\r\n\r\n\r\n        this.helper.http.post('/admin/view_document_list', {id: this.id, type: this.type}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n\r\n                if (this.type == 7) {\r\n                    this.helper.router.navigate(['admin/user/view_document']);\r\n                }\r\n                else if (this.type == 2) {\r\n                    this.helper.router.navigate(['admin/store/view_document']);\r\n                }\r\n                else if (this.type == 8) {\r\n                    this.helper.router.navigate(['admin/provider/view_document']);\r\n                }\r\n\r\n                this.document_list = [];\r\n\r\n            }\r\n            else {\r\n                this.document_list = res_data.documents;\r\n                this.document_list.forEach((document, index) => {\r\n                    this.edit_document[index] = \"false\";\r\n\r\n                    this.get_document_image(document.image_url, index)\r\n                })\r\n\r\n\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n    \r\n    public formData = new FormData();\r\n\r\n    image_update($event, document_index) {\r\n\r\n        this.formData = new FormData();\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const image_url = files[0];\r\n        this.formData.append('image_url', image_url);\r\n\r\n        var reader = new FileReader();\r\n\r\n        reader.onload = (e: any) => {\r\n            this.document_list[document_index].image_url = e.target.result;\r\n            this.documentlist.image_url = e.target.result;\r\n            jQuery('.document' + document_index).attr('src', e.target.result)\r\n        }\r\n        reader.readAsDataURL(image_url);\r\n\r\n    }\r\n    editDocument(document, document_index) {\r\n        this.get_document_image(document.image_url, document_index);\r\n        this.old_image_url = document.image_url;\r\n        this.edit_document.fill(\"\")\r\n        this.edit_document[document_index] = \"true\"\r\n        this.documentlist.unique_code = document.unique_code;\r\n        this.documentlist.image_url = document.image_url;\r\n        if (document.expired_date != null) {\r\n            var date = new Date(document.expired_date);\r\n            this.documentlist.expired_date = {date: {year: date.getFullYear(), month: date.getMonth() + 1, day: date.getDate()}, formatted: date.getMonth() + 1 + '-' + date.getDate() + '-' + date.getFullYear()};\r\n\r\n        }\r\n    }\r\n\r\n    get_document_image(url, document_index) {\r\n        if (url == '') {\r\n            jQuery('.document' + document_index).attr('src', 'default.png')\r\n        } else {\r\n            var oReq = new XMLHttpRequest();\r\n            oReq.open(\"GET\", url, true);\r\n            oReq.setRequestHeader(\"type\", 'admin');\r\n            oReq.setRequestHeader(\"token\", this.server_token);\r\n            oReq.responseType = \"blob\";\r\n            oReq.onload = function (oEvent) {\r\n                var arrayBuffer = oReq.response; // Note: not oReq.responseText\r\n                if (arrayBuffer) {\r\n                    jQuery('.document' + document_index).attr('src', URL.createObjectURL(arrayBuffer));\r\n                } else {\r\n                    jQuery('.document' + document_index).attr('src', 'default.png');\r\n                }\r\n            };\r\n            oReq.send(null);\r\n        }\r\n    }\r\n    \r\n    \r\n    updateDocument(document, document_index) {\r\n        \r\n        if (this.documentlist.image_url == '') {\r\n            this.error_message = 1;\r\n        }\r\n        else if (document.document_details.is_expired_date && this.documentlist.expired_date == null) {\r\n            this.error_message = 2;\r\n        }\r\n        else if (document.document_details.is_unique_code && this.documentlist.unique_code == '') {\r\n            this.error_message = 3;\r\n        }\r\n        else {\r\n            this.myLoading = true;\r\n            this.error_message = 0;\r\n            this.formData.append('type', this.type);\r\n            this.formData.append('unique_code', this.documentlist.unique_code);\r\n            this.formData.append('document_id', document._id);\r\n            this.formData.append('id', this.id);\r\n            this.formData.append('server_token', this.server_token);\r\n            if (this.documentlist.expired_date != null) {\r\n                this.formData.append('expired_date', this.documentlist.expired_date.formatted);\r\n            }\r\n\r\n            this.helper.http.post('/admin/upload_document', this.formData).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n                this.formData = new FormData();\r\n                this.edit_document.fill(\"false\")\r\n                this.myLoading = false;\r\n                if (res_data.success) {\r\n                    this.document_list[document_index].image_url = res_data.image_url;\r\n\r\n                    this.get_document_image(res_data.image_url, document_index)\r\n\r\n                    this.document_list[document_index].unique_code = res_data.unique_code;\r\n\r\n                    this.document_list[document_index].expired_date = res_data.expired_date;\r\n                    localStorage.setItem('store_document_ulpoaded', res_data.is_document_uploaded);\r\n\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n                    this.helper.message();\r\n\r\n                }\r\n                else {\r\n                    this.document_list[document_index].image_url = this.old_image_url;\r\n                    this.get_document_image(this.old_image_url, document_index)\r\n\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message();\r\n                }\r\n            },\r\n                (error: any) => {\r\n                    this.myLoading = false;\r\n                    this.helper.http_status(error)\r\n                });\r\n\r\n        }\r\n\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/view_document/view_document.component.ts","import {Component, OnInit} from '@angular/core';\r\nimport {Http, Response} from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport {Helper} from \"../../helper\";\r\n\r\n@Component({\r\n    selector: 'app-view_earning_detail',\r\n    template: require('./view_earning_detail.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class ViewEarningDetailComponent implements OnInit {\r\n\r\n    order_id: Object;\r\n    order_detail: any[];\r\n    currency_sign: any;\r\n    //total_order_price: number;\r\n    order_total: number;\r\n    product_item_total: number;\r\n    product_item_total_array: number[];\r\n    product_item_specification_total: number;\r\n    product_item_specification_total_array: number[];\r\n    product_specification_total_array: any[];\r\n    total_item: number;\r\n\r\n    total_time: number;\r\n    total_distance: number;\r\n\r\n\r\n    base_price: number;\r\n    total_distance_price: number;\r\n    total_time_price: number;\r\n    total_service_price: number;\r\n    total_admin_tax_price: number;\r\n    total_surge_price: number;\r\n    delivery_price: number;\r\n    promo_payment: number;\r\n    total_delivery_price: number;\r\n\r\n    total_order_price: number;\r\n    order_price: number;\r\n    service_tax: number;\r\n    total_store_tax_price: number;\r\n    total_cart_price: number;\r\n\r\n    total: number;\r\n    wallet_payment: number;\r\n\r\n    cash_payment: number;\r\n    card_payment: number;\r\n\r\n    store_have_service_payment: number;\r\n    store_have_order_payment: number;\r\n    pay_to_store: number;\r\n    total_store_income: number;\r\n    store_income_set_in_wallet: number;\r\n\r\n\r\n\r\n    provider_paid_order_payment: number;\r\n    provider_have_cash_payment: number;\r\n    pay_to_provider: number;\r\n    total_provider_income: number;\r\n\r\n    provider_income_set_in_wallet: number;\r\n\r\n    total_admin_profit_on_store: number;\r\n    total_admin_profit_on_delivery: number;\r\n    admin_profit_value_on_delivery: number;\r\n    admin_profit_value_on_store: number;\r\n\r\n    admin_profit_mode_on_store: number;\r\n    admin_profit_mode_on_delivery: number;\r\n\r\n    current_rate: number;\r\n\r\n    is_distance_unit_mile: Boolean;\r\n    is_promo_for_delivery_service: Boolean;\r\n    is_store_pay_delivery_fees: Boolean;\r\n\r\n\r\n\r\n    user_first_name: String;\r\n    user_last_name: String;\r\n    user_email: String;\r\n    user_phone: String;\r\n    user_address: String;\r\n\r\n\r\n    delivery_user_name: String;\r\n    delivery_user_phone: String;\r\n    delivery_user_address: String;\r\n\r\n\r\n\r\n    provider_first_name: String;\r\n    provider_last_name: String;\r\n    provider_email: String;\r\n    provider_phone: String;\r\n\r\n\r\n    store_name: String;\r\n    store_email: String;\r\n    store_address: String;\r\n    store_phone: String;\r\n\r\n\r\n    invoice_number: String;\r\n\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    status: any;\r\n\r\n    lable_title: any;\r\n    DATE_FORMAT: any;\r\n\r\n    ORDER_STATE: any;\r\n    ORDER_STATUS_ID: any;\r\n    order_status: number;\r\n    order_status_id: number;\r\n    created_at: any;\r\n    store_accepted_at: any;\r\n    start_preparing_order_at: any;\r\n    order_ready_at: any;\r\n    store_order_created_at: any;\r\n    accepted_at: any;\r\n    cancelled_at: any;\r\n    start_for_pickup_at: any;\r\n    arrived_on_store_at: any;\r\n    picked_order_at: any;\r\n    start_for_delivery_at: any;\r\n    delivered_at: any;\r\n    completed_at: any;\r\n    myLoading: boolean = true;\r\n\r\n\r\n    constructor(public helper: Helper) {\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.order_id = this.helper.router_id.admin.view_earning_id;\r\n        this.order_total = 0;\r\n        this.total_item = 0;\r\n        this.total_time = 0;\r\n        this.total_distance = 0;\r\n\r\n        this.base_price = 0;\r\n        this.total_distance_price = 0;\r\n        this.total_time_price = 0;\r\n        this.total_service_price = 0;\r\n        this.total_admin_tax_price = 0;\r\n        this.total_surge_price = 0;\r\n        this.delivery_price = 0;\r\n        this.promo_payment = 0;\r\n        this.total_delivery_price = 0;\r\n        this.total_cart_price = 0;\r\n\r\n        this.total_order_price = 0;\r\n        this.order_price = 0;\r\n        this.service_tax = 0;\r\n        this.total_store_tax_price = 0;\r\n\r\n        this.total = 0;\r\n        this.wallet_payment = 0;\r\n        this.cash_payment = 0;\r\n        this.card_payment = 0;\r\n\r\n\r\n        this.store_have_service_payment = 0;\r\n        this.store_have_order_payment = 0;\r\n        this.total_store_income = 0;\r\n        this.pay_to_store = 0;\r\n        this.store_income_set_in_wallet = 0;\r\n\r\n        this.provider_have_cash_payment = 0;\r\n        this.provider_paid_order_payment = 0;\r\n        this.total_provider_income = 0;\r\n        this.pay_to_provider = 0;\r\n        this.provider_income_set_in_wallet = 0;\r\n\r\n\r\n        this.total_admin_profit_on_store = 0;\r\n        this.total_admin_profit_on_delivery = 0;\r\n        this.admin_profit_value_on_delivery = 0;\r\n        this.admin_profit_value_on_store = 0;\r\n\r\n        this.admin_profit_mode_on_store = 0;\r\n        this.admin_profit_mode_on_delivery = 0;\r\n\r\n\r\n\r\n        this.current_rate = 0;\r\n        this.is_distance_unit_mile = false;\r\n        this.is_promo_for_delivery_service = false;\r\n        this.is_store_pay_delivery_fees = false;\r\n\r\n\r\n        this.product_item_total = 0;\r\n        this.product_item_total_array = [];\r\n        this.product_item_specification_total = 0;\r\n        this.product_item_specification_total_array = [];\r\n        this.product_specification_total_array = [];\r\n\r\n        this.provider_first_name = \"\";\r\n        this.provider_last_name = \"\";\r\n        this.provider_email = \"\";\r\n        this.provider_phone = \"\";\r\n\r\n        this.store_name = \"\";\r\n        this.store_email = \"\";\r\n        this.store_address = \"\";\r\n        this.store_phone = \"\";\r\n\r\n        this.user_first_name = \"\";\r\n        this.user_last_name = \"\";\r\n        this.user_email = \"\";\r\n        this.user_phone = \"\";\r\n        this.user_address = \"\";\r\n\r\n\r\n        this.delivery_user_name = \"\";\r\n        this.delivery_user_phone = \"\";\r\n        this.delivery_user_address = \"\";\r\n\r\n        this.ORDER_STATE = this.helper.ORDER_STATE;\r\n        this.ORDER_STATUS_ID = this.helper.ORDER_STATUS_ID;\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.DATE_FORMAT = this.helper.DATE_FORMAT\r\n        this.status = this.helper.status\r\n        this.lable_title = this.helper.lable_title\r\n\r\n        this.helper.http.post('/api/admin/get_order_data', {order_id: this.order_id}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n\r\n            this.myLoading = false;\r\n\r\n            if (res_data.success == false) {\r\n\r\n                this.helper.router.navigate(['admin/earning']);\r\n\r\n            }\r\n            else {\r\n\r\n                this.user_first_name = res_data.order.user_detail.first_name\r\n                this.user_last_name = res_data.order.user_detail.last_name\r\n                this.user_email = res_data.order.user_detail.email\r\n                this.user_phone = res_data.order.user_detail.country_phone_code + res_data.order.user_detail.phone\r\n                this.user_address = res_data.order.user_detail.address\r\n\r\n\r\n                this.store_name = res_data.order.store_detail.name\r\n                this.store_email = res_data.order.store_detail.email\r\n                this.store_address = res_data.order.store_detail.address\r\n                this.store_phone = res_data.order.store_detail.country_phone_code + res_data.order.store_detail.phone\r\n\r\n\r\n                this.invoice_number = res_data.order.order_payment_detail.invoice_number\r\n                this.order_status = res_data.order.order_status\r\n                this.order_status_id = res_data.order.order_status_id\r\n\r\n                this.created_at = res_data.order.created_at\r\n                this.store_accepted_at = res_data.order.store_accepted_at\r\n                this.start_preparing_order_at = res_data.order.start_preparing_order_at\r\n                this.order_ready_at = res_data.order.order_ready_at\r\n                this.store_order_created_at = res_data.order.store_order_created_at\r\n                this.accepted_at = res_data.order.accepted_at\r\n                this.cancelled_at = res_data.order.cancelled_at\r\n                this.start_for_pickup_at = res_data.order.start_for_pickup_at\r\n                this.arrived_on_store_at = res_data.order.arrived_on_store_at\r\n                this.picked_order_at = res_data.order.picked_order_at\r\n                this.start_for_delivery_at = res_data.order.start_for_delivery_at\r\n                this.delivered_at = res_data.order.delivered_at\r\n                this.completed_at = res_data.order.completed_at\r\n\r\n\r\n                this.total_time = res_data.order.order_payment_detail.total_time\r\n                this.total_distance = res_data.order.order_payment_detail.total_distance\r\n\r\n                //this.base_price = res_data.order.order_payment_detail.total_base_price;\r\n                //this.total_distance_price = res_data.order.order_payment_detail.distance_price;\r\n                //this.total_time_price = res_data.order.order_payment_detail.total_time_price;\r\n                this.total_service_price = res_data.order.order_payment_detail.total_service_price;\r\n                this.total_admin_tax_price = res_data.order.order_payment_detail.total_admin_tax_price;\r\n                //this.total_surge_price = res_data.order.order_payment_detail.total_surge_price;\r\n                this.delivery_price = res_data.order.order_payment_detail.delivery_price;\r\n                this.promo_payment = res_data.order.order_payment_detail.promo_payment;\r\n                this.total_delivery_price = res_data.order.order_payment_detail.total_delivery_price;\r\n                this.total_cart_price = res_data.order.order_payment_detail.total_cart_price;\r\n                this.total_order_price = res_data.order.order_payment_detail.total_order_price;\r\n                this.order_price = res_data.order.order_payment_detail.order_price;\r\n                this.service_tax = res_data.order.order_payment_detail.service_tax;\r\n                this.total_store_tax_price = res_data.order.order_payment_detail.total_store_tax_price;\r\n\r\n\r\n                this.total = res_data.order.order_payment_detail.total;\r\n                this.wallet_payment = res_data.order.order_payment_detail.wallet_payment;\r\n                this.cash_payment = res_data.order.order_payment_detail.cash_payment;\r\n                this.card_payment = res_data.order.order_payment_detail.card_payment;\r\n\r\n\r\n                this.store_have_service_payment = res_data.order.order_payment_detail.store_have_service_payment;\r\n                this.store_have_order_payment = res_data.order.order_payment_detail.store_have_order_payment;\r\n                this.total_store_income = res_data.order.order_payment_detail.total_store_income;\r\n                this.pay_to_store = res_data.order.order_payment_detail.pay_to_store;\r\n                this.store_income_set_in_wallet = res_data.order.order_payment_detail.store_income_set_in_wallet;\r\n\r\n\r\n                this.provider_have_cash_payment = res_data.order.order_payment_detail.provider_have_cash_payment;\r\n                this.provider_paid_order_payment = res_data.order.order_payment_detail.provider_paid_order_payment;\r\n                this.total_provider_income = res_data.order.order_payment_detail.total_provider_income;\r\n                this.pay_to_provider = res_data.order.order_payment_detail.pay_to_provider;\r\n                this.provider_income_set_in_wallet = res_data.order.order_payment_detail.provider_income_set_in_wallet;\r\n\r\n\r\n                this.total_admin_profit_on_store = res_data.order.order_payment_detail.total_admin_profit_on_store;\r\n                this.total_admin_profit_on_delivery = res_data.order.order_payment_detail.total_admin_profit_on_delivery;\r\n                this.admin_profit_value_on_delivery = res_data.order.order_payment_detail.admin_profit_value_on_delivery;\r\n                this.admin_profit_value_on_store = res_data.order.order_payment_detail.admin_profit_value_on_store;\r\n\r\n                this.admin_profit_mode_on_store = res_data.order.order_payment_detail.admin_profit_mode_on_store;\r\n                this.admin_profit_mode_on_delivery = res_data.order.order_payment_detail.admin_profit_mode_on_delivery;\r\n\r\n\r\n                this.current_rate = res_data.order.order_payment_detail.current_rate;\r\n                this.is_distance_unit_mile = res_data.order.order_payment_detail.is_distance_unit_mile;\r\n                this.is_promo_for_delivery_service = res_data.order.order_payment_detail.is_promo_for_delivery_service;\r\n\r\n                this.is_store_pay_delivery_fees = res_data.order.order_payment_detail.is_store_pay_delivery_fees;\r\n                this.total_item = res_data.order.order_payment_detail.total_item_count;\r\n\r\n                this.order_detail = res_data.order.cart_detail.order_details;\r\n                this.currency_sign = res_data.order.country_detail.currency_sign;\r\n\r\n                if (res_data.order.cart_detail.destination_addresses.length > 0) {\r\n                    this.delivery_user_name = res_data.order.cart_detail.destination_addresses[0].user_details.name\r\n                    this.delivery_user_phone = res_data.order.cart_detail.destination_addresses[0].user_details.country_phone_code + res_data.order.cart_detail.destination_addresses[0].user_details.phone\r\n                    this.delivery_user_address = res_data.order.cart_detail.destination_addresses[0].address\r\n                }\r\n\r\n\r\n\r\n                if (res_data.order.request_detail !== undefined) {\r\n                    if (res_data.order.provider_detail.length > 0) {\r\n                        this.provider_first_name = res_data.order.provider_detail[0].first_name\r\n                        this.provider_last_name = res_data.order.provider_detail[0].last_name\r\n                        this.provider_email = res_data.order.provider_detail[0].email\r\n                        this.provider_phone = res_data.order.provider_detail[0].country_phone_code + res_data.order.provider_detail[0].phone\r\n                    }\r\n                }\r\n\r\n\r\n\r\n\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/view_earning_detail/view_earning_detail.component.ts","import {Component, OnInit, ViewContainerRef} from '@angular/core';\r\nimport {Response} from '@angular/http';\r\nimport {Helper} from \"../../helper\";\r\n\r\ndeclare var jQuery: any;\r\n\r\n@Component({\r\n    selector: 'app-view_history',\r\n    template: require('./view_history.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class ViewHistoryComponent implements OnInit {\r\n\r\n    title: any;\r\n    button: any;\r\n    ORDER_STATE: any;\r\n    DATE_FORMAT: any;\r\n    heading_title: any;\r\n    status: any;\r\n    lable_title: any;\r\n    order_list: any[];\r\n    sort_field: string;\r\n    sort_order: number;\r\n    search_field: string;\r\n    search_value: string;\r\n    start_date: string;\r\n    end_date: string;\r\n    page: number;\r\n    total_page: number;\r\n    total_pages: number[];\r\n    type: Number;\r\n    id: Object;\r\n    myLoading: boolean = true;\r\n\r\n    constructor(private helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n    ngAfterViewInit() {\r\n        jQuery(\".chosen-select\").chosen({disable_search: true});\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.sort_field = \"unique_id\";\r\n        this.sort_order = -1;\r\n        this.search_field = \"user_detail.first_name\";\r\n        this.search_value = \"\";\r\n        this.start_date = '';\r\n        this.end_date = '';\r\n        this.page = 1;\r\n\r\n\r\n        this.type = this.helper.router_id.admin.page_type;\r\n//        if (this.type == 1) {\r\n//            this.id = this.helper.router_id.admin.history_provider_id;\r\n//        }\r\n//\r\n//        else \r\n        if (this.type == 2) {\r\n            this.id = this.helper.router_id.admin.history_user_id;\r\n        }\r\n        else if (this.type == 3) {\r\n            this.id = this.helper.router_id.admin.history_store_id;\r\n        }\r\n\r\n\r\n\r\n        this.helper.message()\r\n\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.ORDER_STATE = this.helper.ORDER_STATE\r\n        this.DATE_FORMAT = this.helper.DATE_FORMAT\r\n        this.status = this.helper.status\r\n        this.lable_title = this.helper.lable_title\r\n        this.order_list = [];\r\n\r\n        this.admin_history(1)\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_field').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_field = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_order').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_order = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#search_field').on('change', (evnt, res_data) => {\r\n\r\n            this.search_field = res_data.selected;\r\n\r\n        });\r\n    }\r\n    activeRoute(routename: string): boolean {\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n\r\n    admin_history(page) {\r\n        this.page = page;\r\n        this.helper.http.post('/admin/view_history', {\r\n            id: this.id, type: this.type,\r\n            start_date: this.start_date, end_date: this.end_date,\r\n            sort_field: this.sort_field, sort_order: this.sort_order,\r\n            search_field: this.search_field, search_value: this.search_value, page: this.page\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n                this.order_list = [];\r\n                this.total_pages = [];\r\n            }\r\n            else {\r\n                this.order_list = res_data.orders;\r\n                this.total_page = res_data.pages;\r\n                this.total_pages = Array(res_data.pages).fill((x, i) => i).map((x, i) => i + 1)\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    order_detail(id) {\r\n        this.helper.router_id.admin.order_id = id;\r\n        this.helper.router.navigate(['admin/order_detail']);\r\n    }\r\n\r\n    view_cart(id) {\r\n        this.helper.router_id.admin.order_id = id;\r\n        this.helper.router.navigate(['admin/view_cart']);\r\n    }\r\n\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/view_history/view_history.component.ts","import {Component, OnInit} from '@angular/core';\r\nimport {Http, Response} from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport {Helper} from \"../../helper\";\r\n\r\n\r\n@Component({\r\n    selector: 'app-view_invoice',\r\n    template: require('./view_invoice.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class ViewInvoiceComponent implements OnInit {\r\n\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    order_id: Object;\r\n    order_detail: any[];\r\n    orders: any[];\r\n    item_name: String;\r\n    destination_address: String;\r\n    source_address: String;\r\n    completed_at: null;\r\n    total: number;\r\n    unique_id: number;\r\n    invoice_number:String;\r\n    currency_sign: String;\r\n    total_order_price: number;\r\n    total_delivery_price: number;\r\n    total_store_tax_price: number;\r\n\r\n    constructor(public helper: Helper) {\r\n    }\r\n\r\n    ngOnInit() {\r\n\r\n        this.order_id = this.helper.router_id.admin.invoice_order_id;\r\n        this.item_name = \"\";\r\n\r\n\r\n        this.helper.http.post('/admin/get_order_detail', {order_id: this.order_id}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n           \r\n            if (res_data.success == false) {\r\n\r\n                this.helper.router.navigate(['admin/provider/view_history']);\r\n\r\n            }\r\n            else {\r\n\r\n\r\n\r\n                this.destination_address = res_data.orders.destination_address\r\n                this.unique_id = res_data.orders.unique_id\r\n                \r\n                this.invoice_number = res_data.orders.invoice_number\r\n\r\n                this.total_order_price = res_data.orders.order_payment_details.total_order_price\r\n                this.total_delivery_price = res_data.orders.order_payment_details.total_delivery_price\r\n                this.total_store_tax_price = res_data.orders.order_payment_details.total_store_tax_price\r\n\r\n\r\n                this.source_address = res_data.orders.source_address\r\n                this.completed_at = res_data.orders.completed_at\r\n                this.total = res_data.orders.order_payment_details.total\r\n                this.order_detail = res_data.orders.order_details\r\n                this.currency_sign = res_data.orders.currency\r\n\r\n                res_data.orders.order_details.forEach((product) => {\r\n                    product.items.forEach((item) => {\r\n\r\n                        // this.product_item_total=this.product_item_total + (item.item_price + item.total_specification_price)*item.quantity\r\n                        this.item_name = item.item_name;\r\n\r\n\r\n\r\n                    })\r\n                    // this.product_specification_total_array.push(this.product_item_specification_total_array)\r\n                    // this.product_item_specification_total_array=[];\r\n                    // this.product_item_total_array.push(this.product_item_total)\r\n                    //this.product_item_total=0;\r\n                })\r\n\r\n\r\n\r\n            }\r\n\r\n        });\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/view_invoice/view_invoice.component.ts","import {Component, OnInit} from '@angular/core';\r\nimport {Http, Response} from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport {Helper} from \"../../helper\";\r\nimport * as moment from 'moment-timezone';\r\n\r\n@Component({\r\n    selector: 'app-view_order_earning_detail',\r\n    template: require('./view_order_earning_detail.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class ViewOrderEarningDetailComponent implements OnInit {\r\n\r\n    order_id: Object;\r\n    order_detail: any[];\r\n    currency_sign: any;\r\n    //total_order_price: number;\r\n    order_total: number;\r\n    product_item_total: number;\r\n    product_item_total_array: number[];\r\n    product_item_specification_total: number;\r\n    product_item_specification_total_array: number[];\r\n    product_specification_total_array: any[];\r\n    total_item: number;\r\n\r\n    total_time: number;\r\n    total_distance: number;\r\n\r\n\r\n    base_price: number;\r\n    total_distance_price: number;\r\n    total_time_price: number;\r\n    total_service_price: number;\r\n    total_admin_tax_price: number;\r\n    total_surge_price: number;\r\n    delivery_price: number;\r\n    promo_payment: number;\r\n    total_delivery_price: number;\r\n    total_cart_price: number;\r\n\r\n    total_order_price: number;\r\n    order_price: number;\r\n    service_tax: number;\r\n    total_store_tax_price: number;\r\n\r\n\r\n    total: number;\r\n    wallet_payment: number;\r\n\r\n    cash_payment: number;\r\n    card_payment: number;\r\n\r\n    store_have_service_payment: number;\r\n    store_have_order_payment: number;\r\n    pay_to_store: number;\r\n    total_store_income: number;\r\n    store_income_set_in_wallet: number;\r\n\r\n\r\n\r\n    provider_paid_order_payment: number;\r\n    provider_have_cash_payment: number;\r\n    pay_to_provider: number;\r\n    total_provider_income: number;\r\n    provider_income_set_in_wallet: number;\r\n\r\n    total_admin_profit_on_store: number;\r\n    total_admin_profit_on_delivery: number;\r\n    admin_profit_value_on_delivery: number;\r\n    admin_profit_value_on_store: number;\r\n\r\n    admin_profit_mode_on_store: number;\r\n    admin_profit_mode_on_delivery: number;\r\n\r\n    current_rate: number;\r\n\r\n    is_distance_unit_mile: Boolean;\r\n    is_promo_for_delivery_service: Boolean;\r\n    is_store_pay_delivery_fees: Boolean;\r\n\r\n\r\n    user_first_name: String;\r\n    user_last_name: String;\r\n    user_email: String;\r\n    user_phone: String;\r\n    user_address: String;\r\n\r\n\r\n    delivery_user_name: String;\r\n    delivery_user_phone: String;\r\n    delivery_user_address: String;\r\n\r\n\r\n\r\n    provider_first_name: String;\r\n    provider_last_name: String;\r\n    provider_email: String;\r\n    provider_phone: String;\r\n    vehicle_name: String;\r\n\r\n    store_name: String;\r\n    store_email: String;\r\n    store_address: String;\r\n    store_phone: String;\r\n\r\n\r\n    invoice_number: String;\r\n    timezone: string;\r\n\r\n\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    status: any;\r\n    lable_title: any;\r\n\r\n    ORDER_STATE: any;\r\n    ORDER_STATUS_ID: any;\r\n    DATE_FORMAT: any;\r\n    order_status: number;\r\n\r\n    order_status_id: number;\r\n\r\n\r\n    delivery_status: number;\r\n\r\n    created_at: any;\r\n\r\n    completed_at: any;\r\n\r\n\r\n    request_created_at: any;\r\n    request_completed_at: any;\r\n\r\n    date_time: any[];\r\n\r\n    myLoading: boolean = true;\r\n    new_date: any;\r\n    my_date: any;\r\n\r\n    completed_at2: any;\r\n    completed_at3: any;\r\n\r\n    constructor(public helper: Helper) {\r\n    }\r\n\r\n\r\n    ngOnInit() {\r\n        this.order_id = this.helper.router_id.admin.view_order_earning_id;\r\n        this.order_total = 0;\r\n        this.total_item = 0;\r\n        this.total_time = 0;\r\n        this.total_distance = 0;\r\n\r\n        this.base_price = 0;\r\n        this.total_distance_price = 0;\r\n        this.total_time_price = 0;\r\n        this.total_service_price = 0;\r\n        this.total_admin_tax_price = 0;\r\n        this.total_surge_price = 0;\r\n        this.delivery_price = 0;\r\n        this.promo_payment = 0;\r\n        this.total_delivery_price = 0;\r\n        this.total_cart_price = 0;\r\n\r\n        this.total_order_price = 0;\r\n        this.order_price = 0;\r\n        this.service_tax = 0;\r\n        this.total_store_tax_price = 0;\r\n\r\n        this.total = 0;\r\n        this.wallet_payment = 0;\r\n        this.cash_payment = 0;\r\n        this.card_payment = 0;\r\n\r\n\r\n        this.store_have_service_payment = 0;\r\n        this.store_have_order_payment = 0;\r\n        this.total_store_income = 0;\r\n        this.pay_to_store = 0;\r\n        this.store_income_set_in_wallet = 0;\r\n\r\n        this.provider_have_cash_payment = 0;\r\n        this.provider_paid_order_payment = 0;\r\n        this.total_provider_income = 0;\r\n        this.pay_to_provider = 0;\r\n        this.provider_income_set_in_wallet = 0;\r\n\r\n\r\n        this.total_admin_profit_on_store = 0;\r\n        this.total_admin_profit_on_delivery = 0;\r\n        this.admin_profit_value_on_delivery = 0;\r\n        this.admin_profit_value_on_store = 0;\r\n\r\n        this.admin_profit_mode_on_store = 0;\r\n        this.admin_profit_mode_on_delivery = 0;\r\n\r\n        this.current_rate = 1;\r\n        this.is_distance_unit_mile = false;\r\n        this.is_promo_for_delivery_service = false;\r\n        this.is_store_pay_delivery_fees = false;\r\n\r\n\r\n\r\n        this.product_item_total = 0;\r\n        this.product_item_total_array = [];\r\n        this.product_item_specification_total = 0;\r\n        this.product_item_specification_total_array = [];\r\n        this.product_specification_total_array = [];\r\n        this.provider_first_name = \"\";\r\n        this.provider_last_name = \"\";\r\n        this.provider_email = \"\";\r\n        this.vehicle_name = \"\";\r\n        this.provider_phone = \"\";\r\n\r\n\r\n        this.store_name = \"\";\r\n        this.store_email = \"\";\r\n        this.store_address = \"\";\r\n        this.store_phone = \"\";\r\n\r\n        this.user_first_name = \"\";\r\n        this.user_last_name = \"\";\r\n        this.user_email = \"\";\r\n        this.user_phone = \"\";\r\n        this.user_address = \"\";\r\n\r\n\r\n\r\n        this.delivery_user_name = \"\";\r\n        this.delivery_user_phone = \"\";\r\n        this.delivery_user_address = \"\";\r\n        this.timezone = \"\";\r\n\r\n\r\n        this.ORDER_STATE = this.helper.ORDER_STATE;\r\n        this.DATE_FORMAT = this.helper.DATE_FORMAT;\r\n        this.ORDER_STATUS_ID = this.helper.ORDER_STATUS_ID;\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.status = this.helper.status;\r\n        this.lable_title = this.helper.lable_title;\r\n\r\n        this.helper.http.post('/admin/get_order_earning_detail', {order_id: this.order_id}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n            this.myLoading = false;\r\n\r\n            if (res_data.success == false) {\r\n\r\n                //this.helper.router.navigate(['admin/order_earning']);\r\n\r\n            }\r\n            else {\r\n\r\n                this.user_first_name = res_data.order.user_detail.first_name\r\n                this.user_last_name = res_data.order.user_detail.last_name\r\n                this.user_email = res_data.order.user_detail.email\r\n                this.user_phone = res_data.order.user_detail.country_phone_code + res_data.order.user_detail.phone\r\n                this.user_address = res_data.order.user_detail.address\r\n\r\n\r\n\r\n                this.store_name = res_data.order.store_detail.name\r\n                this.store_email = res_data.order.store_detail.email\r\n                this.store_address = res_data.order.store_detail.address\r\n                this.store_phone = res_data.order.store_detail.country_phone_code + res_data.order.store_detail.phone\r\n\r\n\r\n                this.invoice_number = res_data.order.order_payment_detail.invoice_number\r\n                this.order_status = res_data.order.order_status\r\n                this.order_status_id = res_data.order.order_status_id\r\n\r\n                this.date_time = res_data.order.date_time;\r\n                this.timezone = res_data.order.timezone;\r\n\r\n\r\n\r\n\r\n\r\n\r\n                this.total_time = res_data.order.order_payment_detail.total_time\r\n                this.total_distance = res_data.order.order_payment_detail.total_distance\r\n\r\n                //this.base_price = res_data.order.order_payment_detail.total_base_price;\r\n                //this.total_distance_price = res_data.order.order_payment_detail.distance_price;\r\n                //this.total_time_price = res_data.order.order_payment_detail.total_time_price;\r\n                this.total_service_price = res_data.order.order_payment_detail.total_service_price;\r\n                this.total_admin_tax_price = res_data.order.order_payment_detail.total_admin_tax_price;\r\n                //this.total_surge_price = res_data.order.order_payment_detail.total_surge_price;\r\n                this.delivery_price = res_data.order.order_payment_detail.delivery_price;\r\n                this.promo_payment = res_data.order.order_payment_detail.promo_payment;\r\n                this.total_delivery_price = res_data.order.order_payment_detail.total_delivery_price;\r\n                this.total_cart_price = res_data.order.order_payment_detail.total_cart_price;\r\n\r\n\r\n                this.total_order_price = res_data.order.order_payment_detail.total_order_price;\r\n                this.order_price = res_data.order.order_payment_detail.order_price;\r\n                this.service_tax = res_data.order.order_payment_detail.service_tax;\r\n                this.total_store_tax_price = res_data.order.order_payment_detail.total_store_tax_price;\r\n\r\n                this.total = res_data.order.order_payment_detail.total;\r\n                this.wallet_payment = res_data.order.order_payment_detail.wallet_payment;\r\n                this.cash_payment = res_data.order.order_payment_detail.cash_payment;\r\n                this.card_payment = res_data.order.order_payment_detail.card_payment;\r\n\r\n\r\n                this.store_have_service_payment = res_data.order.order_payment_detail.store_have_service_payment;\r\n                this.store_have_order_payment = res_data.order.order_payment_detail.store_have_order_payment;\r\n                this.total_store_income = res_data.order.order_payment_detail.total_store_income;\r\n                this.pay_to_store = res_data.order.order_payment_detail.pay_to_store;\r\n                this.store_income_set_in_wallet = res_data.order.order_payment_detail.store_income_set_in_wallet;\r\n\r\n\r\n                this.provider_have_cash_payment = res_data.order.order_payment_detail.provider_have_cash_payment;\r\n                this.provider_paid_order_payment = res_data.order.order_payment_detail.provider_paid_order_payment;\r\n                this.total_provider_income = res_data.order.order_payment_detail.total_provider_income;\r\n                this.pay_to_provider = res_data.order.order_payment_detail.pay_to_provider;\r\n                this.provider_income_set_in_wallet = res_data.order.order_payment_detail.provider_income_set_in_wallet;\r\n\r\n\r\n\r\n\r\n                this.total_admin_profit_on_store = res_data.order.order_payment_detail.total_admin_profit_on_store;\r\n                this.total_admin_profit_on_delivery = res_data.order.order_payment_detail.total_admin_profit_on_delivery;\r\n                this.admin_profit_value_on_delivery = res_data.order.order_payment_detail.admin_profit_value_on_delivery;\r\n                this.admin_profit_value_on_store = res_data.order.order_payment_detail.admin_profit_value_on_store;\r\n                this.admin_profit_mode_on_store = res_data.order.order_payment_detail.admin_profit_mode_on_store;\r\n                this.admin_profit_mode_on_delivery = res_data.order.order_payment_detail.admin_profit_mode_on_delivery;\r\n\r\n\r\n\r\n                this.current_rate = res_data.order.order_payment_detail.current_rate;\r\n                this.is_distance_unit_mile = res_data.order.order_payment_detail.is_distance_unit_mile;\r\n                this.is_promo_for_delivery_service = res_data.order.order_payment_detail.is_promo_for_delivery_service;\r\n                this.is_store_pay_delivery_fees = res_data.order.order_payment_detail.is_store_pay_delivery_fees;\r\n                console.log(res_data.order.order_payment_detail.is_store_pay_delivery_fees);\r\n\r\n\r\n                this.order_detail = res_data.order.cart_detail.order_details\r\n                this.currency_sign = res_data.order.country_detail.currency_sign\r\n\r\n\r\n                res_data.order.cart_detail.order_details.forEach((product) => {\r\n                    product.items.forEach((item) => {\r\n                        this.order_total = this.order_total + (item.item_price + item.total_specification_price) * item.quantity\r\n                        this.product_item_total = this.product_item_total + (item.item_price + item.total_specification_price) * item.quantity\r\n                        this.total_item = this.total_item + 1;\r\n                        item.specifications.forEach((specification) => {\r\n                            this.product_item_specification_total = this.product_item_specification_total + specification.specification_price;\r\n                        })\r\n                        this.product_item_specification_total_array.push(this.product_item_specification_total)\r\n                        this.product_item_specification_total = 0;\r\n                    })\r\n                    this.product_specification_total_array.push(this.product_item_specification_total_array)\r\n                    this.product_item_specification_total_array = [];\r\n                    this.product_item_total_array.push(this.product_item_total)\r\n                    this.product_item_total = 0;\r\n                })\r\n\r\n                if (res_data.order.cart_detail.destination_addresses.length > 0) {\r\n                    this.delivery_user_name = res_data.order.cart_detail.destination_addresses[0].user_details.name\r\n                    this.delivery_user_phone = res_data.order.cart_detail.destination_addresses[0].user_details.country_phone_code + res_data.order.cart_detail.destination_addresses[0].user_details.phone\r\n                    this.delivery_user_address = res_data.order.cart_detail.destination_addresses[0].address\r\n                }\r\n\r\n\r\n                if (res_data.order.timezone != \"\") {\r\n                    if (res_data.order.created_at != null) {\r\n                        this.created_at = moment(res_data.order.created_at).tz(this.timezone).format('DD MMM YYYY HH:mm');\r\n                    }\r\n                    if (res_data.order.completed_at != null) {\r\n                        this.completed_at = moment(res_data.order.completed_at).tz(this.timezone).format('DD MMM YYYY HH:mm');\r\n                    }\r\n\r\n                    if (res_data.order.request_detail !== undefined) {\r\n\r\n                        if (res_data.order.request_detail.created_at != null) {\r\n                            this.request_created_at = moment(res_data.order.request_detail.created_at).tz(this.timezone).format('DD MMM YYYY HH:mm');\r\n                        }\r\n                        if (res_data.order.request_detail.completed_at != null) {\r\n                            this.request_completed_at = moment(res_data.order.request_detail.completed_at).tz(this.timezone).format('DD MMM YYYY HH:mm');\r\n                        }\r\n\r\n                    }\r\n\r\n                }\r\n\r\n                this.delivery_status = res_data.order.request_detail.delivery_status\r\n\r\n\r\n                if (res_data.order.request_detail !== undefined) {\r\n                    if (res_data.order.provider_detail.length > 0) {\r\n                        this.provider_first_name = res_data.order.provider_detail[0].first_name\r\n                        this.provider_last_name = res_data.order.provider_detail[0].last_name\r\n                        this.provider_email = res_data.order.provider_detail[0].email\r\n                        this.provider_phone = res_data.order.provider_detail[0].country_phone_code + res_data.order.provider_detail[0].phone\r\n                    }\r\n                }\r\n\r\n\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/view_order_earning_detail/view_order_earning_detail.component.ts","import {Component, OnInit} from '@angular/core';\r\nimport {Http, Response} from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport {Helper} from \"../../helper\";\r\n\r\n\r\n@Component({\r\n    selector: 'app-view_promo_uses',\r\n    template: require('./view_promo_uses.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class ViewPromoUsesComponent implements OnInit {\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    lable_title: any;\r\n    promo_id: Object;\r\n    country_name: String;\r\n    city_name: String;\r\n    promo_code_name: String;\r\n    unique_id: Number;\r\n    promo_code_type: Number;\r\n    promo_code_value: Number;\r\n    user_id: Number;\r\n    email: String;\r\n    order_id: Number;\r\n    is_payment_mode_cash: Boolean;\r\n    promo_payment: Number;\r\n    order_price: Number;\r\n    delivery_price: Number;\r\n    total: Number;\r\n    promo_uses_list: any[];\r\n\r\n    myLoading: boolean = true;\r\n\r\n\r\n\r\n    constructor(public helper: Helper) {\r\n    }\r\n\r\n    ngOnInit() {\r\n\r\n        this.promo_id = this.helper.router_id.admin.promo_uses_id;\r\n        this.myLoading = true;\r\n        if(this.promo_id != ''){\r\n            this.helper.http.post('/admin/get_promo_uses_detail', {promo_id: this.promo_id}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n                this.myLoading = false;\r\n                if (res_data.success == false) {\r\n                    this.promo_uses_list = [];\r\n                    this.country_name = res_data.country_details.country_name;\r\n                    this.city_name = res_data.city_name;\r\n                    this.promo_code_name = res_data.promo_code.promo_code_name;\r\n                    this.unique_id = res_data.promo_code.unique_id;\r\n                    this.promo_code_type = res_data.promo_code.promo_code_type;\r\n                    this.promo_code_value = res_data.promo_code.promo_code_value;\r\n\r\n                }\r\n                else {\r\n\r\n                    this.promo_uses_list = res_data.order_payment;\r\n                    this.country_name = res_data.country_details.country_name;\r\n                    this.city_name = res_data.city_name;\r\n                    this.promo_code_name = res_data.promo_code.promo_code_name;\r\n                    this.unique_id = res_data.promo_code.unique_id;\r\n                    this.promo_code_type = res_data.promo_code.promo_code_type;\r\n                    this.promo_code_value = res_data.promo_code.promo_code_value;\r\n                }\r\n\r\n            },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n        } else {\r\n            this.helper.router.navigate(['admin/promotions']);\r\n        }\r\n\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.lable_title = this.helper.lable_title;\r\n\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/view_promo_uses/view_promo_uses.component.ts","import {Component, OnInit, ViewContainerRef} from '@angular/core';\r\nimport {Response} from '@angular/http';\r\nimport {Helper} from \"../../helper\";\r\ndeclare var jQuery: any;\r\n\r\n@Component({\r\n    selector: 'app-view_provider_history',\r\n    template: require('./view_provider_history.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class ViewProviderHistoryComponent implements OnInit {\r\n\r\n    title: any;\r\n    button: any;\r\n    ORDER_STATE: any;\r\n    DATE_FORMAT: any;\r\n    heading_title: any;\r\n    status: any;\r\n    lable_title: any;\r\n    request_list: any[];\r\n    sort_field: string;\r\n    sort_request: number;\r\n    search_field: string;\r\n    search_value: string;\r\n    start_date: string;\r\n    end_date: string;\r\n    page: number;\r\n    total_page: number;\r\n    total_pages: number[];\r\n    \r\n    provider_id: Object;\r\n    myLoading: boolean = true;\r\n\r\n    constructor(private helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n    ngAfterViewInit() {\r\n        jQuery(\".chosen-select\").chosen({disable_search: true});\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.sort_field = \"unique_id\";\r\n        this.sort_request = -1;\r\n        this.search_field = \"user_detail.first_name\";\r\n        this.search_value = \"\";\r\n        this.start_date = '';\r\n        this.end_date = '';\r\n        this.page = 1;\r\n        \r\n        this.provider_id = this.helper.router_id.admin.history_provider_id;\r\n        this.helper.message()\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.ORDER_STATE = this.helper.ORDER_STATE\r\n        this.DATE_FORMAT = this.helper.DATE_FORMAT\r\n        this.status = this.helper.status\r\n        this.lable_title = this.helper.lable_title\r\n        this.request_list = [];\r\n        this.admin_provider_history(1);\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_field').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_field = res_data.selected;\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_request').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_request = res_data.selected;\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#search_field').on('change', (evnt, res_data) => {\r\n\r\n            this.search_field = res_data.selected;\r\n        });\r\n    }\r\n    activeRoute(routename: string): boolean {\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n    \r\n    admin_provider_history(page) {\r\n        this.page = page;\r\n        this.helper.http.post('/admin/view_provider_history', {\r\n            provider_id: this.provider_id, \r\n            start_date: this.start_date, end_date: this.end_date,\r\n            sort_field: this.sort_field, sort_request: this.sort_request,\r\n            search_field: this.search_field, search_value: this.search_value, page: this.page\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n\r\n                this.request_list = [];\r\n                this.total_pages = [];\r\n\r\n            }\r\n            else {\r\n                this.request_list = res_data.requests;\r\n                this.total_page = res_data.pages;\r\n                this.total_pages = Array(res_data.pages).fill((x, i) => i).map((x, i) => i + 1)\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    viewRequestOrder_detail(id) {\r\n        this.helper.router_id.admin.request_id = id;\r\n        this.helper.router.navigate(['admin/request_order_detail']);\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/view_provider_history/view_provider_history.component.ts","import {Component, OnInit, ViewContainerRef} from '@angular/core';\r\nimport {Response} from '@angular/http';\r\nimport {Helper} from \"../../helper\";\r\ndeclare var jQuery: any;\r\n\r\n@Component({\r\n    selector: 'app-view_referral_detail',\r\n    template: require('./view_referral_detail.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class ViewReferralDetailComponent implements OnInit {\r\n\r\n    title: any;\r\n    button: any;\r\n\r\n    heading_title: any;\r\n    lable_title: any;\r\n    DATE_FORMAT: any;\r\n    //status: any;\r\n    referral_list: any[];\r\n    //referred_referral_list:any[];\r\n    sort_field: string;\r\n    sort_referral: number;\r\n    search_field: string;\r\n    search_value: string;\r\n    start_date: string;\r\n    end_date: string;\r\n    page: number;\r\n    total_page: number;\r\n    total_pages: number[];\r\n    hide_referral_detail: any[];\r\n    value: number;\r\n    myLoading: boolean = true;\r\n\r\n    constructor(private helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n    ngAfterViewInit() {\r\n\r\n        jQuery(\".chosen-select\").chosen({disable_search: true});\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n\r\n\r\n    }\r\n\r\n\r\n    ngOnInit() {\r\n        this.sort_field = \"unique_id\";\r\n        this.sort_referral = -1;\r\n        this.search_field = \"user_referral_code\";\r\n        this.search_value = \"\";\r\n        this.start_date = '';\r\n        this.end_date = '';\r\n        this.page = 1\r\n\r\n\r\n        this.helper.message();\r\n\r\n        this.hide_referral_detail = [];\r\n        this.value = 0;\r\n\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.lable_title = this.helper.lable_title;\r\n        this.DATE_FORMAT = this.helper.DATE_FORMAT;\r\n\r\n        this.referral_list = [];\r\n        //this.referred_referral_list = [];\r\n\r\n\r\n        this.referral_list_detail(1)\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_field').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_field = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_referral').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_referral = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#search_field').on('change', (evnt, res_data) => {\r\n\r\n            this.search_field = res_data.selected;\r\n\r\n        });\r\n    }\r\n    activeRoute(routename: string): boolean {\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n\r\n    referral_list_detail(page) {\r\n        this.page = page;\r\n        this.helper.http.post('/admin/get_referral_detail', {\r\n            start_date: this.start_date, end_date: this.end_date,\r\n            sort_field: this.sort_field, sort_referral: this.sort_referral,\r\n            search_field: this.search_field, search_value: this.search_value, page: this.page\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n\r\n                this.referral_list = [];\r\n                this.total_pages = [];\r\n            }\r\n            else {\r\n\r\n                this.total_page = res_data.pages;\r\n                this.total_pages = Array(res_data.pages).fill((x, i) => i).map((x, i) => i + 1)\r\n\r\n                this.referral_list = res_data.referral_codes;\r\n                \r\n                this.referral_list.forEach((ref, index) => {\r\n                    this.hide_referral_detail[index] = \"true\";\r\n                    //jQuery('.referral' + index).hide(1000);\r\n                })\r\n\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    hide_referral_details(referral_index) {\r\n        this.hide_referral_detail[referral_index] = 'true'\r\n        jQuery('.referral' + referral_index).hide(1000);\r\n    }\r\n\r\n    show_referral_details(referral_index) {\r\n        this.hide_referral_detail[referral_index] = 'false'\r\n        jQuery('.referral' + referral_index).show(1000);\r\n    }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/view_referral_detail/view_referral_detail.component.ts","import {Component, OnInit} from '@angular/core';\r\nimport {Http, Response} from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport {Helper} from \"../../helper\";\r\n\r\n@Component({\r\n    selector: 'app-view_review_detail',\r\n    template: require('./view_review_detail.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class ViewReviewDetailComponent implements OnInit {\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    DATE_FORMAT: any;\r\n    review_id: Object;\r\n    user_first_name: String;\r\n    user_last_name: String;\r\n    provider_first_name: String;\r\n    provider_last_name: String;\r\n    store_name: String;\r\n\r\n    like_count: number;\r\n    dislike_count: number;\r\n    \r\n    user_rating_to_provider: Number;\r\n    user_review_to_provider: String;\r\n    user_rating_to_store: Number;\r\n    user_review_to_store: String;\r\n    provider_rating_to_user: Number;\r\n    provider_review_to_user: String;\r\n    provider_rating_to_store: Number;\r\n    provider_review_to_store: String;\r\n    store_rating_to_provider: Number;\r\n    store_review_to_provider: String;\r\n    store_rating_to_user: Number;\r\n    store_review_to_user: String;\r\n    order_unique_id: Number;\r\n    created_at: any;\r\n    myLoading: boolean = true;\r\n\r\n\r\n\r\n    constructor(public helper: Helper) {\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.review_id = this.helper.router_id.admin.view_review_detail_id;\r\n\r\n        this.helper.http.post('/admin/get_review_detail', {review_id: this.review_id}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n\r\n                this.helper.router.navigate(['admin/view_review_detail']);\r\n\r\n            }\r\n            else {\r\n\r\n                this.user_first_name = res_data.review_detail.user_detail[0].first_name\r\n                this.user_last_name = res_data.review_detail.user_detail[0].last_name\r\n                this.provider_first_name = res_data.review_detail.provider_detail[0].first_name\r\n                this.provider_last_name = res_data.review_detail.provider_detail[0].last_name\r\n                this.store_name = res_data.review_detail.store_detail[0].name\r\n                \r\n                this.like_count = res_data.review_detail.id_of_users_like_store_comment.length;\r\n                this.dislike_count = res_data.review_detail.id_of_users_dislike_store_comment.length;\r\n                \r\n                \r\n\r\n                this.user_rating_to_provider = res_data.review_detail.user_rating_to_provider\r\n                this.user_rating_to_provider = res_data.review_detail.user_rating_to_provider\r\n                this.user_review_to_provider = res_data.review_detail.user_review_to_provider\r\n\r\n                this.user_rating_to_store = res_data.review_detail.user_rating_to_store\r\n                this.user_review_to_store = res_data.review_detail.user_review_to_store\r\n\r\n                this.provider_rating_to_user = res_data.review_detail.provider_rating_to_user\r\n\r\n\r\n                this.provider_review_to_user = res_data.review_detail.provider_review_to_user\r\n                this.provider_rating_to_store = res_data.review_detail.provider_rating_to_store\r\n                this.provider_review_to_store = res_data.review_detail.provider_review_to_store\r\n\r\n                this.store_rating_to_provider = res_data.review_detail.store_rating_to_provider\r\n                this.store_review_to_provider = res_data.review_detail.store_review_to_provider\r\n                this.store_rating_to_user = res_data.review_detail.store_rating_to_user\r\n\r\n                this.store_review_to_user = res_data.review_detail.store_review_to_user\r\n                this.order_unique_id = res_data.review_detail.order_unique_id\r\n                this.created_at = res_data.review_detail.created_at\r\n\r\n            }\r\n\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.DATE_FORMAT = this.helper.DATE_FORMAT;\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/view_review_detail/view_review_detail.component.ts","import {Component, OnInit} from '@angular/core';\r\nimport {Http, Response} from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport {Helper} from \"../../helper\";\r\n\r\n@Component({\r\n    selector: 'app-view_service_detail',\r\n    template: require('./view_service_detail.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class ViewServiceDetailComponent implements OnInit {\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    service_id: Object;\r\n    service: any[];\r\n\r\n\r\n    country_id: Object;\r\n    city_id: Object;\r\n    delivery_type_id: Object;\r\n    name: String;\r\n   // delivery_service_id: Object;\r\n    country_name: String;\r\n    city_name: String;\r\n   // vehicle_name: String;\r\n   // delivery_name: String;\r\n    base_price_distance: Number;\r\n    //vehicle_id: Object;\r\n    base_price: Number;\r\n    price_per_unit_distance: Number;\r\n    price_per_unit_time: Number;\r\n    service_tax: Number;\r\n    min_fare: Number;\r\n    surge_price: Number;\r\n    cancellation_fee: Number;\r\n    admin_profit_mode_on_delivery: Number;\r\n    admin_profit_value_on_delivery: Number;\r\n    created_at: any;\r\n    updated_at: any;\r\n    myLoading: boolean = true;\r\n\r\n\r\n    constructor(public helper: Helper) {\r\n    }\r\n\r\n    ngOnInit() {\r\n\r\n        this.service_id = this.helper.router_id.admin.service_id;\r\n\r\n        this.helper.http.post('/admin/get_service_detail', {service_id: this.service_id}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n\r\n            if (res_data.success == false) {\r\n\r\n                this.helper.router.navigate(['admin/service']);\r\n\r\n            }\r\n            else {\r\n\r\n\r\n                this.country_name = res_data.service.country_details.country_name\r\n                this.city_name = res_data.service.city_details.city_name\r\n                this.name = res_data.service.delivery_type_details.name\r\n               // this.vehicle_name = res_data.service.vehicle_details.vehicle_name\r\n               // this.delivery_name = res_data.service.delivery_details.delivery_name\r\n                this.created_at = res_data.service.created_at\r\n                this.updated_at = res_data.service.updated_at\r\n                this.base_price_distance = res_data.service.base_price_distance\r\n                this.base_price = res_data.service.base_price\r\n                this.price_per_unit_distance = res_data.service.price_per_unit_distance\r\n                this.price_per_unit_time = res_data.service.price_per_unit_time\r\n                this.service_tax = res_data.service.service_tax\r\n                this.min_fare = res_data.service.min_fare\r\n                this.cancellation_fee = res_data.service.cancellation_fee\r\n               \r\n\r\n            }\r\n\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/view_service_detail/view_service_detail.component.ts","import {Component, OnInit, ViewContainerRef, ViewChild} from '@angular/core';\r\nimport {Response} from '@angular/http';\r\nimport {Helper} from \"../../helper\";\r\ndeclare var jQuery: any;\r\nimport { ModalComponent } from 'ng2-bs3-modal/ng2-bs3-modal';\r\n\r\n@Component({\r\n    selector: 'app-wallet_history',\r\n    template: require('./wallet_history.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class WalletHistoryComponent implements OnInit {\r\n\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    lable_title: any;\r\n    DATE_FORMAT: any;\r\n    wallet_list: any[];\r\n    sort_field: string;\r\n    sort_wallet: number;\r\n    sort_order: number;\r\n    search_field: number;\r\n    search_field1: string;\r\n    search_value: string;\r\n    start_date: string;\r\n    end_date: string;\r\n    page: number;\r\n    total_page: number;\r\n    total_pages: number[];\r\n    myLoading: boolean = true;\r\n    order_total: any = {\r\n        total_wallet: 0,\r\n        total_amount_refunded: 0,\r\n        total_wallet_bought: 0,\r\n        total_wallet_added_user: 0,\r\n        total_wallet_removed_user: 0,\r\n    }\r\n    @ViewChild('wallet_detail_modal')\r\n    wallet_detail_modal: ModalComponent;\r\n    @ViewChild('myModal')\r\n    modal: ModalComponent;\r\n    type: number = 7;\r\n    id: string = null;\r\n    wallet: number;\r\n    country_list: any[] = [];\r\n    city_list: any[] = [];\r\n    country_id: string = '';\r\n    country_name: string = '';\r\n    city_id: string = '';\r\n\r\n    detail: any = {\r\n\r\n    };\r\n    wallet_detail: any[] = [];\r\n\r\n    constructor(private helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n    ngAfterViewInit() {\r\n\r\n        jQuery(\".chosen-select\").chosen({disable_search: true});\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.sort_field = \"wallet\";\r\n        this.sort_wallet = -1;\r\n        this.sort_order = -1;\r\n        this.search_field = 7;\r\n        this.search_field1 = 'email';\r\n        this.search_value = \"\";\r\n        this.start_date = '';\r\n        this.end_date = '';\r\n        this.page = 1;\r\n\r\n\r\n        this.helper.message()\r\n\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.lable_title = this.helper.lable_title\r\n        this.DATE_FORMAT = this.helper.DATE_FORMAT\r\n        this.wallet_list = [];\r\n\r\n        this.wallet_history(1);\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_field').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_field = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_wallet').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_wallet = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_order').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_order = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#search_field').on('change', (evnt, res_data) => {\r\n\r\n            this.search_field = res_data.selected;\r\n            this.wallet_history(this.page);\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#country').on('change', (evnt, res_data) => {\r\n            this.city_id = '';\r\n            var country = res_data.selected.split('-');\r\n            this.country_id = country[0];\r\n            this.country_name = country[1];\r\n\r\n            if(res_data.selected){\r\n                this.get_city_list(res_data.selected);\r\n            } else {\r\n                this.city_list = [];\r\n                setTimeout(function () {\r\n                    jQuery(\"#city\").trigger(\"chosen:updated\");\r\n                }, 1000);\r\n            }\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#city').on('change', (evnt, res_data) => {\r\n            this.city_id = res_data.selected;\r\n        });\r\n\r\n        this.helper.http.get('/api/admin/get_country_list').map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            if (res_data.success) {\r\n                this.country_list = res_data.countries;\r\n                setTimeout(()=> {\r\n                    jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n                }, 1000);\r\n            }\r\n            else {\r\n                this.country_list = [];\r\n            }\r\n\r\n        });\r\n    }\r\n\r\n    get_city_list(countryid) {\r\n        this.helper.http.post('/api/admin/get_city_list', {country_id: countryid}).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            this.city_list = res_data.cities;\r\n            setTimeout(function () {\r\n                jQuery(\"#city\").trigger(\"chosen:updated\");\r\n            }, 1000);\r\n        });\r\n    }\r\n\r\n    activeRoute(routename: string): boolean {\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n\r\n    wallet_history(page) {\r\n        this.page = page;\r\n        this.helper.http.post('/admin/get_wallet_list', {\r\n            start_date: this.start_date, end_date: this.end_date,\r\n            sort_field: this.sort_field,\r\n            sort_order: this.sort_order,\r\n            search_field1: this.search_field1,\r\n            search_value: this.search_value,\r\n            search_field: this.search_field, page: this.page, country_name: this.country_name, country_id: this.country_id, city_id: this.city_id\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n                this.wallet_list = [];\r\n                this.total_pages = [];\r\n                this.order_total = {\r\n                    total_wallet: 0,\r\n                    total_amount_refunded: 0,\r\n                    total_wallet_bought: 0,\r\n                    total_wallet_added_user: 0,\r\n                    total_wallet_removed_user: 0,\r\n                }\r\n            } else {\r\n                this.order_total = res_data.order_total;\r\n                this.wallet_list = res_data.user_list;\r\n                this.total_page = res_data.pages;\r\n                this.total_pages = Array(res_data.pages).fill((x, i) => i).map((x, i) => i + 1)\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error);\r\n            });\r\n    }\r\n\r\n    view_wallet_detail(id, bool){\r\n        this.helper.http.post('/admin/get_wallet_detail', {\r\n            start_date: this.start_date, end_date: this.end_date,\r\n            id: id, search_field: this.search_field\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.detail = res_data.detail;\r\n            this.wallet_detail = res_data.wallet_detail;\r\n            var index = this.wallet_list.findIndex((x)=>x._id == this.id);\r\n            if(index !== -1){\r\n                this.wallet_list[index].wallet = res_data.detail.wallet;\r\n            }\r\n            if(bool){\r\n                this.wallet_detail_modal.open();\r\n            }\r\n        });\r\n    }\r\n    \r\n    \r\n    wallet_history_export_csv() {\r\n         this.helper.http.post('/admin/get_wallet_detail', {\r\n            start_date: this.start_date, end_date: this.end_date,\r\n            sort_field: this.sort_field, sort_wallet: this.sort_wallet,\r\n            search_field: this.search_field, search_value: this.search_value\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            var json2csv = require('json2csv');\r\n            res_data.wallet.forEach((wallet_detail, index) => {\r\n                if (wallet_detail.user_type == 7) {\r\n                    wallet_detail.type = this.lable_title.user;\r\n                } else if (wallet_detail.user_type == 8) {\r\n                    wallet_detail.type = this.lable_title.provider;\r\n                }else if (wallet_detail.user_type == 2) {\r\n                    wallet_detail.type = this.lable_title.store;\r\n                }\r\n                \r\n                \r\n                switch (wallet_detail.user_type) {\r\n                    case 7:\r\n                        wallet_detail.email = wallet_detail.user_detail[0].email;\r\n                        break;\r\n                    case 8:\r\n                        wallet_detail.email = wallet_detail.provider_detail[0].email;\r\n                        break;\r\n                    case 2:\r\n                        wallet_detail.email = wallet_detail.store_detail[0].email;\r\n                        break;\r\n                    default:\r\n                        wallet_detail.email = '';\r\n                }\r\n                \r\n                switch (wallet_detail.user_type) {\r\n                    case 7:\r\n                        wallet_detail.wallet_currency_code = wallet_detail.user_detail[0].wallet_currency_code;\r\n                        break;\r\n                    case 8:\r\n                        wallet_detail.wallet_currency_code = wallet_detail.provider_detail[0].wallet_currency_code;\r\n                        break;\r\n                    case 2:\r\n                        wallet_detail.wallet_currency_code = wallet_detail.store_detail[0].wallet_currency_code;\r\n                        break;\r\n                    default:\r\n                        wallet_detail.wallet_currency_code = '';\r\n                }\r\n                \r\n            });\r\n\r\n            var fieldNames = [this.title.ID,\r\n            this.title.type,\r\n            this.title.email,\r\n            this.title.date,\r\n            this.title.country,\r\n            this.title.currency,\r\n            this.title.wallet_amount,\r\n            this.title.add_cut,\r\n            this.title.wallet,\r\n            this.title.from_where\r\n            ];\r\n            var fields = ['unique_id',\r\n                'type',\r\n                'email',\r\n                'created_at',\r\n                // 'country_details.country_name',\r\n                'wallet_currency_code',\r\n                'wallet_amount',\r\n                'added_wallet',\r\n                'total_wallet_amount',\r\n                'wallet_description'\r\n            ];\r\n\r\n           \r\n            var csv = json2csv({data: res_data.wallet, fields: fields, fieldNames: fieldNames});\r\n\r\n            var final_csv: any = csv;\r\n            this.helper.downloadFile(final_csv);\r\n        });\r\n    }\r\n    \r\n    \r\n    \r\n    wallet_history_export_excel() {\r\n         this.helper.http.post('/admin/get_wallet_detail', {\r\n            start_date: this.start_date, end_date: this.end_date,\r\n            sort_field: this.sort_field, sort_wallet: this.sort_wallet,\r\n            search_field: this.search_field, search_value: this.search_value\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            var json_data = [];\r\n            var json2excel = require('js2excel');\r\n            res_data.wallet.forEach((wallet_detail, index) => {\r\n                if (wallet_detail.user_type == 7) {\r\n                    wallet_detail.type = this.lable_title.user;\r\n                } else if (wallet_detail.user_type == 8) {\r\n                    wallet_detail.type = this.lable_title.provider;\r\n                }else if (wallet_detail.user_type == 2) {\r\n                    wallet_detail.type = this.lable_title.store;\r\n                }\r\n                \r\n                \r\n                switch (wallet_detail.user_type) {\r\n                    case 7:\r\n                        wallet_detail.email = wallet_detail.user_detail[0].email;\r\n                        break;\r\n                    case 8:\r\n                        wallet_detail.email = wallet_detail.provider_detail[0].email;\r\n                        break;\r\n                    case 2:\r\n                        wallet_detail.email = wallet_detail.store_detail[0].email;\r\n                        break;\r\n                    default:\r\n                        wallet_detail.email = '';\r\n                }\r\n                \r\n                switch (wallet_detail.user_type) {\r\n                    case 7:\r\n                        wallet_detail.wallet_currency_code = wallet_detail.user_detail[0].wallet_currency_code;\r\n                        break;\r\n                    case 8:\r\n                        wallet_detail.wallet_currency_code = wallet_detail.provider_detail[0].wallet_currency_code;\r\n                        break;\r\n                    case 2:\r\n                        wallet_detail.wallet_currency_code = wallet_detail.store_detail[0].wallet_currency_code;\r\n                        break;\r\n                    default:\r\n                        wallet_detail.wallet_currency_code = '';\r\n                }\r\n                \r\n                \r\n                 json_data.push({\r\n                    \"ID\": wallet_detail.unique_id,\r\n                    \"Type\":wallet_detail.type,\r\n                    \"Email\":wallet_detail.email,\r\n                    // \"Country\":wallet_detail.country_details.country_name,\r\n                    \"Currency\":wallet_detail.wallet_currency_code,\r\n                    \"Wallet Amount\":wallet_detail.wallet_amount,\r\n                    \"Add/Cut\":wallet_detail.added_wallet,\r\n                    \"Wallet\":wallet_detail.total_wallet_amount,\r\n                    \"From Where\":wallet_detail.wallet_description,\r\n                    \"Date\":wallet_detail.created_at\r\n                 });\r\n                \r\n                \r\n            });\r\n            \r\n            json2excel.json2excel({\r\n                data: json_data,\r\n                name: 'wallet_history_excel',\r\n                formateDate: 'yyyy/mm/dd'\r\n            });\r\n           \r\n           \r\n        });\r\n    }\r\n\r\n    open_modal(type, id) {\r\n        this.id = id;\r\n        this.type = type;\r\n        this.modal.open();\r\n        this.wallet = null;\r\n    }\r\n\r\n    remove_all_wallet(id){\r\n        if(this.detail.wallet){\r\n            this.AddWallet({\r\n                type: this.type,\r\n                id: id,\r\n                wallet: -(this.detail.wallet)\r\n            })\r\n        }\r\n    }\r\n\r\n    AddWallet(add_wallet_data) {\r\n\r\n        if(localStorage.getItem('admin_id')){\r\n            add_wallet_data.admin_id = localStorage.getItem('admin_id');\r\n            this.helper.http.post('/admin/add_wallet', add_wallet_data).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n                if (res_data.success == true) {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n                    this.modal.close();\r\n                    this.helper.message();\r\n\r\n                    this.view_wallet_detail(this.detail._id, false);\r\n                } else {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message();\r\n                }\r\n            });\r\n        }\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/wallet_history/wallet_history.component.ts","import {Component, OnInit, ViewChild, ViewContainerRef} from '@angular/core';\r\nimport {Response} from '@angular/http';\r\nimport {Helper} from \"../../helper\";\r\ndeclare var jQuery: any;\r\nimport {ModalComponent} from 'ng2-bs3-modal/ng2-bs3-modal';\r\n@Component({\r\n    selector: 'app-wallet_request',\r\n    template: require('./wallet_request.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class WalletRequestComponent implements OnInit {\r\n\r\n    @ViewChild('myModal')\r\n    modal: ModalComponent;\r\n\r\n    title: any;\r\n    button: any;\r\n    ORDER_STATE: any;\r\n    DATE_FORMAT: any;\r\n    WALLET_REQUEST_STATUS: any;\r\n    heading_title: any;\r\n    status: any;\r\n    wallet_request_status: any;\r\n    lable_title: any;\r\n    wallet_request_list: any[];\r\n    sort_field: string;\r\n    sort_wallet_request: number;\r\n    search_field: string;\r\n    search_value: string;\r\n    start_date: string;\r\n    end_date: string;\r\n    page: number;\r\n    total_page: number;\r\n    total_pages: number[];\r\n    myLoading: boolean = true;\r\n    interval: any;\r\n\r\n    wallet_request_id: Object;\r\n\r\n    approved_requested_wallet_amount: number;\r\n    transaction_details: string;\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n        jQuery(\".chosen-select\").chosen({disable_search: true});\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.sort_field = \"unique_id\";\r\n        this.sort_wallet_request = -1;\r\n        this.search_field = \"description_for_request_wallet_amount\";\r\n        this.search_value = \"\";\r\n        this.start_date = '';\r\n        this.end_date = '';\r\n        this.page = 1;\r\n        this.helper.message();\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.ORDER_STATE = this.helper.ORDER_STATE\r\n        this.WALLET_REQUEST_STATUS = this.helper.WALLET_REQUEST_STATUS\r\n        this.DATE_FORMAT = this.helper.DATE_FORMAT\r\n        this.status = this.helper.status\r\n        this.wallet_request_status = this.helper.wallet_request_status\r\n        this.lable_title = this.helper.lable_title\r\n        this.wallet_request_list = [];\r\n        this.wallet_request_id = \"\";\r\n\r\n        this.walletRequestDetail()\r\n\r\n        this.interval = setInterval(() => {\r\n            this.walletRequestDetail()\r\n        }, this.helper.TIMEOUT.NEW_ORDER_REQUEST);\r\n\r\n        this.wallet_request(1);\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_field').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_field = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_wallet_request').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_wallet_request = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#search_field').on('change', (evnt, res_data) => {\r\n\r\n            this.search_field = res_data.selected;\r\n\r\n        });\r\n    }\r\n\r\n\r\n\r\n\r\n    wallet_request(page) {\r\n        this.myLoading = true;\r\n        this.page = page;\r\n        this.helper.http.post('/admin/get_wallet_request_list_search_sort', {\r\n            start_date: this.start_date, end_date: this.end_date,\r\n            sort_field: this.sort_field, sort_wallet_request: this.sort_wallet_request,\r\n            search_field: this.search_field, search_value: this.search_value, page: this.page\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n                this.wallet_request_list = [];\r\n                this.total_pages = [];\r\n            }\r\n            else {\r\n                this.wallet_request_list = res_data.wallet_request;\r\n                this.total_page = res_data.pages;\r\n                this.total_pages = Array(res_data.pages).fill((x, i) => i).map((x, i) => i + 1)\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n\r\n    ngOnDestroy() {\r\n        clearInterval(this.interval);\r\n    }\r\n\r\n\r\n    walletRequestDetail() {\r\n        this.helper.http.post('/admin/get_wallet_request_list_search_sort', {\r\n            start_date: this.start_date, end_date: this.end_date,\r\n            sort_field: this.sort_field, sort_wallet_request: this.sort_wallet_request,\r\n            search_field: this.search_field, search_value: this.search_value, page: this.page\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n                this.wallet_request_list = [];\r\n                this.total_page = res_data.pages;\r\n                this.total_pages = Array(res_data.pages).fill((x, i) => i).map((x, i) => i + 1)\r\n            }\r\n            else {\r\n                this.total_page = res_data.pages;\r\n                this.total_pages = Array(res_data.pages).fill((x, i) => i).map((x, i) => i + 1)\r\n\r\n                this.wallet_request_list.forEach((value, index) => {\r\n                    var new_index = res_data.wallet_request.findIndex(x => x._id == this.wallet_request_list[index]._id)\r\n                    if (new_index == -1) {\r\n                        this.wallet_request_list.splice(index, 1)\r\n                    }\r\n                    else {\r\n                        this.wallet_request_list[index].wallet_status = res_data.wallet_request[new_index].wallet_status;\r\n\r\n                    }\r\n                });\r\n\r\n                res_data.wallet_request.forEach((new_value, index) => {\r\n                    var aaa = this.wallet_request_list.findIndex(x => x._id == res_data.wallet_request[index]._id)\r\n\r\n                    if (aaa == -1) {\r\n                        this.wallet_request_list.push(new_value)\r\n                    }\r\n\r\n                });\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n\r\n    viewBankDetail(id) {\r\n        this.helper.router_id.admin.wallet_request_bank_detail_id = id;\r\n        this.helper.router.navigate(['/admin/view_bank_detail']);\r\n    }\r\n\r\n\r\n\r\n    open_modal(id) {\r\n        this.wallet_request_id = id;\r\n        this.modal.open();\r\n        var index = this.wallet_request_list.findIndex(x => x._id == id);\r\n        this.approved_requested_wallet_amount = this.wallet_request_list[index].requested_wallet_amount;\r\n\r\n    }\r\n\r\n    TransferWalletRequestAmount(add_wallet_request_data) {\r\n        this.helper.http.post('/admin/transfer_wallet_request_amount', add_wallet_request_data).map((res: Response) => res.json()).subscribe(res_data => {\r\n            if (res_data.success == true) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.modal.close();\r\n                var index = this.wallet_request_list.findIndex(x => x._id == add_wallet_request_data.wallet_request_id);\r\n                this.wallet_request_list[index].wallet_status = res_data.wallet_request.wallet_status;\r\n\r\n            }\r\n\r\n        });\r\n    }\r\n\r\n    CompleteWalletRequest(data) {\r\n        this.myLoading = true;\r\n        this.helper.http.post('/admin/complete_wallet_request_amount', {id: data.wallet_request_id, wallet_status: data.wallet_status}).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message()\r\n            }\r\n            else {\r\n                var index = this.wallet_request_list.findIndex(x => x._id == data.wallet_request_id);\r\n                this.wallet_request_list[index].wallet_status = res_data.wallet_request.wallet_status;\r\n\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n\r\n    }\r\n\r\n\r\n    AcceptWalletRequest(data) {\r\n        this.myLoading = true;\r\n        this.helper.http.post('/admin/approve_wallet_request_amount', {id: data.wallet_request_id, wallet_status: data.wallet_status}).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message()\r\n            }\r\n            else {\r\n                var index = this.wallet_request_list.findIndex(x => x._id == data.wallet_request_id);\r\n                this.wallet_request_list[index].wallet_status = res_data.wallet_request.wallet_status;\r\n\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n\r\n    }\r\n\r\n\r\n    CancleWalletRequest(data) {\r\n        this.myLoading = true;\r\n        this.helper.http.post('/admin/cancel_wallet_request', {id: data.wallet_request_id, wallet_status: data.wallet_status, type: 1}).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message()\r\n            }\r\n            else {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.message,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.helper.message()\r\n                var index = this.wallet_request_list.findIndex(x => x._id == data.wallet_request_id);\r\n                this.wallet_request_list[index].wallet_status = res_data.wallet_request.wallet_status;\r\n\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/wallet_request/wallet_request.component.ts","import {Component, OnInit} from '@angular/core';\r\nimport {Http, Response} from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport {Helper} from \"../../helper\";\r\n\r\n@Component({\r\n    selector: 'app-wallet_request_bank_detail',\r\n    template: require('./wallet_request_bank_detail.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class WalletRequestBankDetailComponent implements OnInit {\r\n\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    wallet_request_bank_detail_id: Object;\r\n    bank_detail: any[];\r\n\r\n\r\n    bank_name: String;\r\n    bank_branch: String;\r\n    bank_account_number: String;\r\n    bank_account_holder_name: String;\r\n    bank_beneficiary_address: String;\r\n    bank_unique_code: String;\r\n    bank_swift_code: String;\r\n\r\n    created_at: any;\r\n    updated_at: any;\r\n    myLoading: boolean = true;\r\n\r\n\r\n    constructor(public helper: Helper) {\r\n    }\r\n\r\n    ngOnInit() {\r\n\r\n        this.wallet_request_bank_detail_id = this.helper.router_id.admin.wallet_request_bank_detail_id;\r\n\r\n        this.helper.http.post('/admin/get_wallet_request_bank_detail', {bank_detail_id: this.wallet_request_bank_detail_id}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n\r\n            if (res_data.success == false) {\r\n                this.helper.router.navigate(['admin/provider/view_bank_detail']);\r\n            }\r\n            else {\r\n\r\n                this.bank_name = res_data.bank_detail.bank_name\r\n                this.created_at = res_data.bank_detail.created_at\r\n                this.updated_at = res_data.bank_detail.updated_at\r\n                this.bank_branch = res_data.bank_detail.bank_branch\r\n                this.bank_account_number = res_data.bank_detail.bank_account_number\r\n                this.bank_account_holder_name = res_data.bank_detail.bank_account_holder_name\r\n                this.bank_beneficiary_address = res_data.bank_detail.bank_beneficiary_address\r\n                this.bank_unique_code = res_data.bank_detail.bank_unique_code\r\n                this.bank_swift_code = res_data.bank_detail.bank_swift_code\r\n\r\n\r\n            }\r\n\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/wallet_request_bank_detail/wallet_request_bank_detail.component.ts","import { Component, OnInit, ViewChild ,ElementRef} from '@angular/core';\r\nimport {Response } from '@angular/http';\r\nimport {Helper} from \"../../franchise_helper\";\r\ndeclare var jQuery:any;\r\ndeclare var swal: any;\r\nimport { ModalComponent } from 'ng2-bs3-modal/ng2-bs3-modal';\r\n\r\nexport interface AddItem{\r\n    franchise_id: Object,\r\n    server_token:String,\r\n    product_id: Object,\r\n    details: String,\r\n    name: String,\r\n    price: number,\r\n    is_visible_in_store:  Boolean,\r\n    is_item_in_stock: Boolean,\r\n    is_most_popular:  Boolean,\r\n    item_specification_name:String,\r\n    type:Number,\r\n    store_ids:any[],\r\n    specification_group_id: Object,\r\n    specifications_unique_id_count: number,\r\n    is_required: Boolean\r\n}\r\n\r\nexport interface imageSetting{\r\n    image_ratio: number,\r\n    image_min_width: number,\r\n    image_max_width: number\r\n    image_min_height: number,\r\n    image_max_height: number,\r\n    image_type: any[]\r\n}\r\n\r\n@Component({\r\n  selector: 'app-add_item',\r\n  template: require('./add_item.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class AddFranchiseItemComponent implements OnInit {\r\n\r\n    @ViewChild('myModal')\r\n    modal: ModalComponent;\r\n     @ViewChild('myspec_group_modal')\r\n    myspec_group_modal: ModalComponent;\r\n    \r\n    private add_item: AddItem;\r\n    public image_setting : imageSetting;\r\n    title:any;\r\n    button:any;\r\n    heading_title:any;\r\n    validation_message:any;\r\n    product_list:any[];\r\n    store_list:any[];\r\n    product_data:any;\r\n    product_specification_list:any[];\r\n    product_specification_group_list:any[];\r\n    specification_id_array:any[];\r\n    selected_specification_list:any[];\r\n    item_specification_list:any[];\r\n    spec_list_error:number;\r\n    // htmlToAdd:string;\r\n    image_array:any[];\r\n    myLoading:boolean = true;\r\n    new_image_array: any[] = [];\r\n    checked_array: any[] = [];\r\n    item_list: any[] = [];\r\n    item_already_exist: Boolean = false;\r\n    message:any;\r\n    image_error: string = '';\r\n\r\n    constructor(private helper:Helper) {\r\n\r\n    }\r\n    ngAfterViewInit() {\r\n\r\n            jQuery(\"#product\").chosen();\r\n            // setTimeout(function() {\r\n            //     jQuery('.iradio').iCheck({\r\n            //         handle:'radio',\r\n            //         radioClass: 'iradio_square-green'\r\n            //     });\r\n            // }, 1000);\r\n\r\n            // jQuery(\"input[name='price']\").TouchSpin({\r\n            //     min: 0,\r\n            //     step:1,\r\n            //     decimals:2,\r\n            //     initval: 10,\r\n            //     boostat: 5,\r\n            //     forcestepdivisibility:'none'\r\n            // });\r\n    }\r\n\r\n    ngOnInit() {\r\n        let token = this.helper.tokenService.getToken();\r\n\r\n        if(!token || !token.token) {\r\n            this.helper.router.navigate(['franchise/login']);\r\n        }\r\n        this.add_item ={\r\n            franchise_id: \"\",\r\n            server_token:\"\",\r\n            product_id: \"\",\r\n            details: \"\",\r\n            name: \"\",\r\n            price: 10,\r\n            is_visible_in_store:  true,\r\n            is_item_in_stock: true,\r\n            is_most_popular:  false,\r\n            type:1,\r\n            store_ids:[],\r\n            item_specification_name:\"\",\r\n            specification_group_id:\"\",\r\n            specifications_unique_id_count:0,\r\n            is_required:false\r\n        }\r\n\r\n        this.image_setting = {\r\n            image_ratio : 1,\r\n            image_min_width: 100,\r\n            image_max_width: 100,\r\n            image_min_height: 100,\r\n            image_max_height: 100,\r\n            image_type: []\r\n        }\r\n        let franchise = JSON.parse(localStorage.getItem('franchise'));\r\n        if(franchise!==null)\r\n        {\r\n            this.add_item.franchise_id=franchise._id\r\n            this.add_item.server_token=franchise.server_token\r\n\r\n            this.helper.http.post(this.helper.POST_METHOD.GET_PRODUCT_LIST,{franchise_id:franchise._id, server_token:franchise.server_token}).map((res_data: Response) => res_data.json()) .subscribe(res_data => {\r\n\r\n                this.myLoading=false;\r\n                if(res_data.success === false) {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message()\r\n                    this.product_data= {};\r\n                    this.product_list = [];\r\n                    this.item_list= [];\r\n                } else {\r\n                    this.product_data = res_data.products\r\n                    this.product_list = res_data.products\r\n                    this.item_list = res_data.item_array;\r\n                    setTimeout(function() {\r\n                        jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n                    },1000);\r\n                }\r\n            },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n\r\n            this.helper.http.post(this.helper.POST_METHOD.GET_PRODUCT_LIST, {\r\n            }).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n                    this.image_setting.image_ratio = res_data.image_setting.item_image_ratio;\r\n                    this.image_setting.image_min_width = res_data.image_setting.item_image_min_width;\r\n                    this.image_setting.image_max_width = res_data.image_setting.item_image_max_width;\r\n                    this.image_setting.image_min_height = res_data.image_setting.item_image_min_height;\r\n                    this.image_setting.image_max_height = res_data.image_setting.item_image_max_height;\r\n                    this.image_setting.image_type = res_data.image_setting.image_type;\r\n                },\r\n                (error: any) => {\r\n                    this.myLoading = false;\r\n                    this.helper.http_status(error)\r\n                });\r\n        }\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.heading_title=this.helper.heading_title;\r\n        this.validation_message=this.helper.validation_message;\r\n        this.message = this.helper.messages;\r\n        this.specification_id_array=[];\r\n        this.selected_specification_list=[];\r\n        this.item_specification_list=[];\r\n        this.spec_list_error=0\r\n        this.product_specification_group_list=[];\r\n        this.image_array=[];\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#product').on('change', (evnt,res_data) => {\r\n\r\n            this.add_item.product_id=res_data.selected;\r\n            this.item_specification_list=[];\r\n            this.set_specification_list(res_data.selected)\r\n            this.check_item();\r\n        });\r\n        setTimeout( () => {\r\n            jQuery(this.helper.elementRef.nativeElement).find('.bootstrap-touchspin-down').on('click', (evnt, res_data) => {\r\n                if(this.add_item.price > 0) {\r\n                    this.add_item.price--;\r\n                }\r\n            });\r\n            jQuery(this.helper.elementRef.nativeElement).find('.bootstrap-touchspin-up').on('click', (evnt, res_data) => {\r\n                this.add_item.price++;\r\n            });\r\n        },1000);\r\n\r\n    }\r\n    \r\n    check_item()\r\n    {\r\n        var item_index = this.item_list.findIndex(x => x.item_name.toLowerCase()==this.add_item.name.toLowerCase() && x.product_id==this.add_item.product_id )\r\n        if(item_index == -1)\r\n        {\r\n            this.item_already_exist = false;\r\n        }\r\n        else\r\n        {\r\n            this.item_already_exist = true;\r\n        }\r\n    }\r\n    \r\n    public formData = new FormData();\r\n\r\n    image_update($event, fieldname) {\r\n        this.image_error = \"\";\r\n        const files = $event.target.files || $event.srcElement.files;\r\n\r\n        for(var i=0; i<files.length; i++){\r\n            const image_url = files[i];\r\n            var index = this.image_setting.image_type.indexOf(image_url.type);\r\n            if (index !== -1) {\r\n                var reader = new FileReader();\r\n\r\n                reader.onload = (e: any) => {\r\n                    var new_image = new Image();\r\n                    new_image.src = e.target.result;\r\n                    new_image.onload = () => {\r\n\r\n                        if(new_image.width >= this.image_setting.image_min_width && new_image.width < this.image_setting.image_max_width &&\r\n                            new_image.height >= this.image_setting.image_min_height && new_image.height < this.image_setting.image_max_height ){\r\n\r\n                            if(new_image.width == (new_image.height * this.image_setting.image_ratio)){\r\n\r\n                                this.new_image_array.unshift({base64_image: e.target.result, file: image_url});\r\n                            } else {\r\n                                this.image_error = this.title.item_image_ratio_error;\r\n                            }\r\n\r\n                        } else {\r\n                            this.image_error = this.title.item_image_size_error;\r\n                        }\r\n\r\n                    }\r\n                }\r\n                reader.readAsDataURL(image_url);\r\n            } else {\r\n                this.image_error = this.title.item_image_extension_error;\r\n            }\r\n        }\r\n    }\r\n\r\n    remove_new_image(index)\r\n    {\r\n        this.new_image_array.splice(index , 1)\r\n    }\r\n\r\n    open_specification_group_modal()\r\n    {\r\n        this.myspec_group_modal.open();\r\n    }\r\n\r\n    open_specification_modal(id , product_id ,name , unique_id)\r\n    {\r\n        this.myLoading=true;\r\n        this.checked_array=[];\r\n        this.add_item.specification_group_id = id;\r\n        // this.add_item.specification_group_unique_id = unique_id;\r\n        this.myspec_group_modal.close();\r\n        var json =  {    franchise_id:this.add_item.franchise_id, \r\n                        server_token:this.add_item.server_token,\r\n                        product_id:product_id,\r\n                        specification_group_id:id\r\n                    }\r\n        this.add_item.is_required=false;\r\n        this.add_item.type=1;\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_SOECIFICATION_LIST, json).map((res_data: Response) => res_data.json()) .subscribe(res_data => {\r\n\r\n                this.myLoading=false;\r\n                if(res_data.success == false)\r\n                {\r\n\r\n                        this.helper.data.storage = {\r\n                            \"code\": res_data.error_code,\r\n                            \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                            \"class\": \"alert-danger\"\r\n                        }\r\n\r\n                        this.add_item.item_specification_name=name;\r\n                        this.product_specification_list=[];\r\n                        this.modal.open();\r\n\r\n\r\n                }\r\n                else\r\n                {\r\n                    this.add_item.item_specification_name=name;\r\n                    this.product_specification_list=res_data.specification_list.specifications;\r\n                    this.modal.open();\r\n                }\r\n                this.update_check_box();\r\n               \r\n\r\n            },\r\n            (error: any) => {\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n    update_store_check_box()\r\n    {\r\n        setTimeout(() => {\r\n            jQuery('.icheck1').iCheck({\r\n                handle: 'checkbox',\r\n                checkboxClass: 'icheckbox_square-green',\r\n            });\r\n            jQuery('#1').iCheck('check');\r\n\r\n            jQuery('.icheck1').on('ifChecked', (event) => {\r\n                var id = event.target.getAttribute('value')\r\n                this.add_item.store_ids.push(id);\r\n                console.log(this.add_item.store_ids);\r\n                //this.store_list[checked_index]=true;\r\n            });\r\n\r\n            jQuery('.icheck1').on('ifUnchecked', (event) => {\r\n                var id = event.target.getAttribute('value')\r\n                var i = this.add_item.store_ids.indexOf(id);\r\n                if(i != -1) {\r\n                    this.add_item.store_ids.splice(i, 1);\r\n                }\r\n                console.log(\"uncheck: \"+id);\r\n                /*var checked_index = this.product_specification_list.findIndex(x => x._id == id);\r\n                this.store_list[checked_index]=false;*/\r\n            });\r\n\r\n        },1000);\r\n    }\r\n    update_check_box()\r\n    {\r\n        setTimeout(() => {\r\n            jQuery('.icheck').iCheck({\r\n                handle: 'checkbox',\r\n                checkboxClass: 'icheckbox_square-green',\r\n            });\r\n            jQuery('#1').iCheck('check');\r\n\r\n            jQuery('.icheck').on('ifChecked', (event) => {\r\n                var id = event.target.getAttribute('value')\r\n                this.specification_id_array.push(id)\r\n                var checked_index = this.product_specification_list.findIndex(x => x._id == id);\r\n\r\n                this.checked_array[checked_index]=true;\r\n            });\r\n\r\n            jQuery('.icheck').on('ifUnchecked', (event) => {\r\n                var id = event.target.getAttribute('value')\r\n                var i = this.specification_id_array.indexOf(id);\r\n                if(i != -1) {\r\n                    this.specification_id_array.splice(i, 1);\r\n                }\r\n                var checked_index = this.product_specification_list.findIndex(x => x._id == id);\r\n                this.product_specification_list[checked_index].price = 0;\r\n                this.product_specification_list[checked_index].is_default_selected = false;\r\n                this.checked_array[checked_index]=false;\r\n            });\r\n\r\n            jQuery('.iradio').iCheck({\r\n                handle:'radio',\r\n                radioClass: 'iradio_square-green'\r\n            });\r\n\r\n            jQuery('.iradio').on('ifChanged', (event) => {\r\n                var value = Number(event.target.getAttribute('value'))\r\n                this.add_item.type=value\r\n                for(var i=0; i<=this.product_specification_list.length - 1; i++)\r\n                {\r\n                    this.product_specification_list[i].is_default_selected=false;\r\n                }\r\n            });\r\n        },1000);\r\n    }\r\n\r\n    addSpecification(data)\r\n    {\r\n        var size = this.specification_id_array.length;\r\n        if(size == 0)\r\n        {\r\n            this.spec_list_error=1\r\n        }\r\n        else\r\n        {\r\n            for(var i=0; i<size; i++)\r\n            {\r\n                var product_size = this.product_specification_list.length;\r\n                for(var j=0; j<product_size ; j++)\r\n                {\r\n                    if(this.product_specification_list[j]._id === this.specification_id_array[i])\r\n                    {\r\n                        this.selected_specification_list.push({_id:this.product_specification_list[j]._id,\r\n                                     unique_id:this.product_specification_list[j].unique_id,\r\n                                     name:this.product_specification_list[j].name,\r\n                                     price:Number(this.product_specification_list[j].price),\r\n                                     is_default_selected:this.product_specification_list[j].is_default_selected,\r\n                                     is_user_selected:false});\r\n                    }\r\n                }\r\n            }\r\n            this.add_item.specifications_unique_id_count++;\r\n            this.selected_specification_list.sort(this.sortSpecification);\r\n            this.item_specification_list.push({_id:data.specification_group_id ,\r\n                                                    is_required:data.is_required,\r\n                                                    name:data.item_specification_name,\r\n                                                   type:data.type,\r\n                                                    unique_id:this.add_item.specifications_unique_id_count,\r\n                                                   list:this.selected_specification_list})\r\n            this.modal.close()\r\n            this.selected_specification_list=[];\r\n            this.specification_id_array=[];\r\n            this.spec_list_error=0;\r\n            var franchise = JSON.parse(localStorage.getItem('franchise'));\r\n\r\n            this.helper.http.post(this.helper.POST_METHOD.GET_PRODUCT_LIST,{franchise_id:franchise._id, server_token:franchise.server_token}).map((res_data: Response) => res_data.json()) .subscribe(res_data => {\r\n\r\n                if(res_data.success == false)\r\n                {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    \r\n                    this.add_item.item_specification_name=\"\";\r\n                    this.add_item.type=1;\r\n                }\r\n                else\r\n                {\r\n                    this.product_data=res_data.products;\r\n                    this.add_item.item_specification_name=\"\";\r\n                    this.add_item.type=1;\r\n                    this.set_specification_list(this.add_item.product_id);\r\n                }\r\n            },\r\n            (error: any) => {\r\n                this.helper.http_status(error)\r\n            });\r\n        }\r\n    }\r\n    sortSpecification(a,b) {\r\n        if (a.name < b.name)\r\n          return -1;\r\n        if (a.name > b.name)\r\n          return 1;\r\n        return 0;\r\n    }\r\n    delete_item_specification(specification)\r\n    {\r\n\r\n\r\n        swal({\r\n            title: 'Are you sure?',\r\n            text: \"You won't be able to revert this!\",\r\n            type: 'warning',\r\n            showCancelButton: true,\r\n            confirmButtonColor: '#3085d6',\r\n            cancelButtonColor: '#d33',\r\n            confirmButtonText: 'Yes, delete it!'\r\n          }).then(() => {\r\n                var i = this.item_specification_list.indexOf(specification);\r\n                if(i != -1) {\r\n                    this.item_specification_list.splice(i, 1);\r\n                }\r\n                swal(\r\n                  'Deleted!',\r\n                  'Your file has been deleted.',\r\n                  'success'\r\n                );\r\n        }).catch(swal.noop)\r\n    }\r\n\r\n    set_specification_list(productid)\r\n    {\r\n        console.log(\"productid: \");\r\n        console.log(productid);\r\n            var franchise = JSON.parse(localStorage.getItem('franchise'));\r\n            this.helper.http.post(this.helper.POST_METHOD.GET_PRODUCT_STORE_LIST,{franchise_id:franchise._id, server_token:franchise.server_token,product_id:productid}, {\r\n            }).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n                    this.store_list = [];\r\n                    this.add_item.store_ids = [];\r\n                    console.log(res_data);\r\n                    if(res_data.success === false) {\r\n\r\n                    }else{\r\n                        for(var j=0;j<res_data.products.length;j++){\r\n                            this.store_list.push(res_data.products[j].store_list);\r\n                        }\r\n                         this.update_store_check_box();\r\n                    }                 \r\n                    \r\n            },\r\n            (error: any) => {\r\n                    this.myLoading = false;\r\n                    this.helper.http_status(error)\r\n            });\r\n        for(var i=0; i<=this.product_data.length-1; i++)\r\n        {\r\n            if(this.product_data[i]._id === productid)\r\n            {\r\n                this.product_specification_group_list=this.product_data[i].specifications_details;\r\n                //this.product_specification_list=this.product_data[i].specifications_details;\r\n\r\n            }\r\n        }\r\n        \r\n    }\r\n    onChange(event, id)\r\n    {\r\n        if(this.add_item.type == 1)\r\n        {\r\n            if(event == true)\r\n            {\r\n                for(var i=0; i<=this.product_specification_list.length - 1; i++)\r\n                {\r\n                    if(this.product_specification_list[i]._id !== id)\r\n                    {\r\n                        if(this.product_specification_list[i].is_default_selected == true)\r\n                        {\r\n                            this.product_specification_list[i].is_default_selected=false\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n        }\r\n    }\r\n\r\n    addItem(itemdata)\r\n    {\r\n        this.myLoading=true;\r\n        itemdata.name=itemdata.name.trim();\r\n        itemdata.store_id = this.add_item.store_ids;\r\n        console.log(itemdata);\r\n        setTimeout( () => {\r\n            this.helper.http.post(this.helper.POST_METHOD.ADD_ITEM,itemdata).map((res:Response) => res.json()).subscribe(res_data=>{\r\n\r\n                \r\n                if(res_data.success == true)\r\n                {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n                    if(this.new_image_array.length > 0)\r\n                    {\r\n                        this.new_image_array.forEach((image , index) =>{\r\n                            if(image !== undefined)\r\n                            {\r\n                                this.formData.append(index, image.file);\r\n                            }\r\n                        });\r\n                        this.formData.append(\"item_id\", res_data.item._id);\r\n                        this.helper.http.post(this.helper.POST_METHOD.UPLOAD_ITEM_IMAGE,this.formData).map((res:Response) => res.json()).subscribe(res_data=>{\r\n                            this.myLoading=false;\r\n                            this.helper.router.navigate(['franchise/item']);\r\n                        },\r\n                        (error: any) => {\r\n                            this.myLoading=false;\r\n                            this.helper.http_status(error)\r\n                        });\r\n                    }\r\n                    else\r\n                    {\r\n                        this.myLoading=false;\r\n                        this.helper.router.navigate(['franchise/item']);\r\n                    }\r\n\r\n                }\r\n                else\r\n                {\r\n                    \r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.router.navigate(['franchise/item']);\r\n                }\r\n            },\r\n            (error: any) => {\r\n                this.myLoading=false;\r\n                this.helper.http_status(error)\r\n            });\r\n        },5000);\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/add_item/add_item.component.ts","import { Component, OnInit, ViewChild ,ElementRef,ViewContainerRef} from '@angular/core';\r\nimport {Response } from '@angular/http';\r\nimport {Helper} from \"../../franchise_helper\";\r\ndeclare var jQuery:any;\r\ndeclare var swal: any;\r\nimport { ModalComponent } from 'ng2-bs3-modal/ng2-bs3-modal';\r\n\r\nexport interface FranchiseStoreRegister{\r\n\r\n        name: String,\r\n        email: String,\r\n        password: String,\r\n        social_unique_id: String,\r\n        login_by:String,\r\n        confirm_password: String,\r\n        website_url: String,\r\n        slogan: String,\r\n        country_id: Object,\r\n        city_id: Object,\r\n        address: String,\r\n        country_phone_code: String,\r\n        phone: Number,\r\n        store_delivery_id: Object,\r\n        latitude: Number,\r\n        longitude: Number,\r\n        famous_for: String,\r\n        image_url: String,\r\n       \r\n        is_email_verified:Boolean,\r\n        is_phone_number_verified:Boolean\r\n}\r\n\r\n@Component({\r\n  selector: 'app-add_store',\r\n  template: require('./add_store.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class AddFranchiseStoreComponent implements OnInit {\r\n\r\n    @ViewChild('myModal')\r\n    modal: ModalComponent;\r\n\r\n    private store_register: FranchiseStoreRegister;\r\n    title:any;\r\n    button:any;\r\n    code:any;\r\n    image_url:string;\r\n    minimum_phone_number_length:number;\r\n    maximum_phone_number_length:number;\r\n    country_list:any[];\r\n    city_list:any[];\r\n    delivery_list:any[];\r\n    country_phone_code_list:any[];\r\n    setting_data:any;\r\n    otp_for_email:number;\r\n    otp_for_sms:number;\r\n    stor_data:any;\r\n    opt_error_message:number;\r\n    is_referral:Boolean = true;\r\n    is_country_referral:Boolean = true;\r\n    referral_code:string = '';\r\n    is_referral_apply:Boolean = false;\r\n    validation_message:any;\r\n\r\n\r\n    myLoading:boolean = true;\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef){\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n            jQuery(\".chosen-select\").chosen();\r\n    }\r\n\r\n    \r\n    ngOnInit() {\r\n\r\n        let token = this.helper.tokenService.getToken();\r\n        \r\n        /*if(token && token.token) {\r\n            this.helper.data.storage = {\r\n                \"message\": 999,\r\n                \"class\": \"alert-info\"\r\n            }\r\n\r\n            this.helper.router.navigate(['franchise/stores']);\r\n        }*/\r\n        this.helper.message()\r\n\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.validation_message=this.helper.validation_message;\r\n\r\n        this.store_register ={\r\n\r\n            name: \"\",\r\n            email: \"\",\r\n            password: \"\",\r\n            social_unique_id: \"\",\r\n            login_by: this.title.manual,\r\n            confirm_password: \"\",\r\n            website_url: \"\",\r\n            slogan: \"\",\r\n            country_id: \"\",\r\n            city_id: \"\",\r\n            address: \"\",\r\n            country_phone_code: \"\",\r\n            phone: null,\r\n            store_delivery_id: \"\",\r\n            latitude: null,\r\n            longitude: null,\r\n            famous_for: \"\",\r\n            image_url: \"./default.png\",\r\n          \r\n            is_phone_number_verified: false,\r\n            is_email_verified : false\r\n\r\n        }\r\n        this.helper.http.get(this.helper.GET_METHOD.GET_COUNTRY_LIST).map((response: Response) => response.json()) .subscribe(res_data => {\r\n\r\n            this.country_list = res_data.countries;\r\n            setTimeout(function() {\r\n                jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n            },1000);\r\n\r\n        },\r\n        (error: any) => {\r\n                this.helper.http_status(error)\r\n        });\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_SETTING_DETAIL,{}).map((response: Response) => response.json()) .subscribe(res_data => {\r\n            this.myLoading=false;\r\n            this.setting_data=res_data.setting\r\n\r\n          \r\n            if(res_data.setting.is_show_optional_field_in_franchise_register == false)\r\n            {\r\n                jQuery(\"#Optiona_field\").css(\"display\", \"none\");\r\n            }\r\n            if(!this.setting_data.is_franchise_login_by_social){\r\n                jQuery('#social').hide();\r\n            }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n        this.city_list=[]\r\n        this.minimum_phone_number_length=10\r\n        this.maximum_phone_number_length=10\r\n        this.delivery_list=[]\r\n\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#country').on('change', (evnt,res_data) => {\r\n\r\n                        this.get_city_list(res_data.selected)\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#city').on('change', (evnt,res_data) => {\r\n\r\n                        this.get_delivery_list(res_data.selected)\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#delivery').on('change', (evnt,res_data) => {\r\n\r\n                        this.store_register.store_delivery_id=res_data.selected\r\n\r\n        });\r\n\r\n\r\n    }\r\n    public formData = new FormData();\r\n\r\n    image_update($event) {\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const image_url = files[0];\r\n\r\n        if(image_url.type == \"image/jpeg\" || image_url.type == \"image/jpg\" || image_url.type == \"image/png\")\r\n        {\r\n            this.formData = new FormData();\r\n            this.image_url= image_url\r\n            var reader = new FileReader();\r\n\r\n            reader.onload =  (e : any) => {\r\n                this.store_register.image_url = e.target.result\r\n            }\r\n            reader.readAsDataURL(image_url);\r\n        }\r\n\r\n    }\r\n    generate_file(image_url){\r\n        var getFileBlob = function (url, cb) {\r\n            var xhr = new XMLHttpRequest();\r\n            xhr.open(\"GET\", url);\r\n            xhr.responseType = \"blob\";\r\n            xhr.addEventListener('load', function() {\r\n                cb(xhr.response);\r\n            });\r\n            xhr.send();\r\n        };\r\n\r\n        var blobToFile = function (blob, name) {\r\n            blob.lastModifiedDate = new Date();\r\n            blob.name = \"profile\";\r\n            return blob;\r\n        };\r\n\r\n        var getFileObject = function(filePathOrUrl, cb) {\r\n            getFileBlob(filePathOrUrl, function (blob) {\r\n                cb(blobToFile(blob, image_url));\r\n            });\r\n        };\r\n\r\n        getFileObject(image_url,  (fileObject) => {\r\n\r\n            var reader = new FileReader();\r\n            this.image_url= fileObject;\r\n            reader.onload =  (e : any) => {\r\n                this.store_register.image_url = e.target.result\r\n            }\r\n            reader.readAsDataURL(fileObject);\r\n            this.myLoading=false;\r\n        });\r\n    }\r\n        \r\n    get_city_list(countryid)\r\n    {\r\n        this.is_referral_apply=false;\r\n        this.referral_code = '';\r\n        jQuery('#basic-addon2').show();\r\n\r\n        this.store_register.phone=null;\r\n        this.store_register.country_id=countryid\r\n        this.delivery_list=[];\r\n        this.store_register.store_delivery_id = '';\r\n        this.store_register.city_id='';\r\n        this.myLoading=true;\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_CITY_LIST,{country_id:countryid}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n            this.myLoading=false;\r\n            if(res_data.success)\r\n            {\r\n\r\n                this.store_register.country_phone_code=res_data.country_phone_code\r\n                this.city_list=res_data.cities\r\n                this.minimum_phone_number_length=res_data.minimum_phone_number_length\r\n                this.maximum_phone_number_length=res_data.maximum_phone_number_length;\r\n                this.is_country_referral = res_data.is_referral_store;\r\n                var country_code = res_data.country_code;\r\n\r\n                var autocompleteElm = <HTMLInputElement>document.getElementById('address');\r\n                let autocomplete = new google.maps.places.Autocomplete((autocompleteElm),{types: ['address'], componentRestrictions: { country: country_code } });\r\n\r\n                autocomplete.addListener( 'place_changed', () => {\r\n                        let place = autocomplete.getPlace();\r\n                        let lat = place.geometry.location.lat();\r\n                        let lng = place.geometry.location.lng();\r\n                        this.store_register.address=place.formatted_address\r\n                        this.store_register.latitude=lat\r\n                        this.store_register.longitude=lng\r\n                });\r\n\r\n            }\r\n            else\r\n            {\r\n                if(res_data.error_code!==801)\r\n                {\r\n                    this.store_register.country_phone_code=res_data.country_phone_code\r\n                    this.minimum_phone_number_length=res_data.minimum_phone_number_length\r\n                    this.maximum_phone_number_length=res_data.maximum_phone_number_length\r\n                    this.is_country_referral = res_data.is_referral_store;\r\n                    let country_code = res_data.country_code;\r\n\r\n                    let autocompleteElm = <HTMLInputElement>document.getElementById('address');\r\n                    let autocomplete = new google.maps.places.Autocomplete((autocompleteElm),{types: ['address'], componentRestrictions: { country: country_code } });\r\n\r\n                    autocomplete.addListener( 'place_changed', () => {\r\n                            var place = autocomplete.getPlace();\r\n                            var lat = place.geometry.location.lat();\r\n                            var lng = place.geometry.location.lng();\r\n                            this.store_register.address=place.formatted_address\r\n                            this.store_register.latitude=lat\r\n                            this.store_register.longitude=lng\r\n                    });\r\n                }\r\n                else\r\n                {\r\n                    this.store_register.country_phone_code=\"\"\r\n                }\r\n                this.city_list=[];\r\n            }\r\n            setTimeout(function() {\r\n                jQuery(\"#city\").trigger(\"chosen:updated\");\r\n            }, 1000);\r\n\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n        setInterval(function() {\r\n            \r\n        }, 100);\r\n\r\n    }\r\n\r\n    get_delivery_list(cityid)\r\n    {\r\n        this.myLoading=true;\r\n        this.store_register.city_id=cityid;\r\n        this.store_register.store_delivery_id = '';\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_DELIVERY_LIST_FOR_CITY,{city_id:cityid}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n            this.myLoading=false;\r\n            if(res_data.success)\r\n            {\r\n                this.delivery_list=res_data.deliveries\r\n            }\r\n            else {\r\n                this.delivery_list = [];\r\n            }\r\n            setTimeout(function() {\r\n                jQuery(\"#delivery\").trigger(\"chosen:updated\");\r\n            }, 1000);\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n\r\n    }\r\n    storeRegister(stordata)\r\n    {\r\n        var reg = /^([A-Za-z0-9_\\-\\.])+\\@([A-Za-z0-9_\\-\\.])+\\.([A-Za-z]{2,4})$/;\r\n        \r\n        if(reg.test(stordata.email.trim()) && stordata.password.trim() === stordata.confirm_password.trim()){\r\n\r\n            this.myLoading=true;\r\n            this.stor_data=stordata\r\n            if(this.setting_data.is_store_sms_verification == true || this.setting_data.is_store_mail_verification == true)\r\n            {\r\n                this.helper.http.post(this.helper.POST_METHOD.ADMIN_OTP_VERIFICATION,{type:2, email:stordata.email, phone:stordata.phone}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n                    this.myLoading=false;\r\n                    if(res_data.success == true)\r\n                    {\r\n                        this.helper.string_log(\"email\" , res_data.otp_for_email)\r\n                        this.helper.string_log(\"sms\" , res_data.otp_for_sms)\r\n                        this.modal.open();\r\n                        this.otp_for_email=res_data.otp_for_email\r\n                        this.otp_for_sms=res_data.otp_for_sms\r\n                        if(this.setting_data.is_store_sms_verification == false)\r\n                        {\r\n                            jQuery(\"#otp_for_sms\").css(\"display\", \"none\");\r\n                        }\r\n\r\n                        if(this.setting_data.is_store_mail_verification == false)\r\n                        {\r\n                            jQuery(\"#otp_for_email\").css(\"display\", \"none\");\r\n                        }\r\n                    }\r\n                    else\r\n                    {\r\n                        this.helper.data.storage = {\r\n                            \"code\": res_data.error_code,\r\n                            \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                            \"class\": \"alert-danger\"\r\n                        }\r\n                        this.helper.message()\r\n\r\n                    }\r\n                },\r\n                (error: any) => {\r\n                    this.myLoading=false;\r\n                        this.helper.http_status(error)\r\n                });\r\n            }\r\n            else {\r\n\r\n                this.register(stordata)\r\n            }\r\n        }\r\n    }\r\n    otp_var(otp)\r\n    {\r\n        if(otp.sms_otp == undefined)\r\n        {\r\n            if(otp.email_otp == this.otp_for_email)\r\n            {\r\n                this.store_register.is_email_verified = true;\r\n                this.register(this.stor_data)\r\n            }\r\n            else\r\n            {\r\n                this.opt_error_message = 1\r\n            }\r\n        }\r\n        else if(otp.email_otp == undefined)\r\n        {\r\n            if(otp.sms_otp == this.otp_for_sms)\r\n            {\r\n                this.store_register.is_phone_number_verified = true;\r\n                this.register(this.stor_data)\r\n            }\r\n            else\r\n            {\r\n                this.opt_error_message = 2\r\n            }\r\n        }\r\n        else\r\n        {\r\n            if(otp.sms_otp == this.otp_for_sms && otp.email_otp == this.otp_for_email)\r\n            {\r\n                this.store_register.is_email_verified = true;\r\n                this.store_register.is_phone_number_verified = true;\r\n                this.register(this.stor_data)\r\n            }\r\n            else\r\n            {\r\n                this.opt_error_message = 3\r\n            }\r\n        }\r\n    }\r\n\r\n    register(store_data)\r\n    {\r\n        if(this.store_register.login_by == this.title.social){\r\n            this.store_register.password = '';\r\n            this.store_register.confirm_password='';\r\n        }\r\n        var franchise = JSON.parse(localStorage.getItem('franchise'));\r\n        this.myLoading=true;\r\n        this.formData.append('image_url', this.image_url);\r\n        this.formData.append('phone',store_data.phone.trim());\r\n        this.formData.append('password',this.store_register.password.trim());\r\n        this.formData.append('country_id',store_data.country_id);\r\n        this.formData.append('franchise_id',franchise._id);\r\n        this.formData.append('city_id',store_data.city_id);\r\n        //this.formData.append('social_id', this.store_register.social_unique_id);\r\n        this.formData.append('login_by', \"manual\");\r\n        this.formData.append('store_delivery_id',store_data.store_delivery_id);\r\n        this.formData.append('country_phone_code',store_data.country_phone_code);\r\n        this.formData.append('name',store_data.name.trim());\r\n        this.formData.append('email',store_data.email.trim());\r\n        this.formData.append('address',store_data.address.trim());\r\n        this.formData.append('latitude',store_data.latitude);\r\n        this.formData.append('longitude',store_data.longitude);\r\n        if(store_data.website_url != undefined){\r\n            this.formData.append('website_url',store_data.website_url.trim());\r\n        }else{\r\n            this.formData.append('website_url','');\r\n        }\r\n        this.formData.append('famous_for',store_data.famous_for);\r\n        this.formData.append('slogan',store_data.slogan);\r\n        this.formData.append('referral_code','');\r\n        this.formData.append('is_phone_number_verified',store_data.is_phone_number_verified);\r\n        this.formData.append('is_email_verified',store_data.is_email_verified);\r\n\r\n        this.helper.http.post(this.helper.POST_METHOD.STORE_REGISTER,this.formData).map((res:Response) => res.json()).subscribe(res_data=>{\r\n\r\n            this.myLoading=false;\r\n                            if(res_data.success == false)\r\n                            {\r\n                                this.helper.data.storage = {\r\n                                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                                    \"class\": \"alert-danger\"\r\n                                }\r\n                                this.helper.message();\r\n                                this.formData = new FormData();\r\n                                if(this.store_register.login_by == this.title.social){\r\n                                    this.store_register.password = '123456';\r\n                                    this.store_register.confirm_password='123456';\r\n                                }\r\n                            }\r\n                            else\r\n                            {\r\n                                var array = [];\r\n                                array = franchise.store_ids;\r\n                                array.push(res_data.store._id);\r\n                                franchise.store_ids = array;\r\n                                localStorage.setItem('franchise', JSON.stringify(franchise))\r\n                                this.helper.data.storage = {\r\n                                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                                    \"class\": \"alert-info\"\r\n                                }\r\n\r\n                                this.helper.router.navigate(['franchise/stores']);\r\n                            }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/add_store/add_store.component.ts","import { Component, OnInit,ViewContainerRef , ViewChild} from '@angular/core';\r\nimport {Response } from '@angular/http';\r\nimport {Helper} from \"../../franchise_helper\";\r\ndeclare var jQuery:any;\r\n//import { ModalComponent } from 'ng2-bs3-modal/ng2-bs3-modal';\r\ndeclare var swal: any;\r\n\r\n@Component({\r\n    selector: 'app-delivery',\r\n    template: require('./delivery.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class FranchiseStoreDeliveryComponent implements OnInit {\r\n\r\n    title:any;\r\n    button:any;\r\n    ORDER_STATE:any;\r\n    heading_title:any;\r\n    status:any;\r\n    franchise_id:Object;\r\n    server_token:String;\r\n    order_list:any[];\r\n    interval:any;\r\n\r\n    sort_field:string;\r\n    sort_order:number;\r\n    search_field:string;\r\n    search_value:string;\r\n    page:number;\r\n    total_page:number;\r\n    total_pages:number[];\r\n    order_payment_id:Object;\r\n\r\n    myLoading:Boolean = true;\r\n    constructor(private helper:Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n\r\n        jQuery(\".chosen-select\").chosen({disable_search: true});\r\n        setTimeout(function() {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n\r\n\r\n    }\r\n\r\n    ngOnInit() {\r\n\r\n        this.sort_field=\"unique_id\";\r\n        this.sort_order=-1;\r\n        this.search_field=\"user_detail.first_name\";\r\n        this.search_value=\"\";\r\n        this.page=1\r\n        this.order_payment_id=null;\r\n\r\n        let token = this.helper.tokenService.getToken();\r\n\r\n        if(!token || !token.token) {\r\n\r\n            this.helper.router.navigate(['franchise/logout']);\r\n        }\r\n        this.helper.message()\r\n        var franchise = JSON.parse(localStorage.getItem('franchise'));\r\n        if(franchise!==null)\r\n        {\r\n            this.franchise_id=franchise._id\r\n            this.server_token=franchise.server_token\r\n        }\r\n        /*if(!JSON.parse(localStorage.getItem('store_document_ulpoaded')) && JSON.parse(localStorage.getItem('admin_store_document_ulpoaded')))\r\n        {\r\n            this.helper.router.navigate(['store/upload_document']);\r\n        }*/\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.heading_title=this.helper.heading_title\r\n        this.ORDER_STATE=this.helper.ORDER_STATE\r\n        this.status=this.helper.status\r\n        this.order_list=[];\r\n        this.orderDetail()\r\n        this.interval=setInterval(() => {\r\n            this.orderDetail()\r\n        },this.helper.TIMEOUT.NEW_ORDER_REQUEST);\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_field').on('change', (evnt,res_data) => {\r\n\r\n            this.sort_field=res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_order').on('change', (evnt,res_data) => {\r\n\r\n            this.sort_order=res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#search_field').on('change', (evnt,res_data) => {\r\n\r\n            this.search_field=res_data.selected;\r\n\r\n        });\r\n    }\r\n    ngOnDestroy() {\r\n        clearInterval(this.interval);\r\n    }\r\n    activeRoute(routename: string): boolean{\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n\r\n    filter(page)\r\n    {\r\n        this.myLoading = true;\r\n        this.page=page;\r\n        this.helper.http.post(this.helper.POST_METHOD.DELIVERY_LIST_SEARCH_SORT,{franchise_id:this.franchise_id, server_token:this.server_token,sort_field:this.sort_field,sort_order:this.sort_order,\r\n                                                       search_field:this.search_field,search_value:this.search_value,page:this.page }).map((res:Response) => res.json()).subscribe(res_data=>{\r\n            this.myLoading = false;                                              \r\n            if(res_data.success == false)\r\n            {\r\n                this.order_list=[];\r\n                this.total_pages=[];\r\n            }\r\n            else\r\n            {\r\n                this.order_list=res_data.orders;\r\n                this.total_page=res_data.pages;\r\n                this.total_pages=Array(res_data.pages).fill((x,i)=>i).map((x,i)=>i+1)\r\n            }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading = false;\r\n                this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n    vieworder_detail(id)\r\n    {\r\n      this.helper.router_id.franchise.order_id=id;\r\n      this.helper.router.navigate(['franchise/order/detail']);\r\n    }\r\n    viewcart_detail(id)\r\n    {\r\n        this.helper.router_id.franchise.order_id=id;\r\n        this.helper.router.navigate(['franchise/cart/detail']);\r\n    }\r\n\r\n    track_deliveryman(id)\r\n    {\r\n      this.helper.router_id.franchise.order_id=id;\r\n      this.helper.router.navigate(['franchise/order/track_delivery_man']);\r\n    }\r\n    orderDetail()\r\n    {\r\n        this.helper.http.post(this.helper.POST_METHOD.DELIVERY_LIST_SEARCH_SORT,{franchise_id:this.franchise_id, server_token:this.server_token,sort_field:this.sort_field,sort_order:this.sort_order,\r\n                                                       search_field:this.search_field,search_value:this.search_value,page:this.page }).map((res:Response) => res.json()).subscribe(res_data=>{\r\n\r\n            this.myLoading = false;                                             \r\n            if(res_data.success == false)\r\n            {\r\n                    this.order_list=[];\r\n                    this.total_page=res_data.pages;\r\n                    this.total_pages=Array(res_data.pages).fill((x,i)=>i).map((x,i)=>i+1)\r\n            }\r\n            else\r\n            {\r\n                this.total_page=res_data.pages;\r\n                this.total_pages=Array(res_data.pages).fill((x,i)=>i).map((x,i)=>i+1)\r\n\r\n                this.order_list.forEach( (value , index) => {\r\n\r\n                    var new_index = res_data.orders.findIndex(x => x._id==this.order_list[index]._id)\r\n                    if(new_index == -1)\r\n                    {\r\n                        this.order_list.splice(index , 1)\r\n                    }\r\n                    else{\r\n                        this.order_list[index].order_status = res_data.orders[new_index].order_status;\r\n                        this.order_list[index].provider_detail = res_data.orders[new_index].provider_detail;\r\n                    }\r\n                });\r\n\r\n                res_data.orders.forEach((new_value , index) =>{\r\n                    var aaa = this.order_list.findIndex(x => x._id==res_data.orders[index]._id)\r\n\r\n                    if(aaa == -1)\r\n                    {\r\n                        this.order_list.unshift(new_value)\r\n                    }\r\n                    // if(value._id === new_value._id)\r\n                    // {\r\n                    //     value.order_status=new_value.order_status;\r\n                    // }\r\n                });\r\n            }\r\n        },\r\n        (error: any) => {\r\n                this.helper.http_status(error)\r\n        });\r\n    }\r\n    \r\n   \r\n    \r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/delivery/delivery.component.ts","import { Component, OnInit, ViewChild, Input , Output , EventEmitter} from '@angular/core';\r\nimport {Response } from '@angular/http';\r\nimport {Helper} from \"../../franchise_helper\";\r\ndeclare var jQuery:any;\r\ndeclare var swal: any;\r\nimport { ModalComponent } from 'ng2-bs3-modal/ng2-bs3-modal';\r\n\r\nexport interface EditItem{\r\n    franchise_id: Object,\r\n    product_id: Object,\r\n    server_token:String,\r\n    product_name: Object,\r\n    details: String,\r\n    name: String,\r\n    price: number,\r\n    is_visible_in_store:  Boolean,\r\n    is_item_in_stock: Boolean,\r\n    is_most_popular:  Boolean,\r\n    item_specification_name:String,\r\n    type:Number,\r\n    store_ids:any[],\r\n    specification_group_id: Object,\r\n    specifications_unique_id_count: number,\r\n    is_required: Boolean,\r\n    image_url: any[]\r\n}\r\n\r\nexport interface imageSetting{\r\n    image_ratio: number,\r\n    image_min_width: number,\r\n    image_max_width: number\r\n    image_min_height: number,\r\n    image_max_height: number,\r\n    image_type: any[]\r\n}\r\n\r\n@Component({\r\n    selector: 'app-edit_item',\r\n    template: require('./edit_item.component.html'),\r\n    providers: [Helper]\r\n\r\n})\r\nexport class EditFranchiseItemComponent implements OnInit {\r\n\r\n    @ViewChild('myModal')\r\n    modal: ModalComponent;\r\n    @ViewChild('myspec_group_modal')\r\n    myspec_group_modal: ModalComponent;\r\n\r\n\r\n    myLoading: boolean = true;\r\n\r\n    public image_setting : imageSetting;\r\n    private edit_item: EditItem;\r\n    title: any;\r\n    button: any;\r\n    message: any;\r\n    heading_title: any;\r\n    validation_message: any;\r\n    item_id: Object;\r\n    product_specification_list: any[];\r\n    product_specification_list_backup: any[];\r\n    item_specification_list: any[];\r\n    specification_id_array: any[];\r\n    selected_specification_list: any[];\r\n    spec_list_error: number;\r\n    spec_button: string;\r\n    index: number;\r\n    image_array: any[];\r\n    product_specification_group_list: any[];\r\n    new_image_array: any[] = [];\r\n    deleted_image_url: any[];\r\n    item_list: string[] = [];\r\n    item_already_exist: Boolean = false;\r\n    checked_array: any[] = [];\r\n    store_list: any[] = [];\r\n    spec_backup : any;\r\n\r\n    image_error: string = '';\r\n\r\n    constructor(public helper: Helper) {\r\n\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n\r\n        // setTimeout(function () {\r\n        //\r\n        //     jQuery('.iradio').iCheck({\r\n        //         handle: 'radio',\r\n        //         radioClass: 'iradio_square-green'\r\n        //     });\r\n        //\r\n        // }, 1000);\r\n\r\n        // jQuery(\"input[name='price']\").TouchSpin({\r\n        //     min: 0,\r\n        //     step: 1,\r\n        //     decimals: 2,\r\n        //     initval: 0,\r\n        //     forcestepdivisibility: 'none'\r\n        // });\r\n    }\r\n\r\n    ngOnInit() {\r\n\r\n        this.image_setting = {\r\n            image_ratio : 1,\r\n            image_min_width: 100,\r\n            image_max_width: 100,\r\n            image_min_height: 100,\r\n            image_max_height: 100,\r\n            image_type: []\r\n        }\r\n\r\n        let token = this.helper.tokenService.getToken();\r\n\r\n        if (!token || !token.token) {\r\n            this.helper.router.navigate(['franchise/login']);\r\n        }\r\n        this.edit_item = {\r\n            franchise_id: \"\",\r\n            product_id: \"\",\r\n            server_token: \"\",\r\n            product_name: \"\",\r\n            details: \"\",\r\n            name: \"\",\r\n            price: null,\r\n            store_ids:[],\r\n            is_visible_in_store: false,\r\n            is_item_in_stock: false,\r\n            is_most_popular: false,\r\n            type: 1,\r\n            item_specification_name: \"\",\r\n            specification_group_id: \"\",\r\n            specifications_unique_id_count: 0,\r\n            is_required: false,\r\n            image_url: []\r\n        }\r\n\r\n        setTimeout( () => {\r\n            jQuery(this.helper.elementRef.nativeElement).find('.bootstrap-touchspin-down').on('click', (evnt, res_data) => {\r\n                if(this.edit_item.price > 0) {\r\n                    this.edit_item.price--;\r\n                }\r\n            });\r\n            jQuery(this.helper.elementRef.nativeElement).find('.bootstrap-touchspin-up').on('click', (evnt, res_data) => {\r\n                // if(this.edit_item.price > 0){\r\n                    this.edit_item.price++;\r\n                // }\r\n            });\r\n        },1000);\r\n\r\n        this.title = this.helper.title\r\n        this.button = this.helper.button\r\n        this.heading_title = this.helper.heading_title\r\n        this.validation_message = this.helper.validation_message;\r\n        this.specification_id_array = [];\r\n        this.selected_specification_list = [];\r\n        this.item_specification_list = [];\r\n        this.product_specification_group_list = [];\r\n        this.spec_list_error = 0\r\n        this.image_array = [];\r\n        this.deleted_image_url = [];\r\n        this.image_append();\r\n        this.item_id = this.helper.router_id.franchise.item_id;\r\n\r\n        var franchise = JSON.parse(localStorage.getItem('franchise'));\r\n        if (franchise !== null) {\r\n            this.edit_item.franchise_id = franchise._id\r\n            this.edit_item.server_token = franchise.server_token\r\n            this.helper.http.post(this.helper.POST_METHOD.GET_ITEM_DATA, {\r\n                item_id: this.item_id,\r\n                franchise_id: franchise._id,\r\n                server_token: franchise.server_token\r\n            }).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n                    this.myLoading = false;\r\n                    if (res_data.success == false) {\r\n                        this.helper.data.storage = {\r\n                            \"code\": res_data.error_code,\r\n                            \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                            \"class\": \"alert-danger\"\r\n                        }\r\n                        this.helper.router.navigate(['franchise/item']);\r\n                    }\r\n                    else {\r\n                        this.edit_item.product_name = res_data.product.name\r\n                        this.edit_item.product_id = res_data.product._id;\r\n                        this.edit_item.details = res_data.item.details\r\n                        this.edit_item.name = res_data.item.name\r\n                        this.edit_item.price = res_data.item.price\r\n                        this.edit_item.is_visible_in_store = res_data.item.is_visible_in_store\r\n                        this.edit_item.is_item_in_stock = res_data.item.is_item_in_stock\r\n                        this.edit_item.is_most_popular = res_data.item.is_most_popular\r\n                        this.edit_item.image_url = res_data.item.image_url\r\n                        this.item_specification_list = res_data.item.specifications;\r\n\r\n                        this.product_specification_list_backup = res_data.product.specifications_detail;\r\n                        this.edit_item.specifications_unique_id_count = res_data.item.specifications_unique_id_count\r\n                        this.item_list = res_data.item_array;\r\n                        this.helper.http.post(this.helper.POST_METHOD.GET_PRODUCT_STORE_LIST,{franchise_id:franchise._id, server_token:franchise.server_token,product_id:res_data.product._id}, {\r\n                        }).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n                                this.store_list = [];\r\n                                this.edit_item.store_ids = [];\r\n                                console.log(res_data);\r\n                                if(res_data.success === false) {\r\n\r\n                                }else{\r\n                                    for(var j=0;j<res_data.products.length;j++){\r\n                                        this.store_list.push(res_data.products[j].store_list);\r\n                                    }\r\n                                     this.update_store_check_box();\r\n                                }                 \r\n                                \r\n                        },\r\n                        (error: any) => {\r\n                                this.myLoading = false;\r\n                                this.helper.http_status(error)\r\n                        });\r\n                    }\r\n                },\r\n                (error: any) => {\r\n                    this.myLoading = false;\r\n                    this.helper.http_status(error)\r\n                });\r\n\r\n            this.helper.http.post(this.helper.POST_METHOD.GET_IMAGE_SETTING, {\r\n            }).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n                this.image_setting.image_ratio = res_data.image_setting.item_image_ratio;\r\n                    this.image_setting.image_min_width = res_data.image_setting.item_image_min_width;\r\n                    this.image_setting.image_max_width = res_data.image_setting.item_image_max_width;\r\n                    this.image_setting.image_min_height = res_data.image_setting.item_image_min_height;\r\n                    this.image_setting.image_max_height = res_data.image_setting.item_image_max_height;\r\n                    this.image_setting.image_type = res_data.image_setting.image_type;\r\n            },\r\n                (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n\r\n        }\r\n    }\r\n\r\n    public formData = new FormData();\r\n\r\n    check_item() {\r\n        var item_index = this.item_list.findIndex(x => x.toLowerCase() == this.edit_item.name.toLowerCase())\r\n\r\n        if (item_index == -1) {\r\n            this.item_already_exist = false;\r\n        }\r\n        else {\r\n            this.item_already_exist = true;\r\n        }\r\n    }\r\n\r\n    image_update($event, fieldname) {\r\n        this.image_error = \"\";\r\n        const files = $event.target.files || $event.srcElement.files;\r\n\r\n        for(var i=0; i<files.length; i++){\r\n            const image_url = files[i];\r\n            var index = this.image_setting.image_type.indexOf(image_url.type);\r\n            if (index !== -1) {\r\n                var reader = new FileReader();\r\n\r\n                reader.onload = (e: any) => {\r\n                    var new_image = new Image();\r\n                    new_image.src = e.target.result;\r\n                    new_image.onload = () => {\r\n\r\n                        if(new_image.width >= this.image_setting.image_min_width && new_image.width < this.image_setting.image_max_width &&\r\n                            new_image.height >= this.image_setting.image_min_height && new_image.height < this.image_setting.image_max_height ){\r\n\r\n                            if(new_image.width == (new_image.height * this.image_setting.image_ratio)){\r\n\r\n                                this.new_image_array.unshift({base64_image: e.target.result, file: image_url});\r\n                            } else {\r\n                                console.log(\"ratio error\")\r\n                                this.image_error = this.title.item_image_ratio_error;\r\n                            }\r\n\r\n                        } else {\r\n                            console.log(\"height width error\")\r\n                            this.image_error = this.title.item_image_size_error;\r\n                        }\r\n\r\n                    }\r\n                }\r\n                reader.readAsDataURL(image_url);\r\n            } else {\r\n                console.log(\"extension error\")\r\n                this.image_error = this.title.item_image_extension_error;\r\n            }\r\n        }\r\n    }\r\n\r\n    remove_new_image(index) {\r\n        this.new_image_array.splice(index, 1)\r\n    }\r\n\r\n    image_append() {\r\n        this.image_array.push(' ');\r\n    }\r\n\r\n    delete_item_image(image, index) {\r\n        this.edit_item.image_url.splice(index, 1);\r\n        this.deleted_image_url.push(image)\r\n    }\r\n\r\n    open_specification_group_modal() {\r\n        this.product_specification_group_list = this.product_specification_list_backup;\r\n        this.myspec_group_modal.open();\r\n    }\r\n\r\n    open_modal(id, product_id, name, unique_id) {\r\n        this.checked_array = [];\r\n        this.edit_item.specification_group_id = id;\r\n        this.myspec_group_modal.close();\r\n        var json = {\r\n            franchise_id: this.edit_item.franchise_id,\r\n            server_token: this.edit_item.server_token,\r\n            product_id: product_id,\r\n            specification_group_id: id\r\n        }\r\n        this.spec_button = this.button.save;\r\n        this.edit_item.type = 1;\r\n        this.edit_item.is_required = false;\r\n\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_SPECIFICATION_LISTS, json).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n                if (res_data.success == false) {\r\n                    if (res_data.error_code == 999) {\r\n                        this.helper.data.storage = {\r\n                            \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                            \"class\": \"alert-danger\"\r\n                        }\r\n                        this.helper.router.navigate(['franchise/logout']);\r\n                    }\r\n                    else {\r\n                        this.edit_item.item_specification_name = name;\r\n                        this.product_specification_list = [];\r\n                        this.modal.open();\r\n\r\n                    }\r\n                }\r\n                else {\r\n                    this.edit_item.item_specification_name = name;\r\n                    this.product_specification_list = res_data.specification_list.specifications;\r\n\r\n                    setTimeout(() => {\r\n                        jQuery('.iradio').iCheck({\r\n                            handle: 'radio',\r\n                            radioClass: 'iradio_square-green'\r\n                        });\r\n                        jQuery('.radio1').iCheck('check');\r\n                    }, 500);\r\n                    this.modal.open();\r\n                    this.update_check_box();\r\n                }\r\n\r\n            },\r\n            (error: any) => {\r\n                this.helper.http_status(error)\r\n            });\r\n\r\n    }\r\n    update_store_check_box()\r\n    {\r\n        setTimeout(() => {\r\n            jQuery('.icheck1').iCheck({\r\n                handle: 'checkbox',\r\n                checkboxClass: 'icheckbox_square-green',\r\n            });\r\n            jQuery('#1').iCheck('check');\r\n\r\n            jQuery('.icheck1').on('ifChecked', (event) => {\r\n                var id = event.target.getAttribute('value')\r\n                this.edit_item.store_ids.push(id);\r\n                console.log(this.edit_item.store_ids);\r\n                //this.store_list[checked_index]=true;\r\n            });\r\n\r\n            jQuery('.icheck1').on('ifUnchecked', (event) => {\r\n                var id = event.target.getAttribute('value')\r\n                var i = this.edit_item.store_ids.indexOf(id);\r\n                if(i != -1) {\r\n                    this.edit_item.store_ids.splice(i, 1);\r\n                }\r\n                console.log(\"uncheck: \"+id);\r\n                /*var checked_index = this.product_specification_list.findIndex(x => x._id == id);\r\n                this.store_list[checked_index]=false;*/\r\n            });\r\n\r\n        },1000);\r\n    }\r\n    update_check_box(){\r\n        setTimeout(() => {\r\n            jQuery('.icheck').iCheck({\r\n                handle: 'checkbox',\r\n                checkboxClass: 'icheckbox_square-green',\r\n            });\r\n\r\n            // jQuery('.radio1').iCheck('check');\r\n\r\n            jQuery('.icheck').on('ifChecked', (event) => {\r\n                var id = event.target.getAttribute('value')\r\n                this.specification_id_array.push(id)\r\n                var checked_index = this.product_specification_list.findIndex(x => x._id == id);\r\n\r\n                this.checked_array[checked_index] = true;\r\n            });\r\n\r\n            jQuery('.icheck').on('ifUnchecked', (event) => {\r\n                var id = event.target.getAttribute('value')\r\n                var i = this.specification_id_array.indexOf(id);\r\n                if (i != -1) {\r\n                    this.specification_id_array.splice(i, 1);\r\n                }\r\n                var checked_index = this.product_specification_list.findIndex(x => x._id == id);\r\n                this.product_specification_list[checked_index].price = 0;\r\n                this.product_specification_list[checked_index].is_default_selected = false;\r\n                this.checked_array[checked_index] = false;\r\n            });\r\n\r\n            jQuery('.iradio').on('ifChanged', (event) => {\r\n                var value = Number(event.target.getAttribute('value'))\r\n                this.edit_item.type = value\r\n                for (var i = 0; i <= this.product_specification_list.length - 1; i++) {\r\n                    this.product_specification_list[i].is_default_selected = false\r\n                }\r\n            });\r\n        }, 1000);\r\n    }\r\n\r\n\r\n    edit_item_specification(specification, index) {\r\n        this.myLoading = true;\r\n\r\n        this.checked_array = [];\r\n        this.specification_id_array = [];\r\n        this.product_specification_list = [];\r\n        this.selected_specification_list = [];\r\n\r\n        this.index = index\r\n        this.spec_button = this.button.update;\r\n        this.edit_item.type = specification.type;\r\n        this.edit_item.is_required = specification.is_required;\r\n        this.edit_item.item_specification_name = specification.name;\r\n        this.product_specification_list = JSON.parse(JSON.stringify(specification.list));\r\n\r\n        specification.list.forEach((value) => {\r\n            this.specification_id_array.push(value._id)\r\n        });\r\n        this.checked_array.length = specification.list.length\r\n        this.checked_array.fill(true);\r\n\r\n        var json = {\r\n            franchise_id: this.edit_item.franchise_id,\r\n            server_token: this.edit_item.server_token,\r\n            product_id: this.edit_item.product_id,\r\n            specification_group_id: specification._id\r\n        }\r\n\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_SPECIFICATION_LISTS, json).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n                if (res_data.success == false) {\r\n                    setTimeout(() => {\r\n                        this.myLoading = false;\r\n                        jQuery('.iradio').iCheck({\r\n                            handle: 'radio',\r\n                            radioClass: 'iradio_square-green'\r\n                        });\r\n                        jQuery('.icheck').iCheck('check');\r\n                        jQuery('.iradio' + specification.type).iCheck('check');\r\n                        this.modal.open();\r\n                    }, 1000);\r\n                }\r\n                else {\r\n                    setTimeout(() => {\r\n                        this.myLoading = false;\r\n                        jQuery('.iradio').iCheck({\r\n                            handle: 'radio',\r\n                            radioClass: 'iradio_square-green'\r\n                        });\r\n                        jQuery('.icheck').iCheck('check');\r\n                        jQuery('.iradio' + specification.type).iCheck('check');\r\n\r\n                        var unique_array = res_data.specification_list.specifications.filter((current) => {\r\n                            return specification.list.filter((current_b) => {\r\n                                return current_b['_id'] == current['_id']\r\n                            }).length == 0\r\n                        });\r\n\r\n                        unique_array.filter((current) => {\r\n                            this.product_specification_list.push(current)\r\n                        });\r\n                        this.modal.open();\r\n                        this.update_check_box();\r\n                    }, 500);\r\n                }\r\n                // setTimeout(() => {\r\n                //     jQuery('.icheck').iCheck({\r\n                //         handle: 'checkbox',\r\n                //         checkboxClass: 'icheckbox_square-green',\r\n                //     });\r\n                // }, 1000);\r\n                //\r\n                // setTimeout(() => {\r\n                //     jQuery('.icheck').on('ifChecked', (event) => {\r\n                //         var id = event.target.getAttribute('value')\r\n                //         this.specification_id_array.push(id)\r\n                //         var checked_index = this.product_specification_list.findIndex(x => x._id == id);\r\n                //\r\n                //         this.checked_array[checked_index] = true;\r\n                //     });\r\n                //\r\n                //     jQuery('.icheck').on('ifUnchecked', (event) => {\r\n                //         var id = event.target.getAttribute('value')\r\n                //         var i = this.specification_id_array.indexOf(id);\r\n                //         if (i != -1) {\r\n                //             this.specification_id_array.splice(i, 1);\r\n                //         }\r\n                //         var checked_index = this.product_specification_list.findIndex(x => x._id == id);\r\n                //         this.product_specification_list[checked_index].price = 0;\r\n                //         this.product_specification_list[checked_index].is_default_selected = false;\r\n                //         this.checked_array[checked_index] = false;\r\n                //     });\r\n                //\r\n                //     jQuery('.iradio').on('ifChanged', (event) => {\r\n                //         var value = Number(event.target.getAttribute('value'))\r\n                //         this.edit_item.type = value\r\n                //         this.product_specification_list.filter((current) => {\r\n                //             current.is_default_selected = false\r\n                //         });\r\n                //     });\r\n                // }, 1000);\r\n\r\n            },\r\n            (error: any) => {\r\n                this.helper.http_status(error)\r\n            });\r\n\r\n\r\n    }\r\n\r\n    addSpecification(data)\r\n    {\r\n        var size = this.specification_id_array.length;\r\n        if(size == 0)\r\n        {\r\n            this.spec_list_error=1\r\n        }\r\n        else\r\n        {\r\n            for(var i=0; i<size; i++)\r\n            {\r\n                var product_size = this.product_specification_list.length;\r\n                for(var j=0; j<product_size ; j++)\r\n                {\r\n                    if(this.product_specification_list[j]._id === this.specification_id_array[i])\r\n                    {\r\n                        this.selected_specification_list.push({_id:this.product_specification_list[j]._id,\r\n                                     name:this.product_specification_list[j].name,\r\n                                     unique_id:this.product_specification_list[j].unique_id,\r\n                                     price:Number(this.product_specification_list[j].price),\r\n                                     is_default_selected:this.product_specification_list[j].is_default_selected,\r\n                                     is_user_selected:false});\r\n                    }\r\n                }\r\n            }\r\n            this.selected_specification_list.sort(this.sortSpecification);\r\n            if(this.spec_button === this.button.save)\r\n            {\r\n                this.edit_item.specifications_unique_id_count++;\r\n                this.item_specification_list.push({_id:data.specification_group_id ,\r\n                                                    unique_id:this.edit_item.specifications_unique_id_count,\r\n                                                    is_required:data.is_required,\r\n                                                    name:data.item_specification_name,\r\n                                                   type:data.type,\r\n                                                   list:this.selected_specification_list});\r\n            }\r\n            else\r\n            {\r\n                this.item_specification_list[data.index].name=data.item_specification_name;\r\n                this.item_specification_list[data.index].list=this.selected_specification_list;\r\n                this.item_specification_list[data.index].type=data.type;\r\n                this.item_specification_list[data.index].is_required=data.is_required;\r\n            }\r\n\r\n            this.modal.close();\r\n            this.selected_specification_list=[];\r\n            this.specification_id_array=[];\r\n            this.spec_list_error=0;\r\n            var franchise = JSON.parse(localStorage.getItem('franchise'));\r\n\r\n            this.helper.http.post(this.helper.POST_METHOD.GET_ITEM_DATA,{item_id:this.item_id,franchise_id:franchise._id, server_token:franchise.server_token}).map((res_data: Response) => res_data.json()) .subscribe(res_data => {\r\n                    if(res_data.success == false)\r\n                    {\r\n                        if(res_data.error_code == 999)\r\n                        {\r\n                            this.helper.data.storage = {\r\n                                \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                                \"class\": \"alert-danger\"\r\n                            }\r\n                            this.helper.router.navigate(['franchise/logout']);\r\n                        }\r\n                        else\r\n                        {\r\n                            this.helper.router.navigate(['franchise/product']);\r\n                        }\r\n                    }\r\n                    else\r\n                    {\r\n                        this.edit_item.item_specification_name=\"\";\r\n                        this.product_specification_list=[];\r\n                        this.product_specification_list_backup=res_data.product.specifications_detail;\r\n                    }\r\n            },\r\n            (error: any) => {\r\n                    this.helper.http_status(error)\r\n            });\r\n        }\r\n    }\r\n    sortSpecification(a,b) {\r\n        if (a.name < b.name)\r\n          return -1;\r\n        if (a.name > b.name)\r\n          return 1;\r\n        return 0;\r\n    }\r\n\r\n    delete_item_specification(index)\r\n    {\r\n        swal({\r\n            title: 'Are you sure?',\r\n            text: \"You won't be able to revert this!\",\r\n            type: 'warning',\r\n            showCancelButton: true,\r\n            confirmButtonColor: '#3085d6',\r\n            cancelButtonColor: '#d33',\r\n            confirmButtonText: 'Yes, delete it!'\r\n          }).then(() => {\r\n                var i = this.item_specification_list[index]\r\n                if(i != -1) {\r\n                    this.item_specification_list.splice(i, 1);\r\n                }\r\n                swal(\r\n                  'Deleted!',\r\n                  'Your file has been deleted.',\r\n                  'success'\r\n                );\r\n        }).catch(swal.noop)\r\n    }\r\n    onChange(event, id)\r\n    {\r\n        if(this.edit_item.type == 1)\r\n        {\r\n            if(event == true)\r\n            {\r\n                for(var i=0; i<=this.product_specification_list.length - 1; i++)\r\n                {\r\n                    if(this.product_specification_list[i]._id !== id)\r\n                    {\r\n                        if(this.product_specification_list[i].is_default_selected == true)\r\n                        {\r\n                            this.product_specification_list[i].is_default_selected=false\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n        }\r\n    }\r\n   \r\n    // set_specification_list()\r\n    // {\r\n    //     setTimeout(() => {\r\n    //\r\n    //         jQuery('.icheck').iCheck({\r\n    //             handle: 'checkbox',\r\n    //             checkboxClass: 'icheckbox_square-green',\r\n    //         });\r\n    //\r\n    //         jQuery('.icheck').on('ifChecked', (event) => {\r\n    //             var id = event.target.getAttribute('value')\r\n    //             this.specification_id_array.push(id)\r\n    //         });\r\n    //\r\n    //         jQuery('.icheck').on('ifUnchecked', (event) => {\r\n    //             var id = event.target.getAttribute('value')\r\n    //             var i = this.specification_id_array.indexOf(id);\r\n    //             if(i != -1) {\r\n    //                 this.specification_id_array.splice(i, 1);\r\n    //             }\r\n    //         });\r\n    //\r\n    //         jQuery('.iradio').on('ifChanged', (event) => {\r\n    //             var value = Number(event.target.getAttribute('value'))\r\n    //             this.edit_item.type=value\r\n    //             for(var i=0; i<=this.product_specification_list.length - 1; i++)\r\n    //             {\r\n    //                 this.product_specification_list[i].is_default_selected=false\r\n    //             }\r\n    //         });\r\n    //     },500);\r\n    // }\r\n    updateItem(itemdata)\r\n    {\r\n        this.myLoading=true;\r\n        itemdata.name=itemdata.name.trim();\r\n        itemdata.store_id = this.edit_item.store_ids;\r\n        this.helper.http.post(this.helper.POST_METHOD.UPDATE_ITEM,itemdata).map((res:Response) => res.json()).subscribe(res_data=>{\r\n\r\n            \r\n            if(res_data.success == true)\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                if(this.new_image_array.length > 0)\r\n                {\r\n                    this.add_image_service()\r\n                }\r\n                else if(this.delete_item_image.length > 0)\r\n                {\r\n                    \r\n                    this.delete_image_service();\r\n                }\r\n                else\r\n                {\r\n                    this.myLoading=false;\r\n                    this.helper.router.navigate(['franchise/item']);\r\n                }\r\n            }\r\n            else\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.router.navigate(['franchise/item']);\r\n            }\r\n        },\r\n        (error: any) => {\r\n                this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n    add_image_service()\r\n    {\r\n        this.new_image_array.forEach((image , index) =>{\r\n            if(image !== undefined)\r\n            {\r\n                this.formData.append(index, image.file);\r\n            }\r\n        });\r\n\r\n        this.formData.append(\"item_id\", this.item_id);\r\n        this.helper.http.post(this.helper.POST_METHOD.UPDATE_ITEM_IMAGE,this.formData).map((res:Response) => res.json()).subscribe(res_data=>{\r\n            \r\n            if(res_data.success==false)\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.router.navigate(['franchise/item']);\r\n            }\r\n            else\r\n            {\r\n                if(this.delete_item_image.length > 0)\r\n                {\r\n                    this.delete_image_service();\r\n                }\r\n                else{\r\n                    this.myLoading=false;\r\n                    this.helper.router.navigate(['franchise/item']);\r\n                }\r\n            }    \r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n    }\r\n    delete_image_service()\r\n    {\r\n        this.helper.http.post(this.helper.POST_METHOD.DELETE_ITEM_IMAGE,{franchise_id:this.edit_item.franchise_id , server_token:this.edit_item.server_token,\r\n                                                                                    _id:this.item_id , image_url:this.deleted_image_url}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n               this.myLoading=false;       \r\n            if(res_data.success==false)\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.router.navigate(['franchise/item']);\r\n            }\r\n            else\r\n            {\r\n                \r\n                this.helper.router.navigate(['franchise/item']);\r\n            }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/edit_item/edit_item.component.ts","import { Component, OnInit, ViewContainerRef, ViewChild } from '@angular/core';\r\nimport {Response } from '@angular/http';\r\nimport {Helper} from \"../../franchise_helper\";\r\ndeclare var jQuery:any;\r\nimport { ModalComponent } from 'ng2-bs3-modal/ng2-bs3-modal';\r\n\r\nimport {ImageCropperComponent, CropperSettings, Bounds} from 'ng2-img-cropper';\r\n\r\nexport interface EditProduct{\r\n\r\n    name:String,\r\n    details:String,\r\n    is_visible_in_store:Boolean,\r\n    franchise_id:Object,\r\n    server_token:String,\r\n    store_ids:any,\r\n    image_url:any\r\n\r\n}\r\n\r\nexport interface imageSetting{\r\n    image_ratio: number,\r\n    image_min_width: number,\r\n    image_max_width: number\r\n    image_min_height: number,\r\n    image_max_height: number,\r\n    image_type: any[]\r\n}\r\n\r\n@Component({\r\n    selector: 'app-edit_product',\r\n    template: require('./edit_product.component.html'),\r\n    providers: [Helper]\r\n\r\n})\r\nexport class EditFranchiseProductComponent implements OnInit {\r\n\r\n    @ViewChild('image_crop_modal')\r\n    image_crop_modal: ModalComponent;\r\n    @ViewChild('cropper', undefined)\r\n    cropper:ImageCropperComponent;\r\n\r\n    private edit_product: EditProduct;\r\n    title:any;\r\n    button:any;\r\n    heading_title:any;\r\n    product_id:Object;\r\n    product_list: string[] = [];\r\n    store_list:any[];\r\n    product_already_exist:Boolean = false;\r\n    validation_message:any;\r\n    image_error: string = '';\r\n    public image_setting : imageSetting;\r\n\r\n    data: any;\r\n    cropperSettings: CropperSettings;\r\n\r\n    myLoading:boolean = true;\r\n    constructor(public helper: Helper , vcr: ViewContainerRef){\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n\r\n        this.cropperSettings = new CropperSettings();\r\n        this.cropperSettings.canvasWidth = 400;\r\n        this.cropperSettings.canvasHeight = 400;\r\n        this.cropperSettings.noFileInput = true;\r\n        this.cropperSettings.preserveSize = true;\r\n        this.cropperSettings.height = 200;\r\n        this.cropperSettings.width = this.cropperSettings.height * 1.25;\r\n\r\n\r\n        this.data = {};\r\n    }\r\n\r\n    ngOnInit() {\r\n\r\n        this.image_setting = {\r\n            image_ratio : 1,\r\n            image_min_width: 100,\r\n            image_max_width: 100,\r\n            image_min_height: 100,\r\n            image_max_height: 100,\r\n            image_type: []\r\n        }\r\n        let token = this.helper.tokenService.getToken();\r\n\r\n        if(!token || !token.token) {\r\n            this.helper.router.navigate(['franchise/login']);\r\n        }\r\n        this.edit_product ={\r\n\r\n            name:\"\",\r\n            details:\"\",\r\n            is_visible_in_store:true,\r\n            franchise_id:\"\",\r\n            store_ids:[],\r\n            server_token:\"\",\r\n            image_url:\"\"\r\n\r\n        }\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.heading_title=this.helper.heading_title;\r\n        this.validation_message=this.helper.validation_message;\r\n        this.product_id =this.helper.router_id.franchise.product_id\r\n        var franchise = JSON.parse(localStorage.getItem('franchise'));\r\n        if(franchise!==null)\r\n        {\r\n            this.edit_product.franchise_id=franchise._id\r\n            this.edit_product.server_token=franchise.server_token\r\n            this.helper.http.post(this.helper.POST_METHOD.GET_STORE_DATA,{store_ids:franchise.store_ids}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n                if(res_data.success == false)\r\n                {\r\n                    /*this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message()*/\r\n                    this.store_list=[];\r\n                }\r\n                else\r\n                {\r\n                    this.store_list=res_data.stores;\r\n                    this.update_check_box();\r\n                }\r\n            },\r\n            (error: any) => {\r\n            });\r\n            this.helper.http.post(this.helper.POST_METHOD.GET_PRODUCT_DATA,{product_id:this.product_id,franchise_id:franchise._id, server_token:franchise.server_token}).map((res_data: Response) => res_data.json()) .subscribe(res_data => {\r\n\r\n                this.myLoading=false;\r\n                if(res_data.success == false)\r\n                {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.router.navigate(['franchise/product']);\r\n                }\r\n                else\r\n                {\r\n                    this.edit_product.name=res_data.product.name;\r\n                    this.edit_product.details=res_data.product.details;\r\n                    this.edit_product.is_visible_in_store=res_data.product.is_visible_in_store;\r\n                    this.edit_product.image_url=res_data.product.image_url;\r\n                    this.product_list = res_data.product_array;\r\n                }\r\n            },\r\n            (error: any) => {\r\n                this.myLoading=false;\r\n                    this.helper.http_status(error)\r\n            });\r\n        }\r\n\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_IMAGE_SETTING, {\r\n        }).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n            this.image_setting.image_ratio = res_data.image_setting.product_image_ratio;\r\n            this.image_setting.image_min_width = res_data.image_setting.product_image_min_width;\r\n            this.image_setting.image_max_width = res_data.image_setting.product_image_max_width;\r\n            this.image_setting.image_min_height = res_data.image_setting.product_image_min_height;\r\n            this.image_setting.image_max_height = res_data.image_setting.product_image_max_height;\r\n            this.image_setting.image_type = res_data.image_setting.image_type;\r\n\r\n            setTimeout(() => {\r\n                this.cropperSettings.width = this.cropperSettings.height * res_data.image_setting.product_image_ratio;\r\n            },1000)\r\n\r\n        },\r\n        (error: any) => {\r\n            this.myLoading = false;\r\n            this.helper.http_status(error)\r\n        });\r\n    }\r\n    public formData = new FormData();\r\n    update_check_box()\r\n    {\r\n        setTimeout(() => {\r\n            jQuery('.icheck').iCheck({\r\n                handle: 'checkbox',\r\n                checkboxClass: 'icheckbox_square-green',\r\n            });\r\n            jQuery('#1').iCheck('check');\r\n\r\n            jQuery('.icheck').on('ifChecked', (event) => {\r\n                var id = event.target.getAttribute('value')\r\n                this.edit_product.store_ids.push(id);\r\n                console.log(this.edit_product.store_ids);\r\n                //this.store_list[checked_index]=true;\r\n            });\r\n\r\n            jQuery('.icheck').on('ifUnchecked', (event) => {\r\n                var id = event.target.getAttribute('value')\r\n                var i = this.edit_product.store_ids.indexOf(id);\r\n                if(i != -1) {\r\n                    this.edit_product.store_ids.splice(i, 1);\r\n                }\r\n                console.log(\"uncheck: \"+id);\r\n                /*var checked_index = this.product_specification_list.findIndex(x => x._id == id);\r\n                this.store_list[checked_index]=false;*/\r\n            });\r\n\r\n        },1000);\r\n    }\r\n    image_update($event) {\r\n        this.image_error = \"\";\r\n        this.formData = new FormData();\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const image_url = files[0];\r\n        var index = this.image_setting.image_type.indexOf(image_url.type);\r\n        if (index !== -1) {\r\n            var reader = new FileReader();\r\n\r\n            reader.onload = (e: any) => {\r\n                var new_image = new Image();\r\n                new_image.src = e.target.result;\r\n                this.cropper.setImage(new_image);\r\n                new_image.onload = () => {\r\n\r\n                    if(new_image.width >= this.image_setting.image_min_width && new_image.width < this.image_setting.image_max_width &&\r\n                        new_image.height >= this.image_setting.image_min_height && new_image.height < this.image_setting.image_max_height ){\r\n\r\n                        if(new_image.width == (new_image.height * this.image_setting.image_ratio)){\r\n                            this.edit_product.image_url = e.target.result;\r\n                            this.formData.append('image_url', image_url)\r\n                        } else {\r\n                            this.image_crop_modal.open();\r\n                            this.image_error = this.title.item_image_ratio_error;\r\n                        }\r\n                    } else {\r\n                        this.image_error = this.title.item_image_size_error;\r\n                        this.image_crop_modal.open();\r\n                    }\r\n                }\r\n            }\r\n            reader.readAsDataURL(image_url);\r\n        } else {\r\n            jQuery('#remove').click();\r\n            this.image_error = this.title.item_image_extension_error;\r\n        }\r\n    }\r\n\r\n    crop($event){\r\n        this.image_error = '';\r\n        function dataURLtoFile(dataurl, filename) {\r\n            var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],\r\n                bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);\r\n            while(n--){\r\n                u8arr[n] = bstr.charCodeAt(n);\r\n            }\r\n            return new File([u8arr], filename, {type:mime});\r\n        }\r\n        var image_url = dataURLtoFile(this.cropper.image.image, 'hello.jpg');\r\n\r\n        var reader = new FileReader();\r\n        reader.onload = (e: any) => {\r\n            var new_image = new Image();\r\n            new_image.src = e.target.result;\r\n            // this.cropper.setImage(new_image);\r\n            new_image.onload = () => {\r\n\r\n                if(new_image.width >= this.image_setting.image_min_width && new_image.width < this.image_setting.image_max_width &&\r\n                    new_image.height >= this.image_setting.image_min_height && new_image.height < this.image_setting.image_max_height ){\r\n\r\n                    this.edit_product.image_url = e.target.result;\r\n                    this.formData.append('image_url', image_url)\r\n                    this.image_crop_modal.close();\r\n\r\n                } else {\r\n                    this.image_error = this.title.item_image_size_error;\r\n                }\r\n\r\n            }\r\n        }\r\n        reader.readAsDataURL(image_url);\r\n\r\n    }\r\n\r\n    remove_image()\r\n    {\r\n        this.formData = new FormData();\r\n    }\r\n\r\n    check_product()\r\n    {\r\n        var product_index = this.product_list.findIndex(x => x.toLowerCase()==this.edit_product.name.toLowerCase())\r\n   \r\n        if(product_index == -1)\r\n        {\r\n            this.product_already_exist = false;\r\n        }\r\n        else\r\n        {\r\n            this.product_already_exist = true;\r\n        }\r\n    }\r\n\r\n    updateProduct(product_data)\r\n    {\r\n        this.myLoading=true;\r\n        var franchise = JSON.parse(localStorage.getItem('franchise'));\r\n        this.formData.append(\"name\", product_data.name.trim());\r\n        this.formData.append(\"details\", product_data.details);\r\n        this.formData.append(\"is_visible_in_store\", product_data.is_visible_in_store);\r\n        this.formData.append(\"franchise_id\", franchise._id);\r\n        this.formData.append(\"store_ids\", this.edit_product.store_ids);\r\n        this.formData.append(\"product_id\", product_data.product_id);\r\n        this.formData.append(\"server_token\", franchise.server_token);\r\n        this.helper.http.post(this.helper.POST_METHOD.UPDATE_PRODUCT,this.formData).map((res:Response) => res.json()).subscribe(res_data=>{\r\n\r\n            this.myLoading=false;\r\n            if(res_data.success == true)\r\n            {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n\r\n                    this.helper.router.navigate(['franchise/product']);\r\n            }\r\n            else\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.router.navigate(['franchise/product']);\r\n            }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/edit_product/edit_product.component.ts","import {Component, OnInit, ViewContainerRef, ViewChild} from '@angular/core';\r\nimport {Response} from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport {ModalComponent} from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport {Helper} from \"../../franchise_helper\";\r\nimport {ADMIN_PROFIT_ON_ORDERS} from \"../../../constant\";\r\ndeclare var jQuery: any;\r\ndeclare var c3: any;\r\n\r\nexport interface StoreEdit {\r\n\r\n    store_id: Object,\r\n\r\n    name: String,\r\n    email: String,\r\n    website_url: String,\r\n    slogan: String,\r\n    country_name: String,\r\n    city_name: String,\r\n    address: String,\r\n    country_phone_code: String,\r\n    phone: Number,\r\n    offer: String,\r\n    //zipcode: String,\r\n    admin_profit_mode_on_store: Number,\r\n    admin_profit_value_on_store: Number,\r\n    store_delivery_name: String,\r\n    famous_for: String,\r\n    image_url: String,\r\n    comments: String,\r\n    store_time: any[],\r\n    store_open_time: any,\r\n    store_close_time: any,\r\n\r\n\r\n\r\n    price_rating: Number,\r\n    user_rate: Number,\r\n\r\n\r\n    referral_code: String,\r\n    wallet: Number,\r\n    referred_by: Object,\r\n    wallet_currency_code: String,\r\n    app_version: String,\r\n    device_type: String,\r\n    total_referrals: Number,\r\n    referred_store_name: String,\r\n\r\n\r\n    is_approved: Boolean,\r\n    is_email_verified: Boolean,\r\n    is_phone_number_verified: Boolean,\r\n    \r\n    is_document_uploaded:Boolean,\r\n    is_business: Boolean,\r\n    free_delivery_for_above_order_price: Number,\r\n    delivery_time: Number,\r\n    item_tax: Number,\r\n    is_store_pay_delivery_fees: Boolean\r\n    //is_document_uploaded: Boolean\r\n\r\n}\r\n\r\nexport interface OrderDetail {\r\n    total_orders: Number,\r\n    accepted_orders: Number,\r\n    completed_orders: Number,\r\n    cancelled_orders: Number,\r\n    completed_order_percentage: Number\r\n}\r\n\r\n@Component({\r\n    selector: 'app-edit_store',\r\n    template: require('./edit_store.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class EditFranchiseStoreComponent implements OnInit {\r\n\r\n    private store_edit: StoreEdit;\r\n    private order_detail: OrderDetail;\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    minimum_phone_number_length: number;\r\n    maximum_phone_number_length: number;\r\n    phone_number_length: number\r\n    //setting_data: any;\r\n    store_detail: any;\r\n    store_id: Object;\r\n    admin_profit_mode_on_store_list: any[];\r\n    edit: Boolean;\r\n    myLoading: boolean = true;\r\n    \r\n    \r\n    selected_store_time_array: any[] = [];\r\n    store_time_millisecond_array : any[] = [];\r\n    curren_selected_day: number = 0;\r\n    is_store_open_full_time: Boolean = false;\r\n    is_store_open: Boolean = false;\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n\r\n    }\r\n    ngAfterViewInit() {\r\n\r\n\r\n\r\n        jQuery(\"#admin_profit_mode\").chosen({disable_search: true});\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n\r\n\r\n            jQuery('input').iCheck({\r\n                handle: 'checkbox',\r\n                checkboxClass: 'icheckbox_square-green',\r\n            });\r\n        }, 1000);\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.admin_profit_mode_on_store_list = ADMIN_PROFIT_ON_ORDERS;\r\n        this.store_edit = {\r\n            store_id: \"\",\r\n            name: \"\",\r\n            email: \"\",\r\n            website_url: \"\",\r\n            slogan: \"\",\r\n            country_name: \"\",\r\n            city_name: \"\",\r\n            address: \"\",\r\n            country_phone_code: \"\",\r\n            phone: null,\r\n            \r\n            price_rating: null,\r\n            user_rate: null,\r\n            is_document_uploaded:false,\r\n            device_type: \"\",\r\n            //zipcode: \"\",\r\n            offer: \"\",\r\n            admin_profit_mode_on_store: null,\r\n            admin_profit_value_on_store: null,\r\n            store_delivery_name: \"\",\r\n            image_url: \"\",\r\n\r\n            famous_for: \"\",\r\n            comments: \"\",\r\n            store_open_time: \"\",\r\n            store_close_time: \"\",\r\n            store_time: [],\r\n\r\n\r\n\r\n            referral_code: \"\",\r\n            wallet: null,\r\n            referred_by: \"\",\r\n            wallet_currency_code: \"\",\r\n            app_version: \"\",\r\n            \r\n            total_referrals: null,\r\n            referred_store_name: \"\",\r\n\r\n\r\n            is_business: false,\r\n            free_delivery_for_above_order_price: null,\r\n            delivery_time: null,\r\n            item_tax: null,\r\n            is_store_pay_delivery_fees: false,\r\n\r\n            is_approved: false,\r\n            is_email_verified: false,\r\n            is_phone_number_verified: false,\r\n            //is_document_uploaded: false\r\n        }\r\n        this.order_detail = {\r\n            total_orders: 0,\r\n            accepted_orders: 0,\r\n            completed_orders: 0,\r\n            cancelled_orders: 0,\r\n            completed_order_percentage: 0\r\n        }\r\n        this.store_id = this.helper.router_id.franchise.store_id;\r\n        var store = JSON.parse(localStorage.getItem('store'));\r\n\r\n\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#admin_profit_mode').on('change', (evnt, res_data) => {\r\n\r\n            this.store_edit.admin_profit_mode_on_store = res_data.selected\r\n\r\n\r\n        });\r\n        this.helper.http.post('/admin/get_store_data', {store_id: this.store_id}).map((response: Response) => response.json()).subscribe(res_data => {\r\n            \r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n            }\r\n            else {\r\n                this.order_detail = res_data.order_detail;\r\n\r\n                let chart31 = c3.generate({\r\n                    bindto: '#c1',\r\n                    data: {\r\n\r\n                        columns: [\r\n                            [this.title.completed_order, this.order_detail.completed_order_percentage]\r\n                        ],\r\n                        type: 'gauge',\r\n                    },\r\n                    legend: {\r\n                        show: true\r\n                    },\r\n                    gauge: {\r\n                        label: {\r\n                            show: false // to turn off the min/max labels.\r\n                        },\r\n                        width: 30 // for adjusting arc thickness\r\n                    },\r\n                    color: {\r\n                        pattern: ['#1e1e1e'], // the three color levels for the percentage values.\r\n\r\n                    }\r\n                });\r\n                this.store_detail = res_data.store_detail;\r\n                this.store_edit.name = res_data.store_detail.name;\r\n                this.store_edit.email = res_data.store_detail.email;\r\n\r\n                this.store_edit.website_url = res_data.store_detail.website_url;\r\n                this.store_edit.slogan = res_data.store_detail.slogan;\r\n                this.store_edit.offer = res_data.store_detail.offer;\r\n                this.store_edit.comments = res_data.store_detail.comments;\r\n                this.store_edit.famous_for = res_data.store_detail.famous_for;\r\n\r\n                this.store_edit.store_time = res_data.store_detail.store_time;\r\n\r\n                this.store_edit.country_name = res_data.store_detail.country_details.country_name;\r\n                this.store_edit.city_name = res_data.store_detail.city_details.city_name;\r\n                this.store_edit.address = res_data.store_detail.address;\r\n                this.store_edit.country_phone_code = res_data.store_detail.country_phone_code;\r\n                this.store_edit.phone = res_data.store_detail.phone;\r\n                \r\n                this.store_edit.user_rate = res_data.store_detail.user_rate;\r\n                this.store_edit.device_type = res_data.store_detail.device_type;\r\n                this.store_edit.price_rating = res_data.store_detail.price_rating;\r\n                this.store_edit.is_document_uploaded = res_data.store_detail.is_document_uploaded;\r\n                \r\n                \r\n\r\n\r\n                //this.store_edit.zipcode = res_data.store_detail.zipcode;\r\n                this.store_edit.admin_profit_mode_on_store = res_data.store_detail.admin_profit_mode_on_store;\r\n                this.store_edit.admin_profit_value_on_store = res_data.store_detail.admin_profit_value_on_store;\r\n\r\n\r\n                this.store_edit.store_delivery_name = res_data.store_detail.delivery_details.delivery_name;\r\n\r\n\r\n                this.store_edit.image_url = res_data.store_detail.image_url;\r\n                this.minimum_phone_number_length = res_data.store_detail.country_details.minimum_phone_number_length;\r\n                this.maximum_phone_number_length = res_data.store_detail.country_details.maximum_phone_number_length;\r\n\r\n                this.phone_number_length = res_data.store_detail.country_details.phone_number_length;\r\n\r\n                this.store_edit.referral_code = res_data.store_detail.referral_code;\r\n                this.store_edit.wallet = res_data.store_detail.wallet;\r\n                this.store_edit.referred_by = res_data.store_detail.referred_by;\r\n                this.store_edit.wallet_currency_code = res_data.store_detail.wallet_currency_code;\r\n                this.store_edit.app_version = res_data.store_detail.app_version;\r\n               \r\n\r\n\r\n                this.store_edit.total_referrals = res_data.store_detail.total_referrals;\r\n\r\n                if (res_data.store_detail.referred_store_details.length > 0) {\r\n                    this.store_edit.referred_store_name = res_data.store_detail.referred_store_details[0].name;\r\n                }\r\n\r\n                this.store_edit.is_business = res_data.store_detail.is_business;\r\n                this.store_edit.free_delivery_for_above_order_price = res_data.store_detail.free_delivery_for_above_order_price;\r\n                this.store_edit.delivery_time = res_data.store_detail.delivery_time;\r\n                this.store_edit.item_tax = res_data.store_detail.item_tax;\r\n                this.store_edit.is_store_pay_delivery_fees = res_data.store_detail.is_store_pay_delivery_fees;\r\n\r\n\r\n                this.store_edit.is_approved = res_data.store_detail.is_approved;\r\n                this.store_edit.is_email_verified = res_data.store_detail.is_email_verified;\r\n\r\n                this.store_edit.is_phone_number_verified = res_data.store_detail.is_phone_number_verified;\r\n\r\n                this.change_day(0);\r\n                \r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.edit = false;\r\n        jQuery(window).resize(function () {\r\n            if (jQuery(window).width() < 454) {\r\n                jQuery('.box').removeClass('col-xs-1');\r\n                jQuery('.total').removeClass('col-xs-5');\r\n                jQuery('.box').addClass('col-xs-2');\r\n                jQuery('.total').addClass('col-xs-10');\r\n                jQuery('.box1').css('padding', '')\r\n                jQuery('.total1').css('padding', '')\r\n            } else {\r\n                jQuery('.box').removeClass('col-xs-2');\r\n                jQuery('.total').removeClass('col-xs-10');\r\n                jQuery('.box').addClass('col-xs-1');\r\n                jQuery('.total').addClass('col-xs-5');\r\n                jQuery('.box1').css('padding', 0)\r\n                jQuery('.total1').css('padding', 0)\r\n            }\r\n        });\r\n        setTimeout(function () {\r\n            if (jQuery(window).width() < 454) {\r\n                jQuery('.box').removeClass('col-xs-1');\r\n                jQuery('.total').removeClass('col-xs-5');\r\n                jQuery('.box').addClass('col-xs-2');\r\n                jQuery('.total').addClass('col-xs-10');\r\n                jQuery('.box1').css('padding', '')\r\n                jQuery('.total1').css('padding', '')\r\n            } else {\r\n                jQuery('.box').removeClass('col-xs-2');\r\n                jQuery('.total').removeClass('col-xs-10');\r\n                jQuery('.box').addClass('col-xs-1');\r\n                jQuery('.total').addClass('col-xs-5');\r\n                jQuery('.box1').css('padding', 0)\r\n                jQuery('.total1').css('padding', 0)\r\n            }\r\n        }, 500);\r\n    }\r\n    \r\n    \r\n    \r\n    change_day(selected_day){\r\n        this.curren_selected_day = selected_day;\r\n        let index = this.store_edit.store_time.findIndex((x) => x.day == selected_day)\r\n\r\n        this.is_store_open_full_time = this.store_edit.store_time[index].is_store_open_full_time;\r\n        this.is_store_open = this.store_edit.store_time[index].is_store_open;\r\n        this.selected_store_time_array = this.store_edit.store_time[index].day_time;\r\n        this.store_time_millisecond_array = [];\r\n        this.selected_store_time_array.forEach((time) => {\r\n\r\n            var open_date = new Date(Date.now())\r\n            var open_time = time.store_open_time;\r\n            open_time = open_time.split(':')\r\n            open_date.setHours(open_time[0] , open_time[1], 0,0);\r\n\r\n            var close_date = new Date(Date.now());\r\n            var close_time = time.store_close_time;\r\n            close_time = close_time.split(':');\r\n            close_date.setHours(close_time[0] , close_time[1], 0,0);\r\n\r\n            this.store_time_millisecond_array.push({store_open_time:open_date.getTime(),store_close_time:close_date.getTime()});\r\n        });\r\n    }\r\n    \r\n    \r\n    \r\n    \r\n\r\n    public formData = new FormData();\r\n\r\n    change_image($event) {\r\n\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const image_url = files[0];\r\n\r\n        if (image_url.type == \"image/jpeg\" || image_url.type == \"image/jpg\" || image_url.type == \"image/png\") {\r\n            this.formData = new FormData();\r\n            this.formData.append('image_url', image_url);\r\n\r\n            var reader = new FileReader();\r\n\r\n            reader.onload = (e: any) => {\r\n                this.store_edit.image_url = e.target.result\r\n            }\r\n            reader.readAsDataURL(image_url);\r\n        }\r\n    }\r\n\r\n    \r\n\r\n    UpdateStore(store_data) {\r\n        this.myLoading = true;\r\n        this.formData.append('store_id', store_data.store_id);\r\n\r\n        this.formData.append('phone', store_data.phone);\r\n        this.formData.append('email', store_data.email);\r\n        this.formData.append('name', store_data.name);\r\n        this.formData.append('address', store_data.address);\r\n\r\n        this.formData.append('website_url', store_data.website_url);\r\n        this.formData.append('famous_for', store_data.famous_for);\r\n        this.formData.append('offer', store_data.offer);\r\n        this.formData.append('slogan', store_data.slogan);\r\n\r\n        this.formData.append('comments', store_data.comments);\r\n        //this.formData.append('zipcode', store_data.zipcode);\r\n\r\n        this.formData.append('is_approved', store_data.is_approved);\r\n        this.formData.append('is_email_verified', store_data.is_email_verified);\r\n        this.formData.append('is_phone_number_verified', store_data.is_phone_number_verified);\r\n        \r\n        this.formData.append('admin_profit_mode_on_store', store_data.admin_profit_mode_on_store);\r\n        this.formData.append('admin_profit_value_on_store', store_data.admin_profit_value_on_store);\r\n\r\n\r\n\r\n\r\n\r\n        this.helper.http.post('/admin/update_store', this.formData).map((response: Response) => response.json()).subscribe(res_data => {\r\n\r\n            this.myLoading = false;\r\n\r\n            jQuery('#remove').click();\r\n            if (res_data.success == false) {\r\n\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message();\r\n                this.formData = new FormData();\r\n                this.store_edit.name = this.store_detail.name;\r\n\r\n                this.store_edit.website_url = this.store_detail.website_url;\r\n                this.store_edit.famous_for = this.store_detail.famous_for;\r\n                this.store_edit.slogan = this.store_detail.slogan;\r\n                this.store_edit.offer = this.store_detail.offer;\r\n\r\n                this.store_edit.comments = this.store_detail.comments;\r\n\r\n                this.store_edit.address = this.store_detail.address;\r\n                this.store_edit.phone = this.store_detail.phone;\r\n                this.store_edit.email = this.store_detail.email;\r\n\r\n                this.store_edit.admin_profit_mode_on_store = this.store_detail.admin_profit_mode_on_store;\r\n                this.store_edit.admin_profit_value_on_store = this.store_detail.admin_profit_value_on_store;\r\n\r\n\r\n                //this.store_edit.zipcode = this.store_detail.zipcode;\r\n\r\n\r\n\r\n                this.store_edit.is_approved = this.store_detail.is_approved;\r\n                this.store_edit.is_email_verified = this.store_detail.is_email_verified;\r\n                this.store_edit.is_phone_number_verified = this.store_detail.is_phone_number_verified;\r\n               \r\n\r\n\r\n                this.store_edit.image_url = this.store_detail.image_url;\r\n\r\n\r\n            }\r\n            else {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                //localStorage.setItem('store', JSON.stringify(res_data.store));\r\n                this.helper.router.navigate(['franchise/stores']);\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/edit_store/edit_store.component.ts","import { Component, OnInit , ViewContainerRef} from '@angular/core';\r\nimport {Helper} from \"../../franchise_helper\";\r\nimport {Response} from '@angular/http';\r\ndeclare var jQuery:any;\r\n\r\nexport interface FranchiseForgotPassword{\r\n        email: String    \r\n}\r\n\r\n@Component({\r\n    selector: 'app_franchise_forgot_password',\r\n    template: require('./franchise_forgot_password.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class FranchiseForgotPasswordComponent implements OnInit {\r\n    \r\n    private store_forgot_password: FranchiseForgotPassword;\r\n    title:any;\r\n    button:any;\r\n    public message: string;\r\n    public class: string;\r\n    validation_message:any;\r\n\r\n    myLoading:boolean = false;\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef){\r\n        helper.toastr.setRootViewContainerRef(vcr);\t\t\t\r\n    }\r\n\r\n    ngOnInit() {\r\n        \r\n        let token = this.helper.tokenService.getToken();\r\n        if(token && token.token) {\r\n            this.helper.data.storage = {\r\n                \"message\": 999,\r\n                \"class\": \"alert-info\"\r\n            }\r\n            this.helper.router.navigate(['franchise/stores']);\r\n        }\r\n        this.helper.message()\r\n        \r\n        \r\n        this.store_forgot_password={\r\n            email: \"\",\r\n        }\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.validation_message=this.helper.validation_message;\r\n    }\r\n    \r\n    storeForgotPassword(forgotpassworddata)\r\n    {\r\n        this.myLoading=true;\r\n        this.helper.http.post(this.helper.POST_METHOD.FORGOT_PASSWORD,{email:forgotpassworddata.email.trim(), type:2}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n            \r\n            this.myLoading=false;\r\n                        if(res_data.success == false)\r\n                        {\r\n                            this.helper.data.storage = {\r\n                                \"code\": res_data.error_code,\r\n                                \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                                \"class\": \"alert-danger\"\r\n                            }\r\n                            this.helper.message()\r\n                        }\r\n                        else\r\n                        {\r\n                            this.helper.data.storage = {\r\n                                \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                                \"class\": \"alert-info\"\r\n                            }\r\n                            this.helper.router.navigate(['store/login']);\r\n                            \r\n                        }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/franchise_forgot_password/franchise_forgot_password.component.ts","import { Component,ViewContainerRef , OnInit, ViewChild, NgZone } from '@angular/core';\r\nimport {Helper} from \"../../franchise_helper\";\r\nimport {Response} from '@angular/http';\r\ndeclare var jQuery:any;\r\nimport { ModalComponent } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport { FacebookService, InitParams, LoginResponse, LoginOptions } from 'ngx-facebook';\r\ndeclare var gapi;\r\n\r\nexport interface FranchiseLogin{\r\n    email: String,\r\n    password: String,\r\n    login_by: String,\r\n    social_id: String\r\n}\r\n\r\n@Component({\r\n    selector: 'franchise_login',\r\n    template: require('./franchise_login.template.html'),\r\n    providers: [Helper, FacebookService]\r\n})\r\nexport class franchise_loginComponent implements OnInit {\r\n\r\n  @ViewChild('myModal')\r\n  modal: ModalComponent;\r\n\r\n    private franchise_login: FranchiseLogin;\r\n    title:any;\r\n    button:any;\r\n    setting_data:any;\r\n    email_placeholder:Number = 1;\r\n    email_or_phone_error: Boolean = false;\r\n    otp_for_email:number;\r\n    otp_for_sms:number;\r\n    franchise_data:any;\r\n    opt_error_message:number = 0;\r\n    validation_message:any;\r\n    myLoading:boolean = true;\r\n    constructor(public helper: Helper,private fb: FacebookService, public vcr: ViewContainerRef,  private zone: NgZone){\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n\r\n        let initParams: InitParams = {\r\n            appId: '601526146700337',\r\n            xfbml: true,\r\n            version: 'v2.10'\r\n        };\r\n\r\n        fb.init(initParams);\r\n    }\r\n\r\n    ngOnInit() {\r\n\r\n        let token = this.helper.tokenService.getToken();\r\n        if(token && token.token) {\r\n\r\n            this.helper.router.navigate(['franchise/stores']);\r\n        }\r\n\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.validation_message=this.helper.validation_message;\r\n\r\n        this.helper.message()\r\n        this.franchise_login={\r\n            email: \"\",\r\n            password: \"\",\r\n            login_by: this.title.manual,\r\n            social_id: \"\"\r\n        }\r\n\r\n\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_SETTING_DETAIL,{}).map((response: Response) => response.json()) .subscribe(res_data => {\r\n\r\n            this.myLoading=false;\r\n            this.setting_data=res_data.setting\r\n\r\n            if(this.setting_data.is_franchise_login_by_phone == true && this.setting_data.is_franchise_login_by_email == true)\r\n            {\r\n              this.email_placeholder = 1\r\n            }\r\n            else if(this.setting_data.is_franchise_login_by_phone == true)\r\n            {\r\n              this.email_placeholder = 2\r\n            }\r\n            else if(this.setting_data.is_franchise_login_by_email == true)\r\n            {\r\n              this.email_placeholder = 3\r\n            }\r\n\r\n            if(!this.setting_data.is_franchise_login_by_social){\r\n                jQuery('#social').hide();\r\n            }\r\n\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n\r\n    }\r\n\r\n    google_register(){\r\n        gapi.load('auth2', () => {\r\n            let auth2 = gapi.auth2.init({\r\n                client_id: '1062107977876-q30ugfv61img1eu9qjm1kiuirenma111.apps.googleusercontent.com',\r\n                fetch_basic_profile: true,\r\n                scope: 'profile'\r\n            });\r\n\r\n            auth2.signIn().then(()=> {\r\n\r\n                if (auth2.isSignedIn.get()) {\r\n                    let profile = auth2.currentUser.get().getBasicProfile();\r\n\r\n                    this.franchise_login.social_id = profile.getId();\r\n                    this.franchise_login.login_by = this.title.social;\r\n                    this.myLoading=true;\r\n                    this.franchiseLogin1(this.franchise_login)\r\n                }\r\n            });\r\n        });\r\n\r\n    }\r\n\r\n    facebook_register(){\r\n\r\n        const loginOptions: LoginOptions = {\r\n            enable_profile_selector: true,\r\n            return_scopes: true,\r\n            scope: 'public_profile,email'\r\n        };\r\n\r\n        this.fb.login(loginOptions)\r\n            .then((response: LoginResponse) =>{\r\n                this.myLoading=true;\r\n                this.fb.api('/me?fields=id,name,email')\r\n                    .then((res: any) => {\r\n\r\n                        this.franchise_login.social_id = res.id;\r\n                        this.franchise_login.login_by = this.title.social\r\n                        this.franchise_login.email = '';\r\n                        this.franchise_login.password = '';\r\n                        this.franchiseLogin1(this.franchise_login)\r\n                    })\r\n                    .catch((error: any) => console.error(error));\r\n            })\r\n            .catch((error: any) => console.error(error));\r\n\r\n    }\r\n\r\n    franchiseLogin(logindata)\r\n    {\r\n        this.franchise_login.social_id = '';\r\n        this.franchise_login.login_by = this.title.manual\r\n\r\n        logindata.email=logindata.email.trim();\r\n        if(this.email_placeholder == 1)\r\n        {\r\n            var reg = /^([A-Za-z0-9_\\-\\.])+\\@([A-Za-z0-9_\\-\\.])+\\.([A-Za-z]{2,4})$/;\r\n            if(!isNaN(logindata.email) || reg.test(logindata.email))\r\n            {\r\n                this.email_or_phone_error=false;\r\n                this.franchiseLogin1(this.franchise_login)\r\n            }\r\n            else\r\n            {\r\n                this.email_or_phone_error=true;\r\n            }\r\n        }\r\n        else\r\n        {\r\n            this.email_or_phone_error=false;\r\n            this.franchiseLogin1(this.franchise_login)\r\n        }\r\n    }\r\n\r\n    franchiseLogin1(logindata)\r\n    {\r\n\r\n        this.helper.http.post(this.helper.POST_METHOD.LOGIN,logindata).map((res:Response) => res.json()).subscribe(res_data=>{\r\n\r\n                this.myLoading=false;\r\n                if(res_data.success == false)\r\n                {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message()\r\n                }\r\n                else\r\n                {\r\n                    this.franchise_data = res_data;\r\n                    if((this.setting_data.is_franchise_sms_verification == true && this.franchise_data.franchise.is_phone_number_verified == false) && (this.setting_data.is_franchise_mail_verification == true && this.franchise_data.franchise.is_email_verified == false))\r\n                    {\r\n                        var otp_json = {type:2, email:this.franchise_data.franchise.email, phone:this.franchise_data.franchise.phone}\r\n                        this.generate_otp(otp_json)\r\n                    }\r\n                    else if(this.setting_data.is_franchise_sms_verification == true && this.franchise_data.franchise.is_phone_number_verified == false)\r\n                    {\r\n                        this.generate_otp({type:2, phone:this.franchise_data.franchise.phone})\r\n                    }\r\n                    else if(this.setting_data.is_franchise_mail_verification == true && this.franchise_data.franchise.is_email_verified == false)\r\n                    {\r\n                        this.generate_otp({type:2, email:this.franchise_data.franchise.email})\r\n                    }\r\n                    else\r\n                    {\r\n                        this.helper.tokenService.setToken(this.franchise_data.franchise.server_token);\r\n                        localStorage.setItem('franchise', JSON.stringify(this.franchise_data.franchise));\r\n                        console.log(this.franchise_data.franchise);\r\n                        /*this.helper.data.storage = {\r\n                            \"message\": this.helper.MESSAGE_CODE[this.franchise_data.message],\r\n                            \"class\": \"alert-info\"\r\n                        }\r\n\r\n                        if(this.franchise_data.franchise.is_document_uploaded)\r\n                        {\r\n                            this.helper.router.navigate(['franchise/stores']);\r\n                        }\r\n                        else\r\n                        {*/\r\n                            this.helper.router.navigate(['franchise/stores']);\r\n                        //}\r\n\r\n                    }\r\n\r\n                }\r\n            },\r\n            (error: any) => {\r\n                this.myLoading=false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    generate_otp(otp_json)\r\n    {\r\n        this.myLoading=true;\r\n        this.helper.http.post(this.helper.POST_METHOD.ADMIN_OTP_VERIFICATION,otp_json).map((res:Response) => res.json()).subscribe(res_data=>{\r\n            this.myLoading=false;\r\n            if(res_data.success == true)\r\n            {\r\n                this.helper.string_log(\"email\" , res_data.otp_for_email)\r\n                this.helper.string_log(\"sms\" , res_data.otp_for_sms)\r\n                this.modal.open();\r\n                this.otp_for_email=res_data.otp_for_email\r\n                this.otp_for_sms=res_data.otp_for_sms\r\n                \r\n                if(this.franchise_data.franchise.is_phone_number_verified == true || this.setting_data.is_franchise_sms_verification == false)\r\n                {\r\n                    jQuery(\"#otp_for_sms\").css(\"display\", \"none\");\r\n                }\r\n\r\n                if(this.franchise_data.franchise.is_email_verified == true || this.setting_data.is_franchise_mail_verification == false)\r\n                {\r\n                    jQuery(\"#otp_for_email\").css(\"display\", \"none\");\r\n                }\r\n            }\r\n            else\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.ERROR_CODE[this.franchise_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message()\r\n\r\n            }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n    otp_var(otp)\r\n    {\r\n        if(otp.sms_otp == undefined)\r\n        {\r\n            if(otp.email_otp == this.otp_for_email)\r\n            {\r\n\r\n                this.otp_verified({franchise_id :this.franchise_data.franchise._id , email :this.franchise_data.franchise.email , server_token :this.franchise_data.franchise.server_token, is_email_verified:true})\r\n            }\r\n            else\r\n            {\r\n                this.opt_error_message = 1;\r\n            }\r\n        }\r\n        else if(otp.email_otp == undefined)\r\n        {\r\n            if(otp.sms_otp == this.otp_for_sms)\r\n            {\r\n                this.otp_verified({franchise_id :this.franchise_data.franchise._id , phone :this.franchise_data.franchise.phone , server_token :this.franchise_data.franchise.server_token, is_phone_number_verified:true})\r\n            }\r\n            else\r\n            {\r\n                this.opt_error_message = 2;\r\n            }\r\n        }\r\n        else\r\n        {\r\n            if(otp.sms_otp == this.otp_for_sms && otp.email_otp == this.otp_for_email)\r\n            {\r\n                this.otp_verified({franchise_id :this.franchise_data.franchise._id , email :this.franchise_data.franchise.email , phone : this.franchise_data.franchise.phone , server_token :this.franchise_data.franchise.server_token, is_email_verified:true , is_phone_number_verified:true})\r\n            }\r\n            else\r\n            {\r\n                this.opt_error_message = 3;\r\n            }\r\n        }\r\n    }\r\n\r\n    otp_verified(otp_verified_json)\r\n    {\r\n        this.modal.close();\r\n        this.myLoading=true;\r\n        this.helper.http.post(this.helper.POST_METHOD.OTP_VERIFICATION,otp_verified_json).map((res:Response) => res.json()).subscribe(res_data=>{\r\n            this.myLoading=false;\r\n            if(res_data.success == true)\r\n            {\r\n                this.helper.tokenService.setToken(this.franchise_data.franchise.server_token);\r\n                localStorage.setItem('franchise', JSON.stringify(this.franchise_data.franchise));\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[this.franchise_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.helper.router.navigate(['franchise/order']);\r\n            }\r\n            else{\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n            }\r\n                \r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/franchise_login/franchise_login.component.ts","import { Component, OnInit } from '@angular/core';\r\nimport {Helper} from \"../../franchise_helper\";\r\nimport {Response } from '@angular/http';\r\n\r\n@Component({\r\n  selector: 'app-franchise_logout',\r\n  template: '',\r\n  providers: [Helper]\r\n})\r\nexport class FranchiseLogoutComponent implements OnInit {\r\n\r\n    myLoading:boolean = true;\r\n        constructor(private helper:Helper) { \r\n        \r\n        }\r\n\r\n        ngOnInit() {\r\n            \r\n            var franchise = JSON.parse(localStorage.getItem('franchise'));\r\n            if(franchise!==null)\r\n            {\r\n                this.helper.http.post(this.helper.POST_METHOD.LOGOUT,{franchise_id:franchise._id}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n\r\n                    this.myLoading=false;\r\n                        this.helper.tokenService.removeToken();\r\n                        localStorage.removeItem('franchise');\r\n                        this.helper.router.navigate(['franchise/login']);\r\n                   \r\n                },\r\n                (error: any) => {\r\n                    this.myLoading=false;\r\n                        this.helper.http_status(error)\r\n                });\r\n            }\r\n            else\r\n            {\r\n                this.myLoading=false;\r\n                this.helper.tokenService.removeToken();\r\n                localStorage.removeItem('franchise');\r\n                this.helper.router.navigate(['franchise/login']);\r\n            }\r\n            \r\n        }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/franchise_logout/franchise_logout.component.ts","import { Component, OnInit , ViewContainerRef} from '@angular/core';\r\nimport {Router, ActivatedRoute, Params} from '@angular/router';\r\nimport {Helper} from \"../../franchise_helper\";\r\nimport {Response} from '@angular/http';\r\ndeclare var jQuery:any;\r\n\r\nexport interface FranchiseNewPassword{\r\n        type:string,\r\n        id:Object,\r\n        server_token:string,\r\n        password: String,\r\n        confirm_password: String    \r\n}\r\n\r\n@Component({\r\n  selector: 'app_new_forgot_password',\r\n  template: require('./franchise_new_password.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class FranchiseNewPasswordComponent implements OnInit {\r\n    \r\n    private store_new_password: FranchiseNewPassword;\r\n    title:any;\r\n    button:any;\r\n    public message: string;\r\n    public class: string;\r\n    validation_message:any;\r\n    myLoading:boolean = true;\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef){\r\n        helper.toastr.setRootViewContainerRef(vcr);\t\t\t\r\n    }\r\n\r\n    ngOnInit() {\r\n        \r\n        let token = this.helper.tokenService.getToken();\r\n        if(token && token.token) {\r\n            this.helper.router.navigate(['store/stores']);\r\n        }\r\n        this.helper.message();\r\n\r\n        this.store_new_password={\r\n            type:\"\",\r\n            id:null,\r\n            server_token:\"\",\r\n            password: \"\",\r\n            confirm_password: \"\"    \r\n        }\r\n\r\n\r\n        this.helper.route.params.subscribe((x: Params) => {\r\n\r\n            var current_date = new Date(Date.now())\r\n            var email_token = x['email_token']\r\n            var json = this.helper.getIDFromEmailToken(email_token);\r\n\r\n            var difference = current_date.getTime() - json.milli_seconds;\r\n            difference = difference/(3600 * 60 * 24)\r\n\r\n            if(difference > 5) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.error_code.TOKEN_INVALID,\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.helper.router.navigate(['store/login']);\r\n            } else {\r\n                this.store_new_password={\r\n                    type:'store',\r\n                    id:json.id,\r\n                    server_token:json.server_token,\r\n                    password: \"\",\r\n                    confirm_password: \"\"\r\n                }\r\n\r\n                this.helper.http.post(this.helper.POST_METHOD.CHECK_DETAIL,this.store_new_password).map((res:Response) => res.json()).subscribe(res_data=>{\r\n                    this.myLoading=false;\r\n                    if(!res_data.success)\r\n                    {\r\n                        this.helper.data.storage = {\r\n                            \"code\": res_data.error_code,\r\n                            \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                            \"class\": \"alert-danger\"\r\n                        }\r\n                        this.helper.router.navigate(['store/login']);\r\n                    }\r\n\r\n                },\r\n                (error: any) => {\r\n                    this.myLoading=false;\r\n                    this.helper.http_status(error)\r\n                });\r\n            }\r\n        });\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.validation_message=this.helper.validation_message\r\n\r\n    }\r\n    \r\n    storeNewPassword(newpassworddata)\r\n    {\r\n        this.myLoading=true;\r\n        this.helper.http.post(this.helper.POST_METHOD.NEW_PASSWORD,this.store_new_password).map((res:Response) => res.json()).subscribe(res_data=>{\r\n               this.myLoading=false;\r\n            if(res_data.success == false)\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message()\r\n            }\r\n            else\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.helper.router.navigate(['store/login']);\r\n                \r\n            }\r\n\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/franchise_new_password/franchise_new_password.component.ts","import { Component , ViewChild,ViewContainerRef } from '@angular/core';\r\nimport {Response } from '@angular/http';\r\nimport { ModalComponent } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport {Helper} from \"../../franchise_helper\";\r\ndeclare var jQuery:any;\r\nimport { FacebookService, InitParams, LoginResponse, LoginOptions } from 'ngx-facebook';\r\ndeclare var gapi;\r\n\r\nexport interface FranchiseRegister{\r\n\r\n        name: String,\r\n        email: String,\r\n        password: String,\r\n        social_unique_id: String,\r\n        login_by:String,\r\n        confirm_password: String,\r\n        website_url: String,\r\n        slogan: String,\r\n        country_id: Object,\r\n        city_id: Object,\r\n        address: String,\r\n        country_phone_code: String,\r\n        phone: Number,\r\n\t    store_delivery_id: Object,\r\n        latitude: Number,\r\n        longitude: Number,\r\n        famous_for: String,\r\n        image_url: String,\r\n       \r\n        is_email_verified:Boolean,\r\n        is_phone_number_verified:Boolean\r\n}\r\n\r\n@Component({\r\n    selector: 'franchise_register',\r\n    template: require('./franchise_register.template.html'),\r\n    providers: [Helper, FacebookService]\r\n})\r\nexport class franchise_registerComponent {\r\n\r\n    @ViewChild('myModal')\r\n    modal: ModalComponent;\r\n\r\n    private franchise_register: FranchiseRegister;\r\n    title:any;\r\n    button:any;\r\n    code:any;\r\n    image_url:string;\r\n    minimum_phone_number_length:number;\r\n    maximum_phone_number_length:number;\r\n    country_list:any[];\r\n    city_list:any[];\r\n    delivery_list:any[];\r\n    country_phone_code_list:any[];\r\n    setting_data:any;\r\n    otp_for_email:number;\r\n    otp_for_sms:number;\r\n    stor_data:any;\r\n    opt_error_message:number;\r\n    \r\n    validation_message:any;\r\n\r\n    myLoading:boolean = true;\r\n    constructor(public helper: Helper, private fb: FacebookService, public vcr: ViewContainerRef){\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n\r\n        let initParams: InitParams = {\r\n            appId: '601526146700337',\r\n            xfbml: true,\r\n            version: 'v2.10'\r\n        };\r\n\r\n        fb.init(initParams);\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n            jQuery(\".chosen-select\").chosen();\r\n    }\r\n\r\n    \r\n    ngOnInit() {\r\n\r\n        let token = this.helper.tokenService.getToken();\r\n        if(token && token.token) {\r\n            this.helper.data.storage = {\r\n                \"message\": 999,\r\n                \"class\": \"alert-info\"\r\n            }\r\n\r\n            this.helper.router.navigate(['franchise/stores']);\r\n        }\r\n        this.helper.message()\r\n\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.validation_message=this.helper.validation_message;\r\n\r\n        this.franchise_register ={\r\n\r\n            name: \"\",\r\n            email: \"\",\r\n            password: \"\",\r\n            social_unique_id: \"\",\r\n            login_by: this.title.manual,\r\n            confirm_password: \"\",\r\n            website_url: \"\",\r\n            slogan: \"\",\r\n            country_id: \"\",\r\n            city_id: \"\",\r\n            address: \"\",\r\n            country_phone_code: \"\",\r\n            phone: null,\r\n            store_delivery_id: \"\",\r\n            latitude: null,\r\n            longitude: null,\r\n            famous_for: \"\",\r\n            image_url: \"./default.png\",\r\n          \r\n            is_phone_number_verified: false,\r\n            is_email_verified : false\r\n\r\n        }\r\n        this.helper.http.get(this.helper.GET_METHOD.GET_COUNTRY_LIST).map((response: Response) => response.json()) .subscribe(res_data => {\r\n\r\n            this.country_list = res_data.countries;\r\n            setTimeout(function() {\r\n                jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n            },1000);\r\n\r\n        },\r\n        (error: any) => {\r\n                this.helper.http_status(error)\r\n        });\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_SETTING_DETAIL,{}).map((response: Response) => response.json()) .subscribe(res_data => {\r\n            this.myLoading=false;\r\n            this.setting_data=res_data.setting\r\n\r\n          \r\n            if(res_data.setting.is_show_optional_field_in_franchise_register == false)\r\n            {\r\n                jQuery(\"#Optiona_field\").css(\"display\", \"none\");\r\n            }\r\n            if(!this.setting_data.is_franchise_login_by_social){\r\n                jQuery('#social').hide();\r\n            }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n        this.city_list=[]\r\n        this.minimum_phone_number_length=10\r\n        this.maximum_phone_number_length=10\r\n        this.delivery_list=[]\r\n\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#country').on('change', (evnt,res_data) => {\r\n\r\n                        this.get_city_list(res_data.selected)\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#city').on('change', (evnt,res_data) => {\r\n\r\n                        this.get_delivery_list(res_data.selected)\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#delivery').on('change', (evnt,res_data) => {\r\n\r\n                        this.franchise_register.store_delivery_id=res_data.selected\r\n\r\n        });\r\n\r\n\r\n    }\r\n    public formData = new FormData();\r\n\r\n    image_update($event) {\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const image_url = files[0];\r\n\r\n        if(image_url.type == \"image/jpeg\" || image_url.type == \"image/jpg\" || image_url.type == \"image/png\")\r\n        {\r\n            this.formData = new FormData();\r\n            this.image_url= image_url\r\n            var reader = new FileReader();\r\n\r\n            reader.onload =  (e : any) => {\r\n                this.franchise_register.image_url = e.target.result\r\n            }\r\n            reader.readAsDataURL(image_url);\r\n        }\r\n\r\n    }\r\n\r\n    google_register(){\r\n\r\n        gapi.load('auth2', () => {\r\n            let auth2 = gapi.auth2.init({\r\n                client_id: '1062107977876-q30ugfv61img1eu9qjm1kiuirenma111.apps.googleusercontent.com',\r\n                fetch_basic_profile: true,\r\n                scope: 'profile'\r\n            });\r\n\r\n            auth2.signIn().then(()=> {\r\n                this.myLoading=true;\r\n                if (auth2.isSignedIn.get()) {\r\n                    let profile = auth2.currentUser.get().getBasicProfile();\r\n\r\n                    this.franchise_register.name = profile.getName();\r\n                    this.franchise_register.social_unique_id = profile.getId();\r\n                    this.franchise_register.login_by = this.title.social\r\n                    this.franchise_register.email = profile.getEmail();\r\n                    this.franchise_register.password = '123456';\r\n                    this.franchise_register.confirm_password = '123456';\r\n                    let image_url = profile.getImageUrl();\r\n                    this.generate_file(image_url);\r\n                }\r\n            });\r\n        });\r\n        var interval = setInterval(function() {\r\n            // clearInterval(interval)\r\n        }, 1000);\r\n\r\n    }\r\n\r\n    facebook_register(){\r\n\r\n        const loginOptions: LoginOptions = {\r\n            enable_profile_selector: true,\r\n            return_scopes: true,\r\n            scope: 'public_profile,email'\r\n        };\r\n\r\n        this.fb.login(loginOptions)\r\n            .then((response: LoginResponse) =>{\r\n                this.myLoading=true;\r\n                this.fb.api('/me?fields=id,name,email')\r\n                    .then((res: any) => {\r\n\r\n                        this.franchise_register.name = res.name;\r\n                        this.franchise_register.social_unique_id = res.id;\r\n                        this.franchise_register.login_by = this.title.social\r\n                        this.franchise_register.email = res.email;\r\n                        this.franchise_register.password = '123456';\r\n                        this.franchise_register.confirm_password = '123456';\r\n                        let image_url = \"https://graph.facebook.com/\" + res.id + \"/picture?width=250&height=250\";\r\n\r\n                        this.generate_file(image_url)\r\n\r\n\r\n                    })\r\n                    .catch((error: any) => console.error(error));\r\n            })\r\n            .catch((error: any) => console.error(error));\r\n\r\n    }\r\n\r\n    generate_file(image_url){\r\n        var getFileBlob = function (url, cb) {\r\n            var xhr = new XMLHttpRequest();\r\n            xhr.open(\"GET\", url);\r\n            xhr.responseType = \"blob\";\r\n            xhr.addEventListener('load', function() {\r\n                cb(xhr.response);\r\n            });\r\n            xhr.send();\r\n        };\r\n\r\n        var blobToFile = function (blob, name) {\r\n            blob.lastModifiedDate = new Date();\r\n            blob.name = \"profile\";\r\n            return blob;\r\n        };\r\n\r\n        var getFileObject = function(filePathOrUrl, cb) {\r\n            getFileBlob(filePathOrUrl, function (blob) {\r\n                cb(blobToFile(blob, image_url));\r\n            });\r\n        };\r\n\r\n        getFileObject(image_url,  (fileObject) => {\r\n\r\n            var reader = new FileReader();\r\n            this.image_url= fileObject;\r\n            reader.onload =  (e : any) => {\r\n                this.franchise_register.image_url = e.target.result\r\n            }\r\n            reader.readAsDataURL(fileObject);\r\n            this.myLoading=false;\r\n        });\r\n    }\r\n\r\n    get_city_list(countryid)\r\n    {\r\n       \r\n        jQuery('#basic-addon2').show();\r\n\r\n        this.franchise_register.phone=null;\r\n        this.franchise_register.country_id=countryid\r\n        this.delivery_list=[];\r\n        this.franchise_register.store_delivery_id = '';\r\n        this.franchise_register.city_id='';\r\n        this.myLoading=true;\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_CITY_LIST,{country_id:countryid}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n            this.myLoading=false;\r\n            if(res_data.success)\r\n            {\r\n\r\n                this.franchise_register.country_phone_code=res_data.country_phone_code\r\n                this.city_list=res_data.cities\r\n                this.minimum_phone_number_length=res_data.minimum_phone_number_length\r\n                this.maximum_phone_number_length=res_data.maximum_phone_number_length;\r\n                \r\n                var country_code = res_data.country_code;\r\n\r\n                var autocompleteElm = <HTMLInputElement>document.getElementById('address');\r\n                let autocomplete = new google.maps.places.Autocomplete((autocompleteElm),{types: ['address'], componentRestrictions: { country: country_code } });\r\n\r\n                autocomplete.addListener( 'place_changed', () => {\r\n                        let place = autocomplete.getPlace();\r\n                        let lat = place.geometry.location.lat();\r\n                        let lng = place.geometry.location.lng();\r\n                        this.franchise_register.address=place.formatted_address\r\n                        this.franchise_register.latitude=lat\r\n                        this.franchise_register.longitude=lng\r\n                });\r\n\r\n            }\r\n            else\r\n            {\r\n                if(res_data.error_code!==801)\r\n                {\r\n                    this.franchise_register.country_phone_code=res_data.country_phone_code\r\n                    this.minimum_phone_number_length=res_data.minimum_phone_number_length\r\n                    this.maximum_phone_number_length=res_data.maximum_phone_number_length\r\n                    \r\n                    let country_code = res_data.country_code;\r\n\r\n                    let autocompleteElm = <HTMLInputElement>document.getElementById('address');\r\n                    let autocomplete = new google.maps.places.Autocomplete((autocompleteElm),{types: ['address'], componentRestrictions: { country: country_code } });\r\n\r\n                    autocomplete.addListener( 'place_changed', () => {\r\n                            var place = autocomplete.getPlace();\r\n                            var lat = place.geometry.location.lat();\r\n                            var lng = place.geometry.location.lng();\r\n                            this.franchise_register.address=place.formatted_address\r\n                            this.franchise_register.latitude=lat\r\n                            this.franchise_register.longitude=lng\r\n                    });\r\n                }\r\n                else\r\n                {\r\n                    this.franchise_register.country_phone_code=\"\"\r\n                }\r\n                this.city_list=[];\r\n            }\r\n            setTimeout(function() {\r\n                jQuery(\"#city\").trigger(\"chosen:updated\");\r\n            }, 1000);\r\n\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n        setInterval(function() {\r\n            \r\n        }, 100);\r\n\r\n    }\r\n\r\n    get_delivery_list(cityid)\r\n    {\r\n        this.myLoading=true;\r\n        this.franchise_register.city_id=cityid;\r\n        this.franchise_register.store_delivery_id = '';\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_DELIVERY_LIST_FOR_CITY,{city_id:cityid}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n            this.myLoading=false;\r\n            if(res_data.success)\r\n            {\r\n                this.delivery_list=res_data.deliveries\r\n            }\r\n            else {\r\n                this.delivery_list = [];\r\n            }\r\n            setTimeout(function() {\r\n                jQuery(\"#delivery\").trigger(\"chosen:updated\");\r\n            }, 1000);\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n\r\n    }\r\n\r\n    franchiseRegister1(stordata)\r\n    {\r\n       \r\n        var reg = /^([A-Za-z0-9_\\-\\.])+\\@([A-Za-z0-9_\\-\\.])+\\.([A-Za-z]{2,4})$/;\r\n\r\n        if(reg.test(stordata.email.trim()) && stordata.password.trim() === stordata.confirm_password.trim()){\r\n\r\n            this.myLoading=true;\r\n            this.stor_data=stordata\r\n            if(this.setting_data.is_franchise_sms_verification == true || this.setting_data.is_franchise_mail_verification == true)\r\n            {\r\n                this.helper.http.post(this.helper.POST_METHOD.ADMIN_OTP_VERIFICATION,{type:2, email:stordata.email, phone:stordata.phone}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n                    this.myLoading=false;\r\n                    \r\n                    if(res_data.success == true)\r\n                    {\r\n                        this.helper.string_log(\"email\" , res_data.otp_for_email)\r\n                        this.helper.string_log(\"sms\" , res_data.otp_for_sms)\r\n                        this.modal.open();\r\n                        this.otp_for_email=res_data.otp_for_email\r\n                        this.otp_for_sms=res_data.otp_for_sms\r\n                        if(this.setting_data.is_franchise_sms_verification == false)\r\n                        {\r\n                            jQuery(\"#otp_for_sms\").css(\"display\", \"none\");\r\n                        }\r\n\r\n                        if(this.setting_data.is_franchise_mail_verification == false)\r\n                        {\r\n                            jQuery(\"#otp_for_email\").css(\"display\", \"none\");\r\n                        }\r\n                    }\r\n                    else\r\n                    {\r\n                        this.helper.data.storage = {\r\n                            \"code\": res_data.error_code,\r\n                            \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                            \"class\": \"alert-danger\"\r\n                        }\r\n                        this.helper.message()\r\n\r\n                    }\r\n                },\r\n                (error: any) => {\r\n                    this.myLoading=false;\r\n                        this.helper.http_status(error)\r\n                });\r\n            }\r\n            else {\r\n\r\n                this.register(stordata)\r\n            }\r\n        }\r\n    }\r\n\r\n    otp_var(otp)\r\n    {\r\n        if(otp.sms_otp == undefined)\r\n        {\r\n            if(otp.email_otp == this.otp_for_email)\r\n            {\r\n                this.franchise_register.is_email_verified = true;\r\n                this.register(this.stor_data)\r\n            }\r\n            else\r\n            {\r\n                this.opt_error_message = 1\r\n            }\r\n        }\r\n        else if(otp.email_otp == undefined)\r\n        {\r\n            if(otp.sms_otp == this.otp_for_sms)\r\n            {\r\n                this.franchise_register.is_phone_number_verified = true;\r\n                this.register(this.stor_data)\r\n            }\r\n            else\r\n            {\r\n                this.opt_error_message = 2\r\n            }\r\n        }\r\n        else\r\n        {\r\n            if(otp.sms_otp == this.otp_for_sms && otp.email_otp == this.otp_for_email)\r\n            {\r\n                this.franchise_register.is_email_verified = true;\r\n                this.franchise_register.is_phone_number_verified = true;\r\n                this.register(this.stor_data)\r\n            }\r\n            else\r\n            {\r\n                this.opt_error_message = 3\r\n            }\r\n        }\r\n    }\r\n\r\n    register(franchise_data)\r\n    {\r\n        if(this.franchise_register.login_by == this.title.social){\r\n            this.franchise_register.password = '';\r\n            this.franchise_register.confirm_password='';\r\n        }\r\n        this.myLoading=true;\r\n        this.formData.append('image_url', this.image_url);\r\n        this.formData.append('phone',franchise_data.phone.trim());\r\n        this.formData.append('password',this.franchise_register.password.trim());\r\n        this.formData.append('country_id',franchise_data.country_id);\r\n        this.formData.append('city_id',franchise_data.city_id);\r\n        this.formData.append('social_id', this.franchise_register.social_unique_id);\r\n        this.formData.append('login_by', this.franchise_register.login_by);\r\n        this.formData.append('store_delivery_id',franchise_data.store_delivery_id);\r\n        this.formData.append('country_phone_code',franchise_data.country_phone_code);\r\n        this.formData.append('name',franchise_data.name.trim());\r\n        this.formData.append('email',franchise_data.email.trim());\r\n        this.formData.append('address',franchise_data.address.trim());\r\n        this.formData.append('latitude',franchise_data.latitude);\r\n        this.formData.append('longitude',franchise_data.longitude);\r\n        this.formData.append('website_url',franchise_data.website_url.trim());\r\n        this.formData.append('famous_for',franchise_data.famous_for);\r\n        this.formData.append('slogan',franchise_data.slogan);\r\n       \r\n        this.formData.append('is_phone_number_verified',this.franchise_register.is_phone_number_verified);\r\n        this.formData.append('is_email_verified',this.franchise_register.is_email_verified);\r\n        console.log(\"bhargav: \");\r\n        console.log(this.helper.POST_METHOD.REGISTER);\r\n        this.helper.http.post(this.helper.POST_METHOD.REGISTER,this.formData).map((res:Response) => res.json()).subscribe(res_data=>{\r\n\r\n            this.myLoading=false;\r\n                            if(res_data.success == false)\r\n                            {\r\n                                this.helper.data.storage = {\r\n                                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                                    \"class\": \"alert-danger\"\r\n                                }\r\n                                this.helper.message();\r\n                                this.formData = new FormData();\r\n                                if(this.franchise_register.login_by == this.title.social){\r\n                                    this.franchise_register.password = '123456';\r\n                                    this.franchise_register.confirm_password='123456';\r\n                                }\r\n                            }\r\n                            else\r\n                            {\r\n                                this.helper.data.storage = {\r\n                                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                                    \"class\": \"alert-info\"\r\n                                }\r\n                                this.helper.router.navigate(['franchise/login']);\r\n                            }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/franchise_register/franchise_register.component.ts","import { Component, OnInit,ViewContainerRef , ViewChild} from '@angular/core';\r\nimport {Response } from '@angular/http';\r\nimport {Helper} from \"../../franchise_helper\";\r\ndeclare var jQuery:any;\r\nimport { ModalComponent } from 'ng2-bs3-modal/ng2-bs3-modal';\r\n\r\n@Component({\r\n    selector: 'app-history',\r\n    template: require('./history.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class FranchiseStoreHistoryComponent implements OnInit {\r\n\r\n    @ViewChild('modal')\r\n    modal: ModalComponent;\r\n\r\n    title:any;\r\n    button:any;\r\n    ORDER_STATE:any;\r\n    heading_title:any;\r\n    status:any;\r\n    franchise_id:Object;\r\n    server_token:String;\r\n    order_list:any[];\r\n\r\n    sort_field:string;\r\n    sort_order:number;\r\n    search_field:string;\r\n    search_value:string;\r\n    start_date:string;\r\n    end_date:string;\r\n    page:number;\r\n    total_page:number;\r\n    total_pages:number[];\r\n\r\n    order_id:Object = '';\r\n    rating:number = 1;\r\n    review:string = '';\r\n    type:number;\r\n    selected_order_index:number = 0;\r\n\r\n    myLoading:boolean = true;\r\n    constructor(private helper:Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n        jQuery(\".chosen-select\").chosen({disable_search: true});\r\n\r\n        setTimeout(function() {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n\r\n\r\n    }\r\n\r\n\r\n    ngOnInit() {\r\n        this.sort_field=\"unique_id\";\r\n        this.sort_order=-1;\r\n        this.search_field=\"user_detail.first_name\";\r\n        this.search_value=\"\";\r\n        this.start_date='';\r\n        this.end_date='';\r\n        this.page=1\r\n\r\n        let token = this.helper.tokenService.getToken();\r\n\r\n        if(!token || !token.token) {\r\n\r\n            this.helper.router.navigate(['franchise/logout']);\r\n        }\r\n        this.helper.message()\r\n        var franchise = JSON.parse(localStorage.getItem('franchise'));\r\n        if(franchise!==null)\r\n        {\r\n            this.franchise_id=franchise._id\r\n            this.server_token=franchise.server_token\r\n        }\r\n        /*if(!JSON.parse(localStorage.getItem('store_document_ulpoaded')) && JSON.parse(localStorage.getItem('admin_store_document_ulpoaded')))\r\n        {\r\n            this.helper.router.navigate(['store/upload_document']);\r\n        }*/\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.heading_title=this.helper.heading_title\r\n        this.ORDER_STATE=this.helper.ORDER_STATE\r\n        this.status=this.helper.status\r\n        this.order_list=[];\r\n\r\n        this.store_history(1)\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_field').on('change', (evnt,res_data) => {\r\n\r\n            this.sort_field=res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_order').on('change', (evnt,res_data) => {\r\n\r\n            this.sort_order=res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#search_field').on('change', (evnt,res_data) => {\r\n\r\n            this.search_field=res_data.selected;\r\n\r\n        });\r\n    }\r\n\r\n    activeRoute(routename: string): boolean{\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n\r\n    order_detail(id)\r\n    {\r\n      this.helper.router_id.franchise.order_id=id;\r\n      this.helper.router.navigate(['franchise/order/detail']);\r\n    }\r\n\r\n    \r\n    view_invoice(id) {\r\n        this.helper.router_id.franchise.view_order_earning_id = id;\r\n        this.helper.router.navigate(['franchise/order_earning_detail']);\r\n\r\n    }\r\n    viewcart_detail(id)\r\n    {\r\n        this.helper.router_id.franchise.order_id=id;\r\n        this.helper.router.navigate(['franchise/cart/detail']);\r\n    }\r\n    store_history(page)\r\n    {\r\n        this.myLoading=true;\r\n        this.selected_order_index = 0;\r\n        this.page=page;\r\n        this.helper.http.post(this.helper.POST_METHOD.HISTORY,{franchise_id:this.franchise_id, server_token:this.server_token, start_date:this.start_date,end_date:this.end_date,\r\n                                                        sort_field:this.sort_field,sort_order:this.sort_order,\r\n                                                        search_field:this.search_field,search_value:this.search_value,page:this.page }).map((res:Response) => res.json()).subscribe(res_data=>{\r\n\r\n            this.myLoading=false;\r\n            if(res_data.success == false)\r\n            {  \r\n                this.order_list=[];\r\n                this.total_pages=[];\r\n            }\r\n            else\r\n            {\r\n                this.order_list=res_data.orders;\r\n                this.total_page=res_data.pages;\r\n                this.total_pages=Array(res_data.pages).fill((x,i)=>i).map((x,i)=>i+1)\r\n            }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n    give_rate_modal(orderid , index, type)\r\n    {\r\n        this.rating = 1;\r\n        this.review = '';\r\n        this.type = type;\r\n        this.order_id = orderid;\r\n        this.modal.open()\r\n        this.selected_order_index = index;\r\n    }\r\n\r\n    give_rate() {\r\n        this.myLoading=true;\r\n        this.modal.close()\r\n        let method = '';\r\n        var json = {};\r\n        if(this.type == 1){\r\n             method = this.helper.POST_METHOD.STORE_RATING_TO_USER;\r\n             json = {\r\n                 franchise_id: this.franchise_id,\r\n                 server_token: this.server_token,\r\n                 store_rating_to_user: this.rating,\r\n                 store_review_to_user: this.review,\r\n                 order_id: this.order_id\r\n             }\r\n        } else {\r\n             method = this.helper.POST_METHOD.STORE_RATING_TO_PROVIDER;\r\n             json = {\r\n                franchise_id: this.franchise_id,\r\n                server_token: this.server_token,\r\n                store_rating_to_provider: this.rating,\r\n                store_review_to_provider: this.review,\r\n                order_id: this.order_id\r\n             }\r\n        }\r\n        this.helper.http.post(method , json).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            this.myLoading=false;\r\n            if(res_data.success) {\r\n                var index = this.order_list.findIndex(x => x._id==this.order_id)\r\n                if(this.type == 1){\r\n                    this.order_list[index].is_store_rated_to_user = true;\r\n                    if(this.order_list[index].review_detail.length == 0)\r\n                    {\r\n                        this.order_list[index].review_detail[0] = {\"store_rating_to_user\": this.rating };\r\n                    } else {\r\n                        this.order_list[index].review_detail[0].store_rating_to_user = this.rating;\r\n                    }\r\n\r\n                } else {\r\n                    this.order_list[index].is_store_rated_to_provider = true;\r\n                    if(this.order_list[index].review_detail.length == 0)\r\n                    {\r\n                        this.order_list[index].review_detail[0] = {\"store_rating_to_provider\": this.rating };\r\n                    } else {\r\n                        this.order_list[index].review_detail[0].store_rating_to_provider = this.rating;\r\n                    }\r\n                }\r\n            } else {\r\n\r\n            }\r\n\r\n            this.rating = 1;\r\n            this.review = '';\r\n        },\r\n        (error: any) => {\r\n        this.myLoading=false;\r\n        this.helper.http_status(error)\r\n        });\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/history/history.component.ts","import { Component, OnInit ,ViewContainerRef } from '@angular/core';\r\nimport {Response } from '@angular/http';\r\nimport {Helper} from \"../../franchise_helper\";\r\ndeclare var jQuery:any;\r\n\r\n@Component({\r\n    selector: 'app-item',\r\n    template: require('./item.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class FranchiseItemComponent implements OnInit {\r\n\r\n    title:any;\r\n    button:any;\r\n    heading_title:any;\r\n    public message: string = \"\";\r\n    public class: string;\r\n    product_list:any[];\r\n    filtered_product_list:any[] = [];\r\n    franchise_id:string;\r\n    server_token:string;\r\n    currency:any;\r\n    selected_product:string;\r\n    filter_product_name:String = \"\";\r\n\r\n    myLoading:boolean = true;\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef){\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n        jQuery(\".chosen-select\").chosen();\r\n        // setTimeout(function() {\r\n        //     jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        // }, 1000);\r\n    }\r\n\r\n    activeRoute(routename: string): boolean{\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n\r\n    ngOnInit() {\r\n\r\n        let token = this.helper.tokenService.getToken();\r\n\r\n        if(!token || !token.token) {\r\n\r\n            this.helper.router.navigate(['franchise/logout']);\r\n        }\r\n        this.helper.message()\r\n\r\n        var franchise = JSON.parse(localStorage.getItem('franchise'));\r\n        if(franchise!==null)\r\n        {\r\n            this.franchise_id=franchise._id\r\n            this.server_token=franchise.server_token\r\n        }\r\n        /*if(!JSON.parse(localStorage.getItem('store_document_ulpoaded')) && JSON.parse(localStorage.getItem('admin_store_document_ulpoaded')))\r\n        {\r\n            this.helper.router.navigate(['store/upload_document']);\r\n        }*/\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.heading_title=this.helper.heading_title;\r\n        this.selected_product=this.title.all\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#selected_product').on('change', (evnt,res_data) => {\r\n\r\n            this.selected_product=res_data.selected;\r\n\r\n        });\r\n\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_STORE_PRODUCT_ITEM_LIST,{franchise_id:this.franchise_id, server_token:this.server_token}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n\r\n            \r\n                this.myLoading=false;\r\n            \r\n                if(res_data.success == false)\r\n                {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    \r\n                    this.product_list=[];\r\n                    this.filtered_product_list=[];\r\n                    this.helper.message()\r\n                }\r\n                else\r\n                {\r\n                    this.currency=res_data.currency;\r\n                    this.product_list=res_data.products;\r\n                    this.filtered_product_list=res_data.products;\r\n                    setTimeout(function() {\r\n                        jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n                    }, 1000);\r\n                }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n\r\n        jQuery('#loop').click();\r\n\r\n        jQuery(window).resize(function(){\r\n            if(jQuery(window).width()>992 && jQuery(window).width()<1300){\r\n                jQuery('.div1').removeClass('col-md-4');\r\n                jQuery('.div2').removeClass('col-md-8');\r\n                jQuery('.div1').addClass('col-md-12');\r\n                jQuery('.div2').addClass('col-md-12');\r\n            }\r\n            else\r\n            {\r\n                jQuery('.div1').removeClass('col-md-12');\r\n                jQuery('.div2').removeClass('col-md-12');\r\n                jQuery('.div1').addClass('col-md-4');\r\n                jQuery('.div2').addClass('col-md-8');\r\n            }\r\n\r\n            if((jQuery(window).width()>772 && jQuery(window).width()<935) || jQuery(window).width()<365){\r\n                jQuery('.div1').removeClass('col-xs-4');\r\n                jQuery('.div2').removeClass('col-xs-8');\r\n                jQuery('.div1').addClass('col-xs-12');\r\n                jQuery('.div2').addClass('col-xs-12');\r\n            }\r\n            else\r\n            {\r\n                jQuery('.div1').removeClass('col-xs-12');\r\n                jQuery('.div2').removeClass('col-xs-12');\r\n                jQuery('.div1').addClass('col-xs-4');\r\n                jQuery('.div2').addClass('col-xs-8');\r\n            }\r\n        });\r\n\r\n        setTimeout(function() {\r\n            if(jQuery(window).width()>992 && jQuery(window).width()<1300){\r\n                jQuery('.div1').removeClass('col-md-4');\r\n                jQuery('.div2').removeClass('col-md-8');\r\n                jQuery('.div1').addClass('col-md-12');\r\n                jQuery('.div2').addClass('col-md-12');\r\n            }\r\n            else\r\n            {\r\n                jQuery('.div1').removeClass('col-md-12');\r\n                jQuery('.div2').removeClass('col-md-12');\r\n                jQuery('.div1').addClass('col-md-4');\r\n                jQuery('.div2').addClass('col-md-8');\r\n            }\r\n\r\n            if((jQuery(window).width()>772 && jQuery(window).width()<935) || jQuery(window).width()<365){\r\n                jQuery('.div1').removeClass('col-xs-4');\r\n                jQuery('.div2').removeClass('col-xs-8');\r\n                jQuery('.div1').addClass('col-xs-12');\r\n                jQuery('.div2').addClass('col-xs-12');\r\n            }\r\n            else\r\n            {\r\n                jQuery('.div1').removeClass('col-xs-12');\r\n                jQuery('.div2').removeClass('col-xs-12');\r\n                jQuery('.div1').addClass('col-xs-4');\r\n                jQuery('.div2').addClass('col-xs-8');\r\n            }\r\n        },500);\r\n\r\n    }\r\n    editItem(id, event)\r\n    {\r\n        if(event.target.attributes.class != undefined)\r\n        {\r\n            var value=event.target.attributes.class.value\r\n            value=value.split(' ')\r\n            if(value[0] !== \"switch\")\r\n            {\r\n                this.helper.router_id.franchise.item_id=id;\r\n                this.helper.router.navigate(['franchise/item/edit']);\r\n            }\r\n        }\r\n        else if(event.target.tagName !== \"SMALL\")\r\n        {\r\n            this.helper.router_id.franchise.item_id=id;\r\n            this.helper.router.navigate(['franchise/item/edit']);\r\n        }\r\n    }\r\n\r\n    filter_product(data)\r\n    {\r\n        data = data.replace(/^\\s+|\\s+$/g, '');\r\n        data = data.replace(/ +(?= )/g, '');\r\n        data = new RegExp(data,\"gi\");\r\n\r\n        var product_array = [];\r\n        this.product_list.forEach((product) => {\r\n         \r\n            var item_array = product.items.filter((item_data) => {\r\n                var a = item_data.name.match(data);\r\n                return a !== null;\r\n            })\r\n            if(item_array.length>0)\r\n            {\r\n                product_array.push({_id:product._id , name:product.name , franchise_id:product.franchise_id , unique_id:product.unique_id,\r\n                                    is_visible_in_store: product.is_visible_in_store , items:item_array})\r\n            }\r\n        });\r\n        this.filtered_product_list = product_array;\r\n    }\r\n\r\n    onChange(id, event)\r\n    {\r\n        this.helper.http.post(this.helper.POST_METHOD.IS_ITEM_IN_STOCK,{item_id:id,is_item_in_stock:event}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n\r\n            if(res_data.success == false)\r\n            {\r\n\r\n            }\r\n        },\r\n        (error: any) => {\r\n                this.helper.http_status(error)\r\n        });\r\n\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/item/item.component.ts","import { Component, OnInit, ViewContainerRef, ViewChild } from '@angular/core';\r\nimport {Response } from '@angular/http';\r\nimport {Helper} from \"../../franchise_helper\";\r\ndeclare var jQuery:any;\r\ndeclare var swal: any;\r\n//import { ModalComponent } from 'ng2-bs3-modal/ng2-bs3-modal';\r\n\r\n@Component({\r\n    selector: 'app-order',\r\n    template: require('./order.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class FranchiseStoreOrderComponent implements OnInit {\r\n\r\n   \r\n    order_id: Object = null;\r\n    confirmation_code_for_complete_delivery: number = null;\r\n    confirmation_code: number = null;\r\n    conf_code_error_message: Boolean = false;\r\n    is_confirmation_code_required_at_complete_delivery: Boolean = false;\r\n\r\n    title:any;\r\n    button:any;\r\n    ORDER_STATE:any;\r\n    heading_title:any;\r\n    status:any;\r\n    franchise_id:Object;\r\n    server_token:String;\r\n    order_list:any[];\r\n    interval:any;\r\n\r\n    sort_field:string;\r\n    sort_order:number;\r\n    search_field:string;\r\n    search_value:string;\r\n    page:number;\r\n    total_page:number;\r\n    total_pages:number[];\r\n\r\n    current_order: any = [];\r\n    cancel_reason: string = '';\r\n\r\n    myLoading:boolean = true;\r\n    constructor(private helper:Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n\r\n        jQuery(\".chosen-select\").chosen({disable_search: true});\r\n        setTimeout(function() {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n\r\n\r\n    }\r\n\r\n    ngOnInit() {\r\n\r\n\r\n        this.sort_field=\"unique_id\";\r\n        this.sort_order=-1;\r\n        this.search_field=\"user_detail.first_name\";\r\n        this.search_value=\"\";\r\n        this.page=1;\r\n\r\n        let token = this.helper.tokenService.getToken();\r\n\r\n        if(!token || !token.token) {\r\n\r\n            this.helper.router.navigate(['franchise/logout']);\r\n        }\r\n        this.helper.message()\r\n        var franchise = JSON.parse(localStorage.getItem('franchise'));\r\n        if(franchise!==null)\r\n        {\r\n            this.franchise_id=franchise._id\r\n            this.server_token=franchise.server_token\r\n        }\r\n\r\n        /*if(!JSON.parse(localStorage.getItem('store_document_ulpoaded')) && JSON.parse(localStorage.getItem('admin_store_document_ulpoaded')))\r\n        {\r\n            this.helper.router.navigate(['franchise/upload_document']);\r\n        }*/\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.heading_title=this.helper.heading_title\r\n        this.ORDER_STATE=this.helper.ORDER_STATE\r\n        this.status=this.helper.status\r\n        this.order_list=[];\r\n        this.orderDetail()\r\n        this.interval=setInterval(() => {\r\n            this.orderDetail()\r\n        },this.helper.TIMEOUT.NEW_ORDER_REQUEST);\r\n\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_field').on('change', (evnt,res_data) => {\r\n\r\n            this.sort_field=res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_order').on('change', (evnt,res_data) => {\r\n\r\n            this.sort_order=res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#search_field').on('change', (evnt,res_data) => {\r\n\r\n            this.search_field=res_data.selected;\r\n\r\n        });\r\n    }\r\n    ngOnDestroy() {\r\n        clearInterval(this.interval);\r\n    }\r\n    activeRoute(routename: string): boolean{\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n\r\n    filter(page)\r\n    {\r\n        this.myLoading=true;\r\n        this.page=page;\r\n        this.helper.http.post(this.helper.POST_METHOD.ORDER_LIST_SEARCH_SORT,{franchise_id:this.franchise_id, server_token:this.server_token,sort_field:this.sort_field,sort_order:this.sort_order,\r\n                                                       search_field:this.search_field,search_value:this.search_value,page:this.page }).map((res:Response) => res.json()).subscribe(res_data=>{\r\n            this.myLoading=false;                                          \r\n            if(res_data.success == false)\r\n            { \r\n                this.order_list=[];\r\n                this.total_pages=[];\r\n            }\r\n            else\r\n            {\r\n                this.order_list=res_data.orders;\r\n                this.total_page=res_data.pages;\r\n                this.total_pages=Array(res_data.pages).fill((x,i)=>i).map((x,i)=>i+1)\r\n                this.is_confirmation_code_required_at_complete_delivery = res_data.is_confirmation_code_required_at_complete_delivery;\r\n            }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n            this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n    vieworder_detail(id)\r\n    {\r\n      this.helper.router_id.franchise.order_id=id;\r\n      this.helper.router.navigate(['franchise/order/detail']);\r\n    }\r\n\r\n    viewcart_detail(id)\r\n    {\r\n        this.helper.router_id.franchise.order_id=id;\r\n        this.helper.router.navigate(['franchise/cart/detail']);\r\n    }\r\n\r\n    orderDetail()\r\n    {\r\n\r\n        this.helper.http.post(this.helper.POST_METHOD.ORDER_LIST_SEARCH_SORT,{franchise_id:this.franchise_id, server_token:this.server_token,sort_field:this.sort_field,sort_order:this.sort_order,\r\n                                                       search_field:this.search_field,search_value:this.search_value,page:this.page }).map((res:Response) => res.json()).subscribe(res_data=>{\r\n\r\n            this.myLoading=false;                                             \r\n            if(res_data.success == false)\r\n            { \r\n                this.order_list=[];\r\n                \r\n            }\r\n            else\r\n            {\r\n                this.total_page=res_data.pages;\r\n                this.total_pages=Array(res_data.pages).fill((x,i)=>i).map((x,i)=>i+1)\r\n              \r\n                    this.order_list.forEach( (value , index) => {\r\n\r\n                        var new_index = res_data.orders.findIndex(x => x._id==this.order_list[index]._id)\r\n                        if(new_index == -1)\r\n                        {\r\n                            this.order_list.splice(index , 1)\r\n                        }\r\n                        else{\r\n                            this.order_list[index].order_status = res_data.orders[new_index].order_status\r\n                        }\r\n                        \r\n                    });\r\n\r\n\r\n                    res_data.orders.forEach((new_value , index) =>{\r\n                        var aaa = this.order_list.findIndex(x => x._id==res_data.orders[index]._id)\r\n\r\n                        if(aaa == -1)\r\n                        {\r\n                            this.order_list.unshift(new_value)\r\n                        }\r\n                    });\r\n            }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n    \r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/order/order.component.ts","import { Component, OnInit , ViewContainerRef } from '@angular/core';\r\nimport {Response } from '@angular/http';\r\nimport {Helper} from \"../../franchise_helper\";\r\ndeclare var jQuery:any;\r\n\r\n\r\n@Component({\r\n  selector: 'app-order_earning_detail',\r\n  template: require('./order_earning_detail.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class FranchiseOrderEarningDetailComponent implements OnInit {\r\n\r\n\ttitle:any;\r\n    button:any;\r\n    heading_title:any;\r\n    status:any;\r\n    order_id:Object;\r\n    franchise_id:Object;\r\n    server_token:String;\r\n\r\n    myLoading:boolean = true;\r\n\r\n    order_detail: any[] = [];\r\n    currency_sign: any = \"\";\r\n    //total_order_price: number;\r\n    order_total: number = 0;\r\n    product_item_total: number = 0;\r\n    product_item_total_array: number[] = [];\r\n    product_item_specification_total: number = 0;\r\n    product_item_specification_total_array: number[] = [] ;\r\n    product_specification_total_array: any[] = [] ;\r\n    total_item: number = 0;\r\n\r\n    total_time: number = 0;\r\n    total_distance: number = 0;\r\n\r\n\r\n    base_price: number = 0;\r\n    total_distance_price: number = 0;\r\n    total_time_price: number = 0;\r\n    total_service_price: number = 0;\r\n    total_after_tax_price: number = 0;\r\n    total_surge_price: number = 0;\r\n    delivery_price: number = 0;\r\n    promo_payment: number = 0;\r\n    total_delivery_price: number = 0;\r\n\r\n    total_order_price: number = 0;\r\n    order_price: number = 0;\r\n    service_tax: number = 0;\r\n    total_cart_price: number = 0;\r\n\r\n\r\n    total: number = 0;\r\n    wallet_payment: number = 0;\r\n\r\n    cash_payment: number = 0;\r\n    card_payment: number = 0;\r\n\r\n    store_have_service_payment: number = 0;\r\n    store_have_order_payment: number = 0;\r\n    pay_to_store: number = 0;\r\n    total_store_income: number = 0;\r\n    is_user_pick_up_order: Boolean = false;\r\n\r\n\r\n    provider_paid_order_payment: number = 0;\r\n    provider_have_cash_payment: number = 0;\r\n    pay_to_provider: number = 0;\r\n    total_provider_income: number = 0;\r\n\r\n    total_admin_profit_on_store: number = 0;\r\n    total_admin_profit_on_delivery: number = 0;\r\n    admin_profit_value_on_delivery: number = 0;\r\n    admin_profit_value_on_store: number = 0;\r\n    current_rate: number = 0;\r\n    total_store_tax_price:number = 0;\r\n    is_promo_for_delivery_service: Boolean = false;\r\n    \r\n\r\n\r\n\r\n    user_first_name: String = \"\";\r\n    user_last_name: String = \"\";\r\n    user_email: String = \"\";\r\n    user_address: String = \"\";\r\n    order_user_name:string = '';\r\n    order_user_phone:string = '';\r\n    destination_address:string = '';\r\n    provider_first_name: String = \"\";\r\n    provider_last_name: String = \"\";\r\n    provider_email: String = \"\";\r\n    invoice_number: String = \"\";\r\n\r\n    ORDER_STATE: any = this.helper.ORDER_STATE;\r\n    ORDER_STATUS_ID: any = this.helper.ORDER_STATUS_ID;\r\n    order_status: number = 0;\r\n    order_status_id: number = 0;\r\n    created_at: any = 0;\r\n    store_accepted_at: any = 0;\r\n    start_preparing_order_at: any = 0;\r\n    order_ready_at: any = 0;\r\n    store_order_created_at: any = 0;\r\n    accepted_at: any = 0;\r\n    cancelled_at: any = 0;\r\n    start_for_pickup_at: any = 0;\r\n    arrived_on_store_at: any = 0;\r\n    picked_order_at: any = 0;\r\n    start_for_delivery_at: any = 0;\r\n    delivered_at: any = 0;\r\n    completed_at: any = 0;\r\n\r\n  \tconstructor(private helper:Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\tngOnInit() {\r\n\t  \tlet token = this.helper.tokenService.getToken();\r\n\r\n        if(!token || !token.token) {\r\n\r\n            this.helper.router.navigate(['franchise/logout']);\r\n        }\r\n        this.helper.message()\r\n        var franchise = JSON.parse(localStorage.getItem('franchise'));\r\n        if(franchise!==null)\r\n        {\r\n            this.franchise_id=franchise._id\r\n            this.server_token=franchise.server_token\r\n        }\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.heading_title=this.helper.heading_title\r\n        this.status=this.helper.status;\r\n\r\n        this.order_id = this.helper.router_id.franchise.view_order_earning_id;\r\n\r\n\r\n        if(this.order_id !== \"\")\r\n        {\r\n\t        this.helper.http.post(this.helper.POST_METHOD.GET_ORDER_DATA, {order_id: this.order_id , franchise_id:this.franchise_id , server_token:this.server_token}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n                this.myLoading=false;\r\n\t        \tif(!res_data.success)\r\n                {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.router.navigate(['franchise/history']);\r\n                }\r\n                else\r\n                {\r\n                    this.user_first_name = res_data.order.user_detail.first_name\r\n                    this.user_last_name = res_data.order.user_detail.last_name\r\n                    this.user_email = res_data.order.user_detail.email\r\n                    this.user_address = res_data.order.user_detail.address\r\n\r\n                    this.order_user_name = res_data.order.delivery_user_name;\r\n                    this.order_user_phone = res_data.order.delivery_user_phone;\r\n                    this.destination_address = res_data.order.destination_address;\r\n\r\n                    if (res_data.order.provider_detail.length > 0) {\r\n\r\n                        this.provider_first_name = res_data.order.provider_detail[0].first_name\r\n                        this.provider_last_name = res_data.order.provider_detail[0].last_name\r\n                        this.provider_email = res_data.order.provider_detail[0].email\r\n                    }\r\n\r\n                    this.invoice_number = res_data.order.invoice_number\r\n                    this.order_status = res_data.order.order_status\r\n                    this.order_status_id = res_data.order.order_status_id\r\n\r\n                    this.created_at = res_data.order.created_at\r\n                    this.store_accepted_at = res_data.order.store_accepted_at\r\n                    this.start_preparing_order_at = res_data.order.start_preparing_order_at\r\n                    this.order_ready_at = res_data.order.order_ready_at\r\n                    this.store_order_created_at = res_data.order.store_order_created_at\r\n                    this.accepted_at = res_data.order.accepted_at\r\n                    this.cancelled_at = res_data.order.cancelled_at\r\n                    this.start_for_pickup_at = res_data.order.start_for_pickup_at\r\n                    this.arrived_on_store_at = res_data.order.arrived_on_store_at\r\n                    this.picked_order_at = res_data.order.picked_order_at\r\n                    this.start_for_delivery_at = res_data.order.start_for_delivery_at\r\n                    this.delivered_at = res_data.order.delivered_at\r\n                    this.completed_at = res_data.order.completed_at\r\n\r\n\r\n                    this.total_time = res_data.order.order_payment_detail.total_time\r\n                    this.total_distance = res_data.order.order_payment_detail.total_distance\r\n                    this.is_user_pick_up_order = res_data.order.order_payment_detail.is_user_pick_up_order;\r\n                    this.base_price = res_data.order.order_payment_detail.base_price;\r\n                    this.total_distance_price = res_data.order.order_payment_detail.distance_price;\r\n                    this.total_time_price = res_data.order.order_payment_detail.total_time_price;\r\n                    this.total_service_price = res_data.order.order_payment_detail.total_service_price;\r\n                    this.total_after_tax_price = res_data.order.order_payment_detail.total_admin_tax_price;\r\n                    this.total_surge_price = res_data.order.order_payment_detail.total_surge_price;\r\n                    this.delivery_price = res_data.order.order_payment_detail.delivery_price;\r\n                    this.promo_payment = res_data.order.order_payment_detail.promo_payment;\r\n                    this.total_delivery_price = res_data.order.order_payment_detail.total_delivery_price;\r\n\r\n                    this.total_order_price = res_data.order.order_payment_detail.total_order_price;\r\n                    this.order_price = res_data.order.order_payment_detail.order_price;\r\n                    this.service_tax = res_data.order.order_payment_detail.service_tax;\r\n                    this.total_store_tax_price = res_data.order.order_payment_detail.total_store_tax_price;\r\n\r\n                    this.total = res_data.order.order_payment_detail.total;\r\n                    this.wallet_payment = res_data.order.order_payment_detail.wallet_payment;\r\n                    this.cash_payment = res_data.order.order_payment_detail.cash_payment;\r\n                    this.card_payment = res_data.order.order_payment_detail.card_payment;\r\n\r\n\r\n                    this.store_have_service_payment = res_data.order.order_payment_detail.store_have_service_payment;\r\n                    this.store_have_order_payment = res_data.order.order_payment_detail.store_have_order_payment;\r\n                    this.total_store_income = res_data.order.order_payment_detail.total_store_income;\r\n                    this.pay_to_store = res_data.order.order_payment_detail.pay_to_store;\r\n\r\n                    this.provider_have_cash_payment = res_data.order.order_payment_detail.provider_have_cash_payment;\r\n                    this.provider_paid_order_payment = res_data.order.order_payment_detail.provider_paid_order_payment;\r\n                    this.total_provider_income = res_data.order.order_payment_detail.total_provider_income;\r\n                    this.pay_to_provider = res_data.order.order_payment_detail.pay_to_provider;\r\n\r\n\r\n                    this.total_admin_profit_on_store = res_data.order.order_payment_detail.total_admin_profit_on_store;\r\n                    this.total_admin_profit_on_delivery = res_data.order.order_payment_detail.total_admin_profit_on_delivery;\r\n                    this.admin_profit_value_on_delivery = res_data.order.order_payment_detail.admin_profit_value_on_delivery;\r\n                    this.admin_profit_value_on_store = res_data.order.order_payment_detail.admin_profit_value_on_store;\r\n\r\n                    this.current_rate = res_data.order.order_payment_detail.current_rate;\r\n\r\n                    this.order_detail = res_data.order.order_details\r\n                    this.currency_sign = res_data.order.currency\r\n                    //this.total_order_price = res_data.order.total_order_price\r\n                    this.total_cart_price = res_data.order.order_payment_detail.total_cart_price;\r\n                     this.is_promo_for_delivery_service = res_data.order.order_payment_detail.is_promo_for_delivery_service;\r\n\r\n                    res_data.order.order_details.forEach((product) => {\r\n                        product.items.forEach((item) => {\r\n                            this.order_total = this.order_total + (item.item_price + item.total_specification_price) * item.quantity\r\n                            this.product_item_total = this.product_item_total + (item.item_price + item.total_specification_price) * item.quantity\r\n                            this.total_item = this.total_item + 1;\r\n                            item.specifications.forEach((specification) => {\r\n                                this.product_item_specification_total = this.product_item_specification_total + specification.specification_price;\r\n                            })\r\n                            this.product_item_specification_total_array.push(this.product_item_specification_total)\r\n                            this.product_item_specification_total = 0;\r\n                        })\r\n                        this.product_specification_total_array.push(this.product_item_specification_total_array)\r\n                        this.product_item_specification_total_array = [];\r\n                        this.product_item_total_array.push(this.product_item_total)\r\n                        this.product_item_total = 0;\r\n                    });\r\n                }\r\n\r\n\t        },\r\n            (error: any) => {\r\n                this.myLoading=false;\r\n                    this.helper.http_status(error)\r\n            });\r\n\t    }\r\n\t    else\r\n\t    {\r\n            this.myLoading=false;\r\n\t    \tthis.helper.router.navigate(['franchise/earning']);\r\n\t    }\r\n\t}\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/order_earning_detail/order_earning_detail.component.ts","import { Component, OnInit,ViewContainerRef } from '@angular/core';\r\nimport {Helper} from \"../../franchise_helper\";\r\nimport { Http, Response } from '@angular/http';\r\ndeclare var jQuery:any;\r\nimport { IMultiSelectOption } from 'angular-2-dropdown-multiselect';\r\n\r\nexport interface AddProduct{\r\n\r\n    name:String,\r\n    details:String,\r\n    is_visible_in_store:Boolean,\r\n    franchise_id:Object,\r\n    server_token:String,\r\n    store_ids:any,\r\n    image_url:any\r\n\r\n}\r\n\r\nexport interface imageSetting{\r\n    image_ratio: number,\r\n    image_min_width: number,\r\n    image_max_width: number\r\n    image_min_height: number,\r\n    image_max_height: number,\r\n    image_type: any[]\r\n}\r\n\r\n@Component({\r\n    selector: 'app-products',\r\n    template: require('./products.component.html'),\r\n    providers: [Helper]\r\n})\r\n\r\nexport class FranchiseProductsComponent implements OnInit {\r\n\r\n\r\n    private add_product: AddProduct;\r\n    title:any;\r\n    button:any;\r\n    heading_title:any;\r\n    addproductform:Boolean;\r\n    validation_message:any;\r\n    product_list:any[];\r\n    store_list:any[];\r\n    filtered_product_list:any[] = [];\r\n    product_already_exist:Boolean = false;\r\n    filter_product_name:String = \"\";\r\n    myLoading:boolean = true;\r\n    public image_setting : imageSetting;\r\n    image_error: string = '';\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef){\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    ngOnInit() {\r\n\r\n        this.image_setting = {\r\n            image_ratio : 1,\r\n            image_min_width: 100,\r\n            image_max_width: 100,\r\n            image_min_height: 100,\r\n            image_max_height: 100,\r\n            image_type: []\r\n        }\r\n\r\n        let token = this.helper.tokenService.getToken();\r\n\r\n        if(!token || !token.token) {\r\n            this.helper.router.navigate(['franchise/logout']);\r\n        }\r\n        this.add_product ={\r\n\r\n            name:\"\",\r\n            details:\"\",\r\n            is_visible_in_store:true,\r\n            franchise_id:\"\",\r\n            server_token:\"\",\r\n            store_ids:[],\r\n            image_url:\"\"\r\n\r\n        }\r\n        this.helper.message()\r\n\r\n\r\n        var franchise = JSON.parse(localStorage.getItem('franchise'));\r\n        if(franchise!==null)\r\n        {\r\n            this.add_product.franchise_id=franchise._id\r\n            this.add_product.server_token=franchise.server_token\r\n        }\r\n        \r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.heading_title=this.helper.heading_title\r\n        this.validation_message=this.helper.validation_message;\r\n        this.addproductform=false;\r\n\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_STORE_DATA,{store_ids:franchise.store_ids}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n            if(res_data.success == false)\r\n            {\r\n                /*this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message()*/\r\n                this.store_list=[];\r\n            }\r\n            else\r\n            {\r\n                this.store_list=res_data.stores;\r\n                this.update_check_box();\r\n            }\r\n        },\r\n        (error: any) => {\r\n        });\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_PRODUCT_LIST,{franchise_id:this.add_product.franchise_id, server_token:this.add_product.server_token}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n\r\n\r\n            this.myLoading=false;\r\n            this.helper.string_log('loading' , this.myLoading)\r\n            if(res_data.success == false)\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message()\r\n                this.product_list=[];\r\n                this.filtered_product_list=res_data.products;\r\n            }\r\n            else\r\n            {\r\n                this.product_list=res_data.products;\r\n                this.filtered_product_list=res_data.products;\r\n            }\r\n\r\n                // var oReq = new XMLHttpRequest();\r\n                // oReq.open(\"GET\", \"/store_products/599bc66519f683158430f4781ggK.jpg\", true);\r\n                // oReq.setRequestHeader(\"deviceid\", \"xyz\");\r\n                // oReq.responseType = \"blob\";\r\n                // oReq.onload = function (oEvent) {\r\n                //     var arrayBuffer = oReq.response; // Note: not oReq.responseText\r\n                //     if (arrayBuffer) {\r\n                //\r\n                //         jQuery('#img').attr('src' , URL.createObjectURL(arrayBuffer))\r\n                //     }\r\n                // };\r\n                // oReq.send(null);\r\n        },\r\n        (error: any) => {\r\n        });\r\n\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_IMAGE_SETTING, {\r\n        }).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n                this.image_setting.image_ratio = res_data.image_setting.product_image_ratio;\r\n                this.image_setting.image_min_width = res_data.image_setting.product_image_min_width;\r\n                this.image_setting.image_max_width = res_data.image_setting.product_image_max_width;\r\n                this.image_setting.image_min_height = res_data.image_setting.product_image_min_height;\r\n                this.image_setting.image_max_height = res_data.image_setting.product_image_max_height;\r\n                this.image_setting.image_type = res_data.image_setting.image_type;\r\n\r\n            },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n\r\n    }\r\n    public formData = new FormData();\r\n    update_check_box()\r\n    {\r\n        setTimeout(() => {\r\n            jQuery('.icheck').iCheck({\r\n                handle: 'checkbox',\r\n                checkboxClass: 'icheckbox_square-green',\r\n            });\r\n            jQuery('#1').iCheck('check');\r\n\r\n            jQuery('.icheck').on('ifChecked', (event) => {\r\n                var id = event.target.getAttribute('value')\r\n                this.add_product.store_ids.push(id);\r\n                //this.store_list[checked_index]=true;\r\n            });\r\n\r\n            jQuery('.icheck').on('ifUnchecked', (event) => {\r\n                var id = event.target.getAttribute('value')\r\n                var i = this.add_product.store_ids.indexOf(id);\r\n                if(i != -1) {\r\n                    this.add_product.store_ids.splice(i, 1);\r\n                }\r\n                /*var checked_index = this.product_specification_list.findIndex(x => x._id == id);\r\n                this.store_list[checked_index]=false;*/\r\n            });\r\n\r\n        },1000);\r\n    }\r\n    image_update($event) {\r\n        this.image_error = \"\";\r\n        this.formData = new FormData();\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const image_url = files[0];\r\n        var index = this.image_setting.image_type.indexOf(image_url.type);\r\n        if (index !== -1) {\r\n            var reader = new FileReader();\r\n\r\n            reader.onload = (e: any) => {\r\n                var new_image = new Image();\r\n                new_image.src = e.target.result;\r\n                new_image.onload = () => {\r\n                    if(new_image.width >= this.image_setting.image_min_width && new_image.width < this.image_setting.image_max_width &&\r\n                        new_image.height >= this.image_setting.image_min_height && new_image.height < this.image_setting.image_max_height ){\r\n\r\n                        if(new_image.width == (new_image.height * this.image_setting.image_ratio)){\r\n                        } else {\r\n                            jQuery('#remove').click();\r\n                            this.image_error = this.title.item_image_ratio_error;\r\n                        }\r\n\r\n                    } else {\r\n                        jQuery('#remove').click();\r\n                        this.image_error = this.title.item_image_size_error;\r\n                    }\r\n\r\n                }\r\n            }\r\n            reader.readAsDataURL(image_url);\r\n        } else {\r\n            jQuery('#remove').click();\r\n            this.image_error = this.title.item_image_extension_error;\r\n        }\r\n    }\r\n\r\n    check_product()\r\n    {\r\n        var product_index = this.product_list.findIndex(x => x.name.toLowerCase()==this.add_product.name.trim().toLowerCase())\r\n   \r\n        if(product_index == -1)\r\n        {\r\n            this.product_already_exist = false;\r\n        }\r\n        else\r\n        {\r\n            this.product_already_exist = true;\r\n        }\r\n    }\r\n\r\n    editProduct(id)\r\n    {\r\n        this.helper.router_id.franchise.product_id=id;\r\n        this.helper.router.navigate(['franchise/product/edit']);\r\n\r\n    }\r\n\r\n    filter_product(data)\r\n    {\r\n        data = data.replace(/^\\s+|\\s+$/g, '');\r\n        data = data.replace(/ +(?= )/g, '');\r\n        data = new RegExp(data,\"gi\");\r\n\r\n        this.filtered_product_list = this.product_list.filter((product) => {\r\n            var a = product.name.match(data);\r\n            return a !== null\r\n        });\r\n    }\r\n    viewSpecification(id)\r\n    {\r\n      this.helper.router_id.franchise.specification_product_id=id;\r\n      this.helper.router.navigate(['franchise/product/specification']);\r\n    }\r\n    addProduct(product_data)\r\n    {\r\n        this.myLoading=true;\r\n        var franchise = JSON.parse(localStorage.getItem('franchise'));\r\n        this.formData.append(\"name\", product_data.name.trim());\r\n        this.formData.append(\"details\", product_data.details);\r\n        this.formData.append(\"is_visible_in_store\", product_data.is_visible_in_store);\r\n        this.formData.append(\"franchise_id\", franchise._id);\r\n        this.formData.append(\"store_ids\", this.add_product.store_ids);\r\n        this.formData.append(\"server_token\", franchise.server_token);\r\n        this.helper.http.post(this.helper.POST_METHOD.ADD_PRODUCT,this.formData).map((res:Response) => res.json()).subscribe(res_data=>{\r\n            this.addproductform=false\r\n            this.add_product.name=\"\"\r\n            this.add_product.details=\"\"\r\n            this.add_product.is_visible_in_store=true\r\n            this.add_product.image_url=\"\"\r\n\r\n            this.myLoading=false;\r\n            if(res_data.success == true)\r\n            {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n                    this.helper.message()\r\n                    this.formData = new FormData();\r\n                    jQuery('#remove').click();\r\n                    this.product_list.push(res_data.franchise_product)\r\n                    this.filter_product(this.filter_product_name)\r\n                    \r\n            }\r\n            else\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message()\r\n            }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n            this.helper.http_status(error)\r\n        });\r\n    }\r\n    test(id)\r\n    {\r\n        this.helper.router.navigate(['/franchise/specification', { id: id}]);\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/products/products.component.ts","import { Component, OnInit ,ViewContainerRef , ViewChild, Output, EventEmitter} from '@angular/core';\r\nimport {Response } from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport { ModalComponent } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport {Helper} from \"../../franchise_helper\";\r\ndeclare var jQuery:any;\r\ndeclare var c3: any;\r\n\r\nexport interface FranchiseEdit{\r\n\r\n        franchise_id: Object,\r\n        server_token:String,\r\n        name: String,\r\n        email: String,\r\n        old_password: String,\r\n        new_password: String,\r\n        login_by: String,\r\n        social_id: any[],\r\n        confirm_password: String,\r\n        website_url: String,\r\n        slogan: String,\r\n        country_name: String,\r\n        country_code: String,\r\n        city_name: String,\r\n        address: String,\r\n        country_phone_code: String,\r\n        phone: Number,\r\n        store_delivery_name: String,\r\n        latitude: Number,\r\n        longitude: Number,\r\n        famous_for: String,\r\n        image_url: String,\r\n        offer: String,\r\n        referral_code:String,\r\n    referral_credit:String,\r\n    total_referred:Number\r\n\r\n\r\n}\r\n\r\nexport interface OrderDetail{\r\n    total_orders: Number,\r\n    accepted_orders: Number,\r\n    completed_orders: Number,\r\n    cancelled_orders: Number,\r\n    completed_order_percentage: Number\r\n}\r\n\r\n@Component({\r\n    selector: 'profile',\r\n    template: require('./profile.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class FranchiseProfileComponent implements OnInit {\r\n\r\n    @ViewChild('myModal')\r\n    modal: ModalComponent;\r\n\r\n    @ViewChild('oldPasswordModal')\r\n    old_password_modal: ModalComponent;\r\n\r\n    private franchise_edit: FranchiseEdit;\r\n    private order_detail: OrderDetail;\r\n\r\n    title:any;\r\n    button:any;\r\n    heading_title:any;\r\n    validation_message:any;\r\n    minimum_phone_number_length:number = 8;\r\n    maximum_phone_number_length:number = 10;\r\n    setting_data:any;\r\n    franchise_detail:any;\r\n    otp_for_email:number;\r\n    otp_for_sms:number;\r\n    franchise_data:any;\r\n    opt_error_message:number;\r\n    edit:Boolean;\r\n\r\n    myLoading:boolean = true;\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef){\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n\r\n    }\r\n    ngOnInit() {\r\n        let token = this.helper.tokenService.getToken();\r\n\r\n        if(!token || !token.token) {\r\n            this.helper.router.navigate(['franchise/login']);\r\n        }\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.heading_title=this.helper.heading_title\r\n        this.validation_message=this.helper.validation_message\r\n        this.edit=false;\r\n\r\n        this.franchise_edit ={\r\n                franchise_id:\"\",\r\n                server_token:\"\",\r\n                name: \"\",\r\n                email: \"\",\r\n                old_password: \"\",\r\n                new_password: \"\",\r\n                confirm_password:\"\",\r\n                login_by: \"\",\r\n                social_id: [],\r\n                website_url: \"\",\r\n                slogan: \"\",\r\n                country_name: \"\",\r\n                country_code:\"\",\r\n                city_name: \"\",\r\n                address: \"\",\r\n                country_phone_code: \"\",\r\n                phone: null,\r\n                store_delivery_name: \"\",\r\n                latitude: null,\r\n                longitude: null,\r\n                famous_for: \"\",\r\n                image_url: \"\",\r\n                offer: \"\",\r\n                referral_code:\"\",\r\n                referral_credit:\"\",\r\n                total_referred:0\r\n        }\r\n        this.order_detail = {\r\n            total_orders: 0,\r\n            accepted_orders: 0,\r\n            completed_orders: 0,\r\n            cancelled_orders: 0,\r\n            completed_order_percentage: 0\r\n        }\r\n\r\n        var franchise = JSON.parse(localStorage.getItem('franchise'));\r\n        if(franchise!==null)\r\n        {\r\n            this.franchise_edit.franchise_id= franchise._id;\r\n            this.franchise_edit.server_token= franchise.server_token;\r\n        }\r\n        if(!JSON.parse(localStorage.getItem('franchise_document_ulpoaded')) && JSON.parse(localStorage.getItem('admin_franchise_document_ulpoaded')))\r\n        {\r\n            this.helper.router.navigate(['franchise/upload_document']);\r\n        }\r\n\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_SETTING_DETAIL,{}).map((response: Response) => response.json()) .subscribe(res_data => {\r\n\r\n            this.setting_data=res_data.setting\r\n\r\n        },\r\n        (error: any) => {\r\n                this.helper.http_status(error)\r\n        });\r\n\r\n\r\n\r\n\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_FRANCHISE_DATA,{franchise_id:this.franchise_edit.franchise_id, server_token:this.franchise_edit.server_token}).map((response: Response) => response.json()) .subscribe(res_data => {\r\n\r\n            this.myLoading=false;\r\n            if(res_data.success == false)\r\n            {\r\n                  this.helper.data.storage = {\r\n                      \"code\": res_data.error_code,\r\n                      \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                      \"class\": \"alert-danger\"\r\n                  }\r\n            }\r\n            else\r\n            {\r\n                this.order_detail=res_data.order_detail;\r\n\r\n                let chart31 = c3.generate({\r\n                    bindto: '#c1',\r\n                    data: {\r\n\r\n                        columns: [\r\n                            [this.title.completed_order, this.order_detail.completed_order_percentage]\r\n                        ],\r\n                        type: 'gauge',\r\n                    },\r\n                    legend: {\r\n                        show: true\r\n                    },\r\n                    gauge: {\r\n                        label: {\r\n                            show: false // to turn off the min/max labels.\r\n                        },\r\n                        width: 30 // for adjusting arc thickness\r\n                    },\r\n                    color: {\r\n                        pattern: ['#1e1e1e'], // the three color levels for the percentage values.\r\n\r\n                    }\r\n                });\r\n\r\n                this.franchise_detail=res_data.franchise_detail;\r\n                this.franchise_edit.name=res_data.franchise_detail.name;\r\n                this.franchise_edit.login_by=res_data.franchise_detail.login_by;\r\n                this.franchise_edit.social_id = res_data.franchise_detail.social_ids;\r\n                this.franchise_edit.email= res_data.franchise_detail.email;\r\n                this.franchise_edit.website_url= res_data.franchise_detail.website_url;\r\n                this.franchise_edit.slogan= res_data.franchise_detail.slogan;\r\n                this.franchise_edit.country_name= res_data.franchise_detail.country_details.country_name;\r\n                this.franchise_edit.city_name= res_data.franchise_detail.city_details.city_name;\r\n                this.franchise_edit.country_code = res_data.franchise_detail.country_details.country_code;\r\n                this.franchise_edit.address= res_data.franchise_detail.address;\r\n                this.franchise_edit.country_phone_code= res_data.franchise_detail.country_phone_code;\r\n                this.franchise_edit.phone= res_data.franchise_detail.phone;\r\n                this.franchise_edit.store_delivery_name= res_data.franchise_detail.delivery_details.delivery_name;\r\n                this.franchise_edit.latitude= res_data.franchise_detail.location[0];\r\n                this.franchise_edit.longitude= res_data.franchise_detail.location[1];\r\n                this.franchise_edit.famous_for= res_data.franchise_detail.famous_for;\r\n                this.franchise_edit.image_url= res_data.franchise_detail.image_url;\r\n                this.franchise_edit.offer= res_data.franchise_detail.offer;\r\n                this.franchise_edit.referral_code= res_data.franchise_detail.referral_code;\r\n                this.franchise_edit.referral_credit= res_data.franchise_detail.wallet;\r\n                this.franchise_edit.total_referred= res_data.franchise_detail.total_referrals;\r\n                this.minimum_phone_number_length=res_data.franchise_detail.country_details.minimum_phone_number_length;\r\n                this.maximum_phone_number_length=res_data.franchise_detail.country_details.maximum_phone_number_length;\r\n                var country_code = res_data.franchise_detail.country_details.country_code;\r\n\r\n                var autocompleteElm = <HTMLInputElement>document.getElementById('address');\r\n                let autocomplete = new google.maps.places.Autocomplete((autocompleteElm),{types: ['address'], componentRestrictions: { country: country_code } });\r\n\r\n                autocomplete.addListener( 'place_changed', () => {\r\n                        var place = autocomplete.getPlace();\r\n                        var lat = place.geometry.location.lat();\r\n                        var lng = place.geometry.location.lng();\r\n                        this.franchise_edit.address=place.formatted_address\r\n                        this.franchise_edit.latitude=lat\r\n                        this.franchise_edit.longitude=lng\r\n                });\r\n            }\r\n            \r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n        \r\n\r\n\r\n\r\n\r\n        jQuery(window).resize(function() {\r\n            if (jQuery(window).width() < 454) {\r\n                jQuery('.box').removeClass('col-xs-1');\r\n                jQuery('.total').removeClass('col-xs-5');\r\n                jQuery('.box').addClass('col-xs-2');\r\n                jQuery('.total').addClass('col-xs-10');\r\n                jQuery('.box1').css('padding','')\r\n                jQuery('.total1').css('padding','')\r\n            } else {\r\n                jQuery('.box').removeClass('col-xs-2');\r\n                jQuery('.total').removeClass('col-xs-10');\r\n                jQuery('.box').addClass('col-xs-1');\r\n                jQuery('.total').addClass('col-xs-5');\r\n                jQuery('.box1').css('padding',0)\r\n                jQuery('.total1').css('padding',0)\r\n            }\r\n        });\r\n        setTimeout(function() {\r\n            if (jQuery(window).width() < 454) {\r\n                jQuery('.box').removeClass('col-xs-1');\r\n                jQuery('.total').removeClass('col-xs-5');\r\n                jQuery('.box').addClass('col-xs-2');\r\n                jQuery('.total').addClass('col-xs-10');\r\n                jQuery('.box1').css('padding','')\r\n                jQuery('.total1').css('padding','')\r\n            } else {\r\n                jQuery('.box').removeClass('col-xs-2');\r\n                jQuery('.total').removeClass('col-xs-10');\r\n                jQuery('.box').addClass('col-xs-1');\r\n                jQuery('.total').addClass('col-xs-5');\r\n                jQuery('.box1').css('padding',0)\r\n                jQuery('.total1').css('padding',0)\r\n            }\r\n        },500);\r\n    }\r\n    public formData = new FormData();\r\n\r\n    change_image($event) {\r\n        \r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const image_url = files[0];\r\n\r\n        if(image_url.type == \"image/jpeg\" || image_url.type == \"image/jpg\" || image_url.type == \"image/png\")\r\n        {\r\n            this.formData = new FormData();\r\n            this.formData.append('image_url', image_url);\r\n\r\n            var reader = new FileReader();\r\n\r\n            reader.onload =  (e : any) => {\r\n                this.franchise_edit.image_url = e.target.result\r\n            }\r\n            reader.readAsDataURL(image_url);\r\n        }\r\n    }\r\n\r\n    old_password_update(){\r\n        this.old_password_modal.close();\r\n        this.UpdateFranchiseDetail(this.franchise_edit)\r\n    }\r\n\r\n    UpdateFranchise(franchise_data){\r\n\r\n        if(this.franchise_edit.social_id.length == 0){\r\n\r\n            this.old_password_modal.open();\r\n        } else {\r\n            this.UpdateFranchiseDetail(franchise_data)\r\n        }\r\n    }\r\n\r\n    UpdateFranchiseDetail(franchise_data)\r\n    {\r\n        \r\n        this.franchise_data=franchise_data\r\n        var franchise = JSON.parse(localStorage.getItem('franchise'));\r\n        if((this.setting_data.is_franchise_sms_verification == true && franchise_data.phone !== franchise.phone) && (this.setting_data.is_franchise_mail_verification == true && franchise_data.email !== franchise.email))\r\n        {\r\n            var otp_json = {type:2, email:this.franchise_data.email, phone:this.franchise_data.phone}\r\n            this.generate_otp(otp_json)\r\n        }\r\n        else if(this.setting_data.is_franchise_sms_verification == true && franchise_data.phone !== franchise.phone)\r\n        {\r\n            this.generate_otp({type:2, phone:this.franchise_data.phone})\r\n        }\r\n        else if(this.setting_data.is_franchise_mail_verification == true && franchise_data.email !== franchise.email)\r\n        {\r\n            this.generate_otp({type:2, email:this.franchise_data.email})\r\n        }\r\n        else\r\n        {\r\n            this.franchise_update(franchise_data)\r\n        }\r\n    }\r\n\r\n    generate_otp(otp_json)\r\n    {\r\n        this.myLoading=true;\r\n        var franchise = JSON.parse(localStorage.getItem('franchise'));\r\n        this.helper.http.post(this.helper.POST_METHOD.ADMIN_OTP_VERIFICATION,otp_json).map((res:Response) => res.json()).subscribe(res_data=>{\r\n\r\n            this.myLoading=false;\r\n            if(res_data.success == true)\r\n            {\r\n                this.helper.string_log(\"email\" , res_data.otp_for_email)\r\n                this.helper.string_log(\"sms\" , res_data.otp_for_sms)\r\n                this.modal.open();\r\n                this.otp_for_email=res_data.otp_for_email\r\n                this.otp_for_sms=res_data.otp_for_sms\r\n                \r\n                if(this.franchise_data.phone == franchise.phone || this.setting_data.is_franchise_sms_verification == false)\r\n                  {\r\n                      jQuery(\"#otp_for_sms\").css(\"display\", \"none\");\r\n                  }\r\n\r\n                  if(this.franchise_data.email == franchise.email || this.setting_data.is_franchise_mail_verification == false)\r\n                  {\r\n                      jQuery(\"#otp_for_email\").css(\"display\", \"none\");\r\n                  }\r\n            }\r\n            else\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message()\r\n\r\n            }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n    otp_var(otp)\r\n    {\r\n        if(otp.sms_otp == undefined)\r\n        {\r\n            if(otp.email_otp == this.otp_for_email)\r\n            {\r\n              this.franchise_update(this.franchise_data)\r\n                //this.otp_verified({store_id :this.store_data.store_id , email :this.store_data.email , server_token :this.store_data.server_token, is_email_verified:true})\r\n            }\r\n            else\r\n            {\r\n                this.opt_error_message = 1\r\n            }\r\n        }\r\n        else if(otp.email_otp == undefined)\r\n        {\r\n            if(otp.sms_otp == this.otp_for_sms)\r\n            {\r\n              this.franchise_update(this.franchise_data)\r\n                //this.otp_verified({store_id :this.store_data.store_id , phone :this.store_data.phone , server_token :this.store_data.server_token, is_phone_number_verified:true})\r\n            }\r\n            else\r\n            {\r\n                this.opt_error_message = 2\r\n            }\r\n        }\r\n        else\r\n        {\r\n            if(otp.sms_otp == this.otp_for_sms && otp.email_otp == this.otp_for_email)\r\n            {\r\n                this.franchise_update(this.franchise_data)\r\n                //this.otp_verified({store_id :this.store_data.store_id , email :this.store_data.email , phone : this.store_data.phone , server_token :this.store_data.server_token, is_email_verified:true , is_phone_number_verified:true})\r\n            }\r\n            else\r\n            {\r\n                this.opt_error_message = 3\r\n            }\r\n        }\r\n    }\r\n\r\n    otp_verified(otp_verified_json)\r\n    {\r\n        this.myLoading=true;\r\n        this.helper.http.post(this.helper.POST_METHOD.OTP_VERIFICATION,otp_verified_json).map((res:Response) => res.json()).subscribe(res_data=>{\r\n            this.myLoading=false;\r\n            if(res_data.success == true)\r\n            {\r\n                this.franchise_update(this.franchise_data)\r\n            }\r\n            else{\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n            }\r\n                \r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n    franchise_update(franchise_data)\r\n    {\r\n\r\n        this.myLoading=true;\r\n      this.modal.close();\r\n      this.formData.append('franchise_id',franchise_data.franchise_id);\r\n      this.formData.append('server_token',franchise_data.server_token);\r\n      this.formData.append('phone',franchise_data.phone);\r\n      this.formData.append('email',franchise_data.email.trim());\r\n      this.formData.append('old_password',franchise_data.old_password);\r\n      this.formData.append('new_password',franchise_data.new_password);\r\n      this.formData.append('name',franchise_data.name.trim());\r\n      this.formData.append('address',franchise_data.address.trim());\r\n      this.formData.append('latitude',franchise_data.latitude);\r\n      this.formData.append('longitude',franchise_data.longitude);\r\n      this.formData.append('website_url',franchise_data.website_url.trim());\r\n      if(franchise_data.famous_for != undefined){\r\n          this.formData.append('famous_for',franchise_data.famous_for.trim());\r\n      }\r\n      if(franchise_data.slogan != undefined){\r\n          this.formData.append('slogan',franchise_data.slogan.trim());\r\n      }\r\n      if(franchise_data.offer != undefined){\r\n          this.formData.append('offer',franchise_data.offer.trim());\r\n      }\r\n        this.formData.append('social_id',franchise_data.social_id);\r\n        this.formData.append('login_by',franchise_data.login_by);\r\n\r\n      this.helper.http.post(this.helper.POST_METHOD.UPDATE,this.formData).map((response: Response) => response.json()) .subscribe(res_data => {\r\n\r\n          this.myLoading=false;\r\n          this.franchise_edit.old_password=\"\";\r\n          this.franchise_edit.new_password=\"\";\r\n          this.franchise_edit.confirm_password=\"\";\r\n          jQuery('#remove').click();\r\n          this.edit=false;\r\n          if(res_data.success == false)\r\n          {\r\n            this.helper.data.storage = {\r\n                \"code\": res_data.error_code,\r\n                \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                \"class\": \"alert-danger\"\r\n            }\r\n            this.helper.message()\r\n            this.formData = new FormData();\r\n            this.franchise_edit.name=this.franchise_detail.name;\r\n            this.franchise_edit.website_url= this.franchise_detail.website_url;\r\n            this.franchise_edit.slogan= this.franchise_detail.slogan;\r\n            this.franchise_edit.address= this.franchise_detail.address;\r\n            this.franchise_edit.phone= this.franchise_detail.phone;\r\n            this.franchise_edit.email= this.franchise_detail.email;\r\n            this.franchise_edit.latitude= this.franchise_detail.location[0];\r\n            this.franchise_edit.longitude= this.franchise_detail.location[1];\r\n            this.franchise_edit.famous_for= this.franchise_detail.famous_for;\r\n            this.franchise_edit.image_url= this.franchise_detail.image_url;\r\n            this.franchise_edit.offer= this.franchise_detail.offer;\r\n\r\n\r\n          }\r\n          else\r\n          {\r\n              localStorage.setItem('franchise', JSON.stringify(res_data.franchise));\r\n              this.helper.data.storage = {\r\n                  \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                  \"class\": \"alert-info\"\r\n              }\r\n              this.helper.message()\r\n               location.reload();\r\n              \r\n          }\r\n      },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/profile/profile.component.ts","import { Component, OnInit,ViewContainerRef, trigger, state ,transition, style, animate  } from '@angular/core';\r\nimport {Response } from '@angular/http';\r\nimport {Helper} from \"../../franchise_helper\";\r\ndeclare var jQuery:any;\r\ndeclare var swal: any;\r\n\r\nexport interface specification{\r\n   name:string;\r\n}\r\n\r\n@Component({\r\n    selector: 'app-specification',\r\n    template: require('./specification.component.html'),\r\n    providers: [Helper],\r\n    animations: [\r\n        trigger('fadeInDownBig', [\r\n            state('true', \r\n                style({ transform: 'translateY(-250px)', opacity: 0}),\r\n\r\n            ),\r\n            state('false', style({\r\n                transform: 'translateY(0)', opacity: 1\r\n            })),\r\n              transition('true => false', animate('500ms', style({transform: 'translateY(0)', opacity: 1}))),\r\n              transition('false => true', animate('500ms', style({transform: 'translateY(-250px)', opacity: 0})))\r\n        ]),\r\n\r\n\r\n       \r\n    ],\r\n})\r\n\r\n\r\nexport class FranchiseSpecificationComponent implements OnInit {\r\n\r\n    title:any;\r\n    button:any;\r\n    heading_title:any;\r\n    product_id:Object;\r\n    message:any;\r\n    franchise_id:Object;\r\n    server_token:String;\r\n    specification_list:any[];\r\n    specification_name:String;\r\n    deleted_specification_list:any[];\r\n    delete_specification_array:any[] = [];\r\n    specification_name_array:any[];\r\n    specification_name_arrays:any[];\r\n    new_specification_list:any[];\r\n    spec_already:Number;\r\n    edit_specification_group:any[];\r\n    default:string;\r\n    hide_specification_group: any[];\r\n    myLoading:boolean = true;\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef){\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    ngOnInit() {\r\n        let token = this.helper.tokenService.getToken();\r\n\r\n        if(!token || !token.token) {\r\n\r\n            this.helper.router.navigate(['franchise/login']);\r\n        }\r\n        this.helper.message()\r\n\r\n        this.hide_specification_group = [];\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.heading_title=this.helper.heading_title;\r\n        this.message=this.helper.messages;\r\n        this.deleted_specification_list=[];\r\n        this.new_specification_list=[];\r\n        this.spec_already=0;\r\n        this.product_id =this.helper.router_id.franchise.specification_product_id;\r\n        this.specification_name_array = [];\r\n        this.specification_name_arrays = [];\r\n        this.edit_specification_group = [];\r\n        this.default = \"false\";\r\n        if(this.product_id == \"\" || this.product_id == undefined)\r\n        {\r\n            this.helper.router.navigate(['franchise/product']);\r\n        }\r\n        else\r\n        {\r\n            var franchise = JSON.parse(localStorage.getItem('franchise'));\r\n            if(franchise!==null)\r\n            {\r\n                this.franchise_id=franchise._id\r\n                this.server_token=franchise.server_token\r\n                this.helper.http.post(this.helper.POST_METHOD.GET_SPECIFICATION_GROUP,{product_id:this.product_id,franchise_id:franchise._id, server_token:franchise.server_token}).map((res_data: Response) => res_data.json()) .subscribe(res_data => {\r\n\r\n                    this.myLoading=false;\r\n                    if(res_data.success == false)\r\n                    {\r\n                        this.helper.data.storage = {\r\n                            \"code\": res_data.error_code,\r\n                            \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                            \"class\": \"alert-danger\"\r\n                        }\r\n                        this.helper.message()\r\n                        this.specification_list=[];\r\n                    }\r\n                    else\r\n                    {\r\n                        this.specification_list=res_data.specification_group;\r\n                        this.specification_list.forEach( (spec , index) => {\r\n                            this.edit_specification_group[index]=\"false\"\r\n                            this.hide_specification_group[index]=\"false\"\r\n                        })\r\n                    }\r\n                },\r\n                (error: any) => {\r\n                    this.myLoading=false;\r\n                        this.helper.http_status(error)\r\n                });\r\n            }\r\n        }\r\n    }\r\n    checkSpecification(name)\r\n    {\r\n        var specification_index = this.specification_list.findIndex(x => x.name.toLowerCase()==name.toLowerCase().trim())\r\n        if(specification_index == -1)\r\n        {\r\n            this.spec_already = 0;\r\n        }\r\n        else\r\n        {\r\n            this.spec_already = 1;\r\n        }\r\n    }\r\n\r\n    addSpecificationGroup(data)\r\n    {\r\n        this.myLoading=true;\r\n        this.specification_name=\"\";\r\n        this.new_specification_list.push(data.specification_name.trim())\r\n\r\n        this.helper.http.post(this.helper.POST_METHOD.ADD_SPECIFICATION_GROUP,{franchise_id:this.franchise_id, product_id:this.product_id,server_token:this.server_token,specification_group_name:this.new_specification_list}).map((response: Response) => response.json()) .subscribe(res_data => {\r\n\r\n            this.new_specification_list=[];\r\n            this.myLoading=false;\r\n            if(res_data.success)\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                \r\n                var res_array_index = res_data.specification_group.findIndex(x => x.name==data.specification_name.trim())\r\n                res_data.specification_group[res_array_index].list=[];\r\n                this.specification_list.push(res_data.specification_group[res_array_index])\r\n                this.edit_specification_group.push('false');\r\n                this.hide_specification_group.push('false');\r\n            }\r\n            else\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n            }\r\n            this.helper.message();\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n    hide_specifications_group(specification_group_index)\r\n    {\r\n        this.hide_specification_group[specification_group_index]='true'\r\n        // this.edit_specification_group[specification_group_index]='';\r\n        jQuery('#spec_list'+specification_group_index).hide(1000);\r\n    }\r\n\r\n    show_specifications_group(specification_group_index)\r\n    {\r\n        this.hide_specification_group[specification_group_index]='false'\r\n        // this.edit_specification_group[specification_group_index]='false';\r\n        jQuery('#spec_list'+specification_group_index).show(1000);\r\n    }\r\n    deleteSpecification_group(id , specification_group_index)\r\n    {\r\n        \r\n        swal({\r\n            title: 'Are you sure?',\r\n            text: \"You won't be able to revert this!\",\r\n            type: 'warning',\r\n            showCancelButton: true,\r\n            confirmButtonColor: '#3085d6',\r\n            cancelButtonColor: '#d33',\r\n            confirmButtonText: 'Yes, delete it!'\r\n          }).then(() => {\r\n\r\n              this.myLoading=true;\r\n            this.helper.http.post(this.helper.POST_METHOD.DELETE_SPECIFICATION_GROUP,{franchise_id:this.franchise_id, product_id:this.product_id,server_token:this.server_token,specification_group_id:id}).map((response: Response) => response.json()) .subscribe(res_data => {\r\n\r\n                this.myLoading=false;\r\n                if(res_data.success)\r\n                {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n\r\n                    this.specification_list.splice(specification_group_index , 1)\r\n                    this.edit_specification_group.push(specification_group_index , 1);\r\n                    this.hide_specification_group.push(specification_group_index , 1);\r\n                }\r\n                else\r\n                {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                }\r\n                this.helper.message()\r\n            },\r\n            (error: any) => {\r\n                this.myLoading=false;\r\n                    this.helper.http_status(error)\r\n            });\r\n        }).catch(swal.noop)\r\n    }\r\n\r\n    editSpecification(id , specification_group_index)\r\n    {\r\n        // this.hide_specification_group[specification_group_index]=''\r\n        this.edit_specification_group.fill(\"\")\r\n        this.edit_specification_group[specification_group_index]=\"true\"\r\n    }\r\n    \r\n    append_specification(specification_group_index)\r\n    {\r\n            this.specification_name_array.push(\"\")\r\n            this.specification_name_arrays.push(\"\")\r\n    }\r\n    \r\n    updateSpecification(id,specification_list_index)\r\n    {\r\n        // this.hide_specification_group[specification_list_index]='false'\r\n        this.edit_specification_group.fill(\"false\")\r\n        \r\n        var franchise = JSON.parse(localStorage.getItem('franchise'));\r\n        this.specification_name_arrays = this.specification_name_arrays.filter(v=>v!='');\r\n        \r\n        this.specification_name_arrays = this.specification_name_arrays.filter((elem, index, self) => {\r\n            \r\n            elem = elem.trim();\r\n            var exist_index = this.specification_list[specification_list_index].list.findIndex(x => x.name.toLowerCase().trim()==elem.toLowerCase().trim())\r\n           \r\n            if(exist_index !== -1)\r\n            {\r\n                return;\r\n            }\r\n            else{\r\n                return index == self.indexOf(elem);\r\n            }\r\n        });\r\n\r\n        this.specification_name_array = [];\r\n        if(this.specification_name_arrays.length > 0)\r\n        {\r\n            this.myLoading=true;\r\n            this.helper.http.post(this.helper.POST_METHOD.ADD_SPECIFICATION,{specification_group_id: id , specification_name :this.specification_name_arrays ,product_id:this.product_id,franchise_id:franchise._id, server_token:franchise.server_token}).map((res_data: Response) => res_data.json()) .subscribe(res_data => {\r\n                \r\n                this.specification_name_arrays = [];\r\n                this.myLoading=false;\r\n                if(res_data.success)\r\n                {\r\n                    this.specification_list[specification_list_index].list = res_data.specifications\r\n                    if(this.delete_specification_array.length > 0)\r\n                    {\r\n                        this.myLoading=true;\r\n                        this.helper.http.post(this.helper.POST_METHOD.DELETE_SPECIFICATION,{specification_group_id: id , specification_id :this.delete_specification_array ,product_id:this.product_id,franchise_id:franchise._id, server_token:franchise.server_token}).map((res_data: Response) => res_data.json()) .subscribe(res_data => {\r\n                            this.delete_specification_array = [];\r\n                                this.myLoading=false;\r\n                            if(res_data.success)\r\n                            {\r\n                                this.specification_list[specification_list_index].list = res_data.specifications\r\n                            }\r\n                            else\r\n                            {\r\n                                this.helper.data.storage = {\r\n                                    \"code\": res_data.error_code,\r\n                                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                                    \"class\": \"alert-danger\"\r\n                                }\r\n                            }\r\n                        },\r\n                        (error: any) => {\r\n                            this.myLoading=false;\r\n                                this.helper.http_status(error)\r\n                        });\r\n                    }\r\n                }\r\n                else\r\n                {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                }\r\n                \r\n            },\r\n            (error: any) => {\r\n                this.myLoading=false;\r\n                    this.helper.http_status(error)\r\n            });\r\n        }\r\n        else if(this.delete_specification_array.length > 0)\r\n        {\r\n            this.myLoading=true;\r\n            this.helper.http.post(this.helper.POST_METHOD.DELETE_SPECIFICATION,{specification_group_id: id , specification_id :this.delete_specification_array ,product_id:this.product_id,franchise_id:franchise._id, server_token:franchise.server_token}).map((res_data: Response) => res_data.json()) .subscribe(res_data => {\r\n                this.delete_specification_array = [];\r\n                this.myLoading=false;\r\n                if(res_data.success)\r\n                {\r\n                    this.specification_list[specification_list_index].list = res_data.specifications;\r\n                }\r\n                else{\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                }\r\n            },\r\n            (error: any) => {\r\n                this.myLoading=false;\r\n                    this.helper.http_status(error)\r\n            });\r\n        }\r\n        \r\n    }\r\n\r\n    deleteSpecification(id , specification_group_index , specification_index)\r\n    {\r\n        if(id == '')\r\n        {\r\n           this.specification_name_array.splice(specification_index , 1) \r\n           this.specification_name_arrays.splice(specification_index , 1) \r\n        }\r\n        else\r\n        {\r\n            this.specification_list[specification_group_index].list.splice(specification_index,1)\r\n            this.delete_specification_array.push(id)\r\n        } \r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/specification/specification.component.ts","import { Component, OnInit ,ViewContainerRef } from '@angular/core';\r\nimport {Response } from '@angular/http';\r\nimport {Helper} from \"../../franchise_helper\";\r\ndeclare var jQuery:any;\r\n\r\n@Component({\r\n    selector: 'app-store_item',\r\n    template: require('./store_item.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class FranchiseStoreItemComponent implements OnInit {\r\n\r\n    title:any;\r\n    button:any;\r\n    heading_title:any;\r\n    public message: string = \"\";\r\n    public class: string;\r\n    product_list:any[];\r\n    filtered_product_list:any[] = [];\r\n    franchise_id:string;\r\n    store_id:string;\r\n    server_token:string;\r\n    currency:any;\r\n    selected_product:string;\r\n    filter_product_name:String = \"\";\r\n\r\n    myLoading:boolean = true;\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef){\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n        jQuery(\".chosen-select\").chosen();\r\n        // setTimeout(function() {\r\n        //     jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        // }, 1000);\r\n    }\r\n\r\n    activeRoute(routename: string): boolean{\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n\r\n    ngOnInit() {\r\n\r\n        let token = this.helper.tokenService.getToken();\r\n\r\n        if(!token || !token.token) {\r\n\r\n            this.helper.router.navigate(['franchise/logout']);\r\n        }\r\n        this.helper.message()\r\n\r\n        var franchise = JSON.parse(localStorage.getItem('franchise'));\r\n        if(franchise!==null)\r\n        {\r\n            this.franchise_id=franchise._id\r\n            this.server_token=franchise.server_token\r\n        }\r\n        this.store_id=this.helper.router_id.franchise.item_store_id;\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.heading_title=this.helper.heading_title;\r\n        this.selected_product=this.title.all\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#selected_product').on('change', (evnt,res_data) => {\r\n\r\n            this.selected_product=res_data.selected;\r\n\r\n        });\r\n\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_FOR_STORE_PRODUCT_ITEM_LIST,{store_id:this.store_id,franchise_id:this.franchise_id, server_token:this.server_token}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n\r\n            \r\n                this.myLoading=false;\r\n            \r\n                if(res_data.success == false)\r\n                {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    \r\n                    this.product_list=[];\r\n                    this.filtered_product_list=[];\r\n                    this.helper.message()\r\n                }\r\n                else\r\n                {\r\n                    this.currency=res_data.currency;\r\n                    this.product_list=res_data.products;\r\n                    this.filtered_product_list=res_data.products;\r\n                    setTimeout(function() {\r\n                        jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n                    }, 1000);\r\n                }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n\r\n        jQuery('#loop').click();\r\n\r\n        jQuery(window).resize(function(){\r\n            if(jQuery(window).width()>992 && jQuery(window).width()<1300){\r\n                jQuery('.div1').removeClass('col-md-4');\r\n                jQuery('.div2').removeClass('col-md-8');\r\n                jQuery('.div1').addClass('col-md-12');\r\n                jQuery('.div2').addClass('col-md-12');\r\n            }\r\n            else\r\n            {\r\n                jQuery('.div1').removeClass('col-md-12');\r\n                jQuery('.div2').removeClass('col-md-12');\r\n                jQuery('.div1').addClass('col-md-4');\r\n                jQuery('.div2').addClass('col-md-8');\r\n            }\r\n\r\n            if((jQuery(window).width()>772 && jQuery(window).width()<935) || jQuery(window).width()<365){\r\n                jQuery('.div1').removeClass('col-xs-4');\r\n                jQuery('.div2').removeClass('col-xs-8');\r\n                jQuery('.div1').addClass('col-xs-12');\r\n                jQuery('.div2').addClass('col-xs-12');\r\n            }\r\n            else\r\n            {\r\n                jQuery('.div1').removeClass('col-xs-12');\r\n                jQuery('.div2').removeClass('col-xs-12');\r\n                jQuery('.div1').addClass('col-xs-4');\r\n                jQuery('.div2').addClass('col-xs-8');\r\n            }\r\n        });\r\n\r\n        setTimeout(function() {\r\n            if(jQuery(window).width()>992 && jQuery(window).width()<1300){\r\n                jQuery('.div1').removeClass('col-md-4');\r\n                jQuery('.div2').removeClass('col-md-8');\r\n                jQuery('.div1').addClass('col-md-12');\r\n                jQuery('.div2').addClass('col-md-12');\r\n            }\r\n            else\r\n            {\r\n                jQuery('.div1').removeClass('col-md-12');\r\n                jQuery('.div2').removeClass('col-md-12');\r\n                jQuery('.div1').addClass('col-md-4');\r\n                jQuery('.div2').addClass('col-md-8');\r\n            }\r\n\r\n            if((jQuery(window).width()>772 && jQuery(window).width()<935) || jQuery(window).width()<365){\r\n                jQuery('.div1').removeClass('col-xs-4');\r\n                jQuery('.div2').removeClass('col-xs-8');\r\n                jQuery('.div1').addClass('col-xs-12');\r\n                jQuery('.div2').addClass('col-xs-12');\r\n            }\r\n            else\r\n            {\r\n                jQuery('.div1').removeClass('col-xs-12');\r\n                jQuery('.div2').removeClass('col-xs-12');\r\n                jQuery('.div1').addClass('col-xs-4');\r\n                jQuery('.div2').addClass('col-xs-8');\r\n            }\r\n        },500);\r\n\r\n    }\r\n    editItem(id, event)\r\n    {\r\n        if(event.target.attributes.class != undefined)\r\n        {\r\n            var value=event.target.attributes.class.value\r\n            value=value.split(' ')\r\n            if(value[0] !== \"switch\")\r\n            {\r\n                this.helper.router_id.store.item_id=id;\r\n                this.helper.router.navigate(['store/item/edit']);\r\n            }\r\n        }\r\n        else if(event.target.tagName !== \"SMALL\")\r\n        {\r\n            this.helper.router_id.store.item_id=id;\r\n            this.helper.router.navigate(['store/item/edit']);\r\n        }\r\n    }\r\n\r\n    filter_product(data)\r\n    {\r\n        data = data.replace(/^\\s+|\\s+$/g, '');\r\n        data = data.replace(/ +(?= )/g, '');\r\n        data = new RegExp(data,\"gi\");\r\n\r\n        var product_array = [];\r\n        this.product_list.forEach((product) => {\r\n         \r\n            var item_array = product.items.filter((item_data) => {\r\n                var a = item_data.name.match(data);\r\n                return a !== null;\r\n            })\r\n            if(item_array.length>0)\r\n            {\r\n                product_array.push({_id:product._id , name:product.name , store_id:product.store_id , unique_id:product.unique_id,\r\n                                    is_visible_in_store: product.is_visible_in_store , items:item_array})\r\n            }\r\n        });\r\n        this.filtered_product_list = product_array;\r\n    }\r\n\r\n    onChange(id, event)\r\n    {\r\n        this.helper.http.post(this.helper.POST_METHOD.IS_ITEM_IN_STOCK,{item_id:id,is_item_in_stock:event}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n\r\n            if(res_data.success == false)\r\n            {\r\n\r\n            }\r\n        },\r\n        (error: any) => {\r\n                this.helper.http_status(error)\r\n        });\r\n\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/store_item/store_item.component.ts","export var menu_title = {\r\n        create_order: \"Create Order\",\r\n        upload_document: \"Upload Document\",\r\n        order: \"Orders\",\r\n        deliveries: \"Deliveries\",\r\n        history: \"History\",\r\n        product: \"Product\",\r\n        item: \"Item\",\r\n        setting: \"Setting\",\r\n        store: \"Stores\",\r\n        earning: \"Earning\",\r\n        sub_earning: \"Earning\",\r\n        sub_daily_earning: \"Daily Earning\",\r\n        sub_weekly_earning: \"Weekly Earning\",\r\n        profile: \"Profile\",\r\n        logout: \"Logout\",\r\n        promocode: \"Promo code\"\r\n}\r\n\r\nexport var title = {\r\n        \r\n        ///////////////for Franchise Register //////////////////////////\r\n        store_item_tax:\"Item Tax\",\r\n        price_rating:\"Price Rating\",\r\n        rate:\"Rate\",\r\n        free_delivery_for_above_order_price:\"Free Delivery Above Price\",\r\n        delivery_time:\"Delivery Time\",\r\n        is_store_pay_delivery_fees:\"Store Pay Delivery Fee\",\r\n        is_business_store:\"Business\",\r\n        is_document_uploaded:\"Document Uploaded\",\r\n        language:\"Language\",\r\n        content:\"Write SMS Content\",\r\n        notification_content:\"Write Notification Content\",\r\n        name: \"Name\",\r\n        email: \"Email\",\r\n        password: \"Password\",\r\n        confirm_password:\"Confirm Password\",\r\n        website_url: \"Website Url\",\r\n        slogan: \"Slogan\",\r\n        select_country : \"Select Country\",\r\n        select_city: \"Select City\",\r\n        address: \"Address\",\r\n        country_phone_code: \"Phone Code\",\r\n        phone: \"Phone Number\",\r\n        fax_number: \"Fax Number\",\r\n\t    select_delivery: \"Selct Delivery Type\",\r\n        latitude: \"Latitude\",\r\n        longitude: \"Longitude\",\r\n        famous_for: \"Famous For\",\r\n        image_url: \"Image\",\r\n        store: \"Store\",\r\n        referral_code: \"Referral Code\",\r\n        message_602:\"done\",\r\n\t\tis_required:\"Required\",\r\n        \r\n        register_your_account:\"Register Your Account\",\r\n        confirmation_code:\"Confirmation Code\",\r\n        sms_otp: \"Sms Verification Code\",\r\n        email_otp: \"Email Verification Code\",\r\n        verification:\"Verification\",\r\n        spec: \"Spec.\",\r\n    promo_expiry_date: 'Expiry Date',\r\n    product: 'Product',\r\n\r\n    invalid_amount : \"The configuration allows you to specify a minimum\\n\" +\r\n    \"      amount,that order totals are required to meet\",\r\n        \r\n        details:\"Detail\",\r\n        is_visible_in_store:\"Visible In Franchise\",\r\n        is_item_in_stock:\"Item In Stock\",\r\n        email_or_phone:\"Email Or Phone\",\r\n        for_use: 'For Use',\r\n        item:\"Item\",\r\n        price:\"Price\",\r\n        is_default_selected:\"Default Selected\",\r\n        is_user_selected:\"User Selected\",\r\n        specifications:\"Specifications\",\r\n        item_note_here:\"Item Note Here\",\r\n        \r\n        new_password:\"New Password\",\r\n        old_password:\"Old Password\",\r\n        country:\"Country\",\r\n        city:\"City\",\r\n        total_referrals:\"Total Referrals\",\r\n        referred_by:\"Referred By\",\r\n        setting: \"Setting\",\r\n        admin_profit_mode: \"Admin Profit Mode\",\r\n        admin_profit_value: \"Admin Profit Value\",\r\n        phone_number_verified:\"Phone Number Verified\",\r\n        email_verified:\"Email Verified\",\r\n        approved:\"Approved\",\r\n        prov_city:\"City\",\r\n        delivery_type:\"Delivery Type\",\r\n        personal_detail:\"Personal Detail\",\r\n        store_name:\"Personal Detail\",\r\n        app_version:\"App Version\",\r\n        currency_code: \"Currency Code\",\r\n        wallet:\"Wallet\",\r\n        referral:\"Referral\",\r\n        item_name:\"Item Name\",\r\n        \r\n        is_default:\"Visible\",\r\n        is_in_stock:\"In Stock\",\r\n        is_most_popular:\"Most Popular\",\r\n        specification_name:\"Name\",\r\n        specification_type:\"Type\",\r\n        specification_detail:\"Detail\",\r\n        action:\"Action\",\r\n        item_specification_name:\"Item Specification Name\",\r\n        select_type:\"Select Type\",\r\n        add_specification:\"Add Specification\",\r\n        default_select:\"Default Select\",\r\n        user_selected:\"User Select\",\r\n        type_single:\"Single\",\r\n        type_multiple:\"Multiple\",\r\n        \r\n        error_atleast_one_specification:\"Select Atleast One Specification\",\r\n        \r\n        item_tax:\"Item Tax\",\r\n        is_visible: 'Visible',\r\n        is_busy: 'Busy',\r\n        store_open_time:\"Franchise Open Time\",\r\n        store_close_time:\"Franchise Close Time\",\r\n        free_delivery_within_radius: 'Free Delivery Within Radius',\r\n        \r\n        completed:\"Completed\",\r\n        remaining:\"Remaining\",\r\n\r\n        manual: \"manual\",\r\n        social: \"social\",\r\n\r\n        \r\n        id:\"Id\",\r\n        user:\"User\",\r\n        provider:\"Provider\",\r\n        payment_by:\"Payment By\",\r\n        total:\"Total\",\r\n        status:\"Status\",\r\n        card:\"Card\",\r\n        cash:\"Cash\",\r\n        user_rating:\"User Rating\",\r\n        provider_rating:\"Provider Rating\",\r\n        \r\n        product_name:\"Product Name\",\r\n        date_time:\"Date & Time\",\r\n        date:\"Date\",\r\n        \r\n        sort:\"Sort\",\r\n        search:\"Search\",\r\n        date_filter:\"Date Filter\",\r\n        ascending:\"Ascending\",\r\n        descending:\"Descending\",\r\n        filter_id:\"Id\",\r\n        filter_name:\"Name\",\r\n        value: 'Value',\r\n        expiry_date: 'Expiry Date',\r\n        filter_user:\"User\",\r\n        filter_provider:\"Provider\",\r\n        filter_item:\"Item\",\r\n        filter_product:\"Product\",\r\n\r\n        please_contact_to_admin:\"Please Contact To Admin\",\r\n\r\n        order:\"Order\",\r\n        service_fees:\"Service Fees\",\r\n        order_fees:\"Order Fees\",\r\n        store_profit:\"Franchise Profit\",\r\n        paid_service_fee:\"Paid Service Fee\",\r\n        recieved_order_payment:\"Recieved Order Payment\",\r\n        earning:\"Earning\",\r\n        currency:\"Currency\",\r\n        admin_earning:\"Admin Earning\",\r\n        provider_earning:\"Provider Earning\",\r\n        pay_to_provider:\"Pay To Provider\",\r\n        pay_store:\"Pay Franchise\",\r\n        \r\n        completed_order:\"Completed Order\",\r\n        order_amount:\"Order Amount\",\r\n        pay_by_admin:\"Pay By Admin\",\r\n\r\n\r\n        ////////// daily earning ///////\r\n        item_price:\"Item Price\",\r\n        order_price:\"Order Price\",\r\n        deduct_from_wallet: \"Deduct from wallet\",\r\n        added_in_wallet: \"Added in wallet\",\r\n        admin_profit:\"Admin Profit\",\r\n        total_earnings:\"Total Earnings\",\r\n        paid_in_wallet: \"PAID IN WALLET\",\r\n        paid: \"PAID\",\r\n        remaining_to_pay: \"REMAINING TO PAY\",\r\n        received_order_amount:\"Received Order Amount\",\r\n        pay_to_store:\"Pay To Franchise\",\r\n\r\n        payment_status:\"Payment Status\",\r\n        no_of_item:\"No Of Item\",\r\n        total_cart_price:\"Total Cart Price\",\r\n        total_order_price:\"Total Order Price\",\r\n        store_have_service_payment:\"Franchise Service Payment\",\r\n        total_store_income:\"Total Franchise Income\",\r\n        total_order:\"Total Order\",\r\n        accepted_order:\"Accepted Order\",\r\n        cancelled_order:\"Cancelled Order\",\r\n        \r\n        referral_credit:\"Referral Credit\",\r\n        total_referred:\"Total Referred\",\r\n\r\n        all:\"All\",\r\n        yes:\"YES\",\r\n        no:\"NO\",\r\n\r\n        doesnot_have_an_account:\"Doesn't have an account?\",\r\n        store_title1:\"Welcome to\",\r\n        store_title2:\"Edelivery Franchise Panel\",\r\n        signin_to_your_account:\"Sign in to your account\",\r\n        forgot_password:\"Forgot Password\",\r\n\r\n        offer:\"Offer\",\r\n        comment:\"Comment\",\r\n        unique_code:\"Unique Code\",\r\n        exp_date:\"Exp. Date\",\r\n\r\n        order_payment_paid_by_store:\"Order Paymnet paid by Franchise?\",\r\n        vehicle:\"Vehicle\",\r\n\r\n\r\n        ////////\r\n\r\n        created_at:\"Created At\",\r\n        store_accepted_at:\"Franchise Accepted At\",\r\n        preparing_order_at:\"Preparing Order At\",\r\n        order_ready_at:\"Order Ready At\",\r\n        store_order_send_at:\"Franchise Order Send At\",\r\n        provider_accepted_at:\"Provider Accepted At\",\r\n        completed_at:\"Completed At\",\r\n        delivered_at:\"Delivered At\",\r\n        start_for_delivery_at:\"Start For Delivery At\",\r\n        picked_order_at:\"Picked Order At\",\r\n        arrived_on_store_at:\"Arrived On Franchise At\",\r\n        start_for_pickup_at:\"Start for Pickup At\",\r\n\r\n\r\n        //////////////////////////\r\n        base_price:\"Base Price\",\r\n        distance_price:\"Distance Price\",\r\n        time_price:\"Time Price\",\r\n        service_price:\"Service Payment\",\r\n        tax_price:\"Tax Price\",\r\n        surge_price:\"Surge Price\",\r\n        delivery_price:\"DELIVERY PRICE\",\r\n        promo_bonus:\"Promo Bonus\",\r\n        total_delivery_price:\"TOTAL DELIVERY PRICE\",\r\n\r\n        cart_price:\"Cart Price\",\r\n\r\n        order_payment:\"Order Payment\",\r\n        delivery_payment:\"Delivery Payment\",\r\n\r\n        ///////////\r\n\r\n        wallet_payment:\"Wallet Payment\",\r\n        cash_payment:\"Cash Payment\",\r\n        other_payment:\"Other Payment\",\r\n        user_payment:\"User Payment\",\r\n\r\n        profit:\"Profit\",\r\n        items:\"items\",\r\n        qty:\"Qty.\",\r\n        order_completed:\"ORDER COMPLETED\",\r\n\r\n        already_account:\"Already have an account?\",\r\n        open_full_time: \"Open Full Time\",\r\n        open: \"Open\",\r\n        sunday: \"Sun\",\r\n        monday: \"Mon\",\r\n        tuesday: \"Tue\",\r\n        wednesday: \"Wed\",\r\n        thursday: \"Thu\",\r\n        friday: \"Fri\",\r\n        saturday: \"Sat\",\r\n        required: \"Required\",\r\n        add_item_note: \"Add Item Note\",\r\n\r\n        mobile_no: \"Mobile No.\",\r\n        total_service_cost: \"Total Service Cost\",\r\n        specification_price: \"Specification Price\",\r\n        total_item_cost: \"Total Item Cost\",\r\n\r\n\r\n        first_name: \"First Name\",\r\n        last_name: \"Last Name\",\r\n        enter_first_name: \"Enter First Name\",\r\n        enter_last_name: \"Enter Last Name\",\r\n        enter_email: \"Enter Email\",\r\n        enter_mobile_no: \"Enter Mobile No.\",\r\n\r\n\r\n        order_cancellation_charge_for_above_order_price: \"Order Cancellation Charge Above Price\",\r\n        is_order_cancellation_charge_apply: \"Order Cancellation Charge\",\r\n        order_cancellation_charge_type: \"Order Cancellation Charge Type\",\r\n        order_cancellation_charge_value: \"Order Cancellation Charge Value\",\r\n        max_item_quantity_add_by_user: \"Maximum Item Quantity Add By User\",\r\n        schedule_order_create_after_minute: \"Schedule Order Create After Minute\",\r\n        is_provider_delivery_anywhere: \"Provider Delivery Anywhere\",\r\n        delivery_radius: \"Delivery Radius\",\r\n        is_taking_schedule_order: \"Taking Schedule Order\",\r\n        inform_schedule_order_before_min: \"Inform Schedule Order Before Minute\",\r\n        min_order_price: \"Minimum Order Price\",\r\n        percentage: \"Percentage\",\r\n        absolute: \"Absolute\",\r\n\r\n        item_image_size_error: \"Image Size Not Proper\",\r\n        item_image_ratio_error: \"Image Ratio Not Proper\",\r\n        item_image_extension_error: \"Image Extension Not Proper\",\r\n\r\n        cancel_reason1: \"Order item outof stock\",\r\n        cancel_reason2: \"Delivery Adress not reachable\",\r\n\r\n        promo_code_name: \"Name\",\r\n        promo_code_type: \"Type\",\r\n    promo_code_value: \"Value\",\r\n    order_or_service: \"Order/Service\",\r\n    uses: \"Uses\",\r\n    user_used: \"User Used\",\r\n    state: \"State\",\r\n    promo_is_expired: \"Is Expired\",\r\n    promo_apply_on:\"Promo Apply On\",\r\n    is_active: \"Active\",\r\n    is_approved: \"Approved\",\r\n    is_promo_required_uses: \"Required Uses\",\r\n    is_promo_expiry_date: \"Expiry\",\r\n    is_promo_have_minimum_amount_limit: \"Minimum Amount Limit\",\r\n    is_promo_have_max_discount_limit: \"Maximum Discount Limit\",\r\n    promo_code_uses: \"no Of User to use\",\r\n    code_expiry: \"Expiry Date\",\r\n    promo_code_apply_on_minimum_amount: \"Minimum Amount Limit\",\r\n    promo_code_max_discount_amount: \"Maximum Discount\",\r\n    start_date: \"Start Date\",\r\n    admin_loyalty: \"Admin Loyality\",\r\n    promo_created_loyalty: \"Promo Created Loyality\",\r\n    promo_for: \"Promo For\",\r\n    admin_loyalty_type: \"Admin Louality Type\"\r\n\r\n}\r\n\r\nexport var button = {\r\n\t\r\n        view_detail:\"View Detail\",\r\n        edit_detail:\"Edit Detail\",\r\n        history:\"History\",\r\n        decline:\"Decline\",\r\n        approved:\"Aecline\",\r\n        send_notification:\"Send Notification\",\r\n        view_document:\"View Document\",\r\n\t    submit:\"Submit\",\r\n        register:\"Register\",\r\n        login:\"Login\",\r\n        login_button:\"LOGIN\",\r\n        close:\"Close\",\r\n        update:\"Update\",\r\n        add_item:\"Add Item\",\r\n        add_store:\"Add Store\",\r\n        add_specification:\"Add Specification\",\r\n        add_product:\"Add Product\",\r\n        add:\"Add\",\r\n        save:\"Save\",\r\n        send:\"Send\",\r\n        edit:\"Edit\",\r\n        delete:\"Delete\",\r\n    unavailable: 'unavailable',\r\n        remove:\"Remove\",\r\n        change:\"Change\",\r\n        select_file:\"Select File\",\r\n        add_store_time:\"Add Time\",\r\n        update_item:\"Update Item\",\r\n        view_specification:\"View Specification\",\r\n        view_full_invoice:\"View Full Invoice\",\r\n        \r\n        accept:\"Accept\",\r\n        resject:\"Reject\",\r\n        prepare_for_order:\"Prepare For Order\",\r\n        order_ready:\"Order Ready\",\r\n        assign_delivery_for_provider:\"Assign Delivery For Provider\",\r\n        reassign_delivery_for_provider:\"Re Assign Delivery For Provider\",\r\n        cancle:\"Cancel\",\r\n        cancel_request: \"Cancel Request\",\r\n        reject:\"Reject\",\r\n        view_order_detail:\"View Order Detail\",\r\n        view_cart_detail:\"View Cart Detail\",\r\n        track_delivery_man:\"Track Delivery Man\",\r\n        pre:\"Pre\",\r\n        next:\"Next\",\r\n        get_confirmation_code: \"Get Confirmation Code\",\r\n        apply:\"Apply\",\r\n        export_excel:\"Export\",\r\n        price_paid_by_store:\"Price Paid By Franchise\",\r\n        ok: 'Ok',\r\n\r\n        register_now:\"REGISTER NOW\",\r\n        forgot_password:\"Forgot password?\",\r\n        sign_up:\"SIGN UP\",\r\n        to: \"To\",\r\n\r\n    add_to_cart: \"Add To Cart\",\r\n    cart:\"CART\",\r\n    checkout: \"CHECKOUT\",\r\n    clear_all: \"clear all\",\r\n    place_order: \"Place Order\",\r\n    quick_delivery: \"Quick Delivery\",\r\n    confirmation_code: \"Confirmation Code\",\r\n    complete_order: \"Complete Order\",\r\n    inActive: \"Inactive\",\r\n    active: \"Active\",\r\n    add_promo: \"Add Promo Code\"\r\n\t\r\n}\r\nexport var status = {\r\n    \r\n    created:\"Created\",\r\n    waiting_for_accept:\"Waiting for Accept\",\r\n    accepted:\"Accepted\",\r\n    start_preparing_order:\"Start Preparing order\",\r\n    order_ready:\"Order Ready\",\r\n    waiting_for_delivery_man:\"Waiting for Delivery Man\",\r\n    delivery_man_accepted:\"Delivery Man Accepted\",\r\n    delivery_man_coming:\"Delivery Man Coming\",\r\n    delivery_man_arrived:\"Delivery Man Arrived\",\r\n    picked_order:\"Delivery Man Picked Order \",\r\n    started_for_delivery:\"Started For Delivery\",\r\n    arrived_at_destination:\"Delivery Man Arrived at Destination\",\r\n    delivered_ordered:\"Delivered Order\",\r\n    assign_order_to_Delivery_man:\"Order Assign To Delivery Man\",\r\n    rejected:\"Rejected\",\r\n    cancelled:\"Cancelled\",\r\n    no_delivery_man_found:\"No Delivery Man Found\",\r\n    delivery_man_rejected:\"Delivery Man Rejected\",\r\n    delivery_man_cancelled:\"Cancle By Delivery Man\",\r\n    user_cancelled:\"Cancle By User\",\r\n    oredr_complete:\"Order Complete\",\r\n    order_delivered:\"Order Delivered\",\r\n    completed:\"Completed\",\r\n    not_completed:\"Not Completed\",\r\n    cancelled_request:\"Request Cancelled\"\r\n    \r\n   \r\n}\r\n\r\n\r\nexport var message = {\r\n    specification_already_added:\"Specification Already Added\",\r\n    item_already_exist:\"Item Already Exist In this Product\",\r\n    product_already_exist:\"Product Already Exist\"\r\n}\r\n\r\nexport var heading_title = {\r\n\r\n    admin_sms:\"Send SMS\",\r\n    admin_send_notification:\"Send Notification\",\r\n    complete_order: \"Complete Order\",\r\n    product_title:\"Product Data\",\r\n    specification_list:\"Specification list\",\r\n    item_title:\"Item Data\",\r\n    item_setting:\"Item Setting\",\r\n    item_specification:\"Item Specification\",\r\n    add_item_specification:\"Add Item Specification\",\r\n    store_setting_title:\"Franchise Setting\",\r\n    add_store_time:\"Add Franchise Time\",\r\n    store_time:\"Franchise Time\",\r\n    history:\"History\",\r\n    order_list:\"Order List\",\r\n    setting:\"Setting\",\r\n    delivery_list:\"Delivery List\",\r\n    item_images:\"Item Images\",\r\n    total_earning:\"Total Earning\",\r\n    order_earning:\"Order Earning\",\r\n    store_transactions: \"Franchise Transactions\",\r\n    other_earning:\"Other Earning\",\r\n    orders:\"Orders\",\r\n    order_user_detail: 'Order User Detail',\r\n\r\n    you_are_decline:\"You Are Decline\",\r\n    rating:\"Rating\",\r\n\r\n    total_order:\"Total Order\",\r\n    accepted_order:\"Accepted Order\",\r\n    rejected_order:\"Rejected Order\",\r\n    completed_order:\"Completed Order\",\r\n    total_item_sold:\"Total Item Sold\",\r\n    accepted_ratio:\"Accepted Ratio\",\r\n    rejected_ratio:\"Rejected Ratio\",\r\n    completed_ratio:\"Completed Ratio\",\r\n    daily_earning:\"Daily Earning\",\r\n    payment:\"Payment\",\r\n\r\n\r\n    invoice_no:\"Invoice No.\",\r\n    user_detail:\"User Detail\",\r\n    provider_detail:\"Provider Detail\",\r\n    order_detail:\"Order Detail\",\r\n    order_status:\"ORDER STATUS\",\r\n    distance:\"Distance\",\r\n    total_time:\"Total Time\",\r\n    total_items:\"Total Items\",\r\n    delivery_fees:\"DELIVERY FEES\",\r\n    total:\"TOTAL\",\r\n    quantity:\"QUANTITY\",\r\n    price:\"PRICE\",\r\n    cart:\"CART\",\r\n    order_fees:\"ORDER FEES\",\r\n    earning:\"Earning\",\r\n    promo_setting: \"Promo Setting\",\r\n    promo_data: \"Promo Data\"\r\n\r\n\r\n}\r\nexport var lable_title = {\r\n    cash:\"Cash\",\r\n    card:\"Card\",\r\n    absolute:\"Absolute\",\r\n    percentage:\"Percentage\",\r\n    order:\"Order\",\r\n    service:\"Service\",\r\n    active:\"Active\",\r\n    inactive:\"Inactive\",\r\n    expired:\"Expired\",\r\n    not_expired:\"Not Expired\",\r\n    store:\"Franchise\",\r\n    admin:\"Admin\",\r\n    sub_admin:\"Sub Admin\",\r\n    provider:\"Provider\",\r\n    user:\"User\",\r\n    provider_vehicle_type:\"Provider Vehicle\",\r\n    mandatory:\"Mandatory\",\r\n    optional:\"Optional\",\r\n    completed:\"COMPLETED\",\r\n    not_completed:\"NOT COMPLETED\",\r\n    delivery_fees_paid_by_store:\"DELIVERY FEES PAID BY FRANCHISE\",\r\n    asap:\"ASAP\",\r\n\r\n\r\n\r\n    created_at:\"Created At\",\r\n    store_accepted_at:\"Franchise Accepted At\",\r\n    preparing_order_at:\"Preparing Order At\",\r\n    order_ready_at:\"Order Ready At\",\r\n    store_order_send_at:\"Franchise Order Send At\",\r\n    provider_accepted_at:\"Provider Accepted At\",\r\n\r\n    start_for_pickup_at:\"Start for Pickup At\",\r\n    arrived_on_store_at:\"Arrived On Franchise At\",\r\n    picked_order_at:\"Picked Order At\",\r\n    start_for_delivery_at:\"Start For Delivery At\",\r\n    delivered_at:\"Delivered At\",\r\n    completed_at:\"Completed At\",\r\n\r\n\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/store_panel_string.ts","import {Component, OnInit, ViewChild, ViewContainerRef} from '@angular/core';\r\nimport {Helper} from \"../../franchise_helper\";\r\nimport {Http, Response} from '@angular/http';\r\ndeclare var jQuery: any;\r\nimport {ModalComponent} from 'ng2-bs3-modal/ng2-bs3-modal';\r\n@Component({\r\n    selector: 'app-stores',\r\n    template: require('./stores.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class FranchiseStoresComponent implements OnInit {\r\n\r\n    @ViewChild('myModal')\r\n    modal: ModalComponent;\r\n    @ViewChild('mysmsModal')\r\n    sms_modal: ModalComponent;\r\n    @ViewChild('mynotificationModal')\r\n    notification_modal: ModalComponent;\r\n\r\n    store_list: any;\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n\r\n    sort_field: string;\r\n    sort_store: number;\r\n    search_field: string;\r\n    search_value: string;\r\n    page: number;\r\n\r\n    total_page: number;\r\n    total_pages: number[];\r\n\r\n    store_page_type: number;\r\n    store_id: Object;\r\n    type: number;\r\n    wallet: number;\r\n    content: string;\r\n    public message: string = \"\";\r\n    public class: string;\r\n    myLoading: boolean = true;\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n    ngAfterViewInit() {\r\n\r\n        jQuery(\".chosen-select\").chosen({disable_search: true});\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.helper.message()\r\n        this.sort_field = \"unique_id\";\r\n        this.sort_store = -1;\r\n        this.search_field = \"name\";\r\n        this.search_value = \"\";\r\n        this.page = 1;\r\n        if (this.helper.route.snapshot.url[1].path == 'stores') {\r\n            this.store_page_type = 1;\r\n        }\r\n        else if (this.helper.route.snapshot.url[1].path == 'declined_store') {\r\n            this.store_page_type = 2;\r\n        }\r\n        else if (this.helper.route.snapshot.url[1].path == 'business_off_store') {\r\n            this.store_page_type = 3;\r\n        }\r\n        this.store_id = \"\";\r\n        this.filter(this.page);\r\n\r\n        this.type = 2;\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.store_list = [];\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_field').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_field = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_store').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_store = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#search_field').on('change', (evnt, res_data) => {\r\n\r\n            this.search_field = res_data.selected;\r\n\r\n        });\r\n    }\r\n    filter(page) {\r\n        this.page = page;\r\n        var franchise = JSON.parse(localStorage.getItem('franchise'));\r\n\r\n        this.helper.http.post('/admin/store_list_search_sort_franchises', {\r\n            store_ids:franchise.store_ids,sort_field: this.sort_field, sort_store: this.sort_store, store_page_type: this.store_page_type,\r\n            search_field: this.search_field, search_value: this.search_value, page: this.page\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n\r\n                this.store_list = [];\r\n                this.total_pages = [];\r\n            }\r\n            else {\r\n\r\n                this.store_list = res_data.stores;\r\n                this.total_page = res_data.pages;\r\n                this.total_pages = Array(res_data.pages).fill((x, i) => i).map((x, i) => i + 1)\r\n\r\n\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n    open_modal(type, id) {\r\n\r\n        this.store_id = id;\r\n        this.type = type;\r\n        this.modal.open();\r\n        this.wallet = null;\r\n    }\r\n    \r\n    open_sms_modal(type, id) {\r\n\r\n        this.store_id = id;\r\n        this.type = type;\r\n        this.sms_modal.open();\r\n        this.content = \"\";\r\n    }\r\n    SendSms(sms_data) {\r\n        this.helper.http.post('/admin/send_sms', sms_data).map((res: Response) => res.json()).subscribe(res_data => {\r\n            if (res_data.success == true) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.sms_modal.close();\r\n                this.helper.message();\r\n            }\r\n            else {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message();\r\n            }\r\n\r\n        });\r\n    }\r\n\r\n    open_notification_modal(type, id) {\r\n\r\n        this.store_id = id;\r\n        this.type = type;\r\n        this.notification_modal.open();\r\n        this.content = \"\";\r\n    }\r\n    SendNotification(notification_data) {\r\n        this.helper.http.post('/admin/send_notification', notification_data).map((res: Response) => res.json()).subscribe(res_data => {\r\n            if (res_data.success == true) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.notification_modal.close();\r\n                this.helper.message();\r\n            }\r\n            else {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message();\r\n            }\r\n        });\r\n    }\r\n\r\n    approved_decline(store_page_type, store_id) {\r\n\r\n        this.helper.http.post('/api/franchise/approve_decline_business_store', {\r\n            store_id: store_id,\r\n            store_page_type: store_page_type\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            if (res_data.success == false) {\r\n\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n\r\n            }\r\n            else {\r\n\r\n\r\n                if (store_page_type == 1) {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n\r\n\r\n                    this.helper.router.navigate(['franchise/declined_store']);\r\n                }\r\n                else if (store_page_type == 2) {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n\r\n\r\n                    this.helper.router.navigate(['franchise/stores']);\r\n                }\r\n                else if (store_page_type == 3) {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n\r\n\r\n                    this.helper.router.navigate(['franchise/declined_store']);\r\n                }\r\n\r\n            }\r\n        });\r\n    }\r\n\r\n    addStore(id) {\r\n        this.helper.router_id.franchise.store_id = id;\r\n        this.helper.router.navigate(['franchise/add_store']);\r\n    }\r\n    editStore(id) {\r\n        this.helper.router_id.franchise.store_id = id;\r\n        this.helper.router.navigate(['franchise/store/edit']);\r\n\r\n    }\r\n    viewStoreDetail(id) {\r\n        this.helper.router_id.franchise.detail_store_id = id;\r\n        this.helper.router.navigate(['franchise/store/view_detail']);\r\n\r\n    }\r\n    viewHistory(id, type) {\r\n        this.helper.router_id.franchise.history_store_id = id;\r\n        this.helper.router_id.franchise.page_type = type;\r\n        this.helper.router.navigate(['franchise/store/view_history']);\r\n\r\n    }\r\n    viewItems(id) {\r\n        this.helper.router_id.franchise.item_store_id = id;\r\n        this.helper.router.navigate(['franchise/store_item']);\r\n\r\n    }\r\n\r\n    viewDocument(id, type) {\r\n        this.helper.router_id.franchise.store_id = id;\r\n        this.helper.router_id.franchise.document_type = type;\r\n        this.helper.router.navigate(['franchise/store/view_document']);\r\n\r\n    }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/stores/stores.component.ts","import { Component, OnInit, ElementRef, NgZone, ViewChild  } from '@angular/core';\r\n// import { MapsAPILoader } from 'angular2-google-maps/core';\r\nimport {Helper} from \"../../franchise_helper\";\r\nimport {Response } from '@angular/http';\r\n\r\n@Component({\r\n    selector: 'app-track_delivery_man',\r\n    styles: [`\r\n      .sebm-google-map-container {\r\n        height: 600px;\r\n        width:100%;\r\n      }\r\n    `],\r\n    template: require('./track_delivery_man.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class FranchiseStoreTrackDeliveryManComponent implements OnInit {\r\n\r\n\r\n    public latitude: number;\r\n    public longitude: number;\r\n    public zoom: number;\r\n    public franchise_id: Object;\r\n    public order_id: Object;\r\n    public server_token: string;\r\n    public numDeltas : number;\r\n    public delay : number; //milliseconds\r\n    public i : number;\r\n    old_lat_lng: any[];\r\n    new_lat_lng: any[];\r\n    interval:any;\r\n    provider_name : string = '';\r\n    provider_email : string = '';\r\n    provider_phone : string = '';\r\n    icon: string = '';\r\n    title:any;\r\n    message:any;\r\n    heading_title:any;\r\n    button:any;\r\n\r\n    myLoading:boolean = true;\r\n\r\n    constructor( private helper:Helper)\r\n    {\r\n\r\n    }\r\n\r\n    ngOnInit() {\r\n        let token = this.helper.tokenService.getToken();\r\n        //this.setCurrentPosition();\r\n   \r\n        if(!token || !token.token) {\r\n         \r\n            this.helper.router.navigate(['franchise/login']);\r\n        }\r\n        var franchise = JSON.parse(localStorage.getItem('franchise'));\r\n        if(franchise!==null)\r\n        {\r\n            this.franchise_id=franchise._id\r\n            this.server_token=franchise.server_token\r\n        }\r\n        this.order_id = this.helper.router_id.franchise.order_id\r\n        this.zoom = 4;\r\n        this.numDeltas=100;\r\n        this.delay=100;\r\n        this.icon=\"map_pin/destination.png\";\r\n\r\n        this.title=this.helper.title;\r\n        this.message=this.helper.message;\r\n        this.heading_title=this.helper.heading_title\r\n        this.button=this.helper.button\r\n\r\n        if(this.order_id !== \"\")\r\n        {\r\n          this.helper.http.post(this.helper.POST_METHOD.PROVIDER_LOCATION_TRACK,{order_id:this.order_id,franchise_id:this.franchise_id, server_token:this.server_token}).map((res_data: Response) => res_data.json()) .subscribe(res_data => {\r\n            this.myLoading=false;\r\n            if(res_data.success == false)\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.router.navigate(['franchise/deliveries']);\r\n            }\r\n            else\r\n            {\r\n              this.latitude = res_data.provider.location[0];\r\n              this.longitude = res_data.provider.location[1];\r\n              this.zoom = 12;\r\n              this.old_lat_lng=[this.latitude,this.longitude ];\r\n              this.provider_name=res_data.provider.first_name + ' ' +res_data.provider.last_name;\r\n              this.provider_email=res_data.provider.email;\r\n              this.provider_phone=res_data.provider.phone;\r\n              // this.mapsAPILoader.load().then(() => {  });\r\n\r\n              this.provider_location()\r\n            }\r\n          },\r\n          (error: any) => {\r\n            this.myLoading=false;\r\n                  this.helper.http_status(error)\r\n          });\r\n\r\n        }\r\n        else{\r\n          //this.mapsAPILoader.load().then(() => {  });\r\n            this.helper.router.navigate(['franchise/deliveries']);\r\n        }\r\n\r\n    }\r\n    ngOnDestroy() {\r\n        clearInterval(this.interval);\r\n    }\r\n\r\n    provider_location()\r\n        {\r\n          var lat;\r\n          var lng;\r\n          this.interval=setInterval(() => {\r\n\r\n\r\n              this.helper.http.post(this.helper.POST_METHOD.PROVIDER_LOCATION_TRACK,{order_id:this.order_id,franchise_id:this.franchise_id, server_token:this.server_token}).map((res_data: Response) => res_data.json()) .subscribe(res_data => {\r\n\r\n                if(res_data.success == false)\r\n                {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.router.navigate(['franchise/order']);\r\n                }\r\n                else\r\n                {\r\n                      this.i=0;\r\n                      this.new_lat_lng=res_data.provider.location;\r\n                      this.provider_name=res_data.provider.first_name + ' ' +res_data.provider.last_name;\r\n                      this.provider_email=res_data.provider.email;\r\n                      this.provider_phone=res_data.provider.phone;\r\n\r\n                      if(this.new_lat_lng[0] == this.old_lat_lng[0] && this.new_lat_lng[1] == this.old_lat_lng[1])\r\n                      {\r\n                          lat=0;\r\n                          lng=0;\r\n                          this.moveMarker(lat, lng);\r\n                      }\r\n                      else\r\n                      {\r\n                        lat = (this.new_lat_lng[0] - this.old_lat_lng[0])/ this.numDeltas;\r\n                        lng = (this.new_lat_lng[1] - this.old_lat_lng[1])/ this.numDeltas;\r\n                      \r\n                        this.moveMarker(lat, lng);\r\n                      }\r\n                }\r\n              },\r\n              (error: any) => {\r\n                      this.helper.http_status(error)\r\n              });\r\n          },10000);\r\n      }\r\n    setCurrentPosition() {\r\n        if (\"geolocation\" in navigator) {\r\n            navigator.geolocation.getCurrentPosition((position) => {\r\n                this.latitude = position.coords.latitude;\r\n                this.longitude = position.coords.longitude;\r\n                this.zoom = 12;\r\n                this.old_lat_lng=[this.latitude,this.longitude];\r\n            });\r\n        }\r\n    }\r\n    moveMarker(lat, lng){\r\n\r\n        if(this.i!==this.numDeltas){\r\n            this.i++;\r\n\r\n            this.latitude += lat;\r\n            this.longitude += lng;\r\n\r\n            setTimeout(()=> {\r\n                this.moveMarker(lat,lng)\r\n            }, 100);\r\n        }\r\n        else{\r\n          this.old_lat_lng = this.new_lat_lng;\r\n        }\r\n    }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/track_delivery_man/track_delivery_man.component.ts","import { Component, OnInit,ViewContainerRef } from '@angular/core';\r\nimport { Http, Response } from '@angular/http';\r\ndeclare var jQuery:any;\r\nimport {Helper} from \"../../franchise_helper\";\r\n\r\n@Component({\r\n    selector: 'app-view_cart',\r\n    template: require('./view_cart.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class FranchiseStoreViewCartComponent implements OnInit {\r\n\r\n    franchise_id:Object;\r\n    server_token:string;\r\n    order_id:Object;\r\n    order_detail:any[];\r\n    currency_sign:any;\r\n    order_total:number;\r\n    product_item_total:number;\r\n    product_item_total_array:number[];\r\n    product_item_specification_total:number;\r\n    product_item_specification_total_array:number[];\r\n    product_specification_total_array:any[];\r\n    total_item:number;\r\n\r\n    public status:any;\r\n    title:any;\r\n    button:any;\r\n    heading_title:any;\r\n    ORDER_STATE:any;\r\n    ORDER_STATUS_ID:any;\r\n    order_status:number;\r\n    order_status_id:number;\r\n    created_at:any;\r\n    store_accepted_at:any;\r\n    start_preparing_order_at:any;\r\n    order_ready_at:any;\r\n    store_order_created_at:any;\r\n    accepted_at:any;\r\n    cancelled_at:any;\r\n    start_for_pickup_at:any;\r\n    arrived_on_store_at:any;\r\n    picked_order_at:any;\r\n    start_for_delivery_at:any;\r\n    delivered_at:any;\r\n    completed_at:any;\r\n\r\n    invoice_number:string;\r\n    total_order_price:number;\r\n    total_delivery_price:number;\r\n    card_payment:number;\r\n    cash_payment:number;\r\n    is_payment_mode_cash:Boolean = false;\r\n\r\n\r\n    user_name:string = '';\r\n    user_email:string = '';\r\n    provider_name:string = '';\r\n    provider_email:string = '';\r\n    provider_vehicle:string = '';\r\n    myLoading:boolean = true;\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef){\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    activeRoute(routename: string): boolean{\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n\r\n    ngOnInit() {\r\n        let token = this.helper.tokenService.getToken();\r\n\r\n        if(!token || !token.token) {\r\n            this.helper.router.navigate(['franchise/login']);\r\n        }\r\n        this.order_id = this.helper.router_id.franchise.order_id;\r\n        this.order_total=0;\r\n        this.total_item=0;\r\n        this.product_item_total=0;\r\n        this.product_item_total_array=[];\r\n        this.product_item_specification_total=0;\r\n        this.product_item_specification_total_array=[];\r\n        this.product_specification_total_array=[];\r\n\r\n        this.status=this.helper.status;\r\n        this.title=this.helper.title;\r\n        this.heading_title=this.helper.heading_title;\r\n        this.button=this.helper.button;\r\n        this.ORDER_STATE=this.helper.ORDER_STATE;\r\n        this.ORDER_STATUS_ID=this.helper.ORDER_STATUS_ID;\r\n\r\n        this.invoice_number='';\r\n        this.total_order_price=0;\r\n        this.total_delivery_price=0;\r\n        this.card_payment=0;\r\n        this.cash_payment=0;\r\n\r\n        var franchise = JSON.parse(localStorage.getItem('franchise'));\r\n\r\n        if(franchise!==null)\r\n        {\r\n            this.franchise_id= franchise._id;\r\n            this.server_token= franchise.server_token;\r\n        }\r\n\r\n        if(this.order_id !== '')\r\n        {\r\n\r\n            this.helper.http.post(this.helper.POST_METHOD.GET_ORDER_DETAIL,{order_id:this.order_id,franchise_id:franchise._id, server_token:franchise.server_token}).map((res_data: Response) => res_data.json()) .subscribe(res_data => {\r\n                this.myLoading=false;\r\n                if(res_data.success == false)\r\n                {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.router.navigate(['franchise/order']);\r\n                }\r\n                else\r\n                {\r\n\r\n                    this.user_name = res_data.order.user_detail.first_name + ' ' + res_data.order.user_detail.last_name;\r\n                    this.user_email = res_data.order.user_detail.email;\r\n\r\n                    if(res_data.order.provider_detail.length>0)\r\n                    {\r\n                        this.provider_name = res_data.order.provider_detail[0].first_name + ' ' + res_data.order.provider_detail[0].last_name\r\n                        this.provider_email = res_data.order.provider_detail[0].email;\r\n                        this.provider_vehicle = res_data.order.provider_detail[0].email;\r\n                    }\r\n\r\n\r\n                    this.invoice_number=res_data.order.invoice_number;\r\n                    this.total_order_price = res_data.order.order_payment_detail.total_order_price\r\n                    this.total_delivery_price = res_data.order.order_payment_detail.total_delivery_price\r\n\r\n                    this.order_status=res_data.order.order_status\r\n                    this.order_status_id=res_data.order.order_status_id\r\n\r\n                    this.created_at=res_data.order.created_at\r\n                    this.store_accepted_at=res_data.order.store_accepted_at\r\n                    this.start_preparing_order_at=res_data.order.start_preparing_order_at\r\n                    this.order_ready_at=res_data.order.order_ready_at\r\n                    this.store_order_created_at=res_data.order.store_order_created_at\r\n                    this.accepted_at=res_data.order.accepted_at\r\n                    this.cancelled_at=res_data.order.cancelled_at\r\n                    this.start_for_pickup_at=res_data.order.start_for_pickup_at\r\n                    this.arrived_on_store_at=res_data.order.arrived_on_store_at\r\n                    this.picked_order_at=res_data.order.picked_order_at\r\n                    this.start_for_delivery_at=res_data.order.start_for_delivery_at\r\n                    this.delivered_at=res_data.order.delivered_at\r\n                    this.completed_at=res_data.order.completed_at\r\n\r\n                    this.is_payment_mode_cash = res_data.order.order_payment_detail.is_payment_mode_cash;\r\n                    this.card_payment = res_data.order.order_payment_detail.card_payment\r\n                    this.cash_payment = res_data.order.order_payment_detail.cash_payment\r\n\r\n\r\n                    this.order_detail=res_data.order.order_details\r\n                    this.currency_sign=res_data.order.currency\r\n\r\n                    res_data.order.order_details.forEach((product)=>{\r\n                        product.items.forEach((item) =>{\r\n                            this.order_total=this.order_total + (item.item_price + item.total_specification_price)*item.quantity\r\n                            this.product_item_total=this.product_item_total + (item.item_price + item.total_specification_price)*item.quantity\r\n                            this.total_item= this.total_item+1;\r\n                            item.specifications.forEach((specification)=>{\r\n                                this.product_item_specification_total= this.product_item_specification_total + specification.specification_price;\r\n                            })\r\n                            this.product_item_specification_total_array.push(this.product_item_specification_total)\r\n                            this.product_item_specification_total=0;\r\n                        })\r\n                        this.product_specification_total_array.push(this.product_item_specification_total_array)\r\n                        this.product_item_specification_total_array=[];\r\n                        this.product_item_total_array.push(this.product_item_total)\r\n                        this.product_item_total=0;\r\n                    })\r\n                }\r\n            },\r\n            (error: any) => {\r\n                this.myLoading=false;\r\n                    this.helper.http_status(error)\r\n            });\r\n        }\r\n        else\r\n        {\r\n            this.helper.router.navigate(['franchise/order']);\r\n        }\r\n        \r\n    }\r\n    viewInvoice(id)\r\n    {\r\n        this.helper.router_id.franchise.view_order_earning_id = id;\r\n        this.helper.router.navigate(['franchise/order_earning_detail']);\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/view_cart/view_cart.component.ts","import { Component, OnInit,ViewContainerRef } from '@angular/core';\r\nimport { Http, Response } from '@angular/http';\r\ndeclare var jQuery:any;\r\nimport {Helper} from \"../../franchise_helper\";\r\n\r\n@Component({\r\n    selector: 'app-view_order',\r\n    template: require('./view_order.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class FranchiseStoreViewOrderComponent implements OnInit {\r\n\r\n    franchise_id:Object;\r\n    server_token:string;\r\n    order_id:Object;\r\n    order_detail:any[];\r\n    currency_sign:any;\r\n    order_total:number;\r\n    product_item_total:number;\r\n    product_item_total_array:number[];\r\n    product_item_specification_total:number;\r\n    product_item_specification_total_array:number[];\r\n    product_specification_total_array:any[];\r\n    total_item:number;\r\n\r\n    public status:any;\r\n    title:any;\r\n    button:any;\r\n    heading_title:any;\r\n    ORDER_STATE:any;\r\n    ORDER_STATUS_ID:any;\r\n    order_status:number;\r\n    order_status_id:number;\r\n    created_at:any;\r\n    store_accepted_at:any;\r\n    start_preparing_order_at:any;\r\n    order_ready_at:any;\r\n    store_order_created_at:any;\r\n    accepted_at:any;\r\n    cancelled_at:any;\r\n    start_for_pickup_at:any;\r\n    arrived_on_store_at:any;\r\n    picked_order_at:any;\r\n    start_for_delivery_at:any;\r\n    delivered_at:any;\r\n    completed_at:any;\r\n\r\n    invoice_number:string;\r\n    total_order_price:number;\r\n    total_delivery_price:number;\r\n    card_payment:number;\r\n    cash_payment:number;\r\n    is_payment_mode_cash:Boolean = false;\r\n\r\n\r\n    user_name:string = '';\r\n    user_email:string = '';\r\n    order_user_name:string = '';\r\n    order_user_phone:string = '';\r\n    destination_address:string = '';\r\n    provider_name:string = '';\r\n    provider_email:string = '';\r\n    provider_vehicle:string = '';\r\n    myLoading:boolean = true;\r\n    is_user_pick_up_order: Boolean = false;\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef){\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    activeRoute(routename: string): boolean{\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n\r\n    ngOnInit() {\r\n        let token = this.helper.tokenService.getToken();\r\n\r\n        if(!token || !token.token) {\r\n            this.helper.router.navigate(['franchise/login']);\r\n        }\r\n        this.order_id = this.helper.router_id.franchise.order_id;\r\n        this.order_total=0;\r\n        this.total_item=0;\r\n        this.product_item_total=0;\r\n        this.product_item_total_array=[];\r\n        this.product_item_specification_total=0;\r\n        this.product_item_specification_total_array=[];\r\n        this.product_specification_total_array=[];\r\n\r\n        this.status=this.helper.status;\r\n        this.title=this.helper.title;\r\n        this.heading_title=this.helper.heading_title;\r\n        this.button=this.helper.button;\r\n        this.ORDER_STATE=this.helper.ORDER_STATE;\r\n        this.ORDER_STATUS_ID=this.helper.ORDER_STATUS_ID;\r\n\r\n        this.invoice_number='';\r\n        this.total_order_price=0;\r\n        this.total_delivery_price=0;\r\n        this.card_payment=0;\r\n        this.cash_payment=0;\r\n\r\n        var franchise = JSON.parse(localStorage.getItem('franchise'));\r\n\r\n        if(franchise!==null)\r\n        {\r\n            this.franchise_id= franchise._id;\r\n            this.server_token= franchise.server_token;\r\n        }\r\n\r\n        if(this.order_id !== '')\r\n        {\r\n\r\n            this.helper.http.post(this.helper.POST_METHOD.GET_ORDER_DETAIL,{order_id:this.order_id,franchise_id:franchise._id, server_token:franchise.server_token}).map((res_data: Response) => res_data.json()) .subscribe(res_data => {\r\n                this.myLoading=false;\r\n                if(res_data.success == false)\r\n                {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.router.navigate(['franchise/order']);\r\n                }\r\n                else\r\n                {\r\n\r\n                    this.user_name = res_data.order.user_detail.first_name + ' ' + res_data.order.user_detail.last_name;\r\n                    this.user_email = res_data.order.user_detail.email;\r\n                    this.order_user_name = res_data.order.delivery_user_name;\r\n                    this.order_user_phone = res_data.order.delivery_user_phone;\r\n                    this.destination_address = res_data.order.destination_address;\r\n\r\n                    if(res_data.order.provider_detail.length>0)\r\n                    {\r\n                        this.provider_name = res_data.order.provider_detail[0].first_name + ' ' + res_data.order.provider_detail[0].last_name\r\n                        this.provider_email = res_data.order.provider_detail[0].email;\r\n                        this.provider_vehicle = res_data.order.provider_detail[0].email;\r\n                    }\r\n                    \r\n\r\n                    this.invoice_number=res_data.order.invoice_number;\r\n                    this.total_order_price = res_data.order.order_payment_detail.total_order_price\r\n                    this.total_delivery_price = res_data.order.order_payment_detail.total_delivery_price\r\n\r\n                    this.order_status=res_data.order.order_status\r\n                    this.order_status_id=res_data.order.order_status_id\r\n\r\n                    this.created_at=res_data.order.created_at\r\n                    this.store_accepted_at=res_data.order.store_accepted_at\r\n                    this.start_preparing_order_at=res_data.order.start_preparing_order_at\r\n                    this.order_ready_at=res_data.order.order_ready_at\r\n                    this.store_order_created_at=res_data.order.store_order_created_at\r\n                    this.accepted_at=res_data.order.accepted_at\r\n                    this.cancelled_at=res_data.order.cancelled_at\r\n                    this.start_for_pickup_at=res_data.order.start_for_pickup_at\r\n                    this.arrived_on_store_at=res_data.order.arrived_on_store_at\r\n                    this.picked_order_at=res_data.order.picked_order_at\r\n                    this.start_for_delivery_at=res_data.order.start_for_delivery_at\r\n                    this.delivered_at=res_data.order.delivered_at\r\n                    this.completed_at=res_data.order.completed_at\r\n\r\n                    this.is_payment_mode_cash = res_data.order.order_payment_detail.is_payment_mode_cash;\r\n                    this.card_payment = res_data.order.order_payment_detail.card_payment\r\n                    this.cash_payment = res_data.order.order_payment_detail.cash_payment\r\n                    this.is_user_pick_up_order = res_data.order.order_payment_detail.is_user_pick_up_order;\r\n\r\n\r\n                    this.order_detail=res_data.order.order_details\r\n                    this.currency_sign=res_data.order.currency\r\n\r\n                    res_data.order.order_details.forEach((product)=>{\r\n                        product.items.forEach((item) =>{\r\n                            this.order_total=this.order_total + (item.item_price + item.total_specification_price)*item.quantity\r\n                            this.product_item_total=this.product_item_total + (item.item_price + item.total_specification_price)*item.quantity\r\n                            this.total_item= this.total_item+1;\r\n                            item.specifications.forEach((specification)=>{\r\n                                this.product_item_specification_total= this.product_item_specification_total + specification.specification_price;\r\n                            })\r\n                            this.product_item_specification_total_array.push(this.product_item_specification_total)\r\n                            this.product_item_specification_total=0;\r\n                        })\r\n                        this.product_specification_total_array.push(this.product_item_specification_total_array)\r\n                        this.product_item_specification_total_array=[];\r\n                        this.product_item_total_array.push(this.product_item_total)\r\n                        this.product_item_total=0;\r\n                    })\r\n                }\r\n            },\r\n            (error: any) => {\r\n                this.myLoading=false;\r\n                    this.helper.http_status(error)\r\n            });\r\n        }\r\n        else\r\n        {\r\n            this.helper.router.navigate(['franchise/order']);\r\n        }\r\n        \r\n    }\r\n    viewInvoice(id)\r\n    {\r\n        this.helper.router_id.franchise.view_order_earning_id = id;\r\n        this.helper.router.navigate(['franchise/order_earning_detail']);\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/view_order/view_order.component.ts","import {Component, OnInit} from '@angular/core';\r\nimport {Http, Response} from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport {title, button, heading_title} from '../store_panel_string';\r\nimport {Helper} from \"../../franchise_helper\";\r\nimport {Router_id} from \"../../routing_hidden_id\";\r\n\r\n@Component({\r\n    selector: 'app-view_store_detail',\r\n    template: require('./view_store_detail.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class ViewFranchiseStoreDetailComponent implements OnInit {\r\n\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    store_id: Object;\r\n    store_detail: any[];\r\n    email: String;\r\n    name: String;\r\n   \r\n\r\n    country_name: String;\r\n    city_name: String;\r\n    zipcode: String;\r\n    sort_bio: String;\r\n    address: String;\r\n    country_phone_code: String;\r\n    phone: String;\r\n    image_url: String;\r\n\r\n    app_version: String;\r\n    referral_code: String;\r\n    rate: Number;\r\n    comments: String;\r\n    \r\n    \r\n\r\n    //fax_number: String;\r\n    price_rating: Number;\r\n    item_tax: Number;\r\n    delivery_name: String;\r\n    website_url: String;\r\n    slogan: String;\r\n    currency: String;\r\n    wallet: Number;\r\n    device_type: String;\r\n    wallet_currency_code: String;\r\n    \r\n    created_at: any;\r\n    updated_at: any;\r\n\r\n    constructor(public helper: Helper, public router_id: Router_id) {\r\n    }\r\n\r\n    ngOnInit() {\r\n\r\n        this.store_id = this.router_id.franchise.detail_store_id;\r\n\r\n\r\n        this.helper.http.post('/admin/get_store_data', {store_id: this.store_id}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n            console.log(res_data);\r\n\r\n            if (res_data.success == false) {\r\n\r\n                this.helper.router.navigate(['franchise/stores']);\r\n\r\n            }\r\n            else {\r\n                console.log(res_data.store_detail);\r\n\r\n                this.email = res_data.store_detail.email\r\n               \r\n                this.name = res_data.store_detail.name\r\n                this.image_url = res_data.store_detail.image_url\r\n                this.country_name = res_data.store_detail.country_details.country_name\r\n                this.city_name = res_data.store_detail.city_details.city_name\r\n                this.address = res_data.store_detail.address\r\n                this.phone = res_data.store_detail.phone\r\n                this.zipcode = res_data.store_detail.zipcode\r\n                this.sort_bio = res_data.store_detail.sort_bio\r\n                this.country_phone_code = res_data.store_detail.country_phone_code\r\n                this.app_version = res_data.store_detail.app_version\r\n                this.rate = res_data.store_detail.rate\r\n                this.referral_code = res_data.store_detail.referral_code\r\n                this.device_type = res_data.store_detail.device_type\r\n                this.comments = res_data.store_detail.comments\r\n                this.created_at = res_data.store_detail.created_at\r\n                this.updated_at = res_data.store_detail.updated_at\r\n\r\n\r\n\r\n               // this.fax_number = res_data.store_detail.fax_number\r\n                this.price_rating = res_data.store_detail.price_rating\r\n                this.item_tax = res_data.store_detail.item_tax\r\n\r\n                this.delivery_name = res_data.store_detail.delivery_details.delivery_name\r\n                this.website_url = res_data.store_detail.website_url\r\n                this.slogan = res_data.store_detail.slogan\r\n\r\n                this.currency = res_data.store_detail.currency\r\n                this.wallet = res_data.store_detail.wallet\r\n                this.wallet_currency_code = res_data.store_detail.wallet_currency_code\r\n            }\r\n\r\n        });\r\n        this.title = title\r\n        this.button = button\r\n        this.heading_title = heading_title\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/view_store_detail/view_store_detail.component.ts","import {Injectable} from \"@angular/core\";\r\nimport { Router, ActivatedRoute,  NavigationExtras} from '@angular/router';\r\nimport {CONSTANT} from './../constant';\r\n\r\n@Injectable() \r\nexport class InterceptorService {  \r\n\r\n\tconstructor(public router: Router){\r\n\r\n\t}\r\n\r\n\tpublic CONSTANT : any = CONSTANT;\r\n} \n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/interceptor.service.ts","import {Component, OnInit} from '@angular/core';\r\nimport {Response} from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport {Helper} from \"../../store_helper\";\r\ndeclare var jQuery: any;\r\n\r\n\r\n\r\nexport interface AddPromocode {\r\n\r\n    store_id: Object,\r\n    server_token: string,\r\n\r\n    is_promo_have_date: Boolean,\r\n    promo_start_date: any,\r\n    promo_expire_date: any,\r\n    promo_start_time: any,\r\n    promo_end_time: any,\r\n    promo_recursion_type: Number,\r\n    months: any[],\r\n    weeks: any[],\r\n    days: any[],\r\n    is_promo_multiple_use: Boolean,\r\n\r\n    is_active: Boolean,\r\n\r\n    promo_details: String,\r\n    promo_code_name: String,\r\n    promo_code_value: Number,\r\n    promo_code_type: Number,\r\n    promo_for: Number,\r\n    promo_apply_on: Object[],\r\n\r\n    is_promo_have_minimum_amount_limit: Boolean,\r\n    promo_code_apply_on_minimum_amount: Number,\r\n    is_promo_have_max_discount_limit: Boolean,\r\n    promo_code_max_discount_amount: Number,\r\n    is_promo_have_item_count_limit: Boolean,\r\n    promo_code_apply_on_minimum_item_count: Number,\r\n\r\n    is_promo_required_uses: Boolean,\r\n    promo_code_uses: Number,\r\n\r\n    is_promo_apply_on_completed_order: Boolean,\r\n    promo_apply_after_completed_order: Number\r\n}\r\n\r\n\r\n@Component({\r\n    selector: 'app-add_promo_code',\r\n    template: require('./add_promo_code.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class StoreAddPromoCodeComponent implements OnInit {\r\n    private add_promo_code: AddPromocode;\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    lable_title: any;\r\n    validation_message: any;\r\n    promo_start_date: any;\r\n    promo_expire_date: any;\r\n    type: String;\r\n    promo_id: Object;\r\n    promo_exist: any;\r\n    product_list: any[] = [];\r\n    item_list: any[] = [];\r\n    error: any;\r\n    myLoading: boolean = true;\r\n    constructor(private helper: Helper) {\r\n\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n\r\n        jQuery(\"#promo_code_type\").chosen({disable_search: true});\r\n        jQuery(\"#promo_for\").chosen({disable_search: true});\r\n        jQuery(\"#promo_recursion_type\").chosen({disable_search: true});\r\n\r\n    }\r\n    ngOnDestroy() {\r\n        this.helper.router_id.store.store_promo_id = \"\";\r\n    }\r\n\r\n    ngOnInit() {\r\n\r\n        this.add_promo_code = {\r\n            store_id: null,\r\n            server_token: '',\r\n            promo_start_date: null,\r\n            promo_expire_date: null,\r\n            promo_end_time: '',\r\n            promo_start_time: '',\r\n            promo_details: \"\",\r\n            promo_code_name: \"\",\r\n            promo_code_value: null,\r\n            promo_code_type: 1,\r\n            promo_code_uses: null,\r\n            promo_apply_on: [],\r\n            promo_for: 2,\r\n            promo_code_apply_on_minimum_amount: null,\r\n            promo_code_max_discount_amount: null,\r\n            is_active: true,\r\n            is_promo_have_date: true,\r\n            is_promo_multiple_use: false,\r\n            is_promo_required_uses: true,\r\n            is_promo_have_minimum_amount_limit: true,\r\n            is_promo_have_max_discount_limit: true,\r\n            promo_apply_after_completed_order: null,\r\n            is_promo_apply_on_completed_order: false,\r\n            is_promo_have_item_count_limit: false,\r\n            promo_code_apply_on_minimum_item_count: null,\r\n            promo_recursion_type: 0,\r\n            days: [],\r\n            months: [],\r\n            weeks: []\r\n        }\r\n        this.promo_id = this.helper.router_id.store.store_promo_id;\r\n        let token = this.helper.tokenService.getToken();\r\n\r\n        if(!token || !token.token) {\r\n            this.helper.router.navigate(['store/login']);\r\n        }\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#promo_code_type').on('change', (evnt, res_data) => {\r\n\r\n            this.add_promo_code.promo_code_type = res_data.selected;\r\n\r\n\r\n        });\r\n        setTimeout( () => {\r\n            jQuery(\"#promo_code_type\").trigger(\"chosen:updated\");\r\n            jQuery(\"#promo_for\").trigger(\"chosen:updated\");\r\n            jQuery(\"#months\").trigger(\"chosen:updated\");\r\n            jQuery(\"#weeks\").trigger(\"chosen:updated\");\r\n            jQuery(\"#days\").trigger(\"chosen:updated\");\r\n            jQuery(\"#promo_recursion_type\").trigger(\"chosen:updated\");\r\n        },100);\r\n        jQuery(this.helper.elementRef.nativeElement).find('#promo_recursion_type').on('change', (evnt, res_data) => {\r\n\r\n            this.add_promo_code.promo_recursion_type = res_data.selected;\r\n            jQuery(\"#promo_code_type\").chosen();\r\n\r\n            setTimeout( () => {\r\n                jQuery('#months').chosen();\r\n                jQuery('#weeks').chosen();\r\n                jQuery('#days').chosen();\r\n            },100);\r\n            jQuery('.clock-picker').clockpicker({\r\n                'default': 'now',\r\n                'align': 'right'\r\n            });\r\n            jQuery('#promo_start_time').on('change', (event) => {\r\n                this.add_promo_code.promo_start_time = event.target.value;\r\n            });\r\n            jQuery('#promo_end_time').on('change', (event) => {\r\n                this.add_promo_code.promo_end_time = event.target.value;\r\n            });\r\n\r\n        });\r\n\r\n\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#promo_for').on('change', (evnt, res_data) => {\r\n\r\n            this.add_promo_code.promo_for = res_data.selected;\r\n            this.add_promo_code.promo_apply_on = [];\r\n\r\n            if(res_data.selected == this.helper.PROMO_FOR_ID.STORE){\r\n                this.add_promo_code.promo_apply_on = [this.add_promo_code.store_id];\r\n            } else if(res_data.selected == this.helper.PROMO_FOR_ID.PRODUCT){\r\n                setTimeout( () => {\r\n                    jQuery('.icheckproduct').iCheck({\r\n                        handle: 'checkbox',\r\n                        checkboxClass: 'icheckbox_square-green',\r\n                    });\r\n                    jQuery(this.helper.elementRef.nativeElement).find('.icheckproduct').on('ifChecked', (event, res_data) => {\r\n                        let id = event.target.getAttribute('value');\r\n                        this.add_promo_code.promo_apply_on.push(id);\r\n                    });\r\n                    jQuery(this.helper.elementRef.nativeElement).find('.icheckproduct').on('ifUnchecked', (event, res_data) => {\r\n                        let id = event.target.getAttribute('value');\r\n                        let index = this.add_promo_code.promo_apply_on.indexOf(id);\r\n                        if(index !== -1){\r\n                            this.add_promo_code.promo_apply_on.splice(index, 1)\r\n                        }\r\n                    });\r\n                }, 100);\r\n            } else if(res_data.selected == this.helper.PROMO_FOR_ID.ITEM) {\r\n                setTimeout( () => {\r\n                    jQuery('.icheckitem').iCheck({\r\n                        handle: 'checkbox',\r\n                        checkboxClass: 'icheckbox_square-green',\r\n                    });\r\n                    jQuery(this.helper.elementRef.nativeElement).find('.icheckitem').on('ifChecked', (event, res_data) => {\r\n                        let id = event.target.getAttribute('value');\r\n                        this.add_promo_code.promo_apply_on.push(id);\r\n                    });\r\n                    jQuery(this.helper.elementRef.nativeElement).find('.icheckitem').on('ifUnchecked', (event, res_data) => {\r\n                        let id = event.target.getAttribute('value');\r\n                        let index = this.add_promo_code.promo_apply_on.indexOf(id);\r\n                        if(index !== -1){\r\n                            this.add_promo_code.promo_apply_on.splice(index, 1)\r\n                        }\r\n                    });\r\n                }, 100);\r\n            }\r\n\r\n        });\r\n\r\n        let store = JSON.parse(localStorage.getItem('store'));\r\n        if(store!==null) {\r\n            this.add_promo_code.store_id = store._id\r\n            this.add_promo_code.server_token = store.server_token\r\n            this.get_item_list();\r\n            this.get_product_list();\r\n        }\r\n\r\n\r\n        if (this.promo_id == '') {\r\n            jQuery('.edit').hide();\r\n            jQuery('#promo_recursion_type_edit').hide();\r\n            this.add_promo_code.promo_apply_on = [this.add_promo_code.store_id];\r\n        }\r\n        else {\r\n            this.helper.http.post('/admin/get_promo_detail', {promo_id: this.promo_id}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n                if (res_data.success == false) {\r\n                    this.helper.router.navigate(['admin/promotions']);\r\n                }\r\n                else {\r\n                    jQuery('#promo_for_chosen').hide();\r\n\r\n                    // this.add_promo_code.promo_code_name = res_data.promo_code.promo_code_name;\r\n                    // this.add_promo_code.promo_details = res_data.promo_code.promo_details;\r\n                    // this.add_promo_code.is_active = res_data.promo_code.is_active;\r\n                    // this.add_promo_code.is_promo_have_date = res_data.promo_code.is_promo_have_date;\r\n                    // this.add_promo_code.is_promo_have_minimum_amount_limit = res_data.promo_code.is_promo_have_minimum_amount_limit;\r\n                    // this.add_promo_code.is_promo_have_max_discount_limit = res_data.promo_code.is_promo_have_max_discount_limit;\r\n                    // this.add_promo_code.promo_code_type = res_data.promo_code.promo_code_type;\r\n                    // this.add_promo_code.promo_code_value = res_data.promo_code.promo_code_value;\r\n                    // this.add_promo_code.promo_code_uses = res_data.promo_code.promo_code_uses;\r\n                    // this.add_promo_code.promo_code_apply_on_minimum_amount = res_data.promo_code.promo_code_apply_on_minimum_amount;\r\n                    // this.add_promo_code.promo_code_max_discount_amount = res_data.promo_code.promo_code_max_discount_amount;\r\n                    // this.add_promo_code.promo_apply_on = res_data.promo_code.promo_apply_on;\r\n                    // this.add_promo_code.is_promo_required_uses = res_data.promo_code.is_promo_required_uses;\r\n                    // this.add_promo_code.promo_for = res_data.promo_code.promo_for;\r\n                    this.add_promo_code = res_data.promo_code;\r\n                    let store = JSON.parse(localStorage.getItem('store'));\r\n                    if(store!==null) {\r\n                        this.add_promo_code.store_id = store._id\r\n                        this.add_promo_code.server_token = store.server_token\r\n                    }\r\n\r\n                    if(!this.add_promo_code.is_promo_have_date){\r\n                        jQuery(\".btnpicker\").prop('disabled', true);\r\n                    }\r\n\r\n                    setTimeout( () => {\r\n                        jQuery(\"#promo_code_type\").trigger(\"chosen:updated\");\r\n                        jQuery(\"#promo_for\").trigger(\"chosen:updated\");\r\n                    },100);\r\n\r\n                    if (res_data.promo_code.promo_start_date != null) {\r\n                        var date = new Date(res_data.promo_code.promo_start_date);\r\n                        this.add_promo_code.promo_start_date = {date: {year: date.getFullYear(), month: date.getMonth() + 1, day: date.getDate()}, formatted: date.getMonth() + 1 + '-' + date.getDate() + '-' + date.getFullYear()};\r\n\r\n                    }\r\n                    if (res_data.promo_code.promo_expire_date != null) {\r\n                        var date = new Date(res_data.promo_code.promo_expire_date);\r\n                        this.add_promo_code.promo_expire_date = {date: {year: date.getFullYear(), month: date.getMonth() + 1, day: date.getDate()}, formatted: date.getMonth() + 1 + '-' + date.getDate() + '-' + date.getFullYear()};\r\n\r\n                    }\r\n                    res_data.promo_code.promo_apply_on.forEach ((promo_apply_on_data) => {\r\n\r\n                        if(res_data.promo_code.promo_for == this.helper.PROMO_FOR_ID.PRODUCT){\r\n                            setTimeout(() => {\r\n                                jQuery('.icheckproduct').iCheck({\r\n                                    handle: 'checkbox',\r\n                                    checkboxClass: 'icheckbox_square-green',\r\n                                });\r\n                                jQuery('#icheckproduct' + promo_apply_on_data).iCheck('check');\r\n\r\n                                jQuery(this.helper.elementRef.nativeElement).find('.icheckproduct').on('ifChecked', (event, res_data) => {\r\n                                    let id = event.target.getAttribute('value');\r\n                                    this.add_promo_code.promo_apply_on.push(id);\r\n                                });\r\n                                jQuery(this.helper.elementRef.nativeElement).find('.icheckproduct').on('ifUnchecked', (event, res_data) => {\r\n                                    let id = event.target.getAttribute('value');\r\n                                    let index = this.add_promo_code.promo_apply_on.indexOf(id);\r\n                                    if(index !== -1){\r\n                                        this.add_promo_code.promo_apply_on.splice(index, 1)\r\n                                    }\r\n                                });\r\n                            }, 100);\r\n                        } else if(res_data.promo_code.promo_for == this.helper.PROMO_FOR_ID.ITEM){\r\n                            setTimeout(() => {\r\n                                jQuery('.icheckitem').iCheck({\r\n                                    handle: 'checkbox',\r\n                                    checkboxClass: 'icheckbox_square-green',\r\n                                });\r\n                                jQuery('#icheckitem' + promo_apply_on_data).iCheck('check');\r\n\r\n                                jQuery(this.helper.elementRef.nativeElement).find('.icheckitem').on('ifChecked', (event, res_data) => {\r\n                                    let id = event.target.getAttribute('value');\r\n                                    this.add_promo_code.promo_apply_on.push(id);\r\n                                });\r\n                                jQuery(this.helper.elementRef.nativeElement).find('.icheckitem').on('ifUnchecked', (event, res_data) => {\r\n                                    let id = event.target.getAttribute('value');\r\n                                    let index = this.add_promo_code.promo_apply_on.indexOf(id);\r\n                                    if(index !== -1){\r\n                                        this.add_promo_code.promo_apply_on.splice(index, 1)\r\n                                    }\r\n                                });\r\n                            }, 100);\r\n                        }\r\n\r\n                    });\r\n\r\n                    setTimeout( () => {\r\n                        jQuery('#months').chosen();\r\n                        jQuery('#weeks').chosen();\r\n                        jQuery('#days').chosen();\r\n                        jQuery(\"#promo_recursion_type\").trigger(\"chosen:updated\");\r\n                    },100);\r\n                    jQuery('.clock-picker').clockpicker({\r\n                        'default': 'now',\r\n                        'align': 'right'\r\n                    });\r\n                    jQuery('#promo_start_time').on('change', (event) => {\r\n                        this.add_promo_code.promo_start_time = event.target.value;\r\n                    });\r\n                    jQuery('#promo_end_time').on('change', (event) => {\r\n                        this.add_promo_code.promo_end_time = event.target.value;\r\n                    });\r\n\r\n                }\r\n            });\r\n\r\n        }\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.lable_title = this.helper.lable_title;\r\n        this.validation_message = this.helper.validation_message;\r\n    }\r\n\r\n    change_switch(){\r\n        setTimeout( () => {\r\n            jQuery('#months').chosen();\r\n            jQuery('#weeks').chosen();\r\n            jQuery('#days').chosen();\r\n            jQuery(\"#promo_recursion_type\").trigger(\"chosen:updated\");\r\n        },100);\r\n        jQuery('.clock-picker').clockpicker({\r\n            'default': 'now',\r\n            'align': 'right'\r\n        });\r\n    }\r\n\r\n    change_expory_date(event){\r\n        if(event){\r\n            jQuery(\".btnpicker\").prop('disabled', false);\r\n\r\n        } else {\r\n            jQuery(\".btnpicker\").prop('disabled', true);\r\n        }\r\n    }\r\n\r\n    get_item_list(){\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_STORE_PRODUCT_ITEM_LIST, {\r\n            store_id: this.add_promo_code.store_id,\r\n            server_token: this.add_promo_code.server_token\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.item_list = res_data.products;\r\n        });\r\n    }\r\n\r\n    get_product_list() {\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_PRODUCT_LIST, {\r\n            store_id: this.add_promo_code.store_id,\r\n            server_token: this.add_promo_code.server_token\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.product_list = res_data.products;\r\n        });\r\n    }\r\n\r\n    AddPromocode(promo_code_data) {\r\n\r\n        this.add_promo_code.days = [];\r\n        this.add_promo_code.months = [];\r\n        this.add_promo_code.weeks = [];\r\n\r\n        if(this.add_promo_code.is_promo_have_date && this.add_promo_code.promo_recursion_type >=2){\r\n            var days = jQuery('#days').val();\r\n            days.forEach((day) => {\r\n                day = day.split(': ')\r\n                var result = day[1].substring(1, day[1].length-1);\r\n                this.add_promo_code.days.push(result);\r\n            });\r\n        }\r\n\r\n        if(this.add_promo_code.is_promo_have_date && this.add_promo_code.promo_recursion_type >=4) {\r\n            var months = jQuery('#months').val();\r\n            months.forEach((month) => {\r\n                month = month.split(': ')\r\n                var result = month[1].substring(1, month[1].length-1);\r\n                this.add_promo_code.months.push(result);\r\n            });\r\n        }\r\n\r\n        if(this.add_promo_code.is_promo_have_date && this.add_promo_code.promo_recursion_type >=3) {\r\n            var weeks = jQuery('#weeks').val();\r\n            weeks.forEach((week) => {\r\n                week = week.split(': ')\r\n                var result = week[1].substring(1, week[1].length-1);\r\n                this.add_promo_code.weeks.push(result);\r\n            });\r\n        }\r\n\r\n        if (this.promo_id == '') {\r\n            this.myLoading = true;\r\n            if (promo_code_data.promo_expire_date != null) {\r\n                this.add_promo_code.promo_expire_date = promo_code_data.promo_expire_date.formatted;\r\n            }\r\n            if (promo_code_data.promo_start_date != null) {\r\n                this.add_promo_code.promo_start_date = promo_code_data.promo_start_date.formatted;\r\n            }\r\n            this.helper.http.post('/api/store/add_promo', this.add_promo_code).map((res: Response) => res.json()).subscribe(res_data => {\r\n                    this.myLoading = false;\r\n                    if (res_data.success == true) {\r\n                        this.helper.data.storage = {\r\n                            \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                            \"class\": \"alert-info\"\r\n                        }\r\n                    }\r\n                    else {\r\n                        this.helper.data.storage = {\r\n                            \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                            \"class\": \"alert-danger\"\r\n                        }\r\n                    }\r\n                    this.helper.router.navigate(['store/promocode']);\r\n\r\n                },\r\n                (error: any) => {\r\n                    this.myLoading = false;\r\n                    this.helper.http_status(error)\r\n                });\r\n        } else {\r\n\r\n            this.updatePromo(promo_code_data)\r\n        }\r\n\r\n    }\r\n    updatePromo(promo_code_data) {\r\n        this.myLoading = true;\r\n        if (promo_code_data.promo_expire_date != null) {\r\n            promo_code_data.promo_expire_date = promo_code_data.promo_expire_date.formatted;\r\n        }\r\n        if (promo_code_data.promo_start_date != null) {\r\n            promo_code_data.promo_start_date = promo_code_data.promo_start_date.formatted;\r\n        }\r\n        promo_code_data.days =  this.add_promo_code.days;\r\n        promo_code_data.months =  this.add_promo_code.months;\r\n        promo_code_data.weeks =  this.add_promo_code.weeks;\r\n\r\n        this.helper.http.post('/api/store/update_promo_code', promo_code_data).map((res: Response) => res.json()).subscribe(res_data => {\r\n                this.myLoading = false;\r\n\r\n                if (res_data.success) {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n                }\r\n                else {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n\r\n                }\r\n                this.helper.router.navigate(['store/promocode']);\r\n            },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n\r\n\r\n    check_promo_code(promo_code) {\r\n        this.helper.http.post('/api/store/check_promo_code', {store_id: this.add_promo_code.store_id, server_token: this.add_promo_code.server_token , promo_code_name: promo_code.trim()}).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            if (res_data.success == false) {\r\n                jQuery('#submit').attr('disabled', true);\r\n                this.promo_exist = \"Promo Code Already Exist\"\r\n            }\r\n            else {\r\n                jQuery('#submit').attr('disabled', false);\r\n                this.promo_exist = \"\"\r\n            }\r\n        });\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/add_promo_code/add_promo_code.component.ts","import {Injectable} from '@angular/core';\r\nimport { UUID } from 'angular2-uuid';\r\n\r\n@Injectable()\r\nexport class StoreCart {\r\n    user: any = JSON.parse(localStorage.getItem('user'));\r\n    delivery_note: string = '';\r\n    user_profile_image_url: string = '';\r\n    is_schedule_order: Boolean = false;\r\n    schedule_date: any = null;\r\n    server_date: any = null;\r\n    timezone: string = '';\r\n    currency: string = '';\r\n    public destination_address: any;\r\n    public pickup_address: any;\r\n\r\n    total_cart_price_without_item: number = 0;\r\n    name: string = '';\r\n    image: string = '';\r\n\r\n    public cart_data : any;\r\n    public total_cart_amount: number = 0;\r\n    public order_payment_id: Object = null;\r\n\r\n    public cart_unique_token : string = '';\r\n    public constructor() {\r\n\r\n        if(this.user && this.user._id){\r\n            this.user_profile_image_url = this.user.image_url;\r\n        }\r\n\r\n        this.cart_data = {\r\n            cart_id: null,\r\n            city_id: null,\r\n            destination_addresses: [],\r\n            pickup_addresses: [],\r\n            cart: [],\r\n            selectedStoreId: null,\r\n            max_item_quantity_add_by_user: 0,\r\n            total_item: 0\r\n        }\r\n        this.cart_unique_token = UUID.UUID();\r\n\r\n        this.destination_address = {\r\n            \"delivery_status\":0,\r\n            \"address_type\":\"destination\",\r\n            \"address\":\"\",\r\n            \"city\":\"\",\r\n            \"floor\":\"\",\r\n            \"entry_code\":\"\",\r\n            \"location\":[],\r\n            \"note\":\"\",\r\n            \"user_type\":0,\r\n            \"user_details\":{\r\n                \"name\":\"\",\r\n                \"country_phone_code\":\"\",\r\n                \"phone\":\"\",\r\n                \"email\":\"\"\r\n            }\r\n        }\r\n\r\n        this.pickup_address = {\r\n            \"delivery_status\":0,\r\n            \"address_type\":\"pickup\",\r\n            \"address\":\"\",\r\n            \"city\":\"\",\r\n            \"location\":[],\r\n            \"note\":\"\",\r\n            \"user_type\":1,\r\n            \"user_details\":{\r\n                \"name\":\"\",\r\n                \"country_phone_code\":\"\",\r\n                \"phone\":\"\",\r\n                \"email\":\"\"\r\n            }\r\n        }\r\n\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/cart.ts","import { Component, NgZone,  OnInit, ViewContainerRef, ViewChild } from '@angular/core';\r\nimport {Response } from '@angular/http';\r\nimport {Helper} from \"../../store_helper\";\r\ndeclare var jQuery:any;\r\nimport { ModalComponent } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport {Location} from '@angular/common';\r\nimport {UUID} from 'angular2-uuid';\r\n\r\nexport interface OrderPayment{\r\n    _id: Object\r\n    // base_price_distance: number,\r\n    // base_price: number,\r\n    // distance_price: number,\r\n    // total_time_price: number,\r\n    promo_payment: number,\r\n    total_distance_price: number,\r\n    service_tax : number,\r\n    total_admin_tax_price: number,\r\n    total_cart_price: number,\r\n    // surge_charges: number,\r\n    // total_surge_price: number,\r\n    total_service_price: number,\r\n    total_store_tax_price: number,\r\n    total_item_count: number,\r\n    total_item_price: number,\r\n    total_specification_count: number,\r\n    item_tax: number,\r\n    total_specification_price: number,\r\n    total_order_price: number,\r\n    total: number,\r\n    is_distance_unit_mile: Boolean,\r\n    price_per_unit_time: number,\r\n    price_per_unit_distance: number,\r\n    delivery_price: number,\r\n\r\n}\r\n\r\nexport interface UserDetail{\r\n    user_id: string,\r\n    server_token: string,\r\n    email: string,\r\n    first_name: string,\r\n    last_name: string,\r\n    country_id: Object,\r\n    phone: number\r\n}\r\n\r\n@Component({\r\n    selector: 'app-checkout-order',\r\n    template: require('./checkout_order.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class StoreCheckoutOrderComponent implements OnInit {\r\n\r\n    @ViewChild('orderAmountInvalid')\r\n    order_amount_invalid: ModalComponent;\r\n    @ViewChild('user_data_modal')\r\n    user_data_modal: ModalComponent;\r\n\r\n    mimimum_amount: number = 0;\r\n    title:any;\r\n    button:any;\r\n    heading_title:any;\r\n    validation_message:any;\r\n\r\n    private cart_unique_token: string = '';\r\n    private user_data: UserDetail = {\r\n        user_id: '',\r\n        server_token: '',\r\n        country_id: null,\r\n        email: '',\r\n        first_name: '',\r\n        last_name: '',\r\n        phone: null\r\n    }\r\n    store_id: Object;\r\n    private server_token: string = '';\r\n    private cart_data : any = {};\r\n    private store_location : any[];\r\n    private delivery_location : any[];\r\n    private delivery_address : string = '';\r\n    map: any;\r\n    public delivery_currency : string = '';\r\n    delivery_note: string = '';\r\n    // promocode: string = '';\r\n    // promo_applied: Boolean = false;\r\n\r\n    edit_address: Boolean = true;\r\n    myLoading: Boolean = false;\r\n\r\n    public order_payment : OrderPayment;\r\n    public directionsDisplay = new google.maps.DirectionsRenderer;\r\n\r\n    is_schedule_order: Boolean = false;\r\n    schedule_date: any = '';\r\n    schedule_time: string = '';\r\n    schedule_time_error: Boolean = false;\r\n    store_open_day: string = '';\r\n    ipickup_delivery: Boolean = false;\r\n    google_distance: any;\r\n    google_time: any;\r\n    bool: Boolean = true;\r\n\r\n    minimum_phone_number_length:number = 8;\r\n    maximum_phone_number_length:number = 10;\r\n    constructor(private helper:Helper, private location: Location, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    ngAfterViewInit(){\r\n        jQuery('.clock-picker').clockpicker({\r\n            'default': 'now',\r\n            'align': 'right'\r\n        });\r\n        jQuery('.icheck').iCheck({\r\n            handle: 'checkbox',\r\n            checkboxClass: 'icheckbox_square-green',\r\n        });\r\n    }\r\n\r\n    ngOnInit() {\r\n        var store = JSON.parse(localStorage.getItem('store'));\r\n        if(store!==null)\r\n        {\r\n            this.store_id=store._id\r\n            this.server_token=store.server_token\r\n            this.user_data.country_id = store.country_id\r\n        }\r\n\r\n        jQuery(document).ready(function() {\r\n            jQuery(window).keydown(function(event){\r\n                if(event.keyCode == 13) {\r\n                    event.preventDefault();\r\n                    return false;\r\n                }\r\n            });\r\n        });\r\n        this.store_location = store.location;\r\n        this.delivery_currency = this.helper.user_cart.currency;\r\n\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.heading_title=this.helper.heading_title\r\n        this.validation_message=this.helper.validation_message;\r\n\r\n        this.delivery_note = this.helper.user_cart.delivery_note;\r\n        this.helper.message();\r\n        this.cart_unique_token = this.helper.user_cart.cart_unique_token;\r\n        this.cart_data = this.helper.user_cart.cart_data;\r\n        // this.user_data_modal.open();\r\n\r\n        this.order_payment = {\r\n            _id: null,\r\n            // base_price_distance : 0,\r\n            // base_price: 0,\r\n            // distance_price: 0,\r\n            // total_time_price:0,\r\n            promo_payment: 0,\r\n            total_distance_price: 0,\r\n            service_tax : 0,\r\n            total_cart_price: 0,\r\n            total_admin_tax_price: 0,\r\n            // surge_charges: 0,\r\n            // total_surge_price: 0,\r\n            total_service_price: 0,\r\n            total_store_tax_price: 0,\r\n            total_item_count: 0,\r\n            total_item_price: 0,\r\n            total_specification_count: 0,\r\n            item_tax: 0,\r\n            total_specification_price: 0,\r\n            total_order_price: 0,\r\n            total: 0,\r\n            is_distance_unit_mile: false,\r\n            price_per_unit_time: 0,\r\n            price_per_unit_distance: 0,\r\n            delivery_price: 0,\r\n\r\n\r\n        };\r\n\r\n        if(this.cart_data.cart.length > 0){\r\n\r\n            this.helper.http.post(this.helper.POST_METHOD.GET_COUNTRY_PHONE_NUMBER_LENGTH, {country_id: this.user_data.country_id}).map((response: Response) => response.json()).subscribe(res_data => {\r\n\r\n                if(res_data.success){\r\n                    this.minimum_phone_number_length = res_data.minimum_phone_number_length;\r\n                    this.maximum_phone_number_length = res_data.maximum_phone_number_length;\r\n                }\r\n            });\r\n\r\n            this.delivery_location = this.store_location;\r\n            this.delivery_address = store.address;\r\n\r\n            this.map = new google.maps.Map(document.getElementById('map'), {\r\n                zoom: 10,\r\n                center: {lat: this.delivery_location[0], lng: this.delivery_location[1]}\r\n            });\r\n\r\n\r\n            this.directionsDisplay.setMap(this.map);\r\n            var map_pin = document.getElementById('map_pin');\r\n            this.map.controls[google.maps.ControlPosition.BOTTOM_CENTER].push(map_pin);\r\n            var location_image = document.getElementById('location_image');\r\n            this.map.controls[google.maps.ControlPosition.RIGHT_CENTER].push(location_image);\r\n\r\n            google.maps.event.addListener(this.map, 'idle',() => {\r\n                this.geocoder()\r\n            });\r\n            let input = <HTMLInputElement>document.getElementById('input');\r\n            var searchBox = new google.maps.places.Autocomplete(input);\r\n            searchBox.bindTo('bounds', this.map);\r\n\r\n            searchBox.addListener('place_changed', () => {\r\n                this.bool = false;\r\n                if(this.edit_address) {\r\n                    var place = searchBox.getPlace();\r\n                    if (!place.geometry) {\r\n                        return;\r\n                    }\r\n                    if (place.geometry.viewport) {\r\n                        this.map.fitBounds(place.geometry.viewport);\r\n                    } else {\r\n                        this.map.setCenter(place.geometry.location);\r\n\r\n                    }\r\n                }\r\n            });\r\n\r\n        }\r\n        else {\r\n            this.helper.router.navigate(['store/create_order']);\r\n        }\r\n        jQuery('#schedule_time').on('change', (event, res_data) => {\r\n            this.schedule_time = event.target.value;\r\n        });\r\n        this.helper.ngZone.run(() => {\r\n            jQuery('.icheck').on('ifChecked', (event) => {\r\n                this.ipickup_delivery = true;\r\n                this.get_order_invoice(this.google_distance, this.google_time);\r\n            });\r\n\r\n            jQuery('.icheck').on('ifUnchecked', (event) => {\r\n                this.ipickup_delivery = false;\r\n                this.get_order_invoice(this.google_distance, this.google_time);\r\n            });\r\n        })\r\n        // this.get_order_invoice(0, 0)\r\n    }\r\n\r\n    get_distnce_time(){\r\n        let google_distance = 0;\r\n        let google_time = 0;\r\n        let origin = {lat: parseFloat(this.store_location[0]), lng: parseFloat(this.store_location[1])};\r\n        let destination = {lat: parseFloat(this.delivery_location[0]), lng: parseFloat(this.delivery_location[1])};\r\n\r\n        let service = new google.maps.DistanceMatrixService;\r\n        service.getDistanceMatrix({\r\n            origins: [origin],\r\n            destinations: [destination],\r\n            unitSystem: google.maps.UnitSystem.METRIC,\r\n            avoidHighways: true,\r\n            avoidTolls: true,\r\n            travelMode: google.maps.TravelMode.DRIVING,\r\n        }, (response, status) => {\r\n            if(status == google.maps.DistanceMatrixStatus.OK){\r\n\r\n                google_distance = response.rows[0].elements[0].distance.value;\r\n                google_time = response.rows[0].elements[0].duration.value;\r\n                this.get_order_invoice(google_distance, google_time)\r\n            } else {\r\n                this.get_order_invoice(google_distance, google_time)\r\n            }\r\n        });\r\n    }\r\n\r\n    edit_address_field(){\r\n        this.edit_address = true;\r\n        this.map.setOptions({draggable: true, fullscreenControl:true, zoomControl: true, scrollwheel: true, disableDoubleClickZoom: true});\r\n    }\r\n\r\n    update_address() {\r\n        this.myLoading = true;\r\n        this.edit_address = false;\r\n        this.map.setOptions({\r\n            draggable: false,\r\n            fullscreenControl: false,\r\n            zoomControl: false,\r\n            scrollwheel: false,\r\n            disableDoubleClickZoom: false\r\n        });\r\n\r\n        let json = {\r\n            latitude: this.delivery_location[0],\r\n            longitude: this.delivery_location[1],\r\n            destination_address: this.delivery_address,\r\n            store_id: this.store_id,\r\n            server_token: this.server_token\r\n        }\r\n        this.helper.http.post(this.helper.POST_METHOD.STORE_CHANGE_DELIVERY_ADDRESS, json).map((response: Response) => response.json()).subscribe(res_data => {\r\n\r\n            if(res_data.success){\r\n                this.helper.user_cart.destination_address.location = this.delivery_location;\r\n                this.helper.user_cart.destination_address.address = this.delivery_address;\r\n                this.add_to_cart();\r\n            } else {\r\n                this.myLoading = false;\r\n                this.delivery_location = this.helper.user_cart.cart_data.destination_addresses[0].location;\r\n                this.delivery_address = this.helper.user_cart.cart_data.destination_addresses[0].address;\r\n                this.map.setCenter({lat: this.delivery_location[0], lng: this.delivery_location[1]});\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message()\r\n            }\r\n        });\r\n    }\r\n\r\n    add_to_cart(){\r\n\r\n        var store = JSON.parse(localStorage.getItem('store'));\r\n        if(store!==null)\r\n        {\r\n            this.helper.user_cart.destination_address.user_details.email = this.user_data.email;\r\n            this.helper.user_cart.destination_address.user_details.country_phone_code = store.country_phone_code;\r\n            this.helper.user_cart.destination_address.user_details.phone = this.user_data.phone;\r\n            this.helper.user_cart.destination_address.user_details.name = this.user_data.first_name + ' ' + this.user_data.last_name;\r\n            this.helper.user_cart.cart_data.destination_addresses.push(this.helper.user_cart.destination_address);\r\n\r\n            this.helper.user_cart.pickup_address.location = store.location;\r\n            this.helper.user_cart.pickup_address.address = store.address;\r\n            this.helper.user_cart.pickup_address.user_details.email = store.email;\r\n            this.helper.user_cart.pickup_address.user_details.country_phone_code = store.country_phone_code;\r\n            this.helper.user_cart.pickup_address.user_details.phone = store.phone;\r\n            this.helper.user_cart.pickup_address.user_details.name = store.name;\r\n            this.helper.user_cart.cart_data.pickup_addresses.push(this.helper.user_cart.pickup_address)\r\n        }\r\n        let json = {\r\n            user_id: '',\r\n            server_token: '',\r\n            user_type: this.helper.ADMIN_DATA_ID.STORE,\r\n            store_id: this.helper.user_cart.cart_data.selectedStoreId,\r\n            cart_unique_token: this.helper.user_cart.cart_unique_token,\r\n            order_details: this.helper.user_cart.cart_data.cart,\r\n            destination_addresses: this.helper.user_cart.cart_data.destination_addresses,\r\n            pickup_addresses: this.helper.user_cart.cart_data.pickup_addresses,\r\n            cart_id: ''\r\n        }\r\n        if (this.helper.user_cart.cart_data.cart_id !== '') {\r\n            json.cart_id =  this.helper.user_cart.cart_data.cart_id;\r\n        } else {\r\n            delete json.cart_id;\r\n        }\r\n\r\n        this.helper.http.post(this.helper.POST_METHOD.ADD_ITEM_IN_CART, json).map((res_data: Response) => res_data.json()) .subscribe(res_data => {\r\n\r\n                if(res_data.success){\r\n                    this.user_data.user_id = res_data.user_id;\r\n                    this.helper.user_cart.cart_data.cart_id = res_data.cart_id;\r\n                    this.helper.user_cart.cart_data.city_id = res_data.city_id;\r\n                    this.get_distnce_time();\r\n                } else {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                }\r\n                this.helper.message();\r\n            },\r\n            (error: any) => {\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    geocoder(){\r\n\r\n        this.delivery_location = [this.map.getCenter().lat(), this.map.getCenter().lng()];\r\n        var initialLocation = new google.maps.LatLng(this.map.getCenter().lat(), this.map.getCenter().lng());\r\n        var geocoder = new google.maps.Geocoder();\r\n\r\n        let request = {latLng: initialLocation};\r\n        if(this.bool){\r\n            geocoder.geocode(request, (results, status) => {\r\n                if (status == google.maps.GeocoderStatus.OK) {\r\n                    this.helper.ngZone.run(() => {\r\n                        this.delivery_address = results[0].formatted_address;\r\n                    });\r\n                }\r\n            });\r\n        } else {\r\n            this.bool =true;\r\n        }\r\n\r\n    }\r\n\r\n    get_order_invoice(google_distance, google_time){\r\n        this.myLoading = true;\r\n        let totalItemsCount = 0;\r\n        this.google_distance = google_distance;\r\n        this.google_time = google_time;\r\n        this.cart_data.cart.forEach((cart_product) => {\r\n\r\n            cart_product.items.forEach((cart_item) =>{\r\n                totalItemsCount += cart_item.quantity;\r\n\r\n            });\r\n        });\r\n\r\n        let get_order_cart_invoice_json = {\r\n            user_id: \"\",\r\n            server_token: this.server_token,\r\n            cart_unique_token: this.cart_unique_token,\r\n            total_distance: google_distance,\r\n            total_time: google_time,\r\n            store_id: this.cart_data.selectedStoreId,\r\n            total_cart_price: this.helper.user_cart.total_cart_amount,\r\n            total_item_count: totalItemsCount,\r\n            is_user_pick_up_order: this.ipickup_delivery\r\n        }\r\n\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_ORDER_CART_INVOICE, get_order_cart_invoice_json).map((res_data: Response) => res_data.json()) .subscribe(res_data => {\r\n\r\n            this.myLoading = false;\r\n            if(res_data.success){\r\n                this.order_payment = res_data.order_payment;\r\n                this.helper.user_cart.order_payment_id = res_data.order_payment._id;\r\n                this.user_data_modal.close();\r\n                if(this.helper.user_cart.is_schedule_order){\r\n                    // this.check_valid_time()\r\n                } else {\r\n                    let date:any = res_data.server_time;\r\n                    date = new Date(date).toLocaleString(\"en-US\", {timeZone: res_data.timezone})\r\n                    date = new Date(date);\r\n                    // this.check_open(date, true);\r\n                }\r\n\r\n            } else {\r\n                if(res_data.error_code == 557){\r\n                    this.mimimum_amount = res_data.min_order_price;\r\n                    this.order_amount_invalid.open();\r\n                }\r\n            }\r\n\r\n        },\r\n        (error: any) => {\r\n            this.myLoading = false;\r\n            this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n    redirect_to_checkout(){\r\n        this.order_amount_invalid.close();\r\n        this.location.back();\r\n    }\r\n\r\n    asap(){\r\n        jQuery(\"#odershow\").toggle();\r\n        jQuery('.adddetails').toggle();\r\n\r\n        this.is_schedule_order = this.helper.user_cart.is_schedule_order;\r\n\r\n        let server_date:any = new Date(this.helper.user_cart.server_date);\r\n        server_date = new Date(server_date).toLocaleString(\"en-US\", {timeZone: this.helper.user_cart.timezone})\r\n        server_date = new Date(server_date);\r\n\r\n        let after_date = new Date(server_date);\r\n        after_date.setDate(after_date.getDate()+3);\r\n\r\n        // this.helper.scheduleDatePickerOptions.disableUntil.year = server_date.getFullYear();\r\n        // this.helper.scheduleDatePickerOptions.disableUntil.month = server_date.getMonth()+1;\r\n        // this.helper.scheduleDatePickerOptions.disableUntil.day = server_date.getDate()-1;\r\n        //\r\n        // this.helper.scheduleDatePickerOptions.disableSince.year = after_date.getFullYear();\r\n        // this.helper.scheduleDatePickerOptions.disableSince.month = after_date.getMonth()+1;\r\n        // this.helper.scheduleDatePickerOptions.disableSince.day = after_date.getDate();\r\n\r\n        let date = this.helper.user_cart.schedule_date;\r\n        if(this.helper.user_cart.schedule_date !== null && this.helper.user_cart.schedule_date !== ''){\r\n            this.schedule_date = { date: { year: date.getFullYear(), month: date.getMonth()+1, day: date.getDate() }  ,\r\n                formatted:date.getMonth()+1 + '-' +  date.getDate() + '-' + date.getFullYear()  };\r\n            this.schedule_time = date.getHours()+':'+date.getMinutes();\r\n            jQuery('#schedule_time').val(this.schedule_time);\r\n        }\r\n    }\r\n\r\n    set_order_time(){\r\n\r\n        if(this.is_schedule_order){\r\n            if(this.schedule_date !== '' && this.schedule_time !== ''){\r\n\r\n                let server_date:any = new Date(this.helper.user_cart.server_date);\r\n                server_date = new Date(server_date).toLocaleString(\"en-US\", {timeZone: this.helper.user_cart.timezone})\r\n                server_date = new Date(server_date);\r\n                let date = this.schedule_date.formatted.split('-')\r\n                let time = this.schedule_time.split(':')\r\n\r\n                let selected_date: any = new Date(Date.now());\r\n                selected_date = new Date(selected_date).toLocaleString(\"en-US\", {timeZone: this.helper.user_cart.timezone})\r\n                selected_date = new Date(selected_date);\r\n                selected_date.setDate(date[1])\r\n                selected_date.setMonth(date[0]-1)\r\n                selected_date.setFullYear(date[2])\r\n                selected_date.setHours(time[0], time[1]);\r\n\r\n                let day_diff = selected_date.getDay() - server_date.getDay();\r\n                let timeDiff = Math.round(selected_date.getTime() - server_date.getTime());\r\n                if(timeDiff/60000 >= 30){\r\n                    this.schedule_time_error = false;\r\n                    this.helper.user_cart.schedule_date = selected_date;\r\n                    jQuery(\"#odershow\").toggle();\r\n                    jQuery('.adddetails').toggle();\r\n                    this.helper.user_cart.is_schedule_order = this.is_schedule_order;\r\n                    // if(day_diff > 0){\r\n                    //     this.check_open(selected_date, false);\r\n                    // } else {\r\n                    //     this.check_open(selected_date, true);\r\n                    // }\r\n                } else {\r\n                    this.schedule_time_error = true;\r\n                }\r\n            } else {\r\n                this.schedule_time_error = true;\r\n            }\r\n\r\n        } else {\r\n            this.helper.user_cart.schedule_date = null;\r\n            jQuery(\"#odershow\").toggle();\r\n            jQuery('.adddetails').toggle();\r\n            this.schedule_time_error = false;\r\n            this.schedule_date = '';\r\n            this.schedule_time = '';\r\n            jQuery('#schedule_time').val('');\r\n            this.helper.user_cart.is_schedule_order = this.is_schedule_order;\r\n\r\n            let date:any = this.helper.user_cart.server_date;\r\n            date = new Date(date).toLocaleString(\"en-US\", {timeZone: this.helper.user_cart.timezone})\r\n            date = new Date(date);\r\n            // this.check_open(date, true);\r\n        }\r\n    }\r\n\r\n\r\n    set_current_location(){\r\n        if(this.edit_address) {\r\n            navigator.geolocation.getCurrentPosition((position) => {\r\n                this.map.setCenter({lat: position.coords.latitude, lng: position.coords.longitude});\r\n            });\r\n        }\r\n    }\r\n\r\n    get_user_data(user_data){\r\n        this.myLoading = true;\r\n        let json = {\r\n            store_id: this.store_id,\r\n            server_token: this.server_token,\r\n            email: user_data.email,\r\n            phone: user_data.phone,\r\n            country_id: this.user_data.country_id,\r\n            first_name: user_data.first_name,\r\n            last_name: user_data.last_name\r\n        }\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_USER, json).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n            if(res_data.success){\r\n                this.user_data.user_id = res_data.user._id;\r\n                this.user_data.server_token = res_data.user.server_token;\r\n                this.pay_order_payment();\r\n            } else {\r\n                this.myLoading = false;\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message();\r\n            }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading = false;\r\n            this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n    pay_order_payment(){\r\n        this.myLoading = true;\r\n        let json = {\r\n            user_id: this.user_data.user_id,\r\n            order_type: this.helper.ADMIN_DATA_ID.STORE,\r\n            order_payment_id: this.helper.user_cart.order_payment_id,\r\n            is_payment_mode_cash: true\r\n        }\r\n        this.helper.http.post(this.helper.POST_METHOD.PAY_ORDER_PAYMENT, json).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n                if(res_data.success){\r\n                    this.create_order_service();\r\n                } else {\r\n                    this.myLoading = false;\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message();\r\n                }\r\n            },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    create_order_service() {\r\n        let json = {\r\n            user_id: this.user_data.user_id,\r\n            server_token: this.user_data.server_token,\r\n            cart_id: this.helper.user_cart.cart_data.cart_id,\r\n            delivery_note: this.helper.user_cart.delivery_note,\r\n            order_type: this.helper.ADMIN_DATA_ID.STORE,\r\n            is_user_pick_up_order: this.ipickup_delivery\r\n        }\r\n        this.helper.http.post(this.helper.POST_METHOD.CREATE_ORDER, json).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n            this.myLoading = false;\r\n            if(res_data.success){\r\n\r\n                this.helper.user_cart.cart_data = {\r\n                    cart_id: null,\r\n                    city_id: null,\r\n                    pickup_addresses: [],\r\n                    destination_addresses: [],\r\n                    cart: [],\r\n                    selectedStoreId: null,\r\n                    total_item: 0\r\n                }\r\n                this.helper.user_cart.total_cart_amount = 0;\r\n                this.helper.user_cart.order_payment_id = null;\r\n                this.helper.user_cart.cart_data.cart_id = null;\r\n                this.helper.user_cart.cart_unique_token = UUID.UUID();\r\n\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.helper.router.navigate(['store/create_order']);\r\n            } else {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message();\r\n            }\r\n        });\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/checkout_order/checkout_order.component.ts","import { Component, NgZone,  OnInit, ViewContainerRef, ViewChild } from '@angular/core';\r\nimport {Response } from '@angular/http';\r\nimport {Helper} from \"../../store_helper\";\r\ndeclare var jQuery:any;\r\nimport { ModalComponent } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport {Location} from '@angular/common';\r\nimport {UUID} from 'angular2-uuid';\r\n\r\nexport interface OrderPayment{\r\n    _id: Object\r\n    base_price_distance: number,\r\n    base_price: number,\r\n    distance_price: number,\r\n    total_time_price: number,\r\n    promo_payment: number,\r\n    total_distance_price: number,\r\n    service_tax : number,\r\n    total_admin_tax_price: number,\r\n    surge_charges: number,\r\n    total_surge_price: number,\r\n    total_service_price: number,\r\n    total_store_tax_price: number,\r\n    total_item_count: number,\r\n    total_item_price: number,\r\n    total_specification_count: number,\r\n    item_tax: number,\r\n    total_specification_price: number,\r\n    total_order_price: number,\r\n    total: number,\r\n    is_distance_unit_mile: Boolean,\r\n    price_per_unit_time: number,\r\n    delivery_price: number,\r\n    price_per_unit_distance: number\r\n\r\n}\r\n\r\nexport interface UserDetail{\r\n    user_id: string,\r\n    server_token: string,\r\n    email: string,\r\n    first_name: string,\r\n    last_name: string,\r\n    country_id: Object,\r\n    phone: number\r\n}\r\n\r\n@Component({\r\n    selector: 'app-create_order_without_item',\r\n    template: require('./create_order_without_item.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class StoreCreateOrderWithoutItemOrderComponent implements OnInit {\r\n\r\n    @ViewChild('orderAmountInvalid')\r\n    order_amount_invalid: ModalComponent;\r\n\r\n    @ViewChild('user_data_modal')\r\n    user_data_modal: ModalComponent;\r\n\r\n    mimimum_amount: number = 0;\r\n    title:any;\r\n    button:any;\r\n    heading_title:any;\r\n    validation_message:any;\r\n    product_total: any = null;\r\n    private cart_unique_token: string = '';\r\n    private user_data: UserDetail = {\r\n        user_id: '',\r\n        server_token: '',\r\n        country_id: null,\r\n        email: '',\r\n        first_name: '',\r\n        last_name: '',\r\n        phone: null\r\n    }\r\n    store_id: Object;\r\n    private server_token: string = '';\r\n    private cart_data : any = {};\r\n    private store_location : any[];\r\n    private delivery_location : any[];\r\n    private delivery_address : string = '';\r\n    map: any;\r\n    public delivery_currency : string = '';\r\n    delivery_note: string = '';\r\n\r\n    edit_address: Boolean = true;\r\n    myLoading: Boolean = false;\r\n\r\n    public order_payment : OrderPayment;\r\n    public directionsDisplay = new google.maps.DirectionsRenderer;\r\n\r\n    store_open_day: string = '';\r\n    google_distance: any;\r\n    google_time: any;\r\n    bool: Boolean = true;\r\n    new_total: number = 0;\r\n\r\n    minimum_phone_number_length:number = 8;\r\n    maximum_phone_number_length:number = 10;\r\n    constructor(private helper:Helper, private location: Location, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    ngAfterViewInit(){\r\n        jQuery('.clock-picker').clockpicker({\r\n            'default': 'now',\r\n            'align': 'right'\r\n        });\r\n        jQuery('.icheck').iCheck({\r\n            handle: 'checkbox',\r\n            checkboxClass: 'icheckbox_square-green',\r\n        });\r\n    }\r\n\r\n    ngOnInit() {\r\n        var store = JSON.parse(localStorage.getItem('store'));\r\n        if(store!==null)\r\n        {\r\n            this.store_id=store._id\r\n            this.server_token=store.server_token\r\n            this.user_data.country_id = store.country_id\r\n        }\r\n        this.store_location = store.location;\r\n        this.delivery_currency = this.helper.user_cart.currency;\r\n        jQuery(document).ready(function() {\r\n            jQuery(window).keydown(function(event){\r\n                if(event.keyCode == 13) {\r\n                    event.preventDefault();\r\n                    return false;\r\n                }\r\n            });\r\n        });\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.heading_title=this.helper.heading_title\r\n        this.validation_message=this.helper.validation_message;\r\n\r\n        this.delivery_note = this.helper.user_cart.delivery_note;\r\n        this.helper.message();\r\n        this.cart_unique_token = this.helper.user_cart.cart_unique_token;\r\n        this.cart_data = this.helper.user_cart.cart_data;\r\n\r\n        // this.user_data_modal.open();\r\n\r\n        this.order_payment = {\r\n            _id: null,\r\n            base_price_distance : 0,\r\n            base_price: 0,\r\n            distance_price: 0,\r\n            total_time_price:0,\r\n            promo_payment: 0,\r\n            total_distance_price: 0,\r\n            service_tax : 0,\r\n            total_admin_tax_price: 0,\r\n            surge_charges: 0,\r\n            total_surge_price: 0,\r\n            total_service_price: 0,\r\n            total_store_tax_price: 0,\r\n            total_item_count: 0,\r\n            total_item_price: 0,\r\n            total_specification_count: 0,\r\n            item_tax: 0,\r\n            total_specification_price: 0,\r\n            total_order_price: 0,\r\n            total: 0,\r\n            is_distance_unit_mile: false,\r\n            price_per_unit_time: 0,\r\n            delivery_price: 0,\r\n            price_per_unit_distance: 0\r\n        };\r\n\r\n\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_COUNTRY_PHONE_NUMBER_LENGTH, {country_id: this.user_data.country_id}).map((response: Response) => response.json()).subscribe(res_data => {\r\n\r\n            if(res_data.success){\r\n                this.minimum_phone_number_length = res_data.minimum_phone_number_length;\r\n                this.maximum_phone_number_length = res_data.maximum_phone_number_length;\r\n            }\r\n        });\r\n\r\n        this.delivery_location = this.store_location;\r\n        this.delivery_address = store.address;\r\n\r\n        this.map = new google.maps.Map(document.getElementById('map'), {\r\n            zoom: 10,\r\n            center: {lat: this.delivery_location[0], lng: this.delivery_location[1]}\r\n        });\r\n\r\n        this.directionsDisplay.setMap(this.map);\r\n        var map_pin = document.getElementById('map_pin');\r\n        this.map.controls[google.maps.ControlPosition.BOTTOM_CENTER].push(map_pin);\r\n        var location_image = document.getElementById('location_image');\r\n        this.map.controls[google.maps.ControlPosition.RIGHT_CENTER].push(location_image);\r\n\r\n        google.maps.event.addListener(this.map, 'idle',() => {\r\n            this.geocoder()\r\n        });\r\n        let input = <HTMLInputElement>document.getElementById('input');\r\n        var searchBox = new google.maps.places.Autocomplete(input);\r\n        searchBox.bindTo('bounds', this.map);\r\n\r\n        searchBox.addListener('place_changed', () => {\r\n            this.bool = false;\r\n            if(this.edit_address) {\r\n                var place = searchBox.getPlace();\r\n                if (!place.geometry) {\r\n                    return;\r\n                }\r\n                if (place.geometry.viewport) {\r\n                    this.map.fitBounds(place.geometry.viewport);\r\n                } else {\r\n                    this.map.setCenter(place.geometry.location);\r\n                }\r\n            }\r\n        });\r\n    }\r\n\r\n    // add_product_total(){\r\n    //     if(this.product_total != '' && this.product_total != null){\r\n    //         this.new_total = Number(this.order_payment.total) + Number(this.product_total)\r\n    //     } else {\r\n    //         this.new_total = Number(this.order_payment.total);\r\n    //     }\r\n    // }\r\n\r\n    get_distnce_time(){\r\n        let google_distance = 0;\r\n        let google_time = 0;\r\n        let origin = {lat: parseFloat(this.store_location[0]), lng: parseFloat(this.store_location[1])};\r\n        let destination = {lat: parseFloat(this.delivery_location[0]), lng: parseFloat(this.delivery_location[1])};\r\n\r\n        let service = new google.maps.DistanceMatrixService;\r\n        service.getDistanceMatrix({\r\n            origins: [origin],\r\n            destinations: [destination],\r\n            unitSystem: google.maps.UnitSystem.METRIC,\r\n            avoidHighways: false,\r\n            avoidTolls: false,\r\n            travelMode: google.maps.TravelMode.DRIVING,\r\n        }, (response, status) => {\r\n            if(status == google.maps.DistanceMatrixStatus.OK){\r\n\r\n                google_distance = response.rows[0].elements[0].distance.value;\r\n                google_time = response.rows[0].elements[0].duration.value;\r\n                this.get_order_invoice(google_distance, google_time)\r\n            } else {\r\n                this.get_order_invoice(google_distance, google_time)\r\n            }\r\n        });\r\n    }\r\n\r\n    edit_address_field(){\r\n        this.edit_address = true;\r\n        this.map.setOptions({draggable: true, fullscreenControl:true, zoomControl: true, scrollwheel: true, disableDoubleClickZoom: true});\r\n    }\r\n\r\n    update_address() {\r\n        this.edit_address = false;\r\n        this.map.setOptions({\r\n            draggable: false,\r\n            fullscreenControl: false,\r\n            zoomControl: false,\r\n            scrollwheel: false,\r\n            disableDoubleClickZoom: false\r\n        });\r\n\r\n        let json = {\r\n            latitude: this.delivery_location[0],\r\n            longitude: this.delivery_location[1],\r\n            destination_address: this.delivery_address,\r\n            store_id: this.store_id,\r\n            server_token: this.server_token\r\n        }\r\n\r\n        this.helper.http.post(this.helper.POST_METHOD.STORE_CHANGE_DELIVERY_ADDRESS, json).map((response: Response) => response.json()).subscribe(res_data => {\r\n\r\n            if(res_data.success){\r\n                this.helper.user_cart.cart_data.deliveryLatLng = this.delivery_location;\r\n                this.helper.user_cart.cart_data.deliveryAddress = this.delivery_address;\r\n                this.add_to_cart(this.user_data);\r\n            } else {\r\n\r\n                this.delivery_address = this.helper.user_cart.cart_data.deliveryAddress;\r\n                if( this.helper.user_cart.cart_data.deliveryLatLng[0] != 0){\r\n                    this.delivery_location = this.helper.user_cart.cart_data.deliveryLatLng;\r\n                    this.map.setCenter({lat: this.delivery_location[0], lng: this.delivery_location[1]});\r\n                } else {\r\n                    this.delivery_location = this.store_location\r\n                    this.map.setCenter({lat: this.delivery_location[0], lng: this.delivery_location[1]});\r\n                }\r\n\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message()\r\n            }\r\n        });\r\n    }\r\n\r\n    geocoder(){\r\n\r\n        this.delivery_location = [this.map.getCenter().lat(), this.map.getCenter().lng()];\r\n        var initialLocation = new google.maps.LatLng(this.map.getCenter().lat(), this.map.getCenter().lng());\r\n        var geocoder = new google.maps.Geocoder();\r\n\r\n        let request = {latLng: initialLocation};\r\n        if(this.bool){\r\n            geocoder.geocode(request, (results, status) => {\r\n                if (status == google.maps.GeocoderStatus.OK) {\r\n                    this.helper.ngZone.run(() => {\r\n                        this.delivery_address = results[0].formatted_address;\r\n                    });\r\n                }\r\n            });\r\n        } else {\r\n            this.bool =true;\r\n        }\r\n\r\n    }\r\n\r\n    get_order_invoice(google_distance, google_time){\r\n        this.myLoading = true;\r\n        this.google_distance = google_distance;\r\n        this.google_time = google_time;\r\n\r\n        let get_order_cart_invoice_json = {\r\n            order_type: this.helper.ADMIN_DATA_ID.STORE,\r\n            cart_unique_token: this.cart_unique_token,\r\n            user_id: '',\r\n            store_id: this.store_id,\r\n            server_token: this.server_token,\r\n            total_distance: google_distance,\r\n            total_time: google_time,\r\n            total_cart_price: this.product_total,\r\n            total_item_count: 1\r\n        }\r\n\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_ORDER_CART_INVOICE, get_order_cart_invoice_json).map((res_data: Response) => res_data.json()) .subscribe(res_data => {\r\n\r\n            this.myLoading = false;\r\n            if(res_data.success){\r\n                this.order_payment = res_data.order_payment;\r\n                this.helper.user_cart.order_payment_id = res_data.order_payment._id;\r\n                this.mimimum_amount = 0;\r\n                this.user_data_modal.close();\r\n                if(this.helper.user_cart.is_schedule_order){\r\n                    // this.check_valid_time()\r\n                } else {\r\n                    let date:any = res_data.server_time;\r\n                    date = new Date(date).toLocaleString(\"en-US\", {timeZone: res_data.timezone})\r\n                    date = new Date(date);\r\n                    // this.check_open(date, true);\r\n                }\r\n\r\n            } else {\r\n                if(res_data.error_code == 557){\r\n                    this.mimimum_amount = res_data.min_order_price;\r\n                }\r\n            }\r\n\r\n        },\r\n        (error: any) => {\r\n            this.myLoading = false;\r\n            this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n    set_current_location(){\r\n        if(this.edit_address) {\r\n            navigator.geolocation.getCurrentPosition((position) => {\r\n                this.map.setCenter({lat: position.coords.latitude, lng: position.coords.longitude});\r\n            });\r\n        }\r\n    }\r\n\r\n    add_to_cart(user_data){\r\n        this.myLoading = true;\r\n        this.helper.user_cart.destination_address.address = this.delivery_address;\r\n        this.helper.user_cart.destination_address.location = this.delivery_location;\r\n        this.helper.user_cart.destination_address.user_details.name = user_data.first_name + ' ' + user_data.last_name;\r\n        this.helper.user_cart.destination_address.user_details.email = user_data.email;\r\n        this.helper.user_cart.destination_address.user_details.phone = user_data.phone;\r\n        this.helper.user_cart.destination_address.user_details.country_phone_code = user_data.country_phone_code;\r\n\r\n        var store = JSON.parse(localStorage.getItem('store'));\r\n        this.helper.user_cart.pickup_address.address = store.address;\r\n        this.helper.user_cart.pickup_address.location = store.location;\r\n        this.helper.user_cart.pickup_address.user_details.name = store.name;\r\n        this.helper.user_cart.pickup_address.user_details.email = store.email;\r\n        this.helper.user_cart.pickup_address.user_details.phone = store.phone;\r\n        this.helper.user_cart.pickup_address.user_details.country_phone_code = store.country_phone_code;\r\n\r\n        this.helper.user_cart.cart_data.destination_addresses[0] = this.helper.user_cart.destination_address;\r\n        this.helper.user_cart.cart_data.pickup_addresses[0] = this.helper.user_cart.pickup_address;\r\n\r\n        let json = {\r\n            user_id: '',\r\n            server_token: '',\r\n            cart_unique_token: this.cart_unique_token,\r\n            store_id: this.store_id,\r\n            destination_addresses: this.helper.user_cart.cart_data.destination_addresses,\r\n            pickup_addresses: this.helper.user_cart.cart_data.pickup_addresses,\r\n            order_details: [],\r\n            user_type: 2\r\n        }\r\n        this.helper.http.post(this.helper.POST_METHOD.ADD_ITEM_IN_CART, json).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n            if(res_data.success){\r\n                this.user_data.user_id = res_data.user_id;\r\n                this.helper.user_cart.cart_data.cart_id = res_data.cart_id;\r\n                this.get_distnce_time();\r\n            } else {\r\n                this.myLoading = false;\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message();\r\n            }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading = false;\r\n            this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n    pay_order_payment(){\r\n\r\n        this.myLoading = true;\r\n\r\n        let json = {\r\n            order_type: this.helper.ADMIN_DATA_ID.STORE,\r\n            user_id: this.user_data.user_id,\r\n            order_payment_id: this.helper.user_cart.order_payment_id,\r\n            is_payment_mode_cash: true\r\n        }\r\n        this.helper.http.post(this.helper.POST_METHOD.PAY_ORDER_PAYMENT, json).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n                if(res_data.success){\r\n                    this.create_order_service();\r\n                } else {\r\n                    this.myLoading = false;\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message();\r\n                }\r\n            },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    create_order_service() {\r\n        let json = {\r\n            store_id: this.store_id,\r\n            server_token: this.server_token,\r\n            cart_id: this.helper.user_cart.cart_data.cart_id,\r\n            note_for_deliveryman: this.helper.user_cart.delivery_note,\r\n            order_type: this.helper.ADMIN_DATA_ID.STORE\r\n        }\r\n\r\n        this.helper.http.post(this.helper.POST_METHOD.STORE_CREATE_ORDER, json).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n            this.myLoading = false;\r\n            if(res_data.success){\r\n                this.helper.user_cart.order_payment_id = null;\r\n                this.helper.user_cart.cart_data.cart_id = null;\r\n                this.helper.user_cart.cart_unique_token = UUID.UUID();\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n            } else {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message();\r\n            }\r\n            this.helper.router.navigate(['store/deliveries']);\r\n        });\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/create_order_without_item/create_order_without_item.component.ts","import { Component, OnInit , ViewContainerRef } from '@angular/core';\r\nimport {Response } from '@angular/http';\r\nimport {Helper} from \"../../store_helper\";\r\ndeclare var jQuery:any;\r\n\r\nexport interface StoreAnalyticDaily\r\n{\r\n    accepted:number,\r\n    acception_ratio:number,\r\n    cancellation_ratio:number,\r\n    cancelled:number,\r\n    completed:number,\r\n    completed_ratio:number,\r\n    received:number,\r\n    rejected:number,\r\n    rejection_ratio:number,\r\n    total_items:number\r\n\r\n}\r\n\r\nexport interface OrderTotal\r\n{\r\n    pay_to_store:number,\r\n    store_have_order_payment:number,\r\n    store_have_service_payment:number,\r\n    total_admin_profit_on_store:number,\r\n    total_earning:number,\r\n    total_item_price:number,\r\n    total_order_price:number,\r\n    total_store_income:number,\r\n    total_store_tax_price:number,\r\n    total_wallet_income_set: number,\r\n    total_wallet_income_set_in_cash_order: number,\r\n    total_wallet_income_set_in_other_order: number\r\n}\r\n\r\n@Component({\r\n    selector: 'app-daily_earning',\r\n    template: require('./daily_earning.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class StoreDailyEarningComponent implements OnInit {\r\n\r\n    private order_total: OrderTotal;\r\n    private store_analytic_daily: StoreAnalyticDaily;\r\n\r\n    title:any;\r\n    button:any;\r\n    ORDER_STATE:any;\r\n    heading_title:any;\r\n    store_id:Object;\r\n    server_token:String;\r\n    order_payments:any[];\r\n    search_field:string;\r\n    search_value:string;\r\n    start_date:Object;\r\n    show:Boolean;\r\n\r\n    myLoading:Boolean = true;\r\n\r\n    constructor(private helper:Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n\r\n        jQuery(\".chosen-select\").chosen();\r\n        setTimeout(function() {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n    }\r\n\r\n    ngOnDestroy()\r\n    {\r\n        this.helper.router_id.store.daily_earning_date=\"\";\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.search_field=\"user_detail.first_name\";\r\n        this.search_value=\"\";\r\n        this.show=true;\r\n\r\n        var daily_date=this.helper.router_id.store.daily_earning_date;\r\n\r\n        if(daily_date==\"\")\r\n        {\r\n            var date = new Date(Date.now());\r\n            this.start_date = { date: { year: date.getFullYear(), month: date.getMonth()+1, day: date.getDate() }  ,\r\n                formatted:date.getMonth()+1 + '-' +  date.getDate() + '-' + date.getFullYear()  };\r\n        }\r\n        else{\r\n            var date = new Date(daily_date)\r\n            this.start_date = { date: { year: date.getFullYear(), month: date.getMonth()+1, day: date.getDate()  },\r\n                formatted:date.getMonth()+1 + '-' +  date.getDate() + '-' + date.getFullYear()};\r\n        }\r\n\r\n        this.order_total={\r\n\r\n            pay_to_store:0,\r\n            store_have_order_payment:0,\r\n            store_have_service_payment:0,\r\n            total_admin_profit_on_store:0,\r\n            total_earning:0,\r\n            total_item_price:0,\r\n            total_order_price:0,\r\n            total_store_income:0,\r\n            total_store_tax_price:0,\r\n            total_wallet_income_set: 0,\r\n            total_wallet_income_set_in_cash_order: 0,\r\n            total_wallet_income_set_in_other_order: 0\r\n        }\r\n\r\n        this.store_analytic_daily={\r\n            accepted:0,\r\n            acception_ratio:0,\r\n            cancellation_ratio:0,\r\n            cancelled:0,\r\n            completed:0,\r\n            completed_ratio:0,\r\n            received:0,\r\n            rejected:0,\r\n            rejection_ratio:0,\r\n            total_items:0\r\n        }\r\n\r\n        let token = this.helper.tokenService.getToken();\r\n\r\n        if(!token || !token.token) {\r\n\r\n            this.helper.router.navigate(['store/logout']);\r\n        }\r\n        this.helper.message()\r\n        var store = JSON.parse(localStorage.getItem('store'));\r\n        if(store!==null)\r\n        {\r\n            this.store_id=store._id\r\n            this.server_token=store.server_token\r\n        }\r\n\r\n        if(!JSON.parse(localStorage.getItem('store_document_ulpoaded')) && JSON.parse(localStorage.getItem('admin_store_document_ulpoaded')))\r\n        {\r\n            this.helper.router.navigate(['store/upload_document']);\r\n        }\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.heading_title=this.helper.heading_title\r\n        this.ORDER_STATE=this.helper.ORDER_STATE\r\n        this.order_payments=[];\r\n\r\n        this.store_daily_earning()\r\n\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#search_field').on('change', (evnt,res_data) => {\r\n\r\n            this.search_field=res_data.selected;\r\n\r\n        });\r\n    }\r\n    store_daily_earning()\r\n    {\r\n        this.myLoading=true;\r\n        this.helper.http.post(this.helper.POST_METHOD.DAILY_EARNING,{store_id:this.store_id, server_token:this.server_token, start_date:this.start_date,\r\n            search_field:this.search_field,search_value:this.search_value}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n\r\n                this.myLoading=false;\r\n                if(res_data.success == false)\r\n                {\r\n                    this.show=false;\r\n\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message()\r\n                    this.order_payments=[];\r\n                    this.order_total={\r\n                        pay_to_store:0,\r\n                        store_have_order_payment:0,\r\n                        store_have_service_payment:0,\r\n                        total_admin_profit_on_store:0,\r\n                        total_earning:0,\r\n                        total_item_price:0,\r\n                        total_order_price:0,\r\n                        total_store_income:0,\r\n                        total_store_tax_price:0,\r\n                        total_wallet_income_set: 0,\r\n                        total_wallet_income_set_in_cash_order: 0,\r\n                        total_wallet_income_set_in_other_order: 0\r\n                    }\r\n                    this.store_analytic_daily={\r\n                        accepted:0,\r\n                        acception_ratio:0,\r\n                        cancellation_ratio:0,\r\n                        cancelled:0,\r\n                        completed:0,\r\n                        completed_ratio:0,\r\n                        received:0,\r\n                        rejected:0,\r\n                        rejection_ratio:0,\r\n                        total_items:0\r\n                    }\r\n                }\r\n                else\r\n                {\r\n                    this.show=true;\r\n                    this.order_payments=res_data.order_payments;\r\n                    this.order_total={\r\n\r\n                        pay_to_store:res_data.order_total.pay_to_store != undefined ? res_data.order_total.pay_to_store : 0 ,\r\n                        store_have_order_payment:res_data.order_total.store_have_order_payment != undefined ? res_data.order_total.store_have_order_payment : 0,\r\n                        store_have_service_payment:res_data.order_total.store_have_service_payment != undefined ? res_data.order_total.store_have_service_payment : 0,\r\n                        total_admin_profit_on_store:res_data.order_total.total_admin_profit_on_store != undefined ? res_data.order_total.total_admin_profit_on_store : 0,\r\n                        total_earning:res_data.order_total.total_earning != undefined ? res_data.order_total.total_earning : 0,\r\n                        total_item_price:res_data.order_total.total_item_price != undefined ? res_data.order_total.total_item_price : 0,\r\n                        total_order_price:res_data.order_total.total_order_price != undefined ? res_data.order_total.total_order_price : 0,\r\n                        total_store_income:res_data.order_total.total_store_income != undefined ? res_data.order_total.total_store_income : 0,\r\n                        total_store_tax_price:res_data.order_total.total_store_tax_price != undefined ? res_data.order_total.total_store_tax_price : 0,\r\n                        total_wallet_income_set:res_data.order_total.total_wallet_income_set != undefined ? res_data.order_total.total_wallet_income_set : 0,\r\n                        total_wallet_income_set_in_cash_order:res_data.order_total.total_wallet_income_set_in_cash_order != undefined ? res_data.order_total.total_wallet_income_set_in_cash_order : 0,\r\n                        total_wallet_income_set_in_other_order:res_data.order_total.total_wallet_income_set_in_other_order != undefined ? res_data.order_total.total_wallet_income_set_in_other_order : 0,\r\n                    }\r\n                    // if(res_data.order_total.pay_to_store !== undefined)\r\n                    // {\r\n                    //     this.order_total=res_data.order_total;\r\n                    // }\r\n                    // else\r\n                    // {\r\n                    //     this.order_total={\r\n                    //         pay_to_store:0,\r\n                    //         store_have_order_payment:0,\r\n                    //         store_have_service_payment:0,\r\n                    //         total_admin_profit_on_store:0,\r\n                    //         total_earning:0,\r\n                    //         total_item_price:0,\r\n                    //         total_order_price:0,\r\n                    //         total_store_income:0,\r\n                    //         total_store_tax_price:0,\r\n                    //         total_wallet_income_set: 0,\r\n                    //         total_wallet_income_set_in_cash_order: 0,\r\n                    //         total_wallet_income_set_in_other_order: 0\r\n                    //     }\r\n                    // }\r\n\r\n                    this.store_analytic_daily=res_data.store_analytic_daily;\r\n                }\r\n            },\r\n            (error: any) => {\r\n                this.myLoading=false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    export_excel() {\r\n        this.helper.http.post(this.helper.POST_METHOD.DAILY_EARNING,{store_id:this.store_id, server_token:this.server_token, start_date:this.start_date,\r\n            search_field:this.search_field,search_value:this.search_value}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n            var json2csv = require('json2csv');\r\n\r\n            var fieldNames  = ['Order ID','Payment By','Total','Service Fees','Order Fees','Store Profit',\r\n                'Paid Service Fee', 'Received Order Payment', 'Earning'\r\n            ];\r\n            var fields = ['order_unique_id', 'payment_status', 'total', 'total_service_price', 'total_order_price',\r\n                'total_store_income', 'store_have_service_payment', 'store_have_order_payment', 'pay_to_store'\r\n            ];\r\n\r\n            var store_analytic_daily_fieldNames  = [this.heading_title.total_order, this.heading_title.accepted_order, this.heading_title.rejected_order, this.heading_title.completed_order,\r\n                this.heading_title.total_item_sold, this.heading_title.accepted_ratio, this.heading_title.rejected_ratio, this.heading_title.completed_ratio,\r\n            ];\r\n            var store_analytic_daily_fields = ['received', 'accepted', 'rejected', 'completed', 'total_items',\r\n                'acception_ratio', 'rejection_ratio', 'completed_ratio'];\r\n\r\n            var order_total_fieldNames  = [this.title.item_price, this.title.tax_price, this.title.order_price, this.title.admin_profit,\r\n                this.title.store_profit, this.title.received_order_amount, this.title.paid_service_fee, this.title.deduct_from_wallet, this.title.added_in_wallet,\r\n                this.title.total_earnings, this.title.paid_in_wallet, this.title.pay_to_store];\r\n            var order_total_fields = ['total_item_price', 'total_store_tax_price', 'total_order_price', 'total_admin_profit_on_store', 'total_store_income',\r\n                'store_have_order_payment', 'store_have_service_payment', 'total_wallet_income_set_in_cash_order', 'total_wallet_income_set_in_other_order',\r\n                'total_earning', 'total_wallet_income_set', 'pay_to_store'];\r\n\r\n            res_data.order_payments.forEach((order, index) => {\r\n                if(order.is_paid_from_wallet){\r\n                    order.payment_status = this.title.wallet;\r\n                } else {\r\n                    if(order.is_payment_mode_cash){\r\n                        order.payment_status = this.title.cash;\r\n                    } else {\r\n                        order.payment_status = 'Stripe';\r\n                    }\r\n                }\r\n            });\r\n\r\n            var csv = json2csv({data: res_data.order_payments, fields: fields, fieldNames:fieldNames});\r\n            var store_analytic_daily_csv = json2csv({data: res_data.store_analytic_daily, fields: store_analytic_daily_fields,fieldNames: store_analytic_daily_fieldNames});\r\n            var order_total_csv = json2csv({data: res_data.order_total, fields: order_total_fields,fieldNames: order_total_fieldNames});\r\n\r\n            var final_csv: any = store_analytic_daily_csv + \"\\n\" + \"\\n\" + order_total_csv +  \"\\n\" + \"\\n\" + csv\r\n\r\n            this.helper.downloadFile(final_csv);\r\n\r\n        });\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/daily_earning/daily_earning.component.ts","import { Component, OnInit,ViewContainerRef , ViewChild} from '@angular/core';\r\nimport {Response } from '@angular/http';\r\nimport {Helper} from \"../../store_helper\";\r\ndeclare var jQuery:any;\r\nimport { ModalComponent } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport * as moment from 'moment-timezone';\r\ndeclare var google: any;\r\ndeclare var swal: any;\r\n\r\n@Component({\r\n    selector: 'app-delivery',\r\n    template: require('./delivery.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class StoreDeliveryComponent implements OnInit {\r\n\r\n    @ViewChild('myModal')\r\n    modal: ModalComponent;\r\n    @ViewChild('order_detail_modal')\r\n    order_detail_modal: ModalComponent;\r\n\r\n    title:any;\r\n    button:any;\r\n    ORDER_STATE:any;\r\n    heading_title:any;\r\n    status:any;\r\n    store_id:Object;\r\n    server_token:String;\r\n    requests:any[];\r\n    interval:any;\r\n    moment: any;\r\n    search_field:string;\r\n    search_value:string;\r\n    page:number;\r\n    total_page:number;\r\n    total_pages:number[];\r\n    order_payment_id:Object;\r\n    order_detail: any = {};\r\n    map: any;\r\n    store_marker: any;\r\n    user_marker: any;\r\n    provider_marker: any;\r\n    request_status: string = '';\r\n\r\n    total_item:number = 0;\r\n    order_total:number = 0;\r\n    product_item_total:number = 0;\r\n    product_item_total_array:number[] = [];\r\n    product_item_specification_total:number = 0;\r\n    product_item_specification_total_array:number[] = [];\r\n    product_specification_total_array:any[] = [];\r\n    hide_specification_group: any[] = [];\r\n    specifications: any[] = [];\r\n    item_note: string = '';\r\n    is_show_specification: boolean = false;\r\n\r\n    myLoading:Boolean = true;\r\n    constructor(private helper:Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n        jQuery(\".chosen-select\").chosen({disable_search: true});\r\n        setTimeout(function() {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.search_field=\"user_detail.first_name\";\r\n        this.search_value=\"\";\r\n        this.page=1\r\n        this.order_payment_id=null;\r\n        this.moment = moment;\r\n\r\n        var directionsDisplay = new google.maps.DirectionsRenderer;\r\n        this.map = new google.maps.Map(document.getElementById('map'), {\r\n            zoom: 7,\r\n            streetViewControl: false,\r\n            center: {lat: 22, lng: 70}\r\n        });\r\n        directionsDisplay.setMap(this.map);\r\n        this.store_marker = new google.maps.Marker({\r\n            position: {lat: 22, lng: 70},\r\n            map: this.map,\r\n            icon: 'map_pin_images/Store/store_open.png'\r\n        });\r\n\r\n        this.user_marker = new google.maps.Marker({\r\n            position: {lat: 22, lng: 70},\r\n            map: this.map,\r\n            icon: 'map_pin_images/Store/store_open.png'\r\n        });\r\n        this.provider_marker = new google.maps.Marker({\r\n            position: {lat: 22, lng: 70},\r\n            map: this.map,\r\n            icon: 'map_pin_images/Deliveryman/deliveryman_online.png'\r\n        });\r\n\r\n        let token = this.helper.tokenService.getToken();\r\n        if(!token || !token.token) {\r\n            this.helper.router.navigate(['store/logout']);\r\n        }\r\n        this.helper.message()\r\n        var store = JSON.parse(localStorage.getItem('store'));\r\n        if(store!==null)\r\n        {\r\n            this.store_id=store._id\r\n            this.server_token=store.server_token\r\n        }\r\n        if(!JSON.parse(localStorage.getItem('store_document_ulpoaded')) && JSON.parse(localStorage.getItem('admin_store_document_ulpoaded')))\r\n        {\r\n            this.helper.router.navigate(['store/upload_document']);\r\n        }\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.heading_title=this.helper.heading_title\r\n        this.ORDER_STATE=this.helper.ORDER_STATE\r\n        this.status=this.helper.status\r\n        this.requests=[];\r\n        this.filter(1)\r\n        this.interval=setInterval(() => {\r\n            this.orderDetail()\r\n        },this.helper.TIMEOUT.NEW_ORDER_REQUEST);\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#request_status').on('change', (evnt,res_data) => {\r\n\r\n            this.request_status=res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#search_field').on('change', (evnt,res_data) => {\r\n\r\n            this.search_field=res_data.selected;\r\n\r\n        });\r\n    }\r\n    ngOnDestroy() {\r\n        clearInterval(this.interval);\r\n    }\r\n    activeRoute(routename: string): boolean{\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n\r\n    filter(page)\r\n    {\r\n        this.myLoading = true;\r\n        this.page=page;\r\n        this.helper.http.post(this.helper.POST_METHOD.DELIVERY_LIST_SEARCH_SORT,{store_id:this.store_id, server_token:this.server_token,request_status:this.request_status,\r\n        search_field:this.search_field,search_value:this.search_value,page:this.page }).map((res:Response) => res.json()).subscribe(res_data=>{\r\n\r\n                this.myLoading = false;\r\n            if(res_data.success == false)\r\n            {\r\n                this.requests=[];\r\n                this.total_pages=[];\r\n            }\r\n            else\r\n            {\r\n                this.requests=res_data.requests;\r\n                if(this.requests.length>0){\r\n                    this.get_request_data(0)\r\n                }\r\n                this.total_page=res_data.pages;\r\n                this.total_pages=Array(res_data.pages).fill((x,i)=>i).map((x,i)=>i+1)\r\n            }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading = false;\r\n                this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n    open_detail_modal(){\r\n        this.is_show_specification = false;\r\n        this.is_show_specification = false;\r\n        this.order_total = 0;\r\n        this.product_item_total = 0;\r\n        this.total_item = 0;\r\n        this.product_item_specification_total = 0;\r\n        this.product_item_specification_total_array = [];\r\n        this.product_item_total_array = [];\r\n        this.product_specification_total_array = [];\r\n        this.order_detail.cart_detail.order_details.forEach((product, product_index)=>{\r\n            this.hide_specification_group[product_index]=\"false\"\r\n            product.items.forEach((item) =>{\r\n                this.order_total=this.order_total + (item.item_price + item.total_specification_price)*item.quantity\r\n                this.product_item_total=this.product_item_total + (item.item_price + item.total_specification_price)*item.quantity\r\n                this.total_item++;\r\n                item.specifications.forEach((specification)=>{\r\n                    this.product_item_specification_total= this.product_item_specification_total + specification.specification_price;\r\n                })\r\n                this.product_item_specification_total_array.push(this.product_item_specification_total)\r\n                this.product_item_specification_total=0;\r\n            })\r\n            this.product_specification_total_array.push(this.product_item_specification_total_array)\r\n            this.product_item_specification_total_array=[];\r\n            this.product_item_total_array.push(this.product_item_total)\r\n            this.product_item_total=0;\r\n        });\r\n        this.order_detail_modal.open();\r\n    }\r\n\r\n    hide_specifications_group(specification_group_index)\r\n    {\r\n        this.hide_specification_group[specification_group_index]='true';\r\n        jQuery('#spec_list'+specification_group_index).hide();\r\n    }\r\n\r\n    show_specifications_group(specification_group_index)\r\n    {\r\n        this.hide_specification_group[specification_group_index]='false';\r\n        jQuery('#spec_list'+specification_group_index).show();\r\n    }\r\n\r\n    get_specification(product_index, item_index){\r\n        this.is_show_specification= true;\r\n        this.specifications = this.order_detail.cart_detail.order_details[product_index].items[item_index].specifications;\r\n        this.item_note = this.order_detail.cart_detail.order_details[product_index].items[item_index].note_for_item;\r\n    }\r\n\r\n    get_request_data(index){\r\n        var bounds = new google.maps.LatLngBounds();\r\n        this.order_detail = this.requests[index];\r\n\r\n        var store_location = new google.maps.LatLng(this.order_detail.pickup_addresses[0].location[0], this.order_detail.pickup_addresses[0].location[1]);\r\n        this.store_marker.setPosition(store_location);\r\n        bounds.extend(store_location);\r\n        var store_contentString =\r\n            '<p><b>Name</b>: ' + this.order_detail.pickup_addresses[0].user_details.name +\r\n            '<br><b>Email</b>: ' + this.order_detail.pickup_addresses[0].user_details.email +\r\n            '<br><b>Phone</b>: ' + this.order_detail.pickup_addresses[0].user_details.country_phone_code + this.order_detail.pickup_addresses[0].user_details.phone +\r\n            '</p>';\r\n        var store_message = new google.maps.InfoWindow({\r\n            content: store_contentString,\r\n            maxWidth: 320\r\n        });\r\n        google.maps.event.addListener(this.store_marker, 'click', (e)=> {\r\n            store_message.open(this.map, this.store_marker);\r\n            setTimeout(function () {store_message.close();}, 5000);\r\n        });\r\n\r\n        var user_location = new google.maps.LatLng(this.order_detail.destination_addresses[0].location[0], this.order_detail.destination_addresses[0].location[1]);\r\n        this.user_marker.setPosition(user_location)\r\n        bounds.extend(user_location);\r\n        var user_contentString =\r\n            '<p><b>Name</b>: ' + this.order_detail.destination_addresses[0].user_details.name +\r\n            '<br><b>Email</b>: ' + this.order_detail.destination_addresses[0].user_details.email +\r\n            '<br><b>Phone</b>: ' + this.order_detail.destination_addresses[0].user_details.country_phone_code + this.order_detail.destination_addresses[0].user_details.phone +\r\n            '<br><b>Address</b>: ' + this.order_detail.destination_addresses[0].address +\r\n            '</p>';\r\n\r\n        var user_message = new google.maps.InfoWindow({\r\n            content: user_contentString,\r\n            maxWidth: 320\r\n        });\r\n        google.maps.event.addListener(this.user_marker, 'click', (e)=> {\r\n            user_message.open(this.map, this.user_marker);\r\n            setTimeout(function () {user_message.close();}, 5000);\r\n        });\r\n\r\n        if(this.order_detail.provider_detail){\r\n            if(!this.provider_marker){\r\n                this.provider_marker = new google.maps.Marker({\r\n                    position: {lat: 22, lng: 70},\r\n                    map: this.map,\r\n                    icon: 'map_pin_images/Deliveryman/deliveryman_online.png'\r\n                });\r\n            }\r\n            var provider_location = new google.maps.LatLng(this.order_detail.provider_detail.location[0], this.order_detail.provider_detail.location[1]);\r\n            this.provider_marker.setPosition(provider_location);\r\n            bounds.extend(provider_location);\r\n            var provider_contentString =\r\n                '<p><b>Name</b>: ' + this.order_detail.provider_detail.first_name + ' ' + this.order_detail.provider_detail.last_name +\r\n                '<br><b>Email</b>: ' + this.order_detail.provider_detail.email +\r\n                '<br><b>Phone</b>: ' + this.order_detail.provider_detail.country_phone_code + this.order_detail.provider_detail.phone +\r\n                '</p>';\r\n            var provider_message = new google.maps.InfoWindow({\r\n                content: provider_contentString,\r\n                maxWidth: 320\r\n            });\r\n            google.maps.event.addListener(this.provider_marker, 'click',  (e) =>{\r\n                provider_message.open(this.map, this.provider_marker);\r\n                setTimeout(function () {provider_message.close();}, 5000);\r\n            });\r\n\r\n        } else {\r\n            if(this.provider_marker){\r\n                this.provider_marker.setMap(null);\r\n                this.provider_marker = null;\r\n            }\r\n\r\n        }\r\n        this.map.fitBounds(bounds);\r\n    }\r\n\r\n    vieworder_detail(id)\r\n    {\r\n      this.helper.router_id.store.order_id=id;\r\n      this.helper.router.navigate(['store/order/detail']);\r\n    }\r\n    viewcart_detail(id)\r\n    {\r\n        this.helper.router_id.store.order_id=id;\r\n        this.helper.router.navigate(['store/cart/detail']);\r\n    }\r\n\r\n    track_deliveryman(id)\r\n    {\r\n      this.helper.router_id.store.order_id=id;\r\n      this.helper.router.navigate(['store/order/track_delivery_man']);\r\n    }\r\n    orderDetail()\r\n    {\r\n        this.helper.http.post(this.helper.POST_METHOD.DELIVERY_LIST_SEARCH_SORT,{store_id:this.store_id, server_token:this.server_token,request_status: this.request_status,\r\n                                                       search_field:this.search_field,search_value:this.search_value,page:this.page }).map((res:Response) => res.json()).subscribe(res_data=>{\r\n\r\n            this.myLoading = false;                                             \r\n            if(res_data.success == false)\r\n            {\r\n                    this.requests=[];\r\n                    this.total_page=res_data.pages;\r\n                    this.total_pages=Array(res_data.pages).fill((x,i)=>i).map((x,i)=>i+1)\r\n            }\r\n            else\r\n            {\r\n                this.total_page=res_data.pages;\r\n                this.total_pages=Array(res_data.pages).fill((x,i)=>i).map((x,i)=>i+1)\r\n\r\n                this.requests.forEach( (value , index) => {\r\n\r\n                    if(value._id == this.order_detail._id){\r\n                        this.order_detail = value;\r\n                    }\r\n\r\n                    var new_index = res_data.requests.findIndex(x => x._id==this.requests[index]._id)\r\n                    if(new_index == -1)\r\n                    {\r\n                        this.requests.splice(index , 1)\r\n                    }\r\n                    else{\r\n                        this.requests[index].delivery_status = res_data.requests[new_index].delivery_status;\r\n                        this.requests[index].provider_detail = res_data.requests[new_index].provider_detail;\r\n                        this.requests[index].date_time = res_data.requests[new_index].date_time;\r\n                    }\r\n                });\r\n\r\n                res_data.requests.forEach((new_value , index) =>{\r\n                    var aaa = this.requests.findIndex(x => x._id==res_data.requests[index]._id)\r\n\r\n                    if(aaa == -1)\r\n                    {\r\n                        this.requests.unshift(new_value)\r\n                    }\r\n                });\r\n            }\r\n        },\r\n        (error: any) => {\r\n                this.helper.http_status(error)\r\n        });\r\n    }\r\n    CancleOrder(data)\r\n    {\r\n        swal({\r\n            title: 'Are you sure?',\r\n            text: \"Cancel this order\",\r\n            type: 'warning',\r\n            showCancelButton: true,\r\n            confirmButtonColor: '#3085d6',\r\n            cancelButtonColor: '#d33',\r\n            confirmButtonText: 'Yes, delete it!'\r\n          }).then(() => {\r\n                this.myLoading = true;   \r\n                this.helper.http.post(this.helper.POST_METHOD.STORE_CANCEL_OR_REJECT_ORDER,{store_id:this.store_id, server_token:this.server_token,order_id:data.order_id, order_status:data.order_status}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n                    this.myLoading = false;   \r\n                    if(res_data.success == false)\r\n                    {\r\n                        this.helper.data.storage = {\r\n                            \"code\": res_data.error_code,\r\n                            \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                            \"class\": \"alert-danger\"\r\n                        }  \r\n                        this.helper.message()\r\n                    }\r\n                    else\r\n                    {\r\n                        this.requests.forEach(function (value) {\r\n                            if(value.order_details._id === data.order_id)\r\n                            {\r\n                                value.order_status=data.order_status\r\n                            }\r\n                        });\r\n                    }\r\n                },\r\n                (error: any) => {\r\n                    this.myLoading = false;   \r\n                        this.helper.http_status(error)\r\n                });\r\n        }).catch(swal.noop)\r\n    }\r\n    CancleRequest(data , provider_id)\r\n    {\r\n        this.myLoading = true;   \r\n        this.helper.http.post(this.helper.POST_METHOD.CANCEL_REQUEST,{store_id:this.store_id, server_token:this.server_token,request_id:data.request_id, provider_id:provider_id}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n            this.myLoading = false;   \r\n            if(res_data.success == false)\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }  \r\n                this.helper.message()\r\n            }\r\n            else\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.message,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }  \r\n                this.helper.message()\r\n                var index = this.requests.findIndex(x => x._id==data.request_id)\r\n                this.requests[index].delivery_status=res_data.delivery_status;\r\n                delete this.requests[index].provider_detail;\r\n                this.get_request_data(index);\r\n            }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading = false;   \r\n                this.helper.http_status(error)\r\n        });\r\n    }\r\n    orderAssignProvider(data)\r\n    {\r\n        let index = this.helper.router_id.store.no_deliveryman_orders.findIndex((x)=>x.order_detail._id == data.order_id);\r\n        if(index !== -1){\r\n            this.helper.router_id.store.no_deliveryman_orders.splice(index, 1);\r\n        }\r\n        this.myLoading = true;   \r\n        this.helper.http.post(this.helper.POST_METHOD.CREATE_REQUEST,{store_id:this.store_id, server_token:this.server_token,order_id:data.order_id}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n            this.myLoading = false;   \r\n            if(res_data.success == false)\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message()\r\n            }\r\n            else\r\n            {\r\n                var index = this.requests.findIndex(x => x.order_detail._id==data.order_id)\r\n                if(index !== -1) {\r\n                    this.requests[index].delivery_status = res_data.request.delivery_status\r\n                    this.requests[index].provider_detail = res_data.provider_detail;\r\n                    this.get_request_data(index);\r\n                }\r\n            }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading = false;   \r\n            this.helper.http_status(error)\r\n        });\r\n    }\r\n    \r\n    price_paid_by_store(id)\r\n    {\r\n        this.order_payment_id=id;\r\n        this.modal.open();\r\n    }\r\n    \r\n    set_payment_status_by_store(boolean)\r\n    {\r\n        this.myLoading = true;   \r\n        this.helper.http.post(this.helper.POST_METHOD.ORDER_PAYMENT_STATUS_SET_ON_CASH_ON_DELIVERY,{store_id:this.store_id, is_order_price_paid_by_store:boolean, server_token:this.server_token,order_payment_id:this.order_payment_id}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n            this.myLoading = false;   \r\n            if(res_data.success)\r\n            {\r\n                var order_payment_id_index = this.requests.findIndex(x => x.order_payment_detail._id==this.order_payment_id)\r\n               \r\n\r\n                if(order_payment_id_index !== -1)\r\n                {\r\n                    this.requests[order_payment_id_index].order_payment_detail.is_order_payment_status_set_by_store=true;\r\n                }\r\n                this.modal.close();\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.helper.message();\r\n            }\r\n            else\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }   \r\n            }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading = false;   \r\n                this.helper.http_status(error)\r\n        });\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/delivery/delivery.component.ts","import { Component, OnInit , ViewContainerRef } from '@angular/core';\r\nimport {Response } from '@angular/http';\r\nimport {Helper} from \"../../store_helper\";\r\ndeclare var jQuery:any;\r\n\r\nexport interface OrderTotal\r\n{\r\n    total_completed_orders:number,\r\n    store_earn:number,\r\n    total:number,\r\n    total_admin_earn:number,\r\n    pay_to_store:number,\r\n    store_have_service_payment:number\r\n}\r\n\r\n@Component({\r\n  \tselector: 'app-earning',\r\n  \ttemplate: require('./earning.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class StoreEarningComponent implements OnInit {\r\n\r\n    title: any;\r\n    button: any;\r\n    ORDER_STATE: any;\r\n    heading_title: any;\r\n    status: any;\r\n    store_id: Object;\r\n    server_token: String;\r\n    store_earning_list: any[];\r\n\r\n    sort_field: string;\r\n    sort_order: number;\r\n    search_field: string;\r\n    search_value: string;\r\n    start_date: string;\r\n    end_date: string;\r\n    page: number;\r\n    total_page: number;\r\n    total_pages: number[];\r\n    myLoading: boolean = true;\r\n\r\n    private order_total: OrderTotal;\r\n\r\n    constructor(private helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n\r\n        jQuery(\".chosen-select\").chosen({disable_search: true});\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n\r\n\r\n    }\r\n\r\n    ngOnInit() {\r\n\r\n        this.sort_field = \"unique_id\";\r\n        this.sort_order = -1;\r\n        this.search_field = \"user_detail.first_name\";\r\n        this.search_value = \"\";\r\n        this.start_date = '';\r\n        this.end_date = '';\r\n        this.page = 1;\r\n        this.order_total = {\r\n            total_completed_orders: 0,\r\n            store_earn: 0,\r\n            total: 0,\r\n            total_admin_earn: 0,\r\n            pay_to_store: 0,\r\n            store_have_service_payment: 0\r\n        };\r\n\r\n        let token = this.helper.tokenService.getToken();\r\n\r\n        if (!token || !token.token) {\r\n\r\n            this.helper.router.navigate(['store/logout']);\r\n        }\r\n        this.helper.message()\r\n        var store = JSON.parse(localStorage.getItem('store'));\r\n        if (store !== null) {\r\n            this.store_id = store._id\r\n            this.server_token = store.server_token\r\n        }\r\n        if (!JSON.parse(localStorage.getItem('store_document_ulpoaded')) && JSON.parse(localStorage.getItem('admin_store_document_ulpoaded'))) {\r\n            this.helper.router.navigate(['store/upload_document']);\r\n        }\r\n        this.title = this.helper.title\r\n        this.button = this.helper.button\r\n        this.heading_title = this.helper.heading_title\r\n        this.ORDER_STATE = this.helper.ORDER_STATE\r\n        this.status = status\r\n        this.store_earning_list = [];\r\n\r\n        this.store_earning(1)\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_field').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_field = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_order').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_order = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#search_field').on('change', (evnt, res_data) => {\r\n\r\n            this.search_field = res_data.selected;\r\n\r\n        });\r\n    }\r\n\r\n    activeRoute(routename: string): boolean {\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n\r\n    store_earning(page) {\r\n        this.myLoading = true;\r\n        this.page = page;\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_STORE_EARNING, {\r\n            store_id: this.store_id,\r\n            server_token: this.server_token,\r\n            start_date: this.start_date,\r\n            end_date: this.end_date,\r\n            sort_field: this.sort_field,\r\n            sort_order: this.sort_order,\r\n            search_field: this.search_field,\r\n            search_value: this.search_value,\r\n            page: this.page\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n                this.myLoading = false;\r\n                if (res_data.success == false) {\r\n                    this.store_earning_list = [];\r\n                    this.total_pages = [];\r\n                    this.order_total = {\r\n                        total_completed_orders: 0,\r\n                        store_earn: 0,\r\n                        total: 0,\r\n                        total_admin_earn: 0,\r\n                        pay_to_store: 0,\r\n                        store_have_service_payment: 0\r\n                    };\r\n                    this.total_page = 0;\r\n                }\r\n                else {\r\n                    this.store_earning_list = res_data.orders;\r\n                    this.order_total = res_data.order_total;\r\n                    this.total_page = res_data.pages;\r\n                    this.total_pages = Array(res_data.pages).fill((x, i) => i).map((x, i) => i + 1)\r\n                }\r\n            },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    viewOrderEarningDetail(id) {\r\n        this.helper.router_id.store.view_order_earning_id = id;\r\n        this.helper.router.navigate(['store/order_earning_detail']);\r\n\r\n    }\r\n\r\n    export_excel() {\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_STORE_EARNING, {\r\n            store_id: this.store_id,\r\n            server_token: this.server_token,\r\n            start_date: this.start_date,\r\n            end_date: this.end_date,\r\n            sort_field: this.sort_field,\r\n            sort_order: this.sort_order,\r\n            search_field: this.search_field,\r\n            search_value: this.search_value\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            if(res_data.success){\r\n                var json2csv = require('json2csv');\r\n                res_data.orders.forEach((order, index) => {\r\n                    if (order.order_payment_detail.is_paid_from_wallet) {\r\n                        order.payment_status = this.title.wallet;\r\n                    } else {\r\n                        if (order.order_payment_detail.is_payment_mode_cash) {\r\n                            order.payment_status = this.title.cash;\r\n                        } else {\r\n                            order.payment_status = order.payment_gateway_detail[0].name;\r\n                        }\r\n                    }\r\n\r\n                    if (order.order_payment_detail.is_payment_paid) {\r\n                        order.paid_status = this.title.completed;\r\n                    } else {\r\n                        order.paid_status = this.title.remaining;\r\n                    }\r\n\r\n                    order.user_name = order.user_detail.first_name + ' ' + order.user_detail.last_name;\r\n                    order.provider_name = order.provider_detail.first_name + ' ' + order.provider_detail.last_name;\r\n\r\n                });\r\n\r\n                var fieldNames  = [this.title.id, this.title.completed_at, this.title.user, this.title.provider,\r\n                    this.title.payment_by, this.title.payment_status, this.title.currency, this.title.no_of_item, this.title.total_cart_price,\r\n                    this.title.total_order_price, this.title.total, this.title.store_have_service_payment, this.title.earning,\r\n                    this.title.store_profit];\r\n                var fields = ['unique_id', 'completed_at', 'user_name', 'provider_name', 'payment_status', 'paid_status',\r\n                    'currency', 'order_payment_detail.total_item_count', 'order_payment_detail.total_cart_price', 'order_payment_detail.total_order_price',\r\n                    'order_payment_detail.total', 'order_payment_detail.store_have_service_payment', 'order_payment_detail.pay_to_store', 'order_payment_detail.total_store_income'\r\n                ];\r\n\r\n                var order_total_fieldNames  = [this.title.total_order, this.title.no_of_item, this.title.total_order_price, this.title.total_store_income,\r\n                    this.title.store_have_service_payment, this.title.pay_to_store\r\n                ];\r\n                var order_total_fields = ['total_completed_orders', 'total_item_count', 'store_earn', 'total', 'store_have_service_payment',\r\n                    'pay_to_store'];\r\n\r\n                var order_total_csv = json2csv({data: res_data.order_total, fields: order_total_fields, fieldNames: order_total_fieldNames});\r\n                var csv = json2csv({data: res_data.orders, fields: fields, fieldNames: fieldNames});\r\n\r\n                var final_csv: any = order_total_csv + \"\\n\" + \"\\n\" + csv\r\n\r\n                this.helper.downloadFile(final_csv);\r\n            }\r\n\r\n        });\r\n    }\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/earning/earning.component.ts","import { Component, OnInit ,ViewContainerRef, ViewChild } from '@angular/core';\r\nimport {Response } from '@angular/http';\r\nimport {Helper} from \"../../store_helper\";\r\ndeclare var jQuery:any;\r\nimport { ModalComponent } from 'ng2-bs3-modal/ng2-bs3-modal';\r\n\r\nexport interface CartProductItems{\r\n    item_id: Object,\r\n    unique_id: Number,\r\n    item_name: string,\r\n    quantity: Number,\r\n    image_url: any,\r\n    details: string,\r\n    specifications: any[],\r\n    item_price: Number,\r\n    total_specification_price: Number,\r\n    total_item_and_specification_price: Number,\r\n    note_for_item: string\r\n    //note_for_item: string\r\n}\r\n\r\nexport interface cartProducts{\r\n    items: any[],\r\n    product_id: Object,\r\n    product_name: string,\r\n    unique_id: number,\r\n    total_item_price: number\r\n}\r\n\r\n@Component({\r\n    selector: 'app-edit-order',\r\n    template: require('./edit_order.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class StoreEditOrderComponent implements OnInit {\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef){\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n    @ViewChild('itemModal')\r\n    item_modal: ModalComponent;\r\n\r\n    @ViewChild('edititemModal')\r\n    edit_item_modal: ModalComponent;\r\n\r\n    store_id:string;\r\n    server_token:string;\r\n    myLoading:boolean = true;\r\n    order: any = {cart_detail:{}};\r\n    last_item: boolean = false;\r\n    title:any;\r\n    button:any;\r\n    heading_title:any;\r\n\r\n    filtered_product_list:any[] = [];\r\n    product_list: any[] = [];\r\n    qty: number = 1;\r\n    note_for_item: string = '';\r\n    //note_for_item: string = '';\r\n    current_item: any = {image_url: []};\r\n    required_count: number = 0;\r\n    private total: number = 0;\r\n    required_temp_count: number = 0;\r\n    product_name: string = '';\r\n    product_unique_id: number = 0;\r\n    currency:any;\r\n    selected_product:string;\r\n    private cartProductItems : CartProductItems;\r\n    private cartProducts : cartProducts;\r\n\r\n    add_boolean: boolean = false;\r\n    start_screex: number = 0;\r\n    end_screex: number = 0;\r\n\r\n    selected_product_index: number = 0;\r\n    selected_item_index: number = 0;\r\n\r\n    ngOnInit() {\r\n        let token = this.helper.tokenService.getToken();\r\n\r\n        if (!token || !token.token) {\r\n\r\n            this.helper.router.navigate(['store/logout']);\r\n        }\r\n        this.helper.message();\r\n\r\n        var store = JSON.parse(localStorage.getItem('store'));\r\n        if (store !== null) {\r\n            this.store_id = store._id\r\n            this.server_token = store.server_token\r\n        }\r\n        if(this.helper.router_id.store.order_id == ''){\r\n            this.helper.router.navigate(['store/order'])\r\n        } else {\r\n            this.get_order_data();\r\n        }\r\n\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.heading_title=this.helper.heading_title;\r\n\r\n        this.cartProductItems = {\r\n            item_id: null,\r\n            unique_id: 0,\r\n            item_name: '',\r\n            quantity: 0,\r\n            image_url: [],\r\n            details: '',\r\n            specifications: [],\r\n            item_price: 0,\r\n            total_specification_price: 0,\r\n            total_item_and_specification_price: 0,\r\n            note_for_item: ''\r\n            //note_for_item: ''\r\n        }\r\n        this.cartProducts = {\r\n            items: [],\r\n            product_id: null,\r\n            product_name: '',\r\n            unique_id: 0,\r\n            total_item_price: 0\r\n        }\r\n\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_STORE_PRODUCT_ITEM_LIST,{store_id:this.store_id, server_token:this.server_token}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n\r\n            this.myLoading=false;\r\n\r\n            if(res_data.success == false)\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.filtered_product_list=[];\r\n                this.helper.message()\r\n            }\r\n            else\r\n            {\r\n                this.product_list = res_data.products;\r\n                this.currency=res_data.currency;\r\n                let product_list = res_data.products.filter((product)=>{\r\n                    let item_list = product.items.filter((item) =>{\r\n\r\n                        var specification_price = 0;\r\n                        item.specifications.filter((specification_group) => {\r\n                          specification_group.list.filter((specification) => {\r\n                            specification.price = Number(specification.price);\r\n                              if(specification.is_default_selected){\r\n                                  specification_price = specification_price + Number(specification.price);\r\n                              }\r\n                          })\r\n                          if(specification_group.min_selection==undefined || specification_group.max_selection==undefined){\r\n                            if(specification_group.type==1){\r\n                              specification_group.min_selection = 1;\r\n                              specification_group.max_selection = 1;\r\n                              specification_group.is_required = true;\r\n                            } else {\r\n                              specification_group.max_selection = specification_group.list.length;\r\n                              if(specification_group.is_required){\r\n                                specification_group.min_selection = 1;\r\n                              } else {\r\n                                specification_group.min_selection = 0;\r\n                              }\r\n                            }\r\n                          }\r\n                        })\r\n\r\n                        return (item.is_item_in_stock==true && item.is_visible_in_store == true)\r\n                    });\r\n                    product.items = item_list;\r\n                    return product.is_visible_in_store == true;\r\n                });\r\n                this.filtered_product_list=product_list;\r\n            }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n            this.helper.http_status(error)\r\n        });\r\n\r\n\r\n\r\n    }\r\n\r\n    open_item_modal(item, item_index , product_index, event){\r\n\r\n        if(event.target.attributes.class != undefined) {\r\n            if(event.target.attributes.class.value !== \"carousel-indicators_li\" && event.target.attributes.class.value !== \"carousel-indicators_li active\"){\r\n                this.qty = 1;\r\n                this.required_count = 0;\r\n                this.current_item = JSON.parse(JSON.stringify(item));\r\n                this.product_unique_id = this.filtered_product_list[product_index].unique_id;\r\n                this.product_name = this.filtered_product_list[product_index].name;\r\n                this.calculate_is_required();\r\n                this.calculateTotalAmount();\r\n                this.item_modal.open();\r\n            }\r\n        } else {\r\n            this.qty = 1;\r\n            this.required_count = 0;\r\n            this.current_item = JSON.parse(JSON.stringify(item));\r\n            this.product_unique_id = this.filtered_product_list[product_index].unique_id;\r\n            this.product_name = this.filtered_product_list[product_index].name;\r\n            this.calculate_is_required();\r\n            this.calculateTotalAmount();\r\n            this.item_modal.open();\r\n        }\r\n    }\r\n\r\n    open_edit_item_modal(item, product, selected_item_index, selected_product_index){\r\n\r\n        this.selected_item_index = selected_item_index;\r\n        this.selected_product_index = selected_product_index;\r\n\r\n        let product_index = this.product_list.findIndex((x) => x._id == product.product_id)\r\n        let item_index = this.product_list[product_index].items.findIndex((x) => x._id == item.item_id)\r\n\r\n        let current_specification = this.product_list[product_index].items[item_index].specifications;\r\n        let order_specification = item.specifications;\r\n        let new_specification = [];\r\n        current_specification.forEach((x) => {\r\n            var index = order_specification.findIndex((order_sp) => order_sp.unique_id == x.unique_id)\r\n            if(index == -1){\r\n                new_specification.push(x);\r\n            } else {\r\n                var new_specification_list = [];\r\n                x.list.forEach((y)=>{\r\n                    var list_index = order_specification[index].list.findIndex((order_sp_list) => order_sp_list.unique_id == y.unique_id)\r\n                    if(list_index == -1){\r\n                        y.is_default_selected = false;\r\n                        new_specification_list.push(y);\r\n                    } else {\r\n                        order_specification[index].list[list_index].price = y.price;\r\n                        new_specification_list.push(order_specification[index].list[list_index]);\r\n                    }\r\n                });\r\n                let json = {\r\n                    list: new_specification_list,\r\n                    \"unique_id\" : x.unique_id,\r\n                    \"name\" : x.name,\r\n                    \"is_required\": x.is_required,\r\n                    \"min_selection\": x.min_selection,\r\n                    \"max_selection\": x.max_selection,\r\n                    \"price\" : x.price,\r\n                    \"type\" : x.type\r\n                }\r\n                new_specification.push(json);\r\n            }\r\n        });\r\n        console.log(new_specification)\r\n        this.qty = item.quantity;\r\n        this.required_count = 0;\r\n        this.current_item = JSON.parse(JSON.stringify(item));\r\n        this.current_item.price = this.product_list[product_index].items[item_index].price;\r\n        this.current_item.specifications = new_specification;\r\n        this.calculate_is_required();\r\n        this.calculateTotalAmount();\r\n        this.edit_item_modal.open();\r\n    }\r\n\r\n    close_item_modal(){\r\n        this.current_item = {image_url :[]};\r\n        this.item_modal.close();\r\n        this.edit_item_modal.close();\r\n    }\r\n    calculate_is_required(){\r\n        this.current_item.specifications.forEach((specification_group) => {\r\n            if(specification_group.is_required){\r\n                this.required_count++;\r\n            }\r\n        })\r\n    }\r\n\r\n    dragstart_image(event){\r\n        this.start_screex = event.screenX\r\n    }\r\n    dragend_image(event, length){\r\n        this.end_screex = event.screenX;\r\n        var a = jQuery('.a.active').attr('data-slide-to');\r\n        a = Number(a);\r\n        if(this.start_screex < this.end_screex && a > 0){\r\n            a = a-1;\r\n            jQuery('.a#aa'+a).click()\r\n        } else if(this.start_screex > this.end_screex && a < length){\r\n            a = a+1;\r\n            jQuery('.a#aa'+a).click()\r\n        }\r\n    }\r\n\r\n    calculateTotalAmount(){\r\n        this.total = this.current_item.price;\r\n        this.required_temp_count = 0;\r\n        this.current_item.specifications.forEach((specification_group , specification_group_index) => {\r\n            let isAllowed = false;\r\n            var default_selected_count = 0;\r\n            specification_group.selected_specification = 0;\r\n            specification_group.list.forEach((specification , specification_index) => {\r\n\r\n                if(specification.is_default_selected){\r\n                    this.total = this.total + specification.price;\r\n                    default_selected_count++;\r\n                    specification_group.selected_specification++;\r\n                }\r\n                specification_group.default_selected_count = default_selected_count;\r\n            });\r\n            if(specification_group.type ==1 && specification_group.is_required) {\r\n                    if (default_selected_count >= 1) {\r\n                        this.required_temp_count++;\r\n                    }\r\n            } else if(specification_group.type == 2 && specification_group.is_required) {\r\n                    if (default_selected_count >= specification_group.min_selection) {\r\n                        this.required_temp_count++;\r\n                    }\r\n            }\r\n        });\r\n\r\n        this.total = this.total * this.qty;\r\n    }\r\n    changeradio(event, specification_group_index, specification_index){\r\n\r\n        var index = this.current_item.specifications[specification_group_index].list.findIndex(x => x.is_default_selected == true)\r\n        if(index !== -1){\r\n            this.current_item.specifications[specification_group_index].list[index].is_default_selected = false;\r\n        }\r\n        this.current_item.specifications[specification_group_index].list[specification_index].is_default_selected = true;\r\n        this.calculateTotalAmount();\r\n    }\r\n\r\n    changecheckbox(event, specification_group_index, specification_index){\r\n\r\n        this.current_item.specifications[specification_group_index].list[specification_index].is_default_selected = event.target.checked;\r\n        this.calculateTotalAmount();\r\n\r\n    }\r\n\r\n    newitem_incerase_qty(){\r\n        this.qty++;\r\n        this.calculateTotalAmount();\r\n    }\r\n\r\n    newitem_decrease_qty(){\r\n        if(this.qty>1){\r\n            this.qty--;\r\n            this.calculateTotalAmount();\r\n        }\r\n    }\r\n\r\n    updateCart(){\r\n        let specificationPriceTotal = 0;\r\n        let specificationPrice = 0;\r\n        let specificationList = [];\r\n        this.current_item.specifications.forEach((specification_group , specification_group_index) => {\r\n\r\n            let specificationItemCartList = [];\r\n            specification_group.list.forEach((specification , specification_index) => {\r\n\r\n                if(specification.is_default_selected){\r\n\r\n                    specificationPrice = specificationPrice + specification.price;\r\n                    specificationPriceTotal = specificationPriceTotal + specification.price;\r\n                    specificationItemCartList.push(specification)\r\n                }\r\n            });\r\n\r\n            if(specificationItemCartList.length > 0){\r\n                let specificationsItem_json ={\r\n                    list: specificationItemCartList,\r\n                    unique_id: specification_group.unique_id,\r\n                    name: specification_group.name,\r\n                    price: specificationPrice,\r\n                    type: specification_group.type,\r\n                    is_required: specification_group.is_required,\r\n                    min_selection: specification_group.min_selection,\r\n                    max_selection: specification_group.max_selection\r\n                }\r\n                specificationList.push(specificationsItem_json);\r\n            }\r\n            specificationPrice = 0;\r\n\r\n        });\r\n\r\n        this.order.cart_detail.order_details[this.selected_product_index].items[this.selected_item_index].item_price = this.current_item.price;\r\n        this.order.cart_detail.order_details[this.selected_product_index].items[this.selected_item_index].total_specification_price = specificationPriceTotal;\r\n        this.order.cart_detail.order_details[this.selected_product_index].items[this.selected_item_index].total_item_and_specification_price = this.total;\r\n        this.order.cart_detail.order_details[this.selected_product_index].items[this.selected_item_index].note_for_item = this.note_for_item;\r\n       \r\n        //this.order.cart_detail.order_details[this.selected_product_index].items[this.selected_item_index].note_for_item = this.note_for_item;\r\n       \r\n        \r\n        this.order.cart_detail.order_details[this.selected_product_index].items[this.selected_item_index].specifications = specificationList;\r\n        \r\n        var total_item_price = 0;\r\n        this.order.cart_detail.order_details[this.selected_product_index].items.forEach((item) =>{\r\n            total_item_price = total_item_price + item.total_item_and_specification_price;\r\n        });\r\n        this.order.cart_detail.order_details[this.selected_product_index].total_item_price = total_item_price;\r\n\r\n        this.edit_item_modal.close();\r\n        // this.update_order_data();\r\n\r\n    }\r\n\r\n    addToCart(){\r\n\r\n        let specificationPriceTotal = 0;\r\n        let specificationPrice = 0;\r\n        let specificationList = [];\r\n\r\n        this.current_item.specifications.forEach((specification_group , specification_group_index) => {\r\n\r\n            let specificationItemCartList = [];\r\n            specification_group.list.forEach((specification , specification_index) => {\r\n\r\n                if(specification.is_default_selected){\r\n\r\n                    specificationPrice = specificationPrice + specification.price;\r\n                    specificationPriceTotal = specificationPriceTotal + specification.price;\r\n                    specificationItemCartList.push(specification)\r\n                }\r\n            });\r\n\r\n            if(specificationItemCartList.length > 0){\r\n                let specificationsItem_json ={\r\n                    list: specificationItemCartList,\r\n                    unique_id: specification_group.unique_id,\r\n                    name: specification_group.name,\r\n                    price: specificationPrice,\r\n                    is_required: specification_group.is_required,\r\n                    min_selection: specification_group.min_selection,\r\n                    max_selection: specification_group.max_selection,\r\n                    type: specification_group.type,\r\n                }\r\n                specificationList.push(specificationsItem_json);\r\n            }\r\n            specificationPrice = 0;\r\n\r\n        });\r\n\r\n        this.cartProductItems.item_id = this.current_item._id;\r\n        this.cartProductItems.unique_id = this.current_item.unique_id;\r\n        this.cartProductItems.item_name = this.current_item.name;\r\n        this.cartProductItems.quantity = this.qty;\r\n        this.cartProductItems.image_url = this.current_item.image_url;\r\n        this.cartProductItems.details = this.current_item.details;\r\n        this.cartProductItems.specifications = specificationList;\r\n        this.cartProductItems.item_price = this.current_item.price;\r\n        this.cartProductItems.total_specification_price = specificationPriceTotal;\r\n        this.cartProductItems.total_item_and_specification_price = this.total;\r\n        //this.cartProductItems.note_for_item = this.note_for_item;\r\n        this.cartProductItems.note_for_item = this.note_for_item;\r\n\r\n        this.helper.user_cart.total_cart_amount = this.helper.user_cart.total_cart_amount + this.total;\r\n\r\n        if(this.isProductExistInLocalCart(this.cartProductItems))\r\n        {\r\n\r\n        } else {\r\n            let cartProductItemsList = [];\r\n            cartProductItemsList.push(this.cartProductItems)\r\n            this.cartProducts.items = cartProductItemsList;\r\n            this.cartProducts.product_id = this.current_item.product_id;\r\n            this.cartProducts.product_name = this.product_name\r\n            this.cartProducts.unique_id = this.product_unique_id\r\n            this.cartProducts.total_item_price = this.total;\r\n\r\n            this.order.cart_detail.order_details.push(this.cartProducts);\r\n        }\r\n\r\n\r\n        this.current_item = {image_url:[]};\r\n        this.cartProductItems = {\r\n            item_id: null,\r\n            unique_id: 0,\r\n            item_name: '',\r\n            quantity: 0,\r\n            image_url: [],\r\n            details: '',\r\n            specifications: [],\r\n            item_price: 0,\r\n            total_specification_price: 0,\r\n            total_item_and_specification_price: 0,\r\n            note_for_item: ''\r\n            //note_for_item: ''\r\n        }\r\n        this.cartProducts = {\r\n            items: [],\r\n            product_id: null,\r\n            product_name: '',\r\n            unique_id: 0,\r\n            total_item_price: 0\r\n        }\r\n\r\n        this.item_modal.close();\r\n        this.last_item = false;\r\n        // this.update_order_data();\r\n        this.add_boolean = false;\r\n    }\r\n\r\n    isProductExistInLocalCart(cartProductItems){\r\n\r\n        let bool = false;\r\n        this.order.cart_detail.order_details.forEach((cart_item) =>{\r\n\r\n            if(cart_item.product_id == this.current_item.product_id && bool == false){\r\n                cart_item.items.push(cartProductItems);\r\n                cart_item.total_item_price = cart_item.total_item_price + this.total;\r\n                bool = true;\r\n            }\r\n        });\r\n        return bool;\r\n    }\r\n\r\n\r\n\r\n    get_order_data(){\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_ORDER_DETAIL, {\r\n            store_id: this.store_id,\r\n            server_token: this.server_token,\r\n            order_id: this.helper.router_id.store.order_id\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n                this.myLoading = false;\r\n                if(res_data.success){\r\n                    this.order = res_data.order;\r\n                    this.check_last_item();\r\n                } else {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.router.navigate(['store/order'])\r\n                }\r\n            },\r\n            (error: any) => {\r\n                this.myLoading=false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    increase_qty(product_index, item_index){\r\n        this.order.cart_detail.order_details[product_index].items[item_index].quantity++;\r\n        this.calculate_amount(product_index, item_index, true,true);\r\n    }\r\n\r\n    remove_from_cart(product_index, item_index){\r\n        this.order.cart_detail.order_details[product_index].items.splice(item_index, 1);\r\n        if(this.order.cart_detail.order_details[product_index].items.length == 0){\r\n            this.order.cart_detail.order_details.splice(product_index, 1);\r\n            this.calculate_amount(product_index, item_index, false, false);\r\n        } else {\r\n            this.calculate_amount(product_index, item_index, true, false);\r\n        }\r\n        this.check_last_item();\r\n    }\r\n    check_last_item(){\r\n        if(this.order.cart_detail.order_details.length ==1 && this.order.cart_detail.order_details[0].items.length == 1){\r\n            this.last_item = true;\r\n        }\r\n    }\r\n\r\n    decrease_qty(product_index, item_index){\r\n        if(this.order.cart_detail.order_details[product_index].items[item_index].quantity > 1) {\r\n            this.order.cart_detail.order_details[product_index].items[item_index].quantity--;\r\n            this.calculate_amount(product_index, item_index, true, true);\r\n        }\r\n    }\r\n\r\n    calculate_amount(product_index, item_index, product_bool, item_bool){\r\n        // this.myLoading = true;\r\n        if(item_bool){\r\n            this.order.cart_detail.order_details[product_index].items[item_index].total_item_and_specification_price =\r\n                (this.order.cart_detail.order_details[product_index].items[item_index].item_price + this.order.cart_detail.order_details[product_index].items[item_index].total_specification_price) * this.order.cart_detail.order_details[product_index].items[item_index].quantity;\r\n\r\n        }\r\n\r\n        if(product_bool){\r\n            var total_item_price = 0;\r\n            this.order.cart_detail.order_details[product_index].items.forEach((item) =>{\r\n                total_item_price = total_item_price + item.total_item_and_specification_price;\r\n            });\r\n            this.order.cart_detail.order_details[product_index].total_item_price = total_item_price;\r\n        }\r\n\r\n        // this.update_order_data();\r\n\r\n\r\n    }\r\n\r\n    update_order_data(){\r\n        let totalItemsPriceWithQuantity = 0;\r\n        let totalSpecificationPriceWithQuantity = 0;\r\n        let totalItemsCount = 0;\r\n        let totalCartAmount = 0;\r\n        let totalSpecificationCount = 0;\r\n        this.order.cart_detail.order_details.forEach((order_product) => {\r\n            order_product.items.forEach((order_item) =>{\r\n                totalItemsPriceWithQuantity += (order_item.item_price * order_item.quantity);\r\n                totalSpecificationPriceWithQuantity += (order_item.total_specification_price * order_item.quantity);\r\n                totalItemsCount += order_item.quantity;\r\n                order_item.specifications.forEach((specification) => {\r\n                    totalSpecificationCount +=  (specification.list.length);\r\n                });\r\n            });\r\n\r\n            totalCartAmount += order_product.total_item_price;\r\n        });\r\n\r\n        let json = {\r\n            store_id: this.store_id,\r\n            server_token: this.server_token,\r\n            order_id: this.helper.router_id.store.order_id,\r\n            total_cart_price: totalCartAmount,\r\n            total_item_count: totalItemsCount,\r\n            order_details: this.order.cart_detail.order_details\r\n        }\r\n        this.helper.http.post(this.helper.POST_METHOD.STORE_UPDATE_ORDER, json).map((res: Response) => res.json()).subscribe(res_data => {\r\n                this.myLoading = false;\r\n\r\n                if(res_data.success){\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n                } else {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n                }\r\n                this.helper.router.navigate(['store/order']);\r\n\r\n            },\r\n            (error: any) => {\r\n                this.myLoading=false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/edit_order/edit_order.component.ts","import { Component, OnInit,ViewContainerRef , ViewChild} from '@angular/core';\r\nimport {Response } from '@angular/http';\r\nimport {Helper} from \"../../store_helper\";\r\ndeclare var jQuery:any;\r\nimport { ModalComponent } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport * as moment from 'moment-timezone';\r\n\r\n@Component({\r\n    selector: 'app-history',\r\n    template: require('./history.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class StoreHistoryComponent implements OnInit {\r\n\r\n    @ViewChild('modal')\r\n    modal: ModalComponent;\r\n    @ViewChild('order_detail_modal')\r\n    order_detail_modal: ModalComponent;\r\n\r\n    title:any;\r\n    button:any;\r\n    ORDER_STATE:any;\r\n    heading_title:any;\r\n    status:any;\r\n    store_id:Object;\r\n    server_token:String;\r\n    order_list:any[];\r\n\r\n    order_status_id:string;\r\n    search_field:string;\r\n    search_value:string;\r\n    start_date:string;\r\n    end_date:string;\r\n    page:number;\r\n    total_page:number;\r\n    total_pages:number[];\r\n    moment: any;\r\n    timezone: string = '';\r\n    order_id:Object = '';\r\n    rating:number = 1;\r\n    review:string = '';\r\n    type:number;\r\n    selected_order_index:number = 0;\r\n    order_detail: any = {};\r\n\r\n    total_item:number = 0;\r\n    order_total:number = 0;\r\n    product_item_total:number = 0;\r\n    product_item_total_array:number[] = [];\r\n    product_item_specification_total:number = 0;\r\n    product_item_specification_total_array:number[] = [];\r\n    product_specification_total_array:any[] = [];\r\n    hide_specification_group: any[] = [];\r\n    specifications: any[] = [];\r\n    item_note: string = '';\r\n    is_show_specification: boolean = false;\r\n    currency_sign: any = '';\r\n\r\n    myLoading:boolean = true;\r\n    constructor(public helper:Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n        jQuery(\".chosen-select\").chosen({disable_search: true});\r\n\r\n        setTimeout(function() {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n\r\n\r\n    }\r\n\r\n\r\n    ngOnInit() {\r\n        this.order_status_id=\"\";\r\n        this.search_field=\"provider_first_name\";\r\n        this.search_value=\"\";\r\n        this.start_date='';\r\n        this.end_date='';\r\n        this.page=1;\r\n        this.moment = moment;\r\n\r\n        let token = this.helper.tokenService.getToken();\r\n\r\n        if(!token || !token.token) {\r\n\r\n            this.helper.router.navigate(['store/logout']);\r\n        }\r\n        this.helper.message()\r\n        var store = JSON.parse(localStorage.getItem('store'));\r\n        if(store!==null)\r\n        {\r\n            this.store_id=store._id\r\n            this.server_token=store.server_token\r\n        }\r\n        if(!JSON.parse(localStorage.getItem('store_document_ulpoaded')) && JSON.parse(localStorage.getItem('admin_store_document_ulpoaded')))\r\n        {\r\n            this.helper.router.navigate(['store/upload_document']);\r\n        }\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.heading_title=this.helper.heading_title\r\n        this.ORDER_STATE=this.helper.ORDER_STATE\r\n        this.status=this.helper.status\r\n        this.order_list=[];\r\n\r\n        this.store_history(1)\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#order_status_id').on('change', (evnt,res_data) => {\r\n\r\n            this.order_status_id=res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#search_field').on('change', (evnt,res_data) => {\r\n\r\n            this.search_field=res_data.selected;\r\n\r\n        });\r\n    }\r\n\r\n    activeRoute(routename: string): boolean{\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n\r\n    open_detail_modal(index){\r\n        // this.order_detail = this.order_list[index];\r\n        \r\n        this.order_detail_modal.open();\r\n    }\r\n    hide_specifications_group(specification_group_index)\r\n    {\r\n        this.hide_specification_group[specification_group_index]='true';\r\n        jQuery('#spec_list'+specification_group_index).hide();\r\n    }\r\n\r\n    show_specifications_group(specification_group_index)\r\n    {\r\n        this.hide_specification_group[specification_group_index]='false';\r\n        jQuery('#spec_list'+specification_group_index).show();\r\n    }\r\n\r\n    get_specification(product_index, item_index){\r\n        this.is_show_specification= true;\r\n        this.specifications = this.order_detail.cart_detail.order_details[product_index].items[item_index].specifications;\r\n        this.item_note = this.order_detail.cart_detail.order_details[product_index].items[item_index].note_for_item;\r\n    }\r\n\r\n    // order_detail(id)\r\n    // {\r\n    //   this.helper.router_id.store.order_id=id;\r\n    //   this.helper.router.navigate(['store/order/detail']);\r\n    // }\r\n    //\r\n    //\r\n    // view_invoice(id) {\r\n    //     this.helper.router_id.store.view_order_earning_id = id;\r\n    //     this.helper.router.navigate(['store/order_earning_detail']);\r\n    //\r\n    // }\r\n    // viewcart_detail(id)\r\n    // {\r\n    //     this.helper.router_id.store.order_id=id;\r\n    //     this.helper.router.navigate(['store/cart/detail']);\r\n    // }\r\n    store_history(page)\r\n    {\r\n        this.myLoading=true;\r\n        this.selected_order_index = 0;\r\n        this.page=page;\r\n        this.helper.http.post(this.helper.POST_METHOD.HISTORY,{store_id:this.store_id, server_token:this.server_token, start_date:this.start_date,end_date:this.end_date,\r\n            order_status_id:this.order_status_id, search_field:this.search_field,search_value:this.search_value,page:this.page }).map((res:Response) => res.json()).subscribe(res_data=>{\r\n\r\n            this.myLoading=false;\r\n            if(res_data.success == false)\r\n            {  \r\n                this.order_list=[];\r\n                this.total_pages=[];\r\n            }\r\n            else\r\n            {\r\n                this.currency_sign = res_data.currency_sign;\r\n                this.order_list=res_data.orders;\r\n                this.total_page=res_data.pages;\r\n                this.total_pages=Array(res_data.pages).fill((x,i)=>i).map((x,i)=>i+1)\r\n                if(this.order_list.length>0){\r\n                    // this.order_detail = this.order_list[0];\r\n                    this.get_order_detail(this.order_list[0]._id)\r\n                }\r\n            }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n    }\r\n    \r\n//    ShowUserDetail_Model(user_id) {\r\n//        \r\n//        \r\n//    }\r\n\r\n    get_order_detail(order_id){\r\n        // this.order_detail = this.order_list[index];\r\n        console.log(order_id)\r\n        this.helper.http.post('/api/store/get_order_cart_detail',{store_id:this.store_id, server_token:this.server_token,order_id: order_id}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n            console.log(res_data)\r\n            this.order_detail = JSON.parse(JSON.stringify(res_data.order_detail));\r\n\r\n            this.is_show_specification = false;\r\n            this.order_total = 0;\r\n            this.product_item_total = 0;\r\n            this.total_item = 0;\r\n            this.product_item_specification_total = 0;\r\n            this.product_item_specification_total_array = [];\r\n            this.product_item_total_array = [];\r\n            this.product_specification_total_array = [];\r\n            this.order_detail.cart_detail.order_details.forEach((product, product_index)=>{\r\n                this.hide_specification_group[product_index]=\"false\"\r\n                product.items.forEach((item) =>{\r\n                    this.order_total=this.order_total + (item.item_price + item.total_specification_price)*item.quantity\r\n                    this.product_item_total=this.product_item_total + (item.item_price + item.total_specification_price)*item.quantity\r\n                    this.total_item++;\r\n                    item.specifications.forEach((specification)=>{\r\n                        this.product_item_specification_total= this.product_item_specification_total + specification.specification_price;\r\n                    });\r\n                    this.product_item_specification_total_array.push(this.product_item_specification_total)\r\n                    this.product_item_specification_total=0;\r\n                })\r\n                this.product_specification_total_array.push(this.product_item_specification_total_array)\r\n                this.product_item_specification_total_array=[];\r\n                this.product_item_total_array.push(this.product_item_total)\r\n                this.product_item_total=0;\r\n            })\r\n        });\r\n    }\r\n\r\n    give_rate_modal(orderid , index, type)\r\n    {\r\n        this.rating = 1;\r\n        this.review = '';\r\n        this.type = type;\r\n        this.order_id = orderid;\r\n        this.modal.open()\r\n        this.selected_order_index = index;\r\n    }\r\n\r\n    give_rate() {\r\n        this.myLoading=true;\r\n        this.modal.close()\r\n        let method = '';\r\n        var json = {};\r\n        if(this.type == 1){\r\n             method = this.helper.POST_METHOD.STORE_RATING_TO_USER;\r\n             json = {\r\n                 store_id: this.store_id,\r\n                 server_token: this.server_token,\r\n                 store_rating_to_user: this.rating,\r\n                 store_review_to_user: this.review,\r\n                 order_id: this.order_id\r\n             }\r\n        } else {\r\n             method = this.helper.POST_METHOD.STORE_RATING_TO_PROVIDER;\r\n             json = {\r\n                store_id: this.store_id,\r\n                server_token: this.server_token,\r\n                store_rating_to_provider: this.rating,\r\n                store_review_to_provider: this.review,\r\n                order_id: this.order_id\r\n             }\r\n        }\r\n        this.helper.http.post(method , json).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            this.myLoading=false;\r\n            if(res_data.success) {\r\n                var index = this.order_list.findIndex(x => x._id==this.order_id)\r\n                if(this.type == 1){\r\n                    this.order_list[index].is_store_rated_to_user = true;\r\n                    if(this.order_list[index].review_detail.length == 0)\r\n                    {\r\n                        this.order_list[index].review_detail[0] = {\"store_rating_to_user\": this.rating };\r\n                    } else {\r\n                        this.order_list[index].review_detail[0].store_rating_to_user = this.rating;\r\n                    }\r\n\r\n                } else {\r\n                    this.order_list[index].is_store_rated_to_provider = true;\r\n                    if(this.order_list[index].review_detail.length == 0)\r\n                    {\r\n                        this.order_list[index].review_detail[0] = {\"store_rating_to_provider\": this.rating };\r\n                    } else {\r\n                        this.order_list[index].review_detail[0].store_rating_to_provider = this.rating;\r\n                    }\r\n                }\r\n            } else {\r\n\r\n            }\r\n\r\n            this.rating = 1;\r\n            this.review = '';\r\n        },\r\n        (error: any) => {\r\n        this.myLoading=false;\r\n        this.helper.http_status(error)\r\n        });\r\n    }\r\n    \r\n    \r\n\r\n   export_excel() {\r\n       this.helper.http.post('/api/store/export_excel_history', {store_id:this.store_id, server_token:this.server_token, start_date:this.start_date,end_date:this.end_date,\r\n           order_status_id:this.order_status_id,\r\n           search_field:this.search_field,search_value:this.search_value}).map((res: Response) => res.json()).subscribe(res => {\r\n           var json2csv = require('json2csv');\r\n\r\n           var fieldNames  = ['Unique ID','User','Provider','User Rating','Provider Rating','Date','Payment By',\r\n               'Total', 'Status'\r\n           ];\r\n           var fields = ['unique_id', 'user_name', 'provider_name', 'review_detail[0].store_rating_to_user', 'review_detail[0].store_rating_to_provider',\r\n               'completed_at', 'payment_status', 'order_payment_detail.total', 'status'\r\n           ];\r\n\r\n           res.orders.forEach((order, index) => {\r\n                if(order.order_payment_detail.is_paid_from_wallet){\r\n                    order.payment_status = this.title.wallet;\r\n                } else {\r\n                    if(order.order_payment_detail.is_payment_mode_cash){\r\n                        order.payment_status = this.title.cash;\r\n                    } else {\r\n                        order.payment_status = order.payment_gateway_detail[0].name;\r\n                    }\r\n                }\r\n\r\n                order.user_name = order.user_detail.first_name + ' ' + order.user_detail.last_name;\r\n                if(order.provider_detail.length > 0){\r\n                    order.provider_name = order.provider_detail[0].first_name + ' ' + order.provider_detail[0].last_name;\r\n                }\r\n\r\n                switch(order.order_status){\r\n                    case this.ORDER_STATE.STORE_REJECTED:\r\n                        order.status = this.status.rejected;\r\n                        break;\r\n                    case this.ORDER_STATE.STORE_CANCELLED:\r\n                        order.status = this.status.cancelled;\r\n                        break;\r\n                    case this.ORDER_STATE.NO_DELIVERY_MAN_FOUND:\r\n                        order.status = this.status.no_delivery_man_found;\r\n                        break;\r\n                    case this.ORDER_STATE.DELIVERY_MAN_REJECTED:\r\n                        order.status = this.status.delivery_man_rejected;\r\n                        break;\r\n                    case this.ORDER_STATE.DELIVERY_MAN_CANCELLED:\r\n                        order.status = this.status.delivery_man_cancelled;\r\n                        break;\r\n                    case this.ORDER_STATE.CANCELED_BY_USER:\r\n                        order.status = this.status.user_cancelled;\r\n                        break;\r\n                    case this.ORDER_STATE.DELIVERY_MAN_COMPLETE_DELIVERY:\r\n                        order.status = this.status.order_delivered;\r\n                        break;\r\n                    case this.ORDER_STATE.ORDER_COMPLETED:\r\n                        order.status = this.status.completed;\r\n                        break;\r\n                    default:\r\n                        order.satus = '';\r\n                }\r\n           });\r\n\r\n           var csv = json2csv({data: res.orders, fields: fields,fieldNames:fieldNames});\r\n\r\n\r\n           this.helper.downloadFile(csv);\r\n\r\n       });\r\n   }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/history/history.component.ts","import { Component, OnInit , ViewContainerRef } from '@angular/core';\r\nimport {Response } from '@angular/http';\r\nimport {Helper} from \"../../store_helper\";\r\ndeclare var jQuery:any;\r\nimport * as jsPDF from 'jspdf';\r\n// var htmlToImage = require('html-to-image');\r\nimport * as moment from 'moment-timezone';\r\n\r\n@Component({\r\n  selector: 'app-monthly_earning',\r\n  template: require('./monthly_earning.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class StorMonthlyEarningComponent implements OnInit {\r\n\r\n    title:any;\r\n    button:any;\r\n    ORDER_STATE:any;\r\n    heading_title:any;\r\n    store_id:Object;\r\n    server_token:String;\r\n    search_field:string;\r\n    search_value:string;\r\n    start_date:string;\r\n    end_date:string;\r\n    week_date:string;\r\n    week_array:any[];\r\n    show:Boolean;\r\n    month_array: any[] = [];\r\n    year_array: any[] = [];\r\n    select_year: any;\r\n    select_month: any = 0;\r\n    order_list: any[] = [];\r\n    bonus_list: any[] = [];\r\n    subscription_charge: number = 0;\r\n    order_total:any = {\r\n        total_cart_price: 0,\r\n                total_store_income: 0,\r\n                total_delivery_cart_price: 0,\r\n                total_pickup_cash_cart_price: 0,\r\n                total_pickup_card_cart_price: 0,\r\n                total_delivery_store_income: 0,\r\n                total_pickup_store_income: 0,\r\n                total_cart_price_with_saas: 0,\r\n                total_cart_price_without_saas: 0,\r\n                total_store_income_with_saas: 0,\r\n                total_store_income_without_saas: 0,\r\n                total_saas_order: 0,\r\n                total_delivery_order: 0,\r\n                total_pickup_cash_order: 0,\r\n                total_pickup_card_order: 0,\r\n                total_non_saas_order: 0,\r\n                total_bonus: 0,\r\n                total_malus: 0\r\n    }\r\n    moment: any;\r\n    store_detail: any = {};\r\n\r\n    show_selected_month: string = '';\r\n    show_selected_year: string = '';\r\n\r\n    \r\n\r\n    constructor(private helper:Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n        jQuery(\".chosen-select\").chosen();\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.search_field=\"user_detail.first_name\";\r\n        this.search_value=\"\";\r\n        this.start_date='';\r\n        this.end_date='';\r\n        this.week_date='';\r\n        this.show=false;\r\n        this.month_array = [{value: 0, text: 'Janvier'}, {value: 1, text: 'Février'}, {value: 2, text: 'Mars'}, {value: 3, text: 'Avril'}, {value: 4, text: 'Mai'}, {value: 5, text: 'Juin'}, {value: 6, text: 'Juillet'}, {value: 7, text: 'Août'}, {value: 8, text: 'Septembre'}, {value: 9, text: 'Octobre'}, {value: 10, text: 'Novembre'}, {value: 11, text: 'Décembre'}];\r\n\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.heading_title=this.helper.heading_title\r\n        this.ORDER_STATE=this.helper.ORDER_STATE\r\n        this.week_array=[];\r\n        this.moment = moment;\r\n\r\n        var store = JSON.parse(localStorage.getItem('store'));\r\n        if(store!==null)\r\n        {\r\n            this.store_id=store._id\r\n            this.server_token=store.server_token\r\n            this.store_detail = store;\r\n        }\r\n        if(!JSON.parse(localStorage.getItem('store_document_ulpoaded')) && JSON.parse(localStorage.getItem('admin_store_document_ulpoaded')))\r\n        {\r\n            this.helper.router.navigate(['store/upload_document']);\r\n        }\r\n\r\n        var monthNames = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\",\r\n            \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\r\n\r\n        var registered_date = new Date('01/01/2021')\r\n        console.log(registered_date)\r\n        var today = new Date(Date.now());\r\n        var getDay = today.getDay();\r\n        getDay = 7 - getDay;\r\n        var lastWeekEndDay = today.getDate() + getDay - 1;\r\n        var lastWeekEndDate1 = new Date(today.setDate(lastWeekEndDay));\r\n        var timeDiff = Math.abs(lastWeekEndDate1.getTime() - registered_date.getTime());\r\n        var total_week = Math.ceil((timeDiff / (1000 * 3600 * 24))/7); \r\n\r\n        for(var i = 0; i < total_week; i++){\r\n            var today = new Date(Date.now());\r\n            var getDay = today.getDay();\r\n            getDay = 7 - getDay;\r\n            var lastWeekEndDay = today.getDate() + getDay - 1 - (i * 7);\r\n            var lastWeekEndDate = new Date(today.setDate(lastWeekEndDay)).setHours(23, 59, 59, 999);\r\n            var lastWeekEndDates = new Date(lastWeekEndDate);\r\n            var lastWeekStartDate = new Date(lastWeekEndDates.getTime() - 6 * 24 * 60 * 60 * 1000);\r\n            var lastWeekStartDates = lastWeekStartDate.setHours(0, 0, 0, 0);\r\n            lastWeekStartDate = new Date(lastWeekStartDates);\r\n\r\n\r\n            var month = monthNames[lastWeekStartDate.getMonth()];\r\n            var date = lastWeekStartDate.getDate();\r\n            var year = lastWeekStartDate.getFullYear();\r\n            var start_date = lastWeekStartDate.getMonth()+1 + '-' + date + '-' + year; \r\n            var lastWeekstartday = date + ' ' + month + ' ' + year;\r\n\r\n\r\n                month =  monthNames[lastWeekEndDates.getMonth()];\r\n                date = lastWeekEndDates.getDate();\r\n                year = lastWeekEndDates.getFullYear();\r\n            var lastWeekenddate = date + ' ' + month + ' ' + year;\r\n            var end_date = lastWeekEndDates.getMonth()+1 + '-' + date + '-' + year;\r\n            \r\n\r\n            this.week_array.push({value: start_date+' '+end_date , text: lastWeekstartday + ' - ' + lastWeekenddate})\r\n            if(i==0)\r\n            {\r\n                this.week_date = start_date+' '+end_date;   \r\n                this.start_date=start_date;\r\n                this.end_date=end_date;\r\n            }   \r\n        }\r\n        var today = new Date(Date.now());\r\n        var firstDay: any = new Date(registered_date.getFullYear(), registered_date.getMonth(), 1);\r\n        var lastDay: any = new Date(today.getFullYear(), today.getMonth() + 1, 0);\r\n        var total_month = monthDiff(firstDay, lastDay);\r\n        console.log(firstDay)\r\n        console.log(lastDay)\r\n        for(i=0; i<total_month; i++){\r\n            \r\n            lastDay = lastDay.setMonth(lastDay.getMonth()-1);\r\n            lastDay = new Date(lastDay);\r\n            var index = this.year_array.indexOf(lastDay.getFullYear());\r\n            if(index == -1){\r\n                this.year_array.push(lastDay.getFullYear());\r\n                if(this.year_array.length == 1){\r\n                    this.change_year(this.select_year)\r\n                    this.select_year = lastDay.getFullYear()\r\n                }\r\n            }\r\n            setTimeout(function() {\r\n                jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n            }, 2000);\r\n        }\r\n        this.select_month = today.getMonth();\r\n        this.select_year = today.getFullYear();\r\n\r\n        function monthDiff(d1, d2) {\r\n            var months;\r\n            months = (d2.getFullYear() - d1.getFullYear()) * 12;\r\n            months -= d1.getMonth() + 1;\r\n            months += d2.getMonth();\r\n            months = months+1;\r\n            return months <= 0 ? 0 : months;\r\n        }\r\n\r\n        setTimeout(function() {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n       \r\n        jQuery(this.helper.elementRef.nativeElement).find('#search_field').on('change', (evnt,res_data) => {\r\n\r\n            this.search_field=res_data.selected;\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#select_year').on('change', (evnt,res_data) => {\r\n\r\n            this.select_year=res_data.selected;\r\n            this.change_year(this.select_year)\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#select_month').on('change', (evnt,res_data) => {\r\n\r\n            this.select_month=res_data.selected;\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#week_date').on('change', (evnt,res_data) => {\r\n\r\n            \r\n            this.week_date = res_data.selected;\r\n            var date = this.week_date.split(' ');\r\n            this.start_date=date[0];\r\n            this.end_date=date[1];  \r\n        });\r\n        this.store_monthly_earning();\r\n    }\r\n\r\n    change_year(year){\r\n        this.month_array = [];\r\n        var last_year = new Date().getFullYear() - 1;\r\n        if(year === last_year.toString()){\r\n            this.month_array = [{value: 7, text: 'Août'}, {value: 8, text: 'Septembre'}, {value: 9, text: 'Octobre'}, {value: 10, text: 'Novembre'}, {value: 11, text: 'Décembre'}];\r\n        }else{\r\n            this.month_array = [{value: 0, text: 'Janvier'}, {value: 1, text: 'Février'}, {value: 2, text: 'Mars'}, {value: 3, text: 'Avril'}, {value: 4, text: 'Mai'}, {value: 5, text: 'Juin'}, {value: 6, text: 'Juillet'}, {value: 7, text: 'Août'}, {value: 8, text: 'Septembre'}, {value: 9, text: 'Octobre'}, {value: 10, text: 'Novembre'}, {value: 11, text: 'Décembre'}];\r\n        }\r\n        this.select_month = -1;            \r\n        setTimeout(()=>{\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");  \r\n        }, 2000);\r\n    }\r\n\r\n    store_monthly_earning(){\r\n        var start_date: any = new Date(Date.UTC(this.select_year, this.select_month, 1));\r\n        var end_date: any = new Date(Date.UTC(this.select_year, Number(this.select_month) + 1, 0));\r\n        start_date = (start_date.getMonth()+1) + '/' + start_date.getDate() + '/' + start_date.getFullYear()\r\n        end_date = (end_date.getMonth()+1) + '/' + end_date.getDate() + '/' + end_date.getFullYear()\r\n\r\n        this.helper.http.post('/admin/get_partner_earning_detail',{store_id:this.store_id, start_date:start_date, end_date:end_date}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n            this.order_list = res_data.order_list;\r\n            this.bonus_list = res_data.bonus_list;\r\n            this.subscription_charge = res_data.subscription_charge;\r\n\r\n            this.order_total = {\r\n                total_cart_price: 0,\r\n                total_store_income: 0,\r\n                total_delivery_cart_price: 0,\r\n                total_pickup_cash_cart_price: 0,\r\n                total_pickup_card_cart_price: 0,\r\n                total_delivery_store_income: 0,\r\n                total_pickup_store_income: 0,\r\n                total_cart_price_with_saas: 0,\r\n                total_cart_price_without_saas: 0,\r\n                total_store_income_with_saas: 0,\r\n                total_store_income_without_saas: 0,\r\n                total_saas_order: 0,\r\n                total_delivery_order: 0,\r\n                total_pickup_cash_order: 0,\r\n                total_pickup_card_order: 0,\r\n                total_non_saas_order: 0,\r\n                total_bonus: 0,\r\n                total_malus: 0\r\n            }\r\n            this.order_list.forEach((order_detail)=>{\r\n                this.order_total.total_cart_price = this.order_total.total_cart_price + order_detail.total_cart_price;\r\n                this.order_total.total_store_income = this.order_total.total_store_income + order_detail.total_store_income;\r\n                // if(order_detail.is_saas_order){\r\n                    this.order_total.total_cart_price_with_saas = this.order_total.total_cart_price_with_saas + order_detail.total_cart_price;\r\n                    this.order_total.total_store_income_with_saas = this.order_total.total_store_income_with_saas + order_detail.total_store_income;\r\n                    this.order_total.total_saas_order++;\r\n                    if(order_detail.is_user_pick_up_order){\r\n                        this.order_total.total_pickup_store_income = this.order_total.total_pickup_store_income + order_detail.total_store_income;\r\n                        if(order_detail.is_payment_mode_cash){\r\n                            this.order_total.total_pickup_cash_cart_price = this.order_total.total_pickup_cash_cart_price + order_detail.total_cart_price;\r\n                            this.order_total.total_pickup_cash_order++;\r\n                        } else {\r\n                            this.order_total.total_pickup_card_cart_price = this.order_total.total_pickup_card_cart_price + order_detail.total_cart_price;\r\n                            this.order_total.total_pickup_card_order++;\r\n                        }\r\n                    } else {\r\n                        this.order_total.total_delivery_cart_price = this.order_total.total_delivery_cart_price + order_detail.total_cart_price;\r\n                        this.order_total.total_delivery_store_income = this.order_total.total_delivery_store_income + order_detail.total_store_income;\r\n                        this.order_total.total_delivery_order++;\r\n                    }\r\n                // } else {\r\n                //     this.order_total.total_cart_price_without_saas = this.order_total.total_cart_price_without_saas + order_detail.total_cart_price;\r\n                //     this.order_total.total_store_income_without_saas = this.order_total.total_store_income_without_saas + order_detail.total_store_income;\r\n                //     this.order_total.total_non_saas_order++;\r\n                // }\r\n            });\r\n\r\n\r\n            this.bonus_list.forEach((bonus_detail)=>{\r\n                if(bonus_detail.bonus_type == 1){\r\n                    this.order_total.total_bonus = this.order_total.total_bonus + bonus_detail.bonus_amount; \r\n                } else {\r\n                    this.order_total.total_malus = this.order_total.total_malus + bonus_detail.bonus_amount; \r\n                }\r\n            })\r\n\r\n            this.show_selected_month = this.select_month;\r\n            this.show_selected_year = this.select_year;\r\n            this.store_detail = res_data.store_detail;\r\n            this.store_detail.saas_percentage_delivery_for_store = res_data.store_detail.saas_percentage_delivery_for_store || res_data.saas_percentage_delivery_for_store;\r\n            this.store_detail.saas_percentage_pickup_by_cash_for_store = res_data.store_detail.saas_percentage_pickup_by_cash_for_store || res_data.saas_percentage_pickup_by_cash_for_store;\r\n            this.store_detail.saas_percentage_pickup_by_card_for_store = res_data.store_detail.saas_percentage_pickup_by_card_for_store || res_data.saas_percentage_pickup_by_card_for_store;\r\n            this.store_detail.saas_percentage_for_provider = res_data.saas_percentage_for_provider;\r\n            this.order_list.sort(this.sortItem);\r\n            // this.store_detail.admin_profit_value_on_store = res_data.admin_profit_value_on_store\r\n        });\r\n    }\r\n\r\n    sortItem(a,b) {\r\n        return (a.is_user_pick_up_order === b.is_user_pick_up_order)? 0 : a.is_user_pick_up_order? 1 : -1;;\r\n    }\r\n\r\n    export_excel(){\r\n        // var domtoimage = require('dom-to-image');\r\n        var node = document.getElementById('order');\r\n        var doc = new jsPDF({\r\n            format: \"a1\"\r\n        });          \r\n            doc.fromHTML(\r\n                node,\r\n                10,\r\n                10\r\n            );\r\n            var file_name = this.store_detail.name + '_' + 'Facture_'+this.get_month_name()+this.show_selected_year;\r\n            doc.save(file_name+'.pdf');\r\n    }\r\n    get_month_name(){\r\n        var index = this.month_array.findIndex((x)=>x.value == this.show_selected_month);\r\n        if(index !== -1){\r\n            return this.month_array[index].text;\r\n        } else {\r\n            return '';\r\n        }\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/monthly_earning/monthly_earning.component.ts","import {Component, OnInit, ViewContainerRef, ViewChild} from '@angular/core';\r\nimport {Response} from '@angular/http';\r\nimport {Helper} from \"../../store_helper\";\r\ndeclare var jQuery: any;\r\ndeclare var swal: any;\r\nimport {ModalComponent} from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport * as moment from 'moment-timezone';\r\ndeclare var stripe;\r\n\r\nexport interface CartProductItems{\r\n    item_id: Object,\r\n    unique_id: Number,\r\n    item_name: string,\r\n    quantity: Number,\r\n    image_url: any,\r\n    details: string,\r\n    specifications: any[],\r\n    item_price: Number,\r\n    total_specification_price: Number,\r\n    total_item_and_specification_price: Number,\r\n    note_for_item: string\r\n    //note_for_item: string\r\n}\r\n\r\nexport interface cartProducts{\r\n    items: any[],\r\n    product_id: Object,\r\n    product_name: string,\r\n    unique_id: number,\r\n    total_item_price: number\r\n}\r\n\r\n@Component({\r\n    selector: 'app-order',\r\n    template: require('./order.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class StoreOrderComponents implements OnInit {\r\n\r\n    @ViewChild('cancel_order_modal')\r\n    cancel_order_modal: ModalComponent;\r\n\r\n    @ViewChild('cancel_detail_order_modal')\r\n    cancel_detail_order_modal: ModalComponent;\r\n\r\n    @ViewChild('complete_order_modal')\r\n    complete_order_modal: ModalComponent;\r\n\r\n    @ViewChild('estimated_time_modal')\r\n    estimated_time_modal: ModalComponent;\r\n\r\n    @ViewChild('order_detail_modal')\r\n    order_detail_modal: ModalComponent;\r\n\r\n    @ViewChild('request_detail_modal')\r\n    request_detail_modal: ModalComponent;\r\n\r\n    @ViewChild('stop_new_order_modal')\r\n    stop_new_order_modal: ModalComponent;\r\n\r\n    @ViewChild('estimated_time_modal1')\r\n    estimated_time_modal1: ModalComponent;\r\n\r\n    @ViewChild('edititemModal')\r\n    edit_item_modal: ModalComponent;\r\n    @ViewChild('additemModal')\r\n    add_item_modal: ModalComponent;\r\n    @ViewChild('item_modal')\r\n    item_modal: ModalComponent;\r\n\r\n    estimated_time: number = 0;\r\n    order_count: number = null;\r\n\r\n    order_id: Object = null;\r\n    confirmation_code_for_complete_delivery: number = null;\r\n    confirmation_code: number = null;\r\n    conf_code_error_message: Boolean = false;\r\n    is_confirmation_code_required_at_complete_delivery: Boolean = false;\r\n\r\n    title: any;\r\n    button: any;\r\n    ORDER_STATE: any;\r\n    heading_title: any;\r\n    status: any;\r\n    store_id: Object;\r\n    server_token: String;\r\n    delivery_time_max: number = 0;\r\n    order_list: any[];\r\n    interval: any;\r\n    order_detail: any = {};\r\n    request_detail: any = null;\r\n    selected_order_id: any = '';\r\n\r\n    payment_mode: string = '';\r\n    order_type: string = '';\r\n    pickup_type: string = '';\r\n    search_field: string;\r\n    search_value: string;\r\n    page: number;\r\n    total_page: number;\r\n    total_pages: number[];\r\n    moment: any;\r\n    current_order: any = [];\r\n    cancel_reason: string = '';\r\n    currency_sign: string = '';\r\n    myLoading: boolean = true;\r\n\r\n    total_item:number = 0;\r\n    order_total:number = 0;\r\n    product_item_total:number = 0;\r\n    product_item_total_array:number[] = [];\r\n    product_item_specification_total:number = 0;\r\n    product_item_specification_total_array:number[] = [];\r\n    product_specification_total_array:any[] = [];\r\n    hide_specification_group: any[] = [];\r\n    specifications: any[] = [];\r\n    item_note: string = '';\r\n    is_show_specification: boolean = false;\r\n\r\n    requests: any[] = [];\r\n    order_type_active: number = 1;\r\n    is_edit_order: boolean = false;\r\n\r\n    is_stop_new_order_all_day: boolean = false;\r\n    stop_for_time: number = 5;\r\n    close_till: string = '';\r\n    store_order: any[] = [];\r\n    // estimated_time: number = 0;\r\n\r\n    map: any;\r\n    provider_marker: any;\r\n    qty: number = 1;\r\n    note_for_item: string = '';\r\n    provider_interval: any;\r\n    //note_for_item: string = '';\r\n    current_item: any = {image_url: []};\r\n    required_count: number = 0;\r\n    private total: number = 0;\r\n    required_temp_count: number = 0;\r\n    product_name: string = '';\r\n    product_unique_id: number = 0;\r\n    currency:any;\r\n    selected_product:string;\r\n    start_screex: number = 0;\r\n    end_screex: number = 0;\r\n\r\n    selected_product_index: number = 0;\r\n    selected_item_index: number = 0;\r\n    filtered_product_list:any[] = [];\r\n    product_list: any[] = [];\r\n    private cartProductItems : CartProductItems;\r\n    private cartProducts : cartProducts;\r\n    last_item: boolean = false;\r\n    is_show_map: boolean = false;\r\n\r\n    \r\n\r\n    add_time(time){\r\n        this.estimated_time = time;\r\n    }\r\n\r\n    update_estimated_time(){\r\n        this.helper.http.post(this.helper.POST_METHOD.UPDATE_ESTIMATED_TIME,{store_id:this.store_id, server_token:this.server_token, order_id:this.order_detail._id, estimated_time:this.estimated_time}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n            this.order_detail.estimated_time_for_ready_order = res_data.estimated_time_for_ready_order;\r\n            var index = this.order_list.findIndex(x => x._id == this.order_detail._id);\r\n            if(index !== -1){\r\n                this.order_list[index].estimated_time_for_ready_order = res_data.estimated_time_for_ready_order;\r\n            }\r\n\r\n            var index = this.order_list.findIndex(x => (x.order_detail && x.order_detail._id == this.order_detail._id));\r\n            if(index !== -1){\r\n                this.order_list[index].order_detail.estimated_time_for_ready_order = res_data.estimated_time_for_ready_order;\r\n            }\r\n            this.estimated_time_modal1.close();\r\n        });\r\n    }\r\n\r\n    constructor(private helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n        jQuery(\".chosen-select\").chosen({disable_search: true});\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n    }\r\n\r\n    select_time(time){\r\n        this.stop_for_time = time;\r\n        var date = new Date();\r\n        date = new Date(date.setMinutes(date.getMinutes()+time));\r\n        console.log(date)\r\n        this.close_till = moment(date).format('HH:mm');\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.search_field = \"user_detail.first_name\";\r\n        this.search_value = \"\";\r\n        this.page = 1;\r\n        this.moment = moment;\r\n\r\n        let token = this.helper.tokenService.getToken();\r\n\r\n        if (!token || !token.token) {\r\n\r\n            this.helper.router.navigate(['store/logout']);\r\n        }\r\n        this.helper.message()\r\n        var store = JSON.parse(localStorage.getItem('store'));\r\n\r\n        if (store !== null) {\r\n            this.store_id = store._id\r\n            this.server_token = store.server_token\r\n            this.delivery_time_max = store.delivery_time_max\r\n            this.is_stop_new_order_all_day = store.is_stop_new_order_all_day;\r\n            this.close_till = store.close_till;\r\n            this.store_order = store.store_order;\r\n            this.stop_for_time = store.stop_for_time;\r\n        }\r\n\r\n        if (!JSON.parse(localStorage.getItem('store_document_ulpoaded')) && JSON.parse(localStorage.getItem('admin_store_document_ulpoaded'))) {\r\n            this.helper.router.navigate(['store/upload_document']);\r\n        }\r\n        this.title = this.helper.title\r\n        this.button = this.helper.button\r\n        this.heading_title = this.helper.heading_title\r\n        this.ORDER_STATE = this.helper.ORDER_STATE\r\n        this.status = this.helper.status\r\n        this.order_list = [];\r\n        this.filter(1, true)\r\n        this.interval = setInterval(() => {\r\n            this.orderDetail(false)\r\n        }, this.helper.TIMEOUT.NEW_ORDER_REQUEST);\r\n\r\n        this.cartProductItems = {\r\n            item_id: null,\r\n            unique_id: 0,\r\n            item_name: '',\r\n            quantity: 0,\r\n            image_url: [],\r\n            details: '',\r\n            specifications: [],\r\n            item_price: 0,\r\n            total_specification_price: 0,\r\n            total_item_and_specification_price: 0,\r\n            note_for_item: ''\r\n            //note_for_item: ''\r\n        }\r\n        this.cartProducts = {\r\n            items: [],\r\n            product_id: null,\r\n            product_name: '',\r\n            unique_id: 0,\r\n            total_item_price: 0\r\n        }\r\n        jQuery(this.helper.elementRef.nativeElement).find('#search_field').on('change', (evnt, res_data) => {\r\n\r\n            this.search_field = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#payment_mode').on('change', (evnt, res_data) => {\r\n\r\n            this.payment_mode = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#order_type').on('change', (evnt, res_data) => {\r\n\r\n            this.order_type = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#pickup_type').on('change', (evnt, res_data) => {\r\n\r\n            this.pickup_type = res_data.selected;\r\n\r\n        });\r\n\r\n        jQuery('#open').on('change', (event, res_data) => {\r\n            this.close_till = jQuery(\"#open\").val();\r\n                console.log(\"close_till: \"+this.close_till)\r\n        });\r\n\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_STORE_PRODUCT_ITEM_LIST,{store_id:this.store_id, server_token:this.server_token}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n\r\n            this.myLoading=false;\r\n\r\n            if(res_data.success == false)\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.filtered_product_list=[];\r\n                this.helper.message()\r\n            }\r\n            else\r\n            {\r\n                this.product_list = res_data.products;\r\n                this.currency=res_data.currency;\r\n                let product_list = res_data.products.filter((product)=>{\r\n                    let item_list = product.items.filter((item) =>{\r\n                        return (item.is_item_in_stock==true && item.is_visible_in_store == true)\r\n                    });\r\n                    product.items = item_list;\r\n                    return product.is_visible_in_store == true;\r\n                });\r\n                this.filtered_product_list=product_list;\r\n            }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n            this.helper.http_status(error)\r\n        });\r\n    }\r\n    ngOnDestroy() {\r\n        clearInterval(this.interval);\r\n    }\r\n    activeRoute(routename: string): boolean {\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n\r\n    track_hopper(){\r\n        this.is_show_map = true;\r\n        clearInterval(this.provider_interval);\r\n        if(this.order_detail.provider_detail){\r\n            setTimeout(()=>{\r\n                this.map = new google.maps.Map(document.getElementById('map'), {\r\n                    zoom: 7,\r\n                    streetViewControl: false,\r\n                    center: {lat: this.order_detail.provider_detail.location[0], lng: this.order_detail.provider_detail.location[1]}\r\n                });\r\n                this.provider_marker = new google.maps.Marker({\r\n                    position: {lat: this.order_detail.provider_detail.location[0], lng: this.order_detail.provider_detail.location[1]},\r\n                    map: this.map,\r\n                    icon: 'map_pin_images/Deliveryman/deliveryman_online.png'\r\n                });\r\n                this.provider_interval = setInterval(()=>{\r\n\r\n                    this.helper.http.post(this.helper.POST_METHOD.PROVIDER_LOCATION_TRACK,{request_id:this.request_detail._id,store_id:this.store_id, server_token:this.server_token}).map((res_data: Response) => res_data.json()) .subscribe(res_data => {\r\n                       \r\n                        this.provider_marker.setPosition({lat: res_data.provider.location[0], lng: res_data.provider.location[1]})\r\n                    });\r\n\r\n                }, 5000);\r\n            }, 1000);\r\n        }\r\n    }\r\n\r\n    edit_order(order_id) {\r\n        this.helper.router_id.store.order_id = order_id;\r\n        this.helper.router.navigate(['store/edit/order']);\r\n    }\r\n\r\n    stop_new_order(){\r\n        this.stop_new_order_modal.open();\r\n        jQuery('.stop_new').iCheck({\r\n                handle: 'checkbox',\r\n                checkboxClass: 'icheckbox_square-green',\r\n            });\r\n        setTimeout(()=>{\r\n            jQuery('.clock-picker').clockpicker({\r\n                'default': 'now',\r\n                'align': 'right'\r\n            });\r\n            \r\n            console.log(this.store_order)\r\n            this.store_order.forEach((data)=>{\r\n                console.log('#stop_new'+data)\r\n                jQuery('#stop_new'+data).iCheck('check');\r\n            })\r\n\r\n            jQuery('.icheck').on('ifChecked', (event, res_data) => {\r\n                var id = event.target.getAttribute('value')\r\n                this.store_order.push(id)\r\n                if(id == '0' || id == 0){\r\n                    this.store_order = [0,1,2];\r\n                    jQuery('#stop_new'+1).iCheck('check');\r\n                    jQuery('#stop_new'+2).iCheck('check');\r\n                }\r\n            });\r\n\r\n            jQuery('.icheck').on('ifUnchecked', (event, res_data) => {\r\n                var id = event.target.getAttribute('value')\r\n                var i = this.store_order.indexOf(id);\r\n                if (i != -1) {\r\n                    this.store_order.splice(i, 1);\r\n                }\r\n                if(id == '0' || id == 0){\r\n                    this.store_order = [];\r\n                    jQuery('#stop_new'+1).iCheck('uncheck');\r\n                    jQuery('#stop_new'+2).iCheck('uncheck');\r\n                }\r\n            });\r\n\r\n            // jQuery('#open').on('change', (event, res_data) => {\r\n            //     this.close_till = jQuery(\"#open\").val();\r\n            //     console.log(this.close_till)\r\n            // });\r\n        }, 1000);\r\n    }\r\n\r\n    stop_order_submit(){\r\n        var json = {\r\n            is_stop_new_order_all_day: this.is_stop_new_order_all_day,\r\n            close_till: this.close_till,\r\n            store_order: this.store_order,\r\n            stop_for_time: this.stop_for_time,\r\n            store_id: this.store_id,\r\n            server_token: this.server_token\r\n        }\r\n        console.log(json)\r\n        this.helper.http.post(this.helper.POST_METHOD.UPDATE_STOP_ORDER_DATA, json).map((res:Response) => res.json()).subscribe(res_data=>{\r\n            var old_detail = JSON.parse(localStorage.getItem('store'));\r\n            res_data.store.server_token = old_detail.server_token;\r\n            localStorage.setItem('store', JSON.stringify(res_data.store));\r\n            this.stop_new_order_modal.close();\r\n        });\r\n    }\r\n\r\n    add_new_item(){\r\n        this.add_item_modal.open();\r\n    }\r\n\r\n    filter(page, loader) {\r\n        this.order_detail = {};\r\n        this.myLoading = loader;\r\n        this.page = page;\r\n        this.helper.http.post(this.helper.POST_METHOD.ORDER_LIST_SEARCH_SORT, {\r\n            store_id: this.store_id, server_token: this.server_token, payment_mode: this.payment_mode, order_type: this.order_type, pickup_type: this.pickup_type,\r\n            search_field: this.search_field, search_value: this.search_value, page: this.page\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n     \r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n                this.order_list = [];\r\n                this.total_pages = [];\r\n            }\r\n            else {\r\n                this.currency_sign = res_data.currency_sign;\r\n                this.order_list = res_data.orders;\r\n                this.total_page = res_data.pages;\r\n                this.total_pages = Array(res_data.pages).fill((x, i) => i).map((x, i) => i + 1)\r\n                this.is_confirmation_code_required_at_complete_delivery = res_data.is_confirmation_code_required_at_complete_delivery;\r\n                if(this.order_list.length>0){\r\n                    // this.order_detail = JSON.parse(JSON.stringify(this.order_list[0]));\r\n                    this.get_order_detail(this.order_list[0])\r\n                }\r\n                this.order_list.forEach((order)=>{\r\n                    order.is_show = false;\r\n                })\r\n            }\r\n\r\n                this.helper.http.post(this.helper.POST_METHOD.DELIVERY_LIST_SEARCH_SORT,{payment_mode: this.payment_mode, order_type: this.order_type,pickup_type: this.pickup_type, store_id:this.store_id, server_token:this.server_token,search_field:this.search_field, search_value:this.search_value}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n    \r\n                        this.myLoading = false;\r\n                    if(res_data.success == false)\r\n                    {\r\n                        // this.requests=[];\r\n                    }\r\n                    else\r\n                    {\r\n                        this.requests=res_data.requests;\r\n                        this.order_list = this.order_list.concat(res_data.requests);\r\n                        if(this.order_list.length==0 && this.requests.length>0){\r\n                            this.get_order_detail(this.requests[0])\r\n                        }\r\n                    }\r\n                    this.order_list.forEach((order)=>{\r\n                        if(order.order_detail){\r\n                            order.order_status = order.order_detail.order_status;\r\n                            order.is_user_pick_up_order = false;\r\n                        }\r\n                    })\r\n                    this.order_list.sort(function(a: any,b: any){\r\n                        var date1: any = new Date(b.estimated_time_for_ready_order);\r\n                        var date2: any = new Date(a.estimated_time_for_ready_order);\r\n                        return date2 - date1;\r\n                    });\r\n                    this.order_list.sort(this.sortItem)\r\n                    // setTimeout(()=>{\r\n                        this.order_list.sort(this.sortItem1)\r\n                    // }, 2000);\r\n                },\r\n                (error: any) => {\r\n                    this.myLoading = false;\r\n                        this.helper.http_status(error)\r\n                });\r\n            \r\n            // this.orderDetail();\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n\r\n        \r\n    }\r\n\r\n    vieworder_detail(id) {\r\n        this.helper.router_id.store.order_id = id;\r\n        this.helper.router.navigate(['store/order/detail']);\r\n    }\r\n\r\n    viewcart_detail(id) {\r\n        this.helper.router_id.store.order_id = id;\r\n        this.helper.router.navigate(['store/cart/detail']);\r\n    }\r\n\r\n    get_order_detail(order){\r\n\r\n        var order_id = null;\r\n        var request_detail = null;\r\n        if(order.order_detail){\r\n            order_id = order.order_detail._id;\r\n            this.request_detail = order;\r\n        } else {\r\n            order_id = order._id;\r\n        }\r\n\r\n        clearInterval(this.provider_interval);\r\n        this.helper.http.post('/api/store/get_order_cart_detail',{store_id:this.store_id, server_token:this.server_token,order_id: order_id}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n     \r\n            this.order_detail = JSON.parse(JSON.stringify(res_data.order_detail));\r\n            this.order_count = res_data.order_count;\r\n\r\n            this.is_show_specification = false;\r\n            this.order_detail.cart_detail.order_details.forEach((product, product_index)=>{\r\n                this.hide_specification_group[product_index]=\"false\"\r\n                product.items.forEach((item) =>{\r\n                    this.order_total=this.order_total + (item.item_price + item.total_specification_price)*item.quantity\r\n                    this.product_item_total=this.product_item_total + (item.item_price + item.total_specification_price)*item.quantity\r\n                    this.total_item++;\r\n                    item.specifications.forEach((specification)=>{\r\n                        this.product_item_specification_total= this.product_item_specification_total + specification.specification_price;\r\n                    })\r\n                    this.product_item_specification_total_array.push(this.product_item_specification_total)\r\n                    this.product_item_specification_total=0;\r\n                })\r\n                this.product_specification_total_array.push(this.product_item_specification_total_array)\r\n                this.product_item_specification_total_array=[];\r\n                this.product_item_total_array.push(this.product_item_total)\r\n                this.product_item_total=0;\r\n            })\r\n            this.is_edit_order = false;\r\n            // this.request_detail = request_detail;\r\n            this.is_show_map = false;\r\n            if(res_data.order_detail.request_detail){\r\n                this.order_detail.deliveryman_to_store_time_copy = res_data.order_detail.request_detail.deliveryman_to_store_time || 0;\r\n            }\r\n        });\r\n        // this.order_detail_modal.open();\r\n        // jQuery('#order_detail_modal .modal-body').css('padding', 0);\r\n\r\n\r\n        // this.helper.http.post('api/store/notify_order',{store_id:this.store_id, server_token:this.server_token,order_id: this.order_detail._id}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n        \r\n        // });\r\n    }\r\n\r\n    get_order_count(is_schedule_order){\r\n        var order_list = this.order_list.filter((x)=>{\r\n            if(x.is_schedule_order == is_schedule_order){\r\n                return true;\r\n            }\r\n        })\r\n        var requests = this.order_list.filter((x)=>{\r\n            if(x.order_detail){\r\n                if(x.order_detail.is_schedule_order == is_schedule_order){\r\n                    return true;\r\n                }\r\n            }\r\n        })\r\n        // console.log(is_schedule_order)\r\n        // console.log(order_list)\r\n        // if(is_schedule_order){\r\n        //     return order_list.length;\r\n        // } else {\r\n            return (order_list.length + requests.length);\r\n        // }\r\n    }\r\n\r\n    ready_all_item(){\r\n        let request_index = this.order_list.findIndex((x)=>x._id==this.order_detail._id);\r\n        this.order_detail.cart_detail.order_details.forEach((products)=>{\r\n            products.items.forEach((item)=>{\r\n                item.is_ready = true;\r\n            });\r\n        })\r\n        this.order_detail.ready_full_order = true;\r\n        this.order_list[request_index].cart_detail.order_details.forEach((products)=>{\r\n            products.items.forEach((item)=>{\r\n                item.is_ready = true;\r\n                setTimeout(()=>{\r\n                    jQuery('#'+item.item_id).iCheck('check');\r\n                    jQuery('.icheck').iCheck('check');\r\n                }, 1000);\r\n                jQuery('.icheck').iCheck('check');\r\n            })\r\n        })\r\n        this.order_list[request_index].ready_full_order = true;\r\n    }\r\n\r\n    get_request_detail(id){\r\n        let index = this.requests.findIndex((x)=>x._id == id);\r\n        this.order_detail = JSON.parse(JSON.stringify(this.requests[index]));\r\n        this.is_show_specification = false;\r\n        this.order_detail.cart_detail.order_details.forEach((product, product_index)=>{\r\n            this.hide_specification_group[product_index]=\"false\"\r\n            product.items.forEach((item) =>{\r\n                this.order_total=this.order_total + (item.item_price + item.total_specification_price)*item.quantity\r\n                this.product_item_total=this.product_item_total + (item.item_price + item.total_specification_price)*item.quantity\r\n                this.total_item++;\r\n                item.specifications.forEach((specification)=>{\r\n                    this.product_item_specification_total= this.product_item_specification_total + specification.specification_price;\r\n                })\r\n                this.product_item_specification_total_array.push(this.product_item_specification_total)\r\n                this.product_item_specification_total=0;\r\n            })\r\n            this.product_specification_total_array.push(this.product_item_specification_total_array)\r\n            this.product_item_specification_total_array=[];\r\n            this.product_item_total_array.push(this.product_item_total)\r\n            this.product_item_total=0;\r\n        })\r\n        this.order_detail_modal.open();\r\n        jQuery('#order_detail_modal .modal-body').css('padding', 0);\r\n        setTimeout(() => {\r\n            jQuery('.icheck').iCheck({\r\n                handle: 'checkbox',\r\n                checkboxClass: 'icheckbox_square-green',\r\n            });\r\n            jQuery('.icheck').on('ifChecked', (event) => {\r\n                var id = event.target.getAttribute('value')\r\n              \r\n                let request_index = this.requests.findIndex((x)=>x._id===this.order_detail._id);\r\n                this.requests[request_index].cart_detail.order_details.forEach((products)=>{\r\n                    let item_index = products.items.findIndex((item)=> item.item_id === id);\r\n                    if(item_index !== -1){\r\n                        products.items[item_index].is_ready = true;\r\n                    }\r\n                })\r\n                let ready_full_order = true;\r\n                this.order_detail.cart_detail.order_details.forEach((products)=>{\r\n                    let item_index = products.items.findIndex((item)=> item.item_id === id);\r\n                    if(item_index !== -1){\r\n                        products.items[item_index].is_ready = true;\r\n                    }\r\n                    products.items.forEach((item)=>{\r\n                        if(!item.is_ready){\r\n                            ready_full_order = false;\r\n                        }\r\n                    })\r\n                });\r\n                this.order_detail.ready_full_order = ready_full_order;\r\n                this.requests[request_index].ready_full_order = ready_full_order;\r\n            });\r\n            jQuery('.icheck').on('ifUnchecked', (event) => {\r\n                var id = event.target.getAttribute('value')\r\n            \r\n                let request_index = this.requests.findIndex((x)=>x._id===this.order_detail._id);\r\n                this.requests[request_index].cart_detail.order_details.forEach((products)=>{\r\n                    let item_index = products.items.findIndex((item)=> item.item_id === id);\r\n                    if(item_index !== -1){\r\n                        products.items[item_index].is_ready = false;\r\n                    }\r\n                })\r\n                this.order_detail.cart_detail.order_details.forEach((products)=>{\r\n                    let item_index = products.items.findIndex((item)=> item.item_id === id);\r\n                    if(item_index !== -1){\r\n                        products.items[item_index].is_ready = false;\r\n                    }\r\n                })\r\n                this.order_detail.ready_full_order = false;\r\n                this.requests[request_index].ready_full_order = false;\r\n            });\r\n        },1000);\r\n    }\r\n\r\n    hide_specifications_group(specification_group_index)\r\n    {\r\n        this.hide_specification_group[specification_group_index]='true';\r\n        jQuery('#spec_list'+specification_group_index).hide();\r\n    }\r\n\r\n    show_specifications_group(specification_group_index)\r\n    {\r\n        this.hide_specification_group[specification_group_index]='false';\r\n        jQuery('#spec_list'+specification_group_index).show();\r\n    }\r\n\r\n    get_specification(product_index, item_index){\r\n        this.is_show_specification= true;\r\n        this.specifications = this.order_detail.cart_detail.order_details[product_index].items[item_index].specifications;\r\n        this.item_note = this.order_detail.cart_detail.order_details[product_index].items[item_index].note_for_item;\r\n    }\r\n\r\n\r\n    orderDetail(myLoading) {\r\n        console.log('orderDetail')\r\n        var current_date: any = new Date().toLocaleString(\"en-US\", {timeZone: 'UTC'});\r\n        current_date = new Date(current_date)\r\n        var one_day=1000*60;\r\n        // this.order_detail = {}\r\n        this.myLoading = myLoading;\r\n        this.helper.http.post(this.helper.POST_METHOD.ORDER_LIST_SEARCH_SORT, {\r\n            store_id: this.store_id, server_token: this.server_token, payment_mode: this.payment_mode, order_type: this.order_type,pickup_type: this.pickup_type,\r\n            search_field: this.search_field, search_value: this.search_value, page: this.page\r\n        }).map((res: Response) => res.json()).subscribe(res_data1 => {\r\n            if(!res_data1.orders){\r\n                res_data1.orders = [];\r\n            }\r\n\r\n                // console.log(res_data1)\r\n            this.helper.http.post(this.helper.POST_METHOD.DELIVERY_LIST_SEARCH_SORT,{store_id:this.store_id, payment_mode: this.payment_mode, order_type: this.order_type,pickup_type: this.pickup_type, server_token:this.server_token,search_field:this.search_field,search_value:this.search_value,page:this.page }).map((res:Response) => res.json()).subscribe(res_data=>{\r\n\r\n                if(!res_data.requests){\r\n                    res_data.requests = [];\r\n                }\r\n                // console.log(res_data)\r\n                this.myLoading = false;\r\n                // if (res_data1.success == false) {\r\n                //     this.order_list = [];\r\n                //     this.filter(1, false)\r\n                // }\r\n                // else {\r\n\r\n                    this.total_page = res_data1.pages;\r\n                    this.total_pages = Array(res_data1.pages).fill((x, i) => i).map((x, i) => i + 1)\r\n                    this.currency_sign = res_data1.currency_sign;\r\n                    this.order_list.forEach((value, index) => {\r\n\r\n                        var new_index = res_data1.orders.findIndex(x => x._id == this.order_list[index]._id)\r\n                        var new_index1 = res_data.requests.findIndex(x => x._id==this.order_list[index]._id)\r\n                        if (new_index == -1 && new_index1 == -1) {\r\n                            this.order_list.splice(index, 1)\r\n                        }\r\n                        else {\r\n                            if (new_index !== -1){\r\n                                var created_at: any = this.order_list[index].created_at;\r\n                                created_at = new Date(created_at).toLocaleString(\"en-US\", {timeZone: 'UTC'});\r\n                                created_at = new Date(created_at)\r\n                                var diff = current_date.getTime() - created_at.getTime();\r\n                                diff = Math.round(diff/one_day); \r\n                                var remaining_time = this.delivery_time_max - diff;\r\n                                if(remaining_time<0){\r\n                                    remaining_time = 0;\r\n                                }\r\n                                this.order_list[index].remaining_time = remaining_time;\r\n                                this.order_list[index].order_status = res_data1.orders[new_index].order_status\r\n                                this.order_list[index].total_order_price = res_data1.orders[new_index].total_order_price;\r\n                                this.order_list[index].is_admin_edited = res_data1.orders[new_index].is_admin_edited;\r\n                                // this.order_list[index].cart_detail.order_details = res_data.orders[new_index].cart_detail.order_details;\r\n\r\n                                if(this.order_detail._id.toString() == res_data1.orders[new_index]._id.toString()){\r\n                                    this.order_detail.order_status = res_data1.orders[new_index].order_status;\r\n                                    this.order_detail.total_order_price = res_data1.orders[new_index].total_order_price;\r\n                                    // this.order_detail.cart_detail.order_details = res_data.orders[new_index].cart_detail.order_details;\r\n                                    // this.get_order_detail(this.order_detail._id, this.request_detail);\r\n                                }\r\n                            }\r\n                        }\r\n\r\n                    });\r\n                    var index = this.order_list.findIndex(x => x._id == this.order_detail._id);\r\n                    if(index !== -1){\r\n\r\n                        // this.get_order_detail(this.order_detail, this.order_detail.user_detail, null)\r\n                    }\r\n                            \r\n\r\n                    res_data1.orders.forEach((new_value, index) => {\r\n                        var aaa = this.order_list.findIndex(x => x._id == res_data1.orders[index]._id)\r\n\r\n                        if (aaa == -1) {\r\n                            var created_at: any = new_value.created_at;\r\n                            created_at = new Date(created_at).toLocaleString(\"en-US\", {timeZone: 'UTC'})\r\n                            created_at = new Date(created_at)\r\n                            var diff = current_date.getTime() - created_at.getTime();\r\n                            diff = Math.round(diff/one_day); \r\n                            var remaining_time = this.delivery_time_max - diff;\r\n                            if(remaining_time<0){\r\n                                remaining_time = 0;\r\n                            }\r\n                            new_value.remaining_time = remaining_time;\r\n\r\n                            this.order_list.unshift(new_value)\r\n                        }\r\n                    });\r\n                    // this.order_list.sort(function(a: any,b: any){\r\n                    //     var date1: any = new Date(b.estimated_time_for_ready_order);\r\n                    //     var date2: any = new Date(a.estimated_time_for_ready_order);\r\n                    //     return date2 - date1;\r\n                    // });\r\n                    // this.order_list.sort(this.sortItem)\r\n                    // // setTimeout(()=>{\r\n                    //     this.order_list.sort(this.sortItem1)\r\n                    // // }, 2000);\r\n\r\n                // }\r\n                \r\n                // this.myLoading = false;                                             \r\n                // if(res_data.success == false)\r\n                // {\r\n                //         this.requests=[];\r\n                //         this.order_list = [];\r\n                //         this.filter(1, false)\r\n                // }\r\n                // else\r\n                // {\r\n\r\n                    this.order_list.forEach( (value , index) => {\r\n                        var new_index1 = res_data1.orders.findIndex(x => x._id == this.order_list[index]._id)\r\n                        var new_index = res_data.requests.findIndex(x => x._id==this.order_list[index]._id)\r\n                        if (new_index == -1 && new_index1 == -1) {\r\n                            this.order_list.splice(index, 1)\r\n                        }\r\n                        else{\r\n                            console.log('aaa')\r\n                            if (new_index !== -1){\r\n                                this.order_list[index].delivery_status = res_data.requests[new_index].delivery_status;\r\n\r\n                                this.order_list[index].order_status = res_data.requests[new_index].order_detail.order_status;\r\n                                this.order_list[index].order_detail.order_status = res_data.requests[new_index].order_detail.order_status;\r\n                                this.order_list[index].order_detail.total_order_price = res_data.requests[new_index].order_detail.total_order_price;\r\n                                this.order_list[index].order_detail.is_admin_edited = res_data.requests[new_index].order_detail.is_admin_edited;\r\n\r\n                                console.log('new_index: '+new_index)\r\n                                if(this.order_detail._id.toString() == res_data.requests[new_index].order_detail._id.toString()){\r\n                                    console.log(res_data.requests[new_index].order_detail)\r\n                                    this.order_detail.order_status = res_data.requests[new_index].order_detail.order_status;\r\n                                    this.order_detail.total_order_price = res_data.requests[new_index].order_detail.total_order_price;\r\n                                    this.order_detail.provider_detail = res_data.requests[new_index].order_detail.provider_detail;\r\n                                    // this.get_order_detail(this.order_detail._id, this.request_detail);\r\n                                }\r\n\r\n\r\n                                this.order_list[index].provider_detail = res_data.requests[new_index].order_detail.provider_detail;\r\n                                this.order_list[index].date_time = res_data.requests[new_index].date_time;\r\n\r\n                                var created_at: any = this.order_list[index].created_at;\r\n                                created_at = new Date(created_at).toLocaleString(\"en-US\", {timeZone: 'UTC'})\r\n                                created_at = new Date(created_at)\r\n                                var diff = current_date.getTime() - created_at.getTime();\r\n                                diff = Math.round(diff/one_day); \r\n                                var remaining_time = this.delivery_time_max - diff;\r\n                                if(remaining_time<0){\r\n                                    remaining_time = 0;\r\n                                }\r\n                                this.order_list[index].remaining_time = remaining_time;\r\n\r\n                                if(this.order_list[index].delivery_status > this.helper.ORDER_STATE.DELIVERY_MAN_ACCEPTED){\r\n                                    var ind = this.order_list[index].date_time.findIndex((x)=>x.status == this.helper.ORDER_STATE.DELIVERY_MAN_ACCEPTED);\r\n                                    if(ind !== -1){\r\n                                        var created_date: any = this.order_list[index].date_time[ind].date;\r\n                                       \r\n                                        created_date = new Date(created_date).toLocaleString(\"en-US\", {timeZone: 'UTC'});\r\n                                        created_date = new Date(created_date)\r\n                                        var diff = current_date.getTime() - created_date.getTime();\r\n                                        diff = Math.round(diff/one_day); \r\n                                        var remaining_time = this.order_list[index].deliveryman_to_store_time - diff;\r\n                                        if(remaining_time<0){\r\n                                            remaining_time = 0;\r\n                                        }\r\n                                        this.order_list[index].deliveryman_to_store_time_copy = remaining_time;\r\n                                    } else {\r\n                                    this.order_list[index].deliveryman_to_store_time_copy = this.order_list[index].deliveryman_to_store_time;\r\n                                        \r\n                                    }\r\n                                } else {\r\n                                    this.order_list[index].deliveryman_to_store_time_copy = this.order_list[index].deliveryman_to_store_time;\r\n                                }\r\n                                // console.log(this.order_list[index].order_detail.unique_id + ' ' +this.order_list[index].deliveryman_to_store_time_copy)\r\n                                if(this.order_detail._id.toString() == res_data.requests[new_index].order_detail._id.toString()){\r\n                                    this.order_detail.deliveryman_to_store_time_copy = this.order_list[index].deliveryman_to_store_time_copy || 0;\r\n                                }\r\n                            }\r\n                        }\r\n                    });\r\n\r\n                    var index = this.order_list.findIndex(x => (x.order_detail && x.order_detail._id == this.order_detail._id));\r\n                    if(index !== -1){\r\n                        // this.get_order_detail(this.order_list[index].order_detail._id, this.order_list[0])\r\n                    }\r\n\r\n\r\n                    res_data.requests.forEach((new_value , index1) =>{\r\n                        var aaa = this.order_list.findIndex(x => x._id==res_data.requests[index1]._id)\r\n\r\n                        if(aaa == -1)\r\n                        {\r\n                            this.order_list.unshift(new_value)\r\n                            var created_at: any = new_value.created_at;\r\n                            created_at = new Date(created_at).toLocaleString(\"en-US\", {timeZone: 'UTC'})\r\n                            created_at = new Date(created_at)\r\n                            var diff = current_date.getTime() - created_at.getTime();\r\n                            diff = Math.round(diff/one_day); \r\n                            var remaining_time = this.delivery_time_max - diff;\r\n                            if(remaining_time<0){\r\n                                remaining_time = 0;\r\n                            }\r\n                            new_value.remaining_time = remaining_time;\r\n\r\n                            if(this.order_list[index].provider_detail && this.order_list[index].delivery_status > this.helper.ORDER_STATE.DELIVERY_MAN_ACCEPTED){\r\n                                var ind = this.order_list[index].date_time.findIndex((x)=>x.status == this.helper.ORDER_STATE.DELIVERY_MAN_ACCEPTED);\r\n                               \r\n                                var created_date: any = this.order_list[index].date_time[ind].date;\r\n                               \r\n                                created_date = new Date(created_date).toLocaleString(\"en-US\", {timeZone: 'UTC'});\r\n                                created_date = new Date(created_date)\r\n\r\n                                var diff = current_date.getTime() - created_date.getTime();\r\n                                diff = Math.round(diff/one_day); \r\n                                var remaining_time = this.order_list[index].deliveryman_to_store_time - diff;\r\n                                if(remaining_time<0){\r\n                                    remaining_time = 0;\r\n                                }\r\n                                this.order_list[index].deliveryman_to_store_time_copy = remaining_time;\r\n                                this.order_list[index].deliveryman_to_store_time_copy = remaining_time;\r\n                            } else if(this.order_list[index].provider_detail){\r\n                                this.order_list[index].deliveryman_to_store_time_copy = this.order_list[index].deliveryman_to_store_time;\r\n                            }\r\n                        }\r\n                    });\r\n                    \r\n                    this.order_list.forEach((order)=>{\r\n                        if(order.order_detail){\r\n                            order.order_status = order.order_detail.order_status;\r\n                            order.is_user_pick_up_order = false;\r\n                        }\r\n                    })\r\n                    this.order_list.sort(function(a: any,b: any){\r\n                        var date1: any = new Date(b.estimated_time_for_ready_order);\r\n                        var date2: any = new Date(a.estimated_time_for_ready_order);\r\n                        return date2 - date1;\r\n                    });\r\n                    this.order_list.sort(this.sortItem)\r\n                    // setTimeout(()=>{\r\n                        this.order_list.sort(this.sortItem1)\r\n                    // }, 2000);\r\n                // }\r\n\r\n                \r\n            },\r\n            (error: any) => {\r\n                    this.helper.http_status(error)\r\n            });\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    sortItem(a,b) {\r\n        if (a.order_status < b.order_status)\r\n            return -1;\r\n        if (a.order_status > b.order_status)\r\n            return 1;\r\n        return 0;\r\n    }\r\n\r\n    sortItem1(a,b) {\r\n        if (a.is_user_pick_up_order < b.is_user_pick_up_order)\r\n            return -1;\r\n        if (a.is_user_pick_up_order > b.is_user_pick_up_order)\r\n            return 1;\r\n        return 0;\r\n    }\r\n\r\n    orderStatus(status, order_id, order_type) {\r\n        let data = {    \r\n            order_id: order_id,\r\n            order_type: order_type,\r\n            order_status: status\r\n        }\r\n        var store = JSON.parse(localStorage.getItem('store'));\r\n        \r\n        this.myLoading = true;\r\n        this.helper.http.post(this.helper.POST_METHOD.SET_ORDER_STATUS, {\r\n            store_id: this.store_id,\r\n            server_token: this.server_token,\r\n            order_id: data.order_id,\r\n            order_status: data.order_status\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            if (res_data.success == false) {\r\n                this.myLoading = false;\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message()\r\n            }\r\n            else {\r\n                var index = this.order_list.findIndex(x => x._id == data.order_id);\r\n                if(index != -1){\r\n                    let index = this.helper.router_id.store.new_order_list.findIndex((x)=>x._id == data.order_id);\r\n                    if(index !== -1){\r\n                        this.helper.router_id.store.new_order_list.splice(index, 1);\r\n                    }\r\n                }\r\n                this.order_detail.order_status = status;\r\n                if(status == this.ORDER_STATE.STORE_ACCEPTED && !this.order_detail.is_schedule_order && !this.order_detail.is_user_pick_up_order){\r\n                    this.orderAssignProvider(data.order_id)\r\n                } else {\r\n                    this.order_detail_modal.close();\r\n                    this.orderDetail(true);\r\n                }\r\n            }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading = false;\r\n            this.helper.http_status(error)\r\n        });\r\n        \r\n    }\r\n\r\n    picked_order(provider_id, request_id){\r\n        this.myLoading = true;\r\n        this.helper.http.post('/api/provider/change_request_status', {\r\n            provider_id: provider_id,\r\n            request_id: request_id,\r\n            type: this.helper.ADMIN_DATA_ID.ADMIN,\r\n            delivery_status: this.ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message()\r\n            }\r\n            else {\r\n                let request_index = this.order_list.findIndex((x)=>x._id == request_id);\r\n                if(request_index !== -1){\r\n                    this.order_list.splice(request_index, 1);\r\n                }\r\n            }\r\n        });\r\n    }\r\n\r\n    rejectOrCancleOrder() {\r\n        this.helper.ngZone.run(() => {\r\n            jQuery('.iradio').iCheck({\r\n                handle: 'radio',\r\n                radioClass: 'iradio_square-green'\r\n            });\r\n            jQuery('#default_reason').iCheck('check');\r\n            this.cancel_reason = jQuery('#default_reason').val();\r\n            jQuery('.iradio').on('ifChecked', (event) => {\r\n\r\n                if (event.target.value == 1) {\r\n                    jQuery('#text_box').show();\r\n                    this.cancel_reason = '';\r\n                } else {\r\n                    jQuery('#text_box').hide();\r\n                    this.cancel_reason = event.target.value;\r\n                }\r\n            });\r\n        });\r\n        this.cancel_order_modal.open();\r\n        this.cancel_detail_order_modal.close();\r\n\r\n    }\r\n    CancleOrder(data) {\r\n        this.current_order = data;\r\n        this.helper.ngZone.run(() => {\r\n            \r\n        });\r\n        this.cancel_detail_order_modal.open();\r\n        // this.order_detail_modal.close();\r\n\r\n    }\r\n    cancelservice() {\r\n        console.log('cancelservice: '+this.cancel_reason)\r\n        if (this.cancel_reason !== '') {\r\n            this.cancel_order_modal.close();\r\n            let data = this.current_order;\r\n            this.myLoading = true;\r\n            let order_index = this.order_list.findIndex((x)=>x._id == data.order_id);\r\n            let request_index = this.order_list.findIndex((x)=>(x.order_detail && x.order_detail._id == data.order_id));\r\n            if(order_index !== -1){\r\n                this.order_list[order_index].already_cancelled = true;\r\n            }\r\n            if(request_index !== -1){\r\n                this.order_list[request_index].already_cancelled = true;\r\n            }\r\n\r\n            // setTimeout(()=>{\r\n                // let cond;\r\n                // let order_index = this.order_list.findIndex((x)=>x._id == data.order_id);\r\n                // if(order_index !== -1){\r\n                //     cond = this.order_list[order_index].already_cancelled;\r\n                // }\r\n                // let request_index = this.order_list.findIndex((x)=>x.order_detail._id == data.order_id);\r\n                // if(request_index !== -1){\r\n                //     cond = this.order_list[request_index].already_cancelled;\r\n                // }\r\n                // if(cond){\r\n                    console.log('STORE_CANCEL_OR_REJECT_ORDER')\r\n                    \r\n                    this.helper.http.post(this.helper.POST_METHOD.STORE_CANCEL_OR_REJECT_ORDER, {\r\n                        store_id: this.store_id,\r\n                        cancel_reason: this.cancel_reason,\r\n                        server_token: this.server_token,\r\n                        order_id: data.order_id,\r\n                        order_status: data.order_status\r\n                    }).map((res: Response) => res.json()).subscribe(res_data => {\r\n                       \r\n                        this.myLoading = false;\r\n                        if (res_data.success == false) {\r\n\r\n                            this.helper.data.storage = {\r\n                                \"code\": res_data.error_code,\r\n                                \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                                \"class\": \"alert-danger\"\r\n                            }\r\n                            this.helper.message()\r\n                        }\r\n                        else {\r\n                            var order_index = this.order_list.findIndex(x => x._id == data.order_id);\r\n                            if(order_index !== -1){\r\n                                this.order_list.splice(order_index, 1);\r\n                            } else {\r\n                                var order_index = this.order_list.findIndex(x => (x.order_detail && x.order_detail._id == data.order_id));\r\n                                this.order_list.splice(order_index, 1);\r\n                            }\r\n                            if(this.order_list.length>0){\r\n                                this.get_order_detail(this.order_list[0])\r\n                            } else if(this.order_list.length>0){\r\n                                this.get_order_detail(this.order_list[0])\r\n                            } else {\r\n                                this.order_detail = {};\r\n                                this.is_edit_order = false;\r\n                                this.request_detail = null;\r\n                                this.is_show_map = false;\r\n                            }\r\n                        }\r\n                    },\r\n                    (error: any) => {\r\n                        this.myLoading = false;\r\n                        this.helper.http_status(error)\r\n                    });\r\n                // }\r\n            // },1000);\r\n        }\r\n    }\r\n\r\n    undoOrder(order_id){\r\n        let order_index = this.order_list.findIndex((x)=>x._id == order_id);\r\n        let request_index = this.order_list.findIndex((x)=>x.order_detail._id == order_id);\r\n        if(order_index !== -1){\r\n            this.order_list[order_index].already_cancelled = false;\r\n        }\r\n        if(request_index !== -1){\r\n            this.order_list[request_index].already_cancelled = false;\r\n        }\r\n        this.order_detail_modal.close();\r\n    }\r\n\r\n    orderAssignProvider(order_id) {\r\n        this.myLoading = true;\r\n        let json;\r\n        var store = JSON.parse(localStorage.getItem('store'));\r\n        if (store.is_ask_estimated_time_for_ready_order) {\r\n            json = {store_id: this.store_id, server_token: this.server_token, order_id: order_id, estimated_time_for_ready_order: this.estimated_time}\r\n        } else {\r\n            json = {store_id: this.store_id, server_token: this.server_token, order_id: order_id}\r\n        }\r\n        this.helper.http.post(this.helper.POST_METHOD.CREATE_REQUEST, json).map((res: Response) => res.json()).subscribe(res_data => {\r\n     \r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message();\r\n                if(this.request_detail){\r\n                    this.request_detail.delivery_status = this.helper.ORDER_STATE.NO_DELIVERY_MAN_FOUND;\r\n                }\r\n            }\r\n            else {\r\n                if(this.request_detail){\r\n                    this.request_detail.delivery_status = this.helper.ORDER_STATE.WAITING_FOR_DELIVERY_MAN;\r\n                }\r\n            }\r\n            this.order_detail_modal.close();\r\n            // this.orderDetail();\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    completeDeliveryModal(order_id, confirmation_code_for_complete_delivery) {\r\n        this.order_id = order_id;\r\n        this.confirmation_code_for_complete_delivery = confirmation_code_for_complete_delivery;\r\n\r\n        if (this.is_confirmation_code_required_at_complete_delivery) {\r\n            this.complete_order_modal.open();\r\n        } else {\r\n            this.myLoading = true;\r\n            this.helper.http.post(this.helper.POST_METHOD.STORE_COMPLETE_ORDER, {\r\n                store_id: this.store_id,\r\n                server_token: this.server_token,\r\n                order_id: this.order_id\r\n            }).map((res: Response) => res.json()).subscribe(res_data => {\r\n                this.myLoading = false;\r\n                if (res_data.success == false) {\r\n\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message()\r\n                }\r\n                else {\r\n                    let order_index = this.order_list.findIndex((x)=>x._id==this.order_id);\r\n                    this.order_list.splice(order_index, 1);\r\n                }\r\n            },\r\n                (error: any) => {\r\n                    this.myLoading = false;\r\n                    this.helper.http_status(error)\r\n                });\r\n        }\r\n    }\r\n\r\n    completeDelivery() {\r\n\r\n        if (this.confirmation_code == this.confirmation_code_for_complete_delivery) {\r\n            this.complete_order_modal.close();\r\n            this.conf_code_error_message = false;\r\n            this.myLoading = true;\r\n            this.helper.http.post(this.helper.POST_METHOD.STORE_COMPLETE_ORDER, {\r\n                store_id: this.store_id,\r\n                server_token: this.server_token,\r\n                order_id: this.order_id\r\n            }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n                this.myLoading = false;\r\n                if (res_data.success == false) {\r\n\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message()\r\n                }\r\n                else {\r\n                    this.helper.router.navigate(['store/history']);\r\n                }\r\n            },\r\n                (error: any) => {\r\n                    this.myLoading = false;\r\n                    this.helper.http_status(error)\r\n                });\r\n        } else {\r\n            this.conf_code_error_message = true;\r\n        }\r\n    }\r\n\r\n    print(){\r\n        var mywindow = window.open('', 'PRINT', 'height=400,width=600');\r\n\r\n        mywindow.document.write('<html><head><title>' + document.title  + '</title>');\r\n        mywindow.document.write('</head><body >');\r\n        mywindow.document.write('<h1>' + document.title  + '</h1>');\r\n        mywindow.document.write(document.getElementById('order_detail_modal').innerHTML);\r\n        mywindow.document.write('</body></html>');\r\n\r\n        mywindow.document.close(); // necessary for IE >= 10\r\n        mywindow.focus(); // necessary for IE >= 10*/\r\n\r\n        mywindow.print();\r\n        mywindow.close();\r\n\r\n        return true;\r\n    }\r\n\r\n    open_item_modal(item, item_index , product_index, event){\r\n\r\n        this.qty = 1;\r\n        this.required_count = 0;\r\n        this.current_item = JSON.parse(JSON.stringify(item));\r\n        this.product_unique_id = this.filtered_product_list[product_index].unique_id;\r\n        this.product_name = this.filtered_product_list[product_index].name;\r\n        this.calculate_is_required();\r\n        this.calculateTotalAmount();\r\n        this.item_modal.open();\r\n        this.add_item_modal.close();\r\n            \r\n    }\r\n\r\n    addToCart(){\r\n\r\n        let specificationPriceTotal = 0;\r\n        let specificationPrice = 0;\r\n        let specificationList = [];\r\n\r\n        this.current_item.specifications.forEach((specification_group , specification_group_index) => {\r\n\r\n            let specificationItemCartList = [];\r\n            specification_group.list.forEach((specification , specification_index) => {\r\n\r\n                if(specification.is_default_selected){\r\n\r\n                    specificationPrice = specificationPrice + specification.price;\r\n                    specificationPriceTotal = specificationPriceTotal + specification.price;\r\n                    specificationItemCartList.push(specification)\r\n                }\r\n            });\r\n\r\n            if(specificationItemCartList.length > 0){\r\n                let specificationsItem_json ={\r\n                    list: specificationItemCartList,\r\n                    unique_id: specification_group.unique_id,\r\n                    name: specification_group.name,\r\n                    price: specificationPrice,\r\n                    type: specification_group.type,\r\n                }\r\n                specificationList.push(specificationsItem_json);\r\n            }\r\n            specificationPrice = 0;\r\n\r\n        });\r\n\r\n        this.cartProductItems.item_id = this.current_item._id;\r\n        this.cartProductItems.unique_id = this.current_item.unique_id;\r\n        this.cartProductItems.item_name = this.current_item.name;\r\n        this.cartProductItems.quantity = this.qty;\r\n        this.cartProductItems.image_url = this.current_item.image_url;\r\n        this.cartProductItems.details = this.current_item.details;\r\n        this.cartProductItems.specifications = specificationList;\r\n        this.cartProductItems.item_price = this.current_item.price;\r\n        this.cartProductItems.total_specification_price = specificationPriceTotal;\r\n        this.cartProductItems.total_item_and_specification_price = this.total;\r\n        //this.cartProductItems.note_for_item = this.note_for_item;\r\n        this.cartProductItems.note_for_item = this.note_for_item;\r\n\r\n        this.helper.user_cart.total_cart_amount = this.helper.user_cart.total_cart_amount + this.total;\r\n\r\n        if(this.isProductExistInLocalCart(this.cartProductItems))\r\n        {\r\n\r\n        } else {\r\n            let cartProductItemsList = [];\r\n            cartProductItemsList.push(this.cartProductItems)\r\n            this.cartProducts.items = cartProductItemsList;\r\n            this.cartProducts.product_id = this.current_item.product_id;\r\n            this.cartProducts.product_name = this.product_name\r\n            this.cartProducts.unique_id = this.product_unique_id\r\n            this.cartProducts.total_item_price = this.total;\r\n\r\n            this.order_detail.cart_detail.order_details.push(this.cartProducts);\r\n        }\r\n\r\n\r\n        this.current_item = {image_url:[]};\r\n        this.cartProductItems = {\r\n            item_id: null,\r\n            unique_id: 0,\r\n            item_name: '',\r\n            quantity: 0,\r\n            image_url: [],\r\n            details: '',\r\n            specifications: [],\r\n            item_price: 0,\r\n            total_specification_price: 0,\r\n            total_item_and_specification_price: 0,\r\n            note_for_item: ''\r\n            //note_for_item: ''\r\n        }\r\n        this.cartProducts = {\r\n            items: [],\r\n            product_id: null,\r\n            product_name: '',\r\n            unique_id: 0,\r\n            total_item_price: 0\r\n        }\r\n\r\n        this.item_modal.close();\r\n        this.last_item = false;\r\n        // this.update_order_data();\r\n        // this.add_boolean = false;\r\n    }\r\n\r\n    isProductExistInLocalCart(cartProductItems){\r\n\r\n        let bool = false;\r\n        this.order_detail.cart_detail.order_details.forEach((cart_item) =>{\r\n\r\n            if(cart_item.product_id == this.current_item.product_id && bool == false){\r\n                cart_item.items.push(cartProductItems);\r\n                cart_item.total_item_price = cart_item.total_item_price + this.total;\r\n                bool = true;\r\n            }\r\n        });\r\n        return bool;\r\n    }\r\n\r\n    newitem_incerase_qty(){\r\n        this.qty++;\r\n        this.calculateTotalAmount();\r\n    }\r\n\r\n    newitem_decrease_qty(){\r\n        if(this.qty>1){\r\n            this.qty--;\r\n            this.calculateTotalAmount();\r\n        }\r\n    }\r\n\r\n    open_edit_item_modal(item, product, selected_item_index, selected_product_index){\r\n\r\n        this.selected_item_index = selected_item_index;\r\n        this.selected_product_index = selected_product_index;\r\n\r\n        let product_index = this.product_list.findIndex((x) => x._id == product.product_id)\r\n        let item_index = this.product_list[product_index].items.findIndex((x) => x._id == item.item_id)\r\n\r\n        let current_specification = this.product_list[product_index].items[item_index].specifications;\r\n        let order_specification = item.specifications;\r\n        let new_specification = [];\r\n        current_specification.forEach((x) => {\r\n            var index = order_specification.findIndex((order_sp) => order_sp.unique_id == x.unique_id)\r\n            if(index == -1){\r\n                new_specification.push(x);\r\n            } else {\r\n                var new_specification_list = [];\r\n                x.list.forEach((y)=>{\r\n                    var list_index = order_specification[index].list.findIndex((order_sp_list) => order_sp_list.unique_id == y.unique_id)\r\n                    if(list_index == -1){\r\n                        y.is_default_selected = false;\r\n                        new_specification_list.push(y);\r\n                    } else {\r\n                        order_specification[index].list[list_index].price = y.price;\r\n                        new_specification_list.push(order_specification[index].list[list_index]);\r\n                    }\r\n                });\r\n                let json = {\r\n                    list: new_specification_list,\r\n                    \"unique_id\" : x.unique_id,\r\n                    \"name\" : x.name,\r\n                    \"is_required\": x.is_required,\r\n                    \"price\" : x.price,\r\n                    \"type\" : x.type\r\n                }\r\n                new_specification.push(json);\r\n            }\r\n        });\r\n\r\n        this.qty = item.quantity;\r\n        this.required_count = 0;\r\n        this.current_item = JSON.parse(JSON.stringify(item));\r\n        this.current_item.price = this.product_list[product_index].items[item_index].price;\r\n        this.current_item.specifications = new_specification;\r\n        this.calculate_is_required();\r\n        this.calculateTotalAmount();\r\n        this.edit_item_modal.open();\r\n    }\r\n\r\n    close_item_modal(){\r\n        this.current_item = {image_url :[]};\r\n        this.edit_item_modal.close();\r\n        this.item_modal.close();\r\n    }\r\n    calculate_is_required(){\r\n        this.current_item.specifications.forEach((specification_group) => {\r\n            if(specification_group.is_required){\r\n                this.required_count++;\r\n            }\r\n        })\r\n    }\r\n\r\n    dragstart_image(event){\r\n        this.start_screex = event.screenX\r\n    }\r\n    dragend_image(event, length){\r\n        this.end_screex = event.screenX;\r\n        var a = jQuery('.a.active').attr('data-slide-to');\r\n        a = Number(a);\r\n        if(this.start_screex < this.end_screex && a > 0){\r\n            a = a-1;\r\n            jQuery('.a#aa'+a).click()\r\n        } else if(this.start_screex > this.end_screex && a < length){\r\n            a = a+1;\r\n            jQuery('.a#aa'+a).click()\r\n        }\r\n    }\r\n\r\n    calculateTotalAmount(){\r\n        this.total = this.current_item.price;\r\n        this.required_temp_count = 0;\r\n        this.current_item.specifications.forEach((specification_group , specification_group_index) => {\r\n            let isAllowed = false;\r\n            specification_group.list.forEach((specification , specification_index) => {\r\n\r\n                if(specification.is_default_selected){\r\n                    this.total = this.total + specification.price;\r\n                    if(specification_group.is_required && !isAllowed){\r\n\r\n                        this.required_temp_count++;\r\n                        isAllowed = true;\r\n                    }\r\n                }\r\n            });\r\n        });\r\n\r\n        this.total = this.total * this.qty;\r\n    }\r\n    changeradio(event, specification_group_index, specification_index){\r\n\r\n        var index = this.current_item.specifications[specification_group_index].list.findIndex(x => x.is_default_selected == true)\r\n        if(index !== -1){\r\n            this.current_item.specifications[specification_group_index].list[index].is_default_selected = false;\r\n        }\r\n        this.current_item.specifications[specification_group_index].list[specification_index].is_default_selected = true;\r\n        this.calculateTotalAmount();\r\n    }\r\n\r\n    changecheckbox(event, specification_group_index, specification_index){\r\n\r\n        this.current_item.specifications[specification_group_index].list[specification_index].is_default_selected = event.target.checked;\r\n        this.calculateTotalAmount();\r\n\r\n    }\r\n\r\n    updateCart(){\r\n        let specificationPriceTotal = 0;\r\n        let specificationPrice = 0;\r\n        let specificationList = [];\r\n        this.current_item.specifications.forEach((specification_group , specification_group_index) => {\r\n\r\n            let specificationItemCartList = [];\r\n            specification_group.list.forEach((specification , specification_index) => {\r\n\r\n                if(specification.is_default_selected){\r\n\r\n                    specificationPrice = specificationPrice + specification.price;\r\n                    specificationPriceTotal = specificationPriceTotal + specification.price;\r\n                    specificationItemCartList.push(specification)\r\n                }\r\n            });\r\n\r\n            if(specificationItemCartList.length > 0){\r\n                let specificationsItem_json ={\r\n                    list: specificationItemCartList,\r\n                    unique_id: specification_group.unique_id,\r\n                    name: specification_group.name,\r\n                    price: specificationPrice,\r\n                    type: specification_group.type,\r\n                }\r\n                specificationList.push(specificationsItem_json);\r\n            }\r\n            specificationPrice = 0;\r\n\r\n        });\r\n\r\n        this.order_detail.cart_detail.order_details[this.selected_product_index].items[this.selected_item_index].item_price = this.current_item.price;\r\n        this.order_detail.cart_detail.order_details[this.selected_product_index].items[this.selected_item_index].total_specification_price = specificationPriceTotal;\r\n        this.order_detail.cart_detail.order_details[this.selected_product_index].items[this.selected_item_index].total_item_and_specification_price = this.total;\r\n        this.order_detail.cart_detail.order_details[this.selected_product_index].items[this.selected_item_index].note_for_item = this.note_for_item;\r\n       \r\n        this.order_detail.cart_detail.order_details[this.selected_product_index].items[this.selected_item_index].quantity = this.qty;\r\n       \r\n        \r\n        this.order_detail.cart_detail.order_details[this.selected_product_index].items[this.selected_item_index].specifications = specificationList;\r\n        \r\n        var total_item_price = 0;\r\n        this.order_detail.cart_detail.order_details[this.selected_product_index].items.forEach((item) =>{\r\n            total_item_price = total_item_price + item.total_item_and_specification_price;\r\n        });\r\n        this.order_detail.cart_detail.order_details[this.selected_product_index].total_item_price = total_item_price;\r\n\r\n        this.edit_item_modal.close();\r\n        // this.update_order_data();\r\n\r\n    }\r\n\r\n    increase_qty(product_index, item_index){\r\n        this.qty++;\r\n        this.calculateTotalAmount();\r\n    }\r\n\r\n    remove_from_cart(product_index, item_index){\r\n        this.order_detail.cart_detail.order_details[product_index].items.splice(item_index, 1);\r\n        if(this.order_detail.cart_detail.order_details[product_index].items.length == 0){\r\n            this.order_detail.cart_detail.order_details.splice(product_index, 1);\r\n            this.calculate_amount(product_index, item_index, false, false);\r\n        } else {\r\n            this.calculate_amount(product_index, item_index, true, false);\r\n        }\r\n        this.check_last_item();\r\n    }\r\n    check_last_item(){\r\n        if(this.order_detail.cart_detail.order_details.length ==1 && this.order_detail.cart_detail.order_details[0].items.length == 1){\r\n            return true;\r\n        } else {\r\n            return false;\r\n        }\r\n    }\r\n\r\n    decrease_qty(product_index, item_index){\r\n        if(this.qty > 1) {\r\n            this.qty--;\r\n            this.calculateTotalAmount();\r\n        }\r\n    }\r\n\r\n    calculate_amount(product_index, item_index, product_bool, item_bool){\r\n        // this.myLoading = true;\r\n        if(item_bool){\r\n            this.current_item.total_item_and_specification_price =\r\n                (this.current_item.item_price + this.current_item.total_specification_price) * this.qty;\r\n\r\n        }\r\n\r\n        if(product_bool){\r\n            var total_item_price = 0;\r\n            this.order_detail.cart_detail.order_details[product_index].items.forEach((item) =>{\r\n                total_item_price = total_item_price + item.total_item_and_specification_price;\r\n            });\r\n            this.order_detail.cart_detail.order_details[product_index].total_item_price = total_item_price;\r\n        }\r\n\r\n        // this.update_order_data();\r\n\r\n\r\n    }\r\n\r\n    update_order_data(){\r\n        let totalItemsPriceWithQuantity = 0;\r\n        let totalSpecificationPriceWithQuantity = 0;\r\n        let totalItemsCount = 0;\r\n        let totalCartAmount = 0;\r\n        let totalSpecificationCount = 0;\r\n        this.order_detail.cart_detail.order_details.forEach((order_product) => {\r\n            order_product.items.forEach((order_item) =>{\r\n                totalItemsPriceWithQuantity += (order_item.item_price * order_item.quantity);\r\n                totalSpecificationPriceWithQuantity += (order_item.total_specification_price * order_item.quantity);\r\n                totalItemsCount += order_item.quantity;\r\n                order_item.specifications.forEach((specification) => {\r\n                    totalSpecificationCount +=  (specification.list.length);\r\n                });\r\n            });\r\n\r\n            totalCartAmount += order_product.total_item_price;\r\n        });\r\n\r\n        let json = {\r\n            store_id: this.store_id,\r\n            server_token: this.server_token,\r\n            order_id: this.order_detail._id,\r\n            total_cart_price: totalCartAmount,\r\n            total_item_count: totalItemsCount,\r\n            order_details: this.order_detail.cart_detail.order_details,\r\n            payment_intent_id: ''\r\n        }\r\n        this.myLoading = true;\r\n        if(this.order_detail.is_payment_mode_cash){\r\n            this.helper.http.post(this.helper.POST_METHOD.STORE_UPDATE_ORDER, json).map((res: Response) => res.json()).subscribe(res_data => {\r\n                this.myLoading = false;\r\n               \r\n                this.is_edit_order = false;\r\n                this.orderDetail(true);\r\n                if(res_data.success){\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n                } else {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n                }\r\n\r\n            },\r\n            (error: any) => {\r\n                this.myLoading=false;\r\n                this.helper.http_status(error)\r\n            });\r\n        } else {\r\n            this.helper.http.post(this.helper.POST_METHOD.CHECK_STORE_UPDATE_ORDER_PAYMENT, json).map((res: Response) => res.json()).subscribe(res_data => {\r\n                if(res_data.is_payment_paid){\r\n                    this.helper.http.post(this.helper.POST_METHOD.STORE_UPDATE_ORDER, json).map((res: Response) => res.json()).subscribe(res_data => {\r\n                        this.myLoading = false;\r\n                       \r\n                        this.is_edit_order = false;\r\n                        this.orderDetail(true);\r\n                        if(res_data.success){\r\n                            this.helper.data.storage = {\r\n                                \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                                \"class\": \"alert-info\"\r\n                            }\r\n                        } else {\r\n                            this.helper.data.storage = {\r\n                                \"code\": res_data.error_code,\r\n                                \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                                \"class\": \"alert-info\"\r\n                            }\r\n                        }\r\n\r\n                    },\r\n                    (error: any) => {\r\n                        this.myLoading=false;\r\n                        this.helper.http_status(error)\r\n                    });\r\n                } else {\r\n                    var json_data = {\r\n                        user_id: this.order_detail.user_id,\r\n                        amount: res_data.remaining_payment\r\n                    }\r\n                    this.helper.http.post(this.helper.POST_METHOD.GET_STRIPE_PAYMENT_INTENT, json_data).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n                        if(res_data.success){\r\n                            if(res_data.is_payment_paid){\r\n\r\n                                this.helper.http.post(this.helper.POST_METHOD.STORE_UPDATE_ORDER, json).map((res: Response) => res.json()).subscribe(res_data => {\r\n                                    this.myLoading = false;\r\n                                   \r\n                                    this.is_edit_order = false;\r\n                                    this.orderDetail(true);\r\n                                    if(res_data.success){\r\n                                        this.helper.data.storage = {\r\n                                            \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                                            \"class\": \"alert-info\"\r\n                                        }\r\n                                    } else {\r\n                                        this.helper.data.storage = {\r\n                                            \"code\": res_data.error_code,\r\n                                            \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                                            \"class\": \"alert-info\"\r\n                                        }\r\n                                    }\r\n\r\n                                },\r\n                                (error: any) => {\r\n                                    this.myLoading=false;\r\n                                    this.helper.http_status(error)\r\n                                });\r\n                            } else {\r\n                                stripe.confirmCardPayment(\r\n                                    res_data.client_secret, {\r\n                                      payment_method: res_data.payment_method\r\n                                    }\r\n                                ).then((result)=> {\r\n                                    if(result.paymentIntent){\r\n                                        json.payment_intent_id = result.paymentIntent.id;\r\n                                        this.helper.http.post(this.helper.POST_METHOD.STORE_UPDATE_ORDER, json).map((res: Response) => res.json()).subscribe(res_data => {\r\n                                            this.myLoading = false;\r\n                                           \r\n                                            this.is_edit_order = false;\r\n                                            this.orderDetail(true);\r\n                                            if(res_data.success){\r\n                                                this.helper.data.storage = {\r\n                                                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                                                    \"class\": \"alert-info\"\r\n                                                }\r\n                                            } else {\r\n                                                this.helper.data.storage = {\r\n                                                    \"code\": res_data.error_code,\r\n                                                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                                                    \"class\": \"alert-info\"\r\n                                                }\r\n                                            }\r\n\r\n                                        },\r\n                                        (error: any) => {\r\n                                            this.myLoading=false;\r\n                                            this.helper.http_status(error)\r\n                                        });\r\n                                    } else {\r\n                                        this.myLoading = false;\r\n                                        this.helper.data.storage = {\r\n                                            \"message\": result.error.message,\r\n                                            \"class\": \"alert-danger\"\r\n                                        }\r\n                                        this.helper.message();\r\n                                    }\r\n                                });\r\n                            }\r\n                        }\r\n\r\n                    });\r\n                }\r\n            });\r\n        }\r\n    }\r\n\r\n    go_to_new_order(){\r\n        this.helper.router.navigate(['store/create_order']);\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/order_new/order.component.ts","import { Component, OnInit ,ViewContainerRef , ViewChild, Output, EventEmitter} from '@angular/core';\r\nimport {Response } from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport { ModalComponent } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport {Helper} from \"../../store_helper\";\r\nimport {Document} from \"../upload_document/upload_document.component\";\r\ndeclare var jQuery:any;\r\ndeclare var c3: any;\r\n\r\nexport interface StoreEdit{\r\n\r\n        store_id: Object,\r\n        server_token:string,\r\n        name: String,\r\n        email: String,\r\n        old_password: String,\r\n        new_password: String,\r\n        login_by: String,\r\n        social_id: any[],\r\n        confirm_password: String,\r\n        website_url: String,\r\n        slogan: String,\r\n        country_name: String,\r\n        country_code: String,\r\n        city_name: String,\r\n        address: String,\r\n        country_phone_code: String,\r\n        phone: Number,\r\n        store_delivery_name: any[],\r\n        latitude: Number,\r\n        longitude: Number,\r\n        image_url: String,\r\n        referral_code:String,\r\n    referral_credit:String,\r\n    total_referred:Number,\r\n    details_submitted: boolean,\r\n    account_id: string,\r\n    bank_account_holder_name: string,\r\n    account_number: string,\r\n    last_transfer_date: any\r\n\r\n\r\n}\r\n\r\nexport interface BankDetail{\r\n    bank_account_holder_name: string,\r\n    account_number: string,\r\n    dob: any,\r\n    bank_holder_id: Object,\r\n        server_token:string,\r\n        bank_holder_type: number\r\n}\r\n\r\nexport interface OrderDetail{\r\n    total_orders: Number,\r\n    accepted_orders: Number,\r\n    completed_orders: Number,\r\n    cancelled_orders: Number,\r\n    completed_order_percentage: Number\r\n}\r\nexport interface Document{\r\n    unique_code: string,\r\n    expired_date: any,\r\n    image_url:string\r\n}\r\n\r\n@Component({\r\n    selector: 'payment_automize',\r\n    template: require('./payment_automize.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class PaymentAutomizeComponent implements OnInit {\r\n\r\n    @ViewChild('myModal')\r\n    modal: ModalComponent;\r\n\r\n    @ViewChild('oldPasswordModal')\r\n    old_password_modal: ModalComponent;\r\n\r\n    private store_edit: StoreEdit;\r\n    private order_detail: OrderDetail;\r\n\r\n    title:any;\r\n    button:any;\r\n    heading_title:any;\r\n    validation_message:any;\r\n    minimum_phone_number_length:number = 8;\r\n    maximum_phone_number_length:number = 10;\r\n    setting_data:any;\r\n    store_detail:any;\r\n    otp_for_email:number;\r\n    otp_for_sms:number;\r\n    store_data:any;\r\n    opt_error_message:number;\r\n    edit:Boolean;\r\n\r\n    bank_detail: BankDetail;\r\n\r\n    edit_document:any[] = [];\r\n    document_list:any[] = [];\r\n    old_image_url:string = '';\r\n    private documentlist: Document;\r\n    error_message:number = 0;\r\n    myLoading:boolean = true;\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef){\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n\r\n    }\r\n    ngOnInit() {\r\n        let token = this.helper.tokenService.getToken();\r\n\r\n        if(!token || !token.token) {\r\n            this.helper.router.navigate(['store/login']);\r\n        }\r\n        setTimeout(() => {\r\n            let height = jQuery('.profile').height();\r\n            jQuery('.document').height(height);\r\n        },100);\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.heading_title=this.helper.heading_title\r\n        this.validation_message=this.helper.validation_message\r\n        this.edit=false;\r\n\r\n        this.bank_detail = {\r\n            bank_holder_id:\"\",\r\n            server_token:\"\",\r\n            bank_account_holder_name: '',\r\n            account_number: '',\r\n            dob: '',\r\n            bank_holder_type: 2\r\n        }\r\n        this.store_edit ={\r\n                store_id:\"\",\r\n                server_token:\"\",\r\n                name: \"\",\r\n                email: \"\",\r\n                old_password: \"\",\r\n                new_password: \"\",\r\n                confirm_password:\"\",\r\n                login_by: \"\",\r\n                social_id: [],\r\n                website_url: \"\",\r\n                slogan: \"\",\r\n                country_name: \"\",\r\n                country_code:\"\",\r\n                city_name: \"\",\r\n                address: \"\",\r\n                country_phone_code: \"\",\r\n                phone: null,\r\n                store_delivery_name: [],\r\n                latitude: null,\r\n                longitude: null,\r\n                image_url: \"\",\r\n                referral_code:\"\",\r\n                referral_credit:\"\",\r\n                total_referred:0,\r\n                details_submitted: false,\r\n                account_id: '',\r\n                bank_account_holder_name: '',\r\n                account_number: '',\r\n                last_transfer_date: null\r\n        }\r\n        this.order_detail = {\r\n            total_orders: 0,\r\n            accepted_orders: 0,\r\n            completed_orders: 0,\r\n            cancelled_orders: 0,\r\n            completed_order_percentage: 0\r\n        }\r\n\r\n        this.documentlist ={\r\n            unique_code:'',\r\n            expired_date:null,\r\n            image_url:''\r\n        }\r\n\r\n        var store = JSON.parse(localStorage.getItem('store'));\r\n        if(store!==null)\r\n        {\r\n            this.store_edit.store_id= store._id;\r\n            this.store_edit.server_token= store.server_token;\r\n            this.bank_detail.bank_holder_id= store._id;\r\n            this.bank_detail.server_token= store.server_token;\r\n        }\r\n        if(!JSON.parse(localStorage.getItem('store_document_ulpoaded')) && JSON.parse(localStorage.getItem('admin_store_document_ulpoaded')))\r\n        {\r\n            this.helper.router.navigate(['store/upload_document']);\r\n        }\r\n\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_SETTING_DETAIL,{}).map((response: Response) => response.json()) .subscribe(res_data => {\r\n\r\n            this.setting_data=res_data.setting\r\n\r\n        },\r\n        (error: any) => {\r\n                this.helper.http_status(error)\r\n        });\r\n\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_DOCUMENT_LIST,{type:2 ,id:this.store_edit.store_id, server_token:this.store_edit.server_token}).map((res_data: Response) => res_data.json()) .subscribe(res_data => {\r\n\r\n                this.myLoading=false;\r\n                if(res_data.success == false)\r\n                {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message();\r\n                    this.document_list=[];\r\n                }\r\n                else\r\n                {\r\n                    this.document_list=res_data.documents;\r\n                    this.document_list.forEach( (document , index) => {\r\n                        this.edit_document[index]=\"false\";\r\n\r\n                        this.get_document_image(document.image_url ,index)\r\n                    })\r\n\r\n\r\n                }\r\n            },\r\n            (error: any) => {\r\n                this.myLoading=false;\r\n                this.helper.http_status(error)\r\n            });\r\n\r\n\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_STORE_DATA,{store_id:this.store_edit.store_id, server_token:this.store_edit.server_token}).map((response: Response) => response.json()) .subscribe(res_data => {\r\n\r\n            this.myLoading=false;\r\n            if(res_data.success == false)\r\n            {\r\n                  this.helper.data.storage = {\r\n                      \"code\": res_data.error_code,\r\n                      \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                      \"class\": \"alert-danger\"\r\n                  }\r\n            }\r\n            else\r\n            {\r\n                this.order_detail=res_data.order_detail;\r\n\r\n                let chart31 = c3.generate({\r\n                    bindto: '#c1',\r\n                    data: {\r\n\r\n                        columns: [\r\n                            [this.title.completed_order, this.order_detail.completed_order_percentage]\r\n                        ],\r\n                        type: 'gauge',\r\n                    },\r\n                    legend: {\r\n                        show: true\r\n                    },\r\n                    gauge: {\r\n                        label: {\r\n                            show: false // to turn off the min/max labels.\r\n                        },\r\n                        width: 30 // for adjusting arc thickness\r\n                    },\r\n                    color: {\r\n                        pattern: ['#1e1e1e'], // the three color levels for the percentage values.\r\n\r\n                    }\r\n                });\r\n\r\n                this.store_detail=res_data.store_detail;\r\n                this.store_edit.name=res_data.store_detail.name;\r\n                this.store_edit.login_by=res_data.store_detail.login_by;\r\n                this.store_edit.social_id = res_data.store_detail.social_ids;\r\n                this.store_edit.email= res_data.store_detail.email;\r\n                this.store_edit.website_url= res_data.store_detail.website_url;\r\n                this.store_edit.slogan= res_data.store_detail.slogan;\r\n                this.store_edit.country_name= res_data.store_detail.country_details.country_name;\r\n                this.store_edit.city_name= res_data.store_detail.city_details.city_name;\r\n                this.store_edit.country_code = res_data.store_detail.country_details.country_code;\r\n                this.store_edit.address= res_data.store_detail.address;\r\n                this.store_edit.country_phone_code= res_data.store_detail.country_phone_code;\r\n                this.store_edit.phone= res_data.store_detail.phone;\r\n                this.store_edit.account_id= res_data.store_detail.account_id;\r\n                this.store_edit.bank_account_holder_name= res_data.store_detail.bank_account_holder_name;\r\n                this.store_edit.account_number= res_data.store_detail.account_number;\r\n                this.store_edit.last_transfer_date= res_data.store_detail.last_transfer_date;\r\n                this.store_edit.details_submitted= res_data.store_detail.details_submitted;\r\n\r\n                if(this.store_edit.account_id){\r\n                    this.get_bank_detail();\r\n                }\r\n\r\n                res_data.store_detail.delivery_details.forEach((delivery_detail)=>{\r\n                    this.store_edit.store_delivery_name.push(delivery_detail.delivery_name);\r\n                })\r\n                this.store_edit.latitude= res_data.store_detail.location[0];\r\n                this.store_edit.longitude= res_data.store_detail.location[1];\r\n                this.store_edit.image_url= this.helper.CONSTANT.IMAGE_BASE_URL + res_data.store_detail.image_url;\r\n                this.store_edit.referral_code= res_data.store_detail.referral_code;\r\n                this.store_edit.referral_credit= res_data.store_detail.wallet;\r\n                this.store_edit.total_referred= res_data.store_detail.total_referrals;\r\n                this.minimum_phone_number_length=res_data.store_detail.country_details.minimum_phone_number_length;\r\n                this.maximum_phone_number_length=res_data.store_detail.country_details.maximum_phone_number_length;\r\n                var country_code = res_data.store_detail.country_details.country_code;\r\n\r\n                var autocompleteElm = <HTMLInputElement>document.getElementById('address');\r\n                let autocomplete = new google.maps.places.Autocomplete((autocompleteElm),{types: ['address'], componentRestrictions: { country: country_code } });\r\n\r\n                autocomplete.addListener( 'place_changed', () => {\r\n                        var place = autocomplete.getPlace();\r\n                        var lat = place.geometry.location.lat();\r\n                        var lng = place.geometry.location.lng();\r\n                        this.store_edit.address=place.formatted_address\r\n                        this.store_edit.latitude=lat\r\n                        this.store_edit.longitude=lng\r\n                });\r\n            }\r\n            \r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n        \r\n\r\n\r\n\r\n\r\n        jQuery(window).resize(function() {\r\n            if (jQuery(window).width() < 454) {\r\n                jQuery('.box').removeClass('col-xs-1');\r\n                jQuery('.total').removeClass('col-xs-5');\r\n                jQuery('.box').addClass('col-xs-2');\r\n                jQuery('.total').addClass('col-xs-10');\r\n                jQuery('.box1').css('padding','')\r\n                jQuery('.total1').css('padding','')\r\n            } else {\r\n                jQuery('.box').removeClass('col-xs-2');\r\n                jQuery('.total').removeClass('col-xs-10');\r\n                jQuery('.box').addClass('col-xs-1');\r\n                jQuery('.total').addClass('col-xs-5');\r\n                jQuery('.box1').css('padding',0)\r\n                jQuery('.total1').css('padding',0)\r\n            }\r\n        });\r\n        setTimeout(function() {\r\n            if (jQuery(window).width() < 454) {\r\n                jQuery('.box').removeClass('col-xs-1');\r\n                jQuery('.total').removeClass('col-xs-5');\r\n                jQuery('.box').addClass('col-xs-2');\r\n                jQuery('.total').addClass('col-xs-10');\r\n                jQuery('.box1').css('padding','')\r\n                jQuery('.total1').css('padding','')\r\n            } else {\r\n                jQuery('.box').removeClass('col-xs-2');\r\n                jQuery('.total').removeClass('col-xs-10');\r\n                jQuery('.box').addClass('col-xs-1');\r\n                jQuery('.total').addClass('col-xs-5');\r\n                jQuery('.box1').css('padding',0)\r\n                jQuery('.total1').css('padding',0)\r\n            }\r\n        },500);\r\n    }\r\n\r\n    public formData = new FormData();\r\n\r\n    image_update($event , document_index) {\r\n\r\n        this.formData = new FormData();\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const image_url = files[0];\r\n        this.formData.append('image_url', image_url);\r\n\r\n        var reader = new FileReader();\r\n\r\n        reader.onload =  (e : any) => {\r\n            this.document_list[document_index].image_url = e.target.result;\r\n            this.documentlist.image_url=e.target.result;\r\n            jQuery('.document'+document_index).attr('src' , e.target.result)\r\n        }\r\n        reader.readAsDataURL(image_url);\r\n\r\n    }\r\n\r\n    get_bank_detail(){\r\n        var json: any = {\r\n            bank_holder_type: this.bank_detail.bank_holder_type,\r\n            bank_holder_id: this.bank_detail.bank_holder_id\r\n        }\r\n        if(this.store_edit.account_id){\r\n            json.account_id = this.store_edit.account_id\r\n        }\r\n        this.helper.http.post(this.helper.POST_METHOD.CHECK_BANK_DETAIL_SUBMITTED,json).map((response: Response) => response.json()) .subscribe(res_data => {\r\n            if(res_data.success){\r\n                if(res_data.payouts_enabled && res_data.details_submitted){\r\n                    this.store_edit.details_submitted = true;\r\n                } else {\r\n                    this.store_edit.details_submitted = false;\r\n                }\r\n                if(res_data.bank_detail){\r\n                    this.store_edit.bank_account_holder_name = res_data.bank_detail.account_holder_name;\r\n                    this.store_edit.account_number = '****************'+res_data.bank_detail.last4;\r\n                }\r\n            } else {\r\n                this.store_edit.details_submitted = false;\r\n                this.store_edit.account_id = '';\r\n            }\r\n        });\r\n    }\r\n\r\n    editDocument(document , document_index)\r\n    {\r\n        this.get_document_image(document.image_url ,document_index);\r\n        this.old_image_url=document.image_url;\r\n        this.edit_document.fill(\"\")\r\n        this.edit_document[document_index]=\"true\"\r\n        this.documentlist.unique_code=document.unique_code;\r\n        this.documentlist.image_url=document.image_url;\r\n        if(document.expired_date != null)\r\n        {\r\n            var date = new Date(document.expired_date);\r\n            this.documentlist.expired_date = { date: { year: date.getFullYear(), month: date.getMonth()+1, day: date.getDate() }   , formatted:date.getMonth()+1 + '-' +  date.getDate() + '-' + date.getFullYear()};\r\n\r\n        }\r\n    }\r\n\r\n    get_document_image(url ,document_index)\r\n    {\r\n        if(url == '')\r\n        {\r\n            jQuery('.document'+document_index).attr('src' , 'default.png')\r\n        } else {\r\n            var oReq = new XMLHttpRequest();\r\n            oReq.open(\"GET\", url, true);\r\n            oReq.setRequestHeader(\"token\", this.store_edit.server_token);\r\n            oReq.responseType = \"blob\";\r\n            oReq.onload = function (oEvent) {\r\n                var arrayBuffer = oReq.response; // Note: not oReq.responseText\r\n                if (arrayBuffer) {\r\n                    jQuery('.document' + document_index).attr('src', URL.createObjectURL(arrayBuffer));\r\n                } else {\r\n                    jQuery('.document' + document_index).attr('src', 'default.png');\r\n                }\r\n            };\r\n            oReq.send(null);\r\n        }\r\n    }\r\n\r\n    updateDocument(document , document_index)\r\n    {\r\n        if(this.documentlist.image_url == '')\r\n        {\r\n            this.error_message=1;\r\n        }\r\n        else if(document.document_details.is_expired_date && this.documentlist.expired_date == null)\r\n        {\r\n            this.error_message=2;\r\n        }\r\n        else if(document.document_details.is_unique_code && this.documentlist.unique_code == '')\r\n        {\r\n            this.error_message=3;\r\n        }\r\n        else\r\n        {\r\n            this.myLoading=true;\r\n            this.error_message=0;\r\n            this.formData.append('type', 2);\r\n            this.formData.append('unique_code',this.documentlist.unique_code);\r\n            this.formData.append('document_id',document._id);\r\n            this.formData.append('id',this.store_edit.store_id);\r\n            this.formData.append('server_token',this.store_edit.server_token);\r\n            if(this.documentlist.expired_date != null)\r\n            {\r\n                this.formData.append('expired_date',this.documentlist.expired_date.formatted);\r\n            }\r\n\r\n            this.helper.http.post(this.helper.POST_METHOD.UPLOAD_DOCUMENT,this.formData).map((res_data: Response) => res_data.json()) .subscribe(res_data => {\r\n\r\n                    this.formData = new FormData();\r\n                    this.edit_document.fill(\"false\")\r\n                    this.myLoading=false;\r\n                    if(res_data.success)\r\n                    {\r\n                        this.document_list[document_index].image_url = res_data.image_url;\r\n\r\n                        this.get_document_image( res_data.image_url, document_index)\r\n\r\n                        this.document_list[document_index].unique_code = res_data.unique_code;\r\n\r\n                        this.document_list[document_index].expired_date = res_data.expired_date;\r\n                        localStorage.setItem('store_document_ulpoaded', res_data.is_document_uploaded);\r\n\r\n                        this.helper.data.storage = {\r\n                            \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                            \"class\": \"alert-info\"\r\n                        }\r\n                        this.helper.message();\r\n\r\n                    }\r\n                    else\r\n                    {\r\n                        this.document_list[document_index].image_url = this.old_image_url;\r\n                        this.get_document_image( this.old_image_url, document_index)\r\n\r\n                        this.helper.data.storage = {\r\n                            \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                            \"class\": \"alert-danger\"\r\n                        }\r\n                        this.helper.message();\r\n                    }\r\n                },\r\n                (error: any) => {\r\n                    this.myLoading=false;\r\n                    this.helper.http_status(error)\r\n                });\r\n\r\n        }\r\n\r\n    }\r\n\r\n    change_image($event) {\r\n        \r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const image_url = files[0];\r\n\r\n        if(image_url.type == \"image/jpeg\" || image_url.type == \"image/jpg\" || image_url.type == \"image/png\")\r\n        {\r\n            this.formData = new FormData();\r\n            this.formData.append('image_url', image_url);\r\n\r\n            var reader = new FileReader();\r\n\r\n            reader.onload =  (e : any) => {\r\n                this.store_edit.image_url = e.target.result\r\n            }\r\n            reader.readAsDataURL(image_url);\r\n        }\r\n    }\r\n\r\n    old_password_update(){\r\n        this.old_password_modal.close();\r\n        this.UpdateStoreDetail(this.store_edit)\r\n    }\r\n\r\n    UpdateStore(store_data){\r\n\r\n        if(this.store_edit.social_id.length == 0){\r\n\r\n            this.old_password_modal.open();\r\n        } else {\r\n            this.UpdateStoreDetail(store_data)\r\n        }\r\n    }\r\n\r\n    delete_bank_detail(){\r\n        this.myLoading=true;\r\n        this.helper.http.post('/api/admin/delete_bank_detail',this.bank_detail).map((res:Response) => res.json()).subscribe(res_data=>{\r\n            this.myLoading=false;\r\n            if(res_data.success){\r\n                this.helper.data.storage = {\r\n                  \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                  \"class\": \"alert-info\"\r\n                }\r\n                this.helper.message()\r\n\r\n                this.store_edit.details_submitted = false;\r\n                this.store_edit.account_id = \"\";\r\n                this.store_edit.bank_account_holder_name = \"\";\r\n                this.store_edit.account_number = \"\";\r\n            } else {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.stripe_error,\r\n                    \"message\": res_data.stripe_error,\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message();\r\n            }\r\n        });\r\n    }\r\n\r\n    UpdateBankDetail(){\r\n        this.myLoading=true;\r\n        // this.bank_detail.dob = this.bank_detail.dob.formatted;\r\n        var json: any = {\r\n            bank_account_holder_name: this.bank_detail.bank_account_holder_name,\r\n            bank_holder_type: this.bank_detail.bank_holder_type,\r\n            bank_holder_id: this.bank_detail.bank_holder_id,\r\n            url: '/store/payment_automize'\r\n        }\r\n        if(this.store_edit.account_id){\r\n            json.account_id = this.store_edit.account_id\r\n        }\r\n        this.helper.http.post('/api/admin/add_bank_detail', json).map((res:Response) => res.json()).subscribe(res_data=>{\r\n            this.myLoading=false;\r\n            if(res_data.success){\r\n                // this.helper.data.storage = {\r\n                //   \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                //   \"class\": \"alert-info\"\r\n                // }\r\n                // this.helper.message();\r\n                this.store_edit.account_id = res_data.account_id;\r\n                this.store_edit.details_submitted = false;\r\n                window.location.href = res_data.url;\r\n                // this.get_bank_detail();\r\n\r\n                // this.store_edit.bank_id = res_data.bank_detail.bank_id;\r\n                // this.store_edit.bank_account_holder_name = res_data.bank_detail.bank_account_holder_name;\r\n                // this.store_edit.account_number = res_data.bank_detail.account_number;\r\n            } else {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.stripe_error,\r\n                    \"message\": res_data.stripe_error,\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message();\r\n            }\r\n        });\r\n    }\r\n\r\n    UpdateStoreDetail(store_data)\r\n    {\r\n        this.store_data=store_data\r\n        var store = JSON.parse(localStorage.getItem('store'));\r\n        if((this.setting_data.is_store_sms_verification == true && store_data.phone !== store.phone) && (this.setting_data.is_store_mail_verification == true && store_data.email !== store.email))\r\n        {\r\n            var otp_json = {type:2, email:this.store_data.email, phone:this.store_data.phone}\r\n            this.generate_otp(otp_json)\r\n        }\r\n        else if(this.setting_data.is_store_sms_verification == true && store_data.phone !== store.phone)\r\n        {\r\n            this.generate_otp({type:2, phone:this.store_data.phone})\r\n        }\r\n        else if(this.setting_data.is_store_mail_verification == true && store_data.email !== store.email)\r\n        {\r\n            this.generate_otp({type:2, email:this.store_data.email})\r\n        }\r\n        else\r\n        {\r\n            this.store_update(store_data)\r\n        }\r\n    }\r\n\r\n    generate_otp(otp_json)\r\n    {\r\n        this.myLoading=true;\r\n        var store = JSON.parse(localStorage.getItem('store'));\r\n        this.helper.http.post(this.helper.POST_METHOD.ADMIN_OTP_VERIFICATION,otp_json).map((res:Response) => res.json()).subscribe(res_data=>{\r\n\r\n            this.myLoading=false;\r\n            if(res_data.success == true)\r\n            {\r\n                this.helper.string_log(\"email\" , res_data.otp_for_email)\r\n                this.helper.string_log(\"sms\" , res_data.otp_for_sms)\r\n                this.modal.open();\r\n                this.otp_for_email=res_data.otp_for_email\r\n                this.otp_for_sms=res_data.otp_for_sms\r\n                \r\n                if(this.store_data.phone == store.phone || this.setting_data.is_store_sms_verification == false)\r\n                  {\r\n                      jQuery(\"#otp_for_sms\").css(\"display\", \"none\");\r\n                  }\r\n\r\n                  if(this.store_data.email == store.email || this.setting_data.is_store_mail_verification == false)\r\n                  {\r\n                      jQuery(\"#otp_for_email\").css(\"display\", \"none\");\r\n                  }\r\n            }\r\n            else\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message()\r\n\r\n            }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n    otp_var(otp)\r\n    {\r\n        if(otp.sms_otp == undefined)\r\n        {\r\n            if(otp.email_otp == this.otp_for_email)\r\n            {\r\n              this.store_update(this.store_data)\r\n                //this.otp_verified({store_id :this.store_data.store_id , email :this.store_data.email , server_token :this.store_data.server_token, is_email_verified:true})\r\n            }\r\n            else\r\n            {\r\n                this.opt_error_message = 1\r\n            }\r\n        }\r\n        else if(otp.email_otp == undefined)\r\n        {\r\n            if(otp.sms_otp == this.otp_for_sms)\r\n            {\r\n              this.store_update(this.store_data)\r\n                //this.otp_verified({store_id :this.store_data.store_id , phone :this.store_data.phone , server_token :this.store_data.server_token, is_phone_number_verified:true})\r\n            }\r\n            else\r\n            {\r\n                this.opt_error_message = 2\r\n            }\r\n        }\r\n        else\r\n        {\r\n            if(otp.sms_otp == this.otp_for_sms && otp.email_otp == this.otp_for_email)\r\n            {\r\n                this.store_update(this.store_data)\r\n                //this.otp_verified({store_id :this.store_data.store_id , email :this.store_data.email , phone : this.store_data.phone , server_token :this.store_data.server_token, is_email_verified:true , is_phone_number_verified:true})\r\n            }\r\n            else\r\n            {\r\n                this.opt_error_message = 3\r\n            }\r\n        }\r\n    }\r\n\r\n    otp_verified(otp_verified_json)\r\n    {\r\n        this.myLoading=true;\r\n        this.helper.http.post(this.helper.POST_METHOD.OTP_VERIFICATION,otp_verified_json).map((res:Response) => res.json()).subscribe(res_data=>{\r\n            this.myLoading=false;\r\n            if(res_data.success == true)\r\n            {\r\n                this.store_update(this.store_data)\r\n            }\r\n            else{\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n            }\r\n                \r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n    store_update(store_data)\r\n    {\r\n        this.myLoading=true;\r\n      this.modal.close();\r\n      this.formData.append('store_id',store_data.store_id);\r\n      this.formData.append('server_token',store_data.server_token);\r\n      this.formData.append('phone',store_data.phone);\r\n      this.formData.append('email',store_data.email.trim());\r\n      this.formData.append('old_password',this.store_edit.old_password);\r\n      this.formData.append('new_password',store_data.new_password);\r\n      this.formData.append('name',store_data.name.trim());\r\n      this.formData.append('address',store_data.address.trim());\r\n      this.formData.append('latitude',store_data.latitude);\r\n      this.formData.append('longitude',store_data.longitude);\r\n      this.formData.append('website_url',store_data.website_url.trim());\r\n      this.formData.append('slogan',store_data.slogan.trim());\r\n\r\n        if(this.store_edit.social_id.length == 0){\r\n            this.formData.append('social_id', '');\r\n        } else {\r\n            this.formData.append('social_id',this.store_edit.social_id[0]);\r\n        }\r\n\r\n        this.formData.append('login_by',this.store_edit.login_by);\r\n\r\n      this.helper.http.post(this.helper.POST_METHOD.UPDATE,this.formData).map((response: Response) => response.json()) .subscribe(res_data => {\r\n\r\n          this.myLoading=false;\r\n          this.store_edit.old_password=\"\";\r\n          this.store_edit.new_password=\"\";\r\n          this.store_edit.confirm_password=\"\";\r\n          jQuery('#remove').click();\r\n          this.edit=false;\r\n          this.formData = new FormData();\r\n          if(res_data.success == false)\r\n          {\r\n            this.helper.data.storage = {\r\n                \"code\": res_data.error_code,\r\n                \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                \"class\": \"alert-danger\"\r\n            }\r\n            this.helper.message()\r\n\r\n            this.store_edit.name=this.store_detail.name;\r\n            this.store_edit.website_url= this.store_detail.website_url;\r\n            this.store_edit.slogan= this.store_detail.slogan;\r\n            this.store_edit.address= this.store_detail.address;\r\n            this.store_edit.phone= this.store_detail.phone;\r\n            this.store_edit.email= this.store_detail.email;\r\n            this.store_edit.latitude= this.store_detail.location[0];\r\n            this.store_edit.longitude= this.store_detail.location[1];\r\n            this.store_edit.image_url= this.helper.CONSTANT.IMAGE_BASE_URL + this.store_detail.image_url;\r\n\r\n\r\n          }\r\n          else\r\n          {\r\n              this.helper.user_cart.name = res_data.store.name;\r\n              this.helper.user_cart.image = res_data.store.image_url;\r\n              var old_detail = JSON.parse(localStorage.getItem('store'));\r\n              res_data.store.server_token = old_detail.server_token;\r\n              localStorage.setItem('store', JSON.stringify(res_data.store));\r\n              this.helper.data.storage = {\r\n                  \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                  \"class\": \"alert-info\"\r\n              }\r\n              this.helper.message()\r\n              // location.reload();\r\n\r\n          }\r\n      },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/payment_automize/payment_automize.component.ts","import { Component, OnInit,ViewContainerRef, ViewChild, ElementRef } from '@angular/core';\r\nimport {Helper} from \"../../store_helper\";\r\nimport { Http, Response } from '@angular/http';\r\ndeclare var jQuery:any;\r\nimport { ModalComponent } from 'ng2-bs3-modal/ng2-bs3-modal';\r\ndeclare var swal: any;\r\nimport {ImageCropperComponent, CropperSettings} from 'ng2-img-cropper';\r\nimport {imageSetting} from \"../edit_item/edit_item.component\";\r\n// import {XLSX} from \"xlsx\";\r\n// import * as XLSX from 'xlsx';\r\n\r\nexport interface AddProduct{\r\n    name:String,\r\n    is_visible_in_store:Boolean,\r\n    store_id:Object,\r\n    server_token:String,\r\n    sequence_number: number\r\n}\r\nexport interface AddItem{\r\n    store_id: Object,\r\n    server_token:String,\r\n    product_id: Object,\r\n    details: String,\r\n    name: String,\r\n    price: any,\r\n    is_visible_in_store:  Boolean,\r\n    is_item_in_stock: Boolean,\r\n    is_most_popular:  Boolean,\r\n    sequence_number: number\r\n}\r\n\r\nexport interface imageSetting{\r\n    image_ratio: number,\r\n    image_min_width: number,\r\n    image_max_width: number\r\n    image_min_height: number,\r\n    image_max_height: number,\r\n    image_type: any[]\r\n}\r\n\r\n@Component({\r\n    selector: 'app-products',\r\n    template: require('./products.component.html'),\r\n    providers: [Helper]\r\n})\r\n\r\nexport class ProductsComponent implements OnInit {\r\n\r\n    @ViewChild('add_specification_modal')\r\n    add_specification_modal: ModalComponent;\r\n\r\n    @ViewChild('edit_product_modal')\r\n    edit_product_modal: ModalComponent;\r\n    @ViewChild('image_crop_modal')\r\n    image_crop_modal: ModalComponent;\r\n    @ViewChild('cropper', undefined)\r\n    cropper:ImageCropperComponent;\r\n    @ViewChild('item_spec_modal')\r\n    item_spec_modal: ModalComponent;\r\n\r\n    @ViewChild('import_data_modal')\r\n    import_data_modal: ModalComponent;\r\n    import_data_file: File;\r\n\r\n    InputVar: ElementRef; \r\n\r\n    public image_setting : imageSetting;\r\n\r\n    private add_product: AddProduct;\r\n    title:any;\r\n    button:any;\r\n    heading_title:any;\r\n    addproductform:Boolean;\r\n    validation_message:any;\r\n    product_list:any[];\r\n    filtered_product_list:any[] = [];\r\n    item_list: any[] = [];\r\n    filtered_item_list: any[] = [];\r\n    product_already_exist:Boolean = false;\r\n    filter_product_name:String = \"\";\r\n    myLoading:boolean = true;\r\n    selected_product_id: any = '';\r\n    selected_product_id_for_specification: any = '';\r\n    data: any;\r\n    selected_specification_group_id: any = '';\r\n    selected_specification_group_name: string = '';\r\n    product_data: any = {};\r\n    specification_group_name: string = '';\r\n    selected_item_id: string = '';\r\n    item_detail: any = {};\r\n    import_file_error: boolean = false;\r\n\r\n    private add_item: AddItem;\r\n    item_already_exist: boolean = false;\r\n    new_image_array: any[] = [];\r\n    image_error: string = '';\r\n    cropperSettings: CropperSettings;\r\n    deleted_image_url: any[] = [];\r\n    specification_list: any[] = [];\r\n    specification_name_array: any[] = [];\r\n    delete_specification_array: any[] = [];\r\n    specification_name: string = '';\r\n    selected_item_specification: string = '';\r\n    item_specification_group_list: any[] = [];\r\n    selected_spec_group_for_item: string = '';\r\n\r\n    /// for add item spec\r\n    product_specification_list: any[] = [];\r\n    checked_array: any[] = [];\r\n    specification_id_array: any[] = [];\r\n    spec_list_error: number = 0;\r\n    selected_specification_list: any[] = [];\r\n    spec_button: string;\r\n    index: number;\r\n    item_error: string;\r\n    public formData = new FormData();\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef){\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n        this.cropperSettings = new CropperSettings();\r\n        this.cropperSettings.canvasWidth = 400;\r\n        this.cropperSettings.canvasHeight = 400;\r\n        this.cropperSettings.noFileInput = true;\r\n        this.cropperSettings.preserveSize = true;\r\n        this.cropperSettings.height = 200;\r\n        this.cropperSettings.width = this.cropperSettings.height * this.helper.image_ratio.ITEM_IMAGE;\r\n        this.data = {};\r\n    }\r\n\r\n    import_data(){\r\n        this.import_data_modal.open();\r\n        // setTimeout(()=>{\r\n        //     jQuery('#file_type').chosen();\r\n        //     jQuery('#file_type').trigger(\"chosen:updated\");\r\n        //     jQuery(this.helper.elementRef.nativeElement).find('#file_type').on('change', (evnt,res_data) => {\r\n        //         this.file_type = res_data.selected;\r\n        //     });\r\n        // },1000);\r\n    }\r\n\r\n    upload_excel($event) {\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const logo_image = files[0];\r\n        console.log(files[0])\r\n        var ext = files[0].name.substring(files[0].name.lastIndexOf('.') + 1);\r\n        console.log(ext)\r\n        if(ext == 'csv' || ext == 'xlsx' || ext == 'xls'){\r\n            this.import_file_error = false;\r\n            this.import_data_file = logo_image; \r\n        } else {\r\n            this.import_file_error = true;\r\n        }\r\n    }\r\n\r\n    upload_excel_data() {\r\n        if(this.import_data_file) {\r\n            this.export_menu(true, (export_response)=>{;\r\n                // this.myLoading = true;\r\n                this.formData.append('store_id', this.add_product.store_id.toString());\r\n                this.formData.append('server_token', this.add_product.server_token.toString());\r\n                this.formData.append('excel_file', this.import_data_file);\r\n                this.helper.http.post('/store/delete_all_products', {store_id: this.add_product.store_id, server_token: this.add_product.server_token}).map((res: Response) => res.json()).subscribe(res_data => {\r\n                    this.helper.http.post('/store/upload_store_data_excel', this.formData).map((res: Response) => res.json()).subscribe(res_data => {\r\n                        if(res_data.success){\r\n                            this.myLoading = false;\r\n                            this.formData = new FormData();\r\n                            this.import_data_modal.close();\r\n                            jQuery('#remove').click();\r\n                            this.ngOnInit();\r\n                        } else {\r\n                            this.myLoading = false;\r\n                            this.helper.data.storage = {\r\n                                \"message\": 'Please upload valid file',\r\n                                \"class\": \"alert-danger\"\r\n                            }\r\n                            this.helper.message();\r\n                        }\r\n                    });\r\n                });\r\n            });\r\n        }\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.image_setting = {\r\n            image_ratio : 1,\r\n            image_min_width: 100,\r\n            image_max_width: 100,\r\n            image_min_height: 100,\r\n            image_max_height: 100,\r\n            image_type: []\r\n        }\r\n\r\n        let token = this.helper.tokenService.getToken();\r\n\r\n        if(!token || !token.token) {\r\n            this.helper.router.navigate(['store/logout']);\r\n        }\r\n        this.add_product ={\r\n            name:\"\",\r\n            is_visible_in_store:true,\r\n            store_id:\"\",\r\n            server_token:\"\",\r\n            sequence_number: null\r\n        }\r\n        this.helper.message();\r\n\r\n        this.add_item ={\r\n            store_id: \"\",\r\n            server_token:\"\",\r\n            product_id: \"\",\r\n            details: \"\",\r\n            name: \"\",\r\n            price: 0,\r\n            is_visible_in_store:  true,\r\n            is_item_in_stock: true,\r\n            is_most_popular:  false,\r\n            sequence_number: null\r\n        }\r\n\r\n        var store = JSON.parse(localStorage.getItem('store'));\r\n        if(store!==null)\r\n        {\r\n            this.add_product.store_id=store._id\r\n            this.add_product.server_token=store.server_token\r\n        }\r\n        if(!JSON.parse(localStorage.getItem('store_document_ulpoaded')) && JSON.parse(localStorage.getItem('admin_store_document_ulpoaded')))\r\n        {\r\n            this.helper.router.navigate(['store/upload_document']);\r\n        }\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.heading_title=this.helper.heading_title\r\n        this.validation_message=this.helper.validation_message;\r\n        this.addproductform=false;\r\n\r\n        this.get_product_list()\r\n\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_IMAGE_SETTING, {\r\n        }).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n                this.image_setting.image_ratio = res_data.image_setting.item_image_ratio;\r\n                this.image_setting.image_min_width = res_data.image_setting.item_image_min_width;\r\n                this.image_setting.image_max_width = res_data.image_setting.item_image_max_width;\r\n                this.image_setting.image_min_height = res_data.image_setting.item_image_min_height;\r\n                this.image_setting.image_max_height = res_data.image_setting.item_image_max_height;\r\n                this.image_setting.image_type = res_data.image_setting.image_type;\r\n\r\n                setTimeout(() => {\r\n                    this.cropperSettings.width = this.cropperSettings.height * res_data.image_setting.product_image_ratio;\r\n                },1000);\r\n            },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    get_product_list(){\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_PRODUCT_LIST,{store_id:this.add_product.store_id, server_token:this.add_product.server_token}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n            this.myLoading=false;\r\n            this.helper.string_log('loading' , this.myLoading)\r\n            if(res_data.success == false)\r\n            {\r\n                this.product_list=[];\r\n                this.filtered_product_list=res_data.products;\r\n            }\r\n            else\r\n            {\r\n                this.product_list=res_data.products;\r\n                this.filtered_product_list=res_data.products;\r\n                \r\n                this.filtered_product_list.sort(this.sortItem);\r\n                this.filtered_product_list.forEach((product, index)=>{\r\n                    // if(product.sequence_number == undefined){\r\n                        product.sequence_number = index;\r\n                    // }\r\n                });\r\n                if(this.filtered_product_list.length>0){\r\n                    this.update_sequence_number(1, false);\r\n                }\r\n\r\n                if(this.filtered_product_list.length>0){\r\n                    this.selected_product_id = this.filtered_product_list[0]._id;\r\n                    this.get_item_list();\r\n                    this.item_specification_group_list = this.filtered_product_list[0].specifications_details;\r\n                }\r\n            }\r\n            jQuery('#sortable_product').sortable({\r\n                start: function(event, ui) {\r\n                    var start_pos = ui.item.index();\r\n                    ui.item.data('start_pos', start_pos);\r\n                },\r\n                update: (event, ui)=> {\r\n                    var start_pos = ui.item.data('start_pos');\r\n                    var index = ui.item.index();\r\n\r\n                    if (start_pos < index) {\r\n                        this.filtered_product_list.forEach((item)=>{\r\n                            if(item.sequence_number >=start_pos+1 && item.sequence_number <=index){\r\n                                item.sequence_number--;\r\n                            }\r\n                        });\r\n\r\n                        let i_index = this.filtered_product_list.findIndex((x)=>x.sequence_number == start_pos);\r\n                        if(i_index != -1){\r\n                            this.filtered_product_list[i_index].sequence_number = index;\r\n                        }\r\n                    } else {\r\n                        let i_index = this.filtered_product_list.findIndex((x)=>x.sequence_number == start_pos);\r\n                        \r\n                        this.filtered_product_list.forEach((product)=>{\r\n                            if(product.sequence_number >=index && product.sequence_number <=start_pos-1){\r\n                                product.sequence_number++;\r\n                            }\r\n                        });\r\n                        if(i_index != -1){\r\n                            this.filtered_product_list[i_index].sequence_number = index;\r\n                        }\r\n                    }\r\n                }\r\n            });\r\n\r\n        },\r\n        (error: any) => {\r\n        });\r\n    }\r\n\r\n    open_specification(product_id){\r\n        this.selected_product_id_for_specification=product_id;\r\n    }\r\n    close_specification(product_id){\r\n        this.selected_product_id_for_specification='';\r\n    }\r\n\r\n    delete_specification_group(id, product_index, sp_group_index, event)\r\n    {\r\n        swal({\r\n            title: 'Are you sure?',\r\n            text: \"You won't be able to revert this!\",\r\n            type: 'warning',\r\n            showCancelButton: true,\r\n            confirmButtonColor: '#3085d6',\r\n            cancelButtonColor: '#d33',\r\n            confirmButtonText: 'Yes, delete it!'\r\n        }).then(() => {\r\n\r\n            this.myLoading=true;\r\n            this.helper.http.post(this.helper.POST_METHOD.DELETE_SPECIFICATION_GROUP,{store_id:this.add_product.store_id, product_id:this.selected_product_id_for_specification,server_token:this.add_product.server_token,\r\n                specification_group_id:id}).map((response: Response) => response.json()) .subscribe(res_data => {\r\n\r\n                    this.myLoading=false;\r\n                    if(res_data.success)\r\n                    {\r\n                        this.helper.data.storage = {\r\n                            \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                            \"class\": \"alert-info\"\r\n                        }\r\n                        this.filtered_product_list[product_index].specifications_details.splice(sp_group_index, 1);\r\n                        if(this.selected_specification_group_id == id){\r\n                            if(this.filtered_product_list[product_index].specifications_details.length>0){\r\n                                this.get_specification(this.filtered_product_list[product_index].specifications_details[0]._id)\r\n                            } else {\r\n                                this.selected_product_id = this.filtered_product_list[product_index]._id;\r\n                                this.selected_product_id_for_specification = '';\r\n                                this.selected_specification_group_id = '';\r\n                                var index = this.filtered_product_list.findIndex((x)=>x._id==this.filtered_product_list[product_index]._id);\r\n                                this.item_specification_group_list = this.filtered_product_list[index].specifications_details;\r\n                                this.get_item_list();\r\n                            }\r\n                        }\r\n                    }\r\n                    else\r\n                    {\r\n                        this.helper.data.storage = {\r\n                            \"code\": res_data.error_code,\r\n                            \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                            \"class\": \"alert-danger\"\r\n                        }\r\n                    }\r\n                    this.helper.message()\r\n                },\r\n                (error: any) => {\r\n                    this.myLoading=false;\r\n                    this.helper.http_status(error)\r\n                });\r\n        }).catch(swal.noop)\r\n    }\r\n\r\n    get_specification(id) {\r\n        this.selected_specification_group_id = id;\r\n        this.myLoading = true;\r\n        this.specification_name_array = [];\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_SPECIFICATION_GROUP, {product_id: this.selected_product_id_for_specification,\r\n            specification_group_id: this.selected_specification_group_id, store_id: this.add_product.store_id, server_token: this.add_product.server_token}).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if(res_data.success){\r\n                this.selected_specification_group_name = res_data.specification_group[0].name;\r\n                this.specification_list = res_data.specification_group[0].list;\r\n            } else {\r\n                this.specification_list = [];\r\n                this.selected_specification_group_name = '';\r\n            }\r\n        });\r\n    }\r\n\r\n    deleteSpecification(id , specification_index)\r\n    {\r\n        if(id == ''){\r\n            this.specification_name_array.splice(specification_index,1);\r\n        } else {\r\n            this.specification_list.splice(specification_index,1)\r\n            this.delete_specification_array.push(id)\r\n        }\r\n    }\r\n\r\n    addSpecification(){\r\n        if(this.specification_name){\r\n            this.specification_name_array.push(this.specification_name);\r\n            this.specification_name = '';\r\n        }\r\n    }\r\n\r\n    updateSpecification() {\r\n\r\n        if(this.specification_name_array.length > 0)\r\n        {\r\n            this.myLoading=true;\r\n            this.helper.http.post(this.helper.POST_METHOD.ADD_SPECIFICATION,{specification_group_id: this.selected_specification_group_id , specification_name :this.specification_name_array ,product_id:this.selected_product_id_for_specification,\r\n                store_id:this.add_product.store_id, server_token:this.add_product.server_token}).map((res_data: Response) => res_data.json()) .subscribe(res_data => {\r\n\r\n                    this.specification_name_array = [];\r\n                    this.myLoading=false;\r\n                    if(res_data.success)\r\n                    {\r\n                        this.specification_list = res_data.specifications\r\n                        if(this.delete_specification_array.length > 0)\r\n                        {\r\n                            this.myLoading=true;\r\n                            this.helper.http.post(this.helper.POST_METHOD.DELETE_SPECIFICATION,{specification_group_id: this.selected_specification_group_id , specification_id :this.delete_specification_array ,product_id:this.selected_product_id_for_specification,\r\n                                store_id:this.add_product.store_id, server_token:this.add_product.server_token}).map((res_data: Response) => res_data.json()) .subscribe(res_data => {\r\n                                    this.delete_specification_array = [];\r\n                                    this.myLoading=false;\r\n                                    if(res_data.success)\r\n                                    {\r\n                                        this.specification_list = res_data.specifications\r\n                                    }\r\n                                    else\r\n                                    {\r\n                                        this.helper.data.storage = {\r\n                                            \"code\": res_data.error_code,\r\n                                            \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                                            \"class\": \"alert-danger\"\r\n                                        }\r\n                                    }\r\n                                },\r\n                                (error: any) => {\r\n                                    this.myLoading=false;\r\n                                    this.helper.http_status(error)\r\n                                });\r\n                        }\r\n                    }\r\n                    else\r\n                    {\r\n                        this.helper.data.storage = {\r\n                            \"code\": res_data.error_code,\r\n                            \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                            \"class\": \"alert-danger\"\r\n                        }\r\n                    }\r\n\r\n                },\r\n                (error: any) => {\r\n                    this.myLoading=false;\r\n                    this.helper.http_status(error)\r\n                });\r\n        } else if(this.delete_specification_array.length > 0)\r\n                        {\r\n                            this.myLoading=true;\r\n                            this.helper.http.post(this.helper.POST_METHOD.DELETE_SPECIFICATION,{specification_group_id: this.selected_specification_group_id , specification_id :this.delete_specification_array ,product_id:this.selected_product_id_for_specification,\r\n                                store_id:this.add_product.store_id, server_token:this.add_product.server_token}).map((res_data: Response) => res_data.json()) .subscribe(res_data => {\r\n                                    this.delete_specification_array = [];\r\n                                    this.myLoading=false;\r\n                                    if(res_data.success)\r\n                                    {\r\n                                        this.specification_list = res_data.specifications\r\n                                    }\r\n                                    else\r\n                                    {\r\n                                        this.helper.data.storage = {\r\n                                            \"code\": res_data.error_code,\r\n                                            \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                                            \"class\": \"alert-danger\"\r\n                                        }\r\n                                    }\r\n                                },\r\n                                (error: any) => {\r\n                                    this.myLoading=false;\r\n                                    this.helper.http_status(error)\r\n                                });\r\n                        }\r\n    }\r\n\r\n    select_product(product_id, event){\r\n        if(!event.target.attributes.class || event.target.attributes.class.value == 'product_li' || event.target.attributes.class.value == 'product_li success-element'){\r\n            this.selected_product_id = product_id;\r\n            this.selected_product_id_for_specification = '';\r\n            this.selected_specification_group_id = '';\r\n            var index = this.filtered_product_list.findIndex((x)=>x._id==product_id);\r\n            this.item_specification_group_list = this.filtered_product_list[index].specifications_details;\r\n            this.new_image_array = [];\r\n            this.get_item_list();\r\n        }\r\n    }\r\n\r\n    check_product()\r\n    {\r\n        var product_index = this.product_list.findIndex(x => x.name.toLowerCase()==this.add_product.name.trim().toLowerCase())\r\n\r\n        if(product_index == -1)\r\n        {\r\n            this.product_already_exist = false;\r\n        }\r\n        else\r\n        {\r\n            this.product_already_exist = true;\r\n        }\r\n    }\r\n\r\n    open_edit_product_modal(product){\r\n        this.product_data = JSON.parse(JSON.stringify(product));\r\n        this.edit_product_modal.open();\r\n    }\r\n    open_add_specification_modal(product_id){\r\n        this.add_specification_modal.open();\r\n    }\r\n\r\n    filter_product(data)\r\n    {\r\n        data = data.replace(/^\\s+|\\s+$/g, '');\r\n        data = data.replace(/ +(?= )/g, '');\r\n        data = new RegExp(data,\"gi\");\r\n\r\n        this.filtered_product_list = this.product_list.filter((product) => {\r\n            var a = product.name.match(data);\r\n            return a !== null\r\n        });\r\n    }\r\n    viewSpecification(id)\r\n    {\r\n        this.helper.router_id.store.specification_product_id=id;\r\n        this.helper.router.navigate(['store/product/specification']);\r\n    }\r\n    addProduct()\r\n    {\r\n        if(!this.product_already_exist && this.add_product.name.trim() != '') {\r\n            this.myLoading = true;\r\n            this.add_product.is_visible_in_store = true;\r\n            this.add_product.sequence_number = this.product_list.length;\r\n            this.helper.http.post(this.helper.POST_METHOD.ADD_PRODUCT, this.add_product).map((res: Response) => res.json()).subscribe(res_data => {\r\n                    this.addproductform = false\r\n                    this.add_product.name = \"\"\r\n                    this.add_product.is_visible_in_store = true;\r\n\r\n                    this.myLoading = false;\r\n                    if (res_data.success == true) {\r\n                        this.helper.data.storage = {\r\n                            \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                            \"class\": \"alert-info\"\r\n                        }\r\n                        this.helper.message()\r\n                        res_data.product.specifications_details = [];\r\n                        this.product_list.push(res_data.product)\r\n                        this.filter_product(this.filter_product_name)\r\n\r\n                    }\r\n                    else {\r\n                        this.helper.data.storage = {\r\n                            \"code\": res_data.error_code,\r\n                            \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                            \"class\": \"alert-danger\"\r\n                        }\r\n                        this.helper.message()\r\n                    }\r\n                },\r\n                (error: any) => {\r\n                    this.myLoading = false;\r\n                    this.helper.http_status(error)\r\n                });\r\n        }\r\n    }\r\n\r\n    updateProduct(product_data, event)\r\n    {\r\n        var json = {\r\n            store_id: this.add_product.store_id,\r\n            product_id: product_data._id,\r\n            server_token: this.add_product.server_token,\r\n            is_visible_in_store: event,\r\n            name: product_data.name\r\n        }\r\n        product_data.is_visible_in_store = event;\r\n        this.myLoading=true;\r\n        this.helper.http.post(this.helper.POST_METHOD.UPDATE_PRODUCT,json).map((res:Response) => res.json()).subscribe(res_data=>{\r\n\r\n                this.myLoading=false;\r\n                if(res_data.success == true)\r\n                {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n                    let index = this.filtered_product_list.findIndex((x)=>x._id==product_data._id);\r\n                    this.filtered_product_list[index].name = product_data.name;\r\n                    this.edit_product_modal.close();\r\n                }\r\n                else\r\n                {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message();\r\n                }\r\n            },\r\n            (error: any) => {\r\n                this.myLoading=false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    add_specification_group()\r\n    {\r\n        if(this.specification_group_name != '') {\r\n            this.myLoading = true;\r\n            this.helper.http.post(this.helper.POST_METHOD.ADD_SPECIFICATION_GROUP,\r\n                {\r\n                    store_id: this.add_product.store_id,\r\n                    product_id: this.selected_product_id,\r\n                    server_token: this.add_product.server_token,\r\n                    specification_group_name: [this.specification_group_name]\r\n                }).map((response: Response) => response.json()).subscribe(res_data => {\r\n                    this.specification_group_name = \"\";\r\n                    this.myLoading = false;\r\n                    if (res_data.success) {\r\n                        this.helper.data.storage = {\r\n                            \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                            \"class\": \"alert-info\"\r\n                        }\r\n                        var index = this.filtered_product_list.findIndex((x) => x._id == this.selected_product_id);\r\n                        this.filtered_product_list[index].specifications_details = res_data.specification_group;\r\n                        this.add_specification_modal.close();\r\n                    }\r\n                    else {\r\n                        this.helper.data.storage = {\r\n                            \"code\": res_data.error_code,\r\n                            \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                            \"class\": \"alert-danger\"\r\n                        }\r\n                    }\r\n                    this.helper.message();\r\n                },\r\n                (error: any) => {\r\n                    this.myLoading = false;\r\n                    this.helper.http_status(error)\r\n                });\r\n        }\r\n    }\r\n\r\n    sortItem(a,b) {\r\n        if (a.sequence_number < b.sequence_number)\r\n            return -1;\r\n        if (a.sequence_number > b.sequence_number)\r\n            return 1;\r\n        return 0;\r\n    }\r\n\r\n    export_menu(myLoading, export_response){\r\n        this.myLoading = true;\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_STORE_PRODUCT_ITEM_LIST,{store_id:this.add_product.store_id, server_token:this.add_product.server_token}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n            this.myLoading = myLoading;\r\n            if(res_data.success){\r\n                var json2csv = require('json2csv');\r\n                var fields  = ['product_name', 'item_name', 'description', 'price', 'image_url'];\r\n                var fieldNames = ['Category Name', 'Item Name', 'Description', 'Price', 'Image Url'];\r\n\r\n                var product_item_data = [];\r\n                res_data.products.forEach((product_detail)=>{\r\n                    product_detail.items.forEach((item_detail)=>{\r\n                        product_item_data.push({\r\n                            product_name: product_detail.name,\r\n                            item_name: item_detail.name,\r\n                            description: item_detail.details,\r\n                            price: item_detail.price,\r\n                            image_url: this.helper.get_image(item_detail.image_url[0]) || ''\r\n                        })\r\n                    })\r\n                })\r\n\r\n                var csv = json2csv({data: product_item_data, fields: fields,fieldNames:fieldNames});\r\n                this.helper.downloadFile(csv);\r\n                if(export_response){\r\n                    export_response(true);\r\n                }\r\n            } else {\r\n                if(export_response){\r\n                    export_response(true);\r\n                }\r\n            }\r\n        });\r\n    }\r\n\r\n    get_item_list(){\r\n        this.myLoading = true;\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_STORE_PRODUCT_ITEM_LIST,{store_id:this.add_product.store_id, server_token:this.add_product.server_token,\r\n            product_id: this.selected_product_id}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n            this.myLoading = false;\r\n            if(res_data.success){\r\n                this.filtered_item_list = res_data.products[0].items;\r\n\r\n                if(this.filtered_item_list.length>0){\r\n                    this.selected_item_id = this.filtered_item_list[0]._id;\r\n                    this.item_detail = JSON.parse(JSON.stringify(this.filtered_item_list[0]))\r\n                } else {\r\n                    this.selected_item_id = '';\r\n                    this.item_detail = {};\r\n                }\r\n            } else {\r\n                this.filtered_item_list = [];\r\n                this.selected_item_id = '';\r\n                this.item_detail = {};\r\n            }\r\n            this.filtered_item_list.sort(this.sortItem);\r\n\r\n            this.filtered_item_list.forEach((item, index)=>{\r\n                // if(item.sequence_number == undefined){\r\n                    item.sequence_number = index;\r\n                // }\r\n            });\r\n            if(this.filtered_item_list.length>0){\r\n                    this.update_sequence_number(2, false);\r\n                }\r\n            jQuery('#sortable').sortable({\r\n                start: function(event, ui) {\r\n                    var start_pos = ui.item.index();\r\n                    ui.item.data('start_pos', start_pos);\r\n                },\r\n                update: (event, ui)=> {\r\n                    var start_pos = ui.item.data('start_pos');\r\n                    var index = ui.item.index();\r\n\r\n                    if (start_pos < index) {\r\n                        this.filtered_item_list.forEach((item)=>{\r\n                            if(item.sequence_number >=start_pos+1 && item.sequence_number <=index){\r\n                                item.sequence_number--;\r\n                            }\r\n                        });\r\n\r\n                        let i_index = this.filtered_item_list.findIndex((x)=>x.sequence_number == start_pos);\r\n                        if(i_index != -1){\r\n                            this.filtered_item_list[i_index].sequence_number = index;\r\n                        }\r\n\r\n                    } else {\r\n                        let i_index = this.filtered_item_list.findIndex((x)=>x.sequence_number == start_pos);\r\n                       \r\n                        this.filtered_item_list.forEach((item)=>{\r\n                            if(item.sequence_number >=index && item.sequence_number <=start_pos-1){\r\n                                item.sequence_number++;\r\n                            }\r\n                        });\r\n                        if(i_index != -1){\r\n                            this.filtered_item_list[i_index].sequence_number = index;\r\n                        }\r\n                    }\r\n                }\r\n            });\r\n            setTimeout(()=>{\r\n                jQuery('.chosen-select').chosen();\r\n                jQuery('.chosen-select').trigger(\"chosen:updated\");\r\n                jQuery(this.helper.elementRef.nativeElement).find('.chosen-select').on('change', (evnt,res_data) => {\r\n                    this.selected_spec_group_for_item = res_data.selected;\r\n                });\r\n            },1000);\r\n        });\r\n    }\r\n\r\n    update_sequence_number(type, bool) {\r\n        this.myLoading = true;\r\n        if(type == 1){\r\n            this.helper.http.post(this.helper.POST_METHOD.UPDATE_SEQUENCE_NMBER, {type: type, filtered_product_list: this.filtered_product_list}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n                this.myLoading = false;\r\n                if(bool){\r\n                    this.helper.data.storage = {\r\n                        \"message\": \"Category Sequence Updated Successfully\",\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n                    this.helper.message();\r\n                }\r\n            });\r\n        } else {\r\n            this.helper.http.post(this.helper.POST_METHOD.UPDATE_SEQUENCE_NMBER, {type: type, filtered_item_list: this.filtered_item_list}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n                this.myLoading = false;\r\n                if(bool){\r\n                    this.helper.data.storage = {\r\n                        \"message\": \"Item Sequence Updated Successfully\",\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n                    this.helper.message();\r\n                }\r\n            });\r\n        }\r\n\r\n    }\r\n\r\n\r\n    select_item(item_id, event){\r\n        this.new_image_array = [];\r\n        this.new_image_array = [];\r\n        this.deleted_image_url = [];\r\n        this.selected_item_id = item_id;\r\n        let index = this.filtered_item_list.findIndex((x)=>x._id == item_id);\r\n        this.item_detail = JSON.parse(JSON.stringify(this.filtered_item_list[index]));\r\n    }\r\n\r\n    check_item()\r\n    {\r\n        var item_index = this.filtered_item_list.findIndex(x => x.name.toLowerCase()==this.add_item.name.toLowerCase() && x.product_id==this.selected_product_id )\r\n        if(item_index == -1)\r\n        {\r\n            this.item_already_exist = false;\r\n        }\r\n        else\r\n        {\r\n            this.item_already_exist = true;\r\n        }\r\n    }\r\n\r\n    add_item_data(){\r\n\r\n        if(!this.item_already_exist && this.add_item.name.trim() && this.add_item.price) {\r\n            this.item_error = '';\r\n            this.myLoading = true;\r\n            this.add_item.product_id = this.selected_product_id;\r\n            this.add_item.store_id = this.add_product.store_id;\r\n            this.add_item.server_token = this.add_product.server_token;\r\n            this.add_item.name = this.add_item.name.trim();\r\n            this.add_item.sequence_number = this.filtered_item_list.length;\r\n            this.helper.http.post(this.helper.POST_METHOD.ADD_ITEM, this.add_item).map((res: Response) => res.json()).subscribe(res_data => {\r\n                this.myLoading=false;\r\n                if(res_data.success == true)\r\n                {\r\n                    this.filtered_item_list.push(res_data.item);\r\n                    this.selected_item_id = res_data.item._id;\r\n                    this.item_detail = JSON.parse(JSON.stringify(res_data.item));\r\n                    this.add_item ={\r\n                        store_id: \"\",\r\n                        server_token:\"\",\r\n                        product_id: \"\",\r\n                        details: \"\",\r\n                        name: \"\",\r\n                        price: 0,\r\n                        is_visible_in_store:  true,\r\n                        is_item_in_stock: true,\r\n                        is_most_popular:  false,\r\n                        sequence_number: null\r\n                    }\r\n                } else {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message();\r\n                }\r\n            });\r\n        } else if(this.item_already_exist){\r\n            this.item_error = this.helper.messages.item_already_exist;\r\n        } else if(!this.add_item.name.trim()){\r\n            this.item_error = this.helper.validation_message.item_name_required;\r\n        } else if(!this.add_item.price){\r\n            this.item_error = this.helper.validation_message.item_price_required;\r\n        }\r\n    }\r\n\r\n    image_update($event, InputVar) {\r\n        console.log(InputVar)\r\n        this.image_error = \"\";\r\n        const files = $event.target.files || $event.srcElement.files;\r\n\r\n        for(var i=0; i<files.length; i++){\r\n            const image_url = files[i];\r\n            var index = this.image_setting.image_type.indexOf(image_url.type);\r\n            if (index !== -1) {\r\n                var reader = new FileReader();\r\n\r\n                reader.onload = (e: any) => {\r\n                    var new_image = new Image();\r\n                    new_image.src = e.target.result;\r\n                    this.cropper.setImage(new_image);\r\n                    new_image.onload = () => {\r\n\r\n                        if(new_image.width >= this.image_setting.image_min_width && new_image.width < this.image_setting.image_max_width &&\r\n                            new_image.height >= this.image_setting.image_min_height && new_image.height < this.image_setting.image_max_height ){\r\n\r\n                            if(new_image.width == (new_image.height * this.image_setting.image_ratio)){\r\n\r\n                                this.new_image_array.unshift({base64_image: e.target.result, file: image_url});\r\n                                InputVar.value = \"\"; \r\n                                this.updateItem();\r\n                            } else {\r\n                                InputVar.value = \"\"; \r\n                                this.image_crop_modal.open();\r\n                                this.image_error = this.title.item_image_ratio_error;\r\n                            }\r\n\r\n                        } else {\r\n                            InputVar.value = \"\"; \r\n                            this.image_crop_modal.open();\r\n                            this.image_error = this.title.item_image_size_error;\r\n                        }\r\n\r\n                    }\r\n                }\r\n                reader.readAsDataURL(image_url);\r\n            } else {\r\n                this.image_error = this.title.item_image_extension_error;\r\n                this.InputVar.nativeElement.value = \"\"; \r\n            }\r\n        }\r\n    }\r\n\r\n    crop($event){\r\n        this.image_error = '';\r\n        function dataURLtoFile(dataurl, filename) {\r\n            var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],\r\n                bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);\r\n            while(n--){\r\n                u8arr[n] = bstr.charCodeAt(n);\r\n            }\r\n            return new File([u8arr], filename, {type:mime});\r\n        }\r\n        let image_type = this.image_setting.image_type\r\n        image_type= image_type[0].split('/')\r\n        var image_url = dataURLtoFile(this.cropper.image.image, 'image.'+image_type[0]);\r\n\r\n        var reader = new FileReader();\r\n        reader.onload = (e: any) => {\r\n            this.myLoading = true;\r\n            var new_image = new Image();\r\n            new_image.src = e.target.result;\r\n            // this.cropper.setImage(new_image);\r\n            new_image.onload = () => {\r\n                this.myLoading = false;\r\n                if(new_image.width >= this.image_setting.image_min_width && new_image.width < this.image_setting.image_max_width &&\r\n                    new_image.height >= this.image_setting.image_min_height && new_image.height < this.image_setting.image_max_height ){\r\n\r\n                    this.new_image_array.unshift({base64_image: e.target.result, file: image_url});\r\n                    // this.formData.append('image_url', image_url)\r\n                    this.image_crop_modal.close();\r\n                    this.updateItem();\r\n                    this.InputVar.nativeElement.value = \"\"; \r\n\r\n                } else {\r\n                    this.image_error = this.title.item_image_size_error;\r\n                }\r\n\r\n            }\r\n        }\r\n        reader.readAsDataURL(image_url);\r\n\r\n    }\r\n\r\n    remove_new_image(index) {\r\n        this.new_image_array.splice(index, 1)\r\n    }\r\n\r\n    delete_item_image(image, index) {\r\n        this.item_detail.image_url.splice(index, 1);\r\n        this.deleted_image_url.push(image)\r\n    }\r\n\r\n    open_specification_modal(){\r\n        if(this.selected_spec_group_for_item) {\r\n            this.checked_array = [];\r\n            let json = {\r\n                store_id: this.add_product.store_id,\r\n                server_token: this.add_product.server_token,\r\n                product_id: this.selected_product_id,\r\n                specification_group_id: this.selected_spec_group_for_item\r\n            }\r\n            this.spec_button = this.button.save;\r\n            this.item_detail.type = 1;\r\n            this.item_detail.is_required = false;\r\n            this.item_detail.is_option_limit = false;\r\n            this.item_detail.option_limit_number = 0;\r\n            this.item_detail.specification_group_id = this.selected_spec_group_for_item;\r\n            var index = this.item_specification_group_list.findIndex((x)=>x._id == this.selected_spec_group_for_item);\r\n            this.item_detail.item_specification_name = this.item_specification_group_list[index].name;\r\n\r\n            this.helper.http.post(this.helper.POST_METHOD.GET_SPECIFICATION_LISTS, json).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n                this.product_specification_list = res_data.specification_list.specifications;\r\n                setTimeout(() => {\r\n                    jQuery('.iradio').iCheck({\r\n                        handle: 'radio',\r\n                        radioClass: 'iradio_square-green'\r\n                    });\r\n                    jQuery('.radio1').iCheck('check');\r\n                }, 500);\r\n                this.item_spec_modal.open();\r\n                this.update_check_box();\r\n            });\r\n        }\r\n    }\r\n\r\n    update_check_box(){\r\n        setTimeout(() => {\r\n            jQuery('.icheck').iCheck({\r\n                handle: 'checkbox',\r\n                checkboxClass: 'icheckbox_square-green',\r\n            });\r\n\r\n            jQuery('.icheck').on('ifChecked', (event) => {\r\n                var id = event.target.getAttribute('value')\r\n                this.specification_id_array.push(id)\r\n                var checked_index = this.product_specification_list.findIndex(x => x._id == id);\r\n\r\n                this.checked_array[checked_index] = true;\r\n            });\r\n\r\n            jQuery('.icheck').on('ifUnchecked', (event) => {\r\n                var id = event.target.getAttribute('value')\r\n                var i = this.specification_id_array.indexOf(id);\r\n                if (i != -1) {\r\n                    this.specification_id_array.splice(i, 1);\r\n                }\r\n                var checked_index = this.product_specification_list.findIndex(x => x._id == id);\r\n                this.product_specification_list[checked_index].price = 0;\r\n                this.product_specification_list[checked_index].is_default_selected = false;\r\n                this.checked_array[checked_index] = false;\r\n            });\r\n\r\n            jQuery('.iradio').on('ifChanged', (event) => {\r\n                var value = Number(event.target.getAttribute('value'))\r\n                this.item_detail.type = value\r\n                for (var i = 0; i <= this.product_specification_list.length - 1; i++) {\r\n                    this.product_specification_list[i].is_default_selected = false\r\n                }\r\n            });\r\n        }, 1000);\r\n    }\r\n\r\n    onChange(event, id)\r\n    {\r\n        if(this.item_detail.type == 1)\r\n        {\r\n            if(event == true)\r\n            {\r\n                for(var i=0; i<=this.product_specification_list.length - 1; i++)\r\n                {\r\n                    if(this.product_specification_list[i]._id !== id)\r\n                    {\r\n                        if(this.product_specification_list[i].is_default_selected == true)\r\n                        {\r\n                            this.product_specification_list[i].is_default_selected=false\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n        }\r\n    }\r\n\r\n    addiItemSpecification(data)\r\n    {\r\n        var size = this.specification_id_array.length;\r\n        if(size == 0)\r\n        {\r\n            this.spec_list_error=1\r\n        }\r\n        else\r\n        {\r\n            for(var i=0; i<size; i++)\r\n            {\r\n                var product_size = this.product_specification_list.length;\r\n                for(var j=0; j<product_size ; j++)\r\n                {\r\n                    if(this.product_specification_list[j]._id === this.specification_id_array[i])\r\n                    {\r\n                        this.selected_specification_list.push({_id:this.product_specification_list[j]._id,\r\n                            name:this.product_specification_list[j].name,\r\n                            unique_id:this.product_specification_list[j].unique_id,\r\n                            price:Number(this.product_specification_list[j].price),\r\n                            is_default_selected:this.product_specification_list[j].is_default_selected,\r\n                            is_user_selected:false});\r\n                    }\r\n                }\r\n            }\r\n            this.selected_specification_list.sort(this.sortSpecification);\r\n            if(this.spec_button === this.button.save)\r\n            {\r\n                if(this.item_detail.specifications_unique_id_count){\r\n                    this.item_detail.specifications_unique_id_count++;\r\n                } else {\r\n                    this.item_detail.specifications_unique_id_count = 1;\r\n                }\r\n                this.item_detail.specifications.push({_id:data.specification_group_id ,\r\n                    unique_id:this.item_detail.specifications_unique_id_count,\r\n                    is_required:data.is_required,\r\n                    is_option_limit:data.is_option_limit,\r\n                    option_limit_number:data.option_limit_number,\r\n                    name:data.item_specification_name,\r\n                    type:data.type,\r\n                    list:this.selected_specification_list});\r\n            }\r\n            else\r\n            {\r\n                this.item_detail.specifications[data.index].name=data.item_specification_name;\r\n                this.item_detail.specifications[data.index].list=this.selected_specification_list;\r\n                this.item_detail.specifications[data.index].type=data.type;\r\n                this.item_detail.specifications[data.index].is_required=data.is_required;\r\n                this.item_detail.specifications[data.index].is_option_limit=data.is_option_limit;\r\n                this.item_detail.specifications[data.index].option_limit_number=data.option_limit_number;\r\n            }\r\n\r\n            this.item_spec_modal.close();\r\n            this.selected_specification_list=[];\r\n            this.specification_id_array=[];\r\n            this.spec_list_error=0;\r\n        }\r\n    }\r\n    sortSpecification(a,b) {\r\n        if (a.name < b.name)\r\n            return -1;\r\n        if (a.name > b.name)\r\n            return 1;\r\n        return 0;\r\n    }\r\n\r\n    edit_item_specification(specification, index) {\r\n        this.myLoading = true;\r\n\r\n        this.checked_array = [];\r\n        this.specification_id_array = [];\r\n        this.product_specification_list = [];\r\n        this.selected_specification_list = [];\r\n\r\n        this.index = index\r\n        this.spec_button = this.button.update;\r\n        this.item_detail.type = specification.type;\r\n        this.item_detail.is_required = specification.is_required;\r\n        this.item_detail.is_option_limit = specification.is_option_limit;\r\n        this.item_detail.option_limit_number = specification.option_limit_number;\r\n        this.item_detail.item_specification_name = specification.name;\r\n        this.product_specification_list = JSON.parse(JSON.stringify(specification.list));\r\n\r\n        specification.list.forEach((value) => {\r\n            this.specification_id_array.push(value._id)\r\n        });\r\n        this.checked_array.length = specification.list.length\r\n        this.checked_array.fill(true);\r\n\r\n        var json = {\r\n            store_id: this.add_product.store_id,\r\n            server_token: this.add_product.server_token,\r\n            product_id: this.item_detail.product_id,\r\n            specification_group_id: specification._id\r\n        }\r\n\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_SPECIFICATION_LISTS, json).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n                if (res_data.success == false) {\r\n                    setTimeout(() => {\r\n                        this.myLoading = false;\r\n                        jQuery('.iradio').iCheck({\r\n                            handle: 'radio',\r\n                            radioClass: 'iradio_square-green'\r\n                        });\r\n                        jQuery('.icheck').iCheck('check');\r\n                        jQuery('.iradio' + specification.type).iCheck('check');\r\n                        this.item_spec_modal.open();\r\n                    }, 1000);\r\n                }\r\n                else {\r\n                    setTimeout(() => {\r\n                        this.myLoading = false;\r\n                        jQuery('.iradio').iCheck({\r\n                            handle: 'radio',\r\n                            radioClass: 'iradio_square-green'\r\n                        });\r\n                        jQuery('.icheck').iCheck({\r\n                            handle: 'checkbox',\r\n                            checkboxClass: 'icheckbox_square-green',\r\n                        });\r\n                        jQuery('.icheck').iCheck('check');\r\n                        jQuery('.iradio' + specification.type).iCheck('check');\r\n\r\n                        var unique_array = res_data.specification_list.specifications.filter((current) => {\r\n                            return specification.list.filter((current_b) => {\r\n                                return current_b['_id'] == current['_id']\r\n                            }).length == 0\r\n                        });\r\n\r\n                        unique_array.filter((current) => {\r\n                            this.product_specification_list.push(current)\r\n                        });\r\n                        this.item_spec_modal.open();\r\n                        this.update_check_box();\r\n                    }, 500);\r\n                }\r\n                setTimeout(() => {\r\n                    jQuery('.icheck').iCheck({\r\n                        handle: 'checkbox',\r\n                        checkboxClass: 'icheckbox_square-green',\r\n                    });\r\n                }, 1000);\r\n\r\n                setTimeout(() => {\r\n                    jQuery('.icheck').on('ifChecked', (event) => {\r\n                        var id = event.target.getAttribute('value')\r\n                        this.specification_id_array.push(id)\r\n                        var checked_index = this.product_specification_list.findIndex(x => x._id == id);\r\n\r\n                        this.checked_array[checked_index] = true;\r\n                    });\r\n\r\n                    jQuery('.icheck').on('ifUnchecked', (event) => {\r\n                        var id = event.target.getAttribute('value')\r\n                        var i = this.specification_id_array.indexOf(id);\r\n                        if (i != -1) {\r\n                            this.specification_id_array.splice(i, 1);\r\n                        }\r\n                        var checked_index = this.product_specification_list.findIndex(x => x._id == id);\r\n                        this.product_specification_list[checked_index].price = 0;\r\n                        this.product_specification_list[checked_index].is_default_selected = false;\r\n                        this.checked_array[checked_index] = false;\r\n                    });\r\n\r\n                    jQuery('.iradio').on('ifChanged', (event) => {\r\n                        var value = Number(event.target.getAttribute('value'))\r\n                        this.item_detail.type = value\r\n                        this.product_specification_list.filter((current) => {\r\n                            current.is_default_selected = false\r\n                        });\r\n                    });\r\n                }, 1000);\r\n\r\n            },\r\n            (error: any) => {\r\n                this.helper.http_status(error)\r\n            });\r\n\r\n\r\n    }\r\n\r\n    delete_item_specification(index)\r\n    {\r\n        swal({\r\n            title: 'Are you sure?',\r\n            text: \"You won't be able to revert this!\",\r\n            type: 'warning',\r\n            showCancelButton: true,\r\n            confirmButtonColor: '#3085d6',\r\n            cancelButtonColor: '#d33',\r\n            confirmButtonText: 'Yes, delete it!'\r\n        }).then(() => {\r\n            this.item_detail.specifications.splice(index, 1);\r\n            swal(\r\n                'Deleted!',\r\n                'Your file has been deleted.',\r\n                'success'\r\n            );\r\n        }).catch(swal.noop)\r\n    }\r\n\r\n    updateItem(){\r\n        this.myLoading=true;\r\n        this.item_detail.name=this.item_detail.name.trim();\r\n        this.item_detail.store_id = this.add_product.store_id;\r\n        this.item_detail.server_token = this.add_product.server_token;\r\n        this.item_detail.item_id = this.item_detail._id;\r\n        this.item_detail.is_item_in_stock = this.item_detail.is_item_in_stock;\r\n        this.item_detail.is_visible_in_store = this.item_detail.is_visible_in_store;\r\n        this.helper.http.post(this.helper.POST_METHOD.UPDATE_ITEM,this.item_detail).map((res:Response) => res.json()).subscribe(res_data=>{\r\n\r\n                if(res_data.success == true)\r\n                {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n                    this.helper.message();\r\n                    if(this.new_image_array.length > 0)\r\n                    {\r\n                        this.add_image_service()\r\n                    }\r\n                    else if(this.delete_item_image.length > 0)\r\n                    {\r\n                        this.delete_image_service();\r\n                    }\r\n                    else\r\n                    {\r\n                        this.myLoading=false;\r\n                        this.get_item_list();\r\n                    }\r\n                }\r\n                else\r\n                {\r\n                    this.myLoading=false;\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message();\r\n                }\r\n            },\r\n            (error: any) => {\r\n                this.myLoading=false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n    add_image_service()\r\n    {\r\n        this.new_image_array.forEach((image , index) =>{\r\n            if(image !== undefined)\r\n            {\r\n                this.formData.append(index, image.file);\r\n            }\r\n        });\r\n        this.formData.append(\"item_id\", this.selected_item_id);\r\n        this.helper.http.post(this.helper.POST_METHOD.UPDATE_ITEM_IMAGE,this.formData).map((res:Response) => res.json()).subscribe(res_data=>{\r\n                this.new_image_array = [];\r\n                this.formData = new FormData();\r\n                if(res_data.success==false)\r\n                {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message();\r\n                }\r\n                else\r\n                {\r\n                    if(this.delete_item_image.length > 0)\r\n                    {\r\n                        this.delete_image_service();\r\n                    }\r\n                    else{\r\n                        this.myLoading=false;\r\n                        this.helper.message();\r\n                        this.get_item_list();\r\n                    }\r\n                }\r\n            },\r\n            (error: any) => {\r\n                this.myLoading=false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n    delete_image_service()\r\n    {\r\n        this.helper.http.post(this.helper.POST_METHOD.DELETE_ITEM_IMAGE,{store_id:this.add_product.store_id , server_token:this.add_product.server_token,\r\n            _id:this.selected_item_id , image_url:this.deleted_image_url}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n                this.myLoading=false;\r\n                if(res_data.success==false)\r\n                {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message();\r\n                }\r\n                else\r\n                {\r\n                    this.helper.message();\r\n                }\r\n                this.get_item_list();\r\n            },\r\n            (error: any) => {\r\n                this.myLoading=false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    test(id)\r\n    {\r\n        this.helper.router.navigate(['/store/specification', { id: id}]);\r\n    }\r\n\r\n    deleteItem(item){\r\n        var json = {type: this.helper.ADMIN_DATA_ID.ADMIN, store_id:this.add_product.store_id , server_token:this.add_product.server_token,\r\n            _id: item._id, image_url: item.image_url}\r\n        this.helper.http.post(this.helper.POST_METHOD.DELETE_ITEM_IMAGE, json).map((res:Response) => res.json()).subscribe(res_data=>{\r\n            this.helper.http.post('/api/store/delete_item', json).map((res:Response) => res.json()).subscribe(res_data=>{\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.helper.message();\r\n                this.get_item_list();\r\n            });\r\n        });\r\n    }\r\n\r\n    deleteProduct(product){\r\n        var json = {type: this.helper.ADMIN_DATA_ID.ADMIN, store_id:this.add_product.store_id , server_token:this.add_product.server_token,\r\n            _id: product._id}\r\n        this.helper.http.post('/api/store/delete_product', json).map((res:Response) => res.json()).subscribe(res_data=>{\r\n            this.helper.data.storage = {\r\n                \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                \"class\": \"alert-info\"\r\n            }\r\n            this.helper.message();\r\n            this.get_product_list();\r\n        });\r\n    }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/products/products.component.ts","import { Component, OnInit ,ViewContainerRef , ViewChild, Output, EventEmitter} from '@angular/core';\r\nimport {Response } from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport { ModalComponent } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport {Helper} from \"../../store_helper\";\r\nimport {Document} from \"../upload_document/upload_document.component\";\r\ndeclare var jQuery:any;\r\ndeclare var c3: any;\r\n\r\nexport interface StoreEdit{\r\n\r\n        store_id: Object,\r\n        server_token:string,\r\n        name: String,\r\n        email: String,\r\n        old_password: String,\r\n        new_password: String,\r\n        login_by: String,\r\n        social_id: any[],\r\n        confirm_password: String,\r\n        website_url: String,\r\n        slogan: String,\r\n        country_name: String,\r\n        country_code: String,\r\n        city_name: String,\r\n        address: String,\r\n        country_phone_code: String,\r\n        phone: Number,\r\n        store_delivery_name: any[],\r\n        latitude: Number,\r\n        longitude: Number,\r\n        image_url: String,\r\n        referral_code:String,\r\n    referral_credit:String,\r\n    total_referred:Number,\r\n    details_submitted: boolean,\r\n    account_id: string,\r\n    bank_account_holder_name: string,\r\n    account_number: string,\r\n    last_transfer_date: any\r\n\r\n\r\n}\r\n\r\nexport interface BankDetail{\r\n    bank_account_holder_name: string,\r\n    account_number: string,\r\n    dob: any,\r\n    bank_holder_id: Object,\r\n        server_token:string,\r\n        bank_holder_type: number\r\n}\r\n\r\nexport interface OrderDetail{\r\n    total_orders: Number,\r\n    accepted_orders: Number,\r\n    completed_orders: Number,\r\n    cancelled_orders: Number,\r\n    completed_order_percentage: Number\r\n}\r\nexport interface Document{\r\n    unique_code: string,\r\n    expired_date: any,\r\n    image_url:string\r\n}\r\n\r\n@Component({\r\n    selector: 'profile',\r\n    template: require('./profile.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class ProfileComponent implements OnInit {\r\n\r\n    @ViewChild('myModal')\r\n    modal: ModalComponent;\r\n\r\n    @ViewChild('oldPasswordModal')\r\n    old_password_modal: ModalComponent;\r\n\r\n    private store_edit: StoreEdit;\r\n    private order_detail: OrderDetail;\r\n\r\n    title:any;\r\n    button:any;\r\n    heading_title:any;\r\n    validation_message:any;\r\n    minimum_phone_number_length:number = 8;\r\n    maximum_phone_number_length:number = 10;\r\n    setting_data:any;\r\n    store_detail:any;\r\n    otp_for_email:number;\r\n    otp_for_sms:number;\r\n    store_data:any;\r\n    opt_error_message:number;\r\n    edit:Boolean;\r\n\r\n    bank_detail: BankDetail;\r\n\r\n    edit_document:any[] = [];\r\n    document_list:any[] = [];\r\n    old_image_url:string = '';\r\n    private documentlist: Document;\r\n    error_message:number = 0;\r\n    myLoading:boolean = true;\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef){\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n\r\n    }\r\n    ngOnInit() {\r\n        let token = this.helper.tokenService.getToken();\r\n\r\n        if(!token || !token.token) {\r\n            this.helper.router.navigate(['store/login']);\r\n        }\r\n        setTimeout(() => {\r\n            let height = jQuery('.profile').height();\r\n            jQuery('.document').height(height);\r\n        },100);\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.heading_title=this.helper.heading_title\r\n        this.validation_message=this.helper.validation_message\r\n        this.edit=false;\r\n\r\n        this.bank_detail = {\r\n            bank_holder_id:\"\",\r\n            server_token:\"\",\r\n            bank_account_holder_name: '',\r\n            account_number: '',\r\n            dob: '',\r\n            bank_holder_type: 2\r\n        }\r\n        this.store_edit ={\r\n                store_id:\"\",\r\n                server_token:\"\",\r\n                name: \"\",\r\n                email: \"\",\r\n                old_password: \"\",\r\n                new_password: \"\",\r\n                confirm_password:\"\",\r\n                login_by: \"\",\r\n                social_id: [],\r\n                website_url: \"\",\r\n                slogan: \"\",\r\n                country_name: \"\",\r\n                country_code:\"\",\r\n                city_name: \"\",\r\n                address: \"\",\r\n                country_phone_code: \"\",\r\n                phone: null,\r\n                store_delivery_name: [],\r\n                latitude: null,\r\n                longitude: null,\r\n                image_url: \"\",\r\n                referral_code:\"\",\r\n                referral_credit:\"\",\r\n                total_referred:0,\r\n                details_submitted: false,\r\n                account_id: '',\r\n                bank_account_holder_name: '',\r\n                account_number: '',\r\n                last_transfer_date: null\r\n        }\r\n        this.order_detail = {\r\n            total_orders: 0,\r\n            accepted_orders: 0,\r\n            completed_orders: 0,\r\n            cancelled_orders: 0,\r\n            completed_order_percentage: 0\r\n        }\r\n\r\n        this.documentlist ={\r\n            unique_code:'',\r\n            expired_date:null,\r\n            image_url:''\r\n        }\r\n\r\n        var store = JSON.parse(localStorage.getItem('store'));\r\n        if(store!==null)\r\n        {\r\n            this.store_edit.store_id= store._id;\r\n            this.store_edit.server_token= store.server_token;\r\n            this.bank_detail.bank_holder_id= store._id;\r\n            this.bank_detail.server_token= store.server_token;\r\n        }\r\n        if(!JSON.parse(localStorage.getItem('store_document_ulpoaded')) && JSON.parse(localStorage.getItem('admin_store_document_ulpoaded')))\r\n        {\r\n            this.helper.router.navigate(['store/upload_document']);\r\n        }\r\n\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_SETTING_DETAIL,{}).map((response: Response) => response.json()) .subscribe(res_data => {\r\n\r\n            this.setting_data=res_data.setting\r\n\r\n        },\r\n        (error: any) => {\r\n                this.helper.http_status(error)\r\n        });\r\n\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_DOCUMENT_LIST,{type:2 ,id:this.store_edit.store_id, server_token:this.store_edit.server_token}).map((res_data: Response) => res_data.json()) .subscribe(res_data => {\r\n\r\n                this.myLoading=false;\r\n                if(res_data.success == false)\r\n                {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message();\r\n                    this.document_list=[];\r\n                }\r\n                else\r\n                {\r\n                    this.document_list=res_data.documents;\r\n                    this.document_list.forEach( (document , index) => {\r\n                        this.edit_document[index]=\"false\";\r\n\r\n                        this.get_document_image(document.image_url ,index)\r\n                    })\r\n\r\n\r\n                }\r\n            },\r\n            (error: any) => {\r\n                this.myLoading=false;\r\n                this.helper.http_status(error)\r\n            });\r\n\r\n\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_STORE_DATA,{store_id:this.store_edit.store_id, server_token:this.store_edit.server_token}).map((response: Response) => response.json()) .subscribe(res_data => {\r\n\r\n            this.myLoading=false;\r\n            if(res_data.success == false)\r\n            {\r\n                  this.helper.data.storage = {\r\n                      \"code\": res_data.error_code,\r\n                      \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                      \"class\": \"alert-danger\"\r\n                  }\r\n            }\r\n            else\r\n            {\r\n                this.order_detail=res_data.order_detail;\r\n\r\n                let chart31 = c3.generate({\r\n                    bindto: '#c1',\r\n                    data: {\r\n\r\n                        columns: [\r\n                            [this.title.completed_order, this.order_detail.completed_order_percentage]\r\n                        ],\r\n                        type: 'gauge',\r\n                    },\r\n                    legend: {\r\n                        show: true\r\n                    },\r\n                    gauge: {\r\n                        label: {\r\n                            show: false // to turn off the min/max labels.\r\n                        },\r\n                        width: 30 // for adjusting arc thickness\r\n                    },\r\n                    color: {\r\n                        pattern: ['#1e1e1e'], // the three color levels for the percentage values.\r\n\r\n                    }\r\n                });\r\n\r\n                this.store_detail=res_data.store_detail;\r\n                this.store_edit.name=res_data.store_detail.name;\r\n                this.store_edit.login_by=res_data.store_detail.login_by;\r\n                this.store_edit.social_id = res_data.store_detail.social_ids;\r\n                this.store_edit.email= res_data.store_detail.email;\r\n                this.store_edit.website_url= res_data.store_detail.website_url;\r\n                this.store_edit.slogan= res_data.store_detail.slogan;\r\n                this.store_edit.country_name= res_data.store_detail.country_details.country_name;\r\n                this.store_edit.city_name= res_data.store_detail.city_details.city_name;\r\n                this.store_edit.country_code = res_data.store_detail.country_details.country_code;\r\n                this.store_edit.address= res_data.store_detail.address;\r\n                this.store_edit.country_phone_code= res_data.store_detail.country_phone_code;\r\n                this.store_edit.phone= res_data.store_detail.phone;\r\n                this.store_edit.account_id= res_data.store_detail.account_id;\r\n                this.store_edit.bank_account_holder_name= res_data.store_detail.bank_account_holder_name;\r\n                this.store_edit.account_number= res_data.store_detail.account_number;\r\n                this.store_edit.last_transfer_date= res_data.store_detail.last_transfer_date;\r\n                this.store_edit.details_submitted= res_data.store_detail.details_submitted;\r\n\r\n                if(this.store_edit.account_id){\r\n                    this.get_bank_detail();\r\n                }\r\n\r\n                res_data.store_detail.delivery_details.forEach((delivery_detail)=>{\r\n                    this.store_edit.store_delivery_name.push(delivery_detail.delivery_name);\r\n                })\r\n                this.store_edit.latitude= res_data.store_detail.location[0];\r\n                this.store_edit.longitude= res_data.store_detail.location[1];\r\n                this.store_edit.image_url= this.helper.CONSTANT.IMAGE_BASE_URL + res_data.store_detail.image_url;\r\n                this.store_edit.referral_code= res_data.store_detail.referral_code;\r\n                this.store_edit.referral_credit= res_data.store_detail.wallet;\r\n                this.store_edit.total_referred= res_data.store_detail.total_referrals;\r\n                this.minimum_phone_number_length=res_data.store_detail.country_details.minimum_phone_number_length;\r\n                this.maximum_phone_number_length=res_data.store_detail.country_details.maximum_phone_number_length;\r\n                var country_code = res_data.store_detail.country_details.country_code;\r\n\r\n                var autocompleteElm = <HTMLInputElement>document.getElementById('address');\r\n                let autocomplete = new google.maps.places.Autocomplete((autocompleteElm),{types: ['address'], componentRestrictions: { country: country_code } });\r\n\r\n                autocomplete.addListener( 'place_changed', () => {\r\n                        var place = autocomplete.getPlace();\r\n                        var lat = place.geometry.location.lat();\r\n                        var lng = place.geometry.location.lng();\r\n                        this.store_edit.address=place.formatted_address\r\n                        this.store_edit.latitude=lat\r\n                        this.store_edit.longitude=lng\r\n                });\r\n            }\r\n            \r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n        \r\n\r\n\r\n\r\n\r\n        jQuery(window).resize(function() {\r\n            if (jQuery(window).width() < 454) {\r\n                jQuery('.box').removeClass('col-xs-1');\r\n                jQuery('.total').removeClass('col-xs-5');\r\n                jQuery('.box').addClass('col-xs-2');\r\n                jQuery('.total').addClass('col-xs-10');\r\n                jQuery('.box1').css('padding','')\r\n                jQuery('.total1').css('padding','')\r\n            } else {\r\n                jQuery('.box').removeClass('col-xs-2');\r\n                jQuery('.total').removeClass('col-xs-10');\r\n                jQuery('.box').addClass('col-xs-1');\r\n                jQuery('.total').addClass('col-xs-5');\r\n                jQuery('.box1').css('padding',0)\r\n                jQuery('.total1').css('padding',0)\r\n            }\r\n        });\r\n        setTimeout(function() {\r\n            if (jQuery(window).width() < 454) {\r\n                jQuery('.box').removeClass('col-xs-1');\r\n                jQuery('.total').removeClass('col-xs-5');\r\n                jQuery('.box').addClass('col-xs-2');\r\n                jQuery('.total').addClass('col-xs-10');\r\n                jQuery('.box1').css('padding','')\r\n                jQuery('.total1').css('padding','')\r\n            } else {\r\n                jQuery('.box').removeClass('col-xs-2');\r\n                jQuery('.total').removeClass('col-xs-10');\r\n                jQuery('.box').addClass('col-xs-1');\r\n                jQuery('.total').addClass('col-xs-5');\r\n                jQuery('.box1').css('padding',0)\r\n                jQuery('.total1').css('padding',0)\r\n            }\r\n        },500);\r\n    }\r\n\r\n    public formData = new FormData();\r\n\r\n    image_update($event , document_index) {\r\n\r\n        this.formData = new FormData();\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const image_url = files[0];\r\n        this.formData.append('image_url', image_url);\r\n\r\n        var reader = new FileReader();\r\n\r\n        reader.onload =  (e : any) => {\r\n            this.document_list[document_index].image_url = e.target.result;\r\n            this.documentlist.image_url=e.target.result;\r\n            jQuery('.document'+document_index).attr('src' , e.target.result)\r\n        }\r\n        reader.readAsDataURL(image_url);\r\n\r\n    }\r\n\r\n    get_bank_detail(){\r\n        var json: any = {\r\n            bank_holder_type: this.bank_detail.bank_holder_type,\r\n            bank_holder_id: this.bank_detail.bank_holder_id\r\n        }\r\n        if(this.store_edit.account_id){\r\n            json.account_id = this.store_edit.account_id\r\n        }\r\n        this.helper.http.post(this.helper.POST_METHOD.CHECK_BANK_DETAIL_SUBMITTED,json).map((response: Response) => response.json()) .subscribe(res_data => {\r\n            if(res_data.success){\r\n                if(res_data.payouts_enabled && res_data.details_submitted){\r\n                    this.store_edit.details_submitted = true;\r\n                } else {\r\n                    this.store_edit.details_submitted = false;\r\n                }\r\n                if(res_data.bank_detail){\r\n                    this.store_edit.bank_account_holder_name = res_data.bank_detail.account_holder_name;\r\n                    this.store_edit.account_number = '****************'+res_data.bank_detail.last4;\r\n                }\r\n            } else {\r\n                this.store_edit.details_submitted = false;\r\n                this.store_edit.account_id = '';\r\n            }\r\n        });\r\n    }\r\n\r\n    editDocument(document , document_index)\r\n    {\r\n        this.get_document_image(document.image_url ,document_index);\r\n        this.old_image_url=document.image_url;\r\n        this.edit_document.fill(\"\")\r\n        this.edit_document[document_index]=\"true\"\r\n        this.documentlist.unique_code=document.unique_code;\r\n        this.documentlist.image_url=document.image_url;\r\n        if(document.expired_date != null)\r\n        {\r\n            var date = new Date(document.expired_date);\r\n            this.documentlist.expired_date = { date: { year: date.getFullYear(), month: date.getMonth()+1, day: date.getDate() }   , formatted:date.getMonth()+1 + '-' +  date.getDate() + '-' + date.getFullYear()};\r\n\r\n        }\r\n    }\r\n\r\n    get_document_image(url ,document_index)\r\n    {\r\n        if(url == '')\r\n        {\r\n            jQuery('.document'+document_index).attr('src' , 'default.png')\r\n        } else {\r\n            var oReq = new XMLHttpRequest();\r\n            oReq.open(\"GET\", url, true);\r\n            oReq.setRequestHeader(\"token\", this.store_edit.server_token);\r\n            oReq.responseType = \"blob\";\r\n            oReq.onload = function (oEvent) {\r\n                var arrayBuffer = oReq.response; // Note: not oReq.responseText\r\n                if (arrayBuffer) {\r\n                    jQuery('.document' + document_index).attr('src', URL.createObjectURL(arrayBuffer));\r\n                } else {\r\n                    jQuery('.document' + document_index).attr('src', 'default.png');\r\n                }\r\n            };\r\n            oReq.send(null);\r\n        }\r\n    }\r\n\r\n    updateDocument(document , document_index)\r\n    {\r\n        if(this.documentlist.image_url == '')\r\n        {\r\n            this.error_message=1;\r\n        }\r\n        else if(document.document_details.is_expired_date && this.documentlist.expired_date == null)\r\n        {\r\n            this.error_message=2;\r\n        }\r\n        else if(document.document_details.is_unique_code && this.documentlist.unique_code == '')\r\n        {\r\n            this.error_message=3;\r\n        }\r\n        else\r\n        {\r\n            this.myLoading=true;\r\n            this.error_message=0;\r\n            this.formData.append('type', 2);\r\n            this.formData.append('unique_code',this.documentlist.unique_code);\r\n            this.formData.append('document_id',document._id);\r\n            this.formData.append('id',this.store_edit.store_id);\r\n            this.formData.append('server_token',this.store_edit.server_token);\r\n            if(this.documentlist.expired_date != null)\r\n            {\r\n                this.formData.append('expired_date',this.documentlist.expired_date.formatted);\r\n            }\r\n\r\n            this.helper.http.post(this.helper.POST_METHOD.UPLOAD_DOCUMENT,this.formData).map((res_data: Response) => res_data.json()) .subscribe(res_data => {\r\n\r\n                    this.formData = new FormData();\r\n                    this.edit_document.fill(\"false\")\r\n                    this.myLoading=false;\r\n                    if(res_data.success)\r\n                    {\r\n                        this.document_list[document_index].image_url = res_data.image_url;\r\n\r\n                        this.get_document_image( res_data.image_url, document_index)\r\n\r\n                        this.document_list[document_index].unique_code = res_data.unique_code;\r\n\r\n                        this.document_list[document_index].expired_date = res_data.expired_date;\r\n                        localStorage.setItem('store_document_ulpoaded', res_data.is_document_uploaded);\r\n\r\n                        this.helper.data.storage = {\r\n                            \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                            \"class\": \"alert-info\"\r\n                        }\r\n                        this.helper.message();\r\n\r\n                    }\r\n                    else\r\n                    {\r\n                        this.document_list[document_index].image_url = this.old_image_url;\r\n                        this.get_document_image( this.old_image_url, document_index)\r\n\r\n                        this.helper.data.storage = {\r\n                            \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                            \"class\": \"alert-danger\"\r\n                        }\r\n                        this.helper.message();\r\n                    }\r\n                },\r\n                (error: any) => {\r\n                    this.myLoading=false;\r\n                    this.helper.http_status(error)\r\n                });\r\n\r\n        }\r\n\r\n    }\r\n\r\n    change_image($event) {\r\n        \r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const image_url = files[0];\r\n\r\n        if(image_url.type == \"image/jpeg\" || image_url.type == \"image/jpg\" || image_url.type == \"image/png\")\r\n        {\r\n            this.formData = new FormData();\r\n            this.formData.append('image_url', image_url);\r\n\r\n            var reader = new FileReader();\r\n\r\n            reader.onload =  (e : any) => {\r\n                this.store_edit.image_url = e.target.result\r\n            }\r\n            reader.readAsDataURL(image_url);\r\n        }\r\n    }\r\n\r\n    old_password_update(){\r\n        this.old_password_modal.close();\r\n        this.UpdateStoreDetail(this.store_edit)\r\n    }\r\n\r\n    UpdateStore(store_data){\r\n\r\n        if(this.store_edit.social_id.length == 0){\r\n\r\n            this.old_password_modal.open();\r\n        } else {\r\n            this.UpdateStoreDetail(store_data)\r\n        }\r\n    }\r\n\r\n    delete_bank_detail(){\r\n        this.myLoading=true;\r\n        this.helper.http.post('/api/admin/delete_bank_detail',this.bank_detail).map((res:Response) => res.json()).subscribe(res_data=>{\r\n            this.myLoading=false;\r\n            if(res_data.success){\r\n                this.helper.data.storage = {\r\n                  \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                  \"class\": \"alert-info\"\r\n                }\r\n                this.helper.message()\r\n\r\n                this.store_edit.details_submitted = false;\r\n                this.store_edit.account_id = \"\";\r\n                this.store_edit.bank_account_holder_name = \"\";\r\n                this.store_edit.account_number = \"\";\r\n            } else {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.stripe_error,\r\n                    \"message\": res_data.stripe_error,\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message();\r\n            }\r\n        });\r\n    }\r\n\r\n    UpdateBankDetail(){\r\n        this.myLoading=true;\r\n        // this.bank_detail.dob = this.bank_detail.dob.formatted;\r\n        var json: any = {\r\n            bank_account_holder_name: this.bank_detail.bank_account_holder_name,\r\n            bank_holder_type: this.bank_detail.bank_holder_type,\r\n            bank_holder_id: this.bank_detail.bank_holder_id\r\n        }\r\n        if(this.store_edit.account_id){\r\n            json.account_id = this.store_edit.account_id\r\n        }\r\n        this.helper.http.post('/api/admin/add_bank_detail', json).map((res:Response) => res.json()).subscribe(res_data=>{\r\n            this.myLoading=false;\r\n            if(res_data.success){\r\n                // this.helper.data.storage = {\r\n                //   \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                //   \"class\": \"alert-info\"\r\n                // }\r\n                // this.helper.message();\r\n                this.store_edit.account_id = res_data.account_id;\r\n                this.store_edit.details_submitted = false;\r\n                window.location.href = res_data.url;\r\n                // this.get_bank_detail();\r\n\r\n                // this.store_edit.bank_id = res_data.bank_detail.bank_id;\r\n                // this.store_edit.bank_account_holder_name = res_data.bank_detail.bank_account_holder_name;\r\n                // this.store_edit.account_number = res_data.bank_detail.account_number;\r\n            } else {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.stripe_error,\r\n                    \"message\": res_data.stripe_error,\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message();\r\n            }\r\n        });\r\n    }\r\n\r\n    UpdateStoreDetail(store_data)\r\n    {\r\n        this.store_data=store_data\r\n        var store = JSON.parse(localStorage.getItem('store'));\r\n        if((this.setting_data.is_store_sms_verification == true && store_data.phone !== store.phone) && (this.setting_data.is_store_mail_verification == true && store_data.email !== store.email))\r\n        {\r\n            var otp_json = {type:2, email:this.store_data.email, phone:this.store_data.phone}\r\n            this.generate_otp(otp_json)\r\n        }\r\n        else if(this.setting_data.is_store_sms_verification == true && store_data.phone !== store.phone)\r\n        {\r\n            this.generate_otp({type:2, phone:this.store_data.phone})\r\n        }\r\n        else if(this.setting_data.is_store_mail_verification == true && store_data.email !== store.email)\r\n        {\r\n            this.generate_otp({type:2, email:this.store_data.email})\r\n        }\r\n        else\r\n        {\r\n            this.store_update(store_data)\r\n        }\r\n    }\r\n\r\n    generate_otp(otp_json)\r\n    {\r\n        this.myLoading=true;\r\n        var store = JSON.parse(localStorage.getItem('store'));\r\n        this.helper.http.post(this.helper.POST_METHOD.ADMIN_OTP_VERIFICATION,otp_json).map((res:Response) => res.json()).subscribe(res_data=>{\r\n\r\n            this.myLoading=false;\r\n            if(res_data.success == true)\r\n            {\r\n                this.helper.string_log(\"email\" , res_data.otp_for_email)\r\n                this.helper.string_log(\"sms\" , res_data.otp_for_sms)\r\n                this.modal.open();\r\n                this.otp_for_email=res_data.otp_for_email\r\n                this.otp_for_sms=res_data.otp_for_sms\r\n                \r\n                if(this.store_data.phone == store.phone || this.setting_data.is_store_sms_verification == false)\r\n                  {\r\n                      jQuery(\"#otp_for_sms\").css(\"display\", \"none\");\r\n                  }\r\n\r\n                  if(this.store_data.email == store.email || this.setting_data.is_store_mail_verification == false)\r\n                  {\r\n                      jQuery(\"#otp_for_email\").css(\"display\", \"none\");\r\n                  }\r\n            }\r\n            else\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message()\r\n\r\n            }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n    otp_var(otp)\r\n    {\r\n        if(otp.sms_otp == undefined)\r\n        {\r\n            if(otp.email_otp == this.otp_for_email)\r\n            {\r\n              this.store_update(this.store_data)\r\n                //this.otp_verified({store_id :this.store_data.store_id , email :this.store_data.email , server_token :this.store_data.server_token, is_email_verified:true})\r\n            }\r\n            else\r\n            {\r\n                this.opt_error_message = 1\r\n            }\r\n        }\r\n        else if(otp.email_otp == undefined)\r\n        {\r\n            if(otp.sms_otp == this.otp_for_sms)\r\n            {\r\n              this.store_update(this.store_data)\r\n                //this.otp_verified({store_id :this.store_data.store_id , phone :this.store_data.phone , server_token :this.store_data.server_token, is_phone_number_verified:true})\r\n            }\r\n            else\r\n            {\r\n                this.opt_error_message = 2\r\n            }\r\n        }\r\n        else\r\n        {\r\n            if(otp.sms_otp == this.otp_for_sms && otp.email_otp == this.otp_for_email)\r\n            {\r\n                this.store_update(this.store_data)\r\n                //this.otp_verified({store_id :this.store_data.store_id , email :this.store_data.email , phone : this.store_data.phone , server_token :this.store_data.server_token, is_email_verified:true , is_phone_number_verified:true})\r\n            }\r\n            else\r\n            {\r\n                this.opt_error_message = 3\r\n            }\r\n        }\r\n    }\r\n\r\n    otp_verified(otp_verified_json)\r\n    {\r\n        this.myLoading=true;\r\n        this.helper.http.post(this.helper.POST_METHOD.OTP_VERIFICATION,otp_verified_json).map((res:Response) => res.json()).subscribe(res_data=>{\r\n            this.myLoading=false;\r\n            if(res_data.success == true)\r\n            {\r\n                this.store_update(this.store_data)\r\n            }\r\n            else{\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n            }\r\n                \r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n    store_update(store_data)\r\n    {\r\n        this.myLoading=true;\r\n      this.modal.close();\r\n      this.formData.append('store_id',store_data.store_id);\r\n      this.formData.append('server_token',store_data.server_token);\r\n      this.formData.append('phone',store_data.phone);\r\n      this.formData.append('email',store_data.email.trim());\r\n      this.formData.append('old_password',this.store_edit.old_password);\r\n      this.formData.append('new_password',store_data.new_password);\r\n      this.formData.append('name',store_data.name.trim());\r\n      this.formData.append('address',store_data.address.trim());\r\n      this.formData.append('latitude',store_data.latitude);\r\n      this.formData.append('longitude',store_data.longitude);\r\n      this.formData.append('website_url',store_data.website_url.trim());\r\n      this.formData.append('slogan',store_data.slogan.trim());\r\n\r\n        if(this.store_edit.social_id.length == 0){\r\n            this.formData.append('social_id', '');\r\n        } else {\r\n            this.formData.append('social_id',this.store_edit.social_id[0]);\r\n        }\r\n\r\n        this.formData.append('login_by',this.store_edit.login_by);\r\n\r\n      this.helper.http.post(this.helper.POST_METHOD.UPDATE,this.formData).map((response: Response) => response.json()) .subscribe(res_data => {\r\n\r\n          this.myLoading=false;\r\n          this.store_edit.old_password=\"\";\r\n          this.store_edit.new_password=\"\";\r\n          this.store_edit.confirm_password=\"\";\r\n          jQuery('#remove').click();\r\n          this.edit=false;\r\n          this.formData = new FormData();\r\n          if(res_data.success == false)\r\n          {\r\n            this.helper.data.storage = {\r\n                \"code\": res_data.error_code,\r\n                \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                \"class\": \"alert-danger\"\r\n            }\r\n            this.helper.message()\r\n\r\n            this.store_edit.name=this.store_detail.name;\r\n            this.store_edit.website_url= this.store_detail.website_url;\r\n            this.store_edit.slogan= this.store_detail.slogan;\r\n            this.store_edit.address= this.store_detail.address;\r\n            this.store_edit.phone= this.store_detail.phone;\r\n            this.store_edit.email= this.store_detail.email;\r\n            this.store_edit.latitude= this.store_detail.location[0];\r\n            this.store_edit.longitude= this.store_detail.location[1];\r\n            this.store_edit.image_url= this.helper.CONSTANT.IMAGE_BASE_URL + this.store_detail.image_url;\r\n\r\n\r\n          }\r\n          else\r\n          {\r\n              this.helper.user_cart.name = res_data.store.name;\r\n              this.helper.user_cart.image = res_data.store.image_url;\r\n              var old_detail = JSON.parse(localStorage.getItem('store'));\r\n              res_data.store.server_token = old_detail.server_token;\r\n              localStorage.setItem('store', JSON.stringify(res_data.store));\r\n              this.helper.data.storage = {\r\n                  \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                  \"class\": \"alert-info\"\r\n              }\r\n              this.helper.message()\r\n              // location.reload();\r\n\r\n          }\r\n      },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/profile/profile.component.ts","import {Component, OnInit, ViewContainerRef} from '@angular/core';\r\nimport {Helper} from \"../../store_helper\";\r\nimport {Http, Response} from '@angular/http';\r\ndeclare var jQuery: any;\r\n\r\n@Component({\r\n    selector: 'app-promo_code',\r\n    template: require('./promo_code.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class StorePromoCodeComponent implements OnInit {\r\n    promo_code_list: any[];\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    ADMIN_DATA_ID: any;\r\n    lable_title: any;\r\n    sort_field: string;\r\n    sort_promo_code: number;\r\n    search_field: string;\r\n    search_value: string;\r\n    page: number;\r\n    total_page: number;\r\n    total_pages: number[];\r\n    promo_id: Object;\r\n    state: Boolean;\r\n    public message: string = \"\";\r\n    public class: string;\r\n    myLoading: boolean = true;\r\n    store_id: Object = null;\r\n    server_token: string = '';\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n    ngAfterViewInit() {\r\n        jQuery(\".chosen-select\").chosen({disable_search: true});\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n    }\r\n\r\n    ngOnInit() {\r\n        \r\n        this.helper.message()\r\n        this.sort_field = \"unique_id\";\r\n        this.sort_promo_code = -1;\r\n        this.search_field = \"promo_code_name\";\r\n        this.search_value = \"\";\r\n        this.page = 1;\r\n\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.ADMIN_DATA_ID = this.helper.ADMIN_DATA_ID;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.lable_title = this.helper.lable_title\r\n        this.promo_code_list = [];\r\n        this.state = true;\r\n        let store = JSON.parse(localStorage.getItem('store'));\r\n        if(store!==null) {\r\n            this.store_id = store._id;\r\n            this.server_token = store.server_token;\r\n            this.filter(this.page);\r\n        }\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_field').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_field = res_data.selected;\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_promo_code').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_promo_code = res_data.selected;\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#search_field').on('change', (evnt, res_data) => {\r\n\r\n            this.search_field = res_data.selected;\r\n\r\n        });\r\n    }\r\n\r\n    filter(page) {\r\n        this.page = page;\r\n        this.helper.http.post('/api/store/search_sort_promo_code_list', {\r\n            sort_field: this.sort_field, sort_promo_code: this.sort_promo_code, store_id: this.store_id, server_token: this.server_token,\r\n            search_field: this.search_field, search_value: this.search_value, page: this.page\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n                this.promo_code_list = [];\r\n                this.total_pages = [];\r\n            }\r\n            else {\r\n\r\n                this.promo_code_list = res_data.promo_codes;\r\n                this.total_page = res_data.pages;\r\n                this.total_pages = Array(res_data.pages).fill((x, i) => i).map((x, i) => i + 1)\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    promocode_active_deactive(state, promo_id) {\r\n        this.helper.http.post('/admin/promocode_active_deactive', {\r\n            promo_id: promo_id, state: state\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            if (res_data.success == true) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n\r\n                var index = this.promo_code_list.findIndex(x => x._id == promo_id);\r\n                this.promo_code_list[index].is_active = state;\r\n\r\n                this.helper.router.navigate(['store/promocode']);\r\n            }\r\n\r\n\r\n        });\r\n    }\r\n    editPromo(id) {\r\n        this.helper.router_id.store.store_promo_id = id;\r\n        this.helper.router.navigate(['store/promo/edit']);\r\n\r\n    }\r\n\r\n    viewPromoUses(id) {\r\n        this.helper.router_id.store.promo_uses_id = id;\r\n        this.helper.router.navigate(['admin/view_promo_uses']);\r\n\r\n    }\r\n\r\n    activeRoute(routename: string): boolean {\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/promo_code/promo_code.component.ts","import { Component, OnInit , ViewChild, ViewContainerRef} from '@angular/core';\r\nimport {Response } from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport {Helper} from \"../../store_helper\";\r\ndeclare var jQuery:any;\r\ndeclare var swal: any;\r\nimport { ModalComponent } from 'ng2-bs3-modal/ng2-bs3-modal';\r\n\r\n\r\nexport interface StoreSetting{\r\n    store_id: Object,\r\n    server_token:String,\r\n    social_id: any[],\r\n    login_by: String,\r\n    store_time:any[],\r\n    is_business:Boolean,\r\n    is_visible: Boolean,\r\n    item_tax:Number,\r\n    store_open_time:any,\r\n    store_close_time:any,\r\n    old_password:String,\r\n    free_delivery_for_above_order_price:number,\r\n    free_delivery_within_radius: number,\r\n    is_store_pay_delivery_fees:Boolean,\r\n    delivery_time:Number,\r\n    delivery_time_max:Number,\r\n    price_rating:Number,\r\n    admin_profit_mode_on_store:Number,\r\n    admin_profit_value_on_store:Number,\r\n    lang:string,\r\n    famous_for: any[],\r\n    is_order_cancellation_charge_apply: Boolean,\r\n    order_cancellation_charge_for_above_order_price: number,\r\n    order_cancellation_charge_type: number,\r\n    order_cancellation_charge_value: number,\r\n    max_item_quantity_add_by_user: number,\r\n    schedule_order_create_after_minute: number,\r\n    is_provide_delivery_anywhere: Boolean,\r\n    delivery_radius: number,\r\n    is_ask_estimated_time_for_ready_order: Boolean,\r\n    is_taking_schedule_order: Boolean,\r\n    inform_schedule_order_before_min: number,\r\n    min_order_price: number,\r\n    is_store_busy: Boolean,\r\n    payment_mode_for_pickup: number,\r\n    payment_mode_for_delivery: number,\r\n    preparation_time_for_pickup: number,\r\n    preparation_time_for_delivery: number\r\n}\r\n\r\nexport interface DomainSettingData{\r\n    site_logo:string,\r\n    site_description:string,\r\n    site_domain:string,\r\n    domain_type: string,\r\n    site_color:string\r\n}\r\n\r\n@Component({\r\n    selector: 'app-setting',\r\n    template: require('./setting.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class SettingComponent implements OnInit {\r\n\r\n    private store_setting: StoreSetting;\r\n    title:any;\r\n    button:any;\r\n    heading_title:any;\r\n    validation_message:any;\r\n    store_time_add:Boolean;\r\n    store_open_time_error:number;\r\n    store_close_time_error:number;\r\n    @ViewChild('myModal')\r\n    modal: ModalComponent;\r\n    myLoading:boolean = true;\r\n    selected_store_time_array: any[] = [];\r\n    store_time_millisecond_array : any[] = [];\r\n    curren_selected_day: number = 0;\r\n    is_store_open_full_time: Boolean = false;\r\n    is_store_open: Boolean = false;\r\n    type: string = '';\r\n    @ViewChild('oldPasswordModal')\r\n    old_password_modal: ModalComponent;\r\n    famous_for: any[] = [];\r\n    StoreDomainSetting = {\r\n        site_color:'#9bd1ef',\r\n        site_description:\"\",\r\n        site_domain:\"\",\r\n        domain_type: 'sub_domain',\r\n        site_logo:\"\",\r\n        title_logo: \"\",\r\n        menu_url: \"\",\r\n        menu_url_type: \"\"\r\n    }\r\n\r\n    @ViewChild('copy_store_time_modal')\r\n    copy_store_time_modal: ModalComponent;\r\n\r\n    edit: Boolean = true;\r\n    uploaded_site_logo;\r\n    uploaded_title_logo;\r\n    uploaded_menu_url;\r\n\r\n    is_time_edit: boolean = false;\r\n    selected_time_index: any;\r\n    selected_days: any[] = [];\r\n    date_array: any[] = [];\r\n\r\n    constructor( private helper:Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    ngAfterViewInit()\r\n    {\r\n        jQuery('.clock-picker').clockpicker({\r\n            'default': 'now',\r\n            'align': 'right'\r\n        });\r\n\r\n        setTimeout(function() {\r\n            jQuery(\".chosen-select\").chosen({disable_search: true});\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n\r\n            jQuery('.icheck').iCheck({\r\n                handle: 'checkbox',\r\n                checkboxClass: 'icheckbox_square-green',\r\n            });\r\n        }, 1000);\r\n\r\n    }\r\n\r\n    ngOnInit() {\r\n\r\n        let token = this.helper.tokenService.getToken();\r\n\r\n        if(!token || !token.token) {\r\n            this.helper.router.navigate(['store/login']);\r\n        }\r\n\r\n\r\n        this.store_setting ={\r\n            store_id: \"\",\r\n            server_token:\"\",\r\n            social_id: [],\r\n            login_by: \"\",\r\n            store_time:[],\r\n            famous_for: [],\r\n            is_business:true,\r\n            is_visible: true,\r\n            item_tax:null,\r\n            old_password:\"\",\r\n            store_open_time:\"\",\r\n            store_close_time:\"\",\r\n            is_store_pay_delivery_fees:false,\r\n            free_delivery_for_above_order_price:null,\r\n            free_delivery_within_radius: null,\r\n            delivery_time:null,\r\n            delivery_time_max:null,\r\n            price_rating:null,\r\n            admin_profit_mode_on_store:null,\r\n            admin_profit_value_on_store:null,\r\n            lang :'',\r\n            is_store_busy: false,\r\n\r\n            is_order_cancellation_charge_apply: false,\r\n            order_cancellation_charge_for_above_order_price: 0,\r\n            order_cancellation_charge_type: 1,\r\n            order_cancellation_charge_value: 0,\r\n            max_item_quantity_add_by_user: 0,\r\n            schedule_order_create_after_minute: 0,\r\n            is_provide_delivery_anywhere: false,\r\n            delivery_radius: 0,\r\n            is_taking_schedule_order: false,\r\n            is_ask_estimated_time_for_ready_order: false,\r\n            inform_schedule_order_before_min: 0,\r\n            min_order_price: 0,\r\n            payment_mode_for_pickup: 0,\r\n            payment_mode_for_delivery: 0,\r\n            preparation_time_for_pickup: 0,\r\n            preparation_time_for_delivery: 0,\r\n        }\r\n        if(!JSON.parse(localStorage.getItem('store_document_ulpoaded')) && JSON.parse(localStorage.getItem('admin_store_document_ulpoaded')))\r\n        {\r\n            this.helper.router.navigate(['store/upload_document']);\r\n        }\r\n        this.store_time_add=true;\r\n\r\n        var store = JSON.parse(localStorage.getItem('store'));\r\n        if(store!==null)\r\n        {\r\n            this.store_setting.store_id= store._id;\r\n            this.store_setting.server_token= store.server_token;\r\n        }\r\n\r\n        var language = JSON.parse(localStorage.getItem('language'));\r\n        if(language == '' || language == undefined)\r\n        {\r\n            language = 'en'\r\n        }\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_STORE_DATA,{store_id:this.store_setting.store_id, server_token:this.store_setting.server_token}).map((response: Response) => response.json()) .subscribe(res_data => {\r\n            this.myLoading=false;\r\n            if(res_data.success == false)\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n            }\r\n            else {\r\n                this.famous_for = res_data.famous_for;\r\n                var old_detail = JSON.parse(localStorage.getItem('store'));\r\n                res_data.store_detail.server_token = old_detail.server_token;\r\n                localStorage.setItem('store', JSON.stringify(res_data.store_detail));\r\n                var store = res_data.store_detail;\r\n                this.store_setting.store_id= store._id;\r\n                this.store_setting.server_token= store.server_token;\r\n                this.store_setting.social_id = store.social_ids;\r\n                this.store_setting.login_by = store.login_by;\r\n                this.store_setting.store_time= store.store_time;\r\n                this.store_setting.is_business= store.is_business;\r\n                this.store_setting.is_visible= store.is_visible;\r\n                this.store_setting.is_store_busy= store.is_store_busy;\r\n                this.store_setting.item_tax= store.item_tax;\r\n                this.store_setting.is_store_pay_delivery_fees= store.is_store_pay_delivery_fees;\r\n                this.store_setting.free_delivery_for_above_order_price= store.free_delivery_for_above_order_price;\r\n                this.store_setting.free_delivery_within_radius = store.free_delivery_within_radius;\r\n                this.store_setting.delivery_time= store.delivery_time;\r\n                this.store_setting.delivery_time_max= store.delivery_time_max;\r\n                this.store_setting.price_rating= store.price_rating;\r\n                this.store_setting.admin_profit_mode_on_store= store.admin_profit_mode_on_store;\r\n                this.store_setting.admin_profit_value_on_store= store.admin_profit_value_on_store;\r\n                this.store_setting.lang= language;\r\n                this.store_setting.famous_for= store.famous_products_tags;\r\n\r\n                this.store_setting.is_order_cancellation_charge_apply = store.is_order_cancellation_charge_apply;\r\n                this.store_setting.order_cancellation_charge_for_above_order_price = store.order_cancellation_charge_for_above_order_price;\r\n                this.store_setting.order_cancellation_charge_type = store.order_cancellation_charge_type;\r\n                this.store_setting.order_cancellation_charge_value = store.order_cancellation_charge_value;\r\n\r\n                this.store_setting.max_item_quantity_add_by_user = store.max_item_quantity_add_by_user;\r\n                this.store_setting.schedule_order_create_after_minute = store.schedule_order_create_after_minute;\r\n                this.store_setting.is_provide_delivery_anywhere = store.is_provide_delivery_anywhere;\r\n                this.store_setting.delivery_radius = store.delivery_radius;\r\n                this.store_setting.is_taking_schedule_order = store.is_taking_schedule_order;\r\n                this.store_setting.is_ask_estimated_time_for_ready_order = store.is_ask_estimated_time_for_ready_order;\r\n                this.store_setting.inform_schedule_order_before_min = store.inform_schedule_order_before_min;\r\n                this.store_setting.min_order_price = store.min_order_price;\r\n                this.store_setting.payment_mode_for_pickup = store.payment_mode_for_pickup;\r\n                this.store_setting.payment_mode_for_delivery = store.payment_mode_for_delivery;\r\n                this.store_setting.preparation_time_for_pickup = store.preparation_time_for_pickup;\r\n                this.store_setting.preparation_time_for_delivery = store.preparation_time_for_delivery;\r\n\r\n                if(!store.site_domain){\r\n                    store.site_domain = '';\r\n                }\r\n                store.domain_type = store.domain_type || 'sub_domain';\r\n                store.site_domain = store.site_domain.replace('www.', '');\r\n                store.site_domain = store.site_domain.replace('.mywhop.com', '');\r\n\r\n\r\n                this.StoreDomainSetting = {\r\n                    site_color:store.site_color,\r\n                    site_description:store.site_desc,\r\n                    site_domain:store.site_domain,\r\n                    domain_type: store.domain_type,\r\n                    site_logo:store.site_logo,\r\n                    title_logo: store.title_logo,\r\n                    menu_url: store.menu_url,\r\n                    menu_url_type: store.menu_url_type\r\n                }\r\n\r\n\r\n                this.change_day(0)\r\n\r\n                this.store_setting.famous_for.forEach(function (famous) {\r\n\r\n                    setTimeout(() => {\r\n                        jQuery('#icheck' + famous).iCheck('check');\r\n                    }, 400);\r\n                });\r\n\r\n            }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n            this.helper.http_status(error)\r\n        });\r\n\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.heading_title=this.helper.heading_title\r\n        this.validation_message=this.helper.validation_message;\r\n\r\n//        jQuery(this.helper.elementRef.nativeElement).find('#delivery_time').on('change', (evnt,res_data) => {\r\n//\r\n//            this.store_setting.delivery_time=res_data.selected;\r\n//\r\n//        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#lang').on('change', (evnt,res_data) => {\r\n\r\n            this.helper.trans.use(res_data.selected);\r\n\r\n            localStorage.setItem('language', JSON.stringify(res_data.selected));\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#price_rating').on('change', (evnt,res_data) => {\r\n\r\n            this.store_setting.price_rating=res_data.selected;\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#domain_type').on('change', (evnt,res_data) => {\r\n\r\n            this.StoreDomainSetting.domain_type=res_data.selected;\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#order_cancellation_charge_type').on('change', (evnt,res_data) => {\r\n\r\n            this.store_setting.order_cancellation_charge_type=res_data.selected;\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#payment_mode_for_pickup').on('change', (evnt,res_data) => {\r\n\r\n            this.store_setting.payment_mode_for_pickup=res_data.selected;\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#payment_mode_for_delivery').on('change', (evnt,res_data) => {\r\n\r\n            this.store_setting.payment_mode_for_delivery=res_data.selected;\r\n\r\n        });\r\n        \r\n        setTimeout(() => {\r\n            jQuery(this.helper.elementRef.nativeElement).find('.icheck').on('ifChecked', (event, res_data) => {\r\n\r\n                var id = event.target.getAttribute('value')\r\n                this.store_setting.famous_for.push(id)\r\n            });\r\n\r\n            jQuery(this.helper.elementRef.nativeElement).find('.icheck').on('ifUnchecked', (event, res_data) => {\r\n\r\n                var id = event.target.getAttribute('value')\r\n                var i = this.store_setting.famous_for.indexOf(id);\r\n                if (i != -1) {\r\n                    this.store_setting.famous_for.splice(i, 1);\r\n                }\r\n            });\r\n        },1000)\r\n\r\n        // jQuery('#open').on('change', (event, res_data) => {\r\n\r\n        //     this.store_open_time_error = 0;\r\n        //     this.store_close_time_error = 0;\r\n        //     var open = jQuery(\"#open\").val()\r\n        //     var close = jQuery(\"#close\").val()\r\n        //     this.store_setting.store_open_time=open\r\n\r\n        //     console.log(this.store_setting.store_open_time)\r\n\r\n        //     var open_date = new Date(Date.now())\r\n        //     open=open.split(':');\r\n        //     open_date.setHours(open[0] , open[1] , 0,0)\r\n        //     open=open_date.getTime();\r\n\r\n        //     var close_date = new Date(Date.now())\r\n        //     close=close.split(':');\r\n        //     close_date.setHours(close[0] , close[1] , 0,0)\r\n        //     close=close_date.getTime();\r\n\r\n        //     if(open>=close)\r\n        //     {\r\n        //         this.store_open_time_error = 1\r\n        //     }\r\n        //     else\r\n        //     {\r\n        //         this.store_open_time_error = 0\r\n        //     }\r\n\r\n        //     for(var i in this.store_time_millisecond_array)\r\n        //     {\r\n        //         if((this.selected_time_index != i)){\r\n        //             var open_time = this.store_time_millisecond_array[i].store_open_time;\r\n        //             var close_time = this.store_time_millisecond_array[i].store_close_time;\r\n\r\n        //             if( ( open_time <= open) && (open <= close_time )) {\r\n        //                 this.store_open_time_error = 2\r\n        //             }\r\n        //             else if(open<=open_time && close_time<=close){\r\n        //                 this.store_open_time_error = 2\r\n        //             }\r\n        //         }\r\n        //     }\r\n        // });\r\n\r\n\r\n\r\n        // jQuery('#close').on('change', (event, res_data) => {\r\n        //     this.store_close_time_error = 0;\r\n        //     this.store_open_time_error = 0;\r\n        //     var open = jQuery(\"#open\").val()\r\n        //     var close = jQuery(\"#close\").val()\r\n        //     this.store_setting.store_close_time=close\r\n        //     var open_date = new Date(Date.now())\r\n        //     open=open.split(':');\r\n        //     open_date.setHours(open[0] , open[1] , 0, 0)\r\n        //     open=open_date.getTime();\r\n\r\n        //     var close_date = new Date(Date.now())\r\n        //     close=close.split(':');\r\n        //     close_date.setHours(close[0] , close[1], 0 , 0)\r\n        //     close=close_date.getTime();\r\n\r\n\r\n        //     if(open>=close)\r\n        //     {\r\n        //         this.store_close_time_error = 1\r\n\r\n        //     }\r\n        //     else{\r\n        //         this.store_close_time_error = 0;\r\n        //     }\r\n\r\n        //     for(var i in this.store_time_millisecond_array)\r\n        //     {\r\n        //         if(this.selected_time_index != i){\r\n        //             let open_time = this.store_time_millisecond_array[i].store_open_time\r\n        //             let close_time = this.store_time_millisecond_array[i].store_close_time\r\n\r\n        //             if( ( open_time <= close ) && (close <= close_time)) {\r\n        //                 this.store_close_time_error = 2\r\n\r\n        //             }\r\n        //             else if(open<=open_time && close_time<=close){\r\n        //                 this.store_close_time_error = 2\r\n        //             }\r\n        //         }\r\n\r\n        //     }\r\n        // });\r\n        setTimeout(() => {\r\n            let height = jQuery('.order_price').height();\r\n            jQuery('.cancellation_setting').height(height);\r\n            let height1 = jQuery('.delivery_setting').height();\r\n            jQuery('.general_setting').height(height1);\r\n        }, 100);\r\n    }\r\n\r\n    open_copy_store_time_modal(){\r\n        var date_array = [\r\n            {value: 0, label: this.title.sunday},\r\n            {value: 1, label: this.title.monday},\r\n            {value: 2, label: this.title.tuesday},\r\n            {value: 3, label: this.title.wednesday},\r\n            {value: 4, label: this.title.thursday},\r\n            {value: 5, label: this.title.friday},\r\n            {value: 6, label: this.title.saturday}\r\n        ]\r\n        date_array.splice(this.curren_selected_day, 1);\r\n\r\n        this.date_array = date_array;\r\n        this.copy_store_time_modal.open();\r\n\r\n        setTimeout( () => {\r\n            jQuery('#selected_days').chosen();\r\n            jQuery(\"#selected_days\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n    }\r\n\r\n    copy_store_time_update(){\r\n        var selected_days = jQuery('#selected_days').val();\r\n        console.log(selected_days)\r\n\r\n        var day_array = []\r\n        selected_days.forEach((month) => {\r\n            month = month.split(': ')\r\n            var result = month[1].substring(1, month[1].length-1);\r\n            day_array.push(result);\r\n        });\r\n\r\n        console.log(day_array)\r\n\r\n        day_array.forEach((day)=>{\r\n\r\n            this.store_setting.store_time[day].is_store_open_full_time = this.store_setting.store_time[this.curren_selected_day].is_store_open_full_time;\r\n            this.store_setting.store_time[day].is_store_open = this.store_setting.store_time[this.curren_selected_day].is_store_open;\r\n            this.store_setting.store_time[day].day_time = this.store_setting.store_time[this.curren_selected_day].day_time;\r\n\r\n        });\r\n\r\n        this.copy_store_time_modal.close();\r\n    }\r\n\r\n    change_cancellation_apply(event){\r\n        if(event){\r\n            setTimeout(function() {\r\n                jQuery(\"#order_cancellation_charge_type\").chosen({disable_search: true});\r\n                jQuery(\"#order_cancellation_charge_type\").trigger(\"chosen:updated\");\r\n            }, 100);\r\n        }\r\n    }\r\n\r\n    change_day(selected_day){\r\n        this.curren_selected_day = selected_day;\r\n        let index = this.store_setting.store_time.findIndex((x) => x.day == selected_day)\r\n\r\n        this.is_store_open_full_time = this.store_setting.store_time[index].is_store_open_full_time;\r\n        this.is_store_open = this.store_setting.store_time[index].is_store_open;\r\n        this.selected_store_time_array = this.store_setting.store_time[index].day_time;\r\n        this.store_time_millisecond_array = [];\r\n        this.selected_store_time_array.forEach((time) => {\r\n\r\n            var open_date = new Date(Date.now())\r\n            var open_time = time.store_open_time;\r\n            open_time = open_time.split(':')\r\n            open_date.setHours(open_time[0] , open_time[1], 0,0);\r\n\r\n            var close_date = new Date(Date.now());\r\n            var close_time = time.store_close_time;\r\n            close_time = close_time.split(':');\r\n            close_date.setHours(close_time[0] , close_time[1], 0,0);\r\n\r\n            this.store_time_millisecond_array.push({store_open_time:open_date.getTime(),store_close_time:close_date.getTime()});\r\n        });\r\n    }\r\n\r\n    store_full_time_open(event){\r\n        let index = this.store_setting.store_time.findIndex((x) => x.day == this.curren_selected_day);\r\n        this.store_setting.store_time[index].is_store_open_full_time = event;\r\n        if(event){\r\n            this.is_store_open = event;\r\n            this.store_setting.store_time[index].is_store_open = event;\r\n        }\r\n    }\r\n\r\n    store_open(event){\r\n        let index = this.store_setting.store_time.findIndex((x) => x.day == this.curren_selected_day)\r\n        this.store_setting.store_time[index].is_store_open = event;\r\n    }\r\n\r\n    open_add_time_modal()\r\n    {\r\n        this.is_time_edit = false;\r\n        this.selected_time_index = null;\r\n        this.modal.open();\r\n        this.store_setting.store_open_time=\"\";\r\n        this.store_setting.store_close_time=\"\";\r\n        this.store_close_time_error = 0;\r\n        this.store_open_time_error = 0;\r\n    }\r\n\r\n    check_open_time(){\r\n\r\n        this.store_open_time_error = 0;\r\n        this.store_close_time_error = 0;\r\n        var open = jQuery(\"#open\").val()\r\n        var close = jQuery(\"#close\").val()\r\n        this.store_setting.store_open_time=open\r\n\r\n        var open_date = new Date(Date.now())\r\n        open=open.split(':');\r\n        open_date.setHours(open[0] , open[1] , 0,0)\r\n        open=open_date.getTime();\r\n\r\n        var close_date = new Date(Date.now())\r\n        close=close.split(':');\r\n        close_date.setHours(close[0] , close[1] , 0,0)\r\n        close=close_date.getTime();\r\n\r\n        if(open>=close)\r\n        {\r\n            this.store_open_time_error = 1\r\n        }\r\n        else\r\n        {\r\n            this.store_open_time_error = 0\r\n        }\r\n\r\n        for(var i in this.store_time_millisecond_array)\r\n        {\r\n            if((this.selected_time_index != i)){\r\n                var open_time = this.store_time_millisecond_array[i].store_open_time;\r\n                var close_time = this.store_time_millisecond_array[i].store_close_time;\r\n\r\n                if( ( open_time <= open) && (open <= close_time )) {\r\n                    this.store_open_time_error = 2\r\n                }\r\n                else if(open<=open_time && close_time<=close){\r\n                    this.store_open_time_error = 2\r\n                } else if( ( open_time <= close ) && (close <= close_time)) {\r\n                    this.store_close_time_error = 2\r\n\r\n                }\r\n            }\r\n        }\r\n    }\r\n\r\n    check_close_time(){\r\n\r\n        this.store_close_time_error = 0;\r\n        this.store_open_time_error = 0;\r\n        var open = jQuery(\"#open\").val()\r\n        var close = jQuery(\"#close\").val()\r\n        this.store_setting.store_close_time=close\r\n        var open_date = new Date(Date.now())\r\n        open=open.split(':');\r\n        open_date.setHours(open[0] , open[1] , 0, 0)\r\n        open=open_date.getTime();\r\n\r\n        var close_date = new Date(Date.now())\r\n        close=close.split(':');\r\n        close_date.setHours(close[0] , close[1], 0 , 0)\r\n        close=close_date.getTime();\r\n\r\n\r\n        if(open>=close)\r\n        {\r\n            this.store_close_time_error = 1\r\n\r\n        }\r\n        else{\r\n            this.store_close_time_error = 0;\r\n        }\r\n\r\n        for(var i in this.store_time_millisecond_array)\r\n        {\r\n            if( this.selected_time_index != i){\r\n\r\n                let open_time = this.store_time_millisecond_array[i].store_open_time\r\n                let close_time = this.store_time_millisecond_array[i].store_close_time\r\n\r\n                if( ( open_time <= close ) && (close <= close_time)) {\r\n                    this.store_close_time_error = 2\r\n                } else if(open<=open_time && close_time<=close){\r\n                    this.store_close_time_error = 2\r\n                }else if( ( open_time <= open) && (open <= close_time )) {\r\n                    this.store_open_time_error = 2\r\n                }\r\n            }\r\n\r\n        }\r\n    }\r\n\r\n    get isvalidateTime():boolean{\r\n        this.check_open_time();\r\n        this.check_close_time();\r\n        if(!this.store_setting.store_close_time){\r\n            this.store_close_time_error = 2;\r\n            return false;\r\n        }else if(!this.store_setting.store_open_time){\r\n            this.store_open_time_error = 2;\r\n            return false;\r\n        }else if(this.store_open_time_error || this.store_close_time_error){\r\n            return false;\r\n        }else{\r\n            return true;\r\n        }\r\n    }\r\n\r\n    add_store_time(){\r\n        if(this.isvalidateTime){\r\n            this.store_time_add = false;\r\n            var open_date = new Date(Date.now());\r\n            var open_time = this.store_setting.store_open_time;\r\n            open_time = open_time.split(':');\r\n            open_date.setHours(open_time[0] , open_time[1], 0,0);\r\n\r\n            var close_date = new Date(Date.now());\r\n            var close_time = this.store_setting.store_close_time;\r\n            close_time = close_time.split(':');\r\n            close_date.setHours(close_time[0] , close_time[1], 0,0);\r\n\r\n            if(!this.is_time_edit){\r\n                this.selected_store_time_array.push({store_open_time:this.store_setting.store_open_time,store_close_time:this.store_setting.store_close_time});\r\n                this.store_time_millisecond_array.push({ store_open_time:open_date.getTime(),store_close_time:close_date.getTime() });\r\n            } else {\r\n                this.selected_store_time_array[this.selected_time_index] = {store_open_time:this.store_setting.store_open_time,store_close_time:this.store_setting.store_close_time};\r\n                this.store_time_millisecond_array[this.selected_time_index] = { store_open_time:open_date.getTime(),store_close_time:close_date.getTime() }\r\n            }\r\n            this.selected_store_time_array.sort(this.sortStoreTime);\r\n            // this.updateStoreTime();\r\n            this.modal.close();\r\n        }\r\n    }\r\n\r\n    sortStoreTime(a, b) {\r\n        if (a.store_open_time < b.store_open_time)\r\n            return -1;\r\n        if (a.store_open_time > b.store_open_time)\r\n            return 1;\r\n        return 0;\r\n    }\r\n\r\n    edit_store_time(store_time, index){\r\n        this.is_time_edit = true;\r\n        this.store_setting.store_open_time=store_time.store_open_time;\r\n        this.store_setting.store_close_time=store_time.store_close_time;\r\n        jQuery('#open').val(store_time.store_open_time)\r\n        jQuery('#close').val(store_time.store_close_time)\r\n        this.store_close_time_error = 0;\r\n        this.store_open_time_error = 0;\r\n        this.selected_time_index = index;\r\n        this.modal.open();\r\n        // jQuery('#open').on('change', (event, res_data) => {\r\n\r\n        //     this.store_open_time_error = 0;\r\n        //     this.store_close_time_error = 0;\r\n        //     var open = jQuery(\"#open\").val()\r\n        //     var close = jQuery(\"#close\").val()\r\n        //     this.store_setting.store_open_time=open\r\n\r\n        //     var open_date = new Date(Date.now())\r\n        //     open=open.split(':');\r\n        //     open_date.setHours(open[0] , open[1] , 0,0)\r\n        //     open=open_date.getTime();\r\n\r\n        //     var close_date = new Date(Date.now())\r\n        //     close=close.split(':');\r\n        //     close_date.setHours(close[0] , close[1] , 0,0)\r\n        //     close=close_date.getTime();\r\n\r\n        //     if(open>=close)\r\n        //     {\r\n        //         this.store_open_time_error = 1\r\n        //     }\r\n        //     else\r\n        //     {\r\n        //         this.store_open_time_error = 0\r\n        //     }\r\n\r\n        //     for(var i in this.store_time_millisecond_array)\r\n        //     {\r\n        //         if((this.selected_time_index != i)){\r\n        //             var open_time = this.store_time_millisecond_array[i].store_open_time;\r\n        //             var close_time = this.store_time_millisecond_array[i].store_close_time;\r\n\r\n        //             if( ( open_time <= open) && (open <= close_time )) {\r\n        //                 this.store_open_time_error = 2\r\n        //             }\r\n        //             else if(open<=open_time && close_time<=close){\r\n        //                 this.store_open_time_error = 2\r\n        //             } else if( ( open_time <= close ) && (close <= close_time)) {\r\n        //                 this.store_close_time_error = 2\r\n\r\n        //             }\r\n        //         }\r\n        //     }\r\n        // });\r\n\r\n\r\n\r\n        // jQuery('#close').on('change', (event, res_data) => {\r\n        //     this.store_close_time_error = 0;\r\n        //     this.store_open_time_error = 0;\r\n        //     var open = jQuery(\"#open\").val()\r\n        //     var close = jQuery(\"#close\").val()\r\n        //     this.store_setting.store_close_time=close\r\n        //     var open_date = new Date(Date.now())\r\n        //     open=open.split(':');\r\n        //     open_date.setHours(open[0] , open[1] , 0, 0)\r\n        //     open=open_date.getTime();\r\n\r\n        //     var close_date = new Date(Date.now())\r\n        //     close=close.split(':');\r\n        //     close_date.setHours(close[0] , close[1], 0 , 0)\r\n        //     close=close_date.getTime();\r\n\r\n\r\n        //     if(open>=close)\r\n        //     {\r\n        //         this.store_close_time_error = 1\r\n\r\n        //     }\r\n        //     else{\r\n        //         this.store_close_time_error = 0;\r\n        //     }\r\n\r\n        //     for(var i in this.store_time_millisecond_array)\r\n        //     {\r\n        //         if(this.selected_time_index != i){\r\n\r\n        //             let open_time = this.store_time_millisecond_array[i].store_open_time\r\n        //             let close_time = this.store_time_millisecond_array[i].store_close_time\r\n\r\n        //             if( ( open_time <= close ) && (close <= close_time)) {\r\n        //                 this.store_close_time_error = 2\r\n        //             } else if(open<=open_time && close_time<=close){\r\n        //                 this.store_close_time_error = 2\r\n        //             }else if( ( open_time <= open) && (open <= close_time )) {\r\n        //                 this.store_open_time_error = 2\r\n        //             }\r\n        //         }\r\n\r\n        //     }\r\n        // });\r\n    }\r\n\r\n    remove_store_time(store_time)\r\n    {\r\n        if(!this.is_store_open_full_time && this.edit) {\r\n\r\n            swal({\r\n                title: 'Are you sure?',\r\n                text: \"You won't be able to revert this!\",\r\n                type: 'warning',\r\n                showCancelButton: true,\r\n                confirmButtonColor: '#3085d6',\r\n                cancelButtonColor: '#d33',\r\n                confirmButtonText: 'Yes, delete it!'\r\n            }).then(() => {\r\n                var i = this.selected_store_time_array.indexOf(store_time);\r\n                if (i != -1) {\r\n                    this.selected_store_time_array.splice(i, 1);\r\n                    this.store_time_millisecond_array.splice(i, 1);\r\n                    // this.updateStoreTime()\r\n                }\r\n            }).catch(swal.noop);\r\n        }\r\n    }\r\n\r\n    updateStoreTime(store_data){\r\n        if(this.store_setting.social_id.length == 0){\r\n            this.type = \"time\"\r\n            this.old_password_modal.open();\r\n        } else {\r\n            this.updateStoreTimeService();\r\n        }\r\n    }\r\n\r\n    updateStoreTimeService()\r\n    {\r\n        this.myLoading=true;\r\n        this.helper.http.post(this.helper.POST_METHOD.UPDATE_STORE_TIME,{store_time:this.store_setting.store_time,store_id:this.store_setting.store_id,server_token:this.store_setting.server_token}).map((response: Response) => response.json()) .subscribe(res_data => {\r\n\r\n            this.myLoading=false;\r\n            if(res_data.success == false)\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                    \r\n                this.helper.message()\r\n                var store = JSON.parse(localStorage.getItem('store'));\r\n            }\r\n            else\r\n            {\r\n                this.edit = false;\r\n                var old_detail = JSON.parse(localStorage.getItem('store'));\r\n                res_data.store.server_token = old_detail.server_token;\r\n                localStorage.setItem('store', JSON.stringify(res_data.store));\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.helper.message()\r\n            }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n    old_password_update(){\r\n        if(this.type=='settingdata'){\r\n            this.UpdateSettingData(this.store_setting)\r\n        } else {\r\n            this.updateStoreTimeService();\r\n        }\r\n        this.old_password_modal.close();\r\n    }\r\n\r\n    UpdateSetting(store_data){\r\n        if(this.store_setting.social_id.length == 0){\r\n            this.type = 'settingdata'\r\n            this.old_password_modal.open();\r\n        } else {\r\n            this.UpdateSettingData(this.store_setting)\r\n        }\r\n    }\r\n\r\n    UpdateSettingData(store_data)\r\n    {\r\n        this.helper.json_log(this.store_setting.old_password)\r\n        this.myLoading=true;\r\n        store_data.famous_products_tags = this.store_setting.famous_for;\r\n        store_data.old_password=this.store_setting.old_password;\r\n        store_data.new_password=\"\";\r\n        this.helper.http.post(this.helper.POST_METHOD.UPDATE,store_data).map((response: Response) => response.json()) .subscribe(res_data => {\r\n\r\n            this.myLoading=false;\r\n            if(res_data.success == false)\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message()\r\n                var store = JSON.parse(localStorage.getItem('store'));\r\n\r\n                this.store_setting.is_business= store.is_business;\r\n                this.store_setting.is_store_busy= store.is_store_busy;\r\n                this.store_setting.item_tax= store.item_tax;\r\n                this.store_setting.free_delivery_for_above_order_price= store.free_delivery_for_above_order_price;\r\n                this.store_setting.free_delivery_within_radius = store.free_delivery_within_radius;\r\n                this.store_setting.delivery_time= store.delivery_time;\r\n                this.store_setting.delivery_time_max= store.delivery_time_max;\r\n                this.store_setting.price_rating= store.price_rating;\r\n                this.store_setting.old_password=\"\";\r\n\r\n                this.store_setting.is_order_cancellation_charge_apply = store.is_order_cancellation_charge_apply;\r\n                this.store_setting.order_cancellation_charge_for_above_order_price = store.order_cancellation_charge_for_above_order_price;\r\n                this.store_setting.order_cancellation_charge_type = store.order_cancellation_charge_type;\r\n                this.store_setting.order_cancellation_charge_value = store.order_cancellation_charge_value;\r\n                this.store_setting.max_item_quantity_add_by_user = store.max_item_quantity_add_by_user;\r\n                this.store_setting.schedule_order_create_after_minute = store.schedule_order_create_after_minute;\r\n                this.store_setting.is_provide_delivery_anywhere = store.is_provide_delivery_anywhere;\r\n                this.store_setting.delivery_radius = store.delivery_radius;\r\n                this.store_setting.is_taking_schedule_order = store.is_taking_schedule_order;\r\n                this.store_setting.is_ask_estimated_time_for_ready_order = store.is_ask_estimated_time_for_ready_order;\r\n                this.store_setting.inform_schedule_order_before_min = store.inform_schedule_order_before_min;\r\n                this.store_setting.famous_for = store.famous_products_tags;\r\n                this.store_setting.min_order_price = store.min_order_price;\r\n                this.store_setting.payment_mode_for_pickup = store.payment_mode_for_pickup;\r\n                this.store_setting.payment_mode_for_delivery = store.payment_mode_for_delivery;\r\n                this.store_setting.preparation_time_for_pickup = store.preparation_time_for_pickup;\r\n                this.store_setting.preparation_time_for_delivery = store.preparation_time_for_delivery;\r\n\r\n                setTimeout(function() {\r\n                    jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n                    jQuery('.icheck').iCheck('uncheck');\r\n                }, 400);\r\n                this.store_setting.famous_for.forEach(function (famous) {\r\n\r\n                    setTimeout(() => {\r\n                        jQuery('#icheck' + famous).iCheck('check');\r\n                    }, 500);\r\n                });\r\n\r\n            }\r\n            else\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.helper.message()\r\n                this.store_setting.old_password=\"\";\r\n                var old_detail = JSON.parse(localStorage.getItem('store'));\r\n                res_data.store.server_token = old_detail.server_token;\r\n                localStorage.setItem('store', JSON.stringify(res_data.store));\r\n            }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n    updateSiteSetting(siteformData){\r\n        if(siteformData.valid){\r\n            const formData = new FormData();\r\n            formData.append(\"store_id\",this.store_setting.store_id.toString())\r\n            formData.append(\"type\",this.helper.ADMIN_DATA_ID.ADMIN)\r\n            if(this.StoreDomainSetting.domain_type == 'sub_domain'){\r\n                formData.append(\"site_domain\",'www.'+siteformData.value.site_domain+'.mywhop.com')\r\n            } else {\r\n                formData.append(\"site_domain\",'www.'+siteformData.value.site_domain)\r\n            }\r\n            formData.append(\"domain_type\",this.StoreDomainSetting.domain_type)\r\n            formData.append(\"site_desc\",siteformData.value.site_description)\r\n            formData.append(\"site_color\",siteformData.value.site_color)\r\n            formData.append(\"menu_url_type\",this.StoreDomainSetting.menu_url_type)\r\n            if(this.uploaded_site_logo){\r\n                formData.append(\"site_logo\",this.uploaded_site_logo)\r\n            }\r\n            if(this.uploaded_title_logo){\r\n                formData.append(\"title_logo\",this.uploaded_title_logo)\r\n            }\r\n            if(this.uploaded_menu_url){\r\n                formData.append(\"menu_url\",this.uploaded_menu_url)\r\n            }\r\n            this.helper.http.post(this.helper.POST_METHOD.UPDATE_SITE_SETTING,formData).map((response: Response) => response.json()).subscribe(res_data => {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.helper.message()\r\n            })\r\n        }\r\n    }\r\n\r\n    change_image($event) {\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const image_url = files[0];\r\n        if(image_url.type == \"image/jpeg\" || image_url.type == \"image/jpg\" || image_url.type == \"image/png\")\r\n        {\r\n            this.uploaded_site_logo = image_url;\r\n            var reader = new FileReader();\r\n            reader.onload =  (e : any) => {\r\n                this.StoreDomainSetting.site_logo = e.target.result\r\n            }\r\n            reader.readAsDataURL(image_url);\r\n        }\r\n    }\r\n\r\n    change_menu_image($event) {\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const image_url = files[0];\r\n        console.log(image_url)\r\n        this.StoreDomainSetting.menu_url_type = image_url.type;\r\n        if(image_url.type == \"image/jpeg\" || image_url.type == \"image/jpg\" || image_url.type == \"image/png\")\r\n        {\r\n            this.uploaded_menu_url = image_url;\r\n            var reader = new FileReader();\r\n            reader.onload =  (e : any) => {\r\n                this.StoreDomainSetting.menu_url = e.target.result\r\n            }\r\n            reader.readAsDataURL(image_url);\r\n        } else if(image_url.type == \"application/pdf\"){\r\n            this.uploaded_menu_url = image_url;\r\n        }\r\n    }\r\n\r\n    change_title_image($event) {\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const image_url = files[0];\r\n        if(image_url.type == \"image/jpeg\" || image_url.type == \"image/jpg\" || image_url.type == \"image/png\")\r\n        {\r\n            this.uploaded_title_logo = image_url;\r\n            var reader = new FileReader();\r\n            reader.onload =  (e : any) => {\r\n                this.StoreDomainSetting.title_logo = e.target.result\r\n            }\r\n            reader.readAsDataURL(image_url);\r\n        }\r\n    }\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/setting/setting.component.ts","import { Component, OnInit , ViewChild, ViewContainerRef} from '@angular/core';\r\nimport {Response } from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport {Helper} from \"../../store_helper\";\r\ndeclare var jQuery:any;\r\ndeclare var swal: any;\r\nimport { ModalComponent } from 'ng2-bs3-modal/ng2-bs3-modal';\r\n\r\n\r\nexport interface StoreSetting{\r\n    store_id: Object,\r\n    server_token:String,\r\n    social_id: any[],\r\n    login_by: String,\r\n    store_time:any[],\r\n    is_business:Boolean,\r\n    is_visible: Boolean,\r\n    item_tax:Number,\r\n    store_open_time:any,\r\n    store_close_time:any,\r\n    old_password:String,\r\n    free_delivery_for_above_order_price:number,\r\n    free_delivery_within_radius: number,\r\n    is_store_pay_delivery_fees:Boolean,\r\n    delivery_time:Number,\r\n    delivery_time_max:Number,\r\n    price_rating:Number,\r\n    admin_profit_mode_on_store:Number,\r\n    admin_profit_value_on_store:Number,\r\n    lang:string,\r\n    famous_for: any[],\r\n    is_order_cancellation_charge_apply: Boolean,\r\n    order_cancellation_charge_for_above_order_price: number,\r\n    order_cancellation_charge_type: number,\r\n    order_cancellation_charge_value: number,\r\n    max_item_quantity_add_by_user: number,\r\n    schedule_order_create_after_minute: number,\r\n    is_provide_delivery_anywhere: Boolean,\r\n    delivery_radius: number,\r\n    is_ask_estimated_time_for_ready_order: Boolean,\r\n    is_taking_schedule_order: Boolean,\r\n    inform_schedule_order_before_min: number,\r\n    min_order_price: number,\r\n    is_store_busy: Boolean,\r\n    payment_mode_for_pickup: number,\r\n    payment_mode_for_delivery: number,\r\n    preparation_time_for_pickup: number,\r\n    preparation_time_for_delivery: number,\r\n    email: string,\r\n    phone: string,\r\n    country_phone_code: string,\r\n    address: string,\r\n    facebook_url: string,\r\n    instagram_url: string,\r\n    trip_advisor_url: string\r\n}\r\n\r\nexport interface DomainSettingData{\r\n    site_logo:string,\r\n    site_description:string,\r\n    site_domain:string,\r\n    domain_type: string,\r\n    site_color:string\r\n}\r\n\r\n@Component({\r\n    selector: 'app-setting_whop',\r\n    template: require('./setting_whop.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class WhopSettingComponent implements OnInit {\r\n\r\n    private store_setting: StoreSetting;\r\n    title:any;\r\n    button:any;\r\n    heading_title:any;\r\n    validation_message:any;\r\n    store_time_add:Boolean;\r\n    store_open_time_error:number;\r\n    store_close_time_error:number;\r\n    @ViewChild('myModal')\r\n    modal: ModalComponent;\r\n    myLoading:boolean = true;\r\n    selected_store_time_array: any[] = [];\r\n    store_time_millisecond_array : any[] = [];\r\n    curren_selected_day: number = 0;\r\n    is_store_open_full_time: Boolean = false;\r\n    is_store_open: Boolean = false;\r\n    type: string = '';\r\n    @ViewChild('oldPasswordModal')\r\n    old_password_modal: ModalComponent;\r\n    famous_for: any[] = [];\r\n    StoreDomainSetting = {\r\n        site_color:'#9bd1ef',\r\n        site_description:\"\",\r\n        site_domain:\"\",\r\n        domain_type: 'sub_domain',\r\n        site_logo:\"\",\r\n        title_logo: \"\",\r\n        menu_url: \"\",\r\n        menu_url_type: \"\"\r\n    }\r\n\r\n    @ViewChild('copy_store_time_modal')\r\n    copy_store_time_modal: ModalComponent;\r\n\r\n    edit: Boolean = true;\r\n    uploaded_site_logo;\r\n    uploaded_title_logo;\r\n    uploaded_menu_url;\r\n\r\n    is_time_edit: boolean = false;\r\n    selected_time_index: any;\r\n    selected_days: any[] = [];\r\n    date_array: any[] = [];\r\n\r\n    constructor( private helper:Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    ngAfterViewInit()\r\n    {\r\n        jQuery('.clock-picker').clockpicker({\r\n            'default': 'now',\r\n            'align': 'right'\r\n        });\r\n\r\n        setTimeout(function() {\r\n            jQuery(\".chosen-select\").chosen({disable_search: true});\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n\r\n            jQuery('.icheck').iCheck({\r\n                handle: 'checkbox',\r\n                checkboxClass: 'icheckbox_square-green',\r\n            });\r\n        }, 1000);\r\n\r\n    }\r\n\r\n    ngOnInit() {\r\n\r\n        let token = this.helper.tokenService.getToken();\r\n\r\n        if(!token || !token.token) {\r\n            this.helper.router.navigate(['store/login']);\r\n        }\r\n\r\n\r\n        this.store_setting ={\r\n            store_id: \"\",\r\n            server_token:\"\",\r\n            social_id: [],\r\n            login_by: \"\",\r\n            store_time:[],\r\n            famous_for: [],\r\n            is_business:true,\r\n            is_visible: true,\r\n            item_tax:null,\r\n            old_password:\"\",\r\n            store_open_time:\"\",\r\n            store_close_time:\"\",\r\n            is_store_pay_delivery_fees:false,\r\n            free_delivery_for_above_order_price:null,\r\n            free_delivery_within_radius: null,\r\n            delivery_time:null,\r\n            delivery_time_max:null,\r\n            price_rating:null,\r\n            admin_profit_mode_on_store:null,\r\n            admin_profit_value_on_store:null,\r\n            lang :'',\r\n            is_store_busy: false,\r\n\r\n            is_order_cancellation_charge_apply: false,\r\n            order_cancellation_charge_for_above_order_price: 0,\r\n            order_cancellation_charge_type: 1,\r\n            order_cancellation_charge_value: 0,\r\n            max_item_quantity_add_by_user: 0,\r\n            schedule_order_create_after_minute: 0,\r\n            is_provide_delivery_anywhere: false,\r\n            delivery_radius: 0,\r\n            is_taking_schedule_order: false,\r\n            is_ask_estimated_time_for_ready_order: false,\r\n            inform_schedule_order_before_min: 0,\r\n            min_order_price: 0,\r\n            payment_mode_for_pickup: 0,\r\n            payment_mode_for_delivery: 0,\r\n            preparation_time_for_pickup: 0,\r\n            preparation_time_for_delivery: 0,\r\n            email: '',\r\n            country_phone_code: '',\r\n            phone: '',\r\n            address: '',\r\n            facebook_url: '',\r\n            instagram_url: '',\r\n            trip_advisor_url: '',\r\n        }\r\n        if(!JSON.parse(localStorage.getItem('store_document_ulpoaded')) && JSON.parse(localStorage.getItem('admin_store_document_ulpoaded')))\r\n        {\r\n            this.helper.router.navigate(['store/upload_document']);\r\n        }\r\n        this.store_time_add=true;\r\n\r\n        var store = JSON.parse(localStorage.getItem('store'));\r\n        if(store!==null)\r\n        {\r\n            this.store_setting.store_id= store._id;\r\n            this.store_setting.server_token= store.server_token;\r\n        }\r\n\r\n        var language = JSON.parse(localStorage.getItem('language'));\r\n        if(language == '' || language == undefined)\r\n        {\r\n            language = 'en'\r\n        }\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_STORE_DATA,{store_id:this.store_setting.store_id, server_token:this.store_setting.server_token}).map((response: Response) => response.json()) .subscribe(res_data => {\r\n            this.myLoading=false;\r\n            if(res_data.success == false)\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n            }\r\n            else {\r\n                this.famous_for = res_data.famous_for;\r\n                var old_detail = JSON.parse(localStorage.getItem('store'));\r\n                res_data.store_detail.server_token = old_detail.server_token;\r\n                localStorage.setItem('store', JSON.stringify(res_data.store_detail));\r\n                var store = res_data.store_detail;\r\n                this.store_setting.store_id= store._id;\r\n                this.store_setting.phone= store.phone;\r\n                this.store_setting.country_phone_code= store.country_phone_code;\r\n                this.store_setting.email= store.email;\r\n                this.store_setting.address= store.address;\r\n                this.store_setting.server_token= store.server_token;\r\n                this.store_setting.social_id = store.social_ids;\r\n                this.store_setting.login_by = store.login_by;\r\n                this.store_setting.store_time= store.store_time;\r\n                this.store_setting.is_business= store.is_business;\r\n                this.store_setting.is_visible= store.is_visible;\r\n                this.store_setting.is_store_busy= store.is_store_busy;\r\n                this.store_setting.item_tax= store.item_tax;\r\n                this.store_setting.is_store_pay_delivery_fees= store.is_store_pay_delivery_fees;\r\n                this.store_setting.free_delivery_for_above_order_price= store.free_delivery_for_above_order_price;\r\n                this.store_setting.free_delivery_within_radius = store.free_delivery_within_radius;\r\n                this.store_setting.delivery_time= store.delivery_time;\r\n                this.store_setting.delivery_time_max= store.delivery_time_max;\r\n                this.store_setting.price_rating= store.price_rating;\r\n                this.store_setting.admin_profit_mode_on_store= store.admin_profit_mode_on_store;\r\n                this.store_setting.admin_profit_value_on_store= store.admin_profit_value_on_store;\r\n                this.store_setting.lang= language;\r\n                this.store_setting.famous_for= store.famous_products_tags;\r\n\r\n                this.store_setting.is_order_cancellation_charge_apply = store.is_order_cancellation_charge_apply;\r\n                this.store_setting.order_cancellation_charge_for_above_order_price = store.order_cancellation_charge_for_above_order_price;\r\n                this.store_setting.order_cancellation_charge_type = store.order_cancellation_charge_type;\r\n                this.store_setting.order_cancellation_charge_value = store.order_cancellation_charge_value;\r\n\r\n                this.store_setting.max_item_quantity_add_by_user = store.max_item_quantity_add_by_user;\r\n                this.store_setting.schedule_order_create_after_minute = store.schedule_order_create_after_minute;\r\n                this.store_setting.is_provide_delivery_anywhere = store.is_provide_delivery_anywhere;\r\n                this.store_setting.delivery_radius = store.delivery_radius;\r\n                this.store_setting.is_taking_schedule_order = store.is_taking_schedule_order;\r\n                this.store_setting.is_ask_estimated_time_for_ready_order = store.is_ask_estimated_time_for_ready_order;\r\n                this.store_setting.inform_schedule_order_before_min = store.inform_schedule_order_before_min;\r\n                this.store_setting.min_order_price = store.min_order_price;\r\n                this.store_setting.payment_mode_for_pickup = store.payment_mode_for_pickup;\r\n                this.store_setting.payment_mode_for_delivery = store.payment_mode_for_delivery;\r\n                this.store_setting.preparation_time_for_pickup = store.preparation_time_for_pickup;\r\n                this.store_setting.preparation_time_for_delivery = store.preparation_time_for_delivery;\r\n\r\n                if(!store.site_domain){\r\n                    store.site_domain = '';\r\n                }\r\n                store.domain_type = store.domain_type || 'sub_domain';\r\n                store.site_domain = store.site_domain.replace('www.', '');\r\n                store.site_domain = store.site_domain.replace('.mywhop.com', '');\r\n\r\n\r\n                this.StoreDomainSetting = {\r\n                    site_color:store.site_color,\r\n                    site_description:store.site_desc,\r\n                    site_domain:store.site_domain,\r\n                    domain_type: store.domain_type,\r\n                    site_logo:store.site_logo,\r\n                    title_logo: store.title_logo,\r\n                    menu_url: store.menu_url,\r\n                    menu_url_type: store.menu_url_type\r\n                }\r\n\r\n\r\n                this.change_day(0)\r\n\r\n                this.store_setting.famous_for.forEach(function (famous) {\r\n\r\n                    setTimeout(() => {\r\n                        jQuery('#icheck' + famous).iCheck('check');\r\n                    }, 400);\r\n                });\r\n\r\n            }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n            this.helper.http_status(error)\r\n        });\r\n\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.heading_title=this.helper.heading_title\r\n        this.validation_message=this.helper.validation_message;\r\n\r\n//        jQuery(this.helper.elementRef.nativeElement).find('#delivery_time').on('change', (evnt,res_data) => {\r\n//\r\n//            this.store_setting.delivery_time=res_data.selected;\r\n//\r\n//        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#lang').on('change', (evnt,res_data) => {\r\n\r\n            this.helper.trans.use(res_data.selected);\r\n\r\n            localStorage.setItem('language', JSON.stringify(res_data.selected));\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#price_rating').on('change', (evnt,res_data) => {\r\n\r\n            this.store_setting.price_rating=res_data.selected;\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#domain_type').on('change', (evnt,res_data) => {\r\n\r\n            this.StoreDomainSetting.domain_type=res_data.selected;\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#order_cancellation_charge_type').on('change', (evnt,res_data) => {\r\n\r\n            this.store_setting.order_cancellation_charge_type=res_data.selected;\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#payment_mode_for_pickup').on('change', (evnt,res_data) => {\r\n\r\n            this.store_setting.payment_mode_for_pickup=res_data.selected;\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#payment_mode_for_delivery').on('change', (evnt,res_data) => {\r\n\r\n            this.store_setting.payment_mode_for_delivery=res_data.selected;\r\n\r\n        });\r\n        \r\n        setTimeout(() => {\r\n            jQuery(this.helper.elementRef.nativeElement).find('.icheck').on('ifChecked', (event, res_data) => {\r\n\r\n                var id = event.target.getAttribute('value')\r\n                this.store_setting.famous_for.push(id)\r\n            });\r\n\r\n            jQuery(this.helper.elementRef.nativeElement).find('.icheck').on('ifUnchecked', (event, res_data) => {\r\n\r\n                var id = event.target.getAttribute('value')\r\n                var i = this.store_setting.famous_for.indexOf(id);\r\n                if (i != -1) {\r\n                    this.store_setting.famous_for.splice(i, 1);\r\n                }\r\n            });\r\n        },1000)\r\n\r\n        // jQuery('#open').on('change', (event, res_data) => {\r\n\r\n        //     this.store_open_time_error = 0;\r\n        //     this.store_close_time_error = 0;\r\n        //     var open = jQuery(\"#open\").val()\r\n        //     var close = jQuery(\"#close\").val()\r\n        //     this.store_setting.store_open_time=open\r\n\r\n        //     console.log(this.store_setting.store_open_time)\r\n\r\n        //     var open_date = new Date(Date.now())\r\n        //     open=open.split(':');\r\n        //     open_date.setHours(open[0] , open[1] , 0,0)\r\n        //     open=open_date.getTime();\r\n\r\n        //     var close_date = new Date(Date.now())\r\n        //     close=close.split(':');\r\n        //     close_date.setHours(close[0] , close[1] , 0,0)\r\n        //     close=close_date.getTime();\r\n\r\n        //     if(open>=close)\r\n        //     {\r\n        //         this.store_open_time_error = 1\r\n        //     }\r\n        //     else\r\n        //     {\r\n        //         this.store_open_time_error = 0\r\n        //     }\r\n\r\n        //     for(var i in this.store_time_millisecond_array)\r\n        //     {\r\n        //         if((this.selected_time_index != i)){\r\n        //             var open_time = this.store_time_millisecond_array[i].store_open_time;\r\n        //             var close_time = this.store_time_millisecond_array[i].store_close_time;\r\n\r\n        //             if( ( open_time <= open) && (open <= close_time )) {\r\n        //                 this.store_open_time_error = 2\r\n        //             }\r\n        //             else if(open<=open_time && close_time<=close){\r\n        //                 this.store_open_time_error = 2\r\n        //             }\r\n        //         }\r\n        //     }\r\n        // });\r\n\r\n\r\n\r\n        // jQuery('#close').on('change', (event, res_data) => {\r\n        //     this.store_close_time_error = 0;\r\n        //     this.store_open_time_error = 0;\r\n        //     var open = jQuery(\"#open\").val()\r\n        //     var close = jQuery(\"#close\").val()\r\n        //     this.store_setting.store_close_time=close\r\n        //     var open_date = new Date(Date.now())\r\n        //     open=open.split(':');\r\n        //     open_date.setHours(open[0] , open[1] , 0, 0)\r\n        //     open=open_date.getTime();\r\n\r\n        //     var close_date = new Date(Date.now())\r\n        //     close=close.split(':');\r\n        //     close_date.setHours(close[0] , close[1], 0 , 0)\r\n        //     close=close_date.getTime();\r\n\r\n\r\n        //     if(open>=close)\r\n        //     {\r\n        //         this.store_close_time_error = 1\r\n\r\n        //     }\r\n        //     else{\r\n        //         this.store_close_time_error = 0;\r\n        //     }\r\n\r\n        //     for(var i in this.store_time_millisecond_array)\r\n        //     {\r\n        //         if(this.selected_time_index != i){\r\n        //             let open_time = this.store_time_millisecond_array[i].store_open_time\r\n        //             let close_time = this.store_time_millisecond_array[i].store_close_time\r\n\r\n        //             if( ( open_time <= close ) && (close <= close_time)) {\r\n        //                 this.store_close_time_error = 2\r\n\r\n        //             }\r\n        //             else if(open<=open_time && close_time<=close){\r\n        //                 this.store_close_time_error = 2\r\n        //             }\r\n        //         }\r\n\r\n        //     }\r\n        // });\r\n        setTimeout(() => {\r\n            let height = jQuery('.order_price').height();\r\n            jQuery('.cancellation_setting').height(height);\r\n            let height1 = jQuery('.delivery_setting').height();\r\n            jQuery('.general_setting').height(height1);\r\n        }, 100);\r\n    }\r\n\r\n    open_copy_store_time_modal(){\r\n        var date_array = [\r\n            {value: 0, label: this.title.sunday},\r\n            {value: 1, label: this.title.monday},\r\n            {value: 2, label: this.title.tuesday},\r\n            {value: 3, label: this.title.wednesday},\r\n            {value: 4, label: this.title.thursday},\r\n            {value: 5, label: this.title.friday},\r\n            {value: 6, label: this.title.saturday}\r\n        ]\r\n        date_array.splice(this.curren_selected_day, 1);\r\n\r\n        this.date_array = date_array;\r\n        this.copy_store_time_modal.open();\r\n\r\n        setTimeout( () => {\r\n            jQuery('#selected_days').chosen();\r\n            jQuery(\"#selected_days\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n    }\r\n\r\n    copy_store_time_update(){\r\n        var selected_days = jQuery('#selected_days').val();\r\n        console.log(selected_days)\r\n\r\n        var day_array = []\r\n        selected_days.forEach((month) => {\r\n            month = month.split(': ')\r\n            var result = month[1].substring(1, month[1].length-1);\r\n            day_array.push(result);\r\n        });\r\n\r\n        console.log(day_array)\r\n\r\n        day_array.forEach((day)=>{\r\n\r\n            this.store_setting.store_time[day].is_store_open_full_time = this.store_setting.store_time[this.curren_selected_day].is_store_open_full_time;\r\n            this.store_setting.store_time[day].is_store_open = this.store_setting.store_time[this.curren_selected_day].is_store_open;\r\n            this.store_setting.store_time[day].day_time = this.store_setting.store_time[this.curren_selected_day].day_time;\r\n\r\n        });\r\n\r\n        this.copy_store_time_modal.close();\r\n    }\r\n\r\n    change_cancellation_apply(event){\r\n        if(event){\r\n            setTimeout(function() {\r\n                jQuery(\"#order_cancellation_charge_type\").chosen({disable_search: true});\r\n                jQuery(\"#order_cancellation_charge_type\").trigger(\"chosen:updated\");\r\n            }, 100);\r\n        }\r\n    }\r\n\r\n    change_day(selected_day){\r\n        this.curren_selected_day = selected_day;\r\n        let index = this.store_setting.store_time.findIndex((x) => x.day == selected_day)\r\n\r\n        this.is_store_open_full_time = this.store_setting.store_time[index].is_store_open_full_time;\r\n        this.is_store_open = this.store_setting.store_time[index].is_store_open;\r\n        this.selected_store_time_array = this.store_setting.store_time[index].day_time;\r\n        this.store_time_millisecond_array = [];\r\n        this.selected_store_time_array.forEach((time) => {\r\n\r\n            var open_date = new Date(Date.now())\r\n            var open_time = time.store_open_time;\r\n            open_time = open_time.split(':')\r\n            open_date.setHours(open_time[0] , open_time[1], 0,0);\r\n\r\n            var close_date = new Date(Date.now());\r\n            var close_time = time.store_close_time;\r\n            close_time = close_time.split(':');\r\n            close_date.setHours(close_time[0] , close_time[1], 0,0);\r\n\r\n            this.store_time_millisecond_array.push({store_open_time:open_date.getTime(),store_close_time:close_date.getTime()});\r\n        });\r\n    }\r\n\r\n    store_full_time_open(event){\r\n        let index = this.store_setting.store_time.findIndex((x) => x.day == this.curren_selected_day);\r\n        this.store_setting.store_time[index].is_store_open_full_time = event;\r\n        if(event){\r\n            this.is_store_open = event;\r\n            this.store_setting.store_time[index].is_store_open = event;\r\n        }\r\n    }\r\n\r\n    store_open(event){\r\n        let index = this.store_setting.store_time.findIndex((x) => x.day == this.curren_selected_day)\r\n        this.store_setting.store_time[index].is_store_open = event;\r\n    }\r\n\r\n    open_add_time_modal()\r\n    {\r\n        this.is_time_edit = false;\r\n        this.selected_time_index = null;\r\n        this.modal.open();\r\n        this.store_setting.store_open_time=\"\";\r\n        this.store_setting.store_close_time=\"\";\r\n        this.store_close_time_error = 0;\r\n        this.store_open_time_error = 0;\r\n    }\r\n\r\n    check_open_time(){\r\n\r\n        this.store_open_time_error = 0;\r\n        this.store_close_time_error = 0;\r\n        var open = jQuery(\"#open\").val()\r\n        var close = jQuery(\"#close\").val()\r\n        this.store_setting.store_open_time=open\r\n\r\n        var open_date = new Date(Date.now())\r\n        open=open.split(':');\r\n        open_date.setHours(open[0] , open[1] , 0,0)\r\n        open=open_date.getTime();\r\n\r\n        var close_date = new Date(Date.now())\r\n        close=close.split(':');\r\n        close_date.setHours(close[0] , close[1] , 0,0)\r\n        close=close_date.getTime();\r\n\r\n        if(open>=close)\r\n        {\r\n            this.store_open_time_error = 1\r\n        }\r\n        else\r\n        {\r\n            this.store_open_time_error = 0\r\n        }\r\n\r\n        for(var i in this.store_time_millisecond_array)\r\n        {\r\n            if((this.selected_time_index != i)){\r\n                var open_time = this.store_time_millisecond_array[i].store_open_time;\r\n                var close_time = this.store_time_millisecond_array[i].store_close_time;\r\n\r\n                if( ( open_time <= open) && (open <= close_time )) {\r\n                    this.store_open_time_error = 2\r\n                }\r\n                else if(open<=open_time && close_time<=close){\r\n                    this.store_open_time_error = 2\r\n                } else if( ( open_time <= close ) && (close <= close_time)) {\r\n                    this.store_close_time_error = 2\r\n\r\n                }\r\n            }\r\n        }\r\n    }\r\n\r\n    check_close_time(){\r\n\r\n        this.store_close_time_error = 0;\r\n        this.store_open_time_error = 0;\r\n        var open = jQuery(\"#open\").val()\r\n        var close = jQuery(\"#close\").val()\r\n        this.store_setting.store_close_time=close\r\n        var open_date = new Date(Date.now())\r\n        open=open.split(':');\r\n        open_date.setHours(open[0] , open[1] , 0, 0)\r\n        open=open_date.getTime();\r\n\r\n        var close_date = new Date(Date.now())\r\n        close=close.split(':');\r\n        close_date.setHours(close[0] , close[1], 0 , 0)\r\n        close=close_date.getTime();\r\n\r\n\r\n        if(open>=close)\r\n        {\r\n            this.store_close_time_error = 1\r\n\r\n        }\r\n        else{\r\n            this.store_close_time_error = 0;\r\n        }\r\n\r\n        for(var i in this.store_time_millisecond_array)\r\n        {\r\n            if( this.selected_time_index != i){\r\n\r\n                let open_time = this.store_time_millisecond_array[i].store_open_time\r\n                let close_time = this.store_time_millisecond_array[i].store_close_time\r\n\r\n                if( ( open_time <= close ) && (close <= close_time)) {\r\n                    this.store_close_time_error = 2\r\n                } else if(open<=open_time && close_time<=close){\r\n                    this.store_close_time_error = 2\r\n                }else if( ( open_time <= open) && (open <= close_time )) {\r\n                    this.store_open_time_error = 2\r\n                }\r\n            }\r\n\r\n        }\r\n    }\r\n\r\n    get isvalidateTime():boolean{\r\n        this.check_open_time();\r\n        this.check_close_time();\r\n        if(!this.store_setting.store_close_time){\r\n            this.store_close_time_error = 2;\r\n            return false;\r\n        }else if(!this.store_setting.store_open_time){\r\n            this.store_open_time_error = 2;\r\n            return false;\r\n        }else if(this.store_open_time_error || this.store_close_time_error){\r\n            return false;\r\n        }else{\r\n            return true;\r\n        }\r\n    }\r\n\r\n    add_store_time(){\r\n        if(this.isvalidateTime){\r\n            this.store_time_add = false;\r\n            var open_date = new Date(Date.now());\r\n            var open_time = this.store_setting.store_open_time;\r\n            open_time = open_time.split(':');\r\n            open_date.setHours(open_time[0] , open_time[1], 0,0);\r\n\r\n            var close_date = new Date(Date.now());\r\n            var close_time = this.store_setting.store_close_time;\r\n            close_time = close_time.split(':');\r\n            close_date.setHours(close_time[0] , close_time[1], 0,0);\r\n\r\n            if(!this.is_time_edit){\r\n                this.selected_store_time_array.push({store_open_time:this.store_setting.store_open_time,store_close_time:this.store_setting.store_close_time});\r\n                this.store_time_millisecond_array.push({ store_open_time:open_date.getTime(),store_close_time:close_date.getTime() });\r\n            } else {\r\n                this.selected_store_time_array[this.selected_time_index] = {store_open_time:this.store_setting.store_open_time,store_close_time:this.store_setting.store_close_time};\r\n                this.store_time_millisecond_array[this.selected_time_index] = { store_open_time:open_date.getTime(),store_close_time:close_date.getTime() }\r\n            }\r\n            this.selected_store_time_array.sort(this.sortStoreTime);\r\n            // this.updateStoreTime();\r\n            this.modal.close();\r\n        }\r\n    }\r\n\r\n    sortStoreTime(a, b) {\r\n        if (a.store_open_time < b.store_open_time)\r\n            return -1;\r\n        if (a.store_open_time > b.store_open_time)\r\n            return 1;\r\n        return 0;\r\n    }\r\n\r\n    edit_store_time(store_time, index){\r\n        this.is_time_edit = true;\r\n        this.store_setting.store_open_time=store_time.store_open_time;\r\n        this.store_setting.store_close_time=store_time.store_close_time;\r\n        jQuery('#open').val(store_time.store_open_time)\r\n        jQuery('#close').val(store_time.store_close_time)\r\n        this.store_close_time_error = 0;\r\n        this.store_open_time_error = 0;\r\n        this.selected_time_index = index;\r\n        this.modal.open();\r\n        // jQuery('#open').on('change', (event, res_data) => {\r\n\r\n        //     this.store_open_time_error = 0;\r\n        //     this.store_close_time_error = 0;\r\n        //     var open = jQuery(\"#open\").val()\r\n        //     var close = jQuery(\"#close\").val()\r\n        //     this.store_setting.store_open_time=open\r\n\r\n        //     var open_date = new Date(Date.now())\r\n        //     open=open.split(':');\r\n        //     open_date.setHours(open[0] , open[1] , 0,0)\r\n        //     open=open_date.getTime();\r\n\r\n        //     var close_date = new Date(Date.now())\r\n        //     close=close.split(':');\r\n        //     close_date.setHours(close[0] , close[1] , 0,0)\r\n        //     close=close_date.getTime();\r\n\r\n        //     if(open>=close)\r\n        //     {\r\n        //         this.store_open_time_error = 1\r\n        //     }\r\n        //     else\r\n        //     {\r\n        //         this.store_open_time_error = 0\r\n        //     }\r\n\r\n        //     for(var i in this.store_time_millisecond_array)\r\n        //     {\r\n        //         if((this.selected_time_index != i)){\r\n        //             var open_time = this.store_time_millisecond_array[i].store_open_time;\r\n        //             var close_time = this.store_time_millisecond_array[i].store_close_time;\r\n\r\n        //             if( ( open_time <= open) && (open <= close_time )) {\r\n        //                 this.store_open_time_error = 2\r\n        //             }\r\n        //             else if(open<=open_time && close_time<=close){\r\n        //                 this.store_open_time_error = 2\r\n        //             } else if( ( open_time <= close ) && (close <= close_time)) {\r\n        //                 this.store_close_time_error = 2\r\n\r\n        //             }\r\n        //         }\r\n        //     }\r\n        // });\r\n\r\n\r\n\r\n        // jQuery('#close').on('change', (event, res_data) => {\r\n        //     this.store_close_time_error = 0;\r\n        //     this.store_open_time_error = 0;\r\n        //     var open = jQuery(\"#open\").val()\r\n        //     var close = jQuery(\"#close\").val()\r\n        //     this.store_setting.store_close_time=close\r\n        //     var open_date = new Date(Date.now())\r\n        //     open=open.split(':');\r\n        //     open_date.setHours(open[0] , open[1] , 0, 0)\r\n        //     open=open_date.getTime();\r\n\r\n        //     var close_date = new Date(Date.now())\r\n        //     close=close.split(':');\r\n        //     close_date.setHours(close[0] , close[1], 0 , 0)\r\n        //     close=close_date.getTime();\r\n\r\n\r\n        //     if(open>=close)\r\n        //     {\r\n        //         this.store_close_time_error = 1\r\n\r\n        //     }\r\n        //     else{\r\n        //         this.store_close_time_error = 0;\r\n        //     }\r\n\r\n        //     for(var i in this.store_time_millisecond_array)\r\n        //     {\r\n        //         if(this.selected_time_index != i){\r\n\r\n        //             let open_time = this.store_time_millisecond_array[i].store_open_time\r\n        //             let close_time = this.store_time_millisecond_array[i].store_close_time\r\n\r\n        //             if( ( open_time <= close ) && (close <= close_time)) {\r\n        //                 this.store_close_time_error = 2\r\n        //             } else if(open<=open_time && close_time<=close){\r\n        //                 this.store_close_time_error = 2\r\n        //             }else if( ( open_time <= open) && (open <= close_time )) {\r\n        //                 this.store_open_time_error = 2\r\n        //             }\r\n        //         }\r\n\r\n        //     }\r\n        // });\r\n    }\r\n\r\n    remove_store_time(store_time)\r\n    {\r\n        if(!this.is_store_open_full_time && this.edit) {\r\n\r\n            swal({\r\n                title: 'Are you sure?',\r\n                text: \"You won't be able to revert this!\",\r\n                type: 'warning',\r\n                showCancelButton: true,\r\n                confirmButtonColor: '#3085d6',\r\n                cancelButtonColor: '#d33',\r\n                confirmButtonText: 'Yes, delete it!'\r\n            }).then(() => {\r\n                var i = this.selected_store_time_array.indexOf(store_time);\r\n                if (i != -1) {\r\n                    this.selected_store_time_array.splice(i, 1);\r\n                    this.store_time_millisecond_array.splice(i, 1);\r\n                    // this.updateStoreTime()\r\n                }\r\n            }).catch(swal.noop);\r\n        }\r\n    }\r\n\r\n    updateStoreTime(store_data){\r\n        if(this.store_setting.social_id.length == 0){\r\n            this.type = \"time\"\r\n            this.old_password_modal.open();\r\n        } else {\r\n            this.updateStoreTimeService();\r\n        }\r\n    }\r\n\r\n    updateStoreTimeService()\r\n    {\r\n        this.myLoading=true;\r\n        this.helper.http.post(this.helper.POST_METHOD.UPDATE_STORE_TIME,{store_time:this.store_setting.store_time,store_id:this.store_setting.store_id,server_token:this.store_setting.server_token}).map((response: Response) => response.json()) .subscribe(res_data => {\r\n\r\n            this.myLoading=false;\r\n            if(res_data.success == false)\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                    \r\n                this.helper.message()\r\n                var store = JSON.parse(localStorage.getItem('store'));\r\n            }\r\n            else\r\n            {\r\n                this.edit = false;\r\n                var old_detail = JSON.parse(localStorage.getItem('store'));\r\n                res_data.store.server_token = old_detail.server_token;\r\n                localStorage.setItem('store', JSON.stringify(res_data.store));\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.helper.message()\r\n            }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n    old_password_update(){\r\n        if(this.type=='settingdata'){\r\n            this.UpdateSettingData(this.store_setting)\r\n        } else {\r\n            this.updateStoreTimeService();\r\n        }\r\n        this.old_password_modal.close();\r\n    }\r\n\r\n    UpdateSetting(store_data){\r\n        if(this.store_setting.social_id.length == 0){\r\n            this.type = 'settingdata'\r\n            this.old_password_modal.open();\r\n        } else {\r\n            this.UpdateSettingData(this.store_setting)\r\n        }\r\n    }\r\n\r\n    UpdateSettingData(store_data)\r\n    {\r\n        this.helper.json_log(this.store_setting.old_password)\r\n        this.myLoading=true;\r\n        store_data.famous_products_tags = this.store_setting.famous_for;\r\n        store_data.old_password=this.store_setting.old_password;\r\n        store_data.new_password=\"\";\r\n        this.helper.http.post(this.helper.POST_METHOD.UPDATE,store_data).map((response: Response) => response.json()) .subscribe(res_data => {\r\n\r\n            this.myLoading=false;\r\n            if(res_data.success == false)\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message()\r\n                var store = JSON.parse(localStorage.getItem('store'));\r\n\r\n                this.store_setting.is_business= store.is_business;\r\n                this.store_setting.is_store_busy= store.is_store_busy;\r\n                this.store_setting.item_tax= store.item_tax;\r\n                this.store_setting.free_delivery_for_above_order_price= store.free_delivery_for_above_order_price;\r\n                this.store_setting.free_delivery_within_radius = store.free_delivery_within_radius;\r\n                this.store_setting.delivery_time= store.delivery_time;\r\n                this.store_setting.delivery_time_max= store.delivery_time_max;\r\n                this.store_setting.price_rating= store.price_rating;\r\n                this.store_setting.old_password=\"\";\r\n\r\n                this.store_setting.is_order_cancellation_charge_apply = store.is_order_cancellation_charge_apply;\r\n                this.store_setting.order_cancellation_charge_for_above_order_price = store.order_cancellation_charge_for_above_order_price;\r\n                this.store_setting.order_cancellation_charge_type = store.order_cancellation_charge_type;\r\n                this.store_setting.order_cancellation_charge_value = store.order_cancellation_charge_value;\r\n                this.store_setting.max_item_quantity_add_by_user = store.max_item_quantity_add_by_user;\r\n                this.store_setting.schedule_order_create_after_minute = store.schedule_order_create_after_minute;\r\n                this.store_setting.is_provide_delivery_anywhere = store.is_provide_delivery_anywhere;\r\n                this.store_setting.delivery_radius = store.delivery_radius;\r\n                this.store_setting.is_taking_schedule_order = store.is_taking_schedule_order;\r\n                this.store_setting.is_ask_estimated_time_for_ready_order = store.is_ask_estimated_time_for_ready_order;\r\n                this.store_setting.inform_schedule_order_before_min = store.inform_schedule_order_before_min;\r\n                this.store_setting.famous_for = store.famous_products_tags;\r\n                this.store_setting.min_order_price = store.min_order_price;\r\n                this.store_setting.payment_mode_for_pickup = store.payment_mode_for_pickup;\r\n                this.store_setting.payment_mode_for_delivery = store.payment_mode_for_delivery;\r\n                this.store_setting.preparation_time_for_pickup = store.preparation_time_for_pickup;\r\n                this.store_setting.preparation_time_for_delivery = store.preparation_time_for_delivery;\r\n\r\n                setTimeout(function() {\r\n                    jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n                    jQuery('.icheck').iCheck('uncheck');\r\n                }, 400);\r\n                this.store_setting.famous_for.forEach(function (famous) {\r\n\r\n                    setTimeout(() => {\r\n                        jQuery('#icheck' + famous).iCheck('check');\r\n                    }, 500);\r\n                });\r\n\r\n            }\r\n            else\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.helper.message()\r\n                this.store_setting.old_password=\"\";\r\n                var old_detail = JSON.parse(localStorage.getItem('store'));\r\n                res_data.store.server_token = old_detail.server_token;\r\n                localStorage.setItem('store', JSON.stringify(res_data.store));\r\n            }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n    updateSiteSetting(siteformData){\r\n        if(siteformData.valid){\r\n            const formData = new FormData();\r\n            formData.append(\"store_id\",this.store_setting.store_id.toString())\r\n            formData.append(\"type\",this.helper.ADMIN_DATA_ID.ADMIN)\r\n            if(this.StoreDomainSetting.domain_type == 'sub_domain'){\r\n                formData.append(\"site_domain\",'www.'+siteformData.value.site_domain+'.mywhop.com')\r\n            } else {\r\n                formData.append(\"site_domain\",'www.'+siteformData.value.site_domain)\r\n            }\r\n            formData.append(\"domain_type\",this.StoreDomainSetting.domain_type)\r\n            formData.append(\"site_desc\",siteformData.value.site_description)\r\n            formData.append(\"site_color\",siteformData.value.site_color)\r\n            formData.append(\"menu_url_type\",this.StoreDomainSetting.menu_url_type)\r\n            if(this.uploaded_site_logo){\r\n                formData.append(\"site_logo\",this.uploaded_site_logo)\r\n            }\r\n            if(this.uploaded_title_logo){\r\n                formData.append(\"title_logo\",this.uploaded_title_logo)\r\n            }\r\n            if(this.uploaded_menu_url){\r\n                formData.append(\"menu_url\",this.uploaded_menu_url)\r\n            }\r\n            this.helper.http.post(this.helper.POST_METHOD.UPDATE_SITE_SETTING,formData).map((response: Response) => response.json()).subscribe(res_data => {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.helper.message()\r\n            })\r\n        }\r\n    }\r\n\r\n    change_image($event) {\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const image_url = files[0];\r\n        if(image_url.type == \"image/jpeg\" || image_url.type == \"image/jpg\" || image_url.type == \"image/png\")\r\n        {\r\n            this.uploaded_site_logo = image_url;\r\n            var reader = new FileReader();\r\n            reader.onload =  (e : any) => {\r\n                this.StoreDomainSetting.site_logo = e.target.result\r\n            }\r\n            reader.readAsDataURL(image_url);\r\n        }\r\n    }\r\n\r\n    change_menu_image($event) {\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const image_url = files[0];\r\n        console.log(image_url)\r\n        this.StoreDomainSetting.menu_url_type = image_url.type;\r\n        if(image_url.type == \"image/jpeg\" || image_url.type == \"image/jpg\" || image_url.type == \"image/png\")\r\n        {\r\n            this.uploaded_menu_url = image_url;\r\n            var reader = new FileReader();\r\n            reader.onload =  (e : any) => {\r\n                this.StoreDomainSetting.menu_url = e.target.result\r\n            }\r\n            reader.readAsDataURL(image_url);\r\n        } else if(image_url.type == \"application/pdf\"){\r\n            this.uploaded_menu_url = image_url;\r\n        }\r\n    }\r\n\r\n    change_title_image($event) {\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const image_url = files[0];\r\n        if(image_url.type == \"image/jpeg\" || image_url.type == \"image/jpg\" || image_url.type == \"image/png\")\r\n        {\r\n            this.uploaded_title_logo = image_url;\r\n            var reader = new FileReader();\r\n            reader.onload =  (e : any) => {\r\n                this.StoreDomainSetting.title_logo = e.target.result\r\n            }\r\n            reader.readAsDataURL(image_url);\r\n        }\r\n    }\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/setting_whop/setting_whop.component.ts","import {\r\n  Component,\r\n  OnInit,\r\n  OnDestroy,\r\n  ViewContainerRef,\r\n  ViewChild,\r\n  ElementRef,\r\n} from \"@angular/core\";\r\nimport { Response } from \"@angular/http\";\r\nimport { Helper } from \"../../store_helper\";\r\ndeclare var jQuery: any;\r\nimport { ModalComponent } from \"ng2-bs3-modal/ng2-bs3-modal\";\r\nimport { UUID } from \"angular2-uuid\";\r\ndeclare var stripe;\r\ndeclare var stripe: any;\r\ndeclare var elements: any;\r\n\r\nexport interface AddCard {\r\n  card_holder_name: string;\r\n  card_number: string;\r\n  last_four: number;\r\n  expiry_month: number;\r\n  expiry_year: number;\r\n  cvv: number;\r\n  card_type: string;\r\n  payment_method: string;\r\n}\r\n\r\nexport interface CartProductItems {\r\n  item_id: Object;\r\n  unique_id: Number;\r\n  item_name: string;\r\n  quantity: Number;\r\n  image_url: any;\r\n  details: string;\r\n  specifications: any[];\r\n  formule_list: any[];\r\n  item_price: Number;\r\n  total_specification_price: Number;\r\n  total_item_and_specification_price: Number;\r\n  note_for_item: string;\r\n  //note_for_item: string\r\n}\r\n\r\nexport interface cartProducts {\r\n  items: any[];\r\n  product_id: Object;\r\n  product_name: string;\r\n  unique_id: number;\r\n  total_item_price: number;\r\n}\r\n\r\nexport interface UserDetail {\r\n  user_id: string;\r\n  server_token: string;\r\n  email: string;\r\n  first_name: string;\r\n  last_name: string;\r\n  country_id: Object;\r\n  country_phone_code: string;\r\n  phone: number;\r\n  is_use_wallet: boolean;\r\n  wallet: number;\r\n}\r\n\r\nexport interface OrderPayment {\r\n  _id: Object;\r\n  // base_price_distance: number,\r\n  // base_price: number,\r\n  // distance_price: number,\r\n  // total_time_price: number,\r\n  promo_payment: number;\r\n  total_distance_price: number;\r\n  service_tax: number;\r\n  total_admin_tax_price: number;\r\n  total_cart_price: number;\r\n  // surge_charges: number,\r\n  // total_surge_price: number,\r\n  total_service_price: number;\r\n  total_store_tax_price: number;\r\n  total_item_count: number;\r\n  total_item_price: number;\r\n  total_specification_count: number;\r\n  item_tax: number;\r\n  total_specification_price: number;\r\n  total_order_price: number;\r\n  total: number;\r\n  is_distance_unit_mile: Boolean;\r\n  price_per_unit_time: number;\r\n  price_per_unit_distance: number;\r\n  delivery_price: number;\r\n}\r\n\r\n@Component({\r\n  selector: \"app-store_create_order\",\r\n  template: require('./store_create_order.component.html'),\r\n  providers: [Helper],\r\n})\r\nexport class StoreCreateOrderComponent implements OnInit, OnDestroy {\r\n  @ViewChild(\"itemModal\")\r\n  item_modal: ModalComponent;\r\n\r\n  title: any;\r\n  button: any;\r\n  heading_title: any;\r\n  public message: string = \"\";\r\n  public class: string;\r\n  product_list: any[];\r\n  filtered_product_list: any[] = [];\r\n  store_id: string;\r\n  server_token: string;\r\n  currency: any;\r\n  selected_product: string;\r\n  filter_product_name: String = \"\";\r\n  favourite_addresses: any[] = [];\r\n\r\n  myLoading: boolean = false;\r\n  is_odh: boolean = false;\r\n  total_cart_amount: number = null;\r\n\r\n  qty: number = 1;\r\n  note_for_item: string = \"\";\r\n  //note_for_item: string = '';\r\n  current_item: any = { image_url: [] };\r\n  current_formule: any = {};\r\n  required_count: number = 0;\r\n  private total: number = 0;\r\n  required_temp_count: number = 0;\r\n  delivery_currency: string = \"\";\r\n  delivery_note: string = \"\";\r\n  is_show_address: boolean = false;\r\n  floor: string = \"\";\r\n  entry_code: string = \"\";\r\n  product_name: string = \"\";\r\n  product_unique_id: number = 0;\r\n  start_screex: number = 0;\r\n  end_screex: number = 0;\r\n  is_veiw_invoice: boolean = false;\r\n  is_use_wallet: boolean = false;\r\n\r\n  private store_location: any[];\r\n  private delivery_location: any[];\r\n  private delivery_address: string = \"\";\r\n  private postal_code: string = \"\";\r\n  is_schedule_order: Boolean = true;\r\n  schedule_date: any = null;\r\n  schedule_time: any = null;\r\n  schedule_time_error: Boolean = false;\r\n  store_open_day: string = \"\";\r\n  ipickup_delivery: Boolean = false;\r\n  google_distance: any;\r\n  google_time: any;\r\n  bool: Boolean = true;\r\n  cart_unique_token: string = \"\";\r\n  public order_payment: OrderPayment;\r\n  step: number = 1;\r\n  search_user: string = \"\";\r\n  is_payment_mode_cash: boolean = false;\r\n  is_hubrise_order: boolean = false;\r\n  card_list: any[] = [];\r\n  show_add_card: boolean = false;\r\n  user_type: number = this.helper.ADMIN_DATA_ID.ADMIN;\r\n  store_list: any[] = [];\r\n  store_detail: any = {};\r\n\r\n  @ViewChild(\"cardInfo\") cardInfo: ElementRef;\r\n  card: any;\r\n\r\n  public add_card_data: AddCard = {\r\n    card_holder_name: \"\",\r\n    card_number: \"\",\r\n    last_four: null,\r\n    expiry_year: null,\r\n    expiry_month: null,\r\n    cvv: null,\r\n    card_type: \"\",\r\n    payment_method: \"\",\r\n  };\r\n\r\n  private user_data: UserDetail = {\r\n    user_id: \"\",\r\n    server_token: \"\",\r\n    country_id: null,\r\n    email: \"\",\r\n    first_name: \"\",\r\n    country_phone_code: \"\",\r\n    last_name: \"\",\r\n    phone: null,\r\n    is_use_wallet: true,\r\n    wallet: 0,\r\n  };\r\n  is_send_invoice: boolean = false;\r\n\r\n  private cartProductItems: CartProductItems;\r\n  private cartProducts: cartProducts;\r\n\r\n  constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n    helper.toastr.setRootViewContainerRef(vcr);\r\n  }\r\n\r\n  get_card(user_id) {\r\n    // this.helper.http.http_post_method_requester(this.helper.http.POST_METHOD.GET_CARD_LIST, {user_id: user_id}, (res_data) => {\r\n    this.helper.http\r\n      .post(this.helper.POST_METHOD.GET_CARD_LIST, { user_id: user_id })\r\n      .map((res_data: Response) => res_data.json())\r\n      .subscribe((res_data) => {\r\n        if (res_data.success) {\r\n          this.card_list = res_data.cards;\r\n        } else {\r\n        }\r\n      });\r\n  }\r\n\r\n  select_card(card_id, card_index) {\r\n    if (!this.card_list[card_index].is_default) {\r\n      this.helper.http\r\n        .post(this.helper.POST_METHOD.SELECT_CARD, {\r\n          user_id: this.user_data.user_id,\r\n          card_id: card_id,\r\n        })\r\n        .map((res_data: Response) => res_data.json())\r\n        .subscribe((res_data) => {\r\n          if (res_data.success) {\r\n            let index = this.card_list.findIndex((x) => x.is_default == true);\r\n            if (index !== -1) {\r\n              this.card_list[index].is_default = false;\r\n            }\r\n            this.card_list[card_index].is_default = true;\r\n          } else {\r\n            this.helper.data.storage = {\r\n              message: this.helper.ERROR_CODE[res_data.error_code],\r\n              class: \"alert-danger\",\r\n            };\r\n          }\r\n        });\r\n    }\r\n  }\r\n\r\n  add_new_card() {\r\n    this.show_add_card = true;\r\n    this.card.mount(document.getElementById(\"carddetail\"));\r\n  }\r\n\r\n  add_card() {\r\n    this.myLoading = true;\r\n    this.helper.http\r\n      .post(this.helper.POST_METHOD.GET_STRIPE_ADD_CARD_INTENT, {})\r\n      .map((res_data: Response) => res_data.json())\r\n      .subscribe((res_data) => {\r\n        // this.helper.http_post_method_requester(this.helper.POST_METHOD.GET_STRIPE_ADD_CARD_INTENT, {}, (response_data)=>{\r\n        // this.helper.user_cart.myLoading = true;\r\n\r\n        stripe\r\n          .handleCardSetup(res_data.client_secret, this.card, {\r\n            payment_method_data: {\r\n              billing_details: {\r\n                // name: this.add_user.name,\r\n                // phone: this.add_user.country_phone_code + this.add_user.phone,\r\n                // email: this.add_user.email,\r\n              },\r\n            },\r\n          })\r\n          .then((result) => {\r\n            console.log(result);\r\n            if (result.error) {\r\n              this.myLoading = false;\r\n              this.helper.data.storage = {\r\n                message: this.helper.MESSAGE_CODE[result.error],\r\n                class: \"alert-info\",\r\n              };\r\n              this.helper.message();\r\n              // Display error.message in your UI.\r\n            } else {\r\n              // The setup has succeeded. Display a success message.\r\n              this.add_card_data.payment_method =\r\n                result.setupIntent.payment_method;\r\n              this.add_card_service(this.add_card_data);\r\n            }\r\n          });\r\n      });\r\n  }\r\n\r\n  add_card_service(card_data) {\r\n    card_data.user_id = this.user_data.user_id;\r\n    // card_data.payment_id = this.selected_payment_gateway;\r\n    card_data.type = 7;\r\n    card_data.card_expiry_date =\r\n      card_data.expiry_month + \"/\" + card_data.expiry_year;\r\n\r\n    // delete card_data.card_number;\r\n    this.helper.http\r\n      .post(this.helper.POST_METHOD.ADD_CARD, card_data)\r\n      .map((res_data: Response) => res_data.json())\r\n      .subscribe((res_data) => {\r\n        this.myLoading = false;\r\n        if (res_data.success) {\r\n          this.card_list.push(res_data.card);\r\n          this.show_add_card = false;\r\n          this.helper.data.storage = {\r\n            message: this.helper.MESSAGE_CODE[res_data.message],\r\n            class: \"alert-info\",\r\n          };\r\n          this.add_card_data = {\r\n            card_holder_name: \"\",\r\n            card_number: \"\",\r\n            last_four: null,\r\n            expiry_year: null,\r\n            expiry_month: null,\r\n            cvv: null,\r\n            card_type: \"\",\r\n            payment_method: \"\",\r\n          };\r\n        } else {\r\n          this.helper.data.storage = {\r\n            message: this.helper.ERROR_CODE[res_data.error_code],\r\n            class: \"alert-danger\",\r\n          };\r\n        }\r\n        this.helper.message();\r\n      });\r\n  }\r\n\r\n  ngAfterViewInit() {\r\n    jQuery(\".clock-picker\").clockpicker({\r\n      default: \"now\",\r\n      align: \"right\",\r\n    });\r\n    jQuery(\".chosen-select\").chosen();\r\n  }\r\n\r\n  activeRoute(routename: string): boolean {\r\n    return this.helper.router.url.indexOf(routename) > -1;\r\n  }\r\n\r\n  search_user_data(bool) {\r\n    if (this.search_user) {\r\n      this.helper.http\r\n        .post(this.helper.POST_METHOD.SEARCH_USER, {\r\n          store_id: this.store_id,\r\n          search_user: this.search_user,\r\n        })\r\n        .map((res_data: Response) => res_data.json())\r\n        .subscribe((res_data) => {\r\n          console.log(res_data);\r\n          if (res_data.success) {\r\n            this.user_data = {\r\n              user_id: res_data.user_detail._id,\r\n              server_token: \"\",\r\n              country_id: res_data.user_detail.country_id,\r\n              country_phone_code: res_data.user_detail.country_phone_code,\r\n              email: res_data.user_detail.email,\r\n              first_name: res_data.user_detail.first_name,\r\n              last_name: res_data.user_detail.last_name,\r\n              phone: res_data.user_detail.phone,\r\n              is_use_wallet: res_data.user_detail.is_use_wallet,\r\n              wallet: res_data.user_detail.wallet,\r\n            };\r\n            if (bool) {\r\n              this.step = 2;\r\n            }\r\n            this.get_card(res_data.user_detail._id);\r\n            if (bool) {\r\n              setTimeout(() => {\r\n                jQuery(\".iradio\").iCheck({\r\n                  handle: \"radio\",\r\n                  radioClass: \"iradio_square-green\",\r\n                });\r\n                jQuery(\"#ipickup_delivery2\").iCheck(\"check\");\r\n                jQuery(\".iradio\").on(\"ifChecked\", (event) => {\r\n                  var id = event.target.getAttribute(\"value\");\r\n                  console.log(id);\r\n                  if (id == 1) {\r\n                    this.ipickup_delivery = true;\r\n                  } else {\r\n                    this.ipickup_delivery = false;\r\n                  }\r\n\r\n                  this.step = 2;\r\n                });\r\n              });\r\n            }\r\n          } else {\r\n            console.log(this.helper.ERROR_CODE[res_data.error_code]);\r\n            console.log(res_data.error_code);\r\n            this.helper.data.storage = {\r\n              message: this.helper.ERROR_CODE[res_data.error_code],\r\n              class: \"alert-danger\",\r\n            };\r\n            this.helper.message();\r\n          }\r\n        });\r\n    } else {\r\n      this.helper.data.storage = {\r\n        message: this.helper.ERROR_CODE[2003],\r\n        class: \"alert-danger\",\r\n      };\r\n      this.helper.message();\r\n    }\r\n  }\r\n\r\n  go_to_next_step() {\r\n    console.log(this.schedule_date);\r\n    console.log(this.schedule_time);\r\n    this.is_odh = false;\r\n    let server_date: any = new Date();\r\n    // server_date = new Date(server_date).toLocaleString(\"en-US\", {timeZone: this.helper.user_cart.timezone})\r\n    // server_date = new Date(server_date);\r\n    let date = this.schedule_date.formatted.split(\"-\");\r\n    let time = this.schedule_time.split(\":\");\r\n\r\n    let selected_date: any = new Date(Date.now());\r\n    // selected_date = new Date(selected_date).toLocaleString(\"en-US\", {timeZone: this.helper.user_cart.timezone})\r\n    // selected_date = new Date(selected_date);\r\n    selected_date.setDate(date[1]);\r\n    selected_date.setMonth(date[0] - 1);\r\n    selected_date.setFullYear(date[2]);\r\n    selected_date.setHours(time[0], time[1]);\r\n    selected_date = new Date(selected_date);\r\n\r\n    let day_diff = selected_date.getDay() - server_date.getDay();\r\n    let timeDiff = Math.round(selected_date.getTime() - server_date.getTime());\r\n    this.helper.user_cart.schedule_date = selected_date;\r\n\r\n    var current_date = new Date();\r\n    var schedule_order_time = new Date(selected_date);\r\n    var time_diff = schedule_order_time.getTime() - current_date.getTime();\r\n    time_diff = time_diff / (60 * 1000);\r\n\r\n    if (time_diff > 5) {\r\n      this.helper.user_cart.is_schedule_order = true;\r\n    } else {\r\n      this.helper.user_cart.is_schedule_order = false;\r\n    }\r\n\r\n    if (this.ipickup_delivery) {\r\n      this.step = 4;\r\n      this.is_veiw_invoice = false;\r\n      this.get_item_list();\r\n    } else {\r\n      this.step = 3;\r\n      this.get_fav_address();\r\n\r\n      console.log(\"delivery_address\");\r\n      setTimeout(() => {\r\n        var autocompleteElm = <HTMLInputElement>(\r\n          document.getElementById(\"delivery_address\")\r\n        );\r\n        let autocomplete = new google.maps.places.Autocomplete(\r\n          autocompleteElm,\r\n          {}\r\n        );\r\n\r\n        autocomplete.addListener(\"place_changed\", () => {\r\n          var place = autocomplete.getPlace();\r\n          var lat = place.geometry.location.lat();\r\n          var lng = place.geometry.location.lng();\r\n          this.delivery_address = place.formatted_address;\r\n          for (var i = 0; i < place.address_components.length; i++) {\r\n            if (place.address_components[i].types[0] == \"postal_code\") {\r\n              this.postal_code = place.address_components[i].long_name;\r\n            }\r\n          }\r\n          // this.postal_code =\r\n          this.delivery_location = [lat, lng];\r\n          this.step = 3;\r\n        });\r\n      }, 1000);\r\n    }\r\n  }\r\n\r\n  set_address(address) {\r\n    this.delivery_address = address.address;\r\n    jQuery(\"#address\").val(address.address);\r\n    this.floor = address.floor;\r\n    this.entry_code = address.entry_code;\r\n    this.delivery_note = address.note ? address.not : address.comment;\r\n    this.postal_code = address.postal_code;\r\n    this.delivery_location = [address.latitude, address.longitude];\r\n    this.is_show_address = false;\r\n  }\r\n\r\n  get_fav_address() {\r\n    this.helper.http\r\n      .post(\"/api/user/get_favoutire_addresses\", {\r\n        user_id: this.user_data.user_id,\r\n        type: this.helper.ADMIN_DATA_ID.ADMIN,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        if (res_data.success) {\r\n          this.favourite_addresses = res_data.favourite_addresses;\r\n        } else {\r\n          this.favourite_addresses = [];\r\n        }\r\n      });\r\n  }\r\n\r\n  check_address(is_odh) {\r\n    this.is_odh = is_odh;\r\n    let json = {\r\n      latitude: this.delivery_location[0],\r\n      longitude: this.delivery_location[1],\r\n      destination_address: this.delivery_address,\r\n      store_id: this.store_id,\r\n    };\r\n    this.helper.http\r\n      .post(this.helper.POST_METHOD.STORE_CHANGE_DELIVERY_ADDRESS, json)\r\n      .map((res_data: Response) => res_data.json())\r\n      .subscribe((res_data) => {\r\n        console.log(res_data);\r\n        if (res_data.success) {\r\n          this.currency = res_data.currency;\r\n          this.helper.user_cart.destination_address.location =\r\n            this.delivery_location;\r\n          this.helper.user_cart.destination_address.address =\r\n            this.delivery_address;\r\n          this.helper.user_cart.destination_address.postal_code =\r\n            this.postal_code;\r\n          this.helper.user_cart.destination_address.floor = this.floor;\r\n          this.helper.user_cart.destination_address.entry_code =\r\n            this.entry_code;\r\n          this.helper.user_cart.destination_address.postal_code =\r\n            this.postal_code;\r\n          this.step = 4;\r\n          this.is_veiw_invoice = false;\r\n          this.is_payment_mode_cash = false;\r\n          this.is_hubrise_order = false;\r\n          if (!this.is_odh) {\r\n            this.get_item_list();\r\n          } else {\r\n            this.step = 4;\r\n          }\r\n        } else {\r\n          this.myLoading = false;\r\n          this.delivery_location =\r\n            this.helper.user_cart.destination_address.location;\r\n          this.delivery_address =\r\n            this.helper.user_cart.destination_address.address;\r\n          this.postal_code =\r\n            this.helper.user_cart.destination_address.postal_code;\r\n          this.postal_code =\r\n            this.helper.user_cart.destination_address.postal_code;\r\n          this.helper.data.storage = {\r\n            message: this.helper.ERROR_CODE[res_data.error_code],\r\n            class: \"alert-danger\",\r\n          };\r\n          this.helper.message();\r\n        }\r\n      });\r\n  }\r\n\r\n  create_user() {\r\n    if (\r\n      this.user_data.email &&\r\n      this.user_data.phone &&\r\n      this.user_data.country_phone_code &&\r\n      this.user_data.first_name &&\r\n      this.user_data.last_name\r\n    ) {\r\n      let json = {\r\n        email: this.user_data.email,\r\n        phone: this.user_data.phone,\r\n        country_phone_code: this.user_data.country_phone_code,\r\n        first_name: this.user_data.first_name,\r\n        last_name: this.user_data.last_name,\r\n        type: this.user_type,\r\n        store_id: this.store_id,\r\n      };\r\n      console.log(json);\r\n      this.helper.http\r\n        .post(this.helper.POST_METHOD.CREATE_STORE_USER, json)\r\n        .map((res_data: Response) => res_data.json())\r\n        .subscribe((res_data) => {\r\n          if (res_data.success) {\r\n            this.user_data = {\r\n              user_id: res_data.user_detail._id,\r\n              server_token: \"\",\r\n              country_id: res_data.user_detail.country_id,\r\n              country_phone_code: res_data.user_detail.country_phone_code,\r\n              email: res_data.user_detail.email,\r\n              first_name: res_data.user_detail.first_name,\r\n              last_name: res_data.user_detail.last_name,\r\n              phone: res_data.user_detail.phone,\r\n              is_use_wallet: res_data.user_detail.is_use_wallet,\r\n              wallet: res_data.user_detail.wallet,\r\n            };\r\n            this.step = 2;\r\n            this.get_card(res_data.user_detail._id);\r\n            setTimeout(() => {\r\n              jQuery(\".iradio\").iCheck({\r\n                handle: \"radio\",\r\n                radioClass: \"iradio_square-green\",\r\n              });\r\n              jQuery(\"#ipickup_delivery2\").iCheck(\"check\");\r\n              jQuery(\".iradio\").on(\"ifChecked\", (event) => {\r\n                var id = event.target.getAttribute(\"value\");\r\n                console.log(id);\r\n                if (id == 1) {\r\n                  this.ipickup_delivery = true;\r\n                } else {\r\n                  this.ipickup_delivery = false;\r\n                }\r\n                this.step = 2;\r\n              });\r\n            });\r\n          } else {\r\n            this.helper.data.storage = {\r\n              message: this.helper.ERROR_CODE[res_data.error_code],\r\n              class: \"alert-danger\",\r\n            };\r\n            this.helper.message();\r\n          }\r\n        });\r\n    } else {\r\n      this.helper.data.storage = {\r\n        message: this.helper.ERROR_CODE[2002],\r\n        class: \"alert-danger\",\r\n      };\r\n      this.helper.message();\r\n    }\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.helper.router_id.admin.order_id = null;\r\n    this.helper.user_cart.cart_data = {\r\n      cart_id: null,\r\n      city_id: null,\r\n      pickup_addresses: [],\r\n      destination_addresses: [],\r\n      cart: [],\r\n      selectedStoreId: null,\r\n      total_item: 0,\r\n    };\r\n    this.helper.user_cart.total_cart_amount = 0;\r\n    this.helper.user_cart.order_payment_id = null;\r\n    this.helper.user_cart.cart_data.cart_id = null;\r\n    this.helper.user_cart.cart_unique_token = UUID.UUID();\r\n  }\r\n\r\n  ngOnInit() {\r\n    if (elements._elements.length > 0) {\r\n      elements._elements = [];\r\n    }\r\n    this.card = elements.create(\"card\");\r\n\r\n    var date = new Date();\r\n    this.schedule_date = {\r\n      date: {\r\n        year: date.getFullYear(),\r\n        month: date.getMonth() + 1,\r\n        day: date.getDate(),\r\n      },\r\n      formatted:\r\n        date.getMonth() + 1 + \"-\" + date.getDate() + \"-\" + date.getFullYear(),\r\n    };\r\n    this.schedule_time = date.getHours() + \":\" + date.getMinutes();\r\n    let token = this.helper.tokenService.getToken();\r\n    this.step = 1;\r\n    this.user_data = {\r\n      user_id: \"\",\r\n      server_token: \"\",\r\n      country_id: null,\r\n      email: \"\",\r\n      first_name: \"\",\r\n      country_phone_code: \"\",\r\n      last_name: \"\",\r\n      phone: null,\r\n      is_use_wallet: true,\r\n      wallet: 0,\r\n    };\r\n\r\n    this.helper.message();\r\n    this.cart_unique_token = this.helper.user_cart.cart_unique_token;\r\n    this.cartProductItems = {\r\n      item_id: null,\r\n      unique_id: 0,\r\n      item_name: \"\",\r\n      quantity: 0,\r\n      image_url: [],\r\n      formule_list: [],\r\n      details: \"\",\r\n      specifications: [],\r\n      item_price: 0,\r\n      total_specification_price: 0,\r\n      total_item_and_specification_price: 0,\r\n      note_for_item: \"\",\r\n      //note_for_item: '',\r\n    };\r\n\r\n    this.order_payment = {\r\n      _id: null,\r\n      promo_payment: 0,\r\n      total_distance_price: 0,\r\n      service_tax: 0,\r\n      total_cart_price: 0,\r\n      total_admin_tax_price: 0,\r\n      total_service_price: 0,\r\n      total_store_tax_price: 0,\r\n      total_item_count: 0,\r\n      total_item_price: 0,\r\n      total_specification_count: 0,\r\n      item_tax: 0,\r\n      total_specification_price: 0,\r\n      total_order_price: 0,\r\n      total: 0,\r\n      is_distance_unit_mile: false,\r\n      price_per_unit_time: 0,\r\n      price_per_unit_distance: 0,\r\n      delivery_price: 0,\r\n    };\r\n\r\n    this.cartProducts = {\r\n      items: [],\r\n      product_id: null,\r\n      product_name: \"\",\r\n      unique_id: 0,\r\n      total_item_price: 0,\r\n    };\r\n\r\n    if (this.helper.router.url == \"/store/create_order\") {\r\n      var store = JSON.parse(localStorage.getItem(\"store\"));\r\n      this.store_detail = store;\r\n      if (store) {\r\n        this.user_type = this.helper.ADMIN_DATA_ID.STORE;\r\n        this.store_id = store._id;\r\n        this.server_token = store.server_token;\r\n        this.store_location = store.location;\r\n        this.delivery_location = store.location;\r\n        this.delivery_address = store.address;\r\n        this.postal_code = store.postal_code;\r\n        if (\r\n          !JSON.parse(localStorage.getItem(\"store_document_ulpoaded\")) &&\r\n          JSON.parse(localStorage.getItem(\"admin_store_document_ulpoaded\"))\r\n        ) {\r\n          this.helper.router.navigate([\"store/upload_document\"]);\r\n        }\r\n        if (!token || !token.token) {\r\n          this.helper.router.navigate([\"store/logout\"]);\r\n        }\r\n      } else {\r\n        this.helper.router.navigate([\"store/logout\"]);\r\n      }\r\n    } else {\r\n      if (this.helper.router.url == \"/dispatcher/create_order\") {\r\n        var admin_id = localStorage.getItem(\"admin_id\");\r\n        this.helper.http\r\n          .post(\"/admin/get_admin_team_detail\", { admin_id: admin_id })\r\n          .map((res: Response) => res.json())\r\n          .subscribe((res_data) => {\r\n            this.get_store_list(\r\n              res_data.team_detail ? res_data.team_detail.store_ids : []\r\n            );\r\n          });\r\n      } else {\r\n        this.get_store_list([]);\r\n      }\r\n    }\r\n    this.title = this.helper.title;\r\n    this.button = this.helper.button;\r\n    this.heading_title = this.helper.heading_title;\r\n    this.selected_product = this.title.all;\r\n\r\n    jQuery(this.helper.elementRef.nativeElement)\r\n      .find(\"#selected_product\")\r\n      .on(\"change\", (evnt, res_data) => {\r\n        this.selected_product = res_data.selected;\r\n      });\r\n\r\n    jQuery(\"#loop\").click();\r\n\r\n    jQuery(\"#open\").on(\"change\", (event, res_data) => {\r\n      this.schedule_time = jQuery(\"#open\").val();\r\n      this.step = 2;\r\n    });\r\n\r\n    jQuery(window).resize(function () {\r\n      // if(jQuery(window).width()>992 && jQuery(window).width()<1300){\r\n      //     jQuery('.div1').removeClass('col-md-4');\r\n      //     jQuery('.div2').removeClass('col-md-8');\r\n      //     jQuery('.div1').addClass('col-md-12');\r\n      //     jQuery('.div2').addClass('col-md-12');\r\n      // }\r\n      // else\r\n      // {\r\n      //     jQuery('.div1').removeClass('col-md-12');\r\n      //     jQuery('.div2').removeClass('col-md-12');\r\n      //     jQuery('.div1').addClass('col-md-4');\r\n      //     jQuery('.div2').addClass('col-md-8');\r\n      // }\r\n\r\n      if (\r\n        (jQuery(window).width() > 772 && jQuery(window).width() < 935) ||\r\n        jQuery(window).width() < 365\r\n      ) {\r\n        jQuery(\".div1\").removeClass(\"col-xs-4\");\r\n        jQuery(\".div2\").removeClass(\"col-xs-8\");\r\n        jQuery(\".div1\").addClass(\"col-xs-12\");\r\n        jQuery(\".div2\").addClass(\"col-xs-12\");\r\n      } else {\r\n        jQuery(\".div1\").removeClass(\"col-xs-12\");\r\n        jQuery(\".div2\").removeClass(\"col-xs-12\");\r\n        jQuery(\".div1\").addClass(\"col-xs-4\");\r\n        jQuery(\".div2\").addClass(\"col-xs-8\");\r\n      }\r\n    });\r\n\r\n    setTimeout(function () {\r\n      // if(jQuery(window).width()>992 && jQuery(window).width()<1300){\r\n      //     jQuery('.div1').removeClass('col-md-4');\r\n      //     jQuery('.div2').removeClass('col-md-8');\r\n      //     jQuery('.div1').addClass('col-md-12');\r\n      //     jQuery('.div2').addClass('col-md-12');\r\n      // }\r\n      // else\r\n      // {\r\n      //     jQuery('.div1').removeClass('col-md-12');\r\n      //     jQuery('.div2').removeClass('col-md-12');\r\n      //     jQuery('.div1').addClass('col-md-4');\r\n      //     jQuery('.div2').addClass('col-md-8');\r\n      // }\r\n\r\n      if (\r\n        (jQuery(window).width() > 772 && jQuery(window).width() < 935) ||\r\n        jQuery(window).width() < 365\r\n      ) {\r\n        jQuery(\".div1\").removeClass(\"col-xs-4\");\r\n        jQuery(\".div2\").removeClass(\"col-xs-8\");\r\n        jQuery(\".div1\").addClass(\"col-xs-12\");\r\n        jQuery(\".div2\").addClass(\"col-xs-12\");\r\n      } else {\r\n        jQuery(\".div1\").removeClass(\"col-xs-12\");\r\n        jQuery(\".div2\").removeClass(\"col-xs-12\");\r\n        jQuery(\".div1\").addClass(\"col-xs-4\");\r\n        jQuery(\".div2\").addClass(\"col-xs-8\");\r\n      }\r\n    }, 500);\r\n  }\r\n\r\n  get_store_list(store_ids) {\r\n    this.helper.http\r\n      .post(\"/admin/get_store_list_for_city\", { store_ids: store_ids })\r\n      .map((res: Response) => res.json())\r\n      .subscribe((res_data) => {\r\n        this.store_list = res_data.stores;\r\n        setTimeout(() => {\r\n          jQuery(\"#store\").chosen();\r\n\r\n          jQuery(this.helper.elementRef.nativeElement)\r\n            .find(\"#store\")\r\n            .on(\"change\", (evnt, res_data) => {\r\n              console.log(res_data);\r\n\r\n              var index = this.store_list.findIndex(\r\n                (x) => x._id == res_data.selected\r\n              );\r\n              if (index !== -1) {\r\n                var store = this.store_list[index];\r\n                this.store_detail = store;\r\n                this.store_id = store._id;\r\n                this.server_token = store.server_token;\r\n                this.store_location = store.location;\r\n                this.delivery_location = store.location;\r\n                this.delivery_address = store.address;\r\n                this.postal_code = store.postal_code;\r\n                this.step = 2;\r\n              }\r\n            });\r\n\r\n          jQuery(\"#store\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n\r\n        if (this.helper.router_id.admin.order_id) {\r\n          this.helper.http\r\n            .post(\"/api/admin/get_order_data\", {\r\n              order_id: this.helper.router_id.admin.order_id,\r\n            })\r\n            .map((res_data: Response) => res_data.json())\r\n            .subscribe((res_data) => {\r\n              this.search_user = res_data.order.user_detail.email;\r\n              this.search_user_data(false);\r\n              var index = this.store_list.findIndex(\r\n                (x) => x._id == res_data.order.store_detail._id\r\n              );\r\n              if (index !== -1) {\r\n                var store = this.store_list[index];\r\n                this.store_detail = store;\r\n                this.store_id = store._id;\r\n                this.server_token = store.server_token;\r\n                this.store_location = store.location;\r\n                this.delivery_location = store.location;\r\n                this.delivery_address = store.address;\r\n                this.postal_code = store.postal_code;\r\n              }\r\n\r\n              this.ipickup_delivery = res_data.order.is_user_pick_up_order;\r\n              if (res_data.order.is_user_pick_up_order) {\r\n                setTimeout(() => {\r\n                  jQuery(\".iradio\").iCheck({\r\n                    handle: \"radio\",\r\n                    radioClass: \"iradio_square-green\",\r\n                  });\r\n                  jQuery(\"#ipickup_delivery1\").iCheck(\"check\");\r\n                  jQuery(\".iradio\").on(\"ifChecked\", (event) => {\r\n                    var id = event.target.getAttribute(\"value\");\r\n                    console.log(id);\r\n                    if (id == 1) {\r\n                      this.ipickup_delivery = true;\r\n                    } else {\r\n                      this.ipickup_delivery = false;\r\n                    }\r\n\r\n                    this.step = 2;\r\n                  });\r\n                });\r\n                this.step = 4;\r\n                this.is_veiw_invoice = false;\r\n                this.get_item_list();\r\n              } else {\r\n                setTimeout(() => {\r\n                  jQuery(\".iradio\").iCheck({\r\n                    handle: \"radio\",\r\n                    radioClass: \"iradio_square-green\",\r\n                  });\r\n                  jQuery(\"#ipickup_delivery2\").iCheck(\"check\");\r\n                  jQuery(\".iradio\").on(\"ifChecked\", (event) => {\r\n                    var id = event.target.getAttribute(\"value\");\r\n                    console.log(id);\r\n                    if (id == 1) {\r\n                      this.ipickup_delivery = true;\r\n                    } else {\r\n                      this.ipickup_delivery = false;\r\n                    }\r\n\r\n                    this.step = 2;\r\n                  });\r\n                });\r\n                this.delivery_address =\r\n                  res_data.order.cart_detail.destination_addresses[0].address;\r\n                this.postal_code =\r\n                  res_data.order.cart_detail.destination_addresses[0].postal_code;\r\n                this.delivery_location =\r\n                  res_data.order.cart_detail.destination_addresses[0].location;\r\n                this.step = 3;\r\n                this.check_address(this.is_odh);\r\n\r\n                setTimeout(() => {\r\n                  var autocompleteElm = <HTMLInputElement>(\r\n                    document.getElementById(\"delivery_address\")\r\n                  );\r\n                  let autocomplete = new google.maps.places.Autocomplete(\r\n                    autocompleteElm,\r\n                    {}\r\n                  );\r\n\r\n                  autocomplete.addListener(\"place_changed\", () => {\r\n                    var place = autocomplete.getPlace();\r\n                    var lat = place.geometry.location.lat();\r\n                    var lng = place.geometry.location.lng();\r\n                    this.delivery_address = place.formatted_address;\r\n                    for (var i = 0; i < place.address_components.length; i++) {\r\n                      if (\r\n                        place.address_components[i].types[0] == \"postal_code\"\r\n                      ) {\r\n                        this.postal_code =\r\n                          place.address_components[i].long_name;\r\n                      }\r\n                    }\r\n                    // this.postal_code =\r\n                    this.delivery_location = [lat, lng];\r\n                    this.step = 3;\r\n                  });\r\n                }, 1000);\r\n              }\r\n\r\n              this.helper.user_cart.total_cart_amount =\r\n                res_data.order.order_payment_detail.total_cart_price;\r\n              // this.helper.user_cart.total_item_tax = res_data.order.cart_detail.total_item_tax;\r\n              this.helper.user_cart.cart_data.is_get_card = true;\r\n              this.helper.user_cart.cart_data.cart =\r\n                res_data.order.cart_detail.order_details;\r\n              this.helper.user_cart.cart_data.selectedStoreId = this.store_id;\r\n              // this.helper.user_cart.cart_data.max_item_quantity_add_by_user = this.current_store.max_item_quantity_add_by_user;\r\n              // this.helper.user_cart.store_location = this.current_store.location;\r\n              this.helper.user_cart.cart_data.pickup_addresses =\r\n                res_data.order.cart_detail.pickup_addresses;\r\n              this.helper.user_cart.cart_data.destination_addresses =\r\n                res_data.order.cart_detail.destination_addresses;\r\n\r\n              this.helper.user_cart.cart_data.total_item++;\r\n              this.add_to_cart();\r\n              // this.helper.add_to_cart();\r\n            });\r\n        }\r\n      });\r\n  }\r\n\r\n  get_item_list() {\r\n    this.helper.http\r\n      .post(this.helper.POST_METHOD.GET_STORE_PRODUCT_ITEM_LIST, {\r\n        type: this.helper.ADMIN_DATA_ID.ADMIN,\r\n        store_id: this.store_id,\r\n      })\r\n      .map((res: Response) => res.json())\r\n      .subscribe(\r\n        (res_data) => {\r\n          this.myLoading = false;\r\n          this.step = 4;\r\n          if (res_data.success == false) {\r\n            this.helper.data.storage = {\r\n              message: this.helper.ERROR_CODE[res_data.error_code],\r\n              class: \"alert-danger\",\r\n            };\r\n\r\n            this.product_list = [];\r\n            this.filtered_product_list = [];\r\n            this.helper.message();\r\n          } else {\r\n            this.currency = res_data.currency;\r\n            this.helper.user_cart.currency = this.currency;\r\n            let product_list = res_data.products.filter((product) => {\r\n              let item_list = product.items.filter((item) => {\r\n                return (\r\n                  item.is_item_in_stock == true &&\r\n                  item.is_visible_in_store == true\r\n                );\r\n              });\r\n              product.items = item_list;\r\n              return product.is_visible_in_store == true;\r\n            });\r\n\r\n            let specification_price;\r\n            let product_array = product_list.filter((product_data) => {\r\n              let item_array = product_data.items.filter((item_data) => {\r\n                specification_price = 0;\r\n                item_data.specifications.filter((specification_group) => {\r\n                  specification_group.list.filter((specification) => {\r\n                    if (specification.is_default_selected) {\r\n                      specification_price =\r\n                        specification_price + Number(specification.price);\r\n                    }\r\n                  });\r\n                  if (\r\n                    specification_group.min_selection == undefined ||\r\n                    specification_group.max_selection == undefined\r\n                  ) {\r\n                    if (specification_group.type == 1) {\r\n                      specification_group.min_selection = 1;\r\n                      specification_group.max_selection = 1;\r\n                      specification_group.is_required = true;\r\n                    } else {\r\n                      specification_group.max_selection =\r\n                        specification_group.list.length;\r\n                      if (specification_group.is_required) {\r\n                        specification_group.min_selection = 1;\r\n                      } else {\r\n                        specification_group.min_selection = 0;\r\n                      }\r\n                    }\r\n                  }\r\n                });\r\n\r\n                let total_item_price = item_data.price + specification_price;\r\n                item_data.total_item_price = total_item_price;\r\n                return item_data;\r\n              });\r\n              product_data.is_show = true;\r\n              product_data.items = item_array;\r\n              return product_data;\r\n            });\r\n            this.product_list = product_array;\r\n            this.filtered_product_list = product_array;\r\n\r\n            setTimeout(function () {\r\n              jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n            }, 1000);\r\n          }\r\n        },\r\n        (error: any) => {\r\n          this.myLoading = false;\r\n          this.helper.http_status(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  open_item_modal(item, item_index, product_index, event) {\r\n    if (event.target.attributes.class != undefined) {\r\n      if (\r\n        event.target.attributes.class.value !== \"carousel-indicators_li\" &&\r\n        event.target.attributes.class.value !== \"carousel-indicators_li active\"\r\n      ) {\r\n        this.qty = 1;\r\n        this.required_count = 0;\r\n        this.current_item = JSON.parse(JSON.stringify(item));\r\n        this.current_item.specifications.sort(this.sortFormule);\r\n        this.current_formule = {};\r\n        this.product_unique_id =\r\n          this.filtered_product_list[product_index].unique_id;\r\n        this.product_name = this.filtered_product_list[product_index].name;\r\n        this.calculate_is_required();\r\n        this.calculateTotalAmount();\r\n        this.item_modal.open();\r\n      }\r\n    } else {\r\n      this.qty = 1;\r\n      this.required_count = 0;\r\n      this.current_item = JSON.parse(JSON.stringify(item));\r\n      this.current_item.specifications.sort(this.sortFormule);\r\n      this.current_formule = {};\r\n      this.product_unique_id =\r\n        this.filtered_product_list[product_index].unique_id;\r\n      this.product_name = this.filtered_product_list[product_index].name;\r\n      this.calculate_is_required();\r\n      this.calculateTotalAmount();\r\n      this.item_modal.open();\r\n    }\r\n  }\r\n\r\n  sortFormule(a: any, b: any) {\r\n    if (a.formule_id) return -1;\r\n    return 0;\r\n  }\r\n\r\n  close_item_modal() {\r\n    this.current_item = { image_url: [] };\r\n    this.item_modal.close();\r\n  }\r\n\r\n  calculate_is_required() {\r\n    this.required_count = 0;\r\n    this.current_item.specifications.forEach((specification_group) => {\r\n      if (specification_group.is_required) {\r\n        if (\r\n          !specification_group.formule_id ||\r\n          specification_group.formule_id == this.current_formule.formule_id\r\n        ) {\r\n          this.required_count++;\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  calculateTotalAmount() {\r\n    this.total = this.current_item.price;\r\n    if (this.current_formule.formule_id && this.current_formule.price) {\r\n      this.total = Number(this.current_formule.price);\r\n    }\r\n    this.required_temp_count = 0;\r\n    this.current_item.specifications.forEach(\r\n      (specification_group, specification_group_index) => {\r\n        if (\r\n          !specification_group.formule_id ||\r\n          specification_group.formule_id == this.current_formule.formule_id\r\n        ) {\r\n          let isAllowed = false;\r\n          var default_selected_count = 0;\r\n          specification_group.selected_specification = 0;\r\n\r\n          specification_group.list.forEach(\r\n            (specification, specification_index) => {\r\n              if (specification.is_default_selected) {\r\n                this.total = this.total + Number(specification.price);\r\n                default_selected_count++;\r\n                specification_group.selected_specification++;\r\n              }\r\n              specification_group.default_selected_count =\r\n                default_selected_count;\r\n            }\r\n          );\r\n          if (\r\n            specification_group.type == 1 &&\r\n            specification_group.is_required\r\n          ) {\r\n            if (default_selected_count >= 1) {\r\n              this.required_temp_count++;\r\n            }\r\n          } else if (\r\n            specification_group.type == 2 &&\r\n            specification_group.is_required\r\n          ) {\r\n            if (default_selected_count >= specification_group.min_selection) {\r\n              this.required_temp_count++;\r\n            }\r\n          }\r\n        }\r\n      }\r\n    );\r\n\r\n    this.total = this.total * this.qty;\r\n  }\r\n\r\n  select_formule(formule: any) {\r\n    this.current_formule = JSON.parse(JSON.stringify(formule));\r\n    this.calculate_is_required();\r\n    this.calculateTotalAmount();\r\n  }\r\n\r\n  changeradio(event, specification_group_index, specification_index) {\r\n    var index = this.current_item.specifications[\r\n      specification_group_index\r\n    ].list.findIndex((x) => x.is_default_selected == true);\r\n    if (index !== -1) {\r\n      this.current_item.specifications[specification_group_index].list[\r\n        index\r\n      ].is_default_selected = false;\r\n    }\r\n    this.current_item.specifications[specification_group_index].list[\r\n      specification_index\r\n    ].is_default_selected = true;\r\n    this.calculateTotalAmount();\r\n  }\r\n\r\n  changecheckbox(event, specification_group_index, specification_index) {\r\n    this.current_item.specifications[specification_group_index].list[\r\n      specification_index\r\n    ].is_default_selected = event.target.checked;\r\n    this.calculateTotalAmount();\r\n  }\r\n\r\n  incerase_qty() {\r\n    this.qty++;\r\n    this.calculateTotalAmount();\r\n  }\r\n\r\n  decrease_qty() {\r\n    if (this.qty > 1) {\r\n      this.qty--;\r\n      this.calculateTotalAmount();\r\n    }\r\n  }\r\n\r\n  dragstart_image(event) {\r\n    this.start_screex = event.screenX;\r\n  }\r\n  dragend_image(event, length) {\r\n    this.end_screex = event.screenX;\r\n    var a = jQuery(\".a.active\").attr(\"data-slide-to\");\r\n    a = Number(a);\r\n    if (this.start_screex < this.end_screex && a > 0) {\r\n      a = a - 1;\r\n      jQuery(\".a#aa\" + a).click();\r\n    } else if (this.start_screex > this.end_screex && a < length) {\r\n      a = a + 1;\r\n      jQuery(\".a#aa\" + a).click();\r\n    }\r\n  }\r\n\r\n  filter_product(data) {\r\n    data = data.replace(/^\\s+|\\s+$/g, \"\");\r\n    data = data.replace(/ +(?= )/g, \"\");\r\n    data = new RegExp(data, \"gi\");\r\n\r\n    var product_array = [];\r\n    this.product_list.forEach((product) => {\r\n      var item_array = product.items.filter((item_data) => {\r\n        var a = item_data.name.match(data);\r\n        return a !== null;\r\n      });\r\n      if (item_array.length > 0) {\r\n        product_array.push({\r\n          _id: product._id,\r\n          name: product.name,\r\n          store_id: product.store_id,\r\n          unique_id: product.unique_id,\r\n          is_visible_in_store: product.is_visible_in_store,\r\n          items: item_array,\r\n        });\r\n      }\r\n    });\r\n    this.filtered_product_list = product_array;\r\n  }\r\n\r\n  addToCart() {\r\n    let specificationPriceTotal = 0;\r\n    let specificationPrice = 0;\r\n    let specificationList = [];\r\n\r\n    this.current_item.specifications.forEach(\r\n      (specification_group, specification_group_index) => {\r\n        if (\r\n          !specification_group.formule_id ||\r\n          specification_group.formule_id == this.current_formule.formule_id\r\n        ) {\r\n          let specificationItemCartList = [];\r\n          specification_group.list.forEach(\r\n            (specification, specification_index) => {\r\n              if (specification.is_default_selected) {\r\n                specificationPrice =\r\n                  specificationPrice + Number(specification.price);\r\n                specificationPriceTotal =\r\n                  specificationPriceTotal + Number(specification.price);\r\n                specificationItemCartList.push(specification);\r\n              }\r\n            }\r\n          );\r\n\r\n          if (specificationItemCartList.length > 0) {\r\n            let specificationsItem_json = {\r\n              list: specificationItemCartList,\r\n              unique_id: specification_group.unique_id,\r\n              name: specification_group.name,\r\n              price: specificationPrice,\r\n              is_required: specification_group.is_required,\r\n              formule_id: specification_group.formule_id,\r\n              min_selection: specification_group.min_selection,\r\n              max_selection: specification_group.max_selection,\r\n              type: specification_group.type,\r\n            };\r\n            specificationList.push(specificationsItem_json);\r\n          }\r\n          specificationPrice = 0;\r\n        }\r\n      }\r\n    );\r\n\r\n    this.cartProductItems.item_id = this.current_item._id;\r\n    this.cartProductItems.unique_id = this.current_item.unique_id;\r\n    this.cartProductItems.item_name = this.current_item.name;\r\n    this.cartProductItems.quantity = this.qty;\r\n    this.cartProductItems.image_url = this.current_item.image_url;\r\n    this.cartProductItems.details = this.current_item.details;\r\n    this.cartProductItems.specifications = specificationList;\r\n    this.cartProductItems.item_price = this.current_item.price;\r\n    this.cartProductItems.total_specification_price = specificationPriceTotal;\r\n    this.cartProductItems.total_item_and_specification_price = this.total;\r\n    this.cartProductItems.note_for_item = this.note_for_item;\r\n    //this.cartProductItems.note_for_item = this.note_for_item;\r\n\r\n    if (this.current_formule.formule_id) {\r\n      this.cartProductItems.formule_list = [this.current_formule];\r\n      this.cartProductItems.item_price = Number(this.current_formule.price);\r\n      this.cartProductItems.item_name = this.current_formule.name;\r\n    }\r\n\r\n    this.helper.user_cart.total_cart_amount =\r\n      this.helper.user_cart.total_cart_amount + this.total;\r\n\r\n    if (this.isProductExistInLocalCart(this.cartProductItems)) {\r\n    } else {\r\n      let cartProductItemsList = [];\r\n      cartProductItemsList.push(this.cartProductItems);\r\n      this.cartProducts.items = cartProductItemsList;\r\n      this.cartProducts.product_id = this.current_item.product_id;\r\n      this.cartProducts.product_name = this.product_name;\r\n      this.cartProducts.unique_id = this.product_unique_id;\r\n      this.cartProducts.total_item_price = this.total;\r\n\r\n      this.helper.user_cart.cart_data.cart.push(this.cartProducts);\r\n      this.helper.user_cart.cart_data.selectedStoreId = this.store_id;\r\n      var store = JSON.parse(localStorage.getItem(\"store\"));\r\n\r\n      this.helper.user_cart.cart_data.total_item++;\r\n    }\r\n\r\n    this.current_item = { image_url: [] };\r\n    this.cartProductItems = {\r\n      item_id: null,\r\n      unique_id: 0,\r\n      item_name: \"\",\r\n      quantity: 0,\r\n      image_url: [],\r\n      details: \"\",\r\n      specifications: [],\r\n      formule_list: [],\r\n      item_price: 0,\r\n      total_specification_price: 0,\r\n      total_item_and_specification_price: 0,\r\n      note_for_item: \"\",\r\n      //note_for_item: ''\r\n    };\r\n    this.cartProducts = {\r\n      items: [],\r\n      product_id: null,\r\n      product_name: \"\",\r\n      unique_id: 0,\r\n      total_item_price: 0,\r\n    };\r\n\r\n    this.item_modal.close();\r\n  }\r\n\r\n  isProductExistInLocalCart(cartProductItems) {\r\n    let bool = false;\r\n    this.helper.user_cart.cart_data.cart.forEach((cart_item) => {\r\n      if (\r\n        cart_item.product_id == this.current_item.product_id &&\r\n        bool == false\r\n      ) {\r\n        cart_item.items.push(cartProductItems);\r\n        cart_item.total_item_price = cart_item.total_item_price + this.total;\r\n        this.helper.user_cart.cart_data.total_item++;\r\n        bool = true;\r\n      }\r\n    });\r\n    return bool;\r\n  }\r\n\r\n  checkbag() {\r\n    if (this.helper.user_cart.cart_data.total_item > 0) {\r\n      jQuery(\"#outbox\").toggle();\r\n    }\r\n  }\r\n\r\n  get_distnce_time() {\r\n    let google_distance = 0;\r\n    let google_time = 0;\r\n    let origin: any = {\r\n      lat: parseFloat(this.store_location[0]),\r\n      lng: parseFloat(this.store_location[1]),\r\n    };\r\n    let destination: any = {\r\n      lat: parseFloat(this.delivery_location[0]),\r\n      lng: parseFloat(this.delivery_location[1]),\r\n    };\r\n\r\n    let service = new google.maps.DistanceMatrixService();\r\n    service.getDistanceMatrix(\r\n      {\r\n        origins: [origin],\r\n        destinations: [destination],\r\n        unitSystem: google.maps.UnitSystem.METRIC,\r\n        avoidHighways: true,\r\n        avoidTolls: true,\r\n        travelMode: google.maps.TravelMode.DRIVING,\r\n      },\r\n      (response, status) => {\r\n        if (status == google.maps.DistanceMatrixStatus.OK) {\r\n          google_distance = response.rows[0].elements[0].distance.value;\r\n          google_time = response.rows[0].elements[0].duration.value;\r\n          this.get_order_invoice(google_distance, google_time);\r\n        } else {\r\n          this.get_order_invoice(google_distance, google_time);\r\n        }\r\n      }\r\n    );\r\n  }\r\n\r\n  add_to_cart() {\r\n    var store = this.store_detail;\r\n    if (store !== null) {\r\n      this.helper.user_cart.destination_address.user_details.email =\r\n        this.user_data.email;\r\n      this.helper.user_cart.destination_address.user_details.country_phone_code =\r\n        this.user_data.country_phone_code;\r\n      this.helper.user_cart.destination_address.user_details.phone =\r\n        this.user_data.phone;\r\n      this.helper.user_cart.destination_address.user_details.name =\r\n        this.user_data.first_name + \" \" + this.user_data.last_name;\r\n      if (!this.helper.user_cart.cart_data.destination_addresses) {\r\n        this.helper.user_cart.cart_data.destination_addresses = [];\r\n      }\r\n      this.helper.user_cart.cart_data.destination_addresses.push(\r\n        this.helper.user_cart.destination_address\r\n      );\r\n\r\n      this.helper.user_cart.pickup_address.location = store.location;\r\n      this.helper.user_cart.pickup_address.address = store.address;\r\n      this.helper.user_cart.pickup_address.user_details.email = store.email;\r\n      this.helper.user_cart.pickup_address.user_details.country_phone_code =\r\n        store.country_phone_code;\r\n      this.helper.user_cart.pickup_address.user_details.phone = store.phone;\r\n      this.helper.user_cart.pickup_address.user_details.name = store.name;\r\n      if (!this.helper.user_cart.cart_data.pickup_addresses) {\r\n        this.helper.user_cart.cart_data.pickup_addresses = [];\r\n      }\r\n      this.helper.user_cart.cart_data.pickup_addresses.push(\r\n        this.helper.user_cart.pickup_address\r\n      );\r\n    }\r\n    let json = {\r\n      user_id: this.user_data.user_id,\r\n      type: this.helper.ADMIN_DATA_ID.ADMIN,\r\n      server_token: \"\",\r\n      user_type: this.helper.ADMIN_DATA_ID.STORE,\r\n      store_id: this.is_odh\r\n        ? this.store_id\r\n        : this.helper.user_cart.cart_data.selectedStoreId,\r\n      cart_unique_token: this.helper.user_cart.cart_unique_token,\r\n      order_details: this.is_odh ? [] : this.helper.user_cart.cart_data.cart,\r\n      destination_addresses:\r\n        this.helper.user_cart.cart_data.destination_addresses,\r\n      pickup_addresses: this.helper.user_cart.cart_data.pickup_addresses,\r\n      cart_id: \"\",\r\n    };\r\n    if (this.helper.user_cart.cart_data.cart_id !== \"\") {\r\n      json.cart_id = this.helper.user_cart.cart_data.cart_id;\r\n    } else {\r\n      delete json.cart_id;\r\n    }\r\n    this.myLoading = true;\r\n    this.helper.http\r\n      .post(this.helper.POST_METHOD.ADD_ITEM_IN_CART, json)\r\n      .map((res_data: Response) => res_data.json())\r\n      .subscribe(\r\n        (res_data) => {\r\n          this.myLoading = false;\r\n\r\n          if (res_data.success) {\r\n            this.user_data.user_id = res_data.user_id;\r\n            this.helper.user_cart.cart_data.cart_id = res_data.cart_id;\r\n            this.helper.user_cart.cart_data.city_id = res_data.city_id;\r\n            this.get_distnce_time();\r\n          } else {\r\n            this.helper.data.storage = {\r\n              message: this.helper.ERROR_CODE[res_data.error_code],\r\n              class: \"alert-danger\",\r\n            };\r\n          }\r\n          this.helper.message();\r\n        },\r\n        (error: any) => {\r\n          this.helper.http_status(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  get_order_invoice(google_distance, google_time) {\r\n    this.myLoading = true;\r\n    let totalItemsCount = 0;\r\n    this.google_distance = google_distance;\r\n    this.google_time = google_time;\r\n    this.helper.user_cart.cart_data.cart.forEach((cart_product) => {\r\n      cart_product.items.forEach((cart_item) => {\r\n        totalItemsCount += cart_item.quantity;\r\n      });\r\n    });\r\n    console.log(this.user_data);\r\n\r\n    let get_order_cart_invoice_json = {\r\n      user_id: this.user_data.user_id,\r\n      type: this.helper.ADMIN_DATA_ID.ADMIN,\r\n      cart_unique_token: this.cart_unique_token,\r\n      total_distance: google_distance,\r\n      total_time: google_time,\r\n      store_id: this.is_odh\r\n        ? this.store_id\r\n        : this.helper.user_cart.cart_data.selectedStoreId,\r\n      total_cart_price: this.is_odh\r\n        ? this.total_cart_amount\r\n        : this.helper.user_cart.total_cart_amount,\r\n      total_item_count: totalItemsCount,\r\n      is_user_pick_up_order: this.ipickup_delivery,\r\n    };\r\n\r\n    this.helper.http\r\n      .post(\r\n        this.helper.POST_METHOD.GET_ORDER_CART_INVOICE,\r\n        get_order_cart_invoice_json\r\n      )\r\n      .map((res_data: Response) => res_data.json())\r\n      .subscribe(\r\n        (res_data) => {\r\n          this.myLoading = false;\r\n          if (res_data.success) {\r\n            this.helper.ngZone.run(() => {\r\n              this.is_veiw_invoice = true;\r\n              this.show_add_card = false;\r\n\r\n              this.order_payment = res_data.order_payment;\r\n              this.helper.user_cart.order_payment_id =\r\n                res_data.order_payment._id;\r\n              // this.user_data_modal.close();\r\n              if (this.helper.user_cart.is_schedule_order) {\r\n                // this.check_valid_time()\r\n              } else {\r\n                let date: any = res_data.server_time;\r\n                date = new Date(date).toLocaleString(\"en-US\", {\r\n                  timeZone: res_data.timezone,\r\n                });\r\n                date = new Date(date);\r\n                // this.check_open(date, true);\r\n              }\r\n              setTimeout(() => {\r\n                jQuery(\".is_payment_mode_cash\").iCheck({\r\n                  handle: \"radio\",\r\n                  radioClass: \"iradio_square-green\",\r\n                });\r\n                jQuery(\"#is_payment_mode_cash1\").iCheck(\"check\");\r\n                jQuery(\".is_payment_mode_cash\").on(\"ifChecked\", (event) => {\r\n                  var id = event.target.getAttribute(\"value\");\r\n                  this.is_send_invoice = false;\r\n                  this.is_use_wallet = false;\r\n                  this.is_hubrise_order = false;\r\n                  if (id == 2) {\r\n                    this.is_payment_mode_cash = true;\r\n                    this.is_use_wallet = true;\r\n                  } else if (id == 0) {\r\n                    this.is_payment_mode_cash = true;\r\n                  } else if (id == 4) {\r\n                    this.is_payment_mode_cash = true;\r\n                    this.is_hubrise_order = true;\r\n                  } else if (id == 3) {\r\n                    this.is_payment_mode_cash = false;\r\n                    this.is_send_invoice = true;\r\n                  } else {\r\n                    this.is_payment_mode_cash = false;\r\n                  }\r\n                });\r\n              }, 1000);\r\n            });\r\n          } else {\r\n            this.helper.data.storage = {\r\n              message: this.helper.ERROR_CODE[res_data.error_code],\r\n              class: \"alert-danger\",\r\n            };\r\n            this.helper.message();\r\n          }\r\n        },\r\n        (error: any) => {\r\n          this.myLoading = false;\r\n          this.helper.http_status(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  pay_order_payment() {\r\n    this.myLoading = true;\r\n\r\n    if (this.is_payment_mode_cash || this.is_send_invoice) {\r\n      let json = {\r\n        user_id: this.user_data.user_id,\r\n        order_type: this.helper.ADMIN_DATA_ID.STORE,\r\n        order_payment_id: this.helper.user_cart.order_payment_id,\r\n        is_payment_mode_cash: this.is_payment_mode_cash,\r\n        is_send_invoice: this.is_send_invoice,\r\n        is_use_wallet: this.is_use_wallet,\r\n      };\r\n      this.helper.http\r\n        .post(this.helper.POST_METHOD.PAY_ORDER_PAYMENT, json)\r\n        .map((res_data: Response) => res_data.json())\r\n        .subscribe(\r\n          (res_data) => {\r\n            if (res_data.success) {\r\n              this.create_order_service();\r\n            } else {\r\n              this.myLoading = false;\r\n              this.helper.data.storage = {\r\n                message:\r\n                  res_data.error_message ||\r\n                  this.helper.ERROR_CODE[res_data.error_code],\r\n                class: \"alert-danger\",\r\n              };\r\n              this.helper.message();\r\n            }\r\n          },\r\n          (error: any) => {\r\n            this.myLoading = false;\r\n            this.helper.http_status(error);\r\n          }\r\n        );\r\n    } else {\r\n      let json = {\r\n        user_id: this.user_data.user_id,\r\n        order_type: this.helper.ADMIN_DATA_ID.STORE,\r\n        order_payment_id: this.helper.user_cart.order_payment_id,\r\n        is_payment_mode_cash: this.is_payment_mode_cash,\r\n        is_send_invoice: this.is_send_invoice,\r\n      };\r\n      this.helper.http\r\n        .post(this.helper.POST_METHOD.GET_STRIPE_PAYMENT_INTENT, json)\r\n        .map((res_data: Response) => res_data.json())\r\n        .subscribe(\r\n          (res_data) => {\r\n            if (res_data.success) {\r\n              if (res_data.is_payment_paid) {\r\n                this.helper.http\r\n                  .post(this.helper.POST_METHOD.PAY_ORDER_PAYMENT, json)\r\n                  .map((res_data: Response) => res_data.json())\r\n                  .subscribe(\r\n                    (res_data) => {\r\n                      console.log(res_data);\r\n                      if (res_data.success) {\r\n                        this.create_order_service();\r\n                      } else {\r\n                        this.myLoading = false;\r\n                        this.helper.data.storage = {\r\n                          message: this.helper.ERROR_CODE[res_data.error_code],\r\n                          class: \"alert-danger\",\r\n                        };\r\n                        this.helper.message();\r\n                      }\r\n                    },\r\n                    (error: any) => {\r\n                      this.myLoading = false;\r\n                      this.helper.http_status(error);\r\n                    }\r\n                  );\r\n              } else {\r\n                stripe\r\n                  .confirmCardPayment(res_data.client_secret, {\r\n                    payment_method: res_data.payment_method,\r\n                  })\r\n                  .then((result) => {\r\n                    console.log(result);\r\n                    if (result.paymentIntent) {\r\n                      this.helper.http\r\n                        .post(this.helper.POST_METHOD.PAY_ORDER_PAYMENT, json)\r\n                        .map((res_data: Response) => res_data.json())\r\n                        .subscribe(\r\n                          (res_data) => {\r\n                            console.log(res_data);\r\n                            if (res_data.success) {\r\n                              this.create_order_service();\r\n                            } else {\r\n                              this.myLoading = false;\r\n                              this.helper.data.storage = {\r\n                                message:\r\n                                  this.helper.ERROR_CODE[res_data.error_code],\r\n                                class: \"alert-danger\",\r\n                              };\r\n                              this.helper.message();\r\n                            }\r\n                          },\r\n                          (error: any) => {\r\n                            this.myLoading = false;\r\n                            this.helper.http_status(error);\r\n                          }\r\n                        );\r\n                    } else {\r\n                      this.myLoading = false;\r\n                      this.helper.data.storage = {\r\n                        message: result.error.message,\r\n                        class: \"alert-danger\",\r\n                      };\r\n                      this.helper.message();\r\n                    }\r\n                  });\r\n              }\r\n            } else {\r\n              this.myLoading = false;\r\n              this.helper.data.storage = {\r\n                message: this.helper.ERROR_CODE[res_data.error_code],\r\n                class: \"alert-danger\",\r\n              };\r\n              this.helper.message();\r\n            }\r\n          },\r\n          (error: any) => {\r\n            this.myLoading = false;\r\n            this.helper.http_status(error);\r\n          }\r\n        );\r\n    }\r\n  }\r\n\r\n  create_order_service() {\r\n    let selected_date = this.helper.user_cart.schedule_date;\r\n    let milisecond = 0;\r\n    var date = new Date();\r\n\r\n    if (this.helper.user_cart.is_schedule_order) {\r\n      milisecond = selected_date.getTime();\r\n    }\r\n    console.log(this.is_hubrise_order);\r\n    let json = {\r\n      user_id: this.user_data.user_id,\r\n      cart_id: this.helper.user_cart.cart_data.cart_id,\r\n      delivery_note: this.helper.user_cart.delivery_note,\r\n      order_type: this.user_type,\r\n      is_hubrise_order: this.is_hubrise_order,\r\n      created_by: \"Admin\",\r\n      is_user_pick_up_order: this.ipickup_delivery,\r\n      is_schedule_order: this.helper.user_cart.is_schedule_order,\r\n      order_start_at: milisecond,\r\n    };\r\n    this.helper.http\r\n      .post(this.helper.POST_METHOD.CREATE_ORDER, json)\r\n      .map((res_data: Response) => res_data.json())\r\n      .subscribe((res_data) => {\r\n        this.myLoading = false;\r\n        if (res_data.success) {\r\n          this.total_cart_amount = null;\r\n          this.helper.router_id.admin.order_id = null;\r\n          this.helper.user_cart.cart_data = {\r\n            cart_id: null,\r\n            city_id: null,\r\n            pickup_addresses: [],\r\n            destination_addresses: [],\r\n            cart: [],\r\n            selectedStoreId: null,\r\n            total_item: 0,\r\n          };\r\n          this.helper.user_cart.total_cart_amount = 0;\r\n          this.helper.user_cart.order_payment_id = null;\r\n          this.helper.user_cart.cart_data.cart_id = null;\r\n          this.helper.user_cart.cart_unique_token = UUID.UUID();\r\n\r\n          if (this.is_payment_mode_cash || this.is_send_invoice) {\r\n            console.log(\"the order was well done\");\r\n            this.helper.data.storage = {\r\n              message: \"the order was well done\",\r\n              class: \"alert-info\",\r\n            };\r\n            // this.helper.message();\r\n          } else {\r\n            console.log(\"payment was successful the order was well done\");\r\n            this.helper.data.storage = {\r\n              message: \"payment was successful the order was well done\",\r\n              class: \"alert-info\",\r\n            };\r\n            // this.helper.message();\r\n          }\r\n          if (\r\n            !this.ipickup_delivery &&\r\n            !this.helper.user_cart.is_schedule_order\r\n          ) {\r\n            this.orderAssignProvider(res_data.order_id);\r\n          }\r\n          this.ngOnInit();\r\n        } else {\r\n          this.helper.data.storage = {\r\n            message: this.helper.ERROR_CODE[res_data.error_code],\r\n            class: \"alert-danger\",\r\n          };\r\n          this.helper.message();\r\n        }\r\n      });\r\n  }\r\n\r\n  orderAssignProvider(order_id) {\r\n    this.myLoading = true;\r\n    let json;\r\n    var store = this.store_detail;\r\n    if (store.is_ask_estimated_time_for_ready_order) {\r\n      json = {\r\n        store_id: this.store_id,\r\n        type: this.helper.ADMIN_DATA_ID.ADMIN,\r\n        order_id: order_id,\r\n        estimated_time_for_ready_order: 0,\r\n      };\r\n    } else {\r\n      json = {\r\n        store_id: this.store_id,\r\n        type: this.helper.ADMIN_DATA_ID.ADMIN,\r\n        order_id: order_id,\r\n      };\r\n    }\r\n    this.helper.http\r\n      .post(this.helper.POST_METHOD.CREATE_REQUEST, json)\r\n      .map((res: Response) => res.json())\r\n      .subscribe(\r\n        (res_data) => {\r\n          this.myLoading = false;\r\n        },\r\n        (error: any) => {\r\n          this.myLoading = false;\r\n          this.helper.http_status(error);\r\n        }\r\n      );\r\n  }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/store_create_order/store_create_order.component.ts","import { Component, OnInit, ElementRef, NgZone, ViewChild  } from '@angular/core';\r\n// import { MapsAPILoader } from 'angular2-google-maps/core';\r\nimport {Helper} from \"../../store_helper\";\r\nimport {Response } from '@angular/http';\r\n\r\n@Component({\r\n    selector: 'app-track_delivery_man',\r\n    styles: [`\r\n      .sebm-google-map-container {\r\n        height: 600px;\r\n        width:100%;\r\n      }\r\n    `],\r\n    template: require('./track_delivery_man.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class StoreTrackDeliveryManComponent implements OnInit {\r\n\r\n\r\n    public latitude: number;\r\n    public longitude: number;\r\n    public zoom: number;\r\n    public store_id: Object;\r\n    public request_id: Object;\r\n    public server_token: string;\r\n    public numDeltas : number;\r\n    public delay : number; //milliseconds\r\n    public i : number;\r\n    old_lat_lng: any[];\r\n    new_lat_lng: any[];\r\n    interval:any;\r\n    provider_name : string = '';\r\n    provider_email : string = '';\r\n    provider_phone : string = '';\r\n    icon: string = '';\r\n    title:any;\r\n    message:any;\r\n    heading_title:any;\r\n    button:any;\r\n    myLoading:boolean = true;\r\n\r\n    constructor(private helper:Helper)\r\n    {\r\n\r\n    }\r\n\r\n    ngOnInit() {\r\n        let token = this.helper.tokenService.getToken();\r\n        if(!token || !token.token) {\r\n            this.helper.router.navigate(['store/login']);\r\n        }\r\n        var store = JSON.parse(localStorage.getItem('store'));\r\n        if(store!==null)\r\n        {\r\n            this.store_id=store._id\r\n            this.server_token=store.server_token\r\n        }\r\n        this.request_id = this.helper.router_id.store.order_id\r\n        this.zoom = 4;\r\n        this.numDeltas=100;\r\n        this.delay=100;\r\n        this.icon=\"map_pin/destination.png\";\r\n\r\n        this.title=this.helper.title;\r\n        this.message=this.helper.message;\r\n        this.heading_title=this.helper.heading_title\r\n        this.button=this.helper.button\r\n\r\n        if(this.request_id !== \"\")\r\n        {\r\n          this.helper.http.post(this.helper.POST_METHOD.PROVIDER_LOCATION_TRACK,{request_id:this.request_id,store_id:this.store_id, server_token:this.server_token}).map((res_data: Response) => res_data.json()) .subscribe(res_data => {\r\n            this.myLoading=false;\r\n            if(res_data.success == false)\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.router.navigate(['store/deliveries']);\r\n            }\r\n            else\r\n            {\r\n              this.latitude = res_data.provider.location[0];\r\n              this.longitude = res_data.provider.location[1];\r\n              this.zoom = 12;\r\n              this.old_lat_lng=[this.latitude,this.longitude ];\r\n              this.provider_name=res_data.provider.first_name + ' ' +res_data.provider.last_name;\r\n              this.provider_email=res_data.provider.email;\r\n              this.provider_phone=res_data.provider.phone;\r\n              // this.mapsAPILoader.load().then(() => {  });\r\n\r\n              this.provider_location()\r\n            }\r\n          },\r\n          (error: any) => {\r\n            this.myLoading=false;\r\n                  this.helper.http_status(error)\r\n          });\r\n\r\n        }\r\n        else{\r\n          \r\n            this.helper.router.navigate(['store/deliveries']);\r\n        }\r\n\r\n    }\r\n    ngOnDestroy() {\r\n        clearInterval(this.interval);\r\n    }\r\n\r\n    provider_location()\r\n        {\r\n          var lat;\r\n          var lng;\r\n          this.interval=setInterval(() => {\r\n\r\n\r\n              this.helper.http.post(this.helper.POST_METHOD.PROVIDER_LOCATION_TRACK,{request_id:this.request_id,store_id:this.store_id, server_token:this.server_token}).map((res_data: Response) => res_data.json()) .subscribe(res_data => {\r\n\r\n                if(res_data.success == false)\r\n                {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.router.navigate(['store/order']);\r\n                }\r\n                else\r\n                {\r\n                      this.i=0;\r\n                      this.new_lat_lng=res_data.provider.location;\r\n                      this.provider_name=res_data.provider.first_name + ' ' +res_data.provider.last_name;\r\n                      this.provider_email=res_data.provider.email;\r\n                      this.provider_phone=res_data.provider.phone;\r\n\r\n                      if(this.new_lat_lng[0] == this.old_lat_lng[0] && this.new_lat_lng[1] == this.old_lat_lng[1])\r\n                      {\r\n                          lat=0;\r\n                          lng=0;\r\n                          this.moveMarker(lat, lng);\r\n                      }\r\n                      else\r\n                      {\r\n                        lat = (this.new_lat_lng[0] - this.old_lat_lng[0])/ this.numDeltas;\r\n                        lng = (this.new_lat_lng[1] - this.old_lat_lng[1])/ this.numDeltas;\r\n                      \r\n                        this.moveMarker(lat, lng);\r\n                      }\r\n                }\r\n              },\r\n              (error: any) => {\r\n                      this.helper.http_status(error)\r\n              });\r\n          },10000);\r\n      }\r\n    setCurrentPosition() {\r\n        if (\"geolocation\" in navigator) {\r\n            navigator.geolocation.getCurrentPosition((position) => {\r\n                this.latitude = position.coords.latitude;\r\n                this.longitude = position.coords.longitude;\r\n                this.zoom = 12;\r\n                this.old_lat_lng=[this.latitude,this.longitude];\r\n            });\r\n        }\r\n    }\r\n    moveMarker(lat, lng){\r\n\r\n        if(this.i!==this.numDeltas){\r\n            this.i++;\r\n\r\n            this.latitude += lat;\r\n            this.longitude += lng;\r\n\r\n            setTimeout(()=> {\r\n                this.moveMarker(lat,lng)\r\n            }, 100);\r\n        }\r\n        else{\r\n          this.old_lat_lng = this.new_lat_lng;\r\n        }\r\n    }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/track_delivery_man/track_delivery_man.component.ts","import { Component, OnInit,ViewContainerRef} from '@angular/core';\r\nimport {Response } from '@angular/http';\r\nimport {Helper} from \"../../store_helper\";\r\ndeclare var jQuery:any;\r\n\r\nexport interface Document{\r\n    unique_code: String,\r\n    expired_date: any,\r\n    image_url:''\r\n}\r\n\r\n@Component({\r\n  selector: 'app-upload_document',\r\n  template: require('./upload_document.component.html'),\r\n  providers: [Helper]\r\n})\r\nexport class StoreUploadDocumentComponent implements OnInit {\r\n\r\n\ttitle:any;\r\n    button:any;\r\n    heading_title:any;\r\n    validation_message:any;\r\n    store_id:Object;\r\n    server_token:string;\r\n    edit_document:any[] = [];\r\n    document_list:any[] = [];\t\r\n    old_image_url:string = '';\r\n    error_message:number = 0;\r\n\r\n    myLoading:boolean = true;\r\n\r\n    private documentlist: Document;\t\r\n\r\n  \tconstructor(public helper: Helper, public vcr: ViewContainerRef){\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n  \tngOnInit() {\r\n  \t\tlet token = this.helper.tokenService.getToken();\r\n\r\n        if(!token || !token.token) {\r\n\r\n            this.helper.router.navigate(['store/login']);\r\n        }\r\n        this.helper.message()\r\n\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.heading_title=this.helper.heading_title\r\n        this.validation_message=this.helper.validation_message;\r\n\r\n        this.documentlist ={\r\n        \tunique_code:'',\r\n            expired_date:null,\r\n            image_url:''\r\n        }\r\n\r\n        var store = JSON.parse(localStorage.getItem('store'));\r\n        if(store!==null)\r\n        {\r\n        \tthis.store_id=store._id\r\n            this.server_token=store.server_token\r\n        }\r\n\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_DOCUMENT_LIST,{type:2 ,id:this.store_id, server_token:this.server_token}).map((res_data: Response) => res_data.json()) .subscribe(res_data => {\r\n          \r\n          this.myLoading=false;\r\n        \tif(res_data.success == false)\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message();\r\n                this.document_list=[];\r\n            }\r\n            else\r\n            {\r\n                this.document_list=res_data.documents;\r\n                this.document_list.forEach( (document , index) => {\r\n                    this.edit_document[index]=\"false\";\r\n\r\n                    this.get_document_image(document.image_url ,index)\r\n                })\r\n\r\n\r\n            }\r\n        },\r\n        (error: any) => {\r\n          this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n  \t}\r\n\r\n  \tpublic formData = new FormData();\r\n\r\n    image_update($event , document_index) {\r\n\r\n        this.formData = new FormData();\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const image_url = files[0];\r\n        this.formData.append('image_url', image_url);\r\n\r\n        var reader = new FileReader();\r\n\r\n        reader.onload =  (e : any) => {\r\n            this.document_list[document_index].image_url = e.target.result;\r\n            this.documentlist.image_url=e.target.result;\r\n            jQuery('.document'+document_index).attr('src' , e.target.result)\r\n        }\r\n        reader.readAsDataURL(image_url);\r\n\r\n    }\r\n\r\n  \teditDocument(document , document_index)\r\n  \t{\r\n        this.get_document_image(document.image_url ,document_index);\r\n        this.old_image_url=document.image_url;\r\n        this.edit_document.fill(\"\")\r\n        this.edit_document[document_index]=\"true\"\r\n        this.documentlist.unique_code=document.unique_code;\r\n        this.documentlist.image_url=document.image_url;\r\n        if(document.expired_date != null)\r\n        {\r\n        \tvar date = new Date(document.expired_date);\r\n        \tthis.documentlist.expired_date = { date: { year: date.getFullYear(), month: date.getMonth()+1, day: date.getDate() }   , formatted:date.getMonth()+1 + '-' +  date.getDate() + '-' + date.getFullYear()};\r\n\r\n        }\r\n  \t}\r\n\r\n  \tget_document_image(url ,document_index)\r\n    {\r\n        if(url == '')\r\n        {\r\n            jQuery('.document'+document_index).attr('src' , 'default.png')\r\n        } else {\r\n            var oReq = new XMLHttpRequest();\r\n            oReq.open(\"GET\", url, true);\r\n            oReq.setRequestHeader(\"token\", this.server_token);\r\n            oReq.responseType = \"blob\";\r\n            oReq.onload = function (oEvent) {\r\n                var arrayBuffer = oReq.response; // Note: not oReq.responseText\r\n                if (arrayBuffer) {\r\n                    jQuery('.document' + document_index).attr('src', URL.createObjectURL(arrayBuffer));\r\n                } else {\r\n                    jQuery('.document' + document_index).attr('src', 'default.png');\r\n                }\r\n            };\r\n            oReq.send(null);\r\n        }\r\n    }\r\n\r\n  \tupdateDocument(document , document_index)\r\n  \t{   \r\n         if(this.documentlist.image_url == '')\r\n         {\r\n             this.error_message=1;\r\n         }\r\n         else if(document.document_details.is_expired_date && this.documentlist.expired_date == null)\r\n         {\r\n             this.error_message=2;\r\n         }\r\n         else if(document.document_details.is_unique_code && this.documentlist.unique_code == '')\r\n         {\r\n             this.error_message=3;\r\n         }\r\n         else\r\n         {\r\n           this.myLoading=true;\r\n             this.error_message=0;\r\n              this.formData.append('type', 2);\r\n              this.formData.append('unique_code',this.documentlist.unique_code);\r\n              this.formData.append('document_id',document._id);\r\n              this.formData.append('id',this.store_id);\r\n              this.formData.append('server_token',this.server_token);\r\n              if(this.documentlist.expired_date != null)\r\n              {\r\n                  this.formData.append('expired_date',this.documentlist.expired_date.formatted);\r\n              }\r\n\r\n            this.helper.http.post(this.helper.POST_METHOD.UPLOAD_DOCUMENT,this.formData).map((res_data: Response) => res_data.json()) .subscribe(res_data => {\r\n\r\n              this.formData = new FormData();\r\n              this.edit_document.fill(\"false\")\r\n              this.myLoading=false;\r\n              if(res_data.success)\r\n              {\r\n                this.document_list[document_index].image_url = res_data.image_url;\r\n\r\n                  this.get_document_image( res_data.image_url, document_index)\r\n\r\n                this.document_list[document_index].unique_code = res_data.unique_code;\r\n\r\n                this.document_list[document_index].expired_date = res_data.expired_date;\r\n                localStorage.setItem('store_document_ulpoaded', res_data.is_document_uploaded);\r\n\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.helper.message();\r\n                \r\n              }\r\n              else\r\n              {\r\n                  this.document_list[document_index].image_url = this.old_image_url;\r\n                  this.get_document_image( this.old_image_url, document_index)\r\n\r\n                  this.helper.data.storage = {\r\n                      \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                      \"class\": \"alert-danger\"\r\n                  }\r\n                  this.helper.message();\r\n              }\r\n            },\r\n            (error: any) => {\r\n              this.myLoading=false;\r\n                    this.helper.http_status(error)\r\n            });\r\n              \r\n         }\r\n  \t\t  \r\n  \t}\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/upload_document/upload_document.component.ts","import {Component, OnInit, ViewChild, ViewContainerRef} from '@angular/core';\r\nimport {Helper} from \"../../helper\";\r\nimport {Http, Response} from '@angular/http';\r\n// import {Helper} from \"../../store_helper\";\r\ndeclare var jQuery: any;\r\nimport {ModalComponent} from 'ng2-bs3-modal/ng2-bs3-modal';\r\n\r\nexport interface Document {\r\n    unique_code: String,\r\n    expired_date: any,\r\n    image_url: ''\r\n}\r\n\r\n@Component({\r\n    selector: 'app-user',\r\n    template: require('./user.component.html'),\r\n    providers: [Helper]\r\n})\r\n\r\nexport class StoreUserComponent implements OnInit {\r\n\r\n    @ViewChild('myModal')\r\n    modal: ModalComponent;\r\n    @ViewChild('mysmsModal')\r\n    sms_modal: ModalComponent;\r\n    @ViewChild('mynotificationModal')\r\n    notification_modal: ModalComponent;\r\n    @ViewChild('document_full_image')\r\n    document_full_image: ModalComponent;\r\n\r\n    user_list: any;\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    search_field: string;\r\n    search_value: string;\r\n    page: number;\r\n    number_of_rec: number = 10;\r\n    total_page: number;\r\n    total_pages: number[];\r\n\r\n\r\n    user_page_type: number;\r\n    user_id: Object;\r\n    type: number;\r\n    wallet: number;\r\n    content: string;\r\n    amount: number;\r\n    public message: string = \"\";\r\n    public class: string;\r\n    myLoading: boolean = true;\r\n    user_detail: any = {};\r\n    is_edit: boolean = false;\r\n    formData = new FormData();\r\n    selected_tab: number = 1;\r\n\r\n    document_list: any[] = [];\r\n    edit_document: any[] = [];\r\n    old_image_url: string = '';\r\n    error_message: number = 0;\r\n    private documentlist: Document;\r\n    referral_history: any[] = [];\r\n    review_list: any[] = [];\r\n    selected_document_index: number;\r\n    store_id:Object;\r\n    server_token:string;\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    ngOnInit() {\r\n        jQuery(\".chosen-select\").chosen({disable_search: true});\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n\r\n        var store = JSON.parse(localStorage.getItem('store'));\r\n\r\n        if(store!==null)\r\n        {\r\n            this.store_id= store._id;\r\n            this.server_token= store.server_token;\r\n        }\r\n\r\n        this.documentlist = {\r\n            unique_code: '',\r\n            expired_date: null,\r\n            image_url: ''\r\n        }\r\n\r\n        this.helper.message()\r\n        this.search_field = \"user_detail.first_name\";\r\n        this.search_value = \"\";\r\n        this.page = 1;\r\n\r\n        if (this.helper.route.snapshot.url[1].path == 'users') {\r\n            this.user_page_type = 1;\r\n        }\r\n        else if (this.helper.route.snapshot.url[1].path == 'declined_user') {\r\n            this.user_page_type = 2;\r\n        }\r\n        this.user_id = \"\";\r\n        this.filter(this.page);\r\n\r\n        this.type = 7;\r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.user_list = [];\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#search_field').on('change', (evnt, res_data) => {\r\n            this.search_field = res_data.selected;\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#number_of_rec').on('change', (evnt, res_data) => {\r\n            this.number_of_rec = res_data.selected;\r\n            this.filter(1)\r\n        });\r\n    }\r\n\r\n    change_page_type(user_page_type){\r\n        this.user_page_type = user_page_type;\r\n        this.filter(1);\r\n    }\r\n\r\n    view_user_history(){\r\n        this.helper.router_id.admin.user_detail = this.user_detail;\r\n        this.helper.router.navigate(['admin/user_summary']);\r\n    }\r\n\r\n    filter(page) {\r\n        this.page = page;\r\n        this.helper.http.post('/store/user_list_search_sort', {\r\n            store_id: this.store_id, server_token: this.server_token,\r\n            user_page_type: this.user_page_type, number_of_rec: this.number_of_rec,\r\n            search_field: this.search_field, search_value: this.search_value, page: this.page\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n                this.user_list = [];\r\n                this.total_pages = [];\r\n                this.user_detail = {};\r\n            }\r\n            else {\r\n                this.user_list = res_data.users;\r\n                this.total_page = res_data.pages;\r\n                this.total_pages = Array(res_data.pages).fill((x, i) => i).map((x, i) => i + 1)\r\n                if(this.user_list.length > 0){\r\n                    this.get_user_detail(this.user_list[0]._id);\r\n                } else {\r\n                    this.user_detail = {};\r\n                }\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    get_user_detail(id){\r\n        this.selected_tab = 1;\r\n        let index = this.user_list.findIndex((user)=>user._id==id);\r\n        this.user_detail = JSON.parse(JSON.stringify(this.user_list[index]));\r\n    }\r\n\r\n    change_image($event) {\r\n\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const image_url = files[0];\r\n\r\n        if (image_url.type == \"image/jpeg\" || image_url.type == \"image/jpg\" || image_url.type == \"image/png\") {\r\n            this.formData = new FormData();\r\n            this.formData.append('image_url', image_url);\r\n\r\n            var reader = new FileReader();\r\n\r\n            reader.onload = (e: any) => {\r\n                this.user_detail.image_url = e.target.result\r\n            }\r\n            reader.readAsDataURL(image_url);\r\n        }\r\n    }\r\n\r\n    update_user_detail(){\r\n        this.formData.append('user_id', this.user_detail._id);\r\n        this.formData.append('phone', this.user_detail.phone);\r\n        this.formData.append('email', this.user_detail.email);\r\n        this.formData.append('first_name', this.user_detail.first_name);\r\n        this.formData.append('last_name', this.user_detail.last_name);\r\n        this.formData.append('city', this.user_detail.city);\r\n        this.helper.http.post('/admin/update_user', this.formData).map((response: Response) => response.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            this.formData = new FormData();\r\n            if (res_data.success == false) {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n            } else {\r\n                let user_index = this.user_list.findIndex((x)=>x._id == this.user_detail._id);\r\n                this.user_list[user_index] = JSON.parse(JSON.stringify(this.user_detail));\r\n\r\n                this.is_edit = false;\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n            }\r\n            this.helper.message();\r\n        });\r\n    }\r\n\r\n    open_modal(type, id) {\r\n\r\n        this.user_id = id;\r\n        this.type = type;\r\n        this.modal.open();\r\n        this.wallet = null;\r\n    }\r\n\r\n    AddWallet(add_wallet_data) {\r\n        this.helper.http.post('/admin/add_wallet', add_wallet_data).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            if (res_data.success == true) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.modal.close();\r\n                this.helper.message();\r\n                var index = this.user_list.findIndex(x => x._id == add_wallet_data.user_id);\r\n                this.user_list[index].wallet = this.user_list[index].wallet + +Number(add_wallet_data.wallet).toFixed(2);\r\n\r\n\r\n            }\r\n            else {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message();\r\n            }\r\n        });\r\n    }\r\n\r\n\r\n\r\n\r\n    open_sms_modal(type, id) {\r\n\r\n        this.user_id = id;\r\n        this.type = type;\r\n        this.sms_modal.open();\r\n        this.content = \"\";\r\n    }\r\n    SendSms(sms_data) {\r\n        this.helper.http.post('/admin/send_sms', sms_data).map((res: Response) => res.json()).subscribe(res_data => {\r\n            if (res_data.success == true) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.sms_modal.close();\r\n                this.helper.message();\r\n            }\r\n            else {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message();\r\n            }\r\n\r\n        });\r\n    }\r\n\r\n    open_notification_modal(type, id) {\r\n\r\n        this.user_id = id;\r\n        this.type = type;\r\n        this.notification_modal.open();\r\n        this.content = \"\";\r\n    }\r\n    SendNotification(notification_data) {\r\n        this.helper.http.post('/admin/send_notification', notification_data).map((res: Response) => res.json()).subscribe(res_data => {\r\n            if (res_data.success == true) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.notification_modal.close();\r\n                this.helper.message();\r\n            }\r\n            else {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message();\r\n            }\r\n\r\n        });\r\n    }\r\n\r\n    approved_decline(user_page_type, user_id) {\r\n        this.helper.http.post('/admin/approve_decline_user', {\r\n            user_id: user_id,\r\n            user_page_type: user_page_type\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            let user_index = this.user_list.findIndex((x)=>x._id==user_id);\r\n            this.user_list.splice(user_index, 1);\r\n\r\n            if(this.user_list.length>0){\r\n                this.get_user_detail(this.user_list[0]._id);\r\n            } else{\r\n                this.user_detail = {};\r\n            }\r\n\r\n            if (res_data.success == false) {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n            }\r\n            else {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n            }\r\n            this.helper.message();\r\n        });\r\n    }\r\n\r\n    get_document_list(){\r\n        this.is_edit = false;\r\n        this.selected_tab = 2;\r\n        this.helper.http.post('/admin/view_document_list', {id: this.user_detail._id, type: 7}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n                this.document_list = [];\r\n            }\r\n            else {\r\n                this.document_list = res_data.documents;\r\n                this.document_list.forEach((document, index) => {\r\n                    this.edit_document[index] = \"false\";\r\n                    this.get_document_image(document.image_url, index)\r\n                })\r\n            }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading = false;\r\n            this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n    get_referral_history(){\r\n        this.is_edit = false;\r\n        this.selected_tab = 3;\r\n        this.myLoading = true;\r\n        this.helper.http.post('/admin/get_user_referral_history', {id: this.user_detail._id, type: 7}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n                this.referral_history = [];\r\n            }\r\n            else {\r\n                this.referral_history = res_data.referral_history;\r\n            }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading = false;\r\n            this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n    show_full_image(image_url, document_index){\r\n        this.selected_document_index = document_index;\r\n        this.document_full_image.open();\r\n        this.get_document_image(image_url, document_index);\r\n    }\r\n\r\n    get_review_history(){\r\n        this.is_edit = false;\r\n        this.selected_tab = 4;\r\n        this.myLoading = true;\r\n        this.helper.http.post('/admin/get_user_review_history', {user_id: this.user_detail._id}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n                this.review_list = [];\r\n            }\r\n            else {\r\n                this.review_list = res_data.review_list;\r\n            }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading = false;\r\n            this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n    Array(number){\r\n        var array = []\r\n        for(var i= 0; i< number; i++){\r\n            array.push(' ')\r\n        }\r\n        return array;\r\n    }\r\n\r\n    editDocument(document, document_index) {\r\n        this.get_document_image(document.image_url, document_index);\r\n        this.old_image_url = document.image_url;\r\n        this.edit_document.fill(\"\")\r\n        this.edit_document[document_index] = \"true\"\r\n        this.documentlist.unique_code = document.unique_code;\r\n        this.documentlist.image_url = document.image_url;\r\n        if (document.expired_date != null) {\r\n            var date = new Date(document.expired_date);\r\n            this.documentlist.expired_date = {date: {year: date.getFullYear(), month: date.getMonth() + 1, day: date.getDate()}, formatted: date.getMonth() + 1 + '-' + date.getDate() + '-' + date.getFullYear()};\r\n\r\n        }\r\n    }\r\n\r\n    image_update($event, document_index) {\r\n        this.formData = new FormData();\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const image_url = files[0];\r\n        this.formData.append('image_url', image_url);\r\n\r\n        var reader = new FileReader();\r\n\r\n        reader.onload = (e: any) => {\r\n            this.document_list[document_index].image_url = e.target.result;\r\n            this.documentlist.image_url = e.target.result;\r\n            jQuery('.document' + document_index).attr('src', e.target.result)\r\n        }\r\n        reader.readAsDataURL(image_url);\r\n\r\n    }\r\n\r\n    get_document_image(url, document_index) {\r\n        if (url == '') {\r\n            jQuery('.document' + document_index).attr('src', 'default.png')\r\n        } else {\r\n            var oReq = new XMLHttpRequest();\r\n            oReq.open(\"GET\", url, true);\r\n            oReq.setRequestHeader(\"type\", 'admin');\r\n            oReq.setRequestHeader(\"token\", this.user_detail.server_token);\r\n            oReq.responseType = \"blob\";\r\n            oReq.onload = function (oEvent) {\r\n                var arrayBuffer = oReq.response; // Note: not oReq.responseText\r\n                if (arrayBuffer) {\r\n                    jQuery('.document' + document_index).attr('src', URL.createObjectURL(arrayBuffer));\r\n                } else {\r\n                    jQuery('.document' + document_index).attr('src', 'default.png');\r\n                }\r\n            };\r\n            oReq.send(null);\r\n        }\r\n    }\r\n\r\n\r\n    updateDocument(document, document_index) {\r\n\r\n        if (this.documentlist.image_url == '') {\r\n            this.error_message = 1;\r\n        }\r\n        else if (document.document_details.is_expired_date && this.documentlist.expired_date == null) {\r\n            this.error_message = 2;\r\n        }\r\n        else if (document.document_details.is_unique_code && this.documentlist.unique_code == '') {\r\n            this.error_message = 3;\r\n        }\r\n        else {\r\n            this.myLoading = true;\r\n            this.error_message = 0;\r\n            this.formData.append('type', this.type);\r\n            this.formData.append('unique_code', this.documentlist.unique_code);\r\n            this.formData.append('document_id', document._id);\r\n            this.formData.append('id', this.user_detail._id);\r\n            this.formData.append('server_token', this.user_detail.server_token);\r\n            if (this.documentlist.expired_date != null) {\r\n                this.formData.append('expired_date', this.documentlist.expired_date.formatted);\r\n            }\r\n\r\n            this.helper.http.post('/admin/upload_document', this.formData).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n                    this.formData = new FormData();\r\n                    this.edit_document.fill(\"false\")\r\n                    this.myLoading = false;\r\n                    if (res_data.success) {\r\n                        this.document_list[document_index].image_url = res_data.image_url;\r\n\r\n                        this.get_document_image(res_data.image_url, document_index)\r\n\r\n                        this.document_list[document_index].unique_code = res_data.unique_code;\r\n\r\n                        this.document_list[document_index].expired_date = res_data.expired_date;\r\n                        localStorage.setItem('store_document_ulpoaded', res_data.is_document_uploaded);\r\n\r\n                        this.helper.data.storage = {\r\n                            \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                            \"class\": \"alert-info\"\r\n                        }\r\n                        this.helper.message();\r\n\r\n                    }\r\n                    else {\r\n                        this.document_list[document_index].image_url = this.old_image_url;\r\n                        this.get_document_image(this.old_image_url, document_index)\r\n\r\n                        this.helper.data.storage = {\r\n                            \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                            \"class\": \"alert-danger\"\r\n                        }\r\n                        this.helper.message();\r\n                    }\r\n                },\r\n                (error: any) => {\r\n                    this.myLoading = false;\r\n                    this.helper.http_status(error)\r\n                });\r\n\r\n        }\r\n\r\n    }\r\n\r\n    editUser(id) {\r\n        this.helper.router_id.admin.user_id = id;\r\n        this.helper.router.navigate(['admin/user/edit']);\r\n\r\n    }\r\n    viewHistory(id, type) {\r\n        this.helper.router_id.admin.history_user_id = id;\r\n        this.helper.router_id.admin.page_type = type;\r\n        this.helper.router.navigate(['admin/user/view_history']);\r\n\r\n    }\r\n    viewUser(id) {\r\n        this.helper.router_id.admin.detail_user_id = id;\r\n        this.helper.router.navigate(['admin/user/view_detail']);\r\n\r\n    }\r\n    viewDocument(id, type) {\r\n        this.helper.router_id.admin.user_id = id;\r\n        this.helper.router_id.admin.document_type = type;\r\n        this.helper.router.navigate(['admin/user/view_document']);\r\n    }\r\n    \r\n    user_export_csv(user_page_type) {\r\n       this.helper.http.post('/admin/user_list_search_sort', {\r\n            user_page_type: this.user_page_type, number_of_rec: this.number_of_rec,\r\n            search_field: this.search_field, search_value: this.search_value\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            var json2csv = require('json2csv');\r\n            res_data.users.forEach((user, index) => {\r\n               \r\n                \r\n            });\r\n\r\n            var fieldNames = ['Unique ID', 'First Name', 'Last Name', 'City', 'Device Type', 'Referral Code',\r\n                'Email', 'Country Phone Code',\r\n                'Phone', 'App Version', 'Wallet', 'Wallet Currency Code', 'Address',\r\n                'Approved', \r\n                'Email Verify', 'Phone Number Verify', 'Document Uploaded',\r\n                'Registration Date'\r\n            ];\r\n            var fields = ['unique_id', 'first_name', 'last_name', 'city' ,'device_type', 'referral_code',\r\n                'email', 'country_phone_code',\r\n                'phone', 'app_version', 'wallet', 'wallet_currency_code', 'address',\r\n                'is_approved', \r\n                'is_email_verified', 'is_phone_number_verified', 'is_document_uploaded',\r\n                'created_at'\r\n            ];\r\n\r\n            var csv = json2csv({data: res_data.users, fields: fields, fieldNames: fieldNames});\r\n\r\n            var final_csv: any = csv;\r\n            this.helper.downloadFile(final_csv);\r\n        });\r\n    }\r\n    \r\n    user_export_excel(user_page_type) {\r\n       this.helper.http.post('/admin/user_list_search_sort', {\r\n           number_of_rec: this.number_of_rec, user_page_type: this.user_page_type,\r\n            search_field: this.search_field, search_value: this.search_value\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            var json_data = [];\r\n            var json2excel = require('js2excel');\r\n            res_data.users.forEach((user, index) => {\r\n               \r\n                json_data.push({\r\n                    \"Unique ID\": user.unique_id, \r\n                    \"First Name\": user.first_name ,\r\n                    \"Last Name\":user.last_name,\r\n                    \"City\": user.city,\r\n                    \"Device Type\": user.device_type, \r\n                    \"Referral Code\": user.referral_code,\r\n                    \"Email\":user.email,\r\n                    \"Country Phone Code\": user.country_phone_code,\r\n                    \"Phone\": user.phone,\r\n                    \"App Version\": user.app_version, \r\n                    \"Wallet\": user.wallet ,\r\n                    \"Wallet Currency Code\":user.wallet_currency_code,\r\n                    \"Address\": user.address,\r\n                    \"Approved\": user.is_approved,\r\n                    \"Email Verify\": user.is_email_verified,\r\n                    \"Phone Number Verify\": user.is_phone_number_verified,\r\n                    \"Document Uploaded\": user.is_document_uploaded,\r\n                    \"Location\": user.location\r\n                });\r\n            });\r\n\r\n\r\n            json2excel.json2excel({\r\n                data: json_data,\r\n                name: 'user_excel',\r\n                formateDate: 'yyyy/mm/dd'\r\n            });\r\n\r\n            \r\n        });\r\n    }\r\n\r\n\r\n    review_export_csv() {\r\n        this.helper.http.post('/admin/get_user_review_history', {user_id: this.user_detail._id}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n             \r\n            var json2csv = require('json2csv');\r\n\r\n            var fieldNames = [\r\n                this.title.id,\r\n                this.title.store,\r\n                this.title.provider,\r\n                'User to Store',\r\n                'User to Provider',\r\n                'Store to User',\r\n                'Provider to User',\r\n                this.title.date\r\n            ];\r\n            var fields = [\r\n                'order_unique_id',\r\n                'store_detail.name',\r\n                'provider_name',\r\n                'user_to_store',\r\n                'user_to_provider',\r\n                'store_to_user',\r\n                'provider_to_user',\r\n                'created_at'\r\n            ];\r\n\r\n            res_data.review_list.forEach(function(review_detail){\r\n                review_detail.provider_name = review_detail.provider_detail.first_name + ' ' + review_detail.provider_detail.last_name;\r\n\r\n                if(review_detail.user_rating_to_store){\r\n                    review_detail.user_to_store = review_detail.user_review_to_store + '(' + review_detail.user_rating_to_store + ')'\r\n                } else {\r\n                    review_detail.user_to_store = '';\r\n                }\r\n\r\n                if(review_detail.user_rating_to_provider){\r\n                    review_detail.user_to_provider = review_detail.user_review_to_provider + '(' + review_detail.user_rating_to_provider + ')'\r\n                } else {\r\n                    review_detail.user_to_provider = '';\r\n                }\r\n\r\n                if(review_detail.store_rating_to_user){\r\n                    review_detail.store_to_user = review_detail.store_review_to_user + '(' + review_detail.store_rating_to_user + ')'\r\n                } else {\r\n                    review_detail.store_to_user = '';\r\n                }\r\n\r\n                if(review_detail.provider_rating_to_user){\r\n                    review_detail.provider_to_user = review_detail.provider_review_to_user + '(' + review_detail.provider_rating_to_user + ')'\r\n                } else {\r\n                    review_detail.provider_to_user = '';\r\n                }\r\n\r\n            });\r\n\r\n            var review_list = res_data.review_list.filter((x)=>{\r\n                return x.user_to_store || x.user_to_provider || x.store_to_user || x.provider_to_user;\r\n            })\r\n           \r\n            var csv = json2csv({data: review_list, fields: fields, fieldNames: fieldNames});\r\n\r\n            var final_csv: any = csv;\r\n            this.helper.downloadFile(final_csv);\r\n        });\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/user/user.component.ts","import { Component, OnInit,ViewContainerRef } from '@angular/core';\r\nimport { Http, Response } from '@angular/http';\r\ndeclare var jQuery:any;\r\nimport {Helper} from \"../../store_helper\";\r\n\r\n@Component({\r\n    selector: 'app-view_cart',\r\n    template: require('./view_cart.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class StoreViewCartComponent implements OnInit {\r\n\r\n    store_id:Object;\r\n    server_token:string;\r\n    order_id:Object;\r\n    order_detail:any[];\r\n    currency_sign:any;\r\n    order_total:number;\r\n    product_item_total:number;\r\n    product_item_total_array:number[];\r\n    product_item_specification_total:number;\r\n    product_item_specification_total_array:number[];\r\n    product_specification_total_array:any[];\r\n    total_item:number;\r\n\r\n    public status:any;\r\n    title:any;\r\n    button:any;\r\n    heading_title:any;\r\n    ORDER_STATE:any;\r\n    ORDER_STATUS_ID:any;\r\n    order_status:number;\r\n    order_status_id:number;\r\n    created_at:any;\r\n    store_accepted_at:any;\r\n    start_preparing_order_at:any;\r\n    order_ready_at:any;\r\n    store_order_created_at:any;\r\n    accepted_at:any;\r\n    cancelled_at:any;\r\n    start_for_pickup_at:any;\r\n    arrived_on_store_at:any;\r\n    picked_order_at:any;\r\n    start_for_delivery_at:any;\r\n    delivered_at:any;\r\n    completed_at:any;\r\n\r\n    invoice_number:string;\r\n    total_order_price:number;\r\n    total_delivery_price:number;\r\n    card_payment:number;\r\n    cash_payment:number;\r\n    is_payment_mode_cash:Boolean = false;\r\n\r\n\r\n    user_name:string = '';\r\n    user_email:string = '';\r\n    provider_name:string = '';\r\n    provider_email:string = '';\r\n    provider_vehicle:string = '';\r\n    myLoading:boolean = true;\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef){\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    activeRoute(routename: string): boolean{\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n\r\n    ngOnInit() {\r\n        let token = this.helper.tokenService.getToken();\r\n\r\n        if(!token || !token.token) {\r\n            this.helper.router.navigate(['store/login']);\r\n        }\r\n        this.order_id = this.helper.router_id.store.order_id;\r\n        this.order_total=0;\r\n        this.total_item=0;\r\n        this.product_item_total=0;\r\n        this.product_item_total_array=[];\r\n        this.product_item_specification_total=0;\r\n        this.product_item_specification_total_array=[];\r\n        this.product_specification_total_array=[];\r\n\r\n        this.status=this.helper.status;\r\n        this.title=this.helper.title;\r\n        this.heading_title=this.helper.heading_title;\r\n        this.button=this.helper.button;\r\n        this.ORDER_STATE=this.helper.ORDER_STATE;\r\n        this.ORDER_STATUS_ID=this.helper.ORDER_STATUS_ID;\r\n\r\n        this.invoice_number='';\r\n        this.total_order_price=0;\r\n        this.total_delivery_price=0;\r\n        this.card_payment=0;\r\n        this.cash_payment=0;\r\n\r\n        var store = JSON.parse(localStorage.getItem('store'));\r\n\r\n        if(store!==null)\r\n        {\r\n            this.store_id= store._id;\r\n            this.server_token= store.server_token;\r\n        }\r\n\r\n        if(this.order_id !== '')\r\n        {\r\n\r\n            this.helper.http.post(this.helper.POST_METHOD.GET_ORDER_DETAIL,{order_id:this.order_id,store_id:store._id, server_token:store.server_token}).map((res_data: Response) => res_data.json()) .subscribe(res_data => {\r\n                this.myLoading=false;\r\n                if(res_data.success == false)\r\n                {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.router.navigate(['store/order']);\r\n                }\r\n                else\r\n                {\r\n\r\n                    this.user_name = res_data.order.user_detail.first_name + ' ' + res_data.order.user_detail.last_name;\r\n                    this.user_email = res_data.order.user_detail.email;\r\n\r\n                    if(res_data.order.provider_detail.length>0)\r\n                    {\r\n                        this.provider_name = res_data.order.provider_detail[0].first_name + ' ' + res_data.order.provider_detail[0].last_name\r\n                        this.provider_email = res_data.order.provider_detail[0].email;\r\n                        this.provider_vehicle = res_data.order.provider_detail[0].email;\r\n                    }\r\n\r\n\r\n                    this.invoice_number=res_data.order.invoice_number;\r\n                    this.total_order_price = res_data.order.order_payment_detail.total_order_price\r\n                    this.total_delivery_price = res_data.order.order_payment_detail.total_delivery_price\r\n\r\n                    this.order_status=res_data.order.order_status\r\n                    this.order_status_id=res_data.order.order_status_id\r\n\r\n                    this.created_at=res_data.order.created_at\r\n                    this.store_accepted_at=res_data.order.store_accepted_at\r\n                    this.start_preparing_order_at=res_data.order.start_preparing_order_at\r\n                    this.order_ready_at=res_data.order.order_ready_at\r\n                    this.store_order_created_at=res_data.order.store_order_created_at\r\n                    this.accepted_at=res_data.order.accepted_at\r\n                    this.cancelled_at=res_data.order.cancelled_at\r\n                    this.start_for_pickup_at=res_data.order.start_for_pickup_at\r\n                    this.arrived_on_store_at=res_data.order.arrived_on_store_at\r\n                    this.picked_order_at=res_data.order.picked_order_at\r\n                    this.start_for_delivery_at=res_data.order.start_for_delivery_at\r\n                    this.delivered_at=res_data.order.delivered_at\r\n                    this.completed_at=res_data.order.completed_at\r\n\r\n                    this.is_payment_mode_cash = res_data.order.order_payment_detail.is_payment_mode_cash;\r\n                    this.card_payment = res_data.order.order_payment_detail.card_payment\r\n                    this.cash_payment = res_data.order.order_payment_detail.cash_payment\r\n\r\n\r\n                    this.order_detail=res_data.order.order_details\r\n                    this.currency_sign=res_data.order.currency\r\n\r\n                    res_data.order.order_details.forEach((product)=>{\r\n                        product.items.forEach((item) =>{\r\n                            this.order_total=this.order_total + (item.item_price + item.total_specification_price)*item.quantity\r\n                            this.product_item_total=this.product_item_total + (item.item_price + item.total_specification_price)*item.quantity\r\n                            this.total_item= this.total_item+1;\r\n                            item.specifications.forEach((specification)=>{\r\n                                this.product_item_specification_total= this.product_item_specification_total + specification.specification_price;\r\n                            })\r\n                            this.product_item_specification_total_array.push(this.product_item_specification_total)\r\n                            this.product_item_specification_total=0;\r\n                        })\r\n                        this.product_specification_total_array.push(this.product_item_specification_total_array)\r\n                        this.product_item_specification_total_array=[];\r\n                        this.product_item_total_array.push(this.product_item_total)\r\n                        this.product_item_total=0;\r\n                    })\r\n                }\r\n            },\r\n            (error: any) => {\r\n                this.myLoading=false;\r\n                    this.helper.http_status(error)\r\n            });\r\n        }\r\n        else\r\n        {\r\n            this.helper.router.navigate(['store/order']);\r\n        }\r\n        \r\n    }\r\n    viewInvoice(id)\r\n    {\r\n        this.helper.router_id.store.view_order_earning_id = id;\r\n        this.helper.router.navigate(['store/order_earning_detail']);\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/view_cart/view_cart.component.ts","import { Component, OnInit , ViewContainerRef } from '@angular/core';\r\nimport {Response } from '@angular/http';\r\nimport {Helper} from \"../../store_helper\";\r\ndeclare var jQuery:any;\r\n\r\nexport interface StoreAnalyticDaily\r\n{\r\n\taccepted:number,\r\n\tacception_ratio:number,\r\n\tcancellation_ratio:number,\r\n\tcancelled:number,\r\n\tcompleted:number,\r\n\tcompleted_ratio:number,\r\n\treceived:number,\r\n\trejected:number,\r\n\trejection_ratio:number,\r\n\ttotal_items:number\r\n\t\r\n}\r\n\r\nexport interface OrderTotal\r\n{\r\n\tpay_to_store:number,\r\n\tstore_have_order_payment:number,\r\n\tstore_have_service_payment:number,\r\n\ttotal_admin_profit_on_store:number,\r\n\ttotal_earning:number,\r\n\ttotal_item_price:number,\r\n\ttotal_order_price:number,\r\n\ttotal_store_income:number,\r\n\ttotal_store_tax_price:number,\r\n    total_wallet_income_set:number,\r\n    total_wallet_income_set_in_cash_order: number,\r\n    total_wallet_income_set_in_other_order: number,\r\n    total_paid: number,\r\n    total_remaining_to_paid: number\r\n}\r\n\r\nexport interface OrderDayTotal\r\n{\r\n\tdate1:number,\r\n\tdate2:number,\r\n\tdate3:number,\r\n\tdate4:number,\r\n\tdate5:number,\r\n\tdate6:number,\r\n\tdate7:number\r\n}\r\n\r\nexport interface DateList\r\n{\r\n\tdate1:Object,\r\n\tdate2:Object,\r\n\tdate3:Object,\r\n\tdate4:Object,\r\n\tdate5:Object,\r\n\tdate6:Object,\r\n\tdate7:Object\r\n}\r\n\r\n@Component({\r\n  selector: 'app-weekly_earning',\r\n  template: require('./weekly_earning.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class StorWeeklyEarningComponent implements OnInit {\r\n\r\n\tprivate order_total: OrderTotal;\r\n\tprivate store_analytic_daily: StoreAnalyticDaily;\r\n\tprivate order_day_total: OrderDayTotal;\r\n\ttitle:any;\r\n    button:any;\r\n    ORDER_STATE:any;\r\n    heading_title:any;\r\n\tstore_id:Object;\r\n    server_token:String;\r\n    date:DateList;\r\n    search_field:string;\r\n    search_value:string;\r\n    start_date:string;\r\n    end_date:string;\r\n    week_date:string;\r\n    week_array:any[];\r\n    show:Boolean;\r\n    registered_date:string;\r\n\r\n    myLoading:boolean = true;\r\n\r\n  \tconstructor(private helper:Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n\r\n        jQuery(\".chosen-select\").chosen();\r\n        // setTimeout(function() {\r\n        //     jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        // }, 1000);\r\n    }\r\n\r\n\tngOnInit() {\r\n\t\tthis.search_field=\"user_detail.first_name\";\r\n        this.search_value=\"\";\r\n        this.start_date='';\r\n        this.end_date='';\r\n        this.week_date='';\r\n        this.show=false;\r\n\r\n        this.order_total={\r\n\r\n            pay_to_store:0,\r\n            store_have_order_payment:0,\r\n            store_have_service_payment:0,\r\n            total_admin_profit_on_store:0,\r\n            total_earning:0,\r\n            total_item_price:0,\r\n            total_order_price:0,\r\n            total_store_income:0,\r\n            total_store_tax_price:0,\r\n            total_wallet_income_set: 0,\r\n            total_wallet_income_set_in_cash_order: 0,\r\n            total_wallet_income_set_in_other_order: 0,\r\n\t\t\ttotal_paid: 0,\r\n\t\t\ttotal_remaining_to_paid: 0\r\n        }\r\n\r\n        this.store_analytic_daily={\r\n        \taccepted:0,\r\n\t\t\tacception_ratio:0,\r\n\t\t\tcancellation_ratio:0,\r\n\t\t\tcancelled:0,\r\n\t\t\tcompleted:0,\r\n\t\t\tcompleted_ratio:0,\r\n\t\t\treceived:0,\r\n\t\t\trejected:0,\r\n\t\t\trejection_ratio:0,\r\n\t\t\ttotal_items:0\r\n        }\r\n\r\n        this.order_day_total={\r\n        \tdate1:0,\r\n        \tdate2:0,\r\n        \tdate3:0,\r\n        \tdate4:0,\r\n        \tdate5:0,\r\n        \tdate6:0,\r\n        \tdate7:0\r\n        }\r\n\r\n        this.date={\r\n        \tdate1:null,\r\n        \tdate2:null,\r\n        \tdate3:null,\r\n        \tdate4:null,\r\n        \tdate5:null,\r\n        \tdate6:null,\r\n        \tdate7:null\r\n        }\r\n\r\n        let token = this.helper.tokenService.getToken();\r\n\r\n        if(!token || !token.token) {\r\n\r\n            this.helper.router.navigate(['store/logout']);\r\n        }\r\n        this.helper.message()\r\n        var store = JSON.parse(localStorage.getItem('store'));\r\n        if(store!==null)\r\n        {\r\n            this.store_id=store._id\r\n            this.server_token=store.server_token\r\n            this.registered_date=store.created_at\r\n        }\r\n        if(!JSON.parse(localStorage.getItem('store_document_ulpoaded')) && JSON.parse(localStorage.getItem('admin_store_document_ulpoaded')))\r\n        {\r\n            this.helper.router.navigate(['store/upload_document']);\r\n        }\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.heading_title=this.helper.heading_title\r\n        this.ORDER_STATE=this.helper.ORDER_STATE\r\n        this.week_array=[];\r\n\r\n        \r\n\r\n        var monthNames = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\",\r\n  \t\t\t\"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\r\n\r\n  \t\tvar registered_date = new Date(this.registered_date)\r\n  \t\tvar today = new Date(Date.now());\r\n  \t\tvar getDay = today.getDay();\r\n        getDay = 7 - getDay;\r\n  \t\tvar lastWeekEndDay = today.getDate() + getDay - 1;\r\n  \t\tvar lastWeekEndDate1 = new Date(today.setDate(lastWeekEndDay));\r\n\t\tvar timeDiff = Math.abs(lastWeekEndDate1.getTime() - registered_date.getTime());\r\n\t\tvar total_week = Math.ceil((timeDiff / (1000 * 3600 * 24))/7); \r\n\r\n        for(var i = 0; i < total_week; i++){\r\n\t\t    var today = new Date(Date.now());\r\n\t\t    var getDay = today.getDay();\r\n            getDay = 7 - getDay;\r\n\t\t    var lastWeekEndDay = today.getDate() + getDay - 1 - (i * 7);\r\n\t\t    var lastWeekEndDate = new Date(today.setDate(lastWeekEndDay)).setHours(23, 59, 59, 999);\r\n\t\t    var lastWeekEndDates = new Date(lastWeekEndDate);\r\n\t\t    var lastWeekStartDate = new Date(lastWeekEndDates.getTime() - 6 * 24 * 60 * 60 * 1000);\r\n\t\t    var lastWeekStartDates = lastWeekStartDate.setHours(0, 0, 0, 0);\r\n\t\t    lastWeekStartDate = new Date(lastWeekStartDates);\r\n\r\n\r\n\t\t    var month = monthNames[lastWeekStartDate.getMonth()];\r\n\t\t    var date = lastWeekStartDate.getDate();\r\n\t\t    var year = lastWeekStartDate.getFullYear();\r\n\t\t    var start_date = lastWeekStartDate.getMonth()+1 + '-' + date + '-' + year; \r\n\t\t    var lastWeekstartday = date + ' ' + month + ' ' + year;\r\n\r\n\r\n\t\t        month =  monthNames[lastWeekEndDates.getMonth()];\r\n\t\t        date = lastWeekEndDates.getDate();\r\n\t\t        year = lastWeekEndDates.getFullYear();\r\n\t\t    var lastWeekenddate = date + ' ' + month + ' ' + year;\r\n\t\t    var end_date = lastWeekEndDates.getMonth()+1 + '-' + date + '-' + year;\r\n\t\t    \r\n\r\n\t\t    this.week_array.push({value: start_date+' '+end_date , text: lastWeekstartday + ' - ' + lastWeekenddate})\r\n\t\t    if(i==0)\r\n\t\t    {\r\n\t\t    \tthis.week_date = start_date+' '+end_date;\t\r\n\t\t    \tthis.start_date=start_date;\r\n        \t\tthis.end_date=end_date;\r\n\t\t    }\t\r\n\t\t}\r\n\r\n\t\tthis.store_weekly_earning()\r\n\r\n        setTimeout(function() {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n       \r\n        jQuery(this.helper.elementRef.nativeElement).find('#search_field').on('change', (evnt,res_data) => {\r\n\r\n            this.search_field=res_data.selected;\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#week_date').on('change', (evnt,res_data) => {\r\n\r\n            \r\n        \tthis.week_date = res_data.selected;\r\n        \tvar date = this.week_date.split(' ');\r\n        \tthis.start_date=date[0];\r\n        \tthis.end_date=date[1];\t\r\n        });\r\n\t}\r\n\r\n\tstore_weekly_earning(){\r\n\t\tthis.myLoading=true;\r\n\t\tthis.helper.http.post(this.helper.POST_METHOD.WEEKLY_EARNING,{store_id:this.store_id, server_token:this.server_token, start_date:this.start_date, end_date:this.end_date ,\r\n                                                        search_field:this.search_field,search_value:this.search_value}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n            this.myLoading=false;                                            \t\r\n            if(res_data.success == false)\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message()\r\n                \tthis.show=false;\r\n                    this.order_day_total={\r\n\t\t\t        \tdate1:0,\r\n\t\t\t        \tdate2:0,\r\n\t\t\t        \tdate3:0,\r\n\t\t\t        \tdate4:0,\r\n\t\t\t        \tdate5:0,\r\n\t\t\t        \tdate6:0,\r\n\t\t\t        \tdate7:0\r\n\t        \t\t}\r\n\t                this.order_total={\r\n\r\n\t\t\t\t\t\tpay_to_store:0,\r\n\t\t\t\t\t\tstore_have_order_payment:0,\r\n\t\t\t\t\t\tstore_have_service_payment:0,\r\n\t\t\t\t\t\ttotal_admin_profit_on_store:0,\r\n\t\t\t\t\t\ttotal_earning:0,\r\n\t\t\t\t\t\ttotal_item_price:0,\r\n\t\t\t\t\t\ttotal_order_price:0,\r\n\t\t\t\t\t\ttotal_store_income:0,\r\n\t\t\t\t\t\ttotal_store_tax_price:0,\r\n                        total_wallet_income_set: 0,\r\n                        total_wallet_income_set_in_cash_order: 0,\r\n                        total_wallet_income_set_in_other_order: 0,\r\n                        total_paid: 0,\r\n                        total_remaining_to_paid: 0\r\n\t\t\t        }\r\n\r\n\t\t\t        this.store_analytic_daily={\r\n\t\t\t        \taccepted:0,\r\n\t\t\t\t\t\tacception_ratio:0,\r\n\t\t\t\t\t\tcancellation_ratio:0,\r\n\t\t\t\t\t\tcancelled:0,\r\n\t\t\t\t\t\tcompleted:0,\r\n\t\t\t\t\t\tcompleted_ratio:0,\r\n\t\t\t\t\t\treceived:0,\r\n\t\t\t\t\t\trejected:0,\r\n\t\t\t\t\t\trejection_ratio:0,\r\n\t\t\t\t\t\ttotal_items:0\r\n\t\t\t        }\r\n\t                this.date={\r\n\t\t\t        \tdate1:null,\r\n\t\t\t        \tdate2:null,\r\n\t\t\t        \tdate3:null,\r\n\t\t\t        \tdate4:null,\r\n\t\t\t        \tdate5:null,\r\n\t\t\t        \tdate6:null,\r\n\t\t\t        \tdate7:null\r\n\t\t\t        }\r\n            }\r\n            else\r\n            {\r\n            \tthis.show=true;\r\n\r\n\t\t\t\tthis.order_day_total=res_data.order_day_total;\r\n\r\n                this.order_day_total={\r\n                    date1: res_data.order_day_total.date1 != undefined ?  res_data.order_day_total.date1 : 0 ,\r\n                    date2: res_data.order_day_total.date2 != undefined ?  res_data.order_day_total.date2 : 0,\r\n                    date3: res_data.order_day_total.date3 != undefined ?  res_data.order_day_total.date3 : 0,\r\n                    date4: res_data.order_day_total.date4 != undefined ?  res_data.order_day_total.date4 : 0,\r\n                    date5: res_data.order_day_total.date5 != undefined ?  res_data.order_day_total.date5 : 0,\r\n                    date6: res_data.order_day_total.date6 != undefined ?  res_data.order_day_total.date6 : 0,\r\n                    date7: res_data.order_day_total.date7 != undefined ?  res_data.order_day_total.date7 : 0\r\n                }\r\n\r\n\t\t\t\tthis.order_total={\r\n\r\n\t\t\t\t\tpay_to_store:res_data.order_total.pay_to_store != undefined ? res_data.order_total.pay_to_store : 0 ,\r\n\t\t\t\t\tstore_have_order_payment:res_data.order_total.store_have_order_payment != undefined ? res_data.order_total.store_have_order_payment : 0,\r\n\t\t\t\t\tstore_have_service_payment:res_data.order_total.store_have_service_payment != undefined ? res_data.order_total.store_have_service_payment : 0,\r\n\t\t\t\t\ttotal_admin_profit_on_store:res_data.order_total.total_admin_profit_on_store != undefined ? res_data.order_total.total_admin_profit_on_store : 0,\r\n\t\t\t\t\ttotal_earning:res_data.order_total.total_earning != undefined ? res_data.order_total.total_earning : 0,\r\n\t\t\t\t\ttotal_item_price:res_data.order_total.total_item_price != undefined ? res_data.order_total.total_item_price : 0,\r\n\t\t\t\t\ttotal_order_price:res_data.order_total.total_order_price != undefined ? res_data.order_total.total_order_price : 0,\r\n\t\t\t\t\ttotal_store_income:res_data.order_total.total_store_income != undefined ? res_data.order_total.total_store_income : 0,\r\n\t\t\t\t\ttotal_store_tax_price:res_data.order_total.total_store_tax_price != undefined ? res_data.order_total.total_store_tax_price : 0,\r\n\t\t\t\t\ttotal_wallet_income_set:res_data.order_total.total_wallet_income_set != undefined ? res_data.order_total.total_wallet_income_set : 0,\r\n                    total_wallet_income_set_in_cash_order:res_data.order_total.total_wallet_income_set_in_cash_order != undefined ? res_data.order_total.total_wallet_income_set_in_cash_order : 0,\r\n                    total_wallet_income_set_in_other_order:res_data.order_total.total_wallet_income_set_in_other_order != undefined ? res_data.order_total.total_wallet_income_set_in_other_order : 0,\r\n                    total_paid:res_data.order_total.total_paid != undefined ? res_data.order_total.total_paid : 0,\r\n                    total_remaining_to_paid:res_data.order_total.total_remaining_to_paid != undefined ? res_data.order_total.total_remaining_to_paid : 0\r\n\t\t\t\t}\r\n                \r\n                this.store_analytic_daily=res_data.store_analytic_weekly;\r\n                this.date=res_data.date;\r\n            }\r\n        },\r\n        (error: any) => {\r\n        \tthis.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n\t}\r\n\r\n\tdaily_earning(date)\r\n\t{\r\n\t\tthis.helper.router_id.store.daily_earning_date = date;\r\n\t\tthis.helper.router.navigate(['store/daily_earning']);\r\n\t}\r\n\r\n    export_excel() {\r\n        this.helper.http.post(this.helper.POST_METHOD.WEEKLY_EARNING,{store_id:this.store_id, server_token:this.server_token, start_date:this.start_date, end_date:this.end_date ,\r\n            search_field:this.search_field,search_value:this.search_value}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n\r\n            var json2csv = require('json2csv');\r\n\r\n            var store_analytic_daily_fieldNames  = [this.heading_title.total_order, this.heading_title.accepted_order, this.heading_title.rejected_order, this.heading_title.completed_order,\r\n                this.heading_title.total_item_sold, this.heading_title.accepted_ratio, this.heading_title.rejected_ratio, this.heading_title.completed_ratio,\r\n            ];\r\n            var store_analytic_daily_fields = ['received', 'accepted', 'rejected', 'completed', 'total_items',\r\n                'acception_ratio', 'rejection_ratio', 'completed_ratio'];\r\n\r\n            var order_total_fieldNames  = [this.title.item_price, this.title.tax_price, this.title.order_price, this.title.admin_profit,\r\n                this.title.store_profit, this.title.received_order_amount, this.title.paid_service_fee, this.title.deduct_from_wallet, this.title.added_in_wallet,\r\n                this.title.total_earnings, this.title.paid_in_wallet, this.title.pay_to_store];\r\n            var order_total_fields = ['total_item_price', 'total_store_tax_price', 'total_order_price', 'total_admin_profit_on_store', 'total_store_income',\r\n                'store_have_order_payment', 'store_have_service_payment', 'total_wallet_income_set_in_cash_order', 'total_wallet_income_set_in_other_order',\r\n                'total_earning', 'total_wallet_income_set', 'pay_to_store'];\r\n\r\n            var day_wise_fieldNames  = ['Date', 'Total Earning'];\r\n            var day_wise_fields1 = ['date.date1', 'order_day_total.date1'];\r\n            var day_wise_fields2 = ['date.date2', 'order_day_total.date2'];\r\n            var day_wise_fields3 = ['date.date3', 'order_day_total.date3'];\r\n            var day_wise_fields4 = ['date.date4', 'order_day_total.date4'];\r\n            var day_wise_fields5 = ['date.date5', 'order_day_total.date5'];\r\n            var day_wise_fields6 = ['date.date6', 'order_day_total.date6'];\r\n            var day_wise_fields7 = ['date.date7', 'order_day_total.date7'];\r\n\r\n            var store_analytic_daily_csv = json2csv({data: res_data.store_analytic_daily, fields: store_analytic_daily_fields,fieldNames: store_analytic_daily_fieldNames});\r\n            var order_total_csv = json2csv({data: res_data.order_total, fields: order_total_fields,fieldNames: order_total_fieldNames});\r\n            var date_csv1 = json2csv({data:res_data, fields: day_wise_fields1,fieldNames: day_wise_fieldNames});\r\n            var date_csv2 = json2csv({data:res_data, fields: day_wise_fields2, hasCSVColumnTitle : false});\r\n            var date_csv3 = json2csv({data:res_data, fields: day_wise_fields3, hasCSVColumnTitle : false});\r\n            var date_csv4 = json2csv({data:res_data, fields: day_wise_fields4, hasCSVColumnTitle : false});\r\n            var date_csv5 = json2csv({data:res_data, fields: day_wise_fields5, hasCSVColumnTitle : false});\r\n            var date_csv6 = json2csv({data:res_data, fields: day_wise_fields6, hasCSVColumnTitle : false});\r\n            var date_csv7 = json2csv({data:res_data, fields: day_wise_fields7, hasCSVColumnTitle : false});\r\n\r\n            var final_csv: any = store_analytic_daily_csv + \"\\n\" + \"\\n\" + order_total_csv + \"\\n\"  + \"\\n\" + date_csv1 + \"\\n\"  + date_csv2\r\n                + \"\\n\" + date_csv3 + \"\\n\" + date_csv4 + \"\\n\" + date_csv5 + \"\\n\"  + date_csv6 + \"\\n\" + date_csv7\r\n\r\n            this.helper.downloadFile(final_csv);\r\n        });\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/weekly_earning/weekly_earning.component.ts","export const environment = {\r\n  production: false,\r\n  IMAGE_BASE_URL: \"https://hop-delivery.s3.eu-central-1.amazonaws.com/\",\r\n  BASE_URL: \"https://api.myhop.ch\",\r\n  //   BASE_URL: \"http://localhost:5000\",\r\n  //   BASE_URL: \"https://api.appemporio.ch\",\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/environments/environment.prod.ts","/**\r\n * @license\r\n * Copyright (C) 2016 Dizzy <itsdizzy40@gmail.com>\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file.\r\n */\r\n\"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 router_1 = require('@angular/router');\r\nvar auth_config_1 = require('./auth.config');\r\nvar token_service_1 = require('./token.service');\r\n/**\r\n * A simple guard that checks whether you are logged in.\r\n */\r\nvar LoggedInAuthGuard = (function () {\r\n    function LoggedInAuthGuard(options, _tokenService, _router) {\r\n        this._tokenService = _tokenService;\r\n        this._router = _router;\r\n        this._config = options.getConfig();\r\n    }\r\n    /**\r\n     * Checks if the user is logged in by checking\r\n     * the expiration date of the token.\r\n     */\r\n    LoggedInAuthGuard.prototype.canActivate = function () {\r\n        var token = this._tokenService.getToken();\r\n        // Sometimes we will have a token that is equal to null,\r\n        // a quick fix for this is to check if the token is set\r\n        // after that we can just check if its expired yes/no\r\n        if (token && token.token) {\r\n            return !token.isExpired();\r\n        }\r\n        // If the redirectUrl for this guard is set lets redirect to that url.\r\n        var redirectUrl = this._config.guards.loggedInGuard.redirectUrl;\r\n        if (redirectUrl) {\r\n            this._router.navigate([redirectUrl]);\r\n        }\r\n        // In all other cases we are not logged in so lets return false.\r\n        return false;\r\n    };\r\n    LoggedInAuthGuard = __decorate([\r\n        core_1.Injectable(), \r\n        __metadata('design:paramtypes', [auth_config_1.AuthConfig, token_service_1.TokenService, router_1.Router])\r\n    ], LoggedInAuthGuard);\r\n    return LoggedInAuthGuard;\r\n}());\r\nexports.LoggedInAuthGuard = LoggedInAuthGuard;\r\n/**\r\n * A simple guard that checks whether you are logged out.\r\n */\r\nvar LoggedOutAuthGuard = (function () {\r\n    function LoggedOutAuthGuard(options, _tokenService, _router) {\r\n        this._tokenService = _tokenService;\r\n        this._router = _router;\r\n        this._config = options.getConfig();\r\n    }\r\n    /**\r\n     * Checks if the user is logged in by checking\r\n     * the expiration date of the token.\r\n     */\r\n    LoggedOutAuthGuard.prototype.canActivate = function () {\r\n        var token = this._tokenService.getToken();\r\n        // Sometimes we will have a token that is equal to null,\r\n        // a quick fix for this is to check if the token is set\r\n        // after that we can just check if its expired yes/no\r\n        if (token && token.token && !token.isExpired()) {\r\n            // If the redirectUrl for this guard is set lets redirect to that url.\r\n            var redirectUrl = this._config.guards.loggedOutGuard.redirectUrl;\r\n            if (redirectUrl) {\r\n                this._router.navigate([redirectUrl]);\r\n            }\r\n            return false;\r\n        }\r\n        // In all other cases we are logged out so lets return true.\r\n        return true;\r\n    };\r\n    LoggedOutAuthGuard = __decorate([\r\n        core_1.Injectable(), \r\n        __metadata('design:paramtypes', [auth_config_1.AuthConfig, token_service_1.TokenService, router_1.Router])\r\n    ], LoggedOutAuthGuard);\r\n    return LoggedOutAuthGuard;\r\n}());\r\nexports.LoggedOutAuthGuard = LoggedOutAuthGuard;\r\n//# sourceMappingURL=auth.guards.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/angular2-auth/dist/auth.guards.js\n// module id = 616\n// module chunks = 0","/**\r\n * @license\r\n * Copyright (C) 2016 Dizzy <itsdizzy40@gmail.com>\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file.\r\n */\r\n\"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 http_1 = require('@angular/http');\r\nvar auth_config_1 = require('./auth.config');\r\nvar token_service_1 = require('./token.service');\r\nvar Observable_1 = require('rxjs/Observable');\r\nvar AuthHttp = (function () {\r\n    function AuthHttp(options, _tokenService, _http, _options) {\r\n        this._tokenService = _tokenService;\r\n        this._http = _http;\r\n        this._options = _options;\r\n        this.config = options.getConfig();\r\n    }\r\n    AuthHttp.prototype.mergeOptions = function (providedOpts, defaultOpts) {\r\n        var newOptions = defaultOpts || new http_1.RequestOptions();\r\n        if (this.config.globalHeaders) {\r\n            this.setGlobalHeaders(this.config.globalHeaders, providedOpts);\r\n        }\r\n        newOptions = newOptions.merge(new http_1.RequestOptions(providedOpts));\r\n        return newOptions;\r\n    };\r\n    AuthHttp.prototype.requestHelper = function (requestArgs, additionalOptions) {\r\n        var options = new http_1.RequestOptions(requestArgs);\r\n        if (additionalOptions) {\r\n            options = options.merge(additionalOptions);\r\n        }\r\n        return this.request(new http_1.Request(this.mergeOptions(options, this._options)));\r\n    };\r\n    AuthHttp.prototype.setGlobalHeaders = function (headers, request) {\r\n        if (!request.headers) {\r\n            request.headers = new http_1.Headers();\r\n        }\r\n        headers.forEach(function (header) {\r\n            var key = Object.keys(header)[0];\r\n            var headerValue = header[key];\r\n            request.headers.set(key, headerValue);\r\n        });\r\n    };\r\n    AuthHttp.prototype.request = function (url, options) {\r\n        if (typeof url === 'string') {\r\n            return this.get(url, options); // Recursion: transform url from String to Request\r\n        }\r\n        // from this point url is always an instance of Request;\r\n        var req = url;\r\n        var token = this._tokenService.getToken();\r\n        return this.requestWithToken(req, token);\r\n    };\r\n    AuthHttp.prototype.requestWithToken = function (req, token) {\r\n        if (token.isExpired()) {\r\n            if (!this.config.noJwtError) {\r\n                return new Observable_1.Observable(function (obs) {\r\n                    obs.error(new Error('No JWT present or has expired'));\r\n                });\r\n            }\r\n        }\r\n        else {\r\n            req.headers.set(this.config.headerName, this.config.headerPrefix + token.token);\r\n        }\r\n        return this._http.request(req);\r\n    };\r\n    AuthHttp.prototype.get = function (url, options) {\r\n        return this.requestHelper({ body: '', method: http_1.RequestMethod.Get, url: url }, options);\r\n    };\r\n    AuthHttp.prototype.post = function (url, body, options) {\r\n        return this.requestHelper({ body: body, method: http_1.RequestMethod.Post, url: url }, options);\r\n    };\r\n    AuthHttp.prototype.put = function (url, body, options) {\r\n        return this.requestHelper({ body: body, method: http_1.RequestMethod.Put, url: url }, options);\r\n    };\r\n    AuthHttp.prototype.delete = function (url, options) {\r\n        return this.requestHelper({ body: '', method: http_1.RequestMethod.Delete, url: url }, options);\r\n    };\r\n    AuthHttp.prototype.patch = function (url, body, options) {\r\n        return this.requestHelper({ body: body, method: http_1.RequestMethod.Patch, url: url }, options);\r\n    };\r\n    AuthHttp.prototype.head = function (url, options) {\r\n        return this.requestHelper({ body: '', method: http_1.RequestMethod.Head, url: url }, options);\r\n    };\r\n    AuthHttp.prototype.options = function (url, options) {\r\n        return this.requestHelper({ body: '', method: http_1.RequestMethod.Options, url: url }, options);\r\n    };\r\n    AuthHttp = __decorate([\r\n        core_1.Injectable(), \r\n        __metadata('design:paramtypes', [auth_config_1.AuthConfig, token_service_1.TokenService, http_1.Http, http_1.RequestOptions])\r\n    ], AuthHttp);\r\n    return AuthHttp;\r\n}());\r\nexports.AuthHttp = AuthHttp;\r\n//# sourceMappingURL=auth.http.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/angular2-auth/dist/auth.http.js\n// module id = 617\n// module chunks = 0","/**\r\n * @license\r\n * Copyright (C) 2016 Dizzy <itsdizzy40@gmail.com>\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file.\r\n */\r\n\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar TokenError = (function (_super) {\r\n    __extends(TokenError, _super);\r\n    function TokenError(message) {\r\n        _super.call(this, message);\r\n        this.name = \"TokenError\";\r\n    }\r\n    return TokenError;\r\n}(Error));\r\nexports.TokenError = TokenError;\r\nvar Token = (function () {\r\n    function Token(token) {\r\n        this.token = token;\r\n    }\r\n    Token.prototype.decodeBase64 = function (str) {\r\n        var output = str.replace(/-/g, '+')\r\n            .replace(/_/g, '/');\r\n        switch (output.length % 4) {\r\n            case 0: {\r\n                break;\r\n            }\r\n            case 2: {\r\n                output += '==';\r\n                break;\r\n            }\r\n            case 3: {\r\n                output += '=';\r\n                break;\r\n            }\r\n            default: {\r\n                throw new TokenError('Illegal base64url string!');\r\n            }\r\n        }\r\n        return decodeURIComponent(escape(typeof window === 'undefined' ? atob(output) : window.atob(output)));\r\n    };\r\n    Token.prototype.decodeToken = function () {\r\n        var parts = this.token.split('.');\r\n        if (parts.length !== 3) {\r\n            throw new TokenError('A JWT Token must have 3 parts!');\r\n        }\r\n        var decoded = this.decodeBase64(parts[1]);\r\n        if (!decoded) {\r\n            throw new TokenError('Cannot decode the token!');\r\n        }\r\n        return JSON.parse(decoded);\r\n    };\r\n    /**\r\n     * Gets the expiration date of this token.\r\n     */\r\n    Token.prototype.getExpirationDate = function () {\r\n        var decoded = this.decodeToken();\r\n        if (!decoded.hasOwnProperty('exp')) {\r\n            return new Date();\r\n        }\r\n        var date = new Date(0);\r\n        date.setUTCSeconds(decoded.exp);\r\n        return date;\r\n    };\r\n    /**\r\n     * Check whether the token has been expired already.\r\n     */\r\n    Token.prototype.isExpired = function (offsetSeconds) {\r\n        if (offsetSeconds === void 0) { offsetSeconds = 0; }\r\n        var date = this.getExpirationDate();\r\n        if (date.getSeconds() === new Date().getSeconds()) {\r\n            return false;\r\n        }\r\n        return !(date.valueOf() > (new Date().valueOf() + (offsetSeconds * 1000)));\r\n    };\r\n    return Token;\r\n}());\r\nexports.Token = Token;\r\n//# sourceMappingURL=token.model.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/angular2-auth/dist/token.model.js\n// module id = 618\n// module chunks = 0","/* angular2-moment (c) 2015, 2016 Uri Shaked / MIT Licence */\r\n\"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 core_1 = require(\"@angular/core\");\r\nvar moment = require(\"moment\");\r\nvar AddPipe = (function () {\r\n    function AddPipe() {\r\n    }\r\n    AddPipe.prototype.transform = function (value, amount, unit) {\r\n        if (typeof amount === 'undefined' || (typeof amount === 'number' && typeof unit === 'undefined')) {\r\n            throw new Error('AddPipe: missing required arguments');\r\n        }\r\n        return moment(value).add(amount, unit);\r\n    };\r\n    return AddPipe;\r\n}());\r\nAddPipe = __decorate([\r\n    core_1.Pipe({ name: 'amAdd' })\r\n], AddPipe);\r\nexports.AddPipe = AddPipe;\r\n//# sourceMappingURL=add.pipe.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/angular2-moment/add.pipe.js\n// module id = 619\n// module chunks = 0","/* angular2-moment (c) 2015, 2016 Uri Shaked / MIT Licence */\r\n\"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 moment = require(\"moment\");\r\n// under systemjs, moment is actually exported as the default export, so we account for that\r\nvar momentConstructor = moment.default || moment;\r\nvar CalendarPipe = CalendarPipe_1 = (function () {\r\n    function CalendarPipe(cdRef, ngZone) {\r\n        var _this = this;\r\n        this.cdRef = cdRef;\r\n        this.ngZone = ngZone;\r\n        // using a single static timer for all instances of this pipe for performance reasons\r\n        CalendarPipe_1.initTimer(ngZone);\r\n        CalendarPipe_1.refs++;\r\n        // values such as Today will need to be replaced with Yesterday after midnight,\r\n        // so make sure we subscribe to an EventEmitter that we set up to emit at midnight\r\n        this.midnightSub = CalendarPipe_1.midnight.subscribe(function () {\r\n            _this.ngZone.run(function () { return _this.cdRef.markForCheck(); });\r\n        });\r\n    }\r\n    CalendarPipe.prototype.transform = function (value) {\r\n        var args = [];\r\n        for (var _i = 1; _i < arguments.length; _i++) {\r\n            args[_i - 1] = arguments[_i];\r\n        }\r\n        var formats = null;\r\n        var referenceTime = null;\r\n        for (var i = 0, len = args.length; i < len; i++) {\r\n            if (args[i] !== null) {\r\n                if (typeof args[i] === 'object' && !moment.isMoment(args[i])) {\r\n                    formats = args[i];\r\n                }\r\n                else {\r\n                    referenceTime = momentConstructor(args[i]);\r\n                }\r\n            }\r\n        }\r\n        return momentConstructor(value).calendar(referenceTime, formats);\r\n    };\r\n    CalendarPipe.prototype.ngOnDestroy = function () {\r\n        if (CalendarPipe_1.refs > 0) {\r\n            CalendarPipe_1.refs--;\r\n        }\r\n        if (CalendarPipe_1.refs === 0) {\r\n            CalendarPipe_1.removeTimer();\r\n        }\r\n        this.midnightSub.unsubscribe();\r\n    };\r\n    CalendarPipe.initTimer = function (ngZone) {\r\n        // initialize the timer\r\n        if (!CalendarPipe_1.midnight) {\r\n            CalendarPipe_1.midnight = new core_1.EventEmitter();\r\n            if (typeof window !== 'undefined') {\r\n                var timeToUpdate_1 = CalendarPipe_1._getMillisecondsUntilUpdate();\r\n                CalendarPipe_1.timer = ngZone.runOutsideAngular(function () {\r\n                    return window.setTimeout(function () {\r\n                        // emit the current date\r\n                        CalendarPipe_1.midnight.emit(new Date());\r\n                        // refresh the timer\r\n                        CalendarPipe_1.removeTimer();\r\n                        CalendarPipe_1.initTimer(ngZone);\r\n                    }, timeToUpdate_1);\r\n                });\r\n            }\r\n        }\r\n    };\r\n    CalendarPipe.removeTimer = function () {\r\n        if (CalendarPipe_1.timer) {\r\n            window.clearTimeout(CalendarPipe_1.timer);\r\n            CalendarPipe_1.timer = null;\r\n            CalendarPipe_1.midnight = null;\r\n        }\r\n    };\r\n    CalendarPipe._getMillisecondsUntilUpdate = function () {\r\n        var now = momentConstructor();\r\n        var tomorrow = momentConstructor().startOf('day').add(1, 'days');\r\n        var timeToMidnight = tomorrow.valueOf() - now.valueOf();\r\n        return timeToMidnight + 1000; // 1 second after midnight\r\n    };\r\n    return CalendarPipe;\r\n}());\r\n/**\r\n * @private Internal reference counter, so we can clean up when no instances are in use\r\n * @type {number}\r\n */\r\nCalendarPipe.refs = 0;\r\nCalendarPipe = CalendarPipe_1 = __decorate([\r\n    core_1.Pipe({ name: 'amCalendar', pure: false }),\r\n    __metadata(\"design:paramtypes\", [core_1.ChangeDetectorRef, core_1.NgZone])\r\n], CalendarPipe);\r\nexports.CalendarPipe = CalendarPipe;\r\nvar CalendarPipe_1;\r\n//# sourceMappingURL=calendar.pipe.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/angular2-moment/calendar.pipe.js\n// module id = 620\n// module chunks = 0","/* angular2-moment (c) 2015, 2016 Uri Shaked / MIT Licence */\r\n\"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 core_1 = require(\"@angular/core\");\r\nvar moment = require(\"moment\");\r\n// under systemjs, moment is actually exported as the default export, so we account for that\r\nvar momentConstructor = moment.default || moment;\r\nvar DateFormatPipe = (function () {\r\n    function DateFormatPipe() {\r\n    }\r\n    DateFormatPipe.prototype.transform = function (value) {\r\n        var args = [];\r\n        for (var _i = 1; _i < arguments.length; _i++) {\r\n            args[_i - 1] = arguments[_i];\r\n        }\r\n        if (!value)\r\n            return '';\r\n        return momentConstructor(value).format(args[0]);\r\n    };\r\n    return DateFormatPipe;\r\n}());\r\nDateFormatPipe = __decorate([\r\n    core_1.Pipe({ name: 'amDateFormat' })\r\n], DateFormatPipe);\r\nexports.DateFormatPipe = DateFormatPipe;\r\n//# sourceMappingURL=date-format.pipe.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/angular2-moment/date-format.pipe.js\n// module id = 621\n// module chunks = 0","/* angular2-moment (c) 2015, 2016 Uri Shaked / MIT Licence */\r\n\"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 core_1 = require(\"@angular/core\");\r\nvar moment = require(\"moment\");\r\n// under systemjs, moment is actually exported as the default export, so we account for that\r\nvar momentConstructor = moment.default || moment;\r\nvar DifferencePipe = (function () {\r\n    function DifferencePipe() {\r\n    }\r\n    DifferencePipe.prototype.transform = function (value, otherValue, unit, precision) {\r\n        var date = momentConstructor(value);\r\n        var date2 = (otherValue !== null) ? momentConstructor(otherValue) : momentConstructor();\r\n        return date.diff(date2, unit, precision);\r\n    };\r\n    return DifferencePipe;\r\n}());\r\nDifferencePipe = __decorate([\r\n    core_1.Pipe({ name: 'amDifference' })\r\n], DifferencePipe);\r\nexports.DifferencePipe = DifferencePipe;\r\n//# sourceMappingURL=difference.pipe.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/angular2-moment/difference.pipe.js\n// module id = 622\n// module chunks = 0","\"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 core_1 = require(\"@angular/core\");\r\nvar moment = require(\"moment\");\r\nvar DurationPipe = (function () {\r\n    function DurationPipe() {\r\n    }\r\n    DurationPipe.prototype.transform = function (value) {\r\n        var args = [];\r\n        for (var _i = 1; _i < arguments.length; _i++) {\r\n            args[_i - 1] = arguments[_i];\r\n        }\r\n        if (typeof args === 'undefined' || args.length !== 1) {\r\n            throw new Error('DurationPipe: missing required time unit argument');\r\n        }\r\n        return moment.duration(value, args[0]).humanize();\r\n    };\r\n    return DurationPipe;\r\n}());\r\nDurationPipe = __decorate([\r\n    core_1.Pipe({ name: 'amDuration' })\r\n], DurationPipe);\r\nexports.DurationPipe = DurationPipe;\r\n//# sourceMappingURL=duration.pipe.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/angular2-moment/duration.pipe.js\n// module id = 623\n// module chunks = 0","/* angular2-moment (c) 2015, 2016 Uri Shaked / MIT Licence */\r\n\"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 core_1 = require(\"@angular/core\");\r\nvar moment = require(\"moment\");\r\nvar FromUnixPipe = (function () {\r\n    function FromUnixPipe() {\r\n    }\r\n    FromUnixPipe.prototype.transform = function (value) {\r\n        var args = [];\r\n        for (var _i = 1; _i < arguments.length; _i++) {\r\n            args[_i - 1] = arguments[_i];\r\n        }\r\n        if (typeof value === 'string') {\r\n            value = +value;\r\n        }\r\n        return moment.unix(value);\r\n    };\r\n    return FromUnixPipe;\r\n}());\r\nFromUnixPipe = __decorate([\r\n    core_1.Pipe({ name: 'amFromUnix' })\r\n], FromUnixPipe);\r\nexports.FromUnixPipe = FromUnixPipe;\r\n//# sourceMappingURL=from-unix.pipe.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/angular2-moment/from-unix.pipe.js\n// module id = 624\n// module chunks = 0","\"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 core_1 = require(\"@angular/core\");\r\nvar moment = require(\"moment\");\r\n// under systemjs, moment is actually exported as the default export, so we account for that\r\nvar momentConstructor = moment.default || moment;\r\nvar LocalTimePipe = (function () {\r\n    function LocalTimePipe() {\r\n    }\r\n    LocalTimePipe.prototype.transform = function (value) {\r\n        return moment(value).local();\r\n    };\r\n    return LocalTimePipe;\r\n}());\r\nLocalTimePipe = __decorate([\r\n    core_1.Pipe({ name: 'amLocal' })\r\n], LocalTimePipe);\r\nexports.LocalTimePipe = LocalTimePipe;\r\n//# sourceMappingURL=local.pipe.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/angular2-moment/local.pipe.js\n// module id = 625\n// module chunks = 0","\"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 core_1 = require(\"@angular/core\");\r\nvar moment = require(\"moment\");\r\n// under systemjs, moment is actually exported as the default export, so we account for that\r\nvar momentConstructor = moment.default || moment;\r\nvar LocalePipe = (function () {\r\n    function LocalePipe() {\r\n    }\r\n    LocalePipe.prototype.transform = function (value, locale) {\r\n        return moment(value).locale(locale);\r\n    };\r\n    return LocalePipe;\r\n}());\r\nLocalePipe = __decorate([\r\n    core_1.Pipe({ name: 'amLocale' })\r\n], LocalePipe);\r\nexports.LocalePipe = LocalePipe;\r\n//# sourceMappingURL=locale.pipe.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/angular2-moment/locale.pipe.js\n// module id = 626\n// module chunks = 0","\"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 core_1 = require(\"@angular/core\");\r\nvar moment = require(\"moment\");\r\n// under systemjs, moment is actually exported as the default export, so we account for that\r\nvar momentConstructor = moment.default || moment;\r\nvar ParsePipe = (function () {\r\n    function ParsePipe() {\r\n    }\r\n    ParsePipe.prototype.transform = function (value, format) {\r\n        return moment(value, format);\r\n    };\r\n    return ParsePipe;\r\n}());\r\nParsePipe = __decorate([\r\n    core_1.Pipe({ name: 'amParse' })\r\n], ParsePipe);\r\nexports.ParsePipe = ParsePipe;\r\n//# sourceMappingURL=parse.pipe.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/angular2-moment/parse.pipe.js\n// module id = 627\n// module chunks = 0","/* angular2-moment (c) 2015, 2016 Uri Shaked / MIT Licence */\r\n\"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 core_1 = require(\"@angular/core\");\r\nvar moment = require(\"moment\");\r\nvar SubtractPipe = (function () {\r\n    function SubtractPipe() {\r\n    }\r\n    SubtractPipe.prototype.transform = function (value, amount, unit) {\r\n        if (typeof amount === 'undefined' || (typeof amount === 'number' && typeof unit === 'undefined')) {\r\n            throw new Error('SubtractPipe: missing required arguments');\r\n        }\r\n        return moment(value).subtract(amount, unit);\r\n    };\r\n    return SubtractPipe;\r\n}());\r\nSubtractPipe = __decorate([\r\n    core_1.Pipe({ name: 'amSubtract' })\r\n], SubtractPipe);\r\nexports.SubtractPipe = SubtractPipe;\r\n//# sourceMappingURL=subtract.pipe.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/angular2-moment/subtract.pipe.js\n// module id = 628\n// module chunks = 0","/* angular2-moment (c) 2015, 2016 Uri Shaked / MIT Licence */\r\n\"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 moment = require(\"moment\");\r\n// under systemjs, moment is actually exported as the default export, so we account for that\r\nvar momentConstructor = moment.default || moment;\r\nvar TimeAgoPipe = (function () {\r\n    function TimeAgoPipe(cdRef, ngZone) {\r\n        this.cdRef = cdRef;\r\n        this.ngZone = ngZone;\r\n    }\r\n    TimeAgoPipe.prototype.transform = function (value, omitSuffix) {\r\n        if (this.hasChanged(value, omitSuffix)) {\r\n            this.lastTime = this.getTime(value);\r\n            this.lastValue = value;\r\n            this.lastOmitSuffix = omitSuffix;\r\n            this.removeTimer();\r\n            this.createTimer();\r\n            this.lastText = momentConstructor(value).from(momentConstructor(), omitSuffix);\r\n        }\r\n        else {\r\n            this.createTimer();\r\n        }\r\n        return this.lastText;\r\n    };\r\n    TimeAgoPipe.prototype.ngOnDestroy = function () {\r\n        this.removeTimer();\r\n    };\r\n    TimeAgoPipe.prototype.createTimer = function () {\r\n        var _this = this;\r\n        if (this.currentTimer) {\r\n            return;\r\n        }\r\n        var momentInstance = momentConstructor(this.lastValue);\r\n        var timeToUpdate = this.getSecondsUntilUpdate(momentInstance) * 1000;\r\n        this.currentTimer = this.ngZone.runOutsideAngular(function () {\r\n            if (typeof window !== 'undefined') {\r\n                return window.setTimeout(function () {\r\n                    _this.lastText = momentConstructor(_this.lastValue).from(momentConstructor(), _this.lastOmitSuffix);\r\n                    _this.currentTimer = null;\r\n                    _this.ngZone.run(function () { return _this.cdRef.markForCheck(); });\r\n                }, timeToUpdate);\r\n            }\r\n        });\r\n    };\r\n    TimeAgoPipe.prototype.removeTimer = function () {\r\n        if (this.currentTimer) {\r\n            window.clearTimeout(this.currentTimer);\r\n            this.currentTimer = null;\r\n        }\r\n    };\r\n    TimeAgoPipe.prototype.getSecondsUntilUpdate = function (momentInstance) {\r\n        var howOld = Math.abs(momentConstructor().diff(momentInstance, 'minute'));\r\n        if (howOld < 1) {\r\n            return 1;\r\n        }\r\n        else if (howOld < 60) {\r\n            return 30;\r\n        }\r\n        else if (howOld < 180) {\r\n            return 300;\r\n        }\r\n        else {\r\n            return 3600;\r\n        }\r\n    };\r\n    TimeAgoPipe.prototype.hasChanged = function (value, omitSuffix) {\r\n        return this.getTime(value) !== this.lastTime || omitSuffix !== this.lastOmitSuffix;\r\n    };\r\n    TimeAgoPipe.prototype.getTime = function (value) {\r\n        if (moment.isDate(value)) {\r\n            return value.getTime();\r\n        }\r\n        else if (moment.isMoment(value)) {\r\n            return value.valueOf();\r\n        }\r\n        else {\r\n            return momentConstructor(value).valueOf();\r\n        }\r\n    };\r\n    return TimeAgoPipe;\r\n}());\r\nTimeAgoPipe = __decorate([\r\n    core_1.Pipe({ name: 'amTimeAgo', pure: false }),\r\n    __metadata(\"design:paramtypes\", [core_1.ChangeDetectorRef, core_1.NgZone])\r\n], TimeAgoPipe);\r\nexports.TimeAgoPipe = TimeAgoPipe;\r\n//# sourceMappingURL=time-ago.pipe.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/angular2-moment/time-ago.pipe.js\n// module id = 629\n// module chunks = 0","\"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 core_1 = require(\"@angular/core\");\r\nvar moment = require(\"moment\");\r\n// under systemjs, moment is actually exported as the default export, so we account for that\r\nvar momentConstructor = moment.default || moment;\r\nvar UtcPipe = (function () {\r\n    function UtcPipe() {\r\n    }\r\n    UtcPipe.prototype.transform = function (value) {\r\n        return moment(value).utc();\r\n    };\r\n    return UtcPipe;\r\n}());\r\nUtcPipe = __decorate([\r\n    core_1.Pipe({ name: 'amUtc' })\r\n], UtcPipe);\r\nexports.UtcPipe = UtcPipe;\r\n//# sourceMappingURL=utc.pipe.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/angular2-moment/utc.pipe.js\n// module id = 630\n// module chunks = 0","/* MIT license */\nvar convert = require('color-convert');\nvar string = require('chartjs-color-string');\n\nvar Color = function (obj) {\n\tif (obj instanceof Color) {\n\t\treturn obj;\n\t}\n\tif (!(this instanceof Color)) {\n\t\treturn new Color(obj);\n\t}\n\n\tthis.valid = false;\n\tthis.values = {\n\t\trgb: [0, 0, 0],\n\t\thsl: [0, 0, 0],\n\t\thsv: [0, 0, 0],\n\t\thwb: [0, 0, 0],\n\t\tcmyk: [0, 0, 0, 0],\n\t\talpha: 1\n\t};\n\n\t// parse Color() argument\n\tvar vals;\n\tif (typeof obj === 'string') {\n\t\tvals = string.getRgba(obj);\n\t\tif (vals) {\n\t\t\tthis.setValues('rgb', vals);\n\t\t} else if (vals = string.getHsla(obj)) {\n\t\t\tthis.setValues('hsl', vals);\n\t\t} else if (vals = string.getHwb(obj)) {\n\t\t\tthis.setValues('hwb', vals);\n\t\t}\n\t} else if (typeof obj === 'object') {\n\t\tvals = obj;\n\t\tif (vals.r !== undefined || vals.red !== undefined) {\n\t\t\tthis.setValues('rgb', vals);\n\t\t} else if (vals.l !== undefined || vals.lightness !== undefined) {\n\t\t\tthis.setValues('hsl', vals);\n\t\t} else if (vals.v !== undefined || vals.value !== undefined) {\n\t\t\tthis.setValues('hsv', vals);\n\t\t} else if (vals.w !== undefined || vals.whiteness !== undefined) {\n\t\t\tthis.setValues('hwb', vals);\n\t\t} else if (vals.c !== undefined || vals.cyan !== undefined) {\n\t\t\tthis.setValues('cmyk', vals);\n\t\t}\n\t}\n};\n\nColor.prototype = {\n\tisValid: function () {\n\t\treturn this.valid;\n\t},\n\trgb: function () {\n\t\treturn this.setSpace('rgb', arguments);\n\t},\n\thsl: function () {\n\t\treturn this.setSpace('hsl', arguments);\n\t},\n\thsv: function () {\n\t\treturn this.setSpace('hsv', arguments);\n\t},\n\thwb: function () {\n\t\treturn this.setSpace('hwb', arguments);\n\t},\n\tcmyk: function () {\n\t\treturn this.setSpace('cmyk', arguments);\n\t},\n\n\trgbArray: function () {\n\t\treturn this.values.rgb;\n\t},\n\thslArray: function () {\n\t\treturn this.values.hsl;\n\t},\n\thsvArray: function () {\n\t\treturn this.values.hsv;\n\t},\n\thwbArray: function () {\n\t\tvar values = this.values;\n\t\tif (values.alpha !== 1) {\n\t\t\treturn values.hwb.concat([values.alpha]);\n\t\t}\n\t\treturn values.hwb;\n\t},\n\tcmykArray: function () {\n\t\treturn this.values.cmyk;\n\t},\n\trgbaArray: function () {\n\t\tvar values = this.values;\n\t\treturn values.rgb.concat([values.alpha]);\n\t},\n\thslaArray: function () {\n\t\tvar values = this.values;\n\t\treturn values.hsl.concat([values.alpha]);\n\t},\n\talpha: function (val) {\n\t\tif (val === undefined) {\n\t\t\treturn this.values.alpha;\n\t\t}\n\t\tthis.setValues('alpha', val);\n\t\treturn this;\n\t},\n\n\tred: function (val) {\n\t\treturn this.setChannel('rgb', 0, val);\n\t},\n\tgreen: function (val) {\n\t\treturn this.setChannel('rgb', 1, val);\n\t},\n\tblue: function (val) {\n\t\treturn this.setChannel('rgb', 2, val);\n\t},\n\thue: function (val) {\n\t\tif (val) {\n\t\t\tval %= 360;\n\t\t\tval = val < 0 ? 360 + val : val;\n\t\t}\n\t\treturn this.setChannel('hsl', 0, val);\n\t},\n\tsaturation: function (val) {\n\t\treturn this.setChannel('hsl', 1, val);\n\t},\n\tlightness: function (val) {\n\t\treturn this.setChannel('hsl', 2, val);\n\t},\n\tsaturationv: function (val) {\n\t\treturn this.setChannel('hsv', 1, val);\n\t},\n\twhiteness: function (val) {\n\t\treturn this.setChannel('hwb', 1, val);\n\t},\n\tblackness: function (val) {\n\t\treturn this.setChannel('hwb', 2, val);\n\t},\n\tvalue: function (val) {\n\t\treturn this.setChannel('hsv', 2, val);\n\t},\n\tcyan: function (val) {\n\t\treturn this.setChannel('cmyk', 0, val);\n\t},\n\tmagenta: function (val) {\n\t\treturn this.setChannel('cmyk', 1, val);\n\t},\n\tyellow: function (val) {\n\t\treturn this.setChannel('cmyk', 2, val);\n\t},\n\tblack: function (val) {\n\t\treturn this.setChannel('cmyk', 3, val);\n\t},\n\n\thexString: function () {\n\t\treturn string.hexString(this.values.rgb);\n\t},\n\trgbString: function () {\n\t\treturn string.rgbString(this.values.rgb, this.values.alpha);\n\t},\n\trgbaString: function () {\n\t\treturn string.rgbaString(this.values.rgb, this.values.alpha);\n\t},\n\tpercentString: function () {\n\t\treturn string.percentString(this.values.rgb, this.values.alpha);\n\t},\n\thslString: function () {\n\t\treturn string.hslString(this.values.hsl, this.values.alpha);\n\t},\n\thslaString: function () {\n\t\treturn string.hslaString(this.values.hsl, this.values.alpha);\n\t},\n\thwbString: function () {\n\t\treturn string.hwbString(this.values.hwb, this.values.alpha);\n\t},\n\tkeyword: function () {\n\t\treturn string.keyword(this.values.rgb, this.values.alpha);\n\t},\n\n\trgbNumber: function () {\n\t\tvar rgb = this.values.rgb;\n\t\treturn (rgb[0] << 16) | (rgb[1] << 8) | rgb[2];\n\t},\n\n\tluminosity: function () {\n\t\t// http://www.w3.org/TR/WCAG20/#relativeluminancedef\n\t\tvar rgb = this.values.rgb;\n\t\tvar lum = [];\n\t\tfor (var i = 0; i < rgb.length; i++) {\n\t\t\tvar chan = rgb[i] / 255;\n\t\t\tlum[i] = (chan <= 0.03928) ? chan / 12.92 : Math.pow(((chan + 0.055) / 1.055), 2.4);\n\t\t}\n\t\treturn 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];\n\t},\n\n\tcontrast: function (color2) {\n\t\t// http://www.w3.org/TR/WCAG20/#contrast-ratiodef\n\t\tvar lum1 = this.luminosity();\n\t\tvar lum2 = color2.luminosity();\n\t\tif (lum1 > lum2) {\n\t\t\treturn (lum1 + 0.05) / (lum2 + 0.05);\n\t\t}\n\t\treturn (lum2 + 0.05) / (lum1 + 0.05);\n\t},\n\n\tlevel: function (color2) {\n\t\tvar contrastRatio = this.contrast(color2);\n\t\tif (contrastRatio >= 7.1) {\n\t\t\treturn 'AAA';\n\t\t}\n\n\t\treturn (contrastRatio >= 4.5) ? 'AA' : '';\n\t},\n\n\tdark: function () {\n\t\t// YIQ equation from http://24ways.org/2010/calculating-color-contrast\n\t\tvar rgb = this.values.rgb;\n\t\tvar yiq = (rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) / 1000;\n\t\treturn yiq < 128;\n\t},\n\n\tlight: function () {\n\t\treturn !this.dark();\n\t},\n\n\tnegate: function () {\n\t\tvar rgb = [];\n\t\tfor (var i = 0; i < 3; i++) {\n\t\t\trgb[i] = 255 - this.values.rgb[i];\n\t\t}\n\t\tthis.setValues('rgb', rgb);\n\t\treturn this;\n\t},\n\n\tlighten: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[2] += hsl[2] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\tdarken: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[2] -= hsl[2] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\tsaturate: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[1] += hsl[1] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\tdesaturate: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[1] -= hsl[1] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\twhiten: function (ratio) {\n\t\tvar hwb = this.values.hwb;\n\t\thwb[1] += hwb[1] * ratio;\n\t\tthis.setValues('hwb', hwb);\n\t\treturn this;\n\t},\n\n\tblacken: function (ratio) {\n\t\tvar hwb = this.values.hwb;\n\t\thwb[2] += hwb[2] * ratio;\n\t\tthis.setValues('hwb', hwb);\n\t\treturn this;\n\t},\n\n\tgreyscale: function () {\n\t\tvar rgb = this.values.rgb;\n\t\t// http://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale\n\t\tvar val = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;\n\t\tthis.setValues('rgb', [val, val, val]);\n\t\treturn this;\n\t},\n\n\tclearer: function (ratio) {\n\t\tvar alpha = this.values.alpha;\n\t\tthis.setValues('alpha', alpha - (alpha * ratio));\n\t\treturn this;\n\t},\n\n\topaquer: function (ratio) {\n\t\tvar alpha = this.values.alpha;\n\t\tthis.setValues('alpha', alpha + (alpha * ratio));\n\t\treturn this;\n\t},\n\n\trotate: function (degrees) {\n\t\tvar hsl = this.values.hsl;\n\t\tvar hue = (hsl[0] + degrees) % 360;\n\t\thsl[0] = hue < 0 ? 360 + hue : hue;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\t/**\n\t * Ported from sass implementation in C\n\t * https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209\n\t */\n\tmix: function (mixinColor, weight) {\n\t\tvar color1 = this;\n\t\tvar color2 = mixinColor;\n\t\tvar p = weight === undefined ? 0.5 : weight;\n\n\t\tvar w = 2 * p - 1;\n\t\tvar a = color1.alpha() - color2.alpha();\n\n\t\tvar w1 = (((w * a === -1) ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n\t\tvar w2 = 1 - w1;\n\n\t\treturn this\n\t\t\t.rgb(\n\t\t\t\tw1 * color1.red() + w2 * color2.red(),\n\t\t\t\tw1 * color1.green() + w2 * color2.green(),\n\t\t\t\tw1 * color1.blue() + w2 * color2.blue()\n\t\t\t)\n\t\t\t.alpha(color1.alpha() * p + color2.alpha() * (1 - p));\n\t},\n\n\ttoJSON: function () {\n\t\treturn this.rgb();\n\t},\n\n\tclone: function () {\n\t\t// NOTE(SB): using node-clone creates a dependency to Buffer when using browserify,\n\t\t// making the final build way to big to embed in Chart.js. So let's do it manually,\n\t\t// assuming that values to clone are 1 dimension arrays containing only numbers,\n\t\t// except 'alpha' which is a number.\n\t\tvar result = new Color();\n\t\tvar source = this.values;\n\t\tvar target = result.values;\n\t\tvar value, type;\n\n\t\tfor (var prop in source) {\n\t\t\tif (source.hasOwnProperty(prop)) {\n\t\t\t\tvalue = source[prop];\n\t\t\t\ttype = ({}).toString.call(value);\n\t\t\t\tif (type === '[object Array]') {\n\t\t\t\t\ttarget[prop] = value.slice(0);\n\t\t\t\t} else if (type === '[object Number]') {\n\t\t\t\t\ttarget[prop] = value;\n\t\t\t\t} else {\n\t\t\t\t\tconsole.error('unexpected color value:', value);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n};\n\nColor.prototype.spaces = {\n\trgb: ['red', 'green', 'blue'],\n\thsl: ['hue', 'saturation', 'lightness'],\n\thsv: ['hue', 'saturation', 'value'],\n\thwb: ['hue', 'whiteness', 'blackness'],\n\tcmyk: ['cyan', 'magenta', 'yellow', 'black']\n};\n\nColor.prototype.maxes = {\n\trgb: [255, 255, 255],\n\thsl: [360, 100, 100],\n\thsv: [360, 100, 100],\n\thwb: [360, 100, 100],\n\tcmyk: [100, 100, 100, 100]\n};\n\nColor.prototype.getValues = function (space) {\n\tvar values = this.values;\n\tvar vals = {};\n\n\tfor (var i = 0; i < space.length; i++) {\n\t\tvals[space.charAt(i)] = values[space][i];\n\t}\n\n\tif (values.alpha !== 1) {\n\t\tvals.a = values.alpha;\n\t}\n\n\t// {r: 255, g: 255, b: 255, a: 0.4}\n\treturn vals;\n};\n\nColor.prototype.setValues = function (space, vals) {\n\tvar values = this.values;\n\tvar spaces = this.spaces;\n\tvar maxes = this.maxes;\n\tvar alpha = 1;\n\tvar i;\n\n\tthis.valid = true;\n\n\tif (space === 'alpha') {\n\t\talpha = vals;\n\t} else if (vals.length) {\n\t\t// [10, 10, 10]\n\t\tvalues[space] = vals.slice(0, space.length);\n\t\talpha = vals[space.length];\n\t} else if (vals[space.charAt(0)] !== undefined) {\n\t\t// {r: 10, g: 10, b: 10}\n\t\tfor (i = 0; i < space.length; i++) {\n\t\t\tvalues[space][i] = vals[space.charAt(i)];\n\t\t}\n\n\t\talpha = vals.a;\n\t} else if (vals[spaces[space][0]] !== undefined) {\n\t\t// {red: 10, green: 10, blue: 10}\n\t\tvar chans = spaces[space];\n\n\t\tfor (i = 0; i < space.length; i++) {\n\t\t\tvalues[space][i] = vals[chans[i]];\n\t\t}\n\n\t\talpha = vals.alpha;\n\t}\n\n\tvalues.alpha = Math.max(0, Math.min(1, (alpha === undefined ? values.alpha : alpha)));\n\n\tif (space === 'alpha') {\n\t\treturn false;\n\t}\n\n\tvar capped;\n\n\t// cap values of the space prior converting all values\n\tfor (i = 0; i < space.length; i++) {\n\t\tcapped = Math.max(0, Math.min(maxes[space][i], values[space][i]));\n\t\tvalues[space][i] = Math.round(capped);\n\t}\n\n\t// convert to all the other color spaces\n\tfor (var sname in spaces) {\n\t\tif (sname !== space) {\n\t\t\tvalues[sname] = convert[space][sname](values[space]);\n\t\t}\n\t}\n\n\treturn true;\n};\n\nColor.prototype.setSpace = function (space, args) {\n\tvar vals = args[0];\n\n\tif (vals === undefined) {\n\t\t// color.rgb()\n\t\treturn this.getValues(space);\n\t}\n\n\t// color.rgb(10, 10, 10)\n\tif (typeof vals === 'number') {\n\t\tvals = Array.prototype.slice.call(args);\n\t}\n\n\tthis.setValues(space, vals);\n\treturn this;\n};\n\nColor.prototype.setChannel = function (space, index, val) {\n\tvar svalues = this.values[space];\n\tif (val === undefined) {\n\t\t// color.red()\n\t\treturn svalues[index];\n\t} else if (val === svalues[index]) {\n\t\t// color.red(color.red())\n\t\treturn this;\n\t}\n\n\t// color.red(100)\n\tsvalues[index] = val;\n\tthis.setValues(space, svalues);\n\n\treturn this;\n};\n\nif (typeof window !== 'undefined') {\n\twindow.Color = Color;\n}\n\nmodule.exports = Color;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/chartjs-color/index.js\n// module id = 631\n// module chunks = 0","/* MIT license */\nvar cssKeywords = require('color-name');\n\n// NOTE: conversions should only return primitive values (i.e. arrays, or\n//       values that give correct `typeof` results).\n//       do not use box values types (i.e. Number(), String(), etc.)\n\nvar reverseKeywords = {};\nfor (var key in cssKeywords) {\n\tif (cssKeywords.hasOwnProperty(key)) {\n\t\treverseKeywords[cssKeywords[key]] = key;\n\t}\n}\n\nvar convert = module.exports = {\n\trgb: {channels: 3, labels: 'rgb'},\n\thsl: {channels: 3, labels: 'hsl'},\n\thsv: {channels: 3, labels: 'hsv'},\n\thwb: {channels: 3, labels: 'hwb'},\n\tcmyk: {channels: 4, labels: 'cmyk'},\n\txyz: {channels: 3, labels: 'xyz'},\n\tlab: {channels: 3, labels: 'lab'},\n\tlch: {channels: 3, labels: 'lch'},\n\thex: {channels: 1, labels: ['hex']},\n\tkeyword: {channels: 1, labels: ['keyword']},\n\tansi16: {channels: 1, labels: ['ansi16']},\n\tansi256: {channels: 1, labels: ['ansi256']},\n\thcg: {channels: 3, labels: ['h', 'c', 'g']},\n\tapple: {channels: 3, labels: ['r16', 'g16', 'b16']},\n\tgray: {channels: 1, labels: ['gray']}\n};\n\n// hide .channels and .labels properties\nfor (var model in convert) {\n\tif (convert.hasOwnProperty(model)) {\n\t\tif (!('channels' in convert[model])) {\n\t\t\tthrow new Error('missing channels property: ' + model);\n\t\t}\n\n\t\tif (!('labels' in convert[model])) {\n\t\t\tthrow new Error('missing channel labels property: ' + model);\n\t\t}\n\n\t\tif (convert[model].labels.length !== convert[model].channels) {\n\t\t\tthrow new Error('channel and label counts mismatch: ' + model);\n\t\t}\n\n\t\tvar channels = convert[model].channels;\n\t\tvar labels = convert[model].labels;\n\t\tdelete convert[model].channels;\n\t\tdelete convert[model].labels;\n\t\tObject.defineProperty(convert[model], 'channels', {value: channels});\n\t\tObject.defineProperty(convert[model], 'labels', {value: labels});\n\t}\n}\n\nconvert.rgb.hsl = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar min = Math.min(r, g, b);\n\tvar max = Math.max(r, g, b);\n\tvar delta = max - min;\n\tvar h;\n\tvar s;\n\tvar l;\n\n\tif (max === min) {\n\t\th = 0;\n\t} else if (r === max) {\n\t\th = (g - b) / delta;\n\t} else if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t} else if (b === max) {\n\t\th = 4 + (r - g) / delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tl = (min + max) / 2;\n\n\tif (max === min) {\n\t\ts = 0;\n\t} else if (l <= 0.5) {\n\t\ts = delta / (max + min);\n\t} else {\n\t\ts = delta / (2 - max - min);\n\t}\n\n\treturn [h, s * 100, l * 100];\n};\n\nconvert.rgb.hsv = function (rgb) {\n\tvar rdif;\n\tvar gdif;\n\tvar bdif;\n\tvar h;\n\tvar s;\n\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar v = Math.max(r, g, b);\n\tvar diff = v - Math.min(r, g, b);\n\tvar diffc = function (c) {\n\t\treturn (v - c) / 6 / diff + 1 / 2;\n\t};\n\n\tif (diff === 0) {\n\t\th = s = 0;\n\t} else {\n\t\ts = diff / v;\n\t\trdif = diffc(r);\n\t\tgdif = diffc(g);\n\t\tbdif = diffc(b);\n\n\t\tif (r === v) {\n\t\t\th = bdif - gdif;\n\t\t} else if (g === v) {\n\t\t\th = (1 / 3) + rdif - bdif;\n\t\t} else if (b === v) {\n\t\t\th = (2 / 3) + gdif - rdif;\n\t\t}\n\t\tif (h < 0) {\n\t\t\th += 1;\n\t\t} else if (h > 1) {\n\t\t\th -= 1;\n\t\t}\n\t}\n\n\treturn [\n\t\th * 360,\n\t\ts * 100,\n\t\tv * 100\n\t];\n};\n\nconvert.rgb.hwb = function (rgb) {\n\tvar r = rgb[0];\n\tvar g = rgb[1];\n\tvar b = rgb[2];\n\tvar h = convert.rgb.hsl(rgb)[0];\n\tvar w = 1 / 255 * Math.min(r, Math.min(g, b));\n\n\tb = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n\n\treturn [h, w * 100, b * 100];\n};\n\nconvert.rgb.cmyk = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar c;\n\tvar m;\n\tvar y;\n\tvar k;\n\n\tk = Math.min(1 - r, 1 - g, 1 - b);\n\tc = (1 - r - k) / (1 - k) || 0;\n\tm = (1 - g - k) / (1 - k) || 0;\n\ty = (1 - b - k) / (1 - k) || 0;\n\n\treturn [c * 100, m * 100, y * 100, k * 100];\n};\n\n/**\n * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n * */\nfunction comparativeDistance(x, y) {\n\treturn (\n\t\tMath.pow(x[0] - y[0], 2) +\n\t\tMath.pow(x[1] - y[1], 2) +\n\t\tMath.pow(x[2] - y[2], 2)\n\t);\n}\n\nconvert.rgb.keyword = function (rgb) {\n\tvar reversed = reverseKeywords[rgb];\n\tif (reversed) {\n\t\treturn reversed;\n\t}\n\n\tvar currentClosestDistance = Infinity;\n\tvar currentClosestKeyword;\n\n\tfor (var keyword in cssKeywords) {\n\t\tif (cssKeywords.hasOwnProperty(keyword)) {\n\t\t\tvar value = cssKeywords[keyword];\n\n\t\t\t// Compute comparative distance\n\t\t\tvar distance = comparativeDistance(rgb, value);\n\n\t\t\t// Check if its less, if so set as closest\n\t\t\tif (distance < currentClosestDistance) {\n\t\t\t\tcurrentClosestDistance = distance;\n\t\t\t\tcurrentClosestKeyword = keyword;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn currentClosestKeyword;\n};\n\nconvert.keyword.rgb = function (keyword) {\n\treturn cssKeywords[keyword];\n};\n\nconvert.rgb.xyz = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\n\t// assume sRGB\n\tr = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92);\n\n\tvar x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\tvar y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\tvar z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\n\treturn [x * 100, y * 100, z * 100];\n};\n\nconvert.rgb.lab = function (rgb) {\n\tvar xyz = convert.rgb.xyz(rgb);\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.hsl.rgb = function (hsl) {\n\tvar h = hsl[0] / 360;\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar t1;\n\tvar t2;\n\tvar t3;\n\tvar rgb;\n\tvar val;\n\n\tif (s === 0) {\n\t\tval = l * 255;\n\t\treturn [val, val, val];\n\t}\n\n\tif (l < 0.5) {\n\t\tt2 = l * (1 + s);\n\t} else {\n\t\tt2 = l + s - l * s;\n\t}\n\n\tt1 = 2 * l - t2;\n\n\trgb = [0, 0, 0];\n\tfor (var i = 0; i < 3; i++) {\n\t\tt3 = h + 1 / 3 * -(i - 1);\n\t\tif (t3 < 0) {\n\t\t\tt3++;\n\t\t}\n\t\tif (t3 > 1) {\n\t\t\tt3--;\n\t\t}\n\n\t\tif (6 * t3 < 1) {\n\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t} else if (2 * t3 < 1) {\n\t\t\tval = t2;\n\t\t} else if (3 * t3 < 2) {\n\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t} else {\n\t\t\tval = t1;\n\t\t}\n\n\t\trgb[i] = val * 255;\n\t}\n\n\treturn rgb;\n};\n\nconvert.hsl.hsv = function (hsl) {\n\tvar h = hsl[0];\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar smin = s;\n\tvar lmin = Math.max(l, 0.01);\n\tvar sv;\n\tvar v;\n\n\tl *= 2;\n\ts *= (l <= 1) ? l : 2 - l;\n\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\n\tv = (l + s) / 2;\n\tsv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);\n\n\treturn [h, sv * 100, v * 100];\n};\n\nconvert.hsv.rgb = function (hsv) {\n\tvar h = hsv[0] / 60;\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar hi = Math.floor(h) % 6;\n\n\tvar f = h - Math.floor(h);\n\tvar p = 255 * v * (1 - s);\n\tvar q = 255 * v * (1 - (s * f));\n\tvar t = 255 * v * (1 - (s * (1 - f)));\n\tv *= 255;\n\n\tswitch (hi) {\n\t\tcase 0:\n\t\t\treturn [v, t, p];\n\t\tcase 1:\n\t\t\treturn [q, v, p];\n\t\tcase 2:\n\t\t\treturn [p, v, t];\n\t\tcase 3:\n\t\t\treturn [p, q, v];\n\t\tcase 4:\n\t\t\treturn [t, p, v];\n\t\tcase 5:\n\t\t\treturn [v, p, q];\n\t}\n};\n\nconvert.hsv.hsl = function (hsv) {\n\tvar h = hsv[0];\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar vmin = Math.max(v, 0.01);\n\tvar lmin;\n\tvar sl;\n\tvar l;\n\n\tl = (2 - s) * v;\n\tlmin = (2 - s) * vmin;\n\tsl = s * vmin;\n\tsl /= (lmin <= 1) ? lmin : 2 - lmin;\n\tsl = sl || 0;\n\tl /= 2;\n\n\treturn [h, sl * 100, l * 100];\n};\n\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\nconvert.hwb.rgb = function (hwb) {\n\tvar h = hwb[0] / 360;\n\tvar wh = hwb[1] / 100;\n\tvar bl = hwb[2] / 100;\n\tvar ratio = wh + bl;\n\tvar i;\n\tvar v;\n\tvar f;\n\tvar n;\n\n\t// wh + bl cant be > 1\n\tif (ratio > 1) {\n\t\twh /= ratio;\n\t\tbl /= ratio;\n\t}\n\n\ti = Math.floor(6 * h);\n\tv = 1 - bl;\n\tf = 6 * h - i;\n\n\tif ((i & 0x01) !== 0) {\n\t\tf = 1 - f;\n\t}\n\n\tn = wh + f * (v - wh); // linear interpolation\n\n\tvar r;\n\tvar g;\n\tvar b;\n\tswitch (i) {\n\t\tdefault:\n\t\tcase 6:\n\t\tcase 0: r = v; g = n; b = wh; break;\n\t\tcase 1: r = n; g = v; b = wh; break;\n\t\tcase 2: r = wh; g = v; b = n; break;\n\t\tcase 3: r = wh; g = n; b = v; break;\n\t\tcase 4: r = n; g = wh; b = v; break;\n\t\tcase 5: r = v; g = wh; b = n; break;\n\t}\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.cmyk.rgb = function (cmyk) {\n\tvar c = cmyk[0] / 100;\n\tvar m = cmyk[1] / 100;\n\tvar y = cmyk[2] / 100;\n\tvar k = cmyk[3] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = 1 - Math.min(1, c * (1 - k) + k);\n\tg = 1 - Math.min(1, m * (1 - k) + k);\n\tb = 1 - Math.min(1, y * (1 - k) + k);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.rgb = function (xyz) {\n\tvar x = xyz[0] / 100;\n\tvar y = xyz[1] / 100;\n\tvar z = xyz[2] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n\tg = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n\tb = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\n\t// assume sRGB\n\tr = r > 0.0031308\n\t\t? ((1.055 * Math.pow(r, 1.0 / 2.4)) - 0.055)\n\t\t: r * 12.92;\n\n\tg = g > 0.0031308\n\t\t? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055)\n\t\t: g * 12.92;\n\n\tb = b > 0.0031308\n\t\t? ((1.055 * Math.pow(b, 1.0 / 2.4)) - 0.055)\n\t\t: b * 12.92;\n\n\tr = Math.min(Math.max(0, r), 1);\n\tg = Math.min(Math.max(0, g), 1);\n\tb = Math.min(Math.max(0, b), 1);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.lab = function (xyz) {\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.lab.xyz = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar x;\n\tvar y;\n\tvar z;\n\n\ty = (l + 16) / 116;\n\tx = a / 500 + y;\n\tz = y - b / 200;\n\n\tvar y2 = Math.pow(y, 3);\n\tvar x2 = Math.pow(x, 3);\n\tvar z2 = Math.pow(z, 3);\n\ty = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n\tx = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n\tz = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n\n\tx *= 95.047;\n\ty *= 100;\n\tz *= 108.883;\n\n\treturn [x, y, z];\n};\n\nconvert.lab.lch = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar hr;\n\tvar h;\n\tvar c;\n\n\thr = Math.atan2(b, a);\n\th = hr * 360 / 2 / Math.PI;\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tc = Math.sqrt(a * a + b * b);\n\n\treturn [l, c, h];\n};\n\nconvert.lch.lab = function (lch) {\n\tvar l = lch[0];\n\tvar c = lch[1];\n\tvar h = lch[2];\n\tvar a;\n\tvar b;\n\tvar hr;\n\n\thr = h / 360 * 2 * Math.PI;\n\ta = c * Math.cos(hr);\n\tb = c * Math.sin(hr);\n\n\treturn [l, a, b];\n};\n\nconvert.rgb.ansi16 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\tvar value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization\n\n\tvalue = Math.round(value / 50);\n\n\tif (value === 0) {\n\t\treturn 30;\n\t}\n\n\tvar ansi = 30\n\t\t+ ((Math.round(b / 255) << 2)\n\t\t| (Math.round(g / 255) << 1)\n\t\t| Math.round(r / 255));\n\n\tif (value === 2) {\n\t\tansi += 60;\n\t}\n\n\treturn ansi;\n};\n\nconvert.hsv.ansi16 = function (args) {\n\t// optimization here; we already know the value and don't need to get\n\t// it converted for us.\n\treturn convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n};\n\nconvert.rgb.ansi256 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\n\t// we use the extended greyscale palette here, with the exception of\n\t// black and white. normal palette only has 4 greyscale shades.\n\tif (r === g && g === b) {\n\t\tif (r < 8) {\n\t\t\treturn 16;\n\t\t}\n\n\t\tif (r > 248) {\n\t\t\treturn 231;\n\t\t}\n\n\t\treturn Math.round(((r - 8) / 247) * 24) + 232;\n\t}\n\n\tvar ansi = 16\n\t\t+ (36 * Math.round(r / 255 * 5))\n\t\t+ (6 * Math.round(g / 255 * 5))\n\t\t+ Math.round(b / 255 * 5);\n\n\treturn ansi;\n};\n\nconvert.ansi16.rgb = function (args) {\n\tvar color = args % 10;\n\n\t// handle greyscale\n\tif (color === 0 || color === 7) {\n\t\tif (args > 50) {\n\t\t\tcolor += 3.5;\n\t\t}\n\n\t\tcolor = color / 10.5 * 255;\n\n\t\treturn [color, color, color];\n\t}\n\n\tvar mult = (~~(args > 50) + 1) * 0.5;\n\tvar r = ((color & 1) * mult) * 255;\n\tvar g = (((color >> 1) & 1) * mult) * 255;\n\tvar b = (((color >> 2) & 1) * mult) * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.ansi256.rgb = function (args) {\n\t// handle greyscale\n\tif (args >= 232) {\n\t\tvar c = (args - 232) * 10 + 8;\n\t\treturn [c, c, c];\n\t}\n\n\targs -= 16;\n\n\tvar rem;\n\tvar r = Math.floor(args / 36) / 5 * 255;\n\tvar g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n\tvar b = (rem % 6) / 5 * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hex = function (args) {\n\tvar integer = ((Math.round(args[0]) & 0xFF) << 16)\n\t\t+ ((Math.round(args[1]) & 0xFF) << 8)\n\t\t+ (Math.round(args[2]) & 0xFF);\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.hex.rgb = function (args) {\n\tvar match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\tif (!match) {\n\t\treturn [0, 0, 0];\n\t}\n\n\tvar colorString = match[0];\n\n\tif (match[0].length === 3) {\n\t\tcolorString = colorString.split('').map(function (char) {\n\t\t\treturn char + char;\n\t\t}).join('');\n\t}\n\n\tvar integer = parseInt(colorString, 16);\n\tvar r = (integer >> 16) & 0xFF;\n\tvar g = (integer >> 8) & 0xFF;\n\tvar b = integer & 0xFF;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hcg = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar max = Math.max(Math.max(r, g), b);\n\tvar min = Math.min(Math.min(r, g), b);\n\tvar chroma = (max - min);\n\tvar grayscale;\n\tvar hue;\n\n\tif (chroma < 1) {\n\t\tgrayscale = min / (1 - chroma);\n\t} else {\n\t\tgrayscale = 0;\n\t}\n\n\tif (chroma <= 0) {\n\t\thue = 0;\n\t} else\n\tif (max === r) {\n\t\thue = ((g - b) / chroma) % 6;\n\t} else\n\tif (max === g) {\n\t\thue = 2 + (b - r) / chroma;\n\t} else {\n\t\thue = 4 + (r - g) / chroma + 4;\n\t}\n\n\thue /= 6;\n\thue %= 1;\n\n\treturn [hue * 360, chroma * 100, grayscale * 100];\n};\n\nconvert.hsl.hcg = function (hsl) {\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar c = 1;\n\tvar f = 0;\n\n\tif (l < 0.5) {\n\t\tc = 2.0 * s * l;\n\t} else {\n\t\tc = 2.0 * s * (1.0 - l);\n\t}\n\n\tif (c < 1.0) {\n\t\tf = (l - 0.5 * c) / (1.0 - c);\n\t}\n\n\treturn [hsl[0], c * 100, f * 100];\n};\n\nconvert.hsv.hcg = function (hsv) {\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\n\tvar c = s * v;\n\tvar f = 0;\n\n\tif (c < 1.0) {\n\t\tf = (v - c) / (1 - c);\n\t}\n\n\treturn [hsv[0], c * 100, f * 100];\n};\n\nconvert.hcg.rgb = function (hcg) {\n\tvar h = hcg[0] / 360;\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tif (c === 0.0) {\n\t\treturn [g * 255, g * 255, g * 255];\n\t}\n\n\tvar pure = [0, 0, 0];\n\tvar hi = (h % 1) * 6;\n\tvar v = hi % 1;\n\tvar w = 1 - v;\n\tvar mg = 0;\n\n\tswitch (Math.floor(hi)) {\n\t\tcase 0:\n\t\t\tpure[0] = 1; pure[1] = v; pure[2] = 0; break;\n\t\tcase 1:\n\t\t\tpure[0] = w; pure[1] = 1; pure[2] = 0; break;\n\t\tcase 2:\n\t\t\tpure[0] = 0; pure[1] = 1; pure[2] = v; break;\n\t\tcase 3:\n\t\t\tpure[0] = 0; pure[1] = w; pure[2] = 1; break;\n\t\tcase 4:\n\t\t\tpure[0] = v; pure[1] = 0; pure[2] = 1; break;\n\t\tdefault:\n\t\t\tpure[0] = 1; pure[1] = 0; pure[2] = w;\n\t}\n\n\tmg = (1.0 - c) * g;\n\n\treturn [\n\t\t(c * pure[0] + mg) * 255,\n\t\t(c * pure[1] + mg) * 255,\n\t\t(c * pure[2] + mg) * 255\n\t];\n};\n\nconvert.hcg.hsv = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar v = c + g * (1.0 - c);\n\tvar f = 0;\n\n\tif (v > 0.0) {\n\t\tf = c / v;\n\t}\n\n\treturn [hcg[0], f * 100, v * 100];\n};\n\nconvert.hcg.hsl = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar l = g * (1.0 - c) + 0.5 * c;\n\tvar s = 0;\n\n\tif (l > 0.0 && l < 0.5) {\n\t\ts = c / (2 * l);\n\t} else\n\tif (l >= 0.5 && l < 1.0) {\n\t\ts = c / (2 * (1 - l));\n\t}\n\n\treturn [hcg[0], s * 100, l * 100];\n};\n\nconvert.hcg.hwb = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\tvar v = c + g * (1.0 - c);\n\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert.hwb.hcg = function (hwb) {\n\tvar w = hwb[1] / 100;\n\tvar b = hwb[2] / 100;\n\tvar v = 1 - b;\n\tvar c = v - w;\n\tvar g = 0;\n\n\tif (c < 1) {\n\t\tg = (v - c) / (1 - c);\n\t}\n\n\treturn [hwb[0], c * 100, g * 100];\n};\n\nconvert.apple.rgb = function (apple) {\n\treturn [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];\n};\n\nconvert.rgb.apple = function (rgb) {\n\treturn [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];\n};\n\nconvert.gray.rgb = function (args) {\n\treturn [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\n\nconvert.gray.hsl = convert.gray.hsv = function (args) {\n\treturn [0, 0, args[0]];\n};\n\nconvert.gray.hwb = function (gray) {\n\treturn [0, 100, gray[0]];\n};\n\nconvert.gray.cmyk = function (gray) {\n\treturn [0, 0, 0, gray[0]];\n};\n\nconvert.gray.lab = function (gray) {\n\treturn [gray[0], 0, 0];\n};\n\nconvert.gray.hex = function (gray) {\n\tvar val = Math.round(gray[0] / 100 * 255) & 0xFF;\n\tvar integer = (val << 16) + (val << 8) + val;\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.rgb.gray = function (rgb) {\n\tvar val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n\treturn [val / 255 * 100];\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/color-convert/conversions.js\n// module id = 632\n// module chunks = 0","'use strict'\r\n\r\nmodule.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/color-name/index.js\n// module id = 633\n// module chunks = 0","var toString = {}.toString;\n\nmodule.exports = function(it){\n  return toString.call(it).slice(8, -1);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_cof.js\n// module id = 634\n// module chunks = 0","var isObject = require('./_is-object')\n  , document = require('./_global').document\n  // in old IE typeof document.createElement is 'object'\n  , is = isObject(document) && isObject(document.createElement);\nmodule.exports = function(it){\n  return is ? document.createElement(it) : {};\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_dom-create.js\n// module id = 635\n// module chunks = 0","// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_enum-bug-keys.js\n// module id = 636\n// module chunks = 0","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_iobject.js\n// module id = 637\n// module chunks = 0","'use strict';\nvar LIBRARY        = require('./_library')\n  , $export        = require('./_export')\n  , redefine       = require('./_redefine')\n  , hide           = require('./_hide')\n  , has            = require('./_has')\n  , Iterators      = require('./_iterators')\n  , $iterCreate    = require('./_iter-create')\n  , setToStringTag = require('./_set-to-string-tag')\n  , getPrototypeOf = require('./_object-gpo')\n  , ITERATOR       = require('./_wks')('iterator')\n  , BUGGY          = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`\n  , FF_ITERATOR    = '@@iterator'\n  , KEYS           = 'keys'\n  , VALUES         = 'values';\n\nvar returnThis = function(){ return this; };\n\nmodule.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){\n  $iterCreate(Constructor, NAME, next);\n  var getMethod = function(kind){\n    if(!BUGGY && kind in proto)return proto[kind];\n    switch(kind){\n      case KEYS: return function keys(){ return new Constructor(this, kind); };\n      case VALUES: return function values(){ return new Constructor(this, kind); };\n    } return function entries(){ return new Constructor(this, kind); };\n  };\n  var TAG        = NAME + ' Iterator'\n    , DEF_VALUES = DEFAULT == VALUES\n    , VALUES_BUG = false\n    , proto      = Base.prototype\n    , $native    = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]\n    , $default   = $native || getMethod(DEFAULT)\n    , $entries   = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined\n    , $anyNative = NAME == 'Array' ? proto.entries || $native : $native\n    , methods, key, IteratorPrototype;\n  // Fix native\n  if($anyNative){\n    IteratorPrototype = getPrototypeOf($anyNative.call(new Base));\n    if(IteratorPrototype !== Object.prototype){\n      // Set @@toStringTag to native iterators\n      setToStringTag(IteratorPrototype, TAG, true);\n      // fix for some old engines\n      if(!LIBRARY && !has(IteratorPrototype, ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis);\n    }\n  }\n  // fix Array#{values, @@iterator}.name in V8 / FF\n  if(DEF_VALUES && $native && $native.name !== VALUES){\n    VALUES_BUG = true;\n    $default = function values(){ return $native.call(this); };\n  }\n  // Define iterator\n  if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){\n    hide(proto, ITERATOR, $default);\n  }\n  // Plug for library\n  Iterators[NAME] = $default;\n  Iterators[TAG]  = returnThis;\n  if(DEFAULT){\n    methods = {\n      values:  DEF_VALUES ? $default : getMethod(VALUES),\n      keys:    IS_SET     ? $default : getMethod(KEYS),\n      entries: $entries\n    };\n    if(FORCED)for(key in methods){\n      if(!(key in proto))redefine(proto, key, methods[key]);\n    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n  }\n  return methods;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_iter-define.js\n// module id = 638\n// module chunks = 0","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys       = require('./_object-keys-internal')\n  , enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O){\n  return $keys(O, enumBugKeys);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_object-keys.js\n// module id = 639\n// module chunks = 0","module.exports = function(bitmap, value){\n  return {\n    enumerable  : !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable    : !(bitmap & 4),\n    value       : value\n  };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_property-desc.js\n// module id = 640\n// module chunks = 0","var def = require('./_object-dp').f\n  , has = require('./_has')\n  , TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function(it, tag, stat){\n  if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_set-to-string-tag.js\n// module id = 641\n// module chunks = 0","var global = require('./_global')\n  , SHARED = '__core-js_shared__'\n  , store  = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function(key){\n  return store[key] || (store[key] = {});\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_shared.js\n// module id = 642\n// module chunks = 0","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function(it){\n  return Object(defined(it));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_to-object.js\n// module id = 643\n// module chunks = 0","var id = 0\n  , px = Math.random();\nmodule.exports = function(key){\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_uid.js\n// module id = 644\n// module chunks = 0","var cof = require('./_cof');\nmodule.exports = function(it, msg){\n  if(typeof it != 'number' && cof(it) != 'Number')throw TypeError(msg);\n  return +it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_a-number-value.js\n// module id = 645\n// module chunks = 0","// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = require('./_to-iobject')\n  , toLength  = require('./_to-length')\n  , toIndex   = require('./_to-index');\nmodule.exports = function(IS_INCLUDES){\n  return function($this, el, fromIndex){\n    var O      = toIObject($this)\n      , length = toLength(O.length)\n      , index  = toIndex(fromIndex, length)\n      , value;\n    // Array#includes uses SameValueZero equality algorithm\n    if(IS_INCLUDES && el != el)while(length > index){\n      value = O[index++];\n      if(value != value)return true;\n    // Array#toIndex ignores holes, Array#includes - not\n    } else for(;length > index; index++)if(IS_INCLUDES || index in O){\n      if(O[index] === el)return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_array-includes.js\n// module id = 646\n// module chunks = 0","var aFunction = require('./_a-function')\n  , toObject  = require('./_to-object')\n  , IObject   = require('./_iobject')\n  , toLength  = require('./_to-length');\n\nmodule.exports = function(that, callbackfn, aLen, memo, isRight){\n  aFunction(callbackfn);\n  var O      = toObject(that)\n    , self   = IObject(O)\n    , length = toLength(O.length)\n    , index  = isRight ? length - 1 : 0\n    , i      = isRight ? -1 : 1;\n  if(aLen < 2)for(;;){\n    if(index in self){\n      memo = self[index];\n      index += i;\n      break;\n    }\n    index += i;\n    if(isRight ? index < 0 : length <= index){\n      throw TypeError('Reduce of empty array with no initial value');\n    }\n  }\n  for(;isRight ? index >= 0 : length > index; index += i)if(index in self){\n    memo = callbackfn(memo, self[index], index, O);\n  }\n  return memo;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_array-reduce.js\n// module id = 647\n// module chunks = 0","'use strict';\nvar aFunction  = require('./_a-function')\n  , isObject   = require('./_is-object')\n  , invoke     = require('./_invoke')\n  , arraySlice = [].slice\n  , factories  = {};\n\nvar construct = function(F, len, args){\n  if(!(len in factories)){\n    for(var n = [], i = 0; i < len; i++)n[i] = 'a[' + i + ']';\n    factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');\n  } return factories[len](F, args);\n};\n\nmodule.exports = Function.bind || function bind(that /*, args... */){\n  var fn       = aFunction(this)\n    , partArgs = arraySlice.call(arguments, 1);\n  var bound = function(/* args... */){\n    var args = partArgs.concat(arraySlice.call(arguments));\n    return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);\n  };\n  if(isObject(fn.prototype))bound.prototype = fn.prototype;\n  return bound;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_bind.js\n// module id = 648\n// module chunks = 0","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof')\n  , TAG = require('./_wks')('toStringTag')\n  // ES3 wrong here\n  , ARG = cof(function(){ return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function(it, key){\n  try {\n    return it[key];\n  } catch(e){ /* empty */ }\n};\n\nmodule.exports = function(it){\n  var O, T, B;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n    // builtinTag case\n    : ARG ? cof(O)\n    // ES3 arguments fallback\n    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_classof.js\n// module id = 649\n// module chunks = 0","'use strict';\nvar dP          = require('./_object-dp').f\n  , create      = require('./_object-create')\n  , redefineAll = require('./_redefine-all')\n  , ctx         = require('./_ctx')\n  , anInstance  = require('./_an-instance')\n  , defined     = require('./_defined')\n  , forOf       = require('./_for-of')\n  , $iterDefine = require('./_iter-define')\n  , step        = require('./_iter-step')\n  , setSpecies  = require('./_set-species')\n  , DESCRIPTORS = require('./_descriptors')\n  , fastKey     = require('./_meta').fastKey\n  , SIZE        = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function(that, key){\n  // fast case\n  var index = fastKey(key), entry;\n  if(index !== 'F')return that._i[index];\n  // frozen object case\n  for(entry = that._f; entry; entry = entry.n){\n    if(entry.k == key)return entry;\n  }\n};\n\nmodule.exports = {\n  getConstructor: function(wrapper, NAME, IS_MAP, ADDER){\n    var C = wrapper(function(that, iterable){\n      anInstance(that, C, NAME, '_i');\n      that._i = create(null); // index\n      that._f = undefined;    // first entry\n      that._l = undefined;    // last entry\n      that[SIZE] = 0;         // size\n      if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);\n    });\n    redefineAll(C.prototype, {\n      // 23.1.3.1 Map.prototype.clear()\n      // 23.2.3.2 Set.prototype.clear()\n      clear: function clear(){\n        for(var that = this, data = that._i, entry = that._f; entry; entry = entry.n){\n          entry.r = true;\n          if(entry.p)entry.p = entry.p.n = undefined;\n          delete data[entry.i];\n        }\n        that._f = that._l = undefined;\n        that[SIZE] = 0;\n      },\n      // 23.1.3.3 Map.prototype.delete(key)\n      // 23.2.3.4 Set.prototype.delete(value)\n      'delete': function(key){\n        var that  = this\n          , entry = getEntry(that, key);\n        if(entry){\n          var next = entry.n\n            , prev = entry.p;\n          delete that._i[entry.i];\n          entry.r = true;\n          if(prev)prev.n = next;\n          if(next)next.p = prev;\n          if(that._f == entry)that._f = next;\n          if(that._l == entry)that._l = prev;\n          that[SIZE]--;\n        } return !!entry;\n      },\n      // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n      // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n      forEach: function forEach(callbackfn /*, that = undefined */){\n        anInstance(this, C, 'forEach');\n        var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3)\n          , entry;\n        while(entry = entry ? entry.n : this._f){\n          f(entry.v, entry.k, this);\n          // revert to the last existing entry\n          while(entry && entry.r)entry = entry.p;\n        }\n      },\n      // 23.1.3.7 Map.prototype.has(key)\n      // 23.2.3.7 Set.prototype.has(value)\n      has: function has(key){\n        return !!getEntry(this, key);\n      }\n    });\n    if(DESCRIPTORS)dP(C.prototype, 'size', {\n      get: function(){\n        return defined(this[SIZE]);\n      }\n    });\n    return C;\n  },\n  def: function(that, key, value){\n    var entry = getEntry(that, key)\n      , prev, index;\n    // change existing entry\n    if(entry){\n      entry.v = value;\n    // create new entry\n    } else {\n      that._l = entry = {\n        i: index = fastKey(key, true), // <- index\n        k: key,                        // <- key\n        v: value,                      // <- value\n        p: prev = that._l,             // <- previous entry\n        n: undefined,                  // <- next entry\n        r: false                       // <- removed\n      };\n      if(!that._f)that._f = entry;\n      if(prev)prev.n = entry;\n      that[SIZE]++;\n      // add to index\n      if(index !== 'F')that._i[index] = entry;\n    } return that;\n  },\n  getEntry: getEntry,\n  setStrong: function(C, NAME, IS_MAP){\n    // add .keys, .values, .entries, [@@iterator]\n    // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n    $iterDefine(C, NAME, function(iterated, kind){\n      this._t = iterated;  // target\n      this._k = kind;      // kind\n      this._l = undefined; // previous\n    }, function(){\n      var that  = this\n        , kind  = that._k\n        , entry = that._l;\n      // revert to the last existing entry\n      while(entry && entry.r)entry = entry.p;\n      // get next entry\n      if(!that._t || !(that._l = entry = entry ? entry.n : that._t._f)){\n        // or finish the iteration\n        that._t = undefined;\n        return step(1);\n      }\n      // return step by kind\n      if(kind == 'keys'  )return step(0, entry.k);\n      if(kind == 'values')return step(0, entry.v);\n      return step(0, [entry.k, entry.v]);\n    }, IS_MAP ? 'entries' : 'values' , !IS_MAP, true);\n\n    // add [@@species], 23.1.2.2, 23.2.2.2\n    setSpecies(NAME);\n  }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_collection-strong.js\n// module id = 650\n// module chunks = 0","'use strict';\nvar $defineProperty = require('./_object-dp')\n  , createDesc      = require('./_property-desc');\n\nmodule.exports = function(object, index, value){\n  if(index in object)$defineProperty.f(object, index, createDesc(0, value));\n  else object[index] = value;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_create-property.js\n// module id = 651\n// module chunks = 0","var isObject = require('./_is-object')\n  , document = require('./_global').document\n  // in old IE typeof document.createElement is 'object'\n  , is = isObject(document) && isObject(document.createElement);\nmodule.exports = function(it){\n  return is ? document.createElement(it) : {};\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_dom-create.js\n// module id = 652\n// module chunks = 0","module.exports = require('./_global').document && document.documentElement;\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_html.js\n// module id = 653\n// module chunks = 0","module.exports = !require('./_descriptors') && !require('./_fails')(function(){\n  return Object.defineProperty(require('./_dom-create')('div'), 'a', {get: function(){ return 7; }}).a != 7;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_ie8-dom-define.js\n// module id = 654\n// module chunks = 0","// check on default Array iterator\nvar Iterators  = require('./_iterators')\n  , ITERATOR   = require('./_wks')('iterator')\n  , ArrayProto = Array.prototype;\n\nmodule.exports = function(it){\n  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_is-array-iter.js\n// module id = 655\n// module chunks = 0","// 20.1.2.3 Number.isInteger(number)\nvar isObject = require('./_is-object')\n  , floor    = Math.floor;\nmodule.exports = function isInteger(it){\n  return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_is-integer.js\n// module id = 656\n// module chunks = 0","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function(iterator, fn, value, entries){\n  try {\n    return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n  // 7.4.6 IteratorClose(iterator, completion)\n  } catch(e){\n    var ret = iterator['return'];\n    if(ret !== undefined)anObject(ret.call(iterator));\n    throw e;\n  }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_iter-call.js\n// module id = 657\n// module chunks = 0","'use strict';\nvar create         = require('./_object-create')\n  , descriptor     = require('./_property-desc')\n  , setToStringTag = require('./_set-to-string-tag')\n  , IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function(){ return this; });\n\nmodule.exports = function(Constructor, NAME, next){\n  Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)});\n  setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_iter-create.js\n// module id = 658\n// module chunks = 0","var ITERATOR     = require('./_wks')('iterator')\n  , SAFE_CLOSING = false;\n\ntry {\n  var riter = [7][ITERATOR]();\n  riter['return'] = function(){ SAFE_CLOSING = true; };\n  Array.from(riter, function(){ throw 2; });\n} catch(e){ /* empty */ }\n\nmodule.exports = function(exec, skipClosing){\n  if(!skipClosing && !SAFE_CLOSING)return false;\n  var safe = false;\n  try {\n    var arr  = [7]\n      , iter = arr[ITERATOR]();\n    iter.next = function(){ return {done: safe = true}; };\n    arr[ITERATOR] = function(){ return iter; };\n    exec(arr);\n  } catch(e){ /* empty */ }\n  return safe;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_iter-detect.js\n// module id = 659\n// module chunks = 0","module.exports = function(done, value){\n  return {value: value, done: !!done};\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_iter-step.js\n// module id = 660\n// module chunks = 0","// 20.2.2.20 Math.log1p(x)\nmodule.exports = Math.log1p || function log1p(x){\n  return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_math-log1p.js\n// module id = 661\n// module chunks = 0","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys  = require('./_object-keys')\n  , gOPS     = require('./_object-gops')\n  , pIE      = require('./_object-pie')\n  , toObject = require('./_to-object')\n  , IObject  = require('./_iobject')\n  , $assign  = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function(){\n  var A = {}\n    , B = {}\n    , S = Symbol()\n    , K = 'abcdefghijklmnopqrst';\n  A[S] = 7;\n  K.split('').forEach(function(k){ B[k] = k; });\n  return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source){ // eslint-disable-line no-unused-vars\n  var T     = toObject(target)\n    , aLen  = arguments.length\n    , index = 1\n    , getSymbols = gOPS.f\n    , isEnum     = pIE.f;\n  while(aLen > index){\n    var S      = IObject(arguments[index++])\n      , keys   = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S)\n      , length = keys.length\n      , j      = 0\n      , key;\n    while(length > j)if(isEnum.call(S, key = keys[j++]))T[key] = S[key];\n  } return T;\n} : $assign;\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_object-assign.js\n// module id = 662\n// module chunks = 0","var dP       = require('./_object-dp')\n  , anObject = require('./_an-object')\n  , getKeys  = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties){\n  anObject(O);\n  var keys   = getKeys(Properties)\n    , length = keys.length\n    , i = 0\n    , P;\n  while(length > i)dP.f(O, P = keys[i++], Properties[P]);\n  return O;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_object-dps.js\n// module id = 663\n// module chunks = 0","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject')\n  , gOPN      = require('./_object-gopn').f\n  , toString  = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n  ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function(it){\n  try {\n    return gOPN(it);\n  } catch(e){\n    return windowNames.slice();\n  }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it){\n  return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_object-gopn-ext.js\n// module id = 664\n// module chunks = 0","var has          = require('./_has')\n  , toIObject    = require('./_to-iobject')\n  , arrayIndexOf = require('./_array-includes')(false)\n  , IE_PROTO     = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function(object, names){\n  var O      = toIObject(object)\n    , i      = 0\n    , result = []\n    , key;\n  for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while(names.length > i)if(has(O, key = names[i++])){\n    ~arrayIndexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_object-keys-internal.js\n// module id = 665\n// module chunks = 0","var $parseFloat = require('./_global').parseFloat\n  , $trim       = require('./_string-trim').trim;\n\nmodule.exports = 1 / $parseFloat(require('./_string-ws') + '-0') !== -Infinity ? function parseFloat(str){\n  var string = $trim(String(str), 3)\n    , result = $parseFloat(string);\n  return result === 0 && string.charAt(0) == '-' ? -0 : result;\n} : $parseFloat;\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_parse-float.js\n// module id = 666\n// module chunks = 0","var $parseInt = require('./_global').parseInt\n  , $trim     = require('./_string-trim').trim\n  , ws        = require('./_string-ws')\n  , hex       = /^[\\-+]?0[xX]/;\n\nmodule.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix){\n  var string = $trim(String(str), 3);\n  return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));\n} : $parseInt;\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_parse-int.js\n// module id = 667\n// module chunks = 0","var toInteger = require('./_to-integer')\n  , defined   = require('./_defined');\n// true  -> String#at\n// false -> String#codePointAt\nmodule.exports = function(TO_STRING){\n  return function(that, pos){\n    var s = String(defined(that))\n      , i = toInteger(pos)\n      , l = s.length\n      , a, b;\n    if(i < 0 || i >= l)return TO_STRING ? '' : undefined;\n    a = s.charCodeAt(i);\n    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n      ? TO_STRING ? s.charAt(i) : a\n      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n  };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_string-at.js\n// module id = 668\n// module chunks = 0","'use strict';\nvar toInteger = require('./_to-integer')\n  , defined   = require('./_defined');\n\nmodule.exports = function repeat(count){\n  var str = String(defined(this))\n    , res = ''\n    , n   = toInteger(count);\n  if(n < 0 || n == Infinity)throw RangeError(\"Count can't be negative\");\n  for(;n > 0; (n >>>= 1) && (str += str))if(n & 1)res += str;\n  return res;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_string-repeat.js\n// module id = 669\n// module chunks = 0","exports.f = require('./_wks');\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_wks-ext.js\n// module id = 670\n// module chunks = 0","var classof   = require('./_classof')\n  , ITERATOR  = require('./_wks')('iterator')\n  , Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function(it){\n  if(it != undefined)return it[ITERATOR]\n    || it['@@iterator']\n    || Iterators[classof(it)];\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/core.get-iterator-method.js\n// module id = 671\n// module chunks = 0","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables')\n  , step             = require('./_iter-step')\n  , Iterators        = require('./_iterators')\n  , toIObject        = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function(iterated, kind){\n  this._t = toIObject(iterated); // target\n  this._i = 0;                   // next index\n  this._k = kind;                // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function(){\n  var O     = this._t\n    , kind  = this._k\n    , index = this._i++;\n  if(!O || index >= O.length){\n    this._t = undefined;\n    return step(1);\n  }\n  if(kind == 'keys'  )return step(0, index);\n  if(kind == 'values')return step(0, O[index]);\n  return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.array.iterator.js\n// module id = 672\n// module chunks = 0","'use strict';\nvar strong = require('./_collection-strong');\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')('Map', function(get){\n  return function Map(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n  // 23.1.3.6 Map.prototype.get(key)\n  get: function get(key){\n    var entry = strong.getEntry(this, key);\n    return entry && entry.v;\n  },\n  // 23.1.3.9 Map.prototype.set(key, value)\n  set: function set(key, value){\n    return strong.def(this, key === 0 ? 0 : key, value);\n  }\n}, strong, true);\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.map.js\n// module id = 673\n// module chunks = 0","// 21.2.5.3 get RegExp.prototype.flags()\nif(require('./_descriptors') && /./g.flags != 'g')require('./_object-dp').f(RegExp.prototype, 'flags', {\n  configurable: true,\n  get: require('./_flags')\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.regexp.flags.js\n// module id = 674\n// module chunks = 0","// @@match logic\nrequire('./_fix-re-wks')('match', 1, function(defined, MATCH, $match){\n  // 21.1.3.11 String.prototype.match(regexp)\n  return [function match(regexp){\n    'use strict';\n    var O  = defined(this)\n      , fn = regexp == undefined ? undefined : regexp[MATCH];\n    return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n  }, $match];\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.regexp.match.js\n// module id = 675\n// module chunks = 0","// @@replace logic\nrequire('./_fix-re-wks')('replace', 2, function(defined, REPLACE, $replace){\n  // 21.1.3.14 String.prototype.replace(searchValue, replaceValue)\n  return [function replace(searchValue, replaceValue){\n    'use strict';\n    var O  = defined(this)\n      , fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n    return fn !== undefined\n      ? fn.call(searchValue, O, replaceValue)\n      : $replace.call(String(O), searchValue, replaceValue);\n  }, $replace];\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.regexp.replace.js\n// module id = 676\n// module chunks = 0","// @@search logic\nrequire('./_fix-re-wks')('search', 1, function(defined, SEARCH, $search){\n  // 21.1.3.15 String.prototype.search(regexp)\n  return [function search(regexp){\n    'use strict';\n    var O  = defined(this)\n      , fn = regexp == undefined ? undefined : regexp[SEARCH];\n    return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n  }, $search];\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.regexp.search.js\n// module id = 677\n// module chunks = 0","// @@split logic\nrequire('./_fix-re-wks')('split', 2, function(defined, SPLIT, $split){\n  'use strict';\n  var isRegExp   = require('./_is-regexp')\n    , _split     = $split\n    , $push      = [].push\n    , $SPLIT     = 'split'\n    , LENGTH     = 'length'\n    , LAST_INDEX = 'lastIndex';\n  if(\n    'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n    'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n    'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n    '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n    '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n    ''[$SPLIT](/.?/)[LENGTH]\n  ){\n    var NPCG = /()??/.exec('')[1] === undefined; // nonparticipating capturing group\n    // based on es5-shim implementation, need to rework it\n    $split = function(separator, limit){\n      var string = String(this);\n      if(separator === undefined && limit === 0)return [];\n      // If `separator` is not a regex, use native split\n      if(!isRegExp(separator))return _split.call(string, separator, limit);\n      var output = [];\n      var flags = (separator.ignoreCase ? 'i' : '') +\n                  (separator.multiline ? 'm' : '') +\n                  (separator.unicode ? 'u' : '') +\n                  (separator.sticky ? 'y' : '');\n      var lastLastIndex = 0;\n      var splitLimit = limit === undefined ? 4294967295 : limit >>> 0;\n      // Make `global` and avoid `lastIndex` issues by working with a copy\n      var separatorCopy = new RegExp(separator.source, flags + 'g');\n      var separator2, match, lastIndex, lastLength, i;\n      // Doesn't need flags gy, but they don't hurt\n      if(!NPCG)separator2 = new RegExp('^' + separatorCopy.source + '$(?!\\\\s)', flags);\n      while(match = separatorCopy.exec(string)){\n        // `separatorCopy.lastIndex` is not reliable cross-browser\n        lastIndex = match.index + match[0][LENGTH];\n        if(lastIndex > lastLastIndex){\n          output.push(string.slice(lastLastIndex, match.index));\n          // Fix browsers whose `exec` methods don't consistently return `undefined` for NPCG\n          if(!NPCG && match[LENGTH] > 1)match[0].replace(separator2, function(){\n            for(i = 1; i < arguments[LENGTH] - 2; i++)if(arguments[i] === undefined)match[i] = undefined;\n          });\n          if(match[LENGTH] > 1 && match.index < string[LENGTH])$push.apply(output, match.slice(1));\n          lastLength = match[0][LENGTH];\n          lastLastIndex = lastIndex;\n          if(output[LENGTH] >= splitLimit)break;\n        }\n        if(separatorCopy[LAST_INDEX] === match.index)separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n      }\n      if(lastLastIndex === string[LENGTH]){\n        if(lastLength || !separatorCopy.test(''))output.push('');\n      } else output.push(string.slice(lastLastIndex));\n      return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n    };\n  // Chakra, V8\n  } else if('0'[$SPLIT](undefined, 0)[LENGTH]){\n    $split = function(separator, limit){\n      return separator === undefined && limit === 0 ? [] : _split.call(this, separator, limit);\n    };\n  }\n  // 21.1.3.17 String.prototype.split(separator, limit)\n  return [function split(separator, limit){\n    var O  = defined(this)\n      , fn = separator == undefined ? undefined : separator[SPLIT];\n    return fn !== undefined ? fn.call(separator, O, limit) : $split.call(String(O), separator, limit);\n  }, $split];\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.regexp.split.js\n// module id = 678\n// module chunks = 0","'use strict';\nvar strong = require('./_collection-strong');\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')('Set', function(get){\n  return function Set(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n  // 23.2.3.1 Set.prototype.add(value)\n  add: function add(value){\n    return strong.def(this, value = value === 0 ? 0 : value, value);\n  }\n}, strong);\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.set.js\n// module id = 679\n// module chunks = 0","'use strict';\n// ECMAScript 6 symbols shim\nvar global         = require('./_global')\n  , has            = require('./_has')\n  , DESCRIPTORS    = require('./_descriptors')\n  , $export        = require('./_export')\n  , redefine       = require('./_redefine')\n  , META           = require('./_meta').KEY\n  , $fails         = require('./_fails')\n  , shared         = require('./_shared')\n  , setToStringTag = require('./_set-to-string-tag')\n  , uid            = require('./_uid')\n  , wks            = require('./_wks')\n  , wksExt         = require('./_wks-ext')\n  , wksDefine      = require('./_wks-define')\n  , keyOf          = require('./_keyof')\n  , enumKeys       = require('./_enum-keys')\n  , isArray        = require('./_is-array')\n  , anObject       = require('./_an-object')\n  , toIObject      = require('./_to-iobject')\n  , toPrimitive    = require('./_to-primitive')\n  , createDesc     = require('./_property-desc')\n  , _create        = require('./_object-create')\n  , gOPNExt        = require('./_object-gopn-ext')\n  , $GOPD          = require('./_object-gopd')\n  , $DP            = require('./_object-dp')\n  , $keys          = require('./_object-keys')\n  , gOPD           = $GOPD.f\n  , dP             = $DP.f\n  , gOPN           = gOPNExt.f\n  , $Symbol        = global.Symbol\n  , $JSON          = global.JSON\n  , _stringify     = $JSON && $JSON.stringify\n  , PROTOTYPE      = 'prototype'\n  , HIDDEN         = wks('_hidden')\n  , TO_PRIMITIVE   = wks('toPrimitive')\n  , isEnum         = {}.propertyIsEnumerable\n  , SymbolRegistry = shared('symbol-registry')\n  , AllSymbols     = shared('symbols')\n  , OPSymbols      = shared('op-symbols')\n  , ObjectProto    = Object[PROTOTYPE]\n  , USE_NATIVE     = typeof $Symbol == 'function'\n  , QObject        = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function(){\n  return _create(dP({}, 'a', {\n    get: function(){ return dP(this, 'a', {value: 7}).a; }\n  })).a != 7;\n}) ? function(it, key, D){\n  var protoDesc = gOPD(ObjectProto, key);\n  if(protoDesc)delete ObjectProto[key];\n  dP(it, key, D);\n  if(protoDesc && it !== ObjectProto)dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function(tag){\n  var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n  sym._k = tag;\n  return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function(it){\n  return typeof it == 'symbol';\n} : function(it){\n  return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D){\n  if(it === ObjectProto)$defineProperty(OPSymbols, key, D);\n  anObject(it);\n  key = toPrimitive(key, true);\n  anObject(D);\n  if(has(AllSymbols, key)){\n    if(!D.enumerable){\n      if(!has(it, HIDDEN))dP(it, HIDDEN, createDesc(1, {}));\n      it[HIDDEN][key] = true;\n    } else {\n      if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false;\n      D = _create(D, {enumerable: createDesc(0, false)});\n    } return setSymbolDesc(it, key, D);\n  } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P){\n  anObject(it);\n  var keys = enumKeys(P = toIObject(P))\n    , i    = 0\n    , l = keys.length\n    , key;\n  while(l > i)$defineProperty(it, key = keys[i++], P[key]);\n  return it;\n};\nvar $create = function create(it, P){\n  return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key){\n  var E = isEnum.call(this, key = toPrimitive(key, true));\n  if(this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return false;\n  return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){\n  it  = toIObject(it);\n  key = toPrimitive(key, true);\n  if(it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return;\n  var D = gOPD(it, key);\n  if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true;\n  return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it){\n  var names  = gOPN(toIObject(it))\n    , result = []\n    , i      = 0\n    , key;\n  while(names.length > i){\n    if(!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META)result.push(key);\n  } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it){\n  var IS_OP  = it === ObjectProto\n    , names  = gOPN(IS_OP ? OPSymbols : toIObject(it))\n    , result = []\n    , i      = 0\n    , key;\n  while(names.length > i){\n    if(has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true))result.push(AllSymbols[key]);\n  } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif(!USE_NATIVE){\n  $Symbol = function Symbol(){\n    if(this instanceof $Symbol)throw TypeError('Symbol is not a constructor!');\n    var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n    var $set = function(value){\n      if(this === ObjectProto)$set.call(OPSymbols, value);\n      if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false;\n      setSymbolDesc(this, tag, createDesc(1, value));\n    };\n    if(DESCRIPTORS && setter)setSymbolDesc(ObjectProto, tag, {configurable: true, set: $set});\n    return wrap(tag);\n  };\n  redefine($Symbol[PROTOTYPE], 'toString', function toString(){\n    return this._k;\n  });\n\n  $GOPD.f = $getOwnPropertyDescriptor;\n  $DP.f   = $defineProperty;\n  require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n  require('./_object-pie').f  = $propertyIsEnumerable;\n  require('./_object-gops').f = $getOwnPropertySymbols;\n\n  if(DESCRIPTORS && !require('./_library')){\n    redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n  }\n\n  wksExt.f = function(name){\n    return wrap(wks(name));\n  }\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, {Symbol: $Symbol});\n\nfor(var symbols = (\n  // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n  'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), i = 0; symbols.length > i; )wks(symbols[i++]);\n\nfor(var symbols = $keys(wks.store), i = 0; symbols.length > i; )wksDefine(symbols[i++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n  // 19.4.2.1 Symbol.for(key)\n  'for': function(key){\n    return has(SymbolRegistry, key += '')\n      ? SymbolRegistry[key]\n      : SymbolRegistry[key] = $Symbol(key);\n  },\n  // 19.4.2.5 Symbol.keyFor(sym)\n  keyFor: function keyFor(key){\n    if(isSymbol(key))return keyOf(SymbolRegistry, key);\n    throw TypeError(key + ' is not a symbol!');\n  },\n  useSetter: function(){ setter = true; },\n  useSimple: function(){ setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n  // 19.1.2.2 Object.create(O [, Properties])\n  create: $create,\n  // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n  defineProperty: $defineProperty,\n  // 19.1.2.3 Object.defineProperties(O, Properties)\n  defineProperties: $defineProperties,\n  // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n  getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n  // 19.1.2.7 Object.getOwnPropertyNames(O)\n  getOwnPropertyNames: $getOwnPropertyNames,\n  // 19.1.2.8 Object.getOwnPropertySymbols(O)\n  getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function(){\n  var S = $Symbol();\n  // MS Edge converts symbol values to JSON as {}\n  // WebKit converts symbol values to JSON as null\n  // V8 throws on boxed symbols\n  return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n  stringify: function stringify(it){\n    if(it === undefined || isSymbol(it))return; // IE8 returns string on undefined\n    var args = [it]\n      , i    = 1\n      , replacer, $replacer;\n    while(arguments.length > i)args.push(arguments[i++]);\n    replacer = args[1];\n    if(typeof replacer == 'function')$replacer = replacer;\n    if($replacer || !isArray(replacer))replacer = function(key, value){\n      if($replacer)value = $replacer.call(this, key, value);\n      if(!isSymbol(value))return value;\n    };\n    args[1] = replacer;\n    return _stringify.apply($JSON, args);\n  }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.symbol.js\n// module id = 680\n// module chunks = 0","var $iterators    = require('./es6.array.iterator')\n  , redefine      = require('./_redefine')\n  , global        = require('./_global')\n  , hide          = require('./_hide')\n  , Iterators     = require('./_iterators')\n  , wks           = require('./_wks')\n  , ITERATOR      = wks('iterator')\n  , TO_STRING_TAG = wks('toStringTag')\n  , ArrayValues   = Iterators.Array;\n\nfor(var collections = ['NodeList', 'DOMTokenList', 'MediaList', 'StyleSheetList', 'CSSRuleList'], i = 0; i < 5; i++){\n  var NAME       = collections[i]\n    , Collection = global[NAME]\n    , proto      = Collection && Collection.prototype\n    , key;\n  if(proto){\n    if(!proto[ITERATOR])hide(proto, ITERATOR, ArrayValues);\n    if(!proto[TO_STRING_TAG])hide(proto, TO_STRING_TAG, NAME);\n    Iterators[NAME] = ArrayValues;\n    for(key in $iterators)if(!proto[key])redefine(proto, key, $iterators[key], true);\n  }\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/web.dom.iterable.js\n// module id = 681\n// module chunks = 0","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nfunction EventEmitter() {\n  this._events = this._events || {};\n  this._maxListeners = this._maxListeners || undefined;\n}\nmodule.exports = EventEmitter;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nEventEmitter.defaultMaxListeners = 10;\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function(n) {\n  if (!isNumber(n) || n < 0 || isNaN(n))\n    throw TypeError('n must be a positive number');\n  this._maxListeners = n;\n  return this;\n};\n\nEventEmitter.prototype.emit = function(type) {\n  var er, handler, len, args, i, listeners;\n\n  if (!this._events)\n    this._events = {};\n\n  // If there is no 'error' event listener then throw.\n  if (type === 'error') {\n    if (!this._events.error ||\n        (isObject(this._events.error) && !this._events.error.length)) {\n      er = arguments[1];\n      if (er instanceof Error) {\n        throw er; // Unhandled 'error' event\n      } else {\n        // At least give some kind of context to the user\n        var err = new Error('Uncaught, unspecified \"error\" event. (' + er + ')');\n        err.context = er;\n        throw err;\n      }\n    }\n  }\n\n  handler = this._events[type];\n\n  if (isUndefined(handler))\n    return false;\n\n  if (isFunction(handler)) {\n    switch (arguments.length) {\n      // fast cases\n      case 1:\n        handler.call(this);\n        break;\n      case 2:\n        handler.call(this, arguments[1]);\n        break;\n      case 3:\n        handler.call(this, arguments[1], arguments[2]);\n        break;\n      // slower\n      default:\n        args = Array.prototype.slice.call(arguments, 1);\n        handler.apply(this, args);\n    }\n  } else if (isObject(handler)) {\n    args = Array.prototype.slice.call(arguments, 1);\n    listeners = handler.slice();\n    len = listeners.length;\n    for (i = 0; i < len; i++)\n      listeners[i].apply(this, args);\n  }\n\n  return true;\n};\n\nEventEmitter.prototype.addListener = function(type, listener) {\n  var m;\n\n  if (!isFunction(listener))\n    throw TypeError('listener must be a function');\n\n  if (!this._events)\n    this._events = {};\n\n  // To avoid recursion in the case that type === \"newListener\"! Before\n  // adding it to the listeners, first emit \"newListener\".\n  if (this._events.newListener)\n    this.emit('newListener', type,\n              isFunction(listener.listener) ?\n              listener.listener : listener);\n\n  if (!this._events[type])\n    // Optimize the case of one listener. Don't need the extra array object.\n    this._events[type] = listener;\n  else if (isObject(this._events[type]))\n    // If we've already got an array, just append.\n    this._events[type].push(listener);\n  else\n    // Adding the second element, need to change to array.\n    this._events[type] = [this._events[type], listener];\n\n  // Check for listener leak\n  if (isObject(this._events[type]) && !this._events[type].warned) {\n    if (!isUndefined(this._maxListeners)) {\n      m = this._maxListeners;\n    } else {\n      m = EventEmitter.defaultMaxListeners;\n    }\n\n    if (m && m > 0 && this._events[type].length > m) {\n      this._events[type].warned = true;\n      console.error('(node) warning: possible EventEmitter memory ' +\n                    'leak detected. %d listeners added. ' +\n                    'Use emitter.setMaxListeners() to increase limit.',\n                    this._events[type].length);\n      if (typeof console.trace === 'function') {\n        // not supported in IE 10\n        console.trace();\n      }\n    }\n  }\n\n  return this;\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.once = function(type, listener) {\n  if (!isFunction(listener))\n    throw TypeError('listener must be a function');\n\n  var fired = false;\n\n  function g() {\n    this.removeListener(type, g);\n\n    if (!fired) {\n      fired = true;\n      listener.apply(this, arguments);\n    }\n  }\n\n  g.listener = listener;\n  this.on(type, g);\n\n  return this;\n};\n\n// emits a 'removeListener' event iff the listener was removed\nEventEmitter.prototype.removeListener = function(type, listener) {\n  var list, position, length, i;\n\n  if (!isFunction(listener))\n    throw TypeError('listener must be a function');\n\n  if (!this._events || !this._events[type])\n    return this;\n\n  list = this._events[type];\n  length = list.length;\n  position = -1;\n\n  if (list === listener ||\n      (isFunction(list.listener) && list.listener === listener)) {\n    delete this._events[type];\n    if (this._events.removeListener)\n      this.emit('removeListener', type, listener);\n\n  } else if (isObject(list)) {\n    for (i = length; i-- > 0;) {\n      if (list[i] === listener ||\n          (list[i].listener && list[i].listener === listener)) {\n        position = i;\n        break;\n      }\n    }\n\n    if (position < 0)\n      return this;\n\n    if (list.length === 1) {\n      list.length = 0;\n      delete this._events[type];\n    } else {\n      list.splice(position, 1);\n    }\n\n    if (this._events.removeListener)\n      this.emit('removeListener', type, listener);\n  }\n\n  return this;\n};\n\nEventEmitter.prototype.removeAllListeners = function(type) {\n  var key, listeners;\n\n  if (!this._events)\n    return this;\n\n  // not listening for removeListener, no need to emit\n  if (!this._events.removeListener) {\n    if (arguments.length === 0)\n      this._events = {};\n    else if (this._events[type])\n      delete this._events[type];\n    return this;\n  }\n\n  // emit removeListener for all listeners on all events\n  if (arguments.length === 0) {\n    for (key in this._events) {\n      if (key === 'removeListener') continue;\n      this.removeAllListeners(key);\n    }\n    this.removeAllListeners('removeListener');\n    this._events = {};\n    return this;\n  }\n\n  listeners = this._events[type];\n\n  if (isFunction(listeners)) {\n    this.removeListener(type, listeners);\n  } else if (listeners) {\n    // LIFO order\n    while (listeners.length)\n      this.removeListener(type, listeners[listeners.length - 1]);\n  }\n  delete this._events[type];\n\n  return this;\n};\n\nEventEmitter.prototype.listeners = function(type) {\n  var ret;\n  if (!this._events || !this._events[type])\n    ret = [];\n  else if (isFunction(this._events[type]))\n    ret = [this._events[type]];\n  else\n    ret = this._events[type].slice();\n  return ret;\n};\n\nEventEmitter.prototype.listenerCount = function(type) {\n  if (this._events) {\n    var evlistener = this._events[type];\n\n    if (isFunction(evlistener))\n      return 1;\n    else if (evlistener)\n      return evlistener.length;\n  }\n  return 0;\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n  return emitter.listenerCount(type);\n};\n\nfunction isFunction(arg) {\n  return typeof arg === 'function';\n}\n\nfunction isNumber(arg) {\n  return typeof arg === 'number';\n}\n\nfunction isObject(arg) {\n  return typeof arg === 'object' && arg !== null;\n}\n\nfunction isUndefined(arg) {\n  return arg === void 0;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/events/events.js\n// module id = 682\n// module chunks = 0","import _getIterator from 'babel-runtime/core-js/get-iterator';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from 'babel-runtime/helpers/createClass';\n// This is an enhanced port of Google Android `libphonenumber`'s\n// `asyoutypeformatter.js` of 17th November, 2016.\n//\n// https://github.com/googlei18n/libphonenumber/blob/8d21a365061de2ba0675c878a710a7b24f74d2ae/javascript/i18n/phonenumbers/asyoutypeformatter.js\n\nimport { get_phone_code, get_national_prefix, get_national_prefix_for_parsing, get_formats, get_format_pattern, get_format_format as _get_format_format, get_format_international_format, get_format_national_prefix_formatting_rule, get_format_national_prefix_is_mandatory_when_formatting, get_format_leading_digits_patterns, get_format_uses_national_prefix, get_metadata_by_country_phone_code } from './metadata';\n\nimport { VALID_PUNCTUATION, PLUS_CHARS, VALID_DIGITS, extract_formatted_phone_number, parse_phone_number, parse_phone_number_and_country_phone_code, find_country_code, strip_national_prefix } from './parse';\n\nimport { FIRST_GROUP_PATTERN, format_national_number_using_format, local_to_international_style } from './format';\n\nimport { matches_entirely } from './common';\n\n// Used in phone number format template creation.\n// Could be any digit, I guess.\nvar DUMMY_DIGIT = '9';\nvar DUMMY_DIGIT_MATCHER = new RegExp(DUMMY_DIGIT, 'g');\n// I don't know why is it exactly `15`\nvar LONGEST_NATIONAL_PHONE_NUMBER_LENGTH = 15;\n// Create a phone number consisting only of the digit 9 that matches the\n// `number_pattern` by applying the pattern to the \"longest phone number\" string.\nvar LONGEST_DUMMY_PHONE_NUMBER = repeat(DUMMY_DIGIT, LONGEST_NATIONAL_PHONE_NUMBER_LENGTH);\n\n// The digits that have not been entered yet will be represented by a \\u2008,\n// the punctuation space.\nexport var DIGIT_PLACEHOLDER = 'x'; // '\\u2008' (punctuation space)\nvar DIGIT_PLACEHOLDER_MATCHER = new RegExp(DIGIT_PLACEHOLDER);\nvar DIGIT_PLACEHOLDER_MATCHER_GLOBAL = new RegExp(DIGIT_PLACEHOLDER, 'g');\n\n// A pattern that is used to match character classes in regular expressions.\n// An example of a character class is \"[1-4]\".\nvar CHARACTER_CLASS_PATTERN = /\\[([^\\[\\]])*\\]/g;\n\n// Any digit in a regular expression that actually denotes a digit. For\n// example, in the regular expression \"80[0-2]\\d{6,10}\", the first 2 digits\n// (8 and 0) are standalone digits, but the rest are not.\n// Two look-aheads are needed because the number following \\\\d could be a\n// two-digit number, since the phone number can be as long as 15 digits.\nvar STANDALONE_DIGIT_PATTERN = /\\d(?=[^,}][^,}])/g;\n\n// A pattern that is used to determine if a `format` is eligible\n// to be used by the \"as you type formatter\".\n// It is eligible when the `format` contains groups of the dollar sign\n// followed by a single digit, separated by valid phone number punctuation.\n// This prevents invalid punctuation (such as the star sign in Israeli star numbers)\n// getting into the output of the \"as you type formatter\".\nvar ELIGIBLE_FORMAT_PATTERN = new RegExp('^' + '[' + VALID_PUNCTUATION + ']*' + '(\\\\$\\\\d[' + VALID_PUNCTUATION + ']*)+' + '$');\n\n// This is the minimum length of the leading digits of a phone number\n// to guarantee the first \"leading digits pattern\" for a phone number format\n// to be preemptive.\nvar MIN_LEADING_DIGITS_LENGTH = 3;\n\nvar VALID_INCOMPLETE_PHONE_NUMBER = '[' + PLUS_CHARS + ']{0,1}' + '[' + VALID_PUNCTUATION + VALID_DIGITS + ']*';\n\nvar VALID_INCOMPLETE_PHONE_NUMBER_PATTERN = new RegExp('^' + VALID_INCOMPLETE_PHONE_NUMBER + '$', 'i');\n\nvar as_you_type = function () {\n\tfunction as_you_type(country_code, metadata) {\n\t\t_classCallCheck(this, as_you_type);\n\n\t\t// Sanity check\n\t\tif (!metadata) {\n\t\t\tthrow new Error('Metadata not passed');\n\t\t}\n\n\t\tif (country_code && metadata.countries[country_code]) {\n\t\t\tthis.default_country = country_code;\n\t\t}\n\n\t\tthis.metadata = metadata;\n\n\t\tthis.reset();\n\t}\n\n\t_createClass(as_you_type, [{\n\t\tkey: 'input',\n\t\tvalue: function input(text) {\n\t\t\t// Parse input\n\n\t\t\tvar extracted_number = extract_formatted_phone_number(text);\n\n\t\t\t// Special case for a lone '+' sign\n\t\t\t// since it's not considered a possible phone number.\n\t\t\tif (!extracted_number) {\n\t\t\t\tif (text && text.indexOf('+') >= 0) {\n\t\t\t\t\textracted_number = '+';\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Validate possible first part of a phone number\n\t\t\tif (!matches_entirely(extracted_number, VALID_INCOMPLETE_PHONE_NUMBER_PATTERN)) {\n\t\t\t\treturn this.current_output;\n\t\t\t}\n\n\t\t\treturn this.process_input(parse_phone_number(extracted_number));\n\t\t}\n\t}, {\n\t\tkey: 'process_input',\n\t\tvalue: function process_input(input) {\n\t\t\t// If an out of position '+' sign detected\n\t\t\t// (or a second '+' sign),\n\t\t\t// then just drop it from the input.\n\t\t\tif (input[0] === '+') {\n\t\t\t\tif (!this.parsed_input) {\n\t\t\t\t\tthis.parsed_input += '+';\n\n\t\t\t\t\t// If a default country was set\n\t\t\t\t\t// then reset it because an explicitly international\n\t\t\t\t\t// phone number is being entered\n\t\t\t\t\tthis.reset_countriness();\n\t\t\t\t}\n\n\t\t\t\tinput = input.slice(1);\n\t\t\t}\n\n\t\t\t// Raw phone number\n\t\t\tthis.parsed_input += input;\n\n\t\t\t// // Reset phone number validation state\n\t\t\t// this.valid = false\n\n\t\t\t// Add digits to the national number\n\t\t\tthis.national_number += input;\n\n\t\t\t// Try to format the parsed input\n\n\t\t\tif (this.is_international()) {\n\t\t\t\tif (!this.country_phone_code) {\n\t\t\t\t\t// If one looks at country phone codes\n\t\t\t\t\t// then he can notice that no one country phone code\n\t\t\t\t\t// is ever a (leftmost) substring of another country phone code.\n\t\t\t\t\t// So if a valid country code is extracted so far\n\t\t\t\t\t// then it means that this is the country code.\n\n\t\t\t\t\t// If no country phone code could be extracted so far,\n\t\t\t\t\t// then just return the raw phone number,\n\t\t\t\t\t// because it has no way of knowing\n\t\t\t\t\t// how to format the phone number so far.\n\t\t\t\t\tif (!this.extract_country_phone_code()) {\n\t\t\t\t\t\t// Return raw phone number\n\t\t\t\t\t\treturn this.parsed_input;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Initialize country-specific data\n\t\t\t\t\tthis.initialize_phone_number_formats_for_this_country_phone_code();\n\t\t\t\t\tthis.reset_format();\n\t\t\t\t\tthis.determine_the_country();\n\t\t\t\t}\n\t\t\t\t// `this.country` could be `undefined`,\n\t\t\t\t// for instance, when there is ambiguity\n\t\t\t\t// in a form of several different countries\n\t\t\t\t// each corresponding to the same country phone code\n\t\t\t\t// (e.g. NANPA: USA, Canada, etc),\n\t\t\t\t// and there's not enough digits entered\n\t\t\t\t// to reliably determine the country\n\t\t\t\t// the phone number belongs to.\n\t\t\t\t// Therefore, in cases of such ambiguity,\n\t\t\t\t// each time something is input,\n\t\t\t\t// try to determine the country\n\t\t\t\t// (if it's not determined yet).\n\t\t\t\telse if (!this.country) {\n\t\t\t\t\t\tthis.determine_the_country();\n\t\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Some national prefixes are substrings of other national prefixes\n\t\t\t\t// (for the same country), therefore try to extract national prefix each time\n\t\t\t\t// because a longer national prefix might be available at some point in time.\n\n\t\t\t\tvar previous_national_prefix = this.national_prefix;\n\t\t\t\tthis.national_number = this.national_prefix + this.national_number;\n\n\t\t\t\t// Possibly extract a national prefix\n\t\t\t\tthis.extract_national_prefix();\n\n\t\t\t\tif (this.national_prefix !== previous_national_prefix) {\n\t\t\t\t\t// National number has changed\n\t\t\t\t\t// (due to another national prefix been extracted)\n\t\t\t\t\t// therefore national number has changed\n\t\t\t\t\t// therefore reset all previous formatting data.\n\t\t\t\t\t// (and leading digits matching state)\n\t\t\t\t\tthis.matching_formats = this.available_formats;\n\t\t\t\t\tthis.reset_format();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!this.should_format()) {\n\t\t\t\treturn this.format_as_non_formatted_number();\n\t\t\t}\n\n\t\t\t// Check the available phone number formats\n\t\t\t// based on the currently available leading digits.\n\t\t\tthis.match_formats_by_leading_digits();\n\n\t\t\t// Format the phone number (given the next digits)\n\t\t\tvar formatted_national_phone_number = this.format_national_phone_number(input);\n\n\t\t\t// If the phone number could be formatted,\n\t\t\t// then return it, possibly prepending with country phone code\n\t\t\t// (for international phone numbers only)\n\t\t\tif (formatted_national_phone_number) {\n\t\t\t\treturn this.full_phone_number(formatted_national_phone_number);\n\t\t\t}\n\n\t\t\t// If the phone number couldn't be formatted,\n\t\t\t// then just fall back to the raw phone number.\n\t\t\treturn this.parsed_input;\n\t\t}\n\t}, {\n\t\tkey: 'format_as_non_formatted_number',\n\t\tvalue: function format_as_non_formatted_number() {\n\t\t\tif (this.is_international() && this.country_phone_code) {\n\t\t\t\tif (this.national_number) {\n\t\t\t\t\t// For convenience, the public `.template` property\n\t\t\t\t\t// contains the whole international number\n\t\t\t\t\t// if the phone number being input is international:\n\t\t\t\t\t// 'x' for the '+' sign, 'x'es for the country phone code,\n\t\t\t\t\t// a spacebar and then the template for the national number digits.\n\t\t\t\t\tthis.template = DIGIT_PLACEHOLDER + repeat(DIGIT_PLACEHOLDER, this.country_phone_code.length) + ' ' + repeat(DIGIT_PLACEHOLDER, this.national_number.length);\n\n\t\t\t\t\treturn '+' + this.country_phone_code + ' ' + this.national_number;\n\t\t\t\t}\n\n\t\t\t\treturn '+' + this.country_phone_code;\n\t\t\t}\n\n\t\t\treturn this.parsed_input;\n\t\t}\n\t}, {\n\t\tkey: 'format_national_phone_number',\n\t\tvalue: function format_national_phone_number(next_digits) {\n\t\t\t// Format the next phone number digits\n\t\t\t// using the previously chosen phone number format.\n\t\t\t//\n\t\t\t// This is done here because if `attempt_to_format_complete_phone_number`\n\t\t\t// was placed before this call then the `template`\n\t\t\t// wouldn't reflect the situation correctly (and would therefore be inconsistent)\n\t\t\t//\n\t\t\tvar national_number_formatted_with_previous_format = void 0;\n\t\t\tif (this.chosen_format) {\n\t\t\t\tnational_number_formatted_with_previous_format = this.format_next_national_number_digits(next_digits);\n\t\t\t}\n\n\t\t\t// See if the input digits can be formatted properly already. If not,\n\t\t\t// use the results from format_next_national_number_digits(), which does formatting\n\t\t\t// based on the formatting pattern chosen.\n\n\t\t\tvar formatted_number = this.attempt_to_format_complete_phone_number();\n\n\t\t\t// Just because a phone number doesn't have a suitable format\n\t\t\t// that doesn't mean that the phone is invalid\n\t\t\t// because phone number formats only format phone numbers,\n\t\t\t// they don't validate them and some (rare) phone numbers\n\t\t\t// are meant to stay non-formatted.\n\t\t\tif (formatted_number) {\n\t\t\t\t// if (this.country)\n\t\t\t\t// {\n\t\t\t\t// \tthis.valid = true\n\t\t\t\t// }\n\n\t\t\t\treturn formatted_number;\n\t\t\t}\n\n\t\t\t// For some phone number formats national prefix\n\n\t\t\t// If the previously chosen phone number format\n\t\t\t// didn't match the next (current) digit being input\n\t\t\t// (leading digits pattern didn't match).\n\t\t\tif (this.choose_another_format()) {\n\t\t\t\t// And a more appropriate phone number format\n\t\t\t\t// has been chosen for these `leading digits`,\n\t\t\t\t// then format the national phone number (so far)\n\t\t\t\t// using the newly selected phone number pattern.\n\n\t\t\t\t// Will return `undefined` if it couldn't format\n\t\t\t\t// the supplied national number\n\t\t\t\t// using the selected phone number pattern.\n\n\t\t\t\treturn this.reformat_national_number();\n\t\t\t}\n\n\t\t\t// If could format the next (current) digit\n\t\t\t// using the previously chosen phone number format\n\t\t\t// then return the formatted number so far.\n\n\t\t\t// If no new phone number format could be chosen,\n\t\t\t// and couldn't format the supplied national number\n\t\t\t// using the selected phone number pattern,\n\t\t\t// then it will return `undefined`.\n\n\t\t\treturn national_number_formatted_with_previous_format;\n\t\t}\n\t}, {\n\t\tkey: 'reset',\n\t\tvalue: function reset() {\n\t\t\t// Input stripped of non-phone-number characters.\n\t\t\t// Can only contain a possible leading '+' sign and digits.\n\t\t\tthis.parsed_input = '';\n\n\t\t\tthis.current_output = '';\n\n\t\t\t// This contains the national prefix that has been extracted. It contains only\n\t\t\t// digits without formatting.\n\t\t\tthis.national_prefix = '';\n\n\t\t\tthis.national_number = '';\n\n\t\t\tthis.reset_countriness();\n\n\t\t\tthis.reset_format();\n\n\t\t\t// this.valid = false\n\n\t\t\treturn this;\n\t\t}\n\t}, {\n\t\tkey: 'reset_country',\n\t\tvalue: function reset_country() {\n\t\t\tif (this.default_country && !this.is_international()) {\n\t\t\t\tthis.country = this.default_country;\n\t\t\t} else {\n\t\t\t\tthis.country = undefined;\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'reset_countriness',\n\t\tvalue: function reset_countriness() {\n\t\t\tthis.reset_country();\n\n\t\t\tif (this.default_country && !this.is_international()) {\n\t\t\t\tthis.country_metadata = this.metadata.countries[this.default_country];\n\t\t\t\tthis.country_phone_code = this.country_metadata.phone_code;\n\n\t\t\t\tthis.initialize_phone_number_formats_for_this_country_phone_code();\n\t\t\t} else {\n\t\t\t\tthis.country_metadata = undefined;\n\t\t\t\tthis.country_phone_code = undefined;\n\n\t\t\t\tthis.available_formats = [];\n\t\t\t\tthis.matching_formats = this.available_formats;\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'reset_format',\n\t\tvalue: function reset_format() {\n\t\t\tthis.chosen_format = undefined;\n\t\t\tthis.template = undefined;\n\t\t\tthis.partially_populated_template = undefined;\n\t\t\tthis.last_match_position = -1;\n\t\t}\n\n\t\t// Format each digit of national phone number (so far)\n\t\t// using the newly selected phone number pattern.\n\n\t}, {\n\t\tkey: 'reformat_national_number',\n\t\tvalue: function reformat_national_number() {\n\t\t\t// Format each digit of national phone number (so far)\n\t\t\t// using the selected phone number pattern.\n\t\t\treturn this.format_next_national_number_digits(this.national_number);\n\t\t}\n\t}, {\n\t\tkey: 'initialize_phone_number_formats_for_this_country_phone_code',\n\t\tvalue: function initialize_phone_number_formats_for_this_country_phone_code() {\n\t\t\t// Get all \"eligible\" phone number formats for this country\n\t\t\tthis.available_formats = get_formats(this.country_metadata).filter(function (format) {\n\t\t\t\treturn ELIGIBLE_FORMAT_PATTERN.test(get_format_international_format(format));\n\t\t\t});\n\n\t\t\tthis.matching_formats = this.available_formats;\n\t\t}\n\t}, {\n\t\tkey: 'match_formats_by_leading_digits',\n\t\tvalue: function match_formats_by_leading_digits() {\n\t\t\tvar leading_digits = this.national_number;\n\n\t\t\t// \"leading digits\" patterns start with a maximum of 3 digits,\n\t\t\t// and then with each additional digit\n\t\t\t// a more precise \"leading digits\" pattern is specified.\n\n\t\t\tvar index_of_leading_digits_pattern = leading_digits.length - MIN_LEADING_DIGITS_LENGTH;\n\n\t\t\tif (index_of_leading_digits_pattern < 0) {\n\t\t\t\tindex_of_leading_digits_pattern = 0;\n\t\t\t}\n\n\t\t\tthis.matching_formats = this.matching_formats.filter(function (format) {\n\t\t\t\tvar leading_digits_pattern_count = get_format_leading_digits_patterns(format).length;\n\n\t\t\t\t// Keep everything that isn't restricted by leading digits.\n\t\t\t\tif (leading_digits_pattern_count === 0) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tvar leading_digits_pattern_index = Math.min(index_of_leading_digits_pattern, leading_digits_pattern_count - 1);\n\t\t\t\tvar leading_digits_pattern = get_format_leading_digits_patterns(format)[leading_digits_pattern_index];\n\n\t\t\t\t// Brackets are required for `^` to be applied to\n\t\t\t\t// all or-ed (`|`) parts, not just the first one.\n\t\t\t\treturn new RegExp('^(' + leading_digits_pattern + ')').test(leading_digits);\n\t\t\t});\n\n\t\t\t// If there was a phone number format chosen\n\t\t\t// and it no longer holds given the new leading digits then reset it\n\t\t\tif (this.chosen_format && this.matching_formats.indexOf(this.chosen_format) === -1) {\n\t\t\t\tthis.reset_format();\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'should_format',\n\t\tvalue: function should_format() {\n\t\t\t// Start matching any formats at all when the national number\n\t\t\t// entered so far is at least 3 digits long,\n\t\t\t// otherwise format matching would give false negatives\n\t\t\t// like when the digits entered so far are `2`\n\t\t\t// and the leading digits pattern is `21` –\n\t\t\t// it's quite obvious in this case that the format could be the one\n\t\t\t// but due to the absence of further digits it would give false negative.\n\t\t\t//\n\t\t\t// Google could have provided leading digits patterns starting\n\t\t\t// with a single digit but they chose not to (for whatever reasons).\n\t\t\t//\n\t\t\treturn this.national_number >= MIN_LEADING_DIGITS_LENGTH;\n\t\t}\n\n\t\t// Check to see if there is an exact pattern match for these digits. If so, we\n\t\t// should use this instead of any other formatting template whose\n\t\t// leadingDigitsPattern also matches the input.\n\n\t}, {\n\t\tkey: 'attempt_to_format_complete_phone_number',\n\t\tvalue: function attempt_to_format_complete_phone_number() {\n\t\t\tvar _iteratorNormalCompletion = true;\n\t\t\tvar _didIteratorError = false;\n\t\t\tvar _iteratorError = undefined;\n\n\t\t\ttry {\n\t\t\t\tfor (var _iterator = _getIterator(this.matching_formats), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n\t\t\t\t\tvar format = _step.value;\n\n\t\t\t\t\tvar matcher = new RegExp('^(?:' + get_format_pattern(format) + ')$');\n\n\t\t\t\t\tif (!matcher.test(this.national_number)) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!this.validate_format(format)) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t// To leave the formatter in a consistent state\n\t\t\t\t\tthis.reset_format();\n\t\t\t\t\tthis.chosen_format = format;\n\n\t\t\t\t\tvar formatted_number = format_national_number_using_format(this.national_number, format, this.is_international(), this.national_prefix.length > 0, this.country_metadata);\n\n\t\t\t\t\t// Set `this.template` and `this.partially_populated_template`.\n\t\t\t\t\t//\n\t\t\t\t\t// `else` case doesn't ever happen\n\t\t\t\t\t// with the current metadata,\n\t\t\t\t\t// but just in case.\n\t\t\t\t\t//\n\t\t\t\t\t/* istanbul ignore else */\n\t\t\t\t\tif (this.create_formatting_template(format)) {\n\t\t\t\t\t\t// Populate `this.partially_populated_template`\n\t\t\t\t\t\tthis.reformat_national_number();\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Prepend `+CountryCode` in case of an international phone number\n\t\t\t\t\t\tvar full_number = this.full_phone_number(formatted_number);\n\t\t\t\t\t\tthis.template = full_number.replace(/[\\d\\+]/g, DIGIT_PLACEHOLDER);\n\t\t\t\t\t\tthis.partially_populated_template = full_number;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn formatted_number;\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\t_didIteratorError = true;\n\t\t\t\t_iteratorError = err;\n\t\t\t} finally {\n\t\t\t\ttry {\n\t\t\t\t\tif (!_iteratorNormalCompletion && _iterator.return) {\n\t\t\t\t\t\t_iterator.return();\n\t\t\t\t\t}\n\t\t\t\t} finally {\n\t\t\t\t\tif (_didIteratorError) {\n\t\t\t\t\t\tthrow _iteratorError;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Prepends `+CountryCode` in case of an international phone number\n\n\t}, {\n\t\tkey: 'full_phone_number',\n\t\tvalue: function full_phone_number(formatted_national_number) {\n\t\t\tif (this.is_international()) {\n\t\t\t\treturn '+' + this.country_phone_code + ' ' + formatted_national_number;\n\t\t\t}\n\n\t\t\treturn formatted_national_number;\n\t\t}\n\n\t\t// Extracts the country calling code from the beginning\n\t\t// of the entered `national_number` (so far),\n\t\t// and places the remaining input into the `national_number`.\n\n\t}, {\n\t\tkey: 'extract_country_phone_code',\n\t\tvalue: function extract_country_phone_code() {\n\t\t\tif (!this.national_number) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar _parse_phone_number_a = parse_phone_number_and_country_phone_code(this.parsed_input, this.metadata),\n\t\t\t    country_phone_code = _parse_phone_number_a.country_phone_code,\n\t\t\t    number = _parse_phone_number_a.number;\n\n\t\t\tif (!country_phone_code) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.country_phone_code = country_phone_code;\n\t\t\tthis.national_number = number;\n\n\t\t\treturn this.country_metadata = get_metadata_by_country_phone_code(country_phone_code, this.metadata);\n\t\t}\n\t}, {\n\t\tkey: 'extract_national_prefix',\n\t\tvalue: function extract_national_prefix() {\n\t\t\tthis.national_prefix = '';\n\n\t\t\tif (!this.country_metadata) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar national_number = strip_national_prefix(this.national_number, this.country_metadata);\n\n\t\t\tif (national_number !== this.national_number) {\n\t\t\t\tthis.national_prefix = this.national_number.slice(0, this.national_number.length - national_number.length);\n\t\t\t\tthis.national_number = national_number;\n\t\t\t}\n\n\t\t\treturn this.national_prefix;\n\t\t}\n\t}, {\n\t\tkey: 'choose_another_format',\n\t\tvalue: function choose_another_format() {\n\t\t\t// When there are multiple available formats, the formatter uses the first\n\t\t\t// format where a formatting template could be created.\n\t\t\tvar _iteratorNormalCompletion2 = true;\n\t\t\tvar _didIteratorError2 = false;\n\t\t\tvar _iteratorError2 = undefined;\n\n\t\t\ttry {\n\t\t\t\tfor (var _iterator2 = _getIterator(this.matching_formats), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n\t\t\t\t\tvar format = _step2.value;\n\n\t\t\t\t\t// If this format is currently being used\n\t\t\t\t\t// and is still possible, then stick to it.\n\t\t\t\t\tif (this.chosen_format === format) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// If this `format` is suitable for \"as you type\",\n\t\t\t\t\t// then extract the template from this format\n\t\t\t\t\t// and use it to format the phone number being input.\n\n\t\t\t\t\tif (!this.validate_format(format)) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!this.create_formatting_template(format)) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.chosen_format = format;\n\n\t\t\t\t\t// With a new formatting template, the matched position\n\t\t\t\t\t// using the old template needs to be reset.\n\t\t\t\t\tthis.last_match_position = -1;\n\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\t// No format matches the phone number,\n\t\t\t\t// therefore set `country` to `undefined`\n\t\t\t\t// (or to the default country).\n\t\t\t} catch (err) {\n\t\t\t\t_didIteratorError2 = true;\n\t\t\t\t_iteratorError2 = err;\n\t\t\t} finally {\n\t\t\t\ttry {\n\t\t\t\t\tif (!_iteratorNormalCompletion2 && _iterator2.return) {\n\t\t\t\t\t\t_iterator2.return();\n\t\t\t\t\t}\n\t\t\t\t} finally {\n\t\t\t\t\tif (_didIteratorError2) {\n\t\t\t\t\t\tthrow _iteratorError2;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.reset_country();\n\n\t\t\t// No format matches the national phone number entered\n\t\t\tthis.reset_format();\n\t\t}\n\t}, {\n\t\tkey: 'validate_format',\n\t\tvalue: function validate_format(format) {\n\t\t\t// If national prefix is mandatory for this phone number format\n\t\t\t// and the user didn't input the national prefix,\n\t\t\t// then this phone number format isn't suitable.\n\t\t\tif (!this.is_international() && !this.national_prefix && get_format_national_prefix_is_mandatory_when_formatting(format, this.country_metadata)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\treturn true;\n\t\t}\n\t}, {\n\t\tkey: 'create_formatting_template',\n\t\tvalue: function create_formatting_template(format) {\n\t\t\t// The formatter doesn't format numbers when numberPattern contains '|', e.g.\n\t\t\t// (20|3)\\d{4}. In those cases we quickly return.\n\t\t\t// (Though there's no such format in current metadata)\n\t\t\t/* istanbul ignore if */\n\t\t\tif (get_format_pattern(format).indexOf('|') >= 0) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar national_prefix_formatting_rule = get_format_national_prefix_formatting_rule(format, this.country_metadata);\n\n\t\t\t// A very smart trick by the guys at Google\n\t\t\tvar number_pattern = get_format_pattern(format)\n\t\t\t// Replace anything in the form of [..] with \\d\n\t\t\t.replace(CHARACTER_CLASS_PATTERN, '\\\\d')\n\t\t\t// Replace any standalone digit (not the one in `{}`) with \\d\n\t\t\t.replace(STANDALONE_DIGIT_PATTERN, '\\\\d');\n\n\t\t\t// This match will always succeed,\n\t\t\t// because the \"longest dummy phone number\"\n\t\t\t// has enough length to accomodate any possible\n\t\t\t// national phone number format pattern.\n\t\t\tvar dummy_phone_number_matching_format_pattern = LONGEST_DUMMY_PHONE_NUMBER.match(number_pattern)[0];\n\n\t\t\t// If the national number entered is too long\n\t\t\t// for any phone number format, then abort.\n\t\t\tif (this.national_number.length > dummy_phone_number_matching_format_pattern.length) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Prepare the phone number format\n\t\t\tvar number_format = this.get_format_format(format, national_prefix_formatting_rule);\n\n\t\t\t// Get a formatting template which can be used to efficiently format\n\t\t\t// a partial number where digits are added one by one.\n\n\t\t\t// Create formatting template for this phone number format\n\t\t\tvar template = dummy_phone_number_matching_format_pattern\n\t\t\t// Format the dummy phone number according to the format\n\t\t\t.replace(new RegExp(number_pattern, 'g'), number_format)\n\t\t\t// Replace each dummy digit with a DIGIT_PLACEHOLDER\n\t\t\t.replace(DUMMY_DIGIT_MATCHER, DIGIT_PLACEHOLDER);\n\n\t\t\t// This one is for national number only\n\t\t\tthis.partially_populated_template = template;\n\n\t\t\t// For convenience, the public `.template` property\n\t\t\t// contains the whole international number\n\t\t\t// if the phone number being input is international:\n\t\t\t// 'x' for the '+' sign, 'x'es for the country phone code,\n\t\t\t// a spacebar and then the template for the formatted national number.\n\t\t\tif (this.is_international()) {\n\t\t\t\tthis.template = DIGIT_PLACEHOLDER + repeat(DIGIT_PLACEHOLDER, this.country_phone_code.length) + ' ' + template;\n\t\t\t}\n\t\t\t// For local numbers, replace national prefix\n\t\t\t// with a digit placeholder.\n\t\t\telse {\n\t\t\t\t\tthis.template = template.replace(/\\d/g, DIGIT_PLACEHOLDER);\n\t\t\t\t}\n\n\t\t\t// This one is for the full phone number\n\t\t\treturn this.template;\n\t\t}\n\t}, {\n\t\tkey: 'format_next_national_number_digits',\n\t\tvalue: function format_next_national_number_digits(digits) {\n\t\t\tvar _iteratorNormalCompletion3 = true;\n\t\t\tvar _didIteratorError3 = false;\n\t\t\tvar _iteratorError3 = undefined;\n\n\t\t\ttry {\n\t\t\t\tfor (var _iterator3 = _getIterator(digits), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n\t\t\t\t\tvar digit = _step3.value;\n\n\t\t\t\t\t// If there is room for more digits in current `template`,\n\t\t\t\t\t// then set the next digit in the `template`,\n\t\t\t\t\t// and return the formatted digits so far.\n\n\t\t\t\t\t// If more digits are entered than the current format could handle\n\t\t\t\t\tif (this.partially_populated_template.slice(this.last_match_position + 1).search(DIGIT_PLACEHOLDER_MATCHER) === -1) {\n\t\t\t\t\t\t// Reset the current format,\n\t\t\t\t\t\t// so that the new format will be chosen\n\t\t\t\t\t\t// in a subsequent `this.choose_another_format()` call\n\t\t\t\t\t\t// later in code.\n\t\t\t\t\t\tthis.chosen_format = undefined;\n\t\t\t\t\t\tthis.template = undefined;\n\t\t\t\t\t\tthis.partially_populated_template = undefined;\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.last_match_position = this.partially_populated_template.search(DIGIT_PLACEHOLDER_MATCHER);\n\t\t\t\t\tthis.partially_populated_template = this.partially_populated_template.replace(DIGIT_PLACEHOLDER_MATCHER, digit);\n\t\t\t\t}\n\n\t\t\t\t// Return the formatted phone number so far\n\t\t\t} catch (err) {\n\t\t\t\t_didIteratorError3 = true;\n\t\t\t\t_iteratorError3 = err;\n\t\t\t} finally {\n\t\t\t\ttry {\n\t\t\t\t\tif (!_iteratorNormalCompletion3 && _iterator3.return) {\n\t\t\t\t\t\t_iterator3.return();\n\t\t\t\t\t}\n\t\t\t\t} finally {\n\t\t\t\t\tif (_didIteratorError3) {\n\t\t\t\t\t\tthrow _iteratorError3;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn close_dangling_braces(this.partially_populated_template, this.last_match_position + 1).replace(DIGIT_PLACEHOLDER_MATCHER_GLOBAL, ' ');\n\t\t}\n\t}, {\n\t\tkey: 'is_international',\n\t\tvalue: function is_international() {\n\t\t\treturn this.parsed_input && this.parsed_input[0] === '+';\n\t\t}\n\t}, {\n\t\tkey: 'get_format_format',\n\t\tvalue: function get_format_format(format, national_prefix_formatting_rule) {\n\t\t\tvar number_format = this.is_international() ? get_format_international_format(format) : _get_format_format(format);\n\n\t\t\t// If national prefix formatting rule is set\n\t\t\t// for this phone number format\n\t\t\tif (national_prefix_formatting_rule) {\n\t\t\t\t// If the user did input the national prefix\n\t\t\t\t// (or if the national prefix formatting rule does not require national prefix)\n\t\t\t\t// then maybe make it part of the phone number template\n\t\t\t\tif (this.national_prefix || !get_format_uses_national_prefix(national_prefix_formatting_rule)) {\n\t\t\t\t\t// Make the national prefix part of the phone number template\n\t\t\t\t\tnumber_format = number_format.replace(FIRST_GROUP_PATTERN, national_prefix_formatting_rule);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (this.is_international()) {\n\t\t\t\treturn local_to_international_style(number_format);\n\t\t\t}\n\n\t\t\treturn number_format;\n\t\t}\n\n\t\t// Determines the country of the phone number\n\t\t// entered so far based on the country phone code\n\t\t// and the national phone number.\n\n\t}, {\n\t\tkey: 'determine_the_country',\n\t\tvalue: function determine_the_country() {\n\t\t\tthis.country = find_country_code(this.country_phone_code, this.national_number, this.metadata);\n\t\t}\n\t}]);\n\n\treturn as_you_type;\n}();\n\nexport default as_you_type;\n\n\nexport function close_dangling_braces(template, cut_before) {\n\tvar retained_template = template.slice(0, cut_before);\n\n\tvar opening_braces = count_occurences('(', retained_template);\n\tvar closing_braces = count_occurences(')', retained_template);\n\n\tvar dangling_braces = opening_braces - closing_braces;\n\n\twhile (dangling_braces > 0 && cut_before < template.length) {\n\t\tif (template[cut_before] === ')') {\n\t\t\tdangling_braces--;\n\t\t}\n\t\tcut_before++;\n\t}\n\n\treturn template.slice(0, cut_before);\n}\n\n// Counts all occurences of a symbol in a string\nexport function count_occurences(symbol, string) {\n\tvar count = 0;\n\n\tvar _iteratorNormalCompletion4 = true;\n\tvar _didIteratorError4 = false;\n\tvar _iteratorError4 = undefined;\n\n\ttry {\n\t\tfor (var _iterator4 = _getIterator(string), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n\t\t\tvar character = _step4.value;\n\n\t\t\tif (character === symbol) {\n\t\t\t\tcount++;\n\t\t\t}\n\t\t}\n\t} catch (err) {\n\t\t_didIteratorError4 = true;\n\t\t_iteratorError4 = err;\n\t} finally {\n\t\ttry {\n\t\t\tif (!_iteratorNormalCompletion4 && _iterator4.return) {\n\t\t\t\t_iterator4.return();\n\t\t\t}\n\t\t} finally {\n\t\t\tif (_didIteratorError4) {\n\t\t\t\tthrow _iteratorError4;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn count;\n}\n\n// Repeats a string (or a symbol) N times.\n// http://stackoverflow.com/questions/202605/repeat-string-javascript\nexport function repeat(string, times) {\n\tif (times < 1) {\n\t\treturn '';\n\t}\n\n\tvar result = '';\n\n\twhile (times > 1) {\n\t\tif (times & 1) {\n\t\t\tresult += string;\n\t\t}\n\n\t\ttimes >>= 1;\n\t\tstring += string;\n\t}\n\n\treturn result + string;\n}\n//# sourceMappingURL=as you type.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/libphonenumber-js/es6/as you type.js\n// module id = 684\n// module chunks = 0","import parse, { is_viable_phone_number } from './parse';\nimport get_number_type, { sort_out_arguments } from './get number type';\n\nimport { get_types } from './metadata';\n\n// Checks if a given phone number is valid\n//\n// Example use cases:\n//\n// ```js\n// is_valid('8005553535', 'RU')\n// is_valid('8005553535', 'RU', metadata)\n// is_valid({ phone: '8005553535', country: 'RU' })\n// is_valid({ phone: '8005553535', country: 'RU' }, metadata)\n// is_valid('+78005553535')\n// is_valid('+78005553535', metadata)\n// ```\n//\nexport default function is_valid(first_argument, second_argument, third_argument) {\n\tvar _sort_out_arguments = sort_out_arguments(first_argument, second_argument, third_argument),\n\t    input = _sort_out_arguments.input,\n\t    metadata = _sort_out_arguments.metadata;\n\n\t// Sanity check\n\n\n\tif (!metadata) {\n\t\tthrow new Error('Metadata not passed');\n\t}\n\n\tif (!input) {\n\t\treturn false;\n\t}\n\n\tif (!input.country) {\n\t\treturn false;\n\t}\n\n\tvar country_metadata = metadata.countries[input.country];\n\n\tif (get_types(country_metadata)) {\n\t\tif (!get_number_type(input, metadata)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n}\n//# sourceMappingURL=validate.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/libphonenumber-js/es6/validate.js\n// module id = 685\n// module chunks = 0","\"use strict\";\nvar core_1 = require('@angular/core');\nvar ModalBodyComponent = (function () {\n    function ModalBodyComponent() {\n    }\n    ModalBodyComponent.decorators = [\n        { type: core_1.Component, args: [{\n                    selector: 'modal-body',\n                    template: \"\\n        <div class=\\\"modal-body\\\">\\n            <ng-content></ng-content>\\n        </div>\\n    \"\n                },] },\n    ];\n    /** @nocollapse */\n    ModalBodyComponent.ctorParameters = [];\n    return ModalBodyComponent;\n}());\nexports.ModalBodyComponent = ModalBodyComponent;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtYm9keS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9uZzItYnMzLW1vZGFsL2NvbXBvbmVudHMvbW9kYWwtYm9keS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEscUJBQTZELGVBQWUsQ0FBQyxDQUFBO0FBSTdFO0lBQUE7SUFjQSxDQUFDO0lBYk0sNkJBQVUsR0FBMEI7UUFDM0MsRUFBRSxJQUFJLEVBQUUsZ0JBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQztvQkFDdEIsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFFBQVEsRUFBRSxtR0FJVDtpQkFDSixFQUFHLEVBQUU7S0FDTCxDQUFDO0lBQ0Ysa0JBQWtCO0lBQ1gsaUNBQWMsR0FBNkQsRUFDakYsQ0FBQztJQUNGLHlCQUFDO0FBQUQsQ0FBQyxBQWRELElBY0M7QUFkWSwwQkFBa0IscUJBYzlCLENBQUEifQ==\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-bs3-modal/components/modal-body.js\n// module id = 686\n// module chunks = 0","\"use strict\";\nvar core_1 = require('@angular/core');\nvar modal_1 = require('./modal');\nvar ModalFooterComponent = (function () {\n    function ModalFooterComponent(modal) {\n        this.modal = modal;\n        this.showDefaultButtons = false;\n        this.dismissButtonLabel = 'Dismiss';\n        this.closeButtonLabel = 'Close';\n    }\n    ModalFooterComponent.decorators = [\n        { type: core_1.Component, args: [{\n                    selector: 'modal-footer',\n                    template: \"\\n        <div class=\\\"modal-footer\\\">\\n            <ng-content></ng-content>\\n            <button *ngIf=\\\"showDefaultButtons\\\" type=\\\"button\\\" class=\\\"btn btn-default\\\" data-dismiss=\\\"modal\\\" (click)=\\\"modal.dismiss()\\\">{{dismissButtonLabel}}</button>\\n            <button *ngIf=\\\"showDefaultButtons\\\" type=\\\"button\\\" class=\\\"btn btn-primary\\\" (click)=\\\"modal.close()\\\">{{closeButtonLabel}}</button>\\n        </div>\\n    \"\n                },] },\n    ];\n    /** @nocollapse */\n    ModalFooterComponent.ctorParameters = [\n        { type: modal_1.ModalComponent, },\n    ];\n    ModalFooterComponent.propDecorators = {\n        'showDefaultButtons': [{ type: core_1.Input, args: ['show-default-buttons',] },],\n        'dismissButtonLabel': [{ type: core_1.Input, args: ['dismiss-button-label',] },],\n        'closeButtonLabel': [{ type: core_1.Input, args: ['close-button-label',] },],\n    };\n    return ModalFooterComponent;\n}());\nexports.ModalFooterComponent = ModalFooterComponent;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtZm9vdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL25nMi1iczMtbW9kYWwvY29tcG9uZW50cy9tb2RhbC1mb290ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHFCQUF5QyxlQUFlLENBQUMsQ0FBQTtBQUN6RCxzQkFBK0IsU0FBUyxDQUFDLENBQUE7QUFHekM7SUFJSSw4QkFBb0IsS0FBcUI7UUFBckIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFIeEMsdUJBQWtCLEdBQVksS0FBSyxDQUFDO1FBQ3BDLHVCQUFrQixHQUFXLFNBQVMsQ0FBQztRQUN2QyxxQkFBZ0IsR0FBVyxPQUFPLENBQUM7SUFDUyxDQUFDO0lBQzNDLCtCQUFVLEdBQTBCO1FBQzNDLEVBQUUsSUFBSSxFQUFFLGdCQUFTLEVBQUUsSUFBSSxFQUFFLENBQUM7b0JBQ3RCLFFBQVEsRUFBRSxjQUFjO29CQUN4QixRQUFRLEVBQUUsd2FBTVQ7aUJBQ0osRUFBRyxFQUFFO0tBQ0wsQ0FBQztJQUNGLGtCQUFrQjtJQUNYLG1DQUFjLEdBQTZEO1FBQ2xGLEVBQUMsSUFBSSxFQUFFLHNCQUFjLEdBQUc7S0FDdkIsQ0FBQztJQUNLLG1DQUFjLEdBQTJDO1FBQ2hFLG9CQUFvQixFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsWUFBSyxFQUFFLElBQUksRUFBRSxDQUFDLHNCQUFzQixFQUFHLEVBQUUsRUFBRTtRQUMxRSxvQkFBb0IsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFlBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRyxFQUFFLEVBQUU7UUFDMUUsa0JBQWtCLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxZQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsb0JBQW9CLEVBQUcsRUFBRSxFQUFFO0tBQ3JFLENBQUM7SUFDRiwyQkFBQztBQUFELENBQUMsQUExQkQsSUEwQkM7QUExQlksNEJBQW9CLHVCQTBCaEMsQ0FBQSJ9\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-bs3-modal/components/modal-footer.js\n// module id = 687\n// module chunks = 0","\"use strict\";\nvar core_1 = require('@angular/core');\nvar modal_1 = require('./modal');\nvar ModalHeaderComponent = (function () {\n    function ModalHeaderComponent(modal) {\n        this.modal = modal;\n        this.showClose = false;\n    }\n    ModalHeaderComponent.decorators = [\n        { type: core_1.Component, args: [{\n                    selector: 'modal-header',\n                    template: \"\\n        <div class=\\\"modal-header\\\">\\n            <button *ngIf=\\\"showClose\\\" type=\\\"button\\\" class=\\\"close\\\" data-dismiss=\\\"modal\\\" aria-label=\\\"Close\\\" (click)=\\\"modal.dismiss()\\\">\\n                <span aria-hidden=\\\"true\\\">&times;</span>\\n            </button>\\n            <ng-content></ng-content>\\n        </div>\\n    \"\n                },] },\n    ];\n    /** @nocollapse */\n    ModalHeaderComponent.ctorParameters = [\n        { type: modal_1.ModalComponent, },\n    ];\n    ModalHeaderComponent.propDecorators = {\n        'showClose': [{ type: core_1.Input, args: ['show-close',] },],\n    };\n    return ModalHeaderComponent;\n}());\nexports.ModalHeaderComponent = ModalHeaderComponent;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaGVhZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL25nMi1iczMtbW9kYWwvY29tcG9uZW50cy9tb2RhbC1oZWFkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHFCQUF5QyxlQUFlLENBQUMsQ0FBQTtBQUN6RCxzQkFBK0IsU0FBUyxDQUFDLENBQUE7QUFHekM7SUFFSSw4QkFBb0IsS0FBcUI7UUFBckIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFEeEMsY0FBUyxHQUFZLEtBQUssQ0FBQztJQUNpQixDQUFDO0lBQzNDLCtCQUFVLEdBQTBCO1FBQzNDLEVBQUUsSUFBSSxFQUFFLGdCQUFTLEVBQUUsSUFBSSxFQUFFLENBQUM7b0JBQ3RCLFFBQVEsRUFBRSxjQUFjO29CQUN4QixRQUFRLEVBQUUseVVBT1Q7aUJBQ0osRUFBRyxFQUFFO0tBQ0wsQ0FBQztJQUNGLGtCQUFrQjtJQUNYLG1DQUFjLEdBQTZEO1FBQ2xGLEVBQUMsSUFBSSxFQUFFLHNCQUFjLEdBQUc7S0FDdkIsQ0FBQztJQUNLLG1DQUFjLEdBQTJDO1FBQ2hFLFdBQVcsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFlBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxZQUFZLEVBQUcsRUFBRSxFQUFFO0tBQ3RELENBQUM7SUFDRiwyQkFBQztBQUFELENBQUMsQUF2QkQsSUF1QkM7QUF2QlksNEJBQW9CLHVCQXVCaEMsQ0FBQSJ9\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-bs3-modal/components/modal-header.js\n// module id = 688\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('rxjs/Observable');\nrequire('rxjs/add/operator/map');\nrequire('rxjs/add/observable/fromEvent');\nvar ModalInstance = (function () {\n    function ModalInstance(element) {\n        this.element = element;\n        this.suffix = '.ng2-bs3-modal';\n        this.shownEventName = 'shown.bs.modal' + this.suffix;\n        this.hiddenEventName = 'hidden.bs.modal' + this.suffix;\n        this.visible = false;\n        this.init();\n    }\n    ModalInstance.prototype.open = function () {\n        return this.show();\n    };\n    ModalInstance.prototype.close = function () {\n        this.result = ModalResult.Close;\n        return this.hide();\n    };\n    ModalInstance.prototype.dismiss = function () {\n        this.result = ModalResult.Dismiss;\n        return this.hide();\n    };\n    ModalInstance.prototype.destroy = function () {\n        var _this = this;\n        return this.hide().then(function () {\n            if (_this.$modal) {\n                _this.$modal.data('bs.modal', null);\n                _this.$modal.remove();\n            }\n        });\n    };\n    ModalInstance.prototype.show = function () {\n        var promise = toPromise(this.shown);\n        this.resetData();\n        this.$modal.modal();\n        return promise;\n    };\n    ModalInstance.prototype.hide = function () {\n        if (this.$modal && this.visible) {\n            var promise = toPromise(this.hidden);\n            this.$modal.modal('hide');\n            return promise;\n        }\n        return Promise.resolve(this.result);\n    };\n    ModalInstance.prototype.init = function () {\n        var _this = this;\n        this.$modal = jQuery(this.element.nativeElement);\n        this.$modal.appendTo('body');\n        this.shown = Observable_1.Observable.fromEvent(this.$modal, this.shownEventName)\n            .map(function () {\n            _this.visible = true;\n        });\n        this.hidden = Observable_1.Observable.fromEvent(this.$modal, this.hiddenEventName)\n            .map(function () {\n            var result = (!_this.result || _this.result === ModalResult.None)\n                ? ModalResult.Dismiss : _this.result;\n            _this.result = ModalResult.None;\n            _this.visible = false;\n            return result;\n        });\n    };\n    ModalInstance.prototype.resetData = function () {\n        this.$modal.removeData();\n        this.$modal.data('backdrop', booleanOrValue(this.$modal.attr('data-backdrop')));\n        this.$modal.data('keyboard', booleanOrValue(this.$modal.attr('data-keyboard')));\n    };\n    return ModalInstance;\n}());\nexports.ModalInstance = ModalInstance;\nfunction booleanOrValue(value) {\n    if (value === 'true')\n        return true;\n    else if (value === 'false')\n        return false;\n    return value;\n}\nfunction toPromise(observable) {\n    return new Promise(function (resolve, reject) {\n        observable.subscribe(function (next) {\n            resolve(next);\n        });\n    });\n}\n(function (ModalResult) {\n    ModalResult[ModalResult[\"None\"] = 0] = \"None\";\n    ModalResult[ModalResult[\"Close\"] = 1] = \"Close\";\n    ModalResult[ModalResult[\"Dismiss\"] = 2] = \"Dismiss\";\n})(exports.ModalResult || (exports.ModalResult = {}));\nvar ModalResult = exports.ModalResult;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaW5zdGFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbmcyLWJzMy1tb2RhbC9jb21wb25lbnRzL21vZGFsLWluc3RhbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSwyQkFBMkIsaUJBQWlCLENBQUMsQ0FBQTtBQUM3QyxRQUFPLHVCQUF1QixDQUFDLENBQUE7QUFDL0IsUUFBTywrQkFBK0IsQ0FBQyxDQUFBO0FBSXZDO0lBWUksdUJBQW9CLE9BQW1CO1FBQW5CLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFWL0IsV0FBTSxHQUFXLGdCQUFnQixDQUFDO1FBQ2xDLG1CQUFjLEdBQVcsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUN4RCxvQkFBZSxHQUFXLGlCQUFpQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFNbEUsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUdyQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELDRCQUFJLEdBQUo7UUFDSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCw2QkFBSyxHQUFMO1FBQ0ksSUFBSSxDQUFDLE1BQU0sR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDO1FBQ2hDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELCtCQUFPLEdBQVA7UUFDSSxJQUFJLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUM7UUFDbEMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsK0JBQU8sR0FBUDtRQUFBLGlCQU9DO1FBTkcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUM7WUFDcEIsRUFBRSxDQUFDLENBQUMsS0FBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQ2Qs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\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-bs3-modal/components/modal-instance.js\n// module id = 689\n// module chunks = 0","\"use strict\";\nvar core_1 = require(\"@angular/core\");\nvar Dropdown_1 = require(\"./Dropdown\");\nvar DropdownOpen = (function () {\n    // -------------------------------------------------------------------------\n    // Constructor\n    // -------------------------------------------------------------------------\n    function DropdownOpen(dropdown, elementRef) {\n        this.dropdown = dropdown;\n        this.elementRef = elementRef;\n        // -------------------------------------------------------------------------\n        // Private Properties\n        // -------------------------------------------------------------------------\n        /**\n         * This hack is needed for dropdown not to open and instantly closed\n         */\n        this.openedByFocus = false;\n        var _this = this;\n        this.closeDropdownOnOutsideClick = function closeDropdownOnOutsideClick(event) {\n            _this.closeIfInClosableZone(event);\n        };\n    }\n    // -------------------------------------------------------------------------\n    // Public Methods\n    // -------------------------------------------------------------------------\n    DropdownOpen.prototype.toggle = function () {\n        if (this.dropdown.isOpened()) {\n            this.close();\n        }\n        else {\n            this.open();\n        }\n    };\n    DropdownOpen.prototype.open = function () {\n        if (this.dropdown.isOpened())\n            return;\n        this.dropdown.open();\n        document.addEventListener(\"click\", this.closeDropdownOnOutsideClick, true);\n    };\n    DropdownOpen.prototype.close = function () {\n        if (!this.dropdown.isOpened())\n            return;\n        this.dropdown.close();\n        document.removeEventListener(\"click\", this.closeDropdownOnOutsideClick, true);\n    };\n    DropdownOpen.prototype.openDropdown = function () {\n        if (this.dropdown.activateOnFocus && this.openedByFocus) {\n            this.openedByFocus = false;\n            return;\n        }\n        if (this.dropdown.isOpened() && this.dropdown.toggleClick) {\n            this.close();\n        }\n        else {\n            this.open();\n        }\n    };\n    DropdownOpen.prototype.dropdownKeydown = function (event) {\n        if (event.keyCode === 40) {\n            this.openDropdown();\n        }\n    };\n    DropdownOpen.prototype.onFocus = function () {\n        if (!this.dropdown.activateOnFocus)\n            return;\n        this.openedByFocus = true;\n        this.dropdown.open();\n        document.addEventListener(\"click\", this.closeDropdownOnOutsideClick, true);\n    };\n    DropdownOpen.prototype.onBlur = function (event) {\n        if (!this.dropdown.activateOnFocus)\n            return;\n        if (event.relatedTarget &&\n            !this.dropdown.isInClosableZone(event.relatedTarget) &&\n            event.relatedTarget !== this.elementRef.nativeElement) {\n            this.dropdown.close();\n            document.removeEventListener(\"click\", this.closeDropdownOnOutsideClick, true);\n        }\n    };\n    // -------------------------------------------------------------------------\n    // Lifecycle Methods\n    // -------------------------------------------------------------------------\n    DropdownOpen.prototype.ngOnDestroy = function () {\n        document.removeEventListener(\"click\", this.closeDropdownOnOutsideClick, true);\n    };\n    // -------------------------------------------------------------------------\n    // Private Methods\n    // -------------------------------------------------------------------------\n    DropdownOpen.prototype.closeIfInClosableZone = function (event) {\n        if (!this.dropdown.isInClosableZone(event.target)\n            && event.target !== this.elementRef.nativeElement\n            && !this.elementRef.nativeElement.contains(event.target)) {\n            this.dropdown.close();\n            document.removeEventListener(\"click\", this.closeDropdownOnOutsideClick, true);\n        }\n    };\n    DropdownOpen.decorators = [\n        { type: core_1.Directive, args: [{\n                    selector: \"[dropdown-open]\",\n                    exportAs: \"dropdownOpen\"\n                },] },\n    ];\n    /** @nocollapse */\n    DropdownOpen.ctorParameters = [\n        { type: Dropdown_1.Dropdown, decorators: [{ type: core_1.Host },] },\n        { type: core_1.ElementRef, },\n    ];\n    DropdownOpen.propDecorators = {\n        'openDropdown': [{ type: core_1.HostListener, args: [\"click\",] },],\n        'dropdownKeydown': [{ type: core_1.HostListener, args: [\"keydown\", [\"$event\"],] },],\n        'onFocus': [{ type: core_1.HostListener, args: [\"focus\",] },],\n        'onBlur': [{ type: core_1.HostListener, args: [\"blur\", [\"$event\"],] },],\n    };\n    return DropdownOpen;\n}());\nexports.DropdownOpen = DropdownOpen;\n//# sourceMappingURL=DropdownOpen.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-dropdown/DropdownOpen.js\n// module id = 690\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar CropperDrawSettings = (function () {\n    function CropperDrawSettings() {\n        this.strokeWidth = 1;\n        this.strokeColor = 'rgba(255,255,255,1)';\n        this.dragIconStrokeWidth = 1;\n        this.dragIconStrokeColor = 'rgba(0,0,0,1)';\n        this.dragIconFillColor = 'rgba(255,255,255,1)';\n    }\n    return CropperDrawSettings;\n}());\nexports.CropperDrawSettings = CropperDrawSettings;\n//# sourceMappingURL=cropperDrawSettings.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-img-cropper/src/cropperDrawSettings.js\n// module id = 691\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar bounds_1 = require(\"./model/bounds\");\nvar cornerMarker_1 = require(\"./model/cornerMarker\");\nvar cropTouch_1 = require(\"./model/cropTouch\");\nvar dragMarker_1 = require(\"./model/dragMarker\");\nvar imageCropperModel_1 = require(\"./model/imageCropperModel\");\nvar imageCropperDataShare_1 = require(\"./imageCropperDataShare\");\nvar pointPool_1 = require(\"./model/pointPool\");\nvar ImageCropper = (function (_super) {\n    __extends(ImageCropper, _super);\n    function ImageCropper(cropperSettings) {\n        var _this = _super.call(this) || this;\n        var x = 0;\n        var y = 0;\n        var width = cropperSettings.width;\n        var height = cropperSettings.height;\n        var keepAspect = cropperSettings.keepAspect;\n        var touchRadius = cropperSettings.touchRadius;\n        var minWidth = cropperSettings.minWidth;\n        var minHeight = cropperSettings.minHeight;\n        var croppedWidth = cropperSettings.croppedWidth;\n        var croppedHeight = cropperSettings.croppedHeight;\n        _this.cropperSettings = cropperSettings;\n        _this.crop = _this;\n        _this.x = x;\n        _this.y = y;\n        if (width === void 0) {\n            _this.width = 100;\n        }\n        if (height === void 0) {\n            _this.height = 50;\n        }\n        if (keepAspect === void 0) {\n            _this.keepAspect = true;\n        }\n        if (touchRadius === void 0) {\n            _this.touchRadius = 20;\n        }\n        _this.minWidth = minWidth;\n        _this.minHeight = minHeight;\n        _this.keepAspect = false;\n        _this.aspectRatio = 0;\n        _this.currentDragTouches = [];\n        _this.isMouseDown = false;\n        _this.ratioW = 1;\n        _this.ratioH = 1;\n        _this.fileType = cropperSettings.fileType;\n        _this.imageSet = false;\n        _this.pointPool = new pointPool_1.PointPool(200);\n        _this.tl = new cornerMarker_1.CornerMarker(x, y, touchRadius, _this.cropperSettings);\n        _this.tr = new cornerMarker_1.CornerMarker(x + width, y, touchRadius, _this.cropperSettings);\n        _this.bl = new cornerMarker_1.CornerMarker(x, y + height, touchRadius, _this.cropperSettings);\n        _this.br = new cornerMarker_1.CornerMarker(x + width, y + height, touchRadius, _this.cropperSettings);\n        _this.tl.addHorizontalNeighbour(_this.tr);\n        _this.tl.addVerticalNeighbour(_this.bl);\n        _this.tr.addHorizontalNeighbour(_this.tl);\n        _this.tr.addVerticalNeighbour(_this.br);\n        _this.bl.addHorizontalNeighbour(_this.br);\n        _this.bl.addVerticalNeighbour(_this.tl);\n        _this.br.addHorizontalNeighbour(_this.bl);\n        _this.br.addVerticalNeighbour(_this.tr);\n        _this.markers = [_this.tl, _this.tr, _this.bl, _this.br];\n        _this.center = new dragMarker_1.DragMarker(x + (width / 2), y + (height / 2), touchRadius, _this.cropperSettings);\n        _this.keepAspect = keepAspect;\n        _this.aspectRatio = height / width;\n        _this.croppedImage = new Image();\n        _this.currentlyInteracting = false;\n        _this.cropWidth = croppedWidth;\n        _this.cropHeight = croppedHeight;\n        return _this;\n    }\n    ImageCropper.sign = function (x) {\n        if (+x === x) {\n            return (x === 0) ? x : (x > 0) ? 1 : -1;\n        }\n        return NaN;\n    };\n    ImageCropper.getMousePos = function (canvas, evt) {\n        var rect = canvas.getBoundingClientRect();\n        return pointPool_1.PointPool.instance.borrow(evt.clientX - rect.left, evt.clientY - rect.top);\n    };\n    ImageCropper.getTouchPos = function (canvas, touch) {\n        var rect = canvas.getBoundingClientRect();\n        return pointPool_1.PointPool.instance.borrow(touch.clientX - rect.left, touch.clientY - rect.top);\n    };\n    ImageCropper.detectVerticalSquash = function (img) {\n        var ih = img.height;\n        var canvas = document.createElement('canvas');\n        canvas.width = 1;\n        canvas.height = ih;\n        var ctx = canvas.getContext('2d');\n        ctx.drawImage(img, 0, 0);\n        var imageData = ctx.getImageData(0, 0, 1, ih);\n        if (imageData) {\n            var data = imageData.data;\n            // search image edge pixel position in case it is squashed vertically.\n            var sy = 0;\n            var ey = ih;\n            var py = ih;\n            while (py > sy) {\n                var alpha = data[(py - 1) * 4 + 3];\n                if (alpha === 0) {\n                    ey = py;\n                }\n                else {\n                    sy = py;\n                }\n                py = (ey + sy) >> 1;\n            }\n            var ratio = (py / ih);\n            return (ratio === 0) ? 1 : ratio;\n        }\n        else {\n            return 1;\n        }\n    };\n    ImageCropper.prototype.getDataUriMimeType = function (dataUri) {\n        // Get a substring because the regex does not perform well on very large strings. Cater for optional charset. Length 50 shoould be enough.\n        var dataUriSubstring = dataUri.substring(0, 50);\n        var mimeType = 'image/png';\n        // data-uri scheme\n        // data:[<media type>][;charset=<character set>][;base64],<data>\n        var regEx = RegExp(/^(data:)([\\w\\/\\+]+);(charset=[\\w-]+|base64).*,(.*)/gi);\n        var matches = regEx.exec(dataUriSubstring);\n        if (matches && matches[2]) {\n            mimeType = matches[2];\n            if (mimeType == 'image/jpg') {\n                mimeType = 'image/jpeg';\n            }\n        }\n        return mimeType;\n    };\n    ImageCropper.prototype.prepare = function (canvas) {\n        this.buffer = document.createElement('canvas');\n        this.cropCanvas = document.createElement('canvas');\n        // todo get more reliable parent width value.\n        var responsiveWidth = canvas.parentElement ? canvas.parentElement.clientWidth : 0;\n        if (responsiveWidth > 0 && this.cropperSettings.dynamicSizing) {\n            this.cropCanvas.width = responsiveWidth;\n            this.buffer.width = responsiveWidth;\n            canvas.width = responsiveWidth;\n        }\n        else {\n            this.cropCanvas.width = this.cropWidth;\n            this.buffer.width = canvas.width;\n        }\n        this.cropCanvas.height = this.cropHeight;\n        this.buffer.height = canvas.height;\n        this.canvas = canvas;\n        this.ctx = this.canvas.getContext('2d');\n        this.draw(this.ctx);\n    };\n    ImageCropper.prototype.resizeCanvas = function (width, height, setImage) {\n        if (setImage === void 0) { setImage = false; }\n        this.canvas.width = this.cropCanvas.width = this.width = this.canvasWidth = this.buffer.width = width;\n        this.canvas.height = this.cropCanvas.height = this.height = this.canvasHeight = this.buffer.height = height;\n        if (setImage) {\n            this.setImage(this.srcImage);\n        }\n    };\n    ImageCropper.prototype.reset = function () {\n        this.setImage(undefined);\n    };\n    ImageCropper.prototype.draw = function (ctx) {\n        var bounds = this.getBounds();\n        if (this.srcImage) {\n            ctx.clearRect(0, 0, this.canvasWidth, this.canvasHeight);\n            var sourceAspect = this.srcImage.height / this.srcImage.width;\n            var canvasAspect = this.canvasHeight / this.canvasWidth;\n            var w = this.canvasWidth;\n            var h = this.canvasHeight;\n            if (canvasAspect > sourceAspect) {\n                w = this.canvasWidth;\n                h = this.canvasWidth * sourceAspect;\n            }\n            else {\n                h = this.canvasHeight;\n                w = this.canvasHeight / sourceAspect;\n            }\n            this.ratioW = w / this.srcImage.width;\n            this.ratioH = h / this.srcImage.height;\n            if (canvasAspect < sourceAspect) {\n                this.drawImageIOSFix(ctx, this.srcImage, 0, 0, this.srcImage.width, this.srcImage.height, this.buffer.width / 2 - w / 2, 0, w, h);\n            }\n            else {\n                this.drawImageIOSFix(ctx, this.srcImage, 0, 0, this.srcImage.width, this.srcImage.height, 0, this.buffer.height / 2 - h / 2, w, h);\n            }\n            this.buffer.getContext('2d')\n                .drawImage(this.canvas, 0, 0, this.canvasWidth, this.canvasHeight);\n            ctx.lineWidth = this.cropperSettings.cropperDrawSettings.strokeWidth;\n            ctx.strokeStyle = this.cropperSettings.cropperDrawSettings.strokeColor; // 'rgba(255,228,0,1)';\n            if (!this.cropperSettings.rounded) {\n                ctx.fillStyle = 'rgba(0, 0, 0, 0.6)';\n                ctx.fillRect(0, 0, this.canvasWidth, this.canvasHeight);\n                ctx.drawImage(this.buffer, bounds.left, bounds.top, Math.max(bounds.width, 1), Math.max(bounds.height, 1), bounds.left, bounds.top, bounds.width, bounds.height);\n                ctx.strokeRect(bounds.left, bounds.top, bounds.width, bounds.height);\n            }\n            else {\n                ctx.beginPath();\n                ctx.arc(bounds.left + bounds.width / 2, bounds.top + bounds.height / 2, bounds.width / 2, 0, Math.PI * 2, true);\n                ctx.closePath();\n                ctx.stroke();\n            }\n            var marker = void 0;\n            for (var i = 0; i < this.markers.length; i++) {\n                marker = this.markers[i];\n                marker.draw(ctx);\n            }\n            this.center.draw(ctx);\n        }\n        else {\n            ctx.fillStyle = 'rgba(192,192,192,1)';\n            ctx.fillRect(0, 0, this.canvas.width, this.canvas.height);\n        }\n    };\n    ImageCropper.prototype.dragCenter = function (x, y, marker) {\n        var bounds = this.getBounds();\n        var left = x - (bounds.width / 2);\n        var right = x + (bounds.width / 2);\n        var top = y - (bounds.height / 2);\n        var bottom = y + (bounds.height / 2);\n        if (right >= this.maxXClamp) {\n            x = this.maxXClamp - bounds.width / 2;\n        }\n        if (left <= this.minXClamp) {\n            x = bounds.width / 2 + this.minXClamp;\n        }\n        if (top < this.minYClamp) {\n            y = bounds.height / 2 + this.minYClamp;\n        }\n        if (bottom >= this.maxYClamp) {\n            y = this.maxYClamp - bounds.height / 2;\n        }\n        this.tl.moveX(x - (bounds.width / 2));\n        this.tl.moveY(y - (bounds.height / 2));\n        this.tr.moveX(x + (bounds.width / 2));\n        this.tr.moveY(y - (bounds.height / 2));\n        this.bl.moveX(x - (bounds.width / 2));\n        this.bl.moveY(y + (bounds.height / 2));\n        this.br.moveX(x + (bounds.width / 2));\n        this.br.moveY(y + (bounds.height / 2));\n        marker.setPosition(x, y);\n    };\n    ImageCropper.prototype.enforceMinSize = function (x, y, marker) {\n        var xLength = x - marker.getHorizontalNeighbour().position.x;\n        var yLength = y - marker.getVerticalNeighbour().position.y;\n        var xOver = this.minWidth - Math.abs(xLength);\n        var yOver = this.minHeight - Math.abs(yLength);\n        if (xLength === 0 || yLength === 0) {\n            x = marker.position.x;\n            y = marker.position.y;\n            return pointPool_1.PointPool.instance.borrow(x, y);\n        }\n        if (this.keepAspect) {\n            if (xOver > 0 && (yOver / this.aspectRatio) > 0) {\n                if (xOver > (yOver / this.aspectRatio)) {\n                    if (xLength < 0) {\n                        x -= xOver;\n                        if (yLength < 0) {\n                            y -= xOver * this.aspectRatio;\n                        }\n                        else {\n                            y += xOver * this.aspectRatio;\n                        }\n                    }\n                    else {\n                        x += xOver;\n                        if (yLength < 0) {\n                            y -= xOver * this.aspectRatio;\n                        }\n                        else {\n                            y += xOver * this.aspectRatio;\n                        }\n                    }\n                }\n                else {\n                    if (yLength < 0) {\n                        y -= yOver;\n                        if (xLength < 0) {\n                            x -= yOver / this.aspectRatio;\n                        }\n                        else {\n                            x += yOver / this.aspectRatio;\n                        }\n                    }\n                    else {\n                        y += yOver;\n                        if (xLength < 0) {\n                            x -= yOver / this.aspectRatio;\n                        }\n                        else {\n                            x += yOver / this.aspectRatio;\n                        }\n                    }\n                }\n            }\n            else {\n                if (xOver > 0) {\n                    if (xLength < 0) {\n                        x -= xOver;\n                        if (yLength < 0) {\n                            y -= xOver * this.aspectRatio;\n                        }\n                        else {\n                            y += xOver * this.aspectRatio;\n                        }\n                    }\n                    else {\n                        x += xOver;\n                        if (yLength < 0) {\n                            y -= xOver * this.aspectRatio;\n                        }\n                        else {\n                            y += xOver * this.aspectRatio;\n                        }\n                    }\n                }\n                else {\n                    if (yOver > 0) {\n                        if (yLength < 0) {\n                            y -= yOver;\n                            if (xLength < 0) {\n                                x -= yOver / this.aspectRatio;\n                            }\n                            else {\n                                x += yOver / this.aspectRatio;\n                            }\n                        }\n                        else {\n                            y += yOver;\n                            if (xLength < 0) {\n                                x -= yOver / this.aspectRatio;\n                            }\n                            else {\n                                x += yOver / this.aspectRatio;\n                            }\n                        }\n                    }\n                }\n            }\n        }\n        else {\n            if (xOver > 0) {\n                if (xLength < 0) {\n                    x -= xOver;\n                }\n                else {\n                    x += xOver;\n                }\n            }\n            if (yOver > 0) {\n                if (yLength < 0) {\n                    y -= yOver;\n                }\n                else {\n                    y += yOver;\n                }\n            }\n        }\n        if (x < this.minXClamp || x > this.maxXClamp || y < this.minYClamp || y > this.maxYClamp) {\n            x = marker.position.x;\n            y = marker.position.y;\n        }\n        return pointPool_1.PointPool.instance.borrow(x, y);\n    };\n    ImageCropper.prototype.dragCorner = function (x, y, marker) {\n        var iX = 0;\n        var iY = 0;\n        var ax = 0;\n        var ay = 0;\n        var newHeight = 0;\n        var newWidth = 0;\n        var newY = 0;\n        var newX = 0;\n        var anchorMarker;\n        var fold = 0;\n        if (this.keepAspect) {\n            anchorMarker = marker.getHorizontalNeighbour().getVerticalNeighbour();\n            ax = anchorMarker.position.x;\n            ay = anchorMarker.position.y;\n            if (x <= anchorMarker.position.x) {\n                if (y <= anchorMarker.position.y) {\n                    iX = ax - (100 / this.aspectRatio);\n                    iY = ay - (100 / this.aspectRatio * this.aspectRatio);\n                    fold = this.getSide(pointPool_1.PointPool.instance.borrow(iX, iY), anchorMarker.position, pointPool_1.PointPool.instance.borrow(x, y));\n                    if (fold > 0) {\n                        newHeight = Math.abs(anchorMarker.position.y - y);\n                        newWidth = newHeight / this.aspectRatio;\n                        newY = anchorMarker.position.y - newHeight;\n                        newX = anchorMarker.position.x - newWidth;\n                        var min = this.enforceMinSize(newX, newY, marker);\n                        marker.move(min.x, min.y);\n                        pointPool_1.PointPool.instance.returnPoint(min);\n                    }\n                    else {\n                        if (fold < 0) {\n                            newWidth = Math.abs(anchorMarker.position.x - x);\n                            newHeight = newWidth * this.aspectRatio;\n                            newY = anchorMarker.position.y - newHeight;\n                            newX = anchorMarker.position.x - newWidth;\n                            var min = this.enforceMinSize(newX, newY, marker);\n                            marker.move(min.x, min.y);\n                            pointPool_1.PointPool.instance.returnPoint(min);\n                        }\n                    }\n                }\n                else {\n                    iX = ax - (100 / this.aspectRatio);\n                    iY = ay + (100 / this.aspectRatio * this.aspectRatio);\n                    fold = this.getSide(pointPool_1.PointPool.instance.borrow(iX, iY), anchorMarker.position, pointPool_1.PointPool.instance.borrow(x, y));\n                    if (fold > 0) {\n                        newWidth = Math.abs(anchorMarker.position.x - x);\n                        newHeight = newWidth * this.aspectRatio;\n                        newY = anchorMarker.position.y + newHeight;\n                        newX = anchorMarker.position.x - newWidth;\n                        var min = this.enforceMinSize(newX, newY, marker);\n                        marker.move(min.x, min.y);\n                        pointPool_1.PointPool.instance.returnPoint(min);\n                    }\n                    else {\n                        if (fold < 0) {\n                            newHeight = Math.abs(anchorMarker.position.y - y);\n                            newWidth = newHeight / this.aspectRatio;\n                            newY = anchorMarker.position.y + newHeight;\n                            newX = anchorMarker.position.x - newWidth;\n                            var min = this.enforceMinSize(newX, newY, marker);\n                            marker.move(min.x, min.y);\n                            pointPool_1.PointPool.instance.returnPoint(min);\n                        }\n                    }\n                }\n            }\n            else {\n                if (y <= anchorMarker.position.y) {\n                    iX = ax + (100 / this.aspectRatio);\n                    iY = ay - (100 / this.aspectRatio * this.aspectRatio);\n                    fold = this.getSide(pointPool_1.PointPool.instance.borrow(iX, iY), anchorMarker.position, pointPool_1.PointPool.instance.borrow(x, y));\n                    if (fold < 0) {\n                        newHeight = Math.abs(anchorMarker.position.y - y);\n                        newWidth = newHeight / this.aspectRatio;\n                        newY = anchorMarker.position.y - newHeight;\n                        newX = anchorMarker.position.x + newWidth;\n                        var min = this.enforceMinSize(newX, newY, marker);\n                        marker.move(min.x, min.y);\n                        pointPool_1.PointPool.instance.returnPoint(min);\n                    }\n                    else {\n                        if (fold > 0) {\n                            newWidth = Math.abs(anchorMarker.position.x - x);\n                            newHeight = newWidth * this.aspectRatio;\n                            newY = anchorMarker.position.y - newHeight;\n                            newX = anchorMarker.position.x + newWidth;\n                            var min = this.enforceMinSize(newX, newY, marker);\n                            marker.move(min.x, min.y);\n                            pointPool_1.PointPool.instance.returnPoint(min);\n                        }\n                    }\n                }\n                else {\n                    iX = ax + (100 / this.aspectRatio);\n                    iY = ay + (100 / this.aspectRatio * this.aspectRatio);\n                    fold = this.getSide(pointPool_1.PointPool.instance.borrow(iX, iY), anchorMarker.position, pointPool_1.PointPool.instance.borrow(x, y));\n                    if (fold < 0) {\n                        newWidth = Math.abs(anchorMarker.position.x - x);\n                        newHeight = newWidth * this.aspectRatio;\n                        newY = anchorMarker.position.y + newHeight;\n                        newX = anchorMarker.position.x + newWidth;\n                        var min = this.enforceMinSize(newX, newY, marker);\n                        marker.move(min.x, min.y);\n                        pointPool_1.PointPool.instance.returnPoint(min);\n                    }\n                    else {\n                        if (fold > 0) {\n                            newHeight = Math.abs(anchorMarker.position.y - y);\n                            newWidth = newHeight / this.aspectRatio;\n                            newY = anchorMarker.position.y + newHeight;\n                            newX = anchorMarker.position.x + newWidth;\n                            var min = this.enforceMinSize(newX, newY, marker);\n                            marker.move(min.x, min.y);\n                            pointPool_1.PointPool.instance.returnPoint(min);\n                        }\n                    }\n                }\n            }\n        }\n        else {\n            var min = this.enforceMinSize(x, y, marker);\n            marker.move(min.x, min.y);\n            pointPool_1.PointPool.instance.returnPoint(min);\n        }\n        this.center.recalculatePosition(this.getBounds());\n    };\n    ImageCropper.prototype.getSide = function (a, b, c) {\n        var n = ImageCropper.sign((b.x - a.x) * (c.y - a.y) - (b.y - a.y) * (c.x - a.x));\n        // TODO move the return of the pools to outside of this function\n        pointPool_1.PointPool.instance.returnPoint(a);\n        pointPool_1.PointPool.instance.returnPoint(c);\n        return n;\n    };\n    ImageCropper.prototype.handleRelease = function (newCropTouch) {\n        if (newCropTouch == null) {\n            return;\n        }\n        var index = 0;\n        for (var k = 0; k < this.currentDragTouches.length; k++) {\n            if (newCropTouch.id === this.currentDragTouches[k].id) {\n                this.currentDragTouches[k].dragHandle.setDrag(false);\n                index = k;\n            }\n        }\n        this.currentDragTouches.splice(index, 1);\n        this.draw(this.ctx);\n    };\n    ImageCropper.prototype.handleMove = function (newCropTouch) {\n        var matched = false;\n        for (var k = 0; k < this.currentDragTouches.length; k++) {\n            if (newCropTouch.id === this.currentDragTouches[k].id && this.currentDragTouches[k].dragHandle != null) {\n                var dragTouch = this.currentDragTouches[k];\n                var clampedPositions = this.clampPosition(newCropTouch.x - dragTouch.dragHandle.offset.x, newCropTouch.y - dragTouch.dragHandle.offset.y);\n                newCropTouch.x = clampedPositions.x;\n                newCropTouch.y = clampedPositions.y;\n                pointPool_1.PointPool.instance.returnPoint(clampedPositions);\n                if (dragTouch.dragHandle instanceof cornerMarker_1.CornerMarker) {\n                    this.dragCorner(newCropTouch.x, newCropTouch.y, dragTouch.dragHandle);\n                }\n                else {\n                    this.dragCenter(newCropTouch.x, newCropTouch.y, dragTouch.dragHandle);\n                }\n                this.currentlyInteracting = true;\n                matched = true;\n                imageCropperDataShare_1.ImageCropperDataShare.setPressed(this.canvas);\n                break;\n            }\n        }\n        if (!matched) {\n            for (var i = 0; i < this.markers.length; i++) {\n                var marker = this.markers[i];\n                if (marker.touchInBounds(newCropTouch.x, newCropTouch.y)) {\n                    newCropTouch.dragHandle = marker;\n                    this.currentDragTouches.push(newCropTouch);\n                    marker.setDrag(true);\n                    newCropTouch.dragHandle.offset.x = newCropTouch.x - newCropTouch.dragHandle.position.x;\n                    newCropTouch.dragHandle.offset.y = newCropTouch.y - newCropTouch.dragHandle.position.y;\n                    this.dragCorner(newCropTouch.x - newCropTouch.dragHandle.offset.x, newCropTouch.y - newCropTouch.dragHandle.offset.y, newCropTouch.dragHandle);\n                    break;\n                }\n            }\n            if (newCropTouch.dragHandle === null || typeof newCropTouch.dragHandle === 'undefined') {\n                if (this.center.touchInBounds(newCropTouch.x, newCropTouch.y)) {\n                    newCropTouch.dragHandle = this.center;\n                    this.currentDragTouches.push(newCropTouch);\n                    newCropTouch.dragHandle.setDrag(true);\n                    newCropTouch.dragHandle.offset.x = newCropTouch.x - newCropTouch.dragHandle.position.x;\n                    newCropTouch.dragHandle.offset.y = newCropTouch.y - newCropTouch.dragHandle.position.y;\n                    this.dragCenter(newCropTouch.x - newCropTouch.dragHandle.offset.x, newCropTouch.y - newCropTouch.dragHandle.offset.y, newCropTouch.dragHandle);\n                }\n            }\n        }\n    };\n    ImageCropper.prototype.updateClampBounds = function () {\n        var sourceAspect = this.srcImage.height / this.srcImage.width;\n        var canvasAspect = this.canvas.height / this.canvas.width;\n        var w = this.canvas.width;\n        var h = this.canvas.height;\n        if (canvasAspect > sourceAspect) {\n            w = this.canvas.width;\n            h = this.canvas.width * sourceAspect;\n        }\n        else {\n            h = this.canvas.height;\n            w = this.canvas.height / sourceAspect;\n        }\n        this.minXClamp = this.canvas.width / 2 - w / 2;\n        this.minYClamp = this.canvas.height / 2 - h / 2;\n        this.maxXClamp = this.canvas.width / 2 + w / 2;\n        this.maxYClamp = this.canvas.height / 2 + h / 2;\n    };\n    ImageCropper.prototype.getCropBounds = function () {\n        var bounds = this.getBounds();\n        bounds.top = Math.round((bounds.top - this.minYClamp) / this.ratioH);\n        bounds.bottom = Math.round((bounds.bottom - this.minYClamp) / this.ratioH);\n        bounds.left = Math.round((bounds.left - this.minXClamp) / this.ratioW);\n        bounds.right = Math.round((bounds.right - this.minXClamp) / this.ratioW);\n        return bounds;\n    };\n    ImageCropper.prototype.clampPosition = function (x, y) {\n        if (x < this.minXClamp) {\n            x = this.minXClamp;\n        }\n        if (x > this.maxXClamp) {\n            x = this.maxXClamp;\n        }\n        if (y < this.minYClamp) {\n            y = this.minYClamp;\n        }\n        if (y > this.maxYClamp) {\n            y = this.maxYClamp;\n        }\n        return pointPool_1.PointPool.instance.borrow(x, y);\n    };\n    ImageCropper.prototype.isImageSet = function () {\n        return this.imageSet;\n    };\n    ImageCropper.prototype.setImage = function (img) {\n        this.srcImage = img;\n        if (!img) {\n            this.imageSet = false;\n            this.draw(this.ctx);\n        }\n        else {\n            this.imageSet = true;\n            this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);\n            var bufferContext = this.buffer.getContext('2d');\n            bufferContext.clearRect(0, 0, this.buffer.width, this.buffer.height);\n            if (!this.cropperSettings.fileType)\n                this.fileType = this.getDataUriMimeType(img.src);\n            if (this.cropperSettings.minWithRelativeToResolution) {\n                this.minWidth = (this.canvas.width * this.minWidth / this.srcImage.width);\n                this.minHeight = (this.canvas.height * this.minHeight / this.srcImage.height);\n            }\n            this.updateClampBounds();\n            this.canvasWidth = this.canvas.width;\n            this.canvasHeight = this.canvas.height;\n            var cropPosition = this.getCropPositionFromMarkers();\n            this.setCropPosition(cropPosition);\n        }\n    };\n    ImageCropper.prototype.updateCropPosition = function (cropBounds) {\n        var cropPosition = this.getCropPositionFromBounds(cropBounds);\n        this.setCropPosition(cropPosition);\n    };\n    ImageCropper.prototype.setCropPosition = function (cropPosition) {\n        this.tl.setPosition(cropPosition[0].x, cropPosition[0].y);\n        this.tr.setPosition(cropPosition[1].x, cropPosition[1].y);\n        this.bl.setPosition(cropPosition[2].x, cropPosition[2].y);\n        this.br.setPosition(cropPosition[3].x, cropPosition[3].y);\n        this.center.setPosition(cropPosition[4].x, cropPosition[4].y);\n        for (var _i = 0, cropPosition_1 = cropPosition; _i < cropPosition_1.length; _i++) {\n            var position = cropPosition_1[_i];\n            pointPool_1.PointPool.instance.returnPoint(position);\n        }\n        this.vertSquashRatio = ImageCropper.detectVerticalSquash(this.srcImage);\n        this.draw(this.ctx);\n        this.croppedImage = this.getCroppedImage(this.cropWidth, this.cropHeight);\n    };\n    ImageCropper.prototype.getCropPositionFromMarkers = function () {\n        var w = this.canvas.width;\n        var h = this.canvas.height;\n        var tlPos, trPos, blPos, brPos, center;\n        var sourceAspect = this.srcImage.height / this.srcImage.width;\n        var cropBounds = this.getBounds();\n        var cropAspect = cropBounds.height / cropBounds.width;\n        var cX = this.canvas.width / 2;\n        var cY = this.canvas.height / 2;\n        if (cropAspect > sourceAspect) {\n            var imageH = Math.min(w * sourceAspect, h);\n            var cropW = imageH / cropAspect;\n            tlPos = pointPool_1.PointPool.instance.borrow(cX - cropW / 2, cY + imageH / 2);\n            trPos = pointPool_1.PointPool.instance.borrow(cX + cropW / 2, cY + imageH / 2);\n            blPos = pointPool_1.PointPool.instance.borrow(cX - cropW / 2, cY - imageH / 2);\n            brPos = pointPool_1.PointPool.instance.borrow(cX + cropW / 2, cY - imageH / 2);\n        }\n        else {\n            var imageW = Math.min(h / sourceAspect, w);\n            var cropH = imageW * cropAspect;\n            tlPos = pointPool_1.PointPool.instance.borrow(cX - imageW / 2, cY + cropH / 2);\n            trPos = pointPool_1.PointPool.instance.borrow(cX + imageW / 2, cY + cropH / 2);\n            blPos = pointPool_1.PointPool.instance.borrow(cX - imageW / 2, cY - cropH / 2);\n            brPos = pointPool_1.PointPool.instance.borrow(cX + imageW / 2, cY - cropH / 2);\n        }\n        center = pointPool_1.PointPool.instance.borrow(cX, cY);\n        var positions = [tlPos, trPos, blPos, brPos, center];\n        return positions;\n    };\n    ImageCropper.prototype.getCropPositionFromBounds = function (cropPosition) {\n        var marginTop = 0;\n        var marginLeft = 0;\n        var canvasAspect = this.canvasHeight / this.canvasWidth;\n        var sourceAspect = this.srcImage.height / this.srcImage.width;\n        if (canvasAspect > sourceAspect) {\n            marginTop = this.buffer.height / 2 - (this.canvasWidth * sourceAspect) / 2;\n        }\n        else {\n            marginLeft = this.buffer.width / 2 - (this.canvasHeight / sourceAspect) / 2;\n        }\n        var ratioW = (this.canvasWidth - marginLeft * 2) / this.srcImage.width;\n        var ratioH = (this.canvasHeight - marginTop * 2) / this.srcImage.height;\n        var actualH = cropPosition.height * ratioH;\n        var actualW = cropPosition.width * ratioW;\n        var actualX = cropPosition.left * ratioW + marginLeft;\n        var actualY = cropPosition.top * ratioH + marginTop;\n        if (this.keepAspect) {\n            var scaledW = actualH / this.aspectRatio;\n            var scaledH = actualW * this.aspectRatio;\n            if (this.getCropBounds().height === cropPosition.height) {\n                actualH = scaledH;\n            }\n            else if (this.getCropBounds().width === cropPosition.width) {\n                actualW = scaledW;\n            }\n            else {\n                if (Math.abs(scaledH - actualH) < Math.abs(scaledW - actualW)) {\n                    actualW = scaledW;\n                }\n                else {\n                    actualH = scaledH;\n                }\n            }\n        }\n        var tlPos = pointPool_1.PointPool.instance.borrow(actualX, actualY + actualH);\n        var trPos = pointPool_1.PointPool.instance.borrow(actualX + actualW, actualY + actualH);\n        var blPos = pointPool_1.PointPool.instance.borrow(actualX, actualY);\n        var brPos = pointPool_1.PointPool.instance.borrow(actualX + actualW, actualY);\n        var center = pointPool_1.PointPool.instance.borrow(actualX + actualW / 2, actualY + actualH / 2);\n        var positions = [tlPos, trPos, blPos, brPos, center];\n        return positions;\n    };\n    // todo: Unused parameters?\n    ImageCropper.prototype.getCroppedImage = function (fillWidth, fillHeight) {\n        var bounds = this.getBounds();\n        if (!this.srcImage) {\n            return document.createElement('img');\n        }\n        else {\n            var sourceAspect = this.srcImage.height / this.srcImage.width;\n            var canvasAspect = this.canvas.height / this.canvas.width;\n            var w = this.canvas.width;\n            var h = this.canvas.height;\n            if (canvasAspect > sourceAspect) {\n                w = this.canvas.width;\n                h = this.canvas.width * sourceAspect;\n            }\n            else {\n                if (canvasAspect < sourceAspect) {\n                    h = this.canvas.height;\n                    w = this.canvas.height / sourceAspect;\n                }\n                else {\n                    h = this.canvas.height;\n                    w = this.canvas.width;\n                }\n            }\n            this.ratioW = w / this.srcImage.width;\n            this.ratioH = h / this.srcImage.height;\n            var offsetH = (this.buffer.height - h) / 2 / this.ratioH;\n            var offsetW = (this.buffer.width - w) / 2 / this.ratioW;\n            var ctx = this.cropCanvas.getContext('2d');\n            if (this.cropperSettings.preserveSize) {\n                var width = Math.round(bounds.right / this.ratioW - bounds.left / this.ratioW);\n                var height = Math.round(bounds.bottom / this.ratioH - bounds.top / this.ratioH);\n                this.cropCanvas.width = width;\n                this.cropCanvas.height = height;\n                this.cropperSettings.croppedWidth = this.cropCanvas.width;\n                this.cropperSettings.croppedHeight = this.cropCanvas.height;\n            }\n            ctx.clearRect(0, 0, this.cropCanvas.width, this.cropCanvas.height);\n            this.drawImageIOSFix(ctx, this.srcImage, Math.max(Math.round((bounds.left) / this.ratioW - offsetW), 0), Math.max(Math.round(bounds.top / this.ratioH - offsetH), 0), Math.max(Math.round(bounds.width / this.ratioW), 1), Math.max(Math.round(bounds.height / this.ratioH), 1), 0, 0, this.cropCanvas.width, this.cropCanvas.height);\n            if (this.cropperSettings.resampleFn) {\n                this.cropperSettings.resampleFn(this.cropCanvas);\n            }\n            this.croppedImage.width = this.cropCanvas.width;\n            this.croppedImage.height = this.cropCanvas.height;\n            this.croppedImage.src = this.cropCanvas.toDataURL(this.fileType, this.cropperSettings.compressRatio);\n            return this.croppedImage;\n        }\n    };\n    ImageCropper.prototype.getBounds = function () {\n        var minX = Number.MAX_VALUE;\n        var minY = Number.MAX_VALUE;\n        var maxX = -Number.MAX_VALUE;\n        var maxY = -Number.MAX_VALUE;\n        for (var i = 0; i < this.markers.length; i++) {\n            var marker = this.markers[i];\n            if (marker.position.x < minX) {\n                minX = marker.position.x;\n            }\n            if (marker.position.x > maxX) {\n                maxX = marker.position.x;\n            }\n            if (marker.position.y < minY) {\n                minY = marker.position.y;\n            }\n            if (marker.position.y > maxY) {\n                maxY = marker.position.y;\n            }\n        }\n        var bounds = new bounds_1.Bounds();\n        bounds.left = minX;\n        bounds.right = maxX;\n        bounds.top = minY;\n        bounds.bottom = maxY;\n        return bounds;\n    };\n    ImageCropper.prototype.setBounds = function (bounds) {\n        var topLeft;\n        var topRight;\n        var bottomLeft;\n        var bottomRight;\n        var currentBounds = this.getBounds();\n        for (var i = 0; i < this.markers.length; i++) {\n            var marker = this.markers[i];\n            if (marker.position.x === currentBounds.left) {\n                if (marker.position.y === currentBounds.top) {\n                    marker.setPosition(bounds.left, bounds.top);\n                }\n                else {\n                    marker.setPosition(bounds.left, bounds.bottom);\n                }\n            }\n            else {\n                if (marker.position.y === currentBounds.top) {\n                    marker.setPosition(bounds.right, bounds.top);\n                }\n                else {\n                    marker.setPosition(bounds.right, bounds.bottom);\n                }\n            }\n        }\n        this.center.recalculatePosition(bounds);\n        this.center.draw(this.ctx);\n        this.draw(this.ctx); // we need to redraw all canvas if we have changed bounds\n    };\n    ImageCropper.prototype.onTouchMove = function (event) {\n        if (this.crop.isImageSet()) {\n            event.preventDefault();\n            if (event.touches.length === 1) {\n                for (var i = 0; i < event.touches.length; i++) {\n                    var touch = event.touches[i];\n                    var touchPosition = ImageCropper.getTouchPos(this.canvas, touch);\n                    var cropTouch = new cropTouch_1.CropTouch(touchPosition.x, touchPosition.y, touch.identifier);\n                    pointPool_1.PointPool.instance.returnPoint(touchPosition);\n                    this.move(cropTouch);\n                }\n            }\n            else {\n                if (event.touches.length === 2) {\n                    var distance = ((event.touches[0].clientX - event.touches[1].clientX) * (event.touches[0].clientX - event.touches[1].clientX)) + ((event.touches[0].clientY - event.touches[1].clientY) * (event.touches[0].clientY - event.touches[1].clientY));\n                    if (this.previousDistance && this.previousDistance !== distance) {\n                        var increment = distance < this.previousDistance ? 1 : -1;\n                        var bounds = this.getBounds();\n                        bounds.top += increment;\n                        bounds.left += increment;\n                        bounds.right -= increment;\n                        bounds.bottom -= increment;\n                        this.setBounds(bounds);\n                    }\n                    this.previousDistance = distance;\n                }\n            }\n            this.draw(this.ctx);\n        }\n    };\n    ImageCropper.prototype.onMouseMove = function (e) {\n        if (this.crop.isImageSet() && this.isMouseDown) {\n            var mousePosition = ImageCropper.getMousePos(this.canvas, e);\n            this.move(new cropTouch_1.CropTouch(mousePosition.x, mousePosition.y, 0));\n            var dragTouch = this.getDragTouchForID(0);\n            if (dragTouch) {\n                dragTouch.x = mousePosition.x;\n                dragTouch.y = mousePosition.y;\n            }\n            else {\n                dragTouch = new cropTouch_1.CropTouch(mousePosition.x, mousePosition.y, 0);\n            }\n            pointPool_1.PointPool.instance.returnPoint(mousePosition);\n            this.drawCursors(dragTouch);\n            this.draw(this.ctx);\n        }\n    };\n    ImageCropper.prototype.move = function (cropTouch) {\n        if (this.isMouseDown) {\n            this.handleMove(cropTouch);\n        }\n    };\n    ImageCropper.prototype.getDragTouchForID = function (id) {\n        for (var i = 0; i < this.currentDragTouches.length; i++) {\n            if (id === this.currentDragTouches[i].id) {\n                return this.currentDragTouches[i];\n            }\n        }\n        return undefined;\n    };\n    ImageCropper.prototype.drawCursors = function (cropTouch) {\n        var cursorDrawn = false;\n        if (cropTouch != null) {\n            if (cropTouch.dragHandle === this.center) {\n                imageCropperDataShare_1.ImageCropperDataShare.setStyle(this.canvas, 'move');\n                cursorDrawn = true;\n            }\n            if (cropTouch.dragHandle !== null && cropTouch.dragHandle instanceof cornerMarker_1.CornerMarker) {\n                this.drawCornerCursor(cropTouch.dragHandle, cropTouch.dragHandle.position.x, cropTouch.dragHandle.position.y);\n                cursorDrawn = true;\n            }\n        }\n        var didDraw = false;\n        if (!cursorDrawn) {\n            for (var i = 0; i < this.markers.length; i++) {\n                didDraw = didDraw || this.drawCornerCursor(this.markers[i], cropTouch.x, cropTouch.y);\n            }\n            if (!didDraw) {\n                imageCropperDataShare_1.ImageCropperDataShare.setStyle(this.canvas, 'initial');\n            }\n        }\n        if (!didDraw && !cursorDrawn && this.center.touchInBounds(cropTouch.x, cropTouch.y)) {\n            this.center.setOver(true);\n            imageCropperDataShare_1.ImageCropperDataShare.setOver(this.canvas);\n            imageCropperDataShare_1.ImageCropperDataShare.setStyle(this.canvas, 'move');\n        }\n        else {\n            this.center.setOver(false);\n        }\n    };\n    ImageCropper.prototype.drawCornerCursor = function (marker, x, y) {\n        if (marker.touchInBounds(x, y)) {\n            marker.setOver(true);\n            if (marker.getHorizontalNeighbour().position.x > marker.position.x) {\n                if (marker.getVerticalNeighbour().position.y > marker.position.y) {\n                    imageCropperDataShare_1.ImageCropperDataShare.setOver(this.canvas);\n                    imageCropperDataShare_1.ImageCropperDataShare.setStyle(this.canvas, 'nwse-resize');\n                }\n                else {\n                    imageCropperDataShare_1.ImageCropperDataShare.setOver(this.canvas);\n                    imageCropperDataShare_1.ImageCropperDataShare.setStyle(this.canvas, 'nesw-resize');\n                }\n            }\n            else {\n                if (marker.getVerticalNeighbour().position.y > marker.position.y) {\n                    imageCropperDataShare_1.ImageCropperDataShare.setOver(this.canvas);\n                    imageCropperDataShare_1.ImageCropperDataShare.setStyle(this.canvas, 'nesw-resize');\n                }\n                else {\n                    imageCropperDataShare_1.ImageCropperDataShare.setOver(this.canvas);\n                    imageCropperDataShare_1.ImageCropperDataShare.setStyle(this.canvas, 'nwse-resize');\n                }\n            }\n            return true;\n        }\n        marker.setOver(false);\n        return false;\n    };\n    // todo: Unused param\n    ImageCropper.prototype.onTouchStart = function (event) {\n        if (this.crop.isImageSet()) {\n            this.isMouseDown = true;\n        }\n    };\n    ImageCropper.prototype.onTouchEnd = function (event) {\n        if (this.crop.isImageSet()) {\n            for (var i = 0; i < event.changedTouches.length; i++) {\n                var touch = event.changedTouches[i];\n                var dragTouch = this.getDragTouchForID(touch.identifier);\n                if (dragTouch && dragTouch !== undefined) {\n                    if (dragTouch.dragHandle instanceof cornerMarker_1.CornerMarker || dragTouch.dragHandle instanceof dragMarker_1.DragMarker) {\n                        dragTouch.dragHandle.setOver(false);\n                    }\n                    this.handleRelease(dragTouch);\n                }\n            }\n            if (this.currentDragTouches.length === 0) {\n                this.isMouseDown = false;\n                this.currentlyInteracting = false;\n            }\n        }\n    };\n    // http://stackoverflow.com/questions/11929099/html5-canvas-drawimage-ratio-bug-ios\n    ImageCropper.prototype.drawImageIOSFix = function (ctx, img, sx, sy, sw, sh, dx, dy, dw, dh) {\n        // Works only if whole image is displayed:\n        // ctx.drawImage(img, sx, sy, sw, sh, dx, dy, dw, dh / vertSquashRatio);\n        // The following works correct also when only a part of the image is displayed:\n        // ctx.drawImage(img, sx * this.vertSquashRatio, sy * this.vertSquashRatio, sw * this.vertSquashRatio, sh *\n        // this.vertSquashRatio, dx, dy, dw, dh);\n        ctx.drawImage(img, sx, sy, sw, sh, dx, dy, dw, dh);\n    };\n    ImageCropper.prototype.onMouseDown = function (event) {\n        if (this.crop.isImageSet()) {\n            this.isMouseDown = true;\n        }\n    };\n    ImageCropper.prototype.onMouseUp = function (event) {\n        if (this.crop.isImageSet()) {\n            imageCropperDataShare_1.ImageCropperDataShare.setReleased(this.canvas);\n            this.isMouseDown = false;\n            this.handleRelease(new cropTouch_1.CropTouch(0, 0, 0));\n        }\n    };\n    return ImageCropper;\n}(imageCropperModel_1.ImageCropperModel));\nexports.ImageCropper = ImageCropper;\n//# sourceMappingURL=imageCropper.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-img-cropper/src/imageCropper.js\n// module id = 692\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar core_1 = require(\"@angular/core\");\nvar imageCropper_1 = require(\"./imageCropper\");\nvar cropperSettings_1 = require(\"./cropperSettings\");\nvar exif_1 = require(\"./exif\");\nvar cropPosition_1 = require(\"./model/cropPosition\");\nvar ImageCropperComponent = (function () {\n    function ImageCropperComponent(renderer) {\n        this.cropPositionChange = new core_1.EventEmitter();\n        this.onCrop = new core_1.EventEmitter();\n        this.renderer = renderer;\n    }\n    ImageCropperComponent.prototype.ngAfterViewInit = function () {\n        var _this = this;\n        var canvas = this.cropcanvas.nativeElement;\n        if (!this.settings) {\n            this.settings = new cropperSettings_1.CropperSettings();\n        }\n        this.renderer.setElementAttribute(canvas, 'class', this.settings.cropperClass);\n        if (!this.settings.dynamicSizing) {\n            this.renderer.setElementAttribute(canvas, 'width', this.settings.canvasWidth.toString());\n            this.renderer.setElementAttribute(canvas, 'height', this.settings.canvasHeight.toString());\n        }\n        else {\n            window.addEventListener('resize', function () {\n                _this.settings.canvasWidth = canvas.offsetWidth;\n                _this.settings.canvasHeight = canvas.offsetHeight;\n                _this.cropper.resizeCanvas(canvas.offsetWidth, canvas.offsetHeight, true);\n            });\n        }\n        if (!this.cropper) {\n            this.cropper = new imageCropper_1.ImageCropper(this.settings);\n        }\n        this.cropper.prepare(canvas);\n    };\n    ImageCropperComponent.prototype.ngOnChanges = function (changes) {\n        if (this.isCropPositionChanged(changes)) {\n            this.cropper.updateCropPosition(this.cropPosition.toBounds());\n            if (this.cropper.isImageSet()) {\n                var bounds = this.cropper.getCropBounds();\n                this.image.image = this.cropper.getCroppedImage().src;\n                this.onCrop.emit(bounds);\n            }\n            this.updateCropBounds();\n        }\n    };\n    ImageCropperComponent.prototype.onTouchMove = function (event) {\n        this.cropper.onTouchMove(event);\n    };\n    ImageCropperComponent.prototype.onTouchStart = function (event) {\n        this.cropper.onTouchStart(event);\n    };\n    ImageCropperComponent.prototype.onTouchEnd = function (event) {\n        this.cropper.onTouchEnd(event);\n        if (this.cropper.isImageSet()) {\n            this.image.image = this.cropper.getCroppedImage().src;\n            this.onCrop.emit(this.cropper.getCropBounds());\n            this.updateCropBounds();\n        }\n    };\n    ImageCropperComponent.prototype.onMouseDown = function (event) {\n        this.cropper.onMouseDown(event);\n    };\n    ImageCropperComponent.prototype.onMouseUp = function (event) {\n        if (this.cropper.isImageSet()) {\n            this.cropper.onMouseUp(event);\n            this.image.image = this.cropper.getCroppedImage().src;\n            this.onCrop.emit(this.cropper.getCropBounds());\n            this.updateCropBounds();\n        }\n    };\n    ImageCropperComponent.prototype.onMouseMove = function (event) {\n        this.cropper.onMouseMove(event);\n    };\n    ImageCropperComponent.prototype.fileChangeListener = function ($event) {\n        if ($event.target.files.length === 0)\n            return;\n        var file = $event.target.files[0];\n        if (this.settings.allowedFilesRegex.test(file.name)) {\n            var image_1 = new Image();\n            var fileReader = new FileReader();\n            var that_1 = this;\n            fileReader.addEventListener('loadend', function (loadEvent) {\n                image_1.src = loadEvent.target.result;\n                that_1.setImage(image_1);\n            });\n            fileReader.readAsDataURL(file);\n        }\n    };\n    ImageCropperComponent.prototype.reset = function () {\n        this.cropper.reset();\n        this.renderer.setElementAttribute(this.cropcanvas.nativeElement, 'class', this.settings.cropperClass);\n        this.image.image = this.cropper.getCroppedImage().src;\n    };\n    ImageCropperComponent.prototype.setImage = function (image, newBounds) {\n        var _this = this;\n        if (newBounds === void 0) { newBounds = null; }\n        var self = this;\n        this.renderer.setElementAttribute(this.cropcanvas.nativeElement, 'class', this.settings.cropperClass + \" \" + this.settings.croppingClass);\n        this.intervalRef = window.setInterval(function () {\n            if (self.intervalRef) {\n                clearInterval(self.intervalRef);\n            }\n            if (image.naturalHeight > 0 && image.naturalWidth > 0) {\n                image.height = image.naturalHeight;\n                image.width = image.naturalWidth;\n                clearInterval(self.intervalRef);\n                self.getOrientedImage(image, function (img) {\n                    if (_this.settings.dynamicSizing) {\n                        var canvas = _this.cropcanvas.nativeElement;\n                        _this.settings.canvasWidth = canvas.offsetWidth;\n                        _this.settings.canvasHeight = canvas.offsetHeight;\n                        _this.cropper.resizeCanvas(canvas.offsetWidth, canvas.offsetHeight, false);\n                    }\n                    self.cropper.setImage(img);\n                    if (self.cropPosition && self.cropPosition.isInitialized()) {\n                        self.cropper.updateCropPosition(self.cropPosition.toBounds());\n                    }\n                    self.image.original = img;\n                    var bounds = self.cropper.getCropBounds();\n                    self.image.image = self.cropper.getCroppedImage().src;\n                    if (newBounds != null) {\n                        bounds = newBounds;\n                        self.cropper.setBounds(bounds);\n                    }\n                    self.onCrop.emit(bounds);\n                });\n            }\n        }, 10);\n    };\n    ImageCropperComponent.prototype.isCropPositionChanged = function (changes) {\n        if (this.cropper && changes['cropPosition'] && this.isCropPositionUpdateNeeded) {\n            return true;\n        }\n        else {\n            this.isCropPositionUpdateNeeded = true;\n            return false;\n        }\n    };\n    ImageCropperComponent.prototype.updateCropBounds = function () {\n        var cropBound = this.cropper.getCropBounds();\n        this.cropPositionChange.emit(new cropPosition_1.CropPosition(cropBound.left, cropBound.top, cropBound.width, cropBound.height));\n        this.isCropPositionUpdateNeeded = false;\n    };\n    ImageCropperComponent.prototype.getOrientedImage = function (image, callback) {\n        var img;\n        exif_1.Exif.getData(image, function () {\n            var orientation = exif_1.Exif.getTag(image, 'Orientation');\n            if ([3, 6, 8].indexOf(orientation) > -1) {\n                var canvas = document.createElement('canvas'), ctx = canvas.getContext('2d'), cw = image.width, ch = image.height, cx = 0, cy = 0, deg = 0;\n                switch (orientation) {\n                    case 3:\n                        cx = -image.width;\n                        cy = -image.height;\n                        deg = 180;\n                        break;\n                    case 6:\n                        cw = image.height;\n                        ch = image.width;\n                        cy = -image.height;\n                        deg = 90;\n                        break;\n                    case 8:\n                        cw = image.height;\n                        ch = image.width;\n                        cx = -image.width;\n                        deg = 270;\n                        break;\n                    default:\n                        break;\n                }\n                canvas.width = cw;\n                canvas.height = ch;\n                ctx.rotate(deg * Math.PI / 180);\n                ctx.drawImage(image, cx, cy);\n                img = document.createElement('img');\n                img.width = cw;\n                img.height = ch;\n                img.addEventListener('load', function () {\n                    callback(img);\n                });\n                img.src = canvas.toDataURL('image/png');\n            }\n            else {\n                img = image;\n                callback(img);\n            }\n        });\n    };\n    return ImageCropperComponent;\n}());\nImageCropperComponent.decorators = [\n    { type: core_1.Component, args: [{\n                selector: 'img-cropper',\n                template: \"\\n        <span class=\\\"ng2-imgcrop\\\">\\n          <input *ngIf=\\\"!settings.noFileInput\\\" type=\\\"file\\\" accept=\\\"image/*\\\" (change)=\\\"fileChangeListener($event)\\\">\\n          <canvas #cropcanvas\\n                  (mousedown)=\\\"onMouseDown($event)\\\"\\n                  (mouseup)=\\\"onMouseUp($event)\\\"\\n                  (mousemove)=\\\"onMouseMove($event)\\\"\\n                  (mouseleave)=\\\"onMouseUp($event)\\\"\\n                  (touchmove)=\\\"onTouchMove($event)\\\"\\n                  (touchend)=\\\"onTouchEnd($event)\\\"\\n                  (touchstart)=\\\"onTouchStart($event)\\\">\\n          </canvas>\\n        </span>\\n      \"\n            },] },\n];\n/** @nocollapse */\nImageCropperComponent.ctorParameters = function () { return [\n    { type: core_1.Renderer, },\n]; };\nImageCropperComponent.propDecorators = {\n    'cropcanvas': [{ type: core_1.ViewChild, args: ['cropcanvas', undefined,] },],\n    'settings': [{ type: core_1.Input, args: ['settings',] },],\n    'image': [{ type: core_1.Input, args: ['image',] },],\n    'cropper': [{ type: core_1.Input },],\n    'cropPosition': [{ type: core_1.Input },],\n    'cropPositionChange': [{ type: core_1.Output },],\n    'onCrop': [{ type: core_1.Output },],\n};\nexports.ImageCropperComponent = ImageCropperComponent;\n//# sourceMappingURL=imageCropperComponent.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-img-cropper/src/imageCropperComponent.js\n// module id = 693\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar bounds_1 = require(\"./bounds\");\nvar CropPosition = (function () {\n    function CropPosition(x, y, w, h) {\n        if (x === void 0) { x = 0; }\n        if (y === void 0) { y = 0; }\n        if (w === void 0) { w = 0; }\n        if (h === void 0) { h = 0; }\n        this.x = +x;\n        this.y = +y;\n        this.w = +w;\n        this.h = +h;\n    }\n    CropPosition.prototype.toBounds = function () {\n        return new bounds_1.Bounds(this.x, this.y, this.w, this.h);\n    };\n    CropPosition.prototype.isInitialized = function () {\n        return this.x !== 0 && this.y !== 0 && this.w !== 0 && this.h !== 0;\n    };\n    return CropPosition;\n}());\nexports.CropPosition = CropPosition;\n//# sourceMappingURL=cropPosition.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-img-cropper/src/model/cropPosition.js\n// module id = 694\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar point_1 = require(\"./point\");\nvar cropperSettings_1 = require(\"../cropperSettings\");\nvar Handle = (function () {\n    function Handle(x, y, radius, settings) {\n        this.cropperSettings = new cropperSettings_1.CropperSettings();\n        this.over = false;\n        this.drag = false;\n        this._position = new point_1.Point(x, y);\n        this.offset = new point_1.Point(0, 0);\n        this.radius = radius;\n        this.cropperSettings = settings;\n    }\n    Handle.prototype.setDrag = function (value) {\n        this.drag = value;\n        this.setOver(value);\n    };\n    Handle.prototype.draw = function (ctx) {\n        // this should't be empty\n    };\n    Handle.prototype.setOver = function (over) {\n        this.over = over;\n    };\n    Handle.prototype.touchInBounds = function (x, y) {\n        return (x > this.position.x - this.radius + this.offset.x) &&\n            (x < this.position.x + this.radius + this.offset.x) &&\n            (y > this.position.y - this.radius + this.offset.y) &&\n            (y < this.position.y + this.radius + this.offset.y);\n    };\n    Object.defineProperty(Handle.prototype, \"position\", {\n        get: function () {\n            return this._position;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Handle.prototype.setPosition = function (x, y) {\n        this._position.x = x;\n        this._position.y = y;\n    };\n    return Handle;\n}());\nexports.Handle = Handle;\n//# sourceMappingURL=handle.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-img-cropper/src/model/handle.js\n// module id = 695\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Point = (function () {\n    function Point(x, y) {\n        if (x === void 0) { x = 0; }\n        if (y === void 0) { y = 0; }\n        this.x = x;\n        this.y = y;\n    }\n    Object.defineProperty(Point.prototype, \"next\", {\n        get: function () {\n            return this._next;\n        },\n        set: function (p) {\n            this._next = p;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(Point.prototype, \"prev\", {\n        get: function () {\n            return this._prev;\n        },\n        set: function (p) {\n            this._prev = p;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    return Point;\n}());\nexports.Point = Point;\n//# sourceMappingURL=point.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-img-cropper/src/model/point.js\n// module id = 696\n// module chunks = 0","\"use strict\";\nfunction __export(m) {\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\n// for standard export at bottom\nvar notification_component_1 = require('./src/app/components/notification.component');\n// for manual imports\n__export(require('./src/app/components/notification.component'));\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = {\n    directives: [notification_component_1.PushNotificationComponent]\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmcyLW5vdGlmaWNhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJuZzItbm90aWZpY2F0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsZ0NBQWdDO0FBQ2hDLHVDQUEwQyw2Q0FBNkMsQ0FBQyxDQUFBO0FBRXhGLHFCQUFxQjtBQUNyQixpQkFBYyw2Q0FBNkMsQ0FBQyxFQUFBO0FBRzVEO2tCQUFlO0lBQ2IsVUFBVSxFQUFFLENBQUMsa0RBQXlCLENBQUM7Q0FDeEMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIGZvciBzdGFuZGFyZCBleHBvcnQgYXQgYm90dG9tXG5pbXBvcnQgeyBQdXNoTm90aWZpY2F0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9zcmMvYXBwL2NvbXBvbmVudHMvbm90aWZpY2F0aW9uLmNvbXBvbmVudCc7XG5cbi8vIGZvciBtYW51YWwgaW1wb3J0c1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL2NvbXBvbmVudHMvbm90aWZpY2F0aW9uLmNvbXBvbmVudCc7XG5cbi8vIHByb3ZpZGVzIHN0YW5kYXJkIGZvciBjb25zdW1wdGlvbiB2aWEgdGhpbmdzIGxpa2UgYW5ndWxhci1jbGlcbmV4cG9ydCBkZWZhdWx0IHtcbiAgZGlyZWN0aXZlczogW1B1c2hOb3RpZmljYXRpb25Db21wb25lbnRdXG59XG4iXX0=\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-notifications/ng2-notifications.js\n// module id = 697\n// module chunks = 0","\"use strict\";\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar core_1 = require('@angular/core');\nvar PushNotificationComponent = (function () {\n    function PushNotificationComponent() {\n        this.dir = 'auto';\n        this.lang = 'en-US';\n        this.renotify = false;\n        this.sticky = false;\n        this.noscreen = false;\n        this.silent = true;\n        this.closeDelay = 0;\n        this.onLoad = new core_1.EventEmitter();\n        this.onShow = new core_1.EventEmitter();\n        this.onClose = new core_1.EventEmitter();\n        this.onError = new core_1.EventEmitter();\n        this.onClick = new core_1.EventEmitter();\n    }\n    PushNotificationComponent.prototype.checkCompatibility = function () {\n        return !!('Notification' in window);\n    };\n    PushNotificationComponent.prototype.isPermissionGranted = function (permission) {\n        return permission === 'granted';\n    };\n    PushNotificationComponent.prototype.requestPermission = function () {\n        return Notification.requestPermission();\n    };\n    PushNotificationComponent.prototype.show = function () {\n        var _this = this;\n        if (!this.checkCompatibility()) {\n            return console.log('Notification API not available in this browser.');\n        }\n        return this.requestPermission()\n            .then(function (permission) { return _this.isPermissionGranted(permission); })\n            .then(function () { return _this.create(); });\n    };\n    PushNotificationComponent.prototype.create = function () {\n        var notification = new Notification(this.title, {\n            dir: this.dir,\n            lang: this.lang,\n            data: this.data,\n            tag: this.tag,\n            body: this.body,\n            icon: this.icon,\n            silent: this.silent,\n            sound: this.sound,\n            renotify: this.renotify,\n            sticky: this.sticky,\n            vibrate: this.vibrate,\n            noscreen: this.noscreen\n        });\n        this.attachEventHandlers(notification);\n        this.close(notification);\n        return notification;\n    };\n    PushNotificationComponent.prototype.close = function (notification) {\n        if (this.closeDelay) {\n            setTimeout(function () {\n                notification.close();\n            }, this.closeDelay);\n        }\n        else {\n            notification.close();\n        }\n    };\n    PushNotificationComponent.prototype.closeAll = function () {\n        Notification.close();\n    };\n    PushNotificationComponent.prototype.attachEventHandlers = function (notification) {\n        var _this = this;\n        notification.onshow = function () {\n            _this.onShow.emit({ notification: notification });\n        };\n        notification.onclick = function (event) {\n            _this.onClick.emit({ event: event, notification: notification });\n        };\n        notification.onerror = function () {\n            _this.onError.emit({ notification: notification });\n        };\n        notification.onclose = function () {\n            _this.onClose.emit({ notification: notification });\n        };\n    };\n    PushNotificationComponent.prototype.ngOnInit = function () {\n        this.onLoad.emit({});\n    };\n    PushNotificationComponent.prototype.ngOnDestroy = function () {\n        //this.closeAll();\n    };\n    PushNotificationComponent.prototype.ngOnChanges = function () {\n    };\n    __decorate([\n        core_1.Input(), \n        __metadata('design:type', String)\n    ], PushNotificationComponent.prototype, \"title\", void 0);\n    __decorate([\n        core_1.Input(), \n        __metadata('design:type', String)\n    ], PushNotificationComponent.prototype, \"body\", void 0);\n    __decorate([\n        core_1.Input(), \n        __metadata('design:type', String)\n    ], PushNotificationComponent.prototype, \"icon\", void 0);\n    __decorate([\n        core_1.Input(), \n        __metadata('design:type', String)\n    ], PushNotificationComponent.prototype, \"sound\", void 0);\n    __decorate([\n        core_1.Input(), \n        __metadata('design:type', Object)\n    ], PushNotificationComponent.prototype, \"data\", void 0);\n    __decorate([\n        core_1.Input(), \n        __metadata('design:type', String)\n    ], PushNotificationComponent.prototype, \"tag\", void 0);\n    __decorate([\n        core_1.Input(), \n        __metadata('design:type', String)\n    ], PushNotificationComponent.prototype, \"dir\", void 0);\n    __decorate([\n        core_1.Input(), \n        __metadata('design:type', String)\n    ], PushNotificationComponent.prototype, \"lang\", void 0);\n    __decorate([\n        core_1.Input(), \n        __metadata('design:type', Boolean)\n    ], PushNotificationComponent.prototype, \"renotify\", void 0);\n    __decorate([\n        core_1.Input(), \n        __metadata('design:type', Boolean)\n    ], PushNotificationComponent.prototype, \"sticky\", void 0);\n    __decorate([\n        core_1.Input(), \n        __metadata('design:type', Array)\n    ], PushNotificationComponent.prototype, \"vibrate\", void 0);\n    __decorate([\n        core_1.Input(), \n        __metadata('design:type', Boolean)\n    ], PushNotificationComponent.prototype, \"noscreen\", void 0);\n    __decorate([\n        core_1.Input(), \n        __metadata('design:type', Boolean)\n    ], PushNotificationComponent.prototype, \"silent\", void 0);\n    __decorate([\n        core_1.Input(), \n        __metadata('design:type', Number)\n    ], PushNotificationComponent.prototype, \"closeDelay\", void 0);\n    __decorate([\n        core_1.Output('load'), \n        __metadata('design:type', core_1.EventEmitter)\n    ], PushNotificationComponent.prototype, \"onLoad\", void 0);\n    __decorate([\n        core_1.Output('show'), \n        __metadata('design:type', core_1.EventEmitter)\n    ], PushNotificationComponent.prototype, \"onShow\", void 0);\n    __decorate([\n        core_1.Output('close'), \n        __metadata('design:type', core_1.EventEmitter)\n    ], PushNotificationComponent.prototype, \"onClose\", void 0);\n    __decorate([\n        core_1.Output('error'), \n        __metadata('design:type', core_1.EventEmitter)\n    ], PushNotificationComponent.prototype, \"onError\", void 0);\n    __decorate([\n        core_1.Output('action'), \n        __metadata('design:type', core_1.EventEmitter)\n    ], PushNotificationComponent.prototype, \"onClick\", void 0);\n    PushNotificationComponent = __decorate([\n        core_1.Component({\n            selector: 'push-notification',\n            styles: [':host { display: none; }'],\n            template: ''\n        }), \n        __metadata('design:paramtypes', [])\n    ], PushNotificationComponent);\n    return PushNotificationComponent;\n}());\nexports.PushNotificationComponent = PushNotificationComponent;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIm5vdGlmaWNhdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLHFCQVFPLGVBQWUsQ0FBQyxDQUFBO0FBVXZCO0lBQUE7UUFRa0IsUUFBRyxHQUFXLE1BQU0sQ0FBQztRQUNyQixTQUFJLEdBQVcsT0FBTyxDQUFDO1FBQ3ZCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUV4QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLFdBQU0sR0FBWSxJQUFJLENBQUM7UUFDdkIsZUFBVSxHQUFXLENBQUMsQ0FBQztRQUVoQixXQUFNLEdBQXNCLElBQUksbUJBQVksRUFBRSxDQUFDO1FBQy9DLFdBQU0sR0FBc0IsSUFBSSxtQkFBWSxFQUFFLENBQUM7UUFDOUMsWUFBTyxHQUFzQixJQUFJLG1CQUFZLEVBQUUsQ0FBQztRQUNoRCxZQUFPLEdBQXNCLElBQUksbUJBQVksRUFBRSxDQUFDO1FBQy9DLFlBQU8sR0FBc0IsSUFBSSxtQkFBWSxFQUFFLENBQUM7SUF5RjNFLENBQUM7SUF2RlEsc0RBQWtCLEdBQXpCO1FBQ0UsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsSUFBSSxNQUFNLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRU0sdURBQW1CLEdBQTFCLFVBQTRCLFVBQVU7UUFDcEMsTUFBTSxDQUFDLFVBQVUsS0FBSyxTQUFTLENBQUM7SUFDbEMsQ0FBQztJQUVNLHFEQUFpQixHQUF4QjtRQUNFLE1BQU0sQ0FBQyxZQUFZLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRU0sd0NBQUksR0FBWDtRQUFBLGlCQVFDO1FBUEMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDN0IsTUFBTSxDQUFDLE9BQU8s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SyxFQUFFOzs0REFBQTtJQUNSO1FBQUMsWUFBSyxFQUFFOzsyREFBQTtJQUNSO1FBQUMsWUFBSyxFQUFFOzsyREFBQTtJQUNSO1FBQUMsWUFBSyxFQUFFOzs0REFBQTtJQUNSO1FBQUMsWUFBSyxFQUFFOzsyREFBQTtJQUNSO1FBQUMsWUFBSyxFQUFFOzswREFBQTtJQUNSO1FBQUMsWUFBSyxFQUFFOzswREFBQTtJQUNSO1FBQUMsWUFBSyxFQUFFOzsyREFBQTtJQUNSO1FBQUMsWUFBSyxFQUFFOzsrREFBQTtJQUNSO1FBQUMsWUFBSyxFQUFFOzs2REFBQTtJQUNSO1FBQUMsWUFBSyxFQUFFOzs4REFBQTtJQUNSO1FBQUMsWUFBSyxFQUFFOzsrREFBQTtJQUNSO1FBQUMsWUFBSyxFQUFFOzs2REFBQTtJQUNSO1FBQUMsWUFBSyxFQUFFOztpRUFBQTtJQUVSO1FBQUMsYUFBTSxDQUFDLE1BQU0sQ0FBQzs7NkRBQUE7SUFDZjtRQUFDLGFBQU0sQ0FBQyxNQUFNLENBQUM7OzZEQUFBO0lBQ2Y7UUFBQyxhQUFNLENBQUMsT0FBTyxDQUFDOzs4REFBQTtJQUNoQjtRQUFDLGFBQU0sQ0FBQyxPQUFPLENBQUM7OzhEQUFBO0lBQ2hCO1FBQUMsYUFBTSxDQUFDLFFBQVEsQ0FBQzs7OERBQUE7SUEzQm5CO1FBQUMsZ0JBQVMsQ0FBQztZQUNULFFBQVEsRUFBRSxtQkFBbUI7WUFDN0IsTUFBTSxFQUFFLENBQUMsMEJBQTBCLENBQUM7WUFDcEMsUUFBUSxFQUFFLEVBQUU7U0FDYixDQUFDOztpQ0FBQTtJQWdIRixnQ0FBQztBQUFELENBQUMsQUE5R0QsSUE4R0M7QUE5R1ksaUNBQXlCLDRCQThHckMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBPbkluaXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBJbnB1dCxcbiAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5kZWNsYXJlIHZhciBOb3RpZmljYXRpb247XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3B1c2gtbm90aWZpY2F0aW9uJyxcbiAgc3R5bGVzOiBbJzpob3N0IHsgZGlzcGxheTogbm9uZTsgfSddLFxuICB0ZW1wbGF0ZTogJydcbn0pXG5cbmV4cG9ydCBjbGFzcyBQdXNoTm90aWZpY2F0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KCkgcHVibGljIHRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBib2R5OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBpY29uOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzb3VuZDogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgZGF0YTogYW55O1xuICBASW5wdXQoKSBwdWJsaWMgdGFnOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBkaXI6IHN0cmluZyA9ICdhdXRvJztcbiAgQElucHV0KCkgcHVibGljIGxhbmc6IHN0cmluZyA9ICdlbi1VUyc7XG4gIEBJbnB1dCgpIHB1YmxpYyByZW5vdGlmeTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgc3RpY2t5OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyB2aWJyYXRlOiBBcnJheTxudW1iZXI+O1xuICBASW5wdXQoKSBwdWJsaWMgbm9zY3JlZW46IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIHNpbGVudDogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHB1YmxpYyBjbG9zZURlbGF5OiBudW1iZXIgPSAwO1xuXG4gIEBPdXRwdXQoJ2xvYWQnKSBwdWJsaWMgb25Mb2FkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgnc2hvdycpIHB1YmxpYyBvblNob3c6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCdjbG9zZScpIHB1YmxpYyBvbkNsb3NlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgnZXJyb3InKSBwdWJsaWMgb25FcnJvcjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoJ2FjdGlvbicpIHB1YmxpYyBvbkNsaWNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwdWJsaWMgY2hlY2tDb21wYXRpYmlsaXR5ICgpIHtcbiAgICByZXR1cm4gISEoJ05vdGlmaWNhdGlvbicgaW4gd2luZG93KTtcbiAgfVxuXG4gIHB1YmxpYyBpc1Blcm1pc3Npb25HcmFudGVkIChwZXJtaXNzaW9uKSB7XG4gICAgcmV0dXJuIHBlcm1pc3Npb24gPT09ICdncmFudGVkJztcbiAgfVxuXG4gIHB1YmxpYyByZXF1ZXN0UGVybWlzc2lvbiAoKSB7XG4gICAgcmV0dXJuIE5vdGlmaWNhdGlvbi5yZXF1ZXN0UGVybWlzc2lvbigpO1xuICB9XG5cbiAgcHVibGljIHNob3cgKCkge1xuICAgIGlmICghdGhpcy5jaGVja0NvbXBhdGliaWxpdHkoKSkge1xuICAgICAgICByZXR1cm4gY29uc29sZS5sb2coJ05vdGlmaWNhdGlvbiBBUEkgbm90IGF2YWlsYWJsZSBpbiB0aGlzIGJyb3dzZXIuJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdFBlcm1pc3Npb24oKVxuICAgICAgLnRoZW4oKHBlcm1pc3Npb24pID0+IHRoaXMuaXNQZXJtaXNzaW9uR3JhbnRlZChwZXJtaXNzaW9uKSlcbiAgICAgIC50aGVuKCgpID0+IHRoaXMuY3JlYXRlKCkpO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZSAoKSB7XG4gICAgbGV0IG5vdGlmaWNhdGlvbiA9IG5ldyBOb3RpZmljYXRpb24odGhpcy50aXRsZSwge1xuICAgICAgZGlyOiB0aGlzLmRpcixcbiAgICAgIGxhbmc6IHRoaXMubGFuZyxcbiAgICAgIGRhdGE6IHRoaXMuZGF0YSxcbiAgICAgIHRhZzogdGhpcy50YWcsXG4gICAgICBib2R5OiB0aGlzLmJvZHksXG4gICAgICBpY29uOiB0aGlzLmljb24sXG4gICAgICBzaWxlbnQ6IHRoaXMuc2lsZW50LFxuICAgICAgc291bmQ6IHRoaXMuc291bmQsXG4gICAgICByZW5vdGlmeTogdGhpcy5yZW5vdGlmeSxcbiAgICAgIHN0aWNreTogdGhpcy5zdGlja3ksXG4gICAgICB2aWJyYXRlOiB0aGlzLnZpYnJhdGUsXG4gICAgICBub3NjcmVlbjogdGhpcy5ub3NjcmVlblxuICAgIH0pO1xuXG4gICAgdGhpcy5hdHRhY2hFdmVudEhhbmRsZXJzKG5vdGlmaWNhdGlvbik7XG4gICAgdGhpcy5jbG9zZShub3RpZmljYXRpb24pO1xuXG4gICAgcmV0dXJuIG5vdGlmaWNhdGlvbjtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZSAobm90aWZpY2F0aW9uKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2xvc2VEZWxheSkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIG5vdGlmaWNhdGlvbi5jbG9zZSgpO1xuICAgICAgfSwgdGhpcy5jbG9zZURlbGF5KTtcbiAgICB9IGVsc2Uge1xuICAgICAgbm90aWZpY2F0aW9uLmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNsb3NlQWxsICgpOiB2b2lkIHtcbiAgICBOb3RpZmljYXRpb24uY2xvc2UoKTtcbiAgfVxuXG4gIGF0dGFjaEV2ZW50SGFuZGxlcnMgKG5vdGlmaWNhdGlvbik6IHZvaWQge1xuICAgIG5vdGlmaWNhdGlvbi5vbnNob3cgPSAoKSA9PiB7XG4gICAgICB0aGlzLm9uU2hvdy5lbWl0KHsgbm90aWZpY2F0aW9uIH0pO1xuICAgIH07XG5cbiAgICBub3RpZmljYXRpb24ub25jbGljayA9IChldmVudCkgPT4ge1xuICAgICAgdGhpcy5vbkNsaWNrLmVtaXQoeyBldmVudCwgbm90aWZpY2F0aW9uIH0pO1xuICAgIH07XG5cbiAgICBub3RpZmljYXRpb24ub25lcnJvciA9ICgpID0+IHtcbiAgICAgIHRoaXMub25FcnJvci5lbWl0KHsgbm90aWZpY2F0aW9uIH0pO1xuICAgIH07XG5cbiAgICBub3RpZmljYXRpb24ub25jbG9zZSA9ICgpID0+IHtcbiAgICAgIHRoaXMub25DbG9zZS5lbWl0KHsgbm90aWZpY2F0aW9uIH0pO1xuICAgIH07XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQgKCk6IHZvaWQge1xuICAgIHRoaXMub25Mb2FkLmVtaXQoe30pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95ICgpOiB2b2lkIHtcbiAgICB0aGlzLmNsb3NlQWxsKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gIH1cblxufVxuIl19\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-notifications/src/app/components/notification.component.js\n// module id = 698\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar core_1 = require(\"@angular/core\");\nvar toast_container_component_1 = require(\"./toast-container.component\");\nvar toast_options_1 = require(\"./toast-options\");\nvar toast_1 = require(\"./toast\");\nvar Subject_1 = require(\"rxjs/Subject\");\nvar ToastsManager = (function () {\n    function ToastsManager(componentFactoryResolver, appRef, options) {\n        this.componentFactoryResolver = componentFactoryResolver;\n        this.appRef = appRef;\n        this.options = {};\n        this.index = 0;\n        this.toastClicked = new Subject_1.Subject();\n        if (options) {\n            Object.assign(this.options, options);\n        }\n    }\n    ToastsManager.prototype.setRootViewContainerRef = function (vRef) {\n        this._rootViewContainerRef = vRef;\n    };\n    ToastsManager.prototype.onClickToast = function () {\n        return this.toastClicked.asObservable();\n    };\n    ToastsManager.prototype.show = function (toast, options) {\n        var _this = this;\n        return new Promise(function (resolve, reject) {\n            if (!_this.container) {\n                // get app root view component ref\n                if (!_this._rootViewContainerRef) {\n                    try {\n                        _this._rootViewContainerRef = _this.appRef['_rootComponents'][0]['_hostElement'].vcRef;\n                    }\n                    catch (e) {\n                        reject(new Error('Please set root ViewContainerContainerRef using setRootViewContainerRef(vRef: ViewContainerRef) method.'));\n                    }\n                }\n                // get options providers\n                var providers = core_1.ReflectiveInjector.resolve([\n                    { provide: toast_options_1.ToastOptions, useValue: _this.options }\n                ]);\n                // create and load ToastContainer\n                var toastFactory = _this.componentFactoryResolver.resolveComponentFactory(toast_container_component_1.ToastContainer);\n                var childInjector = core_1.ReflectiveInjector.fromResolvedProviders(providers, _this._rootViewContainerRef.parentInjector);\n                _this.container = _this._rootViewContainerRef.createComponent(toastFactory, _this._rootViewContainerRef.length, childInjector);\n                _this.container.instance.onToastClicked = function (toast) {\n                    _this._onToastClicked(toast);\n                };\n            }\n            resolve(_this.setupToast(toast, options));\n        });\n    };\n    ToastsManager.prototype.createTimeout = function (toast) {\n        var _this = this;\n        var task = setTimeout(function () {\n            _this.clearToast(toast);\n        }, toast.config.toastLife);\n        return task.toString();\n    };\n    ToastsManager.prototype.setupToast = function (toast, options) {\n        var _this = this;\n        toast.id = ++this.index;\n        Object.keys(toast.config).forEach(function (k) {\n            if (_this.options.hasOwnProperty(k)) {\n                toast.config[k] = _this.options[k];\n            }\n            if (options && options.hasOwnProperty(k)) {\n                toast.config[k] = options[k];\n            }\n        });\n        if (toast.config.dismiss === 'auto') {\n            toast.timeoutId = this.createTimeout(toast);\n        }\n        this.container.instance.addToast(toast);\n        return toast;\n    };\n    ToastsManager.prototype._onToastClicked = function (toast) {\n        this.toastClicked.next(toast);\n        if (toast.config.dismiss === 'click') {\n            this.clearToast(toast);\n        }\n    };\n    ToastsManager.prototype.dismissToast = function (toast) {\n        this.clearToast(toast);\n    };\n    ToastsManager.prototype.clearToast = function (toast) {\n        if (this.container) {\n            var instance = this.container.instance;\n            instance.removeToast(toast);\n            if (!instance.anyToast()) {\n                this.dispose();\n            }\n        }\n    };\n    ToastsManager.prototype.clearAllToasts = function () {\n        if (this.container) {\n            var instance = this.container.instance;\n            instance.removeAllToasts();\n            this.dispose();\n        }\n    };\n    ToastsManager.prototype.dispose = function () {\n        var _this = this;\n\t\tif (_this.container) {\n\t\t\t_this.container.destroy();\n\t\t\t_this.container = null;\n\t\t}\n    };\n    ToastsManager.prototype.error = function (message, title, options) {\n        var data = options && options.data ? options.data : null;\n        var toast = new toast_1.Toast('error', message, title, data);\n        return this.show(toast, options);\n    };\n    ToastsManager.prototype.info = function (message, title, options) {\n        var data = options && options.data ? options.data : null;\n        var toast = new toast_1.Toast('info', message, title, data);\n        return this.show(toast, options);\n    };\n    ToastsManager.prototype.success = function (message, title, options) {\n        var data = options && options.data ? options.data : null;\n        var toast = new toast_1.Toast('success', message, title, data);\n        return this.show(toast, options);\n    };\n    ToastsManager.prototype.warning = function (message, title, options) {\n        var data = options && options.data ? options.data : null;\n        var toast = new toast_1.Toast('warning', message, title, data);\n        return this.show(toast, options);\n    };\n    // allow user define custom background color and image\n    ToastsManager.prototype.custom = function (message, title, options) {\n        var data = options && options.data ? options.data : null;\n        var toast = new toast_1.Toast('custom', message, title, data);\n        return this.show(toast, options);\n    };\n    return ToastsManager;\n}());\nToastsManager.decorators = [\n    { type: core_1.Injectable },\n];\n/** @nocollapse */\nToastsManager.ctorParameters = function () { return [\n    { type: core_1.ComponentFactoryResolver, },\n    { type: core_1.ApplicationRef, },\n    { type: toast_options_1.ToastOptions, decorators: [{ type: core_1.Optional },] },\n]; };\nexports.ToastsManager = ToastsManager;\n//# sourceMappingURL=toast-manager.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-toastr/src/toast-manager.js\n// module id = 699\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Toast = (function () {\n    function Toast(type, message, title, data) {\n        this.type = type;\n        this.message = message;\n        this.title = title;\n        this.data = data;\n        this.config = {\n            dismiss: 'auto',\n            enableHTML: false,\n            titleClass: '',\n            messageClass: '',\n            toastLife: 3000,\n            showCloseButton: false,\n        };\n    }\n    return Toast;\n}());\nexports.Toast = Toast;\n//# sourceMappingURL=toast.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-toastr/src/toast.js\n// module id = 700\n// module chunks = 0","import { Directive, ElementRef, Input } from '@angular/core';\nimport { isDefined } from './util';\nimport { TranslateService } from './translate.service';\nexport var TranslateDirective = (function () {\n    function TranslateDirective(translateService, element) {\n        var _this = this;\n        this.translateService = translateService;\n        this.element = element;\n        // subscribe to onTranslationChange event, in case the translations of the current lang change\n        if (!this.onTranslationChangeSub) {\n            this.onTranslationChangeSub = this.translateService.onTranslationChange.subscribe(function (event) {\n                if (event.lang === _this.translateService.currentLang) {\n                    _this.checkNodes(true, event.translations);\n                }\n            });\n        }\n        // subscribe to onLangChange event, in case the language changes\n        if (!this.onLangChangeSub) {\n            this.onLangChangeSub = this.translateService.onLangChange.subscribe(function (event) {\n                _this.checkNodes(true, event.translations);\n            });\n        }\n        // subscribe to onDefaultLangChange event, in case the default language changes\n        if (!this.onDefaultLangChangeSub) {\n            this.onDefaultLangChangeSub = this.translateService.onDefaultLangChange.subscribe(function (event) {\n                _this.checkNodes(true);\n            });\n        }\n    }\n    Object.defineProperty(TranslateDirective.prototype, \"translate\", {\n        set: function (key) {\n            if (key) {\n                this.key = key;\n                this.checkNodes();\n            }\n        },\n        enumerable: true,\n        configurable: true\n    });\n    TranslateDirective.prototype.ngAfterViewChecked = function () {\n        this.checkNodes();\n    };\n    TranslateDirective.prototype.checkNodes = function (forceUpdate, translations) {\n        if (forceUpdate === void 0) { forceUpdate = false; }\n        var nodes = this.element.nativeElement.childNodes;\n        for (var i = 0; i < nodes.length; ++i) {\n            var node = nodes[i];\n            if (node.nodeType === 3) {\n                var key = void 0;\n                if (this.key) {\n                    key = this.key;\n                }\n                else {\n                    var content = node.textContent.trim();\n                    if (content.length) {\n                        // we want to use the content as a key, not the translation value\n                        if (content !== node.currentValue) {\n                            key = content;\n                            // the content was changed from the user, we'll use it as a reference if needed\n                            node.originalContent = node.textContent;\n                        }\n                        else if (node.originalContent && forceUpdate) {\n                            node.lastKey = null;\n                            // the current content is the translation, not the key, use the last real content as key\n                            key = node.originalContent.trim();\n                        }\n                    }\n                }\n                this.updateValue(key, node, translations);\n            }\n        }\n    };\n    TranslateDirective.prototype.updateValue = function (key, node, translations) {\n        var _this = this;\n        if (key) {\n            var interpolateParams = this.translateParams;\n            if (node.lastKey === key && this.lastParams === interpolateParams) {\n                return;\n            }\n            this.lastParams = interpolateParams;\n            var onTranslation = function (res) {\n                if (res !== key) {\n                    node.lastKey = key;\n                }\n                if (!node.originalContent) {\n                    node.originalContent = node.textContent;\n                }\n                node.currentValue = isDefined(res) ? res : (node.originalContent || key);\n                // we replace in the original content to preserve spaces that we might have trimmed\n                node.textContent = _this.key ? node.currentValue : node.originalContent.replace(key, node.currentValue);\n            };\n            if (isDefined(translations)) {\n                var res = this.translateService.getParsedResult(translations, key, interpolateParams);\n                if (typeof res.subscribe === \"function\") {\n                    res.subscribe(onTranslation);\n                }\n                else {\n                    onTranslation(res);\n                }\n            }\n            else {\n                this.translateService.get(key, interpolateParams).subscribe(onTranslation);\n            }\n        }\n    };\n    TranslateDirective.prototype.ngOnDestroy = function () {\n        if (this.onLangChangeSub) {\n            this.onLangChangeSub.unsubscribe();\n        }\n        if (this.onDefaultLangChangeSub) {\n            this.onDefaultLangChangeSub.unsubscribe();\n        }\n        if (this.onTranslationChangeSub) {\n            this.onTranslationChangeSub.unsubscribe();\n        }\n    };\n    TranslateDirective.decorators = [\n        { type: Directive, args: [{\n                    selector: '[translate],[ng2-translate]'\n                },] },\n    ];\n    /** @nocollapse */\n    TranslateDirective.ctorParameters = function () { return [\n        { type: TranslateService, },\n        { type: ElementRef, },\n    ]; };\n    TranslateDirective.propDecorators = {\n        'translate': [{ type: Input },],\n        'translateParams': [{ type: Input },],\n    };\n    return TranslateDirective;\n}());\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-translate/src/translate.directive.js\n// module id = 701\n// module chunks = 0","import { Pipe, Injectable, ChangeDetectorRef } from '@angular/core';\nimport { TranslateService } from './translate.service';\nimport { equals, isDefined } from './util';\nexport var TranslatePipe = (function () {\n    function TranslatePipe(translate, _ref) {\n        this.translate = translate;\n        this._ref = _ref;\n        this.value = '';\n    }\n    TranslatePipe.prototype.updateValue = function (key, interpolateParams, translations) {\n        var _this = this;\n        var onTranslation = function (res) {\n            _this.value = res !== undefined ? res : key;\n            _this.lastKey = key;\n            _this._ref.markForCheck();\n        };\n        if (translations) {\n            var res = this.translate.getParsedResult(translations, key, interpolateParams);\n            if (typeof res.subscribe === 'function') {\n                res.subscribe(onTranslation);\n            }\n            else {\n                onTranslation(res);\n            }\n        }\n        this.translate.get(key, interpolateParams).subscribe(onTranslation);\n    };\n    TranslatePipe.prototype.transform = function (query) {\n        var _this = this;\n        var args = [];\n        for (var _i = 1; _i < arguments.length; _i++) {\n            args[_i - 1] = arguments[_i];\n        }\n        if (!query || query.length === 0) {\n            return query;\n        }\n        // if we ask another time for the same key, return the last value\n        if (equals(query, this.lastKey) && equals(args, this.lastParams)) {\n            return this.value;\n        }\n        var interpolateParams;\n        if (isDefined(args[0]) && args.length) {\n            if (typeof args[0] === 'string' && args[0].length) {\n                // we accept objects written in the template such as {n:1}, {'n':1}, {n:'v'}\n                // which is why we might need to change it to real JSON objects such as {\"n\":1} or {\"n\":\"v\"}\n                var validArgs = args[0]\n                    .replace(/(\\')?([a-zA-Z0-9_]+)(\\')?(\\s)?:/g, '\"$2\":')\n                    .replace(/:(\\s)?(\\')(.*?)(\\')/g, ':\"$3\"');\n                try {\n                    interpolateParams = JSON.parse(validArgs);\n                }\n                catch (e) {\n                    throw new SyntaxError(\"Wrong parameter in TranslatePipe. Expected a valid Object, received: \" + args[0]);\n                }\n            }\n            else if (typeof args[0] === 'object' && !Array.isArray(args[0])) {\n                interpolateParams = args[0];\n            }\n        }\n        // store the query, in case it changes\n        this.lastKey = query;\n        // store the params, in case they change\n        this.lastParams = args;\n        // set the value\n        this.updateValue(query, interpolateParams);\n        // if there is a subscription to onLangChange, clean it\n        this._dispose();\n        // subscribe to onTranslationChange event, in case the translations change\n        if (!this.onTranslationChange) {\n            this.onTranslationChange = this.translate.onTranslationChange.subscribe(function (event) {\n                if (_this.lastKey && event.lang === _this.translate.currentLang) {\n                    _this.lastKey = null;\n                    _this.updateValue(query, interpolateParams, event.translations);\n                }\n            });\n        }\n        // subscribe to onLangChange event, in case the language changes\n        if (!this.onLangChange) {\n            this.onLangChange = this.translate.onLangChange.subscribe(function (event) {\n                if (_this.lastKey) {\n                    _this.lastKey = null; // we want to make sure it doesn't return the same value until it's been updated\n                    _this.updateValue(query, interpolateParams, event.translations);\n                }\n            });\n        }\n        // subscribe to onDefaultLangChange event, in case the default language changes\n        if (!this.onDefaultLangChange) {\n            this.onDefaultLangChange = this.translate.onDefaultLangChange.subscribe(function () {\n                if (_this.lastKey) {\n                    _this.lastKey = null; // we want to make sure it doesn't return the same value until it's been updated\n                    _this.updateValue(query, interpolateParams);\n                }\n            });\n        }\n        return this.value;\n    };\n    /**\n     * Clean any existing subscription to change events\n     * @private\n     */\n    TranslatePipe.prototype._dispose = function () {\n        if (typeof this.onTranslationChange !== 'undefined') {\n            this.onTranslationChange.unsubscribe();\n            this.onTranslationChange = undefined;\n        }\n        if (typeof this.onLangChange !== 'undefined') {\n            this.onLangChange.unsubscribe();\n            this.onLangChange = undefined;\n        }\n        if (typeof this.onDefaultLangChange !== 'undefined') {\n            this.onDefaultLangChange.unsubscribe();\n            this.onDefaultLangChange = undefined;\n        }\n    };\n    TranslatePipe.prototype.ngOnDestroy = function () {\n        this._dispose();\n    };\n    TranslatePipe.decorators = [\n        { type: Injectable },\n        { type: Pipe, args: [{\n                    name: 'translate',\n                    pure: false // required to update the value when the promise is resolved\n                },] },\n    ];\n    /** @nocollapse */\n    TranslatePipe.ctorParameters = function () { return [\n        { type: TranslateService, },\n        { type: ChangeDetectorRef, },\n    ]; };\n    return TranslatePipe;\n}());\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-translate/src/translate.pipe.js\n// module id = 702\n// module chunks = 0","\"use strict\";\nfunction __export(m) {\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(require(\"./directive\"));\n__export(require(\"./validator\"));\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/base64/index.js\n// module id = 703\n// module chunks = 0","\"use strict\";\nfunction __export(m) {\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(require(\"./directive\"));\n__export(require(\"./validator\"));\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/credit-card/index.js\n// module id = 704\n// module chunks = 0","\"use strict\";\nfunction __export(m) {\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(require(\"./directive\"));\n__export(require(\"./validator\"));\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/date-ios/index.js\n// module id = 705\n// module chunks = 0","\"use strict\";\nfunction __export(m) {\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(require(\"./directive\"));\n__export(require(\"./validator\"));\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/date/index.js\n// module id = 706\n// module chunks = 0","\"use strict\";\nfunction __export(m) {\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(require(\"./directive\"));\n__export(require(\"./validator\"));\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/digits/index.js\n// module id = 707\n// module chunks = 0","\"use strict\";\nfunction __export(m) {\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(require(\"./directive\"));\n__export(require(\"./validator\"));\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/email/index.js\n// module id = 708\n// module chunks = 0","\"use strict\";\nfunction __export(m) {\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(require(\"./directive\"));\n__export(require(\"./validator\"));\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/equal-to/index.js\n// module id = 709\n// module chunks = 0","\"use strict\";\nfunction __export(m) {\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(require(\"./directive\"));\n__export(require(\"./validator\"));\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/equal/index.js\n// module id = 710\n// module chunks = 0","\"use strict\";\nfunction __export(m) {\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(require(\"./directive\"));\n__export(require(\"./validator\"));\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/greater-than-equal/index.js\n// module id = 711\n// module chunks = 0","\"use strict\";\nfunction __export(m) {\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(require(\"./directive\"));\n__export(require(\"./validator\"));\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/greater-than/index.js\n// module id = 712\n// module chunks = 0","\"use strict\";\nfunction __export(m) {\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(require(\"./directive\"));\n__export(require(\"./validator\"));\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/json/index.js\n// module id = 713\n// module chunks = 0","\"use strict\";\nfunction __export(m) {\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(require(\"./directive\"));\n__export(require(\"./validator\"));\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/less-than-equal/index.js\n// module id = 714\n// module chunks = 0","\"use strict\";\nfunction __export(m) {\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(require(\"./directive\"));\n__export(require(\"./validator\"));\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/less-than/index.js\n// module id = 715\n// module chunks = 0","\"use strict\";\nfunction __export(m) {\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(require(\"./directive\"));\n__export(require(\"./validator\"));\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/max-date/index.js\n// module id = 716\n// module chunks = 0","\"use strict\";\nfunction __export(m) {\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(require(\"./directive\"));\n__export(require(\"./validator\"));\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/max/index.js\n// module id = 717\n// module chunks = 0","\"use strict\";\nfunction __export(m) {\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(require(\"./directive\"));\n__export(require(\"./validator\"));\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/min-date/index.js\n// module id = 718\n// module chunks = 0","\"use strict\";\nfunction __export(m) {\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(require(\"./directive\"));\n__export(require(\"./validator\"));\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/min/index.js\n// module id = 719\n// module chunks = 0","\"use strict\";\nfunction __export(m) {\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(require(\"./directive\"));\n__export(require(\"./validator\"));\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/not-equal-to/index.js\n// module id = 720\n// module chunks = 0","\"use strict\";\nfunction __export(m) {\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(require(\"./directive\"));\n__export(require(\"./validator\"));\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/not-equal/index.js\n// module id = 721\n// module chunks = 0","\"use strict\";\nfunction __export(m) {\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(require(\"./directive\"));\n__export(require(\"./validator\"));\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/number/index.js\n// module id = 722\n// module chunks = 0","\"use strict\";\nfunction __export(m) {\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(require(\"./directive\"));\n__export(require(\"./validator\"));\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/phone/index.js\n// module id = 723\n// module chunks = 0","\"use strict\";\nfunction __export(m) {\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(require(\"./directive\"));\n__export(require(\"./validator\"));\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/range-length/index.js\n// module id = 724\n// module chunks = 0","\"use strict\";\nfunction __export(m) {\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(require(\"./directive\"));\n__export(require(\"./validator\"));\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/range/index.js\n// module id = 725\n// module chunks = 0","\"use strict\";\nfunction __export(m) {\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(require(\"./directive\"));\n__export(require(\"./validator\"));\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/url/index.js\n// module id = 726\n// module chunks = 0","\"use strict\";\nfunction __export(m) {\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(require(\"./directive\"));\n__export(require(\"./validator\"));\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/uuid/index.js\n// module id = 727\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nimport { Component, Input, ElementRef, Renderer } from '@angular/core';\nimport { FBMLAttribute, FBMLComponent } from '../fbml-component';\n/**\n * @name Embedded Comments\n * @shortdesc Embedded comments component\n * @fbdoc https://developers.facebook.com/docs/plugins/embedded-comments\n * @description\n * Embedded comments are a simple way to put public post comments - by a Page or a person on Facebook - into the content of your web site or web page.\n * Only public comments from Facebook Pages and profiles can be embedded.\n * @usage\n * ```html\n * <fb-comment-embed href=\"https://www.facebook.com/zuck/posts/10102735452532991?comment_id=1070233703036185\" width=\"500\"></fb-comment-embed>\n * ```\n */\nvar FBCommentEmbedComponent = (function (_super) {\n    __extends(FBCommentEmbedComponent, _super);\n    function FBCommentEmbedComponent(el, rnd) {\n        return _super.call(this, el, rnd, 'fb-comment-embed') || this;\n    }\n    return FBCommentEmbedComponent;\n}(FBMLComponent));\nexport { FBCommentEmbedComponent };\nFBCommentEmbedComponent.decorators = [\n    { type: Component, args: [{\n                selector: 'fb-comment-embed',\n                template: ''\n            },] },\n];\n/** @nocollapse */\nFBCommentEmbedComponent.ctorParameters = function () { return [\n    { type: ElementRef, },\n    { type: Renderer, },\n]; };\nFBCommentEmbedComponent.propDecorators = {\n    'href': [{ type: Input },],\n    'width': [{ type: Input },],\n    'includeParent': [{ type: Input },],\n};\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", String)\n], FBCommentEmbedComponent.prototype, \"href\", void 0);\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", String)\n], FBCommentEmbedComponent.prototype, \"width\", void 0);\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", Boolean)\n], FBCommentEmbedComponent.prototype, \"includeParent\", void 0);\n//# sourceMappingURL=fb-comment-embed.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ngx-facebook/dist/esm/components/fb-comment-embed/fb-comment-embed.js\n// module id = 728\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nimport { Component, Input, ElementRef, Renderer } from '@angular/core';\nimport { FBMLAttribute, FBMLComponent } from '../fbml-component';\n/**\n * @name Comments\n * @shortdesc Comments component\n * @fbdoc https://developers.facebook.com/docs/plugins/comments\n * @description\n * The comments plugin lets people comment on content on your site using their Facebook account.\n * People can choose to share their comment activity with their friends (and friends of their friends) on Facebook as well.\n * The comments plugin also includes built-in moderation tools and social relevance ranking.\n *\n * @usage\n * ```html\n * <fb-comments></fb-comments>\n * ```\n */\nvar FBCommentsComponent = (function (_super) {\n    __extends(FBCommentsComponent, _super);\n    function FBCommentsComponent(el, rnd) {\n        var _this = _super.call(this, el, rnd, 'fb-comments') || this;\n        /**\n         * The absolute URL that comments posted in the plugin will be permanently associated with.\n         * All stories shared on Facebook about comments posted using the comments plugin will link to this URL.\n         * Defaults to current URL.\n         */\n        _this.href = window.location.href;\n        return _this;\n    }\n    return FBCommentsComponent;\n}(FBMLComponent));\nexport { FBCommentsComponent };\nFBCommentsComponent.decorators = [\n    { type: Component, args: [{\n                selector: 'fb-comments',\n                template: ''\n            },] },\n];\n/** @nocollapse */\nFBCommentsComponent.ctorParameters = function () { return [\n    { type: ElementRef, },\n    { type: Renderer, },\n]; };\nFBCommentsComponent.propDecorators = {\n    'colorscheme': [{ type: Input },],\n    'href': [{ type: Input },],\n    'mobile': [{ type: Input },],\n    'numposts': [{ type: Input },],\n    'orderBy': [{ type: Input },],\n    'width': [{ type: Input },],\n};\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", String)\n], FBCommentsComponent.prototype, \"colorscheme\", void 0);\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", String)\n], FBCommentsComponent.prototype, \"href\", void 0);\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", Boolean)\n], FBCommentsComponent.prototype, \"mobile\", void 0);\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", Number)\n], FBCommentsComponent.prototype, \"numposts\", void 0);\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", String)\n], FBCommentsComponent.prototype, \"orderBy\", void 0);\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", String)\n], FBCommentsComponent.prototype, \"width\", void 0);\n//# sourceMappingURL=fb-comments.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ngx-facebook/dist/esm/components/fb-comments/fb-comments.js\n// module id = 729\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nimport { Component, Input, ElementRef, Renderer } from '@angular/core';\nimport { FBMLAttribute, FBMLComponent } from '../fbml-component';\n/**\n * @name Follow Button\n * @shortdesc Follow button component\n * @fbdoc https://developers.facebook.com/docs/plugins/follow-button\n * @description The Follow button lets people subscribe to the public updates of others on Facebook.\n * @usage\n * ```html\n * <fb-follow href=\"https://www.facebook.com/zuck\"></fb-follow>\n * ```\n */\nvar FBFollowComponent = (function (_super) {\n    __extends(FBFollowComponent, _super);\n    function FBFollowComponent(el, rnd) {\n        return _super.call(this, el, rnd, 'fb-follow') || this;\n    }\n    return FBFollowComponent;\n}(FBMLComponent));\nexport { FBFollowComponent };\nFBFollowComponent.decorators = [\n    { type: Component, args: [{\n                selector: 'fb-follow',\n                template: ''\n            },] },\n];\n/** @nocollapse */\nFBFollowComponent.ctorParameters = function () { return [\n    { type: ElementRef, },\n    { type: Renderer, },\n]; };\nFBFollowComponent.propDecorators = {\n    'colorScheme': [{ type: Input },],\n    'href': [{ type: Input },],\n    'kidDirectedSite': [{ type: Input },],\n    'layout': [{ type: Input },],\n    'showFaces': [{ type: Input },],\n    'size': [{ type: Input },],\n    'width': [{ type: Input },],\n};\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", String)\n], FBFollowComponent.prototype, \"colorScheme\", void 0);\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", String)\n], FBFollowComponent.prototype, \"href\", void 0);\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", Boolean)\n], FBFollowComponent.prototype, \"kidDirectedSite\", void 0);\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", String)\n], FBFollowComponent.prototype, \"layout\", void 0);\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", String)\n], FBFollowComponent.prototype, \"showFaces\", void 0);\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", String)\n], FBFollowComponent.prototype, \"size\", void 0);\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", String)\n], FBFollowComponent.prototype, \"width\", void 0);\n//# sourceMappingURL=fb-follow.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ngx-facebook/dist/esm/components/fb-follow/fb-follow.js\n// module id = 730\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nimport { Component, Input, ElementRef, Renderer } from '@angular/core';\nimport { FBMLAttribute, FBMLComponent } from '../fbml-component';\n/**\n * @name Like Button\n * @shortdesc Like button component\n * @fbdoc https://developers.facebook.com/docs/plugins/like-button\n * @description\n * A single click on the Like button will 'like' pieces of content on the web and share them on Facebook.\n * You can also display a Share button next to the Like button to let people add a personal message and customize who they share with.\n * @usage\n * ```html\n * <fb-like href=\"https://www.facebook.com/zuck\"></fb-like>\n * ```\n */\nvar FBLikeComponent = (function (_super) {\n    __extends(FBLikeComponent, _super);\n    function FBLikeComponent(el, rnd) {\n        var _this = _super.call(this, el, rnd, 'fb-like') || this;\n        /**\n         * The absolute URL of the page that will be liked.\n         * Defaults to the current URL.\n         */\n        _this.href = window.location.href;\n        return _this;\n    }\n    return FBLikeComponent;\n}(FBMLComponent));\nexport { FBLikeComponent };\nFBLikeComponent.decorators = [\n    { type: Component, args: [{\n                selector: 'fb-like',\n                template: ''\n            },] },\n];\n/** @nocollapse */\nFBLikeComponent.ctorParameters = function () { return [\n    { type: ElementRef, },\n    { type: Renderer, },\n]; };\nFBLikeComponent.propDecorators = {\n    'action': [{ type: Input },],\n    'colorScheme': [{ type: Input },],\n    'href': [{ type: Input },],\n    'kidDirectedSite': [{ type: Input },],\n    'layout': [{ type: Input },],\n    'ref': [{ type: Input },],\n    'share': [{ type: Input },],\n    'showFaces': [{ type: Input },],\n    'size': [{ type: Input },],\n    'width': [{ type: Input },],\n};\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", String)\n], FBLikeComponent.prototype, \"action\", void 0);\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", String)\n], FBLikeComponent.prototype, \"colorScheme\", void 0);\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", String)\n], FBLikeComponent.prototype, \"href\", void 0);\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", Boolean)\n], FBLikeComponent.prototype, \"kidDirectedSite\", void 0);\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", String)\n], FBLikeComponent.prototype, \"layout\", void 0);\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", String)\n], FBLikeComponent.prototype, \"ref\", void 0);\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", Boolean)\n], FBLikeComponent.prototype, \"share\", void 0);\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", Boolean)\n], FBLikeComponent.prototype, \"showFaces\", void 0);\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", String)\n], FBLikeComponent.prototype, \"size\", void 0);\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", String)\n], FBLikeComponent.prototype, \"width\", void 0);\n//# sourceMappingURL=fb-like.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ngx-facebook/dist/esm/components/fb-like/fb-like.js\n// module id = 731\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nimport { Component, Input, ElementRef, Renderer } from '@angular/core';\nimport { FBMLAttribute, FBMLComponent } from '../fbml-component';\n/**\n * @name Page Plugin\n * @shortdesc Page plugin component\n * @fbdoc https://developers.facebook.com/docs/plugins/page-plugin\n * @description\n * The Page plugin lets you easily embed and promote any Facebook Page on your website. Just like on Facebook, your visitors can like and share the Page without leaving your site.\n * @usage\n * ```html\n * <fb-page href=\"https://facebook.com/facebook\"></fb-page>\n * ```\n */\nvar FBPageComponent = (function (_super) {\n    __extends(FBPageComponent, _super);\n    function FBPageComponent(el, rnd) {\n        return _super.call(this, el, rnd, 'fb-page') || this;\n    }\n    return FBPageComponent;\n}(FBMLComponent));\nexport { FBPageComponent };\nFBPageComponent.decorators = [\n    { type: Component, args: [{\n                selector: 'fb-page',\n                template: ''\n            },] },\n];\n/** @nocollapse */\nFBPageComponent.ctorParameters = function () { return [\n    { type: ElementRef, },\n    { type: Renderer, },\n]; };\nFBPageComponent.propDecorators = {\n    'href': [{ type: Input },],\n    'width': [{ type: Input },],\n    'height': [{ type: Input },],\n    'tabs': [{ type: Input },],\n    'hideCover': [{ type: Input },],\n    'showFacepile': [{ type: Input },],\n    'hideCTA': [{ type: Input },],\n    'smallHeader': [{ type: Input },],\n    'adaptContainerWidth': [{ type: Input },],\n};\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", String)\n], FBPageComponent.prototype, \"href\", void 0);\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", Number)\n], FBPageComponent.prototype, \"width\", void 0);\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", Number)\n], FBPageComponent.prototype, \"height\", void 0);\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", String)\n], FBPageComponent.prototype, \"tabs\", void 0);\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", Boolean)\n], FBPageComponent.prototype, \"hideCover\", void 0);\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", Boolean)\n], FBPageComponent.prototype, \"showFacepile\", void 0);\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", Boolean)\n], FBPageComponent.prototype, \"hideCTA\", void 0);\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", Boolean)\n], FBPageComponent.prototype, \"smallHeader\", void 0);\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", Boolean)\n], FBPageComponent.prototype, \"adaptContainerWidth\", void 0);\n//# sourceMappingURL=fb-page.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ngx-facebook/dist/esm/components/fb-page/fb-page.js\n// module id = 732\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nimport { Component, Input, ElementRef, Renderer } from '@angular/core';\nimport { FBMLAttribute, FBMLComponent } from '../fbml-component';\n/**\n * @name Embedded Posts\n * @shortdesc Embedded post component\n * @fbdoc https://developers.facebook.com/docs/plugins/embedded-posts\n * @description\n * Embedded Posts are a simple way to put public posts - by a Page or a person on Facebook - into the content of your web site or web page.\n * Only public posts from Facebook Pages and profiles can be embedded.\n * @usage\n * ```html\n * <fb-post href=\"https://www.facebook.com/20531316728/posts/10154009990506729/\"></fb-post>\n * ```\n */\nvar FBPostComponent = (function (_super) {\n    __extends(FBPostComponent, _super);\n    function FBPostComponent(el, rnd) {\n        return _super.call(this, el, rnd, 'fb-post') || this;\n    }\n    return FBPostComponent;\n}(FBMLComponent));\nexport { FBPostComponent };\nFBPostComponent.decorators = [\n    { type: Component, args: [{\n                selector: 'fb-post',\n                template: ''\n            },] },\n];\n/** @nocollapse */\nFBPostComponent.ctorParameters = function () { return [\n    { type: ElementRef, },\n    { type: Renderer, },\n]; };\nFBPostComponent.propDecorators = {\n    'href': [{ type: Input },],\n    'width': [{ type: Input },],\n    'showText': [{ type: Input },],\n};\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", String)\n], FBPostComponent.prototype, \"href\", void 0);\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", String)\n], FBPostComponent.prototype, \"width\", void 0);\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", Boolean)\n], FBPostComponent.prototype, \"showText\", void 0);\n//# sourceMappingURL=fb-post.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ngx-facebook/dist/esm/components/fb-post/fb-post.js\n// module id = 733\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nimport { Component, Input, ElementRef, Renderer } from '@angular/core';\nimport { FBMLAttribute, FBMLComponent } from '../fbml-component';\n/**\n * @name Quote Plugin\n * @shortdesc Quote plugin component\n * @fbdoc https://developers.facebook.com/docs/plugins/quote\n * @description\n * The quote plugin lets people select text on your page and add it to their share, so they can tell a more expressive story.\n * Note that you do not need to implement Facebook login or request any additional permissions through app review in order to use this plugin.\n * @usage\n * ```html\n * <fb-quote></fb-quote>\n * ```\n */\nvar FBQuoteComponent = (function (_super) {\n    __extends(FBQuoteComponent, _super);\n    function FBQuoteComponent(el, rnd) {\n        return _super.call(this, el, rnd, 'fb-quote') || this;\n    }\n    return FBQuoteComponent;\n}(FBMLComponent));\nexport { FBQuoteComponent };\nFBQuoteComponent.decorators = [\n    { type: Component, args: [{\n                selector: 'fb-quote',\n                template: ''\n            },] },\n];\n/** @nocollapse */\nFBQuoteComponent.ctorParameters = function () { return [\n    { type: ElementRef, },\n    { type: Renderer, },\n]; };\nFBQuoteComponent.propDecorators = {\n    'href': [{ type: Input },],\n    'layout': [{ type: Input },],\n};\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", String)\n], FBQuoteComponent.prototype, \"href\", void 0);\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", String)\n], FBQuoteComponent.prototype, \"layout\", void 0);\n//# sourceMappingURL=fb-quote.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ngx-facebook/dist/esm/components/fb-quote/fb-quote.js\n// module id = 734\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nimport { Component, Input, ElementRef, Renderer } from '@angular/core';\nimport { FBMLAttribute, FBMLComponent } from '../fbml-component';\n/**\n * @name Save Button\n * @shortdesc Save button component.\n * @fbdoc https://developers.facebook.com/docs/plugins/save\n * @description\n * The Save button lets people save items or services to a private list on Facebook, share it with friends, and receive relevant notifications.\n * @usage\n * ```html\n * <fb-save uri=\"https://github.com/zyra/ng2-facebook-sdk/\"></fb-save>\n * ```\n */\nvar FBSaveComponent = (function (_super) {\n    __extends(FBSaveComponent, _super);\n    function FBSaveComponent(el, rnd) {\n        var _this = _super.call(this, el, rnd, 'fb-save') || this;\n        /**\n         * The absolute link of the page that will be saved.\n         * Current Link/Address\n         */\n        _this.uri = window.location.href;\n        return _this;\n    }\n    return FBSaveComponent;\n}(FBMLComponent));\nexport { FBSaveComponent };\nFBSaveComponent.decorators = [\n    { type: Component, args: [{\n                selector: 'fb-save',\n                template: ''\n            },] },\n];\n/** @nocollapse */\nFBSaveComponent.ctorParameters = function () { return [\n    { type: ElementRef, },\n    { type: Renderer, },\n]; };\nFBSaveComponent.propDecorators = {\n    'uri': [{ type: Input },],\n};\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", String)\n], FBSaveComponent.prototype, \"uri\", void 0);\n//# sourceMappingURL=fb-save.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ngx-facebook/dist/esm/components/fb-save/fb-save.js\n// module id = 735\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nimport { Component, Input, ElementRef, Renderer } from '@angular/core';\nimport { FBMLAttribute, FBMLComponent } from '../fbml-component';\n/**\n * @name Send Button\n * @shortdesc Send button component\n * @fbdoc https://developers.facebook.com/docs/plugins/send-button\n * @description\n * The Send button lets people privately send content on your site to one or more friends in a Facebook message.\n * @usage\n * ```html\n * <fb-send href=\"https://github.com/zyra/ng2-facebook-sdk/\"></fb-send>\n * ```\n */\nvar FBSendComponent = (function (_super) {\n    __extends(FBSendComponent, _super);\n    function FBSendComponent(el, rnd) {\n        var _this = _super.call(this, el, rnd, 'fb-send') || this;\n        /**\n         * The absolute URL of the page that will be sent. Defaults to the current URL.\n         */\n        _this.href = window.location.href;\n        return _this;\n    }\n    return FBSendComponent;\n}(FBMLComponent));\nexport { FBSendComponent };\nFBSendComponent.decorators = [\n    { type: Component, args: [{\n                selector: 'fb-send',\n                template: ''\n            },] },\n];\n/** @nocollapse */\nFBSendComponent.ctorParameters = function () { return [\n    { type: ElementRef, },\n    { type: Renderer, },\n]; };\nFBSendComponent.propDecorators = {\n    'colorScheme': [{ type: Input },],\n    'href': [{ type: Input },],\n    'kidDirectedSite': [{ type: Input },],\n    'ref': [{ type: Input },],\n    'size': [{ type: Input },],\n};\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", String)\n], FBSendComponent.prototype, \"colorScheme\", void 0);\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", String)\n], FBSendComponent.prototype, \"href\", void 0);\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", Boolean)\n], FBSendComponent.prototype, \"kidDirectedSite\", void 0);\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", String)\n], FBSendComponent.prototype, \"ref\", void 0);\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", String)\n], FBSendComponent.prototype, \"size\", void 0);\n//# sourceMappingURL=fb-send.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ngx-facebook/dist/esm/components/fb-send/fb-send.js\n// module id = 736\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nimport { Component, Input, ElementRef, Renderer } from '@angular/core';\nimport { FBMLAttribute, FBMLComponent } from '../fbml-component';\n/**\n * @name Share Button\n * @shortdesc Share button component\n * @fbdoc https://developers.facebook.com/docs/plugins/share-button\n * @description\n * The Share button lets people add a personalized message to links before sharing on their timeline, in groups, or to their friends via a Facebook Message.\n * @usage\n * ```html\n * <fb-share href=\"https://github.com/zyra/ng2-facebook-sdk/\"></fb-share>\n * ```\n */\nvar FBShareComponent = (function (_super) {\n    __extends(FBShareComponent, _super);\n    function FBShareComponent(el, rnd) {\n        return _super.call(this, el, rnd, 'fb-share-button') || this;\n    }\n    return FBShareComponent;\n}(FBMLComponent));\nexport { FBShareComponent };\nFBShareComponent.decorators = [\n    { type: Component, args: [{\n                selector: 'fb-share',\n                template: ''\n            },] },\n];\n/** @nocollapse */\nFBShareComponent.ctorParameters = function () { return [\n    { type: ElementRef, },\n    { type: Renderer, },\n]; };\nFBShareComponent.propDecorators = {\n    'href': [{ type: Input },],\n    'layout': [{ type: Input },],\n    'mobileIframe': [{ type: Input },],\n    'size': [{ type: Input },],\n};\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", String)\n], FBShareComponent.prototype, \"href\", void 0);\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", String)\n], FBShareComponent.prototype, \"layout\", void 0);\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", Boolean)\n], FBShareComponent.prototype, \"mobileIframe\", void 0);\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", String)\n], FBShareComponent.prototype, \"size\", void 0);\n//# sourceMappingURL=fb-share.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ngx-facebook/dist/esm/components/fb-share/fb-share.js\n// module id = 737\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nimport { Component, Input, Output, ElementRef, Renderer, EventEmitter } from '@angular/core';\nimport { FBMLAttribute, FBMLComponent, FBMLInstanceMethod } from '../fbml-component';\n/**\n * @name Embedded Video\n * @shortdesc Component to embed Facebook videos\n * @fbdoc https://developers.facebook.com/docs/plugins/embedded-video-player\n * @description Component to embed Facebook videos and control them.\n * @usage\n * ```html\n * <!-- basic usage -->\n * <fb-video href=\"https://www.facebook.com/facebook/videos/10153231379946729/\"></fb-video>\n *\n * <!-- event emitters -->\n * <fb-video href=\"https://www.facebook.com/facebook/videos/10153231379946729/\" (paused)=\"onVideoPaused($event)\"></fb-video>\n * ```\n *\n * To manually interact with the video player, fetch it using `ViewChild`.\n *\n * ```ts\n * import { Component, ViewChild } from '@angular/core';\n * import { FBVideoComponent } from 'ng2-facebook-sdk';\n *\n * @Component(...)\n * export class MyComponent {\n *\n *   @ViewChild(FBVideoComponent) video: FBVideoComponent;\n *\n *   ngAfterViewInit() {\n *     this.video.play();\n *     this.video.pause();\n *     this.video.getVolume();\n *   }\n *\n * }\n *\n * ```\n */\nvar FBVideoComponent = (function (_super) {\n    __extends(FBVideoComponent, _super);\n    function FBVideoComponent(el, rnd) {\n        var _this = _super.call(this, el, rnd, 'fb-video') || this;\n        /**\n         * Fired when video starts to play.\n         */\n        _this.startedPlaying = new EventEmitter();\n        /**\n         * Fired when video pauses.\n         */\n        _this.paused = new EventEmitter();\n        /**\n         *\n         Fired when video finishes playing.\n         */\n        _this.finishedPlaying = new EventEmitter();\n        /**\n         * Fired when video starts to buffer.\n         */\n        _this.startedBuffering = new EventEmitter();\n        /**\n         * Fired when video recovers from buffering.\n         */\n        _this.finishedBuffering = new EventEmitter();\n        /**\n         * Fired when an error occurs on the video.\n         */\n        _this.error = new EventEmitter();\n        _this._listeners = [];\n        _this.nativeElement.id = _this._id = 'video-' + String(Math.floor((Math.random() * 10000) + 1));\n        return _this;\n    }\n    /**\n     * @hidden\n     */\n    FBVideoComponent.prototype.ngOnInit = function () {\n        var _this = this;\n        FB.Event.subscribe('xfbml.ready', function (msg) {\n            if (msg.type === 'video' && msg.id === _this._id) {\n                _this._instance = msg.instance;\n                _this._listeners.push(_this._instance.subscribe('startedPlaying', function (e) { return _this.startedPlaying.emit(e); }), _this._instance.subscribe('paused', function (e) { return _this.paused.emit(e); }), _this._instance.subscribe('finishedPlaying', function (e) { return _this.finishedPlaying.emit(e); }), _this._instance.subscribe('startedBuffering', function (e) { return _this.startedBuffering.emit(e); }), _this._instance.subscribe('finishedBuffering', function (e) { return _this.finishedBuffering.emit(e); }), _this._instance.subscribe('error', function (e) { return _this.error.emit(e); }));\n            }\n        });\n    };\n    /**\n     * @hidden\n     */\n    FBVideoComponent.prototype.ngOnDestroy = function () {\n        this._listeners.forEach(function (l) {\n            if (typeof l.release === 'function') {\n                l.release();\n            }\n        });\n    };\n    /**\n     * Plays the video.\n     */\n    FBVideoComponent.prototype.play = function () { };\n    /**\n     * Pauses the video.\n     */\n    FBVideoComponent.prototype.pause = function () { };\n    /**\n     * Seeks to specified position.\n     * @param seconds {number}\n     */\n    FBVideoComponent.prototype.seek = function (seconds) { };\n    /**\n     * Mute the video.\n     */\n    FBVideoComponent.prototype.mute = function () { };\n    /**\n     * Unmute the video.\n     */\n    FBVideoComponent.prototype.unmute = function () { };\n    /**\n     * Returns true if video is muted, false if not.\n     */\n    FBVideoComponent.prototype.isMuted = function () { return; };\n    /**\n     * Set the volume\n     * @param volume\n     */\n    FBVideoComponent.prototype.setVolume = function (volume) { };\n    /**\n     * Get the volume\n     */\n    FBVideoComponent.prototype.getVolume = function () { return; };\n    /**\n     * Returns the current video time position in seconds\n     */\n    FBVideoComponent.prototype.getCurrentPosition = function () { };\n    /**\n     * Returns the video duration in seconds\n     */\n    FBVideoComponent.prototype.getDuration = function () { };\n    return FBVideoComponent;\n}(FBMLComponent));\nexport { FBVideoComponent };\nFBVideoComponent.decorators = [\n    { type: Component, args: [{\n                selector: 'fb-video',\n                template: ''\n            },] },\n];\n/** @nocollapse */\nFBVideoComponent.ctorParameters = function () { return [\n    { type: ElementRef, },\n    { type: Renderer, },\n]; };\nFBVideoComponent.propDecorators = {\n    'href': [{ type: Input },],\n    'allowfullscreen': [{ type: Input },],\n    'autoplay': [{ type: Input },],\n    'width': [{ type: Input },],\n    'showText': [{ type: Input },],\n    'showCaptions': [{ type: Input },],\n    'startedPlaying': [{ type: Output },],\n    'paused': [{ type: Output },],\n    'finishedPlaying': [{ type: Output },],\n    'startedBuffering': [{ type: Output },],\n    'finishedBuffering': [{ type: Output },],\n    'error': [{ type: Output },],\n};\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", String)\n], FBVideoComponent.prototype, \"href\", void 0);\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", Boolean)\n], FBVideoComponent.prototype, \"allowfullscreen\", void 0);\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", Boolean)\n], FBVideoComponent.prototype, \"autoplay\", void 0);\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", String)\n], FBVideoComponent.prototype, \"width\", void 0);\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", Boolean)\n], FBVideoComponent.prototype, \"showText\", void 0);\n__decorate([\n    FBMLAttribute,\n    __metadata(\"design:type\", Boolean)\n], FBVideoComponent.prototype, \"showCaptions\", void 0);\n__decorate([\n    FBMLInstanceMethod,\n    __metadata(\"design:type\", Function),\n    __metadata(\"design:paramtypes\", []),\n    __metadata(\"design:returntype\", void 0)\n], FBVideoComponent.prototype, \"play\", null);\n__decorate([\n    FBMLInstanceMethod,\n    __metadata(\"design:type\", Function),\n    __metadata(\"design:paramtypes\", []),\n    __metadata(\"design:returntype\", void 0)\n], FBVideoComponent.prototype, \"pause\", null);\n__decorate([\n    FBMLInstanceMethod,\n    __metadata(\"design:type\", Function),\n    __metadata(\"design:paramtypes\", [Number]),\n    __metadata(\"design:returntype\", void 0)\n], FBVideoComponent.prototype, \"seek\", null);\n__decorate([\n    FBMLInstanceMethod,\n    __metadata(\"design:type\", Function),\n    __metadata(\"design:paramtypes\", []),\n    __metadata(\"design:returntype\", void 0)\n], FBVideoComponent.prototype, \"mute\", null);\n__decorate([\n    FBMLInstanceMethod,\n    __metadata(\"design:type\", Function),\n    __metadata(\"design:paramtypes\", []),\n    __metadata(\"design:returntype\", void 0)\n], FBVideoComponent.prototype, \"unmute\", null);\n__decorate([\n    FBMLInstanceMethod,\n    __metadata(\"design:type\", Function),\n    __metadata(\"design:paramtypes\", []),\n    __metadata(\"design:returntype\", Boolean)\n], FBVideoComponent.prototype, \"isMuted\", null);\n__decorate([\n    FBMLInstanceMethod,\n    __metadata(\"design:type\", Function),\n    __metadata(\"design:paramtypes\", [Number]),\n    __metadata(\"design:returntype\", void 0)\n], FBVideoComponent.prototype, \"setVolume\", null);\n__decorate([\n    FBMLInstanceMethod,\n    __metadata(\"design:type\", Function),\n    __metadata(\"design:paramtypes\", []),\n    __metadata(\"design:returntype\", Number)\n], FBVideoComponent.prototype, \"getVolume\", null);\n__decorate([\n    FBMLInstanceMethod,\n    __metadata(\"design:type\", Function),\n    __metadata(\"design:paramtypes\", []),\n    __metadata(\"design:returntype\", void 0)\n], FBVideoComponent.prototype, \"getCurrentPosition\", null);\n__decorate([\n    FBMLInstanceMethod,\n    __metadata(\"design:type\", Function),\n    __metadata(\"design:paramtypes\", []),\n    __metadata(\"design:returntype\", void 0)\n], FBVideoComponent.prototype, \"getDuration\", null);\n//# sourceMappingURL=fb-video.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ngx-facebook/dist/esm/components/fb-video/fb-video.js\n// module id = 738\n// module chunks = 0","import { Injectable } from '@angular/core';\n/**\n * @shortdesc\n * Angular 2 service to inject to use Facebook's SDK\n * @description\n * You only need to inject this service in your application if you aren't using [`FacebookModule`](../facebook-module).\n * @usage\n * ```typescript\n * import { FacebookService, InitParams } from 'ng2-facebook-sdk';\n *\n * constructor(private fb: FacebookService) {\n *\n *   const params: InitParams = {\n *\n *   };\n *\n *   fb.init(params);\n *\n * }\n * ```\n */\nvar FacebookService = (function () {\n    function FacebookService() {\n    }\n    /**\n     * This method is used to initialize and setup the SDK.\n     * @param params {InitParams} Initialization parameters\n     * @returns {Promise<any>}\n     */\n    FacebookService.prototype.init = function (params) {\n        try {\n            return Promise.resolve(FB.init(params));\n        }\n        catch (e) {\n            return Promise.reject(e);\n        }\n    };\n    /**\n     * This method lets you make calls to the Graph API\n     * @usage\n     * ```typescript\n     * this.fb.api('somepath')\n     *   .then(res => console.log(res))\n     *   .catch(e => console.log(e));\n     * ```\n     * @param path {string} The Graph API endpoint path that you want to call.\n     * @param [method=get] {string} The HTTP method that you want to use for the API request.\n     * @param [params] {Object} An object consisting of any parameters that you want to pass into your Graph API call.\n     * @returns {Promise<any>}\n     */\n    FacebookService.prototype.api = function (path, method, params) {\n        if (method === void 0) { method = 'get'; }\n        if (params === void 0) { params = {}; }\n        return new Promise(function (resolve, reject) {\n            try {\n                FB.api(path, method, params, function (response) {\n                    if (!response) {\n                        reject();\n                    }\n                    else if (response.error) {\n                        reject(response.error);\n                    }\n                    else {\n                        resolve(response);\n                    }\n                });\n            }\n            catch (e) {\n                reject(e);\n            }\n        });\n    };\n    /**\n     * This method is used to trigger different forms of Facebook created UI dialogs.\n     * These dialogs include:\n     * - Share dialog\n     * - Login dialog\n     * - Add page tab dialog\n     * - Requests dialog\n     * - Send dialog\n     * - Payments dialog\n     * - Go Live dialog\n     * @param params {UIParams} A collection of parameters that control which dialog is loaded, and relevant settings.\n     * @returns {Promise<UIResponse>}\n     */\n    FacebookService.prototype.ui = function (params) {\n        return new Promise(function (resolve, reject) {\n            try {\n                FB.ui(params, function (response) {\n                    if (!response)\n                        reject();\n                    else if (response.error)\n                        reject(response.error);\n                    else\n                        resolve(response);\n                });\n            }\n            catch (e) {\n                reject(e);\n            }\n        });\n    };\n    /**\n     * This method allows you to determine if a user is logged in to Facebook and has authenticated your app.\n     * @returns {Promise<LoginStatus>}\n     */\n    FacebookService.prototype.getLoginStatus = function () {\n        return new Promise(function (resolve, reject) {\n            try {\n                FB.getLoginStatus(function (response) {\n                    if (!response) {\n                        reject();\n                    }\n                    else {\n                        resolve(response);\n                    }\n                });\n            }\n            catch (e) {\n                reject(e);\n            }\n        });\n    };\n    /**\n     * Login the user\n     * @usage\n     * ```typescript\n     * // login without options\n     * this.fb.login()\n     *   .then((response: LoginResponse) => console.log('Logged in', response))\n     *   .catch(e => console.error('Error logging in'));\n     *\n     * // login with options\n     * const options: LoginOptions = {\n     *   scope: 'public_profile,user_friends,email,pages_show_list',\n     *   return_scopes: true,\n     *   enable_profile_selector: true\n     * };\n     * this.fb.login(options)\n     *   .then(...)\n     *   .catch(...);\n     * ```\n     * @param [options] {LoginOptions} Login options\n     * @returns {Promise<LoginResponse>} returns a promise that resolves with [LoginResponse](../login-response) object, or rejects with an error\n     */\n    FacebookService.prototype.login = function (options) {\n        return new Promise(function (resolve, reject) {\n            try {\n                FB.login(function (response) {\n                    if (response.authResponse) {\n                        resolve(response);\n                    }\n                    else {\n                        reject();\n                    }\n                }, options);\n            }\n            catch (e) {\n                reject(e);\n            }\n        });\n    };\n    /**\n     * Logout the user\n     * @usage\n     * ```typescript\n     * this.fb.logout().then(() => console.log('Logged out!'));\n     * ```\n     * @returns {Promise<any>} returns a promise that resolves when the user is logged out\n     */\n    FacebookService.prototype.logout = function () {\n        return new Promise(function (resolve, reject) {\n            try {\n                FB.logout(function (response) {\n                    resolve(response);\n                });\n            }\n            catch (e) {\n                reject(e);\n            }\n        });\n    };\n    /**\n     * This synchronous function returns back the current authResponse.\n     * @usage\n     * ```typescript\n     * import { AuthResponse, FacebookService } from 'ng2-facebook-sdk';\n     *\n     * ...\n     *\n     * const authResponse: AuthResponse = this.fb.getAuthResponse();\n     * ```\n     * @returns {AuthResponse} returns an [AuthResponse](../auth-response) object\n     */\n    FacebookService.prototype.getAuthResponse = function () {\n        try {\n            return FB.getAuthResponse();\n        }\n        catch (e) {\n            console.error('ng2-facebook-sdk: ', e);\n        }\n    };\n    return FacebookService;\n}());\nexport { FacebookService };\nFacebookService.decorators = [\n    { type: Injectable },\n];\n/** @nocollapse */\nFacebookService.ctorParameters = function () { return []; };\n//# sourceMappingURL=facebook.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ngx-facebook/dist/esm/providers/facebook.js\n// module id = 739\n// module chunks = 0","\"use strict\";\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar core_1 = require(\"@angular/core\");\nvar TooltipContent_1 = require(\"./TooltipContent\");\nvar Tooltip = (function () {\n    // -------------------------------------------------------------------------\n    // Constructor\n    // -------------------------------------------------------------------------\n    function Tooltip(viewContainerRef, resolver) {\n        this.viewContainerRef = viewContainerRef;\n        this.resolver = resolver;\n        this.tooltipAnimation = true;\n        this.tooltipPlacement = \"bottom\";\n    }\n    // -------------------------------------------------------------------------\n    // Public Methods\n    // -------------------------------------------------------------------------\n    Tooltip.prototype.show = function () {\n        if (this.tooltipDisabled || this.visible)\n            return;\n        this.visible = true;\n        if (typeof this.content === \"string\") {\n            var factory = this.resolver.resolveComponentFactory(TooltipContent_1.TooltipContent);\n            if (!this.visible)\n                return;\n            this.tooltip = this.viewContainerRef.createComponent(factory);\n            this.tooltip.instance.hostElement = this.viewContainerRef.element.nativeElement;\n            this.tooltip.instance.content = this.content;\n            this.tooltip.instance.placement = this.tooltipPlacement;\n            this.tooltip.instance.animation = this.tooltipAnimation;\n        }\n        else {\n            var tooltip = this.content;\n            tooltip.hostElement = this.viewContainerRef.element.nativeElement;\n            tooltip.placement = this.tooltipPlacement;\n            tooltip.animation = this.tooltipAnimation;\n            tooltip.show();\n        }\n    };\n    Tooltip.prototype.hide = function () {\n        if (!this.visible)\n            return;\n        this.visible = false;\n        if (this.tooltip)\n            this.tooltip.destroy();\n        if (this.content instanceof TooltipContent_1.TooltipContent)\n            this.content.hide();\n    };\n    return Tooltip;\n}());\n__decorate([\n    core_1.Input(\"tooltip\"),\n    __metadata(\"design:type\", Object)\n], Tooltip.prototype, \"content\", void 0);\n__decorate([\n    core_1.Input(),\n    __metadata(\"design:type\", Boolean)\n], Tooltip.prototype, \"tooltipDisabled\", void 0);\n__decorate([\n    core_1.Input(),\n    __metadata(\"design:type\", Boolean)\n], Tooltip.prototype, \"tooltipAnimation\", void 0);\n__decorate([\n    core_1.Input(),\n    __metadata(\"design:type\", String)\n], Tooltip.prototype, \"tooltipPlacement\", void 0);\n__decorate([\n    core_1.HostListener(\"focusin\"),\n    core_1.HostListener(\"mouseenter\"),\n    __metadata(\"design:type\", Function),\n    __metadata(\"design:paramtypes\", []),\n    __metadata(\"design:returntype\", void 0)\n], Tooltip.prototype, \"show\", null);\n__decorate([\n    core_1.HostListener(\"focusout\"),\n    core_1.HostListener(\"mouseleave\"),\n    __metadata(\"design:type\", Function),\n    __metadata(\"design:paramtypes\", []),\n    __metadata(\"design:returntype\", void 0)\n], Tooltip.prototype, \"hide\", null);\nTooltip = __decorate([\n    core_1.Directive({\n        selector: \"[tooltip]\"\n    }),\n    __metadata(\"design:paramtypes\", [core_1.ViewContainerRef,\n        core_1.ComponentFactoryResolver])\n], Tooltip);\nexports.Tooltip = Tooltip;\n//# sourceMappingURL=Tooltip.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ngx-tooltip/Tooltip.js\n// module id = 740\n// module chunks = 0","'use strict';\n\n// Note: adler32 takes 12% for level 0 and 2% for level 6.\n// It doesn't worth to make additional optimizationa as in original.\n// Small size is preferable.\n\nfunction adler32(adler, buf, len, pos) {\n  var s1 = (adler & 0xffff) |0,\n      s2 = ((adler >>> 16) & 0xffff) |0,\n      n = 0;\n\n  while (len !== 0) {\n    // Set limit ~ twice less than 5552, to keep\n    // s2 in 31-bits, because we force signed ints.\n    // in other case %= will fail.\n    n = len > 2000 ? 2000 : len;\n    len -= n;\n\n    do {\n      s1 = (s1 + buf[pos++]) |0;\n      s2 = (s2 + s1) |0;\n    } while (--n);\n\n    s1 %= 65521;\n    s2 %= 65521;\n  }\n\n  return (s1 | (s2 << 16)) |0;\n}\n\n\nmodule.exports = adler32;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/pako/lib/zlib/adler32.js\n// module id = 741\n// module chunks = 0","'use strict';\n\n// Note: we can't get significant speed boost here.\n// So write code to minimize size - no pregenerated tables\n// and array tools dependencies.\n\n\n// Use ordinary array, since untyped makes no boost here\nfunction makeTable() {\n  var c, table = [];\n\n  for (var n = 0; n < 256; n++) {\n    c = n;\n    for (var k = 0; k < 8; k++) {\n      c = ((c & 1) ? (0xEDB88320 ^ (c >>> 1)) : (c >>> 1));\n    }\n    table[n] = c;\n  }\n\n  return table;\n}\n\n// Create table on load. Just 255 signed longs. Not a problem.\nvar crcTable = makeTable();\n\n\nfunction crc32(crc, buf, len, pos) {\n  var t = crcTable,\n      end = pos + len;\n\n  crc ^= -1;\n\n  for (var i = pos; i < end; i++) {\n    crc = (crc >>> 8) ^ t[(crc ^ buf[i]) & 0xFF];\n  }\n\n  return (crc ^ (-1)); // >>> 0;\n}\n\n\nmodule.exports = crc32;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/pako/lib/zlib/crc32.js\n// module id = 742\n// module chunks = 0","'use strict';\n\nmodule.exports = {\n  2:      'need dictionary',     /* Z_NEED_DICT       2  */\n  1:      'stream end',          /* Z_STREAM_END      1  */\n  0:      '',                    /* Z_OK              0  */\n  '-1':   'file error',          /* Z_ERRNO         (-1) */\n  '-2':   'stream error',        /* Z_STREAM_ERROR  (-2) */\n  '-3':   'data error',          /* Z_DATA_ERROR    (-3) */\n  '-4':   'insufficient memory', /* Z_MEM_ERROR     (-4) */\n  '-5':   'buffer error',        /* Z_BUF_ERROR     (-5) */\n  '-6':   'incompatible version' /* Z_VERSION_ERROR (-6) */\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/pako/lib/zlib/messages.js\n// module id = 743\n// module chunks = 0","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n/*<replacement>*/\n\nvar pna = require('process-nextick-args');\n/*</replacement>*/\n\nmodule.exports = Readable;\n\n/*<replacement>*/\nvar isArray = require('isarray');\n/*</replacement>*/\n\n/*<replacement>*/\nvar Duplex;\n/*</replacement>*/\n\nReadable.ReadableState = ReadableState;\n\n/*<replacement>*/\nvar EE = require('events').EventEmitter;\n\nvar EElistenerCount = function (emitter, type) {\n  return emitter.listeners(type).length;\n};\n/*</replacement>*/\n\n/*<replacement>*/\nvar Stream = require('./internal/streams/stream');\n/*</replacement>*/\n\n/*<replacement>*/\n\nvar Buffer = require('safe-buffer').Buffer;\nvar OurUint8Array = global.Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n  return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n  return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/*</replacement>*/\n\n/*<replacement>*/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/*</replacement>*/\n\n/*<replacement>*/\nvar debugUtil = require('util');\nvar debug = void 0;\nif (debugUtil && debugUtil.debuglog) {\n  debug = debugUtil.debuglog('stream');\n} else {\n  debug = function () {};\n}\n/*</replacement>*/\n\nvar BufferList = require('./internal/streams/BufferList');\nvar destroyImpl = require('./internal/streams/destroy');\nvar StringDecoder;\n\nutil.inherits(Readable, Stream);\n\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\n\nfunction prependListener(emitter, event, fn) {\n  // Sadly this is not cacheable as some libraries bundle their own\n  // event emitter implementation with them.\n  if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn);\n\n  // This is a hack to make sure that our error handler is attached before any\n  // userland ones.  NEVER DO THIS. This is here only because this code needs\n  // to continue to work with older versions of Node.js that do not include\n  // the prependListener() method. The goal is to eventually remove this hack.\n  if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\n\nfunction ReadableState(options, stream) {\n  Duplex = Duplex || require('./_stream_duplex');\n\n  options = options || {};\n\n  // Duplex streams are both readable and writable, but share\n  // the same options object.\n  // However, some cases require setting options to different\n  // values for the readable and the writable sides of the duplex stream.\n  // These options can be provided separately as readableXXX and writableXXX.\n  var isDuplex = stream instanceof Duplex;\n\n  // object stream flag. Used to make read(n) ignore n and to\n  // make all the buffer merging and length checks go away\n  this.objectMode = !!options.objectMode;\n\n  if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;\n\n  // the point at which it stops calling _read() to fill the buffer\n  // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n  var hwm = options.highWaterMark;\n  var readableHwm = options.readableHighWaterMark;\n  var defaultHwm = this.objectMode ? 16 : 16 * 1024;\n\n  if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (readableHwm || readableHwm === 0)) this.highWaterMark = readableHwm;else this.highWaterMark = defaultHwm;\n\n  // cast to ints.\n  this.highWaterMark = Math.floor(this.highWaterMark);\n\n  // A linked list is used to store data chunks instead of an array because the\n  // linked list can remove elements from the beginning faster than\n  // array.shift()\n  this.buffer = new BufferList();\n  this.length = 0;\n  this.pipes = null;\n  this.pipesCount = 0;\n  this.flowing = null;\n  this.ended = false;\n  this.endEmitted = false;\n  this.reading = false;\n\n  // a flag to be able to tell if the event 'readable'/'data' is emitted\n  // immediately, or on a later tick.  We set this to true at first, because\n  // any actions that shouldn't happen until \"later\" should generally also\n  // not happen before the first read call.\n  this.sync = true;\n\n  // whenever we return null, then we set a flag to say\n  // that we're awaiting a 'readable' event emission.\n  this.needReadable = false;\n  this.emittedReadable = false;\n  this.readableListening = false;\n  this.resumeScheduled = false;\n\n  // has it been destroyed\n  this.destroyed = false;\n\n  // Crypto is kind of old and crusty.  Historically, its default string\n  // encoding is 'binary' so we have to make this configurable.\n  // Everything else in the universe uses 'utf8', though.\n  this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n  // the number of writers that are awaiting a drain event in .pipe()s\n  this.awaitDrain = 0;\n\n  // if true, a maybeReadMore has been scheduled\n  this.readingMore = false;\n\n  this.decoder = null;\n  this.encoding = null;\n  if (options.encoding) {\n    if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n    this.decoder = new StringDecoder(options.encoding);\n    this.encoding = options.encoding;\n  }\n}\n\nfunction Readable(options) {\n  Duplex = Duplex || require('./_stream_duplex');\n\n  if (!(this instanceof Readable)) return new Readable(options);\n\n  this._readableState = new ReadableState(options, this);\n\n  // legacy\n  this.readable = true;\n\n  if (options) {\n    if (typeof options.read === 'function') this._read = options.read;\n\n    if (typeof options.destroy === 'function') this._destroy = options.destroy;\n  }\n\n  Stream.call(this);\n}\n\nObject.defineProperty(Readable.prototype, 'destroyed', {\n  get: function () {\n    if (this._readableState === undefined) {\n      return false;\n    }\n    return this._readableState.destroyed;\n  },\n  set: function (value) {\n    // we ignore the value if the stream\n    // has not been initialized yet\n    if (!this._readableState) {\n      return;\n    }\n\n    // backward compatibility, the user is explicitly\n    // managing destroyed\n    this._readableState.destroyed = value;\n  }\n});\n\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\nReadable.prototype._destroy = function (err, cb) {\n  this.push(null);\n  cb(err);\n};\n\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\nReadable.prototype.push = function (chunk, encoding) {\n  var state = this._readableState;\n  var skipChunkCheck;\n\n  if (!state.objectMode) {\n    if (typeof chunk === 'string') {\n      encoding = encoding || state.defaultEncoding;\n      if (encoding !== state.encoding) {\n        chunk = Buffer.from(chunk, encoding);\n        encoding = '';\n      }\n      skipChunkCheck = true;\n    }\n  } else {\n    skipChunkCheck = true;\n  }\n\n  return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n};\n\n// Unshift should *always* be something directly out of read()\nReadable.prototype.unshift = function (chunk) {\n  return readableAddChunk(this, chunk, null, true, false);\n};\n\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n  var state = stream._readableState;\n  if (chunk === null) {\n    state.reading = false;\n    onEofChunk(stream, state);\n  } else {\n    var er;\n    if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n    if (er) {\n      stream.emit('error', er);\n    } else if (state.objectMode || chunk && chunk.length > 0) {\n      if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n        chunk = _uint8ArrayToBuffer(chunk);\n      }\n\n      if (addToFront) {\n        if (state.endEmitted) stream.emit('error', new Error('stream.unshift() after end event'));else addChunk(stream, state, chunk, true);\n      } else if (state.ended) {\n        stream.emit('error', new Error('stream.push() after EOF'));\n      } else {\n        state.reading = false;\n        if (state.decoder && !encoding) {\n          chunk = state.decoder.write(chunk);\n          if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n        } else {\n          addChunk(stream, state, chunk, false);\n        }\n      }\n    } else if (!addToFront) {\n      state.reading = false;\n    }\n  }\n\n  return needMoreData(state);\n}\n\nfunction addChunk(stream, state, chunk, addToFront) {\n  if (state.flowing && state.length === 0 && !state.sync) {\n    stream.emit('data', chunk);\n    stream.read(0);\n  } else {\n    // update the buffer info.\n    state.length += state.objectMode ? 1 : chunk.length;\n    if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n\n    if (state.needReadable) emitReadable(stream);\n  }\n  maybeReadMore(stream, state);\n}\n\nfunction chunkInvalid(state, chunk) {\n  var er;\n  if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n    er = new TypeError('Invalid non-string/buffer chunk');\n  }\n  return er;\n}\n\n// if it's past the high water mark, we can push in some more.\n// Also, if we have no data yet, we can stand some\n// more bytes.  This is to work around cases where hwm=0,\n// such as the repl.  Also, if the push() triggered a\n// readable event, and the user called read(largeNumber) such that\n// needReadable was set, then we ought to push more, so that another\n// 'readable' event will be triggered.\nfunction needMoreData(state) {\n  return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0);\n}\n\nReadable.prototype.isPaused = function () {\n  return this._readableState.flowing === false;\n};\n\n// backwards compatibility.\nReadable.prototype.setEncoding = function (enc) {\n  if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n  this._readableState.decoder = new StringDecoder(enc);\n  this._readableState.encoding = enc;\n  return this;\n};\n\n// Don't raise the hwm > 8MB\nvar MAX_HWM = 0x800000;\nfunction computeNewHighWaterMark(n) {\n  if (n >= MAX_HWM) {\n    n = MAX_HWM;\n  } else {\n    // Get the next highest power of 2 to prevent increasing hwm excessively in\n    // tiny amounts\n    n--;\n    n |= n >>> 1;\n    n |= n >>> 2;\n    n |= n >>> 4;\n    n |= n >>> 8;\n    n |= n >>> 16;\n    n++;\n  }\n  return n;\n}\n\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction howMuchToRead(n, state) {\n  if (n <= 0 || state.length === 0 && state.ended) return 0;\n  if (state.objectMode) return 1;\n  if (n !== n) {\n    // Only flow one buffer at a time\n    if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n  }\n  // If we're asking for more than the current hwm, then raise the hwm.\n  if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n  if (n <= state.length) return n;\n  // Don't have enough\n  if (!state.ended) {\n    state.needReadable = true;\n    return 0;\n  }\n  return state.length;\n}\n\n// you can override either this method, or the async _read(n) below.\nReadable.prototype.read = function (n) {\n  debug('read', n);\n  n = parseInt(n, 10);\n  var state = this._readableState;\n  var nOrig = n;\n\n  if (n !== 0) state.emittedReadable = false;\n\n  // if we're doing read(0) to trigger a readable event, but we\n  // already have a bunch of data in the buffer, then just trigger\n  // the 'readable' event and move on.\n  if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) {\n    debug('read: emitReadable', state.length, state.ended);\n    if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n    return null;\n  }\n\n  n = howMuchToRead(n, state);\n\n  // if we've ended, and we're now clear, then finish it up.\n  if (n === 0 && state.ended) {\n    if (state.length === 0) endReadable(this);\n    return null;\n  }\n\n  // All the actual chunk generation logic needs to be\n  // *below* the call to _read.  The reason is that in certain\n  // synthetic stream cases, such as passthrough streams, _read\n  // may be a completely synchronous operation which may change\n  // the state of the read buffer, providing enough data when\n  // before there was *not* enough.\n  //\n  // So, the steps are:\n  // 1. Figure out what the state of things will be after we do\n  // a read from the buffer.\n  //\n  // 2. If that resulting state will trigger a _read, then call _read.\n  // Note that this may be asynchronous, or synchronous.  Yes, it is\n  // deeply ugly to write APIs this way, but that still doesn't mean\n  // that the Readable class should behave improperly, as streams are\n  // designed to be sync/async agnostic.\n  // Take note if the _read call is sync or async (ie, if the read call\n  // has returned yet), so that we know whether or not it's safe to emit\n  // 'readable' etc.\n  //\n  // 3. Actually pull the requested chunks out of the buffer and return.\n\n  // if we need a readable event, then we need to do some reading.\n  var doRead = state.needReadable;\n  debug('need readable', doRead);\n\n  // if we currently have less than the highWaterMark, then also read some\n  if (state.length === 0 || state.length - n < state.highWaterMark) {\n    doRead = true;\n    debug('length less than watermark', doRead);\n  }\n\n  // however, if we've ended, then there's no point, and if we're already\n  // reading, then it's unnecessary.\n  if (state.ended || state.reading) {\n    doRead = false;\n    debug('reading or ended', doRead);\n  } else if (doRead) {\n    debug('do read');\n    state.reading = true;\n    state.sync = true;\n    // if the length is currently zero, then we *need* a readable event.\n    if (state.length === 0) state.needReadable = true;\n    // call internal read method\n    this._read(state.highWaterMark);\n    state.sync = false;\n    // If _read pushed data synchronously, then `reading` will be false,\n    // and we need to re-evaluate how much data we can return to the user.\n    if (!state.reading) n = howMuchToRead(nOrig, state);\n  }\n\n  var ret;\n  if (n > 0) ret = fromList(n, state);else ret = null;\n\n  if (ret === null) {\n    state.needReadable = true;\n    n = 0;\n  } else {\n    state.length -= n;\n  }\n\n  if (state.length === 0) {\n    // If we have nothing in the buffer, then we want to know\n    // as soon as we *do* get something into the buffer.\n    if (!state.ended) state.needReadable = true;\n\n    // If we tried to read() past the EOF, then emit end on the next tick.\n    if (nOrig !== n && state.ended) endReadable(this);\n  }\n\n  if (ret !== null) this.emit('data', ret);\n\n  return ret;\n};\n\nfunction onEofChunk(stream, state) {\n  if (state.ended) return;\n  if (state.decoder) {\n    var chunk = state.decoder.end();\n    if (chunk && chunk.length) {\n      state.buffer.push(chunk);\n      state.length += state.objectMode ? 1 : chunk.length;\n    }\n  }\n  state.ended = true;\n\n  // emit 'readable' now to make sure it gets picked up.\n  emitReadable(stream);\n}\n\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow.  This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction emitReadable(stream) {\n  var state = stream._readableState;\n  state.needReadable = false;\n  if (!state.emittedReadable) {\n    debug('emitReadable', state.flowing);\n    state.emittedReadable = true;\n    if (state.sync) pna.nextTick(emitReadable_, stream);else emitReadable_(stream);\n  }\n}\n\nfunction emitReadable_(stream) {\n  debug('emit readable');\n  stream.emit('readable');\n  flow(stream);\n}\n\n// at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data.  that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction maybeReadMore(stream, state) {\n  if (!state.readingMore) {\n    state.readingMore = true;\n    pna.nextTick(maybeReadMore_, stream, state);\n  }\n}\n\nfunction maybeReadMore_(stream, state) {\n  var len = state.length;\n  while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) {\n    debug('maybeReadMore read 0');\n    stream.read(0);\n    if (len === state.length)\n      // didn't get any data, stop spinning.\n      break;else len = state.length;\n  }\n  state.readingMore = false;\n}\n\n// abstract method.  to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\nReadable.prototype._read = function (n) {\n  this.emit('error', new Error('_read() is not implemented'));\n};\n\nReadable.prototype.pipe = function (dest, pipeOpts) {\n  var src = this;\n  var state = this._readableState;\n\n  switch (state.pipesCount) {\n    case 0:\n      state.pipes = dest;\n      break;\n    case 1:\n      state.pipes = [state.pipes, dest];\n      break;\n    default:\n      state.pipes.push(dest);\n      break;\n  }\n  state.pipesCount += 1;\n  debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n\n  var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n\n  var endFn = doEnd ? onend : unpipe;\n  if (state.endEmitted) pna.nextTick(endFn);else src.once('end', endFn);\n\n  dest.on('unpipe', onunpipe);\n  function onunpipe(readable, unpipeInfo) {\n    debug('onunpipe');\n    if (readable === src) {\n      if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n        unpipeInfo.hasUnpiped = true;\n        cleanup();\n      }\n    }\n  }\n\n  function onend() {\n    debug('onend');\n    dest.end();\n  }\n\n  // when the dest drains, it reduces the awaitDrain counter\n  // on the source.  This would be more elegant with a .once()\n  // handler in flow(), but adding and removing repeatedly is\n  // too slow.\n  var ondrain = pipeOnDrain(src);\n  dest.on('drain', ondrain);\n\n  var cleanedUp = false;\n  function cleanup() {\n    debug('cleanup');\n    // cleanup event handlers once the pipe is broken\n    dest.removeListener('close', onclose);\n    dest.removeListener('finish', onfinish);\n    dest.removeListener('drain', ondrain);\n    dest.removeListener('error', onerror);\n    dest.removeListener('unpipe', onunpipe);\n    src.removeListener('end', onend);\n    src.removeListener('end', unpipe);\n    src.removeListener('data', ondata);\n\n    cleanedUp = true;\n\n    // if the reader is waiting for a drain event from this\n    // specific writer, then it would cause it to never start\n    // flowing again.\n    // So, if this is awaiting a drain, then we just call it now.\n    // If we don't know, then assume that we are waiting for one.\n    if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n  }\n\n  // If the user pushes more data while we're writing to dest then we'll end up\n  // in ondata again. However, we only want to increase awaitDrain once because\n  // dest will only emit one 'drain' event for the multiple writes.\n  // => Introduce a guard on increasing awaitDrain.\n  var increasedAwaitDrain = false;\n  src.on('data', ondata);\n  function ondata(chunk) {\n    debug('ondata');\n    increasedAwaitDrain = false;\n    var ret = dest.write(chunk);\n    if (false === ret && !increasedAwaitDrain) {\n      // If the user unpiped during `dest.write()`, it is possible\n      // to get stuck in a permanently paused state if that write\n      // also returned false.\n      // => Check whether `dest` is still a piping destination.\n      if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n        debug('false write response, pause', src._readableState.awaitDrain);\n        src._readableState.awaitDrain++;\n        increasedAwaitDrain = true;\n      }\n      src.pause();\n    }\n  }\n\n  // if the dest has an error, then stop piping into it.\n  // however, don't suppress the throwing behavior for this.\n  function onerror(er) {\n    debug('onerror', er);\n    unpipe();\n    dest.removeListener('error', onerror);\n    if (EElistenerCount(dest, 'error') === 0) dest.emit('error', er);\n  }\n\n  // Make sure our error handler is attached before userland ones.\n  prependListener(dest, 'error', onerror);\n\n  // Both close and finish should trigger unpipe, but only once.\n  function onclose() {\n    dest.removeListener('finish', onfinish);\n    unpipe();\n  }\n  dest.once('close', onclose);\n  function onfinish() {\n    debug('onfinish');\n    dest.removeListener('close', onclose);\n    unpipe();\n  }\n  dest.once('finish', onfinish);\n\n  function unpipe() {\n    debug('unpipe');\n    src.unpipe(dest);\n  }\n\n  // tell the dest that it's being piped to\n  dest.emit('pipe', src);\n\n  // start the flow if it hasn't been started already.\n  if (!state.flowing) {\n    debug('pipe resume');\n    src.resume();\n  }\n\n  return dest;\n};\n\nfunction pipeOnDrain(src) {\n  return function () {\n    var state = src._readableState;\n    debug('pipeOnDrain', state.awaitDrain);\n    if (state.awaitDrain) state.awaitDrain--;\n    if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n      state.flowing = true;\n      flow(src);\n    }\n  };\n}\n\nReadable.prototype.unpipe = function (dest) {\n  var state = this._readableState;\n  var unpipeInfo = { hasUnpiped: false };\n\n  // if we're not piping anywhere, then do nothing.\n  if (state.pipesCount === 0) return this;\n\n  // just one destination.  most common case.\n  if (state.pipesCount === 1) {\n    // passed in one, but it's not the right one.\n    if (dest && dest !== state.pipes) return this;\n\n    if (!dest) dest = state.pipes;\n\n    // got a match.\n    state.pipes = null;\n    state.pipesCount = 0;\n    state.flowing = false;\n    if (dest) dest.emit('unpipe', this, unpipeInfo);\n    return this;\n  }\n\n  // slow case. multiple pipe destinations.\n\n  if (!dest) {\n    // remove all.\n    var dests = state.pipes;\n    var len = state.pipesCount;\n    state.pipes = null;\n    state.pipesCount = 0;\n    state.flowing = false;\n\n    for (var i = 0; i < len; i++) {\n      dests[i].emit('unpipe', this, unpipeInfo);\n    }return this;\n  }\n\n  // try to find the right one.\n  var index = indexOf(state.pipes, dest);\n  if (index === -1) return this;\n\n  state.pipes.splice(index, 1);\n  state.pipesCount -= 1;\n  if (state.pipesCount === 1) state.pipes = state.pipes[0];\n\n  dest.emit('unpipe', this, unpipeInfo);\n\n  return this;\n};\n\n// set up data events if they are asked for\n// Ensure readable listeners eventually get something\nReadable.prototype.on = function (ev, fn) {\n  var res = Stream.prototype.on.call(this, ev, fn);\n\n  if (ev === 'data') {\n    // Start flowing on next tick if stream isn't explicitly paused\n    if (this._readableState.flowing !== false) this.resume();\n  } else if (ev === 'readable') {\n    var state = this._readableState;\n    if (!state.endEmitted && !state.readableListening) {\n      state.readableListening = state.needReadable = true;\n      state.emittedReadable = false;\n      if (!state.reading) {\n        pna.nextTick(nReadingNextTick, this);\n      } else if (state.length) {\n        emitReadable(this);\n      }\n    }\n  }\n\n  return res;\n};\nReadable.prototype.addListener = Readable.prototype.on;\n\nfunction nReadingNextTick(self) {\n  debug('readable nexttick read 0');\n  self.read(0);\n}\n\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\nReadable.prototype.resume = function () {\n  var state = this._readableState;\n  if (!state.flowing) {\n    debug('resume');\n    state.flowing = true;\n    resume(this, state);\n  }\n  return this;\n};\n\nfunction resume(stream, state) {\n  if (!state.resumeScheduled) {\n    state.resumeScheduled = true;\n    pna.nextTick(resume_, stream, state);\n  }\n}\n\nfunction resume_(stream, state) {\n  if (!state.reading) {\n    debug('resume read 0');\n    stream.read(0);\n  }\n\n  state.resumeScheduled = false;\n  state.awaitDrain = 0;\n  stream.emit('resume');\n  flow(stream);\n  if (state.flowing && !state.reading) stream.read(0);\n}\n\nReadable.prototype.pause = function () {\n  debug('call pause flowing=%j', this._readableState.flowing);\n  if (false !== this._readableState.flowing) {\n    debug('pause');\n    this._readableState.flowing = false;\n    this.emit('pause');\n  }\n  return this;\n};\n\nfunction flow(stream) {\n  var state = stream._readableState;\n  debug('flow', state.flowing);\n  while (state.flowing && stream.read() !== null) {}\n}\n\n// wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\nReadable.prototype.wrap = function (stream) {\n  var _this = this;\n\n  var state = this._readableState;\n  var paused = false;\n\n  stream.on('end', function () {\n    debug('wrapped end');\n    if (state.decoder && !state.ended) {\n      var chunk = state.decoder.end();\n      if (chunk && chunk.length) _this.push(chunk);\n    }\n\n    _this.push(null);\n  });\n\n  stream.on('data', function (chunk) {\n    debug('wrapped data');\n    if (state.decoder) chunk = state.decoder.write(chunk);\n\n    // don't skip over falsy values in objectMode\n    if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n\n    var ret = _this.push(chunk);\n    if (!ret) {\n      paused = true;\n      stream.pause();\n    }\n  });\n\n  // proxy all the other methods.\n  // important when wrapping filters and duplexes.\n  for (var i in stream) {\n    if (this[i] === undefined && typeof stream[i] === 'function') {\n      this[i] = function (method) {\n        return function () {\n          return stream[method].apply(stream, arguments);\n        };\n      }(i);\n    }\n  }\n\n  // proxy certain important events.\n  for (var n = 0; n < kProxyEvents.length; n++) {\n    stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n  }\n\n  // when we try to consume some more bytes, simply unpause the\n  // underlying stream.\n  this._read = function (n) {\n    debug('wrapped _read', n);\n    if (paused) {\n      paused = false;\n      stream.resume();\n    }\n  };\n\n  return this;\n};\n\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n  // making it explicit this property is not enumerable\n  // because otherwise some prototype manipulation in\n  // userland will fail\n  enumerable: false,\n  get: function () {\n    return this._readableState.highWaterMark;\n  }\n});\n\n// exposed for testing purposes only.\nReadable._fromList = fromList;\n\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromList(n, state) {\n  // nothing buffered\n  if (state.length === 0) return null;\n\n  var ret;\n  if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n    // read it all, truncate the list\n    if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.head.data;else ret = state.buffer.concat(state.length);\n    state.buffer.clear();\n  } else {\n    // read part of list\n    ret = fromListPartial(n, state.buffer, state.decoder);\n  }\n\n  return ret;\n}\n\n// Extracts only enough buffered data to satisfy the amount requested.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromListPartial(n, list, hasStrings) {\n  var ret;\n  if (n < list.head.data.length) {\n    // slice is the same for buffers and strings\n    ret = list.head.data.slice(0, n);\n    list.head.data = list.head.data.slice(n);\n  } else if (n === list.head.data.length) {\n    // first chunk is a perfect match\n    ret = list.shift();\n  } else {\n    // result spans more than one buffer\n    ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list);\n  }\n  return ret;\n}\n\n// Copies a specified amount of characters from the list of buffered data\n// chunks.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction copyFromBufferString(n, list) {\n  var p = list.head;\n  var c = 1;\n  var ret = p.data;\n  n -= ret.length;\n  while (p = p.next) {\n    var str = p.data;\n    var nb = n > str.length ? str.length : n;\n    if (nb === str.length) ret += str;else ret += str.slice(0, n);\n    n -= nb;\n    if (n === 0) {\n      if (nb === str.length) {\n        ++c;\n        if (p.next) list.head = p.next;else list.head = list.tail = null;\n      } else {\n        list.head = p;\n        p.data = str.slice(nb);\n      }\n      break;\n    }\n    ++c;\n  }\n  list.length -= c;\n  return ret;\n}\n\n// Copies a specified amount of bytes from the list of buffered data chunks.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction copyFromBuffer(n, list) {\n  var ret = Buffer.allocUnsafe(n);\n  var p = list.head;\n  var c = 1;\n  p.data.copy(ret);\n  n -= p.data.length;\n  while (p = p.next) {\n    var buf = p.data;\n    var nb = n > buf.length ? buf.length : n;\n    buf.copy(ret, ret.length - n, 0, nb);\n    n -= nb;\n    if (n === 0) {\n      if (nb === buf.length) {\n        ++c;\n        if (p.next) list.head = p.next;else list.head = list.tail = null;\n      } else {\n        list.head = p;\n        p.data = buf.slice(nb);\n      }\n      break;\n    }\n    ++c;\n  }\n  list.length -= c;\n  return ret;\n}\n\nfunction endReadable(stream) {\n  var state = stream._readableState;\n\n  // If we get here before consuming all the bytes, then that is a\n  // bug in node.  Should never happen.\n  if (state.length > 0) throw new Error('\"endReadable()\" called on non-empty stream');\n\n  if (!state.endEmitted) {\n    state.ended = true;\n    pna.nextTick(endReadableNT, state, stream);\n  }\n}\n\nfunction endReadableNT(state, stream) {\n  // Check that we didn't get one last unshift.\n  if (!state.endEmitted && state.length === 0) {\n    state.endEmitted = true;\n    stream.readable = false;\n    stream.emit('end');\n  }\n}\n\nfunction indexOf(xs, x) {\n  for (var i = 0, l = xs.length; i < l; i++) {\n    if (xs[i] === x) return i;\n  }\n  return -1;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/readable-stream/lib/_stream_readable.js\n// module id = 744\n// module chunks = 0","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a transform stream is a readable/writable stream where you do\n// something with the data.  Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored.  (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation.  For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes.  When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up.  When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer.  When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks.  If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk.  However,\n// a pathological inflate type of transform can cause excessive buffering\n// here.  For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output.  Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output.  In this case, you could write a very small\n// amount of input, and end up with a very large amount of output.  In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform.  A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\n'use strict';\n\nmodule.exports = Transform;\n\nvar Duplex = require('./_stream_duplex');\n\n/*<replacement>*/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/*</replacement>*/\n\nutil.inherits(Transform, Duplex);\n\nfunction afterTransform(er, data) {\n  var ts = this._transformState;\n  ts.transforming = false;\n\n  var cb = ts.writecb;\n\n  if (!cb) {\n    return this.emit('error', new Error('write callback called multiple times'));\n  }\n\n  ts.writechunk = null;\n  ts.writecb = null;\n\n  if (data != null) // single equals check for both `null` and `undefined`\n    this.push(data);\n\n  cb(er);\n\n  var rs = this._readableState;\n  rs.reading = false;\n  if (rs.needReadable || rs.length < rs.highWaterMark) {\n    this._read(rs.highWaterMark);\n  }\n}\n\nfunction Transform(options) {\n  if (!(this instanceof Transform)) return new Transform(options);\n\n  Duplex.call(this, options);\n\n  this._transformState = {\n    afterTransform: afterTransform.bind(this),\n    needTransform: false,\n    transforming: false,\n    writecb: null,\n    writechunk: null,\n    writeencoding: null\n  };\n\n  // start out asking for a readable event once data is transformed.\n  this._readableState.needReadable = true;\n\n  // we have implemented the _read method, and done the other things\n  // that Readable wants before the first _read call, so unset the\n  // sync guard flag.\n  this._readableState.sync = false;\n\n  if (options) {\n    if (typeof options.transform === 'function') this._transform = options.transform;\n\n    if (typeof options.flush === 'function') this._flush = options.flush;\n  }\n\n  // When the writable side finishes, then flush out anything remaining.\n  this.on('prefinish', prefinish);\n}\n\nfunction prefinish() {\n  var _this = this;\n\n  if (typeof this._flush === 'function') {\n    this._flush(function (er, data) {\n      done(_this, er, data);\n    });\n  } else {\n    done(this, null, null);\n  }\n}\n\nTransform.prototype.push = function (chunk, encoding) {\n  this._transformState.needTransform = false;\n  return Duplex.prototype.push.call(this, chunk, encoding);\n};\n\n// This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side.  You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk.  If you pass\n// an error, then that'll put the hurt on the whole operation.  If you\n// never call cb(), then you'll never get another chunk.\nTransform.prototype._transform = function (chunk, encoding, cb) {\n  throw new Error('_transform() is not implemented');\n};\n\nTransform.prototype._write = function (chunk, encoding, cb) {\n  var ts = this._transformState;\n  ts.writecb = cb;\n  ts.writechunk = chunk;\n  ts.writeencoding = encoding;\n  if (!ts.transforming) {\n    var rs = this._readableState;\n    if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n  }\n};\n\n// Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\nTransform.prototype._read = function (n) {\n  var ts = this._transformState;\n\n  if (ts.writechunk !== null && ts.writecb && !ts.transforming) {\n    ts.transforming = true;\n    this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n  } else {\n    // mark that we need a transform, so that any data that comes in\n    // will get processed, now that we've asked for it.\n    ts.needTransform = true;\n  }\n};\n\nTransform.prototype._destroy = function (err, cb) {\n  var _this2 = this;\n\n  Duplex.prototype._destroy.call(this, err, function (err2) {\n    cb(err2);\n    _this2.emit('close');\n  });\n};\n\nfunction done(stream, er, data) {\n  if (er) return stream.emit('error', er);\n\n  if (data != null) // single equals check for both `null` and `undefined`\n    stream.push(data);\n\n  // if there's nothing in the write buffer, then that means\n  // that nothing more will ever be provided\n  if (stream._writableState.length) throw new Error('Calling transform done when ws.length != 0');\n\n  if (stream._transformState.transforming) throw new Error('Calling transform done when still transforming');\n\n  return stream.push(null);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/readable-stream/lib/_stream_transform.js\n// module id = 745\n// module chunks = 0","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n\n'use strict';\n\n/*<replacement>*/\n\nvar pna = require('process-nextick-args');\n/*</replacement>*/\n\nmodule.exports = Writable;\n\n/* <replacement> */\nfunction WriteReq(chunk, encoding, cb) {\n  this.chunk = chunk;\n  this.encoding = encoding;\n  this.callback = cb;\n  this.next = null;\n}\n\n// It seems a linked list but it is not\n// there will be only 2 of these for each stream\nfunction CorkedRequest(state) {\n  var _this = this;\n\n  this.next = null;\n  this.entry = null;\n  this.finish = function () {\n    onCorkedFinish(_this, state);\n  };\n}\n/* </replacement> */\n\n/*<replacement>*/\nvar asyncWrite = !process.browser && ['v0.10', 'v0.9.'].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick;\n/*</replacement>*/\n\n/*<replacement>*/\nvar Duplex;\n/*</replacement>*/\n\nWritable.WritableState = WritableState;\n\n/*<replacement>*/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/*</replacement>*/\n\n/*<replacement>*/\nvar internalUtil = {\n  deprecate: require('util-deprecate')\n};\n/*</replacement>*/\n\n/*<replacement>*/\nvar Stream = require('./internal/streams/stream');\n/*</replacement>*/\n\n/*<replacement>*/\n\nvar Buffer = require('safe-buffer').Buffer;\nvar OurUint8Array = global.Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n  return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n  return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/*</replacement>*/\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nutil.inherits(Writable, Stream);\n\nfunction nop() {}\n\nfunction WritableState(options, stream) {\n  Duplex = Duplex || require('./_stream_duplex');\n\n  options = options || {};\n\n  // Duplex streams are both readable and writable, but share\n  // the same options object.\n  // However, some cases require setting options to different\n  // values for the readable and the writable sides of the duplex stream.\n  // These options can be provided separately as readableXXX and writableXXX.\n  var isDuplex = stream instanceof Duplex;\n\n  // object stream flag to indicate whether or not this stream\n  // contains buffers or objects.\n  this.objectMode = !!options.objectMode;\n\n  if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;\n\n  // the point at which write() starts returning false\n  // Note: 0 is a valid value, means that we always return false if\n  // the entire buffer is not flushed immediately on write()\n  var hwm = options.highWaterMark;\n  var writableHwm = options.writableHighWaterMark;\n  var defaultHwm = this.objectMode ? 16 : 16 * 1024;\n\n  if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (writableHwm || writableHwm === 0)) this.highWaterMark = writableHwm;else this.highWaterMark = defaultHwm;\n\n  // cast to ints.\n  this.highWaterMark = Math.floor(this.highWaterMark);\n\n  // if _final has been called\n  this.finalCalled = false;\n\n  // drain event flag.\n  this.needDrain = false;\n  // at the start of calling end()\n  this.ending = false;\n  // when end() has been called, and returned\n  this.ended = false;\n  // when 'finish' is emitted\n  this.finished = false;\n\n  // has it been destroyed\n  this.destroyed = false;\n\n  // should we decode strings into buffers before passing to _write?\n  // this is here so that some node-core streams can optimize string\n  // handling at a lower level.\n  var noDecode = options.decodeStrings === false;\n  this.decodeStrings = !noDecode;\n\n  // Crypto is kind of old and crusty.  Historically, its default string\n  // encoding is 'binary' so we have to make this configurable.\n  // Everything else in the universe uses 'utf8', though.\n  this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n  // not an actual buffer we keep track of, but a measurement\n  // of how much we're waiting to get pushed to some underlying\n  // socket or file.\n  this.length = 0;\n\n  // a flag to see when we're in the middle of a write.\n  this.writing = false;\n\n  // when true all writes will be buffered until .uncork() call\n  this.corked = 0;\n\n  // a flag to be able to tell if the onwrite cb is called immediately,\n  // or on a later tick.  We set this to true at first, because any\n  // actions that shouldn't happen until \"later\" should generally also\n  // not happen before the first write call.\n  this.sync = true;\n\n  // a flag to know if we're processing previously buffered items, which\n  // may call the _write() callback in the same tick, so that we don't\n  // end up in an overlapped onwrite situation.\n  this.bufferProcessing = false;\n\n  // the callback that's passed to _write(chunk,cb)\n  this.onwrite = function (er) {\n    onwrite(stream, er);\n  };\n\n  // the callback that the user supplies to write(chunk,encoding,cb)\n  this.writecb = null;\n\n  // the amount that is being written when _write is called.\n  this.writelen = 0;\n\n  this.bufferedRequest = null;\n  this.lastBufferedRequest = null;\n\n  // number of pending user-supplied write callbacks\n  // this must be 0 before 'finish' can be emitted\n  this.pendingcb = 0;\n\n  // emit prefinish if the only thing we're waiting for is _write cbs\n  // This is relevant for synchronous Transform streams\n  this.prefinished = false;\n\n  // True if the error was already emitted and should not be thrown again\n  this.errorEmitted = false;\n\n  // count buffered requests\n  this.bufferedRequestCount = 0;\n\n  // allocate the first CorkedRequest, there is always\n  // one allocated and free to use, and we maintain at most two\n  this.corkedRequestsFree = new CorkedRequest(this);\n}\n\nWritableState.prototype.getBuffer = function getBuffer() {\n  var current = this.bufferedRequest;\n  var out = [];\n  while (current) {\n    out.push(current);\n    current = current.next;\n  }\n  return out;\n};\n\n(function () {\n  try {\n    Object.defineProperty(WritableState.prototype, 'buffer', {\n      get: internalUtil.deprecate(function () {\n        return this.getBuffer();\n      }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n    });\n  } catch (_) {}\n})();\n\n// Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\nvar realHasInstance;\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n  realHasInstance = Function.prototype[Symbol.hasInstance];\n  Object.defineProperty(Writable, Symbol.hasInstance, {\n    value: function (object) {\n      if (realHasInstance.call(this, object)) return true;\n      if (this !== Writable) return false;\n\n      return object && object._writableState instanceof WritableState;\n    }\n  });\n} else {\n  realHasInstance = function (object) {\n    return object instanceof this;\n  };\n}\n\nfunction Writable(options) {\n  Duplex = Duplex || require('./_stream_duplex');\n\n  // Writable ctor is applied to Duplexes, too.\n  // `realHasInstance` is necessary because using plain `instanceof`\n  // would return false, as no `_writableState` property is attached.\n\n  // Trying to use the custom `instanceof` for Writable here will also break the\n  // Node.js LazyTransform implementation, which has a non-trivial getter for\n  // `_writableState` that would lead to infinite recursion.\n  if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) {\n    return new Writable(options);\n  }\n\n  this._writableState = new WritableState(options, this);\n\n  // legacy.\n  this.writable = true;\n\n  if (options) {\n    if (typeof options.write === 'function') this._write = options.write;\n\n    if (typeof options.writev === 'function') this._writev = options.writev;\n\n    if (typeof options.destroy === 'function') this._destroy = options.destroy;\n\n    if (typeof options.final === 'function') this._final = options.final;\n  }\n\n  Stream.call(this);\n}\n\n// Otherwise people can pipe Writable streams, which is just wrong.\nWritable.prototype.pipe = function () {\n  this.emit('error', new Error('Cannot pipe, not readable'));\n};\n\nfunction writeAfterEnd(stream, cb) {\n  var er = new Error('write after end');\n  // TODO: defer error events consistently everywhere, not just the cb\n  stream.emit('error', er);\n  pna.nextTick(cb, er);\n}\n\n// Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\nfunction validChunk(stream, state, chunk, cb) {\n  var valid = true;\n  var er = false;\n\n  if (chunk === null) {\n    er = new TypeError('May not write null values to stream');\n  } else if (typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n    er = new TypeError('Invalid non-string/buffer chunk');\n  }\n  if (er) {\n    stream.emit('error', er);\n    pna.nextTick(cb, er);\n    valid = false;\n  }\n  return valid;\n}\n\nWritable.prototype.write = function (chunk, encoding, cb) {\n  var state = this._writableState;\n  var ret = false;\n  var isBuf = !state.objectMode && _isUint8Array(chunk);\n\n  if (isBuf && !Buffer.isBuffer(chunk)) {\n    chunk = _uint8ArrayToBuffer(chunk);\n  }\n\n  if (typeof encoding === 'function') {\n    cb = encoding;\n    encoding = null;\n  }\n\n  if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n\n  if (typeof cb !== 'function') cb = nop;\n\n  if (state.ended) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n    state.pendingcb++;\n    ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n  }\n\n  return ret;\n};\n\nWritable.prototype.cork = function () {\n  var state = this._writableState;\n\n  state.corked++;\n};\n\nWritable.prototype.uncork = function () {\n  var state = this._writableState;\n\n  if (state.corked) {\n    state.corked--;\n\n    if (!state.writing && !state.corked && !state.finished && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n  }\n};\n\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n  // node::ParseEncoding() requires lower case.\n  if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n  if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new TypeError('Unknown encoding: ' + encoding);\n  this._writableState.defaultEncoding = encoding;\n  return this;\n};\n\nfunction decodeChunk(state, chunk, encoding) {\n  if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n    chunk = Buffer.from(chunk, encoding);\n  }\n  return chunk;\n}\n\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n  // making it explicit this property is not enumerable\n  // because otherwise some prototype manipulation in\n  // userland will fail\n  enumerable: false,\n  get: function () {\n    return this._writableState.highWaterMark;\n  }\n});\n\n// if we're already writing something, then just put this\n// in the queue, and wait our turn.  Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n  if (!isBuf) {\n    var newChunk = decodeChunk(state, chunk, encoding);\n    if (chunk !== newChunk) {\n      isBuf = true;\n      encoding = 'buffer';\n      chunk = newChunk;\n    }\n  }\n  var len = state.objectMode ? 1 : chunk.length;\n\n  state.length += len;\n\n  var ret = state.length < state.highWaterMark;\n  // we must ensure that previous needDrain will not be reset to false.\n  if (!ret) state.needDrain = true;\n\n  if (state.writing || state.corked) {\n    var last = state.lastBufferedRequest;\n    state.lastBufferedRequest = {\n      chunk: chunk,\n      encoding: encoding,\n      isBuf: isBuf,\n      callback: cb,\n      next: null\n    };\n    if (last) {\n      last.next = state.lastBufferedRequest;\n    } else {\n      state.bufferedRequest = state.lastBufferedRequest;\n    }\n    state.bufferedRequestCount += 1;\n  } else {\n    doWrite(stream, state, false, len, chunk, encoding, cb);\n  }\n\n  return ret;\n}\n\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n  state.writelen = len;\n  state.writecb = cb;\n  state.writing = true;\n  state.sync = true;\n  if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n  state.sync = false;\n}\n\nfunction onwriteError(stream, state, sync, er, cb) {\n  --state.pendingcb;\n\n  if (sync) {\n    // defer the callback if we are being called synchronously\n    // to avoid piling up things on the stack\n    pna.nextTick(cb, er);\n    // this can emit finish, and it will always happen\n    // after error\n    pna.nextTick(finishMaybe, stream, state);\n    stream._writableState.errorEmitted = true;\n    stream.emit('error', er);\n  } else {\n    // the caller expect this to happen before if\n    // it is async\n    cb(er);\n    stream._writableState.errorEmitted = true;\n    stream.emit('error', er);\n    // this can emit finish, but finish must\n    // always follow error\n    finishMaybe(stream, state);\n  }\n}\n\nfunction onwriteStateUpdate(state) {\n  state.writing = false;\n  state.writecb = null;\n  state.length -= state.writelen;\n  state.writelen = 0;\n}\n\nfunction onwrite(stream, er) {\n  var state = stream._writableState;\n  var sync = state.sync;\n  var cb = state.writecb;\n\n  onwriteStateUpdate(state);\n\n  if (er) onwriteError(stream, state, sync, er, cb);else {\n    // Check if we're actually ready to finish, but don't emit yet\n    var finished = needFinish(state);\n\n    if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n      clearBuffer(stream, state);\n    }\n\n    if (sync) {\n      /*<replacement>*/\n      asyncWrite(afterWrite, stream, state, finished, cb);\n      /*</replacement>*/\n    } else {\n      afterWrite(stream, state, finished, cb);\n    }\n  }\n}\n\nfunction afterWrite(stream, state, finished, cb) {\n  if (!finished) onwriteDrain(stream, state);\n  state.pendingcb--;\n  cb();\n  finishMaybe(stream, state);\n}\n\n// Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\nfunction onwriteDrain(stream, state) {\n  if (state.length === 0 && state.needDrain) {\n    state.needDrain = false;\n    stream.emit('drain');\n  }\n}\n\n// if there's something in the buffer waiting, then process it\nfunction clearBuffer(stream, state) {\n  state.bufferProcessing = true;\n  var entry = state.bufferedRequest;\n\n  if (stream._writev && entry && entry.next) {\n    // Fast case, write everything using _writev()\n    var l = state.bufferedRequestCount;\n    var buffer = new Array(l);\n    var holder = state.corkedRequestsFree;\n    holder.entry = entry;\n\n    var count = 0;\n    var allBuffers = true;\n    while (entry) {\n      buffer[count] = entry;\n      if (!entry.isBuf) allBuffers = false;\n      entry = entry.next;\n      count += 1;\n    }\n    buffer.allBuffers = allBuffers;\n\n    doWrite(stream, state, true, state.length, buffer, '', holder.finish);\n\n    // doWrite is almost always async, defer these to save a bit of time\n    // as the hot path ends with doWrite\n    state.pendingcb++;\n    state.lastBufferedRequest = null;\n    if (holder.next) {\n      state.corkedRequestsFree = holder.next;\n      holder.next = null;\n    } else {\n      state.corkedRequestsFree = new CorkedRequest(state);\n    }\n    state.bufferedRequestCount = 0;\n  } else {\n    // Slow case, write chunks one-by-one\n    while (entry) {\n      var chunk = entry.chunk;\n      var encoding = entry.encoding;\n      var cb = entry.callback;\n      var len = state.objectMode ? 1 : chunk.length;\n\n      doWrite(stream, state, false, len, chunk, encoding, cb);\n      entry = entry.next;\n      state.bufferedRequestCount--;\n      // if we didn't call the onwrite immediately, then\n      // it means that we need to wait until it does.\n      // also, that means that the chunk and cb are currently\n      // being processed, so move the buffer counter past them.\n      if (state.writing) {\n        break;\n      }\n    }\n\n    if (entry === null) state.lastBufferedRequest = null;\n  }\n\n  state.bufferedRequest = entry;\n  state.bufferProcessing = false;\n}\n\nWritable.prototype._write = function (chunk, encoding, cb) {\n  cb(new Error('_write() is not implemented'));\n};\n\nWritable.prototype._writev = null;\n\nWritable.prototype.end = function (chunk, encoding, cb) {\n  var state = this._writableState;\n\n  if (typeof chunk === 'function') {\n    cb = chunk;\n    chunk = null;\n    encoding = null;\n  } else if (typeof encoding === 'function') {\n    cb = encoding;\n    encoding = null;\n  }\n\n  if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);\n\n  // .end() fully uncorks\n  if (state.corked) {\n    state.corked = 1;\n    this.uncork();\n  }\n\n  // ignore unnecessary end() calls.\n  if (!state.ending && !state.finished) endWritable(this, state, cb);\n};\n\nfunction needFinish(state) {\n  return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\nfunction callFinal(stream, state) {\n  stream._final(function (err) {\n    state.pendingcb--;\n    if (err) {\n      stream.emit('error', err);\n    }\n    state.prefinished = true;\n    stream.emit('prefinish');\n    finishMaybe(stream, state);\n  });\n}\nfunction prefinish(stream, state) {\n  if (!state.prefinished && !state.finalCalled) {\n    if (typeof stream._final === 'function') {\n      state.pendingcb++;\n      state.finalCalled = true;\n      pna.nextTick(callFinal, stream, state);\n    } else {\n      state.prefinished = true;\n      stream.emit('prefinish');\n    }\n  }\n}\n\nfunction finishMaybe(stream, state) {\n  var need = needFinish(state);\n  if (need) {\n    prefinish(stream, state);\n    if (state.pendingcb === 0) {\n      state.finished = true;\n      stream.emit('finish');\n    }\n  }\n  return need;\n}\n\nfunction endWritable(stream, state, cb) {\n  state.ending = true;\n  finishMaybe(stream, state);\n  if (cb) {\n    if (state.finished) pna.nextTick(cb);else stream.once('finish', cb);\n  }\n  state.ended = true;\n  stream.writable = false;\n}\n\nfunction onCorkedFinish(corkReq, state, err) {\n  var entry = corkReq.entry;\n  corkReq.entry = null;\n  while (entry) {\n    var cb = entry.callback;\n    state.pendingcb--;\n    cb(err);\n    entry = entry.next;\n  }\n  if (state.corkedRequestsFree) {\n    state.corkedRequestsFree.next = corkReq;\n  } else {\n    state.corkedRequestsFree = corkReq;\n  }\n}\n\nObject.defineProperty(Writable.prototype, 'destroyed', {\n  get: function () {\n    if (this._writableState === undefined) {\n      return false;\n    }\n    return this._writableState.destroyed;\n  },\n  set: function (value) {\n    // we ignore the value if the stream\n    // has not been initialized yet\n    if (!this._writableState) {\n      return;\n    }\n\n    // backward compatibility, the user is explicitly\n    // managing destroyed\n    this._writableState.destroyed = value;\n  }\n});\n\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\nWritable.prototype._destroy = function (err, cb) {\n  this.end();\n  cb(err);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/readable-stream/lib/_stream_writable.js\n// module id = 746\n// module chunks = 0","'use strict';\n\n/*<replacement>*/\n\nvar pna = require('process-nextick-args');\n/*</replacement>*/\n\n// undocumented cb() API, needed for core, not for public API\nfunction destroy(err, cb) {\n  var _this = this;\n\n  var readableDestroyed = this._readableState && this._readableState.destroyed;\n  var writableDestroyed = this._writableState && this._writableState.destroyed;\n\n  if (readableDestroyed || writableDestroyed) {\n    if (cb) {\n      cb(err);\n    } else if (err && (!this._writableState || !this._writableState.errorEmitted)) {\n      pna.nextTick(emitErrorNT, this, err);\n    }\n    return this;\n  }\n\n  // we set destroyed to true before firing error callbacks in order\n  // to make it re-entrance safe in case destroy() is called within callbacks\n\n  if (this._readableState) {\n    this._readableState.destroyed = true;\n  }\n\n  // if this is a duplex stream mark the writable part as destroyed as well\n  if (this._writableState) {\n    this._writableState.destroyed = true;\n  }\n\n  this._destroy(err || null, function (err) {\n    if (!cb && err) {\n      pna.nextTick(emitErrorNT, _this, err);\n      if (_this._writableState) {\n        _this._writableState.errorEmitted = true;\n      }\n    } else if (cb) {\n      cb(err);\n    }\n  });\n\n  return this;\n}\n\nfunction undestroy() {\n  if (this._readableState) {\n    this._readableState.destroyed = false;\n    this._readableState.reading = false;\n    this._readableState.ended = false;\n    this._readableState.endEmitted = false;\n  }\n\n  if (this._writableState) {\n    this._writableState.destroyed = false;\n    this._writableState.ended = false;\n    this._writableState.ending = false;\n    this._writableState.finished = false;\n    this._writableState.errorEmitted = false;\n  }\n}\n\nfunction emitErrorNT(self, err) {\n  self.emit('error', err);\n}\n\nmodule.exports = {\n  destroy: destroy,\n  undestroy: undestroy\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/readable-stream/lib/internal/streams/destroy.js\n// module id = 747\n// module chunks = 0","module.exports = require('events').EventEmitter;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/readable-stream/lib/internal/streams/stream-browser.js\n// module id = 748\n// module chunks = 0","\"use strict\";\n/* tslint:disable:no-unused-variable */\n// Subject imported before Observable to bypass circular dependency issue since\n// Subject extends Observable and Observable references Subject in it's\n// definition\nvar Subject_1 = require('./Subject');\nexports.Subject = Subject_1.Subject;\n/* tslint:enable:no-unused-variable */\nvar Observable_1 = require('./Observable');\nexports.Observable = Observable_1.Observable;\n// statics\n/* tslint:disable:no-use-before-declare */\nrequire('./add/observable/bindCallback');\nrequire('./add/observable/bindNodeCallback');\nrequire('./add/observable/combineLatest');\nrequire('./add/observable/concat');\nrequire('./add/observable/defer');\nrequire('./add/observable/empty');\nrequire('./add/observable/forkJoin');\nrequire('./add/observable/from');\nrequire('./add/observable/fromEvent');\nrequire('./add/observable/fromEventPattern');\nrequire('./add/observable/fromPromise');\nrequire('./add/observable/generate');\nrequire('./add/observable/if');\nrequire('./add/observable/interval');\nrequire('./add/observable/merge');\nrequire('./add/observable/race');\nrequire('./add/observable/never');\nrequire('./add/observable/of');\nrequire('./add/observable/onErrorResumeNext');\nrequire('./add/observable/pairs');\nrequire('./add/observable/range');\nrequire('./add/observable/using');\nrequire('./add/observable/throw');\nrequire('./add/observable/timer');\nrequire('./add/observable/zip');\n//dom\nrequire('./add/observable/dom/ajax');\nrequire('./add/observable/dom/webSocket');\n//operators\nrequire('./add/operator/buffer');\nrequire('./add/operator/bufferCount');\nrequire('./add/operator/bufferTime');\nrequire('./add/operator/bufferToggle');\nrequire('./add/operator/bufferWhen');\nrequire('./add/operator/cache');\nrequire('./add/operator/catch');\nrequire('./add/operator/combineAll');\nrequire('./add/operator/combineLatest');\nrequire('./add/operator/concat');\nrequire('./add/operator/concatAll');\nrequire('./add/operator/concatMap');\nrequire('./add/operator/concatMapTo');\nrequire('./add/operator/count');\nrequire('./add/operator/dematerialize');\nrequire('./add/operator/debounce');\nrequire('./add/operator/debounceTime');\nrequire('./add/operator/defaultIfEmpty');\nrequire('./add/operator/delay');\nrequire('./add/operator/delayWhen');\nrequire('./add/operator/distinct');\nrequire('./add/operator/distinctKey');\nrequire('./add/operator/distinctUntilChanged');\nrequire('./add/operator/distinctUntilKeyChanged');\nrequire('./add/operator/do');\nrequire('./add/operator/exhaust');\nrequire('./add/operator/exhaustMap');\nrequire('./add/operator/expand');\nrequire('./add/operator/elementAt');\nrequire('./add/operator/filter');\nrequire('./add/operator/finally');\nrequire('./add/operator/find');\nrequire('./add/operator/findIndex');\nrequire('./add/operator/first');\nrequire('./add/operator/groupBy');\nrequire('./add/operator/ignoreElements');\nrequire('./add/operator/isEmpty');\nrequire('./add/operator/audit');\nrequire('./add/operator/auditTime');\nrequire('./add/operator/last');\nrequire('./add/operator/let');\nrequire('./add/operator/every');\nrequire('./add/operator/map');\nrequire('./add/operator/mapTo');\nrequire('./add/operator/materialize');\nrequire('./add/operator/max');\nrequire('./add/operator/merge');\nrequire('./add/operator/mergeAll');\nrequire('./add/operator/mergeMap');\nrequire('./add/operator/mergeMapTo');\nrequire('./add/operator/mergeScan');\nrequire('./add/operator/min');\nrequire('./add/operator/multicast');\nrequire('./add/operator/observeOn');\nrequire('./add/operator/onErrorResumeNext');\nrequire('./add/operator/pairwise');\nrequire('./add/operator/partition');\nrequire('./add/operator/pluck');\nrequire('./add/operator/publish');\nrequire('./add/operator/publishBehavior');\nrequire('./add/operator/publishReplay');\nrequire('./add/operator/publishLast');\nrequire('./add/operator/race');\nrequire('./add/operator/reduce');\nrequire('./add/operator/repeat');\nrequire('./add/operator/repeatWhen');\nrequire('./add/operator/retry');\nrequire('./add/operator/retryWhen');\nrequire('./add/operator/sample');\nrequire('./add/operator/sampleTime');\nrequire('./add/operator/scan');\nrequire('./add/operator/sequenceEqual');\nrequire('./add/operator/share');\nrequire('./add/operator/single');\nrequire('./add/operator/skip');\nrequire('./add/operator/skipUntil');\nrequire('./add/operator/skipWhile');\nrequire('./add/operator/startWith');\nrequire('./add/operator/subscribeOn');\nrequire('./add/operator/switch');\nrequire('./add/operator/switchMap');\nrequire('./add/operator/switchMapTo');\nrequire('./add/operator/take');\nrequire('./add/operator/takeLast');\nrequire('./add/operator/takeUntil');\nrequire('./add/operator/takeWhile');\nrequire('./add/operator/throttle');\nrequire('./add/operator/throttleTime');\nrequire('./add/operator/timeInterval');\nrequire('./add/operator/timeout');\nrequire('./add/operator/timeoutWith');\nrequire('./add/operator/timestamp');\nrequire('./add/operator/toArray');\nrequire('./add/operator/toPromise');\nrequire('./add/operator/window');\nrequire('./add/operator/windowCount');\nrequire('./add/operator/windowTime');\nrequire('./add/operator/windowToggle');\nrequire('./add/operator/windowWhen');\nrequire('./add/operator/withLatestFrom');\nrequire('./add/operator/zip');\nrequire('./add/operator/zipAll');\n/* tslint:disable:no-unused-variable */\nvar Subscription_1 = require('./Subscription');\nexports.Subscription = Subscription_1.Subscription;\nvar Subscriber_1 = require('./Subscriber');\nexports.Subscriber = Subscriber_1.Subscriber;\nvar AsyncSubject_1 = require('./AsyncSubject');\nexports.AsyncSubject = AsyncSubject_1.AsyncSubject;\nvar ReplaySubject_1 = require('./ReplaySubject');\nexports.ReplaySubject = ReplaySubject_1.ReplaySubject;\nvar BehaviorSubject_1 = require('./BehaviorSubject');\nexports.BehaviorSubject = BehaviorSubject_1.BehaviorSubject;\nvar MulticastObservable_1 = require('./observable/MulticastObservable');\nexports.MulticastObservable = MulticastObservable_1.MulticastObservable;\nvar ConnectableObservable_1 = require('./observable/ConnectableObservable');\nexports.ConnectableObservable = ConnectableObservable_1.ConnectableObservable;\nvar Notification_1 = require('./Notification');\nexports.Notification = Notification_1.Notification;\nvar EmptyError_1 = require('./util/EmptyError');\nexports.EmptyError = EmptyError_1.EmptyError;\nvar ArgumentOutOfRangeError_1 = require('./util/ArgumentOutOfRangeError');\nexports.ArgumentOutOfRangeError = ArgumentOutOfRangeError_1.ArgumentOutOfRangeError;\nvar ObjectUnsubscribedError_1 = require('./util/ObjectUnsubscribedError');\nexports.ObjectUnsubscribedError = ObjectUnsubscribedError_1.ObjectUnsubscribedError;\nvar UnsubscriptionError_1 = require('./util/UnsubscriptionError');\nexports.UnsubscriptionError = UnsubscriptionError_1.UnsubscriptionError;\nvar timeInterval_1 = require('./operator/timeInterval');\nexports.TimeInterval = timeInterval_1.TimeInterval;\nvar timestamp_1 = require('./operator/timestamp');\nexports.Timestamp = timestamp_1.Timestamp;\nvar TestScheduler_1 = require('./testing/TestScheduler');\nexports.TestScheduler = TestScheduler_1.TestScheduler;\nvar VirtualTimeScheduler_1 = require('./scheduler/VirtualTimeScheduler');\nexports.VirtualTimeScheduler = VirtualTimeScheduler_1.VirtualTimeScheduler;\nvar AjaxObservable_1 = require('./observable/dom/AjaxObservable');\nexports.AjaxResponse = AjaxObservable_1.AjaxResponse;\nexports.AjaxError = AjaxObservable_1.AjaxError;\nexports.AjaxTimeoutError = AjaxObservable_1.AjaxTimeoutError;\nvar asap_1 = require('./scheduler/asap');\nvar async_1 = require('./scheduler/async');\nvar queue_1 = require('./scheduler/queue');\nvar animationFrame_1 = require('./scheduler/animationFrame');\nvar rxSubscriber_1 = require('./symbol/rxSubscriber');\nvar iterator_1 = require('./symbol/iterator');\nvar observable_1 = require('./symbol/observable');\n/* tslint:enable:no-unused-variable */\n/**\n * @typedef {Object} Rx.Scheduler\n * @property {Scheduler} queue Schedules on a queue in the current event frame\n * (trampoline scheduler). Use this for iteration operations.\n * @property {Scheduler} asap Schedules on the micro task queue, which uses the\n * fastest transport mechanism available, either Node.js' `process.nextTick()`\n * or Web Worker MessageChannel or setTimeout or others. Use this for\n * asynchronous conversions.\n * @property {Scheduler} async Schedules work with `setInterval`. Use this for\n * time-based operations.\n * @property {Scheduler} animationFrame Schedules work with `requestAnimationFrame`.\n * Use this for synchronizing with the platform's painting\n */\nvar Scheduler = {\n    asap: asap_1.asap,\n    queue: queue_1.queue,\n    animationFrame: animationFrame_1.animationFrame,\n    async: async_1.async\n};\nexports.Scheduler = Scheduler;\n/**\n * @typedef {Object} Rx.Symbol\n * @property {Symbol|string} rxSubscriber A symbol to use as a property name to\n * retrieve an \"Rx safe\" Observer from an object. \"Rx safety\" can be defined as\n * an object that has all of the traits of an Rx Subscriber, including the\n * ability to add and remove subscriptions to the subscription chain and\n * guarantees involving event triggering (can't \"next\" after unsubscription,\n * etc).\n * @property {Symbol|string} observable A symbol to use as a property name to\n * retrieve an Observable as defined by the [ECMAScript \"Observable\" spec](https://github.com/zenparsing/es-observable).\n * @property {Symbol|string} iterator The ES6 symbol to use as a property name\n * to retrieve an iterator from an object.\n */\nvar Symbol = {\n    rxSubscriber: rxSubscriber_1.$$rxSubscriber,\n    observable: observable_1.$$observable,\n    iterator: iterator_1.$$iterator\n};\nexports.Symbol = Symbol;\n//# sourceMappingURL=Rx.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/Rx.js\n// module id = 749\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar fromEvent_1 = require('../../observable/fromEvent');\nObservable_1.Observable.fromEvent = fromEvent_1.fromEvent;\n//# sourceMappingURL=fromEvent.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/observable/fromEvent.js\n// module id = 750\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar of_1 = require('../../observable/of');\nObservable_1.Observable.of = of_1.of;\n//# sourceMappingURL=of.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/observable/of.js\n// module id = 751\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar merge_1 = require('../../operator/merge');\nObservable_1.Observable.prototype.merge = merge_1.merge;\n//# sourceMappingURL=merge.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/merge.js\n// module id = 752\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar share_1 = require('../../operator/share');\nObservable_1.Observable.prototype.share = share_1.share;\n//# sourceMappingURL=share.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/share.js\n// module id = 753\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar take_1 = require('../../operator/take');\nObservable_1.Observable.prototype.take = take_1.take;\n//# sourceMappingURL=take.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/take.js\n// module id = 754\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar toArray_1 = require('../../operator/toArray');\nObservable_1.Observable.prototype.toArray = toArray_1.toArray;\n//# sourceMappingURL=toArray.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/toArray.js\n// module id = 755\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar isArray_1 = require('../util/isArray');\nvar isPromise_1 = require('../util/isPromise');\nvar PromiseObservable_1 = require('./PromiseObservable');\nvar IteratorObservable_1 = require('./IteratorObservable');\nvar ArrayObservable_1 = require('./ArrayObservable');\nvar ArrayLikeObservable_1 = require('./ArrayLikeObservable');\nvar iterator_1 = require('../symbol/iterator');\nvar Observable_1 = require('../Observable');\nvar observeOn_1 = require('../operator/observeOn');\nvar observable_1 = require('../symbol/observable');\nvar isArrayLike = (function (x) { return x && typeof x.length === 'number'; });\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar FromObservable = (function (_super) {\n    __extends(FromObservable, _super);\n    function FromObservable(ish, scheduler) {\n        _super.call(this, null);\n        this.ish = ish;\n        this.scheduler = scheduler;\n    }\n    /**\n     * Creates an Observable from an Array, an array-like object, a Promise, an\n     * iterable object, or an Observable-like object.\n     *\n     * <span class=\"informal\">Converts almost anything to an Observable.</span>\n     *\n     * <img src=\"./img/from.png\" width=\"100%\">\n     *\n     * Convert various other objects and data types into Observables. `from`\n     * converts a Promise or an array-like or an\n     * [iterable](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols#iterable)\n     * object into an Observable that emits the items in that promise or array or\n     * iterable. A String, in this context, is treated as an array of characters.\n     * Observable-like objects (contains a function named with the ES2015 Symbol\n     * for Observable) can also be converted through this operator.\n     *\n     * @example <caption>Converts an array to an Observable</caption>\n     * var array = [10, 20, 30];\n     * var result = Rx.Observable.from(array);\n     * result.subscribe(x => console.log(x));\n     *\n     * @example <caption>Convert an infinite iterable (from a generator) to an Observable</caption>\n     * function* generateDoubles(seed) {\n     *   var i = seed;\n     *   while (true) {\n     *     yield i;\n     *     i = 2 * i; // double it\n     *   }\n     * }\n     *\n     * var iterator = generateDoubles(3);\n     * var result = Rx.Observable.from(iterator).take(10);\n     * result.subscribe(x => console.log(x));\n     *\n     * @see {@link create}\n     * @see {@link fromEvent}\n     * @see {@link fromEventPattern}\n     * @see {@link fromPromise}\n     *\n     * @param {ObservableInput<T>} ish A subscribable object, a Promise, an\n     * Observable-like, an Array, an iterable or an array-like object to be\n     * converted.\n     * @param {Scheduler} [scheduler] The scheduler on which to schedule the\n     * emissions of values.\n     * @return {Observable<T>} The Observable whose values are originally from the\n     * input object that was converted.\n     * @static true\n     * @name from\n     * @owner Observable\n     */\n    FromObservable.create = function (ish, scheduler) {\n        if (ish != null) {\n            if (typeof ish[observable_1.$$observable] === 'function') {\n                if (ish instanceof Observable_1.Observable && !scheduler) {\n                    return ish;\n                }\n                return new FromObservable(ish, scheduler);\n            }\n            else if (isArray_1.isArray(ish)) {\n                return new ArrayObservable_1.ArrayObservable(ish, scheduler);\n            }\n            else if (isPromise_1.isPromise(ish)) {\n                return new PromiseObservable_1.PromiseObservable(ish, scheduler);\n            }\n            else if (typeof ish[iterator_1.$$iterator] === 'function' || typeof ish === 'string') {\n                return new IteratorObservable_1.IteratorObservable(ish, scheduler);\n            }\n            else if (isArrayLike(ish)) {\n                return new ArrayLikeObservable_1.ArrayLikeObservable(ish, scheduler);\n            }\n        }\n        throw new TypeError((ish !== null && typeof ish || ish) + ' is not observable');\n    };\n    FromObservable.prototype._subscribe = function (subscriber) {\n        var ish = this.ish;\n        var scheduler = this.scheduler;\n        if (scheduler == null) {\n            return ish[observable_1.$$observable]().subscribe(subscriber);\n        }\n        else {\n            return ish[observable_1.$$observable]().subscribe(new observeOn_1.ObserveOnSubscriber(subscriber, scheduler, 0));\n        }\n    };\n    return FromObservable;\n}(Observable_1.Observable));\nexports.FromObservable = FromObservable;\n//# sourceMappingURL=FromObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/FromObservable.js\n// module id = 756\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = require('../Observable');\nvar ConnectableObservable_1 = require('../observable/ConnectableObservable');\nvar MulticastObservable = (function (_super) {\n    __extends(MulticastObservable, _super);\n    function MulticastObservable(source, subjectFactory, selector) {\n        _super.call(this);\n        this.source = source;\n        this.subjectFactory = subjectFactory;\n        this.selector = selector;\n    }\n    MulticastObservable.prototype._subscribe = function (subscriber) {\n        var _a = this, selector = _a.selector, source = _a.source;\n        var connectable = new ConnectableObservable_1.ConnectableObservable(source, this.subjectFactory);\n        var subscription = selector(connectable).subscribe(subscriber);\n        subscription.add(connectable.connect());\n        return subscription;\n    };\n    return MulticastObservable;\n}(Observable_1.Observable));\nexports.MulticastObservable = MulticastObservable;\n//# sourceMappingURL=MulticastObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/MulticastObservable.js\n// module id = 757\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\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            }\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                })\n                    .then(null, function (err) {\n                    // escape the promise trap, throw unhandled errors\n                    root_1.root.setTimeout(function () { 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            }\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                })\n                    .then(null, function (err) {\n                    // escape the promise trap, throw unhandled errors\n                    root_1.root.setTimeout(function () { throw err; });\n                });\n            }\n        }\n    };\n    return PromiseObservable;\n}(Observable_1.Observable));\nexports.PromiseObservable = PromiseObservable;\nfunction dispatchNext(arg) {\n    var value = arg.value, subscriber = arg.subscriber;\n    if (!subscriber.closed) {\n        subscriber.next(value);\n        subscriber.complete();\n    }\n}\nfunction dispatchError(arg) {\n    var err = arg.err, subscriber = arg.subscriber;\n    if (!subscriber.closed) {\n        subscriber.error(err);\n    }\n}\n//# sourceMappingURL=PromiseObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/PromiseObservable.js\n// module id = 758\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar root_1 = require('../../util/root');\nvar tryCatch_1 = require('../../util/tryCatch');\nvar errorObject_1 = require('../../util/errorObject');\nvar Observable_1 = require('../../Observable');\nvar Subscriber_1 = require('../../Subscriber');\nvar map_1 = require('../../operator/map');\nfunction getCORSRequest() {\n    if (root_1.root.XMLHttpRequest) {\n        var xhr = new root_1.root.XMLHttpRequest();\n        if ('withCredentials' in xhr) {\n            xhr.withCredentials = !!this.withCredentials;\n        }\n        return xhr;\n    }\n    else if (!!root_1.root.XDomainRequest) {\n        return new root_1.root.XDomainRequest();\n    }\n    else {\n        throw new Error('CORS is not supported by your browser');\n    }\n}\nfunction getXMLHttpRequest() {\n    if (root_1.root.XMLHttpRequest) {\n        return new root_1.root.XMLHttpRequest();\n    }\n    else {\n        var progId = void 0;\n        try {\n            var progIds = ['Msxml2.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.4.0'];\n            for (var i = 0; i < 3; i++) {\n                try {\n                    progId = progIds[i];\n                    if (new root_1.root.ActiveXObject(progId)) {\n                        break;\n                    }\n                }\n                catch (e) {\n                }\n            }\n            return new root_1.root.ActiveXObject(progId);\n        }\n        catch (e) {\n            throw new Error('XMLHttpRequest is not supported by your browser');\n        }\n    }\n}\nfunction ajaxGet(url, headers) {\n    if (headers === void 0) { headers = null; }\n    return new AjaxObservable({ method: 'GET', url: url, headers: headers });\n}\nexports.ajaxGet = ajaxGet;\n;\nfunction ajaxPost(url, body, headers) {\n    return new AjaxObservable({ method: 'POST', url: url, body: body, headers: headers });\n}\nexports.ajaxPost = ajaxPost;\n;\nfunction ajaxDelete(url, headers) {\n    return new AjaxObservable({ method: 'DELETE', url: url, headers: headers });\n}\nexports.ajaxDelete = ajaxDelete;\n;\nfunction ajaxPut(url, body, headers) {\n    return new AjaxObservable({ method: 'PUT', url: url, body: body, headers: headers });\n}\nexports.ajaxPut = ajaxPut;\n;\nfunction ajaxGetJSON(url, headers) {\n    return new AjaxObservable({ method: 'GET', url: url, responseType: 'json', headers: headers })\n        .lift(new map_1.MapOperator(function (x, index) { return x.response; }, null));\n}\nexports.ajaxGetJSON = ajaxGetJSON;\n;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar AjaxObservable = (function (_super) {\n    __extends(AjaxObservable, _super);\n    function AjaxObservable(urlOrRequest) {\n        _super.call(this);\n        var request = {\n            async: true,\n            createXHR: function () {\n                return this.crossDomain ? getCORSRequest.call(this) : getXMLHttpRequest();\n            },\n            crossDomain: false,\n            withCredentials: false,\n            headers: {},\n            method: 'GET',\n            responseType: 'json',\n            timeout: 0\n        };\n        if (typeof urlOrRequest === 'string') {\n            request.url = urlOrRequest;\n        }\n        else {\n            for (var prop in urlOrRequest) {\n                if (urlOrRequest.hasOwnProperty(prop)) {\n                    request[prop] = urlOrRequest[prop];\n                }\n            }\n        }\n        this.request = request;\n    }\n    AjaxObservable.prototype._subscribe = function (subscriber) {\n        return new AjaxSubscriber(subscriber, this.request);\n    };\n    /**\n     * Creates an observable for an Ajax request with either a request object with\n     * url, headers, etc or a string for a URL.\n     *\n     * @example\n     * source = Rx.Observable.ajax('/products');\n     * source = Rx.Observable.ajax({ url: 'products', method: 'GET' });\n     *\n     * @param {string|Object} request Can be one of the following:\n     *   A string of the URL to make the Ajax call.\n     *   An object with the following properties\n     *   - url: URL of the request\n     *   - body: The body of the request\n     *   - method: Method of the request, such as GET, POST, PUT, PATCH, DELETE\n     *   - async: Whether the request is async\n     *   - headers: Optional headers\n     *   - crossDomain: true if a cross domain request, else false\n     *   - createXHR: a function to override if you need to use an alternate\n     *   XMLHttpRequest implementation.\n     *   - resultSelector: a function to use to alter the output value type of\n     *   the Observable. Gets {@link AjaxResponse} as an argument.\n     * @return {Observable} An observable sequence containing the XMLHttpRequest.\n     * @static true\n     * @name ajax\n     * @owner Observable\n    */\n    AjaxObservable.create = (function () {\n        var create = function (urlOrRequest) {\n            return new AjaxObservable(urlOrRequest);\n        };\n        create.get = ajaxGet;\n        create.post = ajaxPost;\n        create.delete = ajaxDelete;\n        create.put = ajaxPut;\n        create.getJSON = ajaxGetJSON;\n        return create;\n    })();\n    return AjaxObservable;\n}(Observable_1.Observable));\nexports.AjaxObservable = AjaxObservable;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar AjaxSubscriber = (function (_super) {\n    __extends(AjaxSubscriber, _super);\n    function AjaxSubscriber(destination, request) {\n        _super.call(this, destination);\n        this.request = request;\n        this.done = false;\n        var headers = request.headers = request.headers || {};\n        // force CORS if requested\n        if (!request.crossDomain && !headers['X-Requested-With']) {\n            headers['X-Requested-With'] = 'XMLHttpRequest';\n        }\n        // ensure content type is set\n        if (!('Content-Type' in headers) && !(root_1.root.FormData && request.body instanceof root_1.root.FormData) && typeof request.body !== 'undefined') {\n            headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8';\n        }\n        // properly serialize body\n        request.body = this.serializeBody(request.body, request.headers['Content-Type']);\n        this.send();\n    }\n    AjaxSubscriber.prototype.next = function (e) {\n        this.done = true;\n        var _a = this, xhr = _a.xhr, request = _a.request, destination = _a.destination;\n        var response = new AjaxResponse(e, xhr, request);\n        destination.next(response);\n    };\n    AjaxSubscriber.prototype.send = function () {\n        var _a = this, request = _a.request, _b = _a.request, user = _b.user, method = _b.method, url = _b.url, async = _b.async, password = _b.password, headers = _b.headers, body = _b.body;\n        var createXHR = request.createXHR;\n        var xhr = tryCatch_1.tryCatch(createXHR).call(request);\n        if (xhr === errorObject_1.errorObject) {\n            this.error(errorObject_1.errorObject.e);\n        }\n        else {\n            this.xhr = xhr;\n            // open XHR first\n            var result = void 0;\n            if (user) {\n                result = tryCatch_1.tryCatch(xhr.open).call(xhr, method, url, async, user, password);\n            }\n            else {\n                result = tryCatch_1.tryCatch(xhr.open).call(xhr, method, url, async);\n            }\n            if (result === errorObject_1.errorObject) {\n                this.error(errorObject_1.errorObject.e);\n                return null;\n            }\n            // timeout and responseType can be set once the XHR is open\n            xhr.timeout = request.timeout;\n            xhr.responseType = request.responseType;\n            // set headers\n            this.setHeaders(xhr, headers);\n            // now set up the events\n            this.setupEvents(xhr, request);\n            // finally send the request\n            if (body) {\n                xhr.send(body);\n            }\n            else {\n                xhr.send();\n            }\n        }\n        return xhr;\n    };\n    AjaxSubscriber.prototype.serializeBody = function (body, contentType) {\n        if (!body || typeof body === 'string') {\n            return body;\n        }\n        else if (root_1.root.FormData && body instanceof root_1.root.FormData) {\n            return body;\n        }\n        if (contentType) {\n            var splitIndex = contentType.indexOf(';');\n            if (splitIndex !== -1) {\n                contentType = contentType.substring(0, splitIndex);\n            }\n        }\n        switch (contentType) {\n            case 'application/x-www-form-urlencoded':\n                return Object.keys(body).map(function (key) { return (encodeURI(key) + \"=\" + encodeURI(body[key])); }).join('&');\n            case 'application/json':\n                return JSON.stringify(body);\n            default:\n                return body;\n        }\n    };\n    AjaxSubscriber.prototype.setHeaders = function (xhr, headers) {\n        for (var key in headers) {\n            if (headers.hasOwnProperty(key)) {\n                xhr.setRequestHeader(key, headers[key]);\n            }\n        }\n    };\n    AjaxSubscriber.prototype.setupEvents = function (xhr, request) {\n        var progressSubscriber = request.progressSubscriber;\n        xhr.ontimeout = function xhrTimeout(e) {\n            var _a = xhrTimeout, subscriber = _a.subscriber, progressSubscriber = _a.progressSubscriber, request = _a.request;\n            if (progressSubscriber) {\n                progressSubscriber.error(e);\n            }\n            subscriber.error(new AjaxTimeoutError(this, request)); //TODO: Make betterer.\n        };\n        xhr.ontimeout.request = request;\n        xhr.ontimeout.subscriber = this;\n        xhr.ontimeout.progressSubscriber = progressSubscriber;\n        if (xhr.upload && 'withCredentials' in xhr && root_1.root.XDomainRequest) {\n            if (progressSubscriber) {\n                xhr.onprogress = function xhrProgress(e) {\n                    var progressSubscriber = xhrProgress.progressSubscriber;\n                    progressSubscriber.next(e);\n                };\n                xhr.onprogress.progressSubscriber = progressSubscriber;\n            }\n            xhr.onerror = function xhrError(e) {\n                var _a = xhrError, progressSubscriber = _a.progressSubscriber, subscriber = _a.subscriber, request = _a.request;\n                if (progressSubscriber) {\n                    progressSubscriber.error(e);\n                }\n                subscriber.error(new AjaxError('ajax error', this, request));\n            };\n            xhr.onerror.request = request;\n            xhr.onerror.subscriber = this;\n            xhr.onerror.progressSubscriber = progressSubscriber;\n        }\n        xhr.onreadystatechange = function xhrReadyStateChange(e) {\n            var _a = xhrReadyStateChange, subscriber = _a.subscriber, progressSubscriber = _a.progressSubscriber, request = _a.request;\n            if (this.readyState === 4) {\n                // normalize IE9 bug (http://bugs.jquery.com/ticket/1450)\n                var status_1 = this.status === 1223 ? 204 : this.status;\n                var response = (this.responseType === 'text' ? (this.response || this.responseText) : this.response);\n                // fix status code when it is 0 (0 status is undocumented).\n                // Occurs when accessing file resources or on Android 4.1 stock browser\n                // while retrieving files from application cache.\n                if (status_1 === 0) {\n                    status_1 = response ? 200 : 0;\n                }\n                if (200 <= status_1 && status_1 < 300) {\n                    if (progressSubscriber) {\n                        progressSubscriber.complete();\n                    }\n                    subscriber.next(e);\n                    subscriber.complete();\n                }\n                else {\n                    if (progressSubscriber) {\n                        progressSubscriber.error(e);\n                    }\n                    subscriber.error(new AjaxError('ajax error ' + status_1, this, request));\n                }\n            }\n        };\n        xhr.onreadystatechange.subscriber = this;\n        xhr.onreadystatechange.progressSubscriber = progressSubscriber;\n        xhr.onreadystatechange.request = request;\n    };\n    AjaxSubscriber.prototype.unsubscribe = function () {\n        var _a = this, done = _a.done, xhr = _a.xhr;\n        if (!done && xhr && xhr.readyState !== 4) {\n            xhr.abort();\n        }\n        _super.prototype.unsubscribe.call(this);\n    };\n    return AjaxSubscriber;\n}(Subscriber_1.Subscriber));\nexports.AjaxSubscriber = AjaxSubscriber;\n/**\n * A normalized AJAX response.\n *\n * @see {@link ajax}\n *\n * @class AjaxResponse\n */\nvar AjaxResponse = (function () {\n    function AjaxResponse(originalEvent, xhr, request) {\n        this.originalEvent = originalEvent;\n        this.xhr = xhr;\n        this.request = request;\n        this.status = xhr.status;\n        this.responseType = xhr.responseType || request.responseType;\n        switch (this.responseType) {\n            case 'json':\n                if ('response' in xhr) {\n                    //IE does not support json as responseType, parse it internally\n                    this.response = xhr.responseType ? xhr.response : JSON.parse(xhr.response || xhr.responseText || 'null');\n                }\n                else {\n                    this.response = JSON.parse(xhr.responseText || 'null');\n                }\n                break;\n            case 'xml':\n                this.response = xhr.responseXML;\n                break;\n            case 'text':\n            default:\n                this.response = ('response' in xhr) ? xhr.response : xhr.responseText;\n                break;\n        }\n    }\n    return AjaxResponse;\n}());\nexports.AjaxResponse = AjaxResponse;\n/**\n * A normalized AJAX error.\n *\n * @see {@link ajax}\n *\n * @class AjaxError\n */\nvar AjaxError = (function (_super) {\n    __extends(AjaxError, _super);\n    function AjaxError(message, xhr, request) {\n        _super.call(this, message);\n        this.message = message;\n        this.xhr = xhr;\n        this.request = request;\n        this.status = xhr.status;\n    }\n    return AjaxError;\n}(Error));\nexports.AjaxError = AjaxError;\n/**\n * @see {@link ajax}\n *\n * @class AjaxTimeoutError\n */\nvar AjaxTimeoutError = (function (_super) {\n    __extends(AjaxTimeoutError, _super);\n    function AjaxTimeoutError(xhr, request) {\n        _super.call(this, 'ajax timeout', xhr, request);\n    }\n    return AjaxTimeoutError;\n}(AjaxError));\nexports.AjaxTimeoutError = AjaxTimeoutError;\n//# sourceMappingURL=AjaxObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/dom/AjaxObservable.js\n// module id = 759\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar OuterSubscriber_1 = require('../OuterSubscriber');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\n/**\n * Returns an Observable that emits all items emitted by the source Observable that are distinct by comparison from previous items.\n * If a comparator function is provided, then it will be called for each item to test for whether or not that value should be emitted.\n * If a comparator function is not provided, an equality check is used by default.\n * As the internal HashSet of this operator grows larger and larger, care should be taken in the domain of inputs this operator may see.\n * An optional parameter is also provided such that an Observable can be provided to queue the internal HashSet to flush the values it holds.\n * @param {function} [compare] optional comparison function called to test if an item is distinct from previous items in the source.\n * @param {Observable} [flushes] optional Observable for flushing the internal HashSet of the operator.\n * @return {Observable} an Observable that emits items from the source Observable with distinct values.\n * @method distinct\n * @owner Observable\n */\nfunction distinct(compare, flushes) {\n    return this.lift(new DistinctOperator(compare, flushes));\n}\nexports.distinct = distinct;\nvar DistinctOperator = (function () {\n    function DistinctOperator(compare, flushes) {\n        this.compare = compare;\n        this.flushes = flushes;\n    }\n    DistinctOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new DistinctSubscriber(subscriber, this.compare, this.flushes));\n    };\n    return DistinctOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar DistinctSubscriber = (function (_super) {\n    __extends(DistinctSubscriber, _super);\n    function DistinctSubscriber(destination, compare, flushes) {\n        _super.call(this, destination);\n        this.values = [];\n        if (typeof compare === 'function') {\n            this.compare = compare;\n        }\n        if (flushes) {\n            this.add(subscribeToResult_1.subscribeToResult(this, flushes));\n        }\n    }\n    DistinctSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        this.values.length = 0;\n    };\n    DistinctSubscriber.prototype.notifyError = function (error, innerSub) {\n        this._error(error);\n    };\n    DistinctSubscriber.prototype._next = function (value) {\n        var found = false;\n        var values = this.values;\n        var len = values.length;\n        try {\n            for (var i = 0; i < len; i++) {\n                if (this.compare(values[i], value)) {\n                    found = true;\n                    return;\n                }\n            }\n        }\n        catch (err) {\n            this.destination.error(err);\n            return;\n        }\n        this.values.push(value);\n        this.destination.next(value);\n    };\n    DistinctSubscriber.prototype.compare = function (x, y) {\n        return x === y;\n    };\n    return DistinctSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\nexports.DistinctSubscriber = DistinctSubscriber;\n//# sourceMappingURL=distinct.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/distinct.js\n// module id = 760\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\nvar tryCatch_1 = require('../util/tryCatch');\nvar errorObject_1 = require('../util/errorObject');\n/**\n * Returns an Observable that emits all items emitted by the source Observable that are distinct by comparison from the previous item.\n * If a comparator function is provided, then it will be called for each item to test for whether or not that value should be emitted.\n * If a comparator function is not provided, an equality check is used by default.\n * @param {function} [compare] optional comparison function called to test if an item is distinct from the previous item in the source.\n * @return {Observable} an Observable that emits items from the source Observable with distinct values.\n * @method distinctUntilChanged\n * @owner Observable\n */\nfunction distinctUntilChanged(compare, keySelector) {\n    return this.lift(new DistinctUntilChangedOperator(compare, keySelector));\n}\nexports.distinctUntilChanged = distinctUntilChanged;\nvar DistinctUntilChangedOperator = (function () {\n    function DistinctUntilChangedOperator(compare, keySelector) {\n        this.compare = compare;\n        this.keySelector = keySelector;\n    }\n    DistinctUntilChangedOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new DistinctUntilChangedSubscriber(subscriber, this.compare, this.keySelector));\n    };\n    return DistinctUntilChangedOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar DistinctUntilChangedSubscriber = (function (_super) {\n    __extends(DistinctUntilChangedSubscriber, _super);\n    function DistinctUntilChangedSubscriber(destination, compare, keySelector) {\n        _super.call(this, destination);\n        this.keySelector = keySelector;\n        this.hasKey = false;\n        if (typeof compare === 'function') {\n            this.compare = compare;\n        }\n    }\n    DistinctUntilChangedSubscriber.prototype.compare = function (x, y) {\n        return x === y;\n    };\n    DistinctUntilChangedSubscriber.prototype._next = function (value) {\n        var keySelector = this.keySelector;\n        var key = value;\n        if (keySelector) {\n            key = tryCatch_1.tryCatch(this.keySelector)(value);\n            if (key === errorObject_1.errorObject) {\n                return this.destination.error(errorObject_1.errorObject.e);\n            }\n        }\n        var result = false;\n        if (this.hasKey) {\n            result = tryCatch_1.tryCatch(this.compare)(this.key, key);\n            if (result === errorObject_1.errorObject) {\n                return this.destination.error(errorObject_1.errorObject.e);\n            }\n        }\n        else {\n            this.hasKey = true;\n        }\n        if (Boolean(result) === false) {\n            this.key = key;\n            this.destination.next(value);\n        }\n    };\n    return DistinctUntilChangedSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=distinctUntilChanged.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/distinctUntilChanged.js\n// module id = 761\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\n/**\n * Emits only the first value emitted by the source Observable that meets some\n * condition.\n *\n * <span class=\"informal\">Finds the first value that passes some test and emits\n * that.</span>\n *\n * <img src=\"./img/find.png\" width=\"100%\">\n *\n * `find` searches for the first item in the source Observable that matches the\n * specified condition embodied by the `predicate`, and returns the first\n * occurrence in the source. Unlike {@link first}, the `predicate` is required\n * in `find`, and does not emit an error if a valid value is not found.\n *\n * @example <caption>Find and emit the first click that happens on a DIV element</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.find(ev => ev.target.tagName === 'DIV');\n * result.subscribe(x => console.log(x));\n *\n * @see {@link filter}\n * @see {@link first}\n * @see {@link findIndex}\n * @see {@link take}\n *\n * @param {function(value: T, index: number, source: Observable<T>): boolean} predicate\n * A function called with each item to test for condition matching.\n * @param {any} [thisArg] An optional argument to determine the value of `this`\n * in the `predicate` function.\n * @return {Observable<T>} An Observable of the first item that matches the\n * condition.\n * @method find\n * @owner Observable\n */\nfunction find(predicate, thisArg) {\n    if (typeof predicate !== 'function') {\n        throw new TypeError('predicate is not a function');\n    }\n    return this.lift(new FindValueOperator(predicate, this, false, thisArg));\n}\nexports.find = find;\nvar FindValueOperator = (function () {\n    function FindValueOperator(predicate, source, yieldIndex, thisArg) {\n        this.predicate = predicate;\n        this.source = source;\n        this.yieldIndex = yieldIndex;\n        this.thisArg = thisArg;\n    }\n    FindValueOperator.prototype.call = function (observer, source) {\n        return source._subscribe(new FindValueSubscriber(observer, this.predicate, this.source, this.yieldIndex, this.thisArg));\n    };\n    return FindValueOperator;\n}());\nexports.FindValueOperator = FindValueOperator;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar FindValueSubscriber = (function (_super) {\n    __extends(FindValueSubscriber, _super);\n    function FindValueSubscriber(destination, predicate, source, yieldIndex, thisArg) {\n        _super.call(this, destination);\n        this.predicate = predicate;\n        this.source = source;\n        this.yieldIndex = yieldIndex;\n        this.thisArg = thisArg;\n        this.index = 0;\n    }\n    FindValueSubscriber.prototype.notifyComplete = function (value) {\n        var destination = this.destination;\n        destination.next(value);\n        destination.complete();\n    };\n    FindValueSubscriber.prototype._next = function (value) {\n        var _a = this, predicate = _a.predicate, thisArg = _a.thisArg;\n        var index = this.index++;\n        try {\n            var result = predicate.call(thisArg || this, value, index, this.source);\n            if (result) {\n                this.notifyComplete(this.yieldIndex ? index : value);\n            }\n        }\n        catch (err) {\n            this.destination.error(err);\n        }\n    };\n    FindValueSubscriber.prototype._complete = function () {\n        this.notifyComplete(this.yieldIndex ? -1 : undefined);\n    };\n    return FindValueSubscriber;\n}(Subscriber_1.Subscriber));\nexports.FindValueSubscriber = FindValueSubscriber;\n//# sourceMappingURL=find.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/find.js\n// module id = 762\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\nvar EmptyError_1 = require('../util/EmptyError');\n/**\n * Emits only the first value (or the first value that meets some condition)\n * emitted by the source Observable.\n *\n * <span class=\"informal\">Emits only the first value. Or emits only the first\n * value that passes some test.</span>\n *\n * <img src=\"./img/first.png\" width=\"100%\">\n *\n * If called with no arguments, `first` emits the first value of the source\n * Observable, then completes. If called with a `predicate` function, `first`\n * emits the first value of the source that matches the specified condition. It\n * may also take a `resultSelector` function to produce the output value from\n * the input value, and a `defaultValue` to emit in case the source completes\n * before it is able to emit a valid value. Throws an error if `defaultValue`\n * was not provided and a matching element is not found.\n *\n * @example <caption>Emit only the first click that happens on the DOM</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.first();\n * result.subscribe(x => console.log(x));\n *\n * @example <caption>Emits the first click that happens on a DIV</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.first(ev => ev.target.tagName === 'DIV');\n * result.subscribe(x => console.log(x));\n *\n * @see {@link filter}\n * @see {@link find}\n * @see {@link take}\n *\n * @throws {EmptyError} Delivers an EmptyError to the Observer's `error`\n * callback if the Observable completes before any `next` notification was sent.\n *\n * @param {function(value: T, index: number, source: Observable<T>): boolean} [predicate]\n * An optional function called with each item to test for condition matching.\n * @param {function(value: T, index: number): R} [resultSelector] A function to\n * produce the value on the output Observable based on the values\n * and the indices of the source Observable. The arguments passed to this\n * function are:\n * - `value`: the value that was emitted on the source.\n * - `index`: the \"index\" of the value from the source.\n * @param {R} [defaultValue] The default value emitted in case no valid value\n * was found on the source.\n * @return {Observable<T|R>} an Observable of the first item that matches the\n * condition.\n * @method first\n * @owner Observable\n */\nfunction first(predicate, resultSelector, defaultValue) {\n    return this.lift(new FirstOperator(predicate, resultSelector, defaultValue, this));\n}\nexports.first = first;\nvar FirstOperator = (function () {\n    function FirstOperator(predicate, resultSelector, defaultValue, source) {\n        this.predicate = predicate;\n        this.resultSelector = resultSelector;\n        this.defaultValue = defaultValue;\n        this.source = source;\n    }\n    FirstOperator.prototype.call = function (observer, source) {\n        return source._subscribe(new FirstSubscriber(observer, this.predicate, this.resultSelector, this.defaultValue, this.source));\n    };\n    return FirstOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar FirstSubscriber = (function (_super) {\n    __extends(FirstSubscriber, _super);\n    function FirstSubscriber(destination, predicate, resultSelector, defaultValue, source) {\n        _super.call(this, destination);\n        this.predicate = predicate;\n        this.resultSelector = resultSelector;\n        this.defaultValue = defaultValue;\n        this.source = source;\n        this.index = 0;\n        this.hasCompleted = false;\n    }\n    FirstSubscriber.prototype._next = function (value) {\n        var index = this.index++;\n        if (this.predicate) {\n            this._tryPredicate(value, index);\n        }\n        else {\n            this._emit(value, index);\n        }\n    };\n    FirstSubscriber.prototype._tryPredicate = function (value, index) {\n        var result;\n        try {\n            result = this.predicate(value, index, this.source);\n        }\n        catch (err) {\n            this.destination.error(err);\n            return;\n        }\n        if (result) {\n            this._emit(value, index);\n        }\n    };\n    FirstSubscriber.prototype._emit = function (value, index) {\n        if (this.resultSelector) {\n            this._tryResultSelector(value, index);\n            return;\n        }\n        this._emitFinal(value);\n    };\n    FirstSubscriber.prototype._tryResultSelector = function (value, index) {\n        var result;\n        try {\n            result = this.resultSelector(value, index);\n        }\n        catch (err) {\n            this.destination.error(err);\n            return;\n        }\n        this._emitFinal(result);\n    };\n    FirstSubscriber.prototype._emitFinal = function (value) {\n        var destination = this.destination;\n        destination.next(value);\n        destination.complete();\n        this.hasCompleted = true;\n    };\n    FirstSubscriber.prototype._complete = function () {\n        var destination = this.destination;\n        if (!this.hasCompleted && typeof this.defaultValue !== 'undefined') {\n            destination.next(this.defaultValue);\n            destination.complete();\n        }\n        else if (!this.hasCompleted) {\n            destination.error(new EmptyError_1.EmptyError);\n        }\n    };\n    return FirstSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=first.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/first.js\n// module id = 763\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\nvar EmptyError_1 = require('../util/EmptyError');\n/**\n * Returns an Observable that emits only the last item emitted by the source Observable.\n * It optionally takes a predicate function as a parameter, in which case, rather than emitting\n * the last item from the source Observable, the resulting Observable will emit the last item\n * from the source Observable that satisfies the predicate.\n *\n * <img src=\"./img/last.png\" width=\"100%\">\n *\n * @throws {EmptyError} Delivers an EmptyError to the Observer's `error`\n * callback if the Observable completes before any `next` notification was sent.\n * @param {function} predicate - the condition any source emitted item has to satisfy.\n * @return {Observable} an Observable that emits only the last item satisfying the given condition\n * from the source, or an NoSuchElementException if no such items are emitted.\n * @throws - Throws if no items that match the predicate are emitted by the source Observable.\n * @method last\n * @owner Observable\n */\nfunction last(predicate, resultSelector, defaultValue) {\n    return this.lift(new LastOperator(predicate, resultSelector, defaultValue, this));\n}\nexports.last = last;\nvar LastOperator = (function () {\n    function LastOperator(predicate, resultSelector, defaultValue, source) {\n        this.predicate = predicate;\n        this.resultSelector = resultSelector;\n        this.defaultValue = defaultValue;\n        this.source = source;\n    }\n    LastOperator.prototype.call = function (observer, source) {\n        return source._subscribe(new LastSubscriber(observer, this.predicate, this.resultSelector, this.defaultValue, this.source));\n    };\n    return LastOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar LastSubscriber = (function (_super) {\n    __extends(LastSubscriber, _super);\n    function LastSubscriber(destination, predicate, resultSelector, defaultValue, source) {\n        _super.call(this, destination);\n        this.predicate = predicate;\n        this.resultSelector = resultSelector;\n        this.defaultValue = defaultValue;\n        this.source = source;\n        this.hasValue = false;\n        this.index = 0;\n        if (typeof defaultValue !== 'undefined') {\n            this.lastValue = defaultValue;\n            this.hasValue = true;\n        }\n    }\n    LastSubscriber.prototype._next = function (value) {\n        var index = this.index++;\n        if (this.predicate) {\n            this._tryPredicate(value, index);\n        }\n        else {\n            if (this.resultSelector) {\n                this._tryResultSelector(value, index);\n                return;\n            }\n            this.lastValue = value;\n            this.hasValue = true;\n        }\n    };\n    LastSubscriber.prototype._tryPredicate = function (value, index) {\n        var result;\n        try {\n            result = this.predicate(value, index, this.source);\n        }\n        catch (err) {\n            this.destination.error(err);\n            return;\n        }\n        if (result) {\n            if (this.resultSelector) {\n                this._tryResultSelector(value, index);\n                return;\n            }\n            this.lastValue = value;\n            this.hasValue = true;\n        }\n    };\n    LastSubscriber.prototype._tryResultSelector = function (value, index) {\n        var result;\n        try {\n            result = this.resultSelector(value, index);\n        }\n        catch (err) {\n            this.destination.error(err);\n            return;\n        }\n        this.lastValue = result;\n        this.hasValue = true;\n    };\n    LastSubscriber.prototype._complete = function () {\n        var destination = this.destination;\n        if (this.hasValue) {\n            destination.next(this.lastValue);\n            destination.complete();\n        }\n        else {\n            destination.error(new EmptyError_1.EmptyError);\n        }\n    };\n    return LastSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=last.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/last.js\n// module id = 764\n// module chunks = 0","\"use strict\";\nvar ArrayObservable_1 = require('../observable/ArrayObservable');\nvar mergeAll_1 = require('./mergeAll');\nvar isScheduler_1 = require('../util/isScheduler');\n/**\n * Creates an output Observable which concurrently emits all values from every\n * given input Observable.\n *\n * <span class=\"informal\">Flattens multiple Observables together by blending\n * their values into one Observable.</span>\n *\n * <img src=\"./img/merge.png\" width=\"100%\">\n *\n * `merge` subscribes to each given input Observable (either the source or an\n * Observable given as argument), and simply forwards (without doing any\n * transformation) all the values from all the input Observables to the output\n * Observable. The output Observable only completes once all input Observables\n * have completed. Any error delivered by an input Observable will be immediately\n * emitted on the output Observable.\n *\n * @example <caption>Merge together two Observables: 1s interval and clicks</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var timer = Rx.Observable.interval(1000);\n * var clicksOrTimer = clicks.merge(timer);\n * clicksOrTimer.subscribe(x => console.log(x));\n *\n * @example <caption>Merge together 3 Observables, but only 2 run concurrently</caption>\n * var timer1 = Rx.Observable.interval(1000).take(10);\n * var timer2 = Rx.Observable.interval(2000).take(6);\n * var timer3 = Rx.Observable.interval(500).take(10);\n * var concurrent = 2; // the argument\n * var merged = timer1.merge(timer2, timer3, concurrent);\n * merged.subscribe(x => console.log(x));\n *\n * @see {@link mergeAll}\n * @see {@link mergeMap}\n * @see {@link mergeMapTo}\n * @see {@link mergeScan}\n *\n * @param {Observable} other An input Observable to merge with the source\n * Observable. More than one input Observables may be given as argument.\n * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of input\n * Observables being subscribed to concurrently.\n * @param {Scheduler} [scheduler=null] The Scheduler to use for managing\n * concurrency of input Observables.\n * @return {Observable} an Observable that emits items that are the result of\n * every input Observable.\n * @method merge\n * @owner Observable\n */\nfunction merge() {\n    var observables = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        observables[_i - 0] = arguments[_i];\n    }\n    observables.unshift(this);\n    return mergeStatic.apply(this, observables);\n}\nexports.merge = merge;\n/* tslint:enable:max-line-length */\n/**\n * Creates an output Observable which concurrently emits all values from every\n * given input Observable.\n *\n * <span class=\"informal\">Flattens multiple Observables together by blending\n * their values into one Observable.</span>\n *\n * <img src=\"./img/merge.png\" width=\"100%\">\n *\n * `merge` subscribes to each given input Observable (as arguments), and simply\n * forwards (without doing any transformation) all the values from all the input\n * Observables to the output Observable. The output Observable only completes\n * once all input Observables have completed. Any error delivered by an input\n * Observable will be immediately emitted on the output Observable.\n *\n * @example <caption>Merge together two Observables: 1s interval and clicks</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var timer = Rx.Observable.interval(1000);\n * var clicksOrTimer = Rx.Observable.merge(clicks, timer);\n * clicksOrTimer.subscribe(x => console.log(x));\n *\n * @example <caption>Merge together 3 Observables, but only 2 run concurrently</caption>\n * var timer1 = Rx.Observable.interval(1000).take(10);\n * var timer2 = Rx.Observable.interval(2000).take(6);\n * var timer3 = Rx.Observable.interval(500).take(10);\n * var concurrent = 2; // the argument\n * var merged = Rx.Observable.merge(timer1, timer2, timer3, concurrent);\n * merged.subscribe(x => console.log(x));\n *\n * @see {@link mergeAll}\n * @see {@link mergeMap}\n * @see {@link mergeMapTo}\n * @see {@link mergeScan}\n *\n * @param {Observable} input1 An input Observable to merge with others.\n * @param {Observable} input2 An input Observable to merge with others.\n * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of input\n * Observables being subscribed to concurrently.\n * @param {Scheduler} [scheduler=null] The Scheduler to use for managing\n * concurrency of input Observables.\n * @return {Observable} an Observable that emits items that are the result of\n * every input Observable.\n * @static true\n * @name merge\n * @owner Observable\n */\nfunction mergeStatic() {\n    var observables = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        observables[_i - 0] = arguments[_i];\n    }\n    var concurrent = Number.POSITIVE_INFINITY;\n    var scheduler = null;\n    var last = observables[observables.length - 1];\n    if (isScheduler_1.isScheduler(last)) {\n        scheduler = observables.pop();\n        if (observables.length > 1 && typeof observables[observables.length - 1] === 'number') {\n            concurrent = observables.pop();\n        }\n    }\n    else if (typeof last === 'number') {\n        concurrent = observables.pop();\n    }\n    if (observables.length === 1) {\n        return observables[0];\n    }\n    return new ArrayObservable_1.ArrayObservable(observables, scheduler).lift(new mergeAll_1.MergeAllOperator(concurrent));\n}\nexports.mergeStatic = mergeStatic;\n//# sourceMappingURL=merge.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/merge.js\n// module id = 765\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar OuterSubscriber_1 = require('../OuterSubscriber');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\n/**\n * Projects each source value to the same Observable which is merged multiple\n * times in the output Observable.\n *\n * <span class=\"informal\">It's like {@link mergeMap}, but maps each value always\n * to the same inner Observable.</span>\n *\n * <img src=\"./img/mergeMapTo.png\" width=\"100%\">\n *\n * Maps each source value to the given Observable `innerObservable` regardless\n * of the source value, and then merges those resulting Observables into one\n * single Observable, which is the output Observable.\n *\n * @example <caption>For each click event, start an interval Observable ticking every 1 second</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.mergeMapTo(Rx.Observable.interval(1000));\n * result.subscribe(x => console.log(x));\n *\n * @see {@link concatMapTo}\n * @see {@link merge}\n * @see {@link mergeAll}\n * @see {@link mergeMap}\n * @see {@link mergeScan}\n * @see {@link switchMapTo}\n *\n * @param {Observable} innerObservable An Observable to replace each value from\n * the source Observable.\n * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector]\n * A function to produce the value on the output Observable based on the values\n * and the indices of the source (outer) emission and the inner Observable\n * emission. The arguments passed to this function are:\n * - `outerValue`: the value that came from the source\n * - `innerValue`: the value that came from the projected Observable\n * - `outerIndex`: the \"index\" of the value that came from the source\n * - `innerIndex`: the \"index\" of the value from the projected Observable\n * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of input\n * Observables being subscribed to concurrently.\n * @return {Observable} An Observable that emits items from the given\n * `innerObservable` (and optionally transformed through `resultSelector`) every\n * time a value is emitted on the source Observable.\n * @method mergeMapTo\n * @owner Observable\n */\nfunction mergeMapTo(innerObservable, resultSelector, concurrent) {\n    if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\n    if (typeof resultSelector === 'number') {\n        concurrent = resultSelector;\n        resultSelector = null;\n    }\n    return this.lift(new MergeMapToOperator(innerObservable, resultSelector, concurrent));\n}\nexports.mergeMapTo = mergeMapTo;\n// TODO: Figure out correct signature here: an Operator<Observable<T>, R>\n//       needs to implement call(observer: Subscriber<R>): Subscriber<Observable<T>>\nvar MergeMapToOperator = (function () {\n    function MergeMapToOperator(ish, resultSelector, concurrent) {\n        if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\n        this.ish = ish;\n        this.resultSelector = resultSelector;\n        this.concurrent = concurrent;\n    }\n    MergeMapToOperator.prototype.call = function (observer, source) {\n        return source._subscribe(new MergeMapToSubscriber(observer, this.ish, this.resultSelector, this.concurrent));\n    };\n    return MergeMapToOperator;\n}());\nexports.MergeMapToOperator = MergeMapToOperator;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar MergeMapToSubscriber = (function (_super) {\n    __extends(MergeMapToSubscriber, _super);\n    function MergeMapToSubscriber(destination, ish, resultSelector, concurrent) {\n        if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\n        _super.call(this, destination);\n        this.ish = ish;\n        this.resultSelector = resultSelector;\n        this.concurrent = concurrent;\n        this.hasCompleted = false;\n        this.buffer = [];\n        this.active = 0;\n        this.index = 0;\n    }\n    MergeMapToSubscriber.prototype._next = function (value) {\n        if (this.active < this.concurrent) {\n            var resultSelector = this.resultSelector;\n            var index = this.index++;\n            var ish = this.ish;\n            var destination = this.destination;\n            this.active++;\n            this._innerSub(ish, destination, resultSelector, value, index);\n        }\n        else {\n            this.buffer.push(value);\n        }\n    };\n    MergeMapToSubscriber.prototype._innerSub = function (ish, destination, resultSelector, value, index) {\n        this.add(subscribeToResult_1.subscribeToResult(this, ish, value, index));\n    };\n    MergeMapToSubscriber.prototype._complete = function () {\n        this.hasCompleted = true;\n        if (this.active === 0 && this.buffer.length === 0) {\n            this.destination.complete();\n        }\n    };\n    MergeMapToSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        var _a = this, resultSelector = _a.resultSelector, destination = _a.destination;\n        if (resultSelector) {\n            this.trySelectResult(outerValue, innerValue, outerIndex, innerIndex);\n        }\n        else {\n            destination.next(innerValue);\n        }\n    };\n    MergeMapToSubscriber.prototype.trySelectResult = function (outerValue, innerValue, outerIndex, innerIndex) {\n        var _a = this, resultSelector = _a.resultSelector, destination = _a.destination;\n        var result;\n        try {\n            result = resultSelector(outerValue, innerValue, outerIndex, innerIndex);\n        }\n        catch (err) {\n            destination.error(err);\n            return;\n        }\n        destination.next(result);\n    };\n    MergeMapToSubscriber.prototype.notifyError = function (err) {\n        this.destination.error(err);\n    };\n    MergeMapToSubscriber.prototype.notifyComplete = function (innerSub) {\n        var buffer = this.buffer;\n        this.remove(innerSub);\n        this.active--;\n        if (buffer.length > 0) {\n            this._next(buffer.shift());\n        }\n        else if (this.active === 0 && this.hasCompleted) {\n            this.destination.complete();\n        }\n    };\n    return MergeMapToSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\nexports.MergeMapToSubscriber = MergeMapToSubscriber;\n//# sourceMappingURL=mergeMapTo.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/mergeMapTo.js\n// module id = 766\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar FromObservable_1 = require('../observable/FromObservable');\nvar isArray_1 = require('../util/isArray');\nvar OuterSubscriber_1 = require('../OuterSubscriber');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\nfunction onErrorResumeNext() {\n    var nextSources = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        nextSources[_i - 0] = arguments[_i];\n    }\n    if (nextSources.length === 1 && isArray_1.isArray(nextSources[0])) {\n        nextSources = nextSources[0];\n    }\n    return this.lift(new OnErrorResumeNextOperator(nextSources));\n}\nexports.onErrorResumeNext = onErrorResumeNext;\n/* tslint:enable:max-line-length */\nfunction onErrorResumeNextStatic() {\n    var nextSources = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        nextSources[_i - 0] = arguments[_i];\n    }\n    var source = null;\n    if (nextSources.length === 1 && isArray_1.isArray(nextSources[0])) {\n        nextSources = nextSources[0];\n    }\n    source = nextSources.shift();\n    return new FromObservable_1.FromObservable(source, null).lift(new OnErrorResumeNextOperator(nextSources));\n}\nexports.onErrorResumeNextStatic = onErrorResumeNextStatic;\nvar OnErrorResumeNextOperator = (function () {\n    function OnErrorResumeNextOperator(nextSources) {\n        this.nextSources = nextSources;\n    }\n    OnErrorResumeNextOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new OnErrorResumeNextSubscriber(subscriber, this.nextSources));\n    };\n    return OnErrorResumeNextOperator;\n}());\nvar OnErrorResumeNextSubscriber = (function (_super) {\n    __extends(OnErrorResumeNextSubscriber, _super);\n    function OnErrorResumeNextSubscriber(destination, nextSources) {\n        _super.call(this, destination);\n        this.destination = destination;\n        this.nextSources = nextSources;\n    }\n    OnErrorResumeNextSubscriber.prototype.notifyError = function (error, innerSub) {\n        this.subscribeToNextSource();\n    };\n    OnErrorResumeNextSubscriber.prototype.notifyComplete = function (innerSub) {\n        this.subscribeToNextSource();\n    };\n    OnErrorResumeNextSubscriber.prototype._error = function (err) {\n        this.subscribeToNextSource();\n    };\n    OnErrorResumeNextSubscriber.prototype._complete = function () {\n        this.subscribeToNextSource();\n    };\n    OnErrorResumeNextSubscriber.prototype.subscribeToNextSource = function () {\n        var next = this.nextSources.shift();\n        if (next) {\n            this.add(subscribeToResult_1.subscribeToResult(this, next));\n        }\n        else {\n            this.destination.complete();\n        }\n    };\n    return OnErrorResumeNextSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=onErrorResumeNext.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/onErrorResumeNext.js\n// module id = 767\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar isArray_1 = require('../util/isArray');\nvar ArrayObservable_1 = require('../observable/ArrayObservable');\nvar OuterSubscriber_1 = require('../OuterSubscriber');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\n/**\n * Returns an Observable that mirrors the first source Observable to emit an item\n * from the combination of this Observable and supplied Observables\n * @param {...Observables} ...observables sources used to race for which Observable emits first.\n * @return {Observable} an Observable that mirrors the output of the first Observable to emit an item.\n * @method race\n * @owner Observable\n */\nfunction race() {\n    var observables = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        observables[_i - 0] = arguments[_i];\n    }\n    // if the only argument is an array, it was most likely called with\n    // `pair([obs1, obs2, ...])`\n    if (observables.length === 1 && isArray_1.isArray(observables[0])) {\n        observables = observables[0];\n    }\n    observables.unshift(this);\n    return raceStatic.apply(this, observables);\n}\nexports.race = race;\nfunction raceStatic() {\n    var observables = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        observables[_i - 0] = arguments[_i];\n    }\n    // if the only argument is an array, it was most likely called with\n    // `pair([obs1, obs2, ...])`\n    if (observables.length === 1) {\n        if (isArray_1.isArray(observables[0])) {\n            observables = observables[0];\n        }\n        else {\n            return observables[0];\n        }\n    }\n    return new ArrayObservable_1.ArrayObservable(observables).lift(new RaceOperator());\n}\nexports.raceStatic = raceStatic;\nvar RaceOperator = (function () {\n    function RaceOperator() {\n    }\n    RaceOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new RaceSubscriber(subscriber));\n    };\n    return RaceOperator;\n}());\nexports.RaceOperator = RaceOperator;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar RaceSubscriber = (function (_super) {\n    __extends(RaceSubscriber, _super);\n    function RaceSubscriber(destination) {\n        _super.call(this, destination);\n        this.hasFirst = false;\n        this.observables = [];\n        this.subscriptions = [];\n    }\n    RaceSubscriber.prototype._next = function (observable) {\n        this.observables.push(observable);\n    };\n    RaceSubscriber.prototype._complete = function () {\n        var observables = this.observables;\n        var len = observables.length;\n        if (len === 0) {\n            this.destination.complete();\n        }\n        else {\n            for (var i = 0; i < len; i++) {\n                var observable = observables[i];\n                var subscription = subscribeToResult_1.subscribeToResult(this, observable, observable, i);\n                if (this.subscriptions) {\n                    this.subscriptions.push(subscription);\n                    this.add(subscription);\n                }\n            }\n            this.observables = null;\n        }\n    };\n    RaceSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        if (!this.hasFirst) {\n            this.hasFirst = true;\n            for (var i = 0; i < this.subscriptions.length; i++) {\n                if (i !== outerIndex) {\n                    var subscription = this.subscriptions[i];\n                    subscription.unsubscribe();\n                    this.remove(subscription);\n                }\n            }\n            this.subscriptions = null;\n        }\n        this.destination.next(innerValue);\n    };\n    return RaceSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\nexports.RaceSubscriber = RaceSubscriber;\n//# sourceMappingURL=race.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/race.js\n// module id = 768\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\nvar async_1 = require('../scheduler/async');\n/**\n * @param scheduler\n * @return {Observable<TimeInterval<any>>|WebSocketSubject<T>|Observable<T>}\n * @method timeInterval\n * @owner Observable\n */\nfunction timeInterval(scheduler) {\n    if (scheduler === void 0) { scheduler = async_1.async; }\n    return this.lift(new TimeIntervalOperator(scheduler));\n}\nexports.timeInterval = timeInterval;\nvar TimeInterval = (function () {\n    function TimeInterval(value, interval) {\n        this.value = value;\n        this.interval = interval;\n    }\n    return TimeInterval;\n}());\nexports.TimeInterval = TimeInterval;\n;\nvar TimeIntervalOperator = (function () {\n    function TimeIntervalOperator(scheduler) {\n        this.scheduler = scheduler;\n    }\n    TimeIntervalOperator.prototype.call = function (observer, source) {\n        return source._subscribe(new TimeIntervalSubscriber(observer, this.scheduler));\n    };\n    return TimeIntervalOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar TimeIntervalSubscriber = (function (_super) {\n    __extends(TimeIntervalSubscriber, _super);\n    function TimeIntervalSubscriber(destination, scheduler) {\n        _super.call(this, destination);\n        this.scheduler = scheduler;\n        this.lastTime = 0;\n        this.lastTime = scheduler.now();\n    }\n    TimeIntervalSubscriber.prototype._next = function (value) {\n        var now = this.scheduler.now();\n        var span = now - this.lastTime;\n        this.lastTime = now;\n        this.destination.next(new TimeInterval(value, span));\n    };\n    return TimeIntervalSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=timeInterval.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/timeInterval.js\n// module id = 769\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\nvar async_1 = require('../scheduler/async');\n/**\n * @param scheduler\n * @return {Observable<Timestamp<any>>|WebSocketSubject<T>|Observable<T>}\n * @method timestamp\n * @owner Observable\n */\nfunction timestamp(scheduler) {\n    if (scheduler === void 0) { scheduler = async_1.async; }\n    return this.lift(new TimestampOperator(scheduler));\n}\nexports.timestamp = timestamp;\nvar Timestamp = (function () {\n    function Timestamp(value, timestamp) {\n        this.value = value;\n        this.timestamp = timestamp;\n    }\n    return Timestamp;\n}());\nexports.Timestamp = Timestamp;\n;\nvar TimestampOperator = (function () {\n    function TimestampOperator(scheduler) {\n        this.scheduler = scheduler;\n    }\n    TimestampOperator.prototype.call = function (observer, source) {\n        return source._subscribe(new TimestampSubscriber(observer, this.scheduler));\n    };\n    return TimestampOperator;\n}());\nvar TimestampSubscriber = (function (_super) {\n    __extends(TimestampSubscriber, _super);\n    function TimestampSubscriber(destination, scheduler) {\n        _super.call(this, destination);\n        this.scheduler = scheduler;\n    }\n    TimestampSubscriber.prototype._next = function (value) {\n        var now = this.scheduler.now();\n        this.destination.next(new Timestamp(value, now));\n    };\n    return TimestampSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=timestamp.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/timestamp.js\n// module id = 770\n// module chunks = 0","\"use strict\";\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        }\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) { return value = x; }, function (err) { return reject(err); }, function () { return resolve(value); });\n    });\n}\nexports.toPromise = toPromise;\n//# sourceMappingURL=toPromise.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/toPromise.js\n// module id = 771\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar AsyncAction_1 = require('./AsyncAction');\nvar AsyncScheduler_1 = require('./AsyncScheduler');\nvar VirtualTimeScheduler = (function (_super) {\n    __extends(VirtualTimeScheduler, _super);\n    function VirtualTimeScheduler(SchedulerAction, maxFrames) {\n        var _this = this;\n        if (SchedulerAction === void 0) { SchedulerAction = VirtualAction; }\n        if (maxFrames === void 0) { maxFrames = Number.POSITIVE_INFINITY; }\n        _super.call(this, SchedulerAction, function () { return _this.frame; });\n        this.maxFrames = maxFrames;\n        this.frame = 0;\n        this.index = -1;\n    }\n    /**\n     * Prompt the Scheduler to execute all of its queued actions, therefore\n     * clearing its queue.\n     * @return {void}\n     */\n    VirtualTimeScheduler.prototype.flush = function () {\n        var _a = this, actions = _a.actions, maxFrames = _a.maxFrames;\n        var error, action;\n        while ((action = actions.shift()) && (this.frame = action.delay) <= maxFrames) {\n            if (error = action.execute(action.state, action.delay)) {\n                break;\n            }\n        }\n        if (error) {\n            while (action = actions.shift()) {\n                action.unsubscribe();\n            }\n            throw error;\n        }\n    };\n    VirtualTimeScheduler.frameTimeFactor = 10;\n    return VirtualTimeScheduler;\n}(AsyncScheduler_1.AsyncScheduler));\nexports.VirtualTimeScheduler = VirtualTimeScheduler;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar VirtualAction = (function (_super) {\n    __extends(VirtualAction, _super);\n    function VirtualAction(scheduler, work, index) {\n        if (index === void 0) { index = scheduler.index += 1; }\n        _super.call(this, scheduler, work);\n        this.scheduler = scheduler;\n        this.work = work;\n        this.index = index;\n        this.index = scheduler.index = index;\n    }\n    VirtualAction.prototype.schedule = function (state, delay) {\n        if (delay === void 0) { delay = 0; }\n        return !this.id ?\n            _super.prototype.schedule.call(this, state, delay) : this.add(new VirtualAction(this.scheduler, this.work)).schedule(state, delay);\n    };\n    VirtualAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n        if (delay === void 0) { delay = 0; }\n        this.delay = scheduler.frame + delay;\n        var actions = scheduler.actions;\n        actions.push(this);\n        actions.sort(VirtualAction.sortActions);\n        return true;\n    };\n    VirtualAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n        if (delay === void 0) { delay = 0; }\n        return undefined;\n    };\n    VirtualAction.sortActions = function (a, b) {\n        if (a.delay === b.delay) {\n            if (a.index === b.index) {\n                return 0;\n            }\n            else if (a.index > b.index) {\n                return 1;\n            }\n            else {\n                return -1;\n            }\n        }\n        else if (a.delay > b.delay) {\n            return 1;\n        }\n        else {\n            return -1;\n        }\n    };\n    return VirtualAction;\n}(AsyncAction_1.AsyncAction));\nexports.VirtualAction = VirtualAction;\n//# sourceMappingURL=VirtualTimeScheduler.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/scheduler/VirtualTimeScheduler.js\n// module id = 772\n// module chunks = 0","\"use strict\";\nvar AsapAction_1 = require('./AsapAction');\nvar AsapScheduler_1 = require('./AsapScheduler');\nexports.asap = new AsapScheduler_1.AsapScheduler(AsapAction_1.AsapAction);\n//# sourceMappingURL=asap.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/scheduler/asap.js\n// module id = 773\n// module chunks = 0","\"use strict\";\nvar QueueAction_1 = require('./QueueAction');\nvar QueueScheduler_1 = require('./QueueScheduler');\nexports.queue = new QueueScheduler_1.QueueScheduler(QueueAction_1.QueueAction);\n//# sourceMappingURL=queue.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/scheduler/queue.js\n// module id = 774\n// module chunks = 0","\"use strict\";\nvar SubscriptionLog = (function () {\n    function SubscriptionLog(subscribedFrame, unsubscribedFrame) {\n        if (unsubscribedFrame === void 0) { unsubscribedFrame = Number.POSITIVE_INFINITY; }\n        this.subscribedFrame = subscribedFrame;\n        this.unsubscribedFrame = unsubscribedFrame;\n    }\n    return SubscriptionLog;\n}());\nexports.SubscriptionLog = SubscriptionLog;\n//# sourceMappingURL=SubscriptionLog.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/testing/SubscriptionLog.js\n// module id = 775\n// module chunks = 0","\"use strict\";\nvar SubscriptionLog_1 = require('./SubscriptionLog');\nvar SubscriptionLoggable = (function () {\n    function SubscriptionLoggable() {\n        this.subscriptions = [];\n    }\n    SubscriptionLoggable.prototype.logSubscribedFrame = function () {\n        this.subscriptions.push(new SubscriptionLog_1.SubscriptionLog(this.scheduler.now()));\n        return this.subscriptions.length - 1;\n    };\n    SubscriptionLoggable.prototype.logUnsubscribedFrame = function (index) {\n        var subscriptionLogs = this.subscriptions;\n        var oldSubscriptionLog = subscriptionLogs[index];\n        subscriptionLogs[index] = new SubscriptionLog_1.SubscriptionLog(oldSubscriptionLog.subscribedFrame, this.scheduler.now());\n    };\n    return SubscriptionLoggable;\n}());\nexports.SubscriptionLoggable = SubscriptionLoggable;\n//# sourceMappingURL=SubscriptionLoggable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/testing/SubscriptionLoggable.js\n// module id = 776\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\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 ?\n            errors.length + \" errors occurred during unsubscription:\\n  \" + errors.map(function (err, i) { return ((i + 1) + \") \" + err.toString()); }).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\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/util/UnsubscriptionError.js\n// module id = 777\n// module chunks = 0","\"use strict\";\nfunction applyMixins(derivedCtor, baseCtors) {\n    for (var i = 0, len = baseCtors.length; i < len; i++) {\n        var baseCtor = baseCtors[i];\n        var propertyKeys = Object.getOwnPropertyNames(baseCtor.prototype);\n        for (var j = 0, len2 = propertyKeys.length; j < len2; j++) {\n            var name_1 = propertyKeys[j];\n            derivedCtor.prototype[name_1] = baseCtor.prototype[name_1];\n        }\n    }\n}\nexports.applyMixins = applyMixins;\n//# sourceMappingURL=applyMixins.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/util/applyMixins.js\n// module id = 778\n// module chunks = 0","\"use strict\";\nfunction isPromise(value) {\n    return value && typeof value.subscribe !== 'function' && typeof value.then === 'function';\n}\nexports.isPromise = isPromise;\n//# sourceMappingURL=isPromise.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/util/isPromise.js\n// module id = 779\n// module chunks = 0","\"use strict\";\n/* tslint:disable:no-empty */\nfunction noop() { }\nexports.noop = noop;\n//# sourceMappingURL=noop.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/util/noop.js\n// module id = 780\n// module chunks = 0","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n/*<replacement>*/\n\nvar Buffer = require('safe-buffer').Buffer;\n/*</replacement>*/\n\nvar isEncoding = Buffer.isEncoding || function (encoding) {\n  encoding = '' + encoding;\n  switch (encoding && encoding.toLowerCase()) {\n    case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':\n      return true;\n    default:\n      return false;\n  }\n};\n\nfunction _normalizeEncoding(enc) {\n  if (!enc) return 'utf8';\n  var retried;\n  while (true) {\n    switch (enc) {\n      case 'utf8':\n      case 'utf-8':\n        return 'utf8';\n      case 'ucs2':\n      case 'ucs-2':\n      case 'utf16le':\n      case 'utf-16le':\n        return 'utf16le';\n      case 'latin1':\n      case 'binary':\n        return 'latin1';\n      case 'base64':\n      case 'ascii':\n      case 'hex':\n        return enc;\n      default:\n        if (retried) return; // undefined\n        enc = ('' + enc).toLowerCase();\n        retried = true;\n    }\n  }\n};\n\n// Do not cache `Buffer.isEncoding` when checking encoding names as some\n// modules monkey-patch it to support additional encodings\nfunction normalizeEncoding(enc) {\n  var nenc = _normalizeEncoding(enc);\n  if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);\n  return nenc || enc;\n}\n\n// StringDecoder provides an interface for efficiently splitting a series of\n// buffers into a series of JS strings without breaking apart multi-byte\n// characters.\nexports.StringDecoder = StringDecoder;\nfunction StringDecoder(encoding) {\n  this.encoding = normalizeEncoding(encoding);\n  var nb;\n  switch (this.encoding) {\n    case 'utf16le':\n      this.text = utf16Text;\n      this.end = utf16End;\n      nb = 4;\n      break;\n    case 'utf8':\n      this.fillLast = utf8FillLast;\n      nb = 4;\n      break;\n    case 'base64':\n      this.text = base64Text;\n      this.end = base64End;\n      nb = 3;\n      break;\n    default:\n      this.write = simpleWrite;\n      this.end = simpleEnd;\n      return;\n  }\n  this.lastNeed = 0;\n  this.lastTotal = 0;\n  this.lastChar = Buffer.allocUnsafe(nb);\n}\n\nStringDecoder.prototype.write = function (buf) {\n  if (buf.length === 0) return '';\n  var r;\n  var i;\n  if (this.lastNeed) {\n    r = this.fillLast(buf);\n    if (r === undefined) return '';\n    i = this.lastNeed;\n    this.lastNeed = 0;\n  } else {\n    i = 0;\n  }\n  if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);\n  return r || '';\n};\n\nStringDecoder.prototype.end = utf8End;\n\n// Returns only complete characters in a Buffer\nStringDecoder.prototype.text = utf8Text;\n\n// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer\nStringDecoder.prototype.fillLast = function (buf) {\n  if (this.lastNeed <= buf.length) {\n    buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n    return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n  }\n  buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);\n  this.lastNeed -= buf.length;\n};\n\n// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a\n// continuation byte. If an invalid byte is detected, -2 is returned.\nfunction utf8CheckByte(byte) {\n  if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;\n  return byte >> 6 === 0x02 ? -1 : -2;\n}\n\n// Checks at most 3 bytes at the end of a Buffer in order to detect an\n// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)\n// needed to complete the UTF-8 character (if applicable) are returned.\nfunction utf8CheckIncomplete(self, buf, i) {\n  var j = buf.length - 1;\n  if (j < i) return 0;\n  var nb = utf8CheckByte(buf[j]);\n  if (nb >= 0) {\n    if (nb > 0) self.lastNeed = nb - 1;\n    return nb;\n  }\n  if (--j < i || nb === -2) return 0;\n  nb = utf8CheckByte(buf[j]);\n  if (nb >= 0) {\n    if (nb > 0) self.lastNeed = nb - 2;\n    return nb;\n  }\n  if (--j < i || nb === -2) return 0;\n  nb = utf8CheckByte(buf[j]);\n  if (nb >= 0) {\n    if (nb > 0) {\n      if (nb === 2) nb = 0;else self.lastNeed = nb - 3;\n    }\n    return nb;\n  }\n  return 0;\n}\n\n// Validates as many continuation bytes for a multi-byte UTF-8 character as\n// needed or are available. If we see a non-continuation byte where we expect\n// one, we \"replace\" the validated continuation bytes we've seen so far with\n// a single UTF-8 replacement character ('\\ufffd'), to match v8's UTF-8 decoding\n// behavior. The continuation byte check is included three times in the case\n// where all of the continuation bytes for a character exist in the same buffer.\n// It is also done this way as a slight performance increase instead of using a\n// loop.\nfunction utf8CheckExtraBytes(self, buf, p) {\n  if ((buf[0] & 0xC0) !== 0x80) {\n    self.lastNeed = 0;\n    return '\\ufffd';\n  }\n  if (self.lastNeed > 1 && buf.length > 1) {\n    if ((buf[1] & 0xC0) !== 0x80) {\n      self.lastNeed = 1;\n      return '\\ufffd';\n    }\n    if (self.lastNeed > 2 && buf.length > 2) {\n      if ((buf[2] & 0xC0) !== 0x80) {\n        self.lastNeed = 2;\n        return '\\ufffd';\n      }\n    }\n  }\n}\n\n// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.\nfunction utf8FillLast(buf) {\n  var p = this.lastTotal - this.lastNeed;\n  var r = utf8CheckExtraBytes(this, buf, p);\n  if (r !== undefined) return r;\n  if (this.lastNeed <= buf.length) {\n    buf.copy(this.lastChar, p, 0, this.lastNeed);\n    return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n  }\n  buf.copy(this.lastChar, p, 0, buf.length);\n  this.lastNeed -= buf.length;\n}\n\n// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a\n// partial character, the character's bytes are buffered until the required\n// number of bytes are available.\nfunction utf8Text(buf, i) {\n  var total = utf8CheckIncomplete(this, buf, i);\n  if (!this.lastNeed) return buf.toString('utf8', i);\n  this.lastTotal = total;\n  var end = buf.length - (total - this.lastNeed);\n  buf.copy(this.lastChar, 0, end);\n  return buf.toString('utf8', i, end);\n}\n\n// For UTF-8, a replacement character is added when ending on a partial\n// character.\nfunction utf8End(buf) {\n  var r = buf && buf.length ? this.write(buf) : '';\n  if (this.lastNeed) return r + '\\ufffd';\n  return r;\n}\n\n// UTF-16LE typically needs two bytes per character, but even if we have an even\n// number of bytes available, we need to check if we end on a leading/high\n// surrogate. In that case, we need to wait for the next two bytes in order to\n// decode the last character properly.\nfunction utf16Text(buf, i) {\n  if ((buf.length - i) % 2 === 0) {\n    var r = buf.toString('utf16le', i);\n    if (r) {\n      var c = r.charCodeAt(r.length - 1);\n      if (c >= 0xD800 && c <= 0xDBFF) {\n        this.lastNeed = 2;\n        this.lastTotal = 4;\n        this.lastChar[0] = buf[buf.length - 2];\n        this.lastChar[1] = buf[buf.length - 1];\n        return r.slice(0, -1);\n      }\n    }\n    return r;\n  }\n  this.lastNeed = 1;\n  this.lastTotal = 2;\n  this.lastChar[0] = buf[buf.length - 1];\n  return buf.toString('utf16le', i, buf.length - 1);\n}\n\n// For UTF-16LE we do not explicitly append special replacement characters if we\n// end on a partial character, we simply let v8 handle that.\nfunction utf16End(buf) {\n  var r = buf && buf.length ? this.write(buf) : '';\n  if (this.lastNeed) {\n    var end = this.lastTotal - this.lastNeed;\n    return r + this.lastChar.toString('utf16le', 0, end);\n  }\n  return r;\n}\n\nfunction base64Text(buf, i) {\n  var n = (buf.length - i) % 3;\n  if (n === 0) return buf.toString('base64', i);\n  this.lastNeed = 3 - n;\n  this.lastTotal = 3;\n  if (n === 1) {\n    this.lastChar[0] = buf[buf.length - 1];\n  } else {\n    this.lastChar[0] = buf[buf.length - 2];\n    this.lastChar[1] = buf[buf.length - 1];\n  }\n  return buf.toString('base64', i, buf.length - n);\n}\n\nfunction base64End(buf) {\n  var r = buf && buf.length ? this.write(buf) : '';\n  if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);\n  return r;\n}\n\n// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)\nfunction simpleWrite(buf) {\n  return buf.toString(this.encoding);\n}\n\nfunction simpleEnd(buf) {\n  return buf && buf.length ? this.write(buf) : '';\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/string_decoder/lib/string_decoder.js\n// module id = 781\n// module chunks = 0","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n  if (!isString(f)) {\n    var objects = [];\n    for (var i = 0; i < arguments.length; i++) {\n      objects.push(inspect(arguments[i]));\n    }\n    return objects.join(' ');\n  }\n\n  var i = 1;\n  var args = arguments;\n  var len = args.length;\n  var str = String(f).replace(formatRegExp, function(x) {\n    if (x === '%%') return '%';\n    if (i >= len) return x;\n    switch (x) {\n      case '%s': return String(args[i++]);\n      case '%d': return Number(args[i++]);\n      case '%j':\n        try {\n          return JSON.stringify(args[i++]);\n        } catch (_) {\n          return '[Circular]';\n        }\n      default:\n        return x;\n    }\n  });\n  for (var x = args[i]; i < len; x = args[++i]) {\n    if (isNull(x) || !isObject(x)) {\n      str += ' ' + x;\n    } else {\n      str += ' ' + inspect(x);\n    }\n  }\n  return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n  // Allow for deprecating things in the process of starting up.\n  if (isUndefined(global.process)) {\n    return function() {\n      return exports.deprecate(fn, msg).apply(this, arguments);\n    };\n  }\n\n  if (process.noDeprecation === true) {\n    return fn;\n  }\n\n  var warned = false;\n  function deprecated() {\n    if (!warned) {\n      if (process.throwDeprecation) {\n        throw new Error(msg);\n      } else if (process.traceDeprecation) {\n        console.trace(msg);\n      } else {\n        console.error(msg);\n      }\n      warned = true;\n    }\n    return fn.apply(this, arguments);\n  }\n\n  return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnviron;\nexports.debuglog = function(set) {\n  if (isUndefined(debugEnviron))\n    debugEnviron = process.env.NODE_DEBUG || '';\n  set = set.toUpperCase();\n  if (!debugs[set]) {\n    if (new RegExp('\\\\b' + set + '\\\\b', 'i').test(debugEnviron)) {\n      var pid = process.pid;\n      debugs[set] = function() {\n        var msg = exports.format.apply(exports, arguments);\n        console.error('%s %d: %s', set, pid, msg);\n      };\n    } else {\n      debugs[set] = function() {};\n    }\n  }\n  return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n  // default options\n  var ctx = {\n    seen: [],\n    stylize: stylizeNoColor\n  };\n  // legacy...\n  if (arguments.length >= 3) ctx.depth = arguments[2];\n  if (arguments.length >= 4) ctx.colors = arguments[3];\n  if (isBoolean(opts)) {\n    // legacy...\n    ctx.showHidden = opts;\n  } else if (opts) {\n    // got an \"options\" object\n    exports._extend(ctx, opts);\n  }\n  // set default options\n  if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n  if (isUndefined(ctx.depth)) ctx.depth = 2;\n  if (isUndefined(ctx.colors)) ctx.colors = false;\n  if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n  if (ctx.colors) ctx.stylize = stylizeWithColor;\n  return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n  'bold' : [1, 22],\n  'italic' : [3, 23],\n  'underline' : [4, 24],\n  'inverse' : [7, 27],\n  'white' : [37, 39],\n  'grey' : [90, 39],\n  'black' : [30, 39],\n  'blue' : [34, 39],\n  'cyan' : [36, 39],\n  'green' : [32, 39],\n  'magenta' : [35, 39],\n  'red' : [31, 39],\n  'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n  'special': 'cyan',\n  'number': 'yellow',\n  'boolean': 'yellow',\n  'undefined': 'grey',\n  'null': 'bold',\n  'string': 'green',\n  'date': 'magenta',\n  // \"name\": intentionally not styling\n  'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n  var style = inspect.styles[styleType];\n\n  if (style) {\n    return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n           '\\u001b[' + inspect.colors[style][1] + 'm';\n  } else {\n    return str;\n  }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n  return str;\n}\n\n\nfunction arrayToHash(array) {\n  var hash = {};\n\n  array.forEach(function(val, idx) {\n    hash[val] = true;\n  });\n\n  return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n  // Provide a hook for user-specified inspect functions.\n  // Check that value is an object with an inspect function on it\n  if (ctx.customInspect &&\n      value &&\n      isFunction(value.inspect) &&\n      // Filter out the util module, it's inspect function is special\n      value.inspect !== exports.inspect &&\n      // Also filter out any prototype objects using the circular check.\n      !(value.constructor && value.constructor.prototype === value)) {\n    var ret = value.inspect(recurseTimes, ctx);\n    if (!isString(ret)) {\n      ret = formatValue(ctx, ret, recurseTimes);\n    }\n    return ret;\n  }\n\n  // Primitive types cannot have properties\n  var primitive = formatPrimitive(ctx, value);\n  if (primitive) {\n    return primitive;\n  }\n\n  // Look up the keys of the object.\n  var keys = Object.keys(value);\n  var visibleKeys = arrayToHash(keys);\n\n  if (ctx.showHidden) {\n    keys = Object.getOwnPropertyNames(value);\n  }\n\n  // IE doesn't make error fields non-enumerable\n  // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n  if (isError(value)\n      && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n    return formatError(value);\n  }\n\n  // Some type of object without properties can be shortcutted.\n  if (keys.length === 0) {\n    if (isFunction(value)) {\n      var name = value.name ? ': ' + value.name : '';\n      return ctx.stylize('[Function' + name + ']', 'special');\n    }\n    if (isRegExp(value)) {\n      return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n    }\n    if (isDate(value)) {\n      return ctx.stylize(Date.prototype.toString.call(value), 'date');\n    }\n    if (isError(value)) {\n      return formatError(value);\n    }\n  }\n\n  var base = '', array = false, braces = ['{', '}'];\n\n  // Make Array say that they are Array\n  if (isArray(value)) {\n    array = true;\n    braces = ['[', ']'];\n  }\n\n  // Make functions say that they are functions\n  if (isFunction(value)) {\n    var n = value.name ? ': ' + value.name : '';\n    base = ' [Function' + n + ']';\n  }\n\n  // Make RegExps say that they are RegExps\n  if (isRegExp(value)) {\n    base = ' ' + RegExp.prototype.toString.call(value);\n  }\n\n  // Make dates with properties first say the date\n  if (isDate(value)) {\n    base = ' ' + Date.prototype.toUTCString.call(value);\n  }\n\n  // Make error with message first say the error\n  if (isError(value)) {\n    base = ' ' + formatError(value);\n  }\n\n  if (keys.length === 0 && (!array || value.length == 0)) {\n    return braces[0] + base + braces[1];\n  }\n\n  if (recurseTimes < 0) {\n    if (isRegExp(value)) {\n      return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n    } else {\n      return ctx.stylize('[Object]', 'special');\n    }\n  }\n\n  ctx.seen.push(value);\n\n  var output;\n  if (array) {\n    output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n  } else {\n    output = keys.map(function(key) {\n      return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n    });\n  }\n\n  ctx.seen.pop();\n\n  return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n  if (isUndefined(value))\n    return ctx.stylize('undefined', 'undefined');\n  if (isString(value)) {\n    var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n                                             .replace(/'/g, \"\\\\'\")\n                                             .replace(/\\\\\"/g, '\"') + '\\'';\n    return ctx.stylize(simple, 'string');\n  }\n  if (isNumber(value))\n    return ctx.stylize('' + value, 'number');\n  if (isBoolean(value))\n    return ctx.stylize('' + value, 'boolean');\n  // For some reason typeof null is \"object\", so special case here.\n  if (isNull(value))\n    return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n  return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n  var output = [];\n  for (var i = 0, l = value.length; i < l; ++i) {\n    if (hasOwnProperty(value, String(i))) {\n      output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n          String(i), true));\n    } else {\n      output.push('');\n    }\n  }\n  keys.forEach(function(key) {\n    if (!key.match(/^\\d+$/)) {\n      output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n          key, true));\n    }\n  });\n  return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n  var name, str, desc;\n  desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n  if (desc.get) {\n    if (desc.set) {\n      str = ctx.stylize('[Getter/Setter]', 'special');\n    } else {\n      str = ctx.stylize('[Getter]', 'special');\n    }\n  } else {\n    if (desc.set) {\n      str = ctx.stylize('[Setter]', 'special');\n    }\n  }\n  if (!hasOwnProperty(visibleKeys, key)) {\n    name = '[' + key + ']';\n  }\n  if (!str) {\n    if (ctx.seen.indexOf(desc.value) < 0) {\n      if (isNull(recurseTimes)) {\n        str = formatValue(ctx, desc.value, null);\n      } else {\n        str = formatValue(ctx, desc.value, recurseTimes - 1);\n      }\n      if (str.indexOf('\\n') > -1) {\n        if (array) {\n          str = str.split('\\n').map(function(line) {\n            return '  ' + line;\n          }).join('\\n').substr(2);\n        } else {\n          str = '\\n' + str.split('\\n').map(function(line) {\n            return '   ' + line;\n          }).join('\\n');\n        }\n      }\n    } else {\n      str = ctx.stylize('[Circular]', 'special');\n    }\n  }\n  if (isUndefined(name)) {\n    if (array && key.match(/^\\d+$/)) {\n      return str;\n    }\n    name = JSON.stringify('' + key);\n    if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n      name = name.substr(1, name.length - 2);\n      name = ctx.stylize(name, 'name');\n    } else {\n      name = name.replace(/'/g, \"\\\\'\")\n                 .replace(/\\\\\"/g, '\"')\n                 .replace(/(^\"|\"$)/g, \"'\");\n      name = ctx.stylize(name, 'string');\n    }\n  }\n\n  return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n  var numLinesEst = 0;\n  var length = output.reduce(function(prev, cur) {\n    numLinesEst++;\n    if (cur.indexOf('\\n') >= 0) numLinesEst++;\n    return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n  }, 0);\n\n  if (length > 60) {\n    return braces[0] +\n           (base === '' ? '' : base + '\\n ') +\n           ' ' +\n           output.join(',\\n  ') +\n           ' ' +\n           braces[1];\n  }\n\n  return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nfunction isArray(ar) {\n  return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n  return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n  return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n  return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n  return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n  return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n  return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n  return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n  return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n  return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n  return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n  return isObject(e) &&\n      (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n  return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n  return arg === null ||\n         typeof arg === 'boolean' ||\n         typeof arg === 'number' ||\n         typeof arg === 'string' ||\n         typeof arg === 'symbol' ||  // ES6 symbol\n         typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n  return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n  return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n              'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n  var d = new Date();\n  var time = [pad(d.getHours()),\n              pad(d.getMinutes()),\n              pad(d.getSeconds())].join(':');\n  return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n  console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n *     prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n  // Don't do anything if add isn't an object\n  if (!add || !isObject(add)) return origin;\n\n  var keys = Object.keys(add);\n  var i = keys.length;\n  while (i--) {\n    origin[keys[i]] = add[keys[i]];\n  }\n  return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n  return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/util/util.js\n// module id = 787\n// module chunks = 0","module.exports = function(module) {\r\n\tif(!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tif(!module.children) module.children = [];\r\n\t\tObject.defineProperty(module, \"loaded\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tconfigurable: false,\r\n\t\t\tget: function() { return module.l; }\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"id\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tconfigurable: false,\r\n\t\t\tget: function() { return module.i; }\r\n\t\t});\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/module.js\n// module id = 788\n// module chunks = 0","function webpackEmptyContext(req) {\n\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = 789;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public async\n// module id = 789\n// module chunks = 0","import './polyfills.ts';\r\n\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\nimport { enableProdMode } from '@angular/core';\r\nimport { environment } from './environments/environment';\r\nimport { AppModule } from './app/';\r\n//import { AppStoreModule } from './app/';\r\n//import { AppUserModule } from './app/';\r\n\r\nif (environment.production) {\r\n  enableProdMode();\r\n}\r\nplatformBrowserDynamic().bootstrapModule(AppModule);\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/main.ts","/**\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/**\n * @module\n * @description\n * Entry point for all public APIs of the common package.\n */\nexport { PlatformLocation, LocationStrategy, APP_BASE_HREF, HashLocationStrategy, PathLocationStrategy, Location } from './location/index';\nexport { NgLocalization } from './localization';\nexport { CommonModule } from './common_module';\nexport { NgClass, NgFor, NgIf, NgPlural, NgPluralCase, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgTemplateOutlet } from './directives/index';\nexport { AsyncPipe, DatePipe, I18nPluralPipe, I18nSelectPipe, JsonPipe, LowerCasePipe, CurrencyPipe, DecimalPipe, PercentPipe, SlicePipe, UpperCasePipe } from './pipes/index';\nexport { VERSION } from './version';\nexport { Version } from '@angular/core';\n//# sourceMappingURL=common.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/common/src/common.js\n// module id = 820\n// module chunks = 0","/**\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 */\nimport { NgModule } from '@angular/core';\nimport { COMMON_DIRECTIVES } from './directives/index';\nimport { NgLocaleLocalization, NgLocalization } from './localization';\nimport { COMMON_PIPES } from './pipes/index';\n/**\n * The module that includes all the basic Angular directives like {\\@link NgIf}, {\\@link NgFor}, ...\n *\n * \\@stable\n */\nexport var CommonModule = (function () {\n    function CommonModule() {\n    }\n    CommonModule.decorators = [\n        { type: NgModule, args: [{\n                    declarations: [COMMON_DIRECTIVES, COMMON_PIPES],\n                    exports: [COMMON_DIRECTIVES, COMMON_PIPES],\n                    providers: [\n                        { provide: NgLocalization, useClass: NgLocaleLocalization },\n                    ],\n                },] },\n    ];\n    /** @nocollapse */\n    CommonModule.ctorParameters = function () { return []; };\n    return CommonModule;\n}());\nfunction CommonModule_tsickle_Closure_declarations() {\n    /** @type {?} */\n    CommonModule.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    CommonModule.ctorParameters;\n}\n//# sourceMappingURL=common_module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/common/src/common_module.js\n// module id = 821\n// module chunks = 0","/**\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 */\nimport { Directive, ElementRef, Input, IterableDiffers, KeyValueDiffers, Renderer } from '@angular/core';\nimport { isListLikeIterable } from '../facade/collection';\nimport { stringify } from '../facade/lang';\n/**\n * \\@ngModule CommonModule\n *\n * \\@whatItDoes Adds and removes CSS classes on an HTML element.\n *\n * \\@howToUse\n * ```\n *     <some-element [ngClass]=\"'first second'\">...</some-element>\n *\n *     <some-element [ngClass]=\"['first', 'second']\">...</some-element>\n *\n *     <some-element [ngClass]=\"{'first': true, 'second': true, 'third': false}\">...</some-element>\n *\n *     <some-element [ngClass]=\"stringExp|arrayExp|objExp\">...</some-element>\n *\n *     <some-element [ngClass]=\"{'class1 class2 class3' : true}\">...</some-element>\n * ```\n *\n * \\@description\n *\n * The CSS classes are updated as follows, depending on the type of the expression evaluation:\n * - `string` - the CSS classes listed in the string (space delimited) are added,\n * - `Array` - the CSS classes declared as Array elements are added,\n * - `Object` - keys are CSS classes that get added when the expression given in the value\n *              evaluates to a truthy value, otherwise they are removed.\n *\n * \\@stable\n */\nexport var NgClass = (function () {\n    /**\n     * @param {?} _iterableDiffers\n     * @param {?} _keyValueDiffers\n     * @param {?} _ngEl\n     * @param {?} _renderer\n     */\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, \"klass\", {\n        /**\n         * @param {?} v\n         * @return {?}\n         */\n        set: function (v) {\n            this._applyInitialClasses(true);\n            this._initialClasses = typeof v === 'string' ? v.split(/\\s+/) : [];\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        /**\n         * @param {?} v\n         * @return {?}\n         */\n        set: function (v) {\n            this._cleanupClasses(this._rawClass);\n            this._iterableDiffer = null;\n            this._keyValueDiffer = null;\n            this._rawClass = typeof v === 'string' ? v.split(/\\s+/) : v;\n            if (this._rawClass) {\n                if (isListLikeIterable(this._rawClass)) {\n                    this._iterableDiffer = this._iterableDiffers.find(this._rawClass).create(null);\n                }\n                else {\n                    this._keyValueDiffer = this._keyValueDiffers.find(this._rawClass).create(null);\n                }\n            }\n        },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @return {?}\n     */\n    NgClass.prototype.ngDoCheck = function () {\n        if (this._iterableDiffer) {\n            var /** @type {?} */ changes = this._iterableDiffer.diff(this._rawClass);\n            if (changes) {\n                this._applyIterableChanges(changes);\n            }\n        }\n        else if (this._keyValueDiffer) {\n            var /** @type {?} */ changes = this._keyValueDiffer.diff(this._rawClass);\n            if (changes) {\n                this._applyKeyValueChanges(changes);\n            }\n        }\n    };\n    /**\n     * @param {?} rawClassVal\n     * @return {?}\n     */\n    NgClass.prototype._cleanupClasses = function (rawClassVal) {\n        this._applyClasses(rawClassVal, true);\n        this._applyInitialClasses(false);\n    };\n    /**\n     * @param {?} changes\n     * @return {?}\n     */\n    NgClass.prototype._applyKeyValueChanges = function (changes) {\n        var _this = this;\n        changes.forEachAddedItem(function (record) { return _this._toggleClass(record.key, record.currentValue); });\n        changes.forEachChangedItem(function (record) { return _this._toggleClass(record.key, record.currentValue); });\n        changes.forEachRemovedItem(function (record) {\n            if (record.previousValue) {\n                _this._toggleClass(record.key, false);\n            }\n        });\n    };\n    /**\n     * @param {?} changes\n     * @return {?}\n     */\n    NgClass.prototype._applyIterableChanges = function (changes) {\n        var _this = this;\n        changes.forEachAddedItem(function (record) {\n            if (typeof record.item === 'string') {\n                _this._toggleClass(record.item, true);\n            }\n            else {\n                throw new Error(\"NgClass can only toggle CSS classes expressed as strings, got \" + stringify(record.item));\n            }\n        });\n        changes.forEachRemovedItem(function (record) { return _this._toggleClass(record.item, false); });\n    };\n    /**\n     * @param {?} isCleanup\n     * @return {?}\n     */\n    NgClass.prototype._applyInitialClasses = function (isCleanup) {\n        var _this = this;\n        this._initialClasses.forEach(function (klass) { return _this._toggleClass(klass, !isCleanup); });\n    };\n    /**\n     * @param {?} rawClassVal\n     * @param {?} isCleanup\n     * @return {?}\n     */\n    NgClass.prototype._applyClasses = function (rawClassVal, isCleanup) {\n        var _this = this;\n        if (rawClassVal) {\n            if (Array.isArray(rawClassVal) || rawClassVal instanceof Set) {\n                ((rawClassVal)).forEach(function (klass) { return _this._toggleClass(klass, !isCleanup); });\n            }\n            else {\n                Object.keys(rawClassVal).forEach(function (klass) {\n                    if (rawClassVal[klass] != null)\n                        _this._toggleClass(klass, !isCleanup);\n                });\n            }\n        }\n    };\n    /**\n     * @param {?} klass\n     * @param {?} enabled\n     * @return {?}\n     */\n    NgClass.prototype._toggleClass = function (klass, enabled) {\n        var _this = this;\n        klass = klass.trim();\n        if (klass) {\n            klass.split(/\\s+/g).forEach(function (klass) { _this._renderer.setElementClass(_this._ngEl.nativeElement, klass, enabled); });\n        }\n    };\n    NgClass.decorators = [\n        { type: Directive, args: [{ selector: '[ngClass]' },] },\n    ];\n    /** @nocollapse */\n    NgClass.ctorParameters = function () { return [\n        { type: IterableDiffers, },\n        { type: KeyValueDiffers, },\n        { type: ElementRef, },\n        { type: Renderer, },\n    ]; };\n    NgClass.propDecorators = {\n        'klass': [{ type: Input, args: ['class',] },],\n        'ngClass': [{ type: Input },],\n    };\n    return NgClass;\n}());\nfunction NgClass_tsickle_Closure_declarations() {\n    /** @type {?} */\n    NgClass.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    NgClass.ctorParameters;\n    /** @type {?} */\n    NgClass.propDecorators;\n    /** @type {?} */\n    NgClass.prototype._iterableDiffer;\n    /** @type {?} */\n    NgClass.prototype._keyValueDiffer;\n    /** @type {?} */\n    NgClass.prototype._initialClasses;\n    /** @type {?} */\n    NgClass.prototype._rawClass;\n    /** @type {?} */\n    NgClass.prototype._iterableDiffers;\n    /** @type {?} */\n    NgClass.prototype._keyValueDiffers;\n    /** @type {?} */\n    NgClass.prototype._ngEl;\n    /** @type {?} */\n    NgClass.prototype._renderer;\n}\n//# sourceMappingURL=ng_class.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/common/src/directives/ng_class.js\n// module id = 822\n// module chunks = 0","/**\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 */\nimport { ChangeDetectorRef, Directive, Input, IterableDiffers, TemplateRef, ViewContainerRef, isDevMode } from '@angular/core';\nimport { getTypeNameForDebugging } from '../facade/lang';\nexport var NgForRow = (function () {\n    /**\n     * @param {?} $implicit\n     * @param {?} index\n     * @param {?} count\n     */\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        /**\n         * @return {?}\n         */\n        get: function () { return this.index === 0; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgForRow.prototype, \"last\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this.index === this.count - 1; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgForRow.prototype, \"even\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this.index % 2 === 0; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgForRow.prototype, \"odd\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return !this.even; },\n        enumerable: true,\n        configurable: true\n    });\n    return NgForRow;\n}());\nfunction NgForRow_tsickle_Closure_declarations() {\n    /** @type {?} */\n    NgForRow.prototype.$implicit;\n    /** @type {?} */\n    NgForRow.prototype.index;\n    /** @type {?} */\n    NgForRow.prototype.count;\n}\n/**\n * The `NgFor` directive instantiates a template once per item from an iterable. The context for\n * each instantiated template inherits from the outer context with the given loop variable set\n * to the current item from the iterable.\n *\n * ### Local Variables\n *\n * `NgFor` provides several exported values that can be aliased to local variables:\n *\n * * `index` will be set to the current loop iteration for each template context.\n * * `first` will be set to a boolean value indicating whether the item is the first one in the\n *   iteration.\n * * `last` will be set to a boolean value indicating whether the item is the last one in the\n *   iteration.\n * * `even` will be set to a boolean value indicating whether this item has an even index.\n * * `odd` will be set to a boolean value indicating whether this item has an odd index.\n *\n * ### Change Propagation\n *\n * When the contents of the iterator changes, `NgFor` makes the corresponding changes to the DOM:\n *\n * * When an item is added, a new instance of the template is added to the DOM.\n * * When an item is removed, its template instance is removed from the DOM.\n * * When items are reordered, their respective templates are reordered in the DOM.\n * * Otherwise, the DOM element for that item will remain the same.\n *\n * Angular uses object identity to track insertions and deletions within the iterator and reproduce\n * those changes in the DOM. This has important implications for animations and any stateful\n * controls\n * (such as `<input>` elements which accept user input) that are present. Inserted rows can be\n * animated in, deleted rows can be animated out, and unchanged rows retain any unsaved state such\n * as user input.\n *\n * It is possible for the identities of elements in the iterator to change while the data does not.\n * This can happen, for example, if the iterator produced from an RPC to the server, and that\n * RPC is re-run. Even if the data hasn't changed, the second response will produce objects with\n * different identities, and Angular will tear down the entire DOM and rebuild it (as if all old\n * elements were deleted and all new elements inserted). This is an expensive operation and should\n * be avoided if possible.\n *\n * To customize the default tracking algorithm, `NgFor` supports `trackBy` option.\n * `trackBy` takes a function which has two arguments: `index` and `item`.\n * If `trackBy` is given, Angular tracks changes by the return value of the function.\n *\n * ### Syntax\n *\n * - `<li *ngFor=\"let item of items; let i = index; trackBy: trackByFn\">...</li>`\n * - `<li template=\"ngFor let item of items; let i = index; trackBy: trackByFn\">...</li>`\n *\n * With `<template>` element:\n *\n * ```\n * <template ngFor let-item [ngForOf]=\"items\" let-i=\"index\" [ngForTrackBy]=\"trackByFn\">\n *   <li>...</li>\n * </template>\n * ```\n *\n * ### Example\n *\n * See a [live demo](http://plnkr.co/edit/KVuXxDp0qinGDyo307QW?p=preview) for a more detailed\n * example.\n *\n * \\@stable\n */\nexport var NgFor = (function () {\n    /**\n     * @param {?} _viewContainer\n     * @param {?} _template\n     * @param {?} _differs\n     * @param {?} _cdr\n     */\n    function NgFor(_viewContainer, _template, _differs, _cdr) {\n        this._viewContainer = _viewContainer;\n        this._template = _template;\n        this._differs = _differs;\n        this._cdr = _cdr;\n        this._differ = null;\n    }\n    Object.defineProperty(NgFor.prototype, \"ngForTrackBy\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._trackByFn; },\n        /**\n         * @param {?} fn\n         * @return {?}\n         */\n        set: function (fn) {\n            if (isDevMode() && fn != null && typeof fn !== 'function') {\n                // TODO(vicb): use a log service once there is a public one available\n                if ((console) && (console.warn)) {\n                    console.warn((\"trackBy must be a function, but received \" + JSON.stringify(fn) + \". \") +\n                        \"See https://angular.io/docs/ts/latest/api/common/index/NgFor-directive.html#!#change-propagation for more information.\");\n                }\n            }\n            this._trackByFn = fn;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgFor.prototype, \"ngForTemplate\", {\n        /**\n         * @param {?} value\n         * @return {?}\n         */\n        set: function (value) {\n            if (value) {\n                this._template = value;\n            }\n        },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @param {?} changes\n     * @return {?}\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 /** @type {?} */ value = changes['ngForOf'].currentValue;\n            if (!this._differ && value) {\n                try {\n                    this._differ = this._differs.find(value).create(this._cdr, this.ngForTrackBy);\n                }\n                catch (e) {\n                    throw new Error(\"Cannot find a differ supporting object '\" + value + \"' of type '\" + getTypeNameForDebugging(value) + \"'. NgFor only supports binding to Iterables such as Arrays.\");\n                }\n            }\n        }\n    };\n    /**\n     * @return {?}\n     */\n    NgFor.prototype.ngDoCheck = function () {\n        if (this._differ) {\n            var /** @type {?} */ changes = this._differ.diff(this.ngForOf);\n            if (changes)\n                this._applyChanges(changes);\n        }\n    };\n    /**\n     * @param {?} changes\n     * @return {?}\n     */\n    NgFor.prototype._applyChanges = function (changes) {\n        var _this = this;\n        var /** @type {?} */ insertTuples = [];\n        changes.forEachOperation(function (item, adjustedPreviousIndex, currentIndex) {\n            if (item.previousIndex == null) {\n                var /** @type {?} */ view = _this._viewContainer.createEmbeddedView(_this._template, new NgForRow(null, null, null), currentIndex);\n                var /** @type {?} */ tuple = new RecordViewTuple(item, view);\n                insertTuples.push(tuple);\n            }\n            else if (currentIndex == null) {\n                _this._viewContainer.remove(adjustedPreviousIndex);\n            }\n            else {\n                var /** @type {?} */ view = _this._viewContainer.get(adjustedPreviousIndex);\n                _this._viewContainer.move(view, currentIndex);\n                var /** @type {?} */ tuple = new RecordViewTuple(item, /** @type {?} */ (view));\n                insertTuples.push(tuple);\n            }\n        });\n        for (var /** @type {?} */ i = 0; i < insertTuples.length; i++) {\n            this._perViewChange(insertTuples[i].view, insertTuples[i].record);\n        }\n        for (var /** @type {?} */ i = 0, /** @type {?} */ ilen = this._viewContainer.length; i < ilen; i++) {\n            var /** @type {?} */ viewRef = (this._viewContainer.get(i));\n            viewRef.context.index = i;\n            viewRef.context.count = ilen;\n        }\n        changes.forEachIdentityChange(function (record) {\n            var /** @type {?} */ viewRef = (_this._viewContainer.get(record.currentIndex));\n            viewRef.context.$implicit = record.item;\n        });\n    };\n    /**\n     * @param {?} view\n     * @param {?} record\n     * @return {?}\n     */\n    NgFor.prototype._perViewChange = function (view, record) {\n        view.context.$implicit = record.item;\n    };\n    NgFor.decorators = [\n        { type: Directive, args: [{ selector: '[ngFor][ngForOf]' },] },\n    ];\n    /** @nocollapse */\n    NgFor.ctorParameters = function () { return [\n        { type: ViewContainerRef, },\n        { type: TemplateRef, },\n        { type: IterableDiffers, },\n        { type: ChangeDetectorRef, },\n    ]; };\n    NgFor.propDecorators = {\n        'ngForOf': [{ type: Input },],\n        'ngForTrackBy': [{ type: Input },],\n        'ngForTemplate': [{ type: Input },],\n    };\n    return NgFor;\n}());\nfunction NgFor_tsickle_Closure_declarations() {\n    /** @type {?} */\n    NgFor.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    NgFor.ctorParameters;\n    /** @type {?} */\n    NgFor.propDecorators;\n    /** @type {?} */\n    NgFor.prototype.ngForOf;\n    /** @type {?} */\n    NgFor.prototype._differ;\n    /** @type {?} */\n    NgFor.prototype._trackByFn;\n    /** @type {?} */\n    NgFor.prototype._viewContainer;\n    /** @type {?} */\n    NgFor.prototype._template;\n    /** @type {?} */\n    NgFor.prototype._differs;\n    /** @type {?} */\n    NgFor.prototype._cdr;\n}\nvar RecordViewTuple = (function () {\n    /**\n     * @param {?} record\n     * @param {?} view\n     */\n    function RecordViewTuple(record, view) {\n        this.record = record;\n        this.view = view;\n    }\n    return RecordViewTuple;\n}());\nfunction RecordViewTuple_tsickle_Closure_declarations() {\n    /** @type {?} */\n    RecordViewTuple.prototype.record;\n    /** @type {?} */\n    RecordViewTuple.prototype.view;\n}\n//# sourceMappingURL=ng_for.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/common/src/directives/ng_for.js\n// module id = 823\n// module chunks = 0","/**\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 */\nimport { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core';\n/**\n * Removes or recreates a portion of the DOM tree based on an {expression}.\n *\n * If the expression assigned to `ngIf` evaluates to a falsy value then the element\n * is removed from the DOM, otherwise a clone of the element is reinserted into the DOM.\n *\n * ### Example ([live demo](http://plnkr.co/edit/fe0kgemFBtmQOY31b4tw?p=preview)):\n *\n * ```\n * <div *ngIf=\"errorCount > 0\" class=\"error\">\n *   <!-- Error message displayed when the errorCount property in the current context is greater\n * than 0. -->\n *   {{errorCount}} errors detected\n * </div>\n * ```\n *\n * ### Syntax\n *\n * - `<div *ngIf=\"condition\">...</div>`\n * - `<div template=\"ngIf condition\">...</div>`\n * - `<template [ngIf]=\"condition\"><div>...</div></template>`\n *\n * \\@stable\n */\nexport var NgIf = (function () {\n    /**\n     * @param {?} _viewContainer\n     * @param {?} _template\n     */\n    function NgIf(_viewContainer, _template) {\n        this._viewContainer = _viewContainer;\n        this._template = _template;\n        this._hasView = false;\n    }\n    Object.defineProperty(NgIf.prototype, \"ngIf\", {\n        /**\n         * @param {?} condition\n         * @return {?}\n         */\n        set: function (condition) {\n            if (condition && !this._hasView) {\n                this._hasView = true;\n                this._viewContainer.createEmbeddedView(this._template);\n            }\n            else if (!condition && this._hasView) {\n                this._hasView = false;\n                this._viewContainer.clear();\n            }\n        },\n        enumerable: true,\n        configurable: true\n    });\n    NgIf.decorators = [\n        { type: Directive, args: [{ selector: '[ngIf]' },] },\n    ];\n    /** @nocollapse */\n    NgIf.ctorParameters = function () { return [\n        { type: ViewContainerRef, },\n        { type: TemplateRef, },\n    ]; };\n    NgIf.propDecorators = {\n        'ngIf': [{ type: Input },],\n    };\n    return NgIf;\n}());\nfunction NgIf_tsickle_Closure_declarations() {\n    /** @type {?} */\n    NgIf.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    NgIf.ctorParameters;\n    /** @type {?} */\n    NgIf.propDecorators;\n    /** @type {?} */\n    NgIf.prototype._hasView;\n    /** @type {?} */\n    NgIf.prototype._viewContainer;\n    /** @type {?} */\n    NgIf.prototype._template;\n}\n//# sourceMappingURL=ng_if.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/common/src/directives/ng_if.js\n// module id = 824\n// module chunks = 0","/**\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 */\nimport { Attribute, Directive, Host, Input, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { NgLocalization, getPluralCategory } from '../localization';\nimport { SwitchView } from './ng_switch';\n/**\n * \\@ngModule CommonModule\n *\n * \\@whatItDoes Adds / removes DOM sub-trees based on a numeric value. Tailored for pluralization.\n *\n * \\@howToUse\n * ```\n * <some-element [ngPlural]=\"value\">\n *   <template ngPluralCase=\"=0\">there is nothing</template>\n *   <template ngPluralCase=\"=1\">there is one</template>\n *   <template ngPluralCase=\"few\">there are a few</template>\n * </some-element>\n * ```\n *\n * \\@description\n *\n * Displays DOM sub-trees that match the switch expression value, or failing that, DOM sub-trees\n * that match the switch expression's pluralization category.\n *\n * To use this directive you must provide a container element that sets the `[ngPlural]` attribute\n * to a switch expression. Inner elements with a `[ngPluralCase]` will display based on their\n * expression:\n * - if `[ngPluralCase]` is set to a value starting with `=`, it will only display if the value\n *   matches the switch expression exactly,\n * - otherwise, the view will be treated as a \"category match\", and will only display if exact\n *   value matches aren't found and the value maps to its category for the defined locale.\n *\n * See http://cldr.unicode.org/index/cldr-spec/plural-rules\n *\n * \\@experimental\n */\nexport var NgPlural = (function () {\n    /**\n     * @param {?} _localization\n     */\n    function NgPlural(_localization) {\n        this._localization = _localization;\n        this._caseViews = {};\n    }\n    Object.defineProperty(NgPlural.prototype, \"ngPlural\", {\n        /**\n         * @param {?} value\n         * @return {?}\n         */\n        set: function (value) {\n            this._switchValue = value;\n            this._updateView();\n        },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @param {?} value\n     * @param {?} switchView\n     * @return {?}\n     */\n    NgPlural.prototype.addCase = function (value, switchView) { this._caseViews[value] = switchView; };\n    /**\n     * @return {?}\n     */\n    NgPlural.prototype._updateView = function () {\n        this._clearViews();\n        var /** @type {?} */ cases = Object.keys(this._caseViews);\n        var /** @type {?} */ key = getPluralCategory(this._switchValue, cases, this._localization);\n        this._activateView(this._caseViews[key]);\n    };\n    /**\n     * @return {?}\n     */\n    NgPlural.prototype._clearViews = function () {\n        if (this._activeView)\n            this._activeView.destroy();\n    };\n    /**\n     * @param {?} view\n     * @return {?}\n     */\n    NgPlural.prototype._activateView = function (view) {\n        if (view) {\n            this._activeView = view;\n            this._activeView.create();\n        }\n    };\n    NgPlural.decorators = [\n        { type: Directive, args: [{ selector: '[ngPlural]' },] },\n    ];\n    /** @nocollapse */\n    NgPlural.ctorParameters = function () { return [\n        { type: NgLocalization, },\n    ]; };\n    NgPlural.propDecorators = {\n        'ngPlural': [{ type: Input },],\n    };\n    return NgPlural;\n}());\nfunction NgPlural_tsickle_Closure_declarations() {\n    /** @type {?} */\n    NgPlural.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    NgPlural.ctorParameters;\n    /** @type {?} */\n    NgPlural.propDecorators;\n    /** @type {?} */\n    NgPlural.prototype._switchValue;\n    /** @type {?} */\n    NgPlural.prototype._activeView;\n    /** @type {?} */\n    NgPlural.prototype._caseViews;\n    /** @type {?} */\n    NgPlural.prototype._localization;\n}\n/**\n * \\@ngModule CommonModule\n *\n * \\@whatItDoes Creates a view that will be added/removed from the parent {\\@link NgPlural} when the\n *             given expression matches the plural expression according to CLDR rules.\n *\n * \\@howToUse\n * ```\n * <some-element [ngPlural]=\"value\">\n *   <template ngPluralCase=\"=0\">...</template>\n *   <template ngPluralCase=\"other\">...</template>\n * </some-element>\n * ```\n *\n * See {\\@link NgPlural} for more details and example.\n *\n * \\@experimental\n */\nexport var NgPluralCase = (function () {\n    /**\n     * @param {?} value\n     * @param {?} template\n     * @param {?} viewContainer\n     * @param {?} ngPlural\n     */\n    function NgPluralCase(value, template, viewContainer, ngPlural) {\n        this.value = value;\n        var isANumber = !isNaN(Number(value));\n        ngPlural.addCase(isANumber ? \"=\" + value : value, new SwitchView(viewContainer, template));\n    }\n    NgPluralCase.decorators = [\n        { type: Directive, args: [{ selector: '[ngPluralCase]' },] },\n    ];\n    /** @nocollapse */\n    NgPluralCase.ctorParameters = function () { return [\n        { type: undefined, decorators: [{ type: Attribute, args: ['ngPluralCase',] },] },\n        { type: TemplateRef, },\n        { type: ViewContainerRef, },\n        { type: NgPlural, decorators: [{ type: Host },] },\n    ]; };\n    return NgPluralCase;\n}());\nfunction NgPluralCase_tsickle_Closure_declarations() {\n    /** @type {?} */\n    NgPluralCase.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    NgPluralCase.ctorParameters;\n    /** @type {?} */\n    NgPluralCase.prototype.value;\n}\n//# sourceMappingURL=ng_plural.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/common/src/directives/ng_plural.js\n// module id = 825\n// module chunks = 0","/**\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 */\nimport { Directive, ElementRef, Input, KeyValueDiffers, Renderer } from '@angular/core';\n/**\n * \\@ngModule CommonModule\n *\n * \\@whatItDoes Update an HTML element styles.\n *\n * \\@howToUse\n * ```\n * <some-element [ngStyle]=\"{'font-style': styleExp}\">...</some-element>\n *\n * <some-element [ngStyle]=\"{'max-width.px': widthExp}\">...</some-element>\n *\n * <some-element [ngStyle]=\"objExp\">...</some-element>\n * ```\n *\n * \\@description\n *\n * The styles are updated according to the value of the expression evaluation:\n * - keys are style names with an optional `.<unit>` suffix (ie 'top.px', 'font-style.em'),\n * - values are the values assigned to those properties (expressed in the given unit).\n *\n * \\@stable\n */\nexport var NgStyle = (function () {\n    /**\n     * @param {?} _differs\n     * @param {?} _ngEl\n     * @param {?} _renderer\n     */\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        /**\n         * @param {?} v\n         * @return {?}\n         */\n        set: function (v) {\n            this._ngStyle = v;\n            if (!this._differ && v) {\n                this._differ = this._differs.find(v).create(null);\n            }\n        },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @return {?}\n     */\n    NgStyle.prototype.ngDoCheck = function () {\n        if (this._differ) {\n            var /** @type {?} */ changes = this._differ.diff(this._ngStyle);\n            if (changes) {\n                this._applyChanges(changes);\n            }\n        }\n    };\n    /**\n     * @param {?} changes\n     * @return {?}\n     */\n    NgStyle.prototype._applyChanges = function (changes) {\n        var _this = this;\n        changes.forEachRemovedItem(function (record) { return _this._setStyle(record.key, null); });\n        changes.forEachAddedItem(function (record) { return _this._setStyle(record.key, record.currentValue); });\n        changes.forEachChangedItem(function (record) { return _this._setStyle(record.key, record.currentValue); });\n    };\n    /**\n     * @param {?} nameAndUnit\n     * @param {?} value\n     * @return {?}\n     */\n    NgStyle.prototype._setStyle = function (nameAndUnit, value) {\n        var _a = nameAndUnit.split('.'), name = _a[0], unit = _a[1];\n        value = value && unit ? \"\" + value + unit : value;\n        this._renderer.setElementStyle(this._ngEl.nativeElement, name, value);\n    };\n    NgStyle.decorators = [\n        { type: Directive, args: [{ selector: '[ngStyle]' },] },\n    ];\n    /** @nocollapse */\n    NgStyle.ctorParameters = function () { return [\n        { type: KeyValueDiffers, },\n        { type: ElementRef, },\n        { type: Renderer, },\n    ]; };\n    NgStyle.propDecorators = {\n        'ngStyle': [{ type: Input },],\n    };\n    return NgStyle;\n}());\nfunction NgStyle_tsickle_Closure_declarations() {\n    /** @type {?} */\n    NgStyle.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    NgStyle.ctorParameters;\n    /** @type {?} */\n    NgStyle.propDecorators;\n    /** @type {?} */\n    NgStyle.prototype._ngStyle;\n    /** @type {?} */\n    NgStyle.prototype._differ;\n    /** @type {?} */\n    NgStyle.prototype._differs;\n    /** @type {?} */\n    NgStyle.prototype._ngEl;\n    /** @type {?} */\n    NgStyle.prototype._renderer;\n}\n//# sourceMappingURL=ng_style.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/common/src/directives/ng_style.js\n// module id = 826\n// module chunks = 0","/**\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 */\nimport { Directive, Input, ViewContainerRef } from '@angular/core';\n/**\n * \\@ngModule CommonModule\n *\n * \\@whatItDoes Inserts an embedded view from a prepared `TemplateRef`\n *\n * \\@howToUse\n * ```\n * <template [ngTemplateOutlet]=\"templateRefExpression\"\n *           [ngOutletContext]=\"objectExpression\">\n * </template>\n * ```\n *\n * \\@description\n *\n * You can attach a context object to the `EmbeddedViewRef` by setting `[ngOutletContext]`.\n * `[ngOutletContext]` should be an object, the object's keys will be the local template variables\n * available within the `TemplateRef`.\n *\n * Note: using the key `$implicit` in the context object will set it's value as default.\n *\n * \\@experimental\n */\nexport var NgTemplateOutlet = (function () {\n    /**\n     * @param {?} _viewContainerRef\n     */\n    function NgTemplateOutlet(_viewContainerRef) {\n        this._viewContainerRef = _viewContainerRef;\n    }\n    Object.defineProperty(NgTemplateOutlet.prototype, \"ngOutletContext\", {\n        /**\n         * @param {?} context\n         * @return {?}\n         */\n        set: function (context) { this._context = context; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgTemplateOutlet.prototype, \"ngTemplateOutlet\", {\n        /**\n         * @param {?} templateRef\n         * @return {?}\n         */\n        set: function (templateRef) { this._templateRef = templateRef; },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @param {?} changes\n     * @return {?}\n     */\n    NgTemplateOutlet.prototype.ngOnChanges = function (changes) {\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    NgTemplateOutlet.decorators = [\n        { type: Directive, args: [{ selector: '[ngTemplateOutlet]' },] },\n    ];\n    /** @nocollapse */\n    NgTemplateOutlet.ctorParameters = function () { return [\n        { type: ViewContainerRef, },\n    ]; };\n    NgTemplateOutlet.propDecorators = {\n        'ngOutletContext': [{ type: Input },],\n        'ngTemplateOutlet': [{ type: Input },],\n    };\n    return NgTemplateOutlet;\n}());\nfunction NgTemplateOutlet_tsickle_Closure_declarations() {\n    /** @type {?} */\n    NgTemplateOutlet.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    NgTemplateOutlet.ctorParameters;\n    /** @type {?} */\n    NgTemplateOutlet.propDecorators;\n    /** @type {?} */\n    NgTemplateOutlet.prototype._viewRef;\n    /** @type {?} */\n    NgTemplateOutlet.prototype._context;\n    /** @type {?} */\n    NgTemplateOutlet.prototype._templateRef;\n    /** @type {?} */\n    NgTemplateOutlet.prototype._viewContainerRef;\n}\n//# sourceMappingURL=ng_template_outlet.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/common/src/directives/ng_template_outlet.js\n// module id = 827\n// module chunks = 0","/**\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 */\nimport { getSymbolIterator, isJsObject } from './lang';\n/**\n * Wraps Javascript Objects\n */\nexport var StringMapWrapper = (function () {\n    function StringMapWrapper() {\n    }\n    /**\n     * @param {?} m1\n     * @param {?} m2\n     * @return {?}\n     */\n    StringMapWrapper.merge = function (m1, m2) {\n        var /** @type {?} */ 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    /**\n     * @param {?} m1\n     * @param {?} m2\n     * @return {?}\n     */\n    StringMapWrapper.equals = function (m1, m2) {\n        var /** @type {?} */ k1 = Object.keys(m1);\n        var /** @type {?} */ k2 = Object.keys(m2);\n        if (k1.length != k2.length) {\n            return false;\n        }\n        for (var /** @type {?} */ i = 0; i < k1.length; i++) {\n            var /** @type {?} */ key = k1[i];\n            if (m1[key] !== m2[key]) {\n                return false;\n            }\n        }\n        return true;\n    };\n    return StringMapWrapper;\n}());\nexport var ListWrapper = (function () {\n    function ListWrapper() {\n    }\n    /**\n     * @param {?} arr\n     * @param {?} condition\n     * @return {?}\n     */\n    ListWrapper.findLast = function (arr, condition) {\n        for (var /** @type {?} */ i = arr.length - 1; i >= 0; i--) {\n            if (condition(arr[i])) {\n                return arr[i];\n            }\n        }\n        return null;\n    };\n    /**\n     * @param {?} list\n     * @param {?} items\n     * @return {?}\n     */\n    ListWrapper.removeAll = function (list, items) {\n        for (var /** @type {?} */ i = 0; i < items.length; ++i) {\n            var /** @type {?} */ index = list.indexOf(items[i]);\n            if (index > -1) {\n                list.splice(index, 1);\n            }\n        }\n    };\n    /**\n     * @param {?} list\n     * @param {?} el\n     * @return {?}\n     */\n    ListWrapper.remove = function (list, el) {\n        var /** @type {?} */ index = list.indexOf(el);\n        if (index > -1) {\n            list.splice(index, 1);\n            return true;\n        }\n        return false;\n    };\n    /**\n     * @param {?} a\n     * @param {?} b\n     * @return {?}\n     */\n    ListWrapper.equals = function (a, b) {\n        if (a.length != b.length)\n            return false;\n        for (var /** @type {?} */ i = 0; i < a.length; ++i) {\n            if (a[i] !== b[i])\n                return false;\n        }\n        return true;\n    };\n    /**\n     * @param {?} list\n     * @return {?}\n     */\n    ListWrapper.flatten = function (list) {\n        return list.reduce(function (flat, item) {\n            var /** @type {?} */ flatItem = Array.isArray(item) ? ListWrapper.flatten(item) : item;\n            return ((flat)).concat(flatItem);\n        }, []);\n    };\n    return ListWrapper;\n}());\n/**\n * @param {?} obj\n * @return {?}\n */\nexport function isListLikeIterable(obj) {\n    if (!isJsObject(obj))\n        return false;\n    return Array.isArray(obj) ||\n        (!(obj instanceof Map) &&\n            getSymbolIterator() in obj); // JS Iterable have a Symbol.iterator prop\n}\n/**\n * @param {?} a\n * @param {?} b\n * @param {?} comparator\n * @return {?}\n */\nexport function areIterablesEqual(a, b, comparator) {\n    var /** @type {?} */ iterator1 = a[getSymbolIterator()]();\n    var /** @type {?} */ iterator2 = b[getSymbolIterator()]();\n    while (true) {\n        var /** @type {?} */ item1 = iterator1.next();\n        var /** @type {?} */ item2 = iterator2.next();\n        if (item1.done && item2.done)\n            return true;\n        if (item1.done || item2.done)\n            return false;\n        if (!comparator(item1.value, item2.value))\n            return false;\n    }\n}\n/**\n * @param {?} obj\n * @param {?} fn\n * @return {?}\n */\nexport function iterateListLike(obj, fn) {\n    if (Array.isArray(obj)) {\n        for (var /** @type {?} */ i = 0; i < obj.length; i++) {\n            fn(obj[i]);\n        }\n    }\n    else {\n        var /** @type {?} */ iterator = obj[getSymbolIterator()]();\n        var /** @type {?} */ item = void 0;\n        while (!((item = iterator.next()).done)) {\n            fn(item.value);\n        }\n    }\n}\n//# sourceMappingURL=collection.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/common/src/facade/collection.js\n// module id = 828\n// module chunks = 0","var __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n/**\n * Convenience to throw an Error with 'unimplemented' as the message.\n * @return {?}\n */\nexport function unimplemented() {\n    throw new Error('unimplemented');\n}\n/**\n * \\@stable\n */\nexport var BaseError = (function (_super) {\n    __extends(BaseError, _super);\n    /**\n     * @param {?} message\n     */\n    function BaseError(message) {\n        _super.call(this, message);\n        // Errors don't use current this, instead they create a new instance.\n        // We have to do forward all of our api to the nativeInstance.\n        // TODO(bradfordcsmith): Remove this hack when\n        //     google/closure-compiler/issues/2102 is fixed.\n        var nativeError = new Error(message);\n        this._nativeError = nativeError;\n    }\n    Object.defineProperty(BaseError.prototype, \"message\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._nativeError.message; },\n        /**\n         * @param {?} message\n         * @return {?}\n         */\n        set: function (message) { this._nativeError.message = message; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(BaseError.prototype, \"name\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._nativeError.name; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(BaseError.prototype, \"stack\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return ((this._nativeError)).stack; },\n        /**\n         * @param {?} value\n         * @return {?}\n         */\n        set: function (value) { ((this._nativeError)).stack = value; },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @return {?}\n     */\n    BaseError.prototype.toString = function () { return this._nativeError.toString(); };\n    return BaseError;\n}(Error));\nfunction BaseError_tsickle_Closure_declarations() {\n    /**\n     * \\@internal *\n     * @type {?}\n     */\n    BaseError.prototype._nativeError;\n}\n/**\n * \\@stable\n */\nexport var WrappedError = (function (_super) {\n    __extends(WrappedError, _super);\n    /**\n     * @param {?} message\n     * @param {?} error\n     */\n    function WrappedError(message, error) {\n        _super.call(this, message + \" caused by: \" + (error instanceof Error ? error.message : error));\n        this.originalError = error;\n    }\n    Object.defineProperty(WrappedError.prototype, \"stack\", {\n        /**\n         * @return {?}\n         */\n        get: function () {\n            return (((this.originalError instanceof Error ? this.originalError : this._nativeError)))\n                .stack;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    return WrappedError;\n}(BaseError));\nfunction WrappedError_tsickle_Closure_declarations() {\n    /** @type {?} */\n    WrappedError.prototype.originalError;\n}\n//# sourceMappingURL=errors.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/common/src/facade/errors.js\n// module id = 829\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { isPresent } from '../facade/lang';\nimport { Location } from './location';\nimport { APP_BASE_HREF, LocationStrategy } from './location_strategy';\nimport { PlatformLocation } from './platform_location';\n/**\n * \\@whatItDoes Use URL hash for storing application location data.\n * \\@description\n * `HashLocationStrategy` is a {\\@link LocationStrategy} used to configure the\n * {\\@link Location} service to represent its state in the\n * [hash fragment](https://en.wikipedia.org/wiki/Uniform_Resource_Locator#Syntax)\n * of the browser's URL.\n *\n * For instance, if you call `location.go('/foo')`, the browser's URL will become\n * `example.com#/foo`.\n *\n * ### Example\n *\n * {\\@example common/location/ts/hash_location_component.ts region='LocationComponent'}\n *\n * \\@stable\n */\nexport var HashLocationStrategy = (function (_super) {\n    __extends(HashLocationStrategy, _super);\n    /**\n     * @param {?} _platformLocation\n     * @param {?=} _baseHref\n     */\n    function HashLocationStrategy(_platformLocation, _baseHref) {\n        _super.call(this);\n        this._platformLocation = _platformLocation;\n        this._baseHref = '';\n        if (isPresent(_baseHref)) {\n            this._baseHref = _baseHref;\n        }\n    }\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    HashLocationStrategy.prototype.onPopState = function (fn) {\n        this._platformLocation.onPopState(fn);\n        this._platformLocation.onHashChange(fn);\n    };\n    /**\n     * @return {?}\n     */\n    HashLocationStrategy.prototype.getBaseHref = function () { return this._baseHref; };\n    /**\n     * @param {?=} includeHash\n     * @return {?}\n     */\n    HashLocationStrategy.prototype.path = function (includeHash) {\n        if (includeHash === void 0) { includeHash = false; }\n        // the hash value is always prefixed with a `#`\n        // and if it is empty then it will stay empty\n        var /** @type {?} */ path = this._platformLocation.hash;\n        if (!isPresent(path))\n            path = '#';\n        return path.length > 0 ? path.substring(1) : path;\n    };\n    /**\n     * @param {?} internal\n     * @return {?}\n     */\n    HashLocationStrategy.prototype.prepareExternalUrl = function (internal) {\n        var /** @type {?} */ url = Location.joinWithSlash(this._baseHref, internal);\n        return url.length > 0 ? ('#' + url) : url;\n    };\n    /**\n     * @param {?} state\n     * @param {?} title\n     * @param {?} path\n     * @param {?} queryParams\n     * @return {?}\n     */\n    HashLocationStrategy.prototype.pushState = function (state, title, path, queryParams) {\n        var /** @type {?} */ url = this.prepareExternalUrl(path + Location.normalizeQueryParams(queryParams));\n        if (url.length == 0) {\n            url = this._platformLocation.pathname;\n        }\n        this._platformLocation.pushState(state, title, url);\n    };\n    /**\n     * @param {?} state\n     * @param {?} title\n     * @param {?} path\n     * @param {?} queryParams\n     * @return {?}\n     */\n    HashLocationStrategy.prototype.replaceState = function (state, title, path, queryParams) {\n        var /** @type {?} */ url = this.prepareExternalUrl(path + Location.normalizeQueryParams(queryParams));\n        if (url.length == 0) {\n            url = this._platformLocation.pathname;\n        }\n        this._platformLocation.replaceState(state, title, url);\n    };\n    /**\n     * @return {?}\n     */\n    HashLocationStrategy.prototype.forward = function () { this._platformLocation.forward(); };\n    /**\n     * @return {?}\n     */\n    HashLocationStrategy.prototype.back = function () { this._platformLocation.back(); };\n    HashLocationStrategy.decorators = [\n        { type: Injectable },\n    ];\n    /** @nocollapse */\n    HashLocationStrategy.ctorParameters = function () { return [\n        { type: PlatformLocation, },\n        { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_BASE_HREF,] },] },\n    ]; };\n    return HashLocationStrategy;\n}(LocationStrategy));\nfunction HashLocationStrategy_tsickle_Closure_declarations() {\n    /** @type {?} */\n    HashLocationStrategy.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    HashLocationStrategy.ctorParameters;\n    /** @type {?} */\n    HashLocationStrategy.prototype._baseHref;\n    /** @type {?} */\n    HashLocationStrategy.prototype._platformLocation;\n}\n//# sourceMappingURL=hash_location_strategy.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/common/src/location/hash_location_strategy.js\n// module id = 830\n// module chunks = 0","/**\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 */\nexport { PlatformLocation } from './platform_location';\nexport { LocationStrategy, APP_BASE_HREF } from './location_strategy';\nexport { HashLocationStrategy } from './hash_location_strategy';\nexport { PathLocationStrategy } from './path_location_strategy';\nexport { Location } from './location';\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/common/src/location/index.js\n// module id = 831\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { isBlank } from '../facade/lang';\nimport { Location } from './location';\nimport { APP_BASE_HREF, LocationStrategy } from './location_strategy';\nimport { PlatformLocation } from './platform_location';\n/**\n * \\@whatItDoes Use URL for storing application location data.\n * \\@description\n * `PathLocationStrategy` is a {\\@link LocationStrategy} used to configure the\n * {\\@link Location} service to represent its state in the\n * [path](https://en.wikipedia.org/wiki/Uniform_Resource_Locator#Syntax) of the\n * browser's URL.\n *\n * If you're using `PathLocationStrategy`, you must provide a {\\@link APP_BASE_HREF}\n * or add a base element to the document. This URL prefix that will be preserved\n * when generating and recognizing URLs.\n *\n * For instance, if you provide an `APP_BASE_HREF` of `'/my/app'` and call\n * `location.go('/foo')`, the browser's URL will become\n * `example.com/my/app/foo`.\n *\n * Similarly, if you add `<base href='/my/app'/>` to the document and call\n * `location.go('/foo')`, the browser's URL will become\n * `example.com/my/app/foo`.\n *\n * ### Example\n *\n * {\\@example common/location/ts/path_location_component.ts region='LocationComponent'}\n *\n * \\@stable\n */\nexport var PathLocationStrategy = (function (_super) {\n    __extends(PathLocationStrategy, _super);\n    /**\n     * @param {?} _platformLocation\n     * @param {?=} href\n     */\n    function PathLocationStrategy(_platformLocation, href) {\n        _super.call(this);\n        this._platformLocation = _platformLocation;\n        if (isBlank(href)) {\n            href = this._platformLocation.getBaseHrefFromDOM();\n        }\n        if (isBlank(href)) {\n            throw new Error(\"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    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    PathLocationStrategy.prototype.onPopState = function (fn) {\n        this._platformLocation.onPopState(fn);\n        this._platformLocation.onHashChange(fn);\n    };\n    /**\n     * @return {?}\n     */\n    PathLocationStrategy.prototype.getBaseHref = function () { return this._baseHref; };\n    /**\n     * @param {?} internal\n     * @return {?}\n     */\n    PathLocationStrategy.prototype.prepareExternalUrl = function (internal) {\n        return Location.joinWithSlash(this._baseHref, internal);\n    };\n    /**\n     * @param {?=} includeHash\n     * @return {?}\n     */\n    PathLocationStrategy.prototype.path = function (includeHash) {\n        if (includeHash === void 0) { includeHash = false; }\n        var /** @type {?} */ pathname = this._platformLocation.pathname +\n            Location.normalizeQueryParams(this._platformLocation.search);\n        var /** @type {?} */ hash = this._platformLocation.hash;\n        return hash && includeHash ? \"\" + pathname + hash : pathname;\n    };\n    /**\n     * @param {?} state\n     * @param {?} title\n     * @param {?} url\n     * @param {?} queryParams\n     * @return {?}\n     */\n    PathLocationStrategy.prototype.pushState = function (state, title, url, queryParams) {\n        var /** @type {?} */ externalUrl = this.prepareExternalUrl(url + Location.normalizeQueryParams(queryParams));\n        this._platformLocation.pushState(state, title, externalUrl);\n    };\n    /**\n     * @param {?} state\n     * @param {?} title\n     * @param {?} url\n     * @param {?} queryParams\n     * @return {?}\n     */\n    PathLocationStrategy.prototype.replaceState = function (state, title, url, queryParams) {\n        var /** @type {?} */ externalUrl = this.prepareExternalUrl(url + Location.normalizeQueryParams(queryParams));\n        this._platformLocation.replaceState(state, title, externalUrl);\n    };\n    /**\n     * @return {?}\n     */\n    PathLocationStrategy.prototype.forward = function () { this._platformLocation.forward(); };\n    /**\n     * @return {?}\n     */\n    PathLocationStrategy.prototype.back = function () { this._platformLocation.back(); };\n    PathLocationStrategy.decorators = [\n        { type: Injectable },\n    ];\n    /** @nocollapse */\n    PathLocationStrategy.ctorParameters = function () { return [\n        { type: PlatformLocation, },\n        { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_BASE_HREF,] },] },\n    ]; };\n    return PathLocationStrategy;\n}(LocationStrategy));\nfunction PathLocationStrategy_tsickle_Closure_declarations() {\n    /** @type {?} */\n    PathLocationStrategy.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    PathLocationStrategy.ctorParameters;\n    /** @type {?} */\n    PathLocationStrategy.prototype._baseHref;\n    /** @type {?} */\n    PathLocationStrategy.prototype._platformLocation;\n}\n//# sourceMappingURL=path_location_strategy.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/common/src/location/path_location_strategy.js\n// module id = 832\n// module chunks = 0","/**\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 */\nimport { ChangeDetectorRef, Pipe, WrappedValue } from '@angular/core';\nimport { isObservable, isPromise } from '../private_import_core';\nimport { InvalidPipeArgumentError } from './invalid_pipe_argument_error';\nvar ObservableStrategy = (function () {\n    function ObservableStrategy() {\n    }\n    /**\n     * @param {?} async\n     * @param {?} updateLatestValue\n     * @return {?}\n     */\n    ObservableStrategy.prototype.createSubscription = function (async, updateLatestValue) {\n        return async.subscribe({ next: updateLatestValue, error: function (e) { throw e; } });\n    };\n    /**\n     * @param {?} subscription\n     * @return {?}\n     */\n    ObservableStrategy.prototype.dispose = function (subscription) { subscription.unsubscribe(); };\n    /**\n     * @param {?} subscription\n     * @return {?}\n     */\n    ObservableStrategy.prototype.onDestroy = function (subscription) { subscription.unsubscribe(); };\n    return ObservableStrategy;\n}());\nvar PromiseStrategy = (function () {\n    function PromiseStrategy() {\n    }\n    /**\n     * @param {?} async\n     * @param {?} updateLatestValue\n     * @return {?}\n     */\n    PromiseStrategy.prototype.createSubscription = function (async, updateLatestValue) {\n        return async.then(updateLatestValue, function (e) { throw e; });\n    };\n    /**\n     * @param {?} subscription\n     * @return {?}\n     */\n    PromiseStrategy.prototype.dispose = function (subscription) { };\n    /**\n     * @param {?} subscription\n     * @return {?}\n     */\n    PromiseStrategy.prototype.onDestroy = function (subscription) { };\n    return PromiseStrategy;\n}());\nvar /** @type {?} */ _promiseStrategy = new PromiseStrategy();\nvar /** @type {?} */ _observableStrategy = new ObservableStrategy();\n/**\n * \\@ngModule CommonModule\n * \\@whatItDoes Unwraps a value from an asynchronous primitive.\n * \\@howToUse `observable_or_promise_expression | async`\n * \\@description\n * The `async` pipe subscribes to an `Observable` or `Promise` and returns the latest value it has\n * emitted. When a new value is emitted, the `async` pipe marks the component to be checked for\n * changes. When the component gets destroyed, the `async` pipe unsubscribes automatically to avoid\n * potential memory leaks.\n *\n *\n * ## Examples\n *\n * This example binds a `Promise` to the view. Clicking the `Resolve` button resolves the\n * promise.\n *\n * {\\@example common/pipes/ts/async_pipe.ts region='AsyncPipePromise'}\n *\n * It's also possible to use `async` with Observables. The example below binds the `time` Observable\n * to the view. The Observable continuously updates the view with the current time.\n *\n * {\\@example common/pipes/ts/async_pipe.ts region='AsyncPipeObservable'}\n *\n * \\@stable\n */\nexport var AsyncPipe = (function () {\n    /**\n     * @param {?} _ref\n     */\n    function AsyncPipe(_ref) {\n        this._ref = _ref;\n        this._latestValue = null;\n        this._latestReturnedValue = null;\n        this._subscription = null;\n        this._obj = null;\n        this._strategy = null;\n    }\n    /**\n     * @return {?}\n     */\n    AsyncPipe.prototype.ngOnDestroy = function () {\n        if (this._subscription) {\n            this._dispose();\n        }\n    };\n    /**\n     * @param {?} obj\n     * @return {?}\n     */\n    AsyncPipe.prototype.transform = function (obj) {\n        if (!this._obj) {\n            if (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        }\n        this._latestReturnedValue = this._latestValue;\n        return WrappedValue.wrap(this._latestValue);\n    };\n    /**\n     * @param {?} obj\n     * @return {?}\n     */\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) { return _this._updateLatestValue(obj, value); });\n    };\n    /**\n     * @param {?} obj\n     * @return {?}\n     */\n    AsyncPipe.prototype._selectStrategy = function (obj) {\n        if (isPromise(obj)) {\n            return _promiseStrategy;\n        }\n        if (isObservable(obj)) {\n            return _observableStrategy;\n        }\n        throw new InvalidPipeArgumentError(AsyncPipe, obj);\n    };\n    /**\n     * @return {?}\n     */\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    /**\n     * @param {?} async\n     * @param {?} value\n     * @return {?}\n     */\n    AsyncPipe.prototype._updateLatestValue = function (async, value) {\n        if (async === this._obj) {\n            this._latestValue = value;\n            this._ref.markForCheck();\n        }\n    };\n    AsyncPipe.decorators = [\n        { type: Pipe, args: [{ name: 'async', pure: false },] },\n    ];\n    /** @nocollapse */\n    AsyncPipe.ctorParameters = function () { return [\n        { type: ChangeDetectorRef, },\n    ]; };\n    return AsyncPipe;\n}());\nfunction AsyncPipe_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AsyncPipe.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    AsyncPipe.ctorParameters;\n    /** @type {?} */\n    AsyncPipe.prototype._latestValue;\n    /** @type {?} */\n    AsyncPipe.prototype._latestReturnedValue;\n    /** @type {?} */\n    AsyncPipe.prototype._subscription;\n    /** @type {?} */\n    AsyncPipe.prototype._obj;\n    /** @type {?} */\n    AsyncPipe.prototype._strategy;\n    /** @type {?} */\n    AsyncPipe.prototype._ref;\n}\n//# sourceMappingURL=async_pipe.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/common/src/pipes/async_pipe.js\n// module id = 833\n// module chunks = 0","/**\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 */\nimport { Inject, LOCALE_ID, Pipe } from '@angular/core';\nimport { NumberWrapper } from '../facade/lang';\nimport { DateFormatter } from './intl';\nimport { InvalidPipeArgumentError } from './invalid_pipe_argument_error';\nvar /** @type {?} */ ISO8601_DATE_REGEX = /^(\\d{4})-?(\\d\\d)-?(\\d\\d)(?:T(\\d\\d)(?::?(\\d\\d)(?::?(\\d\\d)(?:\\.(\\d+))?)?)?(Z|([+-])(\\d\\d):?(\\d\\d))?)?$/;\n/**\n * \\@ngModule CommonModule\n * \\@whatItDoes Formats a date according to locale rules.\n * \\@howToUse `date_expression | date[:format]`\n * \\@description\n *\n * Where:\n * - `expression` is a date object or a number (milliseconds since UTC epoch) or an ISO string\n * (https://www.w3.org/TR/NOTE-datetime).\n * - `format` indicates which date/time components to include. The format can be predefined as\n *   shown below or custom as shown in the table.\n *   - `'medium'`: equivalent to `'yMMMdjms'` (e.g. `Sep 3, 2010, 12:05:08 PM` for `en-US`)\n *   - `'short'`: equivalent to `'yMdjm'` (e.g. `9/3/2010, 12:05 PM` for `en-US`)\n *   - `'fullDate'`: equivalent to `'yMMMMEEEEd'` (e.g. `Friday, September 3, 2010` for `en-US`)\n *   - `'longDate'`: equivalent to `'yMMMMd'` (e.g. `September 3, 2010` for `en-US`)\n *   - `'mediumDate'`: equivalent to `'yMMMd'` (e.g. `Sep 3, 2010` for `en-US`)\n *   - `'shortDate'`: equivalent to `'yMd'` (e.g. `9/3/2010` for `en-US`)\n *   - `'mediumTime'`: equivalent to `'jms'` (e.g. `12:05:08 PM` for `en-US`)\n *   - `'shortTime'`: equivalent to `'jm'` (e.g. `12:05 PM` for `en-US`)\n *\n *\n *  | Component | Symbol | Narrow | Short Form   | Long Form         | Numeric   | 2-digit   |\n *  |-----------|:------:|--------|--------------|-------------------|-----------|-----------|\n *  | era       |   G    | G (A)  | GGG (AD)     | GGGG (Anno Domini)| -         | -         |\n *  | year      |   y    | -      | -            | -                 | y (2015)  | yy (15)   |\n *  | month     |   M    | L (S)  | MMM (Sep)    | MMMM (September)  | M (9)     | MM (09)   |\n *  | day       |   d    | -      | -            | -                 | d (3)     | dd (03)   |\n *  | weekday   |   E    | E (S)  | EEE (Sun)    | EEEE (Sunday)     | -         | -         |\n *  | hour      |   j    | -      | -            | -                 | j (13)    | jj (13)   |\n *  | hour12    |   h    | -      | -            | -                 | h (1 PM)  | hh (01 PM)|\n *  | hour24    |   H    | -      | -            | -                 | H (13)    | HH (13)   |\n *  | minute    |   m    | -      | -            | -                 | m (5)     | mm (05)   |\n *  | second    |   s    | -      | -            | -                 | s (9)     | ss (09)   |\n *  | timezone  |   z    | -      | -            | z (Pacific Standard Time)| -  | -         |\n *  | timezone  |   Z    | -      | Z (GMT-8:00) | -                 | -         | -         |\n *  | timezone  |   a    | -      | a (PM)       | -                 | -         | -         |\n *\n * In javascript, only the components specified will be respected (not the ordering,\n * punctuations, ...) and details of the formatting will be dependent on the locale.\n *\n * Timezone of the formatted text will be the local system timezone of the end-user's machine.\n *\n * When the expression is a ISO string without time (e.g. 2016-09-19) the time zone offset is not\n * applied and the formatted text will have the same day, month and year of the expression.\n *\n * WARNINGS:\n * - this pipe is marked as pure hence it will not be re-evaluated when the input is mutated.\n *   Instead users should treat the date as an immutable object and change the reference when the\n *   pipe needs to re-run (this is to avoid reformatting the date on every change detection run\n *   which would be an expensive operation).\n * - this pipe uses the Internationalization API. Therefore it is only reliable in Chrome and Opera\n *   browsers.\n *\n * ### Examples\n *\n * Assuming `dateObj` is (year: 2015, month: 6, day: 15, hour: 21, minute: 43, second: 11)\n * in the _local_ time and locale is 'en-US':\n *\n * ```\n *     {{ dateObj | date }}               // output is 'Jun 15, 2015'\n *     {{ dateObj | date:'medium' }}      // output is 'Jun 15, 2015, 9:43:11 PM'\n *     {{ dateObj | date:'shortTime' }}   // output is '9:43 PM'\n *     {{ dateObj | date:'mmss' }}        // output is '43:11'\n * ```\n *\n * {\\@example common/pipes/ts/date_pipe.ts region='DatePipe'}\n *\n * \\@stable\n */\nexport var DatePipe = (function () {\n    /**\n     * @param {?} _locale\n     */\n    function DatePipe(_locale) {\n        this._locale = _locale;\n    }\n    /**\n     * @param {?} value\n     * @param {?=} pattern\n     * @return {?}\n     */\n    DatePipe.prototype.transform = function (value, pattern) {\n        if (pattern === void 0) { pattern = 'mediumDate'; }\n        var /** @type {?} */ date;\n        if (isBlank(value) || value !== value)\n            return null;\n        if (typeof value === 'string') {\n            value = value.trim();\n        }\n        if (isDate(value)) {\n            date = value;\n        }\n        else if (NumberWrapper.isNumeric(value)) {\n            date = new Date(parseFloat(value));\n        }\n        else if (typeof value === 'string' && /^(\\d{4}-\\d{1,2}-\\d{1,2})$/.test(value)) {\n            /**\n            * For ISO Strings without time the day, month and year must be extracted from the ISO String\n            * before Date creation to avoid time offset and errors in the new Date.\n            * If we only replace '-' with ',' in the ISO String (\"2015,01,01\"), and try to create a new\n            * date, some browsers (e.g. IE 9) will throw an invalid Date error\n            * If we leave the '-' (\"2015-01-01\") and try to create a new Date(\"2015-01-01\") the timeoffset\n            * is applied\n            * Note: ISO months are 0 for January, 1 for February, ...\n            */\n            var _a = value.split('-').map(function (val) { return parseInt(val, 10); }), y = _a[0], m = _a[1], d = _a[2];\n            date = new Date(y, m - 1, d);\n        }\n        else {\n            date = new Date(value);\n        }\n        if (!isDate(date)) {\n            var /** @type {?} */ match = void 0;\n            if ((typeof value === 'string') && (match = value.match(ISO8601_DATE_REGEX))) {\n                date = isoStringToDate(match);\n            }\n            else {\n                throw new InvalidPipeArgumentError(DatePipe, value);\n            }\n        }\n        return DateFormatter.format(date, this._locale, DatePipe._ALIASES[pattern] || pattern);\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    DatePipe.decorators = [\n        { type: Pipe, args: [{ name: 'date', pure: true },] },\n    ];\n    /** @nocollapse */\n    DatePipe.ctorParameters = function () { return [\n        { type: undefined, decorators: [{ type: Inject, args: [LOCALE_ID,] },] },\n    ]; };\n    return DatePipe;\n}());\nfunction DatePipe_tsickle_Closure_declarations() {\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    DatePipe._ALIASES;\n    /** @type {?} */\n    DatePipe.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    DatePipe.ctorParameters;\n    /** @type {?} */\n    DatePipe.prototype._locale;\n}\n/**\n * @param {?} obj\n * @return {?}\n */\nfunction isBlank(obj) {\n    return obj == null || obj === '';\n}\n/**\n * @param {?} obj\n * @return {?}\n */\nfunction isDate(obj) {\n    return obj instanceof Date && !isNaN(obj.valueOf());\n}\n/**\n * @param {?} match\n * @return {?}\n */\nfunction isoStringToDate(match) {\n    var /** @type {?} */ date = new Date(0);\n    var /** @type {?} */ tzHour = 0;\n    var /** @type {?} */ tzMin = 0;\n    var /** @type {?} */ dateSetter = match[8] ? date.setUTCFullYear : date.setFullYear;\n    var /** @type {?} */ timeSetter = match[8] ? date.setUTCHours : date.setHours;\n    if (match[9]) {\n        tzHour = toInt(match[9] + match[10]);\n        tzMin = toInt(match[9] + match[11]);\n    }\n    dateSetter.call(date, toInt(match[1]), toInt(match[2]) - 1, toInt(match[3]));\n    var /** @type {?} */ h = toInt(match[4] || '0') - tzHour;\n    var /** @type {?} */ m = toInt(match[5] || '0') - tzMin;\n    var /** @type {?} */ s = toInt(match[6] || '0');\n    var /** @type {?} */ ms = Math.round(parseFloat('0.' + (match[7] || 0)) * 1000);\n    timeSetter.call(date, h, m, s, ms);\n    return date;\n}\n/**\n * @param {?} str\n * @return {?}\n */\nfunction toInt(str) {\n    return parseInt(str, 10);\n}\n//# sourceMappingURL=date_pipe.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/common/src/pipes/date_pipe.js\n// module id = 834\n// module chunks = 0","/**\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 */\nimport { Pipe } from '@angular/core';\nimport { NgLocalization, getPluralCategory } from '../localization';\nimport { InvalidPipeArgumentError } from './invalid_pipe_argument_error';\nvar /** @type {?} */ _INTERPOLATION_REGEXP = /#/g;\n/**\n * \\@ngModule CommonModule\n * \\@whatItDoes Maps a value to a string that pluralizes the value according to locale rules.\n * \\@howToUse `expression | i18nPlural:mapping`\n * \\@description\n *\n *  Where:\n *  - `expression` is a number.\n *  - `mapping` is an object that mimics the ICU format, see\n *    http://userguide.icu-project.org/formatparse/messages\n *\n *  ## Example\n *\n * {\\@example common/pipes/ts/i18n_pipe.ts region='I18nPluralPipeComponent'}\n *\n * \\@experimental\n */\nexport var I18nPluralPipe = (function () {\n    /**\n     * @param {?} _localization\n     */\n    function I18nPluralPipe(_localization) {\n        this._localization = _localization;\n    }\n    /**\n     * @param {?} value\n     * @param {?} pluralMap\n     * @return {?}\n     */\n    I18nPluralPipe.prototype.transform = function (value, pluralMap) {\n        if (value == null)\n            return '';\n        if (typeof pluralMap !== 'object' || pluralMap === null) {\n            throw new InvalidPipeArgumentError(I18nPluralPipe, pluralMap);\n        }\n        var /** @type {?} */ key = getPluralCategory(value, Object.keys(pluralMap), this._localization);\n        return pluralMap[key].replace(_INTERPOLATION_REGEXP, value.toString());\n    };\n    I18nPluralPipe.decorators = [\n        { type: Pipe, args: [{ name: 'i18nPlural', pure: true },] },\n    ];\n    /** @nocollapse */\n    I18nPluralPipe.ctorParameters = function () { return [\n        { type: NgLocalization, },\n    ]; };\n    return I18nPluralPipe;\n}());\nfunction I18nPluralPipe_tsickle_Closure_declarations() {\n    /** @type {?} */\n    I18nPluralPipe.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    I18nPluralPipe.ctorParameters;\n    /** @type {?} */\n    I18nPluralPipe.prototype._localization;\n}\n//# sourceMappingURL=i18n_plural_pipe.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/common/src/pipes/i18n_plural_pipe.js\n// module id = 835\n// module chunks = 0","/**\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 */\nimport { Pipe } from '@angular/core';\nimport { InvalidPipeArgumentError } from './invalid_pipe_argument_error';\n/**\n * \\@ngModule CommonModule\n * \\@whatItDoes Generic selector that displays the string that matches the current value.\n * \\@howToUse `expression | i18nSelect:mapping`\n * \\@description\n *\n *  Where `mapping` is an object that indicates the text that should be displayed\n *  for different values of the provided `expression`.\n *  If none of the keys of the mapping match the value of the `expression`, then the content\n *  of the `other` key is returned when present, otherwise an empty string is returned.\n *\n *  ## Example\n *\n * {\\@example common/pipes/ts/i18n_pipe.ts region='I18nSelectPipeComponent'}\n *\n *  \\@experimental\n */\nexport var I18nSelectPipe = (function () {\n    function I18nSelectPipe() {\n    }\n    /**\n     * @param {?} value\n     * @param {?} mapping\n     * @return {?}\n     */\n    I18nSelectPipe.prototype.transform = function (value, mapping) {\n        if (value == null)\n            return '';\n        if (typeof mapping !== 'object' || typeof value !== 'string') {\n            throw new InvalidPipeArgumentError(I18nSelectPipe, mapping);\n        }\n        if (mapping.hasOwnProperty(value)) {\n            return mapping[value];\n        }\n        if (mapping.hasOwnProperty('other')) {\n            return mapping['other'];\n        }\n        return '';\n    };\n    I18nSelectPipe.decorators = [\n        { type: Pipe, args: [{ name: 'i18nSelect', pure: true },] },\n    ];\n    /** @nocollapse */\n    I18nSelectPipe.ctorParameters = function () { return []; };\n    return I18nSelectPipe;\n}());\nfunction I18nSelectPipe_tsickle_Closure_declarations() {\n    /** @type {?} */\n    I18nSelectPipe.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    I18nSelectPipe.ctorParameters;\n}\n//# sourceMappingURL=i18n_select_pipe.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/common/src/pipes/i18n_select_pipe.js\n// module id = 836\n// module chunks = 0","/**\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 */\nimport { Pipe } from '@angular/core';\n/**\n * \\@ngModule CommonModule\n * \\@whatItDoes Converts value into JSON string.\n * \\@howToUse `expression | json`\n * \\@description\n *\n * Converts value into string using `JSON.stringify`. Useful for debugging.\n *\n * ### Example\n * {\\@example common/pipes/ts/json_pipe.ts region='JsonPipe'}\n *\n * \\@stable\n */\nexport var JsonPipe = (function () {\n    function JsonPipe() {\n    }\n    /**\n     * @param {?} value\n     * @return {?}\n     */\n    JsonPipe.prototype.transform = function (value) { return JSON.stringify(value, null, 2); };\n    JsonPipe.decorators = [\n        { type: Pipe, args: [{ name: 'json', pure: false },] },\n    ];\n    /** @nocollapse */\n    JsonPipe.ctorParameters = function () { return []; };\n    return JsonPipe;\n}());\nfunction JsonPipe_tsickle_Closure_declarations() {\n    /** @type {?} */\n    JsonPipe.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    JsonPipe.ctorParameters;\n}\n//# sourceMappingURL=json_pipe.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/common/src/pipes/json_pipe.js\n// module id = 837\n// module chunks = 0","/**\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 */\nimport { Pipe } from '@angular/core';\nimport { isBlank } from '../facade/lang';\nimport { InvalidPipeArgumentError } from './invalid_pipe_argument_error';\n/**\n * \\@ngModule CommonModule\n * \\@whatItDoes Transforms string to lowercase.\n * \\@howToUse `expression | lowercase`\n * \\@description\n *\n * Converts value into a lowercase string using `String.prototype.toLowerCase()`.\n *\n * ### Example\n *\n * {\\@example common/pipes/ts/lowerupper_pipe.ts region='LowerUpperPipe'}\n *\n * \\@stable\n */\nexport var LowerCasePipe = (function () {\n    function LowerCasePipe() {\n    }\n    /**\n     * @param {?} value\n     * @return {?}\n     */\n    LowerCasePipe.prototype.transform = function (value) {\n        if (isBlank(value))\n            return value;\n        if (typeof value !== 'string') {\n            throw new InvalidPipeArgumentError(LowerCasePipe, value);\n        }\n        return value.toLowerCase();\n    };\n    LowerCasePipe.decorators = [\n        { type: Pipe, args: [{ name: 'lowercase' },] },\n    ];\n    /** @nocollapse */\n    LowerCasePipe.ctorParameters = function () { return []; };\n    return LowerCasePipe;\n}());\nfunction LowerCasePipe_tsickle_Closure_declarations() {\n    /** @type {?} */\n    LowerCasePipe.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    LowerCasePipe.ctorParameters;\n}\n//# sourceMappingURL=lowercase_pipe.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/common/src/pipes/lowercase_pipe.js\n// module id = 838\n// module chunks = 0","/**\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 */\nimport { Inject, LOCALE_ID, Pipe } from '@angular/core';\nimport { NumberWrapper } from '../facade/lang';\nimport { NumberFormatStyle, NumberFormatter } from './intl';\nimport { InvalidPipeArgumentError } from './invalid_pipe_argument_error';\nvar /** @type {?} */ _NUMBER_FORMAT_REGEXP = /^(\\d+)?\\.((\\d+)(-(\\d+))?)?$/;\n/**\n * @param {?} pipe\n * @param {?} locale\n * @param {?} value\n * @param {?} style\n * @param {?} digits\n * @param {?=} currency\n * @param {?=} currencyAsSymbol\n * @return {?}\n */\nfunction formatNumber(pipe, locale, value, style, digits, currency, currencyAsSymbol) {\n    if (currency === void 0) { currency = null; }\n    if (currencyAsSymbol === void 0) { currencyAsSymbol = false; }\n    if (value == null)\n        return null;\n    // Convert strings to numbers\n    value = typeof value === 'string' && NumberWrapper.isNumeric(value) ? +value : value;\n    if (typeof value !== 'number') {\n        throw new InvalidPipeArgumentError(pipe, value);\n    }\n    var /** @type {?} */ minInt;\n    var /** @type {?} */ minFraction;\n    var /** @type {?} */ maxFraction;\n    if (style !== NumberFormatStyle.Currency) {\n        // rely on Intl default for currency\n        minInt = 1;\n        minFraction = 0;\n        maxFraction = 3;\n    }\n    if (digits) {\n        var /** @type {?} */ 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 (parts[1] != null) {\n            minInt = NumberWrapper.parseIntAutoRadix(parts[1]);\n        }\n        if (parts[3] != null) {\n            minFraction = NumberWrapper.parseIntAutoRadix(parts[3]);\n        }\n        if (parts[5] != null) {\n            maxFraction = NumberWrapper.parseIntAutoRadix(parts[5]);\n        }\n    }\n    return NumberFormatter.format(/** @type {?} */ (value), locale, style, {\n        minimumIntegerDigits: minInt,\n        minimumFractionDigits: minFraction,\n        maximumFractionDigits: maxFraction,\n        currency: currency,\n        currencyAsSymbol: currencyAsSymbol,\n    });\n}\n/**\n * \\@ngModule CommonModule\n * \\@whatItDoes Formats a number according to locale rules.\n * \\@howToUse `number_expression | number[:digitInfo]`\n *\n * Formats a number as text. Group sizing and separator and other locale-specific\n * configurations are based on the active locale.\n *\n * where `expression` is a number:\n *  - `digitInfo` is a `string` which has a following format: <br>\n *     <code>{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}</code>\n *   - `minIntegerDigits` is the minimum number of integer digits to use. Defaults to `1`.\n *   - `minFractionDigits` is the minimum number of digits after fraction. Defaults to `0`.\n *   - `maxFractionDigits` is the maximum number of digits after fraction. Defaults to `3`.\n *\n * For more information on the acceptable range for each of these numbers and other\n * details see your native internationalization library.\n *\n * WARNING: this pipe uses the Internationalization API which is not yet available in all browsers\n * and may require a polyfill. See {\\@linkDocs guide/browser-support} for details.\n *\n * ### Example\n *\n * {\\@example common/pipes/ts/number_pipe.ts region='NumberPipe'}\n *\n * \\@stable\n */\nexport var DecimalPipe = (function () {\n    /**\n     * @param {?} _locale\n     */\n    function DecimalPipe(_locale) {\n        this._locale = _locale;\n    }\n    /**\n     * @param {?} value\n     * @param {?=} digits\n     * @return {?}\n     */\n    DecimalPipe.prototype.transform = function (value, digits) {\n        if (digits === void 0) { digits = null; }\n        return formatNumber(DecimalPipe, this._locale, value, NumberFormatStyle.Decimal, digits);\n    };\n    DecimalPipe.decorators = [\n        { type: Pipe, args: [{ name: 'number' },] },\n    ];\n    /** @nocollapse */\n    DecimalPipe.ctorParameters = function () { return [\n        { type: undefined, decorators: [{ type: Inject, args: [LOCALE_ID,] },] },\n    ]; };\n    return DecimalPipe;\n}());\nfunction DecimalPipe_tsickle_Closure_declarations() {\n    /** @type {?} */\n    DecimalPipe.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    DecimalPipe.ctorParameters;\n    /** @type {?} */\n    DecimalPipe.prototype._locale;\n}\n/**\n * \\@ngModule CommonModule\n * \\@whatItDoes Formats a number as a percentage according to locale rules.\n * \\@howToUse `number_expression | percent[:digitInfo]`\n *\n * \\@description\n *\n * Formats a number as percentage.\n *\n * - `digitInfo` See {\\@link DecimalPipe} for detailed description.\n *\n * WARNING: this pipe uses the Internationalization API which is not yet available in all browsers\n * and may require a polyfill. See {\\@linkDocs guide/browser-support} for details.\n *\n * ### Example\n *\n * {\\@example common/pipes/ts/number_pipe.ts region='PercentPipe'}\n *\n * \\@stable\n */\nexport var PercentPipe = (function () {\n    /**\n     * @param {?} _locale\n     */\n    function PercentPipe(_locale) {\n        this._locale = _locale;\n    }\n    /**\n     * @param {?} value\n     * @param {?=} digits\n     * @return {?}\n     */\n    PercentPipe.prototype.transform = function (value, digits) {\n        if (digits === void 0) { digits = null; }\n        return formatNumber(PercentPipe, this._locale, value, NumberFormatStyle.Percent, digits);\n    };\n    PercentPipe.decorators = [\n        { type: Pipe, args: [{ name: 'percent' },] },\n    ];\n    /** @nocollapse */\n    PercentPipe.ctorParameters = function () { return [\n        { type: undefined, decorators: [{ type: Inject, args: [LOCALE_ID,] },] },\n    ]; };\n    return PercentPipe;\n}());\nfunction PercentPipe_tsickle_Closure_declarations() {\n    /** @type {?} */\n    PercentPipe.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    PercentPipe.ctorParameters;\n    /** @type {?} */\n    PercentPipe.prototype._locale;\n}\n/**\n * \\@ngModule CommonModule\n * \\@whatItDoes Formats a number as currency using locale rules.\n * \\@howToUse `number_expression | currency[:currencyCode[:symbolDisplay[:digitInfo]]]`\n * \\@description\n *\n * Use `currency` to format a number as currency.\n *\n * - `currencyCode` is the [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code, such\n *    as `USD` for the US dollar and `EUR` for the euro.\n * - `symbolDisplay` is a boolean indicating whether to use the currency symbol or code.\n *   - `true`: use symbol (e.g. `$`).\n *   - `false`(default): use code (e.g. `USD`).\n * - `digitInfo` See {\\@link DecimalPipe} for detailed description.\n *\n * WARNING: this pipe uses the Internationalization API which is not yet available in all browsers\n * and may require a polyfill. See {\\@linkDocs guide/browser-support} for details.\n *\n * ### Example\n *\n * {\\@example common/pipes/ts/number_pipe.ts region='CurrencyPipe'}\n *\n * \\@stable\n */\nexport var CurrencyPipe = (function () {\n    /**\n     * @param {?} _locale\n     */\n    function CurrencyPipe(_locale) {\n        this._locale = _locale;\n    }\n    /**\n     * @param {?} value\n     * @param {?=} currencyCode\n     * @param {?=} symbolDisplay\n     * @param {?=} digits\n     * @return {?}\n     */\n    CurrencyPipe.prototype.transform = function (value, currencyCode, symbolDisplay, digits) {\n        if (currencyCode === void 0) { currencyCode = 'USD'; }\n        if (symbolDisplay === void 0) { symbolDisplay = false; }\n        if (digits === void 0) { digits = null; }\n        return formatNumber(CurrencyPipe, this._locale, value, NumberFormatStyle.Currency, digits, currencyCode, symbolDisplay);\n    };\n    CurrencyPipe.decorators = [\n        { type: Pipe, args: [{ name: 'currency' },] },\n    ];\n    /** @nocollapse */\n    CurrencyPipe.ctorParameters = function () { return [\n        { type: undefined, decorators: [{ type: Inject, args: [LOCALE_ID,] },] },\n    ]; };\n    return CurrencyPipe;\n}());\nfunction CurrencyPipe_tsickle_Closure_declarations() {\n    /** @type {?} */\n    CurrencyPipe.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    CurrencyPipe.ctorParameters;\n    /** @type {?} */\n    CurrencyPipe.prototype._locale;\n}\n//# sourceMappingURL=number_pipe.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/common/src/pipes/number_pipe.js\n// module id = 839\n// module chunks = 0","/**\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 */\nimport { Pipe } from '@angular/core';\nimport { InvalidPipeArgumentError } from './invalid_pipe_argument_error';\n/**\n * \\@ngModule CommonModule\n * \\@whatItDoes Creates a new List or String containing a subset (slice) of the elements.\n * \\@howToUse `array_or_string_expression | slice:start[:end]`\n * \\@description\n *\n * Where the input expression is a `List` or `String`, and:\n * - `start`: The starting index of the subset to return.\n *   - **a positive integer**: return the item at `start` index and all items after\n *     in the list or string expression.\n *   - **a negative integer**: return the item at `start` index from the end and all items after\n *     in the list or string expression.\n *   - **if positive and greater than the size of the expression**: return an empty list or string.\n *   - **if negative and greater than the size of the expression**: return entire list or string.\n * - `end`: The ending index of the subset to return.\n *   - **omitted**: return all items until the end.\n *   - **if positive**: return all items before `end` index of the list or string.\n *   - **if negative**: return all items before `end` index from the end of the list or string.\n *\n * All behavior is based on the expected behavior of the JavaScript API `Array.prototype.slice()`\n * and `String.prototype.slice()`.\n *\n * When operating on a [List], the returned list is always a copy even when all\n * the elements are being returned.\n *\n * When operating on a blank value, the pipe returns the blank value.\n *\n * ## List Example\n *\n * This `ngFor` example:\n *\n * {\\@example common/pipes/ts/slice_pipe.ts region='SlicePipe_list'}\n *\n * produces the following:\n *\n *     <li>b</li>\n *     <li>c</li>\n *\n * ## String Examples\n *\n * {\\@example common/pipes/ts/slice_pipe.ts region='SlicePipe_string'}\n *\n * \\@stable\n */\nexport var SlicePipe = (function () {\n    function SlicePipe() {\n    }\n    /**\n     * @param {?} value\n     * @param {?} start\n     * @param {?=} end\n     * @return {?}\n     */\n    SlicePipe.prototype.transform = function (value, start, end) {\n        if (value == null)\n            return value;\n        if (!this.supports(value)) {\n            throw new InvalidPipeArgumentError(SlicePipe, value);\n        }\n        return value.slice(start, end);\n    };\n    /**\n     * @param {?} obj\n     * @return {?}\n     */\n    SlicePipe.prototype.supports = function (obj) { return typeof obj === 'string' || Array.isArray(obj); };\n    SlicePipe.decorators = [\n        { type: Pipe, args: [{ name: 'slice', pure: false },] },\n    ];\n    /** @nocollapse */\n    SlicePipe.ctorParameters = function () { return []; };\n    return SlicePipe;\n}());\nfunction SlicePipe_tsickle_Closure_declarations() {\n    /** @type {?} */\n    SlicePipe.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    SlicePipe.ctorParameters;\n}\n//# sourceMappingURL=slice_pipe.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/common/src/pipes/slice_pipe.js\n// module id = 840\n// module chunks = 0","/**\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 */\nimport { Pipe } from '@angular/core';\nimport { isBlank } from '../facade/lang';\nimport { InvalidPipeArgumentError } from './invalid_pipe_argument_error';\n/**\n * \\@ngModule CommonModule\n * \\@whatItDoes Transforms string to uppercase.\n * \\@howToUse `expression | uppercase`\n * \\@description\n *\n * Converts value into an uppercase string using `String.prototype.toUpperCase()`.\n *\n * ### Example\n *\n * {\\@example common/pipes/ts/lowerupper_pipe.ts region='LowerUpperPipe'}\n *\n * \\@stable\n */\nexport var UpperCasePipe = (function () {\n    function UpperCasePipe() {\n    }\n    /**\n     * @param {?} value\n     * @return {?}\n     */\n    UpperCasePipe.prototype.transform = function (value) {\n        if (isBlank(value))\n            return value;\n        if (typeof value !== 'string') {\n            throw new InvalidPipeArgumentError(UpperCasePipe, value);\n        }\n        return value.toUpperCase();\n    };\n    UpperCasePipe.decorators = [\n        { type: Pipe, args: [{ name: 'uppercase' },] },\n    ];\n    /** @nocollapse */\n    UpperCasePipe.ctorParameters = function () { return []; };\n    return UpperCasePipe;\n}());\nfunction UpperCasePipe_tsickle_Closure_declarations() {\n    /** @type {?} */\n    UpperCasePipe.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    UpperCasePipe.ctorParameters;\n}\n//# sourceMappingURL=uppercase_pipe.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/common/src/pipes/uppercase_pipe.js\n// module id = 841\n// module chunks = 0","/**\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 */\nimport { __core_private__ as r } from '@angular/core';\nexport var /** @type {?} */ isPromise = r.isPromise;\nexport var /** @type {?} */ isObservable = r.isObservable;\n//# sourceMappingURL=private_import_core.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/common/src/private_import_core.js\n// module id = 842\n// module chunks = 0","/**\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 */\nimport { Version } from '@angular/core';\n/**\n * @stable\n */\nexport var /** @type {?} */ VERSION = new Version('2.4.9');\n//# sourceMappingURL=version.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/common/src/version.js\n// module id = 843\n// module chunks = 0","/**\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 */\nimport { isPresent } from '../facade/lang';\nexport var StylesCollectionEntry = (function () {\n    /**\n     * @param {?} time\n     * @param {?} value\n     */\n    function StylesCollectionEntry(time, value) {\n        this.time = time;\n        this.value = value;\n    }\n    /**\n     * @param {?} time\n     * @param {?} value\n     * @return {?}\n     */\n    StylesCollectionEntry.prototype.matches = function (time, value) {\n        return time == this.time && value == this.value;\n    };\n    return StylesCollectionEntry;\n}());\nfunction StylesCollectionEntry_tsickle_Closure_declarations() {\n    /** @type {?} */\n    StylesCollectionEntry.prototype.time;\n    /** @type {?} */\n    StylesCollectionEntry.prototype.value;\n}\nexport var StylesCollection = (function () {\n    function StylesCollection() {\n        this.styles = {};\n    }\n    /**\n     * @param {?} property\n     * @param {?} time\n     * @param {?} value\n     * @return {?}\n     */\n    StylesCollection.prototype.insertAtTime = function (property, time, value) {\n        var /** @type {?} */ tuple = new StylesCollectionEntry(time, value);\n        var /** @type {?} */ entries = this.styles[property];\n        if (!isPresent(entries)) {\n            entries = this.styles[property] = [];\n        }\n        // insert this at the right stop in the array\n        // this way we can keep it sorted\n        var /** @type {?} */ insertionIndex = 0;\n        for (var /** @type {?} */ i = entries.length - 1; i >= 0; i--) {\n            if (entries[i].time <= time) {\n                insertionIndex = i + 1;\n                break;\n            }\n        }\n        entries.splice(insertionIndex, 0, tuple);\n    };\n    /**\n     * @param {?} property\n     * @param {?} index\n     * @return {?}\n     */\n    StylesCollection.prototype.getByIndex = function (property, index) {\n        var /** @type {?} */ items = this.styles[property];\n        if (isPresent(items)) {\n            return index >= items.length ? null : items[index];\n        }\n        return null;\n    };\n    /**\n     * @param {?} property\n     * @param {?} time\n     * @return {?}\n     */\n    StylesCollection.prototype.indexOfAtOrBeforeTime = function (property, time) {\n        var /** @type {?} */ entries = this.styles[property];\n        if (isPresent(entries)) {\n            for (var /** @type {?} */ i = entries.length - 1; i >= 0; i--) {\n                if (entries[i].time <= time)\n                    return i;\n            }\n        }\n        return null;\n    };\n    return StylesCollection;\n}());\nfunction StylesCollection_tsickle_Closure_declarations() {\n    /** @type {?} */\n    StylesCollection.prototype.styles;\n}\n//# sourceMappingURL=styles_collection.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/animation/styles_collection.js\n// module id = 844\n// module chunks = 0","/**\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 */\nimport { ViewEncapsulation } from '@angular/core';\nimport { AnimationParser } from '../animation/animation_parser';\nimport { CompilerConfig } from '../config';\nimport { DirectiveNormalizer } from '../directive_normalizer';\nimport { DirectiveResolver } from '../directive_resolver';\nimport { DirectiveWrapperCompiler } from '../directive_wrapper_compiler';\nimport { Lexer } from '../expression_parser/lexer';\nimport { Parser } from '../expression_parser/parser';\nimport { I18NHtmlParser } from '../i18n/i18n_html_parser';\nimport { CompileMetadataResolver } from '../metadata_resolver';\nimport { HtmlParser } from '../ml_parser/html_parser';\nimport { NgModuleCompiler } from '../ng_module_compiler';\nimport { NgModuleResolver } from '../ng_module_resolver';\nimport { TypeScriptEmitter } from '../output/ts_emitter';\nimport { PipeResolver } from '../pipe_resolver';\nimport { Console } from '../private_import_core';\nimport { DomElementSchemaRegistry } from '../schema/dom_element_schema_registry';\nimport { StyleCompiler } from '../style_compiler';\nimport { TemplateParser } from '../template_parser/template_parser';\nimport { createOfflineCompileUrlResolver } from '../url_resolver';\nimport { ViewCompiler } from '../view_compiler/view_compiler';\nimport { AotCompiler } from './compiler';\nimport { StaticAndDynamicReflectionCapabilities } from './static_reflection_capabilities';\nimport { StaticReflector } from './static_reflector';\nimport { StaticSymbolCache } from './static_symbol';\nimport { StaticSymbolResolver } from './static_symbol_resolver';\nimport { AotSummaryResolver } from './summary_resolver';\n/**\n * Creates a new AotCompiler based on options and a host.\n * @param {?} compilerHost\n * @param {?} options\n * @return {?}\n */\nexport function createAotCompiler(compilerHost, options) {\n    var /** @type {?} */ translations = options.translations || '';\n    var /** @type {?} */ urlResolver = createOfflineCompileUrlResolver();\n    var /** @type {?} */ symbolCache = new StaticSymbolCache();\n    var /** @type {?} */ summaryResolver = new AotSummaryResolver(compilerHost, symbolCache);\n    var /** @type {?} */ symbolResolver = new StaticSymbolResolver(compilerHost, symbolCache, summaryResolver);\n    var /** @type {?} */ staticReflector = new StaticReflector(symbolResolver);\n    StaticAndDynamicReflectionCapabilities.install(staticReflector);\n    var /** @type {?} */ htmlParser = new I18NHtmlParser(new HtmlParser(), translations, options.i18nFormat);\n    var /** @type {?} */ config = new CompilerConfig({\n        genDebugInfo: options.debug === true,\n        defaultEncapsulation: ViewEncapsulation.Emulated,\n        logBindingUpdate: false,\n        useJit: false\n    });\n    var /** @type {?} */ normalizer = new DirectiveNormalizer({ get: function (url) { return compilerHost.loadResource(url); } }, urlResolver, htmlParser, config);\n    var /** @type {?} */ expressionParser = new Parser(new Lexer());\n    var /** @type {?} */ elementSchemaRegistry = new DomElementSchemaRegistry();\n    var /** @type {?} */ console = new Console();\n    var /** @type {?} */ tmplParser = new TemplateParser(expressionParser, elementSchemaRegistry, htmlParser, console, []);\n    var /** @type {?} */ resolver = new CompileMetadataResolver(new NgModuleResolver(staticReflector), new DirectiveResolver(staticReflector), new PipeResolver(staticReflector), summaryResolver, elementSchemaRegistry, normalizer, staticReflector);\n    // TODO(vicb): do not pass options.i18nFormat here\n    var /** @type {?} */ compiler = new AotCompiler(compilerHost, resolver, tmplParser, new StyleCompiler(urlResolver), new ViewCompiler(config, elementSchemaRegistry), new DirectiveWrapperCompiler(config, expressionParser, elementSchemaRegistry, console), new NgModuleCompiler(), new TypeScriptEmitter(compilerHost), summaryResolver, options.locale, options.i18nFormat, new AnimationParser(elementSchemaRegistry), symbolResolver);\n    return { compiler: compiler, reflector: staticReflector };\n}\n//# sourceMappingURL=compiler_factory.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/aot/compiler_factory.js\n// module id = 845\n// module chunks = 0","/**\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 */\nexport var GeneratedFile = (function () {\n    /**\n     * @param {?} srcFileUrl\n     * @param {?} genFileUrl\n     * @param {?} source\n     */\n    function GeneratedFile(srcFileUrl, genFileUrl, source) {\n        this.srcFileUrl = srcFileUrl;\n        this.genFileUrl = genFileUrl;\n        this.source = source;\n    }\n    return GeneratedFile;\n}());\nfunction GeneratedFile_tsickle_Closure_declarations() {\n    /** @type {?} */\n    GeneratedFile.prototype.srcFileUrl;\n    /** @type {?} */\n    GeneratedFile.prototype.genFileUrl;\n    /** @type {?} */\n    GeneratedFile.prototype.source;\n}\n//# sourceMappingURL=generated_file.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/aot/generated_file.js\n// module id = 846\n// module chunks = 0","var __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n/**\n * Convenience to throw an Error with 'unimplemented' as the message.\n * @return {?}\n */\nexport function unimplemented() {\n    throw new Error('unimplemented');\n}\n/**\n * \\@stable\n */\nexport var BaseError = (function (_super) {\n    __extends(BaseError, _super);\n    /**\n     * @param {?} message\n     */\n    function BaseError(message) {\n        _super.call(this, message);\n        // Errors don't use current this, instead they create a new instance.\n        // We have to do forward all of our api to the nativeInstance.\n        // TODO(bradfordcsmith): Remove this hack when\n        //     google/closure-compiler/issues/2102 is fixed.\n        var nativeError = new Error(message);\n        this._nativeError = nativeError;\n    }\n    Object.defineProperty(BaseError.prototype, \"message\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._nativeError.message; },\n        /**\n         * @param {?} message\n         * @return {?}\n         */\n        set: function (message) { this._nativeError.message = message; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(BaseError.prototype, \"name\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._nativeError.name; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(BaseError.prototype, \"stack\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return ((this._nativeError)).stack; },\n        /**\n         * @param {?} value\n         * @return {?}\n         */\n        set: function (value) { ((this._nativeError)).stack = value; },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @return {?}\n     */\n    BaseError.prototype.toString = function () { return this._nativeError.toString(); };\n    return BaseError;\n}(Error));\nfunction BaseError_tsickle_Closure_declarations() {\n    /**\n     * \\@internal *\n     * @type {?}\n     */\n    BaseError.prototype._nativeError;\n}\n/**\n * \\@stable\n */\nexport var WrappedError = (function (_super) {\n    __extends(WrappedError, _super);\n    /**\n     * @param {?} message\n     * @param {?} error\n     */\n    function WrappedError(message, error) {\n        _super.call(this, message + \" caused by: \" + (error instanceof Error ? error.message : error));\n        this.originalError = error;\n    }\n    Object.defineProperty(WrappedError.prototype, \"stack\", {\n        /**\n         * @return {?}\n         */\n        get: function () {\n            return (((this.originalError instanceof Error ? this.originalError : this._nativeError)))\n                .stack;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    return WrappedError;\n}(BaseError));\nfunction WrappedError_tsickle_Closure_declarations() {\n    /** @type {?} */\n    WrappedError.prototype.originalError;\n}\n//# sourceMappingURL=errors.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/facade/errors.js\n// module id = 847\n// module chunks = 0","/**\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 */\nimport { ViewEncapsulation } from '@angular/core';\nimport { analyzeAndValidateNgModules, extractProgramSymbols } from '../aot/compiler';\nimport { StaticAndDynamicReflectionCapabilities } from '../aot/static_reflection_capabilities';\nimport { StaticReflector } from '../aot/static_reflector';\nimport { StaticSymbolCache } from '../aot/static_symbol';\nimport { StaticSymbolResolver } from '../aot/static_symbol_resolver';\nimport { AotSummaryResolver } from '../aot/summary_resolver';\nimport { CompilerConfig } from '../config';\nimport { DirectiveNormalizer } from '../directive_normalizer';\nimport { DirectiveResolver } from '../directive_resolver';\nimport { CompileMetadataResolver } from '../metadata_resolver';\nimport { HtmlParser } from '../ml_parser/html_parser';\nimport { InterpolationConfig } from '../ml_parser/interpolation_config';\nimport { NgModuleResolver } from '../ng_module_resolver';\nimport { PipeResolver } from '../pipe_resolver';\nimport { DomElementSchemaRegistry } from '../schema/dom_element_schema_registry';\nimport { createOfflineCompileUrlResolver } from '../url_resolver';\nimport { I18NHtmlParser } from './i18n_html_parser';\nimport { MessageBundle } from './message_bundle';\nexport var Extractor = (function () {\n    /**\n     * @param {?} host\n     * @param {?} staticSymbolResolver\n     * @param {?} messageBundle\n     * @param {?} metadataResolver\n     */\n    function Extractor(host, staticSymbolResolver, messageBundle, metadataResolver) {\n        this.host = host;\n        this.staticSymbolResolver = staticSymbolResolver;\n        this.messageBundle = messageBundle;\n        this.metadataResolver = metadataResolver;\n    }\n    /**\n     * @param {?} rootFiles\n     * @return {?}\n     */\n    Extractor.prototype.extract = function (rootFiles) {\n        var _this = this;\n        var /** @type {?} */ programSymbols = extractProgramSymbols(this.staticSymbolResolver, rootFiles, this.host);\n        var _a = analyzeAndValidateNgModules(programSymbols, this.host, this.metadataResolver), files = _a.files, ngModules = _a.ngModules;\n        return Promise\n            .all(ngModules.map(function (ngModule) { return _this.metadataResolver.loadNgModuleDirectiveAndPipeMetadata(ngModule.type.reference, false); }))\n            .then(function () {\n            var /** @type {?} */ errors = [];\n            files.forEach(function (file) {\n                var /** @type {?} */ compMetas = [];\n                file.directives.forEach(function (directiveType) {\n                    var /** @type {?} */ dirMeta = _this.metadataResolver.getDirectiveMetadata(directiveType);\n                    if (dirMeta && dirMeta.isComponent) {\n                        compMetas.push(dirMeta);\n                    }\n                });\n                compMetas.forEach(function (compMeta) {\n                    var /** @type {?} */ html = compMeta.template.template;\n                    var /** @type {?} */ interpolationConfig = InterpolationConfig.fromArray(compMeta.template.interpolation);\n                    errors.push.apply(errors, _this.messageBundle.updateFromTemplate(html, file.srcUrl, interpolationConfig));\n                });\n            });\n            if (errors.length) {\n                throw new Error(errors.map(function (e) { return e.toString(); }).join('\\n'));\n            }\n            return _this.messageBundle;\n        });\n    };\n    /**\n     * @param {?} host\n     * @return {?}\n     */\n    Extractor.create = function (host) {\n        var /** @type {?} */ htmlParser = new I18NHtmlParser(new HtmlParser());\n        var /** @type {?} */ urlResolver = createOfflineCompileUrlResolver();\n        var /** @type {?} */ symbolCache = new StaticSymbolCache();\n        var /** @type {?} */ summaryResolver = new AotSummaryResolver(host, symbolCache);\n        var /** @type {?} */ staticSymbolResolver = new StaticSymbolResolver(host, symbolCache, summaryResolver);\n        var /** @type {?} */ staticReflector = new StaticReflector(staticSymbolResolver);\n        StaticAndDynamicReflectionCapabilities.install(staticReflector);\n        var /** @type {?} */ config = new CompilerConfig({\n            genDebugInfo: false,\n            defaultEncapsulation: ViewEncapsulation.Emulated,\n            logBindingUpdate: false,\n            useJit: false\n        });\n        var /** @type {?} */ normalizer = new DirectiveNormalizer({ get: function (url) { return host.loadResource(url); } }, urlResolver, htmlParser, config);\n        var /** @type {?} */ elementSchemaRegistry = new DomElementSchemaRegistry();\n        var /** @type {?} */ resolver = new CompileMetadataResolver(new NgModuleResolver(staticReflector), new DirectiveResolver(staticReflector), new PipeResolver(staticReflector), summaryResolver, elementSchemaRegistry, normalizer, staticReflector);\n        // TODO(vicb): implicit tags & attributes\n        var /** @type {?} */ messageBundle = new MessageBundle(htmlParser, [], {});\n        var /** @type {?} */ extractor = new Extractor(host, staticSymbolResolver, messageBundle, resolver);\n        return { extractor: extractor, staticReflector: staticReflector };\n    };\n    return Extractor;\n}());\nfunction Extractor_tsickle_Closure_declarations() {\n    /** @type {?} */\n    Extractor.prototype.host;\n    /** @type {?} */\n    Extractor.prototype.staticSymbolResolver;\n    /** @type {?} */\n    Extractor.prototype.messageBundle;\n    /** @type {?} */\n    Extractor.prototype.metadataResolver;\n}\n//# sourceMappingURL=extractor.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/i18n/extractor.js\n// module id = 848\n// module chunks = 0","/**\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 */\nimport { Lexer as ExpressionLexer } from '../expression_parser/lexer';\nimport { Parser as ExpressionParser } from '../expression_parser/parser';\nimport * as html from '../ml_parser/ast';\nimport { getHtmlTagDefinition } from '../ml_parser/html_tags';\nimport * as i18n from './i18n_ast';\nimport { PlaceholderRegistry } from './serializers/placeholder';\nvar /** @type {?} */ _expParser = new ExpressionParser(new ExpressionLexer());\n/**\n * Returns a function converting html nodes to an i18n Message given an interpolationConfig\n * @param {?} interpolationConfig\n * @return {?}\n */\nexport function createI18nMessageFactory(interpolationConfig) {\n    var /** @type {?} */ visitor = new _I18nVisitor(_expParser, interpolationConfig);\n    return function (nodes, meaning, description) {\n        return visitor.toI18nMessage(nodes, meaning, description);\n    };\n}\nvar _I18nVisitor = (function () {\n    /**\n     * @param {?} _expressionParser\n     * @param {?} _interpolationConfig\n     */\n    function _I18nVisitor(_expressionParser, _interpolationConfig) {\n        this._expressionParser = _expressionParser;\n        this._interpolationConfig = _interpolationConfig;\n    }\n    /**\n     * @param {?} nodes\n     * @param {?} meaning\n     * @param {?} description\n     * @return {?}\n     */\n    _I18nVisitor.prototype.toI18nMessage = function (nodes, meaning, description) {\n        this._isIcu = nodes.length == 1 && nodes[0] instanceof html.Expansion;\n        this._icuDepth = 0;\n        this._placeholderRegistry = new PlaceholderRegistry();\n        this._placeholderToContent = {};\n        this._placeholderToMessage = {};\n        var /** @type {?} */ i18nodes = html.visitAll(this, nodes, {});\n        return new i18n.Message(i18nodes, this._placeholderToContent, this._placeholderToMessage, meaning, description);\n    };\n    /**\n     * @param {?} el\n     * @param {?} context\n     * @return {?}\n     */\n    _I18nVisitor.prototype.visitElement = function (el, context) {\n        var /** @type {?} */ children = html.visitAll(this, el.children);\n        var /** @type {?} */ attrs = {};\n        el.attrs.forEach(function (attr) {\n            // Do not visit the attributes, translatable ones are top-level ASTs\n            attrs[attr.name] = attr.value;\n        });\n        var /** @type {?} */ isVoid = getHtmlTagDefinition(el.name).isVoid;\n        var /** @type {?} */ startPhName = this._placeholderRegistry.getStartTagPlaceholderName(el.name, attrs, isVoid);\n        this._placeholderToContent[startPhName] = el.sourceSpan.toString();\n        var /** @type {?} */ closePhName = '';\n        if (!isVoid) {\n            closePhName = this._placeholderRegistry.getCloseTagPlaceholderName(el.name);\n            this._placeholderToContent[closePhName] = \"</\" + el.name + \">\";\n        }\n        return new i18n.TagPlaceholder(el.name, attrs, startPhName, closePhName, children, isVoid, el.sourceSpan);\n    };\n    /**\n     * @param {?} attribute\n     * @param {?} context\n     * @return {?}\n     */\n    _I18nVisitor.prototype.visitAttribute = function (attribute, context) {\n        return this._visitTextWithInterpolation(attribute.value, attribute.sourceSpan);\n    };\n    /**\n     * @param {?} text\n     * @param {?} context\n     * @return {?}\n     */\n    _I18nVisitor.prototype.visitText = function (text, context) {\n        return this._visitTextWithInterpolation(text.value, text.sourceSpan);\n    };\n    /**\n     * @param {?} comment\n     * @param {?} context\n     * @return {?}\n     */\n    _I18nVisitor.prototype.visitComment = function (comment, context) { return null; };\n    /**\n     * @param {?} icu\n     * @param {?} context\n     * @return {?}\n     */\n    _I18nVisitor.prototype.visitExpansion = function (icu, context) {\n        var _this = this;\n        this._icuDepth++;\n        var /** @type {?} */ i18nIcuCases = {};\n        var /** @type {?} */ i18nIcu = new i18n.Icu(icu.switchValue, icu.type, i18nIcuCases, icu.sourceSpan);\n        icu.cases.forEach(function (caze) {\n            i18nIcuCases[caze.value] = new i18n.Container(caze.expression.map(function (node) { return node.visit(_this, {}); }), caze.expSourceSpan);\n        });\n        this._icuDepth--;\n        if (this._isIcu || this._icuDepth > 0) {\n            // Returns an ICU node when:\n            // - the message (vs a part of the message) is an ICU message, or\n            // - the ICU message is nested.\n            var /** @type {?} */ expPh = this._placeholderRegistry.getUniquePlaceholder(\"VAR_\" + icu.type);\n            i18nIcu.expressionPlaceholder = expPh;\n            this._placeholderToContent[expPh] = icu.switchValue;\n            return i18nIcu;\n        }\n        // Else returns a placeholder\n        // ICU placeholders should not be replaced with their original content but with the their\n        // translations. We need to create a new visitor (they are not re-entrant) to compute the\n        // message id.\n        // TODO(vicb): add a html.Node -> i18n.Message cache to avoid having to re-create the msg\n        var /** @type {?} */ phName = this._placeholderRegistry.getPlaceholderName('ICU', icu.sourceSpan.toString());\n        var /** @type {?} */ visitor = new _I18nVisitor(this._expressionParser, this._interpolationConfig);\n        this._placeholderToMessage[phName] = visitor.toI18nMessage([icu], '', '');\n        return new i18n.IcuPlaceholder(i18nIcu, phName, icu.sourceSpan);\n    };\n    /**\n     * @param {?} icuCase\n     * @param {?} context\n     * @return {?}\n     */\n    _I18nVisitor.prototype.visitExpansionCase = function (icuCase, context) {\n        throw new Error('Unreachable code');\n    };\n    /**\n     * @param {?} text\n     * @param {?} sourceSpan\n     * @return {?}\n     */\n    _I18nVisitor.prototype._visitTextWithInterpolation = function (text, sourceSpan) {\n        var /** @type {?} */ splitInterpolation = this._expressionParser.splitInterpolation(text, sourceSpan.start.toString(), this._interpolationConfig);\n        if (!splitInterpolation) {\n            // No expression, return a single text\n            return new i18n.Text(text, sourceSpan);\n        }\n        // Return a group of text + expressions\n        var /** @type {?} */ nodes = [];\n        var /** @type {?} */ container = new i18n.Container(nodes, sourceSpan);\n        var _a = this._interpolationConfig, sDelimiter = _a.start, eDelimiter = _a.end;\n        for (var /** @type {?} */ i = 0; i < splitInterpolation.strings.length - 1; i++) {\n            var /** @type {?} */ expression = splitInterpolation.expressions[i];\n            var /** @type {?} */ baseName = _extractPlaceholderName(expression) || 'INTERPOLATION';\n            var /** @type {?} */ phName = this._placeholderRegistry.getPlaceholderName(baseName, expression);\n            if (splitInterpolation.strings[i].length) {\n                // No need to add empty strings\n                nodes.push(new i18n.Text(splitInterpolation.strings[i], sourceSpan));\n            }\n            nodes.push(new i18n.Placeholder(expression, phName, sourceSpan));\n            this._placeholderToContent[phName] = sDelimiter + expression + eDelimiter;\n        }\n        // The last index contains no expression\n        var /** @type {?} */ lastStringIdx = splitInterpolation.strings.length - 1;\n        if (splitInterpolation.strings[lastStringIdx].length) {\n            nodes.push(new i18n.Text(splitInterpolation.strings[lastStringIdx], sourceSpan));\n        }\n        return container;\n    };\n    return _I18nVisitor;\n}());\nfunction _I18nVisitor_tsickle_Closure_declarations() {\n    /** @type {?} */\n    _I18nVisitor.prototype._isIcu;\n    /** @type {?} */\n    _I18nVisitor.prototype._icuDepth;\n    /** @type {?} */\n    _I18nVisitor.prototype._placeholderRegistry;\n    /** @type {?} */\n    _I18nVisitor.prototype._placeholderToContent;\n    /** @type {?} */\n    _I18nVisitor.prototype._placeholderToMessage;\n    /** @type {?} */\n    _I18nVisitor.prototype._expressionParser;\n    /** @type {?} */\n    _I18nVisitor.prototype._interpolationConfig;\n}\nvar /** @type {?} */ _CUSTOM_PH_EXP = /\\/\\/[\\s\\S]*i18n[\\s\\S]*\\([\\s\\S]*ph[\\s\\S]*=[\\s\\S]*\"([\\s\\S]*?)\"[\\s\\S]*\\)/g;\n/**\n * @param {?} input\n * @return {?}\n */\nfunction _extractPlaceholderName(input) {\n    return input.split(_CUSTOM_PH_EXP)[1];\n}\n//# sourceMappingURL=i18n_parser.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/i18n/i18n_parser.js\n// module id = 849\n// module chunks = 0","/**\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 */\nvar /** @type {?} */ TAG_TO_PLACEHOLDER_NAMES = {\n    'A': 'LINK',\n    'B': 'BOLD_TEXT',\n    'BR': 'LINE_BREAK',\n    'EM': 'EMPHASISED_TEXT',\n    'H1': 'HEADING_LEVEL1',\n    'H2': 'HEADING_LEVEL2',\n    'H3': 'HEADING_LEVEL3',\n    'H4': 'HEADING_LEVEL4',\n    'H5': 'HEADING_LEVEL5',\n    'H6': 'HEADING_LEVEL6',\n    'HR': 'HORIZONTAL_RULE',\n    'I': 'ITALIC_TEXT',\n    'LI': 'LIST_ITEM',\n    'LINK': 'MEDIA_LINK',\n    'OL': 'ORDERED_LIST',\n    'P': 'PARAGRAPH',\n    'Q': 'QUOTATION',\n    'S': 'STRIKETHROUGH_TEXT',\n    'SMALL': 'SMALL_TEXT',\n    'SUB': 'SUBSTRIPT',\n    'SUP': 'SUPERSCRIPT',\n    'TBODY': 'TABLE_BODY',\n    'TD': 'TABLE_CELL',\n    'TFOOT': 'TABLE_FOOTER',\n    'TH': 'TABLE_HEADER_CELL',\n    'THEAD': 'TABLE_HEADER',\n    'TR': 'TABLE_ROW',\n    'TT': 'MONOSPACED_TEXT',\n    'U': 'UNDERLINED_TEXT',\n    'UL': 'UNORDERED_LIST',\n};\n/**\n * Creates unique names for placeholder with different content.\n *\n * Returns the same placeholder name when the content is identical.\n *\n * \\@internal\n */\nexport var PlaceholderRegistry = (function () {\n    function PlaceholderRegistry() {\n        this._placeHolderNameCounts = {};\n        this._signatureToName = {};\n    }\n    /**\n     * @param {?} tag\n     * @param {?} attrs\n     * @param {?} isVoid\n     * @return {?}\n     */\n    PlaceholderRegistry.prototype.getStartTagPlaceholderName = function (tag, attrs, isVoid) {\n        var /** @type {?} */ signature = this._hashTag(tag, attrs, isVoid);\n        if (this._signatureToName[signature]) {\n            return this._signatureToName[signature];\n        }\n        var /** @type {?} */ upperTag = tag.toUpperCase();\n        var /** @type {?} */ baseName = TAG_TO_PLACEHOLDER_NAMES[upperTag] || \"TAG_\" + upperTag;\n        var /** @type {?} */ name = this._generateUniqueName(isVoid ? baseName : \"START_\" + baseName);\n        this._signatureToName[signature] = name;\n        return name;\n    };\n    /**\n     * @param {?} tag\n     * @return {?}\n     */\n    PlaceholderRegistry.prototype.getCloseTagPlaceholderName = function (tag) {\n        var /** @type {?} */ signature = this._hashClosingTag(tag);\n        if (this._signatureToName[signature]) {\n            return this._signatureToName[signature];\n        }\n        var /** @type {?} */ upperTag = tag.toUpperCase();\n        var /** @type {?} */ baseName = TAG_TO_PLACEHOLDER_NAMES[upperTag] || \"TAG_\" + upperTag;\n        var /** @type {?} */ name = this._generateUniqueName(\"CLOSE_\" + baseName);\n        this._signatureToName[signature] = name;\n        return name;\n    };\n    /**\n     * @param {?} name\n     * @param {?} content\n     * @return {?}\n     */\n    PlaceholderRegistry.prototype.getPlaceholderName = function (name, content) {\n        var /** @type {?} */ upperName = name.toUpperCase();\n        var /** @type {?} */ signature = \"PH: \" + upperName + \"=\" + content;\n        if (this._signatureToName[signature]) {\n            return this._signatureToName[signature];\n        }\n        var /** @type {?} */ uniqueName = this._generateUniqueName(upperName);\n        this._signatureToName[signature] = uniqueName;\n        return uniqueName;\n    };\n    /**\n     * @param {?} name\n     * @return {?}\n     */\n    PlaceholderRegistry.prototype.getUniquePlaceholder = function (name) {\n        return this._generateUniqueName(name.toUpperCase());\n    };\n    /**\n     * @param {?} tag\n     * @param {?} attrs\n     * @param {?} isVoid\n     * @return {?}\n     */\n    PlaceholderRegistry.prototype._hashTag = function (tag, attrs, isVoid) {\n        var /** @type {?} */ start = \"<\" + tag;\n        var /** @type {?} */ strAttrs = Object.keys(attrs).sort().map(function (name) { return (\" \" + name + \"=\" + attrs[name]); }).join('');\n        var /** @type {?} */ end = isVoid ? '/>' : \"></\" + tag + \">\";\n        return start + strAttrs + end;\n    };\n    /**\n     * @param {?} tag\n     * @return {?}\n     */\n    PlaceholderRegistry.prototype._hashClosingTag = function (tag) { return this._hashTag(\"/\" + tag, {}, false); };\n    /**\n     * @param {?} base\n     * @return {?}\n     */\n    PlaceholderRegistry.prototype._generateUniqueName = function (base) {\n        var /** @type {?} */ seen = this._placeHolderNameCounts.hasOwnProperty(base);\n        if (!seen) {\n            this._placeHolderNameCounts[base] = 1;\n            return base;\n        }\n        var /** @type {?} */ id = this._placeHolderNameCounts[base];\n        this._placeHolderNameCounts[base] = id + 1;\n        return base + \"_\" + id;\n    };\n    return PlaceholderRegistry;\n}());\nfunction PlaceholderRegistry_tsickle_Closure_declarations() {\n    /** @type {?} */\n    PlaceholderRegistry.prototype._placeHolderNameCounts;\n    /** @type {?} */\n    PlaceholderRegistry.prototype._signatureToName;\n}\n//# sourceMappingURL=placeholder.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/i18n/serializers/placeholder.js\n// module id = 850\n// module chunks = 0","/**\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 */\nimport { HtmlParser } from '../ml_parser/html_parser';\nimport { I18nError } from './parse_util';\n/**\n * A container for translated messages\n */\nexport var TranslationBundle = (function () {\n    /**\n     * @param {?=} _i18nNodesByMsgId\n     * @param {?} digest\n     * @param {?=} mapperFactory\n     */\n    function TranslationBundle(_i18nNodesByMsgId, digest, mapperFactory) {\n        if (_i18nNodesByMsgId === void 0) { _i18nNodesByMsgId = {}; }\n        this._i18nNodesByMsgId = _i18nNodesByMsgId;\n        this.digest = digest;\n        this.mapperFactory = mapperFactory;\n        this._i18nToHtml = new I18nToHtmlVisitor(_i18nNodesByMsgId, digest, mapperFactory);\n    }\n    /**\n     * @param {?} content\n     * @param {?} url\n     * @param {?} serializer\n     * @return {?}\n     */\n    TranslationBundle.load = function (content, url, serializer) {\n        var /** @type {?} */ i18nNodesByMsgId = serializer.load(content, url);\n        var /** @type {?} */ digestFn = function (m) { return serializer.digest(m); };\n        var /** @type {?} */ mapperFactory = function (m) { return serializer.createNameMapper(m); };\n        return new TranslationBundle(i18nNodesByMsgId, digestFn, mapperFactory);\n    };\n    /**\n     * @param {?} srcMsg\n     * @return {?}\n     */\n    TranslationBundle.prototype.get = function (srcMsg) {\n        var /** @type {?} */ html = this._i18nToHtml.convert(srcMsg);\n        if (html.errors.length) {\n            throw new Error(html.errors.join('\\n'));\n        }\n        return html.nodes;\n    };\n    /**\n     * @param {?} srcMsg\n     * @return {?}\n     */\n    TranslationBundle.prototype.has = function (srcMsg) { return this.digest(srcMsg) in this._i18nNodesByMsgId; };\n    return TranslationBundle;\n}());\nfunction TranslationBundle_tsickle_Closure_declarations() {\n    /** @type {?} */\n    TranslationBundle.prototype._i18nToHtml;\n    /** @type {?} */\n    TranslationBundle.prototype._i18nNodesByMsgId;\n    /** @type {?} */\n    TranslationBundle.prototype.digest;\n    /** @type {?} */\n    TranslationBundle.prototype.mapperFactory;\n}\nvar I18nToHtmlVisitor = (function () {\n    /**\n     * @param {?=} _i18nNodesByMsgId\n     * @param {?} _digest\n     * @param {?} _mapperFactory\n     */\n    function I18nToHtmlVisitor(_i18nNodesByMsgId, _digest, _mapperFactory) {\n        if (_i18nNodesByMsgId === void 0) { _i18nNodesByMsgId = {}; }\n        this._i18nNodesByMsgId = _i18nNodesByMsgId;\n        this._digest = _digest;\n        this._mapperFactory = _mapperFactory;\n        this._contextStack = [];\n        this._errors = [];\n    }\n    /**\n     * @param {?} srcMsg\n     * @return {?}\n     */\n    I18nToHtmlVisitor.prototype.convert = function (srcMsg) {\n        this._contextStack.length = 0;\n        this._errors.length = 0;\n        // i18n to text\n        var /** @type {?} */ text = this._convertToText(srcMsg);\n        // text to html\n        var /** @type {?} */ url = srcMsg.nodes[0].sourceSpan.start.file.url;\n        var /** @type {?} */ html = new HtmlParser().parse(text, url, true);\n        return {\n            nodes: html.rootNodes,\n            errors: this._errors.concat(html.errors),\n        };\n    };\n    /**\n     * @param {?} text\n     * @param {?=} context\n     * @return {?}\n     */\n    I18nToHtmlVisitor.prototype.visitText = function (text, context) { return text.value; };\n    /**\n     * @param {?} container\n     * @param {?=} context\n     * @return {?}\n     */\n    I18nToHtmlVisitor.prototype.visitContainer = function (container, context) {\n        var _this = this;\n        return container.children.map(function (n) { return n.visit(_this); }).join('');\n    };\n    /**\n     * @param {?} icu\n     * @param {?=} context\n     * @return {?}\n     */\n    I18nToHtmlVisitor.prototype.visitIcu = function (icu, context) {\n        var _this = this;\n        var /** @type {?} */ cases = Object.keys(icu.cases).map(function (k) { return (k + \" {\" + icu.cases[k].visit(_this) + \"}\"); });\n        // TODO(vicb): Once all format switch to using expression placeholders\n        // we should throw when the placeholder is not in the source message\n        var /** @type {?} */ exp = this._srcMsg.placeholders.hasOwnProperty(icu.expression) ?\n            this._srcMsg.placeholders[icu.expression] :\n            icu.expression;\n        return \"{\" + exp + \", \" + icu.type + \", \" + cases.join(' ') + \"}\";\n    };\n    /**\n     * @param {?} ph\n     * @param {?=} context\n     * @return {?}\n     */\n    I18nToHtmlVisitor.prototype.visitPlaceholder = function (ph, context) {\n        var /** @type {?} */ phName = this._mapper(ph.name);\n        if (this._srcMsg.placeholders.hasOwnProperty(phName)) {\n            return this._srcMsg.placeholders[phName];\n        }\n        if (this._srcMsg.placeholderToMessage.hasOwnProperty(phName)) {\n            return this._convertToText(this._srcMsg.placeholderToMessage[phName]);\n        }\n        this._addError(ph, \"Unknown placeholder\");\n        return '';\n    };\n    /**\n     * @param {?} ph\n     * @param {?=} context\n     * @return {?}\n     */\n    I18nToHtmlVisitor.prototype.visitTagPlaceholder = function (ph, context) { throw 'unreachable code'; };\n    /**\n     * @param {?} ph\n     * @param {?=} context\n     * @return {?}\n     */\n    I18nToHtmlVisitor.prototype.visitIcuPlaceholder = function (ph, context) { throw 'unreachable code'; };\n    /**\n     * Convert a source message to a translated text string:\n     * - text nodes are replaced with their translation,\n     * - placeholders are replaced with their content,\n     * - ICU nodes are converted to ICU expressions.\n     * @param {?} srcMsg\n     * @return {?}\n     */\n    I18nToHtmlVisitor.prototype._convertToText = function (srcMsg) {\n        var _this = this;\n        var /** @type {?} */ digest = this._digest(srcMsg);\n        var /** @type {?} */ mapper = this._mapperFactory ? this._mapperFactory(srcMsg) : null;\n        if (this._i18nNodesByMsgId.hasOwnProperty(digest)) {\n            this._contextStack.push({ msg: this._srcMsg, mapper: this._mapper });\n            this._srcMsg = srcMsg;\n            this._mapper = function (name) { return mapper ? mapper.toInternalName(name) : name; };\n            var /** @type {?} */ nodes = this._i18nNodesByMsgId[digest];\n            var /** @type {?} */ text = nodes.map(function (node) { return node.visit(_this); }).join('');\n            var /** @type {?} */ context = this._contextStack.pop();\n            this._srcMsg = context.msg;\n            this._mapper = context.mapper;\n            return text;\n        }\n        this._addError(srcMsg.nodes[0], \"Missing translation for message \" + digest);\n        return '';\n    };\n    /**\n     * @param {?} el\n     * @param {?} msg\n     * @return {?}\n     */\n    I18nToHtmlVisitor.prototype._addError = function (el, msg) {\n        this._errors.push(new I18nError(el.sourceSpan, msg));\n    };\n    return I18nToHtmlVisitor;\n}());\nfunction I18nToHtmlVisitor_tsickle_Closure_declarations() {\n    /** @type {?} */\n    I18nToHtmlVisitor.prototype._srcMsg;\n    /** @type {?} */\n    I18nToHtmlVisitor.prototype._contextStack;\n    /** @type {?} */\n    I18nToHtmlVisitor.prototype._errors;\n    /** @type {?} */\n    I18nToHtmlVisitor.prototype._mapper;\n    /** @type {?} */\n    I18nToHtmlVisitor.prototype._i18nNodesByMsgId;\n    /** @type {?} */\n    I18nToHtmlVisitor.prototype._digest;\n    /** @type {?} */\n    I18nToHtmlVisitor.prototype._mapperFactory;\n}\n//# sourceMappingURL=translation_bundle.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/i18n/translation_bundle.js\n// module id = 851\n// module chunks = 0","/**\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 */\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nimport { COMPILER_OPTIONS, Compiler, CompilerFactory, Inject, OpaqueToken, Optional, PLATFORM_INITIALIZER, ReflectiveInjector, TRANSLATIONS, TRANSLATIONS_FORMAT, ViewEncapsulation, createPlatformFactory, isDevMode, platformCore } from '@angular/core';\nimport { AnimationParser } from '../animation/animation_parser';\nimport { CompilerConfig } from '../config';\nimport { DirectiveNormalizer } from '../directive_normalizer';\nimport { DirectiveResolver } from '../directive_resolver';\nimport { DirectiveWrapperCompiler } from '../directive_wrapper_compiler';\nimport { Lexer } from '../expression_parser/lexer';\nimport { Parser } from '../expression_parser/parser';\nimport * as i18n from '../i18n/index';\nimport { CompilerInjectable } from '../injectable';\nimport { CompileMetadataResolver } from '../metadata_resolver';\nimport { HtmlParser } from '../ml_parser/html_parser';\nimport { NgModuleCompiler } from '../ng_module_compiler';\nimport { NgModuleResolver } from '../ng_module_resolver';\nimport { PipeResolver } from '../pipe_resolver';\nimport { Console, ReflectionCapabilities, Reflector, ReflectorReader, reflector } from '../private_import_core';\nimport { ResourceLoader } from '../resource_loader';\nimport { DomElementSchemaRegistry } from '../schema/dom_element_schema_registry';\nimport { ElementSchemaRegistry } from '../schema/element_schema_registry';\nimport { StyleCompiler } from '../style_compiler';\nimport { SummaryResolver } from '../summary_resolver';\nimport { TemplateParser } from '../template_parser/template_parser';\nimport { DEFAULT_PACKAGE_URL_PROVIDER, UrlResolver } from '../url_resolver';\nimport { ViewCompiler } from '../view_compiler/view_compiler';\nimport { JitCompiler } from './compiler';\nvar /** @type {?} */ _NO_RESOURCE_LOADER = {\n    /**\n     * @param {?} url\n     * @return {?}\n     */\n    get: function (url) {\n        throw new Error(\"No ResourceLoader implementation has been provided. Can't read the url \\\"\" + url + \"\\\"\");\n    }\n};\nvar /** @type {?} */ baseHtmlParser = new OpaqueToken('HtmlParser');\n/**\n * A set of providers that provide `JitCompiler` and its dependencies to use for\n * template compilation.\n */\nexport var /** @type {?} */ COMPILER_PROVIDERS = [\n    { provide: Reflector, useValue: reflector },\n    { provide: ReflectorReader, useExisting: Reflector },\n    { provide: ResourceLoader, useValue: _NO_RESOURCE_LOADER },\n    SummaryResolver,\n    Console,\n    Lexer,\n    Parser,\n    {\n        provide: baseHtmlParser,\n        useClass: HtmlParser,\n    },\n    {\n        provide: i18n.I18NHtmlParser,\n        useFactory: function (parser, translations, format) {\n            return new i18n.I18NHtmlParser(parser, translations, format);\n        },\n        deps: [\n            baseHtmlParser,\n            [new Optional(), new Inject(TRANSLATIONS)],\n            [new Optional(), new Inject(TRANSLATIONS_FORMAT)],\n        ]\n    },\n    {\n        provide: HtmlParser,\n        useExisting: i18n.I18NHtmlParser,\n    },\n    TemplateParser,\n    DirectiveNormalizer,\n    CompileMetadataResolver,\n    DEFAULT_PACKAGE_URL_PROVIDER,\n    StyleCompiler,\n    ViewCompiler,\n    NgModuleCompiler,\n    DirectiveWrapperCompiler,\n    { provide: CompilerConfig, useValue: new CompilerConfig() },\n    JitCompiler,\n    { provide: Compiler, useExisting: JitCompiler },\n    DomElementSchemaRegistry,\n    { provide: ElementSchemaRegistry, useExisting: DomElementSchemaRegistry },\n    UrlResolver,\n    DirectiveResolver,\n    PipeResolver,\n    NgModuleResolver,\n    AnimationParser\n];\nexport var JitCompilerFactory = (function () {\n    /**\n     * @param {?} defaultOptions\n     */\n    function JitCompilerFactory(defaultOptions) {\n        this._defaultOptions = [{\n                useDebug: isDevMode(),\n                useJit: true,\n                defaultEncapsulation: ViewEncapsulation.Emulated\n            }].concat(defaultOptions);\n    }\n    /**\n     * @param {?=} options\n     * @return {?}\n     */\n    JitCompilerFactory.prototype.createCompiler = function (options) {\n        if (options === void 0) { options = []; }\n        var /** @type {?} */ mergedOptions = _mergeOptions(this._defaultOptions.concat(options));\n        var /** @type {?} */ injector = ReflectiveInjector.resolveAndCreate([\n            COMPILER_PROVIDERS, {\n                provide: CompilerConfig,\n                useFactory: function () {\n                    return new CompilerConfig({\n                        // let explicit values from the compiler options overwrite options\n                        // from the app providers. E.g. important for the testing platform.\n                        genDebugInfo: mergedOptions.useDebug,\n                        // let explicit values from the compiler options overwrite options\n                        // from the app providers\n                        useJit: mergedOptions.useJit,\n                        // let explicit values from the compiler options overwrite options\n                        // from the app providers\n                        defaultEncapsulation: mergedOptions.defaultEncapsulation,\n                        logBindingUpdate: mergedOptions.useDebug\n                    });\n                },\n                deps: []\n            },\n            mergedOptions.providers\n        ]);\n        return injector.get(Compiler);\n    };\n    /** @nocollapse */\n    JitCompilerFactory.ctorParameters = function () { return [\n        { type: Array, decorators: [{ type: Inject, args: [COMPILER_OPTIONS,] },] },\n    ]; };\n    JitCompilerFactory = __decorate([\n        CompilerInjectable(), \n        __metadata('design:paramtypes', [Array])\n    ], JitCompilerFactory);\n    return JitCompilerFactory;\n}());\nfunction JitCompilerFactory_tsickle_Closure_declarations() {\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    JitCompilerFactory.ctorParameters;\n    /** @type {?} */\n    JitCompilerFactory.prototype._defaultOptions;\n}\n/**\n * @return {?}\n */\nfunction _initReflector() {\n    reflector.reflectionCapabilities = new ReflectionCapabilities();\n}\n/**\n * A platform that included corePlatform and the compiler.\n *\n * @experimental\n */\nexport var /** @type {?} */ platformCoreDynamic = createPlatformFactory(platformCore, 'coreDynamic', [\n    { provide: COMPILER_OPTIONS, useValue: {}, multi: true },\n    { provide: CompilerFactory, useClass: JitCompilerFactory },\n    { provide: PLATFORM_INITIALIZER, useValue: _initReflector, multi: true },\n]);\n/**\n * @param {?} optionsArr\n * @return {?}\n */\nfunction _mergeOptions(optionsArr) {\n    return {\n        useDebug: _lastDefined(optionsArr.map(function (options) { return options.useDebug; })),\n        useJit: _lastDefined(optionsArr.map(function (options) { return options.useJit; })),\n        defaultEncapsulation: _lastDefined(optionsArr.map(function (options) { return options.defaultEncapsulation; })),\n        providers: _mergeArrays(optionsArr.map(function (options) { return options.providers; }))\n    };\n}\n/**\n * @param {?} args\n * @return {?}\n */\nfunction _lastDefined(args) {\n    for (var /** @type {?} */ i = args.length - 1; i >= 0; i--) {\n        if (args[i] !== undefined) {\n            return args[i];\n        }\n    }\n    return undefined;\n}\n/**\n * @param {?} parts\n * @return {?}\n */\nfunction _mergeArrays(parts) {\n    var /** @type {?} */ result = [];\n    parts.forEach(function (part) { return part && result.push.apply(result, part); });\n    return result;\n}\n//# sourceMappingURL=compiler_factory.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/jit/compiler_factory.js\n// module id = 852\n// module chunks = 0","/**\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 */\nimport { LifecycleHooks, reflector } from './private_import_core';\n/**\n * @param {?} hook\n * @param {?} token\n * @return {?}\n */\nexport function hasLifecycleHook(hook, token) {\n    return reflector.hasLifecycleHook(token, getHookName(hook));\n}\n/**\n * @param {?} hook\n * @return {?}\n */\nfunction getHookName(hook) {\n    switch (hook) {\n        case LifecycleHooks.OnInit:\n            return 'ngOnInit';\n        case LifecycleHooks.OnDestroy:\n            return 'ngOnDestroy';\n        case LifecycleHooks.DoCheck:\n            return 'ngDoCheck';\n        case LifecycleHooks.OnChanges:\n            return 'ngOnChanges';\n        case LifecycleHooks.AfterContentInit:\n            return 'ngAfterContentInit';\n        case LifecycleHooks.AfterContentChecked:\n            return 'ngAfterContentChecked';\n        case LifecycleHooks.AfterViewInit:\n            return 'ngAfterViewInit';\n        case LifecycleHooks.AfterViewChecked:\n            return 'ngAfterViewChecked';\n    }\n}\n//# sourceMappingURL=lifecycle_reflector.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/lifecycle_reflector.js\n// module id = 853\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { ParseError } from '../parse_util';\nimport * as html from './ast';\n// http://cldr.unicode.org/index/cldr-spec/plural-rules\nvar /** @type {?} */ PLURAL_CASES = ['zero', 'one', 'two', 'few', 'many', 'other'];\n/**\n * Expands special forms into elements.\n *\n * For example,\n *\n * ```\n * { messages.length, plural,\n *   =0 {zero}\n *   =1 {one}\n *   other {more than one}\n * }\n * ```\n *\n * will be expanded into\n *\n * ```\n * <ng-container [ngPlural]=\"messages.length\">\n *   <template ngPluralCase=\"=0\">zero</template>\n *   <template ngPluralCase=\"=1\">one</template>\n *   <template ngPluralCase=\"other\">more than one</template>\n * </ng-container>\n * ```\n * @param {?} nodes\n * @return {?}\n */\nexport function expandNodes(nodes) {\n    var /** @type {?} */ expander = new _Expander();\n    return new ExpansionResult(html.visitAll(expander, nodes), expander.isExpanded, expander.errors);\n}\nexport var ExpansionResult = (function () {\n    /**\n     * @param {?} nodes\n     * @param {?} expanded\n     * @param {?} errors\n     */\n    function ExpansionResult(nodes, expanded, errors) {\n        this.nodes = nodes;\n        this.expanded = expanded;\n        this.errors = errors;\n    }\n    return ExpansionResult;\n}());\nfunction ExpansionResult_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ExpansionResult.prototype.nodes;\n    /** @type {?} */\n    ExpansionResult.prototype.expanded;\n    /** @type {?} */\n    ExpansionResult.prototype.errors;\n}\nexport var ExpansionError = (function (_super) {\n    __extends(ExpansionError, _super);\n    /**\n     * @param {?} span\n     * @param {?} errorMsg\n     */\n    function ExpansionError(span, errorMsg) {\n        _super.call(this, span, errorMsg);\n    }\n    return ExpansionError;\n}(ParseError));\n/**\n * Expand expansion forms (plural, select) to directives\n *\n * \\@internal\n */\nvar _Expander = (function () {\n    function _Expander() {\n        this.isExpanded = false;\n        this.errors = [];\n    }\n    /**\n     * @param {?} element\n     * @param {?} context\n     * @return {?}\n     */\n    _Expander.prototype.visitElement = function (element, context) {\n        return new html.Element(element.name, element.attrs, html.visitAll(this, element.children), element.sourceSpan, element.startSourceSpan, element.endSourceSpan);\n    };\n    /**\n     * @param {?} attribute\n     * @param {?} context\n     * @return {?}\n     */\n    _Expander.prototype.visitAttribute = function (attribute, context) { return attribute; };\n    /**\n     * @param {?} text\n     * @param {?} context\n     * @return {?}\n     */\n    _Expander.prototype.visitText = function (text, context) { return text; };\n    /**\n     * @param {?} comment\n     * @param {?} context\n     * @return {?}\n     */\n    _Expander.prototype.visitComment = function (comment, context) { return comment; };\n    /**\n     * @param {?} icu\n     * @param {?} context\n     * @return {?}\n     */\n    _Expander.prototype.visitExpansion = function (icu, context) {\n        this.isExpanded = true;\n        return icu.type == 'plural' ? _expandPluralForm(icu, this.errors) :\n            _expandDefaultForm(icu, this.errors);\n    };\n    /**\n     * @param {?} icuCase\n     * @param {?} context\n     * @return {?}\n     */\n    _Expander.prototype.visitExpansionCase = function (icuCase, context) {\n        throw new Error('Should not be reached');\n    };\n    return _Expander;\n}());\nfunction _Expander_tsickle_Closure_declarations() {\n    /** @type {?} */\n    _Expander.prototype.isExpanded;\n    /** @type {?} */\n    _Expander.prototype.errors;\n}\n/**\n * @param {?} ast\n * @param {?} errors\n * @return {?}\n */\nfunction _expandPluralForm(ast, errors) {\n    var /** @type {?} */ children = ast.cases.map(function (c) {\n        if (PLURAL_CASES.indexOf(c.value) == -1 && !c.value.match(/^=\\d+$/)) {\n            errors.push(new ExpansionError(c.valueSourceSpan, \"Plural cases should be \\\"=<number>\\\" or one of \" + PLURAL_CASES.join(\", \")));\n        }\n        var /** @type {?} */ expansionResult = expandNodes(c.expression);\n        errors.push.apply(errors, expansionResult.errors);\n        return new html.Element(\"template\", [new html.Attribute('ngPluralCase', \"\" + c.value, c.valueSourceSpan)], expansionResult.nodes, c.sourceSpan, c.sourceSpan, c.sourceSpan);\n    });\n    var /** @type {?} */ switchAttr = new html.Attribute('[ngPlural]', ast.switchValue, ast.switchValueSourceSpan);\n    return new html.Element('ng-container', [switchAttr], children, ast.sourceSpan, ast.sourceSpan, ast.sourceSpan);\n}\n/**\n * @param {?} ast\n * @param {?} errors\n * @return {?}\n */\nfunction _expandDefaultForm(ast, errors) {\n    var /** @type {?} */ children = ast.cases.map(function (c) {\n        var /** @type {?} */ expansionResult = expandNodes(c.expression);\n        errors.push.apply(errors, expansionResult.errors);\n        if (c.value === 'other') {\n            // other is the default case when no values match\n            return new html.Element(\"template\", [new html.Attribute('ngSwitchDefault', '', c.valueSourceSpan)], expansionResult.nodes, c.sourceSpan, c.sourceSpan, c.sourceSpan);\n        }\n        return new html.Element(\"template\", [new html.Attribute('ngSwitchCase', \"\" + c.value, c.valueSourceSpan)], expansionResult.nodes, c.sourceSpan, c.sourceSpan, c.sourceSpan);\n    });\n    var /** @type {?} */ switchAttr = new html.Attribute('[ngSwitch]', ast.switchValue, ast.switchValueSourceSpan);\n    return new html.Element('ng-container', [switchAttr], children, ast.sourceSpan, ast.sourceSpan, ast.sourceSpan);\n}\n//# sourceMappingURL=icu_ast_expander.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/ml_parser/icu_ast_expander.js\n// module id = 854\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport * as chars from '../chars';\nimport { ParseError, ParseLocation, ParseSourceFile, ParseSourceSpan } from '../parse_util';\nimport { DEFAULT_INTERPOLATION_CONFIG } from './interpolation_config';\nimport { NAMED_ENTITIES, TagContentType } from './tags';\nexport var TokenType = {};\nTokenType.TAG_OPEN_START = 0;\nTokenType.TAG_OPEN_END = 1;\nTokenType.TAG_OPEN_END_VOID = 2;\nTokenType.TAG_CLOSE = 3;\nTokenType.TEXT = 4;\nTokenType.ESCAPABLE_RAW_TEXT = 5;\nTokenType.RAW_TEXT = 6;\nTokenType.COMMENT_START = 7;\nTokenType.COMMENT_END = 8;\nTokenType.CDATA_START = 9;\nTokenType.CDATA_END = 10;\nTokenType.ATTR_NAME = 11;\nTokenType.ATTR_VALUE = 12;\nTokenType.DOC_TYPE = 13;\nTokenType.EXPANSION_FORM_START = 14;\nTokenType.EXPANSION_CASE_VALUE = 15;\nTokenType.EXPANSION_CASE_EXP_START = 16;\nTokenType.EXPANSION_CASE_EXP_END = 17;\nTokenType.EXPANSION_FORM_END = 18;\nTokenType.EOF = 19;\nTokenType[TokenType.TAG_OPEN_START] = \"TAG_OPEN_START\";\nTokenType[TokenType.TAG_OPEN_END] = \"TAG_OPEN_END\";\nTokenType[TokenType.TAG_OPEN_END_VOID] = \"TAG_OPEN_END_VOID\";\nTokenType[TokenType.TAG_CLOSE] = \"TAG_CLOSE\";\nTokenType[TokenType.TEXT] = \"TEXT\";\nTokenType[TokenType.ESCAPABLE_RAW_TEXT] = \"ESCAPABLE_RAW_TEXT\";\nTokenType[TokenType.RAW_TEXT] = \"RAW_TEXT\";\nTokenType[TokenType.COMMENT_START] = \"COMMENT_START\";\nTokenType[TokenType.COMMENT_END] = \"COMMENT_END\";\nTokenType[TokenType.CDATA_START] = \"CDATA_START\";\nTokenType[TokenType.CDATA_END] = \"CDATA_END\";\nTokenType[TokenType.ATTR_NAME] = \"ATTR_NAME\";\nTokenType[TokenType.ATTR_VALUE] = \"ATTR_VALUE\";\nTokenType[TokenType.DOC_TYPE] = \"DOC_TYPE\";\nTokenType[TokenType.EXPANSION_FORM_START] = \"EXPANSION_FORM_START\";\nTokenType[TokenType.EXPANSION_CASE_VALUE] = \"EXPANSION_CASE_VALUE\";\nTokenType[TokenType.EXPANSION_CASE_EXP_START] = \"EXPANSION_CASE_EXP_START\";\nTokenType[TokenType.EXPANSION_CASE_EXP_END] = \"EXPANSION_CASE_EXP_END\";\nTokenType[TokenType.EXPANSION_FORM_END] = \"EXPANSION_FORM_END\";\nTokenType[TokenType.EOF] = \"EOF\";\nexport var Token = (function () {\n    /**\n     * @param {?} type\n     * @param {?} parts\n     * @param {?} sourceSpan\n     */\n    function Token(type, parts, sourceSpan) {\n        this.type = type;\n        this.parts = parts;\n        this.sourceSpan = sourceSpan;\n    }\n    return Token;\n}());\nfunction Token_tsickle_Closure_declarations() {\n    /** @type {?} */\n    Token.prototype.type;\n    /** @type {?} */\n    Token.prototype.parts;\n    /** @type {?} */\n    Token.prototype.sourceSpan;\n}\nexport var TokenError = (function (_super) {\n    __extends(TokenError, _super);\n    /**\n     * @param {?} errorMsg\n     * @param {?} tokenType\n     * @param {?} span\n     */\n    function TokenError(errorMsg, tokenType, span) {\n        _super.call(this, span, errorMsg);\n        this.tokenType = tokenType;\n    }\n    return TokenError;\n}(ParseError));\nfunction TokenError_tsickle_Closure_declarations() {\n    /** @type {?} */\n    TokenError.prototype.tokenType;\n}\nexport var TokenizeResult = (function () {\n    /**\n     * @param {?} tokens\n     * @param {?} errors\n     */\n    function TokenizeResult(tokens, errors) {\n        this.tokens = tokens;\n        this.errors = errors;\n    }\n    return TokenizeResult;\n}());\nfunction TokenizeResult_tsickle_Closure_declarations() {\n    /** @type {?} */\n    TokenizeResult.prototype.tokens;\n    /** @type {?} */\n    TokenizeResult.prototype.errors;\n}\n/**\n * @param {?} source\n * @param {?} url\n * @param {?} getTagDefinition\n * @param {?=} tokenizeExpansionForms\n * @param {?=} interpolationConfig\n * @return {?}\n */\nexport function tokenize(source, url, getTagDefinition, tokenizeExpansionForms, interpolationConfig) {\n    if (tokenizeExpansionForms === void 0) { tokenizeExpansionForms = false; }\n    if (interpolationConfig === void 0) { interpolationConfig = DEFAULT_INTERPOLATION_CONFIG; }\n    return new _Tokenizer(new ParseSourceFile(source, url), getTagDefinition, tokenizeExpansionForms, interpolationConfig)\n        .tokenize();\n}\nvar /** @type {?} */ _CR_OR_CRLF_REGEXP = /\\r\\n?/g;\n/**\n * @param {?} charCode\n * @return {?}\n */\nfunction _unexpectedCharacterErrorMsg(charCode) {\n    var /** @type {?} */ char = charCode === chars.$EOF ? 'EOF' : String.fromCharCode(charCode);\n    return \"Unexpected character \\\"\" + char + \"\\\"\";\n}\n/**\n * @param {?} entitySrc\n * @return {?}\n */\nfunction _unknownEntityErrorMsg(entitySrc) {\n    return \"Unknown entity \\\"\" + entitySrc + \"\\\" - use the \\\"&#<decimal>;\\\" or  \\\"&#x<hex>;\\\" syntax\";\n}\nvar _ControlFlowError = (function () {\n    /**\n     * @param {?} error\n     */\n    function _ControlFlowError(error) {\n        this.error = error;\n    }\n    return _ControlFlowError;\n}());\nfunction _ControlFlowError_tsickle_Closure_declarations() {\n    /** @type {?} */\n    _ControlFlowError.prototype.error;\n}\nvar _Tokenizer = (function () {\n    /**\n     * @param {?} _file The html source\n     * @param {?} _getTagDefinition\n     * @param {?} _tokenizeIcu Whether to tokenize ICU messages (considered as text nodes when false)\n     * @param {?=} _interpolationConfig\n     */\n    function _Tokenizer(_file, _getTagDefinition, _tokenizeIcu, _interpolationConfig) {\n        if (_interpolationConfig === void 0) { _interpolationConfig = DEFAULT_INTERPOLATION_CONFIG; }\n        this._file = _file;\n        this._getTagDefinition = _getTagDefinition;\n        this._tokenizeIcu = _tokenizeIcu;\n        this._interpolationConfig = _interpolationConfig;\n        this._peek = -1;\n        this._nextPeek = -1;\n        this._index = -1;\n        this._line = 0;\n        this._column = -1;\n        this._expansionCaseStack = [];\n        this._inInterpolation = false;\n        this.tokens = [];\n        this.errors = [];\n        this._input = _file.content;\n        this._length = _file.content.length;\n        this._advance();\n    }\n    /**\n     * @param {?} content\n     * @return {?}\n     */\n    _Tokenizer.prototype._processCarriageReturns = function (content) {\n        // http://www.w3.org/TR/html5/syntax.html#preprocessing-the-input-stream\n        // In order to keep the original position in the source, we can not\n        // pre-process it.\n        // Instead CRs are processed right before instantiating the tokens.\n        return content.replace(_CR_OR_CRLF_REGEXP, '\\n');\n    };\n    /**\n     * @return {?}\n     */\n    _Tokenizer.prototype.tokenize = function () {\n        while (this._peek !== chars.$EOF) {\n            var /** @type {?} */ start = this._getLocation();\n            try {\n                if (this._attemptCharCode(chars.$LT)) {\n                    if (this._attemptCharCode(chars.$BANG)) {\n                        if (this._attemptCharCode(chars.$LBRACKET)) {\n                            this._consumeCdata(start);\n                        }\n                        else if (this._attemptCharCode(chars.$MINUS)) {\n                            this._consumeComment(start);\n                        }\n                        else {\n                            this._consumeDocType(start);\n                        }\n                    }\n                    else if (this._attemptCharCode(chars.$SLASH)) {\n                        this._consumeTagClose(start);\n                    }\n                    else {\n                        this._consumeTagOpen(start);\n                    }\n                }\n                else if (!(this._tokenizeIcu && this._tokenizeExpansionForm())) {\n                    this._consumeText();\n                }\n            }\n            catch (e) {\n                if (e instanceof _ControlFlowError) {\n                    this.errors.push(e.error);\n                }\n                else {\n                    throw e;\n                }\n            }\n        }\n        this._beginToken(TokenType.EOF);\n        this._endToken([]);\n        return new TokenizeResult(mergeTextTokens(this.tokens), this.errors);\n    };\n    /**\n     * \\@internal\n     * @return {?}\n     */\n    _Tokenizer.prototype._tokenizeExpansionForm = function () {\n        if (isExpansionFormStart(this._input, this._index, this._interpolationConfig)) {\n            this._consumeExpansionFormStart();\n            return true;\n        }\n        if (isExpansionCaseStart(this._peek) && this._isInExpansionForm()) {\n            this._consumeExpansionCaseStart();\n            return true;\n        }\n        if (this._peek === chars.$RBRACE) {\n            if (this._isInExpansionCase()) {\n                this._consumeExpansionCaseEnd();\n                return true;\n            }\n            if (this._isInExpansionForm()) {\n                this._consumeExpansionFormEnd();\n                return true;\n            }\n        }\n        return false;\n    };\n    /**\n     * @return {?}\n     */\n    _Tokenizer.prototype._getLocation = function () {\n        return new ParseLocation(this._file, this._index, this._line, this._column);\n    };\n    /**\n     * @param {?=} start\n     * @param {?=} end\n     * @return {?}\n     */\n    _Tokenizer.prototype._getSpan = function (start, end) {\n        if (start === void 0) { start = this._getLocation(); }\n        if (end === void 0) { end = this._getLocation(); }\n        return new ParseSourceSpan(start, end);\n    };\n    /**\n     * @param {?} type\n     * @param {?=} start\n     * @return {?}\n     */\n    _Tokenizer.prototype._beginToken = function (type, start) {\n        if (start === void 0) { start = this._getLocation(); }\n        this._currentTokenStart = start;\n        this._currentTokenType = type;\n    };\n    /**\n     * @param {?} parts\n     * @param {?=} end\n     * @return {?}\n     */\n    _Tokenizer.prototype._endToken = function (parts, end) {\n        if (end === void 0) { end = this._getLocation(); }\n        var /** @type {?} */ token = new Token(this._currentTokenType, parts, new ParseSourceSpan(this._currentTokenStart, end));\n        this.tokens.push(token);\n        this._currentTokenStart = null;\n        this._currentTokenType = null;\n        return token;\n    };\n    /**\n     * @param {?} msg\n     * @param {?} span\n     * @return {?}\n     */\n    _Tokenizer.prototype._createError = function (msg, span) {\n        if (this._isInExpansionForm()) {\n            msg += \" (Do you have an unescaped \\\"{\\\" in your template? Use \\\"{{ '{' }}\\\") to escape it.)\";\n        }\n        var /** @type {?} */ error = new TokenError(msg, this._currentTokenType, span);\n        this._currentTokenStart = null;\n        this._currentTokenType = null;\n        return new _ControlFlowError(error);\n    };\n    /**\n     * @return {?}\n     */\n    _Tokenizer.prototype._advance = function () {\n        if (this._index >= this._length) {\n            throw this._createError(_unexpectedCharacterErrorMsg(chars.$EOF), this._getSpan());\n        }\n        if (this._peek === chars.$LF) {\n            this._line++;\n            this._column = 0;\n        }\n        else if (this._peek !== chars.$LF && this._peek !== chars.$CR) {\n            this._column++;\n        }\n        this._index++;\n        this._peek = this._index >= this._length ? chars.$EOF : this._input.charCodeAt(this._index);\n        this._nextPeek =\n            this._index + 1 >= this._length ? chars.$EOF : this._input.charCodeAt(this._index + 1);\n    };\n    /**\n     * @param {?} charCode\n     * @return {?}\n     */\n    _Tokenizer.prototype._attemptCharCode = function (charCode) {\n        if (this._peek === charCode) {\n            this._advance();\n            return true;\n        }\n        return false;\n    };\n    /**\n     * @param {?} charCode\n     * @return {?}\n     */\n    _Tokenizer.prototype._attemptCharCodeCaseInsensitive = function (charCode) {\n        if (compareCharCodeCaseInsensitive(this._peek, charCode)) {\n            this._advance();\n            return true;\n        }\n        return false;\n    };\n    /**\n     * @param {?} charCode\n     * @return {?}\n     */\n    _Tokenizer.prototype._requireCharCode = function (charCode) {\n        var /** @type {?} */ location = this._getLocation();\n        if (!this._attemptCharCode(charCode)) {\n            throw this._createError(_unexpectedCharacterErrorMsg(this._peek), this._getSpan(location, location));\n        }\n    };\n    /**\n     * @param {?} chars\n     * @return {?}\n     */\n    _Tokenizer.prototype._attemptStr = function (chars) {\n        var /** @type {?} */ len = chars.length;\n        if (this._index + len > this._length) {\n            return false;\n        }\n        var /** @type {?} */ initialPosition = this._savePosition();\n        for (var /** @type {?} */ i = 0; i < len; i++) {\n            if (!this._attemptCharCode(chars.charCodeAt(i))) {\n                // If attempting to parse the string fails, we want to reset the parser\n                // to where it was before the attempt\n                this._restorePosition(initialPosition);\n                return false;\n            }\n        }\n        return true;\n    };\n    /**\n     * @param {?} chars\n     * @return {?}\n     */\n    _Tokenizer.prototype._attemptStrCaseInsensitive = function (chars) {\n        for (var /** @type {?} */ i = 0; i < chars.length; i++) {\n            if (!this._attemptCharCodeCaseInsensitive(chars.charCodeAt(i))) {\n                return false;\n            }\n        }\n        return true;\n    };\n    /**\n     * @param {?} chars\n     * @return {?}\n     */\n    _Tokenizer.prototype._requireStr = function (chars) {\n        var /** @type {?} */ location = this._getLocation();\n        if (!this._attemptStr(chars)) {\n            throw this._createError(_unexpectedCharacterErrorMsg(this._peek), this._getSpan(location));\n        }\n    };\n    /**\n     * @param {?} predicate\n     * @return {?}\n     */\n    _Tokenizer.prototype._attemptCharCodeUntilFn = function (predicate) {\n        while (!predicate(this._peek)) {\n            this._advance();\n        }\n    };\n    /**\n     * @param {?} predicate\n     * @param {?} len\n     * @return {?}\n     */\n    _Tokenizer.prototype._requireCharCodeUntilFn = function (predicate, len) {\n        var /** @type {?} */ start = this._getLocation();\n        this._attemptCharCodeUntilFn(predicate);\n        if (this._index - start.offset < len) {\n            throw this._createError(_unexpectedCharacterErrorMsg(this._peek), this._getSpan(start, start));\n        }\n    };\n    /**\n     * @param {?} char\n     * @return {?}\n     */\n    _Tokenizer.prototype._attemptUntilChar = function (char) {\n        while (this._peek !== char) {\n            this._advance();\n        }\n    };\n    /**\n     * @param {?} decodeEntities\n     * @return {?}\n     */\n    _Tokenizer.prototype._readChar = function (decodeEntities) {\n        if (decodeEntities && this._peek === chars.$AMPERSAND) {\n            return this._decodeEntity();\n        }\n        else {\n            var /** @type {?} */ index = this._index;\n            this._advance();\n            return this._input[index];\n        }\n    };\n    /**\n     * @return {?}\n     */\n    _Tokenizer.prototype._decodeEntity = function () {\n        var /** @type {?} */ start = this._getLocation();\n        this._advance();\n        if (this._attemptCharCode(chars.$HASH)) {\n            var /** @type {?} */ isHex = this._attemptCharCode(chars.$x) || this._attemptCharCode(chars.$X);\n            var /** @type {?} */ numberStart = this._getLocation().offset;\n            this._attemptCharCodeUntilFn(isDigitEntityEnd);\n            if (this._peek != chars.$SEMICOLON) {\n                throw this._createError(_unexpectedCharacterErrorMsg(this._peek), this._getSpan());\n            }\n            this._advance();\n            var /** @type {?} */ strNum = this._input.substring(numberStart, this._index - 1);\n            try {\n                var /** @type {?} */ charCode = parseInt(strNum, isHex ? 16 : 10);\n                return String.fromCharCode(charCode);\n            }\n            catch (e) {\n                var /** @type {?} */ entity = this._input.substring(start.offset + 1, this._index - 1);\n                throw this._createError(_unknownEntityErrorMsg(entity), this._getSpan(start));\n            }\n        }\n        else {\n            var /** @type {?} */ startPosition = this._savePosition();\n            this._attemptCharCodeUntilFn(isNamedEntityEnd);\n            if (this._peek != chars.$SEMICOLON) {\n                this._restorePosition(startPosition);\n                return '&';\n            }\n            this._advance();\n            var /** @type {?} */ name_1 = this._input.substring(start.offset + 1, this._index - 1);\n            var /** @type {?} */ char = NAMED_ENTITIES[name_1];\n            if (!char) {\n                throw this._createError(_unknownEntityErrorMsg(name_1), this._getSpan(start));\n            }\n            return char;\n        }\n    };\n    /**\n     * @param {?} decodeEntities\n     * @param {?} firstCharOfEnd\n     * @param {?} attemptEndRest\n     * @return {?}\n     */\n    _Tokenizer.prototype._consumeRawText = function (decodeEntities, firstCharOfEnd, attemptEndRest) {\n        var /** @type {?} */ tagCloseStart;\n        var /** @type {?} */ textStart = this._getLocation();\n        this._beginToken(decodeEntities ? TokenType.ESCAPABLE_RAW_TEXT : TokenType.RAW_TEXT, textStart);\n        var /** @type {?} */ parts = [];\n        while (true) {\n            tagCloseStart = this._getLocation();\n            if (this._attemptCharCode(firstCharOfEnd) && attemptEndRest()) {\n                break;\n            }\n            if (this._index > tagCloseStart.offset) {\n                // add the characters consumed by the previous if statement to the output\n                parts.push(this._input.substring(tagCloseStart.offset, this._index));\n            }\n            while (this._peek !== firstCharOfEnd) {\n                parts.push(this._readChar(decodeEntities));\n            }\n        }\n        return this._endToken([this._processCarriageReturns(parts.join(''))], tagCloseStart);\n    };\n    /**\n     * @param {?} start\n     * @return {?}\n     */\n    _Tokenizer.prototype._consumeComment = function (start) {\n        var _this = this;\n        this._beginToken(TokenType.COMMENT_START, start);\n        this._requireCharCode(chars.$MINUS);\n        this._endToken([]);\n        var /** @type {?} */ textToken = this._consumeRawText(false, chars.$MINUS, function () { return _this._attemptStr('->'); });\n        this._beginToken(TokenType.COMMENT_END, textToken.sourceSpan.end);\n        this._endToken([]);\n    };\n    /**\n     * @param {?} start\n     * @return {?}\n     */\n    _Tokenizer.prototype._consumeCdata = function (start) {\n        var _this = this;\n        this._beginToken(TokenType.CDATA_START, start);\n        this._requireStr('CDATA[');\n        this._endToken([]);\n        var /** @type {?} */ textToken = this._consumeRawText(false, chars.$RBRACKET, function () { return _this._attemptStr(']>'); });\n        this._beginToken(TokenType.CDATA_END, textToken.sourceSpan.end);\n        this._endToken([]);\n    };\n    /**\n     * @param {?} start\n     * @return {?}\n     */\n    _Tokenizer.prototype._consumeDocType = function (start) {\n        this._beginToken(TokenType.DOC_TYPE, start);\n        this._attemptUntilChar(chars.$GT);\n        this._advance();\n        this._endToken([this._input.substring(start.offset + 2, this._index - 1)]);\n    };\n    /**\n     * @return {?}\n     */\n    _Tokenizer.prototype._consumePrefixAndName = function () {\n        var /** @type {?} */ nameOrPrefixStart = this._index;\n        var /** @type {?} */ prefix = null;\n        while (this._peek !== chars.$COLON && !isPrefixEnd(this._peek)) {\n            this._advance();\n        }\n        var /** @type {?} */ nameStart;\n        if (this._peek === chars.$COLON) {\n            this._advance();\n            prefix = this._input.substring(nameOrPrefixStart, this._index - 1);\n            nameStart = this._index;\n        }\n        else {\n            nameStart = nameOrPrefixStart;\n        }\n        this._requireCharCodeUntilFn(isNameEnd, this._index === nameStart ? 1 : 0);\n        var /** @type {?} */ name = this._input.substring(nameStart, this._index);\n        return [prefix, name];\n    };\n    /**\n     * @param {?} start\n     * @return {?}\n     */\n    _Tokenizer.prototype._consumeTagOpen = function (start) {\n        var /** @type {?} */ savedPos = this._savePosition();\n        var /** @type {?} */ tagName;\n        var /** @type {?} */ lowercaseTagName;\n        try {\n            if (!chars.isAsciiLetter(this._peek)) {\n                throw this._createError(_unexpectedCharacterErrorMsg(this._peek), this._getSpan());\n            }\n            var /** @type {?} */ nameStart = this._index;\n            this._consumeTagOpenStart(start);\n            tagName = this._input.substring(nameStart, this._index);\n            lowercaseTagName = tagName.toLowerCase();\n            this._attemptCharCodeUntilFn(isNotWhitespace);\n            while (this._peek !== chars.$SLASH && this._peek !== chars.$GT) {\n                this._consumeAttributeName();\n                this._attemptCharCodeUntilFn(isNotWhitespace);\n                if (this._attemptCharCode(chars.$EQ)) {\n                    this._attemptCharCodeUntilFn(isNotWhitespace);\n                    this._consumeAttributeValue();\n                }\n                this._attemptCharCodeUntilFn(isNotWhitespace);\n            }\n            this._consumeTagOpenEnd();\n        }\n        catch (e) {\n            if (e instanceof _ControlFlowError) {\n                // When the start tag is invalid, assume we want a \"<\"\n                this._restorePosition(savedPos);\n                // Back to back text tokens are merged at the end\n                this._beginToken(TokenType.TEXT, start);\n                this._endToken(['<']);\n                return;\n            }\n            throw e;\n        }\n        var /** @type {?} */ contentTokenType = this._getTagDefinition(tagName).contentType;\n        if (contentTokenType === TagContentType.RAW_TEXT) {\n            this._consumeRawTextWithTagClose(lowercaseTagName, false);\n        }\n        else if (contentTokenType === TagContentType.ESCAPABLE_RAW_TEXT) {\n            this._consumeRawTextWithTagClose(lowercaseTagName, true);\n        }\n    };\n    /**\n     * @param {?} lowercaseTagName\n     * @param {?} decodeEntities\n     * @return {?}\n     */\n    _Tokenizer.prototype._consumeRawTextWithTagClose = function (lowercaseTagName, decodeEntities) {\n        var _this = this;\n        var /** @type {?} */ textToken = this._consumeRawText(decodeEntities, chars.$LT, function () {\n            if (!_this._attemptCharCode(chars.$SLASH))\n                return false;\n            _this._attemptCharCodeUntilFn(isNotWhitespace);\n            if (!_this._attemptStrCaseInsensitive(lowercaseTagName))\n                return false;\n            _this._attemptCharCodeUntilFn(isNotWhitespace);\n            return _this._attemptCharCode(chars.$GT);\n        });\n        this._beginToken(TokenType.TAG_CLOSE, textToken.sourceSpan.end);\n        this._endToken([null, lowercaseTagName]);\n    };\n    /**\n     * @param {?} start\n     * @return {?}\n     */\n    _Tokenizer.prototype._consumeTagOpenStart = function (start) {\n        this._beginToken(TokenType.TAG_OPEN_START, start);\n        var /** @type {?} */ parts = this._consumePrefixAndName();\n        this._endToken(parts);\n    };\n    /**\n     * @return {?}\n     */\n    _Tokenizer.prototype._consumeAttributeName = function () {\n        this._beginToken(TokenType.ATTR_NAME);\n        var /** @type {?} */ prefixAndName = this._consumePrefixAndName();\n        this._endToken(prefixAndName);\n    };\n    /**\n     * @return {?}\n     */\n    _Tokenizer.prototype._consumeAttributeValue = function () {\n        this._beginToken(TokenType.ATTR_VALUE);\n        var /** @type {?} */ value;\n        if (this._peek === chars.$SQ || this._peek === chars.$DQ) {\n            var /** @type {?} */ quoteChar = this._peek;\n            this._advance();\n            var /** @type {?} */ parts = [];\n            while (this._peek !== quoteChar) {\n                parts.push(this._readChar(true));\n            }\n            value = parts.join('');\n            this._advance();\n        }\n        else {\n            var /** @type {?} */ valueStart = this._index;\n            this._requireCharCodeUntilFn(isNameEnd, 1);\n            value = this._input.substring(valueStart, this._index);\n        }\n        this._endToken([this._processCarriageReturns(value)]);\n    };\n    /**\n     * @return {?}\n     */\n    _Tokenizer.prototype._consumeTagOpenEnd = function () {\n        var /** @type {?} */ tokenType = this._attemptCharCode(chars.$SLASH) ? TokenType.TAG_OPEN_END_VOID : TokenType.TAG_OPEN_END;\n        this._beginToken(tokenType);\n        this._requireCharCode(chars.$GT);\n        this._endToken([]);\n    };\n    /**\n     * @param {?} start\n     * @return {?}\n     */\n    _Tokenizer.prototype._consumeTagClose = function (start) {\n        this._beginToken(TokenType.TAG_CLOSE, start);\n        this._attemptCharCodeUntilFn(isNotWhitespace);\n        var /** @type {?} */ prefixAndName = this._consumePrefixAndName();\n        this._attemptCharCodeUntilFn(isNotWhitespace);\n        this._requireCharCode(chars.$GT);\n        this._endToken(prefixAndName);\n    };\n    /**\n     * @return {?}\n     */\n    _Tokenizer.prototype._consumeExpansionFormStart = function () {\n        this._beginToken(TokenType.EXPANSION_FORM_START, this._getLocation());\n        this._requireCharCode(chars.$LBRACE);\n        this._endToken([]);\n        this._expansionCaseStack.push(TokenType.EXPANSION_FORM_START);\n        this._beginToken(TokenType.RAW_TEXT, this._getLocation());\n        var /** @type {?} */ condition = this._readUntil(chars.$COMMA);\n        this._endToken([condition], this._getLocation());\n        this._requireCharCode(chars.$COMMA);\n        this._attemptCharCodeUntilFn(isNotWhitespace);\n        this._beginToken(TokenType.RAW_TEXT, this._getLocation());\n        var /** @type {?} */ type = this._readUntil(chars.$COMMA);\n        this._endToken([type], this._getLocation());\n        this._requireCharCode(chars.$COMMA);\n        this._attemptCharCodeUntilFn(isNotWhitespace);\n    };\n    /**\n     * @return {?}\n     */\n    _Tokenizer.prototype._consumeExpansionCaseStart = function () {\n        this._beginToken(TokenType.EXPANSION_CASE_VALUE, this._getLocation());\n        var /** @type {?} */ value = this._readUntil(chars.$LBRACE).trim();\n        this._endToken([value], this._getLocation());\n        this._attemptCharCodeUntilFn(isNotWhitespace);\n        this._beginToken(TokenType.EXPANSION_CASE_EXP_START, this._getLocation());\n        this._requireCharCode(chars.$LBRACE);\n        this._endToken([], this._getLocation());\n        this._attemptCharCodeUntilFn(isNotWhitespace);\n        this._expansionCaseStack.push(TokenType.EXPANSION_CASE_EXP_START);\n    };\n    /**\n     * @return {?}\n     */\n    _Tokenizer.prototype._consumeExpansionCaseEnd = function () {\n        this._beginToken(TokenType.EXPANSION_CASE_EXP_END, this._getLocation());\n        this._requireCharCode(chars.$RBRACE);\n        this._endToken([], this._getLocation());\n        this._attemptCharCodeUntilFn(isNotWhitespace);\n        this._expansionCaseStack.pop();\n    };\n    /**\n     * @return {?}\n     */\n    _Tokenizer.prototype._consumeExpansionFormEnd = function () {\n        this._beginToken(TokenType.EXPANSION_FORM_END, this._getLocation());\n        this._requireCharCode(chars.$RBRACE);\n        this._endToken([]);\n        this._expansionCaseStack.pop();\n    };\n    /**\n     * @return {?}\n     */\n    _Tokenizer.prototype._consumeText = function () {\n        var /** @type {?} */ start = this._getLocation();\n        this._beginToken(TokenType.TEXT, start);\n        var /** @type {?} */ parts = [];\n        do {\n            if (this._interpolationConfig && this._attemptStr(this._interpolationConfig.start)) {\n                parts.push(this._interpolationConfig.start);\n                this._inInterpolation = true;\n            }\n            else if (this._interpolationConfig && this._inInterpolation &&\n                this._attemptStr(this._interpolationConfig.end)) {\n                parts.push(this._interpolationConfig.end);\n                this._inInterpolation = false;\n            }\n            else {\n                parts.push(this._readChar(true));\n            }\n        } while (!this._isTextEnd());\n        this._endToken([this._processCarriageReturns(parts.join(''))]);\n    };\n    /**\n     * @return {?}\n     */\n    _Tokenizer.prototype._isTextEnd = function () {\n        if (this._peek === chars.$LT || this._peek === chars.$EOF) {\n            return true;\n        }\n        if (this._tokenizeIcu && !this._inInterpolation) {\n            if (isExpansionFormStart(this._input, this._index, this._interpolationConfig)) {\n                // start of an expansion form\n                return true;\n            }\n            if (this._peek === chars.$RBRACE && this._isInExpansionCase()) {\n                // end of and expansion case\n                return true;\n            }\n        }\n        return false;\n    };\n    /**\n     * @return {?}\n     */\n    _Tokenizer.prototype._savePosition = function () {\n        return [this._peek, this._index, this._column, this._line, this.tokens.length];\n    };\n    /**\n     * @param {?} char\n     * @return {?}\n     */\n    _Tokenizer.prototype._readUntil = function (char) {\n        var /** @type {?} */ start = this._index;\n        this._attemptUntilChar(char);\n        return this._input.substring(start, this._index);\n    };\n    /**\n     * @param {?} position\n     * @return {?}\n     */\n    _Tokenizer.prototype._restorePosition = function (position) {\n        this._peek = position[0];\n        this._index = position[1];\n        this._column = position[2];\n        this._line = position[3];\n        var /** @type {?} */ nbTokens = position[4];\n        if (nbTokens < this.tokens.length) {\n            // remove any extra tokens\n            this.tokens = this.tokens.slice(0, nbTokens);\n        }\n    };\n    /**\n     * @return {?}\n     */\n    _Tokenizer.prototype._isInExpansionCase = function () {\n        return this._expansionCaseStack.length > 0 &&\n            this._expansionCaseStack[this._expansionCaseStack.length - 1] ===\n                TokenType.EXPANSION_CASE_EXP_START;\n    };\n    /**\n     * @return {?}\n     */\n    _Tokenizer.prototype._isInExpansionForm = function () {\n        return this._expansionCaseStack.length > 0 &&\n            this._expansionCaseStack[this._expansionCaseStack.length - 1] ===\n                TokenType.EXPANSION_FORM_START;\n    };\n    return _Tokenizer;\n}());\nfunction _Tokenizer_tsickle_Closure_declarations() {\n    /** @type {?} */\n    _Tokenizer.prototype._input;\n    /** @type {?} */\n    _Tokenizer.prototype._length;\n    /** @type {?} */\n    _Tokenizer.prototype._peek;\n    /** @type {?} */\n    _Tokenizer.prototype._nextPeek;\n    /** @type {?} */\n    _Tokenizer.prototype._index;\n    /** @type {?} */\n    _Tokenizer.prototype._line;\n    /** @type {?} */\n    _Tokenizer.prototype._column;\n    /** @type {?} */\n    _Tokenizer.prototype._currentTokenStart;\n    /** @type {?} */\n    _Tokenizer.prototype._currentTokenType;\n    /** @type {?} */\n    _Tokenizer.prototype._expansionCaseStack;\n    /** @type {?} */\n    _Tokenizer.prototype._inInterpolation;\n    /** @type {?} */\n    _Tokenizer.prototype.tokens;\n    /** @type {?} */\n    _Tokenizer.prototype.errors;\n    /** @type {?} */\n    _Tokenizer.prototype._file;\n    /** @type {?} */\n    _Tokenizer.prototype._getTagDefinition;\n    /** @type {?} */\n    _Tokenizer.prototype._tokenizeIcu;\n    /** @type {?} */\n    _Tokenizer.prototype._interpolationConfig;\n}\n/**\n * @param {?} code\n * @return {?}\n */\nfunction isNotWhitespace(code) {\n    return !chars.isWhitespace(code) || code === chars.$EOF;\n}\n/**\n * @param {?} code\n * @return {?}\n */\nfunction isNameEnd(code) {\n    return chars.isWhitespace(code) || code === chars.$GT || code === chars.$SLASH ||\n        code === chars.$SQ || code === chars.$DQ || code === chars.$EQ;\n}\n/**\n * @param {?} code\n * @return {?}\n */\nfunction isPrefixEnd(code) {\n    return (code < chars.$a || chars.$z < code) && (code < chars.$A || chars.$Z < code) &&\n        (code < chars.$0 || code > chars.$9);\n}\n/**\n * @param {?} code\n * @return {?}\n */\nfunction isDigitEntityEnd(code) {\n    return code == chars.$SEMICOLON || code == chars.$EOF || !chars.isAsciiHexDigit(code);\n}\n/**\n * @param {?} code\n * @return {?}\n */\nfunction isNamedEntityEnd(code) {\n    return code == chars.$SEMICOLON || code == chars.$EOF || !chars.isAsciiLetter(code);\n}\n/**\n * @param {?} input\n * @param {?} offset\n * @param {?} interpolationConfig\n * @return {?}\n */\nfunction isExpansionFormStart(input, offset, interpolationConfig) {\n    var /** @type {?} */ isInterpolationStart = interpolationConfig ? input.indexOf(interpolationConfig.start, offset) == offset : false;\n    return input.charCodeAt(offset) == chars.$LBRACE && !isInterpolationStart;\n}\n/**\n * @param {?} peek\n * @return {?}\n */\nfunction isExpansionCaseStart(peek) {\n    return peek === chars.$EQ || chars.isAsciiLetter(peek);\n}\n/**\n * @param {?} code1\n * @param {?} code2\n * @return {?}\n */\nfunction compareCharCodeCaseInsensitive(code1, code2) {\n    return toUpperCaseCharCode(code1) == toUpperCaseCharCode(code2);\n}\n/**\n * @param {?} code\n * @return {?}\n */\nfunction toUpperCaseCharCode(code) {\n    return code >= chars.$a && code <= chars.$z ? code - chars.$a + chars.$A : code;\n}\n/**\n * @param {?} srcTokens\n * @return {?}\n */\nfunction mergeTextTokens(srcTokens) {\n    var /** @type {?} */ dstTokens = [];\n    var /** @type {?} */ lastDstToken;\n    for (var /** @type {?} */ i = 0; i < srcTokens.length; i++) {\n        var /** @type {?} */ token = srcTokens[i];\n        if (lastDstToken && lastDstToken.type == TokenType.TEXT && token.type == TokenType.TEXT) {\n            lastDstToken.parts[0] += token.parts[0];\n            lastDstToken.sourceSpan.end = token.sourceSpan.end;\n        }\n        else {\n            lastDstToken = token;\n            dstTokens.push(lastDstToken);\n        }\n    }\n    return dstTokens;\n}\n//# sourceMappingURL=lexer.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/ml_parser/lexer.js\n// module id = 855\n// module chunks = 0","/**\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 */\nimport { TagContentType } from './tags';\nexport var XmlTagDefinition = (function () {\n    function XmlTagDefinition() {\n        this.closedByParent = false;\n        this.contentType = TagContentType.PARSABLE_DATA;\n        this.isVoid = false;\n        this.ignoreFirstLf = false;\n        this.canSelfClose = true;\n    }\n    /**\n     * @param {?} currentParent\n     * @return {?}\n     */\n    XmlTagDefinition.prototype.requireExtraParent = function (currentParent) { return false; };\n    /**\n     * @param {?} name\n     * @return {?}\n     */\n    XmlTagDefinition.prototype.isClosedByChild = function (name) { return false; };\n    return XmlTagDefinition;\n}());\nfunction XmlTagDefinition_tsickle_Closure_declarations() {\n    /** @type {?} */\n    XmlTagDefinition.prototype.closedByParent;\n    /** @type {?} */\n    XmlTagDefinition.prototype.requiredParents;\n    /** @type {?} */\n    XmlTagDefinition.prototype.parentToAdd;\n    /** @type {?} */\n    XmlTagDefinition.prototype.implicitNamespacePrefix;\n    /** @type {?} */\n    XmlTagDefinition.prototype.contentType;\n    /** @type {?} */\n    XmlTagDefinition.prototype.isVoid;\n    /** @type {?} */\n    XmlTagDefinition.prototype.ignoreFirstLf;\n    /** @type {?} */\n    XmlTagDefinition.prototype.canSelfClose;\n}\nvar /** @type {?} */ _TAG_DEFINITION = new XmlTagDefinition();\n/**\n * @param {?} tagName\n * @return {?}\n */\nexport function getXmlTagDefinition(tagName) {\n    return _TAG_DEFINITION;\n}\n//# sourceMappingURL=xml_tags.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/ml_parser/xml_tags.js\n// module id = 856\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { isPresent } from '../facade/lang';\nimport { AbstractEmitterVisitor, CATCH_ERROR_VAR, CATCH_STACK_VAR } from './abstract_emitter';\nimport * as o from './output_ast';\n/**\n * @abstract\n */\nexport var AbstractJsEmitterVisitor = (function (_super) {\n    __extends(AbstractJsEmitterVisitor, _super);\n    function AbstractJsEmitterVisitor() {\n        _super.call(this, false);\n    }\n    /**\n     * @param {?} stmt\n     * @param {?} ctx\n     * @return {?}\n     */\n    AbstractJsEmitterVisitor.prototype.visitDeclareClassStmt = function (stmt, ctx) {\n        var _this = this;\n        ctx.pushClass(stmt);\n        this._visitClassConstructor(stmt, ctx);\n        if (isPresent(stmt.parent)) {\n            ctx.print(stmt.name + \".prototype = Object.create(\");\n            stmt.parent.visitExpression(this, ctx);\n            ctx.println(\".prototype);\");\n        }\n        stmt.getters.forEach(function (getter) { return _this._visitClassGetter(stmt, getter, ctx); });\n        stmt.methods.forEach(function (method) { return _this._visitClassMethod(stmt, method, ctx); });\n        ctx.popClass();\n        return null;\n    };\n    /**\n     * @param {?} stmt\n     * @param {?} ctx\n     * @return {?}\n     */\n    AbstractJsEmitterVisitor.prototype._visitClassConstructor = function (stmt, ctx) {\n        ctx.print(\"function \" + stmt.name + \"(\");\n        if (isPresent(stmt.constructorMethod)) {\n            this._visitParams(stmt.constructorMethod.params, ctx);\n        }\n        ctx.println(\") {\");\n        ctx.incIndent();\n        if (isPresent(stmt.constructorMethod)) {\n            if (stmt.constructorMethod.body.length > 0) {\n                ctx.println(\"var self = this;\");\n                this.visitAllStatements(stmt.constructorMethod.body, ctx);\n            }\n        }\n        ctx.decIndent();\n        ctx.println(\"}\");\n    };\n    /**\n     * @param {?} stmt\n     * @param {?} getter\n     * @param {?} ctx\n     * @return {?}\n     */\n    AbstractJsEmitterVisitor.prototype._visitClassGetter = function (stmt, getter, ctx) {\n        ctx.println(\"Object.defineProperty(\" + stmt.name + \".prototype, '\" + getter.name + \"', { get: function() {\");\n        ctx.incIndent();\n        if (getter.body.length > 0) {\n            ctx.println(\"var self = this;\");\n            this.visitAllStatements(getter.body, ctx);\n        }\n        ctx.decIndent();\n        ctx.println(\"}});\");\n    };\n    /**\n     * @param {?} stmt\n     * @param {?} method\n     * @param {?} ctx\n     * @return {?}\n     */\n    AbstractJsEmitterVisitor.prototype._visitClassMethod = function (stmt, method, ctx) {\n        ctx.print(stmt.name + \".prototype.\" + method.name + \" = function(\");\n        this._visitParams(method.params, ctx);\n        ctx.println(\") {\");\n        ctx.incIndent();\n        if (method.body.length > 0) {\n            ctx.println(\"var self = this;\");\n            this.visitAllStatements(method.body, ctx);\n        }\n        ctx.decIndent();\n        ctx.println(\"};\");\n    };\n    /**\n     * @param {?} ast\n     * @param {?} ctx\n     * @return {?}\n     */\n    AbstractJsEmitterVisitor.prototype.visitReadVarExpr = function (ast, ctx) {\n        if (ast.builtin === o.BuiltinVar.This) {\n            ctx.print('self');\n        }\n        else if (ast.builtin === o.BuiltinVar.Super) {\n            throw new Error(\"'super' needs to be handled at a parent ast node, not at the variable level!\");\n        }\n        else {\n            _super.prototype.visitReadVarExpr.call(this, ast, ctx);\n        }\n        return null;\n    };\n    /**\n     * @param {?} stmt\n     * @param {?} ctx\n     * @return {?}\n     */\n    AbstractJsEmitterVisitor.prototype.visitDeclareVarStmt = function (stmt, ctx) {\n        ctx.print(\"var \" + stmt.name + \" = \");\n        stmt.value.visitExpression(this, ctx);\n        ctx.println(\";\");\n        return null;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} ctx\n     * @return {?}\n     */\n    AbstractJsEmitterVisitor.prototype.visitCastExpr = function (ast, ctx) {\n        ast.value.visitExpression(this, ctx);\n        return null;\n    };\n    /**\n     * @param {?} expr\n     * @param {?} ctx\n     * @return {?}\n     */\n    AbstractJsEmitterVisitor.prototype.visitInvokeFunctionExpr = function (expr, ctx) {\n        var /** @type {?} */ fnExpr = expr.fn;\n        if (fnExpr instanceof o.ReadVarExpr && fnExpr.builtin === o.BuiltinVar.Super) {\n            ctx.currentClass.parent.visitExpression(this, ctx);\n            ctx.print(\".call(this\");\n            if (expr.args.length > 0) {\n                ctx.print(\", \");\n                this.visitAllExpressions(expr.args, ctx, ',');\n            }\n            ctx.print(\")\");\n        }\n        else {\n            _super.prototype.visitInvokeFunctionExpr.call(this, expr, ctx);\n        }\n        return null;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} ctx\n     * @return {?}\n     */\n    AbstractJsEmitterVisitor.prototype.visitFunctionExpr = function (ast, ctx) {\n        ctx.print(\"function(\");\n        this._visitParams(ast.params, ctx);\n        ctx.println(\") {\");\n        ctx.incIndent();\n        this.visitAllStatements(ast.statements, ctx);\n        ctx.decIndent();\n        ctx.print(\"}\");\n        return null;\n    };\n    /**\n     * @param {?} stmt\n     * @param {?} ctx\n     * @return {?}\n     */\n    AbstractJsEmitterVisitor.prototype.visitDeclareFunctionStmt = function (stmt, ctx) {\n        ctx.print(\"function \" + stmt.name + \"(\");\n        this._visitParams(stmt.params, ctx);\n        ctx.println(\") {\");\n        ctx.incIndent();\n        this.visitAllStatements(stmt.statements, ctx);\n        ctx.decIndent();\n        ctx.println(\"}\");\n        return null;\n    };\n    /**\n     * @param {?} stmt\n     * @param {?} ctx\n     * @return {?}\n     */\n    AbstractJsEmitterVisitor.prototype.visitTryCatchStmt = function (stmt, ctx) {\n        ctx.println(\"try {\");\n        ctx.incIndent();\n        this.visitAllStatements(stmt.bodyStmts, ctx);\n        ctx.decIndent();\n        ctx.println(\"} catch (\" + CATCH_ERROR_VAR.name + \") {\");\n        ctx.incIndent();\n        var /** @type {?} */ catchStmts = [(CATCH_STACK_VAR.set(CATCH_ERROR_VAR.prop('stack')).toDeclStmt(null, [\n                o.StmtModifier.Final\n            ]))].concat(stmt.catchStmts);\n        this.visitAllStatements(catchStmts, ctx);\n        ctx.decIndent();\n        ctx.println(\"}\");\n        return null;\n    };\n    /**\n     * @param {?} params\n     * @param {?} ctx\n     * @return {?}\n     */\n    AbstractJsEmitterVisitor.prototype._visitParams = function (params, ctx) {\n        this.visitAllObjects(function (param) { return ctx.print(param.name); }, params, ctx, ',');\n    };\n    /**\n     * @param {?} method\n     * @return {?}\n     */\n    AbstractJsEmitterVisitor.prototype.getBuiltinMethodName = function (method) {\n        var /** @type {?} */ name;\n        switch (method) {\n            case o.BuiltinMethod.ConcatArray:\n                name = 'concat';\n                break;\n            case o.BuiltinMethod.SubscribeObservable:\n                name = 'subscribe';\n                break;\n            case o.BuiltinMethod.Bind:\n                name = 'bind';\n                break;\n            default:\n                throw new Error(\"Unknown builtin method: \" + method);\n        }\n        return name;\n    };\n    return AbstractJsEmitterVisitor;\n}(AbstractEmitterVisitor));\n//# sourceMappingURL=abstract_js_emitter.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/output/abstract_js_emitter.js\n// module id = 857\n// module chunks = 0","/**\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 */\nimport { isPresent } from '../facade/lang';\nimport * as o from './output_ast';\nimport { debugOutputAstAsTypeScript } from './ts_emitter';\n/**\n * @param {?} statements\n * @param {?} resultVar\n * @return {?}\n */\nexport function interpretStatements(statements, resultVar) {\n    var /** @type {?} */ stmtsWithReturn = statements.concat([new o.ReturnStatement(o.variable(resultVar))]);\n    var /** @type {?} */ ctx = new _ExecutionContext(null, null, null, new Map());\n    var /** @type {?} */ visitor = new StatementInterpreter();\n    var /** @type {?} */ result = visitor.visitAllStatements(stmtsWithReturn, ctx);\n    return isPresent(result) ? result.value : null;\n}\n/**\n * @param {?} varNames\n * @param {?} varValues\n * @param {?} statements\n * @param {?} ctx\n * @param {?} visitor\n * @return {?}\n */\nfunction _executeFunctionStatements(varNames, varValues, statements, ctx, visitor) {\n    var /** @type {?} */ childCtx = ctx.createChildWihtLocalVars();\n    for (var /** @type {?} */ i = 0; i < varNames.length; i++) {\n        childCtx.vars.set(varNames[i], varValues[i]);\n    }\n    var /** @type {?} */ result = visitor.visitAllStatements(statements, childCtx);\n    return isPresent(result) ? result.value : null;\n}\nvar _ExecutionContext = (function () {\n    /**\n     * @param {?} parent\n     * @param {?} instance\n     * @param {?} className\n     * @param {?} vars\n     */\n    function _ExecutionContext(parent, instance, className, vars) {\n        this.parent = parent;\n        this.instance = instance;\n        this.className = className;\n        this.vars = vars;\n    }\n    /**\n     * @return {?}\n     */\n    _ExecutionContext.prototype.createChildWihtLocalVars = function () {\n        return new _ExecutionContext(this, this.instance, this.className, new Map());\n    };\n    return _ExecutionContext;\n}());\nfunction _ExecutionContext_tsickle_Closure_declarations() {\n    /** @type {?} */\n    _ExecutionContext.prototype.parent;\n    /** @type {?} */\n    _ExecutionContext.prototype.instance;\n    /** @type {?} */\n    _ExecutionContext.prototype.className;\n    /** @type {?} */\n    _ExecutionContext.prototype.vars;\n}\nvar ReturnValue = (function () {\n    /**\n     * @param {?} value\n     */\n    function ReturnValue(value) {\n        this.value = value;\n    }\n    return ReturnValue;\n}());\nfunction ReturnValue_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ReturnValue.prototype.value;\n}\n/**\n * @param {?} _classStmt\n * @param {?} _ctx\n * @param {?} _visitor\n * @return {?}\n */\nfunction createDynamicClass(_classStmt, _ctx, _visitor) {\n    var /** @type {?} */ propertyDescriptors = {};\n    _classStmt.getters.forEach(function (getter) {\n        // Note: use `function` instead of arrow function to capture `this`\n        propertyDescriptors[getter.name] = {\n            configurable: false,\n            get: function () {\n                var /** @type {?} */ instanceCtx = new _ExecutionContext(_ctx, this, _classStmt.name, _ctx.vars);\n                return _executeFunctionStatements([], [], getter.body, instanceCtx, _visitor);\n            }\n        };\n    });\n    _classStmt.methods.forEach(function (method) {\n        var /** @type {?} */ paramNames = method.params.map(function (param) { return param.name; });\n        // Note: use `function` instead of arrow function to capture `this`\n        propertyDescriptors[method.name] = {\n            writable: false,\n            configurable: false,\n            value: function () {\n                var args = [];\n                for (var _i = 0; _i < arguments.length; _i++) {\n                    args[_i - 0] = arguments[_i];\n                }\n                var /** @type {?} */ instanceCtx = new _ExecutionContext(_ctx, this, _classStmt.name, _ctx.vars);\n                return _executeFunctionStatements(paramNames, args, method.body, instanceCtx, _visitor);\n            }\n        };\n    });\n    var /** @type {?} */ ctorParamNames = _classStmt.constructorMethod.params.map(function (param) { return param.name; });\n    // Note: use `function` instead of arrow function to capture `this`\n    var /** @type {?} */ ctor = function () {\n        var _this = this;\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            args[_i - 0] = arguments[_i];\n        }\n        var /** @type {?} */ instanceCtx = new _ExecutionContext(_ctx, this, _classStmt.name, _ctx.vars);\n        _classStmt.fields.forEach(function (field) { _this[field.name] = undefined; });\n        _executeFunctionStatements(ctorParamNames, args, _classStmt.constructorMethod.body, instanceCtx, _visitor);\n    };\n    var /** @type {?} */ superClass = _classStmt.parent ? _classStmt.parent.visitExpression(_visitor, _ctx) : Object;\n    ctor.prototype = Object.create(superClass.prototype, propertyDescriptors);\n    return ctor;\n}\nvar StatementInterpreter = (function () {\n    function StatementInterpreter() {\n    }\n    /**\n     * @param {?} ast\n     * @return {?}\n     */\n    StatementInterpreter.prototype.debugAst = function (ast) { return debugOutputAstAsTypeScript(ast); };\n    /**\n     * @param {?} stmt\n     * @param {?} ctx\n     * @return {?}\n     */\n    StatementInterpreter.prototype.visitDeclareVarStmt = function (stmt, ctx) {\n        ctx.vars.set(stmt.name, stmt.value.visitExpression(this, ctx));\n        return null;\n    };\n    /**\n     * @param {?} expr\n     * @param {?} ctx\n     * @return {?}\n     */\n    StatementInterpreter.prototype.visitWriteVarExpr = function (expr, ctx) {\n        var /** @type {?} */ value = expr.value.visitExpression(this, ctx);\n        var /** @type {?} */ currCtx = ctx;\n        while (currCtx != null) {\n            if (currCtx.vars.has(expr.name)) {\n                currCtx.vars.set(expr.name, value);\n                return value;\n            }\n            currCtx = currCtx.parent;\n        }\n        throw new Error(\"Not declared variable \" + expr.name);\n    };\n    /**\n     * @param {?} ast\n     * @param {?} ctx\n     * @return {?}\n     */\n    StatementInterpreter.prototype.visitReadVarExpr = function (ast, ctx) {\n        var /** @type {?} */ varName = ast.name;\n        if (isPresent(ast.builtin)) {\n            switch (ast.builtin) {\n                case o.BuiltinVar.Super:\n                    return ctx.instance.__proto__;\n                case o.BuiltinVar.This:\n                    return ctx.instance;\n                case o.BuiltinVar.CatchError:\n                    varName = CATCH_ERROR_VAR;\n                    break;\n                case o.BuiltinVar.CatchStack:\n                    varName = CATCH_STACK_VAR;\n                    break;\n                default:\n                    throw new Error(\"Unknown builtin variable \" + ast.builtin);\n            }\n        }\n        var /** @type {?} */ currCtx = ctx;\n        while (currCtx != null) {\n            if (currCtx.vars.has(varName)) {\n                return currCtx.vars.get(varName);\n            }\n            currCtx = currCtx.parent;\n        }\n        throw new Error(\"Not declared variable \" + varName);\n    };\n    /**\n     * @param {?} expr\n     * @param {?} ctx\n     * @return {?}\n     */\n    StatementInterpreter.prototype.visitWriteKeyExpr = function (expr, ctx) {\n        var /** @type {?} */ receiver = expr.receiver.visitExpression(this, ctx);\n        var /** @type {?} */ index = expr.index.visitExpression(this, ctx);\n        var /** @type {?} */ value = expr.value.visitExpression(this, ctx);\n        receiver[index] = value;\n        return value;\n    };\n    /**\n     * @param {?} expr\n     * @param {?} ctx\n     * @return {?}\n     */\n    StatementInterpreter.prototype.visitWritePropExpr = function (expr, ctx) {\n        var /** @type {?} */ receiver = expr.receiver.visitExpression(this, ctx);\n        var /** @type {?} */ value = expr.value.visitExpression(this, ctx);\n        receiver[expr.name] = value;\n        return value;\n    };\n    /**\n     * @param {?} expr\n     * @param {?} ctx\n     * @return {?}\n     */\n    StatementInterpreter.prototype.visitInvokeMethodExpr = function (expr, ctx) {\n        var /** @type {?} */ receiver = expr.receiver.visitExpression(this, ctx);\n        var /** @type {?} */ args = this.visitAllExpressions(expr.args, ctx);\n        var /** @type {?} */ result;\n        if (isPresent(expr.builtin)) {\n            switch (expr.builtin) {\n                case o.BuiltinMethod.ConcatArray:\n                    result = receiver.concat.apply(receiver, args);\n                    break;\n                case o.BuiltinMethod.SubscribeObservable:\n                    result = receiver.subscribe({ next: args[0] });\n                    break;\n                case o.BuiltinMethod.Bind:\n                    result = receiver.bind.apply(receiver, args);\n                    break;\n                default:\n                    throw new Error(\"Unknown builtin method \" + expr.builtin);\n            }\n        }\n        else {\n            result = receiver[expr.name].apply(receiver, args);\n        }\n        return result;\n    };\n    /**\n     * @param {?} stmt\n     * @param {?} ctx\n     * @return {?}\n     */\n    StatementInterpreter.prototype.visitInvokeFunctionExpr = function (stmt, ctx) {\n        var /** @type {?} */ args = this.visitAllExpressions(stmt.args, ctx);\n        var /** @type {?} */ fnExpr = stmt.fn;\n        if (fnExpr instanceof o.ReadVarExpr && fnExpr.builtin === o.BuiltinVar.Super) {\n            ctx.instance.constructor.prototype.constructor.apply(ctx.instance, args);\n            return null;\n        }\n        else {\n            var /** @type {?} */ fn = stmt.fn.visitExpression(this, ctx);\n            return fn.apply(null, args);\n        }\n    };\n    /**\n     * @param {?} stmt\n     * @param {?} ctx\n     * @return {?}\n     */\n    StatementInterpreter.prototype.visitReturnStmt = function (stmt, ctx) {\n        return new ReturnValue(stmt.value.visitExpression(this, ctx));\n    };\n    /**\n     * @param {?} stmt\n     * @param {?} ctx\n     * @return {?}\n     */\n    StatementInterpreter.prototype.visitDeclareClassStmt = function (stmt, ctx) {\n        var /** @type {?} */ clazz = createDynamicClass(stmt, ctx, this);\n        ctx.vars.set(stmt.name, clazz);\n        return null;\n    };\n    /**\n     * @param {?} stmt\n     * @param {?} ctx\n     * @return {?}\n     */\n    StatementInterpreter.prototype.visitExpressionStmt = function (stmt, ctx) {\n        return stmt.expr.visitExpression(this, ctx);\n    };\n    /**\n     * @param {?} stmt\n     * @param {?} ctx\n     * @return {?}\n     */\n    StatementInterpreter.prototype.visitIfStmt = function (stmt, ctx) {\n        var /** @type {?} */ condition = stmt.condition.visitExpression(this, ctx);\n        if (condition) {\n            return this.visitAllStatements(stmt.trueCase, ctx);\n        }\n        else if (isPresent(stmt.falseCase)) {\n            return this.visitAllStatements(stmt.falseCase, ctx);\n        }\n        return null;\n    };\n    /**\n     * @param {?} stmt\n     * @param {?} ctx\n     * @return {?}\n     */\n    StatementInterpreter.prototype.visitTryCatchStmt = function (stmt, ctx) {\n        try {\n            return this.visitAllStatements(stmt.bodyStmts, ctx);\n        }\n        catch (e) {\n            var /** @type {?} */ childCtx = ctx.createChildWihtLocalVars();\n            childCtx.vars.set(CATCH_ERROR_VAR, e);\n            childCtx.vars.set(CATCH_STACK_VAR, e.stack);\n            return this.visitAllStatements(stmt.catchStmts, childCtx);\n        }\n    };\n    /**\n     * @param {?} stmt\n     * @param {?} ctx\n     * @return {?}\n     */\n    StatementInterpreter.prototype.visitThrowStmt = function (stmt, ctx) {\n        throw stmt.error.visitExpression(this, ctx);\n    };\n    /**\n     * @param {?} stmt\n     * @param {?=} context\n     * @return {?}\n     */\n    StatementInterpreter.prototype.visitCommentStmt = function (stmt, context) { return null; };\n    /**\n     * @param {?} ast\n     * @param {?} ctx\n     * @return {?}\n     */\n    StatementInterpreter.prototype.visitInstantiateExpr = function (ast, ctx) {\n        var /** @type {?} */ args = this.visitAllExpressions(ast.args, ctx);\n        var /** @type {?} */ clazz = ast.classExpr.visitExpression(this, ctx);\n        return new (clazz.bind.apply(clazz, [void 0].concat(args)))();\n    };\n    /**\n     * @param {?} ast\n     * @param {?} ctx\n     * @return {?}\n     */\n    StatementInterpreter.prototype.visitLiteralExpr = function (ast, ctx) { return ast.value; };\n    /**\n     * @param {?} ast\n     * @param {?} ctx\n     * @return {?}\n     */\n    StatementInterpreter.prototype.visitExternalExpr = function (ast, ctx) {\n        return ast.value.reference;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} ctx\n     * @return {?}\n     */\n    StatementInterpreter.prototype.visitConditionalExpr = function (ast, ctx) {\n        if (ast.condition.visitExpression(this, ctx)) {\n            return ast.trueCase.visitExpression(this, ctx);\n        }\n        else if (isPresent(ast.falseCase)) {\n            return ast.falseCase.visitExpression(this, ctx);\n        }\n        return null;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} ctx\n     * @return {?}\n     */\n    StatementInterpreter.prototype.visitNotExpr = function (ast, ctx) {\n        return !ast.condition.visitExpression(this, ctx);\n    };\n    /**\n     * @param {?} ast\n     * @param {?} ctx\n     * @return {?}\n     */\n    StatementInterpreter.prototype.visitCastExpr = function (ast, ctx) {\n        return ast.value.visitExpression(this, ctx);\n    };\n    /**\n     * @param {?} ast\n     * @param {?} ctx\n     * @return {?}\n     */\n    StatementInterpreter.prototype.visitFunctionExpr = function (ast, ctx) {\n        var /** @type {?} */ paramNames = ast.params.map(function (param) { return param.name; });\n        return _declareFn(paramNames, ast.statements, ctx, this);\n    };\n    /**\n     * @param {?} stmt\n     * @param {?} ctx\n     * @return {?}\n     */\n    StatementInterpreter.prototype.visitDeclareFunctionStmt = function (stmt, ctx) {\n        var /** @type {?} */ paramNames = stmt.params.map(function (param) { return param.name; });\n        ctx.vars.set(stmt.name, _declareFn(paramNames, stmt.statements, ctx, this));\n        return null;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} ctx\n     * @return {?}\n     */\n    StatementInterpreter.prototype.visitBinaryOperatorExpr = function (ast, ctx) {\n        var _this = this;\n        var /** @type {?} */ lhs = function () { return ast.lhs.visitExpression(_this, ctx); };\n        var /** @type {?} */ rhs = function () { return ast.rhs.visitExpression(_this, ctx); };\n        switch (ast.operator) {\n            case o.BinaryOperator.Equals:\n                return lhs() == rhs();\n            case o.BinaryOperator.Identical:\n                return lhs() === rhs();\n            case o.BinaryOperator.NotEquals:\n                return lhs() != rhs();\n            case o.BinaryOperator.NotIdentical:\n                return lhs() !== rhs();\n            case o.BinaryOperator.And:\n                return lhs() && rhs();\n            case o.BinaryOperator.Or:\n                return lhs() || rhs();\n            case o.BinaryOperator.Plus:\n                return lhs() + rhs();\n            case o.BinaryOperator.Minus:\n                return lhs() - rhs();\n            case o.BinaryOperator.Divide:\n                return lhs() / rhs();\n            case o.BinaryOperator.Multiply:\n                return lhs() * rhs();\n            case o.BinaryOperator.Modulo:\n                return lhs() % rhs();\n            case o.BinaryOperator.Lower:\n                return lhs() < rhs();\n            case o.BinaryOperator.LowerEquals:\n                return lhs() <= rhs();\n            case o.BinaryOperator.Bigger:\n                return lhs() > rhs();\n            case o.BinaryOperator.BiggerEquals:\n                return lhs() >= rhs();\n            default:\n                throw new Error(\"Unknown operator \" + ast.operator);\n        }\n    };\n    /**\n     * @param {?} ast\n     * @param {?} ctx\n     * @return {?}\n     */\n    StatementInterpreter.prototype.visitReadPropExpr = function (ast, ctx) {\n        var /** @type {?} */ result;\n        var /** @type {?} */ receiver = ast.receiver.visitExpression(this, ctx);\n        result = receiver[ast.name];\n        return result;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} ctx\n     * @return {?}\n     */\n    StatementInterpreter.prototype.visitReadKeyExpr = function (ast, ctx) {\n        var /** @type {?} */ receiver = ast.receiver.visitExpression(this, ctx);\n        var /** @type {?} */ prop = ast.index.visitExpression(this, ctx);\n        return receiver[prop];\n    };\n    /**\n     * @param {?} ast\n     * @param {?} ctx\n     * @return {?}\n     */\n    StatementInterpreter.prototype.visitLiteralArrayExpr = function (ast, ctx) {\n        return this.visitAllExpressions(ast.entries, ctx);\n    };\n    /**\n     * @param {?} ast\n     * @param {?} ctx\n     * @return {?}\n     */\n    StatementInterpreter.prototype.visitLiteralMapExpr = function (ast, ctx) {\n        var _this = this;\n        var /** @type {?} */ result = {};\n        ast.entries.forEach(function (entry) { return ((result))[entry.key] = entry.value.visitExpression(_this, ctx); });\n        return result;\n    };\n    /**\n     * @param {?} expressions\n     * @param {?} ctx\n     * @return {?}\n     */\n    StatementInterpreter.prototype.visitAllExpressions = function (expressions, ctx) {\n        var _this = this;\n        return expressions.map(function (expr) { return expr.visitExpression(_this, ctx); });\n    };\n    /**\n     * @param {?} statements\n     * @param {?} ctx\n     * @return {?}\n     */\n    StatementInterpreter.prototype.visitAllStatements = function (statements, ctx) {\n        for (var /** @type {?} */ i = 0; i < statements.length; i++) {\n            var /** @type {?} */ stmt = statements[i];\n            var /** @type {?} */ val = stmt.visitStatement(this, ctx);\n            if (val instanceof ReturnValue) {\n                return val;\n            }\n        }\n        return null;\n    };\n    return StatementInterpreter;\n}());\n/**\n * @param {?} varNames\n * @param {?} statements\n * @param {?} ctx\n * @param {?} visitor\n * @return {?}\n */\nfunction _declareFn(varNames, statements, ctx, visitor) {\n    return function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            args[_i - 0] = arguments[_i];\n        }\n        return _executeFunctionStatements(varNames, args, statements, ctx, visitor);\n    };\n}\nvar /** @type {?} */ CATCH_ERROR_VAR = 'error';\nvar /** @type {?} */ CATCH_STACK_VAR = 'stack';\n//# sourceMappingURL=output_interpreter.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/output/output_interpreter.js\n// module id = 858\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { identifierName } from '../compile_metadata';\nimport { EmitterVisitorContext } from './abstract_emitter';\nimport { AbstractJsEmitterVisitor } from './abstract_js_emitter';\n/**\n * @param {?} sourceUrl\n * @param {?} expr\n * @param {?} declarations\n * @param {?} vars\n * @return {?}\n */\nfunction evalExpression(sourceUrl, expr, declarations, vars) {\n    var /** @type {?} */ fnBody = declarations + \"\\nreturn \" + expr + \"\\n//# sourceURL=\" + sourceUrl;\n    var /** @type {?} */ fnArgNames = [];\n    var /** @type {?} */ 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}\n/**\n * @param {?} sourceUrl\n * @param {?} statements\n * @param {?} resultVar\n * @return {?}\n */\nexport function jitStatements(sourceUrl, statements, resultVar) {\n    var /** @type {?} */ converter = new JitEmitterVisitor();\n    var /** @type {?} */ ctx = EmitterVisitorContext.createRoot([resultVar]);\n    converter.visitAllStatements(statements, ctx);\n    return evalExpression(sourceUrl, resultVar, ctx.toSource(), converter.getArgs());\n}\nvar JitEmitterVisitor = (function (_super) {\n    __extends(JitEmitterVisitor, _super);\n    function JitEmitterVisitor() {\n        _super.apply(this, arguments);\n        this._evalArgNames = [];\n        this._evalArgValues = [];\n    }\n    /**\n     * @return {?}\n     */\n    JitEmitterVisitor.prototype.getArgs = function () {\n        var /** @type {?} */ result = {};\n        for (var /** @type {?} */ i = 0; i < this._evalArgNames.length; i++) {\n            result[this._evalArgNames[i]] = this._evalArgValues[i];\n        }\n        return result;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} ctx\n     * @return {?}\n     */\n    JitEmitterVisitor.prototype.visitExternalExpr = function (ast, ctx) {\n        var /** @type {?} */ value = ast.value.reference;\n        var /** @type {?} */ id = this._evalArgValues.indexOf(value);\n        if (id === -1) {\n            id = this._evalArgValues.length;\n            this._evalArgValues.push(value);\n            var /** @type {?} */ name_1 = identifierName(ast.value) || 'val';\n            this._evalArgNames.push(\"jit_\" + name_1 + id);\n        }\n        ctx.print(this._evalArgNames[id]);\n        return null;\n    };\n    return JitEmitterVisitor;\n}(AbstractJsEmitterVisitor));\nfunction JitEmitterVisitor_tsickle_Closure_declarations() {\n    /** @type {?} */\n    JitEmitterVisitor.prototype._evalArgNames;\n    /** @type {?} */\n    JitEmitterVisitor.prototype._evalArgValues;\n}\n//# sourceMappingURL=output_jit.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/output/output_jit.js\n// module id = 859\n// module chunks = 0","/**\n * Interface that defines how import statements should be generated.\n * @abstract\n */\nexport var ImportResolver = (function () {\n    function ImportResolver() {\n    }\n    /**\n     * Converts a file path to a module name that can be used as an `import.\n     * I.e. `path/to/importedFile.ts` should be imported by `path/to/containingFile.ts`.\n     * @abstract\n     * @param {?} importedFilePath\n     * @param {?} containingFilePath\n     * @return {?}\n     */\n    ImportResolver.prototype.fileNameToModuleName = function (importedFilePath, containingFilePath) { };\n    return ImportResolver;\n}());\n//# sourceMappingURL=path_util.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/output/path_util.js\n// module id = 860\n// module chunks = 0","/**\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 */\nimport { SecurityContext } from '@angular/core';\n// =================================================================================================\n// =================================================================================================\n// =========== S T O P   -  S T O P   -  S T O P   -  S T O P   -  S T O P   -  S T O P  ===========\n// =================================================================================================\n// =================================================================================================\n//\n//        DO NOT EDIT THIS LIST OF SECURITY SENSITIVE PROPERTIES WITHOUT A SECURITY REVIEW!\n//                               Reach out to mprobst for details.\n//\n// =================================================================================================\n/** Map from tagName|propertyName SecurityContext. Properties applying to all tags use '*'. */\nexport var /** @type {?} */ SECURITY_SCHEMA = {};\n/**\n * @param {?} ctx\n * @param {?} specs\n * @return {?}\n */\nfunction registerContext(ctx, specs) {\n    for (var _i = 0, specs_1 = specs; _i < specs_1.length; _i++) {\n        var spec = specs_1[_i];\n        SECURITY_SCHEMA[spec.toLowerCase()] = ctx;\n    }\n}\n// Case is insignificant below, all element and attribute names are lower-cased for lookup.\nregisterContext(SecurityContext.HTML, [\n    'iframe|srcdoc',\n    '*|innerHTML',\n    '*|outerHTML',\n]);\nregisterContext(SecurityContext.STYLE, ['*|style']);\n// NB: no SCRIPT contexts here, they are never allowed due to the parser stripping them.\nregisterContext(SecurityContext.URL, [\n    '*|formAction', 'area|href', 'area|ping', 'audio|src', 'a|href',\n    'a|ping', 'blockquote|cite', 'body|background', 'del|cite', 'form|action',\n    'img|src', 'img|srcset', 'input|src', 'ins|cite', 'q|cite',\n    'source|src', 'source|srcset', 'track|src', 'video|poster', 'video|src',\n]);\nregisterContext(SecurityContext.RESOURCE_URL, [\n    'applet|code',\n    'applet|codebase',\n    'base|href',\n    'embed|src',\n    'frame|src',\n    'head|profile',\n    'html|manifest',\n    'iframe|src',\n    'link|href',\n    'media|src',\n    'object|codebase',\n    'object|data',\n    'script|src',\n]);\n//# sourceMappingURL=dom_security_schema.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/schema/dom_security_schema.js\n// module id = 861\n// module chunks = 0","export var ShadowCss = (function () {\n    function ShadowCss() {\n        this.strictStyling = true;\n    }\n    /**\n     * @param {?} cssText\n     * @param {?} selector\n     * @param {?=} hostSelector\n     * @return {?}\n     */\n    ShadowCss.prototype.shimCssText = function (cssText, selector, hostSelector) {\n        if (hostSelector === void 0) { hostSelector = ''; }\n        var /** @type {?} */ sourceMappingUrl = extractSourceMappingUrl(cssText);\n        cssText = stripComments(cssText);\n        cssText = this._insertDirectives(cssText);\n        return this._scopeCssText(cssText, selector, hostSelector) + sourceMappingUrl;\n    };\n    /**\n     * @param {?} cssText\n     * @return {?}\n     */\n    ShadowCss.prototype._insertDirectives = function (cssText) {\n        cssText = this._insertPolyfillDirectivesInCssText(cssText);\n        return this._insertPolyfillRulesInCssText(cssText);\n    };\n    /**\n     * @param {?} cssText\n     * @return {?}\n     */\n    ShadowCss.prototype._insertPolyfillDirectivesInCssText = function (cssText) {\n        // Difference with webcomponents.js: does not handle comments\n        return cssText.replace(_cssContentNextSelectorRe, function () {\n            var m = [];\n            for (var _i = 0; _i < arguments.length; _i++) {\n                m[_i - 0] = arguments[_i];\n            }\n            return m[2] + '{';\n        });\n    };\n    /**\n     * @param {?} cssText\n     * @return {?}\n     */\n    ShadowCss.prototype._insertPolyfillRulesInCssText = function (cssText) {\n        // Difference with webcomponents.js: does not handle comments\n        return cssText.replace(_cssContentRuleRe, function () {\n            var m = [];\n            for (var _i = 0; _i < arguments.length; _i++) {\n                m[_i - 0] = arguments[_i];\n            }\n            var /** @type {?} */ rule = m[0].replace(m[1], '').replace(m[2], '');\n            return m[4] + rule;\n        });\n    };\n    /**\n     * @param {?} cssText\n     * @param {?} scopeSelector\n     * @param {?} hostSelector\n     * @return {?}\n     */\n    ShadowCss.prototype._scopeCssText = function (cssText, scopeSelector, hostSelector) {\n        var /** @type {?} */ unscopedRules = this._extractUnscopedRulesFromCssText(cssText);\n        // replace :host and :host-context -shadowcsshost and -shadowcsshost respectively\n        cssText = this._insertPolyfillHostInCssText(cssText);\n        cssText = this._convertColonHost(cssText);\n        cssText = this._convertColonHostContext(cssText);\n        cssText = this._convertShadowDOMSelectors(cssText);\n        if (scopeSelector) {\n            cssText = this._scopeSelectors(cssText, scopeSelector, hostSelector);\n        }\n        cssText = cssText + '\\n' + unscopedRules;\n        return cssText.trim();\n    };\n    /**\n     * @param {?} cssText\n     * @return {?}\n     */\n    ShadowCss.prototype._extractUnscopedRulesFromCssText = function (cssText) {\n        // Difference with webcomponents.js: does not handle comments\n        var /** @type {?} */ r = '';\n        var /** @type {?} */ m;\n        _cssContentUnscopedRuleRe.lastIndex = 0;\n        while ((m = _cssContentUnscopedRuleRe.exec(cssText)) !== null) {\n            var /** @type {?} */ rule = m[0].replace(m[2], '').replace(m[1], m[4]);\n            r += rule + '\\n\\n';\n        }\n        return r;\n    };\n    /**\n     * @param {?} cssText\n     * @return {?}\n     */\n    ShadowCss.prototype._convertColonHost = function (cssText) {\n        return this._convertColonRule(cssText, _cssColonHostRe, this._colonHostPartReplacer);\n    };\n    /**\n     * @param {?} cssText\n     * @return {?}\n     */\n    ShadowCss.prototype._convertColonHostContext = function (cssText) {\n        return this._convertColonRule(cssText, _cssColonHostContextRe, this._colonHostContextPartReplacer);\n    };\n    /**\n     * @param {?} cssText\n     * @param {?} regExp\n     * @param {?} partReplacer\n     * @return {?}\n     */\n    ShadowCss.prototype._convertColonRule = function (cssText, regExp, partReplacer) {\n        // m[1] = :host(-context), m[2] = contents of (), m[3] rest of rule\n        return cssText.replace(regExp, function () {\n            var m = [];\n            for (var _i = 0; _i < arguments.length; _i++) {\n                m[_i - 0] = arguments[_i];\n            }\n            if (m[2]) {\n                var /** @type {?} */ parts = m[2].split(',');\n                var /** @type {?} */ r = [];\n                for (var /** @type {?} */ i = 0; i < parts.length; i++) {\n                    var /** @type {?} */ p = parts[i].trim();\n                    if (!p)\n                        break;\n                    r.push(partReplacer(_polyfillHostNoCombinator, p, m[3]));\n                }\n                return r.join(',');\n            }\n            else {\n                return _polyfillHostNoCombinator + m[3];\n            }\n        });\n    };\n    /**\n     * @param {?} host\n     * @param {?} part\n     * @param {?} suffix\n     * @return {?}\n     */\n    ShadowCss.prototype._colonHostContextPartReplacer = function (host, part, suffix) {\n        if (part.indexOf(_polyfillHost) > -1) {\n            return this._colonHostPartReplacer(host, part, suffix);\n        }\n        else {\n            return host + part + suffix + ', ' + part + ' ' + host + suffix;\n        }\n    };\n    /**\n     * @param {?} host\n     * @param {?} part\n     * @param {?} suffix\n     * @return {?}\n     */\n    ShadowCss.prototype._colonHostPartReplacer = function (host, part, suffix) {\n        return host + part.replace(_polyfillHost, '') + suffix;\n    };\n    /**\n     * @param {?} cssText\n     * @return {?}\n     */\n    ShadowCss.prototype._convertShadowDOMSelectors = function (cssText) {\n        return _shadowDOMSelectorsRe.reduce(function (result, pattern) { return result.replace(pattern, ' '); }, cssText);\n    };\n    /**\n     * @param {?} cssText\n     * @param {?} scopeSelector\n     * @param {?} hostSelector\n     * @return {?}\n     */\n    ShadowCss.prototype._scopeSelectors = function (cssText, scopeSelector, hostSelector) {\n        var _this = this;\n        return processRules(cssText, function (rule) {\n            var /** @type {?} */ selector = rule.selector;\n            var /** @type {?} */ content = rule.content;\n            if (rule.selector[0] != '@') {\n                selector =\n                    _this._scopeSelector(rule.selector, scopeSelector, hostSelector, _this.strictStyling);\n            }\n            else if (rule.selector.startsWith('@media') || rule.selector.startsWith('@supports') ||\n                rule.selector.startsWith('@page') || rule.selector.startsWith('@document')) {\n                content = _this._scopeSelectors(rule.content, scopeSelector, hostSelector);\n            }\n            return new CssRule(selector, content);\n        });\n    };\n    /**\n     * @param {?} selector\n     * @param {?} scopeSelector\n     * @param {?} hostSelector\n     * @param {?} strict\n     * @return {?}\n     */\n    ShadowCss.prototype._scopeSelector = function (selector, scopeSelector, hostSelector, strict) {\n        var _this = this;\n        return selector.split(',')\n            .map(function (part) { return part.trim().split(_shadowDeepSelectors); })\n            .map(function (deepParts) {\n            var shallowPart = deepParts[0], otherParts = deepParts.slice(1);\n            var /** @type {?} */ applyScope = function (shallowPart) {\n                if (_this._selectorNeedsScoping(shallowPart, scopeSelector)) {\n                    return strict ?\n                        _this._applyStrictSelectorScope(shallowPart, scopeSelector, hostSelector) :\n                        _this._applySelectorScope(shallowPart, scopeSelector, hostSelector);\n                }\n                else {\n                    return shallowPart;\n                }\n            };\n            return [applyScope(shallowPart)].concat(otherParts).join(' ');\n        })\n            .join(', ');\n    };\n    /**\n     * @param {?} selector\n     * @param {?} scopeSelector\n     * @return {?}\n     */\n    ShadowCss.prototype._selectorNeedsScoping = function (selector, scopeSelector) {\n        var /** @type {?} */ re = this._makeScopeMatcher(scopeSelector);\n        return !re.test(selector);\n    };\n    /**\n     * @param {?} scopeSelector\n     * @return {?}\n     */\n    ShadowCss.prototype._makeScopeMatcher = function (scopeSelector) {\n        var /** @type {?} */ lre = /\\[/g;\n        var /** @type {?} */ rre = /\\]/g;\n        scopeSelector = scopeSelector.replace(lre, '\\\\[').replace(rre, '\\\\]');\n        return new RegExp('^(' + scopeSelector + ')' + _selectorReSuffix, 'm');\n    };\n    /**\n     * @param {?} selector\n     * @param {?} scopeSelector\n     * @param {?} hostSelector\n     * @return {?}\n     */\n    ShadowCss.prototype._applySelectorScope = function (selector, scopeSelector, hostSelector) {\n        // Difference from webcomponents.js: scopeSelector could not be an array\n        return this._applySimpleSelectorScope(selector, scopeSelector, hostSelector);\n    };\n    /**\n     * @param {?} selector\n     * @param {?} scopeSelector\n     * @param {?} hostSelector\n     * @return {?}\n     */\n    ShadowCss.prototype._applySimpleSelectorScope = function (selector, scopeSelector, hostSelector) {\n        // In Android browser, the lastIndex is not reset when the regex is used in String.replace()\n        _polyfillHostRe.lastIndex = 0;\n        if (_polyfillHostRe.test(selector)) {\n            var /** @type {?} */ replaceBy_1 = this.strictStyling ? \"[\" + hostSelector + \"]\" : scopeSelector;\n            return selector\n                .replace(_polyfillHostNoCombinatorRe, function (hnc, selector) {\n                return selector.replace(/([^:]*)(:*)(.*)/, function (_, before, colon, after) {\n                    return before + replaceBy_1 + colon + after;\n                });\n            })\n                .replace(_polyfillHostRe, replaceBy_1 + ' ');\n        }\n        return scopeSelector + ' ' + selector;\n    };\n    /**\n     * @param {?} selector\n     * @param {?} scopeSelector\n     * @param {?} hostSelector\n     * @return {?}\n     */\n    ShadowCss.prototype._applyStrictSelectorScope = function (selector, scopeSelector, hostSelector) {\n        var _this = this;\n        var /** @type {?} */ isRe = /\\[is=([^\\]]*)\\]/g;\n        scopeSelector = scopeSelector.replace(isRe, function (_) {\n            var parts = [];\n            for (var _i = 1; _i < arguments.length; _i++) {\n                parts[_i - 1] = arguments[_i];\n            }\n            return parts[0];\n        });\n        var /** @type {?} */ attrName = '[' + scopeSelector + ']';\n        var /** @type {?} */ _scopeSelectorPart = function (p) {\n            var /** @type {?} */ scopedP = p.trim();\n            if (!scopedP) {\n                return '';\n            }\n            if (p.indexOf(_polyfillHostNoCombinator) > -1) {\n                scopedP = _this._applySimpleSelectorScope(p, scopeSelector, hostSelector);\n            }\n            else {\n                // remove :host since it should be unnecessary\n                var /** @type {?} */ t = p.replace(_polyfillHostRe, '');\n                if (t.length > 0) {\n                    var /** @type {?} */ matches = t.match(/([^:]*)(:*)(.*)/);\n                    if (matches) {\n                        scopedP = matches[1] + attrName + matches[2] + matches[3];\n                    }\n                }\n            }\n            return scopedP;\n        };\n        var /** @type {?} */ safeContent = new SafeSelector(selector);\n        selector = safeContent.content();\n        var /** @type {?} */ scopedSelector = '';\n        var /** @type {?} */ startIndex = 0;\n        var /** @type {?} */ res;\n        var /** @type {?} */ sep = /( |>|\\+|~(?!=))\\s*/g;\n        var /** @type {?} */ scopeAfter = selector.indexOf(_polyfillHostNoCombinator);\n        while ((res = sep.exec(selector)) !== null) {\n            var /** @type {?} */ separator = res[1];\n            var /** @type {?} */ part = selector.slice(startIndex, res.index).trim();\n            // if a selector appears before :host-context it should not be shimmed as it\n            // matches on ancestor elements and not on elements in the host's shadow\n            var /** @type {?} */ scopedPart = startIndex >= scopeAfter ? _scopeSelectorPart(part) : part;\n            scopedSelector += scopedPart + \" \" + separator + \" \";\n            startIndex = sep.lastIndex;\n        }\n        scopedSelector += _scopeSelectorPart(selector.substring(startIndex));\n        // replace the placeholders with their original values\n        return safeContent.restore(scopedSelector);\n    };\n    /**\n     * @param {?} selector\n     * @return {?}\n     */\n    ShadowCss.prototype._insertPolyfillHostInCssText = function (selector) {\n        return selector.replace(_colonHostContextRe, _polyfillHostContext)\n            .replace(_colonHostRe, _polyfillHost);\n    };\n    return ShadowCss;\n}());\nfunction ShadowCss_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ShadowCss.prototype.strictStyling;\n}\nvar SafeSelector = (function () {\n    /**\n     * @param {?} selector\n     */\n    function SafeSelector(selector) {\n        var _this = this;\n        this.placeholders = [];\n        this.index = 0;\n        // Replaces attribute selectors with placeholders.\n        // The WS in [attr=\"va lue\"] would otherwise be interpreted as a selector separator.\n        selector = selector.replace(/(\\[[^\\]]*\\])/g, function (_, keep) {\n            var replaceBy = \"__ph-\" + _this.index + \"__\";\n            _this.placeholders.push(keep);\n            _this.index++;\n            return replaceBy;\n        });\n        // Replaces the expression in `:nth-child(2n + 1)` with a placeholder.\n        // WS and \"+\" would otherwise be interpreted as selector separators.\n        this._content = selector.replace(/(:nth-[-\\w]+)(\\([^)]+\\))/g, function (_, pseudo, exp) {\n            var replaceBy = \"__ph-\" + _this.index + \"__\";\n            _this.placeholders.push(exp);\n            _this.index++;\n            return pseudo + replaceBy;\n        });\n    }\n    ;\n    /**\n     * @param {?} content\n     * @return {?}\n     */\n    SafeSelector.prototype.restore = function (content) {\n        var _this = this;\n        return content.replace(/__ph-(\\d+)__/g, function (ph, index) { return _this.placeholders[+index]; });\n    };\n    /**\n     * @return {?}\n     */\n    SafeSelector.prototype.content = function () { return this._content; };\n    return SafeSelector;\n}());\nfunction SafeSelector_tsickle_Closure_declarations() {\n    /** @type {?} */\n    SafeSelector.prototype.placeholders;\n    /** @type {?} */\n    SafeSelector.prototype.index;\n    /** @type {?} */\n    SafeSelector.prototype._content;\n}\nvar /** @type {?} */ _cssContentNextSelectorRe = /polyfill-next-selector[^}]*content:[\\s]*?(['\"])(.*?)\\1[;\\s]*}([^{]*?){/gim;\nvar /** @type {?} */ _cssContentRuleRe = /(polyfill-rule)[^}]*(content:[\\s]*(['\"])(.*?)\\3)[;\\s]*[^}]*}/gim;\nvar /** @type {?} */ _cssContentUnscopedRuleRe = /(polyfill-unscoped-rule)[^}]*(content:[\\s]*(['\"])(.*?)\\3)[;\\s]*[^}]*}/gim;\nvar /** @type {?} */ _polyfillHost = '-shadowcsshost';\n// note: :host-context pre-processed to -shadowcsshostcontext.\nvar /** @type {?} */ _polyfillHostContext = '-shadowcsscontext';\nvar /** @type {?} */ _parenSuffix = ')(?:\\\\((' +\n    '(?:\\\\([^)(]*\\\\)|[^)(]*)+?' +\n    ')\\\\))?([^,{]*)';\nvar /** @type {?} */ _cssColonHostRe = new RegExp('(' + _polyfillHost + _parenSuffix, 'gim');\nvar /** @type {?} */ _cssColonHostContextRe = new RegExp('(' + _polyfillHostContext + _parenSuffix, 'gim');\nvar /** @type {?} */ _polyfillHostNoCombinator = _polyfillHost + '-no-combinator';\nvar /** @type {?} */ _polyfillHostNoCombinatorRe = /-shadowcsshost-no-combinator([^\\s]*)/;\nvar /** @type {?} */ _shadowDOMSelectorsRe = [\n    /::shadow/g,\n    /::content/g,\n    // Deprecated selectors\n    /\\/shadow-deep\\//g,\n    /\\/shadow\\//g,\n];\nvar /** @type {?} */ _shadowDeepSelectors = /(?:>>>)|(?:\\/deep\\/)/g;\nvar /** @type {?} */ _selectorReSuffix = '([>\\\\s~+\\[.,{:][\\\\s\\\\S]*)?$';\nvar /** @type {?} */ _polyfillHostRe = /-shadowcsshost/gim;\nvar /** @type {?} */ _colonHostRe = /:host/gim;\nvar /** @type {?} */ _colonHostContextRe = /:host-context/gim;\nvar /** @type {?} */ _commentRe = /\\/\\*\\s*[\\s\\S]*?\\*\\//g;\n/**\n * @param {?} input\n * @return {?}\n */\nfunction stripComments(input) {\n    return input.replace(_commentRe, '');\n}\n// all comments except inline source mapping\nvar /** @type {?} */ _sourceMappingUrlRe = /\\/\\*\\s*#\\s*sourceMappingURL=[\\s\\S]+?\\*\\//;\n/**\n * @param {?} input\n * @return {?}\n */\nfunction extractSourceMappingUrl(input) {\n    var /** @type {?} */ matcher = input.match(_sourceMappingUrlRe);\n    return matcher ? matcher[0] : '';\n}\nvar /** @type {?} */ _ruleRe = /(\\s*)([^;\\{\\}]+?)(\\s*)((?:{%BLOCK%}?\\s*;?)|(?:\\s*;))/g;\nvar /** @type {?} */ _curlyRe = /([{}])/g;\nvar /** @type {?} */ OPEN_CURLY = '{';\nvar /** @type {?} */ CLOSE_CURLY = '}';\nvar /** @type {?} */ BLOCK_PLACEHOLDER = '%BLOCK%';\nexport var CssRule = (function () {\n    /**\n     * @param {?} selector\n     * @param {?} content\n     */\n    function CssRule(selector, content) {\n        this.selector = selector;\n        this.content = content;\n    }\n    return CssRule;\n}());\nfunction CssRule_tsickle_Closure_declarations() {\n    /** @type {?} */\n    CssRule.prototype.selector;\n    /** @type {?} */\n    CssRule.prototype.content;\n}\n/**\n * @param {?} input\n * @param {?} ruleCallback\n * @return {?}\n */\nexport function processRules(input, ruleCallback) {\n    var /** @type {?} */ inputWithEscapedBlocks = escapeBlocks(input);\n    var /** @type {?} */ nextBlockIndex = 0;\n    return inputWithEscapedBlocks.escapedString.replace(_ruleRe, function () {\n        var m = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            m[_i - 0] = arguments[_i];\n        }\n        var /** @type {?} */ selector = m[2];\n        var /** @type {?} */ content = '';\n        var /** @type {?} */ suffix = m[4];\n        var /** @type {?} */ contentPrefix = '';\n        if (suffix && suffix.startsWith('{' + BLOCK_PLACEHOLDER)) {\n            content = inputWithEscapedBlocks.blocks[nextBlockIndex++];\n            suffix = suffix.substring(BLOCK_PLACEHOLDER.length + 1);\n            contentPrefix = '{';\n        }\n        var /** @type {?} */ rule = ruleCallback(new CssRule(selector, content));\n        return \"\" + m[1] + rule.selector + m[3] + contentPrefix + rule.content + suffix;\n    });\n}\nvar StringWithEscapedBlocks = (function () {\n    /**\n     * @param {?} escapedString\n     * @param {?} blocks\n     */\n    function StringWithEscapedBlocks(escapedString, blocks) {\n        this.escapedString = escapedString;\n        this.blocks = blocks;\n    }\n    return StringWithEscapedBlocks;\n}());\nfunction StringWithEscapedBlocks_tsickle_Closure_declarations() {\n    /** @type {?} */\n    StringWithEscapedBlocks.prototype.escapedString;\n    /** @type {?} */\n    StringWithEscapedBlocks.prototype.blocks;\n}\n/**\n * @param {?} input\n * @return {?}\n */\nfunction escapeBlocks(input) {\n    var /** @type {?} */ inputParts = input.split(_curlyRe);\n    var /** @type {?} */ resultParts = [];\n    var /** @type {?} */ escapedBlocks = [];\n    var /** @type {?} */ bracketCount = 0;\n    var /** @type {?} */ currentBlockParts = [];\n    for (var /** @type {?} */ partIndex = 0; partIndex < inputParts.length; partIndex++) {\n        var /** @type {?} */ part = inputParts[partIndex];\n        if (part == CLOSE_CURLY) {\n            bracketCount--;\n        }\n        if (bracketCount > 0) {\n            currentBlockParts.push(part);\n        }\n        else {\n            if (currentBlockParts.length > 0) {\n                escapedBlocks.push(currentBlockParts.join(''));\n                resultParts.push(BLOCK_PLACEHOLDER);\n                currentBlockParts = [];\n            }\n            resultParts.push(part);\n        }\n        if (part == OPEN_CURLY) {\n            bracketCount++;\n        }\n    }\n    if (currentBlockParts.length > 0) {\n        escapedBlocks.push(currentBlockParts.join(''));\n        resultParts.push(BLOCK_PLACEHOLDER);\n    }\n    return new StringWithEscapedBlocks(resultParts.join(''), escapedBlocks);\n}\n//# sourceMappingURL=shadow_css.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/shadow_css.js\n// module id = 862\n// module chunks = 0","/**\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 */\nimport { Version } from '@angular/core';\n/**\n * @stable\n */\nexport var /** @type {?} */ VERSION = new Version('2.4.9');\n//# sourceMappingURL=version.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/version.js\n// module id = 863\n// module chunks = 0","/**\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 */\nimport { tokenReference } from '../compile_metadata';\nimport { createPureProxy } from '../compiler_util/identifier_util';\nimport { Identifiers, createIdentifier, resolveIdentifier } from '../identifiers';\nimport * as o from '../output/output_ast';\nimport { getPropertyInView, injectFromViewParentInjector } from './util';\nexport var CompilePipe = (function () {\n    /**\n     * @param {?} view\n     * @param {?} meta\n     */\n    function CompilePipe(view, meta) {\n        var _this = this;\n        this.view = view;\n        this.meta = meta;\n        this._purePipeProxyCount = 0;\n        this.instance = o.THIS_EXPR.prop(\"_pipe_\" + meta.name + \"_\" + view.pipeCount++);\n        var deps = this.meta.type.diDeps.map(function (diDep) {\n            if (tokenReference(diDep.token) === resolveIdentifier(Identifiers.ChangeDetectorRef)) {\n                return getPropertyInView(o.THIS_EXPR.prop('ref'), _this.view, _this.view.componentView);\n            }\n            return injectFromViewParentInjector(view, diDep.token, false);\n        });\n        this.view.fields.push(new o.ClassField(this.instance.name, o.importType(this.meta.type)));\n        this.view.createMethod.resetDebugInfo(null, null);\n        this.view.createMethod.addStmt(o.THIS_EXPR.prop(this.instance.name)\n            .set(o.importExpr(this.meta.type).instantiate(deps))\n            .toStmt());\n    }\n    /**\n     * @param {?} view\n     * @param {?} name\n     * @param {?} args\n     * @return {?}\n     */\n    CompilePipe.call = function (view, name, args) {\n        var /** @type {?} */ compView = view.componentView;\n        var /** @type {?} */ meta = _findPipeMeta(compView, name);\n        var /** @type {?} */ pipe;\n        if (meta.pure) {\n            // pure pipes live on the component view\n            pipe = compView.purePipes.get(name);\n            if (!pipe) {\n                pipe = new CompilePipe(compView, meta);\n                compView.purePipes.set(name, pipe);\n                compView.pipes.push(pipe);\n            }\n        }\n        else {\n            // Non pure pipes live on the view that called it\n            pipe = new CompilePipe(view, meta);\n            view.pipes.push(pipe);\n        }\n        return pipe._call(view, args);\n    };\n    Object.defineProperty(CompilePipe.prototype, \"pure\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this.meta.pure; },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @param {?} callingView\n     * @param {?} args\n     * @return {?}\n     */\n    CompilePipe.prototype._call = function (callingView, args) {\n        if (this.meta.pure) {\n            // PurePipeProxies live on the view that called them.\n            var /** @type {?} */ purePipeProxyInstance = o.THIS_EXPR.prop(this.instance.name + \"_\" + this._purePipeProxyCount++);\n            var /** @type {?} */ pipeInstanceSeenFromPureProxy = getPropertyInView(this.instance, callingView, this.view);\n            createPureProxy(pipeInstanceSeenFromPureProxy.prop('transform')\n                .callMethod(o.BuiltinMethod.Bind, [pipeInstanceSeenFromPureProxy]), args.length, purePipeProxyInstance, { fields: callingView.fields, ctorStmts: callingView.createMethod });\n            return o.importExpr(createIdentifier(Identifiers.castByValue))\n                .callFn([purePipeProxyInstance, pipeInstanceSeenFromPureProxy.prop('transform')])\n                .callFn(args);\n        }\n        else {\n            return getPropertyInView(this.instance, callingView, this.view).callMethod('transform', args);\n        }\n    };\n    return CompilePipe;\n}());\nfunction CompilePipe_tsickle_Closure_declarations() {\n    /** @type {?} */\n    CompilePipe.prototype.instance;\n    /** @type {?} */\n    CompilePipe.prototype._purePipeProxyCount;\n    /** @type {?} */\n    CompilePipe.prototype.view;\n    /** @type {?} */\n    CompilePipe.prototype.meta;\n}\n/**\n * @param {?} view\n * @param {?} name\n * @return {?}\n */\nfunction _findPipeMeta(view, name) {\n    var /** @type {?} */ pipeMeta = null;\n    for (var /** @type {?} */ i = view.pipeMetas.length - 1; i >= 0; i--) {\n        var /** @type {?} */ localPipeMeta = view.pipeMetas[i];\n        if (localPipeMeta.name == name) {\n            pipeMeta = localPipeMeta;\n            break;\n        }\n    }\n    if (!pipeMeta) {\n        throw new Error(\"Illegal state: Could not find pipe \" + name + \" although the parser should have detected this error!\");\n    }\n    return pipeMeta;\n}\n//# sourceMappingURL=compile_pipe.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/view_compiler/compile_pipe.js\n// module id = 864\n// module chunks = 0","/**\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 */\nimport { EventHandlerVars, convertActionBinding } from '../compiler_util/expression_converter';\nimport { createInlineArray } from '../compiler_util/identifier_util';\nimport { DirectiveWrapperExpressions } from '../directive_wrapper_compiler';\nimport { Identifiers, createIdentifier } from '../identifiers';\nimport * as o from '../output/output_ast';\nimport { CompileMethod } from './compile_method';\nimport { getHandleEventMethodName } from './util';\n/**\n * @param {?} boundEvents\n * @param {?} directives\n * @param {?} compileElement\n * @param {?} bindToRenderer\n * @return {?}\n */\nexport function bindOutputs(boundEvents, directives, compileElement, bindToRenderer) {\n    var /** @type {?} */ usedEvents = collectEvents(boundEvents, directives);\n    if (!usedEvents.size) {\n        return false;\n    }\n    if (bindToRenderer) {\n        subscribeToRenderEvents(usedEvents, compileElement);\n    }\n    subscribeToDirectiveEvents(usedEvents, directives, compileElement);\n    generateHandleEventMethod(boundEvents, directives, compileElement);\n    return true;\n}\n/**\n * @param {?} boundEvents\n * @param {?} directives\n * @return {?}\n */\nfunction collectEvents(boundEvents, directives) {\n    var /** @type {?} */ usedEvents = new Map();\n    boundEvents.forEach(function (event) { usedEvents.set(event.fullName, event); });\n    directives.forEach(function (dirAst) {\n        dirAst.hostEvents.forEach(function (event) { usedEvents.set(event.fullName, event); });\n    });\n    return usedEvents;\n}\n/**\n * @param {?} usedEvents\n * @param {?} compileElement\n * @return {?}\n */\nfunction subscribeToRenderEvents(usedEvents, compileElement) {\n    var /** @type {?} */ eventAndTargetExprs = [];\n    usedEvents.forEach(function (event) {\n        if (!event.phase) {\n            eventAndTargetExprs.push(o.literal(event.name), o.literal(event.target));\n        }\n    });\n    if (eventAndTargetExprs.length) {\n        var /** @type {?} */ disposableVar = o.variable(\"disposable_\" + compileElement.view.disposables.length);\n        compileElement.view.disposables.push(disposableVar);\n        compileElement.view.createMethod.addStmt(disposableVar\n            .set(o.importExpr(createIdentifier(Identifiers.subscribeToRenderElement)).callFn([\n            o.THIS_EXPR, compileElement.renderNode, createInlineArray(eventAndTargetExprs),\n            handleEventExpr(compileElement)\n        ]))\n            .toDeclStmt(o.FUNCTION_TYPE, [o.StmtModifier.Private]));\n    }\n}\n/**\n * @param {?} usedEvents\n * @param {?} directives\n * @param {?} compileElement\n * @return {?}\n */\nfunction subscribeToDirectiveEvents(usedEvents, directives, compileElement) {\n    var /** @type {?} */ usedEventNames = Array.from(usedEvents.keys());\n    directives.forEach(function (dirAst) {\n        var /** @type {?} */ dirWrapper = compileElement.directiveWrapperInstance.get(dirAst.directive.type.reference);\n        compileElement.view.createMethod.addStmts(DirectiveWrapperExpressions.subscribe(dirAst.directive, dirAst.hostProperties, usedEventNames, dirWrapper, o.THIS_EXPR, handleEventExpr(compileElement)));\n    });\n}\n/**\n * @param {?} boundEvents\n * @param {?} directives\n * @param {?} compileElement\n * @return {?}\n */\nfunction generateHandleEventMethod(boundEvents, directives, compileElement) {\n    var /** @type {?} */ hasComponentHostListener = directives.some(function (dirAst) { return dirAst.hostEvents.some(function (event) { return dirAst.directive.isComponent; }); });\n    var /** @type {?} */ markPathToRootStart = hasComponentHostListener ? compileElement.compViewExpr : o.THIS_EXPR;\n    var /** @type {?} */ handleEventStmts = new CompileMethod(compileElement.view);\n    handleEventStmts.resetDebugInfo(compileElement.nodeIndex, compileElement.sourceAst);\n    handleEventStmts.push(markPathToRootStart.callMethod('markPathToRootAsCheckOnce', []).toStmt());\n    var /** @type {?} */ eventNameVar = o.variable('eventName');\n    var /** @type {?} */ resultVar = o.variable('result');\n    handleEventStmts.push(resultVar.set(o.literal(true)).toDeclStmt(o.BOOL_TYPE));\n    directives.forEach(function (dirAst, dirIdx) {\n        var /** @type {?} */ dirWrapper = compileElement.directiveWrapperInstance.get(dirAst.directive.type.reference);\n        if (dirAst.hostEvents.length > 0) {\n            handleEventStmts.push(resultVar\n                .set(DirectiveWrapperExpressions\n                .handleEvent(dirAst.hostEvents, dirWrapper, eventNameVar, EventHandlerVars.event)\n                .and(resultVar))\n                .toStmt());\n        }\n    });\n    boundEvents.forEach(function (renderEvent, renderEventIdx) {\n        var /** @type {?} */ evalResult = convertActionBinding(compileElement.view, compileElement.view, compileElement.view.componentContext, renderEvent.handler, \"sub_\" + renderEventIdx);\n        var /** @type {?} */ trueStmts = evalResult.stmts;\n        if (evalResult.preventDefault) {\n            trueStmts.push(resultVar.set(evalResult.preventDefault.and(resultVar)).toStmt());\n        }\n        // TODO(tbosch): convert this into a `switch` once our OutputAst supports it.\n        handleEventStmts.push(new o.IfStmt(eventNameVar.equals(o.literal(renderEvent.fullName)), trueStmts));\n    });\n    handleEventStmts.push(new o.ReturnStatement(resultVar));\n    compileElement.view.methods.push(new o.ClassMethod(getHandleEventMethodName(compileElement.nodeIndex), [\n        new o.FnParam(eventNameVar.name, o.STRING_TYPE),\n        new o.FnParam(EventHandlerVars.event.name, o.DYNAMIC_TYPE)\n    ], handleEventStmts.finish(), o.BOOL_TYPE));\n}\n/**\n * @param {?} compileElement\n * @return {?}\n */\nfunction handleEventExpr(compileElement) {\n    var /** @type {?} */ handleEventMethodName = getHandleEventMethodName(compileElement.nodeIndex);\n    return o.THIS_EXPR.callMethod('eventHandler', [o.THIS_EXPR.prop(handleEventMethodName)]);\n}\n//# sourceMappingURL=event_binder.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/view_compiler/event_binder.js\n// module id = 865\n// module chunks = 0","/**\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 */\nimport { DirectiveWrapperExpressions } from '../directive_wrapper_compiler';\nimport * as o from '../output/output_ast';\nimport { LifecycleHooks } from '../private_import_core';\nimport { ProviderAstType } from '../template_parser/template_ast';\nimport { DetectChangesVars } from './constants';\nvar /** @type {?} */ STATE_IS_NEVER_CHECKED = o.THIS_EXPR.prop('numberOfChecks').identical(new o.LiteralExpr(0));\nvar /** @type {?} */ NOT_THROW_ON_CHANGES = o.not(DetectChangesVars.throwOnChange);\n/**\n * @param {?} directiveMeta\n * @param {?} directiveInstance\n * @param {?} compileElement\n * @return {?}\n */\nexport function bindDirectiveAfterContentLifecycleCallbacks(directiveMeta, directiveInstance, compileElement) {\n    var /** @type {?} */ view = compileElement.view;\n    var /** @type {?} */ lifecycleHooks = directiveMeta.type.lifecycleHooks;\n    var /** @type {?} */ afterContentLifecycleCallbacksMethod = view.afterContentLifecycleCallbacksMethod;\n    afterContentLifecycleCallbacksMethod.resetDebugInfo(compileElement.nodeIndex, compileElement.sourceAst);\n    if (lifecycleHooks.indexOf(LifecycleHooks.AfterContentInit) !== -1) {\n        afterContentLifecycleCallbacksMethod.addStmt(new o.IfStmt(STATE_IS_NEVER_CHECKED, [directiveInstance.callMethod('ngAfterContentInit', []).toStmt()]));\n    }\n    if (lifecycleHooks.indexOf(LifecycleHooks.AfterContentChecked) !== -1) {\n        afterContentLifecycleCallbacksMethod.addStmt(directiveInstance.callMethod('ngAfterContentChecked', []).toStmt());\n    }\n}\n/**\n * @param {?} directiveMeta\n * @param {?} directiveInstance\n * @param {?} compileElement\n * @return {?}\n */\nexport function bindDirectiveAfterViewLifecycleCallbacks(directiveMeta, directiveInstance, compileElement) {\n    var /** @type {?} */ view = compileElement.view;\n    var /** @type {?} */ lifecycleHooks = directiveMeta.type.lifecycleHooks;\n    var /** @type {?} */ afterViewLifecycleCallbacksMethod = view.afterViewLifecycleCallbacksMethod;\n    afterViewLifecycleCallbacksMethod.resetDebugInfo(compileElement.nodeIndex, compileElement.sourceAst);\n    if (lifecycleHooks.indexOf(LifecycleHooks.AfterViewInit) !== -1) {\n        afterViewLifecycleCallbacksMethod.addStmt(new o.IfStmt(STATE_IS_NEVER_CHECKED, [directiveInstance.callMethod('ngAfterViewInit', []).toStmt()]));\n    }\n    if (lifecycleHooks.indexOf(LifecycleHooks.AfterViewChecked) !== -1) {\n        afterViewLifecycleCallbacksMethod.addStmt(directiveInstance.callMethod('ngAfterViewChecked', []).toStmt());\n    }\n}\n/**\n * @param {?} dir\n * @param {?} directiveWrapperIntance\n * @param {?} compileElement\n * @return {?}\n */\nexport function bindDirectiveWrapperLifecycleCallbacks(dir, directiveWrapperIntance, compileElement) {\n    compileElement.view.destroyMethod.addStmts(DirectiveWrapperExpressions.ngOnDestroy(dir.directive, directiveWrapperIntance));\n    compileElement.view.detachMethod.addStmts(DirectiveWrapperExpressions.ngOnDetach(dir.hostProperties, directiveWrapperIntance, o.THIS_EXPR, compileElement.compViewExpr || o.THIS_EXPR, compileElement.renderNode));\n}\n/**\n * @param {?} provider\n * @param {?} providerInstance\n * @param {?} compileElement\n * @return {?}\n */\nexport function bindInjectableDestroyLifecycleCallbacks(provider, providerInstance, compileElement) {\n    var /** @type {?} */ onDestroyMethod = compileElement.view.destroyMethod;\n    onDestroyMethod.resetDebugInfo(compileElement.nodeIndex, compileElement.sourceAst);\n    if (provider.providerType !== ProviderAstType.Directive &&\n        provider.providerType !== ProviderAstType.Component &&\n        provider.lifecycleHooks.indexOf(LifecycleHooks.OnDestroy) !== -1) {\n        onDestroyMethod.addStmt(providerInstance.callMethod('ngOnDestroy', []).toStmt());\n    }\n}\n/**\n * @param {?} pipeMeta\n * @param {?} pipeInstance\n * @param {?} view\n * @return {?}\n */\nexport function bindPipeDestroyLifecycleCallbacks(pipeMeta, pipeInstance, view) {\n    var /** @type {?} */ onDestroyMethod = view.destroyMethod;\n    if (pipeMeta.type.lifecycleHooks.indexOf(LifecycleHooks.OnDestroy) !== -1) {\n        onDestroyMethod.addStmt(pipeInstance.callMethod('ngOnDestroy', []).toStmt());\n    }\n}\n//# sourceMappingURL=lifecycle_binder.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/view_compiler/lifecycle_binder.js\n// module id = 866\n// module chunks = 0","/**\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 */\nimport { createCheckBindingField, createCheckBindingStmt } from '../compiler_util/binding_util';\nimport { convertPropertyBinding } from '../compiler_util/expression_converter';\nimport { createEnumExpression } from '../compiler_util/identifier_util';\nimport { triggerAnimation, writeToRenderer } from '../compiler_util/render_util';\nimport { DirectiveWrapperExpressions } from '../directive_wrapper_compiler';\nimport { Identifiers, createIdentifier } from '../identifiers';\nimport * as o from '../output/output_ast';\nimport { isDefaultChangeDetectionStrategy } from '../private_import_core';\nimport { PropertyBindingType } from '../template_parser/template_ast';\nimport { DetectChangesVars } from './constants';\nimport { getHandleEventMethodName } from './util';\n/**\n * @param {?} boundText\n * @param {?} compileNode\n * @param {?} view\n * @return {?}\n */\nexport function bindRenderText(boundText, compileNode, view) {\n    var /** @type {?} */ valueField = createCheckBindingField(view);\n    var /** @type {?} */ evalResult = convertPropertyBinding(view, view, view.componentContext, boundText.value, valueField.bindingId);\n    if (!evalResult) {\n        return null;\n    }\n    view.detectChangesRenderPropertiesMethod.resetDebugInfo(compileNode.nodeIndex, boundText);\n    view.detectChangesRenderPropertiesMethod.addStmts(createCheckBindingStmt(evalResult, valueField.expression, DetectChangesVars.throwOnChange, [o.THIS_EXPR.prop('renderer')\n            .callMethod('setText', [compileNode.renderNode, evalResult.currValExpr])\n            .toStmt()]));\n}\n/**\n * @param {?} boundProps\n * @param {?} boundOutputs\n * @param {?} hasEvents\n * @param {?} compileElement\n * @return {?}\n */\nexport function bindRenderInputs(boundProps, boundOutputs, hasEvents, compileElement) {\n    var /** @type {?} */ view = compileElement.view;\n    var /** @type {?} */ renderNode = compileElement.renderNode;\n    boundProps.forEach(function (boundProp) {\n        var /** @type {?} */ bindingField = createCheckBindingField(view);\n        view.detectChangesRenderPropertiesMethod.resetDebugInfo(compileElement.nodeIndex, boundProp);\n        var /** @type {?} */ evalResult = convertPropertyBinding(view, view, compileElement.view.componentContext, boundProp.value, bindingField.bindingId);\n        if (!evalResult) {\n            return;\n        }\n        var /** @type {?} */ checkBindingStmts = [];\n        var /** @type {?} */ compileMethod = view.detectChangesRenderPropertiesMethod;\n        switch (boundProp.type) {\n            case PropertyBindingType.Property:\n            case PropertyBindingType.Attribute:\n            case PropertyBindingType.Class:\n            case PropertyBindingType.Style:\n                checkBindingStmts.push.apply(checkBindingStmts, writeToRenderer(o.THIS_EXPR, boundProp, renderNode, evalResult.currValExpr, view.genConfig.logBindingUpdate));\n                break;\n            case PropertyBindingType.Animation:\n                compileMethod = view.animationBindingsMethod;\n                var _a = triggerAnimation(o.THIS_EXPR, o.THIS_EXPR, boundProp, boundOutputs, (hasEvents ? o.THIS_EXPR.prop(getHandleEventMethodName(compileElement.nodeIndex)) :\n                    o.importExpr(createIdentifier(Identifiers.noop)))\n                    .callMethod(o.BuiltinMethod.Bind, [o.THIS_EXPR]), compileElement.renderNode, evalResult.currValExpr, bindingField.expression), updateStmts = _a.updateStmts, detachStmts = _a.detachStmts;\n                checkBindingStmts.push.apply(checkBindingStmts, updateStmts);\n                view.detachMethod.addStmts(detachStmts);\n                break;\n        }\n        compileMethod.addStmts(createCheckBindingStmt(evalResult, bindingField.expression, DetectChangesVars.throwOnChange, checkBindingStmts));\n    });\n}\n/**\n * @param {?} directiveAst\n * @param {?} directiveWrapperInstance\n * @param {?} compileElement\n * @param {?} elementName\n * @param {?} schemaRegistry\n * @return {?}\n */\nexport function bindDirectiveHostProps(directiveAst, directiveWrapperInstance, compileElement, elementName, schemaRegistry) {\n    // We need to provide the SecurityContext for properties that could need sanitization.\n    var /** @type {?} */ runtimeSecurityCtxExprs = directiveAst.hostProperties.filter(function (boundProp) { return boundProp.needsRuntimeSecurityContext; })\n        .map(function (boundProp) {\n        var /** @type {?} */ ctx;\n        switch (boundProp.type) {\n            case PropertyBindingType.Property:\n                ctx = schemaRegistry.securityContext(elementName, boundProp.name, false);\n                break;\n            case PropertyBindingType.Attribute:\n                ctx = schemaRegistry.securityContext(elementName, boundProp.name, true);\n                break;\n            default:\n                throw new Error(\"Illegal state: Only property / attribute bindings can have an unknown security context! Binding \" + boundProp.name);\n        }\n        return createEnumExpression(Identifiers.SecurityContext, ctx);\n    });\n    compileElement.view.detectChangesRenderPropertiesMethod.addStmts(DirectiveWrapperExpressions.checkHost(directiveAst.hostProperties, directiveWrapperInstance, o.THIS_EXPR, compileElement.compViewExpr || o.THIS_EXPR, compileElement.renderNode, DetectChangesVars.throwOnChange, runtimeSecurityCtxExprs));\n}\n/**\n * @param {?} directiveAst\n * @param {?} directiveWrapperInstance\n * @param {?} dirIndex\n * @param {?} compileElement\n * @return {?}\n */\nexport function bindDirectiveInputs(directiveAst, directiveWrapperInstance, dirIndex, compileElement) {\n    var /** @type {?} */ view = compileElement.view;\n    var /** @type {?} */ detectChangesInInputsMethod = view.detectChangesInInputsMethod;\n    detectChangesInInputsMethod.resetDebugInfo(compileElement.nodeIndex, compileElement.sourceAst);\n    directiveAst.inputs.forEach(function (input, inputIdx) {\n        // Note: We can't use `fields.length` here, as we are not adding a field!\n        var /** @type {?} */ bindingId = compileElement.nodeIndex + \"_\" + dirIndex + \"_\" + inputIdx;\n        detectChangesInInputsMethod.resetDebugInfo(compileElement.nodeIndex, input);\n        var /** @type {?} */ evalResult = convertPropertyBinding(view, view, view.componentContext, input.value, bindingId);\n        if (!evalResult) {\n            return;\n        }\n        detectChangesInInputsMethod.addStmts(evalResult.stmts);\n        detectChangesInInputsMethod.addStmt(directiveWrapperInstance\n            .callMethod(\"check_\" + input.directiveName, [\n            evalResult.currValExpr, DetectChangesVars.throwOnChange,\n            evalResult.forceUpdate || o.literal(false)\n        ])\n            .toStmt());\n    });\n    var /** @type {?} */ isOnPushComp = directiveAst.directive.isComponent &&\n        !isDefaultChangeDetectionStrategy(directiveAst.directive.changeDetection);\n    var /** @type {?} */ directiveDetectChangesExpr = DirectiveWrapperExpressions.ngDoCheck(directiveWrapperInstance, o.THIS_EXPR, compileElement.renderNode, DetectChangesVars.throwOnChange);\n    var /** @type {?} */ directiveDetectChangesStmt = isOnPushComp ?\n        new o.IfStmt(directiveDetectChangesExpr, [compileElement.compViewExpr.callMethod('markAsCheckOnce', []).toStmt()]) :\n        directiveDetectChangesExpr.toStmt();\n    detectChangesInInputsMethod.addStmt(directiveDetectChangesStmt);\n}\n//# sourceMappingURL=property_binder.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/view_compiler/property_binder.js\n// module id = 867\n// module chunks = 0","/**\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 */\nimport { tokenReference } from '../compile_metadata';\n/**\n * @param {?} ce\n * @return {?}\n */\nexport function bindQueryValues(ce) {\n    var /** @type {?} */ queriesWithReads = [];\n    ce.getProviderTokens().forEach(function (token) {\n        var /** @type {?} */ queriesForProvider = ce.getQueriesFor(token);\n        queriesWithReads.push.apply(queriesWithReads, queriesForProvider.map(function (query) { return new _QueryWithRead(query, token); }));\n    });\n    Object.keys(ce.referenceTokens).forEach(function (varName) {\n        var /** @type {?} */ varToken = { value: varName };\n        queriesWithReads.push.apply(queriesWithReads, ce.getQueriesFor(varToken).map(function (query) { return new _QueryWithRead(query, varToken); }));\n    });\n    queriesWithReads.forEach(function (queryWithRead) {\n        var /** @type {?} */ value;\n        if (queryWithRead.read.identifier) {\n            // query for an identifier\n            value = ce.instances.get(tokenReference(queryWithRead.read));\n        }\n        else {\n            // query for a reference\n            var /** @type {?} */ token = ce.referenceTokens[queryWithRead.read.value];\n            if (token) {\n                value = ce.instances.get(tokenReference(token));\n            }\n            else {\n                value = ce.elementRef;\n            }\n        }\n        if (value) {\n            queryWithRead.query.addValue(value, ce.view);\n        }\n    });\n}\nvar _QueryWithRead = (function () {\n    /**\n     * @param {?} query\n     * @param {?} match\n     */\n    function _QueryWithRead(query, match) {\n        this.query = query;\n        this.read = query.meta.read || match;\n    }\n    return _QueryWithRead;\n}());\nfunction _QueryWithRead_tsickle_Closure_declarations() {\n    /** @type {?} */\n    _QueryWithRead.prototype.read;\n    /** @type {?} */\n    _QueryWithRead.prototype.query;\n}\n//# sourceMappingURL=query_binder.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/view_compiler/query_binder.js\n// module id = 868\n// module chunks = 0","/**\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 */\nimport { tokenReference } from '../compile_metadata';\nimport { templateVisitAll } from '../template_parser/template_ast';\nimport { bindOutputs } from './event_binder';\nimport { bindDirectiveAfterContentLifecycleCallbacks, bindDirectiveAfterViewLifecycleCallbacks, bindDirectiveWrapperLifecycleCallbacks, bindInjectableDestroyLifecycleCallbacks, bindPipeDestroyLifecycleCallbacks } from './lifecycle_binder';\nimport { bindDirectiveHostProps, bindDirectiveInputs, bindRenderInputs, bindRenderText } from './property_binder';\nimport { bindQueryValues } from './query_binder';\n/**\n * @param {?} view\n * @param {?} parsedTemplate\n * @param {?} schemaRegistry\n * @return {?}\n */\nexport function bindView(view, parsedTemplate, schemaRegistry) {\n    var /** @type {?} */ visitor = new ViewBinderVisitor(view, schemaRegistry);\n    templateVisitAll(visitor, parsedTemplate);\n    view.pipes.forEach(function (pipe) { bindPipeDestroyLifecycleCallbacks(pipe.meta, pipe.instance, pipe.view); });\n}\nvar ViewBinderVisitor = (function () {\n    /**\n     * @param {?} view\n     * @param {?} _schemaRegistry\n     */\n    function ViewBinderVisitor(view, _schemaRegistry) {\n        this.view = view;\n        this._schemaRegistry = _schemaRegistry;\n        this._nodeIndex = 0;\n    }\n    /**\n     * @param {?} ast\n     * @param {?} parent\n     * @return {?}\n     */\n    ViewBinderVisitor.prototype.visitBoundText = function (ast, parent) {\n        var /** @type {?} */ node = this.view.nodes[this._nodeIndex++];\n        bindRenderText(ast, node, this.view);\n        return null;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} parent\n     * @return {?}\n     */\n    ViewBinderVisitor.prototype.visitText = function (ast, parent) {\n        this._nodeIndex++;\n        return null;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} parent\n     * @return {?}\n     */\n    ViewBinderVisitor.prototype.visitNgContent = function (ast, parent) { return null; };\n    /**\n     * @param {?} ast\n     * @param {?} parent\n     * @return {?}\n     */\n    ViewBinderVisitor.prototype.visitElement = function (ast, parent) {\n        var _this = this;\n        var /** @type {?} */ compileElement = (this.view.nodes[this._nodeIndex++]);\n        bindQueryValues(compileElement);\n        var /** @type {?} */ hasEvents = bindOutputs(ast.outputs, ast.directives, compileElement, true);\n        bindRenderInputs(ast.inputs, ast.outputs, hasEvents, compileElement);\n        ast.directives.forEach(function (directiveAst, dirIndex) {\n            var /** @type {?} */ directiveWrapperInstance = compileElement.directiveWrapperInstance.get(directiveAst.directive.type.reference);\n            bindDirectiveInputs(directiveAst, directiveWrapperInstance, dirIndex, compileElement);\n            bindDirectiveHostProps(directiveAst, directiveWrapperInstance, compileElement, ast.name, _this._schemaRegistry);\n        });\n        templateVisitAll(this, ast.children, compileElement);\n        // afterContent and afterView lifecycles need to be called bottom up\n        // so that children are notified before parents\n        ast.directives.forEach(function (directiveAst) {\n            var /** @type {?} */ directiveInstance = compileElement.instances.get(directiveAst.directive.type.reference);\n            var /** @type {?} */ directiveWrapperInstance = compileElement.directiveWrapperInstance.get(directiveAst.directive.type.reference);\n            bindDirectiveAfterContentLifecycleCallbacks(directiveAst.directive, directiveInstance, compileElement);\n            bindDirectiveAfterViewLifecycleCallbacks(directiveAst.directive, directiveInstance, compileElement);\n            bindDirectiveWrapperLifecycleCallbacks(directiveAst, directiveWrapperInstance, compileElement);\n        });\n        ast.providers.forEach(function (providerAst) {\n            var /** @type {?} */ providerInstance = compileElement.instances.get(tokenReference(providerAst.token));\n            bindInjectableDestroyLifecycleCallbacks(providerAst, providerInstance, compileElement);\n        });\n        return null;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} parent\n     * @return {?}\n     */\n    ViewBinderVisitor.prototype.visitEmbeddedTemplate = function (ast, parent) {\n        var /** @type {?} */ compileElement = (this.view.nodes[this._nodeIndex++]);\n        bindQueryValues(compileElement);\n        bindOutputs(ast.outputs, ast.directives, compileElement, false);\n        ast.directives.forEach(function (directiveAst, dirIndex) {\n            var /** @type {?} */ directiveInstance = compileElement.instances.get(directiveAst.directive.type.reference);\n            var /** @type {?} */ directiveWrapperInstance = compileElement.directiveWrapperInstance.get(directiveAst.directive.type.reference);\n            bindDirectiveInputs(directiveAst, directiveWrapperInstance, dirIndex, compileElement);\n            bindDirectiveAfterContentLifecycleCallbacks(directiveAst.directive, directiveInstance, compileElement);\n            bindDirectiveAfterViewLifecycleCallbacks(directiveAst.directive, directiveInstance, compileElement);\n            bindDirectiveWrapperLifecycleCallbacks(directiveAst, directiveWrapperInstance, compileElement);\n        });\n        ast.providers.forEach(function (providerAst) {\n            var /** @type {?} */ providerInstance = compileElement.instances.get(tokenReference(providerAst.token));\n            bindInjectableDestroyLifecycleCallbacks(providerAst, providerInstance, compileElement);\n        });\n        bindView(compileElement.embeddedView, ast.children, this._schemaRegistry);\n        return null;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} ctx\n     * @return {?}\n     */\n    ViewBinderVisitor.prototype.visitAttr = function (ast, ctx) { return null; };\n    /**\n     * @param {?} ast\n     * @param {?} ctx\n     * @return {?}\n     */\n    ViewBinderVisitor.prototype.visitDirective = function (ast, ctx) { return null; };\n    /**\n     * @param {?} ast\n     * @param {?} eventTargetAndNames\n     * @return {?}\n     */\n    ViewBinderVisitor.prototype.visitEvent = function (ast, eventTargetAndNames) {\n        return null;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} ctx\n     * @return {?}\n     */\n    ViewBinderVisitor.prototype.visitReference = function (ast, ctx) { return null; };\n    /**\n     * @param {?} ast\n     * @param {?} ctx\n     * @return {?}\n     */\n    ViewBinderVisitor.prototype.visitVariable = function (ast, ctx) { return null; };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    ViewBinderVisitor.prototype.visitDirectiveProperty = function (ast, context) { return null; };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    ViewBinderVisitor.prototype.visitElementProperty = function (ast, context) { return null; };\n    return ViewBinderVisitor;\n}());\nfunction ViewBinderVisitor_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ViewBinderVisitor.prototype._nodeIndex;\n    /** @type {?} */\n    ViewBinderVisitor.prototype.view;\n    /** @type {?} */\n    ViewBinderVisitor.prototype._schemaRegistry;\n}\n//# sourceMappingURL=view_binder.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/view_compiler/view_binder.js\n// module id = 869\n// module chunks = 0","/**\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 */\nimport { ViewEncapsulation } from '@angular/core';\nimport { identifierModuleUrl, identifierName } from '../compile_metadata';\nimport { createSharedBindingVariablesIfNeeded } from '../compiler_util/expression_converter';\nimport { createDiTokenExpression, createInlineArray } from '../compiler_util/identifier_util';\nimport { isPresent } from '../facade/lang';\nimport { Identifiers, createIdentifier, identifierToken } from '../identifiers';\nimport { createClassStmt } from '../output/class_builder';\nimport * as o from '../output/output_ast';\nimport { ChangeDetectorStatus, ViewType, isDefaultChangeDetectionStrategy } from '../private_import_core';\nimport { templateVisitAll } from '../template_parser/template_ast';\nimport { CompileElement, CompileNode } from './compile_element';\nimport { CompileView, CompileViewRootNode, CompileViewRootNodeType } from './compile_view';\nimport { ChangeDetectorStatusEnum, DetectChangesVars, InjectMethodVars, ViewConstructorVars, ViewEncapsulationEnum, ViewProperties, ViewTypeEnum } from './constants';\nimport { ViewClassDependency } from './deps';\nimport { getViewClassName } from './util';\nvar /** @type {?} */ IMPLICIT_TEMPLATE_VAR = '\\$implicit';\nvar /** @type {?} */ CLASS_ATTR = 'class';\nvar /** @type {?} */ STYLE_ATTR = 'style';\nvar /** @type {?} */ NG_CONTAINER_TAG = 'ng-container';\nvar /** @type {?} */ parentRenderNodeVar = o.variable('parentRenderNode');\nvar /** @type {?} */ rootSelectorVar = o.variable('rootSelector');\n/**\n * @param {?} view\n * @param {?} template\n * @param {?} targetDependencies\n * @return {?}\n */\nexport function buildView(view, template, targetDependencies) {\n    var /** @type {?} */ builderVisitor = new ViewBuilderVisitor(view, targetDependencies);\n    var /** @type {?} */ parentEl = view.declarationElement.isNull() ? view.declarationElement : view.declarationElement.parent;\n    templateVisitAll(builderVisitor, template, parentEl);\n    if (view.viewType === ViewType.EMBEDDED || view.viewType === ViewType.HOST) {\n        view.lastRenderNode = builderVisitor.getOrCreateLastRenderNode();\n    }\n    return builderVisitor.nestedViewCount;\n}\n/**\n * @param {?} view\n * @param {?} targetStatements\n * @return {?}\n */\nexport function finishView(view, targetStatements) {\n    view.nodes.forEach(function (node) {\n        if (node instanceof CompileElement) {\n            node.finish();\n            if (node.hasEmbeddedView) {\n                finishView(node.embeddedView, targetStatements);\n            }\n        }\n    });\n    view.finish();\n    createViewTopLevelStmts(view, targetStatements);\n}\nvar ViewBuilderVisitor = (function () {\n    /**\n     * @param {?} view\n     * @param {?} targetDependencies\n     */\n    function ViewBuilderVisitor(view, targetDependencies) {\n        this.view = view;\n        this.targetDependencies = targetDependencies;\n        this.nestedViewCount = 0;\n    }\n    /**\n     * @param {?} parent\n     * @return {?}\n     */\n    ViewBuilderVisitor.prototype._isRootNode = function (parent) { return parent.view !== this.view; };\n    /**\n     * @param {?} node\n     * @return {?}\n     */\n    ViewBuilderVisitor.prototype._addRootNodeAndProject = function (node) {\n        var /** @type {?} */ projectedNode = _getOuterContainerOrSelf(node);\n        var /** @type {?} */ parent = projectedNode.parent;\n        var /** @type {?} */ ngContentIndex = ((projectedNode.sourceAst)).ngContentIndex;\n        var /** @type {?} */ viewContainer = (node instanceof CompileElement && node.hasViewContainer) ? node.viewContainer : null;\n        if (this._isRootNode(parent)) {\n            if (this.view.viewType !== ViewType.COMPONENT) {\n                this.view.rootNodes.push(new CompileViewRootNode(viewContainer ? CompileViewRootNodeType.ViewContainer : CompileViewRootNodeType.Node, viewContainer || node.renderNode));\n            }\n        }\n        else if (isPresent(parent.component) && isPresent(ngContentIndex)) {\n            parent.addContentNode(ngContentIndex, new CompileViewRootNode(viewContainer ? CompileViewRootNodeType.ViewContainer : CompileViewRootNodeType.Node, viewContainer || node.renderNode));\n        }\n    };\n    /**\n     * @param {?} parent\n     * @return {?}\n     */\n    ViewBuilderVisitor.prototype._getParentRenderNode = function (parent) {\n        parent = _getOuterContainerParentOrSelf(parent);\n        if (this._isRootNode(parent)) {\n            if (this.view.viewType === ViewType.COMPONENT) {\n                return parentRenderNodeVar;\n            }\n            else {\n                // root node of an embedded/host view\n                return o.NULL_EXPR;\n            }\n        }\n        else {\n            return isPresent(parent.component) &&\n                parent.component.template.encapsulation !== ViewEncapsulation.Native ?\n                o.NULL_EXPR :\n                parent.renderNode;\n        }\n    };\n    /**\n     * @return {?}\n     */\n    ViewBuilderVisitor.prototype.getOrCreateLastRenderNode = function () {\n        var /** @type {?} */ view = this.view;\n        if (view.rootNodes.length === 0 ||\n            view.rootNodes[view.rootNodes.length - 1].type !== CompileViewRootNodeType.Node) {\n            var /** @type {?} */ fieldName = \"_el_\" + view.nodes.length;\n            view.fields.push(new o.ClassField(fieldName, o.importType(view.genConfig.renderTypes.renderElement)));\n            view.createMethod.addStmt(o.THIS_EXPR.prop(fieldName)\n                .set(ViewProperties.renderer.callMethod('createTemplateAnchor', [o.NULL_EXPR, o.NULL_EXPR]))\n                .toStmt());\n            view.rootNodes.push(new CompileViewRootNode(CompileViewRootNodeType.Node, o.THIS_EXPR.prop(fieldName)));\n        }\n        return view.rootNodes[view.rootNodes.length - 1].expr;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} parent\n     * @return {?}\n     */\n    ViewBuilderVisitor.prototype.visitBoundText = function (ast, parent) {\n        return this._visitText(ast, '', parent);\n    };\n    /**\n     * @param {?} ast\n     * @param {?} parent\n     * @return {?}\n     */\n    ViewBuilderVisitor.prototype.visitText = function (ast, parent) {\n        return this._visitText(ast, ast.value, parent);\n    };\n    /**\n     * @param {?} ast\n     * @param {?} value\n     * @param {?} parent\n     * @return {?}\n     */\n    ViewBuilderVisitor.prototype._visitText = function (ast, value, parent) {\n        var /** @type {?} */ fieldName = \"_text_\" + this.view.nodes.length;\n        this.view.fields.push(new o.ClassField(fieldName, o.importType(this.view.genConfig.renderTypes.renderText)));\n        var /** @type {?} */ renderNode = o.THIS_EXPR.prop(fieldName);\n        var /** @type {?} */ compileNode = new CompileNode(parent, this.view, this.view.nodes.length, renderNode, ast);\n        var /** @type {?} */ createRenderNode = o.THIS_EXPR.prop(fieldName)\n            .set(ViewProperties.renderer.callMethod('createText', [\n            this._getParentRenderNode(parent), o.literal(value),\n            this.view.createMethod.resetDebugInfoExpr(this.view.nodes.length, ast)\n        ]))\n            .toStmt();\n        this.view.nodes.push(compileNode);\n        this.view.createMethod.addStmt(createRenderNode);\n        this._addRootNodeAndProject(compileNode);\n        return renderNode;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} parent\n     * @return {?}\n     */\n    ViewBuilderVisitor.prototype.visitNgContent = function (ast, parent) {\n        // the projected nodes originate from a different view, so we don't\n        // have debug information for them...\n        this.view.createMethod.resetDebugInfo(null, ast);\n        var /** @type {?} */ parentRenderNode = this._getParentRenderNode(parent);\n        if (parentRenderNode !== o.NULL_EXPR) {\n            this.view.createMethod.addStmt(o.THIS_EXPR.callMethod('projectNodes', [parentRenderNode, o.literal(ast.index)])\n                .toStmt());\n        }\n        else if (this._isRootNode(parent)) {\n            if (this.view.viewType !== ViewType.COMPONENT) {\n                // store root nodes only for embedded/host views\n                this.view.rootNodes.push(new CompileViewRootNode(CompileViewRootNodeType.NgContent, null, ast.index));\n            }\n        }\n        else {\n            if (isPresent(parent.component) && isPresent(ast.ngContentIndex)) {\n                parent.addContentNode(ast.ngContentIndex, new CompileViewRootNode(CompileViewRootNodeType.NgContent, null, ast.index));\n            }\n        }\n        return null;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} parent\n     * @return {?}\n     */\n    ViewBuilderVisitor.prototype.visitElement = function (ast, parent) {\n        var /** @type {?} */ nodeIndex = this.view.nodes.length;\n        var /** @type {?} */ createRenderNodeExpr;\n        var /** @type {?} */ debugContextExpr = this.view.createMethod.resetDebugInfoExpr(nodeIndex, ast);\n        var /** @type {?} */ directives = ast.directives.map(function (directiveAst) { return directiveAst.directive; });\n        var /** @type {?} */ component = directives.find(function (directive) { return directive.isComponent; });\n        if (ast.name === NG_CONTAINER_TAG) {\n            createRenderNodeExpr = ViewProperties.renderer.callMethod('createTemplateAnchor', [this._getParentRenderNode(parent), debugContextExpr]);\n        }\n        else {\n            var /** @type {?} */ htmlAttrs = _readHtmlAttrs(ast.attrs);\n            var /** @type {?} */ attrNameAndValues = createInlineArray(_mergeHtmlAndDirectiveAttrs(htmlAttrs, directives).map(function (v) { return o.literal(v); }));\n            if (nodeIndex === 0 && this.view.viewType === ViewType.HOST) {\n                createRenderNodeExpr =\n                    o.importExpr(createIdentifier(Identifiers.selectOrCreateRenderHostElement)).callFn([\n                        ViewProperties.renderer, o.literal(ast.name), attrNameAndValues, rootSelectorVar,\n                        debugContextExpr\n                    ]);\n            }\n            else {\n                createRenderNodeExpr =\n                    o.importExpr(createIdentifier(Identifiers.createRenderElement)).callFn([\n                        ViewProperties.renderer, this._getParentRenderNode(parent), o.literal(ast.name),\n                        attrNameAndValues, debugContextExpr\n                    ]);\n            }\n        }\n        var /** @type {?} */ fieldName = \"_el_\" + nodeIndex;\n        this.view.fields.push(new o.ClassField(fieldName, o.importType(this.view.genConfig.renderTypes.renderElement)));\n        this.view.createMethod.addStmt(o.THIS_EXPR.prop(fieldName).set(createRenderNodeExpr).toStmt());\n        var /** @type {?} */ renderNode = o.THIS_EXPR.prop(fieldName);\n        var /** @type {?} */ compileElement = new CompileElement(parent, this.view, nodeIndex, renderNode, ast, component, directives, ast.providers, ast.hasViewContainer, false, ast.references);\n        this.view.nodes.push(compileElement);\n        var /** @type {?} */ compViewExpr = null;\n        if (isPresent(component)) {\n            var /** @type {?} */ nestedComponentIdentifier = { reference: null };\n            this.targetDependencies.push(new ViewClassDependency(component.type, getViewClassName(component, 0), nestedComponentIdentifier));\n            compViewExpr = o.THIS_EXPR.prop(\"compView_\" + nodeIndex); // fix highlighting: `\n            this.view.fields.push(new o.ClassField(compViewExpr.name, o.importType(createIdentifier(Identifiers.AppView), [o.importType(component.type)])));\n            this.view.viewChildren.push(compViewExpr);\n            compileElement.setComponentView(compViewExpr);\n            this.view.createMethod.addStmt(compViewExpr\n                .set(o.importExpr(nestedComponentIdentifier).instantiate([\n                ViewProperties.viewUtils, o.THIS_EXPR, o.literal(nodeIndex), renderNode\n            ]))\n                .toStmt());\n        }\n        compileElement.beforeChildren();\n        this._addRootNodeAndProject(compileElement);\n        templateVisitAll(this, ast.children, compileElement);\n        compileElement.afterChildren(this.view.nodes.length - nodeIndex - 1);\n        if (isPresent(compViewExpr)) {\n            this.view.createMethod.addStmt(compViewExpr.callMethod('create', [compileElement.getComponent()]).toStmt());\n        }\n        return null;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} parent\n     * @return {?}\n     */\n    ViewBuilderVisitor.prototype.visitEmbeddedTemplate = function (ast, parent) {\n        var /** @type {?} */ nodeIndex = this.view.nodes.length;\n        var /** @type {?} */ fieldName = \"_anchor_\" + nodeIndex;\n        this.view.fields.push(new o.ClassField(fieldName, o.importType(this.view.genConfig.renderTypes.renderComment)));\n        this.view.createMethod.addStmt(o.THIS_EXPR.prop(fieldName)\n            .set(ViewProperties.renderer.callMethod('createTemplateAnchor', [\n            this._getParentRenderNode(parent),\n            this.view.createMethod.resetDebugInfoExpr(nodeIndex, ast)\n        ]))\n            .toStmt());\n        var /** @type {?} */ renderNode = o.THIS_EXPR.prop(fieldName);\n        var /** @type {?} */ templateVariableBindings = ast.variables.map(function (varAst) { return [varAst.value.length > 0 ? varAst.value : IMPLICIT_TEMPLATE_VAR, varAst.name]; });\n        var /** @type {?} */ directives = ast.directives.map(function (directiveAst) { return directiveAst.directive; });\n        var /** @type {?} */ compileElement = new CompileElement(parent, this.view, nodeIndex, renderNode, ast, null, directives, ast.providers, ast.hasViewContainer, true, ast.references);\n        this.view.nodes.push(compileElement);\n        this.nestedViewCount++;\n        var /** @type {?} */ embeddedView = new CompileView(this.view.component, this.view.genConfig, this.view.pipeMetas, o.NULL_EXPR, this.view.animations, this.view.viewIndex + this.nestedViewCount, compileElement, templateVariableBindings, this.targetDependencies);\n        this.nestedViewCount += buildView(embeddedView, ast.children, this.targetDependencies);\n        compileElement.beforeChildren();\n        this._addRootNodeAndProject(compileElement);\n        compileElement.afterChildren(0);\n        return null;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} ctx\n     * @return {?}\n     */\n    ViewBuilderVisitor.prototype.visitAttr = function (ast, ctx) { return null; };\n    /**\n     * @param {?} ast\n     * @param {?} ctx\n     * @return {?}\n     */\n    ViewBuilderVisitor.prototype.visitDirective = function (ast, ctx) { return null; };\n    /**\n     * @param {?} ast\n     * @param {?} eventTargetAndNames\n     * @return {?}\n     */\n    ViewBuilderVisitor.prototype.visitEvent = function (ast, eventTargetAndNames) {\n        return null;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} ctx\n     * @return {?}\n     */\n    ViewBuilderVisitor.prototype.visitReference = function (ast, ctx) { return null; };\n    /**\n     * @param {?} ast\n     * @param {?} ctx\n     * @return {?}\n     */\n    ViewBuilderVisitor.prototype.visitVariable = function (ast, ctx) { return null; };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    ViewBuilderVisitor.prototype.visitDirectiveProperty = function (ast, context) { return null; };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    ViewBuilderVisitor.prototype.visitElementProperty = function (ast, context) { return null; };\n    return ViewBuilderVisitor;\n}());\nfunction ViewBuilderVisitor_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ViewBuilderVisitor.prototype.nestedViewCount;\n    /** @type {?} */\n    ViewBuilderVisitor.prototype.view;\n    /** @type {?} */\n    ViewBuilderVisitor.prototype.targetDependencies;\n}\n/**\n * Walks up the nodes while the direct parent is a container.\n *\n * Returns the outer container or the node itself when it is not a direct child of a container.\n *\n * \\@internal\n * @param {?} node\n * @return {?}\n */\nfunction _getOuterContainerOrSelf(node) {\n    var /** @type {?} */ view = node.view;\n    while (_isNgContainer(node.parent, view)) {\n        node = node.parent;\n    }\n    return node;\n}\n/**\n * Walks up the nodes while they are container and returns the first parent which is not.\n *\n * Returns the parent of the outer container or the node itself when it is not a container.\n *\n * \\@internal\n * @param {?} el\n * @return {?}\n */\nfunction _getOuterContainerParentOrSelf(el) {\n    var /** @type {?} */ view = el.view;\n    while (_isNgContainer(el, view)) {\n        el = el.parent;\n    }\n    return el;\n}\n/**\n * @param {?} node\n * @param {?} view\n * @return {?}\n */\nfunction _isNgContainer(node, view) {\n    return !node.isNull() && ((node.sourceAst)).name === NG_CONTAINER_TAG &&\n        node.view === view;\n}\n/**\n * @param {?} declaredHtmlAttrs\n * @param {?} directives\n * @return {?}\n */\nfunction _mergeHtmlAndDirectiveAttrs(declaredHtmlAttrs, directives) {\n    var /** @type {?} */ mapResult = {};\n    Object.keys(declaredHtmlAttrs).forEach(function (key) { mapResult[key] = declaredHtmlAttrs[key]; });\n    directives.forEach(function (directiveMeta) {\n        Object.keys(directiveMeta.hostAttributes).forEach(function (name) {\n            var /** @type {?} */ value = directiveMeta.hostAttributes[name];\n            var /** @type {?} */ prevValue = mapResult[name];\n            mapResult[name] = isPresent(prevValue) ? mergeAttributeValue(name, prevValue, value) : value;\n        });\n    });\n    var /** @type {?} */ arrResult = [];\n    // Note: We need to sort to get a defined output order\n    // for tests and for caching generated artifacts...\n    Object.keys(mapResult).sort().forEach(function (attrName) { arrResult.push(attrName, mapResult[attrName]); });\n    return arrResult;\n}\n/**\n * @param {?} attrs\n * @return {?}\n */\nfunction _readHtmlAttrs(attrs) {\n    var /** @type {?} */ htmlAttrs = {};\n    attrs.forEach(function (ast) { htmlAttrs[ast.name] = ast.value; });\n    return htmlAttrs;\n}\n/**\n * @param {?} attrName\n * @param {?} attrValue1\n * @param {?} attrValue2\n * @return {?}\n */\nfunction mergeAttributeValue(attrName, attrValue1, attrValue2) {\n    if (attrName == CLASS_ATTR || attrName == STYLE_ATTR) {\n        return attrValue1 + \" \" + attrValue2;\n    }\n    else {\n        return attrValue2;\n    }\n}\n/**\n * @param {?} view\n * @param {?} targetStatements\n * @return {?}\n */\nfunction createViewTopLevelStmts(view, targetStatements) {\n    var /** @type {?} */ nodeDebugInfosVar = o.NULL_EXPR;\n    if (view.genConfig.genDebugInfo) {\n        nodeDebugInfosVar = o.variable(\"nodeDebugInfos_\" + identifierName(view.component.type) + view.viewIndex); // fix\n        // highlighting:\n        // `\n        targetStatements.push(((nodeDebugInfosVar))\n            .set(o.literalArr(view.nodes.map(createStaticNodeDebugInfo), new o.ArrayType(o.importType(createIdentifier(Identifiers.StaticNodeDebugInfo)), [o.TypeModifier.Const])))\n            .toDeclStmt(null, [o.StmtModifier.Final]));\n    }\n    var /** @type {?} */ renderCompTypeVar = o.variable(\"renderType_\" + identifierName(view.component.type)); // fix highlighting: `\n    if (view.viewIndex === 0) {\n        var /** @type {?} */ templateUrlInfo = void 0;\n        if (view.component.template.templateUrl == identifierModuleUrl(view.component.type)) {\n            templateUrlInfo =\n                identifierModuleUrl(view.component.type) + \" class \" + identifierName(view.component.type) + \" - inline template\";\n        }\n        else {\n            templateUrlInfo = view.component.template.templateUrl;\n        }\n        targetStatements.push(renderCompTypeVar\n            .set(o.importExpr(createIdentifier(Identifiers.createRenderComponentType)).callFn([\n            view.genConfig.genDebugInfo ? o.literal(templateUrlInfo) : o.literal(''),\n            o.literal(view.component.template.ngContentSelectors.length),\n            ViewEncapsulationEnum.fromValue(view.component.template.encapsulation),\n            view.styles,\n            o.literalMap(view.animations.map(function (entry) { return [entry.name, entry.fnExp]; }), null, true),\n        ]))\n            .toDeclStmt(o.importType(createIdentifier(Identifiers.RenderComponentType))));\n    }\n    var /** @type {?} */ viewClass = createViewClass(view, renderCompTypeVar, nodeDebugInfosVar);\n    targetStatements.push(viewClass);\n}\n/**\n * @param {?} node\n * @return {?}\n */\nfunction createStaticNodeDebugInfo(node) {\n    var /** @type {?} */ compileElement = node instanceof CompileElement ? node : null;\n    var /** @type {?} */ providerTokens = [];\n    var /** @type {?} */ componentToken = o.NULL_EXPR;\n    var /** @type {?} */ varTokenEntries = [];\n    if (isPresent(compileElement)) {\n        providerTokens =\n            compileElement.getProviderTokens().map(function (token) { return createDiTokenExpression(token); });\n        if (isPresent(compileElement.component)) {\n            componentToken = createDiTokenExpression(identifierToken(compileElement.component.type));\n        }\n        Object.keys(compileElement.referenceTokens).forEach(function (varName) {\n            var /** @type {?} */ token = compileElement.referenceTokens[varName];\n            varTokenEntries.push([varName, isPresent(token) ? createDiTokenExpression(token) : o.NULL_EXPR]);\n        });\n    }\n    return o.importExpr(createIdentifier(Identifiers.StaticNodeDebugInfo))\n        .instantiate([\n        o.literalArr(providerTokens, new o.ArrayType(o.DYNAMIC_TYPE, [o.TypeModifier.Const])),\n        componentToken,\n        o.literalMap(varTokenEntries, new o.MapType(o.DYNAMIC_TYPE, [o.TypeModifier.Const]))\n    ], o.importType(createIdentifier(Identifiers.StaticNodeDebugInfo), null, [o.TypeModifier.Const]));\n}\n/**\n * @param {?} view\n * @param {?} renderCompTypeVar\n * @param {?} nodeDebugInfosVar\n * @return {?}\n */\nfunction createViewClass(view, renderCompTypeVar, nodeDebugInfosVar) {\n    var /** @type {?} */ viewConstructorArgs = [\n        new o.FnParam(ViewConstructorVars.viewUtils.name, o.importType(createIdentifier(Identifiers.ViewUtils))),\n        new o.FnParam(ViewConstructorVars.parentView.name, o.importType(createIdentifier(Identifiers.AppView), [o.DYNAMIC_TYPE])),\n        new o.FnParam(ViewConstructorVars.parentIndex.name, o.NUMBER_TYPE),\n        new o.FnParam(ViewConstructorVars.parentElement.name, o.DYNAMIC_TYPE)\n    ];\n    var /** @type {?} */ superConstructorArgs = [\n        o.variable(view.className), renderCompTypeVar, ViewTypeEnum.fromValue(view.viewType),\n        ViewConstructorVars.viewUtils, ViewConstructorVars.parentView, ViewConstructorVars.parentIndex,\n        ViewConstructorVars.parentElement,\n        ChangeDetectorStatusEnum.fromValue(getChangeDetectionMode(view))\n    ];\n    if (view.genConfig.genDebugInfo) {\n        superConstructorArgs.push(nodeDebugInfosVar);\n    }\n    if (view.viewType === ViewType.EMBEDDED) {\n        viewConstructorArgs.push(new o.FnParam('declaredViewContainer', o.importType(createIdentifier(Identifiers.ViewContainer))));\n        superConstructorArgs.push(o.variable('declaredViewContainer'));\n    }\n    var /** @type {?} */ viewMethods = [\n        new o.ClassMethod('createInternal', [new o.FnParam(rootSelectorVar.name, o.STRING_TYPE)], generateCreateMethod(view), o.importType(createIdentifier(Identifiers.ComponentRef), [o.DYNAMIC_TYPE])),\n        new o.ClassMethod('injectorGetInternal', [\n            new o.FnParam(InjectMethodVars.token.name, o.DYNAMIC_TYPE),\n            // Note: Can't use o.INT_TYPE here as the method in AppView uses number\n            new o.FnParam(InjectMethodVars.requestNodeIndex.name, o.NUMBER_TYPE),\n            new o.FnParam(InjectMethodVars.notFoundResult.name, o.DYNAMIC_TYPE)\n        ], addReturnValuefNotEmpty(view.injectorGetMethod.finish(), InjectMethodVars.notFoundResult), o.DYNAMIC_TYPE),\n        new o.ClassMethod('detectChangesInternal', [new o.FnParam(DetectChangesVars.throwOnChange.name, o.BOOL_TYPE)], generateDetectChangesMethod(view)),\n        new o.ClassMethod('dirtyParentQueriesInternal', [], view.dirtyParentQueriesMethod.finish()),\n        new o.ClassMethod('destroyInternal', [], generateDestroyMethod(view)),\n        new o.ClassMethod('detachInternal', [], view.detachMethod.finish()),\n        generateVisitRootNodesMethod(view), generateVisitProjectableNodesMethod(view),\n        generateCreateEmbeddedViewsMethod(view)\n    ].filter(function (method) { return method.body.length > 0; });\n    var /** @type {?} */ superClass = view.genConfig.genDebugInfo ? Identifiers.DebugAppView : Identifiers.AppView;\n    var /** @type {?} */ viewClass = createClassStmt({\n        name: view.className,\n        parent: o.importExpr(createIdentifier(superClass), [getContextType(view)]),\n        parentArgs: superConstructorArgs,\n        ctorParams: viewConstructorArgs,\n        builders: [{ methods: viewMethods }, view]\n    });\n    return viewClass;\n}\n/**\n * @param {?} view\n * @return {?}\n */\nfunction generateDestroyMethod(view) {\n    var /** @type {?} */ stmts = [];\n    view.viewContainers.forEach(function (viewContainer) {\n        stmts.push(viewContainer.callMethod('destroyNestedViews', []).toStmt());\n    });\n    view.viewChildren.forEach(function (viewChild) { stmts.push(viewChild.callMethod('destroy', []).toStmt()); });\n    stmts.push.apply(stmts, view.destroyMethod.finish());\n    return stmts;\n}\n/**\n * @param {?} view\n * @return {?}\n */\nfunction generateCreateMethod(view) {\n    var /** @type {?} */ parentRenderNodeExpr = o.NULL_EXPR;\n    var /** @type {?} */ parentRenderNodeStmts = [];\n    if (view.viewType === ViewType.COMPONENT) {\n        parentRenderNodeExpr =\n            ViewProperties.renderer.callMethod('createViewRoot', [o.THIS_EXPR.prop('parentElement')]);\n        parentRenderNodeStmts =\n            [parentRenderNodeVar.set(parentRenderNodeExpr)\n                    .toDeclStmt(o.importType(view.genConfig.renderTypes.renderNode), [o.StmtModifier.Final])];\n    }\n    var /** @type {?} */ resultExpr;\n    if (view.viewType === ViewType.HOST) {\n        var /** @type {?} */ hostEl = (view.nodes[0]);\n        resultExpr =\n            o.importExpr(createIdentifier(Identifiers.ComponentRef_), [o.DYNAMIC_TYPE]).instantiate([\n                o.literal(hostEl.nodeIndex), o.THIS_EXPR, hostEl.renderNode, hostEl.getComponent()\n            ]);\n    }\n    else {\n        resultExpr = o.NULL_EXPR;\n    }\n    var /** @type {?} */ allNodesExpr = ViewProperties.renderer.cast(o.DYNAMIC_TYPE)\n        .prop('directRenderer')\n        .conditional(o.NULL_EXPR, o.literalArr(view.nodes.map(function (node) { return node.renderNode; })));\n    return parentRenderNodeStmts.concat(view.createMethod.finish(), [\n        o.THIS_EXPR\n            .callMethod('init', [\n            view.lastRenderNode,\n            allNodesExpr,\n            view.disposables.length ? o.literalArr(view.disposables) : o.NULL_EXPR,\n        ])\n            .toStmt(),\n        new o.ReturnStatement(resultExpr)\n    ]);\n}\n/**\n * @param {?} view\n * @return {?}\n */\nfunction generateDetectChangesMethod(view) {\n    var /** @type {?} */ stmts = [];\n    if (view.animationBindingsMethod.isEmpty() && view.detectChangesInInputsMethod.isEmpty() &&\n        view.updateContentQueriesMethod.isEmpty() &&\n        view.afterContentLifecycleCallbacksMethod.isEmpty() &&\n        view.detectChangesRenderPropertiesMethod.isEmpty() &&\n        view.updateViewQueriesMethod.isEmpty() && view.afterViewLifecycleCallbacksMethod.isEmpty() &&\n        view.viewContainers.length === 0 && view.viewChildren.length === 0) {\n        return stmts;\n    }\n    stmts.push.apply(stmts, view.animationBindingsMethod.finish());\n    stmts.push.apply(stmts, view.detectChangesInInputsMethod.finish());\n    view.viewContainers.forEach(function (viewContainer) {\n        stmts.push(viewContainer.callMethod('detectChangesInNestedViews', [DetectChangesVars.throwOnChange])\n            .toStmt());\n    });\n    var /** @type {?} */ afterContentStmts = view.updateContentQueriesMethod.finish().concat(view.afterContentLifecycleCallbacksMethod.finish());\n    if (afterContentStmts.length > 0) {\n        stmts.push(new o.IfStmt(o.not(DetectChangesVars.throwOnChange), afterContentStmts));\n    }\n    stmts.push.apply(stmts, view.detectChangesRenderPropertiesMethod.finish());\n    view.viewChildren.forEach(function (viewChild) {\n        stmts.push(viewChild.callMethod('internalDetectChanges', [DetectChangesVars.throwOnChange]).toStmt());\n    });\n    var /** @type {?} */ afterViewStmts = view.updateViewQueriesMethod.finish().concat(view.afterViewLifecycleCallbacksMethod.finish());\n    if (afterViewStmts.length > 0) {\n        stmts.push(new o.IfStmt(o.not(DetectChangesVars.throwOnChange), afterViewStmts));\n    }\n    var /** @type {?} */ varStmts = [];\n    var /** @type {?} */ readVars = o.findReadVarNames(stmts);\n    if (readVars.has(DetectChangesVars.changed.name)) {\n        varStmts.push(DetectChangesVars.changed.set(o.literal(true)).toDeclStmt(o.BOOL_TYPE));\n    }\n    if (readVars.has(DetectChangesVars.changes.name)) {\n        varStmts.push(DetectChangesVars.changes.set(o.NULL_EXPR)\n            .toDeclStmt(new o.MapType(o.importType(createIdentifier(Identifiers.SimpleChange)))));\n    }\n    varStmts.push.apply(varStmts, createSharedBindingVariablesIfNeeded(stmts));\n    return varStmts.concat(stmts);\n}\n/**\n * @param {?} statements\n * @param {?} value\n * @return {?}\n */\nfunction addReturnValuefNotEmpty(statements, value) {\n    if (statements.length > 0) {\n        return statements.concat([new o.ReturnStatement(value)]);\n    }\n    else {\n        return statements;\n    }\n}\n/**\n * @param {?} view\n * @return {?}\n */\nfunction getContextType(view) {\n    if (view.viewType === ViewType.COMPONENT) {\n        return o.importType(view.component.type);\n    }\n    return o.DYNAMIC_TYPE;\n}\n/**\n * @param {?} view\n * @return {?}\n */\nfunction getChangeDetectionMode(view) {\n    var /** @type {?} */ mode;\n    if (view.viewType === ViewType.COMPONENT) {\n        mode = isDefaultChangeDetectionStrategy(view.component.changeDetection) ?\n            ChangeDetectorStatus.CheckAlways :\n            ChangeDetectorStatus.CheckOnce;\n    }\n    else {\n        mode = ChangeDetectorStatus.CheckAlways;\n    }\n    return mode;\n}\n/**\n * @param {?} view\n * @return {?}\n */\nfunction generateVisitRootNodesMethod(view) {\n    var /** @type {?} */ cbVar = o.variable('cb');\n    var /** @type {?} */ ctxVar = o.variable('ctx');\n    var /** @type {?} */ stmts = generateVisitNodesStmts(view.rootNodes, cbVar, ctxVar);\n    return new o.ClassMethod('visitRootNodesInternal', [new o.FnParam(cbVar.name, o.DYNAMIC_TYPE), new o.FnParam(ctxVar.name, o.DYNAMIC_TYPE)], stmts);\n}\n/**\n * @param {?} view\n * @return {?}\n */\nfunction generateVisitProjectableNodesMethod(view) {\n    var /** @type {?} */ nodeIndexVar = o.variable('nodeIndex');\n    var /** @type {?} */ ngContentIndexVar = o.variable('ngContentIndex');\n    var /** @type {?} */ cbVar = o.variable('cb');\n    var /** @type {?} */ ctxVar = o.variable('ctx');\n    var /** @type {?} */ stmts = [];\n    view.nodes.forEach(function (node) {\n        if (node instanceof CompileElement && node.component) {\n            node.contentNodesByNgContentIndex.forEach(function (projectedNodes, ngContentIndex) {\n                stmts.push(new o.IfStmt(nodeIndexVar.equals(o.literal(node.nodeIndex))\n                    .and(ngContentIndexVar.equals(o.literal(ngContentIndex))), generateVisitNodesStmts(projectedNodes, cbVar, ctxVar)));\n            });\n        }\n    });\n    return new o.ClassMethod('visitProjectableNodesInternal', [\n        new o.FnParam(nodeIndexVar.name, o.NUMBER_TYPE),\n        new o.FnParam(ngContentIndexVar.name, o.NUMBER_TYPE),\n        new o.FnParam(cbVar.name, o.DYNAMIC_TYPE), new o.FnParam(ctxVar.name, o.DYNAMIC_TYPE)\n    ], stmts);\n}\n/**\n * @param {?} nodes\n * @param {?} cb\n * @param {?} ctx\n * @return {?}\n */\nfunction generateVisitNodesStmts(nodes, cb, ctx) {\n    var /** @type {?} */ stmts = [];\n    nodes.forEach(function (node) {\n        switch (node.type) {\n            case CompileViewRootNodeType.Node:\n                stmts.push(cb.callFn([node.expr, ctx]).toStmt());\n                break;\n            case CompileViewRootNodeType.ViewContainer:\n                stmts.push(cb.callFn([node.expr.prop('nativeElement'), ctx]).toStmt());\n                stmts.push(node.expr.callMethod('visitNestedViewRootNodes', [cb, ctx]).toStmt());\n                break;\n            case CompileViewRootNodeType.NgContent:\n                stmts.push(o.THIS_EXPR.callMethod('visitProjectedNodes', [o.literal(node.ngContentIndex), cb, ctx])\n                    .toStmt());\n                break;\n        }\n    });\n    return stmts;\n}\n/**\n * @param {?} view\n * @return {?}\n */\nfunction generateCreateEmbeddedViewsMethod(view) {\n    var /** @type {?} */ nodeIndexVar = o.variable('nodeIndex');\n    var /** @type {?} */ stmts = [];\n    view.nodes.forEach(function (node) {\n        if (node instanceof CompileElement) {\n            if (node.embeddedView) {\n                stmts.push(new o.IfStmt(nodeIndexVar.equals(o.literal(node.nodeIndex)), [new o.ReturnStatement(node.embeddedView.classExpr.instantiate([\n                        ViewProperties.viewUtils, o.THIS_EXPR, o.literal(node.nodeIndex), node.renderNode,\n                        node.viewContainer\n                    ]))]));\n            }\n        }\n    });\n    if (stmts.length > 0) {\n        stmts.push(new o.ReturnStatement(o.NULL_EXPR));\n    }\n    return new o.ClassMethod('createEmbeddedViewInternal', [new o.FnParam(nodeIndexVar.name, o.NUMBER_TYPE)], stmts, o.importType(createIdentifier(Identifiers.AppView), [o.DYNAMIC_TYPE]));\n}\n//# sourceMappingURL=view_builder.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/compiler/src/view_compiler/view_builder.js\n// module id = 870\n// module chunks = 0","/**\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 */\nimport { StringMapWrapper } from '../facade/collection';\nimport { isPresent } from '../facade/lang';\nimport { FILL_STYLE_FLAG } from './animation_constants';\nimport { AUTO_STYLE } from './metadata';\n/**\n * @param {?} previousStyles\n * @param {?} newStyles\n * @param {?=} nullValue\n * @return {?}\n */\nexport function prepareFinalAnimationStyles(previousStyles, newStyles, nullValue) {\n    if (nullValue === void 0) { nullValue = null; }\n    var /** @type {?} */ finalStyles = {};\n    Object.keys(newStyles).forEach(function (prop) {\n        var /** @type {?} */ value = newStyles[prop];\n        finalStyles[prop] = value == AUTO_STYLE ? nullValue : value.toString();\n    });\n    Object.keys(previousStyles).forEach(function (prop) {\n        if (!isPresent(finalStyles[prop])) {\n            finalStyles[prop] = nullValue;\n        }\n    });\n    return finalStyles;\n}\n/**\n * @param {?} collectedStyles\n * @param {?} finalStateStyles\n * @param {?} keyframes\n * @return {?}\n */\nexport function balanceAnimationKeyframes(collectedStyles, finalStateStyles, keyframes) {\n    var /** @type {?} */ limit = keyframes.length - 1;\n    var /** @type {?} */ firstKeyframe = keyframes[0];\n    // phase 1: copy all the styles from the first keyframe into the lookup map\n    var /** @type {?} */ flatenedFirstKeyframeStyles = flattenStyles(firstKeyframe.styles.styles);\n    var /** @type {?} */ extraFirstKeyframeStyles = {};\n    var /** @type {?} */ hasExtraFirstStyles = false;\n    Object.keys(collectedStyles).forEach(function (prop) {\n        var /** @type {?} */ value = (collectedStyles[prop]);\n        // if the style is already defined in the first keyframe then\n        // we do not replace it.\n        if (!flatenedFirstKeyframeStyles[prop]) {\n            flatenedFirstKeyframeStyles[prop] = value;\n            extraFirstKeyframeStyles[prop] = value;\n            hasExtraFirstStyles = true;\n        }\n    });\n    var /** @type {?} */ keyframeCollectedStyles = StringMapWrapper.merge({}, flatenedFirstKeyframeStyles);\n    // phase 2: normalize the final keyframe\n    var /** @type {?} */ finalKeyframe = keyframes[limit];\n    finalKeyframe.styles.styles.unshift(finalStateStyles);\n    var /** @type {?} */ flatenedFinalKeyframeStyles = flattenStyles(finalKeyframe.styles.styles);\n    var /** @type {?} */ extraFinalKeyframeStyles = {};\n    var /** @type {?} */ hasExtraFinalStyles = false;\n    Object.keys(keyframeCollectedStyles).forEach(function (prop) {\n        if (!isPresent(flatenedFinalKeyframeStyles[prop])) {\n            extraFinalKeyframeStyles[prop] = AUTO_STYLE;\n            hasExtraFinalStyles = true;\n        }\n    });\n    if (hasExtraFinalStyles) {\n        finalKeyframe.styles.styles.push(extraFinalKeyframeStyles);\n    }\n    Object.keys(flatenedFinalKeyframeStyles).forEach(function (prop) {\n        if (!isPresent(flatenedFirstKeyframeStyles[prop])) {\n            extraFirstKeyframeStyles[prop] = AUTO_STYLE;\n            hasExtraFirstStyles = true;\n        }\n    });\n    if (hasExtraFirstStyles) {\n        firstKeyframe.styles.styles.push(extraFirstKeyframeStyles);\n    }\n    collectAndResolveStyles(collectedStyles, [finalStateStyles]);\n    return keyframes;\n}\n/**\n * @param {?} styles\n * @return {?}\n */\nexport function clearStyles(styles) {\n    var /** @type {?} */ finalStyles = {};\n    Object.keys(styles).forEach(function (key) { finalStyles[key] = null; });\n    return finalStyles;\n}\n/**\n * @param {?} collection\n * @param {?} styles\n * @return {?}\n */\nexport function collectAndResolveStyles(collection, styles) {\n    return styles.map(function (entry) {\n        var /** @type {?} */ stylesObj = {};\n        Object.keys(entry).forEach(function (prop) {\n            var /** @type {?} */ value = entry[prop];\n            if (value == FILL_STYLE_FLAG) {\n                value = collection[prop];\n                if (!isPresent(value)) {\n                    value = AUTO_STYLE;\n                }\n            }\n            collection[prop] = value;\n            stylesObj[prop] = value;\n        });\n        return stylesObj;\n    });\n}\n/**\n * @param {?} element\n * @param {?} renderer\n * @param {?} styles\n * @return {?}\n */\nexport function renderStyles(element, renderer, styles) {\n    Object.keys(styles).forEach(function (prop) { renderer.setElementStyle(element, prop, styles[prop]); });\n}\n/**\n * @param {?} styles\n * @return {?}\n */\nexport function flattenStyles(styles) {\n    var /** @type {?} */ finalStyles = {};\n    styles.forEach(function (entry) {\n        Object.keys(entry).forEach(function (prop) { finalStyles[prop] = (entry[prop]); });\n    });\n    return finalStyles;\n}\n//# sourceMappingURL=animation_style_util.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/animation/animation_style_util.js\n// module id = 871\n// module chunks = 0","import { AnimationTransitionEvent } from './animation_transition_event';\nexport var AnimationTransition = (function () {\n    /**\n     * @param {?} _player\n     * @param {?} _fromState\n     * @param {?} _toState\n     * @param {?} _totalTime\n     */\n    function AnimationTransition(_player, _fromState, _toState, _totalTime) {\n        this._player = _player;\n        this._fromState = _fromState;\n        this._toState = _toState;\n        this._totalTime = _totalTime;\n    }\n    /**\n     * @param {?} phaseName\n     * @return {?}\n     */\n    AnimationTransition.prototype._createEvent = function (phaseName) {\n        return new AnimationTransitionEvent({\n            fromState: this._fromState,\n            toState: this._toState,\n            totalTime: this._totalTime,\n            phaseName: phaseName\n        });\n    };\n    /**\n     * @param {?} callback\n     * @return {?}\n     */\n    AnimationTransition.prototype.onStart = function (callback) {\n        var _this = this;\n        var /** @type {?} */ fn = (Zone.current.wrap(function () { return callback(_this._createEvent('start')); }, 'player.onStart'));\n        this._player.onStart(fn);\n    };\n    /**\n     * @param {?} callback\n     * @return {?}\n     */\n    AnimationTransition.prototype.onDone = function (callback) {\n        var _this = this;\n        var /** @type {?} */ fn = (Zone.current.wrap(function () { return callback(_this._createEvent('done')); }, 'player.onDone'));\n        this._player.onDone(fn);\n    };\n    return AnimationTransition;\n}());\nfunction AnimationTransition_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationTransition.prototype._player;\n    /** @type {?} */\n    AnimationTransition.prototype._fromState;\n    /** @type {?} */\n    AnimationTransition.prototype._toState;\n    /** @type {?} */\n    AnimationTransition.prototype._totalTime;\n}\n//# sourceMappingURL=animation_transition.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/animation/animation_transition.js\n// module id = 872\n// module chunks = 0","/**\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 */\nimport { isPresent } from '../facade/lang';\nexport var ViewAnimationMap = (function () {\n    function ViewAnimationMap() {\n        this._map = new Map();\n        this._allPlayers = [];\n    }\n    /**\n     * @param {?} element\n     * @param {?} animationName\n     * @return {?}\n     */\n    ViewAnimationMap.prototype.find = function (element, animationName) {\n        var /** @type {?} */ playersByAnimation = this._map.get(element);\n        if (isPresent(playersByAnimation)) {\n            return playersByAnimation[animationName];\n        }\n    };\n    /**\n     * @param {?} element\n     * @return {?}\n     */\n    ViewAnimationMap.prototype.findAllPlayersByElement = function (element) {\n        var /** @type {?} */ el = this._map.get(element);\n        return el ? Object.keys(el).map(function (k) { return el[k]; }) : [];\n    };\n    /**\n     * @param {?} element\n     * @param {?} animationName\n     * @param {?} player\n     * @return {?}\n     */\n    ViewAnimationMap.prototype.set = function (element, animationName, player) {\n        var /** @type {?} */ playersByAnimation = this._map.get(element);\n        if (!isPresent(playersByAnimation)) {\n            playersByAnimation = {};\n        }\n        var /** @type {?} */ existingEntry = playersByAnimation[animationName];\n        if (isPresent(existingEntry)) {\n            this.remove(element, animationName);\n        }\n        playersByAnimation[animationName] = player;\n        this._allPlayers.push(player);\n        this._map.set(element, playersByAnimation);\n    };\n    /**\n     * @return {?}\n     */\n    ViewAnimationMap.prototype.getAllPlayers = function () { return this._allPlayers; };\n    /**\n     * @param {?} element\n     * @param {?} animationName\n     * @param {?=} targetPlayer\n     * @return {?}\n     */\n    ViewAnimationMap.prototype.remove = function (element, animationName, targetPlayer) {\n        if (targetPlayer === void 0) { targetPlayer = null; }\n        var /** @type {?} */ playersByAnimation = this._map.get(element);\n        if (playersByAnimation) {\n            var /** @type {?} */ player = playersByAnimation[animationName];\n            if (!targetPlayer || player === targetPlayer) {\n                delete playersByAnimation[animationName];\n                var /** @type {?} */ index = this._allPlayers.indexOf(player);\n                this._allPlayers.splice(index, 1);\n                if (Object.keys(playersByAnimation).length === 0) {\n                    this._map.delete(element);\n                }\n            }\n        }\n    };\n    return ViewAnimationMap;\n}());\nfunction ViewAnimationMap_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ViewAnimationMap.prototype._map;\n    /** @type {?} */\n    ViewAnimationMap.prototype._allPlayers;\n}\n//# sourceMappingURL=view_animation_map.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/animation/view_animation_map.js\n// module id = 873\n// module chunks = 0","/**\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 */\nimport { AnimationQueue } from './animation/animation_queue';\nimport { ApplicationInitStatus } from './application_init';\nimport { ApplicationRef, ApplicationRef_ } from './application_ref';\nimport { APP_ID_RANDOM_PROVIDER } from './application_tokens';\nimport { IterableDiffers, KeyValueDiffers, defaultIterableDiffers, defaultKeyValueDiffers } from './change_detection/change_detection';\nimport { Inject, Optional, SkipSelf } from './di/metadata';\nimport { LOCALE_ID } from './i18n/tokens';\nimport { Compiler } from './linker/compiler';\nimport { ViewUtils } from './linker/view_utils';\nimport { NgModule } from './metadata';\n/**\n * @return {?}\n */\nexport function _iterableDiffersFactory() {\n    return defaultIterableDiffers;\n}\n/**\n * @return {?}\n */\nexport function _keyValueDiffersFactory() {\n    return defaultKeyValueDiffers;\n}\n/**\n * @param {?=} locale\n * @return {?}\n */\nexport function _localeFactory(locale) {\n    return locale || 'en-US';\n}\n/**\n * This module includes the providers of \\@angular/core that are needed\n * to bootstrap components via `ApplicationRef`.\n *\n * \\@experimental\n */\nexport var ApplicationModule = (function () {\n    function ApplicationModule() {\n    }\n    ApplicationModule.decorators = [\n        { type: NgModule, args: [{\n                    providers: [\n                        ApplicationRef_,\n                        { provide: ApplicationRef, useExisting: ApplicationRef_ },\n                        ApplicationInitStatus,\n                        Compiler,\n                        APP_ID_RANDOM_PROVIDER,\n                        ViewUtils,\n                        AnimationQueue,\n                        { provide: IterableDiffers, useFactory: _iterableDiffersFactory },\n                        { provide: KeyValueDiffers, useFactory: _keyValueDiffersFactory },\n                        {\n                            provide: LOCALE_ID,\n                            useFactory: _localeFactory,\n                            deps: [[new Inject(LOCALE_ID), new Optional(), new SkipSelf()]]\n                        },\n                    ]\n                },] },\n    ];\n    /** @nocollapse */\n    ApplicationModule.ctorParameters = function () { return []; };\n    return ApplicationModule;\n}());\nfunction ApplicationModule_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ApplicationModule.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    ApplicationModule.ctorParameters;\n}\n//# sourceMappingURL=application_module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/application_module.js\n// module id = 874\n// module chunks = 0","/**\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/**\n * @module\n * @description\n * Change detection enables data binding in Angular.\n */\nexport { ChangeDetectionStrategy, ChangeDetectorRef, CollectionChangeRecord, DefaultIterableDiffer, IterableDiffers, KeyValueChangeRecord, KeyValueDiffers, SimpleChange, WrappedValue } from './change_detection/change_detection';\n//# sourceMappingURL=change_detection.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/change_detection.js\n// module id = 875\n// module chunks = 0","/**\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/**\n * @module\n * @description\n * Entry point from which you should import all public core APIs.\n */\nexport { ANALYZE_FOR_ENTRY_COMPONENTS, Attribute, ContentChild, ContentChildren, Query, ViewChild, ViewChildren, Component, Directive, HostBinding, HostListener, Input, Output, Pipe, AfterContentChecked, AfterContentInit, AfterViewChecked, AfterViewInit, DoCheck, OnChanges, OnDestroy, OnInit, CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule, ViewEncapsulation } from './metadata';\nexport { Version, VERSION } from './version';\nexport { Class } from './util';\nexport { forwardRef, resolveForwardRef, Injector, ReflectiveInjector, ResolvedReflectiveFactory, ReflectiveKey, OpaqueToken, Inject, Optional, Injectable, Self, SkipSelf, Host } from './di';\nexport { createPlatform, assertPlatform, destroyPlatform, getPlatform, PlatformRef, ApplicationRef, enableProdMode, isDevMode, createPlatformFactory, NgProbeToken } from './application_ref';\nexport { APP_ID, PACKAGE_ROOT_URL, PLATFORM_INITIALIZER, APP_BOOTSTRAP_LISTENER } from './application_tokens';\nexport { APP_INITIALIZER, ApplicationInitStatus } from './application_init';\nexport { NgZone } from './zone';\nexport { RenderComponentType, Renderer, RootRenderer } from './render';\nexport { COMPILER_OPTIONS, Compiler, CompilerFactory, ModuleWithComponentFactories, ComponentFactory, ComponentRef, ComponentFactoryResolver, ElementRef, NgModuleFactory, NgModuleRef, NgModuleFactoryLoader, getModuleFactory, QueryList, SystemJsNgModuleLoader, SystemJsNgModuleLoaderConfig, TemplateRef, ViewContainerRef, EmbeddedViewRef, ViewRef } from './linker';\nexport { DebugElement, DebugNode, asNativeElements, getDebugNode } from './debug/debug_node';\nexport { Testability, TestabilityRegistry, setTestabilityGetter } from './testability/testability';\nexport { ChangeDetectionStrategy, ChangeDetectorRef, CollectionChangeRecord, DefaultIterableDiffer, IterableDiffers, KeyValueChangeRecord, KeyValueDiffers, SimpleChange, WrappedValue } from './change_detection';\nexport { platformCore } from './platform_core_providers';\nexport { TRANSLATIONS, TRANSLATIONS_FORMAT, LOCALE_ID } from './i18n/tokens';\nexport { ApplicationModule } from './application_module';\nexport { wtfCreateScope, wtfLeave, wtfStartTimeRange, wtfEndTimeRange } from './profile/profile';\nexport { Type } from './type';\nexport { EventEmitter } from './facade/async';\nexport { ErrorHandler } from './error_handler';\nexport { __core_private__ } from './core_private_export';\nexport { AUTO_STYLE, AnimationEntryMetadata, AnimationStateMetadata, AnimationStateDeclarationMetadata, AnimationStateTransitionMetadata, AnimationMetadata, AnimationKeyframesSequenceMetadata, AnimationStyleMetadata, AnimationAnimateMetadata, AnimationWithStepsMetadata, AnimationSequenceMetadata, AnimationGroupMetadata, animate, group, sequence, style, state, keyframes, transition, trigger } from './animation/metadata';\nexport { AnimationTransitionEvent } from './animation/animation_transition_event';\nexport { AnimationPlayer } from './animation/animation_player';\nexport { AnimationStyles } from './animation/animation_styles';\nexport { AnimationKeyframe } from './animation/animation_keyframe';\nexport { Sanitizer, SecurityContext } from './security';\n//# sourceMappingURL=core.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/core.js\n// module id = 876\n// module chunks = 0","/**\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 */\nimport { ANY_STATE as ANY_STATE_, DEFAULT_STATE as DEFAULT_STATE_, EMPTY_STATE as EMPTY_STATE_, FILL_STYLE_FLAG as FILL_STYLE_FLAG_ } from './animation/animation_constants';\nimport { AnimationGroupPlayer as AnimationGroupPlayer_ } from './animation/animation_group_player';\nimport { AnimationKeyframe as AnimationKeyframe_ } from './animation/animation_keyframe';\nimport { AnimationPlayer as AnimationPlayer_, NoOpAnimationPlayer as NoOpAnimationPlayer_ } from './animation/animation_player';\nimport { AnimationSequencePlayer as AnimationSequencePlayer_ } from './animation/animation_sequence_player';\nimport * as animationUtils from './animation/animation_style_util';\nimport { AnimationStyles as AnimationStyles_ } from './animation/animation_styles';\nimport { AnimationTransition } from './animation/animation_transition';\nimport * as application_tokens from './application_tokens';\nimport * as change_detection_util from './change_detection/change_detection_util';\nimport * as constants from './change_detection/constants';\nimport * as console from './console';\nimport * as debug from './debug/debug_renderer';\nimport * as reflective_provider from './di/reflective_provider';\nimport { ComponentStillLoadingError } from './linker/compiler';\nimport * as component_factory from './linker/component_factory';\nimport * as component_factory_resolver from './linker/component_factory_resolver';\nimport * as debug_context from './linker/debug_context';\nimport * as ng_module_factory from './linker/ng_module_factory';\nimport * as ng_module_factory_loader from './linker/ng_module_factory_loader';\nimport * as template_ref from './linker/template_ref';\nimport * as view from './linker/view';\nimport * as view_container from './linker/view_container';\nimport * as view_type from './linker/view_type';\nimport * as view_utils from './linker/view_utils';\nimport * as lifecycle_hooks from './metadata/lifecycle_hooks';\nimport * as metadata_view from './metadata/view';\nimport * as reflection from './reflection/reflection';\nimport * as reflection_capabilities from './reflection/reflection_capabilities';\nimport * as reflector_reader from './reflection/reflector_reader';\nimport * as api from './render/api';\nimport * as decorators from './util/decorators';\nimport { isObservable, isPromise } from './util/lang';\nexport var /** @type {?} */ __core_private__ = {\n    isDefaultChangeDetectionStrategy: constants.isDefaultChangeDetectionStrategy,\n    ChangeDetectorStatus: constants.ChangeDetectorStatus,\n    constructDependencies: reflective_provider.constructDependencies,\n    LifecycleHooks: lifecycle_hooks.LifecycleHooks,\n    LIFECYCLE_HOOKS_VALUES: lifecycle_hooks.LIFECYCLE_HOOKS_VALUES,\n    ReflectorReader: reflector_reader.ReflectorReader,\n    CodegenComponentFactoryResolver: component_factory_resolver.CodegenComponentFactoryResolver,\n    ComponentRef_: component_factory.ComponentRef_,\n    ViewContainer: view_container.ViewContainer,\n    AppView: view.AppView,\n    DebugAppView: view.DebugAppView,\n    NgModuleInjector: ng_module_factory.NgModuleInjector,\n    registerModuleFactory: ng_module_factory_loader.registerModuleFactory,\n    ViewType: view_type.ViewType,\n    view_utils: view_utils,\n    ViewMetadata: metadata_view.ViewMetadata,\n    DebugContext: debug_context.DebugContext,\n    StaticNodeDebugInfo: debug_context.StaticNodeDebugInfo,\n    devModeEqual: change_detection_util.devModeEqual,\n    UNINITIALIZED: change_detection_util.UNINITIALIZED,\n    ValueUnwrapper: change_detection_util.ValueUnwrapper,\n    RenderDebugInfo: api.RenderDebugInfo,\n    TemplateRef_: template_ref.TemplateRef_,\n    ReflectionCapabilities: reflection_capabilities.ReflectionCapabilities,\n    makeDecorator: decorators.makeDecorator,\n    DebugDomRootRenderer: debug.DebugDomRootRenderer,\n    Console: console.Console,\n    reflector: reflection.reflector,\n    Reflector: reflection.Reflector,\n    NoOpAnimationPlayer: NoOpAnimationPlayer_,\n    AnimationPlayer: AnimationPlayer_,\n    AnimationSequencePlayer: AnimationSequencePlayer_,\n    AnimationGroupPlayer: AnimationGroupPlayer_,\n    AnimationKeyframe: AnimationKeyframe_,\n    prepareFinalAnimationStyles: animationUtils.prepareFinalAnimationStyles,\n    balanceAnimationKeyframes: animationUtils.balanceAnimationKeyframes,\n    flattenStyles: animationUtils.flattenStyles,\n    clearStyles: animationUtils.clearStyles,\n    renderStyles: animationUtils.renderStyles,\n    collectAndResolveStyles: animationUtils.collectAndResolveStyles,\n    APP_ID_RANDOM_PROVIDER: application_tokens.APP_ID_RANDOM_PROVIDER,\n    AnimationStyles: AnimationStyles_,\n    ANY_STATE: ANY_STATE_,\n    DEFAULT_STATE: DEFAULT_STATE_,\n    EMPTY_STATE: EMPTY_STATE_,\n    FILL_STYLE_FLAG: FILL_STYLE_FLAG_,\n    ComponentStillLoadingError: ComponentStillLoadingError,\n    isPromise: isPromise,\n    isObservable: isObservable,\n    AnimationTransition: AnimationTransition\n};\n//# sourceMappingURL=core_private_export.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/core_private_export.js\n// module id = 877\n// module chunks = 0","/**\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 */\nimport { isPresent } from '../facade/lang';\nimport { DebugElement, DebugNode, EventListener, getDebugNode, indexDebugNode, removeDebugNodeFromIndex } from './debug_node';\nexport var DebugDomRootRenderer = (function () {\n    /**\n     * @param {?} _delegate\n     */\n    function DebugDomRootRenderer(_delegate) {\n        this._delegate = _delegate;\n    }\n    /**\n     * @param {?} componentProto\n     * @return {?}\n     */\n    DebugDomRootRenderer.prototype.renderComponent = function (componentProto) {\n        return new DebugDomRenderer(this._delegate.renderComponent(componentProto));\n    };\n    return DebugDomRootRenderer;\n}());\nfunction DebugDomRootRenderer_tsickle_Closure_declarations() {\n    /** @type {?} */\n    DebugDomRootRenderer.prototype._delegate;\n}\nexport var DebugDomRenderer = (function () {\n    /**\n     * @param {?} _delegate\n     */\n    function DebugDomRenderer(_delegate) {\n        this._delegate = _delegate;\n    }\n    /**\n     * @param {?} selectorOrNode\n     * @param {?=} debugInfo\n     * @return {?}\n     */\n    DebugDomRenderer.prototype.selectRootElement = function (selectorOrNode, debugInfo) {\n        var /** @type {?} */ nativeEl = this._delegate.selectRootElement(selectorOrNode, debugInfo);\n        var /** @type {?} */ debugEl = new DebugElement(nativeEl, null, debugInfo);\n        indexDebugNode(debugEl);\n        return nativeEl;\n    };\n    /**\n     * @param {?} parentElement\n     * @param {?} name\n     * @param {?=} debugInfo\n     * @return {?}\n     */\n    DebugDomRenderer.prototype.createElement = function (parentElement, name, debugInfo) {\n        var /** @type {?} */ nativeEl = this._delegate.createElement(parentElement, name, debugInfo);\n        var /** @type {?} */ debugEl = new DebugElement(nativeEl, getDebugNode(parentElement), debugInfo);\n        debugEl.name = name;\n        indexDebugNode(debugEl);\n        return nativeEl;\n    };\n    /**\n     * @param {?} hostElement\n     * @return {?}\n     */\n    DebugDomRenderer.prototype.createViewRoot = function (hostElement) { return this._delegate.createViewRoot(hostElement); };\n    /**\n     * @param {?} parentElement\n     * @param {?=} debugInfo\n     * @return {?}\n     */\n    DebugDomRenderer.prototype.createTemplateAnchor = function (parentElement, debugInfo) {\n        var /** @type {?} */ comment = this._delegate.createTemplateAnchor(parentElement, debugInfo);\n        var /** @type {?} */ debugEl = new DebugNode(comment, getDebugNode(parentElement), debugInfo);\n        indexDebugNode(debugEl);\n        return comment;\n    };\n    /**\n     * @param {?} parentElement\n     * @param {?} value\n     * @param {?=} debugInfo\n     * @return {?}\n     */\n    DebugDomRenderer.prototype.createText = function (parentElement, value, debugInfo) {\n        var /** @type {?} */ text = this._delegate.createText(parentElement, value, debugInfo);\n        var /** @type {?} */ debugEl = new DebugNode(text, getDebugNode(parentElement), debugInfo);\n        indexDebugNode(debugEl);\n        return text;\n    };\n    /**\n     * @param {?} parentElement\n     * @param {?} nodes\n     * @return {?}\n     */\n    DebugDomRenderer.prototype.projectNodes = function (parentElement, nodes) {\n        var /** @type {?} */ debugParent = getDebugNode(parentElement);\n        if (isPresent(debugParent) && debugParent instanceof DebugElement) {\n            var /** @type {?} */ debugElement_1 = debugParent;\n            nodes.forEach(function (node) { debugElement_1.addChild(getDebugNode(node)); });\n        }\n        this._delegate.projectNodes(parentElement, nodes);\n    };\n    /**\n     * @param {?} node\n     * @param {?} viewRootNodes\n     * @return {?}\n     */\n    DebugDomRenderer.prototype.attachViewAfter = function (node, viewRootNodes) {\n        var /** @type {?} */ debugNode = getDebugNode(node);\n        if (isPresent(debugNode)) {\n            var /** @type {?} */ debugParent = debugNode.parent;\n            if (viewRootNodes.length > 0 && isPresent(debugParent)) {\n                var /** @type {?} */ debugViewRootNodes_1 = [];\n                viewRootNodes.forEach(function (rootNode) { return debugViewRootNodes_1.push(getDebugNode(rootNode)); });\n                debugParent.insertChildrenAfter(debugNode, debugViewRootNodes_1);\n            }\n        }\n        this._delegate.attachViewAfter(node, viewRootNodes);\n    };\n    /**\n     * @param {?} viewRootNodes\n     * @return {?}\n     */\n    DebugDomRenderer.prototype.detachView = function (viewRootNodes) {\n        viewRootNodes.forEach(function (node) {\n            var /** @type {?} */ debugNode = getDebugNode(node);\n            if (isPresent(debugNode) && isPresent(debugNode.parent)) {\n                debugNode.parent.removeChild(debugNode);\n            }\n        });\n        this._delegate.detachView(viewRootNodes);\n    };\n    /**\n     * @param {?} hostElement\n     * @param {?} viewAllNodes\n     * @return {?}\n     */\n    DebugDomRenderer.prototype.destroyView = function (hostElement, viewAllNodes) {\n        viewAllNodes = viewAllNodes || [];\n        viewAllNodes.forEach(function (node) { removeDebugNodeFromIndex(getDebugNode(node)); });\n        this._delegate.destroyView(hostElement, viewAllNodes);\n    };\n    /**\n     * @param {?} renderElement\n     * @param {?} name\n     * @param {?} callback\n     * @return {?}\n     */\n    DebugDomRenderer.prototype.listen = function (renderElement, name, callback) {\n        var /** @type {?} */ debugEl = getDebugNode(renderElement);\n        if (isPresent(debugEl)) {\n            debugEl.listeners.push(new EventListener(name, callback));\n        }\n        return this._delegate.listen(renderElement, name, callback);\n    };\n    /**\n     * @param {?} target\n     * @param {?} name\n     * @param {?} callback\n     * @return {?}\n     */\n    DebugDomRenderer.prototype.listenGlobal = function (target, name, callback) {\n        return this._delegate.listenGlobal(target, name, callback);\n    };\n    /**\n     * @param {?} renderElement\n     * @param {?} propertyName\n     * @param {?} propertyValue\n     * @return {?}\n     */\n    DebugDomRenderer.prototype.setElementProperty = function (renderElement, propertyName, propertyValue) {\n        var /** @type {?} */ debugEl = getDebugNode(renderElement);\n        if (isPresent(debugEl) && debugEl instanceof DebugElement) {\n            debugEl.properties[propertyName] = propertyValue;\n        }\n        this._delegate.setElementProperty(renderElement, propertyName, propertyValue);\n    };\n    /**\n     * @param {?} renderElement\n     * @param {?} attributeName\n     * @param {?} attributeValue\n     * @return {?}\n     */\n    DebugDomRenderer.prototype.setElementAttribute = function (renderElement, attributeName, attributeValue) {\n        var /** @type {?} */ debugEl = getDebugNode(renderElement);\n        if (isPresent(debugEl) && debugEl instanceof DebugElement) {\n            debugEl.attributes[attributeName] = attributeValue;\n        }\n        this._delegate.setElementAttribute(renderElement, attributeName, attributeValue);\n    };\n    /**\n     * @param {?} renderElement\n     * @param {?} propertyName\n     * @param {?} propertyValue\n     * @return {?}\n     */\n    DebugDomRenderer.prototype.setBindingDebugInfo = function (renderElement, propertyName, propertyValue) {\n        this._delegate.setBindingDebugInfo(renderElement, propertyName, propertyValue);\n    };\n    /**\n     * @param {?} renderElement\n     * @param {?} className\n     * @param {?} isAdd\n     * @return {?}\n     */\n    DebugDomRenderer.prototype.setElementClass = function (renderElement, className, isAdd) {\n        var /** @type {?} */ debugEl = getDebugNode(renderElement);\n        if (isPresent(debugEl) && debugEl instanceof DebugElement) {\n            debugEl.classes[className] = isAdd;\n        }\n        this._delegate.setElementClass(renderElement, className, isAdd);\n    };\n    /**\n     * @param {?} renderElement\n     * @param {?} styleName\n     * @param {?} styleValue\n     * @return {?}\n     */\n    DebugDomRenderer.prototype.setElementStyle = function (renderElement, styleName, styleValue) {\n        var /** @type {?} */ debugEl = getDebugNode(renderElement);\n        if (isPresent(debugEl) && debugEl instanceof DebugElement) {\n            debugEl.styles[styleName] = styleValue;\n        }\n        this._delegate.setElementStyle(renderElement, styleName, styleValue);\n    };\n    /**\n     * @param {?} renderElement\n     * @param {?} methodName\n     * @param {?=} args\n     * @return {?}\n     */\n    DebugDomRenderer.prototype.invokeElementMethod = function (renderElement, methodName, args) {\n        this._delegate.invokeElementMethod(renderElement, methodName, args);\n    };\n    /**\n     * @param {?} renderNode\n     * @param {?} text\n     * @return {?}\n     */\n    DebugDomRenderer.prototype.setText = function (renderNode, text) { this._delegate.setText(renderNode, text); };\n    /**\n     * @param {?} element\n     * @param {?} startingStyles\n     * @param {?} keyframes\n     * @param {?} duration\n     * @param {?} delay\n     * @param {?} easing\n     * @param {?=} previousPlayers\n     * @return {?}\n     */\n    DebugDomRenderer.prototype.animate = function (element, startingStyles, keyframes, duration, delay, easing, previousPlayers) {\n        if (previousPlayers === void 0) { previousPlayers = []; }\n        return this._delegate.animate(element, startingStyles, keyframes, duration, delay, easing, previousPlayers);\n    };\n    return DebugDomRenderer;\n}());\nfunction DebugDomRenderer_tsickle_Closure_declarations() {\n    /** @type {?} */\n    DebugDomRenderer.prototype._delegate;\n}\n//# sourceMappingURL=debug_renderer.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/debug/debug_renderer.js\n// module id = 878\n// module chunks = 0","/**\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 */\nimport { Injector, THROW_IF_NOT_FOUND } from './injector';\nimport { Self, SkipSelf } from './metadata';\nimport { AbstractProviderError, CyclicDependencyError, InstantiationError, NoProviderError, OutOfBoundsError } from './reflective_errors';\nimport { ReflectiveKey } from './reflective_key';\nimport { resolveReflectiveProviders } from './reflective_provider';\n// Threshold for the dynamic version\nvar /** @type {?} */ UNDEFINED = new Object();\n/**\n * A ReflectiveDependency injection container used for instantiating objects and resolving\n * dependencies.\n *\n * An `Injector` is a replacement for a `new` operator, which can automatically resolve the\n * constructor dependencies.\n *\n * In typical use, application code asks for the dependencies in the constructor and they are\n * resolved by the `Injector`.\n *\n * ### Example ([live demo](http://plnkr.co/edit/jzjec0?p=preview))\n *\n * The following example creates an `Injector` configured to create `Engine` and `Car`.\n *\n * ```typescript\n * \\@Injectable()\n * class Engine {\n * }\n *\n * \\@Injectable()\n * class Car {\n *   constructor(public engine:Engine) {}\n * }\n *\n * var injector = ReflectiveInjector.resolveAndCreate([Car, Engine]);\n * var car = injector.get(Car);\n * expect(car instanceof Car).toBe(true);\n * expect(car.engine instanceof Engine).toBe(true);\n * ```\n *\n * Notice, we don't use the `new` operator because we explicitly want to have the `Injector`\n * resolve all of the object's dependencies automatically.\n *\n * \\@stable\n * @abstract\n */\nexport var ReflectiveInjector = (function () {\n    function ReflectiveInjector() {\n    }\n    /**\n     * Turns an array of provider definitions into an array of resolved providers.\n     *\n     * A resolution is a process of flattening multiple nested arrays and converting individual\n     * providers into an array of {\\@link ResolvedReflectiveProvider}s.\n     *\n     * ### Example ([live demo](http://plnkr.co/edit/AiXTHi?p=preview))\n     *\n     * ```typescript\n     * \\@Injectable()\n     * class Engine {\n     * }\n     *\n     * \\@Injectable()\n     * class Car {\n     *   constructor(public engine:Engine) {}\n     * }\n     *\n     * var providers = ReflectiveInjector.resolve([Car, [[Engine]]]);\n     *\n     * expect(providers.length).toEqual(2);\n     *\n     * expect(providers[0] instanceof ResolvedReflectiveProvider).toBe(true);\n     * expect(providers[0].key.displayName).toBe(\"Car\");\n     * expect(providers[0].dependencies.length).toEqual(1);\n     * expect(providers[0].factory).toBeDefined();\n     *\n     * expect(providers[1].key.displayName).toBe(\"Engine\");\n     * });\n     * ```\n     *\n     * See {\\@link ReflectiveInjector#fromResolvedProviders} for more info.\n     * @param {?} providers\n     * @return {?}\n     */\n    ReflectiveInjector.resolve = function (providers) {\n        return resolveReflectiveProviders(providers);\n    };\n    /**\n     * Resolves an array of providers and creates an injector from those providers.\n     *\n     * The passed-in providers can be an array of `Type`, {\\@link Provider},\n     * or a recursive array of more providers.\n     *\n     * ### Example ([live demo](http://plnkr.co/edit/ePOccA?p=preview))\n     *\n     * ```typescript\n     * \\@Injectable()\n     * class Engine {\n     * }\n     *\n     * \\@Injectable()\n     * class Car {\n     *   constructor(public engine:Engine) {}\n     * }\n     *\n     * var injector = ReflectiveInjector.resolveAndCreate([Car, Engine]);\n     * expect(injector.get(Car) instanceof Car).toBe(true);\n     * ```\n     *\n     * This function is slower than the corresponding `fromResolvedProviders`\n     * because it needs to resolve the passed-in providers first.\n     * See {\\@link Injector#resolve} and {\\@link Injector#fromResolvedProviders}.\n     * @param {?} providers\n     * @param {?=} parent\n     * @return {?}\n     */\n    ReflectiveInjector.resolveAndCreate = function (providers, parent) {\n        if (parent === void 0) { parent = null; }\n        var /** @type {?} */ ResolvedReflectiveProviders = ReflectiveInjector.resolve(providers);\n        return ReflectiveInjector.fromResolvedProviders(ResolvedReflectiveProviders, parent);\n    };\n    /**\n     * Creates an injector from previously resolved providers.\n     *\n     * This API is the recommended way to construct injectors in performance-sensitive parts.\n     *\n     * ### Example ([live demo](http://plnkr.co/edit/KrSMci?p=preview))\n     *\n     * ```typescript\n     * \\@Injectable()\n     * class Engine {\n     * }\n     *\n     * \\@Injectable()\n     * class Car {\n     *   constructor(public engine:Engine) {}\n     * }\n     *\n     * var providers = ReflectiveInjector.resolve([Car, Engine]);\n     * var injector = ReflectiveInjector.fromResolvedProviders(providers);\n     * expect(injector.get(Car) instanceof Car).toBe(true);\n     * ```\n     * \\@experimental\n     * @param {?} providers\n     * @param {?=} parent\n     * @return {?}\n     */\n    ReflectiveInjector.fromResolvedProviders = function (providers, parent) {\n        if (parent === void 0) { parent = null; }\n        return new ReflectiveInjector_(providers, parent);\n    };\n    /**\n     * Parent of this injector.\n     *\n     * <!-- TODO: Add a link to the section of the user guide talking about hierarchical injection.\n     * -->\n     *\n     * ### Example ([live demo](http://plnkr.co/edit/eosMGo?p=preview))\n     *\n     * ```typescript\n     * var parent = ReflectiveInjector.resolveAndCreate([]);\n     * var child = parent.resolveAndCreateChild([]);\n     * expect(child.parent).toBe(parent);\n     * ```\n     * @abstract\n     * @return {?}\n     */\n    ReflectiveInjector.prototype.parent = function () { };\n    /**\n     * Resolves an array of providers and creates a child injector from those providers.\n     *\n     * <!-- TODO: Add a link to the section of the user guide talking about hierarchical injection.\n     * -->\n     *\n     * The passed-in providers can be an array of `Type`, {\\@link Provider},\n     * or a recursive array of more providers.\n     *\n     * ### Example ([live demo](http://plnkr.co/edit/opB3T4?p=preview))\n     *\n     * ```typescript\n     * class ParentProvider {}\n     * class ChildProvider {}\n     *\n     * var parent = ReflectiveInjector.resolveAndCreate([ParentProvider]);\n     * var child = parent.resolveAndCreateChild([ChildProvider]);\n     *\n     * expect(child.get(ParentProvider) instanceof ParentProvider).toBe(true);\n     * expect(child.get(ChildProvider) instanceof ChildProvider).toBe(true);\n     * expect(child.get(ParentProvider)).toBe(parent.get(ParentProvider));\n     * ```\n     *\n     * This function is slower than the corresponding `createChildFromResolved`\n     * because it needs to resolve the passed-in providers first.\n     * See {\\@link Injector#resolve} and {\\@link Injector#createChildFromResolved}.\n     * @abstract\n     * @param {?} providers\n     * @return {?}\n     */\n    ReflectiveInjector.prototype.resolveAndCreateChild = function (providers) { };\n    /**\n     * Creates a child injector from previously resolved providers.\n     *\n     * <!-- TODO: Add a link to the section of the user guide talking about hierarchical injection.\n     * -->\n     *\n     * This API is the recommended way to construct injectors in performance-sensitive parts.\n     *\n     * ### Example ([live demo](http://plnkr.co/edit/VhyfjN?p=preview))\n     *\n     * ```typescript\n     * class ParentProvider {}\n     * class ChildProvider {}\n     *\n     * var parentProviders = ReflectiveInjector.resolve([ParentProvider]);\n     * var childProviders = ReflectiveInjector.resolve([ChildProvider]);\n     *\n     * var parent = ReflectiveInjector.fromResolvedProviders(parentProviders);\n     * var child = parent.createChildFromResolved(childProviders);\n     *\n     * expect(child.get(ParentProvider) instanceof ParentProvider).toBe(true);\n     * expect(child.get(ChildProvider) instanceof ChildProvider).toBe(true);\n     * expect(child.get(ParentProvider)).toBe(parent.get(ParentProvider));\n     * ```\n     * @abstract\n     * @param {?} providers\n     * @return {?}\n     */\n    ReflectiveInjector.prototype.createChildFromResolved = function (providers) { };\n    /**\n     * Resolves a provider and instantiates an object in the context of the injector.\n     *\n     * The created object does not get cached by the injector.\n     *\n     * ### Example ([live demo](http://plnkr.co/edit/yvVXoB?p=preview))\n     *\n     * ```typescript\n     * \\@Injectable()\n     * class Engine {\n     * }\n     *\n     * \\@Injectable()\n     * class Car {\n     *   constructor(public engine:Engine) {}\n     * }\n     *\n     * var injector = ReflectiveInjector.resolveAndCreate([Engine]);\n     *\n     * var car = injector.resolveAndInstantiate(Car);\n     * expect(car.engine).toBe(injector.get(Engine));\n     * expect(car).not.toBe(injector.resolveAndInstantiate(Car));\n     * ```\n     * @abstract\n     * @param {?} provider\n     * @return {?}\n     */\n    ReflectiveInjector.prototype.resolveAndInstantiate = function (provider) { };\n    /**\n     * Instantiates an object using a resolved provider in the context of the injector.\n     *\n     * The created object does not get cached by the injector.\n     *\n     * ### Example ([live demo](http://plnkr.co/edit/ptCImQ?p=preview))\n     *\n     * ```typescript\n     * \\@Injectable()\n     * class Engine {\n     * }\n     *\n     * \\@Injectable()\n     * class Car {\n     *   constructor(public engine:Engine) {}\n     * }\n     *\n     * var injector = ReflectiveInjector.resolveAndCreate([Engine]);\n     * var carProvider = ReflectiveInjector.resolve([Car])[0];\n     * var car = injector.instantiateResolved(carProvider);\n     * expect(car.engine).toBe(injector.get(Engine));\n     * expect(car).not.toBe(injector.instantiateResolved(carProvider));\n     * ```\n     * @abstract\n     * @param {?} provider\n     * @return {?}\n     */\n    ReflectiveInjector.prototype.instantiateResolved = function (provider) { };\n    /**\n     * @abstract\n     * @param {?} token\n     * @param {?=} notFoundValue\n     * @return {?}\n     */\n    ReflectiveInjector.prototype.get = function (token, notFoundValue) { };\n    return ReflectiveInjector;\n}());\nexport var ReflectiveInjector_ = (function () {\n    /**\n     * Private\n     * @param {?} _providers\n     * @param {?=} _parent\n     */\n    function ReflectiveInjector_(_providers, _parent) {\n        if (_parent === void 0) { _parent = null; }\n        /** @internal */\n        this._constructionCounter = 0;\n        this._providers = _providers;\n        this._parent = _parent;\n        var len = _providers.length;\n        this.keyIds = new Array(len);\n        this.objs = new Array(len);\n        for (var i = 0; i < len; i++) {\n            this.keyIds[i] = _providers[i].key.id;\n            this.objs[i] = UNDEFINED;\n        }\n    }\n    /**\n     * @param {?} token\n     * @param {?=} notFoundValue\n     * @return {?}\n     */\n    ReflectiveInjector_.prototype.get = function (token, notFoundValue) {\n        if (notFoundValue === void 0) { notFoundValue = THROW_IF_NOT_FOUND; }\n        return this._getByKey(ReflectiveKey.get(token), null, notFoundValue);\n    };\n    Object.defineProperty(ReflectiveInjector_.prototype, \"parent\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._parent; },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @param {?} providers\n     * @return {?}\n     */\n    ReflectiveInjector_.prototype.resolveAndCreateChild = function (providers) {\n        var /** @type {?} */ ResolvedReflectiveProviders = ReflectiveInjector.resolve(providers);\n        return this.createChildFromResolved(ResolvedReflectiveProviders);\n    };\n    /**\n     * @param {?} providers\n     * @return {?}\n     */\n    ReflectiveInjector_.prototype.createChildFromResolved = function (providers) {\n        var /** @type {?} */ inj = new ReflectiveInjector_(providers);\n        inj._parent = this;\n        return inj;\n    };\n    /**\n     * @param {?} provider\n     * @return {?}\n     */\n    ReflectiveInjector_.prototype.resolveAndInstantiate = function (provider) {\n        return this.instantiateResolved(ReflectiveInjector.resolve([provider])[0]);\n    };\n    /**\n     * @param {?} provider\n     * @return {?}\n     */\n    ReflectiveInjector_.prototype.instantiateResolved = function (provider) {\n        return this._instantiateProvider(provider);\n    };\n    /**\n     * @param {?} index\n     * @return {?}\n     */\n    ReflectiveInjector_.prototype.getProviderAtIndex = function (index) {\n        if (index < 0 || index >= this._providers.length) {\n            throw new OutOfBoundsError(index);\n        }\n        return this._providers[index];\n    };\n    /**\n     * \\@internal\n     * @param {?} provider\n     * @return {?}\n     */\n    ReflectiveInjector_.prototype._new = function (provider) {\n        if (this._constructionCounter++ > this._getMaxNumberOfObjects()) {\n            throw new CyclicDependencyError(this, provider.key);\n        }\n        return this._instantiateProvider(provider);\n    };\n    /**\n     * @return {?}\n     */\n    ReflectiveInjector_.prototype._getMaxNumberOfObjects = function () { return this.objs.length; };\n    /**\n     * @param {?} provider\n     * @return {?}\n     */\n    ReflectiveInjector_.prototype._instantiateProvider = function (provider) {\n        if (provider.multiProvider) {\n            var /** @type {?} */ res = new Array(provider.resolvedFactories.length);\n            for (var /** @type {?} */ i = 0; i < provider.resolvedFactories.length; ++i) {\n                res[i] = this._instantiate(provider, provider.resolvedFactories[i]);\n            }\n            return res;\n        }\n        else {\n            return this._instantiate(provider, provider.resolvedFactories[0]);\n        }\n    };\n    /**\n     * @param {?} provider\n     * @param {?} ResolvedReflectiveFactory\n     * @return {?}\n     */\n    ReflectiveInjector_.prototype._instantiate = function (provider, ResolvedReflectiveFactory) {\n        var _this = this;\n        var /** @type {?} */ factory = ResolvedReflectiveFactory.factory;\n        var /** @type {?} */ deps;\n        try {\n            deps =\n                ResolvedReflectiveFactory.dependencies.map(function (dep) { return _this._getByReflectiveDependency(dep); });\n        }\n        catch (e) {\n            if (e instanceof AbstractProviderError || e instanceof InstantiationError) {\n                e.addKey(this, provider.key);\n            }\n            throw e;\n        }\n        var /** @type {?} */ obj;\n        try {\n            obj = factory.apply(void 0, deps);\n        }\n        catch (e) {\n            throw new InstantiationError(this, e, e.stack, provider.key);\n        }\n        return obj;\n    };\n    /**\n     * @param {?} dep\n     * @return {?}\n     */\n    ReflectiveInjector_.prototype._getByReflectiveDependency = function (dep) {\n        return this._getByKey(dep.key, dep.visibility, dep.optional ? null : THROW_IF_NOT_FOUND);\n    };\n    /**\n     * @param {?} key\n     * @param {?} visibility\n     * @param {?} notFoundValue\n     * @return {?}\n     */\n    ReflectiveInjector_.prototype._getByKey = function (key, visibility, notFoundValue) {\n        if (key === INJECTOR_KEY) {\n            return this;\n        }\n        if (visibility instanceof Self) {\n            return this._getByKeySelf(key, notFoundValue);\n        }\n        else {\n            return this._getByKeyDefault(key, notFoundValue, visibility);\n        }\n    };\n    /**\n     * @param {?} keyId\n     * @return {?}\n     */\n    ReflectiveInjector_.prototype._getObjByKeyId = function (keyId) {\n        for (var /** @type {?} */ i = 0; i < this.keyIds.length; i++) {\n            if (this.keyIds[i] === keyId) {\n                if (this.objs[i] === UNDEFINED) {\n                    this.objs[i] = this._new(this._providers[i]);\n                }\n                return this.objs[i];\n            }\n        }\n        return UNDEFINED;\n    };\n    /**\n     * \\@internal\n     * @param {?} key\n     * @param {?} notFoundValue\n     * @return {?}\n     */\n    ReflectiveInjector_.prototype._throwOrNull = function (key, notFoundValue) {\n        if (notFoundValue !== THROW_IF_NOT_FOUND) {\n            return notFoundValue;\n        }\n        else {\n            throw new NoProviderError(this, key);\n        }\n    };\n    /**\n     * \\@internal\n     * @param {?} key\n     * @param {?} notFoundValue\n     * @return {?}\n     */\n    ReflectiveInjector_.prototype._getByKeySelf = function (key, notFoundValue) {\n        var /** @type {?} */ obj = this._getObjByKeyId(key.id);\n        return (obj !== UNDEFINED) ? obj : this._throwOrNull(key, notFoundValue);\n    };\n    /**\n     * \\@internal\n     * @param {?} key\n     * @param {?} notFoundValue\n     * @param {?} visibility\n     * @return {?}\n     */\n    ReflectiveInjector_.prototype._getByKeyDefault = function (key, notFoundValue, visibility) {\n        var /** @type {?} */ inj;\n        if (visibility instanceof SkipSelf) {\n            inj = this._parent;\n        }\n        else {\n            inj = this;\n        }\n        while (inj instanceof ReflectiveInjector_) {\n            var /** @type {?} */ inj_ = (inj);\n            var /** @type {?} */ obj = inj_._getObjByKeyId(key.id);\n            if (obj !== UNDEFINED)\n                return obj;\n            inj = inj_._parent;\n        }\n        if (inj !== null) {\n            return inj.get(key.token, notFoundValue);\n        }\n        else {\n            return this._throwOrNull(key, notFoundValue);\n        }\n    };\n    Object.defineProperty(ReflectiveInjector_.prototype, \"displayName\", {\n        /**\n         * @return {?}\n         */\n        get: function () {\n            var /** @type {?} */ providers = _mapProviders(this, function (b) { return ' \"' + b.key.displayName + '\" '; })\n                .join(', ');\n            return \"ReflectiveInjector(providers: [\" + providers + \"])\";\n        },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @return {?}\n     */\n    ReflectiveInjector_.prototype.toString = function () { return this.displayName; };\n    return ReflectiveInjector_;\n}());\nfunction ReflectiveInjector__tsickle_Closure_declarations() {\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    ReflectiveInjector_.prototype._constructionCounter;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    ReflectiveInjector_.prototype._providers;\n    /**\n     * \\@internal\n     * @type {?}\n     */\n    ReflectiveInjector_.prototype._parent;\n    /** @type {?} */\n    ReflectiveInjector_.prototype.keyIds;\n    /** @type {?} */\n    ReflectiveInjector_.prototype.objs;\n}\nvar /** @type {?} */ INJECTOR_KEY = ReflectiveKey.get(Injector);\n/**\n * @param {?} injector\n * @param {?} fn\n * @return {?}\n */\nfunction _mapProviders(injector, fn) {\n    var /** @type {?} */ res = new Array(injector._providers.length);\n    for (var /** @type {?} */ i = 0; i < injector._providers.length; ++i) {\n        res[i] = fn(injector.getProviderAtIndex(i));\n    }\n    return res;\n}\n//# sourceMappingURL=reflective_injector.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/di/reflective_injector.js\n// module id = 879\n// module chunks = 0","/**\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// Public API for compiler\nexport { COMPILER_OPTIONS, Compiler, CompilerFactory, ModuleWithComponentFactories } from './linker/compiler';\nexport { ComponentFactory, ComponentRef } from './linker/component_factory';\nexport { ComponentFactoryResolver } from './linker/component_factory_resolver';\nexport { ElementRef } from './linker/element_ref';\nexport { NgModuleFactory, NgModuleRef } from './linker/ng_module_factory';\nexport { NgModuleFactoryLoader, getModuleFactory } from './linker/ng_module_factory_loader';\nexport { QueryList } from './linker/query_list';\nexport { SystemJsNgModuleLoader, SystemJsNgModuleLoaderConfig } from './linker/system_js_ng_module_factory_loader';\nexport { TemplateRef } from './linker/template_ref';\nexport { ViewContainerRef } from './linker/view_container_ref';\nexport { EmbeddedViewRef, ViewRef } from './linker/view_ref';\n//# sourceMappingURL=linker.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/linker.js\n// module id = 880\n// module chunks = 0","import { AnimationGroupPlayer } from '../animation/animation_group_player';\nimport { AnimationSequencePlayer } from '../animation/animation_sequence_player';\nimport { ViewAnimationMap } from '../animation/view_animation_map';\nexport var AnimationViewContext = (function () {\n    /**\n     * @param {?} _animationQueue\n     */\n    function AnimationViewContext(_animationQueue) {\n        this._animationQueue = _animationQueue;\n        this._players = new ViewAnimationMap();\n    }\n    /**\n     * @param {?} callback\n     * @return {?}\n     */\n    AnimationViewContext.prototype.onAllActiveAnimationsDone = function (callback) {\n        var /** @type {?} */ activeAnimationPlayers = this._players.getAllPlayers();\n        // we check for the length to avoid having GroupAnimationPlayer\n        // issue an unnecessary microtask when zero players are passed in\n        if (activeAnimationPlayers.length) {\n            new AnimationGroupPlayer(activeAnimationPlayers).onDone(function () { return callback(); });\n        }\n        else {\n            callback();\n        }\n    };\n    /**\n     * @param {?} element\n     * @param {?} animationName\n     * @param {?} player\n     * @return {?}\n     */\n    AnimationViewContext.prototype.queueAnimation = function (element, animationName, player) {\n        var _this = this;\n        this._animationQueue.enqueue(player);\n        this._players.set(element, animationName, player);\n        player.onDone(function () { return _this._players.remove(element, animationName, player); });\n    };\n    /**\n     * @param {?} element\n     * @param {?=} animationName\n     * @return {?}\n     */\n    AnimationViewContext.prototype.getAnimationPlayers = function (element, animationName) {\n        if (animationName === void 0) { animationName = null; }\n        var /** @type {?} */ players = [];\n        if (animationName) {\n            var /** @type {?} */ currentPlayer = this._players.find(element, animationName);\n            if (currentPlayer) {\n                _recursePlayers(currentPlayer, players);\n            }\n        }\n        else {\n            this._players.findAllPlayersByElement(element).forEach(function (player) { return _recursePlayers(player, players); });\n        }\n        return players;\n    };\n    return AnimationViewContext;\n}());\nfunction AnimationViewContext_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationViewContext.prototype._players;\n    /** @type {?} */\n    AnimationViewContext.prototype._animationQueue;\n}\n/**\n * @param {?} player\n * @param {?} collectedPlayers\n * @return {?}\n */\nfunction _recursePlayers(player, collectedPlayers) {\n    if ((player instanceof AnimationGroupPlayer) || (player instanceof AnimationSequencePlayer)) {\n        player.players.forEach(function (player) { return _recursePlayers(player, collectedPlayers); });\n    }\n    else {\n        collectedPlayers.push(player);\n    }\n}\n//# sourceMappingURL=animation_view_context.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/linker/animation_view_context.js\n// module id = 881\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { Injector, THROW_IF_NOT_FOUND } from '../di/injector';\nexport var ElementInjector = (function (_super) {\n    __extends(ElementInjector, _super);\n    /**\n     * @param {?} _view\n     * @param {?} _nodeIndex\n     */\n    function ElementInjector(_view, _nodeIndex) {\n        _super.call(this);\n        this._view = _view;\n        this._nodeIndex = _nodeIndex;\n    }\n    /**\n     * @param {?} token\n     * @param {?=} notFoundValue\n     * @return {?}\n     */\n    ElementInjector.prototype.get = function (token, notFoundValue) {\n        if (notFoundValue === void 0) { notFoundValue = THROW_IF_NOT_FOUND; }\n        return this._view.injectorGet(token, this._nodeIndex, notFoundValue);\n    };\n    return ElementInjector;\n}(Injector));\nfunction ElementInjector_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ElementInjector.prototype._view;\n    /** @type {?} */\n    ElementInjector.prototype._nodeIndex;\n}\n//# sourceMappingURL=element_injector.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/linker/element_injector.js\n// module id = 882\n// module chunks = 0","/**\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 */\nimport { EventEmitter } from '../facade/async';\nimport { ListWrapper } from '../facade/collection';\nimport { getSymbolIterator } from '../facade/lang';\n/**\n * An unmodifiable list of items that Angular keeps up to date when the state\n * of the application changes.\n *\n * The type of object that {\\@link Query} and {\\@link ViewQueryMetadata} provide.\n *\n * Implements an iterable interface, therefore it can be used in both ES6\n * javascript `for (var i of items)` loops as well as in Angular templates with\n * `*ngFor=\"let i of myList\"`.\n *\n * Changes can be observed by subscribing to the changes `Observable`.\n *\n * NOTE: In the future this class will implement an `Observable` interface.\n *\n * ### Example ([live demo](http://plnkr.co/edit/RX8sJnQYl9FWuSCWme5z?p=preview))\n * ```typescript\n * \\@Component({...})\n * class Container {\n *   \\@ViewChildren(Item) items:QueryList<Item>;\n * }\n * ```\n * \\@stable\n */\nexport var QueryList = (function () {\n    function QueryList() {\n        this._dirty = true;\n        this._results = [];\n        this._emitter = new EventEmitter();\n    }\n    Object.defineProperty(QueryList.prototype, \"changes\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._emitter; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(QueryList.prototype, \"length\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._results.length; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(QueryList.prototype, \"first\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._results[0]; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(QueryList.prototype, \"last\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._results[this.length - 1]; },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * See\n     * [Array.map](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map)\n     * @param {?} fn\n     * @return {?}\n     */\n    QueryList.prototype.map = function (fn) { return this._results.map(fn); };\n    /**\n     * See\n     * [Array.filter](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter)\n     * @param {?} fn\n     * @return {?}\n     */\n    QueryList.prototype.filter = function (fn) {\n        return this._results.filter(fn);\n    };\n    /**\n     * See\n     * [Array.find](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find)\n     * @param {?} fn\n     * @return {?}\n     */\n    QueryList.prototype.find = function (fn) { return this._results.find(fn); };\n    /**\n     * See\n     * [Array.reduce](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce)\n     * @param {?} fn\n     * @param {?} init\n     * @return {?}\n     */\n    QueryList.prototype.reduce = function (fn, init) {\n        return this._results.reduce(fn, init);\n    };\n    /**\n     * See\n     * [Array.forEach](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach)\n     * @param {?} fn\n     * @return {?}\n     */\n    QueryList.prototype.forEach = function (fn) { this._results.forEach(fn); };\n    /**\n     * See\n     * [Array.some](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some)\n     * @param {?} fn\n     * @return {?}\n     */\n    QueryList.prototype.some = function (fn) {\n        return this._results.some(fn);\n    };\n    /**\n     * @return {?}\n     */\n    QueryList.prototype.toArray = function () { return this._results.slice(); };\n    /**\n     * @return {?}\n     */\n    QueryList.prototype[getSymbolIterator()] = function () { return ((this._results))[getSymbolIterator()](); };\n    /**\n     * @return {?}\n     */\n    QueryList.prototype.toString = function () { return this._results.toString(); };\n    /**\n     * @param {?} res\n     * @return {?}\n     */\n    QueryList.prototype.reset = function (res) {\n        this._results = ListWrapper.flatten(res);\n        this._dirty = false;\n    };\n    /**\n     * @return {?}\n     */\n    QueryList.prototype.notifyOnChanges = function () { this._emitter.emit(this); };\n    /**\n     * internal\n     * @return {?}\n     */\n    QueryList.prototype.setDirty = function () { this._dirty = true; };\n    Object.defineProperty(QueryList.prototype, \"dirty\", {\n        /**\n         * internal\n         * @return {?}\n         */\n        get: function () { return this._dirty; },\n        enumerable: true,\n        configurable: true\n    });\n    return QueryList;\n}());\nfunction QueryList_tsickle_Closure_declarations() {\n    /** @type {?} */\n    QueryList.prototype._dirty;\n    /** @type {?} */\n    QueryList.prototype._results;\n    /** @type {?} */\n    QueryList.prototype._emitter;\n}\n//# sourceMappingURL=query_list.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/linker/query_list.js\n// module id = 883\n// module chunks = 0","/**\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 */\nimport { Injectable, Optional } from '../di';\nimport { Compiler } from './compiler';\nvar /** @type {?} */ _SEPARATOR = '#';\nvar /** @type {?} */ FACTORY_CLASS_SUFFIX = 'NgFactory';\n/**\n * Configuration for SystemJsNgModuleLoader.\n * token.\n *\n * \\@experimental\n * @abstract\n */\nexport var SystemJsNgModuleLoaderConfig = (function () {\n    function SystemJsNgModuleLoaderConfig() {\n    }\n    return SystemJsNgModuleLoaderConfig;\n}());\nfunction SystemJsNgModuleLoaderConfig_tsickle_Closure_declarations() {\n    /**\n     * Prefix to add when computing the name of the factory module for a given module name.\n     * @type {?}\n     */\n    SystemJsNgModuleLoaderConfig.prototype.factoryPathPrefix;\n    /**\n     * Suffix to add when computing the name of the factory module for a given module name.\n     * @type {?}\n     */\n    SystemJsNgModuleLoaderConfig.prototype.factoryPathSuffix;\n}\nvar /** @type {?} */ DEFAULT_CONFIG = {\n    factoryPathPrefix: '',\n    factoryPathSuffix: '.ngfactory',\n};\n/**\n * NgModuleFactoryLoader that uses SystemJS to load NgModuleFactory\n * \\@experimental\n */\nexport var SystemJsNgModuleLoader = (function () {\n    /**\n     * @param {?} _compiler\n     * @param {?=} config\n     */\n    function SystemJsNgModuleLoader(_compiler, config) {\n        this._compiler = _compiler;\n        this._config = config || DEFAULT_CONFIG;\n    }\n    /**\n     * @param {?} path\n     * @return {?}\n     */\n    SystemJsNgModuleLoader.prototype.load = function (path) {\n        var /** @type {?} */ offlineMode = this._compiler instanceof Compiler;\n        return offlineMode ? this.loadFactory(path) : this.loadAndCompile(path);\n    };\n    /**\n     * @param {?} path\n     * @return {?}\n     */\n    SystemJsNgModuleLoader.prototype.loadAndCompile = function (path) {\n        var _this = this;\n        var _a = path.split(_SEPARATOR), module = _a[0], exportName = _a[1];\n        if (exportName === undefined) {\n            exportName = 'default';\n        }\n        return System.import(module)\n            .then(function (module) { return module[exportName]; })\n            .then(function (type) { return checkNotEmpty(type, module, exportName); })\n            .then(function (type) { return _this._compiler.compileModuleAsync(type); });\n    };\n    /**\n     * @param {?} path\n     * @return {?}\n     */\n    SystemJsNgModuleLoader.prototype.loadFactory = function (path) {\n        var _a = path.split(_SEPARATOR), module = _a[0], exportName = _a[1];\n        var /** @type {?} */ factoryClassSuffix = FACTORY_CLASS_SUFFIX;\n        if (exportName === undefined) {\n            exportName = 'default';\n            factoryClassSuffix = '';\n        }\n        return System.import(this._config.factoryPathPrefix + module + this._config.factoryPathSuffix)\n            .then(function (module) { return module[exportName + factoryClassSuffix]; })\n            .then(function (factory) { return checkNotEmpty(factory, module, exportName); });\n    };\n    SystemJsNgModuleLoader.decorators = [\n        { type: Injectable },\n    ];\n    /** @nocollapse */\n    SystemJsNgModuleLoader.ctorParameters = function () { return [\n        { type: Compiler, },\n        { type: SystemJsNgModuleLoaderConfig, decorators: [{ type: Optional },] },\n    ]; };\n    return SystemJsNgModuleLoader;\n}());\nfunction SystemJsNgModuleLoader_tsickle_Closure_declarations() {\n    /** @type {?} */\n    SystemJsNgModuleLoader.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    SystemJsNgModuleLoader.ctorParameters;\n    /** @type {?} */\n    SystemJsNgModuleLoader.prototype._config;\n    /** @type {?} */\n    SystemJsNgModuleLoader.prototype._compiler;\n}\n/**\n * @param {?} value\n * @param {?} modulePath\n * @param {?} exportName\n * @return {?}\n */\nfunction checkNotEmpty(value, modulePath, exportName) {\n    if (!value) {\n        throw new Error(\"Cannot find '\" + exportName + \"' in '\" + modulePath + \"'\");\n    }\n    return value;\n}\n//# sourceMappingURL=system_js_ng_module_factory_loader.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/linker/system_js_ng_module_factory_loader.js\n// module id = 884\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { ChangeDetectorStatus } from '../change_detection/change_detection';\nimport { THROW_IF_NOT_FOUND } from '../di/injector';\nimport { isPresent } from '../facade/lang';\nimport { wtfCreateScope, wtfLeave } from '../profile/profile';\nimport { AnimationViewContext } from './animation_view_context';\nimport { DebugContext } from './debug_context';\nimport { ElementInjector } from './element_injector';\nimport { ExpressionChangedAfterItHasBeenCheckedError, ViewDestroyedError, ViewWrappedError } from './errors';\nimport { ViewRef_ } from './view_ref';\nimport { ViewType } from './view_type';\nimport { addToArray } from './view_utils';\nvar /** @type {?} */ _scope_check = wtfCreateScope(\"AppView#check(ascii id)\");\n/**\n * @experimental\n */\nvar /** @type {?} */ EMPTY_CONTEXT = new Object();\nvar /** @type {?} */ UNDEFINED = new Object();\n/**\n * Cost of making objects: http://jsperf.com/instantiate-size-of-object\n *\n * @abstract\n */\nexport var AppView = (function () {\n    /**\n     * @param {?} clazz\n     * @param {?} componentType\n     * @param {?} type\n     * @param {?} viewUtils\n     * @param {?} parentView\n     * @param {?} parentIndex\n     * @param {?} parentElement\n     * @param {?} cdMode\n     * @param {?=} declaredViewContainer\n     */\n    function AppView(clazz, componentType, type, viewUtils, parentView, parentIndex, parentElement, cdMode, declaredViewContainer) {\n        if (declaredViewContainer === void 0) { declaredViewContainer = null; }\n        this.clazz = clazz;\n        this.componentType = componentType;\n        this.type = type;\n        this.viewUtils = viewUtils;\n        this.parentView = parentView;\n        this.parentIndex = parentIndex;\n        this.parentElement = parentElement;\n        this.cdMode = cdMode;\n        this.declaredViewContainer = declaredViewContainer;\n        this.numberOfChecks = 0;\n        this.ref = new ViewRef_(this, viewUtils.animationQueue);\n        if (type === ViewType.COMPONENT || type === ViewType.HOST) {\n            this.renderer = viewUtils.renderComponent(componentType);\n        }\n        else {\n            this.renderer = parentView.renderer;\n        }\n        this._directRenderer = this.renderer.directRenderer;\n    }\n    Object.defineProperty(AppView.prototype, \"animationContext\", {\n        /**\n         * @return {?}\n         */\n        get: function () {\n            if (!this._animationContext) {\n                this._animationContext = new AnimationViewContext(this.viewUtils.animationQueue);\n            }\n            return this._animationContext;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AppView.prototype, \"destroyed\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this.cdMode === ChangeDetectorStatus.Destroyed; },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @param {?} context\n     * @return {?}\n     */\n    AppView.prototype.create = function (context) {\n        this.context = context;\n        return this.createInternal(null);\n    };\n    /**\n     * @param {?} rootSelectorOrNode\n     * @param {?} hostInjector\n     * @param {?} projectableNodes\n     * @return {?}\n     */\n    AppView.prototype.createHostView = function (rootSelectorOrNode, hostInjector, projectableNodes) {\n        this.context = (EMPTY_CONTEXT);\n        this._hasExternalHostElement = isPresent(rootSelectorOrNode);\n        this._hostInjector = hostInjector;\n        this._hostProjectableNodes = projectableNodes;\n        return this.createInternal(rootSelectorOrNode);\n    };\n    /**\n     * Overwritten by implementations.\n     * Returns the ComponentRef for the host element for ViewType.HOST.\n     * @param {?} rootSelectorOrNode\n     * @return {?}\n     */\n    AppView.prototype.createInternal = function (rootSelectorOrNode) { return null; };\n    /**\n     * Overwritten by implementations.\n     * @param {?} templateNodeIndex\n     * @return {?}\n     */\n    AppView.prototype.createEmbeddedViewInternal = function (templateNodeIndex) { return null; };\n    /**\n     * @param {?} lastRootNode\n     * @param {?} allNodes\n     * @param {?} disposables\n     * @return {?}\n     */\n    AppView.prototype.init = function (lastRootNode, allNodes, disposables) {\n        this.lastRootNode = lastRootNode;\n        this.allNodes = allNodes;\n        this.disposables = disposables;\n        if (this.type === ViewType.COMPONENT) {\n            this.dirtyParentQueriesInternal();\n        }\n    };\n    /**\n     * @param {?} token\n     * @param {?} nodeIndex\n     * @param {?=} notFoundValue\n     * @return {?}\n     */\n    AppView.prototype.injectorGet = function (token, nodeIndex, notFoundValue) {\n        if (notFoundValue === void 0) { notFoundValue = THROW_IF_NOT_FOUND; }\n        var /** @type {?} */ result = UNDEFINED;\n        var /** @type {?} */ view = this;\n        while (result === UNDEFINED) {\n            if (isPresent(nodeIndex)) {\n                result = view.injectorGetInternal(token, nodeIndex, UNDEFINED);\n            }\n            if (result === UNDEFINED && view.type === ViewType.HOST) {\n                result = view._hostInjector.get(token, notFoundValue);\n            }\n            nodeIndex = view.parentIndex;\n            view = view.parentView;\n        }\n        return result;\n    };\n    /**\n     * Overwritten by implementations\n     * @param {?} token\n     * @param {?} nodeIndex\n     * @param {?} notFoundResult\n     * @return {?}\n     */\n    AppView.prototype.injectorGetInternal = function (token, nodeIndex, notFoundResult) {\n        return notFoundResult;\n    };\n    /**\n     * @param {?} nodeIndex\n     * @return {?}\n     */\n    AppView.prototype.injector = function (nodeIndex) { return new ElementInjector(this, nodeIndex); };\n    /**\n     * @return {?}\n     */\n    AppView.prototype.detachAndDestroy = function () {\n        if (this.viewContainer) {\n            this.viewContainer.detachView(this.viewContainer.nestedViews.indexOf(this));\n        }\n        else if (this.appRef) {\n            this.appRef.detachView(this.ref);\n        }\n        else if (this._hasExternalHostElement) {\n            this.detach();\n        }\n        this.destroy();\n    };\n    /**\n     * @return {?}\n     */\n    AppView.prototype.destroy = function () {\n        var _this = this;\n        if (this.cdMode === ChangeDetectorStatus.Destroyed) {\n            return;\n        }\n        var /** @type {?} */ hostElement = this.type === ViewType.COMPONENT ? this.parentElement : null;\n        if (this.disposables) {\n            for (var /** @type {?} */ i = 0; i < this.disposables.length; i++) {\n                this.disposables[i]();\n            }\n        }\n        this.destroyInternal();\n        this.dirtyParentQueriesInternal();\n        if (this._animationContext) {\n            this._animationContext.onAllActiveAnimationsDone(function () { return _this.renderer.destroyView(hostElement, _this.allNodes); });\n        }\n        else {\n            this.renderer.destroyView(hostElement, this.allNodes);\n        }\n        this.cdMode = ChangeDetectorStatus.Destroyed;\n    };\n    /**\n     * Overwritten by implementations\n     * @return {?}\n     */\n    AppView.prototype.destroyInternal = function () { };\n    /**\n     * Overwritten by implementations\n     * @return {?}\n     */\n    AppView.prototype.detachInternal = function () { };\n    /**\n     * @return {?}\n     */\n    AppView.prototype.detach = function () {\n        var _this = this;\n        this.detachInternal();\n        if (this._animationContext) {\n            this._animationContext.onAllActiveAnimationsDone(function () { return _this._renderDetach(); });\n        }\n        else {\n            this._renderDetach();\n        }\n        if (this.declaredViewContainer && this.declaredViewContainer !== this.viewContainer &&\n            this.declaredViewContainer.projectedViews) {\n            var /** @type {?} */ projectedViews = this.declaredViewContainer.projectedViews;\n            var /** @type {?} */ index = projectedViews.indexOf(this);\n            // perf: pop is faster than splice!\n            if (index >= projectedViews.length - 1) {\n                projectedViews.pop();\n            }\n            else {\n                projectedViews.splice(index, 1);\n            }\n        }\n        this.appRef = null;\n        this.viewContainer = null;\n        this.dirtyParentQueriesInternal();\n    };\n    /**\n     * @return {?}\n     */\n    AppView.prototype._renderDetach = function () {\n        if (this._directRenderer) {\n            this.visitRootNodesInternal(this._directRenderer.remove, null);\n        }\n        else {\n            this.renderer.detachView(this.flatRootNodes);\n        }\n    };\n    /**\n     * @param {?} appRef\n     * @return {?}\n     */\n    AppView.prototype.attachToAppRef = function (appRef) {\n        if (this.viewContainer) {\n            throw new Error('This view is already attached to a ViewContainer!');\n        }\n        this.appRef = appRef;\n        this.dirtyParentQueriesInternal();\n    };\n    /**\n     * @param {?} viewContainer\n     * @param {?} prevView\n     * @return {?}\n     */\n    AppView.prototype.attachAfter = function (viewContainer, prevView) {\n        if (this.appRef) {\n            throw new Error('This view is already attached directly to the ApplicationRef!');\n        }\n        this._renderAttach(viewContainer, prevView);\n        this.viewContainer = viewContainer;\n        if (this.declaredViewContainer && this.declaredViewContainer !== viewContainer) {\n            if (!this.declaredViewContainer.projectedViews) {\n                this.declaredViewContainer.projectedViews = [];\n            }\n            this.declaredViewContainer.projectedViews.push(this);\n        }\n        this.dirtyParentQueriesInternal();\n    };\n    /**\n     * @param {?} viewContainer\n     * @param {?} prevView\n     * @return {?}\n     */\n    AppView.prototype.moveAfter = function (viewContainer, prevView) {\n        this._renderAttach(viewContainer, prevView);\n        this.dirtyParentQueriesInternal();\n    };\n    /**\n     * @param {?} viewContainer\n     * @param {?} prevView\n     * @return {?}\n     */\n    AppView.prototype._renderAttach = function (viewContainer, prevView) {\n        var /** @type {?} */ prevNode = prevView ? prevView.lastRootNode : viewContainer.nativeElement;\n        if (this._directRenderer) {\n            var /** @type {?} */ nextSibling = this._directRenderer.nextSibling(prevNode);\n            if (nextSibling) {\n                this.visitRootNodesInternal(this._directRenderer.insertBefore, nextSibling);\n            }\n            else {\n                var /** @type {?} */ parentElement = this._directRenderer.parentElement(prevNode);\n                if (parentElement) {\n                    this.visitRootNodesInternal(this._directRenderer.appendChild, parentElement);\n                }\n            }\n        }\n        else {\n            this.renderer.attachViewAfter(prevNode, this.flatRootNodes);\n        }\n    };\n    Object.defineProperty(AppView.prototype, \"changeDetectorRef\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this.ref; },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AppView.prototype, \"flatRootNodes\", {\n        /**\n         * @return {?}\n         */\n        get: function () {\n            var /** @type {?} */ nodes = [];\n            this.visitRootNodesInternal(addToArray, nodes);\n            return nodes;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @param {?} parentElement\n     * @param {?} ngContentIndex\n     * @return {?}\n     */\n    AppView.prototype.projectNodes = function (parentElement, ngContentIndex) {\n        if (this._directRenderer) {\n            this.visitProjectedNodes(ngContentIndex, this._directRenderer.appendChild, parentElement);\n        }\n        else {\n            var /** @type {?} */ nodes = [];\n            this.visitProjectedNodes(ngContentIndex, addToArray, nodes);\n            this.renderer.projectNodes(parentElement, nodes);\n        }\n    };\n    /**\n     * @param {?} ngContentIndex\n     * @param {?} cb\n     * @param {?} c\n     * @return {?}\n     */\n    AppView.prototype.visitProjectedNodes = function (ngContentIndex, cb, c) {\n        switch (this.type) {\n            case ViewType.EMBEDDED:\n                this.parentView.visitProjectedNodes(ngContentIndex, cb, c);\n                break;\n            case ViewType.COMPONENT:\n                if (this.parentView.type === ViewType.HOST) {\n                    var /** @type {?} */ nodes = this.parentView._hostProjectableNodes[ngContentIndex] || [];\n                    for (var /** @type {?} */ i = 0; i < nodes.length; i++) {\n                        cb(nodes[i], c);\n                    }\n                }\n                else {\n                    this.parentView.visitProjectableNodesInternal(this.parentIndex, ngContentIndex, cb, c);\n                }\n                break;\n        }\n    };\n    /**\n     * Overwritten by implementations\n     * @param {?} cb\n     * @param {?} c\n     * @return {?}\n     */\n    AppView.prototype.visitRootNodesInternal = function (cb, c) { };\n    /**\n     * Overwritten by implementations\n     * @param {?} nodeIndex\n     * @param {?} ngContentIndex\n     * @param {?} cb\n     * @param {?} c\n     * @return {?}\n     */\n    AppView.prototype.visitProjectableNodesInternal = function (nodeIndex, ngContentIndex, cb, c) { };\n    /**\n     * Overwritten by implementations\n     * @return {?}\n     */\n    AppView.prototype.dirtyParentQueriesInternal = function () { };\n    /**\n     * @param {?} throwOnChange\n     * @return {?}\n     */\n    AppView.prototype.internalDetectChanges = function (throwOnChange) {\n        if (this.cdMode !== ChangeDetectorStatus.Detached) {\n            this.detectChanges(throwOnChange);\n        }\n    };\n    /**\n     * @param {?} throwOnChange\n     * @return {?}\n     */\n    AppView.prototype.detectChanges = function (throwOnChange) {\n        var /** @type {?} */ s = _scope_check(this.clazz);\n        if (this.cdMode === ChangeDetectorStatus.Checked ||\n            this.cdMode === ChangeDetectorStatus.Errored)\n            return;\n        if (this.cdMode === ChangeDetectorStatus.Destroyed) {\n            this.throwDestroyedError('detectChanges');\n        }\n        this.detectChangesInternal(throwOnChange);\n        if (this.cdMode === ChangeDetectorStatus.CheckOnce)\n            this.cdMode = ChangeDetectorStatus.Checked;\n        this.numberOfChecks++;\n        wtfLeave(s);\n    };\n    /**\n     * Overwritten by implementations\n     * @param {?} throwOnChange\n     * @return {?}\n     */\n    AppView.prototype.detectChangesInternal = function (throwOnChange) { };\n    /**\n     * @return {?}\n     */\n    AppView.prototype.markAsCheckOnce = function () { this.cdMode = ChangeDetectorStatus.CheckOnce; };\n    /**\n     * @return {?}\n     */\n    AppView.prototype.markPathToRootAsCheckOnce = function () {\n        var /** @type {?} */ c = this;\n        while (isPresent(c) && c.cdMode !== ChangeDetectorStatus.Detached) {\n            if (c.cdMode === ChangeDetectorStatus.Checked) {\n                c.cdMode = ChangeDetectorStatus.CheckOnce;\n            }\n            if (c.type === ViewType.COMPONENT) {\n                c = c.parentView;\n            }\n            else {\n                c = c.viewContainer ? c.viewContainer.parentView : null;\n            }\n        }\n    };\n    /**\n     * @param {?} cb\n     * @return {?}\n     */\n    AppView.prototype.eventHandler = function (cb) {\n        return cb;\n    };\n    /**\n     * @param {?} details\n     * @return {?}\n     */\n    AppView.prototype.throwDestroyedError = function (details) { throw new ViewDestroyedError(details); };\n    return AppView;\n}());\nfunction AppView_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AppView.prototype.ref;\n    /** @type {?} */\n    AppView.prototype.lastRootNode;\n    /** @type {?} */\n    AppView.prototype.allNodes;\n    /** @type {?} */\n    AppView.prototype.disposables;\n    /** @type {?} */\n    AppView.prototype.viewContainer;\n    /** @type {?} */\n    AppView.prototype.appRef;\n    /** @type {?} */\n    AppView.prototype.numberOfChecks;\n    /** @type {?} */\n    AppView.prototype.renderer;\n    /** @type {?} */\n    AppView.prototype._hasExternalHostElement;\n    /** @type {?} */\n    AppView.prototype._hostInjector;\n    /** @type {?} */\n    AppView.prototype._hostProjectableNodes;\n    /** @type {?} */\n    AppView.prototype._animationContext;\n    /** @type {?} */\n    AppView.prototype._directRenderer;\n    /** @type {?} */\n    AppView.prototype.context;\n    /** @type {?} */\n    AppView.prototype.clazz;\n    /** @type {?} */\n    AppView.prototype.componentType;\n    /** @type {?} */\n    AppView.prototype.type;\n    /** @type {?} */\n    AppView.prototype.viewUtils;\n    /** @type {?} */\n    AppView.prototype.parentView;\n    /** @type {?} */\n    AppView.prototype.parentIndex;\n    /** @type {?} */\n    AppView.prototype.parentElement;\n    /** @type {?} */\n    AppView.prototype.cdMode;\n    /** @type {?} */\n    AppView.prototype.declaredViewContainer;\n}\nexport var DebugAppView = (function (_super) {\n    __extends(DebugAppView, _super);\n    /**\n     * @param {?} clazz\n     * @param {?} componentType\n     * @param {?} type\n     * @param {?} viewUtils\n     * @param {?} parentView\n     * @param {?} parentIndex\n     * @param {?} parentNode\n     * @param {?} cdMode\n     * @param {?} staticNodeDebugInfos\n     * @param {?=} declaredViewContainer\n     */\n    function DebugAppView(clazz, componentType, type, viewUtils, parentView, parentIndex, parentNode, cdMode, staticNodeDebugInfos, declaredViewContainer) {\n        if (declaredViewContainer === void 0) { declaredViewContainer = null; }\n        _super.call(this, clazz, componentType, type, viewUtils, parentView, parentIndex, parentNode, cdMode, declaredViewContainer);\n        this.staticNodeDebugInfos = staticNodeDebugInfos;\n        this._currentDebugContext = null;\n    }\n    /**\n     * @param {?} context\n     * @return {?}\n     */\n    DebugAppView.prototype.create = function (context) {\n        this._resetDebug();\n        try {\n            return _super.prototype.create.call(this, context);\n        }\n        catch (e) {\n            this._rethrowWithContext(e);\n            throw e;\n        }\n    };\n    /**\n     * @param {?} rootSelectorOrNode\n     * @param {?} injector\n     * @param {?=} projectableNodes\n     * @return {?}\n     */\n    DebugAppView.prototype.createHostView = function (rootSelectorOrNode, injector, projectableNodes) {\n        if (projectableNodes === void 0) { projectableNodes = null; }\n        this._resetDebug();\n        try {\n            return _super.prototype.createHostView.call(this, rootSelectorOrNode, injector, projectableNodes);\n        }\n        catch (e) {\n            this._rethrowWithContext(e);\n            throw e;\n        }\n    };\n    /**\n     * @param {?} token\n     * @param {?} nodeIndex\n     * @param {?=} notFoundResult\n     * @return {?}\n     */\n    DebugAppView.prototype.injectorGet = function (token, nodeIndex, notFoundResult) {\n        this._resetDebug();\n        try {\n            return _super.prototype.injectorGet.call(this, token, nodeIndex, notFoundResult);\n        }\n        catch (e) {\n            this._rethrowWithContext(e);\n            throw e;\n        }\n    };\n    /**\n     * @return {?}\n     */\n    DebugAppView.prototype.detach = function () {\n        this._resetDebug();\n        try {\n            _super.prototype.detach.call(this);\n        }\n        catch (e) {\n            this._rethrowWithContext(e);\n            throw e;\n        }\n    };\n    /**\n     * @return {?}\n     */\n    DebugAppView.prototype.destroy = function () {\n        this._resetDebug();\n        try {\n            _super.prototype.destroy.call(this);\n        }\n        catch (e) {\n            this._rethrowWithContext(e);\n            throw e;\n        }\n    };\n    /**\n     * @param {?} throwOnChange\n     * @return {?}\n     */\n    DebugAppView.prototype.detectChanges = function (throwOnChange) {\n        this._resetDebug();\n        try {\n            _super.prototype.detectChanges.call(this, throwOnChange);\n        }\n        catch (e) {\n            this._rethrowWithContext(e);\n            throw e;\n        }\n    };\n    /**\n     * @return {?}\n     */\n    DebugAppView.prototype._resetDebug = function () { this._currentDebugContext = null; };\n    /**\n     * @param {?} nodeIndex\n     * @param {?} rowNum\n     * @param {?} colNum\n     * @return {?}\n     */\n    DebugAppView.prototype.debug = function (nodeIndex, rowNum, colNum) {\n        return this._currentDebugContext = new DebugContext(this, nodeIndex, rowNum, colNum);\n    };\n    /**\n     * @param {?} e\n     * @return {?}\n     */\n    DebugAppView.prototype._rethrowWithContext = function (e) {\n        if (!(e instanceof ViewWrappedError)) {\n            if (!(e instanceof ExpressionChangedAfterItHasBeenCheckedError)) {\n                this.cdMode = ChangeDetectorStatus.Errored;\n            }\n            if (isPresent(this._currentDebugContext)) {\n                throw new ViewWrappedError(e, this._currentDebugContext);\n            }\n        }\n    };\n    /**\n     * @param {?} cb\n     * @return {?}\n     */\n    DebugAppView.prototype.eventHandler = function (cb) {\n        var _this = this;\n        var /** @type {?} */ superHandler = _super.prototype.eventHandler.call(this, cb);\n        return function (eventName, event) {\n            _this._resetDebug();\n            try {\n                return superHandler.call(_this, eventName, event);\n            }\n            catch (e) {\n                _this._rethrowWithContext(e);\n                throw e;\n            }\n        };\n    };\n    return DebugAppView;\n}(AppView));\nfunction DebugAppView_tsickle_Closure_declarations() {\n    /** @type {?} */\n    DebugAppView.prototype._currentDebugContext;\n    /** @type {?} */\n    DebugAppView.prototype.staticNodeDebugInfos;\n}\n//# sourceMappingURL=view.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/linker/view.js\n// module id = 885\n// module chunks = 0","/**\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 */\nimport { ElementRef } from './element_ref';\nimport { ViewContainerRef_ } from './view_container_ref';\nimport { ViewType } from './view_type';\n/**\n * A ViewContainer is created for elements that have a ViewContainerRef\n * to keep track of the nested views.\n */\nexport var ViewContainer = (function () {\n    /**\n     * @param {?} index\n     * @param {?} parentIndex\n     * @param {?} parentView\n     * @param {?} nativeElement\n     */\n    function ViewContainer(index, parentIndex, parentView, nativeElement) {\n        this.index = index;\n        this.parentIndex = parentIndex;\n        this.parentView = parentView;\n        this.nativeElement = nativeElement;\n    }\n    Object.defineProperty(ViewContainer.prototype, \"elementRef\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return new ElementRef(this.nativeElement); },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(ViewContainer.prototype, \"vcRef\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return new ViewContainerRef_(this); },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(ViewContainer.prototype, \"parentInjector\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this.parentView.injector(this.parentIndex); },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(ViewContainer.prototype, \"injector\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this.parentView.injector(this.index); },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @param {?} throwOnChange\n     * @return {?}\n     */\n    ViewContainer.prototype.detectChangesInNestedViews = function (throwOnChange) {\n        if (this.nestedViews) {\n            for (var /** @type {?} */ i = 0; i < this.nestedViews.length; i++) {\n                this.nestedViews[i].detectChanges(throwOnChange);\n            }\n        }\n    };\n    /**\n     * @return {?}\n     */\n    ViewContainer.prototype.destroyNestedViews = function () {\n        if (this.nestedViews) {\n            for (var /** @type {?} */ i = 0; i < this.nestedViews.length; i++) {\n                this.nestedViews[i].destroy();\n            }\n        }\n    };\n    /**\n     * @param {?} cb\n     * @param {?} c\n     * @return {?}\n     */\n    ViewContainer.prototype.visitNestedViewRootNodes = function (cb, c) {\n        if (this.nestedViews) {\n            for (var /** @type {?} */ i = 0; i < this.nestedViews.length; i++) {\n                this.nestedViews[i].visitRootNodesInternal(cb, c);\n            }\n        }\n    };\n    /**\n     * @param {?} nestedViewClass\n     * @param {?} callback\n     * @return {?}\n     */\n    ViewContainer.prototype.mapNestedViews = function (nestedViewClass, callback) {\n        var /** @type {?} */ result = [];\n        if (this.nestedViews) {\n            for (var /** @type {?} */ i = 0; i < this.nestedViews.length; i++) {\n                var /** @type {?} */ nestedView = this.nestedViews[i];\n                if (nestedView.clazz === nestedViewClass) {\n                    result.push(callback(nestedView));\n                }\n            }\n        }\n        if (this.projectedViews) {\n            for (var /** @type {?} */ i = 0; i < this.projectedViews.length; i++) {\n                var /** @type {?} */ projectedView = this.projectedViews[i];\n                if (projectedView.clazz === nestedViewClass) {\n                    result.push(callback(projectedView));\n                }\n            }\n        }\n        return result;\n    };\n    /**\n     * @param {?} view\n     * @param {?} currentIndex\n     * @return {?}\n     */\n    ViewContainer.prototype.moveView = function (view, currentIndex) {\n        var /** @type {?} */ previousIndex = this.nestedViews.indexOf(view);\n        if (view.type === ViewType.COMPONENT) {\n            throw new Error(\"Component views can't be moved!\");\n        }\n        var /** @type {?} */ nestedViews = this.nestedViews;\n        if (nestedViews == null) {\n            nestedViews = [];\n            this.nestedViews = nestedViews;\n        }\n        nestedViews.splice(previousIndex, 1);\n        nestedViews.splice(currentIndex, 0, view);\n        var /** @type {?} */ prevView = currentIndex > 0 ? nestedViews[currentIndex - 1] : null;\n        view.moveAfter(this, prevView);\n    };\n    /**\n     * @param {?} view\n     * @param {?} viewIndex\n     * @return {?}\n     */\n    ViewContainer.prototype.attachView = function (view, viewIndex) {\n        if (view.type === ViewType.COMPONENT) {\n            throw new Error(\"Component views can't be moved!\");\n        }\n        var /** @type {?} */ nestedViews = this.nestedViews;\n        if (nestedViews == null) {\n            nestedViews = [];\n            this.nestedViews = nestedViews;\n        }\n        // perf: array.push is faster than array.splice!\n        if (viewIndex >= nestedViews.length) {\n            nestedViews.push(view);\n        }\n        else {\n            nestedViews.splice(viewIndex, 0, view);\n        }\n        var /** @type {?} */ prevView = viewIndex > 0 ? nestedViews[viewIndex - 1] : null;\n        view.attachAfter(this, prevView);\n    };\n    /**\n     * @param {?} viewIndex\n     * @return {?}\n     */\n    ViewContainer.prototype.detachView = function (viewIndex) {\n        var /** @type {?} */ view = this.nestedViews[viewIndex];\n        // perf: array.pop is faster than array.splice!\n        if (viewIndex >= this.nestedViews.length - 1) {\n            this.nestedViews.pop();\n        }\n        else {\n            this.nestedViews.splice(viewIndex, 1);\n        }\n        if (view.type === ViewType.COMPONENT) {\n            throw new Error(\"Component views can't be moved!\");\n        }\n        view.detach();\n        return view;\n    };\n    return ViewContainer;\n}());\nfunction ViewContainer_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ViewContainer.prototype.nestedViews;\n    /** @type {?} */\n    ViewContainer.prototype.projectedViews;\n    /** @type {?} */\n    ViewContainer.prototype.index;\n    /** @type {?} */\n    ViewContainer.prototype.parentIndex;\n    /** @type {?} */\n    ViewContainer.prototype.parentView;\n    /** @type {?} */\n    ViewContainer.prototype.nativeElement;\n}\n//# sourceMappingURL=view_container.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/linker/view_container.js\n// module id = 886\n// module chunks = 0","/**\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 */\nimport { OpaqueToken } from '../di/opaque_token';\nimport { makeParamDecorator, makePropDecorator } from '../util/decorators';\n/**\n * This token can be used to create a virtual provider that will populate the\n * `entryComponents` fields of components and ng modules based on its `useValue`.\n * All components that are referenced in the `useValue` value (either directly\n * or in a nested array or map) will be added to the `entryComponents` property.\n *\n * ### Example\n * The following example shows how the router can populate the `entryComponents`\n * field of an NgModule based on the router configuration which refers\n * to components.\n *\n * ```typescript\n * // helper function inside the router\n * function provideRoutes(routes) {\n *   return [\n *     {provide: ROUTES, useValue: routes},\n *     {provide: ANALYZE_FOR_ENTRY_COMPONENTS, useValue: routes, multi: true}\n *   ];\n * }\n *\n * // user code\n * let routes = [\n *   {path: '/root', component: RootComp},\n *   {path: '/teams', component: TeamsComp}\n * ];\n *\n * @NgModule({\n *   providers: [provideRoutes(routes)]\n * })\n * class ModuleWithRoutes {}\n * ```\n *\n * @experimental\n */\nexport var /** @type {?} */ ANALYZE_FOR_ENTRY_COMPONENTS = new OpaqueToken('AnalyzeForEntryComponents');\n/**\n * Attribute decorator and metadata.\n *\n * @stable\n * @Annotation\n */\nexport var /** @type {?} */ Attribute = makeParamDecorator('Attribute', [['attributeName', undefined]]);\n/**\n * Base class for query metadata.\n *\n * See {\\@link ContentChildren}, {\\@link ContentChild}, {\\@link ViewChildren}, {\\@link ViewChild} for\n * more information.\n *\n * \\@stable\n * @abstract\n */\nexport var Query = (function () {\n    function Query() {\n    }\n    return Query;\n}());\n/**\n * ContentChildren decorator and metadata.\n *\n *  @stable\n *  @Annotation\n */\nexport var /** @type {?} */ ContentChildren = (makePropDecorator('ContentChildren', [\n    ['selector', undefined], {\n        first: false,\n        isViewQuery: false,\n        descendants: false,\n        read: undefined,\n    }\n], Query));\n/**\n * ContentChild decorator and metadata.\n *\n * @stable\n * @Annotation\n */\nexport var /** @type {?} */ ContentChild = makePropDecorator('ContentChild', [\n    ['selector', undefined], {\n        first: true,\n        isViewQuery: false,\n        descendants: true,\n        read: undefined,\n    }\n], Query);\n/**\n * ViewChildren decorator and metadata.\n *\n * @stable\n * @Annotation\n */\nexport var /** @type {?} */ ViewChildren = makePropDecorator('ViewChildren', [\n    ['selector', undefined], {\n        first: false,\n        isViewQuery: true,\n        descendants: true,\n        read: undefined,\n    }\n], Query);\n/**\n * ViewChild decorator and metadata.\n *\n * @stable\n * @Annotation\n */\nexport var /** @type {?} */ ViewChild = makePropDecorator('ViewChild', [\n    ['selector', undefined], {\n        first: true,\n        isViewQuery: true,\n        descendants: true,\n        read: undefined,\n    }\n], Query);\n//# sourceMappingURL=di.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/metadata/di.js\n// module id = 887\n// module chunks = 0","/**\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 */\nimport { ChangeDetectionStrategy } from '../change_detection/constants';\nimport { makeDecorator, makePropDecorator } from '../util/decorators';\n/**\n * Directive decorator and metadata.\n *\n * @stable\n * @Annotation\n */\nexport var /** @type {?} */ Directive = (makeDecorator('Directive', {\n    selector: undefined,\n    inputs: undefined,\n    outputs: undefined,\n    host: undefined,\n    providers: undefined,\n    exportAs: undefined,\n    queries: undefined\n}));\n/**\n * Component decorator and metadata.\n *\n * @stable\n * @Annotation\n */\nexport var /** @type {?} */ Component = (makeDecorator('Component', {\n    selector: undefined,\n    inputs: undefined,\n    outputs: undefined,\n    host: undefined,\n    exportAs: undefined,\n    moduleId: undefined,\n    providers: undefined,\n    viewProviders: undefined,\n    changeDetection: ChangeDetectionStrategy.Default,\n    queries: undefined,\n    templateUrl: undefined,\n    template: undefined,\n    styleUrls: undefined,\n    styles: undefined,\n    animations: undefined,\n    encapsulation: undefined,\n    interpolation: undefined,\n    entryComponents: undefined\n}, Directive));\n/**\n * Pipe decorator and metadata.\n *\n * @stable\n * @Annotation\n */\nexport var /** @type {?} */ Pipe = (makeDecorator('Pipe', {\n    name: undefined,\n    pure: true,\n}));\n/**\n * Input decorator and metadata.\n *\n * @stable\n * @Annotation\n */\nexport var /** @type {?} */ Input = makePropDecorator('Input', [['bindingPropertyName', undefined]]);\n/**\n * Output decorator and metadata.\n *\n * @stable\n * @Annotation\n */\nexport var /** @type {?} */ Output = makePropDecorator('Output', [['bindingPropertyName', undefined]]);\n/**\n * HostBinding decorator and metadata.\n *\n * @stable\n * @Annotation\n */\nexport var /** @type {?} */ HostBinding = makePropDecorator('HostBinding', [['hostPropertyName', undefined]]);\n/**\n * HostListener decorator and metadata.\n *\n * @stable\n * @Annotation\n */\nexport var /** @type {?} */ HostListener = makePropDecorator('HostListener', [['eventName', undefined], ['args', []]]);\n//# sourceMappingURL=directives.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/metadata/directives.js\n// module id = 888\n// module chunks = 0","/**\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 */\nimport { makeDecorator } from '../util/decorators';\n/**\n * Defines a schema that will allow:\n * - any non-Angular elements with a `-` in their name,\n * - any properties on elements with a `-` in their name which is the common rule for custom\n * elements.\n *\n * @stable\n */\nexport var /** @type {?} */ CUSTOM_ELEMENTS_SCHEMA = {\n    name: 'custom-elements'\n};\n/**\n * Defines a schema that will allow any property on any element.\n *\n * @experimental\n */\nexport var /** @type {?} */ NO_ERRORS_SCHEMA = {\n    name: 'no-errors-schema'\n};\n/**\n * NgModule decorator and metadata.\n *\n * @stable\n * @Annotation\n */\nexport var /** @type {?} */ NgModule = (makeDecorator('NgModule', {\n    providers: undefined,\n    declarations: undefined,\n    imports: undefined,\n    exports: undefined,\n    entryComponents: undefined,\n    bootstrap: undefined,\n    schemas: undefined,\n    id: undefined,\n}));\n//# sourceMappingURL=ng_module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/metadata/ng_module.js\n// module id = 889\n// module chunks = 0","/**\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 */\nimport { PlatformRef, PlatformRef_, createPlatformFactory } from './application_ref';\nimport { Console } from './console';\nimport { Reflector, reflector } from './reflection/reflection';\nimport { ReflectorReader } from './reflection/reflector_reader';\nimport { TestabilityRegistry } from './testability/testability';\n/**\n * @return {?}\n */\nfunction _reflector() {\n    return reflector;\n}\nvar /** @type {?} */ _CORE_PLATFORM_PROVIDERS = [\n    PlatformRef_,\n    { provide: PlatformRef, useExisting: PlatformRef_ },\n    { provide: Reflector, useFactory: _reflector, deps: [] },\n    { provide: ReflectorReader, useExisting: Reflector },\n    TestabilityRegistry,\n    Console,\n];\n/**\n * This platform has to be included in any other platform\n *\n * @experimental\n */\nexport var /** @type {?} */ platformCore = createPlatformFactory(null, 'core', _CORE_PLATFORM_PROVIDERS);\n//# sourceMappingURL=platform_core_providers.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/platform_core_providers.js\n// module id = 890\n// module chunks = 0","/**\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 */\nimport { global } from '../facade/lang';\nvar /** @type {?} */ trace;\nvar /** @type {?} */ events;\n/**\n * @return {?}\n */\nexport function detectWTF() {\n    var /** @type {?} */ wtf = ((global) /** TODO #9100 */)['wtf'];\n    if (wtf) {\n        trace = wtf['trace'];\n        if (trace) {\n            events = trace['events'];\n            return true;\n        }\n    }\n    return false;\n}\n/**\n * @param {?} signature\n * @param {?=} flags\n * @return {?}\n */\nexport function createScope(signature, flags) {\n    if (flags === void 0) { flags = null; }\n    return events.createScope(signature, flags);\n}\n/**\n * @param {?} scope\n * @param {?=} returnValue\n * @return {?}\n */\nexport function leave(scope, returnValue) {\n    trace.leaveScope(scope, returnValue);\n    return returnValue;\n}\n/**\n * @param {?} rangeType\n * @param {?} action\n * @return {?}\n */\nexport function startTimeRange(rangeType, action) {\n    return trace.beginTimeRange(rangeType, action);\n}\n/**\n * @param {?} range\n * @return {?}\n */\nexport function endTimeRange(range) {\n    trace.endTimeRange(range);\n}\n//# sourceMappingURL=wtf_impl.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/profile/wtf_impl.js\n// module id = 891\n// module chunks = 0","/**\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// Public API for render\nexport { RenderComponentType, Renderer, RootRenderer } from './render/api';\n//# sourceMappingURL=render.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/render.js\n// module id = 892\n// module chunks = 0","/**\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// Public API for util\nexport { Class } from './util/decorators';\n//# sourceMappingURL=util.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/util.js\n// module id = 893\n// module chunks = 0","/**\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// Public API for Zone\nexport { NgZone } from './zone/ng_zone';\n//# sourceMappingURL=zone.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/core/src/zone.js\n// module id = 894\n// module chunks = 0","/**\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 */\nimport { NgModule } from '@angular/core';\nimport { CheckboxControlValueAccessor } from './directives/checkbox_value_accessor';\nimport { DefaultValueAccessor } from './directives/default_value_accessor';\nimport { NgControlStatus, NgControlStatusGroup } from './directives/ng_control_status';\nimport { NgForm } from './directives/ng_form';\nimport { NgModel } from './directives/ng_model';\nimport { NgModelGroup } from './directives/ng_model_group';\nimport { NumberValueAccessor } from './directives/number_value_accessor';\nimport { RadioControlValueAccessor } from './directives/radio_control_value_accessor';\nimport { RangeValueAccessor } from './directives/range_value_accessor';\nimport { FormControlDirective } from './directives/reactive_directives/form_control_directive';\nimport { FormControlName } from './directives/reactive_directives/form_control_name';\nimport { FormGroupDirective } from './directives/reactive_directives/form_group_directive';\nimport { FormArrayName, FormGroupName } from './directives/reactive_directives/form_group_name';\nimport { NgSelectOption, SelectControlValueAccessor } from './directives/select_control_value_accessor';\nimport { NgSelectMultipleOption, SelectMultipleControlValueAccessor } from './directives/select_multiple_control_value_accessor';\nimport { CheckboxRequiredValidator, MaxLengthValidator, MinLengthValidator, PatternValidator, RequiredValidator } from './directives/validators';\nexport { CheckboxControlValueAccessor } from './directives/checkbox_value_accessor';\nexport { DefaultValueAccessor } from './directives/default_value_accessor';\nexport { NgControl } from './directives/ng_control';\nexport { NgControlStatus, NgControlStatusGroup } from './directives/ng_control_status';\nexport { NgForm } from './directives/ng_form';\nexport { NgModel } from './directives/ng_model';\nexport { NgModelGroup } from './directives/ng_model_group';\nexport { NumberValueAccessor } from './directives/number_value_accessor';\nexport { RadioControlValueAccessor } from './directives/radio_control_value_accessor';\nexport { RangeValueAccessor } from './directives/range_value_accessor';\nexport { FormControlDirective } from './directives/reactive_directives/form_control_directive';\nexport { FormControlName } from './directives/reactive_directives/form_control_name';\nexport { FormGroupDirective } from './directives/reactive_directives/form_group_directive';\nexport { FormArrayName, FormGroupName } from './directives/reactive_directives/form_group_name';\nexport { NgSelectOption, SelectControlValueAccessor } from './directives/select_control_value_accessor';\nexport { NgSelectMultipleOption, SelectMultipleControlValueAccessor } from './directives/select_multiple_control_value_accessor';\nexport var /** @type {?} */ SHARED_FORM_DIRECTIVES = [\n    NgSelectOption,\n    NgSelectMultipleOption,\n    DefaultValueAccessor,\n    NumberValueAccessor,\n    RangeValueAccessor,\n    CheckboxControlValueAccessor,\n    SelectControlValueAccessor,\n    SelectMultipleControlValueAccessor,\n    RadioControlValueAccessor,\n    NgControlStatus,\n    NgControlStatusGroup,\n    RequiredValidator,\n    MinLengthValidator,\n    MaxLengthValidator,\n    PatternValidator,\n    CheckboxRequiredValidator,\n];\nexport var /** @type {?} */ TEMPLATE_DRIVEN_DIRECTIVES = [NgModel, NgModelGroup, NgForm];\nexport var /** @type {?} */ REACTIVE_DRIVEN_DIRECTIVES = [FormControlDirective, FormGroupDirective, FormControlName, FormGroupName, FormArrayName];\n/**\n * Internal module used for sharing directives between FormsModule and ReactiveFormsModule\n */\nexport var InternalFormsSharedModule = (function () {\n    function InternalFormsSharedModule() {\n    }\n    InternalFormsSharedModule.decorators = [\n        { type: NgModule, args: [{\n                    declarations: SHARED_FORM_DIRECTIVES,\n                    exports: SHARED_FORM_DIRECTIVES,\n                },] },\n    ];\n    /** @nocollapse */\n    InternalFormsSharedModule.ctorParameters = function () { return []; };\n    return InternalFormsSharedModule;\n}());\nfunction InternalFormsSharedModule_tsickle_Closure_declarations() {\n    /** @type {?} */\n    InternalFormsSharedModule.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    InternalFormsSharedModule.ctorParameters;\n}\n//# sourceMappingURL=directives.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/forms/src/directives.js\n// module id = 895\n// module chunks = 0","/**\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/**\n * @param {?} validator\n * @return {?}\n */\nexport function normalizeValidator(validator) {\n    if (((validator)).validate) {\n        return function (c) { return ((validator)).validate(c); };\n    }\n    else {\n        return (validator);\n    }\n}\n/**\n * @param {?} validator\n * @return {?}\n */\nexport function normalizeAsyncValidator(validator) {\n    if (((validator)).validate) {\n        return function (c) { return ((validator)).validate(c); };\n    }\n    else {\n        return (validator);\n    }\n}\n//# sourceMappingURL=normalize_validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/forms/src/directives/normalize_validator.js\n// module id = 896\n// module chunks = 0","/**\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 */\nimport { NgModule } from '@angular/core';\nimport { InternalFormsSharedModule, REACTIVE_DRIVEN_DIRECTIVES, TEMPLATE_DRIVEN_DIRECTIVES } from './directives';\nimport { RadioControlRegistry } from './directives/radio_control_value_accessor';\nimport { FormBuilder } from './form_builder';\n/**\n * The ng module for forms.\n * \\@stable\n */\nexport var FormsModule = (function () {\n    function FormsModule() {\n    }\n    FormsModule.decorators = [\n        { type: NgModule, args: [{\n                    declarations: TEMPLATE_DRIVEN_DIRECTIVES,\n                    providers: [RadioControlRegistry],\n                    exports: [InternalFormsSharedModule, TEMPLATE_DRIVEN_DIRECTIVES]\n                },] },\n    ];\n    /** @nocollapse */\n    FormsModule.ctorParameters = function () { return []; };\n    return FormsModule;\n}());\nfunction FormsModule_tsickle_Closure_declarations() {\n    /** @type {?} */\n    FormsModule.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    FormsModule.ctorParameters;\n}\n/**\n * The ng module for reactive forms.\n * \\@stable\n */\nexport var ReactiveFormsModule = (function () {\n    function ReactiveFormsModule() {\n    }\n    ReactiveFormsModule.decorators = [\n        { type: NgModule, args: [{\n                    declarations: [REACTIVE_DRIVEN_DIRECTIVES],\n                    providers: [FormBuilder, RadioControlRegistry],\n                    exports: [InternalFormsSharedModule, REACTIVE_DRIVEN_DIRECTIVES]\n                },] },\n    ];\n    /** @nocollapse */\n    ReactiveFormsModule.ctorParameters = function () { return []; };\n    return ReactiveFormsModule;\n}());\nfunction ReactiveFormsModule_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ReactiveFormsModule.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    ReactiveFormsModule.ctorParameters;\n}\n//# sourceMappingURL=form_providers.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/forms/src/form_providers.js\n// module id = 897\n// module chunks = 0","/**\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/**\n * @module\n * @description\n * This module is used for handling user input, by defining and building a {@link FormGroup} that\n * consists of {@link FormControl} objects, and mapping them onto the DOM. {@link FormControl}\n * objects can then be used to read information from the form DOM elements.\n *\n * Forms providers are not included in default providers; you must import these providers\n * explicitly.\n */\nexport { AbstractControlDirective } from './directives/abstract_control_directive';\nexport { AbstractFormGroupDirective } from './directives/abstract_form_group_directive';\nexport { CheckboxControlValueAccessor } from './directives/checkbox_value_accessor';\nexport { ControlContainer } from './directives/control_container';\nexport { NG_VALUE_ACCESSOR } from './directives/control_value_accessor';\nexport { DefaultValueAccessor } from './directives/default_value_accessor';\nexport { NgControl } from './directives/ng_control';\nexport { NgControlStatus, NgControlStatusGroup } from './directives/ng_control_status';\nexport { NgForm } from './directives/ng_form';\nexport { NgModel } from './directives/ng_model';\nexport { NgModelGroup } from './directives/ng_model_group';\nexport { RadioControlValueAccessor } from './directives/radio_control_value_accessor';\nexport { FormControlDirective } from './directives/reactive_directives/form_control_directive';\nexport { FormControlName } from './directives/reactive_directives/form_control_name';\nexport { FormGroupDirective } from './directives/reactive_directives/form_group_directive';\nexport { FormArrayName } from './directives/reactive_directives/form_group_name';\nexport { FormGroupName } from './directives/reactive_directives/form_group_name';\nexport { NgSelectOption, SelectControlValueAccessor } from './directives/select_control_value_accessor';\nexport { SelectMultipleControlValueAccessor } from './directives/select_multiple_control_value_accessor';\nexport { CheckboxRequiredValidator, MaxLengthValidator, MinLengthValidator, PatternValidator, RequiredValidator } from './directives/validators';\nexport { FormBuilder } from './form_builder';\nexport { AbstractControl, FormArray, FormControl, FormGroup } from './model';\nexport { NG_ASYNC_VALIDATORS, NG_VALIDATORS, Validators } from './validators';\nexport { VERSION } from './version';\nexport { FormsModule, ReactiveFormsModule } from './form_providers';\n//# sourceMappingURL=forms.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/forms/src/forms.js\n// module id = 898\n// module chunks = 0","/**\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 */\nimport { Version } from '@angular/core';\n/**\n * @stable\n */\nexport var /** @type {?} */ VERSION = new Version('2.4.9');\n//# sourceMappingURL=version.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/forms/src/version.js\n// module id = 899\n// module chunks = 0","/**\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 */\nimport { NgModule } from '@angular/core';\nimport { BrowserJsonp } from './backends/browser_jsonp';\nimport { BrowserXhr } from './backends/browser_xhr';\nimport { JSONPBackend, JSONPBackend_ } from './backends/jsonp_backend';\nimport { CookieXSRFStrategy, XHRBackend } from './backends/xhr_backend';\nimport { BaseRequestOptions, RequestOptions } from './base_request_options';\nimport { BaseResponseOptions, ResponseOptions } from './base_response_options';\nimport { Http, Jsonp } from './http';\nimport { XSRFStrategy } from './interfaces';\n/**\n * @return {?}\n */\nexport function _createDefaultCookieXSRFStrategy() {\n    return new CookieXSRFStrategy();\n}\n/**\n * @param {?} xhrBackend\n * @param {?} requestOptions\n * @return {?}\n */\nexport function httpFactory(xhrBackend, requestOptions) {\n    return new Http(xhrBackend, requestOptions);\n}\n/**\n * @param {?} jsonpBackend\n * @param {?} requestOptions\n * @return {?}\n */\nexport function jsonpFactory(jsonpBackend, requestOptions) {\n    return new Jsonp(jsonpBackend, requestOptions);\n}\n/**\n * The module that includes http's providers\n *\n * \\@experimental\n */\nexport var HttpModule = (function () {\n    function HttpModule() {\n    }\n    HttpModule.decorators = [\n        { type: NgModule, args: [{\n                    providers: [\n                        // TODO(pascal): use factory type annotations once supported in DI\n                        // issue: https://github.com/angular/angular/issues/3183\n                        { provide: Http, useFactory: httpFactory, deps: [XHRBackend, RequestOptions] },\n                        BrowserXhr,\n                        { provide: RequestOptions, useClass: BaseRequestOptions },\n                        { provide: ResponseOptions, useClass: BaseResponseOptions },\n                        XHRBackend,\n                        { provide: XSRFStrategy, useFactory: _createDefaultCookieXSRFStrategy },\n                    ],\n                },] },\n    ];\n    /** @nocollapse */\n    HttpModule.ctorParameters = function () { return []; };\n    return HttpModule;\n}());\nfunction HttpModule_tsickle_Closure_declarations() {\n    /** @type {?} */\n    HttpModule.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    HttpModule.ctorParameters;\n}\n/**\n * The module that includes jsonp's providers\n *\n * \\@experimental\n */\nexport var JsonpModule = (function () {\n    function JsonpModule() {\n    }\n    JsonpModule.decorators = [\n        { type: NgModule, args: [{\n                    providers: [\n                        // TODO(pascal): use factory type annotations once supported in DI\n                        // issue: https://github.com/angular/angular/issues/3183\n                        { provide: Jsonp, useFactory: jsonpFactory, deps: [JSONPBackend, RequestOptions] },\n                        BrowserJsonp,\n                        { provide: RequestOptions, useClass: BaseRequestOptions },\n                        { provide: ResponseOptions, useClass: BaseResponseOptions },\n                        { provide: JSONPBackend, useClass: JSONPBackend_ },\n                    ],\n                },] },\n    ];\n    /** @nocollapse */\n    JsonpModule.ctorParameters = function () { return []; };\n    return JsonpModule;\n}());\nfunction JsonpModule_tsickle_Closure_declarations() {\n    /** @type {?} */\n    JsonpModule.decorators;\n    /**\n     * @nocollapse\n     * @type {?}\n     */\n    JsonpModule.ctorParameters;\n}\n//# sourceMappingURL=http_module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/http/src/http_module.js\n// module id = 900\n// module chunks = 0","/**\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 */\nexport { BrowserXhr } from './backends/browser_xhr';\nexport { JSONPBackend, JSONPConnection } from './backends/jsonp_backend';\nexport { CookieXSRFStrategy, XHRBackend, XHRConnection } from './backends/xhr_backend';\nexport { BaseRequestOptions, RequestOptions } from './base_request_options';\nexport { BaseResponseOptions, ResponseOptions } from './base_response_options';\nexport { ReadyState, RequestMethod, ResponseContentType, ResponseType } from './enums';\nexport { Headers } from './headers';\nexport { Http, Jsonp } from './http';\nexport { HttpModule, JsonpModule } from './http_module';\nexport { Connection, ConnectionBackend, XSRFStrategy } from './interfaces';\nexport { Request } from './static_request';\nexport { Response } from './static_response';\nexport { QueryEncoder, URLSearchParams } from './url_search_params';\nexport { VERSION } from './version';\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/http/src/index.js\n// module id = 901\n// module chunks = 0","/**\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 */\nimport { Version } from '@angular/core';\n/**\n * @stable\n */\nexport var /** @type {?} */ VERSION = new Version('2.4.9');\n//# sourceMappingURL=version.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/http/src/version.js\n// module id = 902\n// module chunks = 0","/**\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/**\n * @module\n * @description\n * Entry point for all public APIs of the platform-browser-dynamic package.\n */\nexport * from './src/platform-browser-dynamic';\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/platform-browser-dynamic/index.js\n// module id = 903\n// module chunks = 0","/**\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 */\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    }\n    else {\n        globalScope = global;\n    }\n}\nelse {\n    globalScope = window;\n}\nexport function scheduleMicroTask(fn) {\n    Zone.current.scheduleMicroTask('scheduleMicrotask', fn);\n}\n// Need to declare a new variable for global here since TypeScript\n// exports the original value of the symbol.\nvar _global = globalScope;\nexport { _global as global };\nexport function getTypeNameForDebugging(type) {\n    return type['name'] || typeof type;\n}\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};\nexport function isPresent(obj) {\n    return obj != null;\n}\nexport function isBlank(obj) {\n    return obj == null;\n}\nvar STRING_MAP_PROTO = Object.getPrototypeOf({});\nexport function isStrictStringMap(obj) {\n    return typeof obj === 'object' && obj !== null && Object.getPrototypeOf(obj) === STRING_MAP_PROTO;\n}\nexport function stringify(token) {\n    if (typeof token === 'string') {\n        return token;\n    }\n    if (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}\nexport var NumberWrapper = (function () {\n    function NumberWrapper() {\n    }\n    NumberWrapper.parseIntAutoRadix = function (text) {\n        var result = parseInt(text);\n        if (isNaN(result)) {\n            throw new Error('Invalid integer literal when parsing ' + text);\n        }\n        return result;\n    };\n    NumberWrapper.isNumeric = function (value) { return !isNaN(value - parseFloat(value)); };\n    return NumberWrapper;\n}());\n// JS has NaN !== NaN\nexport function looseIdentical(a, b) {\n    return a === b || typeof a === 'number' && typeof b === 'number' && isNaN(a) && isNaN(b);\n}\nexport function isJsObject(o) {\n    return o !== null && (typeof o === 'function' || typeof o === 'object');\n}\nexport function print(obj) {\n    // tslint:disable-next-line:no-console\n    console.log(obj);\n}\nexport function warn(obj) {\n    console.warn(obj);\n}\nexport function setValueOnPath(global, path, value) {\n    var parts = path.split('.');\n    var obj = global;\n    while (parts.length > 1) {\n        var name_1 = parts.shift();\n        if (obj.hasOwnProperty(name_1) && obj[name_1] != null) {\n            obj = obj[name_1];\n        }\n        else {\n            obj = obj[name_1] = {};\n        }\n    }\n    if (obj === undefined || obj === null) {\n        obj = {};\n    }\n    obj[parts.shift()] = value;\n}\nvar _symbolIterator = null;\nexport function getSymbolIterator() {\n    if (!_symbolIterator) {\n        if (globalScope.Symbol && Symbol.iterator) {\n            _symbolIterator = Symbol.iterator;\n        }\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' &&\n                    Map.prototype[key] === Map.prototype['entries']) {\n                    _symbolIterator = key;\n                }\n            }\n        }\n    }\n    return _symbolIterator;\n}\nexport function isPrimitive(obj) {\n    return !isJsObject(obj);\n}\nexport function escapeRegExp(s) {\n    return s.replace(/([.*+?^=!:${}()|[\\]\\/\\\\])/g, '\\\\$1');\n}\n//# sourceMappingURL=lang.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/platform-browser-dynamic/src/facade/lang.js\n// module id = 904\n// module chunks = 0","/**\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 */\nimport { ResourceLoader, platformCoreDynamic } from '@angular/compiler';\nimport { createPlatformFactory } from '@angular/core';\nimport { INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS } from './platform_providers';\nimport { CachedResourceLoader } from './resource_loader/resource_loader_cache';\nexport * from './private_export';\nexport { VERSION } from './version';\n/**\n * @experimental\n */\nexport var RESOURCE_CACHE_PROVIDER = [{ provide: ResourceLoader, useClass: CachedResourceLoader }];\n/**\n * @stable\n */\nexport var platformBrowserDynamic = createPlatformFactory(platformCoreDynamic, 'browserDynamic', INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS);\n//# sourceMappingURL=platform-browser-dynamic.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/platform-browser-dynamic/src/platform-browser-dynamic.js\n// module id = 905\n// module chunks = 0","/**\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 */\nimport { INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS } from './platform_providers';\nimport * as resource_loader from './resource_loader/resource_loader_impl';\nexport var __platform_browser_dynamic_private__ = {\n    INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS: INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS,\n    ResourceLoaderImpl: resource_loader.ResourceLoaderImpl\n};\n//# sourceMappingURL=private_export.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/platform-browser-dynamic/src/private_export.js\n// module id = 906\n// module chunks = 0","/**\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 */\nimport { __platform_browser_private__ as _ } from '@angular/platform-browser';\nexport var INTERNAL_BROWSER_PLATFORM_PROVIDERS = _.INTERNAL_BROWSER_PLATFORM_PROVIDERS;\nexport var getDOM = _.getDOM;\n//# sourceMappingURL=private_import_platform-browser.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/platform-browser-dynamic/src/private_import_platform-browser.js\n// module id = 907\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { ResourceLoader } from '@angular/compiler';\nimport { global } from '../facade/lang';\n/**\n * An implementation of ResourceLoader that uses a template cache to avoid doing an actual\n * ResourceLoader.\n *\n * The template cache needs to be built and loaded into window.$templateCache\n * via a separate mechanism.\n */\nexport var CachedResourceLoader = (function (_super) {\n    __extends(CachedResourceLoader, _super);\n    function CachedResourceLoader() {\n        _super.call(this);\n        this._cache = global.$templateCache;\n        if (this._cache == null) {\n            throw new Error('CachedResourceLoader: Template cache was not found in $templateCache.');\n        }\n    }\n    CachedResourceLoader.prototype.get = function (url) {\n        if (this._cache.hasOwnProperty(url)) {\n            return Promise.resolve(this._cache[url]);\n        }\n        else {\n            return Promise.reject('CachedResourceLoader: Did not find cached template for ' + url);\n        }\n    };\n    return CachedResourceLoader;\n}(ResourceLoader));\n//# sourceMappingURL=resource_loader_cache.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/platform-browser-dynamic/src/resource_loader/resource_loader_cache.js\n// module id = 908\n// module chunks = 0","/**\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 */\nimport { Version } from '@angular/core';\n/**\n * @stable\n */\nexport var VERSION = new Version('2.4.9');\n//# sourceMappingURL=version.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/platform-browser-dynamic/src/version.js\n// module id = 909\n// module chunks = 0","/**\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 */\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nimport { DomAdapter } from '../dom/dom_adapter';\nimport { isPresent } from '../facade/lang';\n/**\n * Provides DOM operations in any browser environment.\n *\n * \\@security Tread carefully! Interacting with the DOM directly is dangerous and\n * can introduce XSS risks.\n * @abstract\n */\nexport var GenericBrowserDomAdapter = (function (_super) {\n    __extends(GenericBrowserDomAdapter, _super);\n    function GenericBrowserDomAdapter() {\n        var _this = this;\n        _super.call(this);\n        this._animationPrefix = null;\n        this._transitionEnd = null;\n        try {\n            var element_1 = this.createElement('div', this.defaultDoc());\n            if (isPresent(this.getStyle(element_1, 'animationName'))) {\n                this._animationPrefix = '';\n            }\n            else {\n                var domPrefixes = ['Webkit', 'Moz', 'O', 'ms'];\n                for (var i = 0; i < domPrefixes.length; i++) {\n                    if (isPresent(this.getStyle(element_1, domPrefixes[i] + 'AnimationName'))) {\n                        this._animationPrefix = '-' + domPrefixes[i].toLowerCase() + '-';\n                        break;\n                    }\n                }\n            }\n            var transEndEventNames_1 = {\n                WebkitTransition: 'webkitTransitionEnd',\n                MozTransition: 'transitionend',\n                OTransition: 'oTransitionEnd otransitionend',\n                transition: 'transitionend'\n            };\n            Object.keys(transEndEventNames_1).forEach(function (key) {\n                if (isPresent(_this.getStyle(element_1, key))) {\n                    _this._transitionEnd = transEndEventNames_1[key];\n                }\n            });\n        }\n        catch (e) {\n            this._animationPrefix = null;\n            this._transitionEnd = null;\n        }\n    }\n    /**\n     * @param {?} el\n     * @return {?}\n     */\n    GenericBrowserDomAdapter.prototype.getDistributedNodes = function (el) { return ((el)).getDistributedNodes(); };\n    /**\n     * @param {?} el\n     * @param {?} baseUrl\n     * @param {?} href\n     * @return {?}\n     */\n    GenericBrowserDomAdapter.prototype.resolveAndSetHref = function (el, baseUrl, href) {\n        el.href = href == null ? baseUrl : baseUrl + '/../' + href;\n    };\n    /**\n     * @return {?}\n     */\n    GenericBrowserDomAdapter.prototype.supportsDOMEvents = function () { return true; };\n    /**\n     * @return {?}\n     */\n    GenericBrowserDomAdapter.prototype.supportsNativeShadowDOM = function () {\n        return typeof ((this.defaultDoc().body)).createShadowRoot === 'function';\n    };\n    /**\n     * @return {?}\n     */\n    GenericBrowserDomAdapter.prototype.getAnimationPrefix = function () { return this._animationPrefix ? this._animationPrefix : ''; };\n    /**\n     * @return {?}\n     */\n    GenericBrowserDomAdapter.prototype.getTransitionEnd = function () { return this._transitionEnd ? this._transitionEnd : ''; };\n    /**\n     * @return {?}\n     */\n    GenericBrowserDomAdapter.prototype.supportsAnimation = function () {\n        return isPresent(this._animationPrefix) && isPresent(this._transitionEnd);\n    };\n    return GenericBrowserDomAdapter;\n}(DomAdapter));\nfunction GenericBrowserDomAdapter_tsickle_Closure_declarations() {\n    /** @type {?} */\n    GenericBrowserDomAdapter.prototype._animationPrefix;\n    /** @type {?} */\n    GenericBrowserDomAdapter.prototype._transitionEnd;\n}\n//# sourceMappingURL=generic_browser_adapter.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/platform-browser/src/browser/generic_browser_adapter.js\n// module id = 910\n// module chunks = 0","/**\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 * @return {?}\n */\nexport function supportsState() {\n    return !!window.history.pushState;\n}\n//# sourceMappingURL=history.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/platform-browser/src/browser/location/history.js\n// module id = 911\n// module chunks = 0","/**\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 */\nimport { ApplicationRef } from '@angular/core';\nimport { getDOM } from '../../dom/dom_adapter';\nimport { window } from '../../facade/browser';\nimport { isPresent } from '../../facade/lang';\nexport var ChangeDetectionPerfRecord = (function () {\n    /**\n     * @param {?} msPerTick\n     * @param {?} numTicks\n     */\n    function ChangeDetectionPerfRecord(msPerTick, numTicks) {\n        this.msPerTick = msPerTick;\n        this.numTicks = numTicks;\n    }\n    return ChangeDetectionPerfRecord;\n}());\nfunction ChangeDetectionPerfRecord_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ChangeDetectionPerfRecord.prototype.msPerTick;\n    /** @type {?} */\n    ChangeDetectionPerfRecord.prototype.numTicks;\n}\n/**\n * Entry point for all Angular debug tools. This object corresponds to the `ng`\n * global variable accessible in the dev console.\n */\nexport var AngularTools = (function () {\n    /**\n     * @param {?} ref\n     */\n    function AngularTools(ref) {\n        this.profiler = new AngularProfiler(ref);\n    }\n    return AngularTools;\n}());\nfunction AngularTools_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AngularTools.prototype.profiler;\n}\n/**\n * Entry point for all Angular profiling-related debug tools. This object\n * corresponds to the `ng.profiler` in the dev console.\n */\nexport var AngularProfiler = (function () {\n    /**\n     * @param {?} ref\n     */\n    function AngularProfiler(ref) {\n        this.appRef = ref.injector.get(ApplicationRef);\n    }\n    /**\n     * Exercises change detection in a loop and then prints the average amount of\n     * time in milliseconds how long a single round of change detection takes for\n     * the current state of the UI. It runs a minimum of 5 rounds for a minimum\n     * of 500 milliseconds.\n     *\n     * Optionally, a user may pass a `config` parameter containing a map of\n     * options. Supported options are:\n     *\n     * `record` (boolean) - causes the profiler to record a CPU profile while\n     * it exercises the change detector. Example:\n     *\n     * ```\n     * ng.profiler.timeChangeDetection({record: true})\n     * ```\n     * @param {?} config\n     * @return {?}\n     */\n    AngularProfiler.prototype.timeChangeDetection = function (config) {\n        var /** @type {?} */ record = config && config['record'];\n        var /** @type {?} */ profileName = 'Change Detection';\n        // Profiler is not available in Android browsers, nor in IE 9 without dev tools opened\n        var /** @type {?} */ isProfilerAvailable = isPresent(window.console.profile);\n        if (record && isProfilerAvailable) {\n            window.console.profile(profileName);\n        }\n        var /** @type {?} */ start = getDOM().performanceNow();\n        var /** @type {?} */ numTicks = 0;\n        while (numTicks < 5 || (getDOM().performanceNow() - start) < 500) {\n            this.appRef.tick();\n            numTicks++;\n        }\n        var /** @type {?} */ end = getDOM().performanceNow();\n        if (record && isProfilerAvailable) {\n            // need to cast to <any> because type checker thinks there's no argument\n            // while in fact there is:\n            //\n            // https://developer.mozilla.org/en-US/docs/Web/API/Console/profileEnd\n            ((window.console.profileEnd))(profileName);\n        }\n        var /** @type {?} */ msPerTick = (end - start) / numTicks;\n        window.console.log(\"ran \" + numTicks + \" change detection cycles\");\n        window.console.log(msPerTick.toFixed(2) + \" ms per check\");\n        return new ChangeDetectionPerfRecord(msPerTick, numTicks);\n    };\n    return AngularProfiler;\n}());\nfunction AngularProfiler_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AngularProfiler.prototype.appRef;\n}\n//# sourceMappingURL=common_tools.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/platform-browser/src/browser/tools/common_tools.js\n// module id = 912\n// module chunks = 0","/**\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 */\nimport { global } from '../../facade/lang';\nimport { AngularTools } from './common_tools';\nvar /** @type {?} */ context = (global);\n/**\n * Enabled Angular 2 debug tools that are accessible via your browser's\n * developer console.\n *\n * Usage:\n *\n * 1. Open developer console (e.g. in Chrome Ctrl + Shift + j)\n * 1. Type `ng.` (usually the console will show auto-complete suggestion)\n * 1. Try the change detection profiler `ng.profiler.timeChangeDetection()`\n *    then hit Enter.\n *\n * \\@experimental All debugging apis are currently experimental.\n * @param {?} ref\n * @return {?}\n */\nexport function enableDebugTools(ref) {\n    ((Object)).assign(context.ng, new AngularTools(ref));\n    return ref;\n}\n/**\n * Disables Angular 2 tools.\n *\n * \\@experimental All debugging apis are currently experimental.\n * @return {?}\n */\nexport function disableDebugTools() {\n    if (context.ng) {\n        delete context.ng.profiler;\n    }\n}\n//# sourceMappingURL=tools.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/platform-browser/src/browser/tools/tools.js\n// module id = 913\n// module chunks = 0","/**\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 */\nimport { getDOM } from '../../dom/dom_adapter';\nimport { isPresent } from '../../facade/lang';\n/**\n * Predicates for use with {\\@link DebugElement}'s query functions.\n *\n * \\@experimental All debugging apis are currently experimental.\n */\nexport var By = (function () {\n    function By() {\n    }\n    /**\n     * Match all elements.\n     *\n     * ## Example\n     *\n     * {\\@example platform-browser/dom/debug/ts/by/by.ts region='by_all'}\n     * @return {?}\n     */\n    By.all = function () { return function (debugElement) { return true; }; };\n    /**\n     * Match elements by the given CSS selector.\n     *\n     * ## Example\n     *\n     * {\\@example platform-browser/dom/debug/ts/by/by.ts region='by_css'}\n     * @param {?} selector\n     * @return {?}\n     */\n    By.css = function (selector) {\n        return function (debugElement) {\n            return isPresent(debugElement.nativeElement) ?\n                getDOM().elementMatches(debugElement.nativeElement, selector) :\n                false;\n        };\n    };\n    /**\n     * Match elements that have the given directive present.\n     *\n     * ## Example\n     *\n     * {\\@example platform-browser/dom/debug/ts/by/by.ts region='by_directive'}\n     * @param {?} type\n     * @return {?}\n     */\n    By.directive = function (type) {\n        return function (debugElement) { return debugElement.providerTokens.indexOf(type) !== -1; };\n    };\n    return By;\n}());\n//# sourceMappingURL=by.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/platform-browser/src/dom/debug/by.js\n// module id = 914\n// module chunks = 0","/**\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 */\nimport { AUTO_STYLE } from '@angular/core';\nimport { isPresent } from '../facade/lang';\nimport { getDOM } from './dom_adapter';\nexport var WebAnimationsPlayer = (function () {\n    /**\n     * @param {?} element\n     * @param {?} keyframes\n     * @param {?} options\n     * @param {?=} previousPlayers\n     */\n    function WebAnimationsPlayer(element, keyframes, options, previousPlayers) {\n        var _this = this;\n        if (previousPlayers === void 0) { previousPlayers = []; }\n        this.element = element;\n        this.keyframes = keyframes;\n        this.options = options;\n        this._onDoneFns = [];\n        this._onStartFns = [];\n        this._initialized = false;\n        this._finished = false;\n        this._started = false;\n        this._destroyed = false;\n        this.parentPlayer = null;\n        this._duration = options['duration'];\n        this.previousStyles = {};\n        previousPlayers.forEach(function (player) {\n            var styles = player._captureStyles();\n            Object.keys(styles).forEach(function (prop) { return _this.previousStyles[prop] = styles[prop]; });\n        });\n    }\n    /**\n     * @return {?}\n     */\n    WebAnimationsPlayer.prototype._onFinish = function () {\n        if (!this._finished) {\n            this._finished = true;\n            this._onDoneFns.forEach(function (fn) { return fn(); });\n            this._onDoneFns = [];\n        }\n    };\n    /**\n     * @return {?}\n     */\n    WebAnimationsPlayer.prototype.init = function () {\n        var _this = this;\n        if (this._initialized)\n            return;\n        this._initialized = true;\n        var /** @type {?} */ keyframes = this.keyframes.map(function (styles) {\n            var /** @type {?} */ formattedKeyframe = {};\n            Object.keys(styles).forEach(function (prop, index) {\n                var /** @type {?} */ value = styles[prop];\n                if (value == AUTO_STYLE) {\n                    value = _computeStyle(_this.element, prop);\n                }\n                if (value != undefined) {\n                    formattedKeyframe[prop] = value;\n                }\n            });\n            return formattedKeyframe;\n        });\n        var /** @type {?} */ previousStyleProps = Object.keys(this.previousStyles);\n        if (previousStyleProps.length) {\n            var /** @type {?} */ startingKeyframe_1 = keyframes[0];\n            var /** @type {?} */ missingStyleProps_1 = [];\n            previousStyleProps.forEach(function (prop) {\n                if (!isPresent(startingKeyframe_1[prop])) {\n                    missingStyleProps_1.push(prop);\n                }\n                startingKeyframe_1[prop] = _this.previousStyles[prop];\n            });\n            if (missingStyleProps_1.length) {\n                var _loop_1 = function(i) {\n                    var /** @type {?} */ kf = keyframes[i];\n                    missingStyleProps_1.forEach(function (prop) { kf[prop] = _computeStyle(_this.element, prop); });\n                };\n                for (var /** @type {?} */ i = 1; i < keyframes.length; i++) {\n                    _loop_1(i);\n                }\n            }\n        }\n        this._player = this._triggerWebAnimation(this.element, keyframes, this.options);\n        this._finalKeyframe = _copyKeyframeStyles(keyframes[keyframes.length - 1]);\n        // this is required so that the player doesn't start to animate right away\n        this._resetDomPlayerState();\n        this._player.addEventListener('finish', function () { return _this._onFinish(); });\n    };\n    /**\n     * \\@internal\n     * @param {?} element\n     * @param {?} keyframes\n     * @param {?} options\n     * @return {?}\n     */\n    WebAnimationsPlayer.prototype._triggerWebAnimation = function (element, keyframes, options) {\n        // jscompiler doesn't seem to know animate is a native property because it's not fully\n        // supported yet across common browsers (we polyfill it for Edge/Safari) [CL #143630929]\n        return (element['animate'](keyframes, options));\n    };\n    Object.defineProperty(WebAnimationsPlayer.prototype, \"domPlayer\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._player; },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    WebAnimationsPlayer.prototype.onStart = function (fn) { this._onStartFns.push(fn); };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    WebAnimationsPlayer.prototype.onDone = function (fn) { this._onDoneFns.push(fn); };\n    /**\n     * @return {?}\n     */\n    WebAnimationsPlayer.prototype.play = function () {\n        this.init();\n        if (!this.hasStarted()) {\n            this._onStartFns.forEach(function (fn) { return fn(); });\n            this._onStartFns = [];\n            this._started = true;\n        }\n        this._player.play();\n    };\n    /**\n     * @return {?}\n     */\n    WebAnimationsPlayer.prototype.pause = function () {\n        this.init();\n        this._player.pause();\n    };\n    /**\n     * @return {?}\n     */\n    WebAnimationsPlayer.prototype.finish = function () {\n        this.init();\n        this._onFinish();\n        this._player.finish();\n    };\n    /**\n     * @return {?}\n     */\n    WebAnimationsPlayer.prototype.reset = function () {\n        this._resetDomPlayerState();\n        this._destroyed = false;\n        this._finished = false;\n        this._started = false;\n    };\n    /**\n     * @return {?}\n     */\n    WebAnimationsPlayer.prototype._resetDomPlayerState = function () {\n        if (this._player) {\n            this._player.cancel();\n        }\n    };\n    /**\n     * @return {?}\n     */\n    WebAnimationsPlayer.prototype.restart = function () {\n        this.reset();\n        this.play();\n    };\n    /**\n     * @return {?}\n     */\n    WebAnimationsPlayer.prototype.hasStarted = function () { return this._started; };\n    /**\n     * @return {?}\n     */\n    WebAnimationsPlayer.prototype.destroy = function () {\n        if (!this._destroyed) {\n            this._resetDomPlayerState();\n            this._onFinish();\n            this._destroyed = true;\n        }\n    };\n    Object.defineProperty(WebAnimationsPlayer.prototype, \"totalTime\", {\n        /**\n         * @return {?}\n         */\n        get: function () { return this._duration; },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @param {?} p\n     * @return {?}\n     */\n    WebAnimationsPlayer.prototype.setPosition = function (p) { this._player.currentTime = p * this.totalTime; };\n    /**\n     * @return {?}\n     */\n    WebAnimationsPlayer.prototype.getPosition = function () { return this._player.currentTime / this.totalTime; };\n    /**\n     * @return {?}\n     */\n    WebAnimationsPlayer.prototype._captureStyles = function () {\n        var _this = this;\n        var /** @type {?} */ styles = {};\n        if (this.hasStarted()) {\n            Object.keys(this._finalKeyframe).forEach(function (prop) {\n                if (prop != 'offset') {\n                    styles[prop] =\n                        _this._finished ? _this._finalKeyframe[prop] : _computeStyle(_this.element, prop);\n                }\n            });\n        }\n        return styles;\n    };\n    return WebAnimationsPlayer;\n}());\nfunction WebAnimationsPlayer_tsickle_Closure_declarations() {\n    /** @type {?} */\n    WebAnimationsPlayer.prototype._onDoneFns;\n    /** @type {?} */\n    WebAnimationsPlayer.prototype._onStartFns;\n    /** @type {?} */\n    WebAnimationsPlayer.prototype._player;\n    /** @type {?} */\n    WebAnimationsPlayer.prototype._duration;\n    /** @type {?} */\n    WebAnimationsPlayer.prototype._initialized;\n    /** @type {?} */\n    WebAnimationsPlayer.prototype._finished;\n    /** @type {?} */\n    WebAnimationsPlayer.prototype._started;\n    /** @type {?} */\n    WebAnimationsPlayer.prototype._destroyed;\n    /** @type {?} */\n    WebAnimationsPlayer.prototype._finalKeyframe;\n    /** @type {?} */\n    WebAnimationsPlayer.prototype.parentPlayer;\n    /** @type {?} */\n    WebAnimationsPlayer.prototype.previousStyles;\n    /** @type {?} */\n    WebAnimationsPlayer.prototype.element;\n    /** @type {?} */\n    WebAnimationsPlayer.prototype.keyframes;\n    /** @type {?} */\n    WebAnimationsPlayer.prototype.options;\n}\n/**\n * @param {?} element\n * @param {?} prop\n * @return {?}\n */\nfunction _computeStyle(element, prop) {\n    return getDOM().getComputedStyle(element)[prop];\n}\n/**\n * @param {?} styles\n * @return {?}\n */\nfunction _copyKeyframeStyles(styles) {\n    var /** @type {?} */ newStyles = {};\n    Object.keys(styles).forEach(function (prop) {\n        if (prop != 'offset') {\n            newStyles[prop] = styles[prop];\n        }\n    });\n    return newStyles;\n}\n//# sourceMappingURL=web_animations_player.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/platform-browser/src/dom/web_animations_player.js\n// module id = 915\n// module chunks = 0","/**\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/**\n * JS version of browser APIs. This library can only run in the browser.\n */\nvar /** @type {?} */ win = typeof window !== 'undefined' && window || ({});\nexport { win as window };\nexport var /** @type {?} */ document = win.document;\nexport var /** @type {?} */ location = win.location;\nexport var /** @type {?} */ gc = win['gc'] ? function () { return win['gc'](); } : function () { return null; };\nexport var /** @type {?} */ performance = win['performance'] ? win['performance'] : null;\nexport var /** @type {?} */ Event = win['Event'];\nexport var /** @type {?} */ MouseEvent = win['MouseEvent'];\nexport var /** @type {?} */ KeyboardEvent = win['KeyboardEvent'];\nexport var /** @type {?} */ EventTarget = win['EventTarget'];\nexport var /** @type {?} */ History = win['History'];\nexport var /** @type {?} */ Location = win['Location'];\nexport var /** @type {?} */ EventListener = win['EventListener'];\n//# sourceMappingURL=browser.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/platform-browser/src/facade/browser.js\n// module id = 916\n// module chunks = 0","/**\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 */\nimport { getSymbolIterator, isJsObject } from './lang';\n/**\n * Wraps Javascript Objects\n */\nexport var StringMapWrapper = (function () {\n    function StringMapWrapper() {\n    }\n    /**\n     * @param {?} m1\n     * @param {?} m2\n     * @return {?}\n     */\n    StringMapWrapper.merge = function (m1, m2) {\n        var /** @type {?} */ 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    /**\n     * @param {?} m1\n     * @param {?} m2\n     * @return {?}\n     */\n    StringMapWrapper.equals = function (m1, m2) {\n        var /** @type {?} */ k1 = Object.keys(m1);\n        var /** @type {?} */ k2 = Object.keys(m2);\n        if (k1.length != k2.length) {\n            return false;\n        }\n        for (var /** @type {?} */ i = 0; i < k1.length; i++) {\n            var /** @type {?} */ key = k1[i];\n            if (m1[key] !== m2[key]) {\n                return false;\n            }\n        }\n        return true;\n    };\n    return StringMapWrapper;\n}());\nexport var ListWrapper = (function () {\n    function ListWrapper() {\n    }\n    /**\n     * @param {?} arr\n     * @param {?} condition\n     * @return {?}\n     */\n    ListWrapper.findLast = function (arr, condition) {\n        for (var /** @type {?} */ i = arr.length - 1; i >= 0; i--) {\n            if (condition(arr[i])) {\n                return arr[i];\n            }\n        }\n        return null;\n    };\n    /**\n     * @param {?} list\n     * @param {?} items\n     * @return {?}\n     */\n    ListWrapper.removeAll = function (list, items) {\n        for (var /** @type {?} */ i = 0; i < items.length; ++i) {\n            var /** @type {?} */ index = list.indexOf(items[i]);\n            if (index > -1) {\n                list.splice(index, 1);\n            }\n        }\n    };\n    /**\n     * @param {?} list\n     * @param {?} el\n     * @return {?}\n     */\n    ListWrapper.remove = function (list, el) {\n        var /** @type {?} */ index = list.indexOf(el);\n        if (index > -1) {\n            list.splice(index, 1);\n            return true;\n        }\n        return false;\n    };\n    /**\n     * @param {?} a\n     * @param {?} b\n     * @return {?}\n     */\n    ListWrapper.equals = function (a, b) {\n        if (a.length != b.length)\n            return false;\n        for (var /** @type {?} */ i = 0; i < a.length; ++i) {\n            if (a[i] !== b[i])\n                return false;\n        }\n        return true;\n    };\n    /**\n     * @param {?} list\n     * @return {?}\n     */\n    ListWrapper.flatten = function (list) {\n        return list.reduce(function (flat, item) {\n            var /** @type {?} */ flatItem = Array.isArray(item) ? ListWrapper.flatten(item) : item;\n            return ((flat)).concat(flatItem);\n        }, []);\n    };\n    return ListWrapper;\n}());\n/**\n * @param {?} obj\n * @return {?}\n */\nexport function isListLikeIterable(obj) {\n    if (!isJsObject(obj))\n        return false;\n    return Array.isArray(obj) ||\n        (!(obj instanceof Map) &&\n            getSymbolIterator() in obj); // JS Iterable have a Symbol.iterator prop\n}\n/**\n * @param {?} a\n * @param {?} b\n * @param {?} comparator\n * @return {?}\n */\nexport function areIterablesEqual(a, b, comparator) {\n    var /** @type {?} */ iterator1 = a[getSymbolIterator()]();\n    var /** @type {?} */ iterator2 = b[getSymbolIterator()]();\n    while (true) {\n        var /** @type {?} */ item1 = iterator1.next();\n        var /** @type {?} */ item2 = iterator2.next();\n        if (item1.done && item2.done)\n            return true;\n        if (item1.done || item2.done)\n            return false;\n        if (!comparator(item1.value, item2.value))\n            return false;\n    }\n}\n/**\n * @param {?} obj\n * @param {?} fn\n * @return {?}\n */\nexport function iterateListLike(obj, fn) {\n    if (Array.isArray(obj)) {\n        for (var /** @type {?} */ i = 0; i < obj.length; i++) {\n            fn(obj[i]);\n        }\n    }\n    else {\n        var /** @type {?} */ iterator = obj[getSymbolIterator()]();\n        var /** @type {?} */ item = void 0;\n        while (!((item = iterator.next()).done)) {\n            fn(item.value);\n        }\n    }\n}\n//# sourceMappingURL=collection.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/platform-browser/src/facade/collection.js\n// module id = 917\n// module chunks = 0","/**\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 */\nexport { BrowserModule, platformBrowser } from './browser';\nexport { Title } from './browser/title';\nexport { disableDebugTools, enableDebugTools } from './browser/tools/tools';\nexport { AnimationDriver } from './dom/animation_driver';\nexport { By } from './dom/debug/by';\nexport { NgProbeToken } from './dom/debug/ng_probe';\nexport { DOCUMENT } from './dom/dom_tokens';\nexport { EVENT_MANAGER_PLUGINS, EventManager } from './dom/events/event_manager';\nexport { HAMMER_GESTURE_CONFIG, HammerGestureConfig } from './dom/events/hammer_gestures';\nexport { DomSanitizer } from './security/dom_sanitization_service';\nexport { __platform_browser_private__ } from './private_export';\nexport { VERSION } from './version';\n//# sourceMappingURL=platform-browser.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/platform-browser/src/platform-browser.js\n// module id = 918\n// module chunks = 0","/**\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 */\nimport * as browser from './browser';\nimport * as browserDomAdapter from './browser/browser_adapter';\nimport * as location from './browser/location/browser_platform_location';\nimport * as testability from './browser/testability';\nimport * as ng_probe from './dom/debug/ng_probe';\nimport * as dom_adapter from './dom/dom_adapter';\nimport * as dom_renderer from './dom/dom_renderer';\nimport * as dom_events from './dom/events/dom_events';\nimport * as hammer_gesture from './dom/events/hammer_gestures';\nimport * as key_events from './dom/events/key_events';\nimport * as shared_styles_host from './dom/shared_styles_host';\nimport { WebAnimationsDriver } from './dom/web_animations_driver';\nexport var /** @type {?} */ __platform_browser_private__ = {\n    BrowserPlatformLocation: location.BrowserPlatformLocation,\n    DomAdapter: dom_adapter.DomAdapter,\n    BrowserDomAdapter: browserDomAdapter.BrowserDomAdapter,\n    BrowserGetTestability: testability.BrowserGetTestability,\n    getDOM: dom_adapter.getDOM,\n    setRootDomAdapter: dom_adapter.setRootDomAdapter,\n    DomRootRenderer_: dom_renderer.DomRootRenderer_,\n    DomRootRenderer: dom_renderer.DomRootRenderer,\n    NAMESPACE_URIS: dom_renderer.NAMESPACE_URIS,\n    shimContentAttribute: dom_renderer.shimContentAttribute,\n    shimHostAttribute: dom_renderer.shimHostAttribute,\n    flattenStyles: dom_renderer.flattenStyles,\n    splitNamespace: dom_renderer.splitNamespace,\n    isNamespaced: dom_renderer.isNamespaced,\n    DomSharedStylesHost: shared_styles_host.DomSharedStylesHost,\n    SharedStylesHost: shared_styles_host.SharedStylesHost,\n    ELEMENT_PROBE_PROVIDERS: ng_probe.ELEMENT_PROBE_PROVIDERS,\n    DomEventsPlugin: dom_events.DomEventsPlugin,\n    KeyEventsPlugin: key_events.KeyEventsPlugin,\n    HammerGesturesPlugin: hammer_gesture.HammerGesturesPlugin,\n    initDomAdapter: browser.initDomAdapter,\n    INTERNAL_BROWSER_PLATFORM_PROVIDERS: browser.INTERNAL_BROWSER_PLATFORM_PROVIDERS,\n    BROWSER_SANITIZATION_PROVIDERS: browser.BROWSER_SANITIZATION_PROVIDERS,\n    WebAnimationsDriver: WebAnimationsDriver\n};\n//# sourceMappingURL=private_export.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/platform-browser/src/private_export.js\n// module id = 919\n// module chunks = 0","/**\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 */\nimport { isDevMode } from '@angular/core';\nimport { getDOM } from '../dom/dom_adapter';\nimport { sanitizeSrcset, sanitizeUrl } from './url_sanitizer';\n/** A <body> element that can be safely used to parse untrusted HTML. Lazily initialized below. */\nvar /** @type {?} */ inertElement = null;\n/** Lazily initialized to make sure the DOM adapter gets set before use. */\nvar /** @type {?} */ DOM = null;\n/**\n * Returns an HTML element that is guaranteed to not execute code when creating elements in it.\n * @return {?}\n */\nfunction getInertElement() {\n    if (inertElement)\n        return inertElement;\n    DOM = getDOM();\n    // Prefer using <template> element if supported.\n    var /** @type {?} */ templateEl = DOM.createElement('template');\n    if ('content' in templateEl)\n        return templateEl;\n    var /** @type {?} */ doc = DOM.createHtmlDocument();\n    inertElement = DOM.querySelector(doc, 'body');\n    if (inertElement == null) {\n        // usually there should be only one body element in the document, but IE doesn't have any, so we\n        // need to create one.\n        var /** @type {?} */ html = DOM.createElement('html', doc);\n        inertElement = DOM.createElement('body', doc);\n        DOM.appendChild(html, inertElement);\n        DOM.appendChild(doc, html);\n    }\n    return inertElement;\n}\n/**\n * @param {?} tags\n * @return {?}\n */\nfunction tagSet(tags) {\n    var /** @type {?} */ res = {};\n    for (var _i = 0, _a = tags.split(','); _i < _a.length; _i++) {\n        var t = _a[_i];\n        res[t] = true;\n    }\n    return res;\n}\n/**\n * @param {...?} sets\n * @return {?}\n */\nfunction merge() {\n    var sets = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        sets[_i - 0] = arguments[_i];\n    }\n    var /** @type {?} */ res = {};\n    for (var _a = 0, sets_1 = sets; _a < sets_1.length; _a++) {\n        var s = sets_1[_a];\n        for (var v in s) {\n            if (s.hasOwnProperty(v))\n                res[v] = true;\n        }\n    }\n    return res;\n}\n// Good source of info about elements and attributes\n// http://dev.w3.org/html5/spec/Overview.html#semantics\n// http://simon.html5.org/html-elements\n// Safe Void Elements - HTML5\n// http://dev.w3.org/html5/spec/Overview.html#void-elements\nvar /** @type {?} */ VOID_ELEMENTS = tagSet('area,br,col,hr,img,wbr');\n// Elements that you can, intentionally, leave open (and which close themselves)\n// http://dev.w3.org/html5/spec/Overview.html#optional-tags\nvar /** @type {?} */ OPTIONAL_END_TAG_BLOCK_ELEMENTS = tagSet('colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr');\nvar /** @type {?} */ OPTIONAL_END_TAG_INLINE_ELEMENTS = tagSet('rp,rt');\nvar /** @type {?} */ OPTIONAL_END_TAG_ELEMENTS = merge(OPTIONAL_END_TAG_INLINE_ELEMENTS, OPTIONAL_END_TAG_BLOCK_ELEMENTS);\n// Safe Block Elements - HTML5\nvar /** @type {?} */ BLOCK_ELEMENTS = merge(OPTIONAL_END_TAG_BLOCK_ELEMENTS, tagSet('address,article,' +\n    'aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,' +\n    'h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul'));\n// Inline Elements - HTML5\nvar /** @type {?} */ INLINE_ELEMENTS = merge(OPTIONAL_END_TAG_INLINE_ELEMENTS, tagSet('a,abbr,acronym,audio,b,' +\n    'bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,' +\n    'samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video'));\nvar /** @type {?} */ VALID_ELEMENTS = merge(VOID_ELEMENTS, BLOCK_ELEMENTS, INLINE_ELEMENTS, OPTIONAL_END_TAG_ELEMENTS);\n// Attributes that have href and hence need to be sanitized\nvar /** @type {?} */ URI_ATTRS = tagSet('background,cite,href,itemtype,longdesc,poster,src,xlink:href');\n// Attributes that have special href set hence need to be sanitized\nvar /** @type {?} */ SRCSET_ATTRS = tagSet('srcset');\nvar /** @type {?} */ HTML_ATTRS = tagSet('abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,' +\n    'compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,' +\n    'ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,' +\n    'scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,' +\n    'valign,value,vspace,width');\n// NB: This currently conciously doesn't support SVG. SVG sanitization has had several security\n// issues in the past, so it seems safer to leave it out if possible. If support for binding SVG via\n// innerHTML is required, SVG attributes should be added here.\n// NB: Sanitization does not allow <form> elements or other active elements (<button> etc). Those\n// can be sanitized, but they increase security surface area without a legitimate use case, so they\n// are left out here.\nvar /** @type {?} */ VALID_ATTRS = merge(URI_ATTRS, SRCSET_ATTRS, HTML_ATTRS);\n/**\n * SanitizingHtmlSerializer serializes a DOM fragment, stripping out any unsafe elements and unsafe\n * attributes.\n */\nvar SanitizingHtmlSerializer = (function () {\n    function SanitizingHtmlSerializer() {\n        this.sanitizedSomething = false;\n        this.buf = [];\n    }\n    /**\n     * @param {?} el\n     * @return {?}\n     */\n    SanitizingHtmlSerializer.prototype.sanitizeChildren = function (el) {\n        // This cannot use a TreeWalker, as it has to run on Angular's various DOM adapters.\n        // However this code never accesses properties off of `document` before deleting its contents\n        // again, so it shouldn't be vulnerable to DOM clobbering.\n        var /** @type {?} */ current = el.firstChild;\n        while (current) {\n            if (DOM.isElementNode(current)) {\n                this.startElement(/** @type {?} */ (current));\n            }\n            else if (DOM.isTextNode(current)) {\n                this.chars(DOM.nodeValue(current));\n            }\n            else {\n                // Strip non-element, non-text nodes.\n                this.sanitizedSomething = true;\n            }\n            if (DOM.firstChild(current)) {\n                current = DOM.firstChild(current);\n                continue;\n            }\n            while (current) {\n                // Leaving the element. Walk up and to the right, closing tags as we go.\n                if (DOM.isElementNode(current)) {\n                    this.endElement(/** @type {?} */ (current));\n                }\n                if (DOM.nextSibling(current)) {\n                    current = DOM.nextSibling(current);\n                    break;\n                }\n                current = DOM.parentElement(current);\n            }\n        }\n        return this.buf.join('');\n    };\n    /**\n     * @param {?} element\n     * @return {?}\n     */\n    SanitizingHtmlSerializer.prototype.startElement = function (element) {\n        var _this = this;\n        var /** @type {?} */ tagName = DOM.nodeName(element).toLowerCase();\n        if (!VALID_ELEMENTS.hasOwnProperty(tagName)) {\n            this.sanitizedSomething = true;\n            return;\n        }\n        this.buf.push('<');\n        this.buf.push(tagName);\n        DOM.attributeMap(element).forEach(function (value, attrName) {\n            var /** @type {?} */ lower = attrName.toLowerCase();\n            if (!VALID_ATTRS.hasOwnProperty(lower)) {\n                _this.sanitizedSomething = true;\n                return;\n            }\n            // TODO(martinprobst): Special case image URIs for data:image/...\n            if (URI_ATTRS[lower])\n                value = sanitizeUrl(value);\n            if (SRCSET_ATTRS[lower])\n                value = sanitizeSrcset(value);\n            _this.buf.push(' ');\n            _this.buf.push(attrName);\n            _this.buf.push('=\"');\n            _this.buf.push(encodeEntities(value));\n            _this.buf.push('\"');\n        });\n        this.buf.push('>');\n    };\n    /**\n     * @param {?} current\n     * @return {?}\n     */\n    SanitizingHtmlSerializer.prototype.endElement = function (current) {\n        var /** @type {?} */ tagName = DOM.nodeName(current).toLowerCase();\n        if (VALID_ELEMENTS.hasOwnProperty(tagName) && !VOID_ELEMENTS.hasOwnProperty(tagName)) {\n            this.buf.push('</');\n            this.buf.push(tagName);\n            this.buf.push('>');\n        }\n    };\n    /**\n     * @param {?} chars\n     * @return {?}\n     */\n    SanitizingHtmlSerializer.prototype.chars = function (chars /** TODO #9100 */) { this.buf.push(encodeEntities(chars)); };\n    return SanitizingHtmlSerializer;\n}());\nfunction SanitizingHtmlSerializer_tsickle_Closure_declarations() {\n    /** @type {?} */\n    SanitizingHtmlSerializer.prototype.sanitizedSomething;\n    /** @type {?} */\n    SanitizingHtmlSerializer.prototype.buf;\n}\n// Regular Expressions for parsing tags and attributes\nvar /** @type {?} */ SURROGATE_PAIR_REGEXP = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n// ! to ~ is the ASCII range.\nvar /** @type {?} */ NON_ALPHANUMERIC_REGEXP = /([^\\#-~ |!])/g;\n/**\n * Escapes all potentially dangerous characters, so that the\n * resulting string can be safely inserted into attribute or\n * element text.\n * @param {?} value\n * @return {?}\n */\nfunction encodeEntities(value) {\n    return value.replace(/&/g, '&amp;')\n        .replace(SURROGATE_PAIR_REGEXP, function (match) {\n        var /** @type {?} */ hi = match.charCodeAt(0);\n        var /** @type {?} */ low = match.charCodeAt(1);\n        return '&#' + (((hi - 0xD800) * 0x400) + (low - 0xDC00) + 0x10000) + ';';\n    })\n        .replace(NON_ALPHANUMERIC_REGEXP, function (match) { return '&#' + match.charCodeAt(0) + ';'; })\n        .replace(/</g, '&lt;')\n        .replace(/>/g, '&gt;');\n}\n/**\n * When IE9-11 comes across an unknown namespaced attribute e.g. 'xlink:foo' it adds 'xmlns:ns1'\n * attribute to declare ns1 namespace and prefixes the attribute with 'ns1' (e.g. 'ns1:xlink:foo').\n *\n * This is undesirable since we don't want to allow any of these custom attributes. This method\n * strips them all.\n * @param {?} el\n * @return {?}\n */\nfunction stripCustomNsAttrs(el) {\n    DOM.attributeMap(el).forEach(function (_, attrName) {\n        if (attrName === 'xmlns:ns1' || attrName.indexOf('ns1:') === 0) {\n            DOM.removeAttribute(el, attrName);\n        }\n    });\n    for (var _i = 0, _a = DOM.childNodesAsList(el); _i < _a.length; _i++) {\n        var n = _a[_i];\n        if (DOM.isElementNode(n))\n            stripCustomNsAttrs(/** @type {?} */ (n));\n    }\n}\n/**\n * Sanitizes the given unsafe, untrusted HTML fragment, and returns HTML text that is safe to add to\n * the DOM in a browser environment.\n * @param {?} unsafeHtmlInput\n * @return {?}\n */\nexport function sanitizeHtml(unsafeHtmlInput) {\n    try {\n        var /** @type {?} */ containerEl = getInertElement();\n        // Make sure unsafeHtml is actually a string (TypeScript types are not enforced at runtime).\n        var /** @type {?} */ unsafeHtml = unsafeHtmlInput ? String(unsafeHtmlInput) : '';\n        // mXSS protection. Repeatedly parse the document to make sure it stabilizes, so that a browser\n        // trying to auto-correct incorrect HTML cannot cause formerly inert HTML to become dangerous.\n        var /** @type {?} */ mXSSAttempts = 5;\n        var /** @type {?} */ parsedHtml = unsafeHtml;\n        do {\n            if (mXSSAttempts === 0) {\n                throw new Error('Failed to sanitize html because the input is unstable');\n            }\n            mXSSAttempts--;\n            unsafeHtml = parsedHtml;\n            DOM.setInnerHTML(containerEl, unsafeHtml);\n            if (((DOM.defaultDoc())).documentMode) {\n                // strip custom-namespaced attributes on IE<=11\n                stripCustomNsAttrs(containerEl);\n            }\n            parsedHtml = DOM.getInnerHTML(containerEl);\n        } while (unsafeHtml !== parsedHtml);\n        var /** @type {?} */ sanitizer = new SanitizingHtmlSerializer();\n        var /** @type {?} */ safeHtml = sanitizer.sanitizeChildren(DOM.getTemplateContent(containerEl) || containerEl);\n        // Clear out the body element.\n        var /** @type {?} */ parent_1 = DOM.getTemplateContent(containerEl) || containerEl;\n        for (var _i = 0, _a = DOM.childNodesAsList(parent_1); _i < _a.length; _i++) {\n            var child = _a[_i];\n            DOM.removeChild(parent_1, child);\n        }\n        if (isDevMode() && sanitizer.sanitizedSomething) {\n            DOM.log('WARNING: sanitizing HTML stripped some content (see http://g.co/ng/security#xss).');\n        }\n        return safeHtml;\n    }\n    catch (e) {\n        // In case anything goes wrong, clear out inertElement to reset the entire DOM structure.\n        inertElement = null;\n        throw e;\n    }\n}\n//# sourceMappingURL=html_sanitizer.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/platform-browser/src/security/html_sanitizer.js\n// module id = 920\n// module chunks = 0","/**\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 */\nimport { isDevMode } from '@angular/core';\nimport { getDOM } from '../dom/dom_adapter';\nimport { sanitizeUrl } from './url_sanitizer';\n/**\n * Regular expression for safe style values.\n *\n * Quotes (\" and ') are allowed, but a check must be done elsewhere to ensure they're balanced.\n *\n * ',' allows multiple values to be assigned to the same property (e.g. background-attachment or\n * font-family) and hence could allow multiple values to get injected, but that should pose no risk\n * of XSS.\n *\n * The function expression checks only for XSS safety, not for CSS validity.\n *\n * This regular expression was taken from the Closure sanitization library, and augmented for\n * transformation values.\n */\nvar /** @type {?} */ VALUES = '[-,.\"\\'%_!# a-zA-Z0-9]+';\nvar /** @type {?} */ TRANSFORMATION_FNS = '(?:matrix|translate|scale|rotate|skew|perspective)(?:X|Y|3d)?';\nvar /** @type {?} */ COLOR_FNS = '(?:rgb|hsl)a?';\nvar /** @type {?} */ GRADIENTS = '(?:repeating-)?(?:linear|radial)-gradient';\nvar /** @type {?} */ CSS3_FNS = '(?:calc|attr)';\nvar /** @type {?} */ FN_ARGS = '\\\\([-0-9.%, #a-zA-Z]+\\\\)';\nvar /** @type {?} */ SAFE_STYLE_VALUE = new RegExp((\"^(\" + VALUES + \"|\") +\n    (\"(?:\" + TRANSFORMATION_FNS + \"|\" + COLOR_FNS + \"|\" + GRADIENTS + \"|\" + CSS3_FNS + \")\") +\n    (FN_ARGS + \")$\"), 'g');\n/**\n * Matches a `url(...)` value with an arbitrary argument as long as it does\n * not contain parentheses.\n *\n * The URL value still needs to be sanitized separately.\n *\n * `url(...)` values are a very common use case, e.g. for `background-image`. With carefully crafted\n * CSS style rules, it is possible to construct an information leak with `url` values in CSS, e.g.\n * by observing whether scroll bars are displayed, or character ranges used by a font face\n * definition.\n *\n * Angular only allows binding CSS values (as opposed to entire CSS rules), so it is unlikely that\n * binding a URL value without further cooperation from the page will cause an information leak, and\n * if so, it is just a leak, not a full blown XSS vulnerability.\n *\n * Given the common use case, low likelihood of attack vector, and low impact of an attack, this\n * code is permissive and allows URLs that sanitize otherwise.\n */\nvar /** @type {?} */ URL_RE = /^url\\(([^)]+)\\)$/;\n/**\n * Checks that quotes (\" and ') are properly balanced inside a string. Assumes\n * that neither escape (\\) nor any other character that could result in\n * breaking out of a string parsing context are allowed;\n * see http://www.w3.org/TR/css3-syntax/#string-token-diagram.\n *\n * This code was taken from the Closure sanitization library.\n * @param {?} value\n * @return {?}\n */\nfunction hasBalancedQuotes(value) {\n    var /** @type {?} */ outsideSingle = true;\n    var /** @type {?} */ outsideDouble = true;\n    for (var /** @type {?} */ i = 0; i < value.length; i++) {\n        var /** @type {?} */ c = value.charAt(i);\n        if (c === '\\'' && outsideDouble) {\n            outsideSingle = !outsideSingle;\n        }\n        else if (c === '\"' && outsideSingle) {\n            outsideDouble = !outsideDouble;\n        }\n    }\n    return outsideSingle && outsideDouble;\n}\n/**\n * Sanitizes the given untrusted CSS style property value (i.e. not an entire object, just a single\n * value) and returns a value that is safe to use in a browser environment.\n * @param {?} value\n * @return {?}\n */\nexport function sanitizeStyle(value) {\n    value = String(value).trim(); // Make sure it's actually a string.\n    if (!value)\n        return '';\n    // Single url(...) values are supported, but only for URLs that sanitize cleanly. See above for\n    // reasoning behind this.\n    var /** @type {?} */ urlMatch = value.match(URL_RE);\n    if ((urlMatch && sanitizeUrl(urlMatch[1]) === urlMatch[1]) ||\n        value.match(SAFE_STYLE_VALUE) && hasBalancedQuotes(value)) {\n        return value; // Safe style values.\n    }\n    if (isDevMode()) {\n        getDOM().log(\"WARNING: sanitizing unsafe style value \" + value + \" (see http://g.co/ng/security#xss).\");\n    }\n    return 'unsafe';\n}\n//# sourceMappingURL=style_sanitizer.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/platform-browser/src/security/style_sanitizer.js\n// module id = 921\n// module chunks = 0","/**\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 */\nimport { Version } from '@angular/core';\n/**\n * @stable\n */\nexport var /** @type {?} */ VERSION = new Version('2.4.10');\n//# sourceMappingURL=version.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/platform-browser/src/version.js\n// module id = 922\n// module chunks = 0","/**\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 */\nimport { Observable } from 'rxjs/Observable';\nimport { from } from 'rxjs/observable/from';\nimport { of } from 'rxjs/observable/of';\nimport { _catch } from 'rxjs/operator/catch';\nimport { concatAll } from 'rxjs/operator/concatAll';\nimport { first } from 'rxjs/operator/first';\nimport { map } from 'rxjs/operator/map';\nimport { mergeMap } from 'rxjs/operator/mergeMap';\nimport { EmptyError } from 'rxjs/util/EmptyError';\nimport { LoadedRouterConfig } from './router_config_loader';\nimport { NavigationCancelingError, PRIMARY_OUTLET } from './shared';\nimport { UrlSegment, UrlSegmentGroup, UrlTree } from './url_tree';\nimport { andObservables, merge, waitForMap, wrapIntoObservable } from './utils/collection';\nvar NoMatch = (function () {\n    function NoMatch(segmentGroup) {\n        if (segmentGroup === void 0) { segmentGroup = null; }\n        this.segmentGroup = segmentGroup;\n    }\n    return NoMatch;\n}());\nvar AbsoluteRedirect = (function () {\n    function AbsoluteRedirect(segments) {\n        this.segments = segments;\n    }\n    return AbsoluteRedirect;\n}());\nfunction noMatch(segmentGroup) {\n    return new Observable(function (obs) { return obs.error(new NoMatch(segmentGroup)); });\n}\nfunction absoluteRedirect(segments) {\n    return new Observable(function (obs) { return obs.error(new AbsoluteRedirect(segments)); });\n}\nfunction canLoadFails(route) {\n    return new Observable(function (obs) { return obs.error(new NavigationCancelingError(\"Cannot load children because the guard of the route \\\"path: '\" + route.path + \"'\\\" returned false\")); });\n}\nexport function applyRedirects(injector, configLoader, urlTree, config) {\n    return new ApplyRedirects(injector, configLoader, urlTree, config).apply();\n}\nvar ApplyRedirects = (function () {\n    function ApplyRedirects(injector, configLoader, urlTree, config) {\n        this.injector = injector;\n        this.configLoader = configLoader;\n        this.urlTree = urlTree;\n        this.config = config;\n        this.allowRedirects = true;\n    }\n    ApplyRedirects.prototype.apply = function () {\n        var _this = this;\n        var expanded$ = this.expandSegmentGroup(this.injector, this.config, this.urlTree.root, PRIMARY_OUTLET);\n        var urlTrees$ = map.call(expanded$, function (rootSegmentGroup) { return _this.createUrlTree(rootSegmentGroup); });\n        return _catch.call(urlTrees$, function (e) {\n            if (e instanceof AbsoluteRedirect) {\n                // after an absolute redirect we do not apply any more redirects!\n                _this.allowRedirects = false;\n                var group = new UrlSegmentGroup([], (_a = {}, _a[PRIMARY_OUTLET] = new UrlSegmentGroup(e.segments, {}), _a));\n                // we need to run matching, so we can fetch all lazy-loaded modules\n                return _this.match(group);\n            }\n            else if (e instanceof NoMatch) {\n                throw _this.noMatchError(e);\n            }\n            else {\n                throw e;\n            }\n            var _a;\n        });\n    };\n    ApplyRedirects.prototype.match = function (segmentGroup) {\n        var _this = this;\n        var expanded$ = this.expandSegmentGroup(this.injector, this.config, segmentGroup, PRIMARY_OUTLET);\n        var mapped$ = map.call(expanded$, function (rootSegmentGroup) { return _this.createUrlTree(rootSegmentGroup); });\n        return _catch.call(mapped$, function (e) {\n            if (e instanceof NoMatch) {\n                throw _this.noMatchError(e);\n            }\n            else {\n                throw e;\n            }\n        });\n    };\n    ApplyRedirects.prototype.noMatchError = function (e) {\n        return new Error(\"Cannot match any routes. URL Segment: '\" + e.segmentGroup + \"'\");\n    };\n    ApplyRedirects.prototype.createUrlTree = function (rootCandidate) {\n        var root = rootCandidate.segments.length > 0 ?\n            new UrlSegmentGroup([], (_a = {}, _a[PRIMARY_OUTLET] = rootCandidate, _a)) :\n            rootCandidate;\n        return new UrlTree(root, this.urlTree.queryParams, this.urlTree.fragment);\n        var _a;\n    };\n    ApplyRedirects.prototype.expandSegmentGroup = function (injector, routes, segmentGroup, outlet) {\n        if (segmentGroup.segments.length === 0 && segmentGroup.hasChildren()) {\n            return map.call(this.expandChildren(injector, routes, segmentGroup), function (children) { return new UrlSegmentGroup([], children); });\n        }\n        else {\n            return this.expandSegment(injector, segmentGroup, routes, segmentGroup.segments, outlet, true);\n        }\n    };\n    ApplyRedirects.prototype.expandChildren = function (injector, routes, segmentGroup) {\n        var _this = this;\n        return waitForMap(segmentGroup.children, function (childOutlet, child) { return _this.expandSegmentGroup(injector, routes, child, childOutlet); });\n    };\n    ApplyRedirects.prototype.expandSegment = function (injector, segmentGroup, routes, segments, outlet, allowRedirects) {\n        var _this = this;\n        var routes$ = of.apply(void 0, routes);\n        var processedRoutes$ = map.call(routes$, function (r) {\n            var expanded$ = _this.expandSegmentAgainstRoute(injector, segmentGroup, routes, r, segments, outlet, allowRedirects);\n            return _catch.call(expanded$, function (e) {\n                if (e instanceof NoMatch)\n                    return of(null);\n                else\n                    throw e;\n            });\n        });\n        var concattedProcessedRoutes$ = concatAll.call(processedRoutes$);\n        var first$ = first.call(concattedProcessedRoutes$, function (s) { return !!s; });\n        return _catch.call(first$, function (e, _) {\n            if (e instanceof EmptyError) {\n                throw new NoMatch(segmentGroup);\n            }\n            else {\n                throw e;\n            }\n        });\n    };\n    ApplyRedirects.prototype.expandSegmentAgainstRoute = function (injector, segmentGroup, routes, route, paths, outlet, allowRedirects) {\n        if (getOutlet(route) !== outlet)\n            return noMatch(segmentGroup);\n        if (route.redirectTo !== undefined && !(allowRedirects && this.allowRedirects))\n            return noMatch(segmentGroup);\n        if (route.redirectTo === undefined) {\n            return this.matchSegmentAgainstRoute(injector, segmentGroup, route, paths);\n        }\n        else {\n            return this.expandSegmentAgainstRouteUsingRedirect(injector, segmentGroup, routes, route, paths, outlet);\n        }\n    };\n    ApplyRedirects.prototype.expandSegmentAgainstRouteUsingRedirect = function (injector, segmentGroup, routes, route, segments, outlet) {\n        if (route.path === '**') {\n            return this.expandWildCardWithParamsAgainstRouteUsingRedirect(injector, routes, route, outlet);\n        }\n        else {\n            return this.expandRegularSegmentAgainstRouteUsingRedirect(injector, segmentGroup, routes, route, segments, outlet);\n        }\n    };\n    ApplyRedirects.prototype.expandWildCardWithParamsAgainstRouteUsingRedirect = function (injector, routes, route, outlet) {\n        var newSegments = applyRedirectCommands([], route.redirectTo, {});\n        if (route.redirectTo.startsWith('/')) {\n            return absoluteRedirect(newSegments);\n        }\n        else {\n            var group = new UrlSegmentGroup(newSegments, {});\n            return this.expandSegment(injector, group, routes, newSegments, outlet, false);\n        }\n    };\n    ApplyRedirects.prototype.expandRegularSegmentAgainstRouteUsingRedirect = function (injector, segmentGroup, routes, route, segments, outlet) {\n        var _a = match(segmentGroup, route, segments), matched = _a.matched, consumedSegments = _a.consumedSegments, lastChild = _a.lastChild, positionalParamSegments = _a.positionalParamSegments;\n        if (!matched)\n            return noMatch(segmentGroup);\n        var newSegments = applyRedirectCommands(consumedSegments, route.redirectTo, positionalParamSegments);\n        if (route.redirectTo.startsWith('/')) {\n            return absoluteRedirect(newSegments);\n        }\n        else {\n            return this.expandSegment(injector, segmentGroup, routes, newSegments.concat(segments.slice(lastChild)), outlet, false);\n        }\n    };\n    ApplyRedirects.prototype.matchSegmentAgainstRoute = function (injector, rawSegmentGroup, route, segments) {\n        var _this = this;\n        if (route.path === '**') {\n            if (route.loadChildren) {\n                return map.call(this.configLoader.load(injector, route.loadChildren), function (r) {\n                    route._loadedConfig = r;\n                    return of(new UrlSegmentGroup(segments, {}));\n                });\n            }\n            else {\n                return of(new UrlSegmentGroup(segments, {}));\n            }\n        }\n        else {\n            var _a = match(rawSegmentGroup, route, segments), matched = _a.matched, consumedSegments_1 = _a.consumedSegments, lastChild = _a.lastChild;\n            if (!matched)\n                return noMatch(rawSegmentGroup);\n            var rawSlicedSegments_1 = segments.slice(lastChild);\n            var childConfig$ = this.getChildConfig(injector, route);\n            return mergeMap.call(childConfig$, function (routerConfig) {\n                var childInjector = routerConfig.injector;\n                var childConfig = routerConfig.routes;\n                var _a = split(rawSegmentGroup, consumedSegments_1, rawSlicedSegments_1, childConfig), segmentGroup = _a.segmentGroup, slicedSegments = _a.slicedSegments;\n                if (slicedSegments.length === 0 && segmentGroup.hasChildren()) {\n                    var expanded$ = _this.expandChildren(childInjector, childConfig, segmentGroup);\n                    return map.call(expanded$, function (children) { return new UrlSegmentGroup(consumedSegments_1, children); });\n                }\n                else if (childConfig.length === 0 && slicedSegments.length === 0) {\n                    return of(new UrlSegmentGroup(consumedSegments_1, {}));\n                }\n                else {\n                    var expanded$ = _this.expandSegment(childInjector, segmentGroup, childConfig, slicedSegments, PRIMARY_OUTLET, true);\n                    return map.call(expanded$, function (cs) { return new UrlSegmentGroup(consumedSegments_1.concat(cs.segments), cs.children); });\n                }\n            });\n        }\n    };\n    ApplyRedirects.prototype.getChildConfig = function (injector, route) {\n        var _this = this;\n        if (route.children) {\n            return of(new LoadedRouterConfig(route.children, injector, null));\n        }\n        else if (route.loadChildren) {\n            return mergeMap.call(runGuards(injector, route), function (shouldLoad) {\n                if (shouldLoad) {\n                    if (route._loadedConfig) {\n                        return of(route._loadedConfig);\n                    }\n                    else {\n                        return map.call(_this.configLoader.load(injector, route.loadChildren), function (r) {\n                            route._loadedConfig = r;\n                            return r;\n                        });\n                    }\n                }\n                else {\n                    return canLoadFails(route);\n                }\n            });\n        }\n        else {\n            return of(new LoadedRouterConfig([], injector, null));\n        }\n    };\n    return ApplyRedirects;\n}());\nfunction runGuards(injector, route) {\n    var canLoad = route.canLoad;\n    if (!canLoad || canLoad.length === 0)\n        return of(true);\n    var obs = map.call(from(canLoad), function (c) {\n        var guard = injector.get(c);\n        if (guard.canLoad) {\n            return wrapIntoObservable(guard.canLoad(route));\n        }\n        else {\n            return wrapIntoObservable(guard(route));\n        }\n    });\n    return andObservables(obs);\n}\nfunction match(segmentGroup, route, segments) {\n    var noMatch = { matched: false, consumedSegments: [], lastChild: 0, positionalParamSegments: {} };\n    if (route.path === '') {\n        if ((route.pathMatch === 'full') && (segmentGroup.hasChildren() || segments.length > 0)) {\n            return { matched: false, consumedSegments: [], lastChild: 0, positionalParamSegments: {} };\n        }\n        else {\n            return { matched: true, consumedSegments: [], lastChild: 0, positionalParamSegments: {} };\n        }\n    }\n    var path = route.path;\n    var parts = path.split('/');\n    var positionalParamSegments = {};\n    var consumedSegments = [];\n    var currentIndex = 0;\n    for (var i = 0; i < parts.length; ++i) {\n        if (currentIndex >= segments.length)\n            return noMatch;\n        var current = segments[currentIndex];\n        var p = parts[i];\n        var isPosParam = p.startsWith(':');\n        if (!isPosParam && p !== current.path)\n            return noMatch;\n        if (isPosParam) {\n            positionalParamSegments[p.substring(1)] = current;\n        }\n        consumedSegments.push(current);\n        currentIndex++;\n    }\n    if (route.pathMatch === 'full' &&\n        (segmentGroup.hasChildren() || currentIndex < segments.length)) {\n        return { matched: false, consumedSegments: [], lastChild: 0, positionalParamSegments: {} };\n    }\n    return { matched: true, consumedSegments: consumedSegments, lastChild: currentIndex, positionalParamSegments: positionalParamSegments };\n}\nfunction applyRedirectCommands(segments, redirectTo, posParams) {\n    var r = redirectTo.startsWith('/') ? redirectTo.substring(1) : redirectTo;\n    if (r === '') {\n        return [];\n    }\n    else {\n        return createSegments(redirectTo, r.split('/'), segments, posParams);\n    }\n}\nfunction createSegments(redirectTo, parts, segments, posParams) {\n    return parts.map(function (p) { return p.startsWith(':') ? findPosParam(p, posParams, redirectTo) :\n        findOrCreateSegment(p, segments); });\n}\nfunction findPosParam(part, posParams, redirectTo) {\n    var paramName = part.substring(1);\n    var pos = posParams[paramName];\n    if (!pos)\n        throw new Error(\"Cannot redirect to '\" + redirectTo + \"'. Cannot find '\" + part + \"'.\");\n    return pos;\n}\nfunction findOrCreateSegment(part, segments) {\n    var idx = 0;\n    for (var _i = 0, segments_1 = segments; _i < segments_1.length; _i++) {\n        var s = segments_1[_i];\n        if (s.path === part) {\n            segments.splice(idx);\n            return s;\n        }\n        idx++;\n    }\n    return new UrlSegment(part, {});\n}\nfunction split(segmentGroup, consumedSegments, slicedSegments, config) {\n    if (slicedSegments.length > 0 &&\n        containsEmptyPathRedirectsWithNamedOutlets(segmentGroup, slicedSegments, config)) {\n        var s = new UrlSegmentGroup(consumedSegments, createChildrenForEmptySegments(config, new UrlSegmentGroup(slicedSegments, segmentGroup.children)));\n        return { segmentGroup: mergeTrivialChildren(s), slicedSegments: [] };\n    }\n    else if (slicedSegments.length === 0 &&\n        containsEmptyPathRedirects(segmentGroup, slicedSegments, config)) {\n        var s = new UrlSegmentGroup(segmentGroup.segments, addEmptySegmentsToChildrenIfNeeded(segmentGroup, slicedSegments, config, segmentGroup.children));\n        return { segmentGroup: mergeTrivialChildren(s), slicedSegments: slicedSegments };\n    }\n    else {\n        return { segmentGroup: segmentGroup, slicedSegments: slicedSegments };\n    }\n}\nfunction mergeTrivialChildren(s) {\n    if (s.numberOfChildren === 1 && s.children[PRIMARY_OUTLET]) {\n        var c = s.children[PRIMARY_OUTLET];\n        return new UrlSegmentGroup(s.segments.concat(c.segments), c.children);\n    }\n    else {\n        return s;\n    }\n}\nfunction addEmptySegmentsToChildrenIfNeeded(segmentGroup, slicedSegments, routes, children) {\n    var res = {};\n    for (var _i = 0, routes_1 = routes; _i < routes_1.length; _i++) {\n        var r = routes_1[_i];\n        if (emptyPathRedirect(segmentGroup, slicedSegments, r) && !children[getOutlet(r)]) {\n            res[getOutlet(r)] = new UrlSegmentGroup([], {});\n        }\n    }\n    return merge(children, res);\n}\nfunction createChildrenForEmptySegments(routes, primarySegmentGroup) {\n    var res = {};\n    res[PRIMARY_OUTLET] = primarySegmentGroup;\n    for (var _i = 0, routes_2 = routes; _i < routes_2.length; _i++) {\n        var r = routes_2[_i];\n        if (r.path === '' && getOutlet(r) !== PRIMARY_OUTLET) {\n            res[getOutlet(r)] = new UrlSegmentGroup([], {});\n        }\n    }\n    return res;\n}\nfunction containsEmptyPathRedirectsWithNamedOutlets(segmentGroup, slicedSegments, routes) {\n    return routes\n        .filter(function (r) { return emptyPathRedirect(segmentGroup, slicedSegments, r) &&\n        getOutlet(r) !== PRIMARY_OUTLET; })\n        .length > 0;\n}\nfunction containsEmptyPathRedirects(segmentGroup, slicedSegments, routes) {\n    return routes.filter(function (r) { return emptyPathRedirect(segmentGroup, slicedSegments, r); }).length > 0;\n}\nfunction emptyPathRedirect(segmentGroup, slicedSegments, r) {\n    if ((segmentGroup.hasChildren() || slicedSegments.length > 0) && r.pathMatch === 'full')\n        return false;\n    return r.path === '' && r.redirectTo !== undefined;\n}\nfunction getOutlet(route) {\n    return route.outlet ? route.outlet : PRIMARY_OUTLET;\n}\n//# sourceMappingURL=apply_redirects.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/router/src/apply_redirects.js\n// module id = 923\n// module chunks = 0","/**\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 */\nimport { PRIMARY_OUTLET } from './shared';\nexport function validateConfig(config) {\n    config.forEach(validateNode);\n}\nfunction validateNode(route) {\n    if (Array.isArray(route)) {\n        throw new Error(\"Invalid route configuration: Array cannot be specified\");\n    }\n    if (route.component === undefined && (route.outlet && route.outlet !== PRIMARY_OUTLET)) {\n        throw new Error(\"Invalid route configuration of route '\" + route.path + \"': a componentless route cannot have a named outlet set\");\n    }\n    if (!!route.redirectTo && !!route.children) {\n        throw new Error(\"Invalid configuration of route '\" + route.path + \"': redirectTo and children cannot be used together\");\n    }\n    if (!!route.redirectTo && !!route.loadChildren) {\n        throw new Error(\"Invalid configuration of route '\" + route.path + \"': redirectTo and loadChildren cannot be used together\");\n    }\n    if (!!route.children && !!route.loadChildren) {\n        throw new Error(\"Invalid configuration of route '\" + route.path + \"': children and loadChildren cannot be used together\");\n    }\n    if (!!route.redirectTo && !!route.component) {\n        throw new Error(\"Invalid configuration of route '\" + route.path + \"': redirectTo and component cannot be used together\");\n    }\n    if (route.redirectTo === undefined && !route.component && !route.children &&\n        !route.loadChildren) {\n        throw new Error(\"Invalid configuration of route '\" + route.path + \"': one of the following must be provided (component or redirectTo or children or loadChildren)\");\n    }\n    if (route.path === undefined) {\n        throw new Error(\"Invalid route configuration: routes must have path specified\");\n    }\n    if (route.path.startsWith('/')) {\n        throw new Error(\"Invalid route configuration of route '\" + route.path + \"': path cannot start with a slash\");\n    }\n    if (route.path === '' && route.redirectTo !== undefined && route.pathMatch === undefined) {\n        var exp = \"The default value of 'pathMatch' is 'prefix', but often the intent is to use 'full'.\";\n        throw new Error(\"Invalid route configuration of route '{path: \\\"\" + route.path + \"\\\", redirectTo: \\\"\" + route.redirectTo + \"\\\"}': please provide 'pathMatch'. \" + exp);\n    }\n    if (route.pathMatch !== undefined && route.pathMatch !== 'full' && route.pathMatch !== 'prefix') {\n        throw new Error(\"Invalid configuration of route '\" + route.path + \"': pathMatch can only be set to 'prefix' or 'full'\");\n    }\n}\n//# sourceMappingURL=config.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/router/src/config.js\n// module id = 924\n// module chunks = 0","/**\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 */\nimport { BehaviorSubject } from 'rxjs/BehaviorSubject';\nimport { ActivatedRoute, RouterState } from './router_state';\nimport { TreeNode } from './utils/tree';\nexport function createRouterState(curr, prevState) {\n    var root = createNode(curr._root, prevState ? prevState._root : undefined);\n    return new RouterState(root, curr);\n}\nfunction createNode(curr, prevState) {\n    if (prevState && equalRouteSnapshots(prevState.value.snapshot, curr.value)) {\n        var value = prevState.value;\n        value._futureSnapshot = curr.value;\n        var children = createOrReuseChildren(curr, prevState);\n        return new TreeNode(value, children);\n    }\n    else {\n        var value = createActivatedRoute(curr.value);\n        var children = curr.children.map(function (c) { return createNode(c); });\n        return new TreeNode(value, children);\n    }\n}\nfunction createOrReuseChildren(curr, prevState) {\n    return curr.children.map(function (child) {\n        for (var _i = 0, _a = prevState.children; _i < _a.length; _i++) {\n            var p = _a[_i];\n            if (equalRouteSnapshots(p.value.snapshot, child.value)) {\n                return createNode(child, p);\n            }\n        }\n        return createNode(child);\n    });\n}\nfunction createActivatedRoute(c) {\n    return new ActivatedRoute(new BehaviorSubject(c.url), new BehaviorSubject(c.params), new BehaviorSubject(c.queryParams), new BehaviorSubject(c.fragment), new BehaviorSubject(c.data), c.outlet, c.component, c);\n}\nfunction equalRouteSnapshots(a, b) {\n    return a._routeConfig === b._routeConfig;\n}\n//# sourceMappingURL=create_router_state.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/router/src/create_router_state.js\n// module id = 925\n// module chunks = 0","/**\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 */\nimport { PRIMARY_OUTLET } from './shared';\nimport { UrlSegment, UrlSegmentGroup, UrlTree } from './url_tree';\nimport { forEach, shallowEqual } from './utils/collection';\nexport function createUrlTree(route, urlTree, commands, queryParams, fragment) {\n    if (commands.length === 0) {\n        return tree(urlTree.root, urlTree.root, urlTree, queryParams, fragment);\n    }\n    var normalizedCommands = normalizeCommands(commands);\n    validateCommands(normalizedCommands);\n    if (navigateToRoot(normalizedCommands)) {\n        return tree(urlTree.root, new UrlSegmentGroup([], {}), urlTree, queryParams, fragment);\n    }\n    var startingPosition = findStartingPosition(normalizedCommands, urlTree, route);\n    var segmentGroup = startingPosition.processChildren ?\n        updateSegmentGroupChildren(startingPosition.segmentGroup, startingPosition.index, normalizedCommands.commands) :\n        updateSegmentGroup(startingPosition.segmentGroup, startingPosition.index, normalizedCommands.commands);\n    return tree(startingPosition.segmentGroup, segmentGroup, urlTree, queryParams, fragment);\n}\nfunction validateCommands(n) {\n    if (n.isAbsolute && n.commands.length > 0 && isMatrixParams(n.commands[0])) {\n        throw new Error('Root segment cannot have matrix parameters');\n    }\n    var c = n.commands.filter(function (c) { return typeof c === 'object' && c.outlets !== undefined; });\n    if (c.length > 0 && c[0] !== n.commands[n.commands.length - 1]) {\n        throw new Error('{outlets:{}} has to be the last command');\n    }\n}\nfunction isMatrixParams(command) {\n    return typeof command === 'object' && command.outlets === undefined &&\n        command.segmentPath === undefined;\n}\nfunction tree(oldSegmentGroup, newSegmentGroup, urlTree, queryParams, fragment) {\n    if (urlTree.root === oldSegmentGroup) {\n        return new UrlTree(newSegmentGroup, stringify(queryParams), fragment);\n    }\n    else {\n        return new UrlTree(replaceSegment(urlTree.root, oldSegmentGroup, newSegmentGroup), stringify(queryParams), fragment);\n    }\n}\nfunction replaceSegment(current, oldSegment, newSegment) {\n    var children = {};\n    forEach(current.children, function (c, outletName) {\n        if (c === oldSegment) {\n            children[outletName] = newSegment;\n        }\n        else {\n            children[outletName] = replaceSegment(c, oldSegment, newSegment);\n        }\n    });\n    return new UrlSegmentGroup(current.segments, children);\n}\nfunction navigateToRoot(normalizedChange) {\n    return normalizedChange.isAbsolute && normalizedChange.commands.length === 1 &&\n        normalizedChange.commands[0] == '/';\n}\nvar NormalizedNavigationCommands = (function () {\n    function NormalizedNavigationCommands(isAbsolute, numberOfDoubleDots, commands) {\n        this.isAbsolute = isAbsolute;\n        this.numberOfDoubleDots = numberOfDoubleDots;\n        this.commands = commands;\n    }\n    return NormalizedNavigationCommands;\n}());\nfunction normalizeCommands(commands) {\n    if ((typeof commands[0] === 'string') && commands.length === 1 && commands[0] == '/') {\n        return new NormalizedNavigationCommands(true, 0, commands);\n    }\n    var numberOfDoubleDots = 0;\n    var isAbsolute = false;\n    var res = [];\n    var _loop_1 = function(i) {\n        var c = commands[i];\n        if (typeof c === 'object' && c.outlets !== undefined) {\n            var r_1 = {};\n            forEach(c.outlets, function (commands, name) {\n                if (typeof commands === 'string') {\n                    r_1[name] = commands.split('/');\n                }\n                else {\n                    r_1[name] = commands;\n                }\n            });\n            res.push({ outlets: r_1 });\n            return \"continue\";\n        }\n        if (typeof c === 'object' && c.segmentPath !== undefined) {\n            res.push(c.segmentPath);\n            return \"continue\";\n        }\n        if (!(typeof c === 'string')) {\n            res.push(c);\n            return \"continue\";\n        }\n        if (i === 0) {\n            var parts = c.split('/');\n            for (var j = 0; j < parts.length; ++j) {\n                var cc = parts[j];\n                if (j == 0 && cc == '.') {\n                }\n                else if (j == 0 && cc == '') {\n                    isAbsolute = true;\n                }\n                else if (cc == '..') {\n                    numberOfDoubleDots++;\n                }\n                else if (cc != '') {\n                    res.push(cc);\n                }\n            }\n        }\n        else {\n            res.push(c);\n        }\n    };\n    for (var i = 0; i < commands.length; ++i) {\n        _loop_1(i);\n    }\n    return new NormalizedNavigationCommands(isAbsolute, numberOfDoubleDots, res);\n}\nvar Position = (function () {\n    function Position(segmentGroup, processChildren, index) {\n        this.segmentGroup = segmentGroup;\n        this.processChildren = processChildren;\n        this.index = index;\n    }\n    return Position;\n}());\nfunction findStartingPosition(normalizedChange, urlTree, route) {\n    if (normalizedChange.isAbsolute) {\n        return new Position(urlTree.root, true, 0);\n    }\n    else if (route.snapshot._lastPathIndex === -1) {\n        return new Position(route.snapshot._urlSegment, true, 0);\n    }\n    else {\n        var modifier = isMatrixParams(normalizedChange.commands[0]) ? 0 : 1;\n        var index = route.snapshot._lastPathIndex + modifier;\n        return createPositionApplyingDoubleDots(route.snapshot._urlSegment, index, normalizedChange.numberOfDoubleDots);\n    }\n}\nfunction createPositionApplyingDoubleDots(group, index, numberOfDoubleDots) {\n    var g = group;\n    var ci = index;\n    var dd = numberOfDoubleDots;\n    while (dd > ci) {\n        dd -= ci;\n        g = g.parent;\n        if (!g) {\n            throw new Error('Invalid number of \\'../\\'');\n        }\n        ci = g.segments.length;\n    }\n    return new Position(g, false, ci - dd);\n}\nfunction getPath(command) {\n    if (typeof command === 'object' && command.outlets)\n        return command.outlets[PRIMARY_OUTLET];\n    return \"\" + command;\n}\nfunction getOutlets(commands) {\n    if (!(typeof commands[0] === 'object'))\n        return (_a = {}, _a[PRIMARY_OUTLET] = commands, _a);\n    if (commands[0].outlets === undefined)\n        return (_b = {}, _b[PRIMARY_OUTLET] = commands, _b);\n    return commands[0].outlets;\n    var _a, _b;\n}\nfunction updateSegmentGroup(segmentGroup, startIndex, commands) {\n    if (!segmentGroup) {\n        segmentGroup = new UrlSegmentGroup([], {});\n    }\n    if (segmentGroup.segments.length === 0 && segmentGroup.hasChildren()) {\n        return updateSegmentGroupChildren(segmentGroup, startIndex, commands);\n    }\n    var m = prefixedWith(segmentGroup, startIndex, commands);\n    var slicedCommands = commands.slice(m.commandIndex);\n    if (m.match && m.pathIndex < segmentGroup.segments.length) {\n        var g = new UrlSegmentGroup(segmentGroup.segments.slice(0, m.pathIndex), {});\n        g.children[PRIMARY_OUTLET] =\n            new UrlSegmentGroup(segmentGroup.segments.slice(m.pathIndex), segmentGroup.children);\n        return updateSegmentGroupChildren(g, 0, slicedCommands);\n    }\n    else if (m.match && slicedCommands.length === 0) {\n        return new UrlSegmentGroup(segmentGroup.segments, {});\n    }\n    else if (m.match && !segmentGroup.hasChildren()) {\n        return createNewSegmentGroup(segmentGroup, startIndex, commands);\n    }\n    else if (m.match) {\n        return updateSegmentGroupChildren(segmentGroup, 0, slicedCommands);\n    }\n    else {\n        return createNewSegmentGroup(segmentGroup, startIndex, commands);\n    }\n}\nfunction updateSegmentGroupChildren(segmentGroup, startIndex, commands) {\n    if (commands.length === 0) {\n        return new UrlSegmentGroup(segmentGroup.segments, {});\n    }\n    else {\n        var outlets_1 = getOutlets(commands);\n        var children_1 = {};\n        forEach(outlets_1, function (commands, outlet) {\n            if (commands !== null) {\n                children_1[outlet] = updateSegmentGroup(segmentGroup.children[outlet], startIndex, commands);\n            }\n        });\n        forEach(segmentGroup.children, function (child, childOutlet) {\n            if (outlets_1[childOutlet] === undefined) {\n                children_1[childOutlet] = child;\n            }\n        });\n        return new UrlSegmentGroup(segmentGroup.segments, children_1);\n    }\n}\nfunction prefixedWith(segmentGroup, startIndex, commands) {\n    var currentCommandIndex = 0;\n    var currentPathIndex = startIndex;\n    var noMatch = { match: false, pathIndex: 0, commandIndex: 0 };\n    while (currentPathIndex < segmentGroup.segments.length) {\n        if (currentCommandIndex >= commands.length)\n            return noMatch;\n        var path = segmentGroup.segments[currentPathIndex];\n        var curr = getPath(commands[currentCommandIndex]);\n        var next = currentCommandIndex < commands.length - 1 ? commands[currentCommandIndex + 1] : null;\n        if (currentPathIndex > 0 && curr === undefined)\n            break;\n        if (curr && next && (typeof next === 'object') && next.outlets === undefined) {\n            if (!compare(curr, next, path))\n                return noMatch;\n            currentCommandIndex += 2;\n        }\n        else {\n            if (!compare(curr, {}, path))\n                return noMatch;\n            currentCommandIndex++;\n        }\n        currentPathIndex++;\n    }\n    return { match: true, pathIndex: currentPathIndex, commandIndex: currentCommandIndex };\n}\nfunction createNewSegmentGroup(segmentGroup, startIndex, commands) {\n    var paths = segmentGroup.segments.slice(0, startIndex);\n    var i = 0;\n    while (i < commands.length) {\n        if (typeof commands[i] === 'object' && commands[i].outlets !== undefined) {\n            var children = createNewSegmentChldren(commands[i].outlets);\n            return new UrlSegmentGroup(paths, children);\n        }\n        // if we start with an object literal, we need to reuse the path part from the segment\n        if (i === 0 && isMatrixParams(commands[0])) {\n            var p = segmentGroup.segments[startIndex];\n            paths.push(new UrlSegment(p.path, commands[0]));\n            i++;\n            continue;\n        }\n        var curr = getPath(commands[i]);\n        var next = (i < commands.length - 1) ? commands[i + 1] : null;\n        if (curr && next && isMatrixParams(next)) {\n            paths.push(new UrlSegment(curr, stringify(next)));\n            i += 2;\n        }\n        else {\n            paths.push(new UrlSegment(curr, {}));\n            i++;\n        }\n    }\n    return new UrlSegmentGroup(paths, {});\n}\nfunction createNewSegmentChldren(outlets) {\n    var children = {};\n    forEach(outlets, function (commands, outlet) {\n        if (commands !== null) {\n            children[outlet] = createNewSegmentGroup(new UrlSegmentGroup([], {}), 0, commands);\n        }\n    });\n    return children;\n}\nfunction stringify(params) {\n    var res = {};\n    forEach(params, function (v, k) { return res[k] = \"\" + v; });\n    return res;\n}\nfunction compare(path, params, segment) {\n    return path == segment.path && shallowEqual(params, segment.parameters);\n}\n//# sourceMappingURL=create_url_tree.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/router/src/create_url_tree.js\n// module id = 926\n// module chunks = 0","/**\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 */\nexport { RouterLink, RouterLinkWithHref } from './directives/router_link';\nexport { RouterLinkActive } from './directives/router_link_active';\nexport { RouterOutlet } from './directives/router_outlet';\nexport { NavigationCancel, NavigationEnd, NavigationError, NavigationStart, Router, RoutesRecognized } from './router';\nexport { RouterModule, provideRoutes } from './router_module';\nexport { RouterOutletMap } from './router_outlet_map';\nexport { NoPreloading, PreloadAllModules, PreloadingStrategy } from './router_preloader';\nexport { ActivatedRoute, ActivatedRouteSnapshot, RouterState, RouterStateSnapshot } from './router_state';\nexport { PRIMARY_OUTLET } from './shared';\nexport { DefaultUrlSerializer, UrlSegment, UrlSerializer, UrlTree } from './url_tree';\nexport * from './private_export';\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/router/src/index.js\n// module id = 927\n// module chunks = 0","/**\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 */\nimport { ROUTES } from './router_config_loader';\nimport { ROUTER_PROVIDERS } from './router_module';\nimport { flatten } from './utils/collection';\nexport var __router_private__ = {\n    ROUTER_PROVIDERS: ROUTER_PROVIDERS,\n    ROUTES: ROUTES,\n    flatten: flatten\n};\n//# sourceMappingURL=private_export.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/router/src/private_export.js\n// module id = 928\n// module chunks = 0","/**\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 */\nimport { Observable } from 'rxjs/Observable';\nimport { of } from 'rxjs/observable/of';\nimport { ActivatedRouteSnapshot, RouterStateSnapshot, inheritedParamsDataResolve } from './router_state';\nimport { PRIMARY_OUTLET } from './shared';\nimport { UrlSegmentGroup, mapChildrenIntoArray } from './url_tree';\nimport { last, merge } from './utils/collection';\nimport { TreeNode } from './utils/tree';\nvar NoMatch = (function () {\n    function NoMatch() {\n    }\n    return NoMatch;\n}());\nexport function recognize(rootComponentType, config, urlTree, url) {\n    return new Recognizer(rootComponentType, config, urlTree, url).recognize();\n}\nvar Recognizer = (function () {\n    function Recognizer(rootComponentType, config, urlTree, url) {\n        this.rootComponentType = rootComponentType;\n        this.config = config;\n        this.urlTree = urlTree;\n        this.url = url;\n    }\n    Recognizer.prototype.recognize = function () {\n        try {\n            var rootSegmentGroup = split(this.urlTree.root, [], [], this.config).segmentGroup;\n            var children = this.processSegmentGroup(this.config, rootSegmentGroup, PRIMARY_OUTLET);\n            var root = new ActivatedRouteSnapshot([], Object.freeze({}), Object.freeze(this.urlTree.queryParams), this.urlTree.fragment, {}, PRIMARY_OUTLET, this.rootComponentType, null, this.urlTree.root, -1, {});\n            var rootNode = new TreeNode(root, children);\n            var routeState = new RouterStateSnapshot(this.url, rootNode);\n            this.inheriteParamsAndData(routeState._root);\n            return of(routeState);\n        }\n        catch (e) {\n            return new Observable(function (obs) { return obs.error(e); });\n        }\n    };\n    Recognizer.prototype.inheriteParamsAndData = function (routeNode) {\n        var _this = this;\n        var route = routeNode.value;\n        var i = inheritedParamsDataResolve(route);\n        route.params = Object.freeze(i.params);\n        route.data = Object.freeze(i.data);\n        routeNode.children.forEach(function (n) { return _this.inheriteParamsAndData(n); });\n    };\n    Recognizer.prototype.processSegmentGroup = function (config, segmentGroup, outlet) {\n        if (segmentGroup.segments.length === 0 && segmentGroup.hasChildren()) {\n            return this.processChildren(config, segmentGroup);\n        }\n        else {\n            return this.processSegment(config, segmentGroup, 0, segmentGroup.segments, outlet);\n        }\n    };\n    Recognizer.prototype.processChildren = function (config, segmentGroup) {\n        var _this = this;\n        var children = mapChildrenIntoArray(segmentGroup, function (child, childOutlet) { return _this.processSegmentGroup(config, child, childOutlet); });\n        checkOutletNameUniqueness(children);\n        sortActivatedRouteSnapshots(children);\n        return children;\n    };\n    Recognizer.prototype.processSegment = function (config, segmentGroup, pathIndex, segments, outlet) {\n        for (var _i = 0, config_1 = config; _i < config_1.length; _i++) {\n            var r = config_1[_i];\n            try {\n                return this.processSegmentAgainstRoute(r, segmentGroup, pathIndex, segments, outlet);\n            }\n            catch (e) {\n                if (!(e instanceof NoMatch))\n                    throw e;\n            }\n        }\n        throw new NoMatch();\n    };\n    Recognizer.prototype.processSegmentAgainstRoute = function (route, rawSegment, pathIndex, segments, outlet) {\n        if (route.redirectTo)\n            throw new NoMatch();\n        if ((route.outlet ? route.outlet : PRIMARY_OUTLET) !== outlet)\n            throw new NoMatch();\n        if (route.path === '**') {\n            var params = segments.length > 0 ? last(segments).parameters : {};\n            var snapshot_1 = new ActivatedRouteSnapshot(segments, params, Object.freeze(this.urlTree.queryParams), this.urlTree.fragment, getData(route), outlet, route.component, route, getSourceSegmentGroup(rawSegment), getPathIndexShift(rawSegment) + segments.length, getResolve(route));\n            return [new TreeNode(snapshot_1, [])];\n        }\n        var _a = match(rawSegment, route, segments), consumedSegments = _a.consumedSegments, parameters = _a.parameters, lastChild = _a.lastChild;\n        var rawSlicedSegments = segments.slice(lastChild);\n        var childConfig = getChildConfig(route);\n        var _b = split(rawSegment, consumedSegments, rawSlicedSegments, childConfig), segmentGroup = _b.segmentGroup, slicedSegments = _b.slicedSegments;\n        var snapshot = new ActivatedRouteSnapshot(consumedSegments, parameters, Object.freeze(this.urlTree.queryParams), this.urlTree.fragment, getData(route), outlet, route.component, route, getSourceSegmentGroup(rawSegment), getPathIndexShift(rawSegment) + consumedSegments.length, getResolve(route));\n        if (slicedSegments.length === 0 && segmentGroup.hasChildren()) {\n            var children = this.processChildren(childConfig, segmentGroup);\n            return [new TreeNode(snapshot, children)];\n        }\n        else if (childConfig.length === 0 && slicedSegments.length === 0) {\n            return [new TreeNode(snapshot, [])];\n        }\n        else {\n            var children = this.processSegment(childConfig, segmentGroup, pathIndex + lastChild, slicedSegments, PRIMARY_OUTLET);\n            return [new TreeNode(snapshot, children)];\n        }\n    };\n    return Recognizer;\n}());\nfunction sortActivatedRouteSnapshots(nodes) {\n    nodes.sort(function (a, b) {\n        if (a.value.outlet === PRIMARY_OUTLET)\n            return -1;\n        if (b.value.outlet === PRIMARY_OUTLET)\n            return 1;\n        return a.value.outlet.localeCompare(b.value.outlet);\n    });\n}\nfunction getChildConfig(route) {\n    if (route.children) {\n        return route.children;\n    }\n    else if (route.loadChildren) {\n        return route._loadedConfig.routes;\n    }\n    else {\n        return [];\n    }\n}\nfunction match(segmentGroup, route, segments) {\n    if (route.path === '') {\n        if (route.pathMatch === 'full' && (segmentGroup.hasChildren() || segments.length > 0)) {\n            throw new NoMatch();\n        }\n        else {\n            return { consumedSegments: [], lastChild: 0, parameters: {} };\n        }\n    }\n    var path = route.path;\n    var parts = path.split('/');\n    var posParameters = {};\n    var consumedSegments = [];\n    var currentIndex = 0;\n    for (var i = 0; i < parts.length; ++i) {\n        if (currentIndex >= segments.length)\n            throw new NoMatch();\n        var current = segments[currentIndex];\n        var p = parts[i];\n        var isPosParam = p.startsWith(':');\n        if (!isPosParam && p !== current.path)\n            throw new NoMatch();\n        if (isPosParam) {\n            posParameters[p.substring(1)] = current.path;\n        }\n        consumedSegments.push(current);\n        currentIndex++;\n    }\n    if (route.pathMatch === 'full' &&\n        (segmentGroup.hasChildren() || currentIndex < segments.length)) {\n        throw new NoMatch();\n    }\n    var parameters = merge(posParameters, consumedSegments[consumedSegments.length - 1].parameters);\n    return { consumedSegments: consumedSegments, lastChild: currentIndex, parameters: parameters };\n}\nfunction checkOutletNameUniqueness(nodes) {\n    var names = {};\n    nodes.forEach(function (n) {\n        var routeWithSameOutletName = names[n.value.outlet];\n        if (routeWithSameOutletName) {\n            var p = routeWithSameOutletName.url.map(function (s) { return s.toString(); }).join('/');\n            var c = n.value.url.map(function (s) { return s.toString(); }).join('/');\n            throw new Error(\"Two segments cannot have the same outlet name: '\" + p + \"' and '\" + c + \"'.\");\n        }\n        names[n.value.outlet] = n.value;\n    });\n}\nfunction getSourceSegmentGroup(segmentGroup) {\n    var s = segmentGroup;\n    while (s._sourceSegment) {\n        s = s._sourceSegment;\n    }\n    return s;\n}\nfunction getPathIndexShift(segmentGroup) {\n    var s = segmentGroup;\n    var res = (s._segmentIndexShift ? s._segmentIndexShift : 0);\n    while (s._sourceSegment) {\n        s = s._sourceSegment;\n        res += (s._segmentIndexShift ? s._segmentIndexShift : 0);\n    }\n    return res - 1;\n}\nfunction split(segmentGroup, consumedSegments, slicedSegments, config) {\n    if (slicedSegments.length > 0 &&\n        containsEmptyPathMatchesWithNamedOutlets(segmentGroup, slicedSegments, config)) {\n        var s = new UrlSegmentGroup(consumedSegments, createChildrenForEmptyPaths(segmentGroup, consumedSegments, config, new UrlSegmentGroup(slicedSegments, segmentGroup.children)));\n        s._sourceSegment = segmentGroup;\n        s._segmentIndexShift = consumedSegments.length;\n        return { segmentGroup: s, slicedSegments: [] };\n    }\n    else if (slicedSegments.length === 0 &&\n        containsEmptyPathMatches(segmentGroup, slicedSegments, config)) {\n        var s = new UrlSegmentGroup(segmentGroup.segments, addEmptyPathsToChildrenIfNeeded(segmentGroup, slicedSegments, config, segmentGroup.children));\n        s._sourceSegment = segmentGroup;\n        s._segmentIndexShift = consumedSegments.length;\n        return { segmentGroup: s, slicedSegments: slicedSegments };\n    }\n    else {\n        var s = new UrlSegmentGroup(segmentGroup.segments, segmentGroup.children);\n        s._sourceSegment = segmentGroup;\n        s._segmentIndexShift = consumedSegments.length;\n        return { segmentGroup: s, slicedSegments: slicedSegments };\n    }\n}\nfunction addEmptyPathsToChildrenIfNeeded(segmentGroup, slicedSegments, routes, children) {\n    var res = {};\n    for (var _i = 0, routes_1 = routes; _i < routes_1.length; _i++) {\n        var r = routes_1[_i];\n        if (emptyPathMatch(segmentGroup, slicedSegments, r) && !children[getOutlet(r)]) {\n            var s = new UrlSegmentGroup([], {});\n            s._sourceSegment = segmentGroup;\n            s._segmentIndexShift = segmentGroup.segments.length;\n            res[getOutlet(r)] = s;\n        }\n    }\n    return merge(children, res);\n}\nfunction createChildrenForEmptyPaths(segmentGroup, consumedSegments, routes, primarySegment) {\n    var res = {};\n    res[PRIMARY_OUTLET] = primarySegment;\n    primarySegment._sourceSegment = segmentGroup;\n    primarySegment._segmentIndexShift = consumedSegments.length;\n    for (var _i = 0, routes_2 = routes; _i < routes_2.length; _i++) {\n        var r = routes_2[_i];\n        if (r.path === '' && getOutlet(r) !== PRIMARY_OUTLET) {\n            var s = new UrlSegmentGroup([], {});\n            s._sourceSegment = segmentGroup;\n            s._segmentIndexShift = consumedSegments.length;\n            res[getOutlet(r)] = s;\n        }\n    }\n    return res;\n}\nfunction containsEmptyPathMatchesWithNamedOutlets(segmentGroup, slicedSegments, routes) {\n    return routes\n        .filter(function (r) { return emptyPathMatch(segmentGroup, slicedSegments, r) &&\n        getOutlet(r) !== PRIMARY_OUTLET; })\n        .length > 0;\n}\nfunction containsEmptyPathMatches(segmentGroup, slicedSegments, routes) {\n    return routes.filter(function (r) { return emptyPathMatch(segmentGroup, slicedSegments, r); }).length > 0;\n}\nfunction emptyPathMatch(segmentGroup, slicedSegments, r) {\n    if ((segmentGroup.hasChildren() || slicedSegments.length > 0) && r.pathMatch === 'full')\n        return false;\n    return r.path === '' && r.redirectTo === undefined;\n}\nfunction getOutlet(route) {\n    return route.outlet ? route.outlet : PRIMARY_OUTLET;\n}\nfunction getData(route) {\n    return route.data ? route.data : {};\n}\nfunction getResolve(route) {\n    return route.resolve ? route.resolve : {};\n}\n//# sourceMappingURL=recognize.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/@angular/router/src/recognize.js\n// module id = 929\n// module chunks = 0","import {HttpModule, JsonpModule, Http, XHRBackend, RequestOptions} from '@angular/http';\r\nimport {httpFactory} from \"./views/http.factory\";\r\nimport {BrowserModule} from '@angular/platform-browser';\r\nimport {NgModule} from '@angular/core';\r\nimport {FormsModule} from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport {LocationStrategy, HashLocationStrategy} from '@angular/common';\r\nimport {Router_id} from \"./views/routing_hidden_id\";\r\nimport {TranslateModule, TranslateLoader, TranslateStaticLoader} from 'ng2-translate';\r\nimport {ChartsModule} from 'ng2-charts';\r\nimport {ImageCropperModule} from 'ng2-img-cropper';\r\nimport {UiSwitchModule} from 'angular2-ui-switch'\r\nimport {Ng2Bs3ModalModule} from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport { Router} from '@angular/router';\r\nimport {InterceptorService} from \"./views/interceptor.service\";\r\nimport {InterceptedHttp} from \"./views/http.interceptor\";\r\n\r\nimport {ROUTES} from \"./app.routes\";\r\nimport {Helper} from \"./views/helper\";\r\nimport {AppComponent} from './app.component';\r\n\r\nimport {Data} from \"./views/data\";\r\nimport {TransactionHistoryModule} from \"./views/admin/transaction_history/transaction_history.module\";\r\n\r\n// import {SpinnerModule} from 'angular2-spinner/dist';\r\n\r\nimport {MassNotificationModule} from \"./views/admin/mass_notification/mass_notification.module\";\r\nimport {DispatchModule} from \"./views/admin/dispatch/dispatch.module\";\r\n\r\n// App views\r\nimport {admin_LoginModule} from \"./views/admin/admin_login/admin_login.module\";\r\nimport {dispatcher_LoginModule} from \"./views/admin/dispatcher_login/dispatcher_login.module\";\r\nimport {AdminProductsModule} from \"./views/admin/store_products/products.module\";\r\n\r\nimport {AdminForgotPasswordModule} from \"./views/admin/admin_forgot_password/admin_forgot_password.module\";\r\nimport {UserNewPasswordModule} from \"./views/admin/user_new_password/user_new_password.module\";\r\nimport {ProviderNewPasswordModule} from \"./views/admin/provider_new_password/provider_new_password.module\";\r\nimport {AdminNewPasswordModule} from \"./views/admin/admin_new_password/admin_new_password.module\";\r\n\r\nimport {PaymentGatewayModule} from \"./views/admin/payment_gateway/payment_gateway.module\";\r\n\r\nimport {AdminstoreSettingModule} from \"./views/admin/store_setting/setting.module\";\r\nimport {AnalyticsModule} from \"./views/admin/analytics/analytics.module\";\r\nimport {GeneralAnalyticsModule} from \"./views/admin/general_analytics/general_analytics.module\";\r\n\r\n\r\nimport {SettingModule} from \"./views/admin/setting/setting.module\";\r\nimport {HistoryModule} from \"./views/admin/history/history.module\";\r\nimport {UserHistoryModule} from \"./views/admin/user_history/history.module\";\r\nimport {AdminStoreHistoryModule} from \"./views/admin/store_history/history.module\";\r\nimport {ProviderHistoryModule} from \"./views/admin/provider_history/history.module\";\r\nimport {EditProviderVehicleModule} from \"./views/admin/edit_provider_vehicle/edit_provider_vehicle.module\";\r\nimport {StoreReportModule} from \"./views/admin/store_report/store_report.module\";\r\n\r\n\r\nimport {WalletRequestModule} from \"./views/admin/wallet_request/wallet_request.module\";\r\n\r\nimport {ProviderVehicleModule} from \"./views/admin/provider_vehicle/provider_vehicle.module\";\r\nimport {VehicleDocumentModule} from \"./views/admin/vehicle_document/vehicle_document.module\";\r\n\r\nimport {OrderDetailModule} from \"./views/admin/order_detail/order_detail.module\";\r\nimport {DeliveriesModule} from \"./views/admin/deliveries/deliveries.module\";\r\nimport {OrdersModule} from \"./views/admin/orders/orders.module\";\r\nimport {ViewHistoryModule} from \"./views/admin/view_history/view_history.module\";\r\n\r\nimport {WalletRequestBankDetailModule} from \"./views/admin/wallet_request_bank_detail/wallet_request_bank_detail.module\";\r\n\r\n\r\nimport {ViewProviderHistoryModule} from \"./views/admin/view_provider_history/view_provider_history.module\";\r\n\r\nimport {ViewInvoiceModule} from \"./views/admin/view_invoice/view_invoice.module\";\r\nimport {ViewServiceDetailModule} from \"./views/admin/view_service_detail/view_service_detail.module\";\r\nimport {AdminViewCartModule} from \"./views/admin/admin_view_cart/admin_view_cart.module\";\r\nimport {AddDetailModule} from \"./views/admin/add_detail/add_detail.module\";\r\n\r\nimport {CountryModule} from \"./views/admin/country/country.module\";\r\nimport {AdminModule} from \"./views/admin/admin/admin.module\";\r\nimport {teamModule} from \"./views/admin/team/team.module\";\r\nimport {AddAdminModule} from \"./views/admin/add_admin/add_admin.module\";\r\nimport {AddteamModule} from \"./views/admin/add_team/add_team.module\";\r\nimport {ProviderModule} from \"./views/admin/provider/provider.module\";\r\nimport {DashboardModule} from \"./views/admin/dashboard/dashboard.module\";\r\n\r\nimport {RequestOrderDetailModule} from \"./views/admin/request_order_detail/request_order_detail.module\";\r\n\r\nimport {CancellationReasonModule} from \"./views/admin/cancellation_reason/cancellation_reason.module\";\r\n\r\n\r\nimport {LocationTrackModule} from \"./views/admin/location_track/location_track.module\";\r\n\r\n\r\n\r\n\r\nimport {UploadDocumentModule} from \"./views/admin/upload_document/upload_document.module\";\r\nimport {Add502Module} from \"./views/admin/502/502.module\";\r\nimport {Add404Module} from \"./views/admin/404/404.module\";\r\n\r\nimport {EarningModule} from \"./views/admin/earning/earning.module\";\r\nimport {TransLanguageModule} from \"./views/admin/trans_language/trans_language.module\";\r\n\r\n\r\n\r\nimport {ProviderMapModule} from \"./views/admin/provider_map/provider_map.module\";\r\nimport {StoreMapModule} from \"./views/admin/store_map/store_map.module\";\r\nimport {ProviderWeeklyEarningModule} from \"./views/admin/provider_weekly_earning/provider_weekly_earning.module\";\r\nimport {StoreWeeklyEarningModule} from \"./views/admin/store_weekly_earning/store_weekly_earning.module\";\r\n\r\nimport {ViewEarningDetailModule} from \"./views/admin/view_earning_detail/view_earning_detail.module\";\r\nimport {ViewOrderEarningDetailModule} from \"./views/admin/view_order_earning_detail/view_order_earning_detail.module\";\r\nimport {ProviderWeeklyEarningStatementModule} from \"./views/admin/provider_weekly_earning_statement/provider_weekly_earning_statement.module\";\r\nimport {StoreWeeklyEarningStatementModule} from \"./views/admin/store_weekly_earning_statement/store_weekly_earning_statement.module\";\r\n\r\nimport {AdvertiseModule} from \"./views/admin/advertise/advertise.module\";\r\n\r\n\r\nimport {OrderEarningModule} from \"./views/admin/order_earning/order_earning.module\";\r\nimport {PartnerEarningModule} from \"./views/admin/partner_earning/partner_earning.module\";\r\nimport {PartnerOdhEarningModule} from \"./views/admin/partner_odh_earning/partner_odh_earning.module\";\r\nimport {HopperEarningModule} from \"./views/admin/hopper_earning/hopper_earning.module\";\r\n\r\nimport {PartnerEarningDetailModule} from \"./views/admin/partner_earning_detail/partner_earning_detail.module\";\r\nimport {HopperEarningDetailModule} from \"./views/admin/hopper_earning_detail/hopper_earning_detail.module\";\r\n\r\nimport {EditProviderModule} from \"./views/admin/edit_provider/edit_provider.module\";\r\n\r\nimport {ViewDocumentModule} from \"./views/admin/view_document/view_document.module\";\r\n\r\n\r\nimport {RequestCancelReasonModule} from \"./views/admin/request_cancel_reason/request_cancel_reason.module\";\r\n\r\nimport {UserModule} from \"./views/admin/user/user.module\";\r\nimport {StoreUserModule} from \"./views/store/user/user.module\";\r\nimport {OrderModule} from \"./views/admin/order/order.module\";\r\nimport {ViewBankDetailModule} from \"./views/admin/view_bank_detail/view_bank_detail.module\";\r\n\r\nimport {AddAdvertiseModule} from \"./views/admin/add_advertise/add_advertise.module\";\r\n\r\nimport {WalletHistoryModule} from \"./views/admin/wallet_history/wallet_history.module\";\r\nimport {ReviewModule} from \"./views/admin/review/review.module\";\r\nimport {ViewReviewDetailModule} from \"./views/admin/view_review_detail/view_review_detail.module\";\r\nimport {ViewReferralDetailModule} from \"./views/admin/view_referral_detail/view_referral_detail.module\";\r\n\r\nimport {SmsModule} from \"./views/admin/sms/sms.module\";\r\nimport {EmailModule} from \"./views/admin/email/email.module\";\r\n\r\n\r\nimport {AddDocumentModule} from \"./views/admin/add_document/add_document.module\";\r\nimport {DocumentModule} from \"./views/admin/document/document.module\";\r\nimport {PromoCodeModule} from \"./views/admin/promo_code/promo_code.module\";\r\nimport {AddPromoCodeModule} from \"./views/admin/add_promo_code/add_promo_code.module\";\r\nimport {EditUserModule} from \"./views/admin/edit_user/edit_user.module\";\r\n\r\nimport {ViewPromoUsesModule} from \"./views/admin/view_promo_uses/view_promo_uses.module\";\r\n\r\nimport {StoresModule} from \"./views/admin/stores/stores.module\";\r\n\r\nimport {EditStoreModule} from \"./views/admin/edit_store/edit_store.module\";\r\nimport {AddCountryModule} from \"./views/admin/add_country/add_country.module\";\r\nimport {CityModule} from \"./views/admin/city/city.module\";\r\nimport {dispatcherCityModule} from \"./views/admin/dispatcher_city/dispatcher_city.module\";\r\nimport {SaasModule} from \"./views/admin/saas/saas.module\";\r\nimport {AddCityModule} from \"./views/admin/add_city/add_city.module\";\r\nimport {DeliveryModule} from \"./views/admin/delivery/delivery.module\";\r\nimport {AddDeliveryModule} from \"./views/admin/add_delivery/add_delivery.module\";\r\nimport {VehicleModule} from \"./views/admin/vehicle/vehicle.module\";\r\nimport {AddVehicleModule} from \"./views/admin/add_vehicle/add_vehicle.module\";\r\n\r\nimport {ServiceModule} from \"./views/admin/service/service.module\";\r\nimport {AddServiceModule} from \"./views/admin/add_service/add_service.module\";\r\n\r\nimport {BasicSettingModule} from \"./views/admin/basic_setting/basic_setting.module\";\r\nimport {DispatchSettingModule} from \"./views/admin/dispatch_setting/dispatch_setting.module\";\r\nimport {OrderTrackModule} from \"./views/admin/order_track/order_track.module\";\r\nimport {InstallationSettingModule} from \"./views/admin/installation_setting/installation_setting.module\";\r\nimport {OtherSettingModule} from \"./views/admin/other_setting/other_setting.module\";\r\nimport {GoogleKeySettingModule} from \"./views/admin/google_key_setting/google_key_setting.module\";\r\nimport {AppUpdateSettingModule} from \"./views/admin/app_update_setting/app_update_setting.module\";\r\nimport {IosPushNotificationSettingModule} from \"./views/admin/ios_push_notification_setting/ios_push_notification_setting.module\";\r\nimport {AppSettingModule} from \"./views/admin/app_setting/app_setting.module\";\r\n\r\nimport {ImageSettingModule} from \"./views/admin/image_setting/image_setting.module\";\r\n\r\nimport {store_LoginModule} from \"./views/store/store_login/store_login.module\";\r\nimport {store_RegisterModule} from \"./views/store/store_register/store_register.module\";\r\nimport {StoreForgotPasswordModule} from \"./views/store/store_forgot_password/store_forgot_password.module\";\r\nimport {StoreLogoutModule} from \"./views/store/store_logout/store_logout.module\";\r\nimport {StoreNewPasswordModule} from \"./views/store/store_new_password/store_new_password.module\";\r\n\r\nimport {ProfileModule} from \"./views/store/profile/profile.module\";\r\nimport {PaymentAutomizeModule} from \"./views/store/payment_automize/payment_automize.module\";\r\nimport {ProductsModule} from \"./views/store/products/products.module\";\r\nimport {EditProductModule} from \"./views/store/edit_product/edit_product.module\";\r\nimport {SpecificationModule} from \"./views/store/specification/specification.module\";\r\nimport {ItemModule} from \"./views/store/item/item.module\";\r\nimport {AddItemModule} from \"./views/store/add_item/add_item.module\";\r\nimport {EditItemModule} from \"./views/store/edit_item/edit_item.module\";\r\nimport {StoreOrderModule} from \"./views/store/order/order.module\";\r\nimport {StoreDeliveryModule} from \"./views/store/delivery/delivery.module\";\r\nimport {StoreHistoryModule} from \"./views/store/history/history.module\";\r\nimport {StoreUploadDocumentModule} from \"./views/store/upload_document/upload_document.module\";\r\nimport {storeSettingModule} from \"./views/store/setting/setting.module\";\r\nimport {storeWhopSettingModule} from \"./views/store/setting_whop/setting_whop.module\";\r\nimport {StoreViewOrderDetailModule} from \"./views/store/view_order_detail/view_order_detail.module\";\r\nimport {StoreViewOrderModule} from \"./views/store/view_order/view_order.module\";\r\nimport {StoreViewOrderActivityModule} from \"./views/store/view_order_activity/view_order_activity.module\";\r\nimport {StoreTrackDeliveryManModule} from \"./views/store/track_delivery_man/track_delivery_man.module\";\r\nimport {StoreEditOrderModule} from \"./views/store/edit_order/edit_order.module\";\r\nimport {AdminEditOrderModule} from \"./views/admin/edit_order/edit_order.module\";\r\nimport {AdminRefundOrderModule} from \"./views/admin/refund_order/refund_order.module\";\r\nimport {StoreEarningModule} from \"./views/store/earning/earning.module\";\r\nimport {StoreDailyEarningModule} from \"./views/store/daily_earning/daily_earning.module\";\r\nimport {StorWeeklyEarningModule} from \"./views/store/weekly_earning/weekly_earning.module\";\r\nimport {StorMonthlyEarningModule} from \"./views/store/monthly_earning/monthly_earning.module\";\r\nimport {StoreViewCartModule} from \"./views/store/view_cart/view_cart.module\";\r\nimport {StoreAddPromoCodeModule} from \"./views/store/add_promo_code/add_promo_code.module\";\r\nimport {StorePromoCodeModule} from \"./views/store/promo_code/promo_code.module\";\r\nimport {OrderEarningDetailModule} from './views/store/order_earning_detail/order_earning_detail.module';\r\n// App modules/components\r\nimport {DispatcherLayoutsModule} from \"./common/dispatcher/layouts/dispatcher_layouts.module\";\r\nimport {AdminLayoutsModule} from \"./common/admin/layouts/admin_layouts.module\";\r\nimport {StoreLayoutsModule} from \"./common/store/layouts/store_layouts.module\";\r\nimport {toreCreateOrderWithoutItemOrderModule} from \"./views/store/create_order_without_item/create_order_without_item.module\";\r\nimport {ToastModule, ToastOptions} from 'ng2-toastr/ng2-toastr';\r\nimport {CustomOption} from './views/custom-option';\r\n\r\nimport {StoreCreateOrderModule} from \"./views/store/store_create_order/store_create_order.module\";\r\nimport {StoreCheckoutOrderModule} from \"./views/store/checkout_order/checkout_order.module\";\r\nimport {StoreCart} from \"./views/store/cart\";\r\n\r\n//franchises\r\nimport {franchise_LoginModule} from \"./views/franchise/franchise_login/franchise_login.module\";\r\nimport {franchise_RegisterModule} from \"./views/franchise/franchise_register/franchise_register.module\";\r\nimport {FranchiseForgotPasswordModule} from \"./views/franchise/franchise_forgot_password/franchise_forgot_password.module\";\r\nimport {FranchiseLogoutModule} from \"./views/franchise/franchise_logout/franchise_logout.module\";\r\nimport {FranchiseNewPasswordModule} from \"./views/franchise/franchise_new_password/franchise_new_password.module\";\r\nimport {FranchisesModule} from \"./views/admin/franchises/franchises.module\";\r\nimport {FranchiseProfileModule} from \"./views/franchise/profile/profile.module\";\r\nimport {FranchiseProductsModule} from \"./views/franchise/products/products.module\";\r\nimport {FranchiseLayoutsModule} from \"./common/franchise/layouts/franchise_layouts.module\";\r\nimport {FranchiseStoresModule} from \"./views/franchise/stores/stores.module\";\r\nimport {EditFranchiseStoreModule} from \"./views/franchise/edit_store/edit_store.module\";\r\nimport {AddFranchiseStoreModule} from \"./views/franchise/add_store/add_store.module\";\r\nimport {EditFranchiseProductModule} from \"./views/franchise/edit_product/edit_product.module\";\r\nimport {FranchiseSpecificationModule} from \"./views/franchise/specification/specification.module\";\r\nimport {FranchiseItemModule} from \"./views/franchise/item/item.module\";\r\nimport {FranchiseStoreItemModule} from \"./views/franchise/store_item/store_item.module\";\r\nimport {ViewFranchiseStoreDetailModule} from \"./views/franchise/view_store_detail/view_store_detail.module\";\r\nimport {AddFranchiseItemModule} from \"./views/franchise/add_item/add_item.module\";\r\nimport {EditFranchiseItemModule} from \"./views/franchise/edit_item/edit_item.module\";\r\nimport {FranchiseStoreOrderModule} from \"./views/franchise/order/order.module\";\r\nimport {FranchiseStoreHistoryModule} from \"./views/franchise/history/history.module\";\r\nimport {FranchiseStoreDeliveryModule} from \"./views/franchise/delivery/delivery.module\";\r\nimport {FranchiseStoreViewOrderModule} from \"./views/franchise/view_order/view_order.module\";\r\nimport {FranchiseStoreViewCartModule} from \"./views/franchise/view_cart/view_cart.module\";\r\nimport {FranchiseOrderEarningDetailModule} from './views/franchise/order_earning_detail/order_earning_detail.module';\r\nimport {FranchiseStoreTrackDeliveryManModule} from \"./views/franchise/track_delivery_man/track_delivery_man.module\";\r\nimport {AllCityModule} from \"./views/admin/all-city/all-city.module\";\r\nimport {StoreOrderModules} from \"./views/store/order_new/order.module\";\r\n// import {HistoryCalenderModule} from \"./views/store/history_calender/history_calender.module\";\r\n\r\n\r\n@NgModule({\r\n    declarations: [\r\n        AppComponent\r\n    ],\r\n    imports: [\r\n\r\n        BrowserModule,\r\n        HttpModule,\r\n        JsonpModule,\r\n        FormsModule,\r\n        UiSwitchModule,\r\n        Ng2Bs3ModalModule,\r\n        ToastModule.forRoot(),\r\n        ChartsModule,\r\n        Add502Module,\r\n        //PdfModule,\r\n        Add404Module,\r\n\r\n        AddDetailModule,\r\n        LocationTrackModule,\r\n        AdminProductsModule,\r\n        ProviderVehicleModule,\r\n\t\tPartnerOdhEarningModule,\r\n        VehicleDocumentModule,\r\n        RequestCancelReasonModule,\r\n        MassNotificationModule,\r\n        AdminRefundOrderModule,\r\n        // Views\r\n        AdvertiseModule,\r\n        admin_LoginModule,\r\n        PaymentAutomizeModule,\r\n        AdminstoreSettingModule,\r\n        AdminForgotPasswordModule,\r\n        AdminModule,\r\n        AddAdminModule,\r\n        AddteamModule,\r\n        AddAdvertiseModule,\r\n        SettingModule,\r\n        HistoryModule,\r\n        UserHistoryModule,\r\n        AdminStoreHistoryModule,\r\n        ProviderHistoryModule,\r\n        ViewHistoryModule,\r\n        ViewProviderHistoryModule,\r\n        OrderDetailModule,\r\n        DeliveriesModule,\r\n        teamModule,\r\n        OrdersModule,\r\n        AdminViewCartModule,\r\n        storeWhopSettingModule,\r\n        OrderModule,\r\n        CountryModule,\r\n        ProviderModule,\r\n        ViewBankDetailModule,\r\n        UploadDocumentModule,\r\n        AdminNewPasswordModule,\r\n        RequestOrderDetailModule,\r\n        EditProviderVehicleModule,\r\n        TransLanguageModule,\r\n        ProviderWeeklyEarningModule,\r\n        StoreWeeklyEarningModule,\r\n        StorMonthlyEarningModule,\r\n        EditProviderModule,\r\n        WalletRequestBankDetailModule,\r\n        AllCityModule,\r\n        PartnerEarningModule,\r\n        \r\n        ViewDocumentModule,\r\n        \r\n        ViewInvoiceModule,\r\n        ProviderMapModule,\r\n        UserNewPasswordModule,\r\n        ProviderNewPasswordModule,\r\n        StoreMapModule,\r\n        CancellationReasonModule,\r\n\r\n        // frenchaise\r\n        franchise_LoginModule,\r\n        franchise_RegisterModule,\r\n        FranchiseForgotPasswordModule,\r\n        FranchiseNewPasswordModule,\r\n        FranchiseLogoutModule,\r\n        FranchisesModule,\r\n        FranchiseProfileModule,\r\n        FranchiseProductsModule,\r\n        FranchiseLayoutsModule,\r\n        FranchiseStoresModule,\r\n        EditFranchiseStoreModule,\r\n        AddFranchiseStoreModule,\r\n        EditFranchiseProductModule,\r\n        FranchiseSpecificationModule,\r\n        FranchiseItemModule,\r\n        FranchiseStoreItemModule,\r\n        AddFranchiseItemModule,\r\n        EditFranchiseItemModule,\r\n        FranchiseStoreOrderModule,\r\n        FranchiseStoreHistoryModule,\r\n        FranchiseStoreDeliveryModule,\r\n        FranchiseStoreViewOrderModule,\r\n        FranchiseStoreViewCartModule,\r\n        FranchiseOrderEarningDetailModule,\r\n        FranchiseStoreTrackDeliveryManModule,\r\n        ViewFranchiseStoreDetailModule,\r\n\r\n        SmsModule,\r\n        EmailModule,\r\n        OrderEarningModule,\r\n        EarningModule,\r\n        ViewEarningDetailModule,\r\n        ViewOrderEarningDetailModule,\r\n        ProviderWeeklyEarningStatementModule,\r\n        StoreWeeklyEarningStatementModule,\r\n\r\n        UserModule,\r\n        DashboardModule,\r\n        WalletHistoryModule,\r\n        WalletRequestModule,\r\n        ReviewModule,\r\n        ViewReviewDetailModule,\r\n        ViewReferralDetailModule,\r\n        EditUserModule,\r\n        StoresModule,\r\n\r\n        \r\n        EditStoreModule,\r\n        AddCountryModule,\r\n        CityModule,\r\n        AddCityModule,\r\n        DocumentModule,\r\n        AddDocumentModule,\r\n        PromoCodeModule,\r\n        AddPromoCodeModule,\r\n        ViewPromoUsesModule,\r\n        DeliveryModule,\r\n        AddDeliveryModule,\r\n        VehicleModule,\r\n        AddVehicleModule,\r\n        ServiceModule,\r\n        AddServiceModule,\r\n        ViewServiceDetailModule,\r\n        // HistoryCalenderModule,\r\n\r\n\r\n        BasicSettingModule,\r\n        DispatchSettingModule,\r\n        OrderTrackModule,\r\n        InstallationSettingModule,\r\n        OtherSettingModule,\r\n        GoogleKeySettingModule,\r\n        AppUpdateSettingModule,\r\n        IosPushNotificationSettingModule,\r\n        AppSettingModule,\r\n        ImageSettingModule,\r\n\r\n        PaymentGatewayModule,\r\n        SaasModule,\r\n        \r\n\r\n        //// store views\r\n        store_LoginModule,\r\n        toreCreateOrderWithoutItemOrderModule,\r\n        store_RegisterModule,\r\n        StoreForgotPasswordModule,\r\n        StoreNewPasswordModule,\r\n        StoreLogoutModule,\r\n        StoreEarningModule,\r\n        StoreDailyEarningModule,\r\n        StorWeeklyEarningModule,\r\n        StoreAddPromoCodeModule,\r\n        StorePromoCodeModule,\r\n        StoreEditOrderModule,\r\n        AdminEditOrderModule,\r\n        StoreOrderModules,\r\n        HopperEarningModule,\r\n\r\n        ProfileModule,\r\n        ProductsModule,\r\n        EditProductModule,\r\n        SpecificationModule,\r\n        ItemModule,\r\n        AddItemModule,\r\n        EditItemModule,\r\n        StoreOrderModule,\r\n        StoreDeliveryModule,\r\n        StoreEarningModule,\r\n        StoreHistoryModule,\r\n        storeSettingModule,\r\n        StoreViewOrderDetailModule,\r\n        StoreViewOrderModule,\r\n        StoreViewOrderActivityModule,\r\n        StoreTrackDeliveryManModule,\r\n        OrderEarningDetailModule,\r\n        StoreUploadDocumentModule,\r\n        StoreViewCartModule,\r\n        PartnerEarningDetailModule,\r\n        HopperEarningDetailModule,\r\n        dispatcherCityModule,\r\n        // Modules\r\n        AdminLayoutsModule,\r\n        StoreLayoutsModule,\r\n        DispatcherLayoutsModule,\r\n        StoreUserModule,\r\n        StoreCreateOrderModule,\r\n        StoreCheckoutOrderModule,\r\n        ImageCropperModule,\r\n        TransactionHistoryModule,\r\n        DispatchModule,\r\n        dispatcher_LoginModule,\r\n        AnalyticsModule,\r\n        GeneralAnalyticsModule,\r\n        StoreReportModule,\r\n        \r\n        RouterModule.forRoot(ROUTES),\r\n        TranslateModule.forRoot({\r\n            provide: TranslateLoader,\r\n            useFactory: (http: Http) => new TranslateStaticLoader(http, '/assets/i18n', '.json'),\r\n            deps: [Http]\r\n        })\r\n    ],\r\n    providers: [InterceptorService,{\r\n            provide: InterceptedHttp,\r\n            useFactory: (xhrBackend: XHRBackend, requestOptions: RequestOptions, interceptor_service: InterceptorService) => {\r\n                return new InterceptedHttp(xhrBackend, requestOptions, interceptor_service);\r\n            },\r\n            deps: [XHRBackend, RequestOptions, InterceptorService]\r\n        }, Data, Router_id, StoreCart, {provide: ToastOptions, useClass: CustomOption}],\r\n    bootstrap: [AppComponent]\r\n})\r\nexport class AppModule {}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/app.module.ts","import {Routes, RouterModule} from \"@angular/router\";\r\n\r\n/////////////admin basic route\r\nimport {admin_blankComponent} from \"./common/admin/layouts/admin_blank.component\";\r\nimport {admin_basicComponent} from \"./common/admin/layouts/admin_basic.component\";\r\n\r\nimport {DispatcherblankComponent} from \"./common/dispatcher/layouts/dispatcher_blank.component\";\r\nimport {DispatcherbasicComponent} from \"./common/dispatcher/layouts/dispatcher_basic.component\";\r\n\r\nimport {PartnerEarningComponent} from './views/admin/partner_earning/partner_earning.component';\r\nimport {PartnerOdhEarningComponent} from './views/admin/partner_odh_earning/partner_odh_earning.component';\r\nimport {HopperEarningComponent} from './views/admin/hopper_earning/hopper_earning.component';\r\n\r\nimport {PartnerEarningDetailComponent} from './views/admin/partner_earning_detail/partner_earning_detail.component';\r\nimport {HopperEarningDetailComponent} from './views/admin/hopper_earning_detail/hopper_earning_detail.component';\r\nimport {Add502Component} from \"./views/admin/502/502.component\";\r\nimport {Add404Component} from \"./views/admin/404/404.component\";\r\n\r\n////////// admin panel route\r\n\r\nimport {admin_loginComponent} from \"./views/admin/admin_login/admin_login.component\";\r\nimport {dispatcher_loginComponent} from \"./views/admin/dispatcher_login/dispatcher_login.component\";\r\n\r\nimport {AdminForgotPasswordComponent} from \"./views/admin/admin_forgot_password/admin_forgot_password.component\";\r\nimport {UserNewPasswordComponent} from \"./views/admin/user_new_password/user_new_password.component\";\r\nimport {ProviderNewPasswordComponent} from \"./views/admin/provider_new_password/provider_new_password.component\";\r\nimport {AdminNewPasswordComponent} from \"./views/admin/admin_new_password/admin_new_password.component\";\r\nimport {DispatchComponent} from \"./views/admin/dispatch/dispatch.component\";\r\n\r\nimport {CancellationReasonComponent} from \"./views/admin/cancellation_reason/cancellation_reason.component\";\r\nimport {MassNotificationComponent} from \"./views/admin/mass_notification/mass_notification.component\";\r\nimport {EditProviderVehicleComponent} from \"./views/admin/edit_provider_vehicle/edit_provider_vehicle.component\";\r\nimport {settingComponent} from \"./views/admin/setting/setting.component\";\r\nimport {HistoryComponent} from \"./views/admin/history/history.component\";\r\nimport {UserHistoryComponent} from \"./views/admin/user_history/history.component\";\r\nimport {AdminStoreHistoryComponent} from \"./views/admin/store_history/history.component\";\r\nimport {ProviderHistoryComponent} from \"./views/admin/provider_history/history.component\";\r\nimport {OrderDetailComponent} from \"./views/admin/order_detail/order_detail.component\";\r\nimport {DeliveriesComponent} from \"./views/admin/deliveries/deliveries.component\";\r\nimport {OrdersComponent} from \"./views/admin/orders/orders.component\";\r\nimport {OrderComponent} from \"./views/admin/order/order.component\";\r\nimport {AdminViewCartComponent} from \"./views/admin/admin_view_cart/admin_view_cart.component\";\r\n\r\nimport {WalletRequestBankDetailComponent} from \"./views/admin/wallet_request_bank_detail/wallet_request_bank_detail.component\";\r\n\r\nimport {TransLanguageComponent} from \"./views/admin/trans_language/trans_language.component\";\r\n\r\nimport {AddDetailComponent} from \"./views/admin/add_detail/add_detail.component\";\r\nimport {EarningComponent} from \"./views/admin/earning/earning.component\";\r\n\r\nimport {AdminComponent} from \"./views/admin/admin/admin.component\";\r\nimport {teamComponent} from \"./views/admin/team/team.component\";\r\nimport {AddAdminComponent} from \"./views/admin/add_admin/add_admin.component\";\r\nimport {AddteamComponent} from \"./views/admin/add_team/add_team.component\";\r\nimport {SmsComponent} from \"./views/admin/sms/sms.component\";\r\nimport {EmailComponent} from \"./views/admin/email/email.component\";\r\nimport {OrderEarningComponent} from \"./views/admin/order_earning/order_earning.component\";\r\n\r\nimport {WalletRequestComponent} from \"./views/admin/wallet_request/wallet_request.component\";\r\nimport {AddAdvertiseComponent} from \"./views/admin/add_advertise/add_advertise.component\";\r\nimport {AnalyticsComponent} from \"./views/admin/analytics/analytics.component\";\r\nimport {GeneralAnalyticsComponent} from \"./views/admin/general_analytics/general_analytics.component\";\r\n\r\n\r\n\r\nimport {RequestCancelReasonComponent} from \"./views/admin/request_cancel_reason/request_cancel_reason.component\";\r\n\r\n\r\nimport {VehicleDocumentComponent} from \"./views/admin/vehicle_document/vehicle_document.component\";\r\n\r\nimport {RequestOrderDetailComponent} from \"./views/admin/request_order_detail/request_order_detail.component\";\r\n\r\nimport {AdvertiseComponent} from \"./views/admin/advertise/advertise.component\";\r\nimport {countryComponent} from \"./views/admin/country/country.component\";\r\nimport {ProviderVehicleComponent} from \"./views/admin/provider_vehicle/provider_vehicle.component\";\r\nimport {ProviderComponent} from \"./views/admin/provider/provider.component\";\r\nimport {ViewBankDetailComponent} from \"./views/admin/view_bank_detail/view_bank_detail.component\";\r\nimport {ViewEarningDetailComponent} from \"./views/admin/view_earning_detail/view_earning_detail.component\";\r\nimport {ViewOrderEarningDetailComponent} from \"./views/admin/view_order_earning_detail/view_order_earning_detail.component\";\r\n\r\nimport {ProviderWeeklyEarningStatementComponent} from \"./views/admin/provider_weekly_earning_statement/provider_weekly_earning_statement.component\";\r\nimport {StoreWeeklyEarningStatementComponent} from \"./views/admin/store_weekly_earning_statement/store_weekly_earning_statement.component\";\r\n\r\nimport {LocationTrackComponent} from \"./views/admin/location_track/location_track.component\";\r\n\r\nimport {StoreWeeklyEarningComponent} from \"./views/admin/store_weekly_earning/store_weekly_earning.component\";\r\nimport {ProviderWeeklyEarningComponent} from \"./views/admin/provider_weekly_earning/provider_weekly_earning.component\";\r\n\r\n\r\nimport {EditProviderComponent} from \"./views/admin/edit_provider/edit_provider.component\";\r\nimport {EditUserComponent} from \"./views/admin/edit_user/edit_user.component\";\r\nimport {ViewInvoiceComponent} from \"./views/admin/view_invoice/view_invoice.component\";\r\nimport {ViewHistoryComponent} from \"./views/admin/view_history/view_history.component\";\r\nimport {ViewProviderHistoryComponent} from \"./views/admin/view_provider_history/view_provider_history.component\";\r\n\r\n\r\n\r\nimport {ViewDocumentComponent} from \"./views/admin/view_document/view_document.component\";\r\nimport {UserComponent} from \"./views/admin/user/user.component\";\r\nimport {StoreUserComponent} from \"./views/store/user/user.component\";\r\nimport {ViewReferralDetailComponent} from \"./views/admin/view_referral_detail/view_referral_detail.component\";\r\nimport {WalletHistoryComponent} from \"./views/admin/wallet_history/wallet_history.component\";\r\nimport {StoreReportComponent} from \"./views/admin/store_report/store_report.component\";\r\n\r\nimport {AddDocumentComponent} from \"./views/admin/add_document/add_document.component\";\r\nimport {PromoCodeComponent} from \"./views/admin/promo_code/promo_code.component\";\r\nimport {AddPromoCodeComponent} from \"./views/admin/add_promo_code/add_promo_code.component\";\r\n\r\nimport {ViewPromoUsesComponent} from \"./views/admin/view_promo_uses/view_promo_uses.component\";\r\nimport {ReviewComponent} from \"./views/admin/review/review.component\";\r\nimport {ViewReviewDetailComponent} from \"./views/admin/view_review_detail/view_review_detail.component\";\r\n\r\nimport {UploadDocumentComponent} from \"./views/admin/upload_document/upload_document.component\";\r\nimport {DocumentComponent} from \"./views/admin/document/document.component\";\r\nimport {StoresComponent} from \"./views/admin/stores/stores.component\";\r\n\r\nimport {EditStoreComponent} from \"./views/admin/edit_store/edit_store.component\";\r\nimport {AddCountryComponent} from \"./views/admin/add_country/add_country.component\";\r\nimport {AddCityComponent} from \"./views/admin/add_city/add_city.component\";\r\nimport {cityComponent} from \"./views/admin/city/city.component\";\r\nimport {dispatchercityComponent} from \"./views/admin/dispatcher_city/dispatcher_city.component\";\r\nimport {saasComponent} from \"./views/admin/saas/saas.component\";\r\nimport {VehicleComponent} from \"./views/admin/vehicle/vehicle.component\";\r\nimport {AddVehicleComponent} from \"./views/admin/add_vehicle/add_vehicle.component\";\r\nimport {DeliveryComponent} from \"./views/admin/delivery/delivery.component\";\r\nimport {AddDeliveryComponent} from \"./views/admin/add_delivery/add_delivery.component\";\r\nimport {ServiceComponent} from \"./views/admin/service/service.component\";\r\nimport {AddServiceComponent} from \"./views/admin/add_service/add_service.component\";\r\nimport {ProviderMapComponent} from \"./views/admin/provider_map/provider_map.component\";\r\nimport {StoreMapComponent} from \"./views/admin/store_map/store_map.component\";\r\nimport {ViewServiceDetailComponent} from \"./views/admin/view_service_detail/view_service_detail.component\";\r\nimport {BasicSettingComponent} from \"./views/admin/basic_setting/basic_setting.component\";\r\nimport {DispatcherSettingComponent} from \"./views/admin/dispatch_setting/dispatch_setting.component\";\r\nimport {OrderTrackComponent} from \"./views/admin/order_track/order_track.component\";\r\nimport {InstallationSettingComponent} from \"./views/admin/installation_setting/installation_setting.component\";\r\nimport {OtherSettingComponent} from \"./views/admin/other_setting/other_setting.component\";\r\nimport {GoogleKeySettingComponent} from \"./views/admin/google_key_setting/google_key_setting.component\";\r\nimport {AppUpdateSettingComponent} from \"./views/admin/app_update_setting/app_update_setting.component\";\r\nimport {IosPushNotificationSettingComponent} from \"./views/admin/ios_push_notification_setting/ios_push_notification_setting.component\";\r\nimport {AppSettingComponent} from \"./views/admin/app_setting/app_setting.component\";\r\n\r\nimport {PaymentGatewayComponent} from \"./views/admin/payment_gateway/payment_gateway.component\";\r\nimport {DashboardComponent} from \"./views/admin/dashboard/dashboard.component\";\r\n\r\nimport {ImageSettingComponent} from \"./views/admin/image_setting/image_setting.component\";\r\n\r\n/////////////// store basic route\r\nimport {store_blankComponent} from \"./common/store/layouts/store_blank.component\";\r\nimport {store_basicComponent} from \"./common/store/layouts/store_basic.component\";\r\n///////// store panel route\r\nimport {StoreCreateOrderWithoutItemOrderComponent} from \"./views/store/create_order_without_item/create_order_without_item.component\";\r\nimport {store_loginComponent} from \"./views/store/store_login/store_login.component\";\r\nimport {store_registerComponent} from \"./views/store/store_register/store_register.component\";\r\nimport {StoreForgotPasswordComponent} from \"./views/store/store_forgot_password/store_forgot_password.component\";\r\nimport {StoreLogoutComponent} from \"./views/store/store_logout/store_logout.component\";\r\nimport {StoreNewPasswordComponent} from \"./views/store/store_new_password/store_new_password.component\";\r\nimport {ProfileComponent} from \"./views/store/profile/profile.component\";\r\nimport {PaymentAutomizeComponent} from \"./views/store/payment_automize/payment_automize.component\";\r\nimport {OrderEarningDetailComponent} from \"./views/store/order_earning_detail/order_earning_detail.component\";\r\n\r\nimport {StoreCreateOrderComponent} from \"./views/store/store_create_order/store_create_order.component\";\r\nimport {StoreCheckoutOrderComponent} from \"./views/store/checkout_order/checkout_order.component\";\r\n\r\n\r\n\r\nimport {StoreDailyEarningComponent} from \"./views/store/daily_earning/daily_earning.component\";\r\nimport {StorWeeklyEarningComponent} from \"./views/store/weekly_earning/weekly_earning.component\";\r\nimport {StorMonthlyEarningComponent} from \"./views/store/monthly_earning/monthly_earning.component\";\r\n\r\nimport {ProductsComponent} from \"./views/store/products/products.component\";\r\nimport {EditProductComponent} from \"./views/store/edit_product/edit_product.component\";\r\nimport {SpecificationComponent} from \"./views/store/specification/specification.component\";\r\nimport {ItemComponent} from \"./views/store/item/item.component\";\r\nimport {AddItemComponent} from \"./views/store/add_item/add_item.component\";\r\nimport {EditItemComponent} from \"./views/store/edit_item/edit_item.component\";\r\nimport {StoreDeliveryComponent} from \"./views/store/delivery/delivery.component\";\r\nimport {StoreEarningComponent} from \"./views/store/earning/earning.component\";\r\nimport {StoreHistoryComponent} from \"./views/store/history/history.component\";\r\nimport {StoreOrderComponent} from \"./views/store/order/order.component\";\r\nimport {SettingComponent} from \"./views/store/setting/setting.component\";\r\nimport {WhopSettingComponent} from \"./views/store/setting_whop/setting_whop.component\";\r\nimport {StoreViewOrderComponent} from \"./views/store/view_order/view_order.component\";\r\nimport {StoreViewOrderDetailComponent} from \"./views/store/view_order_detail/view_order_detail.component\";\r\nimport {StoreViewOrderActivityComponent} from \"./views/store/view_order_activity/view_order_activity.component\";\r\nimport {StoreTrackDeliveryManComponent} from \"./views/store/track_delivery_man/track_delivery_man.component\";\r\nimport {StoreUploadDocumentComponent} from \"./views/store/upload_document/upload_document.component\";\r\n\r\nimport {StoreViewCartComponent} from \"./views/store/view_cart/view_cart.component\";\r\n\r\nimport {StorePromoCodeComponent} from \"./views/store/promo_code/promo_code.component\";\r\nimport {StoreAddPromoCodeComponent} from \"./views/store/add_promo_code/add_promo_code.component\";\r\n\r\nimport {StoreEditOrderComponent} from \"./views/store/edit_order/edit_order.component\";\r\nimport {AdminEditOrderComponent} from \"./views/admin/edit_order/edit_order.component\";\r\nimport {AdminRefundOrderComponent} from \"./views/admin/refund_order/refund_order.component\";\r\n\r\n/////frenchaise route\r\nimport {franchise_loginComponent} from \"./views/franchise/franchise_login/franchise_login.component\";\r\nimport {franchise_registerComponent} from \"./views/franchise/franchise_register/franchise_register.component\";\r\nimport {FranchiseForgotPasswordComponent} from \"./views/franchise/franchise_forgot_password/franchise_forgot_password.component\";\r\nimport {FranchiseLogoutComponent} from \"./views/franchise/franchise_logout/franchise_logout.component\";\r\nimport {FranchiseNewPasswordComponent} from \"./views/franchise/franchise_new_password/franchise_new_password.component\";\r\nimport {franchise_blankComponent} from \"./common/franchise/layouts/franchise_blank.component\";\r\nimport {franchise_basicComponent} from \"./common/franchise/layouts/franchise_basic.component\";\r\nimport {FranchiseProductsComponent} from \"./views/franchise/products/products.component\";\r\nimport {FranchiseStoresComponent} from \"./views/franchise/stores/stores.component\";\r\nimport {EditFranchiseStoreComponent} from \"./views/franchise/edit_store/edit_store.component\";\r\nimport {AddFranchiseStoreComponent} from \"./views/franchise/add_store/add_store.component\";\r\nimport {EditFranchiseProductComponent} from \"./views/franchise/edit_product/edit_product.component\";\r\nimport {FranchiseSpecificationComponent} from \"./views/franchise/specification/specification.component\";\r\nimport {FranchiseItemComponent} from \"./views/franchise/item/item.component\";\r\nimport {FranchiseStoreItemComponent} from \"./views/franchise/store_item/store_item.component\";\r\nimport {EditFranchiseItemComponent} from \"./views/franchise/edit_item/edit_item.component\";\r\nimport {AddFranchiseItemComponent} from \"./views/franchise/add_item/add_item.component\";\r\nimport {FranchiseStoreOrderComponent} from \"./views/franchise/order/order.component\";\r\nimport {FranchiseStoreHistoryComponent} from \"./views/franchise/history/history.component\";\r\nimport {FranchiseStoreDeliveryComponent} from \"./views/franchise/delivery/delivery.component\";\r\nimport {FranchiseStoreViewOrderComponent} from \"./views/franchise/view_order/view_order.component\";\r\nimport {FranchiseStoreViewCartComponent} from \"./views/franchise/view_cart/view_cart.component\";\r\nimport {FranchiseOrderEarningDetailComponent} from \"./views/franchise/order_earning_detail/order_earning_detail.component\";\r\nimport {FranchiseStoreTrackDeliveryManComponent} from \"./views/franchise/track_delivery_man/track_delivery_man.component\";\r\nimport {FranchiseProfileComponent} from \"./views/franchise/profile/profile.component\";\r\nimport {ViewFranchiseStoreDetailComponent} from \"./views/franchise/view_store_detail/view_store_detail.component\";\r\nimport {FranchisesComponent} from \"./views/admin/franchises/franchises.component\";\r\nimport {AllCityComponent} from \"./views/admin/all-city/all-city.component\";\r\nimport {StoreOrderComponents} from \"./views/store/order_new/order.component\";\r\nimport {AdminSettingComponent} from \"./views/admin/store_setting/setting.component\";\r\nimport {AdminProductsComponent} from \"./views/admin/store_products/products.component\";\r\nimport {TransactionHistoryComponent} from \"./views/admin/transaction_history/transaction_history.component\";\r\n// import {HistoryCalenderComponent} from \"./views/store/history_calender/history_calender.component\";\r\nexport const ROUTES: Routes = [\r\n    // Main redirect\r\n    {path: '', redirectTo: 'admin/login', pathMatch: 'full'},\r\n\r\n    // Handle all other routes\r\n\r\n    \r\n    {\r\n        path: '', component: DispatcherbasicComponent,\r\n        children: [\r\n            {path: 'dispatcher/dispatch', component: DispatchComponent},\r\n            {path: 'dispatcher/history', component: HistoryComponent},\r\n            {path: 'dispatcher/create_order', component: StoreCreateOrderComponent},\r\n            {path: 'dispatcher/providers', component: ProviderComponent},\r\n            {path: 'dispatcher/stores', component: StoresComponent},\r\n            {path: 'dispatcher/users', component: UserComponent},\r\n            {path: 'dispatcher/city', component: dispatchercityComponent},\r\n            {path: 'dispatcher/cancellation_reason', component: CancellationReasonComponent},\r\n            {path: 'dispatcher/request_cancel_reason', component: RequestCancelReasonComponent},\r\n            \r\n            {path: 'dispatcher/edit/order', component: AdminEditOrderComponent},\r\n            {path: 'dispatcher/refund/order', component: AdminRefundOrderComponent},\r\n            {path: 'dispatcher/user_summary', component: UserHistoryComponent},\r\n            {path: 'dispatcher/store_summary', component: AdminStoreHistoryComponent},\r\n            {path: 'dispatcher/provider_summary', component: ProviderHistoryComponent},\r\n            {path: 'dispatcher/stores', component: StoresComponent},\r\n            {path: 'dispatcher/store/setting', component: AdminSettingComponent},\r\n            {path: 'dispatcher/store/products', component: AdminProductsComponent},\r\n            {path: 'dispatcher/order_detail', component: OrderDetailComponent},\r\n            {path: 'dispatcher/location_track', component: LocationTrackComponent},\r\n            {path: 'dispatcher/duplicate_store_menu', component: AddDetailComponent},\r\n            {path: 'dispatcher/order_track', component: OrderTrackComponent},\r\n            {path: 'dispatcher/order_track/:id', component: OrderTrackComponent},\r\n        ]\r\n    },\r\n\r\n    {\r\n        path: '', component: DispatcherblankComponent,\r\n        children: [\r\n        \r\n            {path: 'dispatcher/login', component: dispatcher_loginComponent},\r\n            \r\n            {path: 'dispatcher/forgot_password', component: AdminForgotPasswordComponent},\r\n\r\n            {path: 'dispatcher/new_password/:email_token', component: AdminNewPasswordComponent},\r\n            {path: 'dispatcher/*', component: dispatcher_loginComponent},\r\n        ]\r\n    },\r\n\r\n\r\n    // App views\r\n    {\r\n        path: '', component: admin_basicComponent,\r\n        children: [\r\n            {path: 'admin/create_order', component: StoreCreateOrderComponent},\r\n            \r\n            {path: 'admin/transaction_history', component: TransactionHistoryComponent},\r\n            {path: 'admin/country', component: countryComponent},\r\n            {path: 'admin/providers', component: ProviderComponent},\r\n            {path: 'admin/wallet_detail', component: WalletHistoryComponent},\r\n            {path: 'admin/store_report', component: StoreReportComponent},\r\n            {path: 'admin/review', component: ReviewComponent},\r\n            {path: 'admin/view_review_detail', component: ViewReviewDetailComponent},\r\n            {path: 'admin/upload_document', component: UploadDocumentComponent},\r\n            {path: 'admin/request_order_detail', component: RequestOrderDetailComponent},\r\n            {path: 'admin/provider/edit', component: EditProviderComponent},\r\n            {path: 'admin/edit_vehicle', component: EditProviderVehicleComponent},\r\n            {path: 'admin/provider/view_document', component: ViewDocumentComponent},\r\n            {path: 'admin/provider/view_bank_detail', component: ViewBankDetailComponent},\r\n            {path: 'admin/cancellation_reason', component: CancellationReasonComponent},\r\n            {path: 'admin/request_cancel_reason', component: RequestCancelReasonComponent},\r\n            {path: 'admin/add_advertise', component: AddAdvertiseComponent},\r\n            {path: 'admin/advertise', component: AdvertiseComponent},\r\n            {path: 'admin/dispatch_setting', component: DispatcherSettingComponent},\r\n            {path: 'admin/order_track', component: OrderTrackComponent},\r\n            {path: 'admin/order_track/:id', component: OrderTrackComponent},\r\n            {path: 'admin/advertise/edit', component: AddAdvertiseComponent},\r\n            {path: 'admin/wallet_request', component: WalletRequestComponent},\r\n            {path: 'admin/add_detail', component: AddDetailComponent},\r\n            {path: 'admin/duplicate_store_menu', component: AddDetailComponent},\r\n            {path: 'admin/provider_location', component: ProviderMapComponent},\r\n            {path: 'admin/store_location', component: StoreMapComponent},\r\n            {path: 'admin/earnings', component: EarningComponent},\r\n            {path: 'admin/partner_earning', component: PartnerEarningComponent},\r\n            {path: 'admin/partner_odh_earning', component: PartnerOdhEarningComponent},\r\n            {path: 'admin/hopper_earning', component: HopperEarningComponent},\r\n            {path: 'admin/partner_earning_detail', component: PartnerEarningDetailComponent},\r\n            {path: 'admin/partner_odh_earning_detail', component: PartnerEarningDetailComponent},\r\n            {path: 'admin/hopper_earning_detail', component: HopperEarningDetailComponent},\r\n            {path: 'admin/view_cart', component: AdminViewCartComponent},\r\n            {path: 'admin/referral_detail', component: ViewReferralDetailComponent},\r\n            {path: 'admin/language', component: TransLanguageComponent},\r\n            {path: 'admin/view_promo_uses', component: ViewPromoUsesComponent},\r\n            {path: 'admin/sms', component: SmsComponent},\r\n            {path: 'admin/email', component: EmailComponent},\r\n            {path: 'admin/provider_vehicles', component: ProviderVehicleComponent},\r\n            {path: 'admin/provider_vehicle_documents', component: VehicleDocumentComponent},\r\n            {path: 'admin/service/view_detail', component: ViewServiceDetailComponent},\r\n            {path: 'admin/provider/view_history', component: ViewProviderHistoryComponent},\r\n            {path: 'admin/store/view_history', component: ViewHistoryComponent},\r\n            {path: 'admin/user/view_history', component: ViewHistoryComponent},\r\n            {path: 'admin/view_bank_detail', component: WalletRequestBankDetailComponent},\r\n            {path: 'admin/order_earning', component: OrderEarningComponent},\r\n            {path: 'admin/store_weekly_earning', component: StoreWeeklyEarningComponent},\r\n            {path: 'admin/provider_weekly_earning', component: ProviderWeeklyEarningComponent},\r\n            {path: 'admin/dashboard', component: DashboardComponent},\r\n            {path: 'admin/view_invoice', component: ViewInvoiceComponent},\r\n            {path: 'admin/user/view_document', component: ViewDocumentComponent},\r\n            {path: 'admin/store/view_document', component: ViewDocumentComponent},\r\n            {path: 'admin/users', component: UserComponent},\r\n            {path: 'admin/dispatch', component: DispatchComponent},\r\n            {path: 'admin/document', component: DocumentComponent},\r\n            {path: 'admin/promotions', component: PromoCodeComponent},\r\n            {path: 'admin/promo/edit', component: AddPromoCodeComponent},\r\n            {path: 'admin/add_promo_code', component: AddPromoCodeComponent},\r\n            {path: 'admin/add_document', component: AddDocumentComponent},\r\n            {path: 'admin/edit/order', component: AdminEditOrderComponent},\r\n            {path: 'admin/refund/order', component: AdminRefundOrderComponent},\r\n\r\n            {path: 'admin/user/edit', component: EditUserComponent},\r\n            {path: 'admin/document/edit', component: AddDocumentComponent},\r\n            {path: 'admin/stores', component: StoresComponent},\r\n            {path: 'admin/visit_order_analytics', component: AnalyticsComponent},\r\n            {path: 'admin/general_analytics', component: GeneralAnalyticsComponent},\r\n            {path: 'admin/store/setting', component: AdminSettingComponent},\r\n            {path: 'admin/store/products', component: AdminProductsComponent},\r\n            {path: 'admin/store/edit', component: EditStoreComponent},\r\n            {path: 'admin/history', component: HistoryComponent},\r\n            {path: 'admin/user_summary', component: UserHistoryComponent},\r\n            {path: 'admin/store_summary', component: AdminStoreHistoryComponent},\r\n            {path: 'admin/provider_summary', component: ProviderHistoryComponent},\r\n            {path: 'admin/deliveries', component: DeliveriesComponent},\r\n            {path: 'admin/today_order', component: OrdersComponent},\r\n            {path: 'admin/orders', component: OrderComponent},\r\n            {path: 'admin/list', component: AdminComponent},\r\n            {path: 'admin/create_team', component: teamComponent},\r\n            {path: 'admin/location_track', component: LocationTrackComponent},\r\n            {path: 'admin/location_track/:order_id/:country_id/:city_id/:provider_id/:store_id', component: LocationTrackComponent},\r\n            {path: 'admin/add', component: AddAdminComponent},\r\n            {path: 'admin/edit', component: AddAdminComponent},\r\n            {path: 'team/add', component: AddteamComponent},\r\n            {path: 'team/edit', component: AddteamComponent},\r\n            {path: 'admin/earning_detail', component: ViewEarningDetailComponent},\r\n            {path: 'admin/order_earning_detail', component: ViewOrderEarningDetailComponent},\r\n            {path: 'admin/provider_weekly_earning_statement', component: ProviderWeeklyEarningStatementComponent},\r\n            {path: 'admin/store_weekly_earning_statement', component: StoreWeeklyEarningStatementComponent},\r\n            {path: 'admin/order_detail', component: OrderDetailComponent},\r\n            \r\n            {path: 'admin/add_country', component: AddCountryComponent},\r\n            {path: 'admin/city', component: cityComponent},\r\n            {path: 'admin/saas', component: saasComponent},\r\n            {path: 'admin/add_city', component: AddCityComponent},\r\n            {path: 'admin/delivery', component: DeliveryComponent},\r\n            {path: 'admin/add_delivery', component: AddDeliveryComponent},\r\n            {path: 'admin/vehicle', component: VehicleComponent},\r\n            {path: 'admin/add_vehicle', component: AddVehicleComponent},\r\n            {path: 'admin/service', component: ServiceComponent},\r\n            {path: 'admin/add_service', component: AddServiceComponent},\r\n            {path: 'admin/service/edit', component: AddServiceComponent},\r\n            {path: 'admin/delivery/edit', component: AddDeliveryComponent},\r\n            {path: 'admin/vehicle/edit', component: AddVehicleComponent},\r\n            {path: 'admin/country/edit', component: AddCountryComponent},\r\n            {path: 'admin/city/edit', component: AddCityComponent},\r\n            {path: 'admin/payment_gateway', component: PaymentGatewayComponent},\r\n            {path: 'admin/all-city', component: AllCityComponent},\r\n            {path: 'admin/mass_notification', component: MassNotificationComponent},\r\n            {path: 'admin/franchises', component: FranchisesComponent},\r\n            {path: 'admin/declined_franchises', component: FranchisesComponent},\r\n            {path: 'admin/business_off_franchises', component: FranchisesComponent},\r\n            \r\n\r\n        ]\r\n\r\n\r\n    },\r\n    {\r\n        path: '', component: admin_basicComponent,\r\n        children: [\r\n            {\r\n                path: 'setting', component: settingComponent,\r\n                children: [\r\n                    {path: 'basic_setting', component: BasicSettingComponent},\r\n                    {path: 'installation_setting', component: InstallationSettingComponent},\r\n                    {path: 'other_setting', component: OtherSettingComponent},\r\n                    {path: 'google_key_setting', component: GoogleKeySettingComponent},\r\n                    {path: 'app_update_setting', component: AppUpdateSettingComponent},\r\n                    {path: 'ios_push_notification_setting', component: IosPushNotificationSettingComponent},\r\n                    {path: 'app_setting', component: AppSettingComponent},\r\n                    {path: 'image_setting', component: ImageSettingComponent}\r\n\r\n                ]\r\n            }\r\n        ]\r\n    },\r\n    {\r\n        path: '', component: admin_blankComponent,\r\n        children: [\r\n        \r\n            {path: 'admin/login', component: admin_loginComponent},\r\n            {path: '502', component: Add502Component},\r\n            {path: '404', component: Add404Component},\r\n            {path: 'admin/forgot_password', component: AdminForgotPasswordComponent},\r\n            {path: 'admin/order_detail/:order_id', component: OrderDetailComponent},\r\n            {path: 'admin/new_password/:email_token', component: AdminNewPasswordComponent},\r\n            {path: 'user/new_password/:email_token', component: UserNewPasswordComponent},\r\n            {path: 'provider/new_password/:email_token', component: ProviderNewPasswordComponent},\r\n            {path: 'admin/*', component: admin_loginComponent}\r\n\r\n\r\n        ]\r\n    },\r\n   \r\n    {\r\n        path: '', component: franchise_blankComponent,\r\n        children: [\r\n            {path: 'franchise/login', component: franchise_loginComponent},\r\n            {path: 'franchise/register', component: franchise_registerComponent},\r\n            {path: 'franchise/forgot_password', component: FranchiseForgotPasswordComponent},\r\n            {path: 'franchise/new_password/:email_token', component: FranchiseNewPasswordComponent},\r\n            {path: 'franchise/logout', component: FranchiseLogoutComponent}\r\n        ]\r\n    },\r\n    {\r\n        path: '', component: franchise_basicComponent,\r\n        children: [\r\n\r\n            {path: 'franchise/profile', component: FranchiseProfileComponent},\r\n            {path: 'franchise/product', component: FranchiseProductsComponent},\r\n\r\n            {path: 'franchise/stores', component: FranchiseStoresComponent},\r\n            {path: 'franchise/add_store', component: AddFranchiseStoreComponent},\r\n            {path: 'franchise/store/view_detail', component: ViewFranchiseStoreDetailComponent},\r\n            {path: 'franchise/declined_store', component: FranchiseStoresComponent},\r\n            {path: 'franchise/business_off_store', component: FranchiseStoresComponent},\r\n            {path: 'franchise/store/edit', component: EditFranchiseStoreComponent},\r\n            {path: 'franchise/product/edit', component: EditFranchiseProductComponent},\r\n            {path: 'franchise/product/specification', component: FranchiseSpecificationComponent},\r\n            {path: 'franchise/item', component: FranchiseItemComponent},\r\n            {path: 'franchise/store_item', component: FranchiseStoreItemComponent},\r\n            {path: 'franchise/item/edit', component: EditFranchiseItemComponent},\r\n            {path: 'franchise/add_item', component: AddFranchiseItemComponent},\r\n            {path: 'franchise/order', component: FranchiseStoreOrderComponent, data: {myData: \"TEST\"}},\r\n            {path: 'franchise/history', component: FranchiseStoreHistoryComponent},\r\n            {path: 'franchise/deliveries', component: FranchiseStoreDeliveryComponent},\r\n            {path: 'franchise/order/detail', component: FranchiseStoreViewOrderComponent},\r\n            {path: 'franchise/cart/detail', component: FranchiseStoreViewCartComponent},\r\n            {path: 'franchise/order_earning_detail', component: FranchiseOrderEarningDetailComponent},\r\n            {path: 'franchise/track_delivery_man', component: FranchiseStoreTrackDeliveryManComponent},\r\n        ]\r\n    },\r\n    {\r\n        path: '', component: store_basicComponent,\r\n        children: [\r\n\r\n            {path: 'store/profile', component: ProfileComponent},\r\n            {path: 'store/payment_automize', component: PaymentAutomizeComponent},\r\n            {path: 'store/product', component: ProductsComponent},\r\n            // {path: 'store/product/edit', component: EditProductComponent},\r\n            // {path: 'store/product/specification', component: SpecificationComponent},\r\n\r\n            // {path: 'store/item', component: ItemComponent},\r\n            {path: 'store/create_order_without_item', component: StoreCreateOrderWithoutItemOrderComponent},\r\n            // {path: 'store/item/edit', component: EditItemComponent},\r\n            // {path: 'store/add_item', component: AddItemComponent},\r\n            {path: 'store/order', component: StoreOrderComponents},\r\n            {path: 'store/deliveries', component: StoreDeliveryComponent},\r\n            {path: 'store/history', component: StoreHistoryComponent},\r\n            {path: 'store/earning', component: StoreEarningComponent},\r\n            {path: 'store/daily_earning', component: StoreDailyEarningComponent},\r\n            {path: 'store/weekly_earning', component: StorWeeklyEarningComponent},\r\n            {path: 'store/report', component: StorMonthlyEarningComponent},\r\n            {path: 'store/upload_document', component: StoreUploadDocumentComponent},\r\n            {path: 'store/cart/detail', component: StoreViewCartComponent},\r\n            \r\n            {path: 'store/edit/order', component: StoreEditOrderComponent},\r\n            {path: 'store/users', component: StoreUserComponent },\r\n\r\n            {path: 'store/create_order', component: StoreCreateOrderComponent},\r\n            {path: 'store/invoice', component: StoreCheckoutOrderComponent},\r\n            \r\n            {path: 'store/promocode', component: StorePromoCodeComponent},\r\n            {path: 'store/add_promocode', component: StoreAddPromoCodeComponent},\r\n            {path: 'store/promo/edit', component: StoreAddPromoCodeComponent},\r\n\r\n            // {path: 'store/order_earning_detail', component: OrderEarningDetailComponent},\r\n            {path: 'store/setting', component: SettingComponent},\r\n            {path: 'store/whop_setting', component: WhopSettingComponent},\r\n            {path: 'store/order/track_delivery_man', component: StoreTrackDeliveryManComponent},\r\n            // {path: 'store/order/detail', component: StoreViewOrderComponent}\r\n        ]\r\n    },\r\n\r\n    {\r\n        path: '', component: store_blankComponent,\r\n        children: [\r\n            // {path: 'store/login', component: store_loginComponent},\r\n            // {path: 'store/register', component: store_registerComponent},\r\n            // {path: 'store/forgot_password', component: StoreForgotPasswordComponent},\r\n            // {path: 'store/new_password/:email_token', component: StoreNewPasswordComponent},\r\n            // {path: 'store/logout', component: StoreLogoutComponent},\r\n            // {path: 'store/*', component: store_loginComponent}\r\n        ]\r\n    },\r\n\r\n    {\r\n        path: '', component: admin_basicComponent,\r\n\r\n    },\r\n    // Handle all other routes\r\n    {path: '**', component: Add404Component}\r\n    \r\n    \r\n];\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/app.routes.ts","\r\nimport { Component ,Input } from '@angular/core';\r\n\r\n@Component({\r\n    selector: 'footer',\r\n    template: require('./footer.template.html')\r\n})\r\nexport class FooterComponent { \r\n\r\n\t@Input('myLoading') myLoading: Boolean;\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/common/admin/footer/footer.component.ts","import {NgModule} from \"@angular/core\";\r\nimport {RouterModule} from \"@angular/router\";\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\n\r\nimport {admin_blankComponent} from \"./admin_blank.component.ts\";\r\nimport {admin_basicComponent} from \"./admin_basic.component.ts\";\r\n\r\nimport {NavigationModule} from \"../navigation/navigation.module\";\r\nimport {TopnavbarModule} from \"../topnavbar/topnavbar.module\";\r\nimport {FooterModule} from \"../footer/footer.module\";\r\n\r\n@NgModule({\r\n    declarations: [admin_blankComponent,admin_basicComponent],\r\n    imports     : [BrowserModule, RouterModule, NavigationModule, TopnavbarModule, FooterModule],\r\n    exports     : [admin_blankComponent,admin_basicComponent]\r\n})\r\n\r\nexport class AdminLayoutsModule {}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/common/admin/layouts/admin_layouts.module.ts","import {Component, OnInit, OnDestroy} from '@angular/core';\r\nimport {Router, NavigationEnd} from '@angular/router';\r\nimport {Http, Response} from '@angular/http';\r\n//import {Helper} from \"../../../views/helper\";\r\nimport {Helper} from \"../../../views/helper\";\r\ndeclare var jQuery: any;\r\n//import {title, button, heading_title, menu_title, sub_menu_title} from '../../../admin_panel_string';\r\n\r\n@Component({\r\n    selector: 'navigation',\r\n    template: require('./navigation.template.html'),\r\n    providers: [Helper]\r\n})\r\n\r\nexport class NavigationComponent implements OnInit, OnDestroy {\r\n\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    admin_id: String;\r\n    admin_token: String;\r\n    app_name:String;\r\n    menu_title: any;\r\n    sub_menu_title: any;\r\n    showMenu: boolean = false;\r\n    \r\n    showSubMenu:boolean = false;\r\n    \r\n    admin_type : number = null;\r\n    urls_array: any[] = [];\r\n    containsAll: any;\r\n    subscription: any;\r\n    \r\n    //edit_button: Boolean;\r\n\r\n    constructor(private router: Router, private helper: Helper) {\r\n        this.subscription = router.events.subscribe(val => {\r\n            if(val instanceof NavigationEnd){\r\n                if(this.admin_type){\r\n                    // if(this.admin_type == 3){\r\n                    //     var url = val.url;\r\n                    //     var index = this.urls_array.indexOf(url);\r\n                    //     console.log(index)\r\n                    //     if(index == -1){\r\n                    //         this.router.navigate([this.urls_array[0]]);\r\n                    //     }\r\n                    // }\r\n                } else {\r\n                    this.helper.http.post('/admin/check_auth', {admin_id: this.admin_id, admin_token: this.admin_token}).map((res_data: Response) => res_data.json()).subscribe(data => {\r\n\r\n                        if (data.success == true) {\r\n                            if (data.admin.admin_type == 1) {\r\n                                this.showMenu = true;\r\n                            }\r\n                            this.admin_type = data.admin.admin_type;\r\n                            this.urls_array = data.admin.urls;\r\n                           \r\n                            if(data.admin.admin_type == 3){\r\n                                this.showSubMenu = true;\r\n                                var url = val.url;\r\n                                var index = this.urls_array.indexOf(url);\r\n                                if(index == -1){\r\n                                    this.router.navigate([this.urls_array[0]]);\r\n                                }\r\n                            }\r\n                        } else {\r\n                            this.helper.router.navigate(['admin/login']);\r\n                        }\r\n                    })\r\n                }\r\n            }\r\n        });  \r\n    }\r\n\r\n    ngOnDestroy(){\r\n        if(this.subscription){\r\n            this.subscription.unsubscribe();\r\n        }\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n        jQuery('#side-menu').metisMenu();\r\n    }\r\n    ngOnInit() {\r\n//        this.title = title\r\n//        this.button = button\r\n//        this.heading_title = heading_title\r\n//        this.menu_title = menu_title\r\n//        this.sub_menu_title = sub_menu_title\r\n        \r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.sub_menu_title = this.helper.sub_menu_title;\r\n        this.menu_title = this.helper.menu_title;\r\n        \r\n        \r\n        this.toggle();\r\n        this.admin_id = localStorage.getItem('admin_id');\r\n        this.admin_token = localStorage.getItem('admin_token');\r\n        \r\n        this.helper.http.post('/api/admin/get_setting_detail', {}).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.app_name = res_data.setting.app_name;\r\n        });\r\n\r\n    }\r\n\r\n    check_subadmin_access(url){\r\n        if(this.admin_type == 3){\r\n            url = '/admin/'+url;\r\n            var index = this.urls_array.indexOf(url);\r\n            if(index == -1){\r\n                return false;\r\n            } else {\r\n                return true;\r\n            }\r\n        } else {\r\n            return true;\r\n        }\r\n    }\r\n\r\n    toggle() {\r\n\r\n        if (jQuery(window).width() <= 768) {\r\n            jQuery(\"body\").toggleClass(\"mini-navbar\");\r\n            jQuery(\".full_menu\").toggleClass(\"full_menu1\");\r\n        }\r\n\r\n    }\r\n\r\n    //    showMenu(){\r\n    //        this.is_show = false;\r\n    //    }\r\n    activeRoute(routename: string): boolean {\r\n        return this.router.url.indexOf(routename) > -1;\r\n    }\r\n\r\n    logout() {\r\n        localStorage.setItem('admin_id', \"\");\r\n        localStorage.setItem('admin_token', \"\");\r\n        this.helper.router.navigate(['/admin/login']);\r\n    }\r\n\r\n\r\n\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/common/admin/navigation/navigation.component.ts","import {NgModule} from \"@angular/core\";\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport {RouterModule} from \"@angular/router\";\r\nimport {NavigationComponent} from \"./navigation.component.ts\";\r\nimport { TranslateModule } from 'ng2-translate';\r\n\r\n@NgModule({\r\n    declarations: [NavigationComponent],\r\n    imports     : [BrowserModule, RouterModule,TranslateModule],\r\n    exports     : [NavigationComponent],\r\n})\r\n\r\nexport class NavigationModule {}\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/common/admin/navigation/navigation.module.ts","import {Component} from '@angular/core';\r\nimport {smoothlyMenu} from '../../../app.helpers';\r\ndeclare var jQuery: any;\r\nimport {TranslateService} from 'ng2-translate';\r\n\r\nimport {Helper} from \"../../../views/helper\";\r\nimport {Http, Response} from '@angular/http';\r\n\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\n\r\n\r\n@Component({\r\n    selector: 'topnavbar',\r\n    template: require('./topnavbar.template.html'),\r\n    providers: [Helper]\r\n})\r\nexport class TopnavbarComponent {\r\n    admin_id: String;\r\n    admin_token: String;\r\n\r\n    constructor(public helper: Helper) {\r\n        helper.trans.addLangs(['sp', 'fr', 'hi', 'cn', 'en']);\r\n\r\n        var language = JSON.parse(localStorage.getItem('admin_language'));\r\n        if (language == '' || language == undefined) {\r\n            language = 'en'\r\n        }\r\n        helper.trans.setDefaultLang('en');\r\n        helper.trans.use(language);\r\n\r\n        const browserLang = helper.trans.getBrowserLang();\r\n    };\r\n\r\n    toggleNavigation(): void {\r\n\r\n        // if(jQuery(window).width()>768){\r\n                jQuery(\"body\").toggleClass(\"mini-navbar\");\r\n                jQuery(\".full_menu\").toggleClass(\"full_menu1\");\r\n                // jQuery(\"nav\").toggleClass(\"navbar\");\r\n                // jQuery(\"nav\").toggleClass(\"navbar1\");\r\n                // jQuery(\"nav span a\").toggleClass(\"minimalize-styl-2\");\r\n                // jQuery(\"nav span a\").toggleClass(\"minimalize-styl-3\");\r\n                \r\n        // }\r\n        // else\r\n        // {\r\n        //     jQuery(\"body\").toggleClass(\"body1\");\r\n        //     jQuery(\"body1\").toggleClass(\"body\");\r\n        // }\r\n        smoothlyMenu();\r\n\r\n    }\r\n    ngOnInit() {\r\n       var type = localStorage.getItem('type');\r\n       if(type !== '1'){\r\n           this.helper.router.navigate(['admin/login']);\r\n       }\r\n//        this.admin_token = localStorage.getItem('admin_token');\r\n//\r\n//        this.helper.http.post('/admin/check_auth', {admin_id: this.admin_id, admin_token: this.admin_token}).map((res_data: Response) => res_data.json()).subscribe(data => {\r\n//            console.log(\"Response \");\r\n//            console.log(data);\r\n//            if (data.success == true) {\r\n//\r\n//            } else {\r\n//                this.helper.router.navigate(['admin/login']);\r\n//            }\r\n//        })\r\n    }\r\n    logout() {\r\n        localStorage.setItem('admin_id', \"\");\r\n        localStorage.setItem('admin_token', \"\");\r\n        this.helper.router.navigate(['/admin/login']);\r\n    }\r\n\r\n    back(){\r\n        this.helper.router.navigate([this.helper.router_id.admin.back_url]);\r\n    }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/common/admin/topnavbar/topnavbar.component.ts","import {NgModule} from \"@angular/core\";\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport {TopnavbarComponent} from \"./topnavbar.component.ts\";\r\nimport { TranslateModule } from 'ng2-translate';\r\n\r\n@NgModule({\r\n    declarations: [TopnavbarComponent],\r\n    imports     : [BrowserModule,TranslateModule],\r\n    exports     : [TopnavbarComponent],\r\n})\r\n\r\nexport class TopnavbarModule {}\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/common/admin/topnavbar/topnavbar.module.ts","\r\nimport { Component ,Input } from '@angular/core';\r\n\r\n@Component({\r\n    selector: 'footer',\r\n    template: require('./footer.template.html')\r\n})\r\nexport class DispatcherFooterComponent { \r\n\r\n\t@Input('myLoading') myLoading: Boolean;\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/common/dispatcher/footer/footer.component.ts","import {NgModule} from \"@angular/core\";\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport {DispatcherFooterComponent} from \"./footer.component\";\r\n\r\n@NgModule({\r\n    declarations: [DispatcherFooterComponent],\r\n    imports     : [BrowserModule],\r\n    exports     : [DispatcherFooterComponent],\r\n})\r\n\r\nexport class DispatcherFooterModule {}\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/common/dispatcher/footer/footer.module.ts","import {NgModule} from \"@angular/core\";\r\nimport {RouterModule} from \"@angular/router\";\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\n\r\nimport {DispatcherblankComponent} from \"./dispatcher_blank.component\";\r\nimport {DispatcherbasicComponent} from \"./dispatcher_basic.component\";\r\n\r\nimport {DispatcherNavigationModule} from \"../navigation/navigation.module\";\r\nimport {DispatcherTopnavbarModule} from \"../topnavbar/topnavbar.module\";\r\nimport {DispatcherFooterModule} from \"../footer/footer.module\";\r\n\r\n@NgModule({\r\n    declarations: [DispatcherblankComponent,DispatcherbasicComponent],\r\n    imports     : [BrowserModule, RouterModule, DispatcherNavigationModule, DispatcherTopnavbarModule, DispatcherFooterModule],\r\n    exports     : [DispatcherblankComponent,DispatcherbasicComponent]\r\n})\r\n\r\nexport class DispatcherLayoutsModule {}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/common/dispatcher/layouts/dispatcher_layouts.module.ts","import {Component, OnInit} from '@angular/core';\r\nimport {Router} from '@angular/router';\r\nimport {Http, Response} from '@angular/http';\r\n//import {Helper} from \"../../../views/helper\";\r\nimport {Helper} from \"../../../views/helper\";\r\ndeclare var jQuery: any;\r\n//import {title, button, heading_title, menu_title, sub_menu_title} from '../../../admin_panel_string';\r\n\r\n@Component({\r\n    selector: 'navigation',\r\n    template: require('./navigation.template.html'),\r\n    providers: [Helper]\r\n})\r\n\r\nexport class DispatcherNavigationComponent implements OnInit {\r\n\r\n    title: any;\r\n    button: any;\r\n    heading_title: any;\r\n    admin_id: String;\r\n    admin_token: String;\r\n    app_name:String;\r\n    menu_title: any;\r\n    sub_menu_title: any;\r\n    showMenu: boolean = false;\r\n    \r\n    showSubMenu:boolean = false;\r\n    \r\n    admin_type : number = null;\r\n    urls_array: any[] = [];\r\n    containsAll: any;\r\n    \r\n    //edit_button: Boolean;\r\n\r\n    constructor(private router: Router, private helper: Helper) {}\r\n\r\n\r\n    ngAfterViewInit() {\r\n        jQuery('#side-menu').metisMenu();\r\n    }\r\n    ngOnInit() {\r\n//        this.title = title\r\n//        this.button = button\r\n//        this.heading_title = heading_title\r\n//        this.menu_title = menu_title\r\n//        this.sub_menu_title = sub_menu_title\r\n        \r\n        this.title = this.helper.title;\r\n        this.button = this.helper.button;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.sub_menu_title = this.helper.sub_menu_title;\r\n        this.menu_title = this.helper.menu_title;\r\n        \r\n        \r\n        this.toggle();\r\n        this.admin_id = localStorage.getItem('admin_id');\r\n        this.admin_token = localStorage.getItem('admin_token');\r\n        \r\n        this.helper.http.post('/api/admin/get_setting_detail', {}).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.app_name = res_data.setting.app_name;\r\n        });\r\n\r\n        this.helper.http.post('/admin/check_auth', {admin_id: this.admin_id, admin_token: this.admin_token}).map((res_data: Response) => res_data.json()).subscribe(data => {\r\n\r\n            if (data.success == true) {\r\n                if (data.admin.admin_type == 1) {\r\n                    this.showMenu = true;\r\n                }\r\n                this.admin_type = data.admin.admin_type;\r\n                this.urls_array = data.admin.urls;\r\n                 \r\n                 //console.log(this.containsAll(['/admin/delivery', '/admin/vehicle', '/admin/country','/admin/city','/admin/service'], this.urls_array));\r\n                 \r\n                \r\n//                if(data.admin.admin_type == 3 && data.admin.urls.length > 0)\r\n//                {\r\n//                    this.showSubMenu = true;\r\n//                    console.log(this.showSubMenu);\r\n//                }\r\n               \r\n                if(data.admin.admin_type == 3){\r\n                    this.showSubMenu = true;\r\n                    \r\n                }\r\n                \r\n                \r\n//                if(data.admin.admin_type == 3){\r\n//                    console.log(data.admin.urls.length);\r\n//                    console.log(data.admin.urls);\r\n//                    if (data.admin.urls.length > 0) {\r\n//                        data.admin.urls.forEach(function (url) {\r\n//                            console.log(url);\r\n//                            this.showSubMenu = true;\r\n//                            console.log(this.showSubMenu);\r\n//                        });\r\n//                    }\r\n//                 }\r\n            } else {\r\n                this.helper.router.navigate(['admin/login']);\r\n            }\r\n        })\r\n\r\n\r\n\r\n\r\n\r\n\r\n    }\r\n    toggle() {\r\n\r\n        if (jQuery(window).width() <= 768) {\r\n            jQuery(\"body\").toggleClass(\"mini-navbar\");\r\n            jQuery(\".full_menu\").toggleClass(\"full_menu1\");\r\n        }\r\n\r\n    }\r\n\r\n    //    showMenu(){\r\n    //        this.is_show = false;\r\n    //    }\r\n    activeRoute(routename: string): boolean {\r\n        return this.router.url.indexOf(routename) > -1;\r\n    }\r\n\r\n    logout() {\r\n        localStorage.setItem('admin_id', \"\");\r\n        localStorage.setItem('admin_token', \"\");\r\n        this.helper.router.navigate(['/admin/login']);\r\n    }\r\n\r\n\r\n\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/common/dispatcher/navigation/navigation.component.ts","import {NgModule} from \"@angular/core\";\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport {RouterModule} from \"@angular/router\";\r\nimport {DispatcherNavigationComponent} from \"./navigation.component.ts\";\r\nimport { TranslateModule } from 'ng2-translate';\r\n\r\n@NgModule({\r\n    declarations: [DispatcherNavigationComponent],\r\n    imports     : [BrowserModule, RouterModule,TranslateModule],\r\n    exports     : [DispatcherNavigationComponent],\r\n})\r\n\r\nexport class DispatcherNavigationModule {}\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/common/dispatcher/navigation/navigation.module.ts","import {Component} from '@angular/core';\r\nimport {smoothlyMenu} from '../../../app.helpers';\r\ndeclare var jQuery: any;\r\nimport {TranslateService} from 'ng2-translate';\r\n\r\nimport {Helper} from \"../../../views/helper\";\r\nimport {Http, Response} from '@angular/http';\r\n\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\n\r\n\r\n@Component({\r\n    selector: 'topnavbar',\r\n    template: require('./topnavbar.template.html'),\r\n    providers: [Helper]\r\n})\r\nexport class DispatcherTopnavbarComponent {\r\n    admin_id: String;\r\n    admin_token: String;\r\n\r\n    constructor(public helper: Helper) {\r\n        helper.trans.addLangs(['sp', 'fr', 'hi', 'cn', 'en']);\r\n\r\n        var language = JSON.parse(localStorage.getItem('admin_language'));\r\n        if (language == '' || language == undefined) {\r\n            language = 'en'\r\n        }\r\n        helper.trans.setDefaultLang('en');\r\n        helper.trans.use(language);\r\n\r\n        const browserLang = helper.trans.getBrowserLang();\r\n    };\r\n\r\n    toggleNavigation(): void {\r\n\r\n        // if(jQuery(window).width()>768){\r\n                jQuery(\"body\").toggleClass(\"mini-navbar\");\r\n                jQuery(\".full_menu\").toggleClass(\"full_menu1\");\r\n                // jQuery(\"nav\").toggleClass(\"navbar\");\r\n                // jQuery(\"nav\").toggleClass(\"navbar1\");\r\n                // jQuery(\"nav span a\").toggleClass(\"minimalize-styl-2\");\r\n                // jQuery(\"nav span a\").toggleClass(\"minimalize-styl-3\");\r\n                \r\n        // }\r\n        // else\r\n        // {\r\n        //     jQuery(\"body\").toggleClass(\"body1\");\r\n        //     jQuery(\"body1\").toggleClass(\"body\");\r\n        // }\r\n        smoothlyMenu();\r\n\r\n    }\r\n    ngOnInit() {\r\n        var type = localStorage.getItem('type');\r\n        if(type !== '5'){\r\n            this.helper.router.navigate(['dispatcher/login']);\r\n        }\r\n//        this.admin_id = localStorage.getItem('admin_id');\r\n//        this.admin_token = localStorage.getItem('admin_token');\r\n//\r\n//        this.helper.http.post('/admin/check_auth', {admin_id: this.admin_id, admin_token: this.admin_token}).map((res_data: Response) => res_data.json()).subscribe(data => {\r\n//            console.log(\"Response \");\r\n//            console.log(data);\r\n//            if (data.success == true) {\r\n//\r\n//            } else {\r\n//                this.helper.router.navigate(['admin/login']);\r\n//            }\r\n//        })\r\n    }\r\n    logout() {\r\n        localStorage.setItem('admin_id', \"\");\r\n        localStorage.setItem('admin_token', \"\");\r\n        this.helper.router.navigate(['/dispatcher/login']);\r\n    }\r\n\r\n    back(){\r\n        this.helper.router.navigate([this.helper.router_id.admin.back_url]);\r\n    }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/common/dispatcher/topnavbar/topnavbar.component.ts","import {NgModule} from \"@angular/core\";\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport {DispatcherTopnavbarComponent} from \"./topnavbar.component\";\r\nimport { TranslateModule } from 'ng2-translate';\r\n\r\n@NgModule({\r\n    declarations: [DispatcherTopnavbarComponent],\r\n    imports     : [BrowserModule,TranslateModule],\r\n    exports     : [DispatcherTopnavbarComponent],\r\n})\r\n\r\nexport class DispatcherTopnavbarModule {}\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/common/dispatcher/topnavbar/topnavbar.module.ts","import { Component ,Input } from '@angular/core';\r\n\r\n@Component({\r\n    selector: 'footer',\r\n    template: require('./footer.template.html')\r\n})\r\nexport class FooterComponent { \r\n\r\n\t@Input('myLoading') myLoading: Boolean;\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/common/franchise/footer/footer.component.ts","import {NgModule} from \"@angular/core\";\r\nimport {RouterModule} from \"@angular/router\";\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\n\r\nimport {franchise_blankComponent} from \"./franchise_blank.component\";\r\nimport {franchise_basicComponent} from \"./franchise_basic.component\";\r\n\r\nimport {NavigationModule} from \"../navigation/navigation.module\";\r\nimport {TopnavbarModule} from \"../topnavbar/topnavbar.module\";\r\nimport {FooterModule} from \"../footer/footer.module\";\r\n\r\n\r\n\r\n@NgModule({\r\n    declarations: [franchise_blankComponent,franchise_basicComponent],\r\n    imports     : [BrowserModule, RouterModule, NavigationModule,  TopnavbarModule, FooterModule],\r\n    exports     : [franchise_blankComponent,franchise_basicComponent]\r\n})\r\n\r\nexport class FranchiseLayoutsModule {}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/common/franchise/layouts/franchise_layouts.module.ts","import { Component, Input} from '@angular/core';\r\nimport {Helper} from \"../../../views/franchise_helper\";\r\nimport event = google.maps.event;\r\n\r\ndeclare var jQuery: any;\r\nimport { FranchiseProfileComponent } from '../../../views/franchise/profile/profile.component';\r\n@Component({\r\n    selector: 'navigation',\r\n    template: require('./navigation.template.html'),\r\n    providers: [Helper]\r\n})\r\n\r\nexport class NavigationComponent {\r\n    private name : String;\r\n    private image : any;\r\n\r\n    menu_title: any;\r\n    constructor(private helper: Helper) {\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n        jQuery('#side-menu').metisMenu();\r\n    }\r\n\r\n\r\n    ngOnInit() {\r\n        let franchise = JSON.parse(localStorage.getItem('franchise'));\r\n        this.menu_title = this.helper.menu_title;\r\n        if(franchise !== null)\r\n        {\r\n            this.name = franchise.name;\r\n            this.image = franchise.image_url;\r\n        }\r\n        this.toggle(event)\r\n    }\r\n\r\n    toggle(event){\r\n        this.helper.ngZone.run(() => {\r\n            if (jQuery(window).width() <= 768) {\r\n                jQuery(\"body\").toggleClass(\"mini-navbar\");\r\n                jQuery(\".full_menu\").toggleClass(\"full_menu1\");\r\n            }\r\n\r\n            if (jQuery('#earning_submenu').attr('class') == \"nav nav-second-level collapse in\") {\r\n                if (event.target !== undefined) {\r\n                    if (event.target.id === \"\") {\r\n                        jQuery('#click_menu').click();\r\n                    }\r\n                }\r\n            }\r\n        });\r\n    }\r\n\r\n    activeRoute(routename: string): boolean{\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/common/franchise/navigation/navigation.component.ts","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { smoothlyMenu } from '../../../app.helpers';\r\nimport {Response } from '@angular/http';\r\ndeclare var jQuery:any;\r\nimport {Helper} from \"../../../views/franchise_helper\";\r\nimport { ModalComponent } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport { UUID } from 'angular2-uuid';\r\n\r\n@Component({\r\n    selector: 'topnavbar',\r\n    template: require('./topnavbar.template.html'),\r\n    providers: [Helper]\r\n})\r\nexport class TopnavbarComponent implements OnInit {\r\n\r\n    @ViewChild('myModal')\r\n    modal: ModalComponent;\r\n    franchise_id:Object;\r\n    server_token:String;\r\n    interval:any;\r\n    declined:Boolean;\r\n    error_code : any;\r\n    menu_title:any;\r\n    title:any;\r\n    heading_title:any;\r\n    constructor(private helper:Helper) {\r\n\r\n        helper.trans.addLangs([ 'sp','fr','hi','cn','en']);\r\n            \r\n        var language = JSON.parse(localStorage.getItem('language'));\r\n        if(language == '' || language == undefined)\r\n        {\r\n            language = 'en'\r\n        }\r\n        helper.trans.setDefaultLang('en');\r\n        helper.trans.use(language);\r\n\r\n        const browserLang = helper.trans.getBrowserLang();\r\n    }\r\n\r\n    toggleNavigation(): void {\r\n\r\n        // if(jQuery(window).width()>768){\r\n                jQuery(\"body\").toggleClass(\"mini-navbar\");\r\n                jQuery(\".full_menu\").toggleClass(\"full_menu1\");\r\n\r\n                // jQuery(\"nav\").toggleClass(\"navbar\");\r\n                // jQuery(\"nav\").toggleClass(\"navbar1\");\r\n                // jQuery(\"nav span a\").toggleClass(\"minimalize-styl-2\");\r\n                // jQuery(\"nav span a\").toggleClass(\"minimalize-styl-3\");\r\n        // }\r\n        // else\r\n        // {\r\n        //     jQuery(\"body\").toggleClass(\"body1\");\r\n        //     jQuery(\"body1\").toggleClass(\"body\");\r\n        // }\r\n        smoothlyMenu();\r\n\r\n    }\r\n    public notification: any = {\r\n        show: false,\r\n        closeDelay: null,\r\n        title: '',\r\n        body: '',\r\n        icon: ''\r\n    };\r\n\r\n    ngAfterViewInit() {\r\n        // setTimeout(function() {\r\n        //     jQuery(\"body\").trigger({ type: 'keydown', which: '123'});\r\n        //     //     var e = jQuery.Event( \"keypress\", { keyCode: 123  } );\r\n        //     //     jQuery(\"body\").trigger(e);\r\n        // }, 2000);\r\n    }\r\n\r\n     ngOnInit() {\r\n\r\n         let cart_unique_token = localStorage.getItem('store_cart_unique_token');\r\n         if(cart_unique_token == \"\" || cart_unique_token == null || cart_unique_token == undefined){\r\n             let uuid = UUID.UUID();\r\n             localStorage.setItem('store_cart_unique_token', uuid);\r\n         }\r\n\r\n        //////// for disabel inspect elemnt ///////////\r\n\r\n\r\n        // jQuery(document).bind(\"contextmenu\",function(e) {\r\n        //  e.preventDefault();\r\n        // });\r\n        //\r\n        // jQuery(document).keydown(function(e){\r\n        //     if(e.which === 123){\r\n        //        return false;\r\n        //     }\r\n        //     if(e.ctrlKey && e.shiftKey && e.keyCode == 'I'.charCodeAt(0)) {\r\n        //          return false;\r\n        //       }\r\n        //       if(e.ctrlKey && e.shiftKey && e.keyCode == 'J'.charCodeAt(0)) {\r\n        //          return false;\r\n        //       }\r\n        //       if(e.ctrlKey && e.keyCode == 'U'.charCodeAt(0)) {\r\n        //          return false;\r\n        //       }\r\n        // });\r\n\r\n         ////////////////////////////////////\r\n\r\n         ////////// for disable browser back button ///////////\r\n\r\n         // window.onpopstate = (e) => {\r\n         //     window.history.forward(1);\r\n         // }\r\n\r\n         ///////////////////////////\r\n\r\n        this.declined = false;\r\n        let franchise = JSON.parse(localStorage.getItem('franchise'));\r\n        this.menu_title = this.helper.menu_title;\r\n        this.title = this.helper.title;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.error_code = this.helper.error_code\r\n        if(franchise!==null)\r\n        {\r\n            this.franchise_id=franchise._id\r\n            this.server_token=franchise.server_token\r\n        }\r\n        // this.notification = {\r\n        //     show: true,\r\n        //     closeDelay: this.helper.TIMEOUT.PUSH_NOTIFICATION,\r\n        //     title: \"\",\r\n        //     sound: 'driver_arrived_at_pickup.mp3',\r\n        //     body: \"\",\r\n        //     icon: 'web_images/store_logo.png'\r\n        // }\r\n        this.new_order();\r\n\r\n        this.interval=setInterval(() => {\r\n            \r\n            this.new_order()\r\n\r\n        },this.helper.TIMEOUT.NEW_PUSH_NOTIFICATION_REQUEST);\r\n\r\n     }\r\n     activeRoute(routename: string): boolean{\r\n         return this.helper.router.url.indexOf(routename) > -1;\r\n     }\r\n     ngOnDestroy() {\r\n        clearInterval(this.interval);\r\n    }\r\n     myShowFunction()\r\n     {\r\n         this.helper.router.navigate(['franchise/order']);\r\n     }\r\n\r\n    new_order()\r\n    {\r\n        this.helper.http.post('/api/franchise/franchise_notify_new_order',{franchise_id:this.franchise_id, server_token:this.server_token}).map((res_data: Response) => res_data.json()).subscribe((res_data: any) => {\r\n\r\n                let display:any = jQuery('.modal').css('display');\r\n                if(res_data.success==true)\r\n                {\r\n                    localStorage.setItem('franchise_document_ulpoaded', res_data.store_detail.is_document_uploaded);\r\n                    var order_data = res_data.order\r\n                    //this.notification.title=order_data.user_detail.first_name + order_data.user_detail.last_name;\r\n                    //this.notification.body=res_data.order.unique_id;\r\n                    //this.notification.icon=order_data.user_detail.image_url;\r\n                    jQuery('#button').click();\r\n\r\n\r\n                    if(res_data.franchise_detail.is_document_uploaded)\r\n                    {\r\n                        this.helper.data.storage = {\r\n                            \"message\":  \"\",\r\n                            \"class\": \"alert-danger\"\r\n                        }\r\n                        if(res_data.franchise_detail.is_approved == false && display != \"block\")\r\n                        {\r\n                            this.declined = true;\r\n                            this.modal.open();\r\n                        }\r\n                        else if(res_data.franchise_detail.is_approved == true && (display == \"block\" || \"inline\"))\r\n                        {\r\n                            this.declined = false;\r\n                            this.modal.close();\r\n                        }\r\n                    }\r\n                    else\r\n                    {\r\n                        localStorage.setItem('admin_franchise_document_ulpoaded', res_data.setting_detail.is_upload_store_documents);\r\n                        if(res_data.setting_detail.is_upload_franchise_documents){\r\n\r\n                            this.helper.router.navigate(['franchise/upload_document']);\r\n                        }\r\n\r\n                    }\r\n                }\r\n                else\r\n                {\r\n                    if(res_data.error_code === this.error_code.TOKEN_EXPIRED || res_data.error_code === this.error_code.STORE_DATA_NOT_FOUND)\r\n                    {\r\n                        \r\n                        this.helper.data.storage = {\r\n                            \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                            \"class\": \"alert-danger\"\r\n                        }\r\n                        this.helper.router.navigate(['franchise/logout']);\r\n                    }\r\n                    else\r\n                    {\r\n                        localStorage.setItem('franchise_document_ulpoaded', res_data.franchise_detail.is_document_uploaded);\r\n                        if(res_data.franchise_detail.is_document_uploaded)\r\n                        {\r\n\r\n                            if(res_data.franchise_detail.is_approved == false && display != \"block\")\r\n                            {\r\n                                this.declined = true;\r\n                                this.modal.open();\r\n                            }\r\n                            else if(res_data.franchise_detail.is_approved == true && (display == \"block\" || \"inline\"))\r\n                            {\r\n                                this.declined = false;\r\n                                this.modal.close();\r\n                            }\r\n                        }\r\n                        else\r\n                        {\r\n                            localStorage.setItem('admin_franchise_document_ulpoaded', res_data.setting_detail.is_upload_franchise_documents);\r\n                            if(res_data.setting_detail.is_upload_franchise_documents) {\r\n                                this.helper.data.storage = {\r\n                                    \"message\": \"Upload Document First\",\r\n                                    \"class\": \"alert-danger\"\r\n                                }\r\n                                this.helper.router.navigate(['franchise/upload_document']);\r\n                            }\r\n                        }\r\n                    }\r\n                }\r\n\r\n            },\r\n            (error: any) => {\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/common/franchise/topnavbar/topnavbar.component.ts","import {NgModule} from \"@angular/core\";\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport {TopnavbarComponent} from \"./topnavbar.component\";\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport { TranslateModule } from 'ng2-translate';\r\n\r\n\r\n@NgModule({\r\n    declarations: [TopnavbarComponent],\r\n    imports     : [BrowserModule,RouterModule,Ng2Bs3ModalModule  ,TranslateModule],\r\n    exports     : [TopnavbarComponent],\r\n})\r\n\r\nexport class TopnavbarModule {}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/common/franchise/topnavbar/topnavbar.module.ts","import { Component ,Input } from '@angular/core';\r\n\r\n@Component({\r\n    selector: 'footer',\r\n    template: require('./footer.template.html')\r\n})\r\nexport class FooterComponent { \r\n\r\n\t@Input('myLoading') myLoading: Boolean;\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/common/store/footer/footer.component.ts","import {NgModule} from \"@angular/core\";\r\nimport {RouterModule} from \"@angular/router\";\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\n\r\nimport {store_blankComponent} from \"./store_blank.component\";\r\nimport {store_basicComponent} from \"./store_basic.component\";\r\n\r\nimport {NavigationModule} from \"../navigation/navigation.module\";\r\nimport {TopnavbarModule} from \"../topnavbar/topnavbar.module\";\r\nimport {FooterModule} from \"../footer/footer.module\";\r\n\r\n\r\n\r\n@NgModule({\r\n    declarations: [store_blankComponent,store_basicComponent],\r\n    imports     : [BrowserModule, RouterModule, NavigationModule,  TopnavbarModule, FooterModule],\r\n    exports     : [store_blankComponent,store_basicComponent]\r\n})\r\n\r\nexport class StoreLayoutsModule {}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/common/store/layouts/store_layouts.module.ts","import { Component, Input} from '@angular/core';\r\nimport {Helper} from \"../../../views/store_helper\";\r\nimport event = google.maps.event;\r\n\r\ndeclare var jQuery: any;\r\n\r\n@Component({\r\n    selector: 'navigation',\r\n    template: require('./navigation.template.html'),\r\n    providers: [Helper]\r\n})\r\n\r\nexport class NavigationComponent {\r\n\r\n    menu_title: any;\r\n    constructor(private helper: Helper) {\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n        jQuery('#side-menu').metisMenu();\r\n    }\r\n\r\n\r\n    ngOnInit() {\r\n        let store = JSON.parse(localStorage.getItem('store'));\r\n        this.menu_title = this.helper.menu_title;\r\n\r\n        if(store !== null){\r\n            this.helper.user_cart.name = store.name;\r\n            this.helper.user_cart.image = store.image_url;\r\n        }\r\n\r\n        this.toggle(event)\r\n    }\r\n\r\n    toggle(event){\r\n        this.helper.ngZone.run(() => {\r\n            if (jQuery(window).width() <= 768) {\r\n                jQuery(\"body\").toggleClass(\"mini-navbar\");\r\n                jQuery(\".full_menu\").toggleClass(\"full_menu1\");\r\n            }\r\n\r\n            if (jQuery('#earning_submenu').attr('class') == \"nav nav-second-level collapse in\") {\r\n                if (event.target !== undefined) {\r\n                    if (event.target.id === \"\") {\r\n                        jQuery('#click_menu').click();\r\n                    }\r\n                }\r\n            }\r\n        });\r\n    }\r\n\r\n    activeRoute(routename: string): boolean{\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/common/store/navigation/navigation.component.ts","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { smoothlyMenu } from '../../../app.helpers';\r\nimport {Response } from '@angular/http';\r\ndeclare var jQuery:any;\r\nimport {Helper} from \"../../../views/store_helper\";\r\nimport { ModalComponent } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport { UUID } from 'angular2-uuid';\r\nimport { PushNotificationComponent } from 'ng2-notifications/ng2-notifications';\r\n\r\n@Component({\r\n    selector: 'topnavbar',\r\n    template: require('./topnavbar.template.html'),\r\n    providers: [Helper]\r\n})\r\nexport class TopnavbarComponent implements OnInit {\r\n\r\n    @ViewChild('myModal')\r\n    modal: ModalComponent;\r\n    @ViewChild('myNotification')\r\n    myNotification: PushNotificationComponent;\r\n\r\n    store_id:Object;\r\n    server_token:String;\r\n    interval:any;\r\n    declined:Boolean;\r\n    error_code : any;\r\n    menu_title:any;\r\n    title:any;\r\n    heading_title:any;\r\n    audio: any;\r\n    no_provider_audio: any;\r\n    admin_phone: string = '';\r\n    admin_email: string = '';\r\n\r\n    constructor(private helper:Helper) {\r\n\r\n        helper.trans.addLangs([ 'sp','fr','hi','cn','en']);\r\n            \r\n        var language = JSON.parse(localStorage.getItem('language'));\r\n        if(language == '' || language == undefined)\r\n        {\r\n            language = 'en'\r\n        }\r\n        helper.trans.setDefaultLang('en');\r\n        helper.trans.use(language);\r\n\r\n        const browserLang = helper.trans.getBrowserLang();\r\n    }\r\n\r\n    toggleNavigation(): void {\r\n\r\n        jQuery(\"body\").toggleClass(\"mini-navbar\");\r\n        jQuery(\".full_menu\").toggleClass(\"full_menu1\");\r\n        smoothlyMenu();\r\n\r\n    }\r\n    public notification: any = {\r\n        show: false,\r\n        closeDelay: null,\r\n        title: '',\r\n        body: '',\r\n        icon: ''\r\n    };\r\n\r\n    public no_provider_notification: any = {\r\n        show: true,\r\n        closeDelay: this.helper.TIMEOUT.PUSH_NOTIFICATION,\r\n        title: '',\r\n        body: '',\r\n        icon: 'web_images/store_logo.png'\r\n    };\r\n\r\n    ngAfterViewInit() {\r\n    }\r\n\r\n     ngOnInit() {\r\n\r\n         this.audio = new Audio();\r\n         this.audio.src = \"audio.mp3\";\r\n         this.audio.load();\r\n         this.no_provider_audio = new Audio();\r\n         this.no_provider_audio.src = \"audio.mp3\";\r\n         this.no_provider_audio.load();\r\n\r\n        //////// for disabel inspect elemnt ///////////\r\n\r\n\r\n        // jQuery(document).bind(\"contextmenu\",function(e) {\r\n        //  e.preventDefault();\r\n        // });\r\n        //\r\n        // jQuery(document).keydown(function(e){\r\n        //     if(e.which === 123){\r\n        //        return false;\r\n        //     }\r\n        //     if(e.ctrlKey && e.shiftKey && e.keyCode == 'I'.charCodeAt(0)) {\r\n        //          return false;\r\n        //       }\r\n        //       if(e.ctrlKey && e.shiftKey && e.keyCode == 'J'.charCodeAt(0)) {\r\n        //          return false;\r\n        //       }\r\n        //       if(e.ctrlKey && e.keyCode == 'U'.charCodeAt(0)) {\r\n        //          return false;\r\n        //       }\r\n        // });\r\n\r\n         ////////////////////////////////////\r\n\r\n         ////////// for disable browser back button ///////////\r\n\r\n         // window.onpopstate = (e) => {\r\n         //     window.history.forward(1);\r\n         // }\r\n\r\n         ///////////////////////////\r\n\r\n        this.declined = false;\r\n        let store = JSON.parse(localStorage.getItem('store'));\r\n        this.menu_title = this.helper.menu_title;\r\n        this.title = this.helper.title;\r\n        this.heading_title = this.helper.heading_title;\r\n        this.error_code = this.helper.error_code\r\n        if(store!==null)\r\n        {\r\n            this.store_id=store._id\r\n            this.server_token=store.server_token\r\n        }\r\n        this.notification = {\r\n            show: true,\r\n            closeDelay: this.helper.TIMEOUT.PUSH_NOTIFICATION,\r\n            title: \"\",\r\n            body: \"\",\r\n            icon: 'web_images/store_logo.png'\r\n        }\r\n        this.new_order();\r\n        this.get_order_list();\r\n\r\n        this.interval=setInterval(() => {\r\n\r\n            this.new_order();\r\n            // this.get_order_list();\r\n\r\n        },this.helper.TIMEOUT.NEW_PUSH_NOTIFICATION_REQUEST);\r\n\r\n     }\r\n     activeRoute(routename: string): boolean{\r\n         return this.helper.router.url.indexOf(routename) > -1;\r\n     }\r\n     ngOnDestroy() {\r\n        clearInterval(this.interval);\r\n    }\r\n     myShowFunction()\r\n     {\r\n         this.helper.router.navigate(['store/order']);\r\n     }\r\n\r\n    NO_PROVIDER_FOUND()\r\n    {\r\n        this.helper.router.navigate(['store/deliveries']);\r\n    }\r\n\r\n    go_to_order(){\r\n        this.helper.router.navigate(['/store/order']);\r\n    }\r\n\r\n    get_order_data(order_id){\r\n        this.helper.router_id.store.order_id = order_id;\r\n        this.helper.router.navigate(['store/order']);\r\n    }\r\n\r\n    go_to_deliveries(){\r\n        this.helper.router.navigate(['/store/deliveries']);\r\n    }\r\n\r\n    get_order_list() {\r\n        this.helper.http.post('/api/store/get_order_list', {\r\n            store_id: this.store_id,\r\n            server_token: this.server_token\r\n        }).map((res_data: Response) => res_data.json()).subscribe((res_data: any) => {\r\n            this.helper.router_id.store.new_order_list = res_data.new_order_list;\r\n            this.helper.router_id.store.no_deliveryman_orders = res_data.no_deliveryman_orders;\r\n        });\r\n    }\r\n\r\n    new_order()\r\n    {\r\n        this.helper.http.post('/api/store/store_notify_new_order',{store_id:this.store_id, server_token:this.server_token}).map((res_data: Response) => res_data.json()).subscribe((res_data: any) => {\r\n\r\n                let display:any = jQuery('.modal').css('display');\r\n                if(res_data.success==true)\r\n                {\r\n                    localStorage.setItem('store_document_ulpoaded', res_data.store_detail.is_document_uploaded);\r\n                    var order_data = res_data.order;\r\n                    this.helper.router_id.store.new_order_list.push(order_data)\r\n                    this.notification.title=order_data.user_detail.first_name + order_data.user_detail.last_name;\r\n                    this.notification.body=res_data.order.unique_id;\r\n                    this.notification.icon= order_data.user_detail.image_url != '' ? order_data.user_detail.image_url  :'web_images/store_logo.png';\r\n\r\n                    jQuery('#button').click();\r\n                    this.audio.play();\r\n\r\n                    if(res_data.no_deliveryman_orders){\r\n                        this.helper.router_id.store.no_deliveryman_orders.push(res_data.no_deliveryman_orders)\r\n                        this.no_provider_notification.title = this.helper.status.no_delivery_man_found;\r\n                        this.no_provider_notification.body=res_data.no_deliveryman_orders.unique_id;\r\n                        this.notification.icon= res_data.no_deliveryman_orders.image_url != '' ? res_data.no_deliveryman_orders.image_url  :'web_images/store_logo.png';\r\n\r\n                        jQuery('#no_provider').click();\r\n                        this.no_provider_audio.play();\r\n                    }\r\n\r\n\r\n                    if(res_data.store_detail.is_document_uploaded)\r\n                    {\r\n                        this.helper.data.storage = {\r\n                            \"message\":  \"\",\r\n                            \"class\": \"alert-danger\"\r\n                        }\r\n                        if(res_data.store_detail.is_approved == false && display != \"block\")\r\n                        {\r\n                            this.declined = true;\r\n                            this.admin_phone = res_data.setting_detail.admin_contact_phone_number;\r\n                            this.admin_email = res_data.setting_detail.admin_contact_email\r\n                            this.modal.open();\r\n                        }\r\n                        else if(res_data.store_detail.is_approved == true && (display == \"block\" || \"inline\"))\r\n                        {\r\n                            this.declined = false;\r\n                            this.modal.close();\r\n                        }\r\n                    }\r\n                    else\r\n                    {\r\n                        localStorage.setItem('admin_store_document_ulpoaded', res_data.setting_detail.is_upload_store_documents);\r\n                        if(res_data.setting_detail.is_upload_store_documents){\r\n                            this.helper.data.storage = {\r\n                                \"message\": \"Upload Document First\",\r\n                                \"class\": \"alert-danger\"\r\n                            }\r\n                            this.helper.router.navigate(['store/profile']);\r\n                        }\r\n\r\n                    }\r\n                }\r\n                else\r\n                {\r\n                    if(res_data.error_code === this.error_code.TOKEN_EXPIRED || res_data.error_code === this.error_code.STORE_DATA_NOT_FOUND)\r\n                    {\r\n                        \r\n                        this.helper.data.storage = {\r\n                            \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                            \"class\": \"alert-danger\"\r\n                        }\r\n                        this.helper.router.navigate(['store/logout']);\r\n                    }\r\n                    else\r\n                    {\r\n                        if(res_data.no_deliveryman_orders){\r\n                            this.helper.router_id.store.no_deliveryman_orders.push(res_data.no_deliveryman_orders)\r\n                            this.no_provider_notification.title = this.helper.status.no_delivery_man_found;\r\n                            this.no_provider_notification.body = res_data.no_deliveryman_orders.unique_id;\r\n                            this.notification.icon= res_data.no_deliveryman_orders.image_url != '' ? res_data.no_deliveryman_orders.image_url  :'web_images/store_logo.png';\r\n\r\n                            jQuery('#no_provider').click();\r\n                            this.no_provider_audio.play();\r\n                        }\r\n                        localStorage.setItem('store_document_ulpoaded', res_data.store_detail.is_document_uploaded);\r\n                        if(res_data.store_detail.is_document_uploaded)\r\n                        {\r\n\r\n                            if(res_data.store_detail.is_approved == false && display != \"block\")\r\n                            {\r\n                                this.declined = true;\r\n                                this.admin_phone = res_data.setting_detail.admin_contact_phone_number;\r\n                                this.admin_email = res_data.setting_detail.admin_contact_email;\r\n                                this.modal.open();\r\n                            }\r\n                            else if(res_data.store_detail.is_approved == true && (display == \"block\" || \"inline\"))\r\n                            {\r\n                                this.declined = false;\r\n                                this.modal.close();\r\n                            }\r\n                        }\r\n                        else\r\n                        {\r\n                            localStorage.setItem('admin_store_document_ulpoaded', res_data.setting_detail.is_upload_store_documents);\r\n                            if(res_data.setting_detail.is_upload_store_documents) {\r\n                                this.helper.data.storage = {\r\n                                    \"message\": \"Upload Document First\",\r\n                                    \"class\": \"alert-danger\"\r\n                                }\r\n                                this.helper.router.navigate(['store/profile']);\r\n                            }\r\n                        }\r\n                    }\r\n                }\r\n\r\n            },\r\n            (error: any) => {\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/common/store/topnavbar/topnavbar.component.ts","import {NgModule} from \"@angular/core\";\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport {TopnavbarComponent} from \"./topnavbar.component\";\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { PushNotificationComponent } from 'ng2-notifications/ng2-notifications';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\n\r\n@NgModule({\r\n    declarations: [TopnavbarComponent,PushNotificationComponent],\r\n    imports     : [BrowserModule,RouterModule,Ng2Bs3ModalModule, DropdownModule ,TranslateModule],\r\n    exports     : [TopnavbarComponent],\r\n})\r\n\r\nexport class TopnavbarModule {}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/common/store/topnavbar/topnavbar.module.ts","export * from './app.component';\r\nexport * from './app.module';\r\n//export * from './app.store_module';\r\n//export * from './app.user_module';\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/index.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { Add404Component } from './404.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { TranslateModule } from 'ng2-translate';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,BrowserModule,FormsModule, UiSwitchModule,TranslateModule\r\n  ],\r\n  declarations: [Add404Component]\r\n})\r\nexport class Add404Module { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/404/404.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { Add502Component } from './502.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { TranslateModule } from 'ng2-translate';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,BrowserModule,FormsModule, UiSwitchModule,TranslateModule\r\n  ],\r\n  declarations: [Add502Component]\r\n})\r\nexport class Add502Module { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/502/502.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AddAdminComponent } from './add_admin.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,BrowserModule,FormsModule,FooterModule, UiSwitchModule,TranslateModule\r\n  ],\r\n  declarations: [AddAdminComponent]\r\n})\r\nexport class AddAdminModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/add_admin/add_admin.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AddAdvertiseComponent } from './add_advertise.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport {RouterModule,Routes} from \"@angular/router\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n\r\nimport {ImageCropperModule} from 'ng2-img-cropper';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\n\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,RouterModule,BrowserModule,MyDatePickerModule,Ng2Bs3ModalModule, ImageCropperModule,FormsModule,FooterModule, UiSwitchModule , TranslateModule \r\n  ],\r\n  declarations: [AddAdvertiseComponent]\r\n})\r\nexport class AddAdvertiseModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/add_advertise/add_advertise.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { AddCityComponent } from './add_city.component';\r\n// import {GooglePlaceModule} from 'ng2-google-place-autocomplete';\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\n\r\n@NgModule({\r\n  imports: [\r\n   CommonModule,BrowserModule,FormsModule, Ng2Bs3ModalModule,UiSwitchModule,FooterModule, TranslateModule\r\n  ],\r\n  declarations: [AddCityComponent]\r\n})\r\nexport class AddCityModule {}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/add_city/add_city.module.ts","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport {FormsModule} from '@angular/forms';\r\nimport {AddCountryComponent} from './add_country.component';\r\nimport {UiSwitchModule} from 'angular2-ui-switch';\r\nimport {TooltipModule} from \"ngx-tooltip\";\r\nimport {TranslateModule} from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n\r\n@NgModule({\r\n    imports: [\r\n        CommonModule, BrowserModule, FormsModule, FooterModule, UiSwitchModule, TooltipModule, TranslateModule\r\n    ],\r\n    declarations: [AddCountryComponent]\r\n})\r\n\r\nexport class AddCountryModule {}\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/add_country/add_country.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AddDeliveryComponent } from './add_delivery.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport {ImageCropperModule} from 'ng2-img-cropper';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,BrowserModule,FooterModule,FormsModule,Ng2Bs3ModalModule, ImageCropperModule, UiSwitchModule,TranslateModule\r\n  ],\r\n  declarations: [AddDeliveryComponent]\r\n})\r\nexport class AddDeliveryModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/add_delivery/add_delivery.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AddDetailComponent } from './add_detail.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport {TooltipModule} from \"ngx-tooltip\";\r\nimport { TranslateModule } from 'ng2-translate';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,BrowserModule,FormsModule, UiSwitchModule,TooltipModule,TranslateModule\r\n  ],\r\n  declarations: [AddDetailComponent]\r\n})\r\nexport class AddDetailModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/add_detail/add_detail.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AddDocumentComponent } from './add_document.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { TranslateModule } from 'ng2-translate';\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,BrowserModule,FormsModule, UiSwitchModule,TranslateModule\r\n  ],\r\n  declarations: [AddDocumentComponent]\r\n})\r\nexport class AddDocumentModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/add_document/add_document.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AddPromoCodeComponent } from './add_promo_code.component';\r\nimport {FormsModule} from '@angular/forms';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport {RouterModule} from \"@angular/router\";\r\nimport {Ng2Bs3ModalModule} from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\nimport { TranslateModule } from 'ng2-translate';\r\n\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule, BrowserModule,MyDatePickerModule, RouterModule, FormsModule, Ng2Bs3ModalModule,UiSwitchModule,TranslateModule\r\n  ],\r\n  declarations: [AddPromoCodeComponent]\r\n})\r\nexport class AddPromoCodeModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/add_promo_code/add_promo_code.module.ts","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { AddServiceComponent } from \"./add_service.component\";\r\nimport { BrowserModule } from \"@angular/platform-browser\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { UiSwitchModule } from \"angular2-ui-switch\";\r\nimport { TooltipModule } from \"ngx-tooltip\";\r\nimport { TranslateModule } from \"ng2-translate\";\r\nimport { Ng2Bs3ModalModule } from \"ng2-bs3-modal/ng2-bs3-modal\";\r\nimport { FooterModule } from \"../../../common/admin/footer/footer.module\";\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,\r\n    BrowserModule,\r\n    FormsModule,\r\n    FooterModule,\r\n    UiSwitchModule,\r\n    TooltipModule,\r\n    TranslateModule,\r\n    Ng2Bs3ModalModule,\r\n  ],\r\n  declarations: [AddServiceComponent],\r\n})\r\nexport class AddServiceModule {}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/add_service/add_service.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AddteamComponent } from './add_team.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { TranslateModule } from 'ng2-translate';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,BrowserModule,FormsModule, UiSwitchModule,TranslateModule\r\n  ],\r\n  declarations: [AddteamComponent]\r\n})\r\nexport class AddteamModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/add_team/add_team.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\n\r\nimport { AddVehicleComponent } from './add_vehicle.component';\r\n\r\nimport { FormsModule } from '@angular/forms';\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport {ImageCropperModule} from 'ng2-img-cropper';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,BrowserModule,FormsModule,FooterModule, UiSwitchModule,Ng2Bs3ModalModule, ImageCropperModule,TranslateModule\r\n  ],\r\n  declarations: [AddVehicleComponent]\r\n})\r\nexport class AddVehicleModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/add_vehicle/add_vehicle.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AdminComponent } from './admin.component';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { FormsModule } from '@angular/forms';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,RouterModule,DropdownModule,UiSwitchModule,FormsModule,FooterModule,BrowserModule,TranslateModule\r\n  ],\r\n  declarations: [AdminComponent]\r\n})\r\nexport class AdminModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/admin/admin.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AdminForgotPasswordComponent } from './admin_forgot_password.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { CustomFormsModule } from 'ng2-validation'\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,FormsModule,FooterModule,CustomFormsModule,RouterModule,TranslateModule\r\n \r\n  ],\r\n  declarations: [AdminForgotPasswordComponent]\r\n})\r\nexport class AdminForgotPasswordModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/admin_forgot_password/admin_forgot_password.module.ts","import {NgModule} from \"@angular/core\";\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport {CommonModule} from '@angular/common';\r\nimport {admin_loginComponent} from \"./admin_login.component\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport { TranslateModule } from 'ng2-translate';\r\n\r\n\r\n@NgModule({\r\n    declarations: [admin_loginComponent],\r\n    imports: [BrowserModule, CommonModule, FormsModule,RouterModule ,Ng2Bs3ModalModule,TranslateModule],\r\n})\r\n\r\nexport class admin_LoginModule {}\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/admin_login/admin_login.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AdminNewPasswordComponent } from './admin_new_password.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { CustomFormsModule } from 'ng2-validation'\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,FormsModule,CustomFormsModule,FooterModule,RouterModule,TranslateModule\r\n \r\n  ],\r\n  declarations: [AdminNewPasswordComponent]\r\n})\r\nexport class AdminNewPasswordModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/admin_new_password/admin_new_password.module.ts","export var ERROR_CODE = {\r\n  999: \"Token Expired.\",\r\n\r\n  601: \"Registration Failed.\",\r\n  602: \"Email Already Registered.\",\r\n  603: \"Mobile Number Already Registered.\",\r\n\r\n  501: \"Registration Failed.\",\r\n  502: \"Email Already Registered.\",\r\n  503: \"Mobile Number Already Registered.\",\r\n\r\n  401: \"Registration Failed.\",\r\n  402: \"Email Already Registered.\",\r\n  403: \"Mobile Number Already Registered.\",\r\n  426: \"Deliveryman Not Found\",\r\n  559: \"Pyment Remaining\",\r\n\r\n  661: \"Order Not Ready\",\r\n\r\n  611: \"Login Failed.\",\r\n  612: \"Email Not Registered.\",\r\n  613: \"Invalid Passowrd.\",\r\n  621: \"Update Failed.\",\r\n  623: \"Logout Failed.\",\r\n  631: \"Invalid Referral Code.\",\r\n  632: \"Referral Already Used.\",\r\n  633: \"Referral Process Failed.\",\r\n\r\n  1001: \"Document Add Failed.\",\r\n  994: \"Invalid Username Or Password.\",\r\n  832: \"Setting Update Failed.\",\r\n  996: \"Email Already Registered.\",\r\n  842: \"Delivery Add Failed.\",\r\n  844: \"Delivery Update Failed.\",\r\n\r\n  817: \"Wallet Request Cancel Failed.\",\r\n  818: \"Wallet Request Complete Failed.\",\r\n  819: \"Wallet Request Transfer Failed.\",\r\n  820: \"Wallet Request Accept Failed.\",\r\n\r\n  437: \"Please Upload Document First.\",\r\n  438: \"Add vehicle First.\",\r\n  864: \"Zone Already Assigned to Selected Store\",\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/admin_panel_error_message.ts","export var menu_title = {\r\n  dashboard: \"Dashboard\",\r\n  delivery_info: \"Delivery Info\",\r\n  orders: \"Orders\",\r\n  payments: \"Payments\",\r\n  admin: \"Admin\",\r\n  users: \"Users\",\r\n  providers: \"Deliverymans\",\r\n  stores: \"Stores\",\r\n  map_view: \"Map View\",\r\n  documents_and_promo: \"Documents & Promo\",\r\n  settings: \"Settings\",\r\n  templates: \"Templates\",\r\n  decompte: \"Decompte\",\r\n  analytics: \"Analytics\",\r\n};\r\nexport var sub_menu_title = {\r\n  create_team: \"Create Team\",\r\n  partner_odh: \"Partner Odh\",\r\n  dashboard: \"Dashboard\",\r\n  admin: \"Admin\",\r\n  preparation: \"Preparation\",\r\n  user: \"User\",\r\n  block_user: \"Block User\",\r\n  incomplete: \"Incomplete\",\r\n  order_track: \"Track Order\",\r\n  online_providers: \"Online\",\r\n  approved_providers: \"Approved\",\r\n  declined_providers: \"Unapproved\",\r\n  dispatch: \"Dispatch\",\r\n  create_order: \"Create Order\",\r\n  stores: \"Stores\",\r\n  declined_stores: \"Unapproved\",\r\n  business_off_stores: \"Business Off\",\r\n  linkphi_stores: \"Linkphi / opp.link\",\r\n  store_location: \"Store Location\",\r\n  provider_location: \"Deliveryman Location\",\r\n  provider_track: \"Deliveryman Track\",\r\n  delivery: \"Delivery\",\r\n  vehicle: \"Vehicle\",\r\n  country: \"Country\",\r\n  city: \"City\",\r\n  dispatch_setting: \"Dispatch Setting\",\r\n  deliveries_prices: \"Deliveries Prices\",\r\n  today_orders: \"Today orders\",\r\n  orders: \"Orders\",\r\n  deliveries: \"Deliveries\",\r\n  history: \"History\",\r\n  cancellation_reason: \"Order Cancel Reason\",\r\n  request_cancellation_reason: \"Cancelled Delivery\",\r\n  earning: \"Earning\",\r\n  order_earning: \"Order Earning\",\r\n  provider_weekly_earning: \"Deliveryman Weekly Earning\",\r\n  store_weekly_earning: \"Store Weekly Earning\",\r\n  admin_settings: \"Admin Settings\",\r\n  app_settings: \"App Settings\",\r\n  view_all_city: \"View All City\",\r\n  saas: \"SAAS\",\r\n\r\n  partner: \"Partner\",\r\n  hopper: \"Hopper\",\r\n  classmate: \"Classmate\",\r\n  store_report: \"Partner Report\",\r\n\r\n  promo_code: \"Promo Code\",\r\n  referral_detail: \"Referral Detail\",\r\n  wallet_history: \"Wallet History\",\r\n  wallet_request: \"Wallet Request\",\r\n  transaction_history: \"Transaction History\",\r\n  review: \"Review\",\r\n  ads: \"Ads\",\r\n  documents: \"Documents\",\r\n  payment_gateways: \"Payment Gateways\",\r\n  mail: \"Mail\",\r\n  sms: \"SMS\",\r\n  send_mass_sms: \"Send Mass SMS\",\r\n  send_mass_notification: \"Send Mass Notification\",\r\n  general_analytics: \"general informations\",\r\n  visit_order_analytics: \"visit and order analytics\",\r\n};\r\n\r\nexport var setting_tab_title = {\r\n  admin: \"Admin\",\r\n  logo: \"Logo\",\r\n  image_setting: \"Image Settings\",\r\n  app_settings: \"App Settings\",\r\n  other: \"Other\",\r\n  google_key_settings: \"Google Key Settings\",\r\n  app_update_settings: \"App Update Settings\",\r\n  ios_push_notification: \"iOS Push Notification\",\r\n};\r\n\r\nexport var tooltip_title = {\r\n  minimum_phone_number_length: \"Enter Minimum Phone No. Length\",\r\n  maximum_phone_number_length: \"Enter Maximum Phone No. Length\",\r\n  referral_bonus_to_user:\r\n    \"Please enter the amount of Referral bonus credit, User should get if his Referral code is used. Credit Currency will be default country currency.\",\r\n  referral_bonus_to_user_friend:\r\n    \"Please enter the amount of Referral bonus credit, User's friend should get. Credit Currency will be default country currency.\",\r\n  no_of_user_use_referral:\r\n    \"This number indicates maximum usage of user's referral code. If entered 2 then user's code will be used only 2 times by different friends.\",\r\n\r\n  referral_bonus_to_store:\r\n    \"Please enter the amount of Referral bonus credit, Store should get if his Referral code is used. Credit Currency will be default country currency.\",\r\n  referral_bonus_to_store_friend:\r\n    \"Please enter the amount of Referral bonus credit, Store's friend should get. Credit Currency will be default country currency.\",\r\n  no_of_store_use_referral:\r\n    \"This number indicates maximum usage of Store's referral code. If entered 2 then Store's code will be used only 2 times by different friends.\",\r\n\r\n  referral_bonus_to_provider:\r\n    \"Please enter the amount of Referral bonus credit, Deliveryman should get if his Referral code is used. Credit Currency will be default country currency.\",\r\n  referral_bonus_to_provider_friend:\r\n    \"Please enter the amount of Referral bonus credit, Deliveryman's friend should get. Credit Currency will be default country currency.\",\r\n  no_of_provider_use_referral:\r\n    \"This number indicates maximum usage of Deliveryman's referral code. If entered 2 then Deliveryman's code will be used only 2 times by different friends.\",\r\n\r\n  base_price_distance:\r\n    \"Select the value for free distance covered in base price. Eg. if selected 2 then distance price will not be charged till 2 km or miles.\",\r\n  surge_multiplier: \"Surge Multiplier\",\r\n  base_price:\r\n    \"Base price for this service type. Eg. $5 is the base price for SUV.\",\r\n  price_per_unit_distance: \"Price per km or mile for this service type.\",\r\n  price_per_unit_time: \"Price per unit time for this service type.\",\r\n  service_tax: \"Percentage of tax on the total invoice.\",\r\n  min_fare: \"Minimum fare.\",\r\n  cancellation_fee: \"This is the fees charged on cancellation of the Order.\",\r\n  set_price_for_zone_to_zone: \"Set fix delivery price for zone to zone.\",\r\n};\r\n\r\nexport var title = {\r\n  hubrise_order_id: \"Third Party Order ID\",\r\n  ubereats_email: \"Uber Eats Email\",\r\n  ubereats_password: \"Uber Eats Password\",\r\n  is_use_hop_deliveryman: \"Use Hop Deliveryman\",\r\n  churn_date: \"Churn Date\",\r\n  is_churn_store: \"Churn\",\r\n  tip_price: \"Tip Price\",\r\n  is_show_last_month_earning_in_store: \"Show Last Month Earning in Store Panel\",\r\n  is_delay_order_reward: \"Delay Order Reward\",\r\n  customer: \"customer\",\r\n  time_format: \"Time Format\",\r\n  order_pay_cashback_offer: \"Order Pay Cashback Offer\",\r\n  order_pay_tva: \"Tva\",\r\n  channel: \"Channel\",\r\n  hop: \"HOP\",\r\n  is_show_tips: \"Show Tips\",\r\n  whop: \"WHOP\",\r\n  delivery_offer_price: \"Delivery Offer Price\",\r\n  is_order_pay: \"Order Pay\",\r\n  orderpay_cash: \"Order Pay Cash\",\r\n  orderpay_card: \"Order Pay Card\",\r\n  hubrise_origins: \"Hubrise Origin\",\r\n  order_pay: \"Order Pay\",\r\n  order_pay_request: \"Order Pay Activation Request\",\r\n  language: \"Language\",\r\n  you_want_to_add_price_in_menu: \"You Want to Add Price in Menu\",\r\n  add_price_type: \"Add Price\",\r\n  is_fix_delivery_price: \"Fix Delivery Price\",\r\n  is_zone_delivery_price: \"Zone Wise Delivery Price\",\r\n  saas_subscription_charge_value: \"montant abo\",\r\n  saas_starting_fee: \"Starting Fee\",\r\n  type_of_order: \"Type Of Order\",\r\n  hop_delivery: \"hop helivery\",\r\n  pickup_cash: \"Pickup Cash\",\r\n  pickup_card: \"Pickup Card\",\r\n  deducted: \"Deducted\",\r\n  invoiced: \"Invoiced\",\r\n  no_of_store: \"No of Store\",\r\n  total_management_fees: \"Total Management Fees\",\r\n  total_hop_should_get: \"Total Hop Should Get\",\r\n  total_delivery_fees: \"Total Delivery Fees\",\r\n  odh: \"ODH\",\r\n  fixed: \"Fixed\",\r\n  variable: \"Variable\",\r\n  type_abonnement: \"Type Abonnement\",\r\n  hop_on_demand: \"hopper on demand\",\r\n  open_full_time: \"Ouvert 24h/24h\",\r\n  postal_code: \"Postal Code\",\r\n  is_top: \"Top\",\r\n  is_premium: \"Premium\",\r\n  vehicle: \"Vehicle\",\r\n  open: \"Ouvert\",\r\n  sunday: \"Dim\",\r\n  monday: \"Lu\",\r\n  tuesday: \"Ma\",\r\n  wednesday: \"Me\",\r\n  thursday: \"Je\",\r\n  friday: \"Ve\",\r\n  launch_date: \"Launch Date\",\r\n  is_accept_other_system_order: \"Accept Other System Order\",\r\n  is_auto_accept_other_system_order: \"Auto Accept Other System Order\",\r\n  is_apply_other_system_delivery_price:\r\n    \"Auto Apply Other System Delivery Price\",\r\n  saas_percentage_delivery_by_cash_for_store: \"Delivery pay by cash\",\r\n  saturday: \"Sa\",\r\n  store_open_time: \"Heure d'ouverture\",\r\n  store_close_time: \"Heure de fermeture\",\r\n  copy_store_time: \"Copy Store Time\",\r\n  copy_delivery_time: \"Copy Delivery Time\",\r\n  bag: \"Bag\",\r\n  tablet: \"Tablet\",\r\n  security_deposite_required: \"Security Deposite\",\r\n  bonus: \"Bonus\",\r\n  is_emergency: \"Emergency\",\r\n  service_fee: \"Service Fee\",\r\n  vehicle_charge: \"Vehicle Charge\",\r\n  is_store_auto_accept: \"Store Auto Accept After Min\",\r\n\r\n  total_revenue_order_odh: \"Total Revenue Orders ODH\",\r\n  total_amount_comission: \"Total Amount Comission\",\r\n  total_amount_delivery_fees: \"Total Amount Delivery Fees\",\r\n\r\n  is_smart_dispatch: \"Smart Dispatch\",\r\n  store_distance_diff: \"Store Distance Difference (km)\",\r\n  user_distance_diff: \"User Distance Difference (km)\",\r\n  ready_time_diff: \"Ready Time Difference (min)\",\r\n  delivery_time_diff: \"Delivery Time Difference (min)\",\r\n  order: \"Order\",\r\n\r\n  is_admin_profit: \"Admin Profit\",\r\n  admin_profit_distance: \"Admin Profit From Distance\",\r\n  admin_profit: \"Admin Profit\",\r\n  hopper_is_admin_profit: \"Admin Profit\",\r\n  hopper_admin_profit_distance: \"Admin Profit From Distance\",\r\n  hopper_admin_profit: \"Admin Profit\",\r\n\r\n  malus: \"Malus\",\r\n  total_gain: \"Gain Total Brut\",\r\n  total_completed_commande: \"Nombre de commande\",\r\n  total_panelties: \"Montant penalite\",\r\n  negative_blind_amount: \"Montant store negative\",\r\n  no_of_negative_blind: \"Nombre de store en negative\",\r\n  no_of_open_blind: \"Nombre de store ouvert\",\r\n  no_of_saas_blind: \"Nombre de store SAAS\",\r\n  order_rejected: \"commande refuse\",\r\n  total_saas_amount: \"Total montant SAAS\",\r\n  is_automatic_find_provider: \"Find Hopper Automatic\",\r\n  list_of_store: \"list of store\",\r\n  business_off_type: \"Closed by\",\r\n  business_off_date: \"Closed Date\",\r\n  call_to_store: \"Call to Store\",\r\n  hop_fee: \"Hop Fee\",\r\n  bike_charge: \"Bike Charge\",\r\n  scooter_charge: \"Scooter Charge\",\r\n  car_charge: \"Car Charge\",\r\n\r\n  total_order_analytics: \"Total Order\",\r\n  total_visit: \"Total Visit\",\r\n  total_visit_in_whop: \"total visit from whop\",\r\n  total_visit_in_web: \"total visit from web\",\r\n  total_visit_in_android: \"total visit from Android\",\r\n  total_visit_in_ios: \"total visit from IOS\",\r\n  total_order_in_hopper: \"total order from Hopper On Demand\",\r\n  total_checkout: \"Total Checkout\",\r\n  total_checkout_in_whop: \"total checkout from whop\",\r\n  total_checkout_in_web: \"total checkout from web\",\r\n  total_checkout_in_android: \"total checkout from Android\",\r\n  total_order_in_odh: \"total odh order\",\r\n  total_checkout_in_ios: \"total checkout from IOS\",\r\n  total_checkout_in_hopper: \"total checkout from Hopper On Demand\",\r\n  total_not_order: \"total not order from whop + web + apps\",\r\n  total_order_in_whop: \"total order from whop\",\r\n  total_order_in_web: \"total order from web\",\r\n  total_order_in_android: \"total order from Android\",\r\n  total_order_in_ios: \"total order from IOS\",\r\n  total_order_in_admin: \"total order from Admin\",\r\n  total_order_in_store: \"total order from Store\",\r\n  no_of_order: \"No. of Order\",\r\n  no_of_visit: \"No. of Visit\",\r\n  no_of_checkout: \"No. of checkout\",\r\n  today: \"Today\",\r\n  yesterday: \"Yesterday\",\r\n  current_month: \"Current Month\",\r\n  last_month: \"Last Month\",\r\n  custom: \"Custom\",\r\n\r\n  bank_account_holder_name: \"Titulaire de la carte\",\r\n  account_number: \"Numéro de compte\",\r\n  bank_id: \"Numéro de banque\",\r\n  account_id: \"Numéro de compte\",\r\n  date_of_birth: \"Date de naissance\",\r\n  last_transfer_date: \"Dernière date de transfert\",\r\n\r\n  store_owner: \"Owner Name\",\r\n  store_owner_phone: \"Owner Phone\",\r\n  store_owner_email: \"Owner Email\",\r\n  company_name: \"Company Name\",\r\n  company_address: \"Company Address\",\r\n  iban_bank_number: \"IBAN (Bank Number)\",\r\n  signature_date: \"Signature Date\",\r\n\r\n  listed_by_hopper_status: \"listed by hopper status\",\r\n  listed_by_ready_time: \"listed by ready time\",\r\n\r\n  delay_distance: \"Distance\",\r\n  delay_time: \"Time\",\r\n  is_delay_order: \"Delay Order\",\r\n\r\n  total_wallet: \"Total Wallet\",\r\n  total_amount_refunded: \"Total amount refunded\",\r\n  total_wallet_bought: \"Total wallet bought\",\r\n  total_wallet_added_user: \"Total wallet Added to User\",\r\n  total_wallet_removed_user: \"Total wallet removed from user\",\r\n\r\n  gain: \"Gain\",\r\n  note: \"Note\",\r\n  date_chez: \"Date chez hop\",\r\n  classment: \"Classment\",\r\n  gain_final: \"Gain final\",\r\n  no_of_bonus_provider: \"Nombre de hopper positive\",\r\n  no_of_malus_provider: \"Nombre de hopper negative\",\r\n  no_of_working_provider: \"Nombre de hopper travailler\",\r\n  negative_hopper_amount: \"montant hopper negative\",\r\n  positive_hopper_amount: \"montant hopper positive\",\r\n\r\n  montant_malus: \"Montant du malus\",\r\n  montant_bonus: \"Montant du bonus\",\r\n  motive: \"Motive\",\r\n  no_of_malus_store: \"Nombre de store negative\",\r\n  no_of_malus: \"Nombre de malus\",\r\n  total_malus: \"montant maalus\",\r\n  no_of_bonus_store: \"Nombre de store positive\",\r\n  no_of_bonus: \"Nombre de bonus\",\r\n  total_bonus: \"montant bonus\",\r\n\r\n  cash_ref_code: \"Cash Ref. Code\",\r\n  card_ref_code: \"Card Ref. Code\",\r\n  delivery_ref_code: \"Delivery Ref. Code\",\r\n  pickup_ref_code: \"Pickup Ref. Code\",\r\n  service_fee_ref_code: \"Service Ref. Code\",\r\n\r\n  is_busy: \"Busy\",\r\n  is_online: \"Online\",\r\n  store_delivery_id: \"Delivery Type\",\r\n  driver_current_position_to_store_postion: \"Deliveryman to Store Position\",\r\n  store_position_to_user_position: \"Store to User Position\",\r\n  store_preparation_time: \"Store Preparation Time\",\r\n  people: \"People\",\r\n  no_of_record: \"No. of record\",\r\n  referred_to: \"Referred to\",\r\n  payment_mode: \"Payment Mode\",\r\n  bonus_reason: \"Reason\",\r\n  bonus_no_of_month: \"no of month\",\r\n  bonus_amount: \"Bonus Amount\",\r\n  is_bonus_monthly: \"Monthly\",\r\n  bonus_start_month: \"which month\",\r\n  bonus_start_year: \"which year\",\r\n  invoice_hour: \"Hour\",\r\n  dispatcher: \"Dispatcher\",\r\n  saas: \"SAAS\",\r\n  details: \"Details\",\r\n  is_auto_transfer_for_store: \"Auto transfer for store\",\r\n  auto_transfer_day_for_store: \"Auto transfer day for store\",\r\n  is_auto_transfer_for_deliveryman: \"Auto transfer for deliveryman\",\r\n  auto_transfer_day_for_deliveryman: \"Auto transfer day for deliveryman\",\r\n  card: \"Card\",\r\n  is_promo_multiple_use: \"Multiple Use\",\r\n  cash: \"Cash\",\r\n  both: \"Both\",\r\n  promo_name: \"Promo Name\",\r\n  assigned_date: \"Assigned Date\",\r\n  to_store: \"To Store\",\r\n  to_deliveryman: \"To Deliveryman\",\r\n  to_user: \"To User\",\r\n  not_available: \"Not Available\",\r\n  cancellation_charge: \"Cancellation Charge\",\r\n  hopper: \"Hopper\",\r\n  min_amount: \"Min. Amount\",\r\n  max_amount: \"Max. Amount\",\r\n  subscription_amount: \"Sub. Amount\",\r\n  add_subscription_charge_setting: \"Add Subscription Charge\",\r\n  add_monthly_fee_setting: \"Add Monthly Fee\",\r\n\r\n  saas_business: \"SAAS Business\",\r\n  saas_percentage_delivery_for_store: \"Percentage SAAS\",\r\n  saas_percentage_pickup_by_card_for_store: \"Pick up pay by card\",\r\n  saas_percentage_pickup_by_cash_for_store: \"Pick up pay by cash\",\r\n  saas_percentage_order_pay_by_card_for_store: \"Order and pay by card\",\r\n  saas_percentage_order_pay_by_cash_for_store: \"Order and pay by cash\",\r\n  saas_subscription_charge_for_store: \"Montant fixe selon CA\",\r\n  saas_percentage_for_provider: \"Gain Percentage\",\r\n  saas_percentage_for_provider_from: \"Gain Percentage From\",\r\n  saas_subscription_charge_for_provider: \"Abonnement Monthly\",\r\n\r\n  commission_delivery: \"Commission WHOP/HOP Delivery\",\r\n  commission_pickup_card: \"Commission WHOP/HOP Pickup Card\",\r\n  commission_pickup_cash: \"commission WHOP/HOP Pickup Cash\",\r\n  commission_odh: \"commission ODH\",\r\n\r\n  total_new_order: \"new orders\",\r\n  total_not_accepteed_order: \"Not accepted\",\r\n  total_hopper_not_accepteed_order: \"No hopper accepted\",\r\n  total_time_changed_order: \"Time changement\",\r\n  total_partner_delay_order: \"partner delay\",\r\n  total_hopper_delay_order: \"hopper delay\",\r\n  total_in_progress_order: \"in progress\",\r\n  total_accepted_order: \"order in preparation\",\r\n  total_ready_order: \"order ready\",\r\n  total_in_delivery_order: \"order in delivery\",\r\n\r\n  time: \"Time\",\r\n  store_address: \"Store/Address\",\r\n  distance: \"Distance\",\r\n  name_user: \"Name User\",\r\n  name_hopper: \"Hopper Name\",\r\n\r\n  all: \"All\",\r\n  all_delivery: \"All Delivery\",\r\n  all_store: \"All Store\",\r\n  all_product: \"All Product\",\r\n  all_item: \"All Item\",\r\n\r\n  offline: \"Offline\",\r\n  online: \"Online\",\r\n  online_with_order: \"Online With Order\",\r\n  offline_with_order: \"Offline With Order\",\r\n\r\n  delivery_man_online: \"Deliveryman Online\",\r\n  delivery_man_online_with_order: \"Deliveryman Online With Order\",\r\n  delivery_man_offline: \"Deliveryman Offline\",\r\n  delivery_man_offline_with_order: \"Deliveryman Offline With Order\",\r\n\r\n  //open:\"Open\",\r\n  close: \"Close\",\r\n  business_off: \"Business Off\",\r\n\r\n  store_open: \"Store Open\",\r\n  store_close: \"Store Close\",\r\n  store_business_off: \"Store Business Off\",\r\n\r\n  provider_vehicle_name: \"Name\",\r\n  provider_vehicle_plate_no: \"Plate No.\",\r\n  provider_vehicle_model: \"Model\",\r\n  provider_vehicle_color: \"Color\",\r\n  provider_vehicle_year: \"Year\",\r\n  provider_vehicle_service_type: \"Service Type\",\r\n\r\n  registered_date: \"Registered Date\",\r\n\r\n  ///////////////for country //////////////////////////\r\n\r\n  country_name: \"Country Name\",\r\n  country_code: \"Short Code\",\r\n  country_code_2: \"Country Code\",\r\n  country_timezone: \"Country Timezone\",\r\n  currency_name: \"Currency\",\r\n  currency_code: \"Currency Code\",\r\n  currency_sign: \"Currency Sign\",\r\n  country_phone_code: \"Country Phone Code\",\r\n  phone_number_length: \"Phone Number Length\",\r\n  minimum_phone_number_length: \"Minimum Phone No. Length\",\r\n  maximum_phone_number_length: \"Maximum Phone No. Length\",\r\n\r\n  default_currency_rate: \"Default Currency Rate\",\r\n\r\n  referral_bonus_to_user: \"Referral Bonus to User\",\r\n  bonus_to_user_referral: \"Referral Bonus to User's Friend\",\r\n  no_of_user_use_referral: \"No of User For Referral\",\r\n\r\n  referral_bonus_to_store: \"Referral Bonus to Store\",\r\n  bonus_to_store_referral: \"Referral Bonus to Store's Friend\",\r\n  no_of_store_use_referral: \"No of User For Referral\",\r\n\r\n  referral_bonus_to_provider: \"Referral Bonus to Deliveryman\",\r\n  bonus_to_provider_referral: \"Referral Bonus to Deliveryman's Friend\",\r\n  no_of_provider_use_referral: \"No of User For Referral\",\r\n\r\n  is_business_country: \"Business In Country\",\r\n  is_distance_unit_mile: \"Distance Unit Mile\",\r\n  referral_for_user: \"Referral For User\",\r\n  referral_for_store: \"Referral For Store\",\r\n  referral_for_provider: \"Referral For Deliveryman\",\r\n\r\n  ///////////////for city //////////////////////////\r\n\r\n  city_code: \"City Code\",\r\n  country: \"Country\",\r\n  city_name: \"City Name\",\r\n  city_nick_name: \"Nick Name\",\r\n  is_cash_payment_mode: \"Cash Payment Mode\",\r\n  is_other_payment_mode: \"Card Payment Mode\",\r\n  is_promo_apply_for_cash: \"Promo Apply On Cash Payment\",\r\n  is_promo_apply_for_other: \"Promo Apply On Card Payment\",\r\n  promo_apply: \"Promo Apply\",\r\n  payment_gateway: \"Payment Gateway\",\r\n  city_radius: \"City Radius\",\r\n  city_lat: \"Latitude\",\r\n  city_lng: \"Longitude\",\r\n  is_business_city: \"Business In City\",\r\n  is_hopper_business: \"Hopper On Demand Business\",\r\n  is_hop_business: \"Hop Delivery Business\",\r\n  deliveries_in_city: \"Delivery In City\",\r\n  timezone: \"Timezone\",\r\n  km: \"Km\",\r\n  mile: \"Mi\",\r\n  miles: \"Mile\",\r\n  select_date: \"Select Date\",\r\n  select_country: \"Select Country\",\r\n  select_city: \"Select City\",\r\n  select_timezone: \"Select Timezone\",\r\n  languages: \"Languages\",\r\n  business: \"Business\",\r\n  decription: \"Decription\",\r\n  admin_profit_mode_on_delivery: \"Profit Mode\",\r\n  admin_profit_value_on_delivery: \"Admin Profit\",\r\n\r\n  admin_profit_description:\r\n    \"Admin will get order profit included tax, if store set any tax in settings\",\r\n\r\n  is_check_provider_wallet_amount_for_received_cash_request:\r\n    \"Check Wallet Amount For Cash\",\r\n  provider_min_wallet_amount_for_received_cash_request:\r\n    \"Deliveryman Min. Wallet Amount For Cash\",\r\n\r\n  provider_earning_add_in_wallet_using_cash:\r\n    \"Deliveryman Amount Add In Wallet By Cash Payment\",\r\n  provider_earning_add_in_wallet_using_other:\r\n    \"Deliveryman Amount Add In Wallet By Card Payment\",\r\n\r\n  store_earning_add_in_wallet_using_cash:\r\n    \"Store Amount Add In Wallet By Cash Payment\",\r\n  store_earning_add_in_wallet_using_other:\r\n    \"Store Amount Add In Wallet By Card Payment\",\r\n\r\n  // NEW\r\n  zone: \"Zone\",\r\n  zone_business: \"Zone Business\",\r\n  use_radius: \"Use Radius\",\r\n\r\n  ////////////////// for delivery /////////////////////\r\n\r\n  delivery_name: \"Delivery Name\",\r\n  description: \"Description\",\r\n  image_url: \"Image\",\r\n  image_url3: \"Image3\",\r\n  image_url2: \"Image2\",\r\n  image_url1: \"Image1\",\r\n  icon_url: \"Icon\",\r\n  map_pin_url: \"Map Pin\",\r\n  delivery_type: \"Delivery Type\",\r\n  is_business_delivery: \"Business In Delivery\",\r\n  famous_products_tags: \"Famous Products Tags\",\r\n\r\n  sequence_number: \"Sequence Number\",\r\n\r\n  /// payment //\r\n  name: \"Name\",\r\n  payment_key_id: \"Payment Main Key\",\r\n  payment_key: \"Payment Key\",\r\n  is_payment_visible: \"Payment Visible\",\r\n  is_using_card_details_payment: \"Using Card\",\r\n  payment_by_web_url: \"Payment Web URL\",\r\n  payment_by_login: \"Payment By Login\",\r\n\r\n  //////////// for vehicle ////////////////////////////\r\n\r\n  vehicle_name: \"Vehicle Name\",\r\n  map_pin_image_url: \"Map Pin\",\r\n  is_business_vehicle: \"Business In Vehicle\",\r\n\r\n  ////////// for service //////////////////////////\r\n\r\n  base_price_distance: \"Base Price Distance\",\r\n  base_price: \"Base Price\",\r\n  price_per_unit_distance: \"Price Per Unit Distance\",\r\n  price_per_unit_time: \"Price Per Unit Time\",\r\n  service_tax: \"Service Tax\",\r\n  surge_price: \"Surge Price\",\r\n  min_fare: \"Min Fare\",\r\n  cancellation_fee: \"Cancellation Fees\",\r\n\r\n  surge_hours: \"Surge Hour\",\r\n  is_surge_hours: \"Surge Hour\",\r\n  surge_multiplier: \"Surge Multiplier\",\r\n  surge_start_hour: \"Surge Start Hour\",\r\n  surge_end_hour: \"Surge End Hour\",\r\n  is_business_service: \"Business In Service\",\r\n  last_updated: \"Last Updated\",\r\n  created: \"Created\",\r\n\r\n  city_business: \"City Business\",\r\n  country_business: \"Country Business\",\r\n\r\n  admin_profit_mode: \"Admin Profit Mode\",\r\n  admin_profit_value: \"Admin Profit Value\",\r\n\r\n  specifications: \"Specifications\",\r\n  qty: \"Quantity\",\r\n  items: \"Items\",\r\n\r\n  spec: \"Spec.\",\r\n  // for provider\r\n\r\n  provider_id: \"ID\",\r\n  provider_profile: \"PROFILE\",\r\n  provider_name: \"NAME\",\r\n  provider_email: \"EMAIL\",\r\n  provider_phone: \"PHONE\",\r\n  provider_city: \"CITY\",\r\n  provider_service_type: \"CAR\",\r\n  provider_app_version: \"APP VERSION\",\r\n  provider_rate: \"RATE\",\r\n  action: \"ACTION\",\r\n\r\n  total_order: \"Total Order\",\r\n  accepted_order: \"Accepted Order\",\r\n  cancelled_order: \"Cancelled Order\",\r\n  completed_order: \"Completed Order\",\r\n\r\n  p_accepted_order: \"ACCEPTED\",\r\n  p_completed_order: \"COMPLETED\",\r\n  p_rejected_order: \"REJECTED\",\r\n\r\n  rejected_order: \"Rejected Order\",\r\n  total_item_sold: \"Total Item Sold\",\r\n  accepted_ratio: \"Accepted Ratio\",\r\n  rejected_ratio: \"Rejected Ratio\",\r\n  completed_ratio: \"Completed Ratio\",\r\n\r\n  delivery_time: \"Delivery Time\",\r\n  store_item_tax: \"Item Tax\",\r\n  is_business_store: \"Business\",\r\n  // store_open_time:\"Store Open Time\",\r\n  // store_close_time:\"Store Close Time\",\r\n  store_time: \"Store Time\",\r\n  free_delivery_for_above_order_price: \"Free Delivery Above Price\",\r\n  is_store_pay_delivery_fees: \"Store Pay Delivery Fee\",\r\n\r\n  // for admin\r\n  username: \"Name\",\r\n  password: \"Password\",\r\n  a_email: \"Email\",\r\n  id: \"ID\",\r\n\r\n  admin_title1: \"Welcome to\",\r\n  app_name: \"Hop\",\r\n  admin_title2: \"Admin Panel\",\r\n  signin_to_your_account: \"Sign in to your account\",\r\n  forgot_password: \"Forgot Password\",\r\n  admin_user: \"User\",\r\n  admin_password: \"Password\",\r\n\r\n  sort: \"Sort\",\r\n  search: \"Search\",\r\n  date_filter: \"Date Filter\",\r\n  filter: \"filter\",\r\n  ascending: \"Ascending\",\r\n  descending: \"Descending\",\r\n  filter_id: \"ID\",\r\n  filter_name: \"Name\",\r\n  filter_email: \"Email\",\r\n  filter_city: \"City\",\r\n  filter_delivery: \"Delivery\",\r\n  filter_user: \"User\",\r\n  filter_provider: \"Deliveryman\",\r\n  filter_store: \"Store\",\r\n  filter_country: \"Country\",\r\n  filter_comment: \"Comment\",\r\n  filter_phone: \"Phone\",\r\n\r\n  // edit provider\r\n  first_name: \"First Name\",\r\n  last_name: \"Last Name\",\r\n  address: \"Address\",\r\n  provider_image_url: \"Image\",\r\n  email: \"Email\",\r\n  bio: \"Bio\",\r\n  prov_city: \"City\",\r\n  provider_country: \"Country\",\r\n  provider_phone_number: \"Phone Number\",\r\n  new_password: \"New Password\",\r\n  confirm_password: \"Confirm Password\",\r\n  old_password: \"Old Password\",\r\n  latlong: \"LatLong\",\r\n  zipcode: \"Zipcode\",\r\n  car_model: \"Car Model\",\r\n  car_number: \"Car Number\",\r\n  vehicle_type: \"Vehicle Type\",\r\n  vehicle_number: \"Vehicle Number\",\r\n  vehicle_model: \"Vehicle Model\",\r\n  // referral_code:\"Referral Code\",\r\n  referred_by: \"Referred By\",\r\n  total_referrals: \"Total Referrals\",\r\n\r\n  document_uploaded: \"Document Uploaded\",\r\n  phone_number_verified: \"Phone Number Verified\",\r\n  email_verified: \"Email Verified\",\r\n  delivery: \"Delivery\",\r\n  //online:\"Online\",\r\n  active_for_job: \"Active For Job\",\r\n  approved: \"Approved\",\r\n\r\n  store_name: \"Nom du store\",\r\n  provider_names: \"Nom du hopper\",\r\n  website_url: \"Website Url\",\r\n  slogan: \"Slogan\",\r\n  famous_for: \"Famous For\",\r\n\r\n  device_type_android: \"Android\",\r\n  device_type_ios: \"Ios\",\r\n  device_type_both: \"Both\",\r\n  message: \"Message\",\r\n\r\n  // for user\r\n  wallet: \"Wallet\",\r\n  referral: \"Referral\",\r\n  app_version: \"App Version\",\r\n  device_type: \"Device Type\",\r\n\r\n  phone: \"Phone\",\r\n  bag_number: \"Bag Number\",\r\n  tablet_number: \"Tablet Number\",\r\n  rate: \"Rate\",\r\n  price_rating: \"Price Rating\",\r\n  is_document_uploaded: \"Document Uploaded\",\r\n  is_use_wallet: \"Use Wallet\",\r\n  is_in_delivery: \"In Delivery\",\r\n\r\n  // For Promo code\r\n\r\n  promo_code_name: \"Promo Code\",\r\n  promo_details: \"Promo Details\",\r\n  is_promo_required_uses: \"Promo Uses Required\",\r\n  is_approved: \"Approved\",\r\n  is_promo_expiry_date: \"Promo Expiry Date?\",\r\n  is_promo_have_minimum_amount_limit: \"Min. Amount Limit\",\r\n  is_promo_have_max_discount_limit: \"Max. Discount Limit\",\r\n  promo_code_apply_on_minimum_amount: \"Min. Amount\",\r\n  promo_code_max_discount_amount: \"Max.Discount Amount\",\r\n\r\n  admin_loyalty: \"Loyalty\",\r\n  promo_created_loyalty: \"Promo Created Loyalty\",\r\n  promo_for: \"Promo For\",\r\n  admin_loyalty_type: \"Loyalty Type\",\r\n  admin_delivery_loyalty_type: \"Delivery Loyalty Type\",\r\n\r\n  created_by: \"Created By\",\r\n  promo_code_value: \"Offer Value\",\r\n  promo_code_type: \"Offer Type\",\r\n  delivery_offer: \"Delivery Offer\",\r\n  promo_code_delivery_type: \"Delivery Offer Type\",\r\n  promo_code_delivery_value: \"Delivery Offe Value\",\r\n  promo_code_uses: \"Number Of Uses\",\r\n  promo_delivery: \"Delivery\",\r\n  promo_country: \"Country\",\r\n  promo_city: \"City\",\r\n  city: \"City\",\r\n  is_active: \"Visible\",\r\n  active: \"Active\",\r\n  is_expired: \"Expiry?\",\r\n  code_expiry: \"Expire Date\",\r\n  start_date: \"Start Date\",\r\n  end_date: \"End Date\",\r\n  promo_for_delivery_service: \"Promo For Delivery Service\",\r\n  uses: \"Uses\",\r\n  user_used: \"User Used\",\r\n  state: \"State\",\r\n  promo_is_expired: \"Is Expired\",\r\n  order_or_service: \"Order/Service\",\r\n\r\n  promo_apply_on: \"Promo Apply On\",\r\n\r\n  //FOR NEW PROMO STRING\r\n\r\n  is_promo_apply_on_completed_order: \"Apply after completion\",\r\n  promo_apply_after_completed_order: \"Minimum Complete Order\",\r\n  promo_recursion_type: \"Recursion Type\",\r\n  is_promo_have_date: \"Date\",\r\n  start_time: \"Start Time\",\r\n  end_time: \"End Time\",\r\n  months: \"Month\",\r\n  days: \"Day\",\r\n  weeks: \"Week\",\r\n\r\n  is_promo_have_item_count_limit: \"Minimum Item Limit\",\r\n  promo_code_apply_on_minimum_item_count: \"Minimum Item\",\r\n\r\n  promo_store: \"Store\",\r\n  promo_for_delivery: \"Deliveries\",\r\n  promo_delivery_service: \"Delivery Service\",\r\n  promo_product: \"Product\",\r\n  promo_item: \"Item\",\r\n\r\n  // for basic setting\r\n  admin_name: \"Name\",\r\n  admin_email: \"Email\",\r\n  admin_phone_number: \"Phone Number\",\r\n  admin_contact_email: \"Contact Email\",\r\n  admin_contact_phone_number: \"Contact Phone Number\",\r\n  admin_country: \"Country\",\r\n  admin_currency_code: \"Currency Code\",\r\n  admin_currency: \"Currency\",\r\n  admin_timezone: \"TimeZone\",\r\n  admin_panel_timezone: \"Admin Panel TimeZone\",\r\n\r\n  admin_logo: \"Logo\",\r\n  admin_title_icon: \"Title Icon\",\r\n  admin_mail_title_icon: \"Mail BackGround Image\",\r\n  admin_store_logo: \"Store Logo\",\r\n  admin_mail_logo: \"Mail Logo\",\r\n  admin_user_logo: \"User Logo\",\r\n\r\n  //for app settings\r\n  admin_provider_timeout: \"Deliveryman TimeOut\",\r\n  admin_store_timeout: \"Store TimeOut\",\r\n  admin_app_name: \"App Name\",\r\n  admin_default_search_radius: \"Default Search Radius\",\r\n  admin_scheduled_request_pre_start_minute:\r\n    \"Scheduled Request Pre Start Minutes\",\r\n  admin_number_of_try_for_scheduled_request:\r\n    \"Number Of Loop For Scheduled Request\",\r\n\r\n  // for google key settings\r\n  android_user_app_gcm_key: \"Android User App Gcm Key\",\r\n  android_provider_app_gcm_key: \"Android Deliveryman App Gcm Key\",\r\n  android_store_app_gcm_key: \"Android Store App Gcm Key\",\r\n  android_user_app_google_key: \"Android User App Google Key\",\r\n  android_provider_app_google_key: \"Android Deliveryman App Google Key\",\r\n  android_store_app_google_key: \"Android Store App Google Key\",\r\n  ios_user_app_google_key: \"IOS User App Google Key\",\r\n  ios_provider_app_google_key: \"IOS Deliveryman App Google Key\",\r\n  ios_store_app_google_key: \"IOS Store App Google Key\",\r\n  admin_panel_google_key: \"Admin Panel Google Key\",\r\n  store_panel_google_key: \"Store Panel Google Key\",\r\n  branch_io_key: \"Branch Io Key\",\r\n\r\n  // other switch\r\n  login_by_social: \"Social Login\",\r\n  use_referral: \"Use Referral\",\r\n  verify_email: \"Verify Email\",\r\n  verify_phone: \"Verify Phone\",\r\n  upload_documents: \"Upload Documents\",\r\n  login_by_email: \"Login By Email\",\r\n  login_by_phone: \"Login By Phone\",\r\n  profile_picture_required: \"Profile Picture\",\r\n  show_optional_field: \"Show Optional Field\",\r\n\r\n  earning_add_in_wallet_using_cash: \"Amount Add In Wallet By Cash Payment\",\r\n  earning_add_in_wallet_using_other: \"Amount Add In Wallet By Card Payment\",\r\n\r\n  email_id_required: \"Email Required\",\r\n  phone_required: \"Phone Required\",\r\n\r\n  sms_notification: \"SMS Notification\",\r\n  mail_notification: \"Email Notification\",\r\n  push_notification: \"Push Notification\",\r\n\r\n  pickup_delivery_confirmation_code: \"Pickup Delivery Confirmation Code\",\r\n  complete_delivery_confirmation_code: \"Complete Delivery Confirmation Code\",\r\n\r\n  // for app Update setting\r\n  version_code: \"App Version\",\r\n  open_update_dialog: \"Open Update Dialog\",\r\n  force_update: \"Force Update\",\r\n  //for  ios push notification setting\r\n\r\n  certificate_mode: \"Certificate Mode\",\r\n  push_certificate: \"Push Certificate\",\r\n  push_key_file: \"Push Key File\",\r\n  passprase: \"Passprase\",\r\n  sandbox_mode: \"Sandbox\",\r\n  production_mode: \"Production\",\r\n\r\n  user_type: \"User\",\r\n  provider_type: \"Deliveryman\",\r\n  store_type: \"Store\",\r\n  provider_vehicle_type: \"Deliveryman Vehicle\",\r\n\r\n  // for document\r\n  document_type: \"Type\",\r\n  is_show: \"Visible\",\r\n  is_mandatory: \"Mandatory\",\r\n  is_expired_date: \"Expire Date\",\r\n  is_unique_code: \"Unique Code\",\r\n  document_name: \"Name\",\r\n  option: \"Option\",\r\n  expired_date: \"Expire Date\",\r\n  unique_code: \"Code\",\r\n\r\n  no_expire_date: \"No Expiry Date\",\r\n\r\n  item_note_here: \"Item Note\",\r\n\r\n  //for sms\r\n  sms_unique_title: \"SMS Unique Title\",\r\n  select_sms_unique_title: \"Select SMS Unique Title\",\r\n  is_send: \"Send\",\r\n  is_odh_only: \"Odh Only\",\r\n\r\n  saas_subscription_charge_tva: \"Abonnement Monthly TVA\",\r\n\r\n  //for email\r\n  email_unique_title: \"Email Unique Title\",\r\n  email_title: \"Email Title\",\r\n  email_admin_info: \"Email Admin Info\",\r\n  email_content: \"Email Content\",\r\n\r\n  //for add wallet\r\n  amount: \"Amount\",\r\n\r\n  transfer_status: \"Transfer Status\",\r\n  transfered_by: \"Transfered By\",\r\n  transfered_by_admin: \"Admin\",\r\n  transfer: \"Transfer\",\r\n  not_transfer: \"Not Transfer\",\r\n\r\n  // for admin sms\r\n  content: \"Write SMS Content\",\r\n  notification_content: \"Write Notification Content\",\r\n\r\n  // For Provider Weekly Earning\r\n  admin_earn: \"Admin Earn\",\r\n  total_orders: \"Total Orders\",\r\n  provider_earn: \"Deliveryman Earn\",\r\n  pay_to_provider: \"Pay To Deliveryman\",\r\n  pay_to_deliveryman: \"Pay To Deliveryman\",\r\n  ID: \"ID\",\r\n  //provider:\"Provider\",\r\n  acception_ratio: \"Acception Ratio\",\r\n  have_case: \"Have Cash\",\r\n  pay_provider: \"Pay Deliveryman\",\r\n  paid: \"Paid\",\r\n  remaining_to_pay: \"Remaining to Pay\",\r\n  currency: \"Currency\",\r\n  view_week_statement: \"View Week Statement\",\r\n  pay: \"Pay\",\r\n\r\n  cancelled_by: \"Cancelled By\",\r\n  cancellation_reason: \"Cancellation Reason\",\r\n\r\n  // For Store Weekly Earning\r\n  store_earn: \"Store Earn\",\r\n  pay_to_store: \"Pay To Store\",\r\n  //store:\"Store\",\r\n  no_of_orders: \"Nomber de commande\",\r\n  no_of_orders_hop: \"Number Delivery of Orders WHOP/HOP\",\r\n  no_of_orders_pickup: \"Number Pickup of Orders WHOP/HOP\",\r\n  no_of_orders_odh: \"Number of ODH orders\",\r\n  no_of_orders_total: \"Total Orders\",\r\n\r\n  delivery_hop: \"GMV Delivery WHOP/HOP\",\r\n  pickup_hop: \"GMV Pickup WHOP/HOP\",\r\n  delivery_odh: \"GMV ODH\",\r\n  delivery1: \"GMW delivery\",\r\n  total_gmv: \"Total GMV\",\r\n\r\n  gestion_delivery: \"TOTAL Revenue delivery fee\",\r\n  total_delivery_price_hop: \"TOTAL Revenue delivery fees hop + whop\",\r\n  total_delivery_price_odh: \"TOTAL Revenue delivery fees odh\",\r\n  total_provider_profit_on_store: \"frais de hoppers WHOP/HOP\",\r\n  pickup1: \"pickup GMV WHOP/HOP\",\r\n  promo: \"Promo\",\r\n  store_have_payment: \"Store Have Payment\",\r\n  pay_store: \"Pay Store\",\r\n\r\n  // Order Earnig\r\n  total: \"Total\",\r\n  completed_at: \"Completed At\",\r\n  user: \"User\",\r\n  provider: \"Deliveryman\",\r\n  store: \"Store\",\r\n  admin_earning: \"Admin Earning\",\r\n  provider_earning: \"Deliveryman Earning\",\r\n  deliveries_payment: \"Deliveries Payment\",\r\n\r\n  //history\r\n  status: \"Status\",\r\n  order_type: \"Order Type\",\r\n  asap: \"ASAP\",\r\n  schedule: \"preorder\",\r\n  payment_by: \"Payment By\",\r\n  date: \"Date\",\r\n  delivery_at: \"Delivery At\",\r\n  yes: \"YES\",\r\n  no: \"NO\",\r\n  store_bear_delivery_fee: \"Store bear delivery fee?\",\r\n  deliveryman_paid_order_cash_to_store: \"Deliveryman paid order cash to store?\",\r\n  sattlement_with_store: \"Sattlement with store\",\r\n  sattlement_with_deliveryman: \"Sattlement with deliveryman\",\r\n\r\n  payment_status: \"Payment Status\",\r\n\r\n  //wallet history\r\n  type: \"Type\",\r\n  wallet_amount: \"Wallet Amount\",\r\n  add_cut: \"Add/Cut\",\r\n  from_where: \"From Where?\",\r\n\r\n  // order\r\n\r\n  order_start_at: \"Start At\",\r\n\r\n  // earning\r\n  earning_user_total: \"User Total\",\r\n  earning_admin_total: \"Admin Total\",\r\n  earning_store_total: \"Store Total\",\r\n  earning_provider_total: \"Deliveryman Total\",\r\n\r\n  earning_paid: \"Paid\",\r\n  earning_card: \"Card\",\r\n  earning_cash: \"Cash\",\r\n  earning_wallet: \"Wallet\",\r\n  earning_get_refferal: \"Referral Credit\",\r\n  earning_fees: \"Fees\",\r\n  earning_sell: \"Sell\",\r\n  earning_provider_paid_order: \"Deliveryman Paid Order\",\r\n  //earning_store_have_payment:\"Store Have Payment\",\r\n\r\n  earning_orders: \"Order\",\r\n  earning_completed: \"Completed\",\r\n  earning_cancelled: \"Cancelled\",\r\n  earning_delivery_earn: \"Delivery Earn\",\r\n  earning_order_earn: \"Order Earn\",\r\n  earning_admin_earn: \"Admin Earn\",\r\n\r\n  earning_order_price: \"Order Price\",\r\n  earning_promo: \"Promo\",\r\n  earning_total: \"Total\",\r\n  earning_cash_card: \"Cash/Card\",\r\n\r\n  earning_other_payment: \"Card Payment\",\r\n  earning_delivery_price: \"Delivery Price\",\r\n  earning_no_of_items: \"No. Of Items\",\r\n\r\n  earning_provider_fees: \"Deliveryman Fees\",\r\n  //earning_provider_paid_order:\"Provider Paid Order\",\r\n  earning_provider_have_cash: \"Deliveryman Have Cash\",\r\n\r\n  earning_pay_provider: \"Pay Deliveryman\",\r\n  earning_store_fees: \"Store Fees\",\r\n  earning_store_paid_delivery_fees: \"Store Paid Delivery Fees\",\r\n  earning_store_have_payment: \"Store Have Payment\",\r\n  earning_pay_store: \"Pay Store\",\r\n  earning_cancellation_fees: \"Cancellation Fees\",\r\n  earning_refund_amount: \"Refund Amount\",\r\n\r\n  provider_income_set_in_wallet: \"Deliveryman Set Wallet\",\r\n  store_income_set_in_wallet: \"Store Set Wallet\",\r\n\r\n  total_wallet_income_set_in_cash_order: \"Deduct From Wallet\",\r\n  total_wallet_income_set_in_other_order: \"Added In Wallet\",\r\n\r\n  pws_total_provider_have_cash_payment_on_hand: \"CASH ON HAND\",\r\n  pws_total_wallet_income_set_in_cash_order: \"DEDUCT FROM WALLET\",\r\n  pws_total_wallet_income_set_in_other_order: \"ADDED IN WALLET\",\r\n\r\n  order_id: \"Order ID\",\r\n  user_id: \"User ID\",\r\n  request_id: \"Request ID\",\r\n  earning_provider_id: \"Deliveryman ID\",\r\n  store_id: \"Store ID\",\r\n  hopper_id: \"Hopper ID\",\r\n  unique_id: \"Unique ID\",\r\n  user_email: \"User Email\",\r\n  order_fee: \"Order Fees\",\r\n  delivery_fee: \"Delivery Fees\",\r\n  promo_payment: \"Promo Payment\",\r\n\r\n  total_completed_orders: \"Total Completed Orders\",\r\n  admin_earn_in_wallet: \"Admin Earn In Wallet\",\r\n  admin_earn_in_cash: \"Admin Earn In Cash\",\r\n  admin_earn_in_other: \"Admin Earn In Card\",\r\n  total_order_amount: \"Total Order Amount\",\r\n\r\n  invoice_number: \"INVOICE NO.\",\r\n  invoice_date: \"DATE\",\r\n  order_payment: \"ORDER PAYMENT\",\r\n  delivery_payment: \"DELIVERY PAYMENT\",\r\n  user_payment: \"USER PAYMENT\",\r\n\r\n  order_detail_name: \"Name\",\r\n  order_detail_email: \"Email\",\r\n  order_detail_address: \"Address\",\r\n  order_detail_vehicle: \"Vehicle\",\r\n  order_detail_phone: \"Phone\",\r\n\r\n  price: \"Price\",\r\n  item: \"Item\",\r\n\r\n  total_time: \"Total Time\",\r\n  total_item: \"Total Items\",\r\n\r\n  delivery_fees: \"DELIVERY FEES\",\r\n  //base_price:\"Base Price\",\r\n  distance_price: \"Distance Price\",\r\n  time_price: \"Time Price\",\r\n  service_price: \"SERVICE PRICE\",\r\n  tax_price: \"Tax Price\",\r\n  //surge_price:\"Surge Price\",\r\n  delivery_price: \"Delivery Price\",\r\n  promo_bonus: \"Promo Bonus\",\r\n  total_delivery_price: \"TOTAL DELIVERY PRICE\",\r\n  pickup: \"Pickup\",\r\n  deliveryman: \"Deliveryman\",\r\n  distance_user_to_store: \"User to Store\",\r\n  sms: \"Sms\",\r\n\r\n  order_earning_total: \"TOTAL\",\r\n  quantity: \"QUANTITY\",\r\n  order_earning_price: \"PRICE\",\r\n  cart: \"CART\",\r\n\r\n  order_fees: \"ORDER FEES\",\r\n  cart_price: \"Cart Price\",\r\n  store_tax_price: \"Tax Price\",\r\n  order_price: \"Order Price\",\r\n  total_order_price: \"TOTAL ORDER PRICE\",\r\n\r\n  wallet_payment: \"Wallet\",\r\n  cash_payment: \"Cash\",\r\n  other_payment: \"Card\",\r\n\r\n  store_have_service_payment: \"Store Have Service Payment\",\r\n  store_have_order_payment: \"Store Have Order Payment\",\r\n  store_profit: \"Store Profit\",\r\n  profit: \"Profit\",\r\n  earning_order_payment: \"Order Payment\",\r\n\r\n  deliveryman_earn: \"DELIVERYMAN EARN\",\r\n\r\n  have_service_amount: \"Have Service Amount\",\r\n  paid_order_payment: \"Paid Order Payment\",\r\n  deliveryman_profit: \"Deliveryman Profit\",\r\n\r\n  order_earning_admin_earn: \"ADMIN EARN\",\r\n  in_admin_currency: \"In Admin Currency\",\r\n\r\n  admin_profit_on_store: \"Admin Order Profit\",\r\n  admin_profit_on_delivery: \"Admin Delivery Profit\",\r\n  convert_rate: \"Convert Rate\",\r\n\r\n  //referral\r\n  referral_name: \"Name\",\r\n  total_referred: \"Total Referred\",\r\n  referral_code: \"Referral Code\",\r\n  referred: \"Referred\",\r\n  referral_user: \"Referral User\",\r\n\r\n  rejected: \"Rejected\",\r\n  order_deliveryman_earn: \"Deliveryman Earn\",\r\n\r\n  personal_detail: \"Personal Detail\",\r\n  offer: \"Offer\",\r\n  comment: \"Comment\",\r\n  deliveryman_income: \"Deliveryman Income\",\r\n  store_income: \"Store Income\",\r\n\r\n  //provider weekly statement\r\n  pws_provider_earning: \"Deliveryman EARNING\",\r\n  pws_paid: \"PAID\",\r\n  pws_remining_to_pay: \"REMAINING TO PAY\",\r\n  pws_total_earning: \"TOTAL EARNINGS\",\r\n  pws_paid_order_amount: \"PAID ORDER AMOUNT\",\r\n  pws_cash_amount: \"CASH AMOUNT\",\r\n\r\n  pws_service_price: \"Service Price\",\r\n  pws_tax_price: \"Tax Price\",\r\n  pws_surge_price: \"Surge Price\",\r\n  pws_delivery_price: \"Delivery Price\",\r\n  pws_deliveryman_profit: \"Deliveryman Profit\",\r\n  pws_wallet: \"Wallet\",\r\n\r\n  pws_total_online_time: \"Total Online Time\",\r\n  pws_total_deliveries: \"Total Deliveries\",\r\n  pws_completed_deliveries: \"Completed Deliveries\",\r\n  pws_completed_ratio: \"Completed Ratio\",\r\n  pws_job_time: \"Job Time\",\r\n  pws_cancelled: \"Cancelled\",\r\n  pws_accepted: \"Accepted\",\r\n  pws_accepted_ratio: \"Accepeted Ratio\",\r\n  pws_not_answered: \"Not Answered\",\r\n  pws_cancelled_ratio: \"Cancelled Ratio\",\r\n  pws_rejected: \"Rejected\",\r\n  pws_rejection_ratio: \"Rejected Ratio\",\r\n\r\n  pws_date: \"Date\",\r\n  pws_total: \"Total\",\r\n  pws_delivery: \"Delivery\",\r\n  pws_profit: \"Profit\",\r\n  pws_paid_order: \"Paid Order\",\r\n  pws_cash: \"Cash\",\r\n  pws_earn: \"Earn\",\r\n\r\n  pws_paid_in_wallet: \"PAID IN WALLET\",\r\n\r\n  mail_configuration_email: \"Email\",\r\n  mail_configuration_password: \"Password\",\r\n\r\n  sms_configuration_auth_id: \"Auth ID\",\r\n  sms_auth_token: \"Auth Token\",\r\n  sms_number: \"Number\",\r\n  sms_gateway_name: \"SMS Gateway\",\r\n\r\n  //store weekly statement\r\n  sws_store_earning: \"STORE EARNING\",\r\n  sws_paid: \"PAID\",\r\n  sws_remining_to_pay: \"REMAINING TO PAY\",\r\n  sws_total_earning: \"TOTAL EARNINGS\",\r\n  sws_received_order_amount: \"RECEIVED ORDER AMOUNT\",\r\n  sws_paid_service_fees: \"PAID SERVICE FEES\",\r\n  sws_paid_in_wallet: \"PAID IN WALLET\",\r\n\r\n  sws_date: \"Date\",\r\n  sws_total: \"Total\",\r\n  sws_order: \"Order\",\r\n  sws_delivery: \"Delivery\",\r\n  sws_profit: \"Profit\",\r\n  sws_delivery_paid: \"Delivery Paid\",\r\n  sws_received_order_payment: \"Received Order Payment\",\r\n  sws_earn: \"Earn\",\r\n\r\n  sws_total_order: \"Total Order\",\r\n  sws_completed_order: \"Completed Order\",\r\n  sws_completed_ratio: \"Completed Ratio\",\r\n  sws_total_item_sold: \"Total Item Sold\",\r\n  sws_accepted: \"Accepted\",\r\n  sws_accepted_ratio: \"Accepeted Ratio\",\r\n  sws_rejected_cancelled: \"Rejected/Cancelled\",\r\n  sws_rejection_cancelled_ratio: \"Rejected Ratio/Cancelled Ratio\",\r\n\r\n  sws_item_price: \"Item Price\",\r\n  sws_tax_price: \"Tax Price\",\r\n  sws_order_price: \"Order Price\",\r\n  sws_store_profit: \"Store Profit\",\r\n  sws_wallet: \"Wallet\",\r\n\r\n  //review\r\n\r\n  review_id: \"Order ID\",\r\n  review_date: \"Date\",\r\n  review_user: \"User\",\r\n  review_provider: \"Deliveryman\",\r\n  review_store: \"Store\",\r\n  review_order_id: \"ID\",\r\n  review_comment: \"Comment\",\r\n  review_like: \"Like\",\r\n  review_dislike: \"Dislike\",\r\n  review: \"Review\",\r\n  review_read_more: \"Read\",\r\n\r\n  user_rating_to_provider: \"Deliveryman\",\r\n  user_rating_to_store: \"Store\",\r\n  provider_rating_to_user: \"User\",\r\n  provider_rating_to_store: \"Store\",\r\n  store_rating_to_provider: \"Deliveryman\",\r\n  store_rating_to_user: \"User\",\r\n\r\n  user_review_to_provider: \"User To Deliveryman\",\r\n  user_review_to_store: \"User To Store\",\r\n  provider_review_to_user: \"Deliveryman To User\",\r\n  provider_review_to_store: \"Deliveryman To Store\",\r\n  store_review_to_provider: \"Store To Deliveryman\",\r\n  store_review_to_user: \"Store To User\",\r\n\r\n  //payment gateway\r\n  payment_gateway_name: \"Name\",\r\n  payment_gateway_description: \"Description\",\r\n  payment_gateway_payment_key_id: \"Payment Main key\",\r\n  payment_gateway_payment_key: \"Payment key\",\r\n  payment_gateway_payment_key1: \"Payment key1\",\r\n  payment_gateway_payment_key2: \"Payment key2\",\r\n  payment_gateway_payment_key3: \"Payment key3\",\r\n\r\n  payment_gateway_is_using_card_details: \"Using Card Detail\",\r\n  payment_gateway_is_payment_by_web_url: \"Payment By Web URL\",\r\n  payment_gateway_is_payment_by_login: \"Payment By Login\",\r\n  payment_gateway_is_payment_visible: \"Payment Gateway Visible\",\r\n\r\n  bank_name: \"Bank Name\",\r\n  bank_branch: \"Bank Branch\",\r\n  bank_account_number: \"Bank Account Number\",\r\n  // bank_account_holder_name: \"Bank Account Holder\",\r\n  bank_beneficiary_address: \"Bank Beneficiary Address\",\r\n  bank_unique_code: \"Bank Unique Code\",\r\n  bank_swift_code: \"Bank Swift Code\",\r\n\r\n  admin_title: \"Admin\",\r\n  sub_admin_title: \"Sub Admin\",\r\n  // for Ads\r\n\r\n  ads_type: \"Ads Type\",\r\n  is_ads_visible: \"Visible\",\r\n  ads_for: \"Ads For\",\r\n  ads_detail: \"Ads Detail\",\r\n\r\n  ads_visible: \"Ads Visible\",\r\n\r\n  image_for_banner: \"Banner Image\",\r\n  image_for_fullscreen: \"Fullscreen Image\",\r\n  is_visible: \"Visible\",\r\n  visible_store: \"Visible Store In User App\",\r\n  website: \"Website\",\r\n  ads_view_type: \"Ads Type\",\r\n\r\n  ads_approved: \"APPROVED\",\r\n  ads_block: \"BLOCK\",\r\n\r\n  general: \"General\",\r\n  for_delivery: \"For Delivery\",\r\n  banner: \"Banner\",\r\n  fullscreen: \"Fullscreen\",\r\n\r\n  delivery_list: \"Delivery List\",\r\n  store_list: \"Store List\",\r\n  in_store: \"In Store\",\r\n\r\n  approve_by_admin: \"Approve By Admin\",\r\n  expiry_date: \"Expiry\",\r\n  redirect_to_store: \"Redirect To Store?\",\r\n\r\n  // For wallet request\r\n  wallet_request_id: \"ID\",\r\n  wallet_request_type: \"Type\",\r\n  wallet_request_date: \"Date\",\r\n  wallet_request_currency: \"Currency\",\r\n  wallet_request_wallet: \"Wallet\",\r\n  wallet_request_amount: \"Request Amount\",\r\n  wallet_request_description: \"Description\",\r\n  wallet_request_status: \"Status\",\r\n\r\n  ratio_should_be: \"Ratio Should Be\",\r\n  min_width: \"Min Width\",\r\n  max_width: \"Max Width\",\r\n  min_height: \"Min Height\",\r\n  max_height: \"Max Height\",\r\n  min: \"Minimum\",\r\n  max: \"Maximum\",\r\n  minute: \"Min\",\r\n\r\n  delivery_image_size_error: \"Image Size Not Proper\",\r\n  delivery_image_ratio_error: \"Image Ratio Not Proper\",\r\n  delivery_image_extension_error: \"Image Extension Not Proper\",\r\n\r\n  vehicle_image_size_error: \"Image Size Not Proper\",\r\n  vehicle_image_ratio_error: \"Image Ratio Not Proper\",\r\n  vehicle_image_extension_error: \"Image Extension Not Proper\",\r\n\r\n  ads_image_size_error: \"Image Size Not Proper\",\r\n  ads_image_ratio_error: \"Image Ratio Not Proper\",\r\n  ads_image_extension_error: \"Image Extension Not Proper\",\r\n\r\n  total_transferred_amount: \"Total Transferred Amount\",\r\n  paid_service_fee: \"Paid Service Fee\",\r\n  no_of_item: \"No Of Item\",\r\n  total_cart_price: \"Total Cart Price\",\r\n  total_store_income: \"Total Store Income\",\r\n  received_order_amount: \"Received Order Amount\",\r\n  deduct_from_wallet: \"Deduct from wallet\",\r\n  added_in_wallet: \"Added in wallet\",\r\n  total_earnings: \"Total Earnings\",\r\n  paid_in_wallet: \"PAID IN WALLET\",\r\n  // delivery_time: 'Delivery Time',\r\n\r\n  reviewed_by: \"Reviewed by\",\r\n  reviewed_for: \"Reviewed for\",\r\n  icon_image_note: \"Upload image size within width x height ( \",\r\n  image_note1: \"Upload image size within width x height (min \",\r\n  image_note2: \" and max \",\r\n  image_note3: \"Image ratio should be \",\r\n  image_note4: \" and upload only \",\r\n  image_note5: \" file\",\r\n\r\n  note_for_image: \"Image Note\",\r\n  note_for_image1: \"Image1 Note\",\r\n  note_for_image2: \"Image2 Note\",\r\n  note_for_image3: \"Image3 Note\",\r\n  note_for_map_pin: \"Map Pin Note\",\r\n  note_for_icon: \"Icon Note\",\r\n\r\n  // Dashboard\r\n  dashboard_user: \"Users\",\r\n  dashboard_store: \"Store\",\r\n  dashboard_deliveryman: \"Deliveryman\",\r\n  dashboard_country: \"Country\",\r\n  dashboard_city: \"City\",\r\n  dashboard_orders: \"Orders\",\r\n  dashboard_cancelled: \"Cancelled\",\r\n  dashboard_deliveries: \"Deliveries\",\r\n  dashboard_item_sold: \"Item Sold\",\r\n  dashboard_completed: \"Completed\",\r\n  dashboard_total: \"Total\",\r\n  dashboard_wallet: \"Wallet\",\r\n  dashboard_other: \"Card\",\r\n  dashboard_promo: \"Promo\",\r\n  dashboard_cash: \"Cash\",\r\n  dashboard_total_payments: \"Total Payments\",\r\n  dashboard_admin_earn: \"Admin Earn\",\r\n  dashboard_order_payments: \"Order Payments\",\r\n  dashboard_store_earn: \"Store Earn\",\r\n  dashboard_delivery_payments: \"Delivery Payments\",\r\n  dashboard_deliveryman_earn: \"Deliveryman Earn\",\r\n\r\n  completed: \"Completed\",\r\n  remaining: \"Remaining\",\r\n  delivery_address: \"Address of Delivery\",\r\n\r\n  average_hopper_earning_per_delivery_time_hour:\r\n    \"average earning for hopper / delivery time in 1 hour\",\r\n  average_order_per_day: \"average number order / day\",\r\n  average_order_per_day_per_hopper: \"average number order / day/ hopper\",\r\n  average_hopper_earning_per_order: \"average earning per order\",\r\n  average_hopper_earning_per_delivery_fee: \"average earning per delivery fees\",\r\n  average_hopper_earning_comission: \"average earning per commission\",\r\n  // total_order: 'total order',\r\n  total_new_user_order: \"total order from new client\",\r\n  total_old_user_order: \"total order from old client\",\r\n  average_time_for_delivery: \"average time for delivery\",\r\n  average_distance_for_delivery: \"the average km to deliver\",\r\n  average_amount_spend_user: \"average amount spent user\",\r\n  total_delivery_time_under_15: \"% delivery time under 15 min\",\r\n  total_delivery_time_under_30: \"% delivery time under 30 min\",\r\n  total_delivery_time_under_45: \"% delivery time under 45 min\",\r\n  total_delivery_time_under_60: \"% delivery time under 60 min\",\r\n  total_delivery_time_over_60: \"% delivery time over 60 min\",\r\n\r\n  average_time_for_preparation: \"average time for preparation\",\r\n  total_preparation_time_under_15: \"% preparation time under 15 min\",\r\n  total_preparation_time_under_30: \"% preparation time under 30 min\",\r\n  total_preparation_time_under_45: \"% preparation time under 45 min\",\r\n  total_preparation_time_under_60: \"% preparation time under 60 min\",\r\n  total_preparation_time_over_60: \"% preparation time over 60 min\",\r\n\r\n  total_advance_delivered_order: \"% orders delivered on advance \",\r\n  total_advance_delivered_on_time: \"% orders delivered on time \",\r\n  total_advance_delivered_late: \"% orders delivered late \",\r\n  total_advance_delivered_very_late: \"% orders delivered very late \",\r\n\r\n  total_distance_under_1: \"% order : 1 km\",\r\n  total_distance_under_2: \"% order : 2 km\",\r\n  total_distance_under_3: \"% order : 3 km\",\r\n  total_distance_under_4: \"% order : 4 km\",\r\n  total_distance_under_5: \"% order : 5 km\",\r\n  total_distance_under_6: \"% order : 6 km\",\r\n  total_distance_under_7: \"% order : 7 km\",\r\n  total_distance_under_8: \"% order : 8 km\",\r\n  total_distance_under_9: \"% order : 9 km\",\r\n  total_distance_under_10: \"% order : 10 km\",\r\n  total_distance_over_10: \"% order : > 10 km\",\r\n  morning_order: \"Morning Order\",\r\n  noon_order: \"Noon Order\",\r\n  after_noon_order: \"After Noon Order\",\r\n  night_order: \"Night Order\",\r\n  total_reorder_user: \"Total User Created Reorder\",\r\n  average_days_reorder: \"average days reorder after 1 order\",\r\n  average_price: \"Average Price\",\r\n  reorder_before_one_month: \"% reorder before one month\",\r\n  never_order: \"% user never order\",\r\n  never_order_one_month: \"% new user never order 1 month after registration\",\r\n  never_reorder_user: \"Never Reorder\",\r\n  created_date: \"Created Date\",\r\n  activity_status: \"Activity Status\",\r\n};\r\n\r\nexport var heading_title = {\r\n  uber_eats: \"Uber Eats\",\r\n  select_country: \"Select Country\",\r\n  select_city: \"Select City\",\r\n  select_store: \"Select Partner\",\r\n  change_team: \"Change Team\",\r\n  select_provider: \"Select Hopper\",\r\n  final_step: \"FINAL STEP : \",\r\n  order_by: \"ORDER BY\",\r\n  order_to: \"ORDER TO\",\r\n  deliver_by: \"DELIVERED BY\",\r\n  add_store_time: \"Add Store Time\",\r\n  add_delivery_time: \"Add Delivery Time\",\r\n  store_time: \"Réglages des heures d'operations\",\r\n  edit_address: \"Edit Address\",\r\n  admin_menu: \"Menu list\",\r\n  order_user_detail: \"Order User Detail\",\r\n  create_mass_notification: \"Create Mass Notification\",\r\n  order_fees: \"ORDER FEES\",\r\n  earning: \"Earning\",\r\n  store_conges: \"Store Conges\",\r\n  delivery_fees: \"DELIVERY FEES\",\r\n  dashboard_register_detail: \"Register Details\",\r\n  dashboard_order_detail: \"Order Details\",\r\n  dashboard_payment_detail: \"Payment Details\",\r\n  review_detail: \"Review Detail\",\r\n  dashboard_admin_payment: \"Admin Payments\",\r\n  dashboard_store_payment: \"Store Payments\",\r\n  dashboard_provider_payment: \"Deliveryman Payments\",\r\n  dashboard_title: \"Title\",\r\n  dashboard_order_chart: \"Order bar Chart\",\r\n  dashboard_last_six_month_payment_detail: \"Last 6 months Payment Details\",\r\n  rejection_reason: \"REJECTION REASON\",\r\n  cancellation_reason: \"CANCELLATION REASON\",\r\n  referral_setting: \"Referral Setting\",\r\n  cancel_order: \"Cancel Order\",\r\n  country_data: \"Country Data\",\r\n  setting: \"Setting\",\r\n  city_setting: \"City Setting\",\r\n  country_setting: \"Country Setting\",\r\n  delivery_setting: \"City Setting\",\r\n  vehicle_setting: \"City Setting\",\r\n  service_setting: \"Service Setting\",\r\n  city_data: \"City Data\",\r\n  service_data: \"Service Data\",\r\n  surge_hour_data: \"Surge Hour Data\",\r\n  vehicle_data: \"Vehicle data\",\r\n  delivery_data: \"Delivery Data\",\r\n  payment_data: \"Payment Data\",\r\n  document_data: \"Document Data\",\r\n  total_order: \"Total Order\",\r\n  accepted_order: \"Accepted Order\",\r\n  rejected_order: \"Rejected Order\",\r\n  completed_order: \"Completed Order\",\r\n  total_item_sold: \"Total Item Sold\",\r\n  accepted_ratio: \"Accepted Ratio\",\r\n  rejected_ratio: \"Rejected Ratio\",\r\n  completed_ratio: \"Completed Ratio\",\r\n  assigned_date: \"Assigned Date\",\r\n  order_for: \"ORDER FOR\",\r\n\r\n  positive_detail: \"Positive detail\",\r\n  negative_detail: \"Negative detail\",\r\n  negative: \"Negative\",\r\n  positive: \"Positive\",\r\n  // store_time:\"Store Time\",\r\n\r\n  // app update\r\n  android_user_app: \"Android User App\",\r\n  android_provider_app: \"Android Deliveryman App\",\r\n  android_store_app: \"Android Store App\",\r\n  ios_user_app: \"IOS User App\",\r\n  ios_provider_app: \"IOS Deliveryman App\",\r\n  ios_store_app: \"IOS Store App\",\r\n\r\n  user_app: \"User App\",\r\n  provider_app: \"Deliveryman App\",\r\n  store_app: \"Store App\",\r\n  other_setting: \"Other Settings\",\r\n  promo_data: \"Promo Data\",\r\n  promo_setting: \"Promo Settings\",\r\n\r\n  admin_data: \"Admin Data\",\r\n\r\n  sms_data: \"SMS DATA\",\r\n  email_data: \"EMAIL DATA\",\r\n  add_wallet_amount: \"Add Wallet Amount\",\r\n  admin_sms: \"Send SMS\",\r\n  admin_send_notification: \"Send Notification\",\r\n\r\n  email_configuration: \"Email Configuration\",\r\n  sms_configuration: \"SMS Configuration\",\r\n\r\n  history: \"History\",\r\n  deliveries: \"Deliveries\",\r\n  order_list: \"Order List\",\r\n  order_detail: \"ORDER DETAILS\",\r\n\r\n  user_detail: \"USER DETAIL\",\r\n  delivery_user_detail: \"DELIVERY USER DETAIL\",\r\n  provider_detail: \"DELIVERYMAN DETAIL\",\r\n  store_detail: \"STORE DETAIL\",\r\n  order_status: \"ORDER STATUS\",\r\n  request_status: \"REQUEST STATUS\",\r\n  vehicle: \"Vehicle\",\r\n  wallet: \"Wallet\",\r\n  referral: \"Referral\",\r\n  private_message: \"Private Message\",\r\n\r\n  service_detail: \"Service Detail\",\r\n  promo_info: \"Promo Info\",\r\n  user_info: \"User Info\",\r\n\r\n  pws_order_earning: \"ORDER EARNING\",\r\n  pws_daily_order_earning: \"DAILY ORDER EARNING\",\r\n  pws_provider_transaction: \"DELIVERYMAN TRANSACTION\",\r\n  pws_payment: \"PAYMENT\",\r\n\r\n  sws_store_transaction: \"STORE TRANSACTION\",\r\n\r\n  sws_order_earning: \"ORDER EARNING\",\r\n  sws_daily_order_earning: \"DAILY ORDER EARNING\",\r\n  sws_payment: \"PAYMENT\",\r\n  payment_gateway_data: \"PAYMENT GATEWAY DATA\",\r\n\r\n  bank_detail: \"Bank\",\r\n\r\n  ads_data: \"Ads Data\",\r\n  advertise_data: \"Advertise Data\",\r\n\r\n  image_size_for_delivery: \"Image Size Use For Delivery/Product/Item\",\r\n  image_size_for_map: \"Image Size For Map Pin For Apps\",\r\n  image_icon_size: \"Image Icon Size\",\r\n\r\n  order_from: \"Order From\",\r\n  delivery_to: \"Delivery To\",\r\n  pickup_from: \"Pickup From\",\r\n  payment: \"Payment\",\r\n  delivery_man: \"Deliveryman\",\r\n  store: \"Store\",\r\n\r\n  card: \"Card\",\r\n  cash: \"Cash\",\r\n  change_deliveryman: \"Change Deliveryman\",\r\n  hop_delivery: \"Hop Delivery\",\r\n  hopper_on_demand: \"Hopper On Demand\",\r\n  image: \"Image\",\r\n};\r\n\r\nexport var button = {\r\n  copy_store_time: \"copier horaire\",\r\n  select_all: \"select all\",\r\n\r\n  track_order: \"Track Order\",\r\n  go_to_store_panel: \"Go to Store Panel\",\r\n  delay: \"Delay\",\r\n  refund: \"Refund\",\r\n  reward: \"Reward\",\r\n  car: \"Car\",\r\n  scooter: \"Scooter\",\r\n  electrical_bike: \"Electical Bike\",\r\n  normal_bike: \"Normal Bike\",\r\n  active_partner_report: \"Active Partner Report\",\r\n  inactive_partner_report: \"Inactive Partner Report\",\r\n  export_review: \"Export Review\",\r\n  infos: \"infos\",\r\n  summary: \"Summary\",\r\n  deactivate: \"deactivate\",\r\n  vehicle_details: \"Vehicle Details\",\r\n  edit_address: \"Edit Address\",\r\n  submit: \"Submit\",\r\n  clear: \"clear\",\r\n  adjust: \"Adjust\",\r\n  update: \"Update\",\r\n  add: \"Add\",\r\n  login: \"Login\",\r\n  admin_login: \"LOGIN\",\r\n  register: \"Register\",\r\n  close: \"Close\",\r\n  preroder: \"preorder\",\r\n  add_city: \"Add City\",\r\n  add_country: \"Add Country\",\r\n  add_delivery: \"Add Delivery\",\r\n  add_vehicle: \"Add Vehicle\",\r\n  track_hopper: \"Track Hopper\",\r\n  add_service: \"Add Service\",\r\n  add_payment: \"Add Payment Gateway\",\r\n  reviews: \"Review\",\r\n  view_products: \"View products\",\r\n  view_setting: \"View setting\",\r\n  referral: \"Referral\",\r\n  bank_detail: \"Bank\",\r\n  usage: \"usage\",\r\n  cancel: \"cancel\",\r\n  reject: \"Reject\",\r\n  select_file: \"Select File\",\r\n  remove_file: \"Remove File\",\r\n  yes: \"YES\",\r\n  no: \"NO\",\r\n  edit: \"Edit\",\r\n  view_detail: \"View Detail\",\r\n  view_bank_detail: \"View BankDetail\",\r\n  history: \"History\",\r\n  cancel_order_pay: \"Cancel Order Pay\",\r\n  activate_order_pay: \"Activate Order Pay\",\r\n  provider_vehicle: \"Vehicles\",\r\n\r\n  view_document: \"Documents\",\r\n  add_wallet: \"Add Wallet\",\r\n  payment_detail: \"Payment Details\",\r\n  decline: \"Decline\",\r\n  approved: \"Approve\",\r\n  send_sms: \"Send SMS\",\r\n  send_notification: \"Send Notification\",\r\n  pre: \"Pre\",\r\n  next: \"Next\",\r\n  goto: \"Goto\",\r\n  add_document: \"Add Document\",\r\n  add_promo: \"Add Promo\",\r\n  add_admin: \"Add Admin\",\r\n  delete: \"Delete\",\r\n  add_ads: \"Add Ads\",\r\n  save: \"Save\",\r\n  send: \"Send\",\r\n  apply: \"Apply\",\r\n  to: \"to\",\r\n  export_excel: \"Export\",\r\n  view_map: \"View Map\",\r\n  view_invoice: \"View Invoice\",\r\n  view_uses: \"View Uses\",\r\n  inActive: \"InActive\",\r\n  active: \"Active\",\r\n  view_cart: \"View Cart Detail\",\r\n  view_full_invoice: \"View Full Invoice\",\r\n\r\n  wallet_request_accept: \"Accept\",\r\n  wallet_request_send: \"Send\",\r\n  wallet_request_cancel: \"Cancel\",\r\n  wallet_request_transfer: \"Transfer\",\r\n  wallet_request_complete: \"Complete\",\r\n  done: \"Done\",\r\n  detail: \"Detail\",\r\n};\r\n\r\nexport var wallet_request_status = {\r\n  created: \"Created\",\r\n  sent: \"Sent\",\r\n  accepted: \"Accepted\",\r\n  transfered: \"Transfered\",\r\n  completed: \"Completed\",\r\n  cancelled: \"Cancelled\",\r\n};\r\n\r\nexport var status = {\r\n  created: \"Created\",\r\n  waiting_for_accept1: \"Order Created\",\r\n  accepted1: \"Accepted\",\r\n  start_preparing_order1: \"In progress\",\r\n  order_ready1: \"Ready\",\r\n  waiting_for_delivery_man1: \"Assigned\",\r\n  delivery_man_accepted1: \"Accepted\",\r\n  delivery_man_coming1: \"Coming\",\r\n  delivery_man_arrived1: \"Arrived\",\r\n  picked_order1: \"Picked up\",\r\n  started_for_delivery1: \"Delivering\",\r\n  arrived_at_destination1: \"Arrived at Dest.\",\r\n  delivered_ordered1: \"Completed\",\r\n  assign_order_to_Delivery_man1: \"Assigning To Deliveryman\",\r\n  no_delivery_man_found1: \"No Found\",\r\n  delivery_man_rejected1: \"Rejected\",\r\n  delivery_man_cancelled1: \"Rejected\",\r\n  user_cancelled1: \"Cancle By User\",\r\n  oredr_complete: \"Order Completed\",\r\n  order_delivered: \"Delivered\",\r\n  completed: \"Completed\",\r\n  rejected1: \"Rejected\",\r\n  cancelled1: \"Cancelled\",\r\n  store_cancelled: \"Store Cancelled\",\r\n  not_completed: \"Not Completed\",\r\n  user_cancelled: \"User cancelled\",\r\n  cancelled_request1: \"Not Assigned\",\r\n  completed_by_other: \"Completed By Other\",\r\n\r\n  admin_edit_address: \"Admin Address Edited\",\r\n  admin_edit_order: \"Admin Order Edited\",\r\n  store_edit_order: \"Store Order Edited\",\r\n\r\n  waiting_for_accept: \"New Order Created\",\r\n  accepted: \"Accepted\",\r\n  start_preparing_order: \"Started Preparing\",\r\n  order_ready: \"Order is ready\",\r\n  waiting_for_delivery_man: \"Assigned to Deliveryman\",\r\n  delivery_man_accepted: \"Deliveryman accepted\",\r\n  delivery_man_coming: \"Deliveryman is coming\",\r\n  delivery_man_arrived: \"Deliveryman arrived\",\r\n  picked_order: \"Deliveryman picked up order\",\r\n  started_for_delivery: \"Delivering\",\r\n  arrived_at_destination: \"Deliveryman arrived at destination\",\r\n  delivered_ordered: \"Order Delivered\",\r\n  assign_order_to_Delivery_man: \"Assign To Deliveryman\",\r\n  rejected: \"Store rejected\",\r\n  cancelled: \"Store cancelled order\",\r\n  no_delivery_man_found: \"Deliveryman not found\",\r\n  delivery_man_rejected: \"Deliveryman Rejected\",\r\n  delivery_man_cancelled: \"Deliveryman cancelled\",\r\n  cancelled_request: \"Request Cancelled\",\r\n  admin_cancelled: \"Admin Cancelled\",\r\n};\r\n\r\nexport var lable_title = {\r\n  cash: \"Cash\",\r\n  card: \"Card\",\r\n  absolute: \"Absolute\",\r\n  percentage: \"Percentage\",\r\n  free_delivery: \"Free Delivery\",\r\n  order: \"Order\",\r\n  service: \"Service\",\r\n  active: \"Active\",\r\n  inactive: \"Inactive\",\r\n  expired: \"Expired\",\r\n  not_expired: \"Not Expired\",\r\n  store: \"Store\",\r\n  admin: \"Admin\",\r\n  sub_admin: \"Sub Admin\",\r\n  provider: \"Deliveryman\",\r\n  user: \"User\",\r\n  provider_vehicle_type: \"Deliveryman Vehicle\",\r\n  mandatory: \"Mandatory\",\r\n  optional: \"Optional\",\r\n  completed: \"COMPLETED\",\r\n  not_completed: \"NOT COMPLETED\",\r\n  delivery_fees_paid_by_store: \"DELIVERY FEES PAID BY STORE\",\r\n  asap: \"ASAP\",\r\n\r\n  created_at: \"Created At\",\r\n  store_accepted_at: \"Store Accepted At\",\r\n  preparing_order_at: \"Preparing Order At\",\r\n  order_ready_at: \"Ready At\",\r\n  store_order_send_at: \"Store Order Send At\",\r\n  provider_accepted_at: \"Deliveryman Accepted At\",\r\n\r\n  start_for_pickup_at: \"Start for Pickup At\",\r\n  arrived_on_store_at: \"Arrived On Store At\",\r\n  picked_order_at: \"Picked Order At\",\r\n  start_for_delivery_at: \"Start For Delivery At\",\r\n  delivered_at: \"Delivered At\",\r\n  completed_at: \"Completed At\",\r\n};\r\n\r\nexport var message = {\r\n  country_already_exist: \"Country Already Exist\",\r\n  promo_code_already_exist: \"Promo Code Already Exist\",\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/admin_panel_string.ts","export var MESSAGE_CODE = {\r\n  981: \"Admin Add Successfully.\",\r\n  982: \"Admin Update Successfully.\",\r\n  985: \"Admin Delete Successfully.\",\r\n  302: \"Country Add Successfully.\",\r\n  303: \"Country Update Successfully.\",\r\n  312: \"City Add Successfully.\",\r\n  313: \"City Update Successfully.\",\r\n  371: \"Service Add Successfully.\",\r\n  373: \"Service Update Successfully.\",\r\n  911: \"Document Add Successfully.\",\r\n  914: \"Document Update Successfully.\",\r\n\r\n  921: \"Promo Code Add Successfully.\",\r\n  923: \"Promo Code Update Successfully.\",\r\n\r\n  342: \"Delivery Add Successfully.\",\r\n  345: \"Delivery Update Successfully.\",\r\n  352: \"Vehicle Add Successfully.\",\r\n  353: \"Vehicle Update Successfully.\",\r\n\r\n  223: \"Provider Vehicle Update Successfully.\",\r\n\r\n  203: \"Provider Update Successfully.\",\r\n  214: \"Provider Approved Successfully.\",\r\n  215: \"Provider Declined Successfully.\",\r\n\r\n  123: \"Update Successfully.\",\r\n  137: \"Store Approved Successfully.\",\r\n  138: \"Store Declined Successfully.\",\r\n  150: \"Update Order Successfully\",\r\n\r\n  103: \"User Update Successfully.\",\r\n  191: \"User Approved Successfully.\",\r\n  192: \"User Declined Successfully.\",\r\n\r\n  986: \"Login Successfully.\",\r\n\r\n  5001: \"Password Reset Successfully.\",\r\n  913: \"Document Upload Successfully.\",\r\n\r\n  915: \"Ads Add Successfully.\",\r\n  917: \"Ads Update Successfully.\",\r\n  918: \"Ads Delete Successfully.\",\r\n\r\n  316: \"Wallet Request Completed Successfully.\",\r\n  317: \"Wallet Request Cancelled Successfully.\",\r\n  318: \"Wallet Request Transfered Successfully.\",\r\n  319: \"Wallet Request Accepted Successfully.\",\r\n\r\n  2013: \"Email Update Successfully.\",\r\n  2014: \"Email Configuration Updated.\",\r\n  2053: \"SMS Update Successfully.\",\r\n  2054: \"SMS Configuration Updated\",\r\n\r\n  114: \"Wallet Updated Successfully.\",\r\n  108: \"Sms send Successfully.\",\r\n  109: \"Notification send Successfully.\",\r\n\r\n  2061: \"Setting Update Successfully.\",\r\n  907: \"Item Remove Successfully\",\r\n  385: \"Category Remove Successfully\",\r\n\r\n  258: \"Zone Price Updated Successfully\",\r\n  259: \"Zone Price Added Successfully\",\r\n  260: \"Zone Price Deleted Successfully\",\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/admin_panel_success_message.ts","\r\nexport var validation_message = {\r\n\r\n    email_required: \"Email is required\",\r\n    valid_email: \"Please Enter Valid Email Address\",\r\n    phone_required: \"Phone Number is required\",\r\n\r\n    name_required: \"Name is required\",\r\n    address_required: \"Address  is required\",\r\n   \r\n    password_required: \"Password is required\",\r\n    password_minlength: \"Please Enter Atleast Character\",\r\n    language_required: \"Language is required\",\r\n\r\n    store_open_time_required: \"Store Open Time is required\",\r\n    store_close_time_required: \"Store Close Time is required\",\r\n    open_time_not_greater_close_time: \"Open Time Not Greater Than Close Time\",\r\n    invalid_open_time:\"Invalid Open Time\",\r\n    close_time_not_less_open_time: \"Close Time Not Less Than Open Time\",\r\n    invalid_close_time:\"Invalid Close Time\",\r\n    \r\n\r\n    image_required: \"Image is required\",\r\n    unique_code_required: \"Unique Code is required\",\r\n    expired_date_required: \"Expiry date is required\",\r\n    \r\n    field_required:\"This field is required\",\r\n\r\n    min_amount_not_greater_than_max_amount: 'min amount not greater than max amount',\r\n\r\n\r\n    // country validation\r\n    currency_name_required: \"Currency Name Required\",\r\n    currency_sign_required: \"Currency Sign Required\",\r\n    phone_minlength_required: \"Enter Phone No. Min Length\",\r\n    phone_maxlength_required: \"Enter Phone No. Max Length\",\r\n    \r\n    referral_bonus_to_user_required:\"Bonus To User Required\",\r\n    referral_bonus_to_user_friend_required:\"Bonus To User's Friend Required\",\r\n    no_of_user_use_referral_required:\"No. of User Use Referral Required\",\r\n    \r\n    referral_bonus_to_store_required:\"Bonus To Store Required\",\r\n    referral_bonus_to_store_friend_required:\"Bonus To Store's Friend Required\",\r\n    no_of_store_use_referral_required:\"No. of Store Use Referral Required\",\r\n    \r\n    referral_bonus_to_provider_required:\"Bonus To Provider Required\",\r\n    referral_bonus_to_provider_friend_required:\"Bonus To Provider's Friend Required\",\r\n    no_of_provider_use_referral_required:\"No. of Provider Use Referral Required\",\r\n    \r\n    \r\n    // delivery\r\n    delivery_name_required:\"Delivery Name Required\",\r\n    description_required:\"Description Required\",\r\n    delivery_image_required:\"Delivery Image Required\",\r\n    delivery_icon_required:\"Delivery Icon Required\",\r\n    select_delivery_required:\"Select Delivery Type\",\r\n    delivery_sequence_number_required:\"Sequence Number Required\",\r\n    famous_products_tags_required:\"Famous Products Tags Required\",\r\n    \r\n    \r\n    //vehicle\r\n    vehicle_name_required:\"Vehicle Name Required\",\r\n    vehicle_description_required:\"Description Required\",\r\n    \r\n    //city\r\n    city_name_required:\"City Name Required\",\r\n    city_nick_name_required:\"City Nick Name Required\",\r\n    city_code_required:\"City Code Required\",\r\n    city_radius_required:\"City Radius Required\",\r\n    admin_profit_value_on_delivery_required:\"Admin Profit Value On Delivery Required\",\r\n    time_zone_required:\"Select Timezone\",\r\n    select_country_required: \"Select Country First\",\r\n    select_city_required:\"Select City\",\r\n    latitude_required: \"Latitude is required\",\r\n    longitude_required: \"Longitude is required\",\r\n    min_wallet_amount_required: \"Minimum Wallet Amount is required\",\r\n    \r\n    \r\n    \r\n    //service\r\n    base_price_distance_required:\"Base Price Distance Required\",\r\n    base_price_required:\"Base Price Required\",\r\n    price_per_unit_distance_required:\"Price Per Unit Distance Required\",\r\n    price_per_unit_time_required:\"Price Per Unit Time Required\",\r\n    service_tax_required:\"Service Tax Required\",\r\n    min_fare_required:\"Min Fare Required\",\r\n    cancellation_fee_required:\"Cancellation Fee Required\",\r\n    \r\n    //admin\r\n    admin_name_required:\"Name Required\",\r\n    admin_email_required:\"Email Required\",\r\n    admin_password_required:\"Password Required\",\r\n    \r\n    //promo code\r\n    promo_code_name_required:\"Promo Code Required\",\r\n    promo_code_value_required:\"Promo Value Required\",\r\n    promo_code_uses_required:\"Please Enter Promo Use Limit\",\r\n    \r\n    //document\r\n    document_name_required:\"Name Required\",\r\n    \r\n    \r\n    \r\n    \r\n    \r\n    \r\n    \r\n\r\n\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/admin_panel_validation_message.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AdminViewCartComponent } from './admin_view_cart.component';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,RouterModule ,FooterModule, TranslateModule\r\n  ],\r\n  declarations: [AdminViewCartComponent]\r\n})\r\nexport class AdminViewCartModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/admin_view_cart/admin_view_cart.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AdvertiseComponent } from './advertise.component';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,RouterModule,FooterModule,UiSwitchModule,BrowserModule,FormsModule,DropdownModule, TranslateModule\r\n  ],\r\n  declarations: [AdvertiseComponent]\r\n})\r\nexport class AdvertiseModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/advertise/advertise.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\n\r\nimport { AllCityComponent } from './all-city.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport {TranslateModule} from 'ng2-translate';\r\nimport {FooterModule} from '../../../common/admin/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n      CommonModule, BrowserModule, FormsModule, TranslateModule, FooterModule\r\n  ],\r\n  declarations: [AllCityComponent]\r\n})\r\nexport class AllCityModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/all-city/all-city.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AnalyticsComponent } from './analytics.component';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport {TooltipModule} from \"ngx-tooltip\";\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,TooltipModule,Ng2Bs3ModalModule,DropdownModule,FormsModule,RouterModule,MyDatePickerModule,FooterModule,TranslateModule\r\n  ],\r\n  declarations: [AnalyticsComponent]\r\n})\r\nexport class AnalyticsModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/analytics/analytics.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AppSettingComponent } from './app_setting.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { TranslateModule } from 'ng2-translate';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,BrowserModule,FormsModule,TranslateModule\r\n  ],\r\n  declarations: [AppSettingComponent]\r\n})\r\nexport class AppSettingModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/app_setting/app_setting.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AppUpdateSettingComponent } from './app_update_setting.component';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { FormsModule } from '@angular/forms';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,RouterModule,UiSwitchModule,FooterModule,FormsModule,BrowserModule,TranslateModule\r\n  ],\r\n  declarations: [AppUpdateSettingComponent]\r\n})\r\nexport class AppUpdateSettingModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/app_update_setting/app_update_setting.module.ts","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {BasicSettingComponent} from './basic_setting.component';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport {FormsModule} from '@angular/forms';\r\n// import {GooglePlaceModule} from 'ng2-google-place-autocomplete';\r\nimport {TranslateModule} from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\n\r\n@NgModule({\r\n    imports: [\r\n        CommonModule, DropdownModule,FooterModule,UiSwitchModule, BrowserModule, FormsModule, TranslateModule, Ng2Bs3ModalModule\r\n    ],\r\n    declarations: [BasicSettingComponent]\r\n})\r\nexport class BasicSettingModule {}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/basic_setting/basic_setting.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CancellationReasonComponent } from './cancellation_reason.component';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,DropdownModule,FormsModule,FooterModule,RouterModule,MyDatePickerModule,TranslateModule\r\n  ],\r\n  declarations: [CancellationReasonComponent]\r\n})\r\nexport class CancellationReasonModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/cancellation_reason/cancellation_reason.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { cityComponent } from './city.component';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { FormsModule } from '@angular/forms';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\n\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\n\r\n\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,RouterModule,Ng2Bs3ModalModule,DropdownModule,UiSwitchModule,FooterModule,FormsModule,BrowserModule,TranslateModule\r\n  ],\r\n  declarations: [cityComponent]\r\n})\r\nexport class CityModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/city/city.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { countryComponent } from './country.component';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,RouterModule,UiSwitchModule,FormsModule,TranslateModule,FooterModule\r\n  ],\r\n  declarations: [countryComponent]\r\n})\r\nexport class CountryModule {}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/country/country.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DashboardComponent } from './dashboard.component';\r\nimport { ChartsModule } from 'ng2-charts';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\nimport { TranslateModule } from 'ng2-translate';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule , ChartsModule , FormsModule , FooterModule, MyDatePickerModule, TranslateModule\r\n  ],\r\n  declarations: [DashboardComponent]\r\n})\r\nexport class DashboardModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/dashboard/dashboard.module.ts","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {DeliveriesComponent} from './deliveries.component';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport {FormsModule} from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport {TranslateModule} from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\n\r\n@NgModule({\r\n    imports: [\r\n        CommonModule, DropdownModule, FormsModule, RouterModule,FooterModule, TranslateModule, Ng2Bs3ModalModule\r\n    ],\r\n    declarations: [DeliveriesComponent]\r\n})\r\nexport class DeliveriesModule {}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/deliveries/deliveries.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DeliveryComponent } from './delivery.component';\r\n\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { FormsModule } from '@angular/forms';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,RouterModule,DropdownModule,UiSwitchModule,FooterModule,FormsModule,BrowserModule,TranslateModule\r\n  ],\r\n  declarations: [DeliveryComponent]\r\n})\r\nexport class DeliveryModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/delivery/delivery.module.ts","import { EventEmitter, ElementRef, Output, Input, Directive } from '@angular/core';\r\ndeclare var Clipboard: any;\r\n@Directive({\r\n  selector: '[clipboard]'\r\n})\r\nexport class ClipboardDirective {\r\n  clipboard: any;\r\n  @Input('clipboard') elt:ElementRef; \r\n  // @Output() clipboardSuccess:EventEmitter<any> = new EventEmitter();\r\n  // @Output() clipboardError:EventEmitter<any> = new EventEmitter();\r\n  \r\n  constructor(private eltRef:ElementRef) {\r\n  }\r\n  \r\n  ngOnInit() {\r\n    console.log(this.eltRef.nativeElement)\r\n    console.log(this.elt)\r\n    this.clipboard = new Clipboard(this.eltRef.nativeElement, {\r\n      target: () => {\r\n        return this.elt;\r\n      }\r\n    });\r\n    console.log(this.clipboard)\r\n    this.clipboard.on('success', (e) => {\r\n      console.log('success')\r\n      console.log(e)\r\n      // this.clipboardSuccess.emit();\r\n    });\r\n    this.clipboard.on('error', (e) => {\r\n      // this.clipboardError.emit();\r\n      console.log('error')\r\n      console.log(e)\r\n    });\r\n  }\r\n  \r\n  ngOnDestroy() {\r\n    if (this.clipboard) {\r\n      this.clipboard.destroy();\r\n    }\r\n  }\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/dispatch/copy.component.ts","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {DispatchComponent} from './dispatch.component';\r\nimport {ClipboardDirective} from './copy.component';\r\nimport {LocationTrackModule} from '../location_track/location_track.module';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport {FormsModule} from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport {TranslateModule} from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport {TooltipModule} from \"ngx-tooltip\";\r\n\r\n@NgModule({\r\n    imports: [\r\n        CommonModule, TooltipModule, UiSwitchModule, DropdownModule, FormsModule,LocationTrackModule, RouterModule,FooterModule, TranslateModule, Ng2Bs3ModalModule\r\n    ],\r\n    declarations: [DispatchComponent, ClipboardDirective]\r\n})\r\nexport class DispatchModule {}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/dispatch/dispatch.module.ts","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {DispatcherSettingComponent} from './dispatch_setting.component';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport {FormsModule} from '@angular/forms';\r\n// import {GooglePlaceModule} from 'ng2-google-place-autocomplete';\r\nimport {TranslateModule} from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\n\r\n@NgModule({\r\n    imports: [\r\n        CommonModule, DropdownModule,FooterModule,UiSwitchModule, BrowserModule, FormsModule, TranslateModule\r\n    ],\r\n    declarations: [DispatcherSettingComponent]\r\n})\r\nexport class DispatchSettingModule {}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/dispatch_setting/dispatch_setting.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { dispatchercityComponent } from './dispatcher_city.component';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { FormsModule } from '@angular/forms';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\n\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n\r\n\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,RouterModule,DropdownModule,UiSwitchModule,FooterModule,FormsModule,BrowserModule,TranslateModule\r\n  ],\r\n  declarations: [dispatchercityComponent]\r\n})\r\nexport class dispatcherCityModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/dispatcher_city/dispatcher_city.module.ts","import {NgModule} from \"@angular/core\";\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport {CommonModule} from '@angular/common';\r\nimport {dispatcher_loginComponent} from \"./dispatcher_login.component\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport { TranslateModule } from 'ng2-translate';\r\n\r\n\r\n@NgModule({\r\n    declarations: [dispatcher_loginComponent],\r\n    imports: [BrowserModule, CommonModule, FormsModule,RouterModule ,Ng2Bs3ModalModule,TranslateModule],\r\n})\r\n\r\nexport class dispatcher_LoginModule {}\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/dispatcher_login/dispatcher_login.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DocumentComponent } from './document.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,DropdownModule,BrowserModule,FormsModule,RouterModule,FooterModule,TranslateModule\r\n  ],\r\n  declarations: [DocumentComponent]\r\n})\r\nexport class DocumentModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/document/document.module.ts","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {EarningComponent} from './earning.component';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport {FormsModule} from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport {MyDatePickerModule} from 'mydatepicker';\r\nimport {TranslateModule} from 'ng2-translate';\r\nimport {FooterModule} from '../../../common/admin/footer/footer.module';\r\n@NgModule({\r\n    imports: [\r\n        CommonModule, DropdownModule, FormsModule, FooterModule, RouterModule, MyDatePickerModule, TranslateModule\r\n    ],\r\n    declarations: [EarningComponent]\r\n})\r\nexport class EarningModule {}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/earning/earning.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AdminEditOrderComponent } from './edit_order.component';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,RouterModule,FooterModule,UiSwitchModule,BrowserModule,FormsModule,DropdownModule, TranslateModule, Ng2Bs3ModalModule\r\n  ],\r\n  declarations: [AdminEditOrderComponent]\r\n})\r\nexport class AdminEditOrderModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/edit_order/edit_order.module.ts","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {EditProviderComponent} from './edit_provider.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { CustomFormsModule } from 'ng2-validation'\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\nimport { ChartsModule } from 'ng2-charts';\r\n\r\n@NgModule({\r\n    imports: [\r\n        CommonModule,BrowserModule,FormsModule,FooterModule, ChartsModule, CustomFormsModule , UiSwitchModule , Ng2Bs3ModalModule,TranslateModule\r\n    ],\r\n    declarations: [EditProviderComponent]\r\n})\r\nexport class EditProviderModule {}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/edit_provider/edit_provider.module.ts","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {EditProviderVehicleComponent} from './edit_provider_vehicle.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport {FormsModule} from '@angular/forms';\r\nimport {UiSwitchModule} from 'angular2-ui-switch';\r\nimport {TooltipModule} from \"ngx-tooltip\";\r\nimport {TranslateModule} from 'ng2-translate';\r\n\r\n@NgModule({\r\n    imports: [\r\n        CommonModule, BrowserModule, FormsModule, UiSwitchModule, TooltipModule, TranslateModule\r\n    ],\r\n    declarations: [EditProviderVehicleComponent]\r\n})\r\nexport class EditProviderVehicleModule {}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/edit_provider_vehicle/edit_provider_vehicle.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { EditStoreComponent } from './edit_store.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { CustomFormsModule } from 'ng2-validation'\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\nimport { ChartsModule } from 'ng2-charts';\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,BrowserModule,FormsModule,FooterModule, ChartsModule, CustomFormsModule , UiSwitchModule , Ng2Bs3ModalModule,TranslateModule\r\n    ],\r\n  declarations: [EditStoreComponent]\r\n})\r\nexport class EditStoreModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/edit_store/edit_store.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { EditUserComponent } from './edit_user.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,BrowserModule,FormsModule, UiSwitchModule,TranslateModule,FooterModule\r\n  ],\r\n  declarations: [EditUserComponent]\r\n})\r\nexport class EditUserModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/edit_user/edit_user.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { EmailComponent } from './email.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,BrowserModule,FormsModule, UiSwitchModule,FooterModule,TranslateModule\r\n  ],\r\n  declarations: [EmailComponent]\r\n})\r\nexport class EmailModule { }\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/email/email.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FranchisesComponent } from './franchises.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport {TooltipModule} from \"ngx-tooltip\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,DropdownModule,BrowserModule,FormsModule,FooterModule,RouterModule,UiSwitchModule,Ng2Bs3ModalModule,TooltipModule,TranslateModule\r\n  ],\r\n  declarations: [FranchisesComponent]\r\n})\r\nexport class FranchisesModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/franchises/franchises.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { GeneralAnalyticsComponent } from './general_analytics.component';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport {TooltipModule} from \"ngx-tooltip\";\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,TooltipModule,Ng2Bs3ModalModule,DropdownModule,FormsModule,RouterModule,MyDatePickerModule,FooterModule,TranslateModule\r\n  ],\r\n  declarations: [GeneralAnalyticsComponent]\r\n})\r\nexport class GeneralAnalyticsModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/general_analytics/general_analytics.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { GoogleKeySettingComponent } from './google_key_setting.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,BrowserModule,FormsModule,FooterModule, UiSwitchModule,TranslateModule\r\n  ],\r\n  declarations: [GoogleKeySettingComponent]\r\n})\r\nexport class GoogleKeySettingModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/google_key_setting/google_key_setting.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HistoryComponent } from './history.component';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\nimport { MomentModule } from 'angular2-moment';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\n// import {RatingModule} from \"ngx-rating\";\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,DropdownModule,FormsModule,FooterModule,RouterModule,MyDatePickerModule,TranslateModule,MomentModule,Ng2Bs3ModalModule\r\n  ],\r\n  declarations: [HistoryComponent]\r\n})\r\nexport class HistoryModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/history/history.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HopperEarningComponent } from './hopper_earning.component';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n@NgModule({\r\n  imports: [\r\n    CommonModule, Ng2Bs3ModalModule, DropdownModule, FormsModule, RouterModule,FooterModule, MyDatePickerModule,TranslateModule\r\n  ],\r\n  declarations: [HopperEarningComponent]\r\n})\r\nexport class HopperEarningModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/hopper_earning/hopper_earning.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HopperEarningDetailComponent } from './hopper_earning_detail.component';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\nimport { MomentModule } from 'angular2-moment';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,DropdownModule,FormsModule,FooterModule,RouterModule,MyDatePickerModule,TranslateModule,MomentModule\r\n  ],\r\n  declarations: [HopperEarningDetailComponent]\r\n})\r\nexport class HopperEarningDetailModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/hopper_earning_detail/hopper_earning_detail.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ImageSettingComponent } from './image_setting.component';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport {FormsModule} from '@angular/forms';\r\n// import {GooglePlaceModule} from 'ng2-google-place-autocomplete';\r\nimport {TranslateModule} from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n@NgModule({\r\n  imports: [\r\n    CommonModule, DropdownModule, BrowserModule,FooterModule, FormsModule, TranslateModule\r\n    ],\r\n  declarations: [ImageSettingComponent]\r\n})\r\nexport class ImageSettingModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/image_setting/image_setting.module.ts","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {InstallationSettingComponent} from './installation_setting.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { TranslateModule } from 'ng2-translate';\r\n\r\n\r\n@NgModule({\r\n    imports: [\r\n        CommonModule,BrowserModule,FormsModule, UiSwitchModule,TranslateModule\r\n    ],\r\n    declarations: [InstallationSettingComponent]\r\n})\r\nexport class InstallationSettingModule {}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/installation_setting/installation_setting.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { IosPushNotificationSettingComponent } from './ios_push_notification_setting.component';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { FormsModule } from '@angular/forms';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\n\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,RouterModule,DropdownModule,FooterModule,UiSwitchModule,FormsModule,BrowserModule,TranslateModule\r\n  ],\r\n  declarations: [IosPushNotificationSettingComponent]\r\n})\r\nexport class IosPushNotificationSettingModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/ios_push_notification_setting/ios_push_notification_setting.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MassNotificationComponent } from './mass_notification.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,BrowserModule,FormsModule,TranslateModule,FooterModule\r\n  ],\r\n  declarations: [MassNotificationComponent]\r\n})\r\nexport class MassNotificationModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/mass_notification/mass_notification.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { OrderComponent } from './order.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport {FormsModule} from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\nimport {TranslateModule} from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule, DropdownModule, MyDatePickerModule,BrowserModule, FormsModule,FooterModule, RouterModule, TranslateModule, Ng2Bs3ModalModule\r\n    ],\r\n  declarations: [OrderComponent]\r\n})\r\nexport class OrderModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/order/order.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { OrderDetailComponent } from './order_detail.component';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,FormsModule,RouterModule,BrowserModule,TranslateModule,FooterModule, Ng2Bs3ModalModule\r\n  ],\r\n  declarations: [OrderDetailComponent]\r\n})\r\nexport class OrderDetailModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/order_detail/order_detail.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { OrderEarningComponent } from './order_earning.component';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n      CommonModule, DropdownModule, FormsModule, RouterModule,FooterModule, MyDatePickerModule,TranslateModule\r\n  ],\r\n  declarations: [OrderEarningComponent]\r\n})\r\nexport class OrderEarningModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/order_earning/order_earning.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { OrderTrackComponent } from './order_track.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,BrowserModule,FormsModule,FooterModule, UiSwitchModule,TranslateModule\r\n  ],\r\n  declarations: [OrderTrackComponent]\r\n})\r\nexport class OrderTrackModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/order_track/order_track.module.ts","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {OrdersComponent} from './orders.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport {FormsModule} from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport {TranslateModule} from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n\r\n@NgModule({\r\n    imports: [\r\n        CommonModule, DropdownModule, BrowserModule, FormsModule,FooterModule, RouterModule, TranslateModule\r\n    ],\r\n    declarations: [OrdersComponent]\r\n})\r\nexport class OrdersModule {}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/orders/orders.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { OtherSettingComponent } from './other_setting.component';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,RouterModule,UiSwitchModule,FooterModule,FormsModule,TranslateModule\r\n  ],\r\n  declarations: [OtherSettingComponent]\r\n})\r\nexport class OtherSettingModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/other_setting/other_setting.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PartnerEarningComponent } from './partner_earning.component';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n@NgModule({\r\n  imports: [\r\n    CommonModule, Ng2Bs3ModalModule, DropdownModule, FormsModule, RouterModule,FooterModule, MyDatePickerModule,TranslateModule\r\n  ],\r\n  declarations: [PartnerEarningComponent]\r\n})\r\nexport class PartnerEarningModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/partner_earning/partner_earning.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PartnerEarningDetailComponent } from './partner_earning_detail.component';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\nimport { MomentModule } from 'angular2-moment';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,DropdownModule,FormsModule,FooterModule,RouterModule,MyDatePickerModule,TranslateModule,MomentModule\r\n  ],\r\n  declarations: [PartnerEarningDetailComponent]\r\n})\r\nexport class PartnerEarningDetailModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/partner_earning_detail/partner_earning_detail.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PartnerOdhEarningComponent } from './partner_odh_earning.component';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n@NgModule({\r\n  imports: [\r\n    CommonModule, Ng2Bs3ModalModule, DropdownModule, FormsModule, RouterModule,FooterModule, MyDatePickerModule,TranslateModule\r\n  ],\r\n  declarations: [PartnerOdhEarningComponent]\r\n})\r\nexport class PartnerOdhEarningModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/partner_odh_earning/partner_odh_earning.module.ts","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {PaymentGatewayComponent} from './payment_gateway.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport {FormsModule} from '@angular/forms';\r\nimport {UiSwitchModule} from 'angular2-ui-switch';\r\nimport {TranslateModule} from 'ng2-translate';\r\n\r\n@NgModule({\r\n    imports: [\r\n        CommonModule, BrowserModule, FormsModule, UiSwitchModule, TranslateModule\r\n    ],\r\n    declarations: [PaymentGatewayComponent]\r\n})\r\nexport class PaymentGatewayModule {}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/payment_gateway/payment_gateway.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PromoCodeComponent } from './promo_code.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,DropdownModule,UiSwitchModule,BrowserModule,FormsModule,FooterModule,RouterModule,TranslateModule\r\n  ],\r\n  declarations: [PromoCodeComponent]\r\n})\r\nexport class PromoCodeModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/promo_code/promo_code.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ProviderComponent } from './provider.component';\r\n\r\nimport {TooltipModule} from \"ngx-tooltip\";\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\nimport {MyDatePickerModule} from \"mydatepicker\";\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,DropdownModule,TooltipModule,BrowserModule,FormsModule,MyDatePickerModule,RouterModule,FooterModule,UiSwitchModule,Ng2Bs3ModalModule,TranslateModule\r\n  ],\r\n  declarations: [ProviderComponent]\r\n})\r\nexport class ProviderModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/provider/provider.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ProviderHistoryComponent } from './history.component';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\nimport { MomentModule } from 'angular2-moment';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport {TooltipModule} from \"ngx-tooltip\";\r\n// import {RatingModule} from \"ngx-rating\";\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,DropdownModule,UiSwitchModule,TooltipModule,FormsModule,FooterModule,RouterModule,MyDatePickerModule,TranslateModule,MomentModule,Ng2Bs3ModalModule\r\n  ],\r\n  declarations: [ProviderHistoryComponent]\r\n})\r\nexport class ProviderHistoryModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/provider_history/history.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ProviderMapComponent } from './provider_map.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport {FooterModule} from '../../../common/admin/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [ \r\n    FormsModule,\r\n    CommonModule, TranslateModule, FooterModule\r\n  ],\r\n  declarations: [ProviderMapComponent]\r\n})\r\nexport class ProviderMapModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/provider_map/provider_map.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ProviderNewPasswordComponent } from './provider_new_password.component';\r\n\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { CustomFormsModule } from 'ng2-validation'\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,FormsModule,CustomFormsModule,FooterModule,RouterModule,TranslateModule\r\n  \r\n  ],\r\n  declarations: [ProviderNewPasswordComponent]\r\n})\r\nexport class ProviderNewPasswordModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/provider_new_password/provider_new_password.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ProviderVehicleComponent } from './provider_vehicle.component';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,DropdownModule,UiSwitchModule,FormsModule,FooterModule,RouterModule,MyDatePickerModule,TranslateModule\r\n  ],\r\n  declarations: [ProviderVehicleComponent]\r\n})\r\nexport class ProviderVehicleModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/provider_vehicle/provider_vehicle.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ProviderWeeklyEarningComponent } from './provider_weekly_earning.component';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\nimport { MomentModule } from 'angular2-moment';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule, DropdownModule, MomentModule, FormsModule,RouterModule,FooterModule,MyDatePickerModule,Ng2Bs3ModalModule,TranslateModule\r\n    \r\n  ],\r\n  declarations: [ProviderWeeklyEarningComponent]\r\n})\r\nexport class ProviderWeeklyEarningModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/provider_weekly_earning/provider_weekly_earning.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ProviderWeeklyEarningStatementComponent } from './provider_weekly_earning_statement.component';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\nimport { TranslateModule } from 'ng2-translate';\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,DropdownModule,FormsModule,RouterModule,MyDatePickerModule,TranslateModule\r\n  ],\r\n  declarations: [ProviderWeeklyEarningStatementComponent]\r\n})\r\nexport class ProviderWeeklyEarningStatementModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/provider_weekly_earning_statement/provider_weekly_earning_statement.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AdminRefundOrderComponent } from './refund_order.component';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,RouterModule,FooterModule,UiSwitchModule,BrowserModule,FormsModule,DropdownModule, TranslateModule, Ng2Bs3ModalModule\r\n  ],\r\n  declarations: [AdminRefundOrderComponent]\r\n})\r\nexport class AdminRefundOrderModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/refund_order/refund_order.module.ts","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {RequestCancelReasonComponent} from './request_cancel_reason.component';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport {FormsModule} from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport {MyDatePickerModule} from 'mydatepicker';\r\nimport {TranslateModule} from 'ng2-translate';\r\nimport {FooterModule} from '../../../common/admin/footer/footer.module';\r\n\r\n@NgModule({\r\n    imports: [\r\n        CommonModule, DropdownModule, FormsModule, FooterModule, RouterModule, MyDatePickerModule, TranslateModule\r\n    ],\r\n    declarations: [RequestCancelReasonComponent]\r\n})\r\nexport class RequestCancelReasonModule {}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/request_cancel_reason/request_cancel_reason.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RequestOrderDetailComponent } from './request_order_detail.component';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,RouterModule,TranslateModule,FooterModule\r\n  ],\r\n  declarations: [RequestOrderDetailComponent]\r\n})\r\nexport class RequestOrderDetailModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/request_order_detail/request_order_detail.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ReviewComponent } from './review.component';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,DropdownModule,FormsModule,RouterModule,MyDatePickerModule,Ng2Bs3ModalModule,FooterModule,TranslateModule\r\n  \r\n  ],\r\n  declarations: [ReviewComponent]\r\n})\r\nexport class ReviewModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/review/review.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { saasComponent } from './saas.component';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { FormsModule } from '@angular/forms';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\n\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n\r\nimport {Ng2Bs3ModalModule} from 'ng2-bs3-modal/ng2-bs3-modal';\r\n\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,RouterModule,Ng2Bs3ModalModule,DropdownModule,UiSwitchModule,FooterModule,FormsModule,BrowserModule,TranslateModule\r\n  ],\r\n  declarations: [saasComponent]\r\n})\r\nexport class SaasModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/saas/saas.module.ts","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {ServiceComponent} from './service.component';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport {FormsModule} from '@angular/forms';\r\nimport {TranslateModule} from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n@NgModule({\r\n    imports: [\r\n        CommonModule, RouterModule, DropdownModule,FooterModule, FormsModule, TranslateModule\r\n    ],\r\n    declarations: [ServiceComponent]\r\n})\r\nexport class ServiceModule {}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/service/service.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { settingComponent } from './setting.component';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { TranslateModule } from 'ng2-translate';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,RouterModule,TranslateModule\r\n  ],\r\n  declarations: [settingComponent]\r\n})\r\nexport class SettingModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/setting/setting.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SmsComponent } from './sms.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { TranslateModule } from 'ng2-translate';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,BrowserModule,FormsModule, UiSwitchModule,TranslateModule\r\n  ],\r\n  declarations: [SmsComponent]\r\n})\r\nexport class SmsModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/sms/sms.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AdminStoreHistoryComponent } from './history.component';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\nimport { MomentModule } from 'angular2-moment';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport {TooltipModule} from \"ngx-tooltip\";\r\n// import {RatingModule} from \"ngx-rating\";\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,DropdownModule,TooltipModule,FormsModule,FooterModule,RouterModule,MyDatePickerModule,TranslateModule,MomentModule,Ng2Bs3ModalModule\r\n  ],\r\n  declarations: [AdminStoreHistoryComponent]\r\n})\r\nexport class AdminStoreHistoryModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/store_history/history.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { StoreMapComponent } from './store_map.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport {TranslateModule} from 'ng2-translate';\r\nimport {FooterModule} from '../../../common/admin/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [ \r\n    FormsModule,\r\n    CommonModule, TranslateModule, FooterModule\r\n  ],\r\n  declarations: [StoreMapComponent]\r\n})\r\nexport class StoreMapModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/store_map/store_map.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AdminProductsComponent } from './products.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport {RouterModule,Routes} from \"@angular/router\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\n// import {RatingModule} from \"ngx-rating\";\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport {ImageCropperModule} from 'ng2-img-cropper';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,RouterModule, BrowserModule, DropdownModule, Ng2Bs3ModalModule, ImageCropperModule, FormsModule,FooterModule, UiSwitchModule , TranslateModule \r\n  ],\r\n  declarations: [AdminProductsComponent]\r\n})\r\nexport class AdminProductsModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/store_products/products.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { StoreReportComponent } from './store_report.component';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,DropdownModule,FormsModule,RouterModule,MyDatePickerModule,FooterModule,TranslateModule\r\n  ],\r\n  declarations: [StoreReportComponent]\r\n})\r\nexport class StoreReportModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/store_report/store_report.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AdminSettingComponent } from './setting.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { CustomFormsModule } from 'ng2-validation'\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\nimport { PdfViewerComponent } from 'ng2-pdf-viewer';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,FormsModule, CustomFormsModule ,FooterModule, UiSwitchModule, Ng2Bs3ModalModule , TranslateModule\r\n  ],\r\n  declarations: [AdminSettingComponent, PdfViewerComponent]\r\n})\r\nexport class AdminstoreSettingModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/store_setting/setting.module.ts","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {StoreWeeklyEarningComponent} from './store_weekly_earning.component';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport {FormsModule} from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport {MyDatePickerModule} from 'mydatepicker';\r\nimport {Ng2Bs3ModalModule} from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport {TranslateModule} from 'ng2-translate';\r\nimport {FooterModule} from '../../../common/admin/footer/footer.module';\r\nimport { MomentModule } from 'angular2-moment';\r\n\r\n@NgModule({\r\n    imports: [\r\n        CommonModule, DropdownModule, FormsModule, MomentModule, RouterModule, FooterModule, MyDatePickerModule, Ng2Bs3ModalModule, TranslateModule\r\n    ],\r\n    declarations: [StoreWeeklyEarningComponent]\r\n})\r\nexport class StoreWeeklyEarningModule {}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/store_weekly_earning/store_weekly_earning.module.ts","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {StoreWeeklyEarningStatementComponent} from './store_weekly_earning_statement.component';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport {FormsModule} from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport {MyDatePickerModule} from 'mydatepicker';\r\nimport { TranslateModule } from 'ng2-translate';\r\n@NgModule({\r\n    imports: [\r\n        CommonModule, DropdownModule, FormsModule, RouterModule, MyDatePickerModule,TranslateModule\r\n    ],\r\n    declarations: [StoreWeeklyEarningStatementComponent]\r\n})\r\nexport class StoreWeeklyEarningStatementModule {}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/store_weekly_earning_statement/store_weekly_earning_statement.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { StoresComponent } from './stores.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport {TooltipModule} from \"ngx-tooltip\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\nimport {MyDatePickerModule} from \"mydatepicker\";\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,DropdownModule,BrowserModule,MyDatePickerModule,FormsModule,FooterModule,RouterModule,UiSwitchModule,Ng2Bs3ModalModule,TooltipModule,TranslateModule\r\n  ],\r\n  declarations: [StoresComponent]\r\n})\r\nexport class StoresModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/stores/stores.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { teamComponent } from './team.component';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { FormsModule } from '@angular/forms';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,RouterModule,DropdownModule,UiSwitchModule,FormsModule,FooterModule,BrowserModule,TranslateModule\r\n  ],\r\n  declarations: [teamComponent]\r\n})\r\nexport class teamModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/team/team.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TransLanguageComponent } from './trans_language.component';\r\nimport { TRANSLATION_PROVIDERS, TranslatePipe, TranslateService }   from './translate';\r\n@NgModule({\r\n  imports: [\r\n    CommonModule\r\n  ],\r\n  declarations: [TransLanguageComponent],\r\n  providers:    [ TRANSLATION_PROVIDERS, TranslateService ]\r\n})\r\nexport class TransLanguageModule { }\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/trans_language/trans_language.module.ts","// lang-ar.ts\r\n\r\nexport const LANG_AR_NAME = 'ar';\r\n\r\nexport const LANG_AR_TRANS = {\r\n    'hello world': 'مرحبا بالعالم',\r\n    'hi':'مرحبا',\r\n    'dashboard':'لوحة القيادة'\r\n};\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/trans_language/translate/lang-ar.ts","// lang-en.ts\r\n\r\nexport const LANG_EN_NAME = 'en';\r\n\r\nexport const LANG_EN_TRANS = {\r\n    'hello world': 'hello world',\r\n    'hi': 'hi',\r\n    'dashboard':'dashboard'\r\n};\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/trans_language/translate/lang-en.ts","// lang-es.ts\r\n\r\nexport const LANG_ES_NAME = 'es';\r\n\r\nexport const LANG_ES_TRANS = {\r\n    'hello world': 'hola mundo',\r\n    'hi':'Hola',\r\n    'dashboard':'tablero'\r\n};\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/trans_language/translate/lang-es.ts","// lang-zh.ts\r\n\r\nexport const LANG_ZH_NAME = 'zh';\r\n\r\nexport const LANG_ZH_TRANS = {\r\n    'hello world': '你好，世界',\r\n    'hi':'嗨',\r\n    'dashboard':'仪表板'\r\n    \r\n};\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/trans_language/translate/lang-zh.ts","// app/translate/translate.pipe.ts\r\n\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\nimport { TranslateService } from '../translate'; // our translate service\r\n\r\n@Pipe({\r\n    name: 'translate',\r\n    pure: false // impure pipe, update value when we change language\r\n})\r\n\r\nexport class TranslatePipe implements PipeTransform {\r\n\r\n\tconstructor(private _translate: TranslateService) { }\r\n\r\n\ttransform(value: string, args: any[]): any {\r\n\t\tif (!value) return;\r\n\t\t\r\n\t\treturn this._translate.instant(value);\r\n\t}\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/trans_language/translate/translate.pipe.ts","import {Injectable, Inject} from '@angular/core';\r\nimport { TRANSLATIONS } from './translations'; // import our opaque token\r\n\r\n@Injectable()\r\nexport class TranslateService {\r\n\tprivate _currentLang: string;\r\n\t\r\n\tpublic get currentLang() {\r\n\t  return this._currentLang;\r\n\t}\r\n\r\n  // inject our translations\r\n\tconstructor(@Inject(TRANSLATIONS) private _translations: any) {\r\n\t}\r\n\r\n\tpublic use(lang: string): void {\r\n\t\t// set current language\r\n\t\tthis._currentLang = lang;\r\n\t}\r\n\r\n\tprivate translate(key: string): string {\r\n\t\t// private perform translation\r\n\t\tlet translation = key;\r\n    \r\n    if (this._translations[this.currentLang] && this._translations[this.currentLang][key]) {\r\n\t\t\treturn this._translations[this.currentLang][key];\r\n\t\t}\r\n\r\n\t\treturn translation;\r\n\t}\r\n\r\n\tpublic instant(key: string) {\r\n\t\t// public perform translation\r\n\t\treturn this.translate(key); \r\n\t}\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/trans_language/translate/translate.service.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TransactionHistoryComponent } from './transaction_history.component';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,DropdownModule,FormsModule,RouterModule,MyDatePickerModule,FooterModule,TranslateModule\r\n  ],\r\n  declarations: [TransactionHistoryComponent]\r\n})\r\nexport class TransactionHistoryModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/transaction_history/transaction_history.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UploadDocumentComponent } from './upload_document.component';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule\r\n  ],\r\n  declarations: [UploadDocumentComponent]\r\n})\r\nexport class UploadDocumentModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/upload_document/upload_document.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UserComponent } from './user.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport {TooltipModule} from \"ngx-tooltip\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,DropdownModule,BrowserModule,MyDatePickerModule,FormsModule,RouterModule,FooterModule,Ng2Bs3ModalModule,UiSwitchModule,TooltipModule,TranslateModule\r\n  ],\r\n  declarations: [UserComponent]\r\n})\r\nexport class UserModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/user/user.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UserHistoryComponent } from './history.component';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\nimport { MomentModule } from 'angular2-moment';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport {TooltipModule} from \"ngx-tooltip\";\r\n// import {RatingModule} from \"ngx-rating\";\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,DropdownModule,TooltipModule,FormsModule,FooterModule,RouterModule,MyDatePickerModule,TranslateModule,MomentModule,Ng2Bs3ModalModule\r\n  ],\r\n  declarations: [UserHistoryComponent]\r\n})\r\nexport class UserHistoryModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/user_history/history.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UserNewPasswordComponent } from './user_new_password.component';\r\n\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { CustomFormsModule } from 'ng2-validation'\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,FormsModule,CustomFormsModule,FooterModule,RouterModule,TranslateModule\r\n  \r\n  ],\r\n  declarations: [UserNewPasswordComponent]\r\n})\r\nexport class UserNewPasswordModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/user_new_password/user_new_password.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { VehicleComponent } from './vehicle.component';\r\n\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { FormsModule } from '@angular/forms';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\n\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,RouterModule,DropdownModule,UiSwitchModule,FooterModule,FormsModule,BrowserModule,TranslateModule\r\n  ],\r\n  declarations: [VehicleComponent]\r\n})\r\nexport class VehicleModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/vehicle/vehicle.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { VehicleDocumentComponent } from './vehicle_document.component';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,DropdownModule,FormsModule,FooterModule,RouterModule,MyDatePickerModule,TranslateModule\r\n  ],\r\n  declarations: [VehicleDocumentComponent]\r\n})\r\nexport class VehicleDocumentModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/vehicle_document/vehicle_document.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ViewBankDetailComponent } from './view_bank_detail.component';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,RouterModule,TranslateModule,FooterModule\r\n  ],\r\n  declarations: [ViewBankDetailComponent]\r\n})\r\nexport class ViewBankDetailModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/view_bank_detail/view_bank_detail.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ViewDocumentComponent } from './view_document.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,BrowserModule,FormsModule ,FooterModule, MyDatePickerModule,TranslateModule\r\n  ],\r\n  declarations: [ViewDocumentComponent]\r\n})\r\nexport class ViewDocumentModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/view_document/view_document.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ViewEarningDetailComponent } from './view_earning_detail.component';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,RouterModule,TranslateModule,FooterModule\r\n  ],\r\n  declarations: [ViewEarningDetailComponent]\r\n})\r\nexport class ViewEarningDetailModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/view_earning_detail/view_earning_detail.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ViewHistoryComponent } from './view_history.component';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,DropdownModule,FormsModule,RouterModule,FooterModule,MyDatePickerModule,TranslateModule\r\n  ],\r\n  declarations: [ViewHistoryComponent]\r\n})\r\nexport class ViewHistoryModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/view_history/view_history.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ViewInvoiceComponent } from './view_invoice.component';\r\nimport {RouterModule} from \"@angular/router\";\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,RouterModule\r\n  ],\r\n  declarations: [ViewInvoiceComponent]\r\n})\r\nexport class ViewInvoiceModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/view_invoice/view_invoice.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ViewOrderEarningDetailComponent } from './view_order_earning_detail.component';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,RouterModule,TranslateModule,FooterModule\r\n  ],\r\n  declarations: [ViewOrderEarningDetailComponent]\r\n})\r\nexport class ViewOrderEarningDetailModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/view_order_earning_detail/view_order_earning_detail.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ViewPromoUsesComponent } from './view_promo_uses.component';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,RouterModule,TranslateModule,FooterModule\r\n  ],\r\n  declarations: [ViewPromoUsesComponent]\r\n})\r\nexport class ViewPromoUsesModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/view_promo_uses/view_promo_uses.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ViewProviderHistoryComponent } from './view_provider_history.component';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,DropdownModule,FormsModule,RouterModule,FooterModule,MyDatePickerModule,TranslateModule\r\n  ],\r\n  declarations: [ViewProviderHistoryComponent]\r\n})\r\nexport class ViewProviderHistoryModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/view_provider_history/view_provider_history.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ViewReferralDetailComponent } from './view_referral_detail.component';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\n\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { TranslateModule } from 'ng2-translate';\r\n\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,DropdownModule,FormsModule,RouterModule,FooterModule,MyDatePickerModule,TranslateModule,BrowserModule\r\n  ],\r\n  declarations: [ViewReferralDetailComponent]\r\n})\r\nexport class ViewReferralDetailModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/view_referral_detail/view_referral_detail.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ViewReviewDetailComponent } from './view_review_detail.component';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,RouterModule,TranslateModule,FooterModule\r\n  ],\r\n  declarations: [ViewReviewDetailComponent]\r\n})\r\nexport class ViewReviewDetailModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/view_review_detail/view_review_detail.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ViewServiceDetailComponent } from './view_service_detail.component';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,RouterModule,TranslateModule,FooterModule\r\n  ],\r\n  declarations: [ViewServiceDetailComponent]\r\n})\r\nexport class ViewServiceDetailModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/view_service_detail/view_service_detail.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { WalletHistoryComponent } from './wallet_history.component';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport {TooltipModule} from \"ngx-tooltip\";\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,TooltipModule,Ng2Bs3ModalModule,DropdownModule,FormsModule,RouterModule,MyDatePickerModule,FooterModule,TranslateModule\r\n  ],\r\n  declarations: [WalletHistoryComponent]\r\n})\r\nexport class WalletHistoryModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/wallet_history/wallet_history.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { WalletRequestComponent } from './wallet_request.component';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,DropdownModule,FormsModule,Ng2Bs3ModalModule,FooterModule,RouterModule,MyDatePickerModule,TranslateModule\r\n  ],\r\n  declarations: [WalletRequestComponent]\r\n})\r\nexport class WalletRequestModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/wallet_request/wallet_request.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { WalletRequestBankDetailComponent } from './wallet_request_bank_detail.component';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,RouterModule,TranslateModule,FooterModule\r\n  ],\r\n  declarations: [WalletRequestBankDetailComponent]\r\n})\r\nexport class WalletRequestBankDetailModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/admin/wallet_request_bank_detail/wallet_request_bank_detail.module.ts","import {ToastModule, ToastOptions} from 'ng2-toastr/ng2-toastr';\r\n\r\n    export class CustomOption extends ToastOptions {\r\n        animate = 'flyRight';\r\n        showCloseButton = true;\r\n        positionClass = 'toast-top-center';\r\n    }\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/custom-option.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AddFranchiseItemComponent } from './add_item.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/franchise/footer/footer.module';\r\n\r\n@NgModule({\r\n    imports: [\r\n        CommonModule,BrowserModule,FormsModule, UiSwitchModule,Ng2Bs3ModalModule , FooterModule ,TranslateModule\r\n    ],\r\n    declarations: [AddFranchiseItemComponent]\r\n})\r\nexport class AddFranchiseItemModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/add_item/add_item.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AddFranchiseStoreComponent } from './add_store.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { CustomFormsModule } from 'ng2-validation';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\n\r\n@NgModule({\r\n    imports: [\r\n        CommonModule,BrowserModule,FormsModule, CustomFormsModule, UiSwitchModule,Ng2Bs3ModalModule , FooterModule ,TranslateModule\r\n    ],\r\n    declarations: [AddFranchiseStoreComponent]\r\n})\r\nexport class AddFranchiseStoreModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/add_store/add_store.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FranchiseStoreDeliveryComponent } from './delivery.component';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\n//import { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/franchise/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,DropdownModule,FormsModule,FooterModule,RouterModule,TranslateModule\r\n  ],\r\n  declarations: [FranchiseStoreDeliveryComponent]\r\n})\r\nexport class FranchiseStoreDeliveryModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/delivery/delivery.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { EditFranchiseItemComponent } from './edit_item.component';\r\n\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\n// import { SwiperModule } from 'angular2-useful-swiper';\r\nimport { TranslateModule } from 'ng2-translate';\r\n\r\nimport { FooterModule } from '../../../common/franchise/footer/footer.module';\r\n\r\n@NgModule({\r\n    declarations: [ EditFranchiseItemComponent],\r\n    imports: [\r\n        CommonModule,BrowserModule,FormsModule, UiSwitchModule,Ng2Bs3ModalModule,TranslateModule , FooterModule\r\n    ],\r\n\r\n})\r\nexport class EditFranchiseItemModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/edit_item/edit_item.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { EditFranchiseProductComponent } from './edit_product.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\nimport {ImageCropperModule} from 'ng2-img-cropper';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,BrowserModule,ImageCropperModule, Ng2Bs3ModalModule, FormsModule,FooterModule, UiSwitchModule,TranslateModule\r\n  ],\r\n  declarations: [EditFranchiseProductComponent]\r\n})\r\nexport class EditFranchiseProductModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/edit_product/edit_product.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { EditFranchiseStoreComponent } from './edit_store.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { CustomFormsModule } from 'ng2-validation'\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\nimport { ChartsModule } from 'ng2-charts';\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,BrowserModule,FormsModule,FooterModule, ChartsModule, CustomFormsModule , UiSwitchModule , Ng2Bs3ModalModule,TranslateModule\r\n    ],\r\n  declarations: [EditFranchiseStoreComponent]\r\n})\r\nexport class EditFranchiseStoreModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/edit_store/edit_store.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FranchiseForgotPasswordComponent } from './franchise_forgot_password.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { CustomFormsModule } from 'ng2-validation'\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,FormsModule,FooterModule,CustomFormsModule,RouterModule,TranslateModule\r\n  ],\r\n  declarations: [FranchiseForgotPasswordComponent]\r\n})\r\nexport class FranchiseForgotPasswordModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/franchise_forgot_password/franchise_forgot_password.module.ts","import {NgModule} from \"@angular/core\";\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport {franchise_loginComponent} from \"./franchise_login.component\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { AuthModule } from 'angular2-auth';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { CustomFormsModule } from 'ng2-validation';\r\nimport { FooterModule } from '../../../common/franchise/footer/footer.module';\r\nimport { FacebookModule } from 'ngx-facebook';\r\n\r\n@NgModule({\r\n    declarations: [franchise_loginComponent],\r\n    imports     : [BrowserModule, RouterModule, FacebookModule, FooterModule, Ng2Bs3ModalModule, FormsModule, CustomFormsModule, AuthModule.forRoot(),TranslateModule],\r\n})\r\n\r\nexport class franchise_LoginModule {}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/franchise_login/franchise_login.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FranchiseLogoutComponent } from './franchise_logout.component';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,FooterModule,TranslateModule\r\n  ],\r\n  declarations: [FranchiseLogoutComponent]\r\n})\r\nexport class FranchiseLogoutModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/franchise_logout/franchise_logout.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FranchiseNewPasswordComponent } from './franchise_new_password.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { CustomFormsModule } from 'ng2-validation'\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,FormsModule,CustomFormsModule,FooterModule,RouterModule,TranslateModule\r\n  ],\r\n  declarations: [FranchiseNewPasswordComponent]\r\n})\r\nexport class FranchiseNewPasswordModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/franchise_new_password/franchise_new_password.module.ts","import {NgModule} from \"@angular/core\";\r\nimport { CommonModule } from '@angular/common';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport {franchise_registerComponent} from \"./franchise_register.component\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { CustomFormsModule } from 'ng2-validation'\r\n    import { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\n    // import {GooglePlaceModule} from 'ng2-google-place-autocomplete';\r\n    import { TranslateModule } from 'ng2-translate';\r\n   import { FooterModule } from '../../../common/store/footer/footer.module';\r\nimport { FacebookModule } from 'ngx-facebook';\r\n\r\n@NgModule({\r\n    declarations: [franchise_registerComponent],\r\n    imports     : [CommonModule, CustomFormsModule, FacebookModule, FooterModule, BrowserModule,TranslateModule, RouterModule, FormsModule,Ng2Bs3ModalModule],\r\n})\r\n\r\nexport class franchise_RegisterModule {}\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/franchise_register/franchise_register.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FranchiseStoreHistoryComponent } from './history.component';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/franchise/footer/footer.module';\r\nimport { MomentModule } from 'angular2-moment';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\n// import {RatingModule} from \"ngx-rating\";\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule, DropdownModule, FormsModule, FooterModule, RouterModule ,MyDatePickerModule, Ng2Bs3ModalModule , TranslateModule, MomentModule\r\n  ],\r\n  declarations: [FranchiseStoreHistoryComponent]\r\n})\r\nexport class FranchiseStoreHistoryModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/history/history.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FranchiseItemComponent } from './item.component';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/franchise/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,RouterModule,FooterModule,UiSwitchModule,BrowserModule,FormsModule,DropdownModule, TranslateModule\r\n  ],\r\n  declarations: [FranchiseItemComponent]\r\n})\r\nexport class FranchiseItemModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/item/item.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FranchiseStoreOrderComponent } from './order.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/franchise/footer/footer.module';\r\n//import { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule, DropdownModule, BrowserModule, FooterModule, FormsModule, RouterModule, TranslateModule\r\n  ],\r\n  declarations: [FranchiseStoreOrderComponent]\r\n})\r\nexport class FranchiseStoreOrderModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/order/order.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FranchiseOrderEarningDetailComponent } from './order_earning_detail.component';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/franchise/footer/footer.module';\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,RouterModule , FooterModule,TranslateModule\r\n  ],\r\n  declarations: [FranchiseOrderEarningDetailComponent]\r\n})\r\nexport class FranchiseOrderEarningDetailModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/order_earning_detail/order_earning_detail.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FranchiseProductsComponent } from './products.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport {RouterModule,Routes} from \"@angular/router\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/franchise/footer/footer.module';\r\n// import {RatingModule} from \"ngx-rating\";\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,RouterModule,BrowserModule, Ng2Bs3ModalModule, FormsModule,FooterModule, UiSwitchModule , TranslateModule\r\n  ],\r\n  declarations: [FranchiseProductsComponent]\r\n})\r\nexport class FranchiseProductsModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/products/products.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FranchiseProfileComponent } from './profile.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { CustomFormsModule } from 'ng2-validation'\r\nimport { FooterModule } from '../../../common/franchise/footer/footer.module';\r\nimport { NavigationModule } from '../../../common/franchise/navigation/navigation.module';\r\nimport { ChartsModule } from 'ng2-charts';\r\n\r\n\r\n@NgModule({\r\n    imports: [\r\n      CommonModule,BrowserModule,FormsModule,FooterModule, NavigationModule, ChartsModule, CustomFormsModule , UiSwitchModule , Ng2Bs3ModalModule,TranslateModule\r\n    ],\r\n    declarations: [FranchiseProfileComponent]\r\n})\r\nexport class FranchiseProfileModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/profile/profile.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FranchiseSpecificationComponent } from './specification.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,BrowserModule,FormsModule,FooterModule,TranslateModule\r\n  ],\r\n  declarations: [FranchiseSpecificationComponent]\r\n})\r\nexport class FranchiseSpecificationModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/specification/specification.module.ts","let http_url = 'http://localhost:8000'\r\n\r\nexport var GET_METHOD = {\r\n\r\n    GET_COUNTRY_LIST : 'api/admin/get_country_list'\r\n}\r\n\r\n\r\n\r\nexport var POST_METHOD = {\r\n    REGISTER : '/api/franchise/register',\r\n    STORE_REGISTER : '/api/store/register',\r\n    ADMIN_OTP_VERIFICATION : '/api/admin/otp_verification',\r\n    FORGOT_PASSWORD : '/api/admin/forgot_password',\r\n    GET_CITY_LIST: '/api/admin/get_city_list',\r\n    GET_DELIVERY_LIST_FOR_CITY: '/api/admin/get_delivery_list_for_city',\r\n    GET_SETTING_DETAIL : '/api/admin/get_setting_detail',\r\n    LOGIN : '/api/franchise/login',\r\n    GET_FRANCHISE_DATA : '/api/franchise/get_franchise_data',\r\n    GET_PRODUCT_LIST : '/api/franchise/get_product_list',\r\n    GET_STORE_LIST : '/api/franchise/store_list_search_sort_franchises',\r\n    LOGOUT: '/api/franchise/logout',\r\n    UPDATE : '/api/franchise/update',\r\n    GET_STORE_DATA : '/api/franchise/get_store_data',\r\n    GET_IMAGE_SETTING : '/api/admin/get_image_setting',\r\n    ADD_PRODUCT : '/api/franchise/add_product',\r\n    GET_PRODUCT_DATA : '/api/franchise/get_product_data',\r\n    GET_PRODUCT_STORE_LIST : '/api/franchise/get_product_store_data',\r\n    UPDATE_PRODUCT : '/api/franchise/update_product',\r\n    GET_SPECIFICATION_GROUP: '/api/franchise/get_specification_group',\r\n    ADD_SPECIFICATION_GROUP : '/api/franchise/add_specification_group',\r\n    DELETE_SPECIFICATION_GROUP : '/api/franchise/delete_specification_group',\r\n    ADD_SPECIFICATION : '/api/franchise/add_specification',\r\n    DELETE_SPECIFICATION : '/api/franchise/delete_specification',\r\n    GET_STORE_PRODUCT_ITEM_LIST : '/api/franchise/get_store_product_item_list',\r\n    GET_FOR_STORE_PRODUCT_ITEM_LIST : '/api/franchise/get_for_store_product_item_list',\r\n    IS_ITEM_IN_STOCK: '/api/franchise/is_item_in_stock',\r\n    GET_SOECIFICATION_LIST : '/api/franchise/get_specification_lists',\r\n    GET_SPECIFICATION_LISTS : '/api/franchise/get_specification_lists',\r\n    ADD_ITEM : '/api/franchise/add_item',\r\n    GET_ITEM_DATA : '/api/franchise/get_item_data',\r\n    UPDATE_ITEM : '/api/franchise/update_item',\r\n    UPDATE_ITEM_IMAGE : '/api/franchise/update_item_image',\r\n    DELETE_ITEM_IMAGE : '/api/franchise/delete_item_image',\r\n    ORDER_LIST_SEARCH_SORT : '/api/franchise/order_list_search_sort',\r\n    STORE_RATING_TO_USER:\"/api/franchise/rating_to_user\",\r\n    STORE_RATING_TO_PROVIDER:\"/api/franchise/rating_to_provider\",\r\n    DELIVERY_LIST_SEARCH_SORT : '/api/franchise/delivery_list_search_sort',\r\n    GET_ORDER_DETAIL : '/api/franchise/get_order_detail',\r\n    HISTORY : '/api/franchise/history',\r\n    PROVIDER_LOCATION_TRACK : '/api/franchise/provider_location_track',\r\n   /* CHECK_DETAIL : '/api/admin/check_detail',\r\n    CANCEL_REQUEST : '/api/franchise/cancel_request',\r\n    ORDER_PAYMENT_STATUS_SET_ON_CASH_ON_DELIVERY : '/api/franchise/order_payment_status_set_on_cash_on_delivery',\r\n    SET_ORDER_STATUS : '/api/franchise/set_order_status',\r\n    STORE_CANCEL_OR_REJECT_ORDER : '/api/franchise/store_cancel_or_reject_order',\r\n    CREATE_REQUEST : '/api/franchise/create_request',\r\n    STORE_COMPLETE_ORDER :\"api/franchise/complete_order\",\r\n    ADD_ITEM_IN_CART: \"api/user/add_item_in_cart\",\r\n    NEW_PASSWORD : '/api/admin/new_password',\r\n    CHECK_REFERRAL: '/api/admin/check_referral',\r\n    GET_DOCUMENT_LIST : '/api/admin/get_document_list',\r\n    UPLOAD_DOCUMENT : '/api/admin/upload_document',\r\n    GET_ORDER_CART_INVOICE: \"api/user/get_order_cart_invoice\",\r\n    GET_USER :\"/api/store/get_user\",\r\n    PAY_ORDER_PAYMENT: \"api/user/pay_order_payment\",\r\n    CREATE_ORDER: \"api/user/create_order\",\r\n    APPLY_PROMO_CODE: \"api/user/apply_promo_code\",\r\n    GET_COUNTRY_PHONE_NUMBER_LENGTH: 'api/store/get_country_phone_number_length',\r\n\r\n    UPLOAD_ITEM_IMAGE : '/api/store/upload_item_image',\r\n    DAILY_EARNING : '/api/store/daily_earning',\r\n    GET_STORE_EARNING : '/api/store/get_store_earning',\r\n    CHANGE_DELIVERY_ADDRESS: 'api/user/change_delivery_address',\r\n    GET_ORDER_DATA : '/api/store/get_order_data',\r\n    ADD_PRODUCT : '/api/store/add_product',\r\n    GET_STORE_DATA : '/api/store/get_store_data',\r\n    OTP_VERIFICATION : '/api/store/otp_verification',\r\n    UPDATE_STORE_TIME : '/api/store/update_store_time',\r\n    REGISTER : '/api/store/register',\r\n    WEEKLY_EARNING : '/api/store/weekly_earning',\r\n\r\n    */\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/store_http_methods.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FranchiseStoreItemComponent } from './store_item.component';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/franchise/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,RouterModule,FooterModule,UiSwitchModule,BrowserModule,FormsModule,DropdownModule, TranslateModule\r\n  ],\r\n  declarations: [FranchiseStoreItemComponent]\r\n})\r\nexport class FranchiseStoreItemModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/store_item/store_item.module.ts","\r\nexport var ERROR_CODE = {\r\n    \r\n    999:\"Token Expired\",\r\n    1000:\"Data Not Found\",\r\n    2000:\"Token Expired\",\r\n    2001:\"Set Password failed\",\r\n    \r\n    601:\"Registration Failed\",\r\n    602:\"Email Already Registered\",\r\n    603:\"Mobile Number Already Registered\",\r\n    605:\"Already Registered With Social\",\r\n    606:\"Not Registered With Social\",\r\n    611:\"Login Failed\",\r\n    612:\"Email Not Registered\",\r\n    613:\"Invalid Passowrd\",\r\n    621:\"Update Failed\",\r\n    623:\"Logout Failed\",\r\n    631:\"Invalid Referral Code\",\r\n    632:\"Referral Already Used\",\r\n    633:\"Referral Process Failed\",\r\n\r\n    634:\"Store Data Not Found\",\r\n    635:\"Store Business Off\",\r\n    636:\"Order History Not Found\",\r\n    637:\"Order Detail Not Found\",\r\n    638:\"Otp Verification Failed\",\r\n    639:\"Email And Phone Number Already Registered\",\r\n    641:\"Daily Earning Not Found\",\r\n    642:\"Weekly Earning Not Found\",\r\n    \r\n    871:\"Add Product Failed\",\r\n    872:\"Product Not Found\",\r\n    873:\"Update Product Failed\",\r\n    \r\n    881:\"Specification Add Failed\",\r\n    882:\"Specification Not Found\",\r\n    \r\n    891:\"Item Data Add Failed\",\r\n    892:\"Item Not Found\",\r\n    893:\"Item Image Upload failed\",\r\n    894:\"Item Image Update Failed\",\r\n    895:\"Item Update Failed\",\r\n    896:\"Item Status Changed failed\",\r\n    \r\n    1001:\"Document Add Failed\",\r\n    1002:\"Document Not Found\",\r\n    1003:\"Document List Not Found\",\r\n    1004:\"Document Upload Failed\",\r\n    1005:\"Update Failed\",\r\n\r\n    1041:\"Specification Group Add Failed\",\r\n    1042:\"Specification Group List Not Found\"\r\n        \r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/store_panel_error_message .ts","\r\nexport var MESSAGE_CODE = {\r\n    \r\n    121:\"Register Successfully\",\r\n    122:\"Login Successfully\",\r\n    123:\"Update Successfully\",\r\n    124:\"Password Reset Successfully\",\r\n    125:\"Get Otp Successfully\",\r\n    127:\"Logout Successfully\",\r\n    131:\"Skipped Referral Process\",\r\n    132:\"Referral Process Successfully\",\r\n    133:\"Store Data Successfully\",\r\n    134:\"Store List Get Successfully\",\r\n    135:\"Order History Get Successfully\",\r\n    136:\"Store Detail Get Successfully\",\r\n    137:\"Approved Successfully\",\r\n    138:\"Declined Successfully\",\r\n    139:\"Get Detail Successfully\",\r\n    140:\"Otp Verification Successfully\",\r\n\r\n    142:\"Give Rating To User Successfully\",\r\n    143:\"Give Rating To Provider Successfully\",\r\n    144:\"Get Daily Earning Successfully\",\r\n    145:\"Get Weekly Earning Successfully\",\r\n    146:\"Cancel Request Successfully\",\r\n    \r\n    \r\n    381:\"Product Add Successfully\",\r\n    382:\"Get Product List Successfully\",\r\n    383:\"Product Update Successfully\",\r\n    391:\"Specification Add Successfully\",\r\n    392:\"Get Specification List Successfully\",\r\n    393:\"Specification Delete Successfully\",\r\n    \r\n    901:\"Item Add Successfully\",\r\n    902:\"Item Image Upload Successfully\",\r\n    903:\"Item Image Update Successfully\",\r\n    904:\"Get Item List Successfully\",\r\n    905:\"Item Update Successfully\",\r\n    906:\"Item State Change Successfully\",\r\n    911:\"Document Add Successfully\",\r\n    912:\"Document List Successfully\",\r\n    913:\"Document Upload Successfully\",\r\n    914:\"Document Update Successfully\",\r\n    2041:\"Specification Added Successfully\",\r\n    2042:\"Get Specification List Successfully\",\r\n\r\n    241: \"Order Created Successfully\",\r\n        \r\n        \r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/store_panel_success_message.ts","\r\nexport var validation_message = {\r\n\r\n\temail_required : \"Email is required\",\r\n\tvalid_email : \"Please Enter Valid Email Address\",\r\n\tphone_required : \"Phone Number is required\",\r\n\tphone_minlength : \"Please Enter Atleast Character\",\r\n\tphone_maxlength : \"Do Not Enter More Than Character\",\r\n\tname_required : \"Name  is required\",\r\n\taddress_required : \"Address  is required\",\r\n\tlatitude_required : \"Latitude  is required\",\r\n\tlongitude_required : \"Longitude  is required\",\r\n\tpassword_required : \"Password is required\",\r\n\tpassword_minlength : \"Please Enter Atleast Character\",\r\n\titem_tax_required: \"Item Tax is required\",\r\n\tfree_delivery_for_above_order_price_required: \"Price is required\",\r\n    free_delivery_within_radius_required: \"Radius is required\",\r\n\tstore_open_time_required: \"Store Open Time is required\",\r\n\tstore_close_time_required: \"Store Close Time is required\",\r\n\tproduct_name_required:\"Product Name is required\",\r\n\tproduct_detail_required: \"Product Detail is required\",\r\n\tproduct_image_required: \"Product Image is required\",\r\n\r\n\tselect_product_required: \"Select Product\",\r\n\titem_name_required: \"Item Name is required\",\r\n\titem_detail_required: \"Item Detail is required\",\r\n\titem_price_required: \"Item price is required\",\r\n\tmatch_confirm_password: \"Not match\",\r\n\r\n\tselect_country_required:\"Select Country First\",\r\n\r\n\tselect_city_required:\"Select City First\",\r\n\tselect_delivery_type_required:\"Select Delivery Type First\",\r\n\r\n\temail_otp_wrong: \"Email Otp Wrong\",\r\n\tsms_otp_erong: \"Sms Otp Wrong\",\r\n\totp_wrong: \"Opt Wrong\",\r\n\r\n\topen_time_not_greater_close_time: \"Open Time Not Greater Than Close Time\",\r\n\tinvalid_open_time:\"Invalid Open Time\",\r\n\tclose_time_not_less_open_time: \"Close Time Not Less Than Open Time\",\r\n\tinvalid_close_time:\"Invalid Close Time\",\r\n\r\n\timage_required:\"Image is required\",\r\n\tunique_code_required:\"Unique Code is required\",\r\n\texpired_date_required:\"Expiry date is required\",\r\n    email_or_phone_required:\"Email Or Phone required\",\r\n    valid_email_or_phone:\"Enter Valid Email or Phone\",\r\n    confirmation_code_wrong: \"Confirmation Code Wrong\"\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/store_panel_validation_message.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FranchiseStoresComponent } from './stores.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport {TooltipModule} from \"ngx-tooltip\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/admin/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,DropdownModule,BrowserModule,FormsModule,FooterModule,RouterModule,UiSwitchModule,Ng2Bs3ModalModule,TooltipModule,TranslateModule\r\n  ],\r\n  declarations: [FranchiseStoresComponent]\r\n})\r\nexport class FranchiseStoresModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/stores/stores.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FranchiseStoreTrackDeliveryManComponent } from './track_delivery_man.component';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/franchise/footer/footer.module';\r\n// import { AgmCoreModule } from \"angular2-google-maps/core\";\r\n\r\n@NgModule({\r\n  imports: [\r\n    // AgmCoreModule.forRoot({\r\n    //     apiKey: \"AIzaSyBdp63UjqKdWrgjhYRqombTjTLv-dIczNI\"\r\n    // }),\r\n    CommonModule,FooterModule,TranslateModule\r\n  ],\r\n  declarations: [FranchiseStoreTrackDeliveryManComponent]\r\n})\r\nexport class FranchiseStoreTrackDeliveryManModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/track_delivery_man/track_delivery_man.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FranchiseStoreViewCartComponent } from './view_cart.component';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/franchise/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,RouterModule ,FooterModule, TranslateModule\r\n  ],\r\n  declarations: [FranchiseStoreViewCartComponent]\r\n})\r\nexport class FranchiseStoreViewCartModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/view_cart/view_cart.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FranchiseStoreViewOrderComponent } from './view_order.component';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/franchise/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,RouterModule ,FooterModule, TranslateModule\r\n  ],\r\n  declarations: [FranchiseStoreViewOrderComponent]\r\n})\r\nexport class FranchiseStoreViewOrderModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/view_order/view_order.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ViewFranchiseStoreDetailComponent } from './view_store_detail.component';\r\nimport {RouterModule} from \"@angular/router\";\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,RouterModule\r\n  ],\r\n  declarations: [ViewFranchiseStoreDetailComponent]\r\n})\r\nexport class ViewFranchiseStoreDetailModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/franchise/view_store_detail/view_store_detail.module.ts","import { Component, OnInit, ViewChild ,ElementRef} from '@angular/core';\r\nimport {Response } from '@angular/http';\r\nimport {Helper} from \"../../store_helper\";\r\ndeclare var jQuery:any;\r\ndeclare var swal: any;\r\nimport {ImageCropperComponent, CropperSettings} from 'ng2-img-cropper';\r\nimport { ModalComponent } from 'ng2-bs3-modal/ng2-bs3-modal';\r\n\r\nexport interface AddItem{\r\n    store_id: Object,\r\n    server_token:String,\r\n    product_id: Object,\r\n    details: String,\r\n    name: String,\r\n    price: number,\r\n    is_visible_in_store:  Boolean,\r\n    is_item_in_stock: Boolean,\r\n    is_most_popular:  Boolean,\r\n    item_specification_name:String,\r\n    type:Number,\r\n    specification_group_id: Object,\r\n    specifications_unique_id_count: number,\r\n    is_required: Boolean\r\n}\r\n\r\nexport interface imageSetting{\r\n    image_ratio: number,\r\n    image_min_width: number,\r\n    image_max_width: number\r\n    image_min_height: number,\r\n    image_max_height: number,\r\n    image_type: any[]\r\n}\r\n\r\n@Component({\r\n  selector: 'app-add_item',\r\n  template: require('./add_item.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class AddItemComponent implements OnInit {\r\n\r\n    @ViewChild('myModal')\r\n    modal: ModalComponent;\r\n    @ViewChild('myspec_group_modal')\r\n    myspec_group_modal: ModalComponent;\r\n\r\n    @ViewChild('image_crop_modal')\r\n    image_crop_modal: ModalComponent;\r\n    @ViewChild('cropper', undefined)\r\n    cropper:ImageCropperComponent;\r\n    \r\n    private add_item: AddItem;\r\n    public image_setting : imageSetting;\r\n    title:any;\r\n    button:any;\r\n    heading_title:any;\r\n    validation_message:any;\r\n    product_list:any[];\r\n    product_data:any;\r\n    product_specification_list:any[];\r\n    product_specification_group_list:any[];\r\n    specification_id_array:any[];\r\n    selected_specification_list:any[];\r\n    item_specification_list:any[];\r\n    spec_list_error:number;\r\n    // htmlToAdd:string;\r\n    image_array:any[];\r\n    myLoading:boolean = true;\r\n    new_image_array: any[] = [];\r\n    checked_array: any[] = [];\r\n    item_list: any[] = [];\r\n    item_already_exist: Boolean = false;\r\n    message:any;\r\n    image_error: string = '';\r\n\r\n    data: any;\r\n    cropperSettings: CropperSettings;\r\n\r\n    constructor(private helper:Helper) {\r\n        this.cropperSettings = new CropperSettings();\r\n        this.cropperSettings.canvasWidth = 400;\r\n        this.cropperSettings.canvasHeight = 400;\r\n        this.cropperSettings.noFileInput = true;\r\n        this.cropperSettings.preserveSize = true;\r\n        this.cropperSettings.height = 200;\r\n        this.cropperSettings.width = this.cropperSettings.height * this.helper.image_ratio.ITEM_IMAGE;\r\n\r\n\r\n        this.data = {};\r\n    }\r\n    ngAfterViewInit() {\r\n        jQuery(\"#product\").chosen()\r\n    }\r\n\r\n    ngOnInit() {\r\n        let token = this.helper.tokenService.getToken();\r\n\r\n        if(!token || !token.token) {\r\n            this.helper.router.navigate(['store/login']);\r\n        }\r\n        this.add_item ={\r\n            store_id: \"\",\r\n            server_token:\"\",\r\n            product_id: \"\",\r\n            details: \"\",\r\n            name: \"\",\r\n            price: 10,\r\n            is_visible_in_store:  true,\r\n            is_item_in_stock: true,\r\n            is_most_popular:  false,\r\n            type:1,\r\n            item_specification_name:\"\",\r\n            specification_group_id:\"\",\r\n            specifications_unique_id_count:0,\r\n            is_required:false\r\n        }\r\n\r\n        this.image_setting = {\r\n            image_ratio : 1,\r\n            image_min_width: 100,\r\n            image_max_width: 100,\r\n            image_min_height: 100,\r\n            image_max_height: 100,\r\n            image_type: []\r\n        }\r\n        let store = JSON.parse(localStorage.getItem('store'));\r\n        if(store!==null)\r\n        {\r\n            this.add_item.store_id=store._id\r\n            this.add_item.server_token=store.server_token\r\n\r\n            this.helper.http.post(this.helper.POST_METHOD.GET_PRODUCT_LIST,{store_id:store._id, server_token:store.server_token}).map((res_data: Response) => res_data.json()) .subscribe(res_data => {\r\n\r\n                this.myLoading=false;\r\n                if(res_data.success === false) {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message()\r\n                    this.product_data= {};\r\n                    this.product_list = [];\r\n                    this.item_list= [];\r\n                } else {\r\n                    this.product_data = res_data.products\r\n                    this.product_list = res_data.products\r\n                    this.item_list = res_data.item_array;\r\n                    setTimeout(function() {\r\n                        jQuery(\"#product\").chosen()\r\n                        jQuery(\"#product\").trigger(\"chosen:updated\");\r\n                    },1000);\r\n                }\r\n            },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n\r\n            this.helper.http.post(this.helper.POST_METHOD.GET_IMAGE_SETTING, {\r\n            }).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n                    this.image_setting.image_ratio = res_data.image_setting.item_image_ratio;\r\n                    this.image_setting.image_min_width = res_data.image_setting.item_image_min_width;\r\n                    this.image_setting.image_max_width = res_data.image_setting.item_image_max_width;\r\n                    this.image_setting.image_min_height = res_data.image_setting.item_image_min_height;\r\n                    this.image_setting.image_max_height = res_data.image_setting.item_image_max_height;\r\n                    this.image_setting.image_type = res_data.image_setting.image_type;\r\n\r\n                    setTimeout(() => {\r\n                        this.cropperSettings.width = this.cropperSettings.height * res_data.image_setting.product_image_ratio;\r\n                    },1000);\r\n                },\r\n                (error: any) => {\r\n                    this.myLoading = false;\r\n                    this.helper.http_status(error)\r\n                });\r\n        }\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.heading_title=this.helper.heading_title;\r\n        this.validation_message=this.helper.validation_message;\r\n        this.message = this.helper.messages;\r\n        this.specification_id_array=[];\r\n        this.selected_specification_list=[];\r\n        this.item_specification_list=[];\r\n        this.spec_list_error=0\r\n        this.product_specification_group_list=[];\r\n        this.image_array=[];\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#product').on('change', (evnt,res_data) => {\r\n\r\n            this.add_item.product_id=res_data.selected;\r\n            this.item_specification_list=[];\r\n            this.set_specification_list(res_data.selected)\r\n            this.check_item();\r\n        });\r\n        setTimeout( () => {\r\n            jQuery(this.helper.elementRef.nativeElement).find('.bootstrap-touchspin-down').on('click', (evnt, res_data) => {\r\n                if(this.add_item.price > 0) {\r\n                    this.add_item.price--;\r\n                }\r\n            });\r\n            jQuery(this.helper.elementRef.nativeElement).find('.bootstrap-touchspin-up').on('click', (evnt, res_data) => {\r\n                this.add_item.price++;\r\n            });\r\n        },1000);\r\n\r\n    }\r\n\r\n    check_item()\r\n    {\r\n        var item_index = this.item_list.findIndex(x => x.item_name.toLowerCase()==this.add_item.name.toLowerCase() && x.product_id==this.add_item.product_id )\r\n        if(item_index == -1)\r\n        {\r\n            this.item_already_exist = false;\r\n        }\r\n        else\r\n        {\r\n            this.item_already_exist = true;\r\n        }\r\n    }\r\n    \r\n    public formData = new FormData();\r\n\r\n    image_update($event, fieldname) {\r\n        this.image_error = \"\";\r\n        const files = $event.target.files || $event.srcElement.files;\r\n\r\n        // for(var i=0; i<files.length; i++){\r\n            const image_url = files[0];\r\n            var index = this.image_setting.image_type.indexOf(image_url.type);\r\n            if (index !== -1) {\r\n                var reader = new FileReader();\r\n\r\n                reader.onload = (e: any) => {\r\n                    var new_image = new Image();\r\n                    new_image.src = e.target.result;\r\n                    this.cropper.setImage(new_image);\r\n                    new_image.onload = () => {\r\n\r\n                        if(new_image.width >= this.image_setting.image_min_width && new_image.width < this.image_setting.image_max_width &&\r\n                            new_image.height >= this.image_setting.image_min_height && new_image.height < this.image_setting.image_max_height ){\r\n\r\n                            if(new_image.width == (new_image.height * this.image_setting.image_ratio)){\r\n\r\n                                this.new_image_array.unshift({base64_image: e.target.result, file: image_url});\r\n                            } else {\r\n                                this.image_crop_modal.open();\r\n                                this.image_error = this.title.item_image_ratio_error;\r\n                            }\r\n\r\n                        } else {\r\n                            this.image_crop_modal.open();\r\n                            this.image_error = this.title.item_image_size_error;\r\n                        }\r\n\r\n                    }\r\n                }\r\n                reader.readAsDataURL(image_url);\r\n            } else {\r\n                this.image_error = this.title.item_image_extension_error;\r\n            }\r\n        // }\r\n    }\r\n\r\n    crop($event){\r\n        this.image_error = '';\r\n        function dataURLtoFile(dataurl, filename) {\r\n            var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],\r\n                bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);\r\n            while(n--){\r\n                u8arr[n] = bstr.charCodeAt(n);\r\n            }\r\n            return new File([u8arr], filename, {type:mime});\r\n        }\r\n\r\n        let image_type = this.image_setting.image_type\r\n        image_type= image_type[0].split('/')\r\n        var image_url = dataURLtoFile(this.cropper.image.image, 'image.'+image_type[0]);\r\n\r\n        var reader = new FileReader();\r\n        reader.onload = (e: any) => {\r\n            var new_image = new Image();\r\n            new_image.src = e.target.result;\r\n            // this.cropper.setImage(new_image);\r\n            new_image.onload = () => {\r\n\r\n                if(new_image.width >= this.image_setting.image_min_width && new_image.width < this.image_setting.image_max_width &&\r\n                    new_image.height >= this.image_setting.image_min_height && new_image.height < this.image_setting.image_max_height ){\r\n\r\n                    this.new_image_array.unshift({base64_image: e.target.result, file: image_url});\r\n                    // this.formData.append('image_url', image_url)\r\n                    this.image_crop_modal.close();\r\n\r\n                } else {\r\n                    this.image_error = this.title.item_image_size_error;\r\n                }\r\n\r\n            }\r\n        }\r\n        reader.readAsDataURL(image_url);\r\n\r\n    }\r\n\r\n    remove_new_image(index)\r\n    {\r\n        this.new_image_array.splice(index , 1)\r\n    }\r\n\r\n    open_specification_group_modal()\r\n    {\r\n        this.myspec_group_modal.open();\r\n    }\r\n\r\n    open_specification_modal(id , product_id ,name , unique_id)\r\n    {\r\n        this.myLoading=true;\r\n        this.checked_array=[];\r\n        this.add_item.specification_group_id = id;\r\n        // this.add_item.specification_group_unique_id = unique_id;\r\n        this.myspec_group_modal.close();\r\n        var json =  {    store_id:this.add_item.store_id, \r\n                        server_token:this.add_item.server_token,\r\n                        product_id:product_id,\r\n                        specification_group_id:id\r\n                    }\r\n        this.add_item.is_required=false;\r\n        this.add_item.type=1;\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_SOECIFICATION_LIST, json).map((res_data: Response) => res_data.json()) .subscribe(res_data => {\r\n\r\n                this.myLoading=false;\r\n                if(res_data.success == false)\r\n                {\r\n                        this.helper.data.storage = {\r\n                            \"code\": res_data.error_code,\r\n                            \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                            \"class\": \"alert-danger\"\r\n                        }\r\n\r\n                        this.add_item.item_specification_name=name;\r\n                        this.product_specification_list=[];\r\n                        this.modal.open();\r\n\r\n                }\r\n                else\r\n                {\r\n                    this.add_item.item_specification_name=name;\r\n                    this.product_specification_list=res_data.specification_list.specifications;\r\n                    this.modal.open();\r\n                }\r\n                this.update_check_box();\r\n\r\n            },\r\n            (error: any) => {\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    update_check_box()\r\n    {\r\n        setTimeout(() => {\r\n            jQuery('.icheck').iCheck({\r\n                handle: 'checkbox',\r\n                checkboxClass: 'icheckbox_square-green',\r\n            });\r\n            jQuery('#1').iCheck('check');\r\n\r\n            jQuery('.icheck').on('ifChecked', (event) => {\r\n                var id = event.target.getAttribute('value')\r\n                this.specification_id_array.push(id)\r\n                var checked_index = this.product_specification_list.findIndex(x => x._id == id);\r\n\r\n                this.checked_array[checked_index]=true;\r\n            });\r\n\r\n            jQuery('.icheck').on('ifUnchecked', (event) => {\r\n                var id = event.target.getAttribute('value')\r\n                var i = this.specification_id_array.indexOf(id);\r\n                if(i != -1) {\r\n                    this.specification_id_array.splice(i, 1);\r\n                }\r\n                var checked_index = this.product_specification_list.findIndex(x => x._id == id);\r\n                this.product_specification_list[checked_index].price = 0;\r\n                this.product_specification_list[checked_index].is_default_selected = false;\r\n                this.checked_array[checked_index]=false;\r\n            });\r\n\r\n            jQuery('.iradio').iCheck({\r\n                handle:'radio',\r\n                radioClass: 'iradio_square-green'\r\n            });\r\n\r\n            jQuery('.iradio').on('ifChanged', (event) => {\r\n                var value = Number(event.target.getAttribute('value'))\r\n                this.add_item.type=value\r\n                for(var i=0; i<=this.product_specification_list.length - 1; i++)\r\n                {\r\n                    this.product_specification_list[i].is_default_selected=false;\r\n                }\r\n            });\r\n        },1000);\r\n    }\r\n\r\n    addSpecification(data)\r\n    {\r\n        var size = this.specification_id_array.length;\r\n        if(size == 0)\r\n        {\r\n            this.spec_list_error=1\r\n        }\r\n        else\r\n        {\r\n            for(var i=0; i<size; i++)\r\n            {\r\n                var product_size = this.product_specification_list.length;\r\n                for(var j=0; j<product_size ; j++)\r\n                {\r\n                    if(this.product_specification_list[j]._id === this.specification_id_array[i])\r\n                    {\r\n                        this.selected_specification_list.push({_id:this.product_specification_list[j]._id,\r\n                                     unique_id:this.product_specification_list[j].unique_id,\r\n                                     name:this.product_specification_list[j].name,\r\n                                     price:Number(this.product_specification_list[j].price),\r\n                                     is_default_selected:this.product_specification_list[j].is_default_selected,\r\n                                     is_user_selected:false});\r\n                    }\r\n                }\r\n            }\r\n            this.add_item.specifications_unique_id_count++;\r\n            this.selected_specification_list.sort(this.sortSpecification);\r\n            this.item_specification_list.push({_id:data.specification_group_id ,\r\n                                                    is_required:data.is_required,\r\n                                                    name:data.item_specification_name,\r\n                                                   type:data.type,\r\n                                                    unique_id:this.add_item.specifications_unique_id_count,\r\n                                                   list:this.selected_specification_list})\r\n            this.modal.close()\r\n            this.selected_specification_list=[];\r\n            this.specification_id_array=[];\r\n            this.spec_list_error=0;\r\n            var store = JSON.parse(localStorage.getItem('store'));\r\n\r\n            this.helper.http.post(this.helper.POST_METHOD.GET_PRODUCT_LIST,{store_id:store._id, server_token:store.server_token}).map((res_data: Response) => res_data.json()) .subscribe(res_data => {\r\n\r\n                if(res_data.success == false)\r\n                {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    \r\n                    this.add_item.item_specification_name=\"\";\r\n                    this.add_item.type=1;\r\n                }\r\n                else\r\n                {\r\n                    this.product_data=res_data.products;\r\n                    this.add_item.item_specification_name=\"\";\r\n                    this.add_item.type=1;\r\n                    this.set_specification_list(this.add_item.product_id);\r\n                }\r\n            },\r\n            (error: any) => {\r\n                this.helper.http_status(error)\r\n            });\r\n        }\r\n    }\r\n    sortSpecification(a,b) {\r\n        if (a.name < b.name)\r\n          return -1;\r\n        if (a.name > b.name)\r\n          return 1;\r\n        return 0;\r\n    }\r\n    delete_item_specification(specification)\r\n    {\r\n        swal({\r\n            title: 'Are you sure?',\r\n            text: \"You won't be able to revert this!\",\r\n            type: 'warning',\r\n            showCancelButton: true,\r\n            confirmButtonColor: '#3085d6',\r\n            cancelButtonColor: '#d33',\r\n            confirmButtonText: 'Yes, delete it!'\r\n          }).then(() => {\r\n                var i = this.item_specification_list.indexOf(specification);\r\n                if(i != -1) {\r\n                    this.item_specification_list.splice(i, 1);\r\n                }\r\n                swal(\r\n                  'Deleted!',\r\n                  'Your file has been deleted.',\r\n                  'success'\r\n                );\r\n        }).catch(swal.noop)\r\n    }\r\n\r\n    set_specification_list(productid)\r\n    {\r\n        for(var i=0; i<=this.product_data.length-1; i++)\r\n        {\r\n            if(this.product_data[i]._id === productid)\r\n            {\r\n                this.product_specification_group_list=this.product_data[i].specifications_details;\r\n            }\r\n        }\r\n        \r\n    }\r\n    onChange(event, id)\r\n    {\r\n        if(this.add_item.type == 1)\r\n        {\r\n            if(event == true)\r\n            {\r\n                for(var i=0; i<=this.product_specification_list.length - 1; i++)\r\n                {\r\n                    if(this.product_specification_list[i]._id !== id)\r\n                    {\r\n                        if(this.product_specification_list[i].is_default_selected == true)\r\n                        {\r\n                            this.product_specification_list[i].is_default_selected=false\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n        }\r\n    }\r\n\r\n    addItem(itemdata)\r\n    {\r\n        this.myLoading=true;\r\n        itemdata.name=itemdata.name.trim();\r\n\r\n        setTimeout( () => {\r\n            this.helper.http.post(this.helper.POST_METHOD.ADD_ITEM,itemdata).map((res:Response) => res.json()).subscribe(res_data=>{\r\n\r\n                \r\n                if(res_data.success == true)\r\n                {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n                    if(this.new_image_array.length > 0)\r\n                    {\r\n                        this.new_image_array.forEach((image , index) =>{\r\n                            if(image !== undefined)\r\n                            {\r\n                                this.formData.append(index, image.file);\r\n                            }\r\n                        });\r\n                        this.formData.append(\"item_id\", res_data.item._id);\r\n                        this.helper.http.post(this.helper.POST_METHOD.UPLOAD_ITEM_IMAGE,this.formData).map((res:Response) => res.json()).subscribe(res_data=>{\r\n                            this.myLoading=false;\r\n                            this.helper.router.navigate(['store/item']);\r\n                        },\r\n                        (error: any) => {\r\n                            this.myLoading=false;\r\n                            this.helper.http_status(error)\r\n                        });\r\n                    }\r\n                    else\r\n                    {\r\n                        this.myLoading=false;\r\n                        this.helper.router.navigate(['store/item']);\r\n                    }\r\n\r\n                }\r\n                else\r\n                {\r\n                    \r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.router.navigate(['store/item']);\r\n                }\r\n            },\r\n            (error: any) => {\r\n                this.myLoading=false;\r\n                this.helper.http_status(error)\r\n            });\r\n        },5000);\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/add_item/add_item.component.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AddItemComponent } from './add_item.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\nimport {ImageCropperModule} from 'ng2-img-cropper';\r\n\r\n@NgModule({\r\n    imports: [\r\n        CommonModule,BrowserModule,FormsModule, ImageCropperModule, UiSwitchModule,Ng2Bs3ModalModule , FooterModule ,TranslateModule\r\n    ],\r\n    declarations: [AddItemComponent]\r\n})\r\nexport class AddItemModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/add_item/add_item.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { StoreAddPromoCodeComponent } from './add_promo_code.component';\r\nimport {FormsModule} from '@angular/forms';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport {RouterModule} from \"@angular/router\";\r\nimport {Ng2Bs3ModalModule} from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\n\r\n@NgModule({\r\n    imports: [\r\n        CommonModule, BrowserModule,MyDatePickerModule, FooterModule, RouterModule, FormsModule, Ng2Bs3ModalModule,UiSwitchModule,TranslateModule\r\n    ],\r\n    declarations: [StoreAddPromoCodeComponent]\r\n})\r\nexport class StoreAddPromoCodeModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/add_promo_code/add_promo_code.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { StoreCheckoutOrderComponent } from './checkout_order.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule, BrowserModule, MyDatePickerModule, FooterModule, TranslateModule, FormsModule, Ng2Bs3ModalModule\r\n  ],\r\n  declarations: [StoreCheckoutOrderComponent]\r\n})\r\nexport class StoreCheckoutOrderModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/checkout_order/checkout_order.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { StoreCreateOrderWithoutItemOrderComponent } from './create_order_without_item.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule, BrowserModule, MyDatePickerModule, FooterModule, TranslateModule, FormsModule, Ng2Bs3ModalModule\r\n  ],\r\n  declarations: [StoreCreateOrderWithoutItemOrderComponent]\r\n})\r\nexport class toreCreateOrderWithoutItemOrderModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/create_order_without_item/create_order_without_item.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { StoreDailyEarningComponent } from './daily_earning.component';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,DropdownModule,FormsModule,FooterModule,RouterModule,MyDatePickerModule ,TranslateModule\r\n  ],\r\n  declarations: [StoreDailyEarningComponent]\r\n})\r\nexport class StoreDailyEarningModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/daily_earning/daily_earning.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { StoreDeliveryComponent } from './delivery.component';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\n\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,DropdownModule,FormsModule,FooterModule,RouterModule,Ng2Bs3ModalModule,TranslateModule\r\n  ],\r\n  declarations: [StoreDeliveryComponent]\r\n})\r\nexport class StoreDeliveryModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/delivery/delivery.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { StoreEarningComponent } from './earning.component';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,DropdownModule,FormsModule,FooterModule,RouterModule,MyDatePickerModule,TranslateModule\r\n  ],\r\n  declarations: [StoreEarningComponent]\r\n})\r\nexport class StoreEarningModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/earning/earning.module.ts","import { Component, OnInit, ViewChild, Input , Output , EventEmitter} from '@angular/core';\r\nimport {Response } from '@angular/http';\r\nimport {Helper} from \"../../store_helper\";\r\ndeclare var jQuery:any;\r\ndeclare var swal: any;\r\nimport { ModalComponent } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport {ImageCropperComponent, CropperSettings} from 'ng2-img-cropper';\r\n\r\nexport interface EditItem{\r\n    store_id: Object,\r\n    product_id: Object,\r\n    server_token:String,\r\n    product_name: Object,\r\n    details: String,\r\n    name: String,\r\n    price: number,\r\n    is_visible_in_store:  Boolean,\r\n    is_item_in_stock: Boolean,\r\n    is_most_popular:  Boolean,\r\n    item_specification_name:String,\r\n    type:Number,\r\n    specification_group_id: Object,\r\n    specifications_unique_id_count: number,\r\n    is_required: Boolean,\r\n    image_url: any[]\r\n}\r\n\r\nexport interface imageSetting{\r\n    image_ratio: number,\r\n    image_min_width: number,\r\n    image_max_width: number\r\n    image_min_height: number,\r\n    image_max_height: number,\r\n    image_type: any[]\r\n}\r\n\r\n@Component({\r\n    selector: 'app-edit_item',\r\n    template: require('./edit_item.component.html'),\r\n    providers: [Helper]\r\n\r\n})\r\nexport class EditItemComponent implements OnInit {\r\n\r\n    @ViewChild('myModal')\r\n    modal: ModalComponent;\r\n    @ViewChild('myspec_group_modal')\r\n    myspec_group_modal: ModalComponent;\r\n    @ViewChild('image_crop_modal')\r\n    image_crop_modal: ModalComponent;\r\n    @ViewChild('cropper', undefined)\r\n    cropper:ImageCropperComponent;\r\n\r\n\r\n    myLoading: boolean = true;\r\n\r\n    public image_setting : imageSetting;\r\n    private edit_item: EditItem;\r\n    title: any;\r\n    button: any;\r\n    message: any;\r\n    heading_title: any;\r\n    validation_message: any;\r\n    item_id: Object;\r\n    product_specification_list: any[];\r\n    product_specification_list_backup: any[];\r\n    item_specification_list: any[];\r\n    specification_id_array: any[];\r\n    selected_specification_list: any[];\r\n    spec_list_error: number;\r\n    spec_button: string;\r\n    index: number;\r\n    image_array: any[];\r\n    product_specification_group_list: any[];\r\n    new_image_array: any[] = [];\r\n    deleted_image_url: any[];\r\n    item_list: string[] = [];\r\n    item_already_exist: Boolean = false;\r\n    checked_array: any[] = [];\r\n    spec_backup : any;\r\n\r\n    image_error: string = '';\r\n    data: any;\r\n    cropperSettings: CropperSettings;\r\n\r\n    constructor(public helper: Helper) {\r\n        this.cropperSettings = new CropperSettings();\r\n        this.cropperSettings.canvasWidth = 400;\r\n        this.cropperSettings.canvasHeight = 400;\r\n        this.cropperSettings.noFileInput = true;\r\n        this.cropperSettings.preserveSize = true;\r\n        this.cropperSettings.height = 200;\r\n        this.cropperSettings.width = this.cropperSettings.height * this.helper.image_ratio.ITEM_IMAGE;\r\n\r\n\r\n        this.data = {};\r\n    }\r\n\r\n    ngOnInit() {\r\n\r\n        this.image_setting = {\r\n            image_ratio : 1,\r\n            image_min_width: 100,\r\n            image_max_width: 100,\r\n            image_min_height: 100,\r\n            image_max_height: 100,\r\n            image_type: []\r\n        }\r\n\r\n        let token = this.helper.tokenService.getToken();\r\n\r\n        if (!token || !token.token) {\r\n            this.helper.router.navigate(['store/login']);\r\n        }\r\n        this.edit_item = {\r\n            store_id: \"\",\r\n            product_id: \"\",\r\n            server_token: \"\",\r\n            product_name: \"\",\r\n            details: \"\",\r\n            name: \"\",\r\n            price: null,\r\n            is_visible_in_store: false,\r\n            is_item_in_stock: false,\r\n            is_most_popular: false,\r\n            type: 1,\r\n            item_specification_name: \"\",\r\n            specification_group_id: \"\",\r\n            specifications_unique_id_count: 0,\r\n            is_required: false,\r\n            image_url: []\r\n        }\r\n\r\n        setTimeout( () => {\r\n            jQuery(this.helper.elementRef.nativeElement).find('.bootstrap-touchspin-down').on('click', (evnt, res_data) => {\r\n                if(this.edit_item.price > 0) {\r\n                    this.edit_item.price--;\r\n                }\r\n            });\r\n            jQuery(this.helper.elementRef.nativeElement).find('.bootstrap-touchspin-up').on('click', (evnt, res_data) => {\r\n                // if(this.edit_item.price > 0){\r\n                    this.edit_item.price++;\r\n                // }\r\n            });\r\n        },1000);\r\n\r\n        this.title = this.helper.title\r\n        this.button = this.helper.button\r\n        this.heading_title = this.helper.heading_title\r\n        this.validation_message = this.helper.validation_message;\r\n        this.specification_id_array = [];\r\n        this.selected_specification_list = [];\r\n        this.item_specification_list = [];\r\n        this.product_specification_group_list = [];\r\n        this.spec_list_error = 0\r\n        this.image_array = [];\r\n        this.deleted_image_url = [];\r\n        this.image_append();\r\n        this.item_id = this.helper.router_id.store.item_id;\r\n\r\n        var store = JSON.parse(localStorage.getItem('store'));\r\n        if (store !== null) {\r\n            this.edit_item.store_id = store._id\r\n            this.edit_item.server_token = store.server_token\r\n            this.helper.http.post(this.helper.POST_METHOD.GET_ITEM_DATA, {\r\n                item_id: this.item_id,\r\n                store_id: store._id,\r\n                server_token: store.server_token\r\n            }).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n                    this.myLoading = false;\r\n                    if (res_data.success == false) {\r\n                        this.helper.data.storage = {\r\n                            \"code\": res_data.error_code,\r\n                            \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                            \"class\": \"alert-danger\"\r\n                        }\r\n                        this.helper.router.navigate(['store/item']);\r\n                    }\r\n                    else {\r\n                        this.edit_item.product_name = res_data.product.name\r\n                        this.edit_item.product_id = res_data.product._id;\r\n                        this.edit_item.details = res_data.item.details\r\n                        this.edit_item.name = res_data.item.name\r\n                        this.edit_item.price = res_data.item.price\r\n                        this.edit_item.is_visible_in_store = res_data.item.is_visible_in_store\r\n                        this.edit_item.is_item_in_stock = res_data.item.is_item_in_stock\r\n                        this.edit_item.is_most_popular = res_data.item.is_most_popular\r\n                        this.edit_item.image_url = res_data.item.image_url\r\n                        this.item_specification_list = res_data.item.specifications;\r\n\r\n                        this.product_specification_list_backup = res_data.product.specifications_detail;\r\n                        this.edit_item.specifications_unique_id_count = res_data.item.specifications_unique_id_count\r\n                        this.item_list = res_data.item_array;\r\n                    }\r\n                },\r\n                (error: any) => {\r\n                    this.myLoading = false;\r\n                    this.helper.http_status(error)\r\n                });\r\n\r\n            this.helper.http.post(this.helper.POST_METHOD.GET_IMAGE_SETTING, {\r\n            }).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n                this.image_setting.image_ratio = res_data.image_setting.item_image_ratio;\r\n                    this.image_setting.image_min_width = res_data.image_setting.item_image_min_width;\r\n                    this.image_setting.image_max_width = res_data.image_setting.item_image_max_width;\r\n                    this.image_setting.image_min_height = res_data.image_setting.item_image_min_height;\r\n                    this.image_setting.image_max_height = res_data.image_setting.item_image_max_height;\r\n                    this.image_setting.image_type = res_data.image_setting.image_type;\r\n\r\n                    setTimeout(() => {\r\n                        this.cropperSettings.width = this.cropperSettings.height * res_data.image_setting.product_image_ratio;\r\n                    },1000);\r\n            },\r\n                (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n\r\n        }\r\n    }\r\n\r\n    public formData = new FormData();\r\n\r\n    check_item() {\r\n        var item_index = this.item_list.findIndex(x => x.toLowerCase() == this.edit_item.name.toLowerCase())\r\n\r\n        if (item_index == -1) {\r\n            this.item_already_exist = false;\r\n        }\r\n        else {\r\n            this.item_already_exist = true;\r\n        }\r\n    }\r\n\r\n    image_update($event, fieldname) {\r\n        this.image_error = \"\";\r\n        const files = $event.target.files || $event.srcElement.files;\r\n\r\n        for(var i=0; i<files.length; i++){\r\n            const image_url = files[i];\r\n            var index = this.image_setting.image_type.indexOf(image_url.type);\r\n            if (index !== -1) {\r\n                var reader = new FileReader();\r\n\r\n                reader.onload = (e: any) => {\r\n                    var new_image = new Image();\r\n                    new_image.src = e.target.result;\r\n                    this.cropper.setImage(new_image);\r\n                    new_image.onload = () => {\r\n\r\n                        if(new_image.width >= this.image_setting.image_min_width && new_image.width < this.image_setting.image_max_width &&\r\n                            new_image.height >= this.image_setting.image_min_height && new_image.height < this.image_setting.image_max_height ){\r\n\r\n                            if(new_image.width == (new_image.height * this.image_setting.image_ratio)){\r\n\r\n                                this.new_image_array.unshift({base64_image: e.target.result, file: image_url});\r\n                            } else {\r\n                                this.image_crop_modal.open();\r\n                                this.image_error = this.title.item_image_ratio_error;\r\n                            }\r\n\r\n                        } else {\r\n                            this.image_crop_modal.open();\r\n                            this.image_error = this.title.item_image_size_error;\r\n                        }\r\n\r\n                    }\r\n                }\r\n                reader.readAsDataURL(image_url);\r\n            } else {\r\n                this.image_error = this.title.item_image_extension_error;\r\n            }\r\n        }\r\n    }\r\n\r\n    crop($event){\r\n        this.image_error = '';\r\n        function dataURLtoFile(dataurl, filename) {\r\n            var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],\r\n                bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);\r\n            while(n--){\r\n                u8arr[n] = bstr.charCodeAt(n);\r\n            }\r\n            return new File([u8arr], filename, {type:mime});\r\n        }\r\n        let image_type = this.image_setting.image_type\r\n        image_type= image_type[0].split('/')\r\n        var image_url = dataURLtoFile(this.cropper.image.image, 'image.'+image_type[0]);\r\n\r\n        var reader = new FileReader();\r\n        reader.onload = (e: any) => {\r\n            var new_image = new Image();\r\n            new_image.src = e.target.result;\r\n            // this.cropper.setImage(new_image);\r\n            new_image.onload = () => {\r\n\r\n                if(new_image.width >= this.image_setting.image_min_width && new_image.width < this.image_setting.image_max_width &&\r\n                    new_image.height >= this.image_setting.image_min_height && new_image.height < this.image_setting.image_max_height ){\r\n\r\n                    this.new_image_array.unshift({base64_image: e.target.result, file: image_url});\r\n                    // this.formData.append('image_url', image_url)\r\n                    this.image_crop_modal.close();\r\n\r\n                } else {\r\n                    this.image_error = this.title.item_image_size_error;\r\n                }\r\n\r\n            }\r\n        }\r\n        reader.readAsDataURL(image_url);\r\n\r\n    }\r\n\r\n    remove_new_image(index) {\r\n        this.new_image_array.splice(index, 1)\r\n    }\r\n\r\n    image_append() {\r\n        this.image_array.push(' ');\r\n    }\r\n\r\n    delete_item_image(image, index) {\r\n        this.edit_item.image_url.splice(index, 1);\r\n        this.deleted_image_url.push(image)\r\n    }\r\n\r\n    open_specification_group_modal() {\r\n        this.product_specification_group_list = this.product_specification_list_backup;\r\n        this.myspec_group_modal.open();\r\n    }\r\n\r\n    open_modal(id, product_id, name, unique_id) {\r\n        this.checked_array = [];\r\n        this.edit_item.specification_group_id = id;\r\n        this.myspec_group_modal.close();\r\n        var json = {\r\n            store_id: this.edit_item.store_id,\r\n            server_token: this.edit_item.server_token,\r\n            product_id: product_id,\r\n            specification_group_id: id\r\n        }\r\n        this.spec_button = this.button.save;\r\n        this.edit_item.type = 1;\r\n        this.edit_item.is_required = false;\r\n\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_SPECIFICATION_LISTS, json).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n                if (res_data.success == false) {\r\n                    if (res_data.error_code == 999) {\r\n                        this.helper.data.storage = {\r\n                            \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                            \"class\": \"alert-danger\"\r\n                        }\r\n                        this.helper.router.navigate(['store/logout']);\r\n                    }\r\n                    else {\r\n                        this.edit_item.item_specification_name = name;\r\n                        this.product_specification_list = [];\r\n                        this.modal.open();\r\n\r\n                    }\r\n                }\r\n                else {\r\n                    this.edit_item.item_specification_name = name;\r\n                    this.product_specification_list = res_data.specification_list.specifications;\r\n\r\n                    setTimeout(() => {\r\n                        jQuery('.iradio').iCheck({\r\n                            handle: 'radio',\r\n                            radioClass: 'iradio_square-green'\r\n                        });\r\n                        jQuery('.radio1').iCheck('check');\r\n                    }, 500);\r\n                    this.modal.open();\r\n                    this.update_check_box();\r\n                }\r\n\r\n            },\r\n            (error: any) => {\r\n                this.helper.http_status(error)\r\n            });\r\n\r\n    }\r\n\r\n    update_check_box(){\r\n        setTimeout(() => {\r\n            jQuery('.icheck').iCheck({\r\n                handle: 'checkbox',\r\n                checkboxClass: 'icheckbox_square-green',\r\n            });\r\n\r\n            // jQuery('.radio1').iCheck('check');\r\n\r\n            jQuery('.icheck').on('ifChecked', (event) => {\r\n                var id = event.target.getAttribute('value')\r\n                this.specification_id_array.push(id)\r\n                var checked_index = this.product_specification_list.findIndex(x => x._id == id);\r\n\r\n                this.checked_array[checked_index] = true;\r\n            });\r\n\r\n            jQuery('.icheck').on('ifUnchecked', (event) => {\r\n                var id = event.target.getAttribute('value')\r\n                var i = this.specification_id_array.indexOf(id);\r\n                if (i != -1) {\r\n                    this.specification_id_array.splice(i, 1);\r\n                }\r\n                var checked_index = this.product_specification_list.findIndex(x => x._id == id);\r\n                this.product_specification_list[checked_index].price = 0;\r\n                this.product_specification_list[checked_index].is_default_selected = false;\r\n                this.checked_array[checked_index] = false;\r\n            });\r\n\r\n            jQuery('.iradio').on('ifChanged', (event) => {\r\n                var value = Number(event.target.getAttribute('value'))\r\n                this.edit_item.type = value\r\n                for (var i = 0; i <= this.product_specification_list.length - 1; i++) {\r\n                    this.product_specification_list[i].is_default_selected = false\r\n                }\r\n            });\r\n        }, 1000);\r\n    }\r\n\r\n\r\n    edit_item_specification(specification, index) {\r\n        this.myLoading = true;\r\n\r\n        this.checked_array = [];\r\n        this.specification_id_array = [];\r\n        this.product_specification_list = [];\r\n        this.selected_specification_list = [];\r\n\r\n        this.index = index\r\n        this.spec_button = this.button.update;\r\n        this.edit_item.type = specification.type;\r\n        this.edit_item.is_required = specification.is_required;\r\n        this.edit_item.item_specification_name = specification.name;\r\n        this.product_specification_list = JSON.parse(JSON.stringify(specification.list));\r\n\r\n        specification.list.forEach((value) => {\r\n            this.specification_id_array.push(value._id)\r\n        });\r\n        this.checked_array.length = specification.list.length\r\n        this.checked_array.fill(true);\r\n\r\n        var json = {\r\n            store_id: this.edit_item.store_id,\r\n            server_token: this.edit_item.server_token,\r\n            product_id: this.edit_item.product_id,\r\n            specification_group_id: specification._id\r\n        }\r\n\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_SPECIFICATION_LISTS, json).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n                if (res_data.success == false) {\r\n                    setTimeout(() => {\r\n                        this.myLoading = false;\r\n                        jQuery('.iradio').iCheck({\r\n                            handle: 'radio',\r\n                            radioClass: 'iradio_square-green'\r\n                        });\r\n                        jQuery('.icheck').iCheck('check');\r\n                        jQuery('.iradio' + specification.type).iCheck('check');\r\n                        this.modal.open();\r\n                    }, 1000);\r\n                }\r\n                else {\r\n                    setTimeout(() => {\r\n                        this.myLoading = false;\r\n                        jQuery('.iradio').iCheck({\r\n                            handle: 'radio',\r\n                            radioClass: 'iradio_square-green'\r\n                        });\r\n                        jQuery('.icheck').iCheck({\r\n                            handle: 'checkbox',\r\n                            checkboxClass: 'icheckbox_square-green',\r\n                        });\r\n                        jQuery('.icheck').iCheck('check');\r\n                        jQuery('.iradio' + specification.type).iCheck('check');\r\n\r\n                        var unique_array = res_data.specification_list.specifications.filter((current) => {\r\n                            return specification.list.filter((current_b) => {\r\n                                return current_b['_id'] == current['_id']\r\n                            }).length == 0\r\n                        });\r\n\r\n                        unique_array.filter((current) => {\r\n                            this.product_specification_list.push(current)\r\n                        });\r\n                        this.modal.open();\r\n                        this.update_check_box();\r\n                    }, 500);\r\n                }\r\n                setTimeout(() => {\r\n                    jQuery('.icheck').iCheck({\r\n                        handle: 'checkbox',\r\n                        checkboxClass: 'icheckbox_square-green',\r\n                    });\r\n                }, 1000);\r\n\r\n                setTimeout(() => {\r\n                    jQuery('.icheck').on('ifChecked', (event) => {\r\n                        var id = event.target.getAttribute('value')\r\n                        this.specification_id_array.push(id)\r\n                        var checked_index = this.product_specification_list.findIndex(x => x._id == id);\r\n\r\n                        this.checked_array[checked_index] = true;\r\n                    });\r\n\r\n                    jQuery('.icheck').on('ifUnchecked', (event) => {\r\n                        var id = event.target.getAttribute('value')\r\n                        var i = this.specification_id_array.indexOf(id);\r\n                        if (i != -1) {\r\n                            this.specification_id_array.splice(i, 1);\r\n                        }\r\n                        var checked_index = this.product_specification_list.findIndex(x => x._id == id);\r\n                        this.product_specification_list[checked_index].price = 0;\r\n                        this.product_specification_list[checked_index].is_default_selected = false;\r\n                        this.checked_array[checked_index] = false;\r\n                    });\r\n\r\n                    jQuery('.iradio').on('ifChanged', (event) => {\r\n                        var value = Number(event.target.getAttribute('value'))\r\n                        this.edit_item.type = value\r\n                        this.product_specification_list.filter((current) => {\r\n                            current.is_default_selected = false\r\n                        });\r\n                    });\r\n                }, 1000);\r\n\r\n            },\r\n            (error: any) => {\r\n                this.helper.http_status(error)\r\n            });\r\n\r\n\r\n    }\r\n\r\n    addSpecification(data)\r\n    {\r\n        var size = this.specification_id_array.length;\r\n        if(size == 0)\r\n        {\r\n            this.spec_list_error=1\r\n        }\r\n        else\r\n        {\r\n            for(var i=0; i<size; i++)\r\n            {\r\n                var product_size = this.product_specification_list.length;\r\n                for(var j=0; j<product_size ; j++)\r\n                {\r\n                    if(this.product_specification_list[j]._id === this.specification_id_array[i])\r\n                    {\r\n                        this.selected_specification_list.push({_id:this.product_specification_list[j]._id,\r\n                                     name:this.product_specification_list[j].name,\r\n                                     unique_id:this.product_specification_list[j].unique_id,\r\n                                     price:Number(this.product_specification_list[j].price),\r\n                                     is_default_selected:this.product_specification_list[j].is_default_selected,\r\n                                     is_user_selected:false});\r\n                    }\r\n                }\r\n            }\r\n            this.selected_specification_list.sort(this.sortSpecification);\r\n            if(this.spec_button === this.button.save)\r\n            {\r\n                this.edit_item.specifications_unique_id_count++;\r\n                this.item_specification_list.push({_id:data.specification_group_id ,\r\n                                                    unique_id:this.edit_item.specifications_unique_id_count,\r\n                                                    is_required:data.is_required,\r\n                                                    name:data.item_specification_name,\r\n                                                   type:data.type,\r\n                                                   list:this.selected_specification_list});\r\n            }\r\n            else\r\n            {\r\n                this.item_specification_list[data.index].name=data.item_specification_name;\r\n                this.item_specification_list[data.index].list=this.selected_specification_list;\r\n                this.item_specification_list[data.index].type=data.type;\r\n                this.item_specification_list[data.index].is_required=data.is_required;\r\n            }\r\n\r\n            this.modal.close();\r\n            this.selected_specification_list=[];\r\n            this.specification_id_array=[];\r\n            this.spec_list_error=0;\r\n            var store = JSON.parse(localStorage.getItem('store'));\r\n\r\n            this.helper.http.post(this.helper.POST_METHOD.GET_ITEM_DATA,{item_id:this.item_id,store_id:store._id, server_token:store.server_token}).map((res_data: Response) => res_data.json()) .subscribe(res_data => {\r\n                    if(res_data.success == false)\r\n                    {\r\n                        if(res_data.error_code == 999)\r\n                        {\r\n                            this.helper.data.storage = {\r\n                                \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                                \"class\": \"alert-danger\"\r\n                            }\r\n                            this.helper.router.navigate(['store/logout']);\r\n                        }\r\n                        else\r\n                        {\r\n                            this.helper.router.navigate(['store/product']);\r\n                        }\r\n                    }\r\n                    else\r\n                    {\r\n                        this.edit_item.item_specification_name=\"\";\r\n                        this.product_specification_list=[];\r\n                        this.product_specification_list_backup=res_data.product.specifications_detail;\r\n                    }\r\n            },\r\n            (error: any) => {\r\n                    this.helper.http_status(error)\r\n            });\r\n        }\r\n    }\r\n    sortSpecification(a,b) {\r\n        if (a.name < b.name)\r\n          return -1;\r\n        if (a.name > b.name)\r\n          return 1;\r\n        return 0;\r\n    }\r\n\r\n    delete_item_specification(index)\r\n    {\r\n        swal({\r\n            title: 'Are you sure?',\r\n            text: \"You won't be able to revert this!\",\r\n            type: 'warning',\r\n            showCancelButton: true,\r\n            confirmButtonColor: '#3085d6',\r\n            cancelButtonColor: '#d33',\r\n            confirmButtonText: 'Yes, delete it!'\r\n          }).then(() => {\r\n                var i = this.item_specification_list[index]\r\n                if(i != -1) {\r\n                    this.item_specification_list.splice(i, 1);\r\n                }\r\n                swal(\r\n                  'Deleted!',\r\n                  'Your file has been deleted.',\r\n                  'success'\r\n                );\r\n        }).catch(swal.noop)\r\n    }\r\n    onChange(event, id)\r\n    {\r\n        if(this.edit_item.type == 1)\r\n        {\r\n            if(event == true)\r\n            {\r\n                for(var i=0; i<=this.product_specification_list.length - 1; i++)\r\n                {\r\n                    if(this.product_specification_list[i]._id !== id)\r\n                    {\r\n                        if(this.product_specification_list[i].is_default_selected == true)\r\n                        {\r\n                            this.product_specification_list[i].is_default_selected=false\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n        }\r\n    }\r\n    // set_specification_list()\r\n    // {\r\n    //     setTimeout(() => {\r\n    //\r\n    //         jQuery('.icheck').iCheck({\r\n    //             handle: 'checkbox',\r\n    //             checkboxClass: 'icheckbox_square-green',\r\n    //         });\r\n    //\r\n    //         jQuery('.icheck').on('ifChecked', (event) => {\r\n    //             var id = event.target.getAttribute('value')\r\n    //             this.specification_id_array.push(id)\r\n    //         });\r\n    //\r\n    //         jQuery('.icheck').on('ifUnchecked', (event) => {\r\n    //             var id = event.target.getAttribute('value')\r\n    //             var i = this.specification_id_array.indexOf(id);\r\n    //             if(i != -1) {\r\n    //                 this.specification_id_array.splice(i, 1);\r\n    //             }\r\n    //         });\r\n    //\r\n    //         jQuery('.iradio').on('ifChanged', (event) => {\r\n    //             var value = Number(event.target.getAttribute('value'))\r\n    //             this.edit_item.type=value\r\n    //             for(var i=0; i<=this.product_specification_list.length - 1; i++)\r\n    //             {\r\n    //                 this.product_specification_list[i].is_default_selected=false\r\n    //             }\r\n    //         });\r\n    //     },500);\r\n    // }\r\n    updateItem(itemdata)\r\n    {\r\n        this.myLoading=true;\r\n        itemdata.name=itemdata.name.trim();\r\n        this.helper.http.post(this.helper.POST_METHOD.UPDATE_ITEM,itemdata).map((res:Response) => res.json()).subscribe(res_data=>{\r\n\r\n            \r\n            if(res_data.success == true)\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                if(this.new_image_array.length > 0)\r\n                {\r\n                    this.add_image_service()\r\n                }\r\n                else if(this.delete_item_image.length > 0)\r\n                {\r\n                    this.delete_image_service();\r\n                }\r\n                else\r\n                {\r\n                    this.myLoading=false;\r\n                    this.helper.router.navigate(['store/item']);\r\n                }\r\n            }\r\n            else\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.router.navigate(['store/item']);\r\n            }\r\n        },\r\n        (error: any) => {\r\n                this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n    add_image_service()\r\n    {\r\n        this.new_image_array.forEach((image , index) =>{\r\n            if(image !== undefined)\r\n            {\r\n                this.formData.append(index, image.file);\r\n            }\r\n        });\r\n\r\n        this.formData.append(\"item_id\", this.item_id);\r\n        this.helper.http.post(this.helper.POST_METHOD.UPDATE_ITEM_IMAGE,this.formData).map((res:Response) => res.json()).subscribe(res_data=>{\r\n            \r\n            if(res_data.success==false)\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.router.navigate(['store/item']);\r\n            }\r\n            else\r\n            {\r\n                if(this.delete_item_image.length > 0)\r\n                {\r\n                    this.delete_image_service();\r\n                }\r\n                else{\r\n                    this.myLoading=false;\r\n                    this.helper.router.navigate(['store/item']);\r\n                }\r\n            }    \r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n    }\r\n    delete_image_service()\r\n    {\r\n        this.helper.http.post(this.helper.POST_METHOD.DELETE_ITEM_IMAGE,{store_id:this.edit_item.store_id , server_token:this.edit_item.server_token,\r\n                                                                                    _id:this.item_id , image_url:this.deleted_image_url}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n               this.myLoading=false;       \r\n            if(res_data.success==false)\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.router.navigate(['store/item']);\r\n            }\r\n            else\r\n            {\r\n                \r\n                this.helper.router.navigate(['store/item']);\r\n            }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/edit_item/edit_item.component.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { EditItemComponent } from './edit_item.component';\r\n\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\n// import { SwiperModule } from 'angular2-useful-swiper';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport {ImageCropperModule} from 'ng2-img-cropper';\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\n\r\n@NgModule({\r\n    declarations: [ EditItemComponent],\r\n    imports: [\r\n        CommonModule,BrowserModule,FormsModule, ImageCropperModule, UiSwitchModule,Ng2Bs3ModalModule,TranslateModule , FooterModule\r\n    ],\r\n\r\n})\r\nexport class EditItemModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/edit_item/edit_item.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { StoreEditOrderComponent } from './edit_order.component';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,RouterModule,FooterModule,UiSwitchModule,BrowserModule,FormsModule,DropdownModule, TranslateModule, Ng2Bs3ModalModule\r\n  ],\r\n  declarations: [StoreEditOrderComponent]\r\n})\r\nexport class StoreEditOrderModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/edit_order/edit_order.module.ts","import { Component, OnInit, ViewContainerRef, ViewChild } from '@angular/core';\r\nimport {Response } from '@angular/http';\r\nimport {Helper} from \"../../store_helper\";\r\ndeclare var jQuery:any;\r\ndeclare var swal:any;\r\nimport { ModalComponent } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport {ImageCropperComponent, CropperSettings, Bounds} from 'ng2-img-cropper';\r\n\r\nexport interface EditProduct{\r\n\r\n    name:String,\r\n    details:String,\r\n    is_visible_in_store:Boolean,\r\n    store_id:Object,\r\n    server_token:String,\r\n    image_url:any\r\n\r\n}\r\n\r\nexport interface imageSetting{\r\n    image_ratio: number,\r\n    image_min_width: number,\r\n    image_max_width: number\r\n    image_min_height: number,\r\n    image_max_height: number,\r\n    image_type: any[]\r\n}\r\n\r\n@Component({\r\n    selector: 'app-edit_product',\r\n    template: require('./edit_product.component.html'),\r\n    providers: [Helper]\r\n\r\n})\r\nexport class EditProductComponent implements OnInit {\r\n\r\n    @ViewChild('image_crop_modal')\r\n    image_crop_modal: ModalComponent;\r\n    @ViewChild('cropper', undefined)\r\n    cropper:ImageCropperComponent;\r\n\r\n    private edit_product: EditProduct;\r\n    title:any;\r\n    button:any;\r\n    heading_title:any;\r\n    product_id:Object;\r\n    product_list: string[] = [];\r\n    product_already_exist:Boolean = false;\r\n    validation_message:any;\r\n    image_error: string = '';\r\n    public image_setting : imageSetting;\r\n\r\n    data: any;\r\n    cropperSettings: CropperSettings;\r\n\r\n    myLoading:boolean = true;\r\n    constructor(public helper: Helper , vcr: ViewContainerRef){\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n\r\n        this.cropperSettings = new CropperSettings();\r\n        this.cropperSettings.canvasWidth = 400;\r\n        this.cropperSettings.canvasHeight = 400;\r\n        this.cropperSettings.noFileInput = true;\r\n        this.cropperSettings.preserveSize = true;\r\n        this.cropperSettings.height = 200;\r\n        this.cropperSettings.width = this.cropperSettings.height * this.helper.image_ratio.PRODUCT_IMAGE;\r\n\r\n\r\n        this.data = {};\r\n    }\r\n\r\n    ngOnInit() {\r\n\r\n        this.image_setting = {\r\n            image_ratio : 1,\r\n            image_min_width: 100,\r\n            image_max_width: 100,\r\n            image_min_height: 100,\r\n            image_max_height: 100,\r\n            image_type: []\r\n        }\r\n        let token = this.helper.tokenService.getToken();\r\n\r\n        if(!token || !token.token) {\r\n            this.helper.router.navigate(['store/login']);\r\n        }\r\n        this.edit_product ={\r\n\r\n            name:\"\",\r\n            details:\"\",\r\n            is_visible_in_store:true,\r\n            store_id:\"\",\r\n            server_token:\"\",\r\n            image_url:\"\"\r\n\r\n        }\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.heading_title=this.helper.heading_title;\r\n        this.validation_message=this.helper.validation_message;\r\n        this.product_id =this.helper.router_id.store.product_id\r\n        var store = JSON.parse(localStorage.getItem('store'));\r\n        if(store!==null)\r\n        {\r\n            this.edit_product.store_id=store._id\r\n            this.edit_product.server_token=store.server_token\r\n            this.helper.http.post(this.helper.POST_METHOD.GET_PRODUCT_DATA,{product_id:this.product_id,store_id:store._id, server_token:store.server_token}).map((res_data: Response) => res_data.json()) .subscribe(res_data => {\r\n\r\n                this.myLoading=false;\r\n                if(res_data.success == false)\r\n                {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.router.navigate(['store/product']);\r\n                }\r\n                else\r\n                {\r\n                    this.edit_product.name=res_data.product.name;\r\n                    this.edit_product.details=res_data.product.details;\r\n                    this.edit_product.is_visible_in_store=res_data.product.is_visible_in_store;\r\n                    this.edit_product.image_url=res_data.product.image_url;\r\n                    this.product_list = res_data.product_array;\r\n                }\r\n            },\r\n            (error: any) => {\r\n                this.myLoading=false;\r\n                    this.helper.http_status(error)\r\n            });\r\n        }\r\n\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_IMAGE_SETTING, {\r\n        }).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n            this.image_setting.image_ratio = res_data.image_setting.product_image_ratio;\r\n            this.image_setting.image_min_width = res_data.image_setting.product_image_min_width;\r\n            this.image_setting.image_max_width = res_data.image_setting.product_image_max_width;\r\n            this.image_setting.image_min_height = res_data.image_setting.product_image_min_height;\r\n            this.image_setting.image_max_height = res_data.image_setting.product_image_max_height;\r\n            this.image_setting.image_type = res_data.image_setting.image_type;\r\n\r\n            setTimeout(() => {\r\n                this.cropperSettings.width = this.cropperSettings.height * res_data.image_setting.product_image_ratio;\r\n            },1000)\r\n\r\n        },\r\n        (error: any) => {\r\n            this.myLoading = false;\r\n            this.helper.http_status(error)\r\n        });\r\n    }\r\n    public formData = new FormData();\r\n\r\n    image_update($event) {\r\n\r\n        this.image_error = \"\";\r\n        this.formData = new FormData();\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const image_url = files[0];\r\n        console.log(image_url.size);\r\n        var index = this.image_setting.image_type.indexOf(image_url.type);\r\n        if (index !== -1) {\r\n            var reader = new FileReader();\r\n\r\n            reader.onload = (e: any) => {\r\n                var new_image = new Image();\r\n                new_image.src = e.target.result;\r\n                this.cropper.setImage(new_image);\r\n                new_image.onload = () => {\r\n\r\n                    if(new_image.width >= this.image_setting.image_min_width && new_image.width < this.image_setting.image_max_width &&\r\n                        new_image.height >= this.image_setting.image_min_height && new_image.height < this.image_setting.image_max_height ){\r\n\r\n                        if(new_image.width == (new_image.height * this.image_setting.image_ratio)){\r\n                            this.edit_product.image_url = e.target.result;\r\n                            this.formData.append('image_url', image_url)\r\n                        } else {\r\n                            this.image_crop_modal.open();\r\n                            this.image_error = this.title.item_image_ratio_error;\r\n                        }\r\n                    } else {\r\n                        this.image_error = this.title.item_image_size_error;\r\n                        this.image_crop_modal.open();\r\n                    }\r\n                }\r\n            }\r\n            reader.readAsDataURL(image_url);\r\n        } else {\r\n            jQuery('#remove').click();\r\n            this.image_error = this.title.item_image_extension_error;\r\n        }\r\n    }\r\n\r\n    crop($event){\r\n        this.image_error = '';\r\n        function dataURLtoFile(dataurl, filename) {\r\n            var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],\r\n                bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);\r\n            while(n--){\r\n                u8arr[n] = bstr.charCodeAt(n);\r\n            }\r\n            return new File([u8arr], filename, {type:mime});\r\n        }\r\n        let image_type = this.image_setting.image_type\r\n        image_type= image_type[0].split('/')\r\n        var image_url = dataURLtoFile(this.cropper.image.image, 'image.'+image_type[0]);\r\n        console.log(image_url.size);\r\n        var reader = new FileReader();\r\n        reader.onload = (e: any) => {\r\n            var new_image = new Image();\r\n            new_image.src = e.target.result;\r\n            // this.cropper.setImage(new_image);\r\n            new_image.onload = () => {\r\n\r\n                if(new_image.width >= this.image_setting.image_min_width && new_image.width < this.image_setting.image_max_width &&\r\n                    new_image.height >= this.image_setting.image_min_height && new_image.height < this.image_setting.image_max_height ){\r\n                    this.edit_product.image_url = e.target.result;\r\n                    this.formData.append('image_url', image_url)\r\n                    this.image_crop_modal.close();\r\n\r\n                } else if(new_image.width >= this.image_setting.image_min_width && new_image.height >= this.image_setting.image_min_height) {\r\n\r\n                    this.image_crop_modal.close();\r\n                    swal({\r\n                        title: 'Image Size Not Proper',\r\n                        text: \"Your Image Convert To width - \"+this.image_setting.image_max_width+\" && height - \" +this.image_setting.image_max_height,\r\n                        type: 'warning',\r\n                        showCancelButton: true,\r\n                        confirmButtonColor: '#3085d6',\r\n                        cancelButtonColor: '#d33',\r\n                        confirmButtonText: 'Yes, Convert it!'\r\n                    }).then(() => {\r\n                        new_image.width = this.image_setting.image_max_width;\r\n                        new_image.height = this.image_setting.image_max_height;\r\n                        this.edit_product.image_url = new_image.src;\r\n                        var image_url1 = dataURLtoFile(new_image.src, 'image.'+image_type[0]);\r\n                        console.log(image_url1.size);\r\n                        this.formData.append('image_url', image_url1)\r\n                        this.image_crop_modal.close();\r\n                    }).catch(()=>{\r\n                        swal.noop\r\n                        this.image_crop_modal.open();\r\n                    })\r\n\r\n                } else if(new_image.width < this.image_setting.image_max_width && new_image.height < this.image_setting.image_max_height){\r\n\r\n                    this.image_crop_modal.close();\r\n                    swal({\r\n                        title: 'Image Size Not Proper',\r\n                        text: \"Your Image Convert To width - \"+this.image_setting.image_min_width+\" && height - \" +this.image_setting.image_min_height,\r\n                        type: 'warning',\r\n                        showCancelButton: true,\r\n                        confirmButtonColor: '#3085d6',\r\n                        cancelButtonColor: '#d33',\r\n                        confirmButtonText: 'Yes, Convert it!'\r\n                    }).then(() => {\r\n                        new_image.width = this.image_setting.image_min_width;\r\n                        new_image.height = this.image_setting.image_min_height;\r\n                        var image_url1 = dataURLtoFile(new_image.src, 'image.'+image_type[0]);\r\n                        console.log(image_url1.size);\r\n                        this.edit_product.image_url = new_image.src;\r\n                        this.formData.append('image_url', image_url1)\r\n                    }).catch(()=>{\r\n                        swal.noop\r\n                        this.image_crop_modal.open();\r\n                    })\r\n\r\n                }\r\n\r\n            }\r\n        }\r\n        reader.readAsDataURL(image_url);\r\n\r\n    }\r\n\r\n    remove_image()\r\n    {\r\n        this.formData = new FormData();\r\n    }\r\n\r\n    check_product()\r\n    {\r\n        var product_index = this.product_list.findIndex(x => x.toLowerCase()==this.edit_product.name.toLowerCase())\r\n   \r\n        if(product_index == -1)\r\n        {\r\n            this.product_already_exist = false;\r\n        }\r\n        else\r\n        {\r\n            this.product_already_exist = true;\r\n        }\r\n    }\r\n\r\n    updateProduct(product_data)\r\n    {\r\n        this.myLoading=true;\r\n        this.formData.append(\"name\", product_data.name.trim());\r\n        this.formData.append(\"details\", product_data.details);\r\n        this.formData.append(\"is_visible_in_store\", product_data.is_visible_in_store);\r\n        this.formData.append(\"store_id\", product_data.store_id);\r\n        this.formData.append(\"product_id\", product_data.product_id);\r\n        this.formData.append(\"server_token\", product_data.server_token);\r\n        this.helper.http.post(this.helper.POST_METHOD.UPDATE_PRODUCT,this.formData).map((res:Response) => res.json()).subscribe(res_data=>{\r\n\r\n            this.myLoading=false;\r\n            if(res_data.success == true)\r\n            {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n\r\n                    this.helper.router.navigate(['store/product']);\r\n            }\r\n            else\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.router.navigate(['store/product']);\r\n            }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/edit_product/edit_product.component.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { EditProductComponent } from './edit_product.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\nimport {ImageCropperModule} from 'ng2-img-cropper';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,BrowserModule, Ng2Bs3ModalModule, ImageCropperModule, FormsModule,FooterModule, UiSwitchModule,TranslateModule\r\n  ],\r\n  declarations: [EditProductComponent]\r\n})\r\nexport class EditProductModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/edit_product/edit_product.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { StoreHistoryComponent } from './history.component';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\nimport { MomentModule } from 'angular2-moment';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\n// import {RatingModule} from \"ngx-rating\";\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule, DropdownModule, FormsModule, FooterModule, RouterModule ,MyDatePickerModule, Ng2Bs3ModalModule , TranslateModule, MomentModule\r\n  ],\r\n  declarations: [StoreHistoryComponent]\r\n})\r\nexport class StoreHistoryModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/history/history.module.ts","import { Component, OnInit ,ViewContainerRef } from '@angular/core';\r\nimport {Response } from '@angular/http';\r\nimport {Helper} from \"../../store_helper\";\r\ndeclare var jQuery:any;\r\n\r\n@Component({\r\n    selector: 'app-item',\r\n    template: require('./item.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class ItemComponent implements OnInit {\r\n\r\n    title:any;\r\n    button:any;\r\n    heading_title:any;\r\n    public message: string = \"\";\r\n    public class: string;\r\n    product_list:any[];\r\n    filtered_product_list:any[] = [];\r\n    store_id:string;\r\n    server_token:string;\r\n    currency:any;\r\n    selected_product:string;\r\n    filter_product_name:String = \"\";\r\n\r\n    myLoading:boolean = true;\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef){\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n        jQuery(\".chosen-select\").chosen();\r\n        // setTimeout(function() {\r\n        //     jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        // }, 1000);\r\n    }\r\n\r\n    activeRoute(routename: string): boolean{\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n\r\n    ngOnInit() {\r\n\r\n        let token = this.helper.tokenService.getToken();\r\n\r\n        if(!token || !token.token) {\r\n\r\n            this.helper.router.navigate(['store/logout']);\r\n        }\r\n        this.helper.message()\r\n\r\n        var store = JSON.parse(localStorage.getItem('store'));\r\n        if(store!==null)\r\n        {\r\n            this.store_id=store._id\r\n            this.server_token=store.server_token\r\n        }\r\n        if(!JSON.parse(localStorage.getItem('store_document_ulpoaded')) && JSON.parse(localStorage.getItem('admin_store_document_ulpoaded')))\r\n        {\r\n            this.helper.router.navigate(['store/upload_document']);\r\n        }\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.heading_title=this.helper.heading_title;\r\n        this.selected_product=this.title.all\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#selected_product').on('change', (evnt,res_data) => {\r\n\r\n            this.selected_product=res_data.selected;\r\n\r\n        });\r\n\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_STORE_PRODUCT_ITEM_LIST,{store_id:this.store_id, server_token:this.server_token}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n\r\n            \r\n                this.myLoading=false;\r\n            \r\n                if(res_data.success == false)\r\n                {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    \r\n                    this.product_list=[];\r\n                    this.filtered_product_list=[];\r\n                    this.helper.message()\r\n                }\r\n                else\r\n                {\r\n                    this.currency=res_data.currency;\r\n                    this.product_list=res_data.products;\r\n                    this.filtered_product_list=res_data.products;\r\n                    setTimeout(function() {\r\n                        jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n                    }, 1000);\r\n                }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n\r\n        jQuery('#loop').click();\r\n\r\n        jQuery(window).resize(function(){\r\n            // if(jQuery(window).width()>992 && jQuery(window).width()<1300){\r\n            //     jQuery('.div1').removeClass('col-md-4');\r\n            //     jQuery('.div2').removeClass('col-md-8');\r\n            //     jQuery('.div1').addClass('col-md-12');\r\n            //     jQuery('.div2').addClass('col-md-12');\r\n            // }\r\n            // else\r\n            // {\r\n            //     jQuery('.div1').removeClass('col-md-12');\r\n            //     jQuery('.div2').removeClass('col-md-12');\r\n            //     jQuery('.div1').addClass('col-md-4');\r\n            //     jQuery('.div2').addClass('col-md-8');\r\n            // }\r\n\r\n            if((jQuery(window).width()>772 && jQuery(window).width()<935) || jQuery(window).width()<365){\r\n                jQuery('.div1').removeClass('col-xs-4');\r\n                jQuery('.div2').removeClass('col-xs-8');\r\n                jQuery('.div1').addClass('col-xs-12');\r\n                jQuery('.div2').addClass('col-xs-12');\r\n            }\r\n            else\r\n            {\r\n                jQuery('.div1').removeClass('col-xs-12');\r\n                jQuery('.div2').removeClass('col-xs-12');\r\n                jQuery('.div1').addClass('col-xs-4');\r\n                jQuery('.div2').addClass('col-xs-8');\r\n            }\r\n        });\r\n\r\n        setTimeout(function() {\r\n            // if(jQuery(window).width()>992 && jQuery(window).width()<1300){\r\n            //     jQuery('.div1').removeClass('col-md-4');\r\n            //     jQuery('.div2').removeClass('col-md-8');\r\n            //     jQuery('.div1').addClass('col-md-12');\r\n            //     jQuery('.div2').addClass('col-md-12');\r\n            // }\r\n            // else\r\n            // {\r\n            //     jQuery('.div1').removeClass('col-md-12');\r\n            //     jQuery('.div2').removeClass('col-md-12');\r\n            //     jQuery('.div1').addClass('col-md-4');\r\n            //     jQuery('.div2').addClass('col-md-8');\r\n            // }\r\n\r\n            if((jQuery(window).width()>772 && jQuery(window).width()<935) || jQuery(window).width()<365){\r\n                jQuery('.div1').removeClass('col-xs-4');\r\n                jQuery('.div2').removeClass('col-xs-8');\r\n                jQuery('.div1').addClass('col-xs-12');\r\n                jQuery('.div2').addClass('col-xs-12');\r\n            }\r\n            else\r\n            {\r\n                jQuery('.div1').removeClass('col-xs-12');\r\n                jQuery('.div2').removeClass('col-xs-12');\r\n                jQuery('.div1').addClass('col-xs-4');\r\n                jQuery('.div2').addClass('col-xs-8');\r\n            }\r\n        },500);\r\n\r\n    }\r\n    editItem(id, event)\r\n    {\r\n        if(event.target.attributes.class != undefined)\r\n        {\r\n            var value=event.target.attributes.class.value\r\n            value=value.split(' ')\r\n            if(value[0] !== \"switch\")\r\n            {\r\n                this.helper.router_id.store.item_id=id;\r\n                this.helper.router.navigate(['store/item/edit']);\r\n            }\r\n        }\r\n        else if(event.target.tagName !== \"SMALL\")\r\n        {\r\n            this.helper.router_id.store.item_id=id;\r\n            this.helper.router.navigate(['store/item/edit']);\r\n        }\r\n    }\r\n\r\n    filter_product(data)\r\n    {\r\n        data = data.replace(/^\\s+|\\s+$/g, '');\r\n        data = data.replace(/ +(?= )/g, '');\r\n        data = new RegExp(data,\"gi\");\r\n\r\n        var product_array = [];\r\n        this.product_list.forEach((product) => {\r\n         \r\n            var item_array = product.items.filter((item_data) => {\r\n                var a = item_data.name.match(data);\r\n                return a !== null;\r\n            })\r\n            if(item_array.length>0)\r\n            {\r\n\r\n\r\n\r\n\r\n                product_array.push({_id:product._id , name:product.name , store_id:product.store_id , unique_id:product.unique_id,\r\n                                    is_visible_in_store: product.is_visible_in_store , items:item_array})\r\n            }\r\n        });\r\n        this.filtered_product_list = product_array;\r\n    }\r\n\r\n    onChange(id, event)\r\n    {\r\n        this.helper.http.post(this.helper.POST_METHOD.IS_ITEM_IN_STOCK,{item_id:id,is_item_in_stock:event}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n\r\n            if(res_data.success == false)\r\n            {\r\n\r\n            }\r\n        },\r\n        (error: any) => {\r\n                this.helper.http_status(error)\r\n        });\r\n\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/item/item.component.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ItemComponent } from './item.component';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,RouterModule,FooterModule,UiSwitchModule,BrowserModule,FormsModule,DropdownModule, TranslateModule\r\n  ],\r\n  declarations: [ItemComponent]\r\n})\r\nexport class ItemModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/item/item.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { StorMonthlyEarningComponent } from './monthly_earning.component';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\nimport { MomentModule } from 'angular2-moment';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,DropdownModule,FormsModule,FooterModule,RouterModule,MyDatePickerModule,TranslateModule,MomentModule\r\n  ],\r\n  declarations: [StorMonthlyEarningComponent]\r\n})\r\nexport class StorMonthlyEarningModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/monthly_earning/monthly_earning.module.ts","import {Component, OnInit, ViewContainerRef, ViewChild} from '@angular/core';\r\nimport {Response} from '@angular/http';\r\nimport {Helper} from \"../../store_helper\";\r\ndeclare var jQuery: any;\r\ndeclare var swal: any;\r\nimport {ModalComponent} from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport * as moment from 'moment-timezone';\r\n\r\n@Component({\r\n    selector: 'app-order',\r\n    template: require('./order.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class StoreOrderComponent implements OnInit {\r\n\r\n    @ViewChild('cancel_order_modal')\r\n    cancel_order_modal: ModalComponent;\r\n\r\n    @ViewChild('complete_order_modal')\r\n    complete_order_modal: ModalComponent;\r\n\r\n    @ViewChild('estimated_time_modal')\r\n    estimated_time_modal: ModalComponent;\r\n\r\n    estimated_time: number = null;\r\n\r\n    order_id: Object = null;\r\n    confirmation_code_for_complete_delivery: number = null;\r\n    confirmation_code: number = null;\r\n    conf_code_error_message: Boolean = false;\r\n    is_confirmation_code_required_at_complete_delivery: Boolean = false;\r\n\r\n    title: any;\r\n    button: any;\r\n    ORDER_STATE: any;\r\n    heading_title: any;\r\n    status: any;\r\n    store_id: Object;\r\n    server_token: String;\r\n    order_list: any[];\r\n    interval: any;\r\n\r\n    sort_field: string;\r\n    sort_order: number;\r\n    search_field: string;\r\n    search_value: string;\r\n    page: number;\r\n    total_page: number;\r\n    total_pages: number[];\r\n    moment: any;\r\n    current_order: any = [];\r\n    cancel_reason: string = '';\r\n\r\n    myLoading: boolean = true;\r\n    constructor(private helper: Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n\r\n        jQuery(\".chosen-select\").chosen({disable_search: true});\r\n        setTimeout(function () {\r\n            jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n        }, 1000);\r\n\r\n\r\n    }\r\n\r\n    ngOnInit() {\r\n\r\n\r\n        this.sort_field = \"unique_id\";\r\n        this.sort_order = -1;\r\n        this.search_field = \"user_detail.first_name\";\r\n        this.search_value = \"\";\r\n        this.page = 1;\r\n        this.moment = moment;\r\n\r\n        let token = this.helper.tokenService.getToken();\r\n\r\n        if (!token || !token.token) {\r\n\r\n            this.helper.router.navigate(['store/logout']);\r\n        }\r\n        this.helper.message()\r\n        var store = JSON.parse(localStorage.getItem('store'));\r\n        if (store !== null) {\r\n            this.store_id = store._id\r\n            this.server_token = store.server_token\r\n        }\r\n\r\n        if (!JSON.parse(localStorage.getItem('store_document_ulpoaded')) && JSON.parse(localStorage.getItem('admin_store_document_ulpoaded'))) {\r\n            this.helper.router.navigate(['store/upload_document']);\r\n        }\r\n        this.title = this.helper.title\r\n        this.button = this.helper.button\r\n        this.heading_title = this.helper.heading_title\r\n        this.ORDER_STATE = this.helper.ORDER_STATE\r\n        this.status = this.helper.status\r\n        this.order_list = [];\r\n        this.filter(1)\r\n        this.interval = setInterval(() => {\r\n            this.orderDetail()\r\n        }, this.helper.TIMEOUT.NEW_ORDER_REQUEST);\r\n\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_field').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_field = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#sort_order').on('change', (evnt, res_data) => {\r\n\r\n            this.sort_order = res_data.selected;\r\n\r\n        });\r\n        jQuery(this.helper.elementRef.nativeElement).find('#search_field').on('change', (evnt, res_data) => {\r\n\r\n            this.search_field = res_data.selected;\r\n\r\n        });\r\n    }\r\n    ngOnDestroy() {\r\n        clearInterval(this.interval);\r\n    }\r\n    activeRoute(routename: string): boolean {\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n\r\n    edit_order(order_id) {\r\n        this.helper.router_id.store.order_id = order_id;\r\n        this.helper.router.navigate(['store/edit/order']);\r\n    }\r\n\r\n    filter(page) {\r\n        this.myLoading = true;\r\n        this.page = page;\r\n        this.helper.http.post(this.helper.POST_METHOD.ORDER_LIST_SEARCH_SORT, {\r\n            store_id: this.store_id, server_token: this.server_token, sort_field: this.sort_field, sort_order: this.sort_order,\r\n            search_field: this.search_field, search_value: this.search_value, page: this.page\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n                this.order_list = [];\r\n                this.total_pages = [];\r\n            }\r\n            else {\r\n                this.order_list = res_data.orders;\r\n                this.total_page = res_data.pages;\r\n                this.total_pages = Array(res_data.pages).fill((x, i) => i).map((x, i) => i + 1)\r\n                this.is_confirmation_code_required_at_complete_delivery = res_data.is_confirmation_code_required_at_complete_delivery;\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    vieworder_detail(id) {\r\n        this.helper.router_id.store.order_id = id;\r\n        this.helper.router.navigate(['store/order/detail']);\r\n    }\r\n\r\n    viewcart_detail(id) {\r\n        this.helper.router_id.store.order_id = id;\r\n        this.helper.router.navigate(['store/cart/detail']);\r\n    }\r\n\r\n    orderDetail() {\r\n\r\n        this.helper.http.post(this.helper.POST_METHOD.ORDER_LIST_SEARCH_SORT, {\r\n            store_id: this.store_id, server_token: this.server_token, sort_field: this.sort_field, sort_order: this.sort_order,\r\n            search_field: this.search_field, search_value: this.search_value, page: this.page\r\n        }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n                this.order_list = [];\r\n\r\n            }\r\n            else {\r\n                this.total_page = res_data.pages;\r\n                this.total_pages = Array(res_data.pages).fill((x, i) => i).map((x, i) => i + 1)\r\n\r\n                this.order_list.forEach((value, index) => {\r\n\r\n                    var new_index = res_data.orders.findIndex(x => x._id == this.order_list[index]._id)\r\n                    if (new_index == -1) {\r\n                        this.order_list.splice(index, 1)\r\n                    }\r\n                    else {\r\n                        this.order_list[index].order_status = res_data.orders[new_index].order_status\r\n                    }\r\n\r\n                });\r\n\r\n\r\n                res_data.orders.forEach((new_value, index) => {\r\n                    var aaa = this.order_list.findIndex(x => x._id == res_data.orders[index]._id)\r\n\r\n                    if (aaa == -1) {\r\n                        this.order_list.unshift(new_value)\r\n                    }\r\n                });\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    orderStatus(data) {\r\n\r\n        var store = JSON.parse(localStorage.getItem('store'));\r\n        if (data.order_type == 7 && data.order_status === this.ORDER_STATE.STORE_PREPARING_ORDER && store.is_ask_estimated_time_for_ready_order) {\r\n\r\n            this.order_id = data.order_id;\r\n            this.estimated_time_modal.open();\r\n        } else {\r\n            this.myLoading = true;\r\n            this.helper.http.post(this.helper.POST_METHOD.SET_ORDER_STATUS, {\r\n                store_id: this.store_id,\r\n                server_token: this.server_token,\r\n                order_id: data.order_id,\r\n                order_status: data.order_status\r\n            }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n                this.myLoading = false;\r\n                if (res_data.success == false) {\r\n\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message()\r\n                }\r\n                else {\r\n                    var index = this.order_list.findIndex(x => x._id == data.order_id);\r\n                    this.order_list[index].order_status = data.order_status;\r\n                    if(data.order_status == this.ORDER_STATE.STORE_ACCEPTED){\r\n                        let index = this.helper.router_id.store.new_order_list.findIndex((x)=>x._id == data.order_id);\r\n                        if(index !== -1){\r\n                            this.helper.router_id.store.new_order_list.splice(index, 1);\r\n                        }\r\n                    }\r\n                }\r\n            },\r\n                (error: any) => {\r\n                    this.myLoading = false;\r\n                    this.helper.http_status(error)\r\n                });\r\n        }\r\n    }\r\n    rejectOrCancleOrder(data) {\r\n        this.current_order = data;\r\n        this.helper.ngZone.run(() => {\r\n            jQuery('.iradio').iCheck({\r\n                handle: 'radio',\r\n                radioClass: 'iradio_square-green'\r\n            });\r\n            jQuery('#default_reason').iCheck('check');\r\n            this.cancel_reason = jQuery('#default_reason').val();\r\n            jQuery('.iradio').on('ifChecked', (event) => {\r\n\r\n                if (event.target.value == 1) {\r\n                    jQuery('#text_box').show();\r\n                    this.cancel_reason = '';\r\n                } else {\r\n                    jQuery('#text_box').hide();\r\n                    this.cancel_reason = event.target.value;\r\n                }\r\n            });\r\n        });\r\n        this.cancel_order_modal.open();\r\n\r\n    }\r\n    cancelservice() {\r\n        if (this.cancel_reason !== '') {\r\n            this.cancel_order_modal.close();\r\n            let data = this.current_order;\r\n            this.myLoading = true;\r\n            this.helper.http.post(this.helper.POST_METHOD.STORE_CANCEL_OR_REJECT_ORDER, {\r\n                store_id: this.store_id,\r\n                cancel_reason: this.cancel_reason,\r\n                server_token: this.server_token,\r\n                order_id: data.order_id,\r\n                order_status: data.order_status\r\n            }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n                this.myLoading = false;\r\n                if (res_data.success == false) {\r\n\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message()\r\n                }\r\n                else {\r\n\r\n                    var index = this.order_list.findIndex(x => x._id == data.order_id);\r\n                    this.order_list[index].order_status = data.order_status;\r\n\r\n                }\r\n            },\r\n                (error: any) => {\r\n                    this.myLoading = false;\r\n                    this.helper.http_status(error)\r\n                });\r\n        }\r\n    }\r\n    orderAssignProvider(order_id) {\r\n        this.myLoading = true;\r\n        let json;\r\n        var store = JSON.parse(localStorage.getItem('store'));\r\n        if (store.is_ask_estimated_time_for_ready_order) {\r\n            json = {store_id: this.store_id, server_token: this.server_token, order_id: order_id, estimated_time_for_ready_order: this.estimated_time}\r\n        } else {\r\n            json = {store_id: this.store_id, server_token: this.server_token, order_id: order_id}\r\n        }\r\n        this.helper.http.post(this.helper.POST_METHOD.CREATE_REQUEST, json).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message();\r\n                this.estimated_time_modal.close();\r\n            }\r\n            else {\r\n                this.helper.router.navigate(['store/deliveries']);\r\n                var index = this.order_list.findIndex(x => x._id == order_id);\r\n                this.order_list[index].order_status = res_data.order.order_status;\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    completeDeliveryModal(order_id, confirmation_code_for_complete_delivery) {\r\n        this.order_id = order_id;\r\n        this.confirmation_code_for_complete_delivery = confirmation_code_for_complete_delivery;\r\n\r\n        if (this.is_confirmation_code_required_at_complete_delivery) {\r\n            this.complete_order_modal.open();\r\n        } else {\r\n            this.myLoading = true;\r\n            this.helper.http.post(this.helper.POST_METHOD.STORE_COMPLETE_ORDER, {\r\n                store_id: this.store_id,\r\n                server_token: this.server_token,\r\n                order_id: this.order_id\r\n            }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n                this.myLoading = false;\r\n                if (res_data.success == false) {\r\n\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message()\r\n                }\r\n                else {\r\n                    this.helper.router.navigate(['store/history']);\r\n                }\r\n            },\r\n                (error: any) => {\r\n                    this.myLoading = false;\r\n                    this.helper.http_status(error)\r\n                });\r\n        }\r\n    }\r\n\r\n    completeDelivery() {\r\n\r\n        if (this.confirmation_code == this.confirmation_code_for_complete_delivery) {\r\n            this.complete_order_modal.close();\r\n            this.conf_code_error_message = false;\r\n            this.myLoading = true;\r\n            this.helper.http.post(this.helper.POST_METHOD.STORE_COMPLETE_ORDER, {\r\n                store_id: this.store_id,\r\n                server_token: this.server_token,\r\n                order_id: this.order_id\r\n            }).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n                this.myLoading = false;\r\n                if (res_data.success == false) {\r\n\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message()\r\n                }\r\n                else {\r\n                    this.helper.router.navigate(['store/history']);\r\n                }\r\n            },\r\n                (error: any) => {\r\n                    this.myLoading = false;\r\n                    this.helper.http_status(error)\r\n                });\r\n        } else {\r\n            this.conf_code_error_message = true;\r\n        }\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/order/order.component.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { StoreOrderComponent } from './order.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule, DropdownModule, BrowserModule, FooterModule, FormsModule, RouterModule, TranslateModule, Ng2Bs3ModalModule\r\n  ],\r\n  declarations: [StoreOrderComponent]\r\n})\r\nexport class StoreOrderModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/order/order.module.ts","import { Component, OnInit , ViewContainerRef } from '@angular/core';\r\nimport {Response } from '@angular/http';\r\nimport {Helper} from \"../../store_helper\";\r\ndeclare var jQuery:any;\r\nimport * as moment from 'moment-timezone';\r\n\r\n@Component({\r\n  selector: 'app-order_earning_detail',\r\n  template: require('./order_earning_detail.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class OrderEarningDetailComponent implements OnInit {\r\n\r\n\ttitle:any;\r\n    button:any;\r\n    heading_title:any;\r\n    status:any;\r\n    order_id:Object;\r\n    store_id:Object;\r\n    server_token:String;\r\n\r\n    myLoading:boolean = true;\r\n\r\n    order_detail: any[] = [];\r\n    currency_sign: any = \"\";\r\n    //total_order_price: number;\r\n    order_total: number = 0;\r\n    product_item_total: number = 0;\r\n    product_item_total_array: number[] = [];\r\n    product_item_specification_total: number = 0;\r\n    product_item_specification_total_array: number[] = [] ;\r\n    product_specification_total_array: any[] = [] ;\r\n    total_item: number = 0;\r\n\r\n    total_time: number = 0;\r\n    total_distance: number = 0;\r\n\r\n\r\n    base_price: number = 0;\r\n    total_distance_price: number = 0;\r\n    total_time_price: number = 0;\r\n    total_service_price: number = 0;\r\n    total_after_tax_price: number = 0;\r\n    total_surge_price: number = 0;\r\n    delivery_price: number = 0;\r\n    promo_payment: number = 0;\r\n    total_delivery_price: number = 0;\r\n\r\n    total_order_price: number = 0;\r\n    order_price: number = 0;\r\n    service_tax: number = 0;\r\n    total_cart_price: number = 0;\r\n\r\n\r\n    total: number = 0;\r\n    wallet_payment: number = 0;\r\n\r\n    cash_payment: number = 0;\r\n    card_payment: number = 0;\r\n\r\n    store_have_service_payment: number = 0;\r\n    store_have_order_payment: number = 0;\r\n    pay_to_store: number = 0;\r\n    total_store_income: number = 0;\r\n    is_user_pick_up_order: Boolean = false;\r\n\r\n\r\n    provider_paid_order_payment: number = 0;\r\n    provider_have_cash_payment: number = 0;\r\n    pay_to_provider: number = 0;\r\n    total_provider_income: number = 0;\r\n\r\n    total_admin_profit_on_store: number = 0;\r\n    total_admin_profit_on_delivery: number = 0;\r\n    admin_profit_value_on_delivery: number = 0;\r\n    admin_profit_value_on_store: number = 0;\r\n    current_rate: number = 0;\r\n    total_store_tax_price:number = 0;\r\n    is_promo_for_delivery_service: Boolean = false;\r\n    \r\n\r\n\r\n\r\n    user_first_name: String = \"\";\r\n    user_last_name: String = \"\";\r\n    user_email: String = \"\";\r\n    user_address: String = \"\";\r\n    destination_addresses:string = '';\r\n    provider_first_name: String = \"\";\r\n    provider_last_name: String = \"\";\r\n    provider_email: String = \"\";\r\n    invoice_number: String = \"\";\r\n\r\n    ORDER_STATE: any = this.helper.ORDER_STATE;\r\n    ORDER_STATUS_ID: any = this.helper.ORDER_STATUS_ID;\r\n    order_status: number = 0;\r\n    order_status_id: number = 0;\r\n    created_at: any = null;\r\n    store_accepted_at: any = null;\r\n    start_preparing_order_at: any = null;\r\n    order_ready_at: any = null;\r\n    store_order_created_at: any = null;\r\n    accepted_at: any = null;\r\n    cancelled_at: any = null;\r\n    start_for_pickup_at: any = null;\r\n    arrived_on_store_at: any = null;\r\n    picked_order_at: any = null;\r\n    start_for_delivery_at: any = null;\r\n    delivered_at: any = null;\r\n    completed_at: any = null;\r\n    moment: any;\r\n    timezone: string = '';\r\n\r\n  \tconstructor(private helper:Helper, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\tngOnInit() {\r\n\t  \tlet token = this.helper.tokenService.getToken();\r\n        this.moment = moment;\r\n        if(!token || !token.token) {\r\n\r\n            this.helper.router.navigate(['store/logout']);\r\n        }\r\n        this.helper.message()\r\n        var store = JSON.parse(localStorage.getItem('store'));\r\n        if(store!==null)\r\n        {\r\n            this.store_id=store._id\r\n            this.server_token=store.server_token\r\n        }\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.heading_title=this.helper.heading_title\r\n        this.status=this.helper.status;\r\n\r\n        this.order_id = this.helper.router_id.store.view_order_earning_id;\r\n\r\n\r\n        if(this.order_id !== \"\")\r\n        {\r\n\t        this.helper.http.post(this.helper.POST_METHOD.GET_ORDER_DETAIL, {order_id: this.order_id , store_id:this.store_id , server_token:this.server_token}).map((res_data: Response) => res_data.json()).subscribe(res_data => {\r\n\r\n                this.myLoading=false;\r\n\t        \tif(!res_data.success)\r\n                {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.router.navigate(['store/history']);\r\n                }\r\n                else\r\n                {\r\n                    this.user_first_name = res_data.order.user_detail.first_name\r\n                    this.user_last_name = res_data.order.user_detail.last_name\r\n                    this.user_email = res_data.order.user_detail.email\r\n                    this.user_address = res_data.order.user_detail.address;\r\n                    this.timezone = res_data.order.timezone !== undefined ? res_data.order.timezone: 'Asia/Kolkata';\r\n                    this.timezone = this.timezone !== '' ? this.timezone: 'Asia/Kolkata';\r\n\r\n                    this.destination_addresses = res_data.order.cart_detail.destination_addresses;\r\n\r\n                    if (res_data.order.provider_detail.length > 0) {\r\n\r\n                        this.provider_first_name = res_data.order.provider_detail[0].first_name\r\n                        this.provider_last_name = res_data.order.provider_detail[0].last_name\r\n                        this.provider_email = res_data.order.provider_detail[0].email\r\n                    }\r\n\r\n                    this.invoice_number = res_data.order.order_payment_detail.invoice_number\r\n                    this.order_status = res_data.order.order_status\r\n                    this.order_status_id = res_data.order.order_status_id\r\n\r\n                    this.created_at = res_data.order.created_at\r\n                    this.store_accepted_at = res_data.order.store_accepted_at\r\n                    this.start_preparing_order_at = res_data.order.start_preparing_order_at\r\n                    this.order_ready_at = res_data.order.order_ready_at\r\n                    this.store_order_created_at = res_data.order.store_order_created_at\r\n                    this.accepted_at = res_data.order.accepted_at\r\n                    this.cancelled_at = res_data.order.cancelled_at\r\n                    this.start_for_pickup_at = res_data.order.start_for_pickup_at\r\n                    this.arrived_on_store_at = res_data.order.arrived_on_store_at\r\n                    this.picked_order_at = res_data.order.picked_order_at\r\n                    this.start_for_delivery_at = res_data.order.start_for_delivery_at\r\n                    this.delivered_at = res_data.order.delivered_at\r\n                    this.completed_at = res_data.order.completed_at\r\n\r\n\r\n                    this.total_time = res_data.order.order_payment_detail.total_time\r\n                    this.total_distance = res_data.order.order_payment_detail.total_distance\r\n                    this.is_user_pick_up_order = res_data.order.order_payment_detail.is_user_pick_up_order;\r\n                    this.base_price = res_data.order.order_payment_detail.base_price;\r\n                    this.total_distance_price = res_data.order.order_payment_detail.distance_price;\r\n                    this.total_time_price = res_data.order.order_payment_detail.total_time_price;\r\n                    this.total_service_price = res_data.order.order_payment_detail.total_service_price;\r\n                    this.total_after_tax_price = res_data.order.order_payment_detail.total_admin_tax_price;\r\n                    this.total_surge_price = res_data.order.order_payment_detail.total_surge_price;\r\n                    this.delivery_price = res_data.order.order_payment_detail.delivery_price;\r\n                    this.promo_payment = res_data.order.order_payment_detail.promo_payment;\r\n                    this.total_delivery_price = res_data.order.order_payment_detail.total_delivery_price;\r\n\r\n                    this.total_order_price = res_data.order.order_payment_detail.total_order_price;\r\n                    this.order_price = res_data.order.order_payment_detail.order_price;\r\n                    this.service_tax = res_data.order.order_payment_detail.service_tax;\r\n                    this.total_store_tax_price = res_data.order.order_payment_detail.total_store_tax_price;\r\n\r\n                    this.total = res_data.order.order_payment_detail.total;\r\n                    this.wallet_payment = res_data.order.order_payment_detail.wallet_payment;\r\n                    this.cash_payment = res_data.order.order_payment_detail.cash_payment;\r\n                    this.card_payment = res_data.order.order_payment_detail.card_payment;\r\n\r\n\r\n                    this.store_have_service_payment = res_data.order.order_payment_detail.store_have_service_payment;\r\n                    this.store_have_order_payment = res_data.order.order_payment_detail.store_have_order_payment;\r\n                    this.total_store_income = res_data.order.order_payment_detail.total_store_income;\r\n                    this.pay_to_store = res_data.order.order_payment_detail.pay_to_store;\r\n\r\n                    this.provider_have_cash_payment = res_data.order.order_payment_detail.provider_have_cash_payment;\r\n                    this.provider_paid_order_payment = res_data.order.order_payment_detail.provider_paid_order_payment;\r\n                    this.total_provider_income = res_data.order.order_payment_detail.total_provider_income;\r\n                    this.pay_to_provider = res_data.order.order_payment_detail.pay_to_provider;\r\n\r\n\r\n                    this.total_admin_profit_on_store = res_data.order.order_payment_detail.total_admin_profit_on_store;\r\n                    this.total_admin_profit_on_delivery = res_data.order.order_payment_detail.total_admin_profit_on_delivery;\r\n                    this.admin_profit_value_on_delivery = res_data.order.order_payment_detail.admin_profit_value_on_delivery;\r\n                    this.admin_profit_value_on_store = res_data.order.order_payment_detail.admin_profit_value_on_store;\r\n\r\n                    this.current_rate = res_data.order.order_payment_detail.current_rate;\r\n\r\n                    this.order_detail = res_data.order.cart_detail.order_details;\r\n                    this.currency_sign=res_data.order.country_detail.currency_sign;\r\n                    //this.total_order_price = res_data.order.total_order_price\r\n                    this.total_cart_price = res_data.order.order_payment_detail.total_cart_price;\r\n                     this.is_promo_for_delivery_service = res_data.order.order_payment_detail.is_promo_for_delivery_service;\r\n\r\n                    this.order_detail.forEach((product) => {\r\n                        product.items.forEach((item) => {\r\n                            this.order_total = this.order_total + (item.item_price + item.total_specification_price) * item.quantity\r\n                            this.product_item_total = this.product_item_total + (item.item_price + item.total_specification_price) * item.quantity\r\n                            this.total_item = this.total_item + 1;\r\n                            item.specifications.forEach((specification) => {\r\n                                this.product_item_specification_total = this.product_item_specification_total + specification.specification_price;\r\n                            })\r\n                            this.product_item_specification_total_array.push(this.product_item_specification_total)\r\n                            this.product_item_specification_total = 0;\r\n                        })\r\n                        this.product_specification_total_array.push(this.product_item_specification_total_array)\r\n                        this.product_item_specification_total_array = [];\r\n                        this.product_item_total_array.push(this.product_item_total)\r\n                        this.product_item_total = 0;\r\n                    });\r\n                }\r\n\r\n\t        },\r\n            (error: any) => {\r\n                this.myLoading=false;\r\n                    this.helper.http_status(error)\r\n            });\r\n\t    }\r\n\t    else\r\n\t    {\r\n            this.myLoading=false;\r\n\t    \tthis.helper.router.navigate(['store/earning']);\r\n\t    }\r\n\t}\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/order_earning_detail/order_earning_detail.component.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { OrderEarningDetailComponent } from './order_earning_detail.component';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,RouterModule , FooterModule,TranslateModule\r\n  ],\r\n  declarations: [OrderEarningDetailComponent]\r\n})\r\nexport class OrderEarningDetailModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/order_earning_detail/order_earning_detail.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { StoreOrderComponents } from './order.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule, UiSwitchModule, DropdownModule, BrowserModule, FooterModule, FormsModule, RouterModule, TranslateModule, Ng2Bs3ModalModule\r\n  ],\r\n  declarations: [StoreOrderComponents]\r\n})\r\nexport class StoreOrderModules { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/order_new/order.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PaymentAutomizeComponent } from './payment_automize.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { CustomFormsModule } from 'ng2-validation'\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\nimport { NavigationModule } from '../../../common/store/navigation/navigation.module';\r\nimport { ChartsModule } from 'ng2-charts';\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\n\r\n@NgModule({\r\n    imports: [\r\n      CommonModule, MyDatePickerModule, BrowserModule,FormsModule,FooterModule, NavigationModule, ChartsModule, CustomFormsModule , UiSwitchModule , Ng2Bs3ModalModule,TranslateModule\r\n    ],\r\n    declarations: [PaymentAutomizeComponent]\r\n})\r\nexport class PaymentAutomizeModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/payment_automize/payment_automize.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ProductsComponent } from './products.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport {RouterModule,Routes} from \"@angular/router\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\n// import {RatingModule} from \"ngx-rating\";\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport {ImageCropperModule} from 'ng2-img-cropper';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,RouterModule, BrowserModule, DropdownModule, Ng2Bs3ModalModule, ImageCropperModule, FormsModule,FooterModule, UiSwitchModule , TranslateModule\r\n  ],\r\n  declarations: [ProductsComponent]\r\n})\r\nexport class ProductsModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/products/products.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ProfileComponent } from './profile.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { CustomFormsModule } from 'ng2-validation'\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\nimport { NavigationModule } from '../../../common/store/navigation/navigation.module';\r\nimport { ChartsModule } from 'ng2-charts';\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\n\r\n@NgModule({\r\n    imports: [\r\n      CommonModule, MyDatePickerModule, BrowserModule,FormsModule,FooterModule, NavigationModule, ChartsModule, CustomFormsModule , UiSwitchModule , Ng2Bs3ModalModule,TranslateModule\r\n    ],\r\n    declarations: [ProfileComponent]\r\n})\r\nexport class ProfileModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/profile/profile.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { StorePromoCodeComponent } from './promo_code.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,DropdownModule,BrowserModule,FormsModule,FooterModule,RouterModule,TranslateModule,UiSwitchModule\r\n  ],\r\n  declarations: [StorePromoCodeComponent]\r\n})\r\nexport class StorePromoCodeModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/promo_code/promo_code.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SettingComponent } from './setting.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { CustomFormsModule } from 'ng2-validation'\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,FormsModule, CustomFormsModule ,FooterModule, UiSwitchModule, Ng2Bs3ModalModule , TranslateModule\r\n  ],\r\n  declarations: [SettingComponent]\r\n})\r\nexport class storeSettingModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/setting/setting.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { WhopSettingComponent } from './setting_whop.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { CustomFormsModule } from 'ng2-validation'\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,FormsModule, CustomFormsModule ,FooterModule, UiSwitchModule, Ng2Bs3ModalModule , TranslateModule\r\n  ],\r\n  declarations: [WhopSettingComponent]\r\n})\r\nexport class storeWhopSettingModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/setting_whop/setting_whop.module.ts","import { Component, OnInit,ViewContainerRef, trigger, state ,transition, style, animate  } from '@angular/core';\r\nimport {Response } from '@angular/http';\r\nimport {Helper} from \"../../store_helper\";\r\ndeclare var jQuery:any;\r\ndeclare var swal: any;\r\n\r\nexport interface specification{\r\n   name:string;\r\n}\r\n\r\n@Component({\r\n    selector: 'app-specification',\r\n    template: require('./specification.component.html'),\r\n    providers: [Helper],\r\n    animations: [\r\n        trigger('fadeInDownBig', [\r\n            state('true', \r\n                style({ transform: 'translateY(-250px)', opacity: 0}),\r\n\r\n            ),\r\n            state('false', style({\r\n                transform: 'translateY(0)', opacity: 1\r\n            })),\r\n              transition('true => false', animate('500ms', style({transform: 'translateY(0)', opacity: 1}))),\r\n              transition('false => true', animate('500ms', style({transform: 'translateY(-250px)', opacity: 0})))\r\n        ]),\r\n\r\n\r\n       \r\n    ],\r\n})\r\n\r\n\r\nexport class SpecificationComponent implements OnInit {\r\n\r\n    title:any;\r\n    button:any;\r\n    heading_title:any;\r\n    product_id:Object;\r\n    message:any;\r\n    store_id:Object;\r\n    server_token:String;\r\n    specification_list:any[];\r\n    specification_name:String;\r\n    deleted_specification_list:any[];\r\n    delete_specification_array:any[] = [];\r\n    specification_name_array:any[];\r\n    specification_name_arrays:any[];\r\n    new_specification_list:any[];\r\n    spec_already:Number;\r\n    edit_specification_group:any[];\r\n    default:string;\r\n    hide_specification_group: any[];\r\n    myLoading:boolean = true;\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef){\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    ngOnInit() {\r\n        let token = this.helper.tokenService.getToken();\r\n\r\n        if(!token || !token.token) {\r\n\r\n            this.helper.router.navigate(['store/login']);\r\n        }\r\n        this.helper.message()\r\n\r\n        this.hide_specification_group = [];\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.heading_title=this.helper.heading_title;\r\n        this.message=this.helper.messages;\r\n        this.deleted_specification_list=[];\r\n        this.new_specification_list=[];\r\n        this.spec_already=0;\r\n        this.product_id =this.helper.router_id.store.specification_product_id;\r\n        this.specification_name_array = [];\r\n        this.specification_name_arrays = [];\r\n        this.edit_specification_group = [];\r\n        this.default = \"false\";\r\n        if(this.product_id == \"\" || this.product_id == undefined)\r\n        {\r\n            this.helper.router.navigate(['store/product']);\r\n        }\r\n        else\r\n        {\r\n            var store = JSON.parse(localStorage.getItem('store'));\r\n            if(store!==null)\r\n            {\r\n                this.store_id=store._id\r\n                this.server_token=store.server_token\r\n                this.helper.http.post(this.helper.POST_METHOD.GET_SPECIFICATION_GROUP,{product_id:this.product_id,store_id:store._id, server_token:store.server_token}).map((res_data: Response) => res_data.json()) .subscribe(res_data => {\r\n\r\n                    this.myLoading=false;\r\n                    if(res_data.success == false)\r\n                    {\r\n                        this.helper.data.storage = {\r\n                            \"code\": res_data.error_code,\r\n                            \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                            \"class\": \"alert-danger\"\r\n                        }\r\n                        this.helper.message()\r\n                        this.specification_list=[];\r\n                    }\r\n                    else\r\n                    {\r\n                        this.specification_list=res_data.specification_group;\r\n                        this.specification_list.forEach( (spec , index) => {\r\n                            this.edit_specification_group[index]=\"false\"\r\n                            this.hide_specification_group[index]=\"false\"\r\n                        })\r\n                    }\r\n                },\r\n                (error: any) => {\r\n                    this.myLoading=false;\r\n                        this.helper.http_status(error)\r\n                });\r\n            }\r\n        }\r\n    }\r\n    checkSpecification(name)\r\n    {\r\n        var specification_index = this.specification_list.findIndex(x => x.name.toLowerCase()==name.toLowerCase().trim())\r\n        if(specification_index == -1)\r\n        {\r\n            this.spec_already = 0;\r\n        }\r\n        else\r\n        {\r\n            this.spec_already = 1;\r\n        }\r\n    }\r\n\r\n    addSpecificationGroup(data)\r\n    {\r\n        this.myLoading=true;\r\n        this.specification_name=\"\";\r\n        this.new_specification_list.push(data.specification_name.trim())\r\n\r\n        this.helper.http.post(this.helper.POST_METHOD.ADD_SPECIFICATION_GROUP,{store_id:this.store_id, product_id:this.product_id,server_token:this.server_token,specification_group_name:this.new_specification_list}).map((response: Response) => response.json()) .subscribe(res_data => {\r\n\r\n            this.new_specification_list=[];\r\n            this.myLoading=false;\r\n            if(res_data.success)\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                \r\n                var res_array_index = res_data.specification_group.findIndex(x => x.name==data.specification_name.trim())\r\n                res_data.specification_group[res_array_index].list=[];\r\n                this.specification_list.push(res_data.specification_group[res_array_index])\r\n                this.edit_specification_group.push('false');\r\n                this.hide_specification_group.push('false');\r\n            }\r\n            else\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n            }\r\n            this.helper.message();\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n    hide_specifications_group(specification_group_index)\r\n    {\r\n        this.hide_specification_group[specification_group_index]='true'\r\n        // this.edit_specification_group[specification_group_index]='';\r\n        jQuery('#spec_list'+specification_group_index).hide(1000);\r\n    }\r\n\r\n    show_specifications_group(specification_group_index)\r\n    {\r\n        this.hide_specification_group[specification_group_index]='false'\r\n        // this.edit_specification_group[specification_group_index]='false';\r\n        jQuery('#spec_list'+specification_group_index).show(1000);\r\n    }\r\n    deleteSpecification_group(id , specification_group_index)\r\n    {\r\n        \r\n        swal({\r\n            title: 'Are you sure?',\r\n            text: \"You won't be able to revert this!\",\r\n            type: 'warning',\r\n            showCancelButton: true,\r\n            confirmButtonColor: '#3085d6',\r\n            cancelButtonColor: '#d33',\r\n            confirmButtonText: 'Yes, delete it!'\r\n          }).then(() => {\r\n\r\n              this.myLoading=true;\r\n            this.helper.http.post(this.helper.POST_METHOD.DELETE_SPECIFICATION_GROUP,{store_id:this.store_id, product_id:this.product_id,server_token:this.server_token,specification_group_id:id}).map((response: Response) => response.json()) .subscribe(res_data => {\r\n\r\n                this.myLoading=false;\r\n                if(res_data.success)\r\n                {\r\n                    this.helper.data.storage = {\r\n                        \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                        \"class\": \"alert-info\"\r\n                    }\r\n\r\n                    this.specification_list.splice(specification_group_index , 1)\r\n                    this.edit_specification_group.push(specification_group_index , 1);\r\n                    this.hide_specification_group.push(specification_group_index , 1);\r\n                }\r\n                else\r\n                {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                }\r\n                this.helper.message()\r\n            },\r\n            (error: any) => {\r\n                this.myLoading=false;\r\n                    this.helper.http_status(error)\r\n            });\r\n        }).catch(swal.noop)\r\n    }\r\n\r\n    editSpecification(id , specification_group_index)\r\n    {\r\n        // this.hide_specification_group[specification_group_index]=''\r\n        this.edit_specification_group.fill(\"\")\r\n        this.edit_specification_group[specification_group_index]=\"true\"\r\n    }\r\n    \r\n    append_specification(specification_group_index)\r\n    {\r\n            this.specification_name_array.push(\"\")\r\n            this.specification_name_arrays.push(\"\")\r\n    }\r\n    \r\n    updateSpecification(id,specification_list_index)\r\n    {\r\n        this.edit_specification_group.fill(\"false\")\r\n        \r\n        var store = JSON.parse(localStorage.getItem('store'));\r\n        this.specification_name_arrays = this.specification_name_arrays.filter(v=>v!='');\r\n        \r\n        this.specification_name_arrays = this.specification_name_arrays.filter((elem, index, self) => {\r\n            \r\n            elem = elem.trim();\r\n            var exist_index = this.specification_list[specification_list_index].list.findIndex(x => x.name.toLowerCase().trim()==elem.toLowerCase().trim())\r\n           \r\n            if(exist_index !== -1)\r\n            {\r\n                return;\r\n            }\r\n            else{\r\n                return index == self.indexOf(elem);\r\n            }\r\n        });\r\n\r\n        this.specification_name_array = [];\r\n        if(this.specification_name_arrays.length > 0)\r\n        {\r\n            this.myLoading=true;\r\n            this.helper.http.post(this.helper.POST_METHOD.ADD_SPECIFICATION,{specification_group_id: id , specification_name :this.specification_name_arrays ,product_id:this.product_id,store_id:store._id, server_token:store.server_token}).map((res_data: Response) => res_data.json()) .subscribe(res_data => {\r\n                \r\n                this.specification_name_arrays = [];\r\n                this.myLoading=false;\r\n                if(res_data.success)\r\n                {\r\n                    this.specification_list[specification_list_index].list = res_data.specifications\r\n                    if(this.delete_specification_array.length > 0)\r\n                    {\r\n                        this.myLoading=true;\r\n                        this.helper.http.post(this.helper.POST_METHOD.DELETE_SPECIFICATION,{specification_group_id: id , specification_id :this.delete_specification_array ,product_id:this.product_id,store_id:store._id, server_token:store.server_token}).map((res_data: Response) => res_data.json()) .subscribe(res_data => {\r\n                            this.delete_specification_array = [];\r\n                                this.myLoading=false;\r\n                            if(res_data.success)\r\n                            {\r\n                                this.specification_list[specification_list_index].list = res_data.specifications\r\n                            }\r\n                            else\r\n                            {\r\n                                this.helper.data.storage = {\r\n                                    \"code\": res_data.error_code,\r\n                                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                                    \"class\": \"alert-danger\"\r\n                                }\r\n                            }\r\n                        },\r\n                        (error: any) => {\r\n                            this.myLoading=false;\r\n                                this.helper.http_status(error)\r\n                        });\r\n                    }\r\n                }\r\n                else\r\n                {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                }\r\n                \r\n            },\r\n            (error: any) => {\r\n                this.myLoading=false;\r\n                    this.helper.http_status(error)\r\n            });\r\n        }\r\n        else if(this.delete_specification_array.length > 0)\r\n        {\r\n            this.myLoading=true;\r\n            this.helper.http.post(this.helper.POST_METHOD.DELETE_SPECIFICATION,{specification_group_id: id , specification_id :this.delete_specification_array ,product_id:this.product_id,store_id:store._id, server_token:store.server_token}).map((res_data: Response) => res_data.json()) .subscribe(res_data => {\r\n                this.delete_specification_array = [];\r\n                this.myLoading=false;\r\n                if(res_data.success)\r\n                {\r\n                    this.specification_list[specification_list_index].list = res_data.specifications;\r\n                }\r\n                else{\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                }\r\n            },\r\n            (error: any) => {\r\n                this.myLoading=false;\r\n                    this.helper.http_status(error)\r\n            });\r\n        }\r\n        \r\n    }\r\n\r\n    deleteSpecification(id , specification_group_index , specification_index)\r\n    {\r\n        if(id == '')\r\n        {\r\n           this.specification_name_array.splice(specification_index , 1) \r\n           this.specification_name_arrays.splice(specification_index , 1) \r\n        }\r\n        else\r\n        {\r\n            this.specification_list[specification_group_index].list.splice(specification_index,1)\r\n            this.delete_specification_array.push(id)\r\n        } \r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/specification/specification.component.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SpecificationComponent } from './specification.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,BrowserModule,FormsModule,FooterModule,TranslateModule\r\n  ],\r\n  declarations: [SpecificationComponent]\r\n})\r\nexport class SpecificationModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/specification/specification.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { StoreCreateOrderComponent } from './store_create_order.component';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\n\r\n@NgModule({\r\n  imports: [\r\n      CommonModule,RouterModule,MyDatePickerModule,FooterModule,UiSwitchModule,BrowserModule,FormsModule,DropdownModule, TranslateModule, Ng2Bs3ModalModule\r\n  ],\r\n  declarations: [StoreCreateOrderComponent]\r\n})\r\nexport class StoreCreateOrderModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/store_create_order/store_create_order.module.ts","import { Component, OnInit , ViewContainerRef} from '@angular/core';\r\nimport {Helper} from \"../../store_helper\";\r\nimport {Response} from '@angular/http';\r\ndeclare var jQuery:any;\r\n\r\nexport interface StoreForgotPassword{\r\n        email: String    \r\n}\r\n\r\n@Component({\r\n    selector: 'app_store_forgot_password',\r\n    template: require('./store_forgot_password.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class StoreForgotPasswordComponent implements OnInit {\r\n    \r\n    private store_forgot_password: StoreForgotPassword;\r\n    title:any;\r\n    button:any;\r\n    public message: string;\r\n    public class: string;\r\n    validation_message:any;\r\n\r\n    myLoading:boolean = false;\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef){\r\n        helper.toastr.setRootViewContainerRef(vcr);\t\t\t\r\n    }\r\n\r\n    ngOnInit() {\r\n        \r\n        let token = this.helper.tokenService.getToken();\r\n        if(token && token.token) {\r\n            this.helper.data.storage = {\r\n                \"message\": 999,\r\n                \"class\": \"alert-info\"\r\n            }\r\n            this.helper.router.navigate(['store/product']);\r\n        }\r\n        this.helper.message()\r\n        \r\n        \r\n        this.store_forgot_password={\r\n            email: \"\",\r\n        }\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.validation_message=this.helper.validation_message;\r\n    }\r\n    \r\n    storeForgotPassword(forgotpassworddata)\r\n    {\r\n        this.myLoading=true;\r\n        this.helper.http.post(this.helper.POST_METHOD.FORGOT_PASSWORD,{email:forgotpassworddata.email.trim(), type:2}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n            \r\n            this.myLoading=false;\r\n                        if(res_data.success == false)\r\n                        {\r\n                            this.helper.data.storage = {\r\n                                \"code\": res_data.error_code,\r\n                                \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                                \"class\": \"alert-danger\"\r\n                            }\r\n                            this.helper.message()\r\n                        }\r\n                        else\r\n                        {\r\n                            this.helper.data.storage = {\r\n                                \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                                \"class\": \"alert-info\"\r\n                            }\r\n                            this.helper.router.navigate(['store/login']);\r\n                            \r\n                        }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/store_forgot_password/store_forgot_password.component.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { StoreForgotPasswordComponent } from './store_forgot_password.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { CustomFormsModule } from 'ng2-validation'\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,FormsModule,FooterModule,CustomFormsModule,RouterModule,TranslateModule\r\n  ],\r\n  declarations: [StoreForgotPasswordComponent]\r\n})\r\nexport class StoreForgotPasswordModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/store_forgot_password/store_forgot_password.module.ts","let http_url = \"http://localhost:8000\";\r\n\r\nexport var GET_METHOD = {\r\n  GET_COUNTRY_LIST: \"/api/admin/get_country_list\",\r\n};\r\n\r\nexport var POST_METHOD = {\r\n  GET_SETTING_DETAIL: \"/api/admin/get_setting_detail\",\r\n  ADMIN_OTP_VERIFICATION: \"/api/admin/otp_verification\",\r\n  FORGOT_PASSWORD: \"/api/admin/forgot_password\",\r\n  CHECK_DETAIL: \"/api/admin/check_detail\",\r\n  NEW_PASSWORD: \"/api/admin/new_password\",\r\n  CHECK_REFERRAL: \"/api/admin/check_referral\",\r\n  GET_CITY_LIST: \"/api/admin/get_city_list\",\r\n  GET_DELIVERY_LIST_FOR_CITY: \"/api/admin/get_delivery_list_for_city\",\r\n  GET_DOCUMENT_LIST: \"/api/admin/get_document_list\",\r\n  UPLOAD_DOCUMENT: \"/api/admin/upload_document\",\r\n  ADD_ITEM_IN_CART: \"/api/user/add_item_in_cart\",\r\n  GET_ORDER_CART_INVOICE: \"/api/user/get_order_cart_invoice\",\r\n  GET_STORE_ORDER_INVOICE: \"/api/store/get_order_invoice\",\r\n  GET_USER: \"/api/store/get_user\",\r\n  PAY_ORDER_PAYMENT: \"/api/user/pay_order_payment\",\r\n  STORE_PAY_ORDER_PAYMENT: \"/api/store/pay_order_payment\",\r\n  CREATE_ORDER: \"/api/user/create_order\",\r\n  STORE_CREATE_ORDER: \"/api/store/create_order\",\r\n  APPLY_PROMO_CODE: \"/api/user/apply_promo_code\",\r\n  GET_COUNTRY_PHONE_NUMBER_LENGTH: \"/api/store/get_country_phone_number_length\",\r\n  GET_STRIPE_PAYMENT_INTENT: \"/api/get_stripe_payment_intent\",\r\n  CHECK_BANK_DETAIL_SUBMITTED: \"/api/check_bank_detail_submitted\",\r\n\r\n  GET_PRODUCT_LIST: \"/api/store/get_product_list\",\r\n  GET_SOECIFICATION_LIST: \"/api/store/get_specification_lists\",\r\n  ADD_ITEM: \"/api/store/add_item\",\r\n  UPLOAD_ITEM_IMAGE: \"/api/store/upload_item_image\",\r\n  DAILY_EARNING: \"/api/store/daily_earning\",\r\n  DELIVERY_LIST_SEARCH_SORT: \"/api/store/delivery_list_search_sort\",\r\n  STORE_CANCEL_OR_REJECT_ORDER: \"/api/store/store_cancel_or_reject_order\",\r\n  CANCEL_REQUEST: \"/api/store/cancel_request\",\r\n  CREATE_REQUEST: \"/api/store/create_request\",\r\n  STORE_COMPLETE_ORDER: \"/api/store/complete_order\",\r\n  ORDER_PAYMENT_STATUS_SET_ON_CASH_ON_DELIVERY:\r\n    \"/api/store/order_payment_status_set_on_cash_on_delivery\",\r\n  GET_STORE_EARNING: \"/api/store/get_store_earning\",\r\n  GET_ITEM_DATA: \"/api/store/get_item_data\",\r\n  GET_SPECIFICATION_LISTS: \"/api/store/get_specification_lists\",\r\n  UPDATE_ITEM: \"/api/store/update_item\",\r\n  CHANGE_DELIVERY_ADDRESS: \"/api/user/change_delivery_address\",\r\n  STORE_CHANGE_DELIVERY_ADDRESS: \"/api/store/store_change_delivery_address\",\r\n  UPDATE_ITEM_IMAGE: \"/api/store/update_item_image\",\r\n  DELETE_ITEM_IMAGE: \"/api/store/delete_item_image\",\r\n  GET_PRODUCT_DATA: \"/api/store/get_product_data\",\r\n  UPDATE_PRODUCT: \"/api/store/update_product\",\r\n  HISTORY: \"/api/store/history\",\r\n  GET_STORE_PRODUCT_ITEM_LIST: \"/api/store/get_store_product_item_list\",\r\n  IS_ITEM_IN_STOCK: \"/api/store/is_item_in_stock\",\r\n  ORDER_LIST_SEARCH_SORT: \"/api/store/order_list_search_sort\",\r\n  SET_ORDER_STATUS: \"/api/store/set_order_status\",\r\n  GET_ORDER_DATA: \"/api/store/get_order_data\",\r\n  ADD_PRODUCT: \"/api/store/add_product\",\r\n  GET_STORE_DATA: \"/api/store/get_store_data\",\r\n  UPDATE: \"/api/store/update\",\r\n  OTP_VERIFICATION: \"/api/store/otp_verification\",\r\n  UPDATE_STORE_TIME: \"/api/store/update_store_time\",\r\n  GET_SPECIFICATION_GROUP: \"/api/store/get_specification_group\",\r\n  ADD_SPECIFICATION_GROUP: \"/api/store/add_specification_group\",\r\n  DELETE_SPECIFICATION_GROUP: \"/api/store/delete_specification_group\",\r\n  ADD_SPECIFICATION: \"/api/store/add_specification\",\r\n  DELETE_SPECIFICATION: \"/api/store/delete_specification\",\r\n  LOGIN: \"/api/store/login\",\r\n  LOGOUT: \"/api/store/logout\",\r\n  REGISTER: \"/api/store/register\",\r\n  PROVIDER_LOCATION_TRACK: \"/api/store/provider_location_track\",\r\n  GET_ORDER_DETAIL: \"/api/store/get_order_detail\",\r\n  STORE_UPDATE_ORDER: \"/api/store/update_order\",\r\n  CHECK_STORE_UPDATE_ORDER_PAYMENT:\r\n    \"/api/store/check_store_update_order_payment\",\r\n  WEEKLY_EARNING: \"/api/store/weekly_earning\",\r\n  STORE_RATING_TO_USER: \"/api/store/rating_to_user\",\r\n  STORE_RATING_TO_PROVIDER: \"/api/store/rating_to_provider\",\r\n\r\n  GET_IMAGE_SETTING: \"/api/admin/get_image_setting\",\r\n  UPDATE_SEQUENCE_NMBER: \"/api/store/update_sequence_number\",\r\n  UPDATE_ESTIMATED_TIME: \"/api/store/update_estimation_time\",\r\n  UPDATE_STOP_ORDER_DATA: \"/api/store/update_stop_order_data\",\r\n  GET_CARD_LIST: \"/api/user/get_card_list\",\r\n  SELECT_CARD: \"/api/user/select_card\",\r\n  ADD_CARD: \"/api/user/add_card\",\r\n  GET_STRIPE_ADD_CARD_INTENT: \"/api/get_stripe_add_card_intent\",\r\n\r\n  SEARCH_USER: \"/api/store/search_user\",\r\n  CREATE_STORE_USER: \"/api/store/create_user\",\r\n\r\n  UPDATE_SITE_SETTING: \"/api/store/site_settings_update\",\r\n  OPEN_UBER_EATS: \"/api/store/open_uber_eats\",\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/store_http_methods.ts","import { Component,ViewContainerRef , OnInit, ViewChild, NgZone } from '@angular/core';\r\nimport {Helper} from \"../../store_helper\";\r\nimport {Response} from '@angular/http';\r\ndeclare var jQuery:any;\r\nimport { ModalComponent } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport { FacebookService, InitParams, LoginResponse, LoginOptions } from 'ngx-facebook';\r\nimport {UUID} from 'angular2-uuid';\r\ndeclare var gapi;\r\n\r\nexport interface StoreLogin{\r\n    email: String,\r\n    password: String,\r\n    login_by: String,\r\n    social_id: String\r\n}\r\n\r\n@Component({\r\n    selector: 'store_login',\r\n    template: require('./store_login.template.html'),\r\n    providers: [Helper, FacebookService]\r\n})\r\nexport class store_loginComponent implements OnInit {\r\n\r\n  @ViewChild('myModal')\r\n  modal: ModalComponent;\r\n\r\n    private store_login: StoreLogin;\r\n    title:any;\r\n    button:any;\r\n    setting_data:any;\r\n    email_placeholder:Number = 1;\r\n    email_or_phone_error: Boolean = false;\r\n    otp_for_email:number;\r\n    otp_for_sms:number;\r\n    store_data:any;\r\n    opt_error_message:number = 0;\r\n    validation_message:any;\r\n    myLoading:boolean = true;\r\n    constructor(public helper: Helper,private fb: FacebookService, public vcr: ViewContainerRef,  private zone: NgZone){\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n\r\n        let initParams: InitParams = {\r\n            appId: '601526146700337',\r\n            xfbml: true,\r\n            version: 'v2.10'\r\n        };\r\n\r\n        fb.init(initParams);\r\n    }\r\n\r\n    ngOnInit() {\r\n\r\n        let token = this.helper.tokenService.getToken();\r\n        if(token && token.token) {\r\n\r\n            this.helper.router.navigate(['store/product']);\r\n        }\r\n\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.validation_message=this.helper.validation_message;\r\n\r\n        this.helper.message()\r\n        this.store_login={\r\n            email: \"\",\r\n            password: \"\",\r\n            login_by: this.title.manual,\r\n            social_id: \"\"\r\n        }\r\n\r\n\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_SETTING_DETAIL,{}).map((response: Response) => response.json()) .subscribe(res_data => {\r\n\r\n            this.myLoading=false;\r\n            this.setting_data=res_data.setting\r\n\r\n            if(this.setting_data.is_store_login_by_phone == true && this.setting_data.is_store_login_by_email == true)\r\n            {\r\n              this.email_placeholder = 1\r\n            }\r\n            else if(this.setting_data.is_store_login_by_phone == true)\r\n            {\r\n              this.email_placeholder = 2\r\n            }\r\n            else if(this.setting_data.is_store_login_by_email == true)\r\n            {\r\n              this.email_placeholder = 3\r\n            }\r\n\r\n            if(!this.setting_data.is_store_login_by_social){\r\n                jQuery('#social').hide();\r\n            }\r\n\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n\r\n    }\r\n\r\n    google_register(){\r\n        gapi.load('auth2', () => {\r\n            let auth2 = gapi.auth2.init({\r\n                client_id: '1062107977876-q30ugfv61img1eu9qjm1kiuirenma111.apps.googleusercontent.com',\r\n                fetch_basic_profile: true,\r\n                scope: 'profile'\r\n            });\r\n\r\n            auth2.signIn().then(()=> {\r\n\r\n                if (auth2.isSignedIn.get()) {\r\n                    let profile = auth2.currentUser.get().getBasicProfile();\r\n\r\n                    this.store_login.social_id = profile.getId();\r\n                    this.store_login.login_by = this.title.social;\r\n                    this.myLoading=true;\r\n                    this.storeLogin1(this.store_login)\r\n                }\r\n            });\r\n        });\r\n\r\n    }\r\n\r\n    facebook_register(){\r\n\r\n        const loginOptions: LoginOptions = {\r\n            enable_profile_selector: true,\r\n            return_scopes: true,\r\n            scope: 'public_profile,email'\r\n        };\r\n\r\n        this.fb.login(loginOptions)\r\n            .then((response: LoginResponse) =>{\r\n                this.myLoading=true;\r\n                this.fb.api('/me?fields=id,name,email')\r\n                    .then((res: any) => {\r\n\r\n                        this.store_login.social_id = res.id;\r\n                        this.store_login.login_by = this.title.social\r\n                        this.store_login.email = '';\r\n                        this.store_login.password = '';\r\n                        this.storeLogin1(this.store_login)\r\n                    })\r\n                    .catch((error: any) => console.error(error));\r\n            })\r\n            .catch((error: any) => console.error(error));\r\n\r\n    }\r\n\r\n    storeLogin(logindata)\r\n    {\r\n        this.store_login.social_id = '';\r\n        this.store_login.login_by = this.title.manual\r\n\r\n        logindata.email=logindata.email.trim();\r\n        if(this.email_placeholder == 1)\r\n        {\r\n            var reg = /^([A-Za-z0-9_\\-\\.])+\\@([A-Za-z0-9_\\-\\.])+\\.([A-Za-z]{2,4})$/;\r\n            if(!isNaN(logindata.email) || reg.test(logindata.email))\r\n            {\r\n                this.email_or_phone_error=false;\r\n                this.storeLogin1(this.store_login)\r\n            }\r\n            else\r\n            {\r\n                this.email_or_phone_error=true;\r\n            }\r\n        }\r\n        else\r\n        {\r\n            this.email_or_phone_error=false;\r\n            this.storeLogin1(this.store_login)\r\n        }\r\n    }\r\n\r\n    storeLogin1(logindata)\r\n    {\r\n\r\n        this.helper.http.post(this.helper.POST_METHOD.LOGIN,logindata).map((res:Response) => res.json()).subscribe(res_data=>{\r\n\r\n                this.myLoading=false;\r\n                if(res_data.success == false)\r\n                {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.message()\r\n                }\r\n                else\r\n                {\r\n                    this.store_data = res_data;\r\n                    if((this.setting_data.is_store_sms_verification == true && this.store_data.store.is_phone_number_verified == false) && (this.setting_data.is_store_mail_verification == true && this.store_data.store.is_email_verified == false))\r\n                    {\r\n                        var otp_json = {type:2, email:this.store_data.store.email, phone:this.store_data.store.phone}\r\n                        this.generate_otp(otp_json)\r\n                    }\r\n                    else if(this.setting_data.is_store_sms_verification == true && this.store_data.store.is_phone_number_verified == false)\r\n                    {\r\n                        this.generate_otp({type:2, phone:this.store_data.store.phone})\r\n                    }\r\n                    else if(this.setting_data.is_store_mail_verification == true && this.store_data.store.is_email_verified == false)\r\n                    {\r\n                        this.generate_otp({type:2, email:this.store_data.store.email})\r\n                    }\r\n                    else\r\n                    {\r\n                        this.helper.tokenService.setToken(this.store_data.store.server_token);\r\n                        this.helper.user_cart.name = this.store_data.store.name;\r\n                        this.helper.user_cart.image = this.store_data.store.image_url;\r\n                        localStorage.setItem('store', JSON.stringify(this.store_data.store));\r\n                        this.helper.data.storage = {\r\n                            \"message\": this.helper.MESSAGE_CODE[this.store_data.message],\r\n                            \"class\": \"alert-info\"\r\n                        }\r\n                        this.helper.user_cart.cart_data.cart_id = null;\r\n                        this.helper.user_cart.cart_unique_token = UUID.UUID();\r\n\r\n                        if(this.store_data.store.is_document_uploaded)\r\n                        {\r\n                            this.helper.router.navigate(['store/order']);\r\n                        }\r\n                        else\r\n                        {\r\n                            this.helper.router.navigate(['store/upload_document']);\r\n                        }\r\n\r\n                    }\r\n\r\n                }\r\n            },\r\n            (error: any) => {\r\n                this.myLoading=false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    generate_otp(otp_json)\r\n    {\r\n        this.myLoading=true;\r\n        this.helper.http.post(this.helper.POST_METHOD.ADMIN_OTP_VERIFICATION,otp_json).map((res:Response) => res.json()).subscribe(res_data=>{\r\n            this.myLoading=false;\r\n            if(res_data.success == true)\r\n            {\r\n                this.helper.string_log(\"email\" , res_data.otp_for_email)\r\n                this.helper.string_log(\"sms\" , res_data.otp_for_sms)\r\n                this.modal.open();\r\n                this.otp_for_email=res_data.otp_for_email\r\n                this.otp_for_sms=res_data.otp_for_sms\r\n                \r\n                if(this.store_data.store.is_phone_number_verified == true || this.setting_data.is_store_sms_verification == false)\r\n                {\r\n                    jQuery(\"#otp_for_sms\").css(\"display\", \"none\");\r\n                }\r\n\r\n                if(this.store_data.store.is_email_verified == true || this.setting_data.is_store_mail_verification == false)\r\n                {\r\n                    jQuery(\"#otp_for_email\").css(\"display\", \"none\");\r\n                }\r\n            }\r\n            else\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.ERROR_CODE[this.store_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message()\r\n\r\n            }\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n    otp_var(otp)\r\n    {\r\n        if(otp.sms_otp == undefined)\r\n        {\r\n            if(otp.email_otp == this.otp_for_email)\r\n            {\r\n\r\n                this.otp_verified({store_id :this.store_data.store._id , email :this.store_data.store.email , server_token :this.store_data.store.server_token, is_email_verified:true})\r\n            }\r\n            else\r\n            {\r\n                this.opt_error_message = 1;\r\n            }\r\n        }\r\n        else if(otp.email_otp == undefined)\r\n        {\r\n            if(otp.sms_otp == this.otp_for_sms)\r\n            {\r\n                this.otp_verified({store_id :this.store_data.store._id , phone :this.store_data.store.phone , server_token :this.store_data.store.server_token, is_phone_number_verified:true})\r\n            }\r\n            else\r\n            {\r\n                this.opt_error_message = 2;\r\n            }\r\n        }\r\n        else\r\n        {\r\n            if(otp.sms_otp == this.otp_for_sms && otp.email_otp == this.otp_for_email)\r\n            {\r\n                this.otp_verified({store_id :this.store_data.store._id , email :this.store_data.store.email , phone : this.store_data.store.phone , server_token :this.store_data.store.server_token, is_email_verified:true , is_phone_number_verified:true})\r\n            }\r\n            else\r\n            {\r\n                this.opt_error_message = 3;\r\n            }\r\n        }\r\n    }\r\n\r\n    otp_verified(otp_verified_json)\r\n    {\r\n        this.modal.close();\r\n        this.myLoading=true;\r\n        this.helper.http.post(this.helper.POST_METHOD.OTP_VERIFICATION,otp_verified_json).map((res:Response) => res.json()).subscribe(res_data=>{\r\n            this.myLoading=false;\r\n            if(res_data.success == true)\r\n            {\r\n                this.helper.tokenService.setToken(this.store_data.store.server_token);\r\n                this.helper.user_cart.name = this.store_data.store.name;\r\n                this.helper.user_cart.image = this.store_data.store.image_url;\r\n                localStorage.setItem('store', JSON.stringify(this.store_data.store));\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[this.store_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.helper.user_cart.cart_data.cart_id = null;\r\n                this.helper.user_cart.cart_unique_token = UUID.UUID();\r\n                this.helper.router.navigate(['store/order']);\r\n            }\r\n            else{\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n            }\r\n                \r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/store_login/store_login.component.ts","import {NgModule} from \"@angular/core\";\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport {store_loginComponent} from \"./store_login.component\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { AuthModule } from 'angular2-auth';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { CustomFormsModule } from 'ng2-validation';\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\nimport { FacebookModule } from 'ngx-facebook';\r\n\r\n@NgModule({\r\n    declarations: [store_loginComponent],\r\n    imports     : [BrowserModule, RouterModule, FacebookModule, FooterModule, Ng2Bs3ModalModule, FormsModule, CustomFormsModule, AuthModule.forRoot(),TranslateModule],\r\n})\r\n\r\nexport class store_LoginModule {}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/store_login/store_login.module.ts","import { Component, OnInit } from '@angular/core';\r\nimport {Helper} from \"../../store_helper\";\r\nimport {Response } from '@angular/http';\r\n\r\n@Component({\r\n  selector: 'app-store_logout',\r\n  template: '',\r\n  providers: [Helper]\r\n})\r\nexport class StoreLogoutComponent implements OnInit {\r\n\r\n    myLoading:boolean = true;\r\n        constructor(private helper:Helper) { \r\n        \r\n        }\r\n\r\n        ngOnInit() {\r\n            \r\n            var store = JSON.parse(localStorage.getItem('store'));\r\n            if(store!==null)\r\n            {\r\n                this.helper.http.post(this.helper.POST_METHOD.LOGOUT,{store_id:store._id, server_token: store.server_token}).map((res:Response) => res.json()).subscribe(res_data=>{\r\n\r\n                    this.myLoading=false;\r\n                        this.helper.tokenService.removeToken();\r\n                        localStorage.removeItem('store');\r\n                        this.helper.router.navigate(['store/login']);\r\n                   \r\n                },\r\n                (error: any) => {\r\n                    this.myLoading=false;\r\n                        this.helper.http_status(error)\r\n                });\r\n            }\r\n            else\r\n            {\r\n                this.myLoading=false;\r\n                this.helper.tokenService.removeToken();\r\n                localStorage.removeItem('store');\r\n                this.helper.router.navigate(['store/login']);\r\n            }\r\n            this.helper.user_cart.cart_data = {\r\n                cart_id: null,\r\n                city_id: null,\r\n                deliveryAddress: '',\r\n                deliveryLatLng: [0,0],\r\n                cart: [],\r\n                selectedStoreId: null,\r\n                total_item: 0\r\n            }\r\n            this.helper.user_cart.total_cart_amount = 0;\r\n            this.helper.user_cart.order_payment_id = null;\r\n        }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/store_logout/store_logout.component.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { StoreLogoutComponent } from './store_logout.component';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,FooterModule,TranslateModule\r\n  ],\r\n  declarations: [StoreLogoutComponent]\r\n})\r\nexport class StoreLogoutModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/store_logout/store_logout.module.ts","import { Component, OnInit , ViewContainerRef} from '@angular/core';\r\nimport {Router, ActivatedRoute, Params} from '@angular/router';\r\nimport {Helper} from \"../../store_helper\";\r\nimport {Response} from '@angular/http';\r\ndeclare var jQuery:any;\r\n\r\nexport interface StoreNewPassword{\r\n        type:string,\r\n        id:Object,\r\n        server_token:string,\r\n        password: String,\r\n        confirm_password: String    \r\n}\r\n\r\n@Component({\r\n  selector: 'app_new_forgot_password',\r\n  template: require('./store_new_password.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class StoreNewPasswordComponent implements OnInit {\r\n    \r\n    private store_new_password: StoreNewPassword;\r\n    title:any;\r\n    button:any;\r\n    public message: string;\r\n    public class: string;\r\n    validation_message:any;\r\n    myLoading:boolean = true;\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef){\r\n        helper.toastr.setRootViewContainerRef(vcr);\t\t\t\r\n    }\r\n\r\n    ngOnInit() {\r\n        \r\n        let token = this.helper.tokenService.getToken();\r\n        if(token && token.token) {\r\n            this.helper.router.navigate(['store/product']);\r\n        }\r\n        this.helper.message();\r\n\r\n        this.store_new_password={\r\n            type:\"\",\r\n            id:null,\r\n            server_token:\"\",\r\n            password: \"\",\r\n            confirm_password: \"\"    \r\n        }\r\n\r\n\r\n        this.helper.route.params.subscribe((x: Params) => {\r\n\r\n            var current_date = new Date(Date.now())\r\n            var email_token = x['email_token']\r\n            var json = this.helper.getIDFromEmailToken(email_token);\r\n\r\n            var difference = current_date.getTime() - json.milli_seconds;\r\n            difference = difference/(3600 * 60 * 24)\r\n\r\n            if(difference > 5) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.error_code.TOKEN_INVALID,\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.helper.router.navigate(['store/login']);\r\n            } else {\r\n                this.store_new_password={\r\n                    type:'store',\r\n                    id:json.id,\r\n                    server_token:json.server_token,\r\n                    password: \"\",\r\n                    confirm_password: \"\"\r\n                }\r\n\r\n                this.helper.http.post(this.helper.POST_METHOD.CHECK_DETAIL,this.store_new_password).map((res:Response) => res.json()).subscribe(res_data=>{\r\n                    this.myLoading=false;\r\n                    if(!res_data.success)\r\n                    {\r\n                        this.helper.data.storage = {\r\n                            \"code\": res_data.error_code,\r\n                            \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                            \"class\": \"alert-danger\"\r\n                        }\r\n                        this.helper.router.navigate(['store/login']);\r\n                    }\r\n\r\n                },\r\n                (error: any) => {\r\n                    this.myLoading=false;\r\n                    this.helper.http_status(error)\r\n                });\r\n            }\r\n        });\r\n        this.title=this.helper.title\r\n        this.button=this.helper.button\r\n        this.validation_message=this.helper.validation_message\r\n\r\n    }\r\n    \r\n    storeNewPassword(newpassworddata)\r\n    {\r\n        this.myLoading=true;\r\n        this.helper.http.post(this.helper.POST_METHOD.NEW_PASSWORD,this.store_new_password).map((res:Response) => res.json()).subscribe(res_data=>{\r\n               this.myLoading=false;\r\n            if(res_data.success == false)\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"code\": res_data.error_code,\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message()\r\n            }\r\n            else\r\n            {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[res_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.helper.router.navigate(['store/login']);\r\n                \r\n            }\r\n\r\n        },\r\n        (error: any) => {\r\n            this.myLoading=false;\r\n                this.helper.http_status(error)\r\n        });\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/store_new_password/store_new_password.component.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { StoreNewPasswordComponent } from './store_new_password.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { CustomFormsModule } from 'ng2-validation'\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,FormsModule,CustomFormsModule,FooterModule,RouterModule,TranslateModule\r\n  ],\r\n  declarations: [StoreNewPasswordComponent]\r\n})\r\nexport class StoreNewPasswordModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/store_new_password/store_new_password.module.ts","\r\nexport var ERROR_CODE = {\r\n    \r\n    999:\"Token Expired\",\r\n    1000:\"Data Not Found\",\r\n    2000:\"Token Expired\",\r\n    2001:\"Set Password failed\",\r\n    \r\n    601:\"Registration Failed\",\r\n    602:\"Email Already Registered\",\r\n    603:\"Mobile Number Already Registered\",\r\n    605:\"Already Registered With Social\",\r\n    606:\"Not Registered With Social\",\r\n    611:\"Login Failed\",\r\n    612:\"Email Not Registered\",\r\n    613:\"Invalid Passowrd\",\r\n    621:\"Update Failed\",\r\n    623:\"Logout Failed\",\r\n    631:\"Invalid Referral Code\",\r\n    632:\"Referral Already Used\",\r\n    633:\"Referral Process Failed\",\r\n    549: 'User Previous Payment Pending',\r\n    559: 'Pyment Remaining',\r\n\r\n    634:\"Store Data Not Found\",\r\n    635:\"Store Business Off\",\r\n    636:\"Order History Not Found\",\r\n    637:\"Order Detail Not Found\",\r\n    638:\"Otp Verification Failed\",\r\n    639:\"Email And Phone Number Already Registered\",\r\n    641:\"Daily Earning Not Found\",\r\n    642:\"Weekly Earning Not Found\",\r\n    \r\n    871:\"Add Product Failed\",\r\n    872:\"Product Not Found\",\r\n    873:\"Update Product Failed\",\r\n    875: 'Category Name Already Exist',\r\n    \r\n    881:\"Specification Add Failed\",\r\n    882:\"Specification Not Found\",\r\n    \r\n    891:\"Item Data Add Failed\",\r\n    892:\"Item Not Found\",\r\n    893:\"Item Image Upload failed\",\r\n    894:\"Item Image Update Failed\",\r\n    895:\"Item Update Failed\",\r\n    896:\"Item Status Changed failed\",\r\n    897: \"Item Name Already Used\",\r\n    \r\n    1001:\"Document Add Failed\",\r\n    1002:\"Document Not Found\",\r\n    1003:\"Document List Not Found\",\r\n    1004:\"Document Upload Failed\",\r\n    1005:\"Update Failed\",\r\n\r\n    1041:\"Specification Group Add Failed\",\r\n    1042:\"Specification Group List Not Found\",\r\n        622:\"Failed to update device token\",\r\n\r\n        640:\"Pay by cash on delivery failed\",\r\n\r\n        651:\"Order failed\",\r\n        652:\"Order not found\",\r\n        653:\"Set order status failed\",\r\n        654:\"Request failed\",\r\n        655:\"Change order status failed\",\r\n        656:\"Order cancel fialed\",\r\n        801:\"Country detail not found\",\r\n        811:\"City detail not found\",\r\n        821:\"App key not found\",\r\n        831:\"Setting detail not found\",\r\n        845:\"Category data not found\",\r\n\r\n        426:\"No provider found\",\r\n        550:\"Referral code is out of uses limit in your country.\",\r\n        541:\"Referral code not valid.\",\r\n        547:\"Referral code not valid for your country.\",\r\n\r\n        2021:\"Adding a bank detail failed.\",\r\n        2022:\"Bank detail not found.\",\r\n        2023:\"Updating a bank detail failed. \",\r\n        2024:\"Deleting a bank detail failed.\",\r\n        815:\"Wallet request details not found.\",\r\n        816:\"Wallet request create failed\",\r\n        817:\"Wallet request cancelled failed.\",\r\n        818:\"Wallet request accepted failed.\",\r\n        819:\"Wallet request transferred failed.\",\r\n        820:\"Wallet request completed failed.\",\r\n        659:\"Order complete failed.\",\r\n        961:\"Add in cart failed.\",\r\n        965:\"Change delivery address failed.\",\r\n        962:\"Cart not found.\",\r\n        643:\"Mismatch store id.\",\r\n        660:\"Invalid confirmation code.\",\r\n        1011:\"Promo code data add failed.\",\r\n        1012:\"Promo code data not found.\",\r\n        1013:\"Promo update failed.\",\r\n        1014:\"Promo list not found.\",\r\n        557:\"Your order price less then store minimum order price.\",\r\n\r\n        2003: 'User Not Found',\r\n        2002: 'Please Fill All Detail'\r\n        \r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/store_panel_error_message .ts","export var menu_title = {\r\n  create_order: \"Créer une commande\",\r\n  upload_document: \"Upload Document\",\r\n  order: \"Commandes\",\r\n  deliveries: \"Livraisons\",\r\n  history: \"Historique\",\r\n  product: \"Produit\",\r\n  item: \"Produit\",\r\n  setting: \"Réglages\",\r\n  earning: \"Revenus\",\r\n  sub_earning: \"Revenus\",\r\n  sub_daily_earning: \"Revenus journaliers\",\r\n  sub_weekly_earning: \"Revenues hebdomadaires\",\r\n  profile: \"Profil\",\r\n  logout: \"Se déconnecter\",\r\n  payment_automize: \"Paiement automatique\",\r\n  promocode: \"Code promo\",\r\n  menu: \"Menu\",\r\n  report: \"Décompte\",\r\n  users: \"Users\",\r\n  whop_setting: \"WHOP = votre site  internet gratuit\",\r\n};\r\n\r\nexport var title = {\r\n  copy_store_time: \"Copy Store Time\",\r\n  bank_account_holder_name: \"Titulaire de la carte\",\r\n  account_number: \"Numéro de compte\",\r\n  bank_id: \"Numéro de banque\",\r\n  account_id: \"Numéro de compte\",\r\n  date_of_birth: \"Date de naissance\",\r\n  last_transfer_date: \"Dernière date de transfert\",\r\n  payment_mode_for_delivery: \"Payment Mode for Delivery\",\r\n  payment_mode_for_pickup: \"Payment Mode for Pickup\",\r\n  preparation_time_for_pickup: \"Preparation time for Pickup\",\r\n  preparation_time_for_delivery: \"Preparation time for Delivery\",\r\n  is_option_limit: \"Limitation Number option\",\r\n  is_promo_multiple_use: \"Multiple Use\",\r\n\r\n  hopper_call: \"Merci d'appeler HOP Delivery\",\r\n  tout_validator: \"Tout valider\",\r\n  confirmer: \"Confirmer\",\r\n  print: \"Imprimer\",\r\n  hop: \"HOP!\",\r\n  enter_modifier_group_name: \"Enter Modifier Group Name\",\r\n  enter_modifier_group_ref_code: \"Enter Modifier Ref. Code\",\r\n  product_price: \"Prix du produit\",\r\n  admin_email: \"Email de l'admin\",\r\n  admin_phone: \"N. de téléphone de l'admin\",\r\n  order_start_at: \"La commande commence à\",\r\n  asap: \"Le plus rapidement possible\",\r\n  km: \"Km\",\r\n  ///////////////for store Register //////////////////////////\r\n  language: \"langage\",\r\n  is_ask_estimated_time_for_ready_order: \"Temps de préparation\",\r\n  name: \"Nom\",\r\n  email: \"Email\",\r\n  password: \"Mot de passe\",\r\n  confirm_password: \"Confirmer le mot de passe\",\r\n  website_url: \"Site internet\",\r\n  slogan: \"Slogan\",\r\n  select_country: \"Choisir un pays\",\r\n  select_city: \"Choisir une ville\",\r\n  address: \"Adresse\",\r\n  country_phone_code: \"Indicatif\",\r\n  phone: \"Numéro de téléphone\",\r\n  fax_number: \"Numéro de fax\",\r\n  select_delivery: \"Catégorie de livraison\",\r\n  latitude: \"Latitude\",\r\n  longitude: \"Longitude\",\r\n  famous_for: \"Connu pour\",\r\n  image_url: \"Image\",\r\n  referral_code: \"Code de référence\",\r\n  message_602: \"Terminé\",\r\n  is_required: \"Requis\",\r\n  delivery_time: \"Temps de préparation minimum\",\r\n  delivery_time_max: \"Temps de préparation maximum\",\r\n\r\n  register_your_account: \"Enregistrer votre compte\",\r\n  confirmation_code: \"Code de confirmation\",\r\n  sms_otp: \"Code vérification par sms\",\r\n  email_otp: \"Code de vérification par email\",\r\n  verification: \"Vérification\",\r\n  spec: \"Spec.\",\r\n  promo_expiry_date: \"Date d'expiration\",\r\n  product: \"Produit\",\r\n\r\n  invalid_amount:\r\n    \"Vous pouvez instaurer un montant minimum\\n\" +\r\n    \"      de commande, que les utilisateurs devront respecter\",\r\n\r\n  details: \"Déscription\",\r\n  is_visible_in_store: \"Visible sur HOP\",\r\n  is_item_in_stock: \"Disponible sur HOP\",\r\n  email_or_phone: \"num de telephone ou mail\",\r\n  for_use: \"A utiliser\",\r\n  item: \"Produit\",\r\n  price: \"Prix\",\r\n  is_default_selected: \"Sélectionné par défaut\",\r\n  is_user_selected: \"L'utilisateur a sélectionné\",\r\n  specifications: \"Spécifications\",\r\n  item_note_here: \"Commentaire\",\r\n\r\n  new_password: \"Nouveau mot de passe\",\r\n  old_password: \"Ancien mot de passe\",\r\n  country: \"Pays\",\r\n  city: \"Ville\",\r\n  delivery_type: \"Catégorie de livraison\",\r\n  item_name: \"Nom du produit\",\r\n\r\n  is_default: \"Visible\",\r\n  is_in_stock: \"Disponible\",\r\n  is_most_popular: \"Le plus populaire\",\r\n  specification_name: \"Nom\",\r\n  specification_type: \"Type\",\r\n  specification_detail: \"Détail\",\r\n  action: \"Action\",\r\n  item_specification_name: \"Nom de l'option\",\r\n  select_type: \"Sélectionner le type\",\r\n  add_specification: \"Ajouter une option\",\r\n  default_select: \"Sélectionner par défaut\",\r\n  user_selected: \"L'utilisateur a choisi\",\r\n  type_single: \"Une fois\",\r\n  type_multiple: \"Plusieurs fois\",\r\n\r\n  error_atleast_one_specification: \"Choisissez au moins une option\",\r\n\r\n  item_tax: \"Frais du produit\",\r\n  is_business_store: \"Commerce\",\r\n  is_churn_store: \"Churn\",\r\n  is_visible: \"Visible\",\r\n  is_busy: \"Très occupé\",\r\n  store_open_time: \"Heure d'ouverture\",\r\n  store_close_time: \"Heure de fermeture\",\r\n  free_delivery_for_above_order_price: \"Livraison gratuite dès (CHF)\",\r\n  free_delivery_within_radius: \"Livraison gratuite jusqu'à (km)\",\r\n  is_store_pay_delivery_fees: \"Le commerce paie les frais de livraison\",\r\n\r\n  completed: \"Livrée\",\r\n  remaining: \"Reste encore...\",\r\n\r\n  manual: \"Manuel\",\r\n  social: \"Social\",\r\n\r\n  width: \"Largeur\",\r\n  height: \"Hauteur\",\r\n\r\n  id: \"Id\",\r\n  user: \"Utilisateur\",\r\n  provider: \"Hopper\",\r\n  payment_by: \"Paiement par\",\r\n  total: \"Total\",\r\n  status: \"Statut\",\r\n  card: \"Card\",\r\n  cash: \"Cash\",\r\n  user_rating: \"Note de l'utilisateur\",\r\n  provider_rating: \"Note du Hopper\",\r\n\r\n  product_name: \"Nom du produit\",\r\n  date_time: \"Date & heure\",\r\n  date: \"Date\",\r\n\r\n  sort: \"Sorte\",\r\n  search: \"Chercher\",\r\n  date_filter: \"Filtrer par date\",\r\n  ascending: \"Croissant\",\r\n  descending: \"Décroissant\",\r\n  filter_id: \"Id\",\r\n  filter_name: \"Nom\",\r\n  value: \"Valeur\",\r\n  expiry_date: \"Date d'expiration\",\r\n  filter_user: \"Utilisateur\",\r\n  filter_provider: \"Hopper\",\r\n  filter_item: \"Produit\",\r\n  filter_product: \"Produit\",\r\n\r\n  please_contact_to_admin: \"Merci de contacter HOP\",\r\n\r\n  order: \"Commande\",\r\n  service_fees: \"Frais de la commande\",\r\n  order_fees: \"Frais de la commande\",\r\n  store_profit: \"Votre revenu\",\r\n  paid_service_fee: \"Frais de la commande\",\r\n  recieved_order_payment: \"Paiement reçu\",\r\n  earning: \"Revenus\",\r\n  currency: \"Devise\",\r\n  admin_earning: \"Revenus de HOP\",\r\n  provider_earning: \"Revenus du Hopper\",\r\n  pay_to_provider: \"A verser au Hopper\",\r\n  pay_store: \"A verser au Partenaire\",\r\n\r\n  completed_order: \"Commande livrée\",\r\n  order_amount: \"Montant de la commande\",\r\n  pay_by_admin: \"Payé par HOP\",\r\n\r\n  ////////// daily earning ///////\r\n  item_price: \"Prix du produit\",\r\n  item_ref_code: \"Ref. Code du produit\",\r\n  order_price: \"Prix de la commande\",\r\n  deduct_from_wallet: \"Déduit du Wallet\",\r\n  added_in_wallet: \"Ajouté au wallet\",\r\n  admin_profit: \"Revenus de HOP\",\r\n  wallet: \"Wallet\",\r\n  total_earnings: \"Revenus totaux\",\r\n  paid_in_wallet: \"Payé au Wallet\",\r\n  paid: \"Payé\",\r\n  remaining_to_pay: \"Reste à payer\",\r\n  received_order_amount: \"Montant reçu\",\r\n  pay_to_store: \"A verser au Partenaire\",\r\n\r\n  payment_status: \"Statut du paiement\",\r\n  no_of_item: \"Nombre de produits\",\r\n  total_cart_price: \"Sous-total\",\r\n  total_order_price: \"Total\",\r\n  store_have_service_payment: \"Paiement du Partenaire\",\r\n  total_store_income: \"Revenu total du Partenaire\",\r\n  total_order: \"Nombre de commandes\",\r\n  accepted_order: \"Commande acceptée\",\r\n  cancelled_order: \"Commande refusée\",\r\n\r\n  referral_credit: \"Crédit de référence\",\r\n  total_referred: \"Total crédit de ref.\",\r\n\r\n  all: \"Tout\",\r\n  yes: \"Oui\",\r\n  no: \"Non\",\r\n\r\n  doesnot_have_an_account: \"Nouveau partenaire ?\",\r\n  store_title1: \"Bienvenue\",\r\n  app_name: \"HOP\",\r\n  store_title2: \"Sur la plateforme Partenaire HOP\",\r\n  signin_to_your_account: \"Se connecter\",\r\n  forgot_password: \"Mot de passe oublié ?\",\r\n\r\n  offer: \"Offre\",\r\n  unique_code: \"Code\",\r\n  exp_date: \"Date d'exp.\",\r\n\r\n  order_payment_paid_by_store: \"Paiement de la commande par le partenaire ?\",\r\n  vehicle: \"Véhicule\",\r\n\r\n  ////////\r\n\r\n  created_at: \"Commandée à\",\r\n  store_accepted_at: \"Acceptée à\",\r\n  preparing_order_at: \"Préparation à\",\r\n  order_ready_at: \"Prête à\",\r\n  store_order_send_at: \"Commande envoyé à\",\r\n  provider_accepted_at: \"Acceptée par le Hopper à\",\r\n  completed_at: \"Terminée à\",\r\n  delivered_at: \"Livrée à\",\r\n  start_for_delivery_at: \"Parti du Partenaire à\",\r\n  picked_order_at: \"Récupérée à\",\r\n  arrived_on_store_at: \"Arrivée chez le P. à\",\r\n  start_for_pickup_at: \"Pick-up à\",\r\n\r\n  //////////////////////////\r\n  base_price: \"Prix de base\",\r\n  distance_price: \"Prix distance\",\r\n  time_price: \"Prix temps\",\r\n  service_price: \"Frais de Hopper\",\r\n  tax_price: \"Frais de services\",\r\n  surge_price: \"Surge Price\",\r\n  delivery_price: \"Frais du Hopper\",\r\n  promo_bonus: \"Code promo\",\r\n  total_delivery_price: \"Total de la commande\",\r\n\r\n  cart_price: \"Sous-total\",\r\n\r\n  order_payment: \"Paiement de la commande\",\r\n  delivery_payment: \"paiement de la livraison\",\r\n\r\n  ///////////\r\n\r\n  wallet_payment: \"Paiement avec le Wallet\",\r\n  cash_payment: \"Paiement en espèces\",\r\n  other_payment: \"Autre paiement\",\r\n  user_payment: \"Paiement de l'utilisateur\",\r\n\r\n  profit: \"Revenus\",\r\n  items: \"Produits\",\r\n  qty: \"Qté.\",\r\n  order_completed: \"Commande livrée\",\r\n\r\n  already_account: \"Vous avez déjà un compte ?\",\r\n  price_rating: \"Price Rating\",\r\n  open_full_time: \"Ouvert 24h/24h\",\r\n  open: \"Ouvert\",\r\n  sunday: \"Dim\",\r\n  monday: \"Lu\",\r\n  tuesday: \"Ma\",\r\n  wednesday: \"Me\",\r\n  thursday: \"Je\",\r\n  friday: \"Ve\",\r\n  saturday: \"Sa\",\r\n  required: \"Requis\",\r\n  add_item_note: \"Ajouter une note\",\r\n\r\n  mobile_no: \"No de téléphone\",\r\n  total_service_cost: \"Prix total du service\",\r\n  specification_price: \"Prix de l'option\",\r\n  total_item_cost: \"Prix total du produit\",\r\n\r\n  first_name: \"Prénom\",\r\n  last_name: \"Nom\",\r\n  enter_first_name: \"Votre prénom\",\r\n  enter_last_name: \"Votre nom\",\r\n  enter_email: \"Votre email\",\r\n  enter_mobile_no: \"Votre No de téléphone\",\r\n  enter_country_phone_code: \"indicatif téléphonique\",\r\n\r\n  order_cancellation_charge_for_above_order_price: \"Charge Above Price\",\r\n  is_order_cancellation_charge_apply: \"Charge\",\r\n  order_cancellation_charge_type: \"Charge Type\",\r\n  order_cancellation_charge_value: \"Charge Value\",\r\n  max_item_quantity_add_by_user: \"Nombre de produits maximum\",\r\n  schedule_order_create_after_minute: \"Temps minimum pour une précommande\",\r\n  is_provide_delivery_anywhere: \"Livraison partout\",\r\n  delivery_radius: \"Limite de livraison\",\r\n  is_taking_schedule_order: \"Précommande possible ?\",\r\n  inform_schedule_order_before_min: \"Notifier le partenaire dès (mn)\",\r\n  min_order_price: \"Montant minimum de commande\",\r\n  percentage: \"Pourcentage\",\r\n  absolute: \"Absolu\",\r\n\r\n  item_image_size_error: \"Erreur avec la taille de l'image\",\r\n  item_image_ratio_error: \"Mauvais ratio de l'image\",\r\n  item_image_extension_error: \"Mauvaise extension de l'image\",\r\n\r\n  cancel_reason1: \"Produit indisponible\",\r\n  cancel_reason2: \"Adresse de livraison trop loin\",\r\n\r\n  promo_code_name: \"Nom\",\r\n  promo_code_type: \"Type\",\r\n  promo_code_value: \"valeur\",\r\n  order_or_service: \"Commande/Service\",\r\n  uses: \" No utilisations\",\r\n  user_used: \"Utilisé\",\r\n  state: \"Canton\",\r\n  promo_is_expired: \"Est expiré\",\r\n  promo_apply_on: \"Promo pour\",\r\n  is_active: \"Active\",\r\n  is_approved: \"Approuvée\",\r\n  is_promo_required_uses: \"Utilisation requise\",\r\n  is_promo_expiry_date: \"Expiration\",\r\n  is_promo_have_minimum_amount_limit: \"Montant minimum\",\r\n  is_promo_have_max_discount_limit: \"Montant du rabais maximum\",\r\n  promo_code_uses: \"No d'utilisateurs pouvant l'utiliseur\",\r\n  code_expiry: \"date d'expiration\",\r\n  promo_code_apply_on_minimum_amount: \"Montant minimum\",\r\n  promo_code_max_discount_amount: \"rabais maximum\",\r\n  start_date: \"Date de début\",\r\n  end_date: \"date de fin\",\r\n  admin_loyalty: \"Admin Loyality\",\r\n  promo_created_loyalty: \"Promo Created Loyality\",\r\n  promo_for: \"Promo For\",\r\n  admin_loyalty_type: \"Admin Louality Type\",\r\n  store: \"Partenaire\",\r\n\r\n  image_note1:\r\n    \" Télécharger maximum 5 images dont la largeur x hauteur fait (min \",\r\n  image_note2: \" Et max \",\r\n  image_note3: \"Ratio de l'image \",\r\n  image_note4: \" Téléchargez seulement \",\r\n  image_note5: \" Doc\",\r\n  note_for_image: \"Commentaire de l'image\",\r\n\r\n  is_promo_apply_on_completed_order:\r\n    \"Appliquer le code promo après la livraison\",\r\n  promo_apply_after_completed_order: \"Nombre minimum de commandes complétées\",\r\n  promo_recursion_type: \"Recursion Type\",\r\n  is_promo_have_date: \"Date\",\r\n  start_time: \"Heure de début\",\r\n  end_time: \"Heure de fin\",\r\n  months: \"mois\",\r\n  days: \"Jour\",\r\n  weeks: \"Semaine\",\r\n\r\n  is_promo_have_item_count_limit: \"Limite minimum de produits\",\r\n  promo_code_apply_on_minimum_item_count: \"Nombre minimum de produits\",\r\n\r\n  category_already_exist: \"Cette catégorie existe déjà\",\r\n  enter_category_name: \"Entrez le nom de la catégorie\",\r\n  both: \"Les deux\",\r\n  order_type: \"Type de commande\",\r\n  payment_mode: \"Mode de paiement\",\r\n  delivery_man: \"Hopper\",\r\n  pickup: \"Pick-up\",\r\n  request_id: \"ID de la requête\",\r\n  order_id: \"ID de la commande\",\r\n  rejected: \"Rejetée\",\r\n  cancelled: \"Annulée\",\r\n  delivery_address: \"Adresse de livraison\",\r\n  assigned_date: \"Assigned Date\",\r\n  floor: \"Floor\",\r\n  entry_code: \"Entry Code\",\r\n  delivery_note: \"Delivery Note\",\r\n\r\n  site_color: \"Site Color\",\r\n  site_description: \"Site Description\",\r\n  site_domain: \"Site Domain\",\r\n  site_domain2: \"Site Domain2\",\r\n  site_logo: \"Site Logo\",\r\n};\r\n\r\nexport var button = {\r\n  copy_store_time: \"copier horaire\",\r\n  download_demo_file: \"cliquez ici pour telecharge un example\",\r\n  deactivate: \"Désactiver\",\r\n  add_modifier_group: \"Ajouter un modificateur\",\r\n  submit: \"Soumettre\",\r\n  register: \"S'enregistrer\",\r\n  login: \"Se connecter\",\r\n  login_button: \"Se connecter\",\r\n  close: \"Fermer\",\r\n  update: \"Mettre à jour\",\r\n  add_item: \"Ajouter un produit\",\r\n  add_specification: \"Ajouter une option\",\r\n  add_product: \"Ajouter un produit\",\r\n  add: \"Ajouter\",\r\n  save: \"Sauver\",\r\n  unavailable: \"Indisponible\",\r\n  edit: \"Changer\",\r\n  delete: \"Supprimer\",\r\n  remove: \"Retirer\",\r\n  change: \"Changer\",\r\n  select_file: \"Sélectionner le doc\",\r\n  add_store_time: \"Ajouter une heure\",\r\n  update_item: \"Mettre à jour le produit\",\r\n  view_specification: \"Voir l'option\",\r\n  view_full_invoice: \"Voir la relevé de commande\",\r\n\r\n  accept: \"Accepter\",\r\n  resject: \"Rejeter\",\r\n  prepare_for_order: \"Préparer la commande\",\r\n  order_ready: \"La commande est prête\",\r\n  assign_delivery_for_provider: \"Attribuer à un Hopper\",\r\n  reassign_delivery_for_provider: \"Réattribuer\",\r\n  cancle: \"Annuler\",\r\n  cancel_request: \"Annuler\",\r\n  reject: \"Rejeter\",\r\n  view_order_detail: \"Voir le détail de la commande\",\r\n  view_cart_detail: \"Voir le détail de la commande\",\r\n  track_delivery_man: \"Suivre le Hopper\",\r\n  pre: \"Pre\",\r\n  next: \"Suivant\",\r\n  get_confirmation_code: \"Obtenir le code de confirmation\",\r\n  apply: \"Chercher\",\r\n  export_excel: \"Exporter\",\r\n  price_paid_by_store: \"Payée par le Partenaire\",\r\n  ok: \"Ok\",\r\n  action: \"Action\",\r\n  register_now: \"S'enregistrer\",\r\n  forgot_password: \"Mot de passe oublié ?\",\r\n  sign_up: \"S'inscrire\",\r\n  to: \"à\",\r\n  edit_order: \"Modifier la commande\",\r\n\r\n  add_to_cart: \"Ajouter à la commande\",\r\n  cart: \"Commande\",\r\n  create_order_without_item: \"Créer une commande sans produit\",\r\n  checkout: \"CHECKOUT\",\r\n  clear_all: \"Tout effacer\",\r\n  place_order: \"Commander\",\r\n  quick_delivery: \"Livraison rapide\",\r\n  confirmation_code: \"Code de confirmation\",\r\n  complete_order: \"Livrée\",\r\n  inActive: \"Inactif\",\r\n  active: \"Actif\",\r\n  add_promo: \"Ajouter un code promo\",\r\n  done: \"terminé\",\r\n  show_all: \"Tout montrer\",\r\n  activate: \"Activer\",\r\n  cancel: \"Annuler\",\r\n  detail: \"Détails\",\r\n  invoice: \"Facture\",\r\n  yes: \"Oui\",\r\n  no: \"Non\",\r\n};\r\nexport var status = {\r\n  created: \"Created\",\r\n  waiting_for_accept1: \"Commande créée\",\r\n  accepted1: \"Acceptée\",\r\n  start_preparing_order1: \"Début de la préparation\",\r\n  order_ready1: \"Commandes prêtes\",\r\n  waiting_for_delivery_man1: \"Attribuée\",\r\n  delivery_man_accepted1: \"Acceptée\",\r\n  delivery_man_coming1: \"Il vient\",\r\n  delivery_man_arrived1: \"Arrivé\",\r\n  picked_order1: \"Récupérée\",\r\n  started_for_delivery1: \"Livraison\",\r\n  arrived_at_destination1: \"Livraison\",\r\n  delivered_ordered1: \"Livrée\",\r\n  assign_order_to_Delivery_man1: \"Attribuer à un hopper\",\r\n  no_delivery_man_found1: \"Aucun Hopper disponible\",\r\n  delivery_man_rejected1: \"Rejetée\",\r\n  delivery_man_cancelled1: \"Rejetée\",\r\n  user_cancelled1: \"Annulée par l'utilisateur\",\r\n  oredr_complete: \"Commande livrée\",\r\n  order_delivered: \"Livrée\",\r\n  completed: \"Livrée\",\r\n  rejected1: \"Rejetée\",\r\n  cancelled1: \"Annulée\",\r\n  not_completed: \"Pas terminée\",\r\n  user_cancelled: \"Annulée par l'utilisateur\",\r\n  cancelled_request1: \"Non attribuée\",\r\n\r\n  waiting_for_accept: \"Nouvelle commande\",\r\n  accepted: \"acceptée\",\r\n  start_preparing_order: \"Préparation commencée\",\r\n  order_ready: \"Commande prête\",\r\n  waiting_for_delivery_man: \"Attribuée à un Hopper\",\r\n  delivery_man_accepted: \"Acceptée par un Hopper\",\r\n  delivery_man_coming: \"Le Hopper vient\",\r\n  delivery_man_arrived: \"Le Hopper est arrivé\",\r\n  picked_order: \"le Hopper a livré la commande\",\r\n  started_for_delivery: \"En livraison\",\r\n  arrived_at_destination: \"Arrivé à destination\",\r\n  delivered_ordered: \"Commande livrée\",\r\n  assign_order_to_Delivery_man: \"Attribuée à un Hopper\",\r\n  rejected: \"Rejetée par le Partenaire\",\r\n  cancelled: \"Annulée par le Partenaire\",\r\n  no_delivery_man_found: \"Aucun Hopper disponible\",\r\n  delivery_man_rejected: \"Refusée par le Hopper\",\r\n  delivery_man_cancelled: \"Annulée par le Hopper\",\r\n  cancelled_request: \"Requête annulée\",\r\n};\r\n\r\nexport var message = {\r\n  specification_already_added: \"Option déjà choisie\",\r\n  item_already_exist: \"Item Already Exist In this Product\",\r\n  product_already_exist: \"Ce nom de catégorie existe déjà\",\r\n};\r\n\r\nexport var heading_title = {\r\n  bank_detail: \"Détails bancaires\",\r\n  packed: \"Commandes prêtes\",\r\n  import_menu_file: \"Import Menu File\",\r\n  back: \"Retour\",\r\n  hop: \"HOP!\",\r\n  site_setting: \"HOP vous offre votre propre site\",\r\n  estimated_time_for_ready_order: \"Temps de préparation (min)\",\r\n  complete_order: \"Commande préparée\",\r\n  product_title: \"Product Data\",\r\n  specification_list: \"Liste d'options\",\r\n  item_title: \"Item Data\",\r\n  item_setting: \"Item Setting\",\r\n  item_specification: \"Options du produit\",\r\n  add_item_specification: \"Ajouter une option\",\r\n  store_setting_title: \"Store Setting\",\r\n  add_store_time: \"Add Store Time\",\r\n  history: \"Historique\",\r\n  order_list: \"Liste des commandes\",\r\n  delivery_list: \"Liste des livraisons\",\r\n  item_images: \"Images des produits\",\r\n  total_earning: \"Revenus totaux\",\r\n  order_earning: \"Revenus totaux\",\r\n  store_transactions: \"Store Transactions\",\r\n  other_earning: \"Autres revenus\",\r\n  orders: \"Orders\",\r\n  order_user_detail: \"Order User Detail\",\r\n  order_from: \"Commande de\",\r\n  delivery_to: \"Commande à\",\r\n  payment: \"Paiement\",\r\n  delivery_man: \"Hopper\",\r\n  cancel_order: \"Annuler la commande\",\r\n  you_are_decline: \"Votre compte a été désactivé par HOP\",\r\n  rating: \"Note\",\r\n\r\n  total_order: \"Nombre de commandes\",\r\n  accepted_order: \"Commandes acceptées\",\r\n  rejected_order: \"Commandes refusées\",\r\n  completed_order: \"Commandes effectuées\",\r\n  total_item_sold: \"Nombre de produits vendus\",\r\n  accepted_ratio: \"Ratio d'acceptation\",\r\n  rejected_ratio: \"Ratio de refus\",\r\n  completed_ratio: \"Ratio final\",\r\n  daily_earning: \"Revenus journaliers\",\r\n\r\n  invoice_no: \"Facture No.\",\r\n  user_detail: \"Détails de l'utilisateur\",\r\n  provider_detail: \"Détails du Hopper\",\r\n  order_detail: \"Détails de la commande\",\r\n  order_status: \"Statut de la commande\",\r\n  distance: \"Distance\",\r\n  total_time: \"Temps total\",\r\n  total_items: \"Nombre de produits\",\r\n  delivery_fees: \"Frais du Hopper\",\r\n  total: \"Total\",\r\n  quantity: \"Quantité\",\r\n  price: \"Prix\",\r\n  cart: \"Commande\",\r\n  order_fees: \"ORDER FEES\",\r\n  earning: \"Revenus\",\r\n  promo_setting: \"Réglages des promos\",\r\n  promo_data: \"Promo Data\",\r\n  product: \"Produit\",\r\n  category: \"Catégorie\",\r\n  item: \"Produit\",\r\n  add_modifier_group: \"Ajouter un modificateur\",\r\n  ready_to_delivery: \"Prêt à livrer\",\r\n  in_progress: \"En cours\",\r\n  accepted: \"Commandes acceptées\",\r\n  new_orders: \"Nouvelles commandes\",\r\n\r\n  order_price_settings: \"Réglages du prix des commandes\",\r\n  order_cancellation_settings: \"Réglages de l'annulation des commandes\",\r\n  schedule_order_settings: \"Réglages des précommandes\",\r\n  delivery_settings: \"Réglages des livraisons\",\r\n  store_time: \"Réglages des heures d'operations\",\r\n  select_tag: \"Sélectionner les bons tags\",\r\n  general_settings: \"Réglages généraux\",\r\n  upload_documents: \"Charger un document\",\r\n\r\n  p_accepted_order: \"Acceptées\",\r\n  p_completed_order: \"Terminées\",\r\n  p_rejected_order: \"Rejetées\",\r\n};\r\nexport var lable_title = {\r\n  cash: \"Espèecs\",\r\n  card: \"Carte\",\r\n  absolute: \"Absolut\",\r\n  percentage: \"pourcentage\",\r\n  order: \"Commande\",\r\n  service: \"Service\",\r\n  active: \"Actif\",\r\n  inactive: \"Inactif\",\r\n  expired: \"Expiré\",\r\n  not_expired: \"Valable\",\r\n  store: \"partenaire\",\r\n  admin: \"HOP\",\r\n  sub_admin: \"Sous-admin\",\r\n  provider: \"Hopper\",\r\n  user: \"Utilisateur\",\r\n  provider_vehicle_type: \"Véhicule du Hopper\",\r\n  mandatory: \"Obligatoire\",\r\n  optional: \"Optionnel\",\r\n  completed: \"Complété\",\r\n  not_completed: \"Pas encore complété\",\r\n  delivery_fees_paid_by_store: \"Frais du Hopper payé par le Partenaire\",\r\n  asap: \"Dès que possible\",\r\n\r\n  created_at: \"Créée à\",\r\n  store_accepted_at: \"Acceptée à\",\r\n  preparing_order_at: \"Préparée à\",\r\n  order_ready_at: \"Prête à\",\r\n  store_order_send_at: \"Commande envoyée à\",\r\n  provider_accepted_at: \"Acceptée par le Hopper à\",\r\n\r\n  start_for_pickup_at: \"Début du pick-up à\",\r\n  arrived_on_store_at: \"Arrivée chez le Partenaire à\",\r\n  picked_order_at: \"Commande récupérée à\",\r\n  start_for_delivery_at: \"Livraison commencée à\",\r\n  delivered_at: \"Livrée à\",\r\n  completed_at: \"Terminée à\",\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/store_panel_string.ts","\r\nexport var MESSAGE_CODE = {\r\n    \r\n    121:\"Register Successfully\",\r\n    122:\"Login Successfully\",\r\n    123:\"Update Successfully\",\r\n    124:\"Password Reset Successfully\",\r\n    125:\"Get Otp Successfully\",\r\n    127:\"Logout Successfully\",\r\n    131:\"Skipped Referral Process\",\r\n    132:\"Referral Process Successfully\",\r\n    133:\"Store Data Successfully\",\r\n    134:\"Store List Get Successfully\",\r\n    135:\"Order History Get Successfully\",\r\n    136:\"Store Detail Get Successfully\",\r\n    137:\"Approved Successfully\",\r\n    138:\"Declined Successfully\",\r\n    139:\"Get Detail Successfully\",\r\n    140:\"Otp Verification Successfully\",\r\n    924: \"Card Add Successfully\",\r\n\r\n    142:\"Give Rating To User Successfully\",\r\n    143:\"Give Rating To Provider Successfully\",\r\n    144:\"Get Daily Earning Successfully\",\r\n    145:\"Get Weekly Earning Successfully\",\r\n    146:\"Cancel Request Successfully\",\r\n    \r\n    \r\n    381:\"Product Add Successfully\",\r\n    382:\"Get Product List Successfully\",\r\n    383:\"Product Update Successfully\",\r\n    391:\"Specification Add Successfully\",\r\n    392:\"Get Specification List Successfully\",\r\n    393:\"Specification Delete Successfully\",\r\n    \r\n    901:\"Item Add Successfully\",\r\n    902:\"Item Image Upload Successfully\",\r\n    903:\"Item Image Update Successfully\",\r\n    904:\"Get Item List Successfully\",\r\n    905:\"Item Update Successfully\",\r\n    906:\"Item State Change Successfully\",\r\n    911:\"Document Add Successfully\",\r\n    912:\"Document List Successfully\",\r\n    913:\"Document Upload Successfully\",\r\n    914:\"Document Update Successfully\",\r\n    2041:\"Specification Added Successfully\",\r\n    2042:\"Get Specification List Successfully\",\r\n    5001: \"Password reset Successfully\",\r\n\r\n    241: \"Order Created Successfully\",\r\n\r\n    921: \"Promocode Add Successfully\",\r\n    923: \"Promocode Update Successfully\",\r\n    907: \"Item Remove Successfully\",\r\n    385: \"Category Remove Successfully\"\r\n        \r\n        \r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/store_panel_success_message.ts","\r\nexport var validation_message = {\r\n\r\n\temail_required : \"Email is required\",\r\n\tvalid_email : \"Please Enter Valid Email Address\",\r\n\tphone_required : \"Phone Number is required\",\r\n\tphone_minlength : \"Please Enter Atleast Character\",\r\n\tphone_maxlength : \"Do Not Enter More Than Character\",\r\n\tname_required : \"Name  is required\",\r\n\taddress_required : \"Address  is required\",\r\n\tlatitude_required : \"Latitude  is required\",\r\n\tlongitude_required : \"Longitude  is required\",\r\n\tpassword_required : \"Password is required\",\r\n\tpassword_minlength : \"Please Enter Atleast 6 Character\",\r\n\titem_tax_required: \"Item Tax is required\",\r\n\tdelivery_time_required: \"Delivery Time is required\",\r\n\tdelivery_time_max_required: \"Max Delivery Time is required\",\r\n\tfree_delivery_for_above_order_price_required: \"Price is required\",\r\n    free_delivery_within_radius_required: \"Radius is required\",\r\n\tstore_open_time_required: \"Store Open Time is required\",\r\n\tstore_close_time_required: \"Store Close Time is required\",\r\n\tproduct_name_required:\"Product Name is required\",\r\n\tproduct_detail_required: \"Product Detail is required\",\r\n\tproduct_image_required: \"Product Image is required\",\r\n\r\n\tselect_product_required: \"Select Product\",\r\n\titem_name_required: \"Item Name is required\",\r\n\titem_detail_required: \"Item Detail is required\",\r\n\titem_price_required: \"Item price is required\",\r\n\titem_ref_code_required: \"Item Ref. Code is required\",\r\n\tmatch_confirm_password: \"Not match\",\r\n\r\n\tselect_country_required:\"Select Country First\",\r\n\r\n\tselect_city_required:\"Select City First\",\r\n\tselect_delivery_type_required:\"Select Delivery Type First\",\r\n\r\n\temail_otp_wrong: \"Email Otp Wrong\",\r\n\tsms_otp_erong: \"Sms Otp Wrong\",\r\n\totp_wrong: \"Opt Wrong\",\r\n\r\n\topen_time_not_greater_close_time: \"Open Time Not Greater Than Close Time\",\r\n\tinvalid_open_time:\"Invalid Open Time\",\r\n\tclose_time_not_less_open_time: \"Close Time Not Less Than Open Time\",\r\n\tinvalid_close_time:\"Invalid Close Time\",\r\n\r\n\timage_required:\"Image is required\",\r\n\tunique_code_required:\"Unique Code is required\",\r\n\texpired_date_required:\"Expiry date is required\",\r\n    email_or_phone_required:\"Email Or Phone required\",\r\n    valid_email_or_phone:\"Enter Valid Email or Phone\",\r\n\tconfirmation_code_wrong: \"Confirmation Code Wrong\",\r\n\t\r\n\tsite_color_required:\"site color is required\",\r\n\tsite_description_required:\"site description is required\",\r\n\tsite_domain_required:\"site domain is required\",\r\n\tsite_logo_required:\"site logo is required\"\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/store_panel_validation_message.ts","import {Component, ViewChild, ViewContainerRef} from '@angular/core';\r\nimport {Response} from '@angular/http';\r\nimport {ModalComponent} from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport {Helper} from \"../../store_helper\";\r\ndeclare var jQuery: any;\r\nimport {FacebookService, InitParams, LoginResponse, LoginOptions} from 'ngx-facebook';\r\ndeclare var gapi;\r\nimport {UUID} from 'angular2-uuid';\r\nexport interface StoreRegister {\r\n\r\n    name: String,\r\n    email: String,\r\n    password: String,\r\n    social_unique_id: String,\r\n    login_by: String,\r\n    confirm_password: String,\r\n    website_url: String,\r\n    slogan: String,\r\n    country_id: Object,\r\n    city_id: Object,\r\n    address: String,\r\n    country_phone_code: String,\r\n    phone: Number,\r\n    store_delivery_id: Object,\r\n    latitude: Number,\r\n    longitude: Number,\r\n    image_url: String,\r\n    referral_code: String,\r\n    is_email_verified: Boolean,\r\n    is_phone_number_verified: Boolean\r\n}\r\n\r\n@Component({\r\n    selector: 'store_register',\r\n    template: require('./store_register.template.html'),\r\n    providers: [Helper, FacebookService]\r\n})\r\nexport class store_registerComponent {\r\n\r\n    @ViewChild('myModal')\r\n    modal: ModalComponent;\r\n\r\n    private store_register: StoreRegister;\r\n    title: any;\r\n    button: any;\r\n    code: any;\r\n    image_url: string;\r\n    minimum_phone_number_length: number;\r\n    maximum_phone_number_length: number;\r\n    country_list: any[];\r\n    city_list: any[];\r\n    delivery_list: any[];\r\n    country_phone_code_list: any[];\r\n    setting_data: any;\r\n    otp_for_email: number;\r\n    otp_for_sms: number;\r\n    stor_data: any;\r\n    store_data:any;\r\n    opt_error_message: number;\r\n    is_referral: Boolean = true;\r\n    is_country_referral: Boolean = true;\r\n    referral_code: string = '';\r\n    is_referral_apply: Boolean = false;\r\n    validation_message: any;\r\n\r\n    myLoading: boolean = true;\r\n    constructor(public helper: Helper, private fb: FacebookService, public vcr: ViewContainerRef) {\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n\r\n        let initParams: InitParams = {\r\n            appId: '601526146700337',\r\n            xfbml: true,\r\n            version: 'v2.10'\r\n        };\r\n\r\n        fb.init(initParams);\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n        jQuery(\".chosen-select\").chosen();\r\n        setTimeout(function () {\r\n            jQuery('input').iCheck({\r\n                handle: 'checkbox',\r\n                checkboxClass: 'icheckbox_square-green',\r\n            });\r\n            jQuery('.iradio').iCheck({\r\n                handle: 'radio',\r\n                radioClass: 'iradio_square-green'\r\n            });\r\n        }, 1000);\r\n    }\r\n\r\n\r\n    ngOnInit() {\r\n\r\n        let token = this.helper.tokenService.getToken();\r\n        if (token && token.token) {\r\n            this.helper.data.storage = {\r\n                \"message\": 999,\r\n                \"class\": \"alert-info\"\r\n            }\r\n\r\n            this.helper.router.navigate(['store/product']);\r\n        }\r\n        this.helper.message()\r\n\r\n        this.title = this.helper.title\r\n        this.button = this.helper.button\r\n        this.validation_message = this.helper.validation_message;\r\n\r\n        this.store_register = {\r\n\r\n            name: \"\",\r\n            email: \"\",\r\n            password: \"\",\r\n            social_unique_id: \"\",\r\n            login_by: this.title.manual,\r\n            confirm_password: \"\",\r\n            website_url: \"\",\r\n            slogan: \"\",\r\n            country_id: \"\",\r\n            city_id: \"\",\r\n            address: \"\",\r\n            country_phone_code: \"\",\r\n            phone: null,\r\n            store_delivery_id: \"\",\r\n            latitude: null,\r\n            longitude: null,\r\n            image_url: \"\",\r\n            referral_code: \"\",\r\n            is_phone_number_verified: false,\r\n            is_email_verified: false\r\n\r\n        }\r\n        this.helper.http.get(this.helper.GET_METHOD.GET_COUNTRY_LIST).map((response: Response) => response.json()).subscribe(res_data => {\r\n\r\n            this.country_list = res_data.countries;\r\n            setTimeout(function () {\r\n                jQuery(\".chosen-select\").trigger(\"chosen:updated\");\r\n            }, 1000);\r\n\r\n        },\r\n            (error: any) => {\r\n                this.helper.http_status(error)\r\n            });\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_SETTING_DETAIL, {}).map((response: Response) => response.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            this.setting_data = res_data.setting\r\n\r\n            if (res_data.setting.is_referral_to_store == false) {\r\n                this.is_referral = false;\r\n            }\r\n            if (res_data.setting.is_show_optional_field_in_store_register == false) {\r\n                jQuery(\"#Optiona_field\").css(\"display\", \"none\");\r\n            }\r\n            if (!this.setting_data.is_store_login_by_social) {\r\n                jQuery('#social').hide();\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n        this.city_list = []\r\n        this.minimum_phone_number_length = 10\r\n        this.maximum_phone_number_length = 10\r\n        this.delivery_list = []\r\n\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#country').on('change', (evnt, res_data) => {\r\n            this.get_city_list(res_data.selected)\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#city').on('change', (evnt, res_data) => {\r\n\r\n            this.get_delivery_list(res_data.selected)\r\n\r\n        });\r\n\r\n        jQuery(this.helper.elementRef.nativeElement).find('#delivery').on('change', (evnt, res_data) => {\r\n\r\n            this.store_register.store_delivery_id = res_data.selected\r\n\r\n        });\r\n\r\n\r\n    }\r\n    public formData = new FormData();\r\n\r\n    image_update($event) {\r\n        const files = $event.target.files || $event.srcElement.files;\r\n        const image_url = files[0];\r\n\r\n        if (image_url.type == \"image/jpeg\" || image_url.type == \"image/jpg\" || image_url.type == \"image/png\") {\r\n            this.formData = new FormData();\r\n            this.image_url = image_url\r\n            var reader = new FileReader();\r\n\r\n            reader.onload = (e: any) => {\r\n                this.store_register.image_url = e.target.result\r\n            }\r\n            reader.readAsDataURL(image_url);\r\n        }\r\n\r\n    }\r\n\r\n    google_register() {\r\n\r\n        gapi.load('auth2', () => {\r\n            let auth2 = gapi.auth2.init({\r\n                client_id: '1062107977876-q30ugfv61img1eu9qjm1kiuirenma111.apps.googleusercontent.com',\r\n                fetch_basic_profile: true,\r\n                scope: 'profile'\r\n            });\r\n\r\n            auth2.signIn().then(() => {\r\n                this.myLoading = true;\r\n                if (auth2.isSignedIn.get()) {\r\n                    let profile = auth2.currentUser.get().getBasicProfile();\r\n\r\n                    this.store_register.name = profile.getName();\r\n                    this.store_register.social_unique_id = profile.getId();\r\n                    this.store_register.login_by = this.title.social\r\n                    this.store_register.email = profile.getEmail();\r\n                    this.store_register.password = '123456';\r\n                    this.store_register.confirm_password = '123456';\r\n                    let image_url = profile.getImageUrl();\r\n                    this.generate_file(image_url);\r\n                }\r\n            });\r\n        });\r\n        var interval = setInterval(function () {\r\n            // clearInterval(interval)\r\n        }, 1000);\r\n\r\n    }\r\n\r\n    facebook_register() {\r\n\r\n        const loginOptions: LoginOptions = {\r\n            enable_profile_selector: true,\r\n            return_scopes: true,\r\n            scope: 'public_profile,email'\r\n        };\r\n\r\n        this.fb.login(loginOptions)\r\n            .then((response: LoginResponse) => {\r\n                this.myLoading = true;\r\n                this.fb.api('/me?fields=id,name,email')\r\n                    .then((res: any) => {\r\n\r\n                        this.store_register.name = res.name;\r\n                        this.store_register.social_unique_id = res.id;\r\n                        this.store_register.login_by = this.title.social\r\n                        this.store_register.email = res.email;\r\n                        this.store_register.password = '123456';\r\n                        this.store_register.confirm_password = '123456';\r\n                        let image_url = \"https://graph.facebook.com/\" + res.id + \"/picture?width=250&height=250\";\r\n\r\n                        this.generate_file(image_url)\r\n\r\n\r\n                    })\r\n                    .catch((error: any) => console.error(error));\r\n            })\r\n            .catch((error: any) => console.error(error));\r\n\r\n    }\r\n\r\n    generate_file(image_url) {\r\n        var getFileBlob = function (url, cb) {\r\n            var xhr = new XMLHttpRequest();\r\n            xhr.open(\"GET\", url);\r\n            xhr.responseType = \"blob\";\r\n            xhr.addEventListener('load', function () {\r\n                cb(xhr.response);\r\n            });\r\n            xhr.send();\r\n        };\r\n\r\n        var blobToFile = function (blob, name) {\r\n            blob.lastModifiedDate = new Date();\r\n            blob.name = \"profile\";\r\n            return blob;\r\n        };\r\n\r\n        var getFileObject = function (filePathOrUrl, cb) {\r\n            getFileBlob(filePathOrUrl, function (blob) {\r\n                cb(blobToFile(blob, image_url));\r\n            });\r\n        };\r\n\r\n        getFileObject(image_url, (fileObject) => {\r\n\r\n            var reader = new FileReader();\r\n            this.image_url = fileObject;\r\n            reader.onload = (e: any) => {\r\n                this.store_register.image_url = e.target.result\r\n            }\r\n            reader.readAsDataURL(fileObject);\r\n            this.myLoading = false;\r\n        });\r\n    }\r\n\r\n    check_referral() {\r\n        this.myLoading = true;\r\n        this.helper.http.post(this.helper.POST_METHOD.CHECK_REFERRAL, {country_id: this.store_register.country_id, referral_code: this.referral_code, type: 2}).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success) {\r\n                this.is_referral_apply = true;\r\n                this.store_register.referral_code = this.referral_code;\r\n                jQuery('#basic-addon2').hide();\r\n            }\r\n            else {\r\n                this.is_referral_apply = false;\r\n                this.referral_code = '';\r\n                jQuery('#basic-addon2').show();\r\n            }\r\n\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n\r\n    get_city_list(countryid) {\r\n        this.is_referral_apply = false;\r\n        this.store_register.referral_code = '';\r\n        this.referral_code = '';\r\n        jQuery('#basic-addon2').show();\r\n\r\n        this.store_register.phone = null;\r\n        this.store_register.country_id = countryid\r\n        this.delivery_list = [];\r\n        this.store_register.store_delivery_id = '';\r\n        this.store_register.city_id = '';\r\n        this.myLoading = true;\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_CITY_LIST, {country_id: countryid}).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success) {\r\n                this.store_register.country_phone_code = res_data.country_phone_code\r\n                this.city_list = res_data.cities\r\n                this.minimum_phone_number_length = res_data.minimum_phone_number_length\r\n                this.maximum_phone_number_length = res_data.maximum_phone_number_length;\r\n                this.is_country_referral = res_data.is_referral_store;\r\n                var country_code = res_data.country_code;\r\n\r\n                var autocompleteElm = <HTMLInputElement> document.getElementById('address');\r\n                let autocomplete = new google.maps.places.Autocomplete((autocompleteElm), {componentRestrictions: {country: country_code}});\r\n\r\n                autocomplete.addListener('place_changed', () => {\r\n                    let place = autocomplete.getPlace();\r\n                    if (place.geometry.location) {\r\n                        let lat = place.geometry.location.lat();\r\n                        let lng = place.geometry.location.lng();\r\n                        this.store_register.address = place.formatted_address\r\n                        this.store_register.latitude = lat\r\n                        this.store_register.longitude = lng\r\n                    }\r\n                });\r\n            }\r\n            else {\r\n                if (res_data.error_code !== 801) {\r\n                    this.store_register.country_phone_code = res_data.country_phone_code\r\n                    this.minimum_phone_number_length = res_data.minimum_phone_number_length\r\n                    this.maximum_phone_number_length = res_data.maximum_phone_number_length\r\n                    this.is_country_referral = res_data.is_referral_store;\r\n                    let country_code = res_data.country_code;\r\n\r\n                    let autocompleteElm = <HTMLInputElement> document.getElementById('address');\r\n                    let autocomplete = new google.maps.places.Autocomplete((autocompleteElm), {componentRestrictions: {country: country_code}});\r\n\r\n                    autocomplete.addListener('place_changed', () => {\r\n                        var place = autocomplete.getPlace();\r\n                        var lat = place.geometry.location.lat();\r\n                        var lng = place.geometry.location.lng();\r\n                        this.store_register.address = place.formatted_address\r\n                        this.store_register.latitude = lat\r\n                        this.store_register.longitude = lng\r\n                    });\r\n                }\r\n                else {\r\n                    this.store_register.country_phone_code = \"\"\r\n                }\r\n                this.city_list = [];\r\n            }\r\n            setTimeout(function () {\r\n                jQuery(\"#city\").trigger(\"chosen:updated\");\r\n            }, 1000);\r\n\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n        setInterval(function () {\r\n\r\n        }, 100);\r\n\r\n    }\r\n\r\n    get_delivery_list(cityid) {\r\n        this.myLoading = true;\r\n        this.store_register.city_id = cityid;\r\n        this.store_register.store_delivery_id = '';\r\n        this.helper.http.post(this.helper.POST_METHOD.GET_DELIVERY_LIST_FOR_CITY, {city_id: cityid}).map((res: Response) => res.json()).subscribe(res_data => {\r\n            this.myLoading = false;\r\n            if (res_data.success) {\r\n                this.delivery_list = res_data.deliveries\r\n            }\r\n            else {\r\n                this.delivery_list = [];\r\n            }\r\n            setTimeout(function () {\r\n                jQuery(\"#delivery\").trigger(\"chosen:updated\");\r\n            }, 1000);\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n\r\n    }\r\n\r\n    blank_address() {\r\n        this.store_register.latitude = null;\r\n        this.store_register.longitude = null;\r\n        this.store_register.address = '';\r\n    }\r\n\r\n    storeRegister(stordata) {\r\n        var reg = /^([A-Za-z0-9_\\-\\.])+\\@([A-Za-z0-9_\\-\\.])+\\.([A-Za-z]{2,4})$/;\r\n\r\n        if (this.store_register.latitude == null || this.store_register.longitude == null) {\r\n            this.store_register.address = '';\r\n        } else {\r\n            if (reg.test(stordata.email.trim()) && stordata.password.trim() === stordata.confirm_password.trim()) {\r\n\r\n                this.myLoading = true;\r\n                this.stor_data = stordata\r\n                if (this.setting_data.is_store_sms_verification == true || this.setting_data.is_store_mail_verification == true) {\r\n                    this.helper.http.post(this.helper.POST_METHOD.ADMIN_OTP_VERIFICATION, {type: 2, email: stordata.email, country_phone_code: stordata.country_phone_code, phone: stordata.phone}).map((res: Response) => res.json()).subscribe(res_data => {\r\n                        this.myLoading = false;\r\n                        if (res_data.success == true) {\r\n                            this.helper.string_log(\"email\", res_data.otp_for_email)\r\n                            this.helper.string_log(\"sms\", res_data.otp_for_sms)\r\n                            this.modal.open();\r\n                            this.otp_for_email = res_data.otp_for_email\r\n                            this.otp_for_sms = res_data.otp_for_sms\r\n                            if (this.setting_data.is_store_sms_verification == false) {\r\n                                jQuery(\"#otp_for_sms\").css(\"display\", \"none\");\r\n                            }\r\n\r\n                            if (this.setting_data.is_store_mail_verification == false) {\r\n                                jQuery(\"#otp_for_email\").css(\"display\", \"none\");\r\n                            }\r\n                        }\r\n                        else {\r\n                            this.helper.data.storage = {\r\n                                \"code\": res_data.error_code,\r\n                                \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                                \"class\": \"alert-danger\"\r\n                            }\r\n                            this.helper.message()\r\n\r\n                        }\r\n                    }, (error: any) => {\r\n                        this.myLoading = false;\r\n                        this.helper.http_status(error)\r\n                    });\r\n                }\r\n                else {\r\n                    this.register(stordata)\r\n                }\r\n            }\r\n        }\r\n    }\r\n\r\n    otp_var(otp) {\r\n        if (otp.sms_otp == undefined) {\r\n            if (otp.email_otp == this.otp_for_email) {\r\n                this.store_register.is_email_verified = true;\r\n                this.register(this.stor_data)\r\n            }\r\n            else {\r\n                this.opt_error_message = 1\r\n            }\r\n        }\r\n        else if (otp.email_otp == undefined) {\r\n            if (otp.sms_otp == this.otp_for_sms) {\r\n                this.store_register.is_phone_number_verified = true;\r\n                this.register(this.stor_data)\r\n            }\r\n            else {\r\n                this.opt_error_message = 2\r\n            }\r\n        }\r\n        else {\r\n            if (otp.sms_otp == this.otp_for_sms && otp.email_otp == this.otp_for_email) {\r\n                this.store_register.is_email_verified = true;\r\n                this.store_register.is_phone_number_verified = true;\r\n                this.register(this.stor_data)\r\n            }\r\n            else {\r\n                this.opt_error_message = 3\r\n            }\r\n        }\r\n    }\r\n\r\n    register(store_data) {\r\n        if (this.store_register.login_by == this.title.social) {\r\n            this.store_register.password = '';\r\n            this.store_register.confirm_password = '';\r\n        }\r\n        this.myLoading = true;\r\n        this.formData.append('image_url', this.image_url);\r\n        this.formData.append('phone', store_data.phone.trim());\r\n        this.formData.append('password', this.store_register.password.trim());\r\n        this.formData.append('country_id', store_data.country_id);\r\n        this.formData.append('city_id', store_data.city_id);\r\n        this.formData.append('social_id', this.store_register.social_unique_id);\r\n        this.formData.append('login_by', this.store_register.login_by);\r\n        this.formData.append('store_delivery_id', store_data.store_delivery_id);\r\n        this.formData.append('country_phone_code', store_data.country_phone_code);\r\n        this.formData.append('name', store_data.name.trim());\r\n        this.formData.append('email', store_data.email.trim());\r\n        this.formData.append('address', store_data.address.trim());\r\n        this.formData.append('latitude', this.store_register.latitude);\r\n        this.formData.append('longitude', this.store_register.longitude);\r\n        this.formData.append('website_url', store_data.website_url.trim());\r\n        this.formData.append('slogan', store_data.slogan);\r\n        this.formData.append('referral_code', this.store_register.referral_code.trim());\r\n        this.formData.append('is_phone_number_verified', this.store_register.is_phone_number_verified);\r\n        this.formData.append('is_email_verified', this.store_register.is_email_verified);\r\n\r\n        this.helper.http.post(this.helper.POST_METHOD.REGISTER, this.formData).map((res: Response) => res.json()).subscribe(res_data => {\r\n\r\n            this.myLoading = false;\r\n            if (res_data.success == false) {\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                    \"class\": \"alert-danger\"\r\n                }\r\n                this.helper.message();\r\n                this.formData = new FormData();\r\n                if (this.store_register.login_by == this.title.social) {\r\n                    this.store_register.password = '123456';\r\n                    this.store_register.confirm_password  = '123456';\r\n                }\r\n            }\r\n            else {                \r\n//                                this.helper.data.storage = {\r\n//                                                    \"message\": this.helper.MESSAGE_CODE[res_data.messag                e],\r\n//                                                    \"class\": \"alert-info\"\r\n//                                }\r\n//                                this.helper.router.navigate(['store/login']);\r\n\r\n                this.store_data = res_data;                \r\n                this.helper.tokenService.setToken(this.store_data.store.server_token);\r\n                this.helper.user_cart.name = this.store_data.store.name;\r\n                this.helper.user_cart.image = this.store_data.store.image_url;\r\n                localStorage.setItem('store', JSON.stringify(this.store_data.store));\r\n                this.helper.data.storage = {\r\n                    \"message\": this.helper.MESSAGE_CODE[this.store_data.message],\r\n                    \"class\": \"alert-info\"\r\n                }\r\n                this.helper.user_cart.cart_data.cart_id = null;\r\n                this.helper.user_cart.cart_unique_token = UUID.UUID();\r\n\r\n                if (this.store_data.store.is_document_uploaded) {\r\n                    this.helper.router.navigate(['store/order']);\r\n                }\r\n                else {\r\n                    this.helper.router.navigate(['store/upload_document']);\r\n                }\r\n            }\r\n        },\r\n            (error: any) => {\r\n                this.myLoading = false;\r\n                this.helper.http_status(error)\r\n            });\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/store_register/store_register.component.ts","import {NgModule} from \"@angular/core\";\r\nimport { CommonModule } from '@angular/common';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport {store_registerComponent} from \"./store_register.component\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { CustomFormsModule } from 'ng2-validation'\r\n    import { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\n    // import {GooglePlaceModule} from 'ng2-google-place-autocomplete';\r\n    import { TranslateModule } from 'ng2-translate';\r\n   import { FooterModule } from '../../../common/store/footer/footer.module';\r\nimport { FacebookModule } from 'ngx-facebook';\r\n\r\n@NgModule({\r\n    declarations: [store_registerComponent],\r\n    imports     : [CommonModule, CustomFormsModule, FacebookModule, FooterModule, BrowserModule,TranslateModule, RouterModule, FormsModule,Ng2Bs3ModalModule],\r\n})\r\n\r\nexport class store_RegisterModule {}\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/store_register/store_register.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { StoreTrackDeliveryManComponent } from './track_delivery_man.component';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\n// import { AgmCoreModule } from \"angular2-google-maps/core\";\r\n\r\n@NgModule({\r\n  imports: [\r\n    // AgmCoreModule.forRoot({\r\n    //     apiKey: \"AIzaSyBdp63UjqKdWrgjhYRqombTjTLv-dIczNI\"\r\n    // }),\r\n    CommonModule,FooterModule,TranslateModule\r\n  ],\r\n  declarations: [StoreTrackDeliveryManComponent]\r\n})\r\nexport class StoreTrackDeliveryManModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/track_delivery_man/track_delivery_man.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { StoreUploadDocumentComponent } from './upload_document.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,BrowserModule,FormsModule ,FooterModule, MyDatePickerModule,TranslateModule\r\n  ],\r\n  declarations: [StoreUploadDocumentComponent]\r\n})\r\nexport class StoreUploadDocumentModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/upload_document/upload_document.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { StoreUserComponent } from './user.component';\r\nimport {BrowserModule} from \"@angular/platform-browser\";\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { UiSwitchModule } from 'angular2-ui-switch';\r\nimport { Ng2Bs3ModalModule } from 'ng2-bs3-modal/ng2-bs3-modal';\r\nimport {TooltipModule} from \"ngx-tooltip\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,DropdownModule,BrowserModule,MyDatePickerModule,FormsModule,RouterModule,FooterModule,Ng2Bs3ModalModule,UiSwitchModule,TooltipModule,TranslateModule\r\n  ],\r\n  declarations: [StoreUserComponent]\r\n})\r\nexport class StoreUserModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/user/user.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { StoreViewCartComponent } from './view_cart.component';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,RouterModule ,FooterModule, TranslateModule\r\n  ],\r\n  declarations: [StoreViewCartComponent]\r\n})\r\nexport class StoreViewCartModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/view_cart/view_cart.module.ts","import { Component, OnInit,ViewContainerRef } from '@angular/core';\r\nimport { Http, Response } from '@angular/http';\r\ndeclare var jQuery:any;\r\nimport {Helper} from \"../../store_helper\";\r\nimport * as moment from 'moment-timezone';\r\n\r\n@Component({\r\n    selector: 'app-view_order',\r\n    template: require('./view_order.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class StoreViewOrderComponent implements OnInit {\r\n\r\n    store_id:Object;\r\n    server_token:string;\r\n    order_id:Object;\r\n    order_detail:any[] = [];\r\n    currency_sign:any;\r\n    order_total:number;\r\n    product_item_total:number;\r\n    product_item_total_array:number[];\r\n    product_item_specification_total:number;\r\n    product_item_specification_total_array:number[];\r\n    product_specification_total_array:any[];\r\n    total_item:number;\r\n\r\n    order_date_time: any[] = [];\r\n    request_date_time: any[] = [];\r\n\r\n    public status:any;\r\n    title:any;\r\n    button:any;\r\n    heading_title:any;\r\n    ORDER_STATE:any;\r\n    ORDER_STATUS_ID:any;\r\n    order_status:number;\r\n    order_status_id:number;\r\n    created_at:any = null;\r\n    store_accepted_at:any = null;\r\n    start_preparing_order_at:any = null;\r\n    order_ready_at:any = null;\r\n    store_order_created_at:any = null;\r\n    accepted_at:any = null;\r\n    cancelled_at:any = null;\r\n    start_for_pickup_at:any = null;\r\n    arrived_on_store_at:any = null;\r\n    picked_order_at:any = null;\r\n    start_for_delivery_at:any = null;\r\n    delivered_at:any = null;\r\n    completed_at:any = null;\r\n\r\n    invoice_number:string;\r\n    total_order_price:number;\r\n    total_delivery_price:number;\r\n    card_payment:number;\r\n    cash_payment:number;\r\n    is_payment_mode_cash:Boolean = false;\r\n    hide_specification_group: any[] = [];\r\n\r\n    user_name:string = '';\r\n    user_email:string = '';\r\n    user_phone: string = '';\r\n    user_profile: string = '';\r\n    destination_addresses:string = '';\r\n    provider_name:string = '';\r\n    provider_email:string = '';\r\n    provider_profile:string = '';\r\n    user_country_code: string = '';\r\n    provider_country_code: string = '';\r\n    provider_phone: string = '';\r\n    myLoading:boolean = true;\r\n    is_user_pick_up_order: Boolean = false;\r\n    specifications: any[] = [];\r\n    item_note: string = '';\r\n    moment: any;\r\n    timezone: string = '';\r\n\r\n    constructor(public helper: Helper, public vcr: ViewContainerRef){\r\n        helper.toastr.setRootViewContainerRef(vcr);\r\n    }\r\n\r\n    activeRoute(routename: string): boolean{\r\n        return this.helper.router.url.indexOf(routename) > -1;\r\n    }\r\n\r\n    ngOnInit() {\r\n        let token = this.helper.tokenService.getToken();\r\n\r\n        if(!token || !token.token) {\r\n            this.helper.router.navigate(['store/login']);\r\n        }\r\n        this.order_id = this.helper.router_id.store.order_id;\r\n        this.order_total=0;\r\n        this.total_item=0;\r\n        this.product_item_total=0;\r\n        this.product_item_total_array=[];\r\n        this.product_item_specification_total=0;\r\n        this.product_item_specification_total_array=[];\r\n        this.product_specification_total_array=[];\r\n\r\n        this.status=this.helper.status;\r\n        this.title=this.helper.title;\r\n        this.heading_title=this.helper.heading_title;\r\n        this.button=this.helper.button;\r\n        this.ORDER_STATE=this.helper.ORDER_STATE;\r\n        this.ORDER_STATUS_ID=this.helper.ORDER_STATUS_ID;\r\n\r\n        this.invoice_number='';\r\n        this.total_order_price=0;\r\n        this.total_delivery_price=0;\r\n        this.card_payment=0;\r\n        this.cash_payment=0;\r\n        this.moment = moment;\r\n\r\n        var store = JSON.parse(localStorage.getItem('store'));\r\n\r\n        if(store!==null)\r\n        {\r\n            this.store_id= store._id;\r\n            this.server_token= store.server_token;\r\n        }\r\n\r\n        if(this.order_id !== '')\r\n        {\r\n\r\n            this.helper.http.post(this.helper.POST_METHOD.GET_ORDER_DETAIL,{order_id:this.order_id,store_id:store._id, server_token:store.server_token}).map((res_data: Response) => res_data.json()) .subscribe(res_data => {\r\n                this.myLoading=false;\r\n                if(res_data.success == false)\r\n                {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.router.navigate(['store/order']);\r\n                }\r\n                else\r\n                {\r\n                    this.user_name = res_data.order.user_detail.first_name + ' ' + res_data.order.user_detail.last_name;\r\n                    this.user_email = res_data.order.user_detail.email;\r\n                    this.user_phone = res_data.order.user_detail.phone;\r\n                    this.user_profile = res_data.order.user_detail.image_url;\r\n                    this.user_country_code = res_data.order.user_detail.country_phone_code;\r\n\r\n                    this.destination_addresses = res_data.order.cart_detail.destination_addresses;\r\n\r\n                    if(res_data.order.provider_detail.length>0)\r\n                    {\r\n                        this.provider_name = res_data.order.provider_detail[0].first_name + ' ' + res_data.order.provider_detail[0].last_name\r\n                        this.provider_email = res_data.order.provider_detail[0].email;\r\n                        this.provider_profile = res_data.order.provider_detail[0].image_url;\r\n                        this.provider_phone = res_data.order.provider_detail[0].phone;\r\n                        this.provider_country_code = res_data.order.provider_detail[0].country_phone_code;\r\n                    }\r\n\r\n\r\n                    this.invoice_number=res_data.order.order_payment_detail.invoice_number;\r\n                    this.total_order_price = res_data.order.order_payment_detail.total_order_price\r\n                    this.total_delivery_price = res_data.order.order_payment_detail.total_delivery_price\r\n                    this.timezone = res_data.order.timezone !== undefined ? res_data.order.timezone: 'Asia/Kolkata';\r\n                    this.timezone = this.timezone !== '' ? this.timezone: 'Asia/Kolkata';\r\n                    this.order_status=res_data.order.order_status\r\n                    this.order_status_id=res_data.order.order_status_id;\r\n\r\n                    this.order_date_time = res_data.order.date_time;\r\n                    if(res_data.order.request_detail){\r\n                        this.request_date_time = res_data.order.request_detail.date_time;\r\n                    }\r\n\r\n                    this.created_at=res_data.order.created_at\r\n                    this.store_accepted_at=res_data.order.store_accepted_at\r\n                    this.start_preparing_order_at=res_data.order.start_preparing_order_at\r\n                    this.order_ready_at=res_data.order.order_ready_at\r\n                    this.store_order_created_at=res_data.order.store_order_created_at\r\n                    this.accepted_at=res_data.order.accepted_at\r\n                    this.cancelled_at=res_data.order.cancelled_at\r\n                    this.start_for_pickup_at=res_data.order.start_for_pickup_at\r\n                    this.arrived_on_store_at=res_data.order.arrived_on_store_at\r\n                    this.picked_order_at=res_data.order.picked_order_at\r\n                    this.start_for_delivery_at=res_data.order.start_for_delivery_at\r\n                    this.delivered_at=res_data.order.delivered_at\r\n                    this.completed_at= res_data.order.completed_at != null ? res_data.order.completed_at : res_data.order.created_at\r\n\r\n                    this.is_payment_mode_cash = res_data.order.order_payment_detail.is_payment_mode_cash;\r\n                    this.card_payment = res_data.order.order_payment_detail.card_payment\r\n                    this.cash_payment = res_data.order.order_payment_detail.cash_payment\r\n                    this.is_user_pick_up_order = res_data.order.order_payment_detail.is_user_pick_up_order;\r\n\r\n\r\n                    this.order_detail =res_data.order.cart_detail.order_details\r\n                    this.currency_sign=res_data.order.country_detail.currency_sign\r\n\r\n                    this.order_detail.forEach((product, product_index)=>{\r\n\r\n                        this.hide_specification_group[product_index]=\"false\"\r\n                        product.items.forEach((item) =>{\r\n\r\n\r\n                            this.order_total=this.order_total + (item.item_price + item.total_specification_price)*item.quantity\r\n                            this.product_item_total=this.product_item_total + (item.item_price + item.total_specification_price)*item.quantity\r\n                            this.total_item= this.total_item+1;\r\n                            item.specifications.forEach((specification)=>{\r\n                                this.product_item_specification_total= this.product_item_specification_total + specification.specification_price;\r\n                            })\r\n                            this.product_item_specification_total_array.push(this.product_item_specification_total)\r\n                            this.product_item_specification_total=0;\r\n                        })\r\n                        this.product_specification_total_array.push(this.product_item_specification_total_array)\r\n                        this.product_item_specification_total_array=[];\r\n                        this.product_item_total_array.push(this.product_item_total)\r\n                        this.product_item_total=0;\r\n                    })\r\n                    if(this.order_detail.length > 0){\r\n                        this.specifications = this.order_detail[0].items[0].specifications;\r\n                        this.item_note = this.order_detail[0].items[0].note_for_item;\r\n                    }\r\n                }\r\n            },\r\n            (error: any) => {\r\n                this.myLoading=false;\r\n                    this.helper.http_status(error)\r\n            });\r\n        }\r\n        else\r\n        {\r\n            this.helper.router.navigate(['store/order']);\r\n        }\r\n        \r\n    }\r\n\r\n    hide_specifications_group(specification_group_index)\r\n    {\r\n        this.hide_specification_group[specification_group_index]='true';\r\n        jQuery('#spec_list'+specification_group_index).hide();\r\n    }\r\n\r\n    show_specifications_group(specification_group_index)\r\n    {\r\n        this.hide_specification_group[specification_group_index]='false';\r\n        jQuery('#spec_list'+specification_group_index).show();\r\n    }\r\n\r\n    get_specification(product_index, item_index){\r\n        this.specifications = this.order_detail[product_index].items[item_index].specifications;\r\n        this.item_note = this.order_detail[product_index].items[item_index].note_for_item;\r\n    }\r\n\r\n    viewInvoice(id)\r\n    {\r\n        this.helper.router_id.store.view_order_earning_id = id;\r\n        this.helper.router.navigate(['store/order_earning_detail']);\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/view_order/view_order.component.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { StoreViewOrderComponent } from './view_order.component';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,RouterModule ,FooterModule, TranslateModule\r\n  ],\r\n  declarations: [StoreViewOrderComponent]\r\n})\r\nexport class StoreViewOrderModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/view_order/view_order.module.ts","import { Component, OnInit } from '@angular/core';\r\nimport { Http, Response } from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport {Helper} from \"../../store_helper\";\r\n\r\n@Component({\r\n    selector: 'app-view_order_activity',\r\n    template: require('./view_order_activity.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class StoreViewOrderActivityComponent implements OnInit {\r\n\r\n    order_id:Object;\r\n    currency_sign:any;\r\n    public status:any;\r\n    title:any;\r\n    heading_title:any;\r\n    ORDER_STATE:any;\r\n    ORDER_STATUS_ID:any;\r\n    order_status:number;\r\n    order_status_id:number;\r\n    created_at:any;\r\n    store_accepted_at:any;\r\n    start_preparing_order_at:any;\r\n    order_ready_at:any;\r\n    store_order_created_at:any;\r\n    accepted_at:any;\r\n    cancelled_at:any;\r\n    start_for_pickup_at:any;\r\n    arrived_on_store_at:any;\r\n    picked_order_at:any;\r\n    start_for_delivery_at:any;\r\n    delivered_at:any;\r\n    completed_at:any;\r\n\r\n    constructor(public helper: Helper){\r\n    }\r\n\r\n    ngOnInit() {\r\n        let token = this.helper.tokenService.getToken();\r\n\r\n        if(!token || !token.token) {\r\n            this.helper.router.navigate(['store/login']);\r\n        }\r\n        this.order_id = this.helper.router_id.store.order_id;\r\n        this.status=status;\r\n        this.title=this.helper.title;\r\n        this.heading_title=this.helper.heading_title;\r\n        this.ORDER_STATE=this.helper.ORDER_STATE;\r\n        this.ORDER_STATUS_ID=this.helper.ORDER_STATUS_ID;\r\n        var store = JSON.parse(localStorage.getItem('store'));\r\n        if(store!==null)\r\n        {\r\n            this.helper.http.post('/api/store/get_order_data',{order_id:this.order_id,store_id:store._id, server_token:store.server_token}).map((res_data: Response) => res_data.json()) .subscribe(res_data => {\r\n\r\n                if(res_data.success == false)\r\n                {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.router.navigate(['store/order']);\r\n                }\r\n                else\r\n                {\r\n                    this.order_status=res_data.order.order_status\r\n                    this.order_status_id=res_data.order.order_status_id\r\n\r\n                    this.created_at=res_data.order.created_at\r\n                    this.store_accepted_at=res_data.order.store_accepted_at\r\n                    this.start_preparing_order_at=res_data.order.start_preparing_order_at\r\n                    this.order_ready_at=res_data.order.order_ready_at\r\n                    this.store_order_created_at=res_data.order.store_order_created_at\r\n                    this.accepted_at=res_data.order.accepted_at\r\n                    this.cancelled_at=res_data.order.cancelled_at\r\n                    this.start_for_pickup_at=res_data.order.start_for_pickup_at\r\n                    this.arrived_on_store_at=res_data.order.arrived_on_store_at\r\n                    this.picked_order_at=res_data.order.picked_order_at\r\n                    this.start_for_delivery_at=res_data.order.start_for_delivery_at\r\n                    this.delivered_at=res_data.order.delivered_at\r\n                    this.completed_at=res_data.order.completed_at\r\n                }\r\n            });\r\n        }\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/view_order_activity/view_order_activity.component.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { StoreViewOrderActivityComponent } from './view_order_activity.component';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule\r\n  ],\r\n  declarations: [StoreViewOrderActivityComponent]\r\n})\r\nexport class StoreViewOrderActivityModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/view_order_activity/view_order_activity.module.ts","import { Component, OnInit } from '@angular/core';\r\nimport { Http, Response } from '@angular/http';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport {Helper} from \"../../store_helper\";\r\n\r\n@Component({\r\n    selector: 'app-view_order_detail',\r\n    template: require('./view_order_detail.component.html'),\r\n    providers: [Helper]\r\n})\r\nexport class StoreViewOrderDetailComponent implements OnInit {\r\n\r\n    order_id:Object;\r\n    order_detail:any[];\r\n    currency_sign:any;\r\n    order_total:number;\r\n    product_item_total:number;\r\n    product_item_total_array:number[];\r\n    product_item_specification_total:number;\r\n    product_item_specification_total_array:number[];\r\n    product_specification_total_array:any[];\r\n    total_item:number;\r\n    constructor(public helper: Helper){\r\n\r\n\r\n    }\r\n\r\n    ngOnInit() {\r\n        let token = this.helper.tokenService.getToken();\r\n\r\n        if(!token || !token.token) {\r\n            this.helper.router.navigate(['store/login']);\r\n        }\r\n        this.order_id = this.helper.router_id.store.order_id;\r\n        this.order_total=0;\r\n        this.total_item=0;\r\n        this.product_item_total=0;\r\n        this.product_item_total_array=[];\r\n        this.product_item_specification_total=0;\r\n        this.product_item_specification_total_array=[];\r\n        this.product_specification_total_array=[];\r\n        var store = JSON.parse(localStorage.getItem('store'));\r\n        \r\n        if(store!==null)\r\n        {\r\n            this.helper.http.post('/api/store/get_order_data',{order_id:this.order_id,store_id:store._id, server_token:store.server_token}).map((res_data: Response) => res_data.json()) .subscribe(res_data => {\r\n\r\n\r\n                if(res_data.success == false)\r\n                {\r\n                    this.helper.data.storage = {\r\n                        \"code\": res_data.error_code,\r\n                        \"message\": this.helper.ERROR_CODE[res_data.error_code],\r\n                        \"class\": \"alert-danger\"\r\n                    }\r\n                    this.helper.router.navigate(['store/order']);\r\n                }\r\n                else\r\n                {\r\n                    this.order_detail=res_data.order.order_details\r\n                    this.currency_sign=res_data.currency\r\n\r\n                    res_data.order.order_details.forEach((product)=>{\r\n                        product.items.forEach((item) =>{\r\n                            this.order_total=this.order_total + (item.item_price + item.total_specification_price)*item.quantity\r\n                            this.product_item_total=this.product_item_total + (item.item_price + item.total_specification_price)*item.quantity\r\n                            this.total_item= this.total_item+1;\r\n                            item.specifications.forEach((specification)=>{\r\n                                this.product_item_specification_total= this.product_item_specification_total + specification.specification_price;\r\n                            })\r\n                            this.product_item_specification_total_array.push(this.product_item_specification_total)\r\n                            this.product_item_specification_total=0;\r\n                        })\r\n                        this.product_specification_total_array.push(this.product_item_specification_total_array)\r\n                        this.product_item_specification_total_array=[];\r\n                        this.product_item_total_array.push(this.product_item_total)\r\n                        this.product_item_total=0;\r\n                    })\r\n                }\r\n            });\r\n        }\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/view_order_detail/view_order_detail.component.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { StoreViewOrderDetailComponent } from './view_order_detail.component';\r\nimport {RouterModule} from \"@angular/router\";\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,RouterModule\r\n  ],\r\n  declarations: [StoreViewOrderDetailComponent]\r\n})\r\nexport class StoreViewOrderDetailModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/view_order_detail/view_order_detail.module.ts","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { StorWeeklyEarningComponent } from './weekly_earning.component';\r\nimport {DropdownModule} from \"ng2-dropdown\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport {RouterModule} from \"@angular/router\";\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\nimport { TranslateModule } from 'ng2-translate';\r\nimport { FooterModule } from '../../../common/store/footer/footer.module';\r\nimport { MomentModule } from 'angular2-moment';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,DropdownModule,FormsModule,FooterModule,RouterModule,MyDatePickerModule,TranslateModule,MomentModule\r\n  ],\r\n  declarations: [StorWeeklyEarningComponent]\r\n})\r\nexport class StorWeeklyEarningModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/app/views/store/weekly_earning/weekly_earning.module.ts","// This file includes polyfills needed by Angular 2 and is loaded before\r\n// the app. You can add your own extra polyfills to this file.\r\nimport 'core-js/es6/symbol';\r\nimport 'core-js/es6/object';\r\nimport 'core-js/es6/function';\r\nimport 'core-js/es6/parse-int';\r\nimport 'core-js/es6/parse-float';\r\nimport 'core-js/es6/number';\r\nimport 'core-js/es6/math';\r\nimport 'core-js/es6/string';\r\nimport 'core-js/es6/date';\r\nimport 'core-js/es6/array';\r\nimport 'core-js/es6/regexp';\r\nimport 'core-js/es6/map';\r\nimport 'core-js/es6/set';\r\nimport 'core-js/es6/reflect';\r\n\r\nimport 'core-js/es7/reflect';\r\nimport 'zone.js/dist/zone';\r\n\n\n\n// WEBPACK FOOTER //\n// D:/hop/admin_panel/~/angular2-template-loader!D:/hop/admin_panel/public/polyfills.ts","/**\r\n * @license\r\n * Copyright (C) 2016 Dizzy <itsdizzy40@gmail.com>\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file.\r\n */\r\n\"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 http_1 = require('@angular/http');\r\nvar router_1 = require('@angular/router');\r\nvar auth_config_1 = require('./auth.config');\r\nvar auth_guards_1 = require('./auth.guards');\r\nvar token_service_1 = require('./token.service');\r\nvar auth_http_1 = require('./auth.http');\r\nvar AuthModule = (function () {\r\n    function AuthModule() {\r\n    }\r\n    AuthModule.forRoot = function (config) {\r\n        return {\r\n            ngModule: AuthModule,\r\n            providers: [\r\n                token_service_1.TokenService,\r\n                {\r\n                    provide: auth_http_1.AuthHttp,\r\n                    useFactory: function (tokenService, http, options) {\r\n                        return new auth_http_1.AuthHttp(new auth_config_1.AuthConfig(config), tokenService, http, options);\r\n                    },\r\n                    deps: [\r\n                        token_service_1.TokenService,\r\n                        http_1.Http,\r\n                        http_1.RequestOptions\r\n                    ]\r\n                },\r\n                {\r\n                    provide: auth_guards_1.LoggedInAuthGuard,\r\n                    useFactory: function (tokenService, router) {\r\n                        return new auth_guards_1.LoggedInAuthGuard(new auth_config_1.AuthConfig(config), tokenService, router);\r\n                    },\r\n                    deps: [\r\n                        token_service_1.TokenService,\r\n                        router_1.Router\r\n                    ]\r\n                },\r\n                {\r\n                    provide: auth_guards_1.LoggedOutAuthGuard,\r\n                    useFactory: function (tokenService, router) {\r\n                        return new auth_guards_1.LoggedOutAuthGuard(new auth_config_1.AuthConfig(config), tokenService, router);\r\n                    },\r\n                    deps: [\r\n                        token_service_1.TokenService,\r\n                        router_1.Router\r\n                    ]\r\n                }\r\n            ]\r\n        };\r\n    };\r\n    AuthModule = __decorate([\r\n        core_1.NgModule({\r\n            imports: [\r\n                common_1.CommonModule,\r\n                http_1.HttpModule,\r\n                router_1.RouterModule\r\n            ],\r\n            providers: [\r\n                auth_guards_1.LoggedInAuthGuard,\r\n                auth_guards_1.LoggedOutAuthGuard\r\n            ]\r\n        }), \r\n        __metadata('design:paramtypes', [])\r\n    ], AuthModule);\r\n    return AuthModule;\r\n}());\r\nexports.AuthModule = AuthModule;\r\n//# sourceMappingURL=auth.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/angular2-auth/dist/auth.module.js\n// module id = 1163\n// module chunks = 0","/* angular2-moment (c) 2015, 2016 Uri Shaked / MIT Licence */\r\n\"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 core_1 = require(\"@angular/core\");\r\nvar moment = require(\"moment\");\r\nvar FromUtcPipe = (function () {\r\n    function FromUtcPipe() {\r\n    }\r\n    FromUtcPipe.prototype.transform = function (value) {\r\n        var args = [];\r\n        for (var _i = 1; _i < arguments.length; _i++) {\r\n            args[_i - 1] = arguments[_i];\r\n        }\r\n        return moment.utc(value);\r\n    };\r\n    return FromUtcPipe;\r\n}());\r\nFromUtcPipe = __decorate([\r\n    core_1.Pipe({ name: 'amFromUtc' })\r\n], FromUtcPipe);\r\nexports.FromUtcPipe = FromUtcPipe;\r\n//# sourceMappingURL=from-utc.pipe.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/angular2-moment/from-utc.pipe.js\n// module id = 1164\n// module chunks = 0","\"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 core_1 = require(\"@angular/core\");\r\nvar add_pipe_1 = require(\"./add.pipe\");\r\nvar calendar_pipe_1 = require(\"./calendar.pipe\");\r\nvar date_format_pipe_1 = require(\"./date-format.pipe\");\r\nvar difference_pipe_1 = require(\"./difference.pipe\");\r\nvar duration_pipe_1 = require(\"./duration.pipe\");\r\nvar from_unix_pipe_1 = require(\"./from-unix.pipe\");\r\nvar parse_pipe_1 = require(\"./parse.pipe\");\r\nvar subtract_pipe_1 = require(\"./subtract.pipe\");\r\nvar time_ago_pipe_1 = require(\"./time-ago.pipe\");\r\nvar utc_pipe_1 = require(\"./utc.pipe\");\r\nvar from_utc_pipe_1 = require(\"./from-utc.pipe\");\r\nvar local_pipe_1 = require(\"./local.pipe\");\r\nvar locale_pipe_1 = require(\"./locale.pipe\");\r\nvar ANGULAR_MOMENT_PIPES = [\r\n    add_pipe_1.AddPipe,\r\n    calendar_pipe_1.CalendarPipe,\r\n    date_format_pipe_1.DateFormatPipe,\r\n    difference_pipe_1.DifferencePipe,\r\n    duration_pipe_1.DurationPipe,\r\n    from_unix_pipe_1.FromUnixPipe,\r\n    parse_pipe_1.ParsePipe,\r\n    subtract_pipe_1.SubtractPipe,\r\n    time_ago_pipe_1.TimeAgoPipe,\r\n    utc_pipe_1.UtcPipe,\r\n    from_utc_pipe_1.FromUtcPipe,\r\n    local_pipe_1.LocalTimePipe,\r\n    locale_pipe_1.LocalePipe\r\n];\r\nvar MomentModule = (function () {\r\n    function MomentModule() {\r\n    }\r\n    return MomentModule;\r\n}());\r\nMomentModule = __decorate([\r\n    core_1.NgModule({\r\n        declarations: ANGULAR_MOMENT_PIPES,\r\n        exports: ANGULAR_MOMENT_PIPES\r\n    })\r\n], MomentModule);\r\nexports.MomentModule = MomentModule;\r\n//# sourceMappingURL=moment.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/angular2-moment/moment.module.js\n// module id = 1165\n// module chunks = 0","\"use strict\";\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar core_1 = require('@angular/core');\nvar forms_1 = require('@angular/forms');\nvar UI_SWITCH_CONTROL_VALUE_ACCESSOR = {\n    provide: forms_1.NG_VALUE_ACCESSOR,\n    useExisting: core_1.forwardRef(function () { return UiSwitchComponent; }),\n    multi: true\n};\nvar UiSwitchComponent = (function () {\n    function UiSwitchComponent() {\n        this.onTouchedCallback = function (v) {\n        };\n        this.onChangeCallback = function (v) {\n        };\n        this.size = 'small';\n        this.change = new core_1.EventEmitter();\n        this.color = '#1db73e';\n         this.switchOffColor = '';\n        this.switchColor = '#fff';\n        this.defaultBgColor = '#E76262';\n        this.defaultBoColor = '#bc2029';\n    }\n    Object.defineProperty(UiSwitchComponent.prototype, \"checked\", {\n        get: function () {\n            return this._checked;\n        },\n        set: function (v) {\n            this._checked = v !== false;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(UiSwitchComponent.prototype, \"disabled\", {\n        get: function () {\n            return this._disabled;\n        },\n        set: function (v) {\n            this._disabled = v !== false;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    ;\n    Object.defineProperty(UiSwitchComponent.prototype, \"reverse\", {\n        get: function () {\n            return this._reverse;\n        },\n        set: function (v) {\n            this._reverse = v !== false;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    ;\n    UiSwitchComponent.prototype.getColor = function (flag) {\n        if (flag === 'borderColor')\n            return this.defaultBoColor;\n        if (flag === 'switchColor') {\n            if (this.reverse)\n                return !this.checked ? this.switchColor : this.switchOffColor || this.switchColor;\n            return this.checked ? this.switchColor : this.switchOffColor || this.switchColor;\n        }\n        if (this.reverse)\n            return !this.checked ? this.color : this.defaultBgColor;\n        return this.checked ? this.color : this.defaultBgColor;\n    };\n    UiSwitchComponent.prototype.onToggle = function () {\n        if (this.disabled)\n            return;\n        this.checked = !this.checked;\n        this.change.emit(this.checked);\n        this.onChangeCallback(this.checked);\n        this.onTouchedCallback(this.checked);\n    };\n    UiSwitchComponent.prototype.writeValue = function (obj) {\n        if (obj !== this.checked) {\n            this.checked = !!obj;\n        }\n    };\n    UiSwitchComponent.prototype.registerOnChange = function (fn) {\n        this.onChangeCallback = fn;\n    };\n    UiSwitchComponent.prototype.registerOnTouched = function (fn) {\n        this.onTouchedCallback = fn;\n    };\n    __decorate([\n        core_1.Input(), \n        __metadata('design:type', Boolean), \n        __metadata('design:paramtypes', [Boolean])\n    ], UiSwitchComponent.prototype, \"checked\", null);\n    __decorate([\n        core_1.Input(), \n        __metadata('design:type', Boolean), \n        __metadata('design:paramtypes', [Boolean])\n    ], UiSwitchComponent.prototype, \"disabled\", null);\n    __decorate([\n        core_1.Input(), \n        __metadata('design:type', Boolean), \n        __metadata('design:paramtypes', [Boolean])\n    ], UiSwitchComponent.prototype, \"reverse\", null);\n    __decorate([\n        core_1.Input(), \n        __metadata('design:type', String)\n    ], UiSwitchComponent.prototype, \"size\", void 0);\n    __decorate([\n        core_1.Output(), \n        __metadata('design:type', Object)\n    ], UiSwitchComponent.prototype, \"change\", void 0);\n    __decorate([\n        core_1.Input(), \n        __metadata('design:type', String)\n    ], UiSwitchComponent.prototype, \"color\", void 0);\n    __decorate([\n        core_1.Input(), \n        __metadata('design:type', String)\n    ], UiSwitchComponent.prototype, \"switchOffColor\", void 0);\n    __decorate([\n        core_1.Input(), \n        __metadata('design:type', String)\n    ], UiSwitchComponent.prototype, \"switchColor\", void 0);\n    __decorate([\n        core_1.HostListener('click'), \n        __metadata('design:type', Function), \n        __metadata('design:paramtypes', []), \n        __metadata('design:returntype', void 0)\n    ], UiSwitchComponent.prototype, \"onToggle\", null);\n    UiSwitchComponent = __decorate([\n        core_1.Component({\n            selector: 'ui-switch',\n            template: \"\\n  <span class=\\\"switch\\\" \\n  [class.checked]=\\\"checked\\\" \\n  [class.disabled]=\\\"disabled\\\"\\n  [class.switch-large]=\\\"size === 'large'\\\"\\n  [class.switch-medium]=\\\"size === 'medium'\\\"\\n  [class.switch-small]=\\\"size === 'small'\\\"\\n  [style.background-color]=\\\"getColor()\\\"\\n  [style.border-color]=\\\"getColor('borderColor')\\\"\\n  >\\n  <small [style.background]=\\\"getColor('switchColor')\\\">\\n  </small>\\n  </span>\\n  \",\n            styles: [\"\\n    .switch {\\n    background: #f00;\\n       position: relative;\\n    display: inline-block;\\n    box-sizing: content-box;\\n    overflow: visible;\\n    padding: 0;\\n    margin: 0;            \\n    cursor: pointer;\\n    box-shadow: rgb(223, 223, 223) 0 0 0 0 inset;\\n    transition: 0.3s ease-out all;\\n    -webkit-transition: 0.3s ease-out all;\\n    }        \\n\\n    small {\\n    border-radius: 100%;\\n    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);          \\n    position: absolute;\\n    top: 0;\\n    left: 0;\\n    transition: 0.3s ease-out all;\\n    -webkit-transition: 0.3s ease-out all;\\n    }\\n\\n    .switch-large {\\n    width: 66px;\\n    height: 40px;\\n    border-radius: 40px;\\n    }\\n\\n    .switch-large small {\\n    width: 40px;\\n    height: 40px;\\n    }\\n\\n    .switch-medium {\\n    width: 50px;\\n    height: 30px;\\n    border-radius: 30px;\\n    }\\n\\n    .switch-medium small {\\n    width: 30px;\\n    height: 30px;\\n    }\\n\\n    .switch-small {\\n    width: 33px;\\n    height: 20px;\\n    border-radius: 20px;\\n    }\\n\\n    .switch-small small {\\n    width: 20px;\\n    height: 20px;\\n    }\\n\\n    .checked {\\n    background: rgb(100, 189, 99);\\n    border-color: rgb(100, 189, 99);\\n    }\\n\\n    .switch-large.checked small {\\n    left: 26px;\\n    }\\n\\n    .switch-medium.checked small {\\n    left: 20px;\\n    }\\n\\n    .switch-small.checked small {\\n    left: 13px;\\n    }\\n\\n    .disabled {\\n    opacity: .50;\\n    cursor: not-allowed;\\n    }\\n    \"],\n            providers: [UI_SWITCH_CONTROL_VALUE_ACCESSOR]\n        }), \n        __metadata('design:paramtypes', [])\n    ], UiSwitchComponent);\n    return UiSwitchComponent;\n}());\nexports.UiSwitchComponent = UiSwitchComponent;\n//# sourceMappingURL=ui-switch.component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/angular2-ui-switch/dist/ui-switch.component.js\n// module id = 1166\n// module chunks = 0","'use strict';\n\n// compare and isBuffer taken from https://github.com/feross/buffer/blob/680e9e5e488f22aac27599a57dc844a6315928dd/index.js\n// original notice:\n\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author   Feross Aboukhadijeh <feross@feross.org> <http://feross.org>\n * @license  MIT\n */\nfunction compare(a, b) {\n  if (a === b) {\n    return 0;\n  }\n\n  var x = a.length;\n  var y = b.length;\n\n  for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n    if (a[i] !== b[i]) {\n      x = a[i];\n      y = b[i];\n      break;\n    }\n  }\n\n  if (x < y) {\n    return -1;\n  }\n  if (y < x) {\n    return 1;\n  }\n  return 0;\n}\nfunction isBuffer(b) {\n  if (global.Buffer && typeof global.Buffer.isBuffer === 'function') {\n    return global.Buffer.isBuffer(b);\n  }\n  return !!(b != null && b._isBuffer);\n}\n\n// based on node assert, original notice:\n\n// http://wiki.commonjs.org/wiki/Unit_Testing/1.0\n//\n// THIS IS NOT TESTED NOR LIKELY TO WORK OUTSIDE V8!\n//\n// Originally from narwhal.js (http://narwhaljs.org)\n// Copyright (c) 2009 Thomas Robinson <280north.com>\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the 'Software'), to\n// deal in the Software without restriction, including without limitation the\n// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n// sell copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar util = require('util/');\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar pSlice = Array.prototype.slice;\nvar functionsHaveNames = (function () {\n  return function foo() {}.name === 'foo';\n}());\nfunction pToString (obj) {\n  return Object.prototype.toString.call(obj);\n}\nfunction isView(arrbuf) {\n  if (isBuffer(arrbuf)) {\n    return false;\n  }\n  if (typeof global.ArrayBuffer !== 'function') {\n    return false;\n  }\n  if (typeof ArrayBuffer.isView === 'function') {\n    return ArrayBuffer.isView(arrbuf);\n  }\n  if (!arrbuf) {\n    return false;\n  }\n  if (arrbuf instanceof DataView) {\n    return true;\n  }\n  if (arrbuf.buffer && arrbuf.buffer instanceof ArrayBuffer) {\n    return true;\n  }\n  return false;\n}\n// 1. The assert module provides functions that throw\n// AssertionError's when particular conditions are not met. The\n// assert module must conform to the following interface.\n\nvar assert = module.exports = ok;\n\n// 2. The AssertionError is defined in assert.\n// new assert.AssertionError({ message: message,\n//                             actual: actual,\n//                             expected: expected })\n\nvar regex = /\\s*function\\s+([^\\(\\s]*)\\s*/;\n// based on https://github.com/ljharb/function.prototype.name/blob/adeeeec8bfcc6068b187d7d9fb3d5bb1d3a30899/implementation.js\nfunction getName(func) {\n  if (!util.isFunction(func)) {\n    return;\n  }\n  if (functionsHaveNames) {\n    return func.name;\n  }\n  var str = func.toString();\n  var match = str.match(regex);\n  return match && match[1];\n}\nassert.AssertionError = function AssertionError(options) {\n  this.name = 'AssertionError';\n  this.actual = options.actual;\n  this.expected = options.expected;\n  this.operator = options.operator;\n  if (options.message) {\n    this.message = options.message;\n    this.generatedMessage = false;\n  } else {\n    this.message = getMessage(this);\n    this.generatedMessage = true;\n  }\n  var stackStartFunction = options.stackStartFunction || fail;\n  if (Error.captureStackTrace) {\n    Error.captureStackTrace(this, stackStartFunction);\n  } else {\n    // non v8 browsers so we can have a stacktrace\n    var err = new Error();\n    if (err.stack) {\n      var out = err.stack;\n\n      // try to strip useless frames\n      var fn_name = getName(stackStartFunction);\n      var idx = out.indexOf('\\n' + fn_name);\n      if (idx >= 0) {\n        // once we have located the function frame\n        // we need to strip out everything before it (and its line)\n        var next_line = out.indexOf('\\n', idx + 1);\n        out = out.substring(next_line + 1);\n      }\n\n      this.stack = out;\n    }\n  }\n};\n\n// assert.AssertionError instanceof Error\nutil.inherits(assert.AssertionError, Error);\n\nfunction truncate(s, n) {\n  if (typeof s === 'string') {\n    return s.length < n ? s : s.slice(0, n);\n  } else {\n    return s;\n  }\n}\nfunction inspect(something) {\n  if (functionsHaveNames || !util.isFunction(something)) {\n    return util.inspect(something);\n  }\n  var rawname = getName(something);\n  var name = rawname ? ': ' + rawname : '';\n  return '[Function' +  name + ']';\n}\nfunction getMessage(self) {\n  return truncate(inspect(self.actual), 128) + ' ' +\n         self.operator + ' ' +\n         truncate(inspect(self.expected), 128);\n}\n\n// At present only the three keys mentioned above are used and\n// understood by the spec. Implementations or sub modules can pass\n// other keys to the AssertionError's constructor - they will be\n// ignored.\n\n// 3. All of the following functions must throw an AssertionError\n// when a corresponding condition is not met, with a message that\n// may be undefined if not provided.  All assertion methods provide\n// both the actual and expected values to the assertion error for\n// display purposes.\n\nfunction fail(actual, expected, message, operator, stackStartFunction) {\n  throw new assert.AssertionError({\n    message: message,\n    actual: actual,\n    expected: expected,\n    operator: operator,\n    stackStartFunction: stackStartFunction\n  });\n}\n\n// EXTENSION! allows for well behaved errors defined elsewhere.\nassert.fail = fail;\n\n// 4. Pure assertion tests whether a value is truthy, as determined\n// by !!guard.\n// assert.ok(guard, message_opt);\n// This statement is equivalent to assert.equal(true, !!guard,\n// message_opt);. To test strictly for the value true, use\n// assert.strictEqual(true, guard, message_opt);.\n\nfunction ok(value, message) {\n  if (!value) fail(value, true, message, '==', assert.ok);\n}\nassert.ok = ok;\n\n// 5. The equality assertion tests shallow, coercive equality with\n// ==.\n// assert.equal(actual, expected, message_opt);\n\nassert.equal = function equal(actual, expected, message) {\n  if (actual != expected) fail(actual, expected, message, '==', assert.equal);\n};\n\n// 6. The non-equality assertion tests for whether two objects are not equal\n// with != assert.notEqual(actual, expected, message_opt);\n\nassert.notEqual = function notEqual(actual, expected, message) {\n  if (actual == expected) {\n    fail(actual, expected, message, '!=', assert.notEqual);\n  }\n};\n\n// 7. The equivalence assertion tests a deep equality relation.\n// assert.deepEqual(actual, expected, message_opt);\n\nassert.deepEqual = function deepEqual(actual, expected, message) {\n  if (!_deepEqual(actual, expected, false)) {\n    fail(actual, expected, message, 'deepEqual', assert.deepEqual);\n  }\n};\n\nassert.deepStrictEqual = function deepStrictEqual(actual, expected, message) {\n  if (!_deepEqual(actual, expected, true)) {\n    fail(actual, expected, message, 'deepStrictEqual', assert.deepStrictEqual);\n  }\n};\n\nfunction _deepEqual(actual, expected, strict, memos) {\n  // 7.1. All identical values are equivalent, as determined by ===.\n  if (actual === expected) {\n    return true;\n  } else if (isBuffer(actual) && isBuffer(expected)) {\n    return compare(actual, expected) === 0;\n\n  // 7.2. If the expected value is a Date object, the actual value is\n  // equivalent if it is also a Date object that refers to the same time.\n  } else if (util.isDate(actual) && util.isDate(expected)) {\n    return actual.getTime() === expected.getTime();\n\n  // 7.3 If the expected value is a RegExp object, the actual value is\n  // equivalent if it is also a RegExp object with the same source and\n  // properties (`global`, `multiline`, `lastIndex`, `ignoreCase`).\n  } else if (util.isRegExp(actual) && util.isRegExp(expected)) {\n    return actual.source === expected.source &&\n           actual.global === expected.global &&\n           actual.multiline === expected.multiline &&\n           actual.lastIndex === expected.lastIndex &&\n           actual.ignoreCase === expected.ignoreCase;\n\n  // 7.4. Other pairs that do not both pass typeof value == 'object',\n  // equivalence is determined by ==.\n  } else if ((actual === null || typeof actual !== 'object') &&\n             (expected === null || typeof expected !== 'object')) {\n    return strict ? actual === expected : actual == expected;\n\n  // If both values are instances of typed arrays, wrap their underlying\n  // ArrayBuffers in a Buffer each to increase performance\n  // This optimization requires the arrays to have the same type as checked by\n  // Object.prototype.toString (aka pToString). Never perform binary\n  // comparisons for Float*Arrays, though, since e.g. +0 === -0 but their\n  // bit patterns are not identical.\n  } else if (isView(actual) && isView(expected) &&\n             pToString(actual) === pToString(expected) &&\n             !(actual instanceof Float32Array ||\n               actual instanceof Float64Array)) {\n    return compare(new Uint8Array(actual.buffer),\n                   new Uint8Array(expected.buffer)) === 0;\n\n  // 7.5 For all other Object pairs, including Array objects, equivalence is\n  // determined by having the same number of owned properties (as verified\n  // with Object.prototype.hasOwnProperty.call), the same set of keys\n  // (although not necessarily the same order), equivalent values for every\n  // corresponding key, and an identical 'prototype' property. Note: this\n  // accounts for both named and indexed properties on Arrays.\n  } else if (isBuffer(actual) !== isBuffer(expected)) {\n    return false;\n  } else {\n    memos = memos || {actual: [], expected: []};\n\n    var actualIndex = memos.actual.indexOf(actual);\n    if (actualIndex !== -1) {\n      if (actualIndex === memos.expected.indexOf(expected)) {\n        return true;\n      }\n    }\n\n    memos.actual.push(actual);\n    memos.expected.push(expected);\n\n    return objEquiv(actual, expected, strict, memos);\n  }\n}\n\nfunction isArguments(object) {\n  return Object.prototype.toString.call(object) == '[object Arguments]';\n}\n\nfunction objEquiv(a, b, strict, actualVisitedObjects) {\n  if (a === null || a === undefined || b === null || b === undefined)\n    return false;\n  // if one is a primitive, the other must be same\n  if (util.isPrimitive(a) || util.isPrimitive(b))\n    return a === b;\n  if (strict && Object.getPrototypeOf(a) !== Object.getPrototypeOf(b))\n    return false;\n  var aIsArgs = isArguments(a);\n  var bIsArgs = isArguments(b);\n  if ((aIsArgs && !bIsArgs) || (!aIsArgs && bIsArgs))\n    return false;\n  if (aIsArgs) {\n    a = pSlice.call(a);\n    b = pSlice.call(b);\n    return _deepEqual(a, b, strict);\n  }\n  var ka = objectKeys(a);\n  var kb = objectKeys(b);\n  var key, i;\n  // having the same number of owned properties (keys incorporates\n  // hasOwnProperty)\n  if (ka.length !== kb.length)\n    return false;\n  //the same set of keys (although not necessarily the same order),\n  ka.sort();\n  kb.sort();\n  //~~~cheap key test\n  for (i = ka.length - 1; i >= 0; i--) {\n    if (ka[i] !== kb[i])\n      return false;\n  }\n  //equivalent values for every corresponding key, and\n  //~~~possibly expensive deep test\n  for (i = ka.length - 1; i >= 0; i--) {\n    key = ka[i];\n    if (!_deepEqual(a[key], b[key], strict, actualVisitedObjects))\n      return false;\n  }\n  return true;\n}\n\n// 8. The non-equivalence assertion tests for any deep inequality.\n// assert.notDeepEqual(actual, expected, message_opt);\n\nassert.notDeepEqual = function notDeepEqual(actual, expected, message) {\n  if (_deepEqual(actual, expected, false)) {\n    fail(actual, expected, message, 'notDeepEqual', assert.notDeepEqual);\n  }\n};\n\nassert.notDeepStrictEqual = notDeepStrictEqual;\nfunction notDeepStrictEqual(actual, expected, message) {\n  if (_deepEqual(actual, expected, true)) {\n    fail(actual, expected, message, 'notDeepStrictEqual', notDeepStrictEqual);\n  }\n}\n\n\n// 9. The strict equality assertion tests strict equality, as determined by ===.\n// assert.strictEqual(actual, expected, message_opt);\n\nassert.strictEqual = function strictEqual(actual, expected, message) {\n  if (actual !== expected) {\n    fail(actual, expected, message, '===', assert.strictEqual);\n  }\n};\n\n// 10. The strict non-equality assertion tests for strict inequality, as\n// determined by !==.  assert.notStrictEqual(actual, expected, message_opt);\n\nassert.notStrictEqual = function notStrictEqual(actual, expected, message) {\n  if (actual === expected) {\n    fail(actual, expected, message, '!==', assert.notStrictEqual);\n  }\n};\n\nfunction expectedException(actual, expected) {\n  if (!actual || !expected) {\n    return false;\n  }\n\n  if (Object.prototype.toString.call(expected) == '[object RegExp]') {\n    return expected.test(actual);\n  }\n\n  try {\n    if (actual instanceof expected) {\n      return true;\n    }\n  } catch (e) {\n    // Ignore.  The instanceof check doesn't work for arrow functions.\n  }\n\n  if (Error.isPrototypeOf(expected)) {\n    return false;\n  }\n\n  return expected.call({}, actual) === true;\n}\n\nfunction _tryBlock(block) {\n  var error;\n  try {\n    block();\n  } catch (e) {\n    error = e;\n  }\n  return error;\n}\n\nfunction _throws(shouldThrow, block, expected, message) {\n  var actual;\n\n  if (typeof block !== 'function') {\n    throw new TypeError('\"block\" argument must be a function');\n  }\n\n  if (typeof expected === 'string') {\n    message = expected;\n    expected = null;\n  }\n\n  actual = _tryBlock(block);\n\n  message = (expected && expected.name ? ' (' + expected.name + ').' : '.') +\n            (message ? ' ' + message : '.');\n\n  if (shouldThrow && !actual) {\n    fail(actual, expected, 'Missing expected exception' + message);\n  }\n\n  var userProvidedMessage = typeof message === 'string';\n  var isUnwantedException = !shouldThrow && util.isError(actual);\n  var isUnexpectedException = !shouldThrow && actual && !expected;\n\n  if ((isUnwantedException &&\n      userProvidedMessage &&\n      expectedException(actual, expected)) ||\n      isUnexpectedException) {\n    fail(actual, expected, 'Got unwanted exception' + message);\n  }\n\n  if ((shouldThrow && actual && expected &&\n      !expectedException(actual, expected)) || (!shouldThrow && actual)) {\n    throw actual;\n  }\n}\n\n// 11. Expected to throw an error:\n// assert.throws(block, Error_opt, message_opt);\n\nassert.throws = function(block, /*optional*/error, /*optional*/message) {\n  _throws(true, block, error, message);\n};\n\n// EXTENSION! This is annoying to write outside this module.\nassert.doesNotThrow = function(block, /*optional*/error, /*optional*/message) {\n  _throws(false, block, error, message);\n};\n\nassert.ifError = function(err) { if (err) throw err; };\n\nvar objectKeys = Object.keys || function (obj) {\n  var keys = [];\n  for (var key in obj) {\n    if (hasOwn.call(obj, key)) keys.push(key);\n  }\n  return keys;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/assert/assert.js\n// module id = 1167\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/assign\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/babel-runtime/core-js/object/assign.js\n// module id = 1168\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/babel-runtime/core-js/object/define-property.js\n// module id = 1169\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n  if (!(instance instanceof Constructor)) {\n    throw new TypeError(\"Cannot call a class as a function\");\n  }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/babel-runtime/helpers/classCallCheck.js\n// module id = 1170\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n  function defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n      var descriptor = props[i];\n      descriptor.enumerable = descriptor.enumerable || false;\n      descriptor.configurable = true;\n      if (\"value\" in descriptor) descriptor.writable = true;\n      (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n    }\n  }\n\n  return function (Constructor, protoProps, staticProps) {\n    if (protoProps) defineProperties(Constructor.prototype, protoProps);\n    if (staticProps) defineProperties(Constructor, staticProps);\n    return Constructor;\n  };\n}();\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/babel-runtime/helpers/createClass.js\n// module id = 1171\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _assign = require(\"../core-js/object/assign\");\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _assign2.default || function (target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i];\n\n    for (var key in source) {\n      if (Object.prototype.hasOwnProperty.call(source, key)) {\n        target[key] = source[key];\n      }\n    }\n  }\n\n  return target;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/babel-runtime/helpers/extends.js\n// module id = 1172\n// module chunks = 0","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n  lookup[i] = code[i]\n  revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n  var len = b64.length\n\n  if (len % 4 > 0) {\n    throw new Error('Invalid string. Length must be a multiple of 4')\n  }\n\n  // Trim off extra bytes after placeholder bytes are found\n  // See: https://github.com/beatgammit/base64-js/issues/42\n  var validLen = b64.indexOf('=')\n  if (validLen === -1) validLen = len\n\n  var placeHoldersLen = validLen === len\n    ? 0\n    : 4 - (validLen % 4)\n\n  return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n  var lens = getLens(b64)\n  var validLen = lens[0]\n  var placeHoldersLen = lens[1]\n  return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n  return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n  var tmp\n  var lens = getLens(b64)\n  var validLen = lens[0]\n  var placeHoldersLen = lens[1]\n\n  var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n  var curByte = 0\n\n  // if there are placeholders, only get up to the last complete 4 chars\n  var len = placeHoldersLen > 0\n    ? validLen - 4\n    : validLen\n\n  var i\n  for (i = 0; i < len; i += 4) {\n    tmp =\n      (revLookup[b64.charCodeAt(i)] << 18) |\n      (revLookup[b64.charCodeAt(i + 1)] << 12) |\n      (revLookup[b64.charCodeAt(i + 2)] << 6) |\n      revLookup[b64.charCodeAt(i + 3)]\n    arr[curByte++] = (tmp >> 16) & 0xFF\n    arr[curByte++] = (tmp >> 8) & 0xFF\n    arr[curByte++] = tmp & 0xFF\n  }\n\n  if (placeHoldersLen === 2) {\n    tmp =\n      (revLookup[b64.charCodeAt(i)] << 2) |\n      (revLookup[b64.charCodeAt(i + 1)] >> 4)\n    arr[curByte++] = tmp & 0xFF\n  }\n\n  if (placeHoldersLen === 1) {\n    tmp =\n      (revLookup[b64.charCodeAt(i)] << 10) |\n      (revLookup[b64.charCodeAt(i + 1)] << 4) |\n      (revLookup[b64.charCodeAt(i + 2)] >> 2)\n    arr[curByte++] = (tmp >> 8) & 0xFF\n    arr[curByte++] = tmp & 0xFF\n  }\n\n  return arr\n}\n\nfunction tripletToBase64 (num) {\n  return lookup[num >> 18 & 0x3F] +\n    lookup[num >> 12 & 0x3F] +\n    lookup[num >> 6 & 0x3F] +\n    lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n  var tmp\n  var output = []\n  for (var i = start; i < end; i += 3) {\n    tmp =\n      ((uint8[i] << 16) & 0xFF0000) +\n      ((uint8[i + 1] << 8) & 0xFF00) +\n      (uint8[i + 2] & 0xFF)\n    output.push(tripletToBase64(tmp))\n  }\n  return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n  var tmp\n  var len = uint8.length\n  var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n  var parts = []\n  var maxChunkLength = 16383 // must be multiple of 3\n\n  // go through the array every three bytes, we'll deal with trailing stuff later\n  for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n    parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n  }\n\n  // pad the end with zeros, but make sure to not forget the extra bytes\n  if (extraBytes === 1) {\n    tmp = uint8[len - 1]\n    parts.push(\n      lookup[tmp >> 2] +\n      lookup[(tmp << 4) & 0x3F] +\n      '=='\n    )\n  } else if (extraBytes === 2) {\n    tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n    parts.push(\n      lookup[tmp >> 10] +\n      lookup[(tmp >> 4) & 0x3F] +\n      lookup[(tmp << 2) & 0x3F] +\n      '='\n    )\n  }\n\n  return parts.join('')\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/base64-js/index.js\n// module id = 1173\n// module chunks = 0","var msg = require('pako/lib/zlib/messages');\nvar zstream = require('pako/lib/zlib/zstream');\nvar zlib_deflate = require('pako/lib/zlib/deflate.js');\nvar zlib_inflate = require('pako/lib/zlib/inflate.js');\nvar constants = require('pako/lib/zlib/constants');\n\nfor (var key in constants) {\n  exports[key] = constants[key];\n}\n\n// zlib modes\nexports.NONE = 0;\nexports.DEFLATE = 1;\nexports.INFLATE = 2;\nexports.GZIP = 3;\nexports.GUNZIP = 4;\nexports.DEFLATERAW = 5;\nexports.INFLATERAW = 6;\nexports.UNZIP = 7;\n\n/**\n * Emulate Node's zlib C++ layer for use by the JS layer in index.js\n */\nfunction Zlib(mode) {\n  if (mode < exports.DEFLATE || mode > exports.UNZIP)\n    throw new TypeError(\"Bad argument\");\n    \n  this.mode = mode;\n  this.init_done = false;\n  this.write_in_progress = false;\n  this.pending_close = false;\n  this.windowBits = 0;\n  this.level = 0;\n  this.memLevel = 0;\n  this.strategy = 0;\n  this.dictionary = null;\n}\n\nZlib.prototype.init = function(windowBits, level, memLevel, strategy, dictionary) {\n  this.windowBits = windowBits;\n  this.level = level;\n  this.memLevel = memLevel;\n  this.strategy = strategy;\n  // dictionary not supported.\n  \n  if (this.mode === exports.GZIP || this.mode === exports.GUNZIP)\n    this.windowBits += 16;\n    \n  if (this.mode === exports.UNZIP)\n    this.windowBits += 32;\n    \n  if (this.mode === exports.DEFLATERAW || this.mode === exports.INFLATERAW)\n    this.windowBits = -this.windowBits;\n    \n  this.strm = new zstream();\n  \n  switch (this.mode) {\n    case exports.DEFLATE:\n    case exports.GZIP:\n    case exports.DEFLATERAW:\n      var status = zlib_deflate.deflateInit2(\n        this.strm,\n        this.level,\n        exports.Z_DEFLATED,\n        this.windowBits,\n        this.memLevel,\n        this.strategy\n      );\n      break;\n    case exports.INFLATE:\n    case exports.GUNZIP:\n    case exports.INFLATERAW:\n    case exports.UNZIP:\n      var status  = zlib_inflate.inflateInit2(\n        this.strm,\n        this.windowBits\n      );\n      break;\n    default:\n      throw new Error(\"Unknown mode \" + this.mode);\n  }\n  \n  if (status !== exports.Z_OK) {\n    this._error(status);\n    return;\n  }\n  \n  this.write_in_progress = false;\n  this.init_done = true;\n};\n\nZlib.prototype.params = function() {\n  throw new Error(\"deflateParams Not supported\");\n};\n\nZlib.prototype._writeCheck = function() {\n  if (!this.init_done)\n    throw new Error(\"write before init\");\n    \n  if (this.mode === exports.NONE)\n    throw new Error(\"already finalized\");\n    \n  if (this.write_in_progress)\n    throw new Error(\"write already in progress\");\n    \n  if (this.pending_close)\n    throw new Error(\"close is pending\");\n};\n\nZlib.prototype.write = function(flush, input, in_off, in_len, out, out_off, out_len) {    \n  this._writeCheck();\n  this.write_in_progress = true;\n  \n  var self = this;\n  process.nextTick(function() {\n    self.write_in_progress = false;\n    var res = self._write(flush, input, in_off, in_len, out, out_off, out_len);\n    self.callback(res[0], res[1]);\n    \n    if (self.pending_close)\n      self.close();\n  });\n  \n  return this;\n};\n\n// set method for Node buffers, used by pako\nfunction bufferSet(data, offset) {\n  for (var i = 0; i < data.length; i++) {\n    this[offset + i] = data[i];\n  }\n}\n\nZlib.prototype.writeSync = function(flush, input, in_off, in_len, out, out_off, out_len) {\n  this._writeCheck();\n  return this._write(flush, input, in_off, in_len, out, out_off, out_len);\n};\n\nZlib.prototype._write = function(flush, input, in_off, in_len, out, out_off, out_len) {\n  this.write_in_progress = true;\n  \n  if (flush !== exports.Z_NO_FLUSH &&\n      flush !== exports.Z_PARTIAL_FLUSH &&\n      flush !== exports.Z_SYNC_FLUSH &&\n      flush !== exports.Z_FULL_FLUSH &&\n      flush !== exports.Z_FINISH &&\n      flush !== exports.Z_BLOCK) {\n    throw new Error(\"Invalid flush value\");\n  }\n  \n  if (input == null) {\n    input = new Buffer(0);\n    in_len = 0;\n    in_off = 0;\n  }\n  \n  if (out._set)\n    out.set = out._set;\n  else\n    out.set = bufferSet;\n  \n  var strm = this.strm;\n  strm.avail_in = in_len;\n  strm.input = input;\n  strm.next_in = in_off;\n  strm.avail_out = out_len;\n  strm.output = out;\n  strm.next_out = out_off;\n  \n  switch (this.mode) {\n    case exports.DEFLATE:\n    case exports.GZIP:\n    case exports.DEFLATERAW:\n      var status = zlib_deflate.deflate(strm, flush);\n      break;\n    case exports.UNZIP:\n    case exports.INFLATE:\n    case exports.GUNZIP:\n    case exports.INFLATERAW:\n      var status = zlib_inflate.inflate(strm, flush);\n      break;\n    default:\n      throw new Error(\"Unknown mode \" + this.mode);\n  }\n  \n  if (status !== exports.Z_STREAM_END && status !== exports.Z_OK) {\n    this._error(status);\n  }\n  \n  this.write_in_progress = false;\n  return [strm.avail_in, strm.avail_out];\n};\n\nZlib.prototype.close = function() {\n  if (this.write_in_progress) {\n    this.pending_close = true;\n    return;\n  }\n  \n  this.pending_close = false;\n  \n  if (this.mode === exports.DEFLATE || this.mode === exports.GZIP || this.mode === exports.DEFLATERAW) {\n    zlib_deflate.deflateEnd(this.strm);\n  } else {\n    zlib_inflate.inflateEnd(this.strm);\n  }\n  \n  this.mode = exports.NONE;\n};\n\nZlib.prototype.reset = function() {\n  switch (this.mode) {\n    case exports.DEFLATE:\n    case exports.DEFLATERAW:\n      var status = zlib_deflate.deflateReset(this.strm);\n      break;\n    case exports.INFLATE:\n    case exports.INFLATERAW:\n      var status = zlib_inflate.inflateReset(this.strm);\n      break;\n  }\n  \n  if (status !== exports.Z_OK) {\n    this._error(status);\n  }\n};\n\nZlib.prototype._error = function(status) {\n  this.onerror(msg[status] + ': ' + this.strm.msg, status);\n  \n  this.write_in_progress = false;\n  if (this.pending_close)\n    this.close();\n};\n\nexports.Zlib = Zlib;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/browserify-zlib/src/binding.js\n// module id = 1174\n// module chunks = 0","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar Transform = require('_stream_transform');\n\nvar binding = require('./binding');\nvar util = require('util');\nvar assert = require('assert').ok;\n\n// zlib doesn't provide these, so kludge them in following the same\n// const naming scheme zlib uses.\nbinding.Z_MIN_WINDOWBITS = 8;\nbinding.Z_MAX_WINDOWBITS = 15;\nbinding.Z_DEFAULT_WINDOWBITS = 15;\n\n// fewer than 64 bytes per chunk is stupid.\n// technically it could work with as few as 8, but even 64 bytes\n// is absurdly low.  Usually a MB or more is best.\nbinding.Z_MIN_CHUNK = 64;\nbinding.Z_MAX_CHUNK = Infinity;\nbinding.Z_DEFAULT_CHUNK = (16 * 1024);\n\nbinding.Z_MIN_MEMLEVEL = 1;\nbinding.Z_MAX_MEMLEVEL = 9;\nbinding.Z_DEFAULT_MEMLEVEL = 8;\n\nbinding.Z_MIN_LEVEL = -1;\nbinding.Z_MAX_LEVEL = 9;\nbinding.Z_DEFAULT_LEVEL = binding.Z_DEFAULT_COMPRESSION;\n\n// expose all the zlib constants\nObject.keys(binding).forEach(function(k) {\n  if (k.match(/^Z/)) exports[k] = binding[k];\n});\n\n// translation table for return codes.\nexports.codes = {\n  Z_OK: binding.Z_OK,\n  Z_STREAM_END: binding.Z_STREAM_END,\n  Z_NEED_DICT: binding.Z_NEED_DICT,\n  Z_ERRNO: binding.Z_ERRNO,\n  Z_STREAM_ERROR: binding.Z_STREAM_ERROR,\n  Z_DATA_ERROR: binding.Z_DATA_ERROR,\n  Z_MEM_ERROR: binding.Z_MEM_ERROR,\n  Z_BUF_ERROR: binding.Z_BUF_ERROR,\n  Z_VERSION_ERROR: binding.Z_VERSION_ERROR\n};\n\nObject.keys(exports.codes).forEach(function(k) {\n  exports.codes[exports.codes[k]] = k;\n});\n\nexports.Deflate = Deflate;\nexports.Inflate = Inflate;\nexports.Gzip = Gzip;\nexports.Gunzip = Gunzip;\nexports.DeflateRaw = DeflateRaw;\nexports.InflateRaw = InflateRaw;\nexports.Unzip = Unzip;\n\nexports.createDeflate = function(o) {\n  return new Deflate(o);\n};\n\nexports.createInflate = function(o) {\n  return new Inflate(o);\n};\n\nexports.createDeflateRaw = function(o) {\n  return new DeflateRaw(o);\n};\n\nexports.createInflateRaw = function(o) {\n  return new InflateRaw(o);\n};\n\nexports.createGzip = function(o) {\n  return new Gzip(o);\n};\n\nexports.createGunzip = function(o) {\n  return new Gunzip(o);\n};\n\nexports.createUnzip = function(o) {\n  return new Unzip(o);\n};\n\n\n// Convenience methods.\n// compress/decompress a string or buffer in one step.\nexports.deflate = function(buffer, opts, callback) {\n  if (typeof opts === 'function') {\n    callback = opts;\n    opts = {};\n  }\n  return zlibBuffer(new Deflate(opts), buffer, callback);\n};\n\nexports.deflateSync = function(buffer, opts) {\n  return zlibBufferSync(new Deflate(opts), buffer);\n};\n\nexports.gzip = function(buffer, opts, callback) {\n  if (typeof opts === 'function') {\n    callback = opts;\n    opts = {};\n  }\n  return zlibBuffer(new Gzip(opts), buffer, callback);\n};\n\nexports.gzipSync = function(buffer, opts) {\n  return zlibBufferSync(new Gzip(opts), buffer);\n};\n\nexports.deflateRaw = function(buffer, opts, callback) {\n  if (typeof opts === 'function') {\n    callback = opts;\n    opts = {};\n  }\n  return zlibBuffer(new DeflateRaw(opts), buffer, callback);\n};\n\nexports.deflateRawSync = function(buffer, opts) {\n  return zlibBufferSync(new DeflateRaw(opts), buffer);\n};\n\nexports.unzip = function(buffer, opts, callback) {\n  if (typeof opts === 'function') {\n    callback = opts;\n    opts = {};\n  }\n  return zlibBuffer(new Unzip(opts), buffer, callback);\n};\n\nexports.unzipSync = function(buffer, opts) {\n  return zlibBufferSync(new Unzip(opts), buffer);\n};\n\nexports.inflate = function(buffer, opts, callback) {\n  if (typeof opts === 'function') {\n    callback = opts;\n    opts = {};\n  }\n  return zlibBuffer(new Inflate(opts), buffer, callback);\n};\n\nexports.inflateSync = function(buffer, opts) {\n  return zlibBufferSync(new Inflate(opts), buffer);\n};\n\nexports.gunzip = function(buffer, opts, callback) {\n  if (typeof opts === 'function') {\n    callback = opts;\n    opts = {};\n  }\n  return zlibBuffer(new Gunzip(opts), buffer, callback);\n};\n\nexports.gunzipSync = function(buffer, opts) {\n  return zlibBufferSync(new Gunzip(opts), buffer);\n};\n\nexports.inflateRaw = function(buffer, opts, callback) {\n  if (typeof opts === 'function') {\n    callback = opts;\n    opts = {};\n  }\n  return zlibBuffer(new InflateRaw(opts), buffer, callback);\n};\n\nexports.inflateRawSync = function(buffer, opts) {\n  return zlibBufferSync(new InflateRaw(opts), buffer);\n};\n\nfunction zlibBuffer(engine, buffer, callback) {\n  var buffers = [];\n  var nread = 0;\n\n  engine.on('error', onError);\n  engine.on('end', onEnd);\n\n  engine.end(buffer);\n  flow();\n\n  function flow() {\n    var chunk;\n    while (null !== (chunk = engine.read())) {\n      buffers.push(chunk);\n      nread += chunk.length;\n    }\n    engine.once('readable', flow);\n  }\n\n  function onError(err) {\n    engine.removeListener('end', onEnd);\n    engine.removeListener('readable', flow);\n    callback(err);\n  }\n\n  function onEnd() {\n    var buf = Buffer.concat(buffers, nread);\n    buffers = [];\n    callback(null, buf);\n    engine.close();\n  }\n}\n\nfunction zlibBufferSync(engine, buffer) {\n  if (typeof buffer === 'string')\n    buffer = new Buffer(buffer);\n  if (!Buffer.isBuffer(buffer))\n    throw new TypeError('Not a string or buffer');\n\n  var flushFlag = binding.Z_FINISH;\n\n  return engine._processChunk(buffer, flushFlag);\n}\n\n// generic zlib\n// minimal 2-byte header\nfunction Deflate(opts) {\n  if (!(this instanceof Deflate)) return new Deflate(opts);\n  Zlib.call(this, opts, binding.DEFLATE);\n}\n\nfunction Inflate(opts) {\n  if (!(this instanceof Inflate)) return new Inflate(opts);\n  Zlib.call(this, opts, binding.INFLATE);\n}\n\n\n\n// gzip - bigger header, same deflate compression\nfunction Gzip(opts) {\n  if (!(this instanceof Gzip)) return new Gzip(opts);\n  Zlib.call(this, opts, binding.GZIP);\n}\n\nfunction Gunzip(opts) {\n  if (!(this instanceof Gunzip)) return new Gunzip(opts);\n  Zlib.call(this, opts, binding.GUNZIP);\n}\n\n\n\n// raw - no header\nfunction DeflateRaw(opts) {\n  if (!(this instanceof DeflateRaw)) return new DeflateRaw(opts);\n  Zlib.call(this, opts, binding.DEFLATERAW);\n}\n\nfunction InflateRaw(opts) {\n  if (!(this instanceof InflateRaw)) return new InflateRaw(opts);\n  Zlib.call(this, opts, binding.INFLATERAW);\n}\n\n\n// auto-detect header.\nfunction Unzip(opts) {\n  if (!(this instanceof Unzip)) return new Unzip(opts);\n  Zlib.call(this, opts, binding.UNZIP);\n}\n\n\n// the Zlib class they all inherit from\n// This thing manages the queue of requests, and returns\n// true or false if there is anything in the queue when\n// you call the .write() method.\n\nfunction Zlib(opts, mode) {\n  this._opts = opts = opts || {};\n  this._chunkSize = opts.chunkSize || exports.Z_DEFAULT_CHUNK;\n\n  Transform.call(this, opts);\n\n  if (opts.flush) {\n    if (opts.flush !== binding.Z_NO_FLUSH &&\n        opts.flush !== binding.Z_PARTIAL_FLUSH &&\n        opts.flush !== binding.Z_SYNC_FLUSH &&\n        opts.flush !== binding.Z_FULL_FLUSH &&\n        opts.flush !== binding.Z_FINISH &&\n        opts.flush !== binding.Z_BLOCK) {\n      throw new Error('Invalid flush flag: ' + opts.flush);\n    }\n  }\n  this._flushFlag = opts.flush || binding.Z_NO_FLUSH;\n\n  if (opts.chunkSize) {\n    if (opts.chunkSize < exports.Z_MIN_CHUNK ||\n        opts.chunkSize > exports.Z_MAX_CHUNK) {\n      throw new Error('Invalid chunk size: ' + opts.chunkSize);\n    }\n  }\n\n  if (opts.windowBits) {\n    if (opts.windowBits < exports.Z_MIN_WINDOWBITS ||\n        opts.windowBits > exports.Z_MAX_WINDOWBITS) {\n      throw new Error('Invalid windowBits: ' + opts.windowBits);\n    }\n  }\n\n  if (opts.level) {\n    if (opts.level < exports.Z_MIN_LEVEL ||\n        opts.level > exports.Z_MAX_LEVEL) {\n      throw new Error('Invalid compression level: ' + opts.level);\n    }\n  }\n\n  if (opts.memLevel) {\n    if (opts.memLevel < exports.Z_MIN_MEMLEVEL ||\n        opts.memLevel > exports.Z_MAX_MEMLEVEL) {\n      throw new Error('Invalid memLevel: ' + opts.memLevel);\n    }\n  }\n\n  if (opts.strategy) {\n    if (opts.strategy != exports.Z_FILTERED &&\n        opts.strategy != exports.Z_HUFFMAN_ONLY &&\n        opts.strategy != exports.Z_RLE &&\n        opts.strategy != exports.Z_FIXED &&\n        opts.strategy != exports.Z_DEFAULT_STRATEGY) {\n      throw new Error('Invalid strategy: ' + opts.strategy);\n    }\n  }\n\n  if (opts.dictionary) {\n    if (!Buffer.isBuffer(opts.dictionary)) {\n      throw new Error('Invalid dictionary: it should be a Buffer instance');\n    }\n  }\n\n  this._binding = new binding.Zlib(mode);\n\n  var self = this;\n  this._hadError = false;\n  this._binding.onerror = function(message, errno) {\n    // there is no way to cleanly recover.\n    // continuing only obscures problems.\n    self._binding = null;\n    self._hadError = true;\n\n    var error = new Error(message);\n    error.errno = errno;\n    error.code = exports.codes[errno];\n    self.emit('error', error);\n  };\n\n  var level = exports.Z_DEFAULT_COMPRESSION;\n  if (typeof opts.level === 'number') level = opts.level;\n\n  var strategy = exports.Z_DEFAULT_STRATEGY;\n  if (typeof opts.strategy === 'number') strategy = opts.strategy;\n\n  this._binding.init(opts.windowBits || exports.Z_DEFAULT_WINDOWBITS,\n                     level,\n                     opts.memLevel || exports.Z_DEFAULT_MEMLEVEL,\n                     strategy,\n                     opts.dictionary);\n\n  this._buffer = new Buffer(this._chunkSize);\n  this._offset = 0;\n  this._closed = false;\n  this._level = level;\n  this._strategy = strategy;\n\n  this.once('end', this.close);\n}\n\nutil.inherits(Zlib, Transform);\n\nZlib.prototype.params = function(level, strategy, callback) {\n  if (level < exports.Z_MIN_LEVEL ||\n      level > exports.Z_MAX_LEVEL) {\n    throw new RangeError('Invalid compression level: ' + level);\n  }\n  if (strategy != exports.Z_FILTERED &&\n      strategy != exports.Z_HUFFMAN_ONLY &&\n      strategy != exports.Z_RLE &&\n      strategy != exports.Z_FIXED &&\n      strategy != exports.Z_DEFAULT_STRATEGY) {\n    throw new TypeError('Invalid strategy: ' + strategy);\n  }\n\n  if (this._level !== level || this._strategy !== strategy) {\n    var self = this;\n    this.flush(binding.Z_SYNC_FLUSH, function() {\n      self._binding.params(level, strategy);\n      if (!self._hadError) {\n        self._level = level;\n        self._strategy = strategy;\n        if (callback) callback();\n      }\n    });\n  } else {\n    process.nextTick(callback);\n  }\n};\n\nZlib.prototype.reset = function() {\n  return this._binding.reset();\n};\n\n// This is the _flush function called by the transform class,\n// internally, when the last chunk has been written.\nZlib.prototype._flush = function(callback) {\n  this._transform(new Buffer(0), '', callback);\n};\n\nZlib.prototype.flush = function(kind, callback) {\n  var ws = this._writableState;\n\n  if (typeof kind === 'function' || (kind === void 0 && !callback)) {\n    callback = kind;\n    kind = binding.Z_FULL_FLUSH;\n  }\n\n  if (ws.ended) {\n    if (callback)\n      process.nextTick(callback);\n  } else if (ws.ending) {\n    if (callback)\n      this.once('end', callback);\n  } else if (ws.needDrain) {\n    var self = this;\n    this.once('drain', function() {\n      self.flush(callback);\n    });\n  } else {\n    this._flushFlag = kind;\n    this.write(new Buffer(0), '', callback);\n  }\n};\n\nZlib.prototype.close = function(callback) {\n  if (callback)\n    process.nextTick(callback);\n\n  if (this._closed)\n    return;\n\n  this._closed = true;\n\n  this._binding.close();\n\n  var self = this;\n  process.nextTick(function() {\n    self.emit('close');\n  });\n};\n\nZlib.prototype._transform = function(chunk, encoding, cb) {\n  var flushFlag;\n  var ws = this._writableState;\n  var ending = ws.ending || ws.ended;\n  var last = ending && (!chunk || ws.length === chunk.length);\n\n  if (!chunk === null && !Buffer.isBuffer(chunk))\n    return cb(new Error('invalid input'));\n\n  // If it's the last chunk, or a final flush, we use the Z_FINISH flush flag.\n  // If it's explicitly flushing at some other time, then we use\n  // Z_FULL_FLUSH. Otherwise, use Z_NO_FLUSH for maximum compression\n  // goodness.\n  if (last)\n    flushFlag = binding.Z_FINISH;\n  else {\n    flushFlag = this._flushFlag;\n    // once we've flushed the last of the queue, stop flushing and\n    // go back to the normal behavior.\n    if (chunk.length >= ws.length) {\n      this._flushFlag = this._opts.flush || binding.Z_NO_FLUSH;\n    }\n  }\n\n  var self = this;\n  this._processChunk(chunk, flushFlag, cb);\n};\n\nZlib.prototype._processChunk = function(chunk, flushFlag, cb) {\n  var availInBefore = chunk && chunk.length;\n  var availOutBefore = this._chunkSize - this._offset;\n  var inOff = 0;\n\n  var self = this;\n\n  var async = typeof cb === 'function';\n\n  if (!async) {\n    var buffers = [];\n    var nread = 0;\n\n    var error;\n    this.on('error', function(er) {\n      error = er;\n    });\n\n    do {\n      var res = this._binding.writeSync(flushFlag,\n                                        chunk, // in\n                                        inOff, // in_off\n                                        availInBefore, // in_len\n                                        this._buffer, // out\n                                        this._offset, //out_off\n                                        availOutBefore); // out_len\n    } while (!this._hadError && callback(res[0], res[1]));\n\n    if (this._hadError) {\n      throw error;\n    }\n\n    var buf = Buffer.concat(buffers, nread);\n    this.close();\n\n    return buf;\n  }\n\n  var req = this._binding.write(flushFlag,\n                                chunk, // in\n                                inOff, // in_off\n                                availInBefore, // in_len\n                                this._buffer, // out\n                                this._offset, //out_off\n                                availOutBefore); // out_len\n\n  req.buffer = chunk;\n  req.callback = callback;\n\n  function callback(availInAfter, availOutAfter) {\n    if (self._hadError)\n      return;\n\n    var have = availOutBefore - availOutAfter;\n    assert(have >= 0, 'have should not go down');\n\n    if (have > 0) {\n      var out = self._buffer.slice(self._offset, self._offset + have);\n      self._offset += have;\n      // serve some output to the consumer.\n      if (async) {\n        self.push(out);\n      } else {\n        buffers.push(out);\n        nread += out.length;\n      }\n    }\n\n    // exhausted the output buffer, or used all the input create a new one.\n    if (availOutAfter === 0 || self._offset >= self._chunkSize) {\n      availOutBefore = self._chunkSize;\n      self._offset = 0;\n      self._buffer = new Buffer(self._chunkSize);\n    }\n\n    if (availOutAfter === 0) {\n      // Not actually done.  Need to reprocess.\n      // Also, update the availInBefore to the availInAfter value,\n      // so that if we have to hit it a third (fourth, etc.) time,\n      // it'll have the correct byte counts.\n      inOff += (availInBefore - availInAfter);\n      availInBefore = availInAfter;\n\n      if (!async)\n        return true;\n\n      var newReq = self._binding.write(flushFlag,\n                                       chunk,\n                                       inOff,\n                                       availInBefore,\n                                       self._buffer,\n                                       self._offset,\n                                       self._chunkSize);\n      newReq.callback = callback; // this same function\n      newReq.buffer = chunk;\n      return;\n    }\n\n    if (!async)\n      return false;\n\n    // finished with the chunk.\n    cb();\n  }\n};\n\nutil.inherits(Deflate, Zlib);\nutil.inherits(Inflate, Zlib);\nutil.inherits(Gzip, Zlib);\nutil.inherits(Gunzip, Zlib);\nutil.inherits(DeflateRaw, Zlib);\nutil.inherits(InflateRaw, Zlib);\nutil.inherits(Unzip, Zlib);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/browserify-zlib/src/index.js\n// module id = 1175\n// module chunks = 0","/**\n * @namespace Chart\n */\nvar Chart = require('./core/core.js')();\n\nrequire('./core/core.helpers')(Chart);\nrequire('./platforms/platform.js')(Chart);\nrequire('./core/core.canvasHelpers')(Chart);\nrequire('./core/core.element')(Chart);\nrequire('./core/core.plugin.js')(Chart);\nrequire('./core/core.animation')(Chart);\nrequire('./core/core.controller')(Chart);\nrequire('./core/core.datasetController')(Chart);\nrequire('./core/core.layoutService')(Chart);\nrequire('./core/core.scaleService')(Chart);\nrequire('./core/core.ticks.js')(Chart);\nrequire('./core/core.scale')(Chart);\nrequire('./core/core.interaction')(Chart);\nrequire('./core/core.tooltip')(Chart);\n\nrequire('./elements/element.arc')(Chart);\nrequire('./elements/element.line')(Chart);\nrequire('./elements/element.point')(Chart);\nrequire('./elements/element.rectangle')(Chart);\n\nrequire('./scales/scale.linearbase.js')(Chart);\nrequire('./scales/scale.category')(Chart);\nrequire('./scales/scale.linear')(Chart);\nrequire('./scales/scale.logarithmic')(Chart);\nrequire('./scales/scale.radialLinear')(Chart);\nrequire('./scales/scale.time')(Chart);\n\n// Controllers must be loaded after elements\n// See Chart.core.datasetController.dataElementType\nrequire('./controllers/controller.bar')(Chart);\nrequire('./controllers/controller.bubble')(Chart);\nrequire('./controllers/controller.doughnut')(Chart);\nrequire('./controllers/controller.line')(Chart);\nrequire('./controllers/controller.polarArea')(Chart);\nrequire('./controllers/controller.radar')(Chart);\n\nrequire('./charts/Chart.Bar')(Chart);\nrequire('./charts/Chart.Bubble')(Chart);\nrequire('./charts/Chart.Doughnut')(Chart);\nrequire('./charts/Chart.Line')(Chart);\nrequire('./charts/Chart.PolarArea')(Chart);\nrequire('./charts/Chart.Radar')(Chart);\nrequire('./charts/Chart.Scatter')(Chart);\n\n// Loading built-it plugins\nvar plugins = [];\n\nplugins.push(\n    require('./plugins/plugin.filler.js')(Chart),\n    require('./plugins/plugin.legend.js')(Chart),\n    require('./plugins/plugin.title.js')(Chart)\n);\n\nChart.plugins.register(plugins);\n\nmodule.exports = Chart;\nif (typeof window !== 'undefined') {\n\twindow.Chart = Chart;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/chart.js/src/chart.js\n// module id = 1176\n// module chunks = 0","'use strict';\n\nmodule.exports = function(Chart) {\n\n\tChart.Bar = function(context, config) {\n\t\tconfig.type = 'bar';\n\n\t\treturn new Chart(context, config);\n\t};\n\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/chart.js/src/charts/Chart.Bar.js\n// module id = 1177\n// module chunks = 0","'use strict';\n\nmodule.exports = function(Chart) {\n\n\tChart.Bubble = function(context, config) {\n\t\tconfig.type = 'bubble';\n\t\treturn new Chart(context, config);\n\t};\n\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/chart.js/src/charts/Chart.Bubble.js\n// module id = 1178\n// module chunks = 0","'use strict';\n\nmodule.exports = function(Chart) {\n\n\tChart.Doughnut = function(context, config) {\n\t\tconfig.type = 'doughnut';\n\n\t\treturn new Chart(context, config);\n\t};\n\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/chart.js/src/charts/Chart.Doughnut.js\n// module id = 1179\n// module chunks = 0","'use strict';\n\nmodule.exports = function(Chart) {\n\n\tChart.Line = function(context, config) {\n\t\tconfig.type = 'line';\n\n\t\treturn new Chart(context, config);\n\t};\n\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/chart.js/src/charts/Chart.Line.js\n// module id = 1180\n// module chunks = 0","'use strict';\n\nmodule.exports = function(Chart) {\n\n\tChart.PolarArea = function(context, config) {\n\t\tconfig.type = 'polarArea';\n\n\t\treturn new Chart(context, config);\n\t};\n\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/chart.js/src/charts/Chart.PolarArea.js\n// module id = 1181\n// module chunks = 0","'use strict';\n\nmodule.exports = function(Chart) {\n\n\tChart.Radar = function(context, config) {\n\t\tconfig.type = 'radar';\n\n\t\treturn new Chart(context, config);\n\t};\n\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/chart.js/src/charts/Chart.Radar.js\n// module id = 1182\n// module chunks = 0","'use strict';\n\nmodule.exports = function(Chart) {\n\n\tvar defaultConfig = {\n\t\thover: {\n\t\t\tmode: 'single'\n\t\t},\n\n\t\tscales: {\n\t\t\txAxes: [{\n\t\t\t\ttype: 'linear', // scatter should not use a category axis\n\t\t\t\tposition: 'bottom',\n\t\t\t\tid: 'x-axis-1' // need an ID so datasets can reference the scale\n\t\t\t}],\n\t\t\tyAxes: [{\n\t\t\t\ttype: 'linear',\n\t\t\t\tposition: 'left',\n\t\t\t\tid: 'y-axis-1'\n\t\t\t}]\n\t\t},\n\n\t\ttooltips: {\n\t\t\tcallbacks: {\n\t\t\t\ttitle: function() {\n\t\t\t\t\t// Title doesn't make sense for scatter since we format the data as a point\n\t\t\t\t\treturn '';\n\t\t\t\t},\n\t\t\t\tlabel: function(tooltipItem) {\n\t\t\t\t\treturn '(' + tooltipItem.xLabel + ', ' + tooltipItem.yLabel + ')';\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\t// Register the default config for this type\n\tChart.defaults.scatter = defaultConfig;\n\n\t// Scatter charts use line controllers\n\tChart.controllers.scatter = Chart.controllers.line;\n\n\tChart.Scatter = function(context, config) {\n\t\tconfig.type = 'scatter';\n\t\treturn new Chart(context, config);\n\t};\n\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/chart.js/src/charts/Chart.Scatter.js\n// module id = 1183\n// module chunks = 0","'use strict';\n\nmodule.exports = function(Chart) {\n\n\tvar helpers = Chart.helpers;\n\n\tChart.defaults.bar = {\n\t\thover: {\n\t\t\tmode: 'label'\n\t\t},\n\n\t\tscales: {\n\t\t\txAxes: [{\n\t\t\t\ttype: 'category',\n\n\t\t\t\t// Specific to Bar Controller\n\t\t\t\tcategoryPercentage: 0.8,\n\t\t\t\tbarPercentage: 0.9,\n\n\t\t\t\t// grid line settings\n\t\t\t\tgridLines: {\n\t\t\t\t\toffsetGridLines: true\n\t\t\t\t}\n\t\t\t}],\n\t\t\tyAxes: [{\n\t\t\t\ttype: 'linear'\n\t\t\t}]\n\t\t}\n\t};\n\n\tChart.controllers.bar = Chart.DatasetController.extend({\n\n\t\tdataElementType: Chart.elements.Rectangle,\n\n\t\tinitialize: function() {\n\t\t\tvar me = this;\n\t\t\tvar meta;\n\n\t\t\tChart.DatasetController.prototype.initialize.apply(me, arguments);\n\n\t\t\tmeta = me.getMeta();\n\t\t\tmeta.stack = me.getDataset().stack;\n\t\t\tmeta.bar = true;\n\t\t},\n\n\t\tupdate: function(reset) {\n\t\t\tvar me = this;\n\t\t\tvar elements = me.getMeta().data;\n\t\t\tvar i, ilen;\n\n\t\t\tme._ruler = me.getRuler();\n\n\t\t\tfor (i = 0, ilen = elements.length; i < ilen; ++i) {\n\t\t\t\tme.updateElement(elements[i], i, reset);\n\t\t\t}\n\t\t},\n\n\t\tupdateElement: function(rectangle, index, reset) {\n\t\t\tvar me = this;\n\t\t\tvar chart = me.chart;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar dataset = me.getDataset();\n\t\t\tvar custom = rectangle.custom || {};\n\t\t\tvar rectangleOptions = chart.options.elements.rectangle;\n\n\t\t\trectangle._xScale = me.getScaleForId(meta.xAxisID);\n\t\t\trectangle._yScale = me.getScaleForId(meta.yAxisID);\n\t\t\trectangle._datasetIndex = me.index;\n\t\t\trectangle._index = index;\n\n\t\t\trectangle._model = {\n\t\t\t\tdatasetLabel: dataset.label,\n\t\t\t\tlabel: chart.data.labels[index],\n\t\t\t\tborderSkipped: custom.borderSkipped ? custom.borderSkipped : rectangleOptions.borderSkipped,\n\t\t\t\tbackgroundColor: custom.backgroundColor ? custom.backgroundColor : helpers.getValueAtIndexOrDefault(dataset.backgroundColor, index, rectangleOptions.backgroundColor),\n\t\t\t\tborderColor: custom.borderColor ? custom.borderColor : helpers.getValueAtIndexOrDefault(dataset.borderColor, index, rectangleOptions.borderColor),\n\t\t\t\tborderWidth: custom.borderWidth ? custom.borderWidth : helpers.getValueAtIndexOrDefault(dataset.borderWidth, index, rectangleOptions.borderWidth)\n\t\t\t};\n\n\t\t\tme.updateElementGeometry(rectangle, index, reset);\n\n\t\t\trectangle.pivot();\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tupdateElementGeometry: function(rectangle, index, reset) {\n\t\t\tvar me = this;\n\t\t\tvar model = rectangle._model;\n\t\t\tvar vscale = me.getValueScale();\n\t\t\tvar base = vscale.getBasePixel();\n\t\t\tvar horizontal = vscale.isHorizontal();\n\t\t\tvar ruler = me._ruler || me.getRuler();\n\t\t\tvar vpixels = me.calculateBarValuePixels(me.index, index);\n\t\t\tvar ipixels = me.calculateBarIndexPixels(me.index, index, ruler);\n\n\t\t\tmodel.horizontal = horizontal;\n\t\t\tmodel.base = reset? base : vpixels.base;\n\t\t\tmodel.x = horizontal? reset? base : vpixels.head : ipixels.center;\n\t\t\tmodel.y = horizontal? ipixels.center : reset? base : vpixels.head;\n\t\t\tmodel.height = horizontal? ipixels.size : undefined;\n\t\t\tmodel.width = horizontal? undefined : ipixels.size;\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tgetValueScaleId: function() {\n\t\t\treturn this.getMeta().yAxisID;\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tgetIndexScaleId: function() {\n\t\t\treturn this.getMeta().xAxisID;\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tgetValueScale: function() {\n\t\t\treturn this.getScaleForId(this.getValueScaleId());\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tgetIndexScale: function() {\n\t\t\treturn this.getScaleForId(this.getIndexScaleId());\n\t\t},\n\n\t\t/**\n\t\t * Returns the effective number of stacks based on groups and bar visibility.\n\t\t * @private\n\t\t */\n\t\tgetStackCount: function(last) {\n\t\t\tvar me = this;\n\t\t\tvar chart = me.chart;\n\t\t\tvar scale = me.getIndexScale();\n\t\t\tvar stacked = scale.options.stacked;\n\t\t\tvar ilen = last === undefined? chart.data.datasets.length : last + 1;\n\t\t\tvar stacks = [];\n\t\t\tvar i, meta;\n\n\t\t\tfor (i = 0; i < ilen; ++i) {\n\t\t\t\tmeta = chart.getDatasetMeta(i);\n\t\t\t\tif (meta.bar && chart.isDatasetVisible(i) &&\n\t\t\t\t\t(stacked === false ||\n\t\t\t\t\t(stacked === true && stacks.indexOf(meta.stack) === -1) ||\n\t\t\t\t\t(stacked === undefined && (meta.stack === undefined || stacks.indexOf(meta.stack) === -1)))) {\n\t\t\t\t\tstacks.push(meta.stack);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn stacks.length;\n\t\t},\n\n\t\t/**\n\t\t * Returns the stack index for the given dataset based on groups and bar visibility.\n\t\t * @private\n\t\t */\n\t\tgetStackIndex: function(datasetIndex) {\n\t\t\treturn this.getStackCount(datasetIndex) - 1;\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tgetRuler: function() {\n\t\t\tvar me = this;\n\t\t\tvar scale = me.getIndexScale();\n\t\t\tvar options = scale.options;\n\t\t\tvar stackCount = me.getStackCount();\n\t\t\tvar fullSize = scale.isHorizontal()? scale.width : scale.height;\n\t\t\tvar tickSize = fullSize / scale.ticks.length;\n\t\t\tvar categorySize = tickSize * options.categoryPercentage;\n\t\t\tvar fullBarSize = categorySize / stackCount;\n\t\t\tvar barSize = fullBarSize * options.barPercentage;\n\n\t\t\tbarSize = Math.min(\n\t\t\t\thelpers.getValueOrDefault(options.barThickness, barSize),\n\t\t\t\thelpers.getValueOrDefault(options.maxBarThickness, Infinity));\n\n\t\t\treturn {\n\t\t\t\tstackCount: stackCount,\n\t\t\t\ttickSize: tickSize,\n\t\t\t\tcategorySize: categorySize,\n\t\t\t\tcategorySpacing: tickSize - categorySize,\n\t\t\t\tfullBarSize: fullBarSize,\n\t\t\t\tbarSize: barSize,\n\t\t\t\tbarSpacing: fullBarSize - barSize,\n\t\t\t\tscale: scale\n\t\t\t};\n\t\t},\n\n\t\t/**\n\t\t * Note: pixel values are not clamped to the scale area.\n\t\t * @private\n\t\t */\n\t\tcalculateBarValuePixels: function(datasetIndex, index) {\n\t\t\tvar me = this;\n\t\t\tvar chart = me.chart;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar scale = me.getValueScale();\n\t\t\tvar datasets = chart.data.datasets;\n\t\t\tvar value = Number(datasets[datasetIndex].data[index]);\n\t\t\tvar stacked = scale.options.stacked;\n\t\t\tvar stack = meta.stack;\n\t\t\tvar start = 0;\n\t\t\tvar i, imeta, ivalue, base, head, size;\n\n\t\t\tif (stacked || (stacked === undefined && stack !== undefined)) {\n\t\t\t\tfor (i = 0; i < datasetIndex; ++i) {\n\t\t\t\t\timeta = chart.getDatasetMeta(i);\n\n\t\t\t\t\tif (imeta.bar &&\n\t\t\t\t\t\timeta.stack === stack &&\n\t\t\t\t\t\timeta.controller.getValueScaleId() === scale.id &&\n\t\t\t\t\t\tchart.isDatasetVisible(i)) {\n\n\t\t\t\t\t\tivalue = Number(datasets[i].data[index]);\n\t\t\t\t\t\tif ((value < 0 && ivalue < 0) || (value >= 0 && ivalue > 0)) {\n\t\t\t\t\t\t\tstart += ivalue;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tbase = scale.getPixelForValue(start);\n\t\t\thead = scale.getPixelForValue(start + value);\n\t\t\tsize = (head - base) / 2;\n\n\t\t\treturn {\n\t\t\t\tsize: size,\n\t\t\t\tbase: base,\n\t\t\t\thead: head,\n\t\t\t\tcenter: head + size / 2\n\t\t\t};\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tcalculateBarIndexPixels: function(datasetIndex, index, ruler) {\n\t\t\tvar me = this;\n\t\t\tvar scale = ruler.scale;\n\t\t\tvar isCombo = me.chart.isCombo;\n\t\t\tvar stackIndex = me.getStackIndex(datasetIndex);\n\t\t\tvar base = scale.getPixelForValue(null, index, datasetIndex, isCombo);\n\t\t\tvar size = ruler.barSize;\n\n\t\t\tbase -= isCombo? ruler.tickSize / 2 : 0;\n\t\t\tbase += ruler.fullBarSize * stackIndex;\n\t\t\tbase += ruler.categorySpacing / 2;\n\t\t\tbase += ruler.barSpacing / 2;\n\n\t\t\treturn {\n\t\t\t\tsize: size,\n\t\t\t\tbase: base,\n\t\t\t\thead: base + size,\n\t\t\t\tcenter: base + size / 2\n\t\t\t};\n\t\t},\n\n\t\tdraw: function() {\n\t\t\tvar me = this;\n\t\t\tvar chart = me.chart;\n\t\t\tvar elements = me.getMeta().data;\n\t\t\tvar dataset = me.getDataset();\n\t\t\tvar ilen = elements.length;\n\t\t\tvar i = 0;\n\t\t\tvar d;\n\n\t\t\thelpers.canvas.clipArea(chart.ctx, chart.chartArea);\n\n\t\t\tfor (; i<ilen; ++i) {\n\t\t\t\td = dataset.data[i];\n\t\t\t\tif (d !== null && d !== undefined && !isNaN(d)) {\n\t\t\t\t\telements[i].draw();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\thelpers.canvas.unclipArea(chart.ctx);\n\t\t},\n\n\t\tsetHoverStyle: function(rectangle) {\n\t\t\tvar dataset = this.chart.data.datasets[rectangle._datasetIndex];\n\t\t\tvar index = rectangle._index;\n\t\t\tvar custom = rectangle.custom || {};\n\t\t\tvar model = rectangle._model;\n\n\t\t\tmodel.backgroundColor = custom.hoverBackgroundColor ? custom.hoverBackgroundColor : helpers.getValueAtIndexOrDefault(dataset.hoverBackgroundColor, index, helpers.getHoverColor(model.backgroundColor));\n\t\t\tmodel.borderColor = custom.hoverBorderColor ? custom.hoverBorderColor : helpers.getValueAtIndexOrDefault(dataset.hoverBorderColor, index, helpers.getHoverColor(model.borderColor));\n\t\t\tmodel.borderWidth = custom.hoverBorderWidth ? custom.hoverBorderWidth : helpers.getValueAtIndexOrDefault(dataset.hoverBorderWidth, index, model.borderWidth);\n\t\t},\n\n\t\tremoveHoverStyle: function(rectangle) {\n\t\t\tvar dataset = this.chart.data.datasets[rectangle._datasetIndex];\n\t\t\tvar index = rectangle._index;\n\t\t\tvar custom = rectangle.custom || {};\n\t\t\tvar model = rectangle._model;\n\t\t\tvar rectangleElementOptions = this.chart.options.elements.rectangle;\n\n\t\t\tmodel.backgroundColor = custom.backgroundColor ? custom.backgroundColor : helpers.getValueAtIndexOrDefault(dataset.backgroundColor, index, rectangleElementOptions.backgroundColor);\n\t\t\tmodel.borderColor = custom.borderColor ? custom.borderColor : helpers.getValueAtIndexOrDefault(dataset.borderColor, index, rectangleElementOptions.borderColor);\n\t\t\tmodel.borderWidth = custom.borderWidth ? custom.borderWidth : helpers.getValueAtIndexOrDefault(dataset.borderWidth, index, rectangleElementOptions.borderWidth);\n\t\t}\n\t});\n\n\n\t// including horizontalBar in the bar file, instead of a file of its own\n\t// it extends bar (like pie extends doughnut)\n\tChart.defaults.horizontalBar = {\n\t\thover: {\n\t\t\tmode: 'label'\n\t\t},\n\n\t\tscales: {\n\t\t\txAxes: [{\n\t\t\t\ttype: 'linear',\n\t\t\t\tposition: 'bottom'\n\t\t\t}],\n\t\t\tyAxes: [{\n\t\t\t\tposition: 'left',\n\t\t\t\ttype: 'category',\n\n\t\t\t\t// Specific to Horizontal Bar Controller\n\t\t\t\tcategoryPercentage: 0.8,\n\t\t\t\tbarPercentage: 0.9,\n\n\t\t\t\t// grid line settings\n\t\t\t\tgridLines: {\n\t\t\t\t\toffsetGridLines: true\n\t\t\t\t}\n\t\t\t}]\n\t\t},\n\t\telements: {\n\t\t\trectangle: {\n\t\t\t\tborderSkipped: 'left'\n\t\t\t}\n\t\t},\n\t\ttooltips: {\n\t\t\tcallbacks: {\n\t\t\t\ttitle: function(tooltipItems, data) {\n\t\t\t\t\t// Pick first xLabel for now\n\t\t\t\t\tvar title = '';\n\n\t\t\t\t\tif (tooltipItems.length > 0) {\n\t\t\t\t\t\tif (tooltipItems[0].yLabel) {\n\t\t\t\t\t\t\ttitle = tooltipItems[0].yLabel;\n\t\t\t\t\t\t} else if (data.labels.length > 0 && tooltipItems[0].index < data.labels.length) {\n\t\t\t\t\t\t\ttitle = data.labels[tooltipItems[0].index];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn title;\n\t\t\t\t},\n\t\t\t\tlabel: function(tooltipItem, data) {\n\t\t\t\t\tvar datasetLabel = data.datasets[tooltipItem.datasetIndex].label || '';\n\t\t\t\t\treturn datasetLabel + ': ' + tooltipItem.xLabel;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\tChart.controllers.horizontalBar = Chart.controllers.bar.extend({\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tgetValueScaleId: function() {\n\t\t\treturn this.getMeta().xAxisID;\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tgetIndexScaleId: function() {\n\t\t\treturn this.getMeta().yAxisID;\n\t\t}\n\t});\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/chart.js/src/controllers/controller.bar.js\n// module id = 1184\n// module chunks = 0","'use strict';\n\nmodule.exports = function(Chart) {\n\n\tvar helpers = Chart.helpers;\n\n\tChart.defaults.bubble = {\n\t\thover: {\n\t\t\tmode: 'single'\n\t\t},\n\n\t\tscales: {\n\t\t\txAxes: [{\n\t\t\t\ttype: 'linear', // bubble should probably use a linear scale by default\n\t\t\t\tposition: 'bottom',\n\t\t\t\tid: 'x-axis-0' // need an ID so datasets can reference the scale\n\t\t\t}],\n\t\t\tyAxes: [{\n\t\t\t\ttype: 'linear',\n\t\t\t\tposition: 'left',\n\t\t\t\tid: 'y-axis-0'\n\t\t\t}]\n\t\t},\n\n\t\ttooltips: {\n\t\t\tcallbacks: {\n\t\t\t\ttitle: function() {\n\t\t\t\t\t// Title doesn't make sense for scatter since we format the data as a point\n\t\t\t\t\treturn '';\n\t\t\t\t},\n\t\t\t\tlabel: function(tooltipItem, data) {\n\t\t\t\t\tvar datasetLabel = data.datasets[tooltipItem.datasetIndex].label || '';\n\t\t\t\t\tvar dataPoint = data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];\n\t\t\t\t\treturn datasetLabel + ': (' + tooltipItem.xLabel + ', ' + tooltipItem.yLabel + ', ' + dataPoint.r + ')';\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\tChart.controllers.bubble = Chart.DatasetController.extend({\n\n\t\tdataElementType: Chart.elements.Point,\n\n\t\tupdate: function(reset) {\n\t\t\tvar me = this;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar points = meta.data;\n\n\t\t\t// Update Points\n\t\t\thelpers.each(points, function(point, index) {\n\t\t\t\tme.updateElement(point, index, reset);\n\t\t\t});\n\t\t},\n\n\t\tupdateElement: function(point, index, reset) {\n\t\t\tvar me = this;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar xScale = me.getScaleForId(meta.xAxisID);\n\t\t\tvar yScale = me.getScaleForId(meta.yAxisID);\n\n\t\t\tvar custom = point.custom || {};\n\t\t\tvar dataset = me.getDataset();\n\t\t\tvar data = dataset.data[index];\n\t\t\tvar pointElementOptions = me.chart.options.elements.point;\n\t\t\tvar dsIndex = me.index;\n\n\t\t\thelpers.extend(point, {\n\t\t\t\t// Utility\n\t\t\t\t_xScale: xScale,\n\t\t\t\t_yScale: yScale,\n\t\t\t\t_datasetIndex: dsIndex,\n\t\t\t\t_index: index,\n\n\t\t\t\t// Desired view properties\n\t\t\t\t_model: {\n\t\t\t\t\tx: reset ? xScale.getPixelForDecimal(0.5) : xScale.getPixelForValue(typeof data === 'object' ? data : NaN, index, dsIndex, me.chart.isCombo),\n\t\t\t\t\ty: reset ? yScale.getBasePixel() : yScale.getPixelForValue(data, index, dsIndex),\n\t\t\t\t\t// Appearance\n\t\t\t\t\tradius: reset ? 0 : custom.radius ? custom.radius : me.getRadius(data),\n\n\t\t\t\t\t// Tooltip\n\t\t\t\t\thitRadius: custom.hitRadius ? custom.hitRadius : helpers.getValueAtIndexOrDefault(dataset.hitRadius, index, pointElementOptions.hitRadius)\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// Trick to reset the styles of the point\n\t\t\tChart.DatasetController.prototype.removeHoverStyle.call(me, point, pointElementOptions);\n\n\t\t\tvar model = point._model;\n\t\t\tmodel.skip = custom.skip ? custom.skip : (isNaN(model.x) || isNaN(model.y));\n\n\t\t\tpoint.pivot();\n\t\t},\n\n\t\tgetRadius: function(value) {\n\t\t\treturn value.r || this.chart.options.elements.point.radius;\n\t\t},\n\n\t\tsetHoverStyle: function(point) {\n\t\t\tvar me = this;\n\t\t\tChart.DatasetController.prototype.setHoverStyle.call(me, point);\n\n\t\t\t// Radius\n\t\t\tvar dataset = me.chart.data.datasets[point._datasetIndex];\n\t\t\tvar index = point._index;\n\t\t\tvar custom = point.custom || {};\n\t\t\tvar model = point._model;\n\t\t\tmodel.radius = custom.hoverRadius ? custom.hoverRadius : (helpers.getValueAtIndexOrDefault(dataset.hoverRadius, index, me.chart.options.elements.point.hoverRadius)) + me.getRadius(dataset.data[index]);\n\t\t},\n\n\t\tremoveHoverStyle: function(point) {\n\t\t\tvar me = this;\n\t\t\tChart.DatasetController.prototype.removeHoverStyle.call(me, point, me.chart.options.elements.point);\n\n\t\t\tvar dataVal = me.chart.data.datasets[point._datasetIndex].data[point._index];\n\t\t\tvar custom = point.custom || {};\n\t\t\tvar model = point._model;\n\n\t\t\tmodel.radius = custom.radius ? custom.radius : me.getRadius(dataVal);\n\t\t}\n\t});\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/chart.js/src/controllers/controller.bubble.js\n// module id = 1185\n// module chunks = 0","'use strict';\n\nmodule.exports = function(Chart) {\n\n\tvar helpers = Chart.helpers,\n\t\tdefaults = Chart.defaults;\n\n\tdefaults.doughnut = {\n\t\tanimation: {\n\t\t\t// Boolean - Whether we animate the rotation of the Doughnut\n\t\t\tanimateRotate: true,\n\t\t\t// Boolean - Whether we animate scaling the Doughnut from the centre\n\t\t\tanimateScale: false\n\t\t},\n\t\taspectRatio: 1,\n\t\thover: {\n\t\t\tmode: 'single'\n\t\t},\n\t\tlegendCallback: function(chart) {\n\t\t\tvar text = [];\n\t\t\ttext.push('<ul style=\"margin-left:50px;padding-left:50px;\" class=\"' + chart.id + '-legend\">');\n\n\t\t\tvar data = chart.data;\n\t\t\tvar datasets = data.datasets;\n\t\t\tvar labels = data.labels;\n\t\t\tconsole.log(labels)\n\t\t\tif (datasets.length) {\n\t\t\t\tfor (var i = 0; i < datasets[0].data.length; ++i) {\n\t\t\t\t\ttext.push('<li><span style=\"background-color:' + datasets[0].backgroundColor[i] + ' margin-left:50px;padding-left:50px;\"></span>');\n\t\t\t\t\tif (labels[i]) {\n\t\t\t\t\t\ttext.push(labels[i]);\n\t\t\t\t\t}\n\t\t\t\t\ttext.push('</li>');\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ttext.push('</ul>');\n\t\t\treturn text.join('');\n\t\t},\n\t\tlegend: {\n\t\t\tlabels: {\n\t\t\t\tgenerateLabels: function(chart) {\n\t\t\t\t\tvar data = chart.data;\n\t\t\t\t\tif (data.labels.length && data.datasets.length) {\n\t\t\t\t\t\treturn data.labels.map(function(label, i) {\n\t\t\t\t\t\t\tvar meta = chart.getDatasetMeta(0);\n\t\t\t\t\t\t\tvar ds = data.datasets[0];\n\t\t\t\t\t\t\tvar arc = meta.data[i];\n\t\t\t\t\t\t\tvar custom = arc && arc.custom || {};\n\t\t\t\t\t\t\tvar getValueAtIndexOrDefault = helpers.getValueAtIndexOrDefault;\n\t\t\t\t\t\t\tvar arcOpts = chart.options.elements.arc;\n\t\t\t\t\t\t\tvar fill = custom.backgroundColor ? custom.backgroundColor : getValueAtIndexOrDefault(ds.backgroundColor, i, arcOpts.backgroundColor);\n\t\t\t\t\t\t\tvar stroke = custom.borderColor ? custom.borderColor : getValueAtIndexOrDefault(ds.borderColor, i, arcOpts.borderColor);\n\t\t\t\t\t\t\tvar bw = custom.borderWidth ? custom.borderWidth : getValueAtIndexOrDefault(ds.borderWidth, i, arcOpts.borderWidth);\n\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\ttext: label,\n\t\t\t\t\t\t\t\tfillStyle: fill,\n\t\t\t\t\t\t\t\tstrokeStyle: stroke,\n\t\t\t\t\t\t\t\tlineWidth: bw,\n\t\t\t\t\t\t\t\thidden: isNaN(ds.data[i]) || meta.data[i].hidden,\n\n\t\t\t\t\t\t\t\t// Extra data used for toggling the correct item\n\t\t\t\t\t\t\t\tindex: i\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\treturn [];\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tonClick: function(e, legendItem) {\n\t\t\t\tvar index = legendItem.index;\n\t\t\t\tvar chart = this.chart;\n\t\t\t\tvar i, ilen, meta;\n\n\t\t\t\tfor (i = 0, ilen = (chart.data.datasets || []).length; i < ilen; ++i) {\n\t\t\t\t\tmeta = chart.getDatasetMeta(i);\n\t\t\t\t\t// toggle visibility of index if exists\n\t\t\t\t\tif (meta.data[index]) {\n\t\t\t\t\t\tmeta.data[index].hidden = !meta.data[index].hidden;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tchart.update();\n\t\t\t}\n\t\t},\n\n\t\t// The percentage of the chart that we cut out of the middle.\n\t\tcutoutPercentage: 50,\n\n\t\t// The rotation of the chart, where the first data arc begins.\n\t\trotation: Math.PI * -0.5,\n\n\t\t// The total circumference of the chart.\n\t\tcircumference: Math.PI * 2.0,\n\n\t\t// Need to override these to give a nice default\n\t\ttooltips: {\n\t\t\tcallbacks: {\n\t\t\t\ttitle: function() {\n\t\t\t\t\treturn '';\n\t\t\t\t},\n\t\t\t\tlabel: function(tooltipItem, data) {\n\t\t\t\t\tvar dataLabel = data.labels[tooltipItem.index];\n\t\t\t\t\tvar value = ': ' + data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];\n\n\t\t\t\t\tif (helpers.isArray(dataLabel)) {\n\t\t\t\t\t\t// show value on first line of multiline label\n\t\t\t\t\t\t// need to clone because we are changing the value\n\t\t\t\t\t\tdataLabel = dataLabel.slice();\n\t\t\t\t\t\tdataLabel[0] += value;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdataLabel += value;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn dataLabel;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\tdefaults.pie = helpers.clone(defaults.doughnut);\n\thelpers.extend(defaults.pie, {\n\t\tcutoutPercentage: 0\n\t});\n\n\n\tChart.controllers.doughnut = Chart.controllers.pie = Chart.DatasetController.extend({\n\n\t\tdataElementType: Chart.elements.Arc,\n\n\t\tlinkScales: helpers.noop,\n\n\t\t// Get index of the dataset in relation to the visible datasets. This allows determining the inner and outer radius correctly\n\t\tgetRingIndex: function(datasetIndex) {\n\t\t\tvar ringIndex = 0;\n\n\t\t\tfor (var j = 0; j < datasetIndex; ++j) {\n\t\t\t\tif (this.chart.isDatasetVisible(j)) {\n\t\t\t\t\t++ringIndex;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn ringIndex;\n\t\t},\n\n\t\tupdate: function(reset) {\n\t\t\tvar me = this;\n\t\t\tvar chart = me.chart,\n\t\t\t\tchartArea = chart.chartArea,\n\t\t\t\topts = chart.options,\n\t\t\t\tarcOpts = opts.elements.arc,\n\t\t\t\tavailableWidth = chartArea.right - chartArea.left - arcOpts.borderWidth,\n\t\t\t\tavailableHeight = chartArea.bottom - chartArea.top - arcOpts.borderWidth,\n\t\t\t\tminSize = Math.min(availableWidth, availableHeight),\n\t\t\t\toffset = {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0\n\t\t\t\t},\n\t\t\t\tmeta = me.getMeta(),\n\t\t\t\tcutoutPercentage = opts.cutoutPercentage,\n\t\t\t\tcircumference = opts.circumference;\n\n\t\t\t// If the chart's circumference isn't a full circle, calculate minSize as a ratio of the width/height of the arc\n\t\t\tif (circumference < Math.PI * 2.0) {\n\t\t\t\tvar startAngle = opts.rotation % (Math.PI * 2.0);\n\t\t\t\tstartAngle += Math.PI * 2.0 * (startAngle >= Math.PI ? -1 : startAngle < -Math.PI ? 1 : 0);\n\t\t\t\tvar endAngle = startAngle + circumference;\n\t\t\t\tvar start = {x: Math.cos(startAngle), y: Math.sin(startAngle)};\n\t\t\t\tvar end = {x: Math.cos(endAngle), y: Math.sin(endAngle)};\n\t\t\t\tvar contains0 = (startAngle <= 0 && 0 <= endAngle) || (startAngle <= Math.PI * 2.0 && Math.PI * 2.0 <= endAngle);\n\t\t\t\tvar contains90 = (startAngle <= Math.PI * 0.5 && Math.PI * 0.5 <= endAngle) || (startAngle <= Math.PI * 2.5 && Math.PI * 2.5 <= endAngle);\n\t\t\t\tvar contains180 = (startAngle <= -Math.PI && -Math.PI <= endAngle) || (startAngle <= Math.PI && Math.PI <= endAngle);\n\t\t\t\tvar contains270 = (startAngle <= -Math.PI * 0.5 && -Math.PI * 0.5 <= endAngle) || (startAngle <= Math.PI * 1.5 && Math.PI * 1.5 <= endAngle);\n\t\t\t\tvar cutout = cutoutPercentage / 100.0;\n\t\t\t\tvar min = {x: contains180 ? -1 : Math.min(start.x * (start.x < 0 ? 1 : cutout), end.x * (end.x < 0 ? 1 : cutout)), y: contains270 ? -1 : Math.min(start.y * (start.y < 0 ? 1 : cutout), end.y * (end.y < 0 ? 1 : cutout))};\n\t\t\t\tvar max = {x: contains0 ? 1 : Math.max(start.x * (start.x > 0 ? 1 : cutout), end.x * (end.x > 0 ? 1 : cutout)), y: contains90 ? 1 : Math.max(start.y * (start.y > 0 ? 1 : cutout), end.y * (end.y > 0 ? 1 : cutout))};\n\t\t\t\tvar size = {width: (max.x - min.x) * 0.5, height: (max.y - min.y) * 0.5};\n\t\t\t\tminSize = Math.min(availableWidth / size.width, availableHeight / size.height);\n\t\t\t\toffset = {x: (max.x + min.x) * -0.5, y: (max.y + min.y) * -0.5};\n\t\t\t}\n\n\t\t\tchart.borderWidth = me.getMaxBorderWidth(meta.data);\n\t\t\tchart.outerRadius = Math.max((minSize - chart.borderWidth) / 2, 0);\n\t\t\tchart.innerRadius = Math.max(cutoutPercentage ? (chart.outerRadius / 100) * (cutoutPercentage) : 0, 0);\n\t\t\tchart.radiusLength = (chart.outerRadius - chart.innerRadius) / chart.getVisibleDatasetCount();\n\t\t\tchart.offsetX = offset.x * chart.outerRadius;\n\t\t\tchart.offsetY = offset.y * chart.outerRadius;\n\n\t\t\tmeta.total = me.calculateTotal();\n\n\t\t\tme.outerRadius = chart.outerRadius - (chart.radiusLength * me.getRingIndex(me.index));\n\t\t\tme.innerRadius = Math.max(me.outerRadius - chart.radiusLength, 0);\n\n\t\t\thelpers.each(meta.data, function(arc, index) {\n\t\t\t\tme.updateElement(arc, index, reset);\n\t\t\t});\n\t\t},\n\n\t\tupdateElement: function(arc, index, reset) {\n\t\t\tvar me = this;\n\t\t\tvar chart = me.chart,\n\t\t\t\tchartArea = chart.chartArea,\n\t\t\t\topts = chart.options,\n\t\t\t\tanimationOpts = opts.animation,\n\t\t\t\tcenterX = (chartArea.left + chartArea.right) / 2,\n\t\t\t\tcenterY = (chartArea.top + chartArea.bottom) / 2,\n\t\t\t\tstartAngle = opts.rotation, // non reset case handled later\n\t\t\t\tendAngle = opts.rotation, // non reset case handled later\n\t\t\t\tdataset = me.getDataset(),\n\t\t\t\tcircumference = reset && animationOpts.animateRotate ? 0 : arc.hidden ? 0 : me.calculateCircumference(dataset.data[index]) * (opts.circumference / (2.0 * Math.PI)),\n\t\t\t\tinnerRadius = reset && animationOpts.animateScale ? 0 : me.innerRadius,\n\t\t\t\touterRadius = reset && animationOpts.animateScale ? 0 : me.outerRadius,\n\t\t\t\tvalueAtIndexOrDefault = helpers.getValueAtIndexOrDefault;\n\n\t\t\thelpers.extend(arc, {\n\t\t\t\t// Utility\n\t\t\t\t_datasetIndex: me.index,\n\t\t\t\t_index: index,\n\n\t\t\t\t// Desired view properties\n\t\t\t\t_model: {\n\t\t\t\t\tx: centerX + chart.offsetX,\n\t\t\t\t\ty: centerY + chart.offsetY,\n\t\t\t\t\tstartAngle: startAngle,\n\t\t\t\t\tendAngle: endAngle,\n\t\t\t\t\tcircumference: circumference,\n\t\t\t\t\touterRadius: outerRadius,\n\t\t\t\t\tinnerRadius: innerRadius,\n\t\t\t\t\tlabel: valueAtIndexOrDefault(dataset.label, index, chart.data.labels[index])\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tvar model = arc._model;\n\t\t\t// Resets the visual styles\n\t\t\tthis.removeHoverStyle(arc);\n\n\t\t\t// Set correct angles if not resetting\n\t\t\tif (!reset || !animationOpts.animateRotate) {\n\t\t\t\tif (index === 0) {\n\t\t\t\t\tmodel.startAngle = opts.rotation;\n\t\t\t\t} else {\n\t\t\t\t\tmodel.startAngle = me.getMeta().data[index - 1]._model.endAngle;\n\t\t\t\t}\n\n\t\t\t\tmodel.endAngle = model.startAngle + model.circumference;\n\t\t\t}\n\n\t\t\tarc.pivot();\n\t\t},\n\n\t\tremoveHoverStyle: function(arc) {\n\t\t\tChart.DatasetController.prototype.removeHoverStyle.call(this, arc, this.chart.options.elements.arc);\n\t\t},\n\n\t\tcalculateTotal: function() {\n\t\t\tvar dataset = this.getDataset();\n\t\t\tvar meta = this.getMeta();\n\t\t\tvar total = 0;\n\t\t\tvar value;\n\n\t\t\thelpers.each(meta.data, function(element, index) {\n\t\t\t\tvalue = dataset.data[index];\n\t\t\t\tif (!isNaN(value) && !element.hidden) {\n\t\t\t\t\ttotal += Math.abs(value);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t/* if (total === 0) {\n\t\t\t\ttotal = NaN;\n\t\t\t}*/\n\n\t\t\treturn total;\n\t\t},\n\n\t\tcalculateCircumference: function(value) {\n\t\t\tvar total = this.getMeta().total;\n\t\t\tif (total > 0 && !isNaN(value)) {\n\t\t\t\treturn (Math.PI * 2.0) * (value / total);\n\t\t\t}\n\t\t\treturn 0;\n\t\t},\n\n\t\t// gets the max border or hover width to properly scale pie charts\n\t\tgetMaxBorderWidth: function(elements) {\n\t\t\tvar max = 0,\n\t\t\t\tindex = this.index,\n\t\t\t\tlength = elements.length,\n\t\t\t\tborderWidth,\n\t\t\t\thoverWidth;\n\n\t\t\tfor (var i = 0; i < length; i++) {\n\t\t\t\tborderWidth = elements[i]._model ? elements[i]._model.borderWidth : 0;\n\t\t\t\thoverWidth = elements[i]._chart ? elements[i]._chart.config.data.datasets[index].hoverBorderWidth : 0;\n\n\t\t\t\tmax = borderWidth > max ? borderWidth : max;\n\t\t\t\tmax = hoverWidth > max ? hoverWidth : max;\n\t\t\t}\n\t\t\treturn max;\n\t\t}\n\t});\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/chart.js/src/controllers/controller.doughnut.js\n// module id = 1186\n// module chunks = 0","'use strict';\n\nmodule.exports = function(Chart) {\n\n\tvar helpers = Chart.helpers;\n\n\tChart.defaults.line = {\n\t\tshowLines: true,\n\t\tspanGaps: false,\n\n\t\thover: {\n\t\t\tmode: 'label'\n\t\t},\n\n\t\tscales: {\n\t\t\txAxes: [{\n\t\t\t\ttype: 'category',\n\t\t\t\tid: 'x-axis-0'\n\t\t\t}],\n\t\t\tyAxes: [{\n\t\t\t\ttype: 'linear',\n\t\t\t\tid: 'y-axis-0'\n\t\t\t}]\n\t\t}\n\t};\n\n\tfunction lineEnabled(dataset, options) {\n\t\treturn helpers.getValueOrDefault(dataset.showLine, options.showLines);\n\t}\n\n\tChart.controllers.line = Chart.DatasetController.extend({\n\n\t\tdatasetElementType: Chart.elements.Line,\n\n\t\tdataElementType: Chart.elements.Point,\n\n\t\tupdate: function(reset) {\n\t\t\tvar me = this;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar line = meta.dataset;\n\t\t\tvar points = meta.data || [];\n\t\t\tvar options = me.chart.options;\n\t\t\tvar lineElementOptions = options.elements.line;\n\t\t\tvar scale = me.getScaleForId(meta.yAxisID);\n\t\t\tvar i, ilen, custom;\n\t\t\tvar dataset = me.getDataset();\n\t\t\tvar showLine = lineEnabled(dataset, options);\n\n\t\t\t// Update Line\n\t\t\tif (showLine) {\n\t\t\t\tcustom = line.custom || {};\n\n\t\t\t\t// Compatibility: If the properties are defined with only the old name, use those values\n\t\t\t\tif ((dataset.tension !== undefined) && (dataset.lineTension === undefined)) {\n\t\t\t\t\tdataset.lineTension = dataset.tension;\n\t\t\t\t}\n\n\t\t\t\t// Utility\n\t\t\t\tline._scale = scale;\n\t\t\t\tline._datasetIndex = me.index;\n\t\t\t\t// Data\n\t\t\t\tline._children = points;\n\t\t\t\t// Model\n\t\t\t\tline._model = {\n\t\t\t\t\t// Appearance\n\t\t\t\t\t// The default behavior of lines is to break at null values, according\n\t\t\t\t\t// to https://github.com/chartjs/Chart.js/issues/2435#issuecomment-216718158\n\t\t\t\t\t// This option gives lines the ability to span gaps\n\t\t\t\t\tspanGaps: dataset.spanGaps ? dataset.spanGaps : options.spanGaps,\n\t\t\t\t\ttension: custom.tension ? custom.tension : helpers.getValueOrDefault(dataset.lineTension, lineElementOptions.tension),\n\t\t\t\t\tbackgroundColor: custom.backgroundColor ? custom.backgroundColor : (dataset.backgroundColor || lineElementOptions.backgroundColor),\n\t\t\t\t\tborderWidth: custom.borderWidth ? custom.borderWidth : (dataset.borderWidth || lineElementOptions.borderWidth),\n\t\t\t\t\tborderColor: custom.borderColor ? custom.borderColor : (dataset.borderColor || lineElementOptions.borderColor),\n\t\t\t\t\tborderCapStyle: custom.borderCapStyle ? custom.borderCapStyle : (dataset.borderCapStyle || lineElementOptions.borderCapStyle),\n\t\t\t\t\tborderDash: custom.borderDash ? custom.borderDash : (dataset.borderDash || lineElementOptions.borderDash),\n\t\t\t\t\tborderDashOffset: custom.borderDashOffset ? custom.borderDashOffset : (dataset.borderDashOffset || lineElementOptions.borderDashOffset),\n\t\t\t\t\tborderJoinStyle: custom.borderJoinStyle ? custom.borderJoinStyle : (dataset.borderJoinStyle || lineElementOptions.borderJoinStyle),\n\t\t\t\t\tfill: custom.fill ? custom.fill : (dataset.fill !== undefined ? dataset.fill : lineElementOptions.fill),\n\t\t\t\t\tsteppedLine: custom.steppedLine ? custom.steppedLine : helpers.getValueOrDefault(dataset.steppedLine, lineElementOptions.stepped),\n\t\t\t\t\tcubicInterpolationMode: custom.cubicInterpolationMode ? custom.cubicInterpolationMode : helpers.getValueOrDefault(dataset.cubicInterpolationMode, lineElementOptions.cubicInterpolationMode),\n\t\t\t\t};\n\n\t\t\t\tline.pivot();\n\t\t\t}\n\n\t\t\t// Update Points\n\t\t\tfor (i=0, ilen=points.length; i<ilen; ++i) {\n\t\t\t\tme.updateElement(points[i], i, reset);\n\t\t\t}\n\n\t\t\tif (showLine && line._model.tension !== 0) {\n\t\t\t\tme.updateBezierControlPoints();\n\t\t\t}\n\n\t\t\t// Now pivot the point for animation\n\t\t\tfor (i=0, ilen=points.length; i<ilen; ++i) {\n\t\t\t\tpoints[i].pivot();\n\t\t\t}\n\t\t},\n\n\t\tgetPointBackgroundColor: function(point, index) {\n\t\t\tvar backgroundColor = this.chart.options.elements.point.backgroundColor;\n\t\t\tvar dataset = this.getDataset();\n\t\t\tvar custom = point.custom || {};\n\n\t\t\tif (custom.backgroundColor) {\n\t\t\t\tbackgroundColor = custom.backgroundColor;\n\t\t\t} else if (dataset.pointBackgroundColor) {\n\t\t\t\tbackgroundColor = helpers.getValueAtIndexOrDefault(dataset.pointBackgroundColor, index, backgroundColor);\n\t\t\t} else if (dataset.backgroundColor) {\n\t\t\t\tbackgroundColor = dataset.backgroundColor;\n\t\t\t}\n\n\t\t\treturn backgroundColor;\n\t\t},\n\n\t\tgetPointBorderColor: function(point, index) {\n\t\t\tvar borderColor = this.chart.options.elements.point.borderColor;\n\t\t\tvar dataset = this.getDataset();\n\t\t\tvar custom = point.custom || {};\n\n\t\t\tif (custom.borderColor) {\n\t\t\t\tborderColor = custom.borderColor;\n\t\t\t} else if (dataset.pointBorderColor) {\n\t\t\t\tborderColor = helpers.getValueAtIndexOrDefault(dataset.pointBorderColor, index, borderColor);\n\t\t\t} else if (dataset.borderColor) {\n\t\t\t\tborderColor = dataset.borderColor;\n\t\t\t}\n\n\t\t\treturn borderColor;\n\t\t},\n\n\t\tgetPointBorderWidth: function(point, index) {\n\t\t\tvar borderWidth = this.chart.options.elements.point.borderWidth;\n\t\t\tvar dataset = this.getDataset();\n\t\t\tvar custom = point.custom || {};\n\n\t\t\tif (!isNaN(custom.borderWidth)) {\n\t\t\t\tborderWidth = custom.borderWidth;\n\t\t\t} else if (!isNaN(dataset.pointBorderWidth)) {\n\t\t\t\tborderWidth = helpers.getValueAtIndexOrDefault(dataset.pointBorderWidth, index, borderWidth);\n\t\t\t} else if (!isNaN(dataset.borderWidth)) {\n\t\t\t\tborderWidth = dataset.borderWidth;\n\t\t\t}\n\n\t\t\treturn borderWidth;\n\t\t},\n\n\t\tupdateElement: function(point, index, reset) {\n\t\t\tvar me = this;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar custom = point.custom || {};\n\t\t\tvar dataset = me.getDataset();\n\t\t\tvar datasetIndex = me.index;\n\t\t\tvar value = dataset.data[index];\n\t\t\tvar yScale = me.getScaleForId(meta.yAxisID);\n\t\t\tvar xScale = me.getScaleForId(meta.xAxisID);\n\t\t\tvar pointOptions = me.chart.options.elements.point;\n\t\t\tvar x, y;\n\t\t\tvar labels = me.chart.data.labels || [];\n\t\t\tvar includeOffset = (labels.length === 1 || dataset.data.length === 1) || me.chart.isCombo;\n\n\t\t\t// Compatibility: If the properties are defined with only the old name, use those values\n\t\t\tif ((dataset.radius !== undefined) && (dataset.pointRadius === undefined)) {\n\t\t\t\tdataset.pointRadius = dataset.radius;\n\t\t\t}\n\t\t\tif ((dataset.hitRadius !== undefined) && (dataset.pointHitRadius === undefined)) {\n\t\t\t\tdataset.pointHitRadius = dataset.hitRadius;\n\t\t\t}\n\n\t\t\tx = xScale.getPixelForValue(typeof value === 'object' ? value : NaN, index, datasetIndex, includeOffset);\n\t\t\ty = reset ? yScale.getBasePixel() : me.calculatePointY(value, index, datasetIndex);\n\n\t\t\t// Utility\n\t\t\tpoint._xScale = xScale;\n\t\t\tpoint._yScale = yScale;\n\t\t\tpoint._datasetIndex = datasetIndex;\n\t\t\tpoint._index = index;\n\n\t\t\t// Desired view properties\n\t\t\tpoint._model = {\n\t\t\t\tx: x,\n\t\t\t\ty: y,\n\t\t\t\tskip: custom.skip || isNaN(x) || isNaN(y),\n\t\t\t\t// Appearance\n\t\t\t\tradius: custom.radius || helpers.getValueAtIndexOrDefault(dataset.pointRadius, index, pointOptions.radius),\n\t\t\t\tpointStyle: custom.pointStyle || helpers.getValueAtIndexOrDefault(dataset.pointStyle, index, pointOptions.pointStyle),\n\t\t\t\tbackgroundColor: me.getPointBackgroundColor(point, index),\n\t\t\t\tborderColor: me.getPointBorderColor(point, index),\n\t\t\t\tborderWidth: me.getPointBorderWidth(point, index),\n\t\t\t\ttension: meta.dataset._model ? meta.dataset._model.tension : 0,\n\t\t\t\tsteppedLine: meta.dataset._model ? meta.dataset._model.steppedLine : false,\n\t\t\t\t// Tooltip\n\t\t\t\thitRadius: custom.hitRadius || helpers.getValueAtIndexOrDefault(dataset.pointHitRadius, index, pointOptions.hitRadius)\n\t\t\t};\n\t\t},\n\n\t\tcalculatePointY: function(value, index, datasetIndex) {\n\t\t\tvar me = this;\n\t\t\tvar chart = me.chart;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar yScale = me.getScaleForId(meta.yAxisID);\n\t\t\tvar sumPos = 0;\n\t\t\tvar sumNeg = 0;\n\t\t\tvar i, ds, dsMeta;\n\n\t\t\tif (yScale.options.stacked) {\n\t\t\t\tfor (i = 0; i < datasetIndex; i++) {\n\t\t\t\t\tds = chart.data.datasets[i];\n\t\t\t\t\tdsMeta = chart.getDatasetMeta(i);\n\t\t\t\t\tif (dsMeta.type === 'line' && dsMeta.yAxisID === yScale.id && chart.isDatasetVisible(i)) {\n\t\t\t\t\t\tvar stackedRightValue = Number(yScale.getRightValue(ds.data[index]));\n\t\t\t\t\t\tif (stackedRightValue < 0) {\n\t\t\t\t\t\t\tsumNeg += stackedRightValue || 0;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsumPos += stackedRightValue || 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tvar rightValue = Number(yScale.getRightValue(value));\n\t\t\t\tif (rightValue < 0) {\n\t\t\t\t\treturn yScale.getPixelForValue(sumNeg + rightValue);\n\t\t\t\t}\n\t\t\t\treturn yScale.getPixelForValue(sumPos + rightValue);\n\t\t\t}\n\n\t\t\treturn yScale.getPixelForValue(value);\n\t\t},\n\n\t\tupdateBezierControlPoints: function() {\n\t\t\tvar me = this;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar area = me.chart.chartArea;\n\t\t\tvar points = (meta.data || []);\n\t\t\tvar i, ilen, point, model, controlPoints;\n\n\t\t\t// Only consider points that are drawn in case the spanGaps option is used\n\t\t\tif (meta.dataset._model.spanGaps) {\n\t\t\t\tpoints = points.filter(function(pt) {\n\t\t\t\t\treturn !pt._model.skip;\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tfunction capControlPoint(pt, min, max) {\n\t\t\t\treturn Math.max(Math.min(pt, max), min);\n\t\t\t}\n\n\t\t\tif (meta.dataset._model.cubicInterpolationMode === 'monotone') {\n\t\t\t\thelpers.splineCurveMonotone(points);\n\t\t\t} else {\n\t\t\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\n\t\t\t\t\tpoint = points[i];\n\t\t\t\t\tmodel = point._model;\n\t\t\t\t\tcontrolPoints = helpers.splineCurve(\n\t\t\t\t\t\thelpers.previousItem(points, i)._model,\n\t\t\t\t\t\tmodel,\n\t\t\t\t\t\thelpers.nextItem(points, i)._model,\n\t\t\t\t\t\tmeta.dataset._model.tension\n\t\t\t\t\t);\n\t\t\t\t\tmodel.controlPointPreviousX = controlPoints.previous.x;\n\t\t\t\t\tmodel.controlPointPreviousY = controlPoints.previous.y;\n\t\t\t\t\tmodel.controlPointNextX = controlPoints.next.x;\n\t\t\t\t\tmodel.controlPointNextY = controlPoints.next.y;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (me.chart.options.elements.line.capBezierPoints) {\n\t\t\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\n\t\t\t\t\tmodel = points[i]._model;\n\t\t\t\t\tmodel.controlPointPreviousX = capControlPoint(model.controlPointPreviousX, area.left, area.right);\n\t\t\t\t\tmodel.controlPointPreviousY = capControlPoint(model.controlPointPreviousY, area.top, area.bottom);\n\t\t\t\t\tmodel.controlPointNextX = capControlPoint(model.controlPointNextX, area.left, area.right);\n\t\t\t\t\tmodel.controlPointNextY = capControlPoint(model.controlPointNextY, area.top, area.bottom);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tdraw: function() {\n\t\t\tvar me = this;\n\t\t\tvar chart = me.chart;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar points = meta.data || [];\n\t\t\tvar area = chart.chartArea;\n\t\t\tvar ilen = points.length;\n\t\t\tvar i = 0;\n\n\t\t\tChart.canvasHelpers.clipArea(chart.ctx, area);\n\n\t\t\tif (lineEnabled(me.getDataset(), chart.options)) {\n\t\t\t\tmeta.dataset.draw();\n\t\t\t}\n\n\t\t\tChart.canvasHelpers.unclipArea(chart.ctx);\n\n\t\t\t// Draw the points\n\t\t\tfor (; i<ilen; ++i) {\n\t\t\t\tpoints[i].draw(area);\n\t\t\t}\n\t\t},\n\n\t\tsetHoverStyle: function(point) {\n\t\t\t// Point\n\t\t\tvar dataset = this.chart.data.datasets[point._datasetIndex];\n\t\t\tvar index = point._index;\n\t\t\tvar custom = point.custom || {};\n\t\t\tvar model = point._model;\n\n\t\t\tmodel.radius = custom.hoverRadius || helpers.getValueAtIndexOrDefault(dataset.pointHoverRadius, index, this.chart.options.elements.point.hoverRadius);\n\t\t\tmodel.backgroundColor = custom.hoverBackgroundColor || helpers.getValueAtIndexOrDefault(dataset.pointHoverBackgroundColor, index, helpers.getHoverColor(model.backgroundColor));\n\t\t\tmodel.borderColor = custom.hoverBorderColor || helpers.getValueAtIndexOrDefault(dataset.pointHoverBorderColor, index, helpers.getHoverColor(model.borderColor));\n\t\t\tmodel.borderWidth = custom.hoverBorderWidth || helpers.getValueAtIndexOrDefault(dataset.pointHoverBorderWidth, index, model.borderWidth);\n\t\t},\n\n\t\tremoveHoverStyle: function(point) {\n\t\t\tvar me = this;\n\t\t\tvar dataset = me.chart.data.datasets[point._datasetIndex];\n\t\t\tvar index = point._index;\n\t\t\tvar custom = point.custom || {};\n\t\t\tvar model = point._model;\n\n\t\t\t// Compatibility: If the properties are defined with only the old name, use those values\n\t\t\tif ((dataset.radius !== undefined) && (dataset.pointRadius === undefined)) {\n\t\t\t\tdataset.pointRadius = dataset.radius;\n\t\t\t}\n\n\t\t\tmodel.radius = custom.radius || helpers.getValueAtIndexOrDefault(dataset.pointRadius, index, me.chart.options.elements.point.radius);\n\t\t\tmodel.backgroundColor = me.getPointBackgroundColor(point, index);\n\t\t\tmodel.borderColor = me.getPointBorderColor(point, index);\n\t\t\tmodel.borderWidth = me.getPointBorderWidth(point, index);\n\t\t}\n\t});\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/chart.js/src/controllers/controller.line.js\n// module id = 1187\n// module chunks = 0","'use strict';\n\nmodule.exports = function(Chart) {\n\n\tvar helpers = Chart.helpers;\n\n\tChart.defaults.polarArea = {\n\n\t\tscale: {\n\t\t\ttype: 'radialLinear',\n\t\t\tangleLines: {\n\t\t\t\tdisplay: false\n\t\t\t},\n\t\t\tgridLines: {\n\t\t\t\tcircular: true\n\t\t\t},\n\t\t\tpointLabels: {\n\t\t\t\tdisplay: false\n\t\t\t},\n\t\t\tticks: {\n\t\t\t\tbeginAtZero: true\n\t\t\t}\n\t\t},\n\n\t\t// Boolean - Whether to animate the rotation of the chart\n\t\tanimation: {\n\t\t\tanimateRotate: true,\n\t\t\tanimateScale: true\n\t\t},\n\n\t\tstartAngle: -0.5 * Math.PI,\n\t\taspectRatio: 1,\n\t\tlegendCallback: function(chart) {\n\t\t\tvar text = [];\n\t\t\ttext.push('<ul class=\"' + chart.id + '-legend\">');\n\n\t\t\tvar data = chart.data;\n\t\t\tvar datasets = data.datasets;\n\t\t\tvar labels = data.labels;\n\n\t\t\tif (datasets.length) {\n\t\t\t\tfor (var i = 0; i < datasets[0].data.length; ++i) {\n\t\t\t\t\ttext.push('<li><span style=\"background-color:' + datasets[0].backgroundColor[i] + '\"></span>');\n\t\t\t\t\tif (labels[i]) {\n\t\t\t\t\t\ttext.push(labels[i]);\n\t\t\t\t\t}\n\t\t\t\t\ttext.push('</li>');\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ttext.push('</ul>');\n\t\t\treturn text.join('');\n\t\t},\n\t\tlegend: {\n\t\t\tlabels: {\n\t\t\t\tgenerateLabels: function(chart) {\n\t\t\t\t\tvar data = chart.data;\n\t\t\t\t\tif (data.labels.length && data.datasets.length) {\n\t\t\t\t\t\treturn data.labels.map(function(label, i) {\n\t\t\t\t\t\t\tvar meta = chart.getDatasetMeta(0);\n\t\t\t\t\t\t\tvar ds = data.datasets[0];\n\t\t\t\t\t\t\tvar arc = meta.data[i];\n\t\t\t\t\t\t\tvar custom = arc.custom || {};\n\t\t\t\t\t\t\tvar getValueAtIndexOrDefault = helpers.getValueAtIndexOrDefault;\n\t\t\t\t\t\t\tvar arcOpts = chart.options.elements.arc;\n\t\t\t\t\t\t\tvar fill = custom.backgroundColor ? custom.backgroundColor : getValueAtIndexOrDefault(ds.backgroundColor, i, arcOpts.backgroundColor);\n\t\t\t\t\t\t\tvar stroke = custom.borderColor ? custom.borderColor : getValueAtIndexOrDefault(ds.borderColor, i, arcOpts.borderColor);\n\t\t\t\t\t\t\tvar bw = custom.borderWidth ? custom.borderWidth : getValueAtIndexOrDefault(ds.borderWidth, i, arcOpts.borderWidth);\n\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\ttext: label,\n\t\t\t\t\t\t\t\tfillStyle: fill,\n\t\t\t\t\t\t\t\tstrokeStyle: stroke,\n\t\t\t\t\t\t\t\tlineWidth: bw,\n\t\t\t\t\t\t\t\thidden: isNaN(ds.data[i]) || meta.data[i].hidden,\n\n\t\t\t\t\t\t\t\t// Extra data used for toggling the correct item\n\t\t\t\t\t\t\t\tindex: i\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\treturn [];\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tonClick: function(e, legendItem) {\n\t\t\t\tvar index = legendItem.index;\n\t\t\t\tvar chart = this.chart;\n\t\t\t\tvar i, ilen, meta;\n\n\t\t\t\tfor (i = 0, ilen = (chart.data.datasets || []).length; i < ilen; ++i) {\n\t\t\t\t\tmeta = chart.getDatasetMeta(i);\n\t\t\t\t\tmeta.data[index].hidden = !meta.data[index].hidden;\n\t\t\t\t}\n\n\t\t\t\tchart.update();\n\t\t\t}\n\t\t},\n\n\t\t// Need to override these to give a nice default\n\t\ttooltips: {\n\t\t\tcallbacks: {\n\t\t\t\ttitle: function() {\n\t\t\t\t\treturn '';\n\t\t\t\t},\n\t\t\t\tlabel: function(tooltipItem, data) {\n\t\t\t\t\treturn data.labels[tooltipItem.index] + ': ' + tooltipItem.yLabel;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\tChart.controllers.polarArea = Chart.DatasetController.extend({\n\n\t\tdataElementType: Chart.elements.Arc,\n\n\t\tlinkScales: helpers.noop,\n\n\t\tupdate: function(reset) {\n\t\t\tvar me = this;\n\t\t\tvar chart = me.chart;\n\t\t\tvar chartArea = chart.chartArea;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar opts = chart.options;\n\t\t\tvar arcOpts = opts.elements.arc;\n\t\t\tvar minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top);\n\t\t\tchart.outerRadius = Math.max((minSize - arcOpts.borderWidth / 2) / 2, 0);\n\t\t\tchart.innerRadius = Math.max(opts.cutoutPercentage ? (chart.outerRadius / 100) * (opts.cutoutPercentage) : 1, 0);\n\t\t\tchart.radiusLength = (chart.outerRadius - chart.innerRadius) / chart.getVisibleDatasetCount();\n\n\t\t\tme.outerRadius = chart.outerRadius - (chart.radiusLength * me.index);\n\t\t\tme.innerRadius = me.outerRadius - chart.radiusLength;\n\n\t\t\tmeta.count = me.countVisibleElements();\n\n\t\t\thelpers.each(meta.data, function(arc, index) {\n\t\t\t\tme.updateElement(arc, index, reset);\n\t\t\t});\n\t\t},\n\n\t\tupdateElement: function(arc, index, reset) {\n\t\t\tvar me = this;\n\t\t\tvar chart = me.chart;\n\t\t\tvar dataset = me.getDataset();\n\t\t\tvar opts = chart.options;\n\t\t\tvar animationOpts = opts.animation;\n\t\t\tvar scale = chart.scale;\n\t\t\tvar getValueAtIndexOrDefault = helpers.getValueAtIndexOrDefault;\n\t\t\tvar labels = chart.data.labels;\n\n\t\t\tvar circumference = me.calculateCircumference(dataset.data[index]);\n\t\t\tvar centerX = scale.xCenter;\n\t\t\tvar centerY = scale.yCenter;\n\n\t\t\t// If there is NaN data before us, we need to calculate the starting angle correctly.\n\t\t\t// We could be way more efficient here, but its unlikely that the polar area chart will have a lot of data\n\t\t\tvar visibleCount = 0;\n\t\t\tvar meta = me.getMeta();\n\t\t\tfor (var i = 0; i < index; ++i) {\n\t\t\t\tif (!isNaN(dataset.data[i]) && !meta.data[i].hidden) {\n\t\t\t\t\t++visibleCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// var negHalfPI = -0.5 * Math.PI;\n\t\t\tvar datasetStartAngle = opts.startAngle;\n\t\t\tvar distance = arc.hidden ? 0 : scale.getDistanceFromCenterForValue(dataset.data[index]);\n\t\t\tvar startAngle = datasetStartAngle + (circumference * visibleCount);\n\t\t\tvar endAngle = startAngle + (arc.hidden ? 0 : circumference);\n\n\t\t\tvar resetRadius = animationOpts.animateScale ? 0 : scale.getDistanceFromCenterForValue(dataset.data[index]);\n\n\t\t\thelpers.extend(arc, {\n\t\t\t\t// Utility\n\t\t\t\t_datasetIndex: me.index,\n\t\t\t\t_index: index,\n\t\t\t\t_scale: scale,\n\n\t\t\t\t// Desired view properties\n\t\t\t\t_model: {\n\t\t\t\t\tx: centerX,\n\t\t\t\t\ty: centerY,\n\t\t\t\t\tinnerRadius: 0,\n\t\t\t\t\touterRadius: reset ? resetRadius : distance,\n\t\t\t\t\tstartAngle: reset && animationOpts.animateRotate ? datasetStartAngle : startAngle,\n\t\t\t\t\tendAngle: reset && animationOpts.animateRotate ? datasetStartAngle : endAngle,\n\t\t\t\t\tlabel: getValueAtIndexOrDefault(labels, index, labels[index])\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// Apply border and fill style\n\t\t\tme.removeHoverStyle(arc);\n\n\t\t\tarc.pivot();\n\t\t},\n\n\t\tremoveHoverStyle: function(arc) {\n\t\t\tChart.DatasetController.prototype.removeHoverStyle.call(this, arc, this.chart.options.elements.arc);\n\t\t},\n\n\t\tcountVisibleElements: function() {\n\t\t\tvar dataset = this.getDataset();\n\t\t\tvar meta = this.getMeta();\n\t\t\tvar count = 0;\n\n\t\t\thelpers.each(meta.data, function(element, index) {\n\t\t\t\tif (!isNaN(dataset.data[index]) && !element.hidden) {\n\t\t\t\t\tcount++;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn count;\n\t\t},\n\n\t\tcalculateCircumference: function(value) {\n\t\t\tvar count = this.getMeta().count;\n\t\t\tif (count > 0 && !isNaN(value)) {\n\t\t\t\treturn (2 * Math.PI) / count;\n\t\t\t}\n\t\t\treturn 0;\n\t\t}\n\t});\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/chart.js/src/controllers/controller.polarArea.js\n// module id = 1188\n// module chunks = 0","'use strict';\n\nmodule.exports = function(Chart) {\n\n\tvar helpers = Chart.helpers;\n\n\tChart.defaults.radar = {\n\t\taspectRatio: 1,\n\t\tscale: {\n\t\t\ttype: 'radialLinear'\n\t\t},\n\t\telements: {\n\t\t\tline: {\n\t\t\t\ttension: 0 // no bezier in radar\n\t\t\t}\n\t\t}\n\t};\n\n\tChart.controllers.radar = Chart.DatasetController.extend({\n\n\t\tdatasetElementType: Chart.elements.Line,\n\n\t\tdataElementType: Chart.elements.Point,\n\n\t\tlinkScales: helpers.noop,\n\n\t\tupdate: function(reset) {\n\t\t\tvar me = this;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar line = meta.dataset;\n\t\t\tvar points = meta.data;\n\t\t\tvar custom = line.custom || {};\n\t\t\tvar dataset = me.getDataset();\n\t\t\tvar lineElementOptions = me.chart.options.elements.line;\n\t\t\tvar scale = me.chart.scale;\n\n\t\t\t// Compatibility: If the properties are defined with only the old name, use those values\n\t\t\tif ((dataset.tension !== undefined) && (dataset.lineTension === undefined)) {\n\t\t\t\tdataset.lineTension = dataset.tension;\n\t\t\t}\n\n\t\t\thelpers.extend(meta.dataset, {\n\t\t\t\t// Utility\n\t\t\t\t_datasetIndex: me.index,\n\t\t\t\t_scale: scale,\n\t\t\t\t// Data\n\t\t\t\t_children: points,\n\t\t\t\t_loop: true,\n\t\t\t\t// Model\n\t\t\t\t_model: {\n\t\t\t\t\t// Appearance\n\t\t\t\t\ttension: custom.tension ? custom.tension : helpers.getValueOrDefault(dataset.lineTension, lineElementOptions.tension),\n\t\t\t\t\tbackgroundColor: custom.backgroundColor ? custom.backgroundColor : (dataset.backgroundColor || lineElementOptions.backgroundColor),\n\t\t\t\t\tborderWidth: custom.borderWidth ? custom.borderWidth : (dataset.borderWidth || lineElementOptions.borderWidth),\n\t\t\t\t\tborderColor: custom.borderColor ? custom.borderColor : (dataset.borderColor || lineElementOptions.borderColor),\n\t\t\t\t\tfill: custom.fill ? custom.fill : (dataset.fill !== undefined ? dataset.fill : lineElementOptions.fill),\n\t\t\t\t\tborderCapStyle: custom.borderCapStyle ? custom.borderCapStyle : (dataset.borderCapStyle || lineElementOptions.borderCapStyle),\n\t\t\t\t\tborderDash: custom.borderDash ? custom.borderDash : (dataset.borderDash || lineElementOptions.borderDash),\n\t\t\t\t\tborderDashOffset: custom.borderDashOffset ? custom.borderDashOffset : (dataset.borderDashOffset || lineElementOptions.borderDashOffset),\n\t\t\t\t\tborderJoinStyle: custom.borderJoinStyle ? custom.borderJoinStyle : (dataset.borderJoinStyle || lineElementOptions.borderJoinStyle),\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tmeta.dataset.pivot();\n\n\t\t\t// Update Points\n\t\t\thelpers.each(points, function(point, index) {\n\t\t\t\tme.updateElement(point, index, reset);\n\t\t\t}, me);\n\n\t\t\t// Update bezier control points\n\t\t\tme.updateBezierControlPoints();\n\t\t},\n\t\tupdateElement: function(point, index, reset) {\n\t\t\tvar me = this;\n\t\t\tvar custom = point.custom || {};\n\t\t\tvar dataset = me.getDataset();\n\t\t\tvar scale = me.chart.scale;\n\t\t\tvar pointElementOptions = me.chart.options.elements.point;\n\t\t\tvar pointPosition = scale.getPointPositionForValue(index, dataset.data[index]);\n\n\t\t\t// Compatibility: If the properties are defined with only the old name, use those values\n\t\t\tif ((dataset.radius !== undefined) && (dataset.pointRadius === undefined)) {\n\t\t\t\tdataset.pointRadius = dataset.radius;\n\t\t\t}\n\t\t\tif ((dataset.hitRadius !== undefined) && (dataset.pointHitRadius === undefined)) {\n\t\t\t\tdataset.pointHitRadius = dataset.hitRadius;\n\t\t\t}\n\n\t\t\thelpers.extend(point, {\n\t\t\t\t// Utility\n\t\t\t\t_datasetIndex: me.index,\n\t\t\t\t_index: index,\n\t\t\t\t_scale: scale,\n\n\t\t\t\t// Desired view properties\n\t\t\t\t_model: {\n\t\t\t\t\tx: reset ? scale.xCenter : pointPosition.x, // value not used in dataset scale, but we want a consistent API between scales\n\t\t\t\t\ty: reset ? scale.yCenter : pointPosition.y,\n\n\t\t\t\t\t// Appearance\n\t\t\t\t\ttension: custom.tension ? custom.tension : helpers.getValueOrDefault(dataset.lineTension, me.chart.options.elements.line.tension),\n\t\t\t\t\tradius: custom.radius ? custom.radius : helpers.getValueAtIndexOrDefault(dataset.pointRadius, index, pointElementOptions.radius),\n\t\t\t\t\tbackgroundColor: custom.backgroundColor ? custom.backgroundColor : helpers.getValueAtIndexOrDefault(dataset.pointBackgroundColor, index, pointElementOptions.backgroundColor),\n\t\t\t\t\tborderColor: custom.borderColor ? custom.borderColor : helpers.getValueAtIndexOrDefault(dataset.pointBorderColor, index, pointElementOptions.borderColor),\n\t\t\t\t\tborderWidth: custom.borderWidth ? custom.borderWidth : helpers.getValueAtIndexOrDefault(dataset.pointBorderWidth, index, pointElementOptions.borderWidth),\n\t\t\t\t\tpointStyle: custom.pointStyle ? custom.pointStyle : helpers.getValueAtIndexOrDefault(dataset.pointStyle, index, pointElementOptions.pointStyle),\n\n\t\t\t\t\t// Tooltip\n\t\t\t\t\thitRadius: custom.hitRadius ? custom.hitRadius : helpers.getValueAtIndexOrDefault(dataset.pointHitRadius, index, pointElementOptions.hitRadius)\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tpoint._model.skip = custom.skip ? custom.skip : (isNaN(point._model.x) || isNaN(point._model.y));\n\t\t},\n\t\tupdateBezierControlPoints: function() {\n\t\t\tvar chartArea = this.chart.chartArea;\n\t\t\tvar meta = this.getMeta();\n\n\t\t\thelpers.each(meta.data, function(point, index) {\n\t\t\t\tvar model = point._model;\n\t\t\t\tvar controlPoints = helpers.splineCurve(\n\t\t\t\t\thelpers.previousItem(meta.data, index, true)._model,\n\t\t\t\t\tmodel,\n\t\t\t\t\thelpers.nextItem(meta.data, index, true)._model,\n\t\t\t\t\tmodel.tension\n\t\t\t\t);\n\n\t\t\t\t// Prevent the bezier going outside of the bounds of the graph\n\t\t\t\tmodel.controlPointPreviousX = Math.max(Math.min(controlPoints.previous.x, chartArea.right), chartArea.left);\n\t\t\t\tmodel.controlPointPreviousY = Math.max(Math.min(controlPoints.previous.y, chartArea.bottom), chartArea.top);\n\n\t\t\t\tmodel.controlPointNextX = Math.max(Math.min(controlPoints.next.x, chartArea.right), chartArea.left);\n\t\t\t\tmodel.controlPointNextY = Math.max(Math.min(controlPoints.next.y, chartArea.bottom), chartArea.top);\n\n\t\t\t\t// Now pivot the point for animation\n\t\t\t\tpoint.pivot();\n\t\t\t});\n\t\t},\n\n\t\tsetHoverStyle: function(point) {\n\t\t\t// Point\n\t\t\tvar dataset = this.chart.data.datasets[point._datasetIndex];\n\t\t\tvar custom = point.custom || {};\n\t\t\tvar index = point._index;\n\t\t\tvar model = point._model;\n\n\t\t\tmodel.radius = custom.hoverRadius ? custom.hoverRadius : helpers.getValueAtIndexOrDefault(dataset.pointHoverRadius, index, this.chart.options.elements.point.hoverRadius);\n\t\t\tmodel.backgroundColor = custom.hoverBackgroundColor ? custom.hoverBackgroundColor : helpers.getValueAtIndexOrDefault(dataset.pointHoverBackgroundColor, index, helpers.getHoverColor(model.backgroundColor));\n\t\t\tmodel.borderColor = custom.hoverBorderColor ? custom.hoverBorderColor : helpers.getValueAtIndexOrDefault(dataset.pointHoverBorderColor, index, helpers.getHoverColor(model.borderColor));\n\t\t\tmodel.borderWidth = custom.hoverBorderWidth ? custom.hoverBorderWidth : helpers.getValueAtIndexOrDefault(dataset.pointHoverBorderWidth, index, model.borderWidth);\n\t\t},\n\n\t\tremoveHoverStyle: function(point) {\n\t\t\tvar dataset = this.chart.data.datasets[point._datasetIndex];\n\t\t\tvar custom = point.custom || {};\n\t\t\tvar index = point._index;\n\t\t\tvar model = point._model;\n\t\t\tvar pointElementOptions = this.chart.options.elements.point;\n\n\t\t\tmodel.radius = custom.radius ? custom.radius : helpers.getValueAtIndexOrDefault(dataset.pointRadius, index, pointElementOptions.radius);\n\t\t\tmodel.backgroundColor = custom.backgroundColor ? custom.backgroundColor : helpers.getValueAtIndexOrDefault(dataset.pointBackgroundColor, index, pointElementOptions.backgroundColor);\n\t\t\tmodel.borderColor = custom.borderColor ? custom.borderColor : helpers.getValueAtIndexOrDefault(dataset.pointBorderColor, index, pointElementOptions.borderColor);\n\t\t\tmodel.borderWidth = custom.borderWidth ? custom.borderWidth : helpers.getValueAtIndexOrDefault(dataset.pointBorderWidth, index, pointElementOptions.borderWidth);\n\t\t}\n\t});\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/chart.js/src/controllers/controller.radar.js\n// module id = 1189\n// module chunks = 0","/* global window: false */\n'use strict';\n\nmodule.exports = function(Chart) {\n\n\tvar helpers = Chart.helpers;\n\n\tChart.defaults.global.animation = {\n\t\tduration: 1000,\n\t\teasing: 'easeOutQuart',\n\t\tonProgress: helpers.noop,\n\t\tonComplete: helpers.noop\n\t};\n\n\tChart.Animation = Chart.Element.extend({\n\t\tchart: null, // the animation associated chart instance\n\t\tcurrentStep: 0, // the current animation step\n\t\tnumSteps: 60, // default number of steps\n\t\teasing: '', // the easing to use for this animation\n\t\trender: null, // render function used by the animation service\n\n\t\tonAnimationProgress: null, // user specified callback to fire on each step of the animation\n\t\tonAnimationComplete: null, // user specified callback to fire when the animation finishes\n\t});\n\n\tChart.animationService = {\n\t\tframeDuration: 17,\n\t\tanimations: [],\n\t\tdropFrames: 0,\n\t\trequest: null,\n\n\t\t/**\n\t\t * @param {Chart} chart - The chart to animate.\n\t\t * @param {Chart.Animation} animation - The animation that we will animate.\n\t\t * @param {Number} duration - The animation duration in ms.\n\t\t * @param {Boolean} lazy - if true, the chart is not marked as animating to enable more responsive interactions\n\t\t */\n\t\taddAnimation: function(chart, animation, duration, lazy) {\n\t\t\tvar animations = this.animations;\n\t\t\tvar i, ilen;\n\n\t\t\tanimation.chart = chart;\n\n\t\t\tif (!lazy) {\n\t\t\t\tchart.animating = true;\n\t\t\t}\n\n\t\t\tfor (i=0, ilen=animations.length; i < ilen; ++i) {\n\t\t\t\tif (animations[i].chart === chart) {\n\t\t\t\t\tanimations[i] = animation;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tanimations.push(animation);\n\n\t\t\t// If there are no animations queued, manually kickstart a digest, for lack of a better word\n\t\t\tif (animations.length === 1) {\n\t\t\t\tthis.requestAnimationFrame();\n\t\t\t}\n\t\t},\n\n\t\tcancelAnimation: function(chart) {\n\t\t\tvar index = helpers.findIndex(this.animations, function(animation) {\n\t\t\t\treturn animation.chart === chart;\n\t\t\t});\n\n\t\t\tif (index !== -1) {\n\t\t\t\tthis.animations.splice(index, 1);\n\t\t\t\tchart.animating = false;\n\t\t\t}\n\t\t},\n\n\t\trequestAnimationFrame: function() {\n\t\t\tvar me = this;\n\t\t\tif (me.request === null) {\n\t\t\t\t// Skip animation frame requests until the active one is executed.\n\t\t\t\t// This can happen when processing mouse events, e.g. 'mousemove'\n\t\t\t\t// and 'mouseout' events will trigger multiple renders.\n\t\t\t\tme.request = helpers.requestAnimFrame.call(window, function() {\n\t\t\t\t\tme.request = null;\n\t\t\t\t\tme.startDigest();\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tstartDigest: function() {\n\t\t\tvar me = this;\n\t\t\tvar startTime = Date.now();\n\t\t\tvar framesToDrop = 0;\n\n\t\t\tif (me.dropFrames > 1) {\n\t\t\t\tframesToDrop = Math.floor(me.dropFrames);\n\t\t\t\tme.dropFrames = me.dropFrames % 1;\n\t\t\t}\n\n\t\t\tme.advance(1 + framesToDrop);\n\n\t\t\tvar endTime = Date.now();\n\n\t\t\tme.dropFrames += (endTime - startTime) / me.frameDuration;\n\n\t\t\t// Do we have more stuff to animate?\n\t\t\tif (me.animations.length > 0) {\n\t\t\t\tme.requestAnimationFrame();\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tadvance: function(count) {\n\t\t\tvar animations = this.animations;\n\t\t\tvar animation, chart;\n\t\t\tvar i = 0;\n\n\t\t\twhile (i < animations.length) {\n\t\t\t\tanimation = animations[i];\n\t\t\t\tchart = animation.chart;\n\n\t\t\t\tanimation.currentStep = (animation.currentStep || 0) + count;\n\t\t\t\tanimation.currentStep = Math.min(animation.currentStep, animation.numSteps);\n\n\t\t\t\thelpers.callback(animation.render, [chart, animation], chart);\n\t\t\t\thelpers.callback(animation.onAnimationProgress, [animation], chart);\n\n\t\t\t\tif (animation.currentStep >= animation.numSteps) {\n\t\t\t\t\thelpers.callback(animation.onAnimationComplete, [animation], chart);\n\t\t\t\t\tchart.animating = false;\n\t\t\t\t\tanimations.splice(i, 1);\n\t\t\t\t} else {\n\t\t\t\t\t++i;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\t/**\n\t * Provided for backward compatibility, use Chart.Animation instead\n\t * @prop Chart.Animation#animationObject\n\t * @deprecated since version 2.6.0\n\t * @todo remove at version 3\n\t */\n\tObject.defineProperty(Chart.Animation.prototype, 'animationObject', {\n\t\tget: function() {\n\t\t\treturn this;\n\t\t}\n\t});\n\n\t/**\n\t * Provided for backward compatibility, use Chart.Animation#chart instead\n\t * @prop Chart.Animation#chartInstance\n\t * @deprecated since version 2.6.0\n\t * @todo remove at version 3\n\t */\n\tObject.defineProperty(Chart.Animation.prototype, 'chartInstance', {\n\t\tget: function() {\n\t\t\treturn this.chart;\n\t\t},\n\t\tset: function(value) {\n\t\t\tthis.chart = value;\n\t\t}\n\t});\n\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/chart.js/src/core/core.animation.js\n// module id = 1190\n// module chunks = 0","'use strict';\n\nmodule.exports = function(Chart) {\n\t// Global Chart canvas helpers object for drawing items to canvas\n\tvar helpers = Chart.canvasHelpers = {};\n\n\thelpers.drawPoint = function(ctx, pointStyle, radius, x, y) {\n\t\tvar type, edgeLength, xOffset, yOffset, height, size;\n\n\t\tif (typeof pointStyle === 'object') {\n\t\t\ttype = pointStyle.toString();\n\t\t\tif (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]') {\n\t\t\t\tctx.drawImage(pointStyle, x - pointStyle.width / 2, y - pointStyle.height / 2, pointStyle.width, pointStyle.height);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif (isNaN(radius) || radius <= 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tswitch (pointStyle) {\n\t\t// Default includes circle\n\t\tdefault:\n\t\t\tctx.beginPath();\n\t\t\tctx.arc(x, y, radius, 0, Math.PI * 2);\n\t\t\tctx.closePath();\n\t\t\tctx.fill();\n\t\t\tbreak;\n\t\tcase 'triangle':\n\t\t\tctx.beginPath();\n\t\t\tedgeLength = 3 * radius / Math.sqrt(3);\n\t\t\theight = edgeLength * Math.sqrt(3) / 2;\n\t\t\tctx.moveTo(x - edgeLength / 2, y + height / 3);\n\t\t\tctx.lineTo(x + edgeLength / 2, y + height / 3);\n\t\t\tctx.lineTo(x, y - 2 * height / 3);\n\t\t\tctx.closePath();\n\t\t\tctx.fill();\n\t\t\tbreak;\n\t\tcase 'rect':\n\t\t\tsize = 1 / Math.SQRT2 * radius;\n\t\t\tctx.beginPath();\n\t\t\tctx.fillRect(x - size, y - size, 2 * size, 2 * size);\n\t\t\tctx.strokeRect(x - size, y - size, 2 * size, 2 * size);\n\t\t\tbreak;\n\t\tcase 'rectRounded':\n\t\t\tvar offset = radius / Math.SQRT2;\n\t\t\tvar leftX = x - offset;\n\t\t\tvar topY = y - offset;\n\t\t\tvar sideSize = Math.SQRT2 * radius;\n\t\t\tChart.helpers.drawRoundedRectangle(ctx, leftX, topY, sideSize, sideSize, radius / 2);\n\t\t\tctx.fill();\n\t\t\tbreak;\n\t\tcase 'rectRot':\n\t\t\tsize = 1 / Math.SQRT2 * radius;\n\t\t\tctx.beginPath();\n\t\t\tctx.moveTo(x - size, y);\n\t\t\tctx.lineTo(x, y + size);\n\t\t\tctx.lineTo(x + size, y);\n\t\t\tctx.lineTo(x, y - size);\n\t\t\tctx.closePath();\n\t\t\tctx.fill();\n\t\t\tbreak;\n\t\tcase 'cross':\n\t\t\tctx.beginPath();\n\t\t\tctx.moveTo(x, y + radius);\n\t\t\tctx.lineTo(x, y - radius);\n\t\t\tctx.moveTo(x - radius, y);\n\t\t\tctx.lineTo(x + radius, y);\n\t\t\tctx.closePath();\n\t\t\tbreak;\n\t\tcase 'crossRot':\n\t\t\tctx.beginPath();\n\t\t\txOffset = Math.cos(Math.PI / 4) * radius;\n\t\t\tyOffset = Math.sin(Math.PI / 4) * radius;\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\n\t\t\tctx.moveTo(x - xOffset, y + yOffset);\n\t\t\tctx.lineTo(x + xOffset, y - yOffset);\n\t\t\tctx.closePath();\n\t\t\tbreak;\n\t\tcase 'star':\n\t\t\tctx.beginPath();\n\t\t\tctx.moveTo(x, y + radius);\n\t\t\tctx.lineTo(x, y - radius);\n\t\t\tctx.moveTo(x - radius, y);\n\t\t\tctx.lineTo(x + radius, y);\n\t\t\txOffset = Math.cos(Math.PI / 4) * radius;\n\t\t\tyOffset = Math.sin(Math.PI / 4) * radius;\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\n\t\t\tctx.moveTo(x - xOffset, y + yOffset);\n\t\t\tctx.lineTo(x + xOffset, y - yOffset);\n\t\t\tctx.closePath();\n\t\t\tbreak;\n\t\tcase 'line':\n\t\t\tctx.beginPath();\n\t\t\tctx.moveTo(x - radius, y);\n\t\t\tctx.lineTo(x + radius, y);\n\t\t\tctx.closePath();\n\t\t\tbreak;\n\t\tcase 'dash':\n\t\t\tctx.beginPath();\n\t\t\tctx.moveTo(x, y);\n\t\t\tctx.lineTo(x + radius, y);\n\t\t\tctx.closePath();\n\t\t\tbreak;\n\t\t}\n\n\t\tctx.stroke();\n\t};\n\n\thelpers.clipArea = function(ctx, clipArea) {\n\t\tctx.save();\n\t\tctx.beginPath();\n\t\tctx.rect(clipArea.left, clipArea.top, clipArea.right - clipArea.left, clipArea.bottom - clipArea.top);\n\t\tctx.clip();\n\t};\n\n\thelpers.unclipArea = function(ctx) {\n\t\tctx.restore();\n\t};\n\n\thelpers.lineTo = function(ctx, previous, target, flip) {\n\t\tif (target.steppedLine) {\n\t\t\tif (target.steppedLine === 'after') {\n\t\t\t\tctx.lineTo(previous.x, target.y);\n\t\t\t} else {\n\t\t\t\tctx.lineTo(target.x, previous.y);\n\t\t\t}\n\t\t\tctx.lineTo(target.x, target.y);\n\t\t\treturn;\n\t\t}\n\n\t\tif (!target.tension) {\n\t\t\tctx.lineTo(target.x, target.y);\n\t\t\treturn;\n\t\t}\n\n\t\tctx.bezierCurveTo(\n\t\t\tflip? previous.controlPointPreviousX : previous.controlPointNextX,\n\t\t\tflip? previous.controlPointPreviousY : previous.controlPointNextY,\n\t\t\tflip? target.controlPointNextX : target.controlPointPreviousX,\n\t\t\tflip? target.controlPointNextY : target.controlPointPreviousY,\n\t\t\ttarget.x,\n\t\t\ttarget.y);\n\t};\n\n\tChart.helpers.canvas = helpers;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/chart.js/src/core/core.canvasHelpers.js\n// module id = 1191\n// module chunks = 0","'use strict';\n\nmodule.exports = function(Chart) {\n\n\tvar helpers = Chart.helpers;\n\tvar plugins = Chart.plugins;\n\tvar platform = Chart.platform;\n\n\t// Create a dictionary of chart types, to allow for extension of existing types\n\tChart.types = {};\n\n\t// Store a reference to each instance - allowing us to globally resize chart instances on window resize.\n\t// Destroy method on the chart will remove the instance of the chart from this reference.\n\tChart.instances = {};\n\n\t// Controllers available for dataset visualization eg. bar, line, slice, etc.\n\tChart.controllers = {};\n\n\t/**\n\t * Initializes the given config with global and chart default values.\n\t */\n\tfunction initConfig(config) {\n\t\tconfig = config || {};\n\n\t\t// Do NOT use configMerge() for the data object because this method merges arrays\n\t\t// and so would change references to labels and datasets, preventing data updates.\n\t\tvar data = config.data = config.data || {};\n\t\tdata.datasets = data.datasets || [];\n\t\tdata.labels = data.labels || [];\n\n\t\tconfig.options = helpers.configMerge(\n\t\t\tChart.defaults.global,\n\t\t\tChart.defaults[config.type],\n\t\t\tconfig.options || {});\n\n\t\treturn config;\n\t}\n\n\t/**\n\t * Updates the config of the chart\n\t * @param chart {Chart} chart to update the options for\n\t */\n\tfunction updateConfig(chart) {\n\t\tvar newOptions = chart.options;\n\n\t\t// Update Scale(s) with options\n\t\tif (newOptions.scale) {\n\t\t\tchart.scale.options = newOptions.scale;\n\t\t} else if (newOptions.scales) {\n\t\t\tnewOptions.scales.xAxes.concat(newOptions.scales.yAxes).forEach(function(scaleOptions) {\n\t\t\t\tchart.scales[scaleOptions.id].options = scaleOptions;\n\t\t\t});\n\t\t}\n\n\t\t// Tooltip\n\t\tchart.tooltip._options = newOptions.tooltips;\n\t}\n\n\tfunction positionIsHorizontal(position) {\n\t\treturn position === 'top' || position === 'bottom';\n\t}\n\n\thelpers.extend(Chart.prototype, /** @lends Chart */ {\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tconstruct: function(item, config) {\n\t\t\tvar me = this;\n\n\t\t\tconfig = initConfig(config);\n\n\t\t\tvar context = platform.acquireContext(item, config);\n\t\t\tvar canvas = context && context.canvas;\n\t\t\tvar height = canvas && canvas.height;\n\t\t\tvar width = canvas && canvas.width;\n\n\t\t\tme.id = helpers.uid();\n\t\t\tme.ctx = context;\n\t\t\tme.canvas = canvas;\n\t\t\tme.config = config;\n\t\t\tme.width = width;\n\t\t\tme.height = height;\n\t\t\tme.aspectRatio = height? width / height : null;\n\t\t\tme.options = config.options;\n\t\t\tme._bufferedRender = false;\n\n\t\t\t/**\n\t\t\t * Provided for backward compatibility, Chart and Chart.Controller have been merged,\n\t\t\t * the \"instance\" still need to be defined since it might be called from plugins.\n\t\t\t * @prop Chart#chart\n\t\t\t * @deprecated since version 2.6.0\n\t\t\t * @todo remove at version 3\n\t\t\t * @private\n\t\t\t */\n\t\t\tme.chart = me;\n\t\t\tme.controller = me;  // chart.chart.controller #inception\n\n\t\t\t// Add the chart instance to the global namespace\n\t\t\tChart.instances[me.id] = me;\n\n\t\t\t// Define alias to the config data: `chart.data === chart.config.data`\n\t\t\tObject.defineProperty(me, 'data', {\n\t\t\t\tget: function() {\n\t\t\t\t\treturn me.config.data;\n\t\t\t\t},\n\t\t\t\tset: function(value) {\n\t\t\t\t\tme.config.data = value;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (!context || !canvas) {\n\t\t\t\t// The given item is not a compatible context2d element, let's return before finalizing\n\t\t\t\t// the chart initialization but after setting basic chart / controller properties that\n\t\t\t\t// can help to figure out that the chart is not valid (e.g chart.canvas !== null);\n\t\t\t\t// https://github.com/chartjs/Chart.js/issues/2807\n\t\t\t\tconsole.error(\"Failed to create chart: can't acquire context from the given item\");\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tme.initialize();\n\t\t\tme.update();\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tinitialize: function() {\n\t\t\tvar me = this;\n\n\t\t\t// Before init plugin notification\n\t\t\tplugins.notify(me, 'beforeInit');\n\n\t\t\thelpers.retinaScale(me);\n\n\t\t\tme.bindEvents();\n\n\t\t\tif (me.options.responsive) {\n\t\t\t\t// Initial resize before chart draws (must be silent to preserve initial animations).\n\t\t\t\tme.resize(true);\n\t\t\t}\n\n\t\t\t// Make sure scales have IDs and are built before we build any controllers.\n\t\t\tme.ensureScalesHaveIDs();\n\t\t\tme.buildScales();\n\t\t\tme.initToolTip();\n\n\t\t\t// After init plugin notification\n\t\t\tplugins.notify(me, 'afterInit');\n\n\t\t\treturn me;\n\t\t},\n\n\t\tclear: function() {\n\t\t\thelpers.clear(this);\n\t\t\treturn this;\n\t\t},\n\n\t\tstop: function() {\n\t\t\t// Stops any current animation loop occurring\n\t\t\tChart.animationService.cancelAnimation(this);\n\t\t\treturn this;\n\t\t},\n\n\t\tresize: function(silent) {\n\t\t\tvar me = this;\n\t\t\tvar options = me.options;\n\t\t\tvar canvas = me.canvas;\n\t\t\tvar aspectRatio = (options.maintainAspectRatio && me.aspectRatio) || null;\n\n\t\t\t// the canvas render width and height will be casted to integers so make sure that\n\t\t\t// the canvas display style uses the same integer values to avoid blurring effect.\n\t\t\tvar newWidth = Math.floor(helpers.getMaximumWidth(canvas));\n\t\t\tvar newHeight = Math.floor(aspectRatio? newWidth / aspectRatio : helpers.getMaximumHeight(canvas));\n\n\t\t\tif (me.width === newWidth && me.height === newHeight) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tcanvas.width = me.width = newWidth;\n\t\t\tcanvas.height = me.height = newHeight;\n\t\t\tcanvas.style.width = newWidth + 'px';\n\t\t\tcanvas.style.height = newHeight + 'px';\n\n\t\t\thelpers.retinaScale(me);\n\n\t\t\tif (!silent) {\n\t\t\t\t// Notify any plugins about the resize\n\t\t\t\tvar newSize = {width: newWidth, height: newHeight};\n\t\t\t\tplugins.notify(me, 'resize', [newSize]);\n\n\t\t\t\t// Notify of resize\n\t\t\t\tif (me.options.onResize) {\n\t\t\t\t\tme.options.onResize(me, newSize);\n\t\t\t\t}\n\n\t\t\t\tme.stop();\n\t\t\t\tme.update(me.options.responsiveAnimationDuration);\n\t\t\t}\n\t\t},\n\n\t\tensureScalesHaveIDs: function() {\n\t\t\tvar options = this.options;\n\t\t\tvar scalesOptions = options.scales || {};\n\t\t\tvar scaleOptions = options.scale;\n\n\t\t\thelpers.each(scalesOptions.xAxes, function(xAxisOptions, index) {\n\t\t\t\txAxisOptions.id = xAxisOptions.id || ('x-axis-' + index);\n\t\t\t});\n\n\t\t\thelpers.each(scalesOptions.yAxes, function(yAxisOptions, index) {\n\t\t\t\tyAxisOptions.id = yAxisOptions.id || ('y-axis-' + index);\n\t\t\t});\n\n\t\t\tif (scaleOptions) {\n\t\t\t\tscaleOptions.id = scaleOptions.id || 'scale';\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Builds a map of scale ID to scale object for future lookup.\n\t\t */\n\t\tbuildScales: function() {\n\t\t\tvar me = this;\n\t\t\tvar options = me.options;\n\t\t\tvar scales = me.scales = {};\n\t\t\tvar items = [];\n\n\t\t\tif (options.scales) {\n\t\t\t\titems = items.concat(\n\t\t\t\t\t(options.scales.xAxes || []).map(function(xAxisOptions) {\n\t\t\t\t\t\treturn {options: xAxisOptions, dtype: 'category', dposition: 'bottom'};\n\t\t\t\t\t}),\n\t\t\t\t\t(options.scales.yAxes || []).map(function(yAxisOptions) {\n\t\t\t\t\t\treturn {options: yAxisOptions, dtype: 'linear', dposition: 'left'};\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (options.scale) {\n\t\t\t\titems.push({\n\t\t\t\t\toptions: options.scale,\n\t\t\t\t\tdtype: 'radialLinear',\n\t\t\t\t\tisDefault: true,\n\t\t\t\t\tdposition: 'chartArea'\n\t\t\t\t});\n\t\t\t}\n\n\t\t\thelpers.each(items, function(item) {\n\t\t\t\tvar scaleOptions = item.options;\n\t\t\t\tvar scaleType = helpers.getValueOrDefault(scaleOptions.type, item.dtype);\n\t\t\t\tvar scaleClass = Chart.scaleService.getScaleConstructor(scaleType);\n\t\t\t\tif (!scaleClass) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (positionIsHorizontal(scaleOptions.position) !== positionIsHorizontal(item.dposition)) {\n\t\t\t\t\tscaleOptions.position = item.dposition;\n\t\t\t\t}\n\n\t\t\t\tvar scale = new scaleClass({\n\t\t\t\t\tid: scaleOptions.id,\n\t\t\t\t\toptions: scaleOptions,\n\t\t\t\t\tctx: me.ctx,\n\t\t\t\t\tchart: me\n\t\t\t\t});\n\n\t\t\t\tscales[scale.id] = scale;\n\n\t\t\t\t// TODO(SB): I think we should be able to remove this custom case (options.scale)\n\t\t\t\t// and consider it as a regular scale part of the \"scales\"\" map only! This would\n\t\t\t\t// make the logic easier and remove some useless? custom code.\n\t\t\t\tif (item.isDefault) {\n\t\t\t\t\tme.scale = scale;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tChart.scaleService.addScalesToLayout(this);\n\t\t},\n\n\t\tbuildOrUpdateControllers: function() {\n\t\t\tvar me = this;\n\t\t\tvar types = [];\n\t\t\tvar newControllers = [];\n\n\t\t\thelpers.each(me.data.datasets, function(dataset, datasetIndex) {\n\t\t\t\tvar meta = me.getDatasetMeta(datasetIndex);\n\t\t\t\tif (!meta.type) {\n\t\t\t\t\tmeta.type = dataset.type || me.config.type;\n\t\t\t\t}\n\n\t\t\t\ttypes.push(meta.type);\n\n\t\t\t\tif (meta.controller) {\n\t\t\t\t\tmeta.controller.updateIndex(datasetIndex);\n\t\t\t\t} else {\n\t\t\t\t\tvar ControllerClass = Chart.controllers[meta.type];\n\t\t\t\t\tif (ControllerClass === undefined) {\n\t\t\t\t\t\tthrow new Error('\"' + meta.type + '\" is not a chart type.');\n\t\t\t\t\t}\n\n\t\t\t\t\tmeta.controller = new ControllerClass(me, datasetIndex);\n\t\t\t\t\tnewControllers.push(meta.controller);\n\t\t\t\t}\n\t\t\t}, me);\n\n\t\t\tif (types.length > 1) {\n\t\t\t\tfor (var i = 1; i < types.length; i++) {\n\t\t\t\t\tif (types[i] !== types[i - 1]) {\n\t\t\t\t\t\tme.isCombo = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn newControllers;\n\t\t},\n\n\t\t/**\n\t\t * Reset the elements of all datasets\n\t\t * @private\n\t\t */\n\t\tresetElements: function() {\n\t\t\tvar me = this;\n\t\t\thelpers.each(me.data.datasets, function(dataset, datasetIndex) {\n\t\t\t\tme.getDatasetMeta(datasetIndex).controller.reset();\n\t\t\t}, me);\n\t\t},\n\n\t\t/**\n\t\t* Resets the chart back to it's state before the initial animation\n\t\t*/\n\t\treset: function() {\n\t\t\tthis.resetElements();\n\t\t\tthis.tooltip.initialize();\n\t\t},\n\n\t\tupdate: function(animationDuration, lazy) {\n\t\t\tvar me = this;\n\n\t\t\tupdateConfig(me);\n\n\t\t\tif (plugins.notify(me, 'beforeUpdate') === false) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// In case the entire data object changed\n\t\t\tme.tooltip._data = me.data;\n\n\t\t\t// Make sure dataset controllers are updated and new controllers are reset\n\t\t\tvar newControllers = me.buildOrUpdateControllers();\n\n\t\t\t// Make sure all dataset controllers have correct meta data counts\n\t\t\thelpers.each(me.data.datasets, function(dataset, datasetIndex) {\n\t\t\t\tme.getDatasetMeta(datasetIndex).controller.buildOrUpdateElements();\n\t\t\t}, me);\n\n\t\t\tme.updateLayout();\n\n\t\t\t// Can only reset the new controllers after the scales have been updated\n\t\t\thelpers.each(newControllers, function(controller) {\n\t\t\t\tcontroller.reset();\n\t\t\t});\n\n\t\t\tme.updateDatasets();\n\n\t\t\t// Do this before render so that any plugins that need final scale updates can use it\n\t\t\tplugins.notify(me, 'afterUpdate');\n\n\t\t\tif (me._bufferedRender) {\n\t\t\t\tme._bufferedRequest = {\n\t\t\t\t\tlazy: lazy,\n\t\t\t\t\tduration: animationDuration\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tme.render(animationDuration, lazy);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Updates the chart layout unless a plugin returns `false` to the `beforeLayout`\n\t\t * hook, in which case, plugins will not be called on `afterLayout`.\n\t\t * @private\n\t\t */\n\t\tupdateLayout: function() {\n\t\t\tvar me = this;\n\n\t\t\tif (plugins.notify(me, 'beforeLayout') === false) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tChart.layoutService.update(this, this.width, this.height);\n\n\t\t\t/**\n\t\t\t * Provided for backward compatibility, use `afterLayout` instead.\n\t\t\t * @method IPlugin#afterScaleUpdate\n\t\t\t * @deprecated since version 2.5.0\n\t\t\t * @todo remove at version 3\n\t\t\t * @private\n\t\t\t */\n\t\t\tplugins.notify(me, 'afterScaleUpdate');\n\t\t\tplugins.notify(me, 'afterLayout');\n\t\t},\n\n\t\t/**\n\t\t * Updates all datasets unless a plugin returns `false` to the `beforeDatasetsUpdate`\n\t\t * hook, in which case, plugins will not be called on `afterDatasetsUpdate`.\n\t\t * @private\n\t\t */\n\t\tupdateDatasets: function() {\n\t\t\tvar me = this;\n\n\t\t\tif (plugins.notify(me, 'beforeDatasetsUpdate') === false) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfor (var i = 0, ilen = me.data.datasets.length; i < ilen; ++i) {\n\t\t\t\tme.updateDataset(i);\n\t\t\t}\n\n\t\t\tplugins.notify(me, 'afterDatasetsUpdate');\n\t\t},\n\n\t\t/**\n\t\t * Updates dataset at index unless a plugin returns `false` to the `beforeDatasetUpdate`\n\t\t * hook, in which case, plugins will not be called on `afterDatasetUpdate`.\n\t\t * @private\n\t\t */\n\t\tupdateDataset: function(index) {\n\t\t\tvar me = this;\n\t\t\tvar meta = me.getDatasetMeta(index);\n\t\t\tvar args = {\n\t\t\t\tmeta: meta,\n\t\t\t\tindex: index\n\t\t\t};\n\n\t\t\tif (plugins.notify(me, 'beforeDatasetUpdate', [args]) === false) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tmeta.controller.update();\n\n\t\t\tplugins.notify(me, 'afterDatasetUpdate', [args]);\n\t\t},\n\n\t\trender: function(duration, lazy) {\n\t\t\tvar me = this;\n\n\t\t\tif (plugins.notify(me, 'beforeRender') === false) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar animationOptions = me.options.animation;\n\t\t\tvar onComplete = function(animation) {\n\t\t\t\tplugins.notify(me, 'afterRender');\n\t\t\t\thelpers.callback(animationOptions && animationOptions.onComplete, [animation], me);\n\t\t\t};\n\n\t\t\tif (animationOptions && ((typeof duration !== 'undefined' && duration !== 0) || (typeof duration === 'undefined' && animationOptions.duration !== 0))) {\n\t\t\t\tvar animation = new Chart.Animation({\n\t\t\t\t\tnumSteps: (duration || animationOptions.duration) / 16.66, // 60 fps\n\t\t\t\t\teasing: animationOptions.easing,\n\n\t\t\t\t\trender: function(chart, animationObject) {\n\t\t\t\t\t\tvar easingFunction = helpers.easingEffects[animationObject.easing];\n\t\t\t\t\t\tvar currentStep = animationObject.currentStep;\n\t\t\t\t\t\tvar stepDecimal = currentStep / animationObject.numSteps;\n\n\t\t\t\t\t\tchart.draw(easingFunction(stepDecimal), stepDecimal, currentStep);\n\t\t\t\t\t},\n\n\t\t\t\t\tonAnimationProgress: animationOptions.onProgress,\n\t\t\t\t\tonAnimationComplete: onComplete\n\t\t\t\t});\n\n\t\t\t\tChart.animationService.addAnimation(me, animation, duration, lazy);\n\t\t\t} else {\n\t\t\t\tme.draw();\n\n\t\t\t\t// See https://github.com/chartjs/Chart.js/issues/3781\n\t\t\t\tonComplete(new Chart.Animation({numSteps: 0, chart: me}));\n\t\t\t}\n\n\t\t\treturn me;\n\t\t},\n\n\t\tdraw: function(easingValue) {\n\t\t\tvar me = this;\n\n\t\t\tme.clear();\n\n\t\t\tif (easingValue === undefined || easingValue === null) {\n\t\t\t\teasingValue = 1;\n\t\t\t}\n\n\t\t\tme.transition(easingValue);\n\n\t\t\tif (plugins.notify(me, 'beforeDraw', [easingValue]) === false) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Draw all the scales\n\t\t\thelpers.each(me.boxes, function(box) {\n\t\t\t\tbox.draw(me.chartArea);\n\t\t\t}, me);\n\n\t\t\tif (me.scale) {\n\t\t\t\tme.scale.draw();\n\t\t\t}\n\n\t\t\tme.drawDatasets(easingValue);\n\n\t\t\t// Finally draw the tooltip\n\t\t\tme.tooltip.draw();\n\n\t\t\tplugins.notify(me, 'afterDraw', [easingValue]);\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\ttransition: function(easingValue) {\n\t\t\tvar me = this;\n\n\t\t\tfor (var i=0, ilen=(me.data.datasets || []).length; i<ilen; ++i) {\n\t\t\t\tif (me.isDatasetVisible(i)) {\n\t\t\t\t\tme.getDatasetMeta(i).controller.transition(easingValue);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tme.tooltip.transition(easingValue);\n\t\t},\n\n\t\t/**\n\t\t * Draws all datasets unless a plugin returns `false` to the `beforeDatasetsDraw`\n\t\t * hook, in which case, plugins will not be called on `afterDatasetsDraw`.\n\t\t * @private\n\t\t */\n\t\tdrawDatasets: function(easingValue) {\n\t\t\tvar me = this;\n\n\t\t\tif (plugins.notify(me, 'beforeDatasetsDraw', [easingValue]) === false) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Draw datasets reversed to support proper line stacking\n\t\t\tfor (var i=(me.data.datasets || []).length - 1; i >= 0; --i) {\n\t\t\t\tif (me.isDatasetVisible(i)) {\n\t\t\t\t\tme.drawDataset(i, easingValue);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tplugins.notify(me, 'afterDatasetsDraw', [easingValue]);\n\t\t},\n\n\t\t/**\n\t\t * Draws dataset at index unless a plugin returns `false` to the `beforeDatasetDraw`\n\t\t * hook, in which case, plugins will not be called on `afterDatasetDraw`.\n\t\t * @private\n\t\t */\n\t\tdrawDataset: function(index, easingValue) {\n\t\t\tvar me = this;\n\t\t\tvar meta = me.getDatasetMeta(index);\n\t\t\tvar args = {\n\t\t\t\tmeta: meta,\n\t\t\t\tindex: index,\n\t\t\t\teasingValue: easingValue\n\t\t\t};\n\n\t\t\tif (plugins.notify(me, 'beforeDatasetDraw', [args]) === false) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tmeta.controller.draw(easingValue);\n\n\t\t\tplugins.notify(me, 'afterDatasetDraw', [args]);\n\t\t},\n\n\t\t// Get the single element that was clicked on\n\t\t// @return : An object containing the dataset index and element index of the matching element. Also contains the rectangle that was draw\n\t\tgetElementAtEvent: function(e) {\n\t\t\treturn Chart.Interaction.modes.single(this, e);\n\t\t},\n\n\t\tgetElementsAtEvent: function(e) {\n\t\t\treturn Chart.Interaction.modes.label(this, e, {intersect: true});\n\t\t},\n\n\t\tgetElementsAtXAxis: function(e) {\n\t\t\treturn Chart.Interaction.modes['x-axis'](this, e, {intersect: true});\n\t\t},\n\n\t\tgetElementsAtEventForMode: function(e, mode, options) {\n\t\t\tvar method = Chart.Interaction.modes[mode];\n\t\t\tif (typeof method === 'function') {\n\t\t\t\treturn method(this, e, options);\n\t\t\t}\n\n\t\t\treturn [];\n\t\t},\n\n\t\tgetDatasetAtEvent: function(e) {\n\t\t\treturn Chart.Interaction.modes.dataset(this, e, {intersect: true});\n\t\t},\n\n\t\tgetDatasetMeta: function(datasetIndex) {\n\t\t\tvar me = this;\n\t\t\tvar dataset = me.data.datasets[datasetIndex];\n\t\t\tif (!dataset._meta) {\n\t\t\t\tdataset._meta = {};\n\t\t\t}\n\n\t\t\tvar meta = dataset._meta[me.id];\n\t\t\tif (!meta) {\n\t\t\t\tmeta = dataset._meta[me.id] = {\n\t\t\t\t\ttype: null,\n\t\t\t\t\tdata: [],\n\t\t\t\t\tdataset: null,\n\t\t\t\t\tcontroller: null,\n\t\t\t\t\thidden: null,\t\t\t// See isDatasetVisible() comment\n\t\t\t\t\txAxisID: null,\n\t\t\t\t\tyAxisID: null\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn meta;\n\t\t},\n\n\t\tgetVisibleDatasetCount: function() {\n\t\t\tvar count = 0;\n\t\t\tfor (var i = 0, ilen = this.data.datasets.length; i<ilen; ++i) {\n\t\t\t\tif (this.isDatasetVisible(i)) {\n\t\t\t\t\tcount++;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn count;\n\t\t},\n\n\t\tisDatasetVisible: function(datasetIndex) {\n\t\t\tvar meta = this.getDatasetMeta(datasetIndex);\n\n\t\t\t// meta.hidden is a per chart dataset hidden flag override with 3 states: if true or false,\n\t\t\t// the dataset.hidden value is ignored, else if null, the dataset hidden state is returned.\n\t\t\treturn typeof meta.hidden === 'boolean'? !meta.hidden : !this.data.datasets[datasetIndex].hidden;\n\t\t},\n\n\t\tgenerateLegend: function() {\n\t\t\treturn this.options.legendCallback(this);\n\t\t},\n\n\t\tdestroy: function() {\n\t\t\tvar me = this;\n\t\t\tvar canvas = me.canvas;\n\t\t\tvar meta, i, ilen;\n\n\t\t\tme.stop();\n\n\t\t\t// dataset controllers need to cleanup associated data\n\t\t\tfor (i = 0, ilen = me.data.datasets.length; i < ilen; ++i) {\n\t\t\t\tmeta = me.getDatasetMeta(i);\n\t\t\t\tif (meta.controller) {\n\t\t\t\t\tmeta.controller.destroy();\n\t\t\t\t\tmeta.controller = null;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (canvas) {\n\t\t\t\tme.unbindEvents();\n\t\t\t\thelpers.clear(me);\n\t\t\t\tplatform.releaseContext(me.ctx);\n\t\t\t\tme.canvas = null;\n\t\t\t\tme.ctx = null;\n\t\t\t}\n\n\t\t\tplugins.notify(me, 'destroy');\n\n\t\t\tdelete Chart.instances[me.id];\n\t\t},\n\n\t\ttoBase64Image: function() {\n\t\t\treturn this.canvas.toDataURL.apply(this.canvas, arguments);\n\t\t},\n\n\t\tinitToolTip: function() {\n\t\t\tvar me = this;\n\t\t\tme.tooltip = new Chart.Tooltip({\n\t\t\t\t_chart: me,\n\t\t\t\t_chartInstance: me,            // deprecated, backward compatibility\n\t\t\t\t_data: me.data,\n\t\t\t\t_options: me.options.tooltips\n\t\t\t}, me);\n\t\t\tme.tooltip.initialize();\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tbindEvents: function() {\n\t\t\tvar me = this;\n\t\t\tvar listeners = me._listeners = {};\n\t\t\tvar listener = function() {\n\t\t\t\tme.eventHandler.apply(me, arguments);\n\t\t\t};\n\n\t\t\thelpers.each(me.options.events, function(type) {\n\t\t\t\tplatform.addEventListener(me, type, listener);\n\t\t\t\tlisteners[type] = listener;\n\t\t\t});\n\n\t\t\t// Responsiveness is currently based on the use of an iframe, however this method causes\n\t\t\t// performance issues and could be troublesome when used with ad blockers. So make sure\n\t\t\t// that the user is still able to create a chart without iframe when responsive is false.\n\t\t\t// See https://github.com/chartjs/Chart.js/issues/2210\n\t\t\tif (me.options.responsive) {\n\t\t\t\tlistener = function() {\n\t\t\t\t\tme.resize();\n\t\t\t\t};\n\n\t\t\t\tplatform.addEventListener(me, 'resize', listener);\n\t\t\t\tlisteners.resize = listener;\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tunbindEvents: function() {\n\t\t\tvar me = this;\n\t\t\tvar listeners = me._listeners;\n\t\t\tif (!listeners) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tdelete me._listeners;\n\t\t\thelpers.each(listeners, function(listener, type) {\n\t\t\t\tplatform.removeEventListener(me, type, listener);\n\t\t\t});\n\t\t},\n\n\t\tupdateHoverStyle: function(elements, mode, enabled) {\n\t\t\tvar method = enabled? 'setHoverStyle' : 'removeHoverStyle';\n\t\t\tvar element, i, ilen;\n\n\t\t\tfor (i=0, ilen=elements.length; i<ilen; ++i) {\n\t\t\t\telement = elements[i];\n\t\t\t\tif (element) {\n\t\t\t\t\tthis.getDatasetMeta(element._datasetIndex).controller[method](element);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\teventHandler: function(e) {\n\t\t\tvar me = this;\n\t\t\tvar tooltip = me.tooltip;\n\n\t\t\tif (plugins.notify(me, 'beforeEvent', [e]) === false) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Buffer any update calls so that renders do not occur\n\t\t\tme._bufferedRender = true;\n\t\t\tme._bufferedRequest = null;\n\n\t\t\tvar changed = me.handleEvent(e);\n\t\t\tchanged |= tooltip && tooltip.handleEvent(e);\n\n\t\t\tplugins.notify(me, 'afterEvent', [e]);\n\n\t\t\tvar bufferedRequest = me._bufferedRequest;\n\t\t\tif (bufferedRequest) {\n\t\t\t\t// If we have an update that was triggered, we need to do a normal render\n\t\t\t\tme.render(bufferedRequest.duration, bufferedRequest.lazy);\n\t\t\t} else if (changed && !me.animating) {\n\t\t\t\t// If entering, leaving, or changing elements, animate the change via pivot\n\t\t\t\tme.stop();\n\n\t\t\t\t// We only need to render at this point. Updating will cause scales to be\n\t\t\t\t// recomputed generating flicker & using more memory than necessary.\n\t\t\t\tme.render(me.options.hover.animationDuration, true);\n\t\t\t}\n\n\t\t\tme._bufferedRender = false;\n\t\t\tme._bufferedRequest = null;\n\n\t\t\treturn me;\n\t\t},\n\n\t\t/**\n\t\t * Handle an event\n\t\t * @private\n\t\t * @param {IEvent} event the event to handle\n\t\t * @return {Boolean} true if the chart needs to re-render\n\t\t */\n\t\thandleEvent: function(e) {\n\t\t\tvar me = this;\n\t\t\tvar options = me.options || {};\n\t\t\tvar hoverOptions = options.hover;\n\t\t\tvar changed = false;\n\n\t\t\tme.lastActive = me.lastActive || [];\n\n\t\t\t// Find Active Elements for hover and tooltips\n\t\t\tif (e.type === 'mouseout') {\n\t\t\t\tme.active = [];\n\t\t\t} else {\n\t\t\t\tme.active = me.getElementsAtEventForMode(e, hoverOptions.mode, hoverOptions);\n\t\t\t}\n\n\t\t\t// On Hover hook\n\t\t\tif (hoverOptions.onHover) {\n\t\t\t\t// Need to call with native event here to not break backwards compatibility\n\t\t\t\thoverOptions.onHover.call(me, e.native, me.active);\n\t\t\t}\n\n\t\t\tif (e.type === 'mouseup' || e.type === 'click') {\n\t\t\t\tif (options.onClick) {\n\t\t\t\t\t// Use e.native here for backwards compatibility\n\t\t\t\t\toptions.onClick.call(me, e.native, me.active);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Remove styling for last active (even if it may still be active)\n\t\t\tif (me.lastActive.length) {\n\t\t\t\tme.updateHoverStyle(me.lastActive, hoverOptions.mode, false);\n\t\t\t}\n\n\t\t\t// Built in hover styling\n\t\t\tif (me.active.length && hoverOptions.mode) {\n\t\t\t\tme.updateHoverStyle(me.active, hoverOptions.mode, true);\n\t\t\t}\n\n\t\t\tchanged = !helpers.arrayEquals(me.active, me.lastActive);\n\n\t\t\t// Remember Last Actives\n\t\t\tme.lastActive = me.active;\n\n\t\t\treturn changed;\n\t\t}\n\t});\n\n\t/**\n\t * Provided for backward compatibility, use Chart instead.\n\t * @class Chart.Controller\n\t * @deprecated since version 2.6.0\n\t * @todo remove at version 3\n\t * @private\n\t */\n\tChart.Controller = Chart;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/chart.js/src/core/core.controller.js\n// module id = 1192\n// module chunks = 0","'use strict';\n\nmodule.exports = function(Chart) {\n\n\tvar helpers = Chart.helpers;\n\n\tvar arrayEvents = ['push', 'pop', 'shift', 'splice', 'unshift'];\n\n\t/**\n\t * Hooks the array methods that add or remove values ('push', pop', 'shift', 'splice',\n\t * 'unshift') and notify the listener AFTER the array has been altered. Listeners are\n\t * called on the 'onData*' callbacks (e.g. onDataPush, etc.) with same arguments.\n\t */\n\tfunction listenArrayEvents(array, listener) {\n\t\tif (array._chartjs) {\n\t\t\tarray._chartjs.listeners.push(listener);\n\t\t\treturn;\n\t\t}\n\n\t\tObject.defineProperty(array, '_chartjs', {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: false,\n\t\t\tvalue: {\n\t\t\t\tlisteners: [listener]\n\t\t\t}\n\t\t});\n\n\t\tarrayEvents.forEach(function(key) {\n\t\t\tvar method = 'onData' + key.charAt(0).toUpperCase() + key.slice(1);\n\t\t\tvar base = array[key];\n\n\t\t\tObject.defineProperty(array, key, {\n\t\t\t\tconfigurable: true,\n\t\t\t\tenumerable: false,\n\t\t\t\tvalue: function() {\n\t\t\t\t\tvar args = Array.prototype.slice.call(arguments);\n\t\t\t\t\tvar res = base.apply(this, args);\n\n\t\t\t\t\thelpers.each(array._chartjs.listeners, function(object) {\n\t\t\t\t\t\tif (typeof object[method] === 'function') {\n\t\t\t\t\t\t\tobject[method].apply(object, args);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\treturn res;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * Removes the given array event listener and cleanup extra attached properties (such as\n\t * the _chartjs stub and overridden methods) if array doesn't have any more listeners.\n\t */\n\tfunction unlistenArrayEvents(array, listener) {\n\t\tvar stub = array._chartjs;\n\t\tif (!stub) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar listeners = stub.listeners;\n\t\tvar index = listeners.indexOf(listener);\n\t\tif (index !== -1) {\n\t\t\tlisteners.splice(index, 1);\n\t\t}\n\n\t\tif (listeners.length > 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tarrayEvents.forEach(function(key) {\n\t\t\tdelete array[key];\n\t\t});\n\n\t\tdelete array._chartjs;\n\t}\n\n\t// Base class for all dataset controllers (line, bar, etc)\n\tChart.DatasetController = function(chart, datasetIndex) {\n\t\tthis.initialize(chart, datasetIndex);\n\t};\n\n\thelpers.extend(Chart.DatasetController.prototype, {\n\n\t\t/**\n\t\t * Element type used to generate a meta dataset (e.g. Chart.element.Line).\n\t\t * @type {Chart.core.element}\n\t\t */\n\t\tdatasetElementType: null,\n\n\t\t/**\n\t\t * Element type used to generate a meta data (e.g. Chart.element.Point).\n\t\t * @type {Chart.core.element}\n\t\t */\n\t\tdataElementType: null,\n\n\t\tinitialize: function(chart, datasetIndex) {\n\t\t\tvar me = this;\n\t\t\tme.chart = chart;\n\t\t\tme.index = datasetIndex;\n\t\t\tme.linkScales();\n\t\t\tme.addElements();\n\t\t},\n\n\t\tupdateIndex: function(datasetIndex) {\n\t\t\tthis.index = datasetIndex;\n\t\t},\n\n\t\tlinkScales: function() {\n\t\t\tvar me = this;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar dataset = me.getDataset();\n\n\t\t\tif (meta.xAxisID === null) {\n\t\t\t\tmeta.xAxisID = dataset.xAxisID || me.chart.options.scales.xAxes[0].id;\n\t\t\t}\n\t\t\tif (meta.yAxisID === null) {\n\t\t\t\tmeta.yAxisID = dataset.yAxisID || me.chart.options.scales.yAxes[0].id;\n\t\t\t}\n\t\t},\n\n\t\tgetDataset: function() {\n\t\t\treturn this.chart.data.datasets[this.index];\n\t\t},\n\n\t\tgetMeta: function() {\n\t\t\treturn this.chart.getDatasetMeta(this.index);\n\t\t},\n\n\t\tgetScaleForId: function(scaleID) {\n\t\t\treturn this.chart.scales[scaleID];\n\t\t},\n\n\t\treset: function() {\n\t\t\tthis.update(true);\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tdestroy: function() {\n\t\t\tif (this._data) {\n\t\t\t\tunlistenArrayEvents(this._data, this);\n\t\t\t}\n\t\t},\n\n\t\tcreateMetaDataset: function() {\n\t\t\tvar me = this;\n\t\t\tvar type = me.datasetElementType;\n\t\t\treturn type && new type({\n\t\t\t\t_chart: me.chart,\n\t\t\t\t_datasetIndex: me.index\n\t\t\t});\n\t\t},\n\n\t\tcreateMetaData: function(index) {\n\t\t\tvar me = this;\n\t\t\tvar type = me.dataElementType;\n\t\t\treturn type && new type({\n\t\t\t\t_chart: me.chart,\n\t\t\t\t_datasetIndex: me.index,\n\t\t\t\t_index: index\n\t\t\t});\n\t\t},\n\n\t\taddElements: function() {\n\t\t\tvar me = this;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar data = me.getDataset().data || [];\n\t\t\tvar metaData = meta.data;\n\t\t\tvar i, ilen;\n\n\t\t\tfor (i=0, ilen=data.length; i<ilen; ++i) {\n\t\t\t\tmetaData[i] = metaData[i] || me.createMetaData(i);\n\t\t\t}\n\n\t\t\tmeta.dataset = meta.dataset || me.createMetaDataset();\n\t\t},\n\n\t\taddElementAndReset: function(index) {\n\t\t\tvar element = this.createMetaData(index);\n\t\t\tthis.getMeta().data.splice(index, 0, element);\n\t\t\tthis.updateElement(element, index, true);\n\t\t},\n\n\t\tbuildOrUpdateElements: function() {\n\t\t\tvar me = this;\n\t\t\tvar dataset = me.getDataset();\n\t\t\tvar data = dataset.data || (dataset.data = []);\n\n\t\t\t// In order to correctly handle data addition/deletion animation (an thus simulate\n\t\t\t// real-time charts), we need to monitor these data modifications and synchronize\n\t\t\t// the internal meta data accordingly.\n\t\t\tif (me._data !== data) {\n\t\t\t\tif (me._data) {\n\t\t\t\t\t// This case happens when the user replaced the data array instance.\n\t\t\t\t\tunlistenArrayEvents(me._data, me);\n\t\t\t\t}\n\n\t\t\t\tlistenArrayEvents(data, me);\n\t\t\t\tme._data = data;\n\t\t\t}\n\n\t\t\t// Re-sync meta data in case the user replaced the data array or if we missed\n\t\t\t// any updates and so make sure that we handle number of datapoints changing.\n\t\t\tme.resyncElements();\n\t\t},\n\n\t\tupdate: helpers.noop,\n\n\t\ttransition: function(easingValue) {\n\t\t\tvar meta = this.getMeta();\n\t\t\tvar elements = meta.data || [];\n\t\t\tvar ilen = elements.length;\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i<ilen; ++i) {\n\t\t\t\telements[i].transition(easingValue);\n\t\t\t}\n\n\t\t\tif (meta.dataset) {\n\t\t\t\tmeta.dataset.transition(easingValue);\n\t\t\t}\n\t\t},\n\n\t\tdraw: function() {\n\t\t\tvar meta = this.getMeta();\n\t\t\tvar elements = meta.data || [];\n\t\t\tvar ilen = elements.length;\n\t\t\tvar i = 0;\n\n\t\t\tif (meta.dataset) {\n\t\t\t\tmeta.dataset.draw();\n\t\t\t}\n\n\t\t\tfor (; i<ilen; ++i) {\n\t\t\t\telements[i].draw();\n\t\t\t}\n\t\t},\n\n\t\tremoveHoverStyle: function(element, elementOpts) {\n\t\t\tvar dataset = this.chart.data.datasets[element._datasetIndex],\n\t\t\t\tindex = element._index,\n\t\t\t\tcustom = element.custom || {},\n\t\t\t\tvalueOrDefault = helpers.getValueAtIndexOrDefault,\n\t\t\t\tmodel = element._model;\n\n\t\t\tmodel.backgroundColor = custom.backgroundColor ? custom.backgroundColor : valueOrDefault(dataset.backgroundColor, index, elementOpts.backgroundColor);\n\t\t\tmodel.borderColor = custom.borderColor ? custom.borderColor : valueOrDefault(dataset.borderColor, index, elementOpts.borderColor);\n\t\t\tmodel.borderWidth = custom.borderWidth ? custom.borderWidth : valueOrDefault(dataset.borderWidth, index, elementOpts.borderWidth);\n\t\t},\n\n\t\tsetHoverStyle: function(element) {\n\t\t\tvar dataset = this.chart.data.datasets[element._datasetIndex],\n\t\t\t\tindex = element._index,\n\t\t\t\tcustom = element.custom || {},\n\t\t\t\tvalueOrDefault = helpers.getValueAtIndexOrDefault,\n\t\t\t\tgetHoverColor = helpers.getHoverColor,\n\t\t\t\tmodel = element._model;\n\n\t\t\tmodel.backgroundColor = custom.hoverBackgroundColor ? custom.hoverBackgroundColor : valueOrDefault(dataset.hoverBackgroundColor, index, getHoverColor(model.backgroundColor));\n\t\t\tmodel.borderColor = custom.hoverBorderColor ? custom.hoverBorderColor : valueOrDefault(dataset.hoverBorderColor, index, getHoverColor(model.borderColor));\n\t\t\tmodel.borderWidth = custom.hoverBorderWidth ? custom.hoverBorderWidth : valueOrDefault(dataset.hoverBorderWidth, index, model.borderWidth);\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tresyncElements: function() {\n\t\t\tvar me = this;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar data = me.getDataset().data;\n\t\t\tvar numMeta = meta.data.length;\n\t\t\tvar numData = data.length;\n\n\t\t\tif (numData < numMeta) {\n\t\t\t\tmeta.data.splice(numData, numMeta - numData);\n\t\t\t} else if (numData > numMeta) {\n\t\t\t\tme.insertElements(numMeta, numData - numMeta);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tinsertElements: function(start, count) {\n\t\t\tfor (var i=0; i<count; ++i) {\n\t\t\t\tthis.addElementAndReset(start + i);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tonDataPush: function() {\n\t\t\tthis.insertElements(this.getDataset().data.length-1, arguments.length);\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tonDataPop: function() {\n\t\t\tthis.getMeta().data.pop();\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tonDataShift: function() {\n\t\t\tthis.getMeta().data.shift();\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tonDataSplice: function(start, count) {\n\t\t\tthis.getMeta().data.splice(start, count);\n\t\t\tthis.insertElements(start, arguments.length - 2);\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tonDataUnshift: function() {\n\t\t\tthis.insertElements(0, arguments.length);\n\t\t}\n\t});\n\n\tChart.DatasetController.extend = helpers.inherits;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/chart.js/src/core/core.datasetController.js\n// module id = 1193\n// module chunks = 0","'use strict';\n\nvar color = require('chartjs-color');\n\nmodule.exports = function(Chart) {\n\n\tvar helpers = Chart.helpers;\n\n\tfunction interpolate(start, view, model, ease) {\n\t\tvar keys = Object.keys(model);\n\t\tvar i, ilen, key, actual, origin, target, type, c0, c1;\n\n\t\tfor (i=0, ilen=keys.length; i<ilen; ++i) {\n\t\t\tkey = keys[i];\n\n\t\t\ttarget = model[key];\n\n\t\t\t// if a value is added to the model after pivot() has been called, the view\n\t\t\t// doesn't contain it, so let's initialize the view to the target value.\n\t\t\tif (!view.hasOwnProperty(key)) {\n\t\t\t\tview[key] = target;\n\t\t\t}\n\n\t\t\tactual = view[key];\n\n\t\t\tif (actual === target || key[0] === '_') {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (!start.hasOwnProperty(key)) {\n\t\t\t\tstart[key] = actual;\n\t\t\t}\n\n\t\t\torigin = start[key];\n\n\t\t\ttype = typeof(target);\n\n\t\t\tif (type === typeof(origin)) {\n\t\t\t\tif (type === 'string') {\n\t\t\t\t\tc0 = color(origin);\n\t\t\t\t\tif (c0.valid) {\n\t\t\t\t\t\tc1 = color(target);\n\t\t\t\t\t\tif (c1.valid) {\n\t\t\t\t\t\t\tview[key] = c1.mix(c0, ease).rgbString();\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else if (type === 'number' && isFinite(origin) && isFinite(target)) {\n\t\t\t\t\tview[key] = origin + (target - origin) * ease;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tview[key] = target;\n\t\t}\n\t}\n\n\tChart.elements = {};\n\n\tChart.Element = function(configuration) {\n\t\thelpers.extend(this, configuration);\n\t\tthis.initialize.apply(this, arguments);\n\t};\n\n\thelpers.extend(Chart.Element.prototype, {\n\n\t\tinitialize: function() {\n\t\t\tthis.hidden = false;\n\t\t},\n\n\t\tpivot: function() {\n\t\t\tvar me = this;\n\t\t\tif (!me._view) {\n\t\t\t\tme._view = helpers.clone(me._model);\n\t\t\t}\n\t\t\tme._start = {};\n\t\t\treturn me;\n\t\t},\n\n\t\ttransition: function(ease) {\n\t\t\tvar me = this;\n\t\t\tvar model = me._model;\n\t\t\tvar start = me._start;\n\t\t\tvar view = me._view;\n\n\t\t\t// No animation -> No Transition\n\t\t\tif (!model || ease === 1) {\n\t\t\t\tme._view = model;\n\t\t\t\tme._start = null;\n\t\t\t\treturn me;\n\t\t\t}\n\n\t\t\tif (!view) {\n\t\t\t\tview = me._view = {};\n\t\t\t}\n\n\t\t\tif (!start) {\n\t\t\t\tstart = me._start = {};\n\t\t\t}\n\n\t\t\tinterpolate(start, view, model, ease);\n\n\t\t\treturn me;\n\t\t},\n\n\t\ttooltipPosition: function() {\n\t\t\treturn {\n\t\t\t\tx: this._model.x,\n\t\t\t\ty: this._model.y\n\t\t\t};\n\t\t},\n\n\t\thasValue: function() {\n\t\t\treturn helpers.isNumber(this._model.x) && helpers.isNumber(this._model.y);\n\t\t}\n\t});\n\n\tChart.Element.extend = helpers.inherits;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/chart.js/src/core/core.element.js\n// module id = 1194\n// module chunks = 0","/* global window: false */\n/* global document: false */\n'use strict';\n\nvar color = require('chartjs-color');\n\nmodule.exports = function(Chart) {\n\t// Global Chart helpers object for utility methods and classes\n\tvar helpers = Chart.helpers = {};\n\n\t// -- Basic js utility methods\n\thelpers.each = function(loopable, callback, self, reverse) {\n\t\t// Check to see if null or undefined firstly.\n\t\tvar i, len;\n\t\tif (helpers.isArray(loopable)) {\n\t\t\tlen = loopable.length;\n\t\t\tif (reverse) {\n\t\t\t\tfor (i = len - 1; i >= 0; i--) {\n\t\t\t\t\tcallback.call(self, loopable[i], i);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (i = 0; i < len; i++) {\n\t\t\t\t\tcallback.call(self, loopable[i], i);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (typeof loopable === 'object') {\n\t\t\tvar keys = Object.keys(loopable);\n\t\t\tlen = keys.length;\n\t\t\tfor (i = 0; i < len; i++) {\n\t\t\t\tcallback.call(self, loopable[keys[i]], keys[i]);\n\t\t\t}\n\t\t}\n\t};\n\thelpers.clone = function(obj) {\n\t\tvar objClone = {};\n\t\thelpers.each(obj, function(value, key) {\n\t\t\tif (helpers.isArray(value)) {\n\t\t\t\tobjClone[key] = value.slice(0);\n\t\t\t} else if (typeof value === 'object' && value !== null) {\n\t\t\t\tobjClone[key] = helpers.clone(value);\n\t\t\t} else {\n\t\t\t\tobjClone[key] = value;\n\t\t\t}\n\t\t});\n\t\treturn objClone;\n\t};\n\thelpers.extend = function(base) {\n\t\tvar setFn = function(value, key) {\n\t\t\tbase[key] = value;\n\t\t};\n\t\tfor (var i = 1, ilen = arguments.length; i < ilen; i++) {\n\t\t\thelpers.each(arguments[i], setFn);\n\t\t}\n\t\treturn base;\n\t};\n\t// Need a special merge function to chart configs since they are now grouped\n\thelpers.configMerge = function(_base) {\n\t\tvar base = helpers.clone(_base);\n\t\thelpers.each(Array.prototype.slice.call(arguments, 1), function(extension) {\n\t\t\thelpers.each(extension, function(value, key) {\n\t\t\t\tvar baseHasProperty = base.hasOwnProperty(key);\n\t\t\t\tvar baseVal = baseHasProperty ? base[key] : {};\n\n\t\t\t\tif (key === 'scales') {\n\t\t\t\t\t// Scale config merging is complex. Add our own function here for that\n\t\t\t\t\tbase[key] = helpers.scaleMerge(baseVal, value);\n\t\t\t\t} else if (key === 'scale') {\n\t\t\t\t\t// Used in polar area & radar charts since there is only one scale\n\t\t\t\t\tbase[key] = helpers.configMerge(baseVal, Chart.scaleService.getScaleDefaults(value.type), value);\n\t\t\t\t} else if (baseHasProperty\n\t\t\t\t\t\t&& typeof baseVal === 'object'\n\t\t\t\t\t\t&& !helpers.isArray(baseVal)\n\t\t\t\t\t\t&& baseVal !== null\n\t\t\t\t\t\t&& typeof value === 'object'\n\t\t\t\t\t\t&& !helpers.isArray(value)) {\n\t\t\t\t\t// If we are overwriting an object with an object, do a merge of the properties.\n\t\t\t\t\tbase[key] = helpers.configMerge(baseVal, value);\n\t\t\t\t} else {\n\t\t\t\t\t// can just overwrite the value in this case\n\t\t\t\t\tbase[key] = value;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\treturn base;\n\t};\n\thelpers.scaleMerge = function(_base, extension) {\n\t\tvar base = helpers.clone(_base);\n\n\t\thelpers.each(extension, function(value, key) {\n\t\t\tif (key === 'xAxes' || key === 'yAxes') {\n\t\t\t\t// These properties are arrays of items\n\t\t\t\tif (base.hasOwnProperty(key)) {\n\t\t\t\t\thelpers.each(value, function(valueObj, index) {\n\t\t\t\t\t\tvar axisType = helpers.getValueOrDefault(valueObj.type, key === 'xAxes' ? 'category' : 'linear');\n\t\t\t\t\t\tvar axisDefaults = Chart.scaleService.getScaleDefaults(axisType);\n\t\t\t\t\t\tif (index >= base[key].length || !base[key][index].type) {\n\t\t\t\t\t\t\tbase[key].push(helpers.configMerge(axisDefaults, valueObj));\n\t\t\t\t\t\t} else if (valueObj.type && valueObj.type !== base[key][index].type) {\n\t\t\t\t\t\t\t// Type changed. Bring in the new defaults before we bring in valueObj so that valueObj can override the correct scale defaults\n\t\t\t\t\t\t\tbase[key][index] = helpers.configMerge(base[key][index], axisDefaults, valueObj);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Type is the same\n\t\t\t\t\t\t\tbase[key][index] = helpers.configMerge(base[key][index], valueObj);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tbase[key] = [];\n\t\t\t\t\thelpers.each(value, function(valueObj) {\n\t\t\t\t\t\tvar axisType = helpers.getValueOrDefault(valueObj.type, key === 'xAxes' ? 'category' : 'linear');\n\t\t\t\t\t\tbase[key].push(helpers.configMerge(Chart.scaleService.getScaleDefaults(axisType), valueObj));\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else if (base.hasOwnProperty(key) && typeof base[key] === 'object' && base[key] !== null && typeof value === 'object') {\n\t\t\t\t// If we are overwriting an object with an object, do a merge of the properties.\n\t\t\t\tbase[key] = helpers.configMerge(base[key], value);\n\n\t\t\t} else {\n\t\t\t\t// can just overwrite the value in this case\n\t\t\t\tbase[key] = value;\n\t\t\t}\n\t\t});\n\n\t\treturn base;\n\t};\n\thelpers.getValueAtIndexOrDefault = function(value, index, defaultValue) {\n\t\tif (value === undefined || value === null) {\n\t\t\treturn defaultValue;\n\t\t}\n\n\t\tif (helpers.isArray(value)) {\n\t\t\treturn index < value.length ? value[index] : defaultValue;\n\t\t}\n\n\t\treturn value;\n\t};\n\thelpers.getValueOrDefault = function(value, defaultValue) {\n\t\treturn value === undefined ? defaultValue : value;\n\t};\n\thelpers.indexOf = Array.prototype.indexOf?\n\t\tfunction(array, item) {\n\t\t\treturn array.indexOf(item);\n\t\t}:\n\t\tfunction(array, item) {\n\t\t\tfor (var i = 0, ilen = array.length; i < ilen; ++i) {\n\t\t\t\tif (array[i] === item) {\n\t\t\t\t\treturn i;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn -1;\n\t\t};\n\thelpers.where = function(collection, filterCallback) {\n\t\tif (helpers.isArray(collection) && Array.prototype.filter) {\n\t\t\treturn collection.filter(filterCallback);\n\t\t}\n\t\tvar filtered = [];\n\n\t\thelpers.each(collection, function(item) {\n\t\t\tif (filterCallback(item)) {\n\t\t\t\tfiltered.push(item);\n\t\t\t}\n\t\t});\n\n\t\treturn filtered;\n\t};\n\thelpers.findIndex = Array.prototype.findIndex?\n\t\tfunction(array, callback, scope) {\n\t\t\treturn array.findIndex(callback, scope);\n\t\t} :\n\t\tfunction(array, callback, scope) {\n\t\t\tscope = scope === undefined? array : scope;\n\t\t\tfor (var i = 0, ilen = array.length; i < ilen; ++i) {\n\t\t\t\tif (callback.call(scope, array[i], i, array)) {\n\t\t\t\t\treturn i;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn -1;\n\t\t};\n\thelpers.findNextWhere = function(arrayToSearch, filterCallback, startIndex) {\n\t\t// Default to start of the array\n\t\tif (startIndex === undefined || startIndex === null) {\n\t\t\tstartIndex = -1;\n\t\t}\n\t\tfor (var i = startIndex + 1; i < arrayToSearch.length; i++) {\n\t\t\tvar currentItem = arrayToSearch[i];\n\t\t\tif (filterCallback(currentItem)) {\n\t\t\t\treturn currentItem;\n\t\t\t}\n\t\t}\n\t};\n\thelpers.findPreviousWhere = function(arrayToSearch, filterCallback, startIndex) {\n\t\t// Default to end of the array\n\t\tif (startIndex === undefined || startIndex === null) {\n\t\t\tstartIndex = arrayToSearch.length;\n\t\t}\n\t\tfor (var i = startIndex - 1; i >= 0; i--) {\n\t\t\tvar currentItem = arrayToSearch[i];\n\t\t\tif (filterCallback(currentItem)) {\n\t\t\t\treturn currentItem;\n\t\t\t}\n\t\t}\n\t};\n\thelpers.inherits = function(extensions) {\n\t\t// Basic javascript inheritance based on the model created in Backbone.js\n\t\tvar me = this;\n\t\tvar ChartElement = (extensions && extensions.hasOwnProperty('constructor')) ? extensions.constructor : function() {\n\t\t\treturn me.apply(this, arguments);\n\t\t};\n\n\t\tvar Surrogate = function() {\n\t\t\tthis.constructor = ChartElement;\n\t\t};\n\t\tSurrogate.prototype = me.prototype;\n\t\tChartElement.prototype = new Surrogate();\n\n\t\tChartElement.extend = helpers.inherits;\n\n\t\tif (extensions) {\n\t\t\thelpers.extend(ChartElement.prototype, extensions);\n\t\t}\n\n\t\tChartElement.__super__ = me.prototype;\n\n\t\treturn ChartElement;\n\t};\n\thelpers.noop = function() {};\n\thelpers.uid = (function() {\n\t\tvar id = 0;\n\t\treturn function() {\n\t\t\treturn id++;\n\t\t};\n\t}());\n\t// -- Math methods\n\thelpers.isNumber = function(n) {\n\t\treturn !isNaN(parseFloat(n)) && isFinite(n);\n\t};\n\thelpers.almostEquals = function(x, y, epsilon) {\n\t\treturn Math.abs(x - y) < epsilon;\n\t};\n\thelpers.almostWhole = function(x, epsilon) {\n\t\tvar rounded = Math.round(x);\n\t\treturn (((rounded - epsilon) < x) && ((rounded + epsilon) > x));\n\t};\n\thelpers.max = function(array) {\n\t\treturn array.reduce(function(max, value) {\n\t\t\tif (!isNaN(value)) {\n\t\t\t\treturn Math.max(max, value);\n\t\t\t}\n\t\t\treturn max;\n\t\t}, Number.NEGATIVE_INFINITY);\n\t};\n\thelpers.min = function(array) {\n\t\treturn array.reduce(function(min, value) {\n\t\t\tif (!isNaN(value)) {\n\t\t\t\treturn Math.min(min, value);\n\t\t\t}\n\t\t\treturn min;\n\t\t}, Number.POSITIVE_INFINITY);\n\t};\n\thelpers.sign = Math.sign?\n\t\tfunction(x) {\n\t\t\treturn Math.sign(x);\n\t\t} :\n\t\tfunction(x) {\n\t\t\tx = +x; // convert to a number\n\t\t\tif (x === 0 || isNaN(x)) {\n\t\t\t\treturn x;\n\t\t\t}\n\t\t\treturn x > 0 ? 1 : -1;\n\t\t};\n\thelpers.log10 = Math.log10?\n\t\tfunction(x) {\n\t\t\treturn Math.log10(x);\n\t\t} :\n\t\tfunction(x) {\n\t\t\treturn Math.log(x) / Math.LN10;\n\t\t};\n\thelpers.toRadians = function(degrees) {\n\t\treturn degrees * (Math.PI / 180);\n\t};\n\thelpers.toDegrees = function(radians) {\n\t\treturn radians * (180 / Math.PI);\n\t};\n\t// Gets the angle from vertical upright to the point about a centre.\n\thelpers.getAngleFromPoint = function(centrePoint, anglePoint) {\n\t\tvar distanceFromXCenter = anglePoint.x - centrePoint.x,\n\t\t\tdistanceFromYCenter = anglePoint.y - centrePoint.y,\n\t\t\tradialDistanceFromCenter = Math.sqrt(distanceFromXCenter * distanceFromXCenter + distanceFromYCenter * distanceFromYCenter);\n\n\t\tvar angle = Math.atan2(distanceFromYCenter, distanceFromXCenter);\n\n\t\tif (angle < (-0.5 * Math.PI)) {\n\t\t\tangle += 2.0 * Math.PI; // make sure the returned angle is in the range of (-PI/2, 3PI/2]\n\t\t}\n\n\t\treturn {\n\t\t\tangle: angle,\n\t\t\tdistance: radialDistanceFromCenter\n\t\t};\n\t};\n\thelpers.distanceBetweenPoints = function(pt1, pt2) {\n\t\treturn Math.sqrt(Math.pow(pt2.x - pt1.x, 2) + Math.pow(pt2.y - pt1.y, 2));\n\t};\n\thelpers.aliasPixel = function(pixelWidth) {\n\t\treturn (pixelWidth % 2 === 0) ? 0 : 0.5;\n\t};\n\thelpers.splineCurve = function(firstPoint, middlePoint, afterPoint, t) {\n\t\t// Props to Rob Spencer at scaled innovation for his post on splining between points\n\t\t// http://scaledinnovation.com/analytics/splines/aboutSplines.html\n\n\t\t// This function must also respect \"skipped\" points\n\n\t\tvar previous = firstPoint.skip ? middlePoint : firstPoint,\n\t\t\tcurrent = middlePoint,\n\t\t\tnext = afterPoint.skip ? middlePoint : afterPoint;\n\n\t\tvar d01 = Math.sqrt(Math.pow(current.x - previous.x, 2) + Math.pow(current.y - previous.y, 2));\n\t\tvar d12 = Math.sqrt(Math.pow(next.x - current.x, 2) + Math.pow(next.y - current.y, 2));\n\n\t\tvar s01 = d01 / (d01 + d12);\n\t\tvar s12 = d12 / (d01 + d12);\n\n\t\t// If all points are the same, s01 & s02 will be inf\n\t\ts01 = isNaN(s01) ? 0 : s01;\n\t\ts12 = isNaN(s12) ? 0 : s12;\n\n\t\tvar fa = t * s01; // scaling factor for triangle Ta\n\t\tvar fb = t * s12;\n\n\t\treturn {\n\t\t\tprevious: {\n\t\t\t\tx: current.x - fa * (next.x - previous.x),\n\t\t\t\ty: current.y - fa * (next.y - previous.y)\n\t\t\t},\n\t\t\tnext: {\n\t\t\t\tx: current.x + fb * (next.x - previous.x),\n\t\t\t\ty: current.y + fb * (next.y - previous.y)\n\t\t\t}\n\t\t};\n\t};\n\thelpers.EPSILON = Number.EPSILON || 1e-14;\n\thelpers.splineCurveMonotone = function(points) {\n\t\t// This function calculates Bézier control points in a similar way than |splineCurve|,\n\t\t// but preserves monotonicity of the provided data and ensures no local extremums are added\n\t\t// between the dataset discrete points due to the interpolation.\n\t\t// See : https://en.wikipedia.org/wiki/Monotone_cubic_interpolation\n\n\t\tvar pointsWithTangents = (points || []).map(function(point) {\n\t\t\treturn {\n\t\t\t\tmodel: point._model,\n\t\t\t\tdeltaK: 0,\n\t\t\t\tmK: 0\n\t\t\t};\n\t\t});\n\n\t\t// Calculate slopes (deltaK) and initialize tangents (mK)\n\t\tvar pointsLen = pointsWithTangents.length;\n\t\tvar i, pointBefore, pointCurrent, pointAfter;\n\t\tfor (i = 0; i < pointsLen; ++i) {\n\t\t\tpointCurrent = pointsWithTangents[i];\n\t\t\tif (pointCurrent.model.skip) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tpointBefore = i > 0 ? pointsWithTangents[i - 1] : null;\n\t\t\tpointAfter = i < pointsLen - 1 ? pointsWithTangents[i + 1] : null;\n\t\t\tif (pointAfter && !pointAfter.model.skip) {\n\t\t\t\tvar slopeDeltaX = (pointAfter.model.x - pointCurrent.model.x);\n\n\t\t\t\t// In the case of two points that appear at the same x pixel, slopeDeltaX is 0\n\t\t\t\tpointCurrent.deltaK = slopeDeltaX !== 0 ? (pointAfter.model.y - pointCurrent.model.y) / slopeDeltaX : 0;\n\t\t\t}\n\n\t\t\tif (!pointBefore || pointBefore.model.skip) {\n\t\t\t\tpointCurrent.mK = pointCurrent.deltaK;\n\t\t\t} else if (!pointAfter || pointAfter.model.skip) {\n\t\t\t\tpointCurrent.mK = pointBefore.deltaK;\n\t\t\t} else if (this.sign(pointBefore.deltaK) !== this.sign(pointCurrent.deltaK)) {\n\t\t\t\tpointCurrent.mK = 0;\n\t\t\t} else {\n\t\t\t\tpointCurrent.mK = (pointBefore.deltaK + pointCurrent.deltaK) / 2;\n\t\t\t}\n\t\t}\n\n\t\t// Adjust tangents to ensure monotonic properties\n\t\tvar alphaK, betaK, tauK, squaredMagnitude;\n\t\tfor (i = 0; i < pointsLen - 1; ++i) {\n\t\t\tpointCurrent = pointsWithTangents[i];\n\t\t\tpointAfter = pointsWithTangents[i + 1];\n\t\t\tif (pointCurrent.model.skip || pointAfter.model.skip) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (helpers.almostEquals(pointCurrent.deltaK, 0, this.EPSILON)) {\n\t\t\t\tpointCurrent.mK = pointAfter.mK = 0;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\talphaK = pointCurrent.mK / pointCurrent.deltaK;\n\t\t\tbetaK = pointAfter.mK / pointCurrent.deltaK;\n\t\t\tsquaredMagnitude = Math.pow(alphaK, 2) + Math.pow(betaK, 2);\n\t\t\tif (squaredMagnitude <= 9) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\ttauK = 3 / Math.sqrt(squaredMagnitude);\n\t\t\tpointCurrent.mK = alphaK * tauK * pointCurrent.deltaK;\n\t\t\tpointAfter.mK = betaK * tauK * pointCurrent.deltaK;\n\t\t}\n\n\t\t// Compute control points\n\t\tvar deltaX;\n\t\tfor (i = 0; i < pointsLen; ++i) {\n\t\t\tpointCurrent = pointsWithTangents[i];\n\t\t\tif (pointCurrent.model.skip) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tpointBefore = i > 0 ? pointsWithTangents[i - 1] : null;\n\t\t\tpointAfter = i < pointsLen - 1 ? pointsWithTangents[i + 1] : null;\n\t\t\tif (pointBefore && !pointBefore.model.skip) {\n\t\t\t\tdeltaX = (pointCurrent.model.x - pointBefore.model.x) / 3;\n\t\t\t\tpointCurrent.model.controlPointPreviousX = pointCurrent.model.x - deltaX;\n\t\t\t\tpointCurrent.model.controlPointPreviousY = pointCurrent.model.y - deltaX * pointCurrent.mK;\n\t\t\t}\n\t\t\tif (pointAfter && !pointAfter.model.skip) {\n\t\t\t\tdeltaX = (pointAfter.model.x - pointCurrent.model.x) / 3;\n\t\t\t\tpointCurrent.model.controlPointNextX = pointCurrent.model.x + deltaX;\n\t\t\t\tpointCurrent.model.controlPointNextY = pointCurrent.model.y + deltaX * pointCurrent.mK;\n\t\t\t}\n\t\t}\n\t};\n\thelpers.nextItem = function(collection, index, loop) {\n\t\tif (loop) {\n\t\t\treturn index >= collection.length - 1 ? collection[0] : collection[index + 1];\n\t\t}\n\t\treturn index >= collection.length - 1 ? collection[collection.length - 1] : collection[index + 1];\n\t};\n\thelpers.previousItem = function(collection, index, loop) {\n\t\tif (loop) {\n\t\t\treturn index <= 0 ? collection[collection.length - 1] : collection[index - 1];\n\t\t}\n\t\treturn index <= 0 ? collection[0] : collection[index - 1];\n\t};\n\t// Implementation of the nice number algorithm used in determining where axis labels will go\n\thelpers.niceNum = function(range, round) {\n\t\tvar exponent = Math.floor(helpers.log10(range));\n\t\tvar fraction = range / Math.pow(10, exponent);\n\t\tvar niceFraction;\n\n\t\tif (round) {\n\t\t\tif (fraction < 1.5) {\n\t\t\t\tniceFraction = 1;\n\t\t\t} else if (fraction < 3) {\n\t\t\t\tniceFraction = 2;\n\t\t\t} else if (fraction < 7) {\n\t\t\t\tniceFraction = 5;\n\t\t\t} else {\n\t\t\t\tniceFraction = 10;\n\t\t\t}\n\t\t} else if (fraction <= 1.0) {\n\t\t\tniceFraction = 1;\n\t\t} else if (fraction <= 2) {\n\t\t\tniceFraction = 2;\n\t\t} else if (fraction <= 5) {\n\t\t\tniceFraction = 5;\n\t\t} else {\n\t\t\tniceFraction = 10;\n\t\t}\n\n\t\treturn niceFraction * Math.pow(10, exponent);\n\t};\n\t// Easing functions adapted from Robert Penner's easing equations\n\t// http://www.robertpenner.com/easing/\n\tvar easingEffects = helpers.easingEffects = {\n\t\tlinear: function(t) {\n\t\t\treturn t;\n\t\t},\n\t\teaseInQuad: function(t) {\n\t\t\treturn t * t;\n\t\t},\n\t\teaseOutQuad: function(t) {\n\t\t\treturn -1 * t * (t - 2);\n\t\t},\n\t\teaseInOutQuad: function(t) {\n\t\t\tif ((t /= 1 / 2) < 1) {\n\t\t\t\treturn 1 / 2 * t * t;\n\t\t\t}\n\t\t\treturn -1 / 2 * ((--t) * (t - 2) - 1);\n\t\t},\n\t\teaseInCubic: function(t) {\n\t\t\treturn t * t * t;\n\t\t},\n\t\teaseOutCubic: function(t) {\n\t\t\treturn 1 * ((t = t / 1 - 1) * t * t + 1);\n\t\t},\n\t\teaseInOutCubic: function(t) {\n\t\t\tif ((t /= 1 / 2) < 1) {\n\t\t\t\treturn 1 / 2 * t * t * t;\n\t\t\t}\n\t\t\treturn 1 / 2 * ((t -= 2) * t * t + 2);\n\t\t},\n\t\teaseInQuart: function(t) {\n\t\t\treturn t * t * t * t;\n\t\t},\n\t\teaseOutQuart: function(t) {\n\t\t\treturn -1 * ((t = t / 1 - 1) * t * t * t - 1);\n\t\t},\n\t\teaseInOutQuart: function(t) {\n\t\t\tif ((t /= 1 / 2) < 1) {\n\t\t\t\treturn 1 / 2 * t * t * t * t;\n\t\t\t}\n\t\t\treturn -1 / 2 * ((t -= 2) * t * t * t - 2);\n\t\t},\n\t\teaseInQuint: function(t) {\n\t\t\treturn 1 * (t /= 1) * t * t * t * t;\n\t\t},\n\t\teaseOutQuint: function(t) {\n\t\t\treturn 1 * ((t = t / 1 - 1) * t * t * t * t + 1);\n\t\t},\n\t\teaseInOutQuint: function(t) {\n\t\t\tif ((t /= 1 / 2) < 1) {\n\t\t\t\treturn 1 / 2 * t * t * t * t * t;\n\t\t\t}\n\t\t\treturn 1 / 2 * ((t -= 2) * t * t * t * t + 2);\n\t\t},\n\t\teaseInSine: function(t) {\n\t\t\treturn -1 * Math.cos(t / 1 * (Math.PI / 2)) + 1;\n\t\t},\n\t\teaseOutSine: function(t) {\n\t\t\treturn 1 * Math.sin(t / 1 * (Math.PI / 2));\n\t\t},\n\t\teaseInOutSine: function(t) {\n\t\t\treturn -1 / 2 * (Math.cos(Math.PI * t / 1) - 1);\n\t\t},\n\t\teaseInExpo: function(t) {\n\t\t\treturn (t === 0) ? 1 : 1 * Math.pow(2, 10 * (t / 1 - 1));\n\t\t},\n\t\teaseOutExpo: function(t) {\n\t\t\treturn (t === 1) ? 1 : 1 * (-Math.pow(2, -10 * t / 1) + 1);\n\t\t},\n\t\teaseInOutExpo: function(t) {\n\t\t\tif (t === 0) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\tif (t === 1) {\n\t\t\t\treturn 1;\n\t\t\t}\n\t\t\tif ((t /= 1 / 2) < 1) {\n\t\t\t\treturn 1 / 2 * Math.pow(2, 10 * (t - 1));\n\t\t\t}\n\t\t\treturn 1 / 2 * (-Math.pow(2, -10 * --t) + 2);\n\t\t},\n\t\teaseInCirc: function(t) {\n\t\t\tif (t >= 1) {\n\t\t\t\treturn t;\n\t\t\t}\n\t\t\treturn -1 * (Math.sqrt(1 - (t /= 1) * t) - 1);\n\t\t},\n\t\teaseOutCirc: function(t) {\n\t\t\treturn 1 * Math.sqrt(1 - (t = t / 1 - 1) * t);\n\t\t},\n\t\teaseInOutCirc: function(t) {\n\t\t\tif ((t /= 1 / 2) < 1) {\n\t\t\t\treturn -1 / 2 * (Math.sqrt(1 - t * t) - 1);\n\t\t\t}\n\t\t\treturn 1 / 2 * (Math.sqrt(1 - (t -= 2) * t) + 1);\n\t\t},\n\t\teaseInElastic: function(t) {\n\t\t\tvar s = 1.70158;\n\t\t\tvar p = 0;\n\t\t\tvar a = 1;\n\t\t\tif (t === 0) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\tif ((t /= 1) === 1) {\n\t\t\t\treturn 1;\n\t\t\t}\n\t\t\tif (!p) {\n\t\t\t\tp = 1 * 0.3;\n\t\t\t}\n\t\t\tif (a < Math.abs(1)) {\n\t\t\t\ta = 1;\n\t\t\t\ts = p / 4;\n\t\t\t} else {\n\t\t\t\ts = p / (2 * Math.PI) * Math.asin(1 / a);\n\t\t\t}\n\t\t\treturn -(a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t * 1 - s) * (2 * Math.PI) / p));\n\t\t},\n\t\teaseOutElastic: function(t) {\n\t\t\tvar s = 1.70158;\n\t\t\tvar p = 0;\n\t\t\tvar a = 1;\n\t\t\tif (t === 0) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\tif ((t /= 1) === 1) {\n\t\t\t\treturn 1;\n\t\t\t}\n\t\t\tif (!p) {\n\t\t\t\tp = 1 * 0.3;\n\t\t\t}\n\t\t\tif (a < Math.abs(1)) {\n\t\t\t\ta = 1;\n\t\t\t\ts = p / 4;\n\t\t\t} else {\n\t\t\t\ts = p / (2 * Math.PI) * Math.asin(1 / a);\n\t\t\t}\n\t\t\treturn a * Math.pow(2, -10 * t) * Math.sin((t * 1 - s) * (2 * Math.PI) / p) + 1;\n\t\t},\n\t\teaseInOutElastic: function(t) {\n\t\t\tvar s = 1.70158;\n\t\t\tvar p = 0;\n\t\t\tvar a = 1;\n\t\t\tif (t === 0) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\tif ((t /= 1 / 2) === 2) {\n\t\t\t\treturn 1;\n\t\t\t}\n\t\t\tif (!p) {\n\t\t\t\tp = 1 * (0.3 * 1.5);\n\t\t\t}\n\t\t\tif (a < Math.abs(1)) {\n\t\t\t\ta = 1;\n\t\t\t\ts = p / 4;\n\t\t\t} else {\n\t\t\t\ts = p / (2 * Math.PI) * Math.asin(1 / a);\n\t\t\t}\n\t\t\tif (t < 1) {\n\t\t\t\treturn -0.5 * (a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t * 1 - s) * (2 * Math.PI) / p));\n\t\t\t}\n\t\t\treturn a * Math.pow(2, -10 * (t -= 1)) * Math.sin((t * 1 - s) * (2 * Math.PI) / p) * 0.5 + 1;\n\t\t},\n\t\teaseInBack: function(t) {\n\t\t\tvar s = 1.70158;\n\t\t\treturn 1 * (t /= 1) * t * ((s + 1) * t - s);\n\t\t},\n\t\teaseOutBack: function(t) {\n\t\t\tvar s = 1.70158;\n\t\t\treturn 1 * ((t = t / 1 - 1) * t * ((s + 1) * t + s) + 1);\n\t\t},\n\t\teaseInOutBack: function(t) {\n\t\t\tvar s = 1.70158;\n\t\t\tif ((t /= 1 / 2) < 1) {\n\t\t\t\treturn 1 / 2 * (t * t * (((s *= (1.525)) + 1) * t - s));\n\t\t\t}\n\t\t\treturn 1 / 2 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2);\n\t\t},\n\t\teaseInBounce: function(t) {\n\t\t\treturn 1 - easingEffects.easeOutBounce(1 - t);\n\t\t},\n\t\teaseOutBounce: function(t) {\n\t\t\tif ((t /= 1) < (1 / 2.75)) {\n\t\t\t\treturn 1 * (7.5625 * t * t);\n\t\t\t} else if (t < (2 / 2.75)) {\n\t\t\t\treturn 1 * (7.5625 * (t -= (1.5 / 2.75)) * t + 0.75);\n\t\t\t} else if (t < (2.5 / 2.75)) {\n\t\t\t\treturn 1 * (7.5625 * (t -= (2.25 / 2.75)) * t + 0.9375);\n\t\t\t}\n\t\t\treturn 1 * (7.5625 * (t -= (2.625 / 2.75)) * t + 0.984375);\n\t\t},\n\t\teaseInOutBounce: function(t) {\n\t\t\tif (t < 1 / 2) {\n\t\t\t\treturn easingEffects.easeInBounce(t * 2) * 0.5;\n\t\t\t}\n\t\t\treturn easingEffects.easeOutBounce(t * 2 - 1) * 0.5 + 1 * 0.5;\n\t\t}\n\t};\n\t// Request animation polyfill - http://www.paulirish.com/2011/requestanimationframe-for-smart-animating/\n\thelpers.requestAnimFrame = (function() {\n\t\tif (typeof window === 'undefined') {\n\t\t\treturn function(callback) {\n\t\t\t\tcallback();\n\t\t\t};\n\t\t}\n\t\treturn window.requestAnimationFrame ||\n\t\t\twindow.webkitRequestAnimationFrame ||\n\t\t\twindow.mozRequestAnimationFrame ||\n\t\t\twindow.oRequestAnimationFrame ||\n\t\t\twindow.msRequestAnimationFrame ||\n\t\t\tfunction(callback) {\n\t\t\t\treturn window.setTimeout(callback, 1000 / 60);\n\t\t\t};\n\t}());\n\t// -- DOM methods\n\thelpers.getRelativePosition = function(evt, chart) {\n\t\tvar mouseX, mouseY;\n\t\tvar e = evt.originalEvent || evt,\n\t\t\tcanvas = evt.currentTarget || evt.srcElement,\n\t\t\tboundingRect = canvas.getBoundingClientRect();\n\n\t\tvar touches = e.touches;\n\t\tif (touches && touches.length > 0) {\n\t\t\tmouseX = touches[0].clientX;\n\t\t\tmouseY = touches[0].clientY;\n\n\t\t} else {\n\t\t\tmouseX = e.clientX;\n\t\t\tmouseY = e.clientY;\n\t\t}\n\n\t\t// Scale mouse coordinates into canvas coordinates\n\t\t// by following the pattern laid out by 'jerryj' in the comments of\n\t\t// http://www.html5canvastutorials.com/advanced/html5-canvas-mouse-coordinates/\n\t\tvar paddingLeft = parseFloat(helpers.getStyle(canvas, 'padding-left'));\n\t\tvar paddingTop = parseFloat(helpers.getStyle(canvas, 'padding-top'));\n\t\tvar paddingRight = parseFloat(helpers.getStyle(canvas, 'padding-right'));\n\t\tvar paddingBottom = parseFloat(helpers.getStyle(canvas, 'padding-bottom'));\n\t\tvar width = boundingRect.right - boundingRect.left - paddingLeft - paddingRight;\n\t\tvar height = boundingRect.bottom - boundingRect.top - paddingTop - paddingBottom;\n\n\t\t// We divide by the current device pixel ratio, because the canvas is scaled up by that amount in each direction. However\n\t\t// the backend model is in unscaled coordinates. Since we are going to deal with our model coordinates, we go back here\n\t\tmouseX = Math.round((mouseX - boundingRect.left - paddingLeft) / (width) * canvas.width / chart.currentDevicePixelRatio);\n\t\tmouseY = Math.round((mouseY - boundingRect.top - paddingTop) / (height) * canvas.height / chart.currentDevicePixelRatio);\n\n\t\treturn {\n\t\t\tx: mouseX,\n\t\t\ty: mouseY\n\t\t};\n\n\t};\n\thelpers.addEvent = function(node, eventType, method) {\n\t\tif (node.addEventListener) {\n\t\t\tnode.addEventListener(eventType, method);\n\t\t} else if (node.attachEvent) {\n\t\t\tnode.attachEvent('on' + eventType, method);\n\t\t} else {\n\t\t\tnode['on' + eventType] = method;\n\t\t}\n\t};\n\thelpers.removeEvent = function(node, eventType, handler) {\n\t\tif (node.removeEventListener) {\n\t\t\tnode.removeEventListener(eventType, handler, false);\n\t\t} else if (node.detachEvent) {\n\t\t\tnode.detachEvent('on' + eventType, handler);\n\t\t} else {\n\t\t\tnode['on' + eventType] = helpers.noop;\n\t\t}\n\t};\n\n\t// Private helper function to convert max-width/max-height values that may be percentages into a number\n\tfunction parseMaxStyle(styleValue, node, parentProperty) {\n\t\tvar valueInPixels;\n\t\tif (typeof(styleValue) === 'string') {\n\t\t\tvalueInPixels = parseInt(styleValue, 10);\n\n\t\t\tif (styleValue.indexOf('%') !== -1) {\n\t\t\t\t// percentage * size in dimension\n\t\t\t\tvalueInPixels = valueInPixels / 100 * node.parentNode[parentProperty];\n\t\t\t}\n\t\t} else {\n\t\t\tvalueInPixels = styleValue;\n\t\t}\n\n\t\treturn valueInPixels;\n\t}\n\n\t/**\n\t * Returns if the given value contains an effective constraint.\n\t * @private\n\t */\n\tfunction isConstrainedValue(value) {\n\t\treturn value !== undefined && value !== null && value !== 'none';\n\t}\n\n\t// Private helper to get a constraint dimension\n\t// @param domNode : the node to check the constraint on\n\t// @param maxStyle : the style that defines the maximum for the direction we are using (maxWidth / maxHeight)\n\t// @param percentageProperty : property of parent to use when calculating width as a percentage\n\t// @see http://www.nathanaeljones.com/blog/2013/reading-max-width-cross-browser\n\tfunction getConstraintDimension(domNode, maxStyle, percentageProperty) {\n\t\tvar view = document.defaultView;\n\t\tvar parentNode = domNode.parentNode;\n\t\tvar constrainedNode = view.getComputedStyle(domNode)[maxStyle];\n\t\tvar constrainedContainer = view.getComputedStyle(parentNode)[maxStyle];\n\t\tvar hasCNode = isConstrainedValue(constrainedNode);\n\t\tvar hasCContainer = isConstrainedValue(constrainedContainer);\n\t\tvar infinity = Number.POSITIVE_INFINITY;\n\n\t\tif (hasCNode || hasCContainer) {\n\t\t\treturn Math.min(\n\t\t\t\thasCNode? parseMaxStyle(constrainedNode, domNode, percentageProperty) : infinity,\n\t\t\t\thasCContainer? parseMaxStyle(constrainedContainer, parentNode, percentageProperty) : infinity);\n\t\t}\n\n\t\treturn 'none';\n\t}\n\t// returns Number or undefined if no constraint\n\thelpers.getConstraintWidth = function(domNode) {\n\t\treturn getConstraintDimension(domNode, 'max-width', 'clientWidth');\n\t};\n\t// returns Number or undefined if no constraint\n\thelpers.getConstraintHeight = function(domNode) {\n\t\treturn getConstraintDimension(domNode, 'max-height', 'clientHeight');\n\t};\n\thelpers.getMaximumWidth = function(domNode) {\n\t\tvar container = domNode.parentNode;\n\t\tvar paddingLeft = parseInt(helpers.getStyle(container, 'padding-left'), 10);\n\t\tvar paddingRight = parseInt(helpers.getStyle(container, 'padding-right'), 10);\n\t\tvar w = container.clientWidth - paddingLeft - paddingRight;\n\t\tvar cw = helpers.getConstraintWidth(domNode);\n\t\treturn isNaN(cw)? w : Math.min(w, cw);\n\t};\n\thelpers.getMaximumHeight = function(domNode) {\n\t\tvar container = domNode.parentNode;\n\t\tvar paddingTop = parseInt(helpers.getStyle(container, 'padding-top'), 10);\n\t\tvar paddingBottom = parseInt(helpers.getStyle(container, 'padding-bottom'), 10);\n\t\tvar h = container.clientHeight - paddingTop - paddingBottom;\n\t\tvar ch = helpers.getConstraintHeight(domNode);\n\t\treturn isNaN(ch)? h : Math.min(h, ch);\n\t};\n\thelpers.getStyle = function(el, property) {\n\t\treturn el.currentStyle ?\n\t\t\tel.currentStyle[property] :\n\t\t\tdocument.defaultView.getComputedStyle(el, null).getPropertyValue(property);\n\t};\n\thelpers.retinaScale = function(chart) {\n\t\tvar pixelRatio = chart.currentDevicePixelRatio = window.devicePixelRatio || 1;\n\t\tif (pixelRatio === 1) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar canvas = chart.canvas;\n\t\tvar height = chart.height;\n\t\tvar width = chart.width;\n\n\t\tcanvas.height = height * pixelRatio;\n\t\tcanvas.width = width * pixelRatio;\n\t\tchart.ctx.scale(pixelRatio, pixelRatio);\n\n\t\t// If no style has been set on the canvas, the render size is used as display size,\n\t\t// making the chart visually bigger, so let's enforce it to the \"correct\" values.\n\t\t// See https://github.com/chartjs/Chart.js/issues/3575\n\t\tcanvas.style.height = height + 'px';\n\t\tcanvas.style.width = width + 'px';\n\t};\n\t// -- Canvas methods\n\thelpers.clear = function(chart) {\n\t\tchart.ctx.clearRect(0, 0, chart.width, chart.height);\n\t};\n\thelpers.fontString = function(pixelSize, fontStyle, fontFamily) {\n\t\treturn fontStyle + ' ' + pixelSize + 'px ' + fontFamily;\n\t};\n\thelpers.longestText = function(ctx, font, arrayOfThings, cache) {\n\t\tcache = cache || {};\n\t\tvar data = cache.data = cache.data || {};\n\t\tvar gc = cache.garbageCollect = cache.garbageCollect || [];\n\n\t\tif (cache.font !== font) {\n\t\t\tdata = cache.data = {};\n\t\t\tgc = cache.garbageCollect = [];\n\t\t\tcache.font = font;\n\t\t}\n\n\t\tctx.font = font;\n\t\tvar longest = 0;\n\t\thelpers.each(arrayOfThings, function(thing) {\n\t\t\t// Undefined strings and arrays should not be measured\n\t\t\tif (thing !== undefined && thing !== null && helpers.isArray(thing) !== true) {\n\t\t\t\tlongest = helpers.measureText(ctx, data, gc, longest, thing);\n\t\t\t} else if (helpers.isArray(thing)) {\n\t\t\t\t// if it is an array lets measure each element\n\t\t\t\t// to do maybe simplify this function a bit so we can do this more recursively?\n\t\t\t\thelpers.each(thing, function(nestedThing) {\n\t\t\t\t\t// Undefined strings and arrays should not be measured\n\t\t\t\t\tif (nestedThing !== undefined && nestedThing !== null && !helpers.isArray(nestedThing)) {\n\t\t\t\t\t\tlongest = helpers.measureText(ctx, data, gc, longest, nestedThing);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tvar gcLen = gc.length / 2;\n\t\tif (gcLen > arrayOfThings.length) {\n\t\t\tfor (var i = 0; i < gcLen; i++) {\n\t\t\t\tdelete data[gc[i]];\n\t\t\t}\n\t\t\tgc.splice(0, gcLen);\n\t\t}\n\t\treturn longest;\n\t};\n\thelpers.measureText = function(ctx, data, gc, longest, string) {\n\t\tvar textWidth = data[string];\n\t\tif (!textWidth) {\n\t\t\ttextWidth = data[string] = ctx.measureText(string).width;\n\t\t\tgc.push(string);\n\t\t}\n\t\tif (textWidth > longest) {\n\t\t\tlongest = textWidth;\n\t\t}\n\t\treturn longest;\n\t};\n\thelpers.numberOfLabelLines = function(arrayOfThings) {\n\t\tvar numberOfLines = 1;\n\t\thelpers.each(arrayOfThings, function(thing) {\n\t\t\tif (helpers.isArray(thing)) {\n\t\t\t\tif (thing.length > numberOfLines) {\n\t\t\t\t\tnumberOfLines = thing.length;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\treturn numberOfLines;\n\t};\n\thelpers.drawRoundedRectangle = function(ctx, x, y, width, height, radius) {\n\t\tctx.beginPath();\n\t\tctx.moveTo(x + radius, y);\n\t\tctx.lineTo(x + width - radius, y);\n\t\tctx.quadraticCurveTo(x + width, y, x + width, y + radius);\n\t\tctx.lineTo(x + width, y + height - radius);\n\t\tctx.quadraticCurveTo(x + width, y + height, x + width - radius, y + height);\n\t\tctx.lineTo(x + radius, y + height);\n\t\tctx.quadraticCurveTo(x, y + height, x, y + height - radius);\n\t\tctx.lineTo(x, y + radius);\n\t\tctx.quadraticCurveTo(x, y, x + radius, y);\n\t\tctx.closePath();\n\t};\n\n\thelpers.color = !color?\n\t\tfunction(value) {\n\t\t\tconsole.error('Color.js not found!');\n\t\t\treturn value;\n\t\t} :\n\t\tfunction(value) {\n\t\t\t/* global CanvasGradient */\n\t\t\tif (value instanceof CanvasGradient) {\n\t\t\t\tvalue = Chart.defaults.global.defaultColor;\n\t\t\t}\n\n\t\t\treturn color(value);\n\t\t};\n\n\thelpers.isArray = Array.isArray?\n\t\tfunction(obj) {\n\t\t\treturn Array.isArray(obj);\n\t\t} :\n\t\tfunction(obj) {\n\t\t\treturn Object.prototype.toString.call(obj) === '[object Array]';\n\t\t};\n\t// ! @see http://stackoverflow.com/a/14853974\n\thelpers.arrayEquals = function(a0, a1) {\n\t\tvar i, ilen, v0, v1;\n\n\t\tif (!a0 || !a1 || a0.length !== a1.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\tfor (i = 0, ilen=a0.length; i < ilen; ++i) {\n\t\t\tv0 = a0[i];\n\t\t\tv1 = a1[i];\n\n\t\t\tif (v0 instanceof Array && v1 instanceof Array) {\n\t\t\t\tif (!helpers.arrayEquals(v0, v1)) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t} else if (v0 !== v1) {\n\t\t\t\t// NOTE: two different object instances will never be equal: {x:20} != {x:20}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t};\n\thelpers.callback = function(fn, args, thisArg) {\n\t\tif (fn && typeof fn.call === 'function') {\n\t\t\tfn.apply(thisArg, args);\n\t\t}\n\t};\n\thelpers.getHoverColor = function(colorValue) {\n\t\t/* global CanvasPattern */\n\t\treturn (colorValue instanceof CanvasPattern) ?\n\t\t\tcolorValue :\n\t\t\thelpers.color(colorValue).saturate(0.5).darken(0.1).rgbString();\n\t};\n\n\t/**\n\t * Provided for backward compatibility, use Chart.helpers#callback instead.\n\t * @function Chart.helpers#callCallback\n\t * @deprecated since version 2.6.0\n\t * @todo remove at version 3\n\t */\n\thelpers.callCallback = helpers.callback;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/chart.js/src/core/core.helpers.js\n// module id = 1195\n// module chunks = 0","'use strict';\n\nmodule.exports = function(Chart) {\n\tvar helpers = Chart.helpers;\n\n\t/**\n\t * Helper function to get relative position for an event\n\t * @param {Event|IEvent} event - The event to get the position for\n\t * @param {Chart} chart - The chart\n\t * @returns {Point} the event position\n\t */\n\tfunction getRelativePosition(e, chart) {\n\t\tif (e.native) {\n\t\t\treturn {\n\t\t\t\tx: e.x,\n\t\t\t\ty: e.y\n\t\t\t};\n\t\t}\n\n\t\treturn helpers.getRelativePosition(e, chart);\n\t}\n\n\t/**\n\t * Helper function to traverse all of the visible elements in the chart\n\t * @param chart {chart} the chart\n\t * @param handler {Function} the callback to execute for each visible item\n\t */\n\tfunction parseVisibleItems(chart, handler) {\n\t\tvar datasets = chart.data.datasets;\n\t\tvar meta, i, j, ilen, jlen;\n\n\t\tfor (i = 0, ilen = datasets.length; i < ilen; ++i) {\n\t\t\tif (!chart.isDatasetVisible(i)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tmeta = chart.getDatasetMeta(i);\n\t\t\tfor (j = 0, jlen = meta.data.length; j < jlen; ++j) {\n\t\t\t\tvar element = meta.data[j];\n\t\t\t\tif (!element._view.skip) {\n\t\t\t\t\thandler(element);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Helper function to get the items that intersect the event position\n\t * @param items {ChartElement[]} elements to filter\n\t * @param position {Point} the point to be nearest to\n\t * @return {ChartElement[]} the nearest items\n\t */\n\tfunction getIntersectItems(chart, position) {\n\t\tvar elements = [];\n\n\t\tparseVisibleItems(chart, function(element) {\n\t\t\tif (element.inRange(position.x, position.y)) {\n\t\t\t\telements.push(element);\n\t\t\t}\n\t\t});\n\n\t\treturn elements;\n\t}\n\n\t/**\n\t * Helper function to get the items nearest to the event position considering all visible items in teh chart\n\t * @param chart {Chart} the chart to look at elements from\n\t * @param position {Point} the point to be nearest to\n\t * @param intersect {Boolean} if true, only consider items that intersect the position\n\t * @param distanceMetric {Function} Optional function to provide the distance between\n\t * @return {ChartElement[]} the nearest items\n\t */\n\tfunction getNearestItems(chart, position, intersect, distanceMetric) {\n\t\tvar minDistance = Number.POSITIVE_INFINITY;\n\t\tvar nearestItems = [];\n\n\t\tif (!distanceMetric) {\n\t\t\tdistanceMetric = helpers.distanceBetweenPoints;\n\t\t}\n\n\t\tparseVisibleItems(chart, function(element) {\n\t\t\tif (intersect && !element.inRange(position.x, position.y)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar center = element.getCenterPoint();\n\t\t\tvar distance = distanceMetric(position, center);\n\n\t\t\tif (distance < minDistance) {\n\t\t\t\tnearestItems = [element];\n\t\t\t\tminDistance = distance;\n\t\t\t} else if (distance === minDistance) {\n\t\t\t\t// Can have multiple items at the same distance in which case we sort by size\n\t\t\t\tnearestItems.push(element);\n\t\t\t}\n\t\t});\n\n\t\treturn nearestItems;\n\t}\n\n\tfunction indexMode(chart, e, options) {\n\t\tvar position = getRelativePosition(e, chart);\n\t\tvar distanceMetric = function(pt1, pt2) {\n\t\t\treturn Math.abs(pt1.x - pt2.x);\n\t\t};\n\t\tvar items = options.intersect ? getIntersectItems(chart, position) : getNearestItems(chart, position, false, distanceMetric);\n\t\tvar elements = [];\n\n\t\tif (!items.length) {\n\t\t\treturn [];\n\t\t}\n\n\t\tchart.data.datasets.forEach(function(dataset, datasetIndex) {\n\t\t\tif (chart.isDatasetVisible(datasetIndex)) {\n\t\t\t\tvar meta = chart.getDatasetMeta(datasetIndex),\n\t\t\t\t\telement = meta.data[items[0]._index];\n\n\t\t\t\t// don't count items that are skipped (null data)\n\t\t\t\tif (element && !element._view.skip) {\n\t\t\t\t\telements.push(element);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\treturn elements;\n\t}\n\n\t/**\n\t * @interface IInteractionOptions\n\t */\n\t/**\n\t * If true, only consider items that intersect the point\n\t * @name IInterfaceOptions#boolean\n\t * @type Boolean\n\t */\n\n\t/**\n\t * Contains interaction related functions\n\t * @namespace Chart.Interaction\n\t */\n\tChart.Interaction = {\n\t\t// Helper function for different modes\n\t\tmodes: {\n\t\t\tsingle: function(chart, e) {\n\t\t\t\tvar position = getRelativePosition(e, chart);\n\t\t\t\tvar elements = [];\n\n\t\t\t\tparseVisibleItems(chart, function(element) {\n\t\t\t\t\tif (element.inRange(position.x, position.y)) {\n\t\t\t\t\t\telements.push(element);\n\t\t\t\t\t\treturn elements;\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\treturn elements.slice(0, 1);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * @function Chart.Interaction.modes.label\n\t\t\t * @deprecated since version 2.4.0\n\t \t\t * @todo remove at version 3\n\t\t\t * @private\n\t\t\t */\n\t\t\tlabel: indexMode,\n\n\t\t\t/**\n\t\t\t * Returns items at the same index. If the options.intersect parameter is true, we only return items if we intersect something\n\t\t\t * If the options.intersect mode is false, we find the nearest item and return the items at the same index as that item\n\t\t\t * @function Chart.Interaction.modes.index\n\t\t\t * @since v2.4.0\n\t\t\t * @param chart {chart} the chart we are returning items from\n\t\t\t * @param e {Event} the event we are find things at\n\t\t\t * @param options {IInteractionOptions} options to use during interaction\n\t\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\n\t\t\t */\n\t\t\tindex: indexMode,\n\n\t\t\t/**\n\t\t\t * Returns items in the same dataset. If the options.intersect parameter is true, we only return items if we intersect something\n\t\t\t * If the options.intersect is false, we find the nearest item and return the items in that dataset\n\t\t\t * @function Chart.Interaction.modes.dataset\n\t\t\t * @param chart {chart} the chart we are returning items from\n\t\t\t * @param e {Event} the event we are find things at\n\t\t\t * @param options {IInteractionOptions} options to use during interaction\n\t\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\n\t\t\t */\n\t\t\tdataset: function(chart, e, options) {\n\t\t\t\tvar position = getRelativePosition(e, chart);\n\t\t\t\tvar items = options.intersect ? getIntersectItems(chart, position) : getNearestItems(chart, position, false);\n\n\t\t\t\tif (items.length > 0) {\n\t\t\t\t\titems = chart.getDatasetMeta(items[0]._datasetIndex).data;\n\t\t\t\t}\n\n\t\t\t\treturn items;\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * @function Chart.Interaction.modes.x-axis\n\t\t\t * @deprecated since version 2.4.0. Use index mode and intersect == true\n\t\t\t * @todo remove at version 3\n\t\t\t * @private\n\t\t\t */\n\t\t\t'x-axis': function(chart, e) {\n\t\t\t\treturn indexMode(chart, e, true);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Point mode returns all elements that hit test based on the event position\n\t\t\t * of the event\n\t\t\t * @function Chart.Interaction.modes.intersect\n\t\t\t * @param chart {chart} the chart we are returning items from\n\t\t\t * @param e {Event} the event we are find things at\n\t\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\n\t\t\t */\n\t\t\tpoint: function(chart, e) {\n\t\t\t\tvar position = getRelativePosition(e, chart);\n\t\t\t\treturn getIntersectItems(chart, position);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * nearest mode returns the element closest to the point\n\t\t\t * @function Chart.Interaction.modes.intersect\n\t\t\t * @param chart {chart} the chart we are returning items from\n\t\t\t * @param e {Event} the event we are find things at\n\t\t\t * @param options {IInteractionOptions} options to use\n\t\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\n\t\t\t */\n\t\t\tnearest: function(chart, e, options) {\n\t\t\t\tvar position = getRelativePosition(e, chart);\n\t\t\t\tvar nearestItems = getNearestItems(chart, position, options.intersect);\n\n\t\t\t\t// We have multiple items at the same distance from the event. Now sort by smallest\n\t\t\t\tif (nearestItems.length > 1) {\n\t\t\t\t\tnearestItems.sort(function(a, b) {\n\t\t\t\t\t\tvar sizeA = a.getArea();\n\t\t\t\t\t\tvar sizeB = b.getArea();\n\t\t\t\t\t\tvar ret = sizeA - sizeB;\n\n\t\t\t\t\t\tif (ret === 0) {\n\t\t\t\t\t\t\t// if equal sort by dataset index\n\t\t\t\t\t\t\tret = a._datasetIndex - b._datasetIndex;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn ret;\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t// Return only 1 item\n\t\t\t\treturn nearestItems.slice(0, 1);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * x mode returns the elements that hit-test at the current x coordinate\n\t\t\t * @function Chart.Interaction.modes.x\n\t\t\t * @param chart {chart} the chart we are returning items from\n\t\t\t * @param e {Event} the event we are find things at\n\t\t\t * @param options {IInteractionOptions} options to use\n\t\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\n\t\t\t */\n\t\t\tx: function(chart, e, options) {\n\t\t\t\tvar position = getRelativePosition(e, chart);\n\t\t\t\tvar items = [];\n\t\t\t\tvar intersectsItem = false;\n\n\t\t\t\tparseVisibleItems(chart, function(element) {\n\t\t\t\t\tif (element.inXRange(position.x)) {\n\t\t\t\t\t\titems.push(element);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (element.inRange(position.x, position.y)) {\n\t\t\t\t\t\tintersectsItem = true;\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\t// If we want to trigger on an intersect and we don't have any items\n\t\t\t\t// that intersect the position, return nothing\n\t\t\t\tif (options.intersect && !intersectsItem) {\n\t\t\t\t\titems = [];\n\t\t\t\t}\n\t\t\t\treturn items;\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * y mode returns the elements that hit-test at the current y coordinate\n\t\t\t * @function Chart.Interaction.modes.y\n\t\t\t * @param chart {chart} the chart we are returning items from\n\t\t\t * @param e {Event} the event we are find things at\n\t\t\t * @param options {IInteractionOptions} options to use\n\t\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\n\t\t\t */\n\t\t\ty: function(chart, e, options) {\n\t\t\t\tvar position = getRelativePosition(e, chart);\n\t\t\t\tvar items = [];\n\t\t\t\tvar intersectsItem = false;\n\n\t\t\t\tparseVisibleItems(chart, function(element) {\n\t\t\t\t\tif (element.inYRange(position.y)) {\n\t\t\t\t\t\titems.push(element);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (element.inRange(position.x, position.y)) {\n\t\t\t\t\t\tintersectsItem = true;\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\t// If we want to trigger on an intersect and we don't have any items\n\t\t\t\t// that intersect the position, return nothing\n\t\t\t\tif (options.intersect && !intersectsItem) {\n\t\t\t\t\titems = [];\n\t\t\t\t}\n\t\t\t\treturn items;\n\t\t\t}\n\t\t}\n\t};\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/chart.js/src/core/core.interaction.js\n// module id = 1196\n// module chunks = 0","'use strict';\n\nmodule.exports = function() {\n\n\t// Occupy the global variable of Chart, and create a simple base class\n\tvar Chart = function(item, config) {\n\t\tthis.construct(item, config);\n\t\treturn this;\n\t};\n\n\t// Globally expose the defaults to allow for user updating/changing\n\tChart.defaults = {\n\t\tglobal: {\n\t\t\tresponsive: true,\n\t\t\tresponsiveAnimationDuration: 0,\n\t\t\tmaintainAspectRatio: true,\n\t\t\tevents: ['mousemove', 'mouseout', 'click', 'touchstart', 'touchmove'],\n\t\t\thover: {\n\t\t\t\tonHover: null,\n\t\t\t\tmode: 'nearest',\n\t\t\t\tintersect: true,\n\t\t\t\tanimationDuration: 400\n\t\t\t},\n\t\t\tonClick: null,\n\t\t\tdefaultColor: 'rgba(0,0,0,0.1)',\n\t\t\tdefaultFontColor: '#666',\n\t\t\tdefaultFontFamily: \"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",\n\t\t\tdefaultFontSize: 12,\n\t\t\tdefaultFontStyle: 'normal',\n\t\t\tshowLines: true,\n\n\t\t\t// Element defaults defined in element extensions\n\t\t\telements: {},\n\n\t\t\t// Legend callback string\n\t\t\tlegendCallback: function(chart) {\n\t\t\t\tvar text = [];\n\t\t\t\ttext.push('<ul class=\"' + chart.id + '-legend\">');\n\t\t\t\tfor (var i = 0; i < chart.data.datasets.length; i++) {\n\t\t\t\t\ttext.push('<li><span style=\"background-color:' + chart.data.datasets[i].backgroundColor + '\"></span>');\n\t\t\t\t\tif (chart.data.datasets[i].label) {\n\t\t\t\t\t\ttext.push(chart.data.datasets[i].label);\n\t\t\t\t\t}\n\t\t\t\t\ttext.push('</li>');\n\t\t\t\t}\n\t\t\t\ttext.push('</ul>');\n\n\t\t\t\treturn text.join('');\n\t\t\t}\n\t\t}\n\t};\n\n\tChart.Chart = Chart;\n\n\treturn Chart;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/chart.js/src/core/core.js\n// module id = 1197\n// module chunks = 0","'use strict';\n\nmodule.exports = function(Chart) {\n\n\tvar helpers = Chart.helpers;\n\n\tfunction filterByPosition(array, position) {\n\t\treturn helpers.where(array, function(v) {\n\t\t\treturn v.position === position;\n\t\t});\n\t}\n\n\tfunction sortByWeight(array, reverse) {\n\t\tarray.forEach(function(v, i) {\n\t\t\tv._tmpIndex_ = i;\n\t\t\treturn v;\n\t\t});\n\t\tarray.sort(function(a, b) {\n\t\t\tvar v0 = reverse ? b : a;\n\t\t\tvar v1 = reverse ? a : b;\n\t\t\treturn v0.weight === v1.weight ?\n\t\t\t\tv0._tmpIndex_ - v1._tmpIndex_ :\n\t\t\t\tv0.weight - v1.weight;\n\t\t});\n\t\tarray.forEach(function(v) {\n\t\t\tdelete v._tmpIndex_;\n\t\t});\n\t}\n\n\t/**\n\t * @interface ILayoutItem\n\t * @prop {String} position - The position of the item in the chart layout. Possible values are\n\t * 'left', 'top', 'right', 'bottom', and 'chartArea'\n\t * @prop {Number} weight - The weight used to sort the item. Higher weights are further away from the chart area\n\t * @prop {Boolean} fullWidth - if true, and the item is horizontal, then push vertical boxes down\n\t * @prop {Function} isHorizontal - returns true if the layout item is horizontal (ie. top or bottom)\n\t * @prop {Function} update - Takes two parameters: width and height. Returns size of item\n\t * @prop {Function} getPadding -  Returns an object with padding on the edges\n\t * @prop {Number} width - Width of item. Must be valid after update()\n\t * @prop {Number} height - Height of item. Must be valid after update()\n\t * @prop {Number} left - Left edge of the item. Set by layout system and cannot be used in update\n\t * @prop {Number} top - Top edge of the item. Set by layout system and cannot be used in update\n\t * @prop {Number} right - Right edge of the item. Set by layout system and cannot be used in update\n\t * @prop {Number} bottom - Bottom edge of the item. Set by layout system and cannot be used in update\n\t */\n\n\t// The layout service is very self explanatory.  It's responsible for the layout within a chart.\n\t// Scales, Legends and Plugins all rely on the layout service and can easily register to be placed anywhere they need\n\t// It is this service's responsibility of carrying out that layout.\n\tChart.layoutService = {\n\t\tdefaults: {},\n\n\t\t/**\n\t\t * Register a box to a chart.\n\t\t * A box is simply a reference to an object that requires layout. eg. Scales, Legend, Title.\n\t\t * @param {Chart} chart - the chart to use\n\t\t * @param {ILayoutItem} item - the item to add to be layed out\n\t\t */\n\t\taddBox: function(chart, item) {\n\t\t\tif (!chart.boxes) {\n\t\t\t\tchart.boxes = [];\n\t\t\t}\n\n\t\t\t// initialize item with default values\n\t\t\titem.fullWidth = item.fullWidth || false;\n\t\t\titem.position = item.position || 'top';\n\t\t\titem.weight = item.weight || 0;\n\n\t\t\tchart.boxes.push(item);\n\t\t},\n\n\t\t/**\n\t\t * Remove a layoutItem from a chart\n\t\t * @param {Chart} chart - the chart to remove the box from\n\t\t * @param {Object} layoutItem - the item to remove from the layout\n\t\t */\n\t\tremoveBox: function(chart, layoutItem) {\n\t\t\tvar index = chart.boxes? chart.boxes.indexOf(layoutItem) : -1;\n\t\t\tif (index !== -1) {\n\t\t\t\tchart.boxes.splice(index, 1);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Sets (or updates) options on the given `item`.\n\t\t * @param {Chart} chart - the chart in which the item lives (or will be added to)\n\t\t * @param {Object} item - the item to configure with the given options\n\t\t * @param {Object} options - the new item options.\n\t\t */\n\t\tconfigure: function(chart, item, options) {\n\t\t\tvar props = ['fullWidth', 'position', 'weight'];\n\t\t\tvar ilen = props.length;\n\t\t\tvar i = 0;\n\t\t\tvar prop;\n\n\t\t\tfor (; i<ilen; ++i) {\n\t\t\t\tprop = props[i];\n\t\t\t\tif (options.hasOwnProperty(prop)) {\n\t\t\t\t\titem[prop] = options[prop];\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Fits boxes of the given chart into the given size by having each box measure itself\n\t\t * then running a fitting algorithm\n\t\t * @param {Chart} chart - the chart\n\t\t * @param {Number} width - the width to fit into\n\t\t * @param {Number} height - the height to fit into\n\t\t */\n\t\tupdate: function(chart, width, height) {\n\t\t\tif (!chart) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar layoutOptions = chart.options.layout;\n\t\t\tvar padding = layoutOptions ? layoutOptions.padding : null;\n\n\t\t\tvar leftPadding = 0;\n\t\t\tvar rightPadding = 0;\n\t\t\tvar topPadding = 0;\n\t\t\tvar bottomPadding = 0;\n\n\t\t\tif (!isNaN(padding)) {\n\t\t\t\t// options.layout.padding is a number. assign to all\n\t\t\t\tleftPadding = padding;\n\t\t\t\trightPadding = padding;\n\t\t\t\ttopPadding = padding;\n\t\t\t\tbottomPadding = padding;\n\t\t\t} else {\n\t\t\t\tleftPadding = padding.left || 0;\n\t\t\t\trightPadding = padding.right || 0;\n\t\t\t\ttopPadding = padding.top || 0;\n\t\t\t\tbottomPadding = padding.bottom || 0;\n\t\t\t}\n\n\t\t\tvar leftBoxes = filterByPosition(chart.boxes, 'left');\n\t\t\tvar rightBoxes = filterByPosition(chart.boxes, 'right');\n\t\t\tvar topBoxes = filterByPosition(chart.boxes, 'top');\n\t\t\tvar bottomBoxes = filterByPosition(chart.boxes, 'bottom');\n\t\t\tvar chartAreaBoxes = filterByPosition(chart.boxes, 'chartArea');\n\n\t\t\t// Sort boxes by weight. A higher weight is further away from the chart area\n\t\t\tsortByWeight(leftBoxes, true);\n\t\t\tsortByWeight(rightBoxes, false);\n\t\t\tsortByWeight(topBoxes, true);\n\t\t\tsortByWeight(bottomBoxes, false);\n\n\t\t\t// Essentially we now have any number of boxes on each of the 4 sides.\n\t\t\t// Our canvas looks like the following.\n\t\t\t// The areas L1 and L2 are the left axes. R1 is the right axis, T1 is the top axis and\n\t\t\t// B1 is the bottom axis\n\t\t\t// There are also 4 quadrant-like locations (left to right instead of clockwise) reserved for chart overlays\n\t\t\t// These locations are single-box locations only, when trying to register a chartArea location that is already taken,\n\t\t\t// an error will be thrown.\n\t\t\t//\n\t\t\t// |----------------------------------------------------|\n\t\t\t// |                  T1 (Full Width)                   |\n\t\t\t// |----------------------------------------------------|\n\t\t\t// |    |    |                 T2                  |    |\n\t\t\t// |    |----|-------------------------------------|----|\n\t\t\t// |    |    | C1 |                           | C2 |    |\n\t\t\t// |    |    |----|                           |----|    |\n\t\t\t// |    |    |                                     |    |\n\t\t\t// | L1 | L2 |           ChartArea (C0)            | R1 |\n\t\t\t// |    |    |                                     |    |\n\t\t\t// |    |    |----|                           |----|    |\n\t\t\t// |    |    | C3 |                           | C4 |    |\n\t\t\t// |    |----|-------------------------------------|----|\n\t\t\t// |    |    |                 B1                  |    |\n\t\t\t// |----------------------------------------------------|\n\t\t\t// |                  B2 (Full Width)                   |\n\t\t\t// |----------------------------------------------------|\n\t\t\t//\n\t\t\t// What we do to find the best sizing, we do the following\n\t\t\t// 1. Determine the minimum size of the chart area.\n\t\t\t// 2. Split the remaining width equally between each vertical axis\n\t\t\t// 3. Split the remaining height equally between each horizontal axis\n\t\t\t// 4. Give each layout the maximum size it can be. The layout will return it's minimum size\n\t\t\t// 5. Adjust the sizes of each axis based on it's minimum reported size.\n\t\t\t// 6. Refit each axis\n\t\t\t// 7. Position each axis in the final location\n\t\t\t// 8. Tell the chart the final location of the chart area\n\t\t\t// 9. Tell any axes that overlay the chart area the positions of the chart area\n\n\t\t\t// Step 1\n\t\t\tvar chartWidth = width - leftPadding - rightPadding;\n\t\t\tvar chartHeight = height - topPadding - bottomPadding;\n\t\t\tvar chartAreaWidth = chartWidth / 2; // min 50%\n\t\t\tvar chartAreaHeight = chartHeight / 2; // min 50%\n\n\t\t\t// Step 2\n\t\t\tvar verticalBoxWidth = (width - chartAreaWidth) / (leftBoxes.length + rightBoxes.length);\n\n\t\t\t// Step 3\n\t\t\tvar horizontalBoxHeight = (height - chartAreaHeight) / (topBoxes.length + bottomBoxes.length);\n\n\t\t\t// Step 4\n\t\t\tvar maxChartAreaWidth = chartWidth;\n\t\t\tvar maxChartAreaHeight = chartHeight;\n\t\t\tvar minBoxSizes = [];\n\n\t\t\tfunction getMinimumBoxSize(box) {\n\t\t\t\tvar minSize;\n\t\t\t\tvar isHorizontal = box.isHorizontal();\n\n\t\t\t\tif (isHorizontal) {\n\t\t\t\t\tminSize = box.update(box.fullWidth ? chartWidth : maxChartAreaWidth, horizontalBoxHeight);\n\t\t\t\t\tmaxChartAreaHeight -= minSize.height;\n\t\t\t\t} else {\n\t\t\t\t\tminSize = box.update(verticalBoxWidth, chartAreaHeight);\n\t\t\t\t\tmaxChartAreaWidth -= minSize.width;\n\t\t\t\t}\n\n\t\t\t\tminBoxSizes.push({\n\t\t\t\t\thorizontal: isHorizontal,\n\t\t\t\t\tminSize: minSize,\n\t\t\t\t\tbox: box,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\thelpers.each(leftBoxes.concat(rightBoxes, topBoxes, bottomBoxes), getMinimumBoxSize);\n\n\t\t\t// If a horizontal box has padding, we move the left boxes over to avoid ugly charts (see issue #2478)\n\t\t\tvar maxHorizontalLeftPadding = 0;\n\t\t\tvar maxHorizontalRightPadding = 0;\n\t\t\tvar maxVerticalTopPadding = 0;\n\t\t\tvar maxVerticalBottomPadding = 0;\n\n\t\t\thelpers.each(topBoxes.concat(bottomBoxes), function(horizontalBox) {\n\t\t\t\tif (horizontalBox.getPadding) {\n\t\t\t\t\tvar boxPadding = horizontalBox.getPadding();\n\t\t\t\t\tmaxHorizontalLeftPadding = Math.max(maxHorizontalLeftPadding, boxPadding.left);\n\t\t\t\t\tmaxHorizontalRightPadding = Math.max(maxHorizontalRightPadding, boxPadding.right);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\thelpers.each(leftBoxes.concat(rightBoxes), function(verticalBox) {\n\t\t\t\tif (verticalBox.getPadding) {\n\t\t\t\t\tvar boxPadding = verticalBox.getPadding();\n\t\t\t\t\tmaxVerticalTopPadding = Math.max(maxVerticalTopPadding, boxPadding.top);\n\t\t\t\t\tmaxVerticalBottomPadding = Math.max(maxVerticalBottomPadding, boxPadding.bottom);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// At this point, maxChartAreaHeight and maxChartAreaWidth are the size the chart area could\n\t\t\t// be if the axes are drawn at their minimum sizes.\n\t\t\t// Steps 5 & 6\n\t\t\tvar totalLeftBoxesWidth = leftPadding;\n\t\t\tvar totalRightBoxesWidth = rightPadding;\n\t\t\tvar totalTopBoxesHeight = topPadding;\n\t\t\tvar totalBottomBoxesHeight = bottomPadding;\n\n\t\t\t// Function to fit a box\n\t\t\tfunction fitBox(box) {\n\t\t\t\tvar minBoxSize = helpers.findNextWhere(minBoxSizes, function(minBox) {\n\t\t\t\t\treturn minBox.box === box;\n\t\t\t\t});\n\n\t\t\t\tif (minBoxSize) {\n\t\t\t\t\tif (box.isHorizontal()) {\n\t\t\t\t\t\tvar scaleMargin = {\n\t\t\t\t\t\t\tleft: Math.max(totalLeftBoxesWidth, maxHorizontalLeftPadding),\n\t\t\t\t\t\t\tright: Math.max(totalRightBoxesWidth, maxHorizontalRightPadding),\n\t\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\t\tbottom: 0\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\t// Don't use min size here because of label rotation. When the labels are rotated, their rotation highly depends\n\t\t\t\t\t\t// on the margin. Sometimes they need to increase in size slightly\n\t\t\t\t\t\tbox.update(box.fullWidth ? chartWidth : maxChartAreaWidth, chartHeight / 2, scaleMargin);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbox.update(minBoxSize.minSize.width, maxChartAreaHeight);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Update, and calculate the left and right margins for the horizontal boxes\n\t\t\thelpers.each(leftBoxes.concat(rightBoxes), fitBox);\n\n\t\t\thelpers.each(leftBoxes, function(box) {\n\t\t\t\ttotalLeftBoxesWidth += box.width;\n\t\t\t});\n\n\t\t\thelpers.each(rightBoxes, function(box) {\n\t\t\t\ttotalRightBoxesWidth += box.width;\n\t\t\t});\n\n\t\t\t// Set the Left and Right margins for the horizontal boxes\n\t\t\thelpers.each(topBoxes.concat(bottomBoxes), fitBox);\n\n\t\t\t// Figure out how much margin is on the top and bottom of the vertical boxes\n\t\t\thelpers.each(topBoxes, function(box) {\n\t\t\t\ttotalTopBoxesHeight += box.height;\n\t\t\t});\n\n\t\t\thelpers.each(bottomBoxes, function(box) {\n\t\t\t\ttotalBottomBoxesHeight += box.height;\n\t\t\t});\n\n\t\t\tfunction finalFitVerticalBox(box) {\n\t\t\t\tvar minBoxSize = helpers.findNextWhere(minBoxSizes, function(minSize) {\n\t\t\t\t\treturn minSize.box === box;\n\t\t\t\t});\n\n\t\t\t\tvar scaleMargin = {\n\t\t\t\t\tleft: 0,\n\t\t\t\t\tright: 0,\n\t\t\t\t\ttop: totalTopBoxesHeight,\n\t\t\t\t\tbottom: totalBottomBoxesHeight\n\t\t\t\t};\n\n\t\t\t\tif (minBoxSize) {\n\t\t\t\t\tbox.update(minBoxSize.minSize.width, maxChartAreaHeight, scaleMargin);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Let the left layout know the final margin\n\t\t\thelpers.each(leftBoxes.concat(rightBoxes), finalFitVerticalBox);\n\n\t\t\t// Recalculate because the size of each layout might have changed slightly due to the margins (label rotation for instance)\n\t\t\ttotalLeftBoxesWidth = leftPadding;\n\t\t\ttotalRightBoxesWidth = rightPadding;\n\t\t\ttotalTopBoxesHeight = topPadding;\n\t\t\ttotalBottomBoxesHeight = bottomPadding;\n\n\t\t\thelpers.each(leftBoxes, function(box) {\n\t\t\t\ttotalLeftBoxesWidth += box.width;\n\t\t\t});\n\n\t\t\thelpers.each(rightBoxes, function(box) {\n\t\t\t\ttotalRightBoxesWidth += box.width;\n\t\t\t});\n\n\t\t\thelpers.each(topBoxes, function(box) {\n\t\t\t\ttotalTopBoxesHeight += box.height;\n\t\t\t});\n\t\t\thelpers.each(bottomBoxes, function(box) {\n\t\t\t\ttotalBottomBoxesHeight += box.height;\n\t\t\t});\n\n\t\t\t// We may be adding some padding to account for rotated x axis labels\n\t\t\tvar leftPaddingAddition = Math.max(maxHorizontalLeftPadding - totalLeftBoxesWidth, 0);\n\t\t\ttotalLeftBoxesWidth += leftPaddingAddition;\n\t\t\ttotalRightBoxesWidth += Math.max(maxHorizontalRightPadding - totalRightBoxesWidth, 0);\n\n\t\t\tvar topPaddingAddition = Math.max(maxVerticalTopPadding - totalTopBoxesHeight, 0);\n\t\t\ttotalTopBoxesHeight += topPaddingAddition;\n\t\t\ttotalBottomBoxesHeight += Math.max(maxVerticalBottomPadding - totalBottomBoxesHeight, 0);\n\n\t\t\t// Figure out if our chart area changed. This would occur if the dataset layout label rotation\n\t\t\t// changed due to the application of the margins in step 6. Since we can only get bigger, this is safe to do\n\t\t\t// without calling `fit` again\n\t\t\tvar newMaxChartAreaHeight = height - totalTopBoxesHeight - totalBottomBoxesHeight;\n\t\t\tvar newMaxChartAreaWidth = width - totalLeftBoxesWidth - totalRightBoxesWidth;\n\n\t\t\tif (newMaxChartAreaWidth !== maxChartAreaWidth || newMaxChartAreaHeight !== maxChartAreaHeight) {\n\t\t\t\thelpers.each(leftBoxes, function(box) {\n\t\t\t\t\tbox.height = newMaxChartAreaHeight;\n\t\t\t\t});\n\n\t\t\t\thelpers.each(rightBoxes, function(box) {\n\t\t\t\t\tbox.height = newMaxChartAreaHeight;\n\t\t\t\t});\n\n\t\t\t\thelpers.each(topBoxes, function(box) {\n\t\t\t\t\tif (!box.fullWidth) {\n\t\t\t\t\t\tbox.width = newMaxChartAreaWidth;\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\thelpers.each(bottomBoxes, function(box) {\n\t\t\t\t\tif (!box.fullWidth) {\n\t\t\t\t\t\tbox.width = newMaxChartAreaWidth;\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tmaxChartAreaHeight = newMaxChartAreaHeight;\n\t\t\t\tmaxChartAreaWidth = newMaxChartAreaWidth;\n\t\t\t}\n\n\t\t\t// Step 7 - Position the boxes\n\t\t\tvar left = leftPadding + leftPaddingAddition;\n\t\t\tvar top = topPadding + topPaddingAddition;\n\n\t\t\tfunction placeBox(box) {\n\t\t\t\tif (box.isHorizontal()) {\n\t\t\t\t\tbox.left = box.fullWidth ? leftPadding : totalLeftBoxesWidth;\n\t\t\t\t\tbox.right = box.fullWidth ? width - rightPadding : totalLeftBoxesWidth + maxChartAreaWidth;\n\t\t\t\t\tbox.top = top;\n\t\t\t\t\tbox.bottom = top + box.height;\n\n\t\t\t\t\t// Move to next point\n\t\t\t\t\ttop = box.bottom;\n\n\t\t\t\t} else {\n\n\t\t\t\t\tbox.left = left;\n\t\t\t\t\tbox.right = left + box.width;\n\t\t\t\t\tbox.top = totalTopBoxesHeight;\n\t\t\t\t\tbox.bottom = totalTopBoxesHeight + maxChartAreaHeight;\n\n\t\t\t\t\t// Move to next point\n\t\t\t\t\tleft = box.right;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\thelpers.each(leftBoxes.concat(topBoxes), placeBox);\n\n\t\t\t// Account for chart width and height\n\t\t\tleft += maxChartAreaWidth;\n\t\t\ttop += maxChartAreaHeight;\n\n\t\t\thelpers.each(rightBoxes, placeBox);\n\t\t\thelpers.each(bottomBoxes, placeBox);\n\n\t\t\t// Step 8\n\t\t\tchart.chartArea = {\n\t\t\t\tleft: totalLeftBoxesWidth,\n\t\t\t\ttop: totalTopBoxesHeight,\n\t\t\t\tright: totalLeftBoxesWidth + maxChartAreaWidth,\n\t\t\t\tbottom: totalTopBoxesHeight + maxChartAreaHeight\n\t\t\t};\n\n\t\t\t// Step 9\n\t\t\thelpers.each(chartAreaBoxes, function(box) {\n\t\t\t\tbox.left = chart.chartArea.left;\n\t\t\t\tbox.top = chart.chartArea.top;\n\t\t\t\tbox.right = chart.chartArea.right;\n\t\t\t\tbox.bottom = chart.chartArea.bottom;\n\n\t\t\t\tbox.update(maxChartAreaWidth, maxChartAreaHeight);\n\t\t\t});\n\t\t}\n\t};\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/chart.js/src/core/core.layoutService.js\n// module id = 1198\n// module chunks = 0","'use strict';\n\nmodule.exports = function(Chart) {\n\n\tvar helpers = Chart.helpers;\n\n\tChart.defaults.global.plugins = {};\n\n\t/**\n\t * The plugin service singleton\n\t * @namespace Chart.plugins\n\t * @since 2.1.0\n\t */\n\tChart.plugins = {\n\t\t/**\n\t\t * Globally registered plugins.\n\t\t * @private\n\t\t */\n\t\t_plugins: [],\n\n\t\t/**\n\t\t * This identifier is used to invalidate the descriptors cache attached to each chart\n\t\t * when a global plugin is registered or unregistered. In this case, the cache ID is\n\t\t * incremented and descriptors are regenerated during following API calls.\n\t\t * @private\n\t\t */\n\t\t_cacheId: 0,\n\n\t\t/**\n\t\t * Registers the given plugin(s) if not already registered.\n\t\t * @param {Array|Object} plugins plugin instance(s).\n\t\t */\n\t\tregister: function(plugins) {\n\t\t\tvar p = this._plugins;\n\t\t\t([]).concat(plugins).forEach(function(plugin) {\n\t\t\t\tif (p.indexOf(plugin) === -1) {\n\t\t\t\t\tp.push(plugin);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tthis._cacheId++;\n\t\t},\n\n\t\t/**\n\t\t * Unregisters the given plugin(s) only if registered.\n\t\t * @param {Array|Object} plugins plugin instance(s).\n\t\t */\n\t\tunregister: function(plugins) {\n\t\t\tvar p = this._plugins;\n\t\t\t([]).concat(plugins).forEach(function(plugin) {\n\t\t\t\tvar idx = p.indexOf(plugin);\n\t\t\t\tif (idx !== -1) {\n\t\t\t\t\tp.splice(idx, 1);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tthis._cacheId++;\n\t\t},\n\n\t\t/**\n\t\t * Remove all registered plugins.\n\t\t * @since 2.1.5\n\t\t */\n\t\tclear: function() {\n\t\t\tthis._plugins = [];\n\t\t\tthis._cacheId++;\n\t\t},\n\n\t\t/**\n\t\t * Returns the number of registered plugins?\n\t\t * @returns {Number}\n\t\t * @since 2.1.5\n\t\t */\n\t\tcount: function() {\n\t\t\treturn this._plugins.length;\n\t\t},\n\n\t\t/**\n\t\t * Returns all registered plugin instances.\n\t\t * @returns {Array} array of plugin objects.\n\t\t * @since 2.1.5\n\t\t */\n\t\tgetAll: function() {\n\t\t\treturn this._plugins;\n\t\t},\n\n\t\t/**\n\t\t * Calls enabled plugins for `chart` on the specified hook and with the given args.\n\t\t * This method immediately returns as soon as a plugin explicitly returns false. The\n\t\t * returned value can be used, for instance, to interrupt the current action.\n\t\t * @param {Object} chart - The chart instance for which plugins should be called.\n\t\t * @param {String} hook - The name of the plugin method to call (e.g. 'beforeUpdate').\n\t\t * @param {Array} [args] - Extra arguments to apply to the hook call.\n\t\t * @returns {Boolean} false if any of the plugins return false, else returns true.\n\t\t */\n\t\tnotify: function(chart, hook, args) {\n\t\t\tvar descriptors = this.descriptors(chart);\n\t\t\tvar ilen = descriptors.length;\n\t\t\tvar i, descriptor, plugin, params, method;\n\n\t\t\tfor (i=0; i<ilen; ++i) {\n\t\t\t\tdescriptor = descriptors[i];\n\t\t\t\tplugin = descriptor.plugin;\n\t\t\t\tmethod = plugin[hook];\n\t\t\t\tif (typeof method === 'function') {\n\t\t\t\t\tparams = [chart].concat(args || []);\n\t\t\t\t\tparams.push(descriptor.options);\n\t\t\t\t\tif (method.apply(plugin, params) === false) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn true;\n\t\t},\n\n\t\t/**\n\t\t * Returns descriptors of enabled plugins for the given chart.\n\t\t * @returns {Array} [{ plugin, options }]\n\t\t * @private\n\t\t */\n\t\tdescriptors: function(chart) {\n\t\t\tvar cache = chart._plugins || (chart._plugins = {});\n\t\t\tif (cache.id === this._cacheId) {\n\t\t\t\treturn cache.descriptors;\n\t\t\t}\n\n\t\t\tvar plugins = [];\n\t\t\tvar descriptors = [];\n\t\t\tvar config = (chart && chart.config) || {};\n\t\t\tvar defaults = Chart.defaults.global.plugins;\n\t\t\tvar options = (config.options && config.options.plugins) || {};\n\n\t\t\tthis._plugins.concat(config.plugins || []).forEach(function(plugin) {\n\t\t\t\tvar idx = plugins.indexOf(plugin);\n\t\t\t\tif (idx !== -1) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tvar id = plugin.id;\n\t\t\t\tvar opts = options[id];\n\t\t\t\tif (opts === false) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (opts === true) {\n\t\t\t\t\topts = helpers.clone(defaults[id]);\n\t\t\t\t}\n\n\t\t\t\tplugins.push(plugin);\n\t\t\t\tdescriptors.push({\n\t\t\t\t\tplugin: plugin,\n\t\t\t\t\toptions: opts || {}\n\t\t\t\t});\n\t\t\t});\n\n\t\t\tcache.descriptors = descriptors;\n\t\t\tcache.id = this._cacheId;\n\t\t\treturn descriptors;\n\t\t}\n\t};\n\n\t/**\n\t * Plugin extension hooks.\n\t * @interface IPlugin\n\t * @since 2.1.0\n\t */\n\t/**\n\t * @method IPlugin#beforeInit\n\t * @desc Called before initializing `chart`.\n\t * @param {Chart.Controller} chart - The chart instance.\n\t * @param {Object} options - The plugin options.\n\t */\n\t/**\n\t * @method IPlugin#afterInit\n\t * @desc Called after `chart` has been initialized and before the first update.\n\t * @param {Chart.Controller} chart - The chart instance.\n\t * @param {Object} options - The plugin options.\n\t */\n\t/**\n\t * @method IPlugin#beforeUpdate\n\t * @desc Called before updating `chart`. If any plugin returns `false`, the update\n\t * is cancelled (and thus subsequent render(s)) until another `update` is triggered.\n\t * @param {Chart.Controller} chart - The chart instance.\n\t * @param {Object} options - The plugin options.\n\t * @returns {Boolean} `false` to cancel the chart update.\n\t */\n\t/**\n\t * @method IPlugin#afterUpdate\n\t * @desc Called after `chart` has been updated and before rendering. Note that this\n\t * hook will not be called if the chart update has been previously cancelled.\n\t * @param {Chart.Controller} chart - The chart instance.\n\t * @param {Object} options - The plugin options.\n\t */\n\t/**\n\t * @method IPlugin#beforeDatasetsUpdate\n \t * @desc Called before updating the `chart` datasets. If any plugin returns `false`,\n\t * the datasets update is cancelled until another `update` is triggered.\n\t * @param {Chart.Controller} chart - The chart instance.\n\t * @param {Object} options - The plugin options.\n\t * @returns {Boolean} false to cancel the datasets update.\n\t * @since version 2.1.5\n\t */\n\t/**\n\t * @method IPlugin#afterDatasetsUpdate\n\t * @desc Called after the `chart` datasets have been updated. Note that this hook\n\t * will not be called if the datasets update has been previously cancelled.\n\t * @param {Chart.Controller} chart - The chart instance.\n\t * @param {Object} options - The plugin options.\n\t * @since version 2.1.5\n\t */\n\t/**\n\t * @method IPlugin#beforeDatasetUpdate\n \t * @desc Called before updating the `chart` dataset at the given `args.index`. If any plugin\n\t * returns `false`, the datasets update is cancelled until another `update` is triggered.\n\t * @param {Chart} chart - The chart instance.\n\t * @param {Object} args - The call arguments.\n\t * @param {Object} args.index - The dataset index.\n\t * @param {Number} args.meta - The dataset metadata.\n\t * @param {Object} options - The plugin options.\n\t * @returns {Boolean} `false` to cancel the chart datasets drawing.\n\t */\n\t/**\n\t * @method IPlugin#afterDatasetUpdate\n \t * @desc Called after the `chart` datasets at the given `args.index` has been updated. Note\n\t * that this hook will not be called if the datasets update has been previously cancelled.\n\t * @param {Chart} chart - The chart instance.\n\t * @param {Object} args - The call arguments.\n\t * @param {Object} args.index - The dataset index.\n\t * @param {Number} args.meta - The dataset metadata.\n\t * @param {Object} options - The plugin options.\n\t */\n\t/**\n\t * @method IPlugin#beforeLayout\n\t * @desc Called before laying out `chart`. If any plugin returns `false`,\n\t * the layout update is cancelled until another `update` is triggered.\n\t * @param {Chart.Controller} chart - The chart instance.\n\t * @param {Object} options - The plugin options.\n\t * @returns {Boolean} `false` to cancel the chart layout.\n\t */\n\t/**\n\t * @method IPlugin#afterLayout\n\t * @desc Called after the `chart` has been layed out. Note that this hook will not\n\t * be called if the layout update has been previously cancelled.\n\t * @param {Chart.Controller} chart - The chart instance.\n\t * @param {Object} options - The plugin options.\n\t */\n\t/**\n\t * @method IPlugin#beforeRender\n\t * @desc Called before rendering `chart`. If any plugin returns `false`,\n\t * the rendering is cancelled until another `render` is triggered.\n\t * @param {Chart.Controller} chart - The chart instance.\n\t * @param {Object} options - The plugin options.\n\t * @returns {Boolean} `false` to cancel the chart rendering.\n\t */\n\t/**\n\t * @method IPlugin#afterRender\n\t * @desc Called after the `chart` has been fully rendered (and animation completed). Note\n\t * that this hook will not be called if the rendering has been previously cancelled.\n\t * @param {Chart.Controller} chart - The chart instance.\n\t * @param {Object} options - The plugin options.\n\t */\n\t/**\n\t * @method IPlugin#beforeDraw\n\t * @desc Called before drawing `chart` at every animation frame specified by the given\n\t * easing value. If any plugin returns `false`, the frame drawing is cancelled until\n\t * another `render` is triggered.\n\t * @param {Chart.Controller} chart - The chart instance.\n\t * @param {Number} easingValue - The current animation value, between 0.0 and 1.0.\n\t * @param {Object} options - The plugin options.\n\t * @returns {Boolean} `false` to cancel the chart drawing.\n\t */\n\t/**\n\t * @method IPlugin#afterDraw\n\t * @desc Called after the `chart` has been drawn for the specific easing value. Note\n\t * that this hook will not be called if the drawing has been previously cancelled.\n\t * @param {Chart.Controller} chart - The chart instance.\n\t * @param {Number} easingValue - The current animation value, between 0.0 and 1.0.\n\t * @param {Object} options - The plugin options.\n\t */\n\t/**\n\t * @method IPlugin#beforeDatasetsDraw\n \t * @desc Called before drawing the `chart` datasets. If any plugin returns `false`,\n\t * the datasets drawing is cancelled until another `render` is triggered.\n\t * @param {Chart.Controller} chart - The chart instance.\n\t * @param {Number} easingValue - The current animation value, between 0.0 and 1.0.\n\t * @param {Object} options - The plugin options.\n\t * @returns {Boolean} `false` to cancel the chart datasets drawing.\n\t */\n\t/**\n\t * @method IPlugin#afterDatasetsDraw\n\t * @desc Called after the `chart` datasets have been drawn. Note that this hook\n\t * will not be called if the datasets drawing has been previously cancelled.\n\t * @param {Chart.Controller} chart - The chart instance.\n\t * @param {Number} easingValue - The current animation value, between 0.0 and 1.0.\n\t * @param {Object} options - The plugin options.\n\t */\n\t/**\n\t * @method IPlugin#beforeDatasetDraw\n \t * @desc Called before drawing the `chart` dataset at the given `args.index` (datasets\n\t * are drawn in the reverse order). If any plugin returns `false`, the datasets drawing\n\t * is cancelled until another `render` is triggered.\n\t * @param {Chart} chart - The chart instance.\n\t * @param {Object} args - The call arguments.\n\t * @param {Object} args.index - The dataset index.\n\t * @param {Number} args.meta - The dataset metadata.\n\t * @param {Number} args.easingValue - The current animation value, between 0.0 and 1.0.\n\t * @param {Object} options - The plugin options.\n\t * @returns {Boolean} `false` to cancel the chart datasets drawing.\n\t */\n\t/**\n\t * @method IPlugin#afterDatasetDraw\n \t * @desc Called after the `chart` datasets at the given `args.index` have been drawn\n\t * (datasets are drawn in the reverse order). Note that this hook will not be called\n\t * if the datasets drawing has been previously cancelled.\n\t * @param {Chart} chart - The chart instance.\n\t * @param {Object} args - The call arguments.\n\t * @param {Object} args.index - The dataset index.\n\t * @param {Number} args.meta - The dataset metadata.\n\t * @param {Number} args.easingValue - The current animation value, between 0.0 and 1.0.\n\t * @param {Object} options - The plugin options.\n\t */\n\t/**\n\t * @method IPlugin#beforeEvent\n \t * @desc Called before processing the specified `event`. If any plugin returns `false`,\n\t * the event will be discarded.\n\t * @param {Chart.Controller} chart - The chart instance.\n\t * @param {IEvent} event - The event object.\n\t * @param {Object} options - The plugin options.\n\t */\n\t/**\n\t * @method IPlugin#afterEvent\n\t * @desc Called after the `event` has been consumed. Note that this hook\n\t * will not be called if the `event` has been previously discarded.\n\t * @param {Chart.Controller} chart - The chart instance.\n\t * @param {IEvent} event - The event object.\n\t * @param {Object} options - The plugin options.\n\t */\n\t/**\n\t * @method IPlugin#resize\n\t * @desc Called after the chart as been resized.\n\t * @param {Chart.Controller} chart - The chart instance.\n\t * @param {Number} size - The new canvas display size (eq. canvas.style width & height).\n\t * @param {Object} options - The plugin options.\n\t */\n\t/**\n\t * @method IPlugin#destroy\n\t * @desc Called after the chart as been destroyed.\n\t * @param {Chart.Controller} chart - The chart instance.\n\t * @param {Object} options - The plugin options.\n\t */\n\n\t/**\n\t * Provided for backward compatibility, use Chart.plugins instead\n\t * @namespace Chart.pluginService\n\t * @deprecated since version 2.1.5\n\t * @todo remove at version 3\n\t * @private\n\t */\n\tChart.pluginService = Chart.plugins;\n\n\t/**\n\t * Provided for backward compatibility, inheriting from Chart.PlugingBase has no\n\t * effect, instead simply create/register plugins via plain JavaScript objects.\n\t * @interface Chart.PluginBase\n\t * @deprecated since version 2.5.0\n\t * @todo remove at version 3\n\t * @private\n\t */\n\tChart.PluginBase = Chart.Element.extend({});\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/chart.js/src/core/core.plugin.js\n// module id = 1199\n// module chunks = 0","'use strict';\n\nmodule.exports = function(Chart) {\n\n\tvar helpers = Chart.helpers;\n\n\tChart.defaults.scale = {\n\t\tdisplay: true,\n\t\tposition: 'left',\n\n\t\t// grid line settings\n\t\tgridLines: {\n\t\t\tdisplay: true,\n\t\t\tcolor: 'rgba(0, 0, 0, 0.1)',\n\t\t\tlineWidth: 1,\n\t\t\tdrawBorder: true,\n\t\t\tdrawOnChartArea: true,\n\t\t\tdrawTicks: true,\n\t\t\ttickMarkLength: 10,\n\t\t\tzeroLineWidth: 1,\n\t\t\tzeroLineColor: 'rgba(0,0,0,0.25)',\n\t\t\tzeroLineBorderDash: [],\n\t\t\tzeroLineBorderDashOffset: 0.0,\n\t\t\toffsetGridLines: false,\n\t\t\tborderDash: [],\n\t\t\tborderDashOffset: 0.0\n\t\t},\n\n\t\t// scale label\n\t\tscaleLabel: {\n\t\t\t// actual label\n\t\t\tlabelString: '',\n\n\t\t\t// display property\n\t\t\tdisplay: false\n\t\t},\n\n\t\t// label settings\n\t\tticks: {\n\t\t\tbeginAtZero: false,\n\t\t\tminRotation: 0,\n\t\t\tmaxRotation: 50,\n\t\t\tmirror: false,\n\t\t\tpadding: 0,\n\t\t\treverse: false,\n\t\t\tdisplay: true,\n\t\t\tautoSkip: true,\n\t\t\tautoSkipPadding: 0,\n\t\t\tlabelOffset: 0,\n\t\t\t// We pass through arrays to be rendered as multiline labels, we convert Others to strings here.\n\t\t\tcallback: Chart.Ticks.formatters.values\n\t\t}\n\t};\n\n\tfunction computeTextSize(context, tick, font) {\n\t\treturn helpers.isArray(tick) ?\n\t\t\thelpers.longestText(context, font, tick) :\n\t\t\tcontext.measureText(tick).width;\n\t}\n\n\tfunction parseFontOptions(options) {\n\t\tvar getValueOrDefault = helpers.getValueOrDefault;\n\t\tvar globalDefaults = Chart.defaults.global;\n\t\tvar size = getValueOrDefault(options.fontSize, globalDefaults.defaultFontSize);\n\t\tvar style = getValueOrDefault(options.fontStyle, globalDefaults.defaultFontStyle);\n\t\tvar family = getValueOrDefault(options.fontFamily, globalDefaults.defaultFontFamily);\n\n\t\treturn {\n\t\t\tsize: size,\n\t\t\tstyle: style,\n\t\t\tfamily: family,\n\t\t\tfont: helpers.fontString(size, style, family)\n\t\t};\n\t}\n\n\tChart.Scale = Chart.Element.extend({\n\t\t/**\n\t\t * Get the padding needed for the scale\n\t\t * @method getPadding\n\t\t * @private\n\t\t * @returns {Padding} the necessary padding\n\t\t */\n\t\tgetPadding: function() {\n\t\t\tvar me = this;\n\t\t\treturn {\n\t\t\t\tleft: me.paddingLeft || 0,\n\t\t\t\ttop: me.paddingTop || 0,\n\t\t\t\tright: me.paddingRight || 0,\n\t\t\t\tbottom: me.paddingBottom || 0\n\t\t\t};\n\t\t},\n\n\t\t// These methods are ordered by lifecyle. Utilities then follow.\n\t\t// Any function defined here is inherited by all scale types.\n\t\t// Any function can be extended by the scale type\n\n\t\tbeforeUpdate: function() {\n\t\t\thelpers.callback(this.options.beforeUpdate, [this]);\n\t\t},\n\t\tupdate: function(maxWidth, maxHeight, margins) {\n\t\t\tvar me = this;\n\n\t\t\t// Update Lifecycle - Probably don't want to ever extend or overwrite this function ;)\n\t\t\tme.beforeUpdate();\n\n\t\t\t// Absorb the master measurements\n\t\t\tme.maxWidth = maxWidth;\n\t\t\tme.maxHeight = maxHeight;\n\t\t\tme.margins = helpers.extend({\n\t\t\t\tleft: 0,\n\t\t\t\tright: 0,\n\t\t\t\ttop: 0,\n\t\t\t\tbottom: 0\n\t\t\t}, margins);\n\t\t\tme.longestTextCache = me.longestTextCache || {};\n\n\t\t\t// Dimensions\n\t\t\tme.beforeSetDimensions();\n\t\t\tme.setDimensions();\n\t\t\tme.afterSetDimensions();\n\n\t\t\t// Data min/max\n\t\t\tme.beforeDataLimits();\n\t\t\tme.determineDataLimits();\n\t\t\tme.afterDataLimits();\n\n\t\t\t// Ticks\n\t\t\tme.beforeBuildTicks();\n\t\t\tme.buildTicks();\n\t\t\tme.afterBuildTicks();\n\n\t\t\tme.beforeTickToLabelConversion();\n\t\t\tme.convertTicksToLabels();\n\t\t\tme.afterTickToLabelConversion();\n\n\t\t\t// Tick Rotation\n\t\t\tme.beforeCalculateTickRotation();\n\t\t\tme.calculateTickRotation();\n\t\t\tme.afterCalculateTickRotation();\n\t\t\t// Fit\n\t\t\tme.beforeFit();\n\t\t\tme.fit();\n\t\t\tme.afterFit();\n\t\t\t//\n\t\t\tme.afterUpdate();\n\n\t\t\treturn me.minSize;\n\n\t\t},\n\t\tafterUpdate: function() {\n\t\t\thelpers.callback(this.options.afterUpdate, [this]);\n\t\t},\n\n\t\t//\n\n\t\tbeforeSetDimensions: function() {\n\t\t\thelpers.callback(this.options.beforeSetDimensions, [this]);\n\t\t},\n\t\tsetDimensions: function() {\n\t\t\tvar me = this;\n\t\t\t// Set the unconstrained dimension before label rotation\n\t\t\tif (me.isHorizontal()) {\n\t\t\t\t// Reset position before calculating rotation\n\t\t\t\tme.width = me.maxWidth;\n\t\t\t\tme.left = 0;\n\t\t\t\tme.right = me.width;\n\t\t\t} else {\n\t\t\t\tme.height = me.maxHeight;\n\n\t\t\t\t// Reset position before calculating rotation\n\t\t\t\tme.top = 0;\n\t\t\t\tme.bottom = me.height;\n\t\t\t}\n\n\t\t\t// Reset padding\n\t\t\tme.paddingLeft = 0;\n\t\t\tme.paddingTop = 0;\n\t\t\tme.paddingRight = 0;\n\t\t\tme.paddingBottom = 0;\n\t\t},\n\t\tafterSetDimensions: function() {\n\t\t\thelpers.callback(this.options.afterSetDimensions, [this]);\n\t\t},\n\n\t\t// Data limits\n\t\tbeforeDataLimits: function() {\n\t\t\thelpers.callback(this.options.beforeDataLimits, [this]);\n\t\t},\n\t\tdetermineDataLimits: helpers.noop,\n\t\tafterDataLimits: function() {\n\t\t\thelpers.callback(this.options.afterDataLimits, [this]);\n\t\t},\n\n\t\t//\n\t\tbeforeBuildTicks: function() {\n\t\t\thelpers.callback(this.options.beforeBuildTicks, [this]);\n\t\t},\n\t\tbuildTicks: helpers.noop,\n\t\tafterBuildTicks: function() {\n\t\t\thelpers.callback(this.options.afterBuildTicks, [this]);\n\t\t},\n\n\t\tbeforeTickToLabelConversion: function() {\n\t\t\thelpers.callback(this.options.beforeTickToLabelConversion, [this]);\n\t\t},\n\t\tconvertTicksToLabels: function() {\n\t\t\tvar me = this;\n\t\t\t// Convert ticks to strings\n\t\t\tvar tickOpts = me.options.ticks;\n\t\t\tme.ticks = me.ticks.map(tickOpts.userCallback || tickOpts.callback);\n\t\t},\n\t\tafterTickToLabelConversion: function() {\n\t\t\thelpers.callback(this.options.afterTickToLabelConversion, [this]);\n\t\t},\n\n\t\t//\n\n\t\tbeforeCalculateTickRotation: function() {\n\t\t\thelpers.callback(this.options.beforeCalculateTickRotation, [this]);\n\t\t},\n\t\tcalculateTickRotation: function() {\n\t\t\tvar me = this;\n\t\t\tvar context = me.ctx;\n\t\t\tvar tickOpts = me.options.ticks;\n\n\t\t\t// Get the width of each grid by calculating the difference\n\t\t\t// between x offsets between 0 and 1.\n\t\t\tvar tickFont = parseFontOptions(tickOpts);\n\t\t\tcontext.font = tickFont.font;\n\n\t\t\tvar labelRotation = tickOpts.minRotation || 0;\n\n\t\t\tif (me.options.display && me.isHorizontal()) {\n\t\t\t\tvar originalLabelWidth = helpers.longestText(context, tickFont.font, me.ticks, me.longestTextCache);\n\t\t\t\tvar labelWidth = originalLabelWidth;\n\t\t\t\tvar cosRotation;\n\t\t\t\tvar sinRotation;\n\n\t\t\t\t// Allow 3 pixels x2 padding either side for label readability\n\t\t\t\tvar tickWidth = me.getPixelForTick(1) - me.getPixelForTick(0) - 6;\n\n\t\t\t\t// Max label rotation can be set or default to 90 - also act as a loop counter\n\t\t\t\twhile (labelWidth > tickWidth && labelRotation < tickOpts.maxRotation) {\n\t\t\t\t\tvar angleRadians = helpers.toRadians(labelRotation);\n\t\t\t\t\tcosRotation = Math.cos(angleRadians);\n\t\t\t\t\tsinRotation = Math.sin(angleRadians);\n\n\t\t\t\t\tif (sinRotation * originalLabelWidth > me.maxHeight) {\n\t\t\t\t\t\t// go back one step\n\t\t\t\t\t\tlabelRotation--;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tlabelRotation++;\n\t\t\t\t\tlabelWidth = cosRotation * originalLabelWidth;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tme.labelRotation = labelRotation;\n\t\t},\n\t\tafterCalculateTickRotation: function() {\n\t\t\thelpers.callback(this.options.afterCalculateTickRotation, [this]);\n\t\t},\n\n\t\t//\n\n\t\tbeforeFit: function() {\n\t\t\thelpers.callback(this.options.beforeFit, [this]);\n\t\t},\n\t\tfit: function() {\n\t\t\tvar me = this;\n\t\t\t// Reset\n\t\t\tvar minSize = me.minSize = {\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0\n\t\t\t};\n\n\t\t\tvar opts = me.options;\n\t\t\tvar tickOpts = opts.ticks;\n\t\t\tvar scaleLabelOpts = opts.scaleLabel;\n\t\t\tvar gridLineOpts = opts.gridLines;\n\t\t\tvar display = opts.display;\n\t\t\tvar isHorizontal = me.isHorizontal();\n\n\t\t\tvar tickFont = parseFontOptions(tickOpts);\n\t\t\tvar scaleLabelFontSize = parseFontOptions(scaleLabelOpts).size * 1.5;\n\t\t\tvar tickMarkLength = opts.gridLines.tickMarkLength;\n\n\t\t\t// Width\n\t\t\tif (isHorizontal) {\n\t\t\t\t// subtract the margins to line up with the chartArea if we are a full width scale\n\t\t\t\tminSize.width = me.isFullWidth() ? me.maxWidth - me.margins.left - me.margins.right : me.maxWidth;\n\t\t\t} else {\n\t\t\t\tminSize.width = display && gridLineOpts.drawTicks ? tickMarkLength : 0;\n\t\t\t}\n\n\t\t\t// height\n\t\t\tif (isHorizontal) {\n\t\t\t\tminSize.height = display && gridLineOpts.drawTicks ? tickMarkLength : 0;\n\t\t\t} else {\n\t\t\t\tminSize.height = me.maxHeight; // fill all the height\n\t\t\t}\n\n\t\t\t// Are we showing a title for the scale?\n\t\t\tif (scaleLabelOpts.display && display) {\n\t\t\t\tif (isHorizontal) {\n\t\t\t\t\tminSize.height += scaleLabelFontSize;\n\t\t\t\t} else {\n\t\t\t\t\tminSize.width += scaleLabelFontSize;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Don't bother fitting the ticks if we are not showing them\n\t\t\tif (tickOpts.display && display) {\n\t\t\t\tvar largestTextWidth = helpers.longestText(me.ctx, tickFont.font, me.ticks, me.longestTextCache);\n\t\t\t\tvar tallestLabelHeightInLines = helpers.numberOfLabelLines(me.ticks);\n\t\t\t\tvar lineSpace = tickFont.size * 0.5;\n\n\t\t\t\tif (isHorizontal) {\n\t\t\t\t\t// A horizontal axis is more constrained by the height.\n\t\t\t\t\tme.longestLabelWidth = largestTextWidth;\n\n\t\t\t\t\tvar angleRadians = helpers.toRadians(me.labelRotation);\n\t\t\t\t\tvar cosRotation = Math.cos(angleRadians);\n\t\t\t\t\tvar sinRotation = Math.sin(angleRadians);\n\n\t\t\t\t\t// TODO - improve this calculation\n\t\t\t\t\tvar labelHeight = (sinRotation * largestTextWidth)\n\t\t\t\t\t\t+ (tickFont.size * tallestLabelHeightInLines)\n\t\t\t\t\t\t+ (lineSpace * tallestLabelHeightInLines);\n\n\t\t\t\t\tminSize.height = Math.min(me.maxHeight, minSize.height + labelHeight);\n\t\t\t\t\tme.ctx.font = tickFont.font;\n\n\t\t\t\t\tvar firstTick = me.ticks[0];\n\t\t\t\t\tvar firstLabelWidth = computeTextSize(me.ctx, firstTick, tickFont.font);\n\n\t\t\t\t\tvar lastTick = me.ticks[me.ticks.length - 1];\n\t\t\t\t\tvar lastLabelWidth = computeTextSize(me.ctx, lastTick, tickFont.font);\n\n\t\t\t\t\t// Ensure that our ticks are always inside the canvas. When rotated, ticks are right aligned which means that the right padding is dominated\n\t\t\t\t\t// by the font height\n\t\t\t\t\tif (me.labelRotation !== 0) {\n\t\t\t\t\t\tme.paddingLeft = opts.position === 'bottom'? (cosRotation * firstLabelWidth) + 3: (cosRotation * lineSpace) + 3; // add 3 px to move away from canvas edges\n\t\t\t\t\t\tme.paddingRight = opts.position === 'bottom'? (cosRotation * lineSpace) + 3: (cosRotation * lastLabelWidth) + 3;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tme.paddingLeft = firstLabelWidth / 2 + 3; // add 3 px to move away from canvas edges\n\t\t\t\t\t\tme.paddingRight = lastLabelWidth / 2 + 3;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// A vertical axis is more constrained by the width. Labels are the dominant factor here, so get that length first\n\t\t\t\t\t// Account for padding\n\n\t\t\t\t\tif (tickOpts.mirror) {\n\t\t\t\t\t\tlargestTextWidth = 0;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlargestTextWidth += me.options.ticks.padding;\n\t\t\t\t\t}\n\t\t\t\t\tminSize.width = Math.min(me.maxWidth, minSize.width + largestTextWidth);\n\t\t\t\t\tme.paddingTop = tickFont.size / 2;\n\t\t\t\t\tme.paddingBottom = tickFont.size / 2;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tme.handleMargins();\n\n\t\t\tme.width = minSize.width;\n\t\t\tme.height = minSize.height;\n\t\t},\n\n\t\t/**\n\t\t * Handle margins and padding interactions\n\t\t * @private\n\t\t */\n\t\thandleMargins: function() {\n\t\t\tvar me = this;\n\t\t\tif (me.margins) {\n\t\t\t\tme.paddingLeft = Math.max(me.paddingLeft - me.margins.left, 0);\n\t\t\t\tme.paddingTop = Math.max(me.paddingTop - me.margins.top, 0);\n\t\t\t\tme.paddingRight = Math.max(me.paddingRight - me.margins.right, 0);\n\t\t\t\tme.paddingBottom = Math.max(me.paddingBottom - me.margins.bottom, 0);\n\t\t\t}\n\t\t},\n\n\t\tafterFit: function() {\n\t\t\thelpers.callback(this.options.afterFit, [this]);\n\t\t},\n\n\t\t// Shared Methods\n\t\tisHorizontal: function() {\n\t\t\treturn this.options.position === 'top' || this.options.position === 'bottom';\n\t\t},\n\t\tisFullWidth: function() {\n\t\t\treturn (this.options.fullWidth);\n\t\t},\n\n\t\t// Get the correct value. NaN bad inputs, If the value type is object get the x or y based on whether we are horizontal or not\n\t\tgetRightValue: function(rawValue) {\n\t\t\t// Null and undefined values first\n\t\t\tif (rawValue === null || typeof(rawValue) === 'undefined') {\n\t\t\t\treturn NaN;\n\t\t\t}\n\t\t\t// isNaN(object) returns true, so make sure NaN is checking for a number; Discard Infinite values\n\t\t\tif (typeof(rawValue) === 'number' && !isFinite(rawValue)) {\n\t\t\t\treturn NaN;\n\t\t\t}\n\t\t\t// If it is in fact an object, dive in one more level\n\t\t\tif (typeof(rawValue) === 'object') {\n\t\t\t\tif ((rawValue instanceof Date) || (rawValue.isValid)) {\n\t\t\t\t\treturn rawValue;\n\t\t\t\t}\n\t\t\t\treturn this.getRightValue(this.isHorizontal() ? rawValue.x : rawValue.y);\n\t\t\t}\n\n\t\t\t// Value is good, return it\n\t\t\treturn rawValue;\n\t\t},\n\n\t\t// Used to get the value to display in the tooltip for the data at the given index\n\t\t// function getLabelForIndex(index, datasetIndex)\n\t\tgetLabelForIndex: helpers.noop,\n\n\t\t// Used to get data value locations.  Value can either be an index or a numerical value\n\t\tgetPixelForValue: helpers.noop,\n\n\t\t// Used to get the data value from a given pixel. This is the inverse of getPixelForValue\n\t\tgetValueForPixel: helpers.noop,\n\n\t\t// Used for tick location, should\n\t\tgetPixelForTick: function(index, includeOffset) {\n\t\t\tvar me = this;\n\t\t\tif (me.isHorizontal()) {\n\t\t\t\tvar innerWidth = me.width - (me.paddingLeft + me.paddingRight);\n\t\t\t\tvar tickWidth = innerWidth / Math.max((me.ticks.length - ((me.options.gridLines.offsetGridLines) ? 0 : 1)), 1);\n\t\t\t\tvar pixel = (tickWidth * index) + me.paddingLeft;\n\n\t\t\t\tif (includeOffset) {\n\t\t\t\t\tpixel += tickWidth / 2;\n\t\t\t\t}\n\n\t\t\t\tvar finalVal = me.left + Math.round(pixel);\n\t\t\t\tfinalVal += me.isFullWidth() ? me.margins.left : 0;\n\t\t\t\treturn finalVal;\n\t\t\t}\n\t\t\tvar innerHeight = me.height - (me.paddingTop + me.paddingBottom);\n\t\t\treturn me.top + (index * (innerHeight / (me.ticks.length - 1)));\n\t\t},\n\n\t\t// Utility for getting the pixel location of a percentage of scale\n\t\tgetPixelForDecimal: function(decimal /* , includeOffset*/) {\n\t\t\tvar me = this;\n\t\t\tif (me.isHorizontal()) {\n\t\t\t\tvar innerWidth = me.width - (me.paddingLeft + me.paddingRight);\n\t\t\t\tvar valueOffset = (innerWidth * decimal) + me.paddingLeft;\n\n\t\t\t\tvar finalVal = me.left + Math.round(valueOffset);\n\t\t\t\tfinalVal += me.isFullWidth() ? me.margins.left : 0;\n\t\t\t\treturn finalVal;\n\t\t\t}\n\t\t\treturn me.top + (decimal * me.height);\n\t\t},\n\n\t\tgetBasePixel: function() {\n\t\t\treturn this.getPixelForValue(this.getBaseValue());\n\t\t},\n\n\t\tgetBaseValue: function() {\n\t\t\tvar me = this;\n\t\t\tvar min = me.min;\n\t\t\tvar max = me.max;\n\n\t\t\treturn me.beginAtZero ? 0:\n\t\t\t\tmin < 0 && max < 0? max :\n\t\t\t\tmin > 0 && max > 0? min :\n\t\t\t\t0;\n\t\t},\n\n\t\t// Actually draw the scale on the canvas\n\t\t// @param {rectangle} chartArea : the area of the chart to draw full grid lines on\n\t\tdraw: function(chartArea) {\n\t\t\tvar me = this;\n\t\t\tvar options = me.options;\n\t\t\tif (!options.display) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar context = me.ctx;\n\t\t\tvar globalDefaults = Chart.defaults.global;\n\t\t\tvar optionTicks = options.ticks;\n\t\t\tvar gridLines = options.gridLines;\n\t\t\tvar scaleLabel = options.scaleLabel;\n\n\t\t\tvar isRotated = me.labelRotation !== 0;\n\t\t\tvar skipRatio;\n\t\t\tvar useAutoskipper = optionTicks.autoSkip;\n\t\t\tvar isHorizontal = me.isHorizontal();\n\n\t\t\t// figure out the maximum number of gridlines to show\n\t\t\tvar maxTicks;\n\t\t\tif (optionTicks.maxTicksLimit) {\n\t\t\t\tmaxTicks = optionTicks.maxTicksLimit;\n\t\t\t}\n\n\t\t\tvar tickFontColor = helpers.getValueOrDefault(optionTicks.fontColor, globalDefaults.defaultFontColor);\n\t\t\tvar tickFont = parseFontOptions(optionTicks);\n\n\t\t\tvar tl = gridLines.drawTicks ? gridLines.tickMarkLength : 0;\n\n\t\t\tvar scaleLabelFontColor = helpers.getValueOrDefault(scaleLabel.fontColor, globalDefaults.defaultFontColor);\n\t\t\tvar scaleLabelFont = parseFontOptions(scaleLabel);\n\n\t\t\tvar labelRotationRadians = helpers.toRadians(me.labelRotation);\n\t\t\tvar cosRotation = Math.cos(labelRotationRadians);\n\t\t\tvar longestRotatedLabel = me.longestLabelWidth * cosRotation;\n\n\t\t\t// Make sure we draw text in the correct color and font\n\t\t\tcontext.fillStyle = tickFontColor;\n\n\t\t\tvar itemsToDraw = [];\n\n\t\t\tif (isHorizontal) {\n\t\t\t\tskipRatio = false;\n\n\t\t\t\tif ((longestRotatedLabel + optionTicks.autoSkipPadding) * me.ticks.length > (me.width - (me.paddingLeft + me.paddingRight))) {\n\t\t\t\t\tskipRatio = 1 + Math.floor(((longestRotatedLabel + optionTicks.autoSkipPadding) * me.ticks.length) / (me.width - (me.paddingLeft + me.paddingRight)));\n\t\t\t\t}\n\n\t\t\t\t// if they defined a max number of optionTicks,\n\t\t\t\t// increase skipRatio until that number is met\n\t\t\t\tif (maxTicks && me.ticks.length > maxTicks) {\n\t\t\t\t\twhile (!skipRatio || me.ticks.length / (skipRatio || 1) > maxTicks) {\n\t\t\t\t\t\tif (!skipRatio) {\n\t\t\t\t\t\t\tskipRatio = 1;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tskipRatio += 1;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (!useAutoskipper) {\n\t\t\t\t\tskipRatio = false;\n\t\t\t\t}\n\t\t\t}\n\n\n\t\t\tvar xTickStart = options.position === 'right' ? me.left : me.right - tl;\n\t\t\tvar xTickEnd = options.position === 'right' ? me.left + tl : me.right;\n\t\t\tvar yTickStart = options.position === 'bottom' ? me.top : me.bottom - tl;\n\t\t\tvar yTickEnd = options.position === 'bottom' ? me.top + tl : me.bottom;\n\n\t\t\thelpers.each(me.ticks, function(label, index) {\n\t\t\t\t// If the callback returned a null or undefined value, do not draw this line\n\t\t\t\tif (label === undefined || label === null) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tvar isLastTick = me.ticks.length === index + 1;\n\n\t\t\t\t// Since we always show the last tick,we need may need to hide the last shown one before\n\t\t\t\tvar shouldSkip = (skipRatio > 1 && index % skipRatio > 0) || (index % skipRatio === 0 && index + skipRatio >= me.ticks.length);\n\t\t\t\tif (shouldSkip && !isLastTick || (label === undefined || label === null)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tvar lineWidth, lineColor, borderDash, borderDashOffset;\n\t\t\t\tif (index === (typeof me.zeroLineIndex !== 'undefined' ? me.zeroLineIndex : 0)) {\n\t\t\t\t\t// Draw the first index specially\n\t\t\t\t\tlineWidth = gridLines.zeroLineWidth;\n\t\t\t\t\tlineColor = gridLines.zeroLineColor;\n\t\t\t\t\tborderDash = gridLines.zeroLineBorderDash;\n\t\t\t\t\tborderDashOffset = gridLines.zeroLineBorderDashOffset;\n\t\t\t\t} else {\n\t\t\t\t\tlineWidth = helpers.getValueAtIndexOrDefault(gridLines.lineWidth, index);\n\t\t\t\t\tlineColor = helpers.getValueAtIndexOrDefault(gridLines.color, index);\n\t\t\t\t\tborderDash = helpers.getValueOrDefault(gridLines.borderDash, globalDefaults.borderDash);\n\t\t\t\t\tborderDashOffset = helpers.getValueOrDefault(gridLines.borderDashOffset, globalDefaults.borderDashOffset);\n\t\t\t\t}\n\n\t\t\t\t// Common properties\n\t\t\t\tvar tx1, ty1, tx2, ty2, x1, y1, x2, y2, labelX, labelY;\n\t\t\t\tvar textAlign = 'middle';\n\t\t\t\tvar textBaseline = 'middle';\n\n\t\t\t\tif (isHorizontal) {\n\n\t\t\t\t\tif (options.position === 'bottom') {\n\t\t\t\t\t\t// bottom\n\t\t\t\t\t\ttextBaseline = !isRotated? 'top':'middle';\n\t\t\t\t\t\ttextAlign = !isRotated? 'center': 'right';\n\t\t\t\t\t\tlabelY = me.top + tl;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// top\n\t\t\t\t\t\ttextBaseline = !isRotated? 'bottom':'middle';\n\t\t\t\t\t\ttextAlign = !isRotated? 'center': 'left';\n\t\t\t\t\t\tlabelY = me.bottom - tl;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar xLineValue = me.getPixelForTick(index) + helpers.aliasPixel(lineWidth); // xvalues for grid lines\n\t\t\t\t\tlabelX = me.getPixelForTick(index, gridLines.offsetGridLines) + optionTicks.labelOffset; // x values for optionTicks (need to consider offsetLabel option)\n\n\t\t\t\t\ttx1 = tx2 = x1 = x2 = xLineValue;\n\t\t\t\t\tty1 = yTickStart;\n\t\t\t\t\tty2 = yTickEnd;\n\t\t\t\t\ty1 = chartArea.top;\n\t\t\t\t\ty2 = chartArea.bottom;\n\t\t\t\t} else {\n\t\t\t\t\tvar isLeft = options.position === 'left';\n\t\t\t\t\tvar tickPadding = optionTicks.padding;\n\t\t\t\t\tvar labelXOffset;\n\n\t\t\t\t\tif (optionTicks.mirror) {\n\t\t\t\t\t\ttextAlign = isLeft ? 'left' : 'right';\n\t\t\t\t\t\tlabelXOffset = tickPadding;\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttextAlign = isLeft ? 'right' : 'left';\n\t\t\t\t\t\tlabelXOffset = tl + tickPadding;\n\t\t\t\t\t}\n\n\t\t\t\t\tlabelX = isLeft ? me.right - labelXOffset : me.left + labelXOffset;\n\n\t\t\t\t\tvar yLineValue = me.getPixelForTick(index); // xvalues for grid lines\n\t\t\t\t\tyLineValue += helpers.aliasPixel(lineWidth);\n\t\t\t\t\tlabelY = me.getPixelForTick(index, gridLines.offsetGridLines);\n\n\t\t\t\t\ttx1 = xTickStart;\n\t\t\t\t\ttx2 = xTickEnd;\n\t\t\t\t\tx1 = chartArea.left;\n\t\t\t\t\tx2 = chartArea.right;\n\t\t\t\t\tty1 = ty2 = y1 = y2 = yLineValue;\n\t\t\t\t}\n\n\t\t\t\titemsToDraw.push({\n\t\t\t\t\ttx1: tx1,\n\t\t\t\t\tty1: ty1,\n\t\t\t\t\ttx2: tx2,\n\t\t\t\t\tty2: ty2,\n\t\t\t\t\tx1: x1,\n\t\t\t\t\ty1: y1,\n\t\t\t\t\tx2: x2,\n\t\t\t\t\ty2: y2,\n\t\t\t\t\tlabelX: labelX,\n\t\t\t\t\tlabelY: labelY,\n\t\t\t\t\tglWidth: lineWidth,\n\t\t\t\t\tglColor: lineColor,\n\t\t\t\t\tglBorderDash: borderDash,\n\t\t\t\t\tglBorderDashOffset: borderDashOffset,\n\t\t\t\t\trotation: -1 * labelRotationRadians,\n\t\t\t\t\tlabel: label,\n\t\t\t\t\ttextBaseline: textBaseline,\n\t\t\t\t\ttextAlign: textAlign\n\t\t\t\t});\n\t\t\t});\n\n\t\t\t// Draw all of the tick labels, tick marks, and grid lines at the correct places\n\t\t\thelpers.each(itemsToDraw, function(itemToDraw) {\n\t\t\t\tif (gridLines.display) {\n\t\t\t\t\tcontext.save();\n\t\t\t\t\tcontext.lineWidth = itemToDraw.glWidth;\n\t\t\t\t\tcontext.strokeStyle = itemToDraw.glColor;\n\t\t\t\t\tif (context.setLineDash) {\n\t\t\t\t\t\tcontext.setLineDash(itemToDraw.glBorderDash);\n\t\t\t\t\t\tcontext.lineDashOffset = itemToDraw.glBorderDashOffset;\n\t\t\t\t\t}\n\n\t\t\t\t\tcontext.beginPath();\n\n\t\t\t\t\tif (gridLines.drawTicks) {\n\t\t\t\t\t\tcontext.moveTo(itemToDraw.tx1, itemToDraw.ty1);\n\t\t\t\t\t\tcontext.lineTo(itemToDraw.tx2, itemToDraw.ty2);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (gridLines.drawOnChartArea) {\n\t\t\t\t\t\tcontext.moveTo(itemToDraw.x1, itemToDraw.y1);\n\t\t\t\t\t\tcontext.lineTo(itemToDraw.x2, itemToDraw.y2);\n\t\t\t\t\t}\n\n\t\t\t\t\tcontext.stroke();\n\t\t\t\t\tcontext.restore();\n\t\t\t\t}\n\n\t\t\t\tif (optionTicks.display) {\n\t\t\t\t\tcontext.save();\n\t\t\t\t\tcontext.translate(itemToDraw.labelX, itemToDraw.labelY);\n\t\t\t\t\tcontext.rotate(itemToDraw.rotation);\n\t\t\t\t\tcontext.font = tickFont.font;\n\t\t\t\t\tcontext.textBaseline = itemToDraw.textBaseline;\n\t\t\t\t\tcontext.textAlign = itemToDraw.textAlign;\n\n\t\t\t\t\tvar label = itemToDraw.label;\n\t\t\t\t\tif (helpers.isArray(label)) {\n\t\t\t\t\t\tfor (var i = 0, y = 0; i < label.length; ++i) {\n\t\t\t\t\t\t\t// We just make sure the multiline element is a string here..\n\t\t\t\t\t\t\tcontext.fillText('' + label[i], 0, y);\n\t\t\t\t\t\t\t// apply same lineSpacing as calculated @ L#320\n\t\t\t\t\t\t\ty += (tickFont.size * 1.5);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontext.fillText(label, 0, 0);\n\t\t\t\t\t}\n\t\t\t\t\tcontext.restore();\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (scaleLabel.display) {\n\t\t\t\t// Draw the scale label\n\t\t\t\tvar scaleLabelX;\n\t\t\t\tvar scaleLabelY;\n\t\t\t\tvar rotation = 0;\n\n\t\t\t\tif (isHorizontal) {\n\t\t\t\t\tscaleLabelX = me.left + ((me.right - me.left) / 2); // midpoint of the width\n\t\t\t\t\tscaleLabelY = options.position === 'bottom' ? me.bottom - (scaleLabelFont.size / 2) : me.top + (scaleLabelFont.size / 2);\n\t\t\t\t} else {\n\t\t\t\t\tvar isLeft = options.position === 'left';\n\t\t\t\t\tscaleLabelX = isLeft ? me.left + (scaleLabelFont.size / 2) : me.right - (scaleLabelFont.size / 2);\n\t\t\t\t\tscaleLabelY = me.top + ((me.bottom - me.top) / 2);\n\t\t\t\t\trotation = isLeft ? -0.5 * Math.PI : 0.5 * Math.PI;\n\t\t\t\t}\n\n\t\t\t\tcontext.save();\n\t\t\t\tcontext.translate(scaleLabelX, scaleLabelY);\n\t\t\t\tcontext.rotate(rotation);\n\t\t\t\tcontext.textAlign = 'center';\n\t\t\t\tcontext.textBaseline = 'middle';\n\t\t\t\tcontext.fillStyle = scaleLabelFontColor; // render in correct colour\n\t\t\t\tcontext.font = scaleLabelFont.font;\n\t\t\t\tcontext.fillText(scaleLabel.labelString, 0, 0);\n\t\t\t\tcontext.restore();\n\t\t\t}\n\n\t\t\tif (gridLines.drawBorder) {\n\t\t\t\t// Draw the line at the edge of the axis\n\t\t\t\tcontext.lineWidth = helpers.getValueAtIndexOrDefault(gridLines.lineWidth, 0);\n\t\t\t\tcontext.strokeStyle = helpers.getValueAtIndexOrDefault(gridLines.color, 0);\n\t\t\t\tvar x1 = me.left,\n\t\t\t\t\tx2 = me.right,\n\t\t\t\t\ty1 = me.top,\n\t\t\t\t\ty2 = me.bottom;\n\n\t\t\t\tvar aliasPixel = helpers.aliasPixel(context.lineWidth);\n\t\t\t\tif (isHorizontal) {\n\t\t\t\t\ty1 = y2 = options.position === 'top' ? me.bottom : me.top;\n\t\t\t\t\ty1 += aliasPixel;\n\t\t\t\t\ty2 += aliasPixel;\n\t\t\t\t} else {\n\t\t\t\t\tx1 = x2 = options.position === 'left' ? me.right : me.left;\n\t\t\t\t\tx1 += aliasPixel;\n\t\t\t\t\tx2 += aliasPixel;\n\t\t\t\t}\n\n\t\t\t\tcontext.beginPath();\n\t\t\t\tcontext.moveTo(x1, y1);\n\t\t\t\tcontext.lineTo(x2, y2);\n\t\t\t\tcontext.stroke();\n\t\t\t}\n\t\t}\n\t});\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/chart.js/src/core/core.scale.js\n// module id = 1200\n// module chunks = 0","'use strict';\n\nmodule.exports = function(Chart) {\n\n\tvar helpers = Chart.helpers;\n\n\tChart.scaleService = {\n\t\t// Scale registration object. Extensions can register new scale types (such as log or DB scales) and then\n\t\t// use the new chart options to grab the correct scale\n\t\tconstructors: {},\n\t\t// Use a registration function so that we can move to an ES6 map when we no longer need to support\n\t\t// old browsers\n\n\t\t// Scale config defaults\n\t\tdefaults: {},\n\t\tregisterScaleType: function(type, scaleConstructor, defaults) {\n\t\t\tthis.constructors[type] = scaleConstructor;\n\t\t\tthis.defaults[type] = helpers.clone(defaults);\n\t\t},\n\t\tgetScaleConstructor: function(type) {\n\t\t\treturn this.constructors.hasOwnProperty(type) ? this.constructors[type] : undefined;\n\t\t},\n\t\tgetScaleDefaults: function(type) {\n\t\t\t// Return the scale defaults merged with the global settings so that we always use the latest ones\n\t\t\treturn this.defaults.hasOwnProperty(type) ? helpers.scaleMerge(Chart.defaults.scale, this.defaults[type]) : {};\n\t\t},\n\t\tupdateScaleDefaults: function(type, additions) {\n\t\t\tvar defaults = this.defaults;\n\t\t\tif (defaults.hasOwnProperty(type)) {\n\t\t\t\tdefaults[type] = helpers.extend(defaults[type], additions);\n\t\t\t}\n\t\t},\n\t\taddScalesToLayout: function(chart) {\n\t\t\t// Adds each scale to the chart.boxes array to be sized accordingly\n\t\t\thelpers.each(chart.scales, function(scale) {\n\t\t\t\t// Set ILayoutItem parameters for backwards compatibility\n\t\t\t\tscale.fullWidth = scale.options.fullWidth;\n\t\t\t\tscale.position = scale.options.position;\n\t\t\t\tscale.weight = scale.options.weight;\n\t\t\t\tChart.layoutService.addBox(chart, scale);\n\t\t\t});\n\t\t}\n\t};\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/chart.js/src/core/core.scaleService.js\n// module id = 1201\n// module chunks = 0","'use strict';\n\nmodule.exports = function(Chart) {\n\n\tvar helpers = Chart.helpers;\n\n\t/**\n\t * Namespace to hold static tick generation functions\n\t * @namespace Chart.Ticks\n\t */\n\tChart.Ticks = {\n\t\t/**\n\t\t * Namespace to hold generators for different types of ticks\n\t\t * @namespace Chart.Ticks.generators\n\t\t */\n\t\tgenerators: {\n\t\t\t/**\n\t\t\t * Interface for the options provided to the numeric tick generator\n\t\t\t * @interface INumericTickGenerationOptions\n\t\t\t */\n\t\t\t/**\n\t\t\t * The maximum number of ticks to display\n\t\t\t * @name INumericTickGenerationOptions#maxTicks\n\t\t\t * @type Number\n\t\t\t */\n\t\t\t/**\n\t\t\t * The distance between each tick.\n\t\t\t * @name INumericTickGenerationOptions#stepSize\n\t\t\t * @type Number\n\t\t\t * @optional\n\t\t\t */\n\t\t\t/**\n\t\t\t * Forced minimum for the ticks. If not specified, the minimum of the data range is used to calculate the tick minimum\n\t\t\t * @name INumericTickGenerationOptions#min\n\t\t\t * @type Number\n\t\t\t * @optional\n\t\t\t */\n\t\t\t/**\n\t\t\t * The maximum value of the ticks. If not specified, the maximum of the data range is used to calculate the tick maximum\n\t\t\t * @name INumericTickGenerationOptions#max\n\t\t\t * @type Number\n\t\t\t * @optional\n\t\t\t */\n\n\t\t\t/**\n\t\t\t * Generate a set of linear ticks\n\t\t\t * @method Chart.Ticks.generators.linear\n\t\t\t * @param generationOptions {INumericTickGenerationOptions} the options used to generate the ticks\n\t\t\t * @param dataRange {IRange} the range of the data\n\t\t\t * @returns {Array<Number>} array of tick values\n\t\t\t */\n\t\t\tlinear: function(generationOptions, dataRange) {\n\t\t\t\tvar ticks = [];\n\t\t\t\t// To get a \"nice\" value for the tick spacing, we will use the appropriately named\n\t\t\t\t// \"nice number\" algorithm. See http://stackoverflow.com/questions/8506881/nice-label-algorithm-for-charts-with-minimum-ticks\n\t\t\t\t// for details.\n\n\t\t\t\tvar spacing;\n\t\t\t\tif (generationOptions.stepSize && generationOptions.stepSize > 0) {\n\t\t\t\t\tspacing = generationOptions.stepSize;\n\t\t\t\t} else {\n\t\t\t\t\tvar niceRange = helpers.niceNum(dataRange.max - dataRange.min, false);\n\t\t\t\t\tspacing = helpers.niceNum(niceRange / (generationOptions.maxTicks - 1), true);\n\t\t\t\t}\n\t\t\t\tvar niceMin = Math.floor(dataRange.min / spacing) * spacing;\n\t\t\t\tvar niceMax = Math.ceil(dataRange.max / spacing) * spacing;\n\n\t\t\t\t// If min, max and stepSize is set and they make an evenly spaced scale use it.\n\t\t\t\tif (generationOptions.min && generationOptions.max && generationOptions.stepSize) {\n\t\t\t\t\t// If very close to our whole number, use it.\n\t\t\t\t\tif (helpers.almostWhole((generationOptions.max - generationOptions.min) / generationOptions.stepSize, spacing / 1000)) {\n\t\t\t\t\t\tniceMin = generationOptions.min;\n\t\t\t\t\t\tniceMax = generationOptions.max;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tvar numSpaces = (niceMax - niceMin) / spacing;\n\t\t\t\t// If very close to our rounded value, use it.\n\t\t\t\tif (helpers.almostEquals(numSpaces, Math.round(numSpaces), spacing / 1000)) {\n\t\t\t\t\tnumSpaces = Math.round(numSpaces);\n\t\t\t\t} else {\n\t\t\t\t\tnumSpaces = Math.ceil(numSpaces);\n\t\t\t\t}\n\n\t\t\t\t// Put the values into the ticks array\n\t\t\t\tticks.push(generationOptions.min !== undefined ? generationOptions.min : niceMin);\n\t\t\t\tfor (var j = 1; j < numSpaces; ++j) {\n\t\t\t\t\tticks.push(niceMin + (j * spacing));\n\t\t\t\t}\n\t\t\t\tticks.push(generationOptions.max !== undefined ? generationOptions.max : niceMax);\n\n\t\t\t\treturn ticks;\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Generate a set of logarithmic ticks\n\t\t\t * @method Chart.Ticks.generators.logarithmic\n\t\t\t * @param generationOptions {INumericTickGenerationOptions} the options used to generate the ticks\n\t\t\t * @param dataRange {IRange} the range of the data\n\t\t\t * @returns {Array<Number>} array of tick values\n\t\t\t */\n\t\t\tlogarithmic: function(generationOptions, dataRange) {\n\t\t\t\tvar ticks = [];\n\t\t\t\tvar getValueOrDefault = helpers.getValueOrDefault;\n\n\t\t\t\t// Figure out what the max number of ticks we can support it is based on the size of\n\t\t\t\t// the axis area. For now, we say that the minimum tick spacing in pixels must be 50\n\t\t\t\t// We also limit the maximum number of ticks to 11 which gives a nice 10 squares on\n\t\t\t\t// the graph\n\t\t\t\tvar tickVal = getValueOrDefault(generationOptions.min, Math.pow(10, Math.floor(helpers.log10(dataRange.min))));\n\n\t\t\t\tvar endExp = Math.floor(helpers.log10(dataRange.max));\n\t\t\t\tvar endSignificand = Math.ceil(dataRange.max / Math.pow(10, endExp));\n\t\t\t\tvar exp;\n\t\t\t\tvar significand;\n\n\t\t\t\tif (tickVal === 0) {\n\t\t\t\t\texp = Math.floor(helpers.log10(dataRange.minNotZero));\n\t\t\t\t\tsignificand = Math.floor(dataRange.minNotZero / Math.pow(10, exp));\n\n\t\t\t\t\tticks.push(tickVal);\n\t\t\t\t\ttickVal = significand * Math.pow(10, exp);\n\t\t\t\t} else {\n\t\t\t\t\texp = Math.floor(helpers.log10(tickVal));\n\t\t\t\t\tsignificand = Math.floor(tickVal / Math.pow(10, exp));\n\t\t\t\t}\n\n\t\t\t\tdo {\n\t\t\t\t\tticks.push(tickVal);\n\n\t\t\t\t\t++significand;\n\t\t\t\t\tif (significand === 10) {\n\t\t\t\t\t\tsignificand = 1;\n\t\t\t\t\t\t++exp;\n\t\t\t\t\t}\n\n\t\t\t\t\ttickVal = significand * Math.pow(10, exp);\n\t\t\t\t} while (exp < endExp || (exp === endExp && significand < endSignificand));\n\n\t\t\t\tvar lastTick = getValueOrDefault(generationOptions.max, tickVal);\n\t\t\t\tticks.push(lastTick);\n\n\t\t\t\treturn ticks;\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Namespace to hold formatters for different types of ticks\n\t\t * @namespace Chart.Ticks.formatters\n\t\t */\n\t\tformatters: {\n\t\t\t/**\n\t\t\t * Formatter for value labels\n\t\t\t * @method Chart.Ticks.formatters.values\n\t\t\t * @param value the value to display\n\t\t\t * @return {String|Array} the label to display\n\t\t\t */\n\t\t\tvalues: function(value) {\n\t\t\t\treturn helpers.isArray(value) ? value : '' + value;\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Formatter for linear numeric ticks\n\t\t\t * @method Chart.Ticks.formatters.linear\n\t\t\t * @param tickValue {Number} the value to be formatted\n\t\t\t * @param index {Number} the position of the tickValue parameter in the ticks array\n\t\t\t * @param ticks {Array<Number>} the list of ticks being converted\n\t\t\t * @return {String} string representation of the tickValue parameter\n\t\t\t */\n\t\t\tlinear: function(tickValue, index, ticks) {\n\t\t\t\t// If we have lots of ticks, don't use the ones\n\t\t\t\tvar delta = ticks.length > 3 ? ticks[2] - ticks[1] : ticks[1] - ticks[0];\n\n\t\t\t\t// If we have a number like 2.5 as the delta, figure out how many decimal places we need\n\t\t\t\tif (Math.abs(delta) > 1) {\n\t\t\t\t\tif (tickValue !== Math.floor(tickValue)) {\n\t\t\t\t\t\t// not an integer\n\t\t\t\t\t\tdelta = tickValue - Math.floor(tickValue);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tvar logDelta = helpers.log10(Math.abs(delta));\n\t\t\t\tvar tickString = '';\n\n\t\t\t\tif (tickValue !== 0) {\n\t\t\t\t\tvar numDecimal = -1 * Math.floor(logDelta);\n\t\t\t\t\tnumDecimal = Math.max(Math.min(numDecimal, 20), 0); // toFixed has a max of 20 decimal places\n\t\t\t\t\ttickString = tickValue.toFixed(numDecimal);\n\t\t\t\t} else {\n\t\t\t\t\ttickString = '0'; // never show decimal places for 0\n\t\t\t\t}\n\n\t\t\t\treturn tickString;\n\t\t\t},\n\n\t\t\tlogarithmic: function(tickValue, index, ticks) {\n\t\t\t\tvar remain = tickValue / (Math.pow(10, Math.floor(helpers.log10(tickValue))));\n\n\t\t\t\tif (tickValue === 0) {\n\t\t\t\t\treturn '0';\n\t\t\t\t} else if (remain === 1 || remain === 2 || remain === 5 || index === 0 || index === ticks.length - 1) {\n\t\t\t\t\treturn tickValue.toExponential();\n\t\t\t\t}\n\t\t\t\treturn '';\n\t\t\t}\n\t\t}\n\t};\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/chart.js/src/core/core.ticks.js\n// module id = 1202\n// module chunks = 0","'use strict';\n\nmodule.exports = function(Chart) {\n\n\tvar helpers = Chart.helpers;\n\n\t/**\n \t * Helper method to merge the opacity into a color\n \t */\n\tfunction mergeOpacity(colorString, opacity) {\n\t\tvar color = helpers.color(colorString);\n\t\treturn color.alpha(opacity * color.alpha()).rgbaString();\n\t}\n\n\tChart.defaults.global.tooltips = {\n\t\tenabled: true,\n\t\tcustom: null,\n\t\tmode: 'nearest',\n\t\tposition: 'average',\n\t\tintersect: true,\n\t\tbackgroundColor: 'rgba(0,0,0,0.8)',\n\t\ttitleFontStyle: 'bold',\n\t\ttitleSpacing: 2,\n\t\ttitleMarginBottom: 6,\n\t\ttitleFontColor: '#fff',\n\t\ttitleAlign: 'left',\n\t\tbodySpacing: 2,\n\t\tbodyFontColor: '#fff',\n\t\tbodyAlign: 'left',\n\t\tfooterFontStyle: 'bold',\n\t\tfooterSpacing: 2,\n\t\tfooterMarginTop: 6,\n\t\tfooterFontColor: '#fff',\n\t\tfooterAlign: 'left',\n\t\tyPadding: 6,\n\t\txPadding: 6,\n\t\tcaretPadding: 2,\n\t\tcaretSize: 5,\n\t\tcornerRadius: 6,\n\t\tmultiKeyBackground: '#fff',\n\t\tdisplayColors: true,\n\t\tborderColor: 'rgba(0,0,0,0)',\n\t\tborderWidth: 0,\n\t\tcallbacks: {\n\t\t\t// Args are: (tooltipItems, data)\n\t\t\tbeforeTitle: helpers.noop,\n\t\t\ttitle: function(tooltipItems, data) {\n\t\t\t\t// Pick first xLabel for now\n\t\t\t\tvar title = '';\n\t\t\t\tvar labels = data.labels;\n\t\t\t\tvar labelCount = labels ? labels.length : 0;\n\n\t\t\t\tif (tooltipItems.length > 0) {\n\t\t\t\t\tvar item = tooltipItems[0];\n\n\t\t\t\t\tif (item.xLabel) {\n\t\t\t\t\t\ttitle = item.xLabel;\n\t\t\t\t\t} else if (labelCount > 0 && item.index < labelCount) {\n\t\t\t\t\t\ttitle = labels[item.index];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn title;\n\t\t\t},\n\t\t\tafterTitle: helpers.noop,\n\n\t\t\t// Args are: (tooltipItems, data)\n\t\t\tbeforeBody: helpers.noop,\n\n\t\t\t// Args are: (tooltipItem, data)\n\t\t\tbeforeLabel: helpers.noop,\n\t\t\tlabel: function(tooltipItem, data) {\n\t\t\t\tvar label = data.datasets[tooltipItem.datasetIndex].label || '';\n\n\t\t\t\tif (label) {\n\t\t\t\t\tlabel += ': ';\n\t\t\t\t}\n\t\t\t\tlabel += tooltipItem.yLabel;\n\t\t\t\treturn label;\n\t\t\t},\n\t\t\tlabelColor: function(tooltipItem, chart) {\n\t\t\t\tvar meta = chart.getDatasetMeta(tooltipItem.datasetIndex);\n\t\t\t\tvar activeElement = meta.data[tooltipItem.index];\n\t\t\t\tvar view = activeElement._view;\n\t\t\t\treturn {\n\t\t\t\t\tborderColor: view.borderColor,\n\t\t\t\t\tbackgroundColor: view.backgroundColor\n\t\t\t\t};\n\t\t\t},\n\t\t\tafterLabel: helpers.noop,\n\n\t\t\t// Args are: (tooltipItems, data)\n\t\t\tafterBody: helpers.noop,\n\n\t\t\t// Args are: (tooltipItems, data)\n\t\t\tbeforeFooter: helpers.noop,\n\t\t\tfooter: helpers.noop,\n\t\t\tafterFooter: helpers.noop\n\t\t}\n\t};\n\n\t// Helper to push or concat based on if the 2nd parameter is an array or not\n\tfunction pushOrConcat(base, toPush) {\n\t\tif (toPush) {\n\t\t\tif (helpers.isArray(toPush)) {\n\t\t\t\t// base = base.concat(toPush);\n\t\t\t\tArray.prototype.push.apply(base, toPush);\n\t\t\t} else {\n\t\t\t\tbase.push(toPush);\n\t\t\t}\n\t\t}\n\n\t\treturn base;\n\t}\n\n\t// Private helper to create a tooltip item model\n\t// @param element : the chart element (point, arc, bar) to create the tooltip item for\n\t// @return : new tooltip item\n\tfunction createTooltipItem(element) {\n\t\tvar xScale = element._xScale;\n\t\tvar yScale = element._yScale || element._scale; // handle radar || polarArea charts\n\t\tvar index = element._index,\n\t\t\tdatasetIndex = element._datasetIndex;\n\n\t\treturn {\n\t\t\txLabel: xScale ? xScale.getLabelForIndex(index, datasetIndex) : '',\n\t\t\tyLabel: yScale ? yScale.getLabelForIndex(index, datasetIndex) : '',\n\t\t\tindex: index,\n\t\t\tdatasetIndex: datasetIndex,\n\t\t\tx: element._model.x,\n\t\t\ty: element._model.y\n\t\t};\n\t}\n\n\t/**\n\t * Helper to get the reset model for the tooltip\n\t * @param tooltipOpts {Object} the tooltip options\n\t */\n\tfunction getBaseModel(tooltipOpts) {\n\t\tvar globalDefaults = Chart.defaults.global;\n\t\tvar getValueOrDefault = helpers.getValueOrDefault;\n\n\t\treturn {\n\t\t\t// Positioning\n\t\t\txPadding: tooltipOpts.xPadding,\n\t\t\tyPadding: tooltipOpts.yPadding,\n\t\t\txAlign: tooltipOpts.xAlign,\n\t\t\tyAlign: tooltipOpts.yAlign,\n\n\t\t\t// Body\n\t\t\tbodyFontColor: tooltipOpts.bodyFontColor,\n\t\t\t_bodyFontFamily: getValueOrDefault(tooltipOpts.bodyFontFamily, globalDefaults.defaultFontFamily),\n\t\t\t_bodyFontStyle: getValueOrDefault(tooltipOpts.bodyFontStyle, globalDefaults.defaultFontStyle),\n\t\t\t_bodyAlign: tooltipOpts.bodyAlign,\n\t\t\tbodyFontSize: getValueOrDefault(tooltipOpts.bodyFontSize, globalDefaults.defaultFontSize),\n\t\t\tbodySpacing: tooltipOpts.bodySpacing,\n\n\t\t\t// Title\n\t\t\ttitleFontColor: tooltipOpts.titleFontColor,\n\t\t\t_titleFontFamily: getValueOrDefault(tooltipOpts.titleFontFamily, globalDefaults.defaultFontFamily),\n\t\t\t_titleFontStyle: getValueOrDefault(tooltipOpts.titleFontStyle, globalDefaults.defaultFontStyle),\n\t\t\ttitleFontSize: getValueOrDefault(tooltipOpts.titleFontSize, globalDefaults.defaultFontSize),\n\t\t\t_titleAlign: tooltipOpts.titleAlign,\n\t\t\ttitleSpacing: tooltipOpts.titleSpacing,\n\t\t\ttitleMarginBottom: tooltipOpts.titleMarginBottom,\n\n\t\t\t// Footer\n\t\t\tfooterFontColor: tooltipOpts.footerFontColor,\n\t\t\t_footerFontFamily: getValueOrDefault(tooltipOpts.footerFontFamily, globalDefaults.defaultFontFamily),\n\t\t\t_footerFontStyle: getValueOrDefault(tooltipOpts.footerFontStyle, globalDefaults.defaultFontStyle),\n\t\t\tfooterFontSize: getValueOrDefault(tooltipOpts.footerFontSize, globalDefaults.defaultFontSize),\n\t\t\t_footerAlign: tooltipOpts.footerAlign,\n\t\t\tfooterSpacing: tooltipOpts.footerSpacing,\n\t\t\tfooterMarginTop: tooltipOpts.footerMarginTop,\n\n\t\t\t// Appearance\n\t\t\tcaretSize: tooltipOpts.caretSize,\n\t\t\tcornerRadius: tooltipOpts.cornerRadius,\n\t\t\tbackgroundColor: tooltipOpts.backgroundColor,\n\t\t\topacity: 0,\n\t\t\tlegendColorBackground: tooltipOpts.multiKeyBackground,\n\t\t\tdisplayColors: tooltipOpts.displayColors,\n\t\t\tborderColor: tooltipOpts.borderColor,\n\t\t\tborderWidth: tooltipOpts.borderWidth\n\t\t};\n\t}\n\n\t/**\n\t * Get the size of the tooltip\n\t */\n\tfunction getTooltipSize(tooltip, model) {\n\t\tvar ctx = tooltip._chart.ctx;\n\n\t\tvar height = model.yPadding * 2; // Tooltip Padding\n\t\tvar width = 0;\n\n\t\t// Count of all lines in the body\n\t\tvar body = model.body;\n\t\tvar combinedBodyLength = body.reduce(function(count, bodyItem) {\n\t\t\treturn count + bodyItem.before.length + bodyItem.lines.length + bodyItem.after.length;\n\t\t}, 0);\n\t\tcombinedBodyLength += model.beforeBody.length + model.afterBody.length;\n\n\t\tvar titleLineCount = model.title.length;\n\t\tvar footerLineCount = model.footer.length;\n\t\tvar titleFontSize = model.titleFontSize,\n\t\t\tbodyFontSize = model.bodyFontSize,\n\t\t\tfooterFontSize = model.footerFontSize;\n\n\t\theight += titleLineCount * titleFontSize; // Title Lines\n\t\theight += titleLineCount ? (titleLineCount - 1) * model.titleSpacing : 0; // Title Line Spacing\n\t\theight += titleLineCount ? model.titleMarginBottom : 0; // Title's bottom Margin\n\t\theight += combinedBodyLength * bodyFontSize; // Body Lines\n\t\theight += combinedBodyLength ? (combinedBodyLength - 1) * model.bodySpacing : 0; // Body Line Spacing\n\t\theight += footerLineCount ? model.footerMarginTop : 0; // Footer Margin\n\t\theight += footerLineCount * (footerFontSize); // Footer Lines\n\t\theight += footerLineCount ? (footerLineCount - 1) * model.footerSpacing : 0; // Footer Line Spacing\n\n\t\t// Title width\n\t\tvar widthPadding = 0;\n\t\tvar maxLineWidth = function(line) {\n\t\t\twidth = Math.max(width, ctx.measureText(line).width + widthPadding);\n\t\t};\n\n\t\tctx.font = helpers.fontString(titleFontSize, model._titleFontStyle, model._titleFontFamily);\n\t\thelpers.each(model.title, maxLineWidth);\n\n\t\t// Body width\n\t\tctx.font = helpers.fontString(bodyFontSize, model._bodyFontStyle, model._bodyFontFamily);\n\t\thelpers.each(model.beforeBody.concat(model.afterBody), maxLineWidth);\n\n\t\t// Body lines may include some extra width due to the color box\n\t\twidthPadding = model.displayColors ? (bodyFontSize + 2) : 0;\n\t\thelpers.each(body, function(bodyItem) {\n\t\t\thelpers.each(bodyItem.before, maxLineWidth);\n\t\t\thelpers.each(bodyItem.lines, maxLineWidth);\n\t\t\thelpers.each(bodyItem.after, maxLineWidth);\n\t\t});\n\n\t\t// Reset back to 0\n\t\twidthPadding = 0;\n\n\t\t// Footer width\n\t\tctx.font = helpers.fontString(footerFontSize, model._footerFontStyle, model._footerFontFamily);\n\t\thelpers.each(model.footer, maxLineWidth);\n\n\t\t// Add padding\n\t\twidth += 2 * model.xPadding;\n\n\t\treturn {\n\t\t\twidth: width,\n\t\t\theight: height\n\t\t};\n\t}\n\n\t/**\n\t * Helper to get the alignment of a tooltip given the size\n\t */\n\tfunction determineAlignment(tooltip, size) {\n\t\tvar model = tooltip._model;\n\t\tvar chart = tooltip._chart;\n\t\tvar chartArea = tooltip._chart.chartArea;\n\t\tvar xAlign = 'center';\n\t\tvar yAlign = 'center';\n\n\t\tif (model.y < size.height) {\n\t\t\tyAlign = 'top';\n\t\t} else if (model.y > (chart.height - size.height)) {\n\t\t\tyAlign = 'bottom';\n\t\t}\n\n\t\tvar lf, rf; // functions to determine left, right alignment\n\t\tvar olf, orf; // functions to determine if left/right alignment causes tooltip to go outside chart\n\t\tvar yf; // function to get the y alignment if the tooltip goes outside of the left or right edges\n\t\tvar midX = (chartArea.left + chartArea.right) / 2;\n\t\tvar midY = (chartArea.top + chartArea.bottom) / 2;\n\n\t\tif (yAlign === 'center') {\n\t\t\tlf = function(x) {\n\t\t\t\treturn x <= midX;\n\t\t\t};\n\t\t\trf = function(x) {\n\t\t\t\treturn x > midX;\n\t\t\t};\n\t\t} else {\n\t\t\tlf = function(x) {\n\t\t\t\treturn x <= (size.width / 2);\n\t\t\t};\n\t\t\trf = function(x) {\n\t\t\t\treturn x >= (chart.width - (size.width / 2));\n\t\t\t};\n\t\t}\n\n\t\tolf = function(x) {\n\t\t\treturn x + size.width > chart.width;\n\t\t};\n\t\torf = function(x) {\n\t\t\treturn x - size.width < 0;\n\t\t};\n\t\tyf = function(y) {\n\t\t\treturn y <= midY ? 'top' : 'bottom';\n\t\t};\n\n\t\tif (lf(model.x)) {\n\t\t\txAlign = 'left';\n\n\t\t\t// Is tooltip too wide and goes over the right side of the chart.?\n\t\t\tif (olf(model.x)) {\n\t\t\t\txAlign = 'center';\n\t\t\t\tyAlign = yf(model.y);\n\t\t\t}\n\t\t} else if (rf(model.x)) {\n\t\t\txAlign = 'right';\n\n\t\t\t// Is tooltip too wide and goes outside left edge of canvas?\n\t\t\tif (orf(model.x)) {\n\t\t\t\txAlign = 'center';\n\t\t\t\tyAlign = yf(model.y);\n\t\t\t}\n\t\t}\n\n\t\tvar opts = tooltip._options;\n\t\treturn {\n\t\t\txAlign: opts.xAlign ? opts.xAlign : xAlign,\n\t\t\tyAlign: opts.yAlign ? opts.yAlign : yAlign\n\t\t};\n\t}\n\n\t/**\n\t * @Helper to get the location a tooltip needs to be placed at given the initial position (via the vm) and the size and alignment\n\t */\n\tfunction getBackgroundPoint(vm, size, alignment) {\n\t\t// Background Position\n\t\tvar x = vm.x;\n\t\tvar y = vm.y;\n\n\t\tvar caretSize = vm.caretSize,\n\t\t\tcaretPadding = vm.caretPadding,\n\t\t\tcornerRadius = vm.cornerRadius,\n\t\t\txAlign = alignment.xAlign,\n\t\t\tyAlign = alignment.yAlign,\n\t\t\tpaddingAndSize = caretSize + caretPadding,\n\t\t\tradiusAndPadding = cornerRadius + caretPadding;\n\n\t\tif (xAlign === 'right') {\n\t\t\tx -= size.width;\n\t\t} else if (xAlign === 'center') {\n\t\t\tx -= (size.width / 2);\n\t\t}\n\n\t\tif (yAlign === 'top') {\n\t\t\ty += paddingAndSize;\n\t\t} else if (yAlign === 'bottom') {\n\t\t\ty -= size.height + paddingAndSize;\n\t\t} else {\n\t\t\ty -= (size.height / 2);\n\t\t}\n\n\t\tif (yAlign === 'center') {\n\t\t\tif (xAlign === 'left') {\n\t\t\t\tx += paddingAndSize;\n\t\t\t} else if (xAlign === 'right') {\n\t\t\t\tx -= paddingAndSize;\n\t\t\t}\n\t\t} else if (xAlign === 'left') {\n\t\t\tx -= radiusAndPadding;\n\t\t} else if (xAlign === 'right') {\n\t\t\tx += radiusAndPadding;\n\t\t}\n\n\t\treturn {\n\t\t\tx: x,\n\t\t\ty: y\n\t\t};\n\t}\n\n\tChart.Tooltip = Chart.Element.extend({\n\t\tinitialize: function() {\n\t\t\tthis._model = getBaseModel(this._options);\n\t\t},\n\n\t\t// Get the title\n\t\t// Args are: (tooltipItem, data)\n\t\tgetTitle: function() {\n\t\t\tvar me = this;\n\t\t\tvar opts = me._options;\n\t\t\tvar callbacks = opts.callbacks;\n\n\t\t\tvar beforeTitle = callbacks.beforeTitle.apply(me, arguments),\n\t\t\t\ttitle = callbacks.title.apply(me, arguments),\n\t\t\t\tafterTitle = callbacks.afterTitle.apply(me, arguments);\n\n\t\t\tvar lines = [];\n\t\t\tlines = pushOrConcat(lines, beforeTitle);\n\t\t\tlines = pushOrConcat(lines, title);\n\t\t\tlines = pushOrConcat(lines, afterTitle);\n\n\t\t\treturn lines;\n\t\t},\n\n\t\t// Args are: (tooltipItem, data)\n\t\tgetBeforeBody: function() {\n\t\t\tvar lines = this._options.callbacks.beforeBody.apply(this, arguments);\n\t\t\treturn helpers.isArray(lines) ? lines : lines !== undefined ? [lines] : [];\n\t\t},\n\n\t\t// Args are: (tooltipItem, data)\n\t\tgetBody: function(tooltipItems, data) {\n\t\t\tvar me = this;\n\t\t\tvar callbacks = me._options.callbacks;\n\t\t\tvar bodyItems = [];\n\n\t\t\thelpers.each(tooltipItems, function(tooltipItem) {\n\t\t\t\tvar bodyItem = {\n\t\t\t\t\tbefore: [],\n\t\t\t\t\tlines: [],\n\t\t\t\t\tafter: []\n\t\t\t\t};\n\t\t\t\tpushOrConcat(bodyItem.before, callbacks.beforeLabel.call(me, tooltipItem, data));\n\t\t\t\tpushOrConcat(bodyItem.lines, callbacks.label.call(me, tooltipItem, data));\n\t\t\t\tpushOrConcat(bodyItem.after, callbacks.afterLabel.call(me, tooltipItem, data));\n\n\t\t\t\tbodyItems.push(bodyItem);\n\t\t\t});\n\n\t\t\treturn bodyItems;\n\t\t},\n\n\t\t// Args are: (tooltipItem, data)\n\t\tgetAfterBody: function() {\n\t\t\tvar lines = this._options.callbacks.afterBody.apply(this, arguments);\n\t\t\treturn helpers.isArray(lines) ? lines : lines !== undefined ? [lines] : [];\n\t\t},\n\n\t\t// Get the footer and beforeFooter and afterFooter lines\n\t\t// Args are: (tooltipItem, data)\n\t\tgetFooter: function() {\n\t\t\tvar me = this;\n\t\t\tvar callbacks = me._options.callbacks;\n\n\t\t\tvar beforeFooter = callbacks.beforeFooter.apply(me, arguments);\n\t\t\tvar footer = callbacks.footer.apply(me, arguments);\n\t\t\tvar afterFooter = callbacks.afterFooter.apply(me, arguments);\n\n\t\t\tvar lines = [];\n\t\t\tlines = pushOrConcat(lines, beforeFooter);\n\t\t\tlines = pushOrConcat(lines, footer);\n\t\t\tlines = pushOrConcat(lines, afterFooter);\n\n\t\t\treturn lines;\n\t\t},\n\n\t\tupdate: function(changed) {\n\t\t\tvar me = this;\n\t\t\tvar opts = me._options;\n\n\t\t\t// Need to regenerate the model because its faster than using extend and it is necessary due to the optimization in Chart.Element.transition\n\t\t\t// that does _view = _model if ease === 1. This causes the 2nd tooltip update to set properties in both the view and model at the same time\n\t\t\t// which breaks any animations.\n\t\t\tvar existingModel = me._model;\n\t\t\tvar model = me._model = getBaseModel(opts);\n\t\t\tvar active = me._active;\n\n\t\t\tvar data = me._data;\n\n\t\t\t// In the case where active.length === 0 we need to keep these at existing values for good animations\n\t\t\tvar alignment = {\n\t\t\t\txAlign: existingModel.xAlign,\n\t\t\t\tyAlign: existingModel.yAlign\n\t\t\t};\n\t\t\tvar backgroundPoint = {\n\t\t\t\tx: existingModel.x,\n\t\t\t\ty: existingModel.y\n\t\t\t};\n\t\t\tvar tooltipSize = {\n\t\t\t\twidth: existingModel.width,\n\t\t\t\theight: existingModel.height\n\t\t\t};\n\t\t\tvar tooltipPosition = {\n\t\t\t\tx: existingModel.caretX,\n\t\t\t\ty: existingModel.caretY\n\t\t\t};\n\n\t\t\tvar i, len;\n\n\t\t\tif (active.length) {\n\t\t\t\tmodel.opacity = 1;\n\n\t\t\t\tvar labelColors = [];\n\t\t\t\ttooltipPosition = Chart.Tooltip.positioners[opts.position](active, me._eventPosition);\n\n\t\t\t\tvar tooltipItems = [];\n\t\t\t\tfor (i = 0, len = active.length; i < len; ++i) {\n\t\t\t\t\ttooltipItems.push(createTooltipItem(active[i]));\n\t\t\t\t}\n\n\t\t\t\t// If the user provided a filter function, use it to modify the tooltip items\n\t\t\t\tif (opts.filter) {\n\t\t\t\t\ttooltipItems = tooltipItems.filter(function(a) {\n\t\t\t\t\t\treturn opts.filter(a, data);\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t// If the user provided a sorting function, use it to modify the tooltip items\n\t\t\t\tif (opts.itemSort) {\n\t\t\t\t\ttooltipItems = tooltipItems.sort(function(a, b) {\n\t\t\t\t\t\treturn opts.itemSort(a, b, data);\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t// Determine colors for boxes\n\t\t\t\thelpers.each(tooltipItems, function(tooltipItem) {\n\t\t\t\t\tlabelColors.push(opts.callbacks.labelColor.call(me, tooltipItem, me._chart));\n\t\t\t\t});\n\n\t\t\t\t// Build the Text Lines\n\t\t\t\tmodel.title = me.getTitle(tooltipItems, data);\n\t\t\t\tmodel.beforeBody = me.getBeforeBody(tooltipItems, data);\n\t\t\t\tmodel.body = me.getBody(tooltipItems, data);\n\t\t\t\tmodel.afterBody = me.getAfterBody(tooltipItems, data);\n\t\t\t\tmodel.footer = me.getFooter(tooltipItems, data);\n\n\t\t\t\t// Initial positioning and colors\n\t\t\t\tmodel.x = Math.round(tooltipPosition.x);\n\t\t\t\tmodel.y = Math.round(tooltipPosition.y);\n\t\t\t\tmodel.caretPadding = opts.caretPadding;\n\t\t\t\tmodel.labelColors = labelColors;\n\n\t\t\t\t// data points\n\t\t\t\tmodel.dataPoints = tooltipItems;\n\n\t\t\t\t// We need to determine alignment of the tooltip\n\t\t\t\ttooltipSize = getTooltipSize(this, model);\n\t\t\t\talignment = determineAlignment(this, tooltipSize);\n\t\t\t\t// Final Size and Position\n\t\t\t\tbackgroundPoint = getBackgroundPoint(model, tooltipSize, alignment);\n\t\t\t} else {\n\t\t\t\tmodel.opacity = 0;\n\t\t\t}\n\n\t\t\tmodel.xAlign = alignment.xAlign;\n\t\t\tmodel.yAlign = alignment.yAlign;\n\t\t\tmodel.x = backgroundPoint.x;\n\t\t\tmodel.y = backgroundPoint.y;\n\t\t\tmodel.width = tooltipSize.width;\n\t\t\tmodel.height = tooltipSize.height;\n\n\t\t\t// Point where the caret on the tooltip points to\n\t\t\tmodel.caretX = tooltipPosition.x;\n\t\t\tmodel.caretY = tooltipPosition.y;\n\n\t\t\tme._model = model;\n\n\t\t\tif (changed && opts.custom) {\n\t\t\t\topts.custom.call(me, model);\n\t\t\t}\n\n\t\t\treturn me;\n\t\t},\n\t\tdrawCaret: function(tooltipPoint, size) {\n\t\t\tvar ctx = this._chart.ctx;\n\t\t\tvar vm = this._view;\n\t\t\tvar caretPosition = this.getCaretPosition(tooltipPoint, size, vm);\n\n\t\t\tctx.lineTo(caretPosition.x1, caretPosition.y1);\n\t\t\tctx.lineTo(caretPosition.x2, caretPosition.y2);\n\t\t\tctx.lineTo(caretPosition.x3, caretPosition.y3);\n\t\t},\n\t\tgetCaretPosition: function(tooltipPoint, size, vm) {\n\t\t\tvar x1, x2, x3;\n\t\t\tvar y1, y2, y3;\n\t\t\tvar caretSize = vm.caretSize;\n\t\t\tvar cornerRadius = vm.cornerRadius;\n\t\t\tvar xAlign = vm.xAlign,\n\t\t\t\tyAlign = vm.yAlign;\n\t\t\tvar ptX = tooltipPoint.x,\n\t\t\t\tptY = tooltipPoint.y;\n\t\t\tvar width = size.width,\n\t\t\t\theight = size.height;\n\n\t\t\tif (yAlign === 'center') {\n\t\t\t\ty2 = ptY + (height / 2);\n\n\t\t\t\tif (xAlign === 'left') {\n\t\t\t\t\tx1 = ptX;\n\t\t\t\t\tx2 = x1 - caretSize;\n\t\t\t\t\tx3 = x1;\n\n\t\t\t\t\ty1 = y2 + caretSize;\n\t\t\t\t\ty3 = y2 - caretSize;\n\t\t\t\t} else {\n\t\t\t\t\tx1 = ptX + width;\n\t\t\t\t\tx2 = x1 + caretSize;\n\t\t\t\t\tx3 = x1;\n\n\t\t\t\t\ty1 = y2 - caretSize;\n\t\t\t\t\ty3 = y2 + caretSize;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (xAlign === 'left') {\n\t\t\t\t\tx2 = ptX + cornerRadius + (caretSize);\n\t\t\t\t\tx1 = x2 - caretSize;\n\t\t\t\t\tx3 = x2 + caretSize;\n\t\t\t\t} else if (xAlign === 'right') {\n\t\t\t\t\tx2 = ptX + width - cornerRadius - caretSize;\n\t\t\t\t\tx1 = x2 - caretSize;\n\t\t\t\t\tx3 = x2 + caretSize;\n\t\t\t\t} else {\n\t\t\t\t\tx2 = ptX + (width / 2);\n\t\t\t\t\tx1 = x2 - caretSize;\n\t\t\t\t\tx3 = x2 + caretSize;\n\t\t\t\t}\n\t\t\t\tif (yAlign === 'top') {\n\t\t\t\t\ty1 = ptY;\n\t\t\t\t\ty2 = y1 - caretSize;\n\t\t\t\t\ty3 = y1;\n\t\t\t\t} else {\n\t\t\t\t\ty1 = ptY + height;\n\t\t\t\t\ty2 = y1 + caretSize;\n\t\t\t\t\ty3 = y1;\n\t\t\t\t\t// invert drawing order\n\t\t\t\t\tvar tmp = x3;\n\t\t\t\t\tx3 = x1;\n\t\t\t\t\tx1 = tmp;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {x1: x1, x2: x2, x3: x3, y1: y1, y2: y2, y3: y3};\n\t\t},\n\t\tdrawTitle: function(pt, vm, ctx, opacity) {\n\t\t\tvar title = vm.title;\n\n\t\t\tif (title.length) {\n\t\t\t\tctx.textAlign = vm._titleAlign;\n\t\t\t\tctx.textBaseline = 'top';\n\n\t\t\t\tvar titleFontSize = vm.titleFontSize,\n\t\t\t\t\ttitleSpacing = vm.titleSpacing;\n\n\t\t\t\tctx.fillStyle = mergeOpacity(vm.titleFontColor, opacity);\n\t\t\t\tctx.font = helpers.fontString(titleFontSize, vm._titleFontStyle, vm._titleFontFamily);\n\n\t\t\t\tvar i, len;\n\t\t\t\tfor (i = 0, len = title.length; i < len; ++i) {\n\t\t\t\t\tctx.fillText(title[i], pt.x, pt.y);\n\t\t\t\t\tpt.y += titleFontSize + titleSpacing; // Line Height and spacing\n\n\t\t\t\t\tif (i + 1 === title.length) {\n\t\t\t\t\t\tpt.y += vm.titleMarginBottom - titleSpacing; // If Last, add margin, remove spacing\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tdrawBody: function(pt, vm, ctx, opacity) {\n\t\t\tvar bodyFontSize = vm.bodyFontSize;\n\t\t\tvar bodySpacing = vm.bodySpacing;\n\t\t\tvar body = vm.body;\n\n\t\t\tctx.textAlign = vm._bodyAlign;\n\t\t\tctx.textBaseline = 'top';\n\n\t\t\tvar textColor = mergeOpacity(vm.bodyFontColor, opacity);\n\t\t\tctx.fillStyle = textColor;\n\t\t\tctx.font = helpers.fontString(bodyFontSize, vm._bodyFontStyle, vm._bodyFontFamily);\n\n\t\t\t// Before Body\n\t\t\tvar xLinePadding = 0;\n\t\t\tvar fillLineOfText = function(line) {\n\t\t\t\tctx.fillText(line, pt.x + xLinePadding, pt.y);\n\t\t\t\tpt.y += bodyFontSize + bodySpacing;\n\t\t\t};\n\n\t\t\t// Before body lines\n\t\t\thelpers.each(vm.beforeBody, fillLineOfText);\n\n\t\t\tvar drawColorBoxes = vm.displayColors;\n\t\t\txLinePadding = drawColorBoxes ? (bodyFontSize + 2) : 0;\n\n\t\t\t// Draw body lines now\n\t\t\thelpers.each(body, function(bodyItem, i) {\n\t\t\t\thelpers.each(bodyItem.before, fillLineOfText);\n\n\t\t\t\thelpers.each(bodyItem.lines, function(line) {\n\t\t\t\t\t// Draw Legend-like boxes if needed\n\t\t\t\t\tif (drawColorBoxes) {\n\t\t\t\t\t\t// Fill a white rect so that colours merge nicely if the opacity is < 1\n\t\t\t\t\t\tctx.fillStyle = mergeOpacity(vm.legendColorBackground, opacity);\n\t\t\t\t\t\tctx.fillRect(pt.x, pt.y, bodyFontSize, bodyFontSize);\n\n\t\t\t\t\t\t// Border\n\t\t\t\t\t\tctx.strokeStyle = mergeOpacity(vm.labelColors[i].borderColor, opacity);\n\t\t\t\t\t\tctx.strokeRect(pt.x, pt.y, bodyFontSize, bodyFontSize);\n\n\t\t\t\t\t\t// Inner square\n\t\t\t\t\t\tctx.fillStyle = mergeOpacity(vm.labelColors[i].backgroundColor, opacity);\n\t\t\t\t\t\tctx.fillRect(pt.x + 1, pt.y + 1, bodyFontSize - 2, bodyFontSize - 2);\n\n\t\t\t\t\t\tctx.fillStyle = textColor;\n\t\t\t\t\t}\n\n\t\t\t\t\tfillLineOfText(line);\n\t\t\t\t});\n\n\t\t\t\thelpers.each(bodyItem.after, fillLineOfText);\n\t\t\t});\n\n\t\t\t// Reset back to 0 for after body\n\t\t\txLinePadding = 0;\n\n\t\t\t// After body lines\n\t\t\thelpers.each(vm.afterBody, fillLineOfText);\n\t\t\tpt.y -= bodySpacing; // Remove last body spacing\n\t\t},\n\t\tdrawFooter: function(pt, vm, ctx, opacity) {\n\t\t\tvar footer = vm.footer;\n\n\t\t\tif (footer.length) {\n\t\t\t\tpt.y += vm.footerMarginTop;\n\n\t\t\t\tctx.textAlign = vm._footerAlign;\n\t\t\t\tctx.textBaseline = 'top';\n\n\t\t\t\tctx.fillStyle = mergeOpacity(vm.footerFontColor, opacity);\n\t\t\t\tctx.font = helpers.fontString(vm.footerFontSize, vm._footerFontStyle, vm._footerFontFamily);\n\n\t\t\t\thelpers.each(footer, function(line) {\n\t\t\t\t\tctx.fillText(line, pt.x, pt.y);\n\t\t\t\t\tpt.y += vm.footerFontSize + vm.footerSpacing;\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tdrawBackground: function(pt, vm, ctx, tooltipSize, opacity) {\n\t\t\tctx.fillStyle = mergeOpacity(vm.backgroundColor, opacity);\n\t\t\tctx.strokeStyle = mergeOpacity(vm.borderColor, opacity);\n\t\t\tctx.lineWidth = vm.borderWidth;\n\t\t\tvar xAlign = vm.xAlign;\n\t\t\tvar yAlign = vm.yAlign;\n\t\t\tvar x = pt.x;\n\t\t\tvar y = pt.y;\n\t\t\tvar width = tooltipSize.width;\n\t\t\tvar height = tooltipSize.height;\n\t\t\tvar radius = vm.cornerRadius;\n\n\t\t\tctx.beginPath();\n\t\t\tctx.moveTo(x + radius, y);\n\t\t\tif (yAlign === 'top') {\n\t\t\t\tthis.drawCaret(pt, tooltipSize);\n\t\t\t}\n\t\t\tctx.lineTo(x + width - radius, y);\n\t\t\tctx.quadraticCurveTo(x + width, y, x + width, y + radius);\n\t\t\tif (yAlign === 'center' && xAlign === 'right') {\n\t\t\t\tthis.drawCaret(pt, tooltipSize);\n\t\t\t}\n\t\t\tctx.lineTo(x + width, y + height - radius);\n\t\t\tctx.quadraticCurveTo(x + width, y + height, x + width - radius, y + height);\n\t\t\tif (yAlign === 'bottom') {\n\t\t\t\tthis.drawCaret(pt, tooltipSize);\n\t\t\t}\n\t\t\tctx.lineTo(x + radius, y + height);\n\t\t\tctx.quadraticCurveTo(x, y + height, x, y + height - radius);\n\t\t\tif (yAlign === 'center' && xAlign === 'left') {\n\t\t\t\tthis.drawCaret(pt, tooltipSize);\n\t\t\t}\n\t\t\tctx.lineTo(x, y + radius);\n\t\t\tctx.quadraticCurveTo(x, y, x + radius, y);\n\t\t\tctx.closePath();\n\n\t\t\tctx.fill();\n\n\t\t\tif (vm.borderWidth > 0) {\n\t\t\t\tctx.stroke();\n\t\t\t}\n\t\t},\n\t\tdraw: function() {\n\t\t\tvar ctx = this._chart.ctx;\n\t\t\tvar vm = this._view;\n\n\t\t\tif (vm.opacity === 0) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar tooltipSize = {\n\t\t\t\twidth: vm.width,\n\t\t\t\theight: vm.height\n\t\t\t};\n\t\t\tvar pt = {\n\t\t\t\tx: vm.x,\n\t\t\t\ty: vm.y\n\t\t\t};\n\n\t\t\t// IE11/Edge does not like very small opacities, so snap to 0\n\t\t\tvar opacity = Math.abs(vm.opacity < 1e-3) ? 0 : vm.opacity;\n\n\t\t\t// Truthy/falsey value for empty tooltip\n\t\t\tvar hasTooltipContent = vm.title.length || vm.beforeBody.length || vm.body.length || vm.afterBody.length || vm.footer.length;\n\n\t\t\tif (this._options.enabled && hasTooltipContent) {\n\t\t\t\t// Draw Background\n\t\t\t\tthis.drawBackground(pt, vm, ctx, tooltipSize, opacity);\n\n\t\t\t\t// Draw Title, Body, and Footer\n\t\t\t\tpt.x += vm.xPadding;\n\t\t\t\tpt.y += vm.yPadding;\n\n\t\t\t\t// Titles\n\t\t\t\tthis.drawTitle(pt, vm, ctx, opacity);\n\n\t\t\t\t// Body\n\t\t\t\tthis.drawBody(pt, vm, ctx, opacity);\n\n\t\t\t\t// Footer\n\t\t\t\tthis.drawFooter(pt, vm, ctx, opacity);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Handle an event\n\t\t * @private\n\t\t * @param {IEvent} event - The event to handle\n\t\t * @returns {Boolean} true if the tooltip changed\n\t\t */\n\t\thandleEvent: function(e) {\n\t\t\tvar me = this;\n\t\t\tvar options = me._options;\n\t\t\tvar changed = false;\n\n\t\t\tme._lastActive = me._lastActive || [];\n\n\t\t\t// Find Active Elements for tooltips\n\t\t\tif (e.type === 'mouseout') {\n\t\t\t\tme._active = [];\n\t\t\t} else {\n\t\t\t\tme._active = me._chart.getElementsAtEventForMode(e, options.mode, options);\n\t\t\t}\n\n\t\t\t// Remember Last Actives\n\t\t\tchanged = !helpers.arrayEquals(me._active, me._lastActive);\n\n\t\t\t// If tooltip didn't change, do not handle the target event\n\t\t\tif (!changed) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tme._lastActive = me._active;\n\n\t\t\tif (options.enabled || options.custom) {\n\t\t\t\tme._eventPosition = {\n\t\t\t\t\tx: e.x,\n\t\t\t\t\ty: e.y\n\t\t\t\t};\n\n\t\t\t\tvar model = me._model;\n\t\t\t\tme.update(true);\n\t\t\t\tme.pivot();\n\n\t\t\t\t// See if our tooltip position changed\n\t\t\t\tchanged |= (model.x !== me._model.x) || (model.y !== me._model.y);\n\t\t\t}\n\n\t\t\treturn changed;\n\t\t}\n\t});\n\n\t/**\n\t * @namespace Chart.Tooltip.positioners\n\t */\n\tChart.Tooltip.positioners = {\n\t\t/**\n\t\t * Average mode places the tooltip at the average position of the elements shown\n\t\t * @function Chart.Tooltip.positioners.average\n\t\t * @param elements {ChartElement[]} the elements being displayed in the tooltip\n\t\t * @returns {Point} tooltip position\n\t\t */\n\t\taverage: function(elements) {\n\t\t\tif (!elements.length) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tvar i, len;\n\t\t\tvar x = 0;\n\t\t\tvar y = 0;\n\t\t\tvar count = 0;\n\n\t\t\tfor (i = 0, len = elements.length; i < len; ++i) {\n\t\t\t\tvar el = elements[i];\n\t\t\t\tif (el && el.hasValue()) {\n\t\t\t\t\tvar pos = el.tooltipPosition();\n\t\t\t\t\tx += pos.x;\n\t\t\t\t\ty += pos.y;\n\t\t\t\t\t++count;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tx: Math.round(x / count),\n\t\t\t\ty: Math.round(y / count)\n\t\t\t};\n\t\t},\n\n\t\t/**\n\t\t * Gets the tooltip position nearest of the item nearest to the event position\n\t\t * @function Chart.Tooltip.positioners.nearest\n\t\t * @param elements {Chart.Element[]} the tooltip elements\n\t\t * @param eventPosition {Point} the position of the event in canvas coordinates\n\t\t * @returns {Point} the tooltip position\n\t\t */\n\t\tnearest: function(elements, eventPosition) {\n\t\t\tvar x = eventPosition.x;\n\t\t\tvar y = eventPosition.y;\n\n\t\t\tvar nearestElement;\n\t\t\tvar minDistance = Number.POSITIVE_INFINITY;\n\t\t\tvar i, len;\n\t\t\tfor (i = 0, len = elements.length; i < len; ++i) {\n\t\t\t\tvar el = elements[i];\n\t\t\t\tif (el && el.hasValue()) {\n\t\t\t\t\tvar center = el.getCenterPoint();\n\t\t\t\t\tvar d = helpers.distanceBetweenPoints(eventPosition, center);\n\n\t\t\t\t\tif (d < minDistance) {\n\t\t\t\t\t\tminDistance = d;\n\t\t\t\t\t\tnearestElement = el;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (nearestElement) {\n\t\t\t\tvar tp = nearestElement.tooltipPosition();\n\t\t\t\tx = tp.x;\n\t\t\t\ty = tp.y;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tx: x,\n\t\t\t\ty: y\n\t\t\t};\n\t\t}\n\t};\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/chart.js/src/core/core.tooltip.js\n// module id = 1203\n// module chunks = 0","'use strict';\n\nmodule.exports = function(Chart) {\n\n\tvar helpers = Chart.helpers,\n\t\tglobalOpts = Chart.defaults.global;\n\n\tglobalOpts.elements.arc = {\n\t\tbackgroundColor: globalOpts.defaultColor,\n\t\tborderColor: '#fff',\n\t\tborderWidth: 2\n\t};\n\n\tChart.elements.Arc = Chart.Element.extend({\n\t\tinLabelRange: function(mouseX) {\n\t\t\tvar vm = this._view;\n\n\t\t\tif (vm) {\n\t\t\t\treturn (Math.pow(mouseX - vm.x, 2) < Math.pow(vm.radius + vm.hoverRadius, 2));\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tinRange: function(chartX, chartY) {\n\t\t\tvar vm = this._view;\n\n\t\t\tif (vm) {\n\t\t\t\tvar pointRelativePosition = helpers.getAngleFromPoint(vm, {\n\t\t\t\t\t\tx: chartX,\n\t\t\t\t\t\ty: chartY\n\t\t\t\t\t}),\n\t\t\t\t\tangle = pointRelativePosition.angle,\n\t\t\t\t\tdistance = pointRelativePosition.distance;\n\n\t\t\t\t// Sanitise angle range\n\t\t\t\tvar startAngle = vm.startAngle;\n\t\t\t\tvar endAngle = vm.endAngle;\n\t\t\t\twhile (endAngle < startAngle) {\n\t\t\t\t\tendAngle += 2.0 * Math.PI;\n\t\t\t\t}\n\t\t\t\twhile (angle > endAngle) {\n\t\t\t\t\tangle -= 2.0 * Math.PI;\n\t\t\t\t}\n\t\t\t\twhile (angle < startAngle) {\n\t\t\t\t\tangle += 2.0 * Math.PI;\n\t\t\t\t}\n\n\t\t\t\t// Check if within the range of the open/close angle\n\t\t\t\tvar betweenAngles = (angle >= startAngle && angle <= endAngle),\n\t\t\t\t\twithinRadius = (distance >= vm.innerRadius && distance <= vm.outerRadius);\n\n\t\t\t\treturn (betweenAngles && withinRadius);\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tgetCenterPoint: function() {\n\t\t\tvar vm = this._view;\n\t\t\tvar halfAngle = (vm.startAngle + vm.endAngle) / 2;\n\t\t\tvar halfRadius = (vm.innerRadius + vm.outerRadius) / 2;\n\t\t\treturn {\n\t\t\t\tx: vm.x + Math.cos(halfAngle) * halfRadius,\n\t\t\t\ty: vm.y + Math.sin(halfAngle) * halfRadius\n\t\t\t};\n\t\t},\n\t\tgetArea: function() {\n\t\t\tvar vm = this._view;\n\t\t\treturn Math.PI * ((vm.endAngle - vm.startAngle) / (2 * Math.PI)) * (Math.pow(vm.outerRadius, 2) - Math.pow(vm.innerRadius, 2));\n\t\t},\n\t\ttooltipPosition: function() {\n\t\t\tvar vm = this._view;\n\n\t\t\tvar centreAngle = vm.startAngle + ((vm.endAngle - vm.startAngle) / 2),\n\t\t\t\trangeFromCentre = (vm.outerRadius - vm.innerRadius) / 2 + vm.innerRadius;\n\t\t\treturn {\n\t\t\t\tx: vm.x + (Math.cos(centreAngle) * rangeFromCentre),\n\t\t\t\ty: vm.y + (Math.sin(centreAngle) * rangeFromCentre)\n\t\t\t};\n\t\t},\n\t\tdraw: function() {\n\n\t\t\tvar ctx = this._chart.ctx,\n\t\t\t\tvm = this._view,\n\t\t\t\tsA = vm.startAngle,\n\t\t\t\teA = vm.endAngle;\n\n\t\t\tctx.beginPath();\n\n\t\t\tctx.arc(vm.x, vm.y, vm.outerRadius, sA, eA);\n\t\t\tctx.arc(vm.x, vm.y, vm.innerRadius, eA, sA, true);\n\n\t\t\tctx.closePath();\n\t\t\tctx.strokeStyle = vm.borderColor;\n\t\t\tctx.lineWidth = vm.borderWidth;\n\n\t\t\tctx.fillStyle = vm.backgroundColor;\n\n\t\t\tctx.fill();\n\t\t\tctx.lineJoin = 'bevel';\n\n\t\t\tif (vm.borderWidth) {\n\t\t\t\tctx.stroke();\n\t\t\t}\n\t\t}\n\t});\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/chart.js/src/elements/element.arc.js\n// module id = 1204\n// module chunks = 0","'use strict';\n\nmodule.exports = function(Chart) {\n\n\tvar helpers = Chart.helpers;\n\tvar globalDefaults = Chart.defaults.global;\n\n\tChart.defaults.global.elements.line = {\n\t\ttension: 0.4,\n\t\tbackgroundColor: globalDefaults.defaultColor,\n\t\tborderWidth: 3,\n\t\tborderColor: globalDefaults.defaultColor,\n\t\tborderCapStyle: 'butt',\n\t\tborderDash: [],\n\t\tborderDashOffset: 0.0,\n\t\tborderJoinStyle: 'miter',\n\t\tcapBezierPoints: true,\n\t\tfill: true, // do we fill in the area between the line and its base axis\n\t};\n\n\tChart.elements.Line = Chart.Element.extend({\n\t\tdraw: function() {\n\t\t\tvar me = this;\n\t\t\tvar vm = me._view;\n\t\t\tvar ctx = me._chart.ctx;\n\t\t\tvar spanGaps = vm.spanGaps;\n\t\t\tvar points = me._children.slice(); // clone array\n\t\t\tvar globalOptionLineElements = globalDefaults.elements.line;\n\t\t\tvar lastDrawnIndex = -1;\n\t\t\tvar index, current, previous, currentVM;\n\n\t\t\t// If we are looping, adding the first point again\n\t\t\tif (me._loop && points.length) {\n\t\t\t\tpoints.push(points[0]);\n\t\t\t}\n\n\t\t\tctx.save();\n\n\t\t\t// Stroke Line Options\n\t\t\tctx.lineCap = vm.borderCapStyle || globalOptionLineElements.borderCapStyle;\n\n\t\t\t// IE 9 and 10 do not support line dash\n\t\t\tif (ctx.setLineDash) {\n\t\t\t\tctx.setLineDash(vm.borderDash || globalOptionLineElements.borderDash);\n\t\t\t}\n\n\t\t\tctx.lineDashOffset = vm.borderDashOffset || globalOptionLineElements.borderDashOffset;\n\t\t\tctx.lineJoin = vm.borderJoinStyle || globalOptionLineElements.borderJoinStyle;\n\t\t\tctx.lineWidth = vm.borderWidth || globalOptionLineElements.borderWidth;\n\t\t\tctx.strokeStyle = vm.borderColor || globalDefaults.defaultColor;\n\n\t\t\t// Stroke Line\n\t\t\tctx.beginPath();\n\t\t\tlastDrawnIndex = -1;\n\n\t\t\tfor (index = 0; index < points.length; ++index) {\n\t\t\t\tcurrent = points[index];\n\t\t\t\tprevious = helpers.previousItem(points, index);\n\t\t\t\tcurrentVM = current._view;\n\n\t\t\t\t// First point moves to it's starting position no matter what\n\t\t\t\tif (index === 0) {\n\t\t\t\t\tif (!currentVM.skip) {\n\t\t\t\t\t\tctx.moveTo(currentVM.x, currentVM.y);\n\t\t\t\t\t\tlastDrawnIndex = index;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tprevious = lastDrawnIndex === -1 ? previous : points[lastDrawnIndex];\n\n\t\t\t\t\tif (!currentVM.skip) {\n\t\t\t\t\t\tif ((lastDrawnIndex !== (index - 1) && !spanGaps) || lastDrawnIndex === -1) {\n\t\t\t\t\t\t\t// There was a gap and this is the first point after the gap\n\t\t\t\t\t\t\tctx.moveTo(currentVM.x, currentVM.y);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Line to next point\n\t\t\t\t\t\t\thelpers.canvas.lineTo(ctx, previous._view, current._view);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlastDrawnIndex = index;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tctx.stroke();\n\t\t\tctx.restore();\n\t\t}\n\t});\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/chart.js/src/elements/element.line.js\n// module id = 1205\n// module chunks = 0","'use strict';\n\nmodule.exports = function(Chart) {\n\n\tvar helpers = Chart.helpers,\n\t\tglobalOpts = Chart.defaults.global,\n\t\tdefaultColor = globalOpts.defaultColor;\n\n\tglobalOpts.elements.point = {\n\t\tradius: 3,\n\t\tpointStyle: 'circle',\n\t\tbackgroundColor: defaultColor,\n\t\tborderWidth: 1,\n\t\tborderColor: defaultColor,\n\t\t// Hover\n\t\thitRadius: 1,\n\t\thoverRadius: 4,\n\t\thoverBorderWidth: 1\n\t};\n\n\tfunction xRange(mouseX) {\n\t\tvar vm = this._view;\n\t\treturn vm ? (Math.pow(mouseX - vm.x, 2) < Math.pow(vm.radius + vm.hitRadius, 2)) : false;\n\t}\n\n\tfunction yRange(mouseY) {\n\t\tvar vm = this._view;\n\t\treturn vm ? (Math.pow(mouseY - vm.y, 2) < Math.pow(vm.radius + vm.hitRadius, 2)) : false;\n\t}\n\n\tChart.elements.Point = Chart.Element.extend({\n\t\tinRange: function(mouseX, mouseY) {\n\t\t\tvar vm = this._view;\n\t\t\treturn vm ? ((Math.pow(mouseX - vm.x, 2) + Math.pow(mouseY - vm.y, 2)) < Math.pow(vm.hitRadius + vm.radius, 2)) : false;\n\t\t},\n\n\t\tinLabelRange: xRange,\n\t\tinXRange: xRange,\n\t\tinYRange: yRange,\n\n\t\tgetCenterPoint: function() {\n\t\t\tvar vm = this._view;\n\t\t\treturn {\n\t\t\t\tx: vm.x,\n\t\t\t\ty: vm.y\n\t\t\t};\n\t\t},\n\t\tgetArea: function() {\n\t\t\treturn Math.PI * Math.pow(this._view.radius, 2);\n\t\t},\n\t\ttooltipPosition: function() {\n\t\t\tvar vm = this._view;\n\t\t\treturn {\n\t\t\t\tx: vm.x,\n\t\t\t\ty: vm.y,\n\t\t\t\tpadding: vm.radius + vm.borderWidth\n\t\t\t};\n\t\t},\n\t\tdraw: function(chartArea) {\n\t\t\tvar vm = this._view;\n\t\t\tvar model = this._model;\n\t\t\tvar ctx = this._chart.ctx;\n\t\t\tvar pointStyle = vm.pointStyle;\n\t\t\tvar radius = vm.radius;\n\t\t\tvar x = vm.x;\n\t\t\tvar y = vm.y;\n\t\t\tvar color = Chart.helpers.color;\n\t\t\tvar errMargin = 1.01; // 1.01 is margin for Accumulated error. (Especially Edge, IE.)\n\t\t\tvar ratio = 0;\n\n\t\t\tif (vm.skip) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tctx.strokeStyle = vm.borderColor || defaultColor;\n\t\t\tctx.lineWidth = helpers.getValueOrDefault(vm.borderWidth, globalOpts.elements.point.borderWidth);\n\t\t\tctx.fillStyle = vm.backgroundColor || defaultColor;\n\n\t\t\t// Cliping for Points.\n\t\t\t// going out from inner charArea?\n\t\t\tif ((chartArea !== undefined) && ((model.x < chartArea.left) || (chartArea.right*errMargin < model.x) || (model.y < chartArea.top) || (chartArea.bottom*errMargin < model.y))) {\n\t\t\t\t// Point fade out\n\t\t\t\tif (model.x < chartArea.left) {\n\t\t\t\t\tratio = (x - model.x) / (chartArea.left - model.x);\n\t\t\t\t} else if (chartArea.right*errMargin < model.x) {\n\t\t\t\t\tratio = (model.x - x) / (model.x - chartArea.right);\n\t\t\t\t} else if (model.y < chartArea.top) {\n\t\t\t\t\tratio = (y - model.y) / (chartArea.top - model.y);\n\t\t\t\t} else if (chartArea.bottom*errMargin < model.y) {\n\t\t\t\t\tratio = (model.y - y) / (model.y - chartArea.bottom);\n\t\t\t\t}\n\t\t\t\tratio = Math.round(ratio*100) / 100;\n\t\t\t\tctx.strokeStyle = color(ctx.strokeStyle).alpha(ratio).rgbString();\n\t\t\t\tctx.fillStyle = color(ctx.fillStyle).alpha(ratio).rgbString();\n\t\t\t}\n\n\t\t\tChart.canvasHelpers.drawPoint(ctx, pointStyle, radius, x, y);\n\t\t}\n\t});\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/chart.js/src/elements/element.point.js\n// module id = 1206\n// module chunks = 0","'use strict';\n\nmodule.exports = function(Chart) {\n\n\tvar globalOpts = Chart.defaults.global;\n\n\tglobalOpts.elements.rectangle = {\n\t\tbackgroundColor: globalOpts.defaultColor,\n\t\tborderWidth: 0,\n\t\tborderColor: globalOpts.defaultColor,\n\t\tborderSkipped: 'bottom'\n\t};\n\n\tfunction isVertical(bar) {\n\t\treturn bar._view.width !== undefined;\n\t}\n\n\t/**\n\t * Helper function to get the bounds of the bar regardless of the orientation\n\t * @private\n\t * @param bar {Chart.Element.Rectangle} the bar\n\t * @return {Bounds} bounds of the bar\n\t */\n\tfunction getBarBounds(bar) {\n\t\tvar vm = bar._view;\n\t\tvar x1, x2, y1, y2;\n\n\t\tif (isVertical(bar)) {\n\t\t\t// vertical\n\t\t\tvar halfWidth = vm.width / 2;\n\t\t\tx1 = vm.x - halfWidth;\n\t\t\tx2 = vm.x + halfWidth;\n\t\t\ty1 = Math.min(vm.y, vm.base);\n\t\t\ty2 = Math.max(vm.y, vm.base);\n\t\t} else {\n\t\t\t// horizontal bar\n\t\t\tvar halfHeight = vm.height / 2;\n\t\t\tx1 = Math.min(vm.x, vm.base);\n\t\t\tx2 = Math.max(vm.x, vm.base);\n\t\t\ty1 = vm.y - halfHeight;\n\t\t\ty2 = vm.y + halfHeight;\n\t\t}\n\n\t\treturn {\n\t\t\tleft: x1,\n\t\t\ttop: y1,\n\t\t\tright: x2,\n\t\t\tbottom: y2\n\t\t};\n\t}\n\n\tChart.elements.Rectangle = Chart.Element.extend({\n\t\tdraw: function() {\n\t\t\tvar ctx = this._chart.ctx;\n\t\t\tvar vm = this._view;\n\t\t\tvar left, right, top, bottom, signX, signY, borderSkipped;\n\t\t\tvar borderWidth = vm.borderWidth;\n\n\t\t\tif (!vm.horizontal) {\n\t\t\t\t// bar\n\t\t\t\tleft = vm.x - vm.width / 2;\n\t\t\t\tright = vm.x + vm.width / 2;\n\t\t\t\ttop = vm.y;\n\t\t\t\tbottom = vm.base;\n\t\t\t\tsignX = 1;\n\t\t\t\tsignY = bottom > top? 1: -1;\n\t\t\t\tborderSkipped = vm.borderSkipped || 'bottom';\n\t\t\t} else {\n\t\t\t\t// horizontal bar\n\t\t\t\tleft = vm.base;\n\t\t\t\tright = vm.x;\n\t\t\t\ttop = vm.y - vm.height / 2;\n\t\t\t\tbottom = vm.y + vm.height / 2;\n\t\t\t\tsignX = right > left? 1: -1;\n\t\t\t\tsignY = 1;\n\t\t\t\tborderSkipped = vm.borderSkipped || 'left';\n\t\t\t}\n\n\t\t\t// Canvas doesn't allow us to stroke inside the width so we can\n\t\t\t// adjust the sizes to fit if we're setting a stroke on the line\n\t\t\tif (borderWidth) {\n\t\t\t\t// borderWidth shold be less than bar width and bar height.\n\t\t\t\tvar barSize = Math.min(Math.abs(left - right), Math.abs(top - bottom));\n\t\t\t\tborderWidth = borderWidth > barSize? barSize: borderWidth;\n\t\t\t\tvar halfStroke = borderWidth / 2;\n\t\t\t\t// Adjust borderWidth when bar top position is near vm.base(zero).\n\t\t\t\tvar borderLeft = left + (borderSkipped !== 'left'? halfStroke * signX: 0);\n\t\t\t\tvar borderRight = right + (borderSkipped !== 'right'? -halfStroke * signX: 0);\n\t\t\t\tvar borderTop = top + (borderSkipped !== 'top'? halfStroke * signY: 0);\n\t\t\t\tvar borderBottom = bottom + (borderSkipped !== 'bottom'? -halfStroke * signY: 0);\n\t\t\t\t// not become a vertical line?\n\t\t\t\tif (borderLeft !== borderRight) {\n\t\t\t\t\ttop = borderTop;\n\t\t\t\t\tbottom = borderBottom;\n\t\t\t\t}\n\t\t\t\t// not become a horizontal line?\n\t\t\t\tif (borderTop !== borderBottom) {\n\t\t\t\t\tleft = borderLeft;\n\t\t\t\t\tright = borderRight;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tctx.beginPath();\n\t\t\tctx.fillStyle = vm.backgroundColor;\n\t\t\tctx.strokeStyle = vm.borderColor;\n\t\t\tctx.lineWidth = borderWidth;\n\n\t\t\t// Corner points, from bottom-left to bottom-right clockwise\n\t\t\t// | 1 2 |\n\t\t\t// | 0 3 |\n\t\t\tvar corners = [\n\t\t\t\t[left, bottom],\n\t\t\t\t[left, top],\n\t\t\t\t[right, top],\n\t\t\t\t[right, bottom]\n\t\t\t];\n\n\t\t\t// Find first (starting) corner with fallback to 'bottom'\n\t\t\tvar borders = ['bottom', 'left', 'top', 'right'];\n\t\t\tvar startCorner = borders.indexOf(borderSkipped, 0);\n\t\t\tif (startCorner === -1) {\n\t\t\t\tstartCorner = 0;\n\t\t\t}\n\n\t\t\tfunction cornerAt(index) {\n\t\t\t\treturn corners[(startCorner + index) % 4];\n\t\t\t}\n\n\t\t\t// Draw rectangle from 'startCorner'\n\t\t\tvar corner = cornerAt(0);\n\t\t\tctx.moveTo(corner[0], corner[1]);\n\n\t\t\tfor (var i = 1; i < 4; i++) {\n\t\t\t\tcorner = cornerAt(i);\n\t\t\t\tctx.lineTo(corner[0], corner[1]);\n\t\t\t}\n\n\t\t\tctx.fill();\n\t\t\tif (borderWidth) {\n\t\t\t\tctx.stroke();\n\t\t\t}\n\t\t},\n\t\theight: function() {\n\t\t\tvar vm = this._view;\n\t\t\treturn vm.base - vm.y;\n\t\t},\n\t\tinRange: function(mouseX, mouseY) {\n\t\t\tvar inRange = false;\n\n\t\t\tif (this._view) {\n\t\t\t\tvar bounds = getBarBounds(this);\n\t\t\t\tinRange = mouseX >= bounds.left && mouseX <= bounds.right && mouseY >= bounds.top && mouseY <= bounds.bottom;\n\t\t\t}\n\n\t\t\treturn inRange;\n\t\t},\n\t\tinLabelRange: function(mouseX, mouseY) {\n\t\t\tvar me = this;\n\t\t\tif (!me._view) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tvar inRange = false;\n\t\t\tvar bounds = getBarBounds(me);\n\n\t\t\tif (isVertical(me)) {\n\t\t\t\tinRange = mouseX >= bounds.left && mouseX <= bounds.right;\n\t\t\t} else {\n\t\t\t\tinRange = mouseY >= bounds.top && mouseY <= bounds.bottom;\n\t\t\t}\n\n\t\t\treturn inRange;\n\t\t},\n\t\tinXRange: function(mouseX) {\n\t\t\tvar bounds = getBarBounds(this);\n\t\t\treturn mouseX >= bounds.left && mouseX <= bounds.right;\n\t\t},\n\t\tinYRange: function(mouseY) {\n\t\t\tvar bounds = getBarBounds(this);\n\t\t\treturn mouseY >= bounds.top && mouseY <= bounds.bottom;\n\t\t},\n\t\tgetCenterPoint: function() {\n\t\t\tvar vm = this._view;\n\t\t\tvar x, y;\n\t\t\tif (isVertical(this)) {\n\t\t\t\tx = vm.x;\n\t\t\t\ty = (vm.y + vm.base) / 2;\n\t\t\t} else {\n\t\t\t\tx = (vm.x + vm.base) / 2;\n\t\t\t\ty = vm.y;\n\t\t\t}\n\n\t\t\treturn {x: x, y: y};\n\t\t},\n\t\tgetArea: function() {\n\t\t\tvar vm = this._view;\n\t\t\treturn vm.width * Math.abs(vm.y - vm.base);\n\t\t},\n\t\ttooltipPosition: function() {\n\t\t\tvar vm = this._view;\n\t\t\treturn {\n\t\t\t\tx: vm.x,\n\t\t\t\ty: vm.y\n\t\t\t};\n\t\t}\n\t});\n\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/chart.js/src/elements/element.rectangle.js\n// module id = 1207\n// module chunks = 0","'use strict';\n\n// Chart.Platform implementation for targeting a web browser\nmodule.exports = function(Chart) {\n\tvar helpers = Chart.helpers;\n\n\t// DOM event types -> Chart.js event types.\n\t// Note: only events with different types are mapped.\n\t// https://developer.mozilla.org/en-US/docs/Web/Events\n\tvar eventTypeMap = {\n\t\t// Touch events\n\t\ttouchstart: 'mousedown',\n\t\ttouchmove: 'mousemove',\n\t\ttouchend: 'mouseup',\n\n\t\t// Pointer events\n\t\tpointerenter: 'mouseenter',\n\t\tpointerdown: 'mousedown',\n\t\tpointermove: 'mousemove',\n\t\tpointerup: 'mouseup',\n\t\tpointerleave: 'mouseout',\n\t\tpointerout: 'mouseout'\n\t};\n\n\t/**\n\t * The \"used\" size is the final value of a dimension property after all calculations have\n\t * been performed. This method uses the computed style of `element` but returns undefined\n\t * if the computed style is not expressed in pixels. That can happen in some cases where\n\t * `element` has a size relative to its parent and this last one is not yet displayed,\n\t * for example because of `display: none` on a parent node.\n\t * @see https://developer.mozilla.org/en-US/docs/Web/CSS/used_value\n\t * @returns {Number} Size in pixels or undefined if unknown.\n\t */\n\tfunction readUsedSize(element, property) {\n\t\tvar value = helpers.getStyle(element, property);\n\t\tvar matches = value && value.match(/^(\\d+)(\\.\\d+)?px$/);\n\t\treturn matches? Number(matches[1]) : undefined;\n\t}\n\n\t/**\n\t * Initializes the canvas style and render size without modifying the canvas display size,\n\t * since responsiveness is handled by the controller.resize() method. The config is used\n\t * to determine the aspect ratio to apply in case no explicit height has been specified.\n\t */\n\tfunction initCanvas(canvas, config) {\n\t\tvar style = canvas.style;\n\n\t\t// NOTE(SB) canvas.getAttribute('width') !== canvas.width: in the first case it\n\t\t// returns null or '' if no explicit value has been set to the canvas attribute.\n\t\tvar renderHeight = canvas.getAttribute('height');\n\t\tvar renderWidth = canvas.getAttribute('width');\n\n\t\t// Chart.js modifies some canvas values that we want to restore on destroy\n\t\tcanvas._chartjs = {\n\t\t\tinitial: {\n\t\t\t\theight: renderHeight,\n\t\t\t\twidth: renderWidth,\n\t\t\t\tstyle: {\n\t\t\t\t\tdisplay: style.display,\n\t\t\t\t\theight: style.height,\n\t\t\t\t\twidth: style.width\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\t// Force canvas to display as block to avoid extra space caused by inline\n\t\t// elements, which would interfere with the responsive resize process.\n\t\t// https://github.com/chartjs/Chart.js/issues/2538\n\t\tstyle.display = style.display || 'block';\n\n\t\tif (renderWidth === null || renderWidth === '') {\n\t\t\tvar displayWidth = readUsedSize(canvas, 'width');\n\t\t\tif (displayWidth !== undefined) {\n\t\t\t\tcanvas.width = displayWidth;\n\t\t\t}\n\t\t}\n\n\t\tif (renderHeight === null || renderHeight === '') {\n\t\t\tif (canvas.style.height === '') {\n\t\t\t\t// If no explicit render height and style height, let's apply the aspect ratio,\n\t\t\t\t// which one can be specified by the user but also by charts as default option\n\t\t\t\t// (i.e. options.aspectRatio). If not specified, use canvas aspect ratio of 2.\n\t\t\t\tcanvas.height = canvas.width / (config.options.aspectRatio || 2);\n\t\t\t} else {\n\t\t\t\tvar displayHeight = readUsedSize(canvas, 'height');\n\t\t\t\tif (displayWidth !== undefined) {\n\t\t\t\t\tcanvas.height = displayHeight;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn canvas;\n\t}\n\n\tfunction createEvent(type, chart, x, y, nativeEvent) {\n\t\treturn {\n\t\t\ttype: type,\n\t\t\tchart: chart,\n\t\t\tnative: nativeEvent || null,\n\t\t\tx: x !== undefined? x : null,\n\t\t\ty: y !== undefined? y : null,\n\t\t};\n\t}\n\n\tfunction fromNativeEvent(event, chart) {\n\t\tvar type = eventTypeMap[event.type] || event.type;\n\t\tvar pos = helpers.getRelativePosition(event, chart);\n\t\treturn createEvent(type, chart, pos.x, pos.y, event);\n\t}\n\n\tfunction createResizer(handler) {\n\t\tvar iframe = document.createElement('iframe');\n\t\tiframe.className = 'chartjs-hidden-iframe';\n\t\tiframe.style.cssText =\n\t\t\t'display:block;'+\n\t\t\t'overflow:hidden;'+\n\t\t\t'border:0;'+\n\t\t\t'margin:0;'+\n\t\t\t'top:0;'+\n\t\t\t'left:0;'+\n\t\t\t'bottom:0;'+\n\t\t\t'right:0;'+\n\t\t\t'height:100%;'+\n\t\t\t'width:100%;'+\n\t\t\t'position:absolute;'+\n\t\t\t'pointer-events:none;'+\n\t\t\t'z-index:-1;';\n\n\t\t// Prevent the iframe to gain focus on tab.\n\t\t// https://github.com/chartjs/Chart.js/issues/3090\n\t\tiframe.tabIndex = -1;\n\n\t\t// If the iframe is re-attached to the DOM, the resize listener is removed because the\n\t\t// content is reloaded, so make sure to install the handler after the iframe is loaded.\n\t\t// https://github.com/chartjs/Chart.js/issues/3521\n\t\thelpers.addEvent(iframe, 'load', function() {\n\t\t\thelpers.addEvent(iframe.contentWindow || iframe, 'resize', handler);\n\n\t\t\t// The iframe size might have changed while loading, which can also\n\t\t\t// happen if the size has been changed while detached from the DOM.\n\t\t\thandler();\n\t\t});\n\n\t\treturn iframe;\n\t}\n\n\tfunction addResizeListener(node, listener, chart) {\n\t\tvar stub = node._chartjs = {\n\t\t\tticking: false\n\t\t};\n\n\t\t// Throttle the callback notification until the next animation frame.\n\t\tvar notify = function() {\n\t\t\tif (!stub.ticking) {\n\t\t\t\tstub.ticking = true;\n\t\t\t\thelpers.requestAnimFrame.call(window, function() {\n\t\t\t\t\tif (stub.resizer) {\n\t\t\t\t\t\tstub.ticking = false;\n\t\t\t\t\t\treturn listener(createEvent('resize', chart));\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\n\t\t// Let's keep track of this added iframe and thus avoid DOM query when removing it.\n\t\tstub.resizer = createResizer(notify);\n\n\t\tnode.insertBefore(stub.resizer, node.firstChild);\n\t}\n\n\tfunction removeResizeListener(node) {\n\t\tif (!node || !node._chartjs) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar resizer = node._chartjs.resizer;\n\t\tif (resizer) {\n\t\t\tresizer.parentNode.removeChild(resizer);\n\t\t\tnode._chartjs.resizer = null;\n\t\t}\n\n\t\tdelete node._chartjs;\n\t}\n\n\treturn {\n\t\tacquireContext: function(item, config) {\n\t\t\tif (typeof item === 'string') {\n\t\t\t\titem = document.getElementById(item);\n\t\t\t} else if (item.length) {\n\t\t\t\t// Support for array based queries (such as jQuery)\n\t\t\t\titem = item[0];\n\t\t\t}\n\n\t\t\tif (item && item.canvas) {\n\t\t\t\t// Support for any object associated to a canvas (including a context2d)\n\t\t\t\titem = item.canvas;\n\t\t\t}\n\n\t\t\t// To prevent canvas fingerprinting, some add-ons undefine the getContext\n\t\t\t// method, for example: https://github.com/kkapsner/CanvasBlocker\n\t\t\t// https://github.com/chartjs/Chart.js/issues/2807\n\t\t\tvar context = item && item.getContext && item.getContext('2d');\n\n\t\t\t// `instanceof HTMLCanvasElement/CanvasRenderingContext2D` fails when the item is\n\t\t\t// inside an iframe or when running in a protected environment. We could guess the\n\t\t\t// types from their toString() value but let's keep things flexible and assume it's\n\t\t\t// a sufficient condition if the item has a context2D which has item as `canvas`.\n\t\t\t// https://github.com/chartjs/Chart.js/issues/3887\n\t\t\t// https://github.com/chartjs/Chart.js/issues/4102\n\t\t\t// https://github.com/chartjs/Chart.js/issues/4152\n\t\t\tif (context && context.canvas === item) {\n\t\t\t\tinitCanvas(item, config);\n\t\t\t\treturn context;\n\t\t\t}\n\n\t\t\treturn null;\n\t\t},\n\n\t\treleaseContext: function(context) {\n\t\t\tvar canvas = context.canvas;\n\t\t\tif (!canvas._chartjs) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar initial = canvas._chartjs.initial;\n\t\t\t['height', 'width'].forEach(function(prop) {\n\t\t\t\tvar value = initial[prop];\n\t\t\t\tif (value === undefined || value === null) {\n\t\t\t\t\tcanvas.removeAttribute(prop);\n\t\t\t\t} else {\n\t\t\t\t\tcanvas.setAttribute(prop, value);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\thelpers.each(initial.style || {}, function(value, key) {\n\t\t\t\tcanvas.style[key] = value;\n\t\t\t});\n\n\t\t\t// The canvas render size might have been changed (and thus the state stack discarded),\n\t\t\t// we can't use save() and restore() to restore the initial state. So make sure that at\n\t\t\t// least the canvas context is reset to the default state by setting the canvas width.\n\t\t\t// https://www.w3.org/TR/2011/WD-html5-20110525/the-canvas-element.html\n\t\t\tcanvas.width = canvas.width;\n\n\t\t\tdelete canvas._chartjs;\n\t\t},\n\n\t\taddEventListener: function(chart, type, listener) {\n\t\t\tvar canvas = chart.canvas;\n\t\t\tif (type === 'resize') {\n\t\t\t\t// Note: the resize event is not supported on all browsers.\n\t\t\t\taddResizeListener(canvas.parentNode, listener, chart);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar stub = listener._chartjs || (listener._chartjs = {});\n\t\t\tvar proxies = stub.proxies || (stub.proxies = {});\n\t\t\tvar proxy = proxies[chart.id + '_' + type] = function(event) {\n\t\t\t\tlistener(fromNativeEvent(event, chart));\n\t\t\t};\n\n\t\t\thelpers.addEvent(canvas, type, proxy);\n\t\t},\n\n\t\tremoveEventListener: function(chart, type, listener) {\n\t\t\tvar canvas = chart.canvas;\n\t\t\tif (type === 'resize') {\n\t\t\t\t// Note: the resize event is not supported on all browsers.\n\t\t\t\tremoveResizeListener(canvas.parentNode, listener);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar stub = listener._chartjs || {};\n\t\t\tvar proxies = stub.proxies || {};\n\t\t\tvar proxy = proxies[chart.id + '_' + type];\n\t\t\tif (!proxy) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\thelpers.removeEvent(canvas, type, proxy);\n\t\t}\n\t};\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/chart.js/src/platforms/platform.dom.js\n// module id = 1208\n// module chunks = 0","'use strict';\n\n// By default, select the browser (DOM) platform.\n// @TODO Make possible to select another platform at build time.\nvar implementation = require('./platform.dom.js');\n\nmodule.exports = function(Chart) {\n\t/**\n\t * @namespace Chart.platform\n\t * @see https://chartjs.gitbooks.io/proposals/content/Platform.html\n\t * @since 2.4.0\n\t */\n\tChart.platform = {\n\t\t/**\n\t\t * Called at chart construction time, returns a context2d instance implementing\n\t\t * the [W3C Canvas 2D Context API standard]{@link https://www.w3.org/TR/2dcontext/}.\n\t\t * @param {*} item - The native item from which to acquire context (platform specific)\n\t\t * @param {Object} options - The chart options\n\t\t * @returns {CanvasRenderingContext2D} context2d instance\n\t\t */\n\t\tacquireContext: function() {},\n\n\t\t/**\n\t\t * Called at chart destruction time, releases any resources associated to the context\n\t\t * previously returned by the acquireContext() method.\n\t\t * @param {CanvasRenderingContext2D} context - The context2d instance\n\t\t * @returns {Boolean} true if the method succeeded, else false\n\t\t */\n\t\treleaseContext: function() {},\n\n\t\t/**\n\t\t * Registers the specified listener on the given chart.\n\t\t * @param {Chart} chart - Chart from which to listen for event\n\t\t * @param {String} type - The ({@link IEvent}) type to listen for\n\t\t * @param {Function} listener - Receives a notification (an object that implements\n\t\t * the {@link IEvent} interface) when an event of the specified type occurs.\n\t\t */\n\t\taddEventListener: function() {},\n\n\t\t/**\n\t\t * Removes the specified listener previously registered with addEventListener.\n\t\t * @param {Chart} chart -Chart from which to remove the listener\n\t\t * @param {String} type - The ({@link IEvent}) type to remove\n\t\t * @param {Function} listener - The listener function to remove from the event target.\n\t\t */\n\t\tremoveEventListener: function() {}\n\t};\n\n\t/**\n\t * @interface IPlatform\n\t * Allows abstracting platform dependencies away from the chart\n\t * @borrows Chart.platform.acquireContext as acquireContext\n\t * @borrows Chart.platform.releaseContext as releaseContext\n\t * @borrows Chart.platform.addEventListener as addEventListener\n\t * @borrows Chart.platform.removeEventListener as removeEventListener\n\t */\n\n\t/**\n\t * @interface IEvent\n\t * @prop {String} type - The event type name, possible values are:\n\t * 'contextmenu', 'mouseenter', 'mousedown', 'mousemove', 'mouseup', 'mouseout',\n\t * 'click', 'dblclick', 'keydown', 'keypress', 'keyup' and 'resize'\n\t * @prop {*} native - The original native event (null for emulated events, e.g. 'resize')\n\t * @prop {Number} x - The mouse x position, relative to the canvas (null for incompatible events)\n\t * @prop {Number} y - The mouse y position, relative to the canvas (null for incompatible events)\n\t */\n\n\tChart.helpers.extend(Chart.platform, implementation(Chart));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/chart.js/src/platforms/platform.js\n// module id = 1209\n// module chunks = 0","'use strict';\n\nmodule.exports = function(Chart) {\n\t/**\n\t * Plugin based on discussion from the following Chart.js issues:\n\t * @see https://github.com/chartjs/Chart.js/issues/2380#issuecomment-279961569\n\t * @see https://github.com/chartjs/Chart.js/issues/2440#issuecomment-256461897\n\t */\n\tChart.defaults.global.plugins.filler = {\n\t\tpropagate: true\n\t};\n\n\tvar defaults = Chart.defaults;\n\tvar helpers = Chart.helpers;\n\tvar mappers = {\n\t\tdataset: function(source) {\n\t\t\tvar index = source.fill;\n\t\t\tvar chart = source.chart;\n\t\t\tvar meta = chart.getDatasetMeta(index);\n\t\t\tvar visible = meta && chart.isDatasetVisible(index);\n\t\t\tvar points = (visible && meta.dataset._children) || [];\n\n\t\t\treturn !points.length? null : function(point, i) {\n\t\t\t\treturn points[i]._view || null;\n\t\t\t};\n\t\t},\n\n\t\tboundary: function(source) {\n\t\t\tvar boundary = source.boundary;\n\t\t\tvar x = boundary? boundary.x : null;\n\t\t\tvar y = boundary? boundary.y : null;\n\n\t\t\treturn function(point) {\n\t\t\t\treturn {\n\t\t\t\t\tx: x === null? point.x : x,\n\t\t\t\t\ty: y === null? point.y : y,\n\t\t\t\t};\n\t\t\t};\n\t\t}\n\t};\n\n\t// @todo if (fill[0] === '#')\n\tfunction decodeFill(el, index, count) {\n\t\tvar model = el._model || {};\n\t\tvar fill = model.fill;\n\t\tvar target;\n\n\t\tif (fill === undefined) {\n\t\t\tfill = !!model.backgroundColor;\n\t\t}\n\n\t\tif (fill === false || fill === null) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (fill === true) {\n\t\t\treturn 'origin';\n\t\t}\n\n\t\ttarget = parseFloat(fill, 10);\n\t\tif (isFinite(target) && Math.floor(target) === target) {\n\t\t\tif (fill[0] === '-' || fill[0] === '+') {\n\t\t\t\ttarget = index + target;\n\t\t\t}\n\n\t\t\tif (target === index || target < 0 || target >= count) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn target;\n\t\t}\n\n\t\tswitch (fill) {\n\t\t// compatibility\n\t\tcase 'bottom':\n\t\t\treturn 'start';\n\t\tcase 'top':\n\t\t\treturn 'end';\n\t\tcase 'zero':\n\t\t\treturn 'origin';\n\t\t// supported boundaries\n\t\tcase 'origin':\n\t\tcase 'start':\n\t\tcase 'end':\n\t\t\treturn fill;\n\t\t// invalid fill values\n\t\tdefault:\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tfunction computeBoundary(source) {\n\t\tvar model = source.el._model || {};\n\t\tvar scale = source.el._scale || {};\n\t\tvar fill = source.fill;\n\t\tvar target = null;\n\t\tvar horizontal;\n\n\t\tif (isFinite(fill)) {\n\t\t\treturn null;\n\t\t}\n\n\t\t// Backward compatibility: until v3, we still need to support boundary values set on\n\t\t// the model (scaleTop, scaleBottom and scaleZero) because some external plugins and\n\t\t// controllers might still use it (e.g. the Smith chart).\n\n\t\tif (fill === 'start') {\n\t\t\ttarget = model.scaleBottom === undefined? scale.bottom : model.scaleBottom;\n\t\t} else if (fill === 'end') {\n\t\t\ttarget = model.scaleTop === undefined? scale.top : model.scaleTop;\n\t\t} else if (model.scaleZero !== undefined) {\n\t\t\ttarget = model.scaleZero;\n\t\t} else if (scale.getBasePosition) {\n\t\t\ttarget = scale.getBasePosition();\n\t\t} else if (scale.getBasePixel) {\n\t\t\ttarget = scale.getBasePixel();\n\t\t}\n\n\t\tif (target !== undefined && target !== null) {\n\t\t\tif (target.x !== undefined && target.y !== undefined) {\n\t\t\t\treturn target;\n\t\t\t}\n\n\t\t\tif (typeof target === 'number' && isFinite(target)) {\n\t\t\t\thorizontal = scale.isHorizontal();\n\t\t\t\treturn {\n\t\t\t\t\tx: horizontal? target : null,\n\t\t\t\t\ty: horizontal? null : target\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tfunction resolveTarget(sources, index, propagate) {\n\t\tvar source = sources[index];\n\t\tvar fill = source.fill;\n\t\tvar visited = [index];\n\t\tvar target;\n\n\t\tif (!propagate) {\n\t\t\treturn fill;\n\t\t}\n\n\t\twhile (fill !== false && visited.indexOf(fill) === -1) {\n\t\t\tif (!isFinite(fill)) {\n\t\t\t\treturn fill;\n\t\t\t}\n\n\t\t\ttarget = sources[fill];\n\t\t\tif (!target) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif (target.visible) {\n\t\t\t\treturn fill;\n\t\t\t}\n\n\t\t\tvisited.push(fill);\n\t\t\tfill = target.fill;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tfunction createMapper(source) {\n\t\tvar fill = source.fill;\n\t\tvar type = 'dataset';\n\n\t\tif (fill === false) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif (!isFinite(fill)) {\n\t\t\ttype = 'boundary';\n\t\t}\n\n\t\treturn mappers[type](source);\n\t}\n\n\tfunction isDrawable(point) {\n\t\treturn point && !point.skip;\n\t}\n\n\tfunction drawArea(ctx, curve0, curve1, len0, len1) {\n\t\tvar i;\n\n\t\tif (!len0 || !len1) {\n\t\t\treturn;\n\t\t}\n\n\t\t// building first area curve (normal)\n\t\tctx.moveTo(curve0[0].x, curve0[0].y);\n\t\tfor (i=1; i<len0; ++i) {\n\t\t\thelpers.canvas.lineTo(ctx, curve0[i-1], curve0[i]);\n\t\t}\n\n\t\t// joining the two area curves\n\t\tctx.lineTo(curve1[len1-1].x, curve1[len1-1].y);\n\n\t\t// building opposite area curve (reverse)\n\t\tfor (i=len1-1; i>0; --i) {\n\t\t\thelpers.canvas.lineTo(ctx, curve1[i], curve1[i-1], true);\n\t\t}\n\t}\n\n\tfunction doFill(ctx, points, mapper, view, color, loop) {\n\t\tvar count = points.length;\n\t\tvar span = view.spanGaps;\n\t\tvar curve0 = [];\n\t\tvar curve1 = [];\n\t\tvar len0 = 0;\n\t\tvar len1 = 0;\n\t\tvar i, ilen, index, p0, p1, d0, d1;\n\n\t\tctx.beginPath();\n\n\t\tfor (i = 0, ilen = (count + !!loop); i < ilen; ++i) {\n\t\t\tindex = i%count;\n\t\t\tp0 = points[index]._view;\n\t\t\tp1 = mapper(p0, index, view);\n\t\t\td0 = isDrawable(p0);\n\t\t\td1 = isDrawable(p1);\n\n\t\t\tif (d0 && d1) {\n\t\t\t\tlen0 = curve0.push(p0);\n\t\t\t\tlen1 = curve1.push(p1);\n\t\t\t} else if (len0 && len1) {\n\t\t\t\tif (!span) {\n\t\t\t\t\tdrawArea(ctx, curve0, curve1, len0, len1);\n\t\t\t\t\tlen0 = len1 = 0;\n\t\t\t\t\tcurve0 = [];\n\t\t\t\t\tcurve1 = [];\n\t\t\t\t} else {\n\t\t\t\t\tif (d0) {\n\t\t\t\t\t\tcurve0.push(p0);\n\t\t\t\t\t}\n\t\t\t\t\tif (d1) {\n\t\t\t\t\t\tcurve1.push(p1);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tdrawArea(ctx, curve0, curve1, len0, len1);\n\n\t\tctx.closePath();\n\t\tctx.fillStyle = color;\n\t\tctx.fill();\n\t}\n\n\treturn {\n\t\tid: 'filler',\n\n\t\tafterDatasetsUpdate: function(chart, options) {\n\t\t\tvar count = (chart.data.datasets || []).length;\n\t\t\tvar propagate = options.propagate;\n\t\t\tvar sources = [];\n\t\t\tvar meta, i, el, source;\n\n\t\t\tfor (i = 0; i < count; ++i) {\n\t\t\t\tmeta = chart.getDatasetMeta(i);\n\t\t\t\tel = meta.dataset;\n\t\t\t\tsource = null;\n\n\t\t\t\tif (el && el._model && el instanceof Chart.elements.Line) {\n\t\t\t\t\tsource = {\n\t\t\t\t\t\tvisible: chart.isDatasetVisible(i),\n\t\t\t\t\t\tfill: decodeFill(el, i, count),\n\t\t\t\t\t\tchart: chart,\n\t\t\t\t\t\tel: el\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tmeta.$filler = source;\n\t\t\t\tsources.push(source);\n\t\t\t}\n\n\t\t\tfor (i=0; i<count; ++i) {\n\t\t\t\tsource = sources[i];\n\t\t\t\tif (!source) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tsource.fill = resolveTarget(sources, i, propagate);\n\t\t\t\tsource.boundary = computeBoundary(source);\n\t\t\t\tsource.mapper = createMapper(source);\n\t\t\t}\n\t\t},\n\n\t\tbeforeDatasetDraw: function(chart, args) {\n\t\t\tvar meta = args.meta.$filler;\n\t\t\tif (!meta) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar el = meta.el;\n\t\t\tvar view = el._view;\n\t\t\tvar points = el._children || [];\n\t\t\tvar mapper = meta.mapper;\n\t\t\tvar color = view.backgroundColor || defaults.global.defaultColor;\n\n\t\t\tif (mapper && color && points.length) {\n\t\t\t\tdoFill(chart.ctx, points, mapper, view, color, el._loop);\n\t\t\t}\n\t\t}\n\t};\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/chart.js/src/plugins/plugin.filler.js\n// module id = 1210\n// module chunks = 0","'use strict';\n\nmodule.exports = function(Chart) {\n\n\tvar helpers = Chart.helpers;\n\tvar layout = Chart.layoutService;\n\tvar noop = helpers.noop;\n\n\tChart.defaults.global.legend = {\n\t\tdisplay: true,\n\t\tposition: 'right',\n\t\tfullWidth: true,\n\t\treverse: false,\n\t\tweight: 1000,\n\n\t\t// a callback that will handle\n\t\tonClick: function(e, legendItem) {\n\t\t\tvar index = legendItem.datasetIndex;\n\t\t\tvar ci = this.chart;\n\t\t\tvar meta = ci.getDatasetMeta(index);\n\n\t\t\t// See controller.isDatasetVisible comment\n\t\t\tmeta.hidden = meta.hidden === null? !ci.data.datasets[index].hidden : null;\n\n\t\t\t// We hid a dataset ... rerender the chart\n\t\t\tci.update();\n\t\t},\n\n\t\tonHover: null,\n\n\t\tlabels: {\n\t\t\tboxWidth: 10,\n\t\t\tpadding: 10,\n\t\t\t// Generates labels shown in the legend\n\t\t\t// Valid properties to return:\n\t\t\t// text : text to display\n\t\t\t// fillStyle : fill of coloured box\n\t\t\t// strokeStyle: stroke of coloured box\n\t\t\t// hidden : if this legend item refers to a hidden item\n\t\t\t// lineCap : cap style for line\n\t\t\t// lineDash\n\t\t\t// lineDashOffset :\n\t\t\t// lineJoin :\n\t\t\t// lineWidth :\n\t\t\tgenerateLabels: function(chart) {\n\t\t\t\tvar data = chart.data;\n\t\t\t\treturn helpers.isArray(data.datasets) ? data.datasets.map(function(dataset, i) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttext: dataset.label,\n\t\t\t\t\t\tfillStyle: (!helpers.isArray(dataset.borderColor) ? dataset.borderColor : dataset.borderColor),\n\t\t\t\t\t\thidden: !chart.isDatasetVisible(i),\n\t\t\t\t\t\tlineCap: dataset.borderCapStyle,\n\t\t\t\t\t\tlineDash: dataset.borderDash,\n\t\t\t\t\t\tlineDashOffset: dataset.borderDashOffset,\n\t\t\t\t\t\tlineJoin: dataset.borderJoinStyle,\n\t\t\t\t\t\tlineWidth: dataset.borderWidth,\n\t\t\t\t\t\tstrokeStyle: dataset.borderColor,\n\t\t\t\t\t\tpointStyle: dataset.pointStyle,\n\n\t\t\t\t\t\t// Below is extra data used for toggling the datasets\n\t\t\t\t\t\tdatasetIndex: i\n\t\t\t\t\t};\n\t\t\t\t}, this) : [];\n\t\t\t}\n\t\t}\n\t};\n\n\t/**\n\t * Helper function to get the box width based on the usePointStyle option\n\t * @param labelopts {Object} the label options on the legend\n\t * @param fontSize {Number} the label font size\n\t * @return {Number} width of the color box area\n\t */\n\tfunction getBoxWidth(labelOpts, fontSize) {\n\t\treturn labelOpts.usePointStyle ?\n\t\t\tfontSize * Math.SQRT2 :\n\t\t\tlabelOpts.boxWidth;\n\t}\n\n\tChart.Legend = Chart.Element.extend({\n\n\t\tinitialize: function(config) {\n\t\t\thelpers.extend(this, config);\n\n\t\t\t// Contains hit boxes for each dataset (in dataset order)\n\t\t\tthis.legendHitBoxes = [];\n\n\t\t\t// Are we in doughnut mode which has a different data type\n\t\t\tthis.doughnutMode = false;\n\t\t},\n\n\t\t// These methods are ordered by lifecycle. Utilities then follow.\n\t\t// Any function defined here is inherited by all legend types.\n\t\t// Any function can be extended by the legend type\n\n\t\tbeforeUpdate: noop,\n\t\tupdate: function(maxWidth, maxHeight, margins) {\n\t\t\tvar me = this;\n\n\t\t\t// Update Lifecycle - Probably don't want to ever extend or overwrite this function ;)\n\t\t\tme.beforeUpdate();\n\n\t\t\t// Absorb the master measurements\n\t\t\tme.maxWidth = maxWidth;\n\t\t\tme.maxHeight = maxHeight;\n\t\t\tme.margins = margins;\n\n\t\t\t// Dimensions\n\t\t\tme.beforeSetDimensions();\n\t\t\tme.setDimensions();\n\t\t\tme.afterSetDimensions();\n\t\t\t// Labels\n\t\t\tme.beforeBuildLabels();\n\t\t\tme.buildLabels();\n\t\t\tme.afterBuildLabels();\n\n\t\t\t// Fit\n\t\t\tme.beforeFit();\n\t\t\tme.fit();\n\t\t\tme.afterFit();\n\t\t\t//\n\t\t\tme.afterUpdate();\n\n\t\t\treturn me.minSize;\n\t\t},\n\t\tafterUpdate: noop,\n\n\t\t//\n\n\t\tbeforeSetDimensions: noop,\n\t\tsetDimensions: function() {\n\t\t\tvar me = this;\n\t\t\t// Set the unconstrained dimension before label rotation\n\t\t\tif (me.isHorizontal()) {\n\t\t\t\t// Reset position before calculating rotation\n\t\t\t\tme.width = me.maxWidth;\n\t\t\t\tme.left = 0;\n\t\t\t\tme.right = me.width;\n\t\t\t} else {\n\t\t\t\tme.height = me.maxHeight;\n\n\t\t\t\t// Reset position before calculating rotation\n\t\t\t\tme.top = 0;\n\t\t\t\tme.bottom = me.height;\n\t\t\t}\n\n\t\t\t// Reset padding\n\t\t\tme.paddingLeft = 0;\n\t\t\tme.paddingTop = 0;\n\t\t\tme.paddingRight = 0;\n\t\t\tme.paddingBottom = 0;\n\n\t\t\t// Reset minSize\n\t\t\tme.minSize = {\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0\n\t\t\t};\n\t\t},\n\t\tafterSetDimensions: noop,\n\n\t\t//\n\n\t\tbeforeBuildLabels: noop,\n\t\tbuildLabels: function() {\n\t\t\tvar me = this;\n\t\t\tvar labelOpts = me.options.labels;\n\t\t\tvar legendItems = labelOpts.generateLabels.call(me, me.chart);\n\n\t\t\tif (labelOpts.filter) {\n\t\t\t\tlegendItems = legendItems.filter(function(item) {\n\t\t\t\t\treturn labelOpts.filter(item, me.chart.data);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (me.options.reverse) {\n\t\t\t\tlegendItems.reverse();\n\t\t\t}\n\n\t\t\tme.legendItems = legendItems;\n\t\t},\n\t\tafterBuildLabels: noop,\n\n\t\t//\n\n\t\tbeforeFit: noop,\n\t\tfit: function() {\n\t\t\tvar me = this;\n\t\t\tvar opts = me.options;\n\t\t\tvar labelOpts = opts.labels;\n\t\t\tvar display = opts.display;\n\n\t\t\tvar ctx = me.ctx;\n\n\t\t\tvar globalDefault = Chart.defaults.global,\n\t\t\t\titemOrDefault = helpers.getValueOrDefault,\n\t\t\t\tfontSize = itemOrDefault(labelOpts.fontSize, globalDefault.defaultFontSize),\n\t\t\t\tfontStyle = itemOrDefault(labelOpts.fontStyle, globalDefault.defaultFontStyle),\n\t\t\t\tfontFamily = itemOrDefault(labelOpts.fontFamily, globalDefault.defaultFontFamily),\n\t\t\t\tlabelFont = helpers.fontString(fontSize, fontStyle, fontFamily);\n\n\t\t\t// Reset hit boxes\n\t\t\tvar hitboxes = me.legendHitBoxes = [];\n\n\t\t\tvar minSize = me.minSize;\n\t\t\tvar isHorizontal = me.isHorizontal();\n\n\t\t\tif (isHorizontal) {\n\t\t\t\tminSize.width = me.maxWidth; // fill all the width\n\t\t\t\tminSize.height = display ? 10 : 0;\n\t\t\t} else {\n\t\t\t\tminSize.width = display ? 10 : 0;\n\t\t\t\tminSize.height = me.maxHeight; // fill all the height\n\t\t\t}\n\n\t\t\t// Increase sizes here\n\t\t\tif (display) {\n\t\t\t\tctx.font = labelFont;\n\n\t\t\t\tif (isHorizontal) {\n\t\t\t\t\t// Labels\n\n\t\t\t\t\t// Width of each line of legend boxes. Labels wrap onto multiple lines when there are too many to fit on one\n\t\t\t\t\tvar lineWidths = me.lineWidths = [0];\n\t\t\t\t\tvar totalHeight = me.legendItems.length ? fontSize + (labelOpts.padding) : 0;\n\n\t\t\t\t\tctx.textAlign = 'left';\n\t\t\t\t\tctx.textBaseline = 'top';\n\n\t\t\t\t\thelpers.each(me.legendItems, function(legendItem, i) {\n\t\t\t\t\t\tvar boxWidth = getBoxWidth(labelOpts, fontSize);\n\t\t\t\t\t\tvar width = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\n\n\t\t\t\t\t\tif (lineWidths[lineWidths.length - 1] + width + labelOpts.padding >= me.width) {\n\t\t\t\t\t\t\ttotalHeight += fontSize + (labelOpts.padding);\n\t\t\t\t\t\t\tlineWidths[lineWidths.length] = me.left;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Store the hitbox width and height here. Final position will be updated in `draw`\n\t\t\t\t\t\thitboxes[i] = {\n\t\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\t\twidth: width,\n\t\t\t\t\t\t\theight: fontSize\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tlineWidths[lineWidths.length - 1] += width + labelOpts.padding;\n\t\t\t\t\t});\n\n\t\t\t\t\tminSize.height += totalHeight;\n\n\t\t\t\t} else {\n\t\t\t\t\tvar vPadding = labelOpts.padding;\n\t\t\t\t\tvar columnWidths = me.columnWidths = [];\n\t\t\t\t\tvar totalWidth = labelOpts.padding;\n\t\t\t\t\tvar currentColWidth = 0;\n\t\t\t\t\tvar currentColHeight = 0;\n\t\t\t\t\tvar itemHeight = fontSize + vPadding;\n\n\t\t\t\t\thelpers.each(me.legendItems, function(legendItem, i) {\n\t\t\t\t\t\tvar boxWidth = getBoxWidth(labelOpts, fontSize);\n\t\t\t\t\t\tvar itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\n\n\t\t\t\t\t\t// If too tall, go to new column\n\t\t\t\t\t\tif (currentColHeight + itemHeight > minSize.height) {\n\t\t\t\t\t\t\ttotalWidth += currentColWidth + labelOpts.padding;\n\t\t\t\t\t\t\tcolumnWidths.push(currentColWidth); // previous column width\n\n\t\t\t\t\t\t\tcurrentColWidth = 0;\n\t\t\t\t\t\t\tcurrentColHeight = 0;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Get max width\n\t\t\t\t\t\tcurrentColWidth = Math.max(currentColWidth, itemWidth);\n\t\t\t\t\t\tcurrentColHeight += itemHeight;\n\n\t\t\t\t\t\t// Store the hitbox width and height here. Final position will be updated in `draw`\n\t\t\t\t\t\thitboxes[i] = {\n\t\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\t\twidth: itemWidth,\n\t\t\t\t\t\t\theight: fontSize\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\n\t\t\t\t\ttotalWidth += currentColWidth;\n\t\t\t\t\tcolumnWidths.push(currentColWidth);\n\t\t\t\t\tminSize.width += totalWidth;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tme.width = minSize.width;\n\t\t\tme.height = minSize.height;\n\t\t},\n\t\tafterFit: noop,\n\n\t\t// Shared Methods\n\t\tisHorizontal: function() {\n\t\t\treturn this.options.position === 'top' || this.options.position === 'bottom';\n\t\t},\n\n\t\t// Actually draw the legend on the canvas\n\t\tdraw: function() {\n\t\t\tvar me = this;\n\t\t\tvar opts = me.options;\n\t\t\tvar labelOpts = opts.labels;\n\t\t\tvar globalDefault = Chart.defaults.global,\n\t\t\t\tlineDefault = globalDefault.elements.line,\n\t\t\t\tlegendWidth = me.width,\n\t\t\t\tlineWidths = me.lineWidths;\n\n\t\t\tif (opts.display) {\n\t\t\t\tvar ctx = me.ctx,\n\t\t\t\t\tcursor,\n\t\t\t\t\titemOrDefault = helpers.getValueOrDefault,\n\t\t\t\t\tfontColor = itemOrDefault(labelOpts.fontColor, globalDefault.defaultFontColor),\n\t\t\t\t\tfontSize = itemOrDefault(labelOpts.fontSize, globalDefault.defaultFontSize),\n\t\t\t\t\tfontStyle = itemOrDefault(labelOpts.fontStyle, globalDefault.defaultFontStyle),\n\t\t\t\t\tfontFamily = itemOrDefault(labelOpts.fontFamily, globalDefault.defaultFontFamily),\n\t\t\t\t\tlabelFont = helpers.fontString(fontSize, fontStyle, fontFamily);\n\n\t\t\t\t// Canvas setup\n\t\t\t\tctx.textAlign = 'left';\n\t\t\t\tctx.textBaseline = 'top';\n\t\t\t\tctx.lineWidth = 0.5;\n\t\t\t\tctx.strokeStyle = fontColor; // for strikethrough effect\n\t\t\t\tctx.fillStyle = fontColor; // render in correct colour\n\t\t\t\tctx.font = labelFont;\n\n\t\t\t\tvar boxWidth = getBoxWidth(labelOpts, fontSize),\n\t\t\t\t\thitboxes = me.legendHitBoxes;\n\n\t\t\t\t// current position\n\t\t\t\tvar drawLegendBox = function(x, y, legendItem) {\n\t\t\t\t\tif (isNaN(boxWidth) || boxWidth <= 0) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Set the ctx for the box\n\t\t\t\t\tctx.save();\n\n\t\t\t\t\tctx.fillStyle = itemOrDefault(legendItem.fillStyle, globalDefault.defaultColor);\n\t\t\t\t\tctx.lineCap = itemOrDefault(legendItem.lineCap, lineDefault.borderCapStyle);\n\t\t\t\t\tctx.lineDashOffset = itemOrDefault(legendItem.lineDashOffset, lineDefault.borderDashOffset);\n\t\t\t\t\tctx.lineJoin = itemOrDefault(legendItem.lineJoin, lineDefault.borderJoinStyle);\n\t\t\t\t\tctx.lineWidth = itemOrDefault(legendItem.lineWidth, lineDefault.borderWidth);\n\t\t\t\t\tctx.strokeStyle = itemOrDefault(legendItem.strokeStyle, globalDefault.defaultColor);\n\t\t\t\t\tvar isLineWidthZero = (itemOrDefault(legendItem.lineWidth, lineDefault.borderWidth) === 0);\n\n\t\t\t\t\tif (ctx.setLineDash) {\n\t\t\t\t\t\t// IE 9 and 10 do not support line dash\n\t\t\t\t\t\tctx.setLineDash(itemOrDefault(legendItem.lineDash, lineDefault.borderDash));\n\t\t\t\t\t}\n\n\t\t\t\t\tif (opts.labels && opts.labels.usePointStyle) {\n\t\t\t\t\t\t// Recalculate x and y for drawPoint() because its expecting\n\t\t\t\t\t\t// x and y to be center of figure (instead of top left)\n\t\t\t\t\t\tvar radius = fontSize * Math.SQRT2 / 2;\n\t\t\t\t\t\tvar offSet = radius / Math.SQRT2;\n\t\t\t\t\t\tvar centerX = x + offSet;\n\t\t\t\t\t\tvar centerY = y + offSet;\n\n\t\t\t\t\t\t// Draw pointStyle as legend symbol\n\t\t\t\t\t\tChart.canvasHelpers.drawPoint(ctx, legendItem.pointStyle, radius, centerX, centerY);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Draw box as legend symbol\n\t\t\t\t\t\tif (!isLineWidthZero) {\n\t\t\t\t\t\t\tctx.strokeRect(x, y, boxWidth, fontSize);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tctx.fillRect(x, y, boxWidth, fontSize);\n\t\t\t\t\t}\n\n\t\t\t\t\tctx.restore();\n\t\t\t\t};\n\t\t\t\tvar fillText = function(x, y, legendItem, textWidth) {\n\t\t\t\t\tctx.fillText(legendItem.text, boxWidth + (fontSize / 2) + x, y);\n\n\t\t\t\t\tif (legendItem.hidden) {\n\t\t\t\t\t\t// Strikethrough the text if hidden\n\t\t\t\t\t\tctx.beginPath();\n\t\t\t\t\t\tctx.lineWidth = 2;\n\t\t\t\t\t\tctx.moveTo(boxWidth + (fontSize / 2) + x, y + (fontSize / 2));\n\t\t\t\t\t\tctx.lineTo(boxWidth + (fontSize / 2) + x + textWidth, y + (fontSize / 2));\n\t\t\t\t\t\tctx.stroke();\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\t// Horizontal\n\t\t\t\tvar isHorizontal = me.isHorizontal();\n\t\t\t\tif (isHorizontal) {\n\t\t\t\t\tcursor = {\n\t\t\t\t\t\tx: me.left + ((legendWidth - lineWidths[0]) / 2),\n\t\t\t\t\t\ty: me.top + labelOpts.padding,\n\t\t\t\t\t\tline: 0\n\t\t\t\t\t};\n\t\t\t\t} else {\n\t\t\t\t\tcursor = {\n\t\t\t\t\t\tx: me.left + labelOpts.padding,\n\t\t\t\t\t\ty: me.top + labelOpts.padding,\n\t\t\t\t\t\tline: 0\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tvar itemHeight = fontSize + labelOpts.padding;\n\t\t\t\thelpers.each(me.legendItems, function(legendItem, i) {\n\t\t\t\t\tvar textWidth = ctx.measureText(legendItem.text).width,\n\t\t\t\t\t\twidth = boxWidth + (fontSize / 2) + textWidth,\n\t\t\t\t\t\tx = cursor.x,\n\t\t\t\t\t\ty = cursor.y;\n\n\t\t\t\t\tif (isHorizontal) {\n\t\t\t\t\t\tif (x + width >= legendWidth) {\n\t\t\t\t\t\t\ty = cursor.y += itemHeight;\n\t\t\t\t\t\t\tcursor.line++;\n\t\t\t\t\t\t\tx = cursor.x = me.left + ((legendWidth - lineWidths[cursor.line]) / 2);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (y + itemHeight > me.bottom) {\n\t\t\t\t\t\tx = cursor.x = x + me.columnWidths[cursor.line] + labelOpts.padding;\n\t\t\t\t\t\ty = cursor.y = me.top + labelOpts.padding;\n\t\t\t\t\t\tcursor.line++;\n\t\t\t\t\t}\n\n\t\t\t\t\tdrawLegendBox(x, y, legendItem);\n\n\t\t\t\t\thitboxes[i].left = x;\n\t\t\t\t\thitboxes[i].top = y;\n\n\t\t\t\t\t// Fill the actual label\n\t\t\t\t\tfillText(x, y, legendItem, textWidth);\n\n\t\t\t\t\tif (isHorizontal) {\n\t\t\t\t\t\tcursor.x += width + (labelOpts.padding);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcursor.y += itemHeight;\n\t\t\t\t\t}\n\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Handle an event\n\t\t * @private\n\t\t * @param {IEvent} event - The event to handle\n\t\t * @return {Boolean} true if a change occured\n\t\t */\n\t\thandleEvent: function(e) {\n\t\t\tvar me = this;\n\t\t\tvar opts = me.options;\n\t\t\tvar type = e.type === 'mouseup' ? 'click' : e.type;\n\t\t\tvar changed = false;\n\n\t\t\tif (type === 'mousemove') {\n\t\t\t\tif (!opts.onHover) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} else if (type === 'click') {\n\t\t\t\tif (!opts.onClick) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Chart event already has relative position in it\n\t\t\tvar x = e.x,\n\t\t\t\ty = e.y;\n\n\t\t\tif (x >= me.left && x <= me.right && y >= me.top && y <= me.bottom) {\n\t\t\t\t// See if we are touching one of the dataset boxes\n\t\t\t\tvar lh = me.legendHitBoxes;\n\t\t\t\tfor (var i = 0; i < lh.length; ++i) {\n\t\t\t\t\tvar hitBox = lh[i];\n\n\t\t\t\t\tif (x >= hitBox.left && x <= hitBox.left + hitBox.width && y >= hitBox.top && y <= hitBox.top + hitBox.height) {\n\t\t\t\t\t\t// Touching an element\n\t\t\t\t\t\tif (type === 'click') {\n\t\t\t\t\t\t\t// use e.native for backwards compatibility\n\t\t\t\t\t\t\topts.onClick.call(me, e.native, me.legendItems[i]);\n\t\t\t\t\t\t\tchanged = true;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t} else if (type === 'mousemove') {\n\t\t\t\t\t\t\t// use e.native for backwards compatibility\n\t\t\t\t\t\t\topts.onHover.call(me, e.native, me.legendItems[i]);\n\t\t\t\t\t\t\tchanged = true;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn changed;\n\t\t}\n\t});\n\n\tfunction createNewLegendAndAttach(chart, legendOpts) {\n\t\tvar legend = new Chart.Legend({\n\t\t\tctx: chart.ctx,\n\t\t\toptions: legendOpts,\n\t\t\tchart: chart\n\t\t});\n\n\t\tlayout.configure(chart, legend, legendOpts);\n\t\tlayout.addBox(chart, legend);\n\t\tchart.legend = legend;\n\t}\n\n\treturn {\n\t\tid: 'legend',\n\n\t\tbeforeInit: function(chart) {\n\t\t\tvar legendOpts = chart.options.legend;\n\n\t\t\tif (legendOpts) {\n\t\t\t\tcreateNewLegendAndAttach(chart, legendOpts);\n\t\t\t}\n\t\t},\n\n\t\tbeforeUpdate: function(chart) {\n\t\t\tvar legendOpts = chart.options.legend;\n\t\t\tvar legend = chart.legend;\n\n\t\t\tif (legendOpts) {\n\t\t\t\tlegendOpts = helpers.configMerge(Chart.defaults.global.legend, legendOpts);\n\n\t\t\t\tif (legend) {\n\t\t\t\t\tlayout.configure(chart, legend, legendOpts);\n\t\t\t\t\tlegend.options = legendOpts;\n\t\t\t\t} else {\n\t\t\t\t\tcreateNewLegendAndAttach(chart, legendOpts);\n\t\t\t\t}\n\t\t\t} else if (legend) {\n\t\t\t\tlayout.removeBox(chart, legend);\n\t\t\t\tdelete chart.legend;\n\t\t\t}\n\t\t},\n\n\t\tafterEvent: function(chart, e) {\n\t\t\tvar legend = chart.legend;\n\t\t\tif (legend) {\n\t\t\t\tlegend.handleEvent(e);\n\t\t\t}\n\t\t}\n\t};\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/chart.js/src/plugins/plugin.legend.js\n// module id = 1211\n// module chunks = 0","'use strict';\n\nmodule.exports = function(Chart) {\n\n\tvar helpers = Chart.helpers;\n\tvar layout = Chart.layoutService;\n\tvar noop = helpers.noop;\n\n\tChart.defaults.global.title = {\n\t\tdisplay: false,\n\t\tposition: 'top',\n\t\tfullWidth: true,\n\t\tweight: 2000,        // by default greater than legend (1000) to be above\n\t\tfontStyle: 'bold',\n\t\tpadding: 10,\n\n\t\t// actual title\n\t\ttext: ''\n\t};\n\n\tChart.Title = Chart.Element.extend({\n\t\tinitialize: function(config) {\n\t\t\tvar me = this;\n\t\t\thelpers.extend(me, config);\n\n\t\t\t// Contains hit boxes for each dataset (in dataset order)\n\t\t\tme.legendHitBoxes = [];\n\t\t},\n\n\t\t// These methods are ordered by lifecycle. Utilities then follow.\n\n\t\tbeforeUpdate: noop,\n\t\tupdate: function(maxWidth, maxHeight, margins) {\n\t\t\tvar me = this;\n\n\t\t\t// Update Lifecycle - Probably don't want to ever extend or overwrite this function ;)\n\t\t\tme.beforeUpdate();\n\n\t\t\t// Absorb the master measurements\n\t\t\tme.maxWidth = maxWidth;\n\t\t\tme.maxHeight = maxHeight;\n\t\t\tme.margins = margins;\n\n\t\t\t// Dimensions\n\t\t\tme.beforeSetDimensions();\n\t\t\tme.setDimensions();\n\t\t\tme.afterSetDimensions();\n\t\t\t// Labels\n\t\t\tme.beforeBuildLabels();\n\t\t\tme.buildLabels();\n\t\t\tme.afterBuildLabels();\n\n\t\t\t// Fit\n\t\t\tme.beforeFit();\n\t\t\tme.fit();\n\t\t\tme.afterFit();\n\t\t\t//\n\t\t\tme.afterUpdate();\n\n\t\t\treturn me.minSize;\n\n\t\t},\n\t\tafterUpdate: noop,\n\n\t\t//\n\n\t\tbeforeSetDimensions: noop,\n\t\tsetDimensions: function() {\n\t\t\tvar me = this;\n\t\t\t// Set the unconstrained dimension before label rotation\n\t\t\tif (me.isHorizontal()) {\n\t\t\t\t// Reset position before calculating rotation\n\t\t\t\tme.width = me.maxWidth;\n\t\t\t\tme.left = 0;\n\t\t\t\tme.right = me.width;\n\t\t\t} else {\n\t\t\t\tme.height = me.maxHeight;\n\n\t\t\t\t// Reset position before calculating rotation\n\t\t\t\tme.top = 0;\n\t\t\t\tme.bottom = me.height;\n\t\t\t}\n\n\t\t\t// Reset padding\n\t\t\tme.paddingLeft = 0;\n\t\t\tme.paddingTop = 0;\n\t\t\tme.paddingRight = 0;\n\t\t\tme.paddingBottom = 0;\n\n\t\t\t// Reset minSize\n\t\t\tme.minSize = {\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0\n\t\t\t};\n\t\t},\n\t\tafterSetDimensions: noop,\n\n\t\t//\n\n\t\tbeforeBuildLabels: noop,\n\t\tbuildLabels: noop,\n\t\tafterBuildLabels: noop,\n\n\t\t//\n\n\t\tbeforeFit: noop,\n\t\tfit: function() {\n\t\t\tvar me = this,\n\t\t\t\tvalueOrDefault = helpers.getValueOrDefault,\n\t\t\t\topts = me.options,\n\t\t\t\tglobalDefaults = Chart.defaults.global,\n\t\t\t\tdisplay = opts.display,\n\t\t\t\tfontSize = valueOrDefault(opts.fontSize, globalDefaults.defaultFontSize),\n\t\t\t\tminSize = me.minSize;\n\n\t\t\tif (me.isHorizontal()) {\n\t\t\t\tminSize.width = me.maxWidth; // fill all the width\n\t\t\t\tminSize.height = display ? fontSize + (opts.padding * 2) : 0;\n\t\t\t} else {\n\t\t\t\tminSize.width = display ? fontSize + (opts.padding * 2) : 0;\n\t\t\t\tminSize.height = me.maxHeight; // fill all the height\n\t\t\t}\n\n\t\t\tme.width = minSize.width;\n\t\t\tme.height = minSize.height;\n\n\t\t},\n\t\tafterFit: noop,\n\n\t\t// Shared Methods\n\t\tisHorizontal: function() {\n\t\t\tvar pos = this.options.position;\n\t\t\treturn pos === 'top' || pos === 'bottom';\n\t\t},\n\n\t\t// Actually draw the title block on the canvas\n\t\tdraw: function() {\n\t\t\tvar me = this,\n\t\t\t\tctx = me.ctx,\n\t\t\t\tvalueOrDefault = helpers.getValueOrDefault,\n\t\t\t\topts = me.options,\n\t\t\t\tglobalDefaults = Chart.defaults.global;\n\n\t\t\tif (opts.display) {\n\t\t\t\tvar fontSize = valueOrDefault(opts.fontSize, globalDefaults.defaultFontSize),\n\t\t\t\t\tfontStyle = valueOrDefault(opts.fontStyle, globalDefaults.defaultFontStyle),\n\t\t\t\t\tfontFamily = valueOrDefault(opts.fontFamily, globalDefaults.defaultFontFamily),\n\t\t\t\t\ttitleFont = helpers.fontString(fontSize, fontStyle, fontFamily),\n\t\t\t\t\trotation = 0,\n\t\t\t\t\ttitleX,\n\t\t\t\t\ttitleY,\n\t\t\t\t\ttop = me.top,\n\t\t\t\t\tleft = me.left,\n\t\t\t\t\tbottom = me.bottom,\n\t\t\t\t\tright = me.right,\n\t\t\t\t\tmaxWidth;\n\n\t\t\t\tctx.fillStyle = valueOrDefault(opts.fontColor, globalDefaults.defaultFontColor); // render in correct colour\n\t\t\t\tctx.font = titleFont;\n\n\t\t\t\t// Horizontal\n\t\t\t\tif (me.isHorizontal()) {\n\t\t\t\t\ttitleX = left + ((right - left) / 2); // midpoint of the width\n\t\t\t\t\ttitleY = top + ((bottom - top) / 2); // midpoint of the height\n\t\t\t\t\tmaxWidth = right - left;\n\t\t\t\t} else {\n\t\t\t\t\ttitleX = opts.position === 'left' ? left + (fontSize / 2) : right - (fontSize / 2);\n\t\t\t\t\ttitleY = top + ((bottom - top) / 2);\n\t\t\t\t\tmaxWidth = bottom - top;\n\t\t\t\t\trotation = Math.PI * (opts.position === 'left' ? -0.5 : 0.5);\n\t\t\t\t}\n\n\t\t\t\tctx.save();\n\t\t\t\tctx.translate(titleX, titleY);\n\t\t\t\tctx.rotate(rotation);\n\t\t\t\tctx.textAlign = 'center';\n\t\t\t\tctx.textBaseline = 'middle';\n\t\t\t\tctx.fillText(opts.text, 0, 0, maxWidth);\n\t\t\t\tctx.restore();\n\t\t\t}\n\t\t}\n\t});\n\n\tfunction createNewTitleBlockAndAttach(chart, titleOpts) {\n\t\tvar title = new Chart.Title({\n\t\t\tctx: chart.ctx,\n\t\t\toptions: titleOpts,\n\t\t\tchart: chart\n\t\t});\n\n\t\tlayout.configure(chart, title, titleOpts);\n\t\tlayout.addBox(chart, title);\n\t\tchart.titleBlock = title;\n\t}\n\n\treturn {\n\t\tid: 'title',\n\n\t\tbeforeInit: function(chart) {\n\t\t\tvar titleOpts = chart.options.title;\n\n\t\t\tif (titleOpts) {\n\t\t\t\tcreateNewTitleBlockAndAttach(chart, titleOpts);\n\t\t\t}\n\t\t},\n\n\t\tbeforeUpdate: function(chart) {\n\t\t\tvar titleOpts = chart.options.title;\n\t\t\tvar titleBlock = chart.titleBlock;\n\n\t\t\tif (titleOpts) {\n\t\t\t\ttitleOpts = helpers.configMerge(Chart.defaults.global.title, titleOpts);\n\n\t\t\t\tif (titleBlock) {\n\t\t\t\t\tlayout.configure(chart, titleBlock, titleOpts);\n\t\t\t\t\ttitleBlock.options = titleOpts;\n\t\t\t\t} else {\n\t\t\t\t\tcreateNewTitleBlockAndAttach(chart, titleOpts);\n\t\t\t\t}\n\t\t\t} else if (titleBlock) {\n\t\t\t\tChart.layoutService.removeBox(chart, titleBlock);\n\t\t\t\tdelete chart.titleBlock;\n\t\t\t}\n\t\t}\n\t};\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/chart.js/src/plugins/plugin.title.js\n// module id = 1212\n// module chunks = 0","'use strict';\n\nmodule.exports = function(Chart) {\n\n\tvar helpers = Chart.helpers;\n\t// Default config for a category scale\n\tvar defaultConfig = {\n\t\tposition: 'bottom'\n\t};\n\n\tvar DatasetScale = Chart.Scale.extend({\n\t\t/**\n\t\t* Internal function to get the correct labels. If data.xLabels or data.yLabels are defined, use those\n\t\t* else fall back to data.labels\n\t\t* @private\n\t\t*/\n\t\tgetLabels: function() {\n\t\t\tvar data = this.chart.data;\n\t\t\treturn (this.isHorizontal() ? data.xLabels : data.yLabels) || data.labels;\n\t\t},\n\n\t\tdetermineDataLimits: function() {\n\t\t\tvar me = this;\n\t\t\tvar labels = me.getLabels();\n\t\t\tme.minIndex = 0;\n\t\t\tme.maxIndex = labels.length - 1;\n\t\t\tvar findIndex;\n\n\t\t\tif (me.options.ticks.min !== undefined) {\n\t\t\t\t// user specified min value\n\t\t\t\tfindIndex = helpers.indexOf(labels, me.options.ticks.min);\n\t\t\t\tme.minIndex = findIndex !== -1 ? findIndex : me.minIndex;\n\t\t\t}\n\n\t\t\tif (me.options.ticks.max !== undefined) {\n\t\t\t\t// user specified max value\n\t\t\t\tfindIndex = helpers.indexOf(labels, me.options.ticks.max);\n\t\t\t\tme.maxIndex = findIndex !== -1 ? findIndex : me.maxIndex;\n\t\t\t}\n\n\t\t\tme.min = labels[me.minIndex];\n\t\t\tme.max = labels[me.maxIndex];\n\t\t},\n\n\t\tbuildTicks: function() {\n\t\t\tvar me = this;\n\t\t\tvar labels = me.getLabels();\n\t\t\t// If we are viewing some subset of labels, slice the original array\n\t\t\tme.ticks = (me.minIndex === 0 && me.maxIndex === labels.length - 1) ? labels : labels.slice(me.minIndex, me.maxIndex + 1);\n\t\t},\n\n\t\tgetLabelForIndex: function(index, datasetIndex) {\n\t\t\tvar me = this;\n\t\t\tvar data = me.chart.data;\n\t\t\tvar isHorizontal = me.isHorizontal();\n\n\t\t\tif (data.yLabels && !isHorizontal) {\n\t\t\t\treturn me.getRightValue(data.datasets[datasetIndex].data[index]);\n\t\t\t}\n\t\t\treturn me.ticks[index - me.minIndex];\n\t\t},\n\n\t\t// Used to get data value locations.  Value can either be an index or a numerical value\n\t\tgetPixelForValue: function(value, index, datasetIndex, includeOffset) {\n\t\t\tvar me = this;\n\t\t\t// 1 is added because we need the length but we have the indexes\n\t\t\tvar offsetAmt = Math.max((me.maxIndex + 1 - me.minIndex - ((me.options.gridLines.offsetGridLines) ? 0 : 1)), 1);\n\n\t\t\t// If value is a data object, then index is the index in the data array,\n\t\t\t// not the index of the scale. We need to change that.\n\t\t\tvar valueCategory;\n\t\t\tif (value !== undefined && value !== null) {\n\t\t\t\tvalueCategory = me.isHorizontal() ? value.x : value.y;\n\t\t\t}\n\t\t\tif (valueCategory !== undefined || (value !== undefined && isNaN(index))) {\n\t\t\t\tvar labels = me.getLabels();\n\t\t\t\tvalue = valueCategory || value;\n\t\t\t\tvar idx = labels.indexOf(value);\n\t\t\t\tindex = idx !== -1 ? idx : index;\n\t\t\t}\n\n\t\t\tif (me.isHorizontal()) {\n\t\t\t\tvar valueWidth = me.width / offsetAmt;\n\t\t\t\tvar widthOffset = (valueWidth * (index - me.minIndex));\n\n\t\t\t\tif (me.options.gridLines.offsetGridLines && includeOffset || me.maxIndex === me.minIndex && includeOffset) {\n\t\t\t\t\twidthOffset += (valueWidth / 2);\n\t\t\t\t}\n\n\t\t\t\treturn me.left + Math.round(widthOffset);\n\t\t\t}\n\t\t\tvar valueHeight = me.height / offsetAmt;\n\t\t\tvar heightOffset = (valueHeight * (index - me.minIndex));\n\n\t\t\tif (me.options.gridLines.offsetGridLines && includeOffset) {\n\t\t\t\theightOffset += (valueHeight / 2);\n\t\t\t}\n\n\t\t\treturn me.top + Math.round(heightOffset);\n\t\t},\n\t\tgetPixelForTick: function(index, includeOffset) {\n\t\t\treturn this.getPixelForValue(this.ticks[index], index + this.minIndex, null, includeOffset);\n\t\t},\n\t\tgetValueForPixel: function(pixel) {\n\t\t\tvar me = this;\n\t\t\tvar value;\n\t\t\tvar offsetAmt = Math.max((me.ticks.length - ((me.options.gridLines.offsetGridLines) ? 0 : 1)), 1);\n\t\t\tvar horz = me.isHorizontal();\n\t\t\tvar valueDimension = (horz ? me.width : me.height) / offsetAmt;\n\n\t\t\tpixel -= horz ? me.left : me.top;\n\n\t\t\tif (me.options.gridLines.offsetGridLines) {\n\t\t\t\tpixel -= (valueDimension / 2);\n\t\t\t}\n\n\t\t\tif (pixel <= 0) {\n\t\t\t\tvalue = 0;\n\t\t\t} else {\n\t\t\t\tvalue = Math.round(pixel / valueDimension);\n\t\t\t}\n\n\t\t\treturn value;\n\t\t},\n\t\tgetBasePixel: function() {\n\t\t\treturn this.bottom;\n\t\t}\n\t});\n\n\tChart.scaleService.registerScaleType('category', DatasetScale, defaultConfig);\n\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/chart.js/src/scales/scale.category.js\n// module id = 1213\n// module chunks = 0","'use strict';\n\nmodule.exports = function(Chart) {\n\n\tvar helpers = Chart.helpers;\n\n\tvar defaultConfig = {\n\t\tposition: 'left',\n\t\tticks: {\n\t\t\tcallback: Chart.Ticks.formatters.linear\n\t\t}\n\t};\n\n\tvar LinearScale = Chart.LinearScaleBase.extend({\n\n\t\tdetermineDataLimits: function() {\n\t\t\tvar me = this;\n\t\t\tvar opts = me.options;\n\t\t\tvar chart = me.chart;\n\t\t\tvar data = chart.data;\n\t\t\tvar datasets = data.datasets;\n\t\t\tvar isHorizontal = me.isHorizontal();\n\t\t\tvar DEFAULT_MIN = 0;\n\t\t\tvar DEFAULT_MAX = 1;\n\n\t\t\tfunction IDMatches(meta) {\n\t\t\t\treturn isHorizontal ? meta.xAxisID === me.id : meta.yAxisID === me.id;\n\t\t\t}\n\n\t\t\t// First Calculate the range\n\t\t\tme.min = null;\n\t\t\tme.max = null;\n\n\t\t\tvar hasStacks = opts.stacked;\n\t\t\tif (hasStacks === undefined) {\n\t\t\t\thelpers.each(datasets, function(dataset, datasetIndex) {\n\t\t\t\t\tif (hasStacks) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar meta = chart.getDatasetMeta(datasetIndex);\n\t\t\t\t\tif (chart.isDatasetVisible(datasetIndex) && IDMatches(meta) &&\n\t\t\t\t\t\tmeta.stack !== undefined) {\n\t\t\t\t\t\thasStacks = true;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (opts.stacked || hasStacks) {\n\t\t\t\tvar valuesPerStack = {};\n\n\t\t\t\thelpers.each(datasets, function(dataset, datasetIndex) {\n\t\t\t\t\tvar meta = chart.getDatasetMeta(datasetIndex);\n\t\t\t\t\tvar key = [\n\t\t\t\t\t\tmeta.type,\n\t\t\t\t\t\t// we have a separate stack for stack=undefined datasets when the opts.stacked is undefined\n\t\t\t\t\t\t((opts.stacked === undefined && meta.stack === undefined) ? datasetIndex : ''),\n\t\t\t\t\t\tmeta.stack\n\t\t\t\t\t].join('.');\n\n\t\t\t\t\tif (valuesPerStack[key] === undefined) {\n\t\t\t\t\t\tvaluesPerStack[key] = {\n\t\t\t\t\t\t\tpositiveValues: [],\n\t\t\t\t\t\t\tnegativeValues: []\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\t// Store these per type\n\t\t\t\t\tvar positiveValues = valuesPerStack[key].positiveValues;\n\t\t\t\t\tvar negativeValues = valuesPerStack[key].negativeValues;\n\n\t\t\t\t\tif (chart.isDatasetVisible(datasetIndex) && IDMatches(meta)) {\n\t\t\t\t\t\thelpers.each(dataset.data, function(rawValue, index) {\n\t\t\t\t\t\t\tvar value = +me.getRightValue(rawValue);\n\t\t\t\t\t\t\tif (isNaN(value) || meta.data[index].hidden) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tpositiveValues[index] = positiveValues[index] || 0;\n\t\t\t\t\t\t\tnegativeValues[index] = negativeValues[index] || 0;\n\n\t\t\t\t\t\t\tif (opts.relativePoints) {\n\t\t\t\t\t\t\t\tpositiveValues[index] = 100;\n\t\t\t\t\t\t\t} else if (value < 0) {\n\t\t\t\t\t\t\t\tnegativeValues[index] += value;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tpositiveValues[index] += value;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\thelpers.each(valuesPerStack, function(valuesForType) {\n\t\t\t\t\tvar values = valuesForType.positiveValues.concat(valuesForType.negativeValues);\n\t\t\t\t\tvar minVal = helpers.min(values);\n\t\t\t\t\tvar maxVal = helpers.max(values);\n\t\t\t\t\tme.min = me.min === null ? minVal : Math.min(me.min, minVal);\n\t\t\t\t\tme.max = me.max === null ? maxVal : Math.max(me.max, maxVal);\n\t\t\t\t});\n\n\t\t\t} else {\n\t\t\t\thelpers.each(datasets, function(dataset, datasetIndex) {\n\t\t\t\t\tvar meta = chart.getDatasetMeta(datasetIndex);\n\t\t\t\t\tif (chart.isDatasetVisible(datasetIndex) && IDMatches(meta)) {\n\t\t\t\t\t\thelpers.each(dataset.data, function(rawValue, index) {\n\t\t\t\t\t\t\tvar value = +me.getRightValue(rawValue);\n\t\t\t\t\t\t\tif (isNaN(value) || meta.data[index].hidden) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (me.min === null) {\n\t\t\t\t\t\t\t\tme.min = value;\n\t\t\t\t\t\t\t} else if (value < me.min) {\n\t\t\t\t\t\t\t\tme.min = value;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (me.max === null) {\n\t\t\t\t\t\t\t\tme.max = value;\n\t\t\t\t\t\t\t} else if (value > me.max) {\n\t\t\t\t\t\t\t\tme.max = value;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tme.min = isFinite(me.min) ? me.min : DEFAULT_MIN;\n\t\t\tme.max = isFinite(me.max) ? me.max : DEFAULT_MAX;\n\n\t\t\t// Common base implementation to handle ticks.min, ticks.max, ticks.beginAtZero\n\t\t\tthis.handleTickRangeOptions();\n\t\t},\n\t\tgetTickLimit: function() {\n\t\t\tvar maxTicks;\n\t\t\tvar me = this;\n\t\t\tvar tickOpts = me.options.ticks;\n\n\t\t\tif (me.isHorizontal()) {\n\t\t\t\tmaxTicks = Math.min(tickOpts.maxTicksLimit ? tickOpts.maxTicksLimit : 11, Math.ceil(me.width / 50));\n\t\t\t} else {\n\t\t\t\t// The factor of 2 used to scale the font size has been experimentally determined.\n\t\t\t\tvar tickFontSize = helpers.getValueOrDefault(tickOpts.fontSize, Chart.defaults.global.defaultFontSize);\n\t\t\t\tmaxTicks = Math.min(tickOpts.maxTicksLimit ? tickOpts.maxTicksLimit : 11, Math.ceil(me.height / (2 * tickFontSize)));\n\t\t\t}\n\n\t\t\treturn maxTicks;\n\t\t},\n\t\t// Called after the ticks are built. We need\n\t\thandleDirectionalChanges: function() {\n\t\t\tif (!this.isHorizontal()) {\n\t\t\t\t// We are in a vertical orientation. The top value is the highest. So reverse the array\n\t\t\t\tthis.ticks.reverse();\n\t\t\t}\n\t\t},\n\t\tgetLabelForIndex: function(index, datasetIndex) {\n\t\t\treturn +this.getRightValue(this.chart.data.datasets[datasetIndex].data[index]);\n\t\t},\n\t\t// Utils\n\t\tgetPixelForValue: function(value) {\n\t\t\t// This must be called after fit has been run so that\n\t\t\t// this.left, this.top, this.right, and this.bottom have been defined\n\t\t\tvar me = this;\n\t\t\tvar start = me.start;\n\n\t\t\tvar rightValue = +me.getRightValue(value);\n\t\t\tvar pixel;\n\t\t\tvar range = me.end - start;\n\n\t\t\tif (me.isHorizontal()) {\n\t\t\t\tpixel = me.left + (me.width / range * (rightValue - start));\n\t\t\t\treturn Math.round(pixel);\n\t\t\t}\n\n\t\t\tpixel = me.bottom - (me.height / range * (rightValue - start));\n\t\t\treturn Math.round(pixel);\n\t\t},\n\t\tgetValueForPixel: function(pixel) {\n\t\t\tvar me = this;\n\t\t\tvar isHorizontal = me.isHorizontal();\n\t\t\tvar innerDimension = isHorizontal ? me.width : me.height;\n\t\t\tvar offset = (isHorizontal ? pixel - me.left : me.bottom - pixel) / innerDimension;\n\t\t\treturn me.start + ((me.end - me.start) * offset);\n\t\t},\n\t\tgetPixelForTick: function(index) {\n\t\t\treturn this.getPixelForValue(this.ticksAsNumbers[index]);\n\t\t}\n\t});\n\tChart.scaleService.registerScaleType('linear', LinearScale, defaultConfig);\n\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/chart.js/src/scales/scale.linear.js\n// module id = 1214\n// module chunks = 0","'use strict';\n\nmodule.exports = function(Chart) {\n\n\tvar helpers = Chart.helpers,\n\t\tnoop = helpers.noop;\n\n\tChart.LinearScaleBase = Chart.Scale.extend({\n\t\thandleTickRangeOptions: function() {\n\t\t\tvar me = this;\n\t\t\tvar opts = me.options;\n\t\t\tvar tickOpts = opts.ticks;\n\n\t\t\t// If we are forcing it to begin at 0, but 0 will already be rendered on the chart,\n\t\t\t// do nothing since that would make the chart weird. If the user really wants a weird chart\n\t\t\t// axis, they can manually override it\n\t\t\tif (tickOpts.beginAtZero) {\n\t\t\t\tvar minSign = helpers.sign(me.min);\n\t\t\t\tvar maxSign = helpers.sign(me.max);\n\n\t\t\t\tif (minSign < 0 && maxSign < 0) {\n\t\t\t\t\t// move the top up to 0\n\t\t\t\t\tme.max = 0;\n\t\t\t\t} else if (minSign > 0 && maxSign > 0) {\n\t\t\t\t\t// move the bottom down to 0\n\t\t\t\t\tme.min = 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (tickOpts.min !== undefined) {\n\t\t\t\tme.min = tickOpts.min;\n\t\t\t} else if (tickOpts.suggestedMin !== undefined) {\n\t\t\t\tif (me.min === null) {\n\t\t\t\t\tme.min = tickOpts.suggestedMin;\n\t\t\t\t} else {\n\t\t\t\t\tme.min = Math.min(me.min, tickOpts.suggestedMin);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (tickOpts.max !== undefined) {\n\t\t\t\tme.max = tickOpts.max;\n\t\t\t} else if (tickOpts.suggestedMax !== undefined) {\n\t\t\t\tif (me.max === null) {\n\t\t\t\t\tme.max = tickOpts.suggestedMax;\n\t\t\t\t} else {\n\t\t\t\t\tme.max = Math.max(me.max, tickOpts.suggestedMax);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (me.min === me.max) {\n\t\t\t\tme.max++;\n\n\t\t\t\tif (!tickOpts.beginAtZero) {\n\t\t\t\t\tme.min--;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tgetTickLimit: noop,\n\t\thandleDirectionalChanges: noop,\n\n\t\tbuildTicks: function() {\n\t\t\tvar me = this;\n\t\t\tvar opts = me.options;\n\t\t\tvar tickOpts = opts.ticks;\n\n\t\t\t// Figure out what the max number of ticks we can support it is based on the size of\n\t\t\t// the axis area. For now, we say that the minimum tick spacing in pixels must be 50\n\t\t\t// We also limit the maximum number of ticks to 11 which gives a nice 10 squares on\n\t\t\t// the graph. Make sure we always have at least 2 ticks\n\t\t\tvar maxTicks = me.getTickLimit();\n\t\t\tmaxTicks = Math.max(2, maxTicks);\n\n\t\t\tvar numericGeneratorOptions = {\n\t\t\t\tmaxTicks: maxTicks,\n\t\t\t\tmin: tickOpts.min,\n\t\t\t\tmax: tickOpts.max,\n\t\t\t\tstepSize: helpers.getValueOrDefault(tickOpts.fixedStepSize, tickOpts.stepSize)\n\t\t\t};\n\t\t\tvar ticks = me.ticks = Chart.Ticks.generators.linear(numericGeneratorOptions, me);\n\n\t\t\tme.handleDirectionalChanges();\n\n\t\t\t// At this point, we need to update our max and min given the tick values since we have expanded the\n\t\t\t// range of the scale\n\t\t\tme.max = helpers.max(ticks);\n\t\t\tme.min = helpers.min(ticks);\n\n\t\t\tif (tickOpts.reverse) {\n\t\t\t\tticks.reverse();\n\n\t\t\t\tme.start = me.max;\n\t\t\t\tme.end = me.min;\n\t\t\t} else {\n\t\t\t\tme.start = me.min;\n\t\t\t\tme.end = me.max;\n\t\t\t}\n\t\t},\n\t\tconvertTicksToLabels: function() {\n\t\t\tvar me = this;\n\t\t\tme.ticksAsNumbers = me.ticks.slice();\n\t\t\tme.zeroLineIndex = me.ticks.indexOf(0);\n\n\t\t\tChart.Scale.prototype.convertTicksToLabels.call(me);\n\t\t}\n\t});\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/chart.js/src/scales/scale.linearbase.js\n// module id = 1215\n// module chunks = 0","'use strict';\n\nmodule.exports = function(Chart) {\n\n\tvar helpers = Chart.helpers;\n\n\tvar defaultConfig = {\n\t\tposition: 'left',\n\n\t\t// label settings\n\t\tticks: {\n\t\t\tcallback: Chart.Ticks.formatters.logarithmic\n\t\t}\n\t};\n\n\tvar LogarithmicScale = Chart.Scale.extend({\n\t\tdetermineDataLimits: function() {\n\t\t\tvar me = this;\n\t\t\tvar opts = me.options;\n\t\t\tvar tickOpts = opts.ticks;\n\t\t\tvar chart = me.chart;\n\t\t\tvar data = chart.data;\n\t\t\tvar datasets = data.datasets;\n\t\t\tvar getValueOrDefault = helpers.getValueOrDefault;\n\t\t\tvar isHorizontal = me.isHorizontal();\n\t\t\tfunction IDMatches(meta) {\n\t\t\t\treturn isHorizontal ? meta.xAxisID === me.id : meta.yAxisID === me.id;\n\t\t\t}\n\n\t\t\t// Calculate Range\n\t\t\tme.min = null;\n\t\t\tme.max = null;\n\t\t\tme.minNotZero = null;\n\n\t\t\tvar hasStacks = opts.stacked;\n\t\t\tif (hasStacks === undefined) {\n\t\t\t\thelpers.each(datasets, function(dataset, datasetIndex) {\n\t\t\t\t\tif (hasStacks) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar meta = chart.getDatasetMeta(datasetIndex);\n\t\t\t\t\tif (chart.isDatasetVisible(datasetIndex) && IDMatches(meta) &&\n\t\t\t\t\t\tmeta.stack !== undefined) {\n\t\t\t\t\t\thasStacks = true;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (opts.stacked || hasStacks) {\n\t\t\t\tvar valuesPerStack = {};\n\n\t\t\t\thelpers.each(datasets, function(dataset, datasetIndex) {\n\t\t\t\t\tvar meta = chart.getDatasetMeta(datasetIndex);\n\t\t\t\t\tvar key = [\n\t\t\t\t\t\tmeta.type,\n\t\t\t\t\t\t// we have a separate stack for stack=undefined datasets when the opts.stacked is undefined\n\t\t\t\t\t\t((opts.stacked === undefined && meta.stack === undefined) ? datasetIndex : ''),\n\t\t\t\t\t\tmeta.stack\n\t\t\t\t\t].join('.');\n\n\t\t\t\t\tif (chart.isDatasetVisible(datasetIndex) && IDMatches(meta)) {\n\t\t\t\t\t\tif (valuesPerStack[key] === undefined) {\n\t\t\t\t\t\t\tvaluesPerStack[key] = [];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\thelpers.each(dataset.data, function(rawValue, index) {\n\t\t\t\t\t\t\tvar values = valuesPerStack[key];\n\t\t\t\t\t\t\tvar value = +me.getRightValue(rawValue);\n\t\t\t\t\t\t\tif (isNaN(value) || meta.data[index].hidden) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tvalues[index] = values[index] || 0;\n\n\t\t\t\t\t\t\tif (opts.relativePoints) {\n\t\t\t\t\t\t\t\tvalues[index] = 100;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t// Don't need to split positive and negative since the log scale can't handle a 0 crossing\n\t\t\t\t\t\t\t\tvalues[index] += value;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\thelpers.each(valuesPerStack, function(valuesForType) {\n\t\t\t\t\tvar minVal = helpers.min(valuesForType);\n\t\t\t\t\tvar maxVal = helpers.max(valuesForType);\n\t\t\t\t\tme.min = me.min === null ? minVal : Math.min(me.min, minVal);\n\t\t\t\t\tme.max = me.max === null ? maxVal : Math.max(me.max, maxVal);\n\t\t\t\t});\n\n\t\t\t} else {\n\t\t\t\thelpers.each(datasets, function(dataset, datasetIndex) {\n\t\t\t\t\tvar meta = chart.getDatasetMeta(datasetIndex);\n\t\t\t\t\tif (chart.isDatasetVisible(datasetIndex) && IDMatches(meta)) {\n\t\t\t\t\t\thelpers.each(dataset.data, function(rawValue, index) {\n\t\t\t\t\t\t\tvar value = +me.getRightValue(rawValue);\n\t\t\t\t\t\t\tif (isNaN(value) || meta.data[index].hidden) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (me.min === null) {\n\t\t\t\t\t\t\t\tme.min = value;\n\t\t\t\t\t\t\t} else if (value < me.min) {\n\t\t\t\t\t\t\t\tme.min = value;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (me.max === null) {\n\t\t\t\t\t\t\t\tme.max = value;\n\t\t\t\t\t\t\t} else if (value > me.max) {\n\t\t\t\t\t\t\t\tme.max = value;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (value !== 0 && (me.minNotZero === null || value < me.minNotZero)) {\n\t\t\t\t\t\t\t\tme.minNotZero = value;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tme.min = getValueOrDefault(tickOpts.min, me.min);\n\t\t\tme.max = getValueOrDefault(tickOpts.max, me.max);\n\n\t\t\tif (me.min === me.max) {\n\t\t\t\tif (me.min !== 0 && me.min !== null) {\n\t\t\t\t\tme.min = Math.pow(10, Math.floor(helpers.log10(me.min)) - 1);\n\t\t\t\t\tme.max = Math.pow(10, Math.floor(helpers.log10(me.max)) + 1);\n\t\t\t\t} else {\n\t\t\t\t\tme.min = 1;\n\t\t\t\t\tme.max = 10;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tbuildTicks: function() {\n\t\t\tvar me = this;\n\t\t\tvar opts = me.options;\n\t\t\tvar tickOpts = opts.ticks;\n\n\t\t\tvar generationOptions = {\n\t\t\t\tmin: tickOpts.min,\n\t\t\t\tmax: tickOpts.max\n\t\t\t};\n\t\t\tvar ticks = me.ticks = Chart.Ticks.generators.logarithmic(generationOptions, me);\n\n\t\t\tif (!me.isHorizontal()) {\n\t\t\t\t// We are in a vertical orientation. The top value is the highest. So reverse the array\n\t\t\t\tticks.reverse();\n\t\t\t}\n\n\t\t\t// At this point, we need to update our max and min given the tick values since we have expanded the\n\t\t\t// range of the scale\n\t\t\tme.max = helpers.max(ticks);\n\t\t\tme.min = helpers.min(ticks);\n\n\t\t\tif (tickOpts.reverse) {\n\t\t\t\tticks.reverse();\n\n\t\t\t\tme.start = me.max;\n\t\t\t\tme.end = me.min;\n\t\t\t} else {\n\t\t\t\tme.start = me.min;\n\t\t\t\tme.end = me.max;\n\t\t\t}\n\t\t},\n\t\tconvertTicksToLabels: function() {\n\t\t\tthis.tickValues = this.ticks.slice();\n\n\t\t\tChart.Scale.prototype.convertTicksToLabels.call(this);\n\t\t},\n\t\t// Get the correct tooltip label\n\t\tgetLabelForIndex: function(index, datasetIndex) {\n\t\t\treturn +this.getRightValue(this.chart.data.datasets[datasetIndex].data[index]);\n\t\t},\n\t\tgetPixelForTick: function(index) {\n\t\t\treturn this.getPixelForValue(this.tickValues[index]);\n\t\t},\n\t\tgetPixelForValue: function(value) {\n\t\t\tvar me = this;\n\t\t\tvar innerDimension;\n\t\t\tvar pixel;\n\n\t\t\tvar start = me.start;\n\t\t\tvar newVal = +me.getRightValue(value);\n\t\t\tvar range;\n\t\t\tvar opts = me.options;\n\t\t\tvar tickOpts = opts.ticks;\n\n\t\t\tif (me.isHorizontal()) {\n\t\t\t\trange = helpers.log10(me.end) - helpers.log10(start); // todo: if start === 0\n\t\t\t\tif (newVal === 0) {\n\t\t\t\t\tpixel = me.left;\n\t\t\t\t} else {\n\t\t\t\t\tinnerDimension = me.width;\n\t\t\t\t\tpixel = me.left + (innerDimension / range * (helpers.log10(newVal) - helpers.log10(start)));\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Bottom - top since pixels increase downward on a screen\n\t\t\t\tinnerDimension = me.height;\n\t\t\t\tif (start === 0 && !tickOpts.reverse) {\n\t\t\t\t\trange = helpers.log10(me.end) - helpers.log10(me.minNotZero);\n\t\t\t\t\tif (newVal === start) {\n\t\t\t\t\t\tpixel = me.bottom;\n\t\t\t\t\t} else if (newVal === me.minNotZero) {\n\t\t\t\t\t\tpixel = me.bottom - innerDimension * 0.02;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tpixel = me.bottom - innerDimension * 0.02 - (innerDimension * 0.98/ range * (helpers.log10(newVal)-helpers.log10(me.minNotZero)));\n\t\t\t\t\t}\n\t\t\t\t} else if (me.end === 0 && tickOpts.reverse) {\n\t\t\t\t\trange = helpers.log10(me.start) - helpers.log10(me.minNotZero);\n\t\t\t\t\tif (newVal === me.end) {\n\t\t\t\t\t\tpixel = me.top;\n\t\t\t\t\t} else if (newVal === me.minNotZero) {\n\t\t\t\t\t\tpixel = me.top + innerDimension * 0.02;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tpixel = me.top + innerDimension * 0.02 + (innerDimension * 0.98/ range * (helpers.log10(newVal)-helpers.log10(me.minNotZero)));\n\t\t\t\t\t}\n\t\t\t\t} else if (newVal === 0) {\n\t\t\t\t\tpixel = tickOpts.reverse ? me.top : me.bottom;\n\t\t\t\t} else {\n\t\t\t\t\trange = helpers.log10(me.end) - helpers.log10(start);\n\t\t\t\t\tinnerDimension = me.height;\n\t\t\t\t\tpixel = me.bottom - (innerDimension / range * (helpers.log10(newVal) - helpers.log10(start)));\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn pixel;\n\t\t},\n\t\tgetValueForPixel: function(pixel) {\n\t\t\tvar me = this;\n\t\t\tvar range = helpers.log10(me.end) - helpers.log10(me.start);\n\t\t\tvar value, innerDimension;\n\n\t\t\tif (me.isHorizontal()) {\n\t\t\t\tinnerDimension = me.width;\n\t\t\t\tvalue = me.start * Math.pow(10, (pixel - me.left) * range / innerDimension);\n\t\t\t} else {  // todo: if start === 0\n\t\t\t\tinnerDimension = me.height;\n\t\t\t\tvalue = Math.pow(10, (me.bottom - pixel) * range / innerDimension) / me.start;\n\t\t\t}\n\t\t\treturn value;\n\t\t}\n\t});\n\tChart.scaleService.registerScaleType('logarithmic', LogarithmicScale, defaultConfig);\n\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/chart.js/src/scales/scale.logarithmic.js\n// module id = 1216\n// module chunks = 0","'use strict';\n\nmodule.exports = function(Chart) {\n\n\tvar helpers = Chart.helpers;\n\tvar globalDefaults = Chart.defaults.global;\n\n\tvar defaultConfig = {\n\t\tdisplay: true,\n\n\t\t// Boolean - Whether to animate scaling the chart from the centre\n\t\tanimate: true,\n\t\tposition: 'chartArea',\n\n\t\tangleLines: {\n\t\t\tdisplay: true,\n\t\t\tcolor: 'rgba(0, 0, 0, 0.1)',\n\t\t\tlineWidth: 1\n\t\t},\n\n\t\tgridLines: {\n\t\t\tcircular: false\n\t\t},\n\n\t\t// label settings\n\t\tticks: {\n\t\t\t// Boolean - Show a backdrop to the scale label\n\t\t\tshowLabelBackdrop: true,\n\n\t\t\t// String - The colour of the label backdrop\n\t\t\tbackdropColor: 'rgba(255,255,255,0.75)',\n\n\t\t\t// Number - The backdrop padding above & below the label in pixels\n\t\t\tbackdropPaddingY: 2,\n\n\t\t\t// Number - The backdrop padding to the side of the label in pixels\n\t\t\tbackdropPaddingX: 2,\n\n\t\t\tcallback: Chart.Ticks.formatters.linear\n\t\t},\n\n\t\tpointLabels: {\n\t\t\t// Boolean - if true, show point labels\n\t\t\tdisplay: true,\n\n\t\t\t// Number - Point label font size in pixels\n\t\t\tfontSize: 10,\n\n\t\t\t// Function - Used to convert point labels\n\t\t\tcallback: function(label) {\n\t\t\t\treturn label;\n\t\t\t}\n\t\t}\n\t};\n\n\tfunction getValueCount(scale) {\n\t\tvar opts = scale.options;\n\t\treturn opts.angleLines.display || opts.pointLabels.display ? scale.chart.data.labels.length : 0;\n\t}\n\n\tfunction getPointLabelFontOptions(scale) {\n\t\tvar pointLabelOptions = scale.options.pointLabels;\n\t\tvar fontSize = helpers.getValueOrDefault(pointLabelOptions.fontSize, globalDefaults.defaultFontSize);\n\t\tvar fontStyle = helpers.getValueOrDefault(pointLabelOptions.fontStyle, globalDefaults.defaultFontStyle);\n\t\tvar fontFamily = helpers.getValueOrDefault(pointLabelOptions.fontFamily, globalDefaults.defaultFontFamily);\n\t\tvar font = helpers.fontString(fontSize, fontStyle, fontFamily);\n\n\t\treturn {\n\t\t\tsize: fontSize,\n\t\t\tstyle: fontStyle,\n\t\t\tfamily: fontFamily,\n\t\t\tfont: font\n\t\t};\n\t}\n\n\tfunction measureLabelSize(ctx, fontSize, label) {\n\t\tif (helpers.isArray(label)) {\n\t\t\treturn {\n\t\t\t\tw: helpers.longestText(ctx, ctx.font, label),\n\t\t\t\th: (label.length * fontSize) + ((label.length - 1) * 1.5 * fontSize)\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\tw: ctx.measureText(label).width,\n\t\t\th: fontSize\n\t\t};\n\t}\n\n\tfunction determineLimits(angle, pos, size, min, max) {\n\t\tif (angle === min || angle === max) {\n\t\t\treturn {\n\t\t\t\tstart: pos - (size / 2),\n\t\t\t\tend: pos + (size / 2)\n\t\t\t};\n\t\t} else if (angle < min || angle > max) {\n\t\t\treturn {\n\t\t\t\tstart: pos - size - 5,\n\t\t\t\tend: pos\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\tstart: pos,\n\t\t\tend: pos + size + 5\n\t\t};\n\t}\n\n\t/**\n\t * Helper function to fit a radial linear scale with point labels\n\t */\n\tfunction fitWithPointLabels(scale) {\n\t\t/*\n\t\t * Right, this is really confusing and there is a lot of maths going on here\n\t\t * The gist of the problem is here: https://gist.github.com/nnnick/696cc9c55f4b0beb8fe9\n\t\t *\n\t\t * Reaction: https://dl.dropboxusercontent.com/u/34601363/toomuchscience.gif\n\t\t *\n\t\t * Solution:\n\t\t *\n\t\t * We assume the radius of the polygon is half the size of the canvas at first\n\t\t * at each index we check if the text overlaps.\n\t\t *\n\t\t * Where it does, we store that angle and that index.\n\t\t *\n\t\t * After finding the largest index and angle we calculate how much we need to remove\n\t\t * from the shape radius to move the point inwards by that x.\n\t\t *\n\t\t * We average the left and right distances to get the maximum shape radius that can fit in the box\n\t\t * along with labels.\n\t\t *\n\t\t * Once we have that, we can find the centre point for the chart, by taking the x text protrusion\n\t\t * on each side, removing that from the size, halving it and adding the left x protrusion width.\n\t\t *\n\t\t * This will mean we have a shape fitted to the canvas, as large as it can be with the labels\n\t\t * and position it in the most space efficient manner\n\t\t *\n\t\t * https://dl.dropboxusercontent.com/u/34601363/yeahscience.gif\n\t\t */\n\n\t\tvar plFont = getPointLabelFontOptions(scale);\n\n\t\t// Get maximum radius of the polygon. Either half the height (minus the text width) or half the width.\n\t\t// Use this to calculate the offset + change. - Make sure L/R protrusion is at least 0 to stop issues with centre points\n\t\tvar largestPossibleRadius = Math.min(scale.height / 2, scale.width / 2);\n\t\tvar furthestLimits = {\n\t\t\tr: scale.width,\n\t\t\tl: 0,\n\t\t\tt: scale.height,\n\t\t\tb: 0\n\t\t};\n\t\tvar furthestAngles = {};\n\t\tvar i;\n\t\tvar textSize;\n\t\tvar pointPosition;\n\n\t\tscale.ctx.font = plFont.font;\n\t\tscale._pointLabelSizes = [];\n\n\t\tvar valueCount = getValueCount(scale);\n\t\tfor (i = 0; i < valueCount; i++) {\n\t\t\tpointPosition = scale.getPointPosition(i, largestPossibleRadius);\n\t\t\ttextSize = measureLabelSize(scale.ctx, plFont.size, scale.pointLabels[i] || '');\n\t\t\tscale._pointLabelSizes[i] = textSize;\n\n\t\t\t// Add quarter circle to make degree 0 mean top of circle\n\t\t\tvar angleRadians = scale.getIndexAngle(i);\n\t\t\tvar angle = helpers.toDegrees(angleRadians) % 360;\n\t\t\tvar hLimits = determineLimits(angle, pointPosition.x, textSize.w, 0, 180);\n\t\t\tvar vLimits = determineLimits(angle, pointPosition.y, textSize.h, 90, 270);\n\n\t\t\tif (hLimits.start < furthestLimits.l) {\n\t\t\t\tfurthestLimits.l = hLimits.start;\n\t\t\t\tfurthestAngles.l = angleRadians;\n\t\t\t}\n\n\t\t\tif (hLimits.end > furthestLimits.r) {\n\t\t\t\tfurthestLimits.r = hLimits.end;\n\t\t\t\tfurthestAngles.r = angleRadians;\n\t\t\t}\n\n\t\t\tif (vLimits.start < furthestLimits.t) {\n\t\t\t\tfurthestLimits.t = vLimits.start;\n\t\t\t\tfurthestAngles.t = angleRadians;\n\t\t\t}\n\n\t\t\tif (vLimits.end > furthestLimits.b) {\n\t\t\t\tfurthestLimits.b = vLimits.end;\n\t\t\t\tfurthestAngles.b = angleRadians;\n\t\t\t}\n\t\t}\n\n\t\tscale.setReductions(largestPossibleRadius, furthestLimits, furthestAngles);\n\t}\n\n\t/**\n\t * Helper function to fit a radial linear scale with no point labels\n\t */\n\tfunction fit(scale) {\n\t\tvar largestPossibleRadius = Math.min(scale.height / 2, scale.width / 2);\n\t\tscale.drawingArea = Math.round(largestPossibleRadius);\n\t\tscale.setCenterPoint(0, 0, 0, 0);\n\t}\n\n\tfunction getTextAlignForAngle(angle) {\n\t\tif (angle === 0 || angle === 180) {\n\t\t\treturn 'center';\n\t\t} else if (angle < 180) {\n\t\t\treturn 'left';\n\t\t}\n\n\t\treturn 'right';\n\t}\n\n\tfunction fillText(ctx, text, position, fontSize) {\n\t\tif (helpers.isArray(text)) {\n\t\t\tvar y = position.y;\n\t\t\tvar spacing = 1.5 * fontSize;\n\n\t\t\tfor (var i = 0; i < text.length; ++i) {\n\t\t\t\tctx.fillText(text[i], position.x, y);\n\t\t\t\ty+= spacing;\n\t\t\t}\n\t\t} else {\n\t\t\tctx.fillText(text, position.x, position.y);\n\t\t}\n\t}\n\n\tfunction adjustPointPositionForLabelHeight(angle, textSize, position) {\n\t\tif (angle === 90 || angle === 270) {\n\t\t\tposition.y -= (textSize.h / 2);\n\t\t} else if (angle > 270 || angle < 90) {\n\t\t\tposition.y -= textSize.h;\n\t\t}\n\t}\n\n\tfunction drawPointLabels(scale) {\n\t\tvar ctx = scale.ctx;\n\t\tvar getValueOrDefault = helpers.getValueOrDefault;\n\t\tvar opts = scale.options;\n\t\tvar angleLineOpts = opts.angleLines;\n\t\tvar pointLabelOpts = opts.pointLabels;\n\n\t\tctx.lineWidth = angleLineOpts.lineWidth;\n\t\tctx.strokeStyle = angleLineOpts.color;\n\n\t\tvar outerDistance = scale.getDistanceFromCenterForValue(opts.reverse ? scale.min : scale.max);\n\n\t\t// Point Label Font\n\t\tvar plFont = getPointLabelFontOptions(scale);\n\n\t\tctx.textBaseline = 'top';\n\n\t\tfor (var i = getValueCount(scale) - 1; i >= 0; i--) {\n\t\t\tif (angleLineOpts.display) {\n\t\t\t\tvar outerPosition = scale.getPointPosition(i, outerDistance);\n\t\t\t\tctx.beginPath();\n\t\t\t\tctx.moveTo(scale.xCenter, scale.yCenter);\n\t\t\t\tctx.lineTo(outerPosition.x, outerPosition.y);\n\t\t\t\tctx.stroke();\n\t\t\t\tctx.closePath();\n\t\t\t}\n\n\t\t\tif (pointLabelOpts.display) {\n\t\t\t\t// Extra 3px out for some label spacing\n\t\t\t\tvar pointLabelPosition = scale.getPointPosition(i, outerDistance + 5);\n\n\t\t\t\t// Keep this in loop since we may support array properties here\n\t\t\t\tvar pointLabelFontColor = getValueOrDefault(pointLabelOpts.fontColor, globalDefaults.defaultFontColor);\n\t\t\t\tctx.font = plFont.font;\n\t\t\t\tctx.fillStyle = pointLabelFontColor;\n\n\t\t\t\tvar angleRadians = scale.getIndexAngle(i);\n\t\t\t\tvar angle = helpers.toDegrees(angleRadians);\n\t\t\t\tctx.textAlign = getTextAlignForAngle(angle);\n\t\t\t\tadjustPointPositionForLabelHeight(angle, scale._pointLabelSizes[i], pointLabelPosition);\n\t\t\t\tfillText(ctx, scale.pointLabels[i] || '', pointLabelPosition, plFont.size);\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction drawRadiusLine(scale, gridLineOpts, radius, index) {\n\t\tvar ctx = scale.ctx;\n\t\tctx.strokeStyle = helpers.getValueAtIndexOrDefault(gridLineOpts.color, index - 1);\n\t\tctx.lineWidth = helpers.getValueAtIndexOrDefault(gridLineOpts.lineWidth, index - 1);\n\n\t\tif (scale.options.gridLines.circular) {\n\t\t\t// Draw circular arcs between the points\n\t\t\tctx.beginPath();\n\t\t\tctx.arc(scale.xCenter, scale.yCenter, radius, 0, Math.PI * 2);\n\t\t\tctx.closePath();\n\t\t\tctx.stroke();\n\t\t} else {\n\t\t\t// Draw straight lines connecting each index\n\t\t\tvar valueCount = getValueCount(scale);\n\n\t\t\tif (valueCount === 0) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tctx.beginPath();\n\t\t\tvar pointPosition = scale.getPointPosition(0, radius);\n\t\t\tctx.moveTo(pointPosition.x, pointPosition.y);\n\n\t\t\tfor (var i = 1; i < valueCount; i++) {\n\t\t\t\tpointPosition = scale.getPointPosition(i, radius);\n\t\t\t\tctx.lineTo(pointPosition.x, pointPosition.y);\n\t\t\t}\n\n\t\t\tctx.closePath();\n\t\t\tctx.stroke();\n\t\t}\n\t}\n\n\tfunction numberOrZero(param) {\n\t\treturn helpers.isNumber(param) ? param : 0;\n\t}\n\n\tvar LinearRadialScale = Chart.LinearScaleBase.extend({\n\t\tsetDimensions: function() {\n\t\t\tvar me = this;\n\t\t\tvar opts = me.options;\n\t\t\tvar tickOpts = opts.ticks;\n\t\t\t// Set the unconstrained dimension before label rotation\n\t\t\tme.width = me.maxWidth;\n\t\t\tme.height = me.maxHeight;\n\t\t\tme.xCenter = Math.round(me.width / 2);\n\t\t\tme.yCenter = Math.round(me.height / 2);\n\n\t\t\tvar minSize = helpers.min([me.height, me.width]);\n\t\t\tvar tickFontSize = helpers.getValueOrDefault(tickOpts.fontSize, globalDefaults.defaultFontSize);\n\t\t\tme.drawingArea = opts.display ? (minSize / 2) - (tickFontSize / 2 + tickOpts.backdropPaddingY) : (minSize / 2);\n\t\t},\n\t\tdetermineDataLimits: function() {\n\t\t\tvar me = this;\n\t\t\tvar chart = me.chart;\n\t\t\tvar min = Number.POSITIVE_INFINITY;\n\t\t\tvar max = Number.NEGATIVE_INFINITY;\n\n\t\t\thelpers.each(chart.data.datasets, function(dataset, datasetIndex) {\n\t\t\t\tif (chart.isDatasetVisible(datasetIndex)) {\n\t\t\t\t\tvar meta = chart.getDatasetMeta(datasetIndex);\n\n\t\t\t\t\thelpers.each(dataset.data, function(rawValue, index) {\n\t\t\t\t\t\tvar value = +me.getRightValue(rawValue);\n\t\t\t\t\t\tif (isNaN(value) || meta.data[index].hidden) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tmin = Math.min(value, min);\n\t\t\t\t\t\tmax = Math.max(value, max);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tme.min = (min === Number.POSITIVE_INFINITY ? 0 : min);\n\t\t\tme.max = (max === Number.NEGATIVE_INFINITY ? 0 : max);\n\n\t\t\t// Common base implementation to handle ticks.min, ticks.max, ticks.beginAtZero\n\t\t\tme.handleTickRangeOptions();\n\t\t},\n\t\tgetTickLimit: function() {\n\t\t\tvar tickOpts = this.options.ticks;\n\t\t\tvar tickFontSize = helpers.getValueOrDefault(tickOpts.fontSize, globalDefaults.defaultFontSize);\n\t\t\treturn Math.min(tickOpts.maxTicksLimit ? tickOpts.maxTicksLimit : 11, Math.ceil(this.drawingArea / (1.5 * tickFontSize)));\n\t\t},\n\t\tconvertTicksToLabels: function() {\n\t\t\tvar me = this;\n\t\t\tChart.LinearScaleBase.prototype.convertTicksToLabels.call(me);\n\n\t\t\t// Point labels\n\t\t\tme.pointLabels = me.chart.data.labels.map(me.options.pointLabels.callback, me);\n\t\t},\n\t\tgetLabelForIndex: function(index, datasetIndex) {\n\t\t\treturn +this.getRightValue(this.chart.data.datasets[datasetIndex].data[index]);\n\t\t},\n\t\tfit: function() {\n\t\t\tif (this.options.pointLabels.display) {\n\t\t\t\tfitWithPointLabels(this);\n\t\t\t} else {\n\t\t\t\tfit(this);\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Set radius reductions and determine new radius and center point\n\t\t * @private\n\t\t */\n\t\tsetReductions: function(largestPossibleRadius, furthestLimits, furthestAngles) {\n\t\t\tvar me = this;\n\t\t\tvar radiusReductionLeft = furthestLimits.l / Math.sin(furthestAngles.l);\n\t\t\tvar radiusReductionRight = Math.max(furthestLimits.r - me.width, 0) / Math.sin(furthestAngles.r);\n\t\t\tvar radiusReductionTop = -furthestLimits.t / Math.cos(furthestAngles.t);\n\t\t\tvar radiusReductionBottom = -Math.max(furthestLimits.b - me.height, 0) / Math.cos(furthestAngles.b);\n\n\t\t\tradiusReductionLeft = numberOrZero(radiusReductionLeft);\n\t\t\tradiusReductionRight = numberOrZero(radiusReductionRight);\n\t\t\tradiusReductionTop = numberOrZero(radiusReductionTop);\n\t\t\tradiusReductionBottom = numberOrZero(radiusReductionBottom);\n\n\t\t\tme.drawingArea = Math.min(\n\t\t\t\tMath.round(largestPossibleRadius - (radiusReductionLeft + radiusReductionRight) / 2),\n\t\t\t\tMath.round(largestPossibleRadius - (radiusReductionTop + radiusReductionBottom) / 2));\n\t\t\tme.setCenterPoint(radiusReductionLeft, radiusReductionRight, radiusReductionTop, radiusReductionBottom);\n\t\t},\n\t\tsetCenterPoint: function(leftMovement, rightMovement, topMovement, bottomMovement) {\n\t\t\tvar me = this;\n\t\t\tvar maxRight = me.width - rightMovement - me.drawingArea,\n\t\t\t\tmaxLeft = leftMovement + me.drawingArea,\n\t\t\t\tmaxTop = topMovement + me.drawingArea,\n\t\t\t\tmaxBottom = me.height - bottomMovement - me.drawingArea;\n\n\t\t\tme.xCenter = Math.round(((maxLeft + maxRight) / 2) + me.left);\n\t\t\tme.yCenter = Math.round(((maxTop + maxBottom) / 2) + me.top);\n\t\t},\n\n\t\tgetIndexAngle: function(index) {\n\t\t\tvar angleMultiplier = (Math.PI * 2) / getValueCount(this);\n\t\t\tvar startAngle = this.chart.options && this.chart.options.startAngle ?\n\t\t\t\tthis.chart.options.startAngle :\n\t\t\t\t0;\n\n\t\t\tvar startAngleRadians = startAngle * Math.PI * 2 / 360;\n\n\t\t\t// Start from the top instead of right, so remove a quarter of the circle\n\t\t\treturn index * angleMultiplier + startAngleRadians;\n\t\t},\n\t\tgetDistanceFromCenterForValue: function(value) {\n\t\t\tvar me = this;\n\n\t\t\tif (value === null) {\n\t\t\t\treturn 0; // null always in center\n\t\t\t}\n\n\t\t\t// Take into account half font size + the yPadding of the top value\n\t\t\tvar scalingFactor = me.drawingArea / (me.max - me.min);\n\t\t\tif (me.options.reverse) {\n\t\t\t\treturn (me.max - value) * scalingFactor;\n\t\t\t}\n\t\t\treturn (value - me.min) * scalingFactor;\n\t\t},\n\t\tgetPointPosition: function(index, distanceFromCenter) {\n\t\t\tvar me = this;\n\t\t\tvar thisAngle = me.getIndexAngle(index) - (Math.PI / 2);\n\t\t\treturn {\n\t\t\t\tx: Math.round(Math.cos(thisAngle) * distanceFromCenter) + me.xCenter,\n\t\t\t\ty: Math.round(Math.sin(thisAngle) * distanceFromCenter) + me.yCenter\n\t\t\t};\n\t\t},\n\t\tgetPointPositionForValue: function(index, value) {\n\t\t\treturn this.getPointPosition(index, this.getDistanceFromCenterForValue(value));\n\t\t},\n\n\t\tgetBasePosition: function() {\n\t\t\tvar me = this;\n\t\t\tvar min = me.min;\n\t\t\tvar max = me.max;\n\n\t\t\treturn me.getPointPositionForValue(0,\n\t\t\t\tme.beginAtZero? 0:\n\t\t\t\tmin < 0 && max < 0? max :\n\t\t\t\tmin > 0 && max > 0? min :\n\t\t\t\t0);\n\t\t},\n\n\t\tdraw: function() {\n\t\t\tvar me = this;\n\t\t\tvar opts = me.options;\n\t\t\tvar gridLineOpts = opts.gridLines;\n\t\t\tvar tickOpts = opts.ticks;\n\t\t\tvar getValueOrDefault = helpers.getValueOrDefault;\n\n\t\t\tif (opts.display) {\n\t\t\t\tvar ctx = me.ctx;\n\n\t\t\t\t// Tick Font\n\t\t\t\tvar tickFontSize = getValueOrDefault(tickOpts.fontSize, globalDefaults.defaultFontSize);\n\t\t\t\tvar tickFontStyle = getValueOrDefault(tickOpts.fontStyle, globalDefaults.defaultFontStyle);\n\t\t\t\tvar tickFontFamily = getValueOrDefault(tickOpts.fontFamily, globalDefaults.defaultFontFamily);\n\t\t\t\tvar tickLabelFont = helpers.fontString(tickFontSize, tickFontStyle, tickFontFamily);\n\n\t\t\t\thelpers.each(me.ticks, function(label, index) {\n\t\t\t\t\t// Don't draw a centre value (if it is minimum)\n\t\t\t\t\tif (index > 0 || opts.reverse) {\n\t\t\t\t\t\tvar yCenterOffset = me.getDistanceFromCenterForValue(me.ticksAsNumbers[index]);\n\t\t\t\t\t\tvar yHeight = me.yCenter - yCenterOffset;\n\n\t\t\t\t\t\t// Draw circular lines around the scale\n\t\t\t\t\t\tif (gridLineOpts.display && index !== 0) {\n\t\t\t\t\t\t\tdrawRadiusLine(me, gridLineOpts, yCenterOffset, index);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (tickOpts.display) {\n\t\t\t\t\t\t\tvar tickFontColor = getValueOrDefault(tickOpts.fontColor, globalDefaults.defaultFontColor);\n\t\t\t\t\t\t\tctx.font = tickLabelFont;\n\n\t\t\t\t\t\t\tif (tickOpts.showLabelBackdrop) {\n\t\t\t\t\t\t\t\tvar labelWidth = ctx.measureText(label).width;\n\t\t\t\t\t\t\t\tctx.fillStyle = tickOpts.backdropColor;\n\t\t\t\t\t\t\t\tctx.fillRect(\n\t\t\t\t\t\t\t\t\tme.xCenter - labelWidth / 2 - tickOpts.backdropPaddingX,\n\t\t\t\t\t\t\t\t\tyHeight - tickFontSize / 2 - tickOpts.backdropPaddingY,\n\t\t\t\t\t\t\t\t\tlabelWidth + tickOpts.backdropPaddingX * 2,\n\t\t\t\t\t\t\t\t\ttickFontSize + tickOpts.backdropPaddingY * 2\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tctx.textAlign = 'center';\n\t\t\t\t\t\t\tctx.textBaseline = 'middle';\n\t\t\t\t\t\t\tctx.fillStyle = tickFontColor;\n\t\t\t\t\t\t\tctx.fillText(label, me.xCenter, yHeight);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tif (opts.angleLines.display || opts.pointLabels.display) {\n\t\t\t\t\tdrawPointLabels(me);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\tChart.scaleService.registerScaleType('radialLinear', LinearRadialScale, defaultConfig);\n\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/chart.js/src/scales/scale.radialLinear.js\n// module id = 1217\n// module chunks = 0","/* global window: false */\n'use strict';\n\nvar moment = require('moment');\nmoment = typeof(moment) === 'function' ? moment : window.moment;\n\nmodule.exports = function(Chart) {\n\n\tvar helpers = Chart.helpers;\n\tvar interval = {\n\t\tmillisecond: {\n\t\t\tsize: 1,\n\t\t\tsteps: [1, 2, 5, 10, 20, 50, 100, 250, 500]\n\t\t},\n\t\tsecond: {\n\t\t\tsize: 1000,\n\t\t\tsteps: [1, 2, 5, 10, 30]\n\t\t},\n\t\tminute: {\n\t\t\tsize: 60000,\n\t\t\tsteps: [1, 2, 5, 10, 30]\n\t\t},\n\t\thour: {\n\t\t\tsize: 3600000,\n\t\t\tsteps: [1, 2, 3, 6, 12]\n\t\t},\n\t\tday: {\n\t\t\tsize: 86400000,\n\t\t\tsteps: [1, 2, 5]\n\t\t},\n\t\tweek: {\n\t\t\tsize: 604800000,\n\t\t\tmaxStep: 4\n\t\t},\n\t\tmonth: {\n\t\t\tsize: 2.628e9,\n\t\t\tmaxStep: 3\n\t\t},\n\t\tquarter: {\n\t\t\tsize: 7.884e9,\n\t\t\tmaxStep: 4\n\t\t},\n\t\tyear: {\n\t\t\tsize: 3.154e10,\n\t\t\tmaxStep: false\n\t\t}\n\t};\n\n\tvar defaultConfig = {\n\t\tposition: 'bottom',\n\n\t\ttime: {\n\t\t\tparser: false, // false == a pattern string from http://momentjs.com/docs/#/parsing/string-format/ or a custom callback that converts its argument to a moment\n\t\t\tformat: false, // DEPRECATED false == date objects, moment object, callback or a pattern string from http://momentjs.com/docs/#/parsing/string-format/\n\t\t\tunit: false, // false == automatic or override with week, month, year, etc.\n\t\t\tround: false, // none, or override with week, month, year, etc.\n\t\t\tdisplayFormat: false, // DEPRECATED\n\t\t\tisoWeekday: false, // override week start day - see http://momentjs.com/docs/#/get-set/iso-weekday/\n\t\t\tminUnit: 'millisecond',\n\n\t\t\t// defaults to unit's corresponding unitFormat below or override using pattern string from http://momentjs.com/docs/#/displaying/format/\n\t\t\tdisplayFormats: {\n\t\t\t\tmillisecond: 'h:mm:ss.SSS a', // 11:20:01.123 AM,\n\t\t\t\tsecond: 'h:mm:ss a', // 11:20:01 AM\n\t\t\t\tminute: 'h:mm:ss a', // 11:20:01 AM\n\t\t\t\thour: 'MMM D, hA', // Sept 4, 5PM\n\t\t\t\tday: 'll', // Sep 4 2015\n\t\t\t\tweek: 'll', // Week 46, or maybe \"[W]WW - YYYY\" ?\n\t\t\t\tmonth: 'MMM YYYY', // Sept 2015\n\t\t\t\tquarter: '[Q]Q - YYYY', // Q3\n\t\t\t\tyear: 'YYYY' // 2015\n\t\t\t},\n\t\t},\n\t\tticks: {\n\t\t\tautoSkip: false\n\t\t}\n\t};\n\n\t/**\n\t * Helper function to parse time to a moment object\n\t * @param axis {TimeAxis} the time axis\n\t * @param label {Date|string|number|Moment} The thing to parse\n\t * @return {Moment} parsed time\n\t */\n\tfunction parseTime(axis, label) {\n\t\tvar timeOpts = axis.options.time;\n\t\tif (typeof timeOpts.parser === 'string') {\n\t\t\treturn moment(label, timeOpts.parser);\n\t\t}\n\t\tif (typeof timeOpts.parser === 'function') {\n\t\t\treturn timeOpts.parser(label);\n\t\t}\n\t\tif (typeof label.getMonth === 'function' || typeof label === 'number') {\n\t\t\t// Date objects\n\t\t\treturn moment(label);\n\t\t}\n\t\tif (label.isValid && label.isValid()) {\n\t\t\t// Moment support\n\t\t\treturn label;\n\t\t}\n\t\tvar format = timeOpts.format;\n\t\tif (typeof format !== 'string' && format.call) {\n\t\t\t// Custom parsing (return an instance of moment)\n\t\t\tconsole.warn('options.time.format is deprecated and replaced by options.time.parser.');\n\t\t\treturn format(label);\n\t\t}\n\t\t// Moment format parsing\n\t\treturn moment(label, format);\n\t}\n\n\t/**\n\t * Figure out which is the best unit for the scale\n\t * @param minUnit {String} minimum unit to use\n\t * @param min {Number} scale minimum\n\t * @param max {Number} scale maximum\n\t * @return {String} the unit to use\n\t */\n\tfunction determineUnit(minUnit, min, max, maxTicks) {\n\t\tvar units = Object.keys(interval);\n\t\tvar unit;\n\t\tvar numUnits = units.length;\n\n\t\tfor (var i = units.indexOf(minUnit); i < numUnits; i++) {\n\t\t\tunit = units[i];\n\t\t\tvar unitDetails = interval[unit];\n\t\t\tvar steps = (unitDetails.steps && unitDetails.steps[unitDetails.steps.length - 1]) || unitDetails.maxStep;\n\t\t\tif (steps === undefined || Math.ceil((max - min) / (steps * unitDetails.size)) <= maxTicks) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn unit;\n\t}\n\n\t/**\n\t * Determines how we scale the unit\n\t * @param min {Number} the scale minimum\n\t * @param max {Number} the scale maximum\n\t * @param unit {String} the unit determined by the {@see determineUnit} method\n\t * @return {Number} the axis step size as a multiple of unit\n\t */\n\tfunction determineStepSize(min, max, unit, maxTicks) {\n\t\t// Using our unit, figoure out what we need to scale as\n\t\tvar unitDefinition = interval[unit];\n\t\tvar unitSizeInMilliSeconds = unitDefinition.size;\n\t\tvar sizeInUnits = Math.ceil((max - min) / unitSizeInMilliSeconds);\n\t\tvar multiplier = 1;\n\t\tvar range = max - min;\n\n\t\tif (unitDefinition.steps) {\n\t\t\t// Have an array of steps\n\t\t\tvar numSteps = unitDefinition.steps.length;\n\t\t\tfor (var i = 0; i < numSteps && sizeInUnits > maxTicks; i++) {\n\t\t\t\tmultiplier = unitDefinition.steps[i];\n\t\t\t\tsizeInUnits = Math.ceil(range / (unitSizeInMilliSeconds * multiplier));\n\t\t\t}\n\t\t} else {\n\t\t\twhile (sizeInUnits > maxTicks && maxTicks > 0) {\n\t\t\t\t++multiplier;\n\t\t\t\tsizeInUnits = Math.ceil(range / (unitSizeInMilliSeconds * multiplier));\n\t\t\t}\n\t\t}\n\n\t\treturn multiplier;\n\t}\n\n\t/**\n\t * Helper for generating axis labels.\n\t * @param options {ITimeGeneratorOptions} the options for generation\n\t * @param dataRange {IRange} the data range\n\t * @param niceRange {IRange} the pretty range to display\n\t * @return {Number[]} ticks\n\t */\n\tfunction generateTicks(options, dataRange, niceRange) {\n\t\tvar ticks = [];\n\t\tif (options.maxTicks) {\n\t\t\tvar stepSize = options.stepSize;\n\t\t\tticks.push(options.min !== undefined ? options.min : niceRange.min);\n\t\t\tvar cur = moment(niceRange.min);\n\t\t\twhile (cur.add(stepSize, options.unit).valueOf() < niceRange.max) {\n\t\t\t\tticks.push(cur.valueOf());\n\t\t\t}\n\t\t\tvar realMax = options.max || niceRange.max;\n\t\t\tif (ticks[ticks.length - 1] !== realMax) {\n\t\t\t\tticks.push(realMax);\n\t\t\t}\n\t\t}\n\t\treturn ticks;\n\t}\n\n\t/**\n\t * @function Chart.Ticks.generators.time\n\t * @param options {ITimeGeneratorOptions} the options for generation\n\t * @param dataRange {IRange} the data range\n\t * @return {Number[]} ticks\n\t */\n\tChart.Ticks.generators.time = function(options, dataRange) {\n\t\tvar niceMin;\n\t\tvar niceMax;\n\t\tvar isoWeekday = options.isoWeekday;\n\t\tif (options.unit === 'week' && isoWeekday !== false) {\n\t\t\tniceMin = moment(dataRange.min).startOf('isoWeek').isoWeekday(isoWeekday).valueOf();\n\t\t\tniceMax = moment(dataRange.max).startOf('isoWeek').isoWeekday(isoWeekday);\n\t\t\tif (dataRange.max - niceMax > 0) {\n\t\t\t\tniceMax.add(1, 'week');\n\t\t\t}\n\t\t\tniceMax = niceMax.valueOf();\n\t\t} else {\n\t\t\tniceMin = moment(dataRange.min).startOf(options.unit).valueOf();\n\t\t\tniceMax = moment(dataRange.max).startOf(options.unit);\n\t\t\tif (dataRange.max - niceMax > 0) {\n\t\t\t\tniceMax.add(1, options.unit);\n\t\t\t}\n\t\t\tniceMax = niceMax.valueOf();\n\t\t}\n\t\treturn generateTicks(options, dataRange, {\n\t\t\tmin: niceMin,\n\t\t\tmax: niceMax\n\t\t});\n\t};\n\n\tvar TimeScale = Chart.Scale.extend({\n\t\tinitialize: function() {\n\t\t\tif (!moment) {\n\t\t\t\tthrow new Error('Chart.js - Moment.js could not be found! You must include it before Chart.js to use the time scale. Download at https://momentjs.com');\n\t\t\t}\n\n\t\t\tChart.Scale.prototype.initialize.call(this);\n\t\t},\n\t\tdetermineDataLimits: function() {\n\t\t\tvar me = this;\n\t\t\tvar timeOpts = me.options.time;\n\n\t\t\t// We store the data range as unix millisecond timestamps so dataMin and dataMax will always be integers.\n\t\t\tvar dataMin = Number.MAX_SAFE_INTEGER;\n\t\t\tvar dataMax = Number.MIN_SAFE_INTEGER;\n\n\t\t\tvar chartData = me.chart.data;\n\t\t\tvar parsedData = {\n\t\t\t\tlabels: [],\n\t\t\t\tdatasets: []\n\t\t\t};\n\n\t\t\tvar timestamp;\n\n\t\t\thelpers.each(chartData.labels, function(label, labelIndex) {\n\t\t\t\tvar labelMoment = parseTime(me, label);\n\n\t\t\t\tif (labelMoment.isValid()) {\n\t\t\t\t\t// We need to round the time\n\t\t\t\t\tif (timeOpts.round) {\n\t\t\t\t\t\tlabelMoment.startOf(timeOpts.round);\n\t\t\t\t\t}\n\n\t\t\t\t\ttimestamp = labelMoment.valueOf();\n\t\t\t\t\tdataMin = Math.min(timestamp, dataMin);\n\t\t\t\t\tdataMax = Math.max(timestamp, dataMax);\n\n\t\t\t\t\t// Store this value for later\n\t\t\t\t\tparsedData.labels[labelIndex] = timestamp;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\thelpers.each(chartData.datasets, function(dataset, datasetIndex) {\n\t\t\t\tvar timestamps = [];\n\n\t\t\t\tif (typeof dataset.data[0] === 'object' && dataset.data[0] !== null && me.chart.isDatasetVisible(datasetIndex)) {\n\t\t\t\t\t// We have potential point data, so we need to parse this\n\t\t\t\t\thelpers.each(dataset.data, function(value, dataIndex) {\n\t\t\t\t\t\tvar dataMoment = parseTime(me, me.getRightValue(value));\n\n\t\t\t\t\t\tif (dataMoment.isValid()) {\n\t\t\t\t\t\t\tif (timeOpts.round) {\n\t\t\t\t\t\t\t\tdataMoment.startOf(timeOpts.round);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\ttimestamp = dataMoment.valueOf();\n\t\t\t\t\t\t\tdataMin = Math.min(timestamp, dataMin);\n\t\t\t\t\t\t\tdataMax = Math.max(timestamp, dataMax);\n\t\t\t\t\t\t\ttimestamps[dataIndex] = timestamp;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\t// We have no x coordinates, so use the ones from the labels\n\t\t\t\t\ttimestamps = parsedData.labels.slice();\n\t\t\t\t}\n\n\t\t\t\tparsedData.datasets[datasetIndex] = timestamps;\n\t\t\t});\n\n\t\t\tme.dataMin = dataMin;\n\t\t\tme.dataMax = dataMax;\n\t\t\tme._parsedData = parsedData;\n\t\t},\n\t\tbuildTicks: function() {\n\t\t\tvar me = this;\n\t\t\tvar timeOpts = me.options.time;\n\n\t\t\tvar minTimestamp;\n\t\t\tvar maxTimestamp;\n\t\t\tvar dataMin = me.dataMin;\n\t\t\tvar dataMax = me.dataMax;\n\n\t\t\tif (timeOpts.min) {\n\t\t\t\tvar minMoment = parseTime(me, timeOpts.min);\n\t\t\t\tif (timeOpts.round) {\n\t\t\t\t\tminMoment.round(timeOpts.round);\n\t\t\t\t}\n\t\t\t\tminTimestamp = minMoment.valueOf();\n\t\t\t}\n\n\t\t\tif (timeOpts.max) {\n\t\t\t\tmaxTimestamp = parseTime(me, timeOpts.max).valueOf();\n\t\t\t}\n\n\t\t\tvar maxTicks = me.getLabelCapacity(minTimestamp || dataMin);\n\t\t\tvar unit = timeOpts.unit || determineUnit(timeOpts.minUnit, minTimestamp || dataMin, maxTimestamp || dataMax, maxTicks);\n\t\t\tme.displayFormat = timeOpts.displayFormats[unit];\n\n\t\t\tvar stepSize = timeOpts.stepSize || determineStepSize(minTimestamp || dataMin, maxTimestamp || dataMax, unit, maxTicks);\n\t\t\tme.ticks = Chart.Ticks.generators.time({\n\t\t\t\tmaxTicks: maxTicks,\n\t\t\t\tmin: minTimestamp,\n\t\t\t\tmax: maxTimestamp,\n\t\t\t\tstepSize: stepSize,\n\t\t\t\tunit: unit,\n\t\t\t\tisoWeekday: timeOpts.isoWeekday\n\t\t\t}, {\n\t\t\t\tmin: dataMin,\n\t\t\t\tmax: dataMax\n\t\t\t});\n\n\t\t\t// At this point, we need to update our max and min given the tick values since we have expanded the\n\t\t\t// range of the scale\n\t\t\tme.max = helpers.max(me.ticks);\n\t\t\tme.min = helpers.min(me.ticks);\n\t\t},\n\t\t// Get tooltip label\n\t\tgetLabelForIndex: function(index, datasetIndex) {\n\t\t\tvar me = this;\n\t\t\tvar label = me.chart.data.labels && index < me.chart.data.labels.length ? me.chart.data.labels[index] : '';\n\t\t\tvar value = me.chart.data.datasets[datasetIndex].data[index];\n\n\t\t\tif (value !== null && typeof value === 'object') {\n\t\t\t\tlabel = me.getRightValue(value);\n\t\t\t}\n\n\t\t\t// Format nicely\n\t\t\tif (me.options.time.tooltipFormat) {\n\t\t\t\tlabel = parseTime(me, label).format(me.options.time.tooltipFormat);\n\t\t\t}\n\n\t\t\treturn label;\n\t\t},\n\t\t// Function to format an individual tick mark\n\t\ttickFormatFunction: function(tick, index, ticks) {\n\t\t\tvar formattedTick = tick.format(this.displayFormat);\n\t\t\tvar tickOpts = this.options.ticks;\n\t\t\tvar callback = helpers.getValueOrDefault(tickOpts.callback, tickOpts.userCallback);\n\n\t\t\tif (callback) {\n\t\t\t\treturn callback(formattedTick, index, ticks);\n\t\t\t}\n\t\t\treturn formattedTick;\n\t\t},\n\t\tconvertTicksToLabels: function() {\n\t\t\tvar me = this;\n\t\t\tme.ticksAsTimestamps = me.ticks;\n\t\t\tme.ticks = me.ticks.map(function(tick) {\n\t\t\t\treturn moment(tick);\n\t\t\t}).map(me.tickFormatFunction, me);\n\t\t},\n\t\tgetPixelForOffset: function(offset) {\n\t\t\tvar me = this;\n\t\t\tvar epochWidth = me.max - me.min;\n\t\t\tvar decimal = epochWidth ? (offset - me.min) / epochWidth : 0;\n\n\t\t\tif (me.isHorizontal()) {\n\t\t\t\tvar valueOffset = (me.width * decimal);\n\t\t\t\treturn me.left + Math.round(valueOffset);\n\t\t\t}\n\n\t\t\tvar heightOffset = (me.height * decimal);\n\t\t\treturn me.top + Math.round(heightOffset);\n\t\t},\n\t\tgetPixelForValue: function(value, index, datasetIndex) {\n\t\t\tvar me = this;\n\t\t\tvar offset = null;\n\t\t\tif (index !== undefined && datasetIndex !== undefined) {\n\t\t\t\toffset = me._parsedData.datasets[datasetIndex][index];\n\t\t\t}\n\n\t\t\tif (offset === null) {\n\t\t\t\tif (!value || !value.isValid) {\n\t\t\t\t\t// not already a moment object\n\t\t\t\t\tvalue = parseTime(me, me.getRightValue(value));\n\t\t\t\t}\n\n\t\t\t\tif (value && value.isValid && value.isValid()) {\n\t\t\t\t\toffset = value.valueOf();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (offset !== null) {\n\t\t\t\treturn me.getPixelForOffset(offset);\n\t\t\t}\n\t\t},\n\t\tgetPixelForTick: function(index) {\n\t\t\treturn this.getPixelForOffset(this.ticksAsTimestamps[index]);\n\t\t},\n\t\tgetValueForPixel: function(pixel) {\n\t\t\tvar me = this;\n\t\t\tvar innerDimension = me.isHorizontal() ? me.width : me.height;\n\t\t\tvar offset = (pixel - (me.isHorizontal() ? me.left : me.top)) / innerDimension;\n\t\t\treturn moment(me.min + (offset * (me.max - me.min)));\n\t\t},\n\t\t// Crude approximation of what the label width might be\n\t\tgetLabelWidth: function(label) {\n\t\t\tvar me = this;\n\t\t\tvar ticks = me.options.ticks;\n\n\t\t\tvar tickLabelWidth = me.ctx.measureText(label).width;\n\t\t\tvar cosRotation = Math.cos(helpers.toRadians(ticks.maxRotation));\n\t\t\tvar sinRotation = Math.sin(helpers.toRadians(ticks.maxRotation));\n\t\t\tvar tickFontSize = helpers.getValueOrDefault(ticks.fontSize, Chart.defaults.global.defaultFontSize);\n\t\t\treturn (tickLabelWidth * cosRotation) + (tickFontSize * sinRotation);\n\t\t},\n\t\tgetLabelCapacity: function(exampleTime) {\n\t\t\tvar me = this;\n\n\t\t\tme.displayFormat = me.options.time.displayFormats.millisecond;\t// Pick the longest format for guestimation\n\t\t\tvar exampleLabel = me.tickFormatFunction(moment(exampleTime), 0, []);\n\t\t\tvar tickLabelWidth = me.getLabelWidth(exampleLabel);\n\n\t\t\tvar innerWidth = me.isHorizontal() ? me.width : me.height;\n\t\t\tvar labelCapacity = innerWidth / tickLabelWidth;\n\t\t\treturn labelCapacity;\n\t\t}\n\t});\n\tChart.scaleService.registerScaleType('time', TimeScale, defaultConfig);\n\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/chart.js/src/scales/scale.time.js\n// module id = 1218\n// module chunks = 0","/* MIT license */\r\nvar colorNames = require('color-name');\r\n\r\nmodule.exports = {\r\n   getRgba: getRgba,\r\n   getHsla: getHsla,\r\n   getRgb: getRgb,\r\n   getHsl: getHsl,\r\n   getHwb: getHwb,\r\n   getAlpha: getAlpha,\r\n\r\n   hexString: hexString,\r\n   rgbString: rgbString,\r\n   rgbaString: rgbaString,\r\n   percentString: percentString,\r\n   percentaString: percentaString,\r\n   hslString: hslString,\r\n   hslaString: hslaString,\r\n   hwbString: hwbString,\r\n   keyword: keyword\r\n}\r\n\r\nfunction getRgba(string) {\r\n   if (!string) {\r\n      return;\r\n   }\r\n   var abbr =  /^#([a-fA-F0-9]{3})$/,\r\n       hex =  /^#([a-fA-F0-9]{6})$/,\r\n       rgba = /^rgba?\\(\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/,\r\n       per = /^rgba?\\(\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/,\r\n       keyword = /(\\w+)/;\r\n\r\n   var rgb = [0, 0, 0],\r\n       a = 1,\r\n       match = string.match(abbr);\r\n   if (match) {\r\n      match = match[1];\r\n      for (var i = 0; i < rgb.length; i++) {\r\n         rgb[i] = parseInt(match[i] + match[i], 16);\r\n      }\r\n   }\r\n   else if (match = string.match(hex)) {\r\n      match = match[1];\r\n      for (var i = 0; i < rgb.length; i++) {\r\n         rgb[i] = parseInt(match.slice(i * 2, i * 2 + 2), 16);\r\n      }\r\n   }\r\n   else if (match = string.match(rgba)) {\r\n      for (var i = 0; i < rgb.length; i++) {\r\n         rgb[i] = parseInt(match[i + 1]);\r\n      }\r\n      a = parseFloat(match[4]);\r\n   }\r\n   else if (match = string.match(per)) {\r\n      for (var i = 0; i < rgb.length; i++) {\r\n         rgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55);\r\n      }\r\n      a = parseFloat(match[4]);\r\n   }\r\n   else if (match = string.match(keyword)) {\r\n      if (match[1] == \"transparent\") {\r\n         return [0, 0, 0, 0];\r\n      }\r\n      rgb = colorNames[match[1]];\r\n      if (!rgb) {\r\n         return;\r\n      }\r\n   }\r\n\r\n   for (var i = 0; i < rgb.length; i++) {\r\n      rgb[i] = scale(rgb[i], 0, 255);\r\n   }\r\n   if (!a && a != 0) {\r\n      a = 1;\r\n   }\r\n   else {\r\n      a = scale(a, 0, 1);\r\n   }\r\n   rgb[3] = a;\r\n   return rgb;\r\n}\r\n\r\nfunction getHsla(string) {\r\n   if (!string) {\r\n      return;\r\n   }\r\n   var hsl = /^hsla?\\(\\s*([+-]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)/;\r\n   var match = string.match(hsl);\r\n   if (match) {\r\n      var alpha = parseFloat(match[4]);\r\n      var h = scale(parseInt(match[1]), 0, 360),\r\n          s = scale(parseFloat(match[2]), 0, 100),\r\n          l = scale(parseFloat(match[3]), 0, 100),\r\n          a = scale(isNaN(alpha) ? 1 : alpha, 0, 1);\r\n      return [h, s, l, a];\r\n   }\r\n}\r\n\r\nfunction getHwb(string) {\r\n   if (!string) {\r\n      return;\r\n   }\r\n   var hwb = /^hwb\\(\\s*([+-]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)/;\r\n   var match = string.match(hwb);\r\n   if (match) {\r\n    var alpha = parseFloat(match[4]);\r\n      var h = scale(parseInt(match[1]), 0, 360),\r\n          w = scale(parseFloat(match[2]), 0, 100),\r\n          b = scale(parseFloat(match[3]), 0, 100),\r\n          a = scale(isNaN(alpha) ? 1 : alpha, 0, 1);\r\n      return [h, w, b, a];\r\n   }\r\n}\r\n\r\nfunction getRgb(string) {\r\n   var rgba = getRgba(string);\r\n   return rgba && rgba.slice(0, 3);\r\n}\r\n\r\nfunction getHsl(string) {\r\n  var hsla = getHsla(string);\r\n  return hsla && hsla.slice(0, 3);\r\n}\r\n\r\nfunction getAlpha(string) {\r\n   var vals = getRgba(string);\r\n   if (vals) {\r\n      return vals[3];\r\n   }\r\n   else if (vals = getHsla(string)) {\r\n      return vals[3];\r\n   }\r\n   else if (vals = getHwb(string)) {\r\n      return vals[3];\r\n   }\r\n}\r\n\r\n// generators\r\nfunction hexString(rgb) {\r\n   return \"#\" + hexDouble(rgb[0]) + hexDouble(rgb[1])\r\n              + hexDouble(rgb[2]);\r\n}\r\n\r\nfunction rgbString(rgba, alpha) {\r\n   if (alpha < 1 || (rgba[3] && rgba[3] < 1)) {\r\n      return rgbaString(rgba, alpha);\r\n   }\r\n   return \"rgb(\" + rgba[0] + \", \" + rgba[1] + \", \" + rgba[2] + \")\";\r\n}\r\n\r\nfunction rgbaString(rgba, alpha) {\r\n   if (alpha === undefined) {\r\n      alpha = (rgba[3] !== undefined ? rgba[3] : 1);\r\n   }\r\n   return \"rgba(\" + rgba[0] + \", \" + rgba[1] + \", \" + rgba[2]\r\n           + \", \" + alpha + \")\";\r\n}\r\n\r\nfunction percentString(rgba, alpha) {\r\n   if (alpha < 1 || (rgba[3] && rgba[3] < 1)) {\r\n      return percentaString(rgba, alpha);\r\n   }\r\n   var r = Math.round(rgba[0]/255 * 100),\r\n       g = Math.round(rgba[1]/255 * 100),\r\n       b = Math.round(rgba[2]/255 * 100);\r\n\r\n   return \"rgb(\" + r + \"%, \" + g + \"%, \" + b + \"%)\";\r\n}\r\n\r\nfunction percentaString(rgba, alpha) {\r\n   var r = Math.round(rgba[0]/255 * 100),\r\n       g = Math.round(rgba[1]/255 * 100),\r\n       b = Math.round(rgba[2]/255 * 100);\r\n   return \"rgba(\" + r + \"%, \" + g + \"%, \" + b + \"%, \" + (alpha || rgba[3] || 1) + \")\";\r\n}\r\n\r\nfunction hslString(hsla, alpha) {\r\n   if (alpha < 1 || (hsla[3] && hsla[3] < 1)) {\r\n      return hslaString(hsla, alpha);\r\n   }\r\n   return \"hsl(\" + hsla[0] + \", \" + hsla[1] + \"%, \" + hsla[2] + \"%)\";\r\n}\r\n\r\nfunction hslaString(hsla, alpha) {\r\n   if (alpha === undefined) {\r\n      alpha = (hsla[3] !== undefined ? hsla[3] : 1);\r\n   }\r\n   return \"hsla(\" + hsla[0] + \", \" + hsla[1] + \"%, \" + hsla[2] + \"%, \"\r\n           + alpha + \")\";\r\n}\r\n\r\n// hwb is a bit different than rgb(a) & hsl(a) since there is no alpha specific syntax\r\n// (hwb have alpha optional & 1 is default value)\r\nfunction hwbString(hwb, alpha) {\r\n   if (alpha === undefined) {\r\n      alpha = (hwb[3] !== undefined ? hwb[3] : 1);\r\n   }\r\n   return \"hwb(\" + hwb[0] + \", \" + hwb[1] + \"%, \" + hwb[2] + \"%\"\r\n           + (alpha !== undefined && alpha !== 1 ? \", \" + alpha : \"\") + \")\";\r\n}\r\n\r\nfunction keyword(rgb) {\r\n  return reverseNames[rgb.slice(0, 3)];\r\n}\r\n\r\n// helpers\r\nfunction scale(num, min, max) {\r\n   return Math.min(Math.max(min, num), max);\r\n}\r\n\r\nfunction hexDouble(num) {\r\n  var str = num.toString(16).toUpperCase();\r\n  return (str.length < 2) ? \"0\" + str : str;\r\n}\r\n\r\n\r\n//create a list of reverse color names\r\nvar reverseNames = {};\r\nfor (var name in colorNames) {\r\n   reverseNames[colorNames[name]] = name;\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/chartjs-color-string/color-string.js\n// module id = 1219\n// module chunks = 0","var conversions = require('./conversions');\nvar route = require('./route');\n\nvar convert = {};\n\nvar models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\treturn fn(args);\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\tvar result = fn(args);\n\n\t\t// we're assuming the result is an array here.\n\t\t// see notice in conversions.js; don't use box types\n\t\t// in conversion functions.\n\t\tif (typeof result === 'object') {\n\t\t\tfor (var len = result.length, i = 0; i < len; i++) {\n\t\t\t\tresult[i] = Math.round(result[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nmodels.forEach(function (fromModel) {\n\tconvert[fromModel] = {};\n\n\tObject.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});\n\tObject.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});\n\n\tvar routes = route(fromModel);\n\tvar routeModels = Object.keys(routes);\n\n\trouteModels.forEach(function (toModel) {\n\t\tvar fn = routes[toModel];\n\n\t\tconvert[fromModel][toModel] = wrapRounded(fn);\n\t\tconvert[fromModel][toModel].raw = wrapRaw(fn);\n\t});\n});\n\nmodule.exports = convert;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/color-convert/index.js\n// module id = 1220\n// module chunks = 0","var conversions = require('./conversions');\n\n/*\n\tthis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\nfunction buildGraph() {\n\tvar graph = {};\n\t// https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\tvar models = Object.keys(conversions);\n\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tgraph[models[i]] = {\n\t\t\t// http://jsperf.com/1-vs-infinity\n\t\t\t// micro-opt, but this is simple.\n\t\t\tdistance: -1,\n\t\t\tparent: null\n\t\t};\n\t}\n\n\treturn graph;\n}\n\n// https://en.wikipedia.org/wiki/Breadth-first_search\nfunction deriveBFS(fromModel) {\n\tvar graph = buildGraph();\n\tvar queue = [fromModel]; // unshift -> queue -> pop\n\n\tgraph[fromModel].distance = 0;\n\n\twhile (queue.length) {\n\t\tvar current = queue.pop();\n\t\tvar adjacents = Object.keys(conversions[current]);\n\n\t\tfor (var len = adjacents.length, i = 0; i < len; i++) {\n\t\t\tvar adjacent = adjacents[i];\n\t\t\tvar node = graph[adjacent];\n\n\t\t\tif (node.distance === -1) {\n\t\t\t\tnode.distance = graph[current].distance + 1;\n\t\t\t\tnode.parent = current;\n\t\t\t\tqueue.unshift(adjacent);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn graph;\n}\n\nfunction link(from, to) {\n\treturn function (args) {\n\t\treturn to(from(args));\n\t};\n}\n\nfunction wrapConversion(toModel, graph) {\n\tvar path = [graph[toModel].parent, toModel];\n\tvar fn = conversions[graph[toModel].parent][toModel];\n\n\tvar cur = graph[toModel].parent;\n\twhile (graph[cur].parent) {\n\t\tpath.unshift(graph[cur].parent);\n\t\tfn = link(conversions[graph[cur].parent][cur], fn);\n\t\tcur = graph[cur].parent;\n\t}\n\n\tfn.conversion = path;\n\treturn fn;\n}\n\nmodule.exports = function (fromModel) {\n\tvar graph = deriveBFS(fromModel);\n\tvar conversion = {};\n\n\tvar models = Object.keys(graph);\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tvar toModel = models[i];\n\t\tvar node = graph[toModel];\n\n\t\tif (node.parent === null) {\n\t\t\t// no possible conversion, or this node is the source model.\n\t\t\tcontinue;\n\t\t}\n\n\t\tconversion[toModel] = wrapConversion(toModel, graph);\n\t}\n\n\treturn conversion;\n};\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/color-convert/route.js\n// module id = 1221\n// module chunks = 0","require('../modules/es6.string.iterator');\nrequire('../modules/es6.array.is-array');\nrequire('../modules/es6.array.from');\nrequire('../modules/es6.array.of');\nrequire('../modules/es6.array.join');\nrequire('../modules/es6.array.slice');\nrequire('../modules/es6.array.sort');\nrequire('../modules/es6.array.for-each');\nrequire('../modules/es6.array.map');\nrequire('../modules/es6.array.filter');\nrequire('../modules/es6.array.some');\nrequire('../modules/es6.array.every');\nrequire('../modules/es6.array.reduce');\nrequire('../modules/es6.array.reduce-right');\nrequire('../modules/es6.array.index-of');\nrequire('../modules/es6.array.last-index-of');\nrequire('../modules/es6.array.copy-within');\nrequire('../modules/es6.array.fill');\nrequire('../modules/es6.array.find');\nrequire('../modules/es6.array.find-index');\nrequire('../modules/es6.array.species');\nrequire('../modules/es6.array.iterator');\nmodule.exports = require('../modules/_core').Array;\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/es6/array.js\n// module id = 1222\n// module chunks = 0","require('../modules/es6.date.now');\nrequire('../modules/es6.date.to-json');\nrequire('../modules/es6.date.to-iso-string');\nrequire('../modules/es6.date.to-string');\nrequire('../modules/es6.date.to-primitive');\nmodule.exports = Date;\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/es6/date.js\n// module id = 1223\n// module chunks = 0","require('../modules/es6.function.bind');\nrequire('../modules/es6.function.name');\nrequire('../modules/es6.function.has-instance');\nmodule.exports = require('../modules/_core').Function;\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/es6/function.js\n// module id = 1224\n// module chunks = 0","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.map');\nmodule.exports = require('../modules/_core').Map;\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/es6/map.js\n// module id = 1225\n// module chunks = 0","require('../modules/es6.math.acosh');\nrequire('../modules/es6.math.asinh');\nrequire('../modules/es6.math.atanh');\nrequire('../modules/es6.math.cbrt');\nrequire('../modules/es6.math.clz32');\nrequire('../modules/es6.math.cosh');\nrequire('../modules/es6.math.expm1');\nrequire('../modules/es6.math.fround');\nrequire('../modules/es6.math.hypot');\nrequire('../modules/es6.math.imul');\nrequire('../modules/es6.math.log10');\nrequire('../modules/es6.math.log1p');\nrequire('../modules/es6.math.log2');\nrequire('../modules/es6.math.sign');\nrequire('../modules/es6.math.sinh');\nrequire('../modules/es6.math.tanh');\nrequire('../modules/es6.math.trunc');\nmodule.exports = require('../modules/_core').Math;\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/es6/math.js\n// module id = 1226\n// module chunks = 0","require('../modules/es6.number.constructor');\nrequire('../modules/es6.number.to-fixed');\nrequire('../modules/es6.number.to-precision');\nrequire('../modules/es6.number.epsilon');\nrequire('../modules/es6.number.is-finite');\nrequire('../modules/es6.number.is-integer');\nrequire('../modules/es6.number.is-nan');\nrequire('../modules/es6.number.is-safe-integer');\nrequire('../modules/es6.number.max-safe-integer');\nrequire('../modules/es6.number.min-safe-integer');\nrequire('../modules/es6.number.parse-float');\nrequire('../modules/es6.number.parse-int');\nmodule.exports = require('../modules/_core').Number;\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/es6/number.js\n// module id = 1227\n// module chunks = 0","require('../modules/es6.symbol');\nrequire('../modules/es6.object.create');\nrequire('../modules/es6.object.define-property');\nrequire('../modules/es6.object.define-properties');\nrequire('../modules/es6.object.get-own-property-descriptor');\nrequire('../modules/es6.object.get-prototype-of');\nrequire('../modules/es6.object.keys');\nrequire('../modules/es6.object.get-own-property-names');\nrequire('../modules/es6.object.freeze');\nrequire('../modules/es6.object.seal');\nrequire('../modules/es6.object.prevent-extensions');\nrequire('../modules/es6.object.is-frozen');\nrequire('../modules/es6.object.is-sealed');\nrequire('../modules/es6.object.is-extensible');\nrequire('../modules/es6.object.assign');\nrequire('../modules/es6.object.is');\nrequire('../modules/es6.object.set-prototype-of');\nrequire('../modules/es6.object.to-string');\n\nmodule.exports = require('../modules/_core').Object;\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/es6/object.js\n// module id = 1228\n// module chunks = 0","require('../modules/es6.parse-float');\nmodule.exports = require('../modules/_core').parseFloat;\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/es6/parse-float.js\n// module id = 1229\n// module chunks = 0","require('../modules/es6.parse-int');\nmodule.exports = require('../modules/_core').parseInt;\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/es6/parse-int.js\n// module id = 1230\n// module chunks = 0","require('../modules/es6.reflect.apply');\nrequire('../modules/es6.reflect.construct');\nrequire('../modules/es6.reflect.define-property');\nrequire('../modules/es6.reflect.delete-property');\nrequire('../modules/es6.reflect.enumerate');\nrequire('../modules/es6.reflect.get');\nrequire('../modules/es6.reflect.get-own-property-descriptor');\nrequire('../modules/es6.reflect.get-prototype-of');\nrequire('../modules/es6.reflect.has');\nrequire('../modules/es6.reflect.is-extensible');\nrequire('../modules/es6.reflect.own-keys');\nrequire('../modules/es6.reflect.prevent-extensions');\nrequire('../modules/es6.reflect.set');\nrequire('../modules/es6.reflect.set-prototype-of');\nmodule.exports = require('../modules/_core').Reflect;\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/es6/reflect.js\n// module id = 1231\n// module chunks = 0","require('../modules/es6.regexp.constructor');\nrequire('../modules/es6.regexp.to-string');\nrequire('../modules/es6.regexp.flags');\nrequire('../modules/es6.regexp.match');\nrequire('../modules/es6.regexp.replace');\nrequire('../modules/es6.regexp.search');\nrequire('../modules/es6.regexp.split');\nmodule.exports = require('../modules/_core').RegExp;\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/es6/regexp.js\n// module id = 1232\n// module chunks = 0","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.set');\nmodule.exports = require('../modules/_core').Set;\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/es6/set.js\n// module id = 1233\n// module chunks = 0","require('../modules/es6.string.from-code-point');\nrequire('../modules/es6.string.raw');\nrequire('../modules/es6.string.trim');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/es6.string.code-point-at');\nrequire('../modules/es6.string.ends-with');\nrequire('../modules/es6.string.includes');\nrequire('../modules/es6.string.repeat');\nrequire('../modules/es6.string.starts-with');\nrequire('../modules/es6.string.anchor');\nrequire('../modules/es6.string.big');\nrequire('../modules/es6.string.blink');\nrequire('../modules/es6.string.bold');\nrequire('../modules/es6.string.fixed');\nrequire('../modules/es6.string.fontcolor');\nrequire('../modules/es6.string.fontsize');\nrequire('../modules/es6.string.italics');\nrequire('../modules/es6.string.link');\nrequire('../modules/es6.string.small');\nrequire('../modules/es6.string.strike');\nrequire('../modules/es6.string.sub');\nrequire('../modules/es6.string.sup');\nrequire('../modules/es6.regexp.match');\nrequire('../modules/es6.regexp.replace');\nrequire('../modules/es6.regexp.search');\nrequire('../modules/es6.regexp.split');\nmodule.exports = require('../modules/_core').String;\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/es6/string.js\n// module id = 1234\n// module chunks = 0","require('../modules/es6.symbol');\nrequire('../modules/es6.object.to-string');\nmodule.exports = require('../modules/_core').Symbol;\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/es6/symbol.js\n// module id = 1235\n// module chunks = 0","require('../modules/es7.reflect.define-metadata');\nrequire('../modules/es7.reflect.delete-metadata');\nrequire('../modules/es7.reflect.get-metadata');\nrequire('../modules/es7.reflect.get-metadata-keys');\nrequire('../modules/es7.reflect.get-own-metadata');\nrequire('../modules/es7.reflect.get-own-metadata-keys');\nrequire('../modules/es7.reflect.has-metadata');\nrequire('../modules/es7.reflect.has-own-metadata');\nrequire('../modules/es7.reflect.metadata');\nmodule.exports = require('../modules/_core').Reflect;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/es7/reflect.js\n// module id = 1236\n// module chunks = 0","require('../modules/web.dom.iterable');\nrequire('../modules/es6.string.iterator');\nmodule.exports = require('../modules/core.get-iterator');\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/fn/get-iterator.js\n// module id = 1237\n// module chunks = 0","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/fn/object/assign.js\n// module id = 1238\n// module chunks = 0","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc){\n  return $Object.defineProperty(it, key, desc);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/fn/object/define-property.js\n// module id = 1239\n// module chunks = 0","module.exports = function(it){\n  if(typeof it != 'function')throw TypeError(it + ' is not a function!');\n  return it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_a-function.js\n// module id = 1240\n// module chunks = 0","module.exports = function(){ /* empty */ };\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_add-to-unscopables.js\n// module id = 1241\n// module chunks = 0","// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = require('./_to-iobject')\n  , toLength  = require('./_to-length')\n  , toIndex   = require('./_to-index');\nmodule.exports = function(IS_INCLUDES){\n  return function($this, el, fromIndex){\n    var O      = toIObject($this)\n      , length = toLength(O.length)\n      , index  = toIndex(fromIndex, length)\n      , value;\n    // Array#includes uses SameValueZero equality algorithm\n    if(IS_INCLUDES && el != el)while(length > index){\n      value = O[index++];\n      if(value != value)return true;\n    // Array#toIndex ignores holes, Array#includes - not\n    } else for(;length > index; index++)if(IS_INCLUDES || index in O){\n      if(O[index] === el)return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_array-includes.js\n// module id = 1242\n// module chunks = 0","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof')\n  , TAG = require('./_wks')('toStringTag')\n  // ES3 wrong here\n  , ARG = cof(function(){ return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function(it, key){\n  try {\n    return it[key];\n  } catch(e){ /* empty */ }\n};\n\nmodule.exports = function(it){\n  var O, T, B;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n    // builtinTag case\n    : ARG ? cof(O)\n    // ES3 arguments fallback\n    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_classof.js\n// module id = 1243\n// module chunks = 0","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function(fn, that, length){\n  aFunction(fn);\n  if(that === undefined)return fn;\n  switch(length){\n    case 1: return function(a){\n      return fn.call(that, a);\n    };\n    case 2: return function(a, b){\n      return fn.call(that, a, b);\n    };\n    case 3: return function(a, b, c){\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function(/* ...args */){\n    return fn.apply(that, arguments);\n  };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_ctx.js\n// module id = 1244\n// module chunks = 0","module.exports = require('./_global').document && document.documentElement;\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_html.js\n// module id = 1245\n// module chunks = 0","module.exports = !require('./_descriptors') && !require('./_fails')(function(){\n  return Object.defineProperty(require('./_dom-create')('div'), 'a', {get: function(){ return 7; }}).a != 7;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_ie8-dom-define.js\n// module id = 1246\n// module chunks = 0","'use strict';\nvar create         = require('./_object-create')\n  , descriptor     = require('./_property-desc')\n  , setToStringTag = require('./_set-to-string-tag')\n  , IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function(){ return this; });\n\nmodule.exports = function(Constructor, NAME, next){\n  Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)});\n  setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_iter-create.js\n// module id = 1247\n// module chunks = 0","module.exports = function(done, value){\n  return {value: value, done: !!done};\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_iter-step.js\n// module id = 1248\n// module chunks = 0","module.exports = true;\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_library.js\n// module id = 1249\n// module chunks = 0","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys  = require('./_object-keys')\n  , gOPS     = require('./_object-gops')\n  , pIE      = require('./_object-pie')\n  , toObject = require('./_to-object')\n  , IObject  = require('./_iobject')\n  , $assign  = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function(){\n  var A = {}\n    , B = {}\n    , S = Symbol()\n    , K = 'abcdefghijklmnopqrst';\n  A[S] = 7;\n  K.split('').forEach(function(k){ B[k] = k; });\n  return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source){ // eslint-disable-line no-unused-vars\n  var T     = toObject(target)\n    , aLen  = arguments.length\n    , index = 1\n    , getSymbols = gOPS.f\n    , isEnum     = pIE.f;\n  while(aLen > index){\n    var S      = IObject(arguments[index++])\n      , keys   = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S)\n      , length = keys.length\n      , j      = 0\n      , key;\n    while(length > j)if(isEnum.call(S, key = keys[j++]))T[key] = S[key];\n  } return T;\n} : $assign;\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_object-assign.js\n// module id = 1250\n// module chunks = 0","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject    = require('./_an-object')\n  , dPs         = require('./_object-dps')\n  , enumBugKeys = require('./_enum-bug-keys')\n  , IE_PROTO    = require('./_shared-key')('IE_PROTO')\n  , Empty       = function(){ /* empty */ }\n  , PROTOTYPE   = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function(){\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = require('./_dom-create')('iframe')\n    , i      = enumBugKeys.length\n    , lt     = '<'\n    , gt     = '>'\n    , iframeDocument;\n  iframe.style.display = 'none';\n  require('./_html').appendChild(iframe);\n  iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n  // createDict = iframe.contentWindow.Object;\n  // html.removeChild(iframe);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n  iframeDocument.close();\n  createDict = iframeDocument.F;\n  while(i--)delete createDict[PROTOTYPE][enumBugKeys[i]];\n  return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties){\n  var result;\n  if(O !== null){\n    Empty[PROTOTYPE] = anObject(O);\n    result = new Empty;\n    Empty[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = createDict();\n  return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_object-create.js\n// module id = 1251\n// module chunks = 0","var dP       = require('./_object-dp')\n  , anObject = require('./_an-object')\n  , getKeys  = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties){\n  anObject(O);\n  var keys   = getKeys(Properties)\n    , length = keys.length\n    , i = 0\n    , P;\n  while(length > i)dP.f(O, P = keys[i++], Properties[P]);\n  return O;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_object-dps.js\n// module id = 1252\n// module chunks = 0","exports.f = Object.getOwnPropertySymbols;\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_object-gops.js\n// module id = 1253\n// module chunks = 0","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has         = require('./_has')\n  , toObject    = require('./_to-object')\n  , IE_PROTO    = require('./_shared-key')('IE_PROTO')\n  , ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function(O){\n  O = toObject(O);\n  if(has(O, IE_PROTO))return O[IE_PROTO];\n  if(typeof O.constructor == 'function' && O instanceof O.constructor){\n    return O.constructor.prototype;\n  } return O instanceof Object ? ObjectProto : null;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_object-gpo.js\n// module id = 1254\n// module chunks = 0","var has          = require('./_has')\n  , toIObject    = require('./_to-iobject')\n  , arrayIndexOf = require('./_array-includes')(false)\n  , IE_PROTO     = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function(object, names){\n  var O      = toIObject(object)\n    , i      = 0\n    , result = []\n    , key;\n  for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while(names.length > i)if(has(O, key = names[i++])){\n    ~arrayIndexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_object-keys-internal.js\n// module id = 1255\n// module chunks = 0","exports.f = {}.propertyIsEnumerable;\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_object-pie.js\n// module id = 1256\n// module chunks = 0","module.exports = require('./_hide');\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_redefine.js\n// module id = 1257\n// module chunks = 0","var toInteger = require('./_to-integer')\n  , defined   = require('./_defined');\n// true  -> String#at\n// false -> String#codePointAt\nmodule.exports = function(TO_STRING){\n  return function(that, pos){\n    var s = String(defined(that))\n      , i = toInteger(pos)\n      , l = s.length\n      , a, b;\n    if(i < 0 || i >= l)return TO_STRING ? '' : undefined;\n    a = s.charCodeAt(i);\n    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n      ? TO_STRING ? s.charAt(i) : a\n      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n  };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_string-at.js\n// module id = 1258\n// module chunks = 0","var toInteger = require('./_to-integer')\n  , max       = Math.max\n  , min       = Math.min;\nmodule.exports = function(index, length){\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_to-index.js\n// module id = 1259\n// module chunks = 0","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer')\n  , min       = Math.min;\nmodule.exports = function(it){\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_to-length.js\n// module id = 1260\n// module chunks = 0","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function(it, S){\n  if(!isObject(it))return it;\n  var fn, val;\n  if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n  if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val;\n  if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/_to-primitive.js\n// module id = 1261\n// module chunks = 0","var classof   = require('./_classof')\n  , ITERATOR  = require('./_wks')('iterator')\n  , Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function(it){\n  if(it != undefined)return it[ITERATOR]\n    || it['@@iterator']\n    || Iterators[classof(it)];\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/core.get-iterator-method.js\n// module id = 1262\n// module chunks = 0","var anObject = require('./_an-object')\n  , get      = require('./core.get-iterator-method');\nmodule.exports = require('./_core').getIterator = function(it){\n  var iterFn = get(it);\n  if(typeof iterFn != 'function')throw TypeError(it + ' is not iterable!');\n  return anObject(iterFn.call(it));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/core.get-iterator.js\n// module id = 1263\n// module chunks = 0","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables')\n  , step             = require('./_iter-step')\n  , Iterators        = require('./_iterators')\n  , toIObject        = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function(iterated, kind){\n  this._t = toIObject(iterated); // target\n  this._i = 0;                   // next index\n  this._k = kind;                // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function(){\n  var O     = this._t\n    , kind  = this._k\n    , index = this._i++;\n  if(!O || index >= O.length){\n    this._t = undefined;\n    return step(1);\n  }\n  if(kind == 'keys'  )return step(0, index);\n  if(kind == 'values')return step(0, O[index]);\n  return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/es6.array.iterator.js\n// module id = 1264\n// module chunks = 0","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', {assign: require('./_object-assign')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/es6.object.assign.js\n// module id = 1265\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', {defineProperty: require('./_object-dp').f});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/es6.object.define-property.js\n// module id = 1266\n// module chunks = 0","'use strict';\nvar $at  = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function(iterated){\n  this._t = String(iterated); // target\n  this._i = 0;                // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function(){\n  var O     = this._t\n    , index = this._i\n    , point;\n  if(index >= O.length)return {value: undefined, done: true};\n  point = $at(O, index);\n  this._i += point.length;\n  return {value: point, done: false};\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/es6.string.iterator.js\n// module id = 1267\n// module chunks = 0","require('./es6.array.iterator');\nvar global        = require('./_global')\n  , hide          = require('./_hide')\n  , Iterators     = require('./_iterators')\n  , TO_STRING_TAG = require('./_wks')('toStringTag');\n\nfor(var collections = ['NodeList', 'DOMTokenList', 'MediaList', 'StyleSheetList', 'CSSRuleList'], i = 0; i < 5; i++){\n  var NAME       = collections[i]\n    , Collection = global[NAME]\n    , proto      = Collection && Collection.prototype;\n  if(proto && !proto[TO_STRING_TAG])hide(proto, TO_STRING_TAG, NAME);\n  Iterators[NAME] = Iterators.Array;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/library/modules/web.dom.iterable.js\n// module id = 1268\n// module chunks = 0","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\n'use strict';\nvar toObject = require('./_to-object')\n  , toIndex  = require('./_to-index')\n  , toLength = require('./_to-length');\n\nmodule.exports = [].copyWithin || function copyWithin(target/*= 0*/, start/*= 0, end = @length*/){\n  var O     = toObject(this)\n    , len   = toLength(O.length)\n    , to    = toIndex(target, len)\n    , from  = toIndex(start, len)\n    , end   = arguments.length > 2 ? arguments[2] : undefined\n    , count = Math.min((end === undefined ? len : toIndex(end, len)) - from, len - to)\n    , inc   = 1;\n  if(from < to && to < from + count){\n    inc  = -1;\n    from += count - 1;\n    to   += count - 1;\n  }\n  while(count-- > 0){\n    if(from in O)O[to] = O[from];\n    else delete O[to];\n    to   += inc;\n    from += inc;\n  } return O;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_array-copy-within.js\n// module id = 1269\n// module chunks = 0","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\n'use strict';\nvar toObject = require('./_to-object')\n  , toIndex  = require('./_to-index')\n  , toLength = require('./_to-length');\nmodule.exports = function fill(value /*, start = 0, end = @length */){\n  var O      = toObject(this)\n    , length = toLength(O.length)\n    , aLen   = arguments.length\n    , index  = toIndex(aLen > 1 ? arguments[1] : undefined, length)\n    , end    = aLen > 2 ? arguments[2] : undefined\n    , endPos = end === undefined ? length : toIndex(end, length);\n  while(endPos > index)O[index++] = value;\n  return O;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_array-fill.js\n// module id = 1270\n// module chunks = 0","var forOf = require('./_for-of');\n\nmodule.exports = function(iter, ITERATOR){\n  var result = [];\n  forOf(iter, false, result.push, result, ITERATOR);\n  return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_array-from-iterable.js\n// module id = 1271\n// module chunks = 0","var isObject = require('./_is-object')\n  , isArray  = require('./_is-array')\n  , SPECIES  = require('./_wks')('species');\n\nmodule.exports = function(original){\n  var C;\n  if(isArray(original)){\n    C = original.constructor;\n    // cross-realm fallback\n    if(typeof C == 'function' && (C === Array || isArray(C.prototype)))C = undefined;\n    if(isObject(C)){\n      C = C[SPECIES];\n      if(C === null)C = undefined;\n    }\n  } return C === undefined ? Array : C;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_array-species-constructor.js\n// module id = 1272\n// module chunks = 0","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function(original, length){\n  return new (speciesConstructor(original))(length);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_array-species-create.js\n// module id = 1273\n// module chunks = 0","'use strict';\nvar redefineAll       = require('./_redefine-all')\n  , getWeak           = require('./_meta').getWeak\n  , anObject          = require('./_an-object')\n  , isObject          = require('./_is-object')\n  , anInstance        = require('./_an-instance')\n  , forOf             = require('./_for-of')\n  , createArrayMethod = require('./_array-methods')\n  , $has              = require('./_has')\n  , arrayFind         = createArrayMethod(5)\n  , arrayFindIndex    = createArrayMethod(6)\n  , id                = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function(that){\n  return that._l || (that._l = new UncaughtFrozenStore);\n};\nvar UncaughtFrozenStore = function(){\n  this.a = [];\n};\nvar findUncaughtFrozen = function(store, key){\n  return arrayFind(store.a, function(it){\n    return it[0] === key;\n  });\n};\nUncaughtFrozenStore.prototype = {\n  get: function(key){\n    var entry = findUncaughtFrozen(this, key);\n    if(entry)return entry[1];\n  },\n  has: function(key){\n    return !!findUncaughtFrozen(this, key);\n  },\n  set: function(key, value){\n    var entry = findUncaughtFrozen(this, key);\n    if(entry)entry[1] = value;\n    else this.a.push([key, value]);\n  },\n  'delete': function(key){\n    var index = arrayFindIndex(this.a, function(it){\n      return it[0] === key;\n    });\n    if(~index)this.a.splice(index, 1);\n    return !!~index;\n  }\n};\n\nmodule.exports = {\n  getConstructor: function(wrapper, NAME, IS_MAP, ADDER){\n    var C = wrapper(function(that, iterable){\n      anInstance(that, C, NAME, '_i');\n      that._i = id++;      // collection id\n      that._l = undefined; // leak store for uncaught frozen objects\n      if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);\n    });\n    redefineAll(C.prototype, {\n      // 23.3.3.2 WeakMap.prototype.delete(key)\n      // 23.4.3.3 WeakSet.prototype.delete(value)\n      'delete': function(key){\n        if(!isObject(key))return false;\n        var data = getWeak(key);\n        if(data === true)return uncaughtFrozenStore(this)['delete'](key);\n        return data && $has(data, this._i) && delete data[this._i];\n      },\n      // 23.3.3.4 WeakMap.prototype.has(key)\n      // 23.4.3.4 WeakSet.prototype.has(value)\n      has: function has(key){\n        if(!isObject(key))return false;\n        var data = getWeak(key);\n        if(data === true)return uncaughtFrozenStore(this).has(key);\n        return data && $has(data, this._i);\n      }\n    });\n    return C;\n  },\n  def: function(that, key, value){\n    var data = getWeak(anObject(key), true);\n    if(data === true)uncaughtFrozenStore(that).set(key, value);\n    else data[that._i] = value;\n    return that;\n  },\n  ufstore: uncaughtFrozenStore\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_collection-weak.js\n// module id = 1274\n// module chunks = 0","'use strict';\nvar anObject    = require('./_an-object')\n  , toPrimitive = require('./_to-primitive')\n  , NUMBER      = 'number';\n\nmodule.exports = function(hint){\n  if(hint !== 'string' && hint !== NUMBER && hint !== 'default')throw TypeError('Incorrect hint');\n  return toPrimitive(anObject(this), hint != NUMBER);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_date-to-primitive.js\n// module id = 1275\n// module chunks = 0","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys')\n  , gOPS    = require('./_object-gops')\n  , pIE     = require('./_object-pie');\nmodule.exports = function(it){\n  var result     = getKeys(it)\n    , getSymbols = gOPS.f;\n  if(getSymbols){\n    var symbols = getSymbols(it)\n      , isEnum  = pIE.f\n      , i       = 0\n      , key;\n    while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))result.push(key);\n  } return result;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_enum-keys.js\n// module id = 1276\n// module chunks = 0","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function(fn, args, that){\n  var un = that === undefined;\n  switch(args.length){\n    case 0: return un ? fn()\n                      : fn.call(that);\n    case 1: return un ? fn(args[0])\n                      : fn.call(that, args[0]);\n    case 2: return un ? fn(args[0], args[1])\n                      : fn.call(that, args[0], args[1]);\n    case 3: return un ? fn(args[0], args[1], args[2])\n                      : fn.call(that, args[0], args[1], args[2]);\n    case 4: return un ? fn(args[0], args[1], args[2], args[3])\n                      : fn.call(that, args[0], args[1], args[2], args[3]);\n  } return              fn.apply(that, args);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_invoke.js\n// module id = 1277\n// module chunks = 0","var getKeys   = require('./_object-keys')\n  , toIObject = require('./_to-iobject');\nmodule.exports = function(object, el){\n  var O      = toIObject(object)\n    , keys   = getKeys(O)\n    , length = keys.length\n    , index  = 0\n    , key;\n  while(length > index)if(O[key = keys[index++]] === el)return key;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_keyof.js\n// module id = 1278\n// module chunks = 0","// all object keys, includes non-enumerable and symbols\nvar gOPN     = require('./_object-gopn')\n  , gOPS     = require('./_object-gops')\n  , anObject = require('./_an-object')\n  , Reflect  = require('./_global').Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it){\n  var keys       = gOPN.f(anObject(it))\n    , getSymbols = gOPS.f;\n  return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_own-keys.js\n// module id = 1279\n// module chunks = 0","// 7.2.9 SameValue(x, y)\nmodule.exports = Object.is || function is(x, y){\n  return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_same-value.js\n// module id = 1280\n// module chunks = 0","var global         = require('./_global')\n  , core           = require('./_core')\n  , LIBRARY        = require('./_library')\n  , wksExt         = require('./_wks-ext')\n  , defineProperty = require('./_object-dp').f;\nmodule.exports = function(name){\n  var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n  if(name.charAt(0) != '_' && !(name in $Symbol))defineProperty($Symbol, name, {value: wksExt.f(name)});\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/_wks-define.js\n// module id = 1281\n// module chunks = 0","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', {copyWithin: require('./_array-copy-within')});\n\nrequire('./_add-to-unscopables')('copyWithin');\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.array.copy-within.js\n// module id = 1282\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n  , $every  = require('./_array-methods')(4);\n\n$export($export.P + $export.F * !require('./_strict-method')([].every, true), 'Array', {\n  // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])\n  every: function every(callbackfn /* , thisArg */){\n    return $every(this, callbackfn, arguments[1]);\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.array.every.js\n// module id = 1283\n// module chunks = 0","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', {fill: require('./_array-fill')});\n\nrequire('./_add-to-unscopables')('fill');\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.array.fill.js\n// module id = 1284\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n  , $filter = require('./_array-methods')(2);\n\n$export($export.P + $export.F * !require('./_strict-method')([].filter, true), 'Array', {\n  // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])\n  filter: function filter(callbackfn /* , thisArg */){\n    return $filter(this, callbackfn, arguments[1]);\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.array.filter.js\n// module id = 1285\n// module chunks = 0","'use strict';\n// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\nvar $export = require('./_export')\n  , $find   = require('./_array-methods')(6)\n  , KEY     = 'findIndex'\n  , forced  = true;\n// Shouldn't skip holes\nif(KEY in [])Array(1)[KEY](function(){ forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n  findIndex: function findIndex(callbackfn/*, that = undefined */){\n    return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\nrequire('./_add-to-unscopables')(KEY);\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.array.find-index.js\n// module id = 1286\n// module chunks = 0","'use strict';\n// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\nvar $export = require('./_export')\n  , $find   = require('./_array-methods')(5)\n  , KEY     = 'find'\n  , forced  = true;\n// Shouldn't skip holes\nif(KEY in [])Array(1)[KEY](function(){ forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n  find: function find(callbackfn/*, that = undefined */){\n    return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\nrequire('./_add-to-unscopables')(KEY);\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.array.find.js\n// module id = 1287\n// module chunks = 0","'use strict';\nvar $export  = require('./_export')\n  , $forEach = require('./_array-methods')(0)\n  , STRICT   = require('./_strict-method')([].forEach, true);\n\n$export($export.P + $export.F * !STRICT, 'Array', {\n  // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])\n  forEach: function forEach(callbackfn /* , thisArg */){\n    return $forEach(this, callbackfn, arguments[1]);\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.array.for-each.js\n// module id = 1288\n// module chunks = 0","'use strict';\nvar ctx            = require('./_ctx')\n  , $export        = require('./_export')\n  , toObject       = require('./_to-object')\n  , call           = require('./_iter-call')\n  , isArrayIter    = require('./_is-array-iter')\n  , toLength       = require('./_to-length')\n  , createProperty = require('./_create-property')\n  , getIterFn      = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function(iter){ Array.from(iter); }), 'Array', {\n  // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n  from: function from(arrayLike/*, mapfn = undefined, thisArg = undefined*/){\n    var O       = toObject(arrayLike)\n      , C       = typeof this == 'function' ? this : Array\n      , aLen    = arguments.length\n      , mapfn   = aLen > 1 ? arguments[1] : undefined\n      , mapping = mapfn !== undefined\n      , index   = 0\n      , iterFn  = getIterFn(O)\n      , length, result, step, iterator;\n    if(mapping)mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n    // if object isn't iterable or it's array with default iterator - use simple case\n    if(iterFn != undefined && !(C == Array && isArrayIter(iterFn))){\n      for(iterator = iterFn.call(O), result = new C; !(step = iterator.next()).done; index++){\n        createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n      }\n    } else {\n      length = toLength(O.length);\n      for(result = new C(length); length > index; index++){\n        createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n      }\n    }\n    result.length = index;\n    return result;\n  }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.array.from.js\n// module id = 1289\n// module chunks = 0","'use strict';\nvar $export       = require('./_export')\n  , $indexOf      = require('./_array-includes')(false)\n  , $native       = [].indexOf\n  , NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n  // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])\n  indexOf: function indexOf(searchElement /*, fromIndex = 0 */){\n    return NEGATIVE_ZERO\n      // convert -0 to +0\n      ? $native.apply(this, arguments) || 0\n      : $indexOf(this, searchElement, arguments[1]);\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.array.index-of.js\n// module id = 1290\n// module chunks = 0","// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)\nvar $export = require('./_export');\n\n$export($export.S, 'Array', {isArray: require('./_is-array')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.array.is-array.js\n// module id = 1291\n// module chunks = 0","'use strict';\n// 22.1.3.13 Array.prototype.join(separator)\nvar $export   = require('./_export')\n  , toIObject = require('./_to-iobject')\n  , arrayJoin = [].join;\n\n// fallback for not array-like strings\n$export($export.P + $export.F * (require('./_iobject') != Object || !require('./_strict-method')(arrayJoin)), 'Array', {\n  join: function join(separator){\n    return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator);\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.array.join.js\n// module id = 1292\n// module chunks = 0","'use strict';\nvar $export       = require('./_export')\n  , toIObject     = require('./_to-iobject')\n  , toInteger     = require('./_to-integer')\n  , toLength      = require('./_to-length')\n  , $native       = [].lastIndexOf\n  , NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n  // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])\n  lastIndexOf: function lastIndexOf(searchElement /*, fromIndex = @[*-1] */){\n    // convert -0 to +0\n    if(NEGATIVE_ZERO)return $native.apply(this, arguments) || 0;\n    var O      = toIObject(this)\n      , length = toLength(O.length)\n      , index  = length - 1;\n    if(arguments.length > 1)index = Math.min(index, toInteger(arguments[1]));\n    if(index < 0)index = length + index;\n    for(;index >= 0; index--)if(index in O)if(O[index] === searchElement)return index || 0;\n    return -1;\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.array.last-index-of.js\n// module id = 1293\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n  , $map    = require('./_array-methods')(1);\n\n$export($export.P + $export.F * !require('./_strict-method')([].map, true), 'Array', {\n  // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])\n  map: function map(callbackfn /* , thisArg */){\n    return $map(this, callbackfn, arguments[1]);\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.array.map.js\n// module id = 1294\n// module chunks = 0","'use strict';\nvar $export        = require('./_export')\n  , createProperty = require('./_create-property');\n\n// WebKit Array.of isn't generic\n$export($export.S + $export.F * require('./_fails')(function(){\n  function F(){}\n  return !(Array.of.call(F) instanceof F);\n}), 'Array', {\n  // 22.1.2.3 Array.of( ...items)\n  of: function of(/* ...args */){\n    var index  = 0\n      , aLen   = arguments.length\n      , result = new (typeof this == 'function' ? this : Array)(aLen);\n    while(aLen > index)createProperty(result, index, arguments[index++]);\n    result.length = aLen;\n    return result;\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.array.of.js\n// module id = 1295\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n  , $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduceRight, true), 'Array', {\n  // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])\n  reduceRight: function reduceRight(callbackfn /* , initialValue */){\n    return $reduce(this, callbackfn, arguments.length, arguments[1], true);\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.array.reduce-right.js\n// module id = 1296\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n  , $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduce, true), 'Array', {\n  // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])\n  reduce: function reduce(callbackfn /* , initialValue */){\n    return $reduce(this, callbackfn, arguments.length, arguments[1], false);\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.array.reduce.js\n// module id = 1297\n// module chunks = 0","'use strict';\nvar $export    = require('./_export')\n  , html       = require('./_html')\n  , cof        = require('./_cof')\n  , toIndex    = require('./_to-index')\n  , toLength   = require('./_to-length')\n  , arraySlice = [].slice;\n\n// fallback for not array-like ES3 strings and DOM objects\n$export($export.P + $export.F * require('./_fails')(function(){\n  if(html)arraySlice.call(html);\n}), 'Array', {\n  slice: function slice(begin, end){\n    var len   = toLength(this.length)\n      , klass = cof(this);\n    end = end === undefined ? len : end;\n    if(klass == 'Array')return arraySlice.call(this, begin, end);\n    var start  = toIndex(begin, len)\n      , upTo   = toIndex(end, len)\n      , size   = toLength(upTo - start)\n      , cloned = Array(size)\n      , i      = 0;\n    for(; i < size; i++)cloned[i] = klass == 'String'\n      ? this.charAt(start + i)\n      : this[start + i];\n    return cloned;\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.array.slice.js\n// module id = 1298\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n  , $some   = require('./_array-methods')(3);\n\n$export($export.P + $export.F * !require('./_strict-method')([].some, true), 'Array', {\n  // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])\n  some: function some(callbackfn /* , thisArg */){\n    return $some(this, callbackfn, arguments[1]);\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.array.some.js\n// module id = 1299\n// module chunks = 0","'use strict';\nvar $export   = require('./_export')\n  , aFunction = require('./_a-function')\n  , toObject  = require('./_to-object')\n  , fails     = require('./_fails')\n  , $sort     = [].sort\n  , test      = [1, 2, 3];\n\n$export($export.P + $export.F * (fails(function(){\n  // IE8-\n  test.sort(undefined);\n}) || !fails(function(){\n  // V8 bug\n  test.sort(null);\n  // Old WebKit\n}) || !require('./_strict-method')($sort)), 'Array', {\n  // 22.1.3.25 Array.prototype.sort(comparefn)\n  sort: function sort(comparefn){\n    return comparefn === undefined\n      ? $sort.call(toObject(this))\n      : $sort.call(toObject(this), aFunction(comparefn));\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.array.sort.js\n// module id = 1300\n// module chunks = 0","require('./_set-species')('Array');\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.array.species.js\n// module id = 1301\n// module chunks = 0","// 20.3.3.1 / 15.9.4.4 Date.now()\nvar $export = require('./_export');\n\n$export($export.S, 'Date', {now: function(){ return new Date().getTime(); }});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.date.now.js\n// module id = 1302\n// module chunks = 0","'use strict';\n// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar $export = require('./_export')\n  , fails   = require('./_fails')\n  , getTime = Date.prototype.getTime;\n\nvar lz = function(num){\n  return num > 9 ? num : '0' + num;\n};\n\n// PhantomJS / old WebKit has a broken implementations\n$export($export.P + $export.F * (fails(function(){\n  return new Date(-5e13 - 1).toISOString() != '0385-07-25T07:06:39.999Z';\n}) || !fails(function(){\n  new Date(NaN).toISOString();\n})), 'Date', {\n  toISOString: function toISOString(){\n    if(!isFinite(getTime.call(this)))throw RangeError('Invalid time value');\n    var d = this\n      , y = d.getUTCFullYear()\n      , m = d.getUTCMilliseconds()\n      , s = y < 0 ? '-' : y > 9999 ? '+' : '';\n    return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +\n      '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +\n      'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +\n      ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.date.to-iso-string.js\n// module id = 1303\n// module chunks = 0","'use strict';\nvar $export     = require('./_export')\n  , toObject    = require('./_to-object')\n  , toPrimitive = require('./_to-primitive');\n\n$export($export.P + $export.F * require('./_fails')(function(){\n  return new Date(NaN).toJSON() !== null || Date.prototype.toJSON.call({toISOString: function(){ return 1; }}) !== 1;\n}), 'Date', {\n  toJSON: function toJSON(key){\n    var O  = toObject(this)\n      , pv = toPrimitive(O);\n    return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.date.to-json.js\n// module id = 1304\n// module chunks = 0","var TO_PRIMITIVE = require('./_wks')('toPrimitive')\n  , proto        = Date.prototype;\n\nif(!(TO_PRIMITIVE in proto))require('./_hide')(proto, TO_PRIMITIVE, require('./_date-to-primitive'));\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.date.to-primitive.js\n// module id = 1305\n// module chunks = 0","var DateProto    = Date.prototype\n  , INVALID_DATE = 'Invalid Date'\n  , TO_STRING    = 'toString'\n  , $toString    = DateProto[TO_STRING]\n  , getTime      = DateProto.getTime;\nif(new Date(NaN) + '' != INVALID_DATE){\n  require('./_redefine')(DateProto, TO_STRING, function toString(){\n    var value = getTime.call(this);\n    return value === value ? $toString.call(this) : INVALID_DATE;\n  });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.date.to-string.js\n// module id = 1306\n// module chunks = 0","// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)\nvar $export = require('./_export');\n\n$export($export.P, 'Function', {bind: require('./_bind')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.function.bind.js\n// module id = 1307\n// module chunks = 0","'use strict';\nvar isObject       = require('./_is-object')\n  , getPrototypeOf = require('./_object-gpo')\n  , HAS_INSTANCE   = require('./_wks')('hasInstance')\n  , FunctionProto  = Function.prototype;\n// 19.2.3.6 Function.prototype[@@hasInstance](V)\nif(!(HAS_INSTANCE in FunctionProto))require('./_object-dp').f(FunctionProto, HAS_INSTANCE, {value: function(O){\n  if(typeof this != 'function' || !isObject(O))return false;\n  if(!isObject(this.prototype))return O instanceof this;\n  // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:\n  while(O = getPrototypeOf(O))if(this.prototype === O)return true;\n  return false;\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.function.has-instance.js\n// module id = 1308\n// module chunks = 0","var dP         = require('./_object-dp').f\n  , createDesc = require('./_property-desc')\n  , has        = require('./_has')\n  , FProto     = Function.prototype\n  , nameRE     = /^\\s*function ([^ (]*)/\n  , NAME       = 'name';\n\nvar isExtensible = Object.isExtensible || function(){\n  return true;\n};\n\n// 19.2.4.2 name\nNAME in FProto || require('./_descriptors') && dP(FProto, NAME, {\n  configurable: true,\n  get: function(){\n    try {\n      var that = this\n        , name = ('' + that).match(nameRE)[1];\n      has(that, NAME) || !isExtensible(that) || dP(that, NAME, createDesc(5, name));\n      return name;\n    } catch(e){\n      return '';\n    }\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.function.name.js\n// module id = 1309\n// module chunks = 0","// 20.2.2.3 Math.acosh(x)\nvar $export = require('./_export')\n  , log1p   = require('./_math-log1p')\n  , sqrt    = Math.sqrt\n  , $acosh  = Math.acosh;\n\n$export($export.S + $export.F * !($acosh\n  // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509\n  && Math.floor($acosh(Number.MAX_VALUE)) == 710\n  // Tor Browser bug: Math.acosh(Infinity) -> NaN \n  && $acosh(Infinity) == Infinity\n), 'Math', {\n  acosh: function acosh(x){\n    return (x = +x) < 1 ? NaN : x > 94906265.62425156\n      ? Math.log(x) + Math.LN2\n      : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.math.acosh.js\n// module id = 1310\n// module chunks = 0","// 20.2.2.5 Math.asinh(x)\nvar $export = require('./_export')\n  , $asinh  = Math.asinh;\n\nfunction asinh(x){\n  return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));\n}\n\n// Tor Browser bug: Math.asinh(0) -> -0 \n$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', {asinh: asinh});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.math.asinh.js\n// module id = 1311\n// module chunks = 0","// 20.2.2.7 Math.atanh(x)\nvar $export = require('./_export')\n  , $atanh  = Math.atanh;\n\n// Tor Browser bug: Math.atanh(-0) -> 0 \n$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', {\n  atanh: function atanh(x){\n    return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.math.atanh.js\n// module id = 1312\n// module chunks = 0","// 20.2.2.9 Math.cbrt(x)\nvar $export = require('./_export')\n  , sign    = require('./_math-sign');\n\n$export($export.S, 'Math', {\n  cbrt: function cbrt(x){\n    return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.math.cbrt.js\n// module id = 1313\n// module chunks = 0","// 20.2.2.11 Math.clz32(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n  clz32: function clz32(x){\n    return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.math.clz32.js\n// module id = 1314\n// module chunks = 0","// 20.2.2.12 Math.cosh(x)\nvar $export = require('./_export')\n  , exp     = Math.exp;\n\n$export($export.S, 'Math', {\n  cosh: function cosh(x){\n    return (exp(x = +x) + exp(-x)) / 2;\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.math.cosh.js\n// module id = 1315\n// module chunks = 0","// 20.2.2.14 Math.expm1(x)\nvar $export = require('./_export')\n  , $expm1  = require('./_math-expm1');\n\n$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', {expm1: $expm1});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.math.expm1.js\n// module id = 1316\n// module chunks = 0","// 20.2.2.16 Math.fround(x)\nvar $export   = require('./_export')\n  , sign      = require('./_math-sign')\n  , pow       = Math.pow\n  , EPSILON   = pow(2, -52)\n  , EPSILON32 = pow(2, -23)\n  , MAX32     = pow(2, 127) * (2 - EPSILON32)\n  , MIN32     = pow(2, -126);\n\nvar roundTiesToEven = function(n){\n  return n + 1 / EPSILON - 1 / EPSILON;\n};\n\n\n$export($export.S, 'Math', {\n  fround: function fround(x){\n    var $abs  = Math.abs(x)\n      , $sign = sign(x)\n      , a, result;\n    if($abs < MIN32)return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;\n    a = (1 + EPSILON32 / EPSILON) * $abs;\n    result = a - (a - $abs);\n    if(result > MAX32 || result != result)return $sign * Infinity;\n    return $sign * result;\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.math.fround.js\n// module id = 1317\n// module chunks = 0","// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])\nvar $export = require('./_export')\n  , abs     = Math.abs;\n\n$export($export.S, 'Math', {\n  hypot: function hypot(value1, value2){ // eslint-disable-line no-unused-vars\n    var sum  = 0\n      , i    = 0\n      , aLen = arguments.length\n      , larg = 0\n      , arg, div;\n    while(i < aLen){\n      arg = abs(arguments[i++]);\n      if(larg < arg){\n        div  = larg / arg;\n        sum  = sum * div * div + 1;\n        larg = arg;\n      } else if(arg > 0){\n        div  = arg / larg;\n        sum += div * div;\n      } else sum += arg;\n    }\n    return larg === Infinity ? Infinity : larg * Math.sqrt(sum);\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.math.hypot.js\n// module id = 1318\n// module chunks = 0","// 20.2.2.18 Math.imul(x, y)\nvar $export = require('./_export')\n  , $imul   = Math.imul;\n\n// some WebKit versions fails with big numbers, some has wrong arity\n$export($export.S + $export.F * require('./_fails')(function(){\n  return $imul(0xffffffff, 5) != -5 || $imul.length != 2;\n}), 'Math', {\n  imul: function imul(x, y){\n    var UINT16 = 0xffff\n      , xn = +x\n      , yn = +y\n      , xl = UINT16 & xn\n      , yl = UINT16 & yn;\n    return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.math.imul.js\n// module id = 1319\n// module chunks = 0","// 20.2.2.21 Math.log10(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n  log10: function log10(x){\n    return Math.log(x) / Math.LN10;\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.math.log10.js\n// module id = 1320\n// module chunks = 0","// 20.2.2.20 Math.log1p(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {log1p: require('./_math-log1p')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.math.log1p.js\n// module id = 1321\n// module chunks = 0","// 20.2.2.22 Math.log2(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n  log2: function log2(x){\n    return Math.log(x) / Math.LN2;\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.math.log2.js\n// module id = 1322\n// module chunks = 0","// 20.2.2.28 Math.sign(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {sign: require('./_math-sign')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.math.sign.js\n// module id = 1323\n// module chunks = 0","// 20.2.2.30 Math.sinh(x)\nvar $export = require('./_export')\n  , expm1   = require('./_math-expm1')\n  , exp     = Math.exp;\n\n// V8 near Chromium 38 has a problem with very small numbers\n$export($export.S + $export.F * require('./_fails')(function(){\n  return !Math.sinh(-2e-17) != -2e-17;\n}), 'Math', {\n  sinh: function sinh(x){\n    return Math.abs(x = +x) < 1\n      ? (expm1(x) - expm1(-x)) / 2\n      : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.math.sinh.js\n// module id = 1324\n// module chunks = 0","// 20.2.2.33 Math.tanh(x)\nvar $export = require('./_export')\n  , expm1   = require('./_math-expm1')\n  , exp     = Math.exp;\n\n$export($export.S, 'Math', {\n  tanh: function tanh(x){\n    var a = expm1(x = +x)\n      , b = expm1(-x);\n    return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.math.tanh.js\n// module id = 1325\n// module chunks = 0","// 20.2.2.34 Math.trunc(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n  trunc: function trunc(it){\n    return (it > 0 ? Math.floor : Math.ceil)(it);\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.math.trunc.js\n// module id = 1326\n// module chunks = 0","'use strict';\nvar global            = require('./_global')\n  , has               = require('./_has')\n  , cof               = require('./_cof')\n  , inheritIfRequired = require('./_inherit-if-required')\n  , toPrimitive       = require('./_to-primitive')\n  , fails             = require('./_fails')\n  , gOPN              = require('./_object-gopn').f\n  , gOPD              = require('./_object-gopd').f\n  , dP                = require('./_object-dp').f\n  , $trim             = require('./_string-trim').trim\n  , NUMBER            = 'Number'\n  , $Number           = global[NUMBER]\n  , Base              = $Number\n  , proto             = $Number.prototype\n  // Opera ~12 has broken Object#toString\n  , BROKEN_COF        = cof(require('./_object-create')(proto)) == NUMBER\n  , TRIM              = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function(argument){\n  var it = toPrimitive(argument, false);\n  if(typeof it == 'string' && it.length > 2){\n    it = TRIM ? it.trim() : $trim(it, 3);\n    var first = it.charCodeAt(0)\n      , third, radix, maxCode;\n    if(first === 43 || first === 45){\n      third = it.charCodeAt(2);\n      if(third === 88 || third === 120)return NaN; // Number('+0x1') should be NaN, old V8 fix\n    } else if(first === 48){\n      switch(it.charCodeAt(1)){\n        case 66 : case 98  : radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n        case 79 : case 111 : radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n        default : return +it;\n      }\n      for(var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++){\n        code = digits.charCodeAt(i);\n        // parseInt parses a string to a first unavailable symbol\n        // but ToNumber should return NaN if a string contains unavailable symbols\n        if(code < 48 || code > maxCode)return NaN;\n      } return parseInt(digits, radix);\n    }\n  } return +it;\n};\n\nif(!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')){\n  $Number = function Number(value){\n    var it = arguments.length < 1 ? 0 : value\n      , that = this;\n    return that instanceof $Number\n      // check on 1..constructor(foo) case\n      && (BROKEN_COF ? fails(function(){ proto.valueOf.call(that); }) : cof(that) != NUMBER)\n        ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n  };\n  for(var keys = require('./_descriptors') ? gOPN(Base) : (\n    // ES3:\n    'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n    // ES6 (in case, if modules with ES6 Number statics required before):\n    'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n    'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n  ).split(','), j = 0, key; keys.length > j; j++){\n    if(has(Base, key = keys[j]) && !has($Number, key)){\n      dP($Number, key, gOPD(Base, key));\n    }\n  }\n  $Number.prototype = proto;\n  proto.constructor = $Number;\n  require('./_redefine')(global, NUMBER, $Number);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.number.constructor.js\n// module id = 1327\n// module chunks = 0","// 20.1.2.1 Number.EPSILON\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {EPSILON: Math.pow(2, -52)});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.number.epsilon.js\n// module id = 1328\n// module chunks = 0","// 20.1.2.2 Number.isFinite(number)\nvar $export   = require('./_export')\n  , _isFinite = require('./_global').isFinite;\n\n$export($export.S, 'Number', {\n  isFinite: function isFinite(it){\n    return typeof it == 'number' && _isFinite(it);\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.number.is-finite.js\n// module id = 1329\n// module chunks = 0","// 20.1.2.3 Number.isInteger(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {isInteger: require('./_is-integer')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.number.is-integer.js\n// module id = 1330\n// module chunks = 0","// 20.1.2.4 Number.isNaN(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {\n  isNaN: function isNaN(number){\n    return number != number;\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.number.is-nan.js\n// module id = 1331\n// module chunks = 0","// 20.1.2.5 Number.isSafeInteger(number)\nvar $export   = require('./_export')\n  , isInteger = require('./_is-integer')\n  , abs       = Math.abs;\n\n$export($export.S, 'Number', {\n  isSafeInteger: function isSafeInteger(number){\n    return isInteger(number) && abs(number) <= 0x1fffffffffffff;\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.number.is-safe-integer.js\n// module id = 1332\n// module chunks = 0","// 20.1.2.6 Number.MAX_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {MAX_SAFE_INTEGER: 0x1fffffffffffff});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.number.max-safe-integer.js\n// module id = 1333\n// module chunks = 0","// 20.1.2.10 Number.MIN_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {MIN_SAFE_INTEGER: -0x1fffffffffffff});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.number.min-safe-integer.js\n// module id = 1334\n// module chunks = 0","var $export     = require('./_export')\n  , $parseFloat = require('./_parse-float');\n// 20.1.2.12 Number.parseFloat(string)\n$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', {parseFloat: $parseFloat});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.number.parse-float.js\n// module id = 1335\n// module chunks = 0","var $export   = require('./_export')\n  , $parseInt = require('./_parse-int');\n// 20.1.2.13 Number.parseInt(string, radix)\n$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', {parseInt: $parseInt});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.number.parse-int.js\n// module id = 1336\n// module chunks = 0","'use strict';\nvar $export      = require('./_export')\n  , toInteger    = require('./_to-integer')\n  , aNumberValue = require('./_a-number-value')\n  , repeat       = require('./_string-repeat')\n  , $toFixed     = 1..toFixed\n  , floor        = Math.floor\n  , data         = [0, 0, 0, 0, 0, 0]\n  , ERROR        = 'Number.toFixed: incorrect invocation!'\n  , ZERO         = '0';\n\nvar multiply = function(n, c){\n  var i  = -1\n    , c2 = c;\n  while(++i < 6){\n    c2 += n * data[i];\n    data[i] = c2 % 1e7;\n    c2 = floor(c2 / 1e7);\n  }\n};\nvar divide = function(n){\n  var i = 6\n    , c = 0;\n  while(--i >= 0){\n    c += data[i];\n    data[i] = floor(c / n);\n    c = (c % n) * 1e7;\n  }\n};\nvar numToString = function(){\n  var i = 6\n    , s = '';\n  while(--i >= 0){\n    if(s !== '' || i === 0 || data[i] !== 0){\n      var t = String(data[i]);\n      s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t;\n    }\n  } return s;\n};\nvar pow = function(x, n, acc){\n  return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\nvar log = function(x){\n  var n  = 0\n    , x2 = x;\n  while(x2 >= 4096){\n    n += 12;\n    x2 /= 4096;\n  }\n  while(x2 >= 2){\n    n  += 1;\n    x2 /= 2;\n  } return n;\n};\n\n$export($export.P + $export.F * (!!$toFixed && (\n  0.00008.toFixed(3) !== '0.000' ||\n  0.9.toFixed(0) !== '1' ||\n  1.255.toFixed(2) !== '1.25' ||\n  1000000000000000128..toFixed(0) !== '1000000000000000128'\n) || !require('./_fails')(function(){\n  // V8 ~ Android 4.3-\n  $toFixed.call({});\n})), 'Number', {\n  toFixed: function toFixed(fractionDigits){\n    var x = aNumberValue(this, ERROR)\n      , f = toInteger(fractionDigits)\n      , s = ''\n      , m = ZERO\n      , e, z, j, k;\n    if(f < 0 || f > 20)throw RangeError(ERROR);\n    if(x != x)return 'NaN';\n    if(x <= -1e21 || x >= 1e21)return String(x);\n    if(x < 0){\n      s = '-';\n      x = -x;\n    }\n    if(x > 1e-21){\n      e = log(x * pow(2, 69, 1)) - 69;\n      z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1);\n      z *= 0x10000000000000;\n      e = 52 - e;\n      if(e > 0){\n        multiply(0, z);\n        j = f;\n        while(j >= 7){\n          multiply(1e7, 0);\n          j -= 7;\n        }\n        multiply(pow(10, j, 1), 0);\n        j = e - 1;\n        while(j >= 23){\n          divide(1 << 23);\n          j -= 23;\n        }\n        divide(1 << j);\n        multiply(1, 1);\n        divide(2);\n        m = numToString();\n      } else {\n        multiply(0, z);\n        multiply(1 << -e, 0);\n        m = numToString() + repeat.call(ZERO, f);\n      }\n    }\n    if(f > 0){\n      k = m.length;\n      m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f));\n    } else {\n      m = s + m;\n    } return m;\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.number.to-fixed.js\n// module id = 1337\n// module chunks = 0","'use strict';\nvar $export      = require('./_export')\n  , $fails       = require('./_fails')\n  , aNumberValue = require('./_a-number-value')\n  , $toPrecision = 1..toPrecision;\n\n$export($export.P + $export.F * ($fails(function(){\n  // IE7-\n  return $toPrecision.call(1, undefined) !== '1';\n}) || !$fails(function(){\n  // V8 ~ Android 4.3-\n  $toPrecision.call({});\n})), 'Number', {\n  toPrecision: function toPrecision(precision){\n    var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!');\n    return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision); \n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.number.to-precision.js\n// module id = 1338\n// module chunks = 0","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', {assign: require('./_object-assign')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.object.assign.js\n// module id = 1339\n// module chunks = 0","var $export = require('./_export')\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', {create: require('./_object-create')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.object.create.js\n// module id = 1340\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', {defineProperties: require('./_object-dps')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.object.define-properties.js\n// module id = 1341\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', {defineProperty: require('./_object-dp').f});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.object.define-property.js\n// module id = 1342\n// module chunks = 0","// 19.1.2.5 Object.freeze(O)\nvar isObject = require('./_is-object')\n  , meta     = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('freeze', function($freeze){\n  return function freeze(it){\n    return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n  };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.object.freeze.js\n// module id = 1343\n// module chunks = 0","// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject                 = require('./_to-iobject')\n  , $getOwnPropertyDescriptor = require('./_object-gopd').f;\n\nrequire('./_object-sap')('getOwnPropertyDescriptor', function(){\n  return function getOwnPropertyDescriptor(it, key){\n    return $getOwnPropertyDescriptor(toIObject(it), key);\n  };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.object.get-own-property-descriptor.js\n// module id = 1344\n// module chunks = 0","// 19.1.2.7 Object.getOwnPropertyNames(O)\nrequire('./_object-sap')('getOwnPropertyNames', function(){\n  return require('./_object-gopn-ext').f;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.object.get-own-property-names.js\n// module id = 1345\n// module chunks = 0","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject        = require('./_to-object')\n  , $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function(){\n  return function getPrototypeOf(it){\n    return $getPrototypeOf(toObject(it));\n  };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.object.get-prototype-of.js\n// module id = 1346\n// module chunks = 0","// 19.1.2.11 Object.isExtensible(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isExtensible', function($isExtensible){\n  return function isExtensible(it){\n    return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;\n  };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.object.is-extensible.js\n// module id = 1347\n// module chunks = 0","// 19.1.2.12 Object.isFrozen(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isFrozen', function($isFrozen){\n  return function isFrozen(it){\n    return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;\n  };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.object.is-frozen.js\n// module id = 1348\n// module chunks = 0","// 19.1.2.13 Object.isSealed(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isSealed', function($isSealed){\n  return function isSealed(it){\n    return isObject(it) ? $isSealed ? $isSealed(it) : false : true;\n  };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.object.is-sealed.js\n// module id = 1349\n// module chunks = 0","// 19.1.3.10 Object.is(value1, value2)\nvar $export = require('./_export');\n$export($export.S, 'Object', {is: require('./_same-value')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.object.is.js\n// module id = 1350\n// module chunks = 0","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object')\n  , $keys    = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function(){\n  return function keys(it){\n    return $keys(toObject(it));\n  };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.object.keys.js\n// module id = 1351\n// module chunks = 0","// 19.1.2.15 Object.preventExtensions(O)\nvar isObject = require('./_is-object')\n  , meta     = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('preventExtensions', function($preventExtensions){\n  return function preventExtensions(it){\n    return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;\n  };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.object.prevent-extensions.js\n// module id = 1352\n// module chunks = 0","// 19.1.2.17 Object.seal(O)\nvar isObject = require('./_is-object')\n  , meta     = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('seal', function($seal){\n  return function seal(it){\n    return $seal && isObject(it) ? $seal(meta(it)) : it;\n  };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.object.seal.js\n// module id = 1353\n// module chunks = 0","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', {setPrototypeOf: require('./_set-proto').set});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.object.set-prototype-of.js\n// module id = 1354\n// module chunks = 0","var $export     = require('./_export')\n  , $parseFloat = require('./_parse-float');\n// 18.2.4 parseFloat(string)\n$export($export.G + $export.F * (parseFloat != $parseFloat), {parseFloat: $parseFloat});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.parse-float.js\n// module id = 1355\n// module chunks = 0","var $export   = require('./_export')\n  , $parseInt = require('./_parse-int');\n// 18.2.5 parseInt(string, radix)\n$export($export.G + $export.F * (parseInt != $parseInt), {parseInt: $parseInt});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.parse-int.js\n// module id = 1356\n// module chunks = 0","// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)\nvar $export   = require('./_export')\n  , aFunction = require('./_a-function')\n  , anObject  = require('./_an-object')\n  , rApply    = (require('./_global').Reflect || {}).apply\n  , fApply    = Function.apply;\n// MS Edge argumentsList argument is optional\n$export($export.S + $export.F * !require('./_fails')(function(){\n  rApply(function(){});\n}), 'Reflect', {\n  apply: function apply(target, thisArgument, argumentsList){\n    var T = aFunction(target)\n      , L = anObject(argumentsList);\n    return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.reflect.apply.js\n// module id = 1357\n// module chunks = 0","// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])\nvar $export    = require('./_export')\n  , create     = require('./_object-create')\n  , aFunction  = require('./_a-function')\n  , anObject   = require('./_an-object')\n  , isObject   = require('./_is-object')\n  , fails      = require('./_fails')\n  , bind       = require('./_bind')\n  , rConstruct = (require('./_global').Reflect || {}).construct;\n\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function(){\n  function F(){}\n  return !(rConstruct(function(){}, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function(){\n  rConstruct(function(){});\n});\n\n$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {\n  construct: function construct(Target, args /*, newTarget*/){\n    aFunction(Target);\n    anObject(args);\n    var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n    if(ARGS_BUG && !NEW_TARGET_BUG)return rConstruct(Target, args, newTarget);\n    if(Target == newTarget){\n      // w/o altered newTarget, optimization for 0-4 arguments\n      switch(args.length){\n        case 0: return new Target;\n        case 1: return new Target(args[0]);\n        case 2: return new Target(args[0], args[1]);\n        case 3: return new Target(args[0], args[1], args[2]);\n        case 4: return new Target(args[0], args[1], args[2], args[3]);\n      }\n      // w/o altered newTarget, lot of arguments case\n      var $args = [null];\n      $args.push.apply($args, args);\n      return new (bind.apply(Target, $args));\n    }\n    // with altered newTarget, not support built-in constructors\n    var proto    = newTarget.prototype\n      , instance = create(isObject(proto) ? proto : Object.prototype)\n      , result   = Function.apply.call(Target, instance, args);\n    return isObject(result) ? result : instance;\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.reflect.construct.js\n// module id = 1358\n// module chunks = 0","// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)\nvar dP          = require('./_object-dp')\n  , $export     = require('./_export')\n  , anObject    = require('./_an-object')\n  , toPrimitive = require('./_to-primitive');\n\n// MS Edge has broken Reflect.defineProperty - throwing instead of returning false\n$export($export.S + $export.F * require('./_fails')(function(){\n  Reflect.defineProperty(dP.f({}, 1, {value: 1}), 1, {value: 2});\n}), 'Reflect', {\n  defineProperty: function defineProperty(target, propertyKey, attributes){\n    anObject(target);\n    propertyKey = toPrimitive(propertyKey, true);\n    anObject(attributes);\n    try {\n      dP.f(target, propertyKey, attributes);\n      return true;\n    } catch(e){\n      return false;\n    }\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.reflect.define-property.js\n// module id = 1359\n// module chunks = 0","// 26.1.4 Reflect.deleteProperty(target, propertyKey)\nvar $export  = require('./_export')\n  , gOPD     = require('./_object-gopd').f\n  , anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n  deleteProperty: function deleteProperty(target, propertyKey){\n    var desc = gOPD(anObject(target), propertyKey);\n    return desc && !desc.configurable ? false : delete target[propertyKey];\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.reflect.delete-property.js\n// module id = 1360\n// module chunks = 0","'use strict';\n// 26.1.5 Reflect.enumerate(target)\nvar $export  = require('./_export')\n  , anObject = require('./_an-object');\nvar Enumerate = function(iterated){\n  this._t = anObject(iterated); // target\n  this._i = 0;                  // next index\n  var keys = this._k = []       // keys\n    , key;\n  for(key in iterated)keys.push(key);\n};\nrequire('./_iter-create')(Enumerate, 'Object', function(){\n  var that = this\n    , keys = that._k\n    , key;\n  do {\n    if(that._i >= keys.length)return {value: undefined, done: true};\n  } while(!((key = keys[that._i++]) in that._t));\n  return {value: key, done: false};\n});\n\n$export($export.S, 'Reflect', {\n  enumerate: function enumerate(target){\n    return new Enumerate(target);\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.reflect.enumerate.js\n// module id = 1361\n// module chunks = 0","// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)\nvar gOPD     = require('./_object-gopd')\n  , $export  = require('./_export')\n  , anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n  getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey){\n    return gOPD.f(anObject(target), propertyKey);\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.reflect.get-own-property-descriptor.js\n// module id = 1362\n// module chunks = 0","// 26.1.8 Reflect.getPrototypeOf(target)\nvar $export  = require('./_export')\n  , getProto = require('./_object-gpo')\n  , anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n  getPrototypeOf: function getPrototypeOf(target){\n    return getProto(anObject(target));\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.reflect.get-prototype-of.js\n// module id = 1363\n// module chunks = 0","// 26.1.6 Reflect.get(target, propertyKey [, receiver])\nvar gOPD           = require('./_object-gopd')\n  , getPrototypeOf = require('./_object-gpo')\n  , has            = require('./_has')\n  , $export        = require('./_export')\n  , isObject       = require('./_is-object')\n  , anObject       = require('./_an-object');\n\nfunction get(target, propertyKey/*, receiver*/){\n  var receiver = arguments.length < 3 ? target : arguments[2]\n    , desc, proto;\n  if(anObject(target) === receiver)return target[propertyKey];\n  if(desc = gOPD.f(target, propertyKey))return has(desc, 'value')\n    ? desc.value\n    : desc.get !== undefined\n      ? desc.get.call(receiver)\n      : undefined;\n  if(isObject(proto = getPrototypeOf(target)))return get(proto, propertyKey, receiver);\n}\n\n$export($export.S, 'Reflect', {get: get});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.reflect.get.js\n// module id = 1364\n// module chunks = 0","// 26.1.9 Reflect.has(target, propertyKey)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', {\n  has: function has(target, propertyKey){\n    return propertyKey in target;\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.reflect.has.js\n// module id = 1365\n// module chunks = 0","// 26.1.10 Reflect.isExtensible(target)\nvar $export       = require('./_export')\n  , anObject      = require('./_an-object')\n  , $isExtensible = Object.isExtensible;\n\n$export($export.S, 'Reflect', {\n  isExtensible: function isExtensible(target){\n    anObject(target);\n    return $isExtensible ? $isExtensible(target) : true;\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.reflect.is-extensible.js\n// module id = 1366\n// module chunks = 0","// 26.1.11 Reflect.ownKeys(target)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', {ownKeys: require('./_own-keys')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.reflect.own-keys.js\n// module id = 1367\n// module chunks = 0","// 26.1.12 Reflect.preventExtensions(target)\nvar $export            = require('./_export')\n  , anObject           = require('./_an-object')\n  , $preventExtensions = Object.preventExtensions;\n\n$export($export.S, 'Reflect', {\n  preventExtensions: function preventExtensions(target){\n    anObject(target);\n    try {\n      if($preventExtensions)$preventExtensions(target);\n      return true;\n    } catch(e){\n      return false;\n    }\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.reflect.prevent-extensions.js\n// module id = 1368\n// module chunks = 0","// 26.1.14 Reflect.setPrototypeOf(target, proto)\nvar $export  = require('./_export')\n  , setProto = require('./_set-proto');\n\nif(setProto)$export($export.S, 'Reflect', {\n  setPrototypeOf: function setPrototypeOf(target, proto){\n    setProto.check(target, proto);\n    try {\n      setProto.set(target, proto);\n      return true;\n    } catch(e){\n      return false;\n    }\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.reflect.set-prototype-of.js\n// module id = 1369\n// module chunks = 0","// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])\nvar dP             = require('./_object-dp')\n  , gOPD           = require('./_object-gopd')\n  , getPrototypeOf = require('./_object-gpo')\n  , has            = require('./_has')\n  , $export        = require('./_export')\n  , createDesc     = require('./_property-desc')\n  , anObject       = require('./_an-object')\n  , isObject       = require('./_is-object');\n\nfunction set(target, propertyKey, V/*, receiver*/){\n  var receiver = arguments.length < 4 ? target : arguments[3]\n    , ownDesc  = gOPD.f(anObject(target), propertyKey)\n    , existingDescriptor, proto;\n  if(!ownDesc){\n    if(isObject(proto = getPrototypeOf(target))){\n      return set(proto, propertyKey, V, receiver);\n    }\n    ownDesc = createDesc(0);\n  }\n  if(has(ownDesc, 'value')){\n    if(ownDesc.writable === false || !isObject(receiver))return false;\n    existingDescriptor = gOPD.f(receiver, propertyKey) || createDesc(0);\n    existingDescriptor.value = V;\n    dP.f(receiver, propertyKey, existingDescriptor);\n    return true;\n  }\n  return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);\n}\n\n$export($export.S, 'Reflect', {set: set});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.reflect.set.js\n// module id = 1370\n// module chunks = 0","var global            = require('./_global')\n  , inheritIfRequired = require('./_inherit-if-required')\n  , dP                = require('./_object-dp').f\n  , gOPN              = require('./_object-gopn').f\n  , isRegExp          = require('./_is-regexp')\n  , $flags            = require('./_flags')\n  , $RegExp           = global.RegExp\n  , Base              = $RegExp\n  , proto             = $RegExp.prototype\n  , re1               = /a/g\n  , re2               = /a/g\n  // \"new\" creates a new object, old webkit buggy here\n  , CORRECT_NEW       = new $RegExp(re1) !== re1;\n\nif(require('./_descriptors') && (!CORRECT_NEW || require('./_fails')(function(){\n  re2[require('./_wks')('match')] = false;\n  // RegExp constructor can alter flags and IsRegExp works correct with @@match\n  return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';\n}))){\n  $RegExp = function RegExp(p, f){\n    var tiRE = this instanceof $RegExp\n      , piRE = isRegExp(p)\n      , fiU  = f === undefined;\n    return !tiRE && piRE && p.constructor === $RegExp && fiU ? p\n      : inheritIfRequired(CORRECT_NEW\n        ? new Base(piRE && !fiU ? p.source : p, f)\n        : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f)\n      , tiRE ? this : proto, $RegExp);\n  };\n  var proxy = function(key){\n    key in $RegExp || dP($RegExp, key, {\n      configurable: true,\n      get: function(){ return Base[key]; },\n      set: function(it){ Base[key] = it; }\n    });\n  };\n  for(var keys = gOPN(Base), i = 0; keys.length > i; )proxy(keys[i++]);\n  proto.constructor = $RegExp;\n  $RegExp.prototype = proto;\n  require('./_redefine')(global, 'RegExp', $RegExp);\n}\n\nrequire('./_set-species')('RegExp');\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.regexp.constructor.js\n// module id = 1371\n// module chunks = 0","'use strict';\nrequire('./es6.regexp.flags');\nvar anObject    = require('./_an-object')\n  , $flags      = require('./_flags')\n  , DESCRIPTORS = require('./_descriptors')\n  , TO_STRING   = 'toString'\n  , $toString   = /./[TO_STRING];\n\nvar define = function(fn){\n  require('./_redefine')(RegExp.prototype, TO_STRING, fn, true);\n};\n\n// 21.2.5.14 RegExp.prototype.toString()\nif(require('./_fails')(function(){ return $toString.call({source: 'a', flags: 'b'}) != '/a/b'; })){\n  define(function toString(){\n    var R = anObject(this);\n    return '/'.concat(R.source, '/',\n      'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);\n  });\n// FF44- RegExp#toString has a wrong name\n} else if($toString.name != TO_STRING){\n  define(function toString(){\n    return $toString.call(this);\n  });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.regexp.to-string.js\n// module id = 1372\n// module chunks = 0","'use strict';\n// B.2.3.2 String.prototype.anchor(name)\nrequire('./_string-html')('anchor', function(createHTML){\n  return function anchor(name){\n    return createHTML(this, 'a', 'name', name);\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.string.anchor.js\n// module id = 1373\n// module chunks = 0","'use strict';\n// B.2.3.3 String.prototype.big()\nrequire('./_string-html')('big', function(createHTML){\n  return function big(){\n    return createHTML(this, 'big', '', '');\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.string.big.js\n// module id = 1374\n// module chunks = 0","'use strict';\n// B.2.3.4 String.prototype.blink()\nrequire('./_string-html')('blink', function(createHTML){\n  return function blink(){\n    return createHTML(this, 'blink', '', '');\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.string.blink.js\n// module id = 1375\n// module chunks = 0","'use strict';\n// B.2.3.5 String.prototype.bold()\nrequire('./_string-html')('bold', function(createHTML){\n  return function bold(){\n    return createHTML(this, 'b', '', '');\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.string.bold.js\n// module id = 1376\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n  , $at     = require('./_string-at')(false);\n$export($export.P, 'String', {\n  // 21.1.3.3 String.prototype.codePointAt(pos)\n  codePointAt: function codePointAt(pos){\n    return $at(this, pos);\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.string.code-point-at.js\n// module id = 1377\n// module chunks = 0","// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])\n'use strict';\nvar $export   = require('./_export')\n  , toLength  = require('./_to-length')\n  , context   = require('./_string-context')\n  , ENDS_WITH = 'endsWith'\n  , $endsWith = ''[ENDS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(ENDS_WITH), 'String', {\n  endsWith: function endsWith(searchString /*, endPosition = @length */){\n    var that = context(this, searchString, ENDS_WITH)\n      , endPosition = arguments.length > 1 ? arguments[1] : undefined\n      , len    = toLength(that.length)\n      , end    = endPosition === undefined ? len : Math.min(toLength(endPosition), len)\n      , search = String(searchString);\n    return $endsWith\n      ? $endsWith.call(that, search, end)\n      : that.slice(end - search.length, end) === search;\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.string.ends-with.js\n// module id = 1378\n// module chunks = 0","'use strict';\n// B.2.3.6 String.prototype.fixed()\nrequire('./_string-html')('fixed', function(createHTML){\n  return function fixed(){\n    return createHTML(this, 'tt', '', '');\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.string.fixed.js\n// module id = 1379\n// module chunks = 0","'use strict';\n// B.2.3.7 String.prototype.fontcolor(color)\nrequire('./_string-html')('fontcolor', function(createHTML){\n  return function fontcolor(color){\n    return createHTML(this, 'font', 'color', color);\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.string.fontcolor.js\n// module id = 1380\n// module chunks = 0","'use strict';\n// B.2.3.8 String.prototype.fontsize(size)\nrequire('./_string-html')('fontsize', function(createHTML){\n  return function fontsize(size){\n    return createHTML(this, 'font', 'size', size);\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.string.fontsize.js\n// module id = 1381\n// module chunks = 0","var $export        = require('./_export')\n  , toIndex        = require('./_to-index')\n  , fromCharCode   = String.fromCharCode\n  , $fromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\n$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n  // 21.1.2.2 String.fromCodePoint(...codePoints)\n  fromCodePoint: function fromCodePoint(x){ // eslint-disable-line no-unused-vars\n    var res  = []\n      , aLen = arguments.length\n      , i    = 0\n      , code;\n    while(aLen > i){\n      code = +arguments[i++];\n      if(toIndex(code, 0x10ffff) !== code)throw RangeError(code + ' is not a valid code point');\n      res.push(code < 0x10000\n        ? fromCharCode(code)\n        : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)\n      );\n    } return res.join('');\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.string.from-code-point.js\n// module id = 1382\n// module chunks = 0","// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n'use strict';\nvar $export  = require('./_export')\n  , context  = require('./_string-context')\n  , INCLUDES = 'includes';\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(INCLUDES), 'String', {\n  includes: function includes(searchString /*, position = 0 */){\n    return !!~context(this, searchString, INCLUDES)\n      .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.string.includes.js\n// module id = 1383\n// module chunks = 0","'use strict';\n// B.2.3.9 String.prototype.italics()\nrequire('./_string-html')('italics', function(createHTML){\n  return function italics(){\n    return createHTML(this, 'i', '', '');\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.string.italics.js\n// module id = 1384\n// module chunks = 0","'use strict';\n// B.2.3.10 String.prototype.link(url)\nrequire('./_string-html')('link', function(createHTML){\n  return function link(url){\n    return createHTML(this, 'a', 'href', url);\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.string.link.js\n// module id = 1385\n// module chunks = 0","var $export   = require('./_export')\n  , toIObject = require('./_to-iobject')\n  , toLength  = require('./_to-length');\n\n$export($export.S, 'String', {\n  // 21.1.2.4 String.raw(callSite, ...substitutions)\n  raw: function raw(callSite){\n    var tpl  = toIObject(callSite.raw)\n      , len  = toLength(tpl.length)\n      , aLen = arguments.length\n      , res  = []\n      , i    = 0;\n    while(len > i){\n      res.push(String(tpl[i++]));\n      if(i < aLen)res.push(String(arguments[i]));\n    } return res.join('');\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.string.raw.js\n// module id = 1386\n// module chunks = 0","var $export = require('./_export');\n\n$export($export.P, 'String', {\n  // 21.1.3.13 String.prototype.repeat(count)\n  repeat: require('./_string-repeat')\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.string.repeat.js\n// module id = 1387\n// module chunks = 0","'use strict';\n// B.2.3.11 String.prototype.small()\nrequire('./_string-html')('small', function(createHTML){\n  return function small(){\n    return createHTML(this, 'small', '', '');\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.string.small.js\n// module id = 1388\n// module chunks = 0","// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n'use strict';\nvar $export     = require('./_export')\n  , toLength    = require('./_to-length')\n  , context     = require('./_string-context')\n  , STARTS_WITH = 'startsWith'\n  , $startsWith = ''[STARTS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(STARTS_WITH), 'String', {\n  startsWith: function startsWith(searchString /*, position = 0 */){\n    var that   = context(this, searchString, STARTS_WITH)\n      , index  = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length))\n      , search = String(searchString);\n    return $startsWith\n      ? $startsWith.call(that, search, index)\n      : that.slice(index, index + search.length) === search;\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.string.starts-with.js\n// module id = 1389\n// module chunks = 0","'use strict';\n// B.2.3.12 String.prototype.strike()\nrequire('./_string-html')('strike', function(createHTML){\n  return function strike(){\n    return createHTML(this, 'strike', '', '');\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.string.strike.js\n// module id = 1390\n// module chunks = 0","'use strict';\n// B.2.3.13 String.prototype.sub()\nrequire('./_string-html')('sub', function(createHTML){\n  return function sub(){\n    return createHTML(this, 'sub', '', '');\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.string.sub.js\n// module id = 1391\n// module chunks = 0","'use strict';\n// B.2.3.14 String.prototype.sup()\nrequire('./_string-html')('sup', function(createHTML){\n  return function sup(){\n    return createHTML(this, 'sup', '', '');\n  }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.string.sup.js\n// module id = 1392\n// module chunks = 0","'use strict';\n// 21.1.3.25 String.prototype.trim()\nrequire('./_string-trim')('trim', function($trim){\n  return function trim(){\n    return $trim(this, 3);\n  };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.string.trim.js\n// module id = 1393\n// module chunks = 0","'use strict';\nvar each         = require('./_array-methods')(0)\n  , redefine     = require('./_redefine')\n  , meta         = require('./_meta')\n  , assign       = require('./_object-assign')\n  , weak         = require('./_collection-weak')\n  , isObject     = require('./_is-object')\n  , getWeak      = meta.getWeak\n  , isExtensible = Object.isExtensible\n  , uncaughtFrozenStore = weak.ufstore\n  , tmp          = {}\n  , InternalMap;\n\nvar wrapper = function(get){\n  return function WeakMap(){\n    return get(this, arguments.length > 0 ? arguments[0] : undefined);\n  };\n};\n\nvar methods = {\n  // 23.3.3.3 WeakMap.prototype.get(key)\n  get: function get(key){\n    if(isObject(key)){\n      var data = getWeak(key);\n      if(data === true)return uncaughtFrozenStore(this).get(key);\n      return data ? data[this._i] : undefined;\n    }\n  },\n  // 23.3.3.5 WeakMap.prototype.set(key, value)\n  set: function set(key, value){\n    return weak.def(this, key, value);\n  }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')('WeakMap', wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif(new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7){\n  InternalMap = weak.getConstructor(wrapper);\n  assign(InternalMap.prototype, methods);\n  meta.NEED = true;\n  each(['delete', 'has', 'get', 'set'], function(key){\n    var proto  = $WeakMap.prototype\n      , method = proto[key];\n    redefine(proto, key, function(a, b){\n      // store frozen objects on internal weakmap shim\n      if(isObject(a) && !isExtensible(a)){\n        if(!this._f)this._f = new InternalMap;\n        var result = this._f[key](a, b);\n        return key == 'set' ? this : result;\n      // store all the rest on native weakmap\n      } return method.call(this, a, b);\n    });\n  });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es6.weak-map.js\n// module id = 1394\n// module chunks = 0","var metadata                  = require('./_metadata')\n  , anObject                  = require('./_an-object')\n  , toMetaKey                 = metadata.key\n  , ordinaryDefineOwnMetadata = metadata.set;\n\nmetadata.exp({defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey){\n  ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey));\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es7.reflect.define-metadata.js\n// module id = 1395\n// module chunks = 0","var metadata               = require('./_metadata')\n  , anObject               = require('./_an-object')\n  , toMetaKey              = metadata.key\n  , getOrCreateMetadataMap = metadata.map\n  , store                  = metadata.store;\n\nmetadata.exp({deleteMetadata: function deleteMetadata(metadataKey, target /*, targetKey */){\n  var targetKey   = arguments.length < 3 ? undefined : toMetaKey(arguments[2])\n    , metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false);\n  if(metadataMap === undefined || !metadataMap['delete'](metadataKey))return false;\n  if(metadataMap.size)return true;\n  var targetMetadata = store.get(target);\n  targetMetadata['delete'](targetKey);\n  return !!targetMetadata.size || store['delete'](target);\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es7.reflect.delete-metadata.js\n// module id = 1396\n// module chunks = 0","var Set                     = require('./es6.set')\n  , from                    = require('./_array-from-iterable')\n  , metadata                = require('./_metadata')\n  , anObject                = require('./_an-object')\n  , getPrototypeOf          = require('./_object-gpo')\n  , ordinaryOwnMetadataKeys = metadata.keys\n  , toMetaKey               = metadata.key;\n\nvar ordinaryMetadataKeys = function(O, P){\n  var oKeys  = ordinaryOwnMetadataKeys(O, P)\n    , parent = getPrototypeOf(O);\n  if(parent === null)return oKeys;\n  var pKeys  = ordinaryMetadataKeys(parent, P);\n  return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys;\n};\n\nmetadata.exp({getMetadataKeys: function getMetadataKeys(target /*, targetKey */){\n  return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es7.reflect.get-metadata-keys.js\n// module id = 1397\n// module chunks = 0","var metadata               = require('./_metadata')\n  , anObject               = require('./_an-object')\n  , getPrototypeOf         = require('./_object-gpo')\n  , ordinaryHasOwnMetadata = metadata.has\n  , ordinaryGetOwnMetadata = metadata.get\n  , toMetaKey              = metadata.key;\n\nvar ordinaryGetMetadata = function(MetadataKey, O, P){\n  var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n  if(hasOwn)return ordinaryGetOwnMetadata(MetadataKey, O, P);\n  var parent = getPrototypeOf(O);\n  return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined;\n};\n\nmetadata.exp({getMetadata: function getMetadata(metadataKey, target /*, targetKey */){\n  return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es7.reflect.get-metadata.js\n// module id = 1398\n// module chunks = 0","var metadata                = require('./_metadata')\n  , anObject                = require('./_an-object')\n  , ordinaryOwnMetadataKeys = metadata.keys\n  , toMetaKey               = metadata.key;\n\nmetadata.exp({getOwnMetadataKeys: function getOwnMetadataKeys(target /*, targetKey */){\n  return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es7.reflect.get-own-metadata-keys.js\n// module id = 1399\n// module chunks = 0","var metadata               = require('./_metadata')\n  , anObject               = require('./_an-object')\n  , ordinaryGetOwnMetadata = metadata.get\n  , toMetaKey              = metadata.key;\n\nmetadata.exp({getOwnMetadata: function getOwnMetadata(metadataKey, target /*, targetKey */){\n  return ordinaryGetOwnMetadata(metadataKey, anObject(target)\n    , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es7.reflect.get-own-metadata.js\n// module id = 1400\n// module chunks = 0","var metadata               = require('./_metadata')\n  , anObject               = require('./_an-object')\n  , getPrototypeOf         = require('./_object-gpo')\n  , ordinaryHasOwnMetadata = metadata.has\n  , toMetaKey              = metadata.key;\n\nvar ordinaryHasMetadata = function(MetadataKey, O, P){\n  var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n  if(hasOwn)return true;\n  var parent = getPrototypeOf(O);\n  return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;\n};\n\nmetadata.exp({hasMetadata: function hasMetadata(metadataKey, target /*, targetKey */){\n  return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es7.reflect.has-metadata.js\n// module id = 1401\n// module chunks = 0","var metadata               = require('./_metadata')\n  , anObject               = require('./_an-object')\n  , ordinaryHasOwnMetadata = metadata.has\n  , toMetaKey              = metadata.key;\n\nmetadata.exp({hasOwnMetadata: function hasOwnMetadata(metadataKey, target /*, targetKey */){\n  return ordinaryHasOwnMetadata(metadataKey, anObject(target)\n    , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es7.reflect.has-own-metadata.js\n// module id = 1402\n// module chunks = 0","var metadata                  = require('./_metadata')\n  , anObject                  = require('./_an-object')\n  , aFunction                 = require('./_a-function')\n  , toMetaKey                 = metadata.key\n  , ordinaryDefineOwnMetadata = metadata.set;\n\nmetadata.exp({metadata: function metadata(metadataKey, metadataValue){\n  return function decorator(target, targetKey){\n    ordinaryDefineOwnMetadata(\n      metadataKey, metadataValue,\n      (targetKey !== undefined ? anObject : aFunction)(target),\n      toMetaKey(targetKey)\n    );\n  };\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/core-js/modules/es7.reflect.metadata.js\n// module id = 1403\n// module chunks = 0","var isBuffer = require('is-buffer')\n\nmodule.exports = flatten\nflatten.flatten = flatten\nflatten.unflatten = unflatten\n\nfunction flatten (target, opts) {\n  opts = opts || {}\n\n  var delimiter = opts.delimiter || '.'\n  var maxDepth = opts.maxDepth\n  var output = {}\n\n  function step (object, prev, currentDepth) {\n    currentDepth = currentDepth || 1\n    Object.keys(object).forEach(function (key) {\n      var value = object[key]\n      var isarray = opts.safe && Array.isArray(value)\n      var type = Object.prototype.toString.call(value)\n      var isbuffer = isBuffer(value)\n      var isobject = (\n        type === '[object Object]' ||\n        type === '[object Array]'\n      )\n\n      var newKey = prev\n        ? prev + delimiter + key\n        : key\n\n      if (!isarray && !isbuffer && isobject && Object.keys(value).length &&\n        (!opts.maxDepth || currentDepth < maxDepth)) {\n        return step(value, newKey, currentDepth + 1)\n      }\n\n      output[newKey] = value\n    })\n  }\n\n  step(target)\n\n  return output\n}\n\nfunction unflatten (target, opts) {\n  opts = opts || {}\n\n  var delimiter = opts.delimiter || '.'\n  var overwrite = opts.overwrite || false\n  var result = {}\n\n  var isbuffer = isBuffer(target)\n  if (isbuffer || Object.prototype.toString.call(target) !== '[object Object]') {\n    return target\n  }\n\n  // safely ensure that the key is\n  // an integer.\n  function getkey (key) {\n    var parsedKey = Number(key)\n\n    return (\n      isNaN(parsedKey) ||\n      key.indexOf('.') !== -1 ||\n      opts.object\n    ) ? key\n      : parsedKey\n  }\n\n  var sortedKeys = Object.keys(target).sort(function (keyA, keyB) {\n    return keyA.length - keyB.length\n  })\n\n  sortedKeys.forEach(function (key) {\n    var split = key.split(delimiter)\n    var key1 = getkey(split.shift())\n    var key2 = getkey(split[0])\n    var recipient = result\n\n    while (key2 !== undefined) {\n      var type = Object.prototype.toString.call(recipient[key1])\n      var isobject = (\n        type === '[object Object]' ||\n        type === '[object Array]'\n      )\n\n      // do not write over falsey, non-undefined values if overwrite is false\n      if (!overwrite && !isobject && typeof recipient[key1] !== 'undefined') {\n        return\n      }\n\n      if ((overwrite && !isobject) || (!overwrite && recipient[key1] == null)) {\n        recipient[key1] = (\n          typeof key2 === 'number' &&\n          !opts.object ? [] : {}\n        )\n      }\n\n      recipient = recipient[key1]\n      if (split.length > 0) {\n        key1 = getkey(split.shift())\n        key2 = getkey(split[0])\n      }\n    }\n\n    // unflatten again for 'messy objects'\n    recipient[key1] = unflatten(target[key], opts)\n  })\n\n  return result\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/flat/index.js\n// module id = 1422\n// module chunks = 0","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n  var e, m\n  var eLen = (nBytes * 8) - mLen - 1\n  var eMax = (1 << eLen) - 1\n  var eBias = eMax >> 1\n  var nBits = -7\n  var i = isLE ? (nBytes - 1) : 0\n  var d = isLE ? -1 : 1\n  var s = buffer[offset + i]\n\n  i += d\n\n  e = s & ((1 << (-nBits)) - 1)\n  s >>= (-nBits)\n  nBits += eLen\n  for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n  m = e & ((1 << (-nBits)) - 1)\n  e >>= (-nBits)\n  nBits += mLen\n  for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n  if (e === 0) {\n    e = 1 - eBias\n  } else if (e === eMax) {\n    return m ? NaN : ((s ? -1 : 1) * Infinity)\n  } else {\n    m = m + Math.pow(2, mLen)\n    e = e - eBias\n  }\n  return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n  var e, m, c\n  var eLen = (nBytes * 8) - mLen - 1\n  var eMax = (1 << eLen) - 1\n  var eBias = eMax >> 1\n  var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n  var i = isLE ? 0 : (nBytes - 1)\n  var d = isLE ? 1 : -1\n  var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n  value = Math.abs(value)\n\n  if (isNaN(value) || value === Infinity) {\n    m = isNaN(value) ? 1 : 0\n    e = eMax\n  } else {\n    e = Math.floor(Math.log(value) / Math.LN2)\n    if (value * (c = Math.pow(2, -e)) < 1) {\n      e--\n      c *= 2\n    }\n    if (e + eBias >= 1) {\n      value += rt / c\n    } else {\n      value += rt * Math.pow(2, 1 - eBias)\n    }\n    if (value * c >= 2) {\n      e++\n      c /= 2\n    }\n\n    if (e + eBias >= eMax) {\n      m = 0\n      e = eMax\n    } else if (e + eBias >= 1) {\n      m = ((value * c) - 1) * Math.pow(2, mLen)\n      e = e + eBias\n    } else {\n      m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n      e = 0\n    }\n  }\n\n  for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n  e = (e << mLen) | m\n  eLen += mLen\n  for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n  buffer[offset + i - d] |= s * 128\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ieee754/index.js\n// module id = 1423\n// module chunks = 0","/*!\n * Determine if an object is a Buffer\n *\n * @author   Feross Aboukhadijeh <feross@feross.org> <http://feross.org>\n * @license  MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n  return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n  return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n  return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/is-buffer/index.js\n// module id = 1424\n// module chunks = 0","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n  return toString.call(arr) == '[object Array]';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/isarray/index.js\n// module id = 1425\n// module chunks = 0","module.exports = {\n\t\"country_phone_code_to_countries\": {\n\t\t\"1\": [\n\t\t\t\"US\",\n\t\t\t\"AG\",\n\t\t\t\"AI\",\n\t\t\t\"AS\",\n\t\t\t\"BB\",\n\t\t\t\"BM\",\n\t\t\t\"BS\",\n\t\t\t\"CA\",\n\t\t\t\"DM\",\n\t\t\t\"DO\",\n\t\t\t\"GD\",\n\t\t\t\"GU\",\n\t\t\t\"JM\",\n\t\t\t\"KN\",\n\t\t\t\"KY\",\n\t\t\t\"LC\",\n\t\t\t\"MP\",\n\t\t\t\"MS\",\n\t\t\t\"PR\",\n\t\t\t\"SX\",\n\t\t\t\"TC\",\n\t\t\t\"TT\",\n\t\t\t\"VC\",\n\t\t\t\"VG\",\n\t\t\t\"VI\"\n\t\t],\n\t\t\"7\": [\n\t\t\t\"RU\",\n\t\t\t\"KZ\"\n\t\t],\n\t\t\"20\": [\n\t\t\t\"EG\"\n\t\t],\n\t\t\"27\": [\n\t\t\t\"ZA\"\n\t\t],\n\t\t\"30\": [\n\t\t\t\"GR\"\n\t\t],\n\t\t\"31\": [\n\t\t\t\"NL\"\n\t\t],\n\t\t\"32\": [\n\t\t\t\"BE\"\n\t\t],\n\t\t\"33\": [\n\t\t\t\"FR\"\n\t\t],\n\t\t\"34\": [\n\t\t\t\"ES\"\n\t\t],\n\t\t\"36\": [\n\t\t\t\"HU\"\n\t\t],\n\t\t\"39\": [\n\t\t\t\"IT\",\n\t\t\t\"VA\"\n\t\t],\n\t\t\"40\": [\n\t\t\t\"RO\"\n\t\t],\n\t\t\"41\": [\n\t\t\t\"CH\"\n\t\t],\n\t\t\"43\": [\n\t\t\t\"AT\"\n\t\t],\n\t\t\"44\": [\n\t\t\t\"GB\",\n\t\t\t\"GG\",\n\t\t\t\"IM\",\n\t\t\t\"JE\"\n\t\t],\n\t\t\"45\": [\n\t\t\t\"DK\"\n\t\t],\n\t\t\"46\": [\n\t\t\t\"SE\"\n\t\t],\n\t\t\"47\": [\n\t\t\t\"NO\",\n\t\t\t\"SJ\"\n\t\t],\n\t\t\"48\": [\n\t\t\t\"PL\"\n\t\t],\n\t\t\"49\": [\n\t\t\t\"DE\"\n\t\t],\n\t\t\"51\": [\n\t\t\t\"PE\"\n\t\t],\n\t\t\"52\": [\n\t\t\t\"MX\"\n\t\t],\n\t\t\"53\": [\n\t\t\t\"CU\"\n\t\t],\n\t\t\"54\": [\n\t\t\t\"AR\"\n\t\t],\n\t\t\"55\": [\n\t\t\t\"BR\"\n\t\t],\n\t\t\"56\": [\n\t\t\t\"CL\"\n\t\t],\n\t\t\"57\": [\n\t\t\t\"CO\"\n\t\t],\n\t\t\"58\": [\n\t\t\t\"VE\"\n\t\t],\n\t\t\"60\": [\n\t\t\t\"MY\"\n\t\t],\n\t\t\"61\": [\n\t\t\t\"AU\",\n\t\t\t\"CC\",\n\t\t\t\"CX\"\n\t\t],\n\t\t\"62\": [\n\t\t\t\"ID\"\n\t\t],\n\t\t\"63\": [\n\t\t\t\"PH\"\n\t\t],\n\t\t\"64\": [\n\t\t\t\"NZ\"\n\t\t],\n\t\t\"65\": [\n\t\t\t\"SG\"\n\t\t],\n\t\t\"66\": [\n\t\t\t\"TH\"\n\t\t],\n\t\t\"81\": [\n\t\t\t\"JP\"\n\t\t],\n\t\t\"82\": [\n\t\t\t\"KR\"\n\t\t],\n\t\t\"84\": [\n\t\t\t\"VN\"\n\t\t],\n\t\t\"86\": [\n\t\t\t\"CN\"\n\t\t],\n\t\t\"90\": [\n\t\t\t\"TR\"\n\t\t],\n\t\t\"91\": [\n\t\t\t\"IN\"\n\t\t],\n\t\t\"92\": [\n\t\t\t\"PK\"\n\t\t],\n\t\t\"93\": [\n\t\t\t\"AF\"\n\t\t],\n\t\t\"94\": [\n\t\t\t\"LK\"\n\t\t],\n\t\t\"95\": [\n\t\t\t\"MM\"\n\t\t],\n\t\t\"98\": [\n\t\t\t\"IR\"\n\t\t],\n\t\t\"211\": [\n\t\t\t\"SS\"\n\t\t],\n\t\t\"212\": [\n\t\t\t\"MA\",\n\t\t\t\"EH\"\n\t\t],\n\t\t\"213\": [\n\t\t\t\"DZ\"\n\t\t],\n\t\t\"216\": [\n\t\t\t\"TN\"\n\t\t],\n\t\t\"218\": [\n\t\t\t\"LY\"\n\t\t],\n\t\t\"220\": [\n\t\t\t\"GM\"\n\t\t],\n\t\t\"221\": [\n\t\t\t\"SN\"\n\t\t],\n\t\t\"222\": [\n\t\t\t\"MR\"\n\t\t],\n\t\t\"223\": [\n\t\t\t\"ML\"\n\t\t],\n\t\t\"224\": [\n\t\t\t\"GN\"\n\t\t],\n\t\t\"225\": [\n\t\t\t\"CI\"\n\t\t],\n\t\t\"226\": [\n\t\t\t\"BF\"\n\t\t],\n\t\t\"227\": [\n\t\t\t\"NE\"\n\t\t],\n\t\t\"228\": [\n\t\t\t\"TG\"\n\t\t],\n\t\t\"229\": [\n\t\t\t\"BJ\"\n\t\t],\n\t\t\"230\": [\n\t\t\t\"MU\"\n\t\t],\n\t\t\"231\": [\n\t\t\t\"LR\"\n\t\t],\n\t\t\"232\": [\n\t\t\t\"SL\"\n\t\t],\n\t\t\"233\": [\n\t\t\t\"GH\"\n\t\t],\n\t\t\"234\": [\n\t\t\t\"NG\"\n\t\t],\n\t\t\"235\": [\n\t\t\t\"TD\"\n\t\t],\n\t\t\"236\": [\n\t\t\t\"CF\"\n\t\t],\n\t\t\"237\": [\n\t\t\t\"CM\"\n\t\t],\n\t\t\"238\": [\n\t\t\t\"CV\"\n\t\t],\n\t\t\"239\": [\n\t\t\t\"ST\"\n\t\t],\n\t\t\"240\": [\n\t\t\t\"GQ\"\n\t\t],\n\t\t\"241\": [\n\t\t\t\"GA\"\n\t\t],\n\t\t\"242\": [\n\t\t\t\"CG\"\n\t\t],\n\t\t\"243\": [\n\t\t\t\"CD\"\n\t\t],\n\t\t\"244\": [\n\t\t\t\"AO\"\n\t\t],\n\t\t\"245\": [\n\t\t\t\"GW\"\n\t\t],\n\t\t\"246\": [\n\t\t\t\"IO\"\n\t\t],\n\t\t\"247\": [\n\t\t\t\"AC\"\n\t\t],\n\t\t\"248\": [\n\t\t\t\"SC\"\n\t\t],\n\t\t\"249\": [\n\t\t\t\"SD\"\n\t\t],\n\t\t\"250\": [\n\t\t\t\"RW\"\n\t\t],\n\t\t\"251\": [\n\t\t\t\"ET\"\n\t\t],\n\t\t\"252\": [\n\t\t\t\"SO\"\n\t\t],\n\t\t\"253\": [\n\t\t\t\"DJ\"\n\t\t],\n\t\t\"254\": [\n\t\t\t\"KE\"\n\t\t],\n\t\t\"255\": [\n\t\t\t\"TZ\"\n\t\t],\n\t\t\"256\": [\n\t\t\t\"UG\"\n\t\t],\n\t\t\"257\": [\n\t\t\t\"BI\"\n\t\t],\n\t\t\"258\": [\n\t\t\t\"MZ\"\n\t\t],\n\t\t\"260\": [\n\t\t\t\"ZM\"\n\t\t],\n\t\t\"261\": [\n\t\t\t\"MG\"\n\t\t],\n\t\t\"262\": [\n\t\t\t\"RE\",\n\t\t\t\"YT\"\n\t\t],\n\t\t\"263\": [\n\t\t\t\"ZW\"\n\t\t],\n\t\t\"264\": [\n\t\t\t\"NA\"\n\t\t],\n\t\t\"265\": [\n\t\t\t\"MW\"\n\t\t],\n\t\t\"266\": [\n\t\t\t\"LS\"\n\t\t],\n\t\t\"267\": [\n\t\t\t\"BW\"\n\t\t],\n\t\t\"268\": [\n\t\t\t\"SZ\"\n\t\t],\n\t\t\"269\": [\n\t\t\t\"KM\"\n\t\t],\n\t\t\"290\": [\n\t\t\t\"SH\",\n\t\t\t\"TA\"\n\t\t],\n\t\t\"291\": [\n\t\t\t\"ER\"\n\t\t],\n\t\t\"297\": [\n\t\t\t\"AW\"\n\t\t],\n\t\t\"298\": [\n\t\t\t\"FO\"\n\t\t],\n\t\t\"299\": [\n\t\t\t\"GL\"\n\t\t],\n\t\t\"350\": [\n\t\t\t\"GI\"\n\t\t],\n\t\t\"351\": [\n\t\t\t\"PT\"\n\t\t],\n\t\t\"352\": [\n\t\t\t\"LU\"\n\t\t],\n\t\t\"353\": [\n\t\t\t\"IE\"\n\t\t],\n\t\t\"354\": [\n\t\t\t\"IS\"\n\t\t],\n\t\t\"355\": [\n\t\t\t\"AL\"\n\t\t],\n\t\t\"356\": [\n\t\t\t\"MT\"\n\t\t],\n\t\t\"357\": [\n\t\t\t\"CY\"\n\t\t],\n\t\t\"358\": [\n\t\t\t\"FI\",\n\t\t\t\"AX\"\n\t\t],\n\t\t\"359\": [\n\t\t\t\"BG\"\n\t\t],\n\t\t\"370\": [\n\t\t\t\"LT\"\n\t\t],\n\t\t\"371\": [\n\t\t\t\"LV\"\n\t\t],\n\t\t\"372\": [\n\t\t\t\"EE\"\n\t\t],\n\t\t\"373\": [\n\t\t\t\"MD\"\n\t\t],\n\t\t\"374\": [\n\t\t\t\"AM\"\n\t\t],\n\t\t\"375\": [\n\t\t\t\"BY\"\n\t\t],\n\t\t\"376\": [\n\t\t\t\"AD\"\n\t\t],\n\t\t\"377\": [\n\t\t\t\"MC\"\n\t\t],\n\t\t\"378\": [\n\t\t\t\"SM\"\n\t\t],\n\t\t\"380\": [\n\t\t\t\"UA\"\n\t\t],\n\t\t\"381\": [\n\t\t\t\"RS\"\n\t\t],\n\t\t\"382\": [\n\t\t\t\"ME\"\n\t\t],\n\t\t\"385\": [\n\t\t\t\"HR\"\n\t\t],\n\t\t\"386\": [\n\t\t\t\"SI\"\n\t\t],\n\t\t\"387\": [\n\t\t\t\"BA\"\n\t\t],\n\t\t\"389\": [\n\t\t\t\"MK\"\n\t\t],\n\t\t\"420\": [\n\t\t\t\"CZ\"\n\t\t],\n\t\t\"421\": [\n\t\t\t\"SK\"\n\t\t],\n\t\t\"423\": [\n\t\t\t\"LI\"\n\t\t],\n\t\t\"500\": [\n\t\t\t\"FK\"\n\t\t],\n\t\t\"501\": [\n\t\t\t\"BZ\"\n\t\t],\n\t\t\"502\": [\n\t\t\t\"GT\"\n\t\t],\n\t\t\"503\": [\n\t\t\t\"SV\"\n\t\t],\n\t\t\"504\": [\n\t\t\t\"HN\"\n\t\t],\n\t\t\"505\": [\n\t\t\t\"NI\"\n\t\t],\n\t\t\"506\": [\n\t\t\t\"CR\"\n\t\t],\n\t\t\"507\": [\n\t\t\t\"PA\"\n\t\t],\n\t\t\"508\": [\n\t\t\t\"PM\"\n\t\t],\n\t\t\"509\": [\n\t\t\t\"HT\"\n\t\t],\n\t\t\"590\": [\n\t\t\t\"GP\",\n\t\t\t\"BL\",\n\t\t\t\"MF\"\n\t\t],\n\t\t\"591\": [\n\t\t\t\"BO\"\n\t\t],\n\t\t\"592\": [\n\t\t\t\"GY\"\n\t\t],\n\t\t\"593\": [\n\t\t\t\"EC\"\n\t\t],\n\t\t\"594\": [\n\t\t\t\"GF\"\n\t\t],\n\t\t\"595\": [\n\t\t\t\"PY\"\n\t\t],\n\t\t\"596\": [\n\t\t\t\"MQ\"\n\t\t],\n\t\t\"597\": [\n\t\t\t\"SR\"\n\t\t],\n\t\t\"598\": [\n\t\t\t\"UY\"\n\t\t],\n\t\t\"599\": [\n\t\t\t\"CW\",\n\t\t\t\"BQ\"\n\t\t],\n\t\t\"670\": [\n\t\t\t\"TL\"\n\t\t],\n\t\t\"672\": [\n\t\t\t\"NF\"\n\t\t],\n\t\t\"673\": [\n\t\t\t\"BN\"\n\t\t],\n\t\t\"674\": [\n\t\t\t\"NR\"\n\t\t],\n\t\t\"675\": [\n\t\t\t\"PG\"\n\t\t],\n\t\t\"676\": [\n\t\t\t\"TO\"\n\t\t],\n\t\t\"677\": [\n\t\t\t\"SB\"\n\t\t],\n\t\t\"678\": [\n\t\t\t\"VU\"\n\t\t],\n\t\t\"679\": [\n\t\t\t\"FJ\"\n\t\t],\n\t\t\"680\": [\n\t\t\t\"PW\"\n\t\t],\n\t\t\"681\": [\n\t\t\t\"WF\"\n\t\t],\n\t\t\"682\": [\n\t\t\t\"CK\"\n\t\t],\n\t\t\"683\": [\n\t\t\t\"NU\"\n\t\t],\n\t\t\"685\": [\n\t\t\t\"WS\"\n\t\t],\n\t\t\"686\": [\n\t\t\t\"KI\"\n\t\t],\n\t\t\"687\": [\n\t\t\t\"NC\"\n\t\t],\n\t\t\"688\": [\n\t\t\t\"TV\"\n\t\t],\n\t\t\"689\": [\n\t\t\t\"PF\"\n\t\t],\n\t\t\"690\": [\n\t\t\t\"TK\"\n\t\t],\n\t\t\"691\": [\n\t\t\t\"FM\"\n\t\t],\n\t\t\"692\": [\n\t\t\t\"MH\"\n\t\t],\n\t\t\"800\": [\n\t\t\t\"001\"\n\t\t],\n\t\t\"808\": [\n\t\t\t\"001\"\n\t\t],\n\t\t\"850\": [\n\t\t\t\"KP\"\n\t\t],\n\t\t\"852\": [\n\t\t\t\"HK\"\n\t\t],\n\t\t\"853\": [\n\t\t\t\"MO\"\n\t\t],\n\t\t\"855\": [\n\t\t\t\"KH\"\n\t\t],\n\t\t\"856\": [\n\t\t\t\"LA\"\n\t\t],\n\t\t\"870\": [\n\t\t\t\"001\"\n\t\t],\n\t\t\"878\": [\n\t\t\t\"001\"\n\t\t],\n\t\t\"880\": [\n\t\t\t\"BD\"\n\t\t],\n\t\t\"881\": [\n\t\t\t\"001\"\n\t\t],\n\t\t\"882\": [\n\t\t\t\"001\"\n\t\t],\n\t\t\"883\": [\n\t\t\t\"001\"\n\t\t],\n\t\t\"886\": [\n\t\t\t\"TW\"\n\t\t],\n\t\t\"888\": [\n\t\t\t\"001\"\n\t\t],\n\t\t\"960\": [\n\t\t\t\"MV\"\n\t\t],\n\t\t\"961\": [\n\t\t\t\"LB\"\n\t\t],\n\t\t\"962\": [\n\t\t\t\"JO\"\n\t\t],\n\t\t\"963\": [\n\t\t\t\"SY\"\n\t\t],\n\t\t\"964\": [\n\t\t\t\"IQ\"\n\t\t],\n\t\t\"965\": [\n\t\t\t\"KW\"\n\t\t],\n\t\t\"966\": [\n\t\t\t\"SA\"\n\t\t],\n\t\t\"967\": [\n\t\t\t\"YE\"\n\t\t],\n\t\t\"968\": [\n\t\t\t\"OM\"\n\t\t],\n\t\t\"970\": [\n\t\t\t\"PS\"\n\t\t],\n\t\t\"971\": [\n\t\t\t\"AE\"\n\t\t],\n\t\t\"972\": [\n\t\t\t\"IL\"\n\t\t],\n\t\t\"973\": [\n\t\t\t\"BH\"\n\t\t],\n\t\t\"974\": [\n\t\t\t\"QA\"\n\t\t],\n\t\t\"975\": [\n\t\t\t\"BT\"\n\t\t],\n\t\t\"976\": [\n\t\t\t\"MN\"\n\t\t],\n\t\t\"977\": [\n\t\t\t\"NP\"\n\t\t],\n\t\t\"979\": [\n\t\t\t\"001\"\n\t\t],\n\t\t\"992\": [\n\t\t\t\"TJ\"\n\t\t],\n\t\t\"993\": [\n\t\t\t\"TM\"\n\t\t],\n\t\t\"994\": [\n\t\t\t\"AZ\"\n\t\t],\n\t\t\"995\": [\n\t\t\t\"GE\"\n\t\t],\n\t\t\"996\": [\n\t\t\t\"KG\"\n\t\t],\n\t\t\"998\": [\n\t\t\t\"UZ\"\n\t\t]\n\t},\n\t\"countries\": {\n\t\t\"AC\": [\n\t\t\t\"247\",\n\t\t\t\"[46]\\\\d{4}|[01589]\\\\d{5}\"\n\t\t],\n\t\t\"AD\": [\n\t\t\t\"376\",\n\t\t\t\"[16]\\\\d{5,8}|[37-9]\\\\d{5}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[137-9]|6[0-8]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"180\",\n\t\t\t\t\t\t\"180[02]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"690\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"AE\": [\n\t\t\t\"971\",\n\t\t\t\"[2-79]\\\\d{7,8}|800\\\\d{2,9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([2-4679])(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-4679][2-8]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(5\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"5\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([479]00)(\\\\d)(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[479]0\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([68]00)(\\\\d{2,9})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"60|8\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"AF\": [\n\t\t\t\"93\",\n\t\t\t\"[2-7]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([2-7]\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-7]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"AG\": [\n\t\t\t\"1\",\n\t\t\t\"[2589]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"268\"\n\t\t],\n\t\t\"AI\": [\n\t\t\t\"1\",\n\t\t\t\"[2589]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"264\"\n\t\t],\n\t\t\"AL\": [\n\t\t\t\"355\",\n\t\t\t\"[2-57]\\\\d{7}|6\\\\d{8}|8\\\\d{5,7}|9\\\\d{5}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(4)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"4[0-6]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(6\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"6\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2358][2-5]|4[7-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3,5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[235][16-9]|8[016-9]|[79]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"AM\": [\n\t\t\t\"374\",\n\t\t\t\"[1-9]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1|47\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"4[1349]|[5-7]|9[1-9]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[23]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8|90\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0 $1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"(0$1)\"\n\t\t],\n\t\t\"AO\": [\n\t\t\t\"244\",\n\t\t\t\"[29]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"AR\": [\n\t\t\t\"54\",\n\t\t\t\"11\\\\d{8}|[2368]\\\\d{9}|9\\\\d{10}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([68]\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[68]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(9)(11)(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$2 15-$3-$4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"911\"\n\t\t\t\t\t],\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1 $2 $3-$4\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(9)(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$2 15-$3-$4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"9(?:2[234689]|3[3-8])\",\n\t\t\t\t\t\t\"9(?:2(?:2[013]|3[067]|49|6[01346]|80|9[147-9])|3(?:36|4[1-358]|5[138]|6[24]|7[069]|8[013578]))\",\n\t\t\t\t\t\t\"9(?:2(?:2(?:0[013-9]|[13])|3(?:0[013-9]|[67])|49|6(?:[0136]|4[0-59])|8|9(?:[19]|44|7[013-9]|8[14]))|3(?:36|4(?:[12]|3[456]|[58]4)|5(?:1|3[0-24-689]|8[46])|6|7[069]|8(?:[01]|34|[578][45])))\",\n\t\t\t\t\t\t\"9(?:2(?:2(?:0[013-9]|[13])|3(?:0[013-9]|[67])|49|6(?:[0136]|4[0-59])|8|9(?:[19]|44|7[013-9]|8[14]))|3(?:36|4(?:[12]|3(?:4|5[014]|6[1239])|[58]4)|5(?:1|3[0-24-689]|8[46])|6|7[069]|8(?:[01]|34|[578][45])))\"\n\t\t\t\t\t],\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1 $2 $3-$4\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(9)(\\\\d{4})(\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$2 15-$3-$4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"9[23]\"\n\t\t\t\t\t],\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1 $2 $3-$4\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(11)(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\"\n\t\t\t\t\t],\n\t\t\t\t\tnull,\n\t\t\t\t\t\"true\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2(?:2[013]|3[067]|49|6[01346]|80|9[147-9])|3(?:36|4[1-358]|5[138]|6[24]|7[069]|8[013578])\",\n\t\t\t\t\t\t\"2(?:2(?:0[013-9]|[13])|3(?:0[013-9]|[67])|49|6(?:[0136]|4[0-59])|8|9(?:[19]|44|7[013-9]|8[14]))|3(?:36|4(?:[12]|3[456]|[58]4)|5(?:1|3[0-24-689]|8[46])|6|7[069]|8(?:[01]|34|[578][45]))\",\n\t\t\t\t\t\t\"2(?:2(?:0[013-9]|[13])|3(?:0[013-9]|[67])|49|6(?:[0136]|4[0-59])|8|9(?:[19]|44|7[013-9]|8[14]))|3(?:36|4(?:[12]|3(?:4|5[014]|6[1239])|[58]4)|5(?:1|3[0-24-689]|8[46])|6|7[069]|8(?:[01]|34|[578][45]))\"\n\t\t\t\t\t],\n\t\t\t\t\tnull,\n\t\t\t\t\t\"true\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[23]\"\n\t\t\t\t\t],\n\t\t\t\t\tnull,\n\t\t\t\t\t\"true\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\",\n\t\t\t\"0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))?15)?\",\n\t\t\t\"9$1\"\n\t\t],\n\t\t\"AS\": [\n\t\t\t\"1\",\n\t\t\t\"[5689]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"684\"\n\t\t],\n\t\t\"AT\": [\n\t\t\t\"43\",\n\t\t\t\"[1-9]\\\\d{3,12}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(116\\\\d{3})\",\n\t\t\t\t\t\"$1\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"116\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1)(\\\\d{3,12})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(5\\\\d)(\\\\d{3,5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"5[079]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(5\\\\d)(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"5[079]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(5\\\\d)(\\\\d{4})(\\\\d{4,7})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"5[079]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3,10})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"316|46|51|732|6(?:5[0-3579]|[6-9])|7(?:[28]0)|[89]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{3,9})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2|3(?:1[1-578]|[3-8])|4[2378]|5[2-6]|6(?:[12]|4[1-9]|5[468])|7(?:2[1-8]|35|4[1-8]|[5-79])\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"AU\": [\n\t\t\t\"61\",\n\t\t\t\"1\\\\d{4,9}|[2-578]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([2378])(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2378]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"(0$1)\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[45]|14\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(16)(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"16\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(16)(\\\\d{3})(\\\\d{2,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"16\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1[389]\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:[38]0|90)\",\n\t\t\t\t\t\t\"1(?:[38]00|90)\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(180)(2\\\\d{3})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"180\",\n\t\t\t\t\t\t\"1802\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(19\\\\d)(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"19[13]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(19\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"19[679]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(13)(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"13[1-9]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"[237]\\\\d{8}|8(?:[6-8]\\\\d{3}|9(?:[02-9]\\\\d{2}|1(?:[0-57-9]\\\\d|6[0135-9])))\\\\d{4}\",\n\t\t\t\t\"14(?:5\\\\d|71)\\\\d{5}|4(?:[0-3]\\\\d|4[47-9]|5[0-25-9]|6[6-9]|7[02-9]|8[147-9]|9[017-9])\\\\d{6}\",\n\t\t\t\t\"180(?:0\\\\d{3}|2)\\\\d{3}\",\n\t\t\t\t\"19(?:0[0126]\\\\d|[679])\\\\d{5}\",\n\t\t\t\t\"500\\\\d{6}\",\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\t\"16\\\\d{3,7}\",\n\t\t\t\t\"550\\\\d{6}\",\n\t\t\t\t\"13(?:00\\\\d{3}|45[0-4]|\\\\d)\\\\d{3}\"\n\t\t\t]\n\t\t],\n\t\t\"AW\": [\n\t\t\t\"297\",\n\t\t\t\"[25-9]\\\\d{6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"AX\": [\n\t\t\t\"358\",\n\t\t\t\"[15]\\\\d{6,9}|2\\\\d{4,9}|3\\\\d{5,9}|4\\\\d{7,10}|[67]\\\\d{7,9}|8\\\\d{7,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3,7})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"(?:[1-3]00|[6-8]0)\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(116\\\\d{3})\",\n\t\t\t\t\t\"$1\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"116\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3,9})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:0[1-9]|[3-9])|2(?:0[1-9]|9)|30[1-9]|4|50|7(?:[13]|5[03-9])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{5,9})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[235689][1-8]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(39\\\\d)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"39\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"18[1-8]\\\\d{4,6}\",\n\t\t\t\t\"4(?:[0-8]\\\\d{6,8}|9\\\\d{9})|50\\\\d{6,8}\",\n\t\t\t\t\"800\\\\d{5,6}\",\n\t\t\t\t\"[67]00\\\\d{5,6}\",\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\t\"10(?:0\\\\d{4,6}|[1-9]\\\\d{5,7})|2(?:0(?:0\\\\d{4,6}|[13-8]\\\\d{5,7}|2(?:[023]\\\\d{4,5}|[14-9]\\\\d{4,6})|9(?:[0-7]\\\\d{4,6}|[89]\\\\d{1,6}))|9\\\\d{6,8})|3(?:0(?:0\\\\d{3,7}|[1-57-9]\\\\d{5,7}|6(?:\\\\d{3}|\\\\d{5,7}))|93\\\\d{5,7})|60(?:[12]\\\\d{5,6}|6\\\\d{7})|7(?:1\\\\d{7}|3\\\\d{8}|5[03-9]\\\\d{5,6})\"\n\t\t\t]\n\t\t],\n\t\t\"AZ\": [\n\t\t\t\"994\",\n\t\t\t\"[1-9]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"(?:1[28]|2(?:[45]2|[0-36])|365)\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[4-8]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"9\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"(0$1)\"\n\t\t],\n\t\t\"BA\": [\n\t\t\t\"387\",\n\t\t\t\"[3-9]\\\\d{7,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[3-5]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"6[1-356]|[7-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"6[047]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"BB\": [\n\t\t\t\"1\",\n\t\t\t\"[2589]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"246\"\n\t\t],\n\t\t\"BD\": [\n\t\t\t\"880\",\n\t\t\t\"[2-79]\\\\d{5,9}|1\\\\d{9}|8[0-7]\\\\d{4,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(2)(\\\\d{7,8})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{4,6})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[3-79]1\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{3,6})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1|3(?:0|[2-58]2)|4(?:0|[25]2|3[23]|[4689][25])|5(?:[02-578]2|6[25])|6(?:[0347-9]2|[26][25])|7[02-9]2|8(?:[023][23]|[4-7]2)|9(?:[02][23]|[458]2|6[016])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3,7})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[3-79][2-9]|8\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"BE\": [\n\t\t\t\"32\",\n\t\t\t\"[1-9]\\\\d{7,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"4[6-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[23]|4[23]|9[2-4]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[156]|7[018]|8(?:0[1-9]|[1-79])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"(?:80|9)0\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"BF\": [\n\t\t\t\"226\",\n\t\t\t\"[25-7]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"BG\": [\n\t\t\t\"359\",\n\t\t\t\"[23567]\\\\d{5,7}|[489]\\\\d{6,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(2)(\\\\d)(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(2)(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"43[124-7]|70[1-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"43[124-7]|70[1-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[78]00\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"999\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"48|8[7-9]|9[08]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"BH\": [\n\t\t\t\"973\",\n\t\t\t\"[136-9]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"BI\": [\n\t\t\t\"257\",\n\t\t\t\"[267]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"BJ\": [\n\t\t\t\"229\",\n\t\t\t\"[2689]\\\\d{7}|7\\\\d{3}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"BL\": [\n\t\t\t\"590\",\n\t\t\t\"[56]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([56]90)(\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"590(?:2[7-9]|5[12]|87)\\\\d{4}\",\n\t\t\t\t\"690(?:0[05-9]|[1-9]\\\\d)\\\\d{4}\"\n\t\t\t]\n\t\t],\n\t\t\"BM\": [\n\t\t\t\"1\",\n\t\t\t\"[4589]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"441\"\n\t\t],\n\t\t\"BN\": [\n\t\t\t\"673\",\n\t\t\t\"[2-578]\\\\d{6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([2-578]\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"BO\": [\n\t\t\t\"591\",\n\t\t\t\"[23467]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([234])(\\\\d{7})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[234]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([67]\\\\d{7})\",\n\t\t\t\t\t\"$1\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[67]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\tnull,\n\t\t\t\"0(1\\\\d)?\"\n\t\t],\n\t\t\"BQ\": [\n\t\t\t\"599\",\n\t\t\t\"[347]\\\\d{6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[13-7]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(9)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"9\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"(?:318[023]|41(?:6[023]|70)|7(?:1[578]|50)\\\\d)\\\\d{3}\",\n\t\t\t\t\"(?:31(?:8[14-8]|9[14578])|416[145-9]|7(?:0[01]|7[07]|8\\\\d|9[056])\\\\d)\\\\d{3}\"\n\t\t\t]\n\t\t],\n\t\t\"BR\": [\n\t\t\t\"55\",\n\t\t\t\"[1-46-9]\\\\d{7,10}|5(?:[0-4]\\\\d{7,9}|5(?:[2-8]\\\\d{7}|9\\\\d{7,8}))\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"(?:300|40[02])\",\n\t\t\t\t\t\t\"(?:300|40(?:0|20))\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([3589]00)(\\\\d{2,3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[3589]00\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[1-9][1-9]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"($1)\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{5})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[1-9][1-9]9\"\n\t\t\t\t\t],\n\t\t\t\t\t\"($1)\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\tnull,\n\t\t\t\"0(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\\\d{10,11}))?\",\n\t\t\t\"$2\"\n\t\t],\n\t\t\"BS\": [\n\t\t\t\"1\",\n\t\t\t\"[2589]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"242\"\n\t\t],\n\t\t\"BT\": [\n\t\t\t\"975\",\n\t\t\t\"[1-8]\\\\d{6,7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1|77\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([2-8])(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-68]|7[246]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"BW\": [\n\t\t\t\"267\",\n\t\t\t\"[2-79]\\\\d{6,7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-6]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(7\\\\d)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"7\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(90)(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"9\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"BY\": [\n\t\t\t\"375\",\n\t\t\t\"[1-4]\\\\d{8}|800\\\\d{3,7}|[89]\\\\d{9,10}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2-$3-$4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"17[0-3589]|2[4-9]|[34]\",\n\t\t\t\t\t\t\"17(?:[02358]|1[0-2]|9[0189])|2[4-9]|[34]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"8 0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2-$3-$4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:5[24]|6[235]|7[467])|2(?:1[246]|2[25]|3[26])\",\n\t\t\t\t\t\t\"1(?:5[24]|6(?:2|3[04-9]|5[0346-9])|7(?:[46]|7[37-9]))|2(?:1[246]|2[25]|3[26])\"\n\t\t\t\t\t],\n\t\t\t\t\t\"8 0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])\",\n\t\t\t\t\t\t\"1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])\"\n\t\t\t\t\t],\n\t\t\t\t\t\"8 0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([89]\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8[01]|9\"\n\t\t\t\t\t],\n\t\t\t\t\t\"8 $1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(82\\\\d)(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"82\"\n\t\t\t\t\t],\n\t\t\t\t\t\"8 $1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(800)(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"800\"\n\t\t\t\t\t],\n\t\t\t\t\t\"8 $1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(800)(\\\\d{2})(\\\\d{2,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"800\"\n\t\t\t\t\t],\n\t\t\t\t\t\"8 $1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"8\",\n\t\t\tnull,\n\t\t\t\"8?0?\"\n\t\t],\n\t\t\"BZ\": [\n\t\t\t\"501\",\n\t\t\t\"[2-8]\\\\d{6}|0\\\\d{10}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-8]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(0)(800)(\\\\d{4})(\\\\d{3})\",\n\t\t\t\t\t\"$1-$2-$3-$4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"0\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"CA\": [\n\t\t\t\"1\",\n\t\t\t\"[2-9]\\\\d{9}|3\\\\d{6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"(?:2(?:04|[23]6|[48]9|50)|3(?:06|43|65)|4(?:03|1[68]|3[178]|50)|5(?:06|1[49]|48|79|8[17])|6(?:0[04]|13|22|39|47)|7(?:0[59]|78|8[02])|8(?:[06]7|19|25|73)|90[25])[2-9]\\\\d{6}|310\\\\d{4}\",\n\t\t\t\t\"(?:2(?:04|[23]6|[48]9|50)|3(?:06|43|65)|4(?:03|1[68]|3[178]|50)|5(?:06|1[49]|48|79|8[17])|6(?:0[04]|13|22|39|47)|7(?:0[59]|78|8[02])|8(?:[06]7|19|25|73)|90[25])[2-9]\\\\d{6}\",\n\t\t\t\t\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}|310\\\\d{4}\",\n\t\t\t\t\"900[2-9]\\\\d{6}\",\n\t\t\t\t\"5(?:00|22|33|44|66|77|88)[2-9]\\\\d{6}\"\n\t\t\t]\n\t\t],\n\t\t\"CC\": [\n\t\t\t\"61\",\n\t\t\t\"[1458]\\\\d{5,9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([2378])(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2378]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"(0$1)\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[45]|14\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(16)(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"16\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(16)(\\\\d{3})(\\\\d{2,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"16\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1[389]\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:[38]0|90)\",\n\t\t\t\t\t\t\"1(?:[38]00|90)\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(180)(2\\\\d{3})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"180\",\n\t\t\t\t\t\t\"1802\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(19\\\\d)(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"19[13]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(19\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"19[679]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(13)(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"13[1-9]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"89162\\\\d{4}\",\n\t\t\t\t\"14(?:5\\\\d|71)\\\\d{5}|4(?:[0-2]\\\\d|3[0-57-9]|4[47-9]|5[0-25-9]|6[6-9]|7[02-9]|8[147-9]|9[017-9])\\\\d{6}\",\n\t\t\t\t\"180(?:0\\\\d{3}|2)\\\\d{3}\",\n\t\t\t\t\"190[0126]\\\\d{6}\",\n\t\t\t\t\"500\\\\d{6}\",\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\t\"550\\\\d{6}\",\n\t\t\t\t\"13(?:00\\\\d{2})?\\\\d{4}\"\n\t\t\t]\n\t\t],\n\t\t\"CD\": [\n\t\t\t\"243\",\n\t\t\t\"[2-6]\\\\d{6}|[18]\\\\d{6,8}|9\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"12\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([89]\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8[0-2459]|9\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"88\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[1-6]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"CF\": [\n\t\t\t\"236\",\n\t\t\t\"[278]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"CG\": [\n\t\t\t\"242\",\n\t\t\t\"[028]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"801\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[02]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"800\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"CH\": [\n\t\t\t\"41\",\n\t\t\t\"[2-9]\\\\d{8}|860\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([2-9]\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-7]|[89]1\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([89]\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8[047]|90\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4 $5\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"860\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"CI\": [\n\t\t\t\"225\",\n\t\t\t\"[02-8]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"CK\": [\n\t\t\t\"682\",\n\t\t\t\"[2-8]\\\\d{4}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"CL\": [\n\t\t\t\"56\",\n\t\t\t\"(?:[2-9]|600|123)\\\\d{7,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2[23]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"($1)\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[357]|4[1-35]|6[13-57]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"($1)\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(9)(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"9\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(44)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"44\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([68]00)(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"60|8\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(600)(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"60\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1230)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{5})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"219\"\n\t\t\t\t\t],\n\t\t\t\t\t\"($1)\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\",\n\t\t\t\"0|(1(?:1[0-69]|2[0-57]|5[13-58]|69|7[0167]|8[018]))\"\n\t\t],\n\t\t\"CM\": [\n\t\t\t\"237\",\n\t\t\t\"[2368]\\\\d{7,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([26])(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4 $5\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[26]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[23]|88\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"CN\": [\n\t\t\t\"86\",\n\t\t\t\"[1-7]\\\\d{6,11}|8[0-357-9]\\\\d{6,9}|9\\\\d{7,10}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(80\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"80[2678]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\",\n\t\t\t\t\t\"true\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([48]00)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[48]00\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{5,6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"(?:10|2\\\\d)[19]\",\n\t\t\t\t\t\t\"(?:10|2\\\\d)(?:10|9[56])\",\n\t\t\t\t\t\t\"(?:10|2\\\\d)(?:100|9[56])\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{5,6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[3-9]\",\n\t\t\t\t\t\t\"[3-9]\\\\d{2}[19]\",\n\t\t\t\t\t\t\"[3-9]\\\\d{2}(?:10|9[56])\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(21)(\\\\d{4})(\\\\d{4,6})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"21\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\",\n\t\t\t\t\t\"true\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([12]\\\\d)(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"10[1-9]|2[02-9]\",\n\t\t\t\t\t\t\"10[1-9]|2[02-9]\",\n\t\t\t\t\t\t\"10(?:[1-79]|8(?:[1-9]|0[1-9]))|2[02-9]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\",\n\t\t\t\t\t\"true\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"3(?:1[02-9]|35|49|5|7[02-68]|9[1-68])|4(?:1[02-9]|2[179]|[35][2-9]|6[4789]|7\\\\d|8[23])|5(?:3[03-9]|4[36]|5[02-9]|6[1-46]|7[028]|80|9[2-46-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[04-9]|4[3-6]|6[2368])|8(?:1[236-8]|2[5-7]|3|5[1-9]|7[02-9]|8[3678]|9[1-7])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\",\n\t\t\t\t\t\"true\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"3(?:11|7[179])|4(?:[15]1|3[1-35])|5(?:1|2[37]|3[12]|51|7[13-79]|9[15])|7(?:31|5[457]|6[09]|91)|8(?:[57]1|98)\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\",\n\t\t\t\t\t\"true\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"807\",\n\t\t\t\t\t\t\"8078\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\",\n\t\t\t\t\t\"true\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1[3-578]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(10800)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"108\",\n\t\t\t\t\t\t\"1080\",\n\t\t\t\t\t\t\"10800\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{7,8})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"950\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\tnull,\n\t\t\t\"(1(?:[129]\\\\d{3}|79\\\\d{2}))|0\"\n\t\t],\n\t\t\"CO\": [\n\t\t\t\"57\",\n\t\t\t\"(?:[13]\\\\d{0,3}|[24-8])\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{7})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:8[2-9]|9[0-3]|[2-7])|[24-8]\",\n\t\t\t\t\t\t\"1(?:8[2-9]|9(?:09|[1-3])|[2-7])|[24-8]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"($1)\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{7})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"3\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1)(\\\\d{3})(\\\\d{7})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:80|9[04])\",\n\t\t\t\t\t\t\"1(?:800|9(?:0[01]|4[78]))\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\",\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1 $2 $3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\tnull,\n\t\t\t\"0([3579]|4(?:44|56))?\"\n\t\t],\n\t\t\"CR\": [\n\t\t\t\"506\",\n\t\t\t\"[24-9]\\\\d{7,9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[24-7]|8[3-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[89]0\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"(19(?:0[012468]|1[09]|20|66|77|99))\"\n\t\t],\n\t\t\"CU\": [\n\t\t\t\"53\",\n\t\t\t\"[2-57]\\\\d{5,7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{6,7})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"7\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{4,6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-4]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{7})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"5\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"(0$1)\"\n\t\t],\n\t\t\"CV\": [\n\t\t\t\"238\",\n\t\t\t\"[259]\\\\d{6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"CW\": [\n\t\t\t\"599\",\n\t\t\t\"[169]\\\\d{6,7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[13-7]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(9)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"9\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"9(?:[48]\\\\d{2}|50\\\\d|7(?:2[0-24]|[34]\\\\d|6[35-7]|77|8[7-9]))\\\\d{4}\",\n\t\t\t\t\"9(?:5(?:[12467]\\\\d|3[01])|6(?:[15-9]\\\\d|3[01]))\\\\d{4}\",\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\t\"955\\\\d{5}\",\n\t\t\t\tnull,\n\t\t\t\t\"60[0-2]\\\\d{4}\"\n\t\t\t]\n\t\t],\n\t\t\"CX\": [\n\t\t\t\"61\",\n\t\t\t\"[1458]\\\\d{5,9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([2378])(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2378]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"(0$1)\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[45]|14\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(16)(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"16\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(16)(\\\\d{3})(\\\\d{2,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"16\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1[389]\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:[38]0|90)\",\n\t\t\t\t\t\t\"1(?:[38]00|90)\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(180)(2\\\\d{3})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"180\",\n\t\t\t\t\t\t\"1802\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(19\\\\d)(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"19[13]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(19\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"19[679]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(13)(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"13[1-9]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"89164\\\\d{4}\",\n\t\t\t\t\"14(?:5\\\\d|71)\\\\d{5}|4(?:[0-2]\\\\d|3[0-57-9]|4[47-9]|5[0-25-9]|6[6-9]|7[02-9]|8[147-9]|9[017-9])\\\\d{6}\",\n\t\t\t\t\"180(?:0\\\\d{3}|2)\\\\d{3}\",\n\t\t\t\t\"190[0126]\\\\d{6}\",\n\t\t\t\t\"500\\\\d{6}\",\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\t\"550\\\\d{6}\",\n\t\t\t\t\"13(?:00\\\\d{2})?\\\\d{4}\"\n\t\t\t]\n\t\t],\n\t\t\"CY\": [\n\t\t\t\"357\",\n\t\t\t\"[257-9]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"CZ\": [\n\t\t\t\"420\",\n\t\t\t\"[2-8]\\\\d{8}|9\\\\d{8,11}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([2-9]\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-8]|9[015-7]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(96\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"96\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(9\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"9[36]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"DE\": [\n\t\t\t\"49\",\n\t\t\t\"[1-35-9]\\\\d{3,14}|4(?:[0-8]\\\\d{3,12}|9(?:[0-37]\\\\d|4(?:[1-35-8]|4\\\\d?)|5\\\\d{1,2}|6[1-8]\\\\d?)\\\\d{2,8})\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(1\\\\d{2})(\\\\d{7,8})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1[67]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(15\\\\d{3})(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"15[0568]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1\\\\d{3})(\\\\d{7})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"15\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3,11})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"3[02]|40|[68]9\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3,11})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2(?:\\\\d1|0[2389]|1[24]|28|34)|3(?:[3-9][15]|40)|[4-8][1-9]1|9(?:06|[1-9]1)\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{2,11})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[24-6]|[7-9](?:\\\\d[1-9]|[1-9]\\\\d)|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])\",\n\t\t\t\t\t\t\"[24-6]|[7-9](?:\\\\d[1-9]|[1-9]\\\\d)|3(?:3(?:0[1-467]|2[127-9]|3[124578]|[46][1246]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|3[1357]|4[13578]|6[1246]|7[1356]|9[1346])|5(?:0[14]|2[1-3589]|3[1357]|4[1246]|6[1-4]|7[1346]|8[13568]|9[1246])|6(?:0[356]|2[1-489]|3[124-6]|4[1347]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|3[1357]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|4[1347]|6[0135-9]|7[1467]|8[136])|9(?:0[12479]|2[1358]|3[1357]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(3\\\\d{4})(\\\\d{1,10})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"3\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(800)(\\\\d{7,12})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"800\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d)(\\\\d{4,10})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"(?:18|90)0|137\",\n\t\t\t\t\t\t\"1(?:37|80)|900[1359]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1\\\\d{2})(\\\\d{5,11})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"181\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(18\\\\d{3})(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"185\",\n\t\t\t\t\t\t\"1850\",\n\t\t\t\t\t\t\"18500\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(18\\\\d{2})(\\\\d{7})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"18[68]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(18\\\\d)(\\\\d{8})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"18[2-579]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(700)(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"700\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(138)(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"138\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(15[013-68])(\\\\d{2})(\\\\d{8})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"15[013-68]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(15[279]\\\\d)(\\\\d{2})(\\\\d{7})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"15[279]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1[67]\\\\d)(\\\\d{2})(\\\\d{7,8})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:6[023]|7)\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"DJ\": [\n\t\t\t\"253\",\n\t\t\t\"[27]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"DK\": [\n\t\t\t\"45\",\n\t\t\t\"[2-9]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"DM\": [\n\t\t\t\"1\",\n\t\t\t\"[57-9]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"767\"\n\t\t],\n\t\t\"DO\": [\n\t\t\t\"1\",\n\t\t\t\"[589]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"8[024]9\"\n\t\t],\n\t\t\"DZ\": [\n\t\t\t\"213\",\n\t\t\t\"(?:[1-4]|[5-9]\\\\d)\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([1-4]\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[1-4]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([5-8]\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[5-8]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(9\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"9\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"EC\": [\n\t\t\t\"593\",\n\t\t\t\"1\\\\d{9,10}|[2-8]\\\\d{7}|9\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[247]|[356][2-8]\"\n\t\t\t\t\t],\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"9\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1800)(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"(0$1)\"\n\t\t],\n\t\t\"EE\": [\n\t\t\t\"372\",\n\t\t\t\"1\\\\d{3,4}|[3-9]\\\\d{6,7}|800\\\\d{6,7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([3-79]\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]\",\n\t\t\t\t\t\t\"[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(70)(\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"70\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(8000)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"800\",\n\t\t\t\t\t\t\"8000\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([458]\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"40|5|8(?:00|[1-5])\",\n\t\t\t\t\t\t\"40|5|8(?:00[1-9]|[1-5])\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"EG\": [\n\t\t\t\"20\",\n\t\t\t\"1\\\\d{4,9}|[2456]\\\\d{8}|3\\\\d{7}|[89]\\\\d{8,9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{7,8})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[23]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1[012]|[89]00\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{6,7})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1[35]|[4-6]|[89][2-9]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"EH\": [\n\t\t\t\"212\",\n\t\t\t\"[5-9]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([5-7]\\\\d{2})(\\\\d{6})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"5(?:2[015-7]|3[0-4])|[67]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([58]\\\\d{3})(\\\\d{5})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"5(?:2[2-489]|3[5-9]|92)|892\",\n\t\t\t\t\t\t\"5(?:2(?:[2-48]|9[0-7])|3(?:[5-79]|8[0-7])|924)|892\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(5\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"5(?:29|38)\",\n\t\t\t\t\t\t\"5(?:29|38)[89]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([5]\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"5(?:4[067]|5[03])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(8[09])(\\\\d{7})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8(?:0|9[013-9])\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"528[89]\"\n\t\t],\n\t\t\"ER\": [\n\t\t\t\"291\",\n\t\t\t\"[178]\\\\d{6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"ES\": [\n\t\t\t\"34\",\n\t\t\t\"[5-9]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([89]00)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[89]00\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([5-9]\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[568]|[79][0-8]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"ET\": [\n\t\t\t\"251\",\n\t\t\t\"[1-59]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([1-59]\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"FI\": [\n\t\t\t\"358\",\n\t\t\t\"[16]\\\\d{6,9}|2\\\\d{4,9}|[35]\\\\d{5,9}|4\\\\d{7,10}|7\\\\d{7,9}|[89]\\\\d{6,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3,7})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"(?:[1-3]00|[6-8]0)\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(116\\\\d{3})\",\n\t\t\t\t\t\"$1\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"116\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3,9})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:0[1-9]|[3-9])|2(?:0[1-9]|9)|30[1-9]|4|50|7(?:[13]|5[03-9])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{5,9})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[235689][1-8]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(39\\\\d)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"39\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"1[3-79][1-8]\\\\d{4,6}|[235689][1-8]\\\\d{5,7}\",\n\t\t\t\t\"4(?:[0-8]\\\\d{6,8}|9\\\\d{9})|50\\\\d{4,8}\",\n\t\t\t\t\"800\\\\d{5,6}\",\n\t\t\t\t\"[67]00\\\\d{5,6}\",\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\t\"10(?:0\\\\d{4,6}|[1-9]\\\\d{5,7})|2(?:0(?:0\\\\d{4,6}|[13-8]\\\\d{5,7}|2(?:[023]\\\\d{4,5}|[14-9]\\\\d{4,6})|9(?:[0-7]\\\\d{4,6}|[89]\\\\d{1,6}))|9\\\\d{6,8})|3(?:0(?:0\\\\d{3,7}|[1-57-9]\\\\d{5,7}|6(?:\\\\d{3}|\\\\d{5,7}))|93\\\\d{5,7})|60(?:[12]\\\\d{5,6}|6\\\\d{7})|7(?:1\\\\d{7}|3\\\\d{8}|5[03-9]\\\\d{5,6})\"\n\t\t\t]\n\t\t],\n\t\t\"FJ\": [\n\t\t\t\"679\",\n\t\t\t\"[35-9]\\\\d{6}|0\\\\d{10}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[35-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"0\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"FK\": [\n\t\t\t\"500\",\n\t\t\t\"[2-7]\\\\d{4}\"\n\t\t],\n\t\t\"FM\": [\n\t\t\t\"691\",\n\t\t\t\"[39]\\\\d{6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"FO\": [\n\t\t\t\"298\",\n\t\t\t\"[2-9]\\\\d{5}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{6})\",\n\t\t\t\t\t\"$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"(10(?:01|[12]0|88))\"\n\t\t],\n\t\t\"FR\": [\n\t\t\t\"33\",\n\t\t\t\"[1-9]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([1-79])(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4 $5\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[1-79]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(8\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0 $1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"GA\": [\n\t\t\t\"241\",\n\t\t\t\"0?\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-7]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"0\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"GB\": [\n\t\t\t\"44\",\n\t\t\t\"\\\\d{7,10}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(7\\\\d{3})(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"7(?:[1-57-9]|62)\",\n\t\t\t\t\t\t\"7(?:[1-57-9]|624)\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2|5[56]|7[06]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:1|\\\\d1)|3|9[018]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{5})(\\\\d{4,5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:38|5[23]|69|76|94)\",\n\t\t\t\t\t\t\"1(?:387|5(?:24|39)|697|768|946)\",\n\t\t\t\t\t\t\"1(?:3873|5(?:242|39[456])|697[347]|768[347]|9467)\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1\\\\d{3})(\\\\d{5,6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(800)(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"800\",\n\t\t\t\t\t\t\"8001\",\n\t\t\t\t\t\t\"80011\",\n\t\t\t\t\t\t\"800111\",\n\t\t\t\t\t\t\"8001111\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(845)(46)(4\\\\d)\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"845\",\n\t\t\t\t\t\t\"8454\",\n\t\t\t\t\t\t\"84546\",\n\t\t\t\t\t\t\"845464\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(8\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8(?:4[2-5]|7[0-3])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(80\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"80\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([58]00)(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[58]00\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"2(?:0[01378]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\\\d{7}|1(?:1(?:3[0-48]|[46][0-4]|5[0-26-9]|[78][0-49])|21[0-7]|31[0-8]|[4-69]1\\\\d)\\\\d{6}|1(?:2(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\\\d)|3(?:0\\\\d|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[28][02-57-9]|[37]\\\\d|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|2[024-9]|3[015689]|4[02-9]|5[03-9]|6\\\\d|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0124578])|7(?:0[0246-9]|2\\\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\\\d|8[02-9]|9[02569])|9(?:0[02-589]|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|8\\\\d|9[2-57]))\\\\d{6}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[345])))|3(?:638[2-5]|647[23]|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[123]))|5(?:24(?:3[2-79]|6\\\\d)|276\\\\d|6(?:26[06-9]|686))|6(?:06(?:4\\\\d|7[4-79])|295[567]|35[34]\\\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|955[0-4])|7(?:26(?:6[13-9]|7[0-7])|442\\\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\\\d|37(?:5[2-5]|8[239])|84(?:3[2-58]))|9(?:0(?:0(?:6[1-8]|85)|52\\\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\\\d{3}|176888[2-46-8]\\\\d{2}|16977[23]\\\\d{3}\",\n\t\t\t\t\"7(?:[1-3]\\\\d{3}|4(?:[0-46-9]\\\\d{2}|5(?:[0-689]\\\\d|7[0-57-9]))|5(?:0[0-8]|[13-9]\\\\d|2[0-35-9])\\\\d|7(?:0(?:0[01]|[1-9]\\\\d)|[1-7]\\\\d{2}|8[02-9]\\\\d|9[0-689]\\\\d)|8(?:[014-9]\\\\d|[23][0-8])\\\\d|9(?:[024-9]\\\\d{2}|1(?:[02-9]\\\\d|1[028])|3[0-689]\\\\d))\\\\d{5}\",\n\t\t\t\t\"80(?:0(?:1111|\\\\d{6,7})|8\\\\d{7})|500\\\\d{6}\",\n\t\t\t\t\"(?:87[123]|9(?:[01]\\\\d|8[2349]))\\\\d{7}\",\n\t\t\t\t\"70\\\\d{8}\",\n\t\t\t\tnull,\n\t\t\t\t\"(?:3[0347]|55)\\\\d{8}\",\n\t\t\t\t\"76(?:0[012]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\\\d{6}\",\n\t\t\t\t\"56\\\\d{8}\",\n\t\t\t\t\"8(?:4(?:5464\\\\d|[2-5]\\\\d{7})|70\\\\d{7})\"\n\t\t\t]\n\t\t],\n\t\t\"GD\": [\n\t\t\t\"1\",\n\t\t\t\"[4589]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"473\"\n\t\t],\n\t\t\"GE\": [\n\t\t\t\"995\",\n\t\t\t\"[34578]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[348]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"7\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"5\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\"\n\t\t],\n\t\t\"GF\": [\n\t\t\t\"594\",\n\t\t\t\"[56]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"GG\": [\n\t\t\t\"44\",\n\t\t\t\"[135789]\\\\d{6,9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(7\\\\d{3})(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"7(?:[1-57-9]|62)\",\n\t\t\t\t\t\t\"7(?:[1-57-9]|624)\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2|5[56]|7[06]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:1|\\\\d1)|3|9[018]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{5})(\\\\d{4,5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:38|5[23]|69|76|94)\",\n\t\t\t\t\t\t\"1(?:387|5(?:24|39)|697|768|946)\",\n\t\t\t\t\t\t\"1(?:3873|5(?:242|39[456])|697[347]|768[347]|9467)\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1\\\\d{3})(\\\\d{5,6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(800)(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"800\",\n\t\t\t\t\t\t\"8001\",\n\t\t\t\t\t\t\"80011\",\n\t\t\t\t\t\t\"800111\",\n\t\t\t\t\t\t\"8001111\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(845)(46)(4\\\\d)\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"845\",\n\t\t\t\t\t\t\"8454\",\n\t\t\t\t\t\t\"84546\",\n\t\t\t\t\t\t\"845464\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(8\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8(?:4[2-5]|7[0-3])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(80\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"80\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([58]00)(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[58]00\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"1481[25-9]\\\\d{5}\",\n\t\t\t\t\"7(?:781\\\\d|839\\\\d|911[17])\\\\d{5}\",\n\t\t\t\t\"80(?:0(?:1111|\\\\d{6,7})|8\\\\d{7})|500\\\\d{6}\",\n\t\t\t\t\"(?:87[123]|9(?:[01]\\\\d|8[0-3]))\\\\d{7}\",\n\t\t\t\t\"70\\\\d{8}\",\n\t\t\t\tnull,\n\t\t\t\t\"(?:3[0347]|55)\\\\d{8}\",\n\t\t\t\t\"76(?:0[012]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\\\d{6}\",\n\t\t\t\t\"56\\\\d{8}\",\n\t\t\t\t\"8(?:4(?:5464\\\\d|[2-5]\\\\d{7})|70\\\\d{7})\"\n\t\t\t]\n\t\t],\n\t\t\"GH\": [\n\t\t\t\"233\",\n\t\t\t\"[235]\\\\d{8}|8\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[235]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"GI\": [\n\t\t\t\"350\",\n\t\t\t\"[256]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"GL\": [\n\t\t\t\"299\",\n\t\t\t\"[1-689]\\\\d{5}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"GM\": [\n\t\t\t\"220\",\n\t\t\t\"[2-9]\\\\d{6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"GN\": [\n\t\t\t\"224\",\n\t\t\t\"[367]\\\\d{7,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"3\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[67]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"GP\": [\n\t\t\t\"590\",\n\t\t\t\"[56]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([56]90)(\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"590(?:0[13468]|1[012]|2[0-68]|3[28]|4[0-8]|5[579]|6[0189]|70|8[0-689]|9\\\\d)\\\\d{4}\",\n\t\t\t\t\"690(?:0[05-9]|[1-9]\\\\d)\\\\d{4}\"\n\t\t\t]\n\t\t],\n\t\t\"GQ\": [\n\t\t\t\"240\",\n\t\t\t\"[23589]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[235]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[89]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"GR\": [\n\t\t\t\"30\",\n\t\t\t\"[26-9]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([27]\\\\d)(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"21|7\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2[2-9]1|[689]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(2\\\\d{3})(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2[2-9][02-9]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"GT\": [\n\t\t\t\"502\",\n\t\t\t\"[2-7]\\\\d{7}|1[89]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-7]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"GU\": [\n\t\t\t\"1\",\n\t\t\t\"[5689]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"671\"\n\t\t],\n\t\t\"GW\": [\n\t\t\t\"245\",\n\t\t\t\"(?:4(?:0\\\\d{5}|4\\\\d{7})|9\\\\d{8})\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"44|9[567]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"40\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"GY\": [\n\t\t\t\"592\",\n\t\t\t\"[2-46-9]\\\\d{6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"HK\": [\n\t\t\t\"852\",\n\t\t\t\"[235-7]\\\\d{7}|8\\\\d{7,8}|9\\\\d{4,10}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[235-7]|[89](?:0[1-9]|[1-9])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(800)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"800\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(900)(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"900\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(900)(\\\\d{2,5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"900\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"HN\": [\n\t\t\t\"504\",\n\t\t\t\"[237-9]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"HR\": [\n\t\t\t\"385\",\n\t\t\t\"[1-7]\\\\d{5,8}|[89]\\\\d{6,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(1)(\\\\d{4})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([2-5]\\\\d)(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-5]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(9\\\\d)(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"9\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(6[01])(\\\\d{2})(\\\\d{2,3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"6[01]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([67]\\\\d)(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[67]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(80[01])(\\\\d{2})(\\\\d{2,3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(80[01])(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"HT\": [\n\t\t\t\"509\",\n\t\t\t\"[2-489]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"HU\": [\n\t\t\t\"36\",\n\t\t\t\"[1-9]\\\\d{7,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(1)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-9]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"06\",\n\t\t\t\"($1)\"\n\t\t],\n\t\t\"ID\": [\n\t\t\t\"62\",\n\t\t\t\"(?:[1-79]\\\\d{6,10}|8\\\\d{7,11})\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{5,8})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2[124]|[36]1\"\n\t\t\t\t\t],\n\t\t\t\t\t\"(0$1)\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{5,8})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[4579]|2[035-9]|[36][02-9]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"(0$1)\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(8\\\\d{2})(\\\\d{3,4})(\\\\d{3})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8[1-35-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(8\\\\d{2})(\\\\d{4})(\\\\d{4,5})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8[1-35-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1)(500)(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"15\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(177)(\\\\d{6,8})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"17\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(800)(\\\\d{5,7})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"800\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(804)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"804\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(80\\\\d)(\\\\d)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"80[79]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"IE\": [\n\t\t\t\"353\",\n\t\t\t\"[124-9]\\\\d{6,9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(1)(\\\\d{3,4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2[24-9]|47|58|6[237-9]|9[35-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"40[24]|50[45]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(48)(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"48\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(818)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"81\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[24-69]|7[14]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"76|8[35-9]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(8\\\\d)(\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8[35-9]5\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(700)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"70\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:8[059]|5)\",\n\t\t\t\t\t\t\"1(?:8[059]0|5)\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"(0$1)\"\n\t\t],\n\t\t\"IL\": [\n\t\t\t\"972\",\n\t\t\t\"1\\\\d{6,11}|[2-589]\\\\d{3}(?:\\\\d{3,6})?|6\\\\d{3}|7\\\\d{6,9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([2-489])(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-489]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([57]\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[57]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(153)(\\\\d{1,2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"153\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1)([7-9]\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1-$2-$3-$4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1[7-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1255)(\\\\d{3})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"125\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1200)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"120\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1212)(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"121\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1599)(\\\\d{6})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1599\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(151)(\\\\d{1,2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2 $3-$4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"151\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})\",\n\t\t\t\t\t\"*$1\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-689]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"$1\"\n\t\t],\n\t\t\"IM\": [\n\t\t\t\"44\",\n\t\t\t\"[135789]\\\\d{6,9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(7\\\\d{3})(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"7(?:[1-57-9]|62)\",\n\t\t\t\t\t\t\"7(?:[1-57-9]|624)\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2|5[56]|7[06]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:1|\\\\d1)|3|9[018]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{5})(\\\\d{4,5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:38|5[23]|69|76|94)\",\n\t\t\t\t\t\t\"1(?:387|5(?:24|39)|697|768|946)\",\n\t\t\t\t\t\t\"1(?:3873|5(?:242|39[456])|697[347]|768[347]|9467)\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1\\\\d{3})(\\\\d{5,6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(800)(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"800\",\n\t\t\t\t\t\t\"8001\",\n\t\t\t\t\t\t\"80011\",\n\t\t\t\t\t\t\"800111\",\n\t\t\t\t\t\t\"8001111\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(845)(46)(4\\\\d)\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"845\",\n\t\t\t\t\t\t\"8454\",\n\t\t\t\t\t\t\"84546\",\n\t\t\t\t\t\t\"845464\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(8\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8(?:4[2-5]|7[0-3])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(80\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"80\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([58]00)(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[58]00\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"1624[5-8]\\\\d{5}\",\n\t\t\t\t\"7(?:4576|[59]24\\\\d|624[2-4])\\\\d{5}\",\n\t\t\t\t\"808162\\\\d{4}\",\n\t\t\t\t\"(?:872299|90[0167]624)\\\\d{4}\",\n\t\t\t\t\"70\\\\d{8}\",\n\t\t\t\tnull,\n\t\t\t\t\"3(?:08162\\\\d|3\\\\d{5}|4(?:40[49]06|5624\\\\d)|7(?:0624\\\\d|2299\\\\d))\\\\d{3}|55\\\\d{8}\",\n\t\t\t\t\"7624[01689]\\\\d{5}\",\n\t\t\t\t\"56\\\\d{8}\",\n\t\t\t\t\"8(?:4(?:40[49]06|5624\\\\d)|70624\\\\d)\\\\d{3}\"\n\t\t\t]\n\t\t],\n\t\t\"IN\": [\n\t\t\t\"91\",\n\t\t\t\"008\\\\d{9}|1\\\\d{7,12}|[2-9]\\\\d{9,10}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{5})(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"600|7(?:[02-8]|19|9[037-9])|8(?:0[015-9]|[1-9])|9\",\n\t\t\t\t\t\t\"600|7(?:[078]|19[0-5]|2(?:[02356-9]|[14][017-9]|9[389])|3(?:[025-9]|1[017-9]|[34][017-9])|4(?:[0-35689]|[47][017-9])|5(?:[02346-9]|1[017-9]|5[017-9])|6(?:[02-9]|1[0-257-9])|9(?:[089]|31|7[02-9]))|8(?:0(?:[01589]|6[67]|7[02-9])|1(?:[0-57-9]|6[07-9])|2(?:0[07-9]|[14][07-9]|[235-9])|3(?:[03-57-9]|[126][07-9])|[45]|6(?:[02457-9]|[136][07-9])|7(?:[078][07-9]|[1-69])|8(?:[0-25-9]|3[07-9]|4[047-9])|9(?:[02-9]|1[027-9]))|9\",\n\t\t\t\t\t\t\"600|7(?:0|19[0-5]|2(?:[0235679]|[14][017-9]|8(?:[0-569]|[78][089])|9[389])|3(?:[05-8]|1(?:[0189]|7[5-9])|2(?:[5-8]|[0-49][089])|3[017-9]|4(?:[07-9]|11)|9(?:[01689]|[2345][089]|40|7[0189]))|4(?:[056]|1(?:[0135-9]|[23][089]|2[089]|4[089])|2(?:0[089]|[1-7][089]|[89])|3(?:[0-8][089]|9)|4(?:[089]|11|7[02-8])|7(?:[089]|11|7[02-8])|8(?:[0-24-7][089]|[389])|9(?:[0-7][089]|[89]))|5(?:[0346-9]|1[017-9]|2(?:[03-9]|[12][089])|5[017-9])|6(?:[0346-9]|1[0-257-9]|2(?:[0-4]\\\\d|[5-9][089])|5(?:[0-367][089]|[4589]))|7(?:0(?:[02-9]|1[089])|[1-9])|8(?:[0-79]|8(?:0[0189]|11|8[013-9]|9))|9(?:[089]|313|7(?:[02-8]|9[07-9])))|8(?:0(?:[01589]|6[67]|7(?:[02-8]|9[05-9]))|1(?:[02-57-9]|1(?:[0-35-9]|4[0-46-9])|6(?:[089]|7[02-8]))|2(?:0(?:[089]|7[02])|[14](?:[089]|7[02-8])|[235-9])|3(?:[0357-9]|1(?:[089]|7[02-6])|2(?:[09]|77|8[0-689])|4(?:0[1-7]|[1-9])|6(?:[089]|7[02-7]))|[45]|6(?:[02457-9]|1(?:[089]|7[02-8])|3(?:[089]|7[02-8])|6(?:[08]|7[02-8]|9\\\\d))|7(?:0[07-9]|[1-69]|7(?:[089]|7[02-8])|8(?:[089]|7[02-8]))|8(?:[0-25-9]|3(?:[089]|7[02-8])|4(?:[0489]|7[02-68]))|9(?:[02-9]|1(?:[0289]|7[2-6])))|9\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"11|2[02]|33|4[04]|79[1-9]|80[2-46]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:2[0-249]|3[0-25]|4[145]|[59][14]|7[1257]|[68][1-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|[36][25]|22|4[28]|5[12]|[78]1|9[15])|6(?:12|[2-4]1|5[17]|6[13]|7[14]|80)|7(?:12|2[14]|3[134]|4[47]|5[15]|[67]1|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:[23579]|[468][1-9])|[2-8]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{4})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"008\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"140\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"160\",\n\t\t\t\t\t\t\"1600\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{4,5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"180\",\n\t\t\t\t\t\t\"1800\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{2,4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"180\",\n\t\t\t\t\t\t\"1800\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{3,4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"186\",\n\t\t\t\t\t\t\"1860\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"18[06]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\ttrue\n\t\t],\n\t\t\"IO\": [\n\t\t\t\"246\",\n\t\t\t\"3\\\\d{6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"IQ\": [\n\t\t\t\"964\",\n\t\t\t\"[1-7]\\\\d{7,9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(1)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([2-6]\\\\d)(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-6]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(7\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"7\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"IR\": [\n\t\t\t\"98\",\n\t\t\t\"[1-8]\\\\d{5,9}|9(?:[0-4]\\\\d{8}|9\\\\d{8})\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[1-8]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{4,5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[1-8]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"9\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"IS\": [\n\t\t\t\"354\",\n\t\t\t\"[4-9]\\\\d{6}|38\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[4-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(3\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"3\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"IT\": [\n\t\t\t\"39\",\n\t\t\t\"[01589]\\\\d{5,10}|3(?:[12457-9]\\\\d{8}|[36]\\\\d{7,9})\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"0[26]|55\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(0[26])(\\\\d{4})(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"0[26]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(0[26])(\\\\d{4,6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"0[26]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(0\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"0[13-57-9][0159]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3,6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"0[13-57-9][0159]|8(?:03|4[17]|9[245])\",\n\t\t\t\t\t\t\"0[13-57-9][0159]|8(?:03|4[17]|9(?:2|[45][0-4]))\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(0\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"0[13-57-9][2-46-8]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(0\\\\d{3})(\\\\d{2,6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"0[13-57-9][2-46-8]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[13]|8(?:00|4[08]|9[59])\",\n\t\t\t\t\t\t\"[13]|8(?:00|4[08]|9(?:5[5-9]|9))\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"894\",\n\t\t\t\t\t\t\"894[5-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"3\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"0(?:[26]\\\\d{4,9}|(?:1(?:[0159]\\\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|3(?:[0159]\\\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|7(?:[0159]\\\\d|2[12]|3[1-7]|4[2346]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\\\d|2[34578]|3[1-356]|[6-8][1-5])|9(?:[0159]\\\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\\\d{2,7})\",\n\t\t\t\t\"3(?:[12457-9]\\\\d{8}|6\\\\d{7,8}|3\\\\d{7,9})\",\n\t\t\t\t\"80(?:0\\\\d{6}|3\\\\d{3})\",\n\t\t\t\t\"0878\\\\d{5}|1(?:44|6[346])\\\\d{6}|89(?:2\\\\d{3}|4(?:[0-4]\\\\d{2}|[5-9]\\\\d{4})|5(?:[0-4]\\\\d{2}|[5-9]\\\\d{6})|9\\\\d{6})\",\n\t\t\t\t\"1(?:78\\\\d|99)\\\\d{6}\",\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\t\"55\\\\d{8}\",\n\t\t\t\t\"84(?:[08]\\\\d{6}|[17]\\\\d{3})\"\n\t\t\t]\n\t\t],\n\t\t\"JE\": [\n\t\t\t\"44\",\n\t\t\t\"[135789]\\\\d{6,9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(7\\\\d{3})(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"7(?:[1-57-9]|62)\",\n\t\t\t\t\t\t\"7(?:[1-57-9]|624)\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2|5[56]|7[06]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:1|\\\\d1)|3|9[018]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{5})(\\\\d{4,5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:38|5[23]|69|76|94)\",\n\t\t\t\t\t\t\"1(?:387|5(?:24|39)|697|768|946)\",\n\t\t\t\t\t\t\"1(?:3873|5(?:242|39[456])|697[347]|768[347]|9467)\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1\\\\d{3})(\\\\d{5,6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(800)(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"800\",\n\t\t\t\t\t\t\"8001\",\n\t\t\t\t\t\t\"80011\",\n\t\t\t\t\t\t\"800111\",\n\t\t\t\t\t\t\"8001111\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(845)(46)(4\\\\d)\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"845\",\n\t\t\t\t\t\t\"8454\",\n\t\t\t\t\t\t\"84546\",\n\t\t\t\t\t\t\"845464\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(8\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8(?:4[2-5]|7[0-3])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(80\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"80\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([58]00)(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[58]00\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"1534[0-24-8]\\\\d{5}\",\n\t\t\t\t\"7(?:509\\\\d|7(?:00[378]|97[7-9])|829\\\\d|937\\\\d)\\\\d{5}\",\n\t\t\t\t\"80(?:07(?:35|81)|8901)\\\\d{4}\",\n\t\t\t\t\"(?:871206|90(?:066[59]|1810|71(?:07|55)))\\\\d{4}\",\n\t\t\t\t\"701511\\\\d{4}\",\n\t\t\t\tnull,\n\t\t\t\t\"3(?:0(?:07(?:35|81)|8901)|3\\\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))\\\\d{4}|55\\\\d{8}\",\n\t\t\t\t\"76(?:0[012]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\\\d{6}\",\n\t\t\t\t\"56\\\\d{8}\",\n\t\t\t\t\"8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|70002)\\\\d{4}\"\n\t\t\t]\n\t\t],\n\t\t\"JM\": [\n\t\t\t\"1\",\n\t\t\t\"[589]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"876\"\n\t\t],\n\t\t\"JO\": [\n\t\t\t\"962\",\n\t\t\t\"[235-9]\\\\d{7,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2356]|87\"\n\t\t\t\t\t],\n\t\t\t\t\t\"(0$1)\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(7)(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"7[457-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{7})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"70\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{5,6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8[0158]|9\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"JP\": [\n\t\t\t\"81\",\n\t\t\t\"[1-9]\\\\d{8,9}|00(?:[36]\\\\d{7,14}|7\\\\d{5,7}|8\\\\d{7})\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"(?:12|57|99)0\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"800\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2579]0|80[1-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d)(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|5(?:76|97)|499|746|8(?:3[89]|63|47|51)|9(?:49|80|9[16])\",\n\t\t\t\t\t\t\"1(?:267|3(?:7[247]|9[278])|4(?:5[67]|66)|5(?:47|58|64|8[67])|6(?:3[245]|48|5[4-68]))|5(?:76|97)9|499[2468]|7468|8(?:3(?:8[78]|96)|636|477|51[24])|9(?:496|802|9(?:1[23]|69))\",\n\t\t\t\t\t\t\"1(?:267|3(?:7[247]|9[278])|4(?:5[67]|66)|5(?:47|58|64|8[67])|6(?:3[245]|48|5[4-68]))|5(?:769|979[2-69])|499[2468]|7468|8(?:3(?:8[78]|96[2457-9])|636[2-57-9]|477|51[24])|9(?:496|802|9(?:1[23]|69))\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:2[3-6]|3[3-9]|4[2-6]|5[2-8]|[68][2-7]|7[2-689]|9[1-578])|2(?:2[03-689]|3[3-58]|4[0-468]|5[04-8]|6[013-8]|7[06-9]|8[02-57-9]|9[13])|4(?:2[28]|3[689]|6[035-7]|7[05689]|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9[4-9])|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9[014-9])|8(?:2[49]|3[3-8]|4[5-8]|5[2-9]|6[35-9]|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9[3-7])\",\n\t\t\t\t\t\t\"1(?:2[3-6]|3[3-9]|4[2-6]|5(?:[236-8]|[45][2-69])|[68][2-7]|7[2-689]|9[1-578])|2(?:2(?:[04-689]|3[23])|3[3-58]|4[0-468]|5(?:5[78]|7[2-4]|[0468][2-9])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9(?:[89][2-8]|[4-7]))|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9[2-8])|3(?:7[2-6]|[3-6][2-9]|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5[4-7]|6[2-9]|8[2-8]|9[236-9])|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3[34]|[4-7]))\",\n\t\t\t\t\t\t\"1(?:2[3-6]|3[3-9]|4[2-6]|5(?:[236-8]|[45][2-69])|[68][2-7]|7[2-689]|9[1-578])|2(?:2(?:[04-689]|3[23])|3[3-58]|4[0-468]|5(?:5[78]|7[2-4]|[0468][2-9])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9(?:[89][2-8]|[4-7]))|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9(?:[3578]|20|4[04-9]|6[56]))|3(?:7(?:[2-5]|6[0-59])|[3-6][2-9]|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5(?:[467]|5[014-9])|6(?:[2-8]|9[02-69])|8[2-8]|9(?:[236-8]|9[23]))|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3(?:3[02-9]|4[0-24689])|4[2-69]|[5-7]))\",\n\t\t\t\t\t\t\"1(?:2[3-6]|3[3-9]|4[2-6]|5(?:[236-8]|[45][2-69])|[68][2-7]|7[2-689]|9[1-578])|2(?:2(?:[04-689]|3[23])|3[3-58]|4[0-468]|5(?:5[78]|7[2-4]|[0468][2-9])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9(?:[89][2-8]|[4-7]))|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9(?:[3578]|20|4[04-9]|6(?:5[25]|60)))|3(?:7(?:[2-5]|6[0-59])|[3-6][2-9]|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5(?:[467]|5[014-9])|6(?:[2-8]|9[02-69])|8[2-8]|9(?:[236-8]|9[23]))|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3(?:3[02-9]|4[0-24689])|4[2-69]|[5-7]))\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1|2(?:2[37]|5[5-9]|64|78|8[39]|91)|4(?:2[2689]|64|7[347])|5(?:[2-589]|39)|60|8(?:[46-9]|3[279]|2[124589])|9(?:[235-8]|93)\",\n\t\t\t\t\t\t\"1|2(?:2[37]|5(?:[57]|[68]0|9[19])|64|78|8[39]|917)|4(?:2(?:[68]|20|9[178])|64|7[347])|5(?:[2-589]|39[67])|60|8(?:[46-9]|3[279]|2[124589])|9(?:[235-8]|93[34])\",\n\t\t\t\t\t\t\"1|2(?:2[37]|5(?:[57]|[68]0|9(?:17|99))|64|78|8[39]|917)|4(?:2(?:[68]|20|9[178])|64|7[347])|5(?:[2-589]|39[67])|60|8(?:[46-9]|3[279]|2[124589])|9(?:[235-8]|93(?:31|4))\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2(?:9[14-79]|74|[34]7|[56]9)|82|993\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"3|4(?:2[09]|7[01])|6[1-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2479][1-9]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"KE\": [\n\t\t\t\"254\",\n\t\t\t\"20\\\\d{6,7}|[4-9]\\\\d{6,9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{5,7})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[24-6]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"7\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[89]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\",\n\t\t\t\"005|0\"\n\t\t],\n\t\t\"KG\": [\n\t\t\t\"996\",\n\t\t\t\"[235-8]\\\\d{8,9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[25-7]|31[25]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"3(?:1[36]|[2-9])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d)(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"KH\": [\n\t\t\t\"855\",\n\t\t\t\"[1-9]\\\\d{7,9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\\\\d[1-9]|[2-9]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1[89]00)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1[89]0\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\"\n\t\t],\n\t\t\"KI\": [\n\t\t\t\"686\",\n\t\t\t\"[2458]\\\\d{4}|3\\\\d{4,7}|7\\\\d{7}\",\n\t\t\t[],\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"0\"\n\t\t],\n\t\t\"KM\": [\n\t\t\t\"269\",\n\t\t\t\"[3478]\\\\d{6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"KN\": [\n\t\t\t\"1\",\n\t\t\t\"[589]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"869\"\n\t\t],\n\t\t\"KP\": [\n\t\t\t\"850\",\n\t\t\t\"1\\\\d{9}|[28]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"KR\": [\n\t\t\t\"82\",\n\t\t\t\"007\\\\d{9,11}|[1-7]\\\\d{3,9}|8\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:0|1[19]|[69]9|5[458])|[57]0\",\n\t\t\t\t\t\t\"1(?:0|1[19]|[69]9|5(?:44|59|8))|[57]0\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:[01]|5[1-4]|6[2-8]|[7-9])|[68]0|[3-6][1-9][1-9]\",\n\t\t\t\t\t\t\"1(?:[01]|5(?:[1-3]|4[56])|6[2-8]|[7-9])|[68]0|[3-6][1-9][1-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d)(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"131\",\n\t\t\t\t\t\t\"1312\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"131\",\n\t\t\t\t\t\t\"131[13-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"13[2-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2-$3-$4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"30\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2[1-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{3,4})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"21[0-46-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[3-6][1-9]1\",\n\t\t\t\t\t\t\"[3-6][1-9]1(?:[0-46-9])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:5[246-9]|6[04678]|8[03579])\",\n\t\t\t\t\t\t\"1(?:5(?:22|44|66|77|88|99)|6(?:00|44|6[16]|70|88)|8(?:00|33|55|77|99))\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\",\n\t\t\t\"0(8[1-46-8]|85\\\\d{2})?\"\n\t\t],\n\t\t\"KW\": [\n\t\t\t\"965\",\n\t\t\t\"[12569]\\\\d{6,7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[16]|2(?:[0-35-9]|4[0-35-9])|9[024-9]|52[25]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"244|5(?:[015]|6[56])\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"KY\": [\n\t\t\t\"1\",\n\t\t\t\"[3589]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"345\"\n\t\t],\n\t\t\"KZ\": [\n\t\t\t\"7\",\n\t\t\t\"(?:33\\\\d|7\\\\d{2}|80[09])\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([3489]\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2-$3-$4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[34689]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(7\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"7\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"8\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"33622\\\\d{5}|7(?:1(?:0(?:[23]\\\\d|4[0-3]|59|63)|1(?:[23]\\\\d|4[0-79]|59)|2(?:[23]\\\\d|59)|3(?:2\\\\d|3[0-79]|4[0-35-9]|59)|4(?:[24]\\\\d|3[013-9]|5[1-9])|5(?:2\\\\d|3[1-9]|4[0-7]|59)|6(?:[234]\\\\d|5[19]|61)|72\\\\d|8(?:[27]\\\\d|3[1-46-9]|4[0-5]))|2(?:1(?:[23]\\\\d|4[46-9]|5[3469])|2(?:2\\\\d|3[0679]|46|5[12679])|3(?:[234]\\\\d|5[139])|4(?:2\\\\d|3[1235-9]|59)|5(?:[23]\\\\d|4[01246-8]|59|61)|6(?:2\\\\d|3[1-9]|4[0-4]|59)|7(?:[2379]\\\\d|40|5[279])|8(?:[23]\\\\d|4[0-3]|59)|9(?:2\\\\d|3[124578]|59)))\\\\d{5}\",\n\t\t\t\t\"7(?:0[012578]|47|6[02-4]|7[15-8]|85)\\\\d{7}\",\n\t\t\t\t\"800\\\\d{7}\",\n\t\t\t\t\"809\\\\d{7}\",\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\t\"751\\\\d{7}\"\n\t\t\t]\n\t\t],\n\t\t\"LA\": [\n\t\t\t\"856\",\n\t\t\t\"[2-8]\\\\d{7,9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(20)(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"20\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([2-8]\\\\d)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2[13]|3[14]|[4-8]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(30)(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"30\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"LB\": [\n\t\t\t\"961\",\n\t\t\t\"[13-9]\\\\d{6,7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[13-6]|7(?:[2-57]|62|8[0-7]|9[04-9])|8[02-9]|9\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([7-9]\\\\d)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[89][01]|7(?:[01]|6[013-9]|8[89]|9[1-3])\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\"\n\t\t],\n\t\t\"LC\": [\n\t\t\t\"1\",\n\t\t\t\"[5789]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"758\"\n\t\t],\n\t\t\"LI\": [\n\t\t\t\"423\",\n\t\t\t\"6\\\\d{8}|[23789]\\\\d{6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[23789]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"6[56]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(69)(7\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"697\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\tnull,\n\t\t\t\"0|10(?:01|20|66)\"\n\t\t],\n\t\t\"LK\": [\n\t\t\t\"94\",\n\t\t\t\"[1-9]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{1})(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[1-689]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"7\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"LR\": [\n\t\t\t\"231\",\n\t\t\t\"2\\\\d{7,8}|[378]\\\\d{8}|4\\\\d{6}|5\\\\d{6,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(2\\\\d)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([4-5])(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[45]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[23578]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"LS\": [\n\t\t\t\"266\",\n\t\t\t\"[2568]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"LT\": [\n\t\t\t\"370\",\n\t\t\t\"[3-9]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([34]\\\\d)(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"37|4(?:1|5[45]|6[2-4])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([3-6]\\\\d{2})(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"3[148]|4(?:[24]|6[09])|528|6\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([7-9]\\\\d{2})(\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[7-9]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"8 $1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(5)(2\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"52[0-79]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"8\",\n\t\t\t\"(8-$1)\",\n\t\t\t\"[08]\",\n\t\t\tnull,\n\t\t\ttrue\n\t\t],\n\t\t\"LU\": [\n\t\t\t\"352\",\n\t\t\t\"[24-9]\\\\d{3,10}|3(?:[0-46-9]\\\\d{2,9}|5[013-9]\\\\d{1,8})\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-5]|7[1-9]|[89](?:[1-9]|0[2-9])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-5]|7[1-9]|[89](?:[1-9]|0[2-9])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"20\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2(?:[0367]|4[3-8])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"20\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,2})\",\n\t\t\t\t\t\"$1 $2 $3 $4 $5\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2(?:[0367]|4[3-8])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,4})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2(?:[12589]|4[12])|[3-5]|7[1-9]|8(?:[1-9]|0[2-9])|9(?:[1-9]|0[2-46-9])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"70|80[01]|90[015]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"6\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"(15(?:0[06]|1[12]|35|4[04]|55|6[26]|77|88|99)\\\\d)\"\n\t\t],\n\t\t\"LV\": [\n\t\t\t\"371\",\n\t\t\t\"[2689]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([2689]\\\\d)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"LY\": [\n\t\t\t\"218\",\n\t\t\t\"[25679]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([25679]\\\\d)(\\\\d{7})\",\n\t\t\t\t\t\"$1-$2\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"MA\": [\n\t\t\t\"212\",\n\t\t\t\"[5-9]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([5-7]\\\\d{2})(\\\\d{6})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"5(?:2[015-7]|3[0-4])|[67]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([58]\\\\d{3})(\\\\d{5})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"5(?:2[2-489]|3[5-9]|92)|892\",\n\t\t\t\t\t\t\"5(?:2(?:[2-48]|9[0-7])|3(?:[5-79]|8[0-7])|924)|892\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(5\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"5(?:29|38)\",\n\t\t\t\t\t\t\"5(?:29|38)[89]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([5]\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"5(?:4[067]|5[03])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(8[09])(\\\\d{7})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8(?:0|9[013-9])\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"5(?:2(?:[015-79]\\\\d|2[02-9]|3[2-57]|4[2-8]|8[235-7])\\\\d|3(?:[0-48]\\\\d|[57][2-9]|6[2-8]|9[3-9])\\\\d|4[067]\\\\d{2}|5[03]\\\\d{2})\\\\d{4}\",\n\t\t\t\t\"(?:6(?:[0-79]\\\\d|8[0-247-9])|7(?:[07][07]|6[12]))\\\\d{6}\",\n\t\t\t\t\"80\\\\d{7}\",\n\t\t\t\t\"89\\\\d{7}\",\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\t\"5924[01]\\\\d{4}\"\n\t\t\t]\n\t\t],\n\t\t\"MC\": [\n\t\t\t\"377\",\n\t\t\t\"[34689]\\\\d{7,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[39]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"4\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(6)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4 $5\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"6\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"MD\": [\n\t\t\t\"373\",\n\t\t\t\"[235-9]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"22|3\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([25-7]\\\\d{2})(\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2[13-9]|[5-7]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([89]\\\\d{2})(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[89]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"ME\": [\n\t\t\t\"382\",\n\t\t\t\"[2-9]\\\\d{7,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-57-9]|6[036-9]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"MF\": [\n\t\t\t\"590\",\n\t\t\t\"[56]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([56]90)(\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"590(?:[02][79]|13|5[0-268]|[78]7)\\\\d{4}\",\n\t\t\t\t\"690(?:0[05-9]|[1-9]\\\\d)\\\\d{4}\"\n\t\t\t]\n\t\t],\n\t\t\"MG\": [\n\t\t\t\"261\",\n\t\t\t\"[23]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([23]\\\\d)(\\\\d{2})(\\\\d{3})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"MH\": [\n\t\t\t\"692\",\n\t\t\t\"[2-6]\\\\d{6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\"\n\t\t],\n\t\t\"MK\": [\n\t\t\t\"389\",\n\t\t\t\"[2-578]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(2)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([347]\\\\d)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[347]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([58]\\\\d{2})(\\\\d)(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[58]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"ML\": [\n\t\t\t\"223\",\n\t\t\t\"[246-9]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[246-9]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"MM\": [\n\t\t\t\"95\",\n\t\t\t\"[178]\\\\d{5,7}|[24-6]\\\\d{5,8}|9(?:[279]\\\\d{0,2}|5|[34]\\\\d{1,2}|6(?:\\\\d{1,2})?|8(?:\\\\d{2})?)\\\\d{6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1|2[245]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(2)(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"251\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"16|2\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"432|67|81\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[4-8]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(9)(\\\\d{3})(\\\\d{4,6})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"9(?:2[0-4]|[35-9]|4[137-9])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(9)([34]\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"9(?:3[0-36]|4[0-57-9])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(9)(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"92[56]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(9)(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"93\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"MN\": [\n\t\t\t\"976\",\n\t\t\t\"[12]\\\\d{7,9}|[57-9]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([12]\\\\d)(\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[12]1\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([12]2\\\\d)(\\\\d{5,6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[12]2[1-3]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([12]\\\\d{3})(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[12](?:27|[3-5])\",\n\t\t\t\t\t\t\"[12](?:27|[3-5]\\\\d)2\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[57-9]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([12]\\\\d{4})(\\\\d{4,5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[12](?:27|[3-5])\",\n\t\t\t\t\t\t\"[12](?:27|[3-5]\\\\d)[4-9]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"MO\": [\n\t\t\t\"853\",\n\t\t\t\"[268]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([268]\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"MP\": [\n\t\t\t\"1\",\n\t\t\t\"[5689]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"670\"\n\t\t],\n\t\t\"MQ\": [\n\t\t\t\"596\",\n\t\t\t\"[56]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"MR\": [\n\t\t\t\"222\",\n\t\t\t\"[2-48]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([2-48]\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"MS\": [\n\t\t\t\"1\",\n\t\t\t\"[5689]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"664\"\n\t\t],\n\t\t\"MT\": [\n\t\t\t\"356\",\n\t\t\t\"[2357-9]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"MU\": [\n\t\t\t\"230\",\n\t\t\t\"[2-9]\\\\d{6,7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([2-46-9]\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-46-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(5\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"5\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"MV\": [\n\t\t\t\"960\",\n\t\t\t\"[346-8]\\\\d{6,9}|9(?:00\\\\d{7}|\\\\d{6})\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[3467]|9(?:[1-9]|0[1-9])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[89]00\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"MW\": [\n\t\t\t\"265\",\n\t\t\t\"(?:1(?:\\\\d{2})?|[2789]\\\\d{2})\\\\d{6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(2\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[1789]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"MX\": [\n\t\t\t\"52\",\n\t\t\t\"[1-9]\\\\d{9,10}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([358]\\\\d)(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"33|55|81\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2467]|3[0-2457-9]|5[089]|8[02-9]|9[0-35-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1)([358]\\\\d)(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"044 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:33|55|81)\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\",\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1 $2 $3 $4\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1)(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"044 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:[2467]|3[0-2457-9]|5[089]|8[2-9]|9[1-35-9])\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\",\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1 $2 $3 $4\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"01\",\n\t\t\t\"01 $1\",\n\t\t\t\"0[12]|04[45](\\\\d{10})\",\n\t\t\t\"1$1\",\n\t\t\ttrue\n\t\t],\n\t\t\"MY\": [\n\t\t\t\"60\",\n\t\t\t\"[13-9]\\\\d{7,9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([4-79])(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[4-79]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(3)(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"3\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([18]\\\\d)(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1-$2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1[02-46-9][1-9]|8\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1)([36-8]00)(\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2-$3-$4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1[36-8]0\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(11)(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"11\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(15[49])(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"15\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\"\n\t\t],\n\t\t\"MZ\": [\n\t\t\t\"258\",\n\t\t\t\"[28]\\\\d{7,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([28]\\\\d)(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2|8[2-7]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(80\\\\d)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"80\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"NA\": [\n\t\t\t\"264\",\n\t\t\t\"[68]\\\\d{7,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(8\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8[1235]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(6\\\\d)(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"6\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(88)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"88\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(870)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"870\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"NC\": [\n\t\t\t\"687\",\n\t\t\t\"[2-57-9]\\\\d{5}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1.$2.$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-46-9]|5[0-4]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"NE\": [\n\t\t\t\"227\",\n\t\t\t\"[0289]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[289]|09\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(08)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"08\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"NF\": [\n\t\t\t\"672\",\n\t\t\t\"[13]\\\\d{5}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"3\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"NG\": [\n\t\t\t\"234\",\n\t\t\t\"[1-6]\\\\d{5,8}|9\\\\d{5,9}|[78]\\\\d{5,13}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[12]|9(?:0[3-9]|[1-9])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[3-6]|7(?:[1-79]|0[1-9])|8[2-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"70|8[01]|90[235-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([78]00)(\\\\d{4})(\\\\d{4,5})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[78]00\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([78]00)(\\\\d{5})(\\\\d{5,6})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[78]00\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(78)(\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"78\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"NI\": [\n\t\t\t\"505\",\n\t\t\t\"[12578]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"NL\": [\n\t\t\t\"31\",\n\t\t\t\"1\\\\d{4,8}|[2-7]\\\\d{8}|[89]\\\\d{6,9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([1-578]\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1[035]|2[0346]|3[03568]|4[0356]|5[0358]|7|8[4578]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([1-5]\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1[16-8]|2[259]|3[124]|4[17-9]|5[124679]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(6)(\\\\d{8})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"6[0-57-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(66)(\\\\d{7})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"66\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(14)(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"14\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([89]0\\\\d)(\\\\d{4,7})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"80|9\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"NO\": [\n\t\t\t\"47\",\n\t\t\t\"0\\\\d{4}|[2-9]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([489]\\\\d{2})(\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[489]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([235-7]\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[235-7]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"(?:2[1-4]|3[1-3578]|5[1-35-7]|6[1-4679]|7[0-8])\\\\d{6}\",\n\t\t\t\t\"(?:4[015-8]|5[89]|87|9\\\\d)\\\\d{6}\",\n\t\t\t\t\"80[01]\\\\d{5}\",\n\t\t\t\t\"82[09]\\\\d{5}\",\n\t\t\t\t\"880\\\\d{5}\",\n\t\t\t\t\"81[23]\\\\d{5}\",\n\t\t\t\t\"0\\\\d{4}|81(?:0(?:0[7-9]|1\\\\d)|5\\\\d{2})\\\\d{3}\",\n\t\t\t\tnull,\n\t\t\t\t\"85[0-5]\\\\d{5}\",\n\t\t\t\t\"810(?:0[0-6]|[2-8]\\\\d)\\\\d{3}\"\n\t\t\t]\n\t\t],\n\t\t\"NP\": [\n\t\t\t\"977\",\n\t\t\t\"[1-8]\\\\d{7}|9(?:[1-69]\\\\d{6,8}|7[2-6]\\\\d{5,7}|8\\\\d{8})\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(1)(\\\\d{7})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1[2-6]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{6})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1[01]|[2-8]|9(?:[1-69]|7[15-9])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(9\\\\d{2})(\\\\d{7})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"9(?:6[013]|7[245]|8)\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"NR\": [\n\t\t\t\"674\",\n\t\t\t\"[458]\\\\d{6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"NU\": [\n\t\t\t\"683\",\n\t\t\t\"[1-5]\\\\d{3}\"\n\t\t],\n\t\t\"NZ\": [\n\t\t\t\"64\",\n\t\t\t\"6[235-9]\\\\d{6}|[2-57-9]\\\\d{7,9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"240|[346]|7[2-57-9]|9[1-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"21\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{3,5})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2(?:1[1-9]|[69]|7[0-35-9])|70|86\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(2\\\\d)(\\\\d{3,4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2[028]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"90\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2(?:10|74)|5|[89]0\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"OM\": [\n\t\t\t\"968\",\n\t\t\t\"(?:5|[279]\\\\d)\\\\d{6}|800\\\\d{5,6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(2\\\\d)(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([79]\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[79]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([58]00)(\\\\d{4,6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[58]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"PA\": [\n\t\t\t\"507\",\n\t\t\t\"[1-9]\\\\d{6,7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[1-57-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"6\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"PE\": [\n\t\t\t\"51\",\n\t\t\t\"[14-9]\\\\d{7,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(1)(\\\\d{7})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([4-8]\\\\d)(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[4-7]|8[2-4]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"80\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(9\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"9\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"(0$1)\"\n\t\t],\n\t\t\"PF\": [\n\t\t\t\"689\",\n\t\t\t\"4\\\\d{5,7}|8\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"4[09]|8[79]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"44\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"PG\": [\n\t\t\t\"675\",\n\t\t\t\"[1-9]\\\\d{6,7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[13-689]|27\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"20|7\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"PH\": [\n\t\t\t\"63\",\n\t\t\t\"2\\\\d{5,7}|[3-9]\\\\d{7,9}|1800\\\\d{7,9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(2)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2\"\n\t\t\t\t\t],\n\t\t\t\t\t\"(0$1)\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(2)(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2\"\n\t\t\t\t\t],\n\t\t\t\t\t\"(0$1)\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{4,6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|5(?:22|44)|642|8(?:62|8[245])\",\n\t\t\t\t\t\t\"3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))\"\n\t\t\t\t\t],\n\t\t\t\t\t\"(0$1)\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{5})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"346|4(?:27|9[35])|883\",\n\t\t\t\t\t\t\"3469|4(?:279|9(?:30|56))|8834\"\n\t\t\t\t\t],\n\t\t\t\t\t\"(0$1)\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([3-8]\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[3-8]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"(0$1)\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"81|9\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1800)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1800)(\\\\d{1,2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\"\n\t\t],\n\t\t\"PK\": [\n\t\t\t\"92\",\n\t\t\t\"1\\\\d{8}|[2-8]\\\\d{5,11}|9(?:[013-9]\\\\d{4,9}|2\\\\d(?:111\\\\d{6}|\\\\d{3,7}))\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(111)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)1\",\n\t\t\t\t\t\t\"(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)11\",\n\t\t\t\t\t\t\"(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)111\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(111)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2[349]|45|54|60|72|8[2-5]|9[2-9]\",\n\t\t\t\t\t\t\"(?:2[349]|45|54|60|72|8[2-5]|9[2-9])\\\\d1\",\n\t\t\t\t\t\t\"(?:2[349]|45|54|60|72|8[2-5]|9[2-9])\\\\d11\",\n\t\t\t\t\t\t\"(?:2[349]|45|54|60|72|8[2-5]|9[2-9])\\\\d111\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{7,8})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{6,7})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2[349]|45|5(?:4|8[12])|60|72|8[2-5]|9[2-9]\",\n\t\t\t\t\t\t\"(?:2[349]|45|5(?:4|8[12])|60|72|8[2-5]|9[2-9])\\\\d[2-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(3\\\\d{2})(\\\\d{7})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"3\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1\\\\d{3})(\\\\d{5,6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(586\\\\d{2})(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"586\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([89]00)(\\\\d{3})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[89]00\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"(0$1)\"\n\t\t],\n\t\t\"PL\": [\n\t\t\t\"48\",\n\t\t\t\"[12]\\\\d{6,8}|[3-57-9]\\\\d{8}|6\\\\d{5,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"26|39|45|5[0137]|6[0469]|7[02389]|8[08]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[14]|2[0-57-9]|3[2-4]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{1})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[12]2\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"64\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"64\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"PM\": [\n\t\t\t\"508\",\n\t\t\t\"[45]\\\\d{5}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([45]\\\\d)(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"PR\": [\n\t\t\t\"1\",\n\t\t\t\"[5789]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"787|939\"\n\t\t],\n\t\t\"PS\": [\n\t\t\t\"970\",\n\t\t\t\"1\\\\d{9}|[24589]\\\\d{7,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([2489])(2\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2489]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(5[69]\\\\d)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"5\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1[78]00)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"PT\": [\n\t\t\t\"351\",\n\t\t\t\"[2-46-9]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(2\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2[12]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([2-46-9]\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2[3-9]|[346-9]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"PW\": [\n\t\t\t\"680\",\n\t\t\t\"[2-8]\\\\d{6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"PY\": [\n\t\t\t\"595\",\n\t\t\t\"5[0-5]\\\\d{4,7}|[2-46-9]\\\\d{5,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"(?:[26]1|3[289]|4[124678]|7[123]|8[1236])\"\n\t\t\t\t\t],\n\t\t\t\t\t\"(0$1)\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"(?:[26]1|3[289]|4[124678]|7[123]|8[1236])\"\n\t\t\t\t\t],\n\t\t\t\t\t\"(0$1)\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3,6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-9]0\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"9[1-9]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8700\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4,5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-8][1-9]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"(0$1)\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-8][1-9]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\"\n\t\t],\n\t\t\"QA\": [\n\t\t\t\"974\",\n\t\t\t\"[2-8]\\\\d{6,7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([28]\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[28]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([3-7]\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[3-7]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"RE\": [\n\t\t\t\"262\",\n\t\t\t\"[268]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([268]\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"262|69|8\"\n\t\t],\n\t\t\"RO\": [\n\t\t\t\"40\",\n\t\t\t\"[23]\\\\d{5,8}|[7-9]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[23]1\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[23]1\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[23][3-7]|[7-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(2\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2[3-6]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"RS\": [\n\t\t\t\"381\",\n\t\t\t\"[126-9]\\\\d{4,11}|3(?:[0-79]\\\\d{3,10}|8[2-9]\\\\d{2,9})\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([23]\\\\d{2})(\\\\d{4,9})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"(?:2[389]|39)0\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([1-3]\\\\d)(\\\\d{5,10})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1|2(?:[0-24-7]|[389][1-9])|3(?:[0-8]|9[1-9])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(6\\\\d)(\\\\d{6,8})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"6\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([89]\\\\d{2})(\\\\d{3,9})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[89]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(7[26])(\\\\d{4,9})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"7[26]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(7[08]\\\\d)(\\\\d{4,9})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"7[08]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"RU\": [\n\t\t\t\"7\",\n\t\t\t\"[3489]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([3489]\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2-$3-$4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[34689]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(7\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"7\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"8\",\n\t\t\t\"8 ($1)\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\ttrue,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"(?:3(?:0[12]|4[1-35-79]|5[1-3]|65|8[1-58]|9[0145])|4(?:01|1[1356]|2[13467]|7[1-5]|8[1-7]|9[1-689])|8(?:1[1-8]|2[01]|3[13-6]|4[0-8]|5[15]|6[1-35-79]|7[1-37-9]))\\\\d{7}\",\n\t\t\t\t\"9\\\\d{9}\",\n\t\t\t\t\"80[04]\\\\d{7}\",\n\t\t\t\t\"80[39]\\\\d{7}\"\n\t\t\t]\n\t\t],\n\t\t\"RW\": [\n\t\t\t\"250\",\n\t\t\t\"[027-9]\\\\d{7,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(2\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([7-9]\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[7-9]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(0\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"0\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\"\n\t\t],\n\t\t\"SA\": [\n\t\t\t\"966\",\n\t\t\t\"1\\\\d{7,8}|(?:[2-467]|92)\\\\d{7}|5\\\\d{8}|8\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([1-467])(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[1-467]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1[1-467]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(5\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"5\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(92\\\\d{2})(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"92\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(800)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"80\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(811)(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"81\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"SB\": [\n\t\t\t\"677\",\n\t\t\t\"[1-9]\\\\d{4,6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[7-9]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"SC\": [\n\t\t\t\"248\",\n\t\t\t\"[24689]\\\\d{5,6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[246]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"SD\": [\n\t\t\t\"249\",\n\t\t\t\"[19]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"SE\": [\n\t\t\t\"46\",\n\t\t\t\"[1-35-9]\\\\d{5,11}|4\\\\d{6,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(8)(\\\\d{2,3})(\\\\d{2,3})(\\\\d{2})\",\n\t\t\t\t\t\"$1-$2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8\"\n\t\t\t\t\t],\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1 $2 $3 $4\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([1-69]\\\\d)(\\\\d{2,3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1-$2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1[013689]|2[0136]|3[1356]|4[0246]|54|6[03]|90\"\n\t\t\t\t\t],\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1 $2 $3 $4\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([1-469]\\\\d)(\\\\d{3})(\\\\d{2})\",\n\t\t\t\t\t\"$1-$2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1[136]|2[136]|3[356]|4[0246]|6[03]|90\"\n\t\t\t\t\t],\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1 $2 $3\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1-$2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[0-5]|4[0-3])\"\n\t\t\t\t\t],\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1 $2 $3 $4\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2,3})(\\\\d{2})\",\n\t\t\t\t\t\"$1-$2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[0-5]|4[0-3])\"\n\t\t\t\t\t],\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1 $2 $3\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(7\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1-$2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"7\"\n\t\t\t\t\t],\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1 $2 $3 $4\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(77)(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1-$2$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"7\"\n\t\t\t\t\t],\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1 $2 $3\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(20)(\\\\d{2,3})(\\\\d{2})\",\n\t\t\t\t\t\"$1-$2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"20\"\n\t\t\t\t\t],\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1 $2 $3\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(9[034]\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1-$2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"9[034]\"\n\t\t\t\t\t],\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1 $2 $3 $4\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(9[034]\\\\d)(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"9[034]\"\n\t\t\t\t\t],\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1 $2\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1-$2 $3 $4 $5\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"25[245]|67[3-6]\"\n\t\t\t\t\t],\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1 $2 $3 $4 $5\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"SG\": [\n\t\t\t\"65\",\n\t\t\t\"[36]\\\\d{7}|[17-9]\\\\d{7,10}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([3689]\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[369]|8[1-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1[89]00)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1[89]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(7000)(\\\\d{4})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"70\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(800)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"80\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"SH\": [\n\t\t\t\"290\",\n\t\t\t\"[256]\\\\d{4}\",\n\t\t\t[],\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"2(?:[0-57-9]\\\\d|6[4-9])\\\\d{2}\",\n\t\t\t\t\"[56]\\\\d{4}\",\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\t\"262\\\\d{2}\"\n\t\t\t]\n\t\t],\n\t\t\"SI\": [\n\t\t\t\"386\",\n\t\t\t\"[1-7]\\\\d{6,7}|[89]\\\\d{4,7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[12]|3[24-8]|4[24-8]|5[2-8]|7[3-8]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"(0$1)\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([3-7]\\\\d)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[37][01]|4[0139]|51|6\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([89][09])(\\\\d{3,6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[89][09]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([58]\\\\d{2})(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"59|8[1-3]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"SJ\": [\n\t\t\t\"47\",\n\t\t\t\"0\\\\d{4}|[45789]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([489]\\\\d{2})(\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[489]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([235-7]\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[235-7]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"79\\\\d{6}\",\n\t\t\t\t\"(?:4[015-8]|5[89]|9\\\\d)\\\\d{6}\",\n\t\t\t\t\"80[01]\\\\d{5}\",\n\t\t\t\t\"82[09]\\\\d{5}\",\n\t\t\t\t\"880\\\\d{5}\",\n\t\t\t\t\"81[23]\\\\d{5}\",\n\t\t\t\t\"0\\\\d{4}|81(?:0(?:0[7-9]|1\\\\d)|5\\\\d{2})\\\\d{3}\",\n\t\t\t\tnull,\n\t\t\t\t\"85[0-5]\\\\d{5}\",\n\t\t\t\t\"810(?:0[0-6]|[2-8]\\\\d)\\\\d{3}\"\n\t\t\t]\n\t\t],\n\t\t\"SK\": [\n\t\t\t\"421\",\n\t\t\t\"(?:[2-68]\\\\d{5,8}|9\\\\d{6,8})\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(2)(1[67])(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"21[67]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([3-5]\\\\d)(1[67])(\\\\d{2,3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[3-5]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(2)(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\n\t\t\t\t\t\"$1/$2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([3-5]\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1/$2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[3-5]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([689]\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[689]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(9090)(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"9090\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"SL\": [\n\t\t\t\"232\",\n\t\t\t\"[2-9]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"(0$1)\"\n\t\t],\n\t\t\"SM\": [\n\t\t\t\"378\",\n\t\t\t\"[05-7]\\\\d{7,9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[5-7]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(0549)(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"0\"\n\t\t\t\t\t],\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"($1) $2\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{6})\",\n\t\t\t\t\t\"0549 $1\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[89]\"\n\t\t\t\t\t],\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"(0549) $1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"(?:0549)?([89]\\\\d{5})\",\n\t\t\t\"0549$1\"\n\t\t],\n\t\t\"SN\": [\n\t\t\t\"221\",\n\t\t\t\"[3789]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[379]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"SO\": [\n\t\t\t\"252\",\n\t\t\t\"[1-9]\\\\d{5,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{6})\",\n\t\t\t\t\t\"$1\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[134]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2[0-79]|[13-5]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{7})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"24|[67]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8[125]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{5,7})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"15|28|6[1-35-9]|799|9[2-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"3[59]|4[89]|6[24-6]|79|8[08]|90\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\"\n\t\t],\n\t\t\"SR\": [\n\t\t\t\"597\",\n\t\t\t\"[2-8]\\\\d{5,6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-4]|5[2-58]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"56\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[6-8]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"SS\": [\n\t\t\t\"211\",\n\t\t\t\"[19]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\tnull,\n\t\t\t\t\t\"0$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\"\n\t\t],\n\t\t\"ST\": [\n\t\t\t\"239\",\n\t\t\t\"[29]\\\\d{6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"SV\": [\n\t\t\t\"503\",\n\t\t\t\"[267]\\\\d{7}|[89]\\\\d{6}(?:\\\\d{4})?\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[267]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[89]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[89]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"SX\": [\n\t\t\t\"1\",\n\t\t\t\"[5789]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"721\"\n\t\t],\n\t\t\"SY\": [\n\t\t\t\"963\",\n\t\t\t\"[1-59]\\\\d{7,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[1-5]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(9\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"9\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\ttrue\n\t\t],\n\t\t\"SZ\": [\n\t\t\t\"268\",\n\t\t\t\"[027]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[027]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"TA\": [\n\t\t\t\"290\",\n\t\t\t\"8\\\\d{3}\",\n\t\t\t[],\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"8\\\\d{3}\"\n\t\t\t]\n\t\t],\n\t\t\"TC\": [\n\t\t\t\"1\",\n\t\t\t\"[5689]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"649\"\n\t\t],\n\t\t\"TD\": [\n\t\t\t\"235\",\n\t\t\t\"[2679]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"TG\": [\n\t\t\t\"228\",\n\t\t\t\"[29]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[29]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"TH\": [\n\t\t\t\"66\",\n\t\t\t\"[2-9]\\\\d{7,8}|1\\\\d{3}(?:\\\\d{5,6})?\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(2)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([13-9]\\\\d)(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"14|[3-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1[89]00)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"TJ\": [\n\t\t\t\"992\",\n\t\t\t\"[3-57-9]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([349]\\\\d{2})(\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[34]7|91[78]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([457-9]\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"4[148]|[578]|9(?:1[59]|[0235-9])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(331700)(\\\\d)(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"331\",\n\t\t\t\t\t\t\"3317\",\n\t\t\t\t\t\t\"33170\",\n\t\t\t\t\t\t\"331700\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d)(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"3[1-5]\",\n\t\t\t\t\t\t\"3(?:[1245]|3(?:[02-9]|1[0-589]))\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"8\",\n\t\t\t\"$1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\ttrue\n\t\t],\n\t\t\"TK\": [\n\t\t\t\"690\",\n\t\t\t\"[2-47]\\\\d{3,6}\"\n\t\t],\n\t\t\"TL\": [\n\t\t\t\"670\",\n\t\t\t\"[2-489]\\\\d{6}|7\\\\d{6,7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-489]|70\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"7[3-8]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"TM\": [\n\t\t\t\"993\",\n\t\t\t\"[1-6]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2-$3-$4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"12\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"6\"\n\t\t\t\t\t],\n\t\t\t\t\t\"8 $1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d)(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2-$3-$4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"13|[2-5]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"8\",\n\t\t\t\"(8 $1)\"\n\t\t],\n\t\t\"TN\": [\n\t\t\t\"216\",\n\t\t\t\"[2-57-9]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"TO\": [\n\t\t\t\"676\",\n\t\t\t\"[02-8]\\\\d{4,6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[1-6]|7[0-4]|8[05]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"7[5-9]|8[47-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"0\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"TR\": [\n\t\t\t\"90\",\n\t\t\t\"[2-589]\\\\d{9}|444\\\\d{4}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[23]|4(?:[0-35-9]|4[0-35-9])\"\n\t\t\t\t\t],\n\t\t\t\t\t\"(0$1)\",\n\t\t\t\t\t\"true\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"5[02-69]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\",\n\t\t\t\t\t\"true\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"51|[89]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\",\n\t\t\t\t\t\"true\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(444)(\\\\d{1})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"444\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\"\n\t\t],\n\t\t\"TT\": [\n\t\t\t\"1\",\n\t\t\t\"[589]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"868\"\n\t\t],\n\t\t\"TV\": [\n\t\t\t\"688\",\n\t\t\t\"[279]\\\\d{4,6}\"\n\t\t],\n\t\t\"TW\": [\n\t\t\t\"886\",\n\t\t\t\"2\\\\d{6,8}|[3-689]\\\\d{7,8}|7\\\\d{7,9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(20)(\\\\d)(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"202\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(20)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"20[013-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([2-8])(\\\\d{3,4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2[23-8]|[3-6]|[78][1-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([89]\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"80|9\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(70)(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"70\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"TZ\": [\n\t\t\t\"255\",\n\t\t\t\"\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([24]\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[24]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([67]\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[67]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([89]\\\\d{2})(\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[89]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"UA\": [\n\t\t\t\"380\",\n\t\t\t\"[3-9]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([3-9]\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[38]9|4(?:[45][0-5]|87)|5(?:0|6[37]|7[37])|6[36-8]|7|9[1-9]\",\n\t\t\t\t\t\t\"[38]9|4(?:[45][0-5]|87)|5(?:0|6(?:3[14-7]|7)|7[37])|6[36-8]|7|9[1-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([3-689]\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"3[1-8]2|4[13678]2|5(?:[12457]2|6[24])|6(?:[49]2|[12][29]|5[24])|8[0-8]|90\",\n\t\t\t\t\t\t\"3(?:[1-46-8]2[013-9]|52)|4(?:[1378]2|62[013-9])|5(?:[12457]2|6[24])|6(?:[49]2|[12][29]|5[24])|8[0-8]|90\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([3-6]\\\\d{3})(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"3(?:5[013-9]|[1-46-8])|4(?:[137][013-9]|6|[45][6-9]|8[4-6])|5(?:[1245][013-9]|6[0135-9]|3|7[4-6])|6(?:[49][013-9]|5[0135-9]|[12][13-8])\",\n\t\t\t\t\t\t\"3(?:5[013-9]|[1-46-8](?:22|[013-9]))|4(?:[137][013-9]|6(?:[013-9]|22)|[45][6-9]|8[4-6])|5(?:[1245][013-9]|6(?:3[02389]|[015689])|3|7[4-6])|6(?:[49][013-9]|5[0135-9]|[12][13-8])\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"UG\": [\n\t\t\t\"256\",\n\t\t\t\"\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[7-9]|20(?:[013-8]|2[5-9])|4(?:6[45]|[7-9])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{7})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"3|4(?:[1-5]|6[0-36-9])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(2024)(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2024\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"US\": [\n\t\t\t\"1\",\n\t\t\t\"[2-9]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\ttrue,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"(?:2(?:0[1-35-9]|1[02-9]|2[04589]|3[149]|4[08]|5[1-46]|6[0279]|7[026]|8[13])|3(?:0[1-57-9]|1[02-9]|2[0135]|3[0-24679]|4[67]|5[12]|6[014]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[0235]|58|6[39]|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[19]|6[1-37]|7[013-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[16]|5[017]|6[0-279]|78|8[012])|7(?:0[1-46-8]|1[02-9]|2[0457]|3[1247]|4[037]|5[47]|6[02359]|7[02-59]|8[156])|8(?:0[1-68]|1[02-8]|28|3[0-25]|4[3578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[014678]|4[0179]|5[12469]|7[0-3589]|8[0459]))[2-9]\\\\d{6}\",\n\t\t\t\tnull,\n\t\t\t\t\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",\n\t\t\t\t\"900[2-9]\\\\d{6}\",\n\t\t\t\t\"5(?:00|22|33|44|66|77|88)[2-9]\\\\d{6}\"\n\t\t\t]\n\t\t],\n\t\t\"UY\": [\n\t\t\t\"598\",\n\t\t\t\"[2489]\\\\d{6,7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[24]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"9[1-9]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[89]0\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\"\n\t\t],\n\t\t\"UZ\": [\n\t\t\t\"998\",\n\t\t\t\"[679]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([679]\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"8\",\n\t\t\t\"8 $1\"\n\t\t],\n\t\t\"VA\": [\n\t\t\t\"39\",\n\t\t\t\"(?:0(?:878\\\\d{5}|6698\\\\d{5})|[1589]\\\\d{5,10}|3(?:[12457-9]\\\\d{8}|[36]\\\\d{7,9}))\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"0[26]|55\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(0[26])(\\\\d{4})(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"0[26]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(0[26])(\\\\d{4,6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"0[26]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(0\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"0[13-57-9][0159]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3,6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"0[13-57-9][0159]|8(?:03|4[17]|9[245])\",\n\t\t\t\t\t\t\"0[13-57-9][0159]|8(?:03|4[17]|9(?:2|[45][0-4]))\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(0\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"0[13-57-9][2-46-8]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(0\\\\d{3})(\\\\d{2,6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"0[13-57-9][2-46-8]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[13]|8(?:00|4[08]|9[59])\",\n\t\t\t\t\t\t\"[13]|8(?:00|4[08]|9(?:5[5-9]|9))\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"894\",\n\t\t\t\t\t\t\"894[5-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"3\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"06698\\\\d{5}\",\n\t\t\t\t\"3(?:[12457-9]\\\\d{8}|6\\\\d{7,8}|3\\\\d{7,9})\",\n\t\t\t\t\"80(?:0\\\\d{6}|3\\\\d{3})\",\n\t\t\t\t\"0878\\\\d{5}|1(?:44|6[346])\\\\d{6}|89(?:2\\\\d{3}|4(?:[0-4]\\\\d{2}|[5-9]\\\\d{4})|5(?:[0-4]\\\\d{2}|[5-9]\\\\d{6})|9\\\\d{6})\",\n\t\t\t\t\"1(?:78\\\\d|99)\\\\d{6}\",\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\t\"55\\\\d{8}\",\n\t\t\t\t\"84(?:[08]\\\\d{6}|[17]\\\\d{3})\"\n\t\t\t]\n\t\t],\n\t\t\"VC\": [\n\t\t\t\"1\",\n\t\t\t\"[5789]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"784\"\n\t\t],\n\t\t\"VE\": [\n\t\t\t\"58\",\n\t\t\t\"[24589]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{7})\",\n\t\t\t\t\t\"$1-$2\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"VG\": [\n\t\t\t\"1\",\n\t\t\t\"[2589]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"284\"\n\t\t],\n\t\t\"VI\": [\n\t\t\t\"1\",\n\t\t\t\"[3589]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"340\"\n\t\t],\n\t\t\"VN\": [\n\t\t\t\"84\",\n\t\t\t\"[167]\\\\d{6,9}|[2-59]\\\\d{7,9}|8\\\\d{6,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([17]99)(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[17]99\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([48])(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"4|8(?:[2-5]|6[236]|7[13])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{4})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2[48]|5[5-9]|6[0-46-8]|7[0235]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(80)(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"80\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(69\\\\d)(\\\\d{4,5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"69\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2[0-35-79]|50|65\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([89]\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8(?:8|9[89])|9\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1[2689]\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:[26]|8[68]|99)\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(86[89])(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"86[89]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1[89]00)(\\\\d{4,6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1[89]0\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\ttrue\n\t\t],\n\t\t\"VU\": [\n\t\t\t\"678\",\n\t\t\t\"[2-57-9]\\\\d{4,6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[579]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"WF\": [\n\t\t\t\"681\",\n\t\t\t\"[4-8]\\\\d{5}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"WS\": [\n\t\t\t\"685\",\n\t\t\t\"[2-8]\\\\d{4,6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(8\\\\d{2})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(7\\\\d)(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"7\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{5})\",\n\t\t\t\t\t\"$1\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-6]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"YE\": [\n\t\t\t\"967\",\n\t\t\t\"[1-7]\\\\d{6,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([1-7])(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[1-6]|7[24-68]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(7\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"7[0137]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"YT\": [\n\t\t\t\"262\",\n\t\t\t\"[268]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([268]\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"269|63\"\n\t\t],\n\t\t\"ZA\": [\n\t\t\t\"27\",\n\t\t\t\"[1-79]\\\\d{8}|8\\\\d{4,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(860)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"860\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8[1-4]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8[1-4]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[1-79]|8(?:[0-57]|6[1-9])\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"ZM\": [\n\t\t\t\"260\",\n\t\t\t\"[289]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([29]\\\\d)(\\\\d{7})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[29]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(800)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"ZW\": [\n\t\t\t\"263\",\n\t\t\t\"2(?:[0-2457-9]\\\\d{3,8}|6(?:[14]\\\\d{7}|\\\\d{4}))|[13-79]\\\\d{4,9}|8[06]\\\\d{5,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([49])(\\\\d{3})(\\\\d{2,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"4|9[2-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(7\\\\d)(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"7\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(86\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"86[24]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([2356]\\\\d{2})(\\\\d{3,5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2(?:0[45]|2[278]|[49]8|[78])|3(?:08|17|3[78]|7[1569]|8[37]|98)|5[15][78]|6(?:[29]8|[38]7|6[78]|75|[89]8)\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2(?:1[39]|2[0157]|31|[56][14]|7[35]|84)|329\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([1-356]\\\\d)(\\\\d{3,5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1[3-9]|2[02569]|3[0-69]|5[05689]|6\\\\d\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([235]\\\\d)(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[23]9|54\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([25]\\\\d{3})(\\\\d{3,5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"(?:25|54)8\",\n\t\t\t\t\t\t\"258[23]|5483\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(8\\\\d{3})(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"86\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(80\\\\d)(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"80\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"001\": [\n\t\t\t\"979\",\n\t\t\t\"\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\"\n\t\t\t\t]\n\t\t\t]\n\t\t]\n\t}\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/libphonenumber-js/metadata.min.json\n// module id = 1426\n// module chunks = 0","module.exports = {\n\t\"version\": \"2017c\",\n\t\"zones\": [\n\t\t\"Africa/Abidjan|LMT GMT|g.8 0|01|-2ldXH.Q|48e5\",\n\t\t\"Africa/Accra|LMT GMT +0020|.Q 0 -k|012121212121212121212121212121212121212121212121|-26BbX.8 6tzX.8 MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE|41e5\",\n\t\t\"Africa/Nairobi|LMT EAT +0230 +0245|-2r.g -30 -2u -2J|01231|-1F3Cr.g 3Dzr.g okMu MFXJ|47e5\",\n\t\t\"Africa/Algiers|PMT WET WEST CET CEST|-9.l 0 -10 -10 -20|0121212121212121343431312123431213|-2nco9.l cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 DA0 Imo0 rd0 De0 9Xz0 1fb0 1ap0 16K0 2yo0 mEp0 hwL0 jxA0 11A0 dDd0 17b0 11B0 1cN0 2Dy0 1cN0 1fB0 1cL0|26e5\",\n\t\t\"Africa/Lagos|LMT WAT|-d.A -10|01|-22y0d.A|17e6\",\n\t\t\"Africa/Bissau|LMT -01 GMT|12.k 10 0|012|-2ldWV.E 2xonV.E|39e4\",\n\t\t\"Africa/Maputo|LMT CAT|-2a.k -20|01|-2GJea.k|26e5\",\n\t\t\"Africa/Cairo|EET EEST|-20 -30|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1bIO0 vb0 1ip0 11z0 1iN0 1nz0 12p0 1pz0 10N0 1pz0 16p0 1jz0 s3d0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1WL0 rd0 1Rz0 wp0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1qL0 Xd0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1ny0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 WL0 1qN0 Rb0 1wp0 On0 1zd0 Lz0 1EN0 Fb0 c10 8n0 8Nd0 gL0 e10 mn0|15e6\",\n\t\t\"Africa/Casablanca|LMT WET WEST CET|u.k 0 -10 -10|0121212121212121213121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2gMnt.E 130Lt.E rb0 Dd0 dVb0 b6p0 TX0 EoB0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4mn0 SyN0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 Rc0 11A0 e00 e00 U00 11A0 8o0 e00 11A0 11A0 5A0 e00 17c0 1fA0 1a00 1a00 1fA0 17c0 1io0 14o0 1lc0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1lc0 14o0 1fA0|32e5\",\n\t\t\"Africa/Ceuta|WET WEST CET CEST|0 -10 -10 -20|010101010101010101010232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-25KN0 11z0 drd0 18p0 3HX0 17d0 1fz0 1a10 1io0 1a00 1y7o0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4VB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|85e3\",\n\t\t\"Africa/El_Aaiun|LMT -01 WET WEST|Q.M 10 0 -10|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1rDz7.c 1GVA7.c 6L0 AL0 1Nd0 XX0 1Cp0 pz0 1cBB0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 Rc0 11A0 e00 e00 U00 11A0 8o0 e00 11A0 11A0 5A0 e00 17c0 1fA0 1a00 1a00 1fA0 17c0 1io0 14o0 1lc0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1lc0 14o0 1fA0|20e4\",\n\t\t\"Africa/Johannesburg|SAST SAST SAST|-1u -20 -30|012121|-2GJdu 1Ajdu 1cL0 1cN0 1cL0|84e5\",\n\t\t\"Africa/Juba|LMT CAT CAST EAT|-26.s -20 -30 -30|01212121212121212121212121212121213|-1yW26.s 1zK06.s 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0\",\n\t\t\"Africa/Khartoum|LMT CAT CAST EAT|-2a.8 -20 -30 -30|012121212121212121212121212121212131|-1yW2a.8 1zK0a.8 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0 HjL0|51e5\",\n\t\t\"Africa/Monrovia|MMT MMT GMT|H.8 I.u 0|012|-23Lzg.Q 28G01.m|11e5\",\n\t\t\"Africa/Ndjamena|LMT WAT WAST|-10.c -10 -20|0121|-2le10.c 2J3c0.c Wn0|13e5\",\n\t\t\"Africa/Tripoli|LMT CET CEST EET|-Q.I -10 -20 -20|012121213121212121212121213123123|-21JcQ.I 1hnBQ.I vx0 4iP0 xx0 4eN0 Bb0 7ip0 U0n0 A10 1db0 1cN0 1db0 1dd0 1db0 1eN0 1bb0 1e10 1cL0 1c10 1db0 1dd0 1db0 1cN0 1db0 1q10 fAn0 1ep0 1db0 AKq0 TA0 1o00|11e5\",\n\t\t\"Africa/Tunis|PMT CET CEST|-9.l -10 -20|0121212121212121212121212121212121|-2nco9.l 18pa9.l 1qM0 DA0 3Tc0 11B0 1ze0 WM0 7z0 3d0 14L0 1cN0 1f90 1ar0 16J0 1gXB0 WM0 1rA0 11c0 nwo0 Ko0 1cM0 1cM0 1rA0 10M0 zuM0 10N0 1aN0 1qM0 WM0 1qM0 11A0 1o00|20e5\",\n\t\t\"Africa/Windhoek|+0130 SAST SAST CAT WAT WAST|-1u -20 -30 -20 -10 -20|01213454545454545454545454545454545454545454545454543|-2GJdu 1Ajdu 1cL0 1SqL0 9Io0 16P0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0|32e4\",\n\t\t\"America/Adak|NST NWT NPT BST BDT AHST HST HDT|b0 a0 a0 b0 a0 a0 a0 90|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17SX0 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|326\",\n\t\t\"America/Anchorage|AST AWT APT AHST AHDT YST AKST AKDT|a0 90 90 a0 90 90 90 80|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17T00 8wX0 iA0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|30e4\",\n\t\t\"America/Port_of_Spain|LMT AST|46.4 40|01|-2kNvR.U|43e3\",\n\t\t\"America/Araguaina|LMT -03 -02|3c.M 30 20|0121212121212121212121212121212121212121212121212121|-2glwL.c HdKL.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 ny10 Lz0|14e4\",\n\t\t\"America/Argentina/Buenos_Aires|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 A4p0 uL0 1qN0 WL0\",\n\t\t\"America/Argentina/Catamarca|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323132321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 7B0 8zb0 uL0\",\n\t\t\"America/Argentina/Cordoba|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323132323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0 1qN0 WL0\",\n\t\t\"America/Argentina/Jujuy|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323121323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1ze0 TX0 1ld0 WK0 1wp0 TX0 A4p0 uL0\",\n\t\t\"America/Argentina/La_Rioja|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0\",\n\t\t\"America/Argentina/Mendoza|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232312121321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1u20 SL0 1vd0 Tb0 1wp0 TW0 ri10 Op0 7TX0 uL0\",\n\t\t\"America/Argentina/Rio_Gallegos|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0\",\n\t\t\"America/Argentina/Salta|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0\",\n\t\t\"America/Argentina/San_Juan|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rld0 m10 8lb0 uL0\",\n\t\t\"America/Argentina/San_Luis|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323121212321212|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 XX0 1q20 SL0 AN0 vDb0 m10 8lb0 8L0 jd0 1qN0 WL0 1qN0\",\n\t\t\"America/Argentina/Tucuman|CMT -04 -03 -02|4g.M 40 30 20|0121212121212121212121212121212121212121212323232313232123232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 4N0 8BX0 uL0 1qN0 WL0\",\n\t\t\"America/Argentina/Ushuaia|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rkN0 8p0 8zb0 uL0\",\n\t\t\"America/Curacao|LMT -0430 AST|4z.L 4u 40|012|-2kV7o.d 28KLS.d|15e4\",\n\t\t\"America/Asuncion|AMT -04 -03|3O.E 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-1x589.k 1DKM9.k 3CL0 3Dd0 10L0 1pB0 10n0 1pB0 10n0 1pB0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1lB0 14n0 1dd0 1cL0 1fd0 WL0 1rd0 1aL0 1dB0 Xz0 1qp0 Xb0 1qN0 10L0 1rB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 WN0 1qL0 11B0 1nX0 1ip0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 TX0 1tB0 19X0 1a10 1fz0 1a10 1fz0 1cN0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0|28e5\",\n\t\t\"America/Atikokan|CST CDT CWT CPT EST|60 50 50 50 50|0101234|-25TQ0 1in0 Rnb0 3je0 8x30 iw0|28e2\",\n\t\t\"America/Bahia|LMT -03 -02|2y.4 30 20|01212121212121212121212121212121212121212121212121212121212121|-2glxp.U HdLp.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 l5B0 Rb0|27e5\",\n\t\t\"America/Bahia_Banderas|LMT MST CST PST MDT CDT|71 70 60 80 60 50|0121212131414141414141414141414141414152525252525252525252525252525252525252525252525252525252|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nW0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|84e3\",\n\t\t\"America/Barbados|LMT BMT AST ADT|3W.t 3W.t 40 30|01232323232|-1Q0I1.v jsM0 1ODC1.v IL0 1ip0 17b0 1ip0 17b0 1ld0 13b0|28e4\",\n\t\t\"America/Belem|LMT -03 -02|3d.U 30 20|012121212121212121212121212121|-2glwK.4 HdKK.4 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0|20e5\",\n\t\t\"America/Belize|LMT CST -0530 CDT|5Q.M 60 5u 50|01212121212121212121212121212121212121212121212121213131|-2kBu7.c fPA7.c Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1f0Mu qn0 lxB0 mn0|57e3\",\n\t\t\"America/Blanc-Sablon|AST ADT AWT APT|40 30 30 30|010230|-25TS0 1in0 UGp0 8x50 iu0|11e2\",\n\t\t\"America/Boa_Vista|LMT -04 -03|42.E 40 30|0121212121212121212121212121212121|-2glvV.k HdKV.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 smp0 WL0 1tB0 2L0|62e2\",\n\t\t\"America/Bogota|BMT -05 -04|4U.g 50 40|0121|-2eb73.I 38yo3.I 2en0|90e5\",\n\t\t\"America/Boise|PST PDT MST MWT MPT MDT|80 70 70 60 60 60|0101023425252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-261q0 1nX0 11B0 1nX0 8C10 JCL0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 Dd0 1Kn0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e4\",\n\t\t\"America/Cambridge_Bay|-00 MST MWT MPT MDDT MDT CST CDT EST|0 70 60 60 50 60 60 50 50|0123141515151515151515151515151515151515151515678651515151515151515151515151515151515151515151515151515151515151515151515151|-21Jc0 RO90 8x20 ix0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11A0 1nX0 2K0 WQ0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e2\",\n\t\t\"America/Campo_Grande|LMT -04 -03|3C.s 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2glwl.w HdLl.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1C10 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1C10 Lz0 1C10 Lz0 1C10 Lz0 1C10 On0 1zd0 Rb0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0|77e4\",\n\t\t\"America/Cancun|LMT CST EST EDT CDT|5L.4 60 50 40 50|0123232341414141414141414141414141414141412|-1UQG0 2q2o0 yLB0 1lb0 14p0 1lb0 14p0 Lz0 xB0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 Dd0|63e4\",\n\t\t\"America/Caracas|CMT -0430 -04|4r.E 4u 40|01212|-2kV7w.k 28KM2.k 1IwOu kqo0|29e5\",\n\t\t\"America/Cayenne|LMT -04 -03|3t.k 40 30|012|-2mrwu.E 2gWou.E|58e3\",\n\t\t\"America/Panama|CMT EST|5j.A 50|01|-2uduE.o|15e5\",\n\t\t\"America/Chicago|CST CDT EST CWT CPT|60 50 50 50 50|01010101010101010101010101010101010102010101010103401010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 1wp0 TX0 WN0 1qL0 1cN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 11B0 1Hz0 14p0 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|92e5\",\n\t\t\"America/Chihuahua|LMT MST CST CDT MDT|74.k 70 60 50 60|0121212323241414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|81e4\",\n\t\t\"America/Costa_Rica|SJMT CST CDT|5A.d 60 50|0121212121|-1Xd6n.L 2lu0n.L Db0 1Kp0 Db0 pRB0 15b0 1kp0 mL0|12e5\",\n\t\t\"America/Creston|MST PST|70 80|010|-29DR0 43B0|53e2\",\n\t\t\"America/Cuiaba|LMT -04 -03|3I.k 40 30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2glwf.E HdLf.E 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 4a10 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1C10 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1C10 Lz0 1C10 Lz0 1C10 Lz0 1C10 On0 1zd0 Rb0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0|54e4\",\n\t\t\"America/Danmarkshavn|LMT -03 -02 GMT|1e.E 30 20 0|01212121212121212121212121212121213|-2a5WJ.k 2z5fJ.k 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 DC0|8\",\n\t\t\"America/Dawson|YST YDT YWT YPT YDDT PST PDT|90 80 80 80 70 80 70|0101023040565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-25TN0 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 jrA0 fNd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|13e2\",\n\t\t\"America/Dawson_Creek|PST PDT PWT PPT MST|80 70 70 70 70|0102301010101010101010101010101010101010101010101010101014|-25TO0 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 ML0|12e3\",\n\t\t\"America/Denver|MST MDT MWT MPT|70 60 60 60|01010101023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 1nX0 11B0 1nX0 11B0 1qL0 WN0 mn0 Ord0 8x20 ix0 LCN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e5\",\n\t\t\"America/Detroit|LMT CST EST EWT EPT EDT|5w.b 60 50 40 40 40|012342525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2Cgir.N peqr.N 156L0 8x40 iv0 6fd0 11z0 XQp0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e5\",\n\t\t\"America/Edmonton|LMT MST MDT MWT MPT|7x.Q 70 60 60 60|01212121212121341212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2yd4q.8 shdq.8 1in0 17d0 hz0 2dB0 1fz0 1a10 11z0 1qN0 WL0 1qN0 11z0 IGN0 8x20 ix0 3NB0 11z0 LFB0 1cL0 3Cp0 1cL0 66N0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|10e5\",\n\t\t\"America/Eirunepe|LMT -05 -04|4D.s 50 40|0121212121212121212121212121212121|-2glvk.w HdLk.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0 yTd0 d5X0|31e3\",\n\t\t\"America/El_Salvador|LMT CST CDT|5U.M 60 50|012121|-1XiG3.c 2Fvc3.c WL0 1qN0 WL0|11e5\",\n\t\t\"America/Tijuana|LMT MST PST PDT PWT PPT|7M.4 70 80 70 70 70|012123245232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQE0 4PX0 8mM0 8lc0 SN0 1cL0 pHB0 83r0 zI0 5O10 1Rz0 cOO0 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 BUp0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|20e5\",\n\t\t\"America/Fort_Nelson|PST PDT PWT PPT MST|80 70 70 70 70|01023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010104|-25TO0 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0|39e2\",\n\t\t\"America/Fort_Wayne|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|010101023010101010101010101040454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 QI10 Db0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 5Tz0 1o10 qLb0 1cL0 1cN0 1cL0 1qhd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\n\t\t\"America/Fortaleza|LMT -03 -02|2y 30 20|0121212121212121212121212121212121212121|-2glxq HdLq 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 5z0 2mN0 On0|34e5\",\n\t\t\"America/Glace_Bay|LMT AST ADT AWT APT|3X.M 40 30 30 30|012134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsI0.c CwO0.c 1in0 UGp0 8x50 iu0 iq10 11z0 Jg10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|19e3\",\n\t\t\"America/Godthab|LMT -03 -02|3q.U 30 20|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5Ux.4 2z5dx.4 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e3\",\n\t\t\"America/Goose_Bay|NST NDT NST NDT NWT NPT AST ADT ADDT|3u.Q 2u.Q 3u 2u 2u 2u 40 30 20|010232323232323245232323232323232323232323232323232323232326767676767676767676767676767676767676767676768676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-25TSt.8 1in0 DXb0 2HbX.8 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 S10 g0u 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|76e2\",\n\t\t\"America/Grand_Turk|KMT EST EDT AST|57.b 50 40 40|01212121212121212121212121212121212121212121212121212121212121212121212121232121212121212121212121212121212121212121|-2l1uQ.N 2HHBQ.N 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 5Ip0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e2\",\n\t\t\"America/Guatemala|LMT CST CDT|62.4 60 50|0121212121|-24KhV.U 2efXV.U An0 mtd0 Nz0 ifB0 17b0 zDB0 11z0|13e5\",\n\t\t\"America/Guayaquil|QMT -05 -04|5e 50 40|0121|-1yVSK 2uILK rz0|27e5\",\n\t\t\"America/Guyana|LMT -0345 -03 -04|3Q.E 3J 30 40|0123|-2dvU7.k 2r6LQ.k Bxbf|80e4\",\n\t\t\"America/Halifax|LMT AST ADT AWT APT|4e.o 40 30 30 30|0121212121212121212121212121212121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsHJ.A xzzJ.A 1db0 3I30 1in0 3HX0 IL0 1E10 ML0 1yN0 Pb0 1Bd0 Mn0 1Bd0 Rz0 1w10 Xb0 1w10 LX0 1w10 Xb0 1w10 Lz0 1C10 Jz0 1E10 OL0 1yN0 Un0 1qp0 Xb0 1qp0 11X0 1w10 Lz0 1HB0 LX0 1C10 FX0 1w10 Xb0 1qp0 Xb0 1BB0 LX0 1td0 Xb0 1qp0 Xb0 Rf0 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 6i10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|39e4\",\n\t\t\"America/Havana|HMT CST CDT|5t.A 50 40|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Meuu.o 72zu.o ML0 sld0 An0 1Nd0 Db0 1Nd0 An0 6Ep0 An0 1Nd0 An0 JDd0 Mn0 1Ap0 On0 1fd0 11X0 1qN0 WL0 1wp0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 14n0 1ld0 14L0 1kN0 15b0 1kp0 1cL0 1cN0 1fz0 1a10 1fz0 1fB0 11z0 14p0 1nX0 11B0 1nX0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 1a10 1in0 1a10 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 17c0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 11A0 6i00 Rc0 1wo0 U00 1tA0 Rc0 1wo0 U00 1wo0 U00 1zc0 U00 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0|21e5\",\n\t\t\"America/Hermosillo|LMT MST CST PST MDT|7n.Q 70 60 80 60|0121212131414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0|64e4\",\n\t\t\"America/Indiana/Knox|CST CDT CWT CPT EST|60 50 50 50 50|0101023010101010101010101010101010101040101010101010101010101010101010101010101010101010141010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 3Cn0 8wp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 z8o0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\n\t\t\"America/Indiana/Marengo|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101023010101010101010104545454545414545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 dyN0 11z0 6fd0 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1e6p0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\n\t\t\"America/Indiana/Petersburg|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010104010101010101010101010141014545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 njX0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 3Fb0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 19co0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\n\t\t\"America/Indiana/Tell_City|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010454541010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 g0p0 11z0 1o10 11z0 1qL0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 caL0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\n\t\t\"America/Indiana/Vevay|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|010102304545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 kPB0 Awn0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1lnd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\n\t\t\"America/Indiana/Vincennes|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010454541014545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 g0p0 11z0 1o10 11z0 1qL0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 caL0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\n\t\t\"America/Indiana/Winamac|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010101010454541054545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1za0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\n\t\t\"America/Inuvik|-00 PST PDDT MST MDT|0 80 60 70 60|0121343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-FnA0 tWU0 1fA0 wPe0 2pz0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|35e2\",\n\t\t\"America/Iqaluit|-00 EWT EPT EST EDDT EDT CST CDT|0 40 40 50 30 40 60 50|01234353535353535353535353535353535353535353567353535353535353535353535353535353535353535353535353535353535353535353535353|-16K00 7nX0 iv0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|67e2\",\n\t\t\"America/Jamaica|KMT EST EDT|57.b 50 40|0121212121212121212121|-2l1uQ.N 2uM1Q.N 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0|94e4\",\n\t\t\"America/Juneau|PST PWT PPT PDT YDT YST AKST AKDT|80 70 70 70 80 90 90 80|01203030303030303030303030403030356767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cM0 1cM0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|33e3\",\n\t\t\"America/Kentucky/Louisville|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101010102301010101010101010101010101454545454545414545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 3Fd0 Nb0 LPd0 11z0 RB0 8x30 iw0 Bb0 10N0 2bB0 8in0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 xz0 gso0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\n\t\t\"America/Kentucky/Monticello|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101023010101010101010101010101010101010101010101010101010101010101010101454545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 SWp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\n\t\t\"America/La_Paz|CMT BOST -04|4w.A 3w.A 40|012|-1x37r.o 13b0|19e5\",\n\t\t\"America/Lima|LMT -05 -04|58.A 50 40|0121212121212121|-2tyGP.o 1bDzP.o zX0 1aN0 1cL0 1cN0 1cL0 1PrB0 zX0 1O10 zX0 6Gp0 zX0 98p0 zX0|11e6\",\n\t\t\"America/Los_Angeles|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 1nX0 11B0 1nX0 SgN0 8x10 iy0 5Wp1 1VaX 3dA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e6\",\n\t\t\"America/Maceio|LMT -03 -02|2m.Q 30 20|012121212121212121212121212121212121212121|-2glxB.8 HdLB.8 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 8Q10 WL0 1tB0 5z0 2mN0 On0|93e4\",\n\t\t\"America/Managua|MMT CST EST CDT|5J.c 60 50 50|0121313121213131|-1quie.M 1yAMe.M 4mn0 9Up0 Dz0 1K10 Dz0 s3F0 1KH0 DB0 9In0 k8p0 19X0 1o30 11y0|22e5\",\n\t\t\"America/Manaus|LMT -04 -03|40.4 40 30|01212121212121212121212121212121|-2glvX.U HdKX.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0|19e5\",\n\t\t\"America/Martinique|FFMT AST ADT|44.k 40 30|0121|-2mPTT.E 2LPbT.E 19X0|39e4\",\n\t\t\"America/Matamoros|LMT CST CDT|6E 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|45e4\",\n\t\t\"America/Mazatlan|LMT MST CST PST MDT|75.E 70 60 80 60|0121212131414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|44e4\",\n\t\t\"America/Menominee|CST CDT CWT CPT EST|60 50 50 50 50|01010230101041010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 LCN0 1fz0 6410 9Jb0 1cM0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|85e2\",\n\t\t\"America/Merida|LMT CST EST CDT|5W.s 60 50 50|0121313131313131313131313131313131313131313131313131313131313131313131313131313131313131|-1UQG0 2q2o0 2hz0 wu30 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|11e5\",\n\t\t\"America/Metlakatla|PST PWT PPT PDT AKST AKDT|80 70 70 70 90 80|0120303030303030303030303030303030454545454545454545454545454545454545454545454|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1hU10 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2\",\n\t\t\"America/Mexico_City|LMT MST CST CDT CWT|6A.A 70 60 50 50|012121232324232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 gEn0 TX0 3xd0 Jb0 6zB0 SL0 e5d0 17b0 1Pff0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|20e6\",\n\t\t\"America/Miquelon|LMT AST -03 -02|3I.E 40 30 20|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2mKkf.k 2LTAf.k gQ10 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|61e2\",\n\t\t\"America/Moncton|EST AST ADT AWT APT|50 40 30 30 30|012121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsH0 CwN0 1in0 zAo0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1K10 Lz0 1zB0 NX0 1u10 Wn0 S20 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14n1 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 ReX 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|64e3\",\n\t\t\"America/Monterrey|LMT CST CDT|6F.g 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|41e5\",\n\t\t\"America/Montevideo|MMT -0330 -03 -02 -0230|3I.I 3u 30 20 2u|012121212121212121212121213232323232324242423243232323232323232323232323232323232323232|-20UIf.g 8jzJ.g 1cLu 1dcu 1cLu 1dcu 1cLu ircu 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu WLu 1qMu WLu 1qMu 11zu 1o0u 11zu NAu 11bu 2iMu zWu Dq10 19X0 pd0 jz0 cm10 19X0 1fB0 1on0 11d0 1oL0 1nB0 1fzu 1aou 1fzu 1aou 1fzu 3nAu Jb0 3MN0 1SLu 4jzu 2PB0 Lb0 3Dd0 1pb0 ixd0 An0 1MN0 An0 1wp0 On0 1wp0 Rb0 1zd0 On0 1wp0 Rb0 s8p0 1fB0 1ip0 11z0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 11z0|17e5\",\n\t\t\"America/Toronto|EST EDT EWT EPT|50 40 40 40|01010101010101010101010101010101010101010101012301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TR0 1in0 11Wu 1nzu 1fD0 WJ0 1wr0 Nb0 1Ap0 On0 1zd0 On0 1wp0 TX0 1tB0 TX0 1tB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 4kM0 8x40 iv0 1o10 11z0 1nX0 11z0 1o10 11z0 1o10 1qL0 11D0 1nX0 11B0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e5\",\n\t\t\"America/Nassau|LMT EST EDT|59.u 50 40|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2kNuO.u 26XdO.u 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|24e4\",\n\t\t\"America/New_York|EST EDT EWT EPT|50 40 40 40|01010101010101010101010101010101010101010101010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 1nX0 11B0 1nX0 11B0 1qL0 1a10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x40 iv0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e6\",\n\t\t\"America/Nipigon|EST EDT EWT EPT|50 40 40 40|010123010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TR0 1in0 Rnb0 3je0 8x40 iv0 19yN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|16e2\",\n\t\t\"America/Nome|NST NWT NPT BST BDT YST AKST AKDT|b0 a0 a0 b0 a0 90 90 80|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17SX0 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cl0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|38e2\",\n\t\t\"America/Noronha|LMT -02 -01|29.E 20 10|0121212121212121212121212121212121212121|-2glxO.k HdKO.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|30e2\",\n\t\t\"America/North_Dakota/Beulah|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101014545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\n\t\t\"America/North_Dakota/Center|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101014545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\n\t\t\"America/North_Dakota/New_Salem|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101454545454545454545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\n\t\t\"America/Ojinaga|LMT MST CST CDT MDT|6V.E 70 60 50 60|0121212323241414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e3\",\n\t\t\"America/Pangnirtung|-00 AST AWT APT ADDT ADT EDT EST CST CDT|0 40 30 30 20 30 40 50 60 50|012314151515151515151515151515151515167676767689767676767676767676767676767676767676767676767676767676767676767676767676767|-1XiM0 PnG0 8x50 iu0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1o00 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2\",\n\t\t\"America/Paramaribo|LMT PMT PMT -0330 -03|3E.E 3E.Q 3E.A 3u 30|01234|-2nDUj.k Wqo0.c qanX.I 1yVXN.o|24e4\",\n\t\t\"America/Phoenix|MST MDT MWT|70 60 60|01010202010|-261r0 1nX0 11B0 1nX0 SgN0 4Al1 Ap0 1db0 SWqX 1cL0|42e5\",\n\t\t\"America/Port-au-Prince|PPMT EST EDT|4N 50 40|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-28RHb 2FnMb 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14q0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 i6n0 1nX0 11B0 1nX0 d430 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 3iN0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5\",\n\t\t\"America/Rio_Branco|LMT -05 -04|4v.c 50 40|01212121212121212121212121212121|-2glvs.M HdLs.M 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0 d5X0|31e4\",\n\t\t\"America/Porto_Velho|LMT -04 -03|4f.A 40 30|012121212121212121212121212121|-2glvI.o HdKI.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0|37e4\",\n\t\t\"America/Puerto_Rico|AST AWT APT|40 30 30|0120|-17lU0 7XT0 iu0|24e5\",\n\t\t\"America/Punta_Arenas|SMT -05 -04 -03|4G.K 50 40 30|0102021212121212121232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-2q2jh.e fJAh.e 5knG.K 1Vzh.e jRAG.K 1pbh.e 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 blz0 ko0 Qeo0 WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0\",\n\t\t\"America/Rainy_River|CST CDT CWT CPT|60 50 50 50|010123010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TQ0 1in0 Rnb0 3je0 8x30 iw0 19yN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|842\",\n\t\t\"America/Rankin_Inlet|-00 CST CDDT CDT EST|0 60 40 50 50|012131313131313131313131313131313131313131313431313131313131313131313131313131313131313131313131313131313131313131313131|-vDc0 keu0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e2\",\n\t\t\"America/Recife|LMT -03 -02|2j.A 30 20|0121212121212121212121212121212121212121|-2glxE.o HdLE.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|33e5\",\n\t\t\"America/Regina|LMT MST MDT MWT MPT CST|6W.A 70 60 60 60 60|012121212121212121212121341212121212121212121212121215|-2AD51.o uHe1.o 1in0 s2L0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 66N0 1cL0 1cN0 19X0 1fB0 1cL0 1fB0 1cL0 1cN0 1cL0 M30 8x20 ix0 1ip0 1cL0 1ip0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 3NB0 1cL0 1cN0|19e4\",\n\t\t\"America/Resolute|-00 CST CDDT CDT EST|0 60 40 50 50|012131313131313131313131313131313131313131313431313131313431313131313131313131313131313131313131313131313131313131313131|-SnA0 GWS0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|229\",\n\t\t\"America/Santarem|LMT -04 -03|3C.M 40 30|0121212121212121212121212121212|-2glwl.c HdLl.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0|21e4\",\n\t\t\"America/Santiago|SMT -05 -04 -03|4G.K 50 40 30|010202121212121212321232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-2q2jh.e fJAh.e 5knG.K 1Vzh.e jRAG.K 1pbh.e 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 9Bz0 jb0 1oN0 ko0 Qeo0 WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0|62e5\",\n\t\t\"America/Santo_Domingo|SDMT EST EDT -0430 AST|4E 50 40 4u 40|01213131313131414|-1ttjk 1lJMk Mn0 6sp0 Lbu 1Cou yLu 1RAu wLu 1QMu xzu 1Q0u xXu 1PAu 13jB0 e00|29e5\",\n\t\t\"America/Sao_Paulo|LMT -03 -02|36.s 30 20|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2glwR.w HdKR.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 pTd0 PX0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1C10 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1C10 Lz0 1C10 Lz0 1C10 Lz0 1C10 On0 1zd0 Rb0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0|20e6\",\n\t\t\"America/Scoresbysund|LMT -02 -01 +00|1r.Q 20 10 0|0121323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2a5Ww.8 2z5ew.8 1a00 1cK0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|452\",\n\t\t\"America/Sitka|PST PWT PPT PDT YST AKST AKDT|80 70 70 70 90 90 80|01203030303030303030303030303030345656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|90e2\",\n\t\t\"America/St_Johns|NST NDT NST NDT NWT NPT NDDT|3u.Q 2u.Q 3u 2u 2u 2u 1u|01010101010101010101010101010101010102323232323232324523232323232323232323232323232323232323232323232323232323232323232323232323232323232326232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-28oit.8 14L0 1nB0 1in0 1gm0 Dz0 1JB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1fB0 19X0 1fB0 19X0 10O0 eKX.8 19X0 1iq0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4\",\n\t\t\"America/Swift_Current|LMT MST MDT MWT MPT CST|7b.k 70 60 60 60 60|012134121212121212121215|-2AD4M.E uHdM.E 1in0 UGp0 8x20 ix0 1o10 17b0 1ip0 11z0 1o10 11z0 1o10 11z0 isN0 1cL0 3Cp0 1cL0 1cN0 11z0 1qN0 WL0 pMp0|16e3\",\n\t\t\"America/Tegucigalpa|LMT CST CDT|5M.Q 60 50|01212121|-1WGGb.8 2ETcb.8 WL0 1qN0 WL0 GRd0 AL0|11e5\",\n\t\t\"America/Thule|LMT AST ADT|4z.8 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5To.Q 31NBo.Q 1cL0 1cN0 1cL0 1fB0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|656\",\n\t\t\"America/Thunder_Bay|CST EST EWT EPT EDT|60 50 40 40 40|0123141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-2q5S0 1iaN0 8x40 iv0 XNB0 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4\",\n\t\t\"America/Vancouver|PST PDT PWT PPT|80 70 70 70|0102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TO0 1in0 UGp0 8x10 iy0 1o10 17b0 1ip0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5\",\n\t\t\"America/Whitehorse|YST YDT YWT YPT YDDT PST PDT|90 80 80 80 70 80 70|0101023040565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-25TN0 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 3NA0 vrd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e3\",\n\t\t\"America/Winnipeg|CST CDT CWT CPT|60 50 50 50|010101023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aIi0 WL0 3ND0 1in0 Jap0 Rb0 aCN0 8x30 iw0 1tB0 11z0 1ip0 11z0 1o10 11z0 1o10 11z0 1rd0 10L0 1op0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 1cL0 1cN0 11z0 6i10 WL0 6i10 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|66e4\",\n\t\t\"America/Yakutat|YST YWT YPT YDT AKST AKDT|90 80 80 80 90 80|01203030303030303030303030303030304545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-17T10 8x00 iz0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cn0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|642\",\n\t\t\"America/Yellowknife|-00 MST MWT MPT MDDT MDT|0 70 60 60 50 60|012314151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151|-1pdA0 hix0 8x20 ix0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|19e3\",\n\t\t\"Antarctica/Casey|-00 +08 +11|0 -80 -b0|0121212|-2q00 1DjS0 T90 40P0 KL0 blz0|10\",\n\t\t\"Antarctica/Davis|-00 +07 +05|0 -70 -50|01012121|-vyo0 iXt0 alj0 1D7v0 VB0 3Wn0 KN0|70\",\n\t\t\"Antarctica/DumontDUrville|-00 +10|0 -a0|0101|-U0o0 cfq0 bFm0|80\",\n\t\t\"Antarctica/Macquarie|AEST AEDT -00 +11|-a0 -b0 0 -b0|0102010101010101010101010101010101010101010101010101010101010101010101010101010101010101013|-29E80 19X0 4SL0 1ayy0 Lvs0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0|1\",\n\t\t\"Antarctica/Mawson|-00 +06 +05|0 -60 -50|012|-CEo0 2fyk0|60\",\n\t\t\"Pacific/Auckland|NZMT NZST NZST NZDT|-bu -cu -c0 -d0|01020202020202020202020202023232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1GCVu Lz0 1tB0 11zu 1o0u 11zu 1o0u 11zu 1o0u 14nu 1lcu 14nu 1lcu 1lbu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1qLu WMu 1qLu 11Au 1n1bu IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|14e5\",\n\t\t\"Antarctica/Palmer|-00 -03 -04 -02|0 30 40 20|0121212121213121212121212121212121212121212121212121212121212121212121212121212121|-cao0 nD0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 jsN0 14N0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0|40\",\n\t\t\"Antarctica/Rothera|-00 -03|0 30|01|gOo0|130\",\n\t\t\"Antarctica/Syowa|-00 +03|0 -30|01|-vs00|20\",\n\t\t\"Antarctica/Troll|-00 +00 +02|0 0 -20|01212121212121212121212121212121212121212121212121212121212121212121|1puo0 hd0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|40\",\n\t\t\"Antarctica/Vostok|-00 +06|0 -60|01|-tjA0|25\",\n\t\t\"Europe/Oslo|CET CEST|-10 -20|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2awM0 Qm0 W6o0 5pf0 WM0 1fA0 1cM0 1cM0 1cM0 1cM0 wJc0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1qM0 WM0 zpc0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|62e4\",\n\t\t\"Asia/Riyadh|LMT +03|-36.Q -30|01|-TvD6.Q|57e5\",\n\t\t\"Asia/Almaty|LMT +05 +06 +07|-57.M -50 -60 -70|012323232323232323232321232323232323232323232323232|-1Pc57.M eUo7.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0|15e5\",\n\t\t\"Asia/Amman|LMT EET EEST|-2n.I -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1yW2n.I 1HiMn.I KL0 1oN0 11b0 1oN0 11b0 1pd0 1dz0 1cp0 11b0 1op0 11b0 fO10 1db0 1e10 1cL0 1cN0 1cL0 1cN0 1fz0 1pd0 10n0 1ld0 14n0 1hB0 15b0 1ip0 19X0 1cN0 1cL0 1cN0 17b0 1ld0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1So0 y00 1fc0 1dc0 1co0 1dc0 1cM0 1cM0 1cM0 1o00 11A0 1lc0 17c0 1cM0 1cM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 4bX0 Dd0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|25e5\",\n\t\t\"Asia/Anadyr|LMT +12 +13 +14 +11|-bN.U -c0 -d0 -e0 -b0|01232121212121212121214121212121212121212121212121212121212141|-1PcbN.U eUnN.U 23CL0 1db0 2q10 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|13e3\",\n\t\t\"Asia/Aqtau|LMT +04 +05 +06|-3l.4 -40 -50 -60|012323232323232323232123232312121212121212121212|-1Pc3l.4 eUnl.4 24PX0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|15e4\",\n\t\t\"Asia/Aqtobe|LMT +04 +05 +06|-3M.E -40 -50 -60|0123232323232323232321232323232323232323232323232|-1Pc3M.E eUnM.E 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0|27e4\",\n\t\t\"Asia/Ashgabat|LMT +04 +05 +06|-3R.w -40 -50 -60|0123232323232323232323212|-1Pc3R.w eUnR.w 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0|41e4\",\n\t\t\"Asia/Atyrau|LMT +03 +05 +06 +04|-3r.I -30 -50 -60 -40|01232323232323232323242323232323232324242424242|-1Pc3r.I eUor.I 24PW0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 2sp0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0\",\n\t\t\"Asia/Baghdad|BMT +03 +04|-2V.A -30 -40|012121212121212121212121212121212121212121212121212121|-26BeV.A 2ACnV.A 11b0 1cp0 1dz0 1dd0 1db0 1cN0 1cp0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1de0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0|66e5\",\n\t\t\"Asia/Qatar|LMT +04 +03|-3q.8 -40 -30|012|-21Jfq.8 27BXq.8|96e4\",\n\t\t\"Asia/Baku|LMT +03 +04 +05|-3j.o -30 -40 -50|01232323232323232323232123232323232323232323232323232323232323232|-1Pc3j.o 1jUoj.o WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 9Je0 1o00 11z0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|27e5\",\n\t\t\"Asia/Bangkok|BMT +07|-6G.4 -70|01|-218SG.4|15e6\",\n\t\t\"Asia/Barnaul|LMT +06 +07 +08|-5z -60 -70 -80|0123232323232323232323212323232321212121212121212121212121212121212|-21S5z pCnz 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 p90 LE0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0\",\n\t\t\"Asia/Beirut|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-21aq0 1on0 1410 1db0 19B0 1in0 1ip0 WL0 1lQp0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 q6N0 En0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1op0 11b0 dA10 17b0 1iN0 17b0 1iN0 17b0 1iN0 17b0 1vB0 SL0 1mp0 13z0 1iN0 17b0 1iN0 17b0 1jd0 12n0 1a10 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0|22e5\",\n\t\t\"Asia/Bishkek|LMT +05 +06 +07|-4W.o -50 -60 -70|012323232323232323232321212121212121212121212121212|-1Pc4W.o eUnW.o 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2e00 1tX0 17b0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1cPu 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0|87e4\",\n\t\t\"Asia/Brunei|LMT +0730 +08|-7D.E -7u -80|012|-1KITD.E gDc9.E|42e4\",\n\t\t\"Asia/Kolkata|MMT IST +0630|-5l.a -5u -6u|012121|-2zOtl.a 1r2LP.a 1un0 HB0 7zX0|15e6\",\n\t\t\"Asia/Chita|LMT +08 +09 +10|-7x.Q -80 -90 -a0|012323232323232323232321232323232323232323232323232323232323232312|-21Q7x.Q pAnx.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3re0|33e4\",\n\t\t\"Asia/Choibalsan|LMT +07 +08 +10 +09|-7C -70 -80 -a0 -90|0123434343434343434343434343434343434343434343424242|-2APHC 2UkoC cKn0 1da0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 3Db0 h1f0 1cJ0 1cP0 1cJ0|38e3\",\n\t\t\"Asia/Shanghai|CST CDT|-80 -90|01010101010101010|-1c1I0 LX0 16p0 1jz0 1Myp0 Rb0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0|23e6\",\n\t\t\"Asia/Colombo|MMT +0530 +06 +0630|-5j.w -5u -60 -6u|01231321|-2zOtj.w 1rFbN.w 1zzu 7Apu 23dz0 11zu n3cu|22e5\",\n\t\t\"Asia/Dhaka|HMT +0630 +0530 +06 +07|-5R.k -6u -5u -60 -70|0121343|-18LFR.k 1unn.k HB0 m6n0 2kxbu 1i00|16e6\",\n\t\t\"Asia/Damascus|LMT EET EEST|-2p.c -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-21Jep.c Hep.c 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1xRB0 11X0 1oN0 10L0 1pB0 11b0 1oN0 10L0 1mp0 13X0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 Nb0 1AN0 Nb0 bcp0 19X0 1gp0 19X0 3ld0 1xX0 Vd0 1Bz0 Sp0 1vX0 10p0 1dz0 1cN0 1cL0 1db0 1db0 1g10 1an0 1ap0 1db0 1fd0 1db0 1cN0 1db0 1dd0 1db0 1cp0 1dz0 1c10 1dX0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 19z0 1fB0 1qL0 11B0 1on0 Wp0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0|26e5\",\n\t\t\"Asia/Dili|LMT +08 +09|-8m.k -80 -90|01212|-2le8m.k 1dnXm.k 1nfA0 Xld0|19e4\",\n\t\t\"Asia/Dubai|LMT +04|-3F.c -40|01|-21JfF.c|39e5\",\n\t\t\"Asia/Dushanbe|LMT +05 +06 +07|-4z.c -50 -60 -70|012323232323232323232321|-1Pc4z.c eUnz.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2hB0|76e4\",\n\t\t\"Asia/Famagusta|LMT EET EEST +03|-2f.M -20 -30 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212312121212121212121212121212121212121212121|-1Vc2f.M 2a3cf.M 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 15U0 2Ks0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00\",\n\t\t\"Asia/Gaza|EET EEST IST IDT|-20 -30 -20 -30|010101010101010101010101010101012323232323232323232323232320101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1c2q0 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 pBd0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 npB0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 11z0 1o10 14o0 1lA1 SKX 1xd1 MKX 1AN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nz0 1220 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0|18e5\",\n\t\t\"Asia/Hebron|EET EEST IST IDT|-20 -30 -20 -30|01010101010101010101010101010101232323232323232323232323232010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1c2q0 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 pBd0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 npB0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 12L0 1mN0 14o0 1lc0 Tb0 1xd1 MKX bB0 cn0 1cN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nz0 1220 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0|25e4\",\n\t\t\"Asia/Ho_Chi_Minh|LMT PLMT +07 +08 +09|-76.E -76.u -70 -80 -90|0123423232|-2yC76.E bK00.a 1h7b6.u 5lz0 18o0 3Oq0 k5b0 aW00 BAM0|90e5\",\n\t\t\"Asia/Hong_Kong|LMT HKT HKST JST|-7A.G -80 -90 -90|0121312121212121212121212121212121212121212121212121212121212121212121|-2CFHA.G 1sEP6.G 1cL0 ylu 93X0 1qQu 1tX0 Rd0 1In0 NB0 1cL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1kL0 14N0 1nX0 U10 1tz0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 Rd0 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 17d0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1cL0 6fd0 14n0|73e5\",\n\t\t\"Asia/Hovd|LMT +06 +07 +08|-66.A -60 -70 -80|012323232323232323232323232323232323232323232323232|-2APG6.A 2Uko6.A cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|81e3\",\n\t\t\"Asia/Irkutsk|IMT +07 +08 +09|-6V.5 -70 -80 -90|01232323232323232323232123232323232323232323232323232323232323232|-21zGV.5 pjXV.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4\",\n\t\t\"Europe/Istanbul|IMT EET EEST +04 +03|-1U.U -20 -30 -40 -30|012121212121212121212121212121212121212121212121212121234343434342121212121212121212121212121212121212121212121212121212121212124|-2ogNU.U dzzU.U 11b0 8tB0 1on0 1410 1db0 19B0 1in0 3Rd0 Un0 1oN0 11b0 zSp0 CL0 mN0 1Vz0 1gN0 1pz0 5Rd0 1fz0 1yp0 ML0 1kp0 17b0 1ip0 17b0 1fB0 19X0 1jB0 18L0 1ip0 17z0 qdd0 xX0 3S10 Tz0 dA10 11z0 1o10 11z0 1qN0 11z0 1ze0 11B0 WM0 1qO0 WI0 1nX0 1rB0 10L0 11B0 1in0 17d0 1in0 2pX0 19E0 1fU0 16Q0 1iI0 16Q0 1iI0 1Vd0 pb0 3Kp0 14o0 1de0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1a00 1fA0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WO0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 Xc0 1qo0 WM0 1qM0 11A0 1o00 1200 1nA0 11A0 1tA0 U00 15w0|13e6\",\n\t\t\"Asia/Jakarta|BMT +0720 +0730 +09 +08 WIB|-77.c -7k -7u -90 -80 -70|01232425|-1Q0Tk luM0 mPzO 8vWu 6kpu 4PXu xhcu|31e6\",\n\t\t\"Asia/Jayapura|LMT +09 +0930 WIT|-9m.M -90 -9u -90|0123|-1uu9m.M sMMm.M L4nu|26e4\",\n\t\t\"Asia/Jerusalem|JMT IST IDT IDDT|-2k.E -20 -30 -40|01212121212132121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-26Bek.E SyMk.E 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 3LB0 Em0 or0 1cn0 1dB0 16n0 10O0 1ja0 1tC0 14o0 1cM0 1a00 11A0 1Na0 An0 1MP0 AJ0 1Kp0 LC0 1oo0 Wl0 EQN0 Db0 1fB0 Rb0 npB0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 1hB0 1dX0 1ep0 1aL0 1eN0 17X0 1nf0 11z0 1tB0 19W0 1e10 17b0 1ep0 1gL0 18N0 1fz0 1eN0 17b0 1gq0 1gn0 19d0 1dz0 1c10 17X0 1hB0 1gn0 19d0 1dz0 1c10 17X0 1kp0 1dz0 1c10 1aL0 1eN0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0|81e4\",\n\t\t\"Asia/Kabul|+04 +0430|-40 -4u|01|-10Qs0|46e5\",\n\t\t\"Asia/Kamchatka|LMT +11 +12 +13|-ay.A -b0 -c0 -d0|012323232323232323232321232323232323232323232323232323232323212|-1SLKy.A ivXy.A 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|18e4\",\n\t\t\"Asia/Karachi|LMT +0530 +0630 +05 PKT PKST|-4s.c -5u -6u -50 -50 -60|012134545454|-2xoss.c 1qOKW.c 7zX0 eup0 LqMu 1fy00 1cL0 dK10 11b0 1610 1jX0|24e6\",\n\t\t\"Asia/Urumqi|LMT +06|-5O.k -60|01|-1GgtO.k|32e5\",\n\t\t\"Asia/Kathmandu|LMT +0530 +0545|-5F.g -5u -5J|012|-21JhF.g 2EGMb.g|12e5\",\n\t\t\"Asia/Khandyga|LMT +08 +09 +10 +11|-92.d -80 -90 -a0 -b0|0123232323232323232323212323232323232323232323232343434343434343432|-21Q92.d pAp2.d 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 qK0 yN0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|66e2\",\n\t\t\"Asia/Krasnoyarsk|LMT +06 +07 +08|-6b.q -60 -70 -80|01232323232323232323232123232323232323232323232323232323232323232|-21Hib.q prAb.q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|10e5\",\n\t\t\"Asia/Kuala_Lumpur|SMT +07 +0720 +0730 +09 +08|-6T.p -70 -7k -7u -90 -80|0123435|-2Bg6T.p 17anT.p l5XE 17bO 8Fyu 1so1u|71e5\",\n\t\t\"Asia/Kuching|LMT +0730 +08 +0820 +09|-7l.k -7u -80 -8k -90|0123232323232323242|-1KITl.k gDbP.k 6ynu AnE 1O0k AnE 1NAk AnE 1NAk AnE 1NAk AnE 1O0k AnE 1NAk AnE pAk 8Fz0|13e4\",\n\t\t\"Asia/Macau|LMT CST CDT|-7y.k -80 -90|012121212121212121212121212121212121212121|-2le7y.k 1XO34.k 1wn0 Rd0 1wn0 R9u 1wqu U10 1tz0 TVu 1tz0 17gu 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cJu 1cL0 1cN0 1fz0 1cN0 1cOu 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cJu 1cL0 1cN0 1fz0 1cN0 1cL0|57e4\",\n\t\t\"Asia/Magadan|LMT +10 +11 +12|-a3.c -a0 -b0 -c0|012323232323232323232321232323232323232323232323232323232323232312|-1Pca3.c eUo3.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Cq0|95e3\",\n\t\t\"Asia/Makassar|LMT MMT +08 +09 WITA|-7V.A -7V.A -80 -90 -80|01234|-21JjV.A vfc0 myLV.A 8ML0|15e5\",\n\t\t\"Asia/Manila|+08 +09|-80 -90|010101010|-1kJI0 AL0 cK10 65X0 mXB0 vX0 VK10 1db0|24e6\",\n\t\t\"Asia/Nicosia|LMT EET EEST|-2d.s -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Vc2d.s 2a3cd.s 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|32e4\",\n\t\t\"Asia/Novokuznetsk|LMT +06 +07 +08|-5M.M -60 -70 -80|012323232323232323232321232323232323232323232323232323232323212|-1PctM.M eULM.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|55e4\",\n\t\t\"Asia/Novosibirsk|LMT +06 +07 +08|-5v.E -60 -70 -80|0123232323232323232323212323212121212121212121212121212121212121212|-21Qnv.E pAFv.E 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 ml0 Os0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 4eN0|15e5\",\n\t\t\"Asia/Omsk|LMT +05 +06 +07|-4R.u -50 -60 -70|01232323232323232323232123232323232323232323232323232323232323232|-224sR.u pMLR.u 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|12e5\",\n\t\t\"Asia/Oral|LMT +03 +05 +06 +04|-3p.o -30 -50 -60 -40|01232323232323232424242424242424242424242424242|-1Pc3p.o eUop.o 23CK0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 1cM0 IM0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|27e4\",\n\t\t\"Asia/Pontianak|LMT PMT +0730 +09 +08 WITA WIB|-7h.k -7h.k -7u -90 -80 -80 -70|012324256|-2ua7h.k XE00 munL.k 8Rau 6kpu 4PXu xhcu Wqnu|23e4\",\n\t\t\"Asia/Pyongyang|LMT KST JST KST|-8n -8u -90 -90|01231|-2um8n 97XR 1lTzu 2Onc0|29e5\",\n\t\t\"Asia/Qyzylorda|LMT +04 +05 +06|-4l.Q -40 -50 -60|0123232323232323232323232323232323232323232323|-1Pc4l.Q eUol.Q 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 3ao0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|73e4\",\n\t\t\"Asia/Rangoon|RMT +0630 +09|-6o.L -6u -90|0121|-21Jio.L SmnS.L 7j9u|48e5\",\n\t\t\"Asia/Sakhalin|LMT +09 +11 +12 +10|-9u.M -90 -b0 -c0 -a0|01232323232323232323232423232323232424242424242424242424242424242|-2AGVu.M 1BoMu.M 1qFa0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 2pB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|58e4\",\n\t\t\"Asia/Samarkand|LMT +04 +05 +06|-4r.R -40 -50 -60|01232323232323232323232|-1Pc4r.R eUor.R 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0|36e4\",\n\t\t\"Asia/Seoul|LMT KST JST KST KDT KDT|-8r.Q -8u -90 -90 -9u -a0|0123141414141414135353|-2um8r.Q 97XV.Q 1m1zu kKo0 2I0u OL0 1FB0 Rb0 1qN0 TX0 1tB0 TX0 1tB0 TX0 1tB0 TX0 2ap0 12FBu 11A0 1o00 11A0|23e6\",\n\t\t\"Asia/Srednekolymsk|LMT +10 +11 +12|-ae.Q -a0 -b0 -c0|01232323232323232323232123232323232323232323232323232323232323232|-1Pcae.Q eUoe.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|35e2\",\n\t\t\"Asia/Taipei|CST JST CDT|-80 -90 -90|01020202020202020202020202020202020202020|-1iw80 joM0 1yo0 Tz0 1ip0 1jX0 1cN0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 10N0 1BX0 10p0 1pz0 10p0 1pz0 10p0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1BB0 ML0 1Bd0 ML0 uq10 1db0 1cN0 1db0 97B0 AL0|74e5\",\n\t\t\"Asia/Tashkent|LMT +05 +06 +07|-4B.b -50 -60 -70|012323232323232323232321|-1Pc4B.b eUnB.b 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0|23e5\",\n\t\t\"Asia/Tbilisi|TBMT +03 +04 +05|-2X.b -30 -40 -50|0123232323232323232323212121232323232323232323212|-1Pc2X.b 1jUnX.b WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cK0 1cL0 1cN0 1cL0 1cN0 2pz0 1cL0 1fB0 3Nz0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 An0 Os0 WM0|11e5\",\n\t\t\"Asia/Tehran|LMT TMT +0330 +04 +05 +0430|-3p.I -3p.I -3u -40 -50 -4u|01234325252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2btDp.I 1d3c0 1huLT.I TXu 1pz0 sN0 vAu 1cL0 1dB0 1en0 pNB0 UL0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 64p0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0|14e6\",\n\t\t\"Asia/Thimphu|LMT +0530 +06|-5W.A -5u -60|012|-Su5W.A 1BGMs.A|79e3\",\n\t\t\"Asia/Tokyo|JST JDT|-90 -a0|010101010|-QJH0 QL0 1lB0 13X0 1zB0 NX0 1zB0 NX0|38e6\",\n\t\t\"Asia/Tomsk|LMT +06 +07 +08|-5D.P -60 -70 -80|0123232323232323232323212323232323232323232323212121212121212121212|-21NhD.P pxzD.P 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 co0 1bB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Qp0|10e5\",\n\t\t\"Asia/Ulaanbaatar|LMT +07 +08 +09|-77.w -70 -80 -90|012323232323232323232323232323232323232323232323232|-2APH7.w 2Uko7.w cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|12e5\",\n\t\t\"Asia/Ust-Nera|LMT +08 +09 +12 +11 +10|-9w.S -80 -90 -c0 -b0 -a0|012343434343434343434345434343434343434343434343434343434343434345|-21Q9w.S pApw.S 23CL0 1d90 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|65e2\",\n\t\t\"Asia/Vladivostok|LMT +09 +10 +11|-8L.v -90 -a0 -b0|01232323232323232323232123232323232323232323232323232323232323232|-1SJIL.v itXL.v 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4\",\n\t\t\"Asia/Yakutsk|LMT +08 +09 +10|-8C.W -80 -90 -a0|01232323232323232323232123232323232323232323232323232323232323232|-21Q8C.W pAoC.W 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|28e4\",\n\t\t\"Asia/Yekaterinburg|LMT PMT +04 +05 +06|-42.x -3J.5 -40 -50 -60|012343434343434343434343234343434343434343434343434343434343434343|-2ag42.x 7mQh.s qBvJ.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|14e5\",\n\t\t\"Asia/Yerevan|LMT +03 +04 +05|-2W -30 -40 -50|0123232323232323232323212121212323232323232323232323232323232|-1Pc2W 1jUnW WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 4RX0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|13e5\",\n\t\t\"Atlantic/Azores|HMT -02 -01 +00 WET|1S.w 20 10 0 0|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121232323232323232323232323232323234323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2ldW5.s aPX5.s Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 qIl0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|25e4\",\n\t\t\"Atlantic/Bermuda|LMT AST ADT|4j.i 40 30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1BnRE.G 1LTbE.G 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e3\",\n\t\t\"Atlantic/Canary|LMT -01 WET WEST|11.A 10 0 -10|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UtaW.o XPAW.o 1lAK0 1a10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4\",\n\t\t\"Atlantic/Cape_Verde|LMT -02 -01|1y.4 20 10|01212|-2xomp.U 1qOMp.U 7zX0 1djf0|50e4\",\n\t\t\"Atlantic/Faroe|LMT WET WEST|r.4 0 -10|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2uSnw.U 2Wgow.U 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|49e3\",\n\t\t\"Atlantic/Madeira|FMT -01 +00 +01 WET WEST|17.A 10 0 -10 0 -10|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2ldWQ.o aPWQ.o Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 qIl0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|27e4\",\n\t\t\"Atlantic/Reykjavik|LMT -01 +00 GMT|1s 10 0 0|012121212121212121212121212121212121212121212121212121212121212121213|-2uWmw mfaw 1Bd0 ML0 1LB0 Cn0 1LB0 3fX0 C10 HrX0 1cO0 LB0 1EL0 LA0 1C00 Oo0 1wo0 Rc0 1wo0 Rc0 1wo0 Rc0 1zc0 Oo0 1zc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0|12e4\",\n\t\t\"Atlantic/South_Georgia|-02|20|0||30\",\n\t\t\"Atlantic/Stanley|SMT -04 -03 -02|3P.o 40 30 20|012121212121212323212121212121212121212121212121212121212121212121212|-2kJw8.A 12bA8.A 19X0 1fB0 19X0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 Cn0 1Cc10 WL0 1qL0 U10 1tz0 2mN0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 U10 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qN0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 U10 1tz0 U10 1tz0 U10|21e2\",\n\t\t\"Australia/Sydney|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|40e5\",\n\t\t\"Australia/Adelaide|ACST ACDT|-9u -au|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 WM0 1qM0 Rc0 1zc0 U00 1tA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|11e5\",\n\t\t\"Australia/Brisbane|AEST AEDT|-a0 -b0|01010101010101010|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0|20e5\",\n\t\t\"Australia/Broken_Hill|ACST ACDT|-9u -au|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|18e3\",\n\t\t\"Australia/Currie|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-29E80 19X0 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|746\",\n\t\t\"Australia/Darwin|ACST ACDT|-9u -au|010101010|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0|12e4\",\n\t\t\"Australia/Eucla|+0845 +0945|-8J -9J|0101010101010101010|-293kI xcX 10jd0 yL0 1cN0 1cL0 1gSp0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|368\",\n\t\t\"Australia/Hobart|AEST AEDT|-a0 -b0|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-29E80 19X0 10jd0 yL0 1cN0 1cL0 1fB0 19X0 VfB0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|21e4\",\n\t\t\"Australia/Lord_Howe|AEST +1030 +1130 +11|-a0 -au -bu -b0|0121212121313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313|raC0 1zdu Rb0 1zd0 On0 1zd0 On0 1zd0 On0 1zd0 TXu 1qMu WLu 1tAu WLu 1tAu TXu 1tAu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu 11zu 1o0u 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 11Au 1nXu 1qMu 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu 11zu 1o0u WLu 1qMu 14nu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu|347\",\n\t\t\"Australia/Lindeman|AEST AEDT|-a0 -b0|010101010101010101010|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0|10\",\n\t\t\"Australia/Melbourne|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1qM0 11A0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|39e5\",\n\t\t\"Australia/Perth|AWST AWDT|-80 -90|0101010101010101010|-293jX xcX 10jd0 yL0 1cN0 1cL0 1gSp0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|18e5\",\n\t\t\"CET|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00\",\n\t\t\"CST6CDT|CST CDT CWT CPT|60 50 50 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\n\t\t\"Pacific/Easter|EMT -07 -06 -05|7h.s 70 60 50|012121212121212121212121212123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1uSgG.w 1s4IG.w WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 2pA0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0|30e2\",\n\t\t\"EET|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00\",\n\t\t\"EST|EST|50|0|\",\n\t\t\"EST5EDT|EST EDT EWT EPT|50 40 40 40|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 1nX0 11B0 1nX0 SgN0 8x40 iv0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\n\t\t\"Europe/Dublin|DMT IST GMT BST IST|p.l -y.D 0 -10 -10|01232323232324242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242|-2ax9y.D Rc0 1fzy.D 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 g600 14o0 1wo0 17c0 1io0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5\",\n\t\t\"Etc/GMT+0|GMT|0|0|\",\n\t\t\"Etc/GMT+1|-01|10|0|\",\n\t\t\"Etc/GMT+10|-10|a0|0|\",\n\t\t\"Etc/GMT+11|-11|b0|0|\",\n\t\t\"Etc/GMT+12|-12|c0|0|\",\n\t\t\"Etc/GMT+3|-03|30|0|\",\n\t\t\"Etc/GMT+4|-04|40|0|\",\n\t\t\"Etc/GMT+5|-05|50|0|\",\n\t\t\"Etc/GMT+6|-06|60|0|\",\n\t\t\"Etc/GMT+7|-07|70|0|\",\n\t\t\"Etc/GMT+8|-08|80|0|\",\n\t\t\"Etc/GMT+9|-09|90|0|\",\n\t\t\"Etc/GMT-1|+01|-10|0|\",\n\t\t\"Pacific/Port_Moresby|+10|-a0|0||25e4\",\n\t\t\"Pacific/Pohnpei|+11|-b0|0||34e3\",\n\t\t\"Pacific/Tarawa|+12|-c0|0||29e3\",\n\t\t\"Etc/GMT-13|+13|-d0|0|\",\n\t\t\"Etc/GMT-14|+14|-e0|0|\",\n\t\t\"Etc/GMT-2|+02|-20|0|\",\n\t\t\"Etc/GMT-3|+03|-30|0|\",\n\t\t\"Etc/GMT-4|+04|-40|0|\",\n\t\t\"Etc/GMT-5|+05|-50|0|\",\n\t\t\"Etc/GMT-6|+06|-60|0|\",\n\t\t\"Indian/Christmas|+07|-70|0||21e2\",\n\t\t\"Etc/GMT-8|+08|-80|0|\",\n\t\t\"Pacific/Palau|+09|-90|0||21e3\",\n\t\t\"Etc/UCT|UCT|0|0|\",\n\t\t\"Etc/UTC|UTC|0|0|\",\n\t\t\"Europe/Amsterdam|AMT NST +0120 +0020 CEST CET|-j.w -1j.w -1k -k -20 -10|010101010101010101010101010101010101010101012323234545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545|-2aFcj.w 11b0 1iP0 11A0 1io0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1co0 1io0 1yo0 Pc0 1a00 1fA0 1Bc0 Mo0 1tc0 Uo0 1tA0 U00 1uo0 W00 1s00 VA0 1so0 Vc0 1sM0 UM0 1wo0 Rc0 1u00 Wo0 1rA0 W00 1s00 VA0 1sM0 UM0 1w00 fV0 BCX.w 1tA0 U00 1u00 Wo0 1sm0 601k WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|16e5\",\n\t\t\"Europe/Andorra|WET CET CEST|0 -10 -20|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-UBA0 1xIN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|79e3\",\n\t\t\"Europe/Astrakhan|LMT +03 +04 +05|-3c.c -30 -40 -50|012323232323232323212121212121212121212121212121212121212121212|-1Pcrc.c eUMc.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0\",\n\t\t\"Europe/Athens|AMT EET EEST CEST CET|-1y.Q -20 -30 -20 -10|012123434121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a61x.Q CNbx.Q mn0 kU10 9b0 3Es0 Xa0 1fb0 1dd0 k3X0 Nz0 SCp0 1vc0 SO0 1cM0 1a00 1ao0 1fc0 1a10 1fG0 1cg0 1dX0 1bX0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|35e5\",\n\t\t\"Europe/London|GMT BST BDST|0 -10 -20|0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2axa0 Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|10e6\",\n\t\t\"Europe/Belgrade|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-19RC0 3IP0 WM0 1fA0 1cM0 1cM0 1rc0 Qo0 1vmo0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5\",\n\t\t\"Europe/Berlin|CET CEST CEMT|-10 -20 -30|01010101010101210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 kL0 Nc0 m10 WM0 1ao0 1cp0 dX0 jz0 Dd0 1io0 17c0 1fA0 1a00 1ehA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|41e5\",\n\t\t\"Europe/Prague|CET CEST|-10 -20|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 16M0 1lc0 1tA0 17A0 11c0 1io0 17c0 1io0 17c0 1fc0 1ao0 1bNc0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|13e5\",\n\t\t\"Europe/Brussels|WET CET CEST WEST|0 -10 -20 -10|0121212103030303030303030303030303030303030303030303212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ehc0 3zX0 11c0 1iO0 11A0 1o00 11A0 my0 Ic0 1qM0 Rc0 1EM0 UM0 1u00 10o0 1io0 1io0 17c0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a30 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 y00 5Wn0 WM0 1fA0 1cM0 16M0 1iM0 16M0 1C00 Uo0 1eeo0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|21e5\",\n\t\t\"Europe/Bucharest|BMT EET EEST|-1I.o -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1xApI.o 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Axc0 On0 1fA0 1a10 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|19e5\",\n\t\t\"Europe/Budapest|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1ip0 17b0 1op0 1tb0 Q2m0 3Ne0 WM0 1fA0 1cM0 1cM0 1oJ0 1dc0 1030 1fA0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1iM0 1fA0 8Ha0 Rb0 1wN0 Rb0 1BB0 Lz0 1C20 LB0 SNX0 1a10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e5\",\n\t\t\"Europe/Zurich|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-19Lc0 11A0 1o00 11A0 1xG10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|38e4\",\n\t\t\"Europe/Chisinau|CMT BMT EET EEST CEST CET MSK MSD|-1T -1I.o -20 -30 -20 -10 -30 -40|012323232323232323234545467676767676767676767323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-26jdT wGMa.A 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 27A0 2en0 39g0 WM0 1fA0 1cM0 V90 1t7z0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 gL0 WO0 1cM0 1cM0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11D0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|67e4\",\n\t\t\"Europe/Copenhagen|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2azC0 Tz0 VuO0 60q0 WM0 1fA0 1cM0 1cM0 1cM0 S00 1HA0 Nc0 1C00 Dc0 1Nc0 Ao0 1h5A0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5\",\n\t\t\"Europe/Gibraltar|GMT BST BDST CET CEST|0 -10 -20 -10 -20|010101010101010101010101010101010101010101010101012121212121010121010101010101010101034343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-2axa0 Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 10Jz0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|30e3\",\n\t\t\"Europe/Helsinki|HMT EET EEST|-1D.N -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1WuND.N OULD.N 1dA0 1xGq0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5\",\n\t\t\"Europe/Kaliningrad|CET CEST CET CEST MSK MSD EEST EET +03|-10 -20 -20 -30 -30 -40 -30 -20 -30|0101010101010232454545454545454546767676767676767676767676767676767676767676787|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 Am0 Lb0 1en0 op0 1pNz0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|44e4\",\n\t\t\"Europe/Kiev|KMT EET MSK CEST CET MSD EEST|-22.4 -20 -30 -20 -10 -40 -30|0123434252525252525252525256161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161|-1Pc22.4 eUo2.4 rnz0 2Hg0 WM0 1fA0 da0 1v4m0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 Db0 3220 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|34e5\",\n\t\t\"Europe/Kirov|LMT +03 +04 +05|-3i.M -30 -40 -50|01232323232323232321212121212121212121212121212121212121212121|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|48e4\",\n\t\t\"Europe/Lisbon|LMT WET WEST WEMT CET CEST|A.J 0 -10 -20 -10 -20|012121212121212121212121212121212121212121212321232123212321212121212121212121212121212121212121214121212121212121212121212121212124545454212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ldXn.f aPWn.f Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 pvy0 1cM0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|27e5\",\n\t\t\"Europe/Luxembourg|LMT CET CEST WET WEST WEST WET|-o.A -10 -20 0 -10 -20 -10|0121212134343434343434343434343434343434343434343434565651212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2DG0o.A t6mo.A TB0 1nX0 Up0 1o20 11A0 rW0 CM0 1qP0 R90 1EO0 UK0 1u20 10m0 1ip0 1in0 17e0 19W0 1fB0 1db0 1cp0 1in0 17d0 1fz0 1a10 1in0 1a10 1in0 17f0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 vA0 60L0 WM0 1fA0 1cM0 17c0 1io0 16M0 1C00 Uo0 1eeo0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4\",\n\t\t\"Europe/Madrid|WET WEST WEMT CET CEST|0 -10 -20 -10 -20|010101010101010101210343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-25Td0 19B0 1cL0 1dd0 b1z0 18p0 3HX0 17d0 1fz0 1a10 1io0 1a00 1in0 17d0 iIn0 Hd0 1cL0 bb0 1200 2s20 14n0 5aL0 Mp0 1vz0 17d0 1in0 17d0 1in0 17d0 1in0 17d0 6hX0 11B0 XHX0 1a10 1fz0 1a10 19X0 1cN0 1fz0 1a10 1fC0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|62e5\",\n\t\t\"Europe/Malta|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2arB0 Lz0 1cN0 1db0 1410 1on0 Wp0 1qL0 17d0 1cL0 M3B0 5M20 WM0 1fA0 1co0 17c0 1iM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 LA0 1C00 LA0 1EM0 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1co0 1cM0 1lA0 Xc0 1qq0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1iN0 19z0 1fB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|42e4\",\n\t\t\"Europe/Minsk|MMT EET MSK CEST CET MSD EEST +03|-1O -20 -30 -20 -10 -40 -30 -30|01234343252525252525252525261616161616161616161616161616161616161617|-1Pc1O eUnO qNX0 3gQ0 WM0 1fA0 1cM0 Al0 1tsn0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 3Fc0 1cN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0|19e5\",\n\t\t\"Europe/Monaco|PMT WET WEST WEMT CET CEST|-9.l 0 -10 -20 -10 -20|01212121212121212121212121212121212121212121212121232323232345454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2nco9.l cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 1u00 10o0 1io0 1wo0 Rc0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Df0 2RV0 11z0 11B0 1ze0 WM0 1fA0 1cM0 1fa0 1aq0 16M0 1ekn0 1cL0 1fC0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|38e3\",\n\t\t\"Europe/Moscow|MMT MMT MST MDST MSD MSK +05 EET EEST MSK|-2u.h -2v.j -3v.j -4v.j -40 -30 -50 -20 -30 -40|012132345464575454545454545454545458754545454545454545454545454545454545454595|-2ag2u.h 2pyW.W 1bA0 11X0 GN0 1Hb0 c4v.j ik0 3DA0 dz0 15A0 c10 2q10 iM10 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|16e6\",\n\t\t\"Europe/Paris|PMT WET WEST CEST CET WEMT|-9.l 0 -10 -20 -10 -20|0121212121212121212121212121212121212121212121212123434352543434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-2nco8.l cNb8.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 1u00 10o0 1io0 1wo0 Rc0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Df0 Ik0 5M30 WM0 1fA0 1cM0 Vx0 hB0 1aq0 16M0 1ekn0 1cL0 1fC0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|11e6\",\n\t\t\"Europe/Riga|RMT LST EET MSK CEST CET MSD EEST|-1A.y -2A.y -20 -30 -20 -10 -40 -30|010102345454536363636363636363727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272|-25TzA.y 11A0 1iM0 ko0 gWm0 yDXA.y 2bX0 3fE0 WM0 1fA0 1cM0 1cM0 4m0 1sLy0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 1o00 11A0 1o00 11A0 1qM0 3oo0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|64e4\",\n\t\t\"Europe/Rome|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2arB0 Lz0 1cN0 1db0 1410 1on0 Wp0 1qL0 17d0 1cL0 M3B0 5M20 WM0 1fA0 1cM0 16M0 1iM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 LA0 1C00 LA0 1EM0 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1C00 LA0 1zc0 Oo0 1C00 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1zc0 Oo0 1fC0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|39e5\",\n\t\t\"Europe/Samara|LMT +03 +04 +05|-3k.k -30 -40 -50|0123232323232323232121232323232323232323232323232323232323212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2y10 14m0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|12e5\",\n\t\t\"Europe/Saratov|LMT +03 +04 +05|-34.i -30 -40 -50|012323232323232321212121212121212121212121212121212121212121212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1cM0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 5810\",\n\t\t\"Europe/Simferopol|SMT EET MSK CEST CET MSD EEST MSK|-2g -20 -30 -20 -10 -40 -30 -40|012343432525252525252525252161616525252616161616161616161616161616161616172|-1Pc2g eUog rEn0 2qs0 WM0 1fA0 1cM0 3V0 1u0L0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 4eL0 1cL0 1cN0 1cL0 1cN0 dX0 WL0 1cN0 1cL0 1fB0 1o30 11B0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11z0 1nW0|33e4\",\n\t\t\"Europe/Sofia|EET CET CEST EEST|-20 -10 -20 -30|01212103030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030|-168L0 WM0 1fA0 1cM0 1cM0 1cN0 1mKH0 1dd0 1fb0 1ap0 1fb0 1a20 1fy0 1a30 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5\",\n\t\t\"Europe/Stockholm|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2azC0 TB0 2yDe0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|15e5\",\n\t\t\"Europe/Tallinn|TMT CET CEST EET MSK MSD EEST|-1D -10 -20 -20 -30 -40 -30|012103421212454545454545454546363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363|-26oND teD 11A0 1Ta0 4rXl KSLD 2FX0 2Jg0 WM0 1fA0 1cM0 18J0 1sTX0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o10 11A0 1qM0 5QM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|41e4\",\n\t\t\"Europe/Tirane|LMT CET CEST|-1j.k -10 -20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glBj.k 14pcj.k 5LC0 WM0 4M0 1fCK0 10n0 1op0 11z0 1pd0 11z0 1qN0 WL0 1qp0 Xb0 1qp0 Xb0 1qp0 11z0 1lB0 11z0 1qN0 11z0 1iN0 16n0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|42e4\",\n\t\t\"Europe/Ulyanovsk|LMT +03 +04 +05 +02|-3d.A -30 -40 -50 -20|01232323232323232321214121212121212121212121212121212121212121212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0\",\n\t\t\"Europe/Uzhgorod|CET CEST MSK MSD EET EEST|-10 -20 -30 -40 -20 -30|010101023232323232323232320454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-1cqL0 6i00 WM0 1fA0 1cM0 1ml0 1Cp0 1r3W0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 1Nf0 2pw0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|11e4\",\n\t\t\"Europe/Vienna|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 3KM0 14o0 LA00 6i00 WM0 1fA0 1cM0 1cM0 1cM0 400 2qM0 1a00 1cM0 1cM0 1io0 17c0 1gHa0 19X0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|18e5\",\n\t\t\"Europe/Vilnius|WMT KMT CET EET MSK CEST MSD EEST|-1o -1z.A -10 -20 -30 -20 -40 -30|012324525254646464646464646473737373737373737352537373737373737373737373737373737373737373737373737373737373737373737373|-293do 6ILM.o 1Ooz.A zz0 Mfd0 29W0 3is0 WM0 1fA0 1cM0 LV0 1tgL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11B0 1o00 11A0 1qM0 8io0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4\",\n\t\t\"Europe/Volgograd|LMT +03 +04 +05|-2V.E -30 -40 -50|01232323232323232121212121212121212121212121212121212121212121|-21IqV.E psLV.E 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1cM0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|10e5\",\n\t\t\"Europe/Warsaw|WMT CET CEST EET EEST|-1o -10 -20 -20 -30|012121234312121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ctdo 1LXo 11d0 1iO0 11A0 1o00 11A0 1on0 11A0 6zy0 HWP0 5IM0 WM0 1fA0 1cM0 1dz0 1mL0 1en0 15B0 1aq0 1nA0 11A0 1io0 17c0 1fA0 1a00 iDX0 LA0 1cM0 1cM0 1C00 Oo0 1cM0 1cM0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1C00 LA0 uso0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e5\",\n\t\t\"Europe/Zaporozhye|+0220 EET MSK CEST CET MSD EEST|-2k -20 -30 -20 -10 -40 -30|01234342525252525252525252526161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161|-1Pc2k eUok rdb0 2RE0 WM0 1fA0 8m0 1v9a0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cK0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|77e4\",\n\t\t\"HST|HST|a0|0|\",\n\t\t\"Indian/Chagos|LMT +05 +06|-4N.E -50 -60|012|-2xosN.E 3AGLN.E|30e2\",\n\t\t\"Indian/Cocos|+0630|-6u|0||596\",\n\t\t\"Indian/Kerguelen|-00 +05|0 -50|01|-MG00|130\",\n\t\t\"Indian/Mahe|LMT +04|-3F.M -40|01|-2yO3F.M|79e3\",\n\t\t\"Indian/Maldives|MMT +05|-4S -50|01|-olgS|35e4\",\n\t\t\"Indian/Mauritius|LMT +04 +05|-3O -40 -50|012121|-2xorO 34unO 14L0 12kr0 11z0|15e4\",\n\t\t\"Indian/Reunion|LMT +04|-3F.Q -40|01|-2mDDF.Q|84e4\",\n\t\t\"Pacific/Kwajalein|+11 -12 +12|-b0 c0 -c0|012|-AX0 W9X0|14e3\",\n\t\t\"MET|MET MEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00\",\n\t\t\"MST|MST|70|0|\",\n\t\t\"MST7MDT|MST MDT MWT MPT|70 60 60 60|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\n\t\t\"Pacific/Chatham|+1215 +1245 +1345|-cf -cJ -dJ|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-WqAf 1adef IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|600\",\n\t\t\"PST8PDT|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 1nX0 11B0 1nX0 SgN0 8x10 iy0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\n\t\t\"Pacific/Apia|LMT -1130 -11 -10 +14 +13|bq.U bu b0 a0 -e0 -d0|01232345454545454545454545454545454545454545454545454545454|-2nDMx.4 1yW03.4 2rRbu 1ff0 1a00 CI0 AQ0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|37e3\",\n\t\t\"Pacific/Bougainville|+10 +09 +11|-a0 -90 -b0|0102|-16Wy0 7CN0 2MQp0|18e4\",\n\t\t\"Pacific/Efate|LMT +11 +12|-bd.g -b0 -c0|0121212121212121212121|-2l9nd.g 2Szcd.g 1cL0 1oN0 10L0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 Lz0 1Nd0 An0|66e3\",\n\t\t\"Pacific/Enderbury|-12 -11 +13|c0 b0 -d0|012|nIc0 B8n0|1\",\n\t\t\"Pacific/Fakaofo|-11 +13|b0 -d0|01|1Gfn0|483\",\n\t\t\"Pacific/Fiji|LMT +12 +13|-bT.I -c0 -d0|0121212121212121212121212121212121212121212121212121212121212121|-2bUzT.I 3m8NT.I LA0 1EM0 IM0 nJc0 LA0 1o00 Rc0 1wo0 Ao0 1Nc0 Ao0 1Q00 xz0 1SN0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0|88e4\",\n\t\t\"Pacific/Galapagos|LMT -05 -06|5W.o 50 60|01212|-1yVS1.A 2dTz1.A gNd0 rz0|25e3\",\n\t\t\"Pacific/Gambier|LMT -09|8X.M 90|01|-2jof0.c|125\",\n\t\t\"Pacific/Guadalcanal|LMT +11|-aD.M -b0|01|-2joyD.M|11e4\",\n\t\t\"Pacific/Guam|GST ChST|-a0 -a0|01|1fpq0|17e4\",\n\t\t\"Pacific/Honolulu|HST HDT HST|au 9u a0|010102|-1thLu 8x0 lef0 8Pz0 46p0|37e4\",\n\t\t\"Pacific/Kiritimati|-1040 -10 +14|aE a0 -e0|012|nIaE B8nk|51e2\",\n\t\t\"Pacific/Kosrae|+11 +12|-b0 -c0|010|-AX0 1bdz0|66e2\",\n\t\t\"Pacific/Majuro|+11 +12|-b0 -c0|01|-AX0|28e3\",\n\t\t\"Pacific/Marquesas|LMT -0930|9i 9u|01|-2joeG|86e2\",\n\t\t\"Pacific/Pago_Pago|LMT SST|bm.M b0|01|-2nDMB.c|37e2\",\n\t\t\"Pacific/Nauru|LMT +1130 +09 +12|-b7.E -bu -90 -c0|01213|-1Xdn7.E PvzB.E 5RCu 1ouJu|10e3\",\n\t\t\"Pacific/Niue|-1120 -1130 -11|bk bu b0|012|-KfME 17y0a|12e2\",\n\t\t\"Pacific/Norfolk|+1112 +1130 +1230 +11|-bc -bu -cu -b0|01213|-Kgbc W01G On0 1COp0|25e4\",\n\t\t\"Pacific/Noumea|LMT +11 +12|-b5.M -b0 -c0|01212121|-2l9n5.M 2EqM5.M xX0 1PB0 yn0 HeP0 Ao0|98e3\",\n\t\t\"Pacific/Pitcairn|-0830 -08|8u 80|01|18Vku|56\",\n\t\t\"Pacific/Rarotonga|-1030 -0930 -10|au 9u a0|012121212121212121212121212|lyWu IL0 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu|13e3\",\n\t\t\"Pacific/Tahiti|LMT -10|9W.g a0|01|-2joe1.I|18e4\",\n\t\t\"Pacific/Tongatapu|+1220 +13 +14|-ck -d0 -e0|0121212121|-1aB0k 2n5dk 15A0 1wo0 xz0 1Q10 xz0 zWN0 s00|75e3\",\n\t\t\"WET|WET WEST|0 -10|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00\"\n\t],\n\t\"links\": [\n\t\t\"Africa/Abidjan|Africa/Bamako\",\n\t\t\"Africa/Abidjan|Africa/Banjul\",\n\t\t\"Africa/Abidjan|Africa/Conakry\",\n\t\t\"Africa/Abidjan|Africa/Dakar\",\n\t\t\"Africa/Abidjan|Africa/Freetown\",\n\t\t\"Africa/Abidjan|Africa/Lome\",\n\t\t\"Africa/Abidjan|Africa/Nouakchott\",\n\t\t\"Africa/Abidjan|Africa/Ouagadougou\",\n\t\t\"Africa/Abidjan|Africa/Sao_Tome\",\n\t\t\"Africa/Abidjan|Africa/Timbuktu\",\n\t\t\"Africa/Abidjan|Atlantic/St_Helena\",\n\t\t\"Africa/Cairo|Egypt\",\n\t\t\"Africa/Johannesburg|Africa/Maseru\",\n\t\t\"Africa/Johannesburg|Africa/Mbabane\",\n\t\t\"Africa/Lagos|Africa/Bangui\",\n\t\t\"Africa/Lagos|Africa/Brazzaville\",\n\t\t\"Africa/Lagos|Africa/Douala\",\n\t\t\"Africa/Lagos|Africa/Kinshasa\",\n\t\t\"Africa/Lagos|Africa/Libreville\",\n\t\t\"Africa/Lagos|Africa/Luanda\",\n\t\t\"Africa/Lagos|Africa/Malabo\",\n\t\t\"Africa/Lagos|Africa/Niamey\",\n\t\t\"Africa/Lagos|Africa/Porto-Novo\",\n\t\t\"Africa/Maputo|Africa/Blantyre\",\n\t\t\"Africa/Maputo|Africa/Bujumbura\",\n\t\t\"Africa/Maputo|Africa/Gaborone\",\n\t\t\"Africa/Maputo|Africa/Harare\",\n\t\t\"Africa/Maputo|Africa/Kigali\",\n\t\t\"Africa/Maputo|Africa/Lubumbashi\",\n\t\t\"Africa/Maputo|Africa/Lusaka\",\n\t\t\"Africa/Nairobi|Africa/Addis_Ababa\",\n\t\t\"Africa/Nairobi|Africa/Asmara\",\n\t\t\"Africa/Nairobi|Africa/Asmera\",\n\t\t\"Africa/Nairobi|Africa/Dar_es_Salaam\",\n\t\t\"Africa/Nairobi|Africa/Djibouti\",\n\t\t\"Africa/Nairobi|Africa/Kampala\",\n\t\t\"Africa/Nairobi|Africa/Mogadishu\",\n\t\t\"Africa/Nairobi|Indian/Antananarivo\",\n\t\t\"Africa/Nairobi|Indian/Comoro\",\n\t\t\"Africa/Nairobi|Indian/Mayotte\",\n\t\t\"Africa/Tripoli|Libya\",\n\t\t\"America/Adak|America/Atka\",\n\t\t\"America/Adak|US/Aleutian\",\n\t\t\"America/Anchorage|US/Alaska\",\n\t\t\"America/Argentina/Buenos_Aires|America/Buenos_Aires\",\n\t\t\"America/Argentina/Catamarca|America/Argentina/ComodRivadavia\",\n\t\t\"America/Argentina/Catamarca|America/Catamarca\",\n\t\t\"America/Argentina/Cordoba|America/Cordoba\",\n\t\t\"America/Argentina/Cordoba|America/Rosario\",\n\t\t\"America/Argentina/Jujuy|America/Jujuy\",\n\t\t\"America/Argentina/Mendoza|America/Mendoza\",\n\t\t\"America/Atikokan|America/Coral_Harbour\",\n\t\t\"America/Chicago|US/Central\",\n\t\t\"America/Curacao|America/Aruba\",\n\t\t\"America/Curacao|America/Kralendijk\",\n\t\t\"America/Curacao|America/Lower_Princes\",\n\t\t\"America/Denver|America/Shiprock\",\n\t\t\"America/Denver|Navajo\",\n\t\t\"America/Denver|US/Mountain\",\n\t\t\"America/Detroit|US/Michigan\",\n\t\t\"America/Edmonton|Canada/Mountain\",\n\t\t\"America/Fort_Wayne|America/Indiana/Indianapolis\",\n\t\t\"America/Fort_Wayne|America/Indianapolis\",\n\t\t\"America/Fort_Wayne|US/East-Indiana\",\n\t\t\"America/Halifax|Canada/Atlantic\",\n\t\t\"America/Havana|Cuba\",\n\t\t\"America/Indiana/Knox|America/Knox_IN\",\n\t\t\"America/Indiana/Knox|US/Indiana-Starke\",\n\t\t\"America/Jamaica|Jamaica\",\n\t\t\"America/Kentucky/Louisville|America/Louisville\",\n\t\t\"America/Los_Angeles|US/Pacific\",\n\t\t\"America/Los_Angeles|US/Pacific-New\",\n\t\t\"America/Manaus|Brazil/West\",\n\t\t\"America/Mazatlan|Mexico/BajaSur\",\n\t\t\"America/Mexico_City|Mexico/General\",\n\t\t\"America/New_York|US/Eastern\",\n\t\t\"America/Noronha|Brazil/DeNoronha\",\n\t\t\"America/Panama|America/Cayman\",\n\t\t\"America/Phoenix|US/Arizona\",\n\t\t\"America/Port_of_Spain|America/Anguilla\",\n\t\t\"America/Port_of_Spain|America/Antigua\",\n\t\t\"America/Port_of_Spain|America/Dominica\",\n\t\t\"America/Port_of_Spain|America/Grenada\",\n\t\t\"America/Port_of_Spain|America/Guadeloupe\",\n\t\t\"America/Port_of_Spain|America/Marigot\",\n\t\t\"America/Port_of_Spain|America/Montserrat\",\n\t\t\"America/Port_of_Spain|America/St_Barthelemy\",\n\t\t\"America/Port_of_Spain|America/St_Kitts\",\n\t\t\"America/Port_of_Spain|America/St_Lucia\",\n\t\t\"America/Port_of_Spain|America/St_Thomas\",\n\t\t\"America/Port_of_Spain|America/St_Vincent\",\n\t\t\"America/Port_of_Spain|America/Tortola\",\n\t\t\"America/Port_of_Spain|America/Virgin\",\n\t\t\"America/Regina|Canada/Saskatchewan\",\n\t\t\"America/Rio_Branco|America/Porto_Acre\",\n\t\t\"America/Rio_Branco|Brazil/Acre\",\n\t\t\"America/Santiago|Chile/Continental\",\n\t\t\"America/Sao_Paulo|Brazil/East\",\n\t\t\"America/St_Johns|Canada/Newfoundland\",\n\t\t\"America/Tijuana|America/Ensenada\",\n\t\t\"America/Tijuana|America/Santa_Isabel\",\n\t\t\"America/Tijuana|Mexico/BajaNorte\",\n\t\t\"America/Toronto|America/Montreal\",\n\t\t\"America/Toronto|Canada/Eastern\",\n\t\t\"America/Vancouver|Canada/Pacific\",\n\t\t\"America/Whitehorse|Canada/Yukon\",\n\t\t\"America/Winnipeg|Canada/Central\",\n\t\t\"Asia/Ashgabat|Asia/Ashkhabad\",\n\t\t\"Asia/Bangkok|Asia/Phnom_Penh\",\n\t\t\"Asia/Bangkok|Asia/Vientiane\",\n\t\t\"Asia/Dhaka|Asia/Dacca\",\n\t\t\"Asia/Dubai|Asia/Muscat\",\n\t\t\"Asia/Ho_Chi_Minh|Asia/Saigon\",\n\t\t\"Asia/Hong_Kong|Hongkong\",\n\t\t\"Asia/Jerusalem|Asia/Tel_Aviv\",\n\t\t\"Asia/Jerusalem|Israel\",\n\t\t\"Asia/Kathmandu|Asia/Katmandu\",\n\t\t\"Asia/Kolkata|Asia/Calcutta\",\n\t\t\"Asia/Kuala_Lumpur|Asia/Singapore\",\n\t\t\"Asia/Kuala_Lumpur|Singapore\",\n\t\t\"Asia/Macau|Asia/Macao\",\n\t\t\"Asia/Makassar|Asia/Ujung_Pandang\",\n\t\t\"Asia/Nicosia|Europe/Nicosia\",\n\t\t\"Asia/Qatar|Asia/Bahrain\",\n\t\t\"Asia/Rangoon|Asia/Yangon\",\n\t\t\"Asia/Riyadh|Asia/Aden\",\n\t\t\"Asia/Riyadh|Asia/Kuwait\",\n\t\t\"Asia/Seoul|ROK\",\n\t\t\"Asia/Shanghai|Asia/Chongqing\",\n\t\t\"Asia/Shanghai|Asia/Chungking\",\n\t\t\"Asia/Shanghai|Asia/Harbin\",\n\t\t\"Asia/Shanghai|PRC\",\n\t\t\"Asia/Taipei|ROC\",\n\t\t\"Asia/Tehran|Iran\",\n\t\t\"Asia/Thimphu|Asia/Thimbu\",\n\t\t\"Asia/Tokyo|Japan\",\n\t\t\"Asia/Ulaanbaatar|Asia/Ulan_Bator\",\n\t\t\"Asia/Urumqi|Asia/Kashgar\",\n\t\t\"Atlantic/Faroe|Atlantic/Faeroe\",\n\t\t\"Atlantic/Reykjavik|Iceland\",\n\t\t\"Atlantic/South_Georgia|Etc/GMT+2\",\n\t\t\"Australia/Adelaide|Australia/South\",\n\t\t\"Australia/Brisbane|Australia/Queensland\",\n\t\t\"Australia/Broken_Hill|Australia/Yancowinna\",\n\t\t\"Australia/Darwin|Australia/North\",\n\t\t\"Australia/Hobart|Australia/Tasmania\",\n\t\t\"Australia/Lord_Howe|Australia/LHI\",\n\t\t\"Australia/Melbourne|Australia/Victoria\",\n\t\t\"Australia/Perth|Australia/West\",\n\t\t\"Australia/Sydney|Australia/ACT\",\n\t\t\"Australia/Sydney|Australia/Canberra\",\n\t\t\"Australia/Sydney|Australia/NSW\",\n\t\t\"Etc/GMT+0|Etc/GMT\",\n\t\t\"Etc/GMT+0|Etc/GMT-0\",\n\t\t\"Etc/GMT+0|Etc/GMT0\",\n\t\t\"Etc/GMT+0|Etc/Greenwich\",\n\t\t\"Etc/GMT+0|GMT\",\n\t\t\"Etc/GMT+0|GMT+0\",\n\t\t\"Etc/GMT+0|GMT-0\",\n\t\t\"Etc/GMT+0|GMT0\",\n\t\t\"Etc/GMT+0|Greenwich\",\n\t\t\"Etc/UCT|UCT\",\n\t\t\"Etc/UTC|Etc/Universal\",\n\t\t\"Etc/UTC|Etc/Zulu\",\n\t\t\"Etc/UTC|UTC\",\n\t\t\"Etc/UTC|Universal\",\n\t\t\"Etc/UTC|Zulu\",\n\t\t\"Europe/Belgrade|Europe/Ljubljana\",\n\t\t\"Europe/Belgrade|Europe/Podgorica\",\n\t\t\"Europe/Belgrade|Europe/Sarajevo\",\n\t\t\"Europe/Belgrade|Europe/Skopje\",\n\t\t\"Europe/Belgrade|Europe/Zagreb\",\n\t\t\"Europe/Chisinau|Europe/Tiraspol\",\n\t\t\"Europe/Dublin|Eire\",\n\t\t\"Europe/Helsinki|Europe/Mariehamn\",\n\t\t\"Europe/Istanbul|Asia/Istanbul\",\n\t\t\"Europe/Istanbul|Turkey\",\n\t\t\"Europe/Lisbon|Portugal\",\n\t\t\"Europe/London|Europe/Belfast\",\n\t\t\"Europe/London|Europe/Guernsey\",\n\t\t\"Europe/London|Europe/Isle_of_Man\",\n\t\t\"Europe/London|Europe/Jersey\",\n\t\t\"Europe/London|GB\",\n\t\t\"Europe/London|GB-Eire\",\n\t\t\"Europe/Moscow|W-SU\",\n\t\t\"Europe/Oslo|Arctic/Longyearbyen\",\n\t\t\"Europe/Oslo|Atlantic/Jan_Mayen\",\n\t\t\"Europe/Prague|Europe/Bratislava\",\n\t\t\"Europe/Rome|Europe/San_Marino\",\n\t\t\"Europe/Rome|Europe/Vatican\",\n\t\t\"Europe/Warsaw|Poland\",\n\t\t\"Europe/Zurich|Europe/Busingen\",\n\t\t\"Europe/Zurich|Europe/Vaduz\",\n\t\t\"Indian/Christmas|Etc/GMT-7\",\n\t\t\"Pacific/Auckland|Antarctica/McMurdo\",\n\t\t\"Pacific/Auckland|Antarctica/South_Pole\",\n\t\t\"Pacific/Auckland|NZ\",\n\t\t\"Pacific/Chatham|NZ-CHAT\",\n\t\t\"Pacific/Easter|Chile/EasterIsland\",\n\t\t\"Pacific/Guam|Pacific/Saipan\",\n\t\t\"Pacific/Honolulu|Pacific/Johnston\",\n\t\t\"Pacific/Honolulu|US/Hawaii\",\n\t\t\"Pacific/Kwajalein|Kwajalein\",\n\t\t\"Pacific/Pago_Pago|Pacific/Midway\",\n\t\t\"Pacific/Pago_Pago|Pacific/Samoa\",\n\t\t\"Pacific/Pago_Pago|US/Samoa\",\n\t\t\"Pacific/Palau|Etc/GMT-9\",\n\t\t\"Pacific/Pohnpei|Etc/GMT-11\",\n\t\t\"Pacific/Pohnpei|Pacific/Ponape\",\n\t\t\"Pacific/Port_Moresby|Etc/GMT-10\",\n\t\t\"Pacific/Port_Moresby|Pacific/Chuuk\",\n\t\t\"Pacific/Port_Moresby|Pacific/Truk\",\n\t\t\"Pacific/Port_Moresby|Pacific/Yap\",\n\t\t\"Pacific/Tarawa|Etc/GMT-12\",\n\t\t\"Pacific/Tarawa|Pacific/Funafuti\",\n\t\t\"Pacific/Tarawa|Pacific/Wake\",\n\t\t\"Pacific/Tarawa|Pacific/Wallis\"\n\t]\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/moment-timezone/data/packed/latest.json\n// module id = 1427\n// module chunks = 0","import metadata from './metadata.min.json'\n\nimport parseCustom from './es6/parse'\nimport getNumberTypeCustom from './es6/get number type'\nimport formatCustom from './es6/format'\nimport isValidNumberCustom from './es6/validate'\nimport asYouTypeCustom from './es6/as you type'\n\nimport { get_phone_code } from './es6/metadata'\n\nexport function parse()\n{\n\tvar parameters = Array.prototype.slice.call(arguments)\n\tparameters.push(metadata)\n\treturn parseCustom.apply(this, parameters)\n}\n\nexport function format()\n{\n\tvar parameters = Array.prototype.slice.call(arguments)\n\tparameters.push(metadata)\n\treturn formatCustom.apply(this, parameters)\n}\n\nexport function get_number_type()\n{\n\tvar parameters = Array.prototype.slice.call(arguments)\n\tparameters.push(metadata)\n\treturn getNumberTypeCustom.apply(this, parameters)\n}\n\n// camelCase alias\nexport function getNumberType()\n{\n\treturn get_number_type.apply(this, arguments)\n}\n\nexport function is_valid_number()\n{\n\tvar parameters = Array.prototype.slice.call(arguments)\n\tparameters.push(metadata)\n\treturn isValidNumberCustom.apply(this, parameters)\n}\n\n// camelCase alias\nexport function isValidNumber()\n{\n\treturn is_valid_number.apply(this, arguments)\n}\n\nexport function as_you_type(country)\n{\n\tasYouTypeCustom.call(this, country, metadata)\n}\n\nas_you_type.prototype = Object.create(asYouTypeCustom.prototype, {})\nas_you_type.prototype.constructor = as_you_type\n\n// camelCase alias\n\nexport function asYouType(country)\n{\n\tasYouTypeCustom.call(this, country, metadata)\n}\n\nasYouType.prototype = Object.create(asYouTypeCustom.prototype, {})\nasYouType.prototype.constructor = asYouType\n\nexport { default as parseCustom }         from './es6/parse'\nexport { default as formatCustom }        from './es6/format'\nexport { default as isValidNumberCustom } from './es6/validate'\nexport { default as getNumberTypeCustom } from './es6/get number type'\n\nexport\n{\n\tdefault as asYouTypeCustom,\n\tDIGIT_PLACEHOLDER\n}\nfrom './es6/as you type'\n\nexport function getPhoneCode(country)\n{\n\treturn getPhoneCodeCustom(country, metadata)\n}\n\nexport function getPhoneCodeCustom(country, metadata)\n{\n\tif (!metadata.countries[country])\n\t{\n\t\tthrow new Error('Unknown country: \"' + country + '\"')\n\t}\n\n\treturn get_phone_code(metadata.countries[country])\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/libphonenumber-js/index.es6.js\n// module id = 1428\n// module chunks = 0","/**\n * lodash 3.1.4 (Custom Build) <https://lodash.com/>\n * Build: `lodash modern modularize exports=\"npm\" -o ./`\n * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license <https://lodash.com/license>\n */\nvar isArguments = require('lodash.isarguments'),\n    isArray = require('lodash.isarray');\n\n/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n  return !!value && typeof value == 'object';\n}\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n  var index = -1,\n      length = values.length,\n      offset = array.length;\n\n  while (++index < length) {\n    array[offset + index] = values[index];\n  }\n  return array;\n}\n\n/**\n * The base implementation of `_.flatten` with added support for restricting\n * flattening and specifying the start index.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {boolean} [isDeep] Specify a deep flatten.\n * @param {boolean} [isStrict] Restrict flattening to arrays-like objects.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, isDeep, isStrict, result) {\n  result || (result = []);\n\n  var index = -1,\n      length = array.length;\n\n  while (++index < length) {\n    var value = array[index];\n    if (isObjectLike(value) && isArrayLike(value) &&\n        (isStrict || isArray(value) || isArguments(value))) {\n      if (isDeep) {\n        // Recursively flatten arrays (susceptible to call stack limits).\n        baseFlatten(value, isDeep, isStrict, result);\n      } else {\n        arrayPush(result, value);\n      }\n    } else if (!isStrict) {\n      result[result.length] = value;\n    }\n  }\n  return result;\n}\n\n/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n  return function(object) {\n    return object == null ? undefined : object[key];\n  };\n}\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n  return value != null && isLength(getLength(value));\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n  return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = baseFlatten;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/lodash._baseflatten/index.js\n// module id = 1429\n// module chunks = 0","/**\n * lodash 3.0.9 (Custom Build) <https://lodash.com/>\n * Build: `lodash modern modularize exports=\"npm\" -o ./`\n * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license <https://lodash.com/license>\n */\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n  return function(object) {\n    return object == null ? undefined : object[key];\n  };\n}\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\n/**\n * Checks if `value` is array-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n */\nfunction isArrayLike(value) {\n  return value != null && isLength(getLength(value));\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n  value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n  length = length == null ? MAX_SAFE_INTEGER : length;\n  return value > -1 && value % 1 == 0 && value < length;\n}\n\n/**\n * Checks if the provided arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n  if (!isObject(object)) {\n    return false;\n  }\n  var type = typeof index;\n  if (type == 'number'\n      ? (isArrayLike(object) && isIndex(index, object.length))\n      : (type == 'string' && index in object)) {\n    var other = object[index];\n    return value === value ? (value === other) : (other !== other);\n  }\n  return false;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n  return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n  // Avoid a V8 JIT bug in Chrome 19-20.\n  // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n  var type = typeof value;\n  return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/lodash._isiterateecall/index.js\n// module id = 1430\n// module chunks = 0","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n    arrayTag = '[object Array]',\n    boolTag = '[object Boolean]',\n    dateTag = '[object Date]',\n    errorTag = '[object Error]',\n    funcTag = '[object Function]',\n    genTag = '[object GeneratorFunction]',\n    mapTag = '[object Map]',\n    numberTag = '[object Number]',\n    objectTag = '[object Object]',\n    promiseTag = '[object Promise]',\n    regexpTag = '[object RegExp]',\n    setTag = '[object Set]',\n    stringTag = '[object String]',\n    symbolTag = '[object Symbol]',\n    weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n    dataViewTag = '[object DataView]',\n    float32Tag = '[object Float32Array]',\n    float64Tag = '[object Float64Array]',\n    int8Tag = '[object Int8Array]',\n    int16Tag = '[object Int16Array]',\n    int32Tag = '[object Int32Array]',\n    uint8Tag = '[object Uint8Array]',\n    uint8ClampedTag = '[object Uint8ClampedArray]',\n    uint16Tag = '[object Uint16Array]',\n    uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/**\n * Adds the key-value `pair` to `map`.\n *\n * @private\n * @param {Object} map The map to modify.\n * @param {Array} pair The key-value pair to add.\n * @returns {Object} Returns `map`.\n */\nfunction addMapEntry(map, pair) {\n  // Don't return `map.set` because it's not chainable in IE 11.\n  map.set(pair[0], pair[1]);\n  return map;\n}\n\n/**\n * Adds `value` to `set`.\n *\n * @private\n * @param {Object} set The set to modify.\n * @param {*} value The value to add.\n * @returns {Object} Returns `set`.\n */\nfunction addSetEntry(set, value) {\n  // Don't return `set.add` because it's not chainable in IE 11.\n  set.add(value);\n  return set;\n}\n\n/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n  var index = -1,\n      length = array ? array.length : 0;\n\n  while (++index < length) {\n    if (iteratee(array[index], index, array) === false) {\n      break;\n    }\n  }\n  return array;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n  var index = -1,\n      length = values.length,\n      offset = array.length;\n\n  while (++index < length) {\n    array[offset + index] = values[index];\n  }\n  return array;\n}\n\n/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n *  the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n  var index = -1,\n      length = array ? array.length : 0;\n\n  if (initAccum && length) {\n    accumulator = array[++index];\n  }\n  while (++index < length) {\n    accumulator = iteratee(accumulator, array[index], index, array);\n  }\n  return accumulator;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n  var index = -1,\n      result = Array(n);\n\n  while (++index < n) {\n    result[index] = iteratee(index);\n  }\n  return result;\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n  return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n  // Many host objects are `Object` objects that can coerce to strings\n  // despite having improperly defined `toString` methods.\n  var result = false;\n  if (value != null && typeof value.toString != 'function') {\n    try {\n      result = !!(value + '');\n    } catch (e) {}\n  }\n  return result;\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n  var index = -1,\n      result = Array(map.size);\n\n  map.forEach(function(value, key) {\n    result[++index] = [key, value];\n  });\n  return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n  return function(arg) {\n    return func(transform(arg));\n  };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n  var index = -1,\n      result = Array(set.size);\n\n  set.forEach(function(value) {\n    result[++index] = value;\n  });\n  return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n    funcProto = Function.prototype,\n    objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n  var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n  return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n  funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n  .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n    Symbol = root.Symbol,\n    Uint8Array = root.Uint8Array,\n    getPrototype = overArg(Object.getPrototypeOf, Object),\n    objectCreate = Object.create,\n    propertyIsEnumerable = objectProto.propertyIsEnumerable,\n    splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n    nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n    nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n    Map = getNative(root, 'Map'),\n    Promise = getNative(root, 'Promise'),\n    Set = getNative(root, 'Set'),\n    WeakMap = getNative(root, 'WeakMap'),\n    nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n    mapCtorString = toSource(Map),\n    promiseCtorString = toSource(Promise),\n    setCtorString = toSource(Set),\n    weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n    symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n  var index = -1,\n      length = entries ? entries.length : 0;\n\n  this.clear();\n  while (++index < length) {\n    var entry = entries[index];\n    this.set(entry[0], entry[1]);\n  }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n  this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n  return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n  var data = this.__data__;\n  if (nativeCreate) {\n    var result = data[key];\n    return result === HASH_UNDEFINED ? undefined : result;\n  }\n  return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n  var data = this.__data__;\n  return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n  var data = this.__data__;\n  data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n  return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n  var index = -1,\n      length = entries ? entries.length : 0;\n\n  this.clear();\n  while (++index < length) {\n    var entry = entries[index];\n    this.set(entry[0], entry[1]);\n  }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n  this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n  var data = this.__data__,\n      index = assocIndexOf(data, key);\n\n  if (index < 0) {\n    return false;\n  }\n  var lastIndex = data.length - 1;\n  if (index == lastIndex) {\n    data.pop();\n  } else {\n    splice.call(data, index, 1);\n  }\n  return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n  var data = this.__data__,\n      index = assocIndexOf(data, key);\n\n  return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n  return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n  var data = this.__data__,\n      index = assocIndexOf(data, key);\n\n  if (index < 0) {\n    data.push([key, value]);\n  } else {\n    data[index][1] = value;\n  }\n  return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n  var index = -1,\n      length = entries ? entries.length : 0;\n\n  this.clear();\n  while (++index < length) {\n    var entry = entries[index];\n    this.set(entry[0], entry[1]);\n  }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n  this.__data__ = {\n    'hash': new Hash,\n    'map': new (Map || ListCache),\n    'string': new Hash\n  };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n  return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n  return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n  return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n  getMapData(this, key).set(key, value);\n  return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n  this.__data__ = new ListCache(entries);\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n  this.__data__ = new ListCache;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n  return this.__data__['delete'](key);\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n  return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n  return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n  var cache = this.__data__;\n  if (cache instanceof ListCache) {\n    var pairs = cache.__data__;\n    if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n      pairs.push([key, value]);\n      return this;\n    }\n    cache = this.__data__ = new MapCache(pairs);\n  }\n  cache.set(key, value);\n  return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n  // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n  // Safari 9 makes `arguments.length` enumerable in strict mode.\n  var result = (isArray(value) || isArguments(value))\n    ? baseTimes(value.length, String)\n    : [];\n\n  var length = result.length,\n      skipIndexes = !!length;\n\n  for (var key in value) {\n    if ((inherited || hasOwnProperty.call(value, key)) &&\n        !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n      result.push(key);\n    }\n  }\n  return result;\n}\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n  var objValue = object[key];\n  if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n      (value === undefined && !(key in object))) {\n    object[key] = value;\n  }\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n  var length = array.length;\n  while (length--) {\n    if (eq(array[length][0], key)) {\n      return length;\n    }\n  }\n  return -1;\n}\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n  return object && copyObject(source, keys(source), object);\n}\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {boolean} [isFull] Specify a clone including symbols.\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, isFull, customizer, key, object, stack) {\n  var result;\n  if (customizer) {\n    result = object ? customizer(value, key, object, stack) : customizer(value);\n  }\n  if (result !== undefined) {\n    return result;\n  }\n  if (!isObject(value)) {\n    return value;\n  }\n  var isArr = isArray(value);\n  if (isArr) {\n    result = initCloneArray(value);\n    if (!isDeep) {\n      return copyArray(value, result);\n    }\n  } else {\n    var tag = getTag(value),\n        isFunc = tag == funcTag || tag == genTag;\n\n    if (isBuffer(value)) {\n      return cloneBuffer(value, isDeep);\n    }\n    if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n      if (isHostObject(value)) {\n        return object ? value : {};\n      }\n      result = initCloneObject(isFunc ? {} : value);\n      if (!isDeep) {\n        return copySymbols(value, baseAssign(result, value));\n      }\n    } else {\n      if (!cloneableTags[tag]) {\n        return object ? value : {};\n      }\n      result = initCloneByTag(value, tag, baseClone, isDeep);\n    }\n  }\n  // Check for circular references and return its corresponding clone.\n  stack || (stack = new Stack);\n  var stacked = stack.get(value);\n  if (stacked) {\n    return stacked;\n  }\n  stack.set(value, result);\n\n  if (!isArr) {\n    var props = isFull ? getAllKeys(value) : keys(value);\n  }\n  arrayEach(props || value, function(subValue, key) {\n    if (props) {\n      key = subValue;\n      subValue = value[key];\n    }\n    // Recursively populate clone (susceptible to call stack limits).\n    assignValue(result, key, baseClone(subValue, isDeep, isFull, customizer, key, value, stack));\n  });\n  return result;\n}\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} prototype The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nfunction baseCreate(proto) {\n  return isObject(proto) ? objectCreate(proto) : {};\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n  var result = keysFunc(object);\n  return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n  return objectToString.call(value);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n *  else `false`.\n */\nfunction baseIsNative(value) {\n  if (!isObject(value) || isMasked(value)) {\n    return false;\n  }\n  var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n  return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n  if (!isPrototype(object)) {\n    return nativeKeys(object);\n  }\n  var result = [];\n  for (var key in Object(object)) {\n    if (hasOwnProperty.call(object, key) && key != 'constructor') {\n      result.push(key);\n    }\n  }\n  return result;\n}\n\n/**\n * Creates a clone of  `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n  if (isDeep) {\n    return buffer.slice();\n  }\n  var result = new buffer.constructor(buffer.length);\n  buffer.copy(result);\n  return result;\n}\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n  var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n  new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n  return result;\n}\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n  var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n  return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\n/**\n * Creates a clone of `map`.\n *\n * @private\n * @param {Object} map The map to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned map.\n */\nfunction cloneMap(map, isDeep, cloneFunc) {\n  var array = isDeep ? cloneFunc(mapToArray(map), true) : mapToArray(map);\n  return arrayReduce(array, addMapEntry, new map.constructor);\n}\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n  var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n  result.lastIndex = regexp.lastIndex;\n  return result;\n}\n\n/**\n * Creates a clone of `set`.\n *\n * @private\n * @param {Object} set The set to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned set.\n */\nfunction cloneSet(set, isDeep, cloneFunc) {\n  var array = isDeep ? cloneFunc(setToArray(set), true) : setToArray(set);\n  return arrayReduce(array, addSetEntry, new set.constructor);\n}\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n  return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n  var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n  return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\n/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n  var index = -1,\n      length = source.length;\n\n  array || (array = Array(length));\n  while (++index < length) {\n    array[index] = source[index];\n  }\n  return array;\n}\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n  object || (object = {});\n\n  var index = -1,\n      length = props.length;\n\n  while (++index < length) {\n    var key = props[index];\n\n    var newValue = customizer\n      ? customizer(object[key], source[key], key, object, source)\n      : undefined;\n\n    assignValue(object, key, newValue === undefined ? source[key] : newValue);\n  }\n  return object;\n}\n\n/**\n * Copies own symbol properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n  return copyObject(source, getSymbols(source), object);\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n  return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n  var data = map.__data__;\n  return isKeyable(key)\n    ? data[typeof key == 'string' ? 'string' : 'hash']\n    : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n  var value = getValue(object, key);\n  return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Creates an array of the own enumerable symbol properties of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = nativeGetSymbols ? overArg(nativeGetSymbols, Object) : stubArray;\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n    (Map && getTag(new Map) != mapTag) ||\n    (Promise && getTag(Promise.resolve()) != promiseTag) ||\n    (Set && getTag(new Set) != setTag) ||\n    (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n  getTag = function(value) {\n    var result = objectToString.call(value),\n        Ctor = result == objectTag ? value.constructor : undefined,\n        ctorString = Ctor ? toSource(Ctor) : undefined;\n\n    if (ctorString) {\n      switch (ctorString) {\n        case dataViewCtorString: return dataViewTag;\n        case mapCtorString: return mapTag;\n        case promiseCtorString: return promiseTag;\n        case setCtorString: return setTag;\n        case weakMapCtorString: return weakMapTag;\n      }\n    }\n    return result;\n  };\n}\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n  var length = array.length,\n      result = array.constructor(length);\n\n  // Add properties assigned by `RegExp#exec`.\n  if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n    result.index = array.index;\n    result.input = array.input;\n  }\n  return result;\n}\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n  return (typeof object.constructor == 'function' && !isPrototype(object))\n    ? baseCreate(getPrototype(object))\n    : {};\n}\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, cloneFunc, isDeep) {\n  var Ctor = object.constructor;\n  switch (tag) {\n    case arrayBufferTag:\n      return cloneArrayBuffer(object);\n\n    case boolTag:\n    case dateTag:\n      return new Ctor(+object);\n\n    case dataViewTag:\n      return cloneDataView(object, isDeep);\n\n    case float32Tag: case float64Tag:\n    case int8Tag: case int16Tag: case int32Tag:\n    case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n      return cloneTypedArray(object, isDeep);\n\n    case mapTag:\n      return cloneMap(object, isDeep, cloneFunc);\n\n    case numberTag:\n    case stringTag:\n      return new Ctor(object);\n\n    case regexpTag:\n      return cloneRegExp(object);\n\n    case setTag:\n      return cloneSet(object, isDeep, cloneFunc);\n\n    case symbolTag:\n      return cloneSymbol(object);\n  }\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n  length = length == null ? MAX_SAFE_INTEGER : length;\n  return !!length &&\n    (typeof value == 'number' || reIsUint.test(value)) &&\n    (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n  var type = typeof value;\n  return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n    ? (value !== '__proto__')\n    : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n  return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n  var Ctor = value && value.constructor,\n      proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n  return value === proto;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n  if (func != null) {\n    try {\n      return funcToString.call(func);\n    } catch (e) {}\n    try {\n      return (func + '');\n    } catch (e) {}\n  }\n  return '';\n}\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n  return baseClone(value, true, true);\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n  return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n *  else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n  // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n  return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n    (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n  return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n *  else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n  return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n  // The use of `Object#toString` avoids issues with the `typeof` operator\n  // in Safari 8-9 which returns 'object' for typed array and other constructors.\n  var tag = isObject(value) ? objectToString.call(value) : '';\n  return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n  return typeof value == 'number' &&\n    value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n  var type = typeof value;\n  return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n  return !!value && typeof value == 'object';\n}\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n *   this.a = 1;\n *   this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n  return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n  return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n  return false;\n}\n\nmodule.exports = cloneDeep;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/lodash.clonedeep/index.js\n// module id = 1431\n// module chunks = 0","/**\n * lodash 3.0.2 (Custom Build) <https://lodash.com/>\n * Build: `lodash modern modularize exports=\"npm\" -o ./`\n * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>\n * Based on Underscore.js 1.8.2 <http://underscorejs.org/LICENSE>\n * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license <https://lodash.com/license>\n */\nvar baseFlatten = require('lodash._baseflatten'),\n    isIterateeCall = require('lodash._isiterateecall');\n\n/**\n * Flattens a nested array. If `isDeep` is `true` the array is recursively\n * flattened, otherwise it is only flattened a single level.\n *\n * @static\n * @memberOf _\n * @category Array\n * @param {Array} array The array to flatten.\n * @param {boolean} [isDeep] Specify a deep flatten.\n * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flatten([1, [2, 3, [4]]]);\n * // => [1, 2, 3, [4]]\n *\n * // using `isDeep`\n * _.flatten([1, [2, 3, [4]]], true);\n * // => [1, 2, 3, 4]\n */\nfunction flatten(array, isDeep, guard) {\n  var length = array ? array.length : 0;\n  if (guard && isIterateeCall(array, isDeep, guard)) {\n    isDeep = false;\n  }\n  return length ? baseFlatten(array, isDeep) : [];\n}\n\nmodule.exports = flatten;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/lodash.flatten/index.js\n// module id = 1432\n// module chunks = 0","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]',\n    genTag = '[object GeneratorFunction]',\n    symbolTag = '[object Symbol]';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n    reIsPlainProp = /^\\w*$/,\n    reLeadingDot = /^\\./,\n    rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n  return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n  // Many host objects are `Object` objects that can coerce to strings\n  // despite having improperly defined `toString` methods.\n  var result = false;\n  if (value != null && typeof value.toString != 'function') {\n    try {\n      result = !!(value + '');\n    } catch (e) {}\n  }\n  return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n    funcProto = Function.prototype,\n    objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n  var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n  return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n  funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n  .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n    splice = arrayProto.splice;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n    nativeCreate = getNative(Object, 'create');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n    symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n  var index = -1,\n      length = entries ? entries.length : 0;\n\n  this.clear();\n  while (++index < length) {\n    var entry = entries[index];\n    this.set(entry[0], entry[1]);\n  }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n  this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n  return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n  var data = this.__data__;\n  if (nativeCreate) {\n    var result = data[key];\n    return result === HASH_UNDEFINED ? undefined : result;\n  }\n  return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n  var data = this.__data__;\n  return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n  var data = this.__data__;\n  data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n  return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n  var index = -1,\n      length = entries ? entries.length : 0;\n\n  this.clear();\n  while (++index < length) {\n    var entry = entries[index];\n    this.set(entry[0], entry[1]);\n  }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n  this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n  var data = this.__data__,\n      index = assocIndexOf(data, key);\n\n  if (index < 0) {\n    return false;\n  }\n  var lastIndex = data.length - 1;\n  if (index == lastIndex) {\n    data.pop();\n  } else {\n    splice.call(data, index, 1);\n  }\n  return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n  var data = this.__data__,\n      index = assocIndexOf(data, key);\n\n  return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n  return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n  var data = this.__data__,\n      index = assocIndexOf(data, key);\n\n  if (index < 0) {\n    data.push([key, value]);\n  } else {\n    data[index][1] = value;\n  }\n  return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n  var index = -1,\n      length = entries ? entries.length : 0;\n\n  this.clear();\n  while (++index < length) {\n    var entry = entries[index];\n    this.set(entry[0], entry[1]);\n  }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n  this.__data__ = {\n    'hash': new Hash,\n    'map': new (Map || ListCache),\n    'string': new Hash\n  };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n  return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n  return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n  return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n  getMapData(this, key).set(key, value);\n  return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n  var length = array.length;\n  while (length--) {\n    if (eq(array[length][0], key)) {\n      return length;\n    }\n  }\n  return -1;\n}\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n  path = isKey(path, object) ? [path] : castPath(path);\n\n  var index = 0,\n      length = path.length;\n\n  while (object != null && index < length) {\n    object = object[toKey(path[index++])];\n  }\n  return (index && index == length) ? object : undefined;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n *  else `false`.\n */\nfunction baseIsNative(value) {\n  if (!isObject(value) || isMasked(value)) {\n    return false;\n  }\n  var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n  return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n  // Exit early for strings to avoid a performance hit in some environments.\n  if (typeof value == 'string') {\n    return value;\n  }\n  if (isSymbol(value)) {\n    return symbolToString ? symbolToString.call(value) : '';\n  }\n  var result = (value + '');\n  return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value) {\n  return isArray(value) ? value : stringToPath(value);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n  var data = map.__data__;\n  return isKeyable(key)\n    ? data[typeof key == 'string' ? 'string' : 'hash']\n    : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n  var value = getValue(object, key);\n  return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n  if (isArray(value)) {\n    return false;\n  }\n  var type = typeof value;\n  if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n      value == null || isSymbol(value)) {\n    return true;\n  }\n  return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n    (object != null && value in Object(object));\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n  var type = typeof value;\n  return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n    ? (value !== '__proto__')\n    : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n  return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoize(function(string) {\n  string = toString(string);\n\n  var result = [];\n  if (reLeadingDot.test(string)) {\n    result.push('');\n  }\n  string.replace(rePropName, function(match, number, quote, string) {\n    result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));\n  });\n  return result;\n});\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n  if (typeof value == 'string' || isSymbol(value)) {\n    return value;\n  }\n  var result = (value + '');\n  return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n  if (func != null) {\n    try {\n      return funcToString.call(func);\n    } catch (e) {}\n    try {\n      return (func + '');\n    } catch (e) {}\n  }\n  return '';\n}\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n  if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n    throw new TypeError(FUNC_ERROR_TEXT);\n  }\n  var memoized = function() {\n    var args = arguments,\n        key = resolver ? resolver.apply(this, args) : args[0],\n        cache = memoized.cache;\n\n    if (cache.has(key)) {\n      return cache.get(key);\n    }\n    var result = func.apply(this, args);\n    memoized.cache = cache.set(key, result);\n    return result;\n  };\n  memoized.cache = new (memoize.Cache || MapCache);\n  return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n  return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n  // The use of `Object#toString` avoids issues with the `typeof` operator\n  // in Safari 8-9 which returns 'object' for typed array and other constructors.\n  var tag = isObject(value) ? objectToString.call(value) : '';\n  return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n  var type = typeof value;\n  return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n  return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n  return typeof value == 'symbol' ||\n    (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n  return value == null ? '' : baseToString(value);\n}\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n  var result = object == null ? undefined : baseGet(object, path);\n  return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/lodash.get/index.js\n// module id = 1433\n// module chunks = 0","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n    funcTag = '[object Function]',\n    genTag = '[object GeneratorFunction]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n *  else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n  // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n  return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n    (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n  return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n *  else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n  return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n  // The use of `Object#toString` avoids issues with the `typeof` operator\n  // in Safari 8-9 which returns 'object' for typed array and other constructors.\n  var tag = isObject(value) ? objectToString.call(value) : '';\n  return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n  return typeof value == 'number' &&\n    value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n  var type = typeof value;\n  return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n  return !!value && typeof value == 'object';\n}\n\nmodule.exports = isArguments;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/lodash.isarguments/index.js\n// module id = 1434\n// module chunks = 0","/**\n * lodash 3.0.4 (Custom Build) <https://lodash.com/>\n * Build: `lodash modern modularize exports=\"npm\" -o ./`\n * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license <https://lodash.com/license>\n */\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]',\n    funcTag = '[object Function]';\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n  return !!value && typeof value == 'object';\n}\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n  fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n  .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n  var value = object == null ? undefined : object[key];\n  return isNative(value) ? value : undefined;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n  return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n  return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n  // The use of `Object#toString` avoids issues with the `typeof` operator\n  // in older versions of Chrome and Safari which return 'function' for regexes\n  // and Safari 8 equivalents which return 'object' for typed array constructors.\n  return isObject(value) && objToString.call(value) == funcTag;\n}\n\n/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n  // Avoid a V8 JIT bug in Chrome 19-20.\n  // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n  var type = typeof value;\n  return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n  if (value == null) {\n    return false;\n  }\n  if (isFunction(value)) {\n    return reIsNative.test(fnToString.call(value));\n  }\n  return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isArray;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/lodash.isarray/index.js\n// module id = 1435\n// module chunks = 0","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n    MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]',\n    genTag = '[object GeneratorFunction]',\n    symbolTag = '[object Symbol]';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n    reIsPlainProp = /^\\w*$/,\n    reLeadingDot = /^\\./,\n    rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n  return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n  // Many host objects are `Object` objects that can coerce to strings\n  // despite having improperly defined `toString` methods.\n  var result = false;\n  if (value != null && typeof value.toString != 'function') {\n    try {\n      result = !!(value + '');\n    } catch (e) {}\n  }\n  return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n    funcProto = Function.prototype,\n    objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n  var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n  return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n  funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n  .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n    splice = arrayProto.splice;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n    nativeCreate = getNative(Object, 'create');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n    symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n  var index = -1,\n      length = entries ? entries.length : 0;\n\n  this.clear();\n  while (++index < length) {\n    var entry = entries[index];\n    this.set(entry[0], entry[1]);\n  }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n  this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n  return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n  var data = this.__data__;\n  if (nativeCreate) {\n    var result = data[key];\n    return result === HASH_UNDEFINED ? undefined : result;\n  }\n  return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n  var data = this.__data__;\n  return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n  var data = this.__data__;\n  data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n  return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n  var index = -1,\n      length = entries ? entries.length : 0;\n\n  this.clear();\n  while (++index < length) {\n    var entry = entries[index];\n    this.set(entry[0], entry[1]);\n  }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n  this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n  var data = this.__data__,\n      index = assocIndexOf(data, key);\n\n  if (index < 0) {\n    return false;\n  }\n  var lastIndex = data.length - 1;\n  if (index == lastIndex) {\n    data.pop();\n  } else {\n    splice.call(data, index, 1);\n  }\n  return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n  var data = this.__data__,\n      index = assocIndexOf(data, key);\n\n  return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n  return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n  var data = this.__data__,\n      index = assocIndexOf(data, key);\n\n  if (index < 0) {\n    data.push([key, value]);\n  } else {\n    data[index][1] = value;\n  }\n  return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n  var index = -1,\n      length = entries ? entries.length : 0;\n\n  this.clear();\n  while (++index < length) {\n    var entry = entries[index];\n    this.set(entry[0], entry[1]);\n  }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n  this.__data__ = {\n    'hash': new Hash,\n    'map': new (Map || ListCache),\n    'string': new Hash\n  };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n  return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n  return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n  return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n  getMapData(this, key).set(key, value);\n  return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n  var objValue = object[key];\n  if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n      (value === undefined && !(key in object))) {\n    object[key] = value;\n  }\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n  var length = array.length;\n  while (length--) {\n    if (eq(array[length][0], key)) {\n      return length;\n    }\n  }\n  return -1;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n *  else `false`.\n */\nfunction baseIsNative(value) {\n  if (!isObject(value) || isMasked(value)) {\n    return false;\n  }\n  var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n  return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\nfunction baseSet(object, path, value, customizer) {\n  if (!isObject(object)) {\n    return object;\n  }\n  path = isKey(path, object) ? [path] : castPath(path);\n\n  var index = -1,\n      length = path.length,\n      lastIndex = length - 1,\n      nested = object;\n\n  while (nested != null && ++index < length) {\n    var key = toKey(path[index]),\n        newValue = value;\n\n    if (index != lastIndex) {\n      var objValue = nested[key];\n      newValue = customizer ? customizer(objValue, key, nested) : undefined;\n      if (newValue === undefined) {\n        newValue = isObject(objValue)\n          ? objValue\n          : (isIndex(path[index + 1]) ? [] : {});\n      }\n    }\n    assignValue(nested, key, newValue);\n    nested = nested[key];\n  }\n  return object;\n}\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n  // Exit early for strings to avoid a performance hit in some environments.\n  if (typeof value == 'string') {\n    return value;\n  }\n  if (isSymbol(value)) {\n    return symbolToString ? symbolToString.call(value) : '';\n  }\n  var result = (value + '');\n  return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value) {\n  return isArray(value) ? value : stringToPath(value);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n  var data = map.__data__;\n  return isKeyable(key)\n    ? data[typeof key == 'string' ? 'string' : 'hash']\n    : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n  var value = getValue(object, key);\n  return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n  length = length == null ? MAX_SAFE_INTEGER : length;\n  return !!length &&\n    (typeof value == 'number' || reIsUint.test(value)) &&\n    (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n  if (isArray(value)) {\n    return false;\n  }\n  var type = typeof value;\n  if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n      value == null || isSymbol(value)) {\n    return true;\n  }\n  return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n    (object != null && value in Object(object));\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n  var type = typeof value;\n  return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n    ? (value !== '__proto__')\n    : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n  return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoize(function(string) {\n  string = toString(string);\n\n  var result = [];\n  if (reLeadingDot.test(string)) {\n    result.push('');\n  }\n  string.replace(rePropName, function(match, number, quote, string) {\n    result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));\n  });\n  return result;\n});\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n  if (typeof value == 'string' || isSymbol(value)) {\n    return value;\n  }\n  var result = (value + '');\n  return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n  if (func != null) {\n    try {\n      return funcToString.call(func);\n    } catch (e) {}\n    try {\n      return (func + '');\n    } catch (e) {}\n  }\n  return '';\n}\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n  if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n    throw new TypeError(FUNC_ERROR_TEXT);\n  }\n  var memoized = function() {\n    var args = arguments,\n        key = resolver ? resolver.apply(this, args) : args[0],\n        cache = memoized.cache;\n\n    if (cache.has(key)) {\n      return cache.get(key);\n    }\n    var result = func.apply(this, args);\n    memoized.cache = cache.set(key, result);\n    return result;\n  };\n  memoized.cache = new (memoize.Cache || MapCache);\n  return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n  return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n  // The use of `Object#toString` avoids issues with the `typeof` operator\n  // in Safari 8-9 which returns 'object' for typed array and other constructors.\n  var tag = isObject(value) ? objectToString.call(value) : '';\n  return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n  var type = typeof value;\n  return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n  return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n  return typeof value == 'symbol' ||\n    (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n  return value == null ? '' : baseToString(value);\n}\n\n/**\n * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,\n * it's created. Arrays are created for missing index properties while objects\n * are created for all other missing properties. Use `_.setWith` to customize\n * `path` creation.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.set(object, 'a[0].b.c', 4);\n * console.log(object.a[0].b.c);\n * // => 4\n *\n * _.set(object, ['x', '0', 'y', 'z'], 5);\n * console.log(object.x[0].y.z);\n * // => 5\n */\nfunction set(object, path, value) {\n  return object == null ? object : baseSet(object, path, value);\n}\n\nmodule.exports = set;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/lodash.set/index.js\n// module id = 1436\n// module chunks = 0","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]',\n    genTag = '[object GeneratorFunction]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n  var length = array ? array.length : 0;\n  return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\n/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n  var index = -1,\n      length = array ? array.length : 0;\n\n  while (++index < length) {\n    if (comparator(value, array[index])) {\n      return true;\n    }\n  }\n  return false;\n}\n\n/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n  var length = array.length,\n      index = fromIndex + (fromRight ? 1 : -1);\n\n  while ((fromRight ? index-- : ++index < length)) {\n    if (predicate(array[index], index, array)) {\n      return index;\n    }\n  }\n  return -1;\n}\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n  if (value !== value) {\n    return baseFindIndex(array, baseIsNaN, fromIndex);\n  }\n  var index = fromIndex - 1,\n      length = array.length;\n\n  while (++index < length) {\n    if (array[index] === value) {\n      return index;\n    }\n  }\n  return -1;\n}\n\n/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n  return value !== value;\n}\n\n/**\n * Checks if a cache value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n  return cache.has(key);\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n  return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n  // Many host objects are `Object` objects that can coerce to strings\n  // despite having improperly defined `toString` methods.\n  var result = false;\n  if (value != null && typeof value.toString != 'function') {\n    try {\n      result = !!(value + '');\n    } catch (e) {}\n  }\n  return result;\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n  var index = -1,\n      result = Array(set.size);\n\n  set.forEach(function(value) {\n    result[++index] = value;\n  });\n  return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n    funcProto = Function.prototype,\n    objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n  var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n  return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n  funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n  .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n    Set = getNative(root, 'Set'),\n    nativeCreate = getNative(Object, 'create');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n  var index = -1,\n      length = entries ? entries.length : 0;\n\n  this.clear();\n  while (++index < length) {\n    var entry = entries[index];\n    this.set(entry[0], entry[1]);\n  }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n  this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n  return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n  var data = this.__data__;\n  if (nativeCreate) {\n    var result = data[key];\n    return result === HASH_UNDEFINED ? undefined : result;\n  }\n  return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n  var data = this.__data__;\n  return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n  var data = this.__data__;\n  data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n  return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n  var index = -1,\n      length = entries ? entries.length : 0;\n\n  this.clear();\n  while (++index < length) {\n    var entry = entries[index];\n    this.set(entry[0], entry[1]);\n  }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n  this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n  var data = this.__data__,\n      index = assocIndexOf(data, key);\n\n  if (index < 0) {\n    return false;\n  }\n  var lastIndex = data.length - 1;\n  if (index == lastIndex) {\n    data.pop();\n  } else {\n    splice.call(data, index, 1);\n  }\n  return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n  var data = this.__data__,\n      index = assocIndexOf(data, key);\n\n  return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n  return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n  var data = this.__data__,\n      index = assocIndexOf(data, key);\n\n  if (index < 0) {\n    data.push([key, value]);\n  } else {\n    data[index][1] = value;\n  }\n  return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n  var index = -1,\n      length = entries ? entries.length : 0;\n\n  this.clear();\n  while (++index < length) {\n    var entry = entries[index];\n    this.set(entry[0], entry[1]);\n  }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n  this.__data__ = {\n    'hash': new Hash,\n    'map': new (Map || ListCache),\n    'string': new Hash\n  };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n  return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n  return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n  return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n  getMapData(this, key).set(key, value);\n  return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n  var index = -1,\n      length = values ? values.length : 0;\n\n  this.__data__ = new MapCache;\n  while (++index < length) {\n    this.add(values[index]);\n  }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n  this.__data__.set(value, HASH_UNDEFINED);\n  return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n  return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n  var length = array.length;\n  while (length--) {\n    if (eq(array[length][0], key)) {\n      return length;\n    }\n  }\n  return -1;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n *  else `false`.\n */\nfunction baseIsNative(value) {\n  if (!isObject(value) || isMasked(value)) {\n    return false;\n  }\n  var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n  return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n  var index = -1,\n      includes = arrayIncludes,\n      length = array.length,\n      isCommon = true,\n      result = [],\n      seen = result;\n\n  if (comparator) {\n    isCommon = false;\n    includes = arrayIncludesWith;\n  }\n  else if (length >= LARGE_ARRAY_SIZE) {\n    var set = iteratee ? null : createSet(array);\n    if (set) {\n      return setToArray(set);\n    }\n    isCommon = false;\n    includes = cacheHas;\n    seen = new SetCache;\n  }\n  else {\n    seen = iteratee ? [] : result;\n  }\n  outer:\n  while (++index < length) {\n    var value = array[index],\n        computed = iteratee ? iteratee(value) : value;\n\n    value = (comparator || value !== 0) ? value : 0;\n    if (isCommon && computed === computed) {\n      var seenIndex = seen.length;\n      while (seenIndex--) {\n        if (seen[seenIndex] === computed) {\n          continue outer;\n        }\n      }\n      if (iteratee) {\n        seen.push(computed);\n      }\n      result.push(value);\n    }\n    else if (!includes(seen, computed, comparator)) {\n      if (seen !== result) {\n        seen.push(computed);\n      }\n      result.push(value);\n    }\n  }\n  return result;\n}\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n  return new Set(values);\n};\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n  var data = map.__data__;\n  return isKeyable(key)\n    ? data[typeof key == 'string' ? 'string' : 'hash']\n    : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n  var value = getValue(object, key);\n  return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n  var type = typeof value;\n  return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n    ? (value !== '__proto__')\n    : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n  return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n  if (func != null) {\n    try {\n      return funcToString.call(func);\n    } catch (e) {}\n    try {\n      return (func + '');\n    } catch (e) {}\n  }\n  return '';\n}\n\n/**\n * Creates a duplicate-free version of an array, using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons, in which only the first occurrence of each\n * element is kept.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniq([2, 1, 2]);\n * // => [2, 1]\n */\nfunction uniq(array) {\n  return (array && array.length)\n    ? baseUniq(array)\n    : [];\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n  return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n  // The use of `Object#toString` avoids issues with the `typeof` operator\n  // in Safari 8-9 which returns 'object' for typed array and other constructors.\n  var tag = isObject(value) ? objectToString.call(value) : '';\n  return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n  var type = typeof value;\n  return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n  // No operation performed.\n}\n\nmodule.exports = uniq;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/lodash.uniq/index.js\n// module id = 1437\n// module chunks = 0","//! moment-timezone.js\r\n//! version : 0.5.14\r\n//! Copyright (c) JS Foundation and other contributors\r\n//! license : MIT\r\n//! github.com/moment/moment-timezone\r\n\r\n(function (root, factory) {\r\n\t\"use strict\";\r\n\r\n\t/*global define*/\r\n\tif (typeof define === 'function' && define.amd) {\r\n\t\tdefine(['moment'], factory);                 // AMD\r\n\t} else if (typeof module === 'object' && module.exports) {\r\n\t\tmodule.exports = factory(require('moment')); // Node\r\n\t} else {\r\n\t\tfactory(root.moment);                        // Browser\r\n\t}\r\n}(this, function (moment) {\r\n\t\"use strict\";\r\n\r\n\t// Do not load moment-timezone a second time.\r\n\t// if (moment.tz !== undefined) {\r\n\t// \tlogError('Moment Timezone ' + moment.tz.version + ' was already loaded ' + (moment.tz.dataVersion ? 'with data from ' : 'without any data') + moment.tz.dataVersion);\r\n\t// \treturn moment;\r\n\t// }\r\n\r\n\tvar VERSION = \"0.5.14\",\r\n\t\tzones = {},\r\n\t\tlinks = {},\r\n\t\tnames = {},\r\n\t\tguesses = {},\r\n\t\tcachedGuess,\r\n\r\n\t\tmomentVersion = moment.version.split('.'),\r\n\t\tmajor = +momentVersion[0],\r\n\t\tminor = +momentVersion[1];\r\n\r\n\t// Moment.js version check\r\n\tif (major < 2 || (major === 2 && minor < 6)) {\r\n\t\tlogError('Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js ' + moment.version + '. See momentjs.com');\r\n\t}\r\n\r\n\t/************************************\r\n\t\tUnpacking\r\n\t************************************/\r\n\r\n\tfunction charCodeToInt(charCode) {\r\n\t\tif (charCode > 96) {\r\n\t\t\treturn charCode - 87;\r\n\t\t} else if (charCode > 64) {\r\n\t\t\treturn charCode - 29;\r\n\t\t}\r\n\t\treturn charCode - 48;\r\n\t}\r\n\r\n\tfunction unpackBase60(string) {\r\n\t\tvar i = 0,\r\n\t\t\tparts = string.split('.'),\r\n\t\t\twhole = parts[0],\r\n\t\t\tfractional = parts[1] || '',\r\n\t\t\tmultiplier = 1,\r\n\t\t\tnum,\r\n\t\t\tout = 0,\r\n\t\t\tsign = 1;\r\n\r\n\t\t// handle negative numbers\r\n\t\tif (string.charCodeAt(0) === 45) {\r\n\t\t\ti = 1;\r\n\t\t\tsign = -1;\r\n\t\t}\r\n\r\n\t\t// handle digits before the decimal\r\n\t\tfor (i; i < whole.length; i++) {\r\n\t\t\tnum = charCodeToInt(whole.charCodeAt(i));\r\n\t\t\tout = 60 * out + num;\r\n\t\t}\r\n\r\n\t\t// handle digits after the decimal\r\n\t\tfor (i = 0; i < fractional.length; i++) {\r\n\t\t\tmultiplier = multiplier / 60;\r\n\t\t\tnum = charCodeToInt(fractional.charCodeAt(i));\r\n\t\t\tout += num * multiplier;\r\n\t\t}\r\n\r\n\t\treturn out * sign;\r\n\t}\r\n\r\n\tfunction arrayToInt (array) {\r\n\t\tfor (var i = 0; i < array.length; i++) {\r\n\t\t\tarray[i] = unpackBase60(array[i]);\r\n\t\t}\r\n\t}\r\n\r\n\tfunction intToUntil (array, length) {\r\n\t\tfor (var i = 0; i < length; i++) {\r\n\t\t\tarray[i] = Math.round((array[i - 1] || 0) + (array[i] * 60000)); // minutes to milliseconds\r\n\t\t}\r\n\r\n\t\tarray[length - 1] = Infinity;\r\n\t}\r\n\r\n\tfunction mapIndices (source, indices) {\r\n\t\tvar out = [], i;\r\n\r\n\t\tfor (i = 0; i < indices.length; i++) {\r\n\t\t\tout[i] = source[indices[i]];\r\n\t\t}\r\n\r\n\t\treturn out;\r\n\t}\r\n\r\n\tfunction unpack (string) {\r\n\t\tvar data = string.split('|'),\r\n\t\t\toffsets = data[2].split(' '),\r\n\t\t\tindices = data[3].split(''),\r\n\t\t\tuntils  = data[4].split(' ');\r\n\r\n\t\tarrayToInt(offsets);\r\n\t\tarrayToInt(indices);\r\n\t\tarrayToInt(untils);\r\n\r\n\t\tintToUntil(untils, indices.length);\r\n\r\n\t\treturn {\r\n\t\t\tname       : data[0],\r\n\t\t\tabbrs      : mapIndices(data[1].split(' '), indices),\r\n\t\t\toffsets    : mapIndices(offsets, indices),\r\n\t\t\tuntils     : untils,\r\n\t\t\tpopulation : data[5] | 0\r\n\t\t};\r\n\t}\r\n\r\n\t/************************************\r\n\t\tZone object\r\n\t************************************/\r\n\r\n\tfunction Zone (packedString) {\r\n\t\tif (packedString) {\r\n\t\t\tthis._set(unpack(packedString));\r\n\t\t}\r\n\t}\r\n\r\n\tZone.prototype = {\r\n\t\t_set : function (unpacked) {\r\n\t\t\tthis.name       = unpacked.name;\r\n\t\t\tthis.abbrs      = unpacked.abbrs;\r\n\t\t\tthis.untils     = unpacked.untils;\r\n\t\t\tthis.offsets    = unpacked.offsets;\r\n\t\t\tthis.population = unpacked.population;\r\n\t\t},\r\n\r\n\t\t_index : function (timestamp) {\r\n\t\t\tvar target = +timestamp,\r\n\t\t\t\tuntils = this.untils,\r\n\t\t\t\ti;\r\n\r\n\t\t\tfor (i = 0; i < untils.length; i++) {\r\n\t\t\t\tif (target < untils[i]) {\r\n\t\t\t\t\treturn i;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tparse : function (timestamp) {\r\n\t\t\tvar target  = +timestamp,\r\n\t\t\t\toffsets = this.offsets,\r\n\t\t\t\tuntils  = this.untils,\r\n\t\t\t\tmax     = untils.length - 1,\r\n\t\t\t\toffset, offsetNext, offsetPrev, i;\r\n\r\n\t\t\tfor (i = 0; i < max; i++) {\r\n\t\t\t\toffset     = offsets[i];\r\n\t\t\t\toffsetNext = offsets[i + 1];\r\n\t\t\t\toffsetPrev = offsets[i ? i - 1 : i];\r\n\r\n\t\t\t\tif (offset < offsetNext && tz.moveAmbiguousForward) {\r\n\t\t\t\t\toffset = offsetNext;\r\n\t\t\t\t} else if (offset > offsetPrev && tz.moveInvalidForward) {\r\n\t\t\t\t\toffset = offsetPrev;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (target < untils[i] - (offset * 60000)) {\r\n\t\t\t\t\treturn offsets[i];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn offsets[max];\r\n\t\t},\r\n\r\n\t\tabbr : function (mom) {\r\n\t\t\treturn this.abbrs[this._index(mom)];\r\n\t\t},\r\n\r\n\t\toffset : function (mom) {\r\n\t\t\tlogError(\"zone.offset has been deprecated in favor of zone.utcOffset\");\r\n\t\t\treturn this.offsets[this._index(mom)];\r\n\t\t},\r\n\r\n\t\tutcOffset : function (mom) {\r\n\t\t\treturn this.offsets[this._index(mom)];\r\n\t\t}\r\n\t};\r\n\r\n\t/************************************\r\n\t\tCurrent Timezone\r\n\t************************************/\r\n\r\n\tfunction OffsetAt(at) {\r\n\t\tvar timeString = at.toTimeString();\r\n\t\tvar abbr = timeString.match(/\\([a-z ]+\\)/i);\r\n\t\tif (abbr && abbr[0]) {\r\n\t\t\t// 17:56:31 GMT-0600 (CST)\r\n\t\t\t// 17:56:31 GMT-0600 (Central Standard Time)\r\n\t\t\tabbr = abbr[0].match(/[A-Z]/g);\r\n\t\t\tabbr = abbr ? abbr.join('') : undefined;\r\n\t\t} else {\r\n\t\t\t// 17:56:31 CST\r\n\t\t\t// 17:56:31 GMT+0800 (台北標準時間)\r\n\t\t\tabbr = timeString.match(/[A-Z]{3,5}/g);\r\n\t\t\tabbr = abbr ? abbr[0] : undefined;\r\n\t\t}\r\n\r\n\t\tif (abbr === 'GMT') {\r\n\t\t\tabbr = undefined;\r\n\t\t}\r\n\r\n\t\tthis.at = +at;\r\n\t\tthis.abbr = abbr;\r\n\t\tthis.offset = at.getTimezoneOffset();\r\n\t}\r\n\r\n\tfunction ZoneScore(zone) {\r\n\t\tthis.zone = zone;\r\n\t\tthis.offsetScore = 0;\r\n\t\tthis.abbrScore = 0;\r\n\t}\r\n\r\n\tZoneScore.prototype.scoreOffsetAt = function (offsetAt) {\r\n\t\tthis.offsetScore += Math.abs(this.zone.utcOffset(offsetAt.at) - offsetAt.offset);\r\n\t\tif (this.zone.abbr(offsetAt.at).replace(/[^A-Z]/g, '') !== offsetAt.abbr) {\r\n\t\t\tthis.abbrScore++;\r\n\t\t}\r\n\t};\r\n\r\n\tfunction findChange(low, high) {\r\n\t\tvar mid, diff;\r\n\r\n\t\twhile ((diff = ((high.at - low.at) / 12e4 | 0) * 6e4)) {\r\n\t\t\tmid = new OffsetAt(new Date(low.at + diff));\r\n\t\t\tif (mid.offset === low.offset) {\r\n\t\t\t\tlow = mid;\r\n\t\t\t} else {\r\n\t\t\t\thigh = mid;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn low;\r\n\t}\r\n\r\n\tfunction userOffsets() {\r\n\t\tvar startYear = new Date().getFullYear() - 2,\r\n\t\t\tlast = new OffsetAt(new Date(startYear, 0, 1)),\r\n\t\t\toffsets = [last],\r\n\t\t\tchange, next, i;\r\n\r\n\t\tfor (i = 1; i < 48; i++) {\r\n\t\t\tnext = new OffsetAt(new Date(startYear, i, 1));\r\n\t\t\tif (next.offset !== last.offset) {\r\n\t\t\t\tchange = findChange(last, next);\r\n\t\t\t\toffsets.push(change);\r\n\t\t\t\toffsets.push(new OffsetAt(new Date(change.at + 6e4)));\r\n\t\t\t}\r\n\t\t\tlast = next;\r\n\t\t}\r\n\r\n\t\tfor (i = 0; i < 4; i++) {\r\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 0, 1)));\r\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 6, 1)));\r\n\t\t}\r\n\r\n\t\treturn offsets;\r\n\t}\r\n\r\n\tfunction sortZoneScores (a, b) {\r\n\t\tif (a.offsetScore !== b.offsetScore) {\r\n\t\t\treturn a.offsetScore - b.offsetScore;\r\n\t\t}\r\n\t\tif (a.abbrScore !== b.abbrScore) {\r\n\t\t\treturn a.abbrScore - b.abbrScore;\r\n\t\t}\r\n\t\treturn b.zone.population - a.zone.population;\r\n\t}\r\n\r\n\tfunction addToGuesses (name, offsets) {\r\n\t\tvar i, offset;\r\n\t\tarrayToInt(offsets);\r\n\t\tfor (i = 0; i < offsets.length; i++) {\r\n\t\t\toffset = offsets[i];\r\n\t\t\tguesses[offset] = guesses[offset] || {};\r\n\t\t\tguesses[offset][name] = true;\r\n\t\t}\r\n\t}\r\n\r\n\tfunction guessesForUserOffsets (offsets) {\r\n\t\tvar offsetsLength = offsets.length,\r\n\t\t\tfilteredGuesses = {},\r\n\t\t\tout = [],\r\n\t\t\ti, j, guessesOffset;\r\n\r\n\t\tfor (i = 0; i < offsetsLength; i++) {\r\n\t\t\tguessesOffset = guesses[offsets[i].offset] || {};\r\n\t\t\tfor (j in guessesOffset) {\r\n\t\t\t\tif (guessesOffset.hasOwnProperty(j)) {\r\n\t\t\t\t\tfilteredGuesses[j] = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfor (i in filteredGuesses) {\r\n\t\t\tif (filteredGuesses.hasOwnProperty(i)) {\r\n\t\t\t\tout.push(names[i]);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn out;\r\n\t}\r\n\r\n\tfunction rebuildGuess () {\r\n\r\n\t\t// use Intl API when available and returning valid time zone\r\n\t\ttry {\r\n\t\t\tvar intlName = Intl.DateTimeFormat().resolvedOptions().timeZone;\r\n\t\t\tif (intlName && intlName.length > 3) {\r\n\t\t\t\tvar name = names[normalizeName(intlName)];\r\n\t\t\t\tif (name) {\r\n\t\t\t\t\treturn name;\r\n\t\t\t\t}\r\n\t\t\t\tlogError(\"Moment Timezone found \" + intlName + \" from the Intl api, but did not have that data loaded.\");\r\n\t\t\t}\r\n\t\t} catch (e) {\r\n\t\t\t// Intl unavailable, fall back to manual guessing.\r\n\t\t}\r\n\r\n\t\tvar offsets = userOffsets(),\r\n\t\t\toffsetsLength = offsets.length,\r\n\t\t\tguesses = guessesForUserOffsets(offsets),\r\n\t\t\tzoneScores = [],\r\n\t\t\tzoneScore, i, j;\r\n\r\n\t\tfor (i = 0; i < guesses.length; i++) {\r\n\t\t\tzoneScore = new ZoneScore(getZone(guesses[i]), offsetsLength);\r\n\t\t\tfor (j = 0; j < offsetsLength; j++) {\r\n\t\t\t\tzoneScore.scoreOffsetAt(offsets[j]);\r\n\t\t\t}\r\n\t\t\tzoneScores.push(zoneScore);\r\n\t\t}\r\n\r\n\t\tzoneScores.sort(sortZoneScores);\r\n\r\n\t\treturn zoneScores.length > 0 ? zoneScores[0].zone.name : undefined;\r\n\t}\r\n\r\n\tfunction guess (ignoreCache) {\r\n\t\tif (!cachedGuess || ignoreCache) {\r\n\t\t\tcachedGuess = rebuildGuess();\r\n\t\t}\r\n\t\treturn cachedGuess;\r\n\t}\r\n\r\n\t/************************************\r\n\t\tGlobal Methods\r\n\t************************************/\r\n\r\n\tfunction normalizeName (name) {\r\n\t\treturn (name || '').toLowerCase().replace(/\\//g, '_');\r\n\t}\r\n\r\n\tfunction addZone (packed) {\r\n\t\tvar i, name, split, normalized;\r\n\r\n\t\tif (typeof packed === \"string\") {\r\n\t\t\tpacked = [packed];\r\n\t\t}\r\n\r\n\t\tfor (i = 0; i < packed.length; i++) {\r\n\t\t\tsplit = packed[i].split('|');\r\n\t\t\tname = split[0];\r\n\t\t\tnormalized = normalizeName(name);\r\n\t\t\tzones[normalized] = packed[i];\r\n\t\t\tnames[normalized] = name;\r\n\t\t\taddToGuesses(normalized, split[2].split(' '));\r\n\t\t}\r\n\t}\r\n\r\n\tfunction getZone (name, caller) {\r\n\t\tname = normalizeName(name);\r\n\r\n\t\tvar zone = zones[name];\r\n\t\tvar link;\r\n\r\n\t\tif (zone instanceof Zone) {\r\n\t\t\treturn zone;\r\n\t\t}\r\n\r\n\t\tif (typeof zone === 'string') {\r\n\t\t\tzone = new Zone(zone);\r\n\t\t\tzones[name] = zone;\r\n\t\t\treturn zone;\r\n\t\t}\r\n\r\n\t\t// Pass getZone to prevent recursion more than 1 level deep\r\n\t\tif (links[name] && caller !== getZone && (link = getZone(links[name], getZone))) {\r\n\t\t\tzone = zones[name] = new Zone();\r\n\t\t\tzone._set(link);\r\n\t\t\tzone.name = names[name];\r\n\t\t\treturn zone;\r\n\t\t}\r\n\r\n\t\treturn null;\r\n\t}\r\n\r\n\tfunction getNames () {\r\n\t\tvar i, out = [];\r\n\r\n\t\tfor (i in names) {\r\n\t\t\tif (names.hasOwnProperty(i) && (zones[i] || zones[links[i]]) && names[i]) {\r\n\t\t\t\tout.push(names[i]);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn out.sort();\r\n\t}\r\n\r\n\tfunction addLink (aliases) {\r\n\t\tvar i, alias, normal0, normal1;\r\n\r\n\t\tif (typeof aliases === \"string\") {\r\n\t\t\taliases = [aliases];\r\n\t\t}\r\n\r\n\t\tfor (i = 0; i < aliases.length; i++) {\r\n\t\t\talias = aliases[i].split('|');\r\n\r\n\t\t\tnormal0 = normalizeName(alias[0]);\r\n\t\t\tnormal1 = normalizeName(alias[1]);\r\n\r\n\t\t\tlinks[normal0] = normal1;\r\n\t\t\tnames[normal0] = alias[0];\r\n\r\n\t\t\tlinks[normal1] = normal0;\r\n\t\t\tnames[normal1] = alias[1];\r\n\t\t}\r\n\t}\r\n\r\n\tfunction loadData (data) {\r\n\t\taddZone(data.zones);\r\n\t\taddLink(data.links);\r\n\t\ttz.dataVersion = data.version;\r\n\t}\r\n\r\n\tfunction zoneExists (name) {\r\n\t\tif (!zoneExists.didShowError) {\r\n\t\t\tzoneExists.didShowError = true;\r\n\t\t\t\tlogError(\"moment.tz.zoneExists('\" + name + \"') has been deprecated in favor of !moment.tz.zone('\" + name + \"')\");\r\n\t\t}\r\n\t\treturn !!getZone(name);\r\n\t}\r\n\r\n\tfunction needsOffset (m) {\r\n\t\tvar isUnixTimestamp = (m._f === 'X' || m._f === 'x');\r\n\t\treturn !!(m._a && (m._tzm === undefined) && !isUnixTimestamp);\r\n\t}\r\n\r\n\tfunction logError (message) {\r\n\t\tif (typeof console !== 'undefined' && typeof console.error === 'function') {\r\n\t\t\tconsole.error(message);\r\n\t\t}\r\n\t}\r\n\r\n\t/************************************\r\n\t\tmoment.tz namespace\r\n\t************************************/\r\n\r\n\tfunction tz (input) {\r\n\t\tvar args = Array.prototype.slice.call(arguments, 0, -1),\r\n\t\t\tname = arguments[arguments.length - 1],\r\n\t\t\tzone = getZone(name),\r\n\t\t\tout  = moment.utc.apply(null, args);\r\n\r\n\t\tif (zone && !moment.isMoment(input) && needsOffset(out)) {\r\n\t\t\tout.add(zone.parse(out), 'minutes');\r\n\t\t}\r\n\r\n\t\tout.tz(name);\r\n\r\n\t\treturn out;\r\n\t}\r\n\r\n\ttz.version      = VERSION;\r\n\ttz.dataVersion  = '';\r\n\ttz._zones       = zones;\r\n\ttz._links       = links;\r\n\ttz._names       = names;\r\n\ttz.add          = addZone;\r\n\ttz.link         = addLink;\r\n\ttz.load         = loadData;\r\n\ttz.zone         = getZone;\r\n\ttz.zoneExists   = zoneExists; // deprecated in 0.1.0\r\n\ttz.guess        = guess;\r\n\ttz.names        = getNames;\r\n\ttz.Zone         = Zone;\r\n\ttz.unpack       = unpack;\r\n\ttz.unpackBase60 = unpackBase60;\r\n\ttz.needsOffset  = needsOffset;\r\n\ttz.moveInvalidForward   = true;\r\n\ttz.moveAmbiguousForward = false;\r\n\r\n\t/************************************\r\n\t\tInterface with Moment.js\r\n\t************************************/\r\n\r\n\tvar fn = moment.fn;\r\n\r\n\tmoment.tz = tz;\r\n\r\n\tmoment.defaultZone = null;\r\n\r\n\tmoment.updateOffset = function (mom, keepTime) {\r\n\t\tvar zone = moment.defaultZone,\r\n\t\t\toffset;\r\n\r\n\t\tif (mom._z === undefined) {\r\n\t\t\tif (zone && needsOffset(mom) && !mom._isUTC) {\r\n\t\t\t\tmom._d = moment.utc(mom._a)._d;\r\n\t\t\t\tmom.utc().add(zone.parse(mom), 'minutes');\r\n\t\t\t}\r\n\t\t\tmom._z = zone;\r\n\t\t}\r\n\t\tif (mom._z) {\r\n\t\t\toffset = mom._z.utcOffset(mom);\r\n\t\t\tif (Math.abs(offset) < 16) {\r\n\t\t\t\toffset = offset / 60;\r\n\t\t\t}\r\n\t\t\tif (mom.utcOffset !== undefined) {\r\n\t\t\t\tmom.utcOffset(-offset, keepTime);\r\n\t\t\t} else {\r\n\t\t\t\tmom.zone(offset, keepTime);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tfn.tz = function (name, keepTime) {\r\n\t\tif (name) {\r\n\t\t\tthis._z = getZone(name);\r\n\t\t\tif (this._z) {\r\n\t\t\t\tmoment.updateOffset(this, keepTime);\r\n\t\t\t} else {\r\n\t\t\t\tlogError(\"Moment Timezone has no data for \" + name + \". See http://momentjs.com/timezone/docs/#/data-loading/.\");\r\n\t\t\t}\r\n\t\t\treturn this;\r\n\t\t}\r\n\t\tif (this._z) { return this._z.name; }\r\n\t};\r\n\r\n\tfunction abbrWrap (old) {\r\n\t\treturn function () {\r\n\t\t\tif (this._z) { return this._z.abbr(this); }\r\n\t\t\treturn old.call(this);\r\n\t\t};\r\n\t}\r\n\r\n\tfunction resetZoneWrap (old) {\r\n\t\treturn function () {\r\n\t\t\tthis._z = null;\r\n\t\t\treturn old.apply(this, arguments);\r\n\t\t};\r\n\t}\r\n\r\n\tfn.zoneName = abbrWrap(fn.zoneName);\r\n\tfn.zoneAbbr = abbrWrap(fn.zoneAbbr);\r\n\tfn.utc      = resetZoneWrap(fn.utc);\r\n\r\n\tmoment.tz.setDefault = function(name) {\r\n\t\tif (major < 2 || (major === 2 && minor < 9)) {\r\n\t\t\tlogError('Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js ' + moment.version + '.');\r\n\t\t}\r\n\t\tmoment.defaultZone = name ? getZone(name) : null;\r\n\t\treturn moment;\r\n\t};\r\n\r\n\t// Cloning a moment should include the _z property.\r\n\tvar momentProperties = moment.momentProperties;\r\n\tif (Object.prototype.toString.call(momentProperties) === '[object Array]') {\r\n\t\t// moment 2.8.1+\r\n\t\tmomentProperties.push('_z');\r\n\t\tmomentProperties.push('_a');\r\n\t} else if (momentProperties) {\r\n\t\t// moment 2.7.0\r\n\t\tmomentProperties._z = null;\r\n\t}\r\n\r\n\t// INJECT DATA\r\n\r\n\treturn moment;\r\n}));\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/moment-timezone/moment-timezone.js\n// module id = 1438\n// module chunks = 0","import { Directive, ElementRef, Renderer, Input } from \"@angular/core\";\nexport var FocusDirective = (function () {\n    function FocusDirective(el, renderer) {\n        this.el = el;\n        this.renderer = renderer;\n    }\n    FocusDirective.prototype.ngAfterViewInit = function () {\n        if (this.value === \"0\") {\n            return;\n        }\n        this.renderer.invokeElementMethod(this.el.nativeElement, \"focus\", []);\n        if (this.value === \"2\") {\n            var len = this.el.nativeElement.value.length;\n            this.el.nativeElement.setSelectionRange(len, len);\n        }\n    };\n    FocusDirective.decorators = [\n        { type: Directive, args: [{\n                    selector: \"[mydpfocus]\"\n                },] },\n    ];\n    FocusDirective.ctorParameters = [\n        { type: ElementRef, },\n        { type: Renderer, },\n    ];\n    FocusDirective.propDecorators = {\n        'value': [{ type: Input, args: [\"mydpfocus\",] },],\n    };\n    return FocusDirective;\n}());\n//# sourceMappingURL=my-date-picker.focus.directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/mydatepicker/dist/directives/my-date-picker.focus.directive.js\n// module id = 1439\n// module chunks = 0","import { Directive, ElementRef, Renderer, Input, HostListener } from \"@angular/core\";\nvar KeyCode;\n(function (KeyCode) {\n    KeyCode[KeyCode[\"backspace\"] = 8] = \"backspace\";\n    KeyCode[KeyCode[\"delete\"] = 46] = \"delete\";\n})(KeyCode || (KeyCode = {}));\nexport var InputAutoFillDirective = (function () {\n    function InputAutoFillDirective(el, rndr) {\n        this.el = el;\n        this.rndr = rndr;\n    }\n    InputAutoFillDirective.prototype.onKeyUp = function (evt) {\n        if (!this.opts.enabled || evt.keyCode === KeyCode.backspace || evt.keyCode === KeyCode.delete) {\n            return;\n        }\n        var val = this.getInputValue();\n        var ews = this.endsWith(val, this.opts.separator);\n        var parts = val.split(this.opts.separator);\n        var idx = parts.length - 1;\n        if (val.indexOf(this.opts.separator + this.opts.separator) !== -1 || idx > 2) {\n            return;\n        }\n        if (!ews && (val.length === this.getPartLength(0) || val.length === this.getPartLength(0) + this.getPartLength(1) + this.opts.separator.length)) {\n            this.setInputValue(val + this.opts.separator);\n        }\n        else if (ews && parts[idx - 1].length < this.getPartLength(idx - 1) && this.isNumber(parts[idx - 1]) && (this.isDay(idx - 1) || this.isMonth(idx - 1))) {\n            this.setInputValue(this.insertPos(val, val.length - 2, \"0\"));\n        }\n        else if (parts[idx].length < this.getPartLength(idx) && this.isNumber(parts[idx]) && (Number(parts[idx]) > 3 && this.isDay(idx) || Number(parts[idx]) > 1 && this.isMonth(idx))) {\n            this.setInputValue(this.insertPos(val, val.length - 1, \"0\") + (idx < 2 ? this.opts.separator : \"\"));\n        }\n    };\n    InputAutoFillDirective.prototype.endsWith = function (val, suffix) {\n        return val.indexOf(suffix, val.length - suffix.length) !== -1;\n    };\n    InputAutoFillDirective.prototype.insertPos = function (str, idx, val) {\n        return str.substr(0, idx) + val + str.substr(idx);\n    };\n    InputAutoFillDirective.prototype.getPartLength = function (idx) {\n        return this.opts.formatParts[idx].length;\n    };\n    InputAutoFillDirective.prototype.isNumber = function (val) {\n        return val.match(/[1-9]/) !== null;\n    };\n    InputAutoFillDirective.prototype.isDay = function (idx) {\n        return this.opts.formatParts[idx].indexOf(\"d\") !== -1;\n    };\n    InputAutoFillDirective.prototype.isMonth = function (idx) {\n        return this.opts.formatParts[idx].indexOf(\"m\") !== -1 && this.opts.formatParts[idx].length === 2;\n    };\n    InputAutoFillDirective.prototype.getInputValue = function () {\n        return this.el.nativeElement.value;\n    };\n    InputAutoFillDirective.prototype.setInputValue = function (val) {\n        this.rndr.setElementProperty(this.el.nativeElement, \"value\", val);\n    };\n    InputAutoFillDirective.decorators = [\n        { type: Directive, args: [{\n                    selector: \"[myinputautofill]\"\n                },] },\n    ];\n    InputAutoFillDirective.ctorParameters = [\n        { type: ElementRef, },\n        { type: Renderer, },\n    ];\n    InputAutoFillDirective.propDecorators = {\n        'opts': [{ type: Input, args: [\"myinputautofill\",] },],\n        'onKeyUp': [{ type: HostListener, args: [\"keyup\", [\"$event\"],] },],\n    };\n    return InputAutoFillDirective;\n}());\n//# sourceMappingURL=my-date-picker.input.auto.fill.directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/mydatepicker/dist/directives/my-date-picker.input.auto.fill.directive.js\n// module id = 1440\n// module chunks = 0","import { Component, Input, Output, EventEmitter, ElementRef, ViewEncapsulation, ChangeDetectorRef, Renderer, forwardRef } from \"@angular/core\";\nimport { NG_VALUE_ACCESSOR } from \"@angular/forms\";\nimport { LocaleService } from \"./services/my-date-picker.locale.service\";\nimport { UtilService } from \"./services/my-date-picker.util.service\";\nexport var MYDP_VALUE_ACCESSOR = {\n    provide: NG_VALUE_ACCESSOR,\n    useExisting: forwardRef(function () { return MyDatePicker; }),\n    multi: true\n};\nvar CalToggle;\n(function (CalToggle) {\n    CalToggle[CalToggle[\"Open\"] = 1] = \"Open\";\n    CalToggle[CalToggle[\"CloseByDateSel\"] = 2] = \"CloseByDateSel\";\n    CalToggle[CalToggle[\"CloseByCalBtn\"] = 3] = \"CloseByCalBtn\";\n    CalToggle[CalToggle[\"CloseByOutClick\"] = 4] = \"CloseByOutClick\";\n})(CalToggle || (CalToggle = {}));\nvar Year;\n(function (Year) {\n    Year[Year[\"min\"] = 1000] = \"min\";\n    Year[Year[\"max\"] = 9999] = \"max\";\n})(Year || (Year = {}));\nvar InputFocusBlur;\n(function (InputFocusBlur) {\n    InputFocusBlur[InputFocusBlur[\"focus\"] = 1] = \"focus\";\n    InputFocusBlur[InputFocusBlur[\"blur\"] = 2] = \"blur\";\n})(InputFocusBlur || (InputFocusBlur = {}));\nvar KeyCode;\n(function (KeyCode) {\n    KeyCode[KeyCode[\"enter\"] = 13] = \"enter\";\n    KeyCode[KeyCode[\"space\"] = 32] = \"space\";\n})(KeyCode || (KeyCode = {}));\nvar MonthId;\n(function (MonthId) {\n    MonthId[MonthId[\"prev\"] = 1] = \"prev\";\n    MonthId[MonthId[\"curr\"] = 2] = \"curr\";\n    MonthId[MonthId[\"next\"] = 3] = \"next\";\n})(MonthId || (MonthId = {}));\nexport var MyDatePicker = (function () {\n    function MyDatePicker(elem, renderer, cdr, localeService, utilService) {\n        var _this = this;\n        this.elem = elem;\n        this.renderer = renderer;\n        this.cdr = cdr;\n        this.localeService = localeService;\n        this.utilService = utilService;\n        this.dateChanged = new EventEmitter();\n        this.inputFieldChanged = new EventEmitter();\n        this.calendarViewChanged = new EventEmitter();\n        this.calendarToggle = new EventEmitter();\n        this.inputFocusBlur = new EventEmitter();\n        this.onChangeCb = function () { };\n        this.onTouchedCb = function () { };\n        this.showSelector = false;\n        this.visibleMonth = { monthTxt: \"\", monthNbr: 0, year: 0 };\n        this.selectedMonth = { monthTxt: \"\", monthNbr: 0, year: 0 };\n        this.selectedDate = { year: 0, month: 0, day: 0 };\n        this.weekDays = [];\n        this.dates = [];\n        this.selectionDayTxt = \"\";\n        this.invalidDate = false;\n        this.disableTodayBtn = false;\n        this.dayIdx = 0;\n        this.weekDayOpts = [\"su\", \"mo\", \"tu\", \"we\", \"th\", \"fr\", \"sa\"];\n        this.autoFillOpts = { separator: \"\", formatParts: [], enabled: true };\n        this.editMonth = false;\n        this.invalidMonth = false;\n        this.editYear = false;\n        this.invalidYear = false;\n        this.prevMonthDisabled = false;\n        this.nextMonthDisabled = false;\n        this.prevYearDisabled = false;\n        this.nextYearDisabled = false;\n        this.prevMonthId = MonthId.prev;\n        this.currMonthId = MonthId.curr;\n        this.nextMonthId = MonthId.next;\n        this.opts = {\n            dayLabels: {},\n            monthLabels: {},\n            dateFormat: \"\",\n            showTodayBtn: true,\n            todayBtnTxt: \"\",\n            firstDayOfWeek: \"\",\n            sunHighlight: true,\n            markCurrentDay: true,\n            disableUntil: { year: 0, month: 0, day: 0 },\n            disableSince: { year: 0, month: 0, day: 0 },\n            disableDays: [],\n            enableDays: [],\n            markDates: [],\n            markWeekends: {},\n            disableDateRanges: [],\n            disableWeekends: false,\n            showWeekNumbers: false,\n            height: \"34px\",\n            width: \"100%\",\n            selectionTxtFontSize: \"14px\",\n            inline: false,\n            showClearDateBtn: true,\n            alignSelectorRight: false,\n            openSelectorTopOfInput: false,\n            indicateInvalidDate: true,\n            editableDateField: true,\n            editableMonthAndYear: true,\n            disableHeaderButtons: true,\n            minYear: Year.min,\n            maxYear: Year.max,\n            componentDisabled: false,\n            showSelectorArrow: true,\n            showInputField: true,\n            openSelectorOnInputClick: false,\n            inputAutoFill: true,\n            ariaLabelInputField: \"Date input field\",\n            ariaLabelClearDate: \"Clear Date\",\n            ariaLabelOpenCalendar: \"Open Calendar\",\n            ariaLabelPrevMonth: \"Previous Month\",\n            ariaLabelNextMonth: \"Next Month\",\n            ariaLabelPrevYear: \"Previous Year\",\n            ariaLabelNextYear: \"Next Year\"\n        };\n        this.setLocaleOptions();\n        renderer.listenGlobal(\"document\", \"click\", function (event) {\n            if (_this.showSelector && event.target && _this.elem.nativeElement !== event.target && !_this.elem.nativeElement.contains(event.target)) {\n                _this.showSelector = false;\n                _this.calendarToggle.emit(CalToggle.CloseByOutClick);\n            }\n            if (_this.opts.editableMonthAndYear) {\n                _this.resetMonthYearEdit();\n            }\n        });\n    }\n    MyDatePicker.prototype.setLocaleOptions = function () {\n        var _this = this;\n        var opts = this.localeService.getLocaleOptions(this.locale);\n        Object.keys(opts).forEach(function (k) {\n            _this.opts[k] = opts[k];\n        });\n    };\n    MyDatePicker.prototype.setOptions = function () {\n        var _this = this;\n        if (this.options !== undefined) {\n            Object.keys(this.options).forEach(function (k) {\n                _this.opts[k] = _this.options[k];\n            });\n        }\n        if (this.opts.minYear < Year.min) {\n            this.opts.minYear = Year.min;\n        }\n        if (this.opts.maxYear > Year.max) {\n            this.opts.maxYear = Year.max;\n        }\n        if (this.disabled !== undefined) {\n            this.opts.componentDisabled = this.disabled;\n        }\n        var separator = this.utilService.getDateFormatSeparator(this.opts.dateFormat);\n        this.autoFillOpts = { separator: separator, formatParts: this.opts.dateFormat.split(separator), enabled: this.opts.inputAutoFill };\n    };\n    MyDatePicker.prototype.getSelectorTopPosition = function () {\n        if (this.opts.openSelectorTopOfInput) {\n            return this.elem.nativeElement.children[0].offsetHeight + \"px\";\n        }\n    };\n    MyDatePicker.prototype.resetMonthYearEdit = function () {\n        this.editMonth = false;\n        this.editYear = false;\n        this.invalidMonth = false;\n        this.invalidYear = false;\n    };\n    MyDatePicker.prototype.editMonthClicked = function (event) {\n        event.stopPropagation();\n        if (this.opts.editableMonthAndYear) {\n            this.editMonth = true;\n        }\n    };\n    MyDatePicker.prototype.editYearClicked = function (event) {\n        event.stopPropagation();\n        if (this.opts.editableMonthAndYear) {\n            this.editYear = true;\n        }\n    };\n    MyDatePicker.prototype.onUserDateInput = function (value) {\n        this.invalidDate = false;\n        if (value.length === 0) {\n            this.clearDate();\n        }\n        else {\n            var date = this.utilService.isDateValid(value, this.opts.dateFormat, this.opts.minYear, this.opts.maxYear, this.opts.disableUntil, this.opts.disableSince, this.opts.disableWeekends, this.opts.disableDays, this.opts.disableDateRanges, this.opts.monthLabels, this.opts.enableDays);\n            if (date.day !== 0 && date.month !== 0 && date.year !== 0) {\n                this.selectDate(date);\n            }\n            else {\n                this.invalidDate = true;\n            }\n        }\n        if (this.invalidDate) {\n            this.inputFieldChanged.emit({ value: value, dateFormat: this.opts.dateFormat, valid: !(value.length === 0 || this.invalidDate) });\n            this.onChangeCb(\"\");\n            this.onTouchedCb();\n        }\n    };\n    MyDatePicker.prototype.onFocusInput = function (event) {\n        this.inputFocusBlur.emit({ reason: InputFocusBlur.focus, value: event.target.value });\n    };\n    MyDatePicker.prototype.onBlurInput = function (event) {\n        this.selectionDayTxt = event.target.value;\n        this.onTouchedCb();\n        this.inputFocusBlur.emit({ reason: InputFocusBlur.blur, value: event.target.value });\n    };\n    MyDatePicker.prototype.onUserMonthInput = function (value) {\n        this.invalidMonth = false;\n        var m = this.utilService.isMonthLabelValid(value, this.opts.monthLabels);\n        if (m !== -1) {\n            this.editMonth = false;\n            if (m !== this.visibleMonth.monthNbr) {\n                this.visibleMonth = { monthTxt: this.monthText(m), monthNbr: m, year: this.visibleMonth.year };\n                this.generateCalendar(m, this.visibleMonth.year, true);\n            }\n        }\n        else {\n            this.invalidMonth = true;\n        }\n    };\n    MyDatePicker.prototype.onUserYearInput = function (value) {\n        this.invalidYear = false;\n        var y = this.utilService.isYearLabelValid(Number(value), this.opts.minYear, this.opts.maxYear);\n        if (y !== -1) {\n            this.editYear = false;\n            if (y !== this.visibleMonth.year) {\n                this.visibleMonth = { monthTxt: this.visibleMonth.monthTxt, monthNbr: this.visibleMonth.monthNbr, year: y };\n                this.generateCalendar(this.visibleMonth.monthNbr, y, true);\n            }\n        }\n        else {\n            this.invalidYear = true;\n        }\n    };\n    MyDatePicker.prototype.isTodayDisabled = function () {\n        this.disableTodayBtn = this.utilService.isDisabledDay(this.getToday(), this.opts.disableUntil, this.opts.disableSince, this.opts.disableWeekends, this.opts.disableDays, this.opts.disableDateRanges, this.opts.enableDays);\n    };\n    MyDatePicker.prototype.parseOptions = function () {\n        if (this.locale) {\n            this.setLocaleOptions();\n        }\n        this.setOptions();\n        this.isTodayDisabled();\n        this.dayIdx = this.weekDayOpts.indexOf(this.opts.firstDayOfWeek);\n        if (this.dayIdx !== -1) {\n            var idx = this.dayIdx;\n            for (var i = 0; i < this.weekDayOpts.length; i++) {\n                this.weekDays.push(this.opts.dayLabels[this.weekDayOpts[idx]]);\n                idx = this.weekDayOpts[idx] === \"sa\" ? 0 : idx + 1;\n            }\n        }\n    };\n    MyDatePicker.prototype.writeValue = function (value) {\n        if (value && value[\"date\"]) {\n            this.updateDateValue(this.parseSelectedDate(value[\"date\"]), false);\n        }\n        else if (value === \"\") {\n            this.updateDateValue({ year: 0, month: 0, day: 0 }, true);\n        }\n    };\n    MyDatePicker.prototype.registerOnChange = function (fn) {\n        this.onChangeCb = fn;\n    };\n    MyDatePicker.prototype.registerOnTouched = function (fn) {\n        this.onTouchedCb = fn;\n    };\n    MyDatePicker.prototype.ngOnChanges = function (changes) {\n        var _this = this;\n        if (changes.hasOwnProperty(\"selector\") && changes[\"selector\"].currentValue > 0) {\n            this.openBtnClicked();\n        }\n        if (changes.hasOwnProperty(\"placeholder\")) {\n            this.placeholder = changes[\"placeholder\"].currentValue;\n        }\n        if (changes.hasOwnProperty(\"locale\")) {\n            this.locale = changes[\"locale\"].currentValue;\n        }\n        if (changes.hasOwnProperty(\"disabled\")) {\n            this.disabled = changes[\"disabled\"].currentValue;\n        }\n        if (changes.hasOwnProperty(\"options\")) {\n            this.options = changes[\"options\"].currentValue;\n        }\n        this.weekDays.length = 0;\n        this.parseOptions();\n        if (changes.hasOwnProperty(\"defaultMonth\")) {\n            var dm = changes[\"defaultMonth\"].currentValue;\n            if (dm !== null && dm !== undefined && dm !== \"\") {\n                this.selectedMonth = this.parseSelectedMonth(dm);\n            }\n            else {\n                this.selectedMonth = { monthTxt: \"\", monthNbr: 0, year: 0 };\n            }\n        }\n        if (changes.hasOwnProperty(\"selDate\")) {\n            var sd = changes[\"selDate\"];\n            if (sd.currentValue !== null && sd.currentValue !== undefined && sd.currentValue !== \"\" && Object.keys(sd.currentValue).length !== 0) {\n                this.selectedDate = this.parseSelectedDate(sd.currentValue);\n                setTimeout(function () {\n                    _this.onChangeCb(_this.getDateModel(_this.selectedDate));\n                });\n            }\n            else {\n                if (!sd.isFirstChange()) {\n                    this.clearDate();\n                }\n            }\n        }\n        if (this.opts.inline) {\n            this.setVisibleMonth();\n        }\n        else if (this.showSelector) {\n            this.generateCalendar(this.visibleMonth.monthNbr, this.visibleMonth.year, false);\n        }\n    };\n    MyDatePicker.prototype.removeBtnClicked = function () {\n        this.clearDate();\n        if (this.showSelector) {\n            this.calendarToggle.emit(CalToggle.CloseByCalBtn);\n        }\n        this.showSelector = false;\n    };\n    MyDatePicker.prototype.openBtnClicked = function () {\n        this.showSelector = !this.showSelector;\n        this.cdr.detectChanges();\n        if (this.showSelector) {\n            this.setVisibleMonth();\n            this.calendarToggle.emit(CalToggle.Open);\n        }\n        else {\n            this.calendarToggle.emit(CalToggle.CloseByCalBtn);\n        }\n    };\n    MyDatePicker.prototype.setVisibleMonth = function () {\n        var y = 0, m = 0;\n        if (!this.utilService.isInitializedDate(this.selectedDate)) {\n            if (this.selectedMonth.year === 0 && this.selectedMonth.monthNbr === 0) {\n                var today = this.getToday();\n                y = today.year;\n                m = today.month;\n            }\n            else {\n                y = this.selectedMonth.year;\n                m = this.selectedMonth.monthNbr;\n            }\n        }\n        else {\n            y = this.selectedDate.year;\n            m = this.selectedDate.month;\n        }\n        this.visibleMonth = { monthTxt: this.opts.monthLabels[m], monthNbr: m, year: y };\n        this.generateCalendar(m, y, true);\n    };\n    MyDatePicker.prototype.prevMonth = function () {\n        var d = this.getDate(this.visibleMonth.year, this.visibleMonth.monthNbr, 1);\n        d.setMonth(d.getMonth() - 1);\n        var y = d.getFullYear();\n        var m = d.getMonth() + 1;\n        this.visibleMonth = { monthTxt: this.monthText(m), monthNbr: m, year: y };\n        this.generateCalendar(m, y, true);\n    };\n    MyDatePicker.prototype.nextMonth = function () {\n        var d = this.getDate(this.visibleMonth.year, this.visibleMonth.monthNbr, 1);\n        d.setMonth(d.getMonth() + 1);\n        var y = d.getFullYear();\n        var m = d.getMonth() + 1;\n        this.visibleMonth = { monthTxt: this.monthText(m), monthNbr: m, year: y };\n        this.generateCalendar(m, y, true);\n    };\n    MyDatePicker.prototype.prevYear = function () {\n        this.visibleMonth.year--;\n        this.generateCalendar(this.visibleMonth.monthNbr, this.visibleMonth.year, true);\n    };\n    MyDatePicker.prototype.nextYear = function () {\n        this.visibleMonth.year++;\n        this.generateCalendar(this.visibleMonth.monthNbr, this.visibleMonth.year, true);\n    };\n    MyDatePicker.prototype.todayClicked = function () {\n        var today = this.getToday();\n        this.selectDate(today);\n        if (this.opts.inline && today.year !== this.visibleMonth.year || today.month !== this.visibleMonth.monthNbr) {\n            this.visibleMonth = { monthTxt: this.opts.monthLabels[today.month], monthNbr: today.month, year: today.year };\n            this.generateCalendar(today.month, today.year, true);\n        }\n    };\n    MyDatePicker.prototype.cellClicked = function (cell) {\n        if (cell.cmo === this.prevMonthId) {\n            this.prevMonth();\n        }\n        else if (cell.cmo === this.currMonthId) {\n            if (cell.dateObj.year === this.selectedDate.year && cell.dateObj.month === this.selectedDate.month && cell.dateObj.day === this.selectedDate.day) {\n                this.clearDate();\n            }\n            else {\n                this.selectDate(cell.dateObj);\n            }\n        }\n        else if (cell.cmo === this.nextMonthId) {\n            this.nextMonth();\n        }\n        this.resetMonthYearEdit();\n    };\n    MyDatePicker.prototype.cellKeyDown = function (event, cell) {\n        if ((event.keyCode === KeyCode.enter || event.keyCode === KeyCode.space) && !cell.disabled) {\n            event.preventDefault();\n            this.cellClicked(cell);\n        }\n    };\n    MyDatePicker.prototype.clearDate = function () {\n        var date = { year: 0, month: 0, day: 0 };\n        this.dateChanged.emit({ date: date, jsdate: null, formatted: \"\", epoc: 0 });\n        this.onChangeCb(\"\");\n        this.onTouchedCb();\n        this.updateDateValue(date, true);\n    };\n    MyDatePicker.prototype.selectDate = function (date) {\n        var dateModel = this.getDateModel(date);\n        this.dateChanged.emit(dateModel);\n        this.onChangeCb(dateModel);\n        this.onTouchedCb();\n        this.updateDateValue(date, false);\n        if (this.showSelector) {\n            this.calendarToggle.emit(CalToggle.CloseByDateSel);\n        }\n        this.showSelector = false;\n    };\n    MyDatePicker.prototype.updateDateValue = function (date, clear) {\n        this.selectedDate = date;\n        this.selectionDayTxt = clear ? \"\" : this.formatDate(date);\n        this.inputFieldChanged.emit({ value: this.selectionDayTxt, dateFormat: this.opts.dateFormat, valid: !clear });\n        this.invalidDate = false;\n    };\n    MyDatePicker.prototype.getDateModel = function (date) {\n        return { date: date, jsdate: this.getDate(date.year, date.month, date.day), formatted: this.formatDate(date), epoc: Math.round(this.getTimeInMilliseconds(date) / 1000.0) };\n    };\n    MyDatePicker.prototype.preZero = function (val) {\n        return parseInt(val) < 10 ? \"0\" + val : val;\n    };\n    MyDatePicker.prototype.formatDate = function (val) {\n        var formatted = this.opts.dateFormat.replace(\"yyyy\", val.year).replace(\"dd\", this.preZero(val.day));\n        return this.opts.dateFormat.indexOf(\"mmm\") !== -1 ? formatted.replace(\"mmm\", this.monthText(val.month)) : formatted.replace(\"mm\", this.preZero(val.month));\n    };\n    MyDatePicker.prototype.monthText = function (m) {\n        return this.opts.monthLabels[m];\n    };\n    MyDatePicker.prototype.monthStartIdx = function (y, m) {\n        var d = new Date();\n        d.setDate(1);\n        d.setMonth(m - 1);\n        d.setFullYear(y);\n        var idx = d.getDay() + this.sundayIdx();\n        return idx >= 7 ? idx - 7 : idx;\n    };\n    MyDatePicker.prototype.daysInMonth = function (m, y) {\n        return new Date(y, m, 0).getDate();\n    };\n    MyDatePicker.prototype.daysInPrevMonth = function (m, y) {\n        var d = this.getDate(y, m, 1);\n        d.setMonth(d.getMonth() - 1);\n        return this.daysInMonth(d.getMonth() + 1, d.getFullYear());\n    };\n    MyDatePicker.prototype.isCurrDay = function (d, m, y, cmo, today) {\n        return d === today.day && m === today.month && y === today.year && cmo === this.currMonthId;\n    };\n    MyDatePicker.prototype.getToday = function () {\n        var date = new Date();\n        return { year: date.getFullYear(), month: date.getMonth() + 1, day: date.getDate() };\n    };\n    MyDatePicker.prototype.getTimeInMilliseconds = function (date) {\n        return this.getDate(date.year, date.month, date.day).getTime();\n    };\n    MyDatePicker.prototype.getWeekday = function (date) {\n        return this.weekDayOpts[this.utilService.getDayNumber(date)];\n    };\n    MyDatePicker.prototype.getDate = function (year, month, day) {\n        return new Date(year, month - 1, day, 0, 0, 0, 0);\n    };\n    MyDatePicker.prototype.sundayIdx = function () {\n        return this.dayIdx > 0 ? 7 - this.dayIdx : 0;\n    };\n    MyDatePicker.prototype.generateCalendar = function (m, y, notifyChange) {\n        this.dates.length = 0;\n        var today = this.getToday();\n        var monthStart = this.monthStartIdx(y, m);\n        var dInThisM = this.daysInMonth(m, y);\n        var dInPrevM = this.daysInPrevMonth(m, y);\n        var dayNbr = 1;\n        var cmo = this.prevMonthId;\n        for (var i = 1; i < 7; i++) {\n            var week = [];\n            if (i === 1) {\n                var pm = dInPrevM - monthStart + 1;\n                for (var j = pm; j <= dInPrevM; j++) {\n                    var date = { year: y, month: m - 1, day: j };\n                    week.push({ dateObj: date, cmo: cmo, currDay: this.isCurrDay(j, m, y, cmo, today),\n                        dayNbr: this.utilService.getDayNumber(date),\n                        disabled: this.utilService.isDisabledDay(date, this.opts.disableUntil, this.opts.disableSince, this.opts.disableWeekends, this.opts.disableDays, this.opts.disableDateRanges, this.opts.enableDays),\n                        markedDate: this.utilService.isMarkedDate(date, this.opts.markDates, this.opts.markWeekends) });\n                }\n                cmo = this.currMonthId;\n                var daysLeft = 7 - week.length;\n                for (var j = 0; j < daysLeft; j++) {\n                    var date = { year: y, month: m, day: dayNbr };\n                    week.push({ dateObj: date, cmo: cmo, currDay: this.isCurrDay(dayNbr, m, y, cmo, today),\n                        dayNbr: this.utilService.getDayNumber(date),\n                        disabled: this.utilService.isDisabledDay(date, this.opts.disableUntil, this.opts.disableSince, this.opts.disableWeekends, this.opts.disableDays, this.opts.disableDateRanges, this.opts.enableDays),\n                        markedDate: this.utilService.isMarkedDate(date, this.opts.markDates, this.opts.markWeekends) });\n                    dayNbr++;\n                }\n            }\n            else {\n                for (var j = 1; j < 8; j++) {\n                    if (dayNbr > dInThisM) {\n                        dayNbr = 1;\n                        cmo = this.nextMonthId;\n                    }\n                    var date = { year: y, month: cmo === this.currMonthId ? m : m + 1, day: dayNbr };\n                    week.push({ dateObj: date, cmo: cmo, currDay: this.isCurrDay(dayNbr, m, y, cmo, today),\n                        dayNbr: this.utilService.getDayNumber(date),\n                        disabled: this.utilService.isDisabledDay(date, this.opts.disableUntil, this.opts.disableSince, this.opts.disableWeekends, this.opts.disableDays, this.opts.disableDateRanges, this.opts.enableDays),\n                        markedDate: this.utilService.isMarkedDate(date, this.opts.markDates, this.opts.markWeekends) });\n                    dayNbr++;\n                }\n            }\n            var weekNbr = this.opts.showWeekNumbers && this.opts.firstDayOfWeek === \"mo\" ? this.utilService.getWeekNumber(week[0].dateObj) : 0;\n            this.dates.push({ week: week, weekNbr: weekNbr });\n        }\n        this.setHeaderBtnDisabledState(m, y);\n        if (notifyChange) {\n            this.calendarViewChanged.emit({ year: y, month: m, first: { number: 1, weekday: this.getWeekday({ year: y, month: m, day: 1 }) }, last: { number: dInThisM, weekday: this.getWeekday({ year: y, month: m, day: dInThisM }) } });\n        }\n    };\n    MyDatePicker.prototype.parseSelectedDate = function (selDate) {\n        var date = { day: 0, month: 0, year: 0 };\n        if (typeof selDate === \"string\") {\n            var sd = selDate;\n            date.day = this.utilService.parseDatePartNumber(this.opts.dateFormat, sd, \"dd\");\n            date.month = this.opts.dateFormat.indexOf(\"mmm\") !== -1\n                ? this.utilService.parseDatePartMonthName(this.opts.dateFormat, sd, \"mmm\", this.opts.monthLabels)\n                : this.utilService.parseDatePartNumber(this.opts.dateFormat, sd, \"mm\");\n            date.year = this.utilService.parseDatePartNumber(this.opts.dateFormat, sd, \"yyyy\");\n        }\n        else if (typeof selDate === \"object\") {\n            date = selDate;\n        }\n        this.selectionDayTxt = this.formatDate(date);\n        return date;\n    };\n    MyDatePicker.prototype.parseSelectedMonth = function (ms) {\n        return this.utilService.parseDefaultMonth(ms);\n    };\n    MyDatePicker.prototype.setHeaderBtnDisabledState = function (m, y) {\n        var dpm = false;\n        var dpy = false;\n        var dnm = false;\n        var dny = false;\n        if (this.opts.disableHeaderButtons) {\n            dpm = this.utilService.isMonthDisabledByDisableUntil({ year: m === 1 ? y - 1 : y, month: m === 1 ? 12 : m - 1, day: this.daysInMonth(m === 1 ? 12 : m - 1, m === 1 ? y - 1 : y) }, this.opts.disableUntil);\n            dpy = this.utilService.isMonthDisabledByDisableUntil({ year: y - 1, month: m, day: this.daysInMonth(m, y - 1) }, this.opts.disableUntil);\n            dnm = this.utilService.isMonthDisabledByDisableSince({ year: m === 12 ? y + 1 : y, month: m === 12 ? 1 : m + 1, day: 1 }, this.opts.disableSince);\n            dny = this.utilService.isMonthDisabledByDisableSince({ year: y + 1, month: m, day: 1 }, this.opts.disableSince);\n        }\n        this.prevMonthDisabled = m === 1 && y === this.opts.minYear || dpm;\n        this.prevYearDisabled = y - 1 < this.opts.minYear || dpy;\n        this.nextMonthDisabled = m === 12 && y === this.opts.maxYear || dnm;\n        this.nextYearDisabled = y + 1 > this.opts.maxYear || dny;\n    };\n    MyDatePicker.decorators = [\n        { type: Component, args: [{\n                    selector: \"my-date-picker\",\n                    exportAs: \"mydatepicker\",\n                    styles: [\".mydp .headertodaybtn,.mydp .selection,.mydp .weekdaytitle{overflow:hidden;white-space:nowrap}.mydp{line-height:1.1;display:inline-block;position:relative}.mydp *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:Arial,Helvetica,sans-serif;padding:0;margin:0}.mydp,.mydp .headertodaybtn,.mydp .selection,.mydp .selectiongroup,.mydp .selector{border-radius:4px}.mydp .header{border-radius:4px 4px 0 0}.mydp .caltable{border-radius:0 0 4px 4px}.mydp .caltable tbody tr:nth-child(6) td:first-child{border-bottom-left-radius:4px}.mydp .caltable tbody tr:nth-child(6) td:last-child{border-bottom-right-radius:4px}.mydp .btnpicker{border-radius:0 4px 4px 0}.mydp .btnleftborderradius{border-top-left-radius:4px;border-bottom-left-radius:4px}.mydp .selector{margin-top:2px;margin-left:-1px;position:absolute;width:252px;padding:0;border:1px solid #CCC;z-index:100;animation:selectorfadein .1s}.mydp .selector:focus{border:1px solid #ADD8E6;outline:0}@keyframes selectorfadein{from{opacity:0}to{opacity:1}}.mydp .selectorarrow{background:#FAFAFA;margin-top:12px;padding:0}.mydp .selectorarrow:after,.mydp .selectorarrow:before{bottom:100%;border:solid transparent;content:\\\" \\\";height:0;width:0;position:absolute}.mydp .selectorarrow:after{border-color:rgba(250,250,250,0);border-bottom-color:#FAFAFA;border-width:10px;margin-left:-10px}.mydp .selectorarrow:before{border-color:rgba(204,204,204,0);border-bottom-color:#CCC;border-width:11px;margin-left:-11px}.mydp .selectorarrow:focus:before{border-bottom-color:#ADD8E6}.mydp .selectorarrowleft:after,.mydp .selectorarrowleft:before{left:24px}.mydp .selectorarrowright:after,.mydp .selectorarrowright:before{left:224px}.mydp .alignselectorright{right:-1px}.mydp .selectiongroup{position:relative;display:table;border:none;border-spacing:0;background-color:#FFF}.mydp .selection{outline:0;background-color:#FFF;display:table-cell;position:absolute;width:100%;text-overflow:ellipsis;padding-left:6px;border:none;color:#555}.mydp .invaliddate,.mydp .invalidmonth,.mydp .invalidyear{background-color:#F1DEDE}.mydp ::-ms-clear{display:none}.mydp .headerbtncell,.mydp .selbtngroup{display:table-cell;vertical-align:middle}.mydp .selbtngroup{position:relative;white-space:nowrap;width:1%;font-size:0}.mydp .btnclear,.mydp .btnpicker{height:100%;width:28px;border:none;padding:0;outline:0;font:inherit;-moz-user-select:none}.mydp .btnleftborder{border-left:1px solid #CCC}.mydp .btnclearenabled,.mydp .btnpickerenabled,.mydp .headerbtnenabled,.mydp .headertodaybtnenabled{cursor:pointer}.mydp .btncleardisabled,.mydp .btnpickerdisabled,.mydp .headerbtndisabled,.mydp .headertodaybtndisabled,.mydp .selectiondisabled{cursor:not-allowed;opacity:.65}.mydp .selectiondisabled{background-color:#EEE}.mydp .btnclear,.mydp .btnpicker,.mydp .headertodaybtn{background:#FFF}.mydp .header{width:100%;height:30px;background-color:#FAFAFA}.mydp .header td{vertical-align:middle;border:none;line-height:0}.mydp .header td:nth-child(1){padding-left:4px}.mydp .header td:nth-child(2){text-align:center}.mydp .header td:nth-child(3){padding-right:4px}.mydp .caltable{table-layout:fixed;width:100%;background-color:#FFF;font-size:14px}.mydp .caltable,.mydp .daycell,.mydp .weekdaytitle{border-collapse:collapse;color:#036;line-height:1.1}.mydp .daycell,.mydp .weekdaytitle{padding:5px;text-align:center}.mydp .weekdaytitle{background-color:#DDD;font-size:11px;font-weight:400;vertical-align:middle;max-width:36px}.mydp .weekdaytitleweeknbr{width:20px;border-right:1px solid #BBB}.mydp .daycell{cursor:pointer;height:30px}.mydp .daycell .datevalue{background-color:inherit;vertical-align:middle}.mydp .daycell .datevalue span{vertical-align:middle}.mydp .daycellweeknbr{font-size:10px;border-right:1px solid #CCC;cursor:default;color:#000}.mydp .inlinedp{position:relative;margin-top:-1px}.mydp .nextmonth,.mydp .prevmonth{color:#CCC}.mydp .disabled{cursor:default!important;color:#CCC!important;background:#FBEFEF!important}.mydp .sunday{color:#C30000}.mydp .sundayDim{opacity:.5}.mydp .currmonth{background-color:#F6F6F6;font-weight:400}.mydp .markdate{position:absolute;width:4px;height:4px;border-radius:4px}.mydp .currday{text-decoration:underline}.mydp .selectedday .datevalue{border:1px solid #004198;background-color:#8EBFFF!important;border-radius:2px}.mydp .headerbtncell{background-color:#FAFAFA}.mydp .headerbtn,.mydp .headerlabelbtn{background:#FAFAFA;border:none;height:22px}.mydp .headerbtn{width:16px}.mydp .headerlabelbtn{font-size:14px}.mydp,.mydp .headertodaybtn,.mydp .monthinput,.mydp .yearinput{border:1px solid #CCC}.mydp .btnclear,.mydp .btnpicker,.mydp .headerbtn,.mydp .headermonthtxt,.mydp .headertodaybtn,.mydp .headeryeartxt{color:#000}.mydp .headertodaybtn{padding:0 4px;font-size:11px;height:22px;min-width:60px;max-width:84px}.mydp button::-moz-focus-inner{border:0}.mydp .headermonthtxt,.mydp .headeryeartxt{text-align:center;display:table-cell;vertical-align:middle;font-size:14px;height:26px;width:40px;max-width:40px;overflow:hidden;white-space:nowrap}.mydp .btnclear:focus,.mydp .btnpicker:focus,.mydp .headertodaybtn:focus{background:#ADD8E6}.mydp .headerbtn:focus,.mydp .monthlabel:focus,.mydp .yearlabel:focus{color:#ADD8E6;outline:0}.mydp .daycell:focus{outline:#CCC solid 1px}.mydp .icon-mydpcalendar,.mydp .icon-mydpremove{font-size:16px}.mydp .icon-mydpleft,.mydp .icon-mydpright{color:#222;font-size:20px}.mydp .icon-mydptoday{color:#222;font-size:11px}.mydp table{display:table;border-spacing:0}.mydp table td{padding:0}.mydp table,.mydp td,.mydp th{border:none}.mydp .btnclearenabled:hover,.mydp .btnpickerenabled:hover,.mydp .headertodaybtnenabled:hover{background-color:#E6E6E6}.mydp .tablesingleday:hover{background-color:#DDD}.mydp .inputnoteditable,.mydp .monthlabel,.mydp .yearlabel{cursor:pointer}.mydp .monthinput,.mydp .yearinput{width:40px;height:22px;text-align:center;font-weight:400;outline:0;border-radius:2px}.mydp .headerbtnenabled:hover,.mydp .monthlabel:hover,.mydp .yearlabel:hover{color:#777}@font-face{font-family:mydatepicker;src:url(data:application/octet-stream;base64,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AxpZQkIjIEewBEOwAmIgsABQWLBAYFlmsAFjYCCwASsgiophILACQ2BkI7ADQ2FkUFiwAkNhG7ADQ2BZsAMlsAJiILAAUFiwQGBZZrABY2GwAiVGYTgjIDwjOBshICBGI0ewASsjYTghWbErARQrLbBCLLA1Ky6xKwEUKy2wQyywNishIyAgPLAEI0IjOLErARQrsARDLrArKy2wRCywABUgR7AAI0KyAAEBFRQTLrAxKi2wRSywABUgR7AAI0KyAAEBFRQTLrAxKi2wRiyxAAEUE7AyKi2wRyywNCotsEgssAAWRSMgLiBGiiNhOLErARQrLbBJLLAII0KwSCstsEossgAAQSstsEsssgABQSstsEwssgEAQSstsE0ssgEBQSstsE4ssgAAQistsE8ssgABQistsFAssgEAQistsFEssgEBQistsFIssgAAPistsFMssgABPistsFQssgEAPistsFUssgEBPistsFYssgAAQCstsFcssgABQCstsFgssgEAQCstsFkssgEBQCstsFossgAAQystsFsssgABQystsFwssgEAQystsF0ssgEBQystsF4ssgAAPystsF8ssgABPystsGAssgEAPystsGEssgEBPystsGIssDcrLrErARQrLbBjLLA3K7A7Ky2wZCywNyuwPCstsGUssAAWsDcrsD0rLbBmLLA4Ky6xKwEUKy2wZyywOCuwOystsGgssDgrsDwrLbBpLLA4K7A9Ky2waiywOSsusSsBFCstsGsssDkrsDsrLbBsLLA5K7A8Ky2wbSywOSuwPSstsG4ssDorLrErARQrLbBvLLA6K7A7Ky2wcCywOiuwPCstsHEssDorsD0rLbByLLMJBAIDRVghGyMhWUIrsAhlsAMkUHiwARUwLQBLuADIUlixAQGOWbABuQgACABjcLEABUKyAAEAKrEABUKzCgIBCCqxAAVCsw4AAQgqsQAGQroCwAABAAkqsQAHQroAQAABAAkqsQMARLEkAYhRWLBAiFixA2REsSYBiFFYugiAAAEEQIhjVFixAwBEWVlZWbMMAgEMKrgB/4WwBI2xAgBEAAA=) format('truetype');font-weight:400;font-style:normal}.mydp .mydpicon{font-family:mydatepicker;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.mydp .icon-mydpright:before{content:\\\"\\\\e800\\\"}.mydp .icon-mydpleft:before{content:\\\"\\\\e801\\\"}.mydp .icon-mydpcalendar:before{content:\\\"\\\\e802\\\"}.mydp .icon-mydpremove:before{content:\\\"\\\\e805\\\"}.mydp .icon-mydptoday:before{content:\\\"\\\\e806\\\"}\"],\n                    template: \"<div class=\\\"mydp\\\" [ngStyle]=\\\"{'width': opts.showInputField ? opts.width : null, 'border': opts.inline ? 'none' : null}\\\"><div class=\\\"selectiongroup\\\" *ngIf=\\\"!opts.inline\\\"><input *ngIf=\\\"opts.showInputField\\\" ngtype=\\\"text\\\" class=\\\"selection\\\" [attr.aria-label]=\\\"opts.ariaLabelInputField\\\" (click)=\\\"opts.openSelectorOnInputClick&&!opts.editableDateField&&openBtnClicked()\\\" [attr.maxlength]=\\\"opts.dateFormat.length\\\" [ngClass]=\\\"{'invaliddate': invalidDate&&opts.indicateInvalidDate, 'inputnoteditable': opts.openSelectorOnInputClick&&!opts.editableDateField, 'selectiondisabled': opts.componentDisabled}\\\" placeholder=\\\"{{placeholder}}\\\" [myinputautofill]=\\\"autoFillOpts\\\" [ngStyle]=\\\"{'height': opts.height, 'font-size': opts.selectionTxtFontSize}\\\" [ngModel]=\\\"selectionDayTxt\\\" (ngModelChange)=\\\"onUserDateInput($event)\\\" [value]=\\\"selectionDayTxt\\\" (focus)=\\\"opts.editableDateField&&onFocusInput($event)\\\" (blur)=\\\"opts.editableDateField&&onBlurInput($event)\\\" [disabled]=\\\"opts.componentDisabled\\\" [readonly]=\\\"!opts.editableDateField\\\" autocomplete=\\\"off\\\"><div class=\\\"selbtngroup\\\" [style.height]=\\\"opts.height\\\"><button type=\\\"button\\\" [attr.aria-label]=\\\"opts.ariaLabelClearDate\\\" class=\\\"btnclear\\\" *ngIf=\\\"selectionDayTxt.length>0&&opts.showClearDateBtn\\\" (click)=\\\"removeBtnClicked()\\\" [ngClass]=\\\"{'btnclearenabled': !opts.componentDisabled, 'btncleardisabled': opts.componentDisabled, 'btnleftborder': opts.showInputField, 'btnleftborderradius': !opts.showInputField}\\\" [disabled]=\\\"opts.componentDisabled\\\"><span class=\\\"mydpicon icon-mydpremove\\\"></span></button> <button type=\\\"button\\\" [attr.aria-label]=\\\"opts.ariaLabelOpenCalendar\\\" class=\\\"btnpicker\\\" (click)=\\\"openBtnClicked()\\\" [ngClass]=\\\"{'btnpickerenabled': !opts.componentDisabled, 'btnpickerdisabled': opts.componentDisabled, 'btnleftborder': opts.showInputField||selectionDayTxt.length>0&&opts.showClearDateBtn, 'btnleftborderradius': !opts.showClearDateBtn&&!opts.showInputField||!opts.showInputField&&selectionDayTxt.length===0}\\\" [disabled]=\\\"opts.componentDisabled\\\"><span class=\\\"mydpicon icon-mydpcalendar\\\"></span></button></div></div><div class=\\\"selector\\\" *ngIf=\\\"showSelector||opts.inline\\\" [mydpfocus]=\\\"opts.inline?'0':'1'\\\" [ngStyle]=\\\"{'bottom': getSelectorTopPosition()}\\\" [ngClass]=\\\"{'inlinedp': opts.inline, 'alignselectorright': opts.alignSelectorRight, 'selectorarrow': opts.showSelectorArrow&&!opts.inline, 'selectorarrowleft': opts.showSelectorArrow&&!opts.alignSelectorRight&&!opts.inline, 'selectorarrowright': opts.showSelectorArrow&&opts.alignSelectorRight&&!opts.inline}\\\" tabindex=\\\"0\\\"><table class=\\\"header\\\"><tr><td><div style=\\\"float:left\\\"><div class=\\\"headerbtncell\\\"><button type=\\\"button\\\" [attr.aria-label]=\\\"opts.ariaLabelPrevMonth\\\" class=\\\"headerbtn mydpicon icon-mydpleft\\\" (click)=\\\"prevMonth()\\\" [disabled]=\\\"prevMonthDisabled\\\" [ngClass]=\\\"{'headerbtnenabled': !prevMonthDisabled, 'headerbtndisabled': prevMonthDisabled}\\\"></button></div><div class=\\\"headermonthtxt\\\"><input type=\\\"text\\\" *ngIf=\\\"editMonth\\\" class=\\\"monthinput\\\" maxlength=\\\"10\\\" [mydpfocus]=\\\"2\\\" [value]=\\\"visibleMonth.monthTxt\\\" [ngModel]=\\\"visibleMonth.monthTxt\\\" (ngModelChange)=\\\"onUserMonthInput($event)\\\" (click)=\\\"$event.stopPropagation()\\\" [ngClass]=\\\"{'invalidmonth': invalidMonth}\\\"> <button class=\\\"headerlabelbtn\\\" type=\\\"button\\\" [ngClass]=\\\"{'monthlabel': opts.editableMonthAndYear}\\\" *ngIf=\\\"!editMonth\\\" (click)=\\\"opts.editableMonthAndYear&&editMonthClicked($event)\\\" tabindex=\\\"{{opts.editableMonthAndYear?'0':'-1'}}\\\">{{visibleMonth.monthTxt}}</button></div><div class=\\\"headerbtncell\\\"><button type=\\\"button\\\" [attr.aria-label]=\\\"opts.ariaLabelNextMonth\\\" class=\\\"headerbtn mydpicon icon-mydpright\\\" (click)=\\\"nextMonth()\\\" [disabled]=\\\"nextMonthDisabled\\\" [ngClass]=\\\"{'headerbtnenabled': !nextMonthDisabled, 'headerbtndisabled': nextMonthDisabled}\\\"></button></div></div></td><td><button *ngIf=\\\"opts.showTodayBtn\\\" type=\\\"button\\\" class=\\\"headertodaybtn\\\" (click)=\\\"todayClicked()\\\" [disabled]=\\\"disableTodayBtn\\\" [ngClass]=\\\"{'headertodaybtnenabled': !disableTodayBtn, 'headertodaybtndisabled': disableTodayBtn}\\\"><span class=\\\"mydpicon icon-mydptoday\\\"></span> <span>{{opts.todayBtnTxt}}</span></button></td><td><div style=\\\"float:right\\\"><div class=\\\"headerbtncell\\\"><button type=\\\"button\\\" [attr.aria-label]=\\\"opts.ariaLabelPrevYear\\\" class=\\\"headerbtn mydpicon icon-mydpleft\\\" (click)=\\\"prevYear()\\\" [disabled]=\\\"prevYearDisabled\\\" [ngClass]=\\\"{'headerbtnenabled': !prevYearDisabled, 'headerbtndisabled': prevYearDisabled}\\\"></button></div><div class=\\\"headeryeartxt\\\"><input type=\\\"text\\\" *ngIf=\\\"editYear\\\" class=\\\"yearinput\\\" maxlength=\\\"4\\\" [mydpfocus]=\\\"2\\\" [value]=\\\"visibleMonth.year\\\" [ngModel]=\\\"visibleMonth.year\\\" (ngModelChange)=\\\"onUserYearInput($event)\\\" (click)=\\\"$event.stopPropagation()\\\" [ngClass]=\\\"{'invalidyear': invalidYear}\\\"> <button class=\\\"headerlabelbtn\\\" type=\\\"button\\\" [ngClass]=\\\"{'yearlabel': opts.editableMonthAndYear}\\\" *ngIf=\\\"!editYear\\\" (click)=\\\"opts.editableMonthAndYear&&editYearClicked($event)\\\" tabindex=\\\"{{opts.editableMonthAndYear?'0':'-1'}}\\\">{{visibleMonth.year}}</button></div><div class=\\\"headerbtncell\\\"><button type=\\\"button\\\" [attr.aria-label]=\\\"opts.ariaLabelNextYear\\\" class=\\\"headerbtn mydpicon icon-mydpright\\\" (click)=\\\"nextYear()\\\" [disabled]=\\\"nextYearDisabled\\\" [ngClass]=\\\"{'headerbtnenabled': !nextYearDisabled, 'headerbtndisabled': nextYearDisabled}\\\"></button></div></div></td></tr></table><table class=\\\"caltable\\\"><thead><tr><th class=\\\"weekdaytitle weekdaytitleweeknbr\\\" *ngIf=\\\"opts.showWeekNumbers&&opts.firstDayOfWeek==='mo'\\\">#</th><th class=\\\"weekdaytitle\\\" scope=\\\"col\\\" *ngFor=\\\"let d of weekDays\\\">{{d}}</th></tr></thead><tbody><tr *ngFor=\\\"let w of dates\\\"><td class=\\\"daycell daycellweeknbr\\\" *ngIf=\\\"opts.showWeekNumbers&&opts.firstDayOfWeek==='mo'\\\">{{w.weekNbr}}</td><td class=\\\"daycell\\\" *ngFor=\\\"let d of w.week\\\" [ngClass]=\\\"{'currmonth':d.cmo===currMonthId&&!d.disabled, 'selectedday':selectedDate.day===d.dateObj.day && selectedDate.month===d.dateObj.month && selectedDate.year===d.dateObj.year && d.cmo===currMonthId, 'disabled': d.disabled, 'tablesingleday': d.cmo===currMonthId&&!d.disabled}\\\" (click)=\\\"!d.disabled&&cellClicked(d);$event.stopPropagation()\\\" (keydown)=\\\"cellKeyDown($event, d)\\\" tabindex=\\\"0\\\"><div *ngIf=\\\"d.markedDate.marked\\\" class=\\\"markdate\\\" [ngStyle]=\\\"{'background-color': d.markedDate.color}\\\"></div><div class=\\\"datevalue\\\" [ngClass]=\\\"{'prevmonth':d.cmo===prevMonthId,'currmonth':d.cmo===currMonthId,'nextmonth':d.cmo===nextMonthId,'sunday':d.dayNbr === 0 && opts.sunHighlight}\\\"><span [ngClass]=\\\"{'currday':d.currDay&&opts.markCurrentDay, 'sundayDim': opts.sunHighlight && d.dayNbr === 0 && (d.cmo===prevMonthId || d.cmo===nextMonthId || d.disabled)}\\\">{{d.dateObj.day}}</span></div></td></tr></tbody></table></div></div>\",\n                    providers: [LocaleService, UtilService, MYDP_VALUE_ACCESSOR],\n                    encapsulation: ViewEncapsulation.None\n                },] },\n    ];\n    MyDatePicker.ctorParameters = [\n        { type: ElementRef, },\n        { type: Renderer, },\n        { type: ChangeDetectorRef, },\n        { type: LocaleService, },\n        { type: UtilService, },\n    ];\n    MyDatePicker.propDecorators = {\n        'options': [{ type: Input },],\n        'locale': [{ type: Input },],\n        'defaultMonth': [{ type: Input },],\n        'selDate': [{ type: Input },],\n        'placeholder': [{ type: Input },],\n        'selector': [{ type: Input },],\n        'disabled': [{ type: Input },],\n        'dateChanged': [{ type: Output },],\n        'inputFieldChanged': [{ type: Output },],\n        'calendarViewChanged': [{ type: Output },],\n        'calendarToggle': [{ type: Output },],\n        'inputFocusBlur': [{ type: Output },],\n    };\n    return MyDatePicker;\n}());\n//# sourceMappingURL=my-date-picker.component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/mydatepicker/dist/my-date-picker.component.js\n// module id = 1441\n// module chunks = 0","import { CommonModule } from \"@angular/common\";\nimport { FormsModule } from \"@angular/forms\";\nimport { NgModule } from \"@angular/core\";\nimport { MyDatePicker } from \"./my-date-picker.component\";\nimport { FocusDirective } from \"./directives/my-date-picker.focus.directive\";\nimport { InputAutoFillDirective } from \"./directives/my-date-picker.input.auto.fill.directive\";\nexport var MyDatePickerModule = (function () {\n    function MyDatePickerModule() {\n    }\n    MyDatePickerModule.decorators = [\n        { type: NgModule, args: [{\n                    imports: [CommonModule, FormsModule],\n                    declarations: [MyDatePicker, FocusDirective, InputAutoFillDirective],\n                    exports: [MyDatePicker, FocusDirective, InputAutoFillDirective]\n                },] },\n    ];\n    MyDatePickerModule.ctorParameters = [];\n    return MyDatePickerModule;\n}());\n//# sourceMappingURL=my-date-picker.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/mydatepicker/dist/my-date-picker.module.js\n// module id = 1442\n// module chunks = 0","import { Injectable } from \"@angular/core\";\nexport var LocaleService = (function () {\n    function LocaleService() {\n        this.locales = {\n            \"en\": {\n                dayLabels: { su: \"Sun\", mo: \"Mon\", tu: \"Tue\", we: \"Wed\", th: \"Thu\", fr: \"Fri\", sa: \"Sat\" },\n                monthLabels: { 1: \"Jan\", 2: \"Feb\", 3: \"Mar\", 4: \"Apr\", 5: \"May\", 6: \"Jun\", 7: \"Jul\", 8: \"Aug\", 9: \"Sep\", 10: \"Oct\", 11: \"Nov\", 12: \"Dec\" },\n                dateFormat: \"yyyy-mm-dd\",\n                todayBtnTxt: \"Today\",\n                firstDayOfWeek: \"mo\",\n                sunHighlight: true,\n            },\n            \"he\": {\n                dayLabels: { su: \"רא\", mo: \"שנ\", tu: \"של\", we: \"רב\", th: \"חמ\", fr: \"שי\", sa: \"שב\" },\n                monthLabels: { 1: \"ינו\", 2: \"פבר\", 3: \"מרץ\", 4: \"אפר\", 5: \"מאי\", 6: \"יונ\", 7: \"יול\", 8: \"אוג\", 9: \"ספט\", 10: \"אוק\", 11: \"נוב\", 12: \"דצמ\" },\n                dateFormat: \"dd/mm/yyyy\",\n                todayBtnTxt: \"היום\",\n                firstDayOfWeek: \"su\",\n                sunHighlight: false\n            },\n            \"ja\": {\n                dayLabels: { su: \"日\", mo: \"月\", tu: \"火\", we: \"水\", th: \"木\", fr: \"金\", sa: \"土\" },\n                monthLabels: { 1: \"１月\", 2: \"２月\", 3: \"３月\", 4: \"４月\", 5: \"５月\", 6: \"６月\", 7: \"７月\", 8: \"８月\", 9: \"９月\", 10: \"１０月\", 11: \"１１月\", 12: \"１２月\" },\n                dateFormat: \"yyyy.mm.dd\",\n                todayBtnTxt: \"今日\",\n                sunHighlight: false\n            },\n            \"fr\": {\n                dayLabels: { su: \"Dim\", mo: \"Lun\", tu: \"Mar\", we: \"Mer\", th: \"Jeu\", fr: \"Ven\", sa: \"Sam\" },\n                monthLabels: { 1: \"Jan\", 2: \"Fév\", 3: \"Mar\", 4: \"Avr\", 5: \"Mai\", 6: \"Juin\", 7: \"Juil\", 8: \"Aoû\", 9: \"Sep\", 10: \"Oct\", 11: \"Nov\", 12: \"Déc\" },\n                dateFormat: \"dd/mm/yyyy\",\n                todayBtnTxt: \"Aujourd'hui\",\n                firstDayOfWeek: \"mo\",\n                sunHighlight: true,\n            },\n            \"fi\": {\n                dayLabels: { su: \"Su\", mo: \"Ma\", tu: \"Ti\", we: \"Ke\", th: \"To\", fr: \"Pe\", sa: \"La\" },\n                monthLabels: { 1: \"Tam\", 2: \"Hel\", 3: \"Maa\", 4: \"Huh\", 5: \"Tou\", 6: \"Kes\", 7: \"Hei\", 8: \"Elo\", 9: \"Syy\", 10: \"Lok\", 11: \"Mar\", 12: \"Jou\" },\n                dateFormat: \"dd.mm.yyyy\",\n                todayBtnTxt: \"Tänään\",\n                firstDayOfWeek: \"mo\",\n                sunHighlight: true,\n            },\n            \"es\": {\n                dayLabels: { su: \"Do\", mo: \"Lu\", tu: \"Ma\", we: \"Mi\", th: \"Ju\", fr: \"Vi\", sa: \"Sa\" },\n                monthLabels: { 1: \"Ene\", 2: \"Feb\", 3: \"Mar\", 4: \"Abr\", 5: \"May\", 6: \"Jun\", 7: \"Jul\", 8: \"Ago\", 9: \"Sep\", 10: \"Oct\", 11: \"Nov\", 12: \"Dic\" },\n                dateFormat: \"dd.mm.yyyy\",\n                todayBtnTxt: \"Hoy\",\n                firstDayOfWeek: \"mo\",\n                sunHighlight: true,\n            },\n            \"hu\": {\n                dayLabels: { su: \"Vas\", mo: \"Hét\", tu: \"Kedd\", we: \"Sze\", th: \"Csü\", fr: \"Pén\", sa: \"Szo\" },\n                monthLabels: { 1: \"Jan\", 2: \"Feb\", 3: \"Már\", 4: \"Ápr\", 5: \"Máj\", 6: \"Jún\", 7: \"Júl\", 8: \"Aug\", 9: \"Szep\", 10: \"Okt\", 11: \"Nov\", 12: \"Dec\" },\n                dateFormat: \"yyyy-mm-dd\",\n                todayBtnTxt: \"Ma\",\n                firstDayOfWeek: \"mo\",\n                sunHighlight: true\n            },\n            \"sv\": {\n                dayLabels: { su: \"Sön\", mo: \"Mån\", tu: \"Tis\", we: \"Ons\", th: \"Tor\", fr: \"Fre\", sa: \"Lör\" },\n                monthLabels: { 1: \"Jan\", 2: \"Feb\", 3: \"Mar\", 4: \"Apr\", 5: \"Maj\", 6: \"Jun\", 7: \"Jul\", 8: \"Aug\", 9: \"Sep\", 10: \"Okt\", 11: \"Nov\", 12: \"Dec\" },\n                dateFormat: \"yyyy-mm-dd\",\n                todayBtnTxt: \"Idag\",\n                firstDayOfWeek: \"mo\",\n                sunHighlight: false\n            },\n            \"nl\": {\n                dayLabels: { su: \"Zon\", mo: \"Maa\", tu: \"Din\", we: \"Woe\", th: \"Don\", fr: \"Vri\", sa: \"Zat\" },\n                monthLabels: { 1: \"Jan\", 2: \"Feb\", 3: \"Mar\", 4: \"Apr\", 5: \"Mei\", 6: \"Jun\", 7: \"Jul\", 8: \"Aug\", 9: \"Sep\", 10: \"Okt\", 11: \"Nov\", 12: \"Dec\" },\n                dateFormat: \"dd-mm-yyyy\",\n                todayBtnTxt: \"Vandaag\",\n                firstDayOfWeek: \"mo\",\n                sunHighlight: false\n            },\n            \"ru\": {\n                dayLabels: { su: \"Вс\", mo: \"Пн\", tu: \"Вт\", we: \"Ср\", th: \"Чт\", fr: \"Пт\", sa: \"Сб\" },\n                monthLabels: { 1: \"Янв\", 2: \"Фев\", 3: \"Март\", 4: \"Апр\", 5: \"Май\", 6: \"Июнь\", 7: \"Июль\", 8: \"Авг\", 9: \"Сент\", 10: \"Окт\", 11: \"Ноя\", 12: \"Дек\" },\n                dateFormat: \"dd.mm.yyyy\",\n                todayBtnTxt: \"Сегодня\",\n                firstDayOfWeek: \"mo\",\n                sunHighlight: true\n            },\n            \"uk\": {\n                dayLabels: { su: \"Нд\", mo: \"Пн\", tu: \"Вт\", we: \"Ср\", th: \"Чт\", fr: \"Пт\", sa: \"Сб\" },\n                monthLabels: { 1: \"Січ\", 2: \"Лют\", 3: \"Бер\", 4: \"Кві\", 5: \"Тра\", 6: \"Чер\", 7: \"Лип\", 8: \"Сер\", 9: \"Вер\", 10: \"Жов\", 11: \"Лис\", 12: \"Гру\" },\n                dateFormat: \"dd.mm.yyyy\",\n                todayBtnTxt: \"Сьогодні\",\n                firstDayOfWeek: \"mo\",\n                sunHighlight: true\n            },\n            \"no\": {\n                dayLabels: { su: \"Søn\", mo: \"Man\", tu: \"Tir\", we: \"Ons\", th: \"Tor\", fr: \"Fre\", sa: \"Lør\" },\n                monthLabels: { 1: \"Jan\", 2: \"Feb\", 3: \"Mar\", 4: \"Apr\", 5: \"Mai\", 6: \"Jun\", 7: \"Jul\", 8: \"Aug\", 9: \"Sep\", 10: \"Okt\", 11: \"Nov\", 12: \"Des\" },\n                dateFormat: \"dd.mm.yyyy\",\n                todayBtnTxt: \"I dag\",\n                firstDayOfWeek: \"mo\",\n                sunHighlight: false\n            },\n            \"tr\": {\n                dayLabels: { su: \"Paz\", mo: \"Pzt\", tu: \"Sal\", we: \"Çar\", th: \"Per\", fr: \"Cum\", sa: \"Cmt\" },\n                monthLabels: { 1: \"Oca\", 2: \"Şub\", 3: \"Mar\", 4: \"Nis\", 5: \"May\", 6: \"Haz\", 7: \"Tem\", 8: \"Ağu\", 9: \"Eyl\", 10: \"Eki\", 11: \"Kas\", 12: \"Ara\" },\n                dateFormat: \"dd.mm.yyyy\",\n                todayBtnTxt: \"Bugün\",\n                firstDayOfWeek: \"mo\",\n                sunHighlight: false\n            },\n            \"pt-br\": {\n                dayLabels: { su: \"Dom\", mo: \"Seg\", tu: \"Ter\", we: \"Qua\", th: \"Qui\", fr: \"Sex\", sa: \"Sab\" },\n                monthLabels: { 1: \"Jan\", 2: \"Fev\", 3: \"Mar\", 4: \"Abr\", 5: \"Mai\", 6: \"Jun\", 7: \"Jul\", 8: \"Ago\", 9: \"Set\", 10: \"Out\", 11: \"Nov\", 12: \"Dez\" },\n                dateFormat: \"dd/mm/yyyy\",\n                todayBtnTxt: \"Hoje\",\n                firstDayOfWeek: \"su\",\n                sunHighlight: true\n            },\n            \"de\": {\n                dayLabels: { su: \"So\", mo: \"Mo\", tu: \"Di\", we: \"Mi\", th: \"Do\", fr: \"Fr\", sa: \"Sa\" },\n                monthLabels: { 1: \"Jan\", 2: \"Feb\", 3: \"Mär\", 4: \"Apr\", 5: \"Mai\", 6: \"Jun\", 7: \"Jul\", 8: \"Aug\", 9: \"Sep\", 10: \"Okt\", 11: \"Nov\", 12: \"Dez\" },\n                dateFormat: \"dd.mm.yyyy\",\n                todayBtnTxt: \"Heute\",\n                firstDayOfWeek: \"mo\",\n                sunHighlight: true\n            },\n            \"it\": {\n                dayLabels: { su: \"Dom\", mo: \"Lun\", tu: \"Mar\", we: \"Mer\", th: \"Gio\", fr: \"Ven\", sa: \"Sab\" },\n                monthLabels: { 1: \"Gen\", 2: \"Feb\", 3: \"Mar\", 4: \"Apr\", 5: \"Mag\", 6: \"Giu\", 7: \"Lug\", 8: \"Ago\", 9: \"Set\", 10: \"Ott\", 11: \"Nov\", 12: \"Dic\" },\n                dateFormat: \"dd/mm/yyyy\",\n                todayBtnTxt: \"Oggi\",\n                firstDayOfWeek: \"mo\",\n                sunHighlight: true\n            },\n            \"it-ch\": {\n                dayLabels: { su: \"Dom\", mo: \"Lun\", tu: \"Mar\", we: \"Mer\", th: \"Gio\", fr: \"Ven\", sa: \"Sab\" },\n                monthLabels: { 1: \"Gen\", 2: \"Feb\", 3: \"Mar\", 4: \"Apr\", 5: \"Mag\", 6: \"Giu\", 7: \"Lug\", 8: \"Ago\", 9: \"Set\", 10: \"Ott\", 11: \"Nov\", 12: \"Dic\" },\n                dateFormat: \"dd.mm.yyyy\",\n                todayBtnTxt: \"Oggi\",\n                firstDayOfWeek: \"mo\",\n                sunHighlight: true\n            },\n            \"pl\": {\n                dayLabels: { su: \"Nie\", mo: \"Pon\", tu: \"Wto\", we: \"Śro\", th: \"Czw\", fr: \"Pią\", sa: \"Sob\" },\n                monthLabels: { 1: \"Sty\", 2: \"Lut\", 3: \"Mar\", 4: \"Kwi\", 5: \"Maj\", 6: \"Cze\", 7: \"Lip\", 8: \"Sie\", 9: \"Wrz\", 10: \"Paź\", 11: \"Lis\", 12: \"Gru\" },\n                dateFormat: \"yyyy-mm-dd\",\n                todayBtnTxt: \"Dzisiaj\",\n                firstDayOfWeek: \"mo\",\n                sunHighlight: true,\n            },\n            \"my\": {\n                dayLabels: { su: \"တနင်္ဂနွေ\", mo: \"တနင်္လာ\", tu: \"အင်္ဂါ\", we: \"ဗုဒ္ဓဟူး\", th: \"ကြသပတေး\", fr: \"သောကြာ\", sa: \"စနေ\" },\n                monthLabels: { 1: \"ဇန်နဝါရီ\", 2: \"ဖေဖော်ဝါရီ\", 3: \"မတ်\", 4: \"ဧပြီ\", 5: \"မေ\", 6: \"ဇွန်\", 7: \"ဇူလိုင်\", 8: \"ဩဂုတ်\", 9: \"စက်တင်ဘာ\", 10: \"အောက်တိုဘာ\", 11: \"နိုဝင်ဘာ\", 12: \"ဒီဇင်ဘာ\" },\n                dateFormat: \"yyyy-mm-dd\",\n                todayBtnTxt: \"ယနေ့\",\n                firstDayOfWeek: \"mo\",\n                sunHighlight: true,\n            },\n            \"sk\": {\n                dayLabels: { su: \"Ne\", mo: \"Po\", tu: \"Ut\", we: \"St\", th: \"Št\", fr: \"Pi\", sa: \"So\" },\n                monthLabels: { 1: \"Jan\", 2: \"Feb\", 3: \"Mar\", 4: \"Apr\", 5: \"Máj\", 6: \"Jún\", 7: \"Júl\", 8: \"Aug\", 9: \"Sep\", 10: \"Okt\", 11: \"Nov\", 12: \"Dec\" },\n                dateFormat: \"dd.mm.yyyy\",\n                todayBtnTxt: \"Dnes\",\n                firstDayOfWeek: \"mo\",\n                sunHighlight: true,\n            },\n            \"sl\": {\n                dayLabels: { su: \"Ned\", mo: \"Pon\", tu: \"Tor\", we: \"Sre\", th: \"Čet\", fr: \"Pet\", sa: \"Sob\" },\n                monthLabels: { 1: \"Jan\", 2: \"Feb\", 3: \"Mar\", 4: \"Apr\", 5: \"Maj\", 6: \"Jun\", 7: \"Jul\", 8: \"Avg\", 9: \"Sep\", 10: \"Okt\", 11: \"Nov\", 12: \"Dec\" },\n                dateFormat: \"dd. mm. yyyy\",\n                todayBtnTxt: \"Danes\",\n                firstDayOfWeek: \"mo\",\n                sunHighlight: true,\n            },\n            \"zh-cn\": {\n                dayLabels: { su: \"日\", mo: \"一\", tu: \"二\", we: \"三\", th: \"四\", fr: \"五\", sa: \"六\" },\n                monthLabels: { 1: \"1月\", 2: \"2月\", 3: \"3月\", 4: \"4月\", 5: \"5月\", 6: \"6月\", 7: \"7月\", 8: \"8月\", 9: \"9月\", 10: \"10月\", 11: \"11月\", 12: \"12月\" },\n                dateFormat: \"yyyy-mm-dd\",\n                todayBtnTxt: \"今天\",\n                firstDayOfWeek: \"mo\",\n                sunHighlight: true,\n            },\n            \"ro\": {\n                dayLabels: { su: \"du\", mo: \"lu\", tu: \"ma\", we: \"mi\", th: \"jo\", fr: \"vi\", sa: \"sa\" },\n                monthLabels: { 1: \"ian\", 2: \"feb\", 3: \"mart\", 4: \"apr\", 5: \"mai\", 6: \"iun\", 7: \"iul\", 8: \"aug\", 9: \"sept\", 10: \"oct\", 11: \"nov\", 12: \"dec\" },\n                dateFormat: \"dd.mm.yyyy\",\n                todayBtnTxt: \"Astăzi\",\n                firstDayOfWeek: \"mo\",\n                sunHighlight: true,\n            },\n            \"ca\": {\n                dayLabels: { su: \"dg\", mo: \"dl\", tu: \"dt\", we: \"dc\", th: \"dj\", fr: \"dv\", sa: \"ds\" },\n                monthLabels: { 1: \"Gen\", 2: \"Febr\", 3: \"Març\", 4: \"Abr\", 5: \"Maig\", 6: \"Juny\", 7: \"Jul\", 8: \"Ag\", 9: \"Set\", 10: \"Oct\", 11: \"Nov\", 12: \"Des\" },\n                dateFormat: \"dd.mm.yyyy\",\n                todayBtnTxt: \"Avui\",\n                firstDayOfWeek: \"mo\",\n                sunHighlight: true,\n            },\n            \"id\": {\n                dayLabels: { su: \"Min\", mo: \"Sen\", tu: \"Sel\", we: \"Rab\", th: \"Kam\", fr: \"Jum\", sa: \"Sab\" },\n                monthLabels: { 1: \"Jan\", 2: \"Feb\", 3: \"Mar\", 4: \"Apr\", 5: \"Mei\", 6: \"Jun\", 7: \"Jul\", 8: \"Ags\", 9: \"Sep\", 10: \"Okt\", 11: \"Nov\", 12: \"Des\" },\n                dateFormat: \"dd-mm-yyyy\",\n                todayBtnTxt: \"Hari ini\",\n                firstDayOfWeek: \"su\",\n                sunHighlight: true\n            },\n            \"en-au\": {\n                dayLabels: { su: \"Sun\", mo: \"Mon\", tu: \"Tue\", we: \"Wed\", th: \"Thu\", fr: \"Fri\", sa: \"Sat\" },\n                monthLabels: { 1: \"Jan\", 2: \"Feb\", 3: \"Mar\", 4: \"Apr\", 5: \"May\", 6: \"Jun\", 7: \"Jul\", 8: \"Aug\", 9: \"Sep\", 10: \"Oct\", 11: \"Nov\", 12: \"Dec\" },\n                dateFormat: \"dd/mm/yyyy\",\n                todayBtnTxt: \"Today\",\n                firstDayOfWeek: \"mo\",\n                sunHighlight: true\n            },\n            \"am-et\": {\n                dayLabels: { su: \"እሑድ\", mo: \"ሰኞ\", tu: \"ማክሰኞ\", we: \"ረቡዕ\", th: \"ሐሙስ\", fr: \"ዓርብ\", sa: \"ቅዳሜ\" },\n                monthLabels: { 1: \"ጃንዩ\", 2: \"ፌብሩ\", 3: \"ማርች\", 4: \"ኤፕረ\", 5: \"ሜይ\", 6: \"ጁን\", 7: \"ጁላይ\", 8: \"ኦገስ\", 9: \"ሴፕቴ\", 10: \"ኦክተ\", 11: \"ኖቬም\", 12: \"ዲሴም\" },\n                dateFormat: \"yyyy-mm-dd\",\n                todayBtnTxt: \"ዛሬ\",\n                firstDayOfWeek: \"mo\",\n                sunHighlight: true\n            },\n            \"cs\": {\n                dayLabels: { su: \"Ne\", mo: \"Po\", tu: \"Út\", we: \"St\", th: \"Čt\", fr: \"Pá\", sa: \"So\" },\n                monthLabels: { 1: \"Led\", 2: \"Úno\", 3: \"Bře\", 4: \"Dub\", 5: \"Kvě\", 6: \"Čvn\", 7: \"Čvc\", 8: \"Srp\", 9: \"Zář\", 10: \"Říj\", 11: \"Lis\", 12: \"Pro\" },\n                dateFormat: \"dd.mm.yyyy\",\n                todayBtnTxt: \"Dnes\",\n                firstDayOfWeek: \"mo\",\n                sunHighlight: true\n            },\n            \"el\": {\n                dayLabels: { su: \"Κυρ\", mo: \"Δευ\", tu: \"Τρι\", we: \"Τετ\", th: \"Πεμ\", fr: \"Παρ\", sa: \"Σαβ\" },\n                monthLabels: { 1: \"Ιαν\", 2: \"Φεβ\", 3: \"Μαρ\", 4: \"Απρ\", 5: \"Μαι\", 6: \"Ιουν\", 7: \"Ιουλ\", 8: \"Αυγ\", 9: \"Σεπ\", 10: \"Οκτ\", 11: \"Νοε\", 12: \"Δεκ\" },\n                dateFormat: \"dd/mm/yyyy\",\n                todayBtnTxt: \"Σήμερα\",\n                firstDayOfWeek: \"mo\",\n                sunHighlight: true\n            },\n            \"kk\": {\n                dayLabels: { su: \"Жк\", mo: \"Дс\", tu: \"Сс\", we: \"Ср\", th: \"Бс\", fr: \"Жм\", sa: \"Сб\" },\n                monthLabels: { 1: \"Қаң\", 2: \"Ақп\", 3: \"Нау\", 4: \"Сәу\", 5: \"Мам\", 6: \"Мау\", 7: \"Шіл\", 8: \"Там\", 9: \"Қырк\", 10: \"Қаз\", 11: \"Қар\", 12: \"Желт\" },\n                dateFormat: \"dd-mmm-yyyy\",\n                todayBtnTxt: \"Бүгін\",\n                firstDayOfWeek: \"mo\",\n                sunHighlight: true\n            }\n        };\n    }\n    LocaleService.prototype.getLocaleOptions = function (locale) {\n        if (locale && this.locales.hasOwnProperty(locale)) {\n            return this.locales[locale];\n        }\n        return this.locales[\"en\"];\n    };\n    LocaleService.decorators = [\n        { type: Injectable },\n    ];\n    LocaleService.ctorParameters = [];\n    return LocaleService;\n}());\n//# sourceMappingURL=my-date-picker.locale.service.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/mydatepicker/dist/services/my-date-picker.locale.service.js\n// module id = 1443\n// module chunks = 0","import { Injectable } from \"@angular/core\";\nexport var UtilService = (function () {\n    function UtilService() {\n    }\n    UtilService.prototype.isDateValid = function (dateStr, dateFormat, minYear, maxYear, disableUntil, disableSince, disableWeekends, disableDays, disableDateRanges, monthLabels, enableDays) {\n        var returnDate = { day: 0, month: 0, year: 0 };\n        var daysInMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n        var isMonthStr = this.getDatePartIndex(dateFormat, \"mmm\") !== -1;\n        if (dateStr.length !== dateFormat.length) {\n            return returnDate;\n        }\n        var separator = this.getDateFormatSeparator(dateFormat);\n        var parts = dateStr.split(separator);\n        if (parts.length !== 3) {\n            return returnDate;\n        }\n        var day = this.parseDatePartNumber(dateFormat, dateStr, \"dd\");\n        var month = isMonthStr ? this.parseDatePartMonthName(dateFormat, dateStr, \"mmm\", monthLabels) : this.parseDatePartNumber(dateFormat, dateStr, \"mm\");\n        var year = this.parseDatePartNumber(dateFormat, dateStr, \"yyyy\");\n        if (day !== -1 && month !== -1 && year !== -1) {\n            if (year < minYear || year > maxYear || month < 1 || month > 12) {\n                return returnDate;\n            }\n            var date = { year: year, month: month, day: day };\n            if (this.isDisabledDay(date, disableUntil, disableSince, disableWeekends, disableDays, disableDateRanges, enableDays)) {\n                return returnDate;\n            }\n            if (year % 400 === 0 || (year % 100 !== 0 && year % 4 === 0)) {\n                daysInMonth[1] = 29;\n            }\n            if (day < 1 || day > daysInMonth[month - 1]) {\n                return returnDate;\n            }\n            return date;\n        }\n        return returnDate;\n    };\n    UtilService.prototype.getDateFormatSeparator = function (dateFormat) {\n        return dateFormat.replace(/[dmy]/g, \"\")[0];\n    };\n    UtilService.prototype.isMonthLabelValid = function (monthLabel, monthLabels) {\n        for (var key = 1; key <= 12; key++) {\n            if (monthLabel.toLowerCase() === monthLabels[key].toLowerCase()) {\n                return key;\n            }\n        }\n        return -1;\n    };\n    UtilService.prototype.isYearLabelValid = function (yearLabel, minYear, maxYear) {\n        if (yearLabel >= minYear && yearLabel <= maxYear) {\n            return yearLabel;\n        }\n        return -1;\n    };\n    UtilService.prototype.parseDatePartNumber = function (dateFormat, dateString, datePart) {\n        var pos = this.getDatePartIndex(dateFormat, datePart);\n        if (pos !== -1) {\n            var value = dateString.substring(pos, pos + datePart.length);\n            if (!/^\\d+$/.test(value)) {\n                return -1;\n            }\n            return parseInt(value);\n        }\n        return -1;\n    };\n    UtilService.prototype.parseDatePartMonthName = function (dateFormat, dateString, datePart, monthLabels) {\n        var pos = this.getDatePartIndex(dateFormat, datePart);\n        if (pos !== -1) {\n            return this.isMonthLabelValid(dateString.substring(pos, pos + datePart.length), monthLabels);\n        }\n        return -1;\n    };\n    UtilService.prototype.getDatePartIndex = function (dateFormat, datePart) {\n        return dateFormat.indexOf(datePart);\n    };\n    UtilService.prototype.parseDefaultMonth = function (monthString) {\n        var month = { monthTxt: \"\", monthNbr: 0, year: 0 };\n        if (monthString !== \"\") {\n            var split = monthString.split(monthString.match(/[^0-9]/)[0]);\n            month.monthNbr = split[0].length === 2 ? parseInt(split[0]) : parseInt(split[1]);\n            month.year = split[0].length === 2 ? parseInt(split[1]) : parseInt(split[0]);\n        }\n        return month;\n    };\n    UtilService.prototype.isDisabledDay = function (date, disableUntil, disableSince, disableWeekends, disableDays, disableDateRanges, enableDays) {\n        for (var _i = 0, enableDays_1 = enableDays; _i < enableDays_1.length; _i++) {\n            var e = enableDays_1[_i];\n            if (e.year === date.year && e.month === date.month && e.day === date.day) {\n                return false;\n            }\n        }\n        var dateMs = this.getTimeInMilliseconds(date);\n        if (this.isInitializedDate(disableUntil) && dateMs <= this.getTimeInMilliseconds(disableUntil)) {\n            return true;\n        }\n        if (this.isInitializedDate(disableSince) && dateMs >= this.getTimeInMilliseconds(disableSince)) {\n            return true;\n        }\n        if (disableWeekends) {\n            var dn = this.getDayNumber(date);\n            if (dn === 0 || dn === 6) {\n                return true;\n            }\n        }\n        for (var _a = 0, disableDays_1 = disableDays; _a < disableDays_1.length; _a++) {\n            var d = disableDays_1[_a];\n            if (d.year === date.year && d.month === date.month && d.day === date.day) {\n                return true;\n            }\n        }\n        for (var _b = 0, disableDateRanges_1 = disableDateRanges; _b < disableDateRanges_1.length; _b++) {\n            var d = disableDateRanges_1[_b];\n            if (this.isInitializedDate(d.begin) && this.isInitializedDate(d.end) && dateMs >= this.getTimeInMilliseconds(d.begin) && dateMs <= this.getTimeInMilliseconds(d.end)) {\n                return true;\n            }\n        }\n        return false;\n    };\n    UtilService.prototype.isMarkedDate = function (date, markedDates, markWeekends) {\n        for (var _i = 0, markedDates_1 = markedDates; _i < markedDates_1.length; _i++) {\n            var md = markedDates_1[_i];\n            for (var _a = 0, _b = md.dates; _a < _b.length; _a++) {\n                var d = _b[_a];\n                if (d.year === date.year && d.month === date.month && d.day === date.day) {\n                    return { marked: true, color: md.color };\n                }\n            }\n        }\n        if (markWeekends && markWeekends.marked) {\n            var dayNbr = this.getDayNumber(date);\n            if (dayNbr === 0 || dayNbr === 6) {\n                return { marked: true, color: markWeekends.color };\n            }\n        }\n        return { marked: false, color: \"\" };\n    };\n    UtilService.prototype.getWeekNumber = function (date) {\n        var d = new Date(date.year, date.month - 1, date.day, 0, 0, 0, 0);\n        d.setDate(d.getDate() + (d.getDay() === 0 ? -3 : 4 - d.getDay()));\n        return Math.round(((d.getTime() - new Date(d.getFullYear(), 0, 4).getTime()) / 86400000) / 7) + 1;\n    };\n    UtilService.prototype.isMonthDisabledByDisableUntil = function (date, disableUntil) {\n        return this.isInitializedDate(disableUntil) && this.getTimeInMilliseconds(date) <= this.getTimeInMilliseconds(disableUntil);\n    };\n    UtilService.prototype.isMonthDisabledByDisableSince = function (date, disableSince) {\n        return this.isInitializedDate(disableSince) && this.getTimeInMilliseconds(date) >= this.getTimeInMilliseconds(disableSince);\n    };\n    UtilService.prototype.isInitializedDate = function (date) {\n        return date.year !== 0 && date.month !== 0 && date.day !== 0;\n    };\n    UtilService.prototype.getTimeInMilliseconds = function (date) {\n        return new Date(date.year, date.month - 1, date.day, 0, 0, 0, 0).getTime();\n    };\n    UtilService.prototype.getDayNumber = function (date) {\n        var d = new Date(date.year, date.month - 1, date.day, 0, 0, 0, 0);\n        return d.getDay();\n    };\n    UtilService.decorators = [\n        { type: Injectable },\n    ];\n    UtilService.ctorParameters = [];\n    return UtilService;\n}());\n//# sourceMappingURL=my-date-picker.util.service.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/mydatepicker/dist/services/my-date-picker.util.service.js\n// module id = 1444\n// module chunks = 0","\"use strict\";\nvar core_1 = require('@angular/core');\nvar modal_1 = require('../components/modal');\nvar AutofocusDirective = (function () {\n    function AutofocusDirective(el, modal) {\n        var _this = this;\n        this.el = el;\n        this.modal = modal;\n        if (modal) {\n            this.modal.onOpen.subscribe(function () {\n                _this.el.nativeElement.focus();\n            });\n        }\n    }\n    AutofocusDirective.decorators = [\n        { type: core_1.Directive, args: [{\n                    selector: '[autofocus]'\n                },] },\n    ];\n    /** @nocollapse */\n    AutofocusDirective.ctorParameters = [\n        { type: core_1.ElementRef, },\n        { type: modal_1.ModalComponent, decorators: [{ type: core_1.Optional },] },\n    ];\n    return AutofocusDirective;\n}());\nexports.AutofocusDirective = AutofocusDirective;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2ZvY3VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL25nMi1iczMtbW9kYWwvZGlyZWN0aXZlcy9hdXRvZm9jdXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHFCQUF3RCxlQUFlLENBQUMsQ0FBQTtBQUN4RSxzQkFBK0IscUJBQXFCLENBQUMsQ0FBQTtBQUdyRDtJQUNJLDRCQUFvQixFQUFjLEVBQVcsS0FBcUI7UUFEdEUsaUJBa0JDO1FBakJ1QixPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVcsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDOUQsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNSLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztnQkFDeEIsS0FBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbEMsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO0lBQ0wsQ0FBQztJQUNFLDZCQUFVLEdBQTBCO1FBQzNDLEVBQUUsSUFBSSxFQUFFLGdCQUFTLEVBQUUsSUFBSSxFQUFFLENBQUM7b0JBQ3RCLFFBQVEsRUFBRSxhQUFhO2lCQUMxQixFQUFHLEVBQUU7S0FDTCxDQUFDO0lBQ0Ysa0JBQWtCO0lBQ1gsaUNBQWMsR0FBNkQ7UUFDbEYsRUFBQyxJQUFJLEVBQUUsaUJBQVUsR0FBRztRQUNwQixFQUFDLElBQUksRUFBRSxzQkFBYyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLGVBQVEsRUFBRSxFQUFHLEVBQUM7S0FDekQsQ0FBQztJQUNGLHlCQUFDO0FBQUQsQ0FBQyxBQWxCRCxJQWtCQztBQWxCWSwwQkFBa0IscUJBa0I5QixDQUFBIn0=\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-bs3-modal/directives/autofocus.js\n// module id = 1445\n// module chunks = 0","\"use strict\";\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar core_1 = require(\"@angular/core\");\nvar chart_js_1 = require(\"chart.js\");\n/* tslint:disable-next-line */\nvar BaseChartDirective = (function () {\n    function BaseChartDirective(element) {\n        this.labels = [];\n        this.options = {};\n        this.chartClick = new core_1.EventEmitter();\n        this.chartHover = new core_1.EventEmitter();\n        this.initFlag = false;\n        this.element = element;\n    }\n    BaseChartDirective.prototype.ngOnInit = function () {\n        this.ctx = this.element.nativeElement.getContext('2d');\n        this.cvs = this.element.nativeElement;\n        this.initFlag = true;\n        if (this.data || this.datasets) {\n            this.refresh();\n        }\n    };\n    BaseChartDirective.prototype.ngOnChanges = function (changes) {\n        if (this.initFlag) {\n            // Check if the changes are in the data or datasets\n            if (changes.hasOwnProperty('data') || changes.hasOwnProperty('datasets')) {\n                if (changes['data']) {\n                    this.updateChartData(changes['data'].currentValue);\n                }\n                else {\n                    this.updateChartData(changes['datasets'].currentValue);\n                }\n                this.chart.update();\n            }\n            else {\n                // otherwise rebuild the chart\n                this.refresh();\n            }\n        }\n    };\n    BaseChartDirective.prototype.ngOnDestroy = function () {\n        if (this.chart) {\n            this.chart.destroy();\n            this.chart = void 0;\n        }\n    };\n    BaseChartDirective.prototype.getChartBuilder = function (ctx /*, data:Array<any>, options:any*/) {\n        var _this = this;\n        var datasets = this.getDatasets();\n        var options = Object.assign({}, this.options);\n        if (this.legend === false) {\n            options.legend = { display: false };\n        }\n        // hock for onHover and onClick events\n        options.hover = options.hover || {};\n        if (!options.hover.onHover) {\n            options.hover.onHover = function (active) {\n                if (active && !active.length) {\n                    return;\n                }\n                _this.chartHover.emit({ active: active });\n            };\n        }\n        if (!options.onClick) {\n            options.onClick = function (event, active) {\n                _this.chartClick.emit({ event: event, active: active });\n            };\n        }\n        var opts = {\n            type: this.chartType,\n            data: {\n                labels: this.labels,\n                datasets: datasets\n            },\n            options: options\n        };\n        return new chart_js_1.Chart(ctx, opts);\n    };\n    BaseChartDirective.prototype.updateChartData = function (newDataValues) {\n        if (Array.isArray(newDataValues[0].data)) {\n            this.chart.data.datasets.forEach(function (dataset, i) {\n                dataset.data = newDataValues[i].data;\n                if (newDataValues[i].label) {\n                    dataset.label = newDataValues[i].label;\n                }\n            });\n        }\n        else {\n            this.chart.data.datasets[0].data = newDataValues;\n        }\n    };\n    BaseChartDirective.prototype.getDatasets = function () {\n        var _this = this;\n        var datasets = void 0;\n        // in case if datasets is not provided, but data is present\n        if (!this.datasets || !this.datasets.length && (this.data && this.data.length)) {\n            if (Array.isArray(this.data[0])) {\n                datasets = this.data.map(function (data, index) {\n                    return { data: data, label: _this.labels[index] || \"Label \" + index };\n                });\n            }\n            else {\n                datasets = [{ data: this.data, label: \"Label 0\" }];\n            }\n        }\n        if (this.datasets && this.datasets.length ||\n            (datasets && datasets.length)) {\n            datasets = (this.datasets || datasets)\n                .map(function (elm, index) {\n                var newElm = Object.assign({}, elm);\n                if (_this.colors && _this.colors.length) {\n                    Object.assign(newElm, _this.colors[index]);\n                }\n                else {\n                    Object.assign(newElm, getColors(_this.chartType, index, newElm.data.length));\n                }\n                return newElm;\n            });\n        }\n        if (!datasets) {\n            throw new Error(\"ng-charts configuration error,\\n      data or datasets field are required to render char \" + this.chartType);\n        }\n        return datasets;\n    };\n    BaseChartDirective.prototype.refresh = function () {\n        // if (this.options && this.options.responsive) {\n        //   setTimeout(() => this.refresh(), 50);\n        // }\n        // todo: remove this line, it is producing flickering\n        this.ngOnDestroy();\n        this.chart = this.getChartBuilder(this.ctx /*, data, this.options*/);\n    };\n    return BaseChartDirective;\n}());\nBaseChartDirective.defaultColors = [\n    [255, 99, 132],\n    [54, 162, 235],\n    [255, 206, 86],\n    [231, 233, 237],\n    [75, 192, 192],\n    [151, 187, 205],\n    [220, 220, 220],\n    [247, 70, 74],\n    [70, 191, 189],\n    [253, 180, 92],\n    [148, 159, 177],\n    [77, 83, 96]\n];\n__decorate([\n    core_1.Input(),\n    __metadata(\"design:type\", Array)\n], BaseChartDirective.prototype, \"data\", void 0);\n__decorate([\n    core_1.Input(),\n    __metadata(\"design:type\", Array)\n], BaseChartDirective.prototype, \"datasets\", void 0);\n__decorate([\n    core_1.Input(),\n    __metadata(\"design:type\", Array)\n], BaseChartDirective.prototype, \"labels\", void 0);\n__decorate([\n    core_1.Input(),\n    __metadata(\"design:type\", Object)\n], BaseChartDirective.prototype, \"options\", void 0);\n__decorate([\n    core_1.Input(),\n    __metadata(\"design:type\", String)\n], BaseChartDirective.prototype, \"chartType\", void 0);\n__decorate([\n    core_1.Input(),\n    __metadata(\"design:type\", Array)\n], BaseChartDirective.prototype, \"colors\", void 0);\n__decorate([\n    core_1.Input(),\n    __metadata(\"design:type\", Boolean)\n], BaseChartDirective.prototype, \"legend\", void 0);\n__decorate([\n    core_1.Output(),\n    __metadata(\"design:type\", core_1.EventEmitter)\n], BaseChartDirective.prototype, \"chartClick\", void 0);\n__decorate([\n    core_1.Output(),\n    __metadata(\"design:type\", core_1.EventEmitter)\n], BaseChartDirective.prototype, \"chartHover\", void 0);\nBaseChartDirective = __decorate([\n    core_1.Directive({ selector: 'canvas[baseChart]', exportAs: 'base-chart' }),\n    __metadata(\"design:paramtypes\", [core_1.ElementRef])\n], BaseChartDirective);\nexports.BaseChartDirective = BaseChartDirective;\nfunction rgba(colour, alpha) {\n    return 'rgba(' + colour.concat(alpha).join(',') + ')';\n}\nfunction getRandomInt(min, max) {\n    return Math.floor(Math.random() * (max - min + 1)) + min;\n}\nfunction formatLineColor(colors) {\n    return {\n        backgroundColor: rgba(colors, 0.4),\n        borderColor: rgba(colors, 1),\n        pointBackgroundColor: rgba(colors, 1),\n        pointBorderColor: '#fff',\n        pointHoverBackgroundColor: '#fff',\n        pointHoverBorderColor: rgba(colors, 0.8)\n    };\n}\nfunction formatBarColor(colors) {\n    return {\n        backgroundColor: rgba(colors, 0.6),\n        borderColor: rgba(colors, 1),\n        hoverBackgroundColor: rgba(colors, 0.8),\n        hoverBorderColor: rgba(colors, 1)\n    };\n}\nfunction formatPieColors(colors) {\n    return {\n        backgroundColor: colors.map(function (color) { return rgba(color, 0.6); }),\n        borderColor: colors.map(function () { return '#fff'; }),\n        pointBackgroundColor: colors.map(function (color) { return rgba(color, 1); }),\n        pointBorderColor: colors.map(function () { return '#fff'; }),\n        pointHoverBackgroundColor: colors.map(function (color) { return rgba(color, 1); }),\n        pointHoverBorderColor: colors.map(function (color) { return rgba(color, 1); })\n    };\n}\nfunction formatPolarAreaColors(colors) {\n    return {\n        backgroundColor: colors.map(function (color) { return rgba(color, 0.6); }),\n        borderColor: colors.map(function (color) { return rgba(color, 1); }),\n        hoverBackgroundColor: colors.map(function (color) { return rgba(color, 0.8); }),\n        hoverBorderColor: colors.map(function (color) { return rgba(color, 1); })\n    };\n}\nfunction getRandomColor() {\n    return [getRandomInt(0, 255), getRandomInt(0, 255), getRandomInt(0, 255)];\n}\n/**\n * Generate colors for line|bar charts\n * @param index\n * @returns {number[]|Color}\n */\nfunction generateColor(index) {\n    return BaseChartDirective.defaultColors[index] || getRandomColor();\n}\n/**\n * Generate colors for pie|doughnut charts\n * @param count\n * @returns {Colors}\n */\nfunction generateColors(count) {\n    var colorsArr = new Array(count);\n    for (var i = 0; i < count; i++) {\n        colorsArr[i] = BaseChartDirective.defaultColors[i] || getRandomColor();\n    }\n    return colorsArr;\n}\n/**\n * Generate colors by chart type\n * @param chartType\n * @param index\n * @param count\n * @returns {Color}\n */\nfunction getColors(chartType, index, count) {\n    if (chartType === 'pie' || chartType === 'doughnut') {\n        return formatPieColors(generateColors(count));\n    }\n    if (chartType === 'polarArea') {\n        return formatPolarAreaColors(generateColors(count));\n    }\n    if (chartType === 'line' || chartType === 'radar') {\n        return formatLineColor(generateColor(index));\n    }\n    if (chartType === 'bar' || chartType === 'horizontalBar') {\n        return formatBarColor(generateColor(index));\n    }\n    return generateColor(index);\n}\nvar ChartsModule = (function () {\n    function ChartsModule() {\n    }\n    return ChartsModule;\n}());\nChartsModule = __decorate([\n    core_1.NgModule({\n        declarations: [\n            BaseChartDirective\n        ],\n        exports: [\n            BaseChartDirective\n        ],\n        imports: []\n    })\n], ChartsModule);\nexports.ChartsModule = ChartsModule;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-charts/charts/charts.js\n// module id = 1446\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Fraction = (function (_super) {\n    __extends(Fraction, _super);\n    function Fraction() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    return Fraction;\n}(Number));\nexports.Fraction = Fraction;\n// Console debug wrapper that makes code looks a little bit cleaner\nvar Debug = (function () {\n    function Debug() {\n    }\n    Debug.log = function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            args[_i] = arguments[_i];\n        }\n        if (Exif.debug) {\n            console.log(args);\n        }\n    };\n    return Debug;\n}());\nexports.Debug = Debug;\nvar Exif = (function () {\n    function Exif() {\n    }\n    Exif.addEvent = function (element, event, handler) {\n        if (element.addEventListener) {\n            element.addEventListener(event, handler, false);\n        }\n        else {\n            // Hello, IE!\n            if (element.attachEvent) {\n                element.attachEvent('on' + event, handler);\n            }\n        }\n    };\n    Exif.imageHasData = function (img) {\n        return !!(img.exifdata);\n    };\n    Exif.base64ToArrayBuffer = function (base64) {\n        base64 = base64.replace(/^data:([^;]+);base64,/gmi, '');\n        var binary = atob(base64);\n        var len = binary.length;\n        var buffer = new ArrayBuffer(len);\n        var view = new Uint8Array(buffer);\n        for (var i = 0; i < len; i++) {\n            view[i] = binary.charCodeAt(i);\n        }\n        return buffer;\n    };\n    Exif.objectURLToBlob = function (url, callback) {\n        var http = new XMLHttpRequest();\n        http.open('GET', url, true);\n        http.responseType = 'blob';\n        http.onload = function () {\n            if (http.status === 200 || http.status === 0) {\n                callback(http.response);\n            }\n        };\n        http.send();\n    };\n    Exif.getImageData = function (img, callback) {\n        function handleBinaryFile(binFile) {\n            var data = Exif.findEXIFinJPEG(binFile);\n            var iptcdata = Exif.findIPTCinJPEG(binFile);\n            img.exifdata = data || {};\n            img.iptcdata = iptcdata || {};\n            if (callback) {\n                callback.call(img);\n            }\n        }\n        if ('src' in img && img.src) {\n            if (/^data:/i.test(img.src)) {\n                var arrayBuffer = Exif.base64ToArrayBuffer(img.src);\n                handleBinaryFile(arrayBuffer);\n            }\n            else {\n                if (/^blob:/i.test(img.src)) {\n                    var fileReader_1 = new FileReader();\n                    fileReader_1.onload = function (e) {\n                        handleBinaryFile(e.target.result);\n                    };\n                    Exif.objectURLToBlob(img.src, function (blob) {\n                        fileReader_1.readAsArrayBuffer(blob);\n                    });\n                }\n                else {\n                    var http_1 = new XMLHttpRequest();\n                    http_1.onload = function () {\n                        if (http_1.status === 200 || http_1.status === 0) {\n                            handleBinaryFile(http_1.response);\n                        }\n                        else {\n                            throw 'Could not load image';\n                        }\n                    };\n                    http_1.open('GET', img.src, true);\n                    http_1.responseType = 'arraybuffer';\n                    http_1.send(null);\n                }\n            }\n        }\n        else {\n            if (FileReader && (img instanceof Blob || img instanceof File)) {\n                var fileReader = new FileReader();\n                fileReader.onload = function (e) {\n                    Debug.log('Got file of length ' + e.target.result.byteLength);\n                    handleBinaryFile(e.target.result);\n                };\n                fileReader.readAsArrayBuffer(img);\n            }\n        }\n    };\n    Exif.findEXIFinJPEG = function (file) {\n        var dataView = new DataView(file);\n        Debug.log('Got file of length ' + file.byteLength);\n        if ((dataView.getUint8(0) !== 0xFF) || (dataView.getUint8(1) !== 0xD8)) {\n            Debug.log('Not a valid JPEG');\n            return false; // not a valid jpeg\n        }\n        var offset = 2;\n        var length = file.byteLength;\n        var marker;\n        while (offset < length) {\n            if (dataView.getUint8(offset) !== 0xFF) {\n                Debug.log('Not a valid marker at offset ' + offset + ', found: ' + dataView.getUint8(offset));\n                return false; // not a valid marker, something is wrong\n            }\n            marker = dataView.getUint8(offset + 1);\n            Debug.log(marker);\n            // we could implement handling for other markers here,\n            // but we're only looking for 0xFFE1 for EXIF data\n            if (marker === 225) {\n                Debug.log('Found 0xFFE1 marker');\n                return Exif.readEXIFData(dataView, offset + 4); // , dataView.getUint16(offset + 2) - 2);\n                // offset += 2 + file.getShortAt(offset+2, true);\n            }\n            else {\n                offset += 2 + dataView.getUint16(offset + 2);\n            }\n        }\n    };\n    Exif.findIPTCinJPEG = function (file) {\n        var dataView = new DataView(file);\n        Debug.log('Got file of length ' + file.byteLength);\n        if ((dataView.getUint8(0) !== 0xFF) || (dataView.getUint8(1) !== 0xD8)) {\n            Debug.log('Not a valid JPEG');\n            return false; // not a valid jpeg\n        }\n        var offset = 2;\n        var length = file.byteLength;\n        var isFieldSegmentStart = function (_dataView, _offset) {\n            return (_dataView.getUint8(_offset) === 0x38 && _dataView.getUint8(_offset + 1) === 0x42 && _dataView.getUint8(_offset + 2) === 0x49 && _dataView.getUint8(_offset + 3) === 0x4D && _dataView.getUint8(_offset + 4) === 0x04 && _dataView.getUint8(_offset + 5) === 0x04);\n        };\n        while (offset < length) {\n            if (isFieldSegmentStart(dataView, offset)) {\n                // Get the length of the name header (which is padded to an even number of bytes)\n                var nameHeaderLength = dataView.getUint8(offset + 7);\n                if (nameHeaderLength % 2 !== 0) {\n                    nameHeaderLength += 1;\n                }\n                // Check for pre photoshop 6 format\n                if (nameHeaderLength === 0) {\n                    // Always 4\n                    nameHeaderLength = 4;\n                }\n                var startOffset = offset + 8 + nameHeaderLength;\n                var sectionLength = dataView.getUint16(offset + 6 + nameHeaderLength);\n                return Exif.readIPTCData(file, startOffset, sectionLength);\n            }\n            // Not the marker, continue searching\n            offset++;\n        }\n    };\n    Exif.readIPTCData = function (file, startOffset, sectionLength) {\n        var dataView = new DataView(file);\n        var data = {};\n        var fieldValue, fieldName, dataSize, segmentType, segmentSize;\n        var segmentStartPos = startOffset;\n        while (segmentStartPos < startOffset + sectionLength) {\n            if (dataView.getUint8(segmentStartPos) === 0x1C && dataView.getUint8(segmentStartPos + 1) === 0x02) {\n                segmentType = dataView.getUint8(segmentStartPos + 2);\n                if (segmentType in Exif.IptcFieldMap) {\n                    dataSize = dataView.getInt16(segmentStartPos + 3);\n                    segmentSize = dataSize + 5;\n                    fieldName = Exif.IptcFieldMap[segmentType];\n                    fieldValue = Exif.getStringFromDB(dataView, segmentStartPos + 5, dataSize);\n                    // Check if we already stored a value with this name\n                    if (data.hasOwnProperty(fieldName)) {\n                        // Value already stored with this name, create multivalue field\n                        if (data[fieldName] instanceof Array) {\n                            data[fieldName].push(fieldValue);\n                        }\n                        else {\n                            data[fieldName] = [data[fieldName], fieldValue];\n                        }\n                    }\n                    else {\n                        data[fieldName] = fieldValue;\n                    }\n                }\n            }\n            segmentStartPos++;\n        }\n        return data;\n    };\n    Exif.readTags = function (file, tiffStart, dirStart, strings, bigEnd) {\n        var entries = file.getUint16(dirStart, !bigEnd);\n        var tags = {};\n        var entryOffset;\n        var tag;\n        for (var i = 0; i < entries; i++) {\n            entryOffset = dirStart + i * 12 + 2;\n            tag = strings[file.getUint16(entryOffset, !bigEnd)];\n            if (!tag) {\n                Debug.log('Unknown tag: ' + file.getUint16(entryOffset, !bigEnd));\n            }\n            tags[tag] = Exif.readTagValue(file, entryOffset, tiffStart, dirStart, bigEnd);\n        }\n        return tags;\n    };\n    Exif.readTagValue = function (file, entryOffset, tiffStart, dirStart, bigEnd) {\n        var type = file.getUint16(entryOffset + 2, !bigEnd);\n        var numValues = file.getUint32(entryOffset + 4, !bigEnd);\n        var valueOffset = file.getUint32(entryOffset + 8, !bigEnd) + tiffStart;\n        var offset;\n        var vals, val, n;\n        var numerator;\n        var denominator;\n        switch (type) {\n            case 1: // byte, 8-bit unsigned int\n            case 7:\n                if (numValues === 1) {\n                    return file.getUint8(entryOffset + 8, !bigEnd);\n                }\n                else {\n                    offset = numValues > 4 ? valueOffset : (entryOffset + 8);\n                    vals = [];\n                    for (n = 0; n < numValues; n++) {\n                        vals[n] = file.getUint8(offset + n);\n                    }\n                    return vals;\n                }\n            case 2:\n                offset = numValues > 4 ? valueOffset : (entryOffset + 8);\n                return Exif.getStringFromDB(file, offset, numValues - 1);\n            case 3:\n                if (numValues === 1) {\n                    return file.getUint16(entryOffset + 8, !bigEnd);\n                }\n                else {\n                    offset = numValues > 2 ? valueOffset : (entryOffset + 8);\n                    vals = [];\n                    for (n = 0; n < numValues; n++) {\n                        vals[n] = file.getUint16(offset + 2 * n, !bigEnd);\n                    }\n                    return vals;\n                }\n            case 4:\n                if (numValues === 1) {\n                    return file.getUint32(entryOffset + 8, !bigEnd);\n                }\n                else {\n                    vals = [];\n                    for (n = 0; n < numValues; n++) {\n                        vals[n] = file.getUint32(valueOffset + 4 * n, !bigEnd);\n                    }\n                    return vals;\n                }\n            case 5:\n                if (numValues === 1) {\n                    numerator = file.getUint32(valueOffset, !bigEnd);\n                    denominator = file.getUint32(valueOffset + 4, !bigEnd);\n                    val = new Fraction(numerator / denominator);\n                    val.numerator = numerator;\n                    val.denominator = denominator;\n                    return val;\n                }\n                else {\n                    vals = [];\n                    for (n = 0; n < numValues; n++) {\n                        numerator = file.getUint32(valueOffset + 8 * n, !bigEnd);\n                        denominator = file.getUint32(valueOffset + 4 + 8 * n, !bigEnd);\n                        vals[n] = new Fraction(numerator / denominator);\n                        vals[n].numerator = numerator;\n                        vals[n].denominator = denominator;\n                    }\n                    return vals;\n                }\n            case 9:\n                if (numValues === 1) {\n                    return file.getInt32(entryOffset + 8, !bigEnd);\n                }\n                else {\n                    vals = [];\n                    for (n = 0; n < numValues; n++) {\n                        vals[n] = file.getInt32(valueOffset + 4 * n, !bigEnd);\n                    }\n                    return vals;\n                }\n            case 10:\n                if (numValues === 1) {\n                    return file.getInt32(valueOffset, !bigEnd) / file.getInt32(valueOffset + 4, !bigEnd);\n                }\n                else {\n                    vals = [];\n                    for (n = 0; n < numValues; n++) {\n                        vals[n] = file.getInt32(valueOffset + 8 * n, !bigEnd) / file.getInt32(valueOffset + 4 + 8 * n, !bigEnd);\n                    }\n                    return vals;\n                }\n            default:\n                break;\n        }\n    };\n    Exif.getStringFromDB = function (buffer, start, length) {\n        var outstr = '';\n        for (var n = start; n < start + length; n++) {\n            outstr += String.fromCharCode(buffer.getUint8(n));\n        }\n        return outstr;\n    };\n    Exif.readEXIFData = function (file, start) {\n        if (Exif.getStringFromDB(file, start, 4) !== 'Exif') {\n            Debug.log('Not valid EXIF data! ' + Exif.getStringFromDB(file, start, 4));\n            return false;\n        }\n        var bigEnd, tags, tag, exifData, gpsData, tiffOffset = start + 6;\n        // test for TIFF validity and endianness\n        if (file.getUint16(tiffOffset) === 0x4949) {\n            bigEnd = false;\n        }\n        else {\n            if (file.getUint16(tiffOffset) === 0x4D4D) {\n                bigEnd = true;\n            }\n            else {\n                Debug.log('Not valid TIFF data! (no 0x4949 or 0x4D4D)');\n                return false;\n            }\n        }\n        if (file.getUint16(tiffOffset + 2, !bigEnd) !== 0x002A) {\n            Debug.log('Not valid TIFF data! (no 0x002A)');\n            return false;\n        }\n        var firstIFDOffset = file.getUint32(tiffOffset + 4, !bigEnd);\n        if (firstIFDOffset < 0x00000008) {\n            Debug.log('Not valid TIFF data! (First offset less than 8)', file.getUint32(tiffOffset + 4, !bigEnd));\n            return false;\n        }\n        tags = Exif.readTags(file, tiffOffset, tiffOffset + firstIFDOffset, Exif.TiffTags, bigEnd);\n        if (tags.ExifIFDPointer) {\n            exifData = Exif.readTags(file, tiffOffset, tiffOffset + tags.ExifIFDPointer, Exif.Tags, bigEnd);\n            for (tag in exifData) {\n                if ({}.hasOwnProperty.call(exifData, tag)) {\n                    switch (tag) {\n                        case 'LightSource':\n                        case 'Flash':\n                        case 'MeteringMode':\n                        case 'ExposureProgram':\n                        case 'SensingMethod':\n                        case 'SceneCaptureType':\n                        case 'SceneType':\n                        case 'CustomRendered':\n                        case 'WhiteBalance':\n                        case 'GainControl':\n                        case 'Contrast':\n                        case 'Saturation':\n                        case 'Sharpness':\n                        case 'SubjectDistanceRange':\n                        case 'FileSource':\n                            exifData[tag] = Exif.StringValues[tag][exifData[tag]];\n                            break;\n                        case 'ExifVersion':\n                        case 'FlashpixVersion':\n                            exifData[tag] = String.fromCharCode(exifData[tag][0], exifData[tag][1], exifData[tag][2], exifData[tag][3]);\n                            break;\n                        case 'ComponentsConfiguration':\n                            var compopents = 'Components';\n                            exifData[tag] = Exif.StringValues[compopents][exifData[tag][0]] + Exif.StringValues[compopents][exifData[tag][1]] + Exif.StringValues[compopents][exifData[tag][2]] + Exif.StringValues[compopents][exifData[tag][3]];\n                            break;\n                        default:\n                            break;\n                    }\n                    tags[tag] = exifData[tag];\n                }\n            }\n        }\n        if (tags.GPSInfoIFDPointer) {\n            gpsData = Exif.readTags(file, tiffOffset, tiffOffset + tags.GPSInfoIFDPointer, Exif.GPSTags, bigEnd);\n            for (tag in gpsData) {\n                if ({}.hasOwnProperty.call(gpsData, tag)) {\n                    switch (tag) {\n                        case 'GPSVersionID':\n                            gpsData[tag] = gpsData[tag][0] + '.' + gpsData[tag][1] + '.' + gpsData[tag][2] + '.' + gpsData[tag][3];\n                            break;\n                        default:\n                            break;\n                    }\n                    tags[tag] = gpsData[tag];\n                }\n            }\n        }\n        return tags;\n    };\n    Exif.getData = function (img, callback) {\n        if ((img instanceof Image || img instanceof HTMLImageElement) && !img.complete) {\n            return false;\n        }\n        if (!Exif.imageHasData(img)) {\n            Exif.getImageData(img, callback);\n        }\n        else {\n            if (callback) {\n                callback.call(img);\n            }\n        }\n        return true;\n    };\n    Exif.getTag = function (img, tag) {\n        if (!Exif.imageHasData(img)) {\n            return;\n        }\n        return img.exifdata[tag];\n    };\n    ;\n    Exif.getAllTags = function (img) {\n        if (!Exif.imageHasData(img)) {\n            return {};\n        }\n        var a, data = img.exifdata, tags = {};\n        for (a in data) {\n            if (data.hasOwnProperty(a)) {\n                tags[a] = data[a];\n            }\n        }\n        return tags;\n    };\n    ;\n    Exif.pretty = function (img) {\n        if (!Exif.imageHasData(img)) {\n            return '';\n        }\n        var a, data = img.exifdata, strPretty = '';\n        for (a in data) {\n            if (data.hasOwnProperty(a)) {\n                if (typeof data[a] === 'object') {\n                    if (data[a] instanceof Number) {\n                        strPretty += a + \" : \" + data[a] + \" [\" + data[a].numerator + \"/\" + data[a].denominator + \"]\\r\\n\";\n                    }\n                    else {\n                        strPretty += a + \" : [\" + data[a].length + \" values]\\r\\n\";\n                    }\n                }\n                else {\n                    strPretty += a + \" : \" + data[a] + \"\\r\\n\";\n                }\n            }\n        }\n        return strPretty;\n    };\n    Exif.readFromBinaryFile = function (file) {\n        return Exif.findEXIFinJPEG(file);\n    };\n    return Exif;\n}());\nExif.debug = false;\nExif.IptcFieldMap = {\n    0x78: 'caption',\n    0x6E: 'credit',\n    0x19: 'keywords',\n    0x37: 'dateCreated',\n    0x50: 'byline',\n    0x55: 'bylineTitle',\n    0x7A: 'captionWriter',\n    0x69: 'headline',\n    0x74: 'copyright',\n    0x0F: 'category'\n};\nExif.Tags = {\n    // version tags\n    0x9000: 'ExifVersion',\n    0xA000: 'FlashpixVersion',\n    // colorspace tags\n    0xA001: 'ColorSpace',\n    // image configuration\n    0xA002: 'PixelXDimension',\n    0xA003: 'PixelYDimension',\n    0x9101: 'ComponentsConfiguration',\n    0x9102: 'CompressedBitsPerPixel',\n    // user information\n    0x927C: 'MakerNote',\n    0x9286: 'UserComment',\n    // related file\n    0xA004: 'RelatedSoundFile',\n    // date and time\n    0x9003: 'DateTimeOriginal',\n    0x9004: 'DateTimeDigitized',\n    0x9290: 'SubsecTime',\n    0x9291: 'SubsecTimeOriginal',\n    0x9292: 'SubsecTimeDigitized',\n    // picture-taking conditions\n    0x829A: 'ExposureTime',\n    0x829D: 'FNumber',\n    0x8822: 'ExposureProgram',\n    0x8824: 'SpectralSensitivity',\n    0x8827: 'ISOSpeedRatings',\n    0x8828: 'OECF',\n    0x9201: 'ShutterSpeedValue',\n    0x9202: 'ApertureValue',\n    0x9203: 'BrightnessValue',\n    0x9204: 'ExposureBias',\n    0x9205: 'MaxApertureValue',\n    0x9206: 'SubjectDistance',\n    0x9207: 'MeteringMode',\n    0x9208: 'LightSource',\n    0x9209: 'Flash',\n    0x9214: 'SubjectArea',\n    0x920A: 'FocalLength',\n    0xA20B: 'FlashEnergy',\n    0xA20C: 'SpatialFrequencyResponse',\n    0xA20E: 'FocalPlaneXResolution',\n    0xA20F: 'FocalPlaneYResolution',\n    0xA210: 'FocalPlaneResolutionUnit',\n    0xA214: 'SubjectLocation',\n    0xA215: 'ExposureIndex',\n    0xA217: 'SensingMethod',\n    0xA300: 'FileSource',\n    0xA301: 'SceneType',\n    0xA302: 'CFAPattern',\n    0xA401: 'CustomRendered',\n    0xA402: 'ExposureMode',\n    0xA403: 'WhiteBalance',\n    0xA404: 'DigitalZoomRation',\n    0xA405: 'FocalLengthIn35mmFilm',\n    0xA406: 'SceneCaptureType',\n    0xA407: 'GainControl',\n    0xA408: 'Contrast',\n    0xA409: 'Saturation',\n    0xA40A: 'Sharpness',\n    0xA40B: 'DeviceSettingDescription',\n    0xA40C: 'SubjectDistanceRange',\n    // other tags\n    0xA005: 'InteroperabilityIFDPointer', 0xA420: 'ImageUniqueID' // Identifier assigned uniquely to each image\n};\nExif.TiffTags = {\n    0x0100: 'ImageWidth',\n    0x0101: 'ImageHeight',\n    0x8769: 'ExifIFDPointer',\n    0x8825: 'GPSInfoIFDPointer',\n    0xA005: 'InteroperabilityIFDPointer',\n    0x0102: 'BitsPerSample',\n    0x0103: 'Compression',\n    0x0106: 'PhotometricInterpretation',\n    0x0112: 'Orientation',\n    0x0115: 'SamplesPerPixel',\n    0x011C: 'PlanarConfiguration',\n    0x0212: 'YCbCrSubSampling',\n    0x0213: 'YCbCrPositioning',\n    0x011A: 'XResolution',\n    0x011B: 'YResolution',\n    0x0128: 'ResolutionUnit',\n    0x0111: 'StripOffsets',\n    0x0116: 'RowsPerStrip',\n    0x0117: 'StripByteCounts',\n    0x0201: 'JPEGInterchangeFormat',\n    0x0202: 'JPEGInterchangeFormatLength',\n    0x012D: 'TransferFunction',\n    0x013E: 'WhitePoint',\n    0x013F: 'PrimaryChromaticities',\n    0x0211: 'YCbCrCoefficients',\n    0x0214: 'ReferenceBlackWhite',\n    0x0132: 'DateTime',\n    0x010E: 'ImageDescription',\n    0x010F: 'Make',\n    0x0110: 'Model',\n    0x0131: 'Software',\n    0x013B: 'Artist',\n    0x8298: 'Copyright'\n};\nExif.GPSTags = {\n    0x0000: 'GPSVersionID',\n    0x0001: 'GPSLatitudeRef',\n    0x0002: 'GPSLatitude',\n    0x0003: 'GPSLongitudeRef',\n    0x0004: 'GPSLongitude',\n    0x0005: 'GPSAltitudeRef',\n    0x0006: 'GPSAltitude',\n    0x0007: 'GPSTimeStamp',\n    0x0008: 'GPSSatellites',\n    0x0009: 'GPSStatus',\n    0x000A: 'GPSMeasureMode',\n    0x000B: 'GPSDOP',\n    0x000C: 'GPSSpeedRef',\n    0x000D: 'GPSSpeed',\n    0x000E: 'GPSTrackRef',\n    0x000F: 'GPSTrack',\n    0x0010: 'GPSImgDirectionRef',\n    0x0011: 'GPSImgDirection',\n    0x0012: 'GPSMapDatum',\n    0x0013: 'GPSDestLatitudeRef',\n    0x0014: 'GPSDestLatitude',\n    0x0015: 'GPSDestLongitudeRef',\n    0x0016: 'GPSDestLongitude',\n    0x0017: 'GPSDestBearingRef',\n    0x0018: 'GPSDestBearing',\n    0x0019: 'GPSDestDistanceRef',\n    0x001A: 'GPSDestDistance',\n    0x001B: 'GPSProcessingMethod',\n    0x001C: 'GPSAreaInformation',\n    0x001D: 'GPSDateStamp',\n    0x001E: 'GPSDifferential'\n};\nExif.StringValues = {\n    ExposureProgram: {\n        0: 'Not defined',\n        1: 'Manual',\n        2: 'Normal program',\n        3: 'Aperture priority',\n        4: 'Shutter priority',\n        5: 'Creative program',\n        6: 'Action program',\n        7: 'Portrait mode',\n        8: 'Landscape mode'\n    }, MeteringMode: {\n        0: 'Unknown',\n        1: 'Average',\n        2: 'CenterWeightedAverage',\n        3: 'Spot',\n        4: 'MultiSpot',\n        5: 'Pattern',\n        6: 'Partial',\n        255: 'Other'\n    }, LightSource: {\n        0: 'Unknown',\n        1: 'Daylight',\n        2: 'Fluorescent',\n        3: 'Tungsten (incandescent light)',\n        4: 'Flash',\n        9: 'Fine weather',\n        10: 'Cloudy weather',\n        11: 'Shade',\n        12: 'Daylight fluorescent (D 5700 - 7100K)',\n        13: 'Day white fluorescent (N 4600 - 5400K)',\n        14: 'Cool white fluorescent (W 3900 - 4500K)',\n        15: 'White fluorescent (WW 3200 - 3700K)',\n        17: 'Standard light A',\n        18: 'Standard light B',\n        19: 'Standard light C',\n        20: 'D55',\n        21: 'D65',\n        22: 'D75',\n        23: 'D50',\n        24: 'ISO studio tungsten',\n        255: 'Other'\n    }, Flash: {\n        0x0000: 'Flash did not fire',\n        0x0001: 'Flash fired',\n        0x0005: 'Strobe return light not detected',\n        0x0007: 'Strobe return light detected',\n        0x0009: 'Flash fired, compulsory flash mode',\n        0x000D: 'Flash fired, compulsory flash mode, return light not detected',\n        0x000F: 'Flash fired, compulsory flash mode, return light detected',\n        0x0010: 'Flash did not fire, compulsory flash mode',\n        0x0018: 'Flash did not fire, auto mode',\n        0x0019: 'Flash fired, auto mode',\n        0x001D: 'Flash fired, auto mode, return light not detected',\n        0x001F: 'Flash fired, auto mode, return light detected',\n        0x0020: 'No flash function',\n        0x0041: 'Flash fired, red-eye reduction mode',\n        0x0045: 'Flash fired, red-eye reduction mode, return light not detected',\n        0x0047: 'Flash fired, red-eye reduction mode, return light detected',\n        0x0049: 'Flash fired, compulsory flash mode, red-eye reduction mode',\n        0x004D: 'Flash fired, compulsory flash mode, red-eye reduction mode, return light not detected',\n        0x004F: 'Flash fired, compulsory flash mode, red-eye reduction mode, return light detected',\n        0x0059: 'Flash fired, auto mode, red-eye reduction mode',\n        0x005D: 'Flash fired, auto mode, return light not detected, red-eye reduction mode',\n        0x005F: 'Flash fired, auto mode, return light detected, red-eye reduction mode'\n    }, SensingMethod: {\n        1: 'Not defined',\n        2: 'One-chip color area sensor',\n        3: 'Two-chip color area sensor',\n        4: 'Three-chip color area sensor',\n        5: 'Color sequential area sensor',\n        7: 'Trilinear sensor',\n        8: 'Color sequential linear sensor'\n    }, SceneCaptureType: {\n        0: 'Standard', 1: 'Landscape', 2: 'Portrait', 3: 'Night scene'\n    }, SceneType: {\n        1: 'Directly photographed'\n    }, CustomRendered: {\n        0: 'Normal process', 1: 'Custom process'\n    }, WhiteBalance: {\n        0: 'Auto white balance', 1: 'Manual white balance'\n    }, GainControl: {\n        0: 'None', 1: 'Low gain up', 2: 'High gain up', 3: 'Low gain down', 4: 'High gain down'\n    }, Contrast: {\n        0: 'Normal', 1: 'Soft', 2: 'Hard'\n    }, Saturation: {\n        0: 'Normal', 1: 'Low saturation', 2: 'High saturation'\n    }, Sharpness: {\n        0: 'Normal', 1: 'Soft', 2: 'Hard'\n    }, SubjectDistanceRange: {\n        0: 'Unknown', 1: 'Macro', 2: 'Close view', 3: 'Distant view'\n    }, FileSource: {\n        3: 'DSC'\n    },\n    Components: {\n        0: '', 1: 'Y', 2: 'Cb', 3: 'Cr', 4: 'R', 5: 'G', 6: 'B'\n    }\n};\nexports.Exif = Exif;\n//# sourceMappingURL=exif.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-img-cropper/src/exif.js\n// module id = 1447\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ImageCropperDataShare = (function () {\n    function ImageCropperDataShare() {\n    }\n    ImageCropperDataShare.setPressed = function (canvas) {\n        this.pressed = canvas;\n    };\n    ;\n    ImageCropperDataShare.setReleased = function (canvas) {\n        if (canvas === this.pressed) {\n            //  this.pressed = undefined;\n        }\n    };\n    ;\n    ImageCropperDataShare.setOver = function (canvas) {\n        this.over = canvas;\n    };\n    ;\n    ImageCropperDataShare.setStyle = function (canvas, style) {\n        if (this.pressed !== undefined) {\n            if (this.pressed === canvas) {\n                // TODO: check this\n                // angular.element(document.documentElement).css('cursor', style);\n            }\n        }\n        else {\n            if (canvas === this.over) {\n                // TODO: check this\n                // angular.element(document.documentElement).css('cursor', style);\n            }\n        }\n    };\n    ;\n    return ImageCropperDataShare;\n}());\nImageCropperDataShare.share = {};\nexports.ImageCropperDataShare = ImageCropperDataShare;\n//# sourceMappingURL=imageCropperDataShare.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-img-cropper/src/imageCropperDataShare.js\n// module id = 1448\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar common_1 = require(\"@angular/common\");\nvar core_1 = require(\"@angular/core\");\nvar imageCropperComponent_1 = require(\"./imageCropperComponent\");\nvar ImageCropperModule = (function () {\n    function ImageCropperModule() {\n    }\n    return ImageCropperModule;\n}());\nImageCropperModule.decorators = [\n    { type: core_1.NgModule, args: [{\n                imports: [common_1.CommonModule],\n                declarations: [imageCropperComponent_1.ImageCropperComponent],\n                exports: [imageCropperComponent_1.ImageCropperComponent]\n            },] },\n];\n/** @nocollapse */\nImageCropperModule.ctorParameters = function () { return []; };\nexports.ImageCropperModule = ImageCropperModule;\n//# sourceMappingURL=imageCropperModule.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-img-cropper/src/imageCropperModule.js\n// module id = 1449\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar handle_1 = require(\"./handle\");\nvar CornerMarker = (function (_super) {\n    __extends(CornerMarker, _super);\n    function CornerMarker(x, y, radius, cropperSettings) {\n        return _super.call(this, x, y, radius, cropperSettings) || this;\n    }\n    CornerMarker.prototype.drawCornerBorder = function (ctx) {\n        var sideLength = 10;\n        if (this.over || this.drag) {\n            sideLength = 12;\n        }\n        var hDirection = 1;\n        var vDirection = 1;\n        if (this.horizontalNeighbour.position.x < this.position.x) {\n            hDirection = -1;\n        }\n        if (this.verticalNeighbour.position.y < this.position.y) {\n            vDirection = -1;\n        }\n        if (this.cropperSettings.rounded) {\n            var width = this.position.x - this.horizontalNeighbour.position.x;\n            var height = this.position.y - this.verticalNeighbour.position.y;\n            var offX = Math.round(Math.sin(Math.PI / 2) * Math.abs(width / 2)) / 4;\n            var offY = Math.round(Math.sin(Math.PI / 2) * Math.abs(height / 2)) / 4;\n            this.offset.x = hDirection > 0 ? offX : -offX;\n            this.offset.y = vDirection > 0 ? offY : -offY;\n        }\n        else {\n            this.offset.x = 0;\n            this.offset.y = 0;\n        }\n        ctx.beginPath();\n        ctx.lineJoin = 'miter';\n        ctx.moveTo(this.position.x + this.offset.x, this.position.y + this.offset.y);\n        ctx.lineTo(this.position.x + this.offset.x + (sideLength * hDirection), this.position.y + this.offset.y);\n        ctx.lineTo(this.position.x + this.offset.x + (sideLength * hDirection), this.position.y + this.offset.y +\n            (sideLength * vDirection));\n        ctx.lineTo(this.position.x + this.offset.x, this.position.y + this.offset.y + (sideLength * vDirection));\n        ctx.lineTo(this.position.x + this.offset.x, this.position.y + this.offset.y);\n        ctx.closePath();\n        ctx.lineWidth = this.cropperSettings.cropperDrawSettings.strokeWidth;\n        ctx.strokeStyle = this.cropperSettings.cropperDrawSettings.strokeColor;\n        ctx.stroke();\n    };\n    CornerMarker.prototype.drawCornerFill = function (ctx) {\n        var sideLength = 10;\n        if (this.over || this.drag) {\n            sideLength = 12;\n        }\n        var hDirection = 1;\n        var vDirection = 1;\n        if (this.horizontalNeighbour.position.x < this.position.x) {\n            hDirection = -1;\n        }\n        if (this.verticalNeighbour.position.y < this.position.y) {\n            vDirection = -1;\n        }\n        ctx.beginPath();\n        ctx.moveTo(this.position.x + this.offset.x, this.position.y + this.offset.y);\n        ctx.lineTo(this.position.x + this.offset.x + (sideLength * hDirection), this.position.y + this.offset.y);\n        ctx.lineTo(this.position.x + this.offset.x + (sideLength * hDirection), this.position.y + this.offset.y +\n            (sideLength * vDirection));\n        ctx.lineTo(this.position.x + this.offset.x, this.position.y + this.offset.y + (sideLength * vDirection));\n        ctx.lineTo(this.position.x + this.offset.x, this.position.y + this.offset.y);\n        ctx.closePath();\n        ctx.fillStyle = 'rgba(255,255,255,.7)';\n        ctx.fill();\n    };\n    CornerMarker.prototype.moveX = function (x) {\n        this.setPosition(x, this.position.y);\n    };\n    CornerMarker.prototype.moveY = function (y) {\n        this.setPosition(this.position.x, y);\n    };\n    CornerMarker.prototype.move = function (x, y) {\n        this.setPosition(x, y);\n        this.verticalNeighbour.moveX(x);\n        this.horizontalNeighbour.moveY(y);\n    };\n    CornerMarker.prototype.addHorizontalNeighbour = function (neighbour) {\n        this.horizontalNeighbour = neighbour;\n    };\n    CornerMarker.prototype.addVerticalNeighbour = function (neighbour) {\n        this.verticalNeighbour = neighbour;\n    };\n    CornerMarker.prototype.getHorizontalNeighbour = function () {\n        return this.horizontalNeighbour;\n    };\n    CornerMarker.prototype.getVerticalNeighbour = function () {\n        return this.verticalNeighbour;\n    };\n    CornerMarker.prototype.draw = function (ctx) {\n        this.drawCornerFill(ctx);\n        this.drawCornerBorder(ctx);\n    };\n    return CornerMarker;\n}(handle_1.Handle));\nexports.CornerMarker = CornerMarker;\n//# sourceMappingURL=cornerMarker.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-img-cropper/src/model/cornerMarker.js\n// module id = 1450\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar CropTouch = (function () {\n    function CropTouch(x, y, id) {\n        if (x === void 0) { x = 0; }\n        if (y === void 0) { y = 0; }\n        if (id === void 0) { id = 0; }\n        this.id = id;\n        this.x = x;\n        this.y = y;\n    }\n    return CropTouch;\n}());\nexports.CropTouch = CropTouch;\n//# sourceMappingURL=cropTouch.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-img-cropper/src/model/cropTouch.js\n// module id = 1451\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar handle_1 = require(\"./handle\");\nvar pointPool_1 = require(\"./pointPool\");\nvar DragMarker = (function (_super) {\n    __extends(DragMarker, _super);\n    function DragMarker(x, y, radius, cropperSettings) {\n        var _this = _super.call(this, x, y, radius, cropperSettings) || this;\n        _this.iconPoints = [];\n        _this.scaledIconPoints = [];\n        _this.getDragIconPoints(_this.iconPoints, 1);\n        _this.getDragIconPoints(_this.scaledIconPoints, 1.2);\n        return _this;\n    }\n    DragMarker.prototype.draw = function (ctx) {\n        if (this.over || this.drag) {\n            this.drawIcon(ctx, this.scaledIconPoints);\n        }\n        else {\n            this.drawIcon(ctx, this.iconPoints);\n        }\n    };\n    DragMarker.prototype.getDragIconPoints = function (arr, scale) {\n        var maxLength = 17 * scale;\n        var arrowWidth = 14 * scale;\n        var arrowLength = 8 * scale;\n        var connectorThroat = 4 * scale;\n        arr.push(pointPool_1.PointPool.instance.borrow(-connectorThroat / 2, maxLength - arrowLength));\n        arr.push(pointPool_1.PointPool.instance.borrow(-arrowWidth / 2, maxLength - arrowLength));\n        arr.push(pointPool_1.PointPool.instance.borrow(0, maxLength));\n        arr.push(pointPool_1.PointPool.instance.borrow(arrowWidth / 2, maxLength - arrowLength));\n        arr.push(pointPool_1.PointPool.instance.borrow(connectorThroat / 2, maxLength - arrowLength));\n        arr.push(pointPool_1.PointPool.instance.borrow(connectorThroat / 2, connectorThroat / 2));\n        arr.push(pointPool_1.PointPool.instance.borrow(maxLength - arrowLength, connectorThroat / 2));\n        arr.push(pointPool_1.PointPool.instance.borrow(maxLength - arrowLength, arrowWidth / 2));\n        arr.push(pointPool_1.PointPool.instance.borrow(maxLength, 0));\n        arr.push(pointPool_1.PointPool.instance.borrow(maxLength - arrowLength, -arrowWidth / 2));\n        arr.push(pointPool_1.PointPool.instance.borrow(maxLength - arrowLength, -connectorThroat / 2));\n        arr.push(pointPool_1.PointPool.instance.borrow(connectorThroat / 2, -connectorThroat / 2));\n        arr.push(pointPool_1.PointPool.instance.borrow(connectorThroat / 2, -maxLength + arrowLength));\n        arr.push(pointPool_1.PointPool.instance.borrow(arrowWidth / 2, -maxLength + arrowLength));\n        arr.push(pointPool_1.PointPool.instance.borrow(0, -maxLength));\n        arr.push(pointPool_1.PointPool.instance.borrow(-arrowWidth / 2, -maxLength + arrowLength));\n        arr.push(pointPool_1.PointPool.instance.borrow(-connectorThroat / 2, -maxLength + arrowLength));\n        arr.push(pointPool_1.PointPool.instance.borrow(-connectorThroat / 2, -connectorThroat / 2));\n        arr.push(pointPool_1.PointPool.instance.borrow(-maxLength + arrowLength, -connectorThroat / 2));\n        arr.push(pointPool_1.PointPool.instance.borrow(-maxLength + arrowLength, -arrowWidth / 2));\n        arr.push(pointPool_1.PointPool.instance.borrow(-maxLength, 0));\n        arr.push(pointPool_1.PointPool.instance.borrow(-maxLength + arrowLength, arrowWidth / 2));\n        arr.push(pointPool_1.PointPool.instance.borrow(-maxLength + arrowLength, connectorThroat / 2));\n        arr.push(pointPool_1.PointPool.instance.borrow(-connectorThroat / 2, connectorThroat / 2));\n    };\n    DragMarker.prototype.drawIcon = function (ctx, points) {\n        ctx.beginPath();\n        ctx.moveTo(points[0].x + this.position.x, points[0].y + this.position.y);\n        for (var k = 0; k < points.length; k++) {\n            var p = points[k];\n            ctx.lineTo(p.x + this.position.x, p.y + this.position.y);\n        }\n        ctx.closePath();\n        ctx.fillStyle = this.cropperSettings.cropperDrawSettings.dragIconFillColor;\n        ctx.fill();\n        ctx.lineWidth = this.cropperSettings.cropperDrawSettings.dragIconStrokeWidth;\n        ctx.strokeStyle = this.cropperSettings.cropperDrawSettings.dragIconStrokeColor;\n        ctx.stroke();\n    };\n    DragMarker.prototype.recalculatePosition = function (bounds) {\n        var c = bounds.getCentre();\n        this.setPosition(c.x, c.y);\n        pointPool_1.PointPool.instance.returnPoint(c);\n    };\n    return DragMarker;\n}(handle_1.Handle));\nexports.DragMarker = DragMarker;\n//# sourceMappingURL=dragMarker.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-img-cropper/src/model/dragMarker.js\n// module id = 1452\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ImageCropperModel = (function () {\n    function ImageCropperModel() {\n    }\n    return ImageCropperModel;\n}());\nexports.ImageCropperModel = ImageCropperModel;\n//# sourceMappingURL=imageCropperModel.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-img-cropper/src/model/imageCropperModel.js\n// module id = 1453\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar pdf_viewer_component_1 = require(\"./pdf-viewer.component\");\nexports.PdfViewerComponent = pdf_viewer_component_1.PdfViewerComponent;\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-pdf-viewer/dist/index.js\n// module id = 1454\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar core_1 = require(\"@angular/core\");\nrequire(\"pdfjs-dist/build/pdf.combined\");\nPDFJS.verbosity = PDFJS.VERBOSITY_LEVELS.errors;\nvar PdfViewerComponent = (function () {\n    function PdfViewerComponent(element) {\n        this.element = element;\n        this._showAll = false;\n        this._renderText = true;\n        this._originalSize = true;\n        this._page = 1;\n        this._zoom = 1;\n        this._rotation = 0;\n        this.afterLoadComplete = new core_1.EventEmitter();\n        this.onError = new core_1.EventEmitter();\n        this.pageChange = new core_1.EventEmitter(true);\n    }\n    Object.defineProperty(PdfViewerComponent.prototype, \"page\", {\n        set: function (_page) {\n            _page = parseInt(_page, 10);\n            if (this._pdf && !this.isValidPageNumber(_page)) {\n                _page = 1;\n            }\n            if (this._page !== _page) {\n                this._page = _page;\n                this.pageChange.emit(_page);\n            }\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(PdfViewerComponent.prototype, \"renderText\", {\n        set: function (renderText) {\n            this._renderText = renderText;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(PdfViewerComponent.prototype, \"originalSize\", {\n        set: function (originalSize) {\n            this._originalSize = originalSize;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(PdfViewerComponent.prototype, \"showAll\", {\n        set: function (value) {\n            this._showAll = value;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(PdfViewerComponent.prototype, \"zoom\", {\n        get: function () {\n            return this._zoom;\n        },\n        set: function (value) {\n            if (value <= 0) {\n                return;\n            }\n            this._zoom = value;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(PdfViewerComponent.prototype, \"rotation\", {\n        set: function (value) {\n            if (!(typeof value === 'number' && value % 90 === 0)) {\n                console.warn('Invalid pages rotation angle.');\n                return;\n            }\n            this._rotation = value;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    PdfViewerComponent.prototype.ngOnChanges = function (changes) {\n        if ('src' in changes) {\n            this.loadPDF();\n        }\n        else if (this._pdf) {\n            this.update();\n        }\n    };\n    PdfViewerComponent.prototype.loadPDF = function () {\n        var _this = this;\n        if (!this.src) {\n            return;\n        }\n        PDFJS.getDocument(this.src)\n            .then(function (pdf) {\n            _this._pdf = pdf;\n            _this.afterLoadComplete.emit(pdf);\n            _this.update();\n        }, function (error) {\n            _this.onError.emit(error);\n        });\n    };\n    PdfViewerComponent.prototype.update = function () {\n        this.page = this._page;\n        if (!this._showAll) {\n            this.renderPage(this._page);\n        }\n        else {\n            this.renderMultiplePages();\n        }\n    };\n    PdfViewerComponent.prototype.renderMultiplePages = function () {\n        var _this = this;\n        var container = this.element.nativeElement.querySelector('div');\n        this.removeAllChildNodes(container);\n        var render = function (page) {\n            _this.renderPage(page).then(function () {\n                if (page < _this._pdf.numPages) {\n                    render(page + 1);\n                }\n            });\n        };\n        render(1);\n    };\n    PdfViewerComponent.prototype.isValidPageNumber = function (page) {\n        return this._pdf.numPages >= page && page >= 1;\n    };\n    PdfViewerComponent.prototype.renderPage = function (pageNumber) {\n        var _this = this;\n        return this._pdf.getPage(pageNumber).then(function (page) {\n            var viewport = page.getViewport(_this._zoom, _this._rotation);\n            var container = _this.element.nativeElement.querySelector('div');\n            if (!_this._originalSize) {\n                viewport = page.getViewport(_this.element.nativeElement.offsetWidth / viewport.width, _this._rotation);\n            }\n            if (!_this._showAll) {\n                _this.removeAllChildNodes(container);\n            }\n            return page.getOperatorList().then(function (opList) {\n                var svgGfx = new PDFJS.SVGGraphics(page.commonObjs, page.objs);\n                return svgGfx.getSVG(opList, viewport).then(function (svg) {\n                    var $div = document.createElement('div');\n                    $div.classList.add('page');\n                    $div.setAttribute('data-page-number', \"\" + page.pageNumber);\n                    $div.appendChild(svg);\n                    container.appendChild($div);\n                });\n            });\n        });\n    };\n    PdfViewerComponent.prototype.removeAllChildNodes = function (element) {\n        while (element.firstChild) {\n            element.removeChild(element.firstChild);\n        }\n    };\n    return PdfViewerComponent;\n}());\nPdfViewerComponent.decorators = [\n    { type: core_1.Component, args: [{\n                selector: 'pdf-viewer',\n                template: \"<div class=\\\"ng2-pdf-viewer-container\\\" [ngClass]=\\\"{'ng2-pdf-viewer--zoom': zoom < 1}\\\"></div>\",\n                styles: [\"\\n.ng2-pdf-viewer--zoom {\\n  overflow-x: scroll;\\n}\\n\\n:host >>> .ng2-pdf-viewer-container .page {\\n  background-color: #fff;\\n}\\n  \"]\n            },] },\n];\nPdfViewerComponent.ctorParameters = function () { return [\n    { type: core_1.ElementRef, },\n]; };\nPdfViewerComponent.propDecorators = {\n    'afterLoadComplete': [{ type: core_1.Output, args: ['after-load-complete',] },],\n    'onError': [{ type: core_1.Output, args: ['error',] },],\n    'src': [{ type: core_1.Input },],\n    'page': [{ type: core_1.Input },],\n    'pageChange': [{ type: core_1.Output },],\n    'renderText': [{ type: core_1.Input, args: ['render-text',] },],\n    'originalSize': [{ type: core_1.Input, args: ['original-size',] },],\n    'showAll': [{ type: core_1.Input, args: ['show-all',] },],\n    'zoom': [{ type: core_1.Input, args: ['zoom',] },],\n    'rotation': [{ type: core_1.Input, args: ['rotation',] },],\n};\nexports.PdfViewerComponent = PdfViewerComponent;\n//# sourceMappingURL=pdf-viewer.component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-pdf-viewer/dist/pdf-viewer.component.js\n// module id = 1455\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar core_1 = require(\"@angular/core\");\nvar common_1 = require(\"@angular/common\");\nvar toast_container_component_1 = require(\"./toast-container.component\");\nvar toast_manager_1 = require(\"./toast-manager\");\nvar toast_options_1 = require(\"./toast-options\");\nvar ToastModule = (function () {\n    function ToastModule() {\n    }\n    ToastModule.forRoot = function (config) {\n        return {\n            ngModule: ToastModule,\n            providers: config ? [\n                { provide: toast_options_1.ToastOptions, useValue: config },\n                toast_manager_1.ToastsManager,\n            ] : [toast_manager_1.ToastsManager],\n        };\n    };\n    return ToastModule;\n}());\nToastModule.decorators = [\n    { type: core_1.NgModule, args: [{\n                imports: [common_1.CommonModule],\n                declarations: [toast_container_component_1.ToastContainer],\n                exports: [toast_container_component_1.ToastContainer],\n                entryComponents: [toast_container_component_1.ToastContainer]\n            },] },\n];\n/** @nocollapse */\nToastModule.ctorParameters = function () { return []; };\nexports.ToastModule = ToastModule;\n//# sourceMappingURL=toast.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-toastr/src/toast.module.js\n// module id = 1456\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar core_1 = require(\"@angular/core\");\nvar forms_1 = require(\"@angular/forms\");\nvar _1 = require(\"./\");\nvar BASE64_VALIDATOR = {\n    provide: forms_1.NG_VALIDATORS,\n    useExisting: core_1.forwardRef(function () { return Base64Validator; }),\n    multi: true\n};\nvar Base64Validator = (function () {\n    function Base64Validator() {\n    }\n    Base64Validator.prototype.validate = function (c) {\n        return _1.base64(c);\n    };\n    return Base64Validator;\n}());\nBase64Validator.decorators = [\n    { type: core_1.Directive, args: [{\n                selector: '[base64][formControlName],[base64][formControl],[base64][ngModel]',\n                providers: [BASE64_VALIDATOR]\n            },] },\n];\n/** @nocollapse */\nBase64Validator.ctorParameters = function () { return []; };\nexports.Base64Validator = Base64Validator;\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/base64/directive.js\n// module id = 1457\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar forms_1 = require(\"@angular/forms\");\nvar lang_1 = require(\"../util/lang\");\nexports.base64 = function (control) {\n    if (lang_1.isPresent(forms_1.Validators.required(control)))\n        return null;\n    var v = control.value;\n    return /^(?:[A-Z0-9+\\/]{4})*(?:[A-Z0-9+\\/]{2}==|[A-Z0-9+\\/]{3}=|[A-Z0-9+\\/]{4})$/i.test(v) ? null : { 'base64': true };\n};\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/base64/validator.js\n// module id = 1458\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar core_1 = require(\"@angular/core\");\nvar forms_1 = require(\"@angular/forms\");\nvar _1 = require(\"./\");\nvar CREDIT_CARD_VALIDATOR = {\n    provide: forms_1.NG_VALIDATORS,\n    useExisting: core_1.forwardRef(function () { return CreditCardValidator; }),\n    multi: true\n};\nvar CreditCardValidator = (function () {\n    function CreditCardValidator() {\n    }\n    CreditCardValidator.prototype.validate = function (c) {\n        return _1.creditCard(c);\n    };\n    return CreditCardValidator;\n}());\nCreditCardValidator.decorators = [\n    { type: core_1.Directive, args: [{\n                selector: '[creditCard][formControlName],[creditCard][formControl],[creditCard][ngModel]',\n                providers: [CREDIT_CARD_VALIDATOR]\n            },] },\n];\n/** @nocollapse */\nCreditCardValidator.ctorParameters = function () { return []; };\nexports.CreditCardValidator = CreditCardValidator;\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/credit-card/directive.js\n// module id = 1459\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar forms_1 = require(\"@angular/forms\");\nvar lang_1 = require(\"../util/lang\");\nexports.creditCard = function (control) {\n    if (lang_1.isPresent(forms_1.Validators.required(control)))\n        return null;\n    var v = control.value;\n    var sanitized = v.replace(/[^0-9]+/g, '');\n    // problem with chrome\n    if (!(/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\\d{3})\\d{11})$/.test(sanitized))) {\n        return { creditCard: true };\n    }\n    var sum = 0;\n    var digit;\n    var tmpNum;\n    var shouldDouble;\n    for (var i = sanitized.length - 1; i >= 0; i--) {\n        digit = sanitized.substring(i, (i + 1));\n        tmpNum = parseInt(digit, 10);\n        if (shouldDouble) {\n            tmpNum *= 2;\n            if (tmpNum >= 10) {\n                sum += ((tmpNum % 10) + 1);\n            }\n            else {\n                sum += tmpNum;\n            }\n        }\n        else {\n            sum += tmpNum;\n        }\n        shouldDouble = !shouldDouble;\n    }\n    if (Boolean((sum % 10) === 0 ? sanitized : false)) {\n        return null;\n    }\n    return { creditCard: true };\n};\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/credit-card/validator.js\n// module id = 1460\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar core_1 = require(\"@angular/core\");\nvar forms_1 = require(\"@angular/forms\");\nvar _1 = require(\"./\");\nvar DATE_ISO_VALIDATOR = {\n    provide: forms_1.NG_VALIDATORS,\n    useExisting: core_1.forwardRef(function () { return DateISOValidator; }),\n    multi: true\n};\nvar DateISOValidator = (function () {\n    function DateISOValidator() {\n    }\n    DateISOValidator.prototype.validate = function (c) {\n        return _1.dateISO(c);\n    };\n    return DateISOValidator;\n}());\nDateISOValidator.decorators = [\n    { type: core_1.Directive, args: [{\n                selector: '[dateISO][formControlName],[dateISO][formControl],[dateISO][ngModel]',\n                providers: [DATE_ISO_VALIDATOR]\n            },] },\n];\n/** @nocollapse */\nDateISOValidator.ctorParameters = function () { return []; };\nexports.DateISOValidator = DateISOValidator;\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/date-ios/directive.js\n// module id = 1461\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar forms_1 = require(\"@angular/forms\");\nvar lang_1 = require(\"../util/lang\");\nexports.dateISO = function (control) {\n    if (lang_1.isPresent(forms_1.Validators.required(control)))\n        return null;\n    var v = control.value;\n    return /^\\d{4}[\\/\\-](0?[1-9]|1[012])[\\/\\-](0?[1-9]|[12][0-9]|3[01])$/.test(v) ? null : { dateISO: true };\n};\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/date-ios/validator.js\n// module id = 1462\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar core_1 = require(\"@angular/core\");\nvar forms_1 = require(\"@angular/forms\");\nvar _1 = require(\"./\");\nvar DATE_VALIDATOR = {\n    provide: forms_1.NG_VALIDATORS,\n    useExisting: core_1.forwardRef(function () { return DateValidator; }),\n    multi: true\n};\nvar DateValidator = (function () {\n    function DateValidator() {\n    }\n    DateValidator.prototype.validate = function (c) {\n        return _1.date(c);\n    };\n    return DateValidator;\n}());\nDateValidator.decorators = [\n    { type: core_1.Directive, args: [{\n                selector: '[date][formControlName],[date][formControl],[date][ngModel]',\n                providers: [DATE_VALIDATOR]\n            },] },\n];\n/** @nocollapse */\nDateValidator.ctorParameters = function () { return []; };\nexports.DateValidator = DateValidator;\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/date/directive.js\n// module id = 1463\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar forms_1 = require(\"@angular/forms\");\nvar lang_1 = require(\"../util/lang\");\nexports.date = function (control) {\n    if (lang_1.isPresent(forms_1.Validators.required(control)))\n        return null;\n    var v = control.value;\n    return lang_1.isDate(v) ? null : { date: true };\n};\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/date/validator.js\n// module id = 1464\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar core_1 = require(\"@angular/core\");\nvar forms_1 = require(\"@angular/forms\");\nvar _1 = require(\"./\");\nvar DIGITS_VALIDATOR = {\n    provide: forms_1.NG_VALIDATORS,\n    useExisting: core_1.forwardRef(function () { return DigitsValidator; }),\n    multi: true\n};\nvar DigitsValidator = (function () {\n    function DigitsValidator() {\n    }\n    DigitsValidator.prototype.validate = function (c) {\n        return _1.digits(c);\n    };\n    return DigitsValidator;\n}());\nDigitsValidator.decorators = [\n    { type: core_1.Directive, args: [{\n                selector: '[digits][formControlName],[digits][formControl],[digits][ngModel]',\n                providers: [DIGITS_VALIDATOR]\n            },] },\n];\n/** @nocollapse */\nDigitsValidator.ctorParameters = function () { return []; };\nexports.DigitsValidator = DigitsValidator;\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/digits/directive.js\n// module id = 1465\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar forms_1 = require(\"@angular/forms\");\nvar lang_1 = require(\"../util/lang\");\nexports.digits = function (control) {\n    if (lang_1.isPresent(forms_1.Validators.required(control)))\n        return null;\n    var v = control.value;\n    return /^\\d+$/.test(v) ? null : { digits: true };\n};\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/digits/validator.js\n// module id = 1466\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar core_1 = require(\"@angular/core\");\nvar forms_1 = require(\"@angular/forms\");\nvar index_1 = require(\"./index\");\nvar EMAIL_VALIDATOR = {\n    provide: forms_1.NG_VALIDATORS,\n    useExisting: core_1.forwardRef(function () { return EmailValidator; }),\n    multi: true\n};\nvar EmailValidator = (function () {\n    function EmailValidator() {\n    }\n    EmailValidator.prototype.validate = function (c) {\n        return index_1.email(c);\n    };\n    return EmailValidator;\n}());\nEmailValidator.decorators = [\n    { type: core_1.Directive, args: [{\n                selector: '[email][formControlName],[email][formControl],[email][ngModel]',\n                providers: [EMAIL_VALIDATOR]\n            },] },\n];\n/** @nocollapse */\nEmailValidator.ctorParameters = function () { return []; };\nexports.EmailValidator = EmailValidator;\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/email/directive.js\n// module id = 1467\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar forms_1 = require(\"@angular/forms\");\nvar lang_1 = require(\"../util/lang\");\nexports.email = function (control) {\n    if (lang_1.isPresent(forms_1.Validators.required(control)))\n        return null;\n    var v = control.value;\n    return /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/.test(v) ? null : { 'email': true };\n};\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/email/validator.js\n// module id = 1468\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar core_1 = require(\"@angular/core\");\nvar forms_1 = require(\"@angular/forms\");\nvar _1 = require(\"./\");\nvar EQUAL_TO_VALIDATOR = {\n    provide: forms_1.NG_VALIDATORS,\n    useExisting: core_1.forwardRef(function () { return EqualToValidator; }),\n    multi: true\n};\nvar EqualToValidator = (function () {\n    function EqualToValidator() {\n    }\n    EqualToValidator.prototype.ngOnInit = function () {\n        this.validator = _1.equalTo(this.equalTo);\n    };\n    EqualToValidator.prototype.validate = function (c) {\n        return this.validator(c);\n    };\n    return EqualToValidator;\n}());\nEqualToValidator.decorators = [\n    { type: core_1.Directive, args: [{\n                selector: '[equalTo][formControlName],[equalTo][formControl],[equalTo][ngModel]',\n                providers: [EQUAL_TO_VALIDATOR]\n            },] },\n];\n/** @nocollapse */\nEqualToValidator.ctorParameters = function () { return []; };\nEqualToValidator.propDecorators = {\n    'equalTo': [{ type: core_1.Input },],\n};\nexports.EqualToValidator = EqualToValidator;\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/equal-to/directive.js\n// module id = 1469\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.equalTo = function (equalControl) {\n    var subscribe = false;\n    return function (control) {\n        if (!subscribe) {\n            subscribe = true;\n            equalControl.valueChanges.subscribe(function () {\n                control.updateValueAndValidity();\n            });\n        }\n        var v = control.value;\n        return equalControl.value === v ? null : { equalTo: true };\n    };\n};\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/equal-to/validator.js\n// module id = 1470\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar core_1 = require(\"@angular/core\");\nvar forms_1 = require(\"@angular/forms\");\nvar index_1 = require(\"./index\");\nvar EQUAL_VALIDATOR = {\n    provide: forms_1.NG_VALIDATORS,\n    useExisting: core_1.forwardRef(function () { return EqualValidator; }),\n    multi: true\n};\nvar EqualValidator = (function () {\n    function EqualValidator() {\n    }\n    EqualValidator.prototype.ngOnInit = function () {\n        this.validator = index_1.equal(this.equal);\n    };\n    EqualValidator.prototype.ngOnChanges = function (changes) {\n        for (var key in changes) {\n            if (key === 'equal') {\n                this.validator = index_1.equal(changes[key].currentValue);\n                if (this.onChange)\n                    this.onChange();\n            }\n        }\n    };\n    EqualValidator.prototype.validate = function (c) {\n        return this.validator(c);\n    };\n    EqualValidator.prototype.registerOnValidatorChange = function (fn) {\n        this.onChange = fn;\n    };\n    return EqualValidator;\n}());\nEqualValidator.decorators = [\n    { type: core_1.Directive, args: [{\n                selector: '[equal][formControlName],[equal][formControl],[equal][ngModel]',\n                providers: [EQUAL_VALIDATOR]\n            },] },\n];\n/** @nocollapse */\nEqualValidator.ctorParameters = function () { return []; };\nEqualValidator.propDecorators = {\n    'equal': [{ type: core_1.Input },],\n};\nexports.EqualValidator = EqualValidator;\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/equal/directive.js\n// module id = 1471\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar forms_1 = require(\"@angular/forms\");\nvar lang_1 = require(\"../util/lang\");\nexports.equal = function (val) {\n    return function (control) {\n        if (lang_1.isPresent(forms_1.Validators.required(control)))\n            return null;\n        var v = control.value;\n        return val === v ? null : { equal: true };\n    };\n};\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/equal/validator.js\n// module id = 1472\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar core_1 = require(\"@angular/core\");\nvar forms_1 = require(\"@angular/forms\");\nvar _1 = require(\"./\");\nvar GREATER_THAN_EQUAL_VALIDATOR = {\n    provide: forms_1.NG_VALIDATORS,\n    useExisting: core_1.forwardRef(function () { return GreaterThanEqualValidator; }),\n    multi: true\n};\nvar GreaterThanEqualValidator = (function () {\n    function GreaterThanEqualValidator() {\n    }\n    GreaterThanEqualValidator.prototype.ngOnInit = function () {\n        this.validator = _1.gte(this.gte);\n    };\n    GreaterThanEqualValidator.prototype.ngOnChanges = function (changes) {\n        for (var key in changes) {\n            if (key === 'gte') {\n                this.validator = _1.gte(changes[key].currentValue);\n                if (this.onChange)\n                    this.onChange();\n            }\n        }\n    };\n    GreaterThanEqualValidator.prototype.validate = function (c) {\n        return this.validator(c);\n    };\n    GreaterThanEqualValidator.prototype.registerOnValidatorChange = function (fn) {\n        this.onChange = fn;\n    };\n    return GreaterThanEqualValidator;\n}());\nGreaterThanEqualValidator.decorators = [\n    { type: core_1.Directive, args: [{\n                selector: '[gte][formControlName],[gte][formControl],[gte][ngModel]',\n                providers: [GREATER_THAN_EQUAL_VALIDATOR]\n            },] },\n];\n/** @nocollapse */\nGreaterThanEqualValidator.ctorParameters = function () { return []; };\nGreaterThanEqualValidator.propDecorators = {\n    'gte': [{ type: core_1.Input },],\n};\nexports.GreaterThanEqualValidator = GreaterThanEqualValidator;\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/greater-than-equal/directive.js\n// module id = 1473\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar forms_1 = require(\"@angular/forms\");\nvar lang_1 = require(\"../util/lang\");\nexports.gte = function (gte) {\n    return function (control) {\n        if (!lang_1.isPresent(gte))\n            return null;\n        if (lang_1.isPresent(forms_1.Validators.required(control)))\n            return null;\n        var v = +control.value;\n        return v >= +gte ? null : { gte: true };\n    };\n};\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/greater-than-equal/validator.js\n// module id = 1474\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar core_1 = require(\"@angular/core\");\nvar forms_1 = require(\"@angular/forms\");\nvar _1 = require(\"./\");\nvar GREATER_THAN_VALIDATOR = {\n    provide: forms_1.NG_VALIDATORS,\n    useExisting: core_1.forwardRef(function () { return GreaterThanValidator; }),\n    multi: true\n};\nvar GreaterThanValidator = (function () {\n    function GreaterThanValidator() {\n    }\n    GreaterThanValidator.prototype.ngOnInit = function () {\n        this.validator = _1.gt(this.gt);\n    };\n    GreaterThanValidator.prototype.ngOnChanges = function (changes) {\n        for (var key in changes) {\n            if (key === 'gt') {\n                this.validator = _1.gt(changes[key].currentValue);\n                if (this.onChange)\n                    this.onChange();\n            }\n        }\n    };\n    GreaterThanValidator.prototype.validate = function (c) {\n        return this.validator(c);\n    };\n    GreaterThanValidator.prototype.registerOnValidatorChange = function (fn) {\n        this.onChange = fn;\n    };\n    return GreaterThanValidator;\n}());\nGreaterThanValidator.decorators = [\n    { type: core_1.Directive, args: [{\n                selector: '[gt][formControlName],[gt][formControl],[gt][ngModel]',\n                providers: [GREATER_THAN_VALIDATOR]\n            },] },\n];\n/** @nocollapse */\nGreaterThanValidator.ctorParameters = function () { return []; };\nGreaterThanValidator.propDecorators = {\n    'gt': [{ type: core_1.Input },],\n};\nexports.GreaterThanValidator = GreaterThanValidator;\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/greater-than/directive.js\n// module id = 1475\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar forms_1 = require(\"@angular/forms\");\nvar lang_1 = require(\"../util/lang\");\nexports.gt = function (gt) {\n    return function (control) {\n        if (!lang_1.isPresent(gt))\n            return null;\n        if (lang_1.isPresent(forms_1.Validators.required(control)))\n            return null;\n        var v = +control.value;\n        return v > +gt ? null : { gt: true };\n    };\n};\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/greater-than/validator.js\n// module id = 1476\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar core_1 = require(\"@angular/core\");\nvar forms_1 = require(\"@angular/forms\");\nvar _1 = require(\"./\");\nvar JSON_VALIDATOR = {\n    provide: forms_1.NG_VALIDATORS,\n    useExisting: core_1.forwardRef(function () { return JSONValidator; }),\n    multi: true\n};\nvar JSONValidator = (function () {\n    function JSONValidator() {\n    }\n    JSONValidator.prototype.validate = function (c) {\n        return _1.json(c);\n    };\n    return JSONValidator;\n}());\nJSONValidator.decorators = [\n    { type: core_1.Directive, args: [{\n                selector: '[json][formControlName],[json][formControl],[json][ngModel]',\n                providers: [JSON_VALIDATOR]\n            },] },\n];\n/** @nocollapse */\nJSONValidator.ctorParameters = function () { return []; };\nexports.JSONValidator = JSONValidator;\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/json/directive.js\n// module id = 1477\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar forms_1 = require(\"@angular/forms\");\nvar lang_1 = require(\"../util/lang\");\nexports.json = function (control) {\n    if (lang_1.isPresent(forms_1.Validators.required(control)))\n        return null;\n    var v = control.value;\n    try {\n        var obj = JSON.parse(v);\n        if (Boolean(obj) && typeof obj === 'object') {\n            return null;\n        }\n    }\n    catch (e) {\n    }\n    return { json: true };\n};\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/json/validator.js\n// module id = 1478\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar core_1 = require(\"@angular/core\");\nvar forms_1 = require(\"@angular/forms\");\nvar _1 = require(\"./\");\nvar LESS_THAN_EQUAL_VALIDATOR = {\n    provide: forms_1.NG_VALIDATORS,\n    useExisting: core_1.forwardRef(function () { return LessThanEqualValidator; }),\n    multi: true\n};\nvar LessThanEqualValidator = (function () {\n    function LessThanEqualValidator() {\n    }\n    LessThanEqualValidator.prototype.ngOnInit = function () {\n        this.validator = _1.lte(this.lte);\n    };\n    LessThanEqualValidator.prototype.ngOnChanges = function (changes) {\n        for (var key in changes) {\n            if (key === 'lte') {\n                this.validator = _1.lte(changes[key].currentValue);\n                if (this.onChange)\n                    this.onChange();\n            }\n        }\n    };\n    LessThanEqualValidator.prototype.validate = function (c) {\n        return this.validator(c);\n    };\n    LessThanEqualValidator.prototype.registerOnValidatorChange = function (fn) {\n        this.onChange = fn;\n    };\n    return LessThanEqualValidator;\n}());\nLessThanEqualValidator.decorators = [\n    { type: core_1.Directive, args: [{\n                selector: '[lte][formControlName],[lte][formControl],[lte][ngModel]',\n                providers: [LESS_THAN_EQUAL_VALIDATOR]\n            },] },\n];\n/** @nocollapse */\nLessThanEqualValidator.ctorParameters = function () { return []; };\nLessThanEqualValidator.propDecorators = {\n    'lte': [{ type: core_1.Input },],\n};\nexports.LessThanEqualValidator = LessThanEqualValidator;\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/less-than-equal/directive.js\n// module id = 1479\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar forms_1 = require(\"@angular/forms\");\nvar lang_1 = require(\"../util/lang\");\nexports.lte = function (lte) {\n    return function (control) {\n        if (!lang_1.isPresent(lte))\n            return null;\n        if (lang_1.isPresent(forms_1.Validators.required(control)))\n            return null;\n        var v = +control.value;\n        return v <= +lte ? null : { lte: true };\n    };\n};\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/less-than-equal/validator.js\n// module id = 1480\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar core_1 = require(\"@angular/core\");\nvar forms_1 = require(\"@angular/forms\");\nvar _1 = require(\"./\");\nvar LESS_THAN_VALIDATOR = {\n    provide: forms_1.NG_VALIDATORS,\n    useExisting: core_1.forwardRef(function () { return LessThanValidator; }),\n    multi: true\n};\nvar LessThanValidator = (function () {\n    function LessThanValidator() {\n    }\n    LessThanValidator.prototype.ngOnInit = function () {\n        this.validator = _1.lt(this.lt);\n    };\n    LessThanValidator.prototype.ngOnChanges = function (changes) {\n        for (var key in changes) {\n            if (key === 'lt') {\n                this.validator = _1.lt(changes[key].currentValue);\n                if (this.onChange)\n                    this.onChange();\n            }\n        }\n    };\n    LessThanValidator.prototype.validate = function (c) {\n        return this.validator(c);\n    };\n    LessThanValidator.prototype.registerOnValidatorChange = function (fn) {\n        this.onChange = fn;\n    };\n    return LessThanValidator;\n}());\nLessThanValidator.decorators = [\n    { type: core_1.Directive, args: [{\n                selector: '[lt][formControlName],[lt][formControl],[lt][ngModel]',\n                providers: [LESS_THAN_VALIDATOR]\n            },] },\n];\n/** @nocollapse */\nLessThanValidator.ctorParameters = function () { return []; };\nLessThanValidator.propDecorators = {\n    'lt': [{ type: core_1.Input },],\n};\nexports.LessThanValidator = LessThanValidator;\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/less-than/directive.js\n// module id = 1481\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar forms_1 = require(\"@angular/forms\");\nvar lang_1 = require(\"../util/lang\");\nexports.lt = function (lt) {\n    return function (control) {\n        if (!lang_1.isPresent(lt))\n            return null;\n        if (lang_1.isPresent(forms_1.Validators.required(control)))\n            return null;\n        var v = +control.value;\n        return v < +lt ? null : { lt: true };\n    };\n};\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/less-than/validator.js\n// module id = 1482\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar core_1 = require(\"@angular/core\");\nvar forms_1 = require(\"@angular/forms\");\nvar _1 = require(\"./\");\nvar MAX_DATE_VALIDATOR = {\n    provide: forms_1.NG_VALIDATORS,\n    useExisting: core_1.forwardRef(function () { return MaxDateValidator; }),\n    multi: true\n};\nvar MaxDateValidator = (function () {\n    function MaxDateValidator() {\n    }\n    MaxDateValidator.prototype.ngOnInit = function () {\n        this.validator = _1.maxDate(this.maxDate);\n    };\n    MaxDateValidator.prototype.ngOnChanges = function (changes) {\n        for (var key in changes) {\n            if (key === 'maxDate') {\n                this.validator = _1.maxDate(changes[key].currentValue);\n                if (this.onChange)\n                    this.onChange();\n            }\n        }\n    };\n    MaxDateValidator.prototype.validate = function (c) {\n        return this.validator(c);\n    };\n    MaxDateValidator.prototype.registerOnValidatorChange = function (fn) {\n        this.onChange = fn;\n    };\n    return MaxDateValidator;\n}());\nMaxDateValidator.decorators = [\n    { type: core_1.Directive, args: [{\n                selector: '[maxDate][formControlName],[maxDate][formControl],[maxDate][ngModel]',\n                providers: [MAX_DATE_VALIDATOR]\n            },] },\n];\n/** @nocollapse */\nMaxDateValidator.ctorParameters = function () { return []; };\nMaxDateValidator.propDecorators = {\n    'maxDate': [{ type: core_1.Input },],\n};\nexports.MaxDateValidator = MaxDateValidator;\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/max-date/directive.js\n// module id = 1483\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar forms_1 = require(\"@angular/forms\");\nvar lang_1 = require(\"../util/lang\");\nexports.maxDate = function (maxDate) {\n    if (!lang_1.isDate(maxDate) && !(maxDate instanceof Function)) {\n        throw Error('maxDate value must be or return a formatted date');\n    }\n    return function (control) {\n        if (lang_1.isPresent(forms_1.Validators.required(control)))\n            return null;\n        var d = new Date(control.value);\n        if (!lang_1.isDate(d))\n            return { maxDate: true };\n        if (maxDate instanceof Function)\n            maxDate = maxDate();\n        return d <= new Date(maxDate) ? null : { maxDate: true };\n    };\n};\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/max-date/validator.js\n// module id = 1484\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar core_1 = require(\"@angular/core\");\nvar forms_1 = require(\"@angular/forms\");\nvar _1 = require(\"./\");\nvar MAX_VALIDATOR = {\n    provide: forms_1.NG_VALIDATORS,\n    useExisting: core_1.forwardRef(function () { return MaxValidator; }),\n    multi: true\n};\nvar MaxValidator = (function () {\n    function MaxValidator() {\n    }\n    MaxValidator.prototype.ngOnInit = function () {\n        this.validator = _1.max(this.max);\n    };\n    MaxValidator.prototype.ngOnChanges = function (changes) {\n        for (var key in changes) {\n            if (key === 'max') {\n                this.validator = _1.max(changes[key].currentValue);\n                if (this.onChange)\n                    this.onChange();\n            }\n        }\n    };\n    MaxValidator.prototype.validate = function (c) {\n        return this.validator(c);\n    };\n    MaxValidator.prototype.registerOnValidatorChange = function (fn) {\n        this.onChange = fn;\n    };\n    return MaxValidator;\n}());\nMaxValidator.decorators = [\n    { type: core_1.Directive, args: [{\n                selector: '[max][formControlName],[max][formControl],[max][ngModel]',\n                providers: [MAX_VALIDATOR]\n            },] },\n];\n/** @nocollapse */\nMaxValidator.ctorParameters = function () { return []; };\nMaxValidator.propDecorators = {\n    'max': [{ type: core_1.Input },],\n};\nexports.MaxValidator = MaxValidator;\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/max/directive.js\n// module id = 1485\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar forms_1 = require(\"@angular/forms\");\nvar lang_1 = require(\"../util/lang\");\nexports.max = function (max) {\n    return function (control) {\n        if (!lang_1.isPresent(max))\n            return null;\n        if (lang_1.isPresent(forms_1.Validators.required(control)))\n            return null;\n        var v = +control.value;\n        return v <= +max ? null : { actualValue: v, requiredValue: +max, max: true };\n    };\n};\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/max/validator.js\n// module id = 1486\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar core_1 = require(\"@angular/core\");\nvar forms_1 = require(\"@angular/forms\");\nvar _1 = require(\"./\");\nvar MIN_DATE_VALIDATOR = {\n    provide: forms_1.NG_VALIDATORS,\n    useExisting: core_1.forwardRef(function () { return MinDateValidator; }),\n    multi: true\n};\nvar MinDateValidator = (function () {\n    function MinDateValidator() {\n    }\n    MinDateValidator.prototype.ngOnInit = function () {\n        this.validator = _1.minDate(this.minDate);\n    };\n    MinDateValidator.prototype.ngOnChanges = function (changes) {\n        for (var key in changes) {\n            if (key === 'minDate') {\n                this.validator = _1.minDate(changes[key].currentValue);\n                if (this.onChange)\n                    this.onChange();\n            }\n        }\n    };\n    MinDateValidator.prototype.validate = function (c) {\n        return this.validator(c);\n    };\n    MinDateValidator.prototype.registerOnValidatorChange = function (fn) {\n        this.onChange = fn;\n    };\n    return MinDateValidator;\n}());\nMinDateValidator.decorators = [\n    { type: core_1.Directive, args: [{\n                selector: '[minDate][formControlName],[minDate][formControl],[minDate][ngModel]',\n                providers: [MIN_DATE_VALIDATOR]\n            },] },\n];\n/** @nocollapse */\nMinDateValidator.ctorParameters = function () { return []; };\nMinDateValidator.propDecorators = {\n    'minDate': [{ type: core_1.Input },],\n};\nexports.MinDateValidator = MinDateValidator;\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/min-date/directive.js\n// module id = 1487\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar forms_1 = require(\"@angular/forms\");\nvar lang_1 = require(\"../util/lang\");\nexports.minDate = function (minDate) {\n    if (!lang_1.isDate(minDate) && !(minDate instanceof Function)) {\n        throw Error('minDate value must be or return a formatted date');\n    }\n    return function (control) {\n        if (lang_1.isPresent(forms_1.Validators.required(control)))\n            return null;\n        var d = new Date(control.value);\n        if (!lang_1.isDate(d))\n            return { minDate: true };\n        if (minDate instanceof Function)\n            minDate = minDate();\n        return d >= new Date(minDate) ? null : { minDate: true };\n    };\n};\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/min-date/validator.js\n// module id = 1488\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar core_1 = require(\"@angular/core\");\nvar forms_1 = require(\"@angular/forms\");\nvar _1 = require(\"./\");\nvar MIN_VALIDATOR = {\n    provide: forms_1.NG_VALIDATORS,\n    useExisting: core_1.forwardRef(function () { return MinValidator; }),\n    multi: true\n};\nvar MinValidator = (function () {\n    function MinValidator() {\n    }\n    MinValidator.prototype.ngOnInit = function () {\n        this.validator = _1.min(this.min);\n    };\n    MinValidator.prototype.ngOnChanges = function (changes) {\n        for (var key in changes) {\n            if (key === 'min') {\n                this.validator = _1.min(changes[key].currentValue);\n                if (this.onChange)\n                    this.onChange();\n            }\n        }\n    };\n    MinValidator.prototype.validate = function (c) {\n        return this.validator(c);\n    };\n    MinValidator.prototype.registerOnValidatorChange = function (fn) {\n        this.onChange = fn;\n    };\n    return MinValidator;\n}());\nMinValidator.decorators = [\n    { type: core_1.Directive, args: [{\n                selector: '[min][formControlName],[min][formControl],[min][ngModel]',\n                providers: [MIN_VALIDATOR]\n            },] },\n];\n/** @nocollapse */\nMinValidator.ctorParameters = function () { return []; };\nMinValidator.propDecorators = {\n    'min': [{ type: core_1.Input },],\n};\nexports.MinValidator = MinValidator;\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/min/directive.js\n// module id = 1489\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar forms_1 = require(\"@angular/forms\");\nvar lang_1 = require(\"../util/lang\");\nexports.min = function (min) {\n    return function (control) {\n        if (!lang_1.isPresent(min))\n            return null;\n        if (lang_1.isPresent(forms_1.Validators.required(control)))\n            return null;\n        var v = +control.value;\n        return v >= +min ? null : { actualValue: v, requiredValue: +min, min: true };\n    };\n};\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/min/validator.js\n// module id = 1490\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar core_1 = require(\"@angular/core\");\nvar forms_1 = require(\"@angular/forms\");\nvar _1 = require(\"./\");\nvar NOT_EQUAL_TO_VALIDATOR = {\n    provide: forms_1.NG_VALIDATORS,\n    useExisting: core_1.forwardRef(function () { return NotEqualToValidator; }),\n    multi: true\n};\nvar NotEqualToValidator = (function () {\n    function NotEqualToValidator() {\n    }\n    NotEqualToValidator.prototype.ngOnInit = function () {\n        this.validator = _1.notEqualTo(this.notEqualTo);\n    };\n    NotEqualToValidator.prototype.validate = function (c) {\n        return this.validator(c);\n    };\n    return NotEqualToValidator;\n}());\nNotEqualToValidator.decorators = [\n    { type: core_1.Directive, args: [{\n                selector: '[notEqualTo][formControlName],[notEqualTo][formControl],[notEqualTo][ngModel]',\n                providers: [NOT_EQUAL_TO_VALIDATOR]\n            },] },\n];\n/** @nocollapse */\nNotEqualToValidator.ctorParameters = function () { return []; };\nNotEqualToValidator.propDecorators = {\n    'notEqualTo': [{ type: core_1.Input },],\n};\nexports.NotEqualToValidator = NotEqualToValidator;\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/not-equal-to/directive.js\n// module id = 1491\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.notEqualTo = function (notEqualControl) {\n    var subscribe = false;\n    return function (control) {\n        if (!subscribe) {\n            subscribe = true;\n            notEqualControl.valueChanges.subscribe(function () {\n                control.updateValueAndValidity();\n            });\n        }\n        var v = control.value;\n        return notEqualControl.value !== v ? null : { notEqualTo: true };\n    };\n};\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/not-equal-to/validator.js\n// module id = 1492\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar core_1 = require(\"@angular/core\");\nvar forms_1 = require(\"@angular/forms\");\nvar index_1 = require(\"./index\");\nvar NOT_EQUAL_VALIDATOR = {\n    provide: forms_1.NG_VALIDATORS,\n    useExisting: core_1.forwardRef(function () { return NotEqualValidator; }),\n    multi: true\n};\nvar NotEqualValidator = (function () {\n    function NotEqualValidator() {\n    }\n    NotEqualValidator.prototype.ngOnInit = function () {\n        this.validator = index_1.notEqual(this.notEqual);\n    };\n    NotEqualValidator.prototype.ngOnChanges = function (changes) {\n        for (var key in changes) {\n            if (key === 'notEqual') {\n                this.validator = index_1.notEqual(changes[key].currentValue);\n                if (this.onChange)\n                    this.onChange();\n            }\n        }\n    };\n    NotEqualValidator.prototype.validate = function (c) {\n        return this.validator(c);\n    };\n    NotEqualValidator.prototype.registerOnValidatorChange = function (fn) {\n        this.onChange = fn;\n    };\n    return NotEqualValidator;\n}());\nNotEqualValidator.decorators = [\n    { type: core_1.Directive, args: [{\n                selector: '[notEqual][formControlName],[notEqual][formControl],[notEqual][ngModel]',\n                providers: [NOT_EQUAL_VALIDATOR]\n            },] },\n];\n/** @nocollapse */\nNotEqualValidator.ctorParameters = function () { return []; };\nNotEqualValidator.propDecorators = {\n    'notEqual': [{ type: core_1.Input },],\n};\nexports.NotEqualValidator = NotEqualValidator;\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/not-equal/directive.js\n// module id = 1493\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar forms_1 = require(\"@angular/forms\");\nvar lang_1 = require(\"../util/lang\");\nexports.notEqual = function (val) {\n    return function (control) {\n        if (lang_1.isPresent(forms_1.Validators.required(control)))\n            return null;\n        var v = control.value;\n        return val !== v ? null : { notEqual: true };\n    };\n};\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/not-equal/validator.js\n// module id = 1494\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar core_1 = require(\"@angular/core\");\nvar forms_1 = require(\"@angular/forms\");\nvar _1 = require(\"./\");\nvar NUMBER_VALIDATOR = {\n    provide: forms_1.NG_VALIDATORS,\n    useExisting: core_1.forwardRef(function () { return NumberValidator; }),\n    multi: true\n};\nvar NumberValidator = (function () {\n    function NumberValidator() {\n    }\n    NumberValidator.prototype.validate = function (c) {\n        return _1.number(c);\n    };\n    return NumberValidator;\n}());\nNumberValidator.decorators = [\n    { type: core_1.Directive, args: [{\n                selector: '[number][formControlName],[number][formControl],[number][ngModel]',\n                providers: [NUMBER_VALIDATOR]\n            },] },\n];\n/** @nocollapse */\nNumberValidator.ctorParameters = function () { return []; };\nexports.NumberValidator = NumberValidator;\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/number/directive.js\n// module id = 1495\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar forms_1 = require(\"@angular/forms\");\nvar lang_1 = require(\"../util/lang\");\nexports.number = function (control) {\n    if (lang_1.isPresent(forms_1.Validators.required(control)))\n        return null;\n    var v = control.value;\n    return /^(?:-?\\d+|-?\\d{1,3}(?:,\\d{3})+)?(?:\\.\\d+)?$/.test(v) ? null : { 'number': true };\n};\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/number/validator.js\n// module id = 1496\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar core_1 = require(\"@angular/core\");\nvar forms_1 = require(\"@angular/forms\");\nvar _1 = require(\"./\");\nvar PHONE_VALIDATOR = {\n    provide: forms_1.NG_VALIDATORS,\n    useExisting: core_1.forwardRef(function () { return PhoneValidator; }),\n    multi: true\n};\nvar PhoneValidator = (function () {\n    function PhoneValidator() {\n    }\n    PhoneValidator.prototype.ngOnInit = function () {\n        this.validator = _1.phone(this.phone);\n    };\n    PhoneValidator.prototype.ngOnChanges = function (changes) {\n        for (var key in changes) {\n            if (key === 'phone') {\n                this.validator = _1.phone(changes[key].currentValue);\n                if (this.onChange)\n                    this.onChange();\n            }\n        }\n    };\n    PhoneValidator.prototype.validate = function (c) {\n        return this.validator(c);\n    };\n    PhoneValidator.prototype.registerOnValidatorChange = function (fn) {\n        this.onChange = fn;\n    };\n    return PhoneValidator;\n}());\nPhoneValidator.decorators = [\n    { type: core_1.Directive, args: [{\n                selector: '[phone][formControlName],[phone][formControl],[phone][ngModel]',\n                providers: [PHONE_VALIDATOR]\n            },] },\n];\n/** @nocollapse */\nPhoneValidator.ctorParameters = function () { return []; };\nPhoneValidator.propDecorators = {\n    'phone': [{ type: core_1.Input },],\n};\nexports.PhoneValidator = PhoneValidator;\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/phone/directive.js\n// module id = 1497\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar forms_1 = require(\"@angular/forms\");\nvar libphonenumber_js_1 = require(\"libphonenumber-js\");\nvar lang_1 = require(\"../util/lang\");\nexports.phone = function (country) {\n    return function (control) {\n        if (lang_1.isPresent(forms_1.Validators.required(control)))\n            return null;\n        var v = control.value;\n        return libphonenumber_js_1.isValidNumber({ phone: v, country: country }) ? null : { phone: true };\n    };\n};\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/phone/validator.js\n// module id = 1498\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar core_1 = require(\"@angular/core\");\nvar forms_1 = require(\"@angular/forms\");\nvar _1 = require(\"./\");\nvar RANGE_LENGTH_VALIDATOR = {\n    provide: forms_1.NG_VALIDATORS,\n    useExisting: core_1.forwardRef(function () { return RangeLengthValidator; }),\n    multi: true\n};\nvar RangeLengthValidator = (function () {\n    function RangeLengthValidator() {\n    }\n    RangeLengthValidator.prototype.ngOnInit = function () {\n        this.validator = _1.rangeLength(this.rangeLength);\n    };\n    RangeLengthValidator.prototype.ngOnChanges = function (changes) {\n        for (var key in changes) {\n            if (key === 'rangeLength') {\n                this.validator = _1.rangeLength(changes[key].currentValue);\n                if (this.onChange)\n                    this.onChange();\n            }\n        }\n    };\n    RangeLengthValidator.prototype.validate = function (c) {\n        return this.validator(c);\n    };\n    RangeLengthValidator.prototype.registerOnValidatorChange = function (fn) {\n        this.onChange = fn;\n    };\n    return RangeLengthValidator;\n}());\nRangeLengthValidator.decorators = [\n    { type: core_1.Directive, args: [{\n                selector: '[rangeLength][formControlName],[rangeLength][formControl],[rangeLength][ngModel]',\n                providers: [RANGE_LENGTH_VALIDATOR]\n            },] },\n];\n/** @nocollapse */\nRangeLengthValidator.ctorParameters = function () { return []; };\nRangeLengthValidator.propDecorators = {\n    'rangeLength': [{ type: core_1.Input },],\n};\nexports.RangeLengthValidator = RangeLengthValidator;\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/range-length/directive.js\n// module id = 1499\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar forms_1 = require(\"@angular/forms\");\nvar lang_1 = require(\"../util/lang\");\nexports.rangeLength = function (rangeLength) {\n    return function (control) {\n        if (!lang_1.isPresent(rangeLength))\n            return null;\n        if (lang_1.isPresent(forms_1.Validators.required(control)))\n            return null;\n        var v = control.value;\n        return v.length >= rangeLength[0] && v.length <= rangeLength[1] ? null : { rangeLength: true };\n    };\n};\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/range-length/validator.js\n// module id = 1500\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar core_1 = require(\"@angular/core\");\nvar forms_1 = require(\"@angular/forms\");\nvar _1 = require(\"./\");\nvar RANGE_VALIDATOR = {\n    provide: forms_1.NG_VALIDATORS,\n    useExisting: core_1.forwardRef(function () { return RangeValidator; }),\n    multi: true\n};\nvar RangeValidator = (function () {\n    function RangeValidator() {\n    }\n    RangeValidator.prototype.ngOnInit = function () {\n        this.validator = _1.range(this.range);\n    };\n    RangeValidator.prototype.ngOnChanges = function (changes) {\n        for (var key in changes) {\n            if (key === 'range') {\n                this.validator = _1.range(changes[key].currentValue);\n                if (this.onChange)\n                    this.onChange();\n            }\n        }\n    };\n    RangeValidator.prototype.validate = function (c) {\n        return this.validator(c);\n    };\n    RangeValidator.prototype.registerOnValidatorChange = function (fn) {\n        this.onChange = fn;\n    };\n    return RangeValidator;\n}());\nRangeValidator.decorators = [\n    { type: core_1.Directive, args: [{\n                selector: '[range][formControlName],[range][formControl],[range][ngModel]',\n                providers: [RANGE_VALIDATOR]\n            },] },\n];\n/** @nocollapse */\nRangeValidator.ctorParameters = function () { return []; };\nRangeValidator.propDecorators = {\n    'range': [{ type: core_1.Input },],\n};\nexports.RangeValidator = RangeValidator;\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/range/directive.js\n// module id = 1501\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar forms_1 = require(\"@angular/forms\");\nvar lang_1 = require(\"../util/lang\");\nexports.range = function (range) {\n    return function (control) {\n        if (!lang_1.isPresent(range))\n            return null;\n        if (lang_1.isPresent(forms_1.Validators.required(control)))\n            return null;\n        var v = +control.value;\n        return v >= range[0] && v <= range[1] ? null : { actualValue: v, requiredValue: range, range: true };\n    };\n};\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/range/validator.js\n// module id = 1502\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar core_1 = require(\"@angular/core\");\nvar forms_1 = require(\"@angular/forms\");\nvar _1 = require(\"./\");\nvar URL_VALIDATOR = {\n    provide: forms_1.NG_VALIDATORS,\n    useExisting: core_1.forwardRef(function () { return UrlValidator; }),\n    multi: true\n};\nvar UrlValidator = (function () {\n    function UrlValidator() {\n    }\n    UrlValidator.prototype.validate = function (c) {\n        return _1.url(c);\n    };\n    return UrlValidator;\n}());\nUrlValidator.decorators = [\n    { type: core_1.Directive, args: [{\n                selector: '[url][formControlName],[url][formControl],[url][ngModel]',\n                providers: [URL_VALIDATOR]\n            },] },\n];\n/** @nocollapse */\nUrlValidator.ctorParameters = function () { return []; };\nexports.UrlValidator = UrlValidator;\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/url/directive.js\n// module id = 1503\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar forms_1 = require(\"@angular/forms\");\nvar lang_1 = require(\"../util/lang\");\nexports.url = function (control) {\n    if (lang_1.isPresent(forms_1.Validators.required(control)))\n        return null;\n    var v = control.value;\n    return /^(?:(?:(?:https?|ftp):)?\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})).?)(?::\\d{2,5})?(?:[/?#]\\S*)?$/i.test(v) ? null : { 'url': true };\n};\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/url/validator.js\n// module id = 1504\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar core_1 = require(\"@angular/core\");\nvar forms_1 = require(\"@angular/forms\");\nvar _1 = require(\"./\");\nvar UUID_VALIDATOR = {\n    provide: forms_1.NG_VALIDATORS,\n    useExisting: core_1.forwardRef(function () { return UUIDValidator; }),\n    multi: true\n};\nvar UUIDValidator = (function () {\n    function UUIDValidator() {\n    }\n    UUIDValidator.prototype.ngOnInit = function () {\n        this.validator = _1.uuid(this.uuid);\n    };\n    UUIDValidator.prototype.ngOnChanges = function (changes) {\n        for (var key in changes) {\n            if (key === 'uuid') {\n                this.validator = _1.uuid(changes[key].currentValue);\n                if (this.onChange)\n                    this.onChange();\n            }\n        }\n    };\n    UUIDValidator.prototype.validate = function (c) {\n        return this.validator(c);\n    };\n    UUIDValidator.prototype.registerOnValidatorChange = function (fn) {\n        this.onChange = fn;\n    };\n    return UUIDValidator;\n}());\nUUIDValidator.decorators = [\n    { type: core_1.Directive, args: [{\n                selector: '[uuid][formControlName],[uuid][formControl],[uuid][ngModel]',\n                providers: [UUID_VALIDATOR]\n            },] },\n];\n/** @nocollapse */\nUUIDValidator.ctorParameters = function () { return []; };\nUUIDValidator.propDecorators = {\n    'uuid': [{ type: core_1.Input },],\n};\nexports.UUIDValidator = UUIDValidator;\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/uuid/directive.js\n// module id = 1505\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar forms_1 = require(\"@angular/forms\");\nvar lang_1 = require(\"../util/lang\");\nvar uuids = {\n    '3': /^[0-9A-F]{8}-[0-9A-F]{4}-3[0-9A-F]{3}-[0-9A-F]{4}-[0-9A-F]{12}$/i,\n    '4': /^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,\n    '5': /^[0-9A-F]{8}-[0-9A-F]{4}-5[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,\n    'all': /^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/i\n};\nexports.uuid = function (version) {\n    return function (control) {\n        if (lang_1.isPresent(forms_1.Validators.required(control)))\n            return null;\n        var v = control.value;\n        var pattern = uuids[version] || uuids.all;\n        return (new RegExp(pattern)).test(v) ? null : { uuid: true };\n    };\n};\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ng2-validation/dist/uuid/validator.js\n// module id = 1506\n// module chunks = 0","import { NgModule } from '@angular/core';\nimport { FacebookService } from './providers/facebook';\nimport { FBCommentEmbedComponent } from './components/fb-comment-embed/fb-comment-embed';\nimport { FBCommentsComponent } from './components/fb-comments/fb-comments';\nimport { FBFollowComponent } from './components/fb-follow/fb-follow';\nimport { FBLikeComponent } from './components/fb-like/fb-like';\nimport { FBPageComponent } from './components/fb-page/fb-page';\nimport { FBPostComponent } from './components/fb-post/fb-post';\nimport { FBQuoteComponent } from './components/fb-quote/fb-quote';\nimport { FBSaveComponent } from './components/fb-save/fb-save';\nimport { FBSendComponent } from './components/fb-send/fb-send';\nimport { FBShareComponent } from './components/fb-share/fb-share';\nimport { FBVideoComponent } from './components/fb-video/fb-video';\nvar components = [\n    FBCommentEmbedComponent,\n    FBCommentsComponent,\n    FBFollowComponent,\n    FBLikeComponent,\n    FBPageComponent,\n    FBPostComponent,\n    FBQuoteComponent,\n    FBSaveComponent,\n    FBSendComponent,\n    FBShareComponent,\n    FBVideoComponent\n];\nexport function getComponents() {\n    return components;\n}\n/**\n * @shortdesc The module to import to add this library\n * @description\n * The main module to import into your application.\n * You only need to import this module if you wish to use the components in this library; otherwise, you could just import [FacebookService](../facebook-service) into your module instead.\n * This module will make all components and providers available in your application.\n *\n * @usage\n * In order to use this library, you need to import `FacebookModule` into your app's main `NgModule`.\n *\n * ```typescript\n * import { FacebookModule } from 'ng2-facebook-sdk';\n *\n * @NgModule({\n *   ...\n *   imports: [\n *     ...\n *     FacebookModule.forRoot()\n *   ],\n *   ...\n * })\n * export class AppModule { }\n * ```\n */\nvar FacebookModule = (function () {\n    function FacebookModule() {\n    }\n    FacebookModule.forRoot = function () {\n        return {\n            ngModule: FacebookModule,\n            providers: [FacebookService]\n        };\n    };\n    return FacebookModule;\n}());\nexport { FacebookModule };\nFacebookModule.decorators = [\n    { type: NgModule, args: [{\n                declarations: getComponents(),\n                exports: getComponents()\n            },] },\n];\n/** @nocollapse */\nFacebookModule.ctorParameters = function () { return []; };\n//# sourceMappingURL=facebook.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/ngx-facebook/dist/esm/facebook.module.js\n// module id = 1507\n// module chunks = 0","exports.endianness = function () { return 'LE' };\n\nexports.hostname = function () {\n    if (typeof location !== 'undefined') {\n        return location.hostname\n    }\n    else return '';\n};\n\nexports.loadavg = function () { return [] };\n\nexports.uptime = function () { return 0 };\n\nexports.freemem = function () {\n    return Number.MAX_VALUE;\n};\n\nexports.totalmem = function () {\n    return Number.MAX_VALUE;\n};\n\nexports.cpus = function () { return [] };\n\nexports.type = function () { return 'Browser' };\n\nexports.release = function () {\n    if (typeof navigator !== 'undefined') {\n        return navigator.appVersion;\n    }\n    return '';\n};\n\nexports.networkInterfaces\n= exports.getNetworkInterfaces\n= function () { return {} };\n\nexports.arch = function () { return 'javascript' };\n\nexports.platform = function () { return 'browser' };\n\nexports.tmpdir = exports.tmpDir = function () {\n    return '/tmp';\n};\n\nexports.EOL = '\\n';\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/os-browserify/browser.js\n// module id = 1508\n// module chunks = 0","'use strict';\n\n\nmodule.exports = {\n\n  /* Allowed flush values; see deflate() and inflate() below for details */\n  Z_NO_FLUSH:         0,\n  Z_PARTIAL_FLUSH:    1,\n  Z_SYNC_FLUSH:       2,\n  Z_FULL_FLUSH:       3,\n  Z_FINISH:           4,\n  Z_BLOCK:            5,\n  Z_TREES:            6,\n\n  /* Return codes for the compression/decompression functions. Negative values\n  * are errors, positive values are used for special but normal events.\n  */\n  Z_OK:               0,\n  Z_STREAM_END:       1,\n  Z_NEED_DICT:        2,\n  Z_ERRNO:           -1,\n  Z_STREAM_ERROR:    -2,\n  Z_DATA_ERROR:      -3,\n  //Z_MEM_ERROR:     -4,\n  Z_BUF_ERROR:       -5,\n  //Z_VERSION_ERROR: -6,\n\n  /* compression levels */\n  Z_NO_COMPRESSION:         0,\n  Z_BEST_SPEED:             1,\n  Z_BEST_COMPRESSION:       9,\n  Z_DEFAULT_COMPRESSION:   -1,\n\n\n  Z_FILTERED:               1,\n  Z_HUFFMAN_ONLY:           2,\n  Z_RLE:                    3,\n  Z_FIXED:                  4,\n  Z_DEFAULT_STRATEGY:       0,\n\n  /* Possible values of the data_type field (though see inflate()) */\n  Z_BINARY:                 0,\n  Z_TEXT:                   1,\n  //Z_ASCII:                1, // = Z_TEXT (deprecated)\n  Z_UNKNOWN:                2,\n\n  /* The deflate compression method */\n  Z_DEFLATED:               8\n  //Z_NULL:                 null // Use -1 or null inline, depending on var type\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/pako/lib/zlib/constants.js\n// module id = 1509\n// module chunks = 0","'use strict';\n\nvar utils   = require('../utils/common');\nvar trees   = require('./trees');\nvar adler32 = require('./adler32');\nvar crc32   = require('./crc32');\nvar msg     = require('./messages');\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\n\n/* Allowed flush values; see deflate() and inflate() below for details */\nvar Z_NO_FLUSH      = 0;\nvar Z_PARTIAL_FLUSH = 1;\n//var Z_SYNC_FLUSH    = 2;\nvar Z_FULL_FLUSH    = 3;\nvar Z_FINISH        = 4;\nvar Z_BLOCK         = 5;\n//var Z_TREES         = 6;\n\n\n/* Return codes for the compression/decompression functions. Negative values\n * are errors, positive values are used for special but normal events.\n */\nvar Z_OK            = 0;\nvar Z_STREAM_END    = 1;\n//var Z_NEED_DICT     = 2;\n//var Z_ERRNO         = -1;\nvar Z_STREAM_ERROR  = -2;\nvar Z_DATA_ERROR    = -3;\n//var Z_MEM_ERROR     = -4;\nvar Z_BUF_ERROR     = -5;\n//var Z_VERSION_ERROR = -6;\n\n\n/* compression levels */\n//var Z_NO_COMPRESSION      = 0;\n//var Z_BEST_SPEED          = 1;\n//var Z_BEST_COMPRESSION    = 9;\nvar Z_DEFAULT_COMPRESSION = -1;\n\n\nvar Z_FILTERED            = 1;\nvar Z_HUFFMAN_ONLY        = 2;\nvar Z_RLE                 = 3;\nvar Z_FIXED               = 4;\nvar Z_DEFAULT_STRATEGY    = 0;\n\n/* Possible values of the data_type field (though see inflate()) */\n//var Z_BINARY              = 0;\n//var Z_TEXT                = 1;\n//var Z_ASCII               = 1; // = Z_TEXT\nvar Z_UNKNOWN             = 2;\n\n\n/* The deflate compression method */\nvar Z_DEFLATED  = 8;\n\n/*============================================================================*/\n\n\nvar MAX_MEM_LEVEL = 9;\n/* Maximum value for memLevel in deflateInit2 */\nvar MAX_WBITS = 15;\n/* 32K LZ77 window */\nvar DEF_MEM_LEVEL = 8;\n\n\nvar LENGTH_CODES  = 29;\n/* number of length codes, not counting the special END_BLOCK code */\nvar LITERALS      = 256;\n/* number of literal bytes 0..255 */\nvar L_CODES       = LITERALS + 1 + LENGTH_CODES;\n/* number of Literal or Length codes, including the END_BLOCK code */\nvar D_CODES       = 30;\n/* number of distance codes */\nvar BL_CODES      = 19;\n/* number of codes used to transfer the bit lengths */\nvar HEAP_SIZE     = 2 * L_CODES + 1;\n/* maximum heap size */\nvar MAX_BITS  = 15;\n/* All codes must not exceed MAX_BITS bits */\n\nvar MIN_MATCH = 3;\nvar MAX_MATCH = 258;\nvar MIN_LOOKAHEAD = (MAX_MATCH + MIN_MATCH + 1);\n\nvar PRESET_DICT = 0x20;\n\nvar INIT_STATE = 42;\nvar EXTRA_STATE = 69;\nvar NAME_STATE = 73;\nvar COMMENT_STATE = 91;\nvar HCRC_STATE = 103;\nvar BUSY_STATE = 113;\nvar FINISH_STATE = 666;\n\nvar BS_NEED_MORE      = 1; /* block not completed, need more input or more output */\nvar BS_BLOCK_DONE     = 2; /* block flush performed */\nvar BS_FINISH_STARTED = 3; /* finish started, need only more output at next deflate */\nvar BS_FINISH_DONE    = 4; /* finish done, accept no more input or output */\n\nvar OS_CODE = 0x03; // Unix :) . Don't detect, use this default.\n\nfunction err(strm, errorCode) {\n  strm.msg = msg[errorCode];\n  return errorCode;\n}\n\nfunction rank(f) {\n  return ((f) << 1) - ((f) > 4 ? 9 : 0);\n}\n\nfunction zero(buf) { var len = buf.length; while (--len >= 0) { buf[len] = 0; } }\n\n\n/* =========================================================================\n * Flush as much pending output as possible. All deflate() output goes\n * through this function so some applications may wish to modify it\n * to avoid allocating a large strm->output buffer and copying into it.\n * (See also read_buf()).\n */\nfunction flush_pending(strm) {\n  var s = strm.state;\n\n  //_tr_flush_bits(s);\n  var len = s.pending;\n  if (len > strm.avail_out) {\n    len = strm.avail_out;\n  }\n  if (len === 0) { return; }\n\n  utils.arraySet(strm.output, s.pending_buf, s.pending_out, len, strm.next_out);\n  strm.next_out += len;\n  s.pending_out += len;\n  strm.total_out += len;\n  strm.avail_out -= len;\n  s.pending -= len;\n  if (s.pending === 0) {\n    s.pending_out = 0;\n  }\n}\n\n\nfunction flush_block_only(s, last) {\n  trees._tr_flush_block(s, (s.block_start >= 0 ? s.block_start : -1), s.strstart - s.block_start, last);\n  s.block_start = s.strstart;\n  flush_pending(s.strm);\n}\n\n\nfunction put_byte(s, b) {\n  s.pending_buf[s.pending++] = b;\n}\n\n\n/* =========================================================================\n * Put a short in the pending buffer. The 16-bit value is put in MSB order.\n * IN assertion: the stream state is correct and there is enough room in\n * pending_buf.\n */\nfunction putShortMSB(s, b) {\n//  put_byte(s, (Byte)(b >> 8));\n//  put_byte(s, (Byte)(b & 0xff));\n  s.pending_buf[s.pending++] = (b >>> 8) & 0xff;\n  s.pending_buf[s.pending++] = b & 0xff;\n}\n\n\n/* ===========================================================================\n * Read a new buffer from the current input stream, update the adler32\n * and total number of bytes read.  All deflate() input goes through\n * this function so some applications may wish to modify it to avoid\n * allocating a large strm->input buffer and copying from it.\n * (See also flush_pending()).\n */\nfunction read_buf(strm, buf, start, size) {\n  var len = strm.avail_in;\n\n  if (len > size) { len = size; }\n  if (len === 0) { return 0; }\n\n  strm.avail_in -= len;\n\n  // zmemcpy(buf, strm->next_in, len);\n  utils.arraySet(buf, strm.input, strm.next_in, len, start);\n  if (strm.state.wrap === 1) {\n    strm.adler = adler32(strm.adler, buf, len, start);\n  }\n\n  else if (strm.state.wrap === 2) {\n    strm.adler = crc32(strm.adler, buf, len, start);\n  }\n\n  strm.next_in += len;\n  strm.total_in += len;\n\n  return len;\n}\n\n\n/* ===========================================================================\n * Set match_start to the longest match starting at the given string and\n * return its length. Matches shorter or equal to prev_length are discarded,\n * in which case the result is equal to prev_length and match_start is\n * garbage.\n * IN assertions: cur_match is the head of the hash chain for the current\n *   string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1\n * OUT assertion: the match length is not greater than s->lookahead.\n */\nfunction longest_match(s, cur_match) {\n  var chain_length = s.max_chain_length;      /* max hash chain length */\n  var scan = s.strstart; /* current string */\n  var match;                       /* matched string */\n  var len;                           /* length of current match */\n  var best_len = s.prev_length;              /* best match length so far */\n  var nice_match = s.nice_match;             /* stop if match long enough */\n  var limit = (s.strstart > (s.w_size - MIN_LOOKAHEAD)) ?\n      s.strstart - (s.w_size - MIN_LOOKAHEAD) : 0/*NIL*/;\n\n  var _win = s.window; // shortcut\n\n  var wmask = s.w_mask;\n  var prev  = s.prev;\n\n  /* Stop when cur_match becomes <= limit. To simplify the code,\n   * we prevent matches with the string of window index 0.\n   */\n\n  var strend = s.strstart + MAX_MATCH;\n  var scan_end1  = _win[scan + best_len - 1];\n  var scan_end   = _win[scan + best_len];\n\n  /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.\n   * It is easy to get rid of this optimization if necessary.\n   */\n  // Assert(s->hash_bits >= 8 && MAX_MATCH == 258, \"Code too clever\");\n\n  /* Do not waste too much time if we already have a good match: */\n  if (s.prev_length >= s.good_match) {\n    chain_length >>= 2;\n  }\n  /* Do not look for matches beyond the end of the input. This is necessary\n   * to make deflate deterministic.\n   */\n  if (nice_match > s.lookahead) { nice_match = s.lookahead; }\n\n  // Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, \"need lookahead\");\n\n  do {\n    // Assert(cur_match < s->strstart, \"no future\");\n    match = cur_match;\n\n    /* Skip to next match if the match length cannot increase\n     * or if the match length is less than 2.  Note that the checks below\n     * for insufficient lookahead only occur occasionally for performance\n     * reasons.  Therefore uninitialized memory will be accessed, and\n     * conditional jumps will be made that depend on those values.\n     * However the length of the match is limited to the lookahead, so\n     * the output of deflate is not affected by the uninitialized values.\n     */\n\n    if (_win[match + best_len]     !== scan_end  ||\n        _win[match + best_len - 1] !== scan_end1 ||\n        _win[match]                !== _win[scan] ||\n        _win[++match]              !== _win[scan + 1]) {\n      continue;\n    }\n\n    /* The check at best_len-1 can be removed because it will be made\n     * again later. (This heuristic is not always a win.)\n     * It is not necessary to compare scan[2] and match[2] since they\n     * are always equal when the other bytes match, given that\n     * the hash keys are equal and that HASH_BITS >= 8.\n     */\n    scan += 2;\n    match++;\n    // Assert(*scan == *match, \"match[2]?\");\n\n    /* We check for insufficient lookahead only every 8th comparison;\n     * the 256th check will be made at strstart+258.\n     */\n    do {\n      /*jshint noempty:false*/\n    } while (_win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n             _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n             _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n             _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n             scan < strend);\n\n    // Assert(scan <= s->window+(unsigned)(s->window_size-1), \"wild scan\");\n\n    len = MAX_MATCH - (strend - scan);\n    scan = strend - MAX_MATCH;\n\n    if (len > best_len) {\n      s.match_start = cur_match;\n      best_len = len;\n      if (len >= nice_match) {\n        break;\n      }\n      scan_end1  = _win[scan + best_len - 1];\n      scan_end   = _win[scan + best_len];\n    }\n  } while ((cur_match = prev[cur_match & wmask]) > limit && --chain_length !== 0);\n\n  if (best_len <= s.lookahead) {\n    return best_len;\n  }\n  return s.lookahead;\n}\n\n\n/* ===========================================================================\n * Fill the window when the lookahead becomes insufficient.\n * Updates strstart and lookahead.\n *\n * IN assertion: lookahead < MIN_LOOKAHEAD\n * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD\n *    At least one byte has been read, or avail_in == 0; reads are\n *    performed for at least two bytes (required for the zip translate_eol\n *    option -- not supported here).\n */\nfunction fill_window(s) {\n  var _w_size = s.w_size;\n  var p, n, m, more, str;\n\n  //Assert(s->lookahead < MIN_LOOKAHEAD, \"already enough lookahead\");\n\n  do {\n    more = s.window_size - s.lookahead - s.strstart;\n\n    // JS ints have 32 bit, block below not needed\n    /* Deal with !@#$% 64K limit: */\n    //if (sizeof(int) <= 2) {\n    //    if (more == 0 && s->strstart == 0 && s->lookahead == 0) {\n    //        more = wsize;\n    //\n    //  } else if (more == (unsigned)(-1)) {\n    //        /* Very unlikely, but possible on 16 bit machine if\n    //         * strstart == 0 && lookahead == 1 (input done a byte at time)\n    //         */\n    //        more--;\n    //    }\n    //}\n\n\n    /* If the window is almost full and there is insufficient lookahead,\n     * move the upper half to the lower one to make room in the upper half.\n     */\n    if (s.strstart >= _w_size + (_w_size - MIN_LOOKAHEAD)) {\n\n      utils.arraySet(s.window, s.window, _w_size, _w_size, 0);\n      s.match_start -= _w_size;\n      s.strstart -= _w_size;\n      /* we now have strstart >= MAX_DIST */\n      s.block_start -= _w_size;\n\n      /* Slide the hash table (could be avoided with 32 bit values\n       at the expense of memory usage). We slide even when level == 0\n       to keep the hash table consistent if we switch back to level > 0\n       later. (Using level 0 permanently is not an optimal usage of\n       zlib, so we don't care about this pathological case.)\n       */\n\n      n = s.hash_size;\n      p = n;\n      do {\n        m = s.head[--p];\n        s.head[p] = (m >= _w_size ? m - _w_size : 0);\n      } while (--n);\n\n      n = _w_size;\n      p = n;\n      do {\n        m = s.prev[--p];\n        s.prev[p] = (m >= _w_size ? m - _w_size : 0);\n        /* If n is not on any hash chain, prev[n] is garbage but\n         * its value will never be used.\n         */\n      } while (--n);\n\n      more += _w_size;\n    }\n    if (s.strm.avail_in === 0) {\n      break;\n    }\n\n    /* If there was no sliding:\n     *    strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 &&\n     *    more == window_size - lookahead - strstart\n     * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1)\n     * => more >= window_size - 2*WSIZE + 2\n     * In the BIG_MEM or MMAP case (not yet supported),\n     *   window_size == input_size + MIN_LOOKAHEAD  &&\n     *   strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD.\n     * Otherwise, window_size == 2*WSIZE so more >= 2.\n     * If there was sliding, more >= WSIZE. So in all cases, more >= 2.\n     */\n    //Assert(more >= 2, \"more < 2\");\n    n = read_buf(s.strm, s.window, s.strstart + s.lookahead, more);\n    s.lookahead += n;\n\n    /* Initialize the hash value now that we have some input: */\n    if (s.lookahead + s.insert >= MIN_MATCH) {\n      str = s.strstart - s.insert;\n      s.ins_h = s.window[str];\n\n      /* UPDATE_HASH(s, s->ins_h, s->window[str + 1]); */\n      s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + 1]) & s.hash_mask;\n//#if MIN_MATCH != 3\n//        Call update_hash() MIN_MATCH-3 more times\n//#endif\n      while (s.insert) {\n        /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */\n        s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + MIN_MATCH - 1]) & s.hash_mask;\n\n        s.prev[str & s.w_mask] = s.head[s.ins_h];\n        s.head[s.ins_h] = str;\n        str++;\n        s.insert--;\n        if (s.lookahead + s.insert < MIN_MATCH) {\n          break;\n        }\n      }\n    }\n    /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage,\n     * but this is not important since only literal bytes will be emitted.\n     */\n\n  } while (s.lookahead < MIN_LOOKAHEAD && s.strm.avail_in !== 0);\n\n  /* If the WIN_INIT bytes after the end of the current data have never been\n   * written, then zero those bytes in order to avoid memory check reports of\n   * the use of uninitialized (or uninitialised as Julian writes) bytes by\n   * the longest match routines.  Update the high water mark for the next\n   * time through here.  WIN_INIT is set to MAX_MATCH since the longest match\n   * routines allow scanning to strstart + MAX_MATCH, ignoring lookahead.\n   */\n//  if (s.high_water < s.window_size) {\n//    var curr = s.strstart + s.lookahead;\n//    var init = 0;\n//\n//    if (s.high_water < curr) {\n//      /* Previous high water mark below current data -- zero WIN_INIT\n//       * bytes or up to end of window, whichever is less.\n//       */\n//      init = s.window_size - curr;\n//      if (init > WIN_INIT)\n//        init = WIN_INIT;\n//      zmemzero(s->window + curr, (unsigned)init);\n//      s->high_water = curr + init;\n//    }\n//    else if (s->high_water < (ulg)curr + WIN_INIT) {\n//      /* High water mark at or above current data, but below current data\n//       * plus WIN_INIT -- zero out to current data plus WIN_INIT, or up\n//       * to end of window, whichever is less.\n//       */\n//      init = (ulg)curr + WIN_INIT - s->high_water;\n//      if (init > s->window_size - s->high_water)\n//        init = s->window_size - s->high_water;\n//      zmemzero(s->window + s->high_water, (unsigned)init);\n//      s->high_water += init;\n//    }\n//  }\n//\n//  Assert((ulg)s->strstart <= s->window_size - MIN_LOOKAHEAD,\n//    \"not enough room for search\");\n}\n\n/* ===========================================================================\n * Copy without compression as much as possible from the input stream, return\n * the current block state.\n * This function does not insert new strings in the dictionary since\n * uncompressible data is probably not useful. This function is used\n * only for the level=0 compression option.\n * NOTE: this function should be optimized to avoid extra copying from\n * window to pending_buf.\n */\nfunction deflate_stored(s, flush) {\n  /* Stored blocks are limited to 0xffff bytes, pending_buf is limited\n   * to pending_buf_size, and each stored block has a 5 byte header:\n   */\n  var max_block_size = 0xffff;\n\n  if (max_block_size > s.pending_buf_size - 5) {\n    max_block_size = s.pending_buf_size - 5;\n  }\n\n  /* Copy as much as possible from input to output: */\n  for (;;) {\n    /* Fill the window as much as possible: */\n    if (s.lookahead <= 1) {\n\n      //Assert(s->strstart < s->w_size+MAX_DIST(s) ||\n      //  s->block_start >= (long)s->w_size, \"slide too late\");\n//      if (!(s.strstart < s.w_size + (s.w_size - MIN_LOOKAHEAD) ||\n//        s.block_start >= s.w_size)) {\n//        throw  new Error(\"slide too late\");\n//      }\n\n      fill_window(s);\n      if (s.lookahead === 0 && flush === Z_NO_FLUSH) {\n        return BS_NEED_MORE;\n      }\n\n      if (s.lookahead === 0) {\n        break;\n      }\n      /* flush the current block */\n    }\n    //Assert(s->block_start >= 0L, \"block gone\");\n//    if (s.block_start < 0) throw new Error(\"block gone\");\n\n    s.strstart += s.lookahead;\n    s.lookahead = 0;\n\n    /* Emit a stored block if pending_buf will be full: */\n    var max_start = s.block_start + max_block_size;\n\n    if (s.strstart === 0 || s.strstart >= max_start) {\n      /* strstart == 0 is possible when wraparound on 16-bit machine */\n      s.lookahead = s.strstart - max_start;\n      s.strstart = max_start;\n      /*** FLUSH_BLOCK(s, 0); ***/\n      flush_block_only(s, false);\n      if (s.strm.avail_out === 0) {\n        return BS_NEED_MORE;\n      }\n      /***/\n\n\n    }\n    /* Flush if we may have to slide, otherwise block_start may become\n     * negative and the data will be gone:\n     */\n    if (s.strstart - s.block_start >= (s.w_size - MIN_LOOKAHEAD)) {\n      /*** FLUSH_BLOCK(s, 0); ***/\n      flush_block_only(s, false);\n      if (s.strm.avail_out === 0) {\n        return BS_NEED_MORE;\n      }\n      /***/\n    }\n  }\n\n  s.insert = 0;\n\n  if (flush === Z_FINISH) {\n    /*** FLUSH_BLOCK(s, 1); ***/\n    flush_block_only(s, true);\n    if (s.strm.avail_out === 0) {\n      return BS_FINISH_STARTED;\n    }\n    /***/\n    return BS_FINISH_DONE;\n  }\n\n  if (s.strstart > s.block_start) {\n    /*** FLUSH_BLOCK(s, 0); ***/\n    flush_block_only(s, false);\n    if (s.strm.avail_out === 0) {\n      return BS_NEED_MORE;\n    }\n    /***/\n  }\n\n  return BS_NEED_MORE;\n}\n\n/* ===========================================================================\n * Compress as much as possible from the input stream, return the current\n * block state.\n * This function does not perform lazy evaluation of matches and inserts\n * new strings in the dictionary only for unmatched strings or for short\n * matches. It is used only for the fast compression options.\n */\nfunction deflate_fast(s, flush) {\n  var hash_head;        /* head of the hash chain */\n  var bflush;           /* set if current block must be flushed */\n\n  for (;;) {\n    /* Make sure that we always have enough lookahead, except\n     * at the end of the input file. We need MAX_MATCH bytes\n     * for the next match, plus MIN_MATCH bytes to insert the\n     * string following the next match.\n     */\n    if (s.lookahead < MIN_LOOKAHEAD) {\n      fill_window(s);\n      if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) {\n        return BS_NEED_MORE;\n      }\n      if (s.lookahead === 0) {\n        break; /* flush the current block */\n      }\n    }\n\n    /* Insert the string window[strstart .. strstart+2] in the\n     * dictionary, and set hash_head to the head of the hash chain:\n     */\n    hash_head = 0/*NIL*/;\n    if (s.lookahead >= MIN_MATCH) {\n      /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n      s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n      hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n      s.head[s.ins_h] = s.strstart;\n      /***/\n    }\n\n    /* Find the longest match, discarding those <= prev_length.\n     * At this point we have always match_length < MIN_MATCH\n     */\n    if (hash_head !== 0/*NIL*/ && ((s.strstart - hash_head) <= (s.w_size - MIN_LOOKAHEAD))) {\n      /* To simplify the code, we prevent matches with the string\n       * of window index 0 (in particular we have to avoid a match\n       * of the string with itself at the start of the input file).\n       */\n      s.match_length = longest_match(s, hash_head);\n      /* longest_match() sets match_start */\n    }\n    if (s.match_length >= MIN_MATCH) {\n      // check_match(s, s.strstart, s.match_start, s.match_length); // for debug only\n\n      /*** _tr_tally_dist(s, s.strstart - s.match_start,\n                     s.match_length - MIN_MATCH, bflush); ***/\n      bflush = trees._tr_tally(s, s.strstart - s.match_start, s.match_length - MIN_MATCH);\n\n      s.lookahead -= s.match_length;\n\n      /* Insert new strings in the hash table only if the match length\n       * is not too large. This saves time but degrades compression.\n       */\n      if (s.match_length <= s.max_lazy_match/*max_insert_length*/ && s.lookahead >= MIN_MATCH) {\n        s.match_length--; /* string at strstart already in table */\n        do {\n          s.strstart++;\n          /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n          s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n          hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n          s.head[s.ins_h] = s.strstart;\n          /***/\n          /* strstart never exceeds WSIZE-MAX_MATCH, so there are\n           * always MIN_MATCH bytes ahead.\n           */\n        } while (--s.match_length !== 0);\n        s.strstart++;\n      } else\n      {\n        s.strstart += s.match_length;\n        s.match_length = 0;\n        s.ins_h = s.window[s.strstart];\n        /* UPDATE_HASH(s, s.ins_h, s.window[s.strstart+1]); */\n        s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + 1]) & s.hash_mask;\n\n//#if MIN_MATCH != 3\n//                Call UPDATE_HASH() MIN_MATCH-3 more times\n//#endif\n        /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not\n         * matter since it will be recomputed at next deflate call.\n         */\n      }\n    } else {\n      /* No match, output a literal byte */\n      //Tracevv((stderr,\"%c\", s.window[s.strstart]));\n      /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n      bflush = trees._tr_tally(s, 0, s.window[s.strstart]);\n\n      s.lookahead--;\n      s.strstart++;\n    }\n    if (bflush) {\n      /*** FLUSH_BLOCK(s, 0); ***/\n      flush_block_only(s, false);\n      if (s.strm.avail_out === 0) {\n        return BS_NEED_MORE;\n      }\n      /***/\n    }\n  }\n  s.insert = ((s.strstart < (MIN_MATCH - 1)) ? s.strstart : MIN_MATCH - 1);\n  if (flush === Z_FINISH) {\n    /*** FLUSH_BLOCK(s, 1); ***/\n    flush_block_only(s, true);\n    if (s.strm.avail_out === 0) {\n      return BS_FINISH_STARTED;\n    }\n    /***/\n    return BS_FINISH_DONE;\n  }\n  if (s.last_lit) {\n    /*** FLUSH_BLOCK(s, 0); ***/\n    flush_block_only(s, false);\n    if (s.strm.avail_out === 0) {\n      return BS_NEED_MORE;\n    }\n    /***/\n  }\n  return BS_BLOCK_DONE;\n}\n\n/* ===========================================================================\n * Same as above, but achieves better compression. We use a lazy\n * evaluation for matches: a match is finally adopted only if there is\n * no better match at the next window position.\n */\nfunction deflate_slow(s, flush) {\n  var hash_head;          /* head of hash chain */\n  var bflush;              /* set if current block must be flushed */\n\n  var max_insert;\n\n  /* Process the input block. */\n  for (;;) {\n    /* Make sure that we always have enough lookahead, except\n     * at the end of the input file. We need MAX_MATCH bytes\n     * for the next match, plus MIN_MATCH bytes to insert the\n     * string following the next match.\n     */\n    if (s.lookahead < MIN_LOOKAHEAD) {\n      fill_window(s);\n      if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) {\n        return BS_NEED_MORE;\n      }\n      if (s.lookahead === 0) { break; } /* flush the current block */\n    }\n\n    /* Insert the string window[strstart .. strstart+2] in the\n     * dictionary, and set hash_head to the head of the hash chain:\n     */\n    hash_head = 0/*NIL*/;\n    if (s.lookahead >= MIN_MATCH) {\n      /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n      s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n      hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n      s.head[s.ins_h] = s.strstart;\n      /***/\n    }\n\n    /* Find the longest match, discarding those <= prev_length.\n     */\n    s.prev_length = s.match_length;\n    s.prev_match = s.match_start;\n    s.match_length = MIN_MATCH - 1;\n\n    if (hash_head !== 0/*NIL*/ && s.prev_length < s.max_lazy_match &&\n        s.strstart - hash_head <= (s.w_size - MIN_LOOKAHEAD)/*MAX_DIST(s)*/) {\n      /* To simplify the code, we prevent matches with the string\n       * of window index 0 (in particular we have to avoid a match\n       * of the string with itself at the start of the input file).\n       */\n      s.match_length = longest_match(s, hash_head);\n      /* longest_match() sets match_start */\n\n      if (s.match_length <= 5 &&\n         (s.strategy === Z_FILTERED || (s.match_length === MIN_MATCH && s.strstart - s.match_start > 4096/*TOO_FAR*/))) {\n\n        /* If prev_match is also MIN_MATCH, match_start is garbage\n         * but we will ignore the current match anyway.\n         */\n        s.match_length = MIN_MATCH - 1;\n      }\n    }\n    /* If there was a match at the previous step and the current\n     * match is not better, output the previous match:\n     */\n    if (s.prev_length >= MIN_MATCH && s.match_length <= s.prev_length) {\n      max_insert = s.strstart + s.lookahead - MIN_MATCH;\n      /* Do not insert strings in hash table beyond this. */\n\n      //check_match(s, s.strstart-1, s.prev_match, s.prev_length);\n\n      /***_tr_tally_dist(s, s.strstart - 1 - s.prev_match,\n                     s.prev_length - MIN_MATCH, bflush);***/\n      bflush = trees._tr_tally(s, s.strstart - 1 - s.prev_match, s.prev_length - MIN_MATCH);\n      /* Insert in hash table all strings up to the end of the match.\n       * strstart-1 and strstart are already inserted. If there is not\n       * enough lookahead, the last two strings are not inserted in\n       * the hash table.\n       */\n      s.lookahead -= s.prev_length - 1;\n      s.prev_length -= 2;\n      do {\n        if (++s.strstart <= max_insert) {\n          /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n          s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n          hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n          s.head[s.ins_h] = s.strstart;\n          /***/\n        }\n      } while (--s.prev_length !== 0);\n      s.match_available = 0;\n      s.match_length = MIN_MATCH - 1;\n      s.strstart++;\n\n      if (bflush) {\n        /*** FLUSH_BLOCK(s, 0); ***/\n        flush_block_only(s, false);\n        if (s.strm.avail_out === 0) {\n          return BS_NEED_MORE;\n        }\n        /***/\n      }\n\n    } else if (s.match_available) {\n      /* If there was no match at the previous position, output a\n       * single literal. If there was a match but the current match\n       * is longer, truncate the previous match to a single literal.\n       */\n      //Tracevv((stderr,\"%c\", s->window[s->strstart-1]));\n      /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/\n      bflush = trees._tr_tally(s, 0, s.window[s.strstart - 1]);\n\n      if (bflush) {\n        /*** FLUSH_BLOCK_ONLY(s, 0) ***/\n        flush_block_only(s, false);\n        /***/\n      }\n      s.strstart++;\n      s.lookahead--;\n      if (s.strm.avail_out === 0) {\n        return BS_NEED_MORE;\n      }\n    } else {\n      /* There is no previous match to compare with, wait for\n       * the next step to decide.\n       */\n      s.match_available = 1;\n      s.strstart++;\n      s.lookahead--;\n    }\n  }\n  //Assert (flush != Z_NO_FLUSH, \"no flush?\");\n  if (s.match_available) {\n    //Tracevv((stderr,\"%c\", s->window[s->strstart-1]));\n    /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/\n    bflush = trees._tr_tally(s, 0, s.window[s.strstart - 1]);\n\n    s.match_available = 0;\n  }\n  s.insert = s.strstart < MIN_MATCH - 1 ? s.strstart : MIN_MATCH - 1;\n  if (flush === Z_FINISH) {\n    /*** FLUSH_BLOCK(s, 1); ***/\n    flush_block_only(s, true);\n    if (s.strm.avail_out === 0) {\n      return BS_FINISH_STARTED;\n    }\n    /***/\n    return BS_FINISH_DONE;\n  }\n  if (s.last_lit) {\n    /*** FLUSH_BLOCK(s, 0); ***/\n    flush_block_only(s, false);\n    if (s.strm.avail_out === 0) {\n      return BS_NEED_MORE;\n    }\n    /***/\n  }\n\n  return BS_BLOCK_DONE;\n}\n\n\n/* ===========================================================================\n * For Z_RLE, simply look for runs of bytes, generate matches only of distance\n * one.  Do not maintain a hash table.  (It will be regenerated if this run of\n * deflate switches away from Z_RLE.)\n */\nfunction deflate_rle(s, flush) {\n  var bflush;            /* set if current block must be flushed */\n  var prev;              /* byte at distance one to match */\n  var scan, strend;      /* scan goes up to strend for length of run */\n\n  var _win = s.window;\n\n  for (;;) {\n    /* Make sure that we always have enough lookahead, except\n     * at the end of the input file. We need MAX_MATCH bytes\n     * for the longest run, plus one for the unrolled loop.\n     */\n    if (s.lookahead <= MAX_MATCH) {\n      fill_window(s);\n      if (s.lookahead <= MAX_MATCH && flush === Z_NO_FLUSH) {\n        return BS_NEED_MORE;\n      }\n      if (s.lookahead === 0) { break; } /* flush the current block */\n    }\n\n    /* See how many times the previous byte repeats */\n    s.match_length = 0;\n    if (s.lookahead >= MIN_MATCH && s.strstart > 0) {\n      scan = s.strstart - 1;\n      prev = _win[scan];\n      if (prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan]) {\n        strend = s.strstart + MAX_MATCH;\n        do {\n          /*jshint noempty:false*/\n        } while (prev === _win[++scan] && prev === _win[++scan] &&\n                 prev === _win[++scan] && prev === _win[++scan] &&\n                 prev === _win[++scan] && prev === _win[++scan] &&\n                 prev === _win[++scan] && prev === _win[++scan] &&\n                 scan < strend);\n        s.match_length = MAX_MATCH - (strend - scan);\n        if (s.match_length > s.lookahead) {\n          s.match_length = s.lookahead;\n        }\n      }\n      //Assert(scan <= s->window+(uInt)(s->window_size-1), \"wild scan\");\n    }\n\n    /* Emit match if have run of MIN_MATCH or longer, else emit literal */\n    if (s.match_length >= MIN_MATCH) {\n      //check_match(s, s.strstart, s.strstart - 1, s.match_length);\n\n      /*** _tr_tally_dist(s, 1, s.match_length - MIN_MATCH, bflush); ***/\n      bflush = trees._tr_tally(s, 1, s.match_length - MIN_MATCH);\n\n      s.lookahead -= s.match_length;\n      s.strstart += s.match_length;\n      s.match_length = 0;\n    } else {\n      /* No match, output a literal byte */\n      //Tracevv((stderr,\"%c\", s->window[s->strstart]));\n      /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n      bflush = trees._tr_tally(s, 0, s.window[s.strstart]);\n\n      s.lookahead--;\n      s.strstart++;\n    }\n    if (bflush) {\n      /*** FLUSH_BLOCK(s, 0); ***/\n      flush_block_only(s, false);\n      if (s.strm.avail_out === 0) {\n        return BS_NEED_MORE;\n      }\n      /***/\n    }\n  }\n  s.insert = 0;\n  if (flush === Z_FINISH) {\n    /*** FLUSH_BLOCK(s, 1); ***/\n    flush_block_only(s, true);\n    if (s.strm.avail_out === 0) {\n      return BS_FINISH_STARTED;\n    }\n    /***/\n    return BS_FINISH_DONE;\n  }\n  if (s.last_lit) {\n    /*** FLUSH_BLOCK(s, 0); ***/\n    flush_block_only(s, false);\n    if (s.strm.avail_out === 0) {\n      return BS_NEED_MORE;\n    }\n    /***/\n  }\n  return BS_BLOCK_DONE;\n}\n\n/* ===========================================================================\n * For Z_HUFFMAN_ONLY, do not look for matches.  Do not maintain a hash table.\n * (It will be regenerated if this run of deflate switches away from Huffman.)\n */\nfunction deflate_huff(s, flush) {\n  var bflush;             /* set if current block must be flushed */\n\n  for (;;) {\n    /* Make sure that we have a literal to write. */\n    if (s.lookahead === 0) {\n      fill_window(s);\n      if (s.lookahead === 0) {\n        if (flush === Z_NO_FLUSH) {\n          return BS_NEED_MORE;\n        }\n        break;      /* flush the current block */\n      }\n    }\n\n    /* Output a literal byte */\n    s.match_length = 0;\n    //Tracevv((stderr,\"%c\", s->window[s->strstart]));\n    /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n    bflush = trees._tr_tally(s, 0, s.window[s.strstart]);\n    s.lookahead--;\n    s.strstart++;\n    if (bflush) {\n      /*** FLUSH_BLOCK(s, 0); ***/\n      flush_block_only(s, false);\n      if (s.strm.avail_out === 0) {\n        return BS_NEED_MORE;\n      }\n      /***/\n    }\n  }\n  s.insert = 0;\n  if (flush === Z_FINISH) {\n    /*** FLUSH_BLOCK(s, 1); ***/\n    flush_block_only(s, true);\n    if (s.strm.avail_out === 0) {\n      return BS_FINISH_STARTED;\n    }\n    /***/\n    return BS_FINISH_DONE;\n  }\n  if (s.last_lit) {\n    /*** FLUSH_BLOCK(s, 0); ***/\n    flush_block_only(s, false);\n    if (s.strm.avail_out === 0) {\n      return BS_NEED_MORE;\n    }\n    /***/\n  }\n  return BS_BLOCK_DONE;\n}\n\n/* Values for max_lazy_match, good_match and max_chain_length, depending on\n * the desired pack level (0..9). The values given below have been tuned to\n * exclude worst case performance for pathological files. Better values may be\n * found for specific files.\n */\nfunction Config(good_length, max_lazy, nice_length, max_chain, func) {\n  this.good_length = good_length;\n  this.max_lazy = max_lazy;\n  this.nice_length = nice_length;\n  this.max_chain = max_chain;\n  this.func = func;\n}\n\nvar configuration_table;\n\nconfiguration_table = [\n  /*      good lazy nice chain */\n  new Config(0, 0, 0, 0, deflate_stored),          /* 0 store only */\n  new Config(4, 4, 8, 4, deflate_fast),            /* 1 max speed, no lazy matches */\n  new Config(4, 5, 16, 8, deflate_fast),           /* 2 */\n  new Config(4, 6, 32, 32, deflate_fast),          /* 3 */\n\n  new Config(4, 4, 16, 16, deflate_slow),          /* 4 lazy matches */\n  new Config(8, 16, 32, 32, deflate_slow),         /* 5 */\n  new Config(8, 16, 128, 128, deflate_slow),       /* 6 */\n  new Config(8, 32, 128, 256, deflate_slow),       /* 7 */\n  new Config(32, 128, 258, 1024, deflate_slow),    /* 8 */\n  new Config(32, 258, 258, 4096, deflate_slow)     /* 9 max compression */\n];\n\n\n/* ===========================================================================\n * Initialize the \"longest match\" routines for a new zlib stream\n */\nfunction lm_init(s) {\n  s.window_size = 2 * s.w_size;\n\n  /*** CLEAR_HASH(s); ***/\n  zero(s.head); // Fill with NIL (= 0);\n\n  /* Set the default configuration parameters:\n   */\n  s.max_lazy_match = configuration_table[s.level].max_lazy;\n  s.good_match = configuration_table[s.level].good_length;\n  s.nice_match = configuration_table[s.level].nice_length;\n  s.max_chain_length = configuration_table[s.level].max_chain;\n\n  s.strstart = 0;\n  s.block_start = 0;\n  s.lookahead = 0;\n  s.insert = 0;\n  s.match_length = s.prev_length = MIN_MATCH - 1;\n  s.match_available = 0;\n  s.ins_h = 0;\n}\n\n\nfunction DeflateState() {\n  this.strm = null;            /* pointer back to this zlib stream */\n  this.status = 0;            /* as the name implies */\n  this.pending_buf = null;      /* output still pending */\n  this.pending_buf_size = 0;  /* size of pending_buf */\n  this.pending_out = 0;       /* next pending byte to output to the stream */\n  this.pending = 0;           /* nb of bytes in the pending buffer */\n  this.wrap = 0;              /* bit 0 true for zlib, bit 1 true for gzip */\n  this.gzhead = null;         /* gzip header information to write */\n  this.gzindex = 0;           /* where in extra, name, or comment */\n  this.method = Z_DEFLATED; /* can only be DEFLATED */\n  this.last_flush = -1;   /* value of flush param for previous deflate call */\n\n  this.w_size = 0;  /* LZ77 window size (32K by default) */\n  this.w_bits = 0;  /* log2(w_size)  (8..16) */\n  this.w_mask = 0;  /* w_size - 1 */\n\n  this.window = null;\n  /* Sliding window. Input bytes are read into the second half of the window,\n   * and move to the first half later to keep a dictionary of at least wSize\n   * bytes. With this organization, matches are limited to a distance of\n   * wSize-MAX_MATCH bytes, but this ensures that IO is always\n   * performed with a length multiple of the block size.\n   */\n\n  this.window_size = 0;\n  /* Actual size of window: 2*wSize, except when the user input buffer\n   * is directly used as sliding window.\n   */\n\n  this.prev = null;\n  /* Link to older string with same hash index. To limit the size of this\n   * array to 64K, this link is maintained only for the last 32K strings.\n   * An index in this array is thus a window index modulo 32K.\n   */\n\n  this.head = null;   /* Heads of the hash chains or NIL. */\n\n  this.ins_h = 0;       /* hash index of string to be inserted */\n  this.hash_size = 0;   /* number of elements in hash table */\n  this.hash_bits = 0;   /* log2(hash_size) */\n  this.hash_mask = 0;   /* hash_size-1 */\n\n  this.hash_shift = 0;\n  /* Number of bits by which ins_h must be shifted at each input\n   * step. It must be such that after MIN_MATCH steps, the oldest\n   * byte no longer takes part in the hash key, that is:\n   *   hash_shift * MIN_MATCH >= hash_bits\n   */\n\n  this.block_start = 0;\n  /* Window position at the beginning of the current output block. Gets\n   * negative when the window is moved backwards.\n   */\n\n  this.match_length = 0;      /* length of best match */\n  this.prev_match = 0;        /* previous match */\n  this.match_available = 0;   /* set if previous match exists */\n  this.strstart = 0;          /* start of string to insert */\n  this.match_start = 0;       /* start of matching string */\n  this.lookahead = 0;         /* number of valid bytes ahead in window */\n\n  this.prev_length = 0;\n  /* Length of the best match at previous step. Matches not greater than this\n   * are discarded. This is used in the lazy match evaluation.\n   */\n\n  this.max_chain_length = 0;\n  /* To speed up deflation, hash chains are never searched beyond this\n   * length.  A higher limit improves compression ratio but degrades the\n   * speed.\n   */\n\n  this.max_lazy_match = 0;\n  /* Attempt to find a better match only when the current match is strictly\n   * smaller than this value. This mechanism is used only for compression\n   * levels >= 4.\n   */\n  // That's alias to max_lazy_match, don't use directly\n  //this.max_insert_length = 0;\n  /* Insert new strings in the hash table only if the match length is not\n   * greater than this length. This saves time but degrades compression.\n   * max_insert_length is used only for compression levels <= 3.\n   */\n\n  this.level = 0;     /* compression level (1..9) */\n  this.strategy = 0;  /* favor or force Huffman coding*/\n\n  this.good_match = 0;\n  /* Use a faster search when the previous match is longer than this */\n\n  this.nice_match = 0; /* Stop searching when current match exceeds this */\n\n              /* used by trees.c: */\n\n  /* Didn't use ct_data typedef below to suppress compiler warning */\n\n  // struct ct_data_s dyn_ltree[HEAP_SIZE];   /* literal and length tree */\n  // struct ct_data_s dyn_dtree[2*D_CODES+1]; /* distance tree */\n  // struct ct_data_s bl_tree[2*BL_CODES+1];  /* Huffman tree for bit lengths */\n\n  // Use flat array of DOUBLE size, with interleaved fata,\n  // because JS does not support effective\n  this.dyn_ltree  = new utils.Buf16(HEAP_SIZE * 2);\n  this.dyn_dtree  = new utils.Buf16((2 * D_CODES + 1) * 2);\n  this.bl_tree    = new utils.Buf16((2 * BL_CODES + 1) * 2);\n  zero(this.dyn_ltree);\n  zero(this.dyn_dtree);\n  zero(this.bl_tree);\n\n  this.l_desc   = null;         /* desc. for literal tree */\n  this.d_desc   = null;         /* desc. for distance tree */\n  this.bl_desc  = null;         /* desc. for bit length tree */\n\n  //ush bl_count[MAX_BITS+1];\n  this.bl_count = new utils.Buf16(MAX_BITS + 1);\n  /* number of codes at each bit length for an optimal tree */\n\n  //int heap[2*L_CODES+1];      /* heap used to build the Huffman trees */\n  this.heap = new utils.Buf16(2 * L_CODES + 1);  /* heap used to build the Huffman trees */\n  zero(this.heap);\n\n  this.heap_len = 0;               /* number of elements in the heap */\n  this.heap_max = 0;               /* element of largest frequency */\n  /* The sons of heap[n] are heap[2*n] and heap[2*n+1]. heap[0] is not used.\n   * The same heap array is used to build all trees.\n   */\n\n  this.depth = new utils.Buf16(2 * L_CODES + 1); //uch depth[2*L_CODES+1];\n  zero(this.depth);\n  /* Depth of each subtree used as tie breaker for trees of equal frequency\n   */\n\n  this.l_buf = 0;          /* buffer index for literals or lengths */\n\n  this.lit_bufsize = 0;\n  /* Size of match buffer for literals/lengths.  There are 4 reasons for\n   * limiting lit_bufsize to 64K:\n   *   - frequencies can be kept in 16 bit counters\n   *   - if compression is not successful for the first block, all input\n   *     data is still in the window so we can still emit a stored block even\n   *     when input comes from standard input.  (This can also be done for\n   *     all blocks if lit_bufsize is not greater than 32K.)\n   *   - if compression is not successful for a file smaller than 64K, we can\n   *     even emit a stored file instead of a stored block (saving 5 bytes).\n   *     This is applicable only for zip (not gzip or zlib).\n   *   - creating new Huffman trees less frequently may not provide fast\n   *     adaptation to changes in the input data statistics. (Take for\n   *     example a binary file with poorly compressible code followed by\n   *     a highly compressible string table.) Smaller buffer sizes give\n   *     fast adaptation but have of course the overhead of transmitting\n   *     trees more frequently.\n   *   - I can't count above 4\n   */\n\n  this.last_lit = 0;      /* running index in l_buf */\n\n  this.d_buf = 0;\n  /* Buffer index for distances. To simplify the code, d_buf and l_buf have\n   * the same number of elements. To use different lengths, an extra flag\n   * array would be necessary.\n   */\n\n  this.opt_len = 0;       /* bit length of current block with optimal trees */\n  this.static_len = 0;    /* bit length of current block with static trees */\n  this.matches = 0;       /* number of string matches in current block */\n  this.insert = 0;        /* bytes at end of window left to insert */\n\n\n  this.bi_buf = 0;\n  /* Output buffer. bits are inserted starting at the bottom (least\n   * significant bits).\n   */\n  this.bi_valid = 0;\n  /* Number of valid bits in bi_buf.  All bits above the last valid bit\n   * are always zero.\n   */\n\n  // Used for window memory init. We safely ignore it for JS. That makes\n  // sense only for pointers and memory check tools.\n  //this.high_water = 0;\n  /* High water mark offset in window for initialized bytes -- bytes above\n   * this are set to zero in order to avoid memory check warnings when\n   * longest match routines access bytes past the input.  This is then\n   * updated to the new high water mark.\n   */\n}\n\n\nfunction deflateResetKeep(strm) {\n  var s;\n\n  if (!strm || !strm.state) {\n    return err(strm, Z_STREAM_ERROR);\n  }\n\n  strm.total_in = strm.total_out = 0;\n  strm.data_type = Z_UNKNOWN;\n\n  s = strm.state;\n  s.pending = 0;\n  s.pending_out = 0;\n\n  if (s.wrap < 0) {\n    s.wrap = -s.wrap;\n    /* was made negative by deflate(..., Z_FINISH); */\n  }\n  s.status = (s.wrap ? INIT_STATE : BUSY_STATE);\n  strm.adler = (s.wrap === 2) ?\n    0  // crc32(0, Z_NULL, 0)\n  :\n    1; // adler32(0, Z_NULL, 0)\n  s.last_flush = Z_NO_FLUSH;\n  trees._tr_init(s);\n  return Z_OK;\n}\n\n\nfunction deflateReset(strm) {\n  var ret = deflateResetKeep(strm);\n  if (ret === Z_OK) {\n    lm_init(strm.state);\n  }\n  return ret;\n}\n\n\nfunction deflateSetHeader(strm, head) {\n  if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n  if (strm.state.wrap !== 2) { return Z_STREAM_ERROR; }\n  strm.state.gzhead = head;\n  return Z_OK;\n}\n\n\nfunction deflateInit2(strm, level, method, windowBits, memLevel, strategy) {\n  if (!strm) { // === Z_NULL\n    return Z_STREAM_ERROR;\n  }\n  var wrap = 1;\n\n  if (level === Z_DEFAULT_COMPRESSION) {\n    level = 6;\n  }\n\n  if (windowBits < 0) { /* suppress zlib wrapper */\n    wrap = 0;\n    windowBits = -windowBits;\n  }\n\n  else if (windowBits > 15) {\n    wrap = 2;           /* write gzip wrapper instead */\n    windowBits -= 16;\n  }\n\n\n  if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method !== Z_DEFLATED ||\n    windowBits < 8 || windowBits > 15 || level < 0 || level > 9 ||\n    strategy < 0 || strategy > Z_FIXED) {\n    return err(strm, Z_STREAM_ERROR);\n  }\n\n\n  if (windowBits === 8) {\n    windowBits = 9;\n  }\n  /* until 256-byte window bug fixed */\n\n  var s = new DeflateState();\n\n  strm.state = s;\n  s.strm = strm;\n\n  s.wrap = wrap;\n  s.gzhead = null;\n  s.w_bits = windowBits;\n  s.w_size = 1 << s.w_bits;\n  s.w_mask = s.w_size - 1;\n\n  s.hash_bits = memLevel + 7;\n  s.hash_size = 1 << s.hash_bits;\n  s.hash_mask = s.hash_size - 1;\n  s.hash_shift = ~~((s.hash_bits + MIN_MATCH - 1) / MIN_MATCH);\n\n  s.window = new utils.Buf8(s.w_size * 2);\n  s.head = new utils.Buf16(s.hash_size);\n  s.prev = new utils.Buf16(s.w_size);\n\n  // Don't need mem init magic for JS.\n  //s.high_water = 0;  /* nothing written to s->window yet */\n\n  s.lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */\n\n  s.pending_buf_size = s.lit_bufsize * 4;\n\n  //overlay = (ushf *) ZALLOC(strm, s->lit_bufsize, sizeof(ush)+2);\n  //s->pending_buf = (uchf *) overlay;\n  s.pending_buf = new utils.Buf8(s.pending_buf_size);\n\n  // It is offset from `s.pending_buf` (size is `s.lit_bufsize * 2`)\n  //s->d_buf = overlay + s->lit_bufsize/sizeof(ush);\n  s.d_buf = 1 * s.lit_bufsize;\n\n  //s->l_buf = s->pending_buf + (1+sizeof(ush))*s->lit_bufsize;\n  s.l_buf = (1 + 2) * s.lit_bufsize;\n\n  s.level = level;\n  s.strategy = strategy;\n  s.method = method;\n\n  return deflateReset(strm);\n}\n\nfunction deflateInit(strm, level) {\n  return deflateInit2(strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY);\n}\n\n\nfunction deflate(strm, flush) {\n  var old_flush, s;\n  var beg, val; // for gzip header write only\n\n  if (!strm || !strm.state ||\n    flush > Z_BLOCK || flush < 0) {\n    return strm ? err(strm, Z_STREAM_ERROR) : Z_STREAM_ERROR;\n  }\n\n  s = strm.state;\n\n  if (!strm.output ||\n      (!strm.input && strm.avail_in !== 0) ||\n      (s.status === FINISH_STATE && flush !== Z_FINISH)) {\n    return err(strm, (strm.avail_out === 0) ? Z_BUF_ERROR : Z_STREAM_ERROR);\n  }\n\n  s.strm = strm; /* just in case */\n  old_flush = s.last_flush;\n  s.last_flush = flush;\n\n  /* Write the header */\n  if (s.status === INIT_STATE) {\n\n    if (s.wrap === 2) { // GZIP header\n      strm.adler = 0;  //crc32(0L, Z_NULL, 0);\n      put_byte(s, 31);\n      put_byte(s, 139);\n      put_byte(s, 8);\n      if (!s.gzhead) { // s->gzhead == Z_NULL\n        put_byte(s, 0);\n        put_byte(s, 0);\n        put_byte(s, 0);\n        put_byte(s, 0);\n        put_byte(s, 0);\n        put_byte(s, s.level === 9 ? 2 :\n                    (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ?\n                     4 : 0));\n        put_byte(s, OS_CODE);\n        s.status = BUSY_STATE;\n      }\n      else {\n        put_byte(s, (s.gzhead.text ? 1 : 0) +\n                    (s.gzhead.hcrc ? 2 : 0) +\n                    (!s.gzhead.extra ? 0 : 4) +\n                    (!s.gzhead.name ? 0 : 8) +\n                    (!s.gzhead.comment ? 0 : 16)\n                );\n        put_byte(s, s.gzhead.time & 0xff);\n        put_byte(s, (s.gzhead.time >> 8) & 0xff);\n        put_byte(s, (s.gzhead.time >> 16) & 0xff);\n        put_byte(s, (s.gzhead.time >> 24) & 0xff);\n        put_byte(s, s.level === 9 ? 2 :\n                    (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ?\n                     4 : 0));\n        put_byte(s, s.gzhead.os & 0xff);\n        if (s.gzhead.extra && s.gzhead.extra.length) {\n          put_byte(s, s.gzhead.extra.length & 0xff);\n          put_byte(s, (s.gzhead.extra.length >> 8) & 0xff);\n        }\n        if (s.gzhead.hcrc) {\n          strm.adler = crc32(strm.adler, s.pending_buf, s.pending, 0);\n        }\n        s.gzindex = 0;\n        s.status = EXTRA_STATE;\n      }\n    }\n    else // DEFLATE header\n    {\n      var header = (Z_DEFLATED + ((s.w_bits - 8) << 4)) << 8;\n      var level_flags = -1;\n\n      if (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2) {\n        level_flags = 0;\n      } else if (s.level < 6) {\n        level_flags = 1;\n      } else if (s.level === 6) {\n        level_flags = 2;\n      } else {\n        level_flags = 3;\n      }\n      header |= (level_flags << 6);\n      if (s.strstart !== 0) { header |= PRESET_DICT; }\n      header += 31 - (header % 31);\n\n      s.status = BUSY_STATE;\n      putShortMSB(s, header);\n\n      /* Save the adler32 of the preset dictionary: */\n      if (s.strstart !== 0) {\n        putShortMSB(s, strm.adler >>> 16);\n        putShortMSB(s, strm.adler & 0xffff);\n      }\n      strm.adler = 1; // adler32(0L, Z_NULL, 0);\n    }\n  }\n\n//#ifdef GZIP\n  if (s.status === EXTRA_STATE) {\n    if (s.gzhead.extra/* != Z_NULL*/) {\n      beg = s.pending;  /* start of bytes to update crc */\n\n      while (s.gzindex < (s.gzhead.extra.length & 0xffff)) {\n        if (s.pending === s.pending_buf_size) {\n          if (s.gzhead.hcrc && s.pending > beg) {\n            strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n          }\n          flush_pending(strm);\n          beg = s.pending;\n          if (s.pending === s.pending_buf_size) {\n            break;\n          }\n        }\n        put_byte(s, s.gzhead.extra[s.gzindex] & 0xff);\n        s.gzindex++;\n      }\n      if (s.gzhead.hcrc && s.pending > beg) {\n        strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n      }\n      if (s.gzindex === s.gzhead.extra.length) {\n        s.gzindex = 0;\n        s.status = NAME_STATE;\n      }\n    }\n    else {\n      s.status = NAME_STATE;\n    }\n  }\n  if (s.status === NAME_STATE) {\n    if (s.gzhead.name/* != Z_NULL*/) {\n      beg = s.pending;  /* start of bytes to update crc */\n      //int val;\n\n      do {\n        if (s.pending === s.pending_buf_size) {\n          if (s.gzhead.hcrc && s.pending > beg) {\n            strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n          }\n          flush_pending(strm);\n          beg = s.pending;\n          if (s.pending === s.pending_buf_size) {\n            val = 1;\n            break;\n          }\n        }\n        // JS specific: little magic to add zero terminator to end of string\n        if (s.gzindex < s.gzhead.name.length) {\n          val = s.gzhead.name.charCodeAt(s.gzindex++) & 0xff;\n        } else {\n          val = 0;\n        }\n        put_byte(s, val);\n      } while (val !== 0);\n\n      if (s.gzhead.hcrc && s.pending > beg) {\n        strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n      }\n      if (val === 0) {\n        s.gzindex = 0;\n        s.status = COMMENT_STATE;\n      }\n    }\n    else {\n      s.status = COMMENT_STATE;\n    }\n  }\n  if (s.status === COMMENT_STATE) {\n    if (s.gzhead.comment/* != Z_NULL*/) {\n      beg = s.pending;  /* start of bytes to update crc */\n      //int val;\n\n      do {\n        if (s.pending === s.pending_buf_size) {\n          if (s.gzhead.hcrc && s.pending > beg) {\n            strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n          }\n          flush_pending(strm);\n          beg = s.pending;\n          if (s.pending === s.pending_buf_size) {\n            val = 1;\n            break;\n          }\n        }\n        // JS specific: little magic to add zero terminator to end of string\n        if (s.gzindex < s.gzhead.comment.length) {\n          val = s.gzhead.comment.charCodeAt(s.gzindex++) & 0xff;\n        } else {\n          val = 0;\n        }\n        put_byte(s, val);\n      } while (val !== 0);\n\n      if (s.gzhead.hcrc && s.pending > beg) {\n        strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n      }\n      if (val === 0) {\n        s.status = HCRC_STATE;\n      }\n    }\n    else {\n      s.status = HCRC_STATE;\n    }\n  }\n  if (s.status === HCRC_STATE) {\n    if (s.gzhead.hcrc) {\n      if (s.pending + 2 > s.pending_buf_size) {\n        flush_pending(strm);\n      }\n      if (s.pending + 2 <= s.pending_buf_size) {\n        put_byte(s, strm.adler & 0xff);\n        put_byte(s, (strm.adler >> 8) & 0xff);\n        strm.adler = 0; //crc32(0L, Z_NULL, 0);\n        s.status = BUSY_STATE;\n      }\n    }\n    else {\n      s.status = BUSY_STATE;\n    }\n  }\n//#endif\n\n  /* Flush as much pending output as possible */\n  if (s.pending !== 0) {\n    flush_pending(strm);\n    if (strm.avail_out === 0) {\n      /* Since avail_out is 0, deflate will be called again with\n       * more output space, but possibly with both pending and\n       * avail_in equal to zero. There won't be anything to do,\n       * but this is not an error situation so make sure we\n       * return OK instead of BUF_ERROR at next call of deflate:\n       */\n      s.last_flush = -1;\n      return Z_OK;\n    }\n\n    /* Make sure there is something to do and avoid duplicate consecutive\n     * flushes. For repeated and useless calls with Z_FINISH, we keep\n     * returning Z_STREAM_END instead of Z_BUF_ERROR.\n     */\n  } else if (strm.avail_in === 0 && rank(flush) <= rank(old_flush) &&\n    flush !== Z_FINISH) {\n    return err(strm, Z_BUF_ERROR);\n  }\n\n  /* User must not provide more input after the first FINISH: */\n  if (s.status === FINISH_STATE && strm.avail_in !== 0) {\n    return err(strm, Z_BUF_ERROR);\n  }\n\n  /* Start a new block or continue the current one.\n   */\n  if (strm.avail_in !== 0 || s.lookahead !== 0 ||\n    (flush !== Z_NO_FLUSH && s.status !== FINISH_STATE)) {\n    var bstate = (s.strategy === Z_HUFFMAN_ONLY) ? deflate_huff(s, flush) :\n      (s.strategy === Z_RLE ? deflate_rle(s, flush) :\n        configuration_table[s.level].func(s, flush));\n\n    if (bstate === BS_FINISH_STARTED || bstate === BS_FINISH_DONE) {\n      s.status = FINISH_STATE;\n    }\n    if (bstate === BS_NEED_MORE || bstate === BS_FINISH_STARTED) {\n      if (strm.avail_out === 0) {\n        s.last_flush = -1;\n        /* avoid BUF_ERROR next call, see above */\n      }\n      return Z_OK;\n      /* If flush != Z_NO_FLUSH && avail_out == 0, the next call\n       * of deflate should use the same flush parameter to make sure\n       * that the flush is complete. So we don't have to output an\n       * empty block here, this will be done at next call. This also\n       * ensures that for a very small output buffer, we emit at most\n       * one empty block.\n       */\n    }\n    if (bstate === BS_BLOCK_DONE) {\n      if (flush === Z_PARTIAL_FLUSH) {\n        trees._tr_align(s);\n      }\n      else if (flush !== Z_BLOCK) { /* FULL_FLUSH or SYNC_FLUSH */\n\n        trees._tr_stored_block(s, 0, 0, false);\n        /* For a full flush, this empty block will be recognized\n         * as a special marker by inflate_sync().\n         */\n        if (flush === Z_FULL_FLUSH) {\n          /*** CLEAR_HASH(s); ***/             /* forget history */\n          zero(s.head); // Fill with NIL (= 0);\n\n          if (s.lookahead === 0) {\n            s.strstart = 0;\n            s.block_start = 0;\n            s.insert = 0;\n          }\n        }\n      }\n      flush_pending(strm);\n      if (strm.avail_out === 0) {\n        s.last_flush = -1; /* avoid BUF_ERROR at next call, see above */\n        return Z_OK;\n      }\n    }\n  }\n  //Assert(strm->avail_out > 0, \"bug2\");\n  //if (strm.avail_out <= 0) { throw new Error(\"bug2\");}\n\n  if (flush !== Z_FINISH) { return Z_OK; }\n  if (s.wrap <= 0) { return Z_STREAM_END; }\n\n  /* Write the trailer */\n  if (s.wrap === 2) {\n    put_byte(s, strm.adler & 0xff);\n    put_byte(s, (strm.adler >> 8) & 0xff);\n    put_byte(s, (strm.adler >> 16) & 0xff);\n    put_byte(s, (strm.adler >> 24) & 0xff);\n    put_byte(s, strm.total_in & 0xff);\n    put_byte(s, (strm.total_in >> 8) & 0xff);\n    put_byte(s, (strm.total_in >> 16) & 0xff);\n    put_byte(s, (strm.total_in >> 24) & 0xff);\n  }\n  else\n  {\n    putShortMSB(s, strm.adler >>> 16);\n    putShortMSB(s, strm.adler & 0xffff);\n  }\n\n  flush_pending(strm);\n  /* If avail_out is zero, the application will call deflate again\n   * to flush the rest.\n   */\n  if (s.wrap > 0) { s.wrap = -s.wrap; }\n  /* write the trailer only once! */\n  return s.pending !== 0 ? Z_OK : Z_STREAM_END;\n}\n\nfunction deflateEnd(strm) {\n  var status;\n\n  if (!strm/*== Z_NULL*/ || !strm.state/*== Z_NULL*/) {\n    return Z_STREAM_ERROR;\n  }\n\n  status = strm.state.status;\n  if (status !== INIT_STATE &&\n    status !== EXTRA_STATE &&\n    status !== NAME_STATE &&\n    status !== COMMENT_STATE &&\n    status !== HCRC_STATE &&\n    status !== BUSY_STATE &&\n    status !== FINISH_STATE\n  ) {\n    return err(strm, Z_STREAM_ERROR);\n  }\n\n  strm.state = null;\n\n  return status === BUSY_STATE ? err(strm, Z_DATA_ERROR) : Z_OK;\n}\n\n\n/* =========================================================================\n * Initializes the compression dictionary from the given byte\n * sequence without producing any compressed output.\n */\nfunction deflateSetDictionary(strm, dictionary) {\n  var dictLength = dictionary.length;\n\n  var s;\n  var str, n;\n  var wrap;\n  var avail;\n  var next;\n  var input;\n  var tmpDict;\n\n  if (!strm/*== Z_NULL*/ || !strm.state/*== Z_NULL*/) {\n    return Z_STREAM_ERROR;\n  }\n\n  s = strm.state;\n  wrap = s.wrap;\n\n  if (wrap === 2 || (wrap === 1 && s.status !== INIT_STATE) || s.lookahead) {\n    return Z_STREAM_ERROR;\n  }\n\n  /* when using zlib wrappers, compute Adler-32 for provided dictionary */\n  if (wrap === 1) {\n    /* adler32(strm->adler, dictionary, dictLength); */\n    strm.adler = adler32(strm.adler, dictionary, dictLength, 0);\n  }\n\n  s.wrap = 0;   /* avoid computing Adler-32 in read_buf */\n\n  /* if dictionary would fill window, just replace the history */\n  if (dictLength >= s.w_size) {\n    if (wrap === 0) {            /* already empty otherwise */\n      /*** CLEAR_HASH(s); ***/\n      zero(s.head); // Fill with NIL (= 0);\n      s.strstart = 0;\n      s.block_start = 0;\n      s.insert = 0;\n    }\n    /* use the tail */\n    // dictionary = dictionary.slice(dictLength - s.w_size);\n    tmpDict = new utils.Buf8(s.w_size);\n    utils.arraySet(tmpDict, dictionary, dictLength - s.w_size, s.w_size, 0);\n    dictionary = tmpDict;\n    dictLength = s.w_size;\n  }\n  /* insert dictionary into window and hash */\n  avail = strm.avail_in;\n  next = strm.next_in;\n  input = strm.input;\n  strm.avail_in = dictLength;\n  strm.next_in = 0;\n  strm.input = dictionary;\n  fill_window(s);\n  while (s.lookahead >= MIN_MATCH) {\n    str = s.strstart;\n    n = s.lookahead - (MIN_MATCH - 1);\n    do {\n      /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */\n      s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + MIN_MATCH - 1]) & s.hash_mask;\n\n      s.prev[str & s.w_mask] = s.head[s.ins_h];\n\n      s.head[s.ins_h] = str;\n      str++;\n    } while (--n);\n    s.strstart = str;\n    s.lookahead = MIN_MATCH - 1;\n    fill_window(s);\n  }\n  s.strstart += s.lookahead;\n  s.block_start = s.strstart;\n  s.insert = s.lookahead;\n  s.lookahead = 0;\n  s.match_length = s.prev_length = MIN_MATCH - 1;\n  s.match_available = 0;\n  strm.next_in = next;\n  strm.input = input;\n  strm.avail_in = avail;\n  s.wrap = wrap;\n  return Z_OK;\n}\n\n\nexports.deflateInit = deflateInit;\nexports.deflateInit2 = deflateInit2;\nexports.deflateReset = deflateReset;\nexports.deflateResetKeep = deflateResetKeep;\nexports.deflateSetHeader = deflateSetHeader;\nexports.deflate = deflate;\nexports.deflateEnd = deflateEnd;\nexports.deflateSetDictionary = deflateSetDictionary;\nexports.deflateInfo = 'pako deflate (from Nodeca project)';\n\n/* Not implemented\nexports.deflateBound = deflateBound;\nexports.deflateCopy = deflateCopy;\nexports.deflateParams = deflateParams;\nexports.deflatePending = deflatePending;\nexports.deflatePrime = deflatePrime;\nexports.deflateTune = deflateTune;\n*/\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/pako/lib/zlib/deflate.js\n// module id = 1510\n// module chunks = 0","'use strict';\n\n// See state defs from inflate.js\nvar BAD = 30;       /* got a data error -- remain here until reset */\nvar TYPE = 12;      /* i: waiting for type bits, including last-flag bit */\n\n/*\n   Decode literal, length, and distance codes and write out the resulting\n   literal and match bytes until either not enough input or output is\n   available, an end-of-block is encountered, or a data error is encountered.\n   When large enough input and output buffers are supplied to inflate(), for\n   example, a 16K input buffer and a 64K output buffer, more than 95% of the\n   inflate execution time is spent in this routine.\n\n   Entry assumptions:\n\n        state.mode === LEN\n        strm.avail_in >= 6\n        strm.avail_out >= 258\n        start >= strm.avail_out\n        state.bits < 8\n\n   On return, state.mode is one of:\n\n        LEN -- ran out of enough output space or enough available input\n        TYPE -- reached end of block code, inflate() to interpret next block\n        BAD -- error in block data\n\n   Notes:\n\n    - The maximum input bits used by a length/distance pair is 15 bits for the\n      length code, 5 bits for the length extra, 15 bits for the distance code,\n      and 13 bits for the distance extra.  This totals 48 bits, or six bytes.\n      Therefore if strm.avail_in >= 6, then there is enough input to avoid\n      checking for available input while decoding.\n\n    - The maximum bytes that a single length/distance pair can output is 258\n      bytes, which is the maximum length that can be coded.  inflate_fast()\n      requires strm.avail_out >= 258 for each loop to avoid checking for\n      output space.\n */\nmodule.exports = function inflate_fast(strm, start) {\n  var state;\n  var _in;                    /* local strm.input */\n  var last;                   /* have enough input while in < last */\n  var _out;                   /* local strm.output */\n  var beg;                    /* inflate()'s initial strm.output */\n  var end;                    /* while out < end, enough space available */\n//#ifdef INFLATE_STRICT\n  var dmax;                   /* maximum distance from zlib header */\n//#endif\n  var wsize;                  /* window size or zero if not using window */\n  var whave;                  /* valid bytes in the window */\n  var wnext;                  /* window write index */\n  // Use `s_window` instead `window`, avoid conflict with instrumentation tools\n  var s_window;               /* allocated sliding window, if wsize != 0 */\n  var hold;                   /* local strm.hold */\n  var bits;                   /* local strm.bits */\n  var lcode;                  /* local strm.lencode */\n  var dcode;                  /* local strm.distcode */\n  var lmask;                  /* mask for first level of length codes */\n  var dmask;                  /* mask for first level of distance codes */\n  var here;                   /* retrieved table entry */\n  var op;                     /* code bits, operation, extra bits, or */\n                              /*  window position, window bytes to copy */\n  var len;                    /* match length, unused bytes */\n  var dist;                   /* match distance */\n  var from;                   /* where to copy match from */\n  var from_source;\n\n\n  var input, output; // JS specific, because we have no pointers\n\n  /* copy state to local variables */\n  state = strm.state;\n  //here = state.here;\n  _in = strm.next_in;\n  input = strm.input;\n  last = _in + (strm.avail_in - 5);\n  _out = strm.next_out;\n  output = strm.output;\n  beg = _out - (start - strm.avail_out);\n  end = _out + (strm.avail_out - 257);\n//#ifdef INFLATE_STRICT\n  dmax = state.dmax;\n//#endif\n  wsize = state.wsize;\n  whave = state.whave;\n  wnext = state.wnext;\n  s_window = state.window;\n  hold = state.hold;\n  bits = state.bits;\n  lcode = state.lencode;\n  dcode = state.distcode;\n  lmask = (1 << state.lenbits) - 1;\n  dmask = (1 << state.distbits) - 1;\n\n\n  /* decode literals and length/distances until end-of-block or not enough\n     input data or output space */\n\n  top:\n  do {\n    if (bits < 15) {\n      hold += input[_in++] << bits;\n      bits += 8;\n      hold += input[_in++] << bits;\n      bits += 8;\n    }\n\n    here = lcode[hold & lmask];\n\n    dolen:\n    for (;;) { // Goto emulation\n      op = here >>> 24/*here.bits*/;\n      hold >>>= op;\n      bits -= op;\n      op = (here >>> 16) & 0xff/*here.op*/;\n      if (op === 0) {                          /* literal */\n        //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?\n        //        \"inflate:         literal '%c'\\n\" :\n        //        \"inflate:         literal 0x%02x\\n\", here.val));\n        output[_out++] = here & 0xffff/*here.val*/;\n      }\n      else if (op & 16) {                     /* length base */\n        len = here & 0xffff/*here.val*/;\n        op &= 15;                           /* number of extra bits */\n        if (op) {\n          if (bits < op) {\n            hold += input[_in++] << bits;\n            bits += 8;\n          }\n          len += hold & ((1 << op) - 1);\n          hold >>>= op;\n          bits -= op;\n        }\n        //Tracevv((stderr, \"inflate:         length %u\\n\", len));\n        if (bits < 15) {\n          hold += input[_in++] << bits;\n          bits += 8;\n          hold += input[_in++] << bits;\n          bits += 8;\n        }\n        here = dcode[hold & dmask];\n\n        dodist:\n        for (;;) { // goto emulation\n          op = here >>> 24/*here.bits*/;\n          hold >>>= op;\n          bits -= op;\n          op = (here >>> 16) & 0xff/*here.op*/;\n\n          if (op & 16) {                      /* distance base */\n            dist = here & 0xffff/*here.val*/;\n            op &= 15;                       /* number of extra bits */\n            if (bits < op) {\n              hold += input[_in++] << bits;\n              bits += 8;\n              if (bits < op) {\n                hold += input[_in++] << bits;\n                bits += 8;\n              }\n            }\n            dist += hold & ((1 << op) - 1);\n//#ifdef INFLATE_STRICT\n            if (dist > dmax) {\n              strm.msg = 'invalid distance too far back';\n              state.mode = BAD;\n              break top;\n            }\n//#endif\n            hold >>>= op;\n            bits -= op;\n            //Tracevv((stderr, \"inflate:         distance %u\\n\", dist));\n            op = _out - beg;                /* max distance in output */\n            if (dist > op) {                /* see if copy from window */\n              op = dist - op;               /* distance back in window */\n              if (op > whave) {\n                if (state.sane) {\n                  strm.msg = 'invalid distance too far back';\n                  state.mode = BAD;\n                  break top;\n                }\n\n// (!) This block is disabled in zlib defailts,\n// don't enable it for binary compatibility\n//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR\n//                if (len <= op - whave) {\n//                  do {\n//                    output[_out++] = 0;\n//                  } while (--len);\n//                  continue top;\n//                }\n//                len -= op - whave;\n//                do {\n//                  output[_out++] = 0;\n//                } while (--op > whave);\n//                if (op === 0) {\n//                  from = _out - dist;\n//                  do {\n//                    output[_out++] = output[from++];\n//                  } while (--len);\n//                  continue top;\n//                }\n//#endif\n              }\n              from = 0; // window index\n              from_source = s_window;\n              if (wnext === 0) {           /* very common case */\n                from += wsize - op;\n                if (op < len) {         /* some from window */\n                  len -= op;\n                  do {\n                    output[_out++] = s_window[from++];\n                  } while (--op);\n                  from = _out - dist;  /* rest from output */\n                  from_source = output;\n                }\n              }\n              else if (wnext < op) {      /* wrap around window */\n                from += wsize + wnext - op;\n                op -= wnext;\n                if (op < len) {         /* some from end of window */\n                  len -= op;\n                  do {\n                    output[_out++] = s_window[from++];\n                  } while (--op);\n                  from = 0;\n                  if (wnext < len) {  /* some from start of window */\n                    op = wnext;\n                    len -= op;\n                    do {\n                      output[_out++] = s_window[from++];\n                    } while (--op);\n                    from = _out - dist;      /* rest from output */\n                    from_source = output;\n                  }\n                }\n              }\n              else {                      /* contiguous in window */\n                from += wnext - op;\n                if (op < len) {         /* some from window */\n                  len -= op;\n                  do {\n                    output[_out++] = s_window[from++];\n                  } while (--op);\n                  from = _out - dist;  /* rest from output */\n                  from_source = output;\n                }\n              }\n              while (len > 2) {\n                output[_out++] = from_source[from++];\n                output[_out++] = from_source[from++];\n                output[_out++] = from_source[from++];\n                len -= 3;\n              }\n              if (len) {\n                output[_out++] = from_source[from++];\n                if (len > 1) {\n                  output[_out++] = from_source[from++];\n                }\n              }\n            }\n            else {\n              from = _out - dist;          /* copy direct from output */\n              do {                        /* minimum length is three */\n                output[_out++] = output[from++];\n                output[_out++] = output[from++];\n                output[_out++] = output[from++];\n                len -= 3;\n              } while (len > 2);\n              if (len) {\n                output[_out++] = output[from++];\n                if (len > 1) {\n                  output[_out++] = output[from++];\n                }\n              }\n            }\n          }\n          else if ((op & 64) === 0) {          /* 2nd level distance code */\n            here = dcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];\n            continue dodist;\n          }\n          else {\n            strm.msg = 'invalid distance code';\n            state.mode = BAD;\n            break top;\n          }\n\n          break; // need to emulate goto via \"continue\"\n        }\n      }\n      else if ((op & 64) === 0) {              /* 2nd level length code */\n        here = lcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];\n        continue dolen;\n      }\n      else if (op & 32) {                     /* end-of-block */\n        //Tracevv((stderr, \"inflate:         end of block\\n\"));\n        state.mode = TYPE;\n        break top;\n      }\n      else {\n        strm.msg = 'invalid literal/length code';\n        state.mode = BAD;\n        break top;\n      }\n\n      break; // need to emulate goto via \"continue\"\n    }\n  } while (_in < last && _out < end);\n\n  /* return unused bytes (on entry, bits < 8, so in won't go too far back) */\n  len = bits >> 3;\n  _in -= len;\n  bits -= len << 3;\n  hold &= (1 << bits) - 1;\n\n  /* update state and return */\n  strm.next_in = _in;\n  strm.next_out = _out;\n  strm.avail_in = (_in < last ? 5 + (last - _in) : 5 - (_in - last));\n  strm.avail_out = (_out < end ? 257 + (end - _out) : 257 - (_out - end));\n  state.hold = hold;\n  state.bits = bits;\n  return;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/pako/lib/zlib/inffast.js\n// module id = 1511\n// module chunks = 0","'use strict';\n\n\nvar utils         = require('../utils/common');\nvar adler32       = require('./adler32');\nvar crc32         = require('./crc32');\nvar inflate_fast  = require('./inffast');\nvar inflate_table = require('./inftrees');\n\nvar CODES = 0;\nvar LENS = 1;\nvar DISTS = 2;\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\n\n/* Allowed flush values; see deflate() and inflate() below for details */\n//var Z_NO_FLUSH      = 0;\n//var Z_PARTIAL_FLUSH = 1;\n//var Z_SYNC_FLUSH    = 2;\n//var Z_FULL_FLUSH    = 3;\nvar Z_FINISH        = 4;\nvar Z_BLOCK         = 5;\nvar Z_TREES         = 6;\n\n\n/* Return codes for the compression/decompression functions. Negative values\n * are errors, positive values are used for special but normal events.\n */\nvar Z_OK            = 0;\nvar Z_STREAM_END    = 1;\nvar Z_NEED_DICT     = 2;\n//var Z_ERRNO         = -1;\nvar Z_STREAM_ERROR  = -2;\nvar Z_DATA_ERROR    = -3;\nvar Z_MEM_ERROR     = -4;\nvar Z_BUF_ERROR     = -5;\n//var Z_VERSION_ERROR = -6;\n\n/* The deflate compression method */\nvar Z_DEFLATED  = 8;\n\n\n/* STATES ====================================================================*/\n/* ===========================================================================*/\n\n\nvar    HEAD = 1;       /* i: waiting for magic header */\nvar    FLAGS = 2;      /* i: waiting for method and flags (gzip) */\nvar    TIME = 3;       /* i: waiting for modification time (gzip) */\nvar    OS = 4;         /* i: waiting for extra flags and operating system (gzip) */\nvar    EXLEN = 5;      /* i: waiting for extra length (gzip) */\nvar    EXTRA = 6;      /* i: waiting for extra bytes (gzip) */\nvar    NAME = 7;       /* i: waiting for end of file name (gzip) */\nvar    COMMENT = 8;    /* i: waiting for end of comment (gzip) */\nvar    HCRC = 9;       /* i: waiting for header crc (gzip) */\nvar    DICTID = 10;    /* i: waiting for dictionary check value */\nvar    DICT = 11;      /* waiting for inflateSetDictionary() call */\nvar        TYPE = 12;      /* i: waiting for type bits, including last-flag bit */\nvar        TYPEDO = 13;    /* i: same, but skip check to exit inflate on new block */\nvar        STORED = 14;    /* i: waiting for stored size (length and complement) */\nvar        COPY_ = 15;     /* i/o: same as COPY below, but only first time in */\nvar        COPY = 16;      /* i/o: waiting for input or output to copy stored block */\nvar        TABLE = 17;     /* i: waiting for dynamic block table lengths */\nvar        LENLENS = 18;   /* i: waiting for code length code lengths */\nvar        CODELENS = 19;  /* i: waiting for length/lit and distance code lengths */\nvar            LEN_ = 20;      /* i: same as LEN below, but only first time in */\nvar            LEN = 21;       /* i: waiting for length/lit/eob code */\nvar            LENEXT = 22;    /* i: waiting for length extra bits */\nvar            DIST = 23;      /* i: waiting for distance code */\nvar            DISTEXT = 24;   /* i: waiting for distance extra bits */\nvar            MATCH = 25;     /* o: waiting for output space to copy string */\nvar            LIT = 26;       /* o: waiting for output space to write literal */\nvar    CHECK = 27;     /* i: waiting for 32-bit check value */\nvar    LENGTH = 28;    /* i: waiting for 32-bit length (gzip) */\nvar    DONE = 29;      /* finished check, done -- remain here until reset */\nvar    BAD = 30;       /* got a data error -- remain here until reset */\nvar    MEM = 31;       /* got an inflate() memory error -- remain here until reset */\nvar    SYNC = 32;      /* looking for synchronization bytes to restart inflate() */\n\n/* ===========================================================================*/\n\n\n\nvar ENOUGH_LENS = 852;\nvar ENOUGH_DISTS = 592;\n//var ENOUGH =  (ENOUGH_LENS+ENOUGH_DISTS);\n\nvar MAX_WBITS = 15;\n/* 32K LZ77 window */\nvar DEF_WBITS = MAX_WBITS;\n\n\nfunction zswap32(q) {\n  return  (((q >>> 24) & 0xff) +\n          ((q >>> 8) & 0xff00) +\n          ((q & 0xff00) << 8) +\n          ((q & 0xff) << 24));\n}\n\n\nfunction InflateState() {\n  this.mode = 0;             /* current inflate mode */\n  this.last = false;          /* true if processing last block */\n  this.wrap = 0;              /* bit 0 true for zlib, bit 1 true for gzip */\n  this.havedict = false;      /* true if dictionary provided */\n  this.flags = 0;             /* gzip header method and flags (0 if zlib) */\n  this.dmax = 0;              /* zlib header max distance (INFLATE_STRICT) */\n  this.check = 0;             /* protected copy of check value */\n  this.total = 0;             /* protected copy of output count */\n  // TODO: may be {}\n  this.head = null;           /* where to save gzip header information */\n\n  /* sliding window */\n  this.wbits = 0;             /* log base 2 of requested window size */\n  this.wsize = 0;             /* window size or zero if not using window */\n  this.whave = 0;             /* valid bytes in the window */\n  this.wnext = 0;             /* window write index */\n  this.window = null;         /* allocated sliding window, if needed */\n\n  /* bit accumulator */\n  this.hold = 0;              /* input bit accumulator */\n  this.bits = 0;              /* number of bits in \"in\" */\n\n  /* for string and stored block copying */\n  this.length = 0;            /* literal or length of data to copy */\n  this.offset = 0;            /* distance back to copy string from */\n\n  /* for table and code decoding */\n  this.extra = 0;             /* extra bits needed */\n\n  /* fixed and dynamic code tables */\n  this.lencode = null;          /* starting table for length/literal codes */\n  this.distcode = null;         /* starting table for distance codes */\n  this.lenbits = 0;           /* index bits for lencode */\n  this.distbits = 0;          /* index bits for distcode */\n\n  /* dynamic table building */\n  this.ncode = 0;             /* number of code length code lengths */\n  this.nlen = 0;              /* number of length code lengths */\n  this.ndist = 0;             /* number of distance code lengths */\n  this.have = 0;              /* number of code lengths in lens[] */\n  this.next = null;              /* next available space in codes[] */\n\n  this.lens = new utils.Buf16(320); /* temporary storage for code lengths */\n  this.work = new utils.Buf16(288); /* work area for code table building */\n\n  /*\n   because we don't have pointers in js, we use lencode and distcode directly\n   as buffers so we don't need codes\n  */\n  //this.codes = new utils.Buf32(ENOUGH);       /* space for code tables */\n  this.lendyn = null;              /* dynamic table for length/literal codes (JS specific) */\n  this.distdyn = null;             /* dynamic table for distance codes (JS specific) */\n  this.sane = 0;                   /* if false, allow invalid distance too far */\n  this.back = 0;                   /* bits back of last unprocessed length/lit */\n  this.was = 0;                    /* initial length of match */\n}\n\nfunction inflateResetKeep(strm) {\n  var state;\n\n  if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n  state = strm.state;\n  strm.total_in = strm.total_out = state.total = 0;\n  strm.msg = ''; /*Z_NULL*/\n  if (state.wrap) {       /* to support ill-conceived Java test suite */\n    strm.adler = state.wrap & 1;\n  }\n  state.mode = HEAD;\n  state.last = 0;\n  state.havedict = 0;\n  state.dmax = 32768;\n  state.head = null/*Z_NULL*/;\n  state.hold = 0;\n  state.bits = 0;\n  //state.lencode = state.distcode = state.next = state.codes;\n  state.lencode = state.lendyn = new utils.Buf32(ENOUGH_LENS);\n  state.distcode = state.distdyn = new utils.Buf32(ENOUGH_DISTS);\n\n  state.sane = 1;\n  state.back = -1;\n  //Tracev((stderr, \"inflate: reset\\n\"));\n  return Z_OK;\n}\n\nfunction inflateReset(strm) {\n  var state;\n\n  if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n  state = strm.state;\n  state.wsize = 0;\n  state.whave = 0;\n  state.wnext = 0;\n  return inflateResetKeep(strm);\n\n}\n\nfunction inflateReset2(strm, windowBits) {\n  var wrap;\n  var state;\n\n  /* get the state */\n  if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n  state = strm.state;\n\n  /* extract wrap request from windowBits parameter */\n  if (windowBits < 0) {\n    wrap = 0;\n    windowBits = -windowBits;\n  }\n  else {\n    wrap = (windowBits >> 4) + 1;\n    if (windowBits < 48) {\n      windowBits &= 15;\n    }\n  }\n\n  /* set number of window bits, free window if different */\n  if (windowBits && (windowBits < 8 || windowBits > 15)) {\n    return Z_STREAM_ERROR;\n  }\n  if (state.window !== null && state.wbits !== windowBits) {\n    state.window = null;\n  }\n\n  /* update state and reset the rest of it */\n  state.wrap = wrap;\n  state.wbits = windowBits;\n  return inflateReset(strm);\n}\n\nfunction inflateInit2(strm, windowBits) {\n  var ret;\n  var state;\n\n  if (!strm) { return Z_STREAM_ERROR; }\n  //strm.msg = Z_NULL;                 /* in case we return an error */\n\n  state = new InflateState();\n\n  //if (state === Z_NULL) return Z_MEM_ERROR;\n  //Tracev((stderr, \"inflate: allocated\\n\"));\n  strm.state = state;\n  state.window = null/*Z_NULL*/;\n  ret = inflateReset2(strm, windowBits);\n  if (ret !== Z_OK) {\n    strm.state = null/*Z_NULL*/;\n  }\n  return ret;\n}\n\nfunction inflateInit(strm) {\n  return inflateInit2(strm, DEF_WBITS);\n}\n\n\n/*\n Return state with length and distance decoding tables and index sizes set to\n fixed code decoding.  Normally this returns fixed tables from inffixed.h.\n If BUILDFIXED is defined, then instead this routine builds the tables the\n first time it's called, and returns those tables the first time and\n thereafter.  This reduces the size of the code by about 2K bytes, in\n exchange for a little execution time.  However, BUILDFIXED should not be\n used for threaded applications, since the rewriting of the tables and virgin\n may not be thread-safe.\n */\nvar virgin = true;\n\nvar lenfix, distfix; // We have no pointers in JS, so keep tables separate\n\nfunction fixedtables(state) {\n  /* build fixed huffman tables if first call (may not be thread safe) */\n  if (virgin) {\n    var sym;\n\n    lenfix = new utils.Buf32(512);\n    distfix = new utils.Buf32(32);\n\n    /* literal/length table */\n    sym = 0;\n    while (sym < 144) { state.lens[sym++] = 8; }\n    while (sym < 256) { state.lens[sym++] = 9; }\n    while (sym < 280) { state.lens[sym++] = 7; }\n    while (sym < 288) { state.lens[sym++] = 8; }\n\n    inflate_table(LENS,  state.lens, 0, 288, lenfix,   0, state.work, { bits: 9 });\n\n    /* distance table */\n    sym = 0;\n    while (sym < 32) { state.lens[sym++] = 5; }\n\n    inflate_table(DISTS, state.lens, 0, 32,   distfix, 0, state.work, { bits: 5 });\n\n    /* do this just once */\n    virgin = false;\n  }\n\n  state.lencode = lenfix;\n  state.lenbits = 9;\n  state.distcode = distfix;\n  state.distbits = 5;\n}\n\n\n/*\n Update the window with the last wsize (normally 32K) bytes written before\n returning.  If window does not exist yet, create it.  This is only called\n when a window is already in use, or when output has been written during this\n inflate call, but the end of the deflate stream has not been reached yet.\n It is also called to create a window for dictionary data when a dictionary\n is loaded.\n\n Providing output buffers larger than 32K to inflate() should provide a speed\n advantage, since only the last 32K of output is copied to the sliding window\n upon return from inflate(), and since all distances after the first 32K of\n output will fall in the output data, making match copies simpler and faster.\n The advantage may be dependent on the size of the processor's data caches.\n */\nfunction updatewindow(strm, src, end, copy) {\n  var dist;\n  var state = strm.state;\n\n  /* if it hasn't been done already, allocate space for the window */\n  if (state.window === null) {\n    state.wsize = 1 << state.wbits;\n    state.wnext = 0;\n    state.whave = 0;\n\n    state.window = new utils.Buf8(state.wsize);\n  }\n\n  /* copy state->wsize or less output bytes into the circular window */\n  if (copy >= state.wsize) {\n    utils.arraySet(state.window, src, end - state.wsize, state.wsize, 0);\n    state.wnext = 0;\n    state.whave = state.wsize;\n  }\n  else {\n    dist = state.wsize - state.wnext;\n    if (dist > copy) {\n      dist = copy;\n    }\n    //zmemcpy(state->window + state->wnext, end - copy, dist);\n    utils.arraySet(state.window, src, end - copy, dist, state.wnext);\n    copy -= dist;\n    if (copy) {\n      //zmemcpy(state->window, end - copy, copy);\n      utils.arraySet(state.window, src, end - copy, copy, 0);\n      state.wnext = copy;\n      state.whave = state.wsize;\n    }\n    else {\n      state.wnext += dist;\n      if (state.wnext === state.wsize) { state.wnext = 0; }\n      if (state.whave < state.wsize) { state.whave += dist; }\n    }\n  }\n  return 0;\n}\n\nfunction inflate(strm, flush) {\n  var state;\n  var input, output;          // input/output buffers\n  var next;                   /* next input INDEX */\n  var put;                    /* next output INDEX */\n  var have, left;             /* available input and output */\n  var hold;                   /* bit buffer */\n  var bits;                   /* bits in bit buffer */\n  var _in, _out;              /* save starting available input and output */\n  var copy;                   /* number of stored or match bytes to copy */\n  var from;                   /* where to copy match bytes from */\n  var from_source;\n  var here = 0;               /* current decoding table entry */\n  var here_bits, here_op, here_val; // paked \"here\" denormalized (JS specific)\n  //var last;                   /* parent table entry */\n  var last_bits, last_op, last_val; // paked \"last\" denormalized (JS specific)\n  var len;                    /* length to copy for repeats, bits to drop */\n  var ret;                    /* return code */\n  var hbuf = new utils.Buf8(4);    /* buffer for gzip header crc calculation */\n  var opts;\n\n  var n; // temporary var for NEED_BITS\n\n  var order = /* permutation of code lengths */\n    [ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ];\n\n\n  if (!strm || !strm.state || !strm.output ||\n      (!strm.input && strm.avail_in !== 0)) {\n    return Z_STREAM_ERROR;\n  }\n\n  state = strm.state;\n  if (state.mode === TYPE) { state.mode = TYPEDO; }    /* skip check */\n\n\n  //--- LOAD() ---\n  put = strm.next_out;\n  output = strm.output;\n  left = strm.avail_out;\n  next = strm.next_in;\n  input = strm.input;\n  have = strm.avail_in;\n  hold = state.hold;\n  bits = state.bits;\n  //---\n\n  _in = have;\n  _out = left;\n  ret = Z_OK;\n\n  inf_leave: // goto emulation\n  for (;;) {\n    switch (state.mode) {\n    case HEAD:\n      if (state.wrap === 0) {\n        state.mode = TYPEDO;\n        break;\n      }\n      //=== NEEDBITS(16);\n      while (bits < 16) {\n        if (have === 0) { break inf_leave; }\n        have--;\n        hold += input[next++] << bits;\n        bits += 8;\n      }\n      //===//\n      if ((state.wrap & 2) && hold === 0x8b1f) {  /* gzip header */\n        state.check = 0/*crc32(0L, Z_NULL, 0)*/;\n        //=== CRC2(state.check, hold);\n        hbuf[0] = hold & 0xff;\n        hbuf[1] = (hold >>> 8) & 0xff;\n        state.check = crc32(state.check, hbuf, 2, 0);\n        //===//\n\n        //=== INITBITS();\n        hold = 0;\n        bits = 0;\n        //===//\n        state.mode = FLAGS;\n        break;\n      }\n      state.flags = 0;           /* expect zlib header */\n      if (state.head) {\n        state.head.done = false;\n      }\n      if (!(state.wrap & 1) ||   /* check if zlib header allowed */\n        (((hold & 0xff)/*BITS(8)*/ << 8) + (hold >> 8)) % 31) {\n        strm.msg = 'incorrect header check';\n        state.mode = BAD;\n        break;\n      }\n      if ((hold & 0x0f)/*BITS(4)*/ !== Z_DEFLATED) {\n        strm.msg = 'unknown compression method';\n        state.mode = BAD;\n        break;\n      }\n      //--- DROPBITS(4) ---//\n      hold >>>= 4;\n      bits -= 4;\n      //---//\n      len = (hold & 0x0f)/*BITS(4)*/ + 8;\n      if (state.wbits === 0) {\n        state.wbits = len;\n      }\n      else if (len > state.wbits) {\n        strm.msg = 'invalid window size';\n        state.mode = BAD;\n        break;\n      }\n      state.dmax = 1 << len;\n      //Tracev((stderr, \"inflate:   zlib header ok\\n\"));\n      strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;\n      state.mode = hold & 0x200 ? DICTID : TYPE;\n      //=== INITBITS();\n      hold = 0;\n      bits = 0;\n      //===//\n      break;\n    case FLAGS:\n      //=== NEEDBITS(16); */\n      while (bits < 16) {\n        if (have === 0) { break inf_leave; }\n        have--;\n        hold += input[next++] << bits;\n        bits += 8;\n      }\n      //===//\n      state.flags = hold;\n      if ((state.flags & 0xff) !== Z_DEFLATED) {\n        strm.msg = 'unknown compression method';\n        state.mode = BAD;\n        break;\n      }\n      if (state.flags & 0xe000) {\n        strm.msg = 'unknown header flags set';\n        state.mode = BAD;\n        break;\n      }\n      if (state.head) {\n        state.head.text = ((hold >> 8) & 1);\n      }\n      if (state.flags & 0x0200) {\n        //=== CRC2(state.check, hold);\n        hbuf[0] = hold & 0xff;\n        hbuf[1] = (hold >>> 8) & 0xff;\n        state.check = crc32(state.check, hbuf, 2, 0);\n        //===//\n      }\n      //=== INITBITS();\n      hold = 0;\n      bits = 0;\n      //===//\n      state.mode = TIME;\n      /* falls through */\n    case TIME:\n      //=== NEEDBITS(32); */\n      while (bits < 32) {\n        if (have === 0) { break inf_leave; }\n        have--;\n        hold += input[next++] << bits;\n        bits += 8;\n      }\n      //===//\n      if (state.head) {\n        state.head.time = hold;\n      }\n      if (state.flags & 0x0200) {\n        //=== CRC4(state.check, hold)\n        hbuf[0] = hold & 0xff;\n        hbuf[1] = (hold >>> 8) & 0xff;\n        hbuf[2] = (hold >>> 16) & 0xff;\n        hbuf[3] = (hold >>> 24) & 0xff;\n        state.check = crc32(state.check, hbuf, 4, 0);\n        //===\n      }\n      //=== INITBITS();\n      hold = 0;\n      bits = 0;\n      //===//\n      state.mode = OS;\n      /* falls through */\n    case OS:\n      //=== NEEDBITS(16); */\n      while (bits < 16) {\n        if (have === 0) { break inf_leave; }\n        have--;\n        hold += input[next++] << bits;\n        bits += 8;\n      }\n      //===//\n      if (state.head) {\n        state.head.xflags = (hold & 0xff);\n        state.head.os = (hold >> 8);\n      }\n      if (state.flags & 0x0200) {\n        //=== CRC2(state.check, hold);\n        hbuf[0] = hold & 0xff;\n        hbuf[1] = (hold >>> 8) & 0xff;\n        state.check = crc32(state.check, hbuf, 2, 0);\n        //===//\n      }\n      //=== INITBITS();\n      hold = 0;\n      bits = 0;\n      //===//\n      state.mode = EXLEN;\n      /* falls through */\n    case EXLEN:\n      if (state.flags & 0x0400) {\n        //=== NEEDBITS(16); */\n        while (bits < 16) {\n          if (have === 0) { break inf_leave; }\n          have--;\n          hold += input[next++] << bits;\n          bits += 8;\n        }\n        //===//\n        state.length = hold;\n        if (state.head) {\n          state.head.extra_len = hold;\n        }\n        if (state.flags & 0x0200) {\n          //=== CRC2(state.check, hold);\n          hbuf[0] = hold & 0xff;\n          hbuf[1] = (hold >>> 8) & 0xff;\n          state.check = crc32(state.check, hbuf, 2, 0);\n          //===//\n        }\n        //=== INITBITS();\n        hold = 0;\n        bits = 0;\n        //===//\n      }\n      else if (state.head) {\n        state.head.extra = null/*Z_NULL*/;\n      }\n      state.mode = EXTRA;\n      /* falls through */\n    case EXTRA:\n      if (state.flags & 0x0400) {\n        copy = state.length;\n        if (copy > have) { copy = have; }\n        if (copy) {\n          if (state.head) {\n            len = state.head.extra_len - state.length;\n            if (!state.head.extra) {\n              // Use untyped array for more conveniend processing later\n              state.head.extra = new Array(state.head.extra_len);\n            }\n            utils.arraySet(\n              state.head.extra,\n              input,\n              next,\n              // extra field is limited to 65536 bytes\n              // - no need for additional size check\n              copy,\n              /*len + copy > state.head.extra_max - len ? state.head.extra_max : copy,*/\n              len\n            );\n            //zmemcpy(state.head.extra + len, next,\n            //        len + copy > state.head.extra_max ?\n            //        state.head.extra_max - len : copy);\n          }\n          if (state.flags & 0x0200) {\n            state.check = crc32(state.check, input, copy, next);\n          }\n          have -= copy;\n          next += copy;\n          state.length -= copy;\n        }\n        if (state.length) { break inf_leave; }\n      }\n      state.length = 0;\n      state.mode = NAME;\n      /* falls through */\n    case NAME:\n      if (state.flags & 0x0800) {\n        if (have === 0) { break inf_leave; }\n        copy = 0;\n        do {\n          // TODO: 2 or 1 bytes?\n          len = input[next + copy++];\n          /* use constant limit because in js we should not preallocate memory */\n          if (state.head && len &&\n              (state.length < 65536 /*state.head.name_max*/)) {\n            state.head.name += String.fromCharCode(len);\n          }\n        } while (len && copy < have);\n\n        if (state.flags & 0x0200) {\n          state.check = crc32(state.check, input, copy, next);\n        }\n        have -= copy;\n        next += copy;\n        if (len) { break inf_leave; }\n      }\n      else if (state.head) {\n        state.head.name = null;\n      }\n      state.length = 0;\n      state.mode = COMMENT;\n      /* falls through */\n    case COMMENT:\n      if (state.flags & 0x1000) {\n        if (have === 0) { break inf_leave; }\n        copy = 0;\n        do {\n          len = input[next + copy++];\n          /* use constant limit because in js we should not preallocate memory */\n          if (state.head && len &&\n              (state.length < 65536 /*state.head.comm_max*/)) {\n            state.head.comment += String.fromCharCode(len);\n          }\n        } while (len && copy < have);\n        if (state.flags & 0x0200) {\n          state.check = crc32(state.check, input, copy, next);\n        }\n        have -= copy;\n        next += copy;\n        if (len) { break inf_leave; }\n      }\n      else if (state.head) {\n        state.head.comment = null;\n      }\n      state.mode = HCRC;\n      /* falls through */\n    case HCRC:\n      if (state.flags & 0x0200) {\n        //=== NEEDBITS(16); */\n        while (bits < 16) {\n          if (have === 0) { break inf_leave; }\n          have--;\n          hold += input[next++] << bits;\n          bits += 8;\n        }\n        //===//\n        if (hold !== (state.check & 0xffff)) {\n          strm.msg = 'header crc mismatch';\n          state.mode = BAD;\n          break;\n        }\n        //=== INITBITS();\n        hold = 0;\n        bits = 0;\n        //===//\n      }\n      if (state.head) {\n        state.head.hcrc = ((state.flags >> 9) & 1);\n        state.head.done = true;\n      }\n      strm.adler = state.check = 0;\n      state.mode = TYPE;\n      break;\n    case DICTID:\n      //=== NEEDBITS(32); */\n      while (bits < 32) {\n        if (have === 0) { break inf_leave; }\n        have--;\n        hold += input[next++] << bits;\n        bits += 8;\n      }\n      //===//\n      strm.adler = state.check = zswap32(hold);\n      //=== INITBITS();\n      hold = 0;\n      bits = 0;\n      //===//\n      state.mode = DICT;\n      /* falls through */\n    case DICT:\n      if (state.havedict === 0) {\n        //--- RESTORE() ---\n        strm.next_out = put;\n        strm.avail_out = left;\n        strm.next_in = next;\n        strm.avail_in = have;\n        state.hold = hold;\n        state.bits = bits;\n        //---\n        return Z_NEED_DICT;\n      }\n      strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;\n      state.mode = TYPE;\n      /* falls through */\n    case TYPE:\n      if (flush === Z_BLOCK || flush === Z_TREES) { break inf_leave; }\n      /* falls through */\n    case TYPEDO:\n      if (state.last) {\n        //--- BYTEBITS() ---//\n        hold >>>= bits & 7;\n        bits -= bits & 7;\n        //---//\n        state.mode = CHECK;\n        break;\n      }\n      //=== NEEDBITS(3); */\n      while (bits < 3) {\n        if (have === 0) { break inf_leave; }\n        have--;\n        hold += input[next++] << bits;\n        bits += 8;\n      }\n      //===//\n      state.last = (hold & 0x01)/*BITS(1)*/;\n      //--- DROPBITS(1) ---//\n      hold >>>= 1;\n      bits -= 1;\n      //---//\n\n      switch ((hold & 0x03)/*BITS(2)*/) {\n      case 0:                             /* stored block */\n        //Tracev((stderr, \"inflate:     stored block%s\\n\",\n        //        state.last ? \" (last)\" : \"\"));\n        state.mode = STORED;\n        break;\n      case 1:                             /* fixed block */\n        fixedtables(state);\n        //Tracev((stderr, \"inflate:     fixed codes block%s\\n\",\n        //        state.last ? \" (last)\" : \"\"));\n        state.mode = LEN_;             /* decode codes */\n        if (flush === Z_TREES) {\n          //--- DROPBITS(2) ---//\n          hold >>>= 2;\n          bits -= 2;\n          //---//\n          break inf_leave;\n        }\n        break;\n      case 2:                             /* dynamic block */\n        //Tracev((stderr, \"inflate:     dynamic codes block%s\\n\",\n        //        state.last ? \" (last)\" : \"\"));\n        state.mode = TABLE;\n        break;\n      case 3:\n        strm.msg = 'invalid block type';\n        state.mode = BAD;\n      }\n      //--- DROPBITS(2) ---//\n      hold >>>= 2;\n      bits -= 2;\n      //---//\n      break;\n    case STORED:\n      //--- BYTEBITS() ---// /* go to byte boundary */\n      hold >>>= bits & 7;\n      bits -= bits & 7;\n      //---//\n      //=== NEEDBITS(32); */\n      while (bits < 32) {\n        if (have === 0) { break inf_leave; }\n        have--;\n        hold += input[next++] << bits;\n        bits += 8;\n      }\n      //===//\n      if ((hold & 0xffff) !== ((hold >>> 16) ^ 0xffff)) {\n        strm.msg = 'invalid stored block lengths';\n        state.mode = BAD;\n        break;\n      }\n      state.length = hold & 0xffff;\n      //Tracev((stderr, \"inflate:       stored length %u\\n\",\n      //        state.length));\n      //=== INITBITS();\n      hold = 0;\n      bits = 0;\n      //===//\n      state.mode = COPY_;\n      if (flush === Z_TREES) { break inf_leave; }\n      /* falls through */\n    case COPY_:\n      state.mode = COPY;\n      /* falls through */\n    case COPY:\n      copy = state.length;\n      if (copy) {\n        if (copy > have) { copy = have; }\n        if (copy > left) { copy = left; }\n        if (copy === 0) { break inf_leave; }\n        //--- zmemcpy(put, next, copy); ---\n        utils.arraySet(output, input, next, copy, put);\n        //---//\n        have -= copy;\n        next += copy;\n        left -= copy;\n        put += copy;\n        state.length -= copy;\n        break;\n      }\n      //Tracev((stderr, \"inflate:       stored end\\n\"));\n      state.mode = TYPE;\n      break;\n    case TABLE:\n      //=== NEEDBITS(14); */\n      while (bits < 14) {\n        if (have === 0) { break inf_leave; }\n        have--;\n        hold += input[next++] << bits;\n        bits += 8;\n      }\n      //===//\n      state.nlen = (hold & 0x1f)/*BITS(5)*/ + 257;\n      //--- DROPBITS(5) ---//\n      hold >>>= 5;\n      bits -= 5;\n      //---//\n      state.ndist = (hold & 0x1f)/*BITS(5)*/ + 1;\n      //--- DROPBITS(5) ---//\n      hold >>>= 5;\n      bits -= 5;\n      //---//\n      state.ncode = (hold & 0x0f)/*BITS(4)*/ + 4;\n      //--- DROPBITS(4) ---//\n      hold >>>= 4;\n      bits -= 4;\n      //---//\n//#ifndef PKZIP_BUG_WORKAROUND\n      if (state.nlen > 286 || state.ndist > 30) {\n        strm.msg = 'too many length or distance symbols';\n        state.mode = BAD;\n        break;\n      }\n//#endif\n      //Tracev((stderr, \"inflate:       table sizes ok\\n\"));\n      state.have = 0;\n      state.mode = LENLENS;\n      /* falls through */\n    case LENLENS:\n      while (state.have < state.ncode) {\n        //=== NEEDBITS(3);\n        while (bits < 3) {\n          if (have === 0) { break inf_leave; }\n          have--;\n          hold += input[next++] << bits;\n          bits += 8;\n        }\n        //===//\n        state.lens[order[state.have++]] = (hold & 0x07);//BITS(3);\n        //--- DROPBITS(3) ---//\n        hold >>>= 3;\n        bits -= 3;\n        //---//\n      }\n      while (state.have < 19) {\n        state.lens[order[state.have++]] = 0;\n      }\n      // We have separate tables & no pointers. 2 commented lines below not needed.\n      //state.next = state.codes;\n      //state.lencode = state.next;\n      // Switch to use dynamic table\n      state.lencode = state.lendyn;\n      state.lenbits = 7;\n\n      opts = { bits: state.lenbits };\n      ret = inflate_table(CODES, state.lens, 0, 19, state.lencode, 0, state.work, opts);\n      state.lenbits = opts.bits;\n\n      if (ret) {\n        strm.msg = 'invalid code lengths set';\n        state.mode = BAD;\n        break;\n      }\n      //Tracev((stderr, \"inflate:       code lengths ok\\n\"));\n      state.have = 0;\n      state.mode = CODELENS;\n      /* falls through */\n    case CODELENS:\n      while (state.have < state.nlen + state.ndist) {\n        for (;;) {\n          here = state.lencode[hold & ((1 << state.lenbits) - 1)];/*BITS(state.lenbits)*/\n          here_bits = here >>> 24;\n          here_op = (here >>> 16) & 0xff;\n          here_val = here & 0xffff;\n\n          if ((here_bits) <= bits) { break; }\n          //--- PULLBYTE() ---//\n          if (have === 0) { break inf_leave; }\n          have--;\n          hold += input[next++] << bits;\n          bits += 8;\n          //---//\n        }\n        if (here_val < 16) {\n          //--- DROPBITS(here.bits) ---//\n          hold >>>= here_bits;\n          bits -= here_bits;\n          //---//\n          state.lens[state.have++] = here_val;\n        }\n        else {\n          if (here_val === 16) {\n            //=== NEEDBITS(here.bits + 2);\n            n = here_bits + 2;\n            while (bits < n) {\n              if (have === 0) { break inf_leave; }\n              have--;\n              hold += input[next++] << bits;\n              bits += 8;\n            }\n            //===//\n            //--- DROPBITS(here.bits) ---//\n            hold >>>= here_bits;\n            bits -= here_bits;\n            //---//\n            if (state.have === 0) {\n              strm.msg = 'invalid bit length repeat';\n              state.mode = BAD;\n              break;\n            }\n            len = state.lens[state.have - 1];\n            copy = 3 + (hold & 0x03);//BITS(2);\n            //--- DROPBITS(2) ---//\n            hold >>>= 2;\n            bits -= 2;\n            //---//\n          }\n          else if (here_val === 17) {\n            //=== NEEDBITS(here.bits + 3);\n            n = here_bits + 3;\n            while (bits < n) {\n              if (have === 0) { break inf_leave; }\n              have--;\n              hold += input[next++] << bits;\n              bits += 8;\n            }\n            //===//\n            //--- DROPBITS(here.bits) ---//\n            hold >>>= here_bits;\n            bits -= here_bits;\n            //---//\n            len = 0;\n            copy = 3 + (hold & 0x07);//BITS(3);\n            //--- DROPBITS(3) ---//\n            hold >>>= 3;\n            bits -= 3;\n            //---//\n          }\n          else {\n            //=== NEEDBITS(here.bits + 7);\n            n = here_bits + 7;\n            while (bits < n) {\n              if (have === 0) { break inf_leave; }\n              have--;\n              hold += input[next++] << bits;\n              bits += 8;\n            }\n            //===//\n            //--- DROPBITS(here.bits) ---//\n            hold >>>= here_bits;\n            bits -= here_bits;\n            //---//\n            len = 0;\n            copy = 11 + (hold & 0x7f);//BITS(7);\n            //--- DROPBITS(7) ---//\n            hold >>>= 7;\n            bits -= 7;\n            //---//\n          }\n          if (state.have + copy > state.nlen + state.ndist) {\n            strm.msg = 'invalid bit length repeat';\n            state.mode = BAD;\n            break;\n          }\n          while (copy--) {\n            state.lens[state.have++] = len;\n          }\n        }\n      }\n\n      /* handle error breaks in while */\n      if (state.mode === BAD) { break; }\n\n      /* check for end-of-block code (better have one) */\n      if (state.lens[256] === 0) {\n        strm.msg = 'invalid code -- missing end-of-block';\n        state.mode = BAD;\n        break;\n      }\n\n      /* build code tables -- note: do not change the lenbits or distbits\n         values here (9 and 6) without reading the comments in inftrees.h\n         concerning the ENOUGH constants, which depend on those values */\n      state.lenbits = 9;\n\n      opts = { bits: state.lenbits };\n      ret = inflate_table(LENS, state.lens, 0, state.nlen, state.lencode, 0, state.work, opts);\n      // We have separate tables & no pointers. 2 commented lines below not needed.\n      // state.next_index = opts.table_index;\n      state.lenbits = opts.bits;\n      // state.lencode = state.next;\n\n      if (ret) {\n        strm.msg = 'invalid literal/lengths set';\n        state.mode = BAD;\n        break;\n      }\n\n      state.distbits = 6;\n      //state.distcode.copy(state.codes);\n      // Switch to use dynamic table\n      state.distcode = state.distdyn;\n      opts = { bits: state.distbits };\n      ret = inflate_table(DISTS, state.lens, state.nlen, state.ndist, state.distcode, 0, state.work, opts);\n      // We have separate tables & no pointers. 2 commented lines below not needed.\n      // state.next_index = opts.table_index;\n      state.distbits = opts.bits;\n      // state.distcode = state.next;\n\n      if (ret) {\n        strm.msg = 'invalid distances set';\n        state.mode = BAD;\n        break;\n      }\n      //Tracev((stderr, 'inflate:       codes ok\\n'));\n      state.mode = LEN_;\n      if (flush === Z_TREES) { break inf_leave; }\n      /* falls through */\n    case LEN_:\n      state.mode = LEN;\n      /* falls through */\n    case LEN:\n      if (have >= 6 && left >= 258) {\n        //--- RESTORE() ---\n        strm.next_out = put;\n        strm.avail_out = left;\n        strm.next_in = next;\n        strm.avail_in = have;\n        state.hold = hold;\n        state.bits = bits;\n        //---\n        inflate_fast(strm, _out);\n        //--- LOAD() ---\n        put = strm.next_out;\n        output = strm.output;\n        left = strm.avail_out;\n        next = strm.next_in;\n        input = strm.input;\n        have = strm.avail_in;\n        hold = state.hold;\n        bits = state.bits;\n        //---\n\n        if (state.mode === TYPE) {\n          state.back = -1;\n        }\n        break;\n      }\n      state.back = 0;\n      for (;;) {\n        here = state.lencode[hold & ((1 << state.lenbits) - 1)];  /*BITS(state.lenbits)*/\n        here_bits = here >>> 24;\n        here_op = (here >>> 16) & 0xff;\n        here_val = here & 0xffff;\n\n        if (here_bits <= bits) { break; }\n        //--- PULLBYTE() ---//\n        if (have === 0) { break inf_leave; }\n        have--;\n        hold += input[next++] << bits;\n        bits += 8;\n        //---//\n      }\n      if (here_op && (here_op & 0xf0) === 0) {\n        last_bits = here_bits;\n        last_op = here_op;\n        last_val = here_val;\n        for (;;) {\n          here = state.lencode[last_val +\n                  ((hold & ((1 << (last_bits + last_op)) - 1))/*BITS(last.bits + last.op)*/ >> last_bits)];\n          here_bits = here >>> 24;\n          here_op = (here >>> 16) & 0xff;\n          here_val = here & 0xffff;\n\n          if ((last_bits + here_bits) <= bits) { break; }\n          //--- PULLBYTE() ---//\n          if (have === 0) { break inf_leave; }\n          have--;\n          hold += input[next++] << bits;\n          bits += 8;\n          //---//\n        }\n        //--- DROPBITS(last.bits) ---//\n        hold >>>= last_bits;\n        bits -= last_bits;\n        //---//\n        state.back += last_bits;\n      }\n      //--- DROPBITS(here.bits) ---//\n      hold >>>= here_bits;\n      bits -= here_bits;\n      //---//\n      state.back += here_bits;\n      state.length = here_val;\n      if (here_op === 0) {\n        //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?\n        //        \"inflate:         literal '%c'\\n\" :\n        //        \"inflate:         literal 0x%02x\\n\", here.val));\n        state.mode = LIT;\n        break;\n      }\n      if (here_op & 32) {\n        //Tracevv((stderr, \"inflate:         end of block\\n\"));\n        state.back = -1;\n        state.mode = TYPE;\n        break;\n      }\n      if (here_op & 64) {\n        strm.msg = 'invalid literal/length code';\n        state.mode = BAD;\n        break;\n      }\n      state.extra = here_op & 15;\n      state.mode = LENEXT;\n      /* falls through */\n    case LENEXT:\n      if (state.extra) {\n        //=== NEEDBITS(state.extra);\n        n = state.extra;\n        while (bits < n) {\n          if (have === 0) { break inf_leave; }\n          have--;\n          hold += input[next++] << bits;\n          bits += 8;\n        }\n        //===//\n        state.length += hold & ((1 << state.extra) - 1)/*BITS(state.extra)*/;\n        //--- DROPBITS(state.extra) ---//\n        hold >>>= state.extra;\n        bits -= state.extra;\n        //---//\n        state.back += state.extra;\n      }\n      //Tracevv((stderr, \"inflate:         length %u\\n\", state.length));\n      state.was = state.length;\n      state.mode = DIST;\n      /* falls through */\n    case DIST:\n      for (;;) {\n        here = state.distcode[hold & ((1 << state.distbits) - 1)];/*BITS(state.distbits)*/\n        here_bits = here >>> 24;\n        here_op = (here >>> 16) & 0xff;\n        here_val = here & 0xffff;\n\n        if ((here_bits) <= bits) { break; }\n        //--- PULLBYTE() ---//\n        if (have === 0) { break inf_leave; }\n        have--;\n        hold += input[next++] << bits;\n        bits += 8;\n        //---//\n      }\n      if ((here_op & 0xf0) === 0) {\n        last_bits = here_bits;\n        last_op = here_op;\n        last_val = here_val;\n        for (;;) {\n          here = state.distcode[last_val +\n                  ((hold & ((1 << (last_bits + last_op)) - 1))/*BITS(last.bits + last.op)*/ >> last_bits)];\n          here_bits = here >>> 24;\n          here_op = (here >>> 16) & 0xff;\n          here_val = here & 0xffff;\n\n          if ((last_bits + here_bits) <= bits) { break; }\n          //--- PULLBYTE() ---//\n          if (have === 0) { break inf_leave; }\n          have--;\n          hold += input[next++] << bits;\n          bits += 8;\n          //---//\n        }\n        //--- DROPBITS(last.bits) ---//\n        hold >>>= last_bits;\n        bits -= last_bits;\n        //---//\n        state.back += last_bits;\n      }\n      //--- DROPBITS(here.bits) ---//\n      hold >>>= here_bits;\n      bits -= here_bits;\n      //---//\n      state.back += here_bits;\n      if (here_op & 64) {\n        strm.msg = 'invalid distance code';\n        state.mode = BAD;\n        break;\n      }\n      state.offset = here_val;\n      state.extra = (here_op) & 15;\n      state.mode = DISTEXT;\n      /* falls through */\n    case DISTEXT:\n      if (state.extra) {\n        //=== NEEDBITS(state.extra);\n        n = state.extra;\n        while (bits < n) {\n          if (have === 0) { break inf_leave; }\n          have--;\n          hold += input[next++] << bits;\n          bits += 8;\n        }\n        //===//\n        state.offset += hold & ((1 << state.extra) - 1)/*BITS(state.extra)*/;\n        //--- DROPBITS(state.extra) ---//\n        hold >>>= state.extra;\n        bits -= state.extra;\n        //---//\n        state.back += state.extra;\n      }\n//#ifdef INFLATE_STRICT\n      if (state.offset > state.dmax) {\n        strm.msg = 'invalid distance too far back';\n        state.mode = BAD;\n        break;\n      }\n//#endif\n      //Tracevv((stderr, \"inflate:         distance %u\\n\", state.offset));\n      state.mode = MATCH;\n      /* falls through */\n    case MATCH:\n      if (left === 0) { break inf_leave; }\n      copy = _out - left;\n      if (state.offset > copy) {         /* copy from window */\n        copy = state.offset - copy;\n        if (copy > state.whave) {\n          if (state.sane) {\n            strm.msg = 'invalid distance too far back';\n            state.mode = BAD;\n            break;\n          }\n// (!) This block is disabled in zlib defailts,\n// don't enable it for binary compatibility\n//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR\n//          Trace((stderr, \"inflate.c too far\\n\"));\n//          copy -= state.whave;\n//          if (copy > state.length) { copy = state.length; }\n//          if (copy > left) { copy = left; }\n//          left -= copy;\n//          state.length -= copy;\n//          do {\n//            output[put++] = 0;\n//          } while (--copy);\n//          if (state.length === 0) { state.mode = LEN; }\n//          break;\n//#endif\n        }\n        if (copy > state.wnext) {\n          copy -= state.wnext;\n          from = state.wsize - copy;\n        }\n        else {\n          from = state.wnext - copy;\n        }\n        if (copy > state.length) { copy = state.length; }\n        from_source = state.window;\n      }\n      else {                              /* copy from output */\n        from_source = output;\n        from = put - state.offset;\n        copy = state.length;\n      }\n      if (copy > left) { copy = left; }\n      left -= copy;\n      state.length -= copy;\n      do {\n        output[put++] = from_source[from++];\n      } while (--copy);\n      if (state.length === 0) { state.mode = LEN; }\n      break;\n    case LIT:\n      if (left === 0) { break inf_leave; }\n      output[put++] = state.length;\n      left--;\n      state.mode = LEN;\n      break;\n    case CHECK:\n      if (state.wrap) {\n        //=== NEEDBITS(32);\n        while (bits < 32) {\n          if (have === 0) { break inf_leave; }\n          have--;\n          // Use '|' insdead of '+' to make sure that result is signed\n          hold |= input[next++] << bits;\n          bits += 8;\n        }\n        //===//\n        _out -= left;\n        strm.total_out += _out;\n        state.total += _out;\n        if (_out) {\n          strm.adler = state.check =\n              /*UPDATE(state.check, put - _out, _out);*/\n              (state.flags ? crc32(state.check, output, _out, put - _out) : adler32(state.check, output, _out, put - _out));\n\n        }\n        _out = left;\n        // NB: crc32 stored as signed 32-bit int, zswap32 returns signed too\n        if ((state.flags ? hold : zswap32(hold)) !== state.check) {\n          strm.msg = 'incorrect data check';\n          state.mode = BAD;\n          break;\n        }\n        //=== INITBITS();\n        hold = 0;\n        bits = 0;\n        //===//\n        //Tracev((stderr, \"inflate:   check matches trailer\\n\"));\n      }\n      state.mode = LENGTH;\n      /* falls through */\n    case LENGTH:\n      if (state.wrap && state.flags) {\n        //=== NEEDBITS(32);\n        while (bits < 32) {\n          if (have === 0) { break inf_leave; }\n          have--;\n          hold += input[next++] << bits;\n          bits += 8;\n        }\n        //===//\n        if (hold !== (state.total & 0xffffffff)) {\n          strm.msg = 'incorrect length check';\n          state.mode = BAD;\n          break;\n        }\n        //=== INITBITS();\n        hold = 0;\n        bits = 0;\n        //===//\n        //Tracev((stderr, \"inflate:   length matches trailer\\n\"));\n      }\n      state.mode = DONE;\n      /* falls through */\n    case DONE:\n      ret = Z_STREAM_END;\n      break inf_leave;\n    case BAD:\n      ret = Z_DATA_ERROR;\n      break inf_leave;\n    case MEM:\n      return Z_MEM_ERROR;\n    case SYNC:\n      /* falls through */\n    default:\n      return Z_STREAM_ERROR;\n    }\n  }\n\n  // inf_leave <- here is real place for \"goto inf_leave\", emulated via \"break inf_leave\"\n\n  /*\n     Return from inflate(), updating the total counts and the check value.\n     If there was no progress during the inflate() call, return a buffer\n     error.  Call updatewindow() to create and/or update the window state.\n     Note: a memory error from inflate() is non-recoverable.\n   */\n\n  //--- RESTORE() ---\n  strm.next_out = put;\n  strm.avail_out = left;\n  strm.next_in = next;\n  strm.avail_in = have;\n  state.hold = hold;\n  state.bits = bits;\n  //---\n\n  if (state.wsize || (_out !== strm.avail_out && state.mode < BAD &&\n                      (state.mode < CHECK || flush !== Z_FINISH))) {\n    if (updatewindow(strm, strm.output, strm.next_out, _out - strm.avail_out)) {\n      state.mode = MEM;\n      return Z_MEM_ERROR;\n    }\n  }\n  _in -= strm.avail_in;\n  _out -= strm.avail_out;\n  strm.total_in += _in;\n  strm.total_out += _out;\n  state.total += _out;\n  if (state.wrap && _out) {\n    strm.adler = state.check = /*UPDATE(state.check, strm.next_out - _out, _out);*/\n      (state.flags ? crc32(state.check, output, _out, strm.next_out - _out) : adler32(state.check, output, _out, strm.next_out - _out));\n  }\n  strm.data_type = state.bits + (state.last ? 64 : 0) +\n                    (state.mode === TYPE ? 128 : 0) +\n                    (state.mode === LEN_ || state.mode === COPY_ ? 256 : 0);\n  if (((_in === 0 && _out === 0) || flush === Z_FINISH) && ret === Z_OK) {\n    ret = Z_BUF_ERROR;\n  }\n  return ret;\n}\n\nfunction inflateEnd(strm) {\n\n  if (!strm || !strm.state /*|| strm->zfree == (free_func)0*/) {\n    return Z_STREAM_ERROR;\n  }\n\n  var state = strm.state;\n  if (state.window) {\n    state.window = null;\n  }\n  strm.state = null;\n  return Z_OK;\n}\n\nfunction inflateGetHeader(strm, head) {\n  var state;\n\n  /* check state */\n  if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n  state = strm.state;\n  if ((state.wrap & 2) === 0) { return Z_STREAM_ERROR; }\n\n  /* save header structure */\n  state.head = head;\n  head.done = false;\n  return Z_OK;\n}\n\nfunction inflateSetDictionary(strm, dictionary) {\n  var dictLength = dictionary.length;\n\n  var state;\n  var dictid;\n  var ret;\n\n  /* check state */\n  if (!strm /* == Z_NULL */ || !strm.state /* == Z_NULL */) { return Z_STREAM_ERROR; }\n  state = strm.state;\n\n  if (state.wrap !== 0 && state.mode !== DICT) {\n    return Z_STREAM_ERROR;\n  }\n\n  /* check for correct dictionary identifier */\n  if (state.mode === DICT) {\n    dictid = 1; /* adler32(0, null, 0)*/\n    /* dictid = adler32(dictid, dictionary, dictLength); */\n    dictid = adler32(dictid, dictionary, dictLength, 0);\n    if (dictid !== state.check) {\n      return Z_DATA_ERROR;\n    }\n  }\n  /* copy dictionary to window using updatewindow(), which will amend the\n   existing dictionary if appropriate */\n  ret = updatewindow(strm, dictionary, dictLength, dictLength);\n  if (ret) {\n    state.mode = MEM;\n    return Z_MEM_ERROR;\n  }\n  state.havedict = 1;\n  // Tracev((stderr, \"inflate:   dictionary set\\n\"));\n  return Z_OK;\n}\n\nexports.inflateReset = inflateReset;\nexports.inflateReset2 = inflateReset2;\nexports.inflateResetKeep = inflateResetKeep;\nexports.inflateInit = inflateInit;\nexports.inflateInit2 = inflateInit2;\nexports.inflate = inflate;\nexports.inflateEnd = inflateEnd;\nexports.inflateGetHeader = inflateGetHeader;\nexports.inflateSetDictionary = inflateSetDictionary;\nexports.inflateInfo = 'pako inflate (from Nodeca project)';\n\n/* Not implemented\nexports.inflateCopy = inflateCopy;\nexports.inflateGetDictionary = inflateGetDictionary;\nexports.inflateMark = inflateMark;\nexports.inflatePrime = inflatePrime;\nexports.inflateSync = inflateSync;\nexports.inflateSyncPoint = inflateSyncPoint;\nexports.inflateUndermine = inflateUndermine;\n*/\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/pako/lib/zlib/inflate.js\n// module id = 1512\n// module chunks = 0","'use strict';\n\n\nvar utils = require('../utils/common');\n\nvar MAXBITS = 15;\nvar ENOUGH_LENS = 852;\nvar ENOUGH_DISTS = 592;\n//var ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS);\n\nvar CODES = 0;\nvar LENS = 1;\nvar DISTS = 2;\n\nvar lbase = [ /* Length codes 257..285 base */\n  3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,\n  35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0\n];\n\nvar lext = [ /* Length codes 257..285 extra */\n  16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18,\n  19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78\n];\n\nvar dbase = [ /* Distance codes 0..29 base */\n  1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,\n  257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,\n  8193, 12289, 16385, 24577, 0, 0\n];\n\nvar dext = [ /* Distance codes 0..29 extra */\n  16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22,\n  23, 23, 24, 24, 25, 25, 26, 26, 27, 27,\n  28, 28, 29, 29, 64, 64\n];\n\nmodule.exports = function inflate_table(type, lens, lens_index, codes, table, table_index, work, opts)\n{\n  var bits = opts.bits;\n      //here = opts.here; /* table entry for duplication */\n\n  var len = 0;               /* a code's length in bits */\n  var sym = 0;               /* index of code symbols */\n  var min = 0, max = 0;          /* minimum and maximum code lengths */\n  var root = 0;              /* number of index bits for root table */\n  var curr = 0;              /* number of index bits for current table */\n  var drop = 0;              /* code bits to drop for sub-table */\n  var left = 0;                   /* number of prefix codes available */\n  var used = 0;              /* code entries in table used */\n  var huff = 0;              /* Huffman code */\n  var incr;              /* for incrementing code, index */\n  var fill;              /* index for replicating entries */\n  var low;               /* low bits for current root entry */\n  var mask;              /* mask for low root bits */\n  var next;             /* next available space in table */\n  var base = null;     /* base value table to use */\n  var base_index = 0;\n//  var shoextra;    /* extra bits table to use */\n  var end;                    /* use base and extra for symbol > end */\n  var count = new utils.Buf16(MAXBITS + 1); //[MAXBITS+1];    /* number of codes of each length */\n  var offs = new utils.Buf16(MAXBITS + 1); //[MAXBITS+1];     /* offsets in table for each length */\n  var extra = null;\n  var extra_index = 0;\n\n  var here_bits, here_op, here_val;\n\n  /*\n   Process a set of code lengths to create a canonical Huffman code.  The\n   code lengths are lens[0..codes-1].  Each length corresponds to the\n   symbols 0..codes-1.  The Huffman code is generated by first sorting the\n   symbols by length from short to long, and retaining the symbol order\n   for codes with equal lengths.  Then the code starts with all zero bits\n   for the first code of the shortest length, and the codes are integer\n   increments for the same length, and zeros are appended as the length\n   increases.  For the deflate format, these bits are stored backwards\n   from their more natural integer increment ordering, and so when the\n   decoding tables are built in the large loop below, the integer codes\n   are incremented backwards.\n\n   This routine assumes, but does not check, that all of the entries in\n   lens[] are in the range 0..MAXBITS.  The caller must assure this.\n   1..MAXBITS is interpreted as that code length.  zero means that that\n   symbol does not occur in this code.\n\n   The codes are sorted by computing a count of codes for each length,\n   creating from that a table of starting indices for each length in the\n   sorted table, and then entering the symbols in order in the sorted\n   table.  The sorted table is work[], with that space being provided by\n   the caller.\n\n   The length counts are used for other purposes as well, i.e. finding\n   the minimum and maximum length codes, determining if there are any\n   codes at all, checking for a valid set of lengths, and looking ahead\n   at length counts to determine sub-table sizes when building the\n   decoding tables.\n   */\n\n  /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */\n  for (len = 0; len <= MAXBITS; len++) {\n    count[len] = 0;\n  }\n  for (sym = 0; sym < codes; sym++) {\n    count[lens[lens_index + sym]]++;\n  }\n\n  /* bound code lengths, force root to be within code lengths */\n  root = bits;\n  for (max = MAXBITS; max >= 1; max--) {\n    if (count[max] !== 0) { break; }\n  }\n  if (root > max) {\n    root = max;\n  }\n  if (max === 0) {                     /* no symbols to code at all */\n    //table.op[opts.table_index] = 64;  //here.op = (var char)64;    /* invalid code marker */\n    //table.bits[opts.table_index] = 1;   //here.bits = (var char)1;\n    //table.val[opts.table_index++] = 0;   //here.val = (var short)0;\n    table[table_index++] = (1 << 24) | (64 << 16) | 0;\n\n\n    //table.op[opts.table_index] = 64;\n    //table.bits[opts.table_index] = 1;\n    //table.val[opts.table_index++] = 0;\n    table[table_index++] = (1 << 24) | (64 << 16) | 0;\n\n    opts.bits = 1;\n    return 0;     /* no symbols, but wait for decoding to report error */\n  }\n  for (min = 1; min < max; min++) {\n    if (count[min] !== 0) { break; }\n  }\n  if (root < min) {\n    root = min;\n  }\n\n  /* check for an over-subscribed or incomplete set of lengths */\n  left = 1;\n  for (len = 1; len <= MAXBITS; len++) {\n    left <<= 1;\n    left -= count[len];\n    if (left < 0) {\n      return -1;\n    }        /* over-subscribed */\n  }\n  if (left > 0 && (type === CODES || max !== 1)) {\n    return -1;                      /* incomplete set */\n  }\n\n  /* generate offsets into symbol table for each length for sorting */\n  offs[1] = 0;\n  for (len = 1; len < MAXBITS; len++) {\n    offs[len + 1] = offs[len] + count[len];\n  }\n\n  /* sort symbols by length, by symbol order within each length */\n  for (sym = 0; sym < codes; sym++) {\n    if (lens[lens_index + sym] !== 0) {\n      work[offs[lens[lens_index + sym]]++] = sym;\n    }\n  }\n\n  /*\n   Create and fill in decoding tables.  In this loop, the table being\n   filled is at next and has curr index bits.  The code being used is huff\n   with length len.  That code is converted to an index by dropping drop\n   bits off of the bottom.  For codes where len is less than drop + curr,\n   those top drop + curr - len bits are incremented through all values to\n   fill the table with replicated entries.\n\n   root is the number of index bits for the root table.  When len exceeds\n   root, sub-tables are created pointed to by the root entry with an index\n   of the low root bits of huff.  This is saved in low to check for when a\n   new sub-table should be started.  drop is zero when the root table is\n   being filled, and drop is root when sub-tables are being filled.\n\n   When a new sub-table is needed, it is necessary to look ahead in the\n   code lengths to determine what size sub-table is needed.  The length\n   counts are used for this, and so count[] is decremented as codes are\n   entered in the tables.\n\n   used keeps track of how many table entries have been allocated from the\n   provided *table space.  It is checked for LENS and DIST tables against\n   the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in\n   the initial root table size constants.  See the comments in inftrees.h\n   for more information.\n\n   sym increments through all symbols, and the loop terminates when\n   all codes of length max, i.e. all codes, have been processed.  This\n   routine permits incomplete codes, so another loop after this one fills\n   in the rest of the decoding tables with invalid code markers.\n   */\n\n  /* set up for code type */\n  // poor man optimization - use if-else instead of switch,\n  // to avoid deopts in old v8\n  if (type === CODES) {\n    base = extra = work;    /* dummy value--not used */\n    end = 19;\n\n  } else if (type === LENS) {\n    base = lbase;\n    base_index -= 257;\n    extra = lext;\n    extra_index -= 257;\n    end = 256;\n\n  } else {                    /* DISTS */\n    base = dbase;\n    extra = dext;\n    end = -1;\n  }\n\n  /* initialize opts for loop */\n  huff = 0;                   /* starting code */\n  sym = 0;                    /* starting code symbol */\n  len = min;                  /* starting code length */\n  next = table_index;              /* current table to fill in */\n  curr = root;                /* current table index bits */\n  drop = 0;                   /* current bits to drop from code for index */\n  low = -1;                   /* trigger new sub-table when len > root */\n  used = 1 << root;          /* use root table entries */\n  mask = used - 1;            /* mask for comparing low */\n\n  /* check available table space */\n  if ((type === LENS && used > ENOUGH_LENS) ||\n    (type === DISTS && used > ENOUGH_DISTS)) {\n    return 1;\n  }\n\n  var i = 0;\n  /* process all codes and make table entries */\n  for (;;) {\n    i++;\n    /* create table entry */\n    here_bits = len - drop;\n    if (work[sym] < end) {\n      here_op = 0;\n      here_val = work[sym];\n    }\n    else if (work[sym] > end) {\n      here_op = extra[extra_index + work[sym]];\n      here_val = base[base_index + work[sym]];\n    }\n    else {\n      here_op = 32 + 64;         /* end of block */\n      here_val = 0;\n    }\n\n    /* replicate for those indices with low len bits equal to huff */\n    incr = 1 << (len - drop);\n    fill = 1 << curr;\n    min = fill;                 /* save offset to next table */\n    do {\n      fill -= incr;\n      table[next + (huff >> drop) + fill] = (here_bits << 24) | (here_op << 16) | here_val |0;\n    } while (fill !== 0);\n\n    /* backwards increment the len-bit code huff */\n    incr = 1 << (len - 1);\n    while (huff & incr) {\n      incr >>= 1;\n    }\n    if (incr !== 0) {\n      huff &= incr - 1;\n      huff += incr;\n    } else {\n      huff = 0;\n    }\n\n    /* go to next symbol, update count, len */\n    sym++;\n    if (--count[len] === 0) {\n      if (len === max) { break; }\n      len = lens[lens_index + work[sym]];\n    }\n\n    /* create new sub-table if needed */\n    if (len > root && (huff & mask) !== low) {\n      /* if first time, transition to sub-tables */\n      if (drop === 0) {\n        drop = root;\n      }\n\n      /* increment past last table */\n      next += min;            /* here min is 1 << curr */\n\n      /* determine length of next table */\n      curr = len - drop;\n      left = 1 << curr;\n      while (curr + drop < max) {\n        left -= count[curr + drop];\n        if (left <= 0) { break; }\n        curr++;\n        left <<= 1;\n      }\n\n      /* check for enough space */\n      used += 1 << curr;\n      if ((type === LENS && used > ENOUGH_LENS) ||\n        (type === DISTS && used > ENOUGH_DISTS)) {\n        return 1;\n      }\n\n      /* point entry in root table to sub-table */\n      low = huff & mask;\n      /*table.op[low] = curr;\n      table.bits[low] = root;\n      table.val[low] = next - opts.table_index;*/\n      table[low] = (root << 24) | (curr << 16) | (next - table_index) |0;\n    }\n  }\n\n  /* fill in remaining table entry if code is incomplete (guaranteed to have\n   at most one remaining entry, since if the code is incomplete, the\n   maximum code length that was allowed to get this far is one bit) */\n  if (huff !== 0) {\n    //table.op[next + huff] = 64;            /* invalid code marker */\n    //table.bits[next + huff] = len - drop;\n    //table.val[next + huff] = 0;\n    table[next + huff] = ((len - drop) << 24) | (64 << 16) |0;\n  }\n\n  /* set return parameters */\n  //opts.table_index += used;\n  opts.bits = root;\n  return 0;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/pako/lib/zlib/inftrees.js\n// module id = 1513\n// module chunks = 0","'use strict';\n\n\nvar utils = require('../utils/common');\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\n\n//var Z_FILTERED          = 1;\n//var Z_HUFFMAN_ONLY      = 2;\n//var Z_RLE               = 3;\nvar Z_FIXED               = 4;\n//var Z_DEFAULT_STRATEGY  = 0;\n\n/* Possible values of the data_type field (though see inflate()) */\nvar Z_BINARY              = 0;\nvar Z_TEXT                = 1;\n//var Z_ASCII             = 1; // = Z_TEXT\nvar Z_UNKNOWN             = 2;\n\n/*============================================================================*/\n\n\nfunction zero(buf) { var len = buf.length; while (--len >= 0) { buf[len] = 0; } }\n\n// From zutil.h\n\nvar STORED_BLOCK = 0;\nvar STATIC_TREES = 1;\nvar DYN_TREES    = 2;\n/* The three kinds of block type */\n\nvar MIN_MATCH    = 3;\nvar MAX_MATCH    = 258;\n/* The minimum and maximum match lengths */\n\n// From deflate.h\n/* ===========================================================================\n * Internal compression state.\n */\n\nvar LENGTH_CODES  = 29;\n/* number of length codes, not counting the special END_BLOCK code */\n\nvar LITERALS      = 256;\n/* number of literal bytes 0..255 */\n\nvar L_CODES       = LITERALS + 1 + LENGTH_CODES;\n/* number of Literal or Length codes, including the END_BLOCK code */\n\nvar D_CODES       = 30;\n/* number of distance codes */\n\nvar BL_CODES      = 19;\n/* number of codes used to transfer the bit lengths */\n\nvar HEAP_SIZE     = 2 * L_CODES + 1;\n/* maximum heap size */\n\nvar MAX_BITS      = 15;\n/* All codes must not exceed MAX_BITS bits */\n\nvar Buf_size      = 16;\n/* size of bit buffer in bi_buf */\n\n\n/* ===========================================================================\n * Constants\n */\n\nvar MAX_BL_BITS = 7;\n/* Bit length codes must not exceed MAX_BL_BITS bits */\n\nvar END_BLOCK   = 256;\n/* end of block literal code */\n\nvar REP_3_6     = 16;\n/* repeat previous bit length 3-6 times (2 bits of repeat count) */\n\nvar REPZ_3_10   = 17;\n/* repeat a zero length 3-10 times  (3 bits of repeat count) */\n\nvar REPZ_11_138 = 18;\n/* repeat a zero length 11-138 times  (7 bits of repeat count) */\n\n/* eslint-disable comma-spacing,array-bracket-spacing */\nvar extra_lbits =   /* extra bits for each length code */\n  [0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0];\n\nvar extra_dbits =   /* extra bits for each distance code */\n  [0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13];\n\nvar extra_blbits =  /* extra bits for each bit length code */\n  [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7];\n\nvar bl_order =\n  [16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];\n/* eslint-enable comma-spacing,array-bracket-spacing */\n\n/* The lengths of the bit length codes are sent in order of decreasing\n * probability, to avoid transmitting the lengths for unused bit length codes.\n */\n\n/* ===========================================================================\n * Local data. These are initialized only once.\n */\n\n// We pre-fill arrays with 0 to avoid uninitialized gaps\n\nvar DIST_CODE_LEN = 512; /* see definition of array dist_code below */\n\n// !!!! Use flat array insdead of structure, Freq = i*2, Len = i*2+1\nvar static_ltree  = new Array((L_CODES + 2) * 2);\nzero(static_ltree);\n/* The static literal tree. Since the bit lengths are imposed, there is no\n * need for the L_CODES extra codes used during heap construction. However\n * The codes 286 and 287 are needed to build a canonical tree (see _tr_init\n * below).\n */\n\nvar static_dtree  = new Array(D_CODES * 2);\nzero(static_dtree);\n/* The static distance tree. (Actually a trivial tree since all codes use\n * 5 bits.)\n */\n\nvar _dist_code    = new Array(DIST_CODE_LEN);\nzero(_dist_code);\n/* Distance codes. The first 256 values correspond to the distances\n * 3 .. 258, the last 256 values correspond to the top 8 bits of\n * the 15 bit distances.\n */\n\nvar _length_code  = new Array(MAX_MATCH - MIN_MATCH + 1);\nzero(_length_code);\n/* length code for each normalized match length (0 == MIN_MATCH) */\n\nvar base_length   = new Array(LENGTH_CODES);\nzero(base_length);\n/* First normalized length for each code (0 = MIN_MATCH) */\n\nvar base_dist     = new Array(D_CODES);\nzero(base_dist);\n/* First normalized distance for each code (0 = distance of 1) */\n\n\nfunction StaticTreeDesc(static_tree, extra_bits, extra_base, elems, max_length) {\n\n  this.static_tree  = static_tree;  /* static tree or NULL */\n  this.extra_bits   = extra_bits;   /* extra bits for each code or NULL */\n  this.extra_base   = extra_base;   /* base index for extra_bits */\n  this.elems        = elems;        /* max number of elements in the tree */\n  this.max_length   = max_length;   /* max bit length for the codes */\n\n  // show if `static_tree` has data or dummy - needed for monomorphic objects\n  this.has_stree    = static_tree && static_tree.length;\n}\n\n\nvar static_l_desc;\nvar static_d_desc;\nvar static_bl_desc;\n\n\nfunction TreeDesc(dyn_tree, stat_desc) {\n  this.dyn_tree = dyn_tree;     /* the dynamic tree */\n  this.max_code = 0;            /* largest code with non zero frequency */\n  this.stat_desc = stat_desc;   /* the corresponding static tree */\n}\n\n\n\nfunction d_code(dist) {\n  return dist < 256 ? _dist_code[dist] : _dist_code[256 + (dist >>> 7)];\n}\n\n\n/* ===========================================================================\n * Output a short LSB first on the stream.\n * IN assertion: there is enough room in pendingBuf.\n */\nfunction put_short(s, w) {\n//    put_byte(s, (uch)((w) & 0xff));\n//    put_byte(s, (uch)((ush)(w) >> 8));\n  s.pending_buf[s.pending++] = (w) & 0xff;\n  s.pending_buf[s.pending++] = (w >>> 8) & 0xff;\n}\n\n\n/* ===========================================================================\n * Send a value on a given number of bits.\n * IN assertion: length <= 16 and value fits in length bits.\n */\nfunction send_bits(s, value, length) {\n  if (s.bi_valid > (Buf_size - length)) {\n    s.bi_buf |= (value << s.bi_valid) & 0xffff;\n    put_short(s, s.bi_buf);\n    s.bi_buf = value >> (Buf_size - s.bi_valid);\n    s.bi_valid += length - Buf_size;\n  } else {\n    s.bi_buf |= (value << s.bi_valid) & 0xffff;\n    s.bi_valid += length;\n  }\n}\n\n\nfunction send_code(s, c, tree) {\n  send_bits(s, tree[c * 2]/*.Code*/, tree[c * 2 + 1]/*.Len*/);\n}\n\n\n/* ===========================================================================\n * Reverse the first len bits of a code, using straightforward code (a faster\n * method would use a table)\n * IN assertion: 1 <= len <= 15\n */\nfunction bi_reverse(code, len) {\n  var res = 0;\n  do {\n    res |= code & 1;\n    code >>>= 1;\n    res <<= 1;\n  } while (--len > 0);\n  return res >>> 1;\n}\n\n\n/* ===========================================================================\n * Flush the bit buffer, keeping at most 7 bits in it.\n */\nfunction bi_flush(s) {\n  if (s.bi_valid === 16) {\n    put_short(s, s.bi_buf);\n    s.bi_buf = 0;\n    s.bi_valid = 0;\n\n  } else if (s.bi_valid >= 8) {\n    s.pending_buf[s.pending++] = s.bi_buf & 0xff;\n    s.bi_buf >>= 8;\n    s.bi_valid -= 8;\n  }\n}\n\n\n/* ===========================================================================\n * Compute the optimal bit lengths for a tree and update the total bit length\n * for the current block.\n * IN assertion: the fields freq and dad are set, heap[heap_max] and\n *    above are the tree nodes sorted by increasing frequency.\n * OUT assertions: the field len is set to the optimal bit length, the\n *     array bl_count contains the frequencies for each bit length.\n *     The length opt_len is updated; static_len is also updated if stree is\n *     not null.\n */\nfunction gen_bitlen(s, desc)\n//    deflate_state *s;\n//    tree_desc *desc;    /* the tree descriptor */\n{\n  var tree            = desc.dyn_tree;\n  var max_code        = desc.max_code;\n  var stree           = desc.stat_desc.static_tree;\n  var has_stree       = desc.stat_desc.has_stree;\n  var extra           = desc.stat_desc.extra_bits;\n  var base            = desc.stat_desc.extra_base;\n  var max_length      = desc.stat_desc.max_length;\n  var h;              /* heap index */\n  var n, m;           /* iterate over the tree elements */\n  var bits;           /* bit length */\n  var xbits;          /* extra bits */\n  var f;              /* frequency */\n  var overflow = 0;   /* number of elements with bit length too large */\n\n  for (bits = 0; bits <= MAX_BITS; bits++) {\n    s.bl_count[bits] = 0;\n  }\n\n  /* In a first pass, compute the optimal bit lengths (which may\n   * overflow in the case of the bit length tree).\n   */\n  tree[s.heap[s.heap_max] * 2 + 1]/*.Len*/ = 0; /* root of the heap */\n\n  for (h = s.heap_max + 1; h < HEAP_SIZE; h++) {\n    n = s.heap[h];\n    bits = tree[tree[n * 2 + 1]/*.Dad*/ * 2 + 1]/*.Len*/ + 1;\n    if (bits > max_length) {\n      bits = max_length;\n      overflow++;\n    }\n    tree[n * 2 + 1]/*.Len*/ = bits;\n    /* We overwrite tree[n].Dad which is no longer needed */\n\n    if (n > max_code) { continue; } /* not a leaf node */\n\n    s.bl_count[bits]++;\n    xbits = 0;\n    if (n >= base) {\n      xbits = extra[n - base];\n    }\n    f = tree[n * 2]/*.Freq*/;\n    s.opt_len += f * (bits + xbits);\n    if (has_stree) {\n      s.static_len += f * (stree[n * 2 + 1]/*.Len*/ + xbits);\n    }\n  }\n  if (overflow === 0) { return; }\n\n  // Trace((stderr,\"\\nbit length overflow\\n\"));\n  /* This happens for example on obj2 and pic of the Calgary corpus */\n\n  /* Find the first bit length which could increase: */\n  do {\n    bits = max_length - 1;\n    while (s.bl_count[bits] === 0) { bits--; }\n    s.bl_count[bits]--;      /* move one leaf down the tree */\n    s.bl_count[bits + 1] += 2; /* move one overflow item as its brother */\n    s.bl_count[max_length]--;\n    /* The brother of the overflow item also moves one step up,\n     * but this does not affect bl_count[max_length]\n     */\n    overflow -= 2;\n  } while (overflow > 0);\n\n  /* Now recompute all bit lengths, scanning in increasing frequency.\n   * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all\n   * lengths instead of fixing only the wrong ones. This idea is taken\n   * from 'ar' written by Haruhiko Okumura.)\n   */\n  for (bits = max_length; bits !== 0; bits--) {\n    n = s.bl_count[bits];\n    while (n !== 0) {\n      m = s.heap[--h];\n      if (m > max_code) { continue; }\n      if (tree[m * 2 + 1]/*.Len*/ !== bits) {\n        // Trace((stderr,\"code %d bits %d->%d\\n\", m, tree[m].Len, bits));\n        s.opt_len += (bits - tree[m * 2 + 1]/*.Len*/) * tree[m * 2]/*.Freq*/;\n        tree[m * 2 + 1]/*.Len*/ = bits;\n      }\n      n--;\n    }\n  }\n}\n\n\n/* ===========================================================================\n * Generate the codes for a given tree and bit counts (which need not be\n * optimal).\n * IN assertion: the array bl_count contains the bit length statistics for\n * the given tree and the field len is set for all tree elements.\n * OUT assertion: the field code is set for all tree elements of non\n *     zero code length.\n */\nfunction gen_codes(tree, max_code, bl_count)\n//    ct_data *tree;             /* the tree to decorate */\n//    int max_code;              /* largest code with non zero frequency */\n//    ushf *bl_count;            /* number of codes at each bit length */\n{\n  var next_code = new Array(MAX_BITS + 1); /* next code value for each bit length */\n  var code = 0;              /* running code value */\n  var bits;                  /* bit index */\n  var n;                     /* code index */\n\n  /* The distribution counts are first used to generate the code values\n   * without bit reversal.\n   */\n  for (bits = 1; bits <= MAX_BITS; bits++) {\n    next_code[bits] = code = (code + bl_count[bits - 1]) << 1;\n  }\n  /* Check that the bit counts in bl_count are consistent. The last code\n   * must be all ones.\n   */\n  //Assert (code + bl_count[MAX_BITS]-1 == (1<<MAX_BITS)-1,\n  //        \"inconsistent bit counts\");\n  //Tracev((stderr,\"\\ngen_codes: max_code %d \", max_code));\n\n  for (n = 0;  n <= max_code; n++) {\n    var len = tree[n * 2 + 1]/*.Len*/;\n    if (len === 0) { continue; }\n    /* Now reverse the bits */\n    tree[n * 2]/*.Code*/ = bi_reverse(next_code[len]++, len);\n\n    //Tracecv(tree != static_ltree, (stderr,\"\\nn %3d %c l %2d c %4x (%x) \",\n    //     n, (isgraph(n) ? n : ' '), len, tree[n].Code, next_code[len]-1));\n  }\n}\n\n\n/* ===========================================================================\n * Initialize the various 'constant' tables.\n */\nfunction tr_static_init() {\n  var n;        /* iterates over tree elements */\n  var bits;     /* bit counter */\n  var length;   /* length value */\n  var code;     /* code value */\n  var dist;     /* distance index */\n  var bl_count = new Array(MAX_BITS + 1);\n  /* number of codes at each bit length for an optimal tree */\n\n  // do check in _tr_init()\n  //if (static_init_done) return;\n\n  /* For some embedded targets, global variables are not initialized: */\n/*#ifdef NO_INIT_GLOBAL_POINTERS\n  static_l_desc.static_tree = static_ltree;\n  static_l_desc.extra_bits = extra_lbits;\n  static_d_desc.static_tree = static_dtree;\n  static_d_desc.extra_bits = extra_dbits;\n  static_bl_desc.extra_bits = extra_blbits;\n#endif*/\n\n  /* Initialize the mapping length (0..255) -> length code (0..28) */\n  length = 0;\n  for (code = 0; code < LENGTH_CODES - 1; code++) {\n    base_length[code] = length;\n    for (n = 0; n < (1 << extra_lbits[code]); n++) {\n      _length_code[length++] = code;\n    }\n  }\n  //Assert (length == 256, \"tr_static_init: length != 256\");\n  /* Note that the length 255 (match length 258) can be represented\n   * in two different ways: code 284 + 5 bits or code 285, so we\n   * overwrite length_code[255] to use the best encoding:\n   */\n  _length_code[length - 1] = code;\n\n  /* Initialize the mapping dist (0..32K) -> dist code (0..29) */\n  dist = 0;\n  for (code = 0; code < 16; code++) {\n    base_dist[code] = dist;\n    for (n = 0; n < (1 << extra_dbits[code]); n++) {\n      _dist_code[dist++] = code;\n    }\n  }\n  //Assert (dist == 256, \"tr_static_init: dist != 256\");\n  dist >>= 7; /* from now on, all distances are divided by 128 */\n  for (; code < D_CODES; code++) {\n    base_dist[code] = dist << 7;\n    for (n = 0; n < (1 << (extra_dbits[code] - 7)); n++) {\n      _dist_code[256 + dist++] = code;\n    }\n  }\n  //Assert (dist == 256, \"tr_static_init: 256+dist != 512\");\n\n  /* Construct the codes of the static literal tree */\n  for (bits = 0; bits <= MAX_BITS; bits++) {\n    bl_count[bits] = 0;\n  }\n\n  n = 0;\n  while (n <= 143) {\n    static_ltree[n * 2 + 1]/*.Len*/ = 8;\n    n++;\n    bl_count[8]++;\n  }\n  while (n <= 255) {\n    static_ltree[n * 2 + 1]/*.Len*/ = 9;\n    n++;\n    bl_count[9]++;\n  }\n  while (n <= 279) {\n    static_ltree[n * 2 + 1]/*.Len*/ = 7;\n    n++;\n    bl_count[7]++;\n  }\n  while (n <= 287) {\n    static_ltree[n * 2 + 1]/*.Len*/ = 8;\n    n++;\n    bl_count[8]++;\n  }\n  /* Codes 286 and 287 do not exist, but we must include them in the\n   * tree construction to get a canonical Huffman tree (longest code\n   * all ones)\n   */\n  gen_codes(static_ltree, L_CODES + 1, bl_count);\n\n  /* The static distance tree is trivial: */\n  for (n = 0; n < D_CODES; n++) {\n    static_dtree[n * 2 + 1]/*.Len*/ = 5;\n    static_dtree[n * 2]/*.Code*/ = bi_reverse(n, 5);\n  }\n\n  // Now data ready and we can init static trees\n  static_l_desc = new StaticTreeDesc(static_ltree, extra_lbits, LITERALS + 1, L_CODES, MAX_BITS);\n  static_d_desc = new StaticTreeDesc(static_dtree, extra_dbits, 0,          D_CODES, MAX_BITS);\n  static_bl_desc = new StaticTreeDesc(new Array(0), extra_blbits, 0,         BL_CODES, MAX_BL_BITS);\n\n  //static_init_done = true;\n}\n\n\n/* ===========================================================================\n * Initialize a new block.\n */\nfunction init_block(s) {\n  var n; /* iterates over tree elements */\n\n  /* Initialize the trees. */\n  for (n = 0; n < L_CODES;  n++) { s.dyn_ltree[n * 2]/*.Freq*/ = 0; }\n  for (n = 0; n < D_CODES;  n++) { s.dyn_dtree[n * 2]/*.Freq*/ = 0; }\n  for (n = 0; n < BL_CODES; n++) { s.bl_tree[n * 2]/*.Freq*/ = 0; }\n\n  s.dyn_ltree[END_BLOCK * 2]/*.Freq*/ = 1;\n  s.opt_len = s.static_len = 0;\n  s.last_lit = s.matches = 0;\n}\n\n\n/* ===========================================================================\n * Flush the bit buffer and align the output on a byte boundary\n */\nfunction bi_windup(s)\n{\n  if (s.bi_valid > 8) {\n    put_short(s, s.bi_buf);\n  } else if (s.bi_valid > 0) {\n    //put_byte(s, (Byte)s->bi_buf);\n    s.pending_buf[s.pending++] = s.bi_buf;\n  }\n  s.bi_buf = 0;\n  s.bi_valid = 0;\n}\n\n/* ===========================================================================\n * Copy a stored block, storing first the length and its\n * one's complement if requested.\n */\nfunction copy_block(s, buf, len, header)\n//DeflateState *s;\n//charf    *buf;    /* the input data */\n//unsigned len;     /* its length */\n//int      header;  /* true if block header must be written */\n{\n  bi_windup(s);        /* align on byte boundary */\n\n  if (header) {\n    put_short(s, len);\n    put_short(s, ~len);\n  }\n//  while (len--) {\n//    put_byte(s, *buf++);\n//  }\n  utils.arraySet(s.pending_buf, s.window, buf, len, s.pending);\n  s.pending += len;\n}\n\n/* ===========================================================================\n * Compares to subtrees, using the tree depth as tie breaker when\n * the subtrees have equal frequency. This minimizes the worst case length.\n */\nfunction smaller(tree, n, m, depth) {\n  var _n2 = n * 2;\n  var _m2 = m * 2;\n  return (tree[_n2]/*.Freq*/ < tree[_m2]/*.Freq*/ ||\n         (tree[_n2]/*.Freq*/ === tree[_m2]/*.Freq*/ && depth[n] <= depth[m]));\n}\n\n/* ===========================================================================\n * Restore the heap property by moving down the tree starting at node k,\n * exchanging a node with the smallest of its two sons if necessary, stopping\n * when the heap property is re-established (each father smaller than its\n * two sons).\n */\nfunction pqdownheap(s, tree, k)\n//    deflate_state *s;\n//    ct_data *tree;  /* the tree to restore */\n//    int k;               /* node to move down */\n{\n  var v = s.heap[k];\n  var j = k << 1;  /* left son of k */\n  while (j <= s.heap_len) {\n    /* Set j to the smallest of the two sons: */\n    if (j < s.heap_len &&\n      smaller(tree, s.heap[j + 1], s.heap[j], s.depth)) {\n      j++;\n    }\n    /* Exit if v is smaller than both sons */\n    if (smaller(tree, v, s.heap[j], s.depth)) { break; }\n\n    /* Exchange v with the smallest son */\n    s.heap[k] = s.heap[j];\n    k = j;\n\n    /* And continue down the tree, setting j to the left son of k */\n    j <<= 1;\n  }\n  s.heap[k] = v;\n}\n\n\n// inlined manually\n// var SMALLEST = 1;\n\n/* ===========================================================================\n * Send the block data compressed using the given Huffman trees\n */\nfunction compress_block(s, ltree, dtree)\n//    deflate_state *s;\n//    const ct_data *ltree; /* literal tree */\n//    const ct_data *dtree; /* distance tree */\n{\n  var dist;           /* distance of matched string */\n  var lc;             /* match length or unmatched char (if dist == 0) */\n  var lx = 0;         /* running index in l_buf */\n  var code;           /* the code to send */\n  var extra;          /* number of extra bits to send */\n\n  if (s.last_lit !== 0) {\n    do {\n      dist = (s.pending_buf[s.d_buf + lx * 2] << 8) | (s.pending_buf[s.d_buf + lx * 2 + 1]);\n      lc = s.pending_buf[s.l_buf + lx];\n      lx++;\n\n      if (dist === 0) {\n        send_code(s, lc, ltree); /* send a literal byte */\n        //Tracecv(isgraph(lc), (stderr,\" '%c' \", lc));\n      } else {\n        /* Here, lc is the match length - MIN_MATCH */\n        code = _length_code[lc];\n        send_code(s, code + LITERALS + 1, ltree); /* send the length code */\n        extra = extra_lbits[code];\n        if (extra !== 0) {\n          lc -= base_length[code];\n          send_bits(s, lc, extra);       /* send the extra length bits */\n        }\n        dist--; /* dist is now the match distance - 1 */\n        code = d_code(dist);\n        //Assert (code < D_CODES, \"bad d_code\");\n\n        send_code(s, code, dtree);       /* send the distance code */\n        extra = extra_dbits[code];\n        if (extra !== 0) {\n          dist -= base_dist[code];\n          send_bits(s, dist, extra);   /* send the extra distance bits */\n        }\n      } /* literal or match pair ? */\n\n      /* Check that the overlay between pending_buf and d_buf+l_buf is ok: */\n      //Assert((uInt)(s->pending) < s->lit_bufsize + 2*lx,\n      //       \"pendingBuf overflow\");\n\n    } while (lx < s.last_lit);\n  }\n\n  send_code(s, END_BLOCK, ltree);\n}\n\n\n/* ===========================================================================\n * Construct one Huffman tree and assigns the code bit strings and lengths.\n * Update the total bit length for the current block.\n * IN assertion: the field freq is set for all tree elements.\n * OUT assertions: the fields len and code are set to the optimal bit length\n *     and corresponding code. The length opt_len is updated; static_len is\n *     also updated if stree is not null. The field max_code is set.\n */\nfunction build_tree(s, desc)\n//    deflate_state *s;\n//    tree_desc *desc; /* the tree descriptor */\n{\n  var tree     = desc.dyn_tree;\n  var stree    = desc.stat_desc.static_tree;\n  var has_stree = desc.stat_desc.has_stree;\n  var elems    = desc.stat_desc.elems;\n  var n, m;          /* iterate over heap elements */\n  var max_code = -1; /* largest code with non zero frequency */\n  var node;          /* new node being created */\n\n  /* Construct the initial heap, with least frequent element in\n   * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1].\n   * heap[0] is not used.\n   */\n  s.heap_len = 0;\n  s.heap_max = HEAP_SIZE;\n\n  for (n = 0; n < elems; n++) {\n    if (tree[n * 2]/*.Freq*/ !== 0) {\n      s.heap[++s.heap_len] = max_code = n;\n      s.depth[n] = 0;\n\n    } else {\n      tree[n * 2 + 1]/*.Len*/ = 0;\n    }\n  }\n\n  /* The pkzip format requires that at least one distance code exists,\n   * and that at least one bit should be sent even if there is only one\n   * possible code. So to avoid special checks later on we force at least\n   * two codes of non zero frequency.\n   */\n  while (s.heap_len < 2) {\n    node = s.heap[++s.heap_len] = (max_code < 2 ? ++max_code : 0);\n    tree[node * 2]/*.Freq*/ = 1;\n    s.depth[node] = 0;\n    s.opt_len--;\n\n    if (has_stree) {\n      s.static_len -= stree[node * 2 + 1]/*.Len*/;\n    }\n    /* node is 0 or 1 so it does not have extra bits */\n  }\n  desc.max_code = max_code;\n\n  /* The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree,\n   * establish sub-heaps of increasing lengths:\n   */\n  for (n = (s.heap_len >> 1/*int /2*/); n >= 1; n--) { pqdownheap(s, tree, n); }\n\n  /* Construct the Huffman tree by repeatedly combining the least two\n   * frequent nodes.\n   */\n  node = elems;              /* next internal node of the tree */\n  do {\n    //pqremove(s, tree, n);  /* n = node of least frequency */\n    /*** pqremove ***/\n    n = s.heap[1/*SMALLEST*/];\n    s.heap[1/*SMALLEST*/] = s.heap[s.heap_len--];\n    pqdownheap(s, tree, 1/*SMALLEST*/);\n    /***/\n\n    m = s.heap[1/*SMALLEST*/]; /* m = node of next least frequency */\n\n    s.heap[--s.heap_max] = n; /* keep the nodes sorted by frequency */\n    s.heap[--s.heap_max] = m;\n\n    /* Create a new node father of n and m */\n    tree[node * 2]/*.Freq*/ = tree[n * 2]/*.Freq*/ + tree[m * 2]/*.Freq*/;\n    s.depth[node] = (s.depth[n] >= s.depth[m] ? s.depth[n] : s.depth[m]) + 1;\n    tree[n * 2 + 1]/*.Dad*/ = tree[m * 2 + 1]/*.Dad*/ = node;\n\n    /* and insert the new node in the heap */\n    s.heap[1/*SMALLEST*/] = node++;\n    pqdownheap(s, tree, 1/*SMALLEST*/);\n\n  } while (s.heap_len >= 2);\n\n  s.heap[--s.heap_max] = s.heap[1/*SMALLEST*/];\n\n  /* At this point, the fields freq and dad are set. We can now\n   * generate the bit lengths.\n   */\n  gen_bitlen(s, desc);\n\n  /* The field len is now set, we can generate the bit codes */\n  gen_codes(tree, max_code, s.bl_count);\n}\n\n\n/* ===========================================================================\n * Scan a literal or distance tree to determine the frequencies of the codes\n * in the bit length tree.\n */\nfunction scan_tree(s, tree, max_code)\n//    deflate_state *s;\n//    ct_data *tree;   /* the tree to be scanned */\n//    int max_code;    /* and its largest code of non zero frequency */\n{\n  var n;                     /* iterates over all tree elements */\n  var prevlen = -1;          /* last emitted length */\n  var curlen;                /* length of current code */\n\n  var nextlen = tree[0 * 2 + 1]/*.Len*/; /* length of next code */\n\n  var count = 0;             /* repeat count of the current code */\n  var max_count = 7;         /* max repeat count */\n  var min_count = 4;         /* min repeat count */\n\n  if (nextlen === 0) {\n    max_count = 138;\n    min_count = 3;\n  }\n  tree[(max_code + 1) * 2 + 1]/*.Len*/ = 0xffff; /* guard */\n\n  for (n = 0; n <= max_code; n++) {\n    curlen = nextlen;\n    nextlen = tree[(n + 1) * 2 + 1]/*.Len*/;\n\n    if (++count < max_count && curlen === nextlen) {\n      continue;\n\n    } else if (count < min_count) {\n      s.bl_tree[curlen * 2]/*.Freq*/ += count;\n\n    } else if (curlen !== 0) {\n\n      if (curlen !== prevlen) { s.bl_tree[curlen * 2]/*.Freq*/++; }\n      s.bl_tree[REP_3_6 * 2]/*.Freq*/++;\n\n    } else if (count <= 10) {\n      s.bl_tree[REPZ_3_10 * 2]/*.Freq*/++;\n\n    } else {\n      s.bl_tree[REPZ_11_138 * 2]/*.Freq*/++;\n    }\n\n    count = 0;\n    prevlen = curlen;\n\n    if (nextlen === 0) {\n      max_count = 138;\n      min_count = 3;\n\n    } else if (curlen === nextlen) {\n      max_count = 6;\n      min_count = 3;\n\n    } else {\n      max_count = 7;\n      min_count = 4;\n    }\n  }\n}\n\n\n/* ===========================================================================\n * Send a literal or distance tree in compressed form, using the codes in\n * bl_tree.\n */\nfunction send_tree(s, tree, max_code)\n//    deflate_state *s;\n//    ct_data *tree; /* the tree to be scanned */\n//    int max_code;       /* and its largest code of non zero frequency */\n{\n  var n;                     /* iterates over all tree elements */\n  var prevlen = -1;          /* last emitted length */\n  var curlen;                /* length of current code */\n\n  var nextlen = tree[0 * 2 + 1]/*.Len*/; /* length of next code */\n\n  var count = 0;             /* repeat count of the current code */\n  var max_count = 7;         /* max repeat count */\n  var min_count = 4;         /* min repeat count */\n\n  /* tree[max_code+1].Len = -1; */  /* guard already set */\n  if (nextlen === 0) {\n    max_count = 138;\n    min_count = 3;\n  }\n\n  for (n = 0; n <= max_code; n++) {\n    curlen = nextlen;\n    nextlen = tree[(n + 1) * 2 + 1]/*.Len*/;\n\n    if (++count < max_count && curlen === nextlen) {\n      continue;\n\n    } else if (count < min_count) {\n      do { send_code(s, curlen, s.bl_tree); } while (--count !== 0);\n\n    } else if (curlen !== 0) {\n      if (curlen !== prevlen) {\n        send_code(s, curlen, s.bl_tree);\n        count--;\n      }\n      //Assert(count >= 3 && count <= 6, \" 3_6?\");\n      send_code(s, REP_3_6, s.bl_tree);\n      send_bits(s, count - 3, 2);\n\n    } else if (count <= 10) {\n      send_code(s, REPZ_3_10, s.bl_tree);\n      send_bits(s, count - 3, 3);\n\n    } else {\n      send_code(s, REPZ_11_138, s.bl_tree);\n      send_bits(s, count - 11, 7);\n    }\n\n    count = 0;\n    prevlen = curlen;\n    if (nextlen === 0) {\n      max_count = 138;\n      min_count = 3;\n\n    } else if (curlen === nextlen) {\n      max_count = 6;\n      min_count = 3;\n\n    } else {\n      max_count = 7;\n      min_count = 4;\n    }\n  }\n}\n\n\n/* ===========================================================================\n * Construct the Huffman tree for the bit lengths and return the index in\n * bl_order of the last bit length code to send.\n */\nfunction build_bl_tree(s) {\n  var max_blindex;  /* index of last bit length code of non zero freq */\n\n  /* Determine the bit length frequencies for literal and distance trees */\n  scan_tree(s, s.dyn_ltree, s.l_desc.max_code);\n  scan_tree(s, s.dyn_dtree, s.d_desc.max_code);\n\n  /* Build the bit length tree: */\n  build_tree(s, s.bl_desc);\n  /* opt_len now includes the length of the tree representations, except\n   * the lengths of the bit lengths codes and the 5+5+4 bits for the counts.\n   */\n\n  /* Determine the number of bit length codes to send. The pkzip format\n   * requires that at least 4 bit length codes be sent. (appnote.txt says\n   * 3 but the actual value used is 4.)\n   */\n  for (max_blindex = BL_CODES - 1; max_blindex >= 3; max_blindex--) {\n    if (s.bl_tree[bl_order[max_blindex] * 2 + 1]/*.Len*/ !== 0) {\n      break;\n    }\n  }\n  /* Update opt_len to include the bit length tree and counts */\n  s.opt_len += 3 * (max_blindex + 1) + 5 + 5 + 4;\n  //Tracev((stderr, \"\\ndyn trees: dyn %ld, stat %ld\",\n  //        s->opt_len, s->static_len));\n\n  return max_blindex;\n}\n\n\n/* ===========================================================================\n * Send the header for a block using dynamic Huffman trees: the counts, the\n * lengths of the bit length codes, the literal tree and the distance tree.\n * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4.\n */\nfunction send_all_trees(s, lcodes, dcodes, blcodes)\n//    deflate_state *s;\n//    int lcodes, dcodes, blcodes; /* number of codes for each tree */\n{\n  var rank;                    /* index in bl_order */\n\n  //Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, \"not enough codes\");\n  //Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES,\n  //        \"too many codes\");\n  //Tracev((stderr, \"\\nbl counts: \"));\n  send_bits(s, lcodes - 257, 5); /* not +255 as stated in appnote.txt */\n  send_bits(s, dcodes - 1,   5);\n  send_bits(s, blcodes - 4,  4); /* not -3 as stated in appnote.txt */\n  for (rank = 0; rank < blcodes; rank++) {\n    //Tracev((stderr, \"\\nbl code %2d \", bl_order[rank]));\n    send_bits(s, s.bl_tree[bl_order[rank] * 2 + 1]/*.Len*/, 3);\n  }\n  //Tracev((stderr, \"\\nbl tree: sent %ld\", s->bits_sent));\n\n  send_tree(s, s.dyn_ltree, lcodes - 1); /* literal tree */\n  //Tracev((stderr, \"\\nlit tree: sent %ld\", s->bits_sent));\n\n  send_tree(s, s.dyn_dtree, dcodes - 1); /* distance tree */\n  //Tracev((stderr, \"\\ndist tree: sent %ld\", s->bits_sent));\n}\n\n\n/* ===========================================================================\n * Check if the data type is TEXT or BINARY, using the following algorithm:\n * - TEXT if the two conditions below are satisfied:\n *    a) There are no non-portable control characters belonging to the\n *       \"black list\" (0..6, 14..25, 28..31).\n *    b) There is at least one printable character belonging to the\n *       \"white list\" (9 {TAB}, 10 {LF}, 13 {CR}, 32..255).\n * - BINARY otherwise.\n * - The following partially-portable control characters form a\n *   \"gray list\" that is ignored in this detection algorithm:\n *   (7 {BEL}, 8 {BS}, 11 {VT}, 12 {FF}, 26 {SUB}, 27 {ESC}).\n * IN assertion: the fields Freq of dyn_ltree are set.\n */\nfunction detect_data_type(s) {\n  /* black_mask is the bit mask of black-listed bytes\n   * set bits 0..6, 14..25, and 28..31\n   * 0xf3ffc07f = binary 11110011111111111100000001111111\n   */\n  var black_mask = 0xf3ffc07f;\n  var n;\n\n  /* Check for non-textual (\"black-listed\") bytes. */\n  for (n = 0; n <= 31; n++, black_mask >>>= 1) {\n    if ((black_mask & 1) && (s.dyn_ltree[n * 2]/*.Freq*/ !== 0)) {\n      return Z_BINARY;\n    }\n  }\n\n  /* Check for textual (\"white-listed\") bytes. */\n  if (s.dyn_ltree[9 * 2]/*.Freq*/ !== 0 || s.dyn_ltree[10 * 2]/*.Freq*/ !== 0 ||\n      s.dyn_ltree[13 * 2]/*.Freq*/ !== 0) {\n    return Z_TEXT;\n  }\n  for (n = 32; n < LITERALS; n++) {\n    if (s.dyn_ltree[n * 2]/*.Freq*/ !== 0) {\n      return Z_TEXT;\n    }\n  }\n\n  /* There are no \"black-listed\" or \"white-listed\" bytes:\n   * this stream either is empty or has tolerated (\"gray-listed\") bytes only.\n   */\n  return Z_BINARY;\n}\n\n\nvar static_init_done = false;\n\n/* ===========================================================================\n * Initialize the tree data structures for a new zlib stream.\n */\nfunction _tr_init(s)\n{\n\n  if (!static_init_done) {\n    tr_static_init();\n    static_init_done = true;\n  }\n\n  s.l_desc  = new TreeDesc(s.dyn_ltree, static_l_desc);\n  s.d_desc  = new TreeDesc(s.dyn_dtree, static_d_desc);\n  s.bl_desc = new TreeDesc(s.bl_tree, static_bl_desc);\n\n  s.bi_buf = 0;\n  s.bi_valid = 0;\n\n  /* Initialize the first block of the first file: */\n  init_block(s);\n}\n\n\n/* ===========================================================================\n * Send a stored block\n */\nfunction _tr_stored_block(s, buf, stored_len, last)\n//DeflateState *s;\n//charf *buf;       /* input block */\n//ulg stored_len;   /* length of input block */\n//int last;         /* one if this is the last block for a file */\n{\n  send_bits(s, (STORED_BLOCK << 1) + (last ? 1 : 0), 3);    /* send block type */\n  copy_block(s, buf, stored_len, true); /* with header */\n}\n\n\n/* ===========================================================================\n * Send one empty static block to give enough lookahead for inflate.\n * This takes 10 bits, of which 7 may remain in the bit buffer.\n */\nfunction _tr_align(s) {\n  send_bits(s, STATIC_TREES << 1, 3);\n  send_code(s, END_BLOCK, static_ltree);\n  bi_flush(s);\n}\n\n\n/* ===========================================================================\n * Determine the best encoding for the current block: dynamic trees, static\n * trees or store, and output the encoded block to the zip file.\n */\nfunction _tr_flush_block(s, buf, stored_len, last)\n//DeflateState *s;\n//charf *buf;       /* input block, or NULL if too old */\n//ulg stored_len;   /* length of input block */\n//int last;         /* one if this is the last block for a file */\n{\n  var opt_lenb, static_lenb;  /* opt_len and static_len in bytes */\n  var max_blindex = 0;        /* index of last bit length code of non zero freq */\n\n  /* Build the Huffman trees unless a stored block is forced */\n  if (s.level > 0) {\n\n    /* Check if the file is binary or text */\n    if (s.strm.data_type === Z_UNKNOWN) {\n      s.strm.data_type = detect_data_type(s);\n    }\n\n    /* Construct the literal and distance trees */\n    build_tree(s, s.l_desc);\n    // Tracev((stderr, \"\\nlit data: dyn %ld, stat %ld\", s->opt_len,\n    //        s->static_len));\n\n    build_tree(s, s.d_desc);\n    // Tracev((stderr, \"\\ndist data: dyn %ld, stat %ld\", s->opt_len,\n    //        s->static_len));\n    /* At this point, opt_len and static_len are the total bit lengths of\n     * the compressed block data, excluding the tree representations.\n     */\n\n    /* Build the bit length tree for the above two trees, and get the index\n     * in bl_order of the last bit length code to send.\n     */\n    max_blindex = build_bl_tree(s);\n\n    /* Determine the best encoding. Compute the block lengths in bytes. */\n    opt_lenb = (s.opt_len + 3 + 7) >>> 3;\n    static_lenb = (s.static_len + 3 + 7) >>> 3;\n\n    // Tracev((stderr, \"\\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u \",\n    //        opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len,\n    //        s->last_lit));\n\n    if (static_lenb <= opt_lenb) { opt_lenb = static_lenb; }\n\n  } else {\n    // Assert(buf != (char*)0, \"lost buf\");\n    opt_lenb = static_lenb = stored_len + 5; /* force a stored block */\n  }\n\n  if ((stored_len + 4 <= opt_lenb) && (buf !== -1)) {\n    /* 4: two words for the lengths */\n\n    /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.\n     * Otherwise we can't have processed more than WSIZE input bytes since\n     * the last block flush, because compression would have been\n     * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to\n     * transform a block into a stored block.\n     */\n    _tr_stored_block(s, buf, stored_len, last);\n\n  } else if (s.strategy === Z_FIXED || static_lenb === opt_lenb) {\n\n    send_bits(s, (STATIC_TREES << 1) + (last ? 1 : 0), 3);\n    compress_block(s, static_ltree, static_dtree);\n\n  } else {\n    send_bits(s, (DYN_TREES << 1) + (last ? 1 : 0), 3);\n    send_all_trees(s, s.l_desc.max_code + 1, s.d_desc.max_code + 1, max_blindex + 1);\n    compress_block(s, s.dyn_ltree, s.dyn_dtree);\n  }\n  // Assert (s->compressed_len == s->bits_sent, \"bad compressed size\");\n  /* The above check is made mod 2^32, for files larger than 512 MB\n   * and uLong implemented on 32 bits.\n   */\n  init_block(s);\n\n  if (last) {\n    bi_windup(s);\n  }\n  // Tracev((stderr,\"\\ncomprlen %lu(%lu) \", s->compressed_len>>3,\n  //       s->compressed_len-7*last));\n}\n\n/* ===========================================================================\n * Save the match info and tally the frequency counts. Return true if\n * the current block must be flushed.\n */\nfunction _tr_tally(s, dist, lc)\n//    deflate_state *s;\n//    unsigned dist;  /* distance of matched string */\n//    unsigned lc;    /* match length-MIN_MATCH or unmatched char (if dist==0) */\n{\n  //var out_length, in_length, dcode;\n\n  s.pending_buf[s.d_buf + s.last_lit * 2]     = (dist >>> 8) & 0xff;\n  s.pending_buf[s.d_buf + s.last_lit * 2 + 1] = dist & 0xff;\n\n  s.pending_buf[s.l_buf + s.last_lit] = lc & 0xff;\n  s.last_lit++;\n\n  if (dist === 0) {\n    /* lc is the unmatched char */\n    s.dyn_ltree[lc * 2]/*.Freq*/++;\n  } else {\n    s.matches++;\n    /* Here, lc is the match length - MIN_MATCH */\n    dist--;             /* dist = match distance - 1 */\n    //Assert((ush)dist < (ush)MAX_DIST(s) &&\n    //       (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) &&\n    //       (ush)d_code(dist) < (ush)D_CODES,  \"_tr_tally: bad match\");\n\n    s.dyn_ltree[(_length_code[lc] + LITERALS + 1) * 2]/*.Freq*/++;\n    s.dyn_dtree[d_code(dist) * 2]/*.Freq*/++;\n  }\n\n// (!) This block is disabled in zlib defailts,\n// don't enable it for binary compatibility\n\n//#ifdef TRUNCATE_BLOCK\n//  /* Try to guess if it is profitable to stop the current block here */\n//  if ((s.last_lit & 0x1fff) === 0 && s.level > 2) {\n//    /* Compute an upper bound for the compressed length */\n//    out_length = s.last_lit*8;\n//    in_length = s.strstart - s.block_start;\n//\n//    for (dcode = 0; dcode < D_CODES; dcode++) {\n//      out_length += s.dyn_dtree[dcode*2]/*.Freq*/ * (5 + extra_dbits[dcode]);\n//    }\n//    out_length >>>= 3;\n//    //Tracev((stderr,\"\\nlast_lit %u, in %ld, out ~%ld(%ld%%) \",\n//    //       s->last_lit, in_length, out_length,\n//    //       100L - out_length*100L/in_length));\n//    if (s.matches < (s.last_lit>>1)/*int /2*/ && out_length < (in_length>>1)/*int /2*/) {\n//      return true;\n//    }\n//  }\n//#endif\n\n  return (s.last_lit === s.lit_bufsize - 1);\n  /* We avoid equality with lit_bufsize because of wraparound at 64K\n   * on 16 bit machines and because stored blocks are restricted to\n   * 64K-1 bytes.\n   */\n}\n\nexports._tr_init  = _tr_init;\nexports._tr_stored_block = _tr_stored_block;\nexports._tr_flush_block  = _tr_flush_block;\nexports._tr_tally = _tr_tally;\nexports._tr_align = _tr_align;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/pako/lib/zlib/trees.js\n// module id = 1514\n// module chunks = 0","'use strict';\n\n\nfunction ZStream() {\n  /* next input byte */\n  this.input = null; // JS specific, because we have no pointers\n  this.next_in = 0;\n  /* number of bytes available at input */\n  this.avail_in = 0;\n  /* total number of input bytes read so far */\n  this.total_in = 0;\n  /* next output byte should be put there */\n  this.output = null; // JS specific, because we have no pointers\n  this.next_out = 0;\n  /* remaining free space at output */\n  this.avail_out = 0;\n  /* total number of bytes output so far */\n  this.total_out = 0;\n  /* last error message, NULL if no error */\n  this.msg = ''/*Z_NULL*/;\n  /* not visible by applications */\n  this.state = null;\n  /* best guess about the data type: binary or text */\n  this.data_type = 2/*Z_UNKNOWN*/;\n  /* adler32 value of the uncompressed data */\n  this.adler = 0;\n}\n\nmodule.exports = ZStream;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/pako/lib/zlib/zstream.js\n// module id = 1515\n// module chunks = 0","/* Copyright 2017 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/build/pdf.combined\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/build/pdf.combined\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/build/pdf.combined\"] = root.pdfjsDistBuildPdfCombined = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__w_pdfjs_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__w_pdfjs_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__w_pdfjs_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__w_pdfjs_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__w_pdfjs_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__w_pdfjs_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__w_pdfjs_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__w_pdfjs_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __w_pdfjs_require__(__w_pdfjs_require__.s = 91);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.unreachable = exports.warn = exports.utf8StringToString = exports.stringToUTF8String = exports.stringToPDFString = exports.stringToBytes = exports.string32 = exports.shadow = exports.setVerbosityLevel = exports.ReadableStream = exports.removeNullCharacters = exports.readUint32 = exports.readUint16 = exports.readInt8 = exports.log2 = exports.loadJpegStream = exports.isEvalSupported = exports.isLittleEndian = exports.createValidAbsoluteUrl = exports.isSameOrigin = exports.isNodeJS = exports.isSpace = exports.isString = exports.isNum = exports.isEmptyObj = exports.isBool = exports.isArrayBuffer = exports.info = exports.getVerbosityLevel = exports.getLookupTableFactory = exports.deprecated = exports.createObjectURL = exports.createPromiseCapability = exports.createBlob = exports.bytesToString = exports.assert = exports.arraysToBytes = exports.arrayByteLength = exports.FormatError = exports.XRefParseException = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.StatTimer = exports.PasswordResponses = exports.PasswordException = exports.PageViewport = exports.NotImplementedException = exports.NativeImageDecoding = exports.MissingPDFException = exports.MissingDataException = exports.MessageHandler = exports.InvalidPDFException = exports.AbortException = exports.CMapCompressionType = exports.ImageKind = exports.FontType = exports.AnnotationType = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.UNSUPPORTED_FEATURES = exports.VERBOSITY_LEVELS = exports.OPS = exports.IDENTITY_MATRIX = exports.FONT_IDENTITY_MATRIX = undefined;\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 && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n__w_pdfjs_require__(92);\n\nvar _streams_polyfill = __w_pdfjs_require__(132);\n\nvar FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\nvar NativeImageDecoding = {\n  NONE: 'none',\n  DECODE: 'decode',\n  DISPLAY: 'display'\n};\nvar TextRenderingMode = {\n  FILL: 0,\n  STROKE: 1,\n  FILL_STROKE: 2,\n  INVISIBLE: 3,\n  FILL_ADD_TO_PATH: 4,\n  STROKE_ADD_TO_PATH: 5,\n  FILL_STROKE_ADD_TO_PATH: 6,\n  ADD_TO_PATH: 7,\n  FILL_STROKE_MASK: 3,\n  ADD_TO_PATH_FLAG: 4\n};\nvar ImageKind = {\n  GRAYSCALE_1BPP: 1,\n  RGB_24BPP: 2,\n  RGBA_32BPP: 3\n};\nvar AnnotationType = {\n  TEXT: 1,\n  LINK: 2,\n  FREETEXT: 3,\n  LINE: 4,\n  SQUARE: 5,\n  CIRCLE: 6,\n  POLYGON: 7,\n  POLYLINE: 8,\n  HIGHLIGHT: 9,\n  UNDERLINE: 10,\n  SQUIGGLY: 11,\n  STRIKEOUT: 12,\n  STAMP: 13,\n  CARET: 14,\n  INK: 15,\n  POPUP: 16,\n  FILEATTACHMENT: 17,\n  SOUND: 18,\n  MOVIE: 19,\n  WIDGET: 20,\n  SCREEN: 21,\n  PRINTERMARK: 22,\n  TRAPNET: 23,\n  WATERMARK: 24,\n  THREED: 25,\n  REDACT: 26\n};\nvar AnnotationFlag = {\n  INVISIBLE: 0x01,\n  HIDDEN: 0x02,\n  PRINT: 0x04,\n  NOZOOM: 0x08,\n  NOROTATE: 0x10,\n  NOVIEW: 0x20,\n  READONLY: 0x40,\n  LOCKED: 0x80,\n  TOGGLENOVIEW: 0x100,\n  LOCKEDCONTENTS: 0x200\n};\nvar AnnotationFieldFlag = {\n  READONLY: 0x0000001,\n  REQUIRED: 0x0000002,\n  NOEXPORT: 0x0000004,\n  MULTILINE: 0x0001000,\n  PASSWORD: 0x0002000,\n  NOTOGGLETOOFF: 0x0004000,\n  RADIO: 0x0008000,\n  PUSHBUTTON: 0x0010000,\n  COMBO: 0x0020000,\n  EDIT: 0x0040000,\n  SORT: 0x0080000,\n  FILESELECT: 0x0100000,\n  MULTISELECT: 0x0200000,\n  DONOTSPELLCHECK: 0x0400000,\n  DONOTSCROLL: 0x0800000,\n  COMB: 0x1000000,\n  RICHTEXT: 0x2000000,\n  RADIOSINUNISON: 0x2000000,\n  COMMITONSELCHANGE: 0x4000000\n};\nvar AnnotationBorderStyleType = {\n  SOLID: 1,\n  DASHED: 2,\n  BEVELED: 3,\n  INSET: 4,\n  UNDERLINE: 5\n};\nvar StreamType = {\n  UNKNOWN: 0,\n  FLATE: 1,\n  LZW: 2,\n  DCT: 3,\n  JPX: 4,\n  JBIG: 5,\n  A85: 6,\n  AHX: 7,\n  CCF: 8,\n  RL: 9\n};\nvar FontType = {\n  UNKNOWN: 0,\n  TYPE1: 1,\n  TYPE1C: 2,\n  CIDFONTTYPE0: 3,\n  CIDFONTTYPE0C: 4,\n  TRUETYPE: 5,\n  CIDFONTTYPE2: 6,\n  TYPE3: 7,\n  OPENTYPE: 8,\n  TYPE0: 9,\n  MMTYPE1: 10\n};\nvar VERBOSITY_LEVELS = {\n  errors: 0,\n  warnings: 1,\n  infos: 5\n};\nvar CMapCompressionType = {\n  NONE: 0,\n  BINARY: 1,\n  STREAM: 2\n};\nvar OPS = {\n  dependency: 1,\n  setLineWidth: 2,\n  setLineCap: 3,\n  setLineJoin: 4,\n  setMiterLimit: 5,\n  setDash: 6,\n  setRenderingIntent: 7,\n  setFlatness: 8,\n  setGState: 9,\n  save: 10,\n  restore: 11,\n  transform: 12,\n  moveTo: 13,\n  lineTo: 14,\n  curveTo: 15,\n  curveTo2: 16,\n  curveTo3: 17,\n  closePath: 18,\n  rectangle: 19,\n  stroke: 20,\n  closeStroke: 21,\n  fill: 22,\n  eoFill: 23,\n  fillStroke: 24,\n  eoFillStroke: 25,\n  closeFillStroke: 26,\n  closeEOFillStroke: 27,\n  endPath: 28,\n  clip: 29,\n  eoClip: 30,\n  beginText: 31,\n  endText: 32,\n  setCharSpacing: 33,\n  setWordSpacing: 34,\n  setHScale: 35,\n  setLeading: 36,\n  setFont: 37,\n  setTextRenderingMode: 38,\n  setTextRise: 39,\n  moveText: 40,\n  setLeadingMoveText: 41,\n  setTextMatrix: 42,\n  nextLine: 43,\n  showText: 44,\n  showSpacedText: 45,\n  nextLineShowText: 46,\n  nextLineSetSpacingShowText: 47,\n  setCharWidth: 48,\n  setCharWidthAndBounds: 49,\n  setStrokeColorSpace: 50,\n  setFillColorSpace: 51,\n  setStrokeColor: 52,\n  setStrokeColorN: 53,\n  setFillColor: 54,\n  setFillColorN: 55,\n  setStrokeGray: 56,\n  setFillGray: 57,\n  setStrokeRGBColor: 58,\n  setFillRGBColor: 59,\n  setStrokeCMYKColor: 60,\n  setFillCMYKColor: 61,\n  shadingFill: 62,\n  beginInlineImage: 63,\n  beginImageData: 64,\n  endInlineImage: 65,\n  paintXObject: 66,\n  markPoint: 67,\n  markPointProps: 68,\n  beginMarkedContent: 69,\n  beginMarkedContentProps: 70,\n  endMarkedContent: 71,\n  beginCompat: 72,\n  endCompat: 73,\n  paintFormXObjectBegin: 74,\n  paintFormXObjectEnd: 75,\n  beginGroup: 76,\n  endGroup: 77,\n  beginAnnotations: 78,\n  endAnnotations: 79,\n  beginAnnotation: 80,\n  endAnnotation: 81,\n  paintJpegXObject: 82,\n  paintImageMaskXObject: 83,\n  paintImageMaskXObjectGroup: 84,\n  paintImageXObject: 85,\n  paintInlineImageXObject: 86,\n  paintInlineImageXObjectGroup: 87,\n  paintImageXObjectRepeat: 88,\n  paintImageMaskXObjectRepeat: 89,\n  paintSolidColorImageMask: 90,\n  constructPath: 91\n};\nvar verbosity = VERBOSITY_LEVELS.warnings;\nfunction setVerbosityLevel(level) {\n  verbosity = level;\n}\nfunction getVerbosityLevel() {\n  return verbosity;\n}\nfunction info(msg) {\n  if (verbosity >= VERBOSITY_LEVELS.infos) {\n    console.log('Info: ' + msg);\n  }\n}\nfunction warn(msg) {\n  if (verbosity >= VERBOSITY_LEVELS.warnings) {\n    console.log('Warning: ' + msg);\n  }\n}\nfunction deprecated(details) {\n  console.log('Deprecated API usage: ' + details);\n}\nfunction unreachable(msg) {\n  throw new Error(msg);\n}\nfunction assert(cond, msg) {\n  if (!cond) {\n    unreachable(msg);\n  }\n}\nvar UNSUPPORTED_FEATURES = {\n  unknown: 'unknown',\n  forms: 'forms',\n  javaScript: 'javaScript',\n  smask: 'smask',\n  shadingPattern: 'shadingPattern',\n  font: 'font'\n};\nfunction isSameOrigin(baseUrl, otherUrl) {\n  try {\n    var base = new URL(baseUrl);\n    if (!base.origin || base.origin === 'null') {\n      return false;\n    }\n  } catch (e) {\n    return false;\n  }\n  var other = new URL(otherUrl, base);\n  return base.origin === other.origin;\n}\nfunction isValidProtocol(url) {\n  if (!url) {\n    return false;\n  }\n  switch (url.protocol) {\n    case 'http:':\n    case 'https:':\n    case 'ftp:':\n    case 'mailto:':\n    case 'tel:':\n      return true;\n    default:\n      return false;\n  }\n}\nfunction createValidAbsoluteUrl(url, baseUrl) {\n  if (!url) {\n    return null;\n  }\n  try {\n    var absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n    if (isValidProtocol(absoluteUrl)) {\n      return absoluteUrl;\n    }\n  } catch (ex) {}\n  return null;\n}\nfunction shadow(obj, prop, value) {\n  Object.defineProperty(obj, prop, {\n    value: value,\n    enumerable: true,\n    configurable: true,\n    writable: false\n  });\n  return value;\n}\nfunction getLookupTableFactory(initializer) {\n  var lookup;\n  return function () {\n    if (initializer) {\n      lookup = Object.create(null);\n      initializer(lookup);\n      initializer = null;\n    }\n    return lookup;\n  };\n}\nvar PasswordResponses = {\n  NEED_PASSWORD: 1,\n  INCORRECT_PASSWORD: 2\n};\nvar PasswordException = function PasswordExceptionClosure() {\n  function PasswordException(msg, code) {\n    this.name = 'PasswordException';\n    this.message = msg;\n    this.code = code;\n  }\n  PasswordException.prototype = new Error();\n  PasswordException.constructor = PasswordException;\n  return PasswordException;\n}();\nvar UnknownErrorException = function UnknownErrorExceptionClosure() {\n  function UnknownErrorException(msg, details) {\n    this.name = 'UnknownErrorException';\n    this.message = msg;\n    this.details = details;\n  }\n  UnknownErrorException.prototype = new Error();\n  UnknownErrorException.constructor = UnknownErrorException;\n  return UnknownErrorException;\n}();\nvar InvalidPDFException = function InvalidPDFExceptionClosure() {\n  function InvalidPDFException(msg) {\n    this.name = 'InvalidPDFException';\n    this.message = msg;\n  }\n  InvalidPDFException.prototype = new Error();\n  InvalidPDFException.constructor = InvalidPDFException;\n  return InvalidPDFException;\n}();\nvar MissingPDFException = function MissingPDFExceptionClosure() {\n  function MissingPDFException(msg) {\n    this.name = 'MissingPDFException';\n    this.message = msg;\n  }\n  MissingPDFException.prototype = new Error();\n  MissingPDFException.constructor = MissingPDFException;\n  return MissingPDFException;\n}();\nvar UnexpectedResponseException = function UnexpectedResponseExceptionClosure() {\n  function UnexpectedResponseException(msg, status) {\n    this.name = 'UnexpectedResponseException';\n    this.message = msg;\n    this.status = status;\n  }\n  UnexpectedResponseException.prototype = new Error();\n  UnexpectedResponseException.constructor = UnexpectedResponseException;\n  return UnexpectedResponseException;\n}();\nvar NotImplementedException = function NotImplementedExceptionClosure() {\n  function NotImplementedException(msg) {\n    this.message = msg;\n  }\n  NotImplementedException.prototype = new Error();\n  NotImplementedException.prototype.name = 'NotImplementedException';\n  NotImplementedException.constructor = NotImplementedException;\n  return NotImplementedException;\n}();\nvar MissingDataException = function MissingDataExceptionClosure() {\n  function MissingDataException(begin, end) {\n    this.begin = begin;\n    this.end = end;\n    this.message = 'Missing data [' + begin + ', ' + end + ')';\n  }\n  MissingDataException.prototype = new Error();\n  MissingDataException.prototype.name = 'MissingDataException';\n  MissingDataException.constructor = MissingDataException;\n  return MissingDataException;\n}();\nvar XRefParseException = function XRefParseExceptionClosure() {\n  function XRefParseException(msg) {\n    this.message = msg;\n  }\n  XRefParseException.prototype = new Error();\n  XRefParseException.prototype.name = 'XRefParseException';\n  XRefParseException.constructor = XRefParseException;\n  return XRefParseException;\n}();\nvar FormatError = function FormatErrorClosure() {\n  function FormatError(msg) {\n    this.message = msg;\n  }\n  FormatError.prototype = new Error();\n  FormatError.prototype.name = 'FormatError';\n  FormatError.constructor = FormatError;\n  return FormatError;\n}();\nvar AbortException = function AbortExceptionClosure() {\n  function AbortException(msg) {\n    this.name = 'AbortException';\n    this.message = msg;\n  }\n  AbortException.prototype = new Error();\n  AbortException.constructor = AbortException;\n  return AbortException;\n}();\nvar NullCharactersRegExp = /\\x00/g;\nfunction removeNullCharacters(str) {\n  if (typeof str !== 'string') {\n    warn('The argument for removeNullCharacters must be a string.');\n    return str;\n  }\n  return str.replace(NullCharactersRegExp, '');\n}\nfunction bytesToString(bytes) {\n  assert(bytes !== null && (typeof bytes === 'undefined' ? 'undefined' : _typeof(bytes)) === 'object' && bytes.length !== undefined, 'Invalid argument for bytesToString');\n  var length = bytes.length;\n  var MAX_ARGUMENT_COUNT = 8192;\n  if (length < MAX_ARGUMENT_COUNT) {\n    return String.fromCharCode.apply(null, bytes);\n  }\n  var strBuf = [];\n  for (var i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n    var chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n    var chunk = bytes.subarray(i, chunkEnd);\n    strBuf.push(String.fromCharCode.apply(null, chunk));\n  }\n  return strBuf.join('');\n}\nfunction stringToBytes(str) {\n  assert(typeof str === 'string', 'Invalid argument for stringToBytes');\n  var length = str.length;\n  var bytes = new Uint8Array(length);\n  for (var i = 0; i < length; ++i) {\n    bytes[i] = str.charCodeAt(i) & 0xFF;\n  }\n  return bytes;\n}\nfunction arrayByteLength(arr) {\n  if (arr.length !== undefined) {\n    return arr.length;\n  }\n  assert(arr.byteLength !== undefined);\n  return arr.byteLength;\n}\nfunction arraysToBytes(arr) {\n  if (arr.length === 1 && arr[0] instanceof Uint8Array) {\n    return arr[0];\n  }\n  var resultLength = 0;\n  var i,\n      ii = arr.length;\n  var item, itemLength;\n  for (i = 0; i < ii; i++) {\n    item = arr[i];\n    itemLength = arrayByteLength(item);\n    resultLength += itemLength;\n  }\n  var pos = 0;\n  var data = new Uint8Array(resultLength);\n  for (i = 0; i < ii; i++) {\n    item = arr[i];\n    if (!(item instanceof Uint8Array)) {\n      if (typeof item === 'string') {\n        item = stringToBytes(item);\n      } else {\n        item = new Uint8Array(item);\n      }\n    }\n    itemLength = item.byteLength;\n    data.set(item, pos);\n    pos += itemLength;\n  }\n  return data;\n}\nfunction string32(value) {\n  return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n}\nfunction log2(x) {\n  var n = 1,\n      i = 0;\n  while (x > n) {\n    n <<= 1;\n    i++;\n  }\n  return i;\n}\nfunction readInt8(data, start) {\n  return data[start] << 24 >> 24;\n}\nfunction readUint16(data, offset) {\n  return data[offset] << 8 | data[offset + 1];\n}\nfunction readUint32(data, offset) {\n  return (data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3]) >>> 0;\n}\nfunction isLittleEndian() {\n  var buffer8 = new Uint8Array(4);\n  buffer8[0] = 1;\n  var view32 = new Uint32Array(buffer8.buffer, 0, 1);\n  return view32[0] === 1;\n}\nfunction isEvalSupported() {\n  try {\n    new Function('');\n    return true;\n  } catch (e) {\n    return false;\n  }\n}\nvar IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nvar Util = function UtilClosure() {\n  function Util() {}\n  var rgbBuf = ['rgb(', 0, ',', 0, ',', 0, ')'];\n  Util.makeCssRgb = function Util_makeCssRgb(r, g, b) {\n    rgbBuf[1] = r;\n    rgbBuf[3] = g;\n    rgbBuf[5] = b;\n    return rgbBuf.join('');\n  };\n  Util.transform = function Util_transform(m1, m2) {\n    return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];\n  };\n  Util.applyTransform = function Util_applyTransform(p, m) {\n    var xt = p[0] * m[0] + p[1] * m[2] + m[4];\n    var yt = p[0] * m[1] + p[1] * m[3] + m[5];\n    return [xt, yt];\n  };\n  Util.applyInverseTransform = function Util_applyInverseTransform(p, m) {\n    var d = m[0] * m[3] - m[1] * m[2];\n    var xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n    var yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n    return [xt, yt];\n  };\n  Util.getAxialAlignedBoundingBox = function Util_getAxialAlignedBoundingBox(r, m) {\n    var p1 = Util.applyTransform(r, m);\n    var p2 = Util.applyTransform(r.slice(2, 4), m);\n    var p3 = Util.applyTransform([r[0], r[3]], m);\n    var p4 = Util.applyTransform([r[2], r[1]], m);\n    return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];\n  };\n  Util.inverseTransform = function Util_inverseTransform(m) {\n    var d = m[0] * m[3] - m[1] * m[2];\n    return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];\n  };\n  Util.apply3dTransform = function Util_apply3dTransform(m, v) {\n    return [m[0] * v[0] + m[1] * v[1] + m[2] * v[2], m[3] * v[0] + m[4] * v[1] + m[5] * v[2], m[6] * v[0] + m[7] * v[1] + m[8] * v[2]];\n  };\n  Util.singularValueDecompose2dScale = function Util_singularValueDecompose2dScale(m) {\n    var transpose = [m[0], m[2], m[1], m[3]];\n    var a = m[0] * transpose[0] + m[1] * transpose[2];\n    var b = m[0] * transpose[1] + m[1] * transpose[3];\n    var c = m[2] * transpose[0] + m[3] * transpose[2];\n    var d = m[2] * transpose[1] + m[3] * transpose[3];\n    var first = (a + d) / 2;\n    var second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;\n    var sx = first + second || 1;\n    var sy = first - second || 1;\n    return [Math.sqrt(sx), Math.sqrt(sy)];\n  };\n  Util.normalizeRect = function Util_normalizeRect(rect) {\n    var r = rect.slice(0);\n    if (rect[0] > rect[2]) {\n      r[0] = rect[2];\n      r[2] = rect[0];\n    }\n    if (rect[1] > rect[3]) {\n      r[1] = rect[3];\n      r[3] = rect[1];\n    }\n    return r;\n  };\n  Util.intersect = function Util_intersect(rect1, rect2) {\n    function compare(a, b) {\n      return a - b;\n    }\n    var orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare),\n        orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare),\n        result = [];\n    rect1 = Util.normalizeRect(rect1);\n    rect2 = Util.normalizeRect(rect2);\n    if (orderedX[0] === rect1[0] && orderedX[1] === rect2[0] || orderedX[0] === rect2[0] && orderedX[1] === rect1[0]) {\n      result[0] = orderedX[1];\n      result[2] = orderedX[2];\n    } else {\n      return false;\n    }\n    if (orderedY[0] === rect1[1] && orderedY[1] === rect2[1] || orderedY[0] === rect2[1] && orderedY[1] === rect1[1]) {\n      result[1] = orderedY[1];\n      result[3] = orderedY[2];\n    } else {\n      return false;\n    }\n    return result;\n  };\n  var ROMAN_NUMBER_MAP = ['', 'C', 'CC', 'CCC', 'CD', 'D', 'DC', 'DCC', 'DCCC', 'CM', '', 'X', 'XX', 'XXX', 'XL', 'L', 'LX', 'LXX', 'LXXX', 'XC', '', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX'];\n  Util.toRoman = function Util_toRoman(number, lowerCase) {\n    assert(Number.isInteger(number) && number > 0, 'The number should be a positive integer.');\n    var pos,\n        romanBuf = [];\n    while (number >= 1000) {\n      number -= 1000;\n      romanBuf.push('M');\n    }\n    pos = number / 100 | 0;\n    number %= 100;\n    romanBuf.push(ROMAN_NUMBER_MAP[pos]);\n    pos = number / 10 | 0;\n    number %= 10;\n    romanBuf.push(ROMAN_NUMBER_MAP[10 + pos]);\n    romanBuf.push(ROMAN_NUMBER_MAP[20 + number]);\n    var romanStr = romanBuf.join('');\n    return lowerCase ? romanStr.toLowerCase() : romanStr;\n  };\n  Util.appendToArray = function Util_appendToArray(arr1, arr2) {\n    Array.prototype.push.apply(arr1, arr2);\n  };\n  Util.prependToArray = function Util_prependToArray(arr1, arr2) {\n    Array.prototype.unshift.apply(arr1, arr2);\n  };\n  Util.extendObj = function extendObj(obj1, obj2) {\n    for (var key in obj2) {\n      obj1[key] = obj2[key];\n    }\n  };\n  Util.getInheritableProperty = function Util_getInheritableProperty(dict, name, getArray) {\n    while (dict && !dict.has(name)) {\n      dict = dict.get('Parent');\n    }\n    if (!dict) {\n      return null;\n    }\n    return getArray ? dict.getArray(name) : dict.get(name);\n  };\n  Util.inherit = function Util_inherit(sub, base, prototype) {\n    sub.prototype = Object.create(base.prototype);\n    sub.prototype.constructor = sub;\n    for (var prop in prototype) {\n      sub.prototype[prop] = prototype[prop];\n    }\n  };\n  Util.loadScript = function Util_loadScript(src, callback) {\n    var script = document.createElement('script');\n    var loaded = false;\n    script.setAttribute('src', src);\n    if (callback) {\n      script.onload = function () {\n        if (!loaded) {\n          callback();\n        }\n        loaded = true;\n      };\n    }\n    document.getElementsByTagName('head')[0].appendChild(script);\n  };\n  return Util;\n}();\nvar PageViewport = function PageViewportClosure() {\n  function PageViewport(viewBox, scale, rotation, offsetX, offsetY, dontFlip) {\n    this.viewBox = viewBox;\n    this.scale = scale;\n    this.rotation = rotation;\n    this.offsetX = offsetX;\n    this.offsetY = offsetY;\n    var centerX = (viewBox[2] + viewBox[0]) / 2;\n    var centerY = (viewBox[3] + viewBox[1]) / 2;\n    var rotateA, rotateB, rotateC, rotateD;\n    rotation = rotation % 360;\n    rotation = rotation < 0 ? rotation + 360 : rotation;\n    switch (rotation) {\n      case 180:\n        rotateA = -1;\n        rotateB = 0;\n        rotateC = 0;\n        rotateD = 1;\n        break;\n      case 90:\n        rotateA = 0;\n        rotateB = 1;\n        rotateC = 1;\n        rotateD = 0;\n        break;\n      case 270:\n        rotateA = 0;\n        rotateB = -1;\n        rotateC = -1;\n        rotateD = 0;\n        break;\n      default:\n        rotateA = 1;\n        rotateB = 0;\n        rotateC = 0;\n        rotateD = -1;\n        break;\n    }\n    if (dontFlip) {\n      rotateC = -rotateC;\n      rotateD = -rotateD;\n    }\n    var offsetCanvasX, offsetCanvasY;\n    var width, height;\n    if (rotateA === 0) {\n      offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX;\n      offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY;\n      width = Math.abs(viewBox[3] - viewBox[1]) * scale;\n      height = Math.abs(viewBox[2] - viewBox[0]) * scale;\n    } else {\n      offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX;\n      offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY;\n      width = Math.abs(viewBox[2] - viewBox[0]) * scale;\n      height = Math.abs(viewBox[3] - viewBox[1]) * scale;\n    }\n    this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY];\n    this.width = width;\n    this.height = height;\n    this.fontScale = scale;\n  }\n  PageViewport.prototype = {\n    clone: function PageViewPort_clone(args) {\n      args = args || {};\n      var scale = 'scale' in args ? args.scale : this.scale;\n      var rotation = 'rotation' in args ? args.rotation : this.rotation;\n      return new PageViewport(this.viewBox.slice(), scale, rotation, this.offsetX, this.offsetY, args.dontFlip);\n    },\n    convertToViewportPoint: function PageViewport_convertToViewportPoint(x, y) {\n      return Util.applyTransform([x, y], this.transform);\n    },\n    convertToViewportRectangle: function PageViewport_convertToViewportRectangle(rect) {\n      var tl = Util.applyTransform([rect[0], rect[1]], this.transform);\n      var br = Util.applyTransform([rect[2], rect[3]], this.transform);\n      return [tl[0], tl[1], br[0], br[1]];\n    },\n    convertToPdfPoint: function PageViewport_convertToPdfPoint(x, y) {\n      return Util.applyInverseTransform([x, y], this.transform);\n    }\n  };\n  return PageViewport;\n}();\nvar PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 0x2030, 0x201E, 0x201C, 0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160, 0x178, 0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC];\nfunction stringToPDFString(str) {\n  var i,\n      n = str.length,\n      strBuf = [];\n  if (str[0] === '\\xFE' && str[1] === '\\xFF') {\n    for (i = 2; i < n; i += 2) {\n      strBuf.push(String.fromCharCode(str.charCodeAt(i) << 8 | str.charCodeAt(i + 1)));\n    }\n  } else {\n    for (i = 0; i < n; ++i) {\n      var code = PDFStringTranslateTable[str.charCodeAt(i)];\n      strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));\n    }\n  }\n  return strBuf.join('');\n}\nfunction stringToUTF8String(str) {\n  return decodeURIComponent(escape(str));\n}\nfunction utf8StringToString(str) {\n  return unescape(encodeURIComponent(str));\n}\nfunction isEmptyObj(obj) {\n  for (var key in obj) {\n    return false;\n  }\n  return true;\n}\nfunction isBool(v) {\n  return typeof v === 'boolean';\n}\nfunction isNum(v) {\n  return typeof v === 'number';\n}\nfunction isString(v) {\n  return typeof v === 'string';\n}\nfunction isArrayBuffer(v) {\n  return (typeof v === 'undefined' ? 'undefined' : _typeof(v)) === 'object' && v !== null && v.byteLength !== undefined;\n}\nfunction isSpace(ch) {\n  return ch === 0x20 || ch === 0x09 || ch === 0x0D || ch === 0x0A;\n}\nfunction isNodeJS() {\n  return (typeof process === 'undefined' ? 'undefined' : _typeof(process)) === 'object' && process + '' === '[object process]';\n}\nfunction createPromiseCapability() {\n  var capability = {};\n  capability.promise = new Promise(function (resolve, reject) {\n    capability.resolve = resolve;\n    capability.reject = reject;\n  });\n  return capability;\n}\nvar StatTimer = function StatTimerClosure() {\n  function rpad(str, pad, length) {\n    while (str.length < length) {\n      str += pad;\n    }\n    return str;\n  }\n  function StatTimer() {\n    this.started = Object.create(null);\n    this.times = [];\n    this.enabled = true;\n  }\n  StatTimer.prototype = {\n    time: function StatTimer_time(name) {\n      if (!this.enabled) {\n        return;\n      }\n      if (name in this.started) {\n        warn('Timer is already running for ' + name);\n      }\n      this.started[name] = Date.now();\n    },\n    timeEnd: function StatTimer_timeEnd(name) {\n      if (!this.enabled) {\n        return;\n      }\n      if (!(name in this.started)) {\n        warn('Timer has not been started for ' + name);\n      }\n      this.times.push({\n        'name': name,\n        'start': this.started[name],\n        'end': Date.now()\n      });\n      delete this.started[name];\n    },\n    toString: function StatTimer_toString() {\n      var i, ii;\n      var times = this.times;\n      var out = '';\n      var longest = 0;\n      for (i = 0, ii = times.length; i < ii; ++i) {\n        var name = times[i]['name'];\n        if (name.length > longest) {\n          longest = name.length;\n        }\n      }\n      for (i = 0, ii = times.length; i < ii; ++i) {\n        var span = times[i];\n        var duration = span.end - span.start;\n        out += rpad(span['name'], ' ', longest) + ' ' + duration + 'ms\\n';\n      }\n      return out;\n    }\n  };\n  return StatTimer;\n}();\nvar createBlob = function createBlob(data, contentType) {\n  if (typeof Blob !== 'undefined') {\n    return new Blob([data], { type: contentType });\n  }\n  throw new Error('The \"Blob\" constructor is not supported.');\n};\nvar createObjectURL = function createObjectURLClosure() {\n  var digits = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n  return function createObjectURL(data, contentType) {\n    var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n    if (!forceDataSchema && URL.createObjectURL) {\n      var blob = createBlob(data, contentType);\n      return URL.createObjectURL(blob);\n    }\n    var buffer = 'data:' + contentType + ';base64,';\n    for (var i = 0, ii = data.length; i < ii; i += 3) {\n      var b1 = data[i] & 0xFF;\n      var b2 = data[i + 1] & 0xFF;\n      var b3 = data[i + 2] & 0xFF;\n      var d1 = b1 >> 2,\n          d2 = (b1 & 3) << 4 | b2 >> 4;\n      var d3 = i + 1 < ii ? (b2 & 0xF) << 2 | b3 >> 6 : 64;\n      var d4 = i + 2 < ii ? b3 & 0x3F : 64;\n      buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];\n    }\n    return buffer;\n  };\n}();\nfunction resolveCall(fn, args) {\n  var thisArg = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n  if (!fn) {\n    return Promise.resolve(undefined);\n  }\n  return new Promise(function (resolve, reject) {\n    resolve(fn.apply(thisArg, args));\n  });\n}\nfunction wrapReason(reason) {\n  if ((typeof reason === 'undefined' ? 'undefined' : _typeof(reason)) !== 'object') {\n    return reason;\n  }\n  switch (reason.name) {\n    case 'AbortException':\n      return new AbortException(reason.message);\n    case 'MissingPDFException':\n      return new MissingPDFException(reason.message);\n    case 'UnexpectedResponseException':\n      return new UnexpectedResponseException(reason.message, reason.status);\n    default:\n      return new UnknownErrorException(reason.message, reason.details);\n  }\n}\nfunction makeReasonSerializable(reason) {\n  if (!(reason instanceof Error) || reason instanceof AbortException || reason instanceof MissingPDFException || reason instanceof UnexpectedResponseException || reason instanceof UnknownErrorException) {\n    return reason;\n  }\n  return new UnknownErrorException(reason.message, reason.toString());\n}\nfunction resolveOrReject(capability, success, reason) {\n  if (success) {\n    capability.resolve();\n  } else {\n    capability.reject(reason);\n  }\n}\nfunction finalize(promise) {\n  return Promise.resolve(promise).catch(function () {});\n}\nfunction MessageHandler(sourceName, targetName, comObj) {\n  var _this = this;\n\n  this.sourceName = sourceName;\n  this.targetName = targetName;\n  this.comObj = comObj;\n  this.callbackId = 1;\n  this.streamId = 1;\n  this.postMessageTransfers = true;\n  this.streamSinks = Object.create(null);\n  this.streamControllers = Object.create(null);\n  var callbacksCapabilities = this.callbacksCapabilities = Object.create(null);\n  var ah = this.actionHandler = Object.create(null);\n  this._onComObjOnMessage = function (event) {\n    var data = event.data;\n    if (data.targetName !== _this.sourceName) {\n      return;\n    }\n    if (data.stream) {\n      _this._processStreamMessage(data);\n    } else if (data.isReply) {\n      var callbackId = data.callbackId;\n      if (data.callbackId in callbacksCapabilities) {\n        var callback = callbacksCapabilities[callbackId];\n        delete callbacksCapabilities[callbackId];\n        if ('error' in data) {\n          callback.reject(wrapReason(data.error));\n        } else {\n          callback.resolve(data.data);\n        }\n      } else {\n        throw new Error('Cannot resolve callback ' + callbackId);\n      }\n    } else if (data.action in ah) {\n      var action = ah[data.action];\n      if (data.callbackId) {\n        var _sourceName = _this.sourceName;\n        var _targetName = data.sourceName;\n        Promise.resolve().then(function () {\n          return action[0].call(action[1], data.data);\n        }).then(function (result) {\n          comObj.postMessage({\n            sourceName: _sourceName,\n            targetName: _targetName,\n            isReply: true,\n            callbackId: data.callbackId,\n            data: result\n          });\n        }, function (reason) {\n          comObj.postMessage({\n            sourceName: _sourceName,\n            targetName: _targetName,\n            isReply: true,\n            callbackId: data.callbackId,\n            error: makeReasonSerializable(reason)\n          });\n        });\n      } else if (data.streamId) {\n        _this._createStreamSink(data);\n      } else {\n        action[0].call(action[1], data.data);\n      }\n    } else {\n      throw new Error('Unknown action from worker: ' + data.action);\n    }\n  };\n  comObj.addEventListener('message', this._onComObjOnMessage);\n}\nMessageHandler.prototype = {\n  on: function on(actionName, handler, scope) {\n    var ah = this.actionHandler;\n    if (ah[actionName]) {\n      throw new Error('There is already an actionName called \"' + actionName + '\"');\n    }\n    ah[actionName] = [handler, scope];\n  },\n  send: function send(actionName, data, transfers) {\n    var message = {\n      sourceName: this.sourceName,\n      targetName: this.targetName,\n      action: actionName,\n      data: data\n    };\n    this.postMessage(message, transfers);\n  },\n  sendWithPromise: function sendWithPromise(actionName, data, transfers) {\n    var callbackId = this.callbackId++;\n    var message = {\n      sourceName: this.sourceName,\n      targetName: this.targetName,\n      action: actionName,\n      data: data,\n      callbackId: callbackId\n    };\n    var capability = createPromiseCapability();\n    this.callbacksCapabilities[callbackId] = capability;\n    try {\n      this.postMessage(message, transfers);\n    } catch (e) {\n      capability.reject(e);\n    }\n    return capability.promise;\n  },\n  sendWithStream: function sendWithStream(actionName, data, queueingStrategy, transfers) {\n    var _this2 = this;\n\n    var streamId = this.streamId++;\n    var sourceName = this.sourceName;\n    var targetName = this.targetName;\n    return new _streams_polyfill.ReadableStream({\n      start: function start(controller) {\n        var startCapability = createPromiseCapability();\n        _this2.streamControllers[streamId] = {\n          controller: controller,\n          startCall: startCapability,\n          isClosed: false\n        };\n        _this2.postMessage({\n          sourceName: sourceName,\n          targetName: targetName,\n          action: actionName,\n          streamId: streamId,\n          data: data,\n          desiredSize: controller.desiredSize\n        });\n        return startCapability.promise;\n      },\n      pull: function pull(controller) {\n        var pullCapability = createPromiseCapability();\n        _this2.streamControllers[streamId].pullCall = pullCapability;\n        _this2.postMessage({\n          sourceName: sourceName,\n          targetName: targetName,\n          stream: 'pull',\n          streamId: streamId,\n          desiredSize: controller.desiredSize\n        });\n        return pullCapability.promise;\n      },\n      cancel: function cancel(reason) {\n        var cancelCapability = createPromiseCapability();\n        _this2.streamControllers[streamId].cancelCall = cancelCapability;\n        _this2.streamControllers[streamId].isClosed = true;\n        _this2.postMessage({\n          sourceName: sourceName,\n          targetName: targetName,\n          stream: 'cancel',\n          reason: reason,\n          streamId: streamId\n        });\n        return cancelCapability.promise;\n      }\n    }, queueingStrategy);\n  },\n  _createStreamSink: function _createStreamSink(data) {\n    var _this3 = this;\n\n    var self = this;\n    var action = this.actionHandler[data.action];\n    var streamId = data.streamId;\n    var desiredSize = data.desiredSize;\n    var sourceName = this.sourceName;\n    var targetName = data.sourceName;\n    var capability = createPromiseCapability();\n    var sendStreamRequest = function sendStreamRequest(_ref) {\n      var stream = _ref.stream,\n          chunk = _ref.chunk,\n          transfers = _ref.transfers,\n          success = _ref.success,\n          reason = _ref.reason;\n\n      _this3.postMessage({\n        sourceName: sourceName,\n        targetName: targetName,\n        stream: stream,\n        streamId: streamId,\n        chunk: chunk,\n        success: success,\n        reason: reason\n      }, transfers);\n    };\n    var streamSink = {\n      enqueue: function enqueue(chunk) {\n        var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n        var transfers = arguments[2];\n\n        if (this.isCancelled) {\n          return;\n        }\n        var lastDesiredSize = this.desiredSize;\n        this.desiredSize -= size;\n        if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n          this.sinkCapability = createPromiseCapability();\n          this.ready = this.sinkCapability.promise;\n        }\n        sendStreamRequest({\n          stream: 'enqueue',\n          chunk: chunk,\n          transfers: transfers\n        });\n      },\n      close: function close() {\n        if (this.isCancelled) {\n          return;\n        }\n        this.isCancelled = true;\n        sendStreamRequest({ stream: 'close' });\n        delete self.streamSinks[streamId];\n      },\n      error: function error(reason) {\n        if (this.isCancelled) {\n          return;\n        }\n        this.isCancelled = true;\n        sendStreamRequest({\n          stream: 'error',\n          reason: reason\n        });\n      },\n\n      sinkCapability: capability,\n      onPull: null,\n      onCancel: null,\n      isCancelled: false,\n      desiredSize: desiredSize,\n      ready: null\n    };\n    streamSink.sinkCapability.resolve();\n    streamSink.ready = streamSink.sinkCapability.promise;\n    this.streamSinks[streamId] = streamSink;\n    resolveCall(action[0], [data.data, streamSink], action[1]).then(function () {\n      sendStreamRequest({\n        stream: 'start_complete',\n        success: true\n      });\n    }, function (reason) {\n      sendStreamRequest({\n        stream: 'start_complete',\n        success: false,\n        reason: reason\n      });\n    });\n  },\n  _processStreamMessage: function _processStreamMessage(data) {\n    var _this4 = this;\n\n    var sourceName = this.sourceName;\n    var targetName = data.sourceName;\n    var streamId = data.streamId;\n    var sendStreamResponse = function sendStreamResponse(_ref2) {\n      var stream = _ref2.stream,\n          success = _ref2.success,\n          reason = _ref2.reason;\n\n      _this4.comObj.postMessage({\n        sourceName: sourceName,\n        targetName: targetName,\n        stream: stream,\n        success: success,\n        streamId: streamId,\n        reason: reason\n      });\n    };\n    var deleteStreamController = function deleteStreamController() {\n      Promise.all([_this4.streamControllers[data.streamId].startCall, _this4.streamControllers[data.streamId].pullCall, _this4.streamControllers[data.streamId].cancelCall].map(function (capability) {\n        return capability && finalize(capability.promise);\n      })).then(function () {\n        delete _this4.streamControllers[data.streamId];\n      });\n    };\n    switch (data.stream) {\n      case 'start_complete':\n        resolveOrReject(this.streamControllers[data.streamId].startCall, data.success, wrapReason(data.reason));\n        break;\n      case 'pull_complete':\n        resolveOrReject(this.streamControllers[data.streamId].pullCall, data.success, wrapReason(data.reason));\n        break;\n      case 'pull':\n        if (!this.streamSinks[data.streamId]) {\n          sendStreamResponse({\n            stream: 'pull_complete',\n            success: true\n          });\n          break;\n        }\n        if (this.streamSinks[data.streamId].desiredSize <= 0 && data.desiredSize > 0) {\n          this.streamSinks[data.streamId].sinkCapability.resolve();\n        }\n        this.streamSinks[data.streamId].desiredSize = data.desiredSize;\n        resolveCall(this.streamSinks[data.streamId].onPull).then(function () {\n          sendStreamResponse({\n            stream: 'pull_complete',\n            success: true\n          });\n        }, function (reason) {\n          sendStreamResponse({\n            stream: 'pull_complete',\n            success: false,\n            reason: reason\n          });\n        });\n        break;\n      case 'enqueue':\n        assert(this.streamControllers[data.streamId], 'enqueue should have stream controller');\n        if (!this.streamControllers[data.streamId].isClosed) {\n          this.streamControllers[data.streamId].controller.enqueue(data.chunk);\n        }\n        break;\n      case 'close':\n        assert(this.streamControllers[data.streamId], 'close should have stream controller');\n        if (this.streamControllers[data.streamId].isClosed) {\n          break;\n        }\n        this.streamControllers[data.streamId].isClosed = true;\n        this.streamControllers[data.streamId].controller.close();\n        deleteStreamController();\n        break;\n      case 'error':\n        assert(this.streamControllers[data.streamId], 'error should have stream controller');\n        this.streamControllers[data.streamId].controller.error(wrapReason(data.reason));\n        deleteStreamController();\n        break;\n      case 'cancel_complete':\n        resolveOrReject(this.streamControllers[data.streamId].cancelCall, data.success, wrapReason(data.reason));\n        deleteStreamController();\n        break;\n      case 'cancel':\n        if (!this.streamSinks[data.streamId]) {\n          break;\n        }\n        resolveCall(this.streamSinks[data.streamId].onCancel, [wrapReason(data.reason)]).then(function () {\n          sendStreamResponse({\n            stream: 'cancel_complete',\n            success: true\n          });\n        }, function (reason) {\n          sendStreamResponse({\n            stream: 'cancel_complete',\n            success: false,\n            reason: reason\n          });\n        });\n        this.streamSinks[data.streamId].sinkCapability.reject(wrapReason(data.reason));\n        this.streamSinks[data.streamId].isCancelled = true;\n        delete this.streamSinks[data.streamId];\n        break;\n      default:\n        throw new Error('Unexpected stream case');\n    }\n  },\n  postMessage: function postMessage(message, transfers) {\n    if (transfers && this.postMessageTransfers) {\n      this.comObj.postMessage(message, transfers);\n    } else {\n      this.comObj.postMessage(message);\n    }\n  },\n  destroy: function destroy() {\n    this.comObj.removeEventListener('message', this._onComObjOnMessage);\n  }\n};\nfunction loadJpegStream(id, imageUrl, objs) {\n  var img = new Image();\n  img.onload = function loadJpegStream_onloadClosure() {\n    objs.resolve(id, img);\n  };\n  img.onerror = function loadJpegStream_onerrorClosure() {\n    objs.resolve(id, null);\n    warn('Error during JPEG image loading');\n  };\n  img.src = imageUrl;\n}\nexports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;\nexports.IDENTITY_MATRIX = IDENTITY_MATRIX;\nexports.OPS = OPS;\nexports.VERBOSITY_LEVELS = VERBOSITY_LEVELS;\nexports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;\nexports.AnnotationBorderStyleType = AnnotationBorderStyleType;\nexports.AnnotationFieldFlag = AnnotationFieldFlag;\nexports.AnnotationFlag = AnnotationFlag;\nexports.AnnotationType = AnnotationType;\nexports.FontType = FontType;\nexports.ImageKind = ImageKind;\nexports.CMapCompressionType = CMapCompressionType;\nexports.AbortException = AbortException;\nexports.InvalidPDFException = InvalidPDFException;\nexports.MessageHandler = MessageHandler;\nexports.MissingDataException = MissingDataException;\nexports.MissingPDFException = MissingPDFException;\nexports.NativeImageDecoding = NativeImageDecoding;\nexports.NotImplementedException = NotImplementedException;\nexports.PageViewport = PageViewport;\nexports.PasswordException = PasswordException;\nexports.PasswordResponses = PasswordResponses;\nexports.StatTimer = StatTimer;\nexports.StreamType = StreamType;\nexports.TextRenderingMode = TextRenderingMode;\nexports.UnexpectedResponseException = UnexpectedResponseException;\nexports.UnknownErrorException = UnknownErrorException;\nexports.Util = Util;\nexports.XRefParseException = XRefParseException;\nexports.FormatError = FormatError;\nexports.arrayByteLength = arrayByteLength;\nexports.arraysToBytes = arraysToBytes;\nexports.assert = assert;\nexports.bytesToString = bytesToString;\nexports.createBlob = createBlob;\nexports.createPromiseCapability = createPromiseCapability;\nexports.createObjectURL = createObjectURL;\nexports.deprecated = deprecated;\nexports.getLookupTableFactory = getLookupTableFactory;\nexports.getVerbosityLevel = getVerbosityLevel;\nexports.info = info;\nexports.isArrayBuffer = isArrayBuffer;\nexports.isBool = isBool;\nexports.isEmptyObj = isEmptyObj;\nexports.isNum = isNum;\nexports.isString = isString;\nexports.isSpace = isSpace;\nexports.isNodeJS = isNodeJS;\nexports.isSameOrigin = isSameOrigin;\nexports.createValidAbsoluteUrl = createValidAbsoluteUrl;\nexports.isLittleEndian = isLittleEndian;\nexports.isEvalSupported = isEvalSupported;\nexports.loadJpegStream = loadJpegStream;\nexports.log2 = log2;\nexports.readInt8 = readInt8;\nexports.readUint16 = readUint16;\nexports.readUint32 = readUint32;\nexports.removeNullCharacters = removeNullCharacters;\nexports.ReadableStream = _streams_polyfill.ReadableStream;\nexports.setVerbosityLevel = setVerbosityLevel;\nexports.shadow = shadow;\nexports.string32 = string32;\nexports.stringToBytes = stringToBytes;\nexports.stringToPDFString = stringToPDFString;\nexports.stringToUTF8String = stringToUTF8String;\nexports.utf8StringToString = utf8StringToString;\nexports.warn = warn;\nexports.unreachable = unreachable;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\nif (typeof __g == 'number') __g = global;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\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 && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar EOF = {};\nvar Name = function NameClosure() {\n  function Name(name) {\n    this.name = name;\n  }\n  Name.prototype = {};\n  var nameCache = Object.create(null);\n  Name.get = function Name_get(name) {\n    var nameValue = nameCache[name];\n    return nameValue ? nameValue : nameCache[name] = new Name(name);\n  };\n  return Name;\n}();\nvar Cmd = function CmdClosure() {\n  function Cmd(cmd) {\n    this.cmd = cmd;\n  }\n  Cmd.prototype = {};\n  var cmdCache = Object.create(null);\n  Cmd.get = function Cmd_get(cmd) {\n    var cmdValue = cmdCache[cmd];\n    return cmdValue ? cmdValue : cmdCache[cmd] = new Cmd(cmd);\n  };\n  return Cmd;\n}();\nvar Dict = function DictClosure() {\n  var nonSerializable = function nonSerializableClosure() {\n    return nonSerializable;\n  };\n  function Dict(xref) {\n    this._map = Object.create(null);\n    this.xref = xref;\n    this.objId = null;\n    this.suppressEncryption = false;\n    this.__nonSerializable__ = nonSerializable;\n  }\n  Dict.prototype = {\n    assignXref: function Dict_assignXref(newXref) {\n      this.xref = newXref;\n    },\n    get: function Dict_get(key1, key2, key3) {\n      var value;\n      var xref = this.xref,\n          suppressEncryption = this.suppressEncryption;\n      if (typeof (value = this._map[key1]) !== 'undefined' || key1 in this._map || typeof key2 === 'undefined') {\n        return xref ? xref.fetchIfRef(value, suppressEncryption) : value;\n      }\n      if (typeof (value = this._map[key2]) !== 'undefined' || key2 in this._map || typeof key3 === 'undefined') {\n        return xref ? xref.fetchIfRef(value, suppressEncryption) : value;\n      }\n      value = this._map[key3] || null;\n      return xref ? xref.fetchIfRef(value, suppressEncryption) : value;\n    },\n    getAsync: function Dict_getAsync(key1, key2, key3) {\n      var value;\n      var xref = this.xref,\n          suppressEncryption = this.suppressEncryption;\n      if (typeof (value = this._map[key1]) !== 'undefined' || key1 in this._map || typeof key2 === 'undefined') {\n        if (xref) {\n          return xref.fetchIfRefAsync(value, suppressEncryption);\n        }\n        return Promise.resolve(value);\n      }\n      if (typeof (value = this._map[key2]) !== 'undefined' || key2 in this._map || typeof key3 === 'undefined') {\n        if (xref) {\n          return xref.fetchIfRefAsync(value, suppressEncryption);\n        }\n        return Promise.resolve(value);\n      }\n      value = this._map[key3] || null;\n      if (xref) {\n        return xref.fetchIfRefAsync(value, suppressEncryption);\n      }\n      return Promise.resolve(value);\n    },\n    getArray: function Dict_getArray(key1, key2, key3) {\n      var value = this.get(key1, key2, key3);\n      var xref = this.xref,\n          suppressEncryption = this.suppressEncryption;\n      if (!Array.isArray(value) || !xref) {\n        return value;\n      }\n      value = value.slice();\n      for (var i = 0, ii = value.length; i < ii; i++) {\n        if (!isRef(value[i])) {\n          continue;\n        }\n        value[i] = xref.fetch(value[i], suppressEncryption);\n      }\n      return value;\n    },\n    getRaw: function Dict_getRaw(key) {\n      return this._map[key];\n    },\n    getKeys: function Dict_getKeys() {\n      return Object.keys(this._map);\n    },\n    set: function Dict_set(key, value) {\n      this._map[key] = value;\n    },\n    has: function Dict_has(key) {\n      return key in this._map;\n    },\n    forEach: function Dict_forEach(callback) {\n      for (var key in this._map) {\n        callback(key, this.get(key));\n      }\n    }\n  };\n  Dict.empty = new Dict(null);\n  Dict.merge = function (xref, dictArray) {\n    var mergedDict = new Dict(xref);\n    for (var i = 0, ii = dictArray.length; i < ii; i++) {\n      var dict = dictArray[i];\n      if (!isDict(dict)) {\n        continue;\n      }\n      for (var keyName in dict._map) {\n        if (mergedDict._map[keyName] !== undefined) {\n          continue;\n        }\n        mergedDict._map[keyName] = dict._map[keyName];\n      }\n    }\n    return mergedDict;\n  };\n  return Dict;\n}();\nvar Ref = function RefClosure() {\n  function Ref(num, gen) {\n    this.num = num;\n    this.gen = gen;\n  }\n  Ref.prototype = {\n    toString: function Ref_toString() {\n      var str = this.num + 'R';\n      if (this.gen !== 0) {\n        str += this.gen;\n      }\n      return str;\n    }\n  };\n  return Ref;\n}();\nvar RefSet = function RefSetClosure() {\n  function RefSet() {\n    this.dict = Object.create(null);\n  }\n  RefSet.prototype = {\n    has: function RefSet_has(ref) {\n      return ref.toString() in this.dict;\n    },\n    put: function RefSet_put(ref) {\n      this.dict[ref.toString()] = true;\n    },\n    remove: function RefSet_remove(ref) {\n      delete this.dict[ref.toString()];\n    }\n  };\n  return RefSet;\n}();\nvar RefSetCache = function RefSetCacheClosure() {\n  function RefSetCache() {\n    this.dict = Object.create(null);\n  }\n  RefSetCache.prototype = {\n    get: function RefSetCache_get(ref) {\n      return this.dict[ref.toString()];\n    },\n    has: function RefSetCache_has(ref) {\n      return ref.toString() in this.dict;\n    },\n    put: function RefSetCache_put(ref, obj) {\n      this.dict[ref.toString()] = obj;\n    },\n    putAlias: function RefSetCache_putAlias(ref, aliasRef) {\n      this.dict[ref.toString()] = this.get(aliasRef);\n    },\n    forEach: function RefSetCache_forEach(fn, thisArg) {\n      for (var i in this.dict) {\n        fn.call(thisArg, this.dict[i]);\n      }\n    },\n    clear: function RefSetCache_clear() {\n      this.dict = Object.create(null);\n    }\n  };\n  return RefSetCache;\n}();\nfunction isEOF(v) {\n  return v === EOF;\n}\nfunction isName(v, name) {\n  return v instanceof Name && (name === undefined || v.name === name);\n}\nfunction isCmd(v, cmd) {\n  return v instanceof Cmd && (cmd === undefined || v.cmd === cmd);\n}\nfunction isDict(v, type) {\n  return v instanceof Dict && (type === undefined || isName(v.get('Type'), type));\n}\nfunction isRef(v) {\n  return v instanceof Ref;\n}\nfunction isRefsEqual(v1, v2) {\n  return v1.num === v2.num && v1.gen === v2.gen;\n}\nfunction isStream(v) {\n  return (typeof v === 'undefined' ? 'undefined' : _typeof(v)) === 'object' && v !== null && v.getBytes !== undefined;\n}\nexports.EOF = EOF;\nexports.Cmd = Cmd;\nexports.Dict = Dict;\nexports.Name = Name;\nexports.Ref = Ref;\nexports.RefSet = RefSet;\nexports.RefSetCache = RefSetCache;\nexports.isEOF = isEOF;\nexports.isCmd = isCmd;\nexports.isDict = isDict;\nexports.isName = isName;\nexports.isRef = isRef;\nexports.isRefsEqual = isRefsEqual;\nexports.isStream = isStream;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\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 && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nmodule.exports = function (it) {\n  return (typeof it === 'undefined' ? 'undefined' : _typeof(it)) === 'object' ? it !== null : typeof it === 'function';\n};\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar store = __w_pdfjs_require__(57)('wks');\nvar uid = __w_pdfjs_require__(18);\nvar _Symbol = __w_pdfjs_require__(1).Symbol;\nvar USE_SYMBOL = typeof _Symbol == 'function';\nvar $exports = module.exports = function (name) {\n  return store[name] || (store[name] = USE_SYMBOL && _Symbol[name] || (USE_SYMBOL ? _Symbol : uid)('Symbol.' + name));\n};\n$exports.store = store;\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.LZWStream = exports.StringStream = exports.StreamsSequenceStream = exports.Stream = exports.RunLengthStream = exports.PredictorStream = exports.NullStream = exports.JpxStream = exports.JpegStream = exports.FlateStream = exports.DecodeStream = exports.DecryptStream = exports.AsciiHexStream = exports.Ascii85Stream = undefined;\n\nvar _util = __w_pdfjs_require__(0);\n\nvar _primitives = __w_pdfjs_require__(2);\n\nvar _jpg = __w_pdfjs_require__(143);\n\nvar _jpx = __w_pdfjs_require__(80);\n\nvar Stream = function StreamClosure() {\n  function Stream(arrayBuffer, start, length, dict) {\n    this.bytes = arrayBuffer instanceof Uint8Array ? arrayBuffer : new Uint8Array(arrayBuffer);\n    this.start = start || 0;\n    this.pos = this.start;\n    this.end = start + length || this.bytes.length;\n    this.dict = dict;\n  }\n  Stream.prototype = {\n    get length() {\n      return this.end - this.start;\n    },\n    get isEmpty() {\n      return this.length === 0;\n    },\n    getByte: function Stream_getByte() {\n      if (this.pos >= this.end) {\n        return -1;\n      }\n      return this.bytes[this.pos++];\n    },\n    getUint16: function Stream_getUint16() {\n      var b0 = this.getByte();\n      var b1 = this.getByte();\n      if (b0 === -1 || b1 === -1) {\n        return -1;\n      }\n      return (b0 << 8) + b1;\n    },\n    getInt32: function Stream_getInt32() {\n      var b0 = this.getByte();\n      var b1 = this.getByte();\n      var b2 = this.getByte();\n      var b3 = this.getByte();\n      return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n    },\n    getBytes: function Stream_getBytes(length) {\n      var bytes = this.bytes;\n      var pos = this.pos;\n      var strEnd = this.end;\n      if (!length) {\n        return bytes.subarray(pos, strEnd);\n      }\n      var end = pos + length;\n      if (end > strEnd) {\n        end = strEnd;\n      }\n      this.pos = end;\n      return bytes.subarray(pos, end);\n    },\n    peekByte: function Stream_peekByte() {\n      var peekedByte = this.getByte();\n      this.pos--;\n      return peekedByte;\n    },\n    peekBytes: function Stream_peekBytes(length) {\n      var bytes = this.getBytes(length);\n      this.pos -= bytes.length;\n      return bytes;\n    },\n    skip: function Stream_skip(n) {\n      if (!n) {\n        n = 1;\n      }\n      this.pos += n;\n    },\n    reset: function Stream_reset() {\n      this.pos = this.start;\n    },\n    moveStart: function Stream_moveStart() {\n      this.start = this.pos;\n    },\n    makeSubStream: function Stream_makeSubStream(start, length, dict) {\n      return new Stream(this.bytes.buffer, start, length, dict);\n    }\n  };\n  return Stream;\n}();\nvar StringStream = function StringStreamClosure() {\n  function StringStream(str) {\n    var bytes = (0, _util.stringToBytes)(str);\n    Stream.call(this, bytes);\n  }\n  StringStream.prototype = Stream.prototype;\n  return StringStream;\n}();\nvar DecodeStream = function DecodeStreamClosure() {\n  var emptyBuffer = new Uint8Array(0);\n  function DecodeStream(maybeMinBufferLength) {\n    this.pos = 0;\n    this.bufferLength = 0;\n    this.eof = false;\n    this.buffer = emptyBuffer;\n    this.minBufferLength = 512;\n    if (maybeMinBufferLength) {\n      while (this.minBufferLength < maybeMinBufferLength) {\n        this.minBufferLength *= 2;\n      }\n    }\n  }\n  DecodeStream.prototype = {\n    get isEmpty() {\n      while (!this.eof && this.bufferLength === 0) {\n        this.readBlock();\n      }\n      return this.bufferLength === 0;\n    },\n    ensureBuffer: function DecodeStream_ensureBuffer(requested) {\n      var buffer = this.buffer;\n      if (requested <= buffer.byteLength) {\n        return buffer;\n      }\n      var size = this.minBufferLength;\n      while (size < requested) {\n        size *= 2;\n      }\n      var buffer2 = new Uint8Array(size);\n      buffer2.set(buffer);\n      return this.buffer = buffer2;\n    },\n    getByte: function DecodeStream_getByte() {\n      var pos = this.pos;\n      while (this.bufferLength <= pos) {\n        if (this.eof) {\n          return -1;\n        }\n        this.readBlock();\n      }\n      return this.buffer[this.pos++];\n    },\n    getUint16: function DecodeStream_getUint16() {\n      var b0 = this.getByte();\n      var b1 = this.getByte();\n      if (b0 === -1 || b1 === -1) {\n        return -1;\n      }\n      return (b0 << 8) + b1;\n    },\n    getInt32: function DecodeStream_getInt32() {\n      var b0 = this.getByte();\n      var b1 = this.getByte();\n      var b2 = this.getByte();\n      var b3 = this.getByte();\n      return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n    },\n    getBytes: function DecodeStream_getBytes(length) {\n      var end,\n          pos = this.pos;\n      if (length) {\n        this.ensureBuffer(pos + length);\n        end = pos + length;\n        while (!this.eof && this.bufferLength < end) {\n          this.readBlock();\n        }\n        var bufEnd = this.bufferLength;\n        if (end > bufEnd) {\n          end = bufEnd;\n        }\n      } else {\n        while (!this.eof) {\n          this.readBlock();\n        }\n        end = this.bufferLength;\n      }\n      this.pos = end;\n      return this.buffer.subarray(pos, end);\n    },\n    peekByte: function DecodeStream_peekByte() {\n      var peekedByte = this.getByte();\n      this.pos--;\n      return peekedByte;\n    },\n    peekBytes: function DecodeStream_peekBytes(length) {\n      var bytes = this.getBytes(length);\n      this.pos -= bytes.length;\n      return bytes;\n    },\n    makeSubStream: function DecodeStream_makeSubStream(start, length, dict) {\n      var end = start + length;\n      while (this.bufferLength <= end && !this.eof) {\n        this.readBlock();\n      }\n      return new Stream(this.buffer, start, length, dict);\n    },\n    skip: function DecodeStream_skip(n) {\n      if (!n) {\n        n = 1;\n      }\n      this.pos += n;\n    },\n    reset: function DecodeStream_reset() {\n      this.pos = 0;\n    },\n    getBaseStreams: function DecodeStream_getBaseStreams() {\n      if (this.str && this.str.getBaseStreams) {\n        return this.str.getBaseStreams();\n      }\n      return [];\n    }\n  };\n  return DecodeStream;\n}();\nvar StreamsSequenceStream = function StreamsSequenceStreamClosure() {\n  function StreamsSequenceStream(streams) {\n    this.streams = streams;\n    DecodeStream.call(this, null);\n  }\n  StreamsSequenceStream.prototype = Object.create(DecodeStream.prototype);\n  StreamsSequenceStream.prototype.readBlock = function streamSequenceStreamReadBlock() {\n    var streams = this.streams;\n    if (streams.length === 0) {\n      this.eof = true;\n      return;\n    }\n    var stream = streams.shift();\n    var chunk = stream.getBytes();\n    var bufferLength = this.bufferLength;\n    var newLength = bufferLength + chunk.length;\n    var buffer = this.ensureBuffer(newLength);\n    buffer.set(chunk, bufferLength);\n    this.bufferLength = newLength;\n  };\n  StreamsSequenceStream.prototype.getBaseStreams = function StreamsSequenceStream_getBaseStreams() {\n    var baseStreams = [];\n    for (var i = 0, ii = this.streams.length; i < ii; i++) {\n      var stream = this.streams[i];\n      if (stream.getBaseStreams) {\n        _util.Util.appendToArray(baseStreams, stream.getBaseStreams());\n      }\n    }\n    return baseStreams;\n  };\n  return StreamsSequenceStream;\n}();\nvar FlateStream = function FlateStreamClosure() {\n  var codeLenCodeMap = new Int32Array([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);\n  var lengthDecode = new Int32Array([0x00003, 0x00004, 0x00005, 0x00006, 0x00007, 0x00008, 0x00009, 0x0000a, 0x1000b, 0x1000d, 0x1000f, 0x10011, 0x20013, 0x20017, 0x2001b, 0x2001f, 0x30023, 0x3002b, 0x30033, 0x3003b, 0x40043, 0x40053, 0x40063, 0x40073, 0x50083, 0x500a3, 0x500c3, 0x500e3, 0x00102, 0x00102, 0x00102]);\n  var distDecode = new Int32Array([0x00001, 0x00002, 0x00003, 0x00004, 0x10005, 0x10007, 0x20009, 0x2000d, 0x30011, 0x30019, 0x40021, 0x40031, 0x50041, 0x50061, 0x60081, 0x600c1, 0x70101, 0x70181, 0x80201, 0x80301, 0x90401, 0x90601, 0xa0801, 0xa0c01, 0xb1001, 0xb1801, 0xc2001, 0xc3001, 0xd4001, 0xd6001]);\n  var fixedLitCodeTab = [new Int32Array([0x70100, 0x80050, 0x80010, 0x80118, 0x70110, 0x80070, 0x80030, 0x900c0, 0x70108, 0x80060, 0x80020, 0x900a0, 0x80000, 0x80080, 0x80040, 0x900e0, 0x70104, 0x80058, 0x80018, 0x90090, 0x70114, 0x80078, 0x80038, 0x900d0, 0x7010c, 0x80068, 0x80028, 0x900b0, 0x80008, 0x80088, 0x80048, 0x900f0, 0x70102, 0x80054, 0x80014, 0x8011c, 0x70112, 0x80074, 0x80034, 0x900c8, 0x7010a, 0x80064, 0x80024, 0x900a8, 0x80004, 0x80084, 0x80044, 0x900e8, 0x70106, 0x8005c, 0x8001c, 0x90098, 0x70116, 0x8007c, 0x8003c, 0x900d8, 0x7010e, 0x8006c, 0x8002c, 0x900b8, 0x8000c, 0x8008c, 0x8004c, 0x900f8, 0x70101, 0x80052, 0x80012, 0x8011a, 0x70111, 0x80072, 0x80032, 0x900c4, 0x70109, 0x80062, 0x80022, 0x900a4, 0x80002, 0x80082, 0x80042, 0x900e4, 0x70105, 0x8005a, 0x8001a, 0x90094, 0x70115, 0x8007a, 0x8003a, 0x900d4, 0x7010d, 0x8006a, 0x8002a, 0x900b4, 0x8000a, 0x8008a, 0x8004a, 0x900f4, 0x70103, 0x80056, 0x80016, 0x8011e, 0x70113, 0x80076, 0x80036, 0x900cc, 0x7010b, 0x80066, 0x80026, 0x900ac, 0x80006, 0x80086, 0x80046, 0x900ec, 0x70107, 0x8005e, 0x8001e, 0x9009c, 0x70117, 0x8007e, 0x8003e, 0x900dc, 0x7010f, 0x8006e, 0x8002e, 0x900bc, 0x8000e, 0x8008e, 0x8004e, 0x900fc, 0x70100, 0x80051, 0x80011, 0x80119, 0x70110, 0x80071, 0x80031, 0x900c2, 0x70108, 0x80061, 0x80021, 0x900a2, 0x80001, 0x80081, 0x80041, 0x900e2, 0x70104, 0x80059, 0x80019, 0x90092, 0x70114, 0x80079, 0x80039, 0x900d2, 0x7010c, 0x80069, 0x80029, 0x900b2, 0x80009, 0x80089, 0x80049, 0x900f2, 0x70102, 0x80055, 0x80015, 0x8011d, 0x70112, 0x80075, 0x80035, 0x900ca, 0x7010a, 0x80065, 0x80025, 0x900aa, 0x80005, 0x80085, 0x80045, 0x900ea, 0x70106, 0x8005d, 0x8001d, 0x9009a, 0x70116, 0x8007d, 0x8003d, 0x900da, 0x7010e, 0x8006d, 0x8002d, 0x900ba, 0x8000d, 0x8008d, 0x8004d, 0x900fa, 0x70101, 0x80053, 0x80013, 0x8011b, 0x70111, 0x80073, 0x80033, 0x900c6, 0x70109, 0x80063, 0x80023, 0x900a6, 0x80003, 0x80083, 0x80043, 0x900e6, 0x70105, 0x8005b, 0x8001b, 0x90096, 0x70115, 0x8007b, 0x8003b, 0x900d6, 0x7010d, 0x8006b, 0x8002b, 0x900b6, 0x8000b, 0x8008b, 0x8004b, 0x900f6, 0x70103, 0x80057, 0x80017, 0x8011f, 0x70113, 0x80077, 0x80037, 0x900ce, 0x7010b, 0x80067, 0x80027, 0x900ae, 0x80007, 0x80087, 0x80047, 0x900ee, 0x70107, 0x8005f, 0x8001f, 0x9009e, 0x70117, 0x8007f, 0x8003f, 0x900de, 0x7010f, 0x8006f, 0x8002f, 0x900be, 0x8000f, 0x8008f, 0x8004f, 0x900fe, 0x70100, 0x80050, 0x80010, 0x80118, 0x70110, 0x80070, 0x80030, 0x900c1, 0x70108, 0x80060, 0x80020, 0x900a1, 0x80000, 0x80080, 0x80040, 0x900e1, 0x70104, 0x80058, 0x80018, 0x90091, 0x70114, 0x80078, 0x80038, 0x900d1, 0x7010c, 0x80068, 0x80028, 0x900b1, 0x80008, 0x80088, 0x80048, 0x900f1, 0x70102, 0x80054, 0x80014, 0x8011c, 0x70112, 0x80074, 0x80034, 0x900c9, 0x7010a, 0x80064, 0x80024, 0x900a9, 0x80004, 0x80084, 0x80044, 0x900e9, 0x70106, 0x8005c, 0x8001c, 0x90099, 0x70116, 0x8007c, 0x8003c, 0x900d9, 0x7010e, 0x8006c, 0x8002c, 0x900b9, 0x8000c, 0x8008c, 0x8004c, 0x900f9, 0x70101, 0x80052, 0x80012, 0x8011a, 0x70111, 0x80072, 0x80032, 0x900c5, 0x70109, 0x80062, 0x80022, 0x900a5, 0x80002, 0x80082, 0x80042, 0x900e5, 0x70105, 0x8005a, 0x8001a, 0x90095, 0x70115, 0x8007a, 0x8003a, 0x900d5, 0x7010d, 0x8006a, 0x8002a, 0x900b5, 0x8000a, 0x8008a, 0x8004a, 0x900f5, 0x70103, 0x80056, 0x80016, 0x8011e, 0x70113, 0x80076, 0x80036, 0x900cd, 0x7010b, 0x80066, 0x80026, 0x900ad, 0x80006, 0x80086, 0x80046, 0x900ed, 0x70107, 0x8005e, 0x8001e, 0x9009d, 0x70117, 0x8007e, 0x8003e, 0x900dd, 0x7010f, 0x8006e, 0x8002e, 0x900bd, 0x8000e, 0x8008e, 0x8004e, 0x900fd, 0x70100, 0x80051, 0x80011, 0x80119, 0x70110, 0x80071, 0x80031, 0x900c3, 0x70108, 0x80061, 0x80021, 0x900a3, 0x80001, 0x80081, 0x80041, 0x900e3, 0x70104, 0x80059, 0x80019, 0x90093, 0x70114, 0x80079, 0x80039, 0x900d3, 0x7010c, 0x80069, 0x80029, 0x900b3, 0x80009, 0x80089, 0x80049, 0x900f3, 0x70102, 0x80055, 0x80015, 0x8011d, 0x70112, 0x80075, 0x80035, 0x900cb, 0x7010a, 0x80065, 0x80025, 0x900ab, 0x80005, 0x80085, 0x80045, 0x900eb, 0x70106, 0x8005d, 0x8001d, 0x9009b, 0x70116, 0x8007d, 0x8003d, 0x900db, 0x7010e, 0x8006d, 0x8002d, 0x900bb, 0x8000d, 0x8008d, 0x8004d, 0x900fb, 0x70101, 0x80053, 0x80013, 0x8011b, 0x70111, 0x80073, 0x80033, 0x900c7, 0x70109, 0x80063, 0x80023, 0x900a7, 0x80003, 0x80083, 0x80043, 0x900e7, 0x70105, 0x8005b, 0x8001b, 0x90097, 0x70115, 0x8007b, 0x8003b, 0x900d7, 0x7010d, 0x8006b, 0x8002b, 0x900b7, 0x8000b, 0x8008b, 0x8004b, 0x900f7, 0x70103, 0x80057, 0x80017, 0x8011f, 0x70113, 0x80077, 0x80037, 0x900cf, 0x7010b, 0x80067, 0x80027, 0x900af, 0x80007, 0x80087, 0x80047, 0x900ef, 0x70107, 0x8005f, 0x8001f, 0x9009f, 0x70117, 0x8007f, 0x8003f, 0x900df, 0x7010f, 0x8006f, 0x8002f, 0x900bf, 0x8000f, 0x8008f, 0x8004f, 0x900ff]), 9];\n  var fixedDistCodeTab = [new Int32Array([0x50000, 0x50010, 0x50008, 0x50018, 0x50004, 0x50014, 0x5000c, 0x5001c, 0x50002, 0x50012, 0x5000a, 0x5001a, 0x50006, 0x50016, 0x5000e, 0x00000, 0x50001, 0x50011, 0x50009, 0x50019, 0x50005, 0x50015, 0x5000d, 0x5001d, 0x50003, 0x50013, 0x5000b, 0x5001b, 0x50007, 0x50017, 0x5000f, 0x00000]), 5];\n  function FlateStream(str, maybeLength) {\n    this.str = str;\n    this.dict = str.dict;\n    var cmf = str.getByte();\n    var flg = str.getByte();\n    if (cmf === -1 || flg === -1) {\n      throw new _util.FormatError('Invalid header in flate stream: ' + cmf + ', ' + flg);\n    }\n    if ((cmf & 0x0f) !== 0x08) {\n      throw new _util.FormatError('Unknown compression method in flate stream: ' + cmf + ', ' + flg);\n    }\n    if (((cmf << 8) + flg) % 31 !== 0) {\n      throw new _util.FormatError('Bad FCHECK in flate stream: ' + cmf + ', ' + flg);\n    }\n    if (flg & 0x20) {\n      throw new _util.FormatError('FDICT bit set in flate stream: ' + cmf + ', ' + flg);\n    }\n    this.codeSize = 0;\n    this.codeBuf = 0;\n    DecodeStream.call(this, maybeLength);\n  }\n  FlateStream.prototype = Object.create(DecodeStream.prototype);\n  FlateStream.prototype.getBits = function FlateStream_getBits(bits) {\n    var str = this.str;\n    var codeSize = this.codeSize;\n    var codeBuf = this.codeBuf;\n    var b;\n    while (codeSize < bits) {\n      if ((b = str.getByte()) === -1) {\n        throw new _util.FormatError('Bad encoding in flate stream');\n      }\n      codeBuf |= b << codeSize;\n      codeSize += 8;\n    }\n    b = codeBuf & (1 << bits) - 1;\n    this.codeBuf = codeBuf >> bits;\n    this.codeSize = codeSize -= bits;\n    return b;\n  };\n  FlateStream.prototype.getCode = function FlateStream_getCode(table) {\n    var str = this.str;\n    var codes = table[0];\n    var maxLen = table[1];\n    var codeSize = this.codeSize;\n    var codeBuf = this.codeBuf;\n    var b;\n    while (codeSize < maxLen) {\n      if ((b = str.getByte()) === -1) {\n        break;\n      }\n      codeBuf |= b << codeSize;\n      codeSize += 8;\n    }\n    var code = codes[codeBuf & (1 << maxLen) - 1];\n    var codeLen = code >> 16;\n    var codeVal = code & 0xffff;\n    if (codeLen < 1 || codeSize < codeLen) {\n      throw new _util.FormatError('Bad encoding in flate stream');\n    }\n    this.codeBuf = codeBuf >> codeLen;\n    this.codeSize = codeSize - codeLen;\n    return codeVal;\n  };\n  FlateStream.prototype.generateHuffmanTable = function flateStreamGenerateHuffmanTable(lengths) {\n    var n = lengths.length;\n    var maxLen = 0;\n    var i;\n    for (i = 0; i < n; ++i) {\n      if (lengths[i] > maxLen) {\n        maxLen = lengths[i];\n      }\n    }\n    var size = 1 << maxLen;\n    var codes = new Int32Array(size);\n    for (var len = 1, code = 0, skip = 2; len <= maxLen; ++len, code <<= 1, skip <<= 1) {\n      for (var val = 0; val < n; ++val) {\n        if (lengths[val] === len) {\n          var code2 = 0;\n          var t = code;\n          for (i = 0; i < len; ++i) {\n            code2 = code2 << 1 | t & 1;\n            t >>= 1;\n          }\n          for (i = code2; i < size; i += skip) {\n            codes[i] = len << 16 | val;\n          }\n          ++code;\n        }\n      }\n    }\n    return [codes, maxLen];\n  };\n  FlateStream.prototype.readBlock = function FlateStream_readBlock() {\n    var buffer, len;\n    var str = this.str;\n    var hdr = this.getBits(3);\n    if (hdr & 1) {\n      this.eof = true;\n    }\n    hdr >>= 1;\n    if (hdr === 0) {\n      var b;\n      if ((b = str.getByte()) === -1) {\n        throw new _util.FormatError('Bad block header in flate stream');\n      }\n      var blockLen = b;\n      if ((b = str.getByte()) === -1) {\n        throw new _util.FormatError('Bad block header in flate stream');\n      }\n      blockLen |= b << 8;\n      if ((b = str.getByte()) === -1) {\n        throw new _util.FormatError('Bad block header in flate stream');\n      }\n      var check = b;\n      if ((b = str.getByte()) === -1) {\n        throw new _util.FormatError('Bad block header in flate stream');\n      }\n      check |= b << 8;\n      if (check !== (~blockLen & 0xffff) && (blockLen !== 0 || check !== 0)) {\n        throw new _util.FormatError('Bad uncompressed block length in flate stream');\n      }\n      this.codeBuf = 0;\n      this.codeSize = 0;\n      var bufferLength = this.bufferLength;\n      buffer = this.ensureBuffer(bufferLength + blockLen);\n      var end = bufferLength + blockLen;\n      this.bufferLength = end;\n      if (blockLen === 0) {\n        if (str.peekByte() === -1) {\n          this.eof = true;\n        }\n      } else {\n        for (var n = bufferLength; n < end; ++n) {\n          if ((b = str.getByte()) === -1) {\n            this.eof = true;\n            break;\n          }\n          buffer[n] = b;\n        }\n      }\n      return;\n    }\n    var litCodeTable;\n    var distCodeTable;\n    if (hdr === 1) {\n      litCodeTable = fixedLitCodeTab;\n      distCodeTable = fixedDistCodeTab;\n    } else if (hdr === 2) {\n      var numLitCodes = this.getBits(5) + 257;\n      var numDistCodes = this.getBits(5) + 1;\n      var numCodeLenCodes = this.getBits(4) + 4;\n      var codeLenCodeLengths = new Uint8Array(codeLenCodeMap.length);\n      var i;\n      for (i = 0; i < numCodeLenCodes; ++i) {\n        codeLenCodeLengths[codeLenCodeMap[i]] = this.getBits(3);\n      }\n      var codeLenCodeTab = this.generateHuffmanTable(codeLenCodeLengths);\n      len = 0;\n      i = 0;\n      var codes = numLitCodes + numDistCodes;\n      var codeLengths = new Uint8Array(codes);\n      var bitsLength, bitsOffset, what;\n      while (i < codes) {\n        var code = this.getCode(codeLenCodeTab);\n        if (code === 16) {\n          bitsLength = 2;\n          bitsOffset = 3;\n          what = len;\n        } else if (code === 17) {\n          bitsLength = 3;\n          bitsOffset = 3;\n          what = len = 0;\n        } else if (code === 18) {\n          bitsLength = 7;\n          bitsOffset = 11;\n          what = len = 0;\n        } else {\n          codeLengths[i++] = len = code;\n          continue;\n        }\n        var repeatLength = this.getBits(bitsLength) + bitsOffset;\n        while (repeatLength-- > 0) {\n          codeLengths[i++] = what;\n        }\n      }\n      litCodeTable = this.generateHuffmanTable(codeLengths.subarray(0, numLitCodes));\n      distCodeTable = this.generateHuffmanTable(codeLengths.subarray(numLitCodes, codes));\n    } else {\n      throw new _util.FormatError('Unknown block type in flate stream');\n    }\n    buffer = this.buffer;\n    var limit = buffer ? buffer.length : 0;\n    var pos = this.bufferLength;\n    while (true) {\n      var code1 = this.getCode(litCodeTable);\n      if (code1 < 256) {\n        if (pos + 1 >= limit) {\n          buffer = this.ensureBuffer(pos + 1);\n          limit = buffer.length;\n        }\n        buffer[pos++] = code1;\n        continue;\n      }\n      if (code1 === 256) {\n        this.bufferLength = pos;\n        return;\n      }\n      code1 -= 257;\n      code1 = lengthDecode[code1];\n      var code2 = code1 >> 16;\n      if (code2 > 0) {\n        code2 = this.getBits(code2);\n      }\n      len = (code1 & 0xffff) + code2;\n      code1 = this.getCode(distCodeTable);\n      code1 = distDecode[code1];\n      code2 = code1 >> 16;\n      if (code2 > 0) {\n        code2 = this.getBits(code2);\n      }\n      var dist = (code1 & 0xffff) + code2;\n      if (pos + len >= limit) {\n        buffer = this.ensureBuffer(pos + len);\n        limit = buffer.length;\n      }\n      for (var k = 0; k < len; ++k, ++pos) {\n        buffer[pos] = buffer[pos - dist];\n      }\n    }\n  };\n  return FlateStream;\n}();\nvar PredictorStream = function PredictorStreamClosure() {\n  function PredictorStream(str, maybeLength, params) {\n    if (!(0, _primitives.isDict)(params)) {\n      return str;\n    }\n    var predictor = this.predictor = params.get('Predictor') || 1;\n    if (predictor <= 1) {\n      return str;\n    }\n    if (predictor !== 2 && (predictor < 10 || predictor > 15)) {\n      throw new _util.FormatError('Unsupported predictor: ' + predictor);\n    }\n    if (predictor === 2) {\n      this.readBlock = this.readBlockTiff;\n    } else {\n      this.readBlock = this.readBlockPng;\n    }\n    this.str = str;\n    this.dict = str.dict;\n    var colors = this.colors = params.get('Colors') || 1;\n    var bits = this.bits = params.get('BitsPerComponent') || 8;\n    var columns = this.columns = params.get('Columns') || 1;\n    this.pixBytes = colors * bits + 7 >> 3;\n    this.rowBytes = columns * colors * bits + 7 >> 3;\n    DecodeStream.call(this, maybeLength);\n    return this;\n  }\n  PredictorStream.prototype = Object.create(DecodeStream.prototype);\n  PredictorStream.prototype.readBlockTiff = function predictorStreamReadBlockTiff() {\n    var rowBytes = this.rowBytes;\n    var bufferLength = this.bufferLength;\n    var buffer = this.ensureBuffer(bufferLength + rowBytes);\n    var bits = this.bits;\n    var colors = this.colors;\n    var rawBytes = this.str.getBytes(rowBytes);\n    this.eof = !rawBytes.length;\n    if (this.eof) {\n      return;\n    }\n    var inbuf = 0,\n        outbuf = 0;\n    var inbits = 0,\n        outbits = 0;\n    var pos = bufferLength;\n    var i;\n    if (bits === 1 && colors === 1) {\n      for (i = 0; i < rowBytes; ++i) {\n        var c = rawBytes[i] ^ inbuf;\n        c ^= c >> 1;\n        c ^= c >> 2;\n        c ^= c >> 4;\n        inbuf = (c & 1) << 7;\n        buffer[pos++] = c;\n      }\n    } else if (bits === 8) {\n      for (i = 0; i < colors; ++i) {\n        buffer[pos++] = rawBytes[i];\n      }\n      for (; i < rowBytes; ++i) {\n        buffer[pos] = buffer[pos - colors] + rawBytes[i];\n        pos++;\n      }\n    } else if (bits === 16) {\n      var bytesPerPixel = colors * 2;\n      for (i = 0; i < bytesPerPixel; ++i) {\n        buffer[pos++] = rawBytes[i];\n      }\n      for (; i < rowBytes; i += 2) {\n        var sum = ((rawBytes[i] & 0xFF) << 8) + (rawBytes[i + 1] & 0xFF) + ((buffer[pos - bytesPerPixel] & 0xFF) << 8) + (buffer[pos - bytesPerPixel + 1] & 0xFF);\n        buffer[pos++] = sum >> 8 & 0xFF;\n        buffer[pos++] = sum & 0xFF;\n      }\n    } else {\n      var compArray = new Uint8Array(colors + 1);\n      var bitMask = (1 << bits) - 1;\n      var j = 0,\n          k = bufferLength;\n      var columns = this.columns;\n      for (i = 0; i < columns; ++i) {\n        for (var kk = 0; kk < colors; ++kk) {\n          if (inbits < bits) {\n            inbuf = inbuf << 8 | rawBytes[j++] & 0xFF;\n            inbits += 8;\n          }\n          compArray[kk] = compArray[kk] + (inbuf >> inbits - bits) & bitMask;\n          inbits -= bits;\n          outbuf = outbuf << bits | compArray[kk];\n          outbits += bits;\n          if (outbits >= 8) {\n            buffer[k++] = outbuf >> outbits - 8 & 0xFF;\n            outbits -= 8;\n          }\n        }\n      }\n      if (outbits > 0) {\n        buffer[k++] = (outbuf << 8 - outbits) + (inbuf & (1 << 8 - outbits) - 1);\n      }\n    }\n    this.bufferLength += rowBytes;\n  };\n  PredictorStream.prototype.readBlockPng = function predictorStreamReadBlockPng() {\n    var rowBytes = this.rowBytes;\n    var pixBytes = this.pixBytes;\n    var predictor = this.str.getByte();\n    var rawBytes = this.str.getBytes(rowBytes);\n    this.eof = !rawBytes.length;\n    if (this.eof) {\n      return;\n    }\n    var bufferLength = this.bufferLength;\n    var buffer = this.ensureBuffer(bufferLength + rowBytes);\n    var prevRow = buffer.subarray(bufferLength - rowBytes, bufferLength);\n    if (prevRow.length === 0) {\n      prevRow = new Uint8Array(rowBytes);\n    }\n    var i,\n        j = bufferLength,\n        up,\n        c;\n    switch (predictor) {\n      case 0:\n        for (i = 0; i < rowBytes; ++i) {\n          buffer[j++] = rawBytes[i];\n        }\n        break;\n      case 1:\n        for (i = 0; i < pixBytes; ++i) {\n          buffer[j++] = rawBytes[i];\n        }\n        for (; i < rowBytes; ++i) {\n          buffer[j] = buffer[j - pixBytes] + rawBytes[i] & 0xFF;\n          j++;\n        }\n        break;\n      case 2:\n        for (i = 0; i < rowBytes; ++i) {\n          buffer[j++] = prevRow[i] + rawBytes[i] & 0xFF;\n        }\n        break;\n      case 3:\n        for (i = 0; i < pixBytes; ++i) {\n          buffer[j++] = (prevRow[i] >> 1) + rawBytes[i];\n        }\n        for (; i < rowBytes; ++i) {\n          buffer[j] = (prevRow[i] + buffer[j - pixBytes] >> 1) + rawBytes[i] & 0xFF;\n          j++;\n        }\n        break;\n      case 4:\n        for (i = 0; i < pixBytes; ++i) {\n          up = prevRow[i];\n          c = rawBytes[i];\n          buffer[j++] = up + c;\n        }\n        for (; i < rowBytes; ++i) {\n          up = prevRow[i];\n          var upLeft = prevRow[i - pixBytes];\n          var left = buffer[j - pixBytes];\n          var p = left + up - upLeft;\n          var pa = p - left;\n          if (pa < 0) {\n            pa = -pa;\n          }\n          var pb = p - up;\n          if (pb < 0) {\n            pb = -pb;\n          }\n          var pc = p - upLeft;\n          if (pc < 0) {\n            pc = -pc;\n          }\n          c = rawBytes[i];\n          if (pa <= pb && pa <= pc) {\n            buffer[j++] = left + c;\n          } else if (pb <= pc) {\n            buffer[j++] = up + c;\n          } else {\n            buffer[j++] = upLeft + c;\n          }\n        }\n        break;\n      default:\n        throw new _util.FormatError('Unsupported predictor: ' + predictor);\n    }\n    this.bufferLength += rowBytes;\n  };\n  return PredictorStream;\n}();\nvar JpegStream = function JpegStreamClosure() {\n  function JpegStream(stream, maybeLength, dict, params) {\n    var ch;\n    while ((ch = stream.getByte()) !== -1) {\n      if (ch === 0xFF) {\n        stream.skip(-1);\n        break;\n      }\n    }\n    this.stream = stream;\n    this.maybeLength = maybeLength;\n    this.dict = dict;\n    this.params = params;\n    DecodeStream.call(this, maybeLength);\n  }\n  JpegStream.prototype = Object.create(DecodeStream.prototype);\n  Object.defineProperty(JpegStream.prototype, 'bytes', {\n    get: function JpegStream_bytes() {\n      return (0, _util.shadow)(this, 'bytes', this.stream.getBytes(this.maybeLength));\n    },\n    configurable: true\n  });\n  JpegStream.prototype.ensureBuffer = function JpegStream_ensureBuffer(req) {\n    if (this.bufferLength) {\n      return;\n    }\n    var jpegImage = new _jpg.JpegImage();\n    var decodeArr = this.dict.getArray('Decode', 'D');\n    if (this.forceRGB && Array.isArray(decodeArr)) {\n      var bitsPerComponent = this.dict.get('BitsPerComponent') || 8;\n      var decodeArrLength = decodeArr.length;\n      var transform = new Int32Array(decodeArrLength);\n      var transformNeeded = false;\n      var maxValue = (1 << bitsPerComponent) - 1;\n      for (var i = 0; i < decodeArrLength; i += 2) {\n        transform[i] = (decodeArr[i + 1] - decodeArr[i]) * 256 | 0;\n        transform[i + 1] = decodeArr[i] * maxValue | 0;\n        if (transform[i] !== 256 || transform[i + 1] !== 0) {\n          transformNeeded = true;\n        }\n      }\n      if (transformNeeded) {\n        jpegImage.decodeTransform = transform;\n      }\n    }\n    if ((0, _primitives.isDict)(this.params)) {\n      var colorTransform = this.params.get('ColorTransform');\n      if (Number.isInteger(colorTransform)) {\n        jpegImage.colorTransform = colorTransform;\n      }\n    }\n    jpegImage.parse(this.bytes);\n    var data = jpegImage.getData(this.drawWidth, this.drawHeight, this.forceRGB);\n    this.buffer = data;\n    this.bufferLength = data.length;\n    this.eof = true;\n  };\n  JpegStream.prototype.getBytes = function JpegStream_getBytes(length) {\n    this.ensureBuffer();\n    return this.buffer;\n  };\n  JpegStream.prototype.getIR = function JpegStream_getIR(forceDataSchema) {\n    return (0, _util.createObjectURL)(this.bytes, 'image/jpeg', forceDataSchema);\n  };\n  return JpegStream;\n}();\nvar JpxStream = function JpxStreamClosure() {\n  function JpxStream(stream, maybeLength, dict, params) {\n    this.stream = stream;\n    this.maybeLength = maybeLength;\n    this.dict = dict;\n    this.params = params;\n    DecodeStream.call(this, maybeLength);\n  }\n  JpxStream.prototype = Object.create(DecodeStream.prototype);\n  Object.defineProperty(JpxStream.prototype, 'bytes', {\n    get: function JpxStream_bytes() {\n      return (0, _util.shadow)(this, 'bytes', this.stream.getBytes(this.maybeLength));\n    },\n    configurable: true\n  });\n  JpxStream.prototype.ensureBuffer = function JpxStream_ensureBuffer(req) {\n    if (this.bufferLength) {\n      return;\n    }\n    var jpxImage = new _jpx.JpxImage();\n    jpxImage.parse(this.bytes);\n    var width = jpxImage.width;\n    var height = jpxImage.height;\n    var componentsCount = jpxImage.componentsCount;\n    var tileCount = jpxImage.tiles.length;\n    if (tileCount === 1) {\n      this.buffer = jpxImage.tiles[0].items;\n    } else {\n      var data = new Uint8ClampedArray(width * height * componentsCount);\n      for (var k = 0; k < tileCount; k++) {\n        var tileComponents = jpxImage.tiles[k];\n        var tileWidth = tileComponents.width;\n        var tileHeight = tileComponents.height;\n        var tileLeft = tileComponents.left;\n        var tileTop = tileComponents.top;\n        var src = tileComponents.items;\n        var srcPosition = 0;\n        var dataPosition = (width * tileTop + tileLeft) * componentsCount;\n        var imgRowSize = width * componentsCount;\n        var tileRowSize = tileWidth * componentsCount;\n        for (var j = 0; j < tileHeight; j++) {\n          var rowBytes = src.subarray(srcPosition, srcPosition + tileRowSize);\n          data.set(rowBytes, dataPosition);\n          srcPosition += tileRowSize;\n          dataPosition += imgRowSize;\n        }\n      }\n      this.buffer = data;\n    }\n    this.bufferLength = this.buffer.length;\n    this.eof = true;\n  };\n  return JpxStream;\n}();\nvar DecryptStream = function DecryptStreamClosure() {\n  function DecryptStream(str, maybeLength, decrypt) {\n    this.str = str;\n    this.dict = str.dict;\n    this.decrypt = decrypt;\n    this.nextChunk = null;\n    this.initialized = false;\n    DecodeStream.call(this, maybeLength);\n  }\n  var chunkSize = 512;\n  DecryptStream.prototype = Object.create(DecodeStream.prototype);\n  DecryptStream.prototype.readBlock = function DecryptStream_readBlock() {\n    var chunk;\n    if (this.initialized) {\n      chunk = this.nextChunk;\n    } else {\n      chunk = this.str.getBytes(chunkSize);\n      this.initialized = true;\n    }\n    if (!chunk || chunk.length === 0) {\n      this.eof = true;\n      return;\n    }\n    this.nextChunk = this.str.getBytes(chunkSize);\n    var hasMoreData = this.nextChunk && this.nextChunk.length > 0;\n    var decrypt = this.decrypt;\n    chunk = decrypt(chunk, !hasMoreData);\n    var bufferLength = this.bufferLength;\n    var i,\n        n = chunk.length;\n    var buffer = this.ensureBuffer(bufferLength + n);\n    for (i = 0; i < n; i++) {\n      buffer[bufferLength++] = chunk[i];\n    }\n    this.bufferLength = bufferLength;\n  };\n  return DecryptStream;\n}();\nvar Ascii85Stream = function Ascii85StreamClosure() {\n  function Ascii85Stream(str, maybeLength) {\n    this.str = str;\n    this.dict = str.dict;\n    this.input = new Uint8Array(5);\n    if (maybeLength) {\n      maybeLength = 0.8 * maybeLength;\n    }\n    DecodeStream.call(this, maybeLength);\n  }\n  Ascii85Stream.prototype = Object.create(DecodeStream.prototype);\n  Ascii85Stream.prototype.readBlock = function Ascii85Stream_readBlock() {\n    var TILDA_CHAR = 0x7E;\n    var Z_LOWER_CHAR = 0x7A;\n    var EOF = -1;\n    var str = this.str;\n    var c = str.getByte();\n    while ((0, _util.isSpace)(c)) {\n      c = str.getByte();\n    }\n    if (c === EOF || c === TILDA_CHAR) {\n      this.eof = true;\n      return;\n    }\n    var bufferLength = this.bufferLength,\n        buffer;\n    var i;\n    if (c === Z_LOWER_CHAR) {\n      buffer = this.ensureBuffer(bufferLength + 4);\n      for (i = 0; i < 4; ++i) {\n        buffer[bufferLength + i] = 0;\n      }\n      this.bufferLength += 4;\n    } else {\n      var input = this.input;\n      input[0] = c;\n      for (i = 1; i < 5; ++i) {\n        c = str.getByte();\n        while ((0, _util.isSpace)(c)) {\n          c = str.getByte();\n        }\n        input[i] = c;\n        if (c === EOF || c === TILDA_CHAR) {\n          break;\n        }\n      }\n      buffer = this.ensureBuffer(bufferLength + i - 1);\n      this.bufferLength += i - 1;\n      if (i < 5) {\n        for (; i < 5; ++i) {\n          input[i] = 0x21 + 84;\n        }\n        this.eof = true;\n      }\n      var t = 0;\n      for (i = 0; i < 5; ++i) {\n        t = t * 85 + (input[i] - 0x21);\n      }\n      for (i = 3; i >= 0; --i) {\n        buffer[bufferLength + i] = t & 0xFF;\n        t >>= 8;\n      }\n    }\n  };\n  return Ascii85Stream;\n}();\nvar AsciiHexStream = function AsciiHexStreamClosure() {\n  function AsciiHexStream(str, maybeLength) {\n    this.str = str;\n    this.dict = str.dict;\n    this.firstDigit = -1;\n    if (maybeLength) {\n      maybeLength = 0.5 * maybeLength;\n    }\n    DecodeStream.call(this, maybeLength);\n  }\n  AsciiHexStream.prototype = Object.create(DecodeStream.prototype);\n  AsciiHexStream.prototype.readBlock = function AsciiHexStream_readBlock() {\n    var UPSTREAM_BLOCK_SIZE = 8000;\n    var bytes = this.str.getBytes(UPSTREAM_BLOCK_SIZE);\n    if (!bytes.length) {\n      this.eof = true;\n      return;\n    }\n    var maxDecodeLength = bytes.length + 1 >> 1;\n    var buffer = this.ensureBuffer(this.bufferLength + maxDecodeLength);\n    var bufferLength = this.bufferLength;\n    var firstDigit = this.firstDigit;\n    for (var i = 0, ii = bytes.length; i < ii; i++) {\n      var ch = bytes[i],\n          digit;\n      if (ch >= 0x30 && ch <= 0x39) {\n        digit = ch & 0x0F;\n      } else if (ch >= 0x41 && ch <= 0x46 || ch >= 0x61 && ch <= 0x66) {\n        digit = (ch & 0x0F) + 9;\n      } else if (ch === 0x3E) {\n        this.eof = true;\n        break;\n      } else {\n        continue;\n      }\n      if (firstDigit < 0) {\n        firstDigit = digit;\n      } else {\n        buffer[bufferLength++] = firstDigit << 4 | digit;\n        firstDigit = -1;\n      }\n    }\n    if (firstDigit >= 0 && this.eof) {\n      buffer[bufferLength++] = firstDigit << 4;\n      firstDigit = -1;\n    }\n    this.firstDigit = firstDigit;\n    this.bufferLength = bufferLength;\n  };\n  return AsciiHexStream;\n}();\nvar RunLengthStream = function RunLengthStreamClosure() {\n  function RunLengthStream(str, maybeLength) {\n    this.str = str;\n    this.dict = str.dict;\n    DecodeStream.call(this, maybeLength);\n  }\n  RunLengthStream.prototype = Object.create(DecodeStream.prototype);\n  RunLengthStream.prototype.readBlock = function RunLengthStream_readBlock() {\n    var repeatHeader = this.str.getBytes(2);\n    if (!repeatHeader || repeatHeader.length < 2 || repeatHeader[0] === 128) {\n      this.eof = true;\n      return;\n    }\n    var buffer;\n    var bufferLength = this.bufferLength;\n    var n = repeatHeader[0];\n    if (n < 128) {\n      buffer = this.ensureBuffer(bufferLength + n + 1);\n      buffer[bufferLength++] = repeatHeader[1];\n      if (n > 0) {\n        var source = this.str.getBytes(n);\n        buffer.set(source, bufferLength);\n        bufferLength += n;\n      }\n    } else {\n      n = 257 - n;\n      var b = repeatHeader[1];\n      buffer = this.ensureBuffer(bufferLength + n + 1);\n      for (var i = 0; i < n; i++) {\n        buffer[bufferLength++] = b;\n      }\n    }\n    this.bufferLength = bufferLength;\n  };\n  return RunLengthStream;\n}();\nvar LZWStream = function LZWStreamClosure() {\n  function LZWStream(str, maybeLength, earlyChange) {\n    this.str = str;\n    this.dict = str.dict;\n    this.cachedData = 0;\n    this.bitsCached = 0;\n    var maxLzwDictionarySize = 4096;\n    var lzwState = {\n      earlyChange: earlyChange,\n      codeLength: 9,\n      nextCode: 258,\n      dictionaryValues: new Uint8Array(maxLzwDictionarySize),\n      dictionaryLengths: new Uint16Array(maxLzwDictionarySize),\n      dictionaryPrevCodes: new Uint16Array(maxLzwDictionarySize),\n      currentSequence: new Uint8Array(maxLzwDictionarySize),\n      currentSequenceLength: 0\n    };\n    for (var i = 0; i < 256; ++i) {\n      lzwState.dictionaryValues[i] = i;\n      lzwState.dictionaryLengths[i] = 1;\n    }\n    this.lzwState = lzwState;\n    DecodeStream.call(this, maybeLength);\n  }\n  LZWStream.prototype = Object.create(DecodeStream.prototype);\n  LZWStream.prototype.readBits = function LZWStream_readBits(n) {\n    var bitsCached = this.bitsCached;\n    var cachedData = this.cachedData;\n    while (bitsCached < n) {\n      var c = this.str.getByte();\n      if (c === -1) {\n        this.eof = true;\n        return null;\n      }\n      cachedData = cachedData << 8 | c;\n      bitsCached += 8;\n    }\n    this.bitsCached = bitsCached -= n;\n    this.cachedData = cachedData;\n    this.lastCode = null;\n    return cachedData >>> bitsCached & (1 << n) - 1;\n  };\n  LZWStream.prototype.readBlock = function LZWStream_readBlock() {\n    var blockSize = 512;\n    var estimatedDecodedSize = blockSize * 2,\n        decodedSizeDelta = blockSize;\n    var i, j, q;\n    var lzwState = this.lzwState;\n    if (!lzwState) {\n      return;\n    }\n    var earlyChange = lzwState.earlyChange;\n    var nextCode = lzwState.nextCode;\n    var dictionaryValues = lzwState.dictionaryValues;\n    var dictionaryLengths = lzwState.dictionaryLengths;\n    var dictionaryPrevCodes = lzwState.dictionaryPrevCodes;\n    var codeLength = lzwState.codeLength;\n    var prevCode = lzwState.prevCode;\n    var currentSequence = lzwState.currentSequence;\n    var currentSequenceLength = lzwState.currentSequenceLength;\n    var decodedLength = 0;\n    var currentBufferLength = this.bufferLength;\n    var buffer = this.ensureBuffer(this.bufferLength + estimatedDecodedSize);\n    for (i = 0; i < blockSize; i++) {\n      var code = this.readBits(codeLength);\n      var hasPrev = currentSequenceLength > 0;\n      if (code < 256) {\n        currentSequence[0] = code;\n        currentSequenceLength = 1;\n      } else if (code >= 258) {\n        if (code < nextCode) {\n          currentSequenceLength = dictionaryLengths[code];\n          for (j = currentSequenceLength - 1, q = code; j >= 0; j--) {\n            currentSequence[j] = dictionaryValues[q];\n            q = dictionaryPrevCodes[q];\n          }\n        } else {\n          currentSequence[currentSequenceLength++] = currentSequence[0];\n        }\n      } else if (code === 256) {\n        codeLength = 9;\n        nextCode = 258;\n        currentSequenceLength = 0;\n        continue;\n      } else {\n        this.eof = true;\n        delete this.lzwState;\n        break;\n      }\n      if (hasPrev) {\n        dictionaryPrevCodes[nextCode] = prevCode;\n        dictionaryLengths[nextCode] = dictionaryLengths[prevCode] + 1;\n        dictionaryValues[nextCode] = currentSequence[0];\n        nextCode++;\n        codeLength = nextCode + earlyChange & nextCode + earlyChange - 1 ? codeLength : Math.min(Math.log(nextCode + earlyChange) / 0.6931471805599453 + 1, 12) | 0;\n      }\n      prevCode = code;\n      decodedLength += currentSequenceLength;\n      if (estimatedDecodedSize < decodedLength) {\n        do {\n          estimatedDecodedSize += decodedSizeDelta;\n        } while (estimatedDecodedSize < decodedLength);\n        buffer = this.ensureBuffer(this.bufferLength + estimatedDecodedSize);\n      }\n      for (j = 0; j < currentSequenceLength; j++) {\n        buffer[currentBufferLength++] = currentSequence[j];\n      }\n    }\n    lzwState.nextCode = nextCode;\n    lzwState.codeLength = codeLength;\n    lzwState.prevCode = prevCode;\n    lzwState.currentSequenceLength = currentSequenceLength;\n    this.bufferLength = currentBufferLength;\n  };\n  return LZWStream;\n}();\nvar NullStream = function NullStreamClosure() {\n  function NullStream() {\n    Stream.call(this, new Uint8Array(0));\n  }\n  NullStream.prototype = Stream.prototype;\n  return NullStream;\n}();\nexports.Ascii85Stream = Ascii85Stream;\nexports.AsciiHexStream = AsciiHexStream;\nexports.DecryptStream = DecryptStream;\nexports.DecodeStream = DecodeStream;\nexports.FlateStream = FlateStream;\nexports.JpegStream = JpegStream;\nexports.JpxStream = JpxStream;\nexports.NullStream = NullStream;\nexports.PredictorStream = PredictorStream;\nexports.RunLengthStream = RunLengthStream;\nexports.Stream = Stream;\nexports.StreamsSequenceStream = StreamsSequenceStream;\nexports.StringStream = StringStream;\nexports.LZWStream = LZWStream;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar core = module.exports = { version: '2.5.7' };\nif (typeof __e == 'number') __e = core;\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(1);\nvar core = __w_pdfjs_require__(6);\nvar hide = __w_pdfjs_require__(8);\nvar redefine = __w_pdfjs_require__(16);\nvar ctx = __w_pdfjs_require__(13);\nvar PROTOTYPE = 'prototype';\nvar $export = function $export(type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n  var key, own, out, exp;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    own = !IS_FORCED && target && target[key] !== undefined;\n    out = (own ? target : source)[key];\n    exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    if (target) redefine(target, key, out, type & $export.U);\n    if (exports[key] != out) hide(exports, key, exp);\n    if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n  }\n};\nglobal.core = core;\n$export.F = 1;\n$export.G = 2;\n$export.S = 4;\n$export.P = 8;\n$export.B = 16;\n$export.W = 32;\n$export.U = 64;\n$export.R = 128;\nmodule.exports = $export;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar dP = __w_pdfjs_require__(15);\nvar createDesc = __w_pdfjs_require__(31);\nmodule.exports = __w_pdfjs_require__(10) ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(3);\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = !__w_pdfjs_require__(11)(function () {\n  return Object.defineProperty({}, 'a', {\n    get: function get() {\n      return 7;\n    }\n  }).a != 7;\n});\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar aFunction = __w_pdfjs_require__(24);\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1:\n      return function (a) {\n        return fn.call(that, a);\n      };\n    case 2:\n      return function (a, b) {\n        return fn.call(that, a, b);\n      };\n    case 3:\n      return function (a, b, c) {\n        return fn.call(that, a, b, c);\n      };\n  }\n  return function () {\n    return fn.apply(that, arguments);\n  };\n};\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toInteger = __w_pdfjs_require__(19);\nvar min = Math.min;\nmodule.exports = function (it) {\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0;\n};\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(9);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(51);\nvar toPrimitive = __w_pdfjs_require__(38);\nvar dP = Object.defineProperty;\nexports.f = __w_pdfjs_require__(10) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) {}\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(1);\nvar hide = __w_pdfjs_require__(8);\nvar has = __w_pdfjs_require__(12);\nvar SRC = __w_pdfjs_require__(18)('src');\nvar TO_STRING = 'toString';\nvar $toString = Function[TO_STRING];\nvar TPL = ('' + $toString).split(TO_STRING);\n__w_pdfjs_require__(6).inspectSource = function (it) {\n  return $toString.call(it);\n};\n(module.exports = function (O, key, val, safe) {\n  var isFunction = typeof val == 'function';\n  if (isFunction) has(val, 'name') || hide(val, 'name', key);\n  if (O[key] === val) return;\n  if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n  if (O === global) {\n    O[key] = val;\n  } else if (!safe) {\n    delete O[key];\n    hide(O, key, val);\n  } else if (O[key]) {\n    O[key] = val;\n  } else {\n    hide(O, key, val);\n  }\n})(Function.prototype, TO_STRING, function toString() {\n  return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.DOMSVGFactory = exports.DOMCMapReaderFactory = exports.DOMCanvasFactory = exports.DEFAULT_LINK_REL = exports.getDefaultSetting = exports.LinkTarget = exports.getFilenameFromUrl = exports.isValidUrl = exports.isExternalLinkTargetSet = exports.addLinkAttributes = exports.RenderingCancelledException = exports.CustomStyle = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _util = __w_pdfjs_require__(0);\n\nvar _global_scope = __w_pdfjs_require__(22);\n\nvar _global_scope2 = _interopRequireDefault(_global_scope);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar DEFAULT_LINK_REL = 'noopener noreferrer nofollow';\nvar SVG_NS = 'http://www.w3.org/2000/svg';\n\nvar DOMCanvasFactory = function () {\n  function DOMCanvasFactory() {\n    _classCallCheck(this, DOMCanvasFactory);\n  }\n\n  _createClass(DOMCanvasFactory, [{\n    key: 'create',\n    value: function create(width, height) {\n      if (width <= 0 || height <= 0) {\n        throw new Error('invalid canvas size');\n      }\n      var canvas = document.createElement('canvas');\n      var context = canvas.getContext('2d');\n      canvas.width = width;\n      canvas.height = height;\n      return {\n        canvas: canvas,\n        context: context\n      };\n    }\n  }, {\n    key: 'reset',\n    value: function reset(canvasAndContext, width, height) {\n      if (!canvasAndContext.canvas) {\n        throw new Error('canvas is not specified');\n      }\n      if (width <= 0 || height <= 0) {\n        throw new Error('invalid canvas size');\n      }\n      canvasAndContext.canvas.width = width;\n      canvasAndContext.canvas.height = height;\n    }\n  }, {\n    key: 'destroy',\n    value: function destroy(canvasAndContext) {\n      if (!canvasAndContext.canvas) {\n        throw new Error('canvas is not specified');\n      }\n      canvasAndContext.canvas.width = 0;\n      canvasAndContext.canvas.height = 0;\n      canvasAndContext.canvas = null;\n      canvasAndContext.context = null;\n    }\n  }]);\n\n  return DOMCanvasFactory;\n}();\n\nvar DOMCMapReaderFactory = function () {\n  function DOMCMapReaderFactory(_ref) {\n    var _ref$baseUrl = _ref.baseUrl,\n        baseUrl = _ref$baseUrl === undefined ? null : _ref$baseUrl,\n        _ref$isCompressed = _ref.isCompressed,\n        isCompressed = _ref$isCompressed === undefined ? false : _ref$isCompressed;\n\n    _classCallCheck(this, DOMCMapReaderFactory);\n\n    this.baseUrl = baseUrl;\n    this.isCompressed = isCompressed;\n  }\n\n  _createClass(DOMCMapReaderFactory, [{\n    key: 'fetch',\n    value: function fetch(_ref2) {\n      var _this = this;\n\n      var name = _ref2.name;\n\n      if (!this.baseUrl) {\n        return Promise.reject(new Error('CMap baseUrl must be specified, ' + 'see \"PDFJS.cMapUrl\" (and also \"PDFJS.cMapPacked\").'));\n      }\n      if (!name) {\n        return Promise.reject(new Error('CMap name must be specified.'));\n      }\n      return new Promise(function (resolve, reject) {\n        var url = _this.baseUrl + name + (_this.isCompressed ? '.bcmap' : '');\n        var request = new XMLHttpRequest();\n        request.open('GET', url, true);\n        if (_this.isCompressed) {\n          request.responseType = 'arraybuffer';\n        }\n        request.onreadystatechange = function () {\n          if (request.readyState !== XMLHttpRequest.DONE) {\n            return;\n          }\n          if (request.status === 200 || request.status === 0) {\n            var data = void 0;\n            if (_this.isCompressed && request.response) {\n              data = new Uint8Array(request.response);\n            } else if (!_this.isCompressed && request.responseText) {\n              data = (0, _util.stringToBytes)(request.responseText);\n            }\n            if (data) {\n              resolve({\n                cMapData: data,\n                compressionType: _this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE\n              });\n              return;\n            }\n          }\n          reject(new Error('Unable to load ' + (_this.isCompressed ? 'binary ' : '') + 'CMap at: ' + url));\n        };\n        request.send(null);\n      });\n    }\n  }]);\n\n  return DOMCMapReaderFactory;\n}();\n\nvar DOMSVGFactory = function () {\n  function DOMSVGFactory() {\n    _classCallCheck(this, DOMSVGFactory);\n  }\n\n  _createClass(DOMSVGFactory, [{\n    key: 'create',\n    value: function create(width, height) {\n      (0, _util.assert)(width > 0 && height > 0, 'Invalid SVG dimensions');\n      var svg = document.createElementNS(SVG_NS, 'svg:svg');\n      svg.setAttribute('version', '1.1');\n      svg.setAttribute('width', width + 'px');\n      svg.setAttribute('height', height + 'px');\n      svg.setAttribute('preserveAspectRatio', 'none');\n      svg.setAttribute('viewBox', '0 0 ' + width + ' ' + height);\n      return svg;\n    }\n  }, {\n    key: 'createElement',\n    value: function createElement(type) {\n      (0, _util.assert)(typeof type === 'string', 'Invalid SVG element type');\n      return document.createElementNS(SVG_NS, type);\n    }\n  }]);\n\n  return DOMSVGFactory;\n}();\n\nvar CustomStyle = function CustomStyleClosure() {\n  var prefixes = ['ms', 'Moz', 'Webkit', 'O'];\n  var _cache = Object.create(null);\n  function CustomStyle() {}\n  CustomStyle.getProp = function get(propName, element) {\n    if (arguments.length === 1 && typeof _cache[propName] === 'string') {\n      return _cache[propName];\n    }\n    element = element || document.documentElement;\n    var style = element.style,\n        prefixed,\n        uPropName;\n    if (typeof style[propName] === 'string') {\n      return _cache[propName] = propName;\n    }\n    uPropName = propName.charAt(0).toUpperCase() + propName.slice(1);\n    for (var i = 0, l = prefixes.length; i < l; i++) {\n      prefixed = prefixes[i] + uPropName;\n      if (typeof style[prefixed] === 'string') {\n        return _cache[propName] = prefixed;\n      }\n    }\n    return _cache[propName] = 'undefined';\n  };\n  CustomStyle.setProp = function set(propName, element, str) {\n    var prop = this.getProp(propName);\n    if (prop !== 'undefined') {\n      element.style[prop] = str;\n    }\n  };\n  return CustomStyle;\n}();\nvar RenderingCancelledException = function RenderingCancelledException() {\n  function RenderingCancelledException(msg, type) {\n    this.message = msg;\n    this.type = type;\n  }\n  RenderingCancelledException.prototype = new Error();\n  RenderingCancelledException.prototype.name = 'RenderingCancelledException';\n  RenderingCancelledException.constructor = RenderingCancelledException;\n  return RenderingCancelledException;\n}();\nvar LinkTarget = {\n  NONE: 0,\n  SELF: 1,\n  BLANK: 2,\n  PARENT: 3,\n  TOP: 4\n};\nvar LinkTargetStringMap = ['', '_self', '_blank', '_parent', '_top'];\nfunction addLinkAttributes(link, params) {\n  var url = params && params.url;\n  link.href = link.title = url ? (0, _util.removeNullCharacters)(url) : '';\n  if (url) {\n    var target = params.target;\n    if (typeof target === 'undefined') {\n      target = getDefaultSetting('externalLinkTarget');\n    }\n    link.target = LinkTargetStringMap[target];\n    var rel = params.rel;\n    if (typeof rel === 'undefined') {\n      rel = getDefaultSetting('externalLinkRel');\n    }\n    link.rel = rel;\n  }\n}\nfunction getFilenameFromUrl(url) {\n  var anchor = url.indexOf('#');\n  var query = url.indexOf('?');\n  var end = Math.min(anchor > 0 ? anchor : url.length, query > 0 ? query : url.length);\n  return url.substring(url.lastIndexOf('/', end) + 1, end);\n}\nfunction getDefaultSetting(id) {\n  var globalSettings = _global_scope2.default.PDFJS;\n  switch (id) {\n    case 'pdfBug':\n      return globalSettings ? globalSettings.pdfBug : false;\n    case 'disableAutoFetch':\n      return globalSettings ? globalSettings.disableAutoFetch : false;\n    case 'disableStream':\n      return globalSettings ? globalSettings.disableStream : false;\n    case 'disableRange':\n      return globalSettings ? globalSettings.disableRange : false;\n    case 'disableFontFace':\n      return globalSettings ? globalSettings.disableFontFace : false;\n    case 'disableCreateObjectURL':\n      return globalSettings ? globalSettings.disableCreateObjectURL : false;\n    case 'disableWebGL':\n      return globalSettings ? globalSettings.disableWebGL : true;\n    case 'cMapUrl':\n      return globalSettings ? globalSettings.cMapUrl : null;\n    case 'cMapPacked':\n      return globalSettings ? globalSettings.cMapPacked : false;\n    case 'postMessageTransfers':\n      return globalSettings ? globalSettings.postMessageTransfers : true;\n    case 'workerPort':\n      return globalSettings ? globalSettings.workerPort : null;\n    case 'workerSrc':\n      return globalSettings ? globalSettings.workerSrc : null;\n    case 'disableWorker':\n      return globalSettings ? globalSettings.disableWorker : false;\n    case 'maxImageSize':\n      return globalSettings ? globalSettings.maxImageSize : -1;\n    case 'imageResourcesPath':\n      return globalSettings ? globalSettings.imageResourcesPath : '';\n    case 'isEvalSupported':\n      return globalSettings ? globalSettings.isEvalSupported : true;\n    case 'externalLinkTarget':\n      if (!globalSettings) {\n        return LinkTarget.NONE;\n      }\n      switch (globalSettings.externalLinkTarget) {\n        case LinkTarget.NONE:\n        case LinkTarget.SELF:\n        case LinkTarget.BLANK:\n        case LinkTarget.PARENT:\n        case LinkTarget.TOP:\n          return globalSettings.externalLinkTarget;\n      }\n      (0, _util.warn)('PDFJS.externalLinkTarget is invalid: ' + globalSettings.externalLinkTarget);\n      globalSettings.externalLinkTarget = LinkTarget.NONE;\n      return LinkTarget.NONE;\n    case 'externalLinkRel':\n      return globalSettings ? globalSettings.externalLinkRel : DEFAULT_LINK_REL;\n    case 'enableStats':\n      return !!(globalSettings && globalSettings.enableStats);\n    case 'pdfjsNext':\n      return !!(globalSettings && globalSettings.pdfjsNext);\n    default:\n      throw new Error('Unknown default setting: ' + id);\n  }\n}\nfunction isExternalLinkTargetSet() {\n  var externalLinkTarget = getDefaultSetting('externalLinkTarget');\n  switch (externalLinkTarget) {\n    case LinkTarget.NONE:\n      return false;\n    case LinkTarget.SELF:\n    case LinkTarget.BLANK:\n    case LinkTarget.PARENT:\n    case LinkTarget.TOP:\n      return true;\n  }\n}\nfunction isValidUrl(url, allowRelative) {\n  (0, _util.deprecated)('isValidUrl(), please use createValidAbsoluteUrl() instead.');\n  var baseUrl = allowRelative ? 'http://example.com' : null;\n  return (0, _util.createValidAbsoluteUrl)(url, baseUrl) !== null;\n}\nexports.CustomStyle = CustomStyle;\nexports.RenderingCancelledException = RenderingCancelledException;\nexports.addLinkAttributes = addLinkAttributes;\nexports.isExternalLinkTargetSet = isExternalLinkTargetSet;\nexports.isValidUrl = isValidUrl;\nexports.getFilenameFromUrl = getFilenameFromUrl;\nexports.LinkTarget = LinkTarget;\nexports.getDefaultSetting = getDefaultSetting;\nexports.DEFAULT_LINK_REL = DEFAULT_LINK_REL;\nexports.DOMCanvasFactory = DOMCanvasFactory;\nexports.DOMCMapReaderFactory = DOMCMapReaderFactory;\nexports.DOMSVGFactory = DOMSVGFactory;\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar defined = __w_pdfjs_require__(40);\nmodule.exports = function (it) {\n  return Object(defined(it));\n};\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = {};\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = typeof window !== 'undefined' && window.Math === Math ? window : typeof global !== 'undefined' && global.Math === Math ? global : typeof self !== 'undefined' && self.Math === Math ? self : {};\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = false;\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar redefine = __w_pdfjs_require__(16);\nmodule.exports = function (target, src, safe) {\n  for (var key in src) {\n    redefine(target, key, src[key], safe);\n  }return target;\n};\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (it, Constructor, name, forbiddenField) {\n  if (!(it instanceof Constructor) || forbiddenField !== undefined && forbiddenField in it) {\n    throw TypeError(name + ': incorrect invocation!');\n  }\n  return it;\n};\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toString = {}.toString;\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar def = __w_pdfjs_require__(15).f;\nvar has = __w_pdfjs_require__(12);\nvar TAG = __w_pdfjs_require__(4)('toStringTag');\nmodule.exports = function (it, tag, stat) {\n  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, {\n    configurable: true,\n    value: tag\n  });\n};\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.ColorSpace = undefined;\n\nvar _util = __w_pdfjs_require__(0);\n\nvar _primitives = __w_pdfjs_require__(2);\n\nvar ColorSpace = function ColorSpaceClosure() {\n  function resizeRgbImage(src, bpc, w1, h1, w2, h2, alpha01, dest) {\n    var COMPONENTS = 3;\n    alpha01 = alpha01 !== 1 ? 0 : alpha01;\n    var xRatio = w1 / w2;\n    var yRatio = h1 / h2;\n    var i,\n        j,\n        py,\n        newIndex = 0,\n        oldIndex;\n    var xScaled = new Uint16Array(w2);\n    var w1Scanline = w1 * COMPONENTS;\n    for (i = 0; i < w2; i++) {\n      xScaled[i] = Math.floor(i * xRatio) * COMPONENTS;\n    }\n    for (i = 0; i < h2; i++) {\n      py = Math.floor(i * yRatio) * w1Scanline;\n      for (j = 0; j < w2; j++) {\n        oldIndex = py + xScaled[j];\n        dest[newIndex++] = src[oldIndex++];\n        dest[newIndex++] = src[oldIndex++];\n        dest[newIndex++] = src[oldIndex++];\n        newIndex += alpha01;\n      }\n    }\n  }\n  function ColorSpace() {\n    throw new Error('should not call ColorSpace constructor');\n  }\n  ColorSpace.prototype = {\n    getRgb: function ColorSpace_getRgb(src, srcOffset) {\n      var rgb = new Uint8Array(3);\n      this.getRgbItem(src, srcOffset, rgb, 0);\n      return rgb;\n    },\n    getRgbItem: function ColorSpace_getRgbItem(src, srcOffset, dest, destOffset) {\n      throw new Error('Should not call ColorSpace.getRgbItem');\n    },\n    getRgbBuffer: function ColorSpace_getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n      throw new Error('Should not call ColorSpace.getRgbBuffer');\n    },\n    getOutputLength: function ColorSpace_getOutputLength(inputLength, alpha01) {\n      throw new Error('Should not call ColorSpace.getOutputLength');\n    },\n    isPassthrough: function ColorSpace_isPassthrough(bits) {\n      return false;\n    },\n    fillRgb: function ColorSpace_fillRgb(dest, originalWidth, originalHeight, width, height, actualHeight, bpc, comps, alpha01) {\n      var count = originalWidth * originalHeight;\n      var rgbBuf = null;\n      var numComponentColors = 1 << bpc;\n      var needsResizing = originalHeight !== height || originalWidth !== width;\n      var i, ii;\n      if (this.isPassthrough(bpc)) {\n        rgbBuf = comps;\n      } else if (this.numComps === 1 && count > numComponentColors && this.name !== 'DeviceGray' && this.name !== 'DeviceRGB') {\n        var allColors = bpc <= 8 ? new Uint8Array(numComponentColors) : new Uint16Array(numComponentColors);\n        var key;\n        for (i = 0; i < numComponentColors; i++) {\n          allColors[i] = i;\n        }\n        var colorMap = new Uint8Array(numComponentColors * 3);\n        this.getRgbBuffer(allColors, 0, numComponentColors, colorMap, 0, bpc, 0);\n        var destPos, rgbPos;\n        if (!needsResizing) {\n          destPos = 0;\n          for (i = 0; i < count; ++i) {\n            key = comps[i] * 3;\n            dest[destPos++] = colorMap[key];\n            dest[destPos++] = colorMap[key + 1];\n            dest[destPos++] = colorMap[key + 2];\n            destPos += alpha01;\n          }\n        } else {\n          rgbBuf = new Uint8Array(count * 3);\n          rgbPos = 0;\n          for (i = 0; i < count; ++i) {\n            key = comps[i] * 3;\n            rgbBuf[rgbPos++] = colorMap[key];\n            rgbBuf[rgbPos++] = colorMap[key + 1];\n            rgbBuf[rgbPos++] = colorMap[key + 2];\n          }\n        }\n      } else {\n        if (!needsResizing) {\n          this.getRgbBuffer(comps, 0, width * actualHeight, dest, 0, bpc, alpha01);\n        } else {\n          rgbBuf = new Uint8Array(count * 3);\n          this.getRgbBuffer(comps, 0, count, rgbBuf, 0, bpc, 0);\n        }\n      }\n      if (rgbBuf) {\n        if (needsResizing) {\n          resizeRgbImage(rgbBuf, bpc, originalWidth, originalHeight, width, height, alpha01, dest);\n        } else {\n          rgbPos = 0;\n          destPos = 0;\n          for (i = 0, ii = width * actualHeight; i < ii; i++) {\n            dest[destPos++] = rgbBuf[rgbPos++];\n            dest[destPos++] = rgbBuf[rgbPos++];\n            dest[destPos++] = rgbBuf[rgbPos++];\n            destPos += alpha01;\n          }\n        }\n      }\n    },\n    usesZeroToOneRange: true\n  };\n  ColorSpace.parse = function (cs, xref, res, pdfFunctionFactory) {\n    var IR = ColorSpace.parseToIR(cs, xref, res, pdfFunctionFactory);\n    return ColorSpace.fromIR(IR);\n  };\n  ColorSpace.fromIR = function (IR) {\n    var name = Array.isArray(IR) ? IR[0] : IR;\n    var whitePoint, blackPoint, gamma;\n    switch (name) {\n      case 'DeviceGrayCS':\n        return this.singletons.gray;\n      case 'DeviceRgbCS':\n        return this.singletons.rgb;\n      case 'DeviceCmykCS':\n        return this.singletons.cmyk;\n      case 'CalGrayCS':\n        whitePoint = IR[1];\n        blackPoint = IR[2];\n        gamma = IR[3];\n        return new CalGrayCS(whitePoint, blackPoint, gamma);\n      case 'CalRGBCS':\n        whitePoint = IR[1];\n        blackPoint = IR[2];\n        gamma = IR[3];\n        var matrix = IR[4];\n        return new CalRGBCS(whitePoint, blackPoint, gamma, matrix);\n      case 'PatternCS':\n        var basePatternCS = IR[1];\n        if (basePatternCS) {\n          basePatternCS = ColorSpace.fromIR(basePatternCS);\n        }\n        return new PatternCS(basePatternCS);\n      case 'IndexedCS':\n        var baseIndexedCS = IR[1];\n        var hiVal = IR[2];\n        var lookup = IR[3];\n        return new IndexedCS(ColorSpace.fromIR(baseIndexedCS), hiVal, lookup);\n      case 'AlternateCS':\n        var numComps = IR[1];\n        var alt = IR[2];\n        var tintFn = IR[3];\n        return new AlternateCS(numComps, ColorSpace.fromIR(alt), tintFn);\n      case 'LabCS':\n        whitePoint = IR[1];\n        blackPoint = IR[2];\n        var range = IR[3];\n        return new LabCS(whitePoint, blackPoint, range);\n      default:\n        throw new _util.FormatError('Unknown colorspace name: ' + name);\n    }\n  };\n  ColorSpace.parseToIR = function (cs, xref, res, pdfFunctionFactory) {\n    if ((0, _primitives.isName)(cs)) {\n      var colorSpaces = res.get('ColorSpace');\n      if ((0, _primitives.isDict)(colorSpaces)) {\n        var refcs = colorSpaces.get(cs.name);\n        if (refcs) {\n          cs = refcs;\n        }\n      }\n    }\n    cs = xref.fetchIfRef(cs);\n    if ((0, _primitives.isName)(cs)) {\n      switch (cs.name) {\n        case 'DeviceGray':\n        case 'G':\n          return 'DeviceGrayCS';\n        case 'DeviceRGB':\n        case 'RGB':\n          return 'DeviceRgbCS';\n        case 'DeviceCMYK':\n        case 'CMYK':\n          return 'DeviceCmykCS';\n        case 'Pattern':\n          return ['PatternCS', null];\n        default:\n          throw new _util.FormatError('unrecognized colorspace ' + cs.name);\n      }\n    }\n    if (Array.isArray(cs)) {\n      var mode = xref.fetchIfRef(cs[0]).name;\n      var numComps, params, alt, whitePoint, blackPoint, gamma;\n      switch (mode) {\n        case 'DeviceGray':\n        case 'G':\n          return 'DeviceGrayCS';\n        case 'DeviceRGB':\n        case 'RGB':\n          return 'DeviceRgbCS';\n        case 'DeviceCMYK':\n        case 'CMYK':\n          return 'DeviceCmykCS';\n        case 'CalGray':\n          params = xref.fetchIfRef(cs[1]);\n          whitePoint = params.getArray('WhitePoint');\n          blackPoint = params.getArray('BlackPoint');\n          gamma = params.get('Gamma');\n          return ['CalGrayCS', whitePoint, blackPoint, gamma];\n        case 'CalRGB':\n          params = xref.fetchIfRef(cs[1]);\n          whitePoint = params.getArray('WhitePoint');\n          blackPoint = params.getArray('BlackPoint');\n          gamma = params.getArray('Gamma');\n          var matrix = params.getArray('Matrix');\n          return ['CalRGBCS', whitePoint, blackPoint, gamma, matrix];\n        case 'ICCBased':\n          var stream = xref.fetchIfRef(cs[1]);\n          var dict = stream.dict;\n          numComps = dict.get('N');\n          alt = dict.get('Alternate');\n          if (alt) {\n            var altIR = ColorSpace.parseToIR(alt, xref, res, pdfFunctionFactory);\n            var altCS = ColorSpace.fromIR(altIR, pdfFunctionFactory);\n            if (altCS.numComps === numComps) {\n              return altIR;\n            }\n            (0, _util.warn)('ICCBased color space: Ignoring incorrect /Alternate entry.');\n          }\n          if (numComps === 1) {\n            return 'DeviceGrayCS';\n          } else if (numComps === 3) {\n            return 'DeviceRgbCS';\n          } else if (numComps === 4) {\n            return 'DeviceCmykCS';\n          }\n          break;\n        case 'Pattern':\n          var basePatternCS = cs[1] || null;\n          if (basePatternCS) {\n            basePatternCS = ColorSpace.parseToIR(basePatternCS, xref, res, pdfFunctionFactory);\n          }\n          return ['PatternCS', basePatternCS];\n        case 'Indexed':\n        case 'I':\n          var baseIndexedCS = ColorSpace.parseToIR(cs[1], xref, res, pdfFunctionFactory);\n          var hiVal = xref.fetchIfRef(cs[2]) + 1;\n          var lookup = xref.fetchIfRef(cs[3]);\n          if ((0, _primitives.isStream)(lookup)) {\n            lookup = lookup.getBytes();\n          }\n          return ['IndexedCS', baseIndexedCS, hiVal, lookup];\n        case 'Separation':\n        case 'DeviceN':\n          var name = xref.fetchIfRef(cs[1]);\n          numComps = Array.isArray(name) ? name.length : 1;\n          alt = ColorSpace.parseToIR(cs[2], xref, res, pdfFunctionFactory);\n          var tintFn = pdfFunctionFactory.create(xref.fetchIfRef(cs[3]));\n          return ['AlternateCS', numComps, alt, tintFn];\n        case 'Lab':\n          params = xref.fetchIfRef(cs[1]);\n          whitePoint = params.getArray('WhitePoint');\n          blackPoint = params.getArray('BlackPoint');\n          var range = params.getArray('Range');\n          return ['LabCS', whitePoint, blackPoint, range];\n        default:\n          throw new _util.FormatError('unimplemented color space object \"' + mode + '\"');\n      }\n    }\n    throw new _util.FormatError('unrecognized color space object: \"' + cs + '\"');\n  };\n  ColorSpace.isDefaultDecode = function ColorSpace_isDefaultDecode(decode, n) {\n    if (!Array.isArray(decode)) {\n      return true;\n    }\n    if (n * 2 !== decode.length) {\n      (0, _util.warn)('The decode map is not the correct length');\n      return true;\n    }\n    for (var i = 0, ii = decode.length; i < ii; i += 2) {\n      if (decode[i] !== 0 || decode[i + 1] !== 1) {\n        return false;\n      }\n    }\n    return true;\n  };\n  ColorSpace.singletons = {\n    get gray() {\n      return (0, _util.shadow)(this, 'gray', new DeviceGrayCS());\n    },\n    get rgb() {\n      return (0, _util.shadow)(this, 'rgb', new DeviceRgbCS());\n    },\n    get cmyk() {\n      return (0, _util.shadow)(this, 'cmyk', new DeviceCmykCS());\n    }\n  };\n  return ColorSpace;\n}();\nvar AlternateCS = function AlternateCSClosure() {\n  function AlternateCS(numComps, base, tintFn) {\n    this.name = 'Alternate';\n    this.numComps = numComps;\n    this.defaultColor = new Float32Array(numComps);\n    for (var i = 0; i < numComps; ++i) {\n      this.defaultColor[i] = 1;\n    }\n    this.base = base;\n    this.tintFn = tintFn;\n    this.tmpBuf = new Float32Array(base.numComps);\n  }\n  AlternateCS.prototype = {\n    getRgb: ColorSpace.prototype.getRgb,\n    getRgbItem: function AlternateCS_getRgbItem(src, srcOffset, dest, destOffset) {\n      var tmpBuf = this.tmpBuf;\n      this.tintFn(src, srcOffset, tmpBuf, 0);\n      this.base.getRgbItem(tmpBuf, 0, dest, destOffset);\n    },\n    getRgbBuffer: function AlternateCS_getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n      var tintFn = this.tintFn;\n      var base = this.base;\n      var scale = 1 / ((1 << bits) - 1);\n      var baseNumComps = base.numComps;\n      var usesZeroToOneRange = base.usesZeroToOneRange;\n      var isPassthrough = (base.isPassthrough(8) || !usesZeroToOneRange) && alpha01 === 0;\n      var pos = isPassthrough ? destOffset : 0;\n      var baseBuf = isPassthrough ? dest : new Uint8Array(baseNumComps * count);\n      var numComps = this.numComps;\n      var scaled = new Float32Array(numComps);\n      var tinted = new Float32Array(baseNumComps);\n      var i, j;\n      for (i = 0; i < count; i++) {\n        for (j = 0; j < numComps; j++) {\n          scaled[j] = src[srcOffset++] * scale;\n        }\n        tintFn(scaled, 0, tinted, 0);\n        if (usesZeroToOneRange) {\n          for (j = 0; j < baseNumComps; j++) {\n            baseBuf[pos++] = tinted[j] * 255;\n          }\n        } else {\n          base.getRgbItem(tinted, 0, baseBuf, pos);\n          pos += baseNumComps;\n        }\n      }\n      if (!isPassthrough) {\n        base.getRgbBuffer(baseBuf, 0, count, dest, destOffset, 8, alpha01);\n      }\n    },\n    getOutputLength: function AlternateCS_getOutputLength(inputLength, alpha01) {\n      return this.base.getOutputLength(inputLength * this.base.numComps / this.numComps, alpha01);\n    },\n    isPassthrough: ColorSpace.prototype.isPassthrough,\n    fillRgb: ColorSpace.prototype.fillRgb,\n    isDefaultDecode: function AlternateCS_isDefaultDecode(decodeMap) {\n      return ColorSpace.isDefaultDecode(decodeMap, this.numComps);\n    },\n    usesZeroToOneRange: true\n  };\n  return AlternateCS;\n}();\nvar PatternCS = function PatternCSClosure() {\n  function PatternCS(baseCS) {\n    this.name = 'Pattern';\n    this.base = baseCS;\n  }\n  PatternCS.prototype = {};\n  return PatternCS;\n}();\nvar IndexedCS = function IndexedCSClosure() {\n  function IndexedCS(base, highVal, lookup) {\n    this.name = 'Indexed';\n    this.numComps = 1;\n    this.defaultColor = new Uint8Array(this.numComps);\n    this.base = base;\n    this.highVal = highVal;\n    var baseNumComps = base.numComps;\n    var length = baseNumComps * highVal;\n    if ((0, _primitives.isStream)(lookup)) {\n      this.lookup = new Uint8Array(length);\n      var bytes = lookup.getBytes(length);\n      this.lookup.set(bytes);\n    } else if ((0, _util.isString)(lookup)) {\n      this.lookup = new Uint8Array(length);\n      for (var i = 0; i < length; ++i) {\n        this.lookup[i] = lookup.charCodeAt(i);\n      }\n    } else if (lookup instanceof Uint8Array || lookup instanceof Array) {\n      this.lookup = lookup;\n    } else {\n      throw new _util.FormatError('Unrecognized lookup table: ' + lookup);\n    }\n  }\n  IndexedCS.prototype = {\n    getRgb: ColorSpace.prototype.getRgb,\n    getRgbItem: function IndexedCS_getRgbItem(src, srcOffset, dest, destOffset) {\n      var numComps = this.base.numComps;\n      var start = src[srcOffset] * numComps;\n      this.base.getRgbBuffer(this.lookup, start, 1, dest, destOffset, 8, 0);\n    },\n    getRgbBuffer: function IndexedCS_getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n      var base = this.base;\n      var numComps = base.numComps;\n      var outputDelta = base.getOutputLength(numComps, alpha01);\n      var lookup = this.lookup;\n      for (var i = 0; i < count; ++i) {\n        var lookupPos = src[srcOffset++] * numComps;\n        base.getRgbBuffer(lookup, lookupPos, 1, dest, destOffset, 8, alpha01);\n        destOffset += outputDelta;\n      }\n    },\n    getOutputLength: function IndexedCS_getOutputLength(inputLength, alpha01) {\n      return this.base.getOutputLength(inputLength * this.base.numComps, alpha01);\n    },\n    isPassthrough: ColorSpace.prototype.isPassthrough,\n    fillRgb: ColorSpace.prototype.fillRgb,\n    isDefaultDecode: function IndexedCS_isDefaultDecode(decodeMap) {\n      return true;\n    },\n    usesZeroToOneRange: true\n  };\n  return IndexedCS;\n}();\nvar DeviceGrayCS = function DeviceGrayCSClosure() {\n  function DeviceGrayCS() {\n    this.name = 'DeviceGray';\n    this.numComps = 1;\n    this.defaultColor = new Float32Array(this.numComps);\n  }\n  DeviceGrayCS.prototype = {\n    getRgb: ColorSpace.prototype.getRgb,\n    getRgbItem: function DeviceGrayCS_getRgbItem(src, srcOffset, dest, destOffset) {\n      var c = src[srcOffset] * 255 | 0;\n      c = c < 0 ? 0 : c > 255 ? 255 : c;\n      dest[destOffset] = dest[destOffset + 1] = dest[destOffset + 2] = c;\n    },\n    getRgbBuffer: function DeviceGrayCS_getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n      var scale = 255 / ((1 << bits) - 1);\n      var j = srcOffset,\n          q = destOffset;\n      for (var i = 0; i < count; ++i) {\n        var c = scale * src[j++] | 0;\n        dest[q++] = c;\n        dest[q++] = c;\n        dest[q++] = c;\n        q += alpha01;\n      }\n    },\n    getOutputLength: function DeviceGrayCS_getOutputLength(inputLength, alpha01) {\n      return inputLength * (3 + alpha01);\n    },\n    isPassthrough: ColorSpace.prototype.isPassthrough,\n    fillRgb: ColorSpace.prototype.fillRgb,\n    isDefaultDecode: function DeviceGrayCS_isDefaultDecode(decodeMap) {\n      return ColorSpace.isDefaultDecode(decodeMap, this.numComps);\n    },\n    usesZeroToOneRange: true\n  };\n  return DeviceGrayCS;\n}();\nvar DeviceRgbCS = function DeviceRgbCSClosure() {\n  function DeviceRgbCS() {\n    this.name = 'DeviceRGB';\n    this.numComps = 3;\n    this.defaultColor = new Float32Array(this.numComps);\n  }\n  DeviceRgbCS.prototype = {\n    getRgb: ColorSpace.prototype.getRgb,\n    getRgbItem: function DeviceRgbCS_getRgbItem(src, srcOffset, dest, destOffset) {\n      var r = src[srcOffset] * 255 | 0;\n      var g = src[srcOffset + 1] * 255 | 0;\n      var b = src[srcOffset + 2] * 255 | 0;\n      dest[destOffset] = r < 0 ? 0 : r > 255 ? 255 : r;\n      dest[destOffset + 1] = g < 0 ? 0 : g > 255 ? 255 : g;\n      dest[destOffset + 2] = b < 0 ? 0 : b > 255 ? 255 : b;\n    },\n    getRgbBuffer: function DeviceRgbCS_getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n      if (bits === 8 && alpha01 === 0) {\n        dest.set(src.subarray(srcOffset, srcOffset + count * 3), destOffset);\n        return;\n      }\n      var scale = 255 / ((1 << bits) - 1);\n      var j = srcOffset,\n          q = destOffset;\n      for (var i = 0; i < count; ++i) {\n        dest[q++] = scale * src[j++] | 0;\n        dest[q++] = scale * src[j++] | 0;\n        dest[q++] = scale * src[j++] | 0;\n        q += alpha01;\n      }\n    },\n    getOutputLength: function DeviceRgbCS_getOutputLength(inputLength, alpha01) {\n      return inputLength * (3 + alpha01) / 3 | 0;\n    },\n    isPassthrough: function DeviceRgbCS_isPassthrough(bits) {\n      return bits === 8;\n    },\n    fillRgb: ColorSpace.prototype.fillRgb,\n    isDefaultDecode: function DeviceRgbCS_isDefaultDecode(decodeMap) {\n      return ColorSpace.isDefaultDecode(decodeMap, this.numComps);\n    },\n    usesZeroToOneRange: true\n  };\n  return DeviceRgbCS;\n}();\nvar DeviceCmykCS = function DeviceCmykCSClosure() {\n  function convertToRgb(src, srcOffset, srcScale, dest, destOffset) {\n    var c = src[srcOffset + 0] * srcScale;\n    var m = src[srcOffset + 1] * srcScale;\n    var y = src[srcOffset + 2] * srcScale;\n    var k = src[srcOffset + 3] * srcScale;\n    var r = c * (-4.387332384609988 * c + 54.48615194189176 * m + 18.82290502165302 * y + 212.25662451639585 * k + -285.2331026137004) + m * (1.7149763477362134 * m - 5.6096736904047315 * y + -17.873870861415444 * k - 5.497006427196366) + y * (-2.5217340131683033 * y - 21.248923337353073 * k + 17.5119270841813) + k * (-21.86122147463605 * k - 189.48180835922747) + 255 | 0;\n    var g = c * (8.841041422036149 * c + 60.118027045597366 * m + 6.871425592049007 * y + 31.159100130055922 * k + -79.2970844816548) + m * (-15.310361306967817 * m + 17.575251261109482 * y + 131.35250912493976 * k - 190.9453302588951) + y * (4.444339102852739 * y + 9.8632861493405 * k - 24.86741582555878) + k * (-20.737325471181034 * k - 187.80453709719578) + 255 | 0;\n    var b = c * (0.8842522430003296 * c + 8.078677503112928 * m + 30.89978309703729 * y - 0.23883238689178934 * k + -14.183576799673286) + m * (10.49593273432072 * m + 63.02378494754052 * y + 50.606957656360734 * k - 112.23884253719248) + y * (0.03296041114873217 * y + 115.60384449646641 * k + -193.58209356861505) + k * (-22.33816807309886 * k - 180.12613974708367) + 255 | 0;\n    dest[destOffset] = r > 255 ? 255 : r < 0 ? 0 : r;\n    dest[destOffset + 1] = g > 255 ? 255 : g < 0 ? 0 : g;\n    dest[destOffset + 2] = b > 255 ? 255 : b < 0 ? 0 : b;\n  }\n  function DeviceCmykCS() {\n    this.name = 'DeviceCMYK';\n    this.numComps = 4;\n    this.defaultColor = new Float32Array(this.numComps);\n    this.defaultColor[3] = 1;\n  }\n  DeviceCmykCS.prototype = {\n    getRgb: ColorSpace.prototype.getRgb,\n    getRgbItem: function DeviceCmykCS_getRgbItem(src, srcOffset, dest, destOffset) {\n      convertToRgb(src, srcOffset, 1, dest, destOffset);\n    },\n    getRgbBuffer: function DeviceCmykCS_getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n      var scale = 1 / ((1 << bits) - 1);\n      for (var i = 0; i < count; i++) {\n        convertToRgb(src, srcOffset, scale, dest, destOffset);\n        srcOffset += 4;\n        destOffset += 3 + alpha01;\n      }\n    },\n    getOutputLength: function DeviceCmykCS_getOutputLength(inputLength, alpha01) {\n      return inputLength / 4 * (3 + alpha01) | 0;\n    },\n    isPassthrough: ColorSpace.prototype.isPassthrough,\n    fillRgb: ColorSpace.prototype.fillRgb,\n    isDefaultDecode: function DeviceCmykCS_isDefaultDecode(decodeMap) {\n      return ColorSpace.isDefaultDecode(decodeMap, this.numComps);\n    },\n    usesZeroToOneRange: true\n  };\n  return DeviceCmykCS;\n}();\nvar CalGrayCS = function CalGrayCSClosure() {\n  function CalGrayCS(whitePoint, blackPoint, gamma) {\n    this.name = 'CalGray';\n    this.numComps = 1;\n    this.defaultColor = new Float32Array(this.numComps);\n    if (!whitePoint) {\n      throw new _util.FormatError('WhitePoint missing - required for color space CalGray');\n    }\n    blackPoint = blackPoint || [0, 0, 0];\n    gamma = gamma || 1;\n    this.XW = whitePoint[0];\n    this.YW = whitePoint[1];\n    this.ZW = whitePoint[2];\n    this.XB = blackPoint[0];\n    this.YB = blackPoint[1];\n    this.ZB = blackPoint[2];\n    this.G = gamma;\n    if (this.XW < 0 || this.ZW < 0 || this.YW !== 1) {\n      throw new _util.FormatError('Invalid WhitePoint components for ' + this.name + ', no fallback available');\n    }\n    if (this.XB < 0 || this.YB < 0 || this.ZB < 0) {\n      (0, _util.info)('Invalid BlackPoint for ' + this.name + ', falling back to default');\n      this.XB = this.YB = this.ZB = 0;\n    }\n    if (this.XB !== 0 || this.YB !== 0 || this.ZB !== 0) {\n      (0, _util.warn)(this.name + ', BlackPoint: XB: ' + this.XB + ', YB: ' + this.YB + ', ZB: ' + this.ZB + ', only default values are supported.');\n    }\n    if (this.G < 1) {\n      (0, _util.info)('Invalid Gamma: ' + this.G + ' for ' + this.name + ', falling back to default');\n      this.G = 1;\n    }\n  }\n  function convertToRgb(cs, src, srcOffset, dest, destOffset, scale) {\n    var A = src[srcOffset] * scale;\n    var AG = Math.pow(A, cs.G);\n    var L = cs.YW * AG;\n    var val = Math.max(295.8 * Math.pow(L, 0.333333333333333333) - 40.8, 0) | 0;\n    dest[destOffset] = val;\n    dest[destOffset + 1] = val;\n    dest[destOffset + 2] = val;\n  }\n  CalGrayCS.prototype = {\n    getRgb: ColorSpace.prototype.getRgb,\n    getRgbItem: function CalGrayCS_getRgbItem(src, srcOffset, dest, destOffset) {\n      convertToRgb(this, src, srcOffset, dest, destOffset, 1);\n    },\n    getRgbBuffer: function CalGrayCS_getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n      var scale = 1 / ((1 << bits) - 1);\n      for (var i = 0; i < count; ++i) {\n        convertToRgb(this, src, srcOffset, dest, destOffset, scale);\n        srcOffset += 1;\n        destOffset += 3 + alpha01;\n      }\n    },\n    getOutputLength: function CalGrayCS_getOutputLength(inputLength, alpha01) {\n      return inputLength * (3 + alpha01);\n    },\n    isPassthrough: ColorSpace.prototype.isPassthrough,\n    fillRgb: ColorSpace.prototype.fillRgb,\n    isDefaultDecode: function CalGrayCS_isDefaultDecode(decodeMap) {\n      return ColorSpace.isDefaultDecode(decodeMap, this.numComps);\n    },\n    usesZeroToOneRange: true\n  };\n  return CalGrayCS;\n}();\nvar CalRGBCS = function CalRGBCSClosure() {\n  var BRADFORD_SCALE_MATRIX = new Float32Array([0.8951, 0.2664, -0.1614, -0.7502, 1.7135, 0.0367, 0.0389, -0.0685, 1.0296]);\n  var BRADFORD_SCALE_INVERSE_MATRIX = new Float32Array([0.9869929, -0.1470543, 0.1599627, 0.4323053, 0.5183603, 0.0492912, -0.0085287, 0.0400428, 0.9684867]);\n  var SRGB_D65_XYZ_TO_RGB_MATRIX = new Float32Array([3.2404542, -1.5371385, -0.4985314, -0.9692660, 1.8760108, 0.0415560, 0.0556434, -0.2040259, 1.0572252]);\n  var FLAT_WHITEPOINT_MATRIX = new Float32Array([1, 1, 1]);\n  var tempNormalizeMatrix = new Float32Array(3);\n  var tempConvertMatrix1 = new Float32Array(3);\n  var tempConvertMatrix2 = new Float32Array(3);\n  var DECODE_L_CONSTANT = Math.pow((8 + 16) / 116, 3) / 8.0;\n  function CalRGBCS(whitePoint, blackPoint, gamma, matrix) {\n    this.name = 'CalRGB';\n    this.numComps = 3;\n    this.defaultColor = new Float32Array(this.numComps);\n    if (!whitePoint) {\n      throw new _util.FormatError('WhitePoint missing - required for color space CalRGB');\n    }\n    blackPoint = blackPoint || new Float32Array(3);\n    gamma = gamma || new Float32Array([1, 1, 1]);\n    matrix = matrix || new Float32Array([1, 0, 0, 0, 1, 0, 0, 0, 1]);\n    var XW = whitePoint[0];\n    var YW = whitePoint[1];\n    var ZW = whitePoint[2];\n    this.whitePoint = whitePoint;\n    var XB = blackPoint[0];\n    var YB = blackPoint[1];\n    var ZB = blackPoint[2];\n    this.blackPoint = blackPoint;\n    this.GR = gamma[0];\n    this.GG = gamma[1];\n    this.GB = gamma[2];\n    this.MXA = matrix[0];\n    this.MYA = matrix[1];\n    this.MZA = matrix[2];\n    this.MXB = matrix[3];\n    this.MYB = matrix[4];\n    this.MZB = matrix[5];\n    this.MXC = matrix[6];\n    this.MYC = matrix[7];\n    this.MZC = matrix[8];\n    if (XW < 0 || ZW < 0 || YW !== 1) {\n      throw new _util.FormatError('Invalid WhitePoint components for ' + this.name + ', no fallback available');\n    }\n    if (XB < 0 || YB < 0 || ZB < 0) {\n      (0, _util.info)('Invalid BlackPoint for ' + this.name + ' [' + XB + ', ' + YB + ', ' + ZB + '], falling back to default');\n      this.blackPoint = new Float32Array(3);\n    }\n    if (this.GR < 0 || this.GG < 0 || this.GB < 0) {\n      (0, _util.info)('Invalid Gamma [' + this.GR + ', ' + this.GG + ', ' + this.GB + '] for ' + this.name + ', falling back to default');\n      this.GR = this.GG = this.GB = 1;\n    }\n    if (this.MXA < 0 || this.MYA < 0 || this.MZA < 0 || this.MXB < 0 || this.MYB < 0 || this.MZB < 0 || this.MXC < 0 || this.MYC < 0 || this.MZC < 0) {\n      (0, _util.info)('Invalid Matrix for ' + this.name + ' [' + this.MXA + ', ' + this.MYA + ', ' + this.MZA + this.MXB + ', ' + this.MYB + ', ' + this.MZB + this.MXC + ', ' + this.MYC + ', ' + this.MZC + '], falling back to default');\n      this.MXA = this.MYB = this.MZC = 1;\n      this.MXB = this.MYA = this.MZA = this.MXC = this.MYC = this.MZB = 0;\n    }\n  }\n  function matrixProduct(a, b, result) {\n    result[0] = a[0] * b[0] + a[1] * b[1] + a[2] * b[2];\n    result[1] = a[3] * b[0] + a[4] * b[1] + a[5] * b[2];\n    result[2] = a[6] * b[0] + a[7] * b[1] + a[8] * b[2];\n  }\n  function convertToFlat(sourceWhitePoint, LMS, result) {\n    result[0] = LMS[0] * 1 / sourceWhitePoint[0];\n    result[1] = LMS[1] * 1 / sourceWhitePoint[1];\n    result[2] = LMS[2] * 1 / sourceWhitePoint[2];\n  }\n  function convertToD65(sourceWhitePoint, LMS, result) {\n    var D65X = 0.95047;\n    var D65Y = 1;\n    var D65Z = 1.08883;\n    result[0] = LMS[0] * D65X / sourceWhitePoint[0];\n    result[1] = LMS[1] * D65Y / sourceWhitePoint[1];\n    result[2] = LMS[2] * D65Z / sourceWhitePoint[2];\n  }\n  function sRGBTransferFunction(color) {\n    if (color <= 0.0031308) {\n      return adjustToRange(0, 1, 12.92 * color);\n    }\n    return adjustToRange(0, 1, (1 + 0.055) * Math.pow(color, 1 / 2.4) - 0.055);\n  }\n  function adjustToRange(min, max, value) {\n    return Math.max(min, Math.min(max, value));\n  }\n  function decodeL(L) {\n    if (L < 0) {\n      return -decodeL(-L);\n    }\n    if (L > 8.0) {\n      return Math.pow((L + 16) / 116, 3);\n    }\n    return L * DECODE_L_CONSTANT;\n  }\n  function compensateBlackPoint(sourceBlackPoint, XYZ_Flat, result) {\n    if (sourceBlackPoint[0] === 0 && sourceBlackPoint[1] === 0 && sourceBlackPoint[2] === 0) {\n      result[0] = XYZ_Flat[0];\n      result[1] = XYZ_Flat[1];\n      result[2] = XYZ_Flat[2];\n      return;\n    }\n    var zeroDecodeL = decodeL(0);\n    var X_DST = zeroDecodeL;\n    var X_SRC = decodeL(sourceBlackPoint[0]);\n    var Y_DST = zeroDecodeL;\n    var Y_SRC = decodeL(sourceBlackPoint[1]);\n    var Z_DST = zeroDecodeL;\n    var Z_SRC = decodeL(sourceBlackPoint[2]);\n    var X_Scale = (1 - X_DST) / (1 - X_SRC);\n    var X_Offset = 1 - X_Scale;\n    var Y_Scale = (1 - Y_DST) / (1 - Y_SRC);\n    var Y_Offset = 1 - Y_Scale;\n    var Z_Scale = (1 - Z_DST) / (1 - Z_SRC);\n    var Z_Offset = 1 - Z_Scale;\n    result[0] = XYZ_Flat[0] * X_Scale + X_Offset;\n    result[1] = XYZ_Flat[1] * Y_Scale + Y_Offset;\n    result[2] = XYZ_Flat[2] * Z_Scale + Z_Offset;\n  }\n  function normalizeWhitePointToFlat(sourceWhitePoint, XYZ_In, result) {\n    if (sourceWhitePoint[0] === 1 && sourceWhitePoint[2] === 1) {\n      result[0] = XYZ_In[0];\n      result[1] = XYZ_In[1];\n      result[2] = XYZ_In[2];\n      return;\n    }\n    var LMS = result;\n    matrixProduct(BRADFORD_SCALE_MATRIX, XYZ_In, LMS);\n    var LMS_Flat = tempNormalizeMatrix;\n    convertToFlat(sourceWhitePoint, LMS, LMS_Flat);\n    matrixProduct(BRADFORD_SCALE_INVERSE_MATRIX, LMS_Flat, result);\n  }\n  function normalizeWhitePointToD65(sourceWhitePoint, XYZ_In, result) {\n    var LMS = result;\n    matrixProduct(BRADFORD_SCALE_MATRIX, XYZ_In, LMS);\n    var LMS_D65 = tempNormalizeMatrix;\n    convertToD65(sourceWhitePoint, LMS, LMS_D65);\n    matrixProduct(BRADFORD_SCALE_INVERSE_MATRIX, LMS_D65, result);\n  }\n  function convertToRgb(cs, src, srcOffset, dest, destOffset, scale) {\n    var A = adjustToRange(0, 1, src[srcOffset] * scale);\n    var B = adjustToRange(0, 1, src[srcOffset + 1] * scale);\n    var C = adjustToRange(0, 1, src[srcOffset + 2] * scale);\n    var AGR = Math.pow(A, cs.GR);\n    var BGG = Math.pow(B, cs.GG);\n    var CGB = Math.pow(C, cs.GB);\n    var X = cs.MXA * AGR + cs.MXB * BGG + cs.MXC * CGB;\n    var Y = cs.MYA * AGR + cs.MYB * BGG + cs.MYC * CGB;\n    var Z = cs.MZA * AGR + cs.MZB * BGG + cs.MZC * CGB;\n    var XYZ = tempConvertMatrix1;\n    XYZ[0] = X;\n    XYZ[1] = Y;\n    XYZ[2] = Z;\n    var XYZ_Flat = tempConvertMatrix2;\n    normalizeWhitePointToFlat(cs.whitePoint, XYZ, XYZ_Flat);\n    var XYZ_Black = tempConvertMatrix1;\n    compensateBlackPoint(cs.blackPoint, XYZ_Flat, XYZ_Black);\n    var XYZ_D65 = tempConvertMatrix2;\n    normalizeWhitePointToD65(FLAT_WHITEPOINT_MATRIX, XYZ_Black, XYZ_D65);\n    var SRGB = tempConvertMatrix1;\n    matrixProduct(SRGB_D65_XYZ_TO_RGB_MATRIX, XYZ_D65, SRGB);\n    var sR = sRGBTransferFunction(SRGB[0]);\n    var sG = sRGBTransferFunction(SRGB[1]);\n    var sB = sRGBTransferFunction(SRGB[2]);\n    dest[destOffset] = Math.round(sR * 255);\n    dest[destOffset + 1] = Math.round(sG * 255);\n    dest[destOffset + 2] = Math.round(sB * 255);\n  }\n  CalRGBCS.prototype = {\n    getRgb: ColorSpace.prototype.getRgb,\n    getRgbItem: function CalRGBCS_getRgbItem(src, srcOffset, dest, destOffset) {\n      convertToRgb(this, src, srcOffset, dest, destOffset, 1);\n    },\n    getRgbBuffer: function CalRGBCS_getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n      var scale = 1 / ((1 << bits) - 1);\n      for (var i = 0; i < count; ++i) {\n        convertToRgb(this, src, srcOffset, dest, destOffset, scale);\n        srcOffset += 3;\n        destOffset += 3 + alpha01;\n      }\n    },\n    getOutputLength: function CalRGBCS_getOutputLength(inputLength, alpha01) {\n      return inputLength * (3 + alpha01) / 3 | 0;\n    },\n    isPassthrough: ColorSpace.prototype.isPassthrough,\n    fillRgb: ColorSpace.prototype.fillRgb,\n    isDefaultDecode: function CalRGBCS_isDefaultDecode(decodeMap) {\n      return ColorSpace.isDefaultDecode(decodeMap, this.numComps);\n    },\n    usesZeroToOneRange: true\n  };\n  return CalRGBCS;\n}();\nvar LabCS = function LabCSClosure() {\n  function LabCS(whitePoint, blackPoint, range) {\n    this.name = 'Lab';\n    this.numComps = 3;\n    this.defaultColor = new Float32Array(this.numComps);\n    if (!whitePoint) {\n      throw new _util.FormatError('WhitePoint missing - required for color space Lab');\n    }\n    blackPoint = blackPoint || [0, 0, 0];\n    range = range || [-100, 100, -100, 100];\n    this.XW = whitePoint[0];\n    this.YW = whitePoint[1];\n    this.ZW = whitePoint[2];\n    this.amin = range[0];\n    this.amax = range[1];\n    this.bmin = range[2];\n    this.bmax = range[3];\n    this.XB = blackPoint[0];\n    this.YB = blackPoint[1];\n    this.ZB = blackPoint[2];\n    if (this.XW < 0 || this.ZW < 0 || this.YW !== 1) {\n      throw new _util.FormatError('Invalid WhitePoint components, no fallback available');\n    }\n    if (this.XB < 0 || this.YB < 0 || this.ZB < 0) {\n      (0, _util.info)('Invalid BlackPoint, falling back to default');\n      this.XB = this.YB = this.ZB = 0;\n    }\n    if (this.amin > this.amax || this.bmin > this.bmax) {\n      (0, _util.info)('Invalid Range, falling back to defaults');\n      this.amin = -100;\n      this.amax = 100;\n      this.bmin = -100;\n      this.bmax = 100;\n    }\n  }\n  function fn_g(x) {\n    var result;\n    if (x >= 6 / 29) {\n      result = x * x * x;\n    } else {\n      result = 108 / 841 * (x - 4 / 29);\n    }\n    return result;\n  }\n  function decode(value, high1, low2, high2) {\n    return low2 + value * (high2 - low2) / high1;\n  }\n  function convertToRgb(cs, src, srcOffset, maxVal, dest, destOffset) {\n    var Ls = src[srcOffset];\n    var as = src[srcOffset + 1];\n    var bs = src[srcOffset + 2];\n    if (maxVal !== false) {\n      Ls = decode(Ls, maxVal, 0, 100);\n      as = decode(as, maxVal, cs.amin, cs.amax);\n      bs = decode(bs, maxVal, cs.bmin, cs.bmax);\n    }\n    as = as > cs.amax ? cs.amax : as < cs.amin ? cs.amin : as;\n    bs = bs > cs.bmax ? cs.bmax : bs < cs.bmin ? cs.bmin : bs;\n    var M = (Ls + 16) / 116;\n    var L = M + as / 500;\n    var N = M - bs / 200;\n    var X = cs.XW * fn_g(L);\n    var Y = cs.YW * fn_g(M);\n    var Z = cs.ZW * fn_g(N);\n    var r, g, b;\n    if (cs.ZW < 1) {\n      r = X * 3.1339 + Y * -1.6170 + Z * -0.4906;\n      g = X * -0.9785 + Y * 1.9160 + Z * 0.0333;\n      b = X * 0.0720 + Y * -0.2290 + Z * 1.4057;\n    } else {\n      r = X * 3.2406 + Y * -1.5372 + Z * -0.4986;\n      g = X * -0.9689 + Y * 1.8758 + Z * 0.0415;\n      b = X * 0.0557 + Y * -0.2040 + Z * 1.0570;\n    }\n    dest[destOffset] = r <= 0 ? 0 : r >= 1 ? 255 : Math.sqrt(r) * 255 | 0;\n    dest[destOffset + 1] = g <= 0 ? 0 : g >= 1 ? 255 : Math.sqrt(g) * 255 | 0;\n    dest[destOffset + 2] = b <= 0 ? 0 : b >= 1 ? 255 : Math.sqrt(b) * 255 | 0;\n  }\n  LabCS.prototype = {\n    getRgb: ColorSpace.prototype.getRgb,\n    getRgbItem: function LabCS_getRgbItem(src, srcOffset, dest, destOffset) {\n      convertToRgb(this, src, srcOffset, false, dest, destOffset);\n    },\n    getRgbBuffer: function LabCS_getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n      var maxVal = (1 << bits) - 1;\n      for (var i = 0; i < count; i++) {\n        convertToRgb(this, src, srcOffset, maxVal, dest, destOffset);\n        srcOffset += 3;\n        destOffset += 3 + alpha01;\n      }\n    },\n    getOutputLength: function LabCS_getOutputLength(inputLength, alpha01) {\n      return inputLength * (3 + alpha01) / 3 | 0;\n    },\n    isPassthrough: ColorSpace.prototype.isPassthrough,\n    fillRgb: ColorSpace.prototype.fillRgb,\n    isDefaultDecode: function LabCS_isDefaultDecode(decodeMap) {\n      return true;\n    },\n    usesZeroToOneRange: false\n  };\n  return LabCS;\n}();\nexports.ColorSpace = ColorSpace;\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nvar ExpertEncoding = ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'space', 'exclamsmall', 'Hungarumlautsmall', '', 'dollaroldstyle', 'dollarsuperior', 'ampersandsmall', 'Acutesmall', 'parenleftsuperior', 'parenrightsuperior', 'twodotenleader', 'onedotenleader', 'comma', 'hyphen', 'period', 'fraction', 'zerooldstyle', 'oneoldstyle', 'twooldstyle', 'threeoldstyle', 'fouroldstyle', 'fiveoldstyle', 'sixoldstyle', 'sevenoldstyle', 'eightoldstyle', 'nineoldstyle', 'colon', 'semicolon', 'commasuperior', 'threequartersemdash', 'periodsuperior', 'questionsmall', '', 'asuperior', 'bsuperior', 'centsuperior', 'dsuperior', 'esuperior', '', '', '', 'isuperior', '', '', 'lsuperior', 'msuperior', 'nsuperior', 'osuperior', '', '', 'rsuperior', 'ssuperior', 'tsuperior', '', 'ff', 'fi', 'fl', 'ffi', 'ffl', 'parenleftinferior', '', 'parenrightinferior', 'Circumflexsmall', 'hyphensuperior', 'Gravesmall', 'Asmall', 'Bsmall', 'Csmall', 'Dsmall', 'Esmall', 'Fsmall', 'Gsmall', 'Hsmall', 'Ismall', 'Jsmall', 'Ksmall', 'Lsmall', 'Msmall', 'Nsmall', 'Osmall', 'Psmall', 'Qsmall', 'Rsmall', 'Ssmall', 'Tsmall', 'Usmall', 'Vsmall', 'Wsmall', 'Xsmall', 'Ysmall', 'Zsmall', 'colonmonetary', 'onefitted', 'rupiah', 'Tildesmall', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'exclamdownsmall', 'centoldstyle', 'Lslashsmall', '', '', 'Scaronsmall', 'Zcaronsmall', 'Dieresissmall', 'Brevesmall', 'Caronsmall', '', 'Dotaccentsmall', '', '', 'Macronsmall', '', '', 'figuredash', 'hypheninferior', '', '', 'Ogoneksmall', 'Ringsmall', 'Cedillasmall', '', '', '', 'onequarter', 'onehalf', 'threequarters', 'questiondownsmall', 'oneeighth', 'threeeighths', 'fiveeighths', 'seveneighths', 'onethird', 'twothirds', '', '', 'zerosuperior', 'onesuperior', 'twosuperior', 'threesuperior', 'foursuperior', 'fivesuperior', 'sixsuperior', 'sevensuperior', 'eightsuperior', 'ninesuperior', 'zeroinferior', 'oneinferior', 'twoinferior', 'threeinferior', 'fourinferior', 'fiveinferior', 'sixinferior', 'seveninferior', 'eightinferior', 'nineinferior', 'centinferior', 'dollarinferior', 'periodinferior', 'commainferior', 'Agravesmall', 'Aacutesmall', 'Acircumflexsmall', 'Atildesmall', 'Adieresissmall', 'Aringsmall', 'AEsmall', 'Ccedillasmall', 'Egravesmall', 'Eacutesmall', 'Ecircumflexsmall', 'Edieresissmall', 'Igravesmall', 'Iacutesmall', 'Icircumflexsmall', 'Idieresissmall', 'Ethsmall', 'Ntildesmall', 'Ogravesmall', 'Oacutesmall', 'Ocircumflexsmall', 'Otildesmall', 'Odieresissmall', 'OEsmall', 'Oslashsmall', 'Ugravesmall', 'Uacutesmall', 'Ucircumflexsmall', 'Udieresissmall', 'Yacutesmall', 'Thornsmall', 'Ydieresissmall'];\nvar MacExpertEncoding = ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'space', 'exclamsmall', 'Hungarumlautsmall', 'centoldstyle', 'dollaroldstyle', 'dollarsuperior', 'ampersandsmall', 'Acutesmall', 'parenleftsuperior', 'parenrightsuperior', 'twodotenleader', 'onedotenleader', 'comma', 'hyphen', 'period', 'fraction', 'zerooldstyle', 'oneoldstyle', 'twooldstyle', 'threeoldstyle', 'fouroldstyle', 'fiveoldstyle', 'sixoldstyle', 'sevenoldstyle', 'eightoldstyle', 'nineoldstyle', 'colon', 'semicolon', '', 'threequartersemdash', '', 'questionsmall', '', '', '', '', 'Ethsmall', '', '', 'onequarter', 'onehalf', 'threequarters', 'oneeighth', 'threeeighths', 'fiveeighths', 'seveneighths', 'onethird', 'twothirds', '', '', '', '', '', '', 'ff', 'fi', 'fl', 'ffi', 'ffl', 'parenleftinferior', '', 'parenrightinferior', 'Circumflexsmall', 'hypheninferior', 'Gravesmall', 'Asmall', 'Bsmall', 'Csmall', 'Dsmall', 'Esmall', 'Fsmall', 'Gsmall', 'Hsmall', 'Ismall', 'Jsmall', 'Ksmall', 'Lsmall', 'Msmall', 'Nsmall', 'Osmall', 'Psmall', 'Qsmall', 'Rsmall', 'Ssmall', 'Tsmall', 'Usmall', 'Vsmall', 'Wsmall', 'Xsmall', 'Ysmall', 'Zsmall', 'colonmonetary', 'onefitted', 'rupiah', 'Tildesmall', '', '', 'asuperior', 'centsuperior', '', '', '', '', 'Aacutesmall', 'Agravesmall', 'Acircumflexsmall', 'Adieresissmall', 'Atildesmall', 'Aringsmall', 'Ccedillasmall', 'Eacutesmall', 'Egravesmall', 'Ecircumflexsmall', 'Edieresissmall', 'Iacutesmall', 'Igravesmall', 'Icircumflexsmall', 'Idieresissmall', 'Ntildesmall', 'Oacutesmall', 'Ogravesmall', 'Ocircumflexsmall', 'Odieresissmall', 'Otildesmall', 'Uacutesmall', 'Ugravesmall', 'Ucircumflexsmall', 'Udieresissmall', '', 'eightsuperior', 'fourinferior', 'threeinferior', 'sixinferior', 'eightinferior', 'seveninferior', 'Scaronsmall', '', 'centinferior', 'twoinferior', '', 'Dieresissmall', '', 'Caronsmall', 'osuperior', 'fiveinferior', '', 'commainferior', 'periodinferior', 'Yacutesmall', '', 'dollarinferior', '', 'Thornsmall', '', 'nineinferior', 'zeroinferior', 'Zcaronsmall', 'AEsmall', 'Oslashsmall', 'questiondownsmall', 'oneinferior', 'Lslashsmall', '', '', '', '', '', '', 'Cedillasmall', '', '', '', '', '', 'OEsmall', 'figuredash', 'hyphensuperior', '', '', '', '', 'exclamdownsmall', '', 'Ydieresissmall', '', 'onesuperior', 'twosuperior', 'threesuperior', 'foursuperior', 'fivesuperior', 'sixsuperior', 'sevensuperior', 'ninesuperior', 'zerosuperior', '', 'esuperior', 'rsuperior', 'tsuperior', '', '', 'isuperior', 'ssuperior', 'dsuperior', '', '', '', '', '', 'lsuperior', 'Ogoneksmall', 'Brevesmall', 'Macronsmall', 'bsuperior', 'nsuperior', 'msuperior', 'commasuperior', 'periodsuperior', 'Dotaccentsmall', 'Ringsmall'];\nvar MacRomanEncoding = ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'space', 'exclam', 'quotedbl', 'numbersign', 'dollar', 'percent', 'ampersand', 'quotesingle', 'parenleft', 'parenright', 'asterisk', 'plus', 'comma', 'hyphen', 'period', 'slash', 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'colon', 'semicolon', 'less', 'equal', 'greater', 'question', 'at', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'bracketleft', 'backslash', 'bracketright', 'asciicircum', 'underscore', 'grave', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'braceleft', 'bar', 'braceright', 'asciitilde', '', 'Adieresis', 'Aring', 'Ccedilla', 'Eacute', 'Ntilde', 'Odieresis', 'Udieresis', 'aacute', 'agrave', 'acircumflex', 'adieresis', 'atilde', 'aring', 'ccedilla', 'eacute', 'egrave', 'ecircumflex', 'edieresis', 'iacute', 'igrave', 'icircumflex', 'idieresis', 'ntilde', 'oacute', 'ograve', 'ocircumflex', 'odieresis', 'otilde', 'uacute', 'ugrave', 'ucircumflex', 'udieresis', 'dagger', 'degree', 'cent', 'sterling', 'section', 'bullet', 'paragraph', 'germandbls', 'registered', 'copyright', 'trademark', 'acute', 'dieresis', 'notequal', 'AE', 'Oslash', 'infinity', 'plusminus', 'lessequal', 'greaterequal', 'yen', 'mu', 'partialdiff', 'summation', 'product', 'pi', 'integral', 'ordfeminine', 'ordmasculine', 'Omega', 'ae', 'oslash', 'questiondown', 'exclamdown', 'logicalnot', 'radical', 'florin', 'approxequal', 'Delta', 'guillemotleft', 'guillemotright', 'ellipsis', 'space', 'Agrave', 'Atilde', 'Otilde', 'OE', 'oe', 'endash', 'emdash', 'quotedblleft', 'quotedblright', 'quoteleft', 'quoteright', 'divide', 'lozenge', 'ydieresis', 'Ydieresis', 'fraction', 'currency', 'guilsinglleft', 'guilsinglright', 'fi', 'fl', 'daggerdbl', 'periodcentered', 'quotesinglbase', 'quotedblbase', 'perthousand', 'Acircumflex', 'Ecircumflex', 'Aacute', 'Edieresis', 'Egrave', 'Iacute', 'Icircumflex', 'Idieresis', 'Igrave', 'Oacute', 'Ocircumflex', 'apple', 'Ograve', 'Uacute', 'Ucircumflex', 'Ugrave', 'dotlessi', 'circumflex', 'tilde', 'macron', 'breve', 'dotaccent', 'ring', 'cedilla', 'hungarumlaut', 'ogonek', 'caron'];\nvar StandardEncoding = ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'space', 'exclam', 'quotedbl', 'numbersign', 'dollar', 'percent', 'ampersand', 'quoteright', 'parenleft', 'parenright', 'asterisk', 'plus', 'comma', 'hyphen', 'period', 'slash', 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'colon', 'semicolon', 'less', 'equal', 'greater', 'question', 'at', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'bracketleft', 'backslash', 'bracketright', 'asciicircum', 'underscore', 'quoteleft', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'braceleft', 'bar', 'braceright', 'asciitilde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'exclamdown', 'cent', 'sterling', 'fraction', 'yen', 'florin', 'section', 'currency', 'quotesingle', 'quotedblleft', 'guillemotleft', 'guilsinglleft', 'guilsinglright', 'fi', 'fl', '', 'endash', 'dagger', 'daggerdbl', 'periodcentered', '', 'paragraph', 'bullet', 'quotesinglbase', 'quotedblbase', 'quotedblright', 'guillemotright', 'ellipsis', 'perthousand', '', 'questiondown', '', 'grave', 'acute', 'circumflex', 'tilde', 'macron', 'breve', 'dotaccent', 'dieresis', '', 'ring', 'cedilla', '', 'hungarumlaut', 'ogonek', 'caron', 'emdash', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'AE', '', 'ordfeminine', '', '', '', '', 'Lslash', 'Oslash', 'OE', 'ordmasculine', '', '', '', '', '', 'ae', '', '', '', 'dotlessi', '', '', 'lslash', 'oslash', 'oe', 'germandbls'];\nvar WinAnsiEncoding = ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'space', 'exclam', 'quotedbl', 'numbersign', 'dollar', 'percent', 'ampersand', 'quotesingle', 'parenleft', 'parenright', 'asterisk', 'plus', 'comma', 'hyphen', 'period', 'slash', 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'colon', 'semicolon', 'less', 'equal', 'greater', 'question', 'at', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'bracketleft', 'backslash', 'bracketright', 'asciicircum', 'underscore', 'grave', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'braceleft', 'bar', 'braceright', 'asciitilde', 'bullet', 'Euro', 'bullet', 'quotesinglbase', 'florin', 'quotedblbase', 'ellipsis', 'dagger', 'daggerdbl', 'circumflex', 'perthousand', 'Scaron', 'guilsinglleft', 'OE', 'bullet', 'Zcaron', 'bullet', 'bullet', 'quoteleft', 'quoteright', 'quotedblleft', 'quotedblright', 'bullet', 'endash', 'emdash', 'tilde', 'trademark', 'scaron', 'guilsinglright', 'oe', 'bullet', 'zcaron', 'Ydieresis', 'space', 'exclamdown', 'cent', 'sterling', 'currency', 'yen', 'brokenbar', 'section', 'dieresis', 'copyright', 'ordfeminine', 'guillemotleft', 'logicalnot', 'hyphen', 'registered', 'macron', 'degree', 'plusminus', 'twosuperior', 'threesuperior', 'acute', 'mu', 'paragraph', 'periodcentered', 'cedilla', 'onesuperior', 'ordmasculine', 'guillemotright', 'onequarter', 'onehalf', 'threequarters', 'questiondown', 'Agrave', 'Aacute', 'Acircumflex', 'Atilde', 'Adieresis', 'Aring', 'AE', 'Ccedilla', 'Egrave', 'Eacute', 'Ecircumflex', 'Edieresis', 'Igrave', 'Iacute', 'Icircumflex', 'Idieresis', 'Eth', 'Ntilde', 'Ograve', 'Oacute', 'Ocircumflex', 'Otilde', 'Odieresis', 'multiply', 'Oslash', 'Ugrave', 'Uacute', 'Ucircumflex', 'Udieresis', 'Yacute', 'Thorn', 'germandbls', 'agrave', 'aacute', 'acircumflex', 'atilde', 'adieresis', 'aring', 'ae', 'ccedilla', 'egrave', 'eacute', 'ecircumflex', 'edieresis', 'igrave', 'iacute', 'icircumflex', 'idieresis', 'eth', 'ntilde', 'ograve', 'oacute', 'ocircumflex', 'otilde', 'odieresis', 'divide', 'oslash', 'ugrave', 'uacute', 'ucircumflex', 'udieresis', 'yacute', 'thorn', 'ydieresis'];\nvar SymbolSetEncoding = ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'space', 'exclam', 'universal', 'numbersign', 'existential', 'percent', 'ampersand', 'suchthat', 'parenleft', 'parenright', 'asteriskmath', 'plus', 'comma', 'minus', 'period', 'slash', 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'colon', 'semicolon', 'less', 'equal', 'greater', 'question', 'congruent', 'Alpha', 'Beta', 'Chi', 'Delta', 'Epsilon', 'Phi', 'Gamma', 'Eta', 'Iota', 'theta1', 'Kappa', 'Lambda', 'Mu', 'Nu', 'Omicron', 'Pi', 'Theta', 'Rho', 'Sigma', 'Tau', 'Upsilon', 'sigma1', 'Omega', 'Xi', 'Psi', 'Zeta', 'bracketleft', 'therefore', 'bracketright', 'perpendicular', 'underscore', 'radicalex', 'alpha', 'beta', 'chi', 'delta', 'epsilon', 'phi', 'gamma', 'eta', 'iota', 'phi1', 'kappa', 'lambda', 'mu', 'nu', 'omicron', 'pi', 'theta', 'rho', 'sigma', 'tau', 'upsilon', 'omega1', 'omega', 'xi', 'psi', 'zeta', 'braceleft', 'bar', 'braceright', 'similar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'Euro', 'Upsilon1', 'minute', 'lessequal', 'fraction', 'infinity', 'florin', 'club', 'diamond', 'heart', 'spade', 'arrowboth', 'arrowleft', 'arrowup', 'arrowright', 'arrowdown', 'degree', 'plusminus', 'second', 'greaterequal', 'multiply', 'proportional', 'partialdiff', 'bullet', 'divide', 'notequal', 'equivalence', 'approxequal', 'ellipsis', 'arrowvertex', 'arrowhorizex', 'carriagereturn', 'aleph', 'Ifraktur', 'Rfraktur', 'weierstrass', 'circlemultiply', 'circleplus', 'emptyset', 'intersection', 'union', 'propersuperset', 'reflexsuperset', 'notsubset', 'propersubset', 'reflexsubset', 'element', 'notelement', 'angle', 'gradient', 'registerserif', 'copyrightserif', 'trademarkserif', 'product', 'radical', 'dotmath', 'logicalnot', 'logicaland', 'logicalor', 'arrowdblboth', 'arrowdblleft', 'arrowdblup', 'arrowdblright', 'arrowdbldown', 'lozenge', 'angleleft', 'registersans', 'copyrightsans', 'trademarksans', 'summation', 'parenlefttp', 'parenleftex', 'parenleftbt', 'bracketlefttp', 'bracketleftex', 'bracketleftbt', 'bracelefttp', 'braceleftmid', 'braceleftbt', 'braceex', '', 'angleright', 'integral', 'integraltp', 'integralex', 'integralbt', 'parenrighttp', 'parenrightex', 'parenrightbt', 'bracketrighttp', 'bracketrightex', 'bracketrightbt', 'bracerighttp', 'bracerightmid', 'bracerightbt'];\nvar ZapfDingbatsEncoding = ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'space', 'a1', 'a2', 'a202', 'a3', 'a4', 'a5', 'a119', 'a118', 'a117', 'a11', 'a12', 'a13', 'a14', 'a15', 'a16', 'a105', 'a17', 'a18', 'a19', 'a20', 'a21', 'a22', 'a23', 'a24', 'a25', 'a26', 'a27', 'a28', 'a6', 'a7', 'a8', 'a9', 'a10', 'a29', 'a30', 'a31', 'a32', 'a33', 'a34', 'a35', 'a36', 'a37', 'a38', 'a39', 'a40', 'a41', 'a42', 'a43', 'a44', 'a45', 'a46', 'a47', 'a48', 'a49', 'a50', 'a51', 'a52', 'a53', 'a54', 'a55', 'a56', 'a57', 'a58', 'a59', 'a60', 'a61', 'a62', 'a63', 'a64', 'a65', 'a66', 'a67', 'a68', 'a69', 'a70', 'a71', 'a72', 'a73', 'a74', 'a203', 'a75', 'a204', 'a76', 'a77', 'a78', 'a79', 'a81', 'a82', 'a83', 'a84', 'a97', 'a98', 'a99', 'a100', '', 'a89', 'a90', 'a93', 'a94', 'a91', 'a92', 'a205', 'a85', 'a206', 'a86', 'a87', 'a88', 'a95', 'a96', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'a101', 'a102', 'a103', 'a104', 'a106', 'a107', 'a108', 'a112', 'a111', 'a110', 'a109', 'a120', 'a121', 'a122', 'a123', 'a124', 'a125', 'a126', 'a127', 'a128', 'a129', 'a130', 'a131', 'a132', 'a133', 'a134', 'a135', 'a136', 'a137', 'a138', 'a139', 'a140', 'a141', 'a142', 'a143', 'a144', 'a145', 'a146', 'a147', 'a148', 'a149', 'a150', 'a151', 'a152', 'a153', 'a154', 'a155', 'a156', 'a157', 'a158', 'a159', 'a160', 'a161', 'a163', 'a164', 'a196', 'a165', 'a192', 'a166', 'a167', 'a168', 'a169', 'a170', 'a171', 'a172', 'a173', 'a162', 'a174', 'a175', 'a176', 'a177', 'a178', 'a179', 'a193', 'a180', 'a199', 'a181', 'a200', 'a182', '', 'a201', 'a183', 'a184', 'a197', 'a185', 'a194', 'a198', 'a186', 'a195', 'a187', 'a188', 'a189', 'a190', 'a191'];\nfunction getEncoding(encodingName) {\n  switch (encodingName) {\n    case 'WinAnsiEncoding':\n      return WinAnsiEncoding;\n    case 'StandardEncoding':\n      return StandardEncoding;\n    case 'MacRomanEncoding':\n      return MacRomanEncoding;\n    case 'SymbolSetEncoding':\n      return SymbolSetEncoding;\n    case 'ZapfDingbatsEncoding':\n      return ZapfDingbatsEncoding;\n    case 'ExpertEncoding':\n      return ExpertEncoding;\n    case 'MacExpertEncoding':\n      return MacExpertEncoding;\n    default:\n      return null;\n  }\n}\nexports.WinAnsiEncoding = WinAnsiEncoding;\nexports.StandardEncoding = StandardEncoding;\nexports.MacRomanEncoding = MacRomanEncoding;\nexports.SymbolSetEncoding = SymbolSetEncoding;\nexports.ZapfDingbatsEncoding = ZapfDingbatsEncoding;\nexports.ExpertEncoding = ExpertEncoding;\nexports.getEncoding = getEncoding;\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar IObject = __w_pdfjs_require__(39);\nvar defined = __w_pdfjs_require__(40);\nmodule.exports = function (it) {\n  return IObject(defined(it));\n};\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toInteger = __w_pdfjs_require__(19);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar cof = __w_pdfjs_require__(27);\nvar TAG = __w_pdfjs_require__(4)('toStringTag');\nvar ARG = cof(function () {\n  return arguments;\n}()) == 'Arguments';\nvar tryGet = function tryGet(it, key) {\n  try {\n    return it[key];\n  } catch (e) {}\n};\nmodule.exports = function (it) {\n  var O, T, B;\n  return it === undefined ? 'Undefined' : it === null ? 'Null' : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T : ARG ? cof(O) : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ctx = __w_pdfjs_require__(13);\nvar call = __w_pdfjs_require__(114);\nvar isArrayIter = __w_pdfjs_require__(59);\nvar anObject = __w_pdfjs_require__(9);\nvar toLength = __w_pdfjs_require__(14);\nvar getIterFn = __w_pdfjs_require__(63);\nvar BREAK = {};\nvar RETURN = {};\nvar _exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n  var iterFn = ITERATOR ? function () {\n    return iterable;\n  } : getIterFn(iterable);\n  var f = ctx(fn, that, entries ? 2 : 1);\n  var index = 0;\n  var length, step, iterator, result;\n  if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n  if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n    result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n    if (result === BREAK || result === RETURN) return result;\n  } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n    result = call(iterator, f, step.value, entries);\n    if (result === BREAK || result === RETURN) return result;\n  }\n};\n_exports.BREAK = BREAK;\n_exports.RETURN = RETURN;\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.Parser = exports.Linearization = exports.Lexer = undefined;\n\nvar _stream = __w_pdfjs_require__(5);\n\nvar _util = __w_pdfjs_require__(0);\n\nvar _primitives = __w_pdfjs_require__(2);\n\nvar _ccitt_stream = __w_pdfjs_require__(144);\n\nvar _jbig2_stream = __w_pdfjs_require__(146);\n\nvar MAX_LENGTH_TO_CACHE = 1000;\nvar Parser = function ParserClosure() {\n  function Parser(lexer, allowStreams, xref, recoveryMode) {\n    this.lexer = lexer;\n    this.allowStreams = allowStreams;\n    this.xref = xref;\n    this.recoveryMode = recoveryMode || false;\n    this.imageCache = Object.create(null);\n    this.refill();\n  }\n  Parser.prototype = {\n    refill: function Parser_refill() {\n      this.buf1 = this.lexer.getObj();\n      this.buf2 = this.lexer.getObj();\n    },\n    shift: function Parser_shift() {\n      if ((0, _primitives.isCmd)(this.buf2, 'ID')) {\n        this.buf1 = this.buf2;\n        this.buf2 = null;\n      } else {\n        this.buf1 = this.buf2;\n        this.buf2 = this.lexer.getObj();\n      }\n    },\n    tryShift: function Parser_tryShift() {\n      try {\n        this.shift();\n        return true;\n      } catch (e) {\n        if (e instanceof _util.MissingDataException) {\n          throw e;\n        }\n        return false;\n      }\n    },\n    getObj: function Parser_getObj(cipherTransform) {\n      var buf1 = this.buf1;\n      this.shift();\n      if (buf1 instanceof _primitives.Cmd) {\n        switch (buf1.cmd) {\n          case 'BI':\n            return this.makeInlineImage(cipherTransform);\n          case '[':\n            var array = [];\n            while (!(0, _primitives.isCmd)(this.buf1, ']') && !(0, _primitives.isEOF)(this.buf1)) {\n              array.push(this.getObj(cipherTransform));\n            }\n            if ((0, _primitives.isEOF)(this.buf1)) {\n              if (!this.recoveryMode) {\n                throw new _util.FormatError('End of file inside array');\n              }\n              return array;\n            }\n            this.shift();\n            return array;\n          case '<<':\n            var dict = new _primitives.Dict(this.xref);\n            while (!(0, _primitives.isCmd)(this.buf1, '>>') && !(0, _primitives.isEOF)(this.buf1)) {\n              if (!(0, _primitives.isName)(this.buf1)) {\n                (0, _util.info)('Malformed dictionary: key must be a name object');\n                this.shift();\n                continue;\n              }\n              var key = this.buf1.name;\n              this.shift();\n              if ((0, _primitives.isEOF)(this.buf1)) {\n                break;\n              }\n              dict.set(key, this.getObj(cipherTransform));\n            }\n            if ((0, _primitives.isEOF)(this.buf1)) {\n              if (!this.recoveryMode) {\n                throw new _util.FormatError('End of file inside dictionary');\n              }\n              return dict;\n            }\n            if ((0, _primitives.isCmd)(this.buf2, 'stream')) {\n              return this.allowStreams ? this.makeStream(dict, cipherTransform) : dict;\n            }\n            this.shift();\n            return dict;\n          default:\n            return buf1;\n        }\n      }\n      if (Number.isInteger(buf1)) {\n        var num = buf1;\n        if (Number.isInteger(this.buf1) && (0, _primitives.isCmd)(this.buf2, 'R')) {\n          var ref = new _primitives.Ref(num, this.buf1);\n          this.shift();\n          this.shift();\n          return ref;\n        }\n        return num;\n      }\n      if ((0, _util.isString)(buf1)) {\n        var str = buf1;\n        if (cipherTransform) {\n          str = cipherTransform.decryptString(str);\n        }\n        return str;\n      }\n      return buf1;\n    },\n    findDefaultInlineStreamEnd: function findDefaultInlineStreamEnd(stream) {\n      var E = 0x45,\n          I = 0x49,\n          SPACE = 0x20,\n          LF = 0xA,\n          CR = 0xD;\n      var n = 10,\n          NUL = 0x0;\n      var startPos = stream.pos,\n          state = 0,\n          ch = void 0,\n          maybeEIPos = void 0;\n      while ((ch = stream.getByte()) !== -1) {\n        if (state === 0) {\n          state = ch === E ? 1 : 0;\n        } else if (state === 1) {\n          state = ch === I ? 2 : 0;\n        } else {\n          (0, _util.assert)(state === 2);\n          if (ch === SPACE || ch === LF || ch === CR) {\n            maybeEIPos = stream.pos;\n            var followingBytes = stream.peekBytes(n);\n            for (var i = 0, ii = followingBytes.length; i < ii; i++) {\n              ch = followingBytes[i];\n              if (ch === NUL && followingBytes[i + 1] !== NUL) {\n                continue;\n              }\n              if (ch !== LF && ch !== CR && (ch < SPACE || ch > 0x7F)) {\n                state = 0;\n                break;\n              }\n            }\n            if (state === 2) {\n              break;\n            }\n          } else {\n            state = 0;\n          }\n        }\n      }\n      if (ch === -1) {\n        (0, _util.warn)('findDefaultInlineStreamEnd: ' + 'Reached the end of the stream without finding a valid EI marker');\n        if (maybeEIPos) {\n          (0, _util.warn)('... trying to recover by using the last \"EI\" occurrence.');\n          stream.skip(-(stream.pos - maybeEIPos));\n        }\n      }\n      return stream.pos - 4 - startPos;\n    },\n\n    findDCTDecodeInlineStreamEnd: function Parser_findDCTDecodeInlineStreamEnd(stream) {\n      var startPos = stream.pos,\n          foundEOI = false,\n          b,\n          markerLength,\n          length;\n      while ((b = stream.getByte()) !== -1) {\n        if (b !== 0xFF) {\n          continue;\n        }\n        switch (stream.getByte()) {\n          case 0x00:\n            break;\n          case 0xFF:\n            stream.skip(-1);\n            break;\n          case 0xD9:\n            foundEOI = true;\n            break;\n          case 0xC0:\n          case 0xC1:\n          case 0xC2:\n          case 0xC3:\n          case 0xC5:\n          case 0xC6:\n          case 0xC7:\n          case 0xC9:\n          case 0xCA:\n          case 0xCB:\n          case 0xCD:\n          case 0xCE:\n          case 0xCF:\n          case 0xC4:\n          case 0xCC:\n          case 0xDA:\n          case 0xDB:\n          case 0xDC:\n          case 0xDD:\n          case 0xDE:\n          case 0xDF:\n          case 0xE0:\n          case 0xE1:\n          case 0xE2:\n          case 0xE3:\n          case 0xE4:\n          case 0xE5:\n          case 0xE6:\n          case 0xE7:\n          case 0xE8:\n          case 0xE9:\n          case 0xEA:\n          case 0xEB:\n          case 0xEC:\n          case 0xED:\n          case 0xEE:\n          case 0xEF:\n          case 0xFE:\n            markerLength = stream.getUint16();\n            if (markerLength > 2) {\n              stream.skip(markerLength - 2);\n            } else {\n              stream.skip(-2);\n            }\n            break;\n        }\n        if (foundEOI) {\n          break;\n        }\n      }\n      length = stream.pos - startPos;\n      if (b === -1) {\n        (0, _util.warn)('Inline DCTDecode image stream: ' + 'EOI marker not found, searching for /EI/ instead.');\n        stream.skip(-length);\n        return this.findDefaultInlineStreamEnd(stream);\n      }\n      this.inlineStreamSkipEI(stream);\n      return length;\n    },\n    findASCII85DecodeInlineStreamEnd: function Parser_findASCII85DecodeInlineStreamEnd(stream) {\n      var TILDE = 0x7E,\n          GT = 0x3E;\n      var startPos = stream.pos,\n          ch,\n          length;\n      while ((ch = stream.getByte()) !== -1) {\n        if (ch === TILDE && stream.peekByte() === GT) {\n          stream.skip();\n          break;\n        }\n      }\n      length = stream.pos - startPos;\n      if (ch === -1) {\n        (0, _util.warn)('Inline ASCII85Decode image stream: ' + 'EOD marker not found, searching for /EI/ instead.');\n        stream.skip(-length);\n        return this.findDefaultInlineStreamEnd(stream);\n      }\n      this.inlineStreamSkipEI(stream);\n      return length;\n    },\n    findASCIIHexDecodeInlineStreamEnd: function Parser_findASCIIHexDecodeInlineStreamEnd(stream) {\n      var GT = 0x3E;\n      var startPos = stream.pos,\n          ch,\n          length;\n      while ((ch = stream.getByte()) !== -1) {\n        if (ch === GT) {\n          break;\n        }\n      }\n      length = stream.pos - startPos;\n      if (ch === -1) {\n        (0, _util.warn)('Inline ASCIIHexDecode image stream: ' + 'EOD marker not found, searching for /EI/ instead.');\n        stream.skip(-length);\n        return this.findDefaultInlineStreamEnd(stream);\n      }\n      this.inlineStreamSkipEI(stream);\n      return length;\n    },\n    inlineStreamSkipEI: function Parser_inlineStreamSkipEI(stream) {\n      var E = 0x45,\n          I = 0x49;\n      var state = 0,\n          ch;\n      while ((ch = stream.getByte()) !== -1) {\n        if (state === 0) {\n          state = ch === E ? 1 : 0;\n        } else if (state === 1) {\n          state = ch === I ? 2 : 0;\n        } else if (state === 2) {\n          break;\n        }\n      }\n    },\n    makeInlineImage: function Parser_makeInlineImage(cipherTransform) {\n      var lexer = this.lexer;\n      var stream = lexer.stream;\n      var dict = new _primitives.Dict(this.xref);\n      while (!(0, _primitives.isCmd)(this.buf1, 'ID') && !(0, _primitives.isEOF)(this.buf1)) {\n        if (!(0, _primitives.isName)(this.buf1)) {\n          throw new _util.FormatError('Dictionary key must be a name object');\n        }\n        var key = this.buf1.name;\n        this.shift();\n        if ((0, _primitives.isEOF)(this.buf1)) {\n          break;\n        }\n        dict.set(key, this.getObj(cipherTransform));\n      }\n      var filter = dict.get('Filter', 'F'),\n          filterName;\n      if ((0, _primitives.isName)(filter)) {\n        filterName = filter.name;\n      } else if (Array.isArray(filter)) {\n        var filterZero = this.xref.fetchIfRef(filter[0]);\n        if ((0, _primitives.isName)(filterZero)) {\n          filterName = filterZero.name;\n        }\n      }\n      var startPos = stream.pos,\n          length,\n          i,\n          ii;\n      if (filterName === 'DCTDecode' || filterName === 'DCT') {\n        length = this.findDCTDecodeInlineStreamEnd(stream);\n      } else if (filterName === 'ASCII85Decode' || filterName === 'A85') {\n        length = this.findASCII85DecodeInlineStreamEnd(stream);\n      } else if (filterName === 'ASCIIHexDecode' || filterName === 'AHx') {\n        length = this.findASCIIHexDecodeInlineStreamEnd(stream);\n      } else {\n        length = this.findDefaultInlineStreamEnd(stream);\n      }\n      var imageStream = stream.makeSubStream(startPos, length, dict);\n      var adler32;\n      if (length < MAX_LENGTH_TO_CACHE) {\n        var imageBytes = imageStream.getBytes();\n        imageStream.reset();\n        var a = 1;\n        var b = 0;\n        for (i = 0, ii = imageBytes.length; i < ii; ++i) {\n          a += imageBytes[i] & 0xff;\n          b += a;\n        }\n        adler32 = b % 65521 << 16 | a % 65521;\n        var cacheEntry = this.imageCache[adler32];\n        if (cacheEntry !== undefined) {\n          this.buf2 = _primitives.Cmd.get('EI');\n          this.shift();\n          cacheEntry.reset();\n          return cacheEntry;\n        }\n      }\n      if (cipherTransform) {\n        imageStream = cipherTransform.createStream(imageStream, length);\n      }\n      imageStream = this.filter(imageStream, dict, length);\n      imageStream.dict = dict;\n      if (adler32 !== undefined) {\n        imageStream.cacheKey = 'inline_' + length + '_' + adler32;\n        this.imageCache[adler32] = imageStream;\n      }\n      this.buf2 = _primitives.Cmd.get('EI');\n      this.shift();\n      return imageStream;\n    },\n    makeStream: function Parser_makeStream(dict, cipherTransform) {\n      var lexer = this.lexer;\n      var stream = lexer.stream;\n      lexer.skipToNextLine();\n      var pos = stream.pos - 1;\n      var length = dict.get('Length');\n      if (!Number.isInteger(length)) {\n        (0, _util.info)('Bad ' + length + ' attribute in stream');\n        length = 0;\n      }\n      stream.pos = pos + length;\n      lexer.nextChar();\n      if (this.tryShift() && (0, _primitives.isCmd)(this.buf2, 'endstream')) {\n        this.shift();\n      } else {\n        stream.pos = pos;\n        var SCAN_BLOCK_SIZE = 2048;\n        var ENDSTREAM_SIGNATURE_LENGTH = 9;\n        var ENDSTREAM_SIGNATURE = [0x65, 0x6E, 0x64, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6D];\n        var skipped = 0,\n            found = false,\n            i,\n            j;\n        while (stream.pos < stream.end) {\n          var scanBytes = stream.peekBytes(SCAN_BLOCK_SIZE);\n          var scanLength = scanBytes.length - ENDSTREAM_SIGNATURE_LENGTH;\n          if (scanLength <= 0) {\n            break;\n          }\n          found = false;\n          i = 0;\n          while (i < scanLength) {\n            j = 0;\n            while (j < ENDSTREAM_SIGNATURE_LENGTH && scanBytes[i + j] === ENDSTREAM_SIGNATURE[j]) {\n              j++;\n            }\n            if (j >= ENDSTREAM_SIGNATURE_LENGTH) {\n              found = true;\n              break;\n            }\n            i++;\n          }\n          if (found) {\n            skipped += i;\n            stream.pos += i;\n            break;\n          }\n          skipped += scanLength;\n          stream.pos += scanLength;\n        }\n        if (!found) {\n          throw new _util.FormatError('Missing endstream');\n        }\n        length = skipped;\n        lexer.nextChar();\n        this.shift();\n        this.shift();\n      }\n      this.shift();\n      stream = stream.makeSubStream(pos, length, dict);\n      if (cipherTransform) {\n        stream = cipherTransform.createStream(stream, length);\n      }\n      stream = this.filter(stream, dict, length);\n      stream.dict = dict;\n      return stream;\n    },\n    filter: function Parser_filter(stream, dict, length) {\n      var filter = dict.get('Filter', 'F');\n      var params = dict.get('DecodeParms', 'DP');\n      if ((0, _primitives.isName)(filter)) {\n        if (Array.isArray(params)) {\n          (0, _util.warn)('/DecodeParms should not contain an Array, ' + 'when /Filter contains a Name.');\n        }\n        return this.makeFilter(stream, filter.name, length, params);\n      }\n      var maybeLength = length;\n      if (Array.isArray(filter)) {\n        var filterArray = filter;\n        var paramsArray = params;\n        for (var i = 0, ii = filterArray.length; i < ii; ++i) {\n          filter = this.xref.fetchIfRef(filterArray[i]);\n          if (!(0, _primitives.isName)(filter)) {\n            throw new _util.FormatError('Bad filter name: ' + filter);\n          }\n          params = null;\n          if (Array.isArray(paramsArray) && i in paramsArray) {\n            params = this.xref.fetchIfRef(paramsArray[i]);\n          }\n          stream = this.makeFilter(stream, filter.name, maybeLength, params);\n          maybeLength = null;\n        }\n      }\n      return stream;\n    },\n    makeFilter: function Parser_makeFilter(stream, name, maybeLength, params) {\n      if (maybeLength === 0) {\n        (0, _util.warn)('Empty \"' + name + '\" stream.');\n        return new _stream.NullStream(stream);\n      }\n      try {\n        var xrefStreamStats = this.xref.stats.streamTypes;\n        if (name === 'FlateDecode' || name === 'Fl') {\n          xrefStreamStats[_util.StreamType.FLATE] = true;\n          if (params) {\n            return new _stream.PredictorStream(new _stream.FlateStream(stream, maybeLength), maybeLength, params);\n          }\n          return new _stream.FlateStream(stream, maybeLength);\n        }\n        if (name === 'LZWDecode' || name === 'LZW') {\n          xrefStreamStats[_util.StreamType.LZW] = true;\n          var earlyChange = 1;\n          if (params) {\n            if (params.has('EarlyChange')) {\n              earlyChange = params.get('EarlyChange');\n            }\n            return new _stream.PredictorStream(new _stream.LZWStream(stream, maybeLength, earlyChange), maybeLength, params);\n          }\n          return new _stream.LZWStream(stream, maybeLength, earlyChange);\n        }\n        if (name === 'DCTDecode' || name === 'DCT') {\n          xrefStreamStats[_util.StreamType.DCT] = true;\n          return new _stream.JpegStream(stream, maybeLength, stream.dict, params);\n        }\n        if (name === 'JPXDecode' || name === 'JPX') {\n          xrefStreamStats[_util.StreamType.JPX] = true;\n          return new _stream.JpxStream(stream, maybeLength, stream.dict, params);\n        }\n        if (name === 'ASCII85Decode' || name === 'A85') {\n          xrefStreamStats[_util.StreamType.A85] = true;\n          return new _stream.Ascii85Stream(stream, maybeLength);\n        }\n        if (name === 'ASCIIHexDecode' || name === 'AHx') {\n          xrefStreamStats[_util.StreamType.AHX] = true;\n          return new _stream.AsciiHexStream(stream, maybeLength);\n        }\n        if (name === 'CCITTFaxDecode' || name === 'CCF') {\n          xrefStreamStats[_util.StreamType.CCF] = true;\n          return new _ccitt_stream.CCITTFaxStream(stream, maybeLength, params);\n        }\n        if (name === 'RunLengthDecode' || name === 'RL') {\n          xrefStreamStats[_util.StreamType.RL] = true;\n          return new _stream.RunLengthStream(stream, maybeLength);\n        }\n        if (name === 'JBIG2Decode') {\n          xrefStreamStats[_util.StreamType.JBIG] = true;\n          return new _jbig2_stream.Jbig2Stream(stream, maybeLength, stream.dict, params);\n        }\n        (0, _util.warn)('filter \"' + name + '\" not supported yet');\n        return stream;\n      } catch (ex) {\n        if (ex instanceof _util.MissingDataException) {\n          throw ex;\n        }\n        (0, _util.warn)('Invalid stream: \\\"' + ex + '\\\"');\n        return new _stream.NullStream(stream);\n      }\n    }\n  };\n  return Parser;\n}();\nvar Lexer = function LexerClosure() {\n  function Lexer(stream, knownCommands) {\n    this.stream = stream;\n    this.nextChar();\n    this.strBuf = [];\n    this.knownCommands = knownCommands;\n  }\n  var specialChars = [1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 2, 0, 0, 2, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n  function toHexDigit(ch) {\n    if (ch >= 0x30 && ch <= 0x39) {\n      return ch & 0x0F;\n    }\n    if (ch >= 0x41 && ch <= 0x46 || ch >= 0x61 && ch <= 0x66) {\n      return (ch & 0x0F) + 9;\n    }\n    return -1;\n  }\n  Lexer.prototype = {\n    nextChar: function Lexer_nextChar() {\n      return this.currentChar = this.stream.getByte();\n    },\n    peekChar: function Lexer_peekChar() {\n      return this.stream.peekByte();\n    },\n    getNumber: function Lexer_getNumber() {\n      var ch = this.currentChar;\n      var eNotation = false;\n      var divideBy = 0;\n      var sign = 1;\n      if (ch === 0x2D) {\n        sign = -1;\n        ch = this.nextChar();\n        if (ch === 0x2D) {\n          ch = this.nextChar();\n        }\n      } else if (ch === 0x2B) {\n        ch = this.nextChar();\n      }\n      if (ch === 0x2E) {\n        divideBy = 10;\n        ch = this.nextChar();\n      }\n      if (ch === 0x0A || ch === 0x0D) {\n        do {\n          ch = this.nextChar();\n        } while (ch === 0x0A || ch === 0x0D);\n      }\n      if (ch < 0x30 || ch > 0x39) {\n        throw new _util.FormatError('Invalid number: ' + String.fromCharCode(ch) + ' (charCode ' + ch + ')');\n      }\n      var baseValue = ch - 0x30;\n      var powerValue = 0;\n      var powerValueSign = 1;\n      while ((ch = this.nextChar()) >= 0) {\n        if (0x30 <= ch && ch <= 0x39) {\n          var currentDigit = ch - 0x30;\n          if (eNotation) {\n            powerValue = powerValue * 10 + currentDigit;\n          } else {\n            if (divideBy !== 0) {\n              divideBy *= 10;\n            }\n            baseValue = baseValue * 10 + currentDigit;\n          }\n        } else if (ch === 0x2E) {\n          if (divideBy === 0) {\n            divideBy = 1;\n          } else {\n            break;\n          }\n        } else if (ch === 0x2D) {\n          (0, _util.warn)('Badly formatted number');\n        } else if (ch === 0x45 || ch === 0x65) {\n          ch = this.peekChar();\n          if (ch === 0x2B || ch === 0x2D) {\n            powerValueSign = ch === 0x2D ? -1 : 1;\n            this.nextChar();\n          } else if (ch < 0x30 || ch > 0x39) {\n            break;\n          }\n          eNotation = true;\n        } else {\n          break;\n        }\n      }\n      if (divideBy !== 0) {\n        baseValue /= divideBy;\n      }\n      if (eNotation) {\n        baseValue *= Math.pow(10, powerValueSign * powerValue);\n      }\n      return sign * baseValue;\n    },\n    getString: function Lexer_getString() {\n      var numParen = 1;\n      var done = false;\n      var strBuf = this.strBuf;\n      strBuf.length = 0;\n      var ch = this.nextChar();\n      while (true) {\n        var charBuffered = false;\n        switch (ch | 0) {\n          case -1:\n            (0, _util.warn)('Unterminated string');\n            done = true;\n            break;\n          case 0x28:\n            ++numParen;\n            strBuf.push('(');\n            break;\n          case 0x29:\n            if (--numParen === 0) {\n              this.nextChar();\n              done = true;\n            } else {\n              strBuf.push(')');\n            }\n            break;\n          case 0x5C:\n            ch = this.nextChar();\n            switch (ch) {\n              case -1:\n                (0, _util.warn)('Unterminated string');\n                done = true;\n                break;\n              case 0x6E:\n                strBuf.push('\\n');\n                break;\n              case 0x72:\n                strBuf.push('\\r');\n                break;\n              case 0x74:\n                strBuf.push('\\t');\n                break;\n              case 0x62:\n                strBuf.push('\\b');\n                break;\n              case 0x66:\n                strBuf.push('\\f');\n                break;\n              case 0x5C:\n              case 0x28:\n              case 0x29:\n                strBuf.push(String.fromCharCode(ch));\n                break;\n              case 0x30:\n              case 0x31:\n              case 0x32:\n              case 0x33:\n              case 0x34:\n              case 0x35:\n              case 0x36:\n              case 0x37:\n                var x = ch & 0x0F;\n                ch = this.nextChar();\n                charBuffered = true;\n                if (ch >= 0x30 && ch <= 0x37) {\n                  x = (x << 3) + (ch & 0x0F);\n                  ch = this.nextChar();\n                  if (ch >= 0x30 && ch <= 0x37) {\n                    charBuffered = false;\n                    x = (x << 3) + (ch & 0x0F);\n                  }\n                }\n                strBuf.push(String.fromCharCode(x));\n                break;\n              case 0x0D:\n                if (this.peekChar() === 0x0A) {\n                  this.nextChar();\n                }\n                break;\n              case 0x0A:\n                break;\n              default:\n                strBuf.push(String.fromCharCode(ch));\n                break;\n            }\n            break;\n          default:\n            strBuf.push(String.fromCharCode(ch));\n            break;\n        }\n        if (done) {\n          break;\n        }\n        if (!charBuffered) {\n          ch = this.nextChar();\n        }\n      }\n      return strBuf.join('');\n    },\n    getName: function Lexer_getName() {\n      var ch, previousCh;\n      var strBuf = this.strBuf;\n      strBuf.length = 0;\n      while ((ch = this.nextChar()) >= 0 && !specialChars[ch]) {\n        if (ch === 0x23) {\n          ch = this.nextChar();\n          if (specialChars[ch]) {\n            (0, _util.warn)('Lexer_getName: ' + 'NUMBER SIGN (#) should be followed by a hexadecimal number.');\n            strBuf.push('#');\n            break;\n          }\n          var x = toHexDigit(ch);\n          if (x !== -1) {\n            previousCh = ch;\n            ch = this.nextChar();\n            var x2 = toHexDigit(ch);\n            if (x2 === -1) {\n              (0, _util.warn)('Lexer_getName: Illegal digit (' + String.fromCharCode(ch) + ') in hexadecimal number.');\n              strBuf.push('#', String.fromCharCode(previousCh));\n              if (specialChars[ch]) {\n                break;\n              }\n              strBuf.push(String.fromCharCode(ch));\n              continue;\n            }\n            strBuf.push(String.fromCharCode(x << 4 | x2));\n          } else {\n            strBuf.push('#', String.fromCharCode(ch));\n          }\n        } else {\n          strBuf.push(String.fromCharCode(ch));\n        }\n      }\n      if (strBuf.length > 127) {\n        (0, _util.warn)('name token is longer than allowed by the spec: ' + strBuf.length);\n      }\n      return _primitives.Name.get(strBuf.join(''));\n    },\n    getHexString: function Lexer_getHexString() {\n      var strBuf = this.strBuf;\n      strBuf.length = 0;\n      var ch = this.currentChar;\n      var isFirstHex = true;\n      var firstDigit;\n      var secondDigit;\n      while (true) {\n        if (ch < 0) {\n          (0, _util.warn)('Unterminated hex string');\n          break;\n        } else if (ch === 0x3E) {\n          this.nextChar();\n          break;\n        } else if (specialChars[ch] === 1) {\n          ch = this.nextChar();\n          continue;\n        } else {\n          if (isFirstHex) {\n            firstDigit = toHexDigit(ch);\n            if (firstDigit === -1) {\n              (0, _util.warn)('Ignoring invalid character \"' + ch + '\" in hex string');\n              ch = this.nextChar();\n              continue;\n            }\n          } else {\n            secondDigit = toHexDigit(ch);\n            if (secondDigit === -1) {\n              (0, _util.warn)('Ignoring invalid character \"' + ch + '\" in hex string');\n              ch = this.nextChar();\n              continue;\n            }\n            strBuf.push(String.fromCharCode(firstDigit << 4 | secondDigit));\n          }\n          isFirstHex = !isFirstHex;\n          ch = this.nextChar();\n        }\n      }\n      return strBuf.join('');\n    },\n    getObj: function Lexer_getObj() {\n      var comment = false;\n      var ch = this.currentChar;\n      while (true) {\n        if (ch < 0) {\n          return _primitives.EOF;\n        }\n        if (comment) {\n          if (ch === 0x0A || ch === 0x0D) {\n            comment = false;\n          }\n        } else if (ch === 0x25) {\n          comment = true;\n        } else if (specialChars[ch] !== 1) {\n          break;\n        }\n        ch = this.nextChar();\n      }\n      switch (ch | 0) {\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n        case 0x2B:\n        case 0x2D:\n        case 0x2E:\n          return this.getNumber();\n        case 0x28:\n          return this.getString();\n        case 0x2F:\n          return this.getName();\n        case 0x5B:\n          this.nextChar();\n          return _primitives.Cmd.get('[');\n        case 0x5D:\n          this.nextChar();\n          return _primitives.Cmd.get(']');\n        case 0x3C:\n          ch = this.nextChar();\n          if (ch === 0x3C) {\n            this.nextChar();\n            return _primitives.Cmd.get('<<');\n          }\n          return this.getHexString();\n        case 0x3E:\n          ch = this.nextChar();\n          if (ch === 0x3E) {\n            this.nextChar();\n            return _primitives.Cmd.get('>>');\n          }\n          return _primitives.Cmd.get('>');\n        case 0x7B:\n          this.nextChar();\n          return _primitives.Cmd.get('{');\n        case 0x7D:\n          this.nextChar();\n          return _primitives.Cmd.get('}');\n        case 0x29:\n          this.nextChar();\n          throw new _util.FormatError('Illegal character: ' + ch);\n      }\n      var str = String.fromCharCode(ch);\n      var knownCommands = this.knownCommands;\n      var knownCommandFound = knownCommands && knownCommands[str] !== undefined;\n      while ((ch = this.nextChar()) >= 0 && !specialChars[ch]) {\n        var possibleCommand = str + String.fromCharCode(ch);\n        if (knownCommandFound && knownCommands[possibleCommand] === undefined) {\n          break;\n        }\n        if (str.length === 128) {\n          throw new _util.FormatError('Command token too long: ' + str.length);\n        }\n        str = possibleCommand;\n        knownCommandFound = knownCommands && knownCommands[str] !== undefined;\n      }\n      if (str === 'true') {\n        return true;\n      }\n      if (str === 'false') {\n        return false;\n      }\n      if (str === 'null') {\n        return null;\n      }\n      return _primitives.Cmd.get(str);\n    },\n    skipToNextLine: function Lexer_skipToNextLine() {\n      var ch = this.currentChar;\n      while (ch >= 0) {\n        if (ch === 0x0D) {\n          ch = this.nextChar();\n          if (ch === 0x0A) {\n            this.nextChar();\n          }\n          break;\n        } else if (ch === 0x0A) {\n          this.nextChar();\n          break;\n        }\n        ch = this.nextChar();\n      }\n    }\n  };\n  return Lexer;\n}();\nvar Linearization = {\n  create: function LinearizationCreate(stream) {\n    function getInt(name, allowZeroValue) {\n      var obj = linDict.get(name);\n      if (Number.isInteger(obj) && (allowZeroValue ? obj >= 0 : obj > 0)) {\n        return obj;\n      }\n      throw new Error('The \"' + name + '\" parameter in the linearization ' + 'dictionary is invalid.');\n    }\n    function getHints() {\n      var hints = linDict.get('H'),\n          hintsLength,\n          item;\n      if (Array.isArray(hints) && ((hintsLength = hints.length) === 2 || hintsLength === 4)) {\n        for (var index = 0; index < hintsLength; index++) {\n          if (!(Number.isInteger(item = hints[index]) && item > 0)) {\n            throw new Error('Hint (' + index + ') in the linearization dictionary is invalid.');\n          }\n        }\n        return hints;\n      }\n      throw new Error('Hint array in the linearization dictionary is invalid.');\n    }\n    var parser = new Parser(new Lexer(stream), false, null);\n    var obj1 = parser.getObj();\n    var obj2 = parser.getObj();\n    var obj3 = parser.getObj();\n    var linDict = parser.getObj();\n    var obj, length;\n    if (!(Number.isInteger(obj1) && Number.isInteger(obj2) && (0, _primitives.isCmd)(obj3, 'obj') && (0, _primitives.isDict)(linDict) && (0, _util.isNum)(obj = linDict.get('Linearized')) && obj > 0)) {\n      return null;\n    } else if ((length = getInt('L')) !== stream.length) {\n      throw new Error('The \"L\" parameter in the linearization dictionary ' + 'does not equal the stream length.');\n    }\n    return {\n      length: length,\n      hints: getHints(),\n      objectNumberFirst: getInt('O'),\n      endFirst: getInt('E'),\n      numPages: getInt('N'),\n      mainXRefEntriesOffset: getInt('T'),\n      pageFirst: linDict.has('P') ? getInt('P', true) : 0\n    };\n  }\n};\nexports.Lexer = Lexer;\nexports.Linearization = Linearization;\nexports.Parser = Parser;\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(3);\nvar document = __w_pdfjs_require__(1).document;\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(3);\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar cof = __w_pdfjs_require__(27);\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar shared = __w_pdfjs_require__(57)('keys');\nvar uid = __w_pdfjs_require__(18);\nmodule.exports = function (key) {\n  return shared[key] || (shared[key] = uid(key));\n};\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'.split(',');\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $keys = __w_pdfjs_require__(55);\nvar enumBugKeys = __w_pdfjs_require__(42);\nmodule.exports = Object.keys || function keys(O) {\n  return $keys(O, enumBugKeys);\n};\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ctx = __w_pdfjs_require__(13);\nvar IObject = __w_pdfjs_require__(39);\nvar toObject = __w_pdfjs_require__(20);\nvar toLength = __w_pdfjs_require__(14);\nvar asc = __w_pdfjs_require__(98);\nmodule.exports = function (TYPE, $create) {\n  var IS_MAP = TYPE == 1;\n  var IS_FILTER = TYPE == 2;\n  var IS_SOME = TYPE == 3;\n  var IS_EVERY = TYPE == 4;\n  var IS_FIND_INDEX = TYPE == 6;\n  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n  var create = $create || asc;\n  return function ($this, callbackfn, that) {\n    var O = toObject($this);\n    var self = IObject(O);\n    var f = ctx(callbackfn, that, 3);\n    var length = toLength(self.length);\n    var index = 0;\n    var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n    var val, res;\n    for (; length > index; index++) {\n      if (NO_HOLES || index in self) {\n        val = self[index];\n        res = f(val, index, O);\n        if (TYPE) {\n          if (IS_MAP) result[index] = res;else if (res) switch (TYPE) {\n            case 3:\n              return true;\n            case 5:\n              return val;\n            case 6:\n              return index;\n            case 2:\n              result.push(val);\n          } else if (IS_EVERY) return false;\n        }\n      }\n    }return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n  };\n};\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(9);\nvar aFunction = __w_pdfjs_require__(24);\nvar SPECIES = __w_pdfjs_require__(4)('species');\nmodule.exports = function (O, D) {\n  var C = anObject(O).constructor;\n  var S;\n  return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ITERATOR = __w_pdfjs_require__(4)('iterator');\nvar SAFE_CLOSING = false;\ntry {\n  var riter = [7][ITERATOR]();\n  riter['return'] = function () {\n    SAFE_CLOSING = true;\n  };\n  Array.from(riter, function () {\n    throw 2;\n  });\n} catch (e) {}\nmodule.exports = function (exec, skipClosing) {\n  if (!skipClosing && !SAFE_CLOSING) return false;\n  var safe = false;\n  try {\n    var arr = [7];\n    var iter = arr[ITERATOR]();\n    iter.next = function () {\n      return { done: safe = true };\n    };\n    arr[ITERATOR] = function () {\n      return iter;\n    };\n    exec(arr);\n  } catch (e) {}\n  return safe;\n};\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar aFunction = __w_pdfjs_require__(24);\nfunction PromiseCapability(C) {\n  var resolve, reject;\n  this.promise = new C(function ($$resolve, $$reject) {\n    if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n    resolve = $$resolve;\n    reject = $$reject;\n  });\n  this.resolve = aFunction(resolve);\n  this.reject = aFunction(reject);\n}\nmodule.exports.f = function (C) {\n  return new PromiseCapability(C);\n};\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\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 && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar META = __w_pdfjs_require__(18)('meta');\nvar isObject = __w_pdfjs_require__(3);\nvar has = __w_pdfjs_require__(12);\nvar setDesc = __w_pdfjs_require__(15).f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n  return true;\n};\nvar FREEZE = !__w_pdfjs_require__(11)(function () {\n  return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function setMeta(it) {\n  setDesc(it, META, {\n    value: {\n      i: 'O' + ++id,\n      w: {}\n    }\n  });\n};\nvar fastKey = function fastKey(it, create) {\n  if (!isObject(it)) return (typeof it === 'undefined' ? 'undefined' : _typeof(it)) == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n  if (!has(it, META)) {\n    if (!isExtensible(it)) return 'F';\n    if (!create) return 'E';\n    setMeta(it);\n  }\n  return it[META].i;\n};\nvar getWeak = function getWeak(it, create) {\n  if (!has(it, META)) {\n    if (!isExtensible(it)) return true;\n    if (!create) return false;\n    setMeta(it);\n  }\n  return it[META].w;\n};\nvar onFreeze = function onFreeze(it) {\n  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n  return it;\n};\nvar meta = module.exports = {\n  KEY: META,\n  NEED: false,\n  fastKey: fastKey,\n  getWeak: getWeak,\n  onFreeze: onFreeze\n};\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getLookupTableFactory = __w_pdfjs_require__(0).getLookupTableFactory;\nvar getGlyphsUnicode = getLookupTableFactory(function (t) {\n t['A'] = 0x0041;\n t['AE'] = 0x00C6;\n t['AEacute'] = 0x01FC;\n t['AEmacron'] = 0x01E2;\n t['AEsmall'] = 0xF7E6;\n t['Aacute'] = 0x00C1;\n t['Aacutesmall'] = 0xF7E1;\n t['Abreve'] = 0x0102;\n t['Abreveacute'] = 0x1EAE;\n t['Abrevecyrillic'] = 0x04D0;\n t['Abrevedotbelow'] = 0x1EB6;\n t['Abrevegrave'] = 0x1EB0;\n t['Abrevehookabove'] = 0x1EB2;\n t['Abrevetilde'] = 0x1EB4;\n t['Acaron'] = 0x01CD;\n t['Acircle'] = 0x24B6;\n t['Acircumflex'] = 0x00C2;\n t['Acircumflexacute'] = 0x1EA4;\n t['Acircumflexdotbelow'] = 0x1EAC;\n t['Acircumflexgrave'] = 0x1EA6;\n t['Acircumflexhookabove'] = 0x1EA8;\n t['Acircumflexsmall'] = 0xF7E2;\n t['Acircumflextilde'] = 0x1EAA;\n t['Acute'] = 0xF6C9;\n t['Acutesmall'] = 0xF7B4;\n t['Acyrillic'] = 0x0410;\n t['Adblgrave'] = 0x0200;\n t['Adieresis'] = 0x00C4;\n t['Adieresiscyrillic'] = 0x04D2;\n t['Adieresismacron'] = 0x01DE;\n t['Adieresissmall'] = 0xF7E4;\n t['Adotbelow'] = 0x1EA0;\n t['Adotmacron'] = 0x01E0;\n t['Agrave'] = 0x00C0;\n t['Agravesmall'] = 0xF7E0;\n t['Ahookabove'] = 0x1EA2;\n t['Aiecyrillic'] = 0x04D4;\n t['Ainvertedbreve'] = 0x0202;\n t['Alpha'] = 0x0391;\n t['Alphatonos'] = 0x0386;\n t['Amacron'] = 0x0100;\n t['Amonospace'] = 0xFF21;\n t['Aogonek'] = 0x0104;\n t['Aring'] = 0x00C5;\n t['Aringacute'] = 0x01FA;\n t['Aringbelow'] = 0x1E00;\n t['Aringsmall'] = 0xF7E5;\n t['Asmall'] = 0xF761;\n t['Atilde'] = 0x00C3;\n t['Atildesmall'] = 0xF7E3;\n t['Aybarmenian'] = 0x0531;\n t['B'] = 0x0042;\n t['Bcircle'] = 0x24B7;\n t['Bdotaccent'] = 0x1E02;\n t['Bdotbelow'] = 0x1E04;\n t['Becyrillic'] = 0x0411;\n t['Benarmenian'] = 0x0532;\n t['Beta'] = 0x0392;\n t['Bhook'] = 0x0181;\n t['Blinebelow'] = 0x1E06;\n t['Bmonospace'] = 0xFF22;\n t['Brevesmall'] = 0xF6F4;\n t['Bsmall'] = 0xF762;\n t['Btopbar'] = 0x0182;\n t['C'] = 0x0043;\n t['Caarmenian'] = 0x053E;\n t['Cacute'] = 0x0106;\n t['Caron'] = 0xF6CA;\n t['Caronsmall'] = 0xF6F5;\n t['Ccaron'] = 0x010C;\n t['Ccedilla'] = 0x00C7;\n t['Ccedillaacute'] = 0x1E08;\n t['Ccedillasmall'] = 0xF7E7;\n t['Ccircle'] = 0x24B8;\n t['Ccircumflex'] = 0x0108;\n t['Cdot'] = 0x010A;\n t['Cdotaccent'] = 0x010A;\n t['Cedillasmall'] = 0xF7B8;\n t['Chaarmenian'] = 0x0549;\n t['Cheabkhasiancyrillic'] = 0x04BC;\n t['Checyrillic'] = 0x0427;\n t['Chedescenderabkhasiancyrillic'] = 0x04BE;\n t['Chedescendercyrillic'] = 0x04B6;\n t['Chedieresiscyrillic'] = 0x04F4;\n t['Cheharmenian'] = 0x0543;\n t['Chekhakassiancyrillic'] = 0x04CB;\n t['Cheverticalstrokecyrillic'] = 0x04B8;\n t['Chi'] = 0x03A7;\n t['Chook'] = 0x0187;\n t['Circumflexsmall'] = 0xF6F6;\n t['Cmonospace'] = 0xFF23;\n t['Coarmenian'] = 0x0551;\n t['Csmall'] = 0xF763;\n t['D'] = 0x0044;\n t['DZ'] = 0x01F1;\n t['DZcaron'] = 0x01C4;\n t['Daarmenian'] = 0x0534;\n t['Dafrican'] = 0x0189;\n t['Dcaron'] = 0x010E;\n t['Dcedilla'] = 0x1E10;\n t['Dcircle'] = 0x24B9;\n t['Dcircumflexbelow'] = 0x1E12;\n t['Dcroat'] = 0x0110;\n t['Ddotaccent'] = 0x1E0A;\n t['Ddotbelow'] = 0x1E0C;\n t['Decyrillic'] = 0x0414;\n t['Deicoptic'] = 0x03EE;\n t['Delta'] = 0x2206;\n t['Deltagreek'] = 0x0394;\n t['Dhook'] = 0x018A;\n t['Dieresis'] = 0xF6CB;\n t['DieresisAcute'] = 0xF6CC;\n t['DieresisGrave'] = 0xF6CD;\n t['Dieresissmall'] = 0xF7A8;\n t['Digammagreek'] = 0x03DC;\n t['Djecyrillic'] = 0x0402;\n t['Dlinebelow'] = 0x1E0E;\n t['Dmonospace'] = 0xFF24;\n t['Dotaccentsmall'] = 0xF6F7;\n t['Dslash'] = 0x0110;\n t['Dsmall'] = 0xF764;\n t['Dtopbar'] = 0x018B;\n t['Dz'] = 0x01F2;\n t['Dzcaron'] = 0x01C5;\n t['Dzeabkhasiancyrillic'] = 0x04E0;\n t['Dzecyrillic'] = 0x0405;\n t['Dzhecyrillic'] = 0x040F;\n t['E'] = 0x0045;\n t['Eacute'] = 0x00C9;\n t['Eacutesmall'] = 0xF7E9;\n t['Ebreve'] = 0x0114;\n t['Ecaron'] = 0x011A;\n t['Ecedillabreve'] = 0x1E1C;\n t['Echarmenian'] = 0x0535;\n t['Ecircle'] = 0x24BA;\n t['Ecircumflex'] = 0x00CA;\n t['Ecircumflexacute'] = 0x1EBE;\n t['Ecircumflexbelow'] = 0x1E18;\n t['Ecircumflexdotbelow'] = 0x1EC6;\n t['Ecircumflexgrave'] = 0x1EC0;\n t['Ecircumflexhookabove'] = 0x1EC2;\n t['Ecircumflexsmall'] = 0xF7EA;\n t['Ecircumflextilde'] = 0x1EC4;\n t['Ecyrillic'] = 0x0404;\n t['Edblgrave'] = 0x0204;\n t['Edieresis'] = 0x00CB;\n t['Edieresissmall'] = 0xF7EB;\n t['Edot'] = 0x0116;\n t['Edotaccent'] = 0x0116;\n t['Edotbelow'] = 0x1EB8;\n t['Efcyrillic'] = 0x0424;\n t['Egrave'] = 0x00C8;\n t['Egravesmall'] = 0xF7E8;\n t['Eharmenian'] = 0x0537;\n t['Ehookabove'] = 0x1EBA;\n t['Eightroman'] = 0x2167;\n t['Einvertedbreve'] = 0x0206;\n t['Eiotifiedcyrillic'] = 0x0464;\n t['Elcyrillic'] = 0x041B;\n t['Elevenroman'] = 0x216A;\n t['Emacron'] = 0x0112;\n t['Emacronacute'] = 0x1E16;\n t['Emacrongrave'] = 0x1E14;\n t['Emcyrillic'] = 0x041C;\n t['Emonospace'] = 0xFF25;\n t['Encyrillic'] = 0x041D;\n t['Endescendercyrillic'] = 0x04A2;\n t['Eng'] = 0x014A;\n t['Enghecyrillic'] = 0x04A4;\n t['Enhookcyrillic'] = 0x04C7;\n t['Eogonek'] = 0x0118;\n t['Eopen'] = 0x0190;\n t['Epsilon'] = 0x0395;\n t['Epsilontonos'] = 0x0388;\n t['Ercyrillic'] = 0x0420;\n t['Ereversed'] = 0x018E;\n t['Ereversedcyrillic'] = 0x042D;\n t['Escyrillic'] = 0x0421;\n t['Esdescendercyrillic'] = 0x04AA;\n t['Esh'] = 0x01A9;\n t['Esmall'] = 0xF765;\n t['Eta'] = 0x0397;\n t['Etarmenian'] = 0x0538;\n t['Etatonos'] = 0x0389;\n t['Eth'] = 0x00D0;\n t['Ethsmall'] = 0xF7F0;\n t['Etilde'] = 0x1EBC;\n t['Etildebelow'] = 0x1E1A;\n t['Euro'] = 0x20AC;\n t['Ezh'] = 0x01B7;\n t['Ezhcaron'] = 0x01EE;\n t['Ezhreversed'] = 0x01B8;\n t['F'] = 0x0046;\n t['Fcircle'] = 0x24BB;\n t['Fdotaccent'] = 0x1E1E;\n t['Feharmenian'] = 0x0556;\n t['Feicoptic'] = 0x03E4;\n t['Fhook'] = 0x0191;\n t['Fitacyrillic'] = 0x0472;\n t['Fiveroman'] = 0x2164;\n t['Fmonospace'] = 0xFF26;\n t['Fourroman'] = 0x2163;\n t['Fsmall'] = 0xF766;\n t['G'] = 0x0047;\n t['GBsquare'] = 0x3387;\n t['Gacute'] = 0x01F4;\n t['Gamma'] = 0x0393;\n t['Gammaafrican'] = 0x0194;\n t['Gangiacoptic'] = 0x03EA;\n t['Gbreve'] = 0x011E;\n t['Gcaron'] = 0x01E6;\n t['Gcedilla'] = 0x0122;\n t['Gcircle'] = 0x24BC;\n t['Gcircumflex'] = 0x011C;\n t['Gcommaaccent'] = 0x0122;\n t['Gdot'] = 0x0120;\n t['Gdotaccent'] = 0x0120;\n t['Gecyrillic'] = 0x0413;\n t['Ghadarmenian'] = 0x0542;\n t['Ghemiddlehookcyrillic'] = 0x0494;\n t['Ghestrokecyrillic'] = 0x0492;\n t['Gheupturncyrillic'] = 0x0490;\n t['Ghook'] = 0x0193;\n t['Gimarmenian'] = 0x0533;\n t['Gjecyrillic'] = 0x0403;\n t['Gmacron'] = 0x1E20;\n t['Gmonospace'] = 0xFF27;\n t['Grave'] = 0xF6CE;\n t['Gravesmall'] = 0xF760;\n t['Gsmall'] = 0xF767;\n t['Gsmallhook'] = 0x029B;\n t['Gstroke'] = 0x01E4;\n t['H'] = 0x0048;\n t['H18533'] = 0x25CF;\n t['H18543'] = 0x25AA;\n t['H18551'] = 0x25AB;\n t['H22073'] = 0x25A1;\n t['HPsquare'] = 0x33CB;\n t['Haabkhasiancyrillic'] = 0x04A8;\n t['Hadescendercyrillic'] = 0x04B2;\n t['Hardsigncyrillic'] = 0x042A;\n t['Hbar'] = 0x0126;\n t['Hbrevebelow'] = 0x1E2A;\n t['Hcedilla'] = 0x1E28;\n t['Hcircle'] = 0x24BD;\n t['Hcircumflex'] = 0x0124;\n t['Hdieresis'] = 0x1E26;\n t['Hdotaccent'] = 0x1E22;\n t['Hdotbelow'] = 0x1E24;\n t['Hmonospace'] = 0xFF28;\n t['Hoarmenian'] = 0x0540;\n t['Horicoptic'] = 0x03E8;\n t['Hsmall'] = 0xF768;\n t['Hungarumlaut'] = 0xF6CF;\n t['Hungarumlautsmall'] = 0xF6F8;\n t['Hzsquare'] = 0x3390;\n t['I'] = 0x0049;\n t['IAcyrillic'] = 0x042F;\n t['IJ'] = 0x0132;\n t['IUcyrillic'] = 0x042E;\n t['Iacute'] = 0x00CD;\n t['Iacutesmall'] = 0xF7ED;\n t['Ibreve'] = 0x012C;\n t['Icaron'] = 0x01CF;\n t['Icircle'] = 0x24BE;\n t['Icircumflex'] = 0x00CE;\n t['Icircumflexsmall'] = 0xF7EE;\n t['Icyrillic'] = 0x0406;\n t['Idblgrave'] = 0x0208;\n t['Idieresis'] = 0x00CF;\n t['Idieresisacute'] = 0x1E2E;\n t['Idieresiscyrillic'] = 0x04E4;\n t['Idieresissmall'] = 0xF7EF;\n t['Idot'] = 0x0130;\n t['Idotaccent'] = 0x0130;\n t['Idotbelow'] = 0x1ECA;\n t['Iebrevecyrillic'] = 0x04D6;\n t['Iecyrillic'] = 0x0415;\n t['Ifraktur'] = 0x2111;\n t['Igrave'] = 0x00CC;\n t['Igravesmall'] = 0xF7EC;\n t['Ihookabove'] = 0x1EC8;\n t['Iicyrillic'] = 0x0418;\n t['Iinvertedbreve'] = 0x020A;\n t['Iishortcyrillic'] = 0x0419;\n t['Imacron'] = 0x012A;\n t['Imacroncyrillic'] = 0x04E2;\n t['Imonospace'] = 0xFF29;\n t['Iniarmenian'] = 0x053B;\n t['Iocyrillic'] = 0x0401;\n t['Iogonek'] = 0x012E;\n t['Iota'] = 0x0399;\n t['Iotaafrican'] = 0x0196;\n t['Iotadieresis'] = 0x03AA;\n t['Iotatonos'] = 0x038A;\n t['Ismall'] = 0xF769;\n t['Istroke'] = 0x0197;\n t['Itilde'] = 0x0128;\n t['Itildebelow'] = 0x1E2C;\n t['Izhitsacyrillic'] = 0x0474;\n t['Izhitsadblgravecyrillic'] = 0x0476;\n t['J'] = 0x004A;\n t['Jaarmenian'] = 0x0541;\n t['Jcircle'] = 0x24BF;\n t['Jcircumflex'] = 0x0134;\n t['Jecyrillic'] = 0x0408;\n t['Jheharmenian'] = 0x054B;\n t['Jmonospace'] = 0xFF2A;\n t['Jsmall'] = 0xF76A;\n t['K'] = 0x004B;\n t['KBsquare'] = 0x3385;\n t['KKsquare'] = 0x33CD;\n t['Kabashkircyrillic'] = 0x04A0;\n t['Kacute'] = 0x1E30;\n t['Kacyrillic'] = 0x041A;\n t['Kadescendercyrillic'] = 0x049A;\n t['Kahookcyrillic'] = 0x04C3;\n t['Kappa'] = 0x039A;\n t['Kastrokecyrillic'] = 0x049E;\n t['Kaverticalstrokecyrillic'] = 0x049C;\n t['Kcaron'] = 0x01E8;\n t['Kcedilla'] = 0x0136;\n t['Kcircle'] = 0x24C0;\n t['Kcommaaccent'] = 0x0136;\n t['Kdotbelow'] = 0x1E32;\n t['Keharmenian'] = 0x0554;\n t['Kenarmenian'] = 0x053F;\n t['Khacyrillic'] = 0x0425;\n t['Kheicoptic'] = 0x03E6;\n t['Khook'] = 0x0198;\n t['Kjecyrillic'] = 0x040C;\n t['Klinebelow'] = 0x1E34;\n t['Kmonospace'] = 0xFF2B;\n t['Koppacyrillic'] = 0x0480;\n t['Koppagreek'] = 0x03DE;\n t['Ksicyrillic'] = 0x046E;\n t['Ksmall'] = 0xF76B;\n t['L'] = 0x004C;\n t['LJ'] = 0x01C7;\n t['LL'] = 0xF6BF;\n t['Lacute'] = 0x0139;\n t['Lambda'] = 0x039B;\n t['Lcaron'] = 0x013D;\n t['Lcedilla'] = 0x013B;\n t['Lcircle'] = 0x24C1;\n t['Lcircumflexbelow'] = 0x1E3C;\n t['Lcommaaccent'] = 0x013B;\n t['Ldot'] = 0x013F;\n t['Ldotaccent'] = 0x013F;\n t['Ldotbelow'] = 0x1E36;\n t['Ldotbelowmacron'] = 0x1E38;\n t['Liwnarmenian'] = 0x053C;\n t['Lj'] = 0x01C8;\n t['Ljecyrillic'] = 0x0409;\n t['Llinebelow'] = 0x1E3A;\n t['Lmonospace'] = 0xFF2C;\n t['Lslash'] = 0x0141;\n t['Lslashsmall'] = 0xF6F9;\n t['Lsmall'] = 0xF76C;\n t['M'] = 0x004D;\n t['MBsquare'] = 0x3386;\n t['Macron'] = 0xF6D0;\n t['Macronsmall'] = 0xF7AF;\n t['Macute'] = 0x1E3E;\n t['Mcircle'] = 0x24C2;\n t['Mdotaccent'] = 0x1E40;\n t['Mdotbelow'] = 0x1E42;\n t['Menarmenian'] = 0x0544;\n t['Mmonospace'] = 0xFF2D;\n t['Msmall'] = 0xF76D;\n t['Mturned'] = 0x019C;\n t['Mu'] = 0x039C;\n t['N'] = 0x004E;\n t['NJ'] = 0x01CA;\n t['Nacute'] = 0x0143;\n t['Ncaron'] = 0x0147;\n t['Ncedilla'] = 0x0145;\n t['Ncircle'] = 0x24C3;\n t['Ncircumflexbelow'] = 0x1E4A;\n t['Ncommaaccent'] = 0x0145;\n t['Ndotaccent'] = 0x1E44;\n t['Ndotbelow'] = 0x1E46;\n t['Nhookleft'] = 0x019D;\n t['Nineroman'] = 0x2168;\n t['Nj'] = 0x01CB;\n t['Njecyrillic'] = 0x040A;\n t['Nlinebelow'] = 0x1E48;\n t['Nmonospace'] = 0xFF2E;\n t['Nowarmenian'] = 0x0546;\n t['Nsmall'] = 0xF76E;\n t['Ntilde'] = 0x00D1;\n t['Ntildesmall'] = 0xF7F1;\n t['Nu'] = 0x039D;\n t['O'] = 0x004F;\n t['OE'] = 0x0152;\n t['OEsmall'] = 0xF6FA;\n t['Oacute'] = 0x00D3;\n t['Oacutesmall'] = 0xF7F3;\n t['Obarredcyrillic'] = 0x04E8;\n t['Obarreddieresiscyrillic'] = 0x04EA;\n t['Obreve'] = 0x014E;\n t['Ocaron'] = 0x01D1;\n t['Ocenteredtilde'] = 0x019F;\n t['Ocircle'] = 0x24C4;\n t['Ocircumflex'] = 0x00D4;\n t['Ocircumflexacute'] = 0x1ED0;\n t['Ocircumflexdotbelow'] = 0x1ED8;\n t['Ocircumflexgrave'] = 0x1ED2;\n t['Ocircumflexhookabove'] = 0x1ED4;\n t['Ocircumflexsmall'] = 0xF7F4;\n t['Ocircumflextilde'] = 0x1ED6;\n t['Ocyrillic'] = 0x041E;\n t['Odblacute'] = 0x0150;\n t['Odblgrave'] = 0x020C;\n t['Odieresis'] = 0x00D6;\n t['Odieresiscyrillic'] = 0x04E6;\n t['Odieresissmall'] = 0xF7F6;\n t['Odotbelow'] = 0x1ECC;\n t['Ogoneksmall'] = 0xF6FB;\n t['Ograve'] = 0x00D2;\n t['Ogravesmall'] = 0xF7F2;\n t['Oharmenian'] = 0x0555;\n t['Ohm'] = 0x2126;\n t['Ohookabove'] = 0x1ECE;\n t['Ohorn'] = 0x01A0;\n t['Ohornacute'] = 0x1EDA;\n t['Ohorndotbelow'] = 0x1EE2;\n t['Ohorngrave'] = 0x1EDC;\n t['Ohornhookabove'] = 0x1EDE;\n t['Ohorntilde'] = 0x1EE0;\n t['Ohungarumlaut'] = 0x0150;\n t['Oi'] = 0x01A2;\n t['Oinvertedbreve'] = 0x020E;\n t['Omacron'] = 0x014C;\n t['Omacronacute'] = 0x1E52;\n t['Omacrongrave'] = 0x1E50;\n t['Omega'] = 0x2126;\n t['Omegacyrillic'] = 0x0460;\n t['Omegagreek'] = 0x03A9;\n t['Omegaroundcyrillic'] = 0x047A;\n t['Omegatitlocyrillic'] = 0x047C;\n t['Omegatonos'] = 0x038F;\n t['Omicron'] = 0x039F;\n t['Omicrontonos'] = 0x038C;\n t['Omonospace'] = 0xFF2F;\n t['Oneroman'] = 0x2160;\n t['Oogonek'] = 0x01EA;\n t['Oogonekmacron'] = 0x01EC;\n t['Oopen'] = 0x0186;\n t['Oslash'] = 0x00D8;\n t['Oslashacute'] = 0x01FE;\n t['Oslashsmall'] = 0xF7F8;\n t['Osmall'] = 0xF76F;\n t['Ostrokeacute'] = 0x01FE;\n t['Otcyrillic'] = 0x047E;\n t['Otilde'] = 0x00D5;\n t['Otildeacute'] = 0x1E4C;\n t['Otildedieresis'] = 0x1E4E;\n t['Otildesmall'] = 0xF7F5;\n t['P'] = 0x0050;\n t['Pacute'] = 0x1E54;\n t['Pcircle'] = 0x24C5;\n t['Pdotaccent'] = 0x1E56;\n t['Pecyrillic'] = 0x041F;\n t['Peharmenian'] = 0x054A;\n t['Pemiddlehookcyrillic'] = 0x04A6;\n t['Phi'] = 0x03A6;\n t['Phook'] = 0x01A4;\n t['Pi'] = 0x03A0;\n t['Piwrarmenian'] = 0x0553;\n t['Pmonospace'] = 0xFF30;\n t['Psi'] = 0x03A8;\n t['Psicyrillic'] = 0x0470;\n t['Psmall'] = 0xF770;\n t['Q'] = 0x0051;\n t['Qcircle'] = 0x24C6;\n t['Qmonospace'] = 0xFF31;\n t['Qsmall'] = 0xF771;\n t['R'] = 0x0052;\n t['Raarmenian'] = 0x054C;\n t['Racute'] = 0x0154;\n t['Rcaron'] = 0x0158;\n t['Rcedilla'] = 0x0156;\n t['Rcircle'] = 0x24C7;\n t['Rcommaaccent'] = 0x0156;\n t['Rdblgrave'] = 0x0210;\n t['Rdotaccent'] = 0x1E58;\n t['Rdotbelow'] = 0x1E5A;\n t['Rdotbelowmacron'] = 0x1E5C;\n t['Reharmenian'] = 0x0550;\n t['Rfraktur'] = 0x211C;\n t['Rho'] = 0x03A1;\n t['Ringsmall'] = 0xF6FC;\n t['Rinvertedbreve'] = 0x0212;\n t['Rlinebelow'] = 0x1E5E;\n t['Rmonospace'] = 0xFF32;\n t['Rsmall'] = 0xF772;\n t['Rsmallinverted'] = 0x0281;\n t['Rsmallinvertedsuperior'] = 0x02B6;\n t['S'] = 0x0053;\n t['SF010000'] = 0x250C;\n t['SF020000'] = 0x2514;\n t['SF030000'] = 0x2510;\n t['SF040000'] = 0x2518;\n t['SF050000'] = 0x253C;\n t['SF060000'] = 0x252C;\n t['SF070000'] = 0x2534;\n t['SF080000'] = 0x251C;\n t['SF090000'] = 0x2524;\n t['SF100000'] = 0x2500;\n t['SF110000'] = 0x2502;\n t['SF190000'] = 0x2561;\n t['SF200000'] = 0x2562;\n t['SF210000'] = 0x2556;\n t['SF220000'] = 0x2555;\n t['SF230000'] = 0x2563;\n t['SF240000'] = 0x2551;\n t['SF250000'] = 0x2557;\n t['SF260000'] = 0x255D;\n t['SF270000'] = 0x255C;\n t['SF280000'] = 0x255B;\n t['SF360000'] = 0x255E;\n t['SF370000'] = 0x255F;\n t['SF380000'] = 0x255A;\n t['SF390000'] = 0x2554;\n t['SF400000'] = 0x2569;\n t['SF410000'] = 0x2566;\n t['SF420000'] = 0x2560;\n t['SF430000'] = 0x2550;\n t['SF440000'] = 0x256C;\n t['SF450000'] = 0x2567;\n t['SF460000'] = 0x2568;\n t['SF470000'] = 0x2564;\n t['SF480000'] = 0x2565;\n t['SF490000'] = 0x2559;\n t['SF500000'] = 0x2558;\n t['SF510000'] = 0x2552;\n t['SF520000'] = 0x2553;\n t['SF530000'] = 0x256B;\n t['SF540000'] = 0x256A;\n t['Sacute'] = 0x015A;\n t['Sacutedotaccent'] = 0x1E64;\n t['Sampigreek'] = 0x03E0;\n t['Scaron'] = 0x0160;\n t['Scarondotaccent'] = 0x1E66;\n t['Scaronsmall'] = 0xF6FD;\n t['Scedilla'] = 0x015E;\n t['Schwa'] = 0x018F;\n t['Schwacyrillic'] = 0x04D8;\n t['Schwadieresiscyrillic'] = 0x04DA;\n t['Scircle'] = 0x24C8;\n t['Scircumflex'] = 0x015C;\n t['Scommaaccent'] = 0x0218;\n t['Sdotaccent'] = 0x1E60;\n t['Sdotbelow'] = 0x1E62;\n t['Sdotbelowdotaccent'] = 0x1E68;\n t['Seharmenian'] = 0x054D;\n t['Sevenroman'] = 0x2166;\n t['Shaarmenian'] = 0x0547;\n t['Shacyrillic'] = 0x0428;\n t['Shchacyrillic'] = 0x0429;\n t['Sheicoptic'] = 0x03E2;\n t['Shhacyrillic'] = 0x04BA;\n t['Shimacoptic'] = 0x03EC;\n t['Sigma'] = 0x03A3;\n t['Sixroman'] = 0x2165;\n t['Smonospace'] = 0xFF33;\n t['Softsigncyrillic'] = 0x042C;\n t['Ssmall'] = 0xF773;\n t['Stigmagreek'] = 0x03DA;\n t['T'] = 0x0054;\n t['Tau'] = 0x03A4;\n t['Tbar'] = 0x0166;\n t['Tcaron'] = 0x0164;\n t['Tcedilla'] = 0x0162;\n t['Tcircle'] = 0x24C9;\n t['Tcircumflexbelow'] = 0x1E70;\n t['Tcommaaccent'] = 0x0162;\n t['Tdotaccent'] = 0x1E6A;\n t['Tdotbelow'] = 0x1E6C;\n t['Tecyrillic'] = 0x0422;\n t['Tedescendercyrillic'] = 0x04AC;\n t['Tenroman'] = 0x2169;\n t['Tetsecyrillic'] = 0x04B4;\n t['Theta'] = 0x0398;\n t['Thook'] = 0x01AC;\n t['Thorn'] = 0x00DE;\n t['Thornsmall'] = 0xF7FE;\n t['Threeroman'] = 0x2162;\n t['Tildesmall'] = 0xF6FE;\n t['Tiwnarmenian'] = 0x054F;\n t['Tlinebelow'] = 0x1E6E;\n t['Tmonospace'] = 0xFF34;\n t['Toarmenian'] = 0x0539;\n t['Tonefive'] = 0x01BC;\n t['Tonesix'] = 0x0184;\n t['Tonetwo'] = 0x01A7;\n t['Tretroflexhook'] = 0x01AE;\n t['Tsecyrillic'] = 0x0426;\n t['Tshecyrillic'] = 0x040B;\n t['Tsmall'] = 0xF774;\n t['Twelveroman'] = 0x216B;\n t['Tworoman'] = 0x2161;\n t['U'] = 0x0055;\n t['Uacute'] = 0x00DA;\n t['Uacutesmall'] = 0xF7FA;\n t['Ubreve'] = 0x016C;\n t['Ucaron'] = 0x01D3;\n t['Ucircle'] = 0x24CA;\n t['Ucircumflex'] = 0x00DB;\n t['Ucircumflexbelow'] = 0x1E76;\n t['Ucircumflexsmall'] = 0xF7FB;\n t['Ucyrillic'] = 0x0423;\n t['Udblacute'] = 0x0170;\n t['Udblgrave'] = 0x0214;\n t['Udieresis'] = 0x00DC;\n t['Udieresisacute'] = 0x01D7;\n t['Udieresisbelow'] = 0x1E72;\n t['Udieresiscaron'] = 0x01D9;\n t['Udieresiscyrillic'] = 0x04F0;\n t['Udieresisgrave'] = 0x01DB;\n t['Udieresismacron'] = 0x01D5;\n t['Udieresissmall'] = 0xF7FC;\n t['Udotbelow'] = 0x1EE4;\n t['Ugrave'] = 0x00D9;\n t['Ugravesmall'] = 0xF7F9;\n t['Uhookabove'] = 0x1EE6;\n t['Uhorn'] = 0x01AF;\n t['Uhornacute'] = 0x1EE8;\n t['Uhorndotbelow'] = 0x1EF0;\n t['Uhorngrave'] = 0x1EEA;\n t['Uhornhookabove'] = 0x1EEC;\n t['Uhorntilde'] = 0x1EEE;\n t['Uhungarumlaut'] = 0x0170;\n t['Uhungarumlautcyrillic'] = 0x04F2;\n t['Uinvertedbreve'] = 0x0216;\n t['Ukcyrillic'] = 0x0478;\n t['Umacron'] = 0x016A;\n t['Umacroncyrillic'] = 0x04EE;\n t['Umacrondieresis'] = 0x1E7A;\n t['Umonospace'] = 0xFF35;\n t['Uogonek'] = 0x0172;\n t['Upsilon'] = 0x03A5;\n t['Upsilon1'] = 0x03D2;\n t['Upsilonacutehooksymbolgreek'] = 0x03D3;\n t['Upsilonafrican'] = 0x01B1;\n t['Upsilondieresis'] = 0x03AB;\n t['Upsilondieresishooksymbolgreek'] = 0x03D4;\n t['Upsilonhooksymbol'] = 0x03D2;\n t['Upsilontonos'] = 0x038E;\n t['Uring'] = 0x016E;\n t['Ushortcyrillic'] = 0x040E;\n t['Usmall'] = 0xF775;\n t['Ustraightcyrillic'] = 0x04AE;\n t['Ustraightstrokecyrillic'] = 0x04B0;\n t['Utilde'] = 0x0168;\n t['Utildeacute'] = 0x1E78;\n t['Utildebelow'] = 0x1E74;\n t['V'] = 0x0056;\n t['Vcircle'] = 0x24CB;\n t['Vdotbelow'] = 0x1E7E;\n t['Vecyrillic'] = 0x0412;\n t['Vewarmenian'] = 0x054E;\n t['Vhook'] = 0x01B2;\n t['Vmonospace'] = 0xFF36;\n t['Voarmenian'] = 0x0548;\n t['Vsmall'] = 0xF776;\n t['Vtilde'] = 0x1E7C;\n t['W'] = 0x0057;\n t['Wacute'] = 0x1E82;\n t['Wcircle'] = 0x24CC;\n t['Wcircumflex'] = 0x0174;\n t['Wdieresis'] = 0x1E84;\n t['Wdotaccent'] = 0x1E86;\n t['Wdotbelow'] = 0x1E88;\n t['Wgrave'] = 0x1E80;\n t['Wmonospace'] = 0xFF37;\n t['Wsmall'] = 0xF777;\n t['X'] = 0x0058;\n t['Xcircle'] = 0x24CD;\n t['Xdieresis'] = 0x1E8C;\n t['Xdotaccent'] = 0x1E8A;\n t['Xeharmenian'] = 0x053D;\n t['Xi'] = 0x039E;\n t['Xmonospace'] = 0xFF38;\n t['Xsmall'] = 0xF778;\n t['Y'] = 0x0059;\n t['Yacute'] = 0x00DD;\n t['Yacutesmall'] = 0xF7FD;\n t['Yatcyrillic'] = 0x0462;\n t['Ycircle'] = 0x24CE;\n t['Ycircumflex'] = 0x0176;\n t['Ydieresis'] = 0x0178;\n t['Ydieresissmall'] = 0xF7FF;\n t['Ydotaccent'] = 0x1E8E;\n t['Ydotbelow'] = 0x1EF4;\n t['Yericyrillic'] = 0x042B;\n t['Yerudieresiscyrillic'] = 0x04F8;\n t['Ygrave'] = 0x1EF2;\n t['Yhook'] = 0x01B3;\n t['Yhookabove'] = 0x1EF6;\n t['Yiarmenian'] = 0x0545;\n t['Yicyrillic'] = 0x0407;\n t['Yiwnarmenian'] = 0x0552;\n t['Ymonospace'] = 0xFF39;\n t['Ysmall'] = 0xF779;\n t['Ytilde'] = 0x1EF8;\n t['Yusbigcyrillic'] = 0x046A;\n t['Yusbigiotifiedcyrillic'] = 0x046C;\n t['Yuslittlecyrillic'] = 0x0466;\n t['Yuslittleiotifiedcyrillic'] = 0x0468;\n t['Z'] = 0x005A;\n t['Zaarmenian'] = 0x0536;\n t['Zacute'] = 0x0179;\n t['Zcaron'] = 0x017D;\n t['Zcaronsmall'] = 0xF6FF;\n t['Zcircle'] = 0x24CF;\n t['Zcircumflex'] = 0x1E90;\n t['Zdot'] = 0x017B;\n t['Zdotaccent'] = 0x017B;\n t['Zdotbelow'] = 0x1E92;\n t['Zecyrillic'] = 0x0417;\n t['Zedescendercyrillic'] = 0x0498;\n t['Zedieresiscyrillic'] = 0x04DE;\n t['Zeta'] = 0x0396;\n t['Zhearmenian'] = 0x053A;\n t['Zhebrevecyrillic'] = 0x04C1;\n t['Zhecyrillic'] = 0x0416;\n t['Zhedescendercyrillic'] = 0x0496;\n t['Zhedieresiscyrillic'] = 0x04DC;\n t['Zlinebelow'] = 0x1E94;\n t['Zmonospace'] = 0xFF3A;\n t['Zsmall'] = 0xF77A;\n t['Zstroke'] = 0x01B5;\n t['a'] = 0x0061;\n t['aabengali'] = 0x0986;\n t['aacute'] = 0x00E1;\n t['aadeva'] = 0x0906;\n t['aagujarati'] = 0x0A86;\n t['aagurmukhi'] = 0x0A06;\n t['aamatragurmukhi'] = 0x0A3E;\n t['aarusquare'] = 0x3303;\n t['aavowelsignbengali'] = 0x09BE;\n t['aavowelsigndeva'] = 0x093E;\n t['aavowelsigngujarati'] = 0x0ABE;\n t['abbreviationmarkarmenian'] = 0x055F;\n t['abbreviationsigndeva'] = 0x0970;\n t['abengali'] = 0x0985;\n t['abopomofo'] = 0x311A;\n t['abreve'] = 0x0103;\n t['abreveacute'] = 0x1EAF;\n t['abrevecyrillic'] = 0x04D1;\n t['abrevedotbelow'] = 0x1EB7;\n t['abrevegrave'] = 0x1EB1;\n t['abrevehookabove'] = 0x1EB3;\n t['abrevetilde'] = 0x1EB5;\n t['acaron'] = 0x01CE;\n t['acircle'] = 0x24D0;\n t['acircumflex'] = 0x00E2;\n t['acircumflexacute'] = 0x1EA5;\n t['acircumflexdotbelow'] = 0x1EAD;\n t['acircumflexgrave'] = 0x1EA7;\n t['acircumflexhookabove'] = 0x1EA9;\n t['acircumflextilde'] = 0x1EAB;\n t['acute'] = 0x00B4;\n t['acutebelowcmb'] = 0x0317;\n t['acutecmb'] = 0x0301;\n t['acutecomb'] = 0x0301;\n t['acutedeva'] = 0x0954;\n t['acutelowmod'] = 0x02CF;\n t['acutetonecmb'] = 0x0341;\n t['acyrillic'] = 0x0430;\n t['adblgrave'] = 0x0201;\n t['addakgurmukhi'] = 0x0A71;\n t['adeva'] = 0x0905;\n t['adieresis'] = 0x00E4;\n t['adieresiscyrillic'] = 0x04D3;\n t['adieresismacron'] = 0x01DF;\n t['adotbelow'] = 0x1EA1;\n t['adotmacron'] = 0x01E1;\n t['ae'] = 0x00E6;\n t['aeacute'] = 0x01FD;\n t['aekorean'] = 0x3150;\n t['aemacron'] = 0x01E3;\n t['afii00208'] = 0x2015;\n t['afii08941'] = 0x20A4;\n t['afii10017'] = 0x0410;\n t['afii10018'] = 0x0411;\n t['afii10019'] = 0x0412;\n t['afii10020'] = 0x0413;\n t['afii10021'] = 0x0414;\n t['afii10022'] = 0x0415;\n t['afii10023'] = 0x0401;\n t['afii10024'] = 0x0416;\n t['afii10025'] = 0x0417;\n t['afii10026'] = 0x0418;\n t['afii10027'] = 0x0419;\n t['afii10028'] = 0x041A;\n t['afii10029'] = 0x041B;\n t['afii10030'] = 0x041C;\n t['afii10031'] = 0x041D;\n t['afii10032'] = 0x041E;\n t['afii10033'] = 0x041F;\n t['afii10034'] = 0x0420;\n t['afii10035'] = 0x0421;\n t['afii10036'] = 0x0422;\n t['afii10037'] = 0x0423;\n t['afii10038'] = 0x0424;\n t['afii10039'] = 0x0425;\n t['afii10040'] = 0x0426;\n t['afii10041'] = 0x0427;\n t['afii10042'] = 0x0428;\n t['afii10043'] = 0x0429;\n t['afii10044'] = 0x042A;\n t['afii10045'] = 0x042B;\n t['afii10046'] = 0x042C;\n t['afii10047'] = 0x042D;\n t['afii10048'] = 0x042E;\n t['afii10049'] = 0x042F;\n t['afii10050'] = 0x0490;\n t['afii10051'] = 0x0402;\n t['afii10052'] = 0x0403;\n t['afii10053'] = 0x0404;\n t['afii10054'] = 0x0405;\n t['afii10055'] = 0x0406;\n t['afii10056'] = 0x0407;\n t['afii10057'] = 0x0408;\n t['afii10058'] = 0x0409;\n t['afii10059'] = 0x040A;\n t['afii10060'] = 0x040B;\n t['afii10061'] = 0x040C;\n t['afii10062'] = 0x040E;\n t['afii10063'] = 0xF6C4;\n t['afii10064'] = 0xF6C5;\n t['afii10065'] = 0x0430;\n t['afii10066'] = 0x0431;\n t['afii10067'] = 0x0432;\n t['afii10068'] = 0x0433;\n t['afii10069'] = 0x0434;\n t['afii10070'] = 0x0435;\n t['afii10071'] = 0x0451;\n t['afii10072'] = 0x0436;\n t['afii10073'] = 0x0437;\n t['afii10074'] = 0x0438;\n t['afii10075'] = 0x0439;\n t['afii10076'] = 0x043A;\n t['afii10077'] = 0x043B;\n t['afii10078'] = 0x043C;\n t['afii10079'] = 0x043D;\n t['afii10080'] = 0x043E;\n t['afii10081'] = 0x043F;\n t['afii10082'] = 0x0440;\n t['afii10083'] = 0x0441;\n t['afii10084'] = 0x0442;\n t['afii10085'] = 0x0443;\n t['afii10086'] = 0x0444;\n t['afii10087'] = 0x0445;\n t['afii10088'] = 0x0446;\n t['afii10089'] = 0x0447;\n t['afii10090'] = 0x0448;\n t['afii10091'] = 0x0449;\n t['afii10092'] = 0x044A;\n t['afii10093'] = 0x044B;\n t['afii10094'] = 0x044C;\n t['afii10095'] = 0x044D;\n t['afii10096'] = 0x044E;\n t['afii10097'] = 0x044F;\n t['afii10098'] = 0x0491;\n t['afii10099'] = 0x0452;\n t['afii10100'] = 0x0453;\n t['afii10101'] = 0x0454;\n t['afii10102'] = 0x0455;\n t['afii10103'] = 0x0456;\n t['afii10104'] = 0x0457;\n t['afii10105'] = 0x0458;\n t['afii10106'] = 0x0459;\n t['afii10107'] = 0x045A;\n t['afii10108'] = 0x045B;\n t['afii10109'] = 0x045C;\n t['afii10110'] = 0x045E;\n t['afii10145'] = 0x040F;\n t['afii10146'] = 0x0462;\n t['afii10147'] = 0x0472;\n t['afii10148'] = 0x0474;\n t['afii10192'] = 0xF6C6;\n t['afii10193'] = 0x045F;\n t['afii10194'] = 0x0463;\n t['afii10195'] = 0x0473;\n t['afii10196'] = 0x0475;\n t['afii10831'] = 0xF6C7;\n t['afii10832'] = 0xF6C8;\n t['afii10846'] = 0x04D9;\n t['afii299'] = 0x200E;\n t['afii300'] = 0x200F;\n t['afii301'] = 0x200D;\n t['afii57381'] = 0x066A;\n t['afii57388'] = 0x060C;\n t['afii57392'] = 0x0660;\n t['afii57393'] = 0x0661;\n t['afii57394'] = 0x0662;\n t['afii57395'] = 0x0663;\n t['afii57396'] = 0x0664;\n t['afii57397'] = 0x0665;\n t['afii57398'] = 0x0666;\n t['afii57399'] = 0x0667;\n t['afii57400'] = 0x0668;\n t['afii57401'] = 0x0669;\n t['afii57403'] = 0x061B;\n t['afii57407'] = 0x061F;\n t['afii57409'] = 0x0621;\n t['afii57410'] = 0x0622;\n t['afii57411'] = 0x0623;\n t['afii57412'] = 0x0624;\n t['afii57413'] = 0x0625;\n t['afii57414'] = 0x0626;\n t['afii57415'] = 0x0627;\n t['afii57416'] = 0x0628;\n t['afii57417'] = 0x0629;\n t['afii57418'] = 0x062A;\n t['afii57419'] = 0x062B;\n t['afii57420'] = 0x062C;\n t['afii57421'] = 0x062D;\n t['afii57422'] = 0x062E;\n t['afii57423'] = 0x062F;\n t['afii57424'] = 0x0630;\n t['afii57425'] = 0x0631;\n t['afii57426'] = 0x0632;\n t['afii57427'] = 0x0633;\n t['afii57428'] = 0x0634;\n t['afii57429'] = 0x0635;\n t['afii57430'] = 0x0636;\n t['afii57431'] = 0x0637;\n t['afii57432'] = 0x0638;\n t['afii57433'] = 0x0639;\n t['afii57434'] = 0x063A;\n t['afii57440'] = 0x0640;\n t['afii57441'] = 0x0641;\n t['afii57442'] = 0x0642;\n t['afii57443'] = 0x0643;\n t['afii57444'] = 0x0644;\n t['afii57445'] = 0x0645;\n t['afii57446'] = 0x0646;\n t['afii57448'] = 0x0648;\n t['afii57449'] = 0x0649;\n t['afii57450'] = 0x064A;\n t['afii57451'] = 0x064B;\n t['afii57452'] = 0x064C;\n t['afii57453'] = 0x064D;\n t['afii57454'] = 0x064E;\n t['afii57455'] = 0x064F;\n t['afii57456'] = 0x0650;\n t['afii57457'] = 0x0651;\n t['afii57458'] = 0x0652;\n t['afii57470'] = 0x0647;\n t['afii57505'] = 0x06A4;\n t['afii57506'] = 0x067E;\n t['afii57507'] = 0x0686;\n t['afii57508'] = 0x0698;\n t['afii57509'] = 0x06AF;\n t['afii57511'] = 0x0679;\n t['afii57512'] = 0x0688;\n t['afii57513'] = 0x0691;\n t['afii57514'] = 0x06BA;\n t['afii57519'] = 0x06D2;\n t['afii57534'] = 0x06D5;\n t['afii57636'] = 0x20AA;\n t['afii57645'] = 0x05BE;\n t['afii57658'] = 0x05C3;\n t['afii57664'] = 0x05D0;\n t['afii57665'] = 0x05D1;\n t['afii57666'] = 0x05D2;\n t['afii57667'] = 0x05D3;\n t['afii57668'] = 0x05D4;\n t['afii57669'] = 0x05D5;\n t['afii57670'] = 0x05D6;\n t['afii57671'] = 0x05D7;\n t['afii57672'] = 0x05D8;\n t['afii57673'] = 0x05D9;\n t['afii57674'] = 0x05DA;\n t['afii57675'] = 0x05DB;\n t['afii57676'] = 0x05DC;\n t['afii57677'] = 0x05DD;\n t['afii57678'] = 0x05DE;\n t['afii57679'] = 0x05DF;\n t['afii57680'] = 0x05E0;\n t['afii57681'] = 0x05E1;\n t['afii57682'] = 0x05E2;\n t['afii57683'] = 0x05E3;\n t['afii57684'] = 0x05E4;\n t['afii57685'] = 0x05E5;\n t['afii57686'] = 0x05E6;\n t['afii57687'] = 0x05E7;\n t['afii57688'] = 0x05E8;\n t['afii57689'] = 0x05E9;\n t['afii57690'] = 0x05EA;\n t['afii57694'] = 0xFB2A;\n t['afii57695'] = 0xFB2B;\n t['afii57700'] = 0xFB4B;\n t['afii57705'] = 0xFB1F;\n t['afii57716'] = 0x05F0;\n t['afii57717'] = 0x05F1;\n t['afii57718'] = 0x05F2;\n t['afii57723'] = 0xFB35;\n t['afii57793'] = 0x05B4;\n t['afii57794'] = 0x05B5;\n t['afii57795'] = 0x05B6;\n t['afii57796'] = 0x05BB;\n t['afii57797'] = 0x05B8;\n t['afii57798'] = 0x05B7;\n t['afii57799'] = 0x05B0;\n t['afii57800'] = 0x05B2;\n t['afii57801'] = 0x05B1;\n t['afii57802'] = 0x05B3;\n t['afii57803'] = 0x05C2;\n t['afii57804'] = 0x05C1;\n t['afii57806'] = 0x05B9;\n t['afii57807'] = 0x05BC;\n t['afii57839'] = 0x05BD;\n t['afii57841'] = 0x05BF;\n t['afii57842'] = 0x05C0;\n t['afii57929'] = 0x02BC;\n t['afii61248'] = 0x2105;\n t['afii61289'] = 0x2113;\n t['afii61352'] = 0x2116;\n t['afii61573'] = 0x202C;\n t['afii61574'] = 0x202D;\n t['afii61575'] = 0x202E;\n t['afii61664'] = 0x200C;\n t['afii63167'] = 0x066D;\n t['afii64937'] = 0x02BD;\n t['agrave'] = 0x00E0;\n t['agujarati'] = 0x0A85;\n t['agurmukhi'] = 0x0A05;\n t['ahiragana'] = 0x3042;\n t['ahookabove'] = 0x1EA3;\n t['aibengali'] = 0x0990;\n t['aibopomofo'] = 0x311E;\n t['aideva'] = 0x0910;\n t['aiecyrillic'] = 0x04D5;\n t['aigujarati'] = 0x0A90;\n t['aigurmukhi'] = 0x0A10;\n t['aimatragurmukhi'] = 0x0A48;\n t['ainarabic'] = 0x0639;\n t['ainfinalarabic'] = 0xFECA;\n t['aininitialarabic'] = 0xFECB;\n t['ainmedialarabic'] = 0xFECC;\n t['ainvertedbreve'] = 0x0203;\n t['aivowelsignbengali'] = 0x09C8;\n t['aivowelsigndeva'] = 0x0948;\n t['aivowelsigngujarati'] = 0x0AC8;\n t['akatakana'] = 0x30A2;\n t['akatakanahalfwidth'] = 0xFF71;\n t['akorean'] = 0x314F;\n t['alef'] = 0x05D0;\n t['alefarabic'] = 0x0627;\n t['alefdageshhebrew'] = 0xFB30;\n t['aleffinalarabic'] = 0xFE8E;\n t['alefhamzaabovearabic'] = 0x0623;\n t['alefhamzaabovefinalarabic'] = 0xFE84;\n t['alefhamzabelowarabic'] = 0x0625;\n t['alefhamzabelowfinalarabic'] = 0xFE88;\n t['alefhebrew'] = 0x05D0;\n t['aleflamedhebrew'] = 0xFB4F;\n t['alefmaddaabovearabic'] = 0x0622;\n t['alefmaddaabovefinalarabic'] = 0xFE82;\n t['alefmaksuraarabic'] = 0x0649;\n t['alefmaksurafinalarabic'] = 0xFEF0;\n t['alefmaksurainitialarabic'] = 0xFEF3;\n t['alefmaksuramedialarabic'] = 0xFEF4;\n t['alefpatahhebrew'] = 0xFB2E;\n t['alefqamatshebrew'] = 0xFB2F;\n t['aleph'] = 0x2135;\n t['allequal'] = 0x224C;\n t['alpha'] = 0x03B1;\n t['alphatonos'] = 0x03AC;\n t['amacron'] = 0x0101;\n t['amonospace'] = 0xFF41;\n t['ampersand'] = 0x0026;\n t['ampersandmonospace'] = 0xFF06;\n t['ampersandsmall'] = 0xF726;\n t['amsquare'] = 0x33C2;\n t['anbopomofo'] = 0x3122;\n t['angbopomofo'] = 0x3124;\n t['angbracketleft'] = 0x3008;\n t['angbracketright'] = 0x3009;\n t['angkhankhuthai'] = 0x0E5A;\n t['angle'] = 0x2220;\n t['anglebracketleft'] = 0x3008;\n t['anglebracketleftvertical'] = 0xFE3F;\n t['anglebracketright'] = 0x3009;\n t['anglebracketrightvertical'] = 0xFE40;\n t['angleleft'] = 0x2329;\n t['angleright'] = 0x232A;\n t['angstrom'] = 0x212B;\n t['anoteleia'] = 0x0387;\n t['anudattadeva'] = 0x0952;\n t['anusvarabengali'] = 0x0982;\n t['anusvaradeva'] = 0x0902;\n t['anusvaragujarati'] = 0x0A82;\n t['aogonek'] = 0x0105;\n t['apaatosquare'] = 0x3300;\n t['aparen'] = 0x249C;\n t['apostrophearmenian'] = 0x055A;\n t['apostrophemod'] = 0x02BC;\n t['apple'] = 0xF8FF;\n t['approaches'] = 0x2250;\n t['approxequal'] = 0x2248;\n t['approxequalorimage'] = 0x2252;\n t['approximatelyequal'] = 0x2245;\n t['araeaekorean'] = 0x318E;\n t['araeakorean'] = 0x318D;\n t['arc'] = 0x2312;\n t['arighthalfring'] = 0x1E9A;\n t['aring'] = 0x00E5;\n t['aringacute'] = 0x01FB;\n t['aringbelow'] = 0x1E01;\n t['arrowboth'] = 0x2194;\n t['arrowdashdown'] = 0x21E3;\n t['arrowdashleft'] = 0x21E0;\n t['arrowdashright'] = 0x21E2;\n t['arrowdashup'] = 0x21E1;\n t['arrowdblboth'] = 0x21D4;\n t['arrowdbldown'] = 0x21D3;\n t['arrowdblleft'] = 0x21D0;\n t['arrowdblright'] = 0x21D2;\n t['arrowdblup'] = 0x21D1;\n t['arrowdown'] = 0x2193;\n t['arrowdownleft'] = 0x2199;\n t['arrowdownright'] = 0x2198;\n t['arrowdownwhite'] = 0x21E9;\n t['arrowheaddownmod'] = 0x02C5;\n t['arrowheadleftmod'] = 0x02C2;\n t['arrowheadrightmod'] = 0x02C3;\n t['arrowheadupmod'] = 0x02C4;\n t['arrowhorizex'] = 0xF8E7;\n t['arrowleft'] = 0x2190;\n t['arrowleftdbl'] = 0x21D0;\n t['arrowleftdblstroke'] = 0x21CD;\n t['arrowleftoverright'] = 0x21C6;\n t['arrowleftwhite'] = 0x21E6;\n t['arrowright'] = 0x2192;\n t['arrowrightdblstroke'] = 0x21CF;\n t['arrowrightheavy'] = 0x279E;\n t['arrowrightoverleft'] = 0x21C4;\n t['arrowrightwhite'] = 0x21E8;\n t['arrowtableft'] = 0x21E4;\n t['arrowtabright'] = 0x21E5;\n t['arrowup'] = 0x2191;\n t['arrowupdn'] = 0x2195;\n t['arrowupdnbse'] = 0x21A8;\n t['arrowupdownbase'] = 0x21A8;\n t['arrowupleft'] = 0x2196;\n t['arrowupleftofdown'] = 0x21C5;\n t['arrowupright'] = 0x2197;\n t['arrowupwhite'] = 0x21E7;\n t['arrowvertex'] = 0xF8E6;\n t['asciicircum'] = 0x005E;\n t['asciicircummonospace'] = 0xFF3E;\n t['asciitilde'] = 0x007E;\n t['asciitildemonospace'] = 0xFF5E;\n t['ascript'] = 0x0251;\n t['ascriptturned'] = 0x0252;\n t['asmallhiragana'] = 0x3041;\n t['asmallkatakana'] = 0x30A1;\n t['asmallkatakanahalfwidth'] = 0xFF67;\n t['asterisk'] = 0x002A;\n t['asteriskaltonearabic'] = 0x066D;\n t['asteriskarabic'] = 0x066D;\n t['asteriskmath'] = 0x2217;\n t['asteriskmonospace'] = 0xFF0A;\n t['asterisksmall'] = 0xFE61;\n t['asterism'] = 0x2042;\n t['asuperior'] = 0xF6E9;\n t['asymptoticallyequal'] = 0x2243;\n t['at'] = 0x0040;\n t['atilde'] = 0x00E3;\n t['atmonospace'] = 0xFF20;\n t['atsmall'] = 0xFE6B;\n t['aturned'] = 0x0250;\n t['aubengali'] = 0x0994;\n t['aubopomofo'] = 0x3120;\n t['audeva'] = 0x0914;\n t['augujarati'] = 0x0A94;\n t['augurmukhi'] = 0x0A14;\n t['aulengthmarkbengali'] = 0x09D7;\n t['aumatragurmukhi'] = 0x0A4C;\n t['auvowelsignbengali'] = 0x09CC;\n t['auvowelsigndeva'] = 0x094C;\n t['auvowelsigngujarati'] = 0x0ACC;\n t['avagrahadeva'] = 0x093D;\n t['aybarmenian'] = 0x0561;\n t['ayin'] = 0x05E2;\n t['ayinaltonehebrew'] = 0xFB20;\n t['ayinhebrew'] = 0x05E2;\n t['b'] = 0x0062;\n t['babengali'] = 0x09AC;\n t['backslash'] = 0x005C;\n t['backslashmonospace'] = 0xFF3C;\n t['badeva'] = 0x092C;\n t['bagujarati'] = 0x0AAC;\n t['bagurmukhi'] = 0x0A2C;\n t['bahiragana'] = 0x3070;\n t['bahtthai'] = 0x0E3F;\n t['bakatakana'] = 0x30D0;\n t['bar'] = 0x007C;\n t['barmonospace'] = 0xFF5C;\n t['bbopomofo'] = 0x3105;\n t['bcircle'] = 0x24D1;\n t['bdotaccent'] = 0x1E03;\n t['bdotbelow'] = 0x1E05;\n t['beamedsixteenthnotes'] = 0x266C;\n t['because'] = 0x2235;\n t['becyrillic'] = 0x0431;\n t['beharabic'] = 0x0628;\n t['behfinalarabic'] = 0xFE90;\n t['behinitialarabic'] = 0xFE91;\n t['behiragana'] = 0x3079;\n t['behmedialarabic'] = 0xFE92;\n t['behmeeminitialarabic'] = 0xFC9F;\n t['behmeemisolatedarabic'] = 0xFC08;\n t['behnoonfinalarabic'] = 0xFC6D;\n t['bekatakana'] = 0x30D9;\n t['benarmenian'] = 0x0562;\n t['bet'] = 0x05D1;\n t['beta'] = 0x03B2;\n t['betasymbolgreek'] = 0x03D0;\n t['betdagesh'] = 0xFB31;\n t['betdageshhebrew'] = 0xFB31;\n t['bethebrew'] = 0x05D1;\n t['betrafehebrew'] = 0xFB4C;\n t['bhabengali'] = 0x09AD;\n t['bhadeva'] = 0x092D;\n t['bhagujarati'] = 0x0AAD;\n t['bhagurmukhi'] = 0x0A2D;\n t['bhook'] = 0x0253;\n t['bihiragana'] = 0x3073;\n t['bikatakana'] = 0x30D3;\n t['bilabialclick'] = 0x0298;\n t['bindigurmukhi'] = 0x0A02;\n t['birusquare'] = 0x3331;\n t['blackcircle'] = 0x25CF;\n t['blackdiamond'] = 0x25C6;\n t['blackdownpointingtriangle'] = 0x25BC;\n t['blackleftpointingpointer'] = 0x25C4;\n t['blackleftpointingtriangle'] = 0x25C0;\n t['blacklenticularbracketleft'] = 0x3010;\n t['blacklenticularbracketleftvertical'] = 0xFE3B;\n t['blacklenticularbracketright'] = 0x3011;\n t['blacklenticularbracketrightvertical'] = 0xFE3C;\n t['blacklowerlefttriangle'] = 0x25E3;\n t['blacklowerrighttriangle'] = 0x25E2;\n t['blackrectangle'] = 0x25AC;\n t['blackrightpointingpointer'] = 0x25BA;\n t['blackrightpointingtriangle'] = 0x25B6;\n t['blacksmallsquare'] = 0x25AA;\n t['blacksmilingface'] = 0x263B;\n t['blacksquare'] = 0x25A0;\n t['blackstar'] = 0x2605;\n t['blackupperlefttriangle'] = 0x25E4;\n t['blackupperrighttriangle'] = 0x25E5;\n t['blackuppointingsmalltriangle'] = 0x25B4;\n t['blackuppointingtriangle'] = 0x25B2;\n t['blank'] = 0x2423;\n t['blinebelow'] = 0x1E07;\n t['block'] = 0x2588;\n t['bmonospace'] = 0xFF42;\n t['bobaimaithai'] = 0x0E1A;\n t['bohiragana'] = 0x307C;\n t['bokatakana'] = 0x30DC;\n t['bparen'] = 0x249D;\n t['bqsquare'] = 0x33C3;\n t['braceex'] = 0xF8F4;\n t['braceleft'] = 0x007B;\n t['braceleftbt'] = 0xF8F3;\n t['braceleftmid'] = 0xF8F2;\n t['braceleftmonospace'] = 0xFF5B;\n t['braceleftsmall'] = 0xFE5B;\n t['bracelefttp'] = 0xF8F1;\n t['braceleftvertical'] = 0xFE37;\n t['braceright'] = 0x007D;\n t['bracerightbt'] = 0xF8FE;\n t['bracerightmid'] = 0xF8FD;\n t['bracerightmonospace'] = 0xFF5D;\n t['bracerightsmall'] = 0xFE5C;\n t['bracerighttp'] = 0xF8FC;\n t['bracerightvertical'] = 0xFE38;\n t['bracketleft'] = 0x005B;\n t['bracketleftbt'] = 0xF8F0;\n t['bracketleftex'] = 0xF8EF;\n t['bracketleftmonospace'] = 0xFF3B;\n t['bracketlefttp'] = 0xF8EE;\n t['bracketright'] = 0x005D;\n t['bracketrightbt'] = 0xF8FB;\n t['bracketrightex'] = 0xF8FA;\n t['bracketrightmonospace'] = 0xFF3D;\n t['bracketrighttp'] = 0xF8F9;\n t['breve'] = 0x02D8;\n t['brevebelowcmb'] = 0x032E;\n t['brevecmb'] = 0x0306;\n t['breveinvertedbelowcmb'] = 0x032F;\n t['breveinvertedcmb'] = 0x0311;\n t['breveinverteddoublecmb'] = 0x0361;\n t['bridgebelowcmb'] = 0x032A;\n t['bridgeinvertedbelowcmb'] = 0x033A;\n t['brokenbar'] = 0x00A6;\n t['bstroke'] = 0x0180;\n t['bsuperior'] = 0xF6EA;\n t['btopbar'] = 0x0183;\n t['buhiragana'] = 0x3076;\n t['bukatakana'] = 0x30D6;\n t['bullet'] = 0x2022;\n t['bulletinverse'] = 0x25D8;\n t['bulletoperator'] = 0x2219;\n t['bullseye'] = 0x25CE;\n t['c'] = 0x0063;\n t['caarmenian'] = 0x056E;\n t['cabengali'] = 0x099A;\n t['cacute'] = 0x0107;\n t['cadeva'] = 0x091A;\n t['cagujarati'] = 0x0A9A;\n t['cagurmukhi'] = 0x0A1A;\n t['calsquare'] = 0x3388;\n t['candrabindubengali'] = 0x0981;\n t['candrabinducmb'] = 0x0310;\n t['candrabindudeva'] = 0x0901;\n t['candrabindugujarati'] = 0x0A81;\n t['capslock'] = 0x21EA;\n t['careof'] = 0x2105;\n t['caron'] = 0x02C7;\n t['caronbelowcmb'] = 0x032C;\n t['caroncmb'] = 0x030C;\n t['carriagereturn'] = 0x21B5;\n t['cbopomofo'] = 0x3118;\n t['ccaron'] = 0x010D;\n t['ccedilla'] = 0x00E7;\n t['ccedillaacute'] = 0x1E09;\n t['ccircle'] = 0x24D2;\n t['ccircumflex'] = 0x0109;\n t['ccurl'] = 0x0255;\n t['cdot'] = 0x010B;\n t['cdotaccent'] = 0x010B;\n t['cdsquare'] = 0x33C5;\n t['cedilla'] = 0x00B8;\n t['cedillacmb'] = 0x0327;\n t['cent'] = 0x00A2;\n t['centigrade'] = 0x2103;\n t['centinferior'] = 0xF6DF;\n t['centmonospace'] = 0xFFE0;\n t['centoldstyle'] = 0xF7A2;\n t['centsuperior'] = 0xF6E0;\n t['chaarmenian'] = 0x0579;\n t['chabengali'] = 0x099B;\n t['chadeva'] = 0x091B;\n t['chagujarati'] = 0x0A9B;\n t['chagurmukhi'] = 0x0A1B;\n t['chbopomofo'] = 0x3114;\n t['cheabkhasiancyrillic'] = 0x04BD;\n t['checkmark'] = 0x2713;\n t['checyrillic'] = 0x0447;\n t['chedescenderabkhasiancyrillic'] = 0x04BF;\n t['chedescendercyrillic'] = 0x04B7;\n t['chedieresiscyrillic'] = 0x04F5;\n t['cheharmenian'] = 0x0573;\n t['chekhakassiancyrillic'] = 0x04CC;\n t['cheverticalstrokecyrillic'] = 0x04B9;\n t['chi'] = 0x03C7;\n t['chieuchacirclekorean'] = 0x3277;\n t['chieuchaparenkorean'] = 0x3217;\n t['chieuchcirclekorean'] = 0x3269;\n t['chieuchkorean'] = 0x314A;\n t['chieuchparenkorean'] = 0x3209;\n t['chochangthai'] = 0x0E0A;\n t['chochanthai'] = 0x0E08;\n t['chochingthai'] = 0x0E09;\n t['chochoethai'] = 0x0E0C;\n t['chook'] = 0x0188;\n t['cieucacirclekorean'] = 0x3276;\n t['cieucaparenkorean'] = 0x3216;\n t['cieuccirclekorean'] = 0x3268;\n t['cieuckorean'] = 0x3148;\n t['cieucparenkorean'] = 0x3208;\n t['cieucuparenkorean'] = 0x321C;\n t['circle'] = 0x25CB;\n t['circlecopyrt'] = 0x00A9;\n t['circlemultiply'] = 0x2297;\n t['circleot'] = 0x2299;\n t['circleplus'] = 0x2295;\n t['circlepostalmark'] = 0x3036;\n t['circlewithlefthalfblack'] = 0x25D0;\n t['circlewithrighthalfblack'] = 0x25D1;\n t['circumflex'] = 0x02C6;\n t['circumflexbelowcmb'] = 0x032D;\n t['circumflexcmb'] = 0x0302;\n t['clear'] = 0x2327;\n t['clickalveolar'] = 0x01C2;\n t['clickdental'] = 0x01C0;\n t['clicklateral'] = 0x01C1;\n t['clickretroflex'] = 0x01C3;\n t['club'] = 0x2663;\n t['clubsuitblack'] = 0x2663;\n t['clubsuitwhite'] = 0x2667;\n t['cmcubedsquare'] = 0x33A4;\n t['cmonospace'] = 0xFF43;\n t['cmsquaredsquare'] = 0x33A0;\n t['coarmenian'] = 0x0581;\n t['colon'] = 0x003A;\n t['colonmonetary'] = 0x20A1;\n t['colonmonospace'] = 0xFF1A;\n t['colonsign'] = 0x20A1;\n t['colonsmall'] = 0xFE55;\n t['colontriangularhalfmod'] = 0x02D1;\n t['colontriangularmod'] = 0x02D0;\n t['comma'] = 0x002C;\n t['commaabovecmb'] = 0x0313;\n t['commaaboverightcmb'] = 0x0315;\n t['commaaccent'] = 0xF6C3;\n t['commaarabic'] = 0x060C;\n t['commaarmenian'] = 0x055D;\n t['commainferior'] = 0xF6E1;\n t['commamonospace'] = 0xFF0C;\n t['commareversedabovecmb'] = 0x0314;\n t['commareversedmod'] = 0x02BD;\n t['commasmall'] = 0xFE50;\n t['commasuperior'] = 0xF6E2;\n t['commaturnedabovecmb'] = 0x0312;\n t['commaturnedmod'] = 0x02BB;\n t['compass'] = 0x263C;\n t['congruent'] = 0x2245;\n t['contourintegral'] = 0x222E;\n t['control'] = 0x2303;\n t['controlACK'] = 0x0006;\n t['controlBEL'] = 0x0007;\n t['controlBS'] = 0x0008;\n t['controlCAN'] = 0x0018;\n t['controlCR'] = 0x000D;\n t['controlDC1'] = 0x0011;\n t['controlDC2'] = 0x0012;\n t['controlDC3'] = 0x0013;\n t['controlDC4'] = 0x0014;\n t['controlDEL'] = 0x007F;\n t['controlDLE'] = 0x0010;\n t['controlEM'] = 0x0019;\n t['controlENQ'] = 0x0005;\n t['controlEOT'] = 0x0004;\n t['controlESC'] = 0x001B;\n t['controlETB'] = 0x0017;\n t['controlETX'] = 0x0003;\n t['controlFF'] = 0x000C;\n t['controlFS'] = 0x001C;\n t['controlGS'] = 0x001D;\n t['controlHT'] = 0x0009;\n t['controlLF'] = 0x000A;\n t['controlNAK'] = 0x0015;\n t['controlNULL'] = 0x0000;\n t['controlRS'] = 0x001E;\n t['controlSI'] = 0x000F;\n t['controlSO'] = 0x000E;\n t['controlSOT'] = 0x0002;\n t['controlSTX'] = 0x0001;\n t['controlSUB'] = 0x001A;\n t['controlSYN'] = 0x0016;\n t['controlUS'] = 0x001F;\n t['controlVT'] = 0x000B;\n t['copyright'] = 0x00A9;\n t['copyrightsans'] = 0xF8E9;\n t['copyrightserif'] = 0xF6D9;\n t['cornerbracketleft'] = 0x300C;\n t['cornerbracketlefthalfwidth'] = 0xFF62;\n t['cornerbracketleftvertical'] = 0xFE41;\n t['cornerbracketright'] = 0x300D;\n t['cornerbracketrighthalfwidth'] = 0xFF63;\n t['cornerbracketrightvertical'] = 0xFE42;\n t['corporationsquare'] = 0x337F;\n t['cosquare'] = 0x33C7;\n t['coverkgsquare'] = 0x33C6;\n t['cparen'] = 0x249E;\n t['cruzeiro'] = 0x20A2;\n t['cstretched'] = 0x0297;\n t['curlyand'] = 0x22CF;\n t['curlyor'] = 0x22CE;\n t['currency'] = 0x00A4;\n t['cyrBreve'] = 0xF6D1;\n t['cyrFlex'] = 0xF6D2;\n t['cyrbreve'] = 0xF6D4;\n t['cyrflex'] = 0xF6D5;\n t['d'] = 0x0064;\n t['daarmenian'] = 0x0564;\n t['dabengali'] = 0x09A6;\n t['dadarabic'] = 0x0636;\n t['dadeva'] = 0x0926;\n t['dadfinalarabic'] = 0xFEBE;\n t['dadinitialarabic'] = 0xFEBF;\n t['dadmedialarabic'] = 0xFEC0;\n t['dagesh'] = 0x05BC;\n t['dageshhebrew'] = 0x05BC;\n t['dagger'] = 0x2020;\n t['daggerdbl'] = 0x2021;\n t['dagujarati'] = 0x0AA6;\n t['dagurmukhi'] = 0x0A26;\n t['dahiragana'] = 0x3060;\n t['dakatakana'] = 0x30C0;\n t['dalarabic'] = 0x062F;\n t['dalet'] = 0x05D3;\n t['daletdagesh'] = 0xFB33;\n t['daletdageshhebrew'] = 0xFB33;\n t['dalethebrew'] = 0x05D3;\n t['dalfinalarabic'] = 0xFEAA;\n t['dammaarabic'] = 0x064F;\n t['dammalowarabic'] = 0x064F;\n t['dammatanaltonearabic'] = 0x064C;\n t['dammatanarabic'] = 0x064C;\n t['danda'] = 0x0964;\n t['dargahebrew'] = 0x05A7;\n t['dargalefthebrew'] = 0x05A7;\n t['dasiapneumatacyrilliccmb'] = 0x0485;\n t['dblGrave'] = 0xF6D3;\n t['dblanglebracketleft'] = 0x300A;\n t['dblanglebracketleftvertical'] = 0xFE3D;\n t['dblanglebracketright'] = 0x300B;\n t['dblanglebracketrightvertical'] = 0xFE3E;\n t['dblarchinvertedbelowcmb'] = 0x032B;\n t['dblarrowleft'] = 0x21D4;\n t['dblarrowright'] = 0x21D2;\n t['dbldanda'] = 0x0965;\n t['dblgrave'] = 0xF6D6;\n t['dblgravecmb'] = 0x030F;\n t['dblintegral'] = 0x222C;\n t['dbllowline'] = 0x2017;\n t['dbllowlinecmb'] = 0x0333;\n t['dbloverlinecmb'] = 0x033F;\n t['dblprimemod'] = 0x02BA;\n t['dblverticalbar'] = 0x2016;\n t['dblverticallineabovecmb'] = 0x030E;\n t['dbopomofo'] = 0x3109;\n t['dbsquare'] = 0x33C8;\n t['dcaron'] = 0x010F;\n t['dcedilla'] = 0x1E11;\n t['dcircle'] = 0x24D3;\n t['dcircumflexbelow'] = 0x1E13;\n t['dcroat'] = 0x0111;\n t['ddabengali'] = 0x09A1;\n t['ddadeva'] = 0x0921;\n t['ddagujarati'] = 0x0AA1;\n t['ddagurmukhi'] = 0x0A21;\n t['ddalarabic'] = 0x0688;\n t['ddalfinalarabic'] = 0xFB89;\n t['dddhadeva'] = 0x095C;\n t['ddhabengali'] = 0x09A2;\n t['ddhadeva'] = 0x0922;\n t['ddhagujarati'] = 0x0AA2;\n t['ddhagurmukhi'] = 0x0A22;\n t['ddotaccent'] = 0x1E0B;\n t['ddotbelow'] = 0x1E0D;\n t['decimalseparatorarabic'] = 0x066B;\n t['decimalseparatorpersian'] = 0x066B;\n t['decyrillic'] = 0x0434;\n t['degree'] = 0x00B0;\n t['dehihebrew'] = 0x05AD;\n t['dehiragana'] = 0x3067;\n t['deicoptic'] = 0x03EF;\n t['dekatakana'] = 0x30C7;\n t['deleteleft'] = 0x232B;\n t['deleteright'] = 0x2326;\n t['delta'] = 0x03B4;\n t['deltaturned'] = 0x018D;\n t['denominatorminusonenumeratorbengali'] = 0x09F8;\n t['dezh'] = 0x02A4;\n t['dhabengali'] = 0x09A7;\n t['dhadeva'] = 0x0927;\n t['dhagujarati'] = 0x0AA7;\n t['dhagurmukhi'] = 0x0A27;\n t['dhook'] = 0x0257;\n t['dialytikatonos'] = 0x0385;\n t['dialytikatonoscmb'] = 0x0344;\n t['diamond'] = 0x2666;\n t['diamondsuitwhite'] = 0x2662;\n t['dieresis'] = 0x00A8;\n t['dieresisacute'] = 0xF6D7;\n t['dieresisbelowcmb'] = 0x0324;\n t['dieresiscmb'] = 0x0308;\n t['dieresisgrave'] = 0xF6D8;\n t['dieresistonos'] = 0x0385;\n t['dihiragana'] = 0x3062;\n t['dikatakana'] = 0x30C2;\n t['dittomark'] = 0x3003;\n t['divide'] = 0x00F7;\n t['divides'] = 0x2223;\n t['divisionslash'] = 0x2215;\n t['djecyrillic'] = 0x0452;\n t['dkshade'] = 0x2593;\n t['dlinebelow'] = 0x1E0F;\n t['dlsquare'] = 0x3397;\n t['dmacron'] = 0x0111;\n t['dmonospace'] = 0xFF44;\n t['dnblock'] = 0x2584;\n t['dochadathai'] = 0x0E0E;\n t['dodekthai'] = 0x0E14;\n t['dohiragana'] = 0x3069;\n t['dokatakana'] = 0x30C9;\n t['dollar'] = 0x0024;\n t['dollarinferior'] = 0xF6E3;\n t['dollarmonospace'] = 0xFF04;\n t['dollaroldstyle'] = 0xF724;\n t['dollarsmall'] = 0xFE69;\n t['dollarsuperior'] = 0xF6E4;\n t['dong'] = 0x20AB;\n t['dorusquare'] = 0x3326;\n t['dotaccent'] = 0x02D9;\n t['dotaccentcmb'] = 0x0307;\n t['dotbelowcmb'] = 0x0323;\n t['dotbelowcomb'] = 0x0323;\n t['dotkatakana'] = 0x30FB;\n t['dotlessi'] = 0x0131;\n t['dotlessj'] = 0xF6BE;\n t['dotlessjstrokehook'] = 0x0284;\n t['dotmath'] = 0x22C5;\n t['dottedcircle'] = 0x25CC;\n t['doubleyodpatah'] = 0xFB1F;\n t['doubleyodpatahhebrew'] = 0xFB1F;\n t['downtackbelowcmb'] = 0x031E;\n t['downtackmod'] = 0x02D5;\n t['dparen'] = 0x249F;\n t['dsuperior'] = 0xF6EB;\n t['dtail'] = 0x0256;\n t['dtopbar'] = 0x018C;\n t['duhiragana'] = 0x3065;\n t['dukatakana'] = 0x30C5;\n t['dz'] = 0x01F3;\n t['dzaltone'] = 0x02A3;\n t['dzcaron'] = 0x01C6;\n t['dzcurl'] = 0x02A5;\n t['dzeabkhasiancyrillic'] = 0x04E1;\n t['dzecyrillic'] = 0x0455;\n t['dzhecyrillic'] = 0x045F;\n t['e'] = 0x0065;\n t['eacute'] = 0x00E9;\n t['earth'] = 0x2641;\n t['ebengali'] = 0x098F;\n t['ebopomofo'] = 0x311C;\n t['ebreve'] = 0x0115;\n t['ecandradeva'] = 0x090D;\n t['ecandragujarati'] = 0x0A8D;\n t['ecandravowelsigndeva'] = 0x0945;\n t['ecandravowelsigngujarati'] = 0x0AC5;\n t['ecaron'] = 0x011B;\n t['ecedillabreve'] = 0x1E1D;\n t['echarmenian'] = 0x0565;\n t['echyiwnarmenian'] = 0x0587;\n t['ecircle'] = 0x24D4;\n t['ecircumflex'] = 0x00EA;\n t['ecircumflexacute'] = 0x1EBF;\n t['ecircumflexbelow'] = 0x1E19;\n t['ecircumflexdotbelow'] = 0x1EC7;\n t['ecircumflexgrave'] = 0x1EC1;\n t['ecircumflexhookabove'] = 0x1EC3;\n t['ecircumflextilde'] = 0x1EC5;\n t['ecyrillic'] = 0x0454;\n t['edblgrave'] = 0x0205;\n t['edeva'] = 0x090F;\n t['edieresis'] = 0x00EB;\n t['edot'] = 0x0117;\n t['edotaccent'] = 0x0117;\n t['edotbelow'] = 0x1EB9;\n t['eegurmukhi'] = 0x0A0F;\n t['eematragurmukhi'] = 0x0A47;\n t['efcyrillic'] = 0x0444;\n t['egrave'] = 0x00E8;\n t['egujarati'] = 0x0A8F;\n t['eharmenian'] = 0x0567;\n t['ehbopomofo'] = 0x311D;\n t['ehiragana'] = 0x3048;\n t['ehookabove'] = 0x1EBB;\n t['eibopomofo'] = 0x311F;\n t['eight'] = 0x0038;\n t['eightarabic'] = 0x0668;\n t['eightbengali'] = 0x09EE;\n t['eightcircle'] = 0x2467;\n t['eightcircleinversesansserif'] = 0x2791;\n t['eightdeva'] = 0x096E;\n t['eighteencircle'] = 0x2471;\n t['eighteenparen'] = 0x2485;\n t['eighteenperiod'] = 0x2499;\n t['eightgujarati'] = 0x0AEE;\n t['eightgurmukhi'] = 0x0A6E;\n t['eighthackarabic'] = 0x0668;\n t['eighthangzhou'] = 0x3028;\n t['eighthnotebeamed'] = 0x266B;\n t['eightideographicparen'] = 0x3227;\n t['eightinferior'] = 0x2088;\n t['eightmonospace'] = 0xFF18;\n t['eightoldstyle'] = 0xF738;\n t['eightparen'] = 0x247B;\n t['eightperiod'] = 0x248F;\n t['eightpersian'] = 0x06F8;\n t['eightroman'] = 0x2177;\n t['eightsuperior'] = 0x2078;\n t['eightthai'] = 0x0E58;\n t['einvertedbreve'] = 0x0207;\n t['eiotifiedcyrillic'] = 0x0465;\n t['ekatakana'] = 0x30A8;\n t['ekatakanahalfwidth'] = 0xFF74;\n t['ekonkargurmukhi'] = 0x0A74;\n t['ekorean'] = 0x3154;\n t['elcyrillic'] = 0x043B;\n t['element'] = 0x2208;\n t['elevencircle'] = 0x246A;\n t['elevenparen'] = 0x247E;\n t['elevenperiod'] = 0x2492;\n t['elevenroman'] = 0x217A;\n t['ellipsis'] = 0x2026;\n t['ellipsisvertical'] = 0x22EE;\n t['emacron'] = 0x0113;\n t['emacronacute'] = 0x1E17;\n t['emacrongrave'] = 0x1E15;\n t['emcyrillic'] = 0x043C;\n t['emdash'] = 0x2014;\n t['emdashvertical'] = 0xFE31;\n t['emonospace'] = 0xFF45;\n t['emphasismarkarmenian'] = 0x055B;\n t['emptyset'] = 0x2205;\n t['enbopomofo'] = 0x3123;\n t['encyrillic'] = 0x043D;\n t['endash'] = 0x2013;\n t['endashvertical'] = 0xFE32;\n t['endescendercyrillic'] = 0x04A3;\n t['eng'] = 0x014B;\n t['engbopomofo'] = 0x3125;\n t['enghecyrillic'] = 0x04A5;\n t['enhookcyrillic'] = 0x04C8;\n t['enspace'] = 0x2002;\n t['eogonek'] = 0x0119;\n t['eokorean'] = 0x3153;\n t['eopen'] = 0x025B;\n t['eopenclosed'] = 0x029A;\n t['eopenreversed'] = 0x025C;\n t['eopenreversedclosed'] = 0x025E;\n t['eopenreversedhook'] = 0x025D;\n t['eparen'] = 0x24A0;\n t['epsilon'] = 0x03B5;\n t['epsilontonos'] = 0x03AD;\n t['equal'] = 0x003D;\n t['equalmonospace'] = 0xFF1D;\n t['equalsmall'] = 0xFE66;\n t['equalsuperior'] = 0x207C;\n t['equivalence'] = 0x2261;\n t['erbopomofo'] = 0x3126;\n t['ercyrillic'] = 0x0440;\n t['ereversed'] = 0x0258;\n t['ereversedcyrillic'] = 0x044D;\n t['escyrillic'] = 0x0441;\n t['esdescendercyrillic'] = 0x04AB;\n t['esh'] = 0x0283;\n t['eshcurl'] = 0x0286;\n t['eshortdeva'] = 0x090E;\n t['eshortvowelsigndeva'] = 0x0946;\n t['eshreversedloop'] = 0x01AA;\n t['eshsquatreversed'] = 0x0285;\n t['esmallhiragana'] = 0x3047;\n t['esmallkatakana'] = 0x30A7;\n t['esmallkatakanahalfwidth'] = 0xFF6A;\n t['estimated'] = 0x212E;\n t['esuperior'] = 0xF6EC;\n t['eta'] = 0x03B7;\n t['etarmenian'] = 0x0568;\n t['etatonos'] = 0x03AE;\n t['eth'] = 0x00F0;\n t['etilde'] = 0x1EBD;\n t['etildebelow'] = 0x1E1B;\n t['etnahtafoukhhebrew'] = 0x0591;\n t['etnahtafoukhlefthebrew'] = 0x0591;\n t['etnahtahebrew'] = 0x0591;\n t['etnahtalefthebrew'] = 0x0591;\n t['eturned'] = 0x01DD;\n t['eukorean'] = 0x3161;\n t['euro'] = 0x20AC;\n t['evowelsignbengali'] = 0x09C7;\n t['evowelsigndeva'] = 0x0947;\n t['evowelsigngujarati'] = 0x0AC7;\n t['exclam'] = 0x0021;\n t['exclamarmenian'] = 0x055C;\n t['exclamdbl'] = 0x203C;\n t['exclamdown'] = 0x00A1;\n t['exclamdownsmall'] = 0xF7A1;\n t['exclammonospace'] = 0xFF01;\n t['exclamsmall'] = 0xF721;\n t['existential'] = 0x2203;\n t['ezh'] = 0x0292;\n t['ezhcaron'] = 0x01EF;\n t['ezhcurl'] = 0x0293;\n t['ezhreversed'] = 0x01B9;\n t['ezhtail'] = 0x01BA;\n t['f'] = 0x0066;\n t['fadeva'] = 0x095E;\n t['fagurmukhi'] = 0x0A5E;\n t['fahrenheit'] = 0x2109;\n t['fathaarabic'] = 0x064E;\n t['fathalowarabic'] = 0x064E;\n t['fathatanarabic'] = 0x064B;\n t['fbopomofo'] = 0x3108;\n t['fcircle'] = 0x24D5;\n t['fdotaccent'] = 0x1E1F;\n t['feharabic'] = 0x0641;\n t['feharmenian'] = 0x0586;\n t['fehfinalarabic'] = 0xFED2;\n t['fehinitialarabic'] = 0xFED3;\n t['fehmedialarabic'] = 0xFED4;\n t['feicoptic'] = 0x03E5;\n t['female'] = 0x2640;\n t['ff'] = 0xFB00;\n t['ffi'] = 0xFB03;\n t['ffl'] = 0xFB04;\n t['fi'] = 0xFB01;\n t['fifteencircle'] = 0x246E;\n t['fifteenparen'] = 0x2482;\n t['fifteenperiod'] = 0x2496;\n t['figuredash'] = 0x2012;\n t['filledbox'] = 0x25A0;\n t['filledrect'] = 0x25AC;\n t['finalkaf'] = 0x05DA;\n t['finalkafdagesh'] = 0xFB3A;\n t['finalkafdageshhebrew'] = 0xFB3A;\n t['finalkafhebrew'] = 0x05DA;\n t['finalmem'] = 0x05DD;\n t['finalmemhebrew'] = 0x05DD;\n t['finalnun'] = 0x05DF;\n t['finalnunhebrew'] = 0x05DF;\n t['finalpe'] = 0x05E3;\n t['finalpehebrew'] = 0x05E3;\n t['finaltsadi'] = 0x05E5;\n t['finaltsadihebrew'] = 0x05E5;\n t['firsttonechinese'] = 0x02C9;\n t['fisheye'] = 0x25C9;\n t['fitacyrillic'] = 0x0473;\n t['five'] = 0x0035;\n t['fivearabic'] = 0x0665;\n t['fivebengali'] = 0x09EB;\n t['fivecircle'] = 0x2464;\n t['fivecircleinversesansserif'] = 0x278E;\n t['fivedeva'] = 0x096B;\n t['fiveeighths'] = 0x215D;\n t['fivegujarati'] = 0x0AEB;\n t['fivegurmukhi'] = 0x0A6B;\n t['fivehackarabic'] = 0x0665;\n t['fivehangzhou'] = 0x3025;\n t['fiveideographicparen'] = 0x3224;\n t['fiveinferior'] = 0x2085;\n t['fivemonospace'] = 0xFF15;\n t['fiveoldstyle'] = 0xF735;\n t['fiveparen'] = 0x2478;\n t['fiveperiod'] = 0x248C;\n t['fivepersian'] = 0x06F5;\n t['fiveroman'] = 0x2174;\n t['fivesuperior'] = 0x2075;\n t['fivethai'] = 0x0E55;\n t['fl'] = 0xFB02;\n t['florin'] = 0x0192;\n t['fmonospace'] = 0xFF46;\n t['fmsquare'] = 0x3399;\n t['fofanthai'] = 0x0E1F;\n t['fofathai'] = 0x0E1D;\n t['fongmanthai'] = 0x0E4F;\n t['forall'] = 0x2200;\n t['four'] = 0x0034;\n t['fourarabic'] = 0x0664;\n t['fourbengali'] = 0x09EA;\n t['fourcircle'] = 0x2463;\n t['fourcircleinversesansserif'] = 0x278D;\n t['fourdeva'] = 0x096A;\n t['fourgujarati'] = 0x0AEA;\n t['fourgurmukhi'] = 0x0A6A;\n t['fourhackarabic'] = 0x0664;\n t['fourhangzhou'] = 0x3024;\n t['fourideographicparen'] = 0x3223;\n t['fourinferior'] = 0x2084;\n t['fourmonospace'] = 0xFF14;\n t['fournumeratorbengali'] = 0x09F7;\n t['fouroldstyle'] = 0xF734;\n t['fourparen'] = 0x2477;\n t['fourperiod'] = 0x248B;\n t['fourpersian'] = 0x06F4;\n t['fourroman'] = 0x2173;\n t['foursuperior'] = 0x2074;\n t['fourteencircle'] = 0x246D;\n t['fourteenparen'] = 0x2481;\n t['fourteenperiod'] = 0x2495;\n t['fourthai'] = 0x0E54;\n t['fourthtonechinese'] = 0x02CB;\n t['fparen'] = 0x24A1;\n t['fraction'] = 0x2044;\n t['franc'] = 0x20A3;\n t['g'] = 0x0067;\n t['gabengali'] = 0x0997;\n t['gacute'] = 0x01F5;\n t['gadeva'] = 0x0917;\n t['gafarabic'] = 0x06AF;\n t['gaffinalarabic'] = 0xFB93;\n t['gafinitialarabic'] = 0xFB94;\n t['gafmedialarabic'] = 0xFB95;\n t['gagujarati'] = 0x0A97;\n t['gagurmukhi'] = 0x0A17;\n t['gahiragana'] = 0x304C;\n t['gakatakana'] = 0x30AC;\n t['gamma'] = 0x03B3;\n t['gammalatinsmall'] = 0x0263;\n t['gammasuperior'] = 0x02E0;\n t['gangiacoptic'] = 0x03EB;\n t['gbopomofo'] = 0x310D;\n t['gbreve'] = 0x011F;\n t['gcaron'] = 0x01E7;\n t['gcedilla'] = 0x0123;\n t['gcircle'] = 0x24D6;\n t['gcircumflex'] = 0x011D;\n t['gcommaaccent'] = 0x0123;\n t['gdot'] = 0x0121;\n t['gdotaccent'] = 0x0121;\n t['gecyrillic'] = 0x0433;\n t['gehiragana'] = 0x3052;\n t['gekatakana'] = 0x30B2;\n t['geometricallyequal'] = 0x2251;\n t['gereshaccenthebrew'] = 0x059C;\n t['gereshhebrew'] = 0x05F3;\n t['gereshmuqdamhebrew'] = 0x059D;\n t['germandbls'] = 0x00DF;\n t['gershayimaccenthebrew'] = 0x059E;\n t['gershayimhebrew'] = 0x05F4;\n t['getamark'] = 0x3013;\n t['ghabengali'] = 0x0998;\n t['ghadarmenian'] = 0x0572;\n t['ghadeva'] = 0x0918;\n t['ghagujarati'] = 0x0A98;\n t['ghagurmukhi'] = 0x0A18;\n t['ghainarabic'] = 0x063A;\n t['ghainfinalarabic'] = 0xFECE;\n t['ghaininitialarabic'] = 0xFECF;\n t['ghainmedialarabic'] = 0xFED0;\n t['ghemiddlehookcyrillic'] = 0x0495;\n t['ghestrokecyrillic'] = 0x0493;\n t['gheupturncyrillic'] = 0x0491;\n t['ghhadeva'] = 0x095A;\n t['ghhagurmukhi'] = 0x0A5A;\n t['ghook'] = 0x0260;\n t['ghzsquare'] = 0x3393;\n t['gihiragana'] = 0x304E;\n t['gikatakana'] = 0x30AE;\n t['gimarmenian'] = 0x0563;\n t['gimel'] = 0x05D2;\n t['gimeldagesh'] = 0xFB32;\n t['gimeldageshhebrew'] = 0xFB32;\n t['gimelhebrew'] = 0x05D2;\n t['gjecyrillic'] = 0x0453;\n t['glottalinvertedstroke'] = 0x01BE;\n t['glottalstop'] = 0x0294;\n t['glottalstopinverted'] = 0x0296;\n t['glottalstopmod'] = 0x02C0;\n t['glottalstopreversed'] = 0x0295;\n t['glottalstopreversedmod'] = 0x02C1;\n t['glottalstopreversedsuperior'] = 0x02E4;\n t['glottalstopstroke'] = 0x02A1;\n t['glottalstopstrokereversed'] = 0x02A2;\n t['gmacron'] = 0x1E21;\n t['gmonospace'] = 0xFF47;\n t['gohiragana'] = 0x3054;\n t['gokatakana'] = 0x30B4;\n t['gparen'] = 0x24A2;\n t['gpasquare'] = 0x33AC;\n t['gradient'] = 0x2207;\n t['grave'] = 0x0060;\n t['gravebelowcmb'] = 0x0316;\n t['gravecmb'] = 0x0300;\n t['gravecomb'] = 0x0300;\n t['gravedeva'] = 0x0953;\n t['gravelowmod'] = 0x02CE;\n t['gravemonospace'] = 0xFF40;\n t['gravetonecmb'] = 0x0340;\n t['greater'] = 0x003E;\n t['greaterequal'] = 0x2265;\n t['greaterequalorless'] = 0x22DB;\n t['greatermonospace'] = 0xFF1E;\n t['greaterorequivalent'] = 0x2273;\n t['greaterorless'] = 0x2277;\n t['greateroverequal'] = 0x2267;\n t['greatersmall'] = 0xFE65;\n t['gscript'] = 0x0261;\n t['gstroke'] = 0x01E5;\n t['guhiragana'] = 0x3050;\n t['guillemotleft'] = 0x00AB;\n t['guillemotright'] = 0x00BB;\n t['guilsinglleft'] = 0x2039;\n t['guilsinglright'] = 0x203A;\n t['gukatakana'] = 0x30B0;\n t['guramusquare'] = 0x3318;\n t['gysquare'] = 0x33C9;\n t['h'] = 0x0068;\n t['haabkhasiancyrillic'] = 0x04A9;\n t['haaltonearabic'] = 0x06C1;\n t['habengali'] = 0x09B9;\n t['hadescendercyrillic'] = 0x04B3;\n t['hadeva'] = 0x0939;\n t['hagujarati'] = 0x0AB9;\n t['hagurmukhi'] = 0x0A39;\n t['haharabic'] = 0x062D;\n t['hahfinalarabic'] = 0xFEA2;\n t['hahinitialarabic'] = 0xFEA3;\n t['hahiragana'] = 0x306F;\n t['hahmedialarabic'] = 0xFEA4;\n t['haitusquare'] = 0x332A;\n t['hakatakana'] = 0x30CF;\n t['hakatakanahalfwidth'] = 0xFF8A;\n t['halantgurmukhi'] = 0x0A4D;\n t['hamzaarabic'] = 0x0621;\n t['hamzalowarabic'] = 0x0621;\n t['hangulfiller'] = 0x3164;\n t['hardsigncyrillic'] = 0x044A;\n t['harpoonleftbarbup'] = 0x21BC;\n t['harpoonrightbarbup'] = 0x21C0;\n t['hasquare'] = 0x33CA;\n t['hatafpatah'] = 0x05B2;\n t['hatafpatah16'] = 0x05B2;\n t['hatafpatah23'] = 0x05B2;\n t['hatafpatah2f'] = 0x05B2;\n t['hatafpatahhebrew'] = 0x05B2;\n t['hatafpatahnarrowhebrew'] = 0x05B2;\n t['hatafpatahquarterhebrew'] = 0x05B2;\n t['hatafpatahwidehebrew'] = 0x05B2;\n t['hatafqamats'] = 0x05B3;\n t['hatafqamats1b'] = 0x05B3;\n t['hatafqamats28'] = 0x05B3;\n t['hatafqamats34'] = 0x05B3;\n t['hatafqamatshebrew'] = 0x05B3;\n t['hatafqamatsnarrowhebrew'] = 0x05B3;\n t['hatafqamatsquarterhebrew'] = 0x05B3;\n t['hatafqamatswidehebrew'] = 0x05B3;\n t['hatafsegol'] = 0x05B1;\n t['hatafsegol17'] = 0x05B1;\n t['hatafsegol24'] = 0x05B1;\n t['hatafsegol30'] = 0x05B1;\n t['hatafsegolhebrew'] = 0x05B1;\n t['hatafsegolnarrowhebrew'] = 0x05B1;\n t['hatafsegolquarterhebrew'] = 0x05B1;\n t['hatafsegolwidehebrew'] = 0x05B1;\n t['hbar'] = 0x0127;\n t['hbopomofo'] = 0x310F;\n t['hbrevebelow'] = 0x1E2B;\n t['hcedilla'] = 0x1E29;\n t['hcircle'] = 0x24D7;\n t['hcircumflex'] = 0x0125;\n t['hdieresis'] = 0x1E27;\n t['hdotaccent'] = 0x1E23;\n t['hdotbelow'] = 0x1E25;\n t['he'] = 0x05D4;\n t['heart'] = 0x2665;\n t['heartsuitblack'] = 0x2665;\n t['heartsuitwhite'] = 0x2661;\n t['hedagesh'] = 0xFB34;\n t['hedageshhebrew'] = 0xFB34;\n t['hehaltonearabic'] = 0x06C1;\n t['heharabic'] = 0x0647;\n t['hehebrew'] = 0x05D4;\n t['hehfinalaltonearabic'] = 0xFBA7;\n t['hehfinalalttwoarabic'] = 0xFEEA;\n t['hehfinalarabic'] = 0xFEEA;\n t['hehhamzaabovefinalarabic'] = 0xFBA5;\n t['hehhamzaaboveisolatedarabic'] = 0xFBA4;\n t['hehinitialaltonearabic'] = 0xFBA8;\n t['hehinitialarabic'] = 0xFEEB;\n t['hehiragana'] = 0x3078;\n t['hehmedialaltonearabic'] = 0xFBA9;\n t['hehmedialarabic'] = 0xFEEC;\n t['heiseierasquare'] = 0x337B;\n t['hekatakana'] = 0x30D8;\n t['hekatakanahalfwidth'] = 0xFF8D;\n t['hekutaarusquare'] = 0x3336;\n t['henghook'] = 0x0267;\n t['herutusquare'] = 0x3339;\n t['het'] = 0x05D7;\n t['hethebrew'] = 0x05D7;\n t['hhook'] = 0x0266;\n t['hhooksuperior'] = 0x02B1;\n t['hieuhacirclekorean'] = 0x327B;\n t['hieuhaparenkorean'] = 0x321B;\n t['hieuhcirclekorean'] = 0x326D;\n t['hieuhkorean'] = 0x314E;\n t['hieuhparenkorean'] = 0x320D;\n t['hihiragana'] = 0x3072;\n t['hikatakana'] = 0x30D2;\n t['hikatakanahalfwidth'] = 0xFF8B;\n t['hiriq'] = 0x05B4;\n t['hiriq14'] = 0x05B4;\n t['hiriq21'] = 0x05B4;\n t['hiriq2d'] = 0x05B4;\n t['hiriqhebrew'] = 0x05B4;\n t['hiriqnarrowhebrew'] = 0x05B4;\n t['hiriqquarterhebrew'] = 0x05B4;\n t['hiriqwidehebrew'] = 0x05B4;\n t['hlinebelow'] = 0x1E96;\n t['hmonospace'] = 0xFF48;\n t['hoarmenian'] = 0x0570;\n t['hohipthai'] = 0x0E2B;\n t['hohiragana'] = 0x307B;\n t['hokatakana'] = 0x30DB;\n t['hokatakanahalfwidth'] = 0xFF8E;\n t['holam'] = 0x05B9;\n t['holam19'] = 0x05B9;\n t['holam26'] = 0x05B9;\n t['holam32'] = 0x05B9;\n t['holamhebrew'] = 0x05B9;\n t['holamnarrowhebrew'] = 0x05B9;\n t['holamquarterhebrew'] = 0x05B9;\n t['holamwidehebrew'] = 0x05B9;\n t['honokhukthai'] = 0x0E2E;\n t['hookabovecomb'] = 0x0309;\n t['hookcmb'] = 0x0309;\n t['hookpalatalizedbelowcmb'] = 0x0321;\n t['hookretroflexbelowcmb'] = 0x0322;\n t['hoonsquare'] = 0x3342;\n t['horicoptic'] = 0x03E9;\n t['horizontalbar'] = 0x2015;\n t['horncmb'] = 0x031B;\n t['hotsprings'] = 0x2668;\n t['house'] = 0x2302;\n t['hparen'] = 0x24A3;\n t['hsuperior'] = 0x02B0;\n t['hturned'] = 0x0265;\n t['huhiragana'] = 0x3075;\n t['huiitosquare'] = 0x3333;\n t['hukatakana'] = 0x30D5;\n t['hukatakanahalfwidth'] = 0xFF8C;\n t['hungarumlaut'] = 0x02DD;\n t['hungarumlautcmb'] = 0x030B;\n t['hv'] = 0x0195;\n t['hyphen'] = 0x002D;\n t['hypheninferior'] = 0xF6E5;\n t['hyphenmonospace'] = 0xFF0D;\n t['hyphensmall'] = 0xFE63;\n t['hyphensuperior'] = 0xF6E6;\n t['hyphentwo'] = 0x2010;\n t['i'] = 0x0069;\n t['iacute'] = 0x00ED;\n t['iacyrillic'] = 0x044F;\n t['ibengali'] = 0x0987;\n t['ibopomofo'] = 0x3127;\n t['ibreve'] = 0x012D;\n t['icaron'] = 0x01D0;\n t['icircle'] = 0x24D8;\n t['icircumflex'] = 0x00EE;\n t['icyrillic'] = 0x0456;\n t['idblgrave'] = 0x0209;\n t['ideographearthcircle'] = 0x328F;\n t['ideographfirecircle'] = 0x328B;\n t['ideographicallianceparen'] = 0x323F;\n t['ideographiccallparen'] = 0x323A;\n t['ideographiccentrecircle'] = 0x32A5;\n t['ideographicclose'] = 0x3006;\n t['ideographiccomma'] = 0x3001;\n t['ideographiccommaleft'] = 0xFF64;\n t['ideographiccongratulationparen'] = 0x3237;\n t['ideographiccorrectcircle'] = 0x32A3;\n t['ideographicearthparen'] = 0x322F;\n t['ideographicenterpriseparen'] = 0x323D;\n t['ideographicexcellentcircle'] = 0x329D;\n t['ideographicfestivalparen'] = 0x3240;\n t['ideographicfinancialcircle'] = 0x3296;\n t['ideographicfinancialparen'] = 0x3236;\n t['ideographicfireparen'] = 0x322B;\n t['ideographichaveparen'] = 0x3232;\n t['ideographichighcircle'] = 0x32A4;\n t['ideographiciterationmark'] = 0x3005;\n t['ideographiclaborcircle'] = 0x3298;\n t['ideographiclaborparen'] = 0x3238;\n t['ideographicleftcircle'] = 0x32A7;\n t['ideographiclowcircle'] = 0x32A6;\n t['ideographicmedicinecircle'] = 0x32A9;\n t['ideographicmetalparen'] = 0x322E;\n t['ideographicmoonparen'] = 0x322A;\n t['ideographicnameparen'] = 0x3234;\n t['ideographicperiod'] = 0x3002;\n t['ideographicprintcircle'] = 0x329E;\n t['ideographicreachparen'] = 0x3243;\n t['ideographicrepresentparen'] = 0x3239;\n t['ideographicresourceparen'] = 0x323E;\n t['ideographicrightcircle'] = 0x32A8;\n t['ideographicsecretcircle'] = 0x3299;\n t['ideographicselfparen'] = 0x3242;\n t['ideographicsocietyparen'] = 0x3233;\n t['ideographicspace'] = 0x3000;\n t['ideographicspecialparen'] = 0x3235;\n t['ideographicstockparen'] = 0x3231;\n t['ideographicstudyparen'] = 0x323B;\n t['ideographicsunparen'] = 0x3230;\n t['ideographicsuperviseparen'] = 0x323C;\n t['ideographicwaterparen'] = 0x322C;\n t['ideographicwoodparen'] = 0x322D;\n t['ideographiczero'] = 0x3007;\n t['ideographmetalcircle'] = 0x328E;\n t['ideographmooncircle'] = 0x328A;\n t['ideographnamecircle'] = 0x3294;\n t['ideographsuncircle'] = 0x3290;\n t['ideographwatercircle'] = 0x328C;\n t['ideographwoodcircle'] = 0x328D;\n t['ideva'] = 0x0907;\n t['idieresis'] = 0x00EF;\n t['idieresisacute'] = 0x1E2F;\n t['idieresiscyrillic'] = 0x04E5;\n t['idotbelow'] = 0x1ECB;\n t['iebrevecyrillic'] = 0x04D7;\n t['iecyrillic'] = 0x0435;\n t['ieungacirclekorean'] = 0x3275;\n t['ieungaparenkorean'] = 0x3215;\n t['ieungcirclekorean'] = 0x3267;\n t['ieungkorean'] = 0x3147;\n t['ieungparenkorean'] = 0x3207;\n t['igrave'] = 0x00EC;\n t['igujarati'] = 0x0A87;\n t['igurmukhi'] = 0x0A07;\n t['ihiragana'] = 0x3044;\n t['ihookabove'] = 0x1EC9;\n t['iibengali'] = 0x0988;\n t['iicyrillic'] = 0x0438;\n t['iideva'] = 0x0908;\n t['iigujarati'] = 0x0A88;\n t['iigurmukhi'] = 0x0A08;\n t['iimatragurmukhi'] = 0x0A40;\n t['iinvertedbreve'] = 0x020B;\n t['iishortcyrillic'] = 0x0439;\n t['iivowelsignbengali'] = 0x09C0;\n t['iivowelsigndeva'] = 0x0940;\n t['iivowelsigngujarati'] = 0x0AC0;\n t['ij'] = 0x0133;\n t['ikatakana'] = 0x30A4;\n t['ikatakanahalfwidth'] = 0xFF72;\n t['ikorean'] = 0x3163;\n t['ilde'] = 0x02DC;\n t['iluyhebrew'] = 0x05AC;\n t['imacron'] = 0x012B;\n t['imacroncyrillic'] = 0x04E3;\n t['imageorapproximatelyequal'] = 0x2253;\n t['imatragurmukhi'] = 0x0A3F;\n t['imonospace'] = 0xFF49;\n t['increment'] = 0x2206;\n t['infinity'] = 0x221E;\n t['iniarmenian'] = 0x056B;\n t['integral'] = 0x222B;\n t['integralbottom'] = 0x2321;\n t['integralbt'] = 0x2321;\n t['integralex'] = 0xF8F5;\n t['integraltop'] = 0x2320;\n t['integraltp'] = 0x2320;\n t['intersection'] = 0x2229;\n t['intisquare'] = 0x3305;\n t['invbullet'] = 0x25D8;\n t['invcircle'] = 0x25D9;\n t['invsmileface'] = 0x263B;\n t['iocyrillic'] = 0x0451;\n t['iogonek'] = 0x012F;\n t['iota'] = 0x03B9;\n t['iotadieresis'] = 0x03CA;\n t['iotadieresistonos'] = 0x0390;\n t['iotalatin'] = 0x0269;\n t['iotatonos'] = 0x03AF;\n t['iparen'] = 0x24A4;\n t['irigurmukhi'] = 0x0A72;\n t['ismallhiragana'] = 0x3043;\n t['ismallkatakana'] = 0x30A3;\n t['ismallkatakanahalfwidth'] = 0xFF68;\n t['issharbengali'] = 0x09FA;\n t['istroke'] = 0x0268;\n t['isuperior'] = 0xF6ED;\n t['iterationhiragana'] = 0x309D;\n t['iterationkatakana'] = 0x30FD;\n t['itilde'] = 0x0129;\n t['itildebelow'] = 0x1E2D;\n t['iubopomofo'] = 0x3129;\n t['iucyrillic'] = 0x044E;\n t['ivowelsignbengali'] = 0x09BF;\n t['ivowelsigndeva'] = 0x093F;\n t['ivowelsigngujarati'] = 0x0ABF;\n t['izhitsacyrillic'] = 0x0475;\n t['izhitsadblgravecyrillic'] = 0x0477;\n t['j'] = 0x006A;\n t['jaarmenian'] = 0x0571;\n t['jabengali'] = 0x099C;\n t['jadeva'] = 0x091C;\n t['jagujarati'] = 0x0A9C;\n t['jagurmukhi'] = 0x0A1C;\n t['jbopomofo'] = 0x3110;\n t['jcaron'] = 0x01F0;\n t['jcircle'] = 0x24D9;\n t['jcircumflex'] = 0x0135;\n t['jcrossedtail'] = 0x029D;\n t['jdotlessstroke'] = 0x025F;\n t['jecyrillic'] = 0x0458;\n t['jeemarabic'] = 0x062C;\n t['jeemfinalarabic'] = 0xFE9E;\n t['jeeminitialarabic'] = 0xFE9F;\n t['jeemmedialarabic'] = 0xFEA0;\n t['jeharabic'] = 0x0698;\n t['jehfinalarabic'] = 0xFB8B;\n t['jhabengali'] = 0x099D;\n t['jhadeva'] = 0x091D;\n t['jhagujarati'] = 0x0A9D;\n t['jhagurmukhi'] = 0x0A1D;\n t['jheharmenian'] = 0x057B;\n t['jis'] = 0x3004;\n t['jmonospace'] = 0xFF4A;\n t['jparen'] = 0x24A5;\n t['jsuperior'] = 0x02B2;\n t['k'] = 0x006B;\n t['kabashkircyrillic'] = 0x04A1;\n t['kabengali'] = 0x0995;\n t['kacute'] = 0x1E31;\n t['kacyrillic'] = 0x043A;\n t['kadescendercyrillic'] = 0x049B;\n t['kadeva'] = 0x0915;\n t['kaf'] = 0x05DB;\n t['kafarabic'] = 0x0643;\n t['kafdagesh'] = 0xFB3B;\n t['kafdageshhebrew'] = 0xFB3B;\n t['kaffinalarabic'] = 0xFEDA;\n t['kafhebrew'] = 0x05DB;\n t['kafinitialarabic'] = 0xFEDB;\n t['kafmedialarabic'] = 0xFEDC;\n t['kafrafehebrew'] = 0xFB4D;\n t['kagujarati'] = 0x0A95;\n t['kagurmukhi'] = 0x0A15;\n t['kahiragana'] = 0x304B;\n t['kahookcyrillic'] = 0x04C4;\n t['kakatakana'] = 0x30AB;\n t['kakatakanahalfwidth'] = 0xFF76;\n t['kappa'] = 0x03BA;\n t['kappasymbolgreek'] = 0x03F0;\n t['kapyeounmieumkorean'] = 0x3171;\n t['kapyeounphieuphkorean'] = 0x3184;\n t['kapyeounpieupkorean'] = 0x3178;\n t['kapyeounssangpieupkorean'] = 0x3179;\n t['karoriisquare'] = 0x330D;\n t['kashidaautoarabic'] = 0x0640;\n t['kashidaautonosidebearingarabic'] = 0x0640;\n t['kasmallkatakana'] = 0x30F5;\n t['kasquare'] = 0x3384;\n t['kasraarabic'] = 0x0650;\n t['kasratanarabic'] = 0x064D;\n t['kastrokecyrillic'] = 0x049F;\n t['katahiraprolongmarkhalfwidth'] = 0xFF70;\n t['kaverticalstrokecyrillic'] = 0x049D;\n t['kbopomofo'] = 0x310E;\n t['kcalsquare'] = 0x3389;\n t['kcaron'] = 0x01E9;\n t['kcedilla'] = 0x0137;\n t['kcircle'] = 0x24DA;\n t['kcommaaccent'] = 0x0137;\n t['kdotbelow'] = 0x1E33;\n t['keharmenian'] = 0x0584;\n t['kehiragana'] = 0x3051;\n t['kekatakana'] = 0x30B1;\n t['kekatakanahalfwidth'] = 0xFF79;\n t['kenarmenian'] = 0x056F;\n t['kesmallkatakana'] = 0x30F6;\n t['kgreenlandic'] = 0x0138;\n t['khabengali'] = 0x0996;\n t['khacyrillic'] = 0x0445;\n t['khadeva'] = 0x0916;\n t['khagujarati'] = 0x0A96;\n t['khagurmukhi'] = 0x0A16;\n t['khaharabic'] = 0x062E;\n t['khahfinalarabic'] = 0xFEA6;\n t['khahinitialarabic'] = 0xFEA7;\n t['khahmedialarabic'] = 0xFEA8;\n t['kheicoptic'] = 0x03E7;\n t['khhadeva'] = 0x0959;\n t['khhagurmukhi'] = 0x0A59;\n t['khieukhacirclekorean'] = 0x3278;\n t['khieukhaparenkorean'] = 0x3218;\n t['khieukhcirclekorean'] = 0x326A;\n t['khieukhkorean'] = 0x314B;\n t['khieukhparenkorean'] = 0x320A;\n t['khokhaithai'] = 0x0E02;\n t['khokhonthai'] = 0x0E05;\n t['khokhuatthai'] = 0x0E03;\n t['khokhwaithai'] = 0x0E04;\n t['khomutthai'] = 0x0E5B;\n t['khook'] = 0x0199;\n t['khorakhangthai'] = 0x0E06;\n t['khzsquare'] = 0x3391;\n t['kihiragana'] = 0x304D;\n t['kikatakana'] = 0x30AD;\n t['kikatakanahalfwidth'] = 0xFF77;\n t['kiroguramusquare'] = 0x3315;\n t['kiromeetorusquare'] = 0x3316;\n t['kirosquare'] = 0x3314;\n t['kiyeokacirclekorean'] = 0x326E;\n t['kiyeokaparenkorean'] = 0x320E;\n t['kiyeokcirclekorean'] = 0x3260;\n t['kiyeokkorean'] = 0x3131;\n t['kiyeokparenkorean'] = 0x3200;\n t['kiyeoksioskorean'] = 0x3133;\n t['kjecyrillic'] = 0x045C;\n t['klinebelow'] = 0x1E35;\n t['klsquare'] = 0x3398;\n t['kmcubedsquare'] = 0x33A6;\n t['kmonospace'] = 0xFF4B;\n t['kmsquaredsquare'] = 0x33A2;\n t['kohiragana'] = 0x3053;\n t['kohmsquare'] = 0x33C0;\n t['kokaithai'] = 0x0E01;\n t['kokatakana'] = 0x30B3;\n t['kokatakanahalfwidth'] = 0xFF7A;\n t['kooposquare'] = 0x331E;\n t['koppacyrillic'] = 0x0481;\n t['koreanstandardsymbol'] = 0x327F;\n t['koroniscmb'] = 0x0343;\n t['kparen'] = 0x24A6;\n t['kpasquare'] = 0x33AA;\n t['ksicyrillic'] = 0x046F;\n t['ktsquare'] = 0x33CF;\n t['kturned'] = 0x029E;\n t['kuhiragana'] = 0x304F;\n t['kukatakana'] = 0x30AF;\n t['kukatakanahalfwidth'] = 0xFF78;\n t['kvsquare'] = 0x33B8;\n t['kwsquare'] = 0x33BE;\n t['l'] = 0x006C;\n t['labengali'] = 0x09B2;\n t['lacute'] = 0x013A;\n t['ladeva'] = 0x0932;\n t['lagujarati'] = 0x0AB2;\n t['lagurmukhi'] = 0x0A32;\n t['lakkhangyaothai'] = 0x0E45;\n t['lamaleffinalarabic'] = 0xFEFC;\n t['lamalefhamzaabovefinalarabic'] = 0xFEF8;\n t['lamalefhamzaaboveisolatedarabic'] = 0xFEF7;\n t['lamalefhamzabelowfinalarabic'] = 0xFEFA;\n t['lamalefhamzabelowisolatedarabic'] = 0xFEF9;\n t['lamalefisolatedarabic'] = 0xFEFB;\n t['lamalefmaddaabovefinalarabic'] = 0xFEF6;\n t['lamalefmaddaaboveisolatedarabic'] = 0xFEF5;\n t['lamarabic'] = 0x0644;\n t['lambda'] = 0x03BB;\n t['lambdastroke'] = 0x019B;\n t['lamed'] = 0x05DC;\n t['lameddagesh'] = 0xFB3C;\n t['lameddageshhebrew'] = 0xFB3C;\n t['lamedhebrew'] = 0x05DC;\n t['lamfinalarabic'] = 0xFEDE;\n t['lamhahinitialarabic'] = 0xFCCA;\n t['laminitialarabic'] = 0xFEDF;\n t['lamjeeminitialarabic'] = 0xFCC9;\n t['lamkhahinitialarabic'] = 0xFCCB;\n t['lamlamhehisolatedarabic'] = 0xFDF2;\n t['lammedialarabic'] = 0xFEE0;\n t['lammeemhahinitialarabic'] = 0xFD88;\n t['lammeeminitialarabic'] = 0xFCCC;\n t['largecircle'] = 0x25EF;\n t['lbar'] = 0x019A;\n t['lbelt'] = 0x026C;\n t['lbopomofo'] = 0x310C;\n t['lcaron'] = 0x013E;\n t['lcedilla'] = 0x013C;\n t['lcircle'] = 0x24DB;\n t['lcircumflexbelow'] = 0x1E3D;\n t['lcommaaccent'] = 0x013C;\n t['ldot'] = 0x0140;\n t['ldotaccent'] = 0x0140;\n t['ldotbelow'] = 0x1E37;\n t['ldotbelowmacron'] = 0x1E39;\n t['leftangleabovecmb'] = 0x031A;\n t['lefttackbelowcmb'] = 0x0318;\n t['less'] = 0x003C;\n t['lessequal'] = 0x2264;\n t['lessequalorgreater'] = 0x22DA;\n t['lessmonospace'] = 0xFF1C;\n t['lessorequivalent'] = 0x2272;\n t['lessorgreater'] = 0x2276;\n t['lessoverequal'] = 0x2266;\n t['lesssmall'] = 0xFE64;\n t['lezh'] = 0x026E;\n t['lfblock'] = 0x258C;\n t['lhookretroflex'] = 0x026D;\n t['lira'] = 0x20A4;\n t['liwnarmenian'] = 0x056C;\n t['lj'] = 0x01C9;\n t['ljecyrillic'] = 0x0459;\n t['ll'] = 0xF6C0;\n t['lladeva'] = 0x0933;\n t['llagujarati'] = 0x0AB3;\n t['llinebelow'] = 0x1E3B;\n t['llladeva'] = 0x0934;\n t['llvocalicbengali'] = 0x09E1;\n t['llvocalicdeva'] = 0x0961;\n t['llvocalicvowelsignbengali'] = 0x09E3;\n t['llvocalicvowelsigndeva'] = 0x0963;\n t['lmiddletilde'] = 0x026B;\n t['lmonospace'] = 0xFF4C;\n t['lmsquare'] = 0x33D0;\n t['lochulathai'] = 0x0E2C;\n t['logicaland'] = 0x2227;\n t['logicalnot'] = 0x00AC;\n t['logicalnotreversed'] = 0x2310;\n t['logicalor'] = 0x2228;\n t['lolingthai'] = 0x0E25;\n t['longs'] = 0x017F;\n t['lowlinecenterline'] = 0xFE4E;\n t['lowlinecmb'] = 0x0332;\n t['lowlinedashed'] = 0xFE4D;\n t['lozenge'] = 0x25CA;\n t['lparen'] = 0x24A7;\n t['lslash'] = 0x0142;\n t['lsquare'] = 0x2113;\n t['lsuperior'] = 0xF6EE;\n t['ltshade'] = 0x2591;\n t['luthai'] = 0x0E26;\n t['lvocalicbengali'] = 0x098C;\n t['lvocalicdeva'] = 0x090C;\n t['lvocalicvowelsignbengali'] = 0x09E2;\n t['lvocalicvowelsigndeva'] = 0x0962;\n t['lxsquare'] = 0x33D3;\n t['m'] = 0x006D;\n t['mabengali'] = 0x09AE;\n t['macron'] = 0x00AF;\n t['macronbelowcmb'] = 0x0331;\n t['macroncmb'] = 0x0304;\n t['macronlowmod'] = 0x02CD;\n t['macronmonospace'] = 0xFFE3;\n t['macute'] = 0x1E3F;\n t['madeva'] = 0x092E;\n t['magujarati'] = 0x0AAE;\n t['magurmukhi'] = 0x0A2E;\n t['mahapakhhebrew'] = 0x05A4;\n t['mahapakhlefthebrew'] = 0x05A4;\n t['mahiragana'] = 0x307E;\n t['maichattawalowleftthai'] = 0xF895;\n t['maichattawalowrightthai'] = 0xF894;\n t['maichattawathai'] = 0x0E4B;\n t['maichattawaupperleftthai'] = 0xF893;\n t['maieklowleftthai'] = 0xF88C;\n t['maieklowrightthai'] = 0xF88B;\n t['maiekthai'] = 0x0E48;\n t['maiekupperleftthai'] = 0xF88A;\n t['maihanakatleftthai'] = 0xF884;\n t['maihanakatthai'] = 0x0E31;\n t['maitaikhuleftthai'] = 0xF889;\n t['maitaikhuthai'] = 0x0E47;\n t['maitholowleftthai'] = 0xF88F;\n t['maitholowrightthai'] = 0xF88E;\n t['maithothai'] = 0x0E49;\n t['maithoupperleftthai'] = 0xF88D;\n t['maitrilowleftthai'] = 0xF892;\n t['maitrilowrightthai'] = 0xF891;\n t['maitrithai'] = 0x0E4A;\n t['maitriupperleftthai'] = 0xF890;\n t['maiyamokthai'] = 0x0E46;\n t['makatakana'] = 0x30DE;\n t['makatakanahalfwidth'] = 0xFF8F;\n t['male'] = 0x2642;\n t['mansyonsquare'] = 0x3347;\n t['maqafhebrew'] = 0x05BE;\n t['mars'] = 0x2642;\n t['masoracirclehebrew'] = 0x05AF;\n t['masquare'] = 0x3383;\n t['mbopomofo'] = 0x3107;\n t['mbsquare'] = 0x33D4;\n t['mcircle'] = 0x24DC;\n t['mcubedsquare'] = 0x33A5;\n t['mdotaccent'] = 0x1E41;\n t['mdotbelow'] = 0x1E43;\n t['meemarabic'] = 0x0645;\n t['meemfinalarabic'] = 0xFEE2;\n t['meeminitialarabic'] = 0xFEE3;\n t['meemmedialarabic'] = 0xFEE4;\n t['meemmeeminitialarabic'] = 0xFCD1;\n t['meemmeemisolatedarabic'] = 0xFC48;\n t['meetorusquare'] = 0x334D;\n t['mehiragana'] = 0x3081;\n t['meizierasquare'] = 0x337E;\n t['mekatakana'] = 0x30E1;\n t['mekatakanahalfwidth'] = 0xFF92;\n t['mem'] = 0x05DE;\n t['memdagesh'] = 0xFB3E;\n t['memdageshhebrew'] = 0xFB3E;\n t['memhebrew'] = 0x05DE;\n t['menarmenian'] = 0x0574;\n t['merkhahebrew'] = 0x05A5;\n t['merkhakefulahebrew'] = 0x05A6;\n t['merkhakefulalefthebrew'] = 0x05A6;\n t['merkhalefthebrew'] = 0x05A5;\n t['mhook'] = 0x0271;\n t['mhzsquare'] = 0x3392;\n t['middledotkatakanahalfwidth'] = 0xFF65;\n t['middot'] = 0x00B7;\n t['mieumacirclekorean'] = 0x3272;\n t['mieumaparenkorean'] = 0x3212;\n t['mieumcirclekorean'] = 0x3264;\n t['mieumkorean'] = 0x3141;\n t['mieumpansioskorean'] = 0x3170;\n t['mieumparenkorean'] = 0x3204;\n t['mieumpieupkorean'] = 0x316E;\n t['mieumsioskorean'] = 0x316F;\n t['mihiragana'] = 0x307F;\n t['mikatakana'] = 0x30DF;\n t['mikatakanahalfwidth'] = 0xFF90;\n t['minus'] = 0x2212;\n t['minusbelowcmb'] = 0x0320;\n t['minuscircle'] = 0x2296;\n t['minusmod'] = 0x02D7;\n t['minusplus'] = 0x2213;\n t['minute'] = 0x2032;\n t['miribaarusquare'] = 0x334A;\n t['mirisquare'] = 0x3349;\n t['mlonglegturned'] = 0x0270;\n t['mlsquare'] = 0x3396;\n t['mmcubedsquare'] = 0x33A3;\n t['mmonospace'] = 0xFF4D;\n t['mmsquaredsquare'] = 0x339F;\n t['mohiragana'] = 0x3082;\n t['mohmsquare'] = 0x33C1;\n t['mokatakana'] = 0x30E2;\n t['mokatakanahalfwidth'] = 0xFF93;\n t['molsquare'] = 0x33D6;\n t['momathai'] = 0x0E21;\n t['moverssquare'] = 0x33A7;\n t['moverssquaredsquare'] = 0x33A8;\n t['mparen'] = 0x24A8;\n t['mpasquare'] = 0x33AB;\n t['mssquare'] = 0x33B3;\n t['msuperior'] = 0xF6EF;\n t['mturned'] = 0x026F;\n t['mu'] = 0x00B5;\n t['mu1'] = 0x00B5;\n t['muasquare'] = 0x3382;\n t['muchgreater'] = 0x226B;\n t['muchless'] = 0x226A;\n t['mufsquare'] = 0x338C;\n t['mugreek'] = 0x03BC;\n t['mugsquare'] = 0x338D;\n t['muhiragana'] = 0x3080;\n t['mukatakana'] = 0x30E0;\n t['mukatakanahalfwidth'] = 0xFF91;\n t['mulsquare'] = 0x3395;\n t['multiply'] = 0x00D7;\n t['mumsquare'] = 0x339B;\n t['munahhebrew'] = 0x05A3;\n t['munahlefthebrew'] = 0x05A3;\n t['musicalnote'] = 0x266A;\n t['musicalnotedbl'] = 0x266B;\n t['musicflatsign'] = 0x266D;\n t['musicsharpsign'] = 0x266F;\n t['mussquare'] = 0x33B2;\n t['muvsquare'] = 0x33B6;\n t['muwsquare'] = 0x33BC;\n t['mvmegasquare'] = 0x33B9;\n t['mvsquare'] = 0x33B7;\n t['mwmegasquare'] = 0x33BF;\n t['mwsquare'] = 0x33BD;\n t['n'] = 0x006E;\n t['nabengali'] = 0x09A8;\n t['nabla'] = 0x2207;\n t['nacute'] = 0x0144;\n t['nadeva'] = 0x0928;\n t['nagujarati'] = 0x0AA8;\n t['nagurmukhi'] = 0x0A28;\n t['nahiragana'] = 0x306A;\n t['nakatakana'] = 0x30CA;\n t['nakatakanahalfwidth'] = 0xFF85;\n t['napostrophe'] = 0x0149;\n t['nasquare'] = 0x3381;\n t['nbopomofo'] = 0x310B;\n t['nbspace'] = 0x00A0;\n t['ncaron'] = 0x0148;\n t['ncedilla'] = 0x0146;\n t['ncircle'] = 0x24DD;\n t['ncircumflexbelow'] = 0x1E4B;\n t['ncommaaccent'] = 0x0146;\n t['ndotaccent'] = 0x1E45;\n t['ndotbelow'] = 0x1E47;\n t['nehiragana'] = 0x306D;\n t['nekatakana'] = 0x30CD;\n t['nekatakanahalfwidth'] = 0xFF88;\n t['newsheqelsign'] = 0x20AA;\n t['nfsquare'] = 0x338B;\n t['ngabengali'] = 0x0999;\n t['ngadeva'] = 0x0919;\n t['ngagujarati'] = 0x0A99;\n t['ngagurmukhi'] = 0x0A19;\n t['ngonguthai'] = 0x0E07;\n t['nhiragana'] = 0x3093;\n t['nhookleft'] = 0x0272;\n t['nhookretroflex'] = 0x0273;\n t['nieunacirclekorean'] = 0x326F;\n t['nieunaparenkorean'] = 0x320F;\n t['nieuncieuckorean'] = 0x3135;\n t['nieuncirclekorean'] = 0x3261;\n t['nieunhieuhkorean'] = 0x3136;\n t['nieunkorean'] = 0x3134;\n t['nieunpansioskorean'] = 0x3168;\n t['nieunparenkorean'] = 0x3201;\n t['nieunsioskorean'] = 0x3167;\n t['nieuntikeutkorean'] = 0x3166;\n t['nihiragana'] = 0x306B;\n t['nikatakana'] = 0x30CB;\n t['nikatakanahalfwidth'] = 0xFF86;\n t['nikhahitleftthai'] = 0xF899;\n t['nikhahitthai'] = 0x0E4D;\n t['nine'] = 0x0039;\n t['ninearabic'] = 0x0669;\n t['ninebengali'] = 0x09EF;\n t['ninecircle'] = 0x2468;\n t['ninecircleinversesansserif'] = 0x2792;\n t['ninedeva'] = 0x096F;\n t['ninegujarati'] = 0x0AEF;\n t['ninegurmukhi'] = 0x0A6F;\n t['ninehackarabic'] = 0x0669;\n t['ninehangzhou'] = 0x3029;\n t['nineideographicparen'] = 0x3228;\n t['nineinferior'] = 0x2089;\n t['ninemonospace'] = 0xFF19;\n t['nineoldstyle'] = 0xF739;\n t['nineparen'] = 0x247C;\n t['nineperiod'] = 0x2490;\n t['ninepersian'] = 0x06F9;\n t['nineroman'] = 0x2178;\n t['ninesuperior'] = 0x2079;\n t['nineteencircle'] = 0x2472;\n t['nineteenparen'] = 0x2486;\n t['nineteenperiod'] = 0x249A;\n t['ninethai'] = 0x0E59;\n t['nj'] = 0x01CC;\n t['njecyrillic'] = 0x045A;\n t['nkatakana'] = 0x30F3;\n t['nkatakanahalfwidth'] = 0xFF9D;\n t['nlegrightlong'] = 0x019E;\n t['nlinebelow'] = 0x1E49;\n t['nmonospace'] = 0xFF4E;\n t['nmsquare'] = 0x339A;\n t['nnabengali'] = 0x09A3;\n t['nnadeva'] = 0x0923;\n t['nnagujarati'] = 0x0AA3;\n t['nnagurmukhi'] = 0x0A23;\n t['nnnadeva'] = 0x0929;\n t['nohiragana'] = 0x306E;\n t['nokatakana'] = 0x30CE;\n t['nokatakanahalfwidth'] = 0xFF89;\n t['nonbreakingspace'] = 0x00A0;\n t['nonenthai'] = 0x0E13;\n t['nonuthai'] = 0x0E19;\n t['noonarabic'] = 0x0646;\n t['noonfinalarabic'] = 0xFEE6;\n t['noonghunnaarabic'] = 0x06BA;\n t['noonghunnafinalarabic'] = 0xFB9F;\n t['nooninitialarabic'] = 0xFEE7;\n t['noonjeeminitialarabic'] = 0xFCD2;\n t['noonjeemisolatedarabic'] = 0xFC4B;\n t['noonmedialarabic'] = 0xFEE8;\n t['noonmeeminitialarabic'] = 0xFCD5;\n t['noonmeemisolatedarabic'] = 0xFC4E;\n t['noonnoonfinalarabic'] = 0xFC8D;\n t['notcontains'] = 0x220C;\n t['notelement'] = 0x2209;\n t['notelementof'] = 0x2209;\n t['notequal'] = 0x2260;\n t['notgreater'] = 0x226F;\n t['notgreaternorequal'] = 0x2271;\n t['notgreaternorless'] = 0x2279;\n t['notidentical'] = 0x2262;\n t['notless'] = 0x226E;\n t['notlessnorequal'] = 0x2270;\n t['notparallel'] = 0x2226;\n t['notprecedes'] = 0x2280;\n t['notsubset'] = 0x2284;\n t['notsucceeds'] = 0x2281;\n t['notsuperset'] = 0x2285;\n t['nowarmenian'] = 0x0576;\n t['nparen'] = 0x24A9;\n t['nssquare'] = 0x33B1;\n t['nsuperior'] = 0x207F;\n t['ntilde'] = 0x00F1;\n t['nu'] = 0x03BD;\n t['nuhiragana'] = 0x306C;\n t['nukatakana'] = 0x30CC;\n t['nukatakanahalfwidth'] = 0xFF87;\n t['nuktabengali'] = 0x09BC;\n t['nuktadeva'] = 0x093C;\n t['nuktagujarati'] = 0x0ABC;\n t['nuktagurmukhi'] = 0x0A3C;\n t['numbersign'] = 0x0023;\n t['numbersignmonospace'] = 0xFF03;\n t['numbersignsmall'] = 0xFE5F;\n t['numeralsigngreek'] = 0x0374;\n t['numeralsignlowergreek'] = 0x0375;\n t['numero'] = 0x2116;\n t['nun'] = 0x05E0;\n t['nundagesh'] = 0xFB40;\n t['nundageshhebrew'] = 0xFB40;\n t['nunhebrew'] = 0x05E0;\n t['nvsquare'] = 0x33B5;\n t['nwsquare'] = 0x33BB;\n t['nyabengali'] = 0x099E;\n t['nyadeva'] = 0x091E;\n t['nyagujarati'] = 0x0A9E;\n t['nyagurmukhi'] = 0x0A1E;\n t['o'] = 0x006F;\n t['oacute'] = 0x00F3;\n t['oangthai'] = 0x0E2D;\n t['obarred'] = 0x0275;\n t['obarredcyrillic'] = 0x04E9;\n t['obarreddieresiscyrillic'] = 0x04EB;\n t['obengali'] = 0x0993;\n t['obopomofo'] = 0x311B;\n t['obreve'] = 0x014F;\n t['ocandradeva'] = 0x0911;\n t['ocandragujarati'] = 0x0A91;\n t['ocandravowelsigndeva'] = 0x0949;\n t['ocandravowelsigngujarati'] = 0x0AC9;\n t['ocaron'] = 0x01D2;\n t['ocircle'] = 0x24DE;\n t['ocircumflex'] = 0x00F4;\n t['ocircumflexacute'] = 0x1ED1;\n t['ocircumflexdotbelow'] = 0x1ED9;\n t['ocircumflexgrave'] = 0x1ED3;\n t['ocircumflexhookabove'] = 0x1ED5;\n t['ocircumflextilde'] = 0x1ED7;\n t['ocyrillic'] = 0x043E;\n t['odblacute'] = 0x0151;\n t['odblgrave'] = 0x020D;\n t['odeva'] = 0x0913;\n t['odieresis'] = 0x00F6;\n t['odieresiscyrillic'] = 0x04E7;\n t['odotbelow'] = 0x1ECD;\n t['oe'] = 0x0153;\n t['oekorean'] = 0x315A;\n t['ogonek'] = 0x02DB;\n t['ogonekcmb'] = 0x0328;\n t['ograve'] = 0x00F2;\n t['ogujarati'] = 0x0A93;\n t['oharmenian'] = 0x0585;\n t['ohiragana'] = 0x304A;\n t['ohookabove'] = 0x1ECF;\n t['ohorn'] = 0x01A1;\n t['ohornacute'] = 0x1EDB;\n t['ohorndotbelow'] = 0x1EE3;\n t['ohorngrave'] = 0x1EDD;\n t['ohornhookabove'] = 0x1EDF;\n t['ohorntilde'] = 0x1EE1;\n t['ohungarumlaut'] = 0x0151;\n t['oi'] = 0x01A3;\n t['oinvertedbreve'] = 0x020F;\n t['okatakana'] = 0x30AA;\n t['okatakanahalfwidth'] = 0xFF75;\n t['okorean'] = 0x3157;\n t['olehebrew'] = 0x05AB;\n t['omacron'] = 0x014D;\n t['omacronacute'] = 0x1E53;\n t['omacrongrave'] = 0x1E51;\n t['omdeva'] = 0x0950;\n t['omega'] = 0x03C9;\n t['omega1'] = 0x03D6;\n t['omegacyrillic'] = 0x0461;\n t['omegalatinclosed'] = 0x0277;\n t['omegaroundcyrillic'] = 0x047B;\n t['omegatitlocyrillic'] = 0x047D;\n t['omegatonos'] = 0x03CE;\n t['omgujarati'] = 0x0AD0;\n t['omicron'] = 0x03BF;\n t['omicrontonos'] = 0x03CC;\n t['omonospace'] = 0xFF4F;\n t['one'] = 0x0031;\n t['onearabic'] = 0x0661;\n t['onebengali'] = 0x09E7;\n t['onecircle'] = 0x2460;\n t['onecircleinversesansserif'] = 0x278A;\n t['onedeva'] = 0x0967;\n t['onedotenleader'] = 0x2024;\n t['oneeighth'] = 0x215B;\n t['onefitted'] = 0xF6DC;\n t['onegujarati'] = 0x0AE7;\n t['onegurmukhi'] = 0x0A67;\n t['onehackarabic'] = 0x0661;\n t['onehalf'] = 0x00BD;\n t['onehangzhou'] = 0x3021;\n t['oneideographicparen'] = 0x3220;\n t['oneinferior'] = 0x2081;\n t['onemonospace'] = 0xFF11;\n t['onenumeratorbengali'] = 0x09F4;\n t['oneoldstyle'] = 0xF731;\n t['oneparen'] = 0x2474;\n t['oneperiod'] = 0x2488;\n t['onepersian'] = 0x06F1;\n t['onequarter'] = 0x00BC;\n t['oneroman'] = 0x2170;\n t['onesuperior'] = 0x00B9;\n t['onethai'] = 0x0E51;\n t['onethird'] = 0x2153;\n t['oogonek'] = 0x01EB;\n t['oogonekmacron'] = 0x01ED;\n t['oogurmukhi'] = 0x0A13;\n t['oomatragurmukhi'] = 0x0A4B;\n t['oopen'] = 0x0254;\n t['oparen'] = 0x24AA;\n t['openbullet'] = 0x25E6;\n t['option'] = 0x2325;\n t['ordfeminine'] = 0x00AA;\n t['ordmasculine'] = 0x00BA;\n t['orthogonal'] = 0x221F;\n t['oshortdeva'] = 0x0912;\n t['oshortvowelsigndeva'] = 0x094A;\n t['oslash'] = 0x00F8;\n t['oslashacute'] = 0x01FF;\n t['osmallhiragana'] = 0x3049;\n t['osmallkatakana'] = 0x30A9;\n t['osmallkatakanahalfwidth'] = 0xFF6B;\n t['ostrokeacute'] = 0x01FF;\n t['osuperior'] = 0xF6F0;\n t['otcyrillic'] = 0x047F;\n t['otilde'] = 0x00F5;\n t['otildeacute'] = 0x1E4D;\n t['otildedieresis'] = 0x1E4F;\n t['oubopomofo'] = 0x3121;\n t['overline'] = 0x203E;\n t['overlinecenterline'] = 0xFE4A;\n t['overlinecmb'] = 0x0305;\n t['overlinedashed'] = 0xFE49;\n t['overlinedblwavy'] = 0xFE4C;\n t['overlinewavy'] = 0xFE4B;\n t['overscore'] = 0x00AF;\n t['ovowelsignbengali'] = 0x09CB;\n t['ovowelsigndeva'] = 0x094B;\n t['ovowelsigngujarati'] = 0x0ACB;\n t['p'] = 0x0070;\n t['paampssquare'] = 0x3380;\n t['paasentosquare'] = 0x332B;\n t['pabengali'] = 0x09AA;\n t['pacute'] = 0x1E55;\n t['padeva'] = 0x092A;\n t['pagedown'] = 0x21DF;\n t['pageup'] = 0x21DE;\n t['pagujarati'] = 0x0AAA;\n t['pagurmukhi'] = 0x0A2A;\n t['pahiragana'] = 0x3071;\n t['paiyannoithai'] = 0x0E2F;\n t['pakatakana'] = 0x30D1;\n t['palatalizationcyrilliccmb'] = 0x0484;\n t['palochkacyrillic'] = 0x04C0;\n t['pansioskorean'] = 0x317F;\n t['paragraph'] = 0x00B6;\n t['parallel'] = 0x2225;\n t['parenleft'] = 0x0028;\n t['parenleftaltonearabic'] = 0xFD3E;\n t['parenleftbt'] = 0xF8ED;\n t['parenleftex'] = 0xF8EC;\n t['parenleftinferior'] = 0x208D;\n t['parenleftmonospace'] = 0xFF08;\n t['parenleftsmall'] = 0xFE59;\n t['parenleftsuperior'] = 0x207D;\n t['parenlefttp'] = 0xF8EB;\n t['parenleftvertical'] = 0xFE35;\n t['parenright'] = 0x0029;\n t['parenrightaltonearabic'] = 0xFD3F;\n t['parenrightbt'] = 0xF8F8;\n t['parenrightex'] = 0xF8F7;\n t['parenrightinferior'] = 0x208E;\n t['parenrightmonospace'] = 0xFF09;\n t['parenrightsmall'] = 0xFE5A;\n t['parenrightsuperior'] = 0x207E;\n t['parenrighttp'] = 0xF8F6;\n t['parenrightvertical'] = 0xFE36;\n t['partialdiff'] = 0x2202;\n t['paseqhebrew'] = 0x05C0;\n t['pashtahebrew'] = 0x0599;\n t['pasquare'] = 0x33A9;\n t['patah'] = 0x05B7;\n t['patah11'] = 0x05B7;\n t['patah1d'] = 0x05B7;\n t['patah2a'] = 0x05B7;\n t['patahhebrew'] = 0x05B7;\n t['patahnarrowhebrew'] = 0x05B7;\n t['patahquarterhebrew'] = 0x05B7;\n t['patahwidehebrew'] = 0x05B7;\n t['pazerhebrew'] = 0x05A1;\n t['pbopomofo'] = 0x3106;\n t['pcircle'] = 0x24DF;\n t['pdotaccent'] = 0x1E57;\n t['pe'] = 0x05E4;\n t['pecyrillic'] = 0x043F;\n t['pedagesh'] = 0xFB44;\n t['pedageshhebrew'] = 0xFB44;\n t['peezisquare'] = 0x333B;\n t['pefinaldageshhebrew'] = 0xFB43;\n t['peharabic'] = 0x067E;\n t['peharmenian'] = 0x057A;\n t['pehebrew'] = 0x05E4;\n t['pehfinalarabic'] = 0xFB57;\n t['pehinitialarabic'] = 0xFB58;\n t['pehiragana'] = 0x307A;\n t['pehmedialarabic'] = 0xFB59;\n t['pekatakana'] = 0x30DA;\n t['pemiddlehookcyrillic'] = 0x04A7;\n t['perafehebrew'] = 0xFB4E;\n t['percent'] = 0x0025;\n t['percentarabic'] = 0x066A;\n t['percentmonospace'] = 0xFF05;\n t['percentsmall'] = 0xFE6A;\n t['period'] = 0x002E;\n t['periodarmenian'] = 0x0589;\n t['periodcentered'] = 0x00B7;\n t['periodhalfwidth'] = 0xFF61;\n t['periodinferior'] = 0xF6E7;\n t['periodmonospace'] = 0xFF0E;\n t['periodsmall'] = 0xFE52;\n t['periodsuperior'] = 0xF6E8;\n t['perispomenigreekcmb'] = 0x0342;\n t['perpendicular'] = 0x22A5;\n t['perthousand'] = 0x2030;\n t['peseta'] = 0x20A7;\n t['pfsquare'] = 0x338A;\n t['phabengali'] = 0x09AB;\n t['phadeva'] = 0x092B;\n t['phagujarati'] = 0x0AAB;\n t['phagurmukhi'] = 0x0A2B;\n t['phi'] = 0x03C6;\n t['phi1'] = 0x03D5;\n t['phieuphacirclekorean'] = 0x327A;\n t['phieuphaparenkorean'] = 0x321A;\n t['phieuphcirclekorean'] = 0x326C;\n t['phieuphkorean'] = 0x314D;\n t['phieuphparenkorean'] = 0x320C;\n t['philatin'] = 0x0278;\n t['phinthuthai'] = 0x0E3A;\n t['phisymbolgreek'] = 0x03D5;\n t['phook'] = 0x01A5;\n t['phophanthai'] = 0x0E1E;\n t['phophungthai'] = 0x0E1C;\n t['phosamphaothai'] = 0x0E20;\n t['pi'] = 0x03C0;\n t['pieupacirclekorean'] = 0x3273;\n t['pieupaparenkorean'] = 0x3213;\n t['pieupcieuckorean'] = 0x3176;\n t['pieupcirclekorean'] = 0x3265;\n t['pieupkiyeokkorean'] = 0x3172;\n t['pieupkorean'] = 0x3142;\n t['pieupparenkorean'] = 0x3205;\n t['pieupsioskiyeokkorean'] = 0x3174;\n t['pieupsioskorean'] = 0x3144;\n t['pieupsiostikeutkorean'] = 0x3175;\n t['pieupthieuthkorean'] = 0x3177;\n t['pieuptikeutkorean'] = 0x3173;\n t['pihiragana'] = 0x3074;\n t['pikatakana'] = 0x30D4;\n t['pisymbolgreek'] = 0x03D6;\n t['piwrarmenian'] = 0x0583;\n t['plus'] = 0x002B;\n t['plusbelowcmb'] = 0x031F;\n t['pluscircle'] = 0x2295;\n t['plusminus'] = 0x00B1;\n t['plusmod'] = 0x02D6;\n t['plusmonospace'] = 0xFF0B;\n t['plussmall'] = 0xFE62;\n t['plussuperior'] = 0x207A;\n t['pmonospace'] = 0xFF50;\n t['pmsquare'] = 0x33D8;\n t['pohiragana'] = 0x307D;\n t['pointingindexdownwhite'] = 0x261F;\n t['pointingindexleftwhite'] = 0x261C;\n t['pointingindexrightwhite'] = 0x261E;\n t['pointingindexupwhite'] = 0x261D;\n t['pokatakana'] = 0x30DD;\n t['poplathai'] = 0x0E1B;\n t['postalmark'] = 0x3012;\n t['postalmarkface'] = 0x3020;\n t['pparen'] = 0x24AB;\n t['precedes'] = 0x227A;\n t['prescription'] = 0x211E;\n t['primemod'] = 0x02B9;\n t['primereversed'] = 0x2035;\n t['product'] = 0x220F;\n t['projective'] = 0x2305;\n t['prolongedkana'] = 0x30FC;\n t['propellor'] = 0x2318;\n t['propersubset'] = 0x2282;\n t['propersuperset'] = 0x2283;\n t['proportion'] = 0x2237;\n t['proportional'] = 0x221D;\n t['psi'] = 0x03C8;\n t['psicyrillic'] = 0x0471;\n t['psilipneumatacyrilliccmb'] = 0x0486;\n t['pssquare'] = 0x33B0;\n t['puhiragana'] = 0x3077;\n t['pukatakana'] = 0x30D7;\n t['pvsquare'] = 0x33B4;\n t['pwsquare'] = 0x33BA;\n t['q'] = 0x0071;\n t['qadeva'] = 0x0958;\n t['qadmahebrew'] = 0x05A8;\n t['qafarabic'] = 0x0642;\n t['qaffinalarabic'] = 0xFED6;\n t['qafinitialarabic'] = 0xFED7;\n t['qafmedialarabic'] = 0xFED8;\n t['qamats'] = 0x05B8;\n t['qamats10'] = 0x05B8;\n t['qamats1a'] = 0x05B8;\n t['qamats1c'] = 0x05B8;\n t['qamats27'] = 0x05B8;\n t['qamats29'] = 0x05B8;\n t['qamats33'] = 0x05B8;\n t['qamatsde'] = 0x05B8;\n t['qamatshebrew'] = 0x05B8;\n t['qamatsnarrowhebrew'] = 0x05B8;\n t['qamatsqatanhebrew'] = 0x05B8;\n t['qamatsqatannarrowhebrew'] = 0x05B8;\n t['qamatsqatanquarterhebrew'] = 0x05B8;\n t['qamatsqatanwidehebrew'] = 0x05B8;\n t['qamatsquarterhebrew'] = 0x05B8;\n t['qamatswidehebrew'] = 0x05B8;\n t['qarneyparahebrew'] = 0x059F;\n t['qbopomofo'] = 0x3111;\n t['qcircle'] = 0x24E0;\n t['qhook'] = 0x02A0;\n t['qmonospace'] = 0xFF51;\n t['qof'] = 0x05E7;\n t['qofdagesh'] = 0xFB47;\n t['qofdageshhebrew'] = 0xFB47;\n t['qofhebrew'] = 0x05E7;\n t['qparen'] = 0x24AC;\n t['quarternote'] = 0x2669;\n t['qubuts'] = 0x05BB;\n t['qubuts18'] = 0x05BB;\n t['qubuts25'] = 0x05BB;\n t['qubuts31'] = 0x05BB;\n t['qubutshebrew'] = 0x05BB;\n t['qubutsnarrowhebrew'] = 0x05BB;\n t['qubutsquarterhebrew'] = 0x05BB;\n t['qubutswidehebrew'] = 0x05BB;\n t['question'] = 0x003F;\n t['questionarabic'] = 0x061F;\n t['questionarmenian'] = 0x055E;\n t['questiondown'] = 0x00BF;\n t['questiondownsmall'] = 0xF7BF;\n t['questiongreek'] = 0x037E;\n t['questionmonospace'] = 0xFF1F;\n t['questionsmall'] = 0xF73F;\n t['quotedbl'] = 0x0022;\n t['quotedblbase'] = 0x201E;\n t['quotedblleft'] = 0x201C;\n t['quotedblmonospace'] = 0xFF02;\n t['quotedblprime'] = 0x301E;\n t['quotedblprimereversed'] = 0x301D;\n t['quotedblright'] = 0x201D;\n t['quoteleft'] = 0x2018;\n t['quoteleftreversed'] = 0x201B;\n t['quotereversed'] = 0x201B;\n t['quoteright'] = 0x2019;\n t['quoterightn'] = 0x0149;\n t['quotesinglbase'] = 0x201A;\n t['quotesingle'] = 0x0027;\n t['quotesinglemonospace'] = 0xFF07;\n t['r'] = 0x0072;\n t['raarmenian'] = 0x057C;\n t['rabengali'] = 0x09B0;\n t['racute'] = 0x0155;\n t['radeva'] = 0x0930;\n t['radical'] = 0x221A;\n t['radicalex'] = 0xF8E5;\n t['radoverssquare'] = 0x33AE;\n t['radoverssquaredsquare'] = 0x33AF;\n t['radsquare'] = 0x33AD;\n t['rafe'] = 0x05BF;\n t['rafehebrew'] = 0x05BF;\n t['ragujarati'] = 0x0AB0;\n t['ragurmukhi'] = 0x0A30;\n t['rahiragana'] = 0x3089;\n t['rakatakana'] = 0x30E9;\n t['rakatakanahalfwidth'] = 0xFF97;\n t['ralowerdiagonalbengali'] = 0x09F1;\n t['ramiddlediagonalbengali'] = 0x09F0;\n t['ramshorn'] = 0x0264;\n t['ratio'] = 0x2236;\n t['rbopomofo'] = 0x3116;\n t['rcaron'] = 0x0159;\n t['rcedilla'] = 0x0157;\n t['rcircle'] = 0x24E1;\n t['rcommaaccent'] = 0x0157;\n t['rdblgrave'] = 0x0211;\n t['rdotaccent'] = 0x1E59;\n t['rdotbelow'] = 0x1E5B;\n t['rdotbelowmacron'] = 0x1E5D;\n t['referencemark'] = 0x203B;\n t['reflexsubset'] = 0x2286;\n t['reflexsuperset'] = 0x2287;\n t['registered'] = 0x00AE;\n t['registersans'] = 0xF8E8;\n t['registerserif'] = 0xF6DA;\n t['reharabic'] = 0x0631;\n t['reharmenian'] = 0x0580;\n t['rehfinalarabic'] = 0xFEAE;\n t['rehiragana'] = 0x308C;\n t['rekatakana'] = 0x30EC;\n t['rekatakanahalfwidth'] = 0xFF9A;\n t['resh'] = 0x05E8;\n t['reshdageshhebrew'] = 0xFB48;\n t['reshhebrew'] = 0x05E8;\n t['reversedtilde'] = 0x223D;\n t['reviahebrew'] = 0x0597;\n t['reviamugrashhebrew'] = 0x0597;\n t['revlogicalnot'] = 0x2310;\n t['rfishhook'] = 0x027E;\n t['rfishhookreversed'] = 0x027F;\n t['rhabengali'] = 0x09DD;\n t['rhadeva'] = 0x095D;\n t['rho'] = 0x03C1;\n t['rhook'] = 0x027D;\n t['rhookturned'] = 0x027B;\n t['rhookturnedsuperior'] = 0x02B5;\n t['rhosymbolgreek'] = 0x03F1;\n t['rhotichookmod'] = 0x02DE;\n t['rieulacirclekorean'] = 0x3271;\n t['rieulaparenkorean'] = 0x3211;\n t['rieulcirclekorean'] = 0x3263;\n t['rieulhieuhkorean'] = 0x3140;\n t['rieulkiyeokkorean'] = 0x313A;\n t['rieulkiyeoksioskorean'] = 0x3169;\n t['rieulkorean'] = 0x3139;\n t['rieulmieumkorean'] = 0x313B;\n t['rieulpansioskorean'] = 0x316C;\n t['rieulparenkorean'] = 0x3203;\n t['rieulphieuphkorean'] = 0x313F;\n t['rieulpieupkorean'] = 0x313C;\n t['rieulpieupsioskorean'] = 0x316B;\n t['rieulsioskorean'] = 0x313D;\n t['rieulthieuthkorean'] = 0x313E;\n t['rieultikeutkorean'] = 0x316A;\n t['rieulyeorinhieuhkorean'] = 0x316D;\n t['rightangle'] = 0x221F;\n t['righttackbelowcmb'] = 0x0319;\n t['righttriangle'] = 0x22BF;\n t['rihiragana'] = 0x308A;\n t['rikatakana'] = 0x30EA;\n t['rikatakanahalfwidth'] = 0xFF98;\n t['ring'] = 0x02DA;\n t['ringbelowcmb'] = 0x0325;\n t['ringcmb'] = 0x030A;\n t['ringhalfleft'] = 0x02BF;\n t['ringhalfleftarmenian'] = 0x0559;\n t['ringhalfleftbelowcmb'] = 0x031C;\n t['ringhalfleftcentered'] = 0x02D3;\n t['ringhalfright'] = 0x02BE;\n t['ringhalfrightbelowcmb'] = 0x0339;\n t['ringhalfrightcentered'] = 0x02D2;\n t['rinvertedbreve'] = 0x0213;\n t['rittorusquare'] = 0x3351;\n t['rlinebelow'] = 0x1E5F;\n t['rlongleg'] = 0x027C;\n t['rlonglegturned'] = 0x027A;\n t['rmonospace'] = 0xFF52;\n t['rohiragana'] = 0x308D;\n t['rokatakana'] = 0x30ED;\n t['rokatakanahalfwidth'] = 0xFF9B;\n t['roruathai'] = 0x0E23;\n t['rparen'] = 0x24AD;\n t['rrabengali'] = 0x09DC;\n t['rradeva'] = 0x0931;\n t['rragurmukhi'] = 0x0A5C;\n t['rreharabic'] = 0x0691;\n t['rrehfinalarabic'] = 0xFB8D;\n t['rrvocalicbengali'] = 0x09E0;\n t['rrvocalicdeva'] = 0x0960;\n t['rrvocalicgujarati'] = 0x0AE0;\n t['rrvocalicvowelsignbengali'] = 0x09C4;\n t['rrvocalicvowelsigndeva'] = 0x0944;\n t['rrvocalicvowelsigngujarati'] = 0x0AC4;\n t['rsuperior'] = 0xF6F1;\n t['rtblock'] = 0x2590;\n t['rturned'] = 0x0279;\n t['rturnedsuperior'] = 0x02B4;\n t['ruhiragana'] = 0x308B;\n t['rukatakana'] = 0x30EB;\n t['rukatakanahalfwidth'] = 0xFF99;\n t['rupeemarkbengali'] = 0x09F2;\n t['rupeesignbengali'] = 0x09F3;\n t['rupiah'] = 0xF6DD;\n t['ruthai'] = 0x0E24;\n t['rvocalicbengali'] = 0x098B;\n t['rvocalicdeva'] = 0x090B;\n t['rvocalicgujarati'] = 0x0A8B;\n t['rvocalicvowelsignbengali'] = 0x09C3;\n t['rvocalicvowelsigndeva'] = 0x0943;\n t['rvocalicvowelsigngujarati'] = 0x0AC3;\n t['s'] = 0x0073;\n t['sabengali'] = 0x09B8;\n t['sacute'] = 0x015B;\n t['sacutedotaccent'] = 0x1E65;\n t['sadarabic'] = 0x0635;\n t['sadeva'] = 0x0938;\n t['sadfinalarabic'] = 0xFEBA;\n t['sadinitialarabic'] = 0xFEBB;\n t['sadmedialarabic'] = 0xFEBC;\n t['sagujarati'] = 0x0AB8;\n t['sagurmukhi'] = 0x0A38;\n t['sahiragana'] = 0x3055;\n t['sakatakana'] = 0x30B5;\n t['sakatakanahalfwidth'] = 0xFF7B;\n t['sallallahoualayhewasallamarabic'] = 0xFDFA;\n t['samekh'] = 0x05E1;\n t['samekhdagesh'] = 0xFB41;\n t['samekhdageshhebrew'] = 0xFB41;\n t['samekhhebrew'] = 0x05E1;\n t['saraaathai'] = 0x0E32;\n t['saraaethai'] = 0x0E41;\n t['saraaimaimalaithai'] = 0x0E44;\n t['saraaimaimuanthai'] = 0x0E43;\n t['saraamthai'] = 0x0E33;\n t['saraathai'] = 0x0E30;\n t['saraethai'] = 0x0E40;\n t['saraiileftthai'] = 0xF886;\n t['saraiithai'] = 0x0E35;\n t['saraileftthai'] = 0xF885;\n t['saraithai'] = 0x0E34;\n t['saraothai'] = 0x0E42;\n t['saraueeleftthai'] = 0xF888;\n t['saraueethai'] = 0x0E37;\n t['saraueleftthai'] = 0xF887;\n t['sarauethai'] = 0x0E36;\n t['sarauthai'] = 0x0E38;\n t['sarauuthai'] = 0x0E39;\n t['sbopomofo'] = 0x3119;\n t['scaron'] = 0x0161;\n t['scarondotaccent'] = 0x1E67;\n t['scedilla'] = 0x015F;\n t['schwa'] = 0x0259;\n t['schwacyrillic'] = 0x04D9;\n t['schwadieresiscyrillic'] = 0x04DB;\n t['schwahook'] = 0x025A;\n t['scircle'] = 0x24E2;\n t['scircumflex'] = 0x015D;\n t['scommaaccent'] = 0x0219;\n t['sdotaccent'] = 0x1E61;\n t['sdotbelow'] = 0x1E63;\n t['sdotbelowdotaccent'] = 0x1E69;\n t['seagullbelowcmb'] = 0x033C;\n t['second'] = 0x2033;\n t['secondtonechinese'] = 0x02CA;\n t['section'] = 0x00A7;\n t['seenarabic'] = 0x0633;\n t['seenfinalarabic'] = 0xFEB2;\n t['seeninitialarabic'] = 0xFEB3;\n t['seenmedialarabic'] = 0xFEB4;\n t['segol'] = 0x05B6;\n t['segol13'] = 0x05B6;\n t['segol1f'] = 0x05B6;\n t['segol2c'] = 0x05B6;\n t['segolhebrew'] = 0x05B6;\n t['segolnarrowhebrew'] = 0x05B6;\n t['segolquarterhebrew'] = 0x05B6;\n t['segoltahebrew'] = 0x0592;\n t['segolwidehebrew'] = 0x05B6;\n t['seharmenian'] = 0x057D;\n t['sehiragana'] = 0x305B;\n t['sekatakana'] = 0x30BB;\n t['sekatakanahalfwidth'] = 0xFF7E;\n t['semicolon'] = 0x003B;\n t['semicolonarabic'] = 0x061B;\n t['semicolonmonospace'] = 0xFF1B;\n t['semicolonsmall'] = 0xFE54;\n t['semivoicedmarkkana'] = 0x309C;\n t['semivoicedmarkkanahalfwidth'] = 0xFF9F;\n t['sentisquare'] = 0x3322;\n t['sentosquare'] = 0x3323;\n t['seven'] = 0x0037;\n t['sevenarabic'] = 0x0667;\n t['sevenbengali'] = 0x09ED;\n t['sevencircle'] = 0x2466;\n t['sevencircleinversesansserif'] = 0x2790;\n t['sevendeva'] = 0x096D;\n t['seveneighths'] = 0x215E;\n t['sevengujarati'] = 0x0AED;\n t['sevengurmukhi'] = 0x0A6D;\n t['sevenhackarabic'] = 0x0667;\n t['sevenhangzhou'] = 0x3027;\n t['sevenideographicparen'] = 0x3226;\n t['seveninferior'] = 0x2087;\n t['sevenmonospace'] = 0xFF17;\n t['sevenoldstyle'] = 0xF737;\n t['sevenparen'] = 0x247A;\n t['sevenperiod'] = 0x248E;\n t['sevenpersian'] = 0x06F7;\n t['sevenroman'] = 0x2176;\n t['sevensuperior'] = 0x2077;\n t['seventeencircle'] = 0x2470;\n t['seventeenparen'] = 0x2484;\n t['seventeenperiod'] = 0x2498;\n t['seventhai'] = 0x0E57;\n t['sfthyphen'] = 0x00AD;\n t['shaarmenian'] = 0x0577;\n t['shabengali'] = 0x09B6;\n t['shacyrillic'] = 0x0448;\n t['shaddaarabic'] = 0x0651;\n t['shaddadammaarabic'] = 0xFC61;\n t['shaddadammatanarabic'] = 0xFC5E;\n t['shaddafathaarabic'] = 0xFC60;\n t['shaddakasraarabic'] = 0xFC62;\n t['shaddakasratanarabic'] = 0xFC5F;\n t['shade'] = 0x2592;\n t['shadedark'] = 0x2593;\n t['shadelight'] = 0x2591;\n t['shademedium'] = 0x2592;\n t['shadeva'] = 0x0936;\n t['shagujarati'] = 0x0AB6;\n t['shagurmukhi'] = 0x0A36;\n t['shalshelethebrew'] = 0x0593;\n t['shbopomofo'] = 0x3115;\n t['shchacyrillic'] = 0x0449;\n t['sheenarabic'] = 0x0634;\n t['sheenfinalarabic'] = 0xFEB6;\n t['sheeninitialarabic'] = 0xFEB7;\n t['sheenmedialarabic'] = 0xFEB8;\n t['sheicoptic'] = 0x03E3;\n t['sheqel'] = 0x20AA;\n t['sheqelhebrew'] = 0x20AA;\n t['sheva'] = 0x05B0;\n t['sheva115'] = 0x05B0;\n t['sheva15'] = 0x05B0;\n t['sheva22'] = 0x05B0;\n t['sheva2e'] = 0x05B0;\n t['shevahebrew'] = 0x05B0;\n t['shevanarrowhebrew'] = 0x05B0;\n t['shevaquarterhebrew'] = 0x05B0;\n t['shevawidehebrew'] = 0x05B0;\n t['shhacyrillic'] = 0x04BB;\n t['shimacoptic'] = 0x03ED;\n t['shin'] = 0x05E9;\n t['shindagesh'] = 0xFB49;\n t['shindageshhebrew'] = 0xFB49;\n t['shindageshshindot'] = 0xFB2C;\n t['shindageshshindothebrew'] = 0xFB2C;\n t['shindageshsindot'] = 0xFB2D;\n t['shindageshsindothebrew'] = 0xFB2D;\n t['shindothebrew'] = 0x05C1;\n t['shinhebrew'] = 0x05E9;\n t['shinshindot'] = 0xFB2A;\n t['shinshindothebrew'] = 0xFB2A;\n t['shinsindot'] = 0xFB2B;\n t['shinsindothebrew'] = 0xFB2B;\n t['shook'] = 0x0282;\n t['sigma'] = 0x03C3;\n t['sigma1'] = 0x03C2;\n t['sigmafinal'] = 0x03C2;\n t['sigmalunatesymbolgreek'] = 0x03F2;\n t['sihiragana'] = 0x3057;\n t['sikatakana'] = 0x30B7;\n t['sikatakanahalfwidth'] = 0xFF7C;\n t['siluqhebrew'] = 0x05BD;\n t['siluqlefthebrew'] = 0x05BD;\n t['similar'] = 0x223C;\n t['sindothebrew'] = 0x05C2;\n t['siosacirclekorean'] = 0x3274;\n t['siosaparenkorean'] = 0x3214;\n t['sioscieuckorean'] = 0x317E;\n t['sioscirclekorean'] = 0x3266;\n t['sioskiyeokkorean'] = 0x317A;\n t['sioskorean'] = 0x3145;\n t['siosnieunkorean'] = 0x317B;\n t['siosparenkorean'] = 0x3206;\n t['siospieupkorean'] = 0x317D;\n t['siostikeutkorean'] = 0x317C;\n t['six'] = 0x0036;\n t['sixarabic'] = 0x0666;\n t['sixbengali'] = 0x09EC;\n t['sixcircle'] = 0x2465;\n t['sixcircleinversesansserif'] = 0x278F;\n t['sixdeva'] = 0x096C;\n t['sixgujarati'] = 0x0AEC;\n t['sixgurmukhi'] = 0x0A6C;\n t['sixhackarabic'] = 0x0666;\n t['sixhangzhou'] = 0x3026;\n t['sixideographicparen'] = 0x3225;\n t['sixinferior'] = 0x2086;\n t['sixmonospace'] = 0xFF16;\n t['sixoldstyle'] = 0xF736;\n t['sixparen'] = 0x2479;\n t['sixperiod'] = 0x248D;\n t['sixpersian'] = 0x06F6;\n t['sixroman'] = 0x2175;\n t['sixsuperior'] = 0x2076;\n t['sixteencircle'] = 0x246F;\n t['sixteencurrencydenominatorbengali'] = 0x09F9;\n t['sixteenparen'] = 0x2483;\n t['sixteenperiod'] = 0x2497;\n t['sixthai'] = 0x0E56;\n t['slash'] = 0x002F;\n t['slashmonospace'] = 0xFF0F;\n t['slong'] = 0x017F;\n t['slongdotaccent'] = 0x1E9B;\n t['smileface'] = 0x263A;\n t['smonospace'] = 0xFF53;\n t['sofpasuqhebrew'] = 0x05C3;\n t['softhyphen'] = 0x00AD;\n t['softsigncyrillic'] = 0x044C;\n t['sohiragana'] = 0x305D;\n t['sokatakana'] = 0x30BD;\n t['sokatakanahalfwidth'] = 0xFF7F;\n t['soliduslongoverlaycmb'] = 0x0338;\n t['solidusshortoverlaycmb'] = 0x0337;\n t['sorusithai'] = 0x0E29;\n t['sosalathai'] = 0x0E28;\n t['sosothai'] = 0x0E0B;\n t['sosuathai'] = 0x0E2A;\n t['space'] = 0x0020;\n t['spacehackarabic'] = 0x0020;\n t['spade'] = 0x2660;\n t['spadesuitblack'] = 0x2660;\n t['spadesuitwhite'] = 0x2664;\n t['sparen'] = 0x24AE;\n t['squarebelowcmb'] = 0x033B;\n t['squarecc'] = 0x33C4;\n t['squarecm'] = 0x339D;\n t['squarediagonalcrosshatchfill'] = 0x25A9;\n t['squarehorizontalfill'] = 0x25A4;\n t['squarekg'] = 0x338F;\n t['squarekm'] = 0x339E;\n t['squarekmcapital'] = 0x33CE;\n t['squareln'] = 0x33D1;\n t['squarelog'] = 0x33D2;\n t['squaremg'] = 0x338E;\n t['squaremil'] = 0x33D5;\n t['squaremm'] = 0x339C;\n t['squaremsquared'] = 0x33A1;\n t['squareorthogonalcrosshatchfill'] = 0x25A6;\n t['squareupperlefttolowerrightfill'] = 0x25A7;\n t['squareupperrighttolowerleftfill'] = 0x25A8;\n t['squareverticalfill'] = 0x25A5;\n t['squarewhitewithsmallblack'] = 0x25A3;\n t['srsquare'] = 0x33DB;\n t['ssabengali'] = 0x09B7;\n t['ssadeva'] = 0x0937;\n t['ssagujarati'] = 0x0AB7;\n t['ssangcieuckorean'] = 0x3149;\n t['ssanghieuhkorean'] = 0x3185;\n t['ssangieungkorean'] = 0x3180;\n t['ssangkiyeokkorean'] = 0x3132;\n t['ssangnieunkorean'] = 0x3165;\n t['ssangpieupkorean'] = 0x3143;\n t['ssangsioskorean'] = 0x3146;\n t['ssangtikeutkorean'] = 0x3138;\n t['ssuperior'] = 0xF6F2;\n t['sterling'] = 0x00A3;\n t['sterlingmonospace'] = 0xFFE1;\n t['strokelongoverlaycmb'] = 0x0336;\n t['strokeshortoverlaycmb'] = 0x0335;\n t['subset'] = 0x2282;\n t['subsetnotequal'] = 0x228A;\n t['subsetorequal'] = 0x2286;\n t['succeeds'] = 0x227B;\n t['suchthat'] = 0x220B;\n t['suhiragana'] = 0x3059;\n t['sukatakana'] = 0x30B9;\n t['sukatakanahalfwidth'] = 0xFF7D;\n t['sukunarabic'] = 0x0652;\n t['summation'] = 0x2211;\n t['sun'] = 0x263C;\n t['superset'] = 0x2283;\n t['supersetnotequal'] = 0x228B;\n t['supersetorequal'] = 0x2287;\n t['svsquare'] = 0x33DC;\n t['syouwaerasquare'] = 0x337C;\n t['t'] = 0x0074;\n t['tabengali'] = 0x09A4;\n t['tackdown'] = 0x22A4;\n t['tackleft'] = 0x22A3;\n t['tadeva'] = 0x0924;\n t['tagujarati'] = 0x0AA4;\n t['tagurmukhi'] = 0x0A24;\n t['taharabic'] = 0x0637;\n t['tahfinalarabic'] = 0xFEC2;\n t['tahinitialarabic'] = 0xFEC3;\n t['tahiragana'] = 0x305F;\n t['tahmedialarabic'] = 0xFEC4;\n t['taisyouerasquare'] = 0x337D;\n t['takatakana'] = 0x30BF;\n t['takatakanahalfwidth'] = 0xFF80;\n t['tatweelarabic'] = 0x0640;\n t['tau'] = 0x03C4;\n t['tav'] = 0x05EA;\n t['tavdages'] = 0xFB4A;\n t['tavdagesh'] = 0xFB4A;\n t['tavdageshhebrew'] = 0xFB4A;\n t['tavhebrew'] = 0x05EA;\n t['tbar'] = 0x0167;\n t['tbopomofo'] = 0x310A;\n t['tcaron'] = 0x0165;\n t['tccurl'] = 0x02A8;\n t['tcedilla'] = 0x0163;\n t['tcheharabic'] = 0x0686;\n t['tchehfinalarabic'] = 0xFB7B;\n t['tchehinitialarabic'] = 0xFB7C;\n t['tchehmedialarabic'] = 0xFB7D;\n t['tcircle'] = 0x24E3;\n t['tcircumflexbelow'] = 0x1E71;\n t['tcommaaccent'] = 0x0163;\n t['tdieresis'] = 0x1E97;\n t['tdotaccent'] = 0x1E6B;\n t['tdotbelow'] = 0x1E6D;\n t['tecyrillic'] = 0x0442;\n t['tedescendercyrillic'] = 0x04AD;\n t['teharabic'] = 0x062A;\n t['tehfinalarabic'] = 0xFE96;\n t['tehhahinitialarabic'] = 0xFCA2;\n t['tehhahisolatedarabic'] = 0xFC0C;\n t['tehinitialarabic'] = 0xFE97;\n t['tehiragana'] = 0x3066;\n t['tehjeeminitialarabic'] = 0xFCA1;\n t['tehjeemisolatedarabic'] = 0xFC0B;\n t['tehmarbutaarabic'] = 0x0629;\n t['tehmarbutafinalarabic'] = 0xFE94;\n t['tehmedialarabic'] = 0xFE98;\n t['tehmeeminitialarabic'] = 0xFCA4;\n t['tehmeemisolatedarabic'] = 0xFC0E;\n t['tehnoonfinalarabic'] = 0xFC73;\n t['tekatakana'] = 0x30C6;\n t['tekatakanahalfwidth'] = 0xFF83;\n t['telephone'] = 0x2121;\n t['telephoneblack'] = 0x260E;\n t['telishagedolahebrew'] = 0x05A0;\n t['telishaqetanahebrew'] = 0x05A9;\n t['tencircle'] = 0x2469;\n t['tenideographicparen'] = 0x3229;\n t['tenparen'] = 0x247D;\n t['tenperiod'] = 0x2491;\n t['tenroman'] = 0x2179;\n t['tesh'] = 0x02A7;\n t['tet'] = 0x05D8;\n t['tetdagesh'] = 0xFB38;\n t['tetdageshhebrew'] = 0xFB38;\n t['tethebrew'] = 0x05D8;\n t['tetsecyrillic'] = 0x04B5;\n t['tevirhebrew'] = 0x059B;\n t['tevirlefthebrew'] = 0x059B;\n t['thabengali'] = 0x09A5;\n t['thadeva'] = 0x0925;\n t['thagujarati'] = 0x0AA5;\n t['thagurmukhi'] = 0x0A25;\n t['thalarabic'] = 0x0630;\n t['thalfinalarabic'] = 0xFEAC;\n t['thanthakhatlowleftthai'] = 0xF898;\n t['thanthakhatlowrightthai'] = 0xF897;\n t['thanthakhatthai'] = 0x0E4C;\n t['thanthakhatupperleftthai'] = 0xF896;\n t['theharabic'] = 0x062B;\n t['thehfinalarabic'] = 0xFE9A;\n t['thehinitialarabic'] = 0xFE9B;\n t['thehmedialarabic'] = 0xFE9C;\n t['thereexists'] = 0x2203;\n t['therefore'] = 0x2234;\n t['theta'] = 0x03B8;\n t['theta1'] = 0x03D1;\n t['thetasymbolgreek'] = 0x03D1;\n t['thieuthacirclekorean'] = 0x3279;\n t['thieuthaparenkorean'] = 0x3219;\n t['thieuthcirclekorean'] = 0x326B;\n t['thieuthkorean'] = 0x314C;\n t['thieuthparenkorean'] = 0x320B;\n t['thirteencircle'] = 0x246C;\n t['thirteenparen'] = 0x2480;\n t['thirteenperiod'] = 0x2494;\n t['thonangmonthothai'] = 0x0E11;\n t['thook'] = 0x01AD;\n t['thophuthaothai'] = 0x0E12;\n t['thorn'] = 0x00FE;\n t['thothahanthai'] = 0x0E17;\n t['thothanthai'] = 0x0E10;\n t['thothongthai'] = 0x0E18;\n t['thothungthai'] = 0x0E16;\n t['thousandcyrillic'] = 0x0482;\n t['thousandsseparatorarabic'] = 0x066C;\n t['thousandsseparatorpersian'] = 0x066C;\n t['three'] = 0x0033;\n t['threearabic'] = 0x0663;\n t['threebengali'] = 0x09E9;\n t['threecircle'] = 0x2462;\n t['threecircleinversesansserif'] = 0x278C;\n t['threedeva'] = 0x0969;\n t['threeeighths'] = 0x215C;\n t['threegujarati'] = 0x0AE9;\n t['threegurmukhi'] = 0x0A69;\n t['threehackarabic'] = 0x0663;\n t['threehangzhou'] = 0x3023;\n t['threeideographicparen'] = 0x3222;\n t['threeinferior'] = 0x2083;\n t['threemonospace'] = 0xFF13;\n t['threenumeratorbengali'] = 0x09F6;\n t['threeoldstyle'] = 0xF733;\n t['threeparen'] = 0x2476;\n t['threeperiod'] = 0x248A;\n t['threepersian'] = 0x06F3;\n t['threequarters'] = 0x00BE;\n t['threequartersemdash'] = 0xF6DE;\n t['threeroman'] = 0x2172;\n t['threesuperior'] = 0x00B3;\n t['threethai'] = 0x0E53;\n t['thzsquare'] = 0x3394;\n t['tihiragana'] = 0x3061;\n t['tikatakana'] = 0x30C1;\n t['tikatakanahalfwidth'] = 0xFF81;\n t['tikeutacirclekorean'] = 0x3270;\n t['tikeutaparenkorean'] = 0x3210;\n t['tikeutcirclekorean'] = 0x3262;\n t['tikeutkorean'] = 0x3137;\n t['tikeutparenkorean'] = 0x3202;\n t['tilde'] = 0x02DC;\n t['tildebelowcmb'] = 0x0330;\n t['tildecmb'] = 0x0303;\n t['tildecomb'] = 0x0303;\n t['tildedoublecmb'] = 0x0360;\n t['tildeoperator'] = 0x223C;\n t['tildeoverlaycmb'] = 0x0334;\n t['tildeverticalcmb'] = 0x033E;\n t['timescircle'] = 0x2297;\n t['tipehahebrew'] = 0x0596;\n t['tipehalefthebrew'] = 0x0596;\n t['tippigurmukhi'] = 0x0A70;\n t['titlocyrilliccmb'] = 0x0483;\n t['tiwnarmenian'] = 0x057F;\n t['tlinebelow'] = 0x1E6F;\n t['tmonospace'] = 0xFF54;\n t['toarmenian'] = 0x0569;\n t['tohiragana'] = 0x3068;\n t['tokatakana'] = 0x30C8;\n t['tokatakanahalfwidth'] = 0xFF84;\n t['tonebarextrahighmod'] = 0x02E5;\n t['tonebarextralowmod'] = 0x02E9;\n t['tonebarhighmod'] = 0x02E6;\n t['tonebarlowmod'] = 0x02E8;\n t['tonebarmidmod'] = 0x02E7;\n t['tonefive'] = 0x01BD;\n t['tonesix'] = 0x0185;\n t['tonetwo'] = 0x01A8;\n t['tonos'] = 0x0384;\n t['tonsquare'] = 0x3327;\n t['topatakthai'] = 0x0E0F;\n t['tortoiseshellbracketleft'] = 0x3014;\n t['tortoiseshellbracketleftsmall'] = 0xFE5D;\n t['tortoiseshellbracketleftvertical'] = 0xFE39;\n t['tortoiseshellbracketright'] = 0x3015;\n t['tortoiseshellbracketrightsmall'] = 0xFE5E;\n t['tortoiseshellbracketrightvertical'] = 0xFE3A;\n t['totaothai'] = 0x0E15;\n t['tpalatalhook'] = 0x01AB;\n t['tparen'] = 0x24AF;\n t['trademark'] = 0x2122;\n t['trademarksans'] = 0xF8EA;\n t['trademarkserif'] = 0xF6DB;\n t['tretroflexhook'] = 0x0288;\n t['triagdn'] = 0x25BC;\n t['triaglf'] = 0x25C4;\n t['triagrt'] = 0x25BA;\n t['triagup'] = 0x25B2;\n t['ts'] = 0x02A6;\n t['tsadi'] = 0x05E6;\n t['tsadidagesh'] = 0xFB46;\n t['tsadidageshhebrew'] = 0xFB46;\n t['tsadihebrew'] = 0x05E6;\n t['tsecyrillic'] = 0x0446;\n t['tsere'] = 0x05B5;\n t['tsere12'] = 0x05B5;\n t['tsere1e'] = 0x05B5;\n t['tsere2b'] = 0x05B5;\n t['tserehebrew'] = 0x05B5;\n t['tserenarrowhebrew'] = 0x05B5;\n t['tserequarterhebrew'] = 0x05B5;\n t['tserewidehebrew'] = 0x05B5;\n t['tshecyrillic'] = 0x045B;\n t['tsuperior'] = 0xF6F3;\n t['ttabengali'] = 0x099F;\n t['ttadeva'] = 0x091F;\n t['ttagujarati'] = 0x0A9F;\n t['ttagurmukhi'] = 0x0A1F;\n t['tteharabic'] = 0x0679;\n t['ttehfinalarabic'] = 0xFB67;\n t['ttehinitialarabic'] = 0xFB68;\n t['ttehmedialarabic'] = 0xFB69;\n t['tthabengali'] = 0x09A0;\n t['tthadeva'] = 0x0920;\n t['tthagujarati'] = 0x0AA0;\n t['tthagurmukhi'] = 0x0A20;\n t['tturned'] = 0x0287;\n t['tuhiragana'] = 0x3064;\n t['tukatakana'] = 0x30C4;\n t['tukatakanahalfwidth'] = 0xFF82;\n t['tusmallhiragana'] = 0x3063;\n t['tusmallkatakana'] = 0x30C3;\n t['tusmallkatakanahalfwidth'] = 0xFF6F;\n t['twelvecircle'] = 0x246B;\n t['twelveparen'] = 0x247F;\n t['twelveperiod'] = 0x2493;\n t['twelveroman'] = 0x217B;\n t['twentycircle'] = 0x2473;\n t['twentyhangzhou'] = 0x5344;\n t['twentyparen'] = 0x2487;\n t['twentyperiod'] = 0x249B;\n t['two'] = 0x0032;\n t['twoarabic'] = 0x0662;\n t['twobengali'] = 0x09E8;\n t['twocircle'] = 0x2461;\n t['twocircleinversesansserif'] = 0x278B;\n t['twodeva'] = 0x0968;\n t['twodotenleader'] = 0x2025;\n t['twodotleader'] = 0x2025;\n t['twodotleadervertical'] = 0xFE30;\n t['twogujarati'] = 0x0AE8;\n t['twogurmukhi'] = 0x0A68;\n t['twohackarabic'] = 0x0662;\n t['twohangzhou'] = 0x3022;\n t['twoideographicparen'] = 0x3221;\n t['twoinferior'] = 0x2082;\n t['twomonospace'] = 0xFF12;\n t['twonumeratorbengali'] = 0x09F5;\n t['twooldstyle'] = 0xF732;\n t['twoparen'] = 0x2475;\n t['twoperiod'] = 0x2489;\n t['twopersian'] = 0x06F2;\n t['tworoman'] = 0x2171;\n t['twostroke'] = 0x01BB;\n t['twosuperior'] = 0x00B2;\n t['twothai'] = 0x0E52;\n t['twothirds'] = 0x2154;\n t['u'] = 0x0075;\n t['uacute'] = 0x00FA;\n t['ubar'] = 0x0289;\n t['ubengali'] = 0x0989;\n t['ubopomofo'] = 0x3128;\n t['ubreve'] = 0x016D;\n t['ucaron'] = 0x01D4;\n t['ucircle'] = 0x24E4;\n t['ucircumflex'] = 0x00FB;\n t['ucircumflexbelow'] = 0x1E77;\n t['ucyrillic'] = 0x0443;\n t['udattadeva'] = 0x0951;\n t['udblacute'] = 0x0171;\n t['udblgrave'] = 0x0215;\n t['udeva'] = 0x0909;\n t['udieresis'] = 0x00FC;\n t['udieresisacute'] = 0x01D8;\n t['udieresisbelow'] = 0x1E73;\n t['udieresiscaron'] = 0x01DA;\n t['udieresiscyrillic'] = 0x04F1;\n t['udieresisgrave'] = 0x01DC;\n t['udieresismacron'] = 0x01D6;\n t['udotbelow'] = 0x1EE5;\n t['ugrave'] = 0x00F9;\n t['ugujarati'] = 0x0A89;\n t['ugurmukhi'] = 0x0A09;\n t['uhiragana'] = 0x3046;\n t['uhookabove'] = 0x1EE7;\n t['uhorn'] = 0x01B0;\n t['uhornacute'] = 0x1EE9;\n t['uhorndotbelow'] = 0x1EF1;\n t['uhorngrave'] = 0x1EEB;\n t['uhornhookabove'] = 0x1EED;\n t['uhorntilde'] = 0x1EEF;\n t['uhungarumlaut'] = 0x0171;\n t['uhungarumlautcyrillic'] = 0x04F3;\n t['uinvertedbreve'] = 0x0217;\n t['ukatakana'] = 0x30A6;\n t['ukatakanahalfwidth'] = 0xFF73;\n t['ukcyrillic'] = 0x0479;\n t['ukorean'] = 0x315C;\n t['umacron'] = 0x016B;\n t['umacroncyrillic'] = 0x04EF;\n t['umacrondieresis'] = 0x1E7B;\n t['umatragurmukhi'] = 0x0A41;\n t['umonospace'] = 0xFF55;\n t['underscore'] = 0x005F;\n t['underscoredbl'] = 0x2017;\n t['underscoremonospace'] = 0xFF3F;\n t['underscorevertical'] = 0xFE33;\n t['underscorewavy'] = 0xFE4F;\n t['union'] = 0x222A;\n t['universal'] = 0x2200;\n t['uogonek'] = 0x0173;\n t['uparen'] = 0x24B0;\n t['upblock'] = 0x2580;\n t['upperdothebrew'] = 0x05C4;\n t['upsilon'] = 0x03C5;\n t['upsilondieresis'] = 0x03CB;\n t['upsilondieresistonos'] = 0x03B0;\n t['upsilonlatin'] = 0x028A;\n t['upsilontonos'] = 0x03CD;\n t['uptackbelowcmb'] = 0x031D;\n t['uptackmod'] = 0x02D4;\n t['uragurmukhi'] = 0x0A73;\n t['uring'] = 0x016F;\n t['ushortcyrillic'] = 0x045E;\n t['usmallhiragana'] = 0x3045;\n t['usmallkatakana'] = 0x30A5;\n t['usmallkatakanahalfwidth'] = 0xFF69;\n t['ustraightcyrillic'] = 0x04AF;\n t['ustraightstrokecyrillic'] = 0x04B1;\n t['utilde'] = 0x0169;\n t['utildeacute'] = 0x1E79;\n t['utildebelow'] = 0x1E75;\n t['uubengali'] = 0x098A;\n t['uudeva'] = 0x090A;\n t['uugujarati'] = 0x0A8A;\n t['uugurmukhi'] = 0x0A0A;\n t['uumatragurmukhi'] = 0x0A42;\n t['uuvowelsignbengali'] = 0x09C2;\n t['uuvowelsigndeva'] = 0x0942;\n t['uuvowelsigngujarati'] = 0x0AC2;\n t['uvowelsignbengali'] = 0x09C1;\n t['uvowelsigndeva'] = 0x0941;\n t['uvowelsigngujarati'] = 0x0AC1;\n t['v'] = 0x0076;\n t['vadeva'] = 0x0935;\n t['vagujarati'] = 0x0AB5;\n t['vagurmukhi'] = 0x0A35;\n t['vakatakana'] = 0x30F7;\n t['vav'] = 0x05D5;\n t['vavdagesh'] = 0xFB35;\n t['vavdagesh65'] = 0xFB35;\n t['vavdageshhebrew'] = 0xFB35;\n t['vavhebrew'] = 0x05D5;\n t['vavholam'] = 0xFB4B;\n t['vavholamhebrew'] = 0xFB4B;\n t['vavvavhebrew'] = 0x05F0;\n t['vavyodhebrew'] = 0x05F1;\n t['vcircle'] = 0x24E5;\n t['vdotbelow'] = 0x1E7F;\n t['vecyrillic'] = 0x0432;\n t['veharabic'] = 0x06A4;\n t['vehfinalarabic'] = 0xFB6B;\n t['vehinitialarabic'] = 0xFB6C;\n t['vehmedialarabic'] = 0xFB6D;\n t['vekatakana'] = 0x30F9;\n t['venus'] = 0x2640;\n t['verticalbar'] = 0x007C;\n t['verticallineabovecmb'] = 0x030D;\n t['verticallinebelowcmb'] = 0x0329;\n t['verticallinelowmod'] = 0x02CC;\n t['verticallinemod'] = 0x02C8;\n t['vewarmenian'] = 0x057E;\n t['vhook'] = 0x028B;\n t['vikatakana'] = 0x30F8;\n t['viramabengali'] = 0x09CD;\n t['viramadeva'] = 0x094D;\n t['viramagujarati'] = 0x0ACD;\n t['visargabengali'] = 0x0983;\n t['visargadeva'] = 0x0903;\n t['visargagujarati'] = 0x0A83;\n t['vmonospace'] = 0xFF56;\n t['voarmenian'] = 0x0578;\n t['voicediterationhiragana'] = 0x309E;\n t['voicediterationkatakana'] = 0x30FE;\n t['voicedmarkkana'] = 0x309B;\n t['voicedmarkkanahalfwidth'] = 0xFF9E;\n t['vokatakana'] = 0x30FA;\n t['vparen'] = 0x24B1;\n t['vtilde'] = 0x1E7D;\n t['vturned'] = 0x028C;\n t['vuhiragana'] = 0x3094;\n t['vukatakana'] = 0x30F4;\n t['w'] = 0x0077;\n t['wacute'] = 0x1E83;\n t['waekorean'] = 0x3159;\n t['wahiragana'] = 0x308F;\n t['wakatakana'] = 0x30EF;\n t['wakatakanahalfwidth'] = 0xFF9C;\n t['wakorean'] = 0x3158;\n t['wasmallhiragana'] = 0x308E;\n t['wasmallkatakana'] = 0x30EE;\n t['wattosquare'] = 0x3357;\n t['wavedash'] = 0x301C;\n t['wavyunderscorevertical'] = 0xFE34;\n t['wawarabic'] = 0x0648;\n t['wawfinalarabic'] = 0xFEEE;\n t['wawhamzaabovearabic'] = 0x0624;\n t['wawhamzaabovefinalarabic'] = 0xFE86;\n t['wbsquare'] = 0x33DD;\n t['wcircle'] = 0x24E6;\n t['wcircumflex'] = 0x0175;\n t['wdieresis'] = 0x1E85;\n t['wdotaccent'] = 0x1E87;\n t['wdotbelow'] = 0x1E89;\n t['wehiragana'] = 0x3091;\n t['weierstrass'] = 0x2118;\n t['wekatakana'] = 0x30F1;\n t['wekorean'] = 0x315E;\n t['weokorean'] = 0x315D;\n t['wgrave'] = 0x1E81;\n t['whitebullet'] = 0x25E6;\n t['whitecircle'] = 0x25CB;\n t['whitecircleinverse'] = 0x25D9;\n t['whitecornerbracketleft'] = 0x300E;\n t['whitecornerbracketleftvertical'] = 0xFE43;\n t['whitecornerbracketright'] = 0x300F;\n t['whitecornerbracketrightvertical'] = 0xFE44;\n t['whitediamond'] = 0x25C7;\n t['whitediamondcontainingblacksmalldiamond'] = 0x25C8;\n t['whitedownpointingsmalltriangle'] = 0x25BF;\n t['whitedownpointingtriangle'] = 0x25BD;\n t['whiteleftpointingsmalltriangle'] = 0x25C3;\n t['whiteleftpointingtriangle'] = 0x25C1;\n t['whitelenticularbracketleft'] = 0x3016;\n t['whitelenticularbracketright'] = 0x3017;\n t['whiterightpointingsmalltriangle'] = 0x25B9;\n t['whiterightpointingtriangle'] = 0x25B7;\n t['whitesmallsquare'] = 0x25AB;\n t['whitesmilingface'] = 0x263A;\n t['whitesquare'] = 0x25A1;\n t['whitestar'] = 0x2606;\n t['whitetelephone'] = 0x260F;\n t['whitetortoiseshellbracketleft'] = 0x3018;\n t['whitetortoiseshellbracketright'] = 0x3019;\n t['whiteuppointingsmalltriangle'] = 0x25B5;\n t['whiteuppointingtriangle'] = 0x25B3;\n t['wihiragana'] = 0x3090;\n t['wikatakana'] = 0x30F0;\n t['wikorean'] = 0x315F;\n t['wmonospace'] = 0xFF57;\n t['wohiragana'] = 0x3092;\n t['wokatakana'] = 0x30F2;\n t['wokatakanahalfwidth'] = 0xFF66;\n t['won'] = 0x20A9;\n t['wonmonospace'] = 0xFFE6;\n t['wowaenthai'] = 0x0E27;\n t['wparen'] = 0x24B2;\n t['wring'] = 0x1E98;\n t['wsuperior'] = 0x02B7;\n t['wturned'] = 0x028D;\n t['wynn'] = 0x01BF;\n t['x'] = 0x0078;\n t['xabovecmb'] = 0x033D;\n t['xbopomofo'] = 0x3112;\n t['xcircle'] = 0x24E7;\n t['xdieresis'] = 0x1E8D;\n t['xdotaccent'] = 0x1E8B;\n t['xeharmenian'] = 0x056D;\n t['xi'] = 0x03BE;\n t['xmonospace'] = 0xFF58;\n t['xparen'] = 0x24B3;\n t['xsuperior'] = 0x02E3;\n t['y'] = 0x0079;\n t['yaadosquare'] = 0x334E;\n t['yabengali'] = 0x09AF;\n t['yacute'] = 0x00FD;\n t['yadeva'] = 0x092F;\n t['yaekorean'] = 0x3152;\n t['yagujarati'] = 0x0AAF;\n t['yagurmukhi'] = 0x0A2F;\n t['yahiragana'] = 0x3084;\n t['yakatakana'] = 0x30E4;\n t['yakatakanahalfwidth'] = 0xFF94;\n t['yakorean'] = 0x3151;\n t['yamakkanthai'] = 0x0E4E;\n t['yasmallhiragana'] = 0x3083;\n t['yasmallkatakana'] = 0x30E3;\n t['yasmallkatakanahalfwidth'] = 0xFF6C;\n t['yatcyrillic'] = 0x0463;\n t['ycircle'] = 0x24E8;\n t['ycircumflex'] = 0x0177;\n t['ydieresis'] = 0x00FF;\n t['ydotaccent'] = 0x1E8F;\n t['ydotbelow'] = 0x1EF5;\n t['yeharabic'] = 0x064A;\n t['yehbarreearabic'] = 0x06D2;\n t['yehbarreefinalarabic'] = 0xFBAF;\n t['yehfinalarabic'] = 0xFEF2;\n t['yehhamzaabovearabic'] = 0x0626;\n t['yehhamzaabovefinalarabic'] = 0xFE8A;\n t['yehhamzaaboveinitialarabic'] = 0xFE8B;\n t['yehhamzaabovemedialarabic'] = 0xFE8C;\n t['yehinitialarabic'] = 0xFEF3;\n t['yehmedialarabic'] = 0xFEF4;\n t['yehmeeminitialarabic'] = 0xFCDD;\n t['yehmeemisolatedarabic'] = 0xFC58;\n t['yehnoonfinalarabic'] = 0xFC94;\n t['yehthreedotsbelowarabic'] = 0x06D1;\n t['yekorean'] = 0x3156;\n t['yen'] = 0x00A5;\n t['yenmonospace'] = 0xFFE5;\n t['yeokorean'] = 0x3155;\n t['yeorinhieuhkorean'] = 0x3186;\n t['yerahbenyomohebrew'] = 0x05AA;\n t['yerahbenyomolefthebrew'] = 0x05AA;\n t['yericyrillic'] = 0x044B;\n t['yerudieresiscyrillic'] = 0x04F9;\n t['yesieungkorean'] = 0x3181;\n t['yesieungpansioskorean'] = 0x3183;\n t['yesieungsioskorean'] = 0x3182;\n t['yetivhebrew'] = 0x059A;\n t['ygrave'] = 0x1EF3;\n t['yhook'] = 0x01B4;\n t['yhookabove'] = 0x1EF7;\n t['yiarmenian'] = 0x0575;\n t['yicyrillic'] = 0x0457;\n t['yikorean'] = 0x3162;\n t['yinyang'] = 0x262F;\n t['yiwnarmenian'] = 0x0582;\n t['ymonospace'] = 0xFF59;\n t['yod'] = 0x05D9;\n t['yoddagesh'] = 0xFB39;\n t['yoddageshhebrew'] = 0xFB39;\n t['yodhebrew'] = 0x05D9;\n t['yodyodhebrew'] = 0x05F2;\n t['yodyodpatahhebrew'] = 0xFB1F;\n t['yohiragana'] = 0x3088;\n t['yoikorean'] = 0x3189;\n t['yokatakana'] = 0x30E8;\n t['yokatakanahalfwidth'] = 0xFF96;\n t['yokorean'] = 0x315B;\n t['yosmallhiragana'] = 0x3087;\n t['yosmallkatakana'] = 0x30E7;\n t['yosmallkatakanahalfwidth'] = 0xFF6E;\n t['yotgreek'] = 0x03F3;\n t['yoyaekorean'] = 0x3188;\n t['yoyakorean'] = 0x3187;\n t['yoyakthai'] = 0x0E22;\n t['yoyingthai'] = 0x0E0D;\n t['yparen'] = 0x24B4;\n t['ypogegrammeni'] = 0x037A;\n t['ypogegrammenigreekcmb'] = 0x0345;\n t['yr'] = 0x01A6;\n t['yring'] = 0x1E99;\n t['ysuperior'] = 0x02B8;\n t['ytilde'] = 0x1EF9;\n t['yturned'] = 0x028E;\n t['yuhiragana'] = 0x3086;\n t['yuikorean'] = 0x318C;\n t['yukatakana'] = 0x30E6;\n t['yukatakanahalfwidth'] = 0xFF95;\n t['yukorean'] = 0x3160;\n t['yusbigcyrillic'] = 0x046B;\n t['yusbigiotifiedcyrillic'] = 0x046D;\n t['yuslittlecyrillic'] = 0x0467;\n t['yuslittleiotifiedcyrillic'] = 0x0469;\n t['yusmallhiragana'] = 0x3085;\n t['yusmallkatakana'] = 0x30E5;\n t['yusmallkatakanahalfwidth'] = 0xFF6D;\n t['yuyekorean'] = 0x318B;\n t['yuyeokorean'] = 0x318A;\n t['yyabengali'] = 0x09DF;\n t['yyadeva'] = 0x095F;\n t['z'] = 0x007A;\n t['zaarmenian'] = 0x0566;\n t['zacute'] = 0x017A;\n t['zadeva'] = 0x095B;\n t['zagurmukhi'] = 0x0A5B;\n t['zaharabic'] = 0x0638;\n t['zahfinalarabic'] = 0xFEC6;\n t['zahinitialarabic'] = 0xFEC7;\n t['zahiragana'] = 0x3056;\n t['zahmedialarabic'] = 0xFEC8;\n t['zainarabic'] = 0x0632;\n t['zainfinalarabic'] = 0xFEB0;\n t['zakatakana'] = 0x30B6;\n t['zaqefgadolhebrew'] = 0x0595;\n t['zaqefqatanhebrew'] = 0x0594;\n t['zarqahebrew'] = 0x0598;\n t['zayin'] = 0x05D6;\n t['zayindagesh'] = 0xFB36;\n t['zayindageshhebrew'] = 0xFB36;\n t['zayinhebrew'] = 0x05D6;\n t['zbopomofo'] = 0x3117;\n t['zcaron'] = 0x017E;\n t['zcircle'] = 0x24E9;\n t['zcircumflex'] = 0x1E91;\n t['zcurl'] = 0x0291;\n t['zdot'] = 0x017C;\n t['zdotaccent'] = 0x017C;\n t['zdotbelow'] = 0x1E93;\n t['zecyrillic'] = 0x0437;\n t['zedescendercyrillic'] = 0x0499;\n t['zedieresiscyrillic'] = 0x04DF;\n t['zehiragana'] = 0x305C;\n t['zekatakana'] = 0x30BC;\n t['zero'] = 0x0030;\n t['zeroarabic'] = 0x0660;\n t['zerobengali'] = 0x09E6;\n t['zerodeva'] = 0x0966;\n t['zerogujarati'] = 0x0AE6;\n t['zerogurmukhi'] = 0x0A66;\n t['zerohackarabic'] = 0x0660;\n t['zeroinferior'] = 0x2080;\n t['zeromonospace'] = 0xFF10;\n t['zerooldstyle'] = 0xF730;\n t['zeropersian'] = 0x06F0;\n t['zerosuperior'] = 0x2070;\n t['zerothai'] = 0x0E50;\n t['zerowidthjoiner'] = 0xFEFF;\n t['zerowidthnonjoiner'] = 0x200C;\n t['zerowidthspace'] = 0x200B;\n t['zeta'] = 0x03B6;\n t['zhbopomofo'] = 0x3113;\n t['zhearmenian'] = 0x056A;\n t['zhebrevecyrillic'] = 0x04C2;\n t['zhecyrillic'] = 0x0436;\n t['zhedescendercyrillic'] = 0x0497;\n t['zhedieresiscyrillic'] = 0x04DD;\n t['zihiragana'] = 0x3058;\n t['zikatakana'] = 0x30B8;\n t['zinorhebrew'] = 0x05AE;\n t['zlinebelow'] = 0x1E95;\n t['zmonospace'] = 0xFF5A;\n t['zohiragana'] = 0x305E;\n t['zokatakana'] = 0x30BE;\n t['zparen'] = 0x24B5;\n t['zretroflexhook'] = 0x0290;\n t['zstroke'] = 0x01B6;\n t['zuhiragana'] = 0x305A;\n t['zukatakana'] = 0x30BA;\n t['.notdef'] = 0x0000;\n t['angbracketleftbig'] = 0x2329;\n t['angbracketleftBig'] = 0x2329;\n t['angbracketleftbigg'] = 0x2329;\n t['angbracketleftBigg'] = 0x2329;\n t['angbracketrightBig'] = 0x232A;\n t['angbracketrightbig'] = 0x232A;\n t['angbracketrightBigg'] = 0x232A;\n t['angbracketrightbigg'] = 0x232A;\n t['arrowhookleft'] = 0x21AA;\n t['arrowhookright'] = 0x21A9;\n t['arrowlefttophalf'] = 0x21BC;\n t['arrowleftbothalf'] = 0x21BD;\n t['arrownortheast'] = 0x2197;\n t['arrownorthwest'] = 0x2196;\n t['arrowrighttophalf'] = 0x21C0;\n t['arrowrightbothalf'] = 0x21C1;\n t['arrowsoutheast'] = 0x2198;\n t['arrowsouthwest'] = 0x2199;\n t['backslashbig'] = 0x2216;\n t['backslashBig'] = 0x2216;\n t['backslashBigg'] = 0x2216;\n t['backslashbigg'] = 0x2216;\n t['bardbl'] = 0x2016;\n t['bracehtipdownleft'] = 0xFE37;\n t['bracehtipdownright'] = 0xFE37;\n t['bracehtipupleft'] = 0xFE38;\n t['bracehtipupright'] = 0xFE38;\n t['braceleftBig'] = 0x007B;\n t['braceleftbig'] = 0x007B;\n t['braceleftbigg'] = 0x007B;\n t['braceleftBigg'] = 0x007B;\n t['bracerightBig'] = 0x007D;\n t['bracerightbig'] = 0x007D;\n t['bracerightbigg'] = 0x007D;\n t['bracerightBigg'] = 0x007D;\n t['bracketleftbig'] = 0x005B;\n t['bracketleftBig'] = 0x005B;\n t['bracketleftbigg'] = 0x005B;\n t['bracketleftBigg'] = 0x005B;\n t['bracketrightBig'] = 0x005D;\n t['bracketrightbig'] = 0x005D;\n t['bracketrightbigg'] = 0x005D;\n t['bracketrightBigg'] = 0x005D;\n t['ceilingleftbig'] = 0x2308;\n t['ceilingleftBig'] = 0x2308;\n t['ceilingleftBigg'] = 0x2308;\n t['ceilingleftbigg'] = 0x2308;\n t['ceilingrightbig'] = 0x2309;\n t['ceilingrightBig'] = 0x2309;\n t['ceilingrightbigg'] = 0x2309;\n t['ceilingrightBigg'] = 0x2309;\n t['circledotdisplay'] = 0x2299;\n t['circledottext'] = 0x2299;\n t['circlemultiplydisplay'] = 0x2297;\n t['circlemultiplytext'] = 0x2297;\n t['circleplusdisplay'] = 0x2295;\n t['circleplustext'] = 0x2295;\n t['contintegraldisplay'] = 0x222E;\n t['contintegraltext'] = 0x222E;\n t['coproductdisplay'] = 0x2210;\n t['coproducttext'] = 0x2210;\n t['floorleftBig'] = 0x230A;\n t['floorleftbig'] = 0x230A;\n t['floorleftbigg'] = 0x230A;\n t['floorleftBigg'] = 0x230A;\n t['floorrightbig'] = 0x230B;\n t['floorrightBig'] = 0x230B;\n t['floorrightBigg'] = 0x230B;\n t['floorrightbigg'] = 0x230B;\n t['hatwide'] = 0x0302;\n t['hatwider'] = 0x0302;\n t['hatwidest'] = 0x0302;\n t['intercal'] = 0x1D40;\n t['integraldisplay'] = 0x222B;\n t['integraltext'] = 0x222B;\n t['intersectiondisplay'] = 0x22C2;\n t['intersectiontext'] = 0x22C2;\n t['logicalanddisplay'] = 0x2227;\n t['logicalandtext'] = 0x2227;\n t['logicalordisplay'] = 0x2228;\n t['logicalortext'] = 0x2228;\n t['parenleftBig'] = 0x0028;\n t['parenleftbig'] = 0x0028;\n t['parenleftBigg'] = 0x0028;\n t['parenleftbigg'] = 0x0028;\n t['parenrightBig'] = 0x0029;\n t['parenrightbig'] = 0x0029;\n t['parenrightBigg'] = 0x0029;\n t['parenrightbigg'] = 0x0029;\n t['prime'] = 0x2032;\n t['productdisplay'] = 0x220F;\n t['producttext'] = 0x220F;\n t['radicalbig'] = 0x221A;\n t['radicalBig'] = 0x221A;\n t['radicalBigg'] = 0x221A;\n t['radicalbigg'] = 0x221A;\n t['radicalbt'] = 0x221A;\n t['radicaltp'] = 0x221A;\n t['radicalvertex'] = 0x221A;\n t['slashbig'] = 0x002F;\n t['slashBig'] = 0x002F;\n t['slashBigg'] = 0x002F;\n t['slashbigg'] = 0x002F;\n t['summationdisplay'] = 0x2211;\n t['summationtext'] = 0x2211;\n t['tildewide'] = 0x02DC;\n t['tildewider'] = 0x02DC;\n t['tildewidest'] = 0x02DC;\n t['uniondisplay'] = 0x22C3;\n t['unionmultidisplay'] = 0x228E;\n t['unionmultitext'] = 0x228E;\n t['unionsqdisplay'] = 0x2294;\n t['unionsqtext'] = 0x2294;\n t['uniontext'] = 0x22C3;\n t['vextenddouble'] = 0x2225;\n t['vextendsingle'] = 0x2223;\n});\nvar getDingbatsGlyphsUnicode = getLookupTableFactory(function (t) {\n t['space'] = 0x0020;\n t['a1'] = 0x2701;\n t['a2'] = 0x2702;\n t['a202'] = 0x2703;\n t['a3'] = 0x2704;\n t['a4'] = 0x260E;\n t['a5'] = 0x2706;\n t['a119'] = 0x2707;\n t['a118'] = 0x2708;\n t['a117'] = 0x2709;\n t['a11'] = 0x261B;\n t['a12'] = 0x261E;\n t['a13'] = 0x270C;\n t['a14'] = 0x270D;\n t['a15'] = 0x270E;\n t['a16'] = 0x270F;\n t['a105'] = 0x2710;\n t['a17'] = 0x2711;\n t['a18'] = 0x2712;\n t['a19'] = 0x2713;\n t['a20'] = 0x2714;\n t['a21'] = 0x2715;\n t['a22'] = 0x2716;\n t['a23'] = 0x2717;\n t['a24'] = 0x2718;\n t['a25'] = 0x2719;\n t['a26'] = 0x271A;\n t['a27'] = 0x271B;\n t['a28'] = 0x271C;\n t['a6'] = 0x271D;\n t['a7'] = 0x271E;\n t['a8'] = 0x271F;\n t['a9'] = 0x2720;\n t['a10'] = 0x2721;\n t['a29'] = 0x2722;\n t['a30'] = 0x2723;\n t['a31'] = 0x2724;\n t['a32'] = 0x2725;\n t['a33'] = 0x2726;\n t['a34'] = 0x2727;\n t['a35'] = 0x2605;\n t['a36'] = 0x2729;\n t['a37'] = 0x272A;\n t['a38'] = 0x272B;\n t['a39'] = 0x272C;\n t['a40'] = 0x272D;\n t['a41'] = 0x272E;\n t['a42'] = 0x272F;\n t['a43'] = 0x2730;\n t['a44'] = 0x2731;\n t['a45'] = 0x2732;\n t['a46'] = 0x2733;\n t['a47'] = 0x2734;\n t['a48'] = 0x2735;\n t['a49'] = 0x2736;\n t['a50'] = 0x2737;\n t['a51'] = 0x2738;\n t['a52'] = 0x2739;\n t['a53'] = 0x273A;\n t['a54'] = 0x273B;\n t['a55'] = 0x273C;\n t['a56'] = 0x273D;\n t['a57'] = 0x273E;\n t['a58'] = 0x273F;\n t['a59'] = 0x2740;\n t['a60'] = 0x2741;\n t['a61'] = 0x2742;\n t['a62'] = 0x2743;\n t['a63'] = 0x2744;\n t['a64'] = 0x2745;\n t['a65'] = 0x2746;\n t['a66'] = 0x2747;\n t['a67'] = 0x2748;\n t['a68'] = 0x2749;\n t['a69'] = 0x274A;\n t['a70'] = 0x274B;\n t['a71'] = 0x25CF;\n t['a72'] = 0x274D;\n t['a73'] = 0x25A0;\n t['a74'] = 0x274F;\n t['a203'] = 0x2750;\n t['a75'] = 0x2751;\n t['a204'] = 0x2752;\n t['a76'] = 0x25B2;\n t['a77'] = 0x25BC;\n t['a78'] = 0x25C6;\n t['a79'] = 0x2756;\n t['a81'] = 0x25D7;\n t['a82'] = 0x2758;\n t['a83'] = 0x2759;\n t['a84'] = 0x275A;\n t['a97'] = 0x275B;\n t['a98'] = 0x275C;\n t['a99'] = 0x275D;\n t['a100'] = 0x275E;\n t['a101'] = 0x2761;\n t['a102'] = 0x2762;\n t['a103'] = 0x2763;\n t['a104'] = 0x2764;\n t['a106'] = 0x2765;\n t['a107'] = 0x2766;\n t['a108'] = 0x2767;\n t['a112'] = 0x2663;\n t['a111'] = 0x2666;\n t['a110'] = 0x2665;\n t['a109'] = 0x2660;\n t['a120'] = 0x2460;\n t['a121'] = 0x2461;\n t['a122'] = 0x2462;\n t['a123'] = 0x2463;\n t['a124'] = 0x2464;\n t['a125'] = 0x2465;\n t['a126'] = 0x2466;\n t['a127'] = 0x2467;\n t['a128'] = 0x2468;\n t['a129'] = 0x2469;\n t['a130'] = 0x2776;\n t['a131'] = 0x2777;\n t['a132'] = 0x2778;\n t['a133'] = 0x2779;\n t['a134'] = 0x277A;\n t['a135'] = 0x277B;\n t['a136'] = 0x277C;\n t['a137'] = 0x277D;\n t['a138'] = 0x277E;\n t['a139'] = 0x277F;\n t['a140'] = 0x2780;\n t['a141'] = 0x2781;\n t['a142'] = 0x2782;\n t['a143'] = 0x2783;\n t['a144'] = 0x2784;\n t['a145'] = 0x2785;\n t['a146'] = 0x2786;\n t['a147'] = 0x2787;\n t['a148'] = 0x2788;\n t['a149'] = 0x2789;\n t['a150'] = 0x278A;\n t['a151'] = 0x278B;\n t['a152'] = 0x278C;\n t['a153'] = 0x278D;\n t['a154'] = 0x278E;\n t['a155'] = 0x278F;\n t['a156'] = 0x2790;\n t['a157'] = 0x2791;\n t['a158'] = 0x2792;\n t['a159'] = 0x2793;\n t['a160'] = 0x2794;\n t['a161'] = 0x2192;\n t['a163'] = 0x2194;\n t['a164'] = 0x2195;\n t['a196'] = 0x2798;\n t['a165'] = 0x2799;\n t['a192'] = 0x279A;\n t['a166'] = 0x279B;\n t['a167'] = 0x279C;\n t['a168'] = 0x279D;\n t['a169'] = 0x279E;\n t['a170'] = 0x279F;\n t['a171'] = 0x27A0;\n t['a172'] = 0x27A1;\n t['a173'] = 0x27A2;\n t['a162'] = 0x27A3;\n t['a174'] = 0x27A4;\n t['a175'] = 0x27A5;\n t['a176'] = 0x27A6;\n t['a177'] = 0x27A7;\n t['a178'] = 0x27A8;\n t['a179'] = 0x27A9;\n t['a193'] = 0x27AA;\n t['a180'] = 0x27AB;\n t['a199'] = 0x27AC;\n t['a181'] = 0x27AD;\n t['a200'] = 0x27AE;\n t['a182'] = 0x27AF;\n t['a201'] = 0x27B1;\n t['a183'] = 0x27B2;\n t['a184'] = 0x27B3;\n t['a197'] = 0x27B4;\n t['a185'] = 0x27B5;\n t['a194'] = 0x27B6;\n t['a198'] = 0x27B7;\n t['a186'] = 0x27B8;\n t['a195'] = 0x27B9;\n t['a187'] = 0x27BA;\n t['a188'] = 0x27BB;\n t['a189'] = 0x27BC;\n t['a190'] = 0x27BD;\n t['a191'] = 0x27BE;\n t['a89'] = 0x2768;\n t['a90'] = 0x2769;\n t['a93'] = 0x276A;\n t['a94'] = 0x276B;\n t['a91'] = 0x276C;\n t['a92'] = 0x276D;\n t['a205'] = 0x276E;\n t['a85'] = 0x276F;\n t['a206'] = 0x2770;\n t['a86'] = 0x2771;\n t['a87'] = 0x2772;\n t['a88'] = 0x2773;\n t['a95'] = 0x2774;\n t['a96'] = 0x2775;\n t['.notdef'] = 0x0000;\n});\nexports.getGlyphsUnicode = getGlyphsUnicode;\nexports.getDingbatsGlyphsUnicode = getDingbatsGlyphsUnicode;\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.validateResponseStatus = exports.validateRangeRequestCapabilities = exports.createResponseStatusError = undefined;\n\nvar _util = __w_pdfjs_require__(0);\n\nfunction validateRangeRequestCapabilities(_ref) {\n  var getResponseHeader = _ref.getResponseHeader,\n      isHttp = _ref.isHttp,\n      rangeChunkSize = _ref.rangeChunkSize,\n      disableRange = _ref.disableRange;\n\n  (0, _util.assert)(rangeChunkSize > 0);\n  var returnValues = {\n    allowRangeRequests: false,\n    suggestedLength: undefined\n  };\n  if (disableRange || !isHttp) {\n    return returnValues;\n  }\n  if (getResponseHeader('Accept-Ranges') !== 'bytes') {\n    return returnValues;\n  }\n  var contentEncoding = getResponseHeader('Content-Encoding') || 'identity';\n  if (contentEncoding !== 'identity') {\n    return returnValues;\n  }\n  var length = parseInt(getResponseHeader('Content-Length'), 10);\n  if (!Number.isInteger(length)) {\n    return returnValues;\n  }\n  returnValues.suggestedLength = length;\n  if (length <= 2 * rangeChunkSize) {\n    return returnValues;\n  }\n  returnValues.allowRangeRequests = true;\n  return returnValues;\n}\nfunction createResponseStatusError(status, url) {\n  if (status === 404 || status === 0 && /^file:/.test(url)) {\n    return new _util.MissingPDFException('Missing PDF \"' + url + '\".');\n  }\n  return new _util.UnexpectedResponseException('Unexpected server response (' + status + ') while retrieving PDF \"' + url + '\".', status);\n}\nfunction validateResponseStatus(status) {\n  return status === 200 || status === 206;\n}\nexports.createResponseStatusError = createResponseStatusError;\nexports.validateRangeRequestCapabilities = validateRangeRequestCapabilities;\nexports.validateResponseStatus = validateResponseStatus;\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = !__w_pdfjs_require__(10) && !__w_pdfjs_require__(11)(function () {\n  return Object.defineProperty(__w_pdfjs_require__(37)('div'), 'a', {\n    get: function get() {\n      return 7;\n    }\n  }).a != 7;\n});\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(1);\nvar hide = __w_pdfjs_require__(8);\nvar uid = __w_pdfjs_require__(18);\nvar TYPED = uid('typed_array');\nvar VIEW = uid('view');\nvar ABV = !!(global.ArrayBuffer && global.DataView);\nvar CONSTR = ABV;\nvar i = 0;\nvar l = 9;\nvar Typed;\nvar TypedArrayConstructors = 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'.split(',');\nwhile (i < l) {\n  if (Typed = global[TypedArrayConstructors[i++]]) {\n    hide(Typed.prototype, TYPED, true);\n    hide(Typed.prototype, VIEW, true);\n  } else CONSTR = false;\n}\nmodule.exports = {\n  ABV: ABV,\n  CONSTR: CONSTR,\n  TYPED: TYPED,\n  VIEW: VIEW\n};\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toInteger = __w_pdfjs_require__(19);\nvar toLength = __w_pdfjs_require__(14);\nmodule.exports = function (it) {\n  if (it === undefined) return 0;\n  var number = toInteger(it);\n  var length = toLength(number);\n  if (number !== length) throw RangeError('Wrong length!');\n  return length;\n};\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $keys = __w_pdfjs_require__(55);\nvar hiddenKeys = __w_pdfjs_require__(42).concat('length', 'prototype');\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return $keys(O, hiddenKeys);\n};\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar has = __w_pdfjs_require__(12);\nvar toIObject = __w_pdfjs_require__(32);\nvar arrayIndexOf = __w_pdfjs_require__(56)(false);\nvar IE_PROTO = __w_pdfjs_require__(41)('IE_PROTO');\nmodule.exports = function (object, names) {\n  var O = toIObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) {\n    if (key != IE_PROTO) has(O, key) && result.push(key);\n  }while (names.length > i) {\n    if (has(O, key = names[i++])) {\n      ~arrayIndexOf(result, key) || result.push(key);\n    }\n  }return result;\n};\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toIObject = __w_pdfjs_require__(32);\nvar toLength = __w_pdfjs_require__(14);\nvar toAbsoluteIndex = __w_pdfjs_require__(33);\nmodule.exports = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      if (value != value) return true;\n    } else for (; length > index; index++) {\n      if (IS_INCLUDES || index in O) {\n        if (O[index] === el) return IS_INCLUDES || index || 0;\n      }\n    }return !IS_INCLUDES && -1;\n  };\n};\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar core = __w_pdfjs_require__(6);\nvar global = __w_pdfjs_require__(1);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: core.version,\n  mode: __w_pdfjs_require__(23) ? 'pure' : 'global',\n  copyright: '© 2018 Denis Pushkarev (zloirock.ru)'\n});\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toObject = __w_pdfjs_require__(20);\nvar toAbsoluteIndex = __w_pdfjs_require__(33);\nvar toLength = __w_pdfjs_require__(14);\nmodule.exports = function fill(value) {\n  var O = toObject(this);\n  var length = toLength(O.length);\n  var aLen = arguments.length;\n  var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length);\n  var end = aLen > 2 ? arguments[2] : undefined;\n  var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n  while (endPos > index) {\n    O[index++] = value;\n  }return O;\n};\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar Iterators = __w_pdfjs_require__(21);\nvar ITERATOR = __w_pdfjs_require__(4)('iterator');\nvar ArrayProto = Array.prototype;\nmodule.exports = function (it) {\n  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(9);\nvar dPs = __w_pdfjs_require__(97);\nvar enumBugKeys = __w_pdfjs_require__(42);\nvar IE_PROTO = __w_pdfjs_require__(41)('IE_PROTO');\nvar Empty = function Empty() {};\nvar PROTOTYPE = 'prototype';\nvar _createDict = function createDict() {\n  var iframe = __w_pdfjs_require__(37)('iframe');\n  var i = enumBugKeys.length;\n  var lt = '<';\n  var gt = '>';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  __w_pdfjs_require__(61).appendChild(iframe);\n  iframe.src = 'javascript:';\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n  iframeDocument.close();\n  _createDict = iframeDocument.F;\n  while (i--) {\n    delete _createDict[PROTOTYPE][enumBugKeys[i]];\n  }return _createDict();\n};\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    Empty[PROTOTYPE] = anObject(O);\n    result = new Empty();\n    Empty[PROTOTYPE] = null;\n    result[IE_PROTO] = O;\n  } else result = _createDict();\n  return Properties === undefined ? result : dPs(result, Properties);\n};\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar document = __w_pdfjs_require__(1).document;\nmodule.exports = document && document.documentElement;\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar has = __w_pdfjs_require__(12);\nvar toObject = __w_pdfjs_require__(20);\nvar IE_PROTO = __w_pdfjs_require__(41)('IE_PROTO');\nvar ObjectProto = Object.prototype;\nmodule.exports = Object.getPrototypeOf || function (O) {\n  O = toObject(O);\n  if (has(O, IE_PROTO)) return O[IE_PROTO];\n  if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n    return O.constructor.prototype;\n  }\n  return O instanceof Object ? ObjectProto : null;\n};\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar classof = __w_pdfjs_require__(34);\nvar ITERATOR = __w_pdfjs_require__(4)('iterator');\nvar Iterators = __w_pdfjs_require__(21);\nmodule.exports = __w_pdfjs_require__(6).getIteratorMethod = function (it) {\n  if (it != undefined) return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)];\n};\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar addToUnscopables = __w_pdfjs_require__(101);\nvar step = __w_pdfjs_require__(102);\nvar Iterators = __w_pdfjs_require__(21);\nvar toIObject = __w_pdfjs_require__(32);\nmodule.exports = __w_pdfjs_require__(65)(Array, 'Array', function (iterated, kind) {\n  this._t = toIObject(iterated);\n  this._i = 0;\n  this._k = kind;\n}, function () {\n  var O = this._t;\n  var kind = this._k;\n  var index = this._i++;\n  if (!O || index >= O.length) {\n    this._t = undefined;\n    return step(1);\n  }\n  if (kind == 'keys') return step(0, index);\n  if (kind == 'values') return step(0, O[index]);\n  return step(0, [index, O[index]]);\n}, 'values');\nIterators.Arguments = Iterators.Array;\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar LIBRARY = __w_pdfjs_require__(23);\nvar $export = __w_pdfjs_require__(7);\nvar redefine = __w_pdfjs_require__(16);\nvar hide = __w_pdfjs_require__(8);\nvar Iterators = __w_pdfjs_require__(21);\nvar $iterCreate = __w_pdfjs_require__(103);\nvar setToStringTag = __w_pdfjs_require__(28);\nvar getPrototypeOf = __w_pdfjs_require__(62);\nvar ITERATOR = __w_pdfjs_require__(4)('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys());\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar returnThis = function returnThis() {\n  return this;\n};\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n  $iterCreate(Constructor, NAME, next);\n  var getMethod = function getMethod(kind) {\n    if (!BUGGY && kind in proto) return proto[kind];\n    switch (kind) {\n      case KEYS:\n        return function keys() {\n          return new Constructor(this, kind);\n        };\n      case VALUES:\n        return function values() {\n          return new Constructor(this, kind);\n        };\n    }\n    return function entries() {\n      return new Constructor(this, kind);\n    };\n  };\n  var TAG = NAME + ' Iterator';\n  var DEF_VALUES = DEFAULT == VALUES;\n  var VALUES_BUG = false;\n  var proto = Base.prototype;\n  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n  var $default = $native || getMethod(DEFAULT);\n  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n  var methods, key, IteratorPrototype;\n  if ($anyNative) {\n    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n      setToStringTag(IteratorPrototype, TAG, true);\n      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n    }\n  }\n  if (DEF_VALUES && $native && $native.name !== VALUES) {\n    VALUES_BUG = true;\n    $default = function values() {\n      return $native.call(this);\n    };\n  }\n  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n    hide(proto, ITERATOR, $default);\n  }\n  Iterators[NAME] = $default;\n  Iterators[TAG] = returnThis;\n  if (DEFAULT) {\n    methods = {\n      values: DEF_VALUES ? $default : getMethod(VALUES),\n      keys: IS_SET ? $default : getMethod(KEYS),\n      entries: $entries\n    };\n    if (FORCED) for (key in methods) {\n      if (!(key in proto)) redefine(proto, key, methods[key]);\n    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n  }\n  return methods;\n};\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(1);\nvar dP = __w_pdfjs_require__(15);\nvar DESCRIPTORS = __w_pdfjs_require__(10);\nvar SPECIES = __w_pdfjs_require__(4)('species');\nmodule.exports = function (KEY) {\n  var C = global[KEY];\n  if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n    configurable: true,\n    get: function get() {\n      return this;\n    }\n  });\n};\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar pIE = __w_pdfjs_require__(68);\nvar createDesc = __w_pdfjs_require__(31);\nvar toIObject = __w_pdfjs_require__(32);\nvar toPrimitive = __w_pdfjs_require__(38);\nvar has = __w_pdfjs_require__(12);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(51);\nvar gOPD = Object.getOwnPropertyDescriptor;\nexports.f = __w_pdfjs_require__(10) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n  O = toIObject(O);\n  P = toPrimitive(P, true);\n  if (IE8_DOM_DEFINE) try {\n    return gOPD(O, P);\n  } catch (e) {}\n  if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nexports.f = {}.propertyIsEnumerable;\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar classof = __w_pdfjs_require__(34);\nvar test = {};\ntest[__w_pdfjs_require__(4)('toStringTag')] = 'z';\nif (test + '' != '[object z]') {\n  __w_pdfjs_require__(16)(Object.prototype, 'toString', function toString() {\n    return '[object ' + classof(this) + ']';\n  }, true);\n}\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $iterators = __w_pdfjs_require__(64);\nvar getKeys = __w_pdfjs_require__(43);\nvar redefine = __w_pdfjs_require__(16);\nvar global = __w_pdfjs_require__(1);\nvar hide = __w_pdfjs_require__(8);\nvar Iterators = __w_pdfjs_require__(21);\nvar wks = __w_pdfjs_require__(4);\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\nvar DOMIterables = {\n  CSSRuleList: true,\n  CSSStyleDeclaration: false,\n  CSSValueList: false,\n  ClientRectList: false,\n  DOMRectList: false,\n  DOMStringList: false,\n  DOMTokenList: true,\n  DataTransferItemList: false,\n  FileList: false,\n  HTMLAllCollection: false,\n  HTMLCollection: false,\n  HTMLFormElement: false,\n  HTMLSelectElement: false,\n  MediaList: true,\n  MimeTypeArray: false,\n  NamedNodeMap: false,\n  NodeList: true,\n  PaintRequestList: false,\n  Plugin: false,\n  PluginArray: false,\n  SVGLengthList: false,\n  SVGNumberList: false,\n  SVGPathSegList: false,\n  SVGPointList: false,\n  SVGStringList: false,\n  SVGTransformList: false,\n  SourceBufferList: false,\n  StyleSheetList: true,\n  TextTrackCueList: false,\n  TextTrackList: false,\n  TouchList: false\n};\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n  var NAME = collections[i];\n  var explicit = DOMIterables[NAME];\n  var Collection = global[NAME];\n  var proto = Collection && Collection.prototype;\n  var key;\n  if (proto) {\n    if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n    if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n    Iterators[NAME] = ArrayValues;\n    if (explicit) for (key in $iterators) {\n      if (!proto[key]) redefine(proto, key, $iterators[key], true);\n    }\n  }\n}\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ctx = __w_pdfjs_require__(13);\nvar invoke = __w_pdfjs_require__(115);\nvar html = __w_pdfjs_require__(61);\nvar cel = __w_pdfjs_require__(37);\nvar global = __w_pdfjs_require__(1);\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function run() {\n  var id = +this;\n  if (queue.hasOwnProperty(id)) {\n    var fn = queue[id];\n    delete queue[id];\n    fn();\n  }\n};\nvar listener = function listener(event) {\n  run.call(event.data);\n};\nif (!setTask || !clearTask) {\n  setTask = function setImmediate(fn) {\n    var args = [];\n    var i = 1;\n    while (arguments.length > i) {\n      args.push(arguments[i++]);\n    }queue[++counter] = function () {\n      invoke(typeof fn == 'function' ? fn : Function(fn), args);\n    };\n    defer(counter);\n    return counter;\n  };\n  clearTask = function clearImmediate(id) {\n    delete queue[id];\n  };\n  if (__w_pdfjs_require__(27)(process) == 'process') {\n    defer = function defer(id) {\n      process.nextTick(ctx(run, id, 1));\n    };\n  } else if (Dispatch && Dispatch.now) {\n    defer = function defer(id) {\n      Dispatch.now(ctx(run, id, 1));\n    };\n  } else if (MessageChannel) {\n    channel = new MessageChannel();\n    port = channel.port2;\n    channel.port1.onmessage = listener;\n    defer = ctx(port.postMessage, port, 1);\n  } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n    defer = function defer(id) {\n      global.postMessage(id + '', '*');\n    };\n    global.addEventListener('message', listener, false);\n  } else if (ONREADYSTATECHANGE in cel('script')) {\n    defer = function defer(id) {\n      html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n        html.removeChild(this);\n        run.call(id);\n      };\n    };\n  } else {\n    defer = function defer(id) {\n      setTimeout(ctx(run, id, 1), 0);\n    };\n  }\n}\nmodule.exports = {\n  set: setTask,\n  clear: clearTask\n};\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (exec) {\n  try {\n    return {\n      e: false,\n      v: exec()\n    };\n  } catch (e) {\n    return {\n      e: true,\n      v: e\n    };\n  }\n};\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(9);\nvar isObject = __w_pdfjs_require__(3);\nvar newPromiseCapability = __w_pdfjs_require__(47);\nmodule.exports = function (C, x) {\n  anObject(C);\n  if (isObject(x) && x.constructor === C) return x;\n  var promiseCapability = newPromiseCapability.f(C);\n  var resolve = promiseCapability.resolve;\n  resolve(x);\n  return promiseCapability.promise;\n};\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(3);\nmodule.exports = function (it, TYPE) {\n  if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n  return it;\n};\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.build = exports.version = exports._UnsupportedManager = exports.setPDFNetworkStreamClass = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFWorker = exports.PDFDataRangeTransport = exports.LoopbackPort = exports.getDocument = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\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 && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _util = __w_pdfjs_require__(0);\n\nvar _dom_utils = __w_pdfjs_require__(17);\n\nvar _font_loader = __w_pdfjs_require__(135);\n\nvar _canvas = __w_pdfjs_require__(136);\n\nvar _global_scope = __w_pdfjs_require__(22);\n\nvar _global_scope2 = _interopRequireDefault(_global_scope);\n\nvar _metadata = __w_pdfjs_require__(77);\n\nvar _transport_stream = __w_pdfjs_require__(139);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar DEFAULT_RANGE_CHUNK_SIZE = 65536;\nvar isWorkerDisabled = false;\nvar workerSrc;\nvar isPostMessageTransfersDisabled = false;\nvar pdfjsFilePath = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : null;\nvar fakeWorkerFilesLoader = null;\nvar useRequireEnsure = false;\n;\nvar PDFNetworkStream;\nfunction setPDFNetworkStreamClass(cls) {\n  PDFNetworkStream = cls;\n}\nfunction getDocument(src, pdfDataRangeTransport, passwordCallback, progressCallback) {\n  var task = new PDFDocumentLoadingTask();\n  if (arguments.length > 1) {\n    (0, _util.deprecated)('getDocument is called with pdfDataRangeTransport, ' + 'passwordCallback or progressCallback argument');\n  }\n  if (pdfDataRangeTransport) {\n    if (!(pdfDataRangeTransport instanceof PDFDataRangeTransport)) {\n      pdfDataRangeTransport = Object.create(pdfDataRangeTransport);\n      pdfDataRangeTransport.length = src.length;\n      pdfDataRangeTransport.initialData = src.initialData;\n      if (!pdfDataRangeTransport.abort) {\n        pdfDataRangeTransport.abort = function () {};\n      }\n    }\n    src = Object.create(src);\n    src.range = pdfDataRangeTransport;\n  }\n  task.onPassword = passwordCallback || null;\n  task.onProgress = progressCallback || null;\n  var source;\n  if (typeof src === 'string') {\n    source = { url: src };\n  } else if ((0, _util.isArrayBuffer)(src)) {\n    source = { data: src };\n  } else if (src instanceof PDFDataRangeTransport) {\n    source = { range: src };\n  } else {\n    if ((typeof src === 'undefined' ? 'undefined' : _typeof(src)) !== 'object') {\n      throw new Error('Invalid parameter in getDocument, ' + 'need either Uint8Array, string or a parameter object');\n    }\n    if (!src.url && !src.data && !src.range) {\n      throw new Error('Invalid parameter object: need either .data, .range or .url');\n    }\n    source = src;\n  }\n  var params = {};\n  var rangeTransport = null;\n  var worker = null;\n  var CMapReaderFactory = _dom_utils.DOMCMapReaderFactory;\n  for (var key in source) {\n    if (key === 'url' && typeof window !== 'undefined') {\n      params[key] = new URL(source[key], window.location).href;\n      continue;\n    } else if (key === 'range') {\n      rangeTransport = source[key];\n      continue;\n    } else if (key === 'worker') {\n      worker = source[key];\n      continue;\n    } else if (key === 'data' && !(source[key] instanceof Uint8Array)) {\n      var pdfBytes = source[key];\n      if (typeof pdfBytes === 'string') {\n        params[key] = (0, _util.stringToBytes)(pdfBytes);\n      } else if ((typeof pdfBytes === 'undefined' ? 'undefined' : _typeof(pdfBytes)) === 'object' && pdfBytes !== null && !isNaN(pdfBytes.length)) {\n        params[key] = new Uint8Array(pdfBytes);\n      } else if ((0, _util.isArrayBuffer)(pdfBytes)) {\n        params[key] = new Uint8Array(pdfBytes);\n      } else {\n        throw new Error('Invalid PDF binary data: either typed array, ' + 'string or array-like object is expected in the ' + 'data property.');\n      }\n      continue;\n    } else if (key === 'CMapReaderFactory') {\n      CMapReaderFactory = source[key];\n      continue;\n    }\n    params[key] = source[key];\n  }\n  params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE;\n  params.ignoreErrors = params.stopAtErrors !== true;\n  if (params.disableNativeImageDecoder !== undefined) {\n    (0, _util.deprecated)('parameter disableNativeImageDecoder, ' + 'use nativeImageDecoderSupport instead');\n  }\n  params.nativeImageDecoderSupport = params.nativeImageDecoderSupport || (params.disableNativeImageDecoder === true ? _util.NativeImageDecoding.NONE : _util.NativeImageDecoding.DECODE);\n  if (params.nativeImageDecoderSupport !== _util.NativeImageDecoding.DECODE && params.nativeImageDecoderSupport !== _util.NativeImageDecoding.NONE && params.nativeImageDecoderSupport !== _util.NativeImageDecoding.DISPLAY) {\n    (0, _util.warn)('Invalid parameter nativeImageDecoderSupport: ' + 'need a state of enum {NativeImageDecoding}');\n    params.nativeImageDecoderSupport = _util.NativeImageDecoding.DECODE;\n  }\n  if (!worker) {\n    var workerPort = (0, _dom_utils.getDefaultSetting)('workerPort');\n    worker = workerPort ? PDFWorker.fromPort(workerPort) : new PDFWorker();\n    task._worker = worker;\n  }\n  var docId = task.docId;\n  worker.promise.then(function () {\n    if (task.destroyed) {\n      throw new Error('Loading aborted');\n    }\n    return _fetchDocument(worker, params, rangeTransport, docId).then(function (workerId) {\n      if (task.destroyed) {\n        throw new Error('Loading aborted');\n      }\n      var networkStream = void 0;\n      if (rangeTransport) {\n        networkStream = new _transport_stream.PDFDataTransportStream(params, rangeTransport);\n      } else if (!params.data) {\n        networkStream = new PDFNetworkStream({\n          source: params,\n          disableRange: (0, _dom_utils.getDefaultSetting)('disableRange')\n        });\n      }\n      var messageHandler = new _util.MessageHandler(docId, workerId, worker.port);\n      messageHandler.postMessageTransfers = worker.postMessageTransfers;\n      var transport = new WorkerTransport(messageHandler, task, networkStream, CMapReaderFactory);\n      task._transport = transport;\n      messageHandler.send('Ready', null);\n    });\n  }).catch(task._capability.reject);\n  return task;\n}\nfunction _fetchDocument(worker, source, pdfDataRangeTransport, docId) {\n  if (worker.destroyed) {\n    return Promise.reject(new Error('Worker was destroyed'));\n  }\n  var apiVersion = '1.10.100';\n  source.disableAutoFetch = (0, _dom_utils.getDefaultSetting)('disableAutoFetch');\n  source.disableStream = (0, _dom_utils.getDefaultSetting)('disableStream');\n  source.chunkedViewerLoading = !!pdfDataRangeTransport;\n  if (pdfDataRangeTransport) {\n    source.length = pdfDataRangeTransport.length;\n    source.initialData = pdfDataRangeTransport.initialData;\n  }\n  return worker.messageHandler.sendWithPromise('GetDocRequest', {\n    docId: docId,\n    apiVersion: apiVersion,\n    source: {\n      data: source.data,\n      url: source.url,\n      password: source.password,\n      disableAutoFetch: source.disableAutoFetch,\n      rangeChunkSize: source.rangeChunkSize,\n      length: source.length\n    },\n    maxImageSize: (0, _dom_utils.getDefaultSetting)('maxImageSize'),\n    disableFontFace: (0, _dom_utils.getDefaultSetting)('disableFontFace'),\n    disableCreateObjectURL: (0, _dom_utils.getDefaultSetting)('disableCreateObjectURL'),\n    postMessageTransfers: (0, _dom_utils.getDefaultSetting)('postMessageTransfers') && !isPostMessageTransfersDisabled,\n    docBaseUrl: source.docBaseUrl,\n    nativeImageDecoderSupport: source.nativeImageDecoderSupport,\n    ignoreErrors: source.ignoreErrors,\n    isEvalSupported: (0, _dom_utils.getDefaultSetting)('isEvalSupported')\n  }).then(function (workerId) {\n    if (worker.destroyed) {\n      throw new Error('Worker was destroyed');\n    }\n    return workerId;\n  });\n}\nvar PDFDocumentLoadingTask = function PDFDocumentLoadingTaskClosure() {\n  var nextDocumentId = 0;\n  function PDFDocumentLoadingTask() {\n    this._capability = (0, _util.createPromiseCapability)();\n    this._transport = null;\n    this._worker = null;\n    this.docId = 'd' + nextDocumentId++;\n    this.destroyed = false;\n    this.onPassword = null;\n    this.onProgress = null;\n    this.onUnsupportedFeature = null;\n  }\n  PDFDocumentLoadingTask.prototype = {\n    get promise() {\n      return this._capability.promise;\n    },\n    destroy: function destroy() {\n      var _this = this;\n\n      this.destroyed = true;\n      var transportDestroyed = !this._transport ? Promise.resolve() : this._transport.destroy();\n      return transportDestroyed.then(function () {\n        _this._transport = null;\n        if (_this._worker) {\n          _this._worker.destroy();\n          _this._worker = null;\n        }\n      });\n    },\n\n    then: function PDFDocumentLoadingTask_then(onFulfilled, onRejected) {\n      return this.promise.then.apply(this.promise, arguments);\n    }\n  };\n  return PDFDocumentLoadingTask;\n}();\nvar PDFDataRangeTransport = function pdfDataRangeTransportClosure() {\n  function PDFDataRangeTransport(length, initialData) {\n    this.length = length;\n    this.initialData = initialData;\n    this._rangeListeners = [];\n    this._progressListeners = [];\n    this._progressiveReadListeners = [];\n    this._readyCapability = (0, _util.createPromiseCapability)();\n  }\n  PDFDataRangeTransport.prototype = {\n    addRangeListener: function PDFDataRangeTransport_addRangeListener(listener) {\n      this._rangeListeners.push(listener);\n    },\n    addProgressListener: function PDFDataRangeTransport_addProgressListener(listener) {\n      this._progressListeners.push(listener);\n    },\n    addProgressiveReadListener: function PDFDataRangeTransport_addProgressiveReadListener(listener) {\n      this._progressiveReadListeners.push(listener);\n    },\n    onDataRange: function PDFDataRangeTransport_onDataRange(begin, chunk) {\n      var listeners = this._rangeListeners;\n      for (var i = 0, n = listeners.length; i < n; ++i) {\n        listeners[i](begin, chunk);\n      }\n    },\n    onDataProgress: function PDFDataRangeTransport_onDataProgress(loaded) {\n      var _this2 = this;\n\n      this._readyCapability.promise.then(function () {\n        var listeners = _this2._progressListeners;\n        for (var i = 0, n = listeners.length; i < n; ++i) {\n          listeners[i](loaded);\n        }\n      });\n    },\n    onDataProgressiveRead: function PDFDataRangeTransport_onDataProgress(chunk) {\n      var _this3 = this;\n\n      this._readyCapability.promise.then(function () {\n        var listeners = _this3._progressiveReadListeners;\n        for (var i = 0, n = listeners.length; i < n; ++i) {\n          listeners[i](chunk);\n        }\n      });\n    },\n    transportReady: function PDFDataRangeTransport_transportReady() {\n      this._readyCapability.resolve();\n    },\n    requestDataRange: function PDFDataRangeTransport_requestDataRange(begin, end) {\n      throw new Error('Abstract method PDFDataRangeTransport.requestDataRange');\n    },\n    abort: function PDFDataRangeTransport_abort() {}\n  };\n  return PDFDataRangeTransport;\n}();\nvar PDFDocumentProxy = function PDFDocumentProxyClosure() {\n  function PDFDocumentProxy(pdfInfo, transport, loadingTask) {\n    this.pdfInfo = pdfInfo;\n    this.transport = transport;\n    this.loadingTask = loadingTask;\n  }\n  PDFDocumentProxy.prototype = {\n    get numPages() {\n      return this.pdfInfo.numPages;\n    },\n    get fingerprint() {\n      return this.pdfInfo.fingerprint;\n    },\n    getPage: function PDFDocumentProxy_getPage(pageNumber) {\n      return this.transport.getPage(pageNumber);\n    },\n    getPageIndex: function PDFDocumentProxy_getPageIndex(ref) {\n      return this.transport.getPageIndex(ref);\n    },\n    getDestinations: function PDFDocumentProxy_getDestinations() {\n      return this.transport.getDestinations();\n    },\n    getDestination: function PDFDocumentProxy_getDestination(id) {\n      return this.transport.getDestination(id);\n    },\n    getPageLabels: function PDFDocumentProxy_getPageLabels() {\n      return this.transport.getPageLabels();\n    },\n    getPageMode: function getPageMode() {\n      return this.transport.getPageMode();\n    },\n\n    getAttachments: function PDFDocumentProxy_getAttachments() {\n      return this.transport.getAttachments();\n    },\n    getJavaScript: function PDFDocumentProxy_getJavaScript() {\n      return this.transport.getJavaScript();\n    },\n    getOutline: function PDFDocumentProxy_getOutline() {\n      return this.transport.getOutline();\n    },\n    getMetadata: function PDFDocumentProxy_getMetadata() {\n      return this.transport.getMetadata();\n    },\n    getData: function PDFDocumentProxy_getData() {\n      return this.transport.getData();\n    },\n    getDownloadInfo: function PDFDocumentProxy_getDownloadInfo() {\n      return this.transport.downloadInfoCapability.promise;\n    },\n    getStats: function PDFDocumentProxy_getStats() {\n      return this.transport.getStats();\n    },\n    cleanup: function PDFDocumentProxy_cleanup() {\n      this.transport.startCleanup();\n    },\n    destroy: function PDFDocumentProxy_destroy() {\n      return this.loadingTask.destroy();\n    }\n  };\n  return PDFDocumentProxy;\n}();\nvar PDFPageProxy = function PDFPageProxyClosure() {\n  function PDFPageProxy(pageIndex, pageInfo, transport) {\n    this.pageIndex = pageIndex;\n    this.pageInfo = pageInfo;\n    this.transport = transport;\n    this.stats = new _util.StatTimer();\n    this.stats.enabled = (0, _dom_utils.getDefaultSetting)('enableStats');\n    this.commonObjs = transport.commonObjs;\n    this.objs = new PDFObjects();\n    this.cleanupAfterRender = false;\n    this.pendingCleanup = false;\n    this.intentStates = Object.create(null);\n    this.destroyed = false;\n  }\n  PDFPageProxy.prototype = {\n    get pageNumber() {\n      return this.pageIndex + 1;\n    },\n    get rotate() {\n      return this.pageInfo.rotate;\n    },\n    get ref() {\n      return this.pageInfo.ref;\n    },\n    get userUnit() {\n      return this.pageInfo.userUnit;\n    },\n    get view() {\n      return this.pageInfo.view;\n    },\n    getViewport: function PDFPageProxy_getViewport(scale, rotate) {\n      if (arguments.length < 2) {\n        rotate = this.rotate;\n      }\n      return new _util.PageViewport(this.view, scale, rotate, 0, 0);\n    },\n    getAnnotations: function PDFPageProxy_getAnnotations(params) {\n      var intent = params && params.intent || null;\n      if (!this.annotationsPromise || this.annotationsIntent !== intent) {\n        this.annotationsPromise = this.transport.getAnnotations(this.pageIndex, intent);\n        this.annotationsIntent = intent;\n      }\n      return this.annotationsPromise;\n    },\n    render: function PDFPageProxy_render(params) {\n      var _this4 = this;\n\n      var stats = this.stats;\n      stats.time('Overall');\n      this.pendingCleanup = false;\n      var renderingIntent = params.intent === 'print' ? 'print' : 'display';\n      var canvasFactory = params.canvasFactory || new _dom_utils.DOMCanvasFactory();\n      if (!this.intentStates[renderingIntent]) {\n        this.intentStates[renderingIntent] = Object.create(null);\n      }\n      var intentState = this.intentStates[renderingIntent];\n      if (!intentState.displayReadyCapability) {\n        intentState.receivingOperatorList = true;\n        intentState.displayReadyCapability = (0, _util.createPromiseCapability)();\n        intentState.operatorList = {\n          fnArray: [],\n          argsArray: [],\n          lastChunk: false\n        };\n        this.stats.time('Page Request');\n        this.transport.messageHandler.send('RenderPageRequest', {\n          pageIndex: this.pageNumber - 1,\n          intent: renderingIntent,\n          renderInteractiveForms: params.renderInteractiveForms === true\n        });\n      }\n      var complete = function complete(error) {\n        var i = intentState.renderTasks.indexOf(internalRenderTask);\n        if (i >= 0) {\n          intentState.renderTasks.splice(i, 1);\n        }\n        if (_this4.cleanupAfterRender) {\n          _this4.pendingCleanup = true;\n        }\n        _this4._tryCleanup();\n        if (error) {\n          internalRenderTask.capability.reject(error);\n        } else {\n          internalRenderTask.capability.resolve();\n        }\n        stats.timeEnd('Rendering');\n        stats.timeEnd('Overall');\n      };\n      var internalRenderTask = new InternalRenderTask(complete, params, this.objs, this.commonObjs, intentState.operatorList, this.pageNumber, canvasFactory);\n      internalRenderTask.useRequestAnimationFrame = renderingIntent !== 'print';\n      if (!intentState.renderTasks) {\n        intentState.renderTasks = [];\n      }\n      intentState.renderTasks.push(internalRenderTask);\n      var renderTask = internalRenderTask.task;\n      if (params.continueCallback) {\n        (0, _util.deprecated)('render is used with continueCallback parameter');\n        renderTask.onContinue = params.continueCallback;\n      }\n      intentState.displayReadyCapability.promise.then(function (transparency) {\n        if (_this4.pendingCleanup) {\n          complete();\n          return;\n        }\n        stats.time('Rendering');\n        internalRenderTask.initializeGraphics(transparency);\n        internalRenderTask.operatorListChanged();\n      }).catch(complete);\n      return renderTask;\n    },\n    getOperatorList: function PDFPageProxy_getOperatorList() {\n      function operatorListChanged() {\n        if (intentState.operatorList.lastChunk) {\n          intentState.opListReadCapability.resolve(intentState.operatorList);\n          var i = intentState.renderTasks.indexOf(opListTask);\n          if (i >= 0) {\n            intentState.renderTasks.splice(i, 1);\n          }\n        }\n      }\n      var renderingIntent = 'oplist';\n      if (!this.intentStates[renderingIntent]) {\n        this.intentStates[renderingIntent] = Object.create(null);\n      }\n      var intentState = this.intentStates[renderingIntent];\n      var opListTask;\n      if (!intentState.opListReadCapability) {\n        opListTask = {};\n        opListTask.operatorListChanged = operatorListChanged;\n        intentState.receivingOperatorList = true;\n        intentState.opListReadCapability = (0, _util.createPromiseCapability)();\n        intentState.renderTasks = [];\n        intentState.renderTasks.push(opListTask);\n        intentState.operatorList = {\n          fnArray: [],\n          argsArray: [],\n          lastChunk: false\n        };\n        this.transport.messageHandler.send('RenderPageRequest', {\n          pageIndex: this.pageIndex,\n          intent: renderingIntent\n        });\n      }\n      return intentState.opListReadCapability.promise;\n    },\n    streamTextContent: function streamTextContent() {\n      var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n      var TEXT_CONTENT_CHUNK_SIZE = 100;\n      return this.transport.messageHandler.sendWithStream('GetTextContent', {\n        pageIndex: this.pageNumber - 1,\n        normalizeWhitespace: params.normalizeWhitespace === true,\n        combineTextItems: params.disableCombineTextItems !== true\n      }, {\n        highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n        size: function size(textContent) {\n          return textContent.items.length;\n        }\n      });\n    },\n\n    getTextContent: function PDFPageProxy_getTextContent(params) {\n      params = params || {};\n      var readableStream = this.streamTextContent(params);\n      return new Promise(function (resolve, reject) {\n        function pump() {\n          reader.read().then(function (_ref) {\n            var value = _ref.value,\n                done = _ref.done;\n\n            if (done) {\n              resolve(textContent);\n              return;\n            }\n            _util.Util.extendObj(textContent.styles, value.styles);\n            _util.Util.appendToArray(textContent.items, value.items);\n            pump();\n          }, reject);\n        }\n        var reader = readableStream.getReader();\n        var textContent = {\n          items: [],\n          styles: Object.create(null)\n        };\n        pump();\n      });\n    },\n    _destroy: function PDFPageProxy_destroy() {\n      this.destroyed = true;\n      this.transport.pageCache[this.pageIndex] = null;\n      var waitOn = [];\n      Object.keys(this.intentStates).forEach(function (intent) {\n        if (intent === 'oplist') {\n          return;\n        }\n        var intentState = this.intentStates[intent];\n        intentState.renderTasks.forEach(function (renderTask) {\n          var renderCompleted = renderTask.capability.promise.catch(function () {});\n          waitOn.push(renderCompleted);\n          renderTask.cancel();\n        });\n      }, this);\n      this.objs.clear();\n      this.annotationsPromise = null;\n      this.pendingCleanup = false;\n      return Promise.all(waitOn);\n    },\n    destroy: function destroy() {\n      (0, _util.deprecated)('page destroy method, use cleanup() instead');\n      this.cleanup();\n    },\n\n    cleanup: function PDFPageProxy_cleanup() {\n      this.pendingCleanup = true;\n      this._tryCleanup();\n    },\n    _tryCleanup: function PDFPageProxy_tryCleanup() {\n      if (!this.pendingCleanup || Object.keys(this.intentStates).some(function (intent) {\n        var intentState = this.intentStates[intent];\n        return intentState.renderTasks.length !== 0 || intentState.receivingOperatorList;\n      }, this)) {\n        return;\n      }\n      Object.keys(this.intentStates).forEach(function (intent) {\n        delete this.intentStates[intent];\n      }, this);\n      this.objs.clear();\n      this.annotationsPromise = null;\n      this.pendingCleanup = false;\n    },\n    _startRenderPage: function PDFPageProxy_startRenderPage(transparency, intent) {\n      var intentState = this.intentStates[intent];\n      if (intentState.displayReadyCapability) {\n        intentState.displayReadyCapability.resolve(transparency);\n      }\n    },\n    _renderPageChunk: function PDFPageProxy_renderPageChunk(operatorListChunk, intent) {\n      var intentState = this.intentStates[intent];\n      var i, ii;\n      for (i = 0, ii = operatorListChunk.length; i < ii; i++) {\n        intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);\n        intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);\n      }\n      intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n      for (i = 0; i < intentState.renderTasks.length; i++) {\n        intentState.renderTasks[i].operatorListChanged();\n      }\n      if (operatorListChunk.lastChunk) {\n        intentState.receivingOperatorList = false;\n        this._tryCleanup();\n      }\n    }\n  };\n  return PDFPageProxy;\n}();\n\nvar LoopbackPort = function () {\n  function LoopbackPort(defer) {\n    _classCallCheck(this, LoopbackPort);\n\n    this._listeners = [];\n    this._defer = defer;\n    this._deferred = Promise.resolve(undefined);\n  }\n\n  _createClass(LoopbackPort, [{\n    key: 'postMessage',\n    value: function postMessage(obj, transfers) {\n      var _this5 = this;\n\n      function cloneValue(value) {\n        if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) !== 'object' || value === null) {\n          return value;\n        }\n        if (cloned.has(value)) {\n          return cloned.get(value);\n        }\n        var result;\n        var buffer;\n        if ((buffer = value.buffer) && (0, _util.isArrayBuffer)(buffer)) {\n          var transferable = transfers && transfers.indexOf(buffer) >= 0;\n          if (value === buffer) {\n            result = value;\n          } else if (transferable) {\n            result = new value.constructor(buffer, value.byteOffset, value.byteLength);\n          } else {\n            result = new value.constructor(value);\n          }\n          cloned.set(value, result);\n          return result;\n        }\n        result = Array.isArray(value) ? [] : {};\n        cloned.set(value, result);\n        for (var i in value) {\n          var desc,\n              p = value;\n          while (!(desc = Object.getOwnPropertyDescriptor(p, i))) {\n            p = Object.getPrototypeOf(p);\n          }\n          if (typeof desc.value === 'undefined' || typeof desc.value === 'function') {\n            continue;\n          }\n          result[i] = cloneValue(desc.value);\n        }\n        return result;\n      }\n      if (!this._defer) {\n        this._listeners.forEach(function (listener) {\n          listener.call(this, { data: obj });\n        }, this);\n        return;\n      }\n      var cloned = new WeakMap();\n      var e = { data: cloneValue(obj) };\n      this._deferred.then(function () {\n        _this5._listeners.forEach(function (listener) {\n          listener.call(this, e);\n        }, _this5);\n      });\n    }\n  }, {\n    key: 'addEventListener',\n    value: function addEventListener(name, listener) {\n      this._listeners.push(listener);\n    }\n  }, {\n    key: 'removeEventListener',\n    value: function removeEventListener(name, listener) {\n      var i = this._listeners.indexOf(listener);\n      this._listeners.splice(i, 1);\n    }\n  }, {\n    key: 'terminate',\n    value: function terminate() {\n      this._listeners = [];\n    }\n  }]);\n\n  return LoopbackPort;\n}();\n\nvar PDFWorker = function PDFWorkerClosure() {\n  var nextFakeWorkerId = 0;\n  function getWorkerSrc() {\n    if (typeof workerSrc !== 'undefined') {\n      return workerSrc;\n    }\n    if ((0, _dom_utils.getDefaultSetting)('workerSrc')) {\n      return (0, _dom_utils.getDefaultSetting)('workerSrc');\n    }\n    if (pdfjsFilePath) {\n      return pdfjsFilePath.replace(/(\\.(?:min\\.)?js)(\\?.*)?$/i, '.worker$1$2');\n    }\n    throw new Error('No PDFJS.workerSrc specified');\n  }\n  var fakeWorkerFilesLoadedCapability = void 0;\n  function setupFakeWorkerGlobal() {\n    var WorkerMessageHandler;\n    if (fakeWorkerFilesLoadedCapability) {\n      return fakeWorkerFilesLoadedCapability.promise;\n    }\n    fakeWorkerFilesLoadedCapability = (0, _util.createPromiseCapability)();\n    var pdfjsCoreWorker = __w_pdfjs_require__(140);\n    WorkerMessageHandler = pdfjsCoreWorker.WorkerMessageHandler;\n    fakeWorkerFilesLoadedCapability.resolve(WorkerMessageHandler);\n    return fakeWorkerFilesLoadedCapability.promise;\n  }\n  function createCDNWrapper(url) {\n    var wrapper = 'importScripts(\\'' + url + '\\');';\n    return URL.createObjectURL(new Blob([wrapper]));\n  }\n  var pdfWorkerPorts = new WeakMap();\n  function PDFWorker(name, port) {\n    if (port && pdfWorkerPorts.has(port)) {\n      throw new Error('Cannot use more than one PDFWorker per port');\n    }\n    this.name = name;\n    this.destroyed = false;\n    this.postMessageTransfers = true;\n    this._readyCapability = (0, _util.createPromiseCapability)();\n    this._port = null;\n    this._webWorker = null;\n    this._messageHandler = null;\n    if (port) {\n      pdfWorkerPorts.set(port, this);\n      this._initializeFromPort(port);\n      return;\n    }\n    this._initialize();\n  }\n  PDFWorker.prototype = {\n    get promise() {\n      return this._readyCapability.promise;\n    },\n    get port() {\n      return this._port;\n    },\n    get messageHandler() {\n      return this._messageHandler;\n    },\n    _initializeFromPort: function PDFWorker_initializeFromPort(port) {\n      this._port = port;\n      this._messageHandler = new _util.MessageHandler('main', 'worker', port);\n      this._messageHandler.on('ready', function () {});\n      this._readyCapability.resolve();\n    },\n    _initialize: function PDFWorker_initialize() {\n      this._setupFakeWorker();\n    },\n    _setupFakeWorker: function PDFWorker_setupFakeWorker() {\n      var _this6 = this;\n\n      if (!isWorkerDisabled && !(0, _dom_utils.getDefaultSetting)('disableWorker')) {\n        (0, _util.warn)('Setting up fake worker.');\n        isWorkerDisabled = true;\n      }\n      setupFakeWorkerGlobal().then(function (WorkerMessageHandler) {\n        if (_this6.destroyed) {\n          _this6._readyCapability.reject(new Error('Worker was destroyed'));\n          return;\n        }\n        var isTypedArraysPresent = Uint8Array !== Float32Array;\n        var port = new LoopbackPort(isTypedArraysPresent);\n        _this6._port = port;\n        var id = 'fake' + nextFakeWorkerId++;\n        var workerHandler = new _util.MessageHandler(id + '_worker', id, port);\n        WorkerMessageHandler.setup(workerHandler, port);\n        var messageHandler = new _util.MessageHandler(id, id + '_worker', port);\n        _this6._messageHandler = messageHandler;\n        _this6._readyCapability.resolve();\n      });\n    },\n    destroy: function PDFWorker_destroy() {\n      this.destroyed = true;\n      if (this._webWorker) {\n        this._webWorker.terminate();\n        this._webWorker = null;\n      }\n      pdfWorkerPorts.delete(this._port);\n      this._port = null;\n      if (this._messageHandler) {\n        this._messageHandler.destroy();\n        this._messageHandler = null;\n      }\n    }\n  };\n  PDFWorker.fromPort = function (port) {\n    if (pdfWorkerPorts.has(port)) {\n      return pdfWorkerPorts.get(port);\n    }\n    return new PDFWorker(null, port);\n  };\n  return PDFWorker;\n}();\nvar WorkerTransport = function WorkerTransportClosure() {\n  function WorkerTransport(messageHandler, loadingTask, networkStream, CMapReaderFactory) {\n    this.messageHandler = messageHandler;\n    this.loadingTask = loadingTask;\n    this.commonObjs = new PDFObjects();\n    this.fontLoader = new _font_loader.FontLoader(loadingTask.docId);\n    this.CMapReaderFactory = new CMapReaderFactory({\n      baseUrl: (0, _dom_utils.getDefaultSetting)('cMapUrl'),\n      isCompressed: (0, _dom_utils.getDefaultSetting)('cMapPacked')\n    });\n    this.destroyed = false;\n    this.destroyCapability = null;\n    this._passwordCapability = null;\n    this._networkStream = networkStream;\n    this._fullReader = null;\n    this._lastProgress = null;\n    this.pageCache = [];\n    this.pagePromises = [];\n    this.downloadInfoCapability = (0, _util.createPromiseCapability)();\n    this.setupMessageHandler();\n  }\n  WorkerTransport.prototype = {\n    destroy: function WorkerTransport_destroy() {\n      var _this7 = this;\n\n      if (this.destroyCapability) {\n        return this.destroyCapability.promise;\n      }\n      this.destroyed = true;\n      this.destroyCapability = (0, _util.createPromiseCapability)();\n      if (this._passwordCapability) {\n        this._passwordCapability.reject(new Error('Worker was destroyed during onPassword callback'));\n      }\n      var waitOn = [];\n      this.pageCache.forEach(function (page) {\n        if (page) {\n          waitOn.push(page._destroy());\n        }\n      });\n      this.pageCache = [];\n      this.pagePromises = [];\n      var terminated = this.messageHandler.sendWithPromise('Terminate', null);\n      waitOn.push(terminated);\n      Promise.all(waitOn).then(function () {\n        _this7.fontLoader.clear();\n        if (_this7._networkStream) {\n          _this7._networkStream.cancelAllRequests();\n        }\n        if (_this7.messageHandler) {\n          _this7.messageHandler.destroy();\n          _this7.messageHandler = null;\n        }\n        _this7.destroyCapability.resolve();\n      }, this.destroyCapability.reject);\n      return this.destroyCapability.promise;\n    },\n    setupMessageHandler: function WorkerTransport_setupMessageHandler() {\n      var messageHandler = this.messageHandler;\n      var loadingTask = this.loadingTask;\n      messageHandler.on('GetReader', function (data, sink) {\n        var _this8 = this;\n\n        (0, _util.assert)(this._networkStream);\n        this._fullReader = this._networkStream.getFullReader();\n        this._fullReader.onProgress = function (evt) {\n          _this8._lastProgress = {\n            loaded: evt.loaded,\n            total: evt.total\n          };\n        };\n        sink.onPull = function () {\n          _this8._fullReader.read().then(function (_ref2) {\n            var value = _ref2.value,\n                done = _ref2.done;\n\n            if (done) {\n              sink.close();\n              return;\n            }\n            (0, _util.assert)((0, _util.isArrayBuffer)(value));\n            sink.enqueue(new Uint8Array(value), 1, [value]);\n          }).catch(function (reason) {\n            sink.error(reason);\n          });\n        };\n        sink.onCancel = function (reason) {\n          _this8._fullReader.cancel(reason);\n        };\n      }, this);\n      messageHandler.on('ReaderHeadersReady', function (data) {\n        var _this9 = this;\n\n        var headersCapability = (0, _util.createPromiseCapability)();\n        var fullReader = this._fullReader;\n        fullReader.headersReady.then(function () {\n          if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {\n            if (_this9._lastProgress) {\n              var _loadingTask = _this9.loadingTask;\n              if (_loadingTask.onProgress) {\n                _loadingTask.onProgress(_this9._lastProgress);\n              }\n            }\n            fullReader.onProgress = function (evt) {\n              var loadingTask = _this9.loadingTask;\n              if (loadingTask.onProgress) {\n                loadingTask.onProgress({\n                  loaded: evt.loaded,\n                  total: evt.total\n                });\n              }\n            };\n          }\n          headersCapability.resolve({\n            isStreamingSupported: fullReader.isStreamingSupported,\n            isRangeSupported: fullReader.isRangeSupported,\n            contentLength: fullReader.contentLength\n          });\n        }, headersCapability.reject);\n        return headersCapability.promise;\n      }, this);\n      messageHandler.on('GetRangeReader', function (data, sink) {\n        (0, _util.assert)(this._networkStream);\n        var _rangeReader = this._networkStream.getRangeReader(data.begin, data.end);\n        sink.onPull = function () {\n          _rangeReader.read().then(function (_ref3) {\n            var value = _ref3.value,\n                done = _ref3.done;\n\n            if (done) {\n              sink.close();\n              return;\n            }\n            (0, _util.assert)((0, _util.isArrayBuffer)(value));\n            sink.enqueue(new Uint8Array(value), 1, [value]);\n          }).catch(function (reason) {\n            sink.error(reason);\n          });\n        };\n        sink.onCancel = function (reason) {\n          _rangeReader.cancel(reason);\n        };\n      }, this);\n      messageHandler.on('GetDoc', function transportDoc(data) {\n        var pdfInfo = data.pdfInfo;\n        this.numPages = data.pdfInfo.numPages;\n        var loadingTask = this.loadingTask;\n        var pdfDocument = new PDFDocumentProxy(pdfInfo, this, loadingTask);\n        this.pdfDocument = pdfDocument;\n        loadingTask._capability.resolve(pdfDocument);\n      }, this);\n      messageHandler.on('PasswordRequest', function transportPasswordRequest(exception) {\n        var _this10 = this;\n\n        this._passwordCapability = (0, _util.createPromiseCapability)();\n        if (loadingTask.onPassword) {\n          var updatePassword = function updatePassword(password) {\n            _this10._passwordCapability.resolve({ password: password });\n          };\n          loadingTask.onPassword(updatePassword, exception.code);\n        } else {\n          this._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));\n        }\n        return this._passwordCapability.promise;\n      }, this);\n      messageHandler.on('PasswordException', function transportPasswordException(exception) {\n        loadingTask._capability.reject(new _util.PasswordException(exception.message, exception.code));\n      }, this);\n      messageHandler.on('InvalidPDF', function transportInvalidPDF(exception) {\n        this.loadingTask._capability.reject(new _util.InvalidPDFException(exception.message));\n      }, this);\n      messageHandler.on('MissingPDF', function transportMissingPDF(exception) {\n        this.loadingTask._capability.reject(new _util.MissingPDFException(exception.message));\n      }, this);\n      messageHandler.on('UnexpectedResponse', function transportUnexpectedResponse(exception) {\n        this.loadingTask._capability.reject(new _util.UnexpectedResponseException(exception.message, exception.status));\n      }, this);\n      messageHandler.on('UnknownError', function transportUnknownError(exception) {\n        this.loadingTask._capability.reject(new _util.UnknownErrorException(exception.message, exception.details));\n      }, this);\n      messageHandler.on('DataLoaded', function transportPage(data) {\n        this.downloadInfoCapability.resolve(data);\n      }, this);\n      messageHandler.on('PDFManagerReady', function transportPage(data) {}, this);\n      messageHandler.on('StartRenderPage', function transportRender(data) {\n        if (this.destroyed) {\n          return;\n        }\n        var page = this.pageCache[data.pageIndex];\n        page.stats.timeEnd('Page Request');\n        page._startRenderPage(data.transparency, data.intent);\n      }, this);\n      messageHandler.on('RenderPageChunk', function transportRender(data) {\n        if (this.destroyed) {\n          return;\n        }\n        var page = this.pageCache[data.pageIndex];\n        page._renderPageChunk(data.operatorList, data.intent);\n      }, this);\n      messageHandler.on('commonobj', function transportObj(data) {\n        var _this11 = this;\n\n        if (this.destroyed) {\n          return;\n        }\n        var id = data[0];\n        var type = data[1];\n        if (this.commonObjs.hasData(id)) {\n          return;\n        }\n        switch (type) {\n          case 'Font':\n            var exportedData = data[2];\n            if ('error' in exportedData) {\n              var exportedError = exportedData.error;\n              (0, _util.warn)('Error during font loading: ' + exportedError);\n              this.commonObjs.resolve(id, exportedError);\n              break;\n            }\n            var fontRegistry = null;\n            if ((0, _dom_utils.getDefaultSetting)('pdfBug') && _global_scope2.default.FontInspector && _global_scope2.default['FontInspector'].enabled) {\n              fontRegistry = {\n                registerFont: function registerFont(font, url) {\n                  _global_scope2.default['FontInspector'].fontAdded(font, url);\n                }\n              };\n            }\n            var font = new _font_loader.FontFaceObject(exportedData, {\n              isEvalSupported: (0, _dom_utils.getDefaultSetting)('isEvalSupported'),\n              disableFontFace: (0, _dom_utils.getDefaultSetting)('disableFontFace'),\n              fontRegistry: fontRegistry\n            });\n            var fontReady = function fontReady(fontObjs) {\n              _this11.commonObjs.resolve(id, font);\n            };\n            this.fontLoader.bind([font], fontReady);\n            break;\n          case 'FontPath':\n            this.commonObjs.resolve(id, data[2]);\n            break;\n          default:\n            throw new Error('Got unknown common object type ' + type);\n        }\n      }, this);\n      messageHandler.on('obj', function transportObj(data) {\n        if (this.destroyed) {\n          return;\n        }\n        var id = data[0];\n        var pageIndex = data[1];\n        var type = data[2];\n        var pageProxy = this.pageCache[pageIndex];\n        var imageData;\n        if (pageProxy.objs.hasData(id)) {\n          return;\n        }\n        switch (type) {\n          case 'JpegStream':\n            imageData = data[3];\n            (0, _util.loadJpegStream)(id, imageData, pageProxy.objs);\n            break;\n          case 'Image':\n            imageData = data[3];\n            pageProxy.objs.resolve(id, imageData);\n            var MAX_IMAGE_SIZE_TO_STORE = 8000000;\n            if (imageData && 'data' in imageData && imageData.data.length > MAX_IMAGE_SIZE_TO_STORE) {\n              pageProxy.cleanupAfterRender = true;\n            }\n            break;\n          default:\n            throw new Error('Got unknown object type ' + type);\n        }\n      }, this);\n      messageHandler.on('DocProgress', function transportDocProgress(data) {\n        if (this.destroyed) {\n          return;\n        }\n        var loadingTask = this.loadingTask;\n        if (loadingTask.onProgress) {\n          loadingTask.onProgress({\n            loaded: data.loaded,\n            total: data.total\n          });\n        }\n      }, this);\n      messageHandler.on('PageError', function transportError(data) {\n        if (this.destroyed) {\n          return;\n        }\n        var page = this.pageCache[data.pageNum - 1];\n        var intentState = page.intentStates[data.intent];\n        if (intentState.displayReadyCapability) {\n          intentState.displayReadyCapability.reject(data.error);\n        } else {\n          throw new Error(data.error);\n        }\n        if (intentState.operatorList) {\n          intentState.operatorList.lastChunk = true;\n          for (var i = 0; i < intentState.renderTasks.length; i++) {\n            intentState.renderTasks[i].operatorListChanged();\n          }\n        }\n      }, this);\n      messageHandler.on('UnsupportedFeature', function transportUnsupportedFeature(data) {\n        if (this.destroyed) {\n          return;\n        }\n        var featureId = data.featureId;\n        var loadingTask = this.loadingTask;\n        if (loadingTask.onUnsupportedFeature) {\n          loadingTask.onUnsupportedFeature(featureId);\n        }\n        _UnsupportedManager.notify(featureId);\n      }, this);\n      messageHandler.on('JpegDecode', function (data) {\n        if (this.destroyed) {\n          return Promise.reject(new Error('Worker was destroyed'));\n        }\n        if (typeof document === 'undefined') {\n          return Promise.reject(new Error('\"document\" is not defined.'));\n        }\n        var imageUrl = data[0];\n        var components = data[1];\n        if (components !== 3 && components !== 1) {\n          return Promise.reject(new Error('Only 3 components or 1 component can be returned'));\n        }\n        return new Promise(function (resolve, reject) {\n          var img = new Image();\n          img.onload = function () {\n            var width = img.width;\n            var height = img.height;\n            var size = width * height;\n            var rgbaLength = size * 4;\n            var buf = new Uint8Array(size * components);\n            var tmpCanvas = document.createElement('canvas');\n            tmpCanvas.width = width;\n            tmpCanvas.height = height;\n            var tmpCtx = tmpCanvas.getContext('2d');\n            tmpCtx.drawImage(img, 0, 0);\n            var data = tmpCtx.getImageData(0, 0, width, height).data;\n            var i, j;\n            if (components === 3) {\n              for (i = 0, j = 0; i < rgbaLength; i += 4, j += 3) {\n                buf[j] = data[i];\n                buf[j + 1] = data[i + 1];\n                buf[j + 2] = data[i + 2];\n              }\n            } else if (components === 1) {\n              for (i = 0, j = 0; i < rgbaLength; i += 4, j++) {\n                buf[j] = data[i];\n              }\n            }\n            resolve({\n              data: buf,\n              width: width,\n              height: height\n            });\n          };\n          img.onerror = function () {\n            reject(new Error('JpegDecode failed to load image'));\n          };\n          img.src = imageUrl;\n        });\n      }, this);\n      messageHandler.on('FetchBuiltInCMap', function (data) {\n        if (this.destroyed) {\n          return Promise.reject(new Error('Worker was destroyed'));\n        }\n        return this.CMapReaderFactory.fetch({ name: data.name });\n      }, this);\n    },\n    getData: function WorkerTransport_getData() {\n      return this.messageHandler.sendWithPromise('GetData', null);\n    },\n    getPage: function WorkerTransport_getPage(pageNumber, capability) {\n      var _this12 = this;\n\n      if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this.numPages) {\n        return Promise.reject(new Error('Invalid page request'));\n      }\n      var pageIndex = pageNumber - 1;\n      if (pageIndex in this.pagePromises) {\n        return this.pagePromises[pageIndex];\n      }\n      var promise = this.messageHandler.sendWithPromise('GetPage', { pageIndex: pageIndex }).then(function (pageInfo) {\n        if (_this12.destroyed) {\n          throw new Error('Transport destroyed');\n        }\n        var page = new PDFPageProxy(pageIndex, pageInfo, _this12);\n        _this12.pageCache[pageIndex] = page;\n        return page;\n      });\n      this.pagePromises[pageIndex] = promise;\n      return promise;\n    },\n    getPageIndex: function WorkerTransport_getPageIndexByRef(ref) {\n      return this.messageHandler.sendWithPromise('GetPageIndex', { ref: ref }).catch(function (reason) {\n        return Promise.reject(new Error(reason));\n      });\n    },\n    getAnnotations: function WorkerTransport_getAnnotations(pageIndex, intent) {\n      return this.messageHandler.sendWithPromise('GetAnnotations', {\n        pageIndex: pageIndex,\n        intent: intent\n      });\n    },\n    getDestinations: function WorkerTransport_getDestinations() {\n      return this.messageHandler.sendWithPromise('GetDestinations', null);\n    },\n    getDestination: function WorkerTransport_getDestination(id) {\n      return this.messageHandler.sendWithPromise('GetDestination', { id: id });\n    },\n    getPageLabels: function WorkerTransport_getPageLabels() {\n      return this.messageHandler.sendWithPromise('GetPageLabels', null);\n    },\n    getPageMode: function getPageMode() {\n      return this.messageHandler.sendWithPromise('GetPageMode', null);\n    },\n\n    getAttachments: function WorkerTransport_getAttachments() {\n      return this.messageHandler.sendWithPromise('GetAttachments', null);\n    },\n    getJavaScript: function WorkerTransport_getJavaScript() {\n      return this.messageHandler.sendWithPromise('GetJavaScript', null);\n    },\n    getOutline: function WorkerTransport_getOutline() {\n      return this.messageHandler.sendWithPromise('GetOutline', null);\n    },\n    getMetadata: function WorkerTransport_getMetadata() {\n      return this.messageHandler.sendWithPromise('GetMetadata', null).then(function transportMetadata(results) {\n        return {\n          info: results[0],\n          metadata: results[1] ? new _metadata.Metadata(results[1]) : null\n        };\n      });\n    },\n    getStats: function WorkerTransport_getStats() {\n      return this.messageHandler.sendWithPromise('GetStats', null);\n    },\n    startCleanup: function WorkerTransport_startCleanup() {\n      var _this13 = this;\n\n      this.messageHandler.sendWithPromise('Cleanup', null).then(function () {\n        for (var i = 0, ii = _this13.pageCache.length; i < ii; i++) {\n          var page = _this13.pageCache[i];\n          if (page) {\n            page.cleanup();\n          }\n        }\n        _this13.commonObjs.clear();\n        _this13.fontLoader.clear();\n      });\n    }\n  };\n  return WorkerTransport;\n}();\nvar PDFObjects = function PDFObjectsClosure() {\n  function PDFObjects() {\n    this.objs = Object.create(null);\n  }\n  PDFObjects.prototype = {\n    ensureObj: function PDFObjects_ensureObj(objId) {\n      if (this.objs[objId]) {\n        return this.objs[objId];\n      }\n      var obj = {\n        capability: (0, _util.createPromiseCapability)(),\n        data: null,\n        resolved: false\n      };\n      this.objs[objId] = obj;\n      return obj;\n    },\n    get: function PDFObjects_get(objId, callback) {\n      if (callback) {\n        this.ensureObj(objId).capability.promise.then(callback);\n        return null;\n      }\n      var obj = this.objs[objId];\n      if (!obj || !obj.resolved) {\n        throw new Error('Requesting object that isn\\'t resolved yet ' + objId);\n      }\n      return obj.data;\n    },\n    resolve: function PDFObjects_resolve(objId, data) {\n      var obj = this.ensureObj(objId);\n      obj.resolved = true;\n      obj.data = data;\n      obj.capability.resolve(data);\n    },\n    isResolved: function PDFObjects_isResolved(objId) {\n      var objs = this.objs;\n      if (!objs[objId]) {\n        return false;\n      }\n      return objs[objId].resolved;\n    },\n    hasData: function PDFObjects_hasData(objId) {\n      return this.isResolved(objId);\n    },\n    getData: function PDFObjects_getData(objId) {\n      var objs = this.objs;\n      if (!objs[objId] || !objs[objId].resolved) {\n        return null;\n      }\n      return objs[objId].data;\n    },\n    clear: function PDFObjects_clear() {\n      this.objs = Object.create(null);\n    }\n  };\n  return PDFObjects;\n}();\nvar RenderTask = function RenderTaskClosure() {\n  function RenderTask(internalRenderTask) {\n    this._internalRenderTask = internalRenderTask;\n    this.onContinue = null;\n  }\n  RenderTask.prototype = {\n    get promise() {\n      return this._internalRenderTask.capability.promise;\n    },\n    cancel: function RenderTask_cancel() {\n      this._internalRenderTask.cancel();\n    },\n    then: function RenderTask_then(onFulfilled, onRejected) {\n      return this.promise.then.apply(this.promise, arguments);\n    }\n  };\n  return RenderTask;\n}();\nvar InternalRenderTask = function InternalRenderTaskClosure() {\n  var canvasInRendering = new WeakMap();\n  function InternalRenderTask(callback, params, objs, commonObjs, operatorList, pageNumber, canvasFactory) {\n    this.callback = callback;\n    this.params = params;\n    this.objs = objs;\n    this.commonObjs = commonObjs;\n    this.operatorListIdx = null;\n    this.operatorList = operatorList;\n    this.pageNumber = pageNumber;\n    this.canvasFactory = canvasFactory;\n    this.running = false;\n    this.graphicsReadyCallback = null;\n    this.graphicsReady = false;\n    this.useRequestAnimationFrame = false;\n    this.cancelled = false;\n    this.capability = (0, _util.createPromiseCapability)();\n    this.task = new RenderTask(this);\n    this._continueBound = this._continue.bind(this);\n    this._scheduleNextBound = this._scheduleNext.bind(this);\n    this._nextBound = this._next.bind(this);\n    this._canvas = params.canvasContext.canvas;\n  }\n  InternalRenderTask.prototype = {\n    initializeGraphics: function InternalRenderTask_initializeGraphics(transparency) {\n      if (this._canvas) {\n        if (canvasInRendering.has(this._canvas)) {\n          throw new Error('Cannot use the same canvas during multiple render() operations. ' + 'Use different canvas or ensure previous operations were ' + 'cancelled or completed.');\n        }\n        canvasInRendering.set(this._canvas, this);\n      }\n      if (this.cancelled) {\n        return;\n      }\n      if ((0, _dom_utils.getDefaultSetting)('pdfBug') && _global_scope2.default.StepperManager && _global_scope2.default.StepperManager.enabled) {\n        this.stepper = _global_scope2.default.StepperManager.create(this.pageNumber - 1);\n        this.stepper.init(this.operatorList);\n        this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();\n      }\n      var params = this.params;\n      this.gfx = new _canvas.CanvasGraphics(params.canvasContext, this.commonObjs, this.objs, this.canvasFactory, params.imageLayer);\n      this.gfx.beginDrawing({\n        transform: params.transform,\n        viewport: params.viewport,\n        transparency: transparency,\n        background: params.background\n      });\n      this.operatorListIdx = 0;\n      this.graphicsReady = true;\n      if (this.graphicsReadyCallback) {\n        this.graphicsReadyCallback();\n      }\n    },\n    cancel: function InternalRenderTask_cancel() {\n      this.running = false;\n      this.cancelled = true;\n      if (this._canvas) {\n        canvasInRendering.delete(this._canvas);\n      }\n      if ((0, _dom_utils.getDefaultSetting)('pdfjsNext')) {\n        this.callback(new _dom_utils.RenderingCancelledException('Rendering cancelled, page ' + this.pageNumber, 'canvas'));\n      } else {\n        this.callback('cancelled');\n      }\n    },\n    operatorListChanged: function InternalRenderTask_operatorListChanged() {\n      if (!this.graphicsReady) {\n        if (!this.graphicsReadyCallback) {\n          this.graphicsReadyCallback = this._continueBound;\n        }\n        return;\n      }\n      if (this.stepper) {\n        this.stepper.updateOperatorList(this.operatorList);\n      }\n      if (this.running) {\n        return;\n      }\n      this._continue();\n    },\n    _continue: function InternalRenderTask__continue() {\n      this.running = true;\n      if (this.cancelled) {\n        return;\n      }\n      if (this.task.onContinue) {\n        this.task.onContinue(this._scheduleNextBound);\n      } else {\n        this._scheduleNext();\n      }\n    },\n    _scheduleNext: function InternalRenderTask__scheduleNext() {\n      if (this.useRequestAnimationFrame && typeof window !== 'undefined') {\n        window.requestAnimationFrame(this._nextBound);\n      } else {\n        Promise.resolve(undefined).then(this._nextBound);\n      }\n    },\n    _next: function InternalRenderTask__next() {\n      if (this.cancelled) {\n        return;\n      }\n      this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper);\n      if (this.operatorListIdx === this.operatorList.argsArray.length) {\n        this.running = false;\n        if (this.operatorList.lastChunk) {\n          this.gfx.endDrawing();\n          if (this._canvas) {\n            canvasInRendering.delete(this._canvas);\n          }\n          this.callback();\n        }\n      }\n    }\n  };\n  return InternalRenderTask;\n}();\nvar _UnsupportedManager = function UnsupportedManagerClosure() {\n  var listeners = [];\n  return {\n    listen: function listen(cb) {\n      (0, _util.deprecated)('Global UnsupportedManager.listen is used: ' + ' use PDFDocumentLoadingTask.onUnsupportedFeature instead');\n      listeners.push(cb);\n    },\n    notify: function notify(featureId) {\n      for (var i = 0, ii = listeners.length; i < ii; i++) {\n        listeners[i](featureId);\n      }\n    }\n  };\n}();\nvar version, build;\n{\n  exports.version = version = '1.10.100';\n  exports.build = build = 'ea29ec83';\n}\nexports.getDocument = getDocument;\nexports.LoopbackPort = LoopbackPort;\nexports.PDFDataRangeTransport = PDFDataRangeTransport;\nexports.PDFWorker = PDFWorker;\nexports.PDFDocumentProxy = PDFDocumentProxy;\nexports.PDFPageProxy = PDFPageProxy;\nexports.setPDFNetworkStreamClass = setPDFNetworkStreamClass;\nexports._UnsupportedManager = _UnsupportedManager;\nexports.version = version;\nexports.build = build;\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.WebGLUtils = undefined;\n\nvar _dom_utils = __w_pdfjs_require__(17);\n\nvar _util = __w_pdfjs_require__(0);\n\nvar WebGLUtils = function WebGLUtilsClosure() {\n  function loadShader(gl, code, shaderType) {\n    var shader = gl.createShader(shaderType);\n    gl.shaderSource(shader, code);\n    gl.compileShader(shader);\n    var compiled = gl.getShaderParameter(shader, gl.COMPILE_STATUS);\n    if (!compiled) {\n      var errorMsg = gl.getShaderInfoLog(shader);\n      throw new Error('Error during shader compilation: ' + errorMsg);\n    }\n    return shader;\n  }\n  function createVertexShader(gl, code) {\n    return loadShader(gl, code, gl.VERTEX_SHADER);\n  }\n  function createFragmentShader(gl, code) {\n    return loadShader(gl, code, gl.FRAGMENT_SHADER);\n  }\n  function createProgram(gl, shaders) {\n    var program = gl.createProgram();\n    for (var i = 0, ii = shaders.length; i < ii; ++i) {\n      gl.attachShader(program, shaders[i]);\n    }\n    gl.linkProgram(program);\n    var linked = gl.getProgramParameter(program, gl.LINK_STATUS);\n    if (!linked) {\n      var errorMsg = gl.getProgramInfoLog(program);\n      throw new Error('Error during program linking: ' + errorMsg);\n    }\n    return program;\n  }\n  function createTexture(gl, image, textureId) {\n    gl.activeTexture(textureId);\n    var texture = gl.createTexture();\n    gl.bindTexture(gl.TEXTURE_2D, texture);\n    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);\n    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);\n    gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);\n    return texture;\n  }\n  var currentGL, currentCanvas;\n  function generateGL() {\n    if (currentGL) {\n      return;\n    }\n    currentCanvas = document.createElement('canvas');\n    currentGL = currentCanvas.getContext('webgl', { premultipliedalpha: false });\n  }\n  var smaskVertexShaderCode = '\\\n  attribute vec2 a_position;                                    \\\n  attribute vec2 a_texCoord;                                    \\\n                                                                \\\n  uniform vec2 u_resolution;                                    \\\n                                                                \\\n  varying vec2 v_texCoord;                                      \\\n                                                                \\\n  void main() {                                                 \\\n    vec2 clipSpace = (a_position / u_resolution) * 2.0 - 1.0;   \\\n    gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1);          \\\n                                                                \\\n    v_texCoord = a_texCoord;                                    \\\n  }                                                             ';\n  var smaskFragmentShaderCode = '\\\n  precision mediump float;                                      \\\n                                                                \\\n  uniform vec4 u_backdrop;                                      \\\n  uniform int u_subtype;                                        \\\n  uniform sampler2D u_image;                                    \\\n  uniform sampler2D u_mask;                                     \\\n                                                                \\\n  varying vec2 v_texCoord;                                      \\\n                                                                \\\n  void main() {                                                 \\\n    vec4 imageColor = texture2D(u_image, v_texCoord);           \\\n    vec4 maskColor = texture2D(u_mask, v_texCoord);             \\\n    if (u_backdrop.a > 0.0) {                                   \\\n      maskColor.rgb = maskColor.rgb * maskColor.a +             \\\n                      u_backdrop.rgb * (1.0 - maskColor.a);     \\\n    }                                                           \\\n    float lum;                                                  \\\n    if (u_subtype == 0) {                                       \\\n      lum = maskColor.a;                                        \\\n    } else {                                                    \\\n      lum = maskColor.r * 0.3 + maskColor.g * 0.59 +            \\\n            maskColor.b * 0.11;                                 \\\n    }                                                           \\\n    imageColor.a *= lum;                                        \\\n    imageColor.rgb *= imageColor.a;                             \\\n    gl_FragColor = imageColor;                                  \\\n  }                                                             ';\n  var smaskCache = null;\n  function initSmaskGL() {\n    var canvas, gl;\n    generateGL();\n    canvas = currentCanvas;\n    currentCanvas = null;\n    gl = currentGL;\n    currentGL = null;\n    var vertexShader = createVertexShader(gl, smaskVertexShaderCode);\n    var fragmentShader = createFragmentShader(gl, smaskFragmentShaderCode);\n    var program = createProgram(gl, [vertexShader, fragmentShader]);\n    gl.useProgram(program);\n    var cache = {};\n    cache.gl = gl;\n    cache.canvas = canvas;\n    cache.resolutionLocation = gl.getUniformLocation(program, 'u_resolution');\n    cache.positionLocation = gl.getAttribLocation(program, 'a_position');\n    cache.backdropLocation = gl.getUniformLocation(program, 'u_backdrop');\n    cache.subtypeLocation = gl.getUniformLocation(program, 'u_subtype');\n    var texCoordLocation = gl.getAttribLocation(program, 'a_texCoord');\n    var texLayerLocation = gl.getUniformLocation(program, 'u_image');\n    var texMaskLocation = gl.getUniformLocation(program, 'u_mask');\n    var texCoordBuffer = gl.createBuffer();\n    gl.bindBuffer(gl.ARRAY_BUFFER, texCoordBuffer);\n    gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0]), gl.STATIC_DRAW);\n    gl.enableVertexAttribArray(texCoordLocation);\n    gl.vertexAttribPointer(texCoordLocation, 2, gl.FLOAT, false, 0, 0);\n    gl.uniform1i(texLayerLocation, 0);\n    gl.uniform1i(texMaskLocation, 1);\n    smaskCache = cache;\n  }\n  function composeSMask(layer, mask, properties) {\n    var width = layer.width,\n        height = layer.height;\n    if (!smaskCache) {\n      initSmaskGL();\n    }\n    var cache = smaskCache,\n        canvas = cache.canvas,\n        gl = cache.gl;\n    canvas.width = width;\n    canvas.height = height;\n    gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n    gl.uniform2f(cache.resolutionLocation, width, height);\n    if (properties.backdrop) {\n      gl.uniform4f(cache.resolutionLocation, properties.backdrop[0], properties.backdrop[1], properties.backdrop[2], 1);\n    } else {\n      gl.uniform4f(cache.resolutionLocation, 0, 0, 0, 0);\n    }\n    gl.uniform1i(cache.subtypeLocation, properties.subtype === 'Luminosity' ? 1 : 0);\n    var texture = createTexture(gl, layer, gl.TEXTURE0);\n    var maskTexture = createTexture(gl, mask, gl.TEXTURE1);\n    var buffer = gl.createBuffer();\n    gl.bindBuffer(gl.ARRAY_BUFFER, buffer);\n    gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0, 0, width, 0, 0, height, 0, height, width, 0, width, height]), gl.STATIC_DRAW);\n    gl.enableVertexAttribArray(cache.positionLocation);\n    gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);\n    gl.clearColor(0, 0, 0, 0);\n    gl.enable(gl.BLEND);\n    gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);\n    gl.clear(gl.COLOR_BUFFER_BIT);\n    gl.drawArrays(gl.TRIANGLES, 0, 6);\n    gl.flush();\n    gl.deleteTexture(texture);\n    gl.deleteTexture(maskTexture);\n    gl.deleteBuffer(buffer);\n    return canvas;\n  }\n  var figuresVertexShaderCode = '\\\n  attribute vec2 a_position;                                    \\\n  attribute vec3 a_color;                                       \\\n                                                                \\\n  uniform vec2 u_resolution;                                    \\\n  uniform vec2 u_scale;                                         \\\n  uniform vec2 u_offset;                                        \\\n                                                                \\\n  varying vec4 v_color;                                         \\\n                                                                \\\n  void main() {                                                 \\\n    vec2 position = (a_position + u_offset) * u_scale;          \\\n    vec2 clipSpace = (position / u_resolution) * 2.0 - 1.0;     \\\n    gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1);          \\\n                                                                \\\n    v_color = vec4(a_color / 255.0, 1.0);                       \\\n  }                                                             ';\n  var figuresFragmentShaderCode = '\\\n  precision mediump float;                                      \\\n                                                                \\\n  varying vec4 v_color;                                         \\\n                                                                \\\n  void main() {                                                 \\\n    gl_FragColor = v_color;                                     \\\n  }                                                             ';\n  var figuresCache = null;\n  function initFiguresGL() {\n    var canvas, gl;\n    generateGL();\n    canvas = currentCanvas;\n    currentCanvas = null;\n    gl = currentGL;\n    currentGL = null;\n    var vertexShader = createVertexShader(gl, figuresVertexShaderCode);\n    var fragmentShader = createFragmentShader(gl, figuresFragmentShaderCode);\n    var program = createProgram(gl, [vertexShader, fragmentShader]);\n    gl.useProgram(program);\n    var cache = {};\n    cache.gl = gl;\n    cache.canvas = canvas;\n    cache.resolutionLocation = gl.getUniformLocation(program, 'u_resolution');\n    cache.scaleLocation = gl.getUniformLocation(program, 'u_scale');\n    cache.offsetLocation = gl.getUniformLocation(program, 'u_offset');\n    cache.positionLocation = gl.getAttribLocation(program, 'a_position');\n    cache.colorLocation = gl.getAttribLocation(program, 'a_color');\n    figuresCache = cache;\n  }\n  function drawFigures(width, height, backgroundColor, figures, context) {\n    if (!figuresCache) {\n      initFiguresGL();\n    }\n    var cache = figuresCache,\n        canvas = cache.canvas,\n        gl = cache.gl;\n    canvas.width = width;\n    canvas.height = height;\n    gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n    gl.uniform2f(cache.resolutionLocation, width, height);\n    var count = 0;\n    var i, ii, rows;\n    for (i = 0, ii = figures.length; i < ii; i++) {\n      switch (figures[i].type) {\n        case 'lattice':\n          rows = figures[i].coords.length / figures[i].verticesPerRow | 0;\n          count += (rows - 1) * (figures[i].verticesPerRow - 1) * 6;\n          break;\n        case 'triangles':\n          count += figures[i].coords.length;\n          break;\n      }\n    }\n    var coords = new Float32Array(count * 2);\n    var colors = new Uint8Array(count * 3);\n    var coordsMap = context.coords,\n        colorsMap = context.colors;\n    var pIndex = 0,\n        cIndex = 0;\n    for (i = 0, ii = figures.length; i < ii; i++) {\n      var figure = figures[i],\n          ps = figure.coords,\n          cs = figure.colors;\n      switch (figure.type) {\n        case 'lattice':\n          var cols = figure.verticesPerRow;\n          rows = ps.length / cols | 0;\n          for (var row = 1; row < rows; row++) {\n            var offset = row * cols + 1;\n            for (var col = 1; col < cols; col++, offset++) {\n              coords[pIndex] = coordsMap[ps[offset - cols - 1]];\n              coords[pIndex + 1] = coordsMap[ps[offset - cols - 1] + 1];\n              coords[pIndex + 2] = coordsMap[ps[offset - cols]];\n              coords[pIndex + 3] = coordsMap[ps[offset - cols] + 1];\n              coords[pIndex + 4] = coordsMap[ps[offset - 1]];\n              coords[pIndex + 5] = coordsMap[ps[offset - 1] + 1];\n              colors[cIndex] = colorsMap[cs[offset - cols - 1]];\n              colors[cIndex + 1] = colorsMap[cs[offset - cols - 1] + 1];\n              colors[cIndex + 2] = colorsMap[cs[offset - cols - 1] + 2];\n              colors[cIndex + 3] = colorsMap[cs[offset - cols]];\n              colors[cIndex + 4] = colorsMap[cs[offset - cols] + 1];\n              colors[cIndex + 5] = colorsMap[cs[offset - cols] + 2];\n              colors[cIndex + 6] = colorsMap[cs[offset - 1]];\n              colors[cIndex + 7] = colorsMap[cs[offset - 1] + 1];\n              colors[cIndex + 8] = colorsMap[cs[offset - 1] + 2];\n              coords[pIndex + 6] = coords[pIndex + 2];\n              coords[pIndex + 7] = coords[pIndex + 3];\n              coords[pIndex + 8] = coords[pIndex + 4];\n              coords[pIndex + 9] = coords[pIndex + 5];\n              coords[pIndex + 10] = coordsMap[ps[offset]];\n              coords[pIndex + 11] = coordsMap[ps[offset] + 1];\n              colors[cIndex + 9] = colors[cIndex + 3];\n              colors[cIndex + 10] = colors[cIndex + 4];\n              colors[cIndex + 11] = colors[cIndex + 5];\n              colors[cIndex + 12] = colors[cIndex + 6];\n              colors[cIndex + 13] = colors[cIndex + 7];\n              colors[cIndex + 14] = colors[cIndex + 8];\n              colors[cIndex + 15] = colorsMap[cs[offset]];\n              colors[cIndex + 16] = colorsMap[cs[offset] + 1];\n              colors[cIndex + 17] = colorsMap[cs[offset] + 2];\n              pIndex += 12;\n              cIndex += 18;\n            }\n          }\n          break;\n        case 'triangles':\n          for (var j = 0, jj = ps.length; j < jj; j++) {\n            coords[pIndex] = coordsMap[ps[j]];\n            coords[pIndex + 1] = coordsMap[ps[j] + 1];\n            colors[cIndex] = colorsMap[cs[j]];\n            colors[cIndex + 1] = colorsMap[cs[j] + 1];\n            colors[cIndex + 2] = colorsMap[cs[j] + 2];\n            pIndex += 2;\n            cIndex += 3;\n          }\n          break;\n      }\n    }\n    if (backgroundColor) {\n      gl.clearColor(backgroundColor[0] / 255, backgroundColor[1] / 255, backgroundColor[2] / 255, 1.0);\n    } else {\n      gl.clearColor(0, 0, 0, 0);\n    }\n    gl.clear(gl.COLOR_BUFFER_BIT);\n    var coordsBuffer = gl.createBuffer();\n    gl.bindBuffer(gl.ARRAY_BUFFER, coordsBuffer);\n    gl.bufferData(gl.ARRAY_BUFFER, coords, gl.STATIC_DRAW);\n    gl.enableVertexAttribArray(cache.positionLocation);\n    gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);\n    var colorsBuffer = gl.createBuffer();\n    gl.bindBuffer(gl.ARRAY_BUFFER, colorsBuffer);\n    gl.bufferData(gl.ARRAY_BUFFER, colors, gl.STATIC_DRAW);\n    gl.enableVertexAttribArray(cache.colorLocation);\n    gl.vertexAttribPointer(cache.colorLocation, 3, gl.UNSIGNED_BYTE, false, 0, 0);\n    gl.uniform2f(cache.scaleLocation, context.scaleX, context.scaleY);\n    gl.uniform2f(cache.offsetLocation, context.offsetX, context.offsetY);\n    gl.drawArrays(gl.TRIANGLES, 0, count);\n    gl.flush();\n    gl.deleteBuffer(coordsBuffer);\n    gl.deleteBuffer(colorsBuffer);\n    return canvas;\n  }\n  function cleanup() {\n    if (smaskCache && smaskCache.canvas) {\n      smaskCache.canvas.width = 0;\n      smaskCache.canvas.height = 0;\n    }\n    if (figuresCache && figuresCache.canvas) {\n      figuresCache.canvas.width = 0;\n      figuresCache.canvas.height = 0;\n    }\n    smaskCache = null;\n    figuresCache = null;\n  }\n  return {\n    get isEnabled() {\n      if ((0, _dom_utils.getDefaultSetting)('disableWebGL')) {\n        return false;\n      }\n      var enabled = false;\n      try {\n        generateGL();\n        enabled = !!currentGL;\n      } catch (e) {}\n      return (0, _util.shadow)(this, 'isEnabled', enabled);\n    },\n    composeSMask: composeSMask,\n    drawFigures: drawFigures,\n    clear: cleanup\n  };\n}();\nexports.WebGLUtils = WebGLUtils;\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.Metadata = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _util = __w_pdfjs_require__(0);\n\nvar _xml_parser = __w_pdfjs_require__(138);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Metadata = function () {\n  function Metadata(data) {\n    _classCallCheck(this, Metadata);\n\n    (0, _util.assert)(typeof data === 'string', 'Metadata: input is not a string');\n    data = this._repair(data);\n    var parser = new _xml_parser.SimpleXMLParser();\n    var xmlDocument = parser.parseFromString(data);\n    this._metadata = Object.create(null);\n    if (xmlDocument) {\n      this._parse(xmlDocument);\n    }\n  }\n\n  _createClass(Metadata, [{\n    key: '_repair',\n    value: function _repair(data) {\n      return data.replace(/>\\\\376\\\\377([^<]+)/g, function (all, codes) {\n        var bytes = codes.replace(/\\\\([0-3])([0-7])([0-7])/g, function (code, d1, d2, d3) {\n          return String.fromCharCode(d1 * 64 + d2 * 8 + d3 * 1);\n        });\n        var chars = '';\n        for (var i = 0, ii = bytes.length; i < ii; i += 2) {\n          var code = bytes.charCodeAt(i) * 256 + bytes.charCodeAt(i + 1);\n          if (code >= 32 && code < 127 && code !== 60 && code !== 62 && code !== 38) {\n            chars += String.fromCharCode(code);\n          } else {\n            chars += '&#x' + (0x10000 + code).toString(16).substring(1) + ';';\n          }\n        }\n        return '>' + chars;\n      });\n    }\n  }, {\n    key: '_parse',\n    value: function _parse(xmlDocument) {\n      var rdf = xmlDocument.documentElement;\n      if (rdf.nodeName.toLowerCase() !== 'rdf:rdf') {\n        rdf = rdf.firstChild;\n        while (rdf && rdf.nodeName.toLowerCase() !== 'rdf:rdf') {\n          rdf = rdf.nextSibling;\n        }\n      }\n      var nodeName = rdf ? rdf.nodeName.toLowerCase() : null;\n      if (!rdf || nodeName !== 'rdf:rdf' || !rdf.hasChildNodes()) {\n        return;\n      }\n      var children = rdf.childNodes;\n      for (var i = 0, ii = children.length; i < ii; i++) {\n        var desc = children[i];\n        if (desc.nodeName.toLowerCase() !== 'rdf:description') {\n          continue;\n        }\n        for (var j = 0, jj = desc.childNodes.length; j < jj; j++) {\n          if (desc.childNodes[j].nodeName.toLowerCase() !== '#text') {\n            var entry = desc.childNodes[j];\n            var name = entry.nodeName.toLowerCase();\n            this._metadata[name] = entry.textContent.trim();\n          }\n        }\n      }\n    }\n  }, {\n    key: 'get',\n    value: function get(name) {\n      return this._metadata[name] || null;\n    }\n  }, {\n    key: 'getAll',\n    value: function getAll() {\n      return this._metadata;\n    }\n  }, {\n    key: 'has',\n    value: function has(name) {\n      return typeof this._metadata[name] !== 'undefined';\n    }\n  }, {\n    key: 'metadata',\n    get: function get() {\n      (0, _util.deprecated)('`metadata` getter; use `getAll()` instead.');\n      return this.getAll();\n    }\n  }]);\n\n  return Metadata;\n}();\n\nexports.Metadata = Metadata;\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.ChunkedStreamManager = exports.ChunkedStream = undefined;\n\nvar _util = __w_pdfjs_require__(0);\n\nvar ChunkedStream = function ChunkedStreamClosure() {\n  function ChunkedStream(length, chunkSize, manager) {\n    this.bytes = new Uint8Array(length);\n    this.start = 0;\n    this.pos = 0;\n    this.end = length;\n    this.chunkSize = chunkSize;\n    this.loadedChunks = [];\n    this.numChunksLoaded = 0;\n    this.numChunks = Math.ceil(length / chunkSize);\n    this.manager = manager;\n    this.progressiveDataLength = 0;\n    this.lastSuccessfulEnsureByteChunk = -1;\n  }\n  ChunkedStream.prototype = {\n    getMissingChunks: function ChunkedStream_getMissingChunks() {\n      var chunks = [];\n      for (var chunk = 0, n = this.numChunks; chunk < n; ++chunk) {\n        if (!this.loadedChunks[chunk]) {\n          chunks.push(chunk);\n        }\n      }\n      return chunks;\n    },\n    getBaseStreams: function ChunkedStream_getBaseStreams() {\n      return [this];\n    },\n    allChunksLoaded: function ChunkedStream_allChunksLoaded() {\n      return this.numChunksLoaded === this.numChunks;\n    },\n    onReceiveData: function ChunkedStream_onReceiveData(begin, chunk) {\n      var end = begin + chunk.byteLength;\n      if (begin % this.chunkSize !== 0) {\n        throw new Error('Bad begin offset: ' + begin);\n      }\n      var length = this.bytes.length;\n      if (end % this.chunkSize !== 0 && end !== length) {\n        throw new Error('Bad end offset: ' + end);\n      }\n      this.bytes.set(new Uint8Array(chunk), begin);\n      var chunkSize = this.chunkSize;\n      var beginChunk = Math.floor(begin / chunkSize);\n      var endChunk = Math.floor((end - 1) / chunkSize) + 1;\n      var curChunk;\n      for (curChunk = beginChunk; curChunk < endChunk; ++curChunk) {\n        if (!this.loadedChunks[curChunk]) {\n          this.loadedChunks[curChunk] = true;\n          ++this.numChunksLoaded;\n        }\n      }\n    },\n    onReceiveProgressiveData: function ChunkedStream_onReceiveProgressiveData(data) {\n      var position = this.progressiveDataLength;\n      var beginChunk = Math.floor(position / this.chunkSize);\n      this.bytes.set(new Uint8Array(data), position);\n      position += data.byteLength;\n      this.progressiveDataLength = position;\n      var endChunk = position >= this.end ? this.numChunks : Math.floor(position / this.chunkSize);\n      var curChunk;\n      for (curChunk = beginChunk; curChunk < endChunk; ++curChunk) {\n        if (!this.loadedChunks[curChunk]) {\n          this.loadedChunks[curChunk] = true;\n          ++this.numChunksLoaded;\n        }\n      }\n    },\n    ensureByte: function ChunkedStream_ensureByte(pos) {\n      var chunk = Math.floor(pos / this.chunkSize);\n      if (chunk === this.lastSuccessfulEnsureByteChunk) {\n        return;\n      }\n      if (!this.loadedChunks[chunk]) {\n        throw new _util.MissingDataException(pos, pos + 1);\n      }\n      this.lastSuccessfulEnsureByteChunk = chunk;\n    },\n    ensureRange: function ChunkedStream_ensureRange(begin, end) {\n      if (begin >= end) {\n        return;\n      }\n      if (end <= this.progressiveDataLength) {\n        return;\n      }\n      var chunkSize = this.chunkSize;\n      var beginChunk = Math.floor(begin / chunkSize);\n      var endChunk = Math.floor((end - 1) / chunkSize) + 1;\n      for (var chunk = beginChunk; chunk < endChunk; ++chunk) {\n        if (!this.loadedChunks[chunk]) {\n          throw new _util.MissingDataException(begin, end);\n        }\n      }\n    },\n    nextEmptyChunk: function ChunkedStream_nextEmptyChunk(beginChunk) {\n      var chunk,\n          numChunks = this.numChunks;\n      for (var i = 0; i < numChunks; ++i) {\n        chunk = (beginChunk + i) % numChunks;\n        if (!this.loadedChunks[chunk]) {\n          return chunk;\n        }\n      }\n      return null;\n    },\n    hasChunk: function ChunkedStream_hasChunk(chunk) {\n      return !!this.loadedChunks[chunk];\n    },\n    get length() {\n      return this.end - this.start;\n    },\n    get isEmpty() {\n      return this.length === 0;\n    },\n    getByte: function ChunkedStream_getByte() {\n      var pos = this.pos;\n      if (pos >= this.end) {\n        return -1;\n      }\n      this.ensureByte(pos);\n      return this.bytes[this.pos++];\n    },\n    getUint16: function ChunkedStream_getUint16() {\n      var b0 = this.getByte();\n      var b1 = this.getByte();\n      if (b0 === -1 || b1 === -1) {\n        return -1;\n      }\n      return (b0 << 8) + b1;\n    },\n    getInt32: function ChunkedStream_getInt32() {\n      var b0 = this.getByte();\n      var b1 = this.getByte();\n      var b2 = this.getByte();\n      var b3 = this.getByte();\n      return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n    },\n    getBytes: function ChunkedStream_getBytes(length) {\n      var bytes = this.bytes;\n      var pos = this.pos;\n      var strEnd = this.end;\n      if (!length) {\n        this.ensureRange(pos, strEnd);\n        return bytes.subarray(pos, strEnd);\n      }\n      var end = pos + length;\n      if (end > strEnd) {\n        end = strEnd;\n      }\n      this.ensureRange(pos, end);\n      this.pos = end;\n      return bytes.subarray(pos, end);\n    },\n    peekByte: function ChunkedStream_peekByte() {\n      var peekedByte = this.getByte();\n      this.pos--;\n      return peekedByte;\n    },\n    peekBytes: function ChunkedStream_peekBytes(length) {\n      var bytes = this.getBytes(length);\n      this.pos -= bytes.length;\n      return bytes;\n    },\n    getByteRange: function ChunkedStream_getBytes(begin, end) {\n      this.ensureRange(begin, end);\n      return this.bytes.subarray(begin, end);\n    },\n    skip: function ChunkedStream_skip(n) {\n      if (!n) {\n        n = 1;\n      }\n      this.pos += n;\n    },\n    reset: function ChunkedStream_reset() {\n      this.pos = this.start;\n    },\n    moveStart: function ChunkedStream_moveStart() {\n      this.start = this.pos;\n    },\n    makeSubStream: function ChunkedStream_makeSubStream(start, length, dict) {\n      this.ensureRange(start, start + length);\n      function ChunkedStreamSubstream() {}\n      ChunkedStreamSubstream.prototype = Object.create(this);\n      ChunkedStreamSubstream.prototype.getMissingChunks = function () {\n        var chunkSize = this.chunkSize;\n        var beginChunk = Math.floor(this.start / chunkSize);\n        var endChunk = Math.floor((this.end - 1) / chunkSize) + 1;\n        var missingChunks = [];\n        for (var chunk = beginChunk; chunk < endChunk; ++chunk) {\n          if (!this.loadedChunks[chunk]) {\n            missingChunks.push(chunk);\n          }\n        }\n        return missingChunks;\n      };\n      var subStream = new ChunkedStreamSubstream();\n      subStream.pos = subStream.start = start;\n      subStream.end = start + length || this.end;\n      subStream.dict = dict;\n      return subStream;\n    }\n  };\n  return ChunkedStream;\n}();\nvar ChunkedStreamManager = function ChunkedStreamManagerClosure() {\n  function ChunkedStreamManager(pdfNetworkStream, args) {\n    var chunkSize = args.rangeChunkSize;\n    var length = args.length;\n    this.stream = new ChunkedStream(length, chunkSize, this);\n    this.length = length;\n    this.chunkSize = chunkSize;\n    this.pdfNetworkStream = pdfNetworkStream;\n    this.url = args.url;\n    this.disableAutoFetch = args.disableAutoFetch;\n    this.msgHandler = args.msgHandler;\n    this.currRequestId = 0;\n    this.chunksNeededByRequest = Object.create(null);\n    this.requestsByChunk = Object.create(null);\n    this.promisesByRequest = Object.create(null);\n    this.progressiveDataLength = 0;\n    this.aborted = false;\n    this._loadedStreamCapability = (0, _util.createPromiseCapability)();\n  }\n  ChunkedStreamManager.prototype = {\n    onLoadedStream: function ChunkedStreamManager_getLoadedStream() {\n      return this._loadedStreamCapability.promise;\n    },\n    sendRequest: function ChunkedStreamManager_sendRequest(begin, end) {\n      var _this = this;\n\n      var rangeReader = this.pdfNetworkStream.getRangeReader(begin, end);\n      if (!rangeReader.isStreamingSupported) {\n        rangeReader.onProgress = this.onProgress.bind(this);\n      }\n      var chunks = [],\n          loaded = 0;\n      var manager = this;\n      var promise = new Promise(function (resolve, reject) {\n        var readChunk = function readChunk(chunk) {\n          try {\n            if (!chunk.done) {\n              var data = chunk.value;\n              chunks.push(data);\n              loaded += (0, _util.arrayByteLength)(data);\n              if (rangeReader.isStreamingSupported) {\n                manager.onProgress({ loaded: loaded });\n              }\n              rangeReader.read().then(readChunk, reject);\n              return;\n            }\n            var chunkData = (0, _util.arraysToBytes)(chunks);\n            chunks = null;\n            resolve(chunkData);\n          } catch (e) {\n            reject(e);\n          }\n        };\n        rangeReader.read().then(readChunk, reject);\n      });\n      promise.then(function (data) {\n        if (_this.aborted) {\n          return;\n        }\n        _this.onReceiveData({\n          chunk: data,\n          begin: begin\n        });\n      });\n    },\n    requestAllChunks: function ChunkedStreamManager_requestAllChunks() {\n      var missingChunks = this.stream.getMissingChunks();\n      this._requestChunks(missingChunks);\n      return this._loadedStreamCapability.promise;\n    },\n    _requestChunks: function ChunkedStreamManager_requestChunks(chunks) {\n      var requestId = this.currRequestId++;\n      var i, ii;\n      var chunksNeeded = Object.create(null);\n      this.chunksNeededByRequest[requestId] = chunksNeeded;\n      for (i = 0, ii = chunks.length; i < ii; i++) {\n        if (!this.stream.hasChunk(chunks[i])) {\n          chunksNeeded[chunks[i]] = true;\n        }\n      }\n      if ((0, _util.isEmptyObj)(chunksNeeded)) {\n        return Promise.resolve();\n      }\n      var capability = (0, _util.createPromiseCapability)();\n      this.promisesByRequest[requestId] = capability;\n      var chunksToRequest = [];\n      for (var chunk in chunksNeeded) {\n        chunk = chunk | 0;\n        if (!(chunk in this.requestsByChunk)) {\n          this.requestsByChunk[chunk] = [];\n          chunksToRequest.push(chunk);\n        }\n        this.requestsByChunk[chunk].push(requestId);\n      }\n      if (!chunksToRequest.length) {\n        return capability.promise;\n      }\n      var groupedChunksToRequest = this.groupChunks(chunksToRequest);\n      for (i = 0; i < groupedChunksToRequest.length; ++i) {\n        var groupedChunk = groupedChunksToRequest[i];\n        var begin = groupedChunk.beginChunk * this.chunkSize;\n        var end = Math.min(groupedChunk.endChunk * this.chunkSize, this.length);\n        this.sendRequest(begin, end);\n      }\n      return capability.promise;\n    },\n    getStream: function ChunkedStreamManager_getStream() {\n      return this.stream;\n    },\n    requestRange: function ChunkedStreamManager_requestRange(begin, end) {\n      end = Math.min(end, this.length);\n      var beginChunk = this.getBeginChunk(begin);\n      var endChunk = this.getEndChunk(end);\n      var chunks = [];\n      for (var chunk = beginChunk; chunk < endChunk; ++chunk) {\n        chunks.push(chunk);\n      }\n      return this._requestChunks(chunks);\n    },\n    requestRanges: function ChunkedStreamManager_requestRanges(ranges) {\n      ranges = ranges || [];\n      var chunksToRequest = [];\n      for (var i = 0; i < ranges.length; i++) {\n        var beginChunk = this.getBeginChunk(ranges[i].begin);\n        var endChunk = this.getEndChunk(ranges[i].end);\n        for (var chunk = beginChunk; chunk < endChunk; ++chunk) {\n          if (chunksToRequest.indexOf(chunk) < 0) {\n            chunksToRequest.push(chunk);\n          }\n        }\n      }\n      chunksToRequest.sort(function (a, b) {\n        return a - b;\n      });\n      return this._requestChunks(chunksToRequest);\n    },\n    groupChunks: function ChunkedStreamManager_groupChunks(chunks) {\n      var groupedChunks = [];\n      var beginChunk = -1;\n      var prevChunk = -1;\n      for (var i = 0; i < chunks.length; ++i) {\n        var chunk = chunks[i];\n        if (beginChunk < 0) {\n          beginChunk = chunk;\n        }\n        if (prevChunk >= 0 && prevChunk + 1 !== chunk) {\n          groupedChunks.push({\n            beginChunk: beginChunk,\n            endChunk: prevChunk + 1\n          });\n          beginChunk = chunk;\n        }\n        if (i + 1 === chunks.length) {\n          groupedChunks.push({\n            beginChunk: beginChunk,\n            endChunk: chunk + 1\n          });\n        }\n        prevChunk = chunk;\n      }\n      return groupedChunks;\n    },\n    onProgress: function ChunkedStreamManager_onProgress(args) {\n      var bytesLoaded = this.stream.numChunksLoaded * this.chunkSize + args.loaded;\n      this.msgHandler.send('DocProgress', {\n        loaded: bytesLoaded,\n        total: this.length\n      });\n    },\n    onReceiveData: function ChunkedStreamManager_onReceiveData(args) {\n      var chunk = args.chunk;\n      var isProgressive = args.begin === undefined;\n      var begin = isProgressive ? this.progressiveDataLength : args.begin;\n      var end = begin + chunk.byteLength;\n      var beginChunk = Math.floor(begin / this.chunkSize);\n      var endChunk = end < this.length ? Math.floor(end / this.chunkSize) : Math.ceil(end / this.chunkSize);\n      if (isProgressive) {\n        this.stream.onReceiveProgressiveData(chunk);\n        this.progressiveDataLength = end;\n      } else {\n        this.stream.onReceiveData(begin, chunk);\n      }\n      if (this.stream.allChunksLoaded()) {\n        this._loadedStreamCapability.resolve(this.stream);\n      }\n      var loadedRequests = [];\n      var i, requestId;\n      for (chunk = beginChunk; chunk < endChunk; ++chunk) {\n        var requestIds = this.requestsByChunk[chunk] || [];\n        delete this.requestsByChunk[chunk];\n        for (i = 0; i < requestIds.length; ++i) {\n          requestId = requestIds[i];\n          var chunksNeeded = this.chunksNeededByRequest[requestId];\n          if (chunk in chunksNeeded) {\n            delete chunksNeeded[chunk];\n          }\n          if (!(0, _util.isEmptyObj)(chunksNeeded)) {\n            continue;\n          }\n          loadedRequests.push(requestId);\n        }\n      }\n      if (!this.disableAutoFetch && (0, _util.isEmptyObj)(this.requestsByChunk)) {\n        var nextEmptyChunk;\n        if (this.stream.numChunksLoaded === 1) {\n          var lastChunk = this.stream.numChunks - 1;\n          if (!this.stream.hasChunk(lastChunk)) {\n            nextEmptyChunk = lastChunk;\n          }\n        } else {\n          nextEmptyChunk = this.stream.nextEmptyChunk(endChunk);\n        }\n        if (Number.isInteger(nextEmptyChunk)) {\n          this._requestChunks([nextEmptyChunk]);\n        }\n      }\n      for (i = 0; i < loadedRequests.length; ++i) {\n        requestId = loadedRequests[i];\n        var capability = this.promisesByRequest[requestId];\n        delete this.promisesByRequest[requestId];\n        capability.resolve();\n      }\n      this.msgHandler.send('DocProgress', {\n        loaded: this.stream.numChunksLoaded * this.chunkSize,\n        total: this.length\n      });\n    },\n    onError: function ChunkedStreamManager_onError(err) {\n      this._loadedStreamCapability.reject(err);\n    },\n    getBeginChunk: function ChunkedStreamManager_getBeginChunk(begin) {\n      var chunk = Math.floor(begin / this.chunkSize);\n      return chunk;\n    },\n    getEndChunk: function ChunkedStreamManager_getEndChunk(end) {\n      var chunk = Math.floor((end - 1) / this.chunkSize) + 1;\n      return chunk;\n    },\n    abort: function ChunkedStreamManager_abort() {\n      this.aborted = true;\n      if (this.pdfNetworkStream) {\n        this.pdfNetworkStream.cancelAllRequests('abort');\n      }\n      for (var requestId in this.promisesByRequest) {\n        var capability = this.promisesByRequest[requestId];\n        capability.reject(new Error('Request was aborted'));\n      }\n    }\n  };\n  return ChunkedStreamManager;\n}();\nexports.ChunkedStream = ChunkedStream;\nexports.ChunkedStreamManager = ChunkedStreamManager;\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.FileSpec = exports.XRef = exports.ObjectLoader = exports.Catalog = undefined;\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 && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _util = __w_pdfjs_require__(0);\n\nvar _primitives = __w_pdfjs_require__(2);\n\nvar _parser = __w_pdfjs_require__(36);\n\nvar _chunked_stream = __w_pdfjs_require__(78);\n\nvar _crypto = __w_pdfjs_require__(82);\n\nvar _colorspace = __w_pdfjs_require__(29);\n\nvar Catalog = function CatalogClosure() {\n  function Catalog(pdfManager, xref, pageFactory) {\n    this.pdfManager = pdfManager;\n    this.xref = xref;\n    this.catDict = xref.getCatalogObj();\n    if (!(0, _primitives.isDict)(this.catDict)) {\n      throw new _util.FormatError('catalog object is not a dictionary');\n    }\n    this.fontCache = new _primitives.RefSetCache();\n    this.builtInCMapCache = Object.create(null);\n    this.pageKidsCountCache = new _primitives.RefSetCache();\n    this.pageFactory = pageFactory;\n    this.pagePromises = [];\n  }\n  Catalog.prototype = {\n    get metadata() {\n      var streamRef = this.catDict.getRaw('Metadata');\n      if (!(0, _primitives.isRef)(streamRef)) {\n        return (0, _util.shadow)(this, 'metadata', null);\n      }\n      var encryptMetadata = !this.xref.encrypt ? false : this.xref.encrypt.encryptMetadata;\n      var stream = this.xref.fetch(streamRef, !encryptMetadata);\n      var metadata;\n      if (stream && (0, _primitives.isDict)(stream.dict)) {\n        var type = stream.dict.get('Type');\n        var subtype = stream.dict.get('Subtype');\n        if ((0, _primitives.isName)(type, 'Metadata') && (0, _primitives.isName)(subtype, 'XML')) {\n          try {\n            metadata = (0, _util.stringToUTF8String)((0, _util.bytesToString)(stream.getBytes()));\n          } catch (e) {\n            if (e instanceof _util.MissingDataException) {\n              throw e;\n            }\n            (0, _util.info)('Skipping invalid metadata.');\n          }\n        }\n      }\n      return (0, _util.shadow)(this, 'metadata', metadata);\n    },\n    get toplevelPagesDict() {\n      var pagesObj = this.catDict.get('Pages');\n      if (!(0, _primitives.isDict)(pagesObj)) {\n        throw new _util.FormatError('invalid top-level pages dictionary');\n      }\n      return (0, _util.shadow)(this, 'toplevelPagesDict', pagesObj);\n    },\n    get documentOutline() {\n      var obj = null;\n      try {\n        obj = this.readDocumentOutline();\n      } catch (ex) {\n        if (ex instanceof _util.MissingDataException) {\n          throw ex;\n        }\n        (0, _util.warn)('Unable to read document outline');\n      }\n      return (0, _util.shadow)(this, 'documentOutline', obj);\n    },\n    readDocumentOutline: function Catalog_readDocumentOutline() {\n      var obj = this.catDict.get('Outlines');\n      if (!(0, _primitives.isDict)(obj)) {\n        return null;\n      }\n      obj = obj.getRaw('First');\n      if (!(0, _primitives.isRef)(obj)) {\n        return null;\n      }\n      var root = { items: [] };\n      var queue = [{\n        obj: obj,\n        parent: root\n      }];\n      var processed = new _primitives.RefSet();\n      processed.put(obj);\n      var xref = this.xref,\n          blackColor = new Uint8Array(3);\n      while (queue.length > 0) {\n        var i = queue.shift();\n        var outlineDict = xref.fetchIfRef(i.obj);\n        if (outlineDict === null) {\n          continue;\n        }\n        if (!outlineDict.has('Title')) {\n          throw new _util.FormatError('Invalid outline item');\n        }\n        var data = {\n          url: null,\n          dest: null\n        };\n        Catalog.parseDestDictionary({\n          destDict: outlineDict,\n          resultObj: data,\n          docBaseUrl: this.pdfManager.docBaseUrl\n        });\n        var title = outlineDict.get('Title');\n        var flags = outlineDict.get('F') || 0;\n        var color = outlineDict.getArray('C'),\n            rgbColor = blackColor;\n        if (Array.isArray(color) && color.length === 3 && (color[0] !== 0 || color[1] !== 0 || color[2] !== 0)) {\n          rgbColor = _colorspace.ColorSpace.singletons.rgb.getRgb(color, 0);\n        }\n        var outlineItem = {\n          dest: data.dest,\n          url: data.url,\n          unsafeUrl: data.unsafeUrl,\n          newWindow: data.newWindow,\n          title: (0, _util.stringToPDFString)(title),\n          color: rgbColor,\n          count: outlineDict.get('Count'),\n          bold: !!(flags & 2),\n          italic: !!(flags & 1),\n          items: []\n        };\n        i.parent.items.push(outlineItem);\n        obj = outlineDict.getRaw('First');\n        if ((0, _primitives.isRef)(obj) && !processed.has(obj)) {\n          queue.push({\n            obj: obj,\n            parent: outlineItem\n          });\n          processed.put(obj);\n        }\n        obj = outlineDict.getRaw('Next');\n        if ((0, _primitives.isRef)(obj) && !processed.has(obj)) {\n          queue.push({\n            obj: obj,\n            parent: i.parent\n          });\n          processed.put(obj);\n        }\n      }\n      return root.items.length > 0 ? root.items : null;\n    },\n    get numPages() {\n      var obj = this.toplevelPagesDict.get('Count');\n      if (!Number.isInteger(obj)) {\n        throw new _util.FormatError('page count in top level pages object is not an integer');\n      }\n      return (0, _util.shadow)(this, 'numPages', obj);\n    },\n    get destinations() {\n      function fetchDestination(dest) {\n        return (0, _primitives.isDict)(dest) ? dest.get('D') : dest;\n      }\n      var xref = this.xref;\n      var dests = {},\n          nameTreeRef,\n          nameDictionaryRef;\n      var obj = this.catDict.get('Names');\n      if (obj && obj.has('Dests')) {\n        nameTreeRef = obj.getRaw('Dests');\n      } else if (this.catDict.has('Dests')) {\n        nameDictionaryRef = this.catDict.get('Dests');\n      }\n      if (nameDictionaryRef) {\n        obj = nameDictionaryRef;\n        obj.forEach(function catalogForEach(key, value) {\n          if (!value) {\n            return;\n          }\n          dests[key] = fetchDestination(value);\n        });\n      }\n      if (nameTreeRef) {\n        var nameTree = new NameTree(nameTreeRef, xref);\n        var names = nameTree.getAll();\n        for (var name in names) {\n          dests[name] = fetchDestination(names[name]);\n        }\n      }\n      return (0, _util.shadow)(this, 'destinations', dests);\n    },\n    getDestination: function Catalog_getDestination(destinationId) {\n      function fetchDestination(dest) {\n        return (0, _primitives.isDict)(dest) ? dest.get('D') : dest;\n      }\n      var xref = this.xref;\n      var dest = null,\n          nameTreeRef,\n          nameDictionaryRef;\n      var obj = this.catDict.get('Names');\n      if (obj && obj.has('Dests')) {\n        nameTreeRef = obj.getRaw('Dests');\n      } else if (this.catDict.has('Dests')) {\n        nameDictionaryRef = this.catDict.get('Dests');\n      }\n      if (nameDictionaryRef) {\n        var value = nameDictionaryRef.get(destinationId);\n        if (value) {\n          dest = fetchDestination(value);\n        }\n      }\n      if (nameTreeRef) {\n        var nameTree = new NameTree(nameTreeRef, xref);\n        dest = fetchDestination(nameTree.get(destinationId));\n      }\n      return dest;\n    },\n    get pageLabels() {\n      var obj = null;\n      try {\n        obj = this.readPageLabels();\n      } catch (ex) {\n        if (ex instanceof _util.MissingDataException) {\n          throw ex;\n        }\n        (0, _util.warn)('Unable to read page labels.');\n      }\n      return (0, _util.shadow)(this, 'pageLabels', obj);\n    },\n    readPageLabels: function Catalog_readPageLabels() {\n      var obj = this.catDict.getRaw('PageLabels');\n      if (!obj) {\n        return null;\n      }\n      var pageLabels = new Array(this.numPages);\n      var style = null;\n      var prefix = '';\n      var numberTree = new NumberTree(obj, this.xref);\n      var nums = numberTree.getAll();\n      var currentLabel = '',\n          currentIndex = 1;\n      for (var i = 0, ii = this.numPages; i < ii; i++) {\n        if (i in nums) {\n          var labelDict = nums[i];\n          if (!(0, _primitives.isDict)(labelDict)) {\n            throw new _util.FormatError('The PageLabel is not a dictionary.');\n          }\n          var type = labelDict.get('Type');\n          if (type && !(0, _primitives.isName)(type, 'PageLabel')) {\n            throw new _util.FormatError('Invalid type in PageLabel dictionary.');\n          }\n          var s = labelDict.get('S');\n          if (s && !(0, _primitives.isName)(s)) {\n            throw new _util.FormatError('Invalid style in PageLabel dictionary.');\n          }\n          style = s ? s.name : null;\n          var p = labelDict.get('P');\n          if (p && !(0, _util.isString)(p)) {\n            throw new _util.FormatError('Invalid prefix in PageLabel dictionary.');\n          }\n          prefix = p ? (0, _util.stringToPDFString)(p) : '';\n          var st = labelDict.get('St');\n          if (st && !(Number.isInteger(st) && st >= 1)) {\n            throw new _util.FormatError('Invalid start in PageLabel dictionary.');\n          }\n          currentIndex = st || 1;\n        }\n        switch (style) {\n          case 'D':\n            currentLabel = currentIndex;\n            break;\n          case 'R':\n          case 'r':\n            currentLabel = _util.Util.toRoman(currentIndex, style === 'r');\n            break;\n          case 'A':\n          case 'a':\n            var LIMIT = 26;\n            var A_UPPER_CASE = 0x41,\n                A_LOWER_CASE = 0x61;\n            var baseCharCode = style === 'a' ? A_LOWER_CASE : A_UPPER_CASE;\n            var letterIndex = currentIndex - 1;\n            var character = String.fromCharCode(baseCharCode + letterIndex % LIMIT);\n            var charBuf = [];\n            for (var j = 0, jj = letterIndex / LIMIT | 0; j <= jj; j++) {\n              charBuf.push(character);\n            }\n            currentLabel = charBuf.join('');\n            break;\n          default:\n            if (style) {\n              throw new _util.FormatError('Invalid style \"' + style + '\" in PageLabel dictionary.');\n            }\n        }\n        pageLabels[i] = prefix + currentLabel;\n        currentLabel = '';\n        currentIndex++;\n      }\n      return pageLabels;\n    },\n    get pageMode() {\n      var obj = this.catDict.get('PageMode');\n      var pageMode = 'UseNone';\n      if ((0, _primitives.isName)(obj)) {\n        switch (obj.name) {\n          case 'UseNone':\n          case 'UseOutlines':\n          case 'UseThumbs':\n          case 'FullScreen':\n          case 'UseOC':\n          case 'UseAttachments':\n            pageMode = obj.name;\n        }\n      }\n      return (0, _util.shadow)(this, 'pageMode', pageMode);\n    },\n    get attachments() {\n      var xref = this.xref;\n      var attachments = null,\n          nameTreeRef;\n      var obj = this.catDict.get('Names');\n      if (obj) {\n        nameTreeRef = obj.getRaw('EmbeddedFiles');\n      }\n      if (nameTreeRef) {\n        var nameTree = new NameTree(nameTreeRef, xref);\n        var names = nameTree.getAll();\n        for (var name in names) {\n          var fs = new FileSpec(names[name], xref);\n          if (!attachments) {\n            attachments = Object.create(null);\n          }\n          attachments[(0, _util.stringToPDFString)(name)] = fs.serializable;\n        }\n      }\n      return (0, _util.shadow)(this, 'attachments', attachments);\n    },\n    get javaScript() {\n      var xref = this.xref;\n      var obj = this.catDict.get('Names');\n      var javaScript = [];\n      function appendIfJavaScriptDict(jsDict) {\n        var type = jsDict.get('S');\n        if (!(0, _primitives.isName)(type, 'JavaScript')) {\n          return;\n        }\n        var js = jsDict.get('JS');\n        if ((0, _primitives.isStream)(js)) {\n          js = (0, _util.bytesToString)(js.getBytes());\n        } else if (!(0, _util.isString)(js)) {\n          return;\n        }\n        javaScript.push((0, _util.stringToPDFString)(js));\n      }\n      if (obj && obj.has('JavaScript')) {\n        var nameTree = new NameTree(obj.getRaw('JavaScript'), xref);\n        var names = nameTree.getAll();\n        for (var name in names) {\n          var jsDict = names[name];\n          if ((0, _primitives.isDict)(jsDict)) {\n            appendIfJavaScriptDict(jsDict);\n          }\n        }\n      }\n      var openactionDict = this.catDict.get('OpenAction');\n      if ((0, _primitives.isDict)(openactionDict, 'Action')) {\n        var actionType = openactionDict.get('S');\n        if ((0, _primitives.isName)(actionType, 'Named')) {\n          var action = openactionDict.get('N');\n          if ((0, _primitives.isName)(action, 'Print')) {\n            javaScript.push('print({});');\n          }\n        } else {\n          appendIfJavaScriptDict(openactionDict);\n        }\n      }\n      return (0, _util.shadow)(this, 'javaScript', javaScript);\n    },\n    cleanup: function Catalog_cleanup() {\n      var _this = this;\n\n      this.pageKidsCountCache.clear();\n      var promises = [];\n      this.fontCache.forEach(function (promise) {\n        promises.push(promise);\n      });\n      return Promise.all(promises).then(function (translatedFonts) {\n        for (var i = 0, ii = translatedFonts.length; i < ii; i++) {\n          var font = translatedFonts[i].dict;\n          delete font.translated;\n        }\n        _this.fontCache.clear();\n        _this.builtInCMapCache = Object.create(null);\n      });\n    },\n    getPage: function Catalog_getPage(pageIndex) {\n      var _this2 = this;\n\n      if (!(pageIndex in this.pagePromises)) {\n        this.pagePromises[pageIndex] = this.getPageDict(pageIndex).then(function (_ref) {\n          var _ref2 = _slicedToArray(_ref, 2),\n              dict = _ref2[0],\n              ref = _ref2[1];\n\n          return _this2.pageFactory.createPage(pageIndex, dict, ref, _this2.fontCache, _this2.builtInCMapCache);\n        });\n      }\n      return this.pagePromises[pageIndex];\n    },\n    getPageDict: function Catalog_getPageDict(pageIndex) {\n      var capability = (0, _util.createPromiseCapability)();\n      var nodesToVisit = [this.catDict.getRaw('Pages')];\n      var count,\n          currentPageIndex = 0;\n      var xref = this.xref,\n          pageKidsCountCache = this.pageKidsCountCache;\n      function next() {\n        while (nodesToVisit.length) {\n          var currentNode = nodesToVisit.pop();\n          if ((0, _primitives.isRef)(currentNode)) {\n            count = pageKidsCountCache.get(currentNode);\n            if (count > 0 && currentPageIndex + count < pageIndex) {\n              currentPageIndex += count;\n              continue;\n            }\n            xref.fetchAsync(currentNode).then(function (obj) {\n              if ((0, _primitives.isDict)(obj, 'Page') || (0, _primitives.isDict)(obj) && !obj.has('Kids')) {\n                if (pageIndex === currentPageIndex) {\n                  if (currentNode && !pageKidsCountCache.has(currentNode)) {\n                    pageKidsCountCache.put(currentNode, 1);\n                  }\n                  capability.resolve([obj, currentNode]);\n                } else {\n                  currentPageIndex++;\n                  next();\n                }\n                return;\n              }\n              nodesToVisit.push(obj);\n              next();\n            }, capability.reject);\n            return;\n          }\n          if (!(0, _primitives.isDict)(currentNode)) {\n            capability.reject(new _util.FormatError('page dictionary kid reference points to wrong type of object'));\n            return;\n          }\n          count = currentNode.get('Count');\n          var objId = currentNode.objId;\n          if (objId && !pageKidsCountCache.has(objId)) {\n            pageKidsCountCache.put(objId, count);\n          }\n          if (currentPageIndex + count <= pageIndex) {\n            currentPageIndex += count;\n            continue;\n          }\n          var kids = currentNode.get('Kids');\n          if (!Array.isArray(kids)) {\n            capability.reject(new _util.FormatError('page dictionary kids object is not an array'));\n            return;\n          }\n          for (var last = kids.length - 1; last >= 0; last--) {\n            nodesToVisit.push(kids[last]);\n          }\n        }\n        capability.reject(new Error('Page index ' + pageIndex + ' not found.'));\n      }\n      next();\n      return capability.promise;\n    },\n    getPageIndex: function Catalog_getPageIndex(pageRef) {\n      var xref = this.xref;\n      function pagesBeforeRef(kidRef) {\n        var total = 0;\n        var parentRef;\n        return xref.fetchAsync(kidRef).then(function (node) {\n          if ((0, _primitives.isRefsEqual)(kidRef, pageRef) && !(0, _primitives.isDict)(node, 'Page') && !((0, _primitives.isDict)(node) && !node.has('Type') && node.has('Contents'))) {\n            throw new _util.FormatError('The reference does not point to a /Page Dict.');\n          }\n          if (!node) {\n            return null;\n          }\n          if (!(0, _primitives.isDict)(node)) {\n            throw new _util.FormatError('node must be a Dict.');\n          }\n          parentRef = node.getRaw('Parent');\n          return node.getAsync('Parent');\n        }).then(function (parent) {\n          if (!parent) {\n            return null;\n          }\n          if (!(0, _primitives.isDict)(parent)) {\n            throw new _util.FormatError('parent must be a Dict.');\n          }\n          return parent.getAsync('Kids');\n        }).then(function (kids) {\n          if (!kids) {\n            return null;\n          }\n          var kidPromises = [];\n          var found = false;\n          for (var i = 0; i < kids.length; i++) {\n            var kid = kids[i];\n            if (!(0, _primitives.isRef)(kid)) {\n              throw new _util.FormatError('kid must be a Ref.');\n            }\n            if (kid.num === kidRef.num) {\n              found = true;\n              break;\n            }\n            kidPromises.push(xref.fetchAsync(kid).then(function (kid) {\n              if (kid.has('Count')) {\n                var count = kid.get('Count');\n                total += count;\n              } else {\n                total++;\n              }\n            }));\n          }\n          if (!found) {\n            throw new _util.FormatError('kid ref not found in parents kids');\n          }\n          return Promise.all(kidPromises).then(function () {\n            return [total, parentRef];\n          });\n        });\n      }\n      var total = 0;\n      function next(ref) {\n        return pagesBeforeRef(ref).then(function (args) {\n          if (!args) {\n            return total;\n          }\n          var count = args[0];\n          var parentRef = args[1];\n          total += count;\n          return next(parentRef);\n        });\n      }\n      return next(pageRef);\n    }\n  };\n  Catalog.parseDestDictionary = function Catalog_parseDestDictionary(params) {\n    function addDefaultProtocolToUrl(url) {\n      if (url.indexOf('www.') === 0) {\n        return 'http://' + url;\n      }\n      return url;\n    }\n    function tryConvertUrlEncoding(url) {\n      try {\n        return (0, _util.stringToUTF8String)(url);\n      } catch (e) {\n        return url;\n      }\n    }\n    var destDict = params.destDict;\n    if (!(0, _primitives.isDict)(destDict)) {\n      (0, _util.warn)('parseDestDictionary: \"destDict\" must be a dictionary.');\n      return;\n    }\n    var resultObj = params.resultObj;\n    if ((typeof resultObj === 'undefined' ? 'undefined' : _typeof(resultObj)) !== 'object') {\n      (0, _util.warn)('parseDestDictionary: \"resultObj\" must be an object.');\n      return;\n    }\n    var docBaseUrl = params.docBaseUrl || null;\n    var action = destDict.get('A'),\n        url,\n        dest;\n    if (!(0, _primitives.isDict)(action) && destDict.has('Dest')) {\n      action = destDict.get('Dest');\n    }\n    if ((0, _primitives.isDict)(action)) {\n      var actionType = action.get('S');\n      if (!(0, _primitives.isName)(actionType)) {\n        (0, _util.warn)('parseDestDictionary: Invalid type in Action dictionary.');\n        return;\n      }\n      var actionName = actionType.name;\n      switch (actionName) {\n        case 'URI':\n          url = action.get('URI');\n          if ((0, _primitives.isName)(url)) {\n            url = '/' + url.name;\n          } else if ((0, _util.isString)(url)) {\n            url = addDefaultProtocolToUrl(url);\n          }\n          break;\n        case 'GoTo':\n          dest = action.get('D');\n          break;\n        case 'Launch':\n        case 'GoToR':\n          var urlDict = action.get('F');\n          if ((0, _primitives.isDict)(urlDict)) {\n            url = urlDict.get('F') || null;\n          } else if ((0, _util.isString)(urlDict)) {\n            url = urlDict;\n          }\n          var remoteDest = action.get('D');\n          if (remoteDest) {\n            if ((0, _primitives.isName)(remoteDest)) {\n              remoteDest = remoteDest.name;\n            }\n            if ((0, _util.isString)(url)) {\n              var baseUrl = url.split('#')[0];\n              if ((0, _util.isString)(remoteDest)) {\n                url = baseUrl + '#' + remoteDest;\n              } else if (Array.isArray(remoteDest)) {\n                url = baseUrl + '#' + JSON.stringify(remoteDest);\n              }\n            }\n          }\n          var newWindow = action.get('NewWindow');\n          if ((0, _util.isBool)(newWindow)) {\n            resultObj.newWindow = newWindow;\n          }\n          break;\n        case 'Named':\n          var namedAction = action.get('N');\n          if ((0, _primitives.isName)(namedAction)) {\n            resultObj.action = namedAction.name;\n          }\n          break;\n        case 'JavaScript':\n          var jsAction = action.get('JS'),\n              js;\n          if ((0, _primitives.isStream)(jsAction)) {\n            js = (0, _util.bytesToString)(jsAction.getBytes());\n          } else if ((0, _util.isString)(jsAction)) {\n            js = jsAction;\n          }\n          if (js) {\n            var URL_OPEN_METHODS = ['app.launchURL', 'window.open'];\n            var regex = new RegExp('^\\\\s*(' + URL_OPEN_METHODS.join('|').split('.').join('\\\\.') + ')\\\\((?:\\'|\\\")([^\\'\\\"]*)(?:\\'|\\\")(?:,\\\\s*(\\\\w+)\\\\)|\\\\))', 'i');\n            var jsUrl = regex.exec((0, _util.stringToPDFString)(js));\n            if (jsUrl && jsUrl[2]) {\n              url = jsUrl[2];\n              if (jsUrl[3] === 'true' && jsUrl[1] === 'app.launchURL') {\n                resultObj.newWindow = true;\n              }\n              break;\n            }\n          }\n        default:\n          (0, _util.warn)('parseDestDictionary: Unsupported Action type \"' + actionName + '\".');\n          break;\n      }\n    } else if (destDict.has('Dest')) {\n      dest = destDict.get('Dest');\n    }\n    if ((0, _util.isString)(url)) {\n      url = tryConvertUrlEncoding(url);\n      var absoluteUrl = (0, _util.createValidAbsoluteUrl)(url, docBaseUrl);\n      if (absoluteUrl) {\n        resultObj.url = absoluteUrl.href;\n      }\n      resultObj.unsafeUrl = url;\n    }\n    if (dest) {\n      if ((0, _primitives.isName)(dest)) {\n        dest = dest.name;\n      }\n      if ((0, _util.isString)(dest) || Array.isArray(dest)) {\n        resultObj.dest = dest;\n      }\n    }\n  };\n  return Catalog;\n}();\nvar XRef = function XRefClosure() {\n  function XRef(stream, pdfManager) {\n    this.stream = stream;\n    this.pdfManager = pdfManager;\n    this.entries = [];\n    this.xrefstms = Object.create(null);\n    this.cache = [];\n    this.stats = {\n      streamTypes: [],\n      fontTypes: []\n    };\n  }\n  XRef.prototype = {\n    setStartXRef: function XRef_setStartXRef(startXRef) {\n      this.startXRefQueue = [startXRef];\n    },\n    parse: function XRef_parse(recoveryMode) {\n      var trailerDict;\n      if (!recoveryMode) {\n        trailerDict = this.readXRef();\n      } else {\n        (0, _util.warn)('Indexing all PDF objects');\n        trailerDict = this.indexObjects();\n      }\n      trailerDict.assignXref(this);\n      this.trailer = trailerDict;\n      var encrypt = trailerDict.get('Encrypt');\n      if ((0, _primitives.isDict)(encrypt)) {\n        var ids = trailerDict.get('ID');\n        var fileId = ids && ids.length ? ids[0] : '';\n        encrypt.suppressEncryption = true;\n        this.encrypt = new _crypto.CipherTransformFactory(encrypt, fileId, this.pdfManager.password);\n      }\n      if (!(this.root = trailerDict.get('Root'))) {\n        throw new _util.FormatError('Invalid root reference');\n      }\n    },\n    processXRefTable: function XRef_processXRefTable(parser) {\n      if (!('tableState' in this)) {\n        this.tableState = {\n          entryNum: 0,\n          streamPos: parser.lexer.stream.pos,\n          parserBuf1: parser.buf1,\n          parserBuf2: parser.buf2\n        };\n      }\n      var obj = this.readXRefTable(parser);\n      if (!(0, _primitives.isCmd)(obj, 'trailer')) {\n        throw new _util.FormatError('Invalid XRef table: could not find trailer dictionary');\n      }\n      var dict = parser.getObj();\n      if (!(0, _primitives.isDict)(dict) && dict.dict) {\n        dict = dict.dict;\n      }\n      if (!(0, _primitives.isDict)(dict)) {\n        throw new _util.FormatError('Invalid XRef table: could not parse trailer dictionary');\n      }\n      delete this.tableState;\n      return dict;\n    },\n    readXRefTable: function XRef_readXRefTable(parser) {\n      var stream = parser.lexer.stream;\n      var tableState = this.tableState;\n      stream.pos = tableState.streamPos;\n      parser.buf1 = tableState.parserBuf1;\n      parser.buf2 = tableState.parserBuf2;\n      var obj;\n      while (true) {\n        if (!('firstEntryNum' in tableState) || !('entryCount' in tableState)) {\n          if ((0, _primitives.isCmd)(obj = parser.getObj(), 'trailer')) {\n            break;\n          }\n          tableState.firstEntryNum = obj;\n          tableState.entryCount = parser.getObj();\n        }\n        var first = tableState.firstEntryNum;\n        var count = tableState.entryCount;\n        if (!Number.isInteger(first) || !Number.isInteger(count)) {\n          throw new _util.FormatError('Invalid XRef table: wrong types in subsection header');\n        }\n        for (var i = tableState.entryNum; i < count; i++) {\n          tableState.streamPos = stream.pos;\n          tableState.entryNum = i;\n          tableState.parserBuf1 = parser.buf1;\n          tableState.parserBuf2 = parser.buf2;\n          var entry = {};\n          entry.offset = parser.getObj();\n          entry.gen = parser.getObj();\n          var type = parser.getObj();\n          if ((0, _primitives.isCmd)(type, 'f')) {\n            entry.free = true;\n          } else if ((0, _primitives.isCmd)(type, 'n')) {\n            entry.uncompressed = true;\n          }\n          if (!Number.isInteger(entry.offset) || !Number.isInteger(entry.gen) || !(entry.free || entry.uncompressed)) {\n            throw new _util.FormatError('Invalid entry in XRef subsection: ' + first + ', ' + count);\n          }\n          if (i === 0 && entry.free && first === 1) {\n            first = 0;\n          }\n          if (!this.entries[i + first]) {\n            this.entries[i + first] = entry;\n          }\n        }\n        tableState.entryNum = 0;\n        tableState.streamPos = stream.pos;\n        tableState.parserBuf1 = parser.buf1;\n        tableState.parserBuf2 = parser.buf2;\n        delete tableState.firstEntryNum;\n        delete tableState.entryCount;\n      }\n      if (this.entries[0] && !this.entries[0].free) {\n        throw new _util.FormatError('Invalid XRef table: unexpected first object');\n      }\n      return obj;\n    },\n    processXRefStream: function XRef_processXRefStream(stream) {\n      if (!('streamState' in this)) {\n        var streamParameters = stream.dict;\n        var byteWidths = streamParameters.get('W');\n        var range = streamParameters.get('Index');\n        if (!range) {\n          range = [0, streamParameters.get('Size')];\n        }\n        this.streamState = {\n          entryRanges: range,\n          byteWidths: byteWidths,\n          entryNum: 0,\n          streamPos: stream.pos\n        };\n      }\n      this.readXRefStream(stream);\n      delete this.streamState;\n      return stream.dict;\n    },\n    readXRefStream: function XRef_readXRefStream(stream) {\n      var i, j;\n      var streamState = this.streamState;\n      stream.pos = streamState.streamPos;\n      var byteWidths = streamState.byteWidths;\n      var typeFieldWidth = byteWidths[0];\n      var offsetFieldWidth = byteWidths[1];\n      var generationFieldWidth = byteWidths[2];\n      var entryRanges = streamState.entryRanges;\n      while (entryRanges.length > 0) {\n        var first = entryRanges[0];\n        var n = entryRanges[1];\n        if (!Number.isInteger(first) || !Number.isInteger(n)) {\n          throw new _util.FormatError('Invalid XRef range fields: ' + first + ', ' + n);\n        }\n        if (!Number.isInteger(typeFieldWidth) || !Number.isInteger(offsetFieldWidth) || !Number.isInteger(generationFieldWidth)) {\n          throw new _util.FormatError('Invalid XRef entry fields length: ' + first + ', ' + n);\n        }\n        for (i = streamState.entryNum; i < n; ++i) {\n          streamState.entryNum = i;\n          streamState.streamPos = stream.pos;\n          var type = 0,\n              offset = 0,\n              generation = 0;\n          for (j = 0; j < typeFieldWidth; ++j) {\n            type = type << 8 | stream.getByte();\n          }\n          if (typeFieldWidth === 0) {\n            type = 1;\n          }\n          for (j = 0; j < offsetFieldWidth; ++j) {\n            offset = offset << 8 | stream.getByte();\n          }\n          for (j = 0; j < generationFieldWidth; ++j) {\n            generation = generation << 8 | stream.getByte();\n          }\n          var entry = {};\n          entry.offset = offset;\n          entry.gen = generation;\n          switch (type) {\n            case 0:\n              entry.free = true;\n              break;\n            case 1:\n              entry.uncompressed = true;\n              break;\n            case 2:\n              break;\n            default:\n              throw new _util.FormatError('Invalid XRef entry type: ' + type);\n          }\n          if (!this.entries[first + i]) {\n            this.entries[first + i] = entry;\n          }\n        }\n        streamState.entryNum = 0;\n        streamState.streamPos = stream.pos;\n        entryRanges.splice(0, 2);\n      }\n    },\n    indexObjects: function XRef_indexObjects() {\n      var TAB = 0x9,\n          LF = 0xA,\n          CR = 0xD,\n          SPACE = 0x20;\n      var PERCENT = 0x25,\n          LT = 0x3C;\n      function readToken(data, offset) {\n        var token = '',\n            ch = data[offset];\n        while (ch !== LF && ch !== CR && ch !== LT) {\n          if (++offset >= data.length) {\n            break;\n          }\n          token += String.fromCharCode(ch);\n          ch = data[offset];\n        }\n        return token;\n      }\n      function skipUntil(data, offset, what) {\n        var length = what.length,\n            dataLength = data.length;\n        var skipped = 0;\n        while (offset < dataLength) {\n          var i = 0;\n          while (i < length && data[offset + i] === what[i]) {\n            ++i;\n          }\n          if (i >= length) {\n            break;\n          }\n          offset++;\n          skipped++;\n        }\n        return skipped;\n      }\n      var objRegExp = /^(\\d+)\\s+(\\d+)\\s+obj\\b/;\n      var trailerBytes = new Uint8Array([116, 114, 97, 105, 108, 101, 114]);\n      var startxrefBytes = new Uint8Array([115, 116, 97, 114, 116, 120, 114, 101, 102]);\n      var endobjBytes = new Uint8Array([101, 110, 100, 111, 98, 106]);\n      var xrefBytes = new Uint8Array([47, 88, 82, 101, 102]);\n      this.entries.length = 0;\n      var stream = this.stream;\n      stream.pos = 0;\n      var buffer = stream.getBytes();\n      var position = stream.start,\n          length = buffer.length;\n      var trailers = [],\n          xrefStms = [];\n      while (position < length) {\n        var ch = buffer[position];\n        if (ch === TAB || ch === LF || ch === CR || ch === SPACE) {\n          ++position;\n          continue;\n        }\n        if (ch === PERCENT) {\n          do {\n            ++position;\n            if (position >= length) {\n              break;\n            }\n            ch = buffer[position];\n          } while (ch !== LF && ch !== CR);\n          continue;\n        }\n        var token = readToken(buffer, position);\n        var m;\n        if (token.indexOf('xref') === 0 && (token.length === 4 || /\\s/.test(token[4]))) {\n          position += skipUntil(buffer, position, trailerBytes);\n          trailers.push(position);\n          position += skipUntil(buffer, position, startxrefBytes);\n        } else if (m = objRegExp.exec(token)) {\n          if (typeof this.entries[m[1]] === 'undefined') {\n            this.entries[m[1]] = {\n              offset: position - stream.start,\n              gen: m[2] | 0,\n              uncompressed: true\n            };\n          }\n          var contentLength = skipUntil(buffer, position, endobjBytes) + 7;\n          var content = buffer.subarray(position, position + contentLength);\n          var xrefTagOffset = skipUntil(content, 0, xrefBytes);\n          if (xrefTagOffset < contentLength && content[xrefTagOffset + 5] < 64) {\n            xrefStms.push(position - stream.start);\n            this.xrefstms[position - stream.start] = 1;\n          }\n          position += contentLength;\n        } else if (token.indexOf('trailer') === 0 && (token.length === 7 || /\\s/.test(token[7]))) {\n          trailers.push(position);\n          position += skipUntil(buffer, position, startxrefBytes);\n        } else {\n          position += token.length + 1;\n        }\n      }\n      var i, ii;\n      for (i = 0, ii = xrefStms.length; i < ii; ++i) {\n        this.startXRefQueue.push(xrefStms[i]);\n        this.readXRef(true);\n      }\n      var dict;\n      for (i = 0, ii = trailers.length; i < ii; ++i) {\n        stream.pos = trailers[i];\n        var parser = new _parser.Parser(new _parser.Lexer(stream), true, this, true);\n        var obj = parser.getObj();\n        if (!(0, _primitives.isCmd)(obj, 'trailer')) {\n          continue;\n        }\n        dict = parser.getObj();\n        if (!(0, _primitives.isDict)(dict)) {\n          continue;\n        }\n        if (dict.has('ID')) {\n          return dict;\n        }\n      }\n      if (dict) {\n        return dict;\n      }\n      throw new _util.InvalidPDFException('Invalid PDF structure');\n    },\n    readXRef: function XRef_readXRef(recoveryMode) {\n      var stream = this.stream;\n      var startXRefParsedCache = Object.create(null);\n      try {\n        while (this.startXRefQueue.length) {\n          var startXRef = this.startXRefQueue[0];\n          if (startXRefParsedCache[startXRef]) {\n            (0, _util.warn)('readXRef - skipping XRef table since it was already parsed.');\n            this.startXRefQueue.shift();\n            continue;\n          }\n          startXRefParsedCache[startXRef] = true;\n          stream.pos = startXRef + stream.start;\n          var parser = new _parser.Parser(new _parser.Lexer(stream), true, this);\n          var obj = parser.getObj();\n          var dict;\n          if ((0, _primitives.isCmd)(obj, 'xref')) {\n            dict = this.processXRefTable(parser);\n            if (!this.topDict) {\n              this.topDict = dict;\n            }\n            obj = dict.get('XRefStm');\n            if (Number.isInteger(obj)) {\n              var pos = obj;\n              if (!(pos in this.xrefstms)) {\n                this.xrefstms[pos] = 1;\n                this.startXRefQueue.push(pos);\n              }\n            }\n          } else if (Number.isInteger(obj)) {\n            if (!Number.isInteger(parser.getObj()) || !(0, _primitives.isCmd)(parser.getObj(), 'obj') || !(0, _primitives.isStream)(obj = parser.getObj())) {\n              throw new _util.FormatError('Invalid XRef stream');\n            }\n            dict = this.processXRefStream(obj);\n            if (!this.topDict) {\n              this.topDict = dict;\n            }\n            if (!dict) {\n              throw new _util.FormatError('Failed to read XRef stream');\n            }\n          } else {\n            throw new _util.FormatError('Invalid XRef stream header');\n          }\n          obj = dict.get('Prev');\n          if (Number.isInteger(obj)) {\n            this.startXRefQueue.push(obj);\n          } else if ((0, _primitives.isRef)(obj)) {\n            this.startXRefQueue.push(obj.num);\n          }\n          this.startXRefQueue.shift();\n        }\n        return this.topDict;\n      } catch (e) {\n        if (e instanceof _util.MissingDataException) {\n          throw e;\n        }\n        (0, _util.info)('(while reading XRef): ' + e);\n      }\n      if (recoveryMode) {\n        return;\n      }\n      throw new _util.XRefParseException();\n    },\n    getEntry: function XRef_getEntry(i) {\n      var xrefEntry = this.entries[i];\n      if (xrefEntry && !xrefEntry.free && xrefEntry.offset) {\n        return xrefEntry;\n      }\n      return null;\n    },\n    fetchIfRef: function XRef_fetchIfRef(obj, suppressEncryption) {\n      if (!(0, _primitives.isRef)(obj)) {\n        return obj;\n      }\n      return this.fetch(obj, suppressEncryption);\n    },\n    fetch: function XRef_fetch(ref, suppressEncryption) {\n      if (!(0, _primitives.isRef)(ref)) {\n        throw new Error('ref object is not a reference');\n      }\n      var num = ref.num;\n      if (num in this.cache) {\n        var cacheEntry = this.cache[num];\n        if (cacheEntry instanceof _primitives.Dict && !cacheEntry.objId) {\n          cacheEntry.objId = ref.toString();\n        }\n        return cacheEntry;\n      }\n      var xrefEntry = this.getEntry(num);\n      if (xrefEntry === null) {\n        return this.cache[num] = null;\n      }\n      if (xrefEntry.uncompressed) {\n        xrefEntry = this.fetchUncompressed(ref, xrefEntry, suppressEncryption);\n      } else {\n        xrefEntry = this.fetchCompressed(xrefEntry, suppressEncryption);\n      }\n      if ((0, _primitives.isDict)(xrefEntry)) {\n        xrefEntry.objId = ref.toString();\n      } else if ((0, _primitives.isStream)(xrefEntry)) {\n        xrefEntry.dict.objId = ref.toString();\n      }\n      return xrefEntry;\n    },\n    fetchUncompressed: function XRef_fetchUncompressed(ref, xrefEntry, suppressEncryption) {\n      var gen = ref.gen;\n      var num = ref.num;\n      if (xrefEntry.gen !== gen) {\n        throw new _util.FormatError('inconsistent generation in XRef');\n      }\n      var stream = this.stream.makeSubStream(xrefEntry.offset + this.stream.start);\n      var parser = new _parser.Parser(new _parser.Lexer(stream), true, this);\n      var obj1 = parser.getObj();\n      var obj2 = parser.getObj();\n      var obj3 = parser.getObj();\n      if (!Number.isInteger(obj1)) {\n        obj1 = parseInt(obj1, 10);\n      }\n      if (!Number.isInteger(obj2)) {\n        obj2 = parseInt(obj2, 10);\n      }\n      if (obj1 !== num || obj2 !== gen || !(0, _primitives.isCmd)(obj3)) {\n        throw new _util.FormatError('bad XRef entry');\n      }\n      if (obj3.cmd !== 'obj') {\n        if (obj3.cmd.indexOf('obj') === 0) {\n          num = parseInt(obj3.cmd.substring(3), 10);\n          if (!Number.isNaN(num)) {\n            return num;\n          }\n        }\n        throw new _util.FormatError('bad XRef entry');\n      }\n      if (this.encrypt && !suppressEncryption) {\n        xrefEntry = parser.getObj(this.encrypt.createCipherTransform(num, gen));\n      } else {\n        xrefEntry = parser.getObj();\n      }\n      if (!(0, _primitives.isStream)(xrefEntry)) {\n        this.cache[num] = xrefEntry;\n      }\n      return xrefEntry;\n    },\n    fetchCompressed: function XRef_fetchCompressed(xrefEntry, suppressEncryption) {\n      var tableOffset = xrefEntry.offset;\n      var stream = this.fetch(new _primitives.Ref(tableOffset, 0));\n      if (!(0, _primitives.isStream)(stream)) {\n        throw new _util.FormatError('bad ObjStm stream');\n      }\n      var first = stream.dict.get('First');\n      var n = stream.dict.get('N');\n      if (!Number.isInteger(first) || !Number.isInteger(n)) {\n        throw new _util.FormatError('invalid first and n parameters for ObjStm stream');\n      }\n      var parser = new _parser.Parser(new _parser.Lexer(stream), false, this);\n      parser.allowStreams = true;\n      var i,\n          entries = [],\n          num,\n          nums = [];\n      for (i = 0; i < n; ++i) {\n        num = parser.getObj();\n        if (!Number.isInteger(num)) {\n          throw new _util.FormatError('invalid object number in the ObjStm stream: ' + num);\n        }\n        nums.push(num);\n        var offset = parser.getObj();\n        if (!Number.isInteger(offset)) {\n          throw new _util.FormatError('invalid object offset in the ObjStm stream: ' + offset);\n        }\n      }\n      for (i = 0; i < n; ++i) {\n        entries.push(parser.getObj());\n        if ((0, _primitives.isCmd)(parser.buf1, 'endobj')) {\n          parser.shift();\n        }\n        num = nums[i];\n        var entry = this.entries[num];\n        if (entry && entry.offset === tableOffset && entry.gen === i) {\n          this.cache[num] = entries[i];\n        }\n      }\n      xrefEntry = entries[xrefEntry.gen];\n      if (xrefEntry === undefined) {\n        throw new _util.FormatError('bad XRef entry for compressed object');\n      }\n      return xrefEntry;\n    },\n    fetchIfRefAsync: function XRef_fetchIfRefAsync(obj, suppressEncryption) {\n      if (!(0, _primitives.isRef)(obj)) {\n        return Promise.resolve(obj);\n      }\n      return this.fetchAsync(obj, suppressEncryption);\n    },\n    fetchAsync: function XRef_fetchAsync(ref, suppressEncryption) {\n      var streamManager = this.stream.manager;\n      var xref = this;\n      return new Promise(function tryFetch(resolve, reject) {\n        try {\n          resolve(xref.fetch(ref, suppressEncryption));\n        } catch (e) {\n          if (e instanceof _util.MissingDataException) {\n            streamManager.requestRange(e.begin, e.end).then(function () {\n              tryFetch(resolve, reject);\n            }, reject);\n            return;\n          }\n          reject(e);\n        }\n      });\n    },\n    getCatalogObj: function XRef_getCatalogObj() {\n      return this.root;\n    }\n  };\n  return XRef;\n}();\nvar NameOrNumberTree = function NameOrNumberTreeClosure() {\n  function NameOrNumberTree(root, xref) {\n    throw new Error('Cannot initialize NameOrNumberTree.');\n  }\n  NameOrNumberTree.prototype = {\n    getAll: function NameOrNumberTree_getAll() {\n      var dict = Object.create(null);\n      if (!this.root) {\n        return dict;\n      }\n      var xref = this.xref;\n      var processed = new _primitives.RefSet();\n      processed.put(this.root);\n      var queue = [this.root];\n      while (queue.length > 0) {\n        var i, n;\n        var obj = xref.fetchIfRef(queue.shift());\n        if (!(0, _primitives.isDict)(obj)) {\n          continue;\n        }\n        if (obj.has('Kids')) {\n          var kids = obj.get('Kids');\n          for (i = 0, n = kids.length; i < n; i++) {\n            var kid = kids[i];\n            if (processed.has(kid)) {\n              throw new _util.FormatError('Duplicate entry in \"' + this._type + '\" tree.');\n            }\n            queue.push(kid);\n            processed.put(kid);\n          }\n          continue;\n        }\n        var entries = obj.get(this._type);\n        if (Array.isArray(entries)) {\n          for (i = 0, n = entries.length; i < n; i += 2) {\n            dict[xref.fetchIfRef(entries[i])] = xref.fetchIfRef(entries[i + 1]);\n          }\n        }\n      }\n      return dict;\n    },\n    get: function NameOrNumberTree_get(key) {\n      if (!this.root) {\n        return null;\n      }\n      var xref = this.xref;\n      var kidsOrEntries = xref.fetchIfRef(this.root);\n      var loopCount = 0;\n      var MAX_LEVELS = 10;\n      var l, r, m;\n      while (kidsOrEntries.has('Kids')) {\n        if (++loopCount > MAX_LEVELS) {\n          (0, _util.warn)('Search depth limit reached for \"' + this._type + '\" tree.');\n          return null;\n        }\n        var kids = kidsOrEntries.get('Kids');\n        if (!Array.isArray(kids)) {\n          return null;\n        }\n        l = 0;\n        r = kids.length - 1;\n        while (l <= r) {\n          m = l + r >> 1;\n          var kid = xref.fetchIfRef(kids[m]);\n          var limits = kid.get('Limits');\n          if (key < xref.fetchIfRef(limits[0])) {\n            r = m - 1;\n          } else if (key > xref.fetchIfRef(limits[1])) {\n            l = m + 1;\n          } else {\n            kidsOrEntries = xref.fetchIfRef(kids[m]);\n            break;\n          }\n        }\n        if (l > r) {\n          return null;\n        }\n      }\n      var entries = kidsOrEntries.get(this._type);\n      if (Array.isArray(entries)) {\n        l = 0;\n        r = entries.length - 2;\n        while (l <= r) {\n          m = l + r & ~1;\n          var currentKey = xref.fetchIfRef(entries[m]);\n          if (key < currentKey) {\n            r = m - 2;\n          } else if (key > currentKey) {\n            l = m + 2;\n          } else {\n            return xref.fetchIfRef(entries[m + 1]);\n          }\n        }\n      }\n      return null;\n    }\n  };\n  return NameOrNumberTree;\n}();\nvar NameTree = function NameTreeClosure() {\n  function NameTree(root, xref) {\n    this.root = root;\n    this.xref = xref;\n    this._type = 'Names';\n  }\n  _util.Util.inherit(NameTree, NameOrNumberTree, {});\n  return NameTree;\n}();\nvar NumberTree = function NumberTreeClosure() {\n  function NumberTree(root, xref) {\n    this.root = root;\n    this.xref = xref;\n    this._type = 'Nums';\n  }\n  _util.Util.inherit(NumberTree, NameOrNumberTree, {});\n  return NumberTree;\n}();\nvar FileSpec = function FileSpecClosure() {\n  function FileSpec(root, xref) {\n    if (!root || !(0, _primitives.isDict)(root)) {\n      return;\n    }\n    this.xref = xref;\n    this.root = root;\n    if (root.has('FS')) {\n      this.fs = root.get('FS');\n    }\n    this.description = root.has('Desc') ? (0, _util.stringToPDFString)(root.get('Desc')) : '';\n    if (root.has('RF')) {\n      (0, _util.warn)('Related file specifications are not supported');\n    }\n    this.contentAvailable = true;\n    if (!root.has('EF')) {\n      this.contentAvailable = false;\n      (0, _util.warn)('Non-embedded file specifications are not supported');\n    }\n  }\n  function pickPlatformItem(dict) {\n    if (dict.has('UF')) {\n      return dict.get('UF');\n    } else if (dict.has('F')) {\n      return dict.get('F');\n    } else if (dict.has('Unix')) {\n      return dict.get('Unix');\n    } else if (dict.has('Mac')) {\n      return dict.get('Mac');\n    } else if (dict.has('DOS')) {\n      return dict.get('DOS');\n    }\n    return null;\n  }\n  FileSpec.prototype = {\n    get filename() {\n      if (!this._filename && this.root) {\n        var filename = pickPlatformItem(this.root) || 'unnamed';\n        this._filename = (0, _util.stringToPDFString)(filename).replace(/\\\\\\\\/g, '\\\\').replace(/\\\\\\//g, '/').replace(/\\\\/g, '/');\n      }\n      return this._filename;\n    },\n    get content() {\n      if (!this.contentAvailable) {\n        return null;\n      }\n      if (!this.contentRef && this.root) {\n        this.contentRef = pickPlatformItem(this.root.get('EF'));\n      }\n      var content = null;\n      if (this.contentRef) {\n        var xref = this.xref;\n        var fileObj = xref.fetchIfRef(this.contentRef);\n        if (fileObj && (0, _primitives.isStream)(fileObj)) {\n          content = fileObj.getBytes();\n        } else {\n          (0, _util.warn)('Embedded file specification points to non-existing/invalid ' + 'content');\n        }\n      } else {\n        (0, _util.warn)('Embedded file specification does not have a content');\n      }\n      return content;\n    },\n    get serializable() {\n      return {\n        filename: this.filename,\n        content: this.content\n      };\n    }\n  };\n  return FileSpec;\n}();\nvar ObjectLoader = function () {\n  function mayHaveChildren(value) {\n    return (0, _primitives.isRef)(value) || (0, _primitives.isDict)(value) || Array.isArray(value) || (0, _primitives.isStream)(value);\n  }\n  function addChildren(node, nodesToVisit) {\n    if ((0, _primitives.isDict)(node) || (0, _primitives.isStream)(node)) {\n      var dict = (0, _primitives.isDict)(node) ? node : node.dict;\n      var dictKeys = dict.getKeys();\n      for (var i = 0, ii = dictKeys.length; i < ii; i++) {\n        var rawValue = dict.getRaw(dictKeys[i]);\n        if (mayHaveChildren(rawValue)) {\n          nodesToVisit.push(rawValue);\n        }\n      }\n    } else if (Array.isArray(node)) {\n      for (var _i = 0, _ii = node.length; _i < _ii; _i++) {\n        var value = node[_i];\n        if (mayHaveChildren(value)) {\n          nodesToVisit.push(value);\n        }\n      }\n    }\n  }\n  function ObjectLoader(dict, keys, xref) {\n    this.dict = dict;\n    this.keys = keys;\n    this.xref = xref;\n    this.refSet = null;\n    this.capability = null;\n  }\n  ObjectLoader.prototype = {\n    load: function load() {\n      this.capability = (0, _util.createPromiseCapability)();\n      if (!(this.xref.stream instanceof _chunked_stream.ChunkedStream) || this.xref.stream.getMissingChunks().length === 0) {\n        this.capability.resolve();\n        return this.capability.promise;\n      }\n      var keys = this.keys,\n          dict = this.dict;\n\n      this.refSet = new _primitives.RefSet();\n      var nodesToVisit = [];\n      for (var i = 0, ii = keys.length; i < ii; i++) {\n        var rawValue = dict.getRaw(keys[i]);\n        if (rawValue !== undefined) {\n          nodesToVisit.push(rawValue);\n        }\n      }\n      this._walk(nodesToVisit);\n      return this.capability.promise;\n    },\n    _walk: function _walk(nodesToVisit) {\n      var _this3 = this;\n\n      var nodesToRevisit = [];\n      var pendingRequests = [];\n      while (nodesToVisit.length) {\n        var currentNode = nodesToVisit.pop();\n        if ((0, _primitives.isRef)(currentNode)) {\n          if (this.refSet.has(currentNode)) {\n            continue;\n          }\n          try {\n            this.refSet.put(currentNode);\n            currentNode = this.xref.fetch(currentNode);\n          } catch (ex) {\n            if (!(ex instanceof _util.MissingDataException)) {\n              throw ex;\n            }\n            nodesToRevisit.push(currentNode);\n            pendingRequests.push({\n              begin: ex.begin,\n              end: ex.end\n            });\n          }\n        }\n        if (currentNode && currentNode.getBaseStreams) {\n          var baseStreams = currentNode.getBaseStreams();\n          var foundMissingData = false;\n          for (var i = 0, ii = baseStreams.length; i < ii; i++) {\n            var stream = baseStreams[i];\n            if (stream.getMissingChunks && stream.getMissingChunks().length) {\n              foundMissingData = true;\n              pendingRequests.push({\n                begin: stream.start,\n                end: stream.end\n              });\n            }\n          }\n          if (foundMissingData) {\n            nodesToRevisit.push(currentNode);\n          }\n        }\n        addChildren(currentNode, nodesToVisit);\n      }\n      if (pendingRequests.length) {\n        this.xref.stream.manager.requestRanges(pendingRequests).then(function () {\n          for (var _i2 = 0, _ii2 = nodesToRevisit.length; _i2 < _ii2; _i2++) {\n            var node = nodesToRevisit[_i2];\n            if ((0, _primitives.isRef)(node)) {\n              _this3.refSet.remove(node);\n            }\n          }\n          _this3._walk(nodesToRevisit);\n        }, this.capability.reject);\n        return;\n      }\n      this.refSet = null;\n      this.capability.resolve();\n    }\n  };\n  return ObjectLoader;\n}();\nexports.Catalog = Catalog;\nexports.ObjectLoader = ObjectLoader;\nexports.XRef = XRef;\nexports.FileSpec = FileSpec;\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.JpxImage = undefined;\n\nvar _util = __w_pdfjs_require__(0);\n\nvar _arithmetic_decoder = __w_pdfjs_require__(81);\n\nvar JpxError = function JpxErrorClosure() {\n  function JpxError(msg) {\n    this.message = 'JPX error: ' + msg;\n  }\n  JpxError.prototype = new Error();\n  JpxError.prototype.name = 'JpxError';\n  JpxError.constructor = JpxError;\n  return JpxError;\n}();\nvar JpxImage = function JpxImageClosure() {\n  var SubbandsGainLog2 = {\n    'LL': 0,\n    'LH': 1,\n    'HL': 1,\n    'HH': 2\n  };\n  function JpxImage() {\n    this.failOnCorruptedImage = false;\n  }\n  JpxImage.prototype = {\n    parse: function JpxImage_parse(data) {\n      var head = (0, _util.readUint16)(data, 0);\n      if (head === 0xFF4F) {\n        this.parseCodestream(data, 0, data.length);\n        return;\n      }\n      var position = 0,\n          length = data.length;\n      while (position < length) {\n        var headerSize = 8;\n        var lbox = (0, _util.readUint32)(data, position);\n        var tbox = (0, _util.readUint32)(data, position + 4);\n        position += headerSize;\n        if (lbox === 1) {\n          lbox = (0, _util.readUint32)(data, position) * 4294967296 + (0, _util.readUint32)(data, position + 4);\n          position += 8;\n          headerSize += 8;\n        }\n        if (lbox === 0) {\n          lbox = length - position + headerSize;\n        }\n        if (lbox < headerSize) {\n          throw new JpxError('Invalid box field size');\n        }\n        var dataLength = lbox - headerSize;\n        var jumpDataLength = true;\n        switch (tbox) {\n          case 0x6A703268:\n            jumpDataLength = false;\n            break;\n          case 0x636F6C72:\n            var method = data[position];\n            if (method === 1) {\n              var colorspace = (0, _util.readUint32)(data, position + 3);\n              switch (colorspace) {\n                case 16:\n                case 17:\n                case 18:\n                  break;\n                default:\n                  (0, _util.warn)('Unknown colorspace ' + colorspace);\n                  break;\n              }\n            } else if (method === 2) {\n              (0, _util.info)('ICC profile not supported');\n            }\n            break;\n          case 0x6A703263:\n            this.parseCodestream(data, position, position + dataLength);\n            break;\n          case 0x6A502020:\n            if ((0, _util.readUint32)(data, position) !== 0x0d0a870a) {\n              (0, _util.warn)('Invalid JP2 signature');\n            }\n            break;\n          case 0x6A501A1A:\n          case 0x66747970:\n          case 0x72726571:\n          case 0x72657320:\n          case 0x69686472:\n            break;\n          default:\n            var headerType = String.fromCharCode(tbox >> 24 & 0xFF, tbox >> 16 & 0xFF, tbox >> 8 & 0xFF, tbox & 0xFF);\n            (0, _util.warn)('Unsupported header type ' + tbox + ' (' + headerType + ')');\n            break;\n        }\n        if (jumpDataLength) {\n          position += dataLength;\n        }\n      }\n    },\n    parseImageProperties: function JpxImage_parseImageProperties(stream) {\n      var newByte = stream.getByte();\n      while (newByte >= 0) {\n        var oldByte = newByte;\n        newByte = stream.getByte();\n        var code = oldByte << 8 | newByte;\n        if (code === 0xFF51) {\n          stream.skip(4);\n          var Xsiz = stream.getInt32() >>> 0;\n          var Ysiz = stream.getInt32() >>> 0;\n          var XOsiz = stream.getInt32() >>> 0;\n          var YOsiz = stream.getInt32() >>> 0;\n          stream.skip(16);\n          var Csiz = stream.getUint16();\n          this.width = Xsiz - XOsiz;\n          this.height = Ysiz - YOsiz;\n          this.componentsCount = Csiz;\n          this.bitsPerComponent = 8;\n          return;\n        }\n      }\n      throw new JpxError('No size marker found in JPX stream');\n    },\n    parseCodestream: function JpxImage_parseCodestream(data, start, end) {\n      var context = {};\n      var doNotRecover = false;\n      try {\n        var position = start;\n        while (position + 1 < end) {\n          var code = (0, _util.readUint16)(data, position);\n          position += 2;\n          var length = 0,\n              j,\n              sqcd,\n              spqcds,\n              spqcdSize,\n              scalarExpounded,\n              tile;\n          switch (code) {\n            case 0xFF4F:\n              context.mainHeader = true;\n              break;\n            case 0xFFD9:\n              break;\n            case 0xFF51:\n              length = (0, _util.readUint16)(data, position);\n              var siz = {};\n              siz.Xsiz = (0, _util.readUint32)(data, position + 4);\n              siz.Ysiz = (0, _util.readUint32)(data, position + 8);\n              siz.XOsiz = (0, _util.readUint32)(data, position + 12);\n              siz.YOsiz = (0, _util.readUint32)(data, position + 16);\n              siz.XTsiz = (0, _util.readUint32)(data, position + 20);\n              siz.YTsiz = (0, _util.readUint32)(data, position + 24);\n              siz.XTOsiz = (0, _util.readUint32)(data, position + 28);\n              siz.YTOsiz = (0, _util.readUint32)(data, position + 32);\n              var componentsCount = (0, _util.readUint16)(data, position + 36);\n              siz.Csiz = componentsCount;\n              var components = [];\n              j = position + 38;\n              for (var i = 0; i < componentsCount; i++) {\n                var component = {\n                  precision: (data[j] & 0x7F) + 1,\n                  isSigned: !!(data[j] & 0x80),\n                  XRsiz: data[j + 1],\n                  YRsiz: data[j + 1]\n                };\n                calculateComponentDimensions(component, siz);\n                components.push(component);\n              }\n              context.SIZ = siz;\n              context.components = components;\n              calculateTileGrids(context, components);\n              context.QCC = [];\n              context.COC = [];\n              break;\n            case 0xFF5C:\n              length = (0, _util.readUint16)(data, position);\n              var qcd = {};\n              j = position + 2;\n              sqcd = data[j++];\n              switch (sqcd & 0x1F) {\n                case 0:\n                  spqcdSize = 8;\n                  scalarExpounded = true;\n                  break;\n                case 1:\n                  spqcdSize = 16;\n                  scalarExpounded = false;\n                  break;\n                case 2:\n                  spqcdSize = 16;\n                  scalarExpounded = true;\n                  break;\n                default:\n                  throw new Error('Invalid SQcd value ' + sqcd);\n              }\n              qcd.noQuantization = spqcdSize === 8;\n              qcd.scalarExpounded = scalarExpounded;\n              qcd.guardBits = sqcd >> 5;\n              spqcds = [];\n              while (j < length + position) {\n                var spqcd = {};\n                if (spqcdSize === 8) {\n                  spqcd.epsilon = data[j++] >> 3;\n                  spqcd.mu = 0;\n                } else {\n                  spqcd.epsilon = data[j] >> 3;\n                  spqcd.mu = (data[j] & 0x7) << 8 | data[j + 1];\n                  j += 2;\n                }\n                spqcds.push(spqcd);\n              }\n              qcd.SPqcds = spqcds;\n              if (context.mainHeader) {\n                context.QCD = qcd;\n              } else {\n                context.currentTile.QCD = qcd;\n                context.currentTile.QCC = [];\n              }\n              break;\n            case 0xFF5D:\n              length = (0, _util.readUint16)(data, position);\n              var qcc = {};\n              j = position + 2;\n              var cqcc;\n              if (context.SIZ.Csiz < 257) {\n                cqcc = data[j++];\n              } else {\n                cqcc = (0, _util.readUint16)(data, j);\n                j += 2;\n              }\n              sqcd = data[j++];\n              switch (sqcd & 0x1F) {\n                case 0:\n                  spqcdSize = 8;\n                  scalarExpounded = true;\n                  break;\n                case 1:\n                  spqcdSize = 16;\n                  scalarExpounded = false;\n                  break;\n                case 2:\n                  spqcdSize = 16;\n                  scalarExpounded = true;\n                  break;\n                default:\n                  throw new Error('Invalid SQcd value ' + sqcd);\n              }\n              qcc.noQuantization = spqcdSize === 8;\n              qcc.scalarExpounded = scalarExpounded;\n              qcc.guardBits = sqcd >> 5;\n              spqcds = [];\n              while (j < length + position) {\n                spqcd = {};\n                if (spqcdSize === 8) {\n                  spqcd.epsilon = data[j++] >> 3;\n                  spqcd.mu = 0;\n                } else {\n                  spqcd.epsilon = data[j] >> 3;\n                  spqcd.mu = (data[j] & 0x7) << 8 | data[j + 1];\n                  j += 2;\n                }\n                spqcds.push(spqcd);\n              }\n              qcc.SPqcds = spqcds;\n              if (context.mainHeader) {\n                context.QCC[cqcc] = qcc;\n              } else {\n                context.currentTile.QCC[cqcc] = qcc;\n              }\n              break;\n            case 0xFF52:\n              length = (0, _util.readUint16)(data, position);\n              var cod = {};\n              j = position + 2;\n              var scod = data[j++];\n              cod.entropyCoderWithCustomPrecincts = !!(scod & 1);\n              cod.sopMarkerUsed = !!(scod & 2);\n              cod.ephMarkerUsed = !!(scod & 4);\n              cod.progressionOrder = data[j++];\n              cod.layersCount = (0, _util.readUint16)(data, j);\n              j += 2;\n              cod.multipleComponentTransform = data[j++];\n              cod.decompositionLevelsCount = data[j++];\n              cod.xcb = (data[j++] & 0xF) + 2;\n              cod.ycb = (data[j++] & 0xF) + 2;\n              var blockStyle = data[j++];\n              cod.selectiveArithmeticCodingBypass = !!(blockStyle & 1);\n              cod.resetContextProbabilities = !!(blockStyle & 2);\n              cod.terminationOnEachCodingPass = !!(blockStyle & 4);\n              cod.verticalyStripe = !!(blockStyle & 8);\n              cod.predictableTermination = !!(blockStyle & 16);\n              cod.segmentationSymbolUsed = !!(blockStyle & 32);\n              cod.reversibleTransformation = data[j++];\n              if (cod.entropyCoderWithCustomPrecincts) {\n                var precinctsSizes = [];\n                while (j < length + position) {\n                  var precinctsSize = data[j++];\n                  precinctsSizes.push({\n                    PPx: precinctsSize & 0xF,\n                    PPy: precinctsSize >> 4\n                  });\n                }\n                cod.precinctsSizes = precinctsSizes;\n              }\n              var unsupported = [];\n              if (cod.selectiveArithmeticCodingBypass) {\n                unsupported.push('selectiveArithmeticCodingBypass');\n              }\n              if (cod.resetContextProbabilities) {\n                unsupported.push('resetContextProbabilities');\n              }\n              if (cod.terminationOnEachCodingPass) {\n                unsupported.push('terminationOnEachCodingPass');\n              }\n              if (cod.verticalyStripe) {\n                unsupported.push('verticalyStripe');\n              }\n              if (cod.predictableTermination) {\n                unsupported.push('predictableTermination');\n              }\n              if (unsupported.length > 0) {\n                doNotRecover = true;\n                throw new Error('Unsupported COD options (' + unsupported.join(', ') + ')');\n              }\n              if (context.mainHeader) {\n                context.COD = cod;\n              } else {\n                context.currentTile.COD = cod;\n                context.currentTile.COC = [];\n              }\n              break;\n            case 0xFF90:\n              length = (0, _util.readUint16)(data, position);\n              tile = {};\n              tile.index = (0, _util.readUint16)(data, position + 2);\n              tile.length = (0, _util.readUint32)(data, position + 4);\n              tile.dataEnd = tile.length + position - 2;\n              tile.partIndex = data[position + 8];\n              tile.partsCount = data[position + 9];\n              context.mainHeader = false;\n              if (tile.partIndex === 0) {\n                tile.COD = context.COD;\n                tile.COC = context.COC.slice(0);\n                tile.QCD = context.QCD;\n                tile.QCC = context.QCC.slice(0);\n              }\n              context.currentTile = tile;\n              break;\n            case 0xFF93:\n              tile = context.currentTile;\n              if (tile.partIndex === 0) {\n                initializeTile(context, tile.index);\n                buildPackets(context);\n              }\n              length = tile.dataEnd - position;\n              parseTilePackets(context, data, position, length);\n              break;\n            case 0xFF55:\n            case 0xFF57:\n            case 0xFF58:\n            case 0xFF64:\n              length = (0, _util.readUint16)(data, position);\n              break;\n            case 0xFF53:\n              throw new Error('Codestream code 0xFF53 (COC) is ' + 'not implemented');\n            default:\n              throw new Error('Unknown codestream code: ' + code.toString(16));\n          }\n          position += length;\n        }\n      } catch (e) {\n        if (doNotRecover || this.failOnCorruptedImage) {\n          throw new JpxError(e.message);\n        } else {\n          (0, _util.warn)('JPX: Trying to recover from: ' + e.message);\n        }\n      }\n      this.tiles = transformComponents(context);\n      this.width = context.SIZ.Xsiz - context.SIZ.XOsiz;\n      this.height = context.SIZ.Ysiz - context.SIZ.YOsiz;\n      this.componentsCount = context.SIZ.Csiz;\n    }\n  };\n  function calculateComponentDimensions(component, siz) {\n    component.x0 = Math.ceil(siz.XOsiz / component.XRsiz);\n    component.x1 = Math.ceil(siz.Xsiz / component.XRsiz);\n    component.y0 = Math.ceil(siz.YOsiz / component.YRsiz);\n    component.y1 = Math.ceil(siz.Ysiz / component.YRsiz);\n    component.width = component.x1 - component.x0;\n    component.height = component.y1 - component.y0;\n  }\n  function calculateTileGrids(context, components) {\n    var siz = context.SIZ;\n    var tile,\n        tiles = [];\n    var numXtiles = Math.ceil((siz.Xsiz - siz.XTOsiz) / siz.XTsiz);\n    var numYtiles = Math.ceil((siz.Ysiz - siz.YTOsiz) / siz.YTsiz);\n    for (var q = 0; q < numYtiles; q++) {\n      for (var p = 0; p < numXtiles; p++) {\n        tile = {};\n        tile.tx0 = Math.max(siz.XTOsiz + p * siz.XTsiz, siz.XOsiz);\n        tile.ty0 = Math.max(siz.YTOsiz + q * siz.YTsiz, siz.YOsiz);\n        tile.tx1 = Math.min(siz.XTOsiz + (p + 1) * siz.XTsiz, siz.Xsiz);\n        tile.ty1 = Math.min(siz.YTOsiz + (q + 1) * siz.YTsiz, siz.Ysiz);\n        tile.width = tile.tx1 - tile.tx0;\n        tile.height = tile.ty1 - tile.ty0;\n        tile.components = [];\n        tiles.push(tile);\n      }\n    }\n    context.tiles = tiles;\n    var componentsCount = siz.Csiz;\n    for (var i = 0, ii = componentsCount; i < ii; i++) {\n      var component = components[i];\n      for (var j = 0, jj = tiles.length; j < jj; j++) {\n        var tileComponent = {};\n        tile = tiles[j];\n        tileComponent.tcx0 = Math.ceil(tile.tx0 / component.XRsiz);\n        tileComponent.tcy0 = Math.ceil(tile.ty0 / component.YRsiz);\n        tileComponent.tcx1 = Math.ceil(tile.tx1 / component.XRsiz);\n        tileComponent.tcy1 = Math.ceil(tile.ty1 / component.YRsiz);\n        tileComponent.width = tileComponent.tcx1 - tileComponent.tcx0;\n        tileComponent.height = tileComponent.tcy1 - tileComponent.tcy0;\n        tile.components[i] = tileComponent;\n      }\n    }\n  }\n  function getBlocksDimensions(context, component, r) {\n    var codOrCoc = component.codingStyleParameters;\n    var result = {};\n    if (!codOrCoc.entropyCoderWithCustomPrecincts) {\n      result.PPx = 15;\n      result.PPy = 15;\n    } else {\n      result.PPx = codOrCoc.precinctsSizes[r].PPx;\n      result.PPy = codOrCoc.precinctsSizes[r].PPy;\n    }\n    result.xcb_ = r > 0 ? Math.min(codOrCoc.xcb, result.PPx - 1) : Math.min(codOrCoc.xcb, result.PPx);\n    result.ycb_ = r > 0 ? Math.min(codOrCoc.ycb, result.PPy - 1) : Math.min(codOrCoc.ycb, result.PPy);\n    return result;\n  }\n  function buildPrecincts(context, resolution, dimensions) {\n    var precinctWidth = 1 << dimensions.PPx;\n    var precinctHeight = 1 << dimensions.PPy;\n    var isZeroRes = resolution.resLevel === 0;\n    var precinctWidthInSubband = 1 << dimensions.PPx + (isZeroRes ? 0 : -1);\n    var precinctHeightInSubband = 1 << dimensions.PPy + (isZeroRes ? 0 : -1);\n    var numprecinctswide = resolution.trx1 > resolution.trx0 ? Math.ceil(resolution.trx1 / precinctWidth) - Math.floor(resolution.trx0 / precinctWidth) : 0;\n    var numprecinctshigh = resolution.try1 > resolution.try0 ? Math.ceil(resolution.try1 / precinctHeight) - Math.floor(resolution.try0 / precinctHeight) : 0;\n    var numprecincts = numprecinctswide * numprecinctshigh;\n    resolution.precinctParameters = {\n      precinctWidth: precinctWidth,\n      precinctHeight: precinctHeight,\n      numprecinctswide: numprecinctswide,\n      numprecinctshigh: numprecinctshigh,\n      numprecincts: numprecincts,\n      precinctWidthInSubband: precinctWidthInSubband,\n      precinctHeightInSubband: precinctHeightInSubband\n    };\n  }\n  function buildCodeblocks(context, subband, dimensions) {\n    var xcb_ = dimensions.xcb_;\n    var ycb_ = dimensions.ycb_;\n    var codeblockWidth = 1 << xcb_;\n    var codeblockHeight = 1 << ycb_;\n    var cbx0 = subband.tbx0 >> xcb_;\n    var cby0 = subband.tby0 >> ycb_;\n    var cbx1 = subband.tbx1 + codeblockWidth - 1 >> xcb_;\n    var cby1 = subband.tby1 + codeblockHeight - 1 >> ycb_;\n    var precinctParameters = subband.resolution.precinctParameters;\n    var codeblocks = [];\n    var precincts = [];\n    var i, j, codeblock, precinctNumber;\n    for (j = cby0; j < cby1; j++) {\n      for (i = cbx0; i < cbx1; i++) {\n        codeblock = {\n          cbx: i,\n          cby: j,\n          tbx0: codeblockWidth * i,\n          tby0: codeblockHeight * j,\n          tbx1: codeblockWidth * (i + 1),\n          tby1: codeblockHeight * (j + 1)\n        };\n        codeblock.tbx0_ = Math.max(subband.tbx0, codeblock.tbx0);\n        codeblock.tby0_ = Math.max(subband.tby0, codeblock.tby0);\n        codeblock.tbx1_ = Math.min(subband.tbx1, codeblock.tbx1);\n        codeblock.tby1_ = Math.min(subband.tby1, codeblock.tby1);\n        var pi = Math.floor((codeblock.tbx0_ - subband.tbx0) / precinctParameters.precinctWidthInSubband);\n        var pj = Math.floor((codeblock.tby0_ - subband.tby0) / precinctParameters.precinctHeightInSubband);\n        precinctNumber = pi + pj * precinctParameters.numprecinctswide;\n        codeblock.precinctNumber = precinctNumber;\n        codeblock.subbandType = subband.type;\n        codeblock.Lblock = 3;\n        if (codeblock.tbx1_ <= codeblock.tbx0_ || codeblock.tby1_ <= codeblock.tby0_) {\n          continue;\n        }\n        codeblocks.push(codeblock);\n        var precinct = precincts[precinctNumber];\n        if (precinct !== undefined) {\n          if (i < precinct.cbxMin) {\n            precinct.cbxMin = i;\n          } else if (i > precinct.cbxMax) {\n            precinct.cbxMax = i;\n          }\n          if (j < precinct.cbyMin) {\n            precinct.cbxMin = j;\n          } else if (j > precinct.cbyMax) {\n            precinct.cbyMax = j;\n          }\n        } else {\n          precincts[precinctNumber] = precinct = {\n            cbxMin: i,\n            cbyMin: j,\n            cbxMax: i,\n            cbyMax: j\n          };\n        }\n        codeblock.precinct = precinct;\n      }\n    }\n    subband.codeblockParameters = {\n      codeblockWidth: xcb_,\n      codeblockHeight: ycb_,\n      numcodeblockwide: cbx1 - cbx0 + 1,\n      numcodeblockhigh: cby1 - cby0 + 1\n    };\n    subband.codeblocks = codeblocks;\n    subband.precincts = precincts;\n  }\n  function createPacket(resolution, precinctNumber, layerNumber) {\n    var precinctCodeblocks = [];\n    var subbands = resolution.subbands;\n    for (var i = 0, ii = subbands.length; i < ii; i++) {\n      var subband = subbands[i];\n      var codeblocks = subband.codeblocks;\n      for (var j = 0, jj = codeblocks.length; j < jj; j++) {\n        var codeblock = codeblocks[j];\n        if (codeblock.precinctNumber !== precinctNumber) {\n          continue;\n        }\n        precinctCodeblocks.push(codeblock);\n      }\n    }\n    return {\n      layerNumber: layerNumber,\n      codeblocks: precinctCodeblocks\n    };\n  }\n  function LayerResolutionComponentPositionIterator(context) {\n    var siz = context.SIZ;\n    var tileIndex = context.currentTile.index;\n    var tile = context.tiles[tileIndex];\n    var layersCount = tile.codingStyleDefaultParameters.layersCount;\n    var componentsCount = siz.Csiz;\n    var maxDecompositionLevelsCount = 0;\n    for (var q = 0; q < componentsCount; q++) {\n      maxDecompositionLevelsCount = Math.max(maxDecompositionLevelsCount, tile.components[q].codingStyleParameters.decompositionLevelsCount);\n    }\n    var l = 0,\n        r = 0,\n        i = 0,\n        k = 0;\n    this.nextPacket = function JpxImage_nextPacket() {\n      for (; l < layersCount; l++) {\n        for (; r <= maxDecompositionLevelsCount; r++) {\n          for (; i < componentsCount; i++) {\n            var component = tile.components[i];\n            if (r > component.codingStyleParameters.decompositionLevelsCount) {\n              continue;\n            }\n            var resolution = component.resolutions[r];\n            var numprecincts = resolution.precinctParameters.numprecincts;\n            for (; k < numprecincts;) {\n              var packet = createPacket(resolution, k, l);\n              k++;\n              return packet;\n            }\n            k = 0;\n          }\n          i = 0;\n        }\n        r = 0;\n      }\n      throw new JpxError('Out of packets');\n    };\n  }\n  function ResolutionLayerComponentPositionIterator(context) {\n    var siz = context.SIZ;\n    var tileIndex = context.currentTile.index;\n    var tile = context.tiles[tileIndex];\n    var layersCount = tile.codingStyleDefaultParameters.layersCount;\n    var componentsCount = siz.Csiz;\n    var maxDecompositionLevelsCount = 0;\n    for (var q = 0; q < componentsCount; q++) {\n      maxDecompositionLevelsCount = Math.max(maxDecompositionLevelsCount, tile.components[q].codingStyleParameters.decompositionLevelsCount);\n    }\n    var r = 0,\n        l = 0,\n        i = 0,\n        k = 0;\n    this.nextPacket = function JpxImage_nextPacket() {\n      for (; r <= maxDecompositionLevelsCount; r++) {\n        for (; l < layersCount; l++) {\n          for (; i < componentsCount; i++) {\n            var component = tile.components[i];\n            if (r > component.codingStyleParameters.decompositionLevelsCount) {\n              continue;\n            }\n            var resolution = component.resolutions[r];\n            var numprecincts = resolution.precinctParameters.numprecincts;\n            for (; k < numprecincts;) {\n              var packet = createPacket(resolution, k, l);\n              k++;\n              return packet;\n            }\n            k = 0;\n          }\n          i = 0;\n        }\n        l = 0;\n      }\n      throw new JpxError('Out of packets');\n    };\n  }\n  function ResolutionPositionComponentLayerIterator(context) {\n    var siz = context.SIZ;\n    var tileIndex = context.currentTile.index;\n    var tile = context.tiles[tileIndex];\n    var layersCount = tile.codingStyleDefaultParameters.layersCount;\n    var componentsCount = siz.Csiz;\n    var l, r, c, p;\n    var maxDecompositionLevelsCount = 0;\n    for (c = 0; c < componentsCount; c++) {\n      var component = tile.components[c];\n      maxDecompositionLevelsCount = Math.max(maxDecompositionLevelsCount, component.codingStyleParameters.decompositionLevelsCount);\n    }\n    var maxNumPrecinctsInLevel = new Int32Array(maxDecompositionLevelsCount + 1);\n    for (r = 0; r <= maxDecompositionLevelsCount; ++r) {\n      var maxNumPrecincts = 0;\n      for (c = 0; c < componentsCount; ++c) {\n        var resolutions = tile.components[c].resolutions;\n        if (r < resolutions.length) {\n          maxNumPrecincts = Math.max(maxNumPrecincts, resolutions[r].precinctParameters.numprecincts);\n        }\n      }\n      maxNumPrecinctsInLevel[r] = maxNumPrecincts;\n    }\n    l = 0;\n    r = 0;\n    c = 0;\n    p = 0;\n    this.nextPacket = function JpxImage_nextPacket() {\n      for (; r <= maxDecompositionLevelsCount; r++) {\n        for (; p < maxNumPrecinctsInLevel[r]; p++) {\n          for (; c < componentsCount; c++) {\n            var component = tile.components[c];\n            if (r > component.codingStyleParameters.decompositionLevelsCount) {\n              continue;\n            }\n            var resolution = component.resolutions[r];\n            var numprecincts = resolution.precinctParameters.numprecincts;\n            if (p >= numprecincts) {\n              continue;\n            }\n            for (; l < layersCount;) {\n              var packet = createPacket(resolution, p, l);\n              l++;\n              return packet;\n            }\n            l = 0;\n          }\n          c = 0;\n        }\n        p = 0;\n      }\n      throw new JpxError('Out of packets');\n    };\n  }\n  function PositionComponentResolutionLayerIterator(context) {\n    var siz = context.SIZ;\n    var tileIndex = context.currentTile.index;\n    var tile = context.tiles[tileIndex];\n    var layersCount = tile.codingStyleDefaultParameters.layersCount;\n    var componentsCount = siz.Csiz;\n    var precinctsSizes = getPrecinctSizesInImageScale(tile);\n    var precinctsIterationSizes = precinctsSizes;\n    var l = 0,\n        r = 0,\n        c = 0,\n        px = 0,\n        py = 0;\n    this.nextPacket = function JpxImage_nextPacket() {\n      for (; py < precinctsIterationSizes.maxNumHigh; py++) {\n        for (; px < precinctsIterationSizes.maxNumWide; px++) {\n          for (; c < componentsCount; c++) {\n            var component = tile.components[c];\n            var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount;\n            for (; r <= decompositionLevelsCount; r++) {\n              var resolution = component.resolutions[r];\n              var sizeInImageScale = precinctsSizes.components[c].resolutions[r];\n              var k = getPrecinctIndexIfExist(px, py, sizeInImageScale, precinctsIterationSizes, resolution);\n              if (k === null) {\n                continue;\n              }\n              for (; l < layersCount;) {\n                var packet = createPacket(resolution, k, l);\n                l++;\n                return packet;\n              }\n              l = 0;\n            }\n            r = 0;\n          }\n          c = 0;\n        }\n        px = 0;\n      }\n      throw new JpxError('Out of packets');\n    };\n  }\n  function ComponentPositionResolutionLayerIterator(context) {\n    var siz = context.SIZ;\n    var tileIndex = context.currentTile.index;\n    var tile = context.tiles[tileIndex];\n    var layersCount = tile.codingStyleDefaultParameters.layersCount;\n    var componentsCount = siz.Csiz;\n    var precinctsSizes = getPrecinctSizesInImageScale(tile);\n    var l = 0,\n        r = 0,\n        c = 0,\n        px = 0,\n        py = 0;\n    this.nextPacket = function JpxImage_nextPacket() {\n      for (; c < componentsCount; ++c) {\n        var component = tile.components[c];\n        var precinctsIterationSizes = precinctsSizes.components[c];\n        var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount;\n        for (; py < precinctsIterationSizes.maxNumHigh; py++) {\n          for (; px < precinctsIterationSizes.maxNumWide; px++) {\n            for (; r <= decompositionLevelsCount; r++) {\n              var resolution = component.resolutions[r];\n              var sizeInImageScale = precinctsIterationSizes.resolutions[r];\n              var k = getPrecinctIndexIfExist(px, py, sizeInImageScale, precinctsIterationSizes, resolution);\n              if (k === null) {\n                continue;\n              }\n              for (; l < layersCount;) {\n                var packet = createPacket(resolution, k, l);\n                l++;\n                return packet;\n              }\n              l = 0;\n            }\n            r = 0;\n          }\n          px = 0;\n        }\n        py = 0;\n      }\n      throw new JpxError('Out of packets');\n    };\n  }\n  function getPrecinctIndexIfExist(pxIndex, pyIndex, sizeInImageScale, precinctIterationSizes, resolution) {\n    var posX = pxIndex * precinctIterationSizes.minWidth;\n    var posY = pyIndex * precinctIterationSizes.minHeight;\n    if (posX % sizeInImageScale.width !== 0 || posY % sizeInImageScale.height !== 0) {\n      return null;\n    }\n    var startPrecinctRowIndex = posY / sizeInImageScale.width * resolution.precinctParameters.numprecinctswide;\n    return posX / sizeInImageScale.height + startPrecinctRowIndex;\n  }\n  function getPrecinctSizesInImageScale(tile) {\n    var componentsCount = tile.components.length;\n    var minWidth = Number.MAX_VALUE;\n    var minHeight = Number.MAX_VALUE;\n    var maxNumWide = 0;\n    var maxNumHigh = 0;\n    var sizePerComponent = new Array(componentsCount);\n    for (var c = 0; c < componentsCount; c++) {\n      var component = tile.components[c];\n      var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount;\n      var sizePerResolution = new Array(decompositionLevelsCount + 1);\n      var minWidthCurrentComponent = Number.MAX_VALUE;\n      var minHeightCurrentComponent = Number.MAX_VALUE;\n      var maxNumWideCurrentComponent = 0;\n      var maxNumHighCurrentComponent = 0;\n      var scale = 1;\n      for (var r = decompositionLevelsCount; r >= 0; --r) {\n        var resolution = component.resolutions[r];\n        var widthCurrentResolution = scale * resolution.precinctParameters.precinctWidth;\n        var heightCurrentResolution = scale * resolution.precinctParameters.precinctHeight;\n        minWidthCurrentComponent = Math.min(minWidthCurrentComponent, widthCurrentResolution);\n        minHeightCurrentComponent = Math.min(minHeightCurrentComponent, heightCurrentResolution);\n        maxNumWideCurrentComponent = Math.max(maxNumWideCurrentComponent, resolution.precinctParameters.numprecinctswide);\n        maxNumHighCurrentComponent = Math.max(maxNumHighCurrentComponent, resolution.precinctParameters.numprecinctshigh);\n        sizePerResolution[r] = {\n          width: widthCurrentResolution,\n          height: heightCurrentResolution\n        };\n        scale <<= 1;\n      }\n      minWidth = Math.min(minWidth, minWidthCurrentComponent);\n      minHeight = Math.min(minHeight, minHeightCurrentComponent);\n      maxNumWide = Math.max(maxNumWide, maxNumWideCurrentComponent);\n      maxNumHigh = Math.max(maxNumHigh, maxNumHighCurrentComponent);\n      sizePerComponent[c] = {\n        resolutions: sizePerResolution,\n        minWidth: minWidthCurrentComponent,\n        minHeight: minHeightCurrentComponent,\n        maxNumWide: maxNumWideCurrentComponent,\n        maxNumHigh: maxNumHighCurrentComponent\n      };\n    }\n    return {\n      components: sizePerComponent,\n      minWidth: minWidth,\n      minHeight: minHeight,\n      maxNumWide: maxNumWide,\n      maxNumHigh: maxNumHigh\n    };\n  }\n  function buildPackets(context) {\n    var siz = context.SIZ;\n    var tileIndex = context.currentTile.index;\n    var tile = context.tiles[tileIndex];\n    var componentsCount = siz.Csiz;\n    for (var c = 0; c < componentsCount; c++) {\n      var component = tile.components[c];\n      var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount;\n      var resolutions = [];\n      var subbands = [];\n      for (var r = 0; r <= decompositionLevelsCount; r++) {\n        var blocksDimensions = getBlocksDimensions(context, component, r);\n        var resolution = {};\n        var scale = 1 << decompositionLevelsCount - r;\n        resolution.trx0 = Math.ceil(component.tcx0 / scale);\n        resolution.try0 = Math.ceil(component.tcy0 / scale);\n        resolution.trx1 = Math.ceil(component.tcx1 / scale);\n        resolution.try1 = Math.ceil(component.tcy1 / scale);\n        resolution.resLevel = r;\n        buildPrecincts(context, resolution, blocksDimensions);\n        resolutions.push(resolution);\n        var subband;\n        if (r === 0) {\n          subband = {};\n          subband.type = 'LL';\n          subband.tbx0 = Math.ceil(component.tcx0 / scale);\n          subband.tby0 = Math.ceil(component.tcy0 / scale);\n          subband.tbx1 = Math.ceil(component.tcx1 / scale);\n          subband.tby1 = Math.ceil(component.tcy1 / scale);\n          subband.resolution = resolution;\n          buildCodeblocks(context, subband, blocksDimensions);\n          subbands.push(subband);\n          resolution.subbands = [subband];\n        } else {\n          var bscale = 1 << decompositionLevelsCount - r + 1;\n          var resolutionSubbands = [];\n          subband = {};\n          subband.type = 'HL';\n          subband.tbx0 = Math.ceil(component.tcx0 / bscale - 0.5);\n          subband.tby0 = Math.ceil(component.tcy0 / bscale);\n          subband.tbx1 = Math.ceil(component.tcx1 / bscale - 0.5);\n          subband.tby1 = Math.ceil(component.tcy1 / bscale);\n          subband.resolution = resolution;\n          buildCodeblocks(context, subband, blocksDimensions);\n          subbands.push(subband);\n          resolutionSubbands.push(subband);\n          subband = {};\n          subband.type = 'LH';\n          subband.tbx0 = Math.ceil(component.tcx0 / bscale);\n          subband.tby0 = Math.ceil(component.tcy0 / bscale - 0.5);\n          subband.tbx1 = Math.ceil(component.tcx1 / bscale);\n          subband.tby1 = Math.ceil(component.tcy1 / bscale - 0.5);\n          subband.resolution = resolution;\n          buildCodeblocks(context, subband, blocksDimensions);\n          subbands.push(subband);\n          resolutionSubbands.push(subband);\n          subband = {};\n          subband.type = 'HH';\n          subband.tbx0 = Math.ceil(component.tcx0 / bscale - 0.5);\n          subband.tby0 = Math.ceil(component.tcy0 / bscale - 0.5);\n          subband.tbx1 = Math.ceil(component.tcx1 / bscale - 0.5);\n          subband.tby1 = Math.ceil(component.tcy1 / bscale - 0.5);\n          subband.resolution = resolution;\n          buildCodeblocks(context, subband, blocksDimensions);\n          subbands.push(subband);\n          resolutionSubbands.push(subband);\n          resolution.subbands = resolutionSubbands;\n        }\n      }\n      component.resolutions = resolutions;\n      component.subbands = subbands;\n    }\n    var progressionOrder = tile.codingStyleDefaultParameters.progressionOrder;\n    switch (progressionOrder) {\n      case 0:\n        tile.packetsIterator = new LayerResolutionComponentPositionIterator(context);\n        break;\n      case 1:\n        tile.packetsIterator = new ResolutionLayerComponentPositionIterator(context);\n        break;\n      case 2:\n        tile.packetsIterator = new ResolutionPositionComponentLayerIterator(context);\n        break;\n      case 3:\n        tile.packetsIterator = new PositionComponentResolutionLayerIterator(context);\n        break;\n      case 4:\n        tile.packetsIterator = new ComponentPositionResolutionLayerIterator(context);\n        break;\n      default:\n        throw new JpxError('Unsupported progression order ' + progressionOrder);\n    }\n  }\n  function parseTilePackets(context, data, offset, dataLength) {\n    var position = 0;\n    var buffer,\n        bufferSize = 0,\n        skipNextBit = false;\n    function readBits(count) {\n      while (bufferSize < count) {\n        var b = data[offset + position];\n        position++;\n        if (skipNextBit) {\n          buffer = buffer << 7 | b;\n          bufferSize += 7;\n          skipNextBit = false;\n        } else {\n          buffer = buffer << 8 | b;\n          bufferSize += 8;\n        }\n        if (b === 0xFF) {\n          skipNextBit = true;\n        }\n      }\n      bufferSize -= count;\n      return buffer >>> bufferSize & (1 << count) - 1;\n    }\n    function skipMarkerIfEqual(value) {\n      if (data[offset + position - 1] === 0xFF && data[offset + position] === value) {\n        skipBytes(1);\n        return true;\n      } else if (data[offset + position] === 0xFF && data[offset + position + 1] === value) {\n        skipBytes(2);\n        return true;\n      }\n      return false;\n    }\n    function skipBytes(count) {\n      position += count;\n    }\n    function alignToByte() {\n      bufferSize = 0;\n      if (skipNextBit) {\n        position++;\n        skipNextBit = false;\n      }\n    }\n    function readCodingpasses() {\n      if (readBits(1) === 0) {\n        return 1;\n      }\n      if (readBits(1) === 0) {\n        return 2;\n      }\n      var value = readBits(2);\n      if (value < 3) {\n        return value + 3;\n      }\n      value = readBits(5);\n      if (value < 31) {\n        return value + 6;\n      }\n      value = readBits(7);\n      return value + 37;\n    }\n    var tileIndex = context.currentTile.index;\n    var tile = context.tiles[tileIndex];\n    var sopMarkerUsed = context.COD.sopMarkerUsed;\n    var ephMarkerUsed = context.COD.ephMarkerUsed;\n    var packetsIterator = tile.packetsIterator;\n    while (position < dataLength) {\n      alignToByte();\n      if (sopMarkerUsed && skipMarkerIfEqual(0x91)) {\n        skipBytes(4);\n      }\n      var packet = packetsIterator.nextPacket();\n      if (!readBits(1)) {\n        continue;\n      }\n      var layerNumber = packet.layerNumber;\n      var queue = [],\n          codeblock;\n      for (var i = 0, ii = packet.codeblocks.length; i < ii; i++) {\n        codeblock = packet.codeblocks[i];\n        var precinct = codeblock.precinct;\n        var codeblockColumn = codeblock.cbx - precinct.cbxMin;\n        var codeblockRow = codeblock.cby - precinct.cbyMin;\n        var codeblockIncluded = false;\n        var firstTimeInclusion = false;\n        var valueReady;\n        if (codeblock['included'] !== undefined) {\n          codeblockIncluded = !!readBits(1);\n        } else {\n          precinct = codeblock.precinct;\n          var inclusionTree, zeroBitPlanesTree;\n          if (precinct['inclusionTree'] !== undefined) {\n            inclusionTree = precinct.inclusionTree;\n          } else {\n            var width = precinct.cbxMax - precinct.cbxMin + 1;\n            var height = precinct.cbyMax - precinct.cbyMin + 1;\n            inclusionTree = new InclusionTree(width, height, layerNumber);\n            zeroBitPlanesTree = new TagTree(width, height);\n            precinct.inclusionTree = inclusionTree;\n            precinct.zeroBitPlanesTree = zeroBitPlanesTree;\n          }\n          if (inclusionTree.reset(codeblockColumn, codeblockRow, layerNumber)) {\n            while (true) {\n              if (readBits(1)) {\n                valueReady = !inclusionTree.nextLevel();\n                if (valueReady) {\n                  codeblock.included = true;\n                  codeblockIncluded = firstTimeInclusion = true;\n                  break;\n                }\n              } else {\n                inclusionTree.incrementValue(layerNumber);\n                break;\n              }\n            }\n          }\n        }\n        if (!codeblockIncluded) {\n          continue;\n        }\n        if (firstTimeInclusion) {\n          zeroBitPlanesTree = precinct.zeroBitPlanesTree;\n          zeroBitPlanesTree.reset(codeblockColumn, codeblockRow);\n          while (true) {\n            if (readBits(1)) {\n              valueReady = !zeroBitPlanesTree.nextLevel();\n              if (valueReady) {\n                break;\n              }\n            } else {\n              zeroBitPlanesTree.incrementValue();\n            }\n          }\n          codeblock.zeroBitPlanes = zeroBitPlanesTree.value;\n        }\n        var codingpasses = readCodingpasses();\n        while (readBits(1)) {\n          codeblock.Lblock++;\n        }\n        var codingpassesLog2 = (0, _util.log2)(codingpasses);\n        var bits = (codingpasses < 1 << codingpassesLog2 ? codingpassesLog2 - 1 : codingpassesLog2) + codeblock.Lblock;\n        var codedDataLength = readBits(bits);\n        queue.push({\n          codeblock: codeblock,\n          codingpasses: codingpasses,\n          dataLength: codedDataLength\n        });\n      }\n      alignToByte();\n      if (ephMarkerUsed) {\n        skipMarkerIfEqual(0x92);\n      }\n      while (queue.length > 0) {\n        var packetItem = queue.shift();\n        codeblock = packetItem.codeblock;\n        if (codeblock['data'] === undefined) {\n          codeblock.data = [];\n        }\n        codeblock.data.push({\n          data: data,\n          start: offset + position,\n          end: offset + position + packetItem.dataLength,\n          codingpasses: packetItem.codingpasses\n        });\n        position += packetItem.dataLength;\n      }\n    }\n    return position;\n  }\n  function copyCoefficients(coefficients, levelWidth, levelHeight, subband, delta, mb, reversible, segmentationSymbolUsed) {\n    var x0 = subband.tbx0;\n    var y0 = subband.tby0;\n    var width = subband.tbx1 - subband.tbx0;\n    var codeblocks = subband.codeblocks;\n    var right = subband.type.charAt(0) === 'H' ? 1 : 0;\n    var bottom = subband.type.charAt(1) === 'H' ? levelWidth : 0;\n    for (var i = 0, ii = codeblocks.length; i < ii; ++i) {\n      var codeblock = codeblocks[i];\n      var blockWidth = codeblock.tbx1_ - codeblock.tbx0_;\n      var blockHeight = codeblock.tby1_ - codeblock.tby0_;\n      if (blockWidth === 0 || blockHeight === 0) {\n        continue;\n      }\n      if (codeblock['data'] === undefined) {\n        continue;\n      }\n      var bitModel, currentCodingpassType;\n      bitModel = new BitModel(blockWidth, blockHeight, codeblock.subbandType, codeblock.zeroBitPlanes, mb);\n      currentCodingpassType = 2;\n      var data = codeblock.data,\n          totalLength = 0,\n          codingpasses = 0;\n      var j, jj, dataItem;\n      for (j = 0, jj = data.length; j < jj; j++) {\n        dataItem = data[j];\n        totalLength += dataItem.end - dataItem.start;\n        codingpasses += dataItem.codingpasses;\n      }\n      var encodedData = new Uint8Array(totalLength);\n      var position = 0;\n      for (j = 0, jj = data.length; j < jj; j++) {\n        dataItem = data[j];\n        var chunk = dataItem.data.subarray(dataItem.start, dataItem.end);\n        encodedData.set(chunk, position);\n        position += chunk.length;\n      }\n      var decoder = new _arithmetic_decoder.ArithmeticDecoder(encodedData, 0, totalLength);\n      bitModel.setDecoder(decoder);\n      for (j = 0; j < codingpasses; j++) {\n        switch (currentCodingpassType) {\n          case 0:\n            bitModel.runSignificancePropagationPass();\n            break;\n          case 1:\n            bitModel.runMagnitudeRefinementPass();\n            break;\n          case 2:\n            bitModel.runCleanupPass();\n            if (segmentationSymbolUsed) {\n              bitModel.checkSegmentationSymbol();\n            }\n            break;\n        }\n        currentCodingpassType = (currentCodingpassType + 1) % 3;\n      }\n      var offset = codeblock.tbx0_ - x0 + (codeblock.tby0_ - y0) * width;\n      var sign = bitModel.coefficentsSign;\n      var magnitude = bitModel.coefficentsMagnitude;\n      var bitsDecoded = bitModel.bitsDecoded;\n      var magnitudeCorrection = reversible ? 0 : 0.5;\n      var k, n, nb;\n      position = 0;\n      var interleave = subband.type !== 'LL';\n      for (j = 0; j < blockHeight; j++) {\n        var row = offset / width | 0;\n        var levelOffset = 2 * row * (levelWidth - width) + right + bottom;\n        for (k = 0; k < blockWidth; k++) {\n          n = magnitude[position];\n          if (n !== 0) {\n            n = (n + magnitudeCorrection) * delta;\n            if (sign[position] !== 0) {\n              n = -n;\n            }\n            nb = bitsDecoded[position];\n            var pos = interleave ? levelOffset + (offset << 1) : offset;\n            if (reversible && nb >= mb) {\n              coefficients[pos] = n;\n            } else {\n              coefficients[pos] = n * (1 << mb - nb);\n            }\n          }\n          offset++;\n          position++;\n        }\n        offset += width - blockWidth;\n      }\n    }\n  }\n  function transformTile(context, tile, c) {\n    var component = tile.components[c];\n    var codingStyleParameters = component.codingStyleParameters;\n    var quantizationParameters = component.quantizationParameters;\n    var decompositionLevelsCount = codingStyleParameters.decompositionLevelsCount;\n    var spqcds = quantizationParameters.SPqcds;\n    var scalarExpounded = quantizationParameters.scalarExpounded;\n    var guardBits = quantizationParameters.guardBits;\n    var segmentationSymbolUsed = codingStyleParameters.segmentationSymbolUsed;\n    var precision = context.components[c].precision;\n    var reversible = codingStyleParameters.reversibleTransformation;\n    var transform = reversible ? new ReversibleTransform() : new IrreversibleTransform();\n    var subbandCoefficients = [];\n    var b = 0;\n    for (var i = 0; i <= decompositionLevelsCount; i++) {\n      var resolution = component.resolutions[i];\n      var width = resolution.trx1 - resolution.trx0;\n      var height = resolution.try1 - resolution.try0;\n      var coefficients = new Float32Array(width * height);\n      for (var j = 0, jj = resolution.subbands.length; j < jj; j++) {\n        var mu, epsilon;\n        if (!scalarExpounded) {\n          mu = spqcds[0].mu;\n          epsilon = spqcds[0].epsilon + (i > 0 ? 1 - i : 0);\n        } else {\n          mu = spqcds[b].mu;\n          epsilon = spqcds[b].epsilon;\n          b++;\n        }\n        var subband = resolution.subbands[j];\n        var gainLog2 = SubbandsGainLog2[subband.type];\n        var delta = reversible ? 1 : Math.pow(2, precision + gainLog2 - epsilon) * (1 + mu / 2048);\n        var mb = guardBits + epsilon - 1;\n        copyCoefficients(coefficients, width, height, subband, delta, mb, reversible, segmentationSymbolUsed);\n      }\n      subbandCoefficients.push({\n        width: width,\n        height: height,\n        items: coefficients\n      });\n    }\n    var result = transform.calculate(subbandCoefficients, component.tcx0, component.tcy0);\n    return {\n      left: component.tcx0,\n      top: component.tcy0,\n      width: result.width,\n      height: result.height,\n      items: result.items\n    };\n  }\n  function transformComponents(context) {\n    var siz = context.SIZ;\n    var components = context.components;\n    var componentsCount = siz.Csiz;\n    var resultImages = [];\n    for (var i = 0, ii = context.tiles.length; i < ii; i++) {\n      var tile = context.tiles[i];\n      var transformedTiles = [];\n      var c;\n      for (c = 0; c < componentsCount; c++) {\n        transformedTiles[c] = transformTile(context, tile, c);\n      }\n      var tile0 = transformedTiles[0];\n      var out = new Uint8ClampedArray(tile0.items.length * componentsCount);\n      var result = {\n        left: tile0.left,\n        top: tile0.top,\n        width: tile0.width,\n        height: tile0.height,\n        items: out\n      };\n      var shift, offset;\n      var pos = 0,\n          j,\n          jj,\n          y0,\n          y1,\n          y2;\n      if (tile.codingStyleDefaultParameters.multipleComponentTransform) {\n        var fourComponents = componentsCount === 4;\n        var y0items = transformedTiles[0].items;\n        var y1items = transformedTiles[1].items;\n        var y2items = transformedTiles[2].items;\n        var y3items = fourComponents ? transformedTiles[3].items : null;\n        shift = components[0].precision - 8;\n        offset = (128 << shift) + 0.5;\n        var component0 = tile.components[0];\n        var alpha01 = componentsCount - 3;\n        jj = y0items.length;\n        if (!component0.codingStyleParameters.reversibleTransformation) {\n          for (j = 0; j < jj; j++, pos += alpha01) {\n            y0 = y0items[j] + offset;\n            y1 = y1items[j];\n            y2 = y2items[j];\n            out[pos++] = y0 + 1.402 * y2 >> shift;\n            out[pos++] = y0 - 0.34413 * y1 - 0.71414 * y2 >> shift;\n            out[pos++] = y0 + 1.772 * y1 >> shift;\n          }\n        } else {\n          for (j = 0; j < jj; j++, pos += alpha01) {\n            y0 = y0items[j] + offset;\n            y1 = y1items[j];\n            y2 = y2items[j];\n            var g = y0 - (y2 + y1 >> 2);\n            out[pos++] = g + y2 >> shift;\n            out[pos++] = g >> shift;\n            out[pos++] = g + y1 >> shift;\n          }\n        }\n        if (fourComponents) {\n          for (j = 0, pos = 3; j < jj; j++, pos += 4) {\n            out[pos] = y3items[j] + offset >> shift;\n          }\n        }\n      } else {\n        for (c = 0; c < componentsCount; c++) {\n          var items = transformedTiles[c].items;\n          shift = components[c].precision - 8;\n          offset = (128 << shift) + 0.5;\n          for (pos = c, j = 0, jj = items.length; j < jj; j++) {\n            out[pos] = items[j] + offset >> shift;\n            pos += componentsCount;\n          }\n        }\n      }\n      resultImages.push(result);\n    }\n    return resultImages;\n  }\n  function initializeTile(context, tileIndex) {\n    var siz = context.SIZ;\n    var componentsCount = siz.Csiz;\n    var tile = context.tiles[tileIndex];\n    for (var c = 0; c < componentsCount; c++) {\n      var component = tile.components[c];\n      var qcdOrQcc = context.currentTile.QCC[c] !== undefined ? context.currentTile.QCC[c] : context.currentTile.QCD;\n      component.quantizationParameters = qcdOrQcc;\n      var codOrCoc = context.currentTile.COC[c] !== undefined ? context.currentTile.COC[c] : context.currentTile.COD;\n      component.codingStyleParameters = codOrCoc;\n    }\n    tile.codingStyleDefaultParameters = context.currentTile.COD;\n  }\n  var TagTree = function TagTreeClosure() {\n    function TagTree(width, height) {\n      var levelsLength = (0, _util.log2)(Math.max(width, height)) + 1;\n      this.levels = [];\n      for (var i = 0; i < levelsLength; i++) {\n        var level = {\n          width: width,\n          height: height,\n          items: []\n        };\n        this.levels.push(level);\n        width = Math.ceil(width / 2);\n        height = Math.ceil(height / 2);\n      }\n    }\n    TagTree.prototype = {\n      reset: function TagTree_reset(i, j) {\n        var currentLevel = 0,\n            value = 0,\n            level;\n        while (currentLevel < this.levels.length) {\n          level = this.levels[currentLevel];\n          var index = i + j * level.width;\n          if (level.items[index] !== undefined) {\n            value = level.items[index];\n            break;\n          }\n          level.index = index;\n          i >>= 1;\n          j >>= 1;\n          currentLevel++;\n        }\n        currentLevel--;\n        level = this.levels[currentLevel];\n        level.items[level.index] = value;\n        this.currentLevel = currentLevel;\n        delete this.value;\n      },\n      incrementValue: function TagTree_incrementValue() {\n        var level = this.levels[this.currentLevel];\n        level.items[level.index]++;\n      },\n      nextLevel: function TagTree_nextLevel() {\n        var currentLevel = this.currentLevel;\n        var level = this.levels[currentLevel];\n        var value = level.items[level.index];\n        currentLevel--;\n        if (currentLevel < 0) {\n          this.value = value;\n          return false;\n        }\n        this.currentLevel = currentLevel;\n        level = this.levels[currentLevel];\n        level.items[level.index] = value;\n        return true;\n      }\n    };\n    return TagTree;\n  }();\n  var InclusionTree = function InclusionTreeClosure() {\n    function InclusionTree(width, height, defaultValue) {\n      var levelsLength = (0, _util.log2)(Math.max(width, height)) + 1;\n      this.levels = [];\n      for (var i = 0; i < levelsLength; i++) {\n        var items = new Uint8Array(width * height);\n        for (var j = 0, jj = items.length; j < jj; j++) {\n          items[j] = defaultValue;\n        }\n        var level = {\n          width: width,\n          height: height,\n          items: items\n        };\n        this.levels.push(level);\n        width = Math.ceil(width / 2);\n        height = Math.ceil(height / 2);\n      }\n    }\n    InclusionTree.prototype = {\n      reset: function InclusionTree_reset(i, j, stopValue) {\n        var currentLevel = 0;\n        while (currentLevel < this.levels.length) {\n          var level = this.levels[currentLevel];\n          var index = i + j * level.width;\n          level.index = index;\n          var value = level.items[index];\n          if (value === 0xFF) {\n            break;\n          }\n          if (value > stopValue) {\n            this.currentLevel = currentLevel;\n            this.propagateValues();\n            return false;\n          }\n          i >>= 1;\n          j >>= 1;\n          currentLevel++;\n        }\n        this.currentLevel = currentLevel - 1;\n        return true;\n      },\n      incrementValue: function InclusionTree_incrementValue(stopValue) {\n        var level = this.levels[this.currentLevel];\n        level.items[level.index] = stopValue + 1;\n        this.propagateValues();\n      },\n      propagateValues: function InclusionTree_propagateValues() {\n        var levelIndex = this.currentLevel;\n        var level = this.levels[levelIndex];\n        var currentValue = level.items[level.index];\n        while (--levelIndex >= 0) {\n          level = this.levels[levelIndex];\n          level.items[level.index] = currentValue;\n        }\n      },\n      nextLevel: function InclusionTree_nextLevel() {\n        var currentLevel = this.currentLevel;\n        var level = this.levels[currentLevel];\n        var value = level.items[level.index];\n        level.items[level.index] = 0xFF;\n        currentLevel--;\n        if (currentLevel < 0) {\n          return false;\n        }\n        this.currentLevel = currentLevel;\n        level = this.levels[currentLevel];\n        level.items[level.index] = value;\n        return true;\n      }\n    };\n    return InclusionTree;\n  }();\n  var BitModel = function BitModelClosure() {\n    var UNIFORM_CONTEXT = 17;\n    var RUNLENGTH_CONTEXT = 18;\n    var LLAndLHContextsLabel = new Uint8Array([0, 5, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 1, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8]);\n    var HLContextLabel = new Uint8Array([0, 3, 4, 0, 5, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 1, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8]);\n    var HHContextLabel = new Uint8Array([0, 1, 2, 0, 1, 2, 2, 0, 2, 2, 2, 0, 0, 0, 0, 0, 3, 4, 5, 0, 4, 5, 5, 0, 5, 5, 5, 0, 0, 0, 0, 0, 6, 7, 7, 0, 7, 7, 7, 0, 7, 7, 7, 0, 0, 0, 0, 0, 8, 8, 8, 0, 8, 8, 8, 0, 8, 8, 8, 0, 0, 0, 0, 0, 8, 8, 8, 0, 8, 8, 8, 0, 8, 8, 8]);\n    function BitModel(width, height, subband, zeroBitPlanes, mb) {\n      this.width = width;\n      this.height = height;\n      this.contextLabelTable = subband === 'HH' ? HHContextLabel : subband === 'HL' ? HLContextLabel : LLAndLHContextsLabel;\n      var coefficientCount = width * height;\n      this.neighborsSignificance = new Uint8Array(coefficientCount);\n      this.coefficentsSign = new Uint8Array(coefficientCount);\n      this.coefficentsMagnitude = mb > 14 ? new Uint32Array(coefficientCount) : mb > 6 ? new Uint16Array(coefficientCount) : new Uint8Array(coefficientCount);\n      this.processingFlags = new Uint8Array(coefficientCount);\n      var bitsDecoded = new Uint8Array(coefficientCount);\n      if (zeroBitPlanes !== 0) {\n        for (var i = 0; i < coefficientCount; i++) {\n          bitsDecoded[i] = zeroBitPlanes;\n        }\n      }\n      this.bitsDecoded = bitsDecoded;\n      this.reset();\n    }\n    BitModel.prototype = {\n      setDecoder: function BitModel_setDecoder(decoder) {\n        this.decoder = decoder;\n      },\n      reset: function BitModel_reset() {\n        this.contexts = new Int8Array(19);\n        this.contexts[0] = 4 << 1 | 0;\n        this.contexts[UNIFORM_CONTEXT] = 46 << 1 | 0;\n        this.contexts[RUNLENGTH_CONTEXT] = 3 << 1 | 0;\n      },\n      setNeighborsSignificance: function BitModel_setNeighborsSignificance(row, column, index) {\n        var neighborsSignificance = this.neighborsSignificance;\n        var width = this.width,\n            height = this.height;\n        var left = column > 0;\n        var right = column + 1 < width;\n        var i;\n        if (row > 0) {\n          i = index - width;\n          if (left) {\n            neighborsSignificance[i - 1] += 0x10;\n          }\n          if (right) {\n            neighborsSignificance[i + 1] += 0x10;\n          }\n          neighborsSignificance[i] += 0x04;\n        }\n        if (row + 1 < height) {\n          i = index + width;\n          if (left) {\n            neighborsSignificance[i - 1] += 0x10;\n          }\n          if (right) {\n            neighborsSignificance[i + 1] += 0x10;\n          }\n          neighborsSignificance[i] += 0x04;\n        }\n        if (left) {\n          neighborsSignificance[index - 1] += 0x01;\n        }\n        if (right) {\n          neighborsSignificance[index + 1] += 0x01;\n        }\n        neighborsSignificance[index] |= 0x80;\n      },\n      runSignificancePropagationPass: function BitModel_runSignificancePropagationPass() {\n        var decoder = this.decoder;\n        var width = this.width,\n            height = this.height;\n        var coefficentsMagnitude = this.coefficentsMagnitude;\n        var coefficentsSign = this.coefficentsSign;\n        var neighborsSignificance = this.neighborsSignificance;\n        var processingFlags = this.processingFlags;\n        var contexts = this.contexts;\n        var labels = this.contextLabelTable;\n        var bitsDecoded = this.bitsDecoded;\n        var processedInverseMask = ~1;\n        var processedMask = 1;\n        var firstMagnitudeBitMask = 2;\n        for (var i0 = 0; i0 < height; i0 += 4) {\n          for (var j = 0; j < width; j++) {\n            var index = i0 * width + j;\n            for (var i1 = 0; i1 < 4; i1++, index += width) {\n              var i = i0 + i1;\n              if (i >= height) {\n                break;\n              }\n              processingFlags[index] &= processedInverseMask;\n              if (coefficentsMagnitude[index] || !neighborsSignificance[index]) {\n                continue;\n              }\n              var contextLabel = labels[neighborsSignificance[index]];\n              var decision = decoder.readBit(contexts, contextLabel);\n              if (decision) {\n                var sign = this.decodeSignBit(i, j, index);\n                coefficentsSign[index] = sign;\n                coefficentsMagnitude[index] = 1;\n                this.setNeighborsSignificance(i, j, index);\n                processingFlags[index] |= firstMagnitudeBitMask;\n              }\n              bitsDecoded[index]++;\n              processingFlags[index] |= processedMask;\n            }\n          }\n        }\n      },\n      decodeSignBit: function BitModel_decodeSignBit(row, column, index) {\n        var width = this.width,\n            height = this.height;\n        var coefficentsMagnitude = this.coefficentsMagnitude;\n        var coefficentsSign = this.coefficentsSign;\n        var contribution, sign0, sign1, significance1;\n        var contextLabel, decoded;\n        significance1 = column > 0 && coefficentsMagnitude[index - 1] !== 0;\n        if (column + 1 < width && coefficentsMagnitude[index + 1] !== 0) {\n          sign1 = coefficentsSign[index + 1];\n          if (significance1) {\n            sign0 = coefficentsSign[index - 1];\n            contribution = 1 - sign1 - sign0;\n          } else {\n            contribution = 1 - sign1 - sign1;\n          }\n        } else if (significance1) {\n          sign0 = coefficentsSign[index - 1];\n          contribution = 1 - sign0 - sign0;\n        } else {\n          contribution = 0;\n        }\n        var horizontalContribution = 3 * contribution;\n        significance1 = row > 0 && coefficentsMagnitude[index - width] !== 0;\n        if (row + 1 < height && coefficentsMagnitude[index + width] !== 0) {\n          sign1 = coefficentsSign[index + width];\n          if (significance1) {\n            sign0 = coefficentsSign[index - width];\n            contribution = 1 - sign1 - sign0 + horizontalContribution;\n          } else {\n            contribution = 1 - sign1 - sign1 + horizontalContribution;\n          }\n        } else if (significance1) {\n          sign0 = coefficentsSign[index - width];\n          contribution = 1 - sign0 - sign0 + horizontalContribution;\n        } else {\n          contribution = horizontalContribution;\n        }\n        if (contribution >= 0) {\n          contextLabel = 9 + contribution;\n          decoded = this.decoder.readBit(this.contexts, contextLabel);\n        } else {\n          contextLabel = 9 - contribution;\n          decoded = this.decoder.readBit(this.contexts, contextLabel) ^ 1;\n        }\n        return decoded;\n      },\n      runMagnitudeRefinementPass: function BitModel_runMagnitudeRefinementPass() {\n        var decoder = this.decoder;\n        var width = this.width,\n            height = this.height;\n        var coefficentsMagnitude = this.coefficentsMagnitude;\n        var neighborsSignificance = this.neighborsSignificance;\n        var contexts = this.contexts;\n        var bitsDecoded = this.bitsDecoded;\n        var processingFlags = this.processingFlags;\n        var processedMask = 1;\n        var firstMagnitudeBitMask = 2;\n        var length = width * height;\n        var width4 = width * 4;\n        for (var index0 = 0, indexNext; index0 < length; index0 = indexNext) {\n          indexNext = Math.min(length, index0 + width4);\n          for (var j = 0; j < width; j++) {\n            for (var index = index0 + j; index < indexNext; index += width) {\n              if (!coefficentsMagnitude[index] || (processingFlags[index] & processedMask) !== 0) {\n                continue;\n              }\n              var contextLabel = 16;\n              if ((processingFlags[index] & firstMagnitudeBitMask) !== 0) {\n                processingFlags[index] ^= firstMagnitudeBitMask;\n                var significance = neighborsSignificance[index] & 127;\n                contextLabel = significance === 0 ? 15 : 14;\n              }\n              var bit = decoder.readBit(contexts, contextLabel);\n              coefficentsMagnitude[index] = coefficentsMagnitude[index] << 1 | bit;\n              bitsDecoded[index]++;\n              processingFlags[index] |= processedMask;\n            }\n          }\n        }\n      },\n      runCleanupPass: function BitModel_runCleanupPass() {\n        var decoder = this.decoder;\n        var width = this.width,\n            height = this.height;\n        var neighborsSignificance = this.neighborsSignificance;\n        var coefficentsMagnitude = this.coefficentsMagnitude;\n        var coefficentsSign = this.coefficentsSign;\n        var contexts = this.contexts;\n        var labels = this.contextLabelTable;\n        var bitsDecoded = this.bitsDecoded;\n        var processingFlags = this.processingFlags;\n        var processedMask = 1;\n        var firstMagnitudeBitMask = 2;\n        var oneRowDown = width;\n        var twoRowsDown = width * 2;\n        var threeRowsDown = width * 3;\n        var iNext;\n        for (var i0 = 0; i0 < height; i0 = iNext) {\n          iNext = Math.min(i0 + 4, height);\n          var indexBase = i0 * width;\n          var checkAllEmpty = i0 + 3 < height;\n          for (var j = 0; j < width; j++) {\n            var index0 = indexBase + j;\n            var allEmpty = checkAllEmpty && processingFlags[index0] === 0 && processingFlags[index0 + oneRowDown] === 0 && processingFlags[index0 + twoRowsDown] === 0 && processingFlags[index0 + threeRowsDown] === 0 && neighborsSignificance[index0] === 0 && neighborsSignificance[index0 + oneRowDown] === 0 && neighborsSignificance[index0 + twoRowsDown] === 0 && neighborsSignificance[index0 + threeRowsDown] === 0;\n            var i1 = 0,\n                index = index0;\n            var i = i0,\n                sign;\n            if (allEmpty) {\n              var hasSignificantCoefficent = decoder.readBit(contexts, RUNLENGTH_CONTEXT);\n              if (!hasSignificantCoefficent) {\n                bitsDecoded[index0]++;\n                bitsDecoded[index0 + oneRowDown]++;\n                bitsDecoded[index0 + twoRowsDown]++;\n                bitsDecoded[index0 + threeRowsDown]++;\n                continue;\n              }\n              i1 = decoder.readBit(contexts, UNIFORM_CONTEXT) << 1 | decoder.readBit(contexts, UNIFORM_CONTEXT);\n              if (i1 !== 0) {\n                i = i0 + i1;\n                index += i1 * width;\n              }\n              sign = this.decodeSignBit(i, j, index);\n              coefficentsSign[index] = sign;\n              coefficentsMagnitude[index] = 1;\n              this.setNeighborsSignificance(i, j, index);\n              processingFlags[index] |= firstMagnitudeBitMask;\n              index = index0;\n              for (var i2 = i0; i2 <= i; i2++, index += width) {\n                bitsDecoded[index]++;\n              }\n              i1++;\n            }\n            for (i = i0 + i1; i < iNext; i++, index += width) {\n              if (coefficentsMagnitude[index] || (processingFlags[index] & processedMask) !== 0) {\n                continue;\n              }\n              var contextLabel = labels[neighborsSignificance[index]];\n              var decision = decoder.readBit(contexts, contextLabel);\n              if (decision === 1) {\n                sign = this.decodeSignBit(i, j, index);\n                coefficentsSign[index] = sign;\n                coefficentsMagnitude[index] = 1;\n                this.setNeighborsSignificance(i, j, index);\n                processingFlags[index] |= firstMagnitudeBitMask;\n              }\n              bitsDecoded[index]++;\n            }\n          }\n        }\n      },\n      checkSegmentationSymbol: function BitModel_checkSegmentationSymbol() {\n        var decoder = this.decoder;\n        var contexts = this.contexts;\n        var symbol = decoder.readBit(contexts, UNIFORM_CONTEXT) << 3 | decoder.readBit(contexts, UNIFORM_CONTEXT) << 2 | decoder.readBit(contexts, UNIFORM_CONTEXT) << 1 | decoder.readBit(contexts, UNIFORM_CONTEXT);\n        if (symbol !== 0xA) {\n          throw new JpxError('Invalid segmentation symbol');\n        }\n      }\n    };\n    return BitModel;\n  }();\n  var Transform = function TransformClosure() {\n    function Transform() {}\n    Transform.prototype.calculate = function transformCalculate(subbands, u0, v0) {\n      var ll = subbands[0];\n      for (var i = 1, ii = subbands.length; i < ii; i++) {\n        ll = this.iterate(ll, subbands[i], u0, v0);\n      }\n      return ll;\n    };\n    Transform.prototype.extend = function extend(buffer, offset, size) {\n      var i1 = offset - 1,\n          j1 = offset + 1;\n      var i2 = offset + size - 2,\n          j2 = offset + size;\n      buffer[i1--] = buffer[j1++];\n      buffer[j2++] = buffer[i2--];\n      buffer[i1--] = buffer[j1++];\n      buffer[j2++] = buffer[i2--];\n      buffer[i1--] = buffer[j1++];\n      buffer[j2++] = buffer[i2--];\n      buffer[i1] = buffer[j1];\n      buffer[j2] = buffer[i2];\n    };\n    Transform.prototype.iterate = function Transform_iterate(ll, hl_lh_hh, u0, v0) {\n      var llWidth = ll.width,\n          llHeight = ll.height,\n          llItems = ll.items;\n      var width = hl_lh_hh.width;\n      var height = hl_lh_hh.height;\n      var items = hl_lh_hh.items;\n      var i, j, k, l, u, v;\n      for (k = 0, i = 0; i < llHeight; i++) {\n        l = i * 2 * width;\n        for (j = 0; j < llWidth; j++, k++, l += 2) {\n          items[l] = llItems[k];\n        }\n      }\n      llItems = ll.items = null;\n      var bufferPadding = 4;\n      var rowBuffer = new Float32Array(width + 2 * bufferPadding);\n      if (width === 1) {\n        if ((u0 & 1) !== 0) {\n          for (v = 0, k = 0; v < height; v++, k += width) {\n            items[k] *= 0.5;\n          }\n        }\n      } else {\n        for (v = 0, k = 0; v < height; v++, k += width) {\n          rowBuffer.set(items.subarray(k, k + width), bufferPadding);\n          this.extend(rowBuffer, bufferPadding, width);\n          this.filter(rowBuffer, bufferPadding, width);\n          items.set(rowBuffer.subarray(bufferPadding, bufferPadding + width), k);\n        }\n      }\n      var numBuffers = 16;\n      var colBuffers = [];\n      for (i = 0; i < numBuffers; i++) {\n        colBuffers.push(new Float32Array(height + 2 * bufferPadding));\n      }\n      var b,\n          currentBuffer = 0;\n      ll = bufferPadding + height;\n      if (height === 1) {\n        if ((v0 & 1) !== 0) {\n          for (u = 0; u < width; u++) {\n            items[u] *= 0.5;\n          }\n        }\n      } else {\n        for (u = 0; u < width; u++) {\n          if (currentBuffer === 0) {\n            numBuffers = Math.min(width - u, numBuffers);\n            for (k = u, l = bufferPadding; l < ll; k += width, l++) {\n              for (b = 0; b < numBuffers; b++) {\n                colBuffers[b][l] = items[k + b];\n              }\n            }\n            currentBuffer = numBuffers;\n          }\n          currentBuffer--;\n          var buffer = colBuffers[currentBuffer];\n          this.extend(buffer, bufferPadding, height);\n          this.filter(buffer, bufferPadding, height);\n          if (currentBuffer === 0) {\n            k = u - numBuffers + 1;\n            for (l = bufferPadding; l < ll; k += width, l++) {\n              for (b = 0; b < numBuffers; b++) {\n                items[k + b] = colBuffers[b][l];\n              }\n            }\n          }\n        }\n      }\n      return {\n        width: width,\n        height: height,\n        items: items\n      };\n    };\n    return Transform;\n  }();\n  var IrreversibleTransform = function IrreversibleTransformClosure() {\n    function IrreversibleTransform() {\n      Transform.call(this);\n    }\n    IrreversibleTransform.prototype = Object.create(Transform.prototype);\n    IrreversibleTransform.prototype.filter = function irreversibleTransformFilter(x, offset, length) {\n      var len = length >> 1;\n      offset = offset | 0;\n      var j, n, current, next;\n      var alpha = -1.586134342059924;\n      var beta = -0.052980118572961;\n      var gamma = 0.882911075530934;\n      var delta = 0.443506852043971;\n      var K = 1.230174104914001;\n      var K_ = 1 / K;\n      j = offset - 3;\n      for (n = len + 4; n--; j += 2) {\n        x[j] *= K_;\n      }\n      j = offset - 2;\n      current = delta * x[j - 1];\n      for (n = len + 3; n--; j += 2) {\n        next = delta * x[j + 1];\n        x[j] = K * x[j] - current - next;\n        if (n--) {\n          j += 2;\n          current = delta * x[j + 1];\n          x[j] = K * x[j] - current - next;\n        } else {\n          break;\n        }\n      }\n      j = offset - 1;\n      current = gamma * x[j - 1];\n      for (n = len + 2; n--; j += 2) {\n        next = gamma * x[j + 1];\n        x[j] -= current + next;\n        if (n--) {\n          j += 2;\n          current = gamma * x[j + 1];\n          x[j] -= current + next;\n        } else {\n          break;\n        }\n      }\n      j = offset;\n      current = beta * x[j - 1];\n      for (n = len + 1; n--; j += 2) {\n        next = beta * x[j + 1];\n        x[j] -= current + next;\n        if (n--) {\n          j += 2;\n          current = beta * x[j + 1];\n          x[j] -= current + next;\n        } else {\n          break;\n        }\n      }\n      if (len !== 0) {\n        j = offset + 1;\n        current = alpha * x[j - 1];\n        for (n = len; n--; j += 2) {\n          next = alpha * x[j + 1];\n          x[j] -= current + next;\n          if (n--) {\n            j += 2;\n            current = alpha * x[j + 1];\n            x[j] -= current + next;\n          } else {\n            break;\n          }\n        }\n      }\n    };\n    return IrreversibleTransform;\n  }();\n  var ReversibleTransform = function ReversibleTransformClosure() {\n    function ReversibleTransform() {\n      Transform.call(this);\n    }\n    ReversibleTransform.prototype = Object.create(Transform.prototype);\n    ReversibleTransform.prototype.filter = function reversibleTransformFilter(x, offset, length) {\n      var len = length >> 1;\n      offset = offset | 0;\n      var j, n;\n      for (j = offset, n = len + 1; n--; j += 2) {\n        x[j] -= x[j - 1] + x[j + 1] + 2 >> 2;\n      }\n      for (j = offset + 1, n = len; n--; j += 2) {\n        x[j] += x[j - 1] + x[j + 1] >> 1;\n      }\n    };\n    return ReversibleTransform;\n  }();\n  return JpxImage;\n}();\nexports.JpxImage = JpxImage;\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nvar ArithmeticDecoder = function ArithmeticDecoderClosure() {\n  var QeTable = [{\n    qe: 0x5601,\n    nmps: 1,\n    nlps: 1,\n    switchFlag: 1\n  }, {\n    qe: 0x3401,\n    nmps: 2,\n    nlps: 6,\n    switchFlag: 0\n  }, {\n    qe: 0x1801,\n    nmps: 3,\n    nlps: 9,\n    switchFlag: 0\n  }, {\n    qe: 0x0AC1,\n    nmps: 4,\n    nlps: 12,\n    switchFlag: 0\n  }, {\n    qe: 0x0521,\n    nmps: 5,\n    nlps: 29,\n    switchFlag: 0\n  }, {\n    qe: 0x0221,\n    nmps: 38,\n    nlps: 33,\n    switchFlag: 0\n  }, {\n    qe: 0x5601,\n    nmps: 7,\n    nlps: 6,\n    switchFlag: 1\n  }, {\n    qe: 0x5401,\n    nmps: 8,\n    nlps: 14,\n    switchFlag: 0\n  }, {\n    qe: 0x4801,\n    nmps: 9,\n    nlps: 14,\n    switchFlag: 0\n  }, {\n    qe: 0x3801,\n    nmps: 10,\n    nlps: 14,\n    switchFlag: 0\n  }, {\n    qe: 0x3001,\n    nmps: 11,\n    nlps: 17,\n    switchFlag: 0\n  }, {\n    qe: 0x2401,\n    nmps: 12,\n    nlps: 18,\n    switchFlag: 0\n  }, {\n    qe: 0x1C01,\n    nmps: 13,\n    nlps: 20,\n    switchFlag: 0\n  }, {\n    qe: 0x1601,\n    nmps: 29,\n    nlps: 21,\n    switchFlag: 0\n  }, {\n    qe: 0x5601,\n    nmps: 15,\n    nlps: 14,\n    switchFlag: 1\n  }, {\n    qe: 0x5401,\n    nmps: 16,\n    nlps: 14,\n    switchFlag: 0\n  }, {\n    qe: 0x5101,\n    nmps: 17,\n    nlps: 15,\n    switchFlag: 0\n  }, {\n    qe: 0x4801,\n    nmps: 18,\n    nlps: 16,\n    switchFlag: 0\n  }, {\n    qe: 0x3801,\n    nmps: 19,\n    nlps: 17,\n    switchFlag: 0\n  }, {\n    qe: 0x3401,\n    nmps: 20,\n    nlps: 18,\n    switchFlag: 0\n  }, {\n    qe: 0x3001,\n    nmps: 21,\n    nlps: 19,\n    switchFlag: 0\n  }, {\n    qe: 0x2801,\n    nmps: 22,\n    nlps: 19,\n    switchFlag: 0\n  }, {\n    qe: 0x2401,\n    nmps: 23,\n    nlps: 20,\n    switchFlag: 0\n  }, {\n    qe: 0x2201,\n    nmps: 24,\n    nlps: 21,\n    switchFlag: 0\n  }, {\n    qe: 0x1C01,\n    nmps: 25,\n    nlps: 22,\n    switchFlag: 0\n  }, {\n    qe: 0x1801,\n    nmps: 26,\n    nlps: 23,\n    switchFlag: 0\n  }, {\n    qe: 0x1601,\n    nmps: 27,\n    nlps: 24,\n    switchFlag: 0\n  }, {\n    qe: 0x1401,\n    nmps: 28,\n    nlps: 25,\n    switchFlag: 0\n  }, {\n    qe: 0x1201,\n    nmps: 29,\n    nlps: 26,\n    switchFlag: 0\n  }, {\n    qe: 0x1101,\n    nmps: 30,\n    nlps: 27,\n    switchFlag: 0\n  }, {\n    qe: 0x0AC1,\n    nmps: 31,\n    nlps: 28,\n    switchFlag: 0\n  }, {\n    qe: 0x09C1,\n    nmps: 32,\n    nlps: 29,\n    switchFlag: 0\n  }, {\n    qe: 0x08A1,\n    nmps: 33,\n    nlps: 30,\n    switchFlag: 0\n  }, {\n    qe: 0x0521,\n    nmps: 34,\n    nlps: 31,\n    switchFlag: 0\n  }, {\n    qe: 0x0441,\n    nmps: 35,\n    nlps: 32,\n    switchFlag: 0\n  }, {\n    qe: 0x02A1,\n    nmps: 36,\n    nlps: 33,\n    switchFlag: 0\n  }, {\n    qe: 0x0221,\n    nmps: 37,\n    nlps: 34,\n    switchFlag: 0\n  }, {\n    qe: 0x0141,\n    nmps: 38,\n    nlps: 35,\n    switchFlag: 0\n  }, {\n    qe: 0x0111,\n    nmps: 39,\n    nlps: 36,\n    switchFlag: 0\n  }, {\n    qe: 0x0085,\n    nmps: 40,\n    nlps: 37,\n    switchFlag: 0\n  }, {\n    qe: 0x0049,\n    nmps: 41,\n    nlps: 38,\n    switchFlag: 0\n  }, {\n    qe: 0x0025,\n    nmps: 42,\n    nlps: 39,\n    switchFlag: 0\n  }, {\n    qe: 0x0015,\n    nmps: 43,\n    nlps: 40,\n    switchFlag: 0\n  }, {\n    qe: 0x0009,\n    nmps: 44,\n    nlps: 41,\n    switchFlag: 0\n  }, {\n    qe: 0x0005,\n    nmps: 45,\n    nlps: 42,\n    switchFlag: 0\n  }, {\n    qe: 0x0001,\n    nmps: 45,\n    nlps: 43,\n    switchFlag: 0\n  }, {\n    qe: 0x5601,\n    nmps: 46,\n    nlps: 46,\n    switchFlag: 0\n  }];\n  function ArithmeticDecoder(data, start, end) {\n    this.data = data;\n    this.bp = start;\n    this.dataEnd = end;\n    this.chigh = data[start];\n    this.clow = 0;\n    this.byteIn();\n    this.chigh = this.chigh << 7 & 0xFFFF | this.clow >> 9 & 0x7F;\n    this.clow = this.clow << 7 & 0xFFFF;\n    this.ct -= 7;\n    this.a = 0x8000;\n  }\n  ArithmeticDecoder.prototype = {\n    byteIn: function ArithmeticDecoder_byteIn() {\n      var data = this.data;\n      var bp = this.bp;\n      if (data[bp] === 0xFF) {\n        var b1 = data[bp + 1];\n        if (b1 > 0x8F) {\n          this.clow += 0xFF00;\n          this.ct = 8;\n        } else {\n          bp++;\n          this.clow += data[bp] << 9;\n          this.ct = 7;\n          this.bp = bp;\n        }\n      } else {\n        bp++;\n        this.clow += bp < this.dataEnd ? data[bp] << 8 : 0xFF00;\n        this.ct = 8;\n        this.bp = bp;\n      }\n      if (this.clow > 0xFFFF) {\n        this.chigh += this.clow >> 16;\n        this.clow &= 0xFFFF;\n      }\n    },\n    readBit: function ArithmeticDecoder_readBit(contexts, pos) {\n      var cx_index = contexts[pos] >> 1,\n          cx_mps = contexts[pos] & 1;\n      var qeTableIcx = QeTable[cx_index];\n      var qeIcx = qeTableIcx.qe;\n      var d;\n      var a = this.a - qeIcx;\n      if (this.chigh < qeIcx) {\n        if (a < qeIcx) {\n          a = qeIcx;\n          d = cx_mps;\n          cx_index = qeTableIcx.nmps;\n        } else {\n          a = qeIcx;\n          d = 1 ^ cx_mps;\n          if (qeTableIcx.switchFlag === 1) {\n            cx_mps = d;\n          }\n          cx_index = qeTableIcx.nlps;\n        }\n      } else {\n        this.chigh -= qeIcx;\n        if ((a & 0x8000) !== 0) {\n          this.a = a;\n          return cx_mps;\n        }\n        if (a < qeIcx) {\n          d = 1 ^ cx_mps;\n          if (qeTableIcx.switchFlag === 1) {\n            cx_mps = d;\n          }\n          cx_index = qeTableIcx.nlps;\n        } else {\n          d = cx_mps;\n          cx_index = qeTableIcx.nmps;\n        }\n      }\n      do {\n        if (this.ct === 0) {\n          this.byteIn();\n        }\n        a <<= 1;\n        this.chigh = this.chigh << 1 & 0xFFFF | this.clow >> 15 & 1;\n        this.clow = this.clow << 1 & 0xFFFF;\n        this.ct--;\n      } while ((a & 0x8000) === 0);\n      this.a = a;\n      contexts[pos] = cx_index << 1 | cx_mps;\n      return d;\n    }\n  };\n  return ArithmeticDecoder;\n}();\nexports.ArithmeticDecoder = ArithmeticDecoder;\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.calculateSHA512 = exports.calculateSHA384 = exports.calculateSHA256 = exports.calculateMD5 = exports.PDF20 = exports.PDF17 = exports.CipherTransformFactory = exports.ARCFourCipher = exports.AES256Cipher = exports.AES128Cipher = undefined;\n\nvar _util = __w_pdfjs_require__(0);\n\nvar _primitives = __w_pdfjs_require__(2);\n\nvar _stream = __w_pdfjs_require__(5);\n\nvar ARCFourCipher = function ARCFourCipherClosure() {\n  function ARCFourCipher(key) {\n    this.a = 0;\n    this.b = 0;\n    var s = new Uint8Array(256);\n    var i,\n        j = 0,\n        tmp,\n        keyLength = key.length;\n    for (i = 0; i < 256; ++i) {\n      s[i] = i;\n    }\n    for (i = 0; i < 256; ++i) {\n      tmp = s[i];\n      j = j + tmp + key[i % keyLength] & 0xFF;\n      s[i] = s[j];\n      s[j] = tmp;\n    }\n    this.s = s;\n  }\n  ARCFourCipher.prototype = {\n    encryptBlock: function ARCFourCipher_encryptBlock(data) {\n      var i,\n          n = data.length,\n          tmp,\n          tmp2;\n      var a = this.a,\n          b = this.b,\n          s = this.s;\n      var output = new Uint8Array(n);\n      for (i = 0; i < n; ++i) {\n        a = a + 1 & 0xFF;\n        tmp = s[a];\n        b = b + tmp & 0xFF;\n        tmp2 = s[b];\n        s[a] = tmp2;\n        s[b] = tmp;\n        output[i] = data[i] ^ s[tmp + tmp2 & 0xFF];\n      }\n      this.a = a;\n      this.b = b;\n      return output;\n    }\n  };\n  ARCFourCipher.prototype.decryptBlock = ARCFourCipher.prototype.encryptBlock;\n  return ARCFourCipher;\n}();\nvar calculateMD5 = function calculateMD5Closure() {\n  var r = new Uint8Array([7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21]);\n  var k = new Int32Array([-680876936, -389564586, 606105819, -1044525330, -176418897, 1200080426, -1473231341, -45705983, 1770035416, -1958414417, -42063, -1990404162, 1804603682, -40341101, -1502002290, 1236535329, -165796510, -1069501632, 643717713, -373897302, -701558691, 38016083, -660478335, -405537848, 568446438, -1019803690, -187363961, 1163531501, -1444681467, -51403784, 1735328473, -1926607734, -378558, -2022574463, 1839030562, -35309556, -1530992060, 1272893353, -155497632, -1094730640, 681279174, -358537222, -722521979, 76029189, -640364487, -421815835, 530742520, -995338651, -198630844, 1126891415, -1416354905, -57434055, 1700485571, -1894986606, -1051523, -2054922799, 1873313359, -30611744, -1560198380, 1309151649, -145523070, -1120210379, 718787259, -343485551]);\n  function hash(data, offset, length) {\n    var h0 = 1732584193,\n        h1 = -271733879,\n        h2 = -1732584194,\n        h3 = 271733878;\n    var paddedLength = length + 72 & ~63;\n    var padded = new Uint8Array(paddedLength);\n    var i, j, n;\n    for (i = 0; i < length; ++i) {\n      padded[i] = data[offset++];\n    }\n    padded[i++] = 0x80;\n    n = paddedLength - 8;\n    while (i < n) {\n      padded[i++] = 0;\n    }\n    padded[i++] = length << 3 & 0xFF;\n    padded[i++] = length >> 5 & 0xFF;\n    padded[i++] = length >> 13 & 0xFF;\n    padded[i++] = length >> 21 & 0xFF;\n    padded[i++] = length >>> 29 & 0xFF;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    var w = new Int32Array(16);\n    for (i = 0; i < paddedLength;) {\n      for (j = 0; j < 16; ++j, i += 4) {\n        w[j] = padded[i] | padded[i + 1] << 8 | padded[i + 2] << 16 | padded[i + 3] << 24;\n      }\n      var a = h0,\n          b = h1,\n          c = h2,\n          d = h3,\n          f,\n          g;\n      for (j = 0; j < 64; ++j) {\n        if (j < 16) {\n          f = b & c | ~b & d;\n          g = j;\n        } else if (j < 32) {\n          f = d & b | ~d & c;\n          g = 5 * j + 1 & 15;\n        } else if (j < 48) {\n          f = b ^ c ^ d;\n          g = 3 * j + 5 & 15;\n        } else {\n          f = c ^ (b | ~d);\n          g = 7 * j & 15;\n        }\n        var tmp = d,\n            rotateArg = a + f + k[j] + w[g] | 0,\n            rotate = r[j];\n        d = c;\n        c = b;\n        b = b + (rotateArg << rotate | rotateArg >>> 32 - rotate) | 0;\n        a = tmp;\n      }\n      h0 = h0 + a | 0;\n      h1 = h1 + b | 0;\n      h2 = h2 + c | 0;\n      h3 = h3 + d | 0;\n    }\n    return new Uint8Array([h0 & 0xFF, h0 >> 8 & 0xFF, h0 >> 16 & 0xFF, h0 >>> 24 & 0xFF, h1 & 0xFF, h1 >> 8 & 0xFF, h1 >> 16 & 0xFF, h1 >>> 24 & 0xFF, h2 & 0xFF, h2 >> 8 & 0xFF, h2 >> 16 & 0xFF, h2 >>> 24 & 0xFF, h3 & 0xFF, h3 >> 8 & 0xFF, h3 >> 16 & 0xFF, h3 >>> 24 & 0xFF]);\n  }\n  return hash;\n}();\nvar Word64 = function Word64Closure() {\n  function Word64(highInteger, lowInteger) {\n    this.high = highInteger | 0;\n    this.low = lowInteger | 0;\n  }\n  Word64.prototype = {\n    and: function Word64_and(word) {\n      this.high &= word.high;\n      this.low &= word.low;\n    },\n    xor: function Word64_xor(word) {\n      this.high ^= word.high;\n      this.low ^= word.low;\n    },\n    or: function Word64_or(word) {\n      this.high |= word.high;\n      this.low |= word.low;\n    },\n    shiftRight: function Word64_shiftRight(places) {\n      if (places >= 32) {\n        this.low = this.high >>> places - 32 | 0;\n        this.high = 0;\n      } else {\n        this.low = this.low >>> places | this.high << 32 - places;\n        this.high = this.high >>> places | 0;\n      }\n    },\n    shiftLeft: function Word64_shiftLeft(places) {\n      if (places >= 32) {\n        this.high = this.low << places - 32;\n        this.low = 0;\n      } else {\n        this.high = this.high << places | this.low >>> 32 - places;\n        this.low = this.low << places;\n      }\n    },\n    rotateRight: function Word64_rotateRight(places) {\n      var low, high;\n      if (places & 32) {\n        high = this.low;\n        low = this.high;\n      } else {\n        low = this.low;\n        high = this.high;\n      }\n      places &= 31;\n      this.low = low >>> places | high << 32 - places;\n      this.high = high >>> places | low << 32 - places;\n    },\n    not: function Word64_not() {\n      this.high = ~this.high;\n      this.low = ~this.low;\n    },\n    add: function Word64_add(word) {\n      var lowAdd = (this.low >>> 0) + (word.low >>> 0);\n      var highAdd = (this.high >>> 0) + (word.high >>> 0);\n      if (lowAdd > 0xFFFFFFFF) {\n        highAdd += 1;\n      }\n      this.low = lowAdd | 0;\n      this.high = highAdd | 0;\n    },\n    copyTo: function Word64_copyTo(bytes, offset) {\n      bytes[offset] = this.high >>> 24 & 0xFF;\n      bytes[offset + 1] = this.high >> 16 & 0xFF;\n      bytes[offset + 2] = this.high >> 8 & 0xFF;\n      bytes[offset + 3] = this.high & 0xFF;\n      bytes[offset + 4] = this.low >>> 24 & 0xFF;\n      bytes[offset + 5] = this.low >> 16 & 0xFF;\n      bytes[offset + 6] = this.low >> 8 & 0xFF;\n      bytes[offset + 7] = this.low & 0xFF;\n    },\n    assign: function Word64_assign(word) {\n      this.high = word.high;\n      this.low = word.low;\n    }\n  };\n  return Word64;\n}();\nvar calculateSHA256 = function calculateSHA256Closure() {\n  function rotr(x, n) {\n    return x >>> n | x << 32 - n;\n  }\n  function ch(x, y, z) {\n    return x & y ^ ~x & z;\n  }\n  function maj(x, y, z) {\n    return x & y ^ x & z ^ y & z;\n  }\n  function sigma(x) {\n    return rotr(x, 2) ^ rotr(x, 13) ^ rotr(x, 22);\n  }\n  function sigmaPrime(x) {\n    return rotr(x, 6) ^ rotr(x, 11) ^ rotr(x, 25);\n  }\n  function littleSigma(x) {\n    return rotr(x, 7) ^ rotr(x, 18) ^ x >>> 3;\n  }\n  function littleSigmaPrime(x) {\n    return rotr(x, 17) ^ rotr(x, 19) ^ x >>> 10;\n  }\n  var k = [0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2];\n  function hash(data, offset, length) {\n    var h0 = 0x6a09e667,\n        h1 = 0xbb67ae85,\n        h2 = 0x3c6ef372,\n        h3 = 0xa54ff53a,\n        h4 = 0x510e527f,\n        h5 = 0x9b05688c,\n        h6 = 0x1f83d9ab,\n        h7 = 0x5be0cd19;\n    var paddedLength = Math.ceil((length + 9) / 64) * 64;\n    var padded = new Uint8Array(paddedLength);\n    var i, j, n;\n    for (i = 0; i < length; ++i) {\n      padded[i] = data[offset++];\n    }\n    padded[i++] = 0x80;\n    n = paddedLength - 8;\n    while (i < n) {\n      padded[i++] = 0;\n    }\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = length >>> 29 & 0xFF;\n    padded[i++] = length >> 21 & 0xFF;\n    padded[i++] = length >> 13 & 0xFF;\n    padded[i++] = length >> 5 & 0xFF;\n    padded[i++] = length << 3 & 0xFF;\n    var w = new Uint32Array(64);\n    for (i = 0; i < paddedLength;) {\n      for (j = 0; j < 16; ++j) {\n        w[j] = padded[i] << 24 | padded[i + 1] << 16 | padded[i + 2] << 8 | padded[i + 3];\n        i += 4;\n      }\n      for (j = 16; j < 64; ++j) {\n        w[j] = littleSigmaPrime(w[j - 2]) + w[j - 7] + littleSigma(w[j - 15]) + w[j - 16] | 0;\n      }\n      var a = h0,\n          b = h1,\n          c = h2,\n          d = h3,\n          e = h4,\n          f = h5,\n          g = h6,\n          h = h7,\n          t1,\n          t2;\n      for (j = 0; j < 64; ++j) {\n        t1 = h + sigmaPrime(e) + ch(e, f, g) + k[j] + w[j];\n        t2 = sigma(a) + maj(a, b, c);\n        h = g;\n        g = f;\n        f = e;\n        e = d + t1 | 0;\n        d = c;\n        c = b;\n        b = a;\n        a = t1 + t2 | 0;\n      }\n      h0 = h0 + a | 0;\n      h1 = h1 + b | 0;\n      h2 = h2 + c | 0;\n      h3 = h3 + d | 0;\n      h4 = h4 + e | 0;\n      h5 = h5 + f | 0;\n      h6 = h6 + g | 0;\n      h7 = h7 + h | 0;\n    }\n    return new Uint8Array([h0 >> 24 & 0xFF, h0 >> 16 & 0xFF, h0 >> 8 & 0xFF, h0 & 0xFF, h1 >> 24 & 0xFF, h1 >> 16 & 0xFF, h1 >> 8 & 0xFF, h1 & 0xFF, h2 >> 24 & 0xFF, h2 >> 16 & 0xFF, h2 >> 8 & 0xFF, h2 & 0xFF, h3 >> 24 & 0xFF, h3 >> 16 & 0xFF, h3 >> 8 & 0xFF, h3 & 0xFF, h4 >> 24 & 0xFF, h4 >> 16 & 0xFF, h4 >> 8 & 0xFF, h4 & 0xFF, h5 >> 24 & 0xFF, h5 >> 16 & 0xFF, h5 >> 8 & 0xFF, h5 & 0xFF, h6 >> 24 & 0xFF, h6 >> 16 & 0xFF, h6 >> 8 & 0xFF, h6 & 0xFF, h7 >> 24 & 0xFF, h7 >> 16 & 0xFF, h7 >> 8 & 0xFF, h7 & 0xFF]);\n  }\n  return hash;\n}();\nvar calculateSHA512 = function calculateSHA512Closure() {\n  function ch(result, x, y, z, tmp) {\n    result.assign(x);\n    result.and(y);\n    tmp.assign(x);\n    tmp.not();\n    tmp.and(z);\n    result.xor(tmp);\n  }\n  function maj(result, x, y, z, tmp) {\n    result.assign(x);\n    result.and(y);\n    tmp.assign(x);\n    tmp.and(z);\n    result.xor(tmp);\n    tmp.assign(y);\n    tmp.and(z);\n    result.xor(tmp);\n  }\n  function sigma(result, x, tmp) {\n    result.assign(x);\n    result.rotateRight(28);\n    tmp.assign(x);\n    tmp.rotateRight(34);\n    result.xor(tmp);\n    tmp.assign(x);\n    tmp.rotateRight(39);\n    result.xor(tmp);\n  }\n  function sigmaPrime(result, x, tmp) {\n    result.assign(x);\n    result.rotateRight(14);\n    tmp.assign(x);\n    tmp.rotateRight(18);\n    result.xor(tmp);\n    tmp.assign(x);\n    tmp.rotateRight(41);\n    result.xor(tmp);\n  }\n  function littleSigma(result, x, tmp) {\n    result.assign(x);\n    result.rotateRight(1);\n    tmp.assign(x);\n    tmp.rotateRight(8);\n    result.xor(tmp);\n    tmp.assign(x);\n    tmp.shiftRight(7);\n    result.xor(tmp);\n  }\n  function littleSigmaPrime(result, x, tmp) {\n    result.assign(x);\n    result.rotateRight(19);\n    tmp.assign(x);\n    tmp.rotateRight(61);\n    result.xor(tmp);\n    tmp.assign(x);\n    tmp.shiftRight(6);\n    result.xor(tmp);\n  }\n  var k = [new Word64(0x428a2f98, 0xd728ae22), new Word64(0x71374491, 0x23ef65cd), new Word64(0xb5c0fbcf, 0xec4d3b2f), new Word64(0xe9b5dba5, 0x8189dbbc), new Word64(0x3956c25b, 0xf348b538), new Word64(0x59f111f1, 0xb605d019), new Word64(0x923f82a4, 0xaf194f9b), new Word64(0xab1c5ed5, 0xda6d8118), new Word64(0xd807aa98, 0xa3030242), new Word64(0x12835b01, 0x45706fbe), new Word64(0x243185be, 0x4ee4b28c), new Word64(0x550c7dc3, 0xd5ffb4e2), new Word64(0x72be5d74, 0xf27b896f), new Word64(0x80deb1fe, 0x3b1696b1), new Word64(0x9bdc06a7, 0x25c71235), new Word64(0xc19bf174, 0xcf692694), new Word64(0xe49b69c1, 0x9ef14ad2), new Word64(0xefbe4786, 0x384f25e3), new Word64(0x0fc19dc6, 0x8b8cd5b5), new Word64(0x240ca1cc, 0x77ac9c65), new Word64(0x2de92c6f, 0x592b0275), new Word64(0x4a7484aa, 0x6ea6e483), new Word64(0x5cb0a9dc, 0xbd41fbd4), new Word64(0x76f988da, 0x831153b5), new Word64(0x983e5152, 0xee66dfab), new Word64(0xa831c66d, 0x2db43210), new Word64(0xb00327c8, 0x98fb213f), new Word64(0xbf597fc7, 0xbeef0ee4), new Word64(0xc6e00bf3, 0x3da88fc2), new Word64(0xd5a79147, 0x930aa725), new Word64(0x06ca6351, 0xe003826f), new Word64(0x14292967, 0x0a0e6e70), new Word64(0x27b70a85, 0x46d22ffc), new Word64(0x2e1b2138, 0x5c26c926), new Word64(0x4d2c6dfc, 0x5ac42aed), new Word64(0x53380d13, 0x9d95b3df), new Word64(0x650a7354, 0x8baf63de), new Word64(0x766a0abb, 0x3c77b2a8), new Word64(0x81c2c92e, 0x47edaee6), new Word64(0x92722c85, 0x1482353b), new Word64(0xa2bfe8a1, 0x4cf10364), new Word64(0xa81a664b, 0xbc423001), new Word64(0xc24b8b70, 0xd0f89791), new Word64(0xc76c51a3, 0x0654be30), new Word64(0xd192e819, 0xd6ef5218), new Word64(0xd6990624, 0x5565a910), new Word64(0xf40e3585, 0x5771202a), new Word64(0x106aa070, 0x32bbd1b8), new Word64(0x19a4c116, 0xb8d2d0c8), new Word64(0x1e376c08, 0x5141ab53), new Word64(0x2748774c, 0xdf8eeb99), new Word64(0x34b0bcb5, 0xe19b48a8), new Word64(0x391c0cb3, 0xc5c95a63), new Word64(0x4ed8aa4a, 0xe3418acb), new Word64(0x5b9cca4f, 0x7763e373), new Word64(0x682e6ff3, 0xd6b2b8a3), new Word64(0x748f82ee, 0x5defb2fc), new Word64(0x78a5636f, 0x43172f60), new Word64(0x84c87814, 0xa1f0ab72), new Word64(0x8cc70208, 0x1a6439ec), new Word64(0x90befffa, 0x23631e28), new Word64(0xa4506ceb, 0xde82bde9), new Word64(0xbef9a3f7, 0xb2c67915), new Word64(0xc67178f2, 0xe372532b), new Word64(0xca273ece, 0xea26619c), new Word64(0xd186b8c7, 0x21c0c207), new Word64(0xeada7dd6, 0xcde0eb1e), new Word64(0xf57d4f7f, 0xee6ed178), new Word64(0x06f067aa, 0x72176fba), new Word64(0x0a637dc5, 0xa2c898a6), new Word64(0x113f9804, 0xbef90dae), new Word64(0x1b710b35, 0x131c471b), new Word64(0x28db77f5, 0x23047d84), new Word64(0x32caab7b, 0x40c72493), new Word64(0x3c9ebe0a, 0x15c9bebc), new Word64(0x431d67c4, 0x9c100d4c), new Word64(0x4cc5d4be, 0xcb3e42b6), new Word64(0x597f299c, 0xfc657e2a), new Word64(0x5fcb6fab, 0x3ad6faec), new Word64(0x6c44198c, 0x4a475817)];\n  function hash(data, offset, length, mode384) {\n    mode384 = !!mode384;\n    var h0, h1, h2, h3, h4, h5, h6, h7;\n    if (!mode384) {\n      h0 = new Word64(0x6a09e667, 0xf3bcc908);\n      h1 = new Word64(0xbb67ae85, 0x84caa73b);\n      h2 = new Word64(0x3c6ef372, 0xfe94f82b);\n      h3 = new Word64(0xa54ff53a, 0x5f1d36f1);\n      h4 = new Word64(0x510e527f, 0xade682d1);\n      h5 = new Word64(0x9b05688c, 0x2b3e6c1f);\n      h6 = new Word64(0x1f83d9ab, 0xfb41bd6b);\n      h7 = new Word64(0x5be0cd19, 0x137e2179);\n    } else {\n      h0 = new Word64(0xcbbb9d5d, 0xc1059ed8);\n      h1 = new Word64(0x629a292a, 0x367cd507);\n      h2 = new Word64(0x9159015a, 0x3070dd17);\n      h3 = new Word64(0x152fecd8, 0xf70e5939);\n      h4 = new Word64(0x67332667, 0xffc00b31);\n      h5 = new Word64(0x8eb44a87, 0x68581511);\n      h6 = new Word64(0xdb0c2e0d, 0x64f98fa7);\n      h7 = new Word64(0x47b5481d, 0xbefa4fa4);\n    }\n    var paddedLength = Math.ceil((length + 17) / 128) * 128;\n    var padded = new Uint8Array(paddedLength);\n    var i, j, n;\n    for (i = 0; i < length; ++i) {\n      padded[i] = data[offset++];\n    }\n    padded[i++] = 0x80;\n    n = paddedLength - 16;\n    while (i < n) {\n      padded[i++] = 0;\n    }\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = length >>> 29 & 0xFF;\n    padded[i++] = length >> 21 & 0xFF;\n    padded[i++] = length >> 13 & 0xFF;\n    padded[i++] = length >> 5 & 0xFF;\n    padded[i++] = length << 3 & 0xFF;\n    var w = new Array(80);\n    for (i = 0; i < 80; i++) {\n      w[i] = new Word64(0, 0);\n    }\n    var a = new Word64(0, 0),\n        b = new Word64(0, 0),\n        c = new Word64(0, 0);\n    var d = new Word64(0, 0),\n        e = new Word64(0, 0),\n        f = new Word64(0, 0);\n    var g = new Word64(0, 0),\n        h = new Word64(0, 0);\n    var t1 = new Word64(0, 0),\n        t2 = new Word64(0, 0);\n    var tmp1 = new Word64(0, 0),\n        tmp2 = new Word64(0, 0),\n        tmp3;\n    for (i = 0; i < paddedLength;) {\n      for (j = 0; j < 16; ++j) {\n        w[j].high = padded[i] << 24 | padded[i + 1] << 16 | padded[i + 2] << 8 | padded[i + 3];\n        w[j].low = padded[i + 4] << 24 | padded[i + 5] << 16 | padded[i + 6] << 8 | padded[i + 7];\n        i += 8;\n      }\n      for (j = 16; j < 80; ++j) {\n        tmp3 = w[j];\n        littleSigmaPrime(tmp3, w[j - 2], tmp2);\n        tmp3.add(w[j - 7]);\n        littleSigma(tmp1, w[j - 15], tmp2);\n        tmp3.add(tmp1);\n        tmp3.add(w[j - 16]);\n      }\n      a.assign(h0);\n      b.assign(h1);\n      c.assign(h2);\n      d.assign(h3);\n      e.assign(h4);\n      f.assign(h5);\n      g.assign(h6);\n      h.assign(h7);\n      for (j = 0; j < 80; ++j) {\n        t1.assign(h);\n        sigmaPrime(tmp1, e, tmp2);\n        t1.add(tmp1);\n        ch(tmp1, e, f, g, tmp2);\n        t1.add(tmp1);\n        t1.add(k[j]);\n        t1.add(w[j]);\n        sigma(t2, a, tmp2);\n        maj(tmp1, a, b, c, tmp2);\n        t2.add(tmp1);\n        tmp3 = h;\n        h = g;\n        g = f;\n        f = e;\n        d.add(t1);\n        e = d;\n        d = c;\n        c = b;\n        b = a;\n        tmp3.assign(t1);\n        tmp3.add(t2);\n        a = tmp3;\n      }\n      h0.add(a);\n      h1.add(b);\n      h2.add(c);\n      h3.add(d);\n      h4.add(e);\n      h5.add(f);\n      h6.add(g);\n      h7.add(h);\n    }\n    var result;\n    if (!mode384) {\n      result = new Uint8Array(64);\n      h0.copyTo(result, 0);\n      h1.copyTo(result, 8);\n      h2.copyTo(result, 16);\n      h3.copyTo(result, 24);\n      h4.copyTo(result, 32);\n      h5.copyTo(result, 40);\n      h6.copyTo(result, 48);\n      h7.copyTo(result, 56);\n    } else {\n      result = new Uint8Array(48);\n      h0.copyTo(result, 0);\n      h1.copyTo(result, 8);\n      h2.copyTo(result, 16);\n      h3.copyTo(result, 24);\n      h4.copyTo(result, 32);\n      h5.copyTo(result, 40);\n    }\n    return result;\n  }\n  return hash;\n}();\nvar calculateSHA384 = function calculateSHA384Closure() {\n  function hash(data, offset, length) {\n    return calculateSHA512(data, offset, length, true);\n  }\n  return hash;\n}();\nvar NullCipher = function NullCipherClosure() {\n  function NullCipher() {}\n  NullCipher.prototype = {\n    decryptBlock: function NullCipher_decryptBlock(data) {\n      return data;\n    }\n  };\n  return NullCipher;\n}();\nvar AES128Cipher = function AES128CipherClosure() {\n  var rcon = new Uint8Array([0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d]);\n  var s = new Uint8Array([0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75, 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84, 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf, 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8, 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73, 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb, 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08, 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a, 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e, 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf, 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16]);\n  var inv_s = new Uint8Array([0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb, 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87, 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb, 0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d, 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e, 0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2, 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25, 0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16, 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92, 0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda, 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84, 0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a, 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06, 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02, 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b, 0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea, 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73, 0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85, 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e, 0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89, 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b, 0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20, 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4, 0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31, 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f, 0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d, 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef, 0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0, 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61, 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26, 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d]);\n  var mixCol = new Uint8Array(256);\n  for (var i = 0; i < 256; i++) {\n    if (i < 128) {\n      mixCol[i] = i << 1;\n    } else {\n      mixCol[i] = i << 1 ^ 0x1b;\n    }\n  }\n  var mix = new Uint32Array([0x00000000, 0x0e090d0b, 0x1c121a16, 0x121b171d, 0x3824342c, 0x362d3927, 0x24362e3a, 0x2a3f2331, 0x70486858, 0x7e416553, 0x6c5a724e, 0x62537f45, 0x486c5c74, 0x4665517f, 0x547e4662, 0x5a774b69, 0xe090d0b0, 0xee99ddbb, 0xfc82caa6, 0xf28bc7ad, 0xd8b4e49c, 0xd6bde997, 0xc4a6fe8a, 0xcaaff381, 0x90d8b8e8, 0x9ed1b5e3, 0x8ccaa2fe, 0x82c3aff5, 0xa8fc8cc4, 0xa6f581cf, 0xb4ee96d2, 0xbae79bd9, 0xdb3bbb7b, 0xd532b670, 0xc729a16d, 0xc920ac66, 0xe31f8f57, 0xed16825c, 0xff0d9541, 0xf104984a, 0xab73d323, 0xa57ade28, 0xb761c935, 0xb968c43e, 0x9357e70f, 0x9d5eea04, 0x8f45fd19, 0x814cf012, 0x3bab6bcb, 0x35a266c0, 0x27b971dd, 0x29b07cd6, 0x038f5fe7, 0x0d8652ec, 0x1f9d45f1, 0x119448fa, 0x4be30393, 0x45ea0e98, 0x57f11985, 0x59f8148e, 0x73c737bf, 0x7dce3ab4, 0x6fd52da9, 0x61dc20a2, 0xad766df6, 0xa37f60fd, 0xb16477e0, 0xbf6d7aeb, 0x955259da, 0x9b5b54d1, 0x894043cc, 0x87494ec7, 0xdd3e05ae, 0xd33708a5, 0xc12c1fb8, 0xcf2512b3, 0xe51a3182, 0xeb133c89, 0xf9082b94, 0xf701269f, 0x4de6bd46, 0x43efb04d, 0x51f4a750, 0x5ffdaa5b, 0x75c2896a, 0x7bcb8461, 0x69d0937c, 0x67d99e77, 0x3daed51e, 0x33a7d815, 0x21bccf08, 0x2fb5c203, 0x058ae132, 0x0b83ec39, 0x1998fb24, 0x1791f62f, 0x764dd68d, 0x7844db86, 0x6a5fcc9b, 0x6456c190, 0x4e69e2a1, 0x4060efaa, 0x527bf8b7, 0x5c72f5bc, 0x0605bed5, 0x080cb3de, 0x1a17a4c3, 0x141ea9c8, 0x3e218af9, 0x302887f2, 0x223390ef, 0x2c3a9de4, 0x96dd063d, 0x98d40b36, 0x8acf1c2b, 0x84c61120, 0xaef93211, 0xa0f03f1a, 0xb2eb2807, 0xbce2250c, 0xe6956e65, 0xe89c636e, 0xfa877473, 0xf48e7978, 0xdeb15a49, 0xd0b85742, 0xc2a3405f, 0xccaa4d54, 0x41ecdaf7, 0x4fe5d7fc, 0x5dfec0e1, 0x53f7cdea, 0x79c8eedb, 0x77c1e3d0, 0x65daf4cd, 0x6bd3f9c6, 0x31a4b2af, 0x3fadbfa4, 0x2db6a8b9, 0x23bfa5b2, 0x09808683, 0x07898b88, 0x15929c95, 0x1b9b919e, 0xa17c0a47, 0xaf75074c, 0xbd6e1051, 0xb3671d5a, 0x99583e6b, 0x97513360, 0x854a247d, 0x8b432976, 0xd134621f, 0xdf3d6f14, 0xcd267809, 0xc32f7502, 0xe9105633, 0xe7195b38, 0xf5024c25, 0xfb0b412e, 0x9ad7618c, 0x94de6c87, 0x86c57b9a, 0x88cc7691, 0xa2f355a0, 0xacfa58ab, 0xbee14fb6, 0xb0e842bd, 0xea9f09d4, 0xe49604df, 0xf68d13c2, 0xf8841ec9, 0xd2bb3df8, 0xdcb230f3, 0xcea927ee, 0xc0a02ae5, 0x7a47b13c, 0x744ebc37, 0x6655ab2a, 0x685ca621, 0x42638510, 0x4c6a881b, 0x5e719f06, 0x5078920d, 0x0a0fd964, 0x0406d46f, 0x161dc372, 0x1814ce79, 0x322bed48, 0x3c22e043, 0x2e39f75e, 0x2030fa55, 0xec9ab701, 0xe293ba0a, 0xf088ad17, 0xfe81a01c, 0xd4be832d, 0xdab78e26, 0xc8ac993b, 0xc6a59430, 0x9cd2df59, 0x92dbd252, 0x80c0c54f, 0x8ec9c844, 0xa4f6eb75, 0xaaffe67e, 0xb8e4f163, 0xb6edfc68, 0x0c0a67b1, 0x02036aba, 0x10187da7, 0x1e1170ac, 0x342e539d, 0x3a275e96, 0x283c498b, 0x26354480, 0x7c420fe9, 0x724b02e2, 0x605015ff, 0x6e5918f4, 0x44663bc5, 0x4a6f36ce, 0x587421d3, 0x567d2cd8, 0x37a10c7a, 0x39a80171, 0x2bb3166c, 0x25ba1b67, 0x0f853856, 0x018c355d, 0x13972240, 0x1d9e2f4b, 0x47e96422, 0x49e06929, 0x5bfb7e34, 0x55f2733f, 0x7fcd500e, 0x71c45d05, 0x63df4a18, 0x6dd64713, 0xd731dcca, 0xd938d1c1, 0xcb23c6dc, 0xc52acbd7, 0xef15e8e6, 0xe11ce5ed, 0xf307f2f0, 0xfd0efffb, 0xa779b492, 0xa970b999, 0xbb6bae84, 0xb562a38f, 0x9f5d80be, 0x91548db5, 0x834f9aa8, 0x8d4697a3]);\n  function expandKey128(cipherKey) {\n    var b = 176,\n        result = new Uint8Array(b);\n    result.set(cipherKey);\n    for (var j = 16, i = 1; j < b; ++i) {\n      var t1 = result[j - 3],\n          t2 = result[j - 2],\n          t3 = result[j - 1],\n          t4 = result[j - 4];\n      t1 = s[t1];\n      t2 = s[t2];\n      t3 = s[t3];\n      t4 = s[t4];\n      t1 = t1 ^ rcon[i];\n      for (var n = 0; n < 4; ++n) {\n        result[j] = t1 ^= result[j - 16];\n        j++;\n        result[j] = t2 ^= result[j - 16];\n        j++;\n        result[j] = t3 ^= result[j - 16];\n        j++;\n        result[j] = t4 ^= result[j - 16];\n        j++;\n      }\n    }\n    return result;\n  }\n  function decrypt128(input, key) {\n    var state = new Uint8Array(16);\n    state.set(input);\n    var i, j, k;\n    var t, u, v;\n    for (j = 0, k = 160; j < 16; ++j, ++k) {\n      state[j] ^= key[k];\n    }\n    for (i = 9; i >= 1; --i) {\n      t = state[13];\n      state[13] = state[9];\n      state[9] = state[5];\n      state[5] = state[1];\n      state[1] = t;\n      t = state[14];\n      u = state[10];\n      state[14] = state[6];\n      state[10] = state[2];\n      state[6] = t;\n      state[2] = u;\n      t = state[15];\n      u = state[11];\n      v = state[7];\n      state[15] = state[3];\n      state[11] = t;\n      state[7] = u;\n      state[3] = v;\n      for (j = 0; j < 16; ++j) {\n        state[j] = inv_s[state[j]];\n      }\n      for (j = 0, k = i * 16; j < 16; ++j, ++k) {\n        state[j] ^= key[k];\n      }\n      for (j = 0; j < 16; j += 4) {\n        var s0 = mix[state[j]],\n            s1 = mix[state[j + 1]],\n            s2 = mix[state[j + 2]],\n            s3 = mix[state[j + 3]];\n        t = s0 ^ s1 >>> 8 ^ s1 << 24 ^ s2 >>> 16 ^ s2 << 16 ^ s3 >>> 24 ^ s3 << 8;\n        state[j] = t >>> 24 & 0xFF;\n        state[j + 1] = t >> 16 & 0xFF;\n        state[j + 2] = t >> 8 & 0xFF;\n        state[j + 3] = t & 0xFF;\n      }\n    }\n    t = state[13];\n    state[13] = state[9];\n    state[9] = state[5];\n    state[5] = state[1];\n    state[1] = t;\n    t = state[14];\n    u = state[10];\n    state[14] = state[6];\n    state[10] = state[2];\n    state[6] = t;\n    state[2] = u;\n    t = state[15];\n    u = state[11];\n    v = state[7];\n    state[15] = state[3];\n    state[11] = t;\n    state[7] = u;\n    state[3] = v;\n    for (j = 0; j < 16; ++j) {\n      state[j] = inv_s[state[j]];\n      state[j] ^= key[j];\n    }\n    return state;\n  }\n  function encrypt128(input, key) {\n    var t, u, v, k;\n    var state = new Uint8Array(16);\n    state.set(input);\n    for (j = 0; j < 16; ++j) {\n      state[j] ^= key[j];\n    }\n    for (i = 1; i < 10; i++) {\n      for (j = 0; j < 16; ++j) {\n        state[j] = s[state[j]];\n      }\n      v = state[1];\n      state[1] = state[5];\n      state[5] = state[9];\n      state[9] = state[13];\n      state[13] = v;\n      v = state[2];\n      u = state[6];\n      state[2] = state[10];\n      state[6] = state[14];\n      state[10] = v;\n      state[14] = u;\n      v = state[3];\n      u = state[7];\n      t = state[11];\n      state[3] = state[15];\n      state[7] = v;\n      state[11] = u;\n      state[15] = t;\n      for (var j = 0; j < 16; j += 4) {\n        var s0 = state[j + 0],\n            s1 = state[j + 1];\n        var s2 = state[j + 2],\n            s3 = state[j + 3];\n        t = s0 ^ s1 ^ s2 ^ s3;\n        state[j + 0] ^= t ^ mixCol[s0 ^ s1];\n        state[j + 1] ^= t ^ mixCol[s1 ^ s2];\n        state[j + 2] ^= t ^ mixCol[s2 ^ s3];\n        state[j + 3] ^= t ^ mixCol[s3 ^ s0];\n      }\n      for (j = 0, k = i * 16; j < 16; ++j, ++k) {\n        state[j] ^= key[k];\n      }\n    }\n    for (j = 0; j < 16; ++j) {\n      state[j] = s[state[j]];\n    }\n    v = state[1];\n    state[1] = state[5];\n    state[5] = state[9];\n    state[9] = state[13];\n    state[13] = v;\n    v = state[2];\n    u = state[6];\n    state[2] = state[10];\n    state[6] = state[14];\n    state[10] = v;\n    state[14] = u;\n    v = state[3];\n    u = state[7];\n    t = state[11];\n    state[3] = state[15];\n    state[7] = v;\n    state[11] = u;\n    state[15] = t;\n    for (j = 0, k = 160; j < 16; ++j, ++k) {\n      state[j] ^= key[k];\n    }\n    return state;\n  }\n  function AES128Cipher(key) {\n    this.key = expandKey128(key);\n    this.buffer = new Uint8Array(16);\n    this.bufferPosition = 0;\n  }\n  function decryptBlock2(data, finalize) {\n    var i,\n        j,\n        ii,\n        sourceLength = data.length,\n        buffer = this.buffer,\n        bufferLength = this.bufferPosition,\n        result = [],\n        iv = this.iv;\n    for (i = 0; i < sourceLength; ++i) {\n      buffer[bufferLength] = data[i];\n      ++bufferLength;\n      if (bufferLength < 16) {\n        continue;\n      }\n      var plain = decrypt128(buffer, this.key);\n      for (j = 0; j < 16; ++j) {\n        plain[j] ^= iv[j];\n      }\n      iv = buffer;\n      result.push(plain);\n      buffer = new Uint8Array(16);\n      bufferLength = 0;\n    }\n    this.buffer = buffer;\n    this.bufferLength = bufferLength;\n    this.iv = iv;\n    if (result.length === 0) {\n      return new Uint8Array([]);\n    }\n    var outputLength = 16 * result.length;\n    if (finalize) {\n      var lastBlock = result[result.length - 1];\n      var psLen = lastBlock[15];\n      if (psLen <= 16) {\n        for (i = 15, ii = 16 - psLen; i >= ii; --i) {\n          if (lastBlock[i] !== psLen) {\n            psLen = 0;\n            break;\n          }\n        }\n        outputLength -= psLen;\n        result[result.length - 1] = lastBlock.subarray(0, 16 - psLen);\n      }\n    }\n    var output = new Uint8Array(outputLength);\n    for (i = 0, j = 0, ii = result.length; i < ii; ++i, j += 16) {\n      output.set(result[i], j);\n    }\n    return output;\n  }\n  AES128Cipher.prototype = {\n    decryptBlock: function AES128Cipher_decryptBlock(data, finalize) {\n      var i,\n          sourceLength = data.length;\n      var buffer = this.buffer,\n          bufferLength = this.bufferPosition;\n      for (i = 0; bufferLength < 16 && i < sourceLength; ++i, ++bufferLength) {\n        buffer[bufferLength] = data[i];\n      }\n      if (bufferLength < 16) {\n        this.bufferLength = bufferLength;\n        return new Uint8Array([]);\n      }\n      this.iv = buffer;\n      this.buffer = new Uint8Array(16);\n      this.bufferLength = 0;\n      this.decryptBlock = decryptBlock2;\n      return this.decryptBlock(data.subarray(16), finalize);\n    },\n    encrypt: function AES128Cipher_encrypt(data, iv) {\n      var i,\n          j,\n          ii,\n          sourceLength = data.length,\n          buffer = this.buffer,\n          bufferLength = this.bufferPosition,\n          result = [];\n      if (!iv) {\n        iv = new Uint8Array(16);\n      }\n      for (i = 0; i < sourceLength; ++i) {\n        buffer[bufferLength] = data[i];\n        ++bufferLength;\n        if (bufferLength < 16) {\n          continue;\n        }\n        for (j = 0; j < 16; ++j) {\n          buffer[j] ^= iv[j];\n        }\n        var cipher = encrypt128(buffer, this.key);\n        iv = cipher;\n        result.push(cipher);\n        buffer = new Uint8Array(16);\n        bufferLength = 0;\n      }\n      this.buffer = buffer;\n      this.bufferLength = bufferLength;\n      this.iv = iv;\n      if (result.length === 0) {\n        return new Uint8Array([]);\n      }\n      var outputLength = 16 * result.length;\n      var output = new Uint8Array(outputLength);\n      for (i = 0, j = 0, ii = result.length; i < ii; ++i, j += 16) {\n        output.set(result[i], j);\n      }\n      return output;\n    }\n  };\n  return AES128Cipher;\n}();\nvar AES256Cipher = function AES256CipherClosure() {\n  var s = new Uint8Array([0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75, 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84, 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf, 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8, 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73, 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb, 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08, 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a, 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e, 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf, 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16]);\n  var inv_s = new Uint8Array([0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb, 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87, 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb, 0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d, 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e, 0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2, 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25, 0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16, 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92, 0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda, 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84, 0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a, 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06, 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02, 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b, 0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea, 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73, 0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85, 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e, 0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89, 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b, 0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20, 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4, 0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31, 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f, 0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d, 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef, 0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0, 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61, 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26, 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d]);\n  var mixCol = new Uint8Array(256);\n  for (var i = 0; i < 256; i++) {\n    if (i < 128) {\n      mixCol[i] = i << 1;\n    } else {\n      mixCol[i] = i << 1 ^ 0x1b;\n    }\n  }\n  var mix = new Uint32Array([0x00000000, 0x0e090d0b, 0x1c121a16, 0x121b171d, 0x3824342c, 0x362d3927, 0x24362e3a, 0x2a3f2331, 0x70486858, 0x7e416553, 0x6c5a724e, 0x62537f45, 0x486c5c74, 0x4665517f, 0x547e4662, 0x5a774b69, 0xe090d0b0, 0xee99ddbb, 0xfc82caa6, 0xf28bc7ad, 0xd8b4e49c, 0xd6bde997, 0xc4a6fe8a, 0xcaaff381, 0x90d8b8e8, 0x9ed1b5e3, 0x8ccaa2fe, 0x82c3aff5, 0xa8fc8cc4, 0xa6f581cf, 0xb4ee96d2, 0xbae79bd9, 0xdb3bbb7b, 0xd532b670, 0xc729a16d, 0xc920ac66, 0xe31f8f57, 0xed16825c, 0xff0d9541, 0xf104984a, 0xab73d323, 0xa57ade28, 0xb761c935, 0xb968c43e, 0x9357e70f, 0x9d5eea04, 0x8f45fd19, 0x814cf012, 0x3bab6bcb, 0x35a266c0, 0x27b971dd, 0x29b07cd6, 0x038f5fe7, 0x0d8652ec, 0x1f9d45f1, 0x119448fa, 0x4be30393, 0x45ea0e98, 0x57f11985, 0x59f8148e, 0x73c737bf, 0x7dce3ab4, 0x6fd52da9, 0x61dc20a2, 0xad766df6, 0xa37f60fd, 0xb16477e0, 0xbf6d7aeb, 0x955259da, 0x9b5b54d1, 0x894043cc, 0x87494ec7, 0xdd3e05ae, 0xd33708a5, 0xc12c1fb8, 0xcf2512b3, 0xe51a3182, 0xeb133c89, 0xf9082b94, 0xf701269f, 0x4de6bd46, 0x43efb04d, 0x51f4a750, 0x5ffdaa5b, 0x75c2896a, 0x7bcb8461, 0x69d0937c, 0x67d99e77, 0x3daed51e, 0x33a7d815, 0x21bccf08, 0x2fb5c203, 0x058ae132, 0x0b83ec39, 0x1998fb24, 0x1791f62f, 0x764dd68d, 0x7844db86, 0x6a5fcc9b, 0x6456c190, 0x4e69e2a1, 0x4060efaa, 0x527bf8b7, 0x5c72f5bc, 0x0605bed5, 0x080cb3de, 0x1a17a4c3, 0x141ea9c8, 0x3e218af9, 0x302887f2, 0x223390ef, 0x2c3a9de4, 0x96dd063d, 0x98d40b36, 0x8acf1c2b, 0x84c61120, 0xaef93211, 0xa0f03f1a, 0xb2eb2807, 0xbce2250c, 0xe6956e65, 0xe89c636e, 0xfa877473, 0xf48e7978, 0xdeb15a49, 0xd0b85742, 0xc2a3405f, 0xccaa4d54, 0x41ecdaf7, 0x4fe5d7fc, 0x5dfec0e1, 0x53f7cdea, 0x79c8eedb, 0x77c1e3d0, 0x65daf4cd, 0x6bd3f9c6, 0x31a4b2af, 0x3fadbfa4, 0x2db6a8b9, 0x23bfa5b2, 0x09808683, 0x07898b88, 0x15929c95, 0x1b9b919e, 0xa17c0a47, 0xaf75074c, 0xbd6e1051, 0xb3671d5a, 0x99583e6b, 0x97513360, 0x854a247d, 0x8b432976, 0xd134621f, 0xdf3d6f14, 0xcd267809, 0xc32f7502, 0xe9105633, 0xe7195b38, 0xf5024c25, 0xfb0b412e, 0x9ad7618c, 0x94de6c87, 0x86c57b9a, 0x88cc7691, 0xa2f355a0, 0xacfa58ab, 0xbee14fb6, 0xb0e842bd, 0xea9f09d4, 0xe49604df, 0xf68d13c2, 0xf8841ec9, 0xd2bb3df8, 0xdcb230f3, 0xcea927ee, 0xc0a02ae5, 0x7a47b13c, 0x744ebc37, 0x6655ab2a, 0x685ca621, 0x42638510, 0x4c6a881b, 0x5e719f06, 0x5078920d, 0x0a0fd964, 0x0406d46f, 0x161dc372, 0x1814ce79, 0x322bed48, 0x3c22e043, 0x2e39f75e, 0x2030fa55, 0xec9ab701, 0xe293ba0a, 0xf088ad17, 0xfe81a01c, 0xd4be832d, 0xdab78e26, 0xc8ac993b, 0xc6a59430, 0x9cd2df59, 0x92dbd252, 0x80c0c54f, 0x8ec9c844, 0xa4f6eb75, 0xaaffe67e, 0xb8e4f163, 0xb6edfc68, 0x0c0a67b1, 0x02036aba, 0x10187da7, 0x1e1170ac, 0x342e539d, 0x3a275e96, 0x283c498b, 0x26354480, 0x7c420fe9, 0x724b02e2, 0x605015ff, 0x6e5918f4, 0x44663bc5, 0x4a6f36ce, 0x587421d3, 0x567d2cd8, 0x37a10c7a, 0x39a80171, 0x2bb3166c, 0x25ba1b67, 0x0f853856, 0x018c355d, 0x13972240, 0x1d9e2f4b, 0x47e96422, 0x49e06929, 0x5bfb7e34, 0x55f2733f, 0x7fcd500e, 0x71c45d05, 0x63df4a18, 0x6dd64713, 0xd731dcca, 0xd938d1c1, 0xcb23c6dc, 0xc52acbd7, 0xef15e8e6, 0xe11ce5ed, 0xf307f2f0, 0xfd0efffb, 0xa779b492, 0xa970b999, 0xbb6bae84, 0xb562a38f, 0x9f5d80be, 0x91548db5, 0x834f9aa8, 0x8d4697a3]);\n  function expandKey256(cipherKey) {\n    var b = 240,\n        result = new Uint8Array(b);\n    var r = 1;\n    result.set(cipherKey);\n    for (var j = 32, i = 1; j < b; ++i) {\n      if (j % 32 === 16) {\n        t1 = s[t1];\n        t2 = s[t2];\n        t3 = s[t3];\n        t4 = s[t4];\n      } else if (j % 32 === 0) {\n        var t1 = result[j - 3],\n            t2 = result[j - 2],\n            t3 = result[j - 1],\n            t4 = result[j - 4];\n        t1 = s[t1];\n        t2 = s[t2];\n        t3 = s[t3];\n        t4 = s[t4];\n        t1 = t1 ^ r;\n        if ((r <<= 1) >= 256) {\n          r = (r ^ 0x1b) & 0xFF;\n        }\n      }\n      for (var n = 0; n < 4; ++n) {\n        result[j] = t1 ^= result[j - 32];\n        j++;\n        result[j] = t2 ^= result[j - 32];\n        j++;\n        result[j] = t3 ^= result[j - 32];\n        j++;\n        result[j] = t4 ^= result[j - 32];\n        j++;\n      }\n    }\n    return result;\n  }\n  function decrypt256(input, key) {\n    var state = new Uint8Array(16);\n    state.set(input);\n    var i, j, k;\n    var t, u, v;\n    for (j = 0, k = 224; j < 16; ++j, ++k) {\n      state[j] ^= key[k];\n    }\n    for (i = 13; i >= 1; --i) {\n      t = state[13];\n      state[13] = state[9];\n      state[9] = state[5];\n      state[5] = state[1];\n      state[1] = t;\n      t = state[14];\n      u = state[10];\n      state[14] = state[6];\n      state[10] = state[2];\n      state[6] = t;\n      state[2] = u;\n      t = state[15];\n      u = state[11];\n      v = state[7];\n      state[15] = state[3];\n      state[11] = t;\n      state[7] = u;\n      state[3] = v;\n      for (j = 0; j < 16; ++j) {\n        state[j] = inv_s[state[j]];\n      }\n      for (j = 0, k = i * 16; j < 16; ++j, ++k) {\n        state[j] ^= key[k];\n      }\n      for (j = 0; j < 16; j += 4) {\n        var s0 = mix[state[j]],\n            s1 = mix[state[j + 1]],\n            s2 = mix[state[j + 2]],\n            s3 = mix[state[j + 3]];\n        t = s0 ^ s1 >>> 8 ^ s1 << 24 ^ s2 >>> 16 ^ s2 << 16 ^ s3 >>> 24 ^ s3 << 8;\n        state[j] = t >>> 24 & 0xFF;\n        state[j + 1] = t >> 16 & 0xFF;\n        state[j + 2] = t >> 8 & 0xFF;\n        state[j + 3] = t & 0xFF;\n      }\n    }\n    t = state[13];\n    state[13] = state[9];\n    state[9] = state[5];\n    state[5] = state[1];\n    state[1] = t;\n    t = state[14];\n    u = state[10];\n    state[14] = state[6];\n    state[10] = state[2];\n    state[6] = t;\n    state[2] = u;\n    t = state[15];\n    u = state[11];\n    v = state[7];\n    state[15] = state[3];\n    state[11] = t;\n    state[7] = u;\n    state[3] = v;\n    for (j = 0; j < 16; ++j) {\n      state[j] = inv_s[state[j]];\n      state[j] ^= key[j];\n    }\n    return state;\n  }\n  function encrypt256(input, key) {\n    var t, u, v, k;\n    var state = new Uint8Array(16);\n    state.set(input);\n    for (j = 0; j < 16; ++j) {\n      state[j] ^= key[j];\n    }\n    for (i = 1; i < 14; i++) {\n      for (j = 0; j < 16; ++j) {\n        state[j] = s[state[j]];\n      }\n      v = state[1];\n      state[1] = state[5];\n      state[5] = state[9];\n      state[9] = state[13];\n      state[13] = v;\n      v = state[2];\n      u = state[6];\n      state[2] = state[10];\n      state[6] = state[14];\n      state[10] = v;\n      state[14] = u;\n      v = state[3];\n      u = state[7];\n      t = state[11];\n      state[3] = state[15];\n      state[7] = v;\n      state[11] = u;\n      state[15] = t;\n      for (var j = 0; j < 16; j += 4) {\n        var s0 = state[j + 0],\n            s1 = state[j + 1];\n        var s2 = state[j + 2],\n            s3 = state[j + 3];\n        t = s0 ^ s1 ^ s2 ^ s3;\n        state[j + 0] ^= t ^ mixCol[s0 ^ s1];\n        state[j + 1] ^= t ^ mixCol[s1 ^ s2];\n        state[j + 2] ^= t ^ mixCol[s2 ^ s3];\n        state[j + 3] ^= t ^ mixCol[s3 ^ s0];\n      }\n      for (j = 0, k = i * 16; j < 16; ++j, ++k) {\n        state[j] ^= key[k];\n      }\n    }\n    for (j = 0; j < 16; ++j) {\n      state[j] = s[state[j]];\n    }\n    v = state[1];\n    state[1] = state[5];\n    state[5] = state[9];\n    state[9] = state[13];\n    state[13] = v;\n    v = state[2];\n    u = state[6];\n    state[2] = state[10];\n    state[6] = state[14];\n    state[10] = v;\n    state[14] = u;\n    v = state[3];\n    u = state[7];\n    t = state[11];\n    state[3] = state[15];\n    state[7] = v;\n    state[11] = u;\n    state[15] = t;\n    for (j = 0, k = 224; j < 16; ++j, ++k) {\n      state[j] ^= key[k];\n    }\n    return state;\n  }\n  function AES256Cipher(key) {\n    this.key = expandKey256(key);\n    this.buffer = new Uint8Array(16);\n    this.bufferPosition = 0;\n  }\n  function decryptBlock2(data, finalize) {\n    var i,\n        j,\n        ii,\n        sourceLength = data.length,\n        buffer = this.buffer,\n        bufferLength = this.bufferPosition,\n        result = [],\n        iv = this.iv;\n    for (i = 0; i < sourceLength; ++i) {\n      buffer[bufferLength] = data[i];\n      ++bufferLength;\n      if (bufferLength < 16) {\n        continue;\n      }\n      var plain = decrypt256(buffer, this.key);\n      for (j = 0; j < 16; ++j) {\n        plain[j] ^= iv[j];\n      }\n      iv = buffer;\n      result.push(plain);\n      buffer = new Uint8Array(16);\n      bufferLength = 0;\n    }\n    this.buffer = buffer;\n    this.bufferLength = bufferLength;\n    this.iv = iv;\n    if (result.length === 0) {\n      return new Uint8Array([]);\n    }\n    var outputLength = 16 * result.length;\n    if (finalize) {\n      var lastBlock = result[result.length - 1];\n      var psLen = lastBlock[15];\n      if (psLen <= 16) {\n        for (i = 15, ii = 16 - psLen; i >= ii; --i) {\n          if (lastBlock[i] !== psLen) {\n            psLen = 0;\n            break;\n          }\n        }\n        outputLength -= psLen;\n        result[result.length - 1] = lastBlock.subarray(0, 16 - psLen);\n      }\n    }\n    var output = new Uint8Array(outputLength);\n    for (i = 0, j = 0, ii = result.length; i < ii; ++i, j += 16) {\n      output.set(result[i], j);\n    }\n    return output;\n  }\n  AES256Cipher.prototype = {\n    decryptBlock: function AES256Cipher_decryptBlock(data, finalize, iv) {\n      var i,\n          sourceLength = data.length;\n      var buffer = this.buffer,\n          bufferLength = this.bufferPosition;\n      if (iv) {\n        this.iv = iv;\n      } else {\n        for (i = 0; bufferLength < 16 && i < sourceLength; ++i, ++bufferLength) {\n          buffer[bufferLength] = data[i];\n        }\n        if (bufferLength < 16) {\n          this.bufferLength = bufferLength;\n          return new Uint8Array([]);\n        }\n        this.iv = buffer;\n        data = data.subarray(16);\n      }\n      this.buffer = new Uint8Array(16);\n      this.bufferLength = 0;\n      this.decryptBlock = decryptBlock2;\n      return this.decryptBlock(data, finalize);\n    },\n    encrypt: function AES256Cipher_encrypt(data, iv) {\n      var i,\n          j,\n          ii,\n          sourceLength = data.length,\n          buffer = this.buffer,\n          bufferLength = this.bufferPosition,\n          result = [];\n      if (!iv) {\n        iv = new Uint8Array(16);\n      }\n      for (i = 0; i < sourceLength; ++i) {\n        buffer[bufferLength] = data[i];\n        ++bufferLength;\n        if (bufferLength < 16) {\n          continue;\n        }\n        for (j = 0; j < 16; ++j) {\n          buffer[j] ^= iv[j];\n        }\n        var cipher = encrypt256(buffer, this.key);\n        this.iv = cipher;\n        result.push(cipher);\n        buffer = new Uint8Array(16);\n        bufferLength = 0;\n      }\n      this.buffer = buffer;\n      this.bufferLength = bufferLength;\n      this.iv = iv;\n      if (result.length === 0) {\n        return new Uint8Array([]);\n      }\n      var outputLength = 16 * result.length;\n      var output = new Uint8Array(outputLength);\n      for (i = 0, j = 0, ii = result.length; i < ii; ++i, j += 16) {\n        output.set(result[i], j);\n      }\n      return output;\n    }\n  };\n  return AES256Cipher;\n}();\nvar PDF17 = function PDF17Closure() {\n  function compareByteArrays(array1, array2) {\n    if (array1.length !== array2.length) {\n      return false;\n    }\n    for (var i = 0; i < array1.length; i++) {\n      if (array1[i] !== array2[i]) {\n        return false;\n      }\n    }\n    return true;\n  }\n  function PDF17() {}\n  PDF17.prototype = {\n    checkOwnerPassword: function PDF17_checkOwnerPassword(password, ownerValidationSalt, userBytes, ownerPassword) {\n      var hashData = new Uint8Array(password.length + 56);\n      hashData.set(password, 0);\n      hashData.set(ownerValidationSalt, password.length);\n      hashData.set(userBytes, password.length + ownerValidationSalt.length);\n      var result = calculateSHA256(hashData, 0, hashData.length);\n      return compareByteArrays(result, ownerPassword);\n    },\n    checkUserPassword: function PDF17_checkUserPassword(password, userValidationSalt, userPassword) {\n      var hashData = new Uint8Array(password.length + 8);\n      hashData.set(password, 0);\n      hashData.set(userValidationSalt, password.length);\n      var result = calculateSHA256(hashData, 0, hashData.length);\n      return compareByteArrays(result, userPassword);\n    },\n    getOwnerKey: function PDF17_getOwnerKey(password, ownerKeySalt, userBytes, ownerEncryption) {\n      var hashData = new Uint8Array(password.length + 56);\n      hashData.set(password, 0);\n      hashData.set(ownerKeySalt, password.length);\n      hashData.set(userBytes, password.length + ownerKeySalt.length);\n      var key = calculateSHA256(hashData, 0, hashData.length);\n      var cipher = new AES256Cipher(key);\n      return cipher.decryptBlock(ownerEncryption, false, new Uint8Array(16));\n    },\n    getUserKey: function PDF17_getUserKey(password, userKeySalt, userEncryption) {\n      var hashData = new Uint8Array(password.length + 8);\n      hashData.set(password, 0);\n      hashData.set(userKeySalt, password.length);\n      var key = calculateSHA256(hashData, 0, hashData.length);\n      var cipher = new AES256Cipher(key);\n      return cipher.decryptBlock(userEncryption, false, new Uint8Array(16));\n    }\n  };\n  return PDF17;\n}();\nvar PDF20 = function PDF20Closure() {\n  function concatArrays(array1, array2) {\n    var t = new Uint8Array(array1.length + array2.length);\n    t.set(array1, 0);\n    t.set(array2, array1.length);\n    return t;\n  }\n  function calculatePDF20Hash(password, input, userBytes) {\n    var k = calculateSHA256(input, 0, input.length).subarray(0, 32);\n    var e = [0];\n    var i = 0;\n    while (i < 64 || e[e.length - 1] > i - 32) {\n      var arrayLength = password.length + k.length + userBytes.length;\n      var k1 = new Uint8Array(arrayLength * 64);\n      var array = concatArrays(password, k);\n      array = concatArrays(array, userBytes);\n      for (var j = 0, pos = 0; j < 64; j++, pos += arrayLength) {\n        k1.set(array, pos);\n      }\n      var cipher = new AES128Cipher(k.subarray(0, 16));\n      e = cipher.encrypt(k1, k.subarray(16, 32));\n      var remainder = 0;\n      for (var z = 0; z < 16; z++) {\n        remainder *= 256 % 3;\n        remainder %= 3;\n        remainder += (e[z] >>> 0) % 3;\n        remainder %= 3;\n      }\n      if (remainder === 0) {\n        k = calculateSHA256(e, 0, e.length);\n      } else if (remainder === 1) {\n        k = calculateSHA384(e, 0, e.length);\n      } else if (remainder === 2) {\n        k = calculateSHA512(e, 0, e.length);\n      }\n      i++;\n    }\n    return k.subarray(0, 32);\n  }\n  function PDF20() {}\n  function compareByteArrays(array1, array2) {\n    if (array1.length !== array2.length) {\n      return false;\n    }\n    for (var i = 0; i < array1.length; i++) {\n      if (array1[i] !== array2[i]) {\n        return false;\n      }\n    }\n    return true;\n  }\n  PDF20.prototype = {\n    hash: function PDF20_hash(password, concatBytes, userBytes) {\n      return calculatePDF20Hash(password, concatBytes, userBytes);\n    },\n    checkOwnerPassword: function PDF20_checkOwnerPassword(password, ownerValidationSalt, userBytes, ownerPassword) {\n      var hashData = new Uint8Array(password.length + 56);\n      hashData.set(password, 0);\n      hashData.set(ownerValidationSalt, password.length);\n      hashData.set(userBytes, password.length + ownerValidationSalt.length);\n      var result = calculatePDF20Hash(password, hashData, userBytes);\n      return compareByteArrays(result, ownerPassword);\n    },\n    checkUserPassword: function PDF20_checkUserPassword(password, userValidationSalt, userPassword) {\n      var hashData = new Uint8Array(password.length + 8);\n      hashData.set(password, 0);\n      hashData.set(userValidationSalt, password.length);\n      var result = calculatePDF20Hash(password, hashData, []);\n      return compareByteArrays(result, userPassword);\n    },\n    getOwnerKey: function PDF20_getOwnerKey(password, ownerKeySalt, userBytes, ownerEncryption) {\n      var hashData = new Uint8Array(password.length + 56);\n      hashData.set(password, 0);\n      hashData.set(ownerKeySalt, password.length);\n      hashData.set(userBytes, password.length + ownerKeySalt.length);\n      var key = calculatePDF20Hash(password, hashData, userBytes);\n      var cipher = new AES256Cipher(key);\n      return cipher.decryptBlock(ownerEncryption, false, new Uint8Array(16));\n    },\n    getUserKey: function PDF20_getUserKey(password, userKeySalt, userEncryption) {\n      var hashData = new Uint8Array(password.length + 8);\n      hashData.set(password, 0);\n      hashData.set(userKeySalt, password.length);\n      var key = calculatePDF20Hash(password, hashData, []);\n      var cipher = new AES256Cipher(key);\n      return cipher.decryptBlock(userEncryption, false, new Uint8Array(16));\n    }\n  };\n  return PDF20;\n}();\nvar CipherTransform = function CipherTransformClosure() {\n  function CipherTransform(stringCipherConstructor, streamCipherConstructor) {\n    this.StringCipherConstructor = stringCipherConstructor;\n    this.StreamCipherConstructor = streamCipherConstructor;\n  }\n  CipherTransform.prototype = {\n    createStream: function CipherTransform_createStream(stream, length) {\n      var cipher = new this.StreamCipherConstructor();\n      return new _stream.DecryptStream(stream, length, function cipherTransformDecryptStream(data, finalize) {\n        return cipher.decryptBlock(data, finalize);\n      });\n    },\n    decryptString: function CipherTransform_decryptString(s) {\n      var cipher = new this.StringCipherConstructor();\n      var data = (0, _util.stringToBytes)(s);\n      data = cipher.decryptBlock(data, true);\n      return (0, _util.bytesToString)(data);\n    }\n  };\n  return CipherTransform;\n}();\nvar CipherTransformFactory = function CipherTransformFactoryClosure() {\n  var defaultPasswordBytes = new Uint8Array([0x28, 0xBF, 0x4E, 0x5E, 0x4E, 0x75, 0x8A, 0x41, 0x64, 0x00, 0x4E, 0x56, 0xFF, 0xFA, 0x01, 0x08, 0x2E, 0x2E, 0x00, 0xB6, 0xD0, 0x68, 0x3E, 0x80, 0x2F, 0x0C, 0xA9, 0xFE, 0x64, 0x53, 0x69, 0x7A]);\n  function createEncryptionKey20(revision, password, ownerPassword, ownerValidationSalt, ownerKeySalt, uBytes, userPassword, userValidationSalt, userKeySalt, ownerEncryption, userEncryption, perms) {\n    if (password) {\n      var passwordLength = Math.min(127, password.length);\n      password = password.subarray(0, passwordLength);\n    } else {\n      password = [];\n    }\n    var pdfAlgorithm;\n    if (revision === 6) {\n      pdfAlgorithm = new PDF20();\n    } else {\n      pdfAlgorithm = new PDF17();\n    }\n    if (pdfAlgorithm.checkUserPassword(password, userValidationSalt, userPassword)) {\n      return pdfAlgorithm.getUserKey(password, userKeySalt, userEncryption);\n    } else if (password.length && pdfAlgorithm.checkOwnerPassword(password, ownerValidationSalt, uBytes, ownerPassword)) {\n      return pdfAlgorithm.getOwnerKey(password, ownerKeySalt, uBytes, ownerEncryption);\n    }\n    return null;\n  }\n  function prepareKeyData(fileId, password, ownerPassword, userPassword, flags, revision, keyLength, encryptMetadata) {\n    var hashDataSize = 40 + ownerPassword.length + fileId.length;\n    var hashData = new Uint8Array(hashDataSize),\n        i = 0,\n        j,\n        n;\n    if (password) {\n      n = Math.min(32, password.length);\n      for (; i < n; ++i) {\n        hashData[i] = password[i];\n      }\n    }\n    j = 0;\n    while (i < 32) {\n      hashData[i++] = defaultPasswordBytes[j++];\n    }\n    for (j = 0, n = ownerPassword.length; j < n; ++j) {\n      hashData[i++] = ownerPassword[j];\n    }\n    hashData[i++] = flags & 0xFF;\n    hashData[i++] = flags >> 8 & 0xFF;\n    hashData[i++] = flags >> 16 & 0xFF;\n    hashData[i++] = flags >>> 24 & 0xFF;\n    for (j = 0, n = fileId.length; j < n; ++j) {\n      hashData[i++] = fileId[j];\n    }\n    if (revision >= 4 && !encryptMetadata) {\n      hashData[i++] = 0xFF;\n      hashData[i++] = 0xFF;\n      hashData[i++] = 0xFF;\n      hashData[i++] = 0xFF;\n    }\n    var hash = calculateMD5(hashData, 0, i);\n    var keyLengthInBytes = keyLength >> 3;\n    if (revision >= 3) {\n      for (j = 0; j < 50; ++j) {\n        hash = calculateMD5(hash, 0, keyLengthInBytes);\n      }\n    }\n    var encryptionKey = hash.subarray(0, keyLengthInBytes);\n    var cipher, checkData;\n    if (revision >= 3) {\n      for (i = 0; i < 32; ++i) {\n        hashData[i] = defaultPasswordBytes[i];\n      }\n      for (j = 0, n = fileId.length; j < n; ++j) {\n        hashData[i++] = fileId[j];\n      }\n      cipher = new ARCFourCipher(encryptionKey);\n      checkData = cipher.encryptBlock(calculateMD5(hashData, 0, i));\n      n = encryptionKey.length;\n      var derivedKey = new Uint8Array(n),\n          k;\n      for (j = 1; j <= 19; ++j) {\n        for (k = 0; k < n; ++k) {\n          derivedKey[k] = encryptionKey[k] ^ j;\n        }\n        cipher = new ARCFourCipher(derivedKey);\n        checkData = cipher.encryptBlock(checkData);\n      }\n      for (j = 0, n = checkData.length; j < n; ++j) {\n        if (userPassword[j] !== checkData[j]) {\n          return null;\n        }\n      }\n    } else {\n      cipher = new ARCFourCipher(encryptionKey);\n      checkData = cipher.encryptBlock(defaultPasswordBytes);\n      for (j = 0, n = checkData.length; j < n; ++j) {\n        if (userPassword[j] !== checkData[j]) {\n          return null;\n        }\n      }\n    }\n    return encryptionKey;\n  }\n  function decodeUserPassword(password, ownerPassword, revision, keyLength) {\n    var hashData = new Uint8Array(32),\n        i = 0,\n        j,\n        n;\n    n = Math.min(32, password.length);\n    for (; i < n; ++i) {\n      hashData[i] = password[i];\n    }\n    j = 0;\n    while (i < 32) {\n      hashData[i++] = defaultPasswordBytes[j++];\n    }\n    var hash = calculateMD5(hashData, 0, i);\n    var keyLengthInBytes = keyLength >> 3;\n    if (revision >= 3) {\n      for (j = 0; j < 50; ++j) {\n        hash = calculateMD5(hash, 0, hash.length);\n      }\n    }\n    var cipher, userPassword;\n    if (revision >= 3) {\n      userPassword = ownerPassword;\n      var derivedKey = new Uint8Array(keyLengthInBytes),\n          k;\n      for (j = 19; j >= 0; j--) {\n        for (k = 0; k < keyLengthInBytes; ++k) {\n          derivedKey[k] = hash[k] ^ j;\n        }\n        cipher = new ARCFourCipher(derivedKey);\n        userPassword = cipher.encryptBlock(userPassword);\n      }\n    } else {\n      cipher = new ARCFourCipher(hash.subarray(0, keyLengthInBytes));\n      userPassword = cipher.encryptBlock(ownerPassword);\n    }\n    return userPassword;\n  }\n  var identityName = _primitives.Name.get('Identity');\n  function CipherTransformFactory(dict, fileId, password) {\n    var filter = dict.get('Filter');\n    if (!(0, _primitives.isName)(filter, 'Standard')) {\n      throw new _util.FormatError('unknown encryption method');\n    }\n    this.dict = dict;\n    var algorithm = dict.get('V');\n    if (!Number.isInteger(algorithm) || algorithm !== 1 && algorithm !== 2 && algorithm !== 4 && algorithm !== 5) {\n      throw new _util.FormatError('unsupported encryption algorithm');\n    }\n    this.algorithm = algorithm;\n    var keyLength = dict.get('Length');\n    if (!keyLength) {\n      if (algorithm <= 3) {\n        keyLength = 40;\n      } else {\n        var cfDict = dict.get('CF');\n        var streamCryptoName = dict.get('StmF');\n        if ((0, _primitives.isDict)(cfDict) && (0, _primitives.isName)(streamCryptoName)) {\n          cfDict.suppressEncryption = true;\n          var handlerDict = cfDict.get(streamCryptoName.name);\n          keyLength = handlerDict && handlerDict.get('Length') || 128;\n          if (keyLength < 40) {\n            keyLength <<= 3;\n          }\n        }\n      }\n    }\n    if (!Number.isInteger(keyLength) || keyLength < 40 || keyLength % 8 !== 0) {\n      throw new _util.FormatError('invalid key length');\n    }\n    var ownerPassword = (0, _util.stringToBytes)(dict.get('O')).subarray(0, 32);\n    var userPassword = (0, _util.stringToBytes)(dict.get('U')).subarray(0, 32);\n    var flags = dict.get('P');\n    var revision = dict.get('R');\n    var encryptMetadata = (algorithm === 4 || algorithm === 5) && dict.get('EncryptMetadata') !== false;\n    this.encryptMetadata = encryptMetadata;\n    var fileIdBytes = (0, _util.stringToBytes)(fileId);\n    var passwordBytes;\n    if (password) {\n      if (revision === 6) {\n        try {\n          password = (0, _util.utf8StringToString)(password);\n        } catch (ex) {\n          (0, _util.warn)('CipherTransformFactory: ' + 'Unable to convert UTF8 encoded password.');\n        }\n      }\n      passwordBytes = (0, _util.stringToBytes)(password);\n    }\n    var encryptionKey;\n    if (algorithm !== 5) {\n      encryptionKey = prepareKeyData(fileIdBytes, passwordBytes, ownerPassword, userPassword, flags, revision, keyLength, encryptMetadata);\n    } else {\n      var ownerValidationSalt = (0, _util.stringToBytes)(dict.get('O')).subarray(32, 40);\n      var ownerKeySalt = (0, _util.stringToBytes)(dict.get('O')).subarray(40, 48);\n      var uBytes = (0, _util.stringToBytes)(dict.get('U')).subarray(0, 48);\n      var userValidationSalt = (0, _util.stringToBytes)(dict.get('U')).subarray(32, 40);\n      var userKeySalt = (0, _util.stringToBytes)(dict.get('U')).subarray(40, 48);\n      var ownerEncryption = (0, _util.stringToBytes)(dict.get('OE'));\n      var userEncryption = (0, _util.stringToBytes)(dict.get('UE'));\n      var perms = (0, _util.stringToBytes)(dict.get('Perms'));\n      encryptionKey = createEncryptionKey20(revision, passwordBytes, ownerPassword, ownerValidationSalt, ownerKeySalt, uBytes, userPassword, userValidationSalt, userKeySalt, ownerEncryption, userEncryption, perms);\n    }\n    if (!encryptionKey && !password) {\n      throw new _util.PasswordException('No password given', _util.PasswordResponses.NEED_PASSWORD);\n    } else if (!encryptionKey && password) {\n      var decodedPassword = decodeUserPassword(passwordBytes, ownerPassword, revision, keyLength);\n      encryptionKey = prepareKeyData(fileIdBytes, decodedPassword, ownerPassword, userPassword, flags, revision, keyLength, encryptMetadata);\n    }\n    if (!encryptionKey) {\n      throw new _util.PasswordException('Incorrect Password', _util.PasswordResponses.INCORRECT_PASSWORD);\n    }\n    this.encryptionKey = encryptionKey;\n    if (algorithm >= 4) {\n      var cf = dict.get('CF');\n      if ((0, _primitives.isDict)(cf)) {\n        cf.suppressEncryption = true;\n      }\n      this.cf = cf;\n      this.stmf = dict.get('StmF') || identityName;\n      this.strf = dict.get('StrF') || identityName;\n      this.eff = dict.get('EFF') || this.stmf;\n    }\n  }\n  function buildObjectKey(num, gen, encryptionKey, isAes) {\n    var key = new Uint8Array(encryptionKey.length + 9),\n        i,\n        n;\n    for (i = 0, n = encryptionKey.length; i < n; ++i) {\n      key[i] = encryptionKey[i];\n    }\n    key[i++] = num & 0xFF;\n    key[i++] = num >> 8 & 0xFF;\n    key[i++] = num >> 16 & 0xFF;\n    key[i++] = gen & 0xFF;\n    key[i++] = gen >> 8 & 0xFF;\n    if (isAes) {\n      key[i++] = 0x73;\n      key[i++] = 0x41;\n      key[i++] = 0x6C;\n      key[i++] = 0x54;\n    }\n    var hash = calculateMD5(key, 0, i);\n    return hash.subarray(0, Math.min(encryptionKey.length + 5, 16));\n  }\n  function buildCipherConstructor(cf, name, num, gen, key) {\n    if (!(0, _primitives.isName)(name)) {\n      throw new _util.FormatError('Invalid crypt filter name.');\n    }\n    var cryptFilter = cf.get(name.name);\n    var cfm;\n    if (cryptFilter !== null && cryptFilter !== undefined) {\n      cfm = cryptFilter.get('CFM');\n    }\n    if (!cfm || cfm.name === 'None') {\n      return function cipherTransformFactoryBuildCipherConstructorNone() {\n        return new NullCipher();\n      };\n    }\n    if (cfm.name === 'V2') {\n      return function cipherTransformFactoryBuildCipherConstructorV2() {\n        return new ARCFourCipher(buildObjectKey(num, gen, key, false));\n      };\n    }\n    if (cfm.name === 'AESV2') {\n      return function cipherTransformFactoryBuildCipherConstructorAESV2() {\n        return new AES128Cipher(buildObjectKey(num, gen, key, true));\n      };\n    }\n    if (cfm.name === 'AESV3') {\n      return function cipherTransformFactoryBuildCipherConstructorAESV3() {\n        return new AES256Cipher(key);\n      };\n    }\n    throw new _util.FormatError('Unknown crypto method');\n  }\n  CipherTransformFactory.prototype = {\n    createCipherTransform: function CipherTransformFactory_createCipherTransform(num, gen) {\n      if (this.algorithm === 4 || this.algorithm === 5) {\n        return new CipherTransform(buildCipherConstructor(this.cf, this.stmf, num, gen, this.encryptionKey), buildCipherConstructor(this.cf, this.strf, num, gen, this.encryptionKey));\n      }\n      var key = buildObjectKey(num, gen, this.encryptionKey, false);\n      var cipherConstructor = function buildCipherCipherConstructor() {\n        return new ARCFourCipher(key);\n      };\n      return new CipherTransform(cipherConstructor, cipherConstructor);\n    }\n  };\n  return CipherTransformFactory;\n}();\nexports.AES128Cipher = AES128Cipher;\nexports.AES256Cipher = AES256Cipher;\nexports.ARCFourCipher = ARCFourCipher;\nexports.CipherTransformFactory = CipherTransformFactory;\nexports.PDF17 = PDF17;\nexports.PDF20 = PDF20;\nexports.calculateMD5 = calculateMD5;\nexports.calculateSHA256 = calculateSHA256;\nexports.calculateSHA384 = calculateSHA384;\nexports.calculateSHA512 = calculateSHA512;\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.PartialEvaluator = exports.OperatorList = undefined;\n\nvar _util = __w_pdfjs_require__(0);\n\nvar _cmap = __w_pdfjs_require__(148);\n\nvar _stream = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(2);\n\nvar _fonts = __w_pdfjs_require__(149);\n\nvar _encodings = __w_pdfjs_require__(30);\n\nvar _unicode = __w_pdfjs_require__(86);\n\nvar _standard_fonts = __w_pdfjs_require__(85);\n\nvar _pattern = __w_pdfjs_require__(153);\n\nvar _parser = __w_pdfjs_require__(36);\n\nvar _bidi = __w_pdfjs_require__(154);\n\nvar _colorspace = __w_pdfjs_require__(29);\n\nvar _glyphlist = __w_pdfjs_require__(49);\n\nvar _metrics = __w_pdfjs_require__(155);\n\nvar _function = __w_pdfjs_require__(87);\n\nvar _murmurhash = __w_pdfjs_require__(157);\n\nvar _image = __w_pdfjs_require__(158);\n\nvar PartialEvaluator = function PartialEvaluatorClosure() {\n  var DefaultPartialEvaluatorOptions = {\n    forceDataSchema: false,\n    maxImageSize: -1,\n    disableFontFace: false,\n    nativeImageDecoderSupport: _util.NativeImageDecoding.DECODE,\n    ignoreErrors: false,\n    isEvalSupported: true\n  };\n  function NativeImageDecoder(_ref) {\n    var xref = _ref.xref,\n        resources = _ref.resources,\n        handler = _ref.handler,\n        _ref$forceDataSchema = _ref.forceDataSchema,\n        forceDataSchema = _ref$forceDataSchema === undefined ? false : _ref$forceDataSchema,\n        pdfFunctionFactory = _ref.pdfFunctionFactory;\n\n    this.xref = xref;\n    this.resources = resources;\n    this.handler = handler;\n    this.forceDataSchema = forceDataSchema;\n    this.pdfFunctionFactory = pdfFunctionFactory;\n  }\n  NativeImageDecoder.prototype = {\n    canDecode: function canDecode(image) {\n      return image instanceof _stream.JpegStream && NativeImageDecoder.isDecodable(image, this.xref, this.resources, this.pdfFunctionFactory);\n    },\n    decode: function decode(image) {\n      var dict = image.dict;\n      var colorSpace = dict.get('ColorSpace', 'CS');\n      colorSpace = _colorspace.ColorSpace.parse(colorSpace, this.xref, this.resources, this.pdfFunctionFactory);\n      var numComps = colorSpace.numComps;\n      var decodePromise = this.handler.sendWithPromise('JpegDecode', [image.getIR(this.forceDataSchema), numComps]);\n      return decodePromise.then(function (message) {\n        var data = message.data;\n        return new _stream.Stream(data, 0, data.length, image.dict);\n      });\n    }\n  };\n  NativeImageDecoder.isSupported = function (image, xref, res, pdfFunctionFactory) {\n    var dict = image.dict;\n    if (dict.has('DecodeParms') || dict.has('DP')) {\n      return false;\n    }\n    var cs = _colorspace.ColorSpace.parse(dict.get('ColorSpace', 'CS'), xref, res, pdfFunctionFactory);\n    return (cs.name === 'DeviceGray' || cs.name === 'DeviceRGB') && cs.isDefaultDecode(dict.getArray('Decode', 'D'));\n  };\n  NativeImageDecoder.isDecodable = function (image, xref, res, pdfFunctionFactory) {\n    var dict = image.dict;\n    if (dict.has('DecodeParms') || dict.has('DP')) {\n      return false;\n    }\n    var cs = _colorspace.ColorSpace.parse(dict.get('ColorSpace', 'CS'), xref, res, pdfFunctionFactory);\n    return (cs.numComps === 1 || cs.numComps === 3) && cs.isDefaultDecode(dict.getArray('Decode', 'D'));\n  };\n  function PartialEvaluator(_ref2) {\n    var _this = this;\n\n    var pdfManager = _ref2.pdfManager,\n        xref = _ref2.xref,\n        handler = _ref2.handler,\n        pageIndex = _ref2.pageIndex,\n        idFactory = _ref2.idFactory,\n        fontCache = _ref2.fontCache,\n        builtInCMapCache = _ref2.builtInCMapCache,\n        _ref2$options = _ref2.options,\n        options = _ref2$options === undefined ? null : _ref2$options,\n        pdfFunctionFactory = _ref2.pdfFunctionFactory;\n\n    this.pdfManager = pdfManager;\n    this.xref = xref;\n    this.handler = handler;\n    this.pageIndex = pageIndex;\n    this.idFactory = idFactory;\n    this.fontCache = fontCache;\n    this.builtInCMapCache = builtInCMapCache;\n    this.options = options || DefaultPartialEvaluatorOptions;\n    this.pdfFunctionFactory = pdfFunctionFactory;\n    this.fetchBuiltInCMap = function (name) {\n      var cachedCMap = _this.builtInCMapCache[name];\n      if (cachedCMap) {\n        return Promise.resolve(cachedCMap);\n      }\n      return _this.handler.sendWithPromise('FetchBuiltInCMap', { name: name }).then(function (data) {\n        if (data.compressionType !== _util.CMapCompressionType.NONE) {\n          _this.builtInCMapCache[name] = data;\n        }\n        return data;\n      });\n    };\n  }\n  var TIME_SLOT_DURATION_MS = 20;\n  var CHECK_TIME_EVERY = 100;\n  function TimeSlotManager() {\n    this.reset();\n  }\n  TimeSlotManager.prototype = {\n    check: function TimeSlotManager_check() {\n      if (++this.checked < CHECK_TIME_EVERY) {\n        return false;\n      }\n      this.checked = 0;\n      return this.endTime <= Date.now();\n    },\n    reset: function TimeSlotManager_reset() {\n      this.endTime = Date.now() + TIME_SLOT_DURATION_MS;\n      this.checked = 0;\n    }\n  };\n  function normalizeBlendMode(value) {\n    if (!(0, _primitives.isName)(value)) {\n      return 'source-over';\n    }\n    switch (value.name) {\n      case 'Normal':\n      case 'Compatible':\n        return 'source-over';\n      case 'Multiply':\n        return 'multiply';\n      case 'Screen':\n        return 'screen';\n      case 'Overlay':\n        return 'overlay';\n      case 'Darken':\n        return 'darken';\n      case 'Lighten':\n        return 'lighten';\n      case 'ColorDodge':\n        return 'color-dodge';\n      case 'ColorBurn':\n        return 'color-burn';\n      case 'HardLight':\n        return 'hard-light';\n      case 'SoftLight':\n        return 'soft-light';\n      case 'Difference':\n        return 'difference';\n      case 'Exclusion':\n        return 'exclusion';\n      case 'Hue':\n        return 'hue';\n      case 'Saturation':\n        return 'saturation';\n      case 'Color':\n        return 'color';\n      case 'Luminosity':\n        return 'luminosity';\n    }\n    (0, _util.warn)('Unsupported blend mode: ' + value.name);\n    return 'source-over';\n  }\n  var deferred = Promise.resolve();\n  var TILING_PATTERN = 1,\n      SHADING_PATTERN = 2;\n  PartialEvaluator.prototype = {\n    clone: function clone() {\n      var newOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DefaultPartialEvaluatorOptions;\n\n      var newEvaluator = Object.create(this);\n      newEvaluator.options = newOptions;\n      return newEvaluator;\n    },\n\n    hasBlendModes: function PartialEvaluator_hasBlendModes(resources) {\n      if (!(0, _primitives.isDict)(resources)) {\n        return false;\n      }\n      var processed = Object.create(null);\n      if (resources.objId) {\n        processed[resources.objId] = true;\n      }\n      var nodes = [resources],\n          xref = this.xref;\n      while (nodes.length) {\n        var key, i, ii;\n        var node = nodes.shift();\n        var graphicStates = node.get('ExtGState');\n        if ((0, _primitives.isDict)(graphicStates)) {\n          var graphicStatesKeys = graphicStates.getKeys();\n          for (i = 0, ii = graphicStatesKeys.length; i < ii; i++) {\n            key = graphicStatesKeys[i];\n            var graphicState = graphicStates.get(key);\n            var bm = graphicState.get('BM');\n            if ((0, _primitives.isName)(bm) && bm.name !== 'Normal') {\n              return true;\n            }\n          }\n        }\n        var xObjects = node.get('XObject');\n        if (!(0, _primitives.isDict)(xObjects)) {\n          continue;\n        }\n        var xObjectsKeys = xObjects.getKeys();\n        for (i = 0, ii = xObjectsKeys.length; i < ii; i++) {\n          key = xObjectsKeys[i];\n          var xObject = xObjects.getRaw(key);\n          if ((0, _primitives.isRef)(xObject)) {\n            if (processed[xObject.toString()]) {\n              continue;\n            }\n            xObject = xref.fetch(xObject);\n          }\n          if (!(0, _primitives.isStream)(xObject)) {\n            continue;\n          }\n          if (xObject.dict.objId) {\n            if (processed[xObject.dict.objId]) {\n              continue;\n            }\n            processed[xObject.dict.objId] = true;\n          }\n          var xResources = xObject.dict.get('Resources');\n          if ((0, _primitives.isDict)(xResources) && (!xResources.objId || !processed[xResources.objId])) {\n            nodes.push(xResources);\n            if (xResources.objId) {\n              processed[xResources.objId] = true;\n            }\n          }\n        }\n      }\n      return false;\n    },\n    buildFormXObject: function PartialEvaluator_buildFormXObject(resources, xobj, smask, operatorList, task, initialState) {\n      var dict = xobj.dict;\n      var matrix = dict.getArray('Matrix');\n      var bbox = dict.getArray('BBox');\n      var group = dict.get('Group');\n      if (group) {\n        var groupOptions = {\n          matrix: matrix,\n          bbox: bbox,\n          smask: smask,\n          isolated: false,\n          knockout: false\n        };\n        var groupSubtype = group.get('S');\n        var colorSpace = null;\n        if ((0, _primitives.isName)(groupSubtype, 'Transparency')) {\n          groupOptions.isolated = group.get('I') || false;\n          groupOptions.knockout = group.get('K') || false;\n          if (group.has('CS')) {\n            colorSpace = _colorspace.ColorSpace.parse(group.get('CS'), this.xref, resources, this.pdfFunctionFactory);\n          }\n        }\n        if (smask && smask.backdrop) {\n          colorSpace = colorSpace || _colorspace.ColorSpace.singletons.rgb;\n          smask.backdrop = colorSpace.getRgb(smask.backdrop, 0);\n        }\n        operatorList.addOp(_util.OPS.beginGroup, [groupOptions]);\n      }\n      operatorList.addOp(_util.OPS.paintFormXObjectBegin, [matrix, bbox]);\n      return this.getOperatorList({\n        stream: xobj,\n        task: task,\n        resources: dict.get('Resources') || resources,\n        operatorList: operatorList,\n        initialState: initialState\n      }).then(function () {\n        operatorList.addOp(_util.OPS.paintFormXObjectEnd, []);\n        if (group) {\n          operatorList.addOp(_util.OPS.endGroup, [groupOptions]);\n        }\n      });\n    },\n    buildPaintImageXObject: function PartialEvaluator_buildPaintImageXObject(resources, image, inline, operatorList, cacheKey, imageCache) {\n      var _this2 = this;\n\n      var dict = image.dict;\n      var w = dict.get('Width', 'W');\n      var h = dict.get('Height', 'H');\n      if (!(w && (0, _util.isNum)(w)) || !(h && (0, _util.isNum)(h))) {\n        (0, _util.warn)('Image dimensions are missing, or not numbers.');\n        return;\n      }\n      var maxImageSize = this.options.maxImageSize;\n      if (maxImageSize !== -1 && w * h > maxImageSize) {\n        (0, _util.warn)('Image exceeded maximum allowed size and was removed.');\n        return;\n      }\n      var imageMask = dict.get('ImageMask', 'IM') || false;\n      var imgData, args;\n      if (imageMask) {\n        var width = dict.get('Width', 'W');\n        var height = dict.get('Height', 'H');\n        var bitStrideLength = width + 7 >> 3;\n        var imgArray = image.getBytes(bitStrideLength * height);\n        var decode = dict.getArray('Decode', 'D');\n        imgData = _image.PDFImage.createMask({\n          imgArray: imgArray,\n          width: width,\n          height: height,\n          imageIsFromDecodeStream: image instanceof _stream.DecodeStream,\n          inverseDecode: !!decode && decode[0] > 0\n        });\n        imgData.cached = true;\n        args = [imgData];\n        operatorList.addOp(_util.OPS.paintImageMaskXObject, args);\n        if (cacheKey) {\n          imageCache[cacheKey] = {\n            fn: _util.OPS.paintImageMaskXObject,\n            args: args\n          };\n        }\n        return;\n      }\n      var softMask = dict.get('SMask', 'SM') || false;\n      var mask = dict.get('Mask') || false;\n      var SMALL_IMAGE_DIMENSIONS = 200;\n      if (inline && !softMask && !mask && !(image instanceof _stream.JpegStream) && w + h < SMALL_IMAGE_DIMENSIONS) {\n        var imageObj = new _image.PDFImage({\n          xref: this.xref,\n          res: resources,\n          image: image,\n          pdfFunctionFactory: this.pdfFunctionFactory\n        });\n        imgData = imageObj.createImageData(true);\n        operatorList.addOp(_util.OPS.paintInlineImageXObject, [imgData]);\n        return;\n      }\n      var nativeImageDecoderSupport = this.options.nativeImageDecoderSupport;\n      var objId = 'img_' + this.idFactory.createObjId();\n      operatorList.addDependency(objId);\n      args = [objId, w, h];\n      if (nativeImageDecoderSupport !== _util.NativeImageDecoding.NONE && !softMask && !mask && image instanceof _stream.JpegStream && NativeImageDecoder.isSupported(image, this.xref, resources, this.pdfFunctionFactory)) {\n        operatorList.addOp(_util.OPS.paintJpegXObject, args);\n        this.handler.send('obj', [objId, this.pageIndex, 'JpegStream', image.getIR(this.options.forceDataSchema)]);\n        if (cacheKey) {\n          imageCache[cacheKey] = {\n            fn: _util.OPS.paintJpegXObject,\n            args: args\n          };\n        }\n        return;\n      }\n      var nativeImageDecoder = null;\n      if (nativeImageDecoderSupport === _util.NativeImageDecoding.DECODE && (image instanceof _stream.JpegStream || mask instanceof _stream.JpegStream || softMask instanceof _stream.JpegStream)) {\n        nativeImageDecoder = new NativeImageDecoder({\n          xref: this.xref,\n          resources: resources,\n          handler: this.handler,\n          forceDataSchema: this.options.forceDataSchema,\n          pdfFunctionFactory: this.pdfFunctionFactory\n        });\n      }\n      _image.PDFImage.buildImage({\n        handler: this.handler,\n        xref: this.xref,\n        res: resources,\n        image: image,\n        nativeDecoder: nativeImageDecoder,\n        pdfFunctionFactory: this.pdfFunctionFactory\n      }).then(function (imageObj) {\n        var imgData = imageObj.createImageData(false);\n        _this2.handler.send('obj', [objId, _this2.pageIndex, 'Image', imgData], [imgData.data.buffer]);\n      }).catch(function (reason) {\n        (0, _util.warn)('Unable to decode image: ' + reason);\n        _this2.handler.send('obj', [objId, _this2.pageIndex, 'Image', null]);\n      });\n      operatorList.addOp(_util.OPS.paintImageXObject, args);\n      if (cacheKey) {\n        imageCache[cacheKey] = {\n          fn: _util.OPS.paintImageXObject,\n          args: args\n        };\n      }\n    },\n    handleSMask: function PartialEvaluator_handleSmask(smask, resources, operatorList, task, stateManager) {\n      var smaskContent = smask.get('G');\n      var smaskOptions = {\n        subtype: smask.get('S').name,\n        backdrop: smask.get('BC')\n      };\n      var transferObj = smask.get('TR');\n      if ((0, _function.isPDFFunction)(transferObj)) {\n        var transferFn = this.pdfFunctionFactory.create(transferObj);\n        var transferMap = new Uint8Array(256);\n        var tmp = new Float32Array(1);\n        for (var i = 0; i < 256; i++) {\n          tmp[0] = i / 255;\n          transferFn(tmp, 0, tmp, 0);\n          transferMap[i] = tmp[0] * 255 | 0;\n        }\n        smaskOptions.transferMap = transferMap;\n      }\n      return this.buildFormXObject(resources, smaskContent, smaskOptions, operatorList, task, stateManager.state.clone());\n    },\n    handleTilingType: function handleTilingType(fn, args, resources, pattern, patternDict, operatorList, task) {\n      var _this3 = this;\n\n      var tilingOpList = new OperatorList();\n      var resourcesArray = [patternDict.get('Resources'), resources];\n      var patternResources = _primitives.Dict.merge(this.xref, resourcesArray);\n      return this.getOperatorList({\n        stream: pattern,\n        task: task,\n        resources: patternResources,\n        operatorList: tilingOpList\n      }).then(function () {\n        return (0, _pattern.getTilingPatternIR)({\n          fnArray: tilingOpList.fnArray,\n          argsArray: tilingOpList.argsArray\n        }, patternDict, args);\n      }).then(function (tilingPatternIR) {\n        operatorList.addDependencies(tilingOpList.dependencies);\n        operatorList.addOp(fn, tilingPatternIR);\n      }, function (reason) {\n        if (_this3.options.ignoreErrors) {\n          _this3.handler.send('UnsupportedFeature', { featureId: _util.UNSUPPORTED_FEATURES.unknown });\n          (0, _util.warn)('handleTilingType - ignoring pattern: \"' + reason + '\".');\n          return;\n        }\n        throw reason;\n      });\n    },\n\n    handleSetFont: function PartialEvaluator_handleSetFont(resources, fontArgs, fontRef, operatorList, task, state) {\n      var _this4 = this;\n\n      var fontName;\n      if (fontArgs) {\n        fontArgs = fontArgs.slice();\n        fontName = fontArgs[0].name;\n      }\n      return this.loadFont(fontName, fontRef, resources).then(function (translated) {\n        if (!translated.font.isType3Font) {\n          return translated;\n        }\n        return translated.loadType3Data(_this4, resources, operatorList, task).then(function () {\n          return translated;\n        }).catch(function (reason) {\n          _this4.handler.send('UnsupportedFeature', { featureId: _util.UNSUPPORTED_FEATURES.font });\n          return new TranslatedFont('g_font_error', new _fonts.ErrorFont('Type3 font load error: ' + reason), translated.font);\n        });\n      }).then(function (translated) {\n        state.font = translated.font;\n        translated.send(_this4.handler);\n        return translated.loadedName;\n      });\n    },\n    handleText: function PartialEvaluator_handleText(chars, state) {\n      var _this5 = this;\n\n      var font = state.font;\n      var glyphs = font.charsToGlyphs(chars);\n      var isAddToPathSet = !!(state.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);\n      if (font.data && (isAddToPathSet || this.options.disableFontFace)) {\n        var buildPath = function buildPath(fontChar) {\n          if (!font.renderer.hasBuiltPath(fontChar)) {\n            var path = font.renderer.getPathJs(fontChar);\n            _this5.handler.send('commonobj', [font.loadedName + '_path_' + fontChar, 'FontPath', path]);\n          }\n        };\n        for (var i = 0, ii = glyphs.length; i < ii; i++) {\n          var glyph = glyphs[i];\n          buildPath(glyph.fontChar);\n          var accent = glyph.accent;\n          if (accent && accent.fontChar) {\n            buildPath(accent.fontChar);\n          }\n        }\n      }\n      return glyphs;\n    },\n    setGState: function PartialEvaluator_setGState(resources, gState, operatorList, task, stateManager) {\n      var _this6 = this;\n\n      var gStateObj = [];\n      var gStateKeys = gState.getKeys();\n      var promise = Promise.resolve();\n\n      var _loop = function _loop() {\n        var key = gStateKeys[i];\n        var value = gState.get(key);\n        switch (key) {\n          case 'Type':\n            break;\n          case 'LW':\n          case 'LC':\n          case 'LJ':\n          case 'ML':\n          case 'D':\n          case 'RI':\n          case 'FL':\n          case 'CA':\n          case 'ca':\n            gStateObj.push([key, value]);\n            break;\n          case 'Font':\n            promise = promise.then(function () {\n              return _this6.handleSetFont(resources, null, value[0], operatorList, task, stateManager.state).then(function (loadedName) {\n                operatorList.addDependency(loadedName);\n                gStateObj.push([key, [loadedName, value[1]]]);\n              });\n            });\n            break;\n          case 'BM':\n            gStateObj.push([key, normalizeBlendMode(value)]);\n            break;\n          case 'SMask':\n            if ((0, _primitives.isName)(value, 'None')) {\n              gStateObj.push([key, false]);\n              break;\n            }\n            if ((0, _primitives.isDict)(value)) {\n              promise = promise.then(function () {\n                return _this6.handleSMask(value, resources, operatorList, task, stateManager);\n              });\n              gStateObj.push([key, true]);\n            } else {\n              (0, _util.warn)('Unsupported SMask type');\n            }\n            break;\n          case 'OP':\n          case 'op':\n          case 'OPM':\n          case 'BG':\n          case 'BG2':\n          case 'UCR':\n          case 'UCR2':\n          case 'TR':\n          case 'TR2':\n          case 'HT':\n          case 'SM':\n          case 'SA':\n          case 'AIS':\n          case 'TK':\n            (0, _util.info)('graphic state operator ' + key);\n            break;\n          default:\n            (0, _util.info)('Unknown graphic state operator ' + key);\n            break;\n        }\n      };\n\n      for (var i = 0, ii = gStateKeys.length; i < ii; i++) {\n        _loop();\n      }\n      return promise.then(function () {\n        if (gStateObj.length > 0) {\n          operatorList.addOp(_util.OPS.setGState, [gStateObj]);\n        }\n      });\n    },\n    loadFont: function PartialEvaluator_loadFont(fontName, font, resources) {\n      var _this7 = this;\n\n      function errorFont() {\n        return Promise.resolve(new TranslatedFont('g_font_error', new _fonts.ErrorFont('Font ' + fontName + ' is not available'), font));\n      }\n      var fontRef,\n          xref = this.xref;\n      if (font) {\n        if (!(0, _primitives.isRef)(font)) {\n          throw new Error('The \"font\" object should be a reference.');\n        }\n        fontRef = font;\n      } else {\n        var fontRes = resources.get('Font');\n        if (fontRes) {\n          fontRef = fontRes.getRaw(fontName);\n        } else {\n          (0, _util.warn)('fontRes not available');\n          return errorFont();\n        }\n      }\n      if (!fontRef) {\n        (0, _util.warn)('fontRef not available');\n        return errorFont();\n      }\n      if (this.fontCache.has(fontRef)) {\n        return this.fontCache.get(fontRef);\n      }\n      font = xref.fetchIfRef(fontRef);\n      if (!(0, _primitives.isDict)(font)) {\n        return errorFont();\n      }\n      if (font.translated) {\n        return font.translated;\n      }\n      var fontCapability = (0, _util.createPromiseCapability)();\n      var preEvaluatedFont = this.preEvaluateFont(font);\n      var descriptor = preEvaluatedFont.descriptor;\n      var fontRefIsRef = (0, _primitives.isRef)(fontRef),\n          fontID;\n      if (fontRefIsRef) {\n        fontID = fontRef.toString();\n      }\n      if ((0, _primitives.isDict)(descriptor)) {\n        if (!descriptor.fontAliases) {\n          descriptor.fontAliases = Object.create(null);\n        }\n        var fontAliases = descriptor.fontAliases;\n        var hash = preEvaluatedFont.hash;\n        if (fontAliases[hash]) {\n          var aliasFontRef = fontAliases[hash].aliasRef;\n          if (fontRefIsRef && aliasFontRef && this.fontCache.has(aliasFontRef)) {\n            this.fontCache.putAlias(fontRef, aliasFontRef);\n            return this.fontCache.get(fontRef);\n          }\n        } else {\n          fontAliases[hash] = { fontID: _fonts.Font.getFontID() };\n        }\n        if (fontRefIsRef) {\n          fontAliases[hash].aliasRef = fontRef;\n        }\n        fontID = fontAliases[hash].fontID;\n      }\n      if (fontRefIsRef) {\n        this.fontCache.put(fontRef, fontCapability.promise);\n      } else {\n        if (!fontID) {\n          fontID = this.idFactory.createObjId();\n        }\n        this.fontCache.put('id_' + fontID, fontCapability.promise);\n      }\n      (0, _util.assert)(fontID, 'The \"fontID\" must be defined.');\n      font.loadedName = 'g_' + this.pdfManager.docId + '_f' + fontID;\n      font.translated = fontCapability.promise;\n      var translatedPromise;\n      try {\n        translatedPromise = this.translateFont(preEvaluatedFont);\n      } catch (e) {\n        translatedPromise = Promise.reject(e);\n      }\n      translatedPromise.then(function (translatedFont) {\n        if (translatedFont.fontType !== undefined) {\n          var xrefFontStats = xref.stats.fontTypes;\n          xrefFontStats[translatedFont.fontType] = true;\n        }\n        fontCapability.resolve(new TranslatedFont(font.loadedName, translatedFont, font));\n      }).catch(function (reason) {\n        _this7.handler.send('UnsupportedFeature', { featureId: _util.UNSUPPORTED_FEATURES.font });\n        try {\n          var descriptor = preEvaluatedFont.descriptor;\n          var fontFile3 = descriptor && descriptor.get('FontFile3');\n          var subtype = fontFile3 && fontFile3.get('Subtype');\n          var fontType = (0, _fonts.getFontType)(preEvaluatedFont.type, subtype && subtype.name);\n          var xrefFontStats = xref.stats.fontTypes;\n          xrefFontStats[fontType] = true;\n        } catch (ex) {}\n        fontCapability.resolve(new TranslatedFont(font.loadedName, new _fonts.ErrorFont(reason instanceof Error ? reason.message : reason), font));\n      });\n      return fontCapability.promise;\n    },\n    buildPath: function PartialEvaluator_buildPath(operatorList, fn, args) {\n      var lastIndex = operatorList.length - 1;\n      if (!args) {\n        args = [];\n      }\n      if (lastIndex < 0 || operatorList.fnArray[lastIndex] !== _util.OPS.constructPath) {\n        operatorList.addOp(_util.OPS.constructPath, [[fn], args]);\n      } else {\n        var opArgs = operatorList.argsArray[lastIndex];\n        opArgs[0].push(fn);\n        Array.prototype.push.apply(opArgs[1], args);\n      }\n    },\n    handleColorN: function PartialEvaluator_handleColorN(operatorList, fn, args, cs, patterns, resources, task) {\n      var patternName = args[args.length - 1];\n      var pattern;\n      if ((0, _primitives.isName)(patternName) && (pattern = patterns.get(patternName.name))) {\n        var dict = (0, _primitives.isStream)(pattern) ? pattern.dict : pattern;\n        var typeNum = dict.get('PatternType');\n        if (typeNum === TILING_PATTERN) {\n          var color = cs.base ? cs.base.getRgb(args, 0) : null;\n          return this.handleTilingType(fn, color, resources, pattern, dict, operatorList, task);\n        } else if (typeNum === SHADING_PATTERN) {\n          var shading = dict.get('Shading');\n          var matrix = dict.getArray('Matrix');\n          pattern = _pattern.Pattern.parseShading(shading, matrix, this.xref, resources, this.handler, this.pdfFunctionFactory);\n          operatorList.addOp(fn, pattern.getIR());\n          return Promise.resolve();\n        }\n        return Promise.reject(new Error('Unknown PatternType: ' + typeNum));\n      }\n      operatorList.addOp(fn, args);\n      return Promise.resolve();\n    },\n    getOperatorList: function getOperatorList(_ref3) {\n      var _this8 = this;\n\n      var stream = _ref3.stream,\n          task = _ref3.task,\n          resources = _ref3.resources,\n          operatorList = _ref3.operatorList,\n          _ref3$initialState = _ref3.initialState,\n          initialState = _ref3$initialState === undefined ? null : _ref3$initialState;\n\n      resources = resources || _primitives.Dict.empty;\n      initialState = initialState || new EvalState();\n      if (!operatorList) {\n        throw new Error('getOperatorList: missing \"operatorList\" parameter');\n      }\n      var self = this;\n      var xref = this.xref;\n      var imageCache = Object.create(null);\n      var xobjs = resources.get('XObject') || _primitives.Dict.empty;\n      var patterns = resources.get('Pattern') || _primitives.Dict.empty;\n      var stateManager = new StateManager(initialState);\n      var preprocessor = new EvaluatorPreprocessor(stream, xref, stateManager);\n      var timeSlotManager = new TimeSlotManager();\n      function closePendingRestoreOPS(argument) {\n        for (var i = 0, ii = preprocessor.savedStatesDepth; i < ii; i++) {\n          operatorList.addOp(_util.OPS.restore, []);\n        }\n      }\n      return new Promise(function promiseBody(resolve, reject) {\n        var next = function next(promise) {\n          promise.then(function () {\n            try {\n              promiseBody(resolve, reject);\n            } catch (ex) {\n              reject(ex);\n            }\n          }, reject);\n        };\n        task.ensureNotTerminated();\n        timeSlotManager.reset();\n        var stop,\n            operation = {},\n            i,\n            ii,\n            cs;\n        while (!(stop = timeSlotManager.check())) {\n          operation.args = null;\n          if (!preprocessor.read(operation)) {\n            break;\n          }\n          var args = operation.args;\n          var fn = operation.fn;\n          switch (fn | 0) {\n            case _util.OPS.paintXObject:\n              var name = args[0].name;\n              if (name && imageCache[name] !== undefined) {\n                operatorList.addOp(imageCache[name].fn, imageCache[name].args);\n                args = null;\n                continue;\n              }\n              next(new Promise(function (resolveXObject, rejectXObject) {\n                if (!name) {\n                  throw new _util.FormatError('XObject must be referred to by name.');\n                }\n                var xobj = xobjs.get(name);\n                if (!xobj) {\n                  operatorList.addOp(fn, args);\n                  resolveXObject();\n                  return;\n                }\n                if (!(0, _primitives.isStream)(xobj)) {\n                  throw new _util.FormatError('XObject should be a stream');\n                }\n                var type = xobj.dict.get('Subtype');\n                if (!(0, _primitives.isName)(type)) {\n                  throw new _util.FormatError('XObject should have a Name subtype');\n                }\n                if (type.name === 'Form') {\n                  stateManager.save();\n                  self.buildFormXObject(resources, xobj, null, operatorList, task, stateManager.state.clone()).then(function () {\n                    stateManager.restore();\n                    resolveXObject();\n                  }, rejectXObject);\n                  return;\n                } else if (type.name === 'Image') {\n                  self.buildPaintImageXObject(resources, xobj, false, operatorList, name, imageCache);\n                } else if (type.name === 'PS') {\n                  (0, _util.info)('Ignored XObject subtype PS');\n                } else {\n                  throw new _util.FormatError('Unhandled XObject subtype ' + type.name);\n                }\n                resolveXObject();\n              }).catch(function (reason) {\n                if (self.options.ignoreErrors) {\n                  self.handler.send('UnsupportedFeature', { featureId: _util.UNSUPPORTED_FEATURES.unknown });\n                  (0, _util.warn)('getOperatorList - ignoring XObject: \"' + reason + '\".');\n                  return;\n                }\n                throw reason;\n              }));\n              return;\n            case _util.OPS.setFont:\n              var fontSize = args[1];\n              next(self.handleSetFont(resources, args, null, operatorList, task, stateManager.state).then(function (loadedName) {\n                operatorList.addDependency(loadedName);\n                operatorList.addOp(_util.OPS.setFont, [loadedName, fontSize]);\n              }));\n              return;\n            case _util.OPS.endInlineImage:\n              var cacheKey = args[0].cacheKey;\n              if (cacheKey) {\n                var cacheEntry = imageCache[cacheKey];\n                if (cacheEntry !== undefined) {\n                  operatorList.addOp(cacheEntry.fn, cacheEntry.args);\n                  args = null;\n                  continue;\n                }\n              }\n              self.buildPaintImageXObject(resources, args[0], true, operatorList, cacheKey, imageCache);\n              args = null;\n              continue;\n            case _util.OPS.showText:\n              args[0] = self.handleText(args[0], stateManager.state);\n              break;\n            case _util.OPS.showSpacedText:\n              var arr = args[0];\n              var combinedGlyphs = [];\n              var arrLength = arr.length;\n              var state = stateManager.state;\n              for (i = 0; i < arrLength; ++i) {\n                var arrItem = arr[i];\n                if ((0, _util.isString)(arrItem)) {\n                  Array.prototype.push.apply(combinedGlyphs, self.handleText(arrItem, state));\n                } else if ((0, _util.isNum)(arrItem)) {\n                  combinedGlyphs.push(arrItem);\n                }\n              }\n              args[0] = combinedGlyphs;\n              fn = _util.OPS.showText;\n              break;\n            case _util.OPS.nextLineShowText:\n              operatorList.addOp(_util.OPS.nextLine);\n              args[0] = self.handleText(args[0], stateManager.state);\n              fn = _util.OPS.showText;\n              break;\n            case _util.OPS.nextLineSetSpacingShowText:\n              operatorList.addOp(_util.OPS.nextLine);\n              operatorList.addOp(_util.OPS.setWordSpacing, [args.shift()]);\n              operatorList.addOp(_util.OPS.setCharSpacing, [args.shift()]);\n              args[0] = self.handleText(args[0], stateManager.state);\n              fn = _util.OPS.showText;\n              break;\n            case _util.OPS.setTextRenderingMode:\n              stateManager.state.textRenderingMode = args[0];\n              break;\n            case _util.OPS.setFillColorSpace:\n              stateManager.state.fillColorSpace = _colorspace.ColorSpace.parse(args[0], xref, resources, self.pdfFunctionFactory);\n              continue;\n            case _util.OPS.setStrokeColorSpace:\n              stateManager.state.strokeColorSpace = _colorspace.ColorSpace.parse(args[0], xref, resources, self.pdfFunctionFactory);\n              continue;\n            case _util.OPS.setFillColor:\n              cs = stateManager.state.fillColorSpace;\n              args = cs.getRgb(args, 0);\n              fn = _util.OPS.setFillRGBColor;\n              break;\n            case _util.OPS.setStrokeColor:\n              cs = stateManager.state.strokeColorSpace;\n              args = cs.getRgb(args, 0);\n              fn = _util.OPS.setStrokeRGBColor;\n              break;\n            case _util.OPS.setFillGray:\n              stateManager.state.fillColorSpace = _colorspace.ColorSpace.singletons.gray;\n              args = _colorspace.ColorSpace.singletons.gray.getRgb(args, 0);\n              fn = _util.OPS.setFillRGBColor;\n              break;\n            case _util.OPS.setStrokeGray:\n              stateManager.state.strokeColorSpace = _colorspace.ColorSpace.singletons.gray;\n              args = _colorspace.ColorSpace.singletons.gray.getRgb(args, 0);\n              fn = _util.OPS.setStrokeRGBColor;\n              break;\n            case _util.OPS.setFillCMYKColor:\n              stateManager.state.fillColorSpace = _colorspace.ColorSpace.singletons.cmyk;\n              args = _colorspace.ColorSpace.singletons.cmyk.getRgb(args, 0);\n              fn = _util.OPS.setFillRGBColor;\n              break;\n            case _util.OPS.setStrokeCMYKColor:\n              stateManager.state.strokeColorSpace = _colorspace.ColorSpace.singletons.cmyk;\n              args = _colorspace.ColorSpace.singletons.cmyk.getRgb(args, 0);\n              fn = _util.OPS.setStrokeRGBColor;\n              break;\n            case _util.OPS.setFillRGBColor:\n              stateManager.state.fillColorSpace = _colorspace.ColorSpace.singletons.rgb;\n              args = _colorspace.ColorSpace.singletons.rgb.getRgb(args, 0);\n              break;\n            case _util.OPS.setStrokeRGBColor:\n              stateManager.state.strokeColorSpace = _colorspace.ColorSpace.singletons.rgb;\n              args = _colorspace.ColorSpace.singletons.rgb.getRgb(args, 0);\n              break;\n            case _util.OPS.setFillColorN:\n              cs = stateManager.state.fillColorSpace;\n              if (cs.name === 'Pattern') {\n                next(self.handleColorN(operatorList, _util.OPS.setFillColorN, args, cs, patterns, resources, task));\n                return;\n              }\n              args = cs.getRgb(args, 0);\n              fn = _util.OPS.setFillRGBColor;\n              break;\n            case _util.OPS.setStrokeColorN:\n              cs = stateManager.state.strokeColorSpace;\n              if (cs.name === 'Pattern') {\n                next(self.handleColorN(operatorList, _util.OPS.setStrokeColorN, args, cs, patterns, resources, task));\n                return;\n              }\n              args = cs.getRgb(args, 0);\n              fn = _util.OPS.setStrokeRGBColor;\n              break;\n            case _util.OPS.shadingFill:\n              var shadingRes = resources.get('Shading');\n              if (!shadingRes) {\n                throw new _util.FormatError('No shading resource found');\n              }\n              var shading = shadingRes.get(args[0].name);\n              if (!shading) {\n                throw new _util.FormatError('No shading object found');\n              }\n              var shadingFill = _pattern.Pattern.parseShading(shading, null, xref, resources, self.handler, self.pdfFunctionFactory);\n              var patternIR = shadingFill.getIR();\n              args = [patternIR];\n              fn = _util.OPS.shadingFill;\n              break;\n            case _util.OPS.setGState:\n              var dictName = args[0];\n              var extGState = resources.get('ExtGState');\n              if (!(0, _primitives.isDict)(extGState) || !extGState.has(dictName.name)) {\n                break;\n              }\n              var gState = extGState.get(dictName.name);\n              next(self.setGState(resources, gState, operatorList, task, stateManager));\n              return;\n            case _util.OPS.moveTo:\n            case _util.OPS.lineTo:\n            case _util.OPS.curveTo:\n            case _util.OPS.curveTo2:\n            case _util.OPS.curveTo3:\n            case _util.OPS.closePath:\n              self.buildPath(operatorList, fn, args);\n              continue;\n            case _util.OPS.rectangle:\n              self.buildPath(operatorList, fn, args);\n              continue;\n            case _util.OPS.markPoint:\n            case _util.OPS.markPointProps:\n            case _util.OPS.beginMarkedContent:\n            case _util.OPS.beginMarkedContentProps:\n            case _util.OPS.endMarkedContent:\n            case _util.OPS.beginCompat:\n            case _util.OPS.endCompat:\n              continue;\n            default:\n              if (args !== null) {\n                for (i = 0, ii = args.length; i < ii; i++) {\n                  if (args[i] instanceof _primitives.Dict) {\n                    break;\n                  }\n                }\n                if (i < ii) {\n                  (0, _util.warn)('getOperatorList - ignoring operator: ' + fn);\n                  continue;\n                }\n              }\n          }\n          operatorList.addOp(fn, args);\n        }\n        if (stop) {\n          next(deferred);\n          return;\n        }\n        closePendingRestoreOPS();\n        resolve();\n      }).catch(function (reason) {\n        if (_this8.options.ignoreErrors) {\n          _this8.handler.send('UnsupportedFeature', { featureId: _util.UNSUPPORTED_FEATURES.unknown });\n          (0, _util.warn)('getOperatorList - ignoring errors during task: ' + task.name);\n          closePendingRestoreOPS();\n          return;\n        }\n        throw reason;\n      });\n    },\n    getTextContent: function getTextContent(_ref4) {\n      var _this9 = this;\n\n      var stream = _ref4.stream,\n          task = _ref4.task,\n          resources = _ref4.resources,\n          _ref4$stateManager = _ref4.stateManager,\n          stateManager = _ref4$stateManager === undefined ? null : _ref4$stateManager,\n          _ref4$normalizeWhites = _ref4.normalizeWhitespace,\n          normalizeWhitespace = _ref4$normalizeWhites === undefined ? false : _ref4$normalizeWhites,\n          _ref4$combineTextItem = _ref4.combineTextItems,\n          combineTextItems = _ref4$combineTextItem === undefined ? false : _ref4$combineTextItem,\n          sink = _ref4.sink,\n          _ref4$seenStyles = _ref4.seenStyles,\n          seenStyles = _ref4$seenStyles === undefined ? Object.create(null) : _ref4$seenStyles;\n\n      resources = resources || _primitives.Dict.empty;\n      stateManager = stateManager || new StateManager(new TextState());\n      var WhitespaceRegexp = /\\s/g;\n      var textContent = {\n        items: [],\n        styles: Object.create(null)\n      };\n      var textContentItem = {\n        initialized: false,\n        str: [],\n        width: 0,\n        height: 0,\n        vertical: false,\n        lastAdvanceWidth: 0,\n        lastAdvanceHeight: 0,\n        textAdvanceScale: 0,\n        spaceWidth: 0,\n        fakeSpaceMin: Infinity,\n        fakeMultiSpaceMin: Infinity,\n        fakeMultiSpaceMax: -0,\n        textRunBreakAllowed: false,\n        transform: null,\n        fontName: null\n      };\n      var SPACE_FACTOR = 0.3;\n      var MULTI_SPACE_FACTOR = 1.5;\n      var MULTI_SPACE_FACTOR_MAX = 4;\n      var self = this;\n      var xref = this.xref;\n      var xobjs = null;\n      var skipEmptyXObjs = Object.create(null);\n      var preprocessor = new EvaluatorPreprocessor(stream, xref, stateManager);\n      var textState;\n      function ensureTextContentItem() {\n        if (textContentItem.initialized) {\n          return textContentItem;\n        }\n        var font = textState.font;\n        if (!(font.loadedName in seenStyles)) {\n          seenStyles[font.loadedName] = true;\n          textContent.styles[font.loadedName] = {\n            fontFamily: font.fallbackName,\n            ascent: font.ascent,\n            descent: font.descent,\n            vertical: font.vertical\n          };\n        }\n        textContentItem.fontName = font.loadedName;\n        var tsm = [textState.fontSize * textState.textHScale, 0, 0, textState.fontSize, 0, textState.textRise];\n        if (font.isType3Font && textState.fontMatrix !== _util.FONT_IDENTITY_MATRIX && textState.fontSize === 1) {\n          var glyphHeight = font.bbox[3] - font.bbox[1];\n          if (glyphHeight > 0) {\n            glyphHeight = glyphHeight * textState.fontMatrix[3];\n            tsm[3] *= glyphHeight;\n          }\n        }\n        var trm = _util.Util.transform(textState.ctm, _util.Util.transform(textState.textMatrix, tsm));\n        textContentItem.transform = trm;\n        if (!font.vertical) {\n          textContentItem.width = 0;\n          textContentItem.height = Math.sqrt(trm[2] * trm[2] + trm[3] * trm[3]);\n          textContentItem.vertical = false;\n        } else {\n          textContentItem.width = Math.sqrt(trm[0] * trm[0] + trm[1] * trm[1]);\n          textContentItem.height = 0;\n          textContentItem.vertical = true;\n        }\n        var a = textState.textLineMatrix[0];\n        var b = textState.textLineMatrix[1];\n        var scaleLineX = Math.sqrt(a * a + b * b);\n        a = textState.ctm[0];\n        b = textState.ctm[1];\n        var scaleCtmX = Math.sqrt(a * a + b * b);\n        textContentItem.textAdvanceScale = scaleCtmX * scaleLineX;\n        textContentItem.lastAdvanceWidth = 0;\n        textContentItem.lastAdvanceHeight = 0;\n        var spaceWidth = font.spaceWidth / 1000 * textState.fontSize;\n        if (spaceWidth) {\n          textContentItem.spaceWidth = spaceWidth;\n          textContentItem.fakeSpaceMin = spaceWidth * SPACE_FACTOR;\n          textContentItem.fakeMultiSpaceMin = spaceWidth * MULTI_SPACE_FACTOR;\n          textContentItem.fakeMultiSpaceMax = spaceWidth * MULTI_SPACE_FACTOR_MAX;\n          textContentItem.textRunBreakAllowed = !font.isMonospace;\n        } else {\n          textContentItem.spaceWidth = 0;\n          textContentItem.fakeSpaceMin = Infinity;\n          textContentItem.fakeMultiSpaceMin = Infinity;\n          textContentItem.fakeMultiSpaceMax = 0;\n          textContentItem.textRunBreakAllowed = false;\n        }\n        textContentItem.initialized = true;\n        return textContentItem;\n      }\n      function replaceWhitespace(str) {\n        var i = 0,\n            ii = str.length,\n            code;\n        while (i < ii && (code = str.charCodeAt(i)) >= 0x20 && code <= 0x7F) {\n          i++;\n        }\n        return i < ii ? str.replace(WhitespaceRegexp, ' ') : str;\n      }\n      function runBidiTransform(textChunk) {\n        var str = textChunk.str.join('');\n        var bidiResult = (0, _bidi.bidi)(str, -1, textChunk.vertical);\n        return {\n          str: normalizeWhitespace ? replaceWhitespace(bidiResult.str) : bidiResult.str,\n          dir: bidiResult.dir,\n          width: textChunk.width,\n          height: textChunk.height,\n          transform: textChunk.transform,\n          fontName: textChunk.fontName\n        };\n      }\n      function handleSetFont(fontName, fontRef) {\n        return self.loadFont(fontName, fontRef, resources).then(function (translated) {\n          textState.font = translated.font;\n          textState.fontMatrix = translated.font.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n        });\n      }\n      function buildTextContentItem(chars) {\n        var font = textState.font;\n        var textChunk = ensureTextContentItem();\n        var width = 0;\n        var height = 0;\n        var glyphs = font.charsToGlyphs(chars);\n        for (var i = 0; i < glyphs.length; i++) {\n          var glyph = glyphs[i];\n          var glyphWidth = null;\n          if (font.vertical && glyph.vmetric) {\n            glyphWidth = glyph.vmetric[0];\n          } else {\n            glyphWidth = glyph.width;\n          }\n          var glyphUnicode = glyph.unicode;\n          var NormalizedUnicodes = (0, _unicode.getNormalizedUnicodes)();\n          if (NormalizedUnicodes[glyphUnicode] !== undefined) {\n            glyphUnicode = NormalizedUnicodes[glyphUnicode];\n          }\n          glyphUnicode = (0, _unicode.reverseIfRtl)(glyphUnicode);\n          var charSpacing = textState.charSpacing;\n          if (glyph.isSpace) {\n            var wordSpacing = textState.wordSpacing;\n            charSpacing += wordSpacing;\n            if (wordSpacing > 0) {\n              addFakeSpaces(wordSpacing, textChunk.str);\n            }\n          }\n          var tx = 0;\n          var ty = 0;\n          if (!font.vertical) {\n            var w0 = glyphWidth * textState.fontMatrix[0];\n            tx = (w0 * textState.fontSize + charSpacing) * textState.textHScale;\n            width += tx;\n          } else {\n            var w1 = glyphWidth * textState.fontMatrix[0];\n            ty = w1 * textState.fontSize + charSpacing;\n            height += ty;\n          }\n          textState.translateTextMatrix(tx, ty);\n          textChunk.str.push(glyphUnicode);\n        }\n        if (!font.vertical) {\n          textChunk.lastAdvanceWidth = width;\n          textChunk.width += width;\n        } else {\n          textChunk.lastAdvanceHeight = height;\n          textChunk.height += Math.abs(height);\n        }\n        return textChunk;\n      }\n      function addFakeSpaces(width, strBuf) {\n        if (width < textContentItem.fakeSpaceMin) {\n          return;\n        }\n        if (width < textContentItem.fakeMultiSpaceMin) {\n          strBuf.push(' ');\n          return;\n        }\n        var fakeSpaces = Math.round(width / textContentItem.spaceWidth);\n        while (fakeSpaces-- > 0) {\n          strBuf.push(' ');\n        }\n      }\n      function flushTextContentItem() {\n        if (!textContentItem.initialized) {\n          return;\n        }\n        textContentItem.width *= textContentItem.textAdvanceScale;\n        textContentItem.height *= textContentItem.textAdvanceScale;\n        textContent.items.push(runBidiTransform(textContentItem));\n        textContentItem.initialized = false;\n        textContentItem.str.length = 0;\n      }\n      function enqueueChunk() {\n        var length = textContent.items.length;\n        if (length > 0) {\n          sink.enqueue(textContent, length);\n          textContent.items = [];\n          textContent.styles = Object.create(null);\n        }\n      }\n      var timeSlotManager = new TimeSlotManager();\n      return new Promise(function promiseBody(resolve, reject) {\n        var next = function next(promise) {\n          enqueueChunk();\n          Promise.all([promise, sink.ready]).then(function () {\n            try {\n              promiseBody(resolve, reject);\n            } catch (ex) {\n              reject(ex);\n            }\n          }, reject);\n        };\n        task.ensureNotTerminated();\n        timeSlotManager.reset();\n        var stop,\n            operation = {},\n            args = [];\n        while (!(stop = timeSlotManager.check())) {\n          args.length = 0;\n          operation.args = args;\n          if (!preprocessor.read(operation)) {\n            break;\n          }\n          textState = stateManager.state;\n          var fn = operation.fn;\n          args = operation.args;\n          var advance, diff;\n          switch (fn | 0) {\n            case _util.OPS.setFont:\n              var fontNameArg = args[0].name,\n                  fontSizeArg = args[1];\n              if (textState.font && fontNameArg === textState.fontName && fontSizeArg === textState.fontSize) {\n                break;\n              }\n              flushTextContentItem();\n              textState.fontName = fontNameArg;\n              textState.fontSize = fontSizeArg;\n              next(handleSetFont(fontNameArg, null));\n              return;\n            case _util.OPS.setTextRise:\n              flushTextContentItem();\n              textState.textRise = args[0];\n              break;\n            case _util.OPS.setHScale:\n              flushTextContentItem();\n              textState.textHScale = args[0] / 100;\n              break;\n            case _util.OPS.setLeading:\n              flushTextContentItem();\n              textState.leading = args[0];\n              break;\n            case _util.OPS.moveText:\n              var isSameTextLine = !textState.font ? false : (textState.font.vertical ? args[0] : args[1]) === 0;\n              advance = args[0] - args[1];\n              if (combineTextItems && isSameTextLine && textContentItem.initialized && advance > 0 && advance <= textContentItem.fakeMultiSpaceMax) {\n                textState.translateTextLineMatrix(args[0], args[1]);\n                textContentItem.width += args[0] - textContentItem.lastAdvanceWidth;\n                textContentItem.height += args[1] - textContentItem.lastAdvanceHeight;\n                diff = args[0] - textContentItem.lastAdvanceWidth - (args[1] - textContentItem.lastAdvanceHeight);\n                addFakeSpaces(diff, textContentItem.str);\n                break;\n              }\n              flushTextContentItem();\n              textState.translateTextLineMatrix(args[0], args[1]);\n              textState.textMatrix = textState.textLineMatrix.slice();\n              break;\n            case _util.OPS.setLeadingMoveText:\n              flushTextContentItem();\n              textState.leading = -args[1];\n              textState.translateTextLineMatrix(args[0], args[1]);\n              textState.textMatrix = textState.textLineMatrix.slice();\n              break;\n            case _util.OPS.nextLine:\n              flushTextContentItem();\n              textState.carriageReturn();\n              break;\n            case _util.OPS.setTextMatrix:\n              advance = textState.calcTextLineMatrixAdvance(args[0], args[1], args[2], args[3], args[4], args[5]);\n              if (combineTextItems && advance !== null && textContentItem.initialized && advance.value > 0 && advance.value <= textContentItem.fakeMultiSpaceMax) {\n                textState.translateTextLineMatrix(advance.width, advance.height);\n                textContentItem.width += advance.width - textContentItem.lastAdvanceWidth;\n                textContentItem.height += advance.height - textContentItem.lastAdvanceHeight;\n                diff = advance.width - textContentItem.lastAdvanceWidth - (advance.height - textContentItem.lastAdvanceHeight);\n                addFakeSpaces(diff, textContentItem.str);\n                break;\n              }\n              flushTextContentItem();\n              textState.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n              textState.setTextLineMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n              break;\n            case _util.OPS.setCharSpacing:\n              textState.charSpacing = args[0];\n              break;\n            case _util.OPS.setWordSpacing:\n              textState.wordSpacing = args[0];\n              break;\n            case _util.OPS.beginText:\n              flushTextContentItem();\n              textState.textMatrix = _util.IDENTITY_MATRIX.slice();\n              textState.textLineMatrix = _util.IDENTITY_MATRIX.slice();\n              break;\n            case _util.OPS.showSpacedText:\n              var items = args[0];\n              var offset;\n              for (var j = 0, jj = items.length; j < jj; j++) {\n                if (typeof items[j] === 'string') {\n                  buildTextContentItem(items[j]);\n                } else if ((0, _util.isNum)(items[j])) {\n                  ensureTextContentItem();\n                  advance = items[j] * textState.fontSize / 1000;\n                  var breakTextRun = false;\n                  if (textState.font.vertical) {\n                    offset = advance;\n                    textState.translateTextMatrix(0, offset);\n                    breakTextRun = textContentItem.textRunBreakAllowed && advance > textContentItem.fakeMultiSpaceMax;\n                    if (!breakTextRun) {\n                      textContentItem.height += offset;\n                    }\n                  } else {\n                    advance = -advance;\n                    offset = advance * textState.textHScale;\n                    textState.translateTextMatrix(offset, 0);\n                    breakTextRun = textContentItem.textRunBreakAllowed && advance > textContentItem.fakeMultiSpaceMax;\n                    if (!breakTextRun) {\n                      textContentItem.width += offset;\n                    }\n                  }\n                  if (breakTextRun) {\n                    flushTextContentItem();\n                  } else if (advance > 0) {\n                    addFakeSpaces(advance, textContentItem.str);\n                  }\n                }\n              }\n              break;\n            case _util.OPS.showText:\n              buildTextContentItem(args[0]);\n              break;\n            case _util.OPS.nextLineShowText:\n              flushTextContentItem();\n              textState.carriageReturn();\n              buildTextContentItem(args[0]);\n              break;\n            case _util.OPS.nextLineSetSpacingShowText:\n              flushTextContentItem();\n              textState.wordSpacing = args[0];\n              textState.charSpacing = args[1];\n              textState.carriageReturn();\n              buildTextContentItem(args[2]);\n              break;\n            case _util.OPS.paintXObject:\n              flushTextContentItem();\n              if (!xobjs) {\n                xobjs = resources.get('XObject') || _primitives.Dict.empty;\n              }\n              var name = args[0].name;\n              if (name && skipEmptyXObjs[name] !== undefined) {\n                break;\n              }\n              next(new Promise(function (resolveXObject, rejectXObject) {\n                if (!name) {\n                  throw new _util.FormatError('XObject must be referred to by name.');\n                }\n                var xobj = xobjs.get(name);\n                if (!xobj) {\n                  resolveXObject();\n                  return;\n                }\n                if (!(0, _primitives.isStream)(xobj)) {\n                  throw new _util.FormatError('XObject should be a stream');\n                }\n                var type = xobj.dict.get('Subtype');\n                if (!(0, _primitives.isName)(type)) {\n                  throw new _util.FormatError('XObject should have a Name subtype');\n                }\n                if (type.name !== 'Form') {\n                  skipEmptyXObjs[name] = true;\n                  resolveXObject();\n                  return;\n                }\n                var currentState = stateManager.state.clone();\n                var xObjStateManager = new StateManager(currentState);\n                var matrix = xobj.dict.getArray('Matrix');\n                if (Array.isArray(matrix) && matrix.length === 6) {\n                  xObjStateManager.transform(matrix);\n                }\n                enqueueChunk();\n                var sinkWrapper = {\n                  enqueueInvoked: false,\n                  enqueue: function enqueue(chunk, size) {\n                    this.enqueueInvoked = true;\n                    sink.enqueue(chunk, size);\n                  },\n\n                  get desiredSize() {\n                    return sink.desiredSize;\n                  },\n                  get ready() {\n                    return sink.ready;\n                  }\n                };\n                self.getTextContent({\n                  stream: xobj,\n                  task: task,\n                  resources: xobj.dict.get('Resources') || resources,\n                  stateManager: xObjStateManager,\n                  normalizeWhitespace: normalizeWhitespace,\n                  combineTextItems: combineTextItems,\n                  sink: sinkWrapper,\n                  seenStyles: seenStyles\n                }).then(function () {\n                  if (!sinkWrapper.enqueueInvoked) {\n                    skipEmptyXObjs[name] = true;\n                  }\n                  resolveXObject();\n                }, rejectXObject);\n              }).catch(function (reason) {\n                if (reason instanceof _util.AbortException) {\n                  return;\n                }\n                if (self.options.ignoreErrors) {\n                  (0, _util.warn)('getTextContent - ignoring XObject: \"' + reason + '\".');\n                  return;\n                }\n                throw reason;\n              }));\n              return;\n            case _util.OPS.setGState:\n              flushTextContentItem();\n              var dictName = args[0];\n              var extGState = resources.get('ExtGState');\n              if (!(0, _primitives.isDict)(extGState) || !(0, _primitives.isName)(dictName)) {\n                break;\n              }\n              var gState = extGState.get(dictName.name);\n              if (!(0, _primitives.isDict)(gState)) {\n                break;\n              }\n              var gStateFont = gState.get('Font');\n              if (gStateFont) {\n                textState.fontName = null;\n                textState.fontSize = gStateFont[1];\n                next(handleSetFont(null, gStateFont[0]));\n                return;\n              }\n              break;\n          }\n          if (textContent.items.length >= sink.desiredSize) {\n            stop = true;\n            break;\n          }\n        }\n        if (stop) {\n          next(deferred);\n          return;\n        }\n        flushTextContentItem();\n        enqueueChunk();\n        resolve();\n      }).catch(function (reason) {\n        if (reason instanceof _util.AbortException) {\n          return;\n        }\n        if (_this9.options.ignoreErrors) {\n          (0, _util.warn)('getTextContent - ignoring errors during task: ' + task.name);\n          flushTextContentItem();\n          enqueueChunk();\n          return;\n        }\n        throw reason;\n      });\n    },\n\n    extractDataStructures: function PartialEvaluator_extractDataStructures(dict, baseDict, properties) {\n      var _this10 = this;\n\n      var xref = this.xref;\n      var toUnicode = dict.get('ToUnicode') || baseDict.get('ToUnicode');\n      var toUnicodePromise = toUnicode ? this.readToUnicode(toUnicode) : Promise.resolve(undefined);\n      if (properties.composite) {\n        var cidSystemInfo = dict.get('CIDSystemInfo');\n        if ((0, _primitives.isDict)(cidSystemInfo)) {\n          properties.cidSystemInfo = {\n            registry: cidSystemInfo.get('Registry'),\n            ordering: cidSystemInfo.get('Ordering'),\n            supplement: cidSystemInfo.get('Supplement')\n          };\n        }\n        var cidToGidMap = dict.get('CIDToGIDMap');\n        if ((0, _primitives.isStream)(cidToGidMap)) {\n          properties.cidToGidMap = this.readCidToGidMap(cidToGidMap);\n        }\n      }\n      var differences = [];\n      var baseEncodingName = null;\n      var encoding;\n      if (dict.has('Encoding')) {\n        encoding = dict.get('Encoding');\n        if ((0, _primitives.isDict)(encoding)) {\n          baseEncodingName = encoding.get('BaseEncoding');\n          baseEncodingName = (0, _primitives.isName)(baseEncodingName) ? baseEncodingName.name : null;\n          if (encoding.has('Differences')) {\n            var diffEncoding = encoding.get('Differences');\n            var index = 0;\n            for (var j = 0, jj = diffEncoding.length; j < jj; j++) {\n              var data = xref.fetchIfRef(diffEncoding[j]);\n              if ((0, _util.isNum)(data)) {\n                index = data;\n              } else if ((0, _primitives.isName)(data)) {\n                differences[index++] = data.name;\n              } else {\n                throw new _util.FormatError('Invalid entry in \\'Differences\\' array: ' + data);\n              }\n            }\n          }\n        } else if ((0, _primitives.isName)(encoding)) {\n          baseEncodingName = encoding.name;\n        } else {\n          throw new _util.FormatError('Encoding is not a Name nor a Dict');\n        }\n        if (baseEncodingName !== 'MacRomanEncoding' && baseEncodingName !== 'MacExpertEncoding' && baseEncodingName !== 'WinAnsiEncoding') {\n          baseEncodingName = null;\n        }\n      }\n      if (baseEncodingName) {\n        properties.defaultEncoding = (0, _encodings.getEncoding)(baseEncodingName).slice();\n      } else {\n        var isSymbolicFont = !!(properties.flags & _fonts.FontFlags.Symbolic);\n        var isNonsymbolicFont = !!(properties.flags & _fonts.FontFlags.Nonsymbolic);\n        encoding = _encodings.StandardEncoding;\n        if (properties.type === 'TrueType' && !isNonsymbolicFont) {\n          encoding = _encodings.WinAnsiEncoding;\n        }\n        if (isSymbolicFont) {\n          encoding = _encodings.MacRomanEncoding;\n          if (!properties.file) {\n            if (/Symbol/i.test(properties.name)) {\n              encoding = _encodings.SymbolSetEncoding;\n            } else if (/Dingbats/i.test(properties.name)) {\n              encoding = _encodings.ZapfDingbatsEncoding;\n            }\n          }\n        }\n        properties.defaultEncoding = encoding;\n      }\n      properties.differences = differences;\n      properties.baseEncodingName = baseEncodingName;\n      properties.hasEncoding = !!baseEncodingName || differences.length > 0;\n      properties.dict = dict;\n      return toUnicodePromise.then(function (toUnicode) {\n        properties.toUnicode = toUnicode;\n        return _this10.buildToUnicode(properties);\n      }).then(function (toUnicode) {\n        properties.toUnicode = toUnicode;\n        return properties;\n      });\n    },\n    buildToUnicode: function PartialEvaluator_buildToUnicode(properties) {\n      properties.hasIncludedToUnicodeMap = !!properties.toUnicode && properties.toUnicode.length > 0;\n      if (properties.hasIncludedToUnicodeMap) {\n        return Promise.resolve(properties.toUnicode);\n      }\n      var toUnicode, charcode, glyphName;\n      if (!properties.composite) {\n        toUnicode = [];\n        var encoding = properties.defaultEncoding.slice();\n        var baseEncodingName = properties.baseEncodingName;\n        var differences = properties.differences;\n        for (charcode in differences) {\n          glyphName = differences[charcode];\n          if (glyphName === '.notdef') {\n            continue;\n          }\n          encoding[charcode] = glyphName;\n        }\n        var glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n        for (charcode in encoding) {\n          glyphName = encoding[charcode];\n          if (glyphName === '') {\n            continue;\n          } else if (glyphsUnicodeMap[glyphName] === undefined) {\n            var code = 0;\n            switch (glyphName[0]) {\n              case 'G':\n                if (glyphName.length === 3) {\n                  code = parseInt(glyphName.substr(1), 16);\n                }\n                break;\n              case 'g':\n                if (glyphName.length === 5) {\n                  code = parseInt(glyphName.substr(1), 16);\n                }\n                break;\n              case 'C':\n              case 'c':\n                if (glyphName.length >= 3) {\n                  code = +glyphName.substr(1);\n                }\n                break;\n              default:\n                var unicode = (0, _unicode.getUnicodeForGlyph)(glyphName, glyphsUnicodeMap);\n                if (unicode !== -1) {\n                  code = unicode;\n                }\n            }\n            if (code) {\n              if (baseEncodingName && code === +charcode) {\n                var baseEncoding = (0, _encodings.getEncoding)(baseEncodingName);\n                if (baseEncoding && (glyphName = baseEncoding[charcode])) {\n                  toUnicode[charcode] = String.fromCharCode(glyphsUnicodeMap[glyphName]);\n                  continue;\n                }\n              }\n              toUnicode[charcode] = String.fromCharCode(code);\n            }\n            continue;\n          }\n          toUnicode[charcode] = String.fromCharCode(glyphsUnicodeMap[glyphName]);\n        }\n        return Promise.resolve(new _fonts.ToUnicodeMap(toUnicode));\n      }\n      if (properties.composite && (properties.cMap.builtInCMap && !(properties.cMap instanceof _cmap.IdentityCMap) || properties.cidSystemInfo.registry === 'Adobe' && (properties.cidSystemInfo.ordering === 'GB1' || properties.cidSystemInfo.ordering === 'CNS1' || properties.cidSystemInfo.ordering === 'Japan1' || properties.cidSystemInfo.ordering === 'Korea1'))) {\n        var registry = properties.cidSystemInfo.registry;\n        var ordering = properties.cidSystemInfo.ordering;\n        var ucs2CMapName = _primitives.Name.get(registry + '-' + ordering + '-UCS2');\n        return _cmap.CMapFactory.create({\n          encoding: ucs2CMapName,\n          fetchBuiltInCMap: this.fetchBuiltInCMap,\n          useCMap: null\n        }).then(function (ucs2CMap) {\n          var cMap = properties.cMap;\n          toUnicode = [];\n          cMap.forEach(function (charcode, cid) {\n            if (cid > 0xffff) {\n              throw new _util.FormatError('Max size of CID is 65,535');\n            }\n            var ucs2 = ucs2CMap.lookup(cid);\n            if (ucs2) {\n              toUnicode[charcode] = String.fromCharCode((ucs2.charCodeAt(0) << 8) + ucs2.charCodeAt(1));\n            }\n          });\n          return new _fonts.ToUnicodeMap(toUnicode);\n        });\n      }\n      return Promise.resolve(new _fonts.IdentityToUnicodeMap(properties.firstChar, properties.lastChar));\n    },\n    readToUnicode: function PartialEvaluator_readToUnicode(toUnicode) {\n      var cmapObj = toUnicode;\n      if ((0, _primitives.isName)(cmapObj)) {\n        return _cmap.CMapFactory.create({\n          encoding: cmapObj,\n          fetchBuiltInCMap: this.fetchBuiltInCMap,\n          useCMap: null\n        }).then(function (cmap) {\n          if (cmap instanceof _cmap.IdentityCMap) {\n            return new _fonts.IdentityToUnicodeMap(0, 0xFFFF);\n          }\n          return new _fonts.ToUnicodeMap(cmap.getMap());\n        });\n      } else if ((0, _primitives.isStream)(cmapObj)) {\n        return _cmap.CMapFactory.create({\n          encoding: cmapObj,\n          fetchBuiltInCMap: this.fetchBuiltInCMap,\n          useCMap: null\n        }).then(function (cmap) {\n          if (cmap instanceof _cmap.IdentityCMap) {\n            return new _fonts.IdentityToUnicodeMap(0, 0xFFFF);\n          }\n          var map = new Array(cmap.length);\n          cmap.forEach(function (charCode, token) {\n            var str = [];\n            for (var k = 0; k < token.length; k += 2) {\n              var w1 = token.charCodeAt(k) << 8 | token.charCodeAt(k + 1);\n              if ((w1 & 0xF800) !== 0xD800) {\n                str.push(w1);\n                continue;\n              }\n              k += 2;\n              var w2 = token.charCodeAt(k) << 8 | token.charCodeAt(k + 1);\n              str.push(((w1 & 0x3ff) << 10) + (w2 & 0x3ff) + 0x10000);\n            }\n            map[charCode] = String.fromCharCode.apply(String, str);\n          });\n          return new _fonts.ToUnicodeMap(map);\n        });\n      }\n      return Promise.resolve(null);\n    },\n    readCidToGidMap: function PartialEvaluator_readCidToGidMap(cidToGidStream) {\n      var glyphsData = cidToGidStream.getBytes();\n      var result = [];\n      for (var j = 0, jj = glyphsData.length; j < jj; j++) {\n        var glyphID = glyphsData[j++] << 8 | glyphsData[j];\n        if (glyphID === 0) {\n          continue;\n        }\n        var code = j >> 1;\n        result[code] = glyphID;\n      }\n      return result;\n    },\n    extractWidths: function PartialEvaluator_extractWidths(dict, descriptor, properties) {\n      var xref = this.xref;\n      var glyphsWidths = [];\n      var defaultWidth = 0;\n      var glyphsVMetrics = [];\n      var defaultVMetrics;\n      var i, ii, j, jj, start, code, widths;\n      if (properties.composite) {\n        defaultWidth = dict.has('DW') ? dict.get('DW') : 1000;\n        widths = dict.get('W');\n        if (widths) {\n          for (i = 0, ii = widths.length; i < ii; i++) {\n            start = xref.fetchIfRef(widths[i++]);\n            code = xref.fetchIfRef(widths[i]);\n            if (Array.isArray(code)) {\n              for (j = 0, jj = code.length; j < jj; j++) {\n                glyphsWidths[start++] = xref.fetchIfRef(code[j]);\n              }\n            } else {\n              var width = xref.fetchIfRef(widths[++i]);\n              for (j = start; j <= code; j++) {\n                glyphsWidths[j] = width;\n              }\n            }\n          }\n        }\n        if (properties.vertical) {\n          var vmetrics = dict.getArray('DW2') || [880, -1000];\n          defaultVMetrics = [vmetrics[1], defaultWidth * 0.5, vmetrics[0]];\n          vmetrics = dict.get('W2');\n          if (vmetrics) {\n            for (i = 0, ii = vmetrics.length; i < ii; i++) {\n              start = xref.fetchIfRef(vmetrics[i++]);\n              code = xref.fetchIfRef(vmetrics[i]);\n              if (Array.isArray(code)) {\n                for (j = 0, jj = code.length; j < jj; j++) {\n                  glyphsVMetrics[start++] = [xref.fetchIfRef(code[j++]), xref.fetchIfRef(code[j++]), xref.fetchIfRef(code[j])];\n                }\n              } else {\n                var vmetric = [xref.fetchIfRef(vmetrics[++i]), xref.fetchIfRef(vmetrics[++i]), xref.fetchIfRef(vmetrics[++i])];\n                for (j = start; j <= code; j++) {\n                  glyphsVMetrics[j] = vmetric;\n                }\n              }\n            }\n          }\n        }\n      } else {\n        var firstChar = properties.firstChar;\n        widths = dict.get('Widths');\n        if (widths) {\n          j = firstChar;\n          for (i = 0, ii = widths.length; i < ii; i++) {\n            glyphsWidths[j++] = xref.fetchIfRef(widths[i]);\n          }\n          defaultWidth = parseFloat(descriptor.get('MissingWidth')) || 0;\n        } else {\n          var baseFontName = dict.get('BaseFont');\n          if ((0, _primitives.isName)(baseFontName)) {\n            var metrics = this.getBaseFontMetrics(baseFontName.name);\n            glyphsWidths = this.buildCharCodeToWidth(metrics.widths, properties);\n            defaultWidth = metrics.defaultWidth;\n          }\n        }\n      }\n      var isMonospace = true;\n      var firstWidth = defaultWidth;\n      for (var glyph in glyphsWidths) {\n        var glyphWidth = glyphsWidths[glyph];\n        if (!glyphWidth) {\n          continue;\n        }\n        if (!firstWidth) {\n          firstWidth = glyphWidth;\n          continue;\n        }\n        if (firstWidth !== glyphWidth) {\n          isMonospace = false;\n          break;\n        }\n      }\n      if (isMonospace) {\n        properties.flags |= _fonts.FontFlags.FixedPitch;\n      }\n      properties.defaultWidth = defaultWidth;\n      properties.widths = glyphsWidths;\n      properties.defaultVMetrics = defaultVMetrics;\n      properties.vmetrics = glyphsVMetrics;\n    },\n    isSerifFont: function PartialEvaluator_isSerifFont(baseFontName) {\n      var fontNameWoStyle = baseFontName.split('-')[0];\n      return fontNameWoStyle in (0, _standard_fonts.getSerifFonts)() || fontNameWoStyle.search(/serif/gi) !== -1;\n    },\n    getBaseFontMetrics: function PartialEvaluator_getBaseFontMetrics(name) {\n      var defaultWidth = 0;\n      var widths = [];\n      var monospace = false;\n      var stdFontMap = (0, _standard_fonts.getStdFontMap)();\n      var lookupName = stdFontMap[name] || name;\n      var Metrics = (0, _metrics.getMetrics)();\n      if (!(lookupName in Metrics)) {\n        if (this.isSerifFont(name)) {\n          lookupName = 'Times-Roman';\n        } else {\n          lookupName = 'Helvetica';\n        }\n      }\n      var glyphWidths = Metrics[lookupName];\n      if ((0, _util.isNum)(glyphWidths)) {\n        defaultWidth = glyphWidths;\n        monospace = true;\n      } else {\n        widths = glyphWidths();\n      }\n      return {\n        defaultWidth: defaultWidth,\n        monospace: monospace,\n        widths: widths\n      };\n    },\n    buildCharCodeToWidth: function PartialEvaluator_bulildCharCodeToWidth(widthsByGlyphName, properties) {\n      var widths = Object.create(null);\n      var differences = properties.differences;\n      var encoding = properties.defaultEncoding;\n      for (var charCode = 0; charCode < 256; charCode++) {\n        if (charCode in differences && widthsByGlyphName[differences[charCode]]) {\n          widths[charCode] = widthsByGlyphName[differences[charCode]];\n          continue;\n        }\n        if (charCode in encoding && widthsByGlyphName[encoding[charCode]]) {\n          widths[charCode] = widthsByGlyphName[encoding[charCode]];\n          continue;\n        }\n      }\n      return widths;\n    },\n    preEvaluateFont: function PartialEvaluator_preEvaluateFont(dict) {\n      var baseDict = dict;\n      var type = dict.get('Subtype');\n      if (!(0, _primitives.isName)(type)) {\n        throw new _util.FormatError('invalid font Subtype');\n      }\n      var composite = false;\n      var uint8array;\n      if (type.name === 'Type0') {\n        var df = dict.get('DescendantFonts');\n        if (!df) {\n          throw new _util.FormatError('Descendant fonts are not specified');\n        }\n        dict = Array.isArray(df) ? this.xref.fetchIfRef(df[0]) : df;\n        type = dict.get('Subtype');\n        if (!(0, _primitives.isName)(type)) {\n          throw new _util.FormatError('invalid font Subtype');\n        }\n        composite = true;\n      }\n      var descriptor = dict.get('FontDescriptor');\n      if (descriptor) {\n        var hash = new _murmurhash.MurmurHash3_64();\n        var encoding = baseDict.getRaw('Encoding');\n        if ((0, _primitives.isName)(encoding)) {\n          hash.update(encoding.name);\n        } else if ((0, _primitives.isRef)(encoding)) {\n          hash.update(encoding.toString());\n        } else if ((0, _primitives.isDict)(encoding)) {\n          var keys = encoding.getKeys();\n          for (var i = 0, ii = keys.length; i < ii; i++) {\n            var entry = encoding.getRaw(keys[i]);\n            if ((0, _primitives.isName)(entry)) {\n              hash.update(entry.name);\n            } else if ((0, _primitives.isRef)(entry)) {\n              hash.update(entry.toString());\n            } else if (Array.isArray(entry)) {\n              var diffLength = entry.length,\n                  diffBuf = new Array(diffLength);\n              for (var j = 0; j < diffLength; j++) {\n                var diffEntry = entry[j];\n                if ((0, _primitives.isName)(diffEntry)) {\n                  diffBuf[j] = diffEntry.name;\n                } else if ((0, _util.isNum)(diffEntry) || (0, _primitives.isRef)(diffEntry)) {\n                  diffBuf[j] = diffEntry.toString();\n                }\n              }\n              hash.update(diffBuf.join());\n            }\n          }\n        }\n        var toUnicode = dict.get('ToUnicode') || baseDict.get('ToUnicode');\n        if ((0, _primitives.isStream)(toUnicode)) {\n          var stream = toUnicode.str || toUnicode;\n          uint8array = stream.buffer ? new Uint8Array(stream.buffer.buffer, 0, stream.bufferLength) : new Uint8Array(stream.bytes.buffer, stream.start, stream.end - stream.start);\n          hash.update(uint8array);\n        } else if ((0, _primitives.isName)(toUnicode)) {\n          hash.update(toUnicode.name);\n        }\n        var widths = dict.get('Widths') || baseDict.get('Widths');\n        if (widths) {\n          uint8array = new Uint8Array(new Uint32Array(widths).buffer);\n          hash.update(uint8array);\n        }\n      }\n      return {\n        descriptor: descriptor,\n        dict: dict,\n        baseDict: baseDict,\n        composite: composite,\n        type: type.name,\n        hash: hash ? hash.hexdigest() : ''\n      };\n    },\n    translateFont: function PartialEvaluator_translateFont(preEvaluatedFont) {\n      var _this11 = this;\n\n      var baseDict = preEvaluatedFont.baseDict;\n      var dict = preEvaluatedFont.dict;\n      var composite = preEvaluatedFont.composite;\n      var descriptor = preEvaluatedFont.descriptor;\n      var type = preEvaluatedFont.type;\n      var maxCharIndex = composite ? 0xFFFF : 0xFF;\n      var properties;\n      if (!descriptor) {\n        if (type === 'Type3') {\n          descriptor = new _primitives.Dict(null);\n          descriptor.set('FontName', _primitives.Name.get(type));\n          descriptor.set('FontBBox', dict.getArray('FontBBox'));\n        } else {\n          var baseFontName = dict.get('BaseFont');\n          if (!(0, _primitives.isName)(baseFontName)) {\n            throw new _util.FormatError('Base font is not specified');\n          }\n          baseFontName = baseFontName.name.replace(/[,_]/g, '-');\n          var metrics = this.getBaseFontMetrics(baseFontName);\n          var fontNameWoStyle = baseFontName.split('-')[0];\n          var flags = (this.isSerifFont(fontNameWoStyle) ? _fonts.FontFlags.Serif : 0) | (metrics.monospace ? _fonts.FontFlags.FixedPitch : 0) | ((0, _standard_fonts.getSymbolsFonts)()[fontNameWoStyle] ? _fonts.FontFlags.Symbolic : _fonts.FontFlags.Nonsymbolic);\n          properties = {\n            type: type,\n            name: baseFontName,\n            widths: metrics.widths,\n            defaultWidth: metrics.defaultWidth,\n            flags: flags,\n            firstChar: 0,\n            lastChar: maxCharIndex\n          };\n          return this.extractDataStructures(dict, dict, properties).then(function (properties) {\n            properties.widths = _this11.buildCharCodeToWidth(metrics.widths, properties);\n            return new _fonts.Font(baseFontName, null, properties);\n          });\n        }\n      }\n      var firstChar = dict.get('FirstChar') || 0;\n      var lastChar = dict.get('LastChar') || maxCharIndex;\n      var fontName = descriptor.get('FontName');\n      var baseFont = dict.get('BaseFont');\n      if ((0, _util.isString)(fontName)) {\n        fontName = _primitives.Name.get(fontName);\n      }\n      if ((0, _util.isString)(baseFont)) {\n        baseFont = _primitives.Name.get(baseFont);\n      }\n      if (type !== 'Type3') {\n        var fontNameStr = fontName && fontName.name;\n        var baseFontStr = baseFont && baseFont.name;\n        if (fontNameStr !== baseFontStr) {\n          (0, _util.info)('The FontDescriptor\\'s FontName is \"' + fontNameStr + '\" but should be the same as the Font\\'s BaseFont \"' + baseFontStr + '\"');\n          if (fontNameStr && baseFontStr && baseFontStr.indexOf(fontNameStr) === 0) {\n            fontName = baseFont;\n          }\n        }\n      }\n      fontName = fontName || baseFont;\n      if (!(0, _primitives.isName)(fontName)) {\n        throw new _util.FormatError('invalid font name');\n      }\n      var fontFile = descriptor.get('FontFile', 'FontFile2', 'FontFile3');\n      if (fontFile) {\n        if (fontFile.dict) {\n          var subtype = fontFile.dict.get('Subtype');\n          if (subtype) {\n            subtype = subtype.name;\n          }\n          var length1 = fontFile.dict.get('Length1');\n          var length2 = fontFile.dict.get('Length2');\n          var length3 = fontFile.dict.get('Length3');\n        }\n      }\n      properties = {\n        type: type,\n        name: fontName.name,\n        subtype: subtype,\n        file: fontFile,\n        length1: length1,\n        length2: length2,\n        length3: length3,\n        loadedName: baseDict.loadedName,\n        composite: composite,\n        wideChars: composite,\n        fixedPitch: false,\n        fontMatrix: dict.getArray('FontMatrix') || _util.FONT_IDENTITY_MATRIX,\n        firstChar: firstChar || 0,\n        lastChar: lastChar || maxCharIndex,\n        bbox: descriptor.getArray('FontBBox'),\n        ascent: descriptor.get('Ascent'),\n        descent: descriptor.get('Descent'),\n        xHeight: descriptor.get('XHeight'),\n        capHeight: descriptor.get('CapHeight'),\n        flags: descriptor.get('Flags'),\n        italicAngle: descriptor.get('ItalicAngle'),\n        isType3Font: false\n      };\n      var cMapPromise;\n      if (composite) {\n        var cidEncoding = baseDict.get('Encoding');\n        if ((0, _primitives.isName)(cidEncoding)) {\n          properties.cidEncoding = cidEncoding.name;\n        }\n        cMapPromise = _cmap.CMapFactory.create({\n          encoding: cidEncoding,\n          fetchBuiltInCMap: this.fetchBuiltInCMap,\n          useCMap: null\n        }).then(function (cMap) {\n          properties.cMap = cMap;\n          properties.vertical = properties.cMap.vertical;\n        });\n      } else {\n        cMapPromise = Promise.resolve(undefined);\n      }\n      return cMapPromise.then(function () {\n        return _this11.extractDataStructures(dict, baseDict, properties);\n      }).then(function (properties) {\n        _this11.extractWidths(dict, descriptor, properties);\n        if (type === 'Type3') {\n          properties.isType3Font = true;\n        }\n        return new _fonts.Font(fontName.name, fontFile, properties);\n      });\n    }\n  };\n  return PartialEvaluator;\n}();\nvar TranslatedFont = function TranslatedFontClosure() {\n  function TranslatedFont(loadedName, font, dict) {\n    this.loadedName = loadedName;\n    this.font = font;\n    this.dict = dict;\n    this.type3Loaded = null;\n    this.sent = false;\n  }\n  TranslatedFont.prototype = {\n    send: function send(handler) {\n      if (this.sent) {\n        return;\n      }\n      var fontData = this.font.exportData();\n      handler.send('commonobj', [this.loadedName, 'Font', fontData]);\n      this.sent = true;\n    },\n    loadType3Data: function loadType3Data(evaluator, resources, parentOperatorList, task) {\n      if (!this.font.isType3Font) {\n        throw new Error('Must be a Type3 font.');\n      }\n      if (this.type3Loaded) {\n        return this.type3Loaded;\n      }\n      var type3Options = Object.create(evaluator.options);\n      type3Options.ignoreErrors = false;\n      var type3Evaluator = evaluator.clone(type3Options);\n      var translatedFont = this.font;\n      var loadCharProcsPromise = Promise.resolve();\n      var charProcs = this.dict.get('CharProcs');\n      var fontResources = this.dict.get('Resources') || resources;\n      var charProcKeys = charProcs.getKeys();\n      var charProcOperatorList = Object.create(null);\n\n      var _loop2 = function _loop2() {\n        var key = charProcKeys[i];\n        loadCharProcsPromise = loadCharProcsPromise.then(function () {\n          var glyphStream = charProcs.get(key);\n          var operatorList = new OperatorList();\n          return type3Evaluator.getOperatorList({\n            stream: glyphStream,\n            task: task,\n            resources: fontResources,\n            operatorList: operatorList\n          }).then(function () {\n            charProcOperatorList[key] = operatorList.getIR();\n            parentOperatorList.addDependencies(operatorList.dependencies);\n          }).catch(function (reason) {\n            (0, _util.warn)('Type3 font resource \"' + key + '\" is not available.');\n            var operatorList = new OperatorList();\n            charProcOperatorList[key] = operatorList.getIR();\n          });\n        });\n      };\n\n      for (var i = 0, n = charProcKeys.length; i < n; ++i) {\n        _loop2();\n      }\n      this.type3Loaded = loadCharProcsPromise.then(function () {\n        translatedFont.charProcOperatorList = charProcOperatorList;\n      });\n      return this.type3Loaded;\n    }\n  };\n  return TranslatedFont;\n}();\nvar OperatorList = function OperatorListClosure() {\n  var CHUNK_SIZE = 1000;\n  var CHUNK_SIZE_ABOUT = CHUNK_SIZE - 5;\n  function getTransfers(queue) {\n    var transfers = [];\n    var fnArray = queue.fnArray,\n        argsArray = queue.argsArray;\n    for (var i = 0, ii = queue.length; i < ii; i++) {\n      switch (fnArray[i]) {\n        case _util.OPS.paintInlineImageXObject:\n        case _util.OPS.paintInlineImageXObjectGroup:\n        case _util.OPS.paintImageMaskXObject:\n          var arg = argsArray[i][0];\n          if (!arg.cached) {\n            transfers.push(arg.data.buffer);\n          }\n          break;\n      }\n    }\n    return transfers;\n  }\n  function OperatorList(intent, messageHandler, pageIndex) {\n    this.messageHandler = messageHandler;\n    this.fnArray = [];\n    this.argsArray = [];\n    this.dependencies = Object.create(null);\n    this._totalLength = 0;\n    this.pageIndex = pageIndex;\n    this.intent = intent;\n  }\n  OperatorList.prototype = {\n    get length() {\n      return this.argsArray.length;\n    },\n    get totalLength() {\n      return this._totalLength + this.length;\n    },\n    addOp: function addOp(fn, args) {\n      this.fnArray.push(fn);\n      this.argsArray.push(args);\n      if (this.messageHandler) {\n        if (this.fnArray.length >= CHUNK_SIZE) {\n          this.flush();\n        } else if (this.fnArray.length >= CHUNK_SIZE_ABOUT && (fn === _util.OPS.restore || fn === _util.OPS.endText)) {\n          this.flush();\n        }\n      }\n    },\n    addDependency: function addDependency(dependency) {\n      if (dependency in this.dependencies) {\n        return;\n      }\n      this.dependencies[dependency] = true;\n      this.addOp(_util.OPS.dependency, [dependency]);\n    },\n    addDependencies: function addDependencies(dependencies) {\n      for (var key in dependencies) {\n        this.addDependency(key);\n      }\n    },\n    addOpList: function addOpList(opList) {\n      _util.Util.extendObj(this.dependencies, opList.dependencies);\n      for (var i = 0, ii = opList.length; i < ii; i++) {\n        this.addOp(opList.fnArray[i], opList.argsArray[i]);\n      }\n    },\n    getIR: function getIR() {\n      return {\n        fnArray: this.fnArray,\n        argsArray: this.argsArray,\n        length: this.length\n      };\n    },\n    flush: function flush(lastChunk) {\n      if (this.intent !== 'oplist') {\n        new QueueOptimizer().optimize(this);\n      }\n      var transfers = getTransfers(this);\n      var length = this.length;\n      this._totalLength += length;\n      this.messageHandler.send('RenderPageChunk', {\n        operatorList: {\n          fnArray: this.fnArray,\n          argsArray: this.argsArray,\n          lastChunk: lastChunk,\n          length: length\n        },\n        pageIndex: this.pageIndex,\n        intent: this.intent\n      }, transfers);\n      this.dependencies = Object.create(null);\n      this.fnArray.length = 0;\n      this.argsArray.length = 0;\n    }\n  };\n  return OperatorList;\n}();\nvar StateManager = function StateManagerClosure() {\n  function StateManager(initialState) {\n    this.state = initialState;\n    this.stateStack = [];\n  }\n  StateManager.prototype = {\n    save: function save() {\n      var old = this.state;\n      this.stateStack.push(this.state);\n      this.state = old.clone();\n    },\n    restore: function restore() {\n      var prev = this.stateStack.pop();\n      if (prev) {\n        this.state = prev;\n      }\n    },\n    transform: function transform(args) {\n      this.state.ctm = _util.Util.transform(this.state.ctm, args);\n    }\n  };\n  return StateManager;\n}();\nvar TextState = function TextStateClosure() {\n  function TextState() {\n    this.ctm = new Float32Array(_util.IDENTITY_MATRIX);\n    this.fontName = null;\n    this.fontSize = 0;\n    this.font = null;\n    this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n    this.textMatrix = _util.IDENTITY_MATRIX.slice();\n    this.textLineMatrix = _util.IDENTITY_MATRIX.slice();\n    this.charSpacing = 0;\n    this.wordSpacing = 0;\n    this.leading = 0;\n    this.textHScale = 1;\n    this.textRise = 0;\n  }\n  TextState.prototype = {\n    setTextMatrix: function TextState_setTextMatrix(a, b, c, d, e, f) {\n      var m = this.textMatrix;\n      m[0] = a;\n      m[1] = b;\n      m[2] = c;\n      m[3] = d;\n      m[4] = e;\n      m[5] = f;\n    },\n    setTextLineMatrix: function TextState_setTextMatrix(a, b, c, d, e, f) {\n      var m = this.textLineMatrix;\n      m[0] = a;\n      m[1] = b;\n      m[2] = c;\n      m[3] = d;\n      m[4] = e;\n      m[5] = f;\n    },\n    translateTextMatrix: function TextState_translateTextMatrix(x, y) {\n      var m = this.textMatrix;\n      m[4] = m[0] * x + m[2] * y + m[4];\n      m[5] = m[1] * x + m[3] * y + m[5];\n    },\n    translateTextLineMatrix: function TextState_translateTextMatrix(x, y) {\n      var m = this.textLineMatrix;\n      m[4] = m[0] * x + m[2] * y + m[4];\n      m[5] = m[1] * x + m[3] * y + m[5];\n    },\n    calcTextLineMatrixAdvance: function TextState_calcTextLineMatrixAdvance(a, b, c, d, e, f) {\n      var font = this.font;\n      if (!font) {\n        return null;\n      }\n      var m = this.textLineMatrix;\n      if (!(a === m[0] && b === m[1] && c === m[2] && d === m[3])) {\n        return null;\n      }\n      var txDiff = e - m[4],\n          tyDiff = f - m[5];\n      if (font.vertical && txDiff !== 0 || !font.vertical && tyDiff !== 0) {\n        return null;\n      }\n      var tx,\n          ty,\n          denominator = a * d - b * c;\n      if (font.vertical) {\n        tx = -tyDiff * c / denominator;\n        ty = tyDiff * a / denominator;\n      } else {\n        tx = txDiff * d / denominator;\n        ty = -txDiff * b / denominator;\n      }\n      return {\n        width: tx,\n        height: ty,\n        value: font.vertical ? ty : tx\n      };\n    },\n    calcRenderMatrix: function TextState_calcRendeMatrix(ctm) {\n      var tsm = [this.fontSize * this.textHScale, 0, 0, this.fontSize, 0, this.textRise];\n      return _util.Util.transform(ctm, _util.Util.transform(this.textMatrix, tsm));\n    },\n    carriageReturn: function TextState_carriageReturn() {\n      this.translateTextLineMatrix(0, -this.leading);\n      this.textMatrix = this.textLineMatrix.slice();\n    },\n    clone: function TextState_clone() {\n      var clone = Object.create(this);\n      clone.textMatrix = this.textMatrix.slice();\n      clone.textLineMatrix = this.textLineMatrix.slice();\n      clone.fontMatrix = this.fontMatrix.slice();\n      return clone;\n    }\n  };\n  return TextState;\n}();\nvar EvalState = function EvalStateClosure() {\n  function EvalState() {\n    this.ctm = new Float32Array(_util.IDENTITY_MATRIX);\n    this.font = null;\n    this.textRenderingMode = _util.TextRenderingMode.FILL;\n    this.fillColorSpace = _colorspace.ColorSpace.singletons.gray;\n    this.strokeColorSpace = _colorspace.ColorSpace.singletons.gray;\n  }\n  EvalState.prototype = {\n    clone: function CanvasExtraState_clone() {\n      return Object.create(this);\n    }\n  };\n  return EvalState;\n}();\nvar EvaluatorPreprocessor = function EvaluatorPreprocessorClosure() {\n  var getOPMap = (0, _util.getLookupTableFactory)(function (t) {\n    t['w'] = {\n      id: _util.OPS.setLineWidth,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t['J'] = {\n      id: _util.OPS.setLineCap,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t['j'] = {\n      id: _util.OPS.setLineJoin,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t['M'] = {\n      id: _util.OPS.setMiterLimit,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t['d'] = {\n      id: _util.OPS.setDash,\n      numArgs: 2,\n      variableArgs: false\n    };\n    t['ri'] = {\n      id: _util.OPS.setRenderingIntent,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t['i'] = {\n      id: _util.OPS.setFlatness,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t['gs'] = {\n      id: _util.OPS.setGState,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t['q'] = {\n      id: _util.OPS.save,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t['Q'] = {\n      id: _util.OPS.restore,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t['cm'] = {\n      id: _util.OPS.transform,\n      numArgs: 6,\n      variableArgs: false\n    };\n    t['m'] = {\n      id: _util.OPS.moveTo,\n      numArgs: 2,\n      variableArgs: false\n    };\n    t['l'] = {\n      id: _util.OPS.lineTo,\n      numArgs: 2,\n      variableArgs: false\n    };\n    t['c'] = {\n      id: _util.OPS.curveTo,\n      numArgs: 6,\n      variableArgs: false\n    };\n    t['v'] = {\n      id: _util.OPS.curveTo2,\n      numArgs: 4,\n      variableArgs: false\n    };\n    t['y'] = {\n      id: _util.OPS.curveTo3,\n      numArgs: 4,\n      variableArgs: false\n    };\n    t['h'] = {\n      id: _util.OPS.closePath,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t['re'] = {\n      id: _util.OPS.rectangle,\n      numArgs: 4,\n      variableArgs: false\n    };\n    t['S'] = {\n      id: _util.OPS.stroke,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t['s'] = {\n      id: _util.OPS.closeStroke,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t['f'] = {\n      id: _util.OPS.fill,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t['F'] = {\n      id: _util.OPS.fill,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t['f*'] = {\n      id: _util.OPS.eoFill,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t['B'] = {\n      id: _util.OPS.fillStroke,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t['B*'] = {\n      id: _util.OPS.eoFillStroke,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t['b'] = {\n      id: _util.OPS.closeFillStroke,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t['b*'] = {\n      id: _util.OPS.closeEOFillStroke,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t['n'] = {\n      id: _util.OPS.endPath,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t['W'] = {\n      id: _util.OPS.clip,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t['W*'] = {\n      id: _util.OPS.eoClip,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t['BT'] = {\n      id: _util.OPS.beginText,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t['ET'] = {\n      id: _util.OPS.endText,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t['Tc'] = {\n      id: _util.OPS.setCharSpacing,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t['Tw'] = {\n      id: _util.OPS.setWordSpacing,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t['Tz'] = {\n      id: _util.OPS.setHScale,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t['TL'] = {\n      id: _util.OPS.setLeading,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t['Tf'] = {\n      id: _util.OPS.setFont,\n      numArgs: 2,\n      variableArgs: false\n    };\n    t['Tr'] = {\n      id: _util.OPS.setTextRenderingMode,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t['Ts'] = {\n      id: _util.OPS.setTextRise,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t['Td'] = {\n      id: _util.OPS.moveText,\n      numArgs: 2,\n      variableArgs: false\n    };\n    t['TD'] = {\n      id: _util.OPS.setLeadingMoveText,\n      numArgs: 2,\n      variableArgs: false\n    };\n    t['Tm'] = {\n      id: _util.OPS.setTextMatrix,\n      numArgs: 6,\n      variableArgs: false\n    };\n    t['T*'] = {\n      id: _util.OPS.nextLine,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t['Tj'] = {\n      id: _util.OPS.showText,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t['TJ'] = {\n      id: _util.OPS.showSpacedText,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t['\\''] = {\n      id: _util.OPS.nextLineShowText,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t['\"'] = {\n      id: _util.OPS.nextLineSetSpacingShowText,\n      numArgs: 3,\n      variableArgs: false\n    };\n    t['d0'] = {\n      id: _util.OPS.setCharWidth,\n      numArgs: 2,\n      variableArgs: false\n    };\n    t['d1'] = {\n      id: _util.OPS.setCharWidthAndBounds,\n      numArgs: 6,\n      variableArgs: false\n    };\n    t['CS'] = {\n      id: _util.OPS.setStrokeColorSpace,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t['cs'] = {\n      id: _util.OPS.setFillColorSpace,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t['SC'] = {\n      id: _util.OPS.setStrokeColor,\n      numArgs: 4,\n      variableArgs: true\n    };\n    t['SCN'] = {\n      id: _util.OPS.setStrokeColorN,\n      numArgs: 33,\n      variableArgs: true\n    };\n    t['sc'] = {\n      id: _util.OPS.setFillColor,\n      numArgs: 4,\n      variableArgs: true\n    };\n    t['scn'] = {\n      id: _util.OPS.setFillColorN,\n      numArgs: 33,\n      variableArgs: true\n    };\n    t['G'] = {\n      id: _util.OPS.setStrokeGray,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t['g'] = {\n      id: _util.OPS.setFillGray,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t['RG'] = {\n      id: _util.OPS.setStrokeRGBColor,\n      numArgs: 3,\n      variableArgs: false\n    };\n    t['rg'] = {\n      id: _util.OPS.setFillRGBColor,\n      numArgs: 3,\n      variableArgs: false\n    };\n    t['K'] = {\n      id: _util.OPS.setStrokeCMYKColor,\n      numArgs: 4,\n      variableArgs: false\n    };\n    t['k'] = {\n      id: _util.OPS.setFillCMYKColor,\n      numArgs: 4,\n      variableArgs: false\n    };\n    t['sh'] = {\n      id: _util.OPS.shadingFill,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t['BI'] = {\n      id: _util.OPS.beginInlineImage,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t['ID'] = {\n      id: _util.OPS.beginImageData,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t['EI'] = {\n      id: _util.OPS.endInlineImage,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t['Do'] = {\n      id: _util.OPS.paintXObject,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t['MP'] = {\n      id: _util.OPS.markPoint,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t['DP'] = {\n      id: _util.OPS.markPointProps,\n      numArgs: 2,\n      variableArgs: false\n    };\n    t['BMC'] = {\n      id: _util.OPS.beginMarkedContent,\n      numArgs: 1,\n      variableArgs: false\n    };\n    t['BDC'] = {\n      id: _util.OPS.beginMarkedContentProps,\n      numArgs: 2,\n      variableArgs: false\n    };\n    t['EMC'] = {\n      id: _util.OPS.endMarkedContent,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t['BX'] = {\n      id: _util.OPS.beginCompat,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t['EX'] = {\n      id: _util.OPS.endCompat,\n      numArgs: 0,\n      variableArgs: false\n    };\n    t['BM'] = null;\n    t['BD'] = null;\n    t['true'] = null;\n    t['fa'] = null;\n    t['fal'] = null;\n    t['fals'] = null;\n    t['false'] = null;\n    t['nu'] = null;\n    t['nul'] = null;\n    t['null'] = null;\n  });\n  function EvaluatorPreprocessor(stream, xref, stateManager) {\n    this.opMap = getOPMap();\n    this.parser = new _parser.Parser(new _parser.Lexer(stream, this.opMap), false, xref);\n    this.stateManager = stateManager;\n    this.nonProcessedArgs = [];\n  }\n  EvaluatorPreprocessor.prototype = {\n    get savedStatesDepth() {\n      return this.stateManager.stateStack.length;\n    },\n    read: function EvaluatorPreprocessor_read(operation) {\n      var args = operation.args;\n      while (true) {\n        var obj = this.parser.getObj();\n        if ((0, _primitives.isCmd)(obj)) {\n          var cmd = obj.cmd;\n          var opSpec = this.opMap[cmd];\n          if (!opSpec) {\n            (0, _util.warn)('Unknown command \"' + cmd + '\"');\n            continue;\n          }\n          var fn = opSpec.id;\n          var numArgs = opSpec.numArgs;\n          var argsLength = args !== null ? args.length : 0;\n          if (!opSpec.variableArgs) {\n            if (argsLength !== numArgs) {\n              var nonProcessedArgs = this.nonProcessedArgs;\n              while (argsLength > numArgs) {\n                nonProcessedArgs.push(args.shift());\n                argsLength--;\n              }\n              while (argsLength < numArgs && nonProcessedArgs.length !== 0) {\n                if (args === null) {\n                  args = [];\n                }\n                args.unshift(nonProcessedArgs.pop());\n                argsLength++;\n              }\n            }\n            if (argsLength < numArgs) {\n              (0, _util.warn)('Skipping command ' + fn + ': expected ' + numArgs + ' args, but received ' + argsLength + ' args.');\n              if (args !== null) {\n                args.length = 0;\n              }\n              continue;\n            }\n          } else if (argsLength > numArgs) {\n            (0, _util.info)('Command ' + fn + ': expected [0,' + numArgs + '] args, but received ' + argsLength + ' args.');\n          }\n          this.preprocessCommand(fn, args);\n          operation.fn = fn;\n          operation.args = args;\n          return true;\n        }\n        if ((0, _primitives.isEOF)(obj)) {\n          return false;\n        }\n        if (obj !== null) {\n          if (args === null) {\n            args = [];\n          }\n          args.push(obj);\n          if (args.length > 33) {\n            throw new _util.FormatError('Too many arguments');\n          }\n        }\n      }\n    },\n    preprocessCommand: function EvaluatorPreprocessor_preprocessCommand(fn, args) {\n      switch (fn | 0) {\n        case _util.OPS.save:\n          this.stateManager.save();\n          break;\n        case _util.OPS.restore:\n          this.stateManager.restore();\n          break;\n        case _util.OPS.transform:\n          this.stateManager.transform(args);\n          break;\n      }\n    }\n  };\n  return EvaluatorPreprocessor;\n}();\nvar QueueOptimizer = function QueueOptimizerClosure() {\n  function addState(parentState, pattern, fn) {\n    var state = parentState;\n    for (var i = 0, ii = pattern.length - 1; i < ii; i++) {\n      var item = pattern[i];\n      state = state[item] || (state[item] = []);\n    }\n    state[pattern[pattern.length - 1]] = fn;\n  }\n  function handlePaintSolidColorImageMask(iFirstSave, count, fnArray, argsArray) {\n    var iFirstPIMXO = iFirstSave + 2;\n    for (var i = 0; i < count; i++) {\n      var arg = argsArray[iFirstPIMXO + 4 * i];\n      var imageMask = arg.length === 1 && arg[0];\n      if (imageMask && imageMask.width === 1 && imageMask.height === 1 && (!imageMask.data.length || imageMask.data.length === 1 && imageMask.data[0] === 0)) {\n        fnArray[iFirstPIMXO + 4 * i] = _util.OPS.paintSolidColorImageMask;\n        continue;\n      }\n      break;\n    }\n    return count - i;\n  }\n  var InitialState = [];\n  addState(InitialState, [_util.OPS.save, _util.OPS.transform, _util.OPS.paintInlineImageXObject, _util.OPS.restore], function foundInlineImageGroup(context) {\n    var MIN_IMAGES_IN_INLINE_IMAGES_BLOCK = 10;\n    var MAX_IMAGES_IN_INLINE_IMAGES_BLOCK = 200;\n    var MAX_WIDTH = 1000;\n    var IMAGE_PADDING = 1;\n    var fnArray = context.fnArray,\n        argsArray = context.argsArray;\n    var curr = context.iCurr;\n    var iFirstSave = curr - 3;\n    var iFirstTransform = curr - 2;\n    var iFirstPIIXO = curr - 1;\n    var i = iFirstSave + 4;\n    var ii = fnArray.length;\n    while (i + 3 < ii) {\n      if (fnArray[i] !== _util.OPS.save || fnArray[i + 1] !== _util.OPS.transform || fnArray[i + 2] !== _util.OPS.paintInlineImageXObject || fnArray[i + 3] !== _util.OPS.restore) {\n        break;\n      }\n      i += 4;\n    }\n    var count = Math.min((i - iFirstSave) / 4, MAX_IMAGES_IN_INLINE_IMAGES_BLOCK);\n    if (count < MIN_IMAGES_IN_INLINE_IMAGES_BLOCK) {\n      return i;\n    }\n    var maxX = 0;\n    var map = [],\n        maxLineHeight = 0;\n    var currentX = IMAGE_PADDING,\n        currentY = IMAGE_PADDING;\n    var q;\n    for (q = 0; q < count; q++) {\n      var transform = argsArray[iFirstTransform + (q << 2)];\n      var img = argsArray[iFirstPIIXO + (q << 2)][0];\n      if (currentX + img.width > MAX_WIDTH) {\n        maxX = Math.max(maxX, currentX);\n        currentY += maxLineHeight + 2 * IMAGE_PADDING;\n        currentX = 0;\n        maxLineHeight = 0;\n      }\n      map.push({\n        transform: transform,\n        x: currentX,\n        y: currentY,\n        w: img.width,\n        h: img.height\n      });\n      currentX += img.width + 2 * IMAGE_PADDING;\n      maxLineHeight = Math.max(maxLineHeight, img.height);\n    }\n    var imgWidth = Math.max(maxX, currentX) + IMAGE_PADDING;\n    var imgHeight = currentY + maxLineHeight + IMAGE_PADDING;\n    var imgData = new Uint8Array(imgWidth * imgHeight * 4);\n    var imgRowSize = imgWidth << 2;\n    for (q = 0; q < count; q++) {\n      var data = argsArray[iFirstPIIXO + (q << 2)][0].data;\n      var rowSize = map[q].w << 2;\n      var dataOffset = 0;\n      var offset = map[q].x + map[q].y * imgWidth << 2;\n      imgData.set(data.subarray(0, rowSize), offset - imgRowSize);\n      for (var k = 0, kk = map[q].h; k < kk; k++) {\n        imgData.set(data.subarray(dataOffset, dataOffset + rowSize), offset);\n        dataOffset += rowSize;\n        offset += imgRowSize;\n      }\n      imgData.set(data.subarray(dataOffset - rowSize, dataOffset), offset);\n      while (offset >= 0) {\n        data[offset - 4] = data[offset];\n        data[offset - 3] = data[offset + 1];\n        data[offset - 2] = data[offset + 2];\n        data[offset - 1] = data[offset + 3];\n        data[offset + rowSize] = data[offset + rowSize - 4];\n        data[offset + rowSize + 1] = data[offset + rowSize - 3];\n        data[offset + rowSize + 2] = data[offset + rowSize - 2];\n        data[offset + rowSize + 3] = data[offset + rowSize - 1];\n        offset -= imgRowSize;\n      }\n    }\n    fnArray.splice(iFirstSave, count * 4, _util.OPS.paintInlineImageXObjectGroup);\n    argsArray.splice(iFirstSave, count * 4, [{\n      width: imgWidth,\n      height: imgHeight,\n      kind: _util.ImageKind.RGBA_32BPP,\n      data: imgData\n    }, map]);\n    return iFirstSave + 1;\n  });\n  addState(InitialState, [_util.OPS.save, _util.OPS.transform, _util.OPS.paintImageMaskXObject, _util.OPS.restore], function foundImageMaskGroup(context) {\n    var MIN_IMAGES_IN_MASKS_BLOCK = 10;\n    var MAX_IMAGES_IN_MASKS_BLOCK = 100;\n    var MAX_SAME_IMAGES_IN_MASKS_BLOCK = 1000;\n    var fnArray = context.fnArray,\n        argsArray = context.argsArray;\n    var curr = context.iCurr;\n    var iFirstSave = curr - 3;\n    var iFirstTransform = curr - 2;\n    var iFirstPIMXO = curr - 1;\n    var i = iFirstSave + 4;\n    var ii = fnArray.length;\n    while (i + 3 < ii) {\n      if (fnArray[i] !== _util.OPS.save || fnArray[i + 1] !== _util.OPS.transform || fnArray[i + 2] !== _util.OPS.paintImageMaskXObject || fnArray[i + 3] !== _util.OPS.restore) {\n        break;\n      }\n      i += 4;\n    }\n    var count = (i - iFirstSave) / 4;\n    count = handlePaintSolidColorImageMask(iFirstSave, count, fnArray, argsArray);\n    if (count < MIN_IMAGES_IN_MASKS_BLOCK) {\n      return i;\n    }\n    var q;\n    var isSameImage = false;\n    var iTransform, transformArgs;\n    var firstPIMXOArg0 = argsArray[iFirstPIMXO][0];\n    if (argsArray[iFirstTransform][1] === 0 && argsArray[iFirstTransform][2] === 0) {\n      isSameImage = true;\n      var firstTransformArg0 = argsArray[iFirstTransform][0];\n      var firstTransformArg3 = argsArray[iFirstTransform][3];\n      iTransform = iFirstTransform + 4;\n      var iPIMXO = iFirstPIMXO + 4;\n      for (q = 1; q < count; q++, iTransform += 4, iPIMXO += 4) {\n        transformArgs = argsArray[iTransform];\n        if (argsArray[iPIMXO][0] !== firstPIMXOArg0 || transformArgs[0] !== firstTransformArg0 || transformArgs[1] !== 0 || transformArgs[2] !== 0 || transformArgs[3] !== firstTransformArg3) {\n          if (q < MIN_IMAGES_IN_MASKS_BLOCK) {\n            isSameImage = false;\n          } else {\n            count = q;\n          }\n          break;\n        }\n      }\n    }\n    if (isSameImage) {\n      count = Math.min(count, MAX_SAME_IMAGES_IN_MASKS_BLOCK);\n      var positions = new Float32Array(count * 2);\n      iTransform = iFirstTransform;\n      for (q = 0; q < count; q++, iTransform += 4) {\n        transformArgs = argsArray[iTransform];\n        positions[q << 1] = transformArgs[4];\n        positions[(q << 1) + 1] = transformArgs[5];\n      }\n      fnArray.splice(iFirstSave, count * 4, _util.OPS.paintImageMaskXObjectRepeat);\n      argsArray.splice(iFirstSave, count * 4, [firstPIMXOArg0, firstTransformArg0, firstTransformArg3, positions]);\n    } else {\n      count = Math.min(count, MAX_IMAGES_IN_MASKS_BLOCK);\n      var images = [];\n      for (q = 0; q < count; q++) {\n        transformArgs = argsArray[iFirstTransform + (q << 2)];\n        var maskParams = argsArray[iFirstPIMXO + (q << 2)][0];\n        images.push({\n          data: maskParams.data,\n          width: maskParams.width,\n          height: maskParams.height,\n          transform: transformArgs\n        });\n      }\n      fnArray.splice(iFirstSave, count * 4, _util.OPS.paintImageMaskXObjectGroup);\n      argsArray.splice(iFirstSave, count * 4, [images]);\n    }\n    return iFirstSave + 1;\n  });\n  addState(InitialState, [_util.OPS.save, _util.OPS.transform, _util.OPS.paintImageXObject, _util.OPS.restore], function (context) {\n    var MIN_IMAGES_IN_BLOCK = 3;\n    var MAX_IMAGES_IN_BLOCK = 1000;\n    var fnArray = context.fnArray,\n        argsArray = context.argsArray;\n    var curr = context.iCurr;\n    var iFirstSave = curr - 3;\n    var iFirstTransform = curr - 2;\n    var iFirstPIXO = curr - 1;\n    var iFirstRestore = curr;\n    if (argsArray[iFirstTransform][1] !== 0 || argsArray[iFirstTransform][2] !== 0) {\n      return iFirstRestore + 1;\n    }\n    var firstPIXOArg0 = argsArray[iFirstPIXO][0];\n    var firstTransformArg0 = argsArray[iFirstTransform][0];\n    var firstTransformArg3 = argsArray[iFirstTransform][3];\n    var i = iFirstSave + 4;\n    var ii = fnArray.length;\n    while (i + 3 < ii) {\n      if (fnArray[i] !== _util.OPS.save || fnArray[i + 1] !== _util.OPS.transform || fnArray[i + 2] !== _util.OPS.paintImageXObject || fnArray[i + 3] !== _util.OPS.restore) {\n        break;\n      }\n      if (argsArray[i + 1][0] !== firstTransformArg0 || argsArray[i + 1][1] !== 0 || argsArray[i + 1][2] !== 0 || argsArray[i + 1][3] !== firstTransformArg3) {\n        break;\n      }\n      if (argsArray[i + 2][0] !== firstPIXOArg0) {\n        break;\n      }\n      i += 4;\n    }\n    var count = Math.min((i - iFirstSave) / 4, MAX_IMAGES_IN_BLOCK);\n    if (count < MIN_IMAGES_IN_BLOCK) {\n      return i;\n    }\n    var positions = new Float32Array(count * 2);\n    var iTransform = iFirstTransform;\n    for (var q = 0; q < count; q++, iTransform += 4) {\n      var transformArgs = argsArray[iTransform];\n      positions[q << 1] = transformArgs[4];\n      positions[(q << 1) + 1] = transformArgs[5];\n    }\n    var args = [firstPIXOArg0, firstTransformArg0, firstTransformArg3, positions];\n    fnArray.splice(iFirstSave, count * 4, _util.OPS.paintImageXObjectRepeat);\n    argsArray.splice(iFirstSave, count * 4, args);\n    return iFirstSave + 1;\n  });\n  addState(InitialState, [_util.OPS.beginText, _util.OPS.setFont, _util.OPS.setTextMatrix, _util.OPS.showText, _util.OPS.endText], function (context) {\n    var MIN_CHARS_IN_BLOCK = 3;\n    var MAX_CHARS_IN_BLOCK = 1000;\n    var fnArray = context.fnArray,\n        argsArray = context.argsArray;\n    var curr = context.iCurr;\n    var iFirstBeginText = curr - 4;\n    var iFirstSetFont = curr - 3;\n    var iFirstSetTextMatrix = curr - 2;\n    var iFirstShowText = curr - 1;\n    var iFirstEndText = curr;\n    var firstSetFontArg0 = argsArray[iFirstSetFont][0];\n    var firstSetFontArg1 = argsArray[iFirstSetFont][1];\n    var i = iFirstBeginText + 5;\n    var ii = fnArray.length;\n    while (i + 4 < ii) {\n      if (fnArray[i] !== _util.OPS.beginText || fnArray[i + 1] !== _util.OPS.setFont || fnArray[i + 2] !== _util.OPS.setTextMatrix || fnArray[i + 3] !== _util.OPS.showText || fnArray[i + 4] !== _util.OPS.endText) {\n        break;\n      }\n      if (argsArray[i + 1][0] !== firstSetFontArg0 || argsArray[i + 1][1] !== firstSetFontArg1) {\n        break;\n      }\n      i += 5;\n    }\n    var count = Math.min((i - iFirstBeginText) / 5, MAX_CHARS_IN_BLOCK);\n    if (count < MIN_CHARS_IN_BLOCK) {\n      return i;\n    }\n    var iFirst = iFirstBeginText;\n    if (iFirstBeginText >= 4 && fnArray[iFirstBeginText - 4] === fnArray[iFirstSetFont] && fnArray[iFirstBeginText - 3] === fnArray[iFirstSetTextMatrix] && fnArray[iFirstBeginText - 2] === fnArray[iFirstShowText] && fnArray[iFirstBeginText - 1] === fnArray[iFirstEndText] && argsArray[iFirstBeginText - 4][0] === firstSetFontArg0 && argsArray[iFirstBeginText - 4][1] === firstSetFontArg1) {\n      count++;\n      iFirst -= 5;\n    }\n    var iEndText = iFirst + 4;\n    for (var q = 1; q < count; q++) {\n      fnArray.splice(iEndText, 3);\n      argsArray.splice(iEndText, 3);\n      iEndText += 2;\n    }\n    return iEndText + 1;\n  });\n  function QueueOptimizer() {}\n  QueueOptimizer.prototype = {\n    optimize: function QueueOptimizer_optimize(queue) {\n      var fnArray = queue.fnArray,\n          argsArray = queue.argsArray;\n      var context = {\n        iCurr: 0,\n        fnArray: fnArray,\n        argsArray: argsArray\n      };\n      var state;\n      var i = 0,\n          ii = fnArray.length;\n      while (i < ii) {\n        state = (state || InitialState)[fnArray[i]];\n        if (typeof state === 'function') {\n          context.iCurr = i;\n          i = state(context);\n          state = undefined;\n          ii = context.fnArray.length;\n        } else {\n          i++;\n        }\n      }\n    }\n  };\n  return QueueOptimizer;\n}();\nexports.OperatorList = OperatorList;\nexports.PartialEvaluator = PartialEvaluator;\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.CFFCompiler = exports.CFFPrivateDict = exports.CFFTopDict = exports.CFFCharset = exports.CFFIndex = exports.CFFStrings = exports.CFFHeader = exports.CFF = exports.CFFParser = exports.CFFStandardStrings = undefined;\n\nvar _util = __w_pdfjs_require__(0);\n\nvar _charsets = __w_pdfjs_require__(150);\n\nvar _encodings = __w_pdfjs_require__(30);\n\nvar MAX_SUBR_NESTING = 10;\nvar CFFStandardStrings = ['.notdef', 'space', 'exclam', 'quotedbl', 'numbersign', 'dollar', 'percent', 'ampersand', 'quoteright', 'parenleft', 'parenright', 'asterisk', 'plus', 'comma', 'hyphen', 'period', 'slash', 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'colon', 'semicolon', 'less', 'equal', 'greater', 'question', 'at', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'bracketleft', 'backslash', 'bracketright', 'asciicircum', 'underscore', 'quoteleft', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'braceleft', 'bar', 'braceright', 'asciitilde', 'exclamdown', 'cent', 'sterling', 'fraction', 'yen', 'florin', 'section', 'currency', 'quotesingle', 'quotedblleft', 'guillemotleft', 'guilsinglleft', 'guilsinglright', 'fi', 'fl', 'endash', 'dagger', 'daggerdbl', 'periodcentered', 'paragraph', 'bullet', 'quotesinglbase', 'quotedblbase', 'quotedblright', 'guillemotright', 'ellipsis', 'perthousand', 'questiondown', 'grave', 'acute', 'circumflex', 'tilde', 'macron', 'breve', 'dotaccent', 'dieresis', 'ring', 'cedilla', 'hungarumlaut', 'ogonek', 'caron', 'emdash', 'AE', 'ordfeminine', 'Lslash', 'Oslash', 'OE', 'ordmasculine', 'ae', 'dotlessi', 'lslash', 'oslash', 'oe', 'germandbls', 'onesuperior', 'logicalnot', 'mu', 'trademark', 'Eth', 'onehalf', 'plusminus', 'Thorn', 'onequarter', 'divide', 'brokenbar', 'degree', 'thorn', 'threequarters', 'twosuperior', 'registered', 'minus', 'eth', 'multiply', 'threesuperior', 'copyright', 'Aacute', 'Acircumflex', 'Adieresis', 'Agrave', 'Aring', 'Atilde', 'Ccedilla', 'Eacute', 'Ecircumflex', 'Edieresis', 'Egrave', 'Iacute', 'Icircumflex', 'Idieresis', 'Igrave', 'Ntilde', 'Oacute', 'Ocircumflex', 'Odieresis', 'Ograve', 'Otilde', 'Scaron', 'Uacute', 'Ucircumflex', 'Udieresis', 'Ugrave', 'Yacute', 'Ydieresis', 'Zcaron', 'aacute', 'acircumflex', 'adieresis', 'agrave', 'aring', 'atilde', 'ccedilla', 'eacute', 'ecircumflex', 'edieresis', 'egrave', 'iacute', 'icircumflex', 'idieresis', 'igrave', 'ntilde', 'oacute', 'ocircumflex', 'odieresis', 'ograve', 'otilde', 'scaron', 'uacute', 'ucircumflex', 'udieresis', 'ugrave', 'yacute', 'ydieresis', 'zcaron', 'exclamsmall', 'Hungarumlautsmall', 'dollaroldstyle', 'dollarsuperior', 'ampersandsmall', 'Acutesmall', 'parenleftsuperior', 'parenrightsuperior', 'twodotenleader', 'onedotenleader', 'zerooldstyle', 'oneoldstyle', 'twooldstyle', 'threeoldstyle', 'fouroldstyle', 'fiveoldstyle', 'sixoldstyle', 'sevenoldstyle', 'eightoldstyle', 'nineoldstyle', 'commasuperior', 'threequartersemdash', 'periodsuperior', 'questionsmall', 'asuperior', 'bsuperior', 'centsuperior', 'dsuperior', 'esuperior', 'isuperior', 'lsuperior', 'msuperior', 'nsuperior', 'osuperior', 'rsuperior', 'ssuperior', 'tsuperior', 'ff', 'ffi', 'ffl', 'parenleftinferior', 'parenrightinferior', 'Circumflexsmall', 'hyphensuperior', 'Gravesmall', 'Asmall', 'Bsmall', 'Csmall', 'Dsmall', 'Esmall', 'Fsmall', 'Gsmall', 'Hsmall', 'Ismall', 'Jsmall', 'Ksmall', 'Lsmall', 'Msmall', 'Nsmall', 'Osmall', 'Psmall', 'Qsmall', 'Rsmall', 'Ssmall', 'Tsmall', 'Usmall', 'Vsmall', 'Wsmall', 'Xsmall', 'Ysmall', 'Zsmall', 'colonmonetary', 'onefitted', 'rupiah', 'Tildesmall', 'exclamdownsmall', 'centoldstyle', 'Lslashsmall', 'Scaronsmall', 'Zcaronsmall', 'Dieresissmall', 'Brevesmall', 'Caronsmall', 'Dotaccentsmall', 'Macronsmall', 'figuredash', 'hypheninferior', 'Ogoneksmall', 'Ringsmall', 'Cedillasmall', 'questiondownsmall', 'oneeighth', 'threeeighths', 'fiveeighths', 'seveneighths', 'onethird', 'twothirds', 'zerosuperior', 'foursuperior', 'fivesuperior', 'sixsuperior', 'sevensuperior', 'eightsuperior', 'ninesuperior', 'zeroinferior', 'oneinferior', 'twoinferior', 'threeinferior', 'fourinferior', 'fiveinferior', 'sixinferior', 'seveninferior', 'eightinferior', 'nineinferior', 'centinferior', 'dollarinferior', 'periodinferior', 'commainferior', 'Agravesmall', 'Aacutesmall', 'Acircumflexsmall', 'Atildesmall', 'Adieresissmall', 'Aringsmall', 'AEsmall', 'Ccedillasmall', 'Egravesmall', 'Eacutesmall', 'Ecircumflexsmall', 'Edieresissmall', 'Igravesmall', 'Iacutesmall', 'Icircumflexsmall', 'Idieresissmall', 'Ethsmall', 'Ntildesmall', 'Ogravesmall', 'Oacutesmall', 'Ocircumflexsmall', 'Otildesmall', 'Odieresissmall', 'OEsmall', 'Oslashsmall', 'Ugravesmall', 'Uacutesmall', 'Ucircumflexsmall', 'Udieresissmall', 'Yacutesmall', 'Thornsmall', 'Ydieresissmall', '001.000', '001.001', '001.002', '001.003', 'Black', 'Bold', 'Book', 'Light', 'Medium', 'Regular', 'Roman', 'Semibold'];\nvar CFFParser = function CFFParserClosure() {\n  var CharstringValidationData = [null, {\n    id: 'hstem',\n    min: 2,\n    stackClearing: true,\n    stem: true\n  }, null, {\n    id: 'vstem',\n    min: 2,\n    stackClearing: true,\n    stem: true\n  }, {\n    id: 'vmoveto',\n    min: 1,\n    stackClearing: true\n  }, {\n    id: 'rlineto',\n    min: 2,\n    resetStack: true\n  }, {\n    id: 'hlineto',\n    min: 1,\n    resetStack: true\n  }, {\n    id: 'vlineto',\n    min: 1,\n    resetStack: true\n  }, {\n    id: 'rrcurveto',\n    min: 6,\n    resetStack: true\n  }, null, {\n    id: 'callsubr',\n    min: 1,\n    undefStack: true\n  }, {\n    id: 'return',\n    min: 0,\n    undefStack: true\n  }, null, null, {\n    id: 'endchar',\n    min: 0,\n    stackClearing: true\n  }, null, null, null, {\n    id: 'hstemhm',\n    min: 2,\n    stackClearing: true,\n    stem: true\n  }, {\n    id: 'hintmask',\n    min: 0,\n    stackClearing: true\n  }, {\n    id: 'cntrmask',\n    min: 0,\n    stackClearing: true\n  }, {\n    id: 'rmoveto',\n    min: 2,\n    stackClearing: true\n  }, {\n    id: 'hmoveto',\n    min: 1,\n    stackClearing: true\n  }, {\n    id: 'vstemhm',\n    min: 2,\n    stackClearing: true,\n    stem: true\n  }, {\n    id: 'rcurveline',\n    min: 8,\n    resetStack: true\n  }, {\n    id: 'rlinecurve',\n    min: 8,\n    resetStack: true\n  }, {\n    id: 'vvcurveto',\n    min: 4,\n    resetStack: true\n  }, {\n    id: 'hhcurveto',\n    min: 4,\n    resetStack: true\n  }, null, {\n    id: 'callgsubr',\n    min: 1,\n    undefStack: true\n  }, {\n    id: 'vhcurveto',\n    min: 4,\n    resetStack: true\n  }, {\n    id: 'hvcurveto',\n    min: 4,\n    resetStack: true\n  }];\n  var CharstringValidationData12 = [null, null, null, {\n    id: 'and',\n    min: 2,\n    stackDelta: -1\n  }, {\n    id: 'or',\n    min: 2,\n    stackDelta: -1\n  }, {\n    id: 'not',\n    min: 1,\n    stackDelta: 0\n  }, null, null, null, {\n    id: 'abs',\n    min: 1,\n    stackDelta: 0\n  }, {\n    id: 'add',\n    min: 2,\n    stackDelta: -1,\n    stackFn: function stack_div(stack, index) {\n      stack[index - 2] = stack[index - 2] + stack[index - 1];\n    }\n  }, {\n    id: 'sub',\n    min: 2,\n    stackDelta: -1,\n    stackFn: function stack_div(stack, index) {\n      stack[index - 2] = stack[index - 2] - stack[index - 1];\n    }\n  }, {\n    id: 'div',\n    min: 2,\n    stackDelta: -1,\n    stackFn: function stack_div(stack, index) {\n      stack[index - 2] = stack[index - 2] / stack[index - 1];\n    }\n  }, null, {\n    id: 'neg',\n    min: 1,\n    stackDelta: 0,\n    stackFn: function stack_div(stack, index) {\n      stack[index - 1] = -stack[index - 1];\n    }\n  }, {\n    id: 'eq',\n    min: 2,\n    stackDelta: -1\n  }, null, null, {\n    id: 'drop',\n    min: 1,\n    stackDelta: -1\n  }, null, {\n    id: 'put',\n    min: 2,\n    stackDelta: -2\n  }, {\n    id: 'get',\n    min: 1,\n    stackDelta: 0\n  }, {\n    id: 'ifelse',\n    min: 4,\n    stackDelta: -3\n  }, {\n    id: 'random',\n    min: 0,\n    stackDelta: 1\n  }, {\n    id: 'mul',\n    min: 2,\n    stackDelta: -1,\n    stackFn: function stack_div(stack, index) {\n      stack[index - 2] = stack[index - 2] * stack[index - 1];\n    }\n  }, null, {\n    id: 'sqrt',\n    min: 1,\n    stackDelta: 0\n  }, {\n    id: 'dup',\n    min: 1,\n    stackDelta: 1\n  }, {\n    id: 'exch',\n    min: 2,\n    stackDelta: 0\n  }, {\n    id: 'index',\n    min: 2,\n    stackDelta: 0\n  }, {\n    id: 'roll',\n    min: 3,\n    stackDelta: -2\n  }, null, null, null, {\n    id: 'hflex',\n    min: 7,\n    resetStack: true\n  }, {\n    id: 'flex',\n    min: 13,\n    resetStack: true\n  }, {\n    id: 'hflex1',\n    min: 9,\n    resetStack: true\n  }, {\n    id: 'flex1',\n    min: 11,\n    resetStack: true\n  }];\n  function CFFParser(file, properties, seacAnalysisEnabled) {\n    this.bytes = file.getBytes();\n    this.properties = properties;\n    this.seacAnalysisEnabled = !!seacAnalysisEnabled;\n  }\n  CFFParser.prototype = {\n    parse: function CFFParser_parse() {\n      var properties = this.properties;\n      var cff = new CFF();\n      this.cff = cff;\n      var header = this.parseHeader();\n      var nameIndex = this.parseIndex(header.endPos);\n      var topDictIndex = this.parseIndex(nameIndex.endPos);\n      var stringIndex = this.parseIndex(topDictIndex.endPos);\n      var globalSubrIndex = this.parseIndex(stringIndex.endPos);\n      var topDictParsed = this.parseDict(topDictIndex.obj.get(0));\n      var topDict = this.createDict(CFFTopDict, topDictParsed, cff.strings);\n      cff.header = header.obj;\n      cff.names = this.parseNameIndex(nameIndex.obj);\n      cff.strings = this.parseStringIndex(stringIndex.obj);\n      cff.topDict = topDict;\n      cff.globalSubrIndex = globalSubrIndex.obj;\n      this.parsePrivateDict(cff.topDict);\n      cff.isCIDFont = topDict.hasName('ROS');\n      var charStringOffset = topDict.getByName('CharStrings');\n      var charStringIndex = this.parseIndex(charStringOffset).obj;\n      var fontMatrix = topDict.getByName('FontMatrix');\n      if (fontMatrix) {\n        properties.fontMatrix = fontMatrix;\n      }\n      var fontBBox = topDict.getByName('FontBBox');\n      if (fontBBox) {\n        properties.ascent = Math.max(fontBBox[3], fontBBox[1]);\n        properties.descent = Math.min(fontBBox[1], fontBBox[3]);\n        properties.ascentScaled = true;\n      }\n      var charset, encoding;\n      if (cff.isCIDFont) {\n        var fdArrayIndex = this.parseIndex(topDict.getByName('FDArray')).obj;\n        for (var i = 0, ii = fdArrayIndex.count; i < ii; ++i) {\n          var dictRaw = fdArrayIndex.get(i);\n          var fontDict = this.createDict(CFFTopDict, this.parseDict(dictRaw), cff.strings);\n          this.parsePrivateDict(fontDict);\n          cff.fdArray.push(fontDict);\n        }\n        encoding = null;\n        charset = this.parseCharsets(topDict.getByName('charset'), charStringIndex.count, cff.strings, true);\n        cff.fdSelect = this.parseFDSelect(topDict.getByName('FDSelect'), charStringIndex.count);\n      } else {\n        charset = this.parseCharsets(topDict.getByName('charset'), charStringIndex.count, cff.strings, false);\n        encoding = this.parseEncoding(topDict.getByName('Encoding'), properties, cff.strings, charset.charset);\n      }\n      cff.charset = charset;\n      cff.encoding = encoding;\n      var charStringsAndSeacs = this.parseCharStrings({\n        charStrings: charStringIndex,\n        localSubrIndex: topDict.privateDict.subrsIndex,\n        globalSubrIndex: globalSubrIndex.obj,\n        fdSelect: cff.fdSelect,\n        fdArray: cff.fdArray,\n        privateDict: topDict.privateDict\n      });\n      cff.charStrings = charStringsAndSeacs.charStrings;\n      cff.seacs = charStringsAndSeacs.seacs;\n      cff.widths = charStringsAndSeacs.widths;\n      return cff;\n    },\n    parseHeader: function CFFParser_parseHeader() {\n      var bytes = this.bytes;\n      var bytesLength = bytes.length;\n      var offset = 0;\n      while (offset < bytesLength && bytes[offset] !== 1) {\n        ++offset;\n      }\n      if (offset >= bytesLength) {\n        throw new _util.FormatError('Invalid CFF header');\n      }\n      if (offset !== 0) {\n        (0, _util.info)('cff data is shifted');\n        bytes = bytes.subarray(offset);\n        this.bytes = bytes;\n      }\n      var major = bytes[0];\n      var minor = bytes[1];\n      var hdrSize = bytes[2];\n      var offSize = bytes[3];\n      var header = new CFFHeader(major, minor, hdrSize, offSize);\n      return {\n        obj: header,\n        endPos: hdrSize\n      };\n    },\n    parseDict: function CFFParser_parseDict(dict) {\n      var pos = 0;\n      function parseOperand() {\n        var value = dict[pos++];\n        if (value === 30) {\n          return parseFloatOperand();\n        } else if (value === 28) {\n          value = dict[pos++];\n          value = (value << 24 | dict[pos++] << 16) >> 16;\n          return value;\n        } else if (value === 29) {\n          value = dict[pos++];\n          value = value << 8 | dict[pos++];\n          value = value << 8 | dict[pos++];\n          value = value << 8 | dict[pos++];\n          return value;\n        } else if (value >= 32 && value <= 246) {\n          return value - 139;\n        } else if (value >= 247 && value <= 250) {\n          return (value - 247) * 256 + dict[pos++] + 108;\n        } else if (value >= 251 && value <= 254) {\n          return -((value - 251) * 256) - dict[pos++] - 108;\n        }\n        (0, _util.warn)('CFFParser_parseDict: \"' + value + '\" is a reserved command.');\n        return NaN;\n      }\n      function parseFloatOperand() {\n        var str = '';\n        var eof = 15;\n        var lookup = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '.', 'E', 'E-', null, '-'];\n        var length = dict.length;\n        while (pos < length) {\n          var b = dict[pos++];\n          var b1 = b >> 4;\n          var b2 = b & 15;\n          if (b1 === eof) {\n            break;\n          }\n          str += lookup[b1];\n          if (b2 === eof) {\n            break;\n          }\n          str += lookup[b2];\n        }\n        return parseFloat(str);\n      }\n      var operands = [];\n      var entries = [];\n      pos = 0;\n      var end = dict.length;\n      while (pos < end) {\n        var b = dict[pos];\n        if (b <= 21) {\n          if (b === 12) {\n            b = b << 8 | dict[++pos];\n          }\n          entries.push([b, operands]);\n          operands = [];\n          ++pos;\n        } else {\n          operands.push(parseOperand());\n        }\n      }\n      return entries;\n    },\n    parseIndex: function CFFParser_parseIndex(pos) {\n      var cffIndex = new CFFIndex();\n      var bytes = this.bytes;\n      var count = bytes[pos++] << 8 | bytes[pos++];\n      var offsets = [];\n      var end = pos;\n      var i, ii;\n      if (count !== 0) {\n        var offsetSize = bytes[pos++];\n        var startPos = pos + (count + 1) * offsetSize - 1;\n        for (i = 0, ii = count + 1; i < ii; ++i) {\n          var offset = 0;\n          for (var j = 0; j < offsetSize; ++j) {\n            offset <<= 8;\n            offset += bytes[pos++];\n          }\n          offsets.push(startPos + offset);\n        }\n        end = offsets[count];\n      }\n      for (i = 0, ii = offsets.length - 1; i < ii; ++i) {\n        var offsetStart = offsets[i];\n        var offsetEnd = offsets[i + 1];\n        cffIndex.add(bytes.subarray(offsetStart, offsetEnd));\n      }\n      return {\n        obj: cffIndex,\n        endPos: end\n      };\n    },\n    parseNameIndex: function CFFParser_parseNameIndex(index) {\n      var names = [];\n      for (var i = 0, ii = index.count; i < ii; ++i) {\n        var name = index.get(i);\n        names.push((0, _util.bytesToString)(name));\n      }\n      return names;\n    },\n    parseStringIndex: function CFFParser_parseStringIndex(index) {\n      var strings = new CFFStrings();\n      for (var i = 0, ii = index.count; i < ii; ++i) {\n        var data = index.get(i);\n        strings.add((0, _util.bytesToString)(data));\n      }\n      return strings;\n    },\n    createDict: function CFFParser_createDict(Type, dict, strings) {\n      var cffDict = new Type(strings);\n      for (var i = 0, ii = dict.length; i < ii; ++i) {\n        var pair = dict[i];\n        var key = pair[0];\n        var value = pair[1];\n        cffDict.setByKey(key, value);\n      }\n      return cffDict;\n    },\n    parseCharString: function CFFParser_parseCharString(state, data, localSubrIndex, globalSubrIndex) {\n      if (!data || state.callDepth > MAX_SUBR_NESTING) {\n        return false;\n      }\n      var stackSize = state.stackSize;\n      var stack = state.stack;\n      var length = data.length;\n      for (var j = 0; j < length;) {\n        var value = data[j++];\n        var validationCommand = null;\n        if (value === 12) {\n          var q = data[j++];\n          if (q === 0) {\n            data[j - 2] = 139;\n            data[j - 1] = 22;\n            stackSize = 0;\n          } else {\n            validationCommand = CharstringValidationData12[q];\n          }\n        } else if (value === 28) {\n          stack[stackSize] = (data[j] << 24 | data[j + 1] << 16) >> 16;\n          j += 2;\n          stackSize++;\n        } else if (value === 14) {\n          if (stackSize >= 4) {\n            stackSize -= 4;\n            if (this.seacAnalysisEnabled) {\n              state.seac = stack.slice(stackSize, stackSize + 4);\n              return false;\n            }\n          }\n          validationCommand = CharstringValidationData[value];\n        } else if (value >= 32 && value <= 246) {\n          stack[stackSize] = value - 139;\n          stackSize++;\n        } else if (value >= 247 && value <= 254) {\n          stack[stackSize] = value < 251 ? (value - 247 << 8) + data[j] + 108 : -(value - 251 << 8) - data[j] - 108;\n          j++;\n          stackSize++;\n        } else if (value === 255) {\n          stack[stackSize] = (data[j] << 24 | data[j + 1] << 16 | data[j + 2] << 8 | data[j + 3]) / 65536;\n          j += 4;\n          stackSize++;\n        } else if (value === 19 || value === 20) {\n          state.hints += stackSize >> 1;\n          j += state.hints + 7 >> 3;\n          stackSize %= 2;\n          validationCommand = CharstringValidationData[value];\n        } else if (value === 10 || value === 29) {\n          var subrsIndex;\n          if (value === 10) {\n            subrsIndex = localSubrIndex;\n          } else {\n            subrsIndex = globalSubrIndex;\n          }\n          if (!subrsIndex) {\n            validationCommand = CharstringValidationData[value];\n            (0, _util.warn)('Missing subrsIndex for ' + validationCommand.id);\n            return false;\n          }\n          var bias = 32768;\n          if (subrsIndex.count < 1240) {\n            bias = 107;\n          } else if (subrsIndex.count < 33900) {\n            bias = 1131;\n          }\n          var subrNumber = stack[--stackSize] + bias;\n          if (subrNumber < 0 || subrNumber >= subrsIndex.count || isNaN(subrNumber)) {\n            validationCommand = CharstringValidationData[value];\n            (0, _util.warn)('Out of bounds subrIndex for ' + validationCommand.id);\n            return false;\n          }\n          state.stackSize = stackSize;\n          state.callDepth++;\n          var valid = this.parseCharString(state, subrsIndex.get(subrNumber), localSubrIndex, globalSubrIndex);\n          if (!valid) {\n            return false;\n          }\n          state.callDepth--;\n          stackSize = state.stackSize;\n          continue;\n        } else if (value === 11) {\n          state.stackSize = stackSize;\n          return true;\n        } else {\n          validationCommand = CharstringValidationData[value];\n        }\n        if (validationCommand) {\n          if (validationCommand.stem) {\n            state.hints += stackSize >> 1;\n          }\n          if ('min' in validationCommand) {\n            if (!state.undefStack && stackSize < validationCommand.min) {\n              (0, _util.warn)('Not enough parameters for ' + validationCommand.id + '; actual: ' + stackSize + ', expected: ' + validationCommand.min);\n              return false;\n            }\n          }\n          if (state.firstStackClearing && validationCommand.stackClearing) {\n            state.firstStackClearing = false;\n            stackSize -= validationCommand.min;\n            if (stackSize >= 2 && validationCommand.stem) {\n              stackSize %= 2;\n            } else if (stackSize > 1) {\n              (0, _util.warn)('Found too many parameters for stack-clearing command');\n            }\n            if (stackSize > 0 && stack[stackSize - 1] >= 0) {\n              state.width = stack[stackSize - 1];\n            }\n          }\n          if ('stackDelta' in validationCommand) {\n            if ('stackFn' in validationCommand) {\n              validationCommand.stackFn(stack, stackSize);\n            }\n            stackSize += validationCommand.stackDelta;\n          } else if (validationCommand.stackClearing) {\n            stackSize = 0;\n          } else if (validationCommand.resetStack) {\n            stackSize = 0;\n            state.undefStack = false;\n          } else if (validationCommand.undefStack) {\n            stackSize = 0;\n            state.undefStack = true;\n            state.firstStackClearing = false;\n          }\n        }\n      }\n      state.stackSize = stackSize;\n      return true;\n    },\n    parseCharStrings: function parseCharStrings(_ref) {\n      var charStrings = _ref.charStrings,\n          localSubrIndex = _ref.localSubrIndex,\n          globalSubrIndex = _ref.globalSubrIndex,\n          fdSelect = _ref.fdSelect,\n          fdArray = _ref.fdArray,\n          privateDict = _ref.privateDict;\n\n      var seacs = [];\n      var widths = [];\n      var count = charStrings.count;\n      for (var i = 0; i < count; i++) {\n        var charstring = charStrings.get(i);\n        var state = {\n          callDepth: 0,\n          stackSize: 0,\n          stack: [],\n          undefStack: true,\n          hints: 0,\n          firstStackClearing: true,\n          seac: null,\n          width: null\n        };\n        var valid = true;\n        var localSubrToUse = null;\n        var privateDictToUse = privateDict;\n        if (fdSelect && fdArray.length) {\n          var fdIndex = fdSelect.getFDIndex(i);\n          if (fdIndex === -1) {\n            (0, _util.warn)('Glyph index is not in fd select.');\n            valid = false;\n          }\n          if (fdIndex >= fdArray.length) {\n            (0, _util.warn)('Invalid fd index for glyph index.');\n            valid = false;\n          }\n          if (valid) {\n            privateDictToUse = fdArray[fdIndex].privateDict;\n            localSubrToUse = privateDictToUse.subrsIndex;\n          }\n        } else if (localSubrIndex) {\n          localSubrToUse = localSubrIndex;\n        }\n        if (valid) {\n          valid = this.parseCharString(state, charstring, localSubrToUse, globalSubrIndex);\n        }\n        if (state.width !== null) {\n          var nominalWidth = privateDictToUse.getByName('nominalWidthX');\n          widths[i] = nominalWidth + state.width;\n        } else {\n          var defaultWidth = privateDictToUse.getByName('defaultWidthX');\n          widths[i] = defaultWidth;\n        }\n        if (state.seac !== null) {\n          seacs[i] = state.seac;\n        }\n        if (!valid) {\n          charStrings.set(i, new Uint8Array([14]));\n        }\n      }\n      return {\n        charStrings: charStrings,\n        seacs: seacs,\n        widths: widths\n      };\n    },\n\n    emptyPrivateDictionary: function CFFParser_emptyPrivateDictionary(parentDict) {\n      var privateDict = this.createDict(CFFPrivateDict, [], parentDict.strings);\n      parentDict.setByKey(18, [0, 0]);\n      parentDict.privateDict = privateDict;\n    },\n    parsePrivateDict: function CFFParser_parsePrivateDict(parentDict) {\n      if (!parentDict.hasName('Private')) {\n        this.emptyPrivateDictionary(parentDict);\n        return;\n      }\n      var privateOffset = parentDict.getByName('Private');\n      if (!Array.isArray(privateOffset) || privateOffset.length !== 2) {\n        parentDict.removeByName('Private');\n        return;\n      }\n      var size = privateOffset[0];\n      var offset = privateOffset[1];\n      if (size === 0 || offset >= this.bytes.length) {\n        this.emptyPrivateDictionary(parentDict);\n        return;\n      }\n      var privateDictEnd = offset + size;\n      var dictData = this.bytes.subarray(offset, privateDictEnd);\n      var dict = this.parseDict(dictData);\n      var privateDict = this.createDict(CFFPrivateDict, dict, parentDict.strings);\n      parentDict.privateDict = privateDict;\n      if (!privateDict.getByName('Subrs')) {\n        return;\n      }\n      var subrsOffset = privateDict.getByName('Subrs');\n      var relativeOffset = offset + subrsOffset;\n      if (subrsOffset === 0 || relativeOffset >= this.bytes.length) {\n        this.emptyPrivateDictionary(parentDict);\n        return;\n      }\n      var subrsIndex = this.parseIndex(relativeOffset);\n      privateDict.subrsIndex = subrsIndex.obj;\n    },\n    parseCharsets: function CFFParser_parseCharsets(pos, length, strings, cid) {\n      if (pos === 0) {\n        return new CFFCharset(true, CFFCharsetPredefinedTypes.ISO_ADOBE, _charsets.ISOAdobeCharset);\n      } else if (pos === 1) {\n        return new CFFCharset(true, CFFCharsetPredefinedTypes.EXPERT, _charsets.ExpertCharset);\n      } else if (pos === 2) {\n        return new CFFCharset(true, CFFCharsetPredefinedTypes.EXPERT_SUBSET, _charsets.ExpertSubsetCharset);\n      }\n      var bytes = this.bytes;\n      var start = pos;\n      var format = bytes[pos++];\n      var charset = ['.notdef'];\n      var id, count, i;\n      length -= 1;\n      switch (format) {\n        case 0:\n          for (i = 0; i < length; i++) {\n            id = bytes[pos++] << 8 | bytes[pos++];\n            charset.push(cid ? id : strings.get(id));\n          }\n          break;\n        case 1:\n          while (charset.length <= length) {\n            id = bytes[pos++] << 8 | bytes[pos++];\n            count = bytes[pos++];\n            for (i = 0; i <= count; i++) {\n              charset.push(cid ? id++ : strings.get(id++));\n            }\n          }\n          break;\n        case 2:\n          while (charset.length <= length) {\n            id = bytes[pos++] << 8 | bytes[pos++];\n            count = bytes[pos++] << 8 | bytes[pos++];\n            for (i = 0; i <= count; i++) {\n              charset.push(cid ? id++ : strings.get(id++));\n            }\n          }\n          break;\n        default:\n          throw new _util.FormatError('Unknown charset format');\n      }\n      var end = pos;\n      var raw = bytes.subarray(start, end);\n      return new CFFCharset(false, format, charset, raw);\n    },\n    parseEncoding: function CFFParser_parseEncoding(pos, properties, strings, charset) {\n      var encoding = Object.create(null);\n      var bytes = this.bytes;\n      var predefined = false;\n      var format, i, ii;\n      var raw = null;\n      function readSupplement() {\n        var supplementsCount = bytes[pos++];\n        for (i = 0; i < supplementsCount; i++) {\n          var code = bytes[pos++];\n          var sid = (bytes[pos++] << 8) + (bytes[pos++] & 0xff);\n          encoding[code] = charset.indexOf(strings.get(sid));\n        }\n      }\n      if (pos === 0 || pos === 1) {\n        predefined = true;\n        format = pos;\n        var baseEncoding = pos ? _encodings.ExpertEncoding : _encodings.StandardEncoding;\n        for (i = 0, ii = charset.length; i < ii; i++) {\n          var index = baseEncoding.indexOf(charset[i]);\n          if (index !== -1) {\n            encoding[index] = i;\n          }\n        }\n      } else {\n        var dataStart = pos;\n        format = bytes[pos++];\n        switch (format & 0x7f) {\n          case 0:\n            var glyphsCount = bytes[pos++];\n            for (i = 1; i <= glyphsCount; i++) {\n              encoding[bytes[pos++]] = i;\n            }\n            break;\n          case 1:\n            var rangesCount = bytes[pos++];\n            var gid = 1;\n            for (i = 0; i < rangesCount; i++) {\n              var start = bytes[pos++];\n              var left = bytes[pos++];\n              for (var j = start; j <= start + left; j++) {\n                encoding[j] = gid++;\n              }\n            }\n            break;\n          default:\n            throw new _util.FormatError('Unknown encoding format: ' + format + ' in CFF');\n        }\n        var dataEnd = pos;\n        if (format & 0x80) {\n          bytes[dataStart] &= 0x7f;\n          readSupplement();\n        }\n        raw = bytes.subarray(dataStart, dataEnd);\n      }\n      format = format & 0x7f;\n      return new CFFEncoding(predefined, format, encoding, raw);\n    },\n    parseFDSelect: function CFFParser_parseFDSelect(pos, length) {\n      var start = pos;\n      var bytes = this.bytes;\n      var format = bytes[pos++];\n      var fdSelect = [],\n          rawBytes;\n      var i,\n          invalidFirstGID = false;\n      switch (format) {\n        case 0:\n          for (i = 0; i < length; ++i) {\n            var id = bytes[pos++];\n            fdSelect.push(id);\n          }\n          rawBytes = bytes.subarray(start, pos);\n          break;\n        case 3:\n          var rangesCount = bytes[pos++] << 8 | bytes[pos++];\n          for (i = 0; i < rangesCount; ++i) {\n            var first = bytes[pos++] << 8 | bytes[pos++];\n            if (i === 0 && first !== 0) {\n              (0, _util.warn)('parseFDSelect: The first range must have a first GID of 0' + ' -- trying to recover.');\n              invalidFirstGID = true;\n              first = 0;\n            }\n            var fdIndex = bytes[pos++];\n            var next = bytes[pos] << 8 | bytes[pos + 1];\n            for (var j = first; j < next; ++j) {\n              fdSelect.push(fdIndex);\n            }\n          }\n          pos += 2;\n          rawBytes = bytes.subarray(start, pos);\n          if (invalidFirstGID) {\n            rawBytes[3] = rawBytes[4] = 0;\n          }\n          break;\n        default:\n          throw new _util.FormatError('parseFDSelect: Unknown format \"' + format + '\".');\n      }\n      if (fdSelect.length !== length) {\n        throw new _util.FormatError('parseFDSelect: Invalid font data.');\n      }\n      return new CFFFDSelect(fdSelect, rawBytes);\n    }\n  };\n  return CFFParser;\n}();\nvar CFF = function CFFClosure() {\n  function CFF() {\n    this.header = null;\n    this.names = [];\n    this.topDict = null;\n    this.strings = new CFFStrings();\n    this.globalSubrIndex = null;\n    this.encoding = null;\n    this.charset = null;\n    this.charStrings = null;\n    this.fdArray = [];\n    this.fdSelect = null;\n    this.isCIDFont = false;\n  }\n  return CFF;\n}();\nvar CFFHeader = function CFFHeaderClosure() {\n  function CFFHeader(major, minor, hdrSize, offSize) {\n    this.major = major;\n    this.minor = minor;\n    this.hdrSize = hdrSize;\n    this.offSize = offSize;\n  }\n  return CFFHeader;\n}();\nvar CFFStrings = function CFFStringsClosure() {\n  function CFFStrings() {\n    this.strings = [];\n  }\n  CFFStrings.prototype = {\n    get: function CFFStrings_get(index) {\n      if (index >= 0 && index <= 390) {\n        return CFFStandardStrings[index];\n      }\n      if (index - 391 <= this.strings.length) {\n        return this.strings[index - 391];\n      }\n      return CFFStandardStrings[0];\n    },\n    add: function CFFStrings_add(value) {\n      this.strings.push(value);\n    },\n    get count() {\n      return this.strings.length;\n    }\n  };\n  return CFFStrings;\n}();\nvar CFFIndex = function CFFIndexClosure() {\n  function CFFIndex() {\n    this.objects = [];\n    this.length = 0;\n  }\n  CFFIndex.prototype = {\n    add: function CFFIndex_add(data) {\n      this.length += data.length;\n      this.objects.push(data);\n    },\n    set: function CFFIndex_set(index, data) {\n      this.length += data.length - this.objects[index].length;\n      this.objects[index] = data;\n    },\n    get: function CFFIndex_get(index) {\n      return this.objects[index];\n    },\n    get count() {\n      return this.objects.length;\n    }\n  };\n  return CFFIndex;\n}();\nvar CFFDict = function CFFDictClosure() {\n  function CFFDict(tables, strings) {\n    this.keyToNameMap = tables.keyToNameMap;\n    this.nameToKeyMap = tables.nameToKeyMap;\n    this.defaults = tables.defaults;\n    this.types = tables.types;\n    this.opcodes = tables.opcodes;\n    this.order = tables.order;\n    this.strings = strings;\n    this.values = Object.create(null);\n  }\n  CFFDict.prototype = {\n    setByKey: function CFFDict_setByKey(key, value) {\n      if (!(key in this.keyToNameMap)) {\n        return false;\n      }\n      var valueLength = value.length;\n      if (valueLength === 0) {\n        return true;\n      }\n      for (var i = 0; i < valueLength; i++) {\n        if (isNaN(value[i])) {\n          (0, _util.warn)('Invalid CFFDict value: \"' + value + '\" for key \"' + key + '\".');\n          return true;\n        }\n      }\n      var type = this.types[key];\n      if (type === 'num' || type === 'sid' || type === 'offset') {\n        value = value[0];\n      }\n      this.values[key] = value;\n      return true;\n    },\n    setByName: function CFFDict_setByName(name, value) {\n      if (!(name in this.nameToKeyMap)) {\n        throw new _util.FormatError('Invalid dictionary name \"' + name + '\"');\n      }\n      this.values[this.nameToKeyMap[name]] = value;\n    },\n    hasName: function CFFDict_hasName(name) {\n      return this.nameToKeyMap[name] in this.values;\n    },\n    getByName: function CFFDict_getByName(name) {\n      if (!(name in this.nameToKeyMap)) {\n        throw new _util.FormatError('Invalid dictionary name ' + name + '\"');\n      }\n      var key = this.nameToKeyMap[name];\n      if (!(key in this.values)) {\n        return this.defaults[key];\n      }\n      return this.values[key];\n    },\n    removeByName: function CFFDict_removeByName(name) {\n      delete this.values[this.nameToKeyMap[name]];\n    }\n  };\n  CFFDict.createTables = function CFFDict_createTables(layout) {\n    var tables = {\n      keyToNameMap: {},\n      nameToKeyMap: {},\n      defaults: {},\n      types: {},\n      opcodes: {},\n      order: []\n    };\n    for (var i = 0, ii = layout.length; i < ii; ++i) {\n      var entry = layout[i];\n      var key = Array.isArray(entry[0]) ? (entry[0][0] << 8) + entry[0][1] : entry[0];\n      tables.keyToNameMap[key] = entry[1];\n      tables.nameToKeyMap[entry[1]] = key;\n      tables.types[key] = entry[2];\n      tables.defaults[key] = entry[3];\n      tables.opcodes[key] = Array.isArray(entry[0]) ? entry[0] : [entry[0]];\n      tables.order.push(key);\n    }\n    return tables;\n  };\n  return CFFDict;\n}();\nvar CFFTopDict = function CFFTopDictClosure() {\n  var layout = [[[12, 30], 'ROS', ['sid', 'sid', 'num'], null], [[12, 20], 'SyntheticBase', 'num', null], [0, 'version', 'sid', null], [1, 'Notice', 'sid', null], [[12, 0], 'Copyright', 'sid', null], [2, 'FullName', 'sid', null], [3, 'FamilyName', 'sid', null], [4, 'Weight', 'sid', null], [[12, 1], 'isFixedPitch', 'num', 0], [[12, 2], 'ItalicAngle', 'num', 0], [[12, 3], 'UnderlinePosition', 'num', -100], [[12, 4], 'UnderlineThickness', 'num', 50], [[12, 5], 'PaintType', 'num', 0], [[12, 6], 'CharstringType', 'num', 2], [[12, 7], 'FontMatrix', ['num', 'num', 'num', 'num', 'num', 'num'], [0.001, 0, 0, 0.001, 0, 0]], [13, 'UniqueID', 'num', null], [5, 'FontBBox', ['num', 'num', 'num', 'num'], [0, 0, 0, 0]], [[12, 8], 'StrokeWidth', 'num', 0], [14, 'XUID', 'array', null], [15, 'charset', 'offset', 0], [16, 'Encoding', 'offset', 0], [17, 'CharStrings', 'offset', 0], [18, 'Private', ['offset', 'offset'], null], [[12, 21], 'PostScript', 'sid', null], [[12, 22], 'BaseFontName', 'sid', null], [[12, 23], 'BaseFontBlend', 'delta', null], [[12, 31], 'CIDFontVersion', 'num', 0], [[12, 32], 'CIDFontRevision', 'num', 0], [[12, 33], 'CIDFontType', 'num', 0], [[12, 34], 'CIDCount', 'num', 8720], [[12, 35], 'UIDBase', 'num', null], [[12, 37], 'FDSelect', 'offset', null], [[12, 36], 'FDArray', 'offset', null], [[12, 38], 'FontName', 'sid', null]];\n  var tables = null;\n  function CFFTopDict(strings) {\n    if (tables === null) {\n      tables = CFFDict.createTables(layout);\n    }\n    CFFDict.call(this, tables, strings);\n    this.privateDict = null;\n  }\n  CFFTopDict.prototype = Object.create(CFFDict.prototype);\n  return CFFTopDict;\n}();\nvar CFFPrivateDict = function CFFPrivateDictClosure() {\n  var layout = [[6, 'BlueValues', 'delta', null], [7, 'OtherBlues', 'delta', null], [8, 'FamilyBlues', 'delta', null], [9, 'FamilyOtherBlues', 'delta', null], [[12, 9], 'BlueScale', 'num', 0.039625], [[12, 10], 'BlueShift', 'num', 7], [[12, 11], 'BlueFuzz', 'num', 1], [10, 'StdHW', 'num', null], [11, 'StdVW', 'num', null], [[12, 12], 'StemSnapH', 'delta', null], [[12, 13], 'StemSnapV', 'delta', null], [[12, 14], 'ForceBold', 'num', 0], [[12, 17], 'LanguageGroup', 'num', 0], [[12, 18], 'ExpansionFactor', 'num', 0.06], [[12, 19], 'initialRandomSeed', 'num', 0], [20, 'defaultWidthX', 'num', 0], [21, 'nominalWidthX', 'num', 0], [19, 'Subrs', 'offset', null]];\n  var tables = null;\n  function CFFPrivateDict(strings) {\n    if (tables === null) {\n      tables = CFFDict.createTables(layout);\n    }\n    CFFDict.call(this, tables, strings);\n    this.subrsIndex = null;\n  }\n  CFFPrivateDict.prototype = Object.create(CFFDict.prototype);\n  return CFFPrivateDict;\n}();\nvar CFFCharsetPredefinedTypes = {\n  ISO_ADOBE: 0,\n  EXPERT: 1,\n  EXPERT_SUBSET: 2\n};\nvar CFFCharset = function CFFCharsetClosure() {\n  function CFFCharset(predefined, format, charset, raw) {\n    this.predefined = predefined;\n    this.format = format;\n    this.charset = charset;\n    this.raw = raw;\n  }\n  return CFFCharset;\n}();\nvar CFFEncoding = function CFFEncodingClosure() {\n  function CFFEncoding(predefined, format, encoding, raw) {\n    this.predefined = predefined;\n    this.format = format;\n    this.encoding = encoding;\n    this.raw = raw;\n  }\n  return CFFEncoding;\n}();\nvar CFFFDSelect = function CFFFDSelectClosure() {\n  function CFFFDSelect(fdSelect, raw) {\n    this.fdSelect = fdSelect;\n    this.raw = raw;\n  }\n  CFFFDSelect.prototype = {\n    getFDIndex: function CFFFDSelect_get(glyphIndex) {\n      if (glyphIndex < 0 || glyphIndex >= this.fdSelect.length) {\n        return -1;\n      }\n      return this.fdSelect[glyphIndex];\n    }\n  };\n  return CFFFDSelect;\n}();\nvar CFFOffsetTracker = function CFFOffsetTrackerClosure() {\n  function CFFOffsetTracker() {\n    this.offsets = Object.create(null);\n  }\n  CFFOffsetTracker.prototype = {\n    isTracking: function CFFOffsetTracker_isTracking(key) {\n      return key in this.offsets;\n    },\n    track: function CFFOffsetTracker_track(key, location) {\n      if (key in this.offsets) {\n        throw new _util.FormatError('Already tracking location of ' + key);\n      }\n      this.offsets[key] = location;\n    },\n    offset: function CFFOffsetTracker_offset(value) {\n      for (var key in this.offsets) {\n        this.offsets[key] += value;\n      }\n    },\n    setEntryLocation: function CFFOffsetTracker_setEntryLocation(key, values, output) {\n      if (!(key in this.offsets)) {\n        throw new _util.FormatError('Not tracking location of ' + key);\n      }\n      var data = output.data;\n      var dataOffset = this.offsets[key];\n      var size = 5;\n      for (var i = 0, ii = values.length; i < ii; ++i) {\n        var offset0 = i * size + dataOffset;\n        var offset1 = offset0 + 1;\n        var offset2 = offset0 + 2;\n        var offset3 = offset0 + 3;\n        var offset4 = offset0 + 4;\n        if (data[offset0] !== 0x1d || data[offset1] !== 0 || data[offset2] !== 0 || data[offset3] !== 0 || data[offset4] !== 0) {\n          throw new _util.FormatError('writing to an offset that is not empty');\n        }\n        var value = values[i];\n        data[offset0] = 0x1d;\n        data[offset1] = value >> 24 & 0xFF;\n        data[offset2] = value >> 16 & 0xFF;\n        data[offset3] = value >> 8 & 0xFF;\n        data[offset4] = value & 0xFF;\n      }\n    }\n  };\n  return CFFOffsetTracker;\n}();\nvar CFFCompiler = function CFFCompilerClosure() {\n  function CFFCompiler(cff) {\n    this.cff = cff;\n  }\n  CFFCompiler.prototype = {\n    compile: function CFFCompiler_compile() {\n      var cff = this.cff;\n      var output = {\n        data: [],\n        length: 0,\n        add: function CFFCompiler_add(data) {\n          this.data = this.data.concat(data);\n          this.length = this.data.length;\n        }\n      };\n      var header = this.compileHeader(cff.header);\n      output.add(header);\n      var nameIndex = this.compileNameIndex(cff.names);\n      output.add(nameIndex);\n      if (cff.isCIDFont) {\n        if (cff.topDict.hasName('FontMatrix')) {\n          var base = cff.topDict.getByName('FontMatrix');\n          cff.topDict.removeByName('FontMatrix');\n          for (var i = 0, ii = cff.fdArray.length; i < ii; i++) {\n            var subDict = cff.fdArray[i];\n            var matrix = base.slice(0);\n            if (subDict.hasName('FontMatrix')) {\n              matrix = _util.Util.transform(matrix, subDict.getByName('FontMatrix'));\n            }\n            subDict.setByName('FontMatrix', matrix);\n          }\n        }\n      }\n      var compiled = this.compileTopDicts([cff.topDict], output.length, cff.isCIDFont);\n      output.add(compiled.output);\n      var topDictTracker = compiled.trackers[0];\n      var stringIndex = this.compileStringIndex(cff.strings.strings);\n      output.add(stringIndex);\n      var globalSubrIndex = this.compileIndex(cff.globalSubrIndex);\n      output.add(globalSubrIndex);\n      if (cff.encoding && cff.topDict.hasName('Encoding')) {\n        if (cff.encoding.predefined) {\n          topDictTracker.setEntryLocation('Encoding', [cff.encoding.format], output);\n        } else {\n          var encoding = this.compileEncoding(cff.encoding);\n          topDictTracker.setEntryLocation('Encoding', [output.length], output);\n          output.add(encoding);\n        }\n      }\n      if (cff.charset && cff.topDict.hasName('charset')) {\n        if (cff.charset.predefined) {\n          topDictTracker.setEntryLocation('charset', [cff.charset.format], output);\n        } else {\n          var charset = this.compileCharset(cff.charset);\n          topDictTracker.setEntryLocation('charset', [output.length], output);\n          output.add(charset);\n        }\n      }\n      var charStrings = this.compileCharStrings(cff.charStrings);\n      topDictTracker.setEntryLocation('CharStrings', [output.length], output);\n      output.add(charStrings);\n      if (cff.isCIDFont) {\n        topDictTracker.setEntryLocation('FDSelect', [output.length], output);\n        var fdSelect = this.compileFDSelect(cff.fdSelect.raw);\n        output.add(fdSelect);\n        compiled = this.compileTopDicts(cff.fdArray, output.length, true);\n        topDictTracker.setEntryLocation('FDArray', [output.length], output);\n        output.add(compiled.output);\n        var fontDictTrackers = compiled.trackers;\n        this.compilePrivateDicts(cff.fdArray, fontDictTrackers, output);\n      }\n      this.compilePrivateDicts([cff.topDict], [topDictTracker], output);\n      output.add([0]);\n      return output.data;\n    },\n    encodeNumber: function CFFCompiler_encodeNumber(value) {\n      if (parseFloat(value) === parseInt(value, 10) && !isNaN(value)) {\n        return this.encodeInteger(value);\n      }\n      return this.encodeFloat(value);\n    },\n    encodeFloat: function CFFCompiler_encodeFloat(num) {\n      var value = num.toString();\n      var m = /\\.(\\d*?)(?:9{5,20}|0{5,20})\\d{0,2}(?:e(.+)|$)/.exec(value);\n      if (m) {\n        var epsilon = parseFloat('1e' + ((m[2] ? +m[2] : 0) + m[1].length));\n        value = (Math.round(num * epsilon) / epsilon).toString();\n      }\n      var nibbles = '';\n      var i, ii;\n      for (i = 0, ii = value.length; i < ii; ++i) {\n        var a = value[i];\n        if (a === 'e') {\n          nibbles += value[++i] === '-' ? 'c' : 'b';\n        } else if (a === '.') {\n          nibbles += 'a';\n        } else if (a === '-') {\n          nibbles += 'e';\n        } else {\n          nibbles += a;\n        }\n      }\n      nibbles += nibbles.length & 1 ? 'f' : 'ff';\n      var out = [30];\n      for (i = 0, ii = nibbles.length; i < ii; i += 2) {\n        out.push(parseInt(nibbles.substr(i, 2), 16));\n      }\n      return out;\n    },\n    encodeInteger: function CFFCompiler_encodeInteger(value) {\n      var code;\n      if (value >= -107 && value <= 107) {\n        code = [value + 139];\n      } else if (value >= 108 && value <= 1131) {\n        value = value - 108;\n        code = [(value >> 8) + 247, value & 0xFF];\n      } else if (value >= -1131 && value <= -108) {\n        value = -value - 108;\n        code = [(value >> 8) + 251, value & 0xFF];\n      } else if (value >= -32768 && value <= 32767) {\n        code = [0x1c, value >> 8 & 0xFF, value & 0xFF];\n      } else {\n        code = [0x1d, value >> 24 & 0xFF, value >> 16 & 0xFF, value >> 8 & 0xFF, value & 0xFF];\n      }\n      return code;\n    },\n    compileHeader: function CFFCompiler_compileHeader(header) {\n      return [header.major, header.minor, header.hdrSize, header.offSize];\n    },\n    compileNameIndex: function CFFCompiler_compileNameIndex(names) {\n      var nameIndex = new CFFIndex();\n      for (var i = 0, ii = names.length; i < ii; ++i) {\n        var name = names[i];\n        var length = Math.min(name.length, 127);\n        var sanitizedName = new Array(length);\n        for (var j = 0; j < length; j++) {\n          var char = name[j];\n          if (char < '!' || char > '~' || char === '[' || char === ']' || char === '(' || char === ')' || char === '{' || char === '}' || char === '<' || char === '>' || char === '/' || char === '%') {\n            char = '_';\n          }\n          sanitizedName[j] = char;\n        }\n        sanitizedName = sanitizedName.join('');\n        if (sanitizedName === '') {\n          sanitizedName = 'Bad_Font_Name';\n        }\n        nameIndex.add((0, _util.stringToBytes)(sanitizedName));\n      }\n      return this.compileIndex(nameIndex);\n    },\n    compileTopDicts: function CFFCompiler_compileTopDicts(dicts, length, removeCidKeys) {\n      var fontDictTrackers = [];\n      var fdArrayIndex = new CFFIndex();\n      for (var i = 0, ii = dicts.length; i < ii; ++i) {\n        var fontDict = dicts[i];\n        if (removeCidKeys) {\n          fontDict.removeByName('CIDFontVersion');\n          fontDict.removeByName('CIDFontRevision');\n          fontDict.removeByName('CIDFontType');\n          fontDict.removeByName('CIDCount');\n          fontDict.removeByName('UIDBase');\n        }\n        var fontDictTracker = new CFFOffsetTracker();\n        var fontDictData = this.compileDict(fontDict, fontDictTracker);\n        fontDictTrackers.push(fontDictTracker);\n        fdArrayIndex.add(fontDictData);\n        fontDictTracker.offset(length);\n      }\n      fdArrayIndex = this.compileIndex(fdArrayIndex, fontDictTrackers);\n      return {\n        trackers: fontDictTrackers,\n        output: fdArrayIndex\n      };\n    },\n    compilePrivateDicts: function CFFCompiler_compilePrivateDicts(dicts, trackers, output) {\n      for (var i = 0, ii = dicts.length; i < ii; ++i) {\n        var fontDict = dicts[i];\n        var privateDict = fontDict.privateDict;\n        if (!privateDict || !fontDict.hasName('Private')) {\n          throw new _util.FormatError('There must be a private dictionary.');\n        }\n        var privateDictTracker = new CFFOffsetTracker();\n        var privateDictData = this.compileDict(privateDict, privateDictTracker);\n        var outputLength = output.length;\n        privateDictTracker.offset(outputLength);\n        if (!privateDictData.length) {\n          outputLength = 0;\n        }\n        trackers[i].setEntryLocation('Private', [privateDictData.length, outputLength], output);\n        output.add(privateDictData);\n        if (privateDict.subrsIndex && privateDict.hasName('Subrs')) {\n          var subrs = this.compileIndex(privateDict.subrsIndex);\n          privateDictTracker.setEntryLocation('Subrs', [privateDictData.length], output);\n          output.add(subrs);\n        }\n      }\n    },\n    compileDict: function CFFCompiler_compileDict(dict, offsetTracker) {\n      var out = [];\n      var order = dict.order;\n      for (var i = 0; i < order.length; ++i) {\n        var key = order[i];\n        if (!(key in dict.values)) {\n          continue;\n        }\n        var values = dict.values[key];\n        var types = dict.types[key];\n        if (!Array.isArray(types)) {\n          types = [types];\n        }\n        if (!Array.isArray(values)) {\n          values = [values];\n        }\n        if (values.length === 0) {\n          continue;\n        }\n        for (var j = 0, jj = types.length; j < jj; ++j) {\n          var type = types[j];\n          var value = values[j];\n          switch (type) {\n            case 'num':\n            case 'sid':\n              out = out.concat(this.encodeNumber(value));\n              break;\n            case 'offset':\n              var name = dict.keyToNameMap[key];\n              if (!offsetTracker.isTracking(name)) {\n                offsetTracker.track(name, out.length);\n              }\n              out = out.concat([0x1d, 0, 0, 0, 0]);\n              break;\n            case 'array':\n            case 'delta':\n              out = out.concat(this.encodeNumber(value));\n              for (var k = 1, kk = values.length; k < kk; ++k) {\n                out = out.concat(this.encodeNumber(values[k]));\n              }\n              break;\n            default:\n              throw new _util.FormatError('Unknown data type of ' + type);\n          }\n        }\n        out = out.concat(dict.opcodes[key]);\n      }\n      return out;\n    },\n    compileStringIndex: function CFFCompiler_compileStringIndex(strings) {\n      var stringIndex = new CFFIndex();\n      for (var i = 0, ii = strings.length; i < ii; ++i) {\n        stringIndex.add((0, _util.stringToBytes)(strings[i]));\n      }\n      return this.compileIndex(stringIndex);\n    },\n    compileGlobalSubrIndex: function CFFCompiler_compileGlobalSubrIndex() {\n      var globalSubrIndex = this.cff.globalSubrIndex;\n      this.out.writeByteArray(this.compileIndex(globalSubrIndex));\n    },\n    compileCharStrings: function CFFCompiler_compileCharStrings(charStrings) {\n      return this.compileIndex(charStrings);\n    },\n    compileCharset: function CFFCompiler_compileCharset(charset) {\n      return this.compileTypedArray(charset.raw);\n    },\n    compileEncoding: function CFFCompiler_compileEncoding(encoding) {\n      return this.compileTypedArray(encoding.raw);\n    },\n    compileFDSelect: function CFFCompiler_compileFDSelect(fdSelect) {\n      return this.compileTypedArray(fdSelect);\n    },\n    compileTypedArray: function CFFCompiler_compileTypedArray(data) {\n      var out = [];\n      for (var i = 0, ii = data.length; i < ii; ++i) {\n        out[i] = data[i];\n      }\n      return out;\n    },\n    compileIndex: function CFFCompiler_compileIndex(index, trackers) {\n      trackers = trackers || [];\n      var objects = index.objects;\n      var count = objects.length;\n      if (count === 0) {\n        return [0, 0, 0];\n      }\n      var data = [count >> 8 & 0xFF, count & 0xff];\n      var lastOffset = 1,\n          i;\n      for (i = 0; i < count; ++i) {\n        lastOffset += objects[i].length;\n      }\n      var offsetSize;\n      if (lastOffset < 0x100) {\n        offsetSize = 1;\n      } else if (lastOffset < 0x10000) {\n        offsetSize = 2;\n      } else if (lastOffset < 0x1000000) {\n        offsetSize = 3;\n      } else {\n        offsetSize = 4;\n      }\n      data.push(offsetSize);\n      var relativeOffset = 1;\n      for (i = 0; i < count + 1; i++) {\n        if (offsetSize === 1) {\n          data.push(relativeOffset & 0xFF);\n        } else if (offsetSize === 2) {\n          data.push(relativeOffset >> 8 & 0xFF, relativeOffset & 0xFF);\n        } else if (offsetSize === 3) {\n          data.push(relativeOffset >> 16 & 0xFF, relativeOffset >> 8 & 0xFF, relativeOffset & 0xFF);\n        } else {\n          data.push(relativeOffset >>> 24 & 0xFF, relativeOffset >> 16 & 0xFF, relativeOffset >> 8 & 0xFF, relativeOffset & 0xFF);\n        }\n        if (objects[i]) {\n          relativeOffset += objects[i].length;\n        }\n      }\n      for (i = 0; i < count; i++) {\n        if (trackers[i]) {\n          trackers[i].offset(data.length);\n        }\n        for (var j = 0, jj = objects[i].length; j < jj; j++) {\n          data.push(objects[i][j]);\n        }\n      }\n      return data;\n    }\n  };\n  return CFFCompiler;\n}();\nexports.CFFStandardStrings = CFFStandardStrings;\nexports.CFFParser = CFFParser;\nexports.CFF = CFF;\nexports.CFFHeader = CFFHeader;\nexports.CFFStrings = CFFStrings;\nexports.CFFIndex = CFFIndex;\nexports.CFFCharset = CFFCharset;\nexports.CFFTopDict = CFFTopDict;\nexports.CFFPrivateDict = CFFPrivateDict;\nexports.CFFCompiler = CFFCompiler;\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.getSupplementalGlyphMapForArialBlack = exports.getGlyphMapForStandardFonts = exports.getSymbolsFonts = exports.getSerifFonts = exports.getNonStdFontMap = exports.getStdFontMap = undefined;\n\nvar _util = __w_pdfjs_require__(0);\n\nvar getStdFontMap = (0, _util.getLookupTableFactory)(function (t) {\n  t['ArialNarrow'] = 'Helvetica';\n  t['ArialNarrow-Bold'] = 'Helvetica-Bold';\n  t['ArialNarrow-BoldItalic'] = 'Helvetica-BoldOblique';\n  t['ArialNarrow-Italic'] = 'Helvetica-Oblique';\n  t['ArialBlack'] = 'Helvetica';\n  t['ArialBlack-Bold'] = 'Helvetica-Bold';\n  t['ArialBlack-BoldItalic'] = 'Helvetica-BoldOblique';\n  t['ArialBlack-Italic'] = 'Helvetica-Oblique';\n  t['Arial-Black'] = 'Helvetica';\n  t['Arial-Black-Bold'] = 'Helvetica-Bold';\n  t['Arial-Black-BoldItalic'] = 'Helvetica-BoldOblique';\n  t['Arial-Black-Italic'] = 'Helvetica-Oblique';\n  t['Arial'] = 'Helvetica';\n  t['Arial-Bold'] = 'Helvetica-Bold';\n  t['Arial-BoldItalic'] = 'Helvetica-BoldOblique';\n  t['Arial-Italic'] = 'Helvetica-Oblique';\n  t['Arial-BoldItalicMT'] = 'Helvetica-BoldOblique';\n  t['Arial-BoldMT'] = 'Helvetica-Bold';\n  t['Arial-ItalicMT'] = 'Helvetica-Oblique';\n  t['ArialMT'] = 'Helvetica';\n  t['Courier-Bold'] = 'Courier-Bold';\n  t['Courier-BoldItalic'] = 'Courier-BoldOblique';\n  t['Courier-Italic'] = 'Courier-Oblique';\n  t['CourierNew'] = 'Courier';\n  t['CourierNew-Bold'] = 'Courier-Bold';\n  t['CourierNew-BoldItalic'] = 'Courier-BoldOblique';\n  t['CourierNew-Italic'] = 'Courier-Oblique';\n  t['CourierNewPS-BoldItalicMT'] = 'Courier-BoldOblique';\n  t['CourierNewPS-BoldMT'] = 'Courier-Bold';\n  t['CourierNewPS-ItalicMT'] = 'Courier-Oblique';\n  t['CourierNewPSMT'] = 'Courier';\n  t['Helvetica'] = 'Helvetica';\n  t['Helvetica-Bold'] = 'Helvetica-Bold';\n  t['Helvetica-BoldItalic'] = 'Helvetica-BoldOblique';\n  t['Helvetica-BoldOblique'] = 'Helvetica-BoldOblique';\n  t['Helvetica-Italic'] = 'Helvetica-Oblique';\n  t['Helvetica-Oblique'] = 'Helvetica-Oblique';\n  t['SegoeUISymbol'] = 'Helvetica';\n  t['Symbol-Bold'] = 'Symbol';\n  t['Symbol-BoldItalic'] = 'Symbol';\n  t['Symbol-Italic'] = 'Symbol';\n  t['TimesNewRoman'] = 'Times-Roman';\n  t['TimesNewRoman-Bold'] = 'Times-Bold';\n  t['TimesNewRoman-BoldItalic'] = 'Times-BoldItalic';\n  t['TimesNewRoman-Italic'] = 'Times-Italic';\n  t['TimesNewRomanPS'] = 'Times-Roman';\n  t['TimesNewRomanPS-Bold'] = 'Times-Bold';\n  t['TimesNewRomanPS-BoldItalic'] = 'Times-BoldItalic';\n  t['TimesNewRomanPS-BoldItalicMT'] = 'Times-BoldItalic';\n  t['TimesNewRomanPS-BoldMT'] = 'Times-Bold';\n  t['TimesNewRomanPS-Italic'] = 'Times-Italic';\n  t['TimesNewRomanPS-ItalicMT'] = 'Times-Italic';\n  t['TimesNewRomanPSMT'] = 'Times-Roman';\n  t['TimesNewRomanPSMT-Bold'] = 'Times-Bold';\n  t['TimesNewRomanPSMT-BoldItalic'] = 'Times-BoldItalic';\n  t['TimesNewRomanPSMT-Italic'] = 'Times-Italic';\n});\nvar getNonStdFontMap = (0, _util.getLookupTableFactory)(function (t) {\n  t['CenturyGothic'] = 'Helvetica';\n  t['CenturyGothic-Bold'] = 'Helvetica-Bold';\n  t['CenturyGothic-BoldItalic'] = 'Helvetica-BoldOblique';\n  t['CenturyGothic-Italic'] = 'Helvetica-Oblique';\n  t['ComicSansMS'] = 'Comic Sans MS';\n  t['ComicSansMS-Bold'] = 'Comic Sans MS-Bold';\n  t['ComicSansMS-BoldItalic'] = 'Comic Sans MS-BoldItalic';\n  t['ComicSansMS-Italic'] = 'Comic Sans MS-Italic';\n  t['LucidaConsole'] = 'Courier';\n  t['LucidaConsole-Bold'] = 'Courier-Bold';\n  t['LucidaConsole-BoldItalic'] = 'Courier-BoldOblique';\n  t['LucidaConsole-Italic'] = 'Courier-Oblique';\n  t['MS-Gothic'] = 'MS Gothic';\n  t['MS-Gothic-Bold'] = 'MS Gothic-Bold';\n  t['MS-Gothic-BoldItalic'] = 'MS Gothic-BoldItalic';\n  t['MS-Gothic-Italic'] = 'MS Gothic-Italic';\n  t['MS-Mincho'] = 'MS Mincho';\n  t['MS-Mincho-Bold'] = 'MS Mincho-Bold';\n  t['MS-Mincho-BoldItalic'] = 'MS Mincho-BoldItalic';\n  t['MS-Mincho-Italic'] = 'MS Mincho-Italic';\n  t['MS-PGothic'] = 'MS PGothic';\n  t['MS-PGothic-Bold'] = 'MS PGothic-Bold';\n  t['MS-PGothic-BoldItalic'] = 'MS PGothic-BoldItalic';\n  t['MS-PGothic-Italic'] = 'MS PGothic-Italic';\n  t['MS-PMincho'] = 'MS PMincho';\n  t['MS-PMincho-Bold'] = 'MS PMincho-Bold';\n  t['MS-PMincho-BoldItalic'] = 'MS PMincho-BoldItalic';\n  t['MS-PMincho-Italic'] = 'MS PMincho-Italic';\n  t['NuptialScript'] = 'Times-Italic';\n  t['Wingdings'] = 'ZapfDingbats';\n});\nvar getSerifFonts = (0, _util.getLookupTableFactory)(function (t) {\n  t['Adobe Jenson'] = true;\n  t['Adobe Text'] = true;\n  t['Albertus'] = true;\n  t['Aldus'] = true;\n  t['Alexandria'] = true;\n  t['Algerian'] = true;\n  t['American Typewriter'] = true;\n  t['Antiqua'] = true;\n  t['Apex'] = true;\n  t['Arno'] = true;\n  t['Aster'] = true;\n  t['Aurora'] = true;\n  t['Baskerville'] = true;\n  t['Bell'] = true;\n  t['Bembo'] = true;\n  t['Bembo Schoolbook'] = true;\n  t['Benguiat'] = true;\n  t['Berkeley Old Style'] = true;\n  t['Bernhard Modern'] = true;\n  t['Berthold City'] = true;\n  t['Bodoni'] = true;\n  t['Bauer Bodoni'] = true;\n  t['Book Antiqua'] = true;\n  t['Bookman'] = true;\n  t['Bordeaux Roman'] = true;\n  t['Californian FB'] = true;\n  t['Calisto'] = true;\n  t['Calvert'] = true;\n  t['Capitals'] = true;\n  t['Cambria'] = true;\n  t['Cartier'] = true;\n  t['Caslon'] = true;\n  t['Catull'] = true;\n  t['Centaur'] = true;\n  t['Century Old Style'] = true;\n  t['Century Schoolbook'] = true;\n  t['Chaparral'] = true;\n  t['Charis SIL'] = true;\n  t['Cheltenham'] = true;\n  t['Cholla Slab'] = true;\n  t['Clarendon'] = true;\n  t['Clearface'] = true;\n  t['Cochin'] = true;\n  t['Colonna'] = true;\n  t['Computer Modern'] = true;\n  t['Concrete Roman'] = true;\n  t['Constantia'] = true;\n  t['Cooper Black'] = true;\n  t['Corona'] = true;\n  t['Ecotype'] = true;\n  t['Egyptienne'] = true;\n  t['Elephant'] = true;\n  t['Excelsior'] = true;\n  t['Fairfield'] = true;\n  t['FF Scala'] = true;\n  t['Folkard'] = true;\n  t['Footlight'] = true;\n  t['FreeSerif'] = true;\n  t['Friz Quadrata'] = true;\n  t['Garamond'] = true;\n  t['Gentium'] = true;\n  t['Georgia'] = true;\n  t['Gloucester'] = true;\n  t['Goudy Old Style'] = true;\n  t['Goudy Schoolbook'] = true;\n  t['Goudy Pro Font'] = true;\n  t['Granjon'] = true;\n  t['Guardian Egyptian'] = true;\n  t['Heather'] = true;\n  t['Hercules'] = true;\n  t['High Tower Text'] = true;\n  t['Hiroshige'] = true;\n  t['Hoefler Text'] = true;\n  t['Humana Serif'] = true;\n  t['Imprint'] = true;\n  t['Ionic No. 5'] = true;\n  t['Janson'] = true;\n  t['Joanna'] = true;\n  t['Korinna'] = true;\n  t['Lexicon'] = true;\n  t['Liberation Serif'] = true;\n  t['Linux Libertine'] = true;\n  t['Literaturnaya'] = true;\n  t['Lucida'] = true;\n  t['Lucida Bright'] = true;\n  t['Melior'] = true;\n  t['Memphis'] = true;\n  t['Miller'] = true;\n  t['Minion'] = true;\n  t['Modern'] = true;\n  t['Mona Lisa'] = true;\n  t['Mrs Eaves'] = true;\n  t['MS Serif'] = true;\n  t['Museo Slab'] = true;\n  t['New York'] = true;\n  t['Nimbus Roman'] = true;\n  t['NPS Rawlinson Roadway'] = true;\n  t['NuptialScript'] = true;\n  t['Palatino'] = true;\n  t['Perpetua'] = true;\n  t['Plantin'] = true;\n  t['Plantin Schoolbook'] = true;\n  t['Playbill'] = true;\n  t['Poor Richard'] = true;\n  t['Rawlinson Roadway'] = true;\n  t['Renault'] = true;\n  t['Requiem'] = true;\n  t['Rockwell'] = true;\n  t['Roman'] = true;\n  t['Rotis Serif'] = true;\n  t['Sabon'] = true;\n  t['Scala'] = true;\n  t['Seagull'] = true;\n  t['Sistina'] = true;\n  t['Souvenir'] = true;\n  t['STIX'] = true;\n  t['Stone Informal'] = true;\n  t['Stone Serif'] = true;\n  t['Sylfaen'] = true;\n  t['Times'] = true;\n  t['Trajan'] = true;\n  t['Trinité'] = true;\n  t['Trump Mediaeval'] = true;\n  t['Utopia'] = true;\n  t['Vale Type'] = true;\n  t['Bitstream Vera'] = true;\n  t['Vera Serif'] = true;\n  t['Versailles'] = true;\n  t['Wanted'] = true;\n  t['Weiss'] = true;\n  t['Wide Latin'] = true;\n  t['Windsor'] = true;\n  t['XITS'] = true;\n});\nvar getSymbolsFonts = (0, _util.getLookupTableFactory)(function (t) {\n  t['Dingbats'] = true;\n  t['Symbol'] = true;\n  t['ZapfDingbats'] = true;\n});\nvar getGlyphMapForStandardFonts = (0, _util.getLookupTableFactory)(function (t) {\n  t[2] = 10;\n  t[3] = 32;\n  t[4] = 33;\n  t[5] = 34;\n  t[6] = 35;\n  t[7] = 36;\n  t[8] = 37;\n  t[9] = 38;\n  t[10] = 39;\n  t[11] = 40;\n  t[12] = 41;\n  t[13] = 42;\n  t[14] = 43;\n  t[15] = 44;\n  t[16] = 45;\n  t[17] = 46;\n  t[18] = 47;\n  t[19] = 48;\n  t[20] = 49;\n  t[21] = 50;\n  t[22] = 51;\n  t[23] = 52;\n  t[24] = 53;\n  t[25] = 54;\n  t[26] = 55;\n  t[27] = 56;\n  t[28] = 57;\n  t[29] = 58;\n  t[30] = 894;\n  t[31] = 60;\n  t[32] = 61;\n  t[33] = 62;\n  t[34] = 63;\n  t[35] = 64;\n  t[36] = 65;\n  t[37] = 66;\n  t[38] = 67;\n  t[39] = 68;\n  t[40] = 69;\n  t[41] = 70;\n  t[42] = 71;\n  t[43] = 72;\n  t[44] = 73;\n  t[45] = 74;\n  t[46] = 75;\n  t[47] = 76;\n  t[48] = 77;\n  t[49] = 78;\n  t[50] = 79;\n  t[51] = 80;\n  t[52] = 81;\n  t[53] = 82;\n  t[54] = 83;\n  t[55] = 84;\n  t[56] = 85;\n  t[57] = 86;\n  t[58] = 87;\n  t[59] = 88;\n  t[60] = 89;\n  t[61] = 90;\n  t[62] = 91;\n  t[63] = 92;\n  t[64] = 93;\n  t[65] = 94;\n  t[66] = 95;\n  t[67] = 96;\n  t[68] = 97;\n  t[69] = 98;\n  t[70] = 99;\n  t[71] = 100;\n  t[72] = 101;\n  t[73] = 102;\n  t[74] = 103;\n  t[75] = 104;\n  t[76] = 105;\n  t[77] = 106;\n  t[78] = 107;\n  t[79] = 108;\n  t[80] = 109;\n  t[81] = 110;\n  t[82] = 111;\n  t[83] = 112;\n  t[84] = 113;\n  t[85] = 114;\n  t[86] = 115;\n  t[87] = 116;\n  t[88] = 117;\n  t[89] = 118;\n  t[90] = 119;\n  t[91] = 120;\n  t[92] = 121;\n  t[93] = 122;\n  t[94] = 123;\n  t[95] = 124;\n  t[96] = 125;\n  t[97] = 126;\n  t[98] = 196;\n  t[99] = 197;\n  t[100] = 199;\n  t[101] = 201;\n  t[102] = 209;\n  t[103] = 214;\n  t[104] = 220;\n  t[105] = 225;\n  t[106] = 224;\n  t[107] = 226;\n  t[108] = 228;\n  t[109] = 227;\n  t[110] = 229;\n  t[111] = 231;\n  t[112] = 233;\n  t[113] = 232;\n  t[114] = 234;\n  t[115] = 235;\n  t[116] = 237;\n  t[117] = 236;\n  t[118] = 238;\n  t[119] = 239;\n  t[120] = 241;\n  t[121] = 243;\n  t[122] = 242;\n  t[123] = 244;\n  t[124] = 246;\n  t[125] = 245;\n  t[126] = 250;\n  t[127] = 249;\n  t[128] = 251;\n  t[129] = 252;\n  t[130] = 8224;\n  t[131] = 176;\n  t[132] = 162;\n  t[133] = 163;\n  t[134] = 167;\n  t[135] = 8226;\n  t[136] = 182;\n  t[137] = 223;\n  t[138] = 174;\n  t[139] = 169;\n  t[140] = 8482;\n  t[141] = 180;\n  t[142] = 168;\n  t[143] = 8800;\n  t[144] = 198;\n  t[145] = 216;\n  t[146] = 8734;\n  t[147] = 177;\n  t[148] = 8804;\n  t[149] = 8805;\n  t[150] = 165;\n  t[151] = 181;\n  t[152] = 8706;\n  t[153] = 8721;\n  t[154] = 8719;\n  t[156] = 8747;\n  t[157] = 170;\n  t[158] = 186;\n  t[159] = 8486;\n  t[160] = 230;\n  t[161] = 248;\n  t[162] = 191;\n  t[163] = 161;\n  t[164] = 172;\n  t[165] = 8730;\n  t[166] = 402;\n  t[167] = 8776;\n  t[168] = 8710;\n  t[169] = 171;\n  t[170] = 187;\n  t[171] = 8230;\n  t[210] = 218;\n  t[223] = 711;\n  t[224] = 321;\n  t[225] = 322;\n  t[227] = 353;\n  t[229] = 382;\n  t[234] = 253;\n  t[252] = 263;\n  t[253] = 268;\n  t[254] = 269;\n  t[258] = 258;\n  t[260] = 260;\n  t[261] = 261;\n  t[265] = 280;\n  t[266] = 281;\n  t[268] = 283;\n  t[269] = 313;\n  t[275] = 323;\n  t[276] = 324;\n  t[278] = 328;\n  t[284] = 345;\n  t[285] = 346;\n  t[286] = 347;\n  t[292] = 367;\n  t[295] = 377;\n  t[296] = 378;\n  t[298] = 380;\n  t[305] = 963;\n  t[306] = 964;\n  t[307] = 966;\n  t[308] = 8215;\n  t[309] = 8252;\n  t[310] = 8319;\n  t[311] = 8359;\n  t[312] = 8592;\n  t[313] = 8593;\n  t[337] = 9552;\n  t[493] = 1039;\n  t[494] = 1040;\n  t[705] = 1524;\n  t[706] = 8362;\n  t[710] = 64288;\n  t[711] = 64298;\n  t[759] = 1617;\n  t[761] = 1776;\n  t[763] = 1778;\n  t[775] = 1652;\n  t[777] = 1764;\n  t[778] = 1780;\n  t[779] = 1781;\n  t[780] = 1782;\n  t[782] = 771;\n  t[783] = 64726;\n  t[786] = 8363;\n  t[788] = 8532;\n  t[790] = 768;\n  t[791] = 769;\n  t[792] = 768;\n  t[795] = 803;\n  t[797] = 64336;\n  t[798] = 64337;\n  t[799] = 64342;\n  t[800] = 64343;\n  t[801] = 64344;\n  t[802] = 64345;\n  t[803] = 64362;\n  t[804] = 64363;\n  t[805] = 64364;\n  t[2424] = 7821;\n  t[2425] = 7822;\n  t[2426] = 7823;\n  t[2427] = 7824;\n  t[2428] = 7825;\n  t[2429] = 7826;\n  t[2430] = 7827;\n  t[2433] = 7682;\n  t[2678] = 8045;\n  t[2679] = 8046;\n  t[2830] = 1552;\n  t[2838] = 686;\n  t[2840] = 751;\n  t[2842] = 753;\n  t[2843] = 754;\n  t[2844] = 755;\n  t[2846] = 757;\n  t[2856] = 767;\n  t[2857] = 848;\n  t[2858] = 849;\n  t[2862] = 853;\n  t[2863] = 854;\n  t[2864] = 855;\n  t[2865] = 861;\n  t[2866] = 862;\n  t[2906] = 7460;\n  t[2908] = 7462;\n  t[2909] = 7463;\n  t[2910] = 7464;\n  t[2912] = 7466;\n  t[2913] = 7467;\n  t[2914] = 7468;\n  t[2916] = 7470;\n  t[2917] = 7471;\n  t[2918] = 7472;\n  t[2920] = 7474;\n  t[2921] = 7475;\n  t[2922] = 7476;\n  t[2924] = 7478;\n  t[2925] = 7479;\n  t[2926] = 7480;\n  t[2928] = 7482;\n  t[2929] = 7483;\n  t[2930] = 7484;\n  t[2932] = 7486;\n  t[2933] = 7487;\n  t[2934] = 7488;\n  t[2936] = 7490;\n  t[2937] = 7491;\n  t[2938] = 7492;\n  t[2940] = 7494;\n  t[2941] = 7495;\n  t[2942] = 7496;\n  t[2944] = 7498;\n  t[2946] = 7500;\n  t[2948] = 7502;\n  t[2950] = 7504;\n  t[2951] = 7505;\n  t[2952] = 7506;\n  t[2954] = 7508;\n  t[2955] = 7509;\n  t[2956] = 7510;\n  t[2958] = 7512;\n  t[2959] = 7513;\n  t[2960] = 7514;\n  t[2962] = 7516;\n  t[2963] = 7517;\n  t[2964] = 7518;\n  t[2966] = 7520;\n  t[2967] = 7521;\n  t[2968] = 7522;\n  t[2970] = 7524;\n  t[2971] = 7525;\n  t[2972] = 7526;\n  t[2974] = 7528;\n  t[2975] = 7529;\n  t[2976] = 7530;\n  t[2978] = 1537;\n  t[2979] = 1538;\n  t[2980] = 1539;\n  t[2982] = 1549;\n  t[2983] = 1551;\n  t[2984] = 1552;\n  t[2986] = 1554;\n  t[2987] = 1555;\n  t[2988] = 1556;\n  t[2990] = 1623;\n  t[2991] = 1624;\n  t[2995] = 1775;\n  t[2999] = 1791;\n  t[3002] = 64290;\n  t[3003] = 64291;\n  t[3004] = 64292;\n  t[3006] = 64294;\n  t[3007] = 64295;\n  t[3008] = 64296;\n  t[3011] = 1900;\n  t[3014] = 8223;\n  t[3015] = 8244;\n  t[3017] = 7532;\n  t[3018] = 7533;\n  t[3019] = 7534;\n  t[3075] = 7590;\n  t[3076] = 7591;\n  t[3079] = 7594;\n  t[3080] = 7595;\n  t[3083] = 7598;\n  t[3084] = 7599;\n  t[3087] = 7602;\n  t[3088] = 7603;\n  t[3091] = 7606;\n  t[3092] = 7607;\n  t[3095] = 7610;\n  t[3096] = 7611;\n  t[3099] = 7614;\n  t[3100] = 7615;\n  t[3103] = 7618;\n  t[3104] = 7619;\n  t[3107] = 8337;\n  t[3108] = 8338;\n  t[3116] = 1884;\n  t[3119] = 1885;\n  t[3120] = 1885;\n  t[3123] = 1886;\n  t[3124] = 1886;\n  t[3127] = 1887;\n  t[3128] = 1887;\n  t[3131] = 1888;\n  t[3132] = 1888;\n  t[3135] = 1889;\n  t[3136] = 1889;\n  t[3139] = 1890;\n  t[3140] = 1890;\n  t[3143] = 1891;\n  t[3144] = 1891;\n  t[3147] = 1892;\n  t[3148] = 1892;\n  t[3153] = 580;\n  t[3154] = 581;\n  t[3157] = 584;\n  t[3158] = 585;\n  t[3161] = 588;\n  t[3162] = 589;\n  t[3165] = 891;\n  t[3166] = 892;\n  t[3169] = 1274;\n  t[3170] = 1275;\n  t[3173] = 1278;\n  t[3174] = 1279;\n  t[3181] = 7622;\n  t[3182] = 7623;\n  t[3282] = 11799;\n  t[3316] = 578;\n  t[3379] = 42785;\n  t[3393] = 1159;\n  t[3416] = 8377;\n});\nvar getSupplementalGlyphMapForArialBlack = (0, _util.getLookupTableFactory)(function (t) {\n  t[227] = 322;\n  t[264] = 261;\n  t[291] = 346;\n});\nexports.getStdFontMap = getStdFontMap;\nexports.getNonStdFontMap = getNonStdFontMap;\nexports.getSerifFonts = getSerifFonts;\nexports.getSymbolsFonts = getSymbolsFonts;\nexports.getGlyphMapForStandardFonts = getGlyphMapForStandardFonts;\nexports.getSupplementalGlyphMapForArialBlack = getSupplementalGlyphMapForArialBlack;\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getLookupTableFactory = __w_pdfjs_require__(0).getLookupTableFactory;\nvar getSpecialPUASymbols = getLookupTableFactory(function (t) {\n t[63721] = 0x00A9;\n t[63193] = 0x00A9;\n t[63720] = 0x00AE;\n t[63194] = 0x00AE;\n t[63722] = 0x2122;\n t[63195] = 0x2122;\n t[63729] = 0x23A7;\n t[63730] = 0x23A8;\n t[63731] = 0x23A9;\n t[63740] = 0x23AB;\n t[63741] = 0x23AC;\n t[63742] = 0x23AD;\n t[63726] = 0x23A1;\n t[63727] = 0x23A2;\n t[63728] = 0x23A3;\n t[63737] = 0x23A4;\n t[63738] = 0x23A5;\n t[63739] = 0x23A6;\n t[63723] = 0x239B;\n t[63724] = 0x239C;\n t[63725] = 0x239D;\n t[63734] = 0x239E;\n t[63735] = 0x239F;\n t[63736] = 0x23A0;\n});\nfunction mapSpecialUnicodeValues(code) {\n if (code >= 0xFFF0 && code <= 0xFFFF) {\n  return 0;\n } else if (code >= 0xF600 && code <= 0xF8FF) {\n  return getSpecialPUASymbols()[code] || code;\n } else if (code === 0x00AD) {\n  return 0x002D;\n }\n return code;\n}\nfunction getUnicodeForGlyph(name, glyphsUnicodeMap) {\n var unicode = glyphsUnicodeMap[name];\n if (unicode !== undefined) {\n  return unicode;\n }\n if (!name) {\n  return -1;\n }\n if (name[0] === 'u') {\n  var nameLen = name.length, hexStr;\n  if (nameLen === 7 && name[1] === 'n' && name[2] === 'i') {\n   hexStr = name.substr(3);\n  } else if (nameLen >= 5 && nameLen <= 7) {\n   hexStr = name.substr(1);\n  } else {\n   return -1;\n  }\n  if (hexStr === hexStr.toUpperCase()) {\n   unicode = parseInt(hexStr, 16);\n   if (unicode >= 0) {\n    return unicode;\n   }\n  }\n }\n return -1;\n}\nvar UnicodeRanges = [\n {\n  'begin': 0x0000,\n  'end': 0x007F\n },\n {\n  'begin': 0x0080,\n  'end': 0x00FF\n },\n {\n  'begin': 0x0100,\n  'end': 0x017F\n },\n {\n  'begin': 0x0180,\n  'end': 0x024F\n },\n {\n  'begin': 0x0250,\n  'end': 0x02AF\n },\n {\n  'begin': 0x02B0,\n  'end': 0x02FF\n },\n {\n  'begin': 0x0300,\n  'end': 0x036F\n },\n {\n  'begin': 0x0370,\n  'end': 0x03FF\n },\n {\n  'begin': 0x2C80,\n  'end': 0x2CFF\n },\n {\n  'begin': 0x0400,\n  'end': 0x04FF\n },\n {\n  'begin': 0x0530,\n  'end': 0x058F\n },\n {\n  'begin': 0x0590,\n  'end': 0x05FF\n },\n {\n  'begin': 0xA500,\n  'end': 0xA63F\n },\n {\n  'begin': 0x0600,\n  'end': 0x06FF\n },\n {\n  'begin': 0x07C0,\n  'end': 0x07FF\n },\n {\n  'begin': 0x0900,\n  'end': 0x097F\n },\n {\n  'begin': 0x0980,\n  'end': 0x09FF\n },\n {\n  'begin': 0x0A00,\n  'end': 0x0A7F\n },\n {\n  'begin': 0x0A80,\n  'end': 0x0AFF\n },\n {\n  'begin': 0x0B00,\n  'end': 0x0B7F\n },\n {\n  'begin': 0x0B80,\n  'end': 0x0BFF\n },\n {\n  'begin': 0x0C00,\n  'end': 0x0C7F\n },\n {\n  'begin': 0x0C80,\n  'end': 0x0CFF\n },\n {\n  'begin': 0x0D00,\n  'end': 0x0D7F\n },\n {\n  'begin': 0x0E00,\n  'end': 0x0E7F\n },\n {\n  'begin': 0x0E80,\n  'end': 0x0EFF\n },\n {\n  'begin': 0x10A0,\n  'end': 0x10FF\n },\n {\n  'begin': 0x1B00,\n  'end': 0x1B7F\n },\n {\n  'begin': 0x1100,\n  'end': 0x11FF\n },\n {\n  'begin': 0x1E00,\n  'end': 0x1EFF\n },\n {\n  'begin': 0x1F00,\n  'end': 0x1FFF\n },\n {\n  'begin': 0x2000,\n  'end': 0x206F\n },\n {\n  'begin': 0x2070,\n  'end': 0x209F\n },\n {\n  'begin': 0x20A0,\n  'end': 0x20CF\n },\n {\n  'begin': 0x20D0,\n  'end': 0x20FF\n },\n {\n  'begin': 0x2100,\n  'end': 0x214F\n },\n {\n  'begin': 0x2150,\n  'end': 0x218F\n },\n {\n  'begin': 0x2190,\n  'end': 0x21FF\n },\n {\n  'begin': 0x2200,\n  'end': 0x22FF\n },\n {\n  'begin': 0x2300,\n  'end': 0x23FF\n },\n {\n  'begin': 0x2400,\n  'end': 0x243F\n },\n {\n  'begin': 0x2440,\n  'end': 0x245F\n },\n {\n  'begin': 0x2460,\n  'end': 0x24FF\n },\n {\n  'begin': 0x2500,\n  'end': 0x257F\n },\n {\n  'begin': 0x2580,\n  'end': 0x259F\n },\n {\n  'begin': 0x25A0,\n  'end': 0x25FF\n },\n {\n  'begin': 0x2600,\n  'end': 0x26FF\n },\n {\n  'begin': 0x2700,\n  'end': 0x27BF\n },\n {\n  'begin': 0x3000,\n  'end': 0x303F\n },\n {\n  'begin': 0x3040,\n  'end': 0x309F\n },\n {\n  'begin': 0x30A0,\n  'end': 0x30FF\n },\n {\n  'begin': 0x3100,\n  'end': 0x312F\n },\n {\n  'begin': 0x3130,\n  'end': 0x318F\n },\n {\n  'begin': 0xA840,\n  'end': 0xA87F\n },\n {\n  'begin': 0x3200,\n  'end': 0x32FF\n },\n {\n  'begin': 0x3300,\n  'end': 0x33FF\n },\n {\n  'begin': 0xAC00,\n  'end': 0xD7AF\n },\n {\n  'begin': 0xD800,\n  'end': 0xDFFF\n },\n {\n  'begin': 0x10900,\n  'end': 0x1091F\n },\n {\n  'begin': 0x4E00,\n  'end': 0x9FFF\n },\n {\n  'begin': 0xE000,\n  'end': 0xF8FF\n },\n {\n  'begin': 0x31C0,\n  'end': 0x31EF\n },\n {\n  'begin': 0xFB00,\n  'end': 0xFB4F\n },\n {\n  'begin': 0xFB50,\n  'end': 0xFDFF\n },\n {\n  'begin': 0xFE20,\n  'end': 0xFE2F\n },\n {\n  'begin': 0xFE10,\n  'end': 0xFE1F\n },\n {\n  'begin': 0xFE50,\n  'end': 0xFE6F\n },\n {\n  'begin': 0xFE70,\n  'end': 0xFEFF\n },\n {\n  'begin': 0xFF00,\n  'end': 0xFFEF\n },\n {\n  'begin': 0xFFF0,\n  'end': 0xFFFF\n },\n {\n  'begin': 0x0F00,\n  'end': 0x0FFF\n },\n {\n  'begin': 0x0700,\n  'end': 0x074F\n },\n {\n  'begin': 0x0780,\n  'end': 0x07BF\n },\n {\n  'begin': 0x0D80,\n  'end': 0x0DFF\n },\n {\n  'begin': 0x1000,\n  'end': 0x109F\n },\n {\n  'begin': 0x1200,\n  'end': 0x137F\n },\n {\n  'begin': 0x13A0,\n  'end': 0x13FF\n },\n {\n  'begin': 0x1400,\n  'end': 0x167F\n },\n {\n  'begin': 0x1680,\n  'end': 0x169F\n },\n {\n  'begin': 0x16A0,\n  'end': 0x16FF\n },\n {\n  'begin': 0x1780,\n  'end': 0x17FF\n },\n {\n  'begin': 0x1800,\n  'end': 0x18AF\n },\n {\n  'begin': 0x2800,\n  'end': 0x28FF\n },\n {\n  'begin': 0xA000,\n  'end': 0xA48F\n },\n {\n  'begin': 0x1700,\n  'end': 0x171F\n },\n {\n  'begin': 0x10300,\n  'end': 0x1032F\n },\n {\n  'begin': 0x10330,\n  'end': 0x1034F\n },\n {\n  'begin': 0x10400,\n  'end': 0x1044F\n },\n {\n  'begin': 0x1D000,\n  'end': 0x1D0FF\n },\n {\n  'begin': 0x1D400,\n  'end': 0x1D7FF\n },\n {\n  'begin': 0xFF000,\n  'end': 0xFFFFD\n },\n {\n  'begin': 0xFE00,\n  'end': 0xFE0F\n },\n {\n  'begin': 0xE0000,\n  'end': 0xE007F\n },\n {\n  'begin': 0x1900,\n  'end': 0x194F\n },\n {\n  'begin': 0x1950,\n  'end': 0x197F\n },\n {\n  'begin': 0x1980,\n  'end': 0x19DF\n },\n {\n  'begin': 0x1A00,\n  'end': 0x1A1F\n },\n {\n  'begin': 0x2C00,\n  'end': 0x2C5F\n },\n {\n  'begin': 0x2D30,\n  'end': 0x2D7F\n },\n {\n  'begin': 0x4DC0,\n  'end': 0x4DFF\n },\n {\n  'begin': 0xA800,\n  'end': 0xA82F\n },\n {\n  'begin': 0x10000,\n  'end': 0x1007F\n },\n {\n  'begin': 0x10140,\n  'end': 0x1018F\n },\n {\n  'begin': 0x10380,\n  'end': 0x1039F\n },\n {\n  'begin': 0x103A0,\n  'end': 0x103DF\n },\n {\n  'begin': 0x10450,\n  'end': 0x1047F\n },\n {\n  'begin': 0x10480,\n  'end': 0x104AF\n },\n {\n  'begin': 0x10800,\n  'end': 0x1083F\n },\n {\n  'begin': 0x10A00,\n  'end': 0x10A5F\n },\n {\n  'begin': 0x1D300,\n  'end': 0x1D35F\n },\n {\n  'begin': 0x12000,\n  'end': 0x123FF\n },\n {\n  'begin': 0x1D360,\n  'end': 0x1D37F\n },\n {\n  'begin': 0x1B80,\n  'end': 0x1BBF\n },\n {\n  'begin': 0x1C00,\n  'end': 0x1C4F\n },\n {\n  'begin': 0x1C50,\n  'end': 0x1C7F\n },\n {\n  'begin': 0xA880,\n  'end': 0xA8DF\n },\n {\n  'begin': 0xA900,\n  'end': 0xA92F\n },\n {\n  'begin': 0xA930,\n  'end': 0xA95F\n },\n {\n  'begin': 0xAA00,\n  'end': 0xAA5F\n },\n {\n  'begin': 0x10190,\n  'end': 0x101CF\n },\n {\n  'begin': 0x101D0,\n  'end': 0x101FF\n },\n {\n  'begin': 0x102A0,\n  'end': 0x102DF\n },\n {\n  'begin': 0x1F030,\n  'end': 0x1F09F\n }\n];\nfunction getUnicodeRangeFor(value) {\n for (var i = 0, ii = UnicodeRanges.length; i < ii; i++) {\n  var range = UnicodeRanges[i];\n  if (value >= range.begin && value < range.end) {\n   return i;\n  }\n }\n return -1;\n}\nfunction isRTLRangeFor(value) {\n var range = UnicodeRanges[13];\n if (value >= range.begin && value < range.end) {\n  return true;\n }\n range = UnicodeRanges[11];\n if (value >= range.begin && value < range.end) {\n  return true;\n }\n return false;\n}\nvar getNormalizedUnicodes = getLookupTableFactory(function (t) {\n t['\\u00A8'] = '\\u0020\\u0308';\n t['\\u00AF'] = '\\u0020\\u0304';\n t['\\u00B4'] = '\\u0020\\u0301';\n t['\\u00B5'] = '\\u03BC';\n t['\\u00B8'] = '\\u0020\\u0327';\n t['\\u0132'] = '\\u0049\\u004A';\n t['\\u0133'] = '\\u0069\\u006A';\n t['\\u013F'] = '\\u004C\\u00B7';\n t['\\u0140'] = '\\u006C\\u00B7';\n t['\\u0149'] = '\\u02BC\\u006E';\n t['\\u017F'] = '\\u0073';\n t['\\u01C4'] = '\\u0044\\u017D';\n t['\\u01C5'] = '\\u0044\\u017E';\n t['\\u01C6'] = '\\u0064\\u017E';\n t['\\u01C7'] = '\\u004C\\u004A';\n t['\\u01C8'] = '\\u004C\\u006A';\n t['\\u01C9'] = '\\u006C\\u006A';\n t['\\u01CA'] = '\\u004E\\u004A';\n t['\\u01CB'] = '\\u004E\\u006A';\n t['\\u01CC'] = '\\u006E\\u006A';\n t['\\u01F1'] = '\\u0044\\u005A';\n t['\\u01F2'] = '\\u0044\\u007A';\n t['\\u01F3'] = '\\u0064\\u007A';\n t['\\u02D8'] = '\\u0020\\u0306';\n t['\\u02D9'] = '\\u0020\\u0307';\n t['\\u02DA'] = '\\u0020\\u030A';\n t['\\u02DB'] = '\\u0020\\u0328';\n t['\\u02DC'] = '\\u0020\\u0303';\n t['\\u02DD'] = '\\u0020\\u030B';\n t['\\u037A'] = '\\u0020\\u0345';\n t['\\u0384'] = '\\u0020\\u0301';\n t['\\u03D0'] = '\\u03B2';\n t['\\u03D1'] = '\\u03B8';\n t['\\u03D2'] = '\\u03A5';\n t['\\u03D5'] = '\\u03C6';\n t['\\u03D6'] = '\\u03C0';\n t['\\u03F0'] = '\\u03BA';\n t['\\u03F1'] = '\\u03C1';\n t['\\u03F2'] = '\\u03C2';\n t['\\u03F4'] = '\\u0398';\n t['\\u03F5'] = '\\u03B5';\n t['\\u03F9'] = '\\u03A3';\n t['\\u0587'] = '\\u0565\\u0582';\n t['\\u0675'] = '\\u0627\\u0674';\n t['\\u0676'] = '\\u0648\\u0674';\n t['\\u0677'] = '\\u06C7\\u0674';\n t['\\u0678'] = '\\u064A\\u0674';\n t['\\u0E33'] = '\\u0E4D\\u0E32';\n t['\\u0EB3'] = '\\u0ECD\\u0EB2';\n t['\\u0EDC'] = '\\u0EAB\\u0E99';\n t['\\u0EDD'] = '\\u0EAB\\u0EA1';\n t['\\u0F77'] = '\\u0FB2\\u0F81';\n t['\\u0F79'] = '\\u0FB3\\u0F81';\n t['\\u1E9A'] = '\\u0061\\u02BE';\n t['\\u1FBD'] = '\\u0020\\u0313';\n t['\\u1FBF'] = '\\u0020\\u0313';\n t['\\u1FC0'] = '\\u0020\\u0342';\n t['\\u1FFE'] = '\\u0020\\u0314';\n t['\\u2002'] = '\\u0020';\n t['\\u2003'] = '\\u0020';\n t['\\u2004'] = '\\u0020';\n t['\\u2005'] = '\\u0020';\n t['\\u2006'] = '\\u0020';\n t['\\u2008'] = '\\u0020';\n t['\\u2009'] = '\\u0020';\n t['\\u200A'] = '\\u0020';\n t['\\u2017'] = '\\u0020\\u0333';\n t['\\u2024'] = '\\u002E';\n t['\\u2025'] = '\\u002E\\u002E';\n t['\\u2026'] = '\\u002E\\u002E\\u002E';\n t['\\u2033'] = '\\u2032\\u2032';\n t['\\u2034'] = '\\u2032\\u2032\\u2032';\n t['\\u2036'] = '\\u2035\\u2035';\n t['\\u2037'] = '\\u2035\\u2035\\u2035';\n t['\\u203C'] = '\\u0021\\u0021';\n t['\\u203E'] = '\\u0020\\u0305';\n t['\\u2047'] = '\\u003F\\u003F';\n t['\\u2048'] = '\\u003F\\u0021';\n t['\\u2049'] = '\\u0021\\u003F';\n t['\\u2057'] = '\\u2032\\u2032\\u2032\\u2032';\n t['\\u205F'] = '\\u0020';\n t['\\u20A8'] = '\\u0052\\u0073';\n t['\\u2100'] = '\\u0061\\u002F\\u0063';\n t['\\u2101'] = '\\u0061\\u002F\\u0073';\n t['\\u2103'] = '\\u00B0\\u0043';\n t['\\u2105'] = '\\u0063\\u002F\\u006F';\n t['\\u2106'] = '\\u0063\\u002F\\u0075';\n t['\\u2107'] = '\\u0190';\n t['\\u2109'] = '\\u00B0\\u0046';\n t['\\u2116'] = '\\u004E\\u006F';\n t['\\u2121'] = '\\u0054\\u0045\\u004C';\n t['\\u2135'] = '\\u05D0';\n t['\\u2136'] = '\\u05D1';\n t['\\u2137'] = '\\u05D2';\n t['\\u2138'] = '\\u05D3';\n t['\\u213B'] = '\\u0046\\u0041\\u0058';\n t['\\u2160'] = '\\u0049';\n t['\\u2161'] = '\\u0049\\u0049';\n t['\\u2162'] = '\\u0049\\u0049\\u0049';\n t['\\u2163'] = '\\u0049\\u0056';\n t['\\u2164'] = '\\u0056';\n t['\\u2165'] = '\\u0056\\u0049';\n t['\\u2166'] = '\\u0056\\u0049\\u0049';\n t['\\u2167'] = '\\u0056\\u0049\\u0049\\u0049';\n t['\\u2168'] = '\\u0049\\u0058';\n t['\\u2169'] = '\\u0058';\n t['\\u216A'] = '\\u0058\\u0049';\n t['\\u216B'] = '\\u0058\\u0049\\u0049';\n t['\\u216C'] = '\\u004C';\n t['\\u216D'] = '\\u0043';\n t['\\u216E'] = '\\u0044';\n t['\\u216F'] = '\\u004D';\n t['\\u2170'] = '\\u0069';\n t['\\u2171'] = '\\u0069\\u0069';\n t['\\u2172'] = '\\u0069\\u0069\\u0069';\n t['\\u2173'] = '\\u0069\\u0076';\n t['\\u2174'] = '\\u0076';\n t['\\u2175'] = '\\u0076\\u0069';\n t['\\u2176'] = '\\u0076\\u0069\\u0069';\n t['\\u2177'] = '\\u0076\\u0069\\u0069\\u0069';\n t['\\u2178'] = '\\u0069\\u0078';\n t['\\u2179'] = '\\u0078';\n t['\\u217A'] = '\\u0078\\u0069';\n t['\\u217B'] = '\\u0078\\u0069\\u0069';\n t['\\u217C'] = '\\u006C';\n t['\\u217D'] = '\\u0063';\n t['\\u217E'] = '\\u0064';\n t['\\u217F'] = '\\u006D';\n t['\\u222C'] = '\\u222B\\u222B';\n t['\\u222D'] = '\\u222B\\u222B\\u222B';\n t['\\u222F'] = '\\u222E\\u222E';\n t['\\u2230'] = '\\u222E\\u222E\\u222E';\n t['\\u2474'] = '\\u0028\\u0031\\u0029';\n t['\\u2475'] = '\\u0028\\u0032\\u0029';\n t['\\u2476'] = '\\u0028\\u0033\\u0029';\n t['\\u2477'] = '\\u0028\\u0034\\u0029';\n t['\\u2478'] = '\\u0028\\u0035\\u0029';\n t['\\u2479'] = '\\u0028\\u0036\\u0029';\n t['\\u247A'] = '\\u0028\\u0037\\u0029';\n t['\\u247B'] = '\\u0028\\u0038\\u0029';\n t['\\u247C'] = '\\u0028\\u0039\\u0029';\n t['\\u247D'] = '\\u0028\\u0031\\u0030\\u0029';\n t['\\u247E'] = '\\u0028\\u0031\\u0031\\u0029';\n t['\\u247F'] = '\\u0028\\u0031\\u0032\\u0029';\n t['\\u2480'] = '\\u0028\\u0031\\u0033\\u0029';\n t['\\u2481'] = '\\u0028\\u0031\\u0034\\u0029';\n t['\\u2482'] = '\\u0028\\u0031\\u0035\\u0029';\n t['\\u2483'] = '\\u0028\\u0031\\u0036\\u0029';\n t['\\u2484'] = '\\u0028\\u0031\\u0037\\u0029';\n t['\\u2485'] = '\\u0028\\u0031\\u0038\\u0029';\n t['\\u2486'] = '\\u0028\\u0031\\u0039\\u0029';\n t['\\u2487'] = '\\u0028\\u0032\\u0030\\u0029';\n t['\\u2488'] = '\\u0031\\u002E';\n t['\\u2489'] = '\\u0032\\u002E';\n t['\\u248A'] = '\\u0033\\u002E';\n t['\\u248B'] = '\\u0034\\u002E';\n t['\\u248C'] = '\\u0035\\u002E';\n t['\\u248D'] = '\\u0036\\u002E';\n t['\\u248E'] = '\\u0037\\u002E';\n t['\\u248F'] = '\\u0038\\u002E';\n t['\\u2490'] = '\\u0039\\u002E';\n t['\\u2491'] = '\\u0031\\u0030\\u002E';\n t['\\u2492'] = '\\u0031\\u0031\\u002E';\n t['\\u2493'] = '\\u0031\\u0032\\u002E';\n t['\\u2494'] = '\\u0031\\u0033\\u002E';\n t['\\u2495'] = '\\u0031\\u0034\\u002E';\n t['\\u2496'] = '\\u0031\\u0035\\u002E';\n t['\\u2497'] = '\\u0031\\u0036\\u002E';\n t['\\u2498'] = '\\u0031\\u0037\\u002E';\n t['\\u2499'] = '\\u0031\\u0038\\u002E';\n t['\\u249A'] = '\\u0031\\u0039\\u002E';\n t['\\u249B'] = '\\u0032\\u0030\\u002E';\n t['\\u249C'] = '\\u0028\\u0061\\u0029';\n t['\\u249D'] = '\\u0028\\u0062\\u0029';\n t['\\u249E'] = '\\u0028\\u0063\\u0029';\n t['\\u249F'] = '\\u0028\\u0064\\u0029';\n t['\\u24A0'] = '\\u0028\\u0065\\u0029';\n t['\\u24A1'] = '\\u0028\\u0066\\u0029';\n t['\\u24A2'] = '\\u0028\\u0067\\u0029';\n t['\\u24A3'] = '\\u0028\\u0068\\u0029';\n t['\\u24A4'] = '\\u0028\\u0069\\u0029';\n t['\\u24A5'] = '\\u0028\\u006A\\u0029';\n t['\\u24A6'] = '\\u0028\\u006B\\u0029';\n t['\\u24A7'] = '\\u0028\\u006C\\u0029';\n t['\\u24A8'] = '\\u0028\\u006D\\u0029';\n t['\\u24A9'] = '\\u0028\\u006E\\u0029';\n t['\\u24AA'] = '\\u0028\\u006F\\u0029';\n t['\\u24AB'] = '\\u0028\\u0070\\u0029';\n t['\\u24AC'] = '\\u0028\\u0071\\u0029';\n t['\\u24AD'] = '\\u0028\\u0072\\u0029';\n t['\\u24AE'] = '\\u0028\\u0073\\u0029';\n t['\\u24AF'] = '\\u0028\\u0074\\u0029';\n t['\\u24B0'] = '\\u0028\\u0075\\u0029';\n t['\\u24B1'] = '\\u0028\\u0076\\u0029';\n t['\\u24B2'] = '\\u0028\\u0077\\u0029';\n t['\\u24B3'] = '\\u0028\\u0078\\u0029';\n t['\\u24B4'] = '\\u0028\\u0079\\u0029';\n t['\\u24B5'] = '\\u0028\\u007A\\u0029';\n t['\\u2A0C'] = '\\u222B\\u222B\\u222B\\u222B';\n t['\\u2A74'] = '\\u003A\\u003A\\u003D';\n t['\\u2A75'] = '\\u003D\\u003D';\n t['\\u2A76'] = '\\u003D\\u003D\\u003D';\n t['\\u2E9F'] = '\\u6BCD';\n t['\\u2EF3'] = '\\u9F9F';\n t['\\u2F00'] = '\\u4E00';\n t['\\u2F01'] = '\\u4E28';\n t['\\u2F02'] = '\\u4E36';\n t['\\u2F03'] = '\\u4E3F';\n t['\\u2F04'] = '\\u4E59';\n t['\\u2F05'] = '\\u4E85';\n t['\\u2F06'] = '\\u4E8C';\n t['\\u2F07'] = '\\u4EA0';\n t['\\u2F08'] = '\\u4EBA';\n t['\\u2F09'] = '\\u513F';\n t['\\u2F0A'] = '\\u5165';\n t['\\u2F0B'] = '\\u516B';\n t['\\u2F0C'] = '\\u5182';\n t['\\u2F0D'] = '\\u5196';\n t['\\u2F0E'] = '\\u51AB';\n t['\\u2F0F'] = '\\u51E0';\n t['\\u2F10'] = '\\u51F5';\n t['\\u2F11'] = '\\u5200';\n t['\\u2F12'] = '\\u529B';\n t['\\u2F13'] = '\\u52F9';\n t['\\u2F14'] = '\\u5315';\n t['\\u2F15'] = '\\u531A';\n t['\\u2F16'] = '\\u5338';\n t['\\u2F17'] = '\\u5341';\n t['\\u2F18'] = '\\u535C';\n t['\\u2F19'] = '\\u5369';\n t['\\u2F1A'] = '\\u5382';\n t['\\u2F1B'] = '\\u53B6';\n t['\\u2F1C'] = '\\u53C8';\n t['\\u2F1D'] = '\\u53E3';\n t['\\u2F1E'] = '\\u56D7';\n t['\\u2F1F'] = '\\u571F';\n t['\\u2F20'] = '\\u58EB';\n t['\\u2F21'] = '\\u5902';\n t['\\u2F22'] = '\\u590A';\n t['\\u2F23'] = '\\u5915';\n t['\\u2F24'] = '\\u5927';\n t['\\u2F25'] = '\\u5973';\n t['\\u2F26'] = '\\u5B50';\n t['\\u2F27'] = '\\u5B80';\n t['\\u2F28'] = '\\u5BF8';\n t['\\u2F29'] = '\\u5C0F';\n t['\\u2F2A'] = '\\u5C22';\n t['\\u2F2B'] = '\\u5C38';\n t['\\u2F2C'] = '\\u5C6E';\n t['\\u2F2D'] = '\\u5C71';\n t['\\u2F2E'] = '\\u5DDB';\n t['\\u2F2F'] = '\\u5DE5';\n t['\\u2F30'] = '\\u5DF1';\n t['\\u2F31'] = '\\u5DFE';\n t['\\u2F32'] = '\\u5E72';\n t['\\u2F33'] = '\\u5E7A';\n t['\\u2F34'] = '\\u5E7F';\n t['\\u2F35'] = '\\u5EF4';\n t['\\u2F36'] = '\\u5EFE';\n t['\\u2F37'] = '\\u5F0B';\n t['\\u2F38'] = '\\u5F13';\n t['\\u2F39'] = '\\u5F50';\n t['\\u2F3A'] = '\\u5F61';\n t['\\u2F3B'] = '\\u5F73';\n t['\\u2F3C'] = '\\u5FC3';\n t['\\u2F3D'] = '\\u6208';\n t['\\u2F3E'] = '\\u6236';\n t['\\u2F3F'] = '\\u624B';\n t['\\u2F40'] = '\\u652F';\n t['\\u2F41'] = '\\u6534';\n t['\\u2F42'] = '\\u6587';\n t['\\u2F43'] = '\\u6597';\n t['\\u2F44'] = '\\u65A4';\n t['\\u2F45'] = '\\u65B9';\n t['\\u2F46'] = '\\u65E0';\n t['\\u2F47'] = '\\u65E5';\n t['\\u2F48'] = '\\u66F0';\n t['\\u2F49'] = '\\u6708';\n t['\\u2F4A'] = '\\u6728';\n t['\\u2F4B'] = '\\u6B20';\n t['\\u2F4C'] = '\\u6B62';\n t['\\u2F4D'] = '\\u6B79';\n t['\\u2F4E'] = '\\u6BB3';\n t['\\u2F4F'] = '\\u6BCB';\n t['\\u2F50'] = '\\u6BD4';\n t['\\u2F51'] = '\\u6BDB';\n t['\\u2F52'] = '\\u6C0F';\n t['\\u2F53'] = '\\u6C14';\n t['\\u2F54'] = '\\u6C34';\n t['\\u2F55'] = '\\u706B';\n t['\\u2F56'] = '\\u722A';\n t['\\u2F57'] = '\\u7236';\n t['\\u2F58'] = '\\u723B';\n t['\\u2F59'] = '\\u723F';\n t['\\u2F5A'] = '\\u7247';\n t['\\u2F5B'] = '\\u7259';\n t['\\u2F5C'] = '\\u725B';\n t['\\u2F5D'] = '\\u72AC';\n t['\\u2F5E'] = '\\u7384';\n t['\\u2F5F'] = '\\u7389';\n t['\\u2F60'] = '\\u74DC';\n t['\\u2F61'] = '\\u74E6';\n t['\\u2F62'] = '\\u7518';\n t['\\u2F63'] = '\\u751F';\n t['\\u2F64'] = '\\u7528';\n t['\\u2F65'] = '\\u7530';\n t['\\u2F66'] = '\\u758B';\n t['\\u2F67'] = '\\u7592';\n t['\\u2F68'] = '\\u7676';\n t['\\u2F69'] = '\\u767D';\n t['\\u2F6A'] = '\\u76AE';\n t['\\u2F6B'] = '\\u76BF';\n t['\\u2F6C'] = '\\u76EE';\n t['\\u2F6D'] = '\\u77DB';\n t['\\u2F6E'] = '\\u77E2';\n t['\\u2F6F'] = '\\u77F3';\n t['\\u2F70'] = '\\u793A';\n t['\\u2F71'] = '\\u79B8';\n t['\\u2F72'] = '\\u79BE';\n t['\\u2F73'] = '\\u7A74';\n t['\\u2F74'] = '\\u7ACB';\n t['\\u2F75'] = '\\u7AF9';\n t['\\u2F76'] = '\\u7C73';\n t['\\u2F77'] = '\\u7CF8';\n t['\\u2F78'] = '\\u7F36';\n t['\\u2F79'] = '\\u7F51';\n t['\\u2F7A'] = '\\u7F8A';\n t['\\u2F7B'] = '\\u7FBD';\n t['\\u2F7C'] = '\\u8001';\n t['\\u2F7D'] = '\\u800C';\n t['\\u2F7E'] = '\\u8012';\n t['\\u2F7F'] = '\\u8033';\n t['\\u2F80'] = '\\u807F';\n t['\\u2F81'] = '\\u8089';\n t['\\u2F82'] = '\\u81E3';\n t['\\u2F83'] = '\\u81EA';\n t['\\u2F84'] = '\\u81F3';\n t['\\u2F85'] = '\\u81FC';\n t['\\u2F86'] = '\\u820C';\n t['\\u2F87'] = '\\u821B';\n t['\\u2F88'] = '\\u821F';\n t['\\u2F89'] = '\\u826E';\n t['\\u2F8A'] = '\\u8272';\n t['\\u2F8B'] = '\\u8278';\n t['\\u2F8C'] = '\\u864D';\n t['\\u2F8D'] = '\\u866B';\n t['\\u2F8E'] = '\\u8840';\n t['\\u2F8F'] = '\\u884C';\n t['\\u2F90'] = '\\u8863';\n t['\\u2F91'] = '\\u897E';\n t['\\u2F92'] = '\\u898B';\n t['\\u2F93'] = '\\u89D2';\n t['\\u2F94'] = '\\u8A00';\n t['\\u2F95'] = '\\u8C37';\n t['\\u2F96'] = '\\u8C46';\n t['\\u2F97'] = '\\u8C55';\n t['\\u2F98'] = '\\u8C78';\n t['\\u2F99'] = '\\u8C9D';\n t['\\u2F9A'] = '\\u8D64';\n t['\\u2F9B'] = '\\u8D70';\n t['\\u2F9C'] = '\\u8DB3';\n t['\\u2F9D'] = '\\u8EAB';\n t['\\u2F9E'] = '\\u8ECA';\n t['\\u2F9F'] = '\\u8F9B';\n t['\\u2FA0'] = '\\u8FB0';\n t['\\u2FA1'] = '\\u8FB5';\n t['\\u2FA2'] = '\\u9091';\n t['\\u2FA3'] = '\\u9149';\n t['\\u2FA4'] = '\\u91C6';\n t['\\u2FA5'] = '\\u91CC';\n t['\\u2FA6'] = '\\u91D1';\n t['\\u2FA7'] = '\\u9577';\n t['\\u2FA8'] = '\\u9580';\n t['\\u2FA9'] = '\\u961C';\n t['\\u2FAA'] = '\\u96B6';\n t['\\u2FAB'] = '\\u96B9';\n t['\\u2FAC'] = '\\u96E8';\n t['\\u2FAD'] = '\\u9751';\n t['\\u2FAE'] = '\\u975E';\n t['\\u2FAF'] = '\\u9762';\n t['\\u2FB0'] = '\\u9769';\n t['\\u2FB1'] = '\\u97CB';\n t['\\u2FB2'] = '\\u97ED';\n t['\\u2FB3'] = '\\u97F3';\n t['\\u2FB4'] = '\\u9801';\n t['\\u2FB5'] = '\\u98A8';\n t['\\u2FB6'] = '\\u98DB';\n t['\\u2FB7'] = '\\u98DF';\n t['\\u2FB8'] = '\\u9996';\n t['\\u2FB9'] = '\\u9999';\n t['\\u2FBA'] = '\\u99AC';\n t['\\u2FBB'] = '\\u9AA8';\n t['\\u2FBC'] = '\\u9AD8';\n t['\\u2FBD'] = '\\u9ADF';\n t['\\u2FBE'] = '\\u9B25';\n t['\\u2FBF'] = '\\u9B2F';\n t['\\u2FC0'] = '\\u9B32';\n t['\\u2FC1'] = '\\u9B3C';\n t['\\u2FC2'] = '\\u9B5A';\n t['\\u2FC3'] = '\\u9CE5';\n t['\\u2FC4'] = '\\u9E75';\n t['\\u2FC5'] = '\\u9E7F';\n t['\\u2FC6'] = '\\u9EA5';\n t['\\u2FC7'] = '\\u9EBB';\n t['\\u2FC8'] = '\\u9EC3';\n t['\\u2FC9'] = '\\u9ECD';\n t['\\u2FCA'] = '\\u9ED1';\n t['\\u2FCB'] = '\\u9EF9';\n t['\\u2FCC'] = '\\u9EFD';\n t['\\u2FCD'] = '\\u9F0E';\n t['\\u2FCE'] = '\\u9F13';\n t['\\u2FCF'] = '\\u9F20';\n t['\\u2FD0'] = '\\u9F3B';\n t['\\u2FD1'] = '\\u9F4A';\n t['\\u2FD2'] = '\\u9F52';\n t['\\u2FD3'] = '\\u9F8D';\n t['\\u2FD4'] = '\\u9F9C';\n t['\\u2FD5'] = '\\u9FA0';\n t['\\u3036'] = '\\u3012';\n t['\\u3038'] = '\\u5341';\n t['\\u3039'] = '\\u5344';\n t['\\u303A'] = '\\u5345';\n t['\\u309B'] = '\\u0020\\u3099';\n t['\\u309C'] = '\\u0020\\u309A';\n t['\\u3131'] = '\\u1100';\n t['\\u3132'] = '\\u1101';\n t['\\u3133'] = '\\u11AA';\n t['\\u3134'] = '\\u1102';\n t['\\u3135'] = '\\u11AC';\n t['\\u3136'] = '\\u11AD';\n t['\\u3137'] = '\\u1103';\n t['\\u3138'] = '\\u1104';\n t['\\u3139'] = '\\u1105';\n t['\\u313A'] = '\\u11B0';\n t['\\u313B'] = '\\u11B1';\n t['\\u313C'] = '\\u11B2';\n t['\\u313D'] = '\\u11B3';\n t['\\u313E'] = '\\u11B4';\n t['\\u313F'] = '\\u11B5';\n t['\\u3140'] = '\\u111A';\n t['\\u3141'] = '\\u1106';\n t['\\u3142'] = '\\u1107';\n t['\\u3143'] = '\\u1108';\n t['\\u3144'] = '\\u1121';\n t['\\u3145'] = '\\u1109';\n t['\\u3146'] = '\\u110A';\n t['\\u3147'] = '\\u110B';\n t['\\u3148'] = '\\u110C';\n t['\\u3149'] = '\\u110D';\n t['\\u314A'] = '\\u110E';\n t['\\u314B'] = '\\u110F';\n t['\\u314C'] = '\\u1110';\n t['\\u314D'] = '\\u1111';\n t['\\u314E'] = '\\u1112';\n t['\\u314F'] = '\\u1161';\n t['\\u3150'] = '\\u1162';\n t['\\u3151'] = '\\u1163';\n t['\\u3152'] = '\\u1164';\n t['\\u3153'] = '\\u1165';\n t['\\u3154'] = '\\u1166';\n t['\\u3155'] = '\\u1167';\n t['\\u3156'] = '\\u1168';\n t['\\u3157'] = '\\u1169';\n t['\\u3158'] = '\\u116A';\n t['\\u3159'] = '\\u116B';\n t['\\u315A'] = '\\u116C';\n t['\\u315B'] = '\\u116D';\n t['\\u315C'] = '\\u116E';\n t['\\u315D'] = '\\u116F';\n t['\\u315E'] = '\\u1170';\n t['\\u315F'] = '\\u1171';\n t['\\u3160'] = '\\u1172';\n t['\\u3161'] = '\\u1173';\n t['\\u3162'] = '\\u1174';\n t['\\u3163'] = '\\u1175';\n t['\\u3164'] = '\\u1160';\n t['\\u3165'] = '\\u1114';\n t['\\u3166'] = '\\u1115';\n t['\\u3167'] = '\\u11C7';\n t['\\u3168'] = '\\u11C8';\n t['\\u3169'] = '\\u11CC';\n t['\\u316A'] = '\\u11CE';\n t['\\u316B'] = '\\u11D3';\n t['\\u316C'] = '\\u11D7';\n t['\\u316D'] = '\\u11D9';\n t['\\u316E'] = '\\u111C';\n t['\\u316F'] = '\\u11DD';\n t['\\u3170'] = '\\u11DF';\n t['\\u3171'] = '\\u111D';\n t['\\u3172'] = '\\u111E';\n t['\\u3173'] = '\\u1120';\n t['\\u3174'] = '\\u1122';\n t['\\u3175'] = '\\u1123';\n t['\\u3176'] = '\\u1127';\n t['\\u3177'] = '\\u1129';\n t['\\u3178'] = '\\u112B';\n t['\\u3179'] = '\\u112C';\n t['\\u317A'] = '\\u112D';\n t['\\u317B'] = '\\u112E';\n t['\\u317C'] = '\\u112F';\n t['\\u317D'] = '\\u1132';\n t['\\u317E'] = '\\u1136';\n t['\\u317F'] = '\\u1140';\n t['\\u3180'] = '\\u1147';\n t['\\u3181'] = '\\u114C';\n t['\\u3182'] = '\\u11F1';\n t['\\u3183'] = '\\u11F2';\n t['\\u3184'] = '\\u1157';\n t['\\u3185'] = '\\u1158';\n t['\\u3186'] = '\\u1159';\n t['\\u3187'] = '\\u1184';\n t['\\u3188'] = '\\u1185';\n t['\\u3189'] = '\\u1188';\n t['\\u318A'] = '\\u1191';\n t['\\u318B'] = '\\u1192';\n t['\\u318C'] = '\\u1194';\n t['\\u318D'] = '\\u119E';\n t['\\u318E'] = '\\u11A1';\n t['\\u3200'] = '\\u0028\\u1100\\u0029';\n t['\\u3201'] = '\\u0028\\u1102\\u0029';\n t['\\u3202'] = '\\u0028\\u1103\\u0029';\n t['\\u3203'] = '\\u0028\\u1105\\u0029';\n t['\\u3204'] = '\\u0028\\u1106\\u0029';\n t['\\u3205'] = '\\u0028\\u1107\\u0029';\n t['\\u3206'] = '\\u0028\\u1109\\u0029';\n t['\\u3207'] = '\\u0028\\u110B\\u0029';\n t['\\u3208'] = '\\u0028\\u110C\\u0029';\n t['\\u3209'] = '\\u0028\\u110E\\u0029';\n t['\\u320A'] = '\\u0028\\u110F\\u0029';\n t['\\u320B'] = '\\u0028\\u1110\\u0029';\n t['\\u320C'] = '\\u0028\\u1111\\u0029';\n t['\\u320D'] = '\\u0028\\u1112\\u0029';\n t['\\u320E'] = '\\u0028\\u1100\\u1161\\u0029';\n t['\\u320F'] = '\\u0028\\u1102\\u1161\\u0029';\n t['\\u3210'] = '\\u0028\\u1103\\u1161\\u0029';\n t['\\u3211'] = '\\u0028\\u1105\\u1161\\u0029';\n t['\\u3212'] = '\\u0028\\u1106\\u1161\\u0029';\n t['\\u3213'] = '\\u0028\\u1107\\u1161\\u0029';\n t['\\u3214'] = '\\u0028\\u1109\\u1161\\u0029';\n t['\\u3215'] = '\\u0028\\u110B\\u1161\\u0029';\n t['\\u3216'] = '\\u0028\\u110C\\u1161\\u0029';\n t['\\u3217'] = '\\u0028\\u110E\\u1161\\u0029';\n t['\\u3218'] = '\\u0028\\u110F\\u1161\\u0029';\n t['\\u3219'] = '\\u0028\\u1110\\u1161\\u0029';\n t['\\u321A'] = '\\u0028\\u1111\\u1161\\u0029';\n t['\\u321B'] = '\\u0028\\u1112\\u1161\\u0029';\n t['\\u321C'] = '\\u0028\\u110C\\u116E\\u0029';\n t['\\u321D'] = '\\u0028\\u110B\\u1169\\u110C\\u1165\\u11AB\\u0029';\n t['\\u321E'] = '\\u0028\\u110B\\u1169\\u1112\\u116E\\u0029';\n t['\\u3220'] = '\\u0028\\u4E00\\u0029';\n t['\\u3221'] = '\\u0028\\u4E8C\\u0029';\n t['\\u3222'] = '\\u0028\\u4E09\\u0029';\n t['\\u3223'] = '\\u0028\\u56DB\\u0029';\n t['\\u3224'] = '\\u0028\\u4E94\\u0029';\n t['\\u3225'] = '\\u0028\\u516D\\u0029';\n t['\\u3226'] = '\\u0028\\u4E03\\u0029';\n t['\\u3227'] = '\\u0028\\u516B\\u0029';\n t['\\u3228'] = '\\u0028\\u4E5D\\u0029';\n t['\\u3229'] = '\\u0028\\u5341\\u0029';\n t['\\u322A'] = '\\u0028\\u6708\\u0029';\n t['\\u322B'] = '\\u0028\\u706B\\u0029';\n t['\\u322C'] = '\\u0028\\u6C34\\u0029';\n t['\\u322D'] = '\\u0028\\u6728\\u0029';\n t['\\u322E'] = '\\u0028\\u91D1\\u0029';\n t['\\u322F'] = '\\u0028\\u571F\\u0029';\n t['\\u3230'] = '\\u0028\\u65E5\\u0029';\n t['\\u3231'] = '\\u0028\\u682A\\u0029';\n t['\\u3232'] = '\\u0028\\u6709\\u0029';\n t['\\u3233'] = '\\u0028\\u793E\\u0029';\n t['\\u3234'] = '\\u0028\\u540D\\u0029';\n t['\\u3235'] = '\\u0028\\u7279\\u0029';\n t['\\u3236'] = '\\u0028\\u8CA1\\u0029';\n t['\\u3237'] = '\\u0028\\u795D\\u0029';\n t['\\u3238'] = '\\u0028\\u52B4\\u0029';\n t['\\u3239'] = '\\u0028\\u4EE3\\u0029';\n t['\\u323A'] = '\\u0028\\u547C\\u0029';\n t['\\u323B'] = '\\u0028\\u5B66\\u0029';\n t['\\u323C'] = '\\u0028\\u76E3\\u0029';\n t['\\u323D'] = '\\u0028\\u4F01\\u0029';\n t['\\u323E'] = '\\u0028\\u8CC7\\u0029';\n t['\\u323F'] = '\\u0028\\u5354\\u0029';\n t['\\u3240'] = '\\u0028\\u796D\\u0029';\n t['\\u3241'] = '\\u0028\\u4F11\\u0029';\n t['\\u3242'] = '\\u0028\\u81EA\\u0029';\n t['\\u3243'] = '\\u0028\\u81F3\\u0029';\n t['\\u32C0'] = '\\u0031\\u6708';\n t['\\u32C1'] = '\\u0032\\u6708';\n t['\\u32C2'] = '\\u0033\\u6708';\n t['\\u32C3'] = '\\u0034\\u6708';\n t['\\u32C4'] = '\\u0035\\u6708';\n t['\\u32C5'] = '\\u0036\\u6708';\n t['\\u32C6'] = '\\u0037\\u6708';\n t['\\u32C7'] = '\\u0038\\u6708';\n t['\\u32C8'] = '\\u0039\\u6708';\n t['\\u32C9'] = '\\u0031\\u0030\\u6708';\n t['\\u32CA'] = '\\u0031\\u0031\\u6708';\n t['\\u32CB'] = '\\u0031\\u0032\\u6708';\n t['\\u3358'] = '\\u0030\\u70B9';\n t['\\u3359'] = '\\u0031\\u70B9';\n t['\\u335A'] = '\\u0032\\u70B9';\n t['\\u335B'] = '\\u0033\\u70B9';\n t['\\u335C'] = '\\u0034\\u70B9';\n t['\\u335D'] = '\\u0035\\u70B9';\n t['\\u335E'] = '\\u0036\\u70B9';\n t['\\u335F'] = '\\u0037\\u70B9';\n t['\\u3360'] = '\\u0038\\u70B9';\n t['\\u3361'] = '\\u0039\\u70B9';\n t['\\u3362'] = '\\u0031\\u0030\\u70B9';\n t['\\u3363'] = '\\u0031\\u0031\\u70B9';\n t['\\u3364'] = '\\u0031\\u0032\\u70B9';\n t['\\u3365'] = '\\u0031\\u0033\\u70B9';\n t['\\u3366'] = '\\u0031\\u0034\\u70B9';\n t['\\u3367'] = '\\u0031\\u0035\\u70B9';\n t['\\u3368'] = '\\u0031\\u0036\\u70B9';\n t['\\u3369'] = '\\u0031\\u0037\\u70B9';\n t['\\u336A'] = '\\u0031\\u0038\\u70B9';\n t['\\u336B'] = '\\u0031\\u0039\\u70B9';\n t['\\u336C'] = '\\u0032\\u0030\\u70B9';\n t['\\u336D'] = '\\u0032\\u0031\\u70B9';\n t['\\u336E'] = '\\u0032\\u0032\\u70B9';\n t['\\u336F'] = '\\u0032\\u0033\\u70B9';\n t['\\u3370'] = '\\u0032\\u0034\\u70B9';\n t['\\u33E0'] = '\\u0031\\u65E5';\n t['\\u33E1'] = '\\u0032\\u65E5';\n t['\\u33E2'] = '\\u0033\\u65E5';\n t['\\u33E3'] = '\\u0034\\u65E5';\n t['\\u33E4'] = '\\u0035\\u65E5';\n t['\\u33E5'] = '\\u0036\\u65E5';\n t['\\u33E6'] = '\\u0037\\u65E5';\n t['\\u33E7'] = '\\u0038\\u65E5';\n t['\\u33E8'] = '\\u0039\\u65E5';\n t['\\u33E9'] = '\\u0031\\u0030\\u65E5';\n t['\\u33EA'] = '\\u0031\\u0031\\u65E5';\n t['\\u33EB'] = '\\u0031\\u0032\\u65E5';\n t['\\u33EC'] = '\\u0031\\u0033\\u65E5';\n t['\\u33ED'] = '\\u0031\\u0034\\u65E5';\n t['\\u33EE'] = '\\u0031\\u0035\\u65E5';\n t['\\u33EF'] = '\\u0031\\u0036\\u65E5';\n t['\\u33F0'] = '\\u0031\\u0037\\u65E5';\n t['\\u33F1'] = '\\u0031\\u0038\\u65E5';\n t['\\u33F2'] = '\\u0031\\u0039\\u65E5';\n t['\\u33F3'] = '\\u0032\\u0030\\u65E5';\n t['\\u33F4'] = '\\u0032\\u0031\\u65E5';\n t['\\u33F5'] = '\\u0032\\u0032\\u65E5';\n t['\\u33F6'] = '\\u0032\\u0033\\u65E5';\n t['\\u33F7'] = '\\u0032\\u0034\\u65E5';\n t['\\u33F8'] = '\\u0032\\u0035\\u65E5';\n t['\\u33F9'] = '\\u0032\\u0036\\u65E5';\n t['\\u33FA'] = '\\u0032\\u0037\\u65E5';\n t['\\u33FB'] = '\\u0032\\u0038\\u65E5';\n t['\\u33FC'] = '\\u0032\\u0039\\u65E5';\n t['\\u33FD'] = '\\u0033\\u0030\\u65E5';\n t['\\u33FE'] = '\\u0033\\u0031\\u65E5';\n t['\\uFB00'] = '\\u0066\\u0066';\n t['\\uFB01'] = '\\u0066\\u0069';\n t['\\uFB02'] = '\\u0066\\u006C';\n t['\\uFB03'] = '\\u0066\\u0066\\u0069';\n t['\\uFB04'] = '\\u0066\\u0066\\u006C';\n t['\\uFB05'] = '\\u017F\\u0074';\n t['\\uFB06'] = '\\u0073\\u0074';\n t['\\uFB13'] = '\\u0574\\u0576';\n t['\\uFB14'] = '\\u0574\\u0565';\n t['\\uFB15'] = '\\u0574\\u056B';\n t['\\uFB16'] = '\\u057E\\u0576';\n t['\\uFB17'] = '\\u0574\\u056D';\n t['\\uFB4F'] = '\\u05D0\\u05DC';\n t['\\uFB50'] = '\\u0671';\n t['\\uFB51'] = '\\u0671';\n t['\\uFB52'] = '\\u067B';\n t['\\uFB53'] = '\\u067B';\n t['\\uFB54'] = '\\u067B';\n t['\\uFB55'] = '\\u067B';\n t['\\uFB56'] = '\\u067E';\n t['\\uFB57'] = '\\u067E';\n t['\\uFB58'] = '\\u067E';\n t['\\uFB59'] = '\\u067E';\n t['\\uFB5A'] = '\\u0680';\n t['\\uFB5B'] = '\\u0680';\n t['\\uFB5C'] = '\\u0680';\n t['\\uFB5D'] = '\\u0680';\n t['\\uFB5E'] = '\\u067A';\n t['\\uFB5F'] = '\\u067A';\n t['\\uFB60'] = '\\u067A';\n t['\\uFB61'] = '\\u067A';\n t['\\uFB62'] = '\\u067F';\n t['\\uFB63'] = '\\u067F';\n t['\\uFB64'] = '\\u067F';\n t['\\uFB65'] = '\\u067F';\n t['\\uFB66'] = '\\u0679';\n t['\\uFB67'] = '\\u0679';\n t['\\uFB68'] = '\\u0679';\n t['\\uFB69'] = '\\u0679';\n t['\\uFB6A'] = '\\u06A4';\n t['\\uFB6B'] = '\\u06A4';\n t['\\uFB6C'] = '\\u06A4';\n t['\\uFB6D'] = '\\u06A4';\n t['\\uFB6E'] = '\\u06A6';\n t['\\uFB6F'] = '\\u06A6';\n t['\\uFB70'] = '\\u06A6';\n t['\\uFB71'] = '\\u06A6';\n t['\\uFB72'] = '\\u0684';\n t['\\uFB73'] = '\\u0684';\n t['\\uFB74'] = '\\u0684';\n t['\\uFB75'] = '\\u0684';\n t['\\uFB76'] = '\\u0683';\n t['\\uFB77'] = '\\u0683';\n t['\\uFB78'] = '\\u0683';\n t['\\uFB79'] = '\\u0683';\n t['\\uFB7A'] = '\\u0686';\n t['\\uFB7B'] = '\\u0686';\n t['\\uFB7C'] = '\\u0686';\n t['\\uFB7D'] = '\\u0686';\n t['\\uFB7E'] = '\\u0687';\n t['\\uFB7F'] = '\\u0687';\n t['\\uFB80'] = '\\u0687';\n t['\\uFB81'] = '\\u0687';\n t['\\uFB82'] = '\\u068D';\n t['\\uFB83'] = '\\u068D';\n t['\\uFB84'] = '\\u068C';\n t['\\uFB85'] = '\\u068C';\n t['\\uFB86'] = '\\u068E';\n t['\\uFB87'] = '\\u068E';\n t['\\uFB88'] = '\\u0688';\n t['\\uFB89'] = '\\u0688';\n t['\\uFB8A'] = '\\u0698';\n t['\\uFB8B'] = '\\u0698';\n t['\\uFB8C'] = '\\u0691';\n t['\\uFB8D'] = '\\u0691';\n t['\\uFB8E'] = '\\u06A9';\n t['\\uFB8F'] = '\\u06A9';\n t['\\uFB90'] = '\\u06A9';\n t['\\uFB91'] = '\\u06A9';\n t['\\uFB92'] = '\\u06AF';\n t['\\uFB93'] = '\\u06AF';\n t['\\uFB94'] = '\\u06AF';\n t['\\uFB95'] = '\\u06AF';\n t['\\uFB96'] = '\\u06B3';\n t['\\uFB97'] = '\\u06B3';\n t['\\uFB98'] = '\\u06B3';\n t['\\uFB99'] = '\\u06B3';\n t['\\uFB9A'] = '\\u06B1';\n t['\\uFB9B'] = '\\u06B1';\n t['\\uFB9C'] = '\\u06B1';\n t['\\uFB9D'] = '\\u06B1';\n t['\\uFB9E'] = '\\u06BA';\n t['\\uFB9F'] = '\\u06BA';\n t['\\uFBA0'] = '\\u06BB';\n t['\\uFBA1'] = '\\u06BB';\n t['\\uFBA2'] = '\\u06BB';\n t['\\uFBA3'] = '\\u06BB';\n t['\\uFBA4'] = '\\u06C0';\n t['\\uFBA5'] = '\\u06C0';\n t['\\uFBA6'] = '\\u06C1';\n t['\\uFBA7'] = '\\u06C1';\n t['\\uFBA8'] = '\\u06C1';\n t['\\uFBA9'] = '\\u06C1';\n t['\\uFBAA'] = '\\u06BE';\n t['\\uFBAB'] = '\\u06BE';\n t['\\uFBAC'] = '\\u06BE';\n t['\\uFBAD'] = '\\u06BE';\n t['\\uFBAE'] = '\\u06D2';\n t['\\uFBAF'] = '\\u06D2';\n t['\\uFBB0'] = '\\u06D3';\n t['\\uFBB1'] = '\\u06D3';\n t['\\uFBD3'] = '\\u06AD';\n t['\\uFBD4'] = '\\u06AD';\n t['\\uFBD5'] = '\\u06AD';\n t['\\uFBD6'] = '\\u06AD';\n t['\\uFBD7'] = '\\u06C7';\n t['\\uFBD8'] = '\\u06C7';\n t['\\uFBD9'] = '\\u06C6';\n t['\\uFBDA'] = '\\u06C6';\n t['\\uFBDB'] = '\\u06C8';\n t['\\uFBDC'] = '\\u06C8';\n t['\\uFBDD'] = '\\u0677';\n t['\\uFBDE'] = '\\u06CB';\n t['\\uFBDF'] = '\\u06CB';\n t['\\uFBE0'] = '\\u06C5';\n t['\\uFBE1'] = '\\u06C5';\n t['\\uFBE2'] = '\\u06C9';\n t['\\uFBE3'] = '\\u06C9';\n t['\\uFBE4'] = '\\u06D0';\n t['\\uFBE5'] = '\\u06D0';\n t['\\uFBE6'] = '\\u06D0';\n t['\\uFBE7'] = '\\u06D0';\n t['\\uFBE8'] = '\\u0649';\n t['\\uFBE9'] = '\\u0649';\n t['\\uFBEA'] = '\\u0626\\u0627';\n t['\\uFBEB'] = '\\u0626\\u0627';\n t['\\uFBEC'] = '\\u0626\\u06D5';\n t['\\uFBED'] = '\\u0626\\u06D5';\n t['\\uFBEE'] = '\\u0626\\u0648';\n t['\\uFBEF'] = '\\u0626\\u0648';\n t['\\uFBF0'] = '\\u0626\\u06C7';\n t['\\uFBF1'] = '\\u0626\\u06C7';\n t['\\uFBF2'] = '\\u0626\\u06C6';\n t['\\uFBF3'] = '\\u0626\\u06C6';\n t['\\uFBF4'] = '\\u0626\\u06C8';\n t['\\uFBF5'] = '\\u0626\\u06C8';\n t['\\uFBF6'] = '\\u0626\\u06D0';\n t['\\uFBF7'] = '\\u0626\\u06D0';\n t['\\uFBF8'] = '\\u0626\\u06D0';\n t['\\uFBF9'] = '\\u0626\\u0649';\n t['\\uFBFA'] = '\\u0626\\u0649';\n t['\\uFBFB'] = '\\u0626\\u0649';\n t['\\uFBFC'] = '\\u06CC';\n t['\\uFBFD'] = '\\u06CC';\n t['\\uFBFE'] = '\\u06CC';\n t['\\uFBFF'] = '\\u06CC';\n t['\\uFC00'] = '\\u0626\\u062C';\n t['\\uFC01'] = '\\u0626\\u062D';\n t['\\uFC02'] = '\\u0626\\u0645';\n t['\\uFC03'] = '\\u0626\\u0649';\n t['\\uFC04'] = '\\u0626\\u064A';\n t['\\uFC05'] = '\\u0628\\u062C';\n t['\\uFC06'] = '\\u0628\\u062D';\n t['\\uFC07'] = '\\u0628\\u062E';\n t['\\uFC08'] = '\\u0628\\u0645';\n t['\\uFC09'] = '\\u0628\\u0649';\n t['\\uFC0A'] = '\\u0628\\u064A';\n t['\\uFC0B'] = '\\u062A\\u062C';\n t['\\uFC0C'] = '\\u062A\\u062D';\n t['\\uFC0D'] = '\\u062A\\u062E';\n t['\\uFC0E'] = '\\u062A\\u0645';\n t['\\uFC0F'] = '\\u062A\\u0649';\n t['\\uFC10'] = '\\u062A\\u064A';\n t['\\uFC11'] = '\\u062B\\u062C';\n t['\\uFC12'] = '\\u062B\\u0645';\n t['\\uFC13'] = '\\u062B\\u0649';\n t['\\uFC14'] = '\\u062B\\u064A';\n t['\\uFC15'] = '\\u062C\\u062D';\n t['\\uFC16'] = '\\u062C\\u0645';\n t['\\uFC17'] = '\\u062D\\u062C';\n t['\\uFC18'] = '\\u062D\\u0645';\n t['\\uFC19'] = '\\u062E\\u062C';\n t['\\uFC1A'] = '\\u062E\\u062D';\n t['\\uFC1B'] = '\\u062E\\u0645';\n t['\\uFC1C'] = '\\u0633\\u062C';\n t['\\uFC1D'] = '\\u0633\\u062D';\n t['\\uFC1E'] = '\\u0633\\u062E';\n t['\\uFC1F'] = '\\u0633\\u0645';\n t['\\uFC20'] = '\\u0635\\u062D';\n t['\\uFC21'] = '\\u0635\\u0645';\n t['\\uFC22'] = '\\u0636\\u062C';\n t['\\uFC23'] = '\\u0636\\u062D';\n t['\\uFC24'] = '\\u0636\\u062E';\n t['\\uFC25'] = '\\u0636\\u0645';\n t['\\uFC26'] = '\\u0637\\u062D';\n t['\\uFC27'] = '\\u0637\\u0645';\n t['\\uFC28'] = '\\u0638\\u0645';\n t['\\uFC29'] = '\\u0639\\u062C';\n t['\\uFC2A'] = '\\u0639\\u0645';\n t['\\uFC2B'] = '\\u063A\\u062C';\n t['\\uFC2C'] = '\\u063A\\u0645';\n t['\\uFC2D'] = '\\u0641\\u062C';\n t['\\uFC2E'] = '\\u0641\\u062D';\n t['\\uFC2F'] = '\\u0641\\u062E';\n t['\\uFC30'] = '\\u0641\\u0645';\n t['\\uFC31'] = '\\u0641\\u0649';\n t['\\uFC32'] = '\\u0641\\u064A';\n t['\\uFC33'] = '\\u0642\\u062D';\n t['\\uFC34'] = '\\u0642\\u0645';\n t['\\uFC35'] = '\\u0642\\u0649';\n t['\\uFC36'] = '\\u0642\\u064A';\n t['\\uFC37'] = '\\u0643\\u0627';\n t['\\uFC38'] = '\\u0643\\u062C';\n t['\\uFC39'] = '\\u0643\\u062D';\n t['\\uFC3A'] = '\\u0643\\u062E';\n t['\\uFC3B'] = '\\u0643\\u0644';\n t['\\uFC3C'] = '\\u0643\\u0645';\n t['\\uFC3D'] = '\\u0643\\u0649';\n t['\\uFC3E'] = '\\u0643\\u064A';\n t['\\uFC3F'] = '\\u0644\\u062C';\n t['\\uFC40'] = '\\u0644\\u062D';\n t['\\uFC41'] = '\\u0644\\u062E';\n t['\\uFC42'] = '\\u0644\\u0645';\n t['\\uFC43'] = '\\u0644\\u0649';\n t['\\uFC44'] = '\\u0644\\u064A';\n t['\\uFC45'] = '\\u0645\\u062C';\n t['\\uFC46'] = '\\u0645\\u062D';\n t['\\uFC47'] = '\\u0645\\u062E';\n t['\\uFC48'] = '\\u0645\\u0645';\n t['\\uFC49'] = '\\u0645\\u0649';\n t['\\uFC4A'] = '\\u0645\\u064A';\n t['\\uFC4B'] = '\\u0646\\u062C';\n t['\\uFC4C'] = '\\u0646\\u062D';\n t['\\uFC4D'] = '\\u0646\\u062E';\n t['\\uFC4E'] = '\\u0646\\u0645';\n t['\\uFC4F'] = '\\u0646\\u0649';\n t['\\uFC50'] = '\\u0646\\u064A';\n t['\\uFC51'] = '\\u0647\\u062C';\n t['\\uFC52'] = '\\u0647\\u0645';\n t['\\uFC53'] = '\\u0647\\u0649';\n t['\\uFC54'] = '\\u0647\\u064A';\n t['\\uFC55'] = '\\u064A\\u062C';\n t['\\uFC56'] = '\\u064A\\u062D';\n t['\\uFC57'] = '\\u064A\\u062E';\n t['\\uFC58'] = '\\u064A\\u0645';\n t['\\uFC59'] = '\\u064A\\u0649';\n t['\\uFC5A'] = '\\u064A\\u064A';\n t['\\uFC5B'] = '\\u0630\\u0670';\n t['\\uFC5C'] = '\\u0631\\u0670';\n t['\\uFC5D'] = '\\u0649\\u0670';\n t['\\uFC5E'] = '\\u0020\\u064C\\u0651';\n t['\\uFC5F'] = '\\u0020\\u064D\\u0651';\n t['\\uFC60'] = '\\u0020\\u064E\\u0651';\n t['\\uFC61'] = '\\u0020\\u064F\\u0651';\n t['\\uFC62'] = '\\u0020\\u0650\\u0651';\n t['\\uFC63'] = '\\u0020\\u0651\\u0670';\n t['\\uFC64'] = '\\u0626\\u0631';\n t['\\uFC65'] = '\\u0626\\u0632';\n t['\\uFC66'] = '\\u0626\\u0645';\n t['\\uFC67'] = '\\u0626\\u0646';\n t['\\uFC68'] = '\\u0626\\u0649';\n t['\\uFC69'] = '\\u0626\\u064A';\n t['\\uFC6A'] = '\\u0628\\u0631';\n t['\\uFC6B'] = '\\u0628\\u0632';\n t['\\uFC6C'] = '\\u0628\\u0645';\n t['\\uFC6D'] = '\\u0628\\u0646';\n t['\\uFC6E'] = '\\u0628\\u0649';\n t['\\uFC6F'] = '\\u0628\\u064A';\n t['\\uFC70'] = '\\u062A\\u0631';\n t['\\uFC71'] = '\\u062A\\u0632';\n t['\\uFC72'] = '\\u062A\\u0645';\n t['\\uFC73'] = '\\u062A\\u0646';\n t['\\uFC74'] = '\\u062A\\u0649';\n t['\\uFC75'] = '\\u062A\\u064A';\n t['\\uFC76'] = '\\u062B\\u0631';\n t['\\uFC77'] = '\\u062B\\u0632';\n t['\\uFC78'] = '\\u062B\\u0645';\n t['\\uFC79'] = '\\u062B\\u0646';\n t['\\uFC7A'] = '\\u062B\\u0649';\n t['\\uFC7B'] = '\\u062B\\u064A';\n t['\\uFC7C'] = '\\u0641\\u0649';\n t['\\uFC7D'] = '\\u0641\\u064A';\n t['\\uFC7E'] = '\\u0642\\u0649';\n t['\\uFC7F'] = '\\u0642\\u064A';\n t['\\uFC80'] = '\\u0643\\u0627';\n t['\\uFC81'] = '\\u0643\\u0644';\n t['\\uFC82'] = '\\u0643\\u0645';\n t['\\uFC83'] = '\\u0643\\u0649';\n t['\\uFC84'] = '\\u0643\\u064A';\n t['\\uFC85'] = '\\u0644\\u0645';\n t['\\uFC86'] = '\\u0644\\u0649';\n t['\\uFC87'] = '\\u0644\\u064A';\n t['\\uFC88'] = '\\u0645\\u0627';\n t['\\uFC89'] = '\\u0645\\u0645';\n t['\\uFC8A'] = '\\u0646\\u0631';\n t['\\uFC8B'] = '\\u0646\\u0632';\n t['\\uFC8C'] = '\\u0646\\u0645';\n t['\\uFC8D'] = '\\u0646\\u0646';\n t['\\uFC8E'] = '\\u0646\\u0649';\n t['\\uFC8F'] = '\\u0646\\u064A';\n t['\\uFC90'] = '\\u0649\\u0670';\n t['\\uFC91'] = '\\u064A\\u0631';\n t['\\uFC92'] = '\\u064A\\u0632';\n t['\\uFC93'] = '\\u064A\\u0645';\n t['\\uFC94'] = '\\u064A\\u0646';\n t['\\uFC95'] = '\\u064A\\u0649';\n t['\\uFC96'] = '\\u064A\\u064A';\n t['\\uFC97'] = '\\u0626\\u062C';\n t['\\uFC98'] = '\\u0626\\u062D';\n t['\\uFC99'] = '\\u0626\\u062E';\n t['\\uFC9A'] = '\\u0626\\u0645';\n t['\\uFC9B'] = '\\u0626\\u0647';\n t['\\uFC9C'] = '\\u0628\\u062C';\n t['\\uFC9D'] = '\\u0628\\u062D';\n t['\\uFC9E'] = '\\u0628\\u062E';\n t['\\uFC9F'] = '\\u0628\\u0645';\n t['\\uFCA0'] = '\\u0628\\u0647';\n t['\\uFCA1'] = '\\u062A\\u062C';\n t['\\uFCA2'] = '\\u062A\\u062D';\n t['\\uFCA3'] = '\\u062A\\u062E';\n t['\\uFCA4'] = '\\u062A\\u0645';\n t['\\uFCA5'] = '\\u062A\\u0647';\n t['\\uFCA6'] = '\\u062B\\u0645';\n t['\\uFCA7'] = '\\u062C\\u062D';\n t['\\uFCA8'] = '\\u062C\\u0645';\n t['\\uFCA9'] = '\\u062D\\u062C';\n t['\\uFCAA'] = '\\u062D\\u0645';\n t['\\uFCAB'] = '\\u062E\\u062C';\n t['\\uFCAC'] = '\\u062E\\u0645';\n t['\\uFCAD'] = '\\u0633\\u062C';\n t['\\uFCAE'] = '\\u0633\\u062D';\n t['\\uFCAF'] = '\\u0633\\u062E';\n t['\\uFCB0'] = '\\u0633\\u0645';\n t['\\uFCB1'] = '\\u0635\\u062D';\n t['\\uFCB2'] = '\\u0635\\u062E';\n t['\\uFCB3'] = '\\u0635\\u0645';\n t['\\uFCB4'] = '\\u0636\\u062C';\n t['\\uFCB5'] = '\\u0636\\u062D';\n t['\\uFCB6'] = '\\u0636\\u062E';\n t['\\uFCB7'] = '\\u0636\\u0645';\n t['\\uFCB8'] = '\\u0637\\u062D';\n t['\\uFCB9'] = '\\u0638\\u0645';\n t['\\uFCBA'] = '\\u0639\\u062C';\n t['\\uFCBB'] = '\\u0639\\u0645';\n t['\\uFCBC'] = '\\u063A\\u062C';\n t['\\uFCBD'] = '\\u063A\\u0645';\n t['\\uFCBE'] = '\\u0641\\u062C';\n t['\\uFCBF'] = '\\u0641\\u062D';\n t['\\uFCC0'] = '\\u0641\\u062E';\n t['\\uFCC1'] = '\\u0641\\u0645';\n t['\\uFCC2'] = '\\u0642\\u062D';\n t['\\uFCC3'] = '\\u0642\\u0645';\n t['\\uFCC4'] = '\\u0643\\u062C';\n t['\\uFCC5'] = '\\u0643\\u062D';\n t['\\uFCC6'] = '\\u0643\\u062E';\n t['\\uFCC7'] = '\\u0643\\u0644';\n t['\\uFCC8'] = '\\u0643\\u0645';\n t['\\uFCC9'] = '\\u0644\\u062C';\n t['\\uFCCA'] = '\\u0644\\u062D';\n t['\\uFCCB'] = '\\u0644\\u062E';\n t['\\uFCCC'] = '\\u0644\\u0645';\n t['\\uFCCD'] = '\\u0644\\u0647';\n t['\\uFCCE'] = '\\u0645\\u062C';\n t['\\uFCCF'] = '\\u0645\\u062D';\n t['\\uFCD0'] = '\\u0645\\u062E';\n t['\\uFCD1'] = '\\u0645\\u0645';\n t['\\uFCD2'] = '\\u0646\\u062C';\n t['\\uFCD3'] = '\\u0646\\u062D';\n t['\\uFCD4'] = '\\u0646\\u062E';\n t['\\uFCD5'] = '\\u0646\\u0645';\n t['\\uFCD6'] = '\\u0646\\u0647';\n t['\\uFCD7'] = '\\u0647\\u062C';\n t['\\uFCD8'] = '\\u0647\\u0645';\n t['\\uFCD9'] = '\\u0647\\u0670';\n t['\\uFCDA'] = '\\u064A\\u062C';\n t['\\uFCDB'] = '\\u064A\\u062D';\n t['\\uFCDC'] = '\\u064A\\u062E';\n t['\\uFCDD'] = '\\u064A\\u0645';\n t['\\uFCDE'] = '\\u064A\\u0647';\n t['\\uFCDF'] = '\\u0626\\u0645';\n t['\\uFCE0'] = '\\u0626\\u0647';\n t['\\uFCE1'] = '\\u0628\\u0645';\n t['\\uFCE2'] = '\\u0628\\u0647';\n t['\\uFCE3'] = '\\u062A\\u0645';\n t['\\uFCE4'] = '\\u062A\\u0647';\n t['\\uFCE5'] = '\\u062B\\u0645';\n t['\\uFCE6'] = '\\u062B\\u0647';\n t['\\uFCE7'] = '\\u0633\\u0645';\n t['\\uFCE8'] = '\\u0633\\u0647';\n t['\\uFCE9'] = '\\u0634\\u0645';\n t['\\uFCEA'] = '\\u0634\\u0647';\n t['\\uFCEB'] = '\\u0643\\u0644';\n t['\\uFCEC'] = '\\u0643\\u0645';\n t['\\uFCED'] = '\\u0644\\u0645';\n t['\\uFCEE'] = '\\u0646\\u0645';\n t['\\uFCEF'] = '\\u0646\\u0647';\n t['\\uFCF0'] = '\\u064A\\u0645';\n t['\\uFCF1'] = '\\u064A\\u0647';\n t['\\uFCF2'] = '\\u0640\\u064E\\u0651';\n t['\\uFCF3'] = '\\u0640\\u064F\\u0651';\n t['\\uFCF4'] = '\\u0640\\u0650\\u0651';\n t['\\uFCF5'] = '\\u0637\\u0649';\n t['\\uFCF6'] = '\\u0637\\u064A';\n t['\\uFCF7'] = '\\u0639\\u0649';\n t['\\uFCF8'] = '\\u0639\\u064A';\n t['\\uFCF9'] = '\\u063A\\u0649';\n t['\\uFCFA'] = '\\u063A\\u064A';\n t['\\uFCFB'] = '\\u0633\\u0649';\n t['\\uFCFC'] = '\\u0633\\u064A';\n t['\\uFCFD'] = '\\u0634\\u0649';\n t['\\uFCFE'] = '\\u0634\\u064A';\n t['\\uFCFF'] = '\\u062D\\u0649';\n t['\\uFD00'] = '\\u062D\\u064A';\n t['\\uFD01'] = '\\u062C\\u0649';\n t['\\uFD02'] = '\\u062C\\u064A';\n t['\\uFD03'] = '\\u062E\\u0649';\n t['\\uFD04'] = '\\u062E\\u064A';\n t['\\uFD05'] = '\\u0635\\u0649';\n t['\\uFD06'] = '\\u0635\\u064A';\n t['\\uFD07'] = '\\u0636\\u0649';\n t['\\uFD08'] = '\\u0636\\u064A';\n t['\\uFD09'] = '\\u0634\\u062C';\n t['\\uFD0A'] = '\\u0634\\u062D';\n t['\\uFD0B'] = '\\u0634\\u062E';\n t['\\uFD0C'] = '\\u0634\\u0645';\n t['\\uFD0D'] = '\\u0634\\u0631';\n t['\\uFD0E'] = '\\u0633\\u0631';\n t['\\uFD0F'] = '\\u0635\\u0631';\n t['\\uFD10'] = '\\u0636\\u0631';\n t['\\uFD11'] = '\\u0637\\u0649';\n t['\\uFD12'] = '\\u0637\\u064A';\n t['\\uFD13'] = '\\u0639\\u0649';\n t['\\uFD14'] = '\\u0639\\u064A';\n t['\\uFD15'] = '\\u063A\\u0649';\n t['\\uFD16'] = '\\u063A\\u064A';\n t['\\uFD17'] = '\\u0633\\u0649';\n t['\\uFD18'] = '\\u0633\\u064A';\n t['\\uFD19'] = '\\u0634\\u0649';\n t['\\uFD1A'] = '\\u0634\\u064A';\n t['\\uFD1B'] = '\\u062D\\u0649';\n t['\\uFD1C'] = '\\u062D\\u064A';\n t['\\uFD1D'] = '\\u062C\\u0649';\n t['\\uFD1E'] = '\\u062C\\u064A';\n t['\\uFD1F'] = '\\u062E\\u0649';\n t['\\uFD20'] = '\\u062E\\u064A';\n t['\\uFD21'] = '\\u0635\\u0649';\n t['\\uFD22'] = '\\u0635\\u064A';\n t['\\uFD23'] = '\\u0636\\u0649';\n t['\\uFD24'] = '\\u0636\\u064A';\n t['\\uFD25'] = '\\u0634\\u062C';\n t['\\uFD26'] = '\\u0634\\u062D';\n t['\\uFD27'] = '\\u0634\\u062E';\n t['\\uFD28'] = '\\u0634\\u0645';\n t['\\uFD29'] = '\\u0634\\u0631';\n t['\\uFD2A'] = '\\u0633\\u0631';\n t['\\uFD2B'] = '\\u0635\\u0631';\n t['\\uFD2C'] = '\\u0636\\u0631';\n t['\\uFD2D'] = '\\u0634\\u062C';\n t['\\uFD2E'] = '\\u0634\\u062D';\n t['\\uFD2F'] = '\\u0634\\u062E';\n t['\\uFD30'] = '\\u0634\\u0645';\n t['\\uFD31'] = '\\u0633\\u0647';\n t['\\uFD32'] = '\\u0634\\u0647';\n t['\\uFD33'] = '\\u0637\\u0645';\n t['\\uFD34'] = '\\u0633\\u062C';\n t['\\uFD35'] = '\\u0633\\u062D';\n t['\\uFD36'] = '\\u0633\\u062E';\n t['\\uFD37'] = '\\u0634\\u062C';\n t['\\uFD38'] = '\\u0634\\u062D';\n t['\\uFD39'] = '\\u0634\\u062E';\n t['\\uFD3A'] = '\\u0637\\u0645';\n t['\\uFD3B'] = '\\u0638\\u0645';\n t['\\uFD3C'] = '\\u0627\\u064B';\n t['\\uFD3D'] = '\\u0627\\u064B';\n t['\\uFD50'] = '\\u062A\\u062C\\u0645';\n t['\\uFD51'] = '\\u062A\\u062D\\u062C';\n t['\\uFD52'] = '\\u062A\\u062D\\u062C';\n t['\\uFD53'] = '\\u062A\\u062D\\u0645';\n t['\\uFD54'] = '\\u062A\\u062E\\u0645';\n t['\\uFD55'] = '\\u062A\\u0645\\u062C';\n t['\\uFD56'] = '\\u062A\\u0645\\u062D';\n t['\\uFD57'] = '\\u062A\\u0645\\u062E';\n t['\\uFD58'] = '\\u062C\\u0645\\u062D';\n t['\\uFD59'] = '\\u062C\\u0645\\u062D';\n t['\\uFD5A'] = '\\u062D\\u0645\\u064A';\n t['\\uFD5B'] = '\\u062D\\u0645\\u0649';\n t['\\uFD5C'] = '\\u0633\\u062D\\u062C';\n t['\\uFD5D'] = '\\u0633\\u062C\\u062D';\n t['\\uFD5E'] = '\\u0633\\u062C\\u0649';\n t['\\uFD5F'] = '\\u0633\\u0645\\u062D';\n t['\\uFD60'] = '\\u0633\\u0645\\u062D';\n t['\\uFD61'] = '\\u0633\\u0645\\u062C';\n t['\\uFD62'] = '\\u0633\\u0645\\u0645';\n t['\\uFD63'] = '\\u0633\\u0645\\u0645';\n t['\\uFD64'] = '\\u0635\\u062D\\u062D';\n t['\\uFD65'] = '\\u0635\\u062D\\u062D';\n t['\\uFD66'] = '\\u0635\\u0645\\u0645';\n t['\\uFD67'] = '\\u0634\\u062D\\u0645';\n t['\\uFD68'] = '\\u0634\\u062D\\u0645';\n t['\\uFD69'] = '\\u0634\\u062C\\u064A';\n t['\\uFD6A'] = '\\u0634\\u0645\\u062E';\n t['\\uFD6B'] = '\\u0634\\u0645\\u062E';\n t['\\uFD6C'] = '\\u0634\\u0645\\u0645';\n t['\\uFD6D'] = '\\u0634\\u0645\\u0645';\n t['\\uFD6E'] = '\\u0636\\u062D\\u0649';\n t['\\uFD6F'] = '\\u0636\\u062E\\u0645';\n t['\\uFD70'] = '\\u0636\\u062E\\u0645';\n t['\\uFD71'] = '\\u0637\\u0645\\u062D';\n t['\\uFD72'] = '\\u0637\\u0645\\u062D';\n t['\\uFD73'] = '\\u0637\\u0645\\u0645';\n t['\\uFD74'] = '\\u0637\\u0645\\u064A';\n t['\\uFD75'] = '\\u0639\\u062C\\u0645';\n t['\\uFD76'] = '\\u0639\\u0645\\u0645';\n t['\\uFD77'] = '\\u0639\\u0645\\u0645';\n t['\\uFD78'] = '\\u0639\\u0645\\u0649';\n t['\\uFD79'] = '\\u063A\\u0645\\u0645';\n t['\\uFD7A'] = '\\u063A\\u0645\\u064A';\n t['\\uFD7B'] = '\\u063A\\u0645\\u0649';\n t['\\uFD7C'] = '\\u0641\\u062E\\u0645';\n t['\\uFD7D'] = '\\u0641\\u062E\\u0645';\n t['\\uFD7E'] = '\\u0642\\u0645\\u062D';\n t['\\uFD7F'] = '\\u0642\\u0645\\u0645';\n t['\\uFD80'] = '\\u0644\\u062D\\u0645';\n t['\\uFD81'] = '\\u0644\\u062D\\u064A';\n t['\\uFD82'] = '\\u0644\\u062D\\u0649';\n t['\\uFD83'] = '\\u0644\\u062C\\u062C';\n t['\\uFD84'] = '\\u0644\\u062C\\u062C';\n t['\\uFD85'] = '\\u0644\\u062E\\u0645';\n t['\\uFD86'] = '\\u0644\\u062E\\u0645';\n t['\\uFD87'] = '\\u0644\\u0645\\u062D';\n t['\\uFD88'] = '\\u0644\\u0645\\u062D';\n t['\\uFD89'] = '\\u0645\\u062D\\u062C';\n t['\\uFD8A'] = '\\u0645\\u062D\\u0645';\n t['\\uFD8B'] = '\\u0645\\u062D\\u064A';\n t['\\uFD8C'] = '\\u0645\\u062C\\u062D';\n t['\\uFD8D'] = '\\u0645\\u062C\\u0645';\n t['\\uFD8E'] = '\\u0645\\u062E\\u062C';\n t['\\uFD8F'] = '\\u0645\\u062E\\u0645';\n t['\\uFD92'] = '\\u0645\\u062C\\u062E';\n t['\\uFD93'] = '\\u0647\\u0645\\u062C';\n t['\\uFD94'] = '\\u0647\\u0645\\u0645';\n t['\\uFD95'] = '\\u0646\\u062D\\u0645';\n t['\\uFD96'] = '\\u0646\\u062D\\u0649';\n t['\\uFD97'] = '\\u0646\\u062C\\u0645';\n t['\\uFD98'] = '\\u0646\\u062C\\u0645';\n t['\\uFD99'] = '\\u0646\\u062C\\u0649';\n t['\\uFD9A'] = '\\u0646\\u0645\\u064A';\n t['\\uFD9B'] = '\\u0646\\u0645\\u0649';\n t['\\uFD9C'] = '\\u064A\\u0645\\u0645';\n t['\\uFD9D'] = '\\u064A\\u0645\\u0645';\n t['\\uFD9E'] = '\\u0628\\u062E\\u064A';\n t['\\uFD9F'] = '\\u062A\\u062C\\u064A';\n t['\\uFDA0'] = '\\u062A\\u062C\\u0649';\n t['\\uFDA1'] = '\\u062A\\u062E\\u064A';\n t['\\uFDA2'] = '\\u062A\\u062E\\u0649';\n t['\\uFDA3'] = '\\u062A\\u0645\\u064A';\n t['\\uFDA4'] = '\\u062A\\u0645\\u0649';\n t['\\uFDA5'] = '\\u062C\\u0645\\u064A';\n t['\\uFDA6'] = '\\u062C\\u062D\\u0649';\n t['\\uFDA7'] = '\\u062C\\u0645\\u0649';\n t['\\uFDA8'] = '\\u0633\\u062E\\u0649';\n t['\\uFDA9'] = '\\u0635\\u062D\\u064A';\n t['\\uFDAA'] = '\\u0634\\u062D\\u064A';\n t['\\uFDAB'] = '\\u0636\\u062D\\u064A';\n t['\\uFDAC'] = '\\u0644\\u062C\\u064A';\n t['\\uFDAD'] = '\\u0644\\u0645\\u064A';\n t['\\uFDAE'] = '\\u064A\\u062D\\u064A';\n t['\\uFDAF'] = '\\u064A\\u062C\\u064A';\n t['\\uFDB0'] = '\\u064A\\u0645\\u064A';\n t['\\uFDB1'] = '\\u0645\\u0645\\u064A';\n t['\\uFDB2'] = '\\u0642\\u0645\\u064A';\n t['\\uFDB3'] = '\\u0646\\u062D\\u064A';\n t['\\uFDB4'] = '\\u0642\\u0645\\u062D';\n t['\\uFDB5'] = '\\u0644\\u062D\\u0645';\n t['\\uFDB6'] = '\\u0639\\u0645\\u064A';\n t['\\uFDB7'] = '\\u0643\\u0645\\u064A';\n t['\\uFDB8'] = '\\u0646\\u062C\\u062D';\n t['\\uFDB9'] = '\\u0645\\u062E\\u064A';\n t['\\uFDBA'] = '\\u0644\\u062C\\u0645';\n t['\\uFDBB'] = '\\u0643\\u0645\\u0645';\n t['\\uFDBC'] = '\\u0644\\u062C\\u0645';\n t['\\uFDBD'] = '\\u0646\\u062C\\u062D';\n t['\\uFDBE'] = '\\u062C\\u062D\\u064A';\n t['\\uFDBF'] = '\\u062D\\u062C\\u064A';\n t['\\uFDC0'] = '\\u0645\\u062C\\u064A';\n t['\\uFDC1'] = '\\u0641\\u0645\\u064A';\n t['\\uFDC2'] = '\\u0628\\u062D\\u064A';\n t['\\uFDC3'] = '\\u0643\\u0645\\u0645';\n t['\\uFDC4'] = '\\u0639\\u062C\\u0645';\n t['\\uFDC5'] = '\\u0635\\u0645\\u0645';\n t['\\uFDC6'] = '\\u0633\\u062E\\u064A';\n t['\\uFDC7'] = '\\u0646\\u062C\\u064A';\n t['\\uFE49'] = '\\u203E';\n t['\\uFE4A'] = '\\u203E';\n t['\\uFE4B'] = '\\u203E';\n t['\\uFE4C'] = '\\u203E';\n t['\\uFE4D'] = '\\u005F';\n t['\\uFE4E'] = '\\u005F';\n t['\\uFE4F'] = '\\u005F';\n t['\\uFE80'] = '\\u0621';\n t['\\uFE81'] = '\\u0622';\n t['\\uFE82'] = '\\u0622';\n t['\\uFE83'] = '\\u0623';\n t['\\uFE84'] = '\\u0623';\n t['\\uFE85'] = '\\u0624';\n t['\\uFE86'] = '\\u0624';\n t['\\uFE87'] = '\\u0625';\n t['\\uFE88'] = '\\u0625';\n t['\\uFE89'] = '\\u0626';\n t['\\uFE8A'] = '\\u0626';\n t['\\uFE8B'] = '\\u0626';\n t['\\uFE8C'] = '\\u0626';\n t['\\uFE8D'] = '\\u0627';\n t['\\uFE8E'] = '\\u0627';\n t['\\uFE8F'] = '\\u0628';\n t['\\uFE90'] = '\\u0628';\n t['\\uFE91'] = '\\u0628';\n t['\\uFE92'] = '\\u0628';\n t['\\uFE93'] = '\\u0629';\n t['\\uFE94'] = '\\u0629';\n t['\\uFE95'] = '\\u062A';\n t['\\uFE96'] = '\\u062A';\n t['\\uFE97'] = '\\u062A';\n t['\\uFE98'] = '\\u062A';\n t['\\uFE99'] = '\\u062B';\n t['\\uFE9A'] = '\\u062B';\n t['\\uFE9B'] = '\\u062B';\n t['\\uFE9C'] = '\\u062B';\n t['\\uFE9D'] = '\\u062C';\n t['\\uFE9E'] = '\\u062C';\n t['\\uFE9F'] = '\\u062C';\n t['\\uFEA0'] = '\\u062C';\n t['\\uFEA1'] = '\\u062D';\n t['\\uFEA2'] = '\\u062D';\n t['\\uFEA3'] = '\\u062D';\n t['\\uFEA4'] = '\\u062D';\n t['\\uFEA5'] = '\\u062E';\n t['\\uFEA6'] = '\\u062E';\n t['\\uFEA7'] = '\\u062E';\n t['\\uFEA8'] = '\\u062E';\n t['\\uFEA9'] = '\\u062F';\n t['\\uFEAA'] = '\\u062F';\n t['\\uFEAB'] = '\\u0630';\n t['\\uFEAC'] = '\\u0630';\n t['\\uFEAD'] = '\\u0631';\n t['\\uFEAE'] = '\\u0631';\n t['\\uFEAF'] = '\\u0632';\n t['\\uFEB0'] = '\\u0632';\n t['\\uFEB1'] = '\\u0633';\n t['\\uFEB2'] = '\\u0633';\n t['\\uFEB3'] = '\\u0633';\n t['\\uFEB4'] = '\\u0633';\n t['\\uFEB5'] = '\\u0634';\n t['\\uFEB6'] = '\\u0634';\n t['\\uFEB7'] = '\\u0634';\n t['\\uFEB8'] = '\\u0634';\n t['\\uFEB9'] = '\\u0635';\n t['\\uFEBA'] = '\\u0635';\n t['\\uFEBB'] = '\\u0635';\n t['\\uFEBC'] = '\\u0635';\n t['\\uFEBD'] = '\\u0636';\n t['\\uFEBE'] = '\\u0636';\n t['\\uFEBF'] = '\\u0636';\n t['\\uFEC0'] = '\\u0636';\n t['\\uFEC1'] = '\\u0637';\n t['\\uFEC2'] = '\\u0637';\n t['\\uFEC3'] = '\\u0637';\n t['\\uFEC4'] = '\\u0637';\n t['\\uFEC5'] = '\\u0638';\n t['\\uFEC6'] = '\\u0638';\n t['\\uFEC7'] = '\\u0638';\n t['\\uFEC8'] = '\\u0638';\n t['\\uFEC9'] = '\\u0639';\n t['\\uFECA'] = '\\u0639';\n t['\\uFECB'] = '\\u0639';\n t['\\uFECC'] = '\\u0639';\n t['\\uFECD'] = '\\u063A';\n t['\\uFECE'] = '\\u063A';\n t['\\uFECF'] = '\\u063A';\n t['\\uFED0'] = '\\u063A';\n t['\\uFED1'] = '\\u0641';\n t['\\uFED2'] = '\\u0641';\n t['\\uFED3'] = '\\u0641';\n t['\\uFED4'] = '\\u0641';\n t['\\uFED5'] = '\\u0642';\n t['\\uFED6'] = '\\u0642';\n t['\\uFED7'] = '\\u0642';\n t['\\uFED8'] = '\\u0642';\n t['\\uFED9'] = '\\u0643';\n t['\\uFEDA'] = '\\u0643';\n t['\\uFEDB'] = '\\u0643';\n t['\\uFEDC'] = '\\u0643';\n t['\\uFEDD'] = '\\u0644';\n t['\\uFEDE'] = '\\u0644';\n t['\\uFEDF'] = '\\u0644';\n t['\\uFEE0'] = '\\u0644';\n t['\\uFEE1'] = '\\u0645';\n t['\\uFEE2'] = '\\u0645';\n t['\\uFEE3'] = '\\u0645';\n t['\\uFEE4'] = '\\u0645';\n t['\\uFEE5'] = '\\u0646';\n t['\\uFEE6'] = '\\u0646';\n t['\\uFEE7'] = '\\u0646';\n t['\\uFEE8'] = '\\u0646';\n t['\\uFEE9'] = '\\u0647';\n t['\\uFEEA'] = '\\u0647';\n t['\\uFEEB'] = '\\u0647';\n t['\\uFEEC'] = '\\u0647';\n t['\\uFEED'] = '\\u0648';\n t['\\uFEEE'] = '\\u0648';\n t['\\uFEEF'] = '\\u0649';\n t['\\uFEF0'] = '\\u0649';\n t['\\uFEF1'] = '\\u064A';\n t['\\uFEF2'] = '\\u064A';\n t['\\uFEF3'] = '\\u064A';\n t['\\uFEF4'] = '\\u064A';\n t['\\uFEF5'] = '\\u0644\\u0622';\n t['\\uFEF6'] = '\\u0644\\u0622';\n t['\\uFEF7'] = '\\u0644\\u0623';\n t['\\uFEF8'] = '\\u0644\\u0623';\n t['\\uFEF9'] = '\\u0644\\u0625';\n t['\\uFEFA'] = '\\u0644\\u0625';\n t['\\uFEFB'] = '\\u0644\\u0627';\n t['\\uFEFC'] = '\\u0644\\u0627';\n});\nfunction reverseIfRtl(chars) {\n var charsLength = chars.length;\n if (charsLength <= 1 || !isRTLRangeFor(chars.charCodeAt(0))) {\n  return chars;\n }\n var s = '';\n for (var ii = charsLength - 1; ii >= 0; ii--) {\n  s += chars[ii];\n }\n return s;\n}\nexports.mapSpecialUnicodeValues = mapSpecialUnicodeValues;\nexports.reverseIfRtl = reverseIfRtl;\nexports.getUnicodeRangeFor = getUnicodeRangeFor;\nexports.getNormalizedUnicodes = getNormalizedUnicodes;\nexports.getUnicodeForGlyph = getUnicodeForGlyph;\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.PostScriptCompiler = exports.PostScriptEvaluator = exports.PDFFunctionFactory = exports.isPDFFunction = undefined;\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 && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _util = __w_pdfjs_require__(0);\n\nvar _primitives = __w_pdfjs_require__(2);\n\nvar _ps_parser = __w_pdfjs_require__(156);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar IsEvalSupportedCached = {\n  get value() {\n    return (0, _util.shadow)(this, 'value', (0, _util.isEvalSupported)());\n  }\n};\n\nvar PDFFunctionFactory = function () {\n  function PDFFunctionFactory(_ref) {\n    var xref = _ref.xref,\n        _ref$isEvalSupported = _ref.isEvalSupported,\n        isEvalSupported = _ref$isEvalSupported === undefined ? true : _ref$isEvalSupported;\n\n    _classCallCheck(this, PDFFunctionFactory);\n\n    this.xref = xref;\n    this.isEvalSupported = isEvalSupported !== false;\n  }\n\n  _createClass(PDFFunctionFactory, [{\n    key: 'create',\n    value: function create(fn) {\n      return PDFFunction.parse({\n        xref: this.xref,\n        isEvalSupported: this.isEvalSupported,\n        fn: fn\n      });\n    }\n  }, {\n    key: 'createFromArray',\n    value: function createFromArray(fnObj) {\n      return PDFFunction.parseArray({\n        xref: this.xref,\n        isEvalSupported: this.isEvalSupported,\n        fnObj: fnObj\n      });\n    }\n  }]);\n\n  return PDFFunctionFactory;\n}();\n\nfunction toNumberArray(arr) {\n  if (!Array.isArray(arr)) {\n    return null;\n  }\n  var length = arr.length;\n  for (var i = 0; i < length; i++) {\n    if (typeof arr[i] !== 'number') {\n      var result = new Array(length);\n      for (var _i = 0; _i < length; _i++) {\n        result[_i] = +arr[_i];\n      }\n      return result;\n    }\n  }\n  return arr;\n}\nvar PDFFunction = function PDFFunctionClosure() {\n  var CONSTRUCT_SAMPLED = 0;\n  var CONSTRUCT_INTERPOLATED = 2;\n  var CONSTRUCT_STICHED = 3;\n  var CONSTRUCT_POSTSCRIPT = 4;\n  return {\n    getSampleArray: function getSampleArray(size, outputSize, bps, stream) {\n      var i, ii;\n      var length = 1;\n      for (i = 0, ii = size.length; i < ii; i++) {\n        length *= size[i];\n      }\n      length *= outputSize;\n      var array = new Array(length);\n      var codeSize = 0;\n      var codeBuf = 0;\n      var sampleMul = 1.0 / (Math.pow(2.0, bps) - 1);\n      var strBytes = stream.getBytes((length * bps + 7) / 8);\n      var strIdx = 0;\n      for (i = 0; i < length; i++) {\n        while (codeSize < bps) {\n          codeBuf <<= 8;\n          codeBuf |= strBytes[strIdx++];\n          codeSize += 8;\n        }\n        codeSize -= bps;\n        array[i] = (codeBuf >> codeSize) * sampleMul;\n        codeBuf &= (1 << codeSize) - 1;\n      }\n      return array;\n    },\n    getIR: function getIR(_ref2) {\n      var xref = _ref2.xref,\n          isEvalSupported = _ref2.isEvalSupported,\n          fn = _ref2.fn;\n\n      var dict = fn.dict;\n      if (!dict) {\n        dict = fn;\n      }\n      var types = [this.constructSampled, null, this.constructInterpolated, this.constructStiched, this.constructPostScript];\n      var typeNum = dict.get('FunctionType');\n      var typeFn = types[typeNum];\n      if (!typeFn) {\n        throw new _util.FormatError('Unknown type of function');\n      }\n      return typeFn.call(this, {\n        xref: xref,\n        isEvalSupported: isEvalSupported,\n        fn: fn,\n        dict: dict\n      });\n    },\n    fromIR: function fromIR(_ref3) {\n      var xref = _ref3.xref,\n          isEvalSupported = _ref3.isEvalSupported,\n          IR = _ref3.IR;\n\n      var type = IR[0];\n      switch (type) {\n        case CONSTRUCT_SAMPLED:\n          return this.constructSampledFromIR({\n            xref: xref,\n            isEvalSupported: isEvalSupported,\n            IR: IR\n          });\n        case CONSTRUCT_INTERPOLATED:\n          return this.constructInterpolatedFromIR({\n            xref: xref,\n            isEvalSupported: isEvalSupported,\n            IR: IR\n          });\n        case CONSTRUCT_STICHED:\n          return this.constructStichedFromIR({\n            xref: xref,\n            isEvalSupported: isEvalSupported,\n            IR: IR\n          });\n        default:\n          return this.constructPostScriptFromIR({\n            xref: xref,\n            isEvalSupported: isEvalSupported,\n            IR: IR\n          });\n      }\n    },\n    parse: function parse(_ref4) {\n      var xref = _ref4.xref,\n          isEvalSupported = _ref4.isEvalSupported,\n          fn = _ref4.fn;\n\n      var IR = this.getIR({\n        xref: xref,\n        isEvalSupported: isEvalSupported,\n        fn: fn\n      });\n      return this.fromIR({\n        xref: xref,\n        isEvalSupported: isEvalSupported,\n        IR: IR\n      });\n    },\n    parseArray: function parseArray(_ref5) {\n      var xref = _ref5.xref,\n          isEvalSupported = _ref5.isEvalSupported,\n          fnObj = _ref5.fnObj;\n\n      if (!Array.isArray(fnObj)) {\n        return this.parse({\n          xref: xref,\n          isEvalSupported: isEvalSupported,\n          fn: fnObj\n        });\n      }\n      var fnArray = [];\n      for (var j = 0, jj = fnObj.length; j < jj; j++) {\n        fnArray.push(this.parse({\n          xref: xref,\n          isEvalSupported: isEvalSupported,\n          fn: xref.fetchIfRef(fnObj[j])\n        }));\n      }\n      return function (src, srcOffset, dest, destOffset) {\n        for (var i = 0, ii = fnArray.length; i < ii; i++) {\n          fnArray[i](src, srcOffset, dest, destOffset + i);\n        }\n      };\n    },\n    constructSampled: function constructSampled(_ref6) {\n      var xref = _ref6.xref,\n          isEvalSupported = _ref6.isEvalSupported,\n          fn = _ref6.fn,\n          dict = _ref6.dict;\n\n      function toMultiArray(arr) {\n        var inputLength = arr.length;\n        var out = [];\n        var index = 0;\n        for (var i = 0; i < inputLength; i += 2) {\n          out[index] = [arr[i], arr[i + 1]];\n          ++index;\n        }\n        return out;\n      }\n      var domain = toNumberArray(dict.getArray('Domain'));\n      var range = toNumberArray(dict.getArray('Range'));\n      if (!domain || !range) {\n        throw new _util.FormatError('No domain or range');\n      }\n      var inputSize = domain.length / 2;\n      var outputSize = range.length / 2;\n      domain = toMultiArray(domain);\n      range = toMultiArray(range);\n      var size = toNumberArray(dict.get('Size'));\n      var bps = dict.get('BitsPerSample');\n      var order = dict.get('Order') || 1;\n      if (order !== 1) {\n        (0, _util.info)('No support for cubic spline interpolation: ' + order);\n      }\n      var encode = toNumberArray(dict.getArray('Encode'));\n      if (!encode) {\n        encode = [];\n        for (var i = 0; i < inputSize; ++i) {\n          encode.push([0, size[i] - 1]);\n        }\n      } else {\n        encode = toMultiArray(encode);\n      }\n      var decode = toNumberArray(dict.getArray('Decode'));\n      if (!decode) {\n        decode = range;\n      } else {\n        decode = toMultiArray(decode);\n      }\n      var samples = this.getSampleArray(size, outputSize, bps, fn);\n      return [CONSTRUCT_SAMPLED, inputSize, domain, encode, decode, samples, size, outputSize, Math.pow(2, bps) - 1, range];\n    },\n    constructSampledFromIR: function constructSampledFromIR(_ref7) {\n      var xref = _ref7.xref,\n          isEvalSupported = _ref7.isEvalSupported,\n          IR = _ref7.IR;\n\n      function interpolate(x, xmin, xmax, ymin, ymax) {\n        return ymin + (x - xmin) * ((ymax - ymin) / (xmax - xmin));\n      }\n      return function constructSampledFromIRResult(src, srcOffset, dest, destOffset) {\n        var m = IR[1];\n        var domain = IR[2];\n        var encode = IR[3];\n        var decode = IR[4];\n        var samples = IR[5];\n        var size = IR[6];\n        var n = IR[7];\n        var range = IR[9];\n        var cubeVertices = 1 << m;\n        var cubeN = new Float64Array(cubeVertices);\n        var cubeVertex = new Uint32Array(cubeVertices);\n        var i, j;\n        for (j = 0; j < cubeVertices; j++) {\n          cubeN[j] = 1;\n        }\n        var k = n,\n            pos = 1;\n        for (i = 0; i < m; ++i) {\n          var domain_2i = domain[i][0];\n          var domain_2i_1 = domain[i][1];\n          var xi = Math.min(Math.max(src[srcOffset + i], domain_2i), domain_2i_1);\n          var e = interpolate(xi, domain_2i, domain_2i_1, encode[i][0], encode[i][1]);\n          var size_i = size[i];\n          e = Math.min(Math.max(e, 0), size_i - 1);\n          var e0 = e < size_i - 1 ? Math.floor(e) : e - 1;\n          var n0 = e0 + 1 - e;\n          var n1 = e - e0;\n          var offset0 = e0 * k;\n          var offset1 = offset0 + k;\n          for (j = 0; j < cubeVertices; j++) {\n            if (j & pos) {\n              cubeN[j] *= n1;\n              cubeVertex[j] += offset1;\n            } else {\n              cubeN[j] *= n0;\n              cubeVertex[j] += offset0;\n            }\n          }\n          k *= size_i;\n          pos <<= 1;\n        }\n        for (j = 0; j < n; ++j) {\n          var rj = 0;\n          for (i = 0; i < cubeVertices; i++) {\n            rj += samples[cubeVertex[i] + j] * cubeN[i];\n          }\n          rj = interpolate(rj, 0, 1, decode[j][0], decode[j][1]);\n          dest[destOffset + j] = Math.min(Math.max(rj, range[j][0]), range[j][1]);\n        }\n      };\n    },\n    constructInterpolated: function constructInterpolated(_ref8) {\n      var xref = _ref8.xref,\n          isEvalSupported = _ref8.isEvalSupported,\n          fn = _ref8.fn,\n          dict = _ref8.dict;\n\n      var c0 = toNumberArray(dict.getArray('C0')) || [0];\n      var c1 = toNumberArray(dict.getArray('C1')) || [1];\n      var n = dict.get('N');\n      var length = c0.length;\n      var diff = [];\n      for (var i = 0; i < length; ++i) {\n        diff.push(c1[i] - c0[i]);\n      }\n      return [CONSTRUCT_INTERPOLATED, c0, diff, n];\n    },\n    constructInterpolatedFromIR: function constructInterpolatedFromIR(_ref9) {\n      var xref = _ref9.xref,\n          isEvalSupported = _ref9.isEvalSupported,\n          IR = _ref9.IR;\n\n      var c0 = IR[1];\n      var diff = IR[2];\n      var n = IR[3];\n      var length = diff.length;\n      return function constructInterpolatedFromIRResult(src, srcOffset, dest, destOffset) {\n        var x = n === 1 ? src[srcOffset] : Math.pow(src[srcOffset], n);\n        for (var j = 0; j < length; ++j) {\n          dest[destOffset + j] = c0[j] + x * diff[j];\n        }\n      };\n    },\n    constructStiched: function constructStiched(_ref10) {\n      var xref = _ref10.xref,\n          isEvalSupported = _ref10.isEvalSupported,\n          fn = _ref10.fn,\n          dict = _ref10.dict;\n\n      var domain = toNumberArray(dict.getArray('Domain'));\n      if (!domain) {\n        throw new _util.FormatError('No domain');\n      }\n      var inputSize = domain.length / 2;\n      if (inputSize !== 1) {\n        throw new _util.FormatError('Bad domain for stiched function');\n      }\n      var fnRefs = dict.get('Functions');\n      var fns = [];\n      for (var i = 0, ii = fnRefs.length; i < ii; ++i) {\n        fns.push(this.parse({\n          xref: xref,\n          isEvalSupported: isEvalSupported,\n          fn: xref.fetchIfRef(fnRefs[i])\n        }));\n      }\n      var bounds = toNumberArray(dict.getArray('Bounds'));\n      var encode = toNumberArray(dict.getArray('Encode'));\n      return [CONSTRUCT_STICHED, domain, bounds, encode, fns];\n    },\n    constructStichedFromIR: function constructStichedFromIR(_ref11) {\n      var xref = _ref11.xref,\n          isEvalSupported = _ref11.isEvalSupported,\n          IR = _ref11.IR;\n\n      var domain = IR[1];\n      var bounds = IR[2];\n      var encode = IR[3];\n      var fns = IR[4];\n      var tmpBuf = new Float32Array(1);\n      return function constructStichedFromIRResult(src, srcOffset, dest, destOffset) {\n        var clip = function constructStichedFromIRClip(v, min, max) {\n          if (v > max) {\n            v = max;\n          } else if (v < min) {\n            v = min;\n          }\n          return v;\n        };\n        var v = clip(src[srcOffset], domain[0], domain[1]);\n        for (var i = 0, ii = bounds.length; i < ii; ++i) {\n          if (v < bounds[i]) {\n            break;\n          }\n        }\n        var dmin = domain[0];\n        if (i > 0) {\n          dmin = bounds[i - 1];\n        }\n        var dmax = domain[1];\n        if (i < bounds.length) {\n          dmax = bounds[i];\n        }\n        var rmin = encode[2 * i];\n        var rmax = encode[2 * i + 1];\n        tmpBuf[0] = dmin === dmax ? rmin : rmin + (v - dmin) * (rmax - rmin) / (dmax - dmin);\n        fns[i](tmpBuf, 0, dest, destOffset);\n      };\n    },\n    constructPostScript: function constructPostScript(_ref12) {\n      var xref = _ref12.xref,\n          isEvalSupported = _ref12.isEvalSupported,\n          fn = _ref12.fn,\n          dict = _ref12.dict;\n\n      var domain = toNumberArray(dict.getArray('Domain'));\n      var range = toNumberArray(dict.getArray('Range'));\n      if (!domain) {\n        throw new _util.FormatError('No domain.');\n      }\n      if (!range) {\n        throw new _util.FormatError('No range.');\n      }\n      var lexer = new _ps_parser.PostScriptLexer(fn);\n      var parser = new _ps_parser.PostScriptParser(lexer);\n      var code = parser.parse();\n      return [CONSTRUCT_POSTSCRIPT, domain, range, code];\n    },\n    constructPostScriptFromIR: function constructPostScriptFromIR(_ref13) {\n      var xref = _ref13.xref,\n          isEvalSupported = _ref13.isEvalSupported,\n          IR = _ref13.IR;\n\n      var domain = IR[1];\n      var range = IR[2];\n      var code = IR[3];\n      if (isEvalSupported && IsEvalSupportedCached.value) {\n        var compiled = new PostScriptCompiler().compile(code, domain, range);\n        if (compiled) {\n          return new Function('src', 'srcOffset', 'dest', 'destOffset', compiled);\n        }\n      }\n      (0, _util.info)('Unable to compile PS function');\n      var numOutputs = range.length >> 1;\n      var numInputs = domain.length >> 1;\n      var evaluator = new PostScriptEvaluator(code);\n      var cache = Object.create(null);\n      var MAX_CACHE_SIZE = 2048 * 4;\n      var cache_available = MAX_CACHE_SIZE;\n      var tmpBuf = new Float32Array(numInputs);\n      return function constructPostScriptFromIRResult(src, srcOffset, dest, destOffset) {\n        var i, value;\n        var key = '';\n        var input = tmpBuf;\n        for (i = 0; i < numInputs; i++) {\n          value = src[srcOffset + i];\n          input[i] = value;\n          key += value + '_';\n        }\n        var cachedValue = cache[key];\n        if (cachedValue !== undefined) {\n          dest.set(cachedValue, destOffset);\n          return;\n        }\n        var output = new Float32Array(numOutputs);\n        var stack = evaluator.execute(input);\n        var stackIndex = stack.length - numOutputs;\n        for (i = 0; i < numOutputs; i++) {\n          value = stack[stackIndex + i];\n          var bound = range[i * 2];\n          if (value < bound) {\n            value = bound;\n          } else {\n            bound = range[i * 2 + 1];\n            if (value > bound) {\n              value = bound;\n            }\n          }\n          output[i] = value;\n        }\n        if (cache_available > 0) {\n          cache_available--;\n          cache[key] = output;\n        }\n        dest.set(output, destOffset);\n      };\n    }\n  };\n}();\nfunction isPDFFunction(v) {\n  var fnDict;\n  if ((typeof v === 'undefined' ? 'undefined' : _typeof(v)) !== 'object') {\n    return false;\n  } else if ((0, _primitives.isDict)(v)) {\n    fnDict = v;\n  } else if ((0, _primitives.isStream)(v)) {\n    fnDict = v.dict;\n  } else {\n    return false;\n  }\n  return fnDict.has('FunctionType');\n}\nvar PostScriptStack = function PostScriptStackClosure() {\n  var MAX_STACK_SIZE = 100;\n  function PostScriptStack(initialStack) {\n    this.stack = !initialStack ? [] : Array.prototype.slice.call(initialStack, 0);\n  }\n  PostScriptStack.prototype = {\n    push: function PostScriptStack_push(value) {\n      if (this.stack.length >= MAX_STACK_SIZE) {\n        throw new Error('PostScript function stack overflow.');\n      }\n      this.stack.push(value);\n    },\n    pop: function PostScriptStack_pop() {\n      if (this.stack.length <= 0) {\n        throw new Error('PostScript function stack underflow.');\n      }\n      return this.stack.pop();\n    },\n    copy: function PostScriptStack_copy(n) {\n      if (this.stack.length + n >= MAX_STACK_SIZE) {\n        throw new Error('PostScript function stack overflow.');\n      }\n      var stack = this.stack;\n      for (var i = stack.length - n, j = n - 1; j >= 0; j--, i++) {\n        stack.push(stack[i]);\n      }\n    },\n    index: function PostScriptStack_index(n) {\n      this.push(this.stack[this.stack.length - n - 1]);\n    },\n    roll: function PostScriptStack_roll(n, p) {\n      var stack = this.stack;\n      var l = stack.length - n;\n      var r = stack.length - 1,\n          c = l + (p - Math.floor(p / n) * n),\n          i,\n          j,\n          t;\n      for (i = l, j = r; i < j; i++, j--) {\n        t = stack[i];\n        stack[i] = stack[j];\n        stack[j] = t;\n      }\n      for (i = l, j = c - 1; i < j; i++, j--) {\n        t = stack[i];\n        stack[i] = stack[j];\n        stack[j] = t;\n      }\n      for (i = c, j = r; i < j; i++, j--) {\n        t = stack[i];\n        stack[i] = stack[j];\n        stack[j] = t;\n      }\n    }\n  };\n  return PostScriptStack;\n}();\nvar PostScriptEvaluator = function PostScriptEvaluatorClosure() {\n  function PostScriptEvaluator(operators) {\n    this.operators = operators;\n  }\n  PostScriptEvaluator.prototype = {\n    execute: function PostScriptEvaluator_execute(initialStack) {\n      var stack = new PostScriptStack(initialStack);\n      var counter = 0;\n      var operators = this.operators;\n      var length = operators.length;\n      var operator, a, b;\n      while (counter < length) {\n        operator = operators[counter++];\n        if (typeof operator === 'number') {\n          stack.push(operator);\n          continue;\n        }\n        switch (operator) {\n          case 'jz':\n            b = stack.pop();\n            a = stack.pop();\n            if (!a) {\n              counter = b;\n            }\n            break;\n          case 'j':\n            a = stack.pop();\n            counter = a;\n            break;\n          case 'abs':\n            a = stack.pop();\n            stack.push(Math.abs(a));\n            break;\n          case 'add':\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a + b);\n            break;\n          case 'and':\n            b = stack.pop();\n            a = stack.pop();\n            if ((0, _util.isBool)(a) && (0, _util.isBool)(b)) {\n              stack.push(a && b);\n            } else {\n              stack.push(a & b);\n            }\n            break;\n          case 'atan':\n            a = stack.pop();\n            stack.push(Math.atan(a));\n            break;\n          case 'bitshift':\n            b = stack.pop();\n            a = stack.pop();\n            if (a > 0) {\n              stack.push(a << b);\n            } else {\n              stack.push(a >> b);\n            }\n            break;\n          case 'ceiling':\n            a = stack.pop();\n            stack.push(Math.ceil(a));\n            break;\n          case 'copy':\n            a = stack.pop();\n            stack.copy(a);\n            break;\n          case 'cos':\n            a = stack.pop();\n            stack.push(Math.cos(a));\n            break;\n          case 'cvi':\n            a = stack.pop() | 0;\n            stack.push(a);\n            break;\n          case 'cvr':\n            break;\n          case 'div':\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a / b);\n            break;\n          case 'dup':\n            stack.copy(1);\n            break;\n          case 'eq':\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a === b);\n            break;\n          case 'exch':\n            stack.roll(2, 1);\n            break;\n          case 'exp':\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(Math.pow(a, b));\n            break;\n          case 'false':\n            stack.push(false);\n            break;\n          case 'floor':\n            a = stack.pop();\n            stack.push(Math.floor(a));\n            break;\n          case 'ge':\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a >= b);\n            break;\n          case 'gt':\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a > b);\n            break;\n          case 'idiv':\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a / b | 0);\n            break;\n          case 'index':\n            a = stack.pop();\n            stack.index(a);\n            break;\n          case 'le':\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a <= b);\n            break;\n          case 'ln':\n            a = stack.pop();\n            stack.push(Math.log(a));\n            break;\n          case 'log':\n            a = stack.pop();\n            stack.push(Math.log(a) / Math.LN10);\n            break;\n          case 'lt':\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a < b);\n            break;\n          case 'mod':\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a % b);\n            break;\n          case 'mul':\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a * b);\n            break;\n          case 'ne':\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a !== b);\n            break;\n          case 'neg':\n            a = stack.pop();\n            stack.push(-a);\n            break;\n          case 'not':\n            a = stack.pop();\n            if ((0, _util.isBool)(a)) {\n              stack.push(!a);\n            } else {\n              stack.push(~a);\n            }\n            break;\n          case 'or':\n            b = stack.pop();\n            a = stack.pop();\n            if ((0, _util.isBool)(a) && (0, _util.isBool)(b)) {\n              stack.push(a || b);\n            } else {\n              stack.push(a | b);\n            }\n            break;\n          case 'pop':\n            stack.pop();\n            break;\n          case 'roll':\n            b = stack.pop();\n            a = stack.pop();\n            stack.roll(a, b);\n            break;\n          case 'round':\n            a = stack.pop();\n            stack.push(Math.round(a));\n            break;\n          case 'sin':\n            a = stack.pop();\n            stack.push(Math.sin(a));\n            break;\n          case 'sqrt':\n            a = stack.pop();\n            stack.push(Math.sqrt(a));\n            break;\n          case 'sub':\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a - b);\n            break;\n          case 'true':\n            stack.push(true);\n            break;\n          case 'truncate':\n            a = stack.pop();\n            a = a < 0 ? Math.ceil(a) : Math.floor(a);\n            stack.push(a);\n            break;\n          case 'xor':\n            b = stack.pop();\n            a = stack.pop();\n            if ((0, _util.isBool)(a) && (0, _util.isBool)(b)) {\n              stack.push(a !== b);\n            } else {\n              stack.push(a ^ b);\n            }\n            break;\n          default:\n            throw new _util.FormatError('Unknown operator ' + operator);\n        }\n      }\n      return stack.stack;\n    }\n  };\n  return PostScriptEvaluator;\n}();\nvar PostScriptCompiler = function PostScriptCompilerClosure() {\n  function AstNode(type) {\n    this.type = type;\n  }\n  AstNode.prototype.visit = function (visitor) {\n    throw new Error('abstract method');\n  };\n  function AstArgument(index, min, max) {\n    AstNode.call(this, 'args');\n    this.index = index;\n    this.min = min;\n    this.max = max;\n  }\n  AstArgument.prototype = Object.create(AstNode.prototype);\n  AstArgument.prototype.visit = function (visitor) {\n    visitor.visitArgument(this);\n  };\n  function AstLiteral(number) {\n    AstNode.call(this, 'literal');\n    this.number = number;\n    this.min = number;\n    this.max = number;\n  }\n  AstLiteral.prototype = Object.create(AstNode.prototype);\n  AstLiteral.prototype.visit = function (visitor) {\n    visitor.visitLiteral(this);\n  };\n  function AstBinaryOperation(op, arg1, arg2, min, max) {\n    AstNode.call(this, 'binary');\n    this.op = op;\n    this.arg1 = arg1;\n    this.arg2 = arg2;\n    this.min = min;\n    this.max = max;\n  }\n  AstBinaryOperation.prototype = Object.create(AstNode.prototype);\n  AstBinaryOperation.prototype.visit = function (visitor) {\n    visitor.visitBinaryOperation(this);\n  };\n  function AstMin(arg, max) {\n    AstNode.call(this, 'max');\n    this.arg = arg;\n    this.min = arg.min;\n    this.max = max;\n  }\n  AstMin.prototype = Object.create(AstNode.prototype);\n  AstMin.prototype.visit = function (visitor) {\n    visitor.visitMin(this);\n  };\n  function AstVariable(index, min, max) {\n    AstNode.call(this, 'var');\n    this.index = index;\n    this.min = min;\n    this.max = max;\n  }\n  AstVariable.prototype = Object.create(AstNode.prototype);\n  AstVariable.prototype.visit = function (visitor) {\n    visitor.visitVariable(this);\n  };\n  function AstVariableDefinition(variable, arg) {\n    AstNode.call(this, 'definition');\n    this.variable = variable;\n    this.arg = arg;\n  }\n  AstVariableDefinition.prototype = Object.create(AstNode.prototype);\n  AstVariableDefinition.prototype.visit = function (visitor) {\n    visitor.visitVariableDefinition(this);\n  };\n  function ExpressionBuilderVisitor() {\n    this.parts = [];\n  }\n  ExpressionBuilderVisitor.prototype = {\n    visitArgument: function visitArgument(arg) {\n      this.parts.push('Math.max(', arg.min, ', Math.min(', arg.max, ', src[srcOffset + ', arg.index, ']))');\n    },\n    visitVariable: function visitVariable(variable) {\n      this.parts.push('v', variable.index);\n    },\n    visitLiteral: function visitLiteral(literal) {\n      this.parts.push(literal.number);\n    },\n    visitBinaryOperation: function visitBinaryOperation(operation) {\n      this.parts.push('(');\n      operation.arg1.visit(this);\n      this.parts.push(' ', operation.op, ' ');\n      operation.arg2.visit(this);\n      this.parts.push(')');\n    },\n    visitVariableDefinition: function visitVariableDefinition(definition) {\n      this.parts.push('var ');\n      definition.variable.visit(this);\n      this.parts.push(' = ');\n      definition.arg.visit(this);\n      this.parts.push(';');\n    },\n    visitMin: function visitMin(max) {\n      this.parts.push('Math.min(');\n      max.arg.visit(this);\n      this.parts.push(', ', max.max, ')');\n    },\n    toString: function toString() {\n      return this.parts.join('');\n    }\n  };\n  function buildAddOperation(num1, num2) {\n    if (num2.type === 'literal' && num2.number === 0) {\n      return num1;\n    }\n    if (num1.type === 'literal' && num1.number === 0) {\n      return num2;\n    }\n    if (num2.type === 'literal' && num1.type === 'literal') {\n      return new AstLiteral(num1.number + num2.number);\n    }\n    return new AstBinaryOperation('+', num1, num2, num1.min + num2.min, num1.max + num2.max);\n  }\n  function buildMulOperation(num1, num2) {\n    if (num2.type === 'literal') {\n      if (num2.number === 0) {\n        return new AstLiteral(0);\n      } else if (num2.number === 1) {\n        return num1;\n      } else if (num1.type === 'literal') {\n        return new AstLiteral(num1.number * num2.number);\n      }\n    }\n    if (num1.type === 'literal') {\n      if (num1.number === 0) {\n        return new AstLiteral(0);\n      } else if (num1.number === 1) {\n        return num2;\n      }\n    }\n    var min = Math.min(num1.min * num2.min, num1.min * num2.max, num1.max * num2.min, num1.max * num2.max);\n    var max = Math.max(num1.min * num2.min, num1.min * num2.max, num1.max * num2.min, num1.max * num2.max);\n    return new AstBinaryOperation('*', num1, num2, min, max);\n  }\n  function buildSubOperation(num1, num2) {\n    if (num2.type === 'literal') {\n      if (num2.number === 0) {\n        return num1;\n      } else if (num1.type === 'literal') {\n        return new AstLiteral(num1.number - num2.number);\n      }\n    }\n    if (num2.type === 'binary' && num2.op === '-' && num1.type === 'literal' && num1.number === 1 && num2.arg1.type === 'literal' && num2.arg1.number === 1) {\n      return num2.arg2;\n    }\n    return new AstBinaryOperation('-', num1, num2, num1.min - num2.max, num1.max - num2.min);\n  }\n  function buildMinOperation(num1, max) {\n    if (num1.min >= max) {\n      return new AstLiteral(max);\n    } else if (num1.max <= max) {\n      return num1;\n    }\n    return new AstMin(num1, max);\n  }\n  function PostScriptCompiler() {}\n  PostScriptCompiler.prototype = {\n    compile: function PostScriptCompiler_compile(code, domain, range) {\n      var stack = [];\n      var i, ii;\n      var instructions = [];\n      var inputSize = domain.length >> 1,\n          outputSize = range.length >> 1;\n      var lastRegister = 0;\n      var n, j;\n      var num1, num2, ast1, ast2, tmpVar, item;\n      for (i = 0; i < inputSize; i++) {\n        stack.push(new AstArgument(i, domain[i * 2], domain[i * 2 + 1]));\n      }\n      for (i = 0, ii = code.length; i < ii; i++) {\n        item = code[i];\n        if (typeof item === 'number') {\n          stack.push(new AstLiteral(item));\n          continue;\n        }\n        switch (item) {\n          case 'add':\n            if (stack.length < 2) {\n              return null;\n            }\n            num2 = stack.pop();\n            num1 = stack.pop();\n            stack.push(buildAddOperation(num1, num2));\n            break;\n          case 'cvr':\n            if (stack.length < 1) {\n              return null;\n            }\n            break;\n          case 'mul':\n            if (stack.length < 2) {\n              return null;\n            }\n            num2 = stack.pop();\n            num1 = stack.pop();\n            stack.push(buildMulOperation(num1, num2));\n            break;\n          case 'sub':\n            if (stack.length < 2) {\n              return null;\n            }\n            num2 = stack.pop();\n            num1 = stack.pop();\n            stack.push(buildSubOperation(num1, num2));\n            break;\n          case 'exch':\n            if (stack.length < 2) {\n              return null;\n            }\n            ast1 = stack.pop();\n            ast2 = stack.pop();\n            stack.push(ast1, ast2);\n            break;\n          case 'pop':\n            if (stack.length < 1) {\n              return null;\n            }\n            stack.pop();\n            break;\n          case 'index':\n            if (stack.length < 1) {\n              return null;\n            }\n            num1 = stack.pop();\n            if (num1.type !== 'literal') {\n              return null;\n            }\n            n = num1.number;\n            if (n < 0 || !Number.isInteger(n) || stack.length < n) {\n              return null;\n            }\n            ast1 = stack[stack.length - n - 1];\n            if (ast1.type === 'literal' || ast1.type === 'var') {\n              stack.push(ast1);\n              break;\n            }\n            tmpVar = new AstVariable(lastRegister++, ast1.min, ast1.max);\n            stack[stack.length - n - 1] = tmpVar;\n            stack.push(tmpVar);\n            instructions.push(new AstVariableDefinition(tmpVar, ast1));\n            break;\n          case 'dup':\n            if (stack.length < 1) {\n              return null;\n            }\n            if (typeof code[i + 1] === 'number' && code[i + 2] === 'gt' && code[i + 3] === i + 7 && code[i + 4] === 'jz' && code[i + 5] === 'pop' && code[i + 6] === code[i + 1]) {\n              num1 = stack.pop();\n              stack.push(buildMinOperation(num1, code[i + 1]));\n              i += 6;\n              break;\n            }\n            ast1 = stack[stack.length - 1];\n            if (ast1.type === 'literal' || ast1.type === 'var') {\n              stack.push(ast1);\n              break;\n            }\n            tmpVar = new AstVariable(lastRegister++, ast1.min, ast1.max);\n            stack[stack.length - 1] = tmpVar;\n            stack.push(tmpVar);\n            instructions.push(new AstVariableDefinition(tmpVar, ast1));\n            break;\n          case 'roll':\n            if (stack.length < 2) {\n              return null;\n            }\n            num2 = stack.pop();\n            num1 = stack.pop();\n            if (num2.type !== 'literal' || num1.type !== 'literal') {\n              return null;\n            }\n            j = num2.number;\n            n = num1.number;\n            if (n <= 0 || !Number.isInteger(n) || !Number.isInteger(j) || stack.length < n) {\n              return null;\n            }\n            j = (j % n + n) % n;\n            if (j === 0) {\n              break;\n            }\n            Array.prototype.push.apply(stack, stack.splice(stack.length - n, n - j));\n            break;\n          default:\n            return null;\n        }\n      }\n      if (stack.length !== outputSize) {\n        return null;\n      }\n      var result = [];\n      instructions.forEach(function (instruction) {\n        var statementBuilder = new ExpressionBuilderVisitor();\n        instruction.visit(statementBuilder);\n        result.push(statementBuilder.toString());\n      });\n      stack.forEach(function (expr, i) {\n        var statementBuilder = new ExpressionBuilderVisitor();\n        expr.visit(statementBuilder);\n        var min = range[i * 2],\n            max = range[i * 2 + 1];\n        var out = [statementBuilder.toString()];\n        if (min > expr.min) {\n          out.unshift('Math.max(', min, ', ');\n          out.push(')');\n        }\n        if (max < expr.max) {\n          out.unshift('Math.min(', max, ', ');\n          out.push(')');\n        }\n        out.unshift('dest[destOffset + ', i, '] = ');\n        out.push(';');\n        result.push(out.join(''));\n      });\n      return result.join('\\n');\n    }\n  };\n  return PostScriptCompiler;\n}();\nexports.isPDFFunction = isPDFFunction;\nexports.PDFFunctionFactory = PDFFunctionFactory;\nexports.PostScriptEvaluator = PostScriptEvaluator;\nexports.PostScriptCompiler = PostScriptCompiler;\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.AnnotationLayer = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _dom_utils = __w_pdfjs_require__(17);\n\nvar _util = __w_pdfjs_require__(0);\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar AnnotationElementFactory = function () {\n  function AnnotationElementFactory() {\n    _classCallCheck(this, AnnotationElementFactory);\n  }\n\n  _createClass(AnnotationElementFactory, null, [{\n    key: 'create',\n    value: function create(parameters) {\n      var subtype = parameters.data.annotationType;\n      switch (subtype) {\n        case _util.AnnotationType.LINK:\n          return new LinkAnnotationElement(parameters);\n        case _util.AnnotationType.TEXT:\n          return new TextAnnotationElement(parameters);\n        case _util.AnnotationType.WIDGET:\n          var fieldType = parameters.data.fieldType;\n          switch (fieldType) {\n            case 'Tx':\n              return new TextWidgetAnnotationElement(parameters);\n            case 'Btn':\n              if (parameters.data.radioButton) {\n                return new RadioButtonWidgetAnnotationElement(parameters);\n              } else if (parameters.data.checkBox) {\n                return new CheckboxWidgetAnnotationElement(parameters);\n              }\n              (0, _util.warn)('Unimplemented button widget annotation: pushbutton');\n              break;\n            case 'Ch':\n              return new ChoiceWidgetAnnotationElement(parameters);\n          }\n          return new WidgetAnnotationElement(parameters);\n        case _util.AnnotationType.POPUP:\n          return new PopupAnnotationElement(parameters);\n        case _util.AnnotationType.LINE:\n          return new LineAnnotationElement(parameters);\n        case _util.AnnotationType.SQUARE:\n          return new SquareAnnotationElement(parameters);\n        case _util.AnnotationType.CIRCLE:\n          return new CircleAnnotationElement(parameters);\n        case _util.AnnotationType.POLYLINE:\n          return new PolylineAnnotationElement(parameters);\n        case _util.AnnotationType.POLYGON:\n          return new PolygonAnnotationElement(parameters);\n        case _util.AnnotationType.HIGHLIGHT:\n          return new HighlightAnnotationElement(parameters);\n        case _util.AnnotationType.UNDERLINE:\n          return new UnderlineAnnotationElement(parameters);\n        case _util.AnnotationType.SQUIGGLY:\n          return new SquigglyAnnotationElement(parameters);\n        case _util.AnnotationType.STRIKEOUT:\n          return new StrikeOutAnnotationElement(parameters);\n        case _util.AnnotationType.STAMP:\n          return new StampAnnotationElement(parameters);\n        case _util.AnnotationType.FILEATTACHMENT:\n          return new FileAttachmentAnnotationElement(parameters);\n        default:\n          return new AnnotationElement(parameters);\n      }\n    }\n  }]);\n\n  return AnnotationElementFactory;\n}();\n\nvar AnnotationElement = function () {\n  function AnnotationElement(parameters) {\n    var isRenderable = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n    var ignoreBorder = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n    _classCallCheck(this, AnnotationElement);\n\n    this.isRenderable = isRenderable;\n    this.data = parameters.data;\n    this.layer = parameters.layer;\n    this.page = parameters.page;\n    this.viewport = parameters.viewport;\n    this.linkService = parameters.linkService;\n    this.downloadManager = parameters.downloadManager;\n    this.imageResourcesPath = parameters.imageResourcesPath;\n    this.renderInteractiveForms = parameters.renderInteractiveForms;\n    this.svgFactory = parameters.svgFactory;\n    if (isRenderable) {\n      this.container = this._createContainer(ignoreBorder);\n    }\n  }\n\n  _createClass(AnnotationElement, [{\n    key: '_createContainer',\n    value: function _createContainer() {\n      var ignoreBorder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n      var data = this.data,\n          page = this.page,\n          viewport = this.viewport;\n      var container = document.createElement('section');\n      var width = data.rect[2] - data.rect[0];\n      var height = data.rect[3] - data.rect[1];\n      container.setAttribute('data-annotation-id', data.id);\n      var rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]);\n      _dom_utils.CustomStyle.setProp('transform', container, 'matrix(' + viewport.transform.join(',') + ')');\n      _dom_utils.CustomStyle.setProp('transformOrigin', container, -rect[0] + 'px ' + -rect[1] + 'px');\n      if (!ignoreBorder && data.borderStyle.width > 0) {\n        container.style.borderWidth = data.borderStyle.width + 'px';\n        if (data.borderStyle.style !== _util.AnnotationBorderStyleType.UNDERLINE) {\n          width = width - 2 * data.borderStyle.width;\n          height = height - 2 * data.borderStyle.width;\n        }\n        var horizontalRadius = data.borderStyle.horizontalCornerRadius;\n        var verticalRadius = data.borderStyle.verticalCornerRadius;\n        if (horizontalRadius > 0 || verticalRadius > 0) {\n          var radius = horizontalRadius + 'px / ' + verticalRadius + 'px';\n          _dom_utils.CustomStyle.setProp('borderRadius', container, radius);\n        }\n        switch (data.borderStyle.style) {\n          case _util.AnnotationBorderStyleType.SOLID:\n            container.style.borderStyle = 'solid';\n            break;\n          case _util.AnnotationBorderStyleType.DASHED:\n            container.style.borderStyle = 'dashed';\n            break;\n          case _util.AnnotationBorderStyleType.BEVELED:\n            (0, _util.warn)('Unimplemented border style: beveled');\n            break;\n          case _util.AnnotationBorderStyleType.INSET:\n            (0, _util.warn)('Unimplemented border style: inset');\n            break;\n          case _util.AnnotationBorderStyleType.UNDERLINE:\n            container.style.borderBottomStyle = 'solid';\n            break;\n          default:\n            break;\n        }\n        if (data.color) {\n          container.style.borderColor = _util.Util.makeCssRgb(data.color[0] | 0, data.color[1] | 0, data.color[2] | 0);\n        } else {\n          container.style.borderWidth = 0;\n        }\n      }\n      container.style.left = rect[0] + 'px';\n      container.style.top = rect[1] + 'px';\n      container.style.width = width + 'px';\n      container.style.height = height + 'px';\n      return container;\n    }\n  }, {\n    key: '_createPopup',\n    value: function _createPopup(container, trigger, data) {\n      if (!trigger) {\n        trigger = document.createElement('div');\n        trigger.style.height = container.style.height;\n        trigger.style.width = container.style.width;\n        container.appendChild(trigger);\n      }\n      var popupElement = new PopupElement({\n        container: container,\n        trigger: trigger,\n        color: data.color,\n        title: data.title,\n        contents: data.contents,\n        hideWrapper: true\n      });\n      var popup = popupElement.render();\n      popup.style.left = container.style.width;\n      container.appendChild(popup);\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      throw new Error('Abstract method `AnnotationElement.render` called');\n    }\n  }]);\n\n  return AnnotationElement;\n}();\n\nvar LinkAnnotationElement = function (_AnnotationElement) {\n  _inherits(LinkAnnotationElement, _AnnotationElement);\n\n  function LinkAnnotationElement(parameters) {\n    _classCallCheck(this, LinkAnnotationElement);\n\n    var isRenderable = !!(parameters.data.url || parameters.data.dest || parameters.data.action);\n    return _possibleConstructorReturn(this, (LinkAnnotationElement.__proto__ || Object.getPrototypeOf(LinkAnnotationElement)).call(this, parameters, isRenderable));\n  }\n\n  _createClass(LinkAnnotationElement, [{\n    key: 'render',\n    value: function render() {\n      this.container.className = 'linkAnnotation';\n      var link = document.createElement('a');\n      (0, _dom_utils.addLinkAttributes)(link, {\n        url: this.data.url,\n        target: this.data.newWindow ? _dom_utils.LinkTarget.BLANK : undefined\n      });\n      if (!this.data.url) {\n        if (this.data.action) {\n          this._bindNamedAction(link, this.data.action);\n        } else {\n          this._bindLink(link, this.data.dest);\n        }\n      }\n      this.container.appendChild(link);\n      return this.container;\n    }\n  }, {\n    key: '_bindLink',\n    value: function _bindLink(link, destination) {\n      var _this2 = this;\n\n      link.href = this.linkService.getDestinationHash(destination);\n      link.onclick = function () {\n        if (destination) {\n          _this2.linkService.navigateTo(destination);\n        }\n        return false;\n      };\n      if (destination) {\n        link.className = 'internalLink';\n      }\n    }\n  }, {\n    key: '_bindNamedAction',\n    value: function _bindNamedAction(link, action) {\n      var _this3 = this;\n\n      link.href = this.linkService.getAnchorUrl('');\n      link.onclick = function () {\n        _this3.linkService.executeNamedAction(action);\n        return false;\n      };\n      link.className = 'internalLink';\n    }\n  }]);\n\n  return LinkAnnotationElement;\n}(AnnotationElement);\n\nvar TextAnnotationElement = function (_AnnotationElement2) {\n  _inherits(TextAnnotationElement, _AnnotationElement2);\n\n  function TextAnnotationElement(parameters) {\n    _classCallCheck(this, TextAnnotationElement);\n\n    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n    return _possibleConstructorReturn(this, (TextAnnotationElement.__proto__ || Object.getPrototypeOf(TextAnnotationElement)).call(this, parameters, isRenderable));\n  }\n\n  _createClass(TextAnnotationElement, [{\n    key: 'render',\n    value: function render() {\n      this.container.className = 'textAnnotation';\n      var image = document.createElement('img');\n      image.style.height = this.container.style.height;\n      image.style.width = this.container.style.width;\n      image.src = this.imageResourcesPath + 'annotation-' + this.data.name.toLowerCase() + '.svg';\n      image.alt = '[{{type}} Annotation]';\n      image.dataset.l10nId = 'text_annotation_type';\n      image.dataset.l10nArgs = JSON.stringify({ type: this.data.name });\n      if (!this.data.hasPopup) {\n        this._createPopup(this.container, image, this.data);\n      }\n      this.container.appendChild(image);\n      return this.container;\n    }\n  }]);\n\n  return TextAnnotationElement;\n}(AnnotationElement);\n\nvar WidgetAnnotationElement = function (_AnnotationElement3) {\n  _inherits(WidgetAnnotationElement, _AnnotationElement3);\n\n  function WidgetAnnotationElement() {\n    _classCallCheck(this, WidgetAnnotationElement);\n\n    return _possibleConstructorReturn(this, (WidgetAnnotationElement.__proto__ || Object.getPrototypeOf(WidgetAnnotationElement)).apply(this, arguments));\n  }\n\n  _createClass(WidgetAnnotationElement, [{\n    key: 'render',\n    value: function render() {\n      return this.container;\n    }\n  }]);\n\n  return WidgetAnnotationElement;\n}(AnnotationElement);\n\nvar TextWidgetAnnotationElement = function (_WidgetAnnotationElem) {\n  _inherits(TextWidgetAnnotationElement, _WidgetAnnotationElem);\n\n  function TextWidgetAnnotationElement(parameters) {\n    _classCallCheck(this, TextWidgetAnnotationElement);\n\n    var isRenderable = parameters.renderInteractiveForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue;\n    return _possibleConstructorReturn(this, (TextWidgetAnnotationElement.__proto__ || Object.getPrototypeOf(TextWidgetAnnotationElement)).call(this, parameters, isRenderable));\n  }\n\n  _createClass(TextWidgetAnnotationElement, [{\n    key: 'render',\n    value: function render() {\n      var TEXT_ALIGNMENT = ['left', 'center', 'right'];\n      this.container.className = 'textWidgetAnnotation';\n      var element = null;\n      if (this.renderInteractiveForms) {\n        if (this.data.multiLine) {\n          element = document.createElement('textarea');\n          element.textContent = this.data.fieldValue;\n        } else {\n          element = document.createElement('input');\n          element.type = 'text';\n          element.setAttribute('value', this.data.fieldValue);\n        }\n        element.disabled = this.data.readOnly;\n        if (this.data.maxLen !== null) {\n          element.maxLength = this.data.maxLen;\n        }\n        if (this.data.comb) {\n          var fieldWidth = this.data.rect[2] - this.data.rect[0];\n          var combWidth = fieldWidth / this.data.maxLen;\n          element.classList.add('comb');\n          element.style.letterSpacing = 'calc(' + combWidth + 'px - 1ch)';\n        }\n      } else {\n        element = document.createElement('div');\n        element.textContent = this.data.fieldValue;\n        element.style.verticalAlign = 'middle';\n        element.style.display = 'table-cell';\n        var font = null;\n        if (this.data.fontRefName) {\n          font = this.page.commonObjs.getData(this.data.fontRefName);\n        }\n        this._setTextStyle(element, font);\n      }\n      if (this.data.textAlignment !== null) {\n        element.style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];\n      }\n      this.container.appendChild(element);\n      return this.container;\n    }\n  }, {\n    key: '_setTextStyle',\n    value: function _setTextStyle(element, font) {\n      var style = element.style;\n      style.fontSize = this.data.fontSize + 'px';\n      style.direction = this.data.fontDirection < 0 ? 'rtl' : 'ltr';\n      if (!font) {\n        return;\n      }\n      style.fontWeight = font.black ? font.bold ? '900' : 'bold' : font.bold ? 'bold' : 'normal';\n      style.fontStyle = font.italic ? 'italic' : 'normal';\n      var fontFamily = font.loadedName ? '\"' + font.loadedName + '\", ' : '';\n      var fallbackName = font.fallbackName || 'Helvetica, sans-serif';\n      style.fontFamily = fontFamily + fallbackName;\n    }\n  }]);\n\n  return TextWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar CheckboxWidgetAnnotationElement = function (_WidgetAnnotationElem2) {\n  _inherits(CheckboxWidgetAnnotationElement, _WidgetAnnotationElem2);\n\n  function CheckboxWidgetAnnotationElement(parameters) {\n    _classCallCheck(this, CheckboxWidgetAnnotationElement);\n\n    return _possibleConstructorReturn(this, (CheckboxWidgetAnnotationElement.__proto__ || Object.getPrototypeOf(CheckboxWidgetAnnotationElement)).call(this, parameters, parameters.renderInteractiveForms));\n  }\n\n  _createClass(CheckboxWidgetAnnotationElement, [{\n    key: 'render',\n    value: function render() {\n      this.container.className = 'buttonWidgetAnnotation checkBox';\n      var element = document.createElement('input');\n      element.disabled = this.data.readOnly;\n      element.type = 'checkbox';\n      if (this.data.fieldValue && this.data.fieldValue !== 'Off') {\n        element.setAttribute('checked', true);\n      }\n      this.container.appendChild(element);\n      return this.container;\n    }\n  }]);\n\n  return CheckboxWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar RadioButtonWidgetAnnotationElement = function (_WidgetAnnotationElem3) {\n  _inherits(RadioButtonWidgetAnnotationElement, _WidgetAnnotationElem3);\n\n  function RadioButtonWidgetAnnotationElement(parameters) {\n    _classCallCheck(this, RadioButtonWidgetAnnotationElement);\n\n    return _possibleConstructorReturn(this, (RadioButtonWidgetAnnotationElement.__proto__ || Object.getPrototypeOf(RadioButtonWidgetAnnotationElement)).call(this, parameters, parameters.renderInteractiveForms));\n  }\n\n  _createClass(RadioButtonWidgetAnnotationElement, [{\n    key: 'render',\n    value: function render() {\n      this.container.className = 'buttonWidgetAnnotation radioButton';\n      var element = document.createElement('input');\n      element.disabled = this.data.readOnly;\n      element.type = 'radio';\n      element.name = this.data.fieldName;\n      if (this.data.fieldValue === this.data.buttonValue) {\n        element.setAttribute('checked', true);\n      }\n      this.container.appendChild(element);\n      return this.container;\n    }\n  }]);\n\n  return RadioButtonWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar ChoiceWidgetAnnotationElement = function (_WidgetAnnotationElem4) {\n  _inherits(ChoiceWidgetAnnotationElement, _WidgetAnnotationElem4);\n\n  function ChoiceWidgetAnnotationElement(parameters) {\n    _classCallCheck(this, ChoiceWidgetAnnotationElement);\n\n    return _possibleConstructorReturn(this, (ChoiceWidgetAnnotationElement.__proto__ || Object.getPrototypeOf(ChoiceWidgetAnnotationElement)).call(this, parameters, parameters.renderInteractiveForms));\n  }\n\n  _createClass(ChoiceWidgetAnnotationElement, [{\n    key: 'render',\n    value: function render() {\n      this.container.className = 'choiceWidgetAnnotation';\n      var selectElement = document.createElement('select');\n      selectElement.disabled = this.data.readOnly;\n      if (!this.data.combo) {\n        selectElement.size = this.data.options.length;\n        if (this.data.multiSelect) {\n          selectElement.multiple = true;\n        }\n      }\n      for (var i = 0, ii = this.data.options.length; i < ii; i++) {\n        var option = this.data.options[i];\n        var optionElement = document.createElement('option');\n        optionElement.textContent = option.displayValue;\n        optionElement.value = option.exportValue;\n        if (this.data.fieldValue.indexOf(option.displayValue) >= 0) {\n          optionElement.setAttribute('selected', true);\n        }\n        selectElement.appendChild(optionElement);\n      }\n      this.container.appendChild(selectElement);\n      return this.container;\n    }\n  }]);\n\n  return ChoiceWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar PopupAnnotationElement = function (_AnnotationElement4) {\n  _inherits(PopupAnnotationElement, _AnnotationElement4);\n\n  function PopupAnnotationElement(parameters) {\n    _classCallCheck(this, PopupAnnotationElement);\n\n    var isRenderable = !!(parameters.data.title || parameters.data.contents);\n    return _possibleConstructorReturn(this, (PopupAnnotationElement.__proto__ || Object.getPrototypeOf(PopupAnnotationElement)).call(this, parameters, isRenderable));\n  }\n\n  _createClass(PopupAnnotationElement, [{\n    key: 'render',\n    value: function render() {\n      var IGNORE_TYPES = ['Line', 'Square', 'Circle', 'PolyLine', 'Polygon'];\n      this.container.className = 'popupAnnotation';\n      if (IGNORE_TYPES.indexOf(this.data.parentType) >= 0) {\n        return this.container;\n      }\n      var selector = '[data-annotation-id=\"' + this.data.parentId + '\"]';\n      var parentElement = this.layer.querySelector(selector);\n      if (!parentElement) {\n        return this.container;\n      }\n      var popup = new PopupElement({\n        container: this.container,\n        trigger: parentElement,\n        color: this.data.color,\n        title: this.data.title,\n        contents: this.data.contents\n      });\n      var parentLeft = parseFloat(parentElement.style.left);\n      var parentWidth = parseFloat(parentElement.style.width);\n      _dom_utils.CustomStyle.setProp('transformOrigin', this.container, -(parentLeft + parentWidth) + 'px -' + parentElement.style.top);\n      this.container.style.left = parentLeft + parentWidth + 'px';\n      this.container.appendChild(popup.render());\n      return this.container;\n    }\n  }]);\n\n  return PopupAnnotationElement;\n}(AnnotationElement);\n\nvar PopupElement = function () {\n  function PopupElement(parameters) {\n    _classCallCheck(this, PopupElement);\n\n    this.container = parameters.container;\n    this.trigger = parameters.trigger;\n    this.color = parameters.color;\n    this.title = parameters.title;\n    this.contents = parameters.contents;\n    this.hideWrapper = parameters.hideWrapper || false;\n    this.pinned = false;\n  }\n\n  _createClass(PopupElement, [{\n    key: 'render',\n    value: function render() {\n      var BACKGROUND_ENLIGHT = 0.7;\n      var wrapper = document.createElement('div');\n      wrapper.className = 'popupWrapper';\n      this.hideElement = this.hideWrapper ? wrapper : this.container;\n      this.hideElement.setAttribute('hidden', true);\n      var popup = document.createElement('div');\n      popup.className = 'popup';\n      var color = this.color;\n      if (color) {\n        var r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0];\n        var g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1];\n        var b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2];\n        popup.style.backgroundColor = _util.Util.makeCssRgb(r | 0, g | 0, b | 0);\n      }\n      var contents = this._formatContents(this.contents);\n      var title = document.createElement('h1');\n      title.textContent = this.title;\n      this.trigger.addEventListener('click', this._toggle.bind(this));\n      this.trigger.addEventListener('mouseover', this._show.bind(this, false));\n      this.trigger.addEventListener('mouseout', this._hide.bind(this, false));\n      popup.addEventListener('click', this._hide.bind(this, true));\n      popup.appendChild(title);\n      popup.appendChild(contents);\n      wrapper.appendChild(popup);\n      return wrapper;\n    }\n  }, {\n    key: '_formatContents',\n    value: function _formatContents(contents) {\n      var p = document.createElement('p');\n      var lines = contents.split(/(?:\\r\\n?|\\n)/);\n      for (var i = 0, ii = lines.length; i < ii; ++i) {\n        var line = lines[i];\n        p.appendChild(document.createTextNode(line));\n        if (i < ii - 1) {\n          p.appendChild(document.createElement('br'));\n        }\n      }\n      return p;\n    }\n  }, {\n    key: '_toggle',\n    value: function _toggle() {\n      if (this.pinned) {\n        this._hide(true);\n      } else {\n        this._show(true);\n      }\n    }\n  }, {\n    key: '_show',\n    value: function _show() {\n      var pin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n      if (pin) {\n        this.pinned = true;\n      }\n      if (this.hideElement.hasAttribute('hidden')) {\n        this.hideElement.removeAttribute('hidden');\n        this.container.style.zIndex += 1;\n      }\n    }\n  }, {\n    key: '_hide',\n    value: function _hide() {\n      var unpin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n      if (unpin) {\n        this.pinned = false;\n      }\n      if (!this.hideElement.hasAttribute('hidden') && !this.pinned) {\n        this.hideElement.setAttribute('hidden', true);\n        this.container.style.zIndex -= 1;\n      }\n    }\n  }]);\n\n  return PopupElement;\n}();\n\nvar LineAnnotationElement = function (_AnnotationElement5) {\n  _inherits(LineAnnotationElement, _AnnotationElement5);\n\n  function LineAnnotationElement(parameters) {\n    _classCallCheck(this, LineAnnotationElement);\n\n    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n    return _possibleConstructorReturn(this, (LineAnnotationElement.__proto__ || Object.getPrototypeOf(LineAnnotationElement)).call(this, parameters, isRenderable, true));\n  }\n\n  _createClass(LineAnnotationElement, [{\n    key: 'render',\n    value: function render() {\n      this.container.className = 'lineAnnotation';\n      var data = this.data;\n      var width = data.rect[2] - data.rect[0];\n      var height = data.rect[3] - data.rect[1];\n      var svg = this.svgFactory.create(width, height);\n      var line = this.svgFactory.createElement('svg:line');\n      line.setAttribute('x1', data.rect[2] - data.lineCoordinates[0]);\n      line.setAttribute('y1', data.rect[3] - data.lineCoordinates[1]);\n      line.setAttribute('x2', data.rect[2] - data.lineCoordinates[2]);\n      line.setAttribute('y2', data.rect[3] - data.lineCoordinates[3]);\n      line.setAttribute('stroke-width', data.borderStyle.width);\n      line.setAttribute('stroke', 'transparent');\n      svg.appendChild(line);\n      this.container.append(svg);\n      this._createPopup(this.container, line, data);\n      return this.container;\n    }\n  }]);\n\n  return LineAnnotationElement;\n}(AnnotationElement);\n\nvar SquareAnnotationElement = function (_AnnotationElement6) {\n  _inherits(SquareAnnotationElement, _AnnotationElement6);\n\n  function SquareAnnotationElement(parameters) {\n    _classCallCheck(this, SquareAnnotationElement);\n\n    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n    return _possibleConstructorReturn(this, (SquareAnnotationElement.__proto__ || Object.getPrototypeOf(SquareAnnotationElement)).call(this, parameters, isRenderable, true));\n  }\n\n  _createClass(SquareAnnotationElement, [{\n    key: 'render',\n    value: function render() {\n      this.container.className = 'squareAnnotation';\n      var data = this.data;\n      var width = data.rect[2] - data.rect[0];\n      var height = data.rect[3] - data.rect[1];\n      var svg = this.svgFactory.create(width, height);\n      var borderWidth = data.borderStyle.width;\n      var square = this.svgFactory.createElement('svg:rect');\n      square.setAttribute('x', borderWidth / 2);\n      square.setAttribute('y', borderWidth / 2);\n      square.setAttribute('width', width - borderWidth);\n      square.setAttribute('height', height - borderWidth);\n      square.setAttribute('stroke-width', borderWidth);\n      square.setAttribute('stroke', 'transparent');\n      square.setAttribute('fill', 'none');\n      svg.appendChild(square);\n      this.container.append(svg);\n      this._createPopup(this.container, square, data);\n      return this.container;\n    }\n  }]);\n\n  return SquareAnnotationElement;\n}(AnnotationElement);\n\nvar CircleAnnotationElement = function (_AnnotationElement7) {\n  _inherits(CircleAnnotationElement, _AnnotationElement7);\n\n  function CircleAnnotationElement(parameters) {\n    _classCallCheck(this, CircleAnnotationElement);\n\n    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n    return _possibleConstructorReturn(this, (CircleAnnotationElement.__proto__ || Object.getPrototypeOf(CircleAnnotationElement)).call(this, parameters, isRenderable, true));\n  }\n\n  _createClass(CircleAnnotationElement, [{\n    key: 'render',\n    value: function render() {\n      this.container.className = 'circleAnnotation';\n      var data = this.data;\n      var width = data.rect[2] - data.rect[0];\n      var height = data.rect[3] - data.rect[1];\n      var svg = this.svgFactory.create(width, height);\n      var borderWidth = data.borderStyle.width;\n      var circle = this.svgFactory.createElement('svg:ellipse');\n      circle.setAttribute('cx', width / 2);\n      circle.setAttribute('cy', height / 2);\n      circle.setAttribute('rx', width / 2 - borderWidth / 2);\n      circle.setAttribute('ry', height / 2 - borderWidth / 2);\n      circle.setAttribute('stroke-width', borderWidth);\n      circle.setAttribute('stroke', 'transparent');\n      circle.setAttribute('fill', 'none');\n      svg.appendChild(circle);\n      this.container.append(svg);\n      this._createPopup(this.container, circle, data);\n      return this.container;\n    }\n  }]);\n\n  return CircleAnnotationElement;\n}(AnnotationElement);\n\nvar PolylineAnnotationElement = function (_AnnotationElement8) {\n  _inherits(PolylineAnnotationElement, _AnnotationElement8);\n\n  function PolylineAnnotationElement(parameters) {\n    _classCallCheck(this, PolylineAnnotationElement);\n\n    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n\n    var _this14 = _possibleConstructorReturn(this, (PolylineAnnotationElement.__proto__ || Object.getPrototypeOf(PolylineAnnotationElement)).call(this, parameters, isRenderable, true));\n\n    _this14.containerClassName = 'polylineAnnotation';\n    _this14.svgElementName = 'svg:polyline';\n    return _this14;\n  }\n\n  _createClass(PolylineAnnotationElement, [{\n    key: 'render',\n    value: function render() {\n      this.container.className = this.containerClassName;\n      var data = this.data;\n      var width = data.rect[2] - data.rect[0];\n      var height = data.rect[3] - data.rect[1];\n      var svg = this.svgFactory.create(width, height);\n      var vertices = data.vertices;\n      var points = [];\n      for (var i = 0, ii = vertices.length; i < ii; i++) {\n        var x = vertices[i].x - data.rect[0];\n        var y = data.rect[3] - vertices[i].y;\n        points.push(x + ',' + y);\n      }\n      points = points.join(' ');\n      var borderWidth = data.borderStyle.width;\n      var polyline = this.svgFactory.createElement(this.svgElementName);\n      polyline.setAttribute('points', points);\n      polyline.setAttribute('stroke-width', borderWidth);\n      polyline.setAttribute('stroke', 'transparent');\n      polyline.setAttribute('fill', 'none');\n      svg.appendChild(polyline);\n      this.container.append(svg);\n      this._createPopup(this.container, polyline, data);\n      return this.container;\n    }\n  }]);\n\n  return PolylineAnnotationElement;\n}(AnnotationElement);\n\nvar PolygonAnnotationElement = function (_PolylineAnnotationEl) {\n  _inherits(PolygonAnnotationElement, _PolylineAnnotationEl);\n\n  function PolygonAnnotationElement(parameters) {\n    _classCallCheck(this, PolygonAnnotationElement);\n\n    var _this15 = _possibleConstructorReturn(this, (PolygonAnnotationElement.__proto__ || Object.getPrototypeOf(PolygonAnnotationElement)).call(this, parameters));\n\n    _this15.containerClassName = 'polygonAnnotation';\n    _this15.svgElementName = 'svg:polygon';\n    return _this15;\n  }\n\n  return PolygonAnnotationElement;\n}(PolylineAnnotationElement);\n\nvar HighlightAnnotationElement = function (_AnnotationElement9) {\n  _inherits(HighlightAnnotationElement, _AnnotationElement9);\n\n  function HighlightAnnotationElement(parameters) {\n    _classCallCheck(this, HighlightAnnotationElement);\n\n    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n    return _possibleConstructorReturn(this, (HighlightAnnotationElement.__proto__ || Object.getPrototypeOf(HighlightAnnotationElement)).call(this, parameters, isRenderable, true));\n  }\n\n  _createClass(HighlightAnnotationElement, [{\n    key: 'render',\n    value: function render() {\n      this.container.className = 'highlightAnnotation';\n      if (!this.data.hasPopup) {\n        this._createPopup(this.container, null, this.data);\n      }\n      return this.container;\n    }\n  }]);\n\n  return HighlightAnnotationElement;\n}(AnnotationElement);\n\nvar UnderlineAnnotationElement = function (_AnnotationElement10) {\n  _inherits(UnderlineAnnotationElement, _AnnotationElement10);\n\n  function UnderlineAnnotationElement(parameters) {\n    _classCallCheck(this, UnderlineAnnotationElement);\n\n    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n    return _possibleConstructorReturn(this, (UnderlineAnnotationElement.__proto__ || Object.getPrototypeOf(UnderlineAnnotationElement)).call(this, parameters, isRenderable, true));\n  }\n\n  _createClass(UnderlineAnnotationElement, [{\n    key: 'render',\n    value: function render() {\n      this.container.className = 'underlineAnnotation';\n      if (!this.data.hasPopup) {\n        this._createPopup(this.container, null, this.data);\n      }\n      return this.container;\n    }\n  }]);\n\n  return UnderlineAnnotationElement;\n}(AnnotationElement);\n\nvar SquigglyAnnotationElement = function (_AnnotationElement11) {\n  _inherits(SquigglyAnnotationElement, _AnnotationElement11);\n\n  function SquigglyAnnotationElement(parameters) {\n    _classCallCheck(this, SquigglyAnnotationElement);\n\n    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n    return _possibleConstructorReturn(this, (SquigglyAnnotationElement.__proto__ || Object.getPrototypeOf(SquigglyAnnotationElement)).call(this, parameters, isRenderable, true));\n  }\n\n  _createClass(SquigglyAnnotationElement, [{\n    key: 'render',\n    value: function render() {\n      this.container.className = 'squigglyAnnotation';\n      if (!this.data.hasPopup) {\n        this._createPopup(this.container, null, this.data);\n      }\n      return this.container;\n    }\n  }]);\n\n  return SquigglyAnnotationElement;\n}(AnnotationElement);\n\nvar StrikeOutAnnotationElement = function (_AnnotationElement12) {\n  _inherits(StrikeOutAnnotationElement, _AnnotationElement12);\n\n  function StrikeOutAnnotationElement(parameters) {\n    _classCallCheck(this, StrikeOutAnnotationElement);\n\n    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n    return _possibleConstructorReturn(this, (StrikeOutAnnotationElement.__proto__ || Object.getPrototypeOf(StrikeOutAnnotationElement)).call(this, parameters, isRenderable, true));\n  }\n\n  _createClass(StrikeOutAnnotationElement, [{\n    key: 'render',\n    value: function render() {\n      this.container.className = 'strikeoutAnnotation';\n      if (!this.data.hasPopup) {\n        this._createPopup(this.container, null, this.data);\n      }\n      return this.container;\n    }\n  }]);\n\n  return StrikeOutAnnotationElement;\n}(AnnotationElement);\n\nvar StampAnnotationElement = function (_AnnotationElement13) {\n  _inherits(StampAnnotationElement, _AnnotationElement13);\n\n  function StampAnnotationElement(parameters) {\n    _classCallCheck(this, StampAnnotationElement);\n\n    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n    return _possibleConstructorReturn(this, (StampAnnotationElement.__proto__ || Object.getPrototypeOf(StampAnnotationElement)).call(this, parameters, isRenderable, true));\n  }\n\n  _createClass(StampAnnotationElement, [{\n    key: 'render',\n    value: function render() {\n      this.container.className = 'stampAnnotation';\n      if (!this.data.hasPopup) {\n        this._createPopup(this.container, null, this.data);\n      }\n      return this.container;\n    }\n  }]);\n\n  return StampAnnotationElement;\n}(AnnotationElement);\n\nvar FileAttachmentAnnotationElement = function (_AnnotationElement14) {\n  _inherits(FileAttachmentAnnotationElement, _AnnotationElement14);\n\n  function FileAttachmentAnnotationElement(parameters) {\n    _classCallCheck(this, FileAttachmentAnnotationElement);\n\n    var _this21 = _possibleConstructorReturn(this, (FileAttachmentAnnotationElement.__proto__ || Object.getPrototypeOf(FileAttachmentAnnotationElement)).call(this, parameters, true));\n\n    var file = _this21.data.file;\n    _this21.filename = (0, _dom_utils.getFilenameFromUrl)(file.filename);\n    _this21.content = file.content;\n    _this21.linkService.onFileAttachmentAnnotation({\n      id: (0, _util.stringToPDFString)(file.filename),\n      filename: file.filename,\n      content: file.content\n    });\n    return _this21;\n  }\n\n  _createClass(FileAttachmentAnnotationElement, [{\n    key: 'render',\n    value: function render() {\n      this.container.className = 'fileAttachmentAnnotation';\n      var trigger = document.createElement('div');\n      trigger.style.height = this.container.style.height;\n      trigger.style.width = this.container.style.width;\n      trigger.addEventListener('dblclick', this._download.bind(this));\n      if (!this.data.hasPopup && (this.data.title || this.data.contents)) {\n        this._createPopup(this.container, trigger, this.data);\n      }\n      this.container.appendChild(trigger);\n      return this.container;\n    }\n  }, {\n    key: '_download',\n    value: function _download() {\n      if (!this.downloadManager) {\n        (0, _util.warn)('Download cannot be started due to unavailable download manager');\n        return;\n      }\n      this.downloadManager.downloadData(this.content, this.filename, '');\n    }\n  }]);\n\n  return FileAttachmentAnnotationElement;\n}(AnnotationElement);\n\nvar AnnotationLayer = function () {\n  function AnnotationLayer() {\n    _classCallCheck(this, AnnotationLayer);\n  }\n\n  _createClass(AnnotationLayer, null, [{\n    key: 'render',\n    value: function render(parameters) {\n      for (var i = 0, ii = parameters.annotations.length; i < ii; i++) {\n        var data = parameters.annotations[i];\n        if (!data) {\n          continue;\n        }\n        var element = AnnotationElementFactory.create({\n          data: data,\n          layer: parameters.div,\n          page: parameters.page,\n          viewport: parameters.viewport,\n          linkService: parameters.linkService,\n          downloadManager: parameters.downloadManager,\n          imageResourcesPath: parameters.imageResourcesPath || (0, _dom_utils.getDefaultSetting)('imageResourcesPath'),\n          renderInteractiveForms: parameters.renderInteractiveForms || false,\n          svgFactory: new _dom_utils.DOMSVGFactory()\n        });\n        if (element.isRenderable) {\n          parameters.div.appendChild(element.render());\n        }\n      }\n    }\n  }, {\n    key: 'update',\n    value: function update(parameters) {\n      for (var i = 0, ii = parameters.annotations.length; i < ii; i++) {\n        var data = parameters.annotations[i];\n        var element = parameters.div.querySelector('[data-annotation-id=\"' + data.id + '\"]');\n        if (element) {\n          _dom_utils.CustomStyle.setProp('transform', element, 'matrix(' + parameters.viewport.transform.join(',') + ')');\n        }\n      }\n      parameters.div.removeAttribute('hidden');\n    }\n  }]);\n\n  return AnnotationLayer;\n}();\n\nexports.AnnotationLayer = AnnotationLayer;\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.renderTextLayer = undefined;\n\nvar _util = __w_pdfjs_require__(0);\n\nvar _dom_utils = __w_pdfjs_require__(17);\n\nvar renderTextLayer = function renderTextLayerClosure() {\n  var MAX_TEXT_DIVS_TO_RENDER = 100000;\n  var NonWhitespaceRegexp = /\\S/;\n  function isAllWhitespace(str) {\n    return !NonWhitespaceRegexp.test(str);\n  }\n  var styleBuf = ['left: ', 0, 'px; top: ', 0, 'px; font-size: ', 0, 'px; font-family: ', '', ';'];\n  function appendText(task, geom, styles) {\n    var textDiv = document.createElement('div');\n    var textDivProperties = {\n      style: null,\n      angle: 0,\n      canvasWidth: 0,\n      isWhitespace: false,\n      originalTransform: null,\n      paddingBottom: 0,\n      paddingLeft: 0,\n      paddingRight: 0,\n      paddingTop: 0,\n      scale: 1\n    };\n    task._textDivs.push(textDiv);\n    if (isAllWhitespace(geom.str)) {\n      textDivProperties.isWhitespace = true;\n      task._textDivProperties.set(textDiv, textDivProperties);\n      return;\n    }\n    var tx = _util.Util.transform(task._viewport.transform, geom.transform);\n    var angle = Math.atan2(tx[1], tx[0]);\n    var style = styles[geom.fontName];\n    if (style.vertical) {\n      angle += Math.PI / 2;\n    }\n    var fontHeight = Math.sqrt(tx[2] * tx[2] + tx[3] * tx[3]);\n    var fontAscent = fontHeight;\n    if (style.ascent) {\n      fontAscent = style.ascent * fontAscent;\n    } else if (style.descent) {\n      fontAscent = (1 + style.descent) * fontAscent;\n    }\n    var left;\n    var top;\n    if (angle === 0) {\n      left = tx[4];\n      top = tx[5] - fontAscent;\n    } else {\n      left = tx[4] + fontAscent * Math.sin(angle);\n      top = tx[5] - fontAscent * Math.cos(angle);\n    }\n    styleBuf[1] = left;\n    styleBuf[3] = top;\n    styleBuf[5] = fontHeight;\n    styleBuf[7] = style.fontFamily;\n    textDivProperties.style = styleBuf.join('');\n    textDiv.setAttribute('style', textDivProperties.style);\n    textDiv.textContent = geom.str;\n    if ((0, _dom_utils.getDefaultSetting)('pdfBug')) {\n      textDiv.dataset.fontName = geom.fontName;\n    }\n    if (angle !== 0) {\n      textDivProperties.angle = angle * (180 / Math.PI);\n    }\n    if (geom.str.length > 1) {\n      if (style.vertical) {\n        textDivProperties.canvasWidth = geom.height * task._viewport.scale;\n      } else {\n        textDivProperties.canvasWidth = geom.width * task._viewport.scale;\n      }\n    }\n    task._textDivProperties.set(textDiv, textDivProperties);\n    if (task._textContentStream) {\n      task._layoutText(textDiv);\n    }\n    if (task._enhanceTextSelection) {\n      var angleCos = 1,\n          angleSin = 0;\n      if (angle !== 0) {\n        angleCos = Math.cos(angle);\n        angleSin = Math.sin(angle);\n      }\n      var divWidth = (style.vertical ? geom.height : geom.width) * task._viewport.scale;\n      var divHeight = fontHeight;\n      var m, b;\n      if (angle !== 0) {\n        m = [angleCos, angleSin, -angleSin, angleCos, left, top];\n        b = _util.Util.getAxialAlignedBoundingBox([0, 0, divWidth, divHeight], m);\n      } else {\n        b = [left, top, left + divWidth, top + divHeight];\n      }\n      task._bounds.push({\n        left: b[0],\n        top: b[1],\n        right: b[2],\n        bottom: b[3],\n        div: textDiv,\n        size: [divWidth, divHeight],\n        m: m\n      });\n    }\n  }\n  function render(task) {\n    if (task._canceled) {\n      return;\n    }\n    var textDivs = task._textDivs;\n    var capability = task._capability;\n    var textDivsLength = textDivs.length;\n    if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) {\n      task._renderingDone = true;\n      capability.resolve();\n      return;\n    }\n    if (!task._textContentStream) {\n      for (var i = 0; i < textDivsLength; i++) {\n        task._layoutText(textDivs[i]);\n      }\n    }\n    task._renderingDone = true;\n    capability.resolve();\n  }\n  function expand(task) {\n    var bounds = task._bounds;\n    var viewport = task._viewport;\n    var expanded = expandBounds(viewport.width, viewport.height, bounds);\n    for (var i = 0; i < expanded.length; i++) {\n      var div = bounds[i].div;\n      var divProperties = task._textDivProperties.get(div);\n      if (divProperties.angle === 0) {\n        divProperties.paddingLeft = bounds[i].left - expanded[i].left;\n        divProperties.paddingTop = bounds[i].top - expanded[i].top;\n        divProperties.paddingRight = expanded[i].right - bounds[i].right;\n        divProperties.paddingBottom = expanded[i].bottom - bounds[i].bottom;\n        task._textDivProperties.set(div, divProperties);\n        continue;\n      }\n      var e = expanded[i],\n          b = bounds[i];\n      var m = b.m,\n          c = m[0],\n          s = m[1];\n      var points = [[0, 0], [0, b.size[1]], [b.size[0], 0], b.size];\n      var ts = new Float64Array(64);\n      points.forEach(function (p, i) {\n        var t = _util.Util.applyTransform(p, m);\n        ts[i + 0] = c && (e.left - t[0]) / c;\n        ts[i + 4] = s && (e.top - t[1]) / s;\n        ts[i + 8] = c && (e.right - t[0]) / c;\n        ts[i + 12] = s && (e.bottom - t[1]) / s;\n        ts[i + 16] = s && (e.left - t[0]) / -s;\n        ts[i + 20] = c && (e.top - t[1]) / c;\n        ts[i + 24] = s && (e.right - t[0]) / -s;\n        ts[i + 28] = c && (e.bottom - t[1]) / c;\n        ts[i + 32] = c && (e.left - t[0]) / -c;\n        ts[i + 36] = s && (e.top - t[1]) / -s;\n        ts[i + 40] = c && (e.right - t[0]) / -c;\n        ts[i + 44] = s && (e.bottom - t[1]) / -s;\n        ts[i + 48] = s && (e.left - t[0]) / s;\n        ts[i + 52] = c && (e.top - t[1]) / -c;\n        ts[i + 56] = s && (e.right - t[0]) / s;\n        ts[i + 60] = c && (e.bottom - t[1]) / -c;\n      });\n      var findPositiveMin = function findPositiveMin(ts, offset, count) {\n        var result = 0;\n        for (var i = 0; i < count; i++) {\n          var t = ts[offset++];\n          if (t > 0) {\n            result = result ? Math.min(t, result) : t;\n          }\n        }\n        return result;\n      };\n      var boxScale = 1 + Math.min(Math.abs(c), Math.abs(s));\n      divProperties.paddingLeft = findPositiveMin(ts, 32, 16) / boxScale;\n      divProperties.paddingTop = findPositiveMin(ts, 48, 16) / boxScale;\n      divProperties.paddingRight = findPositiveMin(ts, 0, 16) / boxScale;\n      divProperties.paddingBottom = findPositiveMin(ts, 16, 16) / boxScale;\n      task._textDivProperties.set(div, divProperties);\n    }\n  }\n  function expandBounds(width, height, boxes) {\n    var bounds = boxes.map(function (box, i) {\n      return {\n        x1: box.left,\n        y1: box.top,\n        x2: box.right,\n        y2: box.bottom,\n        index: i,\n        x1New: undefined,\n        x2New: undefined\n      };\n    });\n    expandBoundsLTR(width, bounds);\n    var expanded = new Array(boxes.length);\n    bounds.forEach(function (b) {\n      var i = b.index;\n      expanded[i] = {\n        left: b.x1New,\n        top: 0,\n        right: b.x2New,\n        bottom: 0\n      };\n    });\n    boxes.map(function (box, i) {\n      var e = expanded[i],\n          b = bounds[i];\n      b.x1 = box.top;\n      b.y1 = width - e.right;\n      b.x2 = box.bottom;\n      b.y2 = width - e.left;\n      b.index = i;\n      b.x1New = undefined;\n      b.x2New = undefined;\n    });\n    expandBoundsLTR(height, bounds);\n    bounds.forEach(function (b) {\n      var i = b.index;\n      expanded[i].top = b.x1New;\n      expanded[i].bottom = b.x2New;\n    });\n    return expanded;\n  }\n  function expandBoundsLTR(width, bounds) {\n    bounds.sort(function (a, b) {\n      return a.x1 - b.x1 || a.index - b.index;\n    });\n    var fakeBoundary = {\n      x1: -Infinity,\n      y1: -Infinity,\n      x2: 0,\n      y2: Infinity,\n      index: -1,\n      x1New: 0,\n      x2New: 0\n    };\n    var horizon = [{\n      start: -Infinity,\n      end: Infinity,\n      boundary: fakeBoundary\n    }];\n    bounds.forEach(function (boundary) {\n      var i = 0;\n      while (i < horizon.length && horizon[i].end <= boundary.y1) {\n        i++;\n      }\n      var j = horizon.length - 1;\n      while (j >= 0 && horizon[j].start >= boundary.y2) {\n        j--;\n      }\n      var horizonPart, affectedBoundary;\n      var q,\n          k,\n          maxXNew = -Infinity;\n      for (q = i; q <= j; q++) {\n        horizonPart = horizon[q];\n        affectedBoundary = horizonPart.boundary;\n        var xNew;\n        if (affectedBoundary.x2 > boundary.x1) {\n          xNew = affectedBoundary.index > boundary.index ? affectedBoundary.x1New : boundary.x1;\n        } else if (affectedBoundary.x2New === undefined) {\n          xNew = (affectedBoundary.x2 + boundary.x1) / 2;\n        } else {\n          xNew = affectedBoundary.x2New;\n        }\n        if (xNew > maxXNew) {\n          maxXNew = xNew;\n        }\n      }\n      boundary.x1New = maxXNew;\n      for (q = i; q <= j; q++) {\n        horizonPart = horizon[q];\n        affectedBoundary = horizonPart.boundary;\n        if (affectedBoundary.x2New === undefined) {\n          if (affectedBoundary.x2 > boundary.x1) {\n            if (affectedBoundary.index > boundary.index) {\n              affectedBoundary.x2New = affectedBoundary.x2;\n            }\n          } else {\n            affectedBoundary.x2New = maxXNew;\n          }\n        } else if (affectedBoundary.x2New > maxXNew) {\n          affectedBoundary.x2New = Math.max(maxXNew, affectedBoundary.x2);\n        }\n      }\n      var changedHorizon = [],\n          lastBoundary = null;\n      for (q = i; q <= j; q++) {\n        horizonPart = horizon[q];\n        affectedBoundary = horizonPart.boundary;\n        var useBoundary = affectedBoundary.x2 > boundary.x2 ? affectedBoundary : boundary;\n        if (lastBoundary === useBoundary) {\n          changedHorizon[changedHorizon.length - 1].end = horizonPart.end;\n        } else {\n          changedHorizon.push({\n            start: horizonPart.start,\n            end: horizonPart.end,\n            boundary: useBoundary\n          });\n          lastBoundary = useBoundary;\n        }\n      }\n      if (horizon[i].start < boundary.y1) {\n        changedHorizon[0].start = boundary.y1;\n        changedHorizon.unshift({\n          start: horizon[i].start,\n          end: boundary.y1,\n          boundary: horizon[i].boundary\n        });\n      }\n      if (boundary.y2 < horizon[j].end) {\n        changedHorizon[changedHorizon.length - 1].end = boundary.y2;\n        changedHorizon.push({\n          start: boundary.y2,\n          end: horizon[j].end,\n          boundary: horizon[j].boundary\n        });\n      }\n      for (q = i; q <= j; q++) {\n        horizonPart = horizon[q];\n        affectedBoundary = horizonPart.boundary;\n        if (affectedBoundary.x2New !== undefined) {\n          continue;\n        }\n        var used = false;\n        for (k = i - 1; !used && k >= 0 && horizon[k].start >= affectedBoundary.y1; k--) {\n          used = horizon[k].boundary === affectedBoundary;\n        }\n        for (k = j + 1; !used && k < horizon.length && horizon[k].end <= affectedBoundary.y2; k++) {\n          used = horizon[k].boundary === affectedBoundary;\n        }\n        for (k = 0; !used && k < changedHorizon.length; k++) {\n          used = changedHorizon[k].boundary === affectedBoundary;\n        }\n        if (!used) {\n          affectedBoundary.x2New = maxXNew;\n        }\n      }\n      Array.prototype.splice.apply(horizon, [i, j - i + 1].concat(changedHorizon));\n    });\n    horizon.forEach(function (horizonPart) {\n      var affectedBoundary = horizonPart.boundary;\n      if (affectedBoundary.x2New === undefined) {\n        affectedBoundary.x2New = Math.max(width, affectedBoundary.x2);\n      }\n    });\n  }\n  function TextLayerRenderTask(_ref) {\n    var textContent = _ref.textContent,\n        textContentStream = _ref.textContentStream,\n        container = _ref.container,\n        viewport = _ref.viewport,\n        textDivs = _ref.textDivs,\n        textContentItemsStr = _ref.textContentItemsStr,\n        enhanceTextSelection = _ref.enhanceTextSelection;\n\n    this._textContent = textContent;\n    this._textContentStream = textContentStream;\n    this._container = container;\n    this._viewport = viewport;\n    this._textDivs = textDivs || [];\n    this._textContentItemsStr = textContentItemsStr || [];\n    this._enhanceTextSelection = !!enhanceTextSelection;\n    this._reader = null;\n    this._layoutTextLastFontSize = null;\n    this._layoutTextLastFontFamily = null;\n    this._layoutTextCtx = null;\n    this._textDivProperties = new WeakMap();\n    this._renderingDone = false;\n    this._canceled = false;\n    this._capability = (0, _util.createPromiseCapability)();\n    this._renderTimer = null;\n    this._bounds = [];\n  }\n  TextLayerRenderTask.prototype = {\n    get promise() {\n      return this._capability.promise;\n    },\n    cancel: function TextLayer_cancel() {\n      if (this._reader) {\n        this._reader.cancel(new _util.AbortException('text layer task cancelled'));\n        this._reader = null;\n      }\n      this._canceled = true;\n      if (this._renderTimer !== null) {\n        clearTimeout(this._renderTimer);\n        this._renderTimer = null;\n      }\n      this._capability.reject('canceled');\n    },\n    _processItems: function _processItems(items, styleCache) {\n      for (var i = 0, len = items.length; i < len; i++) {\n        this._textContentItemsStr.push(items[i].str);\n        appendText(this, items[i], styleCache);\n      }\n    },\n    _layoutText: function _layoutText(textDiv) {\n      var textLayerFrag = this._container;\n      var textDivProperties = this._textDivProperties.get(textDiv);\n      if (textDivProperties.isWhitespace) {\n        return;\n      }\n      var fontSize = textDiv.style.fontSize;\n      var fontFamily = textDiv.style.fontFamily;\n      if (fontSize !== this._layoutTextLastFontSize || fontFamily !== this._layoutTextLastFontFamily) {\n        this._layoutTextCtx.font = fontSize + ' ' + fontFamily;\n        this._lastFontSize = fontSize;\n        this._lastFontFamily = fontFamily;\n      }\n      var width = this._layoutTextCtx.measureText(textDiv.textContent).width;\n      var transform = '';\n      if (textDivProperties.canvasWidth !== 0 && width > 0) {\n        textDivProperties.scale = textDivProperties.canvasWidth / width;\n        transform = 'scaleX(' + textDivProperties.scale + ')';\n      }\n      if (textDivProperties.angle !== 0) {\n        transform = 'rotate(' + textDivProperties.angle + 'deg) ' + transform;\n      }\n      if (transform !== '') {\n        textDivProperties.originalTransform = transform;\n        _dom_utils.CustomStyle.setProp('transform', textDiv, transform);\n      }\n      this._textDivProperties.set(textDiv, textDivProperties);\n      textLayerFrag.appendChild(textDiv);\n    },\n\n    _render: function TextLayer_render(timeout) {\n      var _this = this;\n\n      var capability = (0, _util.createPromiseCapability)();\n      var styleCache = Object.create(null);\n      var canvas = document.createElement('canvas');\n      this._layoutTextCtx = canvas.getContext('2d', { alpha: false });\n      if (this._textContent) {\n        var textItems = this._textContent.items;\n        var textStyles = this._textContent.styles;\n        this._processItems(textItems, textStyles);\n        capability.resolve();\n      } else if (this._textContentStream) {\n        var pump = function pump() {\n          _this._reader.read().then(function (_ref2) {\n            var value = _ref2.value,\n                done = _ref2.done;\n\n            if (done) {\n              capability.resolve();\n              return;\n            }\n            _util.Util.extendObj(styleCache, value.styles);\n            _this._processItems(value.items, styleCache);\n            pump();\n          }, capability.reject);\n        };\n        this._reader = this._textContentStream.getReader();\n        pump();\n      } else {\n        throw new Error('Neither \"textContent\" nor \"textContentStream\"' + ' parameters specified.');\n      }\n      capability.promise.then(function () {\n        styleCache = null;\n        if (!timeout) {\n          render(_this);\n        } else {\n          _this._renderTimer = setTimeout(function () {\n            render(_this);\n            _this._renderTimer = null;\n          }, timeout);\n        }\n      }, this._capability.reject);\n    },\n    expandTextDivs: function TextLayer_expandTextDivs(expandDivs) {\n      if (!this._enhanceTextSelection || !this._renderingDone) {\n        return;\n      }\n      if (this._bounds !== null) {\n        expand(this);\n        this._bounds = null;\n      }\n      for (var i = 0, ii = this._textDivs.length; i < ii; i++) {\n        var div = this._textDivs[i];\n        var divProperties = this._textDivProperties.get(div);\n        if (divProperties.isWhitespace) {\n          continue;\n        }\n        if (expandDivs) {\n          var transform = '',\n              padding = '';\n          if (divProperties.scale !== 1) {\n            transform = 'scaleX(' + divProperties.scale + ')';\n          }\n          if (divProperties.angle !== 0) {\n            transform = 'rotate(' + divProperties.angle + 'deg) ' + transform;\n          }\n          if (divProperties.paddingLeft !== 0) {\n            padding += ' padding-left: ' + divProperties.paddingLeft / divProperties.scale + 'px;';\n            transform += ' translateX(' + -divProperties.paddingLeft / divProperties.scale + 'px)';\n          }\n          if (divProperties.paddingTop !== 0) {\n            padding += ' padding-top: ' + divProperties.paddingTop + 'px;';\n            transform += ' translateY(' + -divProperties.paddingTop + 'px)';\n          }\n          if (divProperties.paddingRight !== 0) {\n            padding += ' padding-right: ' + divProperties.paddingRight / divProperties.scale + 'px;';\n          }\n          if (divProperties.paddingBottom !== 0) {\n            padding += ' padding-bottom: ' + divProperties.paddingBottom + 'px;';\n          }\n          if (padding !== '') {\n            div.setAttribute('style', divProperties.style + padding);\n          }\n          if (transform !== '') {\n            _dom_utils.CustomStyle.setProp('transform', div, transform);\n          }\n        } else {\n          div.style.padding = 0;\n          _dom_utils.CustomStyle.setProp('transform', div, divProperties.originalTransform || '');\n        }\n      }\n    }\n  };\n  function renderTextLayer(renderParameters) {\n    var task = new TextLayerRenderTask({\n      textContent: renderParameters.textContent,\n      textContentStream: renderParameters.textContentStream,\n      container: renderParameters.container,\n      viewport: renderParameters.viewport,\n      textDivs: renderParameters.textDivs,\n      textContentItemsStr: renderParameters.textContentItemsStr,\n      enhanceTextSelection: renderParameters.enhanceTextSelection\n    });\n    task._render(renderParameters.timeout);\n    return task;\n  }\n  return renderTextLayer;\n}();\nexports.renderTextLayer = renderTextLayer;\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.SVGGraphics = undefined;\n\nvar _util = __w_pdfjs_require__(0);\n\nvar _dom_utils = __w_pdfjs_require__(17);\n\nvar SVGGraphics = function SVGGraphics() {\n  throw new Error('Not implemented: SVGGraphics');\n};\n{\n  var SVG_DEFAULTS = {\n    fontStyle: 'normal',\n    fontWeight: 'normal',\n    fillColor: '#000000'\n  };\n  var convertImgDataToPng = function convertImgDataToPngClosure() {\n    var PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);\n    var CHUNK_WRAPPER_SIZE = 12;\n    var crcTable = new Int32Array(256);\n    for (var i = 0; i < 256; i++) {\n      var c = i;\n      for (var h = 0; h < 8; h++) {\n        if (c & 1) {\n          c = 0xedB88320 ^ c >> 1 & 0x7fffffff;\n        } else {\n          c = c >> 1 & 0x7fffffff;\n        }\n      }\n      crcTable[i] = c;\n    }\n    function crc32(data, start, end) {\n      var crc = -1;\n      for (var i = start; i < end; i++) {\n        var a = (crc ^ data[i]) & 0xff;\n        var b = crcTable[a];\n        crc = crc >>> 8 ^ b;\n      }\n      return crc ^ -1;\n    }\n    function writePngChunk(type, body, data, offset) {\n      var p = offset;\n      var len = body.length;\n      data[p] = len >> 24 & 0xff;\n      data[p + 1] = len >> 16 & 0xff;\n      data[p + 2] = len >> 8 & 0xff;\n      data[p + 3] = len & 0xff;\n      p += 4;\n      data[p] = type.charCodeAt(0) & 0xff;\n      data[p + 1] = type.charCodeAt(1) & 0xff;\n      data[p + 2] = type.charCodeAt(2) & 0xff;\n      data[p + 3] = type.charCodeAt(3) & 0xff;\n      p += 4;\n      data.set(body, p);\n      p += body.length;\n      var crc = crc32(data, offset + 4, p);\n      data[p] = crc >> 24 & 0xff;\n      data[p + 1] = crc >> 16 & 0xff;\n      data[p + 2] = crc >> 8 & 0xff;\n      data[p + 3] = crc & 0xff;\n    }\n    function adler32(data, start, end) {\n      var a = 1;\n      var b = 0;\n      for (var i = start; i < end; ++i) {\n        a = (a + (data[i] & 0xff)) % 65521;\n        b = (b + a) % 65521;\n      }\n      return b << 16 | a;\n    }\n    function deflateSync(literals) {\n      if (!(0, _util.isNodeJS)()) {\n        return deflateSyncUncompressed(literals);\n      }\n      try {\n        var input;\n        if (parseInt(process.versions.node) >= 8) {\n          input = literals;\n        } else {\n          input = new Buffer(literals);\n        }\n        var output = require('zlib').deflateSync(input, { level: 9 });\n        return output instanceof Uint8Array ? output : new Uint8Array(output);\n      } catch (e) {\n        (0, _util.warn)('Not compressing PNG because zlib.deflateSync is unavailable: ' + e);\n      }\n      return deflateSyncUncompressed(literals);\n    }\n    function deflateSyncUncompressed(literals) {\n      var len = literals.length;\n      var maxBlockLength = 0xFFFF;\n      var deflateBlocks = Math.ceil(len / maxBlockLength);\n      var idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4);\n      var pi = 0;\n      idat[pi++] = 0x78;\n      idat[pi++] = 0x9c;\n      var pos = 0;\n      while (len > maxBlockLength) {\n        idat[pi++] = 0x00;\n        idat[pi++] = 0xff;\n        idat[pi++] = 0xff;\n        idat[pi++] = 0x00;\n        idat[pi++] = 0x00;\n        idat.set(literals.subarray(pos, pos + maxBlockLength), pi);\n        pi += maxBlockLength;\n        pos += maxBlockLength;\n        len -= maxBlockLength;\n      }\n      idat[pi++] = 0x01;\n      idat[pi++] = len & 0xff;\n      idat[pi++] = len >> 8 & 0xff;\n      idat[pi++] = ~len & 0xffff & 0xff;\n      idat[pi++] = (~len & 0xffff) >> 8 & 0xff;\n      idat.set(literals.subarray(pos), pi);\n      pi += literals.length - pos;\n      var adler = adler32(literals, 0, literals.length);\n      idat[pi++] = adler >> 24 & 0xff;\n      idat[pi++] = adler >> 16 & 0xff;\n      idat[pi++] = adler >> 8 & 0xff;\n      idat[pi++] = adler & 0xff;\n      return idat;\n    }\n    function encode(imgData, kind, forceDataSchema) {\n      var width = imgData.width;\n      var height = imgData.height;\n      var bitDepth, colorType, lineSize;\n      var bytes = imgData.data;\n      switch (kind) {\n        case _util.ImageKind.GRAYSCALE_1BPP:\n          colorType = 0;\n          bitDepth = 1;\n          lineSize = width + 7 >> 3;\n          break;\n        case _util.ImageKind.RGB_24BPP:\n          colorType = 2;\n          bitDepth = 8;\n          lineSize = width * 3;\n          break;\n        case _util.ImageKind.RGBA_32BPP:\n          colorType = 6;\n          bitDepth = 8;\n          lineSize = width * 4;\n          break;\n        default:\n          throw new Error('invalid format');\n      }\n      var literals = new Uint8Array((1 + lineSize) * height);\n      var offsetLiterals = 0,\n          offsetBytes = 0;\n      var y, i;\n      for (y = 0; y < height; ++y) {\n        literals[offsetLiterals++] = 0;\n        literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals);\n        offsetBytes += lineSize;\n        offsetLiterals += lineSize;\n      }\n      if (kind === _util.ImageKind.GRAYSCALE_1BPP) {\n        offsetLiterals = 0;\n        for (y = 0; y < height; y++) {\n          offsetLiterals++;\n          for (i = 0; i < lineSize; i++) {\n            literals[offsetLiterals++] ^= 0xFF;\n          }\n        }\n      }\n      var ihdr = new Uint8Array([width >> 24 & 0xff, width >> 16 & 0xff, width >> 8 & 0xff, width & 0xff, height >> 24 & 0xff, height >> 16 & 0xff, height >> 8 & 0xff, height & 0xff, bitDepth, colorType, 0x00, 0x00, 0x00]);\n      var idat = deflateSync(literals);\n      var pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length;\n      var data = new Uint8Array(pngLength);\n      var offset = 0;\n      data.set(PNG_HEADER, offset);\n      offset += PNG_HEADER.length;\n      writePngChunk('IHDR', ihdr, data, offset);\n      offset += CHUNK_WRAPPER_SIZE + ihdr.length;\n      writePngChunk('IDATA', idat, data, offset);\n      offset += CHUNK_WRAPPER_SIZE + idat.length;\n      writePngChunk('IEND', new Uint8Array(0), data, offset);\n      return (0, _util.createObjectURL)(data, 'image/png', forceDataSchema);\n    }\n    return function convertImgDataToPng(imgData, forceDataSchema) {\n      var kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind;\n      return encode(imgData, kind, forceDataSchema);\n    };\n  }();\n  var SVGExtraState = function SVGExtraStateClosure() {\n    function SVGExtraState() {\n      this.fontSizeScale = 1;\n      this.fontWeight = SVG_DEFAULTS.fontWeight;\n      this.fontSize = 0;\n      this.textMatrix = _util.IDENTITY_MATRIX;\n      this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n      this.leading = 0;\n      this.x = 0;\n      this.y = 0;\n      this.lineX = 0;\n      this.lineY = 0;\n      this.charSpacing = 0;\n      this.wordSpacing = 0;\n      this.textHScale = 1;\n      this.textRise = 0;\n      this.fillColor = SVG_DEFAULTS.fillColor;\n      this.strokeColor = '#000000';\n      this.fillAlpha = 1;\n      this.strokeAlpha = 1;\n      this.lineWidth = 1;\n      this.lineJoin = '';\n      this.lineCap = '';\n      this.miterLimit = 0;\n      this.dashArray = [];\n      this.dashPhase = 0;\n      this.dependencies = [];\n      this.activeClipUrl = null;\n      this.clipGroup = null;\n      this.maskId = '';\n    }\n    SVGExtraState.prototype = {\n      clone: function SVGExtraState_clone() {\n        return Object.create(this);\n      },\n      setCurrentPoint: function SVGExtraState_setCurrentPoint(x, y) {\n        this.x = x;\n        this.y = y;\n      }\n    };\n    return SVGExtraState;\n  }();\n  exports.SVGGraphics = SVGGraphics = function SVGGraphicsClosure() {\n    function opListToTree(opList) {\n      var opTree = [];\n      var tmp = [];\n      var opListLen = opList.length;\n      for (var x = 0; x < opListLen; x++) {\n        if (opList[x].fn === 'save') {\n          opTree.push({\n            'fnId': 92,\n            'fn': 'group',\n            'items': []\n          });\n          tmp.push(opTree);\n          opTree = opTree[opTree.length - 1].items;\n          continue;\n        }\n        if (opList[x].fn === 'restore') {\n          opTree = tmp.pop();\n        } else {\n          opTree.push(opList[x]);\n        }\n      }\n      return opTree;\n    }\n    function pf(value) {\n      if (Number.isInteger(value)) {\n        return value.toString();\n      }\n      var s = value.toFixed(10);\n      var i = s.length - 1;\n      if (s[i] !== '0') {\n        return s;\n      }\n      do {\n        i--;\n      } while (s[i] === '0');\n      return s.substr(0, s[i] === '.' ? i : i + 1);\n    }\n    function pm(m) {\n      if (m[4] === 0 && m[5] === 0) {\n        if (m[1] === 0 && m[2] === 0) {\n          if (m[0] === 1 && m[3] === 1) {\n            return '';\n          }\n          return 'scale(' + pf(m[0]) + ' ' + pf(m[3]) + ')';\n        }\n        if (m[0] === m[3] && m[1] === -m[2]) {\n          var a = Math.acos(m[0]) * 180 / Math.PI;\n          return 'rotate(' + pf(a) + ')';\n        }\n      } else {\n        if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {\n          return 'translate(' + pf(m[4]) + ' ' + pf(m[5]) + ')';\n        }\n      }\n      return 'matrix(' + pf(m[0]) + ' ' + pf(m[1]) + ' ' + pf(m[2]) + ' ' + pf(m[3]) + ' ' + pf(m[4]) + ' ' + pf(m[5]) + ')';\n    }\n    function SVGGraphics(commonObjs, objs, forceDataSchema) {\n      this.svgFactory = new _dom_utils.DOMSVGFactory();\n      this.current = new SVGExtraState();\n      this.transformMatrix = _util.IDENTITY_MATRIX;\n      this.transformStack = [];\n      this.extraStack = [];\n      this.commonObjs = commonObjs;\n      this.objs = objs;\n      this.pendingClip = null;\n      this.pendingEOFill = false;\n      this.embedFonts = false;\n      this.embeddedFonts = Object.create(null);\n      this.cssStyle = null;\n      this.forceDataSchema = !!forceDataSchema;\n    }\n    var XML_NS = 'http://www.w3.org/XML/1998/namespace';\n    var XLINK_NS = 'http://www.w3.org/1999/xlink';\n    var LINE_CAP_STYLES = ['butt', 'round', 'square'];\n    var LINE_JOIN_STYLES = ['miter', 'round', 'bevel'];\n    var clipCount = 0;\n    var maskCount = 0;\n    SVGGraphics.prototype = {\n      save: function SVGGraphics_save() {\n        this.transformStack.push(this.transformMatrix);\n        var old = this.current;\n        this.extraStack.push(old);\n        this.current = old.clone();\n      },\n      restore: function SVGGraphics_restore() {\n        this.transformMatrix = this.transformStack.pop();\n        this.current = this.extraStack.pop();\n        this.pendingClip = null;\n        this.tgrp = null;\n      },\n      group: function SVGGraphics_group(items) {\n        this.save();\n        this.executeOpTree(items);\n        this.restore();\n      },\n      loadDependencies: function SVGGraphics_loadDependencies(operatorList) {\n        var _this = this;\n\n        var fnArray = operatorList.fnArray;\n        var fnArrayLen = fnArray.length;\n        var argsArray = operatorList.argsArray;\n        for (var i = 0; i < fnArrayLen; i++) {\n          if (_util.OPS.dependency === fnArray[i]) {\n            var deps = argsArray[i];\n            for (var n = 0, nn = deps.length; n < nn; n++) {\n              var obj = deps[n];\n              var common = obj.substring(0, 2) === 'g_';\n              var promise;\n              if (common) {\n                promise = new Promise(function (resolve) {\n                  _this.commonObjs.get(obj, resolve);\n                });\n              } else {\n                promise = new Promise(function (resolve) {\n                  _this.objs.get(obj, resolve);\n                });\n              }\n              this.current.dependencies.push(promise);\n            }\n          }\n        }\n        return Promise.all(this.current.dependencies);\n      },\n      transform: function SVGGraphics_transform(a, b, c, d, e, f) {\n        var transformMatrix = [a, b, c, d, e, f];\n        this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix);\n        this.tgrp = null;\n      },\n      getSVG: function SVGGraphics_getSVG(operatorList, viewport) {\n        var _this2 = this;\n\n        this.viewport = viewport;\n        var svgElement = this._initialize(viewport);\n        return this.loadDependencies(operatorList).then(function () {\n          _this2.transformMatrix = _util.IDENTITY_MATRIX;\n          var opTree = _this2.convertOpList(operatorList);\n          _this2.executeOpTree(opTree);\n          return svgElement;\n        });\n      },\n      convertOpList: function SVGGraphics_convertOpList(operatorList) {\n        var argsArray = operatorList.argsArray;\n        var fnArray = operatorList.fnArray;\n        var fnArrayLen = fnArray.length;\n        var REVOPS = [];\n        var opList = [];\n        for (var op in _util.OPS) {\n          REVOPS[_util.OPS[op]] = op;\n        }\n        for (var x = 0; x < fnArrayLen; x++) {\n          var fnId = fnArray[x];\n          opList.push({\n            'fnId': fnId,\n            'fn': REVOPS[fnId],\n            'args': argsArray[x]\n          });\n        }\n        return opListToTree(opList);\n      },\n      executeOpTree: function SVGGraphics_executeOpTree(opTree) {\n        var opTreeLen = opTree.length;\n        for (var x = 0; x < opTreeLen; x++) {\n          var fn = opTree[x].fn;\n          var fnId = opTree[x].fnId;\n          var args = opTree[x].args;\n          switch (fnId | 0) {\n            case _util.OPS.beginText:\n              this.beginText();\n              break;\n            case _util.OPS.setLeading:\n              this.setLeading(args);\n              break;\n            case _util.OPS.setLeadingMoveText:\n              this.setLeadingMoveText(args[0], args[1]);\n              break;\n            case _util.OPS.setFont:\n              this.setFont(args);\n              break;\n            case _util.OPS.showText:\n              this.showText(args[0]);\n              break;\n            case _util.OPS.showSpacedText:\n              this.showText(args[0]);\n              break;\n            case _util.OPS.endText:\n              this.endText();\n              break;\n            case _util.OPS.moveText:\n              this.moveText(args[0], args[1]);\n              break;\n            case _util.OPS.setCharSpacing:\n              this.setCharSpacing(args[0]);\n              break;\n            case _util.OPS.setWordSpacing:\n              this.setWordSpacing(args[0]);\n              break;\n            case _util.OPS.setHScale:\n              this.setHScale(args[0]);\n              break;\n            case _util.OPS.setTextMatrix:\n              this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n              break;\n            case _util.OPS.setTextRise:\n              this.setTextRise(args[0]);\n              break;\n            case _util.OPS.setLineWidth:\n              this.setLineWidth(args[0]);\n              break;\n            case _util.OPS.setLineJoin:\n              this.setLineJoin(args[0]);\n              break;\n            case _util.OPS.setLineCap:\n              this.setLineCap(args[0]);\n              break;\n            case _util.OPS.setMiterLimit:\n              this.setMiterLimit(args[0]);\n              break;\n            case _util.OPS.setFillRGBColor:\n              this.setFillRGBColor(args[0], args[1], args[2]);\n              break;\n            case _util.OPS.setStrokeRGBColor:\n              this.setStrokeRGBColor(args[0], args[1], args[2]);\n              break;\n            case _util.OPS.setDash:\n              this.setDash(args[0], args[1]);\n              break;\n            case _util.OPS.setGState:\n              this.setGState(args[0]);\n              break;\n            case _util.OPS.fill:\n              this.fill();\n              break;\n            case _util.OPS.eoFill:\n              this.eoFill();\n              break;\n            case _util.OPS.stroke:\n              this.stroke();\n              break;\n            case _util.OPS.fillStroke:\n              this.fillStroke();\n              break;\n            case _util.OPS.eoFillStroke:\n              this.eoFillStroke();\n              break;\n            case _util.OPS.clip:\n              this.clip('nonzero');\n              break;\n            case _util.OPS.eoClip:\n              this.clip('evenodd');\n              break;\n            case _util.OPS.paintSolidColorImageMask:\n              this.paintSolidColorImageMask();\n              break;\n            case _util.OPS.paintJpegXObject:\n              this.paintJpegXObject(args[0], args[1], args[2]);\n              break;\n            case _util.OPS.paintImageXObject:\n              this.paintImageXObject(args[0]);\n              break;\n            case _util.OPS.paintInlineImageXObject:\n              this.paintInlineImageXObject(args[0]);\n              break;\n            case _util.OPS.paintImageMaskXObject:\n              this.paintImageMaskXObject(args[0]);\n              break;\n            case _util.OPS.paintFormXObjectBegin:\n              this.paintFormXObjectBegin(args[0], args[1]);\n              break;\n            case _util.OPS.paintFormXObjectEnd:\n              this.paintFormXObjectEnd();\n              break;\n            case _util.OPS.closePath:\n              this.closePath();\n              break;\n            case _util.OPS.closeStroke:\n              this.closeStroke();\n              break;\n            case _util.OPS.closeFillStroke:\n              this.closeFillStroke();\n              break;\n            case _util.OPS.nextLine:\n              this.nextLine();\n              break;\n            case _util.OPS.transform:\n              this.transform(args[0], args[1], args[2], args[3], args[4], args[5]);\n              break;\n            case _util.OPS.constructPath:\n              this.constructPath(args[0], args[1]);\n              break;\n            case _util.OPS.endPath:\n              this.endPath();\n              break;\n            case 92:\n              this.group(opTree[x].items);\n              break;\n            default:\n              (0, _util.warn)('Unimplemented operator ' + fn);\n              break;\n          }\n        }\n      },\n      setWordSpacing: function SVGGraphics_setWordSpacing(wordSpacing) {\n        this.current.wordSpacing = wordSpacing;\n      },\n      setCharSpacing: function SVGGraphics_setCharSpacing(charSpacing) {\n        this.current.charSpacing = charSpacing;\n      },\n      nextLine: function SVGGraphics_nextLine() {\n        this.moveText(0, this.current.leading);\n      },\n      setTextMatrix: function SVGGraphics_setTextMatrix(a, b, c, d, e, f) {\n        var current = this.current;\n        this.current.textMatrix = this.current.lineMatrix = [a, b, c, d, e, f];\n        this.current.x = this.current.lineX = 0;\n        this.current.y = this.current.lineY = 0;\n        current.xcoords = [];\n        current.tspan = this.svgFactory.createElement('svg:tspan');\n        current.tspan.setAttributeNS(null, 'font-family', current.fontFamily);\n        current.tspan.setAttributeNS(null, 'font-size', pf(current.fontSize) + 'px');\n        current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n        current.txtElement = this.svgFactory.createElement('svg:text');\n        current.txtElement.appendChild(current.tspan);\n      },\n      beginText: function SVGGraphics_beginText() {\n        this.current.x = this.current.lineX = 0;\n        this.current.y = this.current.lineY = 0;\n        this.current.textMatrix = _util.IDENTITY_MATRIX;\n        this.current.lineMatrix = _util.IDENTITY_MATRIX;\n        this.current.tspan = this.svgFactory.createElement('svg:tspan');\n        this.current.txtElement = this.svgFactory.createElement('svg:text');\n        this.current.txtgrp = this.svgFactory.createElement('svg:g');\n        this.current.xcoords = [];\n      },\n      moveText: function SVGGraphics_moveText(x, y) {\n        var current = this.current;\n        this.current.x = this.current.lineX += x;\n        this.current.y = this.current.lineY += y;\n        current.xcoords = [];\n        current.tspan = this.svgFactory.createElement('svg:tspan');\n        current.tspan.setAttributeNS(null, 'font-family', current.fontFamily);\n        current.tspan.setAttributeNS(null, 'font-size', pf(current.fontSize) + 'px');\n        current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n      },\n      showText: function SVGGraphics_showText(glyphs) {\n        var current = this.current;\n        var font = current.font;\n        var fontSize = current.fontSize;\n        if (fontSize === 0) {\n          return;\n        }\n        var charSpacing = current.charSpacing;\n        var wordSpacing = current.wordSpacing;\n        var fontDirection = current.fontDirection;\n        var textHScale = current.textHScale * fontDirection;\n        var glyphsLength = glyphs.length;\n        var vertical = font.vertical;\n        var widthAdvanceScale = fontSize * current.fontMatrix[0];\n        var x = 0,\n            i;\n        for (i = 0; i < glyphsLength; ++i) {\n          var glyph = glyphs[i];\n          if (glyph === null) {\n            x += fontDirection * wordSpacing;\n            continue;\n          } else if ((0, _util.isNum)(glyph)) {\n            x += -glyph * fontSize * 0.001;\n            continue;\n          }\n          var width = glyph.width;\n          var character = glyph.fontChar;\n          var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n          var charWidth = width * widthAdvanceScale + spacing * fontDirection;\n          if (!glyph.isInFont && !font.missingFile) {\n            x += charWidth;\n            continue;\n          }\n          current.xcoords.push(current.x + x * textHScale);\n          current.tspan.textContent += character;\n          x += charWidth;\n        }\n        if (vertical) {\n          current.y -= x * textHScale;\n        } else {\n          current.x += x * textHScale;\n        }\n        current.tspan.setAttributeNS(null, 'x', current.xcoords.map(pf).join(' '));\n        current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n        current.tspan.setAttributeNS(null, 'font-family', current.fontFamily);\n        current.tspan.setAttributeNS(null, 'font-size', pf(current.fontSize) + 'px');\n        if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {\n          current.tspan.setAttributeNS(null, 'font-style', current.fontStyle);\n        }\n        if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {\n          current.tspan.setAttributeNS(null, 'font-weight', current.fontWeight);\n        }\n        if (current.fillColor !== SVG_DEFAULTS.fillColor) {\n          current.tspan.setAttributeNS(null, 'fill', current.fillColor);\n        }\n        var textMatrix = current.textMatrix;\n        if (current.textRise !== 0) {\n          textMatrix = textMatrix.slice();\n          textMatrix[5] += current.textRise;\n        }\n        current.txtElement.setAttributeNS(null, 'transform', pm(textMatrix) + ' scale(1, -1)');\n        current.txtElement.setAttributeNS(XML_NS, 'xml:space', 'preserve');\n        current.txtElement.appendChild(current.tspan);\n        current.txtgrp.appendChild(current.txtElement);\n        this._ensureTransformGroup().appendChild(current.txtElement);\n      },\n      setLeadingMoveText: function SVGGraphics_setLeadingMoveText(x, y) {\n        this.setLeading(-y);\n        this.moveText(x, y);\n      },\n      addFontStyle: function SVGGraphics_addFontStyle(fontObj) {\n        if (!this.cssStyle) {\n          this.cssStyle = this.svgFactory.createElement('svg:style');\n          this.cssStyle.setAttributeNS(null, 'type', 'text/css');\n          this.defs.appendChild(this.cssStyle);\n        }\n        var url = (0, _util.createObjectURL)(fontObj.data, fontObj.mimetype, this.forceDataSchema);\n        this.cssStyle.textContent += '@font-face { font-family: \"' + fontObj.loadedName + '\";' + ' src: url(' + url + '); }\\n';\n      },\n      setFont: function SVGGraphics_setFont(details) {\n        var current = this.current;\n        var fontObj = this.commonObjs.get(details[0]);\n        var size = details[1];\n        this.current.font = fontObj;\n        if (this.embedFonts && fontObj.data && !this.embeddedFonts[fontObj.loadedName]) {\n          this.addFontStyle(fontObj);\n          this.embeddedFonts[fontObj.loadedName] = fontObj;\n        }\n        current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;\n        var bold = fontObj.black ? fontObj.bold ? 'bolder' : 'bold' : fontObj.bold ? 'bold' : 'normal';\n        var italic = fontObj.italic ? 'italic' : 'normal';\n        if (size < 0) {\n          size = -size;\n          current.fontDirection = -1;\n        } else {\n          current.fontDirection = 1;\n        }\n        current.fontSize = size;\n        current.fontFamily = fontObj.loadedName;\n        current.fontWeight = bold;\n        current.fontStyle = italic;\n        current.tspan = this.svgFactory.createElement('svg:tspan');\n        current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n        current.xcoords = [];\n      },\n      endText: function SVGGraphics_endText() {},\n      setLineWidth: function SVGGraphics_setLineWidth(width) {\n        this.current.lineWidth = width;\n      },\n      setLineCap: function SVGGraphics_setLineCap(style) {\n        this.current.lineCap = LINE_CAP_STYLES[style];\n      },\n      setLineJoin: function SVGGraphics_setLineJoin(style) {\n        this.current.lineJoin = LINE_JOIN_STYLES[style];\n      },\n      setMiterLimit: function SVGGraphics_setMiterLimit(limit) {\n        this.current.miterLimit = limit;\n      },\n      setStrokeAlpha: function SVGGraphics_setStrokeAlpha(strokeAlpha) {\n        this.current.strokeAlpha = strokeAlpha;\n      },\n      setStrokeRGBColor: function SVGGraphics_setStrokeRGBColor(r, g, b) {\n        var color = _util.Util.makeCssRgb(r, g, b);\n        this.current.strokeColor = color;\n      },\n      setFillAlpha: function SVGGraphics_setFillAlpha(fillAlpha) {\n        this.current.fillAlpha = fillAlpha;\n      },\n      setFillRGBColor: function SVGGraphics_setFillRGBColor(r, g, b) {\n        var color = _util.Util.makeCssRgb(r, g, b);\n        this.current.fillColor = color;\n        this.current.tspan = this.svgFactory.createElement('svg:tspan');\n        this.current.xcoords = [];\n      },\n      setDash: function SVGGraphics_setDash(dashArray, dashPhase) {\n        this.current.dashArray = dashArray;\n        this.current.dashPhase = dashPhase;\n      },\n      constructPath: function SVGGraphics_constructPath(ops, args) {\n        var current = this.current;\n        var x = current.x,\n            y = current.y;\n        current.path = this.svgFactory.createElement('svg:path');\n        var d = [];\n        var opLength = ops.length;\n        for (var i = 0, j = 0; i < opLength; i++) {\n          switch (ops[i] | 0) {\n            case _util.OPS.rectangle:\n              x = args[j++];\n              y = args[j++];\n              var width = args[j++];\n              var height = args[j++];\n              var xw = x + width;\n              var yh = y + height;\n              d.push('M', pf(x), pf(y), 'L', pf(xw), pf(y), 'L', pf(xw), pf(yh), 'L', pf(x), pf(yh), 'Z');\n              break;\n            case _util.OPS.moveTo:\n              x = args[j++];\n              y = args[j++];\n              d.push('M', pf(x), pf(y));\n              break;\n            case _util.OPS.lineTo:\n              x = args[j++];\n              y = args[j++];\n              d.push('L', pf(x), pf(y));\n              break;\n            case _util.OPS.curveTo:\n              x = args[j + 4];\n              y = args[j + 5];\n              d.push('C', pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y));\n              j += 6;\n              break;\n            case _util.OPS.curveTo2:\n              x = args[j + 2];\n              y = args[j + 3];\n              d.push('C', pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]));\n              j += 4;\n              break;\n            case _util.OPS.curveTo3:\n              x = args[j + 2];\n              y = args[j + 3];\n              d.push('C', pf(args[j]), pf(args[j + 1]), pf(x), pf(y), pf(x), pf(y));\n              j += 4;\n              break;\n            case _util.OPS.closePath:\n              d.push('Z');\n              break;\n          }\n        }\n        current.path.setAttributeNS(null, 'd', d.join(' '));\n        current.path.setAttributeNS(null, 'fill', 'none');\n        this._ensureTransformGroup().appendChild(current.path);\n        current.element = current.path;\n        current.setCurrentPoint(x, y);\n      },\n      endPath: function SVGGraphics_endPath() {\n        if (!this.pendingClip) {\n          return;\n        }\n        var current = this.current;\n        var clipId = 'clippath' + clipCount;\n        clipCount++;\n        var clipPath = this.svgFactory.createElement('svg:clipPath');\n        clipPath.setAttributeNS(null, 'id', clipId);\n        clipPath.setAttributeNS(null, 'transform', pm(this.transformMatrix));\n        var clipElement = current.element.cloneNode();\n        if (this.pendingClip === 'evenodd') {\n          clipElement.setAttributeNS(null, 'clip-rule', 'evenodd');\n        } else {\n          clipElement.setAttributeNS(null, 'clip-rule', 'nonzero');\n        }\n        this.pendingClip = null;\n        clipPath.appendChild(clipElement);\n        this.defs.appendChild(clipPath);\n        if (current.activeClipUrl) {\n          current.clipGroup = null;\n          this.extraStack.forEach(function (prev) {\n            prev.clipGroup = null;\n          });\n        }\n        current.activeClipUrl = 'url(#' + clipId + ')';\n        this.tgrp = null;\n      },\n      clip: function SVGGraphics_clip(type) {\n        this.pendingClip = type;\n      },\n      closePath: function SVGGraphics_closePath() {\n        var current = this.current;\n        var d = current.path.getAttributeNS(null, 'd');\n        d += 'Z';\n        current.path.setAttributeNS(null, 'd', d);\n      },\n      setLeading: function SVGGraphics_setLeading(leading) {\n        this.current.leading = -leading;\n      },\n      setTextRise: function SVGGraphics_setTextRise(textRise) {\n        this.current.textRise = textRise;\n      },\n      setHScale: function SVGGraphics_setHScale(scale) {\n        this.current.textHScale = scale / 100;\n      },\n      setGState: function SVGGraphics_setGState(states) {\n        for (var i = 0, ii = states.length; i < ii; i++) {\n          var state = states[i];\n          var key = state[0];\n          var value = state[1];\n          switch (key) {\n            case 'LW':\n              this.setLineWidth(value);\n              break;\n            case 'LC':\n              this.setLineCap(value);\n              break;\n            case 'LJ':\n              this.setLineJoin(value);\n              break;\n            case 'ML':\n              this.setMiterLimit(value);\n              break;\n            case 'D':\n              this.setDash(value[0], value[1]);\n              break;\n            case 'Font':\n              this.setFont(value);\n              break;\n            case 'CA':\n              this.setStrokeAlpha(value);\n              break;\n            case 'ca':\n              this.setFillAlpha(value);\n              break;\n            default:\n              (0, _util.warn)('Unimplemented graphic state ' + key);\n              break;\n          }\n        }\n      },\n      fill: function SVGGraphics_fill() {\n        var current = this.current;\n        current.element.setAttributeNS(null, 'fill', current.fillColor);\n        current.element.setAttributeNS(null, 'fill-opacity', current.fillAlpha);\n      },\n      stroke: function SVGGraphics_stroke() {\n        var current = this.current;\n        current.element.setAttributeNS(null, 'stroke', current.strokeColor);\n        current.element.setAttributeNS(null, 'stroke-opacity', current.strokeAlpha);\n        current.element.setAttributeNS(null, 'stroke-miterlimit', pf(current.miterLimit));\n        current.element.setAttributeNS(null, 'stroke-linecap', current.lineCap);\n        current.element.setAttributeNS(null, 'stroke-linejoin', current.lineJoin);\n        current.element.setAttributeNS(null, 'stroke-width', pf(current.lineWidth) + 'px');\n        current.element.setAttributeNS(null, 'stroke-dasharray', current.dashArray.map(pf).join(' '));\n        current.element.setAttributeNS(null, 'stroke-dashoffset', pf(current.dashPhase) + 'px');\n        current.element.setAttributeNS(null, 'fill', 'none');\n      },\n      eoFill: function SVGGraphics_eoFill() {\n        this.current.element.setAttributeNS(null, 'fill-rule', 'evenodd');\n        this.fill();\n      },\n      fillStroke: function SVGGraphics_fillStroke() {\n        this.stroke();\n        this.fill();\n      },\n      eoFillStroke: function SVGGraphics_eoFillStroke() {\n        this.current.element.setAttributeNS(null, 'fill-rule', 'evenodd');\n        this.fillStroke();\n      },\n      closeStroke: function SVGGraphics_closeStroke() {\n        this.closePath();\n        this.stroke();\n      },\n      closeFillStroke: function SVGGraphics_closeFillStroke() {\n        this.closePath();\n        this.fillStroke();\n      },\n      paintSolidColorImageMask: function SVGGraphics_paintSolidColorImageMask() {\n        var current = this.current;\n        var rect = this.svgFactory.createElement('svg:rect');\n        rect.setAttributeNS(null, 'x', '0');\n        rect.setAttributeNS(null, 'y', '0');\n        rect.setAttributeNS(null, 'width', '1px');\n        rect.setAttributeNS(null, 'height', '1px');\n        rect.setAttributeNS(null, 'fill', current.fillColor);\n        this._ensureTransformGroup().appendChild(rect);\n      },\n      paintJpegXObject: function SVGGraphics_paintJpegXObject(objId, w, h) {\n        var imgObj = this.objs.get(objId);\n        var imgEl = this.svgFactory.createElement('svg:image');\n        imgEl.setAttributeNS(XLINK_NS, 'xlink:href', imgObj.src);\n        imgEl.setAttributeNS(null, 'width', pf(w));\n        imgEl.setAttributeNS(null, 'height', pf(h));\n        imgEl.setAttributeNS(null, 'x', '0');\n        imgEl.setAttributeNS(null, 'y', pf(-h));\n        imgEl.setAttributeNS(null, 'transform', 'scale(' + pf(1 / w) + ' ' + pf(-1 / h) + ')');\n        this._ensureTransformGroup().appendChild(imgEl);\n      },\n      paintImageXObject: function SVGGraphics_paintImageXObject(objId) {\n        var imgData = this.objs.get(objId);\n        if (!imgData) {\n          (0, _util.warn)('Dependent image isn\\'t ready yet');\n          return;\n        }\n        this.paintInlineImageXObject(imgData);\n      },\n      paintInlineImageXObject: function SVGGraphics_paintInlineImageXObject(imgData, mask) {\n        var width = imgData.width;\n        var height = imgData.height;\n        var imgSrc = convertImgDataToPng(imgData, this.forceDataSchema);\n        var cliprect = this.svgFactory.createElement('svg:rect');\n        cliprect.setAttributeNS(null, 'x', '0');\n        cliprect.setAttributeNS(null, 'y', '0');\n        cliprect.setAttributeNS(null, 'width', pf(width));\n        cliprect.setAttributeNS(null, 'height', pf(height));\n        this.current.element = cliprect;\n        this.clip('nonzero');\n        var imgEl = this.svgFactory.createElement('svg:image');\n        imgEl.setAttributeNS(XLINK_NS, 'xlink:href', imgSrc);\n        imgEl.setAttributeNS(null, 'x', '0');\n        imgEl.setAttributeNS(null, 'y', pf(-height));\n        imgEl.setAttributeNS(null, 'width', pf(width) + 'px');\n        imgEl.setAttributeNS(null, 'height', pf(height) + 'px');\n        imgEl.setAttributeNS(null, 'transform', 'scale(' + pf(1 / width) + ' ' + pf(-1 / height) + ')');\n        if (mask) {\n          mask.appendChild(imgEl);\n        } else {\n          this._ensureTransformGroup().appendChild(imgEl);\n        }\n      },\n      paintImageMaskXObject: function SVGGraphics_paintImageMaskXObject(imgData) {\n        var current = this.current;\n        var width = imgData.width;\n        var height = imgData.height;\n        var fillColor = current.fillColor;\n        current.maskId = 'mask' + maskCount++;\n        var mask = this.svgFactory.createElement('svg:mask');\n        mask.setAttributeNS(null, 'id', current.maskId);\n        var rect = this.svgFactory.createElement('svg:rect');\n        rect.setAttributeNS(null, 'x', '0');\n        rect.setAttributeNS(null, 'y', '0');\n        rect.setAttributeNS(null, 'width', pf(width));\n        rect.setAttributeNS(null, 'height', pf(height));\n        rect.setAttributeNS(null, 'fill', fillColor);\n        rect.setAttributeNS(null, 'mask', 'url(#' + current.maskId + ')');\n        this.defs.appendChild(mask);\n        this._ensureTransformGroup().appendChild(rect);\n        this.paintInlineImageXObject(imgData, mask);\n      },\n      paintFormXObjectBegin: function SVGGraphics_paintFormXObjectBegin(matrix, bbox) {\n        if (Array.isArray(matrix) && matrix.length === 6) {\n          this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]);\n        }\n        if (Array.isArray(bbox) && bbox.length === 4) {\n          var width = bbox[2] - bbox[0];\n          var height = bbox[3] - bbox[1];\n          var cliprect = this.svgFactory.createElement('svg:rect');\n          cliprect.setAttributeNS(null, 'x', bbox[0]);\n          cliprect.setAttributeNS(null, 'y', bbox[1]);\n          cliprect.setAttributeNS(null, 'width', pf(width));\n          cliprect.setAttributeNS(null, 'height', pf(height));\n          this.current.element = cliprect;\n          this.clip('nonzero');\n          this.endPath();\n        }\n      },\n      paintFormXObjectEnd: function SVGGraphics_paintFormXObjectEnd() {},\n      _initialize: function _initialize(viewport) {\n        var svg = this.svgFactory.create(viewport.width, viewport.height);\n        var definitions = this.svgFactory.createElement('svg:defs');\n        svg.appendChild(definitions);\n        this.defs = definitions;\n        var rootGroup = this.svgFactory.createElement('svg:g');\n        rootGroup.setAttributeNS(null, 'transform', pm(viewport.transform));\n        svg.appendChild(rootGroup);\n        this.svg = rootGroup;\n        return svg;\n      },\n\n      _ensureClipGroup: function SVGGraphics_ensureClipGroup() {\n        if (!this.current.clipGroup) {\n          var clipGroup = this.svgFactory.createElement('svg:g');\n          clipGroup.setAttributeNS(null, 'clip-path', this.current.activeClipUrl);\n          this.svg.appendChild(clipGroup);\n          this.current.clipGroup = clipGroup;\n        }\n        return this.current.clipGroup;\n      },\n      _ensureTransformGroup: function SVGGraphics_ensureTransformGroup() {\n        if (!this.tgrp) {\n          this.tgrp = this.svgFactory.createElement('svg:g');\n          this.tgrp.setAttributeNS(null, 'transform', pm(this.transformMatrix));\n          if (this.current.activeClipUrl) {\n            this._ensureClipGroup().appendChild(this.tgrp);\n          } else {\n            this.svg.appendChild(this.tgrp);\n          }\n        }\n        return this.tgrp;\n      }\n    };\n    return SVGGraphics;\n  }();\n}\nexports.SVGGraphics = SVGGraphics;\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar pdfjsVersion = '1.10.100';\nvar pdfjsBuild = 'ea29ec83';\nvar pdfjsSharedUtil = __w_pdfjs_require__(0);\nvar pdfjsDisplayGlobal = __w_pdfjs_require__(134);\nvar pdfjsDisplayAPI = __w_pdfjs_require__(75);\nvar pdfjsDisplayTextLayer = __w_pdfjs_require__(89);\nvar pdfjsDisplayAnnotationLayer = __w_pdfjs_require__(88);\nvar pdfjsDisplayDOMUtils = __w_pdfjs_require__(17);\nvar pdfjsDisplaySVG = __w_pdfjs_require__(90);\n{\n  if (pdfjsSharedUtil.isNodeJS()) {\n    var PDFNodeStream = __w_pdfjs_require__(160).PDFNodeStream;\n    pdfjsDisplayAPI.setPDFNetworkStreamClass(PDFNodeStream);\n  } else if (typeof Response !== 'undefined' && 'body' in Response.prototype && typeof ReadableStream !== 'undefined') {\n    var PDFFetchStream = __w_pdfjs_require__(161).PDFFetchStream;\n    pdfjsDisplayAPI.setPDFNetworkStreamClass(PDFFetchStream);\n  } else {\n    var PDFNetworkStream = __w_pdfjs_require__(162).PDFNetworkStream;\n    pdfjsDisplayAPI.setPDFNetworkStreamClass(PDFNetworkStream);\n  }\n}\nexports.PDFJS = pdfjsDisplayGlobal.PDFJS;\nexports.build = pdfjsDisplayAPI.build;\nexports.version = pdfjsDisplayAPI.version;\nexports.getDocument = pdfjsDisplayAPI.getDocument;\nexports.LoopbackPort = pdfjsDisplayAPI.LoopbackPort;\nexports.PDFDataRangeTransport = pdfjsDisplayAPI.PDFDataRangeTransport;\nexports.PDFWorker = pdfjsDisplayAPI.PDFWorker;\nexports.renderTextLayer = pdfjsDisplayTextLayer.renderTextLayer;\nexports.AnnotationLayer = pdfjsDisplayAnnotationLayer.AnnotationLayer;\nexports.CustomStyle = pdfjsDisplayDOMUtils.CustomStyle;\nexports.createPromiseCapability = pdfjsSharedUtil.createPromiseCapability;\nexports.PasswordResponses = pdfjsSharedUtil.PasswordResponses;\nexports.InvalidPDFException = pdfjsSharedUtil.InvalidPDFException;\nexports.MissingPDFException = pdfjsSharedUtil.MissingPDFException;\nexports.SVGGraphics = pdfjsDisplaySVG.SVGGraphics;\nexports.NativeImageDecoding = pdfjsSharedUtil.NativeImageDecoding;\nexports.UnexpectedResponseException = pdfjsSharedUtil.UnexpectedResponseException;\nexports.OPS = pdfjsSharedUtil.OPS;\nexports.UNSUPPORTED_FEATURES = pdfjsSharedUtil.UNSUPPORTED_FEATURES;\nexports.isValidUrl = pdfjsDisplayDOMUtils.isValidUrl;\nexports.createValidAbsoluteUrl = pdfjsSharedUtil.createValidAbsoluteUrl;\nexports.createObjectURL = pdfjsSharedUtil.createObjectURL;\nexports.removeNullCharacters = pdfjsSharedUtil.removeNullCharacters;\nexports.shadow = pdfjsSharedUtil.shadow;\nexports.createBlob = pdfjsSharedUtil.createBlob;\nexports.RenderingCancelledException = pdfjsDisplayDOMUtils.RenderingCancelledException;\nexports.getFilenameFromUrl = pdfjsDisplayDOMUtils.getFilenameFromUrl;\nexports.addLinkAttributes = pdfjsDisplayDOMUtils.addLinkAttributes;\nexports.StatTimer = pdfjsSharedUtil.StatTimer;\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\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 && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nif (typeof PDFJS === 'undefined' || !PDFJS.compatibilityChecked) {\n  var globalScope = __w_pdfjs_require__(22);\n  var userAgent = typeof navigator !== 'undefined' && navigator.userAgent || '';\n  var isAndroid = /Android/.test(userAgent);\n  var isAndroidPre3 = /Android\\s[0-2][^\\d]/.test(userAgent);\n  var isAndroidPre5 = /Android\\s[0-4][^\\d]/.test(userAgent);\n  var isChrome = userAgent.indexOf('Chrom') >= 0;\n  var isChromeWithRangeBug = /Chrome\\/(39|40)\\./.test(userAgent);\n  var isIOSChrome = userAgent.indexOf('CriOS') >= 0;\n  var isIE = userAgent.indexOf('Trident') >= 0;\n  var isIOS = /\\b(iPad|iPhone|iPod)(?=;)/.test(userAgent);\n  var isOpera = userAgent.indexOf('Opera') >= 0;\n  var isSafari = /Safari\\//.test(userAgent) && !/(Chrome\\/|Android\\s)/.test(userAgent);\n  var hasDOM = (typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' && (typeof document === 'undefined' ? 'undefined' : _typeof(document)) === 'object';\n  if (typeof PDFJS === 'undefined') {\n    globalScope.PDFJS = {};\n  }\n  PDFJS.compatibilityChecked = true;\n  (function checkTypedArrayCompatibility() {\n    if (typeof Uint8ClampedArray === 'undefined') {\n      globalScope.Uint8ClampedArray = __w_pdfjs_require__(93);\n    }\n    if (typeof Uint8Array !== 'undefined') {\n      if (typeof Uint8Array.prototype.subarray === 'undefined') {\n        Uint8Array.prototype.subarray = function subarray(start, end) {\n          return new Uint8Array(this.slice(start, end));\n        };\n        Float32Array.prototype.subarray = function subarray(start, end) {\n          return new Float32Array(this.slice(start, end));\n        };\n      }\n      if (typeof Float64Array === 'undefined') {\n        globalScope.Float64Array = Float32Array;\n      }\n      return;\n    }\n    function subarray(start, end) {\n      return new TypedArray(this.slice(start, end));\n    }\n    function setArrayOffset(array, offset) {\n      if (arguments.length < 2) {\n        offset = 0;\n      }\n      for (var i = 0, n = array.length; i < n; ++i, ++offset) {\n        this[offset] = array[i] & 0xFF;\n      }\n    }\n    function Uint32ArrayView(buffer, length) {\n      this.buffer = buffer;\n      this.byteLength = buffer.length;\n      this.length = length;\n      ensureUint32ArrayViewProps(this.length);\n    }\n    Uint32ArrayView.prototype = Object.create(null);\n    var uint32ArrayViewSetters = 0;\n    function createUint32ArrayProp(index) {\n      return {\n        get: function get() {\n          var buffer = this.buffer,\n              offset = index << 2;\n          return (buffer[offset] | buffer[offset + 1] << 8 | buffer[offset + 2] << 16 | buffer[offset + 3] << 24) >>> 0;\n        },\n        set: function set(value) {\n          var buffer = this.buffer,\n              offset = index << 2;\n          buffer[offset] = value & 255;\n          buffer[offset + 1] = value >> 8 & 255;\n          buffer[offset + 2] = value >> 16 & 255;\n          buffer[offset + 3] = value >>> 24 & 255;\n        }\n      };\n    }\n    function ensureUint32ArrayViewProps(length) {\n      while (uint32ArrayViewSetters < length) {\n        Object.defineProperty(Uint32ArrayView.prototype, uint32ArrayViewSetters, createUint32ArrayProp(uint32ArrayViewSetters));\n        uint32ArrayViewSetters++;\n      }\n    }\n    function TypedArray(arg1) {\n      var result, i, n;\n      if (typeof arg1 === 'number') {\n        result = [];\n        for (i = 0; i < arg1; ++i) {\n          result[i] = 0;\n        }\n      } else if ('slice' in arg1) {\n        result = arg1.slice(0);\n      } else {\n        result = [];\n        for (i = 0, n = arg1.length; i < n; ++i) {\n          result[i] = arg1[i];\n        }\n      }\n      result.subarray = subarray;\n      result.buffer = result;\n      result.byteLength = result.length;\n      result.set = setArrayOffset;\n      if ((typeof arg1 === 'undefined' ? 'undefined' : _typeof(arg1)) === 'object' && arg1.buffer) {\n        result.buffer = arg1.buffer;\n      }\n      return result;\n    }\n    globalScope.Uint8Array = TypedArray;\n    globalScope.Int8Array = TypedArray;\n    globalScope.Int32Array = TypedArray;\n    globalScope.Uint16Array = TypedArray;\n    globalScope.Float32Array = TypedArray;\n    globalScope.Float64Array = TypedArray;\n    globalScope.Uint32Array = function () {\n      if (arguments.length === 3) {\n        if (arguments[1] !== 0) {\n          throw new Error('offset !== 0 is not supported');\n        }\n        return new Uint32ArrayView(arguments[0], arguments[2]);\n      }\n      return TypedArray.apply(this, arguments);\n    };\n  })();\n  (function canvasPixelArrayBuffer() {\n    if (!hasDOM || !window.CanvasPixelArray) {\n      return;\n    }\n    var cpaProto = window.CanvasPixelArray.prototype;\n    if ('buffer' in cpaProto) {\n      return;\n    }\n    Object.defineProperty(cpaProto, 'buffer', {\n      get: function get() {\n        return this;\n      },\n\n      enumerable: false,\n      configurable: true\n    });\n    Object.defineProperty(cpaProto, 'byteLength', {\n      get: function get() {\n        return this.length;\n      },\n\n      enumerable: false,\n      configurable: true\n    });\n  })();\n  (function normalizeURLObject() {\n    if (!globalScope.URL) {\n      globalScope.URL = globalScope.webkitURL;\n    }\n  })();\n  (function checkObjectDefinePropertyCompatibility() {\n    if (typeof Object.defineProperty !== 'undefined') {\n      var definePropertyPossible = true;\n      try {\n        if (hasDOM) {\n          Object.defineProperty(new Image(), 'id', { value: 'test' });\n        }\n        var Test = function Test() {};\n        Test.prototype = {\n          get id() {}\n        };\n        Object.defineProperty(new Test(), 'id', {\n          value: '',\n          configurable: true,\n          enumerable: true,\n          writable: false\n        });\n      } catch (e) {\n        definePropertyPossible = false;\n      }\n      if (definePropertyPossible) {\n        return;\n      }\n    }\n    Object.defineProperty = function objectDefineProperty(obj, name, def) {\n      delete obj[name];\n      if ('get' in def) {\n        obj.__defineGetter__(name, def['get']);\n      }\n      if ('set' in def) {\n        obj.__defineSetter__(name, def['set']);\n      }\n      if ('value' in def) {\n        obj.__defineSetter__(name, function objectDefinePropertySetter(value) {\n          this.__defineGetter__(name, function objectDefinePropertyGetter() {\n            return value;\n          });\n          return value;\n        });\n        obj[name] = def.value;\n      }\n    };\n  })();\n  (function checkXMLHttpRequestResponseCompatibility() {\n    if (typeof XMLHttpRequest === 'undefined') {\n      return;\n    }\n    var xhrPrototype = XMLHttpRequest.prototype;\n    var xhr = new XMLHttpRequest();\n    if (!('overrideMimeType' in xhr)) {\n      Object.defineProperty(xhrPrototype, 'overrideMimeType', {\n        value: function xmlHttpRequestOverrideMimeType(mimeType) {}\n      });\n    }\n    if ('responseType' in xhr) {\n      return;\n    }\n    Object.defineProperty(xhrPrototype, 'responseType', {\n      get: function xmlHttpRequestGetResponseType() {\n        return this._responseType || 'text';\n      },\n      set: function xmlHttpRequestSetResponseType(value) {\n        if (value === 'text' || value === 'arraybuffer') {\n          this._responseType = value;\n          if (value === 'arraybuffer' && typeof this.overrideMimeType === 'function') {\n            this.overrideMimeType('text/plain; charset=x-user-defined');\n          }\n        }\n      }\n    });\n    if (typeof VBArray !== 'undefined') {\n      Object.defineProperty(xhrPrototype, 'response', {\n        get: function xmlHttpRequestResponseGet() {\n          if (this.responseType === 'arraybuffer') {\n            return new Uint8Array(new VBArray(this.responseBody).toArray());\n          }\n          return this.responseText;\n        }\n      });\n      return;\n    }\n    Object.defineProperty(xhrPrototype, 'response', {\n      get: function xmlHttpRequestResponseGet() {\n        if (this.responseType !== 'arraybuffer') {\n          return this.responseText;\n        }\n        var text = this.responseText;\n        var i,\n            n = text.length;\n        var result = new Uint8Array(n);\n        for (i = 0; i < n; ++i) {\n          result[i] = text.charCodeAt(i) & 0xFF;\n        }\n        return result.buffer;\n      }\n    });\n  })();\n  (function checkWindowBtoaCompatibility() {\n    if ('btoa' in globalScope) {\n      return;\n    }\n    var digits = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n    globalScope.btoa = function (chars) {\n      var buffer = '';\n      var i, n;\n      for (i = 0, n = chars.length; i < n; i += 3) {\n        var b1 = chars.charCodeAt(i) & 0xFF;\n        var b2 = chars.charCodeAt(i + 1) & 0xFF;\n        var b3 = chars.charCodeAt(i + 2) & 0xFF;\n        var d1 = b1 >> 2,\n            d2 = (b1 & 3) << 4 | b2 >> 4;\n        var d3 = i + 1 < n ? (b2 & 0xF) << 2 | b3 >> 6 : 64;\n        var d4 = i + 2 < n ? b3 & 0x3F : 64;\n        buffer += digits.charAt(d1) + digits.charAt(d2) + digits.charAt(d3) + digits.charAt(d4);\n      }\n      return buffer;\n    };\n  })();\n  (function checkWindowAtobCompatibility() {\n    if ('atob' in globalScope) {\n      return;\n    }\n    var digits = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n    globalScope.atob = function (input) {\n      input = input.replace(/=+$/, '');\n      if (input.length % 4 === 1) {\n        throw new Error('bad atob input');\n      }\n      for (var bc = 0, bs, buffer, idx = 0, output = ''; buffer = input.charAt(idx++); ~buffer && (bs = bc % 4 ? bs * 64 + buffer : buffer, bc++ % 4) ? output += String.fromCharCode(255 & bs >> (-2 * bc & 6)) : 0) {\n        buffer = digits.indexOf(buffer);\n      }\n      return output;\n    };\n  })();\n  (function checkFunctionPrototypeBindCompatibility() {\n    if (typeof Function.prototype.bind !== 'undefined') {\n      return;\n    }\n    Function.prototype.bind = function functionPrototypeBind(obj) {\n      var fn = this,\n          headArgs = Array.prototype.slice.call(arguments, 1);\n      var bound = function functionPrototypeBindBound() {\n        var args = headArgs.concat(Array.prototype.slice.call(arguments));\n        return fn.apply(obj, args);\n      };\n      return bound;\n    };\n  })();\n  (function checkDatasetProperty() {\n    if (!hasDOM) {\n      return;\n    }\n    var div = document.createElement('div');\n    if ('dataset' in div) {\n      return;\n    }\n    Object.defineProperty(HTMLElement.prototype, 'dataset', {\n      get: function get() {\n        if (this._dataset) {\n          return this._dataset;\n        }\n        var dataset = {};\n        for (var j = 0, jj = this.attributes.length; j < jj; j++) {\n          var attribute = this.attributes[j];\n          if (attribute.name.substring(0, 5) !== 'data-') {\n            continue;\n          }\n          var key = attribute.name.substring(5).replace(/\\-([a-z])/g, function (all, ch) {\n            return ch.toUpperCase();\n          });\n          dataset[key] = attribute.value;\n        }\n        Object.defineProperty(this, '_dataset', {\n          value: dataset,\n          writable: false,\n          enumerable: false\n        });\n        return dataset;\n      },\n\n      enumerable: true\n    });\n  })();\n  (function checkClassListProperty() {\n    function changeList(element, itemName, add, remove) {\n      var s = element.className || '';\n      var list = s.split(/\\s+/g);\n      if (list[0] === '') {\n        list.shift();\n      }\n      var index = list.indexOf(itemName);\n      if (index < 0 && add) {\n        list.push(itemName);\n      }\n      if (index >= 0 && remove) {\n        list.splice(index, 1);\n      }\n      element.className = list.join(' ');\n      return index >= 0;\n    }\n    if (!hasDOM) {\n      return;\n    }\n    var div = document.createElement('div');\n    if ('classList' in div) {\n      return;\n    }\n    var classListPrototype = {\n      add: function add(name) {\n        changeList(this.element, name, true, false);\n      },\n      contains: function contains(name) {\n        return changeList(this.element, name, false, false);\n      },\n      remove: function remove(name) {\n        changeList(this.element, name, false, true);\n      },\n      toggle: function toggle(name) {\n        changeList(this.element, name, true, true);\n      }\n    };\n    Object.defineProperty(HTMLElement.prototype, 'classList', {\n      get: function get() {\n        if (this._classList) {\n          return this._classList;\n        }\n        var classList = Object.create(classListPrototype, {\n          element: {\n            value: this,\n            writable: false,\n            enumerable: true\n          }\n        });\n        Object.defineProperty(this, '_classList', {\n          value: classList,\n          writable: false,\n          enumerable: false\n        });\n        return classList;\n      },\n\n      enumerable: true\n    });\n  })();\n  (function checkWorkerConsoleCompatibility() {\n    if (typeof importScripts === 'undefined' || 'console' in globalScope) {\n      return;\n    }\n    var consoleTimer = {};\n    var workerConsole = {\n      log: function log() {\n        var args = Array.prototype.slice.call(arguments);\n        globalScope.postMessage({\n          targetName: 'main',\n          action: 'console_log',\n          data: args\n        });\n      },\n      error: function error() {\n        var args = Array.prototype.slice.call(arguments);\n        globalScope.postMessage({\n          targetName: 'main',\n          action: 'console_error',\n          data: args\n        });\n      },\n      time: function time(name) {\n        consoleTimer[name] = Date.now();\n      },\n      timeEnd: function timeEnd(name) {\n        var time = consoleTimer[name];\n        if (!time) {\n          throw new Error('Unknown timer name ' + name);\n        }\n        this.log('Timer:', name, Date.now() - time);\n      }\n    };\n    globalScope.console = workerConsole;\n  })();\n  (function checkConsoleCompatibility() {\n    if (!hasDOM) {\n      return;\n    }\n    if (!('console' in window)) {\n      window.console = {\n        log: function log() {},\n        error: function error() {},\n        warn: function warn() {}\n      };\n      return;\n    }\n    if (!('bind' in console.log)) {\n      console.log = function (fn) {\n        return function (msg) {\n          return fn(msg);\n        };\n      }(console.log);\n      console.error = function (fn) {\n        return function (msg) {\n          return fn(msg);\n        };\n      }(console.error);\n      console.warn = function (fn) {\n        return function (msg) {\n          return fn(msg);\n        };\n      }(console.warn);\n      return;\n    }\n  })();\n  (function checkOnClickCompatibility() {\n    function ignoreIfTargetDisabled(event) {\n      if (isDisabled(event.target)) {\n        event.stopPropagation();\n      }\n    }\n    function isDisabled(node) {\n      return node.disabled || node.parentNode && isDisabled(node.parentNode);\n    }\n    if (isOpera) {\n      document.addEventListener('click', ignoreIfTargetDisabled, true);\n    }\n  })();\n  (function checkOnBlobSupport() {\n    if (isIE || isIOSChrome) {\n      PDFJS.disableCreateObjectURL = true;\n    }\n  })();\n  (function checkNavigatorLanguage() {\n    if (typeof navigator === 'undefined') {\n      return;\n    }\n    if ('language' in navigator) {\n      return;\n    }\n    PDFJS.locale = navigator.userLanguage || 'en-US';\n  })();\n  (function checkRangeRequests() {\n    if (isSafari || isAndroidPre3 || isChromeWithRangeBug || isIOS) {\n      PDFJS.disableRange = true;\n      PDFJS.disableStream = true;\n    }\n  })();\n  (function checkHistoryManipulation() {\n    if (!hasDOM) {\n      return;\n    }\n    if (!history.pushState || isAndroidPre3) {\n      PDFJS.disableHistory = true;\n    }\n  })();\n  (function checkSetPresenceInImageData() {\n    if (!hasDOM) {\n      return;\n    }\n    if (window.CanvasPixelArray) {\n      if (typeof window.CanvasPixelArray.prototype.set !== 'function') {\n        window.CanvasPixelArray.prototype.set = function (arr) {\n          for (var i = 0, ii = this.length; i < ii; i++) {\n            this[i] = arr[i];\n          }\n        };\n      }\n    } else {\n      var polyfill = false,\n          versionMatch;\n      if (isChrome) {\n        versionMatch = userAgent.match(/Chrom(e|ium)\\/([0-9]+)\\./);\n        polyfill = versionMatch && parseInt(versionMatch[2]) < 21;\n      } else if (isAndroid) {\n        polyfill = isAndroidPre5;\n      } else if (isSafari) {\n        versionMatch = userAgent.match(/Version\\/([0-9]+)\\.([0-9]+)\\.([0-9]+) Safari\\//);\n        polyfill = versionMatch && parseInt(versionMatch[1]) < 6;\n      }\n      if (polyfill) {\n        var contextPrototype = window.CanvasRenderingContext2D.prototype;\n        var createImageData = contextPrototype.createImageData;\n        contextPrototype.createImageData = function (w, h) {\n          var imageData = createImageData.call(this, w, h);\n          imageData.data.set = function (arr) {\n            for (var i = 0, ii = this.length; i < ii; i++) {\n              this[i] = arr[i];\n            }\n          };\n          return imageData;\n        };\n        contextPrototype = null;\n      }\n    }\n  })();\n  (function checkRequestAnimationFrame() {\n    function installFakeAnimationFrameFunctions() {\n      window.requestAnimationFrame = function (callback) {\n        return window.setTimeout(callback, 20);\n      };\n      window.cancelAnimationFrame = function (timeoutID) {\n        window.clearTimeout(timeoutID);\n      };\n    }\n    if (!hasDOM) {\n      return;\n    }\n    if (isIOS) {\n      installFakeAnimationFrameFunctions();\n      return;\n    }\n    if ('requestAnimationFrame' in window) {\n      return;\n    }\n    window.requestAnimationFrame = window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame;\n    if (window.requestAnimationFrame) {\n      return;\n    }\n    installFakeAnimationFrameFunctions();\n  })();\n  (function checkCanvasSizeLimitation() {\n    if (isIOS || isAndroid) {\n      PDFJS.maxCanvasPixels = 5242880;\n    }\n  })();\n  (function checkFullscreenSupport() {\n    if (!hasDOM) {\n      return;\n    }\n    if (isIE && window.parent !== window) {\n      PDFJS.disableFullscreen = true;\n    }\n  })();\n  (function checkCurrentScript() {\n    if (!hasDOM) {\n      return;\n    }\n    if ('currentScript' in document) {\n      return;\n    }\n    Object.defineProperty(document, 'currentScript', {\n      get: function get() {\n        var scripts = document.getElementsByTagName('script');\n        return scripts[scripts.length - 1];\n      },\n\n      enumerable: true,\n      configurable: true\n    });\n  })();\n  (function checkInputTypeNumberAssign() {\n    if (!hasDOM) {\n      return;\n    }\n    var el = document.createElement('input');\n    try {\n      el.type = 'number';\n    } catch (ex) {\n      var inputProto = el.constructor.prototype;\n      var typeProperty = Object.getOwnPropertyDescriptor(inputProto, 'type');\n      Object.defineProperty(inputProto, 'type', {\n        get: function get() {\n          return typeProperty.get.call(this);\n        },\n        set: function set(value) {\n          typeProperty.set.call(this, value === 'number' ? 'text' : value);\n        },\n\n        enumerable: true,\n        configurable: true\n      });\n    }\n  })();\n  (function checkDocumentReadyState() {\n    if (!hasDOM) {\n      return;\n    }\n    if (!document.attachEvent) {\n      return;\n    }\n    var documentProto = document.constructor.prototype;\n    var readyStateProto = Object.getOwnPropertyDescriptor(documentProto, 'readyState');\n    Object.defineProperty(documentProto, 'readyState', {\n      get: function get() {\n        var value = readyStateProto.get.call(this);\n        return value === 'interactive' ? 'loading' : value;\n      },\n      set: function set(value) {\n        readyStateProto.set.call(this, value);\n      },\n\n      enumerable: true,\n      configurable: true\n    });\n  })();\n  (function checkChildNodeRemove() {\n    if (!hasDOM) {\n      return;\n    }\n    if (typeof Element.prototype.remove !== 'undefined') {\n      return;\n    }\n    Element.prototype.remove = function () {\n      if (this.parentNode) {\n        this.parentNode.removeChild(this);\n      }\n    };\n  })();\n  (function checkNumberIsNaN() {\n    if (Number.isNaN) {\n      return;\n    }\n    Number.isNaN = __w_pdfjs_require__(105);\n  })();\n  (function checkNumberIsInteger() {\n    if (Number.isInteger) {\n      return;\n    }\n    Number.isInteger = __w_pdfjs_require__(107);\n  })();\n  (function checkPromise() {\n    if (globalScope.Promise) {\n      return;\n    }\n    globalScope.Promise = __w_pdfjs_require__(110);\n  })();\n  (function checkWeakMap() {\n    if (globalScope.WeakMap) {\n      return;\n    }\n    globalScope.WeakMap = __w_pdfjs_require__(120);\n  })();\n  (function checkURLConstructor() {\n    var hasWorkingUrl = false;\n    try {\n      if (typeof URL === 'function' && _typeof(URL.prototype) === 'object' && 'origin' in URL.prototype) {\n        var u = new URL('b', 'http://a');\n        u.pathname = 'c%20d';\n        hasWorkingUrl = u.href === 'http://a/c%20d';\n      }\n    } catch (e) {}\n    if (hasWorkingUrl) {\n      return;\n    }\n    var relative = Object.create(null);\n    relative['ftp'] = 21;\n    relative['file'] = 0;\n    relative['gopher'] = 70;\n    relative['http'] = 80;\n    relative['https'] = 443;\n    relative['ws'] = 80;\n    relative['wss'] = 443;\n    var relativePathDotMapping = Object.create(null);\n    relativePathDotMapping['%2e'] = '.';\n    relativePathDotMapping['.%2e'] = '..';\n    relativePathDotMapping['%2e.'] = '..';\n    relativePathDotMapping['%2e%2e'] = '..';\n    function isRelativeScheme(scheme) {\n      return relative[scheme] !== undefined;\n    }\n    function invalid() {\n      clear.call(this);\n      this._isInvalid = true;\n    }\n    function IDNAToASCII(h) {\n      if (h === '') {\n        invalid.call(this);\n      }\n      return h.toLowerCase();\n    }\n    function percentEscape(c) {\n      var unicode = c.charCodeAt(0);\n      if (unicode > 0x20 && unicode < 0x7F && [0x22, 0x23, 0x3C, 0x3E, 0x3F, 0x60].indexOf(unicode) === -1) {\n        return c;\n      }\n      return encodeURIComponent(c);\n    }\n    function percentEscapeQuery(c) {\n      var unicode = c.charCodeAt(0);\n      if (unicode > 0x20 && unicode < 0x7F && [0x22, 0x23, 0x3C, 0x3E, 0x60].indexOf(unicode) === -1) {\n        return c;\n      }\n      return encodeURIComponent(c);\n    }\n    var EOF,\n        ALPHA = /[a-zA-Z]/,\n        ALPHANUMERIC = /[a-zA-Z0-9\\+\\-\\.]/;\n    function parse(input, stateOverride, base) {\n      function err(message) {\n        errors.push(message);\n      }\n      var state = stateOverride || 'scheme start',\n          cursor = 0,\n          buffer = '',\n          seenAt = false,\n          seenBracket = false,\n          errors = [];\n      loop: while ((input[cursor - 1] !== EOF || cursor === 0) && !this._isInvalid) {\n        var c = input[cursor];\n        switch (state) {\n          case 'scheme start':\n            if (c && ALPHA.test(c)) {\n              buffer += c.toLowerCase();\n              state = 'scheme';\n            } else if (!stateOverride) {\n              buffer = '';\n              state = 'no scheme';\n              continue;\n            } else {\n              err('Invalid scheme.');\n              break loop;\n            }\n            break;\n          case 'scheme':\n            if (c && ALPHANUMERIC.test(c)) {\n              buffer += c.toLowerCase();\n            } else if (c === ':') {\n              this._scheme = buffer;\n              buffer = '';\n              if (stateOverride) {\n                break loop;\n              }\n              if (isRelativeScheme(this._scheme)) {\n                this._isRelative = true;\n              }\n              if (this._scheme === 'file') {\n                state = 'relative';\n              } else if (this._isRelative && base && base._scheme === this._scheme) {\n                state = 'relative or authority';\n              } else if (this._isRelative) {\n                state = 'authority first slash';\n              } else {\n                state = 'scheme data';\n              }\n            } else if (!stateOverride) {\n              buffer = '';\n              cursor = 0;\n              state = 'no scheme';\n              continue;\n            } else if (c === EOF) {\n              break loop;\n            } else {\n              err('Code point not allowed in scheme: ' + c);\n              break loop;\n            }\n            break;\n          case 'scheme data':\n            if (c === '?') {\n              this._query = '?';\n              state = 'query';\n            } else if (c === '#') {\n              this._fragment = '#';\n              state = 'fragment';\n            } else {\n              if (c !== EOF && c !== '\\t' && c !== '\\n' && c !== '\\r') {\n                this._schemeData += percentEscape(c);\n              }\n            }\n            break;\n          case 'no scheme':\n            if (!base || !isRelativeScheme(base._scheme)) {\n              err('Missing scheme.');\n              invalid.call(this);\n            } else {\n              state = 'relative';\n              continue;\n            }\n            break;\n          case 'relative or authority':\n            if (c === '/' && input[cursor + 1] === '/') {\n              state = 'authority ignore slashes';\n            } else {\n              err('Expected /, got: ' + c);\n              state = 'relative';\n              continue;\n            }\n            break;\n          case 'relative':\n            this._isRelative = true;\n            if (this._scheme !== 'file') {\n              this._scheme = base._scheme;\n            }\n            if (c === EOF) {\n              this._host = base._host;\n              this._port = base._port;\n              this._path = base._path.slice();\n              this._query = base._query;\n              this._username = base._username;\n              this._password = base._password;\n              break loop;\n            } else if (c === '/' || c === '\\\\') {\n              if (c === '\\\\') {\n                err('\\\\ is an invalid code point.');\n              }\n              state = 'relative slash';\n            } else if (c === '?') {\n              this._host = base._host;\n              this._port = base._port;\n              this._path = base._path.slice();\n              this._query = '?';\n              this._username = base._username;\n              this._password = base._password;\n              state = 'query';\n            } else if (c === '#') {\n              this._host = base._host;\n              this._port = base._port;\n              this._path = base._path.slice();\n              this._query = base._query;\n              this._fragment = '#';\n              this._username = base._username;\n              this._password = base._password;\n              state = 'fragment';\n            } else {\n              var nextC = input[cursor + 1];\n              var nextNextC = input[cursor + 2];\n              if (this._scheme !== 'file' || !ALPHA.test(c) || nextC !== ':' && nextC !== '|' || nextNextC !== EOF && nextNextC !== '/' && nextNextC !== '\\\\' && nextNextC !== '?' && nextNextC !== '#') {\n                this._host = base._host;\n                this._port = base._port;\n                this._username = base._username;\n                this._password = base._password;\n                this._path = base._path.slice();\n                this._path.pop();\n              }\n              state = 'relative path';\n              continue;\n            }\n            break;\n          case 'relative slash':\n            if (c === '/' || c === '\\\\') {\n              if (c === '\\\\') {\n                err('\\\\ is an invalid code point.');\n              }\n              if (this._scheme === 'file') {\n                state = 'file host';\n              } else {\n                state = 'authority ignore slashes';\n              }\n            } else {\n              if (this._scheme !== 'file') {\n                this._host = base._host;\n                this._port = base._port;\n                this._username = base._username;\n                this._password = base._password;\n              }\n              state = 'relative path';\n              continue;\n            }\n            break;\n          case 'authority first slash':\n            if (c === '/') {\n              state = 'authority second slash';\n            } else {\n              err('Expected \\'/\\', got: ' + c);\n              state = 'authority ignore slashes';\n              continue;\n            }\n            break;\n          case 'authority second slash':\n            state = 'authority ignore slashes';\n            if (c !== '/') {\n              err('Expected \\'/\\', got: ' + c);\n              continue;\n            }\n            break;\n          case 'authority ignore slashes':\n            if (c !== '/' && c !== '\\\\') {\n              state = 'authority';\n              continue;\n            } else {\n              err('Expected authority, got: ' + c);\n            }\n            break;\n          case 'authority':\n            if (c === '@') {\n              if (seenAt) {\n                err('@ already seen.');\n                buffer += '%40';\n              }\n              seenAt = true;\n              for (var i = 0; i < buffer.length; i++) {\n                var cp = buffer[i];\n                if (cp === '\\t' || cp === '\\n' || cp === '\\r') {\n                  err('Invalid whitespace in authority.');\n                  continue;\n                }\n                if (cp === ':' && this._password === null) {\n                  this._password = '';\n                  continue;\n                }\n                var tempC = percentEscape(cp);\n                if (this._password !== null) {\n                  this._password += tempC;\n                } else {\n                  this._username += tempC;\n                }\n              }\n              buffer = '';\n            } else if (c === EOF || c === '/' || c === '\\\\' || c === '?' || c === '#') {\n              cursor -= buffer.length;\n              buffer = '';\n              state = 'host';\n              continue;\n            } else {\n              buffer += c;\n            }\n            break;\n          case 'file host':\n            if (c === EOF || c === '/' || c === '\\\\' || c === '?' || c === '#') {\n              if (buffer.length === 2 && ALPHA.test(buffer[0]) && (buffer[1] === ':' || buffer[1] === '|')) {\n                state = 'relative path';\n              } else if (buffer.length === 0) {\n                state = 'relative path start';\n              } else {\n                this._host = IDNAToASCII.call(this, buffer);\n                buffer = '';\n                state = 'relative path start';\n              }\n              continue;\n            } else if (c === '\\t' || c === '\\n' || c === '\\r') {\n              err('Invalid whitespace in file host.');\n            } else {\n              buffer += c;\n            }\n            break;\n          case 'host':\n          case 'hostname':\n            if (c === ':' && !seenBracket) {\n              this._host = IDNAToASCII.call(this, buffer);\n              buffer = '';\n              state = 'port';\n              if (stateOverride === 'hostname') {\n                break loop;\n              }\n            } else if (c === EOF || c === '/' || c === '\\\\' || c === '?' || c === '#') {\n              this._host = IDNAToASCII.call(this, buffer);\n              buffer = '';\n              state = 'relative path start';\n              if (stateOverride) {\n                break loop;\n              }\n              continue;\n            } else if (c !== '\\t' && c !== '\\n' && c !== '\\r') {\n              if (c === '[') {\n                seenBracket = true;\n              } else if (c === ']') {\n                seenBracket = false;\n              }\n              buffer += c;\n            } else {\n              err('Invalid code point in host/hostname: ' + c);\n            }\n            break;\n          case 'port':\n            if (/[0-9]/.test(c)) {\n              buffer += c;\n            } else if (c === EOF || c === '/' || c === '\\\\' || c === '?' || c === '#' || stateOverride) {\n              if (buffer !== '') {\n                var temp = parseInt(buffer, 10);\n                if (temp !== relative[this._scheme]) {\n                  this._port = temp + '';\n                }\n                buffer = '';\n              }\n              if (stateOverride) {\n                break loop;\n              }\n              state = 'relative path start';\n              continue;\n            } else if (c === '\\t' || c === '\\n' || c === '\\r') {\n              err('Invalid code point in port: ' + c);\n            } else {\n              invalid.call(this);\n            }\n            break;\n          case 'relative path start':\n            if (c === '\\\\') {\n              err('\\'\\\\\\' not allowed in path.');\n            }\n            state = 'relative path';\n            if (c !== '/' && c !== '\\\\') {\n              continue;\n            }\n            break;\n          case 'relative path':\n            if (c === EOF || c === '/' || c === '\\\\' || !stateOverride && (c === '?' || c === '#')) {\n              if (c === '\\\\') {\n                err('\\\\ not allowed in relative path.');\n              }\n              var tmp;\n              if (tmp = relativePathDotMapping[buffer.toLowerCase()]) {\n                buffer = tmp;\n              }\n              if (buffer === '..') {\n                this._path.pop();\n                if (c !== '/' && c !== '\\\\') {\n                  this._path.push('');\n                }\n              } else if (buffer === '.' && c !== '/' && c !== '\\\\') {\n                this._path.push('');\n              } else if (buffer !== '.') {\n                if (this._scheme === 'file' && this._path.length === 0 && buffer.length === 2 && ALPHA.test(buffer[0]) && buffer[1] === '|') {\n                  buffer = buffer[0] + ':';\n                }\n                this._path.push(buffer);\n              }\n              buffer = '';\n              if (c === '?') {\n                this._query = '?';\n                state = 'query';\n              } else if (c === '#') {\n                this._fragment = '#';\n                state = 'fragment';\n              }\n            } else if (c !== '\\t' && c !== '\\n' && c !== '\\r') {\n              buffer += percentEscape(c);\n            }\n            break;\n          case 'query':\n            if (!stateOverride && c === '#') {\n              this._fragment = '#';\n              state = 'fragment';\n            } else if (c !== EOF && c !== '\\t' && c !== '\\n' && c !== '\\r') {\n              this._query += percentEscapeQuery(c);\n            }\n            break;\n          case 'fragment':\n            if (c !== EOF && c !== '\\t' && c !== '\\n' && c !== '\\r') {\n              this._fragment += c;\n            }\n            break;\n        }\n        cursor++;\n      }\n    }\n    function clear() {\n      this._scheme = '';\n      this._schemeData = '';\n      this._username = '';\n      this._password = null;\n      this._host = '';\n      this._port = '';\n      this._path = [];\n      this._query = '';\n      this._fragment = '';\n      this._isInvalid = false;\n      this._isRelative = false;\n    }\n    function JURL(url, base) {\n      if (base !== undefined && !(base instanceof JURL)) {\n        base = new JURL(String(base));\n      }\n      this._url = url;\n      clear.call(this);\n      var input = url.replace(/^[ \\t\\r\\n\\f]+|[ \\t\\r\\n\\f]+$/g, '');\n      parse.call(this, input, null, base);\n    }\n    JURL.prototype = {\n      toString: function toString() {\n        return this.href;\n      },\n\n      get href() {\n        if (this._isInvalid) {\n          return this._url;\n        }\n        var authority = '';\n        if (this._username !== '' || this._password !== null) {\n          authority = this._username + (this._password !== null ? ':' + this._password : '') + '@';\n        }\n        return this.protocol + (this._isRelative ? '//' + authority + this.host : '') + this.pathname + this._query + this._fragment;\n      },\n      set href(value) {\n        clear.call(this);\n        parse.call(this, value);\n      },\n      get protocol() {\n        return this._scheme + ':';\n      },\n      set protocol(value) {\n        if (this._isInvalid) {\n          return;\n        }\n        parse.call(this, value + ':', 'scheme start');\n      },\n      get host() {\n        return this._isInvalid ? '' : this._port ? this._host + ':' + this._port : this._host;\n      },\n      set host(value) {\n        if (this._isInvalid || !this._isRelative) {\n          return;\n        }\n        parse.call(this, value, 'host');\n      },\n      get hostname() {\n        return this._host;\n      },\n      set hostname(value) {\n        if (this._isInvalid || !this._isRelative) {\n          return;\n        }\n        parse.call(this, value, 'hostname');\n      },\n      get port() {\n        return this._port;\n      },\n      set port(value) {\n        if (this._isInvalid || !this._isRelative) {\n          return;\n        }\n        parse.call(this, value, 'port');\n      },\n      get pathname() {\n        return this._isInvalid ? '' : this._isRelative ? '/' + this._path.join('/') : this._schemeData;\n      },\n      set pathname(value) {\n        if (this._isInvalid || !this._isRelative) {\n          return;\n        }\n        this._path = [];\n        parse.call(this, value, 'relative path start');\n      },\n      get search() {\n        return this._isInvalid || !this._query || this._query === '?' ? '' : this._query;\n      },\n      set search(value) {\n        if (this._isInvalid || !this._isRelative) {\n          return;\n        }\n        this._query = '?';\n        if (value[0] === '?') {\n          value = value.slice(1);\n        }\n        parse.call(this, value, 'query');\n      },\n      get hash() {\n        return this._isInvalid || !this._fragment || this._fragment === '#' ? '' : this._fragment;\n      },\n      set hash(value) {\n        if (this._isInvalid) {\n          return;\n        }\n        this._fragment = '#';\n        if (value[0] === '#') {\n          value = value.slice(1);\n        }\n        parse.call(this, value, 'fragment');\n      },\n      get origin() {\n        var host;\n        if (this._isInvalid || !this._scheme) {\n          return '';\n        }\n        switch (this._scheme) {\n          case 'data':\n          case 'file':\n          case 'javascript':\n          case 'mailto':\n            return 'null';\n          case 'blob':\n            try {\n              return new JURL(this._schemeData).origin || 'null';\n            } catch (_) {}\n            return 'null';\n        }\n        host = this.host;\n        if (!host) {\n          return '';\n        }\n        return this._scheme + '://' + host;\n      }\n    };\n    var OriginalURL = globalScope.URL;\n    if (OriginalURL) {\n      JURL.createObjectURL = function (blob) {\n        return OriginalURL.createObjectURL.apply(OriginalURL, arguments);\n      };\n      JURL.revokeObjectURL = function (url) {\n        OriginalURL.revokeObjectURL(url);\n      };\n    }\n    globalScope.URL = JURL;\n  })();\n}\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(94);\nmodule.exports = __w_pdfjs_require__(6).Uint8ClampedArray;\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(95)('Uint8', 1, function (init) {\n  return function Uint8ClampedArray(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n}, true);\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\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 && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nif (__w_pdfjs_require__(10)) {\n  var LIBRARY = __w_pdfjs_require__(23);\n  var global = __w_pdfjs_require__(1);\n  var fails = __w_pdfjs_require__(11);\n  var $export = __w_pdfjs_require__(7);\n  var $typed = __w_pdfjs_require__(52);\n  var $buffer = __w_pdfjs_require__(96);\n  var ctx = __w_pdfjs_require__(13);\n  var anInstance = __w_pdfjs_require__(26);\n  var propertyDesc = __w_pdfjs_require__(31);\n  var hide = __w_pdfjs_require__(8);\n  var redefineAll = __w_pdfjs_require__(25);\n  var toInteger = __w_pdfjs_require__(19);\n  var toLength = __w_pdfjs_require__(14);\n  var toIndex = __w_pdfjs_require__(53);\n  var toAbsoluteIndex = __w_pdfjs_require__(33);\n  var toPrimitive = __w_pdfjs_require__(38);\n  var has = __w_pdfjs_require__(12);\n  var classof = __w_pdfjs_require__(34);\n  var isObject = __w_pdfjs_require__(3);\n  var toObject = __w_pdfjs_require__(20);\n  var isArrayIter = __w_pdfjs_require__(59);\n  var create = __w_pdfjs_require__(60);\n  var getPrototypeOf = __w_pdfjs_require__(62);\n  var gOPN = __w_pdfjs_require__(54).f;\n  var getIterFn = __w_pdfjs_require__(63);\n  var uid = __w_pdfjs_require__(18);\n  var wks = __w_pdfjs_require__(4);\n  var createArrayMethod = __w_pdfjs_require__(44);\n  var createArrayIncludes = __w_pdfjs_require__(56);\n  var speciesConstructor = __w_pdfjs_require__(45);\n  var ArrayIterators = __w_pdfjs_require__(64);\n  var Iterators = __w_pdfjs_require__(21);\n  var $iterDetect = __w_pdfjs_require__(46);\n  var setSpecies = __w_pdfjs_require__(66);\n  var arrayFill = __w_pdfjs_require__(58);\n  var arrayCopyWithin = __w_pdfjs_require__(104);\n  var $DP = __w_pdfjs_require__(15);\n  var $GOPD = __w_pdfjs_require__(67);\n  var dP = $DP.f;\n  var gOPD = $GOPD.f;\n  var RangeError = global.RangeError;\n  var TypeError = global.TypeError;\n  var Uint8Array = global.Uint8Array;\n  var ARRAY_BUFFER = 'ArrayBuffer';\n  var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER;\n  var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\n  var PROTOTYPE = 'prototype';\n  var ArrayProto = Array[PROTOTYPE];\n  var $ArrayBuffer = $buffer.ArrayBuffer;\n  var $DataView = $buffer.DataView;\n  var arrayForEach = createArrayMethod(0);\n  var arrayFilter = createArrayMethod(2);\n  var arraySome = createArrayMethod(3);\n  var arrayEvery = createArrayMethod(4);\n  var arrayFind = createArrayMethod(5);\n  var arrayFindIndex = createArrayMethod(6);\n  var arrayIncludes = createArrayIncludes(true);\n  var arrayIndexOf = createArrayIncludes(false);\n  var arrayValues = ArrayIterators.values;\n  var arrayKeys = ArrayIterators.keys;\n  var arrayEntries = ArrayIterators.entries;\n  var arrayLastIndexOf = ArrayProto.lastIndexOf;\n  var arrayReduce = ArrayProto.reduce;\n  var arrayReduceRight = ArrayProto.reduceRight;\n  var arrayJoin = ArrayProto.join;\n  var arraySort = ArrayProto.sort;\n  var arraySlice = ArrayProto.slice;\n  var arrayToString = ArrayProto.toString;\n  var arrayToLocaleString = ArrayProto.toLocaleString;\n  var ITERATOR = wks('iterator');\n  var TAG = wks('toStringTag');\n  var TYPED_CONSTRUCTOR = uid('typed_constructor');\n  var DEF_CONSTRUCTOR = uid('def_constructor');\n  var ALL_CONSTRUCTORS = $typed.CONSTR;\n  var TYPED_ARRAY = $typed.TYPED;\n  var VIEW = $typed.VIEW;\n  var WRONG_LENGTH = 'Wrong length!';\n  var $map = createArrayMethod(1, function (O, length) {\n    return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);\n  });\n  var LITTLE_ENDIAN = fails(function () {\n    return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;\n  });\n  var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () {\n    new Uint8Array(1).set({});\n  });\n  var toOffset = function toOffset(it, BYTES) {\n    var offset = toInteger(it);\n    if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!');\n    return offset;\n  };\n  var validate = function validate(it) {\n    if (isObject(it) && TYPED_ARRAY in it) return it;\n    throw TypeError(it + ' is not a typed array!');\n  };\n  var allocate = function allocate(C, length) {\n    if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) {\n      throw TypeError('It is not a typed array constructor!');\n    }\n    return new C(length);\n  };\n  var speciesFromList = function speciesFromList(O, list) {\n    return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);\n  };\n  var fromList = function fromList(C, list) {\n    var index = 0;\n    var length = list.length;\n    var result = allocate(C, length);\n    while (length > index) {\n      result[index] = list[index++];\n    }return result;\n  };\n  var addGetter = function addGetter(it, key, internal) {\n    dP(it, key, {\n      get: function get() {\n        return this._d[internal];\n      }\n    });\n  };\n  var $from = function from(source) {\n    var O = toObject(source);\n    var aLen = arguments.length;\n    var mapfn = aLen > 1 ? arguments[1] : undefined;\n    var mapping = mapfn !== undefined;\n    var iterFn = getIterFn(O);\n    var i, length, values, result, step, iterator;\n    if (iterFn != undefined && !isArrayIter(iterFn)) {\n      for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) {\n        values.push(step.value);\n      }\n      O = values;\n    }\n    if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2);\n    for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) {\n      result[i] = mapping ? mapfn(O[i], i) : O[i];\n    }\n    return result;\n  };\n  var $of = function of() {\n    var index = 0;\n    var length = arguments.length;\n    var result = allocate(this, length);\n    while (length > index) {\n      result[index] = arguments[index++];\n    }return result;\n  };\n  var TO_LOCALE_BUG = !!Uint8Array && fails(function () {\n    arrayToLocaleString.call(new Uint8Array(1));\n  });\n  var $toLocaleString = function toLocaleString() {\n    return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);\n  };\n  var proto = {\n    copyWithin: function copyWithin(target, start) {\n      return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n    },\n    every: function every(callbackfn) {\n      return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n    },\n    fill: function fill(value) {\n      return arrayFill.apply(validate(this), arguments);\n    },\n    filter: function filter(callbackfn) {\n      return speciesFromList(this, arrayFilter(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined));\n    },\n    find: function find(predicate) {\n      return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n    },\n    findIndex: function findIndex(predicate) {\n      return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n    },\n    forEach: function forEach(callbackfn) {\n      arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n    },\n    indexOf: function indexOf(searchElement) {\n      return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n    },\n    includes: function includes(searchElement) {\n      return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n    },\n    join: function join(separator) {\n      return arrayJoin.apply(validate(this), arguments);\n    },\n    lastIndexOf: function lastIndexOf(searchElement) {\n      return arrayLastIndexOf.apply(validate(this), arguments);\n    },\n    map: function map(mapfn) {\n      return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);\n    },\n    reduce: function reduce(callbackfn) {\n      return arrayReduce.apply(validate(this), arguments);\n    },\n    reduceRight: function reduceRight(callbackfn) {\n      return arrayReduceRight.apply(validate(this), arguments);\n    },\n    reverse: function reverse() {\n      var that = this;\n      var length = validate(that).length;\n      var middle = Math.floor(length / 2);\n      var index = 0;\n      var value;\n      while (index < middle) {\n        value = that[index];\n        that[index++] = that[--length];\n        that[length] = value;\n      }\n      return that;\n    },\n    some: function some(callbackfn) {\n      return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n    },\n    sort: function sort(comparefn) {\n      return arraySort.call(validate(this), comparefn);\n    },\n    subarray: function subarray(begin, end) {\n      var O = validate(this);\n      var length = O.length;\n      var $begin = toAbsoluteIndex(begin, length);\n      return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(O.buffer, O.byteOffset + $begin * O.BYTES_PER_ELEMENT, toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin));\n    }\n  };\n  var $slice = function slice(start, end) {\n    return speciesFromList(this, arraySlice.call(validate(this), start, end));\n  };\n  var $set = function set(arrayLike) {\n    validate(this);\n    var offset = toOffset(arguments[1], 1);\n    var length = this.length;\n    var src = toObject(arrayLike);\n    var len = toLength(src.length);\n    var index = 0;\n    if (len + offset > length) throw RangeError(WRONG_LENGTH);\n    while (index < len) {\n      this[offset + index] = src[index++];\n    }\n  };\n  var $iterators = {\n    entries: function entries() {\n      return arrayEntries.call(validate(this));\n    },\n    keys: function keys() {\n      return arrayKeys.call(validate(this));\n    },\n    values: function values() {\n      return arrayValues.call(validate(this));\n    }\n  };\n  var isTAIndex = function isTAIndex(target, key) {\n    return isObject(target) && target[TYPED_ARRAY] && (typeof key === 'undefined' ? 'undefined' : _typeof(key)) != 'symbol' && key in target && String(+key) == String(key);\n  };\n  var $getDesc = function getOwnPropertyDescriptor(target, key) {\n    return isTAIndex(target, key = toPrimitive(key, true)) ? propertyDesc(2, target[key]) : gOPD(target, key);\n  };\n  var $setDesc = function defineProperty(target, key, desc) {\n    if (isTAIndex(target, key = toPrimitive(key, true)) && isObject(desc) && has(desc, 'value') && !has(desc, 'get') && !has(desc, 'set') && !desc.configurable && (!has(desc, 'writable') || desc.writable) && (!has(desc, 'enumerable') || desc.enumerable)) {\n      target[key] = desc.value;\n      return target;\n    }\n    return dP(target, key, desc);\n  };\n  if (!ALL_CONSTRUCTORS) {\n    $GOPD.f = $getDesc;\n    $DP.f = $setDesc;\n  }\n  $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {\n    getOwnPropertyDescriptor: $getDesc,\n    defineProperty: $setDesc\n  });\n  if (fails(function () {\n    arrayToString.call({});\n  })) {\n    arrayToString = arrayToLocaleString = function toString() {\n      return arrayJoin.call(this);\n    };\n  }\n  var $TypedArrayPrototype$ = redefineAll({}, proto);\n  redefineAll($TypedArrayPrototype$, $iterators);\n  hide($TypedArrayPrototype$, ITERATOR, $iterators.values);\n  redefineAll($TypedArrayPrototype$, {\n    slice: $slice,\n    set: $set,\n    constructor: function constructor() {},\n    toString: arrayToString,\n    toLocaleString: $toLocaleString\n  });\n  addGetter($TypedArrayPrototype$, 'buffer', 'b');\n  addGetter($TypedArrayPrototype$, 'byteOffset', 'o');\n  addGetter($TypedArrayPrototype$, 'byteLength', 'l');\n  addGetter($TypedArrayPrototype$, 'length', 'e');\n  dP($TypedArrayPrototype$, TAG, {\n    get: function get() {\n      return this[TYPED_ARRAY];\n    }\n  });\n  module.exports = function (KEY, BYTES, wrapper, CLAMPED) {\n    CLAMPED = !!CLAMPED;\n    var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array';\n    var GETTER = 'get' + KEY;\n    var SETTER = 'set' + KEY;\n    var TypedArray = global[NAME];\n    var Base = TypedArray || {};\n    var TAC = TypedArray && getPrototypeOf(TypedArray);\n    var FORCED = !TypedArray || !$typed.ABV;\n    var O = {};\n    var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];\n    var getter = function getter(that, index) {\n      var data = that._d;\n      return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);\n    };\n    var setter = function setter(that, index, value) {\n      var data = that._d;\n      if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;\n      data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);\n    };\n    var addElement = function addElement(that, index) {\n      dP(that, index, {\n        get: function get() {\n          return getter(this, index);\n        },\n        set: function set(value) {\n          return setter(this, index, value);\n        },\n        enumerable: true\n      });\n    };\n    if (FORCED) {\n      TypedArray = wrapper(function (that, data, $offset, $length) {\n        anInstance(that, TypedArray, NAME, '_d');\n        var index = 0;\n        var offset = 0;\n        var buffer, byteLength, length, klass;\n        if (!isObject(data)) {\n          length = toIndex(data);\n          byteLength = length * BYTES;\n          buffer = new $ArrayBuffer(byteLength);\n        } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n          buffer = data;\n          offset = toOffset($offset, BYTES);\n          var $len = data.byteLength;\n          if ($length === undefined) {\n            if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n            byteLength = $len - offset;\n            if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n          } else {\n            byteLength = toLength($length) * BYTES;\n            if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH);\n          }\n          length = byteLength / BYTES;\n        } else if (TYPED_ARRAY in data) {\n          return fromList(TypedArray, data);\n        } else {\n          return $from.call(TypedArray, data);\n        }\n        hide(that, '_d', {\n          b: buffer,\n          o: offset,\n          l: byteLength,\n          e: length,\n          v: new $DataView(buffer)\n        });\n        while (index < length) {\n          addElement(that, index++);\n        }\n      });\n      TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);\n      hide(TypedArrayPrototype, 'constructor', TypedArray);\n    } else if (!fails(function () {\n      TypedArray(1);\n    }) || !fails(function () {\n      new TypedArray(-1);\n    }) || !$iterDetect(function (iter) {\n      new TypedArray();\n      new TypedArray(null);\n      new TypedArray(1.5);\n      new TypedArray(iter);\n    }, true)) {\n      TypedArray = wrapper(function (that, data, $offset, $length) {\n        anInstance(that, TypedArray, NAME);\n        var klass;\n        if (!isObject(data)) return new Base(toIndex(data));\n        if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n          return $length !== undefined ? new Base(data, toOffset($offset, BYTES), $length) : $offset !== undefined ? new Base(data, toOffset($offset, BYTES)) : new Base(data);\n        }\n        if (TYPED_ARRAY in data) return fromList(TypedArray, data);\n        return $from.call(TypedArray, data);\n      });\n      arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) {\n        if (!(key in TypedArray)) hide(TypedArray, key, Base[key]);\n      });\n      TypedArray[PROTOTYPE] = TypedArrayPrototype;\n      if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray;\n    }\n    var $nativeIterator = TypedArrayPrototype[ITERATOR];\n    var CORRECT_ITER_NAME = !!$nativeIterator && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined);\n    var $iterator = $iterators.values;\n    hide(TypedArray, TYPED_CONSTRUCTOR, true);\n    hide(TypedArrayPrototype, TYPED_ARRAY, NAME);\n    hide(TypedArrayPrototype, VIEW, true);\n    hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);\n    if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) {\n      dP(TypedArrayPrototype, TAG, {\n        get: function get() {\n          return NAME;\n        }\n      });\n    }\n    O[NAME] = TypedArray;\n    $export($export.G + $export.W + $export.F * (TypedArray != Base), O);\n    $export($export.S, NAME, { BYTES_PER_ELEMENT: BYTES });\n    $export($export.S + $export.F * fails(function () {\n      Base.of.call(TypedArray, 1);\n    }), NAME, {\n      from: $from,\n      of: $of\n    });\n    if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);\n    $export($export.P, NAME, proto);\n    setSpecies(NAME);\n    $export($export.P + $export.F * FORCED_SET, NAME, { set: $set });\n    $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);\n    if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString;\n    $export($export.P + $export.F * fails(function () {\n      new TypedArray(1).slice();\n    }), NAME, { slice: $slice });\n    $export($export.P + $export.F * (fails(function () {\n      return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString();\n    }) || !fails(function () {\n      TypedArrayPrototype.toLocaleString.call([1, 2]);\n    })), NAME, { toLocaleString: $toLocaleString });\n    Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;\n    if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator);\n  };\n} else module.exports = function () {};\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(1);\nvar DESCRIPTORS = __w_pdfjs_require__(10);\nvar LIBRARY = __w_pdfjs_require__(23);\nvar $typed = __w_pdfjs_require__(52);\nvar hide = __w_pdfjs_require__(8);\nvar redefineAll = __w_pdfjs_require__(25);\nvar fails = __w_pdfjs_require__(11);\nvar anInstance = __w_pdfjs_require__(26);\nvar toInteger = __w_pdfjs_require__(19);\nvar toLength = __w_pdfjs_require__(14);\nvar toIndex = __w_pdfjs_require__(53);\nvar gOPN = __w_pdfjs_require__(54).f;\nvar dP = __w_pdfjs_require__(15).f;\nvar arrayFill = __w_pdfjs_require__(58);\nvar setToStringTag = __w_pdfjs_require__(28);\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length!';\nvar WRONG_INDEX = 'Wrong index!';\nvar $ArrayBuffer = global[ARRAY_BUFFER];\nvar $DataView = global[DATA_VIEW];\nvar Math = global.Math;\nvar RangeError = global.RangeError;\nvar Infinity = global.Infinity;\nvar BaseBuffer = $ArrayBuffer;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\nvar BUFFER = 'buffer';\nvar BYTE_LENGTH = 'byteLength';\nvar BYTE_OFFSET = 'byteOffset';\nvar $BUFFER = DESCRIPTORS ? '_b' : BUFFER;\nvar $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH;\nvar $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;\nfunction packIEEE754(value, mLen, nBytes) {\n  var buffer = new Array(nBytes);\n  var eLen = nBytes * 8 - mLen - 1;\n  var eMax = (1 << eLen) - 1;\n  var eBias = eMax >> 1;\n  var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0;\n  var i = 0;\n  var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n  var e, m, c;\n  value = abs(value);\n  if (value != value || value === Infinity) {\n    m = value != value ? 1 : 0;\n    e = eMax;\n  } else {\n    e = floor(log(value) / LN2);\n    if (value * (c = pow(2, -e)) < 1) {\n      e--;\n      c *= 2;\n    }\n    if (e + eBias >= 1) {\n      value += rt / c;\n    } else {\n      value += rt * pow(2, 1 - eBias);\n    }\n    if (value * c >= 2) {\n      e++;\n      c /= 2;\n    }\n    if (e + eBias >= eMax) {\n      m = 0;\n      e = eMax;\n    } else if (e + eBias >= 1) {\n      m = (value * c - 1) * pow(2, mLen);\n      e = e + eBias;\n    } else {\n      m = value * pow(2, eBias - 1) * pow(2, mLen);\n      e = 0;\n    }\n  }\n  for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8) {}\n  e = e << mLen | m;\n  eLen += mLen;\n  for (; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8) {}\n  buffer[--i] |= s * 128;\n  return buffer;\n}\nfunction unpackIEEE754(buffer, mLen, nBytes) {\n  var eLen = nBytes * 8 - mLen - 1;\n  var eMax = (1 << eLen) - 1;\n  var eBias = eMax >> 1;\n  var nBits = eLen - 7;\n  var i = nBytes - 1;\n  var s = buffer[i--];\n  var e = s & 127;\n  var m;\n  s >>= 7;\n  for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8) {}\n  m = e & (1 << -nBits) - 1;\n  e >>= -nBits;\n  nBits += mLen;\n  for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8) {}\n  if (e === 0) {\n    e = 1 - eBias;\n  } else if (e === eMax) {\n    return m ? NaN : s ? -Infinity : Infinity;\n  } else {\n    m = m + pow(2, mLen);\n    e = e - eBias;\n  }\n  return (s ? -1 : 1) * m * pow(2, e - mLen);\n}\nfunction unpackI32(bytes) {\n  return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];\n}\nfunction packI8(it) {\n  return [it & 0xff];\n}\nfunction packI16(it) {\n  return [it & 0xff, it >> 8 & 0xff];\n}\nfunction packI32(it) {\n  return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];\n}\nfunction packF64(it) {\n  return packIEEE754(it, 52, 8);\n}\nfunction packF32(it) {\n  return packIEEE754(it, 23, 4);\n}\nfunction addGetter(C, key, internal) {\n  dP(C[PROTOTYPE], key, {\n    get: function get() {\n      return this[internal];\n    }\n  });\n}\nfunction get(view, bytes, index, isLittleEndian) {\n  var numIndex = +index;\n  var intIndex = toIndex(numIndex);\n  if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n  var store = view[$BUFFER]._b;\n  var start = intIndex + view[$OFFSET];\n  var pack = store.slice(start, start + bytes);\n  return isLittleEndian ? pack : pack.reverse();\n}\nfunction set(view, bytes, index, conversion, value, isLittleEndian) {\n  var numIndex = +index;\n  var intIndex = toIndex(numIndex);\n  if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n  var store = view[$BUFFER]._b;\n  var start = intIndex + view[$OFFSET];\n  var pack = conversion(+value);\n  for (var i = 0; i < bytes; i++) {\n    store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];\n  }\n}\nif (!$typed.ABV) {\n  $ArrayBuffer = function ArrayBuffer(length) {\n    anInstance(this, $ArrayBuffer, ARRAY_BUFFER);\n    var byteLength = toIndex(length);\n    this._b = arrayFill.call(new Array(byteLength), 0);\n    this[$LENGTH] = byteLength;\n  };\n  $DataView = function DataView(buffer, byteOffset, byteLength) {\n    anInstance(this, $DataView, DATA_VIEW);\n    anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n    var bufferLength = buffer[$LENGTH];\n    var offset = toInteger(byteOffset);\n    if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!');\n    byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n    if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n    this[$BUFFER] = buffer;\n    this[$OFFSET] = offset;\n    this[$LENGTH] = byteLength;\n  };\n  if (DESCRIPTORS) {\n    addGetter($ArrayBuffer, BYTE_LENGTH, '_l');\n    addGetter($DataView, BUFFER, '_b');\n    addGetter($DataView, BYTE_LENGTH, '_l');\n    addGetter($DataView, BYTE_OFFSET, '_o');\n  }\n  redefineAll($DataView[PROTOTYPE], {\n    getInt8: function getInt8(byteOffset) {\n      return get(this, 1, byteOffset)[0] << 24 >> 24;\n    },\n    getUint8: function getUint8(byteOffset) {\n      return get(this, 1, byteOffset)[0];\n    },\n    getInt16: function getInt16(byteOffset) {\n      var bytes = get(this, 2, byteOffset, arguments[1]);\n      return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n    },\n    getUint16: function getUint16(byteOffset) {\n      var bytes = get(this, 2, byteOffset, arguments[1]);\n      return bytes[1] << 8 | bytes[0];\n    },\n    getInt32: function getInt32(byteOffset) {\n      return unpackI32(get(this, 4, byteOffset, arguments[1]));\n    },\n    getUint32: function getUint32(byteOffset) {\n      return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;\n    },\n    getFloat32: function getFloat32(byteOffset) {\n      return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);\n    },\n    getFloat64: function getFloat64(byteOffset) {\n      return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);\n    },\n    setInt8: function setInt8(byteOffset, value) {\n      set(this, 1, byteOffset, packI8, value);\n    },\n    setUint8: function setUint8(byteOffset, value) {\n      set(this, 1, byteOffset, packI8, value);\n    },\n    setInt16: function setInt16(byteOffset, value) {\n      set(this, 2, byteOffset, packI16, value, arguments[2]);\n    },\n    setUint16: function setUint16(byteOffset, value) {\n      set(this, 2, byteOffset, packI16, value, arguments[2]);\n    },\n    setInt32: function setInt32(byteOffset, value) {\n      set(this, 4, byteOffset, packI32, value, arguments[2]);\n    },\n    setUint32: function setUint32(byteOffset, value) {\n      set(this, 4, byteOffset, packI32, value, arguments[2]);\n    },\n    setFloat32: function setFloat32(byteOffset, value) {\n      set(this, 4, byteOffset, packF32, value, arguments[2]);\n    },\n    setFloat64: function setFloat64(byteOffset, value) {\n      set(this, 8, byteOffset, packF64, value, arguments[2]);\n    }\n  });\n} else {\n  if (!fails(function () {\n    $ArrayBuffer(1);\n  }) || !fails(function () {\n    new $ArrayBuffer(-1);\n  }) || fails(function () {\n    new $ArrayBuffer();\n    new $ArrayBuffer(1.5);\n    new $ArrayBuffer(NaN);\n    return $ArrayBuffer.name != ARRAY_BUFFER;\n  })) {\n    $ArrayBuffer = function ArrayBuffer(length) {\n      anInstance(this, $ArrayBuffer);\n      return new BaseBuffer(toIndex(length));\n    };\n    var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];\n    for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) {\n      if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]);\n    }\n    if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer;\n  }\n  var view = new $DataView(new $ArrayBuffer(2));\n  var $setInt8 = $DataView[PROTOTYPE].setInt8;\n  view.setInt8(0, 2147483648);\n  view.setInt8(1, 2147483649);\n  if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], {\n    setInt8: function setInt8(byteOffset, value) {\n      $setInt8.call(this, byteOffset, value << 24 >> 24);\n    },\n    setUint8: function setUint8(byteOffset, value) {\n      $setInt8.call(this, byteOffset, value << 24 >> 24);\n    }\n  }, true);\n}\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\nhide($DataView[PROTOTYPE], $typed.VIEW, true);\nexports[ARRAY_BUFFER] = $ArrayBuffer;\nexports[DATA_VIEW] = $DataView;\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar dP = __w_pdfjs_require__(15);\nvar anObject = __w_pdfjs_require__(9);\nvar getKeys = __w_pdfjs_require__(43);\nmodule.exports = __w_pdfjs_require__(10) ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var keys = getKeys(Properties);\n  var length = keys.length;\n  var i = 0;\n  var P;\n  while (length > i) {\n    dP.f(O, P = keys[i++], Properties[P]);\n  }return O;\n};\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar speciesConstructor = __w_pdfjs_require__(99);\nmodule.exports = function (original, length) {\n  return new (speciesConstructor(original))(length);\n};\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(3);\nvar isArray = __w_pdfjs_require__(100);\nvar SPECIES = __w_pdfjs_require__(4)('species');\nmodule.exports = function (original) {\n  var C;\n  if (isArray(original)) {\n    C = original.constructor;\n    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n    if (isObject(C)) {\n      C = C[SPECIES];\n      if (C === null) C = undefined;\n    }\n  }\n  return C === undefined ? Array : C;\n};\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar cof = __w_pdfjs_require__(27);\nmodule.exports = Array.isArray || function isArray(arg) {\n  return cof(arg) == 'Array';\n};\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar UNSCOPABLES = __w_pdfjs_require__(4)('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) __w_pdfjs_require__(8)(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n  ArrayProto[UNSCOPABLES][key] = true;\n};\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (done, value) {\n  return {\n    value: value,\n    done: !!done\n  };\n};\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar create = __w_pdfjs_require__(60);\nvar descriptor = __w_pdfjs_require__(31);\nvar setToStringTag = __w_pdfjs_require__(28);\nvar IteratorPrototype = {};\n__w_pdfjs_require__(8)(IteratorPrototype, __w_pdfjs_require__(4)('iterator'), function () {\n  return this;\n});\nmodule.exports = function (Constructor, NAME, next) {\n  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n  setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toObject = __w_pdfjs_require__(20);\nvar toAbsoluteIndex = __w_pdfjs_require__(33);\nvar toLength = __w_pdfjs_require__(14);\nmodule.exports = [].copyWithin || function copyWithin(target, start) {\n  var O = toObject(this);\n  var len = toLength(O.length);\n  var to = toAbsoluteIndex(target, len);\n  var from = toAbsoluteIndex(start, len);\n  var end = arguments.length > 2 ? arguments[2] : undefined;\n  var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n  var inc = 1;\n  if (from < to && to < from + count) {\n    inc = -1;\n    from += count - 1;\n    to += count - 1;\n  }\n  while (count-- > 0) {\n    if (from in O) O[to] = O[from];else delete O[to];\n    to += inc;\n    from += inc;\n  }\n  return O;\n};\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(106);\nmodule.exports = __w_pdfjs_require__(6).Number.isNaN;\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n$export($export.S, 'Number', {\n  isNaN: function isNaN(number) {\n    return number != number;\n  }\n});\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(108);\nmodule.exports = __w_pdfjs_require__(6).Number.isInteger;\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n$export($export.S, 'Number', { isInteger: __w_pdfjs_require__(109) });\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(3);\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n  return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n/***/ }),\n/* 110 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(69);\n__w_pdfjs_require__(111);\n__w_pdfjs_require__(70);\n__w_pdfjs_require__(113);\n__w_pdfjs_require__(118);\n__w_pdfjs_require__(119);\nmodule.exports = __w_pdfjs_require__(6).Promise;\n\n/***/ }),\n/* 111 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $at = __w_pdfjs_require__(112)(true);\n__w_pdfjs_require__(65)(String, 'String', function (iterated) {\n  this._t = String(iterated);\n  this._i = 0;\n}, function () {\n  var O = this._t;\n  var index = this._i;\n  var point;\n  if (index >= O.length) return {\n    value: undefined,\n    done: true\n  };\n  point = $at(O, index);\n  this._i += point.length;\n  return {\n    value: point,\n    done: false\n  };\n});\n\n/***/ }),\n/* 112 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toInteger = __w_pdfjs_require__(19);\nvar defined = __w_pdfjs_require__(40);\nmodule.exports = function (TO_STRING) {\n  return function (that, pos) {\n    var s = String(defined(that));\n    var i = toInteger(pos);\n    var l = s.length;\n    var a, b;\n    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n    a = s.charCodeAt(i);\n    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff ? TO_STRING ? s.charAt(i) : a : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n  };\n};\n\n/***/ }),\n/* 113 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar LIBRARY = __w_pdfjs_require__(23);\nvar global = __w_pdfjs_require__(1);\nvar ctx = __w_pdfjs_require__(13);\nvar classof = __w_pdfjs_require__(34);\nvar $export = __w_pdfjs_require__(7);\nvar isObject = __w_pdfjs_require__(3);\nvar aFunction = __w_pdfjs_require__(24);\nvar anInstance = __w_pdfjs_require__(26);\nvar forOf = __w_pdfjs_require__(35);\nvar speciesConstructor = __w_pdfjs_require__(45);\nvar task = __w_pdfjs_require__(71).set;\nvar microtask = __w_pdfjs_require__(116)();\nvar newPromiseCapabilityModule = __w_pdfjs_require__(47);\nvar perform = __w_pdfjs_require__(72);\nvar userAgent = __w_pdfjs_require__(117);\nvar promiseResolve = __w_pdfjs_require__(73);\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function empty() {};\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\nvar USE_NATIVE = !!function () {\n  try {\n    var promise = $Promise.resolve(1);\n    var FakePromise = (promise.constructor = {})[__w_pdfjs_require__(4)('species')] = function (exec) {\n      exec(empty, empty);\n    };\n    return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise && v8.indexOf('6.6') !== 0 && userAgent.indexOf('Chrome/66') === -1;\n  } catch (e) {}\n}();\nvar isThenable = function isThenable(it) {\n  var then;\n  return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function notify(promise, isReject) {\n  if (promise._n) return;\n  promise._n = true;\n  var chain = promise._c;\n  microtask(function () {\n    var value = promise._v;\n    var ok = promise._s == 1;\n    var i = 0;\n    var run = function run(reaction) {\n      var handler = ok ? reaction.ok : reaction.fail;\n      var resolve = reaction.resolve;\n      var reject = reaction.reject;\n      var domain = reaction.domain;\n      var result, then, exited;\n      try {\n        if (handler) {\n          if (!ok) {\n            if (promise._h == 2) onHandleUnhandled(promise);\n            promise._h = 1;\n          }\n          if (handler === true) result = value;else {\n            if (domain) domain.enter();\n            result = handler(value);\n            if (domain) {\n              domain.exit();\n              exited = true;\n            }\n          }\n          if (result === reaction.promise) {\n            reject(TypeError('Promise-chain cycle'));\n          } else if (then = isThenable(result)) {\n            then.call(result, resolve, reject);\n          } else resolve(result);\n        } else reject(value);\n      } catch (e) {\n        if (domain && !exited) domain.exit();\n        reject(e);\n      }\n    };\n    while (chain.length > i) {\n      run(chain[i++]);\n    }promise._c = [];\n    promise._n = false;\n    if (isReject && !promise._h) onUnhandled(promise);\n  });\n};\nvar onUnhandled = function onUnhandled(promise) {\n  task.call(global, function () {\n    var value = promise._v;\n    var unhandled = isUnhandled(promise);\n    var result, handler, console;\n    if (unhandled) {\n      result = perform(function () {\n        if (isNode) {\n          process.emit('unhandledRejection', value, promise);\n        } else if (handler = global.onunhandledrejection) {\n          handler({\n            promise: promise,\n            reason: value\n          });\n        } else if ((console = global.console) && console.error) {\n          console.error('Unhandled promise rejection', value);\n        }\n      });\n      promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n    }\n    promise._a = undefined;\n    if (unhandled && result.e) throw result.v;\n  });\n};\nvar isUnhandled = function isUnhandled(promise) {\n  return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function onHandleUnhandled(promise) {\n  task.call(global, function () {\n    var handler;\n    if (isNode) {\n      process.emit('rejectionHandled', promise);\n    } else if (handler = global.onrejectionhandled) {\n      handler({\n        promise: promise,\n        reason: promise._v\n      });\n    }\n  });\n};\nvar $reject = function $reject(value) {\n  var promise = this;\n  if (promise._d) return;\n  promise._d = true;\n  promise = promise._w || promise;\n  promise._v = value;\n  promise._s = 2;\n  if (!promise._a) promise._a = promise._c.slice();\n  notify(promise, true);\n};\nvar $resolve = function $resolve(value) {\n  var promise = this;\n  var then;\n  if (promise._d) return;\n  promise._d = true;\n  promise = promise._w || promise;\n  try {\n    if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n    if (then = isThenable(value)) {\n      microtask(function () {\n        var wrapper = {\n          _w: promise,\n          _d: false\n        };\n        try {\n          then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n        } catch (e) {\n          $reject.call(wrapper, e);\n        }\n      });\n    } else {\n      promise._v = value;\n      promise._s = 1;\n      notify(promise, false);\n    }\n  } catch (e) {\n    $reject.call({\n      _w: promise,\n      _d: false\n    }, e);\n  }\n};\nif (!USE_NATIVE) {\n  $Promise = function Promise(executor) {\n    anInstance(this, $Promise, PROMISE, '_h');\n    aFunction(executor);\n    Internal.call(this);\n    try {\n      executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n    } catch (err) {\n      $reject.call(this, err);\n    }\n  };\n  Internal = function Promise(executor) {\n    this._c = [];\n    this._a = undefined;\n    this._s = 0;\n    this._d = false;\n    this._v = undefined;\n    this._h = 0;\n    this._n = false;\n  };\n  Internal.prototype = __w_pdfjs_require__(25)($Promise.prototype, {\n    then: function then(onFulfilled, onRejected) {\n      var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n      reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n      reaction.fail = typeof onRejected == 'function' && onRejected;\n      reaction.domain = isNode ? process.domain : undefined;\n      this._c.push(reaction);\n      if (this._a) this._a.push(reaction);\n      if (this._s) notify(this, false);\n      return reaction.promise;\n    },\n    'catch': function _catch(onRejected) {\n      return this.then(undefined, onRejected);\n    }\n  });\n  OwnPromiseCapability = function OwnPromiseCapability() {\n    var promise = new Internal();\n    this.promise = promise;\n    this.resolve = ctx($resolve, promise, 1);\n    this.reject = ctx($reject, promise, 1);\n  };\n  newPromiseCapabilityModule.f = newPromiseCapability = function newPromiseCapability(C) {\n    return C === $Promise || C === Wrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C);\n  };\n}\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\n__w_pdfjs_require__(28)($Promise, PROMISE);\n__w_pdfjs_require__(66)(PROMISE);\nWrapper = __w_pdfjs_require__(6)[PROMISE];\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n  reject: function reject(r) {\n    var capability = newPromiseCapability(this);\n    var $$reject = capability.reject;\n    $$reject(r);\n    return capability.promise;\n  }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n  resolve: function resolve(x) {\n    return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n  }\n});\n$export($export.S + $export.F * !(USE_NATIVE && __w_pdfjs_require__(46)(function (iter) {\n  $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n  all: function all(iterable) {\n    var C = this;\n    var capability = newPromiseCapability(C);\n    var resolve = capability.resolve;\n    var reject = capability.reject;\n    var result = perform(function () {\n      var values = [];\n      var index = 0;\n      var remaining = 1;\n      forOf(iterable, false, function (promise) {\n        var $index = index++;\n        var alreadyCalled = false;\n        values.push(undefined);\n        remaining++;\n        C.resolve(promise).then(function (value) {\n          if (alreadyCalled) return;\n          alreadyCalled = true;\n          values[$index] = value;\n          --remaining || resolve(values);\n        }, reject);\n      });\n      --remaining || resolve(values);\n    });\n    if (result.e) reject(result.v);\n    return capability.promise;\n  },\n  race: function race(iterable) {\n    var C = this;\n    var capability = newPromiseCapability(C);\n    var reject = capability.reject;\n    var result = perform(function () {\n      forOf(iterable, false, function (promise) {\n        C.resolve(promise).then(capability.resolve, reject);\n      });\n    });\n    if (result.e) reject(result.v);\n    return capability.promise;\n  }\n});\n\n/***/ }),\n/* 114 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(9);\nmodule.exports = function (iterator, fn, value, entries) {\n  try {\n    return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n  } catch (e) {\n    var ret = iterator['return'];\n    if (ret !== undefined) anObject(ret.call(iterator));\n    throw e;\n  }\n};\n\n/***/ }),\n/* 115 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (fn, args, that) {\n  var un = that === undefined;\n  switch (args.length) {\n    case 0:\n      return un ? fn() : fn.call(that);\n    case 1:\n      return un ? fn(args[0]) : fn.call(that, args[0]);\n    case 2:\n      return un ? fn(args[0], args[1]) : fn.call(that, args[0], args[1]);\n    case 3:\n      return un ? fn(args[0], args[1], args[2]) : fn.call(that, args[0], args[1], args[2]);\n    case 4:\n      return un ? fn(args[0], args[1], args[2], args[3]) : fn.call(that, args[0], args[1], args[2], args[3]);\n  }\n  return fn.apply(that, args);\n};\n\n/***/ }),\n/* 116 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(1);\nvar macrotask = __w_pdfjs_require__(71).set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = __w_pdfjs_require__(27)(process) == 'process';\nmodule.exports = function () {\n  var head, last, notify;\n  var flush = function flush() {\n    var parent, fn;\n    if (isNode && (parent = process.domain)) parent.exit();\n    while (head) {\n      fn = head.fn;\n      head = head.next;\n      try {\n        fn();\n      } catch (e) {\n        if (head) notify();else last = undefined;\n        throw e;\n      }\n    }\n    last = undefined;\n    if (parent) parent.enter();\n  };\n  if (isNode) {\n    notify = function notify() {\n      process.nextTick(flush);\n    };\n  } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n    var toggle = true;\n    var node = document.createTextNode('');\n    new Observer(flush).observe(node, { characterData: true });\n    notify = function notify() {\n      node.data = toggle = !toggle;\n    };\n  } else if (Promise && Promise.resolve) {\n    var promise = Promise.resolve(undefined);\n    notify = function notify() {\n      promise.then(flush);\n    };\n  } else {\n    notify = function notify() {\n      macrotask.call(global, flush);\n    };\n  }\n  return function (fn) {\n    var task = {\n      fn: fn,\n      next: undefined\n    };\n    if (last) last.next = task;\n    if (!head) {\n      head = task;\n      notify();\n    }\n    last = task;\n  };\n};\n\n/***/ }),\n/* 117 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(1);\nvar navigator = global.navigator;\nmodule.exports = navigator && navigator.userAgent || '';\n\n/***/ }),\n/* 118 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\nvar core = __w_pdfjs_require__(6);\nvar global = __w_pdfjs_require__(1);\nvar speciesConstructor = __w_pdfjs_require__(45);\nvar promiseResolve = __w_pdfjs_require__(73);\n$export($export.P + $export.R, 'Promise', {\n  'finally': function _finally(onFinally) {\n    var C = speciesConstructor(this, core.Promise || global.Promise);\n    var isFunction = typeof onFinally == 'function';\n    return this.then(isFunction ? function (x) {\n      return promiseResolve(C, onFinally()).then(function () {\n        return x;\n      });\n    } : onFinally, isFunction ? function (e) {\n      return promiseResolve(C, onFinally()).then(function () {\n        throw e;\n      });\n    } : onFinally);\n  }\n});\n\n/***/ }),\n/* 119 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\nvar newPromiseCapability = __w_pdfjs_require__(47);\nvar perform = __w_pdfjs_require__(72);\n$export($export.S, 'Promise', {\n  'try': function _try(callbackfn) {\n    var promiseCapability = newPromiseCapability.f(this);\n    var result = perform(callbackfn);\n    (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n    return promiseCapability.promise;\n  }\n});\n\n/***/ }),\n/* 120 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(69);\n__w_pdfjs_require__(70);\n__w_pdfjs_require__(121);\n__w_pdfjs_require__(128);\n__w_pdfjs_require__(130);\nmodule.exports = __w_pdfjs_require__(6).WeakMap;\n\n/***/ }),\n/* 121 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar each = __w_pdfjs_require__(44)(0);\nvar redefine = __w_pdfjs_require__(16);\nvar meta = __w_pdfjs_require__(48);\nvar assign = __w_pdfjs_require__(122);\nvar weak = __w_pdfjs_require__(124);\nvar isObject = __w_pdfjs_require__(3);\nvar fails = __w_pdfjs_require__(11);\nvar validate = __w_pdfjs_require__(74);\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar tmp = {};\nvar InternalMap;\nvar wrapper = function wrapper(get) {\n  return function WeakMap() {\n    return get(this, arguments.length > 0 ? arguments[0] : undefined);\n  };\n};\nvar methods = {\n  get: function get(key) {\n    if (isObject(key)) {\n      var data = getWeak(key);\n      if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n      return data ? data[this._i] : undefined;\n    }\n  },\n  set: function set(key, value) {\n    return weak.def(validate(this, WEAK_MAP), key, value);\n  }\n};\nvar $WeakMap = module.exports = __w_pdfjs_require__(125)(WEAK_MAP, wrapper, methods, weak, true, true);\nif (fails(function () {\n  return new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7;\n})) {\n  InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n  assign(InternalMap.prototype, methods);\n  meta.NEED = true;\n  each(['delete', 'has', 'get', 'set'], function (key) {\n    var proto = $WeakMap.prototype;\n    var method = proto[key];\n    redefine(proto, key, function (a, b) {\n      if (isObject(a) && !isExtensible(a)) {\n        if (!this._f) this._f = new InternalMap();\n        var result = this._f[key](a, b);\n        return key == 'set' ? this : result;\n      }\n      return method.call(this, a, b);\n    });\n  });\n}\n\n/***/ }),\n/* 122 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar getKeys = __w_pdfjs_require__(43);\nvar gOPS = __w_pdfjs_require__(123);\nvar pIE = __w_pdfjs_require__(68);\nvar toObject = __w_pdfjs_require__(20);\nvar IObject = __w_pdfjs_require__(39);\nvar $assign = Object.assign;\nmodule.exports = !$assign || __w_pdfjs_require__(11)(function () {\n  var A = {};\n  var B = {};\n  var S = Symbol();\n  var K = 'abcdefghijklmnopqrst';\n  A[S] = 7;\n  K.split('').forEach(function (k) {\n    B[k] = k;\n  });\n  return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) {\n  var T = toObject(target);\n  var aLen = arguments.length;\n  var index = 1;\n  var getSymbols = gOPS.f;\n  var isEnum = pIE.f;\n  while (aLen > index) {\n    var S = IObject(arguments[index++]);\n    var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n    var length = keys.length;\n    var j = 0;\n    var key;\n    while (length > j) {\n      if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n    }\n  }\n  return T;\n} : $assign;\n\n/***/ }),\n/* 123 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nexports.f = Object.getOwnPropertySymbols;\n\n/***/ }),\n/* 124 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar redefineAll = __w_pdfjs_require__(25);\nvar getWeak = __w_pdfjs_require__(48).getWeak;\nvar anObject = __w_pdfjs_require__(9);\nvar isObject = __w_pdfjs_require__(3);\nvar anInstance = __w_pdfjs_require__(26);\nvar forOf = __w_pdfjs_require__(35);\nvar createArrayMethod = __w_pdfjs_require__(44);\nvar $has = __w_pdfjs_require__(12);\nvar validate = __w_pdfjs_require__(74);\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\nvar uncaughtFrozenStore = function uncaughtFrozenStore(that) {\n  return that._l || (that._l = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function UncaughtFrozenStore() {\n  this.a = [];\n};\nvar findUncaughtFrozen = function findUncaughtFrozen(store, key) {\n  return arrayFind(store.a, function (it) {\n    return it[0] === key;\n  });\n};\nUncaughtFrozenStore.prototype = {\n  get: function get(key) {\n    var entry = findUncaughtFrozen(this, key);\n    if (entry) return entry[1];\n  },\n  has: function has(key) {\n    return !!findUncaughtFrozen(this, key);\n  },\n  set: function set(key, value) {\n    var entry = findUncaughtFrozen(this, key);\n    if (entry) entry[1] = value;else this.a.push([key, value]);\n  },\n  'delete': function _delete(key) {\n    var index = arrayFindIndex(this.a, function (it) {\n      return it[0] === key;\n    });\n    if (~index) this.a.splice(index, 1);\n    return !!~index;\n  }\n};\nmodule.exports = {\n  getConstructor: function getConstructor(wrapper, NAME, IS_MAP, ADDER) {\n    var C = wrapper(function (that, iterable) {\n      anInstance(that, C, NAME, '_i');\n      that._t = NAME;\n      that._i = id++;\n      that._l = undefined;\n      if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n    });\n    redefineAll(C.prototype, {\n      'delete': function _delete(key) {\n        if (!isObject(key)) return false;\n        var data = getWeak(key);\n        if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n        return data && $has(data, this._i) && delete data[this._i];\n      },\n      has: function has(key) {\n        if (!isObject(key)) return false;\n        var data = getWeak(key);\n        if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n        return data && $has(data, this._i);\n      }\n    });\n    return C;\n  },\n  def: function def(that, key, value) {\n    var data = getWeak(anObject(key), true);\n    if (data === true) uncaughtFrozenStore(that).set(key, value);else data[that._i] = value;\n    return that;\n  },\n  ufstore: uncaughtFrozenStore\n};\n\n/***/ }),\n/* 125 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(1);\nvar $export = __w_pdfjs_require__(7);\nvar redefine = __w_pdfjs_require__(16);\nvar redefineAll = __w_pdfjs_require__(25);\nvar meta = __w_pdfjs_require__(48);\nvar forOf = __w_pdfjs_require__(35);\nvar anInstance = __w_pdfjs_require__(26);\nvar isObject = __w_pdfjs_require__(3);\nvar fails = __w_pdfjs_require__(11);\nvar $iterDetect = __w_pdfjs_require__(46);\nvar setToStringTag = __w_pdfjs_require__(28);\nvar inheritIfRequired = __w_pdfjs_require__(126);\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n  var Base = global[NAME];\n  var C = Base;\n  var ADDER = IS_MAP ? 'set' : 'add';\n  var proto = C && C.prototype;\n  var O = {};\n  var fixMethod = function fixMethod(KEY) {\n    var fn = proto[KEY];\n    redefine(proto, KEY, KEY == 'delete' ? function (a) {\n      return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n    } : KEY == 'has' ? function has(a) {\n      return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n    } : KEY == 'get' ? function get(a) {\n      return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n    } : KEY == 'add' ? function add(a) {\n      fn.call(this, a === 0 ? 0 : a);\n      return this;\n    } : function set(a, b) {\n      fn.call(this, a === 0 ? 0 : a, b);\n      return this;\n    });\n  };\n  if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n    new C().entries().next();\n  }))) {\n    C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n    redefineAll(C.prototype, methods);\n    meta.NEED = true;\n  } else {\n    var instance = new C();\n    var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n    var THROWS_ON_PRIMITIVES = fails(function () {\n      instance.has(1);\n    });\n    var ACCEPT_ITERABLES = $iterDetect(function (iter) {\n      new C(iter);\n    });\n    var BUGGY_ZERO = !IS_WEAK && fails(function () {\n      var $instance = new C();\n      var index = 5;\n      while (index--) {\n        $instance[ADDER](index, index);\n      }return !$instance.has(-0);\n    });\n    if (!ACCEPT_ITERABLES) {\n      C = wrapper(function (target, iterable) {\n        anInstance(target, C, NAME);\n        var that = inheritIfRequired(new Base(), target, C);\n        if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n        return that;\n      });\n      C.prototype = proto;\n      proto.constructor = C;\n    }\n    if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n      fixMethod('delete');\n      fixMethod('has');\n      IS_MAP && fixMethod('get');\n    }\n    if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n    if (IS_WEAK && proto.clear) delete proto.clear;\n  }\n  setToStringTag(C, NAME);\n  O[NAME] = C;\n  $export($export.G + $export.W + $export.F * (C != Base), O);\n  if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n  return C;\n};\n\n/***/ }),\n/* 126 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(3);\nvar setPrototypeOf = __w_pdfjs_require__(127).set;\nmodule.exports = function (that, target, C) {\n  var S = target.constructor;\n  var P;\n  if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n    setPrototypeOf(that, P);\n  }\n  return that;\n};\n\n/***/ }),\n/* 127 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(3);\nvar anObject = __w_pdfjs_require__(9);\nvar check = function check(O, proto) {\n  anObject(O);\n  if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n  set: Object.setPrototypeOf || ('__proto__' in {} ? function (test, buggy, set) {\n    try {\n      set = __w_pdfjs_require__(13)(Function.call, __w_pdfjs_require__(67).f(Object.prototype, '__proto__').set, 2);\n      set(test, []);\n      buggy = !(test instanceof Array);\n    } catch (e) {\n      buggy = true;\n    }\n    return function setPrototypeOf(O, proto) {\n      check(O, proto);\n      if (buggy) O.__proto__ = proto;else set(O, proto);\n      return O;\n    };\n  }({}, false) : undefined),\n  check: check\n};\n\n/***/ }),\n/* 128 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(129)('WeakMap');\n\n/***/ }),\n/* 129 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\nmodule.exports = function (COLLECTION) {\n  $export($export.S, COLLECTION, {\n    of: function of() {\n      var length = arguments.length;\n      var A = new Array(length);\n      while (length--) {\n        A[length] = arguments[length];\n      }return new this(A);\n    }\n  });\n};\n\n/***/ }),\n/* 130 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(131)('WeakMap');\n\n/***/ }),\n/* 131 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\nvar aFunction = __w_pdfjs_require__(24);\nvar ctx = __w_pdfjs_require__(13);\nvar forOf = __w_pdfjs_require__(35);\nmodule.exports = function (COLLECTION) {\n  $export($export.S, COLLECTION, {\n    from: function from(source) {\n      var mapFn = arguments[1];\n      var mapping, A, n, cb;\n      aFunction(this);\n      mapping = mapFn !== undefined;\n      if (mapping) aFunction(mapFn);\n      if (source == undefined) return new this();\n      A = [];\n      if (mapping) {\n        n = 0;\n        cb = ctx(mapFn, arguments[2], 2);\n        forOf(source, false, function (nextItem) {\n          A.push(cb(nextItem, n++));\n        });\n      } else {\n        forOf(source, false, A.push, A);\n      }\n      return new this(A);\n    }\n  });\n};\n\n/***/ }),\n/* 132 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isReadableStreamSupported = false;\nif (typeof ReadableStream !== 'undefined') {\n  try {\n    new ReadableStream({\n      start: function start(controller) {\n        controller.close();\n      }\n    });\n    isReadableStreamSupported = true;\n  } catch (e) {}\n}\nif (isReadableStreamSupported) {\n  exports.ReadableStream = ReadableStream;\n} else {\n  exports.ReadableStream = __w_pdfjs_require__(133).ReadableStream;\n}\n\n/***/ }),\n/* 133 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar _typeof2 = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n(function (e, a) {\n  for (var i in a) {\n    e[i] = a[i];\n  }\n})(exports, function (modules) {\n  var installedModules = {};\n  function __w_pdfjs_require__(moduleId) {\n    if (installedModules[moduleId]) return installedModules[moduleId].exports;\n    var module = installedModules[moduleId] = {\n      i: moduleId,\n      l: false,\n      exports: {}\n    };\n    modules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n    module.l = true;\n    return module.exports;\n  }\n  __w_pdfjs_require__.m = modules;\n  __w_pdfjs_require__.c = installedModules;\n  __w_pdfjs_require__.i = function (value) {\n    return value;\n  };\n  __w_pdfjs_require__.d = function (exports, name, getter) {\n    if (!__w_pdfjs_require__.o(exports, name)) {\n      Object.defineProperty(exports, name, {\n        configurable: false,\n        enumerable: true,\n        get: getter\n      });\n    }\n  };\n  __w_pdfjs_require__.n = function (module) {\n    var getter = module && module.__esModule ? function getDefault() {\n      return module['default'];\n    } : function getModuleExports() {\n      return module;\n    };\n    __w_pdfjs_require__.d(getter, 'a', getter);\n    return getter;\n  };\n  __w_pdfjs_require__.o = function (object, property) {\n    return Object.prototype.hasOwnProperty.call(object, property);\n  };\n  __w_pdfjs_require__.p = \"\";\n  return __w_pdfjs_require__(__w_pdfjs_require__.s = 7);\n}([function (module, exports, __w_pdfjs_require__) {\n  \"use strict\";\n\n  var _typeof = typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\" ? function (obj) {\n    return typeof obj === 'undefined' ? 'undefined' : _typeof2(obj);\n  } : function (obj) {\n    return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj === 'undefined' ? 'undefined' : _typeof2(obj);\n  };\n  var _require = __w_pdfjs_require__(1),\n      assert = _require.assert;\n  function IsPropertyKey(argument) {\n    return typeof argument === 'string' || (typeof argument === 'undefined' ? 'undefined' : _typeof(argument)) === 'symbol';\n  }\n  exports.typeIsObject = function (x) {\n    return (typeof x === 'undefined' ? 'undefined' : _typeof(x)) === 'object' && x !== null || typeof x === 'function';\n  };\n  exports.createDataProperty = function (o, p, v) {\n    assert(exports.typeIsObject(o));\n    Object.defineProperty(o, p, {\n      value: v,\n      writable: true,\n      enumerable: true,\n      configurable: true\n    });\n  };\n  exports.createArrayFromList = function (elements) {\n    return elements.slice();\n  };\n  exports.ArrayBufferCopy = function (dest, destOffset, src, srcOffset, n) {\n    new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);\n  };\n  exports.CreateIterResultObject = function (value, done) {\n    assert(typeof done === 'boolean');\n    var obj = {};\n    Object.defineProperty(obj, 'value', {\n      value: value,\n      enumerable: true,\n      writable: true,\n      configurable: true\n    });\n    Object.defineProperty(obj, 'done', {\n      value: done,\n      enumerable: true,\n      writable: true,\n      configurable: true\n    });\n    return obj;\n  };\n  exports.IsFiniteNonNegativeNumber = function (v) {\n    if (Number.isNaN(v)) {\n      return false;\n    }\n    if (v === Infinity) {\n      return false;\n    }\n    if (v < 0) {\n      return false;\n    }\n    return true;\n  };\n  function Call(F, V, args) {\n    if (typeof F !== 'function') {\n      throw new TypeError('Argument is not a function');\n    }\n    return Function.prototype.apply.call(F, V, args);\n  }\n  exports.InvokeOrNoop = function (O, P, args) {\n    assert(O !== undefined);\n    assert(IsPropertyKey(P));\n    assert(Array.isArray(args));\n    var method = O[P];\n    if (method === undefined) {\n      return undefined;\n    }\n    return Call(method, O, args);\n  };\n  exports.PromiseInvokeOrNoop = function (O, P, args) {\n    assert(O !== undefined);\n    assert(IsPropertyKey(P));\n    assert(Array.isArray(args));\n    try {\n      return Promise.resolve(exports.InvokeOrNoop(O, P, args));\n    } catch (returnValueE) {\n      return Promise.reject(returnValueE);\n    }\n  };\n  exports.PromiseInvokeOrPerformFallback = function (O, P, args, F, argsF) {\n    assert(O !== undefined);\n    assert(IsPropertyKey(P));\n    assert(Array.isArray(args));\n    assert(Array.isArray(argsF));\n    var method = void 0;\n    try {\n      method = O[P];\n    } catch (methodE) {\n      return Promise.reject(methodE);\n    }\n    if (method === undefined) {\n      return F.apply(null, argsF);\n    }\n    try {\n      return Promise.resolve(Call(method, O, args));\n    } catch (e) {\n      return Promise.reject(e);\n    }\n  };\n  exports.TransferArrayBuffer = function (O) {\n    return O.slice();\n  };\n  exports.ValidateAndNormalizeHighWaterMark = function (highWaterMark) {\n    highWaterMark = Number(highWaterMark);\n    if (Number.isNaN(highWaterMark) || highWaterMark < 0) {\n      throw new RangeError('highWaterMark property of a queuing strategy must be non-negative and non-NaN');\n    }\n    return highWaterMark;\n  };\n  exports.ValidateAndNormalizeQueuingStrategy = function (size, highWaterMark) {\n    if (size !== undefined && typeof size !== 'function') {\n      throw new TypeError('size property of a queuing strategy must be a function');\n    }\n    highWaterMark = exports.ValidateAndNormalizeHighWaterMark(highWaterMark);\n    return {\n      size: size,\n      highWaterMark: highWaterMark\n    };\n  };\n}, function (module, exports, __w_pdfjs_require__) {\n  \"use strict\";\n\n  function rethrowAssertionErrorRejection(e) {\n    if (e && e.constructor === AssertionError) {\n      setTimeout(function () {\n        throw e;\n      }, 0);\n    }\n  }\n  function AssertionError(message) {\n    this.name = 'AssertionError';\n    this.message = message || '';\n    this.stack = new Error().stack;\n  }\n  AssertionError.prototype = Object.create(Error.prototype);\n  AssertionError.prototype.constructor = AssertionError;\n  function assert(value, message) {\n    if (!value) {\n      throw new AssertionError(message);\n    }\n  }\n  module.exports = {\n    rethrowAssertionErrorRejection: rethrowAssertionErrorRejection,\n    AssertionError: AssertionError,\n    assert: assert\n  };\n}, function (module, exports, __w_pdfjs_require__) {\n  \"use strict\";\n\n  var _createClass = function () {\n    function defineProperties(target, props) {\n      for (var i = 0; i < props.length; i++) {\n        var descriptor = props[i];\n        descriptor.enumerable = descriptor.enumerable || false;\n        descriptor.configurable = true;\n        if (\"value\" in descriptor) descriptor.writable = true;\n        Object.defineProperty(target, descriptor.key, descriptor);\n      }\n    }\n    return function (Constructor, protoProps, staticProps) {\n      if (protoProps) defineProperties(Constructor.prototype, protoProps);\n      if (staticProps) defineProperties(Constructor, staticProps);\n      return Constructor;\n    };\n  }();\n  function _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n      throw new TypeError(\"Cannot call a class as a function\");\n    }\n  }\n  var _require = __w_pdfjs_require__(0),\n      InvokeOrNoop = _require.InvokeOrNoop,\n      PromiseInvokeOrNoop = _require.PromiseInvokeOrNoop,\n      ValidateAndNormalizeQueuingStrategy = _require.ValidateAndNormalizeQueuingStrategy,\n      typeIsObject = _require.typeIsObject;\n  var _require2 = __w_pdfjs_require__(1),\n      assert = _require2.assert,\n      rethrowAssertionErrorRejection = _require2.rethrowAssertionErrorRejection;\n  var _require3 = __w_pdfjs_require__(3),\n      DequeueValue = _require3.DequeueValue,\n      EnqueueValueWithSize = _require3.EnqueueValueWithSize,\n      PeekQueueValue = _require3.PeekQueueValue,\n      ResetQueue = _require3.ResetQueue;\n  var WritableStream = function () {\n    function WritableStream() {\n      var underlyingSink = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n      var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n          size = _ref.size,\n          _ref$highWaterMark = _ref.highWaterMark,\n          highWaterMark = _ref$highWaterMark === undefined ? 1 : _ref$highWaterMark;\n      _classCallCheck(this, WritableStream);\n      this._state = 'writable';\n      this._storedError = undefined;\n      this._writer = undefined;\n      this._writableStreamController = undefined;\n      this._writeRequests = [];\n      this._inFlightWriteRequest = undefined;\n      this._closeRequest = undefined;\n      this._inFlightCloseRequest = undefined;\n      this._pendingAbortRequest = undefined;\n      this._backpressure = false;\n      var type = underlyingSink.type;\n      if (type !== undefined) {\n        throw new RangeError('Invalid type is specified');\n      }\n      this._writableStreamController = new WritableStreamDefaultController(this, underlyingSink, size, highWaterMark);\n      this._writableStreamController.__startSteps();\n    }\n    _createClass(WritableStream, [{\n      key: 'abort',\n      value: function abort(reason) {\n        if (IsWritableStream(this) === false) {\n          return Promise.reject(streamBrandCheckException('abort'));\n        }\n        if (IsWritableStreamLocked(this) === true) {\n          return Promise.reject(new TypeError('Cannot abort a stream that already has a writer'));\n        }\n        return WritableStreamAbort(this, reason);\n      }\n    }, {\n      key: 'getWriter',\n      value: function getWriter() {\n        if (IsWritableStream(this) === false) {\n          throw streamBrandCheckException('getWriter');\n        }\n        return AcquireWritableStreamDefaultWriter(this);\n      }\n    }, {\n      key: 'locked',\n      get: function get() {\n        if (IsWritableStream(this) === false) {\n          throw streamBrandCheckException('locked');\n        }\n        return IsWritableStreamLocked(this);\n      }\n    }]);\n    return WritableStream;\n  }();\n  module.exports = {\n    AcquireWritableStreamDefaultWriter: AcquireWritableStreamDefaultWriter,\n    IsWritableStream: IsWritableStream,\n    IsWritableStreamLocked: IsWritableStreamLocked,\n    WritableStream: WritableStream,\n    WritableStreamAbort: WritableStreamAbort,\n    WritableStreamDefaultControllerError: WritableStreamDefaultControllerError,\n    WritableStreamDefaultWriterCloseWithErrorPropagation: WritableStreamDefaultWriterCloseWithErrorPropagation,\n    WritableStreamDefaultWriterRelease: WritableStreamDefaultWriterRelease,\n    WritableStreamDefaultWriterWrite: WritableStreamDefaultWriterWrite,\n    WritableStreamCloseQueuedOrInFlight: WritableStreamCloseQueuedOrInFlight\n  };\n  function AcquireWritableStreamDefaultWriter(stream) {\n    return new WritableStreamDefaultWriter(stream);\n  }\n  function IsWritableStream(x) {\n    if (!typeIsObject(x)) {\n      return false;\n    }\n    if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) {\n      return false;\n    }\n    return true;\n  }\n  function IsWritableStreamLocked(stream) {\n    assert(IsWritableStream(stream) === true, 'IsWritableStreamLocked should only be used on known writable streams');\n    if (stream._writer === undefined) {\n      return false;\n    }\n    return true;\n  }\n  function WritableStreamAbort(stream, reason) {\n    var state = stream._state;\n    if (state === 'closed') {\n      return Promise.resolve(undefined);\n    }\n    if (state === 'errored') {\n      return Promise.reject(stream._storedError);\n    }\n    var error = new TypeError('Requested to abort');\n    if (stream._pendingAbortRequest !== undefined) {\n      return Promise.reject(error);\n    }\n    assert(state === 'writable' || state === 'erroring', 'state must be writable or erroring');\n    var wasAlreadyErroring = false;\n    if (state === 'erroring') {\n      wasAlreadyErroring = true;\n      reason = undefined;\n    }\n    var promise = new Promise(function (resolve, reject) {\n      stream._pendingAbortRequest = {\n        _resolve: resolve,\n        _reject: reject,\n        _reason: reason,\n        _wasAlreadyErroring: wasAlreadyErroring\n      };\n    });\n    if (wasAlreadyErroring === false) {\n      WritableStreamStartErroring(stream, error);\n    }\n    return promise;\n  }\n  function WritableStreamAddWriteRequest(stream) {\n    assert(IsWritableStreamLocked(stream) === true);\n    assert(stream._state === 'writable');\n    var promise = new Promise(function (resolve, reject) {\n      var writeRequest = {\n        _resolve: resolve,\n        _reject: reject\n      };\n      stream._writeRequests.push(writeRequest);\n    });\n    return promise;\n  }\n  function WritableStreamDealWithRejection(stream, error) {\n    var state = stream._state;\n    if (state === 'writable') {\n      WritableStreamStartErroring(stream, error);\n      return;\n    }\n    assert(state === 'erroring');\n    WritableStreamFinishErroring(stream);\n  }\n  function WritableStreamStartErroring(stream, reason) {\n    assert(stream._storedError === undefined, 'stream._storedError === undefined');\n    assert(stream._state === 'writable', 'state must be writable');\n    var controller = stream._writableStreamController;\n    assert(controller !== undefined, 'controller must not be undefined');\n    stream._state = 'erroring';\n    stream._storedError = reason;\n    var writer = stream._writer;\n    if (writer !== undefined) {\n      WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);\n    }\n    if (WritableStreamHasOperationMarkedInFlight(stream) === false && controller._started === true) {\n      WritableStreamFinishErroring(stream);\n    }\n  }\n  function WritableStreamFinishErroring(stream) {\n    assert(stream._state === 'erroring', 'stream._state === erroring');\n    assert(WritableStreamHasOperationMarkedInFlight(stream) === false, 'WritableStreamHasOperationMarkedInFlight(stream) === false');\n    stream._state = 'errored';\n    stream._writableStreamController.__errorSteps();\n    var storedError = stream._storedError;\n    for (var i = 0; i < stream._writeRequests.length; i++) {\n      var writeRequest = stream._writeRequests[i];\n      writeRequest._reject(storedError);\n    }\n    stream._writeRequests = [];\n    if (stream._pendingAbortRequest === undefined) {\n      WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n      return;\n    }\n    var abortRequest = stream._pendingAbortRequest;\n    stream._pendingAbortRequest = undefined;\n    if (abortRequest._wasAlreadyErroring === true) {\n      abortRequest._reject(storedError);\n      WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n      return;\n    }\n    var promise = stream._writableStreamController.__abortSteps(abortRequest._reason);\n    promise.then(function () {\n      abortRequest._resolve();\n      WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n    }, function (reason) {\n      abortRequest._reject(reason);\n      WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n    });\n  }\n  function WritableStreamFinishInFlightWrite(stream) {\n    assert(stream._inFlightWriteRequest !== undefined);\n    stream._inFlightWriteRequest._resolve(undefined);\n    stream._inFlightWriteRequest = undefined;\n  }\n  function WritableStreamFinishInFlightWriteWithError(stream, error) {\n    assert(stream._inFlightWriteRequest !== undefined);\n    stream._inFlightWriteRequest._reject(error);\n    stream._inFlightWriteRequest = undefined;\n    assert(stream._state === 'writable' || stream._state === 'erroring');\n    WritableStreamDealWithRejection(stream, error);\n  }\n  function WritableStreamFinishInFlightClose(stream) {\n    assert(stream._inFlightCloseRequest !== undefined);\n    stream._inFlightCloseRequest._resolve(undefined);\n    stream._inFlightCloseRequest = undefined;\n    var state = stream._state;\n    assert(state === 'writable' || state === 'erroring');\n    if (state === 'erroring') {\n      stream._storedError = undefined;\n      if (stream._pendingAbortRequest !== undefined) {\n        stream._pendingAbortRequest._resolve();\n        stream._pendingAbortRequest = undefined;\n      }\n    }\n    stream._state = 'closed';\n    var writer = stream._writer;\n    if (writer !== undefined) {\n      defaultWriterClosedPromiseResolve(writer);\n    }\n    assert(stream._pendingAbortRequest === undefined, 'stream._pendingAbortRequest === undefined');\n    assert(stream._storedError === undefined, 'stream._storedError === undefined');\n  }\n  function WritableStreamFinishInFlightCloseWithError(stream, error) {\n    assert(stream._inFlightCloseRequest !== undefined);\n    stream._inFlightCloseRequest._reject(error);\n    stream._inFlightCloseRequest = undefined;\n    assert(stream._state === 'writable' || stream._state === 'erroring');\n    if (stream._pendingAbortRequest !== undefined) {\n      stream._pendingAbortRequest._reject(error);\n      stream._pendingAbortRequest = undefined;\n    }\n    WritableStreamDealWithRejection(stream, error);\n  }\n  function WritableStreamCloseQueuedOrInFlight(stream) {\n    if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) {\n      return false;\n    }\n    return true;\n  }\n  function WritableStreamHasOperationMarkedInFlight(stream) {\n    if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) {\n      return false;\n    }\n    return true;\n  }\n  function WritableStreamMarkCloseRequestInFlight(stream) {\n    assert(stream._inFlightCloseRequest === undefined);\n    assert(stream._closeRequest !== undefined);\n    stream._inFlightCloseRequest = stream._closeRequest;\n    stream._closeRequest = undefined;\n  }\n  function WritableStreamMarkFirstWriteRequestInFlight(stream) {\n    assert(stream._inFlightWriteRequest === undefined, 'there must be no pending write request');\n    assert(stream._writeRequests.length !== 0, 'writeRequests must not be empty');\n    stream._inFlightWriteRequest = stream._writeRequests.shift();\n  }\n  function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) {\n    assert(stream._state === 'errored', '_stream_.[[state]] is `\"errored\"`');\n    if (stream._closeRequest !== undefined) {\n      assert(stream._inFlightCloseRequest === undefined);\n      stream._closeRequest._reject(stream._storedError);\n      stream._closeRequest = undefined;\n    }\n    var writer = stream._writer;\n    if (writer !== undefined) {\n      defaultWriterClosedPromiseReject(writer, stream._storedError);\n      writer._closedPromise.catch(function () {});\n    }\n  }\n  function WritableStreamUpdateBackpressure(stream, backpressure) {\n    assert(stream._state === 'writable');\n    assert(WritableStreamCloseQueuedOrInFlight(stream) === false);\n    var writer = stream._writer;\n    if (writer !== undefined && backpressure !== stream._backpressure) {\n      if (backpressure === true) {\n        defaultWriterReadyPromiseReset(writer);\n      } else {\n        assert(backpressure === false);\n        defaultWriterReadyPromiseResolve(writer);\n      }\n    }\n    stream._backpressure = backpressure;\n  }\n  var WritableStreamDefaultWriter = function () {\n    function WritableStreamDefaultWriter(stream) {\n      _classCallCheck(this, WritableStreamDefaultWriter);\n      if (IsWritableStream(stream) === false) {\n        throw new TypeError('WritableStreamDefaultWriter can only be constructed with a WritableStream instance');\n      }\n      if (IsWritableStreamLocked(stream) === true) {\n        throw new TypeError('This stream has already been locked for exclusive writing by another writer');\n      }\n      this._ownerWritableStream = stream;\n      stream._writer = this;\n      var state = stream._state;\n      if (state === 'writable') {\n        if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._backpressure === true) {\n          defaultWriterReadyPromiseInitialize(this);\n        } else {\n          defaultWriterReadyPromiseInitializeAsResolved(this);\n        }\n        defaultWriterClosedPromiseInitialize(this);\n      } else if (state === 'erroring') {\n        defaultWriterReadyPromiseInitializeAsRejected(this, stream._storedError);\n        this._readyPromise.catch(function () {});\n        defaultWriterClosedPromiseInitialize(this);\n      } else if (state === 'closed') {\n        defaultWriterReadyPromiseInitializeAsResolved(this);\n        defaultWriterClosedPromiseInitializeAsResolved(this);\n      } else {\n        assert(state === 'errored', 'state must be errored');\n        var storedError = stream._storedError;\n        defaultWriterReadyPromiseInitializeAsRejected(this, storedError);\n        this._readyPromise.catch(function () {});\n        defaultWriterClosedPromiseInitializeAsRejected(this, storedError);\n        this._closedPromise.catch(function () {});\n      }\n    }\n    _createClass(WritableStreamDefaultWriter, [{\n      key: 'abort',\n      value: function abort(reason) {\n        if (IsWritableStreamDefaultWriter(this) === false) {\n          return Promise.reject(defaultWriterBrandCheckException('abort'));\n        }\n        if (this._ownerWritableStream === undefined) {\n          return Promise.reject(defaultWriterLockException('abort'));\n        }\n        return WritableStreamDefaultWriterAbort(this, reason);\n      }\n    }, {\n      key: 'close',\n      value: function close() {\n        if (IsWritableStreamDefaultWriter(this) === false) {\n          return Promise.reject(defaultWriterBrandCheckException('close'));\n        }\n        var stream = this._ownerWritableStream;\n        if (stream === undefined) {\n          return Promise.reject(defaultWriterLockException('close'));\n        }\n        if (WritableStreamCloseQueuedOrInFlight(stream) === true) {\n          return Promise.reject(new TypeError('cannot close an already-closing stream'));\n        }\n        return WritableStreamDefaultWriterClose(this);\n      }\n    }, {\n      key: 'releaseLock',\n      value: function releaseLock() {\n        if (IsWritableStreamDefaultWriter(this) === false) {\n          throw defaultWriterBrandCheckException('releaseLock');\n        }\n        var stream = this._ownerWritableStream;\n        if (stream === undefined) {\n          return;\n        }\n        assert(stream._writer !== undefined);\n        WritableStreamDefaultWriterRelease(this);\n      }\n    }, {\n      key: 'write',\n      value: function write(chunk) {\n        if (IsWritableStreamDefaultWriter(this) === false) {\n          return Promise.reject(defaultWriterBrandCheckException('write'));\n        }\n        if (this._ownerWritableStream === undefined) {\n          return Promise.reject(defaultWriterLockException('write to'));\n        }\n        return WritableStreamDefaultWriterWrite(this, chunk);\n      }\n    }, {\n      key: 'closed',\n      get: function get() {\n        if (IsWritableStreamDefaultWriter(this) === false) {\n          return Promise.reject(defaultWriterBrandCheckException('closed'));\n        }\n        return this._closedPromise;\n      }\n    }, {\n      key: 'desiredSize',\n      get: function get() {\n        if (IsWritableStreamDefaultWriter(this) === false) {\n          throw defaultWriterBrandCheckException('desiredSize');\n        }\n        if (this._ownerWritableStream === undefined) {\n          throw defaultWriterLockException('desiredSize');\n        }\n        return WritableStreamDefaultWriterGetDesiredSize(this);\n      }\n    }, {\n      key: 'ready',\n      get: function get() {\n        if (IsWritableStreamDefaultWriter(this) === false) {\n          return Promise.reject(defaultWriterBrandCheckException('ready'));\n        }\n        return this._readyPromise;\n      }\n    }]);\n    return WritableStreamDefaultWriter;\n  }();\n  function IsWritableStreamDefaultWriter(x) {\n    if (!typeIsObject(x)) {\n      return false;\n    }\n    if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) {\n      return false;\n    }\n    return true;\n  }\n  function WritableStreamDefaultWriterAbort(writer, reason) {\n    var stream = writer._ownerWritableStream;\n    assert(stream !== undefined);\n    return WritableStreamAbort(stream, reason);\n  }\n  function WritableStreamDefaultWriterClose(writer) {\n    var stream = writer._ownerWritableStream;\n    assert(stream !== undefined);\n    var state = stream._state;\n    if (state === 'closed' || state === 'errored') {\n      return Promise.reject(new TypeError('The stream (in ' + state + ' state) is not in the writable state and cannot be closed'));\n    }\n    assert(state === 'writable' || state === 'erroring');\n    assert(WritableStreamCloseQueuedOrInFlight(stream) === false);\n    var promise = new Promise(function (resolve, reject) {\n      var closeRequest = {\n        _resolve: resolve,\n        _reject: reject\n      };\n      stream._closeRequest = closeRequest;\n    });\n    if (stream._backpressure === true && state === 'writable') {\n      defaultWriterReadyPromiseResolve(writer);\n    }\n    WritableStreamDefaultControllerClose(stream._writableStreamController);\n    return promise;\n  }\n  function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {\n    var stream = writer._ownerWritableStream;\n    assert(stream !== undefined);\n    var state = stream._state;\n    if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n      return Promise.resolve();\n    }\n    if (state === 'errored') {\n      return Promise.reject(stream._storedError);\n    }\n    assert(state === 'writable' || state === 'erroring');\n    return WritableStreamDefaultWriterClose(writer);\n  }\n  function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) {\n    if (writer._closedPromiseState === 'pending') {\n      defaultWriterClosedPromiseReject(writer, error);\n    } else {\n      defaultWriterClosedPromiseResetToRejected(writer, error);\n    }\n    writer._closedPromise.catch(function () {});\n  }\n  function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) {\n    if (writer._readyPromiseState === 'pending') {\n      defaultWriterReadyPromiseReject(writer, error);\n    } else {\n      defaultWriterReadyPromiseResetToRejected(writer, error);\n    }\n    writer._readyPromise.catch(function () {});\n  }\n  function WritableStreamDefaultWriterGetDesiredSize(writer) {\n    var stream = writer._ownerWritableStream;\n    var state = stream._state;\n    if (state === 'errored' || state === 'erroring') {\n      return null;\n    }\n    if (state === 'closed') {\n      return 0;\n    }\n    return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);\n  }\n  function WritableStreamDefaultWriterRelease(writer) {\n    var stream = writer._ownerWritableStream;\n    assert(stream !== undefined);\n    assert(stream._writer === writer);\n    var releasedError = new TypeError('Writer was released and can no longer be used to monitor the stream\\'s closedness');\n    WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError);\n    WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError);\n    stream._writer = undefined;\n    writer._ownerWritableStream = undefined;\n  }\n  function WritableStreamDefaultWriterWrite(writer, chunk) {\n    var stream = writer._ownerWritableStream;\n    assert(stream !== undefined);\n    var controller = stream._writableStreamController;\n    var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);\n    if (stream !== writer._ownerWritableStream) {\n      return Promise.reject(defaultWriterLockException('write to'));\n    }\n    var state = stream._state;\n    if (state === 'errored') {\n      return Promise.reject(stream._storedError);\n    }\n    if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n      return Promise.reject(new TypeError('The stream is closing or closed and cannot be written to'));\n    }\n    if (state === 'erroring') {\n      return Promise.reject(stream._storedError);\n    }\n    assert(state === 'writable');\n    var promise = WritableStreamAddWriteRequest(stream);\n    WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);\n    return promise;\n  }\n  var WritableStreamDefaultController = function () {\n    function WritableStreamDefaultController(stream, underlyingSink, size, highWaterMark) {\n      _classCallCheck(this, WritableStreamDefaultController);\n      if (IsWritableStream(stream) === false) {\n        throw new TypeError('WritableStreamDefaultController can only be constructed with a WritableStream instance');\n      }\n      if (stream._writableStreamController !== undefined) {\n        throw new TypeError('WritableStreamDefaultController instances can only be created by the WritableStream constructor');\n      }\n      this._controlledWritableStream = stream;\n      this._underlyingSink = underlyingSink;\n      this._queue = undefined;\n      this._queueTotalSize = undefined;\n      ResetQueue(this);\n      this._started = false;\n      var normalizedStrategy = ValidateAndNormalizeQueuingStrategy(size, highWaterMark);\n      this._strategySize = normalizedStrategy.size;\n      this._strategyHWM = normalizedStrategy.highWaterMark;\n      var backpressure = WritableStreamDefaultControllerGetBackpressure(this);\n      WritableStreamUpdateBackpressure(stream, backpressure);\n    }\n    _createClass(WritableStreamDefaultController, [{\n      key: 'error',\n      value: function error(e) {\n        if (IsWritableStreamDefaultController(this) === false) {\n          throw new TypeError('WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController');\n        }\n        var state = this._controlledWritableStream._state;\n        if (state !== 'writable') {\n          return;\n        }\n        WritableStreamDefaultControllerError(this, e);\n      }\n    }, {\n      key: '__abortSteps',\n      value: function __abortSteps(reason) {\n        return PromiseInvokeOrNoop(this._underlyingSink, 'abort', [reason]);\n      }\n    }, {\n      key: '__errorSteps',\n      value: function __errorSteps() {\n        ResetQueue(this);\n      }\n    }, {\n      key: '__startSteps',\n      value: function __startSteps() {\n        var _this = this;\n        var startResult = InvokeOrNoop(this._underlyingSink, 'start', [this]);\n        var stream = this._controlledWritableStream;\n        Promise.resolve(startResult).then(function () {\n          assert(stream._state === 'writable' || stream._state === 'erroring');\n          _this._started = true;\n          WritableStreamDefaultControllerAdvanceQueueIfNeeded(_this);\n        }, function (r) {\n          assert(stream._state === 'writable' || stream._state === 'erroring');\n          _this._started = true;\n          WritableStreamDealWithRejection(stream, r);\n        }).catch(rethrowAssertionErrorRejection);\n      }\n    }]);\n    return WritableStreamDefaultController;\n  }();\n  function WritableStreamDefaultControllerClose(controller) {\n    EnqueueValueWithSize(controller, 'close', 0);\n    WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n  }\n  function WritableStreamDefaultControllerGetChunkSize(controller, chunk) {\n    var strategySize = controller._strategySize;\n    if (strategySize === undefined) {\n      return 1;\n    }\n    try {\n      return strategySize(chunk);\n    } catch (chunkSizeE) {\n      WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\n      return 1;\n    }\n  }\n  function WritableStreamDefaultControllerGetDesiredSize(controller) {\n    return controller._strategyHWM - controller._queueTotalSize;\n  }\n  function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) {\n    var writeRecord = { chunk: chunk };\n    try {\n      EnqueueValueWithSize(controller, writeRecord, chunkSize);\n    } catch (enqueueE) {\n      WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\n      return;\n    }\n    var stream = controller._controlledWritableStream;\n    if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._state === 'writable') {\n      var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n      WritableStreamUpdateBackpressure(stream, backpressure);\n    }\n    WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n  }\n  function IsWritableStreamDefaultController(x) {\n    if (!typeIsObject(x)) {\n      return false;\n    }\n    if (!Object.prototype.hasOwnProperty.call(x, '_underlyingSink')) {\n      return false;\n    }\n    return true;\n  }\n  function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) {\n    var stream = controller._controlledWritableStream;\n    if (controller._started === false) {\n      return;\n    }\n    if (stream._inFlightWriteRequest !== undefined) {\n      return;\n    }\n    var state = stream._state;\n    if (state === 'closed' || state === 'errored') {\n      return;\n    }\n    if (state === 'erroring') {\n      WritableStreamFinishErroring(stream);\n      return;\n    }\n    if (controller._queue.length === 0) {\n      return;\n    }\n    var writeRecord = PeekQueueValue(controller);\n    if (writeRecord === 'close') {\n      WritableStreamDefaultControllerProcessClose(controller);\n    } else {\n      WritableStreamDefaultControllerProcessWrite(controller, writeRecord.chunk);\n    }\n  }\n  function WritableStreamDefaultControllerErrorIfNeeded(controller, error) {\n    if (controller._controlledWritableStream._state === 'writable') {\n      WritableStreamDefaultControllerError(controller, error);\n    }\n  }\n  function WritableStreamDefaultControllerProcessClose(controller) {\n    var stream = controller._controlledWritableStream;\n    WritableStreamMarkCloseRequestInFlight(stream);\n    DequeueValue(controller);\n    assert(controller._queue.length === 0, 'queue must be empty once the final write record is dequeued');\n    var sinkClosePromise = PromiseInvokeOrNoop(controller._underlyingSink, 'close', []);\n    sinkClosePromise.then(function () {\n      WritableStreamFinishInFlightClose(stream);\n    }, function (reason) {\n      WritableStreamFinishInFlightCloseWithError(stream, reason);\n    }).catch(rethrowAssertionErrorRejection);\n  }\n  function WritableStreamDefaultControllerProcessWrite(controller, chunk) {\n    var stream = controller._controlledWritableStream;\n    WritableStreamMarkFirstWriteRequestInFlight(stream);\n    var sinkWritePromise = PromiseInvokeOrNoop(controller._underlyingSink, 'write', [chunk, controller]);\n    sinkWritePromise.then(function () {\n      WritableStreamFinishInFlightWrite(stream);\n      var state = stream._state;\n      assert(state === 'writable' || state === 'erroring');\n      DequeueValue(controller);\n      if (WritableStreamCloseQueuedOrInFlight(stream) === false && state === 'writable') {\n        var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n        WritableStreamUpdateBackpressure(stream, backpressure);\n      }\n      WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n    }, function (reason) {\n      WritableStreamFinishInFlightWriteWithError(stream, reason);\n    }).catch(rethrowAssertionErrorRejection);\n  }\n  function WritableStreamDefaultControllerGetBackpressure(controller) {\n    var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);\n    return desiredSize <= 0;\n  }\n  function WritableStreamDefaultControllerError(controller, error) {\n    var stream = controller._controlledWritableStream;\n    assert(stream._state === 'writable');\n    WritableStreamStartErroring(stream, error);\n  }\n  function streamBrandCheckException(name) {\n    return new TypeError('WritableStream.prototype.' + name + ' can only be used on a WritableStream');\n  }\n  function defaultWriterBrandCheckException(name) {\n    return new TypeError('WritableStreamDefaultWriter.prototype.' + name + ' can only be used on a WritableStreamDefaultWriter');\n  }\n  function defaultWriterLockException(name) {\n    return new TypeError('Cannot ' + name + ' a stream using a released writer');\n  }\n  function defaultWriterClosedPromiseInitialize(writer) {\n    writer._closedPromise = new Promise(function (resolve, reject) {\n      writer._closedPromise_resolve = resolve;\n      writer._closedPromise_reject = reject;\n      writer._closedPromiseState = 'pending';\n    });\n  }\n  function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) {\n    writer._closedPromise = Promise.reject(reason);\n    writer._closedPromise_resolve = undefined;\n    writer._closedPromise_reject = undefined;\n    writer._closedPromiseState = 'rejected';\n  }\n  function defaultWriterClosedPromiseInitializeAsResolved(writer) {\n    writer._closedPromise = Promise.resolve(undefined);\n    writer._closedPromise_resolve = undefined;\n    writer._closedPromise_reject = undefined;\n    writer._closedPromiseState = 'resolved';\n  }\n  function defaultWriterClosedPromiseReject(writer, reason) {\n    assert(writer._closedPromise_resolve !== undefined, 'writer._closedPromise_resolve !== undefined');\n    assert(writer._closedPromise_reject !== undefined, 'writer._closedPromise_reject !== undefined');\n    assert(writer._closedPromiseState === 'pending', 'writer._closedPromiseState is pending');\n    writer._closedPromise_reject(reason);\n    writer._closedPromise_resolve = undefined;\n    writer._closedPromise_reject = undefined;\n    writer._closedPromiseState = 'rejected';\n  }\n  function defaultWriterClosedPromiseResetToRejected(writer, reason) {\n    assert(writer._closedPromise_resolve === undefined, 'writer._closedPromise_resolve === undefined');\n    assert(writer._closedPromise_reject === undefined, 'writer._closedPromise_reject === undefined');\n    assert(writer._closedPromiseState !== 'pending', 'writer._closedPromiseState is not pending');\n    writer._closedPromise = Promise.reject(reason);\n    writer._closedPromiseState = 'rejected';\n  }\n  function defaultWriterClosedPromiseResolve(writer) {\n    assert(writer._closedPromise_resolve !== undefined, 'writer._closedPromise_resolve !== undefined');\n    assert(writer._closedPromise_reject !== undefined, 'writer._closedPromise_reject !== undefined');\n    assert(writer._closedPromiseState === 'pending', 'writer._closedPromiseState is pending');\n    writer._closedPromise_resolve(undefined);\n    writer._closedPromise_resolve = undefined;\n    writer._closedPromise_reject = undefined;\n    writer._closedPromiseState = 'resolved';\n  }\n  function defaultWriterReadyPromiseInitialize(writer) {\n    writer._readyPromise = new Promise(function (resolve, reject) {\n      writer._readyPromise_resolve = resolve;\n      writer._readyPromise_reject = reject;\n    });\n    writer._readyPromiseState = 'pending';\n  }\n  function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) {\n    writer._readyPromise = Promise.reject(reason);\n    writer._readyPromise_resolve = undefined;\n    writer._readyPromise_reject = undefined;\n    writer._readyPromiseState = 'rejected';\n  }\n  function defaultWriterReadyPromiseInitializeAsResolved(writer) {\n    writer._readyPromise = Promise.resolve(undefined);\n    writer._readyPromise_resolve = undefined;\n    writer._readyPromise_reject = undefined;\n    writer._readyPromiseState = 'fulfilled';\n  }\n  function defaultWriterReadyPromiseReject(writer, reason) {\n    assert(writer._readyPromise_resolve !== undefined, 'writer._readyPromise_resolve !== undefined');\n    assert(writer._readyPromise_reject !== undefined, 'writer._readyPromise_reject !== undefined');\n    writer._readyPromise_reject(reason);\n    writer._readyPromise_resolve = undefined;\n    writer._readyPromise_reject = undefined;\n    writer._readyPromiseState = 'rejected';\n  }\n  function defaultWriterReadyPromiseReset(writer) {\n    assert(writer._readyPromise_resolve === undefined, 'writer._readyPromise_resolve === undefined');\n    assert(writer._readyPromise_reject === undefined, 'writer._readyPromise_reject === undefined');\n    writer._readyPromise = new Promise(function (resolve, reject) {\n      writer._readyPromise_resolve = resolve;\n      writer._readyPromise_reject = reject;\n    });\n    writer._readyPromiseState = 'pending';\n  }\n  function defaultWriterReadyPromiseResetToRejected(writer, reason) {\n    assert(writer._readyPromise_resolve === undefined, 'writer._readyPromise_resolve === undefined');\n    assert(writer._readyPromise_reject === undefined, 'writer._readyPromise_reject === undefined');\n    writer._readyPromise = Promise.reject(reason);\n    writer._readyPromiseState = 'rejected';\n  }\n  function defaultWriterReadyPromiseResolve(writer) {\n    assert(writer._readyPromise_resolve !== undefined, 'writer._readyPromise_resolve !== undefined');\n    assert(writer._readyPromise_reject !== undefined, 'writer._readyPromise_reject !== undefined');\n    writer._readyPromise_resolve(undefined);\n    writer._readyPromise_resolve = undefined;\n    writer._readyPromise_reject = undefined;\n    writer._readyPromiseState = 'fulfilled';\n  }\n}, function (module, exports, __w_pdfjs_require__) {\n  \"use strict\";\n\n  var _require = __w_pdfjs_require__(0),\n      IsFiniteNonNegativeNumber = _require.IsFiniteNonNegativeNumber;\n  var _require2 = __w_pdfjs_require__(1),\n      assert = _require2.assert;\n  exports.DequeueValue = function (container) {\n    assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: DequeueValue should only be used on containers with [[queue]] and [[queueTotalSize]].');\n    assert(container._queue.length > 0, 'Spec-level failure: should never dequeue from an empty queue.');\n    var pair = container._queue.shift();\n    container._queueTotalSize -= pair.size;\n    if (container._queueTotalSize < 0) {\n      container._queueTotalSize = 0;\n    }\n    return pair.value;\n  };\n  exports.EnqueueValueWithSize = function (container, value, size) {\n    assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: EnqueueValueWithSize should only be used on containers with [[queue]] and ' + '[[queueTotalSize]].');\n    size = Number(size);\n    if (!IsFiniteNonNegativeNumber(size)) {\n      throw new RangeError('Size must be a finite, non-NaN, non-negative number.');\n    }\n    container._queue.push({\n      value: value,\n      size: size\n    });\n    container._queueTotalSize += size;\n  };\n  exports.PeekQueueValue = function (container) {\n    assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: PeekQueueValue should only be used on containers with [[queue]] and [[queueTotalSize]].');\n    assert(container._queue.length > 0, 'Spec-level failure: should never peek at an empty queue.');\n    var pair = container._queue[0];\n    return pair.value;\n  };\n  exports.ResetQueue = function (container) {\n    assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: ResetQueue should only be used on containers with [[queue]] and [[queueTotalSize]].');\n    container._queue = [];\n    container._queueTotalSize = 0;\n  };\n}, function (module, exports, __w_pdfjs_require__) {\n  \"use strict\";\n\n  var _createClass = function () {\n    function defineProperties(target, props) {\n      for (var i = 0; i < props.length; i++) {\n        var descriptor = props[i];\n        descriptor.enumerable = descriptor.enumerable || false;\n        descriptor.configurable = true;\n        if (\"value\" in descriptor) descriptor.writable = true;\n        Object.defineProperty(target, descriptor.key, descriptor);\n      }\n    }\n    return function (Constructor, protoProps, staticProps) {\n      if (protoProps) defineProperties(Constructor.prototype, protoProps);\n      if (staticProps) defineProperties(Constructor, staticProps);\n      return Constructor;\n    };\n  }();\n  function _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n      throw new TypeError(\"Cannot call a class as a function\");\n    }\n  }\n  var _require = __w_pdfjs_require__(0),\n      ArrayBufferCopy = _require.ArrayBufferCopy,\n      CreateIterResultObject = _require.CreateIterResultObject,\n      IsFiniteNonNegativeNumber = _require.IsFiniteNonNegativeNumber,\n      InvokeOrNoop = _require.InvokeOrNoop,\n      PromiseInvokeOrNoop = _require.PromiseInvokeOrNoop,\n      TransferArrayBuffer = _require.TransferArrayBuffer,\n      ValidateAndNormalizeQueuingStrategy = _require.ValidateAndNormalizeQueuingStrategy,\n      ValidateAndNormalizeHighWaterMark = _require.ValidateAndNormalizeHighWaterMark;\n  var _require2 = __w_pdfjs_require__(0),\n      createArrayFromList = _require2.createArrayFromList,\n      createDataProperty = _require2.createDataProperty,\n      typeIsObject = _require2.typeIsObject;\n  var _require3 = __w_pdfjs_require__(1),\n      assert = _require3.assert,\n      rethrowAssertionErrorRejection = _require3.rethrowAssertionErrorRejection;\n  var _require4 = __w_pdfjs_require__(3),\n      DequeueValue = _require4.DequeueValue,\n      EnqueueValueWithSize = _require4.EnqueueValueWithSize,\n      ResetQueue = _require4.ResetQueue;\n  var _require5 = __w_pdfjs_require__(2),\n      AcquireWritableStreamDefaultWriter = _require5.AcquireWritableStreamDefaultWriter,\n      IsWritableStream = _require5.IsWritableStream,\n      IsWritableStreamLocked = _require5.IsWritableStreamLocked,\n      WritableStreamAbort = _require5.WritableStreamAbort,\n      WritableStreamDefaultWriterCloseWithErrorPropagation = _require5.WritableStreamDefaultWriterCloseWithErrorPropagation,\n      WritableStreamDefaultWriterRelease = _require5.WritableStreamDefaultWriterRelease,\n      WritableStreamDefaultWriterWrite = _require5.WritableStreamDefaultWriterWrite,\n      WritableStreamCloseQueuedOrInFlight = _require5.WritableStreamCloseQueuedOrInFlight;\n  var ReadableStream = function () {\n    function ReadableStream() {\n      var underlyingSource = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n      var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n          size = _ref.size,\n          highWaterMark = _ref.highWaterMark;\n      _classCallCheck(this, ReadableStream);\n      this._state = 'readable';\n      this._reader = undefined;\n      this._storedError = undefined;\n      this._disturbed = false;\n      this._readableStreamController = undefined;\n      var type = underlyingSource.type;\n      var typeString = String(type);\n      if (typeString === 'bytes') {\n        if (highWaterMark === undefined) {\n          highWaterMark = 0;\n        }\n        this._readableStreamController = new ReadableByteStreamController(this, underlyingSource, highWaterMark);\n      } else if (type === undefined) {\n        if (highWaterMark === undefined) {\n          highWaterMark = 1;\n        }\n        this._readableStreamController = new ReadableStreamDefaultController(this, underlyingSource, size, highWaterMark);\n      } else {\n        throw new RangeError('Invalid type is specified');\n      }\n    }\n    _createClass(ReadableStream, [{\n      key: 'cancel',\n      value: function cancel(reason) {\n        if (IsReadableStream(this) === false) {\n          return Promise.reject(streamBrandCheckException('cancel'));\n        }\n        if (IsReadableStreamLocked(this) === true) {\n          return Promise.reject(new TypeError('Cannot cancel a stream that already has a reader'));\n        }\n        return ReadableStreamCancel(this, reason);\n      }\n    }, {\n      key: 'getReader',\n      value: function getReader() {\n        var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n            mode = _ref2.mode;\n        if (IsReadableStream(this) === false) {\n          throw streamBrandCheckException('getReader');\n        }\n        if (mode === undefined) {\n          return AcquireReadableStreamDefaultReader(this);\n        }\n        mode = String(mode);\n        if (mode === 'byob') {\n          return AcquireReadableStreamBYOBReader(this);\n        }\n        throw new RangeError('Invalid mode is specified');\n      }\n    }, {\n      key: 'pipeThrough',\n      value: function pipeThrough(_ref3, options) {\n        var writable = _ref3.writable,\n            readable = _ref3.readable;\n        var promise = this.pipeTo(writable, options);\n        ifIsObjectAndHasAPromiseIsHandledInternalSlotSetPromiseIsHandledToTrue(promise);\n        return readable;\n      }\n    }, {\n      key: 'pipeTo',\n      value: function pipeTo(dest) {\n        var _this = this;\n        var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n            preventClose = _ref4.preventClose,\n            preventAbort = _ref4.preventAbort,\n            preventCancel = _ref4.preventCancel;\n        if (IsReadableStream(this) === false) {\n          return Promise.reject(streamBrandCheckException('pipeTo'));\n        }\n        if (IsWritableStream(dest) === false) {\n          return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo\\'s first argument must be a WritableStream'));\n        }\n        preventClose = Boolean(preventClose);\n        preventAbort = Boolean(preventAbort);\n        preventCancel = Boolean(preventCancel);\n        if (IsReadableStreamLocked(this) === true) {\n          return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream'));\n        }\n        if (IsWritableStreamLocked(dest) === true) {\n          return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream'));\n        }\n        var reader = AcquireReadableStreamDefaultReader(this);\n        var writer = AcquireWritableStreamDefaultWriter(dest);\n        var shuttingDown = false;\n        var currentWrite = Promise.resolve();\n        return new Promise(function (resolve, reject) {\n          function pipeLoop() {\n            currentWrite = Promise.resolve();\n            if (shuttingDown === true) {\n              return Promise.resolve();\n            }\n            return writer._readyPromise.then(function () {\n              return ReadableStreamDefaultReaderRead(reader).then(function (_ref5) {\n                var value = _ref5.value,\n                    done = _ref5.done;\n                if (done === true) {\n                  return;\n                }\n                currentWrite = WritableStreamDefaultWriterWrite(writer, value).catch(function () {});\n              });\n            }).then(pipeLoop);\n          }\n          isOrBecomesErrored(_this, reader._closedPromise, function (storedError) {\n            if (preventAbort === false) {\n              shutdownWithAction(function () {\n                return WritableStreamAbort(dest, storedError);\n              }, true, storedError);\n            } else {\n              shutdown(true, storedError);\n            }\n          });\n          isOrBecomesErrored(dest, writer._closedPromise, function (storedError) {\n            if (preventCancel === false) {\n              shutdownWithAction(function () {\n                return ReadableStreamCancel(_this, storedError);\n              }, true, storedError);\n            } else {\n              shutdown(true, storedError);\n            }\n          });\n          isOrBecomesClosed(_this, reader._closedPromise, function () {\n            if (preventClose === false) {\n              shutdownWithAction(function () {\n                return WritableStreamDefaultWriterCloseWithErrorPropagation(writer);\n              });\n            } else {\n              shutdown();\n            }\n          });\n          if (WritableStreamCloseQueuedOrInFlight(dest) === true || dest._state === 'closed') {\n            var destClosed = new TypeError('the destination writable stream closed before all data could be piped to it');\n            if (preventCancel === false) {\n              shutdownWithAction(function () {\n                return ReadableStreamCancel(_this, destClosed);\n              }, true, destClosed);\n            } else {\n              shutdown(true, destClosed);\n            }\n          }\n          pipeLoop().catch(function (err) {\n            currentWrite = Promise.resolve();\n            rethrowAssertionErrorRejection(err);\n          });\n          function waitForWritesToFinish() {\n            var oldCurrentWrite = currentWrite;\n            return currentWrite.then(function () {\n              return oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined;\n            });\n          }\n          function isOrBecomesErrored(stream, promise, action) {\n            if (stream._state === 'errored') {\n              action(stream._storedError);\n            } else {\n              promise.catch(action).catch(rethrowAssertionErrorRejection);\n            }\n          }\n          function isOrBecomesClosed(stream, promise, action) {\n            if (stream._state === 'closed') {\n              action();\n            } else {\n              promise.then(action).catch(rethrowAssertionErrorRejection);\n            }\n          }\n          function shutdownWithAction(action, originalIsError, originalError) {\n            if (shuttingDown === true) {\n              return;\n            }\n            shuttingDown = true;\n            if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\n              waitForWritesToFinish().then(doTheRest);\n            } else {\n              doTheRest();\n            }\n            function doTheRest() {\n              action().then(function () {\n                return finalize(originalIsError, originalError);\n              }, function (newError) {\n                return finalize(true, newError);\n              }).catch(rethrowAssertionErrorRejection);\n            }\n          }\n          function shutdown(isError, error) {\n            if (shuttingDown === true) {\n              return;\n            }\n            shuttingDown = true;\n            if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\n              waitForWritesToFinish().then(function () {\n                return finalize(isError, error);\n              }).catch(rethrowAssertionErrorRejection);\n            } else {\n              finalize(isError, error);\n            }\n          }\n          function finalize(isError, error) {\n            WritableStreamDefaultWriterRelease(writer);\n            ReadableStreamReaderGenericRelease(reader);\n            if (isError) {\n              reject(error);\n            } else {\n              resolve(undefined);\n            }\n          }\n        });\n      }\n    }, {\n      key: 'tee',\n      value: function tee() {\n        if (IsReadableStream(this) === false) {\n          throw streamBrandCheckException('tee');\n        }\n        var branches = ReadableStreamTee(this, false);\n        return createArrayFromList(branches);\n      }\n    }, {\n      key: 'locked',\n      get: function get() {\n        if (IsReadableStream(this) === false) {\n          throw streamBrandCheckException('locked');\n        }\n        return IsReadableStreamLocked(this);\n      }\n    }]);\n    return ReadableStream;\n  }();\n  module.exports = {\n    ReadableStream: ReadableStream,\n    IsReadableStreamDisturbed: IsReadableStreamDisturbed,\n    ReadableStreamDefaultControllerClose: ReadableStreamDefaultControllerClose,\n    ReadableStreamDefaultControllerEnqueue: ReadableStreamDefaultControllerEnqueue,\n    ReadableStreamDefaultControllerError: ReadableStreamDefaultControllerError,\n    ReadableStreamDefaultControllerGetDesiredSize: ReadableStreamDefaultControllerGetDesiredSize\n  };\n  function AcquireReadableStreamBYOBReader(stream) {\n    return new ReadableStreamBYOBReader(stream);\n  }\n  function AcquireReadableStreamDefaultReader(stream) {\n    return new ReadableStreamDefaultReader(stream);\n  }\n  function IsReadableStream(x) {\n    if (!typeIsObject(x)) {\n      return false;\n    }\n    if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) {\n      return false;\n    }\n    return true;\n  }\n  function IsReadableStreamDisturbed(stream) {\n    assert(IsReadableStream(stream) === true, 'IsReadableStreamDisturbed should only be used on known readable streams');\n    return stream._disturbed;\n  }\n  function IsReadableStreamLocked(stream) {\n    assert(IsReadableStream(stream) === true, 'IsReadableStreamLocked should only be used on known readable streams');\n    if (stream._reader === undefined) {\n      return false;\n    }\n    return true;\n  }\n  function ReadableStreamTee(stream, cloneForBranch2) {\n    assert(IsReadableStream(stream) === true);\n    assert(typeof cloneForBranch2 === 'boolean');\n    var reader = AcquireReadableStreamDefaultReader(stream);\n    var teeState = {\n      closedOrErrored: false,\n      canceled1: false,\n      canceled2: false,\n      reason1: undefined,\n      reason2: undefined\n    };\n    teeState.promise = new Promise(function (resolve) {\n      teeState._resolve = resolve;\n    });\n    var pull = create_ReadableStreamTeePullFunction();\n    pull._reader = reader;\n    pull._teeState = teeState;\n    pull._cloneForBranch2 = cloneForBranch2;\n    var cancel1 = create_ReadableStreamTeeBranch1CancelFunction();\n    cancel1._stream = stream;\n    cancel1._teeState = teeState;\n    var cancel2 = create_ReadableStreamTeeBranch2CancelFunction();\n    cancel2._stream = stream;\n    cancel2._teeState = teeState;\n    var underlyingSource1 = Object.create(Object.prototype);\n    createDataProperty(underlyingSource1, 'pull', pull);\n    createDataProperty(underlyingSource1, 'cancel', cancel1);\n    var branch1Stream = new ReadableStream(underlyingSource1);\n    var underlyingSource2 = Object.create(Object.prototype);\n    createDataProperty(underlyingSource2, 'pull', pull);\n    createDataProperty(underlyingSource2, 'cancel', cancel2);\n    var branch2Stream = new ReadableStream(underlyingSource2);\n    pull._branch1 = branch1Stream._readableStreamController;\n    pull._branch2 = branch2Stream._readableStreamController;\n    reader._closedPromise.catch(function (r) {\n      if (teeState.closedOrErrored === true) {\n        return;\n      }\n      ReadableStreamDefaultControllerError(pull._branch1, r);\n      ReadableStreamDefaultControllerError(pull._branch2, r);\n      teeState.closedOrErrored = true;\n    });\n    return [branch1Stream, branch2Stream];\n  }\n  function create_ReadableStreamTeePullFunction() {\n    function f() {\n      var reader = f._reader,\n          branch1 = f._branch1,\n          branch2 = f._branch2,\n          teeState = f._teeState;\n      return ReadableStreamDefaultReaderRead(reader).then(function (result) {\n        assert(typeIsObject(result));\n        var value = result.value;\n        var done = result.done;\n        assert(typeof done === 'boolean');\n        if (done === true && teeState.closedOrErrored === false) {\n          if (teeState.canceled1 === false) {\n            ReadableStreamDefaultControllerClose(branch1);\n          }\n          if (teeState.canceled2 === false) {\n            ReadableStreamDefaultControllerClose(branch2);\n          }\n          teeState.closedOrErrored = true;\n        }\n        if (teeState.closedOrErrored === true) {\n          return;\n        }\n        var value1 = value;\n        var value2 = value;\n        if (teeState.canceled1 === false) {\n          ReadableStreamDefaultControllerEnqueue(branch1, value1);\n        }\n        if (teeState.canceled2 === false) {\n          ReadableStreamDefaultControllerEnqueue(branch2, value2);\n        }\n      });\n    }\n    return f;\n  }\n  function create_ReadableStreamTeeBranch1CancelFunction() {\n    function f(reason) {\n      var stream = f._stream,\n          teeState = f._teeState;\n      teeState.canceled1 = true;\n      teeState.reason1 = reason;\n      if (teeState.canceled2 === true) {\n        var compositeReason = createArrayFromList([teeState.reason1, teeState.reason2]);\n        var cancelResult = ReadableStreamCancel(stream, compositeReason);\n        teeState._resolve(cancelResult);\n      }\n      return teeState.promise;\n    }\n    return f;\n  }\n  function create_ReadableStreamTeeBranch2CancelFunction() {\n    function f(reason) {\n      var stream = f._stream,\n          teeState = f._teeState;\n      teeState.canceled2 = true;\n      teeState.reason2 = reason;\n      if (teeState.canceled1 === true) {\n        var compositeReason = createArrayFromList([teeState.reason1, teeState.reason2]);\n        var cancelResult = ReadableStreamCancel(stream, compositeReason);\n        teeState._resolve(cancelResult);\n      }\n      return teeState.promise;\n    }\n    return f;\n  }\n  function ReadableStreamAddReadIntoRequest(stream) {\n    assert(IsReadableStreamBYOBReader(stream._reader) === true);\n    assert(stream._state === 'readable' || stream._state === 'closed');\n    var promise = new Promise(function (resolve, reject) {\n      var readIntoRequest = {\n        _resolve: resolve,\n        _reject: reject\n      };\n      stream._reader._readIntoRequests.push(readIntoRequest);\n    });\n    return promise;\n  }\n  function ReadableStreamAddReadRequest(stream) {\n    assert(IsReadableStreamDefaultReader(stream._reader) === true);\n    assert(stream._state === 'readable');\n    var promise = new Promise(function (resolve, reject) {\n      var readRequest = {\n        _resolve: resolve,\n        _reject: reject\n      };\n      stream._reader._readRequests.push(readRequest);\n    });\n    return promise;\n  }\n  function ReadableStreamCancel(stream, reason) {\n    stream._disturbed = true;\n    if (stream._state === 'closed') {\n      return Promise.resolve(undefined);\n    }\n    if (stream._state === 'errored') {\n      return Promise.reject(stream._storedError);\n    }\n    ReadableStreamClose(stream);\n    var sourceCancelPromise = stream._readableStreamController.__cancelSteps(reason);\n    return sourceCancelPromise.then(function () {\n      return undefined;\n    });\n  }\n  function ReadableStreamClose(stream) {\n    assert(stream._state === 'readable');\n    stream._state = 'closed';\n    var reader = stream._reader;\n    if (reader === undefined) {\n      return undefined;\n    }\n    if (IsReadableStreamDefaultReader(reader) === true) {\n      for (var i = 0; i < reader._readRequests.length; i++) {\n        var _resolve = reader._readRequests[i]._resolve;\n        _resolve(CreateIterResultObject(undefined, true));\n      }\n      reader._readRequests = [];\n    }\n    defaultReaderClosedPromiseResolve(reader);\n    return undefined;\n  }\n  function ReadableStreamError(stream, e) {\n    assert(IsReadableStream(stream) === true, 'stream must be ReadableStream');\n    assert(stream._state === 'readable', 'state must be readable');\n    stream._state = 'errored';\n    stream._storedError = e;\n    var reader = stream._reader;\n    if (reader === undefined) {\n      return undefined;\n    }\n    if (IsReadableStreamDefaultReader(reader) === true) {\n      for (var i = 0; i < reader._readRequests.length; i++) {\n        var readRequest = reader._readRequests[i];\n        readRequest._reject(e);\n      }\n      reader._readRequests = [];\n    } else {\n      assert(IsReadableStreamBYOBReader(reader), 'reader must be ReadableStreamBYOBReader');\n      for (var _i = 0; _i < reader._readIntoRequests.length; _i++) {\n        var readIntoRequest = reader._readIntoRequests[_i];\n        readIntoRequest._reject(e);\n      }\n      reader._readIntoRequests = [];\n    }\n    defaultReaderClosedPromiseReject(reader, e);\n    reader._closedPromise.catch(function () {});\n  }\n  function ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {\n    var reader = stream._reader;\n    assert(reader._readIntoRequests.length > 0);\n    var readIntoRequest = reader._readIntoRequests.shift();\n    readIntoRequest._resolve(CreateIterResultObject(chunk, done));\n  }\n  function ReadableStreamFulfillReadRequest(stream, chunk, done) {\n    var reader = stream._reader;\n    assert(reader._readRequests.length > 0);\n    var readRequest = reader._readRequests.shift();\n    readRequest._resolve(CreateIterResultObject(chunk, done));\n  }\n  function ReadableStreamGetNumReadIntoRequests(stream) {\n    return stream._reader._readIntoRequests.length;\n  }\n  function ReadableStreamGetNumReadRequests(stream) {\n    return stream._reader._readRequests.length;\n  }\n  function ReadableStreamHasBYOBReader(stream) {\n    var reader = stream._reader;\n    if (reader === undefined) {\n      return false;\n    }\n    if (IsReadableStreamBYOBReader(reader) === false) {\n      return false;\n    }\n    return true;\n  }\n  function ReadableStreamHasDefaultReader(stream) {\n    var reader = stream._reader;\n    if (reader === undefined) {\n      return false;\n    }\n    if (IsReadableStreamDefaultReader(reader) === false) {\n      return false;\n    }\n    return true;\n  }\n  var ReadableStreamDefaultReader = function () {\n    function ReadableStreamDefaultReader(stream) {\n      _classCallCheck(this, ReadableStreamDefaultReader);\n      if (IsReadableStream(stream) === false) {\n        throw new TypeError('ReadableStreamDefaultReader can only be constructed with a ReadableStream instance');\n      }\n      if (IsReadableStreamLocked(stream) === true) {\n        throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n      }\n      ReadableStreamReaderGenericInitialize(this, stream);\n      this._readRequests = [];\n    }\n    _createClass(ReadableStreamDefaultReader, [{\n      key: 'cancel',\n      value: function cancel(reason) {\n        if (IsReadableStreamDefaultReader(this) === false) {\n          return Promise.reject(defaultReaderBrandCheckException('cancel'));\n        }\n        if (this._ownerReadableStream === undefined) {\n          return Promise.reject(readerLockException('cancel'));\n        }\n        return ReadableStreamReaderGenericCancel(this, reason);\n      }\n    }, {\n      key: 'read',\n      value: function read() {\n        if (IsReadableStreamDefaultReader(this) === false) {\n          return Promise.reject(defaultReaderBrandCheckException('read'));\n        }\n        if (this._ownerReadableStream === undefined) {\n          return Promise.reject(readerLockException('read from'));\n        }\n        return ReadableStreamDefaultReaderRead(this);\n      }\n    }, {\n      key: 'releaseLock',\n      value: function releaseLock() {\n        if (IsReadableStreamDefaultReader(this) === false) {\n          throw defaultReaderBrandCheckException('releaseLock');\n        }\n        if (this._ownerReadableStream === undefined) {\n          return;\n        }\n        if (this._readRequests.length > 0) {\n          throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n        }\n        ReadableStreamReaderGenericRelease(this);\n      }\n    }, {\n      key: 'closed',\n      get: function get() {\n        if (IsReadableStreamDefaultReader(this) === false) {\n          return Promise.reject(defaultReaderBrandCheckException('closed'));\n        }\n        return this._closedPromise;\n      }\n    }]);\n    return ReadableStreamDefaultReader;\n  }();\n  var ReadableStreamBYOBReader = function () {\n    function ReadableStreamBYOBReader(stream) {\n      _classCallCheck(this, ReadableStreamBYOBReader);\n      if (!IsReadableStream(stream)) {\n        throw new TypeError('ReadableStreamBYOBReader can only be constructed with a ReadableStream instance given a ' + 'byte source');\n      }\n      if (IsReadableByteStreamController(stream._readableStreamController) === false) {\n        throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte ' + 'source');\n      }\n      if (IsReadableStreamLocked(stream)) {\n        throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n      }\n      ReadableStreamReaderGenericInitialize(this, stream);\n      this._readIntoRequests = [];\n    }\n    _createClass(ReadableStreamBYOBReader, [{\n      key: 'cancel',\n      value: function cancel(reason) {\n        if (!IsReadableStreamBYOBReader(this)) {\n          return Promise.reject(byobReaderBrandCheckException('cancel'));\n        }\n        if (this._ownerReadableStream === undefined) {\n          return Promise.reject(readerLockException('cancel'));\n        }\n        return ReadableStreamReaderGenericCancel(this, reason);\n      }\n    }, {\n      key: 'read',\n      value: function read(view) {\n        if (!IsReadableStreamBYOBReader(this)) {\n          return Promise.reject(byobReaderBrandCheckException('read'));\n        }\n        if (this._ownerReadableStream === undefined) {\n          return Promise.reject(readerLockException('read from'));\n        }\n        if (!ArrayBuffer.isView(view)) {\n          return Promise.reject(new TypeError('view must be an array buffer view'));\n        }\n        if (view.byteLength === 0) {\n          return Promise.reject(new TypeError('view must have non-zero byteLength'));\n        }\n        return ReadableStreamBYOBReaderRead(this, view);\n      }\n    }, {\n      key: 'releaseLock',\n      value: function releaseLock() {\n        if (!IsReadableStreamBYOBReader(this)) {\n          throw byobReaderBrandCheckException('releaseLock');\n        }\n        if (this._ownerReadableStream === undefined) {\n          return;\n        }\n        if (this._readIntoRequests.length > 0) {\n          throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n        }\n        ReadableStreamReaderGenericRelease(this);\n      }\n    }, {\n      key: 'closed',\n      get: function get() {\n        if (!IsReadableStreamBYOBReader(this)) {\n          return Promise.reject(byobReaderBrandCheckException('closed'));\n        }\n        return this._closedPromise;\n      }\n    }]);\n    return ReadableStreamBYOBReader;\n  }();\n  function IsReadableStreamBYOBReader(x) {\n    if (!typeIsObject(x)) {\n      return false;\n    }\n    if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) {\n      return false;\n    }\n    return true;\n  }\n  function IsReadableStreamDefaultReader(x) {\n    if (!typeIsObject(x)) {\n      return false;\n    }\n    if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) {\n      return false;\n    }\n    return true;\n  }\n  function ReadableStreamReaderGenericInitialize(reader, stream) {\n    reader._ownerReadableStream = stream;\n    stream._reader = reader;\n    if (stream._state === 'readable') {\n      defaultReaderClosedPromiseInitialize(reader);\n    } else if (stream._state === 'closed') {\n      defaultReaderClosedPromiseInitializeAsResolved(reader);\n    } else {\n      assert(stream._state === 'errored', 'state must be errored');\n      defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError);\n      reader._closedPromise.catch(function () {});\n    }\n  }\n  function ReadableStreamReaderGenericCancel(reader, reason) {\n    var stream = reader._ownerReadableStream;\n    assert(stream !== undefined);\n    return ReadableStreamCancel(stream, reason);\n  }\n  function ReadableStreamReaderGenericRelease(reader) {\n    assert(reader._ownerReadableStream !== undefined);\n    assert(reader._ownerReadableStream._reader === reader);\n    if (reader._ownerReadableStream._state === 'readable') {\n      defaultReaderClosedPromiseReject(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\n    } else {\n      defaultReaderClosedPromiseResetToRejected(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\n    }\n    reader._closedPromise.catch(function () {});\n    reader._ownerReadableStream._reader = undefined;\n    reader._ownerReadableStream = undefined;\n  }\n  function ReadableStreamBYOBReaderRead(reader, view) {\n    var stream = reader._ownerReadableStream;\n    assert(stream !== undefined);\n    stream._disturbed = true;\n    if (stream._state === 'errored') {\n      return Promise.reject(stream._storedError);\n    }\n    return ReadableByteStreamControllerPullInto(stream._readableStreamController, view);\n  }\n  function ReadableStreamDefaultReaderRead(reader) {\n    var stream = reader._ownerReadableStream;\n    assert(stream !== undefined);\n    stream._disturbed = true;\n    if (stream._state === 'closed') {\n      return Promise.resolve(CreateIterResultObject(undefined, true));\n    }\n    if (stream._state === 'errored') {\n      return Promise.reject(stream._storedError);\n    }\n    assert(stream._state === 'readable');\n    return stream._readableStreamController.__pullSteps();\n  }\n  var ReadableStreamDefaultController = function () {\n    function ReadableStreamDefaultController(stream, underlyingSource, size, highWaterMark) {\n      _classCallCheck(this, ReadableStreamDefaultController);\n      if (IsReadableStream(stream) === false) {\n        throw new TypeError('ReadableStreamDefaultController can only be constructed with a ReadableStream instance');\n      }\n      if (stream._readableStreamController !== undefined) {\n        throw new TypeError('ReadableStreamDefaultController instances can only be created by the ReadableStream constructor');\n      }\n      this._controlledReadableStream = stream;\n      this._underlyingSource = underlyingSource;\n      this._queue = undefined;\n      this._queueTotalSize = undefined;\n      ResetQueue(this);\n      this._started = false;\n      this._closeRequested = false;\n      this._pullAgain = false;\n      this._pulling = false;\n      var normalizedStrategy = ValidateAndNormalizeQueuingStrategy(size, highWaterMark);\n      this._strategySize = normalizedStrategy.size;\n      this._strategyHWM = normalizedStrategy.highWaterMark;\n      var controller = this;\n      var startResult = InvokeOrNoop(underlyingSource, 'start', [this]);\n      Promise.resolve(startResult).then(function () {\n        controller._started = true;\n        assert(controller._pulling === false);\n        assert(controller._pullAgain === false);\n        ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n      }, function (r) {\n        ReadableStreamDefaultControllerErrorIfNeeded(controller, r);\n      }).catch(rethrowAssertionErrorRejection);\n    }\n    _createClass(ReadableStreamDefaultController, [{\n      key: 'close',\n      value: function close() {\n        if (IsReadableStreamDefaultController(this) === false) {\n          throw defaultControllerBrandCheckException('close');\n        }\n        if (this._closeRequested === true) {\n          throw new TypeError('The stream has already been closed; do not close it again!');\n        }\n        var state = this._controlledReadableStream._state;\n        if (state !== 'readable') {\n          throw new TypeError('The stream (in ' + state + ' state) is not in the readable state and cannot be closed');\n        }\n        ReadableStreamDefaultControllerClose(this);\n      }\n    }, {\n      key: 'enqueue',\n      value: function enqueue(chunk) {\n        if (IsReadableStreamDefaultController(this) === false) {\n          throw defaultControllerBrandCheckException('enqueue');\n        }\n        if (this._closeRequested === true) {\n          throw new TypeError('stream is closed or draining');\n        }\n        var state = this._controlledReadableStream._state;\n        if (state !== 'readable') {\n          throw new TypeError('The stream (in ' + state + ' state) is not in the readable state and cannot be enqueued to');\n        }\n        return ReadableStreamDefaultControllerEnqueue(this, chunk);\n      }\n    }, {\n      key: 'error',\n      value: function error(e) {\n        if (IsReadableStreamDefaultController(this) === false) {\n          throw defaultControllerBrandCheckException('error');\n        }\n        var stream = this._controlledReadableStream;\n        if (stream._state !== 'readable') {\n          throw new TypeError('The stream is ' + stream._state + ' and so cannot be errored');\n        }\n        ReadableStreamDefaultControllerError(this, e);\n      }\n    }, {\n      key: '__cancelSteps',\n      value: function __cancelSteps(reason) {\n        ResetQueue(this);\n        return PromiseInvokeOrNoop(this._underlyingSource, 'cancel', [reason]);\n      }\n    }, {\n      key: '__pullSteps',\n      value: function __pullSteps() {\n        var stream = this._controlledReadableStream;\n        if (this._queue.length > 0) {\n          var chunk = DequeueValue(this);\n          if (this._closeRequested === true && this._queue.length === 0) {\n            ReadableStreamClose(stream);\n          } else {\n            ReadableStreamDefaultControllerCallPullIfNeeded(this);\n          }\n          return Promise.resolve(CreateIterResultObject(chunk, false));\n        }\n        var pendingPromise = ReadableStreamAddReadRequest(stream);\n        ReadableStreamDefaultControllerCallPullIfNeeded(this);\n        return pendingPromise;\n      }\n    }, {\n      key: 'desiredSize',\n      get: function get() {\n        if (IsReadableStreamDefaultController(this) === false) {\n          throw defaultControllerBrandCheckException('desiredSize');\n        }\n        return ReadableStreamDefaultControllerGetDesiredSize(this);\n      }\n    }]);\n    return ReadableStreamDefaultController;\n  }();\n  function IsReadableStreamDefaultController(x) {\n    if (!typeIsObject(x)) {\n      return false;\n    }\n    if (!Object.prototype.hasOwnProperty.call(x, '_underlyingSource')) {\n      return false;\n    }\n    return true;\n  }\n  function ReadableStreamDefaultControllerCallPullIfNeeded(controller) {\n    var shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);\n    if (shouldPull === false) {\n      return undefined;\n    }\n    if (controller._pulling === true) {\n      controller._pullAgain = true;\n      return undefined;\n    }\n    assert(controller._pullAgain === false);\n    controller._pulling = true;\n    var pullPromise = PromiseInvokeOrNoop(controller._underlyingSource, 'pull', [controller]);\n    pullPromise.then(function () {\n      controller._pulling = false;\n      if (controller._pullAgain === true) {\n        controller._pullAgain = false;\n        return ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n      }\n      return undefined;\n    }, function (e) {\n      ReadableStreamDefaultControllerErrorIfNeeded(controller, e);\n    }).catch(rethrowAssertionErrorRejection);\n    return undefined;\n  }\n  function ReadableStreamDefaultControllerShouldCallPull(controller) {\n    var stream = controller._controlledReadableStream;\n    if (stream._state === 'closed' || stream._state === 'errored') {\n      return false;\n    }\n    if (controller._closeRequested === true) {\n      return false;\n    }\n    if (controller._started === false) {\n      return false;\n    }\n    if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n      return true;\n    }\n    var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);\n    if (desiredSize > 0) {\n      return true;\n    }\n    return false;\n  }\n  function ReadableStreamDefaultControllerClose(controller) {\n    var stream = controller._controlledReadableStream;\n    assert(controller._closeRequested === false);\n    assert(stream._state === 'readable');\n    controller._closeRequested = true;\n    if (controller._queue.length === 0) {\n      ReadableStreamClose(stream);\n    }\n  }\n  function ReadableStreamDefaultControllerEnqueue(controller, chunk) {\n    var stream = controller._controlledReadableStream;\n    assert(controller._closeRequested === false);\n    assert(stream._state === 'readable');\n    if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n      ReadableStreamFulfillReadRequest(stream, chunk, false);\n    } else {\n      var chunkSize = 1;\n      if (controller._strategySize !== undefined) {\n        var strategySize = controller._strategySize;\n        try {\n          chunkSize = strategySize(chunk);\n        } catch (chunkSizeE) {\n          ReadableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\n          throw chunkSizeE;\n        }\n      }\n      try {\n        EnqueueValueWithSize(controller, chunk, chunkSize);\n      } catch (enqueueE) {\n        ReadableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\n        throw enqueueE;\n      }\n    }\n    ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n    return undefined;\n  }\n  function ReadableStreamDefaultControllerError(controller, e) {\n    var stream = controller._controlledReadableStream;\n    assert(stream._state === 'readable');\n    ResetQueue(controller);\n    ReadableStreamError(stream, e);\n  }\n  function ReadableStreamDefaultControllerErrorIfNeeded(controller, e) {\n    if (controller._controlledReadableStream._state === 'readable') {\n      ReadableStreamDefaultControllerError(controller, e);\n    }\n  }\n  function ReadableStreamDefaultControllerGetDesiredSize(controller) {\n    var stream = controller._controlledReadableStream;\n    var state = stream._state;\n    if (state === 'errored') {\n      return null;\n    }\n    if (state === 'closed') {\n      return 0;\n    }\n    return controller._strategyHWM - controller._queueTotalSize;\n  }\n  var ReadableStreamBYOBRequest = function () {\n    function ReadableStreamBYOBRequest(controller, view) {\n      _classCallCheck(this, ReadableStreamBYOBRequest);\n      this._associatedReadableByteStreamController = controller;\n      this._view = view;\n    }\n    _createClass(ReadableStreamBYOBRequest, [{\n      key: 'respond',\n      value: function respond(bytesWritten) {\n        if (IsReadableStreamBYOBRequest(this) === false) {\n          throw byobRequestBrandCheckException('respond');\n        }\n        if (this._associatedReadableByteStreamController === undefined) {\n          throw new TypeError('This BYOB request has been invalidated');\n        }\n        ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);\n      }\n    }, {\n      key: 'respondWithNewView',\n      value: function respondWithNewView(view) {\n        if (IsReadableStreamBYOBRequest(this) === false) {\n          throw byobRequestBrandCheckException('respond');\n        }\n        if (this._associatedReadableByteStreamController === undefined) {\n          throw new TypeError('This BYOB request has been invalidated');\n        }\n        if (!ArrayBuffer.isView(view)) {\n          throw new TypeError('You can only respond with array buffer views');\n        }\n        ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);\n      }\n    }, {\n      key: 'view',\n      get: function get() {\n        return this._view;\n      }\n    }]);\n    return ReadableStreamBYOBRequest;\n  }();\n  var ReadableByteStreamController = function () {\n    function ReadableByteStreamController(stream, underlyingByteSource, highWaterMark) {\n      _classCallCheck(this, ReadableByteStreamController);\n      if (IsReadableStream(stream) === false) {\n        throw new TypeError('ReadableByteStreamController can only be constructed with a ReadableStream instance given ' + 'a byte source');\n      }\n      if (stream._readableStreamController !== undefined) {\n        throw new TypeError('ReadableByteStreamController instances can only be created by the ReadableStream constructor given a byte ' + 'source');\n      }\n      this._controlledReadableStream = stream;\n      this._underlyingByteSource = underlyingByteSource;\n      this._pullAgain = false;\n      this._pulling = false;\n      ReadableByteStreamControllerClearPendingPullIntos(this);\n      this._queue = this._queueTotalSize = undefined;\n      ResetQueue(this);\n      this._closeRequested = false;\n      this._started = false;\n      this._strategyHWM = ValidateAndNormalizeHighWaterMark(highWaterMark);\n      var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;\n      if (autoAllocateChunkSize !== undefined) {\n        if (Number.isInteger(autoAllocateChunkSize) === false || autoAllocateChunkSize <= 0) {\n          throw new RangeError('autoAllocateChunkSize must be a positive integer');\n        }\n      }\n      this._autoAllocateChunkSize = autoAllocateChunkSize;\n      this._pendingPullIntos = [];\n      var controller = this;\n      var startResult = InvokeOrNoop(underlyingByteSource, 'start', [this]);\n      Promise.resolve(startResult).then(function () {\n        controller._started = true;\n        assert(controller._pulling === false);\n        assert(controller._pullAgain === false);\n        ReadableByteStreamControllerCallPullIfNeeded(controller);\n      }, function (r) {\n        if (stream._state === 'readable') {\n          ReadableByteStreamControllerError(controller, r);\n        }\n      }).catch(rethrowAssertionErrorRejection);\n    }\n    _createClass(ReadableByteStreamController, [{\n      key: 'close',\n      value: function close() {\n        if (IsReadableByteStreamController(this) === false) {\n          throw byteStreamControllerBrandCheckException('close');\n        }\n        if (this._closeRequested === true) {\n          throw new TypeError('The stream has already been closed; do not close it again!');\n        }\n        var state = this._controlledReadableStream._state;\n        if (state !== 'readable') {\n          throw new TypeError('The stream (in ' + state + ' state) is not in the readable state and cannot be closed');\n        }\n        ReadableByteStreamControllerClose(this);\n      }\n    }, {\n      key: 'enqueue',\n      value: function enqueue(chunk) {\n        if (IsReadableByteStreamController(this) === false) {\n          throw byteStreamControllerBrandCheckException('enqueue');\n        }\n        if (this._closeRequested === true) {\n          throw new TypeError('stream is closed or draining');\n        }\n        var state = this._controlledReadableStream._state;\n        if (state !== 'readable') {\n          throw new TypeError('The stream (in ' + state + ' state) is not in the readable state and cannot be enqueued to');\n        }\n        if (!ArrayBuffer.isView(chunk)) {\n          throw new TypeError('You can only enqueue array buffer views when using a ReadableByteStreamController');\n        }\n        ReadableByteStreamControllerEnqueue(this, chunk);\n      }\n    }, {\n      key: 'error',\n      value: function error(e) {\n        if (IsReadableByteStreamController(this) === false) {\n          throw byteStreamControllerBrandCheckException('error');\n        }\n        var stream = this._controlledReadableStream;\n        if (stream._state !== 'readable') {\n          throw new TypeError('The stream is ' + stream._state + ' and so cannot be errored');\n        }\n        ReadableByteStreamControllerError(this, e);\n      }\n    }, {\n      key: '__cancelSteps',\n      value: function __cancelSteps(reason) {\n        if (this._pendingPullIntos.length > 0) {\n          var firstDescriptor = this._pendingPullIntos[0];\n          firstDescriptor.bytesFilled = 0;\n        }\n        ResetQueue(this);\n        return PromiseInvokeOrNoop(this._underlyingByteSource, 'cancel', [reason]);\n      }\n    }, {\n      key: '__pullSteps',\n      value: function __pullSteps() {\n        var stream = this._controlledReadableStream;\n        assert(ReadableStreamHasDefaultReader(stream) === true);\n        if (this._queueTotalSize > 0) {\n          assert(ReadableStreamGetNumReadRequests(stream) === 0);\n          var entry = this._queue.shift();\n          this._queueTotalSize -= entry.byteLength;\n          ReadableByteStreamControllerHandleQueueDrain(this);\n          var view = void 0;\n          try {\n            view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);\n          } catch (viewE) {\n            return Promise.reject(viewE);\n          }\n          return Promise.resolve(CreateIterResultObject(view, false));\n        }\n        var autoAllocateChunkSize = this._autoAllocateChunkSize;\n        if (autoAllocateChunkSize !== undefined) {\n          var buffer = void 0;\n          try {\n            buffer = new ArrayBuffer(autoAllocateChunkSize);\n          } catch (bufferE) {\n            return Promise.reject(bufferE);\n          }\n          var pullIntoDescriptor = {\n            buffer: buffer,\n            byteOffset: 0,\n            byteLength: autoAllocateChunkSize,\n            bytesFilled: 0,\n            elementSize: 1,\n            ctor: Uint8Array,\n            readerType: 'default'\n          };\n          this._pendingPullIntos.push(pullIntoDescriptor);\n        }\n        var promise = ReadableStreamAddReadRequest(stream);\n        ReadableByteStreamControllerCallPullIfNeeded(this);\n        return promise;\n      }\n    }, {\n      key: 'byobRequest',\n      get: function get() {\n        if (IsReadableByteStreamController(this) === false) {\n          throw byteStreamControllerBrandCheckException('byobRequest');\n        }\n        if (this._byobRequest === undefined && this._pendingPullIntos.length > 0) {\n          var firstDescriptor = this._pendingPullIntos[0];\n          var view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled);\n          this._byobRequest = new ReadableStreamBYOBRequest(this, view);\n        }\n        return this._byobRequest;\n      }\n    }, {\n      key: 'desiredSize',\n      get: function get() {\n        if (IsReadableByteStreamController(this) === false) {\n          throw byteStreamControllerBrandCheckException('desiredSize');\n        }\n        return ReadableByteStreamControllerGetDesiredSize(this);\n      }\n    }]);\n    return ReadableByteStreamController;\n  }();\n  function IsReadableByteStreamController(x) {\n    if (!typeIsObject(x)) {\n      return false;\n    }\n    if (!Object.prototype.hasOwnProperty.call(x, '_underlyingByteSource')) {\n      return false;\n    }\n    return true;\n  }\n  function IsReadableStreamBYOBRequest(x) {\n    if (!typeIsObject(x)) {\n      return false;\n    }\n    if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) {\n      return false;\n    }\n    return true;\n  }\n  function ReadableByteStreamControllerCallPullIfNeeded(controller) {\n    var shouldPull = ReadableByteStreamControllerShouldCallPull(controller);\n    if (shouldPull === false) {\n      return undefined;\n    }\n    if (controller._pulling === true) {\n      controller._pullAgain = true;\n      return undefined;\n    }\n    assert(controller._pullAgain === false);\n    controller._pulling = true;\n    var pullPromise = PromiseInvokeOrNoop(controller._underlyingByteSource, 'pull', [controller]);\n    pullPromise.then(function () {\n      controller._pulling = false;\n      if (controller._pullAgain === true) {\n        controller._pullAgain = false;\n        ReadableByteStreamControllerCallPullIfNeeded(controller);\n      }\n    }, function (e) {\n      if (controller._controlledReadableStream._state === 'readable') {\n        ReadableByteStreamControllerError(controller, e);\n      }\n    }).catch(rethrowAssertionErrorRejection);\n    return undefined;\n  }\n  function ReadableByteStreamControllerClearPendingPullIntos(controller) {\n    ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n    controller._pendingPullIntos = [];\n  }\n  function ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) {\n    assert(stream._state !== 'errored', 'state must not be errored');\n    var done = false;\n    if (stream._state === 'closed') {\n      assert(pullIntoDescriptor.bytesFilled === 0);\n      done = true;\n    }\n    var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n    if (pullIntoDescriptor.readerType === 'default') {\n      ReadableStreamFulfillReadRequest(stream, filledView, done);\n    } else {\n      assert(pullIntoDescriptor.readerType === 'byob');\n      ReadableStreamFulfillReadIntoRequest(stream, filledView, done);\n    }\n  }\n  function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) {\n    var bytesFilled = pullIntoDescriptor.bytesFilled;\n    var elementSize = pullIntoDescriptor.elementSize;\n    assert(bytesFilled <= pullIntoDescriptor.byteLength);\n    assert(bytesFilled % elementSize === 0);\n    return new pullIntoDescriptor.ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize);\n  }\n  function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) {\n    controller._queue.push({\n      buffer: buffer,\n      byteOffset: byteOffset,\n      byteLength: byteLength\n    });\n    controller._queueTotalSize += byteLength;\n  }\n  function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) {\n    var elementSize = pullIntoDescriptor.elementSize;\n    var currentAlignedBytes = pullIntoDescriptor.bytesFilled - pullIntoDescriptor.bytesFilled % elementSize;\n    var maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled);\n    var maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy;\n    var maxAlignedBytes = maxBytesFilled - maxBytesFilled % elementSize;\n    var totalBytesToCopyRemaining = maxBytesToCopy;\n    var ready = false;\n    if (maxAlignedBytes > currentAlignedBytes) {\n      totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;\n      ready = true;\n    }\n    var queue = controller._queue;\n    while (totalBytesToCopyRemaining > 0) {\n      var headOfQueue = queue[0];\n      var bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength);\n      var destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n      ArrayBufferCopy(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy);\n      if (headOfQueue.byteLength === bytesToCopy) {\n        queue.shift();\n      } else {\n        headOfQueue.byteOffset += bytesToCopy;\n        headOfQueue.byteLength -= bytesToCopy;\n      }\n      controller._queueTotalSize -= bytesToCopy;\n      ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor);\n      totalBytesToCopyRemaining -= bytesToCopy;\n    }\n    if (ready === false) {\n      assert(controller._queueTotalSize === 0, 'queue must be empty');\n      assert(pullIntoDescriptor.bytesFilled > 0);\n      assert(pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize);\n    }\n    return ready;\n  }\n  function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {\n    assert(controller._pendingPullIntos.length === 0 || controller._pendingPullIntos[0] === pullIntoDescriptor);\n    ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n    pullIntoDescriptor.bytesFilled += size;\n  }\n  function ReadableByteStreamControllerHandleQueueDrain(controller) {\n    assert(controller._controlledReadableStream._state === 'readable');\n    if (controller._queueTotalSize === 0 && controller._closeRequested === true) {\n      ReadableStreamClose(controller._controlledReadableStream);\n    } else {\n      ReadableByteStreamControllerCallPullIfNeeded(controller);\n    }\n  }\n  function ReadableByteStreamControllerInvalidateBYOBRequest(controller) {\n    if (controller._byobRequest === undefined) {\n      return;\n    }\n    controller._byobRequest._associatedReadableByteStreamController = undefined;\n    controller._byobRequest._view = undefined;\n    controller._byobRequest = undefined;\n  }\n  function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) {\n    assert(controller._closeRequested === false);\n    while (controller._pendingPullIntos.length > 0) {\n      if (controller._queueTotalSize === 0) {\n        return;\n      }\n      var pullIntoDescriptor = controller._pendingPullIntos[0];\n      if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n        ReadableByteStreamControllerShiftPendingPullInto(controller);\n        ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableStream, pullIntoDescriptor);\n      }\n    }\n  }\n  function ReadableByteStreamControllerPullInto(controller, view) {\n    var stream = controller._controlledReadableStream;\n    var elementSize = 1;\n    if (view.constructor !== DataView) {\n      elementSize = view.constructor.BYTES_PER_ELEMENT;\n    }\n    var ctor = view.constructor;\n    var pullIntoDescriptor = {\n      buffer: view.buffer,\n      byteOffset: view.byteOffset,\n      byteLength: view.byteLength,\n      bytesFilled: 0,\n      elementSize: elementSize,\n      ctor: ctor,\n      readerType: 'byob'\n    };\n    if (controller._pendingPullIntos.length > 0) {\n      pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n      controller._pendingPullIntos.push(pullIntoDescriptor);\n      return ReadableStreamAddReadIntoRequest(stream);\n    }\n    if (stream._state === 'closed') {\n      var emptyView = new view.constructor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);\n      return Promise.resolve(CreateIterResultObject(emptyView, true));\n    }\n    if (controller._queueTotalSize > 0) {\n      if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n        var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n        ReadableByteStreamControllerHandleQueueDrain(controller);\n        return Promise.resolve(CreateIterResultObject(filledView, false));\n      }\n      if (controller._closeRequested === true) {\n        var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n        ReadableByteStreamControllerError(controller, e);\n        return Promise.reject(e);\n      }\n    }\n    pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n    controller._pendingPullIntos.push(pullIntoDescriptor);\n    var promise = ReadableStreamAddReadIntoRequest(stream);\n    ReadableByteStreamControllerCallPullIfNeeded(controller);\n    return promise;\n  }\n  function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) {\n    firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);\n    assert(firstDescriptor.bytesFilled === 0, 'bytesFilled must be 0');\n    var stream = controller._controlledReadableStream;\n    if (ReadableStreamHasBYOBReader(stream) === true) {\n      while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n        var pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);\n        ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);\n      }\n    }\n  }\n  function ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) {\n    if (pullIntoDescriptor.bytesFilled + bytesWritten > pullIntoDescriptor.byteLength) {\n      throw new RangeError('bytesWritten out of range');\n    }\n    ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);\n    if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) {\n      return;\n    }\n    ReadableByteStreamControllerShiftPendingPullInto(controller);\n    var remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;\n    if (remainderSize > 0) {\n      var end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n      var remainder = pullIntoDescriptor.buffer.slice(end - remainderSize, end);\n      ReadableByteStreamControllerEnqueueChunkToQueue(controller, remainder, 0, remainder.byteLength);\n    }\n    pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n    pullIntoDescriptor.bytesFilled -= remainderSize;\n    ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableStream, pullIntoDescriptor);\n    ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n  }\n  function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) {\n    var firstDescriptor = controller._pendingPullIntos[0];\n    var stream = controller._controlledReadableStream;\n    if (stream._state === 'closed') {\n      if (bytesWritten !== 0) {\n        throw new TypeError('bytesWritten must be 0 when calling respond() on a closed stream');\n      }\n      ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor);\n    } else {\n      assert(stream._state === 'readable');\n      ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);\n    }\n  }\n  function ReadableByteStreamControllerShiftPendingPullInto(controller) {\n    var descriptor = controller._pendingPullIntos.shift();\n    ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n    return descriptor;\n  }\n  function ReadableByteStreamControllerShouldCallPull(controller) {\n    var stream = controller._controlledReadableStream;\n    if (stream._state !== 'readable') {\n      return false;\n    }\n    if (controller._closeRequested === true) {\n      return false;\n    }\n    if (controller._started === false) {\n      return false;\n    }\n    if (ReadableStreamHasDefaultReader(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n      return true;\n    }\n    if (ReadableStreamHasBYOBReader(stream) === true && ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n      return true;\n    }\n    if (ReadableByteStreamControllerGetDesiredSize(controller) > 0) {\n      return true;\n    }\n    return false;\n  }\n  function ReadableByteStreamControllerClose(controller) {\n    var stream = controller._controlledReadableStream;\n    assert(controller._closeRequested === false);\n    assert(stream._state === 'readable');\n    if (controller._queueTotalSize > 0) {\n      controller._closeRequested = true;\n      return;\n    }\n    if (controller._pendingPullIntos.length > 0) {\n      var firstPendingPullInto = controller._pendingPullIntos[0];\n      if (firstPendingPullInto.bytesFilled > 0) {\n        var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n        ReadableByteStreamControllerError(controller, e);\n        throw e;\n      }\n    }\n    ReadableStreamClose(stream);\n  }\n  function ReadableByteStreamControllerEnqueue(controller, chunk) {\n    var stream = controller._controlledReadableStream;\n    assert(controller._closeRequested === false);\n    assert(stream._state === 'readable');\n    var buffer = chunk.buffer;\n    var byteOffset = chunk.byteOffset;\n    var byteLength = chunk.byteLength;\n    var transferredBuffer = TransferArrayBuffer(buffer);\n    if (ReadableStreamHasDefaultReader(stream) === true) {\n      if (ReadableStreamGetNumReadRequests(stream) === 0) {\n        ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n      } else {\n        assert(controller._queue.length === 0);\n        var transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength);\n        ReadableStreamFulfillReadRequest(stream, transferredView, false);\n      }\n    } else if (ReadableStreamHasBYOBReader(stream) === true) {\n      ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n      ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n    } else {\n      assert(IsReadableStreamLocked(stream) === false, 'stream must not be locked');\n      ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n    }\n  }\n  function ReadableByteStreamControllerError(controller, e) {\n    var stream = controller._controlledReadableStream;\n    assert(stream._state === 'readable');\n    ReadableByteStreamControllerClearPendingPullIntos(controller);\n    ResetQueue(controller);\n    ReadableStreamError(stream, e);\n  }\n  function ReadableByteStreamControllerGetDesiredSize(controller) {\n    var stream = controller._controlledReadableStream;\n    var state = stream._state;\n    if (state === 'errored') {\n      return null;\n    }\n    if (state === 'closed') {\n      return 0;\n    }\n    return controller._strategyHWM - controller._queueTotalSize;\n  }\n  function ReadableByteStreamControllerRespond(controller, bytesWritten) {\n    bytesWritten = Number(bytesWritten);\n    if (IsFiniteNonNegativeNumber(bytesWritten) === false) {\n      throw new RangeError('bytesWritten must be a finite');\n    }\n    assert(controller._pendingPullIntos.length > 0);\n    ReadableByteStreamControllerRespondInternal(controller, bytesWritten);\n  }\n  function ReadableByteStreamControllerRespondWithNewView(controller, view) {\n    assert(controller._pendingPullIntos.length > 0);\n    var firstDescriptor = controller._pendingPullIntos[0];\n    if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) {\n      throw new RangeError('The region specified by view does not match byobRequest');\n    }\n    if (firstDescriptor.byteLength !== view.byteLength) {\n      throw new RangeError('The buffer of view has different capacity than byobRequest');\n    }\n    firstDescriptor.buffer = view.buffer;\n    ReadableByteStreamControllerRespondInternal(controller, view.byteLength);\n  }\n  function streamBrandCheckException(name) {\n    return new TypeError('ReadableStream.prototype.' + name + ' can only be used on a ReadableStream');\n  }\n  function readerLockException(name) {\n    return new TypeError('Cannot ' + name + ' a stream using a released reader');\n  }\n  function defaultReaderBrandCheckException(name) {\n    return new TypeError('ReadableStreamDefaultReader.prototype.' + name + ' can only be used on a ReadableStreamDefaultReader');\n  }\n  function defaultReaderClosedPromiseInitialize(reader) {\n    reader._closedPromise = new Promise(function (resolve, reject) {\n      reader._closedPromise_resolve = resolve;\n      reader._closedPromise_reject = reject;\n    });\n  }\n  function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {\n    reader._closedPromise = Promise.reject(reason);\n    reader._closedPromise_resolve = undefined;\n    reader._closedPromise_reject = undefined;\n  }\n  function defaultReaderClosedPromiseInitializeAsResolved(reader) {\n    reader._closedPromise = Promise.resolve(undefined);\n    reader._closedPromise_resolve = undefined;\n    reader._closedPromise_reject = undefined;\n  }\n  function defaultReaderClosedPromiseReject(reader, reason) {\n    assert(reader._closedPromise_resolve !== undefined);\n    assert(reader._closedPromise_reject !== undefined);\n    reader._closedPromise_reject(reason);\n    reader._closedPromise_resolve = undefined;\n    reader._closedPromise_reject = undefined;\n  }\n  function defaultReaderClosedPromiseResetToRejected(reader, reason) {\n    assert(reader._closedPromise_resolve === undefined);\n    assert(reader._closedPromise_reject === undefined);\n    reader._closedPromise = Promise.reject(reason);\n  }\n  function defaultReaderClosedPromiseResolve(reader) {\n    assert(reader._closedPromise_resolve !== undefined);\n    assert(reader._closedPromise_reject !== undefined);\n    reader._closedPromise_resolve(undefined);\n    reader._closedPromise_resolve = undefined;\n    reader._closedPromise_reject = undefined;\n  }\n  function byobReaderBrandCheckException(name) {\n    return new TypeError('ReadableStreamBYOBReader.prototype.' + name + ' can only be used on a ReadableStreamBYOBReader');\n  }\n  function defaultControllerBrandCheckException(name) {\n    return new TypeError('ReadableStreamDefaultController.prototype.' + name + ' can only be used on a ReadableStreamDefaultController');\n  }\n  function byobRequestBrandCheckException(name) {\n    return new TypeError('ReadableStreamBYOBRequest.prototype.' + name + ' can only be used on a ReadableStreamBYOBRequest');\n  }\n  function byteStreamControllerBrandCheckException(name) {\n    return new TypeError('ReadableByteStreamController.prototype.' + name + ' can only be used on a ReadableByteStreamController');\n  }\n  function ifIsObjectAndHasAPromiseIsHandledInternalSlotSetPromiseIsHandledToTrue(promise) {\n    try {\n      Promise.prototype.then.call(promise, undefined, function () {});\n    } catch (e) {}\n  }\n}, function (module, exports, __w_pdfjs_require__) {\n  \"use strict\";\n\n  var transformStream = __w_pdfjs_require__(6);\n  var readableStream = __w_pdfjs_require__(4);\n  var writableStream = __w_pdfjs_require__(2);\n  exports.TransformStream = transformStream.TransformStream;\n  exports.ReadableStream = readableStream.ReadableStream;\n  exports.IsReadableStreamDisturbed = readableStream.IsReadableStreamDisturbed;\n  exports.ReadableStreamDefaultControllerClose = readableStream.ReadableStreamDefaultControllerClose;\n  exports.ReadableStreamDefaultControllerEnqueue = readableStream.ReadableStreamDefaultControllerEnqueue;\n  exports.ReadableStreamDefaultControllerError = readableStream.ReadableStreamDefaultControllerError;\n  exports.ReadableStreamDefaultControllerGetDesiredSize = readableStream.ReadableStreamDefaultControllerGetDesiredSize;\n  exports.AcquireWritableStreamDefaultWriter = writableStream.AcquireWritableStreamDefaultWriter;\n  exports.IsWritableStream = writableStream.IsWritableStream;\n  exports.IsWritableStreamLocked = writableStream.IsWritableStreamLocked;\n  exports.WritableStream = writableStream.WritableStream;\n  exports.WritableStreamAbort = writableStream.WritableStreamAbort;\n  exports.WritableStreamDefaultControllerError = writableStream.WritableStreamDefaultControllerError;\n  exports.WritableStreamDefaultWriterCloseWithErrorPropagation = writableStream.WritableStreamDefaultWriterCloseWithErrorPropagation;\n  exports.WritableStreamDefaultWriterRelease = writableStream.WritableStreamDefaultWriterRelease;\n  exports.WritableStreamDefaultWriterWrite = writableStream.WritableStreamDefaultWriterWrite;\n}, function (module, exports, __w_pdfjs_require__) {\n  \"use strict\";\n\n  var _createClass = function () {\n    function defineProperties(target, props) {\n      for (var i = 0; i < props.length; i++) {\n        var descriptor = props[i];\n        descriptor.enumerable = descriptor.enumerable || false;\n        descriptor.configurable = true;\n        if (\"value\" in descriptor) descriptor.writable = true;\n        Object.defineProperty(target, descriptor.key, descriptor);\n      }\n    }\n    return function (Constructor, protoProps, staticProps) {\n      if (protoProps) defineProperties(Constructor.prototype, protoProps);\n      if (staticProps) defineProperties(Constructor, staticProps);\n      return Constructor;\n    };\n  }();\n  function _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n      throw new TypeError(\"Cannot call a class as a function\");\n    }\n  }\n  var _require = __w_pdfjs_require__(1),\n      assert = _require.assert;\n  var _require2 = __w_pdfjs_require__(0),\n      InvokeOrNoop = _require2.InvokeOrNoop,\n      PromiseInvokeOrPerformFallback = _require2.PromiseInvokeOrPerformFallback,\n      PromiseInvokeOrNoop = _require2.PromiseInvokeOrNoop,\n      typeIsObject = _require2.typeIsObject;\n  var _require3 = __w_pdfjs_require__(4),\n      ReadableStream = _require3.ReadableStream,\n      ReadableStreamDefaultControllerClose = _require3.ReadableStreamDefaultControllerClose,\n      ReadableStreamDefaultControllerEnqueue = _require3.ReadableStreamDefaultControllerEnqueue,\n      ReadableStreamDefaultControllerError = _require3.ReadableStreamDefaultControllerError,\n      ReadableStreamDefaultControllerGetDesiredSize = _require3.ReadableStreamDefaultControllerGetDesiredSize;\n  var _require4 = __w_pdfjs_require__(2),\n      WritableStream = _require4.WritableStream,\n      WritableStreamDefaultControllerError = _require4.WritableStreamDefaultControllerError;\n  function TransformStreamCloseReadable(transformStream) {\n    if (transformStream._errored === true) {\n      throw new TypeError('TransformStream is already errored');\n    }\n    if (transformStream._readableClosed === true) {\n      throw new TypeError('Readable side is already closed');\n    }\n    TransformStreamCloseReadableInternal(transformStream);\n  }\n  function TransformStreamEnqueueToReadable(transformStream, chunk) {\n    if (transformStream._errored === true) {\n      throw new TypeError('TransformStream is already errored');\n    }\n    if (transformStream._readableClosed === true) {\n      throw new TypeError('Readable side is already closed');\n    }\n    var controller = transformStream._readableController;\n    try {\n      ReadableStreamDefaultControllerEnqueue(controller, chunk);\n    } catch (e) {\n      transformStream._readableClosed = true;\n      TransformStreamErrorIfNeeded(transformStream, e);\n      throw transformStream._storedError;\n    }\n    var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);\n    var maybeBackpressure = desiredSize <= 0;\n    if (maybeBackpressure === true && transformStream._backpressure === false) {\n      TransformStreamSetBackpressure(transformStream, true);\n    }\n  }\n  function TransformStreamError(transformStream, e) {\n    if (transformStream._errored === true) {\n      throw new TypeError('TransformStream is already errored');\n    }\n    TransformStreamErrorInternal(transformStream, e);\n  }\n  function TransformStreamCloseReadableInternal(transformStream) {\n    assert(transformStream._errored === false);\n    assert(transformStream._readableClosed === false);\n    try {\n      ReadableStreamDefaultControllerClose(transformStream._readableController);\n    } catch (e) {\n      assert(false);\n    }\n    transformStream._readableClosed = true;\n  }\n  function TransformStreamErrorIfNeeded(transformStream, e) {\n    if (transformStream._errored === false) {\n      TransformStreamErrorInternal(transformStream, e);\n    }\n  }\n  function TransformStreamErrorInternal(transformStream, e) {\n    assert(transformStream._errored === false);\n    transformStream._errored = true;\n    transformStream._storedError = e;\n    if (transformStream._writableDone === false) {\n      WritableStreamDefaultControllerError(transformStream._writableController, e);\n    }\n    if (transformStream._readableClosed === false) {\n      ReadableStreamDefaultControllerError(transformStream._readableController, e);\n    }\n  }\n  function TransformStreamReadableReadyPromise(transformStream) {\n    assert(transformStream._backpressureChangePromise !== undefined, '_backpressureChangePromise should have been initialized');\n    if (transformStream._backpressure === false) {\n      return Promise.resolve();\n    }\n    assert(transformStream._backpressure === true, '_backpressure should have been initialized');\n    return transformStream._backpressureChangePromise;\n  }\n  function TransformStreamSetBackpressure(transformStream, backpressure) {\n    assert(transformStream._backpressure !== backpressure, 'TransformStreamSetBackpressure() should be called only when backpressure is changed');\n    if (transformStream._backpressureChangePromise !== undefined) {\n      transformStream._backpressureChangePromise_resolve(backpressure);\n    }\n    transformStream._backpressureChangePromise = new Promise(function (resolve) {\n      transformStream._backpressureChangePromise_resolve = resolve;\n    });\n    transformStream._backpressureChangePromise.then(function (resolution) {\n      assert(resolution !== backpressure, '_backpressureChangePromise should be fulfilled only when backpressure is changed');\n    });\n    transformStream._backpressure = backpressure;\n  }\n  function TransformStreamDefaultTransform(chunk, transformStreamController) {\n    var transformStream = transformStreamController._controlledTransformStream;\n    TransformStreamEnqueueToReadable(transformStream, chunk);\n    return Promise.resolve();\n  }\n  function TransformStreamTransform(transformStream, chunk) {\n    assert(transformStream._errored === false);\n    assert(transformStream._transforming === false);\n    assert(transformStream._backpressure === false);\n    transformStream._transforming = true;\n    var transformer = transformStream._transformer;\n    var controller = transformStream._transformStreamController;\n    var transformPromise = PromiseInvokeOrPerformFallback(transformer, 'transform', [chunk, controller], TransformStreamDefaultTransform, [chunk, controller]);\n    return transformPromise.then(function () {\n      transformStream._transforming = false;\n      return TransformStreamReadableReadyPromise(transformStream);\n    }, function (e) {\n      TransformStreamErrorIfNeeded(transformStream, e);\n      return Promise.reject(e);\n    });\n  }\n  function IsTransformStreamDefaultController(x) {\n    if (!typeIsObject(x)) {\n      return false;\n    }\n    if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) {\n      return false;\n    }\n    return true;\n  }\n  function IsTransformStream(x) {\n    if (!typeIsObject(x)) {\n      return false;\n    }\n    if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) {\n      return false;\n    }\n    return true;\n  }\n  var TransformStreamSink = function () {\n    function TransformStreamSink(transformStream, startPromise) {\n      _classCallCheck(this, TransformStreamSink);\n      this._transformStream = transformStream;\n      this._startPromise = startPromise;\n    }\n    _createClass(TransformStreamSink, [{\n      key: 'start',\n      value: function start(c) {\n        var transformStream = this._transformStream;\n        transformStream._writableController = c;\n        return this._startPromise.then(function () {\n          return TransformStreamReadableReadyPromise(transformStream);\n        });\n      }\n    }, {\n      key: 'write',\n      value: function write(chunk) {\n        var transformStream = this._transformStream;\n        return TransformStreamTransform(transformStream, chunk);\n      }\n    }, {\n      key: 'abort',\n      value: function abort() {\n        var transformStream = this._transformStream;\n        transformStream._writableDone = true;\n        TransformStreamErrorInternal(transformStream, new TypeError('Writable side aborted'));\n      }\n    }, {\n      key: 'close',\n      value: function close() {\n        var transformStream = this._transformStream;\n        assert(transformStream._transforming === false);\n        transformStream._writableDone = true;\n        var flushPromise = PromiseInvokeOrNoop(transformStream._transformer, 'flush', [transformStream._transformStreamController]);\n        return flushPromise.then(function () {\n          if (transformStream._errored === true) {\n            return Promise.reject(transformStream._storedError);\n          }\n          if (transformStream._readableClosed === false) {\n            TransformStreamCloseReadableInternal(transformStream);\n          }\n          return Promise.resolve();\n        }).catch(function (r) {\n          TransformStreamErrorIfNeeded(transformStream, r);\n          return Promise.reject(transformStream._storedError);\n        });\n      }\n    }]);\n    return TransformStreamSink;\n  }();\n  var TransformStreamSource = function () {\n    function TransformStreamSource(transformStream, startPromise) {\n      _classCallCheck(this, TransformStreamSource);\n      this._transformStream = transformStream;\n      this._startPromise = startPromise;\n    }\n    _createClass(TransformStreamSource, [{\n      key: 'start',\n      value: function start(c) {\n        var transformStream = this._transformStream;\n        transformStream._readableController = c;\n        return this._startPromise.then(function () {\n          assert(transformStream._backpressureChangePromise !== undefined, '_backpressureChangePromise should have been initialized');\n          if (transformStream._backpressure === true) {\n            return Promise.resolve();\n          }\n          assert(transformStream._backpressure === false, '_backpressure should have been initialized');\n          return transformStream._backpressureChangePromise;\n        });\n      }\n    }, {\n      key: 'pull',\n      value: function pull() {\n        var transformStream = this._transformStream;\n        assert(transformStream._backpressure === true, 'pull() should be never called while _backpressure is false');\n        assert(transformStream._backpressureChangePromise !== undefined, '_backpressureChangePromise should have been initialized');\n        TransformStreamSetBackpressure(transformStream, false);\n        return transformStream._backpressureChangePromise;\n      }\n    }, {\n      key: 'cancel',\n      value: function cancel() {\n        var transformStream = this._transformStream;\n        transformStream._readableClosed = true;\n        TransformStreamErrorInternal(transformStream, new TypeError('Readable side canceled'));\n      }\n    }]);\n    return TransformStreamSource;\n  }();\n  var TransformStreamDefaultController = function () {\n    function TransformStreamDefaultController(transformStream) {\n      _classCallCheck(this, TransformStreamDefaultController);\n      if (IsTransformStream(transformStream) === false) {\n        throw new TypeError('TransformStreamDefaultController can only be ' + 'constructed with a TransformStream instance');\n      }\n      if (transformStream._transformStreamController !== undefined) {\n        throw new TypeError('TransformStreamDefaultController instances can ' + 'only be created by the TransformStream constructor');\n      }\n      this._controlledTransformStream = transformStream;\n    }\n    _createClass(TransformStreamDefaultController, [{\n      key: 'enqueue',\n      value: function enqueue(chunk) {\n        if (IsTransformStreamDefaultController(this) === false) {\n          throw defaultControllerBrandCheckException('enqueue');\n        }\n        TransformStreamEnqueueToReadable(this._controlledTransformStream, chunk);\n      }\n    }, {\n      key: 'close',\n      value: function close() {\n        if (IsTransformStreamDefaultController(this) === false) {\n          throw defaultControllerBrandCheckException('close');\n        }\n        TransformStreamCloseReadable(this._controlledTransformStream);\n      }\n    }, {\n      key: 'error',\n      value: function error(reason) {\n        if (IsTransformStreamDefaultController(this) === false) {\n          throw defaultControllerBrandCheckException('error');\n        }\n        TransformStreamError(this._controlledTransformStream, reason);\n      }\n    }, {\n      key: 'desiredSize',\n      get: function get() {\n        if (IsTransformStreamDefaultController(this) === false) {\n          throw defaultControllerBrandCheckException('desiredSize');\n        }\n        var transformStream = this._controlledTransformStream;\n        var readableController = transformStream._readableController;\n        return ReadableStreamDefaultControllerGetDesiredSize(readableController);\n      }\n    }]);\n    return TransformStreamDefaultController;\n  }();\n  var TransformStream = function () {\n    function TransformStream() {\n      var transformer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n      _classCallCheck(this, TransformStream);\n      this._transformer = transformer;\n      var readableStrategy = transformer.readableStrategy,\n          writableStrategy = transformer.writableStrategy;\n      this._transforming = false;\n      this._errored = false;\n      this._storedError = undefined;\n      this._writableController = undefined;\n      this._readableController = undefined;\n      this._transformStreamController = undefined;\n      this._writableDone = false;\n      this._readableClosed = false;\n      this._backpressure = undefined;\n      this._backpressureChangePromise = undefined;\n      this._backpressureChangePromise_resolve = undefined;\n      this._transformStreamController = new TransformStreamDefaultController(this);\n      var startPromise_resolve = void 0;\n      var startPromise = new Promise(function (resolve) {\n        startPromise_resolve = resolve;\n      });\n      var source = new TransformStreamSource(this, startPromise);\n      this._readable = new ReadableStream(source, readableStrategy);\n      var sink = new TransformStreamSink(this, startPromise);\n      this._writable = new WritableStream(sink, writableStrategy);\n      assert(this._writableController !== undefined);\n      assert(this._readableController !== undefined);\n      var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(this._readableController);\n      TransformStreamSetBackpressure(this, desiredSize <= 0);\n      var transformStream = this;\n      var startResult = InvokeOrNoop(transformer, 'start', [transformStream._transformStreamController]);\n      startPromise_resolve(startResult);\n      startPromise.catch(function (e) {\n        if (transformStream._errored === false) {\n          transformStream._errored = true;\n          transformStream._storedError = e;\n        }\n      });\n    }\n    _createClass(TransformStream, [{\n      key: 'readable',\n      get: function get() {\n        if (IsTransformStream(this) === false) {\n          throw streamBrandCheckException('readable');\n        }\n        return this._readable;\n      }\n    }, {\n      key: 'writable',\n      get: function get() {\n        if (IsTransformStream(this) === false) {\n          throw streamBrandCheckException('writable');\n        }\n        return this._writable;\n      }\n    }]);\n    return TransformStream;\n  }();\n  module.exports = { TransformStream: TransformStream };\n  function defaultControllerBrandCheckException(name) {\n    return new TypeError('TransformStreamDefaultController.prototype.' + name + ' can only be used on a TransformStreamDefaultController');\n  }\n  function streamBrandCheckException(name) {\n    return new TypeError('TransformStream.prototype.' + name + ' can only be used on a TransformStream');\n  }\n}, function (module, exports, __w_pdfjs_require__) {\n  module.exports = __w_pdfjs_require__(5);\n}]));\n\n/***/ }),\n/* 134 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.PDFJS = exports.globalScope = undefined;\n\nvar _api = __w_pdfjs_require__(75);\n\nvar _dom_utils = __w_pdfjs_require__(17);\n\nvar _util = __w_pdfjs_require__(0);\n\nvar _annotation_layer = __w_pdfjs_require__(88);\n\nvar _global_scope = __w_pdfjs_require__(22);\n\nvar _global_scope2 = _interopRequireDefault(_global_scope);\n\nvar _metadata = __w_pdfjs_require__(77);\n\nvar _text_layer = __w_pdfjs_require__(89);\n\nvar _svg = __w_pdfjs_require__(90);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nif (!_global_scope2.default.PDFJS) {\n  _global_scope2.default.PDFJS = {};\n}\nvar PDFJS = _global_scope2.default.PDFJS;\n{\n  PDFJS.version = '1.10.100';\n  PDFJS.build = 'ea29ec83';\n}\nPDFJS.pdfBug = false;\nif (PDFJS.verbosity !== undefined) {\n  (0, _util.setVerbosityLevel)(PDFJS.verbosity);\n}\ndelete PDFJS.verbosity;\nObject.defineProperty(PDFJS, 'verbosity', {\n  get: function get() {\n    return (0, _util.getVerbosityLevel)();\n  },\n  set: function set(level) {\n    (0, _util.setVerbosityLevel)(level);\n  },\n\n  enumerable: true,\n  configurable: true\n});\nPDFJS.VERBOSITY_LEVELS = _util.VERBOSITY_LEVELS;\nPDFJS.OPS = _util.OPS;\nPDFJS.UNSUPPORTED_FEATURES = _util.UNSUPPORTED_FEATURES;\nPDFJS.isValidUrl = _dom_utils.isValidUrl;\nPDFJS.shadow = _util.shadow;\nPDFJS.createBlob = _util.createBlob;\nPDFJS.createObjectURL = function PDFJS_createObjectURL(data, contentType) {\n  return (0, _util.createObjectURL)(data, contentType, PDFJS.disableCreateObjectURL);\n};\nObject.defineProperty(PDFJS, 'isLittleEndian', {\n  configurable: true,\n  get: function PDFJS_isLittleEndian() {\n    return (0, _util.shadow)(PDFJS, 'isLittleEndian', (0, _util.isLittleEndian)());\n  }\n});\nPDFJS.removeNullCharacters = _util.removeNullCharacters;\nPDFJS.PasswordResponses = _util.PasswordResponses;\nPDFJS.PasswordException = _util.PasswordException;\nPDFJS.UnknownErrorException = _util.UnknownErrorException;\nPDFJS.InvalidPDFException = _util.InvalidPDFException;\nPDFJS.MissingPDFException = _util.MissingPDFException;\nPDFJS.UnexpectedResponseException = _util.UnexpectedResponseException;\nPDFJS.Util = _util.Util;\nPDFJS.PageViewport = _util.PageViewport;\nPDFJS.createPromiseCapability = _util.createPromiseCapability;\nPDFJS.maxImageSize = PDFJS.maxImageSize === undefined ? -1 : PDFJS.maxImageSize;\nPDFJS.cMapUrl = PDFJS.cMapUrl === undefined ? null : PDFJS.cMapUrl;\nPDFJS.cMapPacked = PDFJS.cMapPacked === undefined ? false : PDFJS.cMapPacked;\nPDFJS.disableFontFace = PDFJS.disableFontFace === undefined ? false : PDFJS.disableFontFace;\nPDFJS.imageResourcesPath = PDFJS.imageResourcesPath === undefined ? '' : PDFJS.imageResourcesPath;\nPDFJS.disableWorker = PDFJS.disableWorker === undefined ? false : PDFJS.disableWorker;\nPDFJS.workerSrc = PDFJS.workerSrc === undefined ? null : PDFJS.workerSrc;\nPDFJS.workerPort = PDFJS.workerPort === undefined ? null : PDFJS.workerPort;\nPDFJS.disableRange = PDFJS.disableRange === undefined ? false : PDFJS.disableRange;\nPDFJS.disableStream = PDFJS.disableStream === undefined ? false : PDFJS.disableStream;\nPDFJS.disableAutoFetch = PDFJS.disableAutoFetch === undefined ? false : PDFJS.disableAutoFetch;\nPDFJS.pdfBug = PDFJS.pdfBug === undefined ? false : PDFJS.pdfBug;\nPDFJS.postMessageTransfers = PDFJS.postMessageTransfers === undefined ? true : PDFJS.postMessageTransfers;\nPDFJS.disableCreateObjectURL = PDFJS.disableCreateObjectURL === undefined ? false : PDFJS.disableCreateObjectURL;\nPDFJS.disableWebGL = PDFJS.disableWebGL === undefined ? true : PDFJS.disableWebGL;\nPDFJS.externalLinkTarget = PDFJS.externalLinkTarget === undefined ? _dom_utils.LinkTarget.NONE : PDFJS.externalLinkTarget;\nPDFJS.externalLinkRel = PDFJS.externalLinkRel === undefined ? _dom_utils.DEFAULT_LINK_REL : PDFJS.externalLinkRel;\nPDFJS.isEvalSupported = PDFJS.isEvalSupported === undefined ? true : PDFJS.isEvalSupported;\nPDFJS.pdfjsNext = PDFJS.pdfjsNext === undefined ? false : PDFJS.pdfjsNext;\n{\n  var savedOpenExternalLinksInNewWindow = PDFJS.openExternalLinksInNewWindow;\n  delete PDFJS.openExternalLinksInNewWindow;\n  Object.defineProperty(PDFJS, 'openExternalLinksInNewWindow', {\n    get: function get() {\n      return PDFJS.externalLinkTarget === _dom_utils.LinkTarget.BLANK;\n    },\n    set: function set(value) {\n      if (value) {\n        (0, _util.deprecated)('PDFJS.openExternalLinksInNewWindow, please use ' + '\"PDFJS.externalLinkTarget = PDFJS.LinkTarget.BLANK\" instead.');\n      }\n      if (PDFJS.externalLinkTarget !== _dom_utils.LinkTarget.NONE) {\n        (0, _util.warn)('PDFJS.externalLinkTarget is already initialized');\n        return;\n      }\n      PDFJS.externalLinkTarget = value ? _dom_utils.LinkTarget.BLANK : _dom_utils.LinkTarget.NONE;\n    },\n\n    enumerable: true,\n    configurable: true\n  });\n  if (savedOpenExternalLinksInNewWindow) {\n    PDFJS.openExternalLinksInNewWindow = savedOpenExternalLinksInNewWindow;\n  }\n}\nPDFJS.getDocument = _api.getDocument;\nPDFJS.LoopbackPort = _api.LoopbackPort;\nPDFJS.PDFDataRangeTransport = _api.PDFDataRangeTransport;\nPDFJS.PDFWorker = _api.PDFWorker;\nPDFJS.hasCanvasTypedArrays = true;\nPDFJS.CustomStyle = _dom_utils.CustomStyle;\nPDFJS.LinkTarget = _dom_utils.LinkTarget;\nPDFJS.addLinkAttributes = _dom_utils.addLinkAttributes;\nPDFJS.getFilenameFromUrl = _dom_utils.getFilenameFromUrl;\nPDFJS.isExternalLinkTargetSet = _dom_utils.isExternalLinkTargetSet;\nPDFJS.AnnotationLayer = _annotation_layer.AnnotationLayer;\nPDFJS.renderTextLayer = _text_layer.renderTextLayer;\nPDFJS.Metadata = _metadata.Metadata;\nPDFJS.SVGGraphics = _svg.SVGGraphics;\nPDFJS.UnsupportedManager = _api._UnsupportedManager;\nexports.globalScope = _global_scope2.default;\nexports.PDFJS = PDFJS;\n\n/***/ }),\n/* 135 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.FontLoader = exports.FontFaceObject = undefined;\n\nvar _util = __w_pdfjs_require__(0);\n\nfunction FontLoader(docId) {\n  this.docId = docId;\n  this.styleElement = null;\n  this.nativeFontFaces = [];\n  this.loadTestFontId = 0;\n  this.loadingContext = {\n    requests: [],\n    nextRequestId: 0\n  };\n}\nFontLoader.prototype = {\n  insertRule: function fontLoaderInsertRule(rule) {\n    var styleElement = this.styleElement;\n    if (!styleElement) {\n      styleElement = this.styleElement = document.createElement('style');\n      styleElement.id = 'PDFJS_FONT_STYLE_TAG_' + this.docId;\n      document.documentElement.getElementsByTagName('head')[0].appendChild(styleElement);\n    }\n    var styleSheet = styleElement.sheet;\n    styleSheet.insertRule(rule, styleSheet.cssRules.length);\n  },\n  clear: function fontLoaderClear() {\n    if (this.styleElement) {\n      this.styleElement.remove();\n      this.styleElement = null;\n    }\n    this.nativeFontFaces.forEach(function (nativeFontFace) {\n      document.fonts.delete(nativeFontFace);\n    });\n    this.nativeFontFaces.length = 0;\n  }\n};\n{\n  var getLoadTestFont = function getLoadTestFont() {\n    return atob('T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQAFQ' + 'AABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAAALwA' + 'AAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgAAAAGbm' + 'FtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1AAsD6AAA' + 'AADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD6AAAAAAD6A' + 'ABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACMAooCvAAAAeAA' + 'MQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4DIP84AFoDIQAAAA' + 'AAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAAAAEAAQAAAAEAAAAA' + 'AAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUAAQAAAAEAAAAAAAYAAQ' + 'AAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgABAAMAAQQJAAMAAgABAAMA' + 'AQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABYAAAAAAAAAwAAAAMAAAAcAA' + 'EAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAAAC7////TAAEAAAAAAAABBgAA' + 'AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAA' + 'AAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAAAAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgc' + 'A/gXBIwMAYuL+nz5tQXkD5j3CBLnEQACAQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWF' + 'hYWFhYWFhYAAABAQAADwACAQEEE/t3Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQA' + 'AAAAAAABAAAAAMmJbzEAAAAAzgTjFQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAg' + 'ABAAAAAAAAAAAD6AAAAAAAAA==');\n  };\n  Object.defineProperty(FontLoader.prototype, 'loadTestFont', {\n    get: function get() {\n      return (0, _util.shadow)(this, 'loadTestFont', getLoadTestFont());\n    },\n\n    configurable: true\n  });\n  FontLoader.prototype.addNativeFontFace = function fontLoader_addNativeFontFace(nativeFontFace) {\n    this.nativeFontFaces.push(nativeFontFace);\n    document.fonts.add(nativeFontFace);\n  };\n  FontLoader.prototype.bind = function fontLoaderBind(fonts, callback) {\n    var rules = [];\n    var fontsToLoad = [];\n    var fontLoadPromises = [];\n    var getNativeFontPromise = function getNativeFontPromise(nativeFontFace) {\n      return nativeFontFace.loaded.catch(function (e) {\n        (0, _util.warn)('Failed to load font \"' + nativeFontFace.family + '\": ' + e);\n      });\n    };\n    var isFontLoadingAPISupported = FontLoader.isFontLoadingAPISupported && !FontLoader.isSyncFontLoadingSupported;\n    for (var i = 0, ii = fonts.length; i < ii; i++) {\n      var font = fonts[i];\n      if (font.attached || font.loading === false) {\n        continue;\n      }\n      font.attached = true;\n      if (isFontLoadingAPISupported) {\n        var nativeFontFace = font.createNativeFontFace();\n        if (nativeFontFace) {\n          this.addNativeFontFace(nativeFontFace);\n          fontLoadPromises.push(getNativeFontPromise(nativeFontFace));\n        }\n      } else {\n        var rule = font.createFontFaceRule();\n        if (rule) {\n          this.insertRule(rule);\n          rules.push(rule);\n          fontsToLoad.push(font);\n        }\n      }\n    }\n    var request = this.queueLoadingCallback(callback);\n    if (isFontLoadingAPISupported) {\n      Promise.all(fontLoadPromises).then(function () {\n        request.complete();\n      });\n    } else if (rules.length > 0 && !FontLoader.isSyncFontLoadingSupported) {\n      this.prepareFontLoadEvent(rules, fontsToLoad, request);\n    } else {\n      request.complete();\n    }\n  };\n  FontLoader.prototype.queueLoadingCallback = function FontLoader_queueLoadingCallback(callback) {\n    function LoadLoader_completeRequest() {\n      (0, _util.assert)(!request.end, 'completeRequest() cannot be called twice');\n      request.end = Date.now();\n      while (context.requests.length > 0 && context.requests[0].end) {\n        var otherRequest = context.requests.shift();\n        setTimeout(otherRequest.callback, 0);\n      }\n    }\n    var context = this.loadingContext;\n    var requestId = 'pdfjs-font-loading-' + context.nextRequestId++;\n    var request = {\n      id: requestId,\n      complete: LoadLoader_completeRequest,\n      callback: callback,\n      started: Date.now()\n    };\n    context.requests.push(request);\n    return request;\n  };\n  FontLoader.prototype.prepareFontLoadEvent = function fontLoaderPrepareFontLoadEvent(rules, fonts, request) {\n    function int32(data, offset) {\n      return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff;\n    }\n    function spliceString(s, offset, remove, insert) {\n      var chunk1 = s.substr(0, offset);\n      var chunk2 = s.substr(offset + remove);\n      return chunk1 + insert + chunk2;\n    }\n    var i, ii;\n    var canvas = document.createElement('canvas');\n    canvas.width = 1;\n    canvas.height = 1;\n    var ctx = canvas.getContext('2d');\n    var called = 0;\n    function isFontReady(name, callback) {\n      called++;\n      if (called > 30) {\n        (0, _util.warn)('Load test font never loaded.');\n        callback();\n        return;\n      }\n      ctx.font = '30px ' + name;\n      ctx.fillText('.', 0, 20);\n      var imageData = ctx.getImageData(0, 0, 1, 1);\n      if (imageData.data[3] > 0) {\n        callback();\n        return;\n      }\n      setTimeout(isFontReady.bind(null, name, callback));\n    }\n    var loadTestFontId = 'lt' + Date.now() + this.loadTestFontId++;\n    var data = this.loadTestFont;\n    var COMMENT_OFFSET = 976;\n    data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId);\n    var CFF_CHECKSUM_OFFSET = 16;\n    var XXXX_VALUE = 0x58585858;\n    var checksum = int32(data, CFF_CHECKSUM_OFFSET);\n    for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {\n      checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0;\n    }\n    if (i < loadTestFontId.length) {\n      checksum = checksum - XXXX_VALUE + int32(loadTestFontId + 'XXX', i) | 0;\n    }\n    data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum));\n    var url = 'url(data:font/opentype;base64,' + btoa(data) + ');';\n    var rule = '@font-face { font-family:\"' + loadTestFontId + '\";src:' + url + '}';\n    this.insertRule(rule);\n    var names = [];\n    for (i = 0, ii = fonts.length; i < ii; i++) {\n      names.push(fonts[i].loadedName);\n    }\n    names.push(loadTestFontId);\n    var div = document.createElement('div');\n    div.setAttribute('style', 'visibility: hidden;' + 'width: 10px; height: 10px;' + 'position: absolute; top: 0px; left: 0px;');\n    for (i = 0, ii = names.length; i < ii; ++i) {\n      var span = document.createElement('span');\n      span.textContent = 'Hi';\n      span.style.fontFamily = names[i];\n      div.appendChild(span);\n    }\n    document.body.appendChild(div);\n    isFontReady(loadTestFontId, function () {\n      document.body.removeChild(div);\n      request.complete();\n    });\n  };\n}\n{\n  FontLoader.isFontLoadingAPISupported = typeof document !== 'undefined' && !!document.fonts;\n}\n{\n  var isSyncFontLoadingSupported = function isSyncFontLoadingSupported() {\n    if (typeof navigator === 'undefined') {\n      return true;\n    }\n    var supported = false;\n    var m = /Mozilla\\/5.0.*?rv:(\\d+).*? Gecko/.exec(navigator.userAgent);\n    if (m && m[1] >= 14) {\n      supported = true;\n    }\n    return supported;\n  };\n  Object.defineProperty(FontLoader, 'isSyncFontLoadingSupported', {\n    get: function get() {\n      return (0, _util.shadow)(FontLoader, 'isSyncFontLoadingSupported', isSyncFontLoadingSupported());\n    },\n\n    enumerable: true,\n    configurable: true\n  });\n}\nvar IsEvalSupportedCached = {\n  get value() {\n    return (0, _util.shadow)(this, 'value', (0, _util.isEvalSupported)());\n  }\n};\nvar FontFaceObject = function FontFaceObjectClosure() {\n  function FontFaceObject(translatedData, options) {\n    this.compiledGlyphs = Object.create(null);\n    for (var i in translatedData) {\n      this[i] = translatedData[i];\n    }\n    this.options = options;\n  }\n  FontFaceObject.prototype = {\n    createNativeFontFace: function FontFaceObject_createNativeFontFace() {\n      if (!this.data) {\n        return null;\n      }\n      if (this.options.disableFontFace) {\n        this.disableFontFace = true;\n        return null;\n      }\n      var nativeFontFace = new FontFace(this.loadedName, this.data, {});\n      if (this.options.fontRegistry) {\n        this.options.fontRegistry.registerFont(this);\n      }\n      return nativeFontFace;\n    },\n    createFontFaceRule: function FontFaceObject_createFontFaceRule() {\n      if (!this.data) {\n        return null;\n      }\n      if (this.options.disableFontFace) {\n        this.disableFontFace = true;\n        return null;\n      }\n      var data = (0, _util.bytesToString)(new Uint8Array(this.data));\n      var fontName = this.loadedName;\n      var url = 'url(data:' + this.mimetype + ';base64,' + btoa(data) + ');';\n      var rule = '@font-face { font-family:\"' + fontName + '\";src:' + url + '}';\n      if (this.options.fontRegistry) {\n        this.options.fontRegistry.registerFont(this, url);\n      }\n      return rule;\n    },\n    getPathGenerator: function FontFaceObject_getPathGenerator(objs, character) {\n      if (!(character in this.compiledGlyphs)) {\n        var cmds = objs.get(this.loadedName + '_path_' + character);\n        var current, i, len;\n        if (this.options.isEvalSupported && IsEvalSupportedCached.value) {\n          var args,\n              js = '';\n          for (i = 0, len = cmds.length; i < len; i++) {\n            current = cmds[i];\n            if (current.args !== undefined) {\n              args = current.args.join(',');\n            } else {\n              args = '';\n            }\n            js += 'c.' + current.cmd + '(' + args + ');\\n';\n          }\n          this.compiledGlyphs[character] = new Function('c', 'size', js);\n        } else {\n          this.compiledGlyphs[character] = function (c, size) {\n            for (i = 0, len = cmds.length; i < len; i++) {\n              current = cmds[i];\n              if (current.cmd === 'scale') {\n                current.args = [size, -size];\n              }\n              c[current.cmd].apply(c, current.args);\n            }\n          };\n        }\n      }\n      return this.compiledGlyphs[character];\n    }\n  };\n  return FontFaceObject;\n}();\nexports.FontFaceObject = FontFaceObject;\nexports.FontLoader = FontLoader;\n\n/***/ }),\n/* 136 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.CanvasGraphics = undefined;\n\nvar _util = __w_pdfjs_require__(0);\n\nvar _pattern_helper = __w_pdfjs_require__(137);\n\nvar _webgl = __w_pdfjs_require__(76);\n\nvar MIN_FONT_SIZE = 16;\nvar MAX_FONT_SIZE = 100;\nvar MAX_GROUP_SIZE = 4096;\nvar MIN_WIDTH_FACTOR = 0.65;\nvar COMPILE_TYPE3_GLYPHS = true;\nvar MAX_SIZE_TO_COMPILE = 1000;\nvar FULL_CHUNK_HEIGHT = 16;\nvar IsLittleEndianCached = {\n  get value() {\n    return (0, _util.shadow)(IsLittleEndianCached, 'value', (0, _util.isLittleEndian)());\n  }\n};\nfunction addContextCurrentTransform(ctx) {\n  if (!ctx.mozCurrentTransform) {\n    ctx._originalSave = ctx.save;\n    ctx._originalRestore = ctx.restore;\n    ctx._originalRotate = ctx.rotate;\n    ctx._originalScale = ctx.scale;\n    ctx._originalTranslate = ctx.translate;\n    ctx._originalTransform = ctx.transform;\n    ctx._originalSetTransform = ctx.setTransform;\n    ctx._transformMatrix = ctx._transformMatrix || [1, 0, 0, 1, 0, 0];\n    ctx._transformStack = [];\n    Object.defineProperty(ctx, 'mozCurrentTransform', {\n      get: function getCurrentTransform() {\n        return this._transformMatrix;\n      }\n    });\n    Object.defineProperty(ctx, 'mozCurrentTransformInverse', {\n      get: function getCurrentTransformInverse() {\n        var m = this._transformMatrix;\n        var a = m[0],\n            b = m[1],\n            c = m[2],\n            d = m[3],\n            e = m[4],\n            f = m[5];\n        var ad_bc = a * d - b * c;\n        var bc_ad = b * c - a * d;\n        return [d / ad_bc, b / bc_ad, c / bc_ad, a / ad_bc, (d * e - c * f) / bc_ad, (b * e - a * f) / ad_bc];\n      }\n    });\n    ctx.save = function ctxSave() {\n      var old = this._transformMatrix;\n      this._transformStack.push(old);\n      this._transformMatrix = old.slice(0, 6);\n      this._originalSave();\n    };\n    ctx.restore = function ctxRestore() {\n      var prev = this._transformStack.pop();\n      if (prev) {\n        this._transformMatrix = prev;\n        this._originalRestore();\n      }\n    };\n    ctx.translate = function ctxTranslate(x, y) {\n      var m = this._transformMatrix;\n      m[4] = m[0] * x + m[2] * y + m[4];\n      m[5] = m[1] * x + m[3] * y + m[5];\n      this._originalTranslate(x, y);\n    };\n    ctx.scale = function ctxScale(x, y) {\n      var m = this._transformMatrix;\n      m[0] = m[0] * x;\n      m[1] = m[1] * x;\n      m[2] = m[2] * y;\n      m[3] = m[3] * y;\n      this._originalScale(x, y);\n    };\n    ctx.transform = function ctxTransform(a, b, c, d, e, f) {\n      var m = this._transformMatrix;\n      this._transformMatrix = [m[0] * a + m[2] * b, m[1] * a + m[3] * b, m[0] * c + m[2] * d, m[1] * c + m[3] * d, m[0] * e + m[2] * f + m[4], m[1] * e + m[3] * f + m[5]];\n      ctx._originalTransform(a, b, c, d, e, f);\n    };\n    ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {\n      this._transformMatrix = [a, b, c, d, e, f];\n      ctx._originalSetTransform(a, b, c, d, e, f);\n    };\n    ctx.rotate = function ctxRotate(angle) {\n      var cosValue = Math.cos(angle);\n      var sinValue = Math.sin(angle);\n      var m = this._transformMatrix;\n      this._transformMatrix = [m[0] * cosValue + m[2] * sinValue, m[1] * cosValue + m[3] * sinValue, m[0] * -sinValue + m[2] * cosValue, m[1] * -sinValue + m[3] * cosValue, m[4], m[5]];\n      this._originalRotate(angle);\n    };\n  }\n}\nvar CachedCanvases = function CachedCanvasesClosure() {\n  function CachedCanvases(canvasFactory) {\n    this.canvasFactory = canvasFactory;\n    this.cache = Object.create(null);\n  }\n  CachedCanvases.prototype = {\n    getCanvas: function CachedCanvases_getCanvas(id, width, height, trackTransform) {\n      var canvasEntry;\n      if (this.cache[id] !== undefined) {\n        canvasEntry = this.cache[id];\n        this.canvasFactory.reset(canvasEntry, width, height);\n        canvasEntry.context.setTransform(1, 0, 0, 1, 0, 0);\n      } else {\n        canvasEntry = this.canvasFactory.create(width, height);\n        this.cache[id] = canvasEntry;\n      }\n      if (trackTransform) {\n        addContextCurrentTransform(canvasEntry.context);\n      }\n      return canvasEntry;\n    },\n    clear: function clear() {\n      for (var id in this.cache) {\n        var canvasEntry = this.cache[id];\n        this.canvasFactory.destroy(canvasEntry);\n        delete this.cache[id];\n      }\n    }\n  };\n  return CachedCanvases;\n}();\nfunction compileType3Glyph(imgData) {\n  var POINT_TO_PROCESS_LIMIT = 1000;\n  var width = imgData.width,\n      height = imgData.height;\n  var i,\n      j,\n      j0,\n      width1 = width + 1;\n  var points = new Uint8Array(width1 * (height + 1));\n  var POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]);\n  var lineSize = width + 7 & ~7,\n      data0 = imgData.data;\n  var data = new Uint8Array(lineSize * height),\n      pos = 0,\n      ii;\n  for (i = 0, ii = data0.length; i < ii; i++) {\n    var mask = 128,\n        elem = data0[i];\n    while (mask > 0) {\n      data[pos++] = elem & mask ? 0 : 255;\n      mask >>= 1;\n    }\n  }\n  var count = 0;\n  pos = 0;\n  if (data[pos] !== 0) {\n    points[0] = 1;\n    ++count;\n  }\n  for (j = 1; j < width; j++) {\n    if (data[pos] !== data[pos + 1]) {\n      points[j] = data[pos] ? 2 : 1;\n      ++count;\n    }\n    pos++;\n  }\n  if (data[pos] !== 0) {\n    points[j] = 2;\n    ++count;\n  }\n  for (i = 1; i < height; i++) {\n    pos = i * lineSize;\n    j0 = i * width1;\n    if (data[pos - lineSize] !== data[pos]) {\n      points[j0] = data[pos] ? 1 : 8;\n      ++count;\n    }\n    var sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);\n    for (j = 1; j < width; j++) {\n      sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0);\n      if (POINT_TYPES[sum]) {\n        points[j0 + j] = POINT_TYPES[sum];\n        ++count;\n      }\n      pos++;\n    }\n    if (data[pos - lineSize] !== data[pos]) {\n      points[j0 + j] = data[pos] ? 2 : 4;\n      ++count;\n    }\n    if (count > POINT_TO_PROCESS_LIMIT) {\n      return null;\n    }\n  }\n  pos = lineSize * (height - 1);\n  j0 = i * width1;\n  if (data[pos] !== 0) {\n    points[j0] = 8;\n    ++count;\n  }\n  for (j = 1; j < width; j++) {\n    if (data[pos] !== data[pos + 1]) {\n      points[j0 + j] = data[pos] ? 4 : 8;\n      ++count;\n    }\n    pos++;\n  }\n  if (data[pos] !== 0) {\n    points[j0 + j] = 4;\n    ++count;\n  }\n  if (count > POINT_TO_PROCESS_LIMIT) {\n    return null;\n  }\n  var steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);\n  var outlines = [];\n  for (i = 0; count && i <= height; i++) {\n    var p = i * width1;\n    var end = p + width;\n    while (p < end && !points[p]) {\n      p++;\n    }\n    if (p === end) {\n      continue;\n    }\n    var coords = [p % width1, i];\n    var type = points[p],\n        p0 = p,\n        pp;\n    do {\n      var step = steps[type];\n      do {\n        p += step;\n      } while (!points[p]);\n      pp = points[p];\n      if (pp !== 5 && pp !== 10) {\n        type = pp;\n        points[p] = 0;\n      } else {\n        type = pp & 0x33 * type >> 4;\n        points[p] &= type >> 2 | type << 2;\n      }\n      coords.push(p % width1);\n      coords.push(p / width1 | 0);\n      --count;\n    } while (p0 !== p);\n    outlines.push(coords);\n    --i;\n  }\n  var drawOutline = function drawOutline(c) {\n    c.save();\n    c.scale(1 / width, -1 / height);\n    c.translate(0, -height);\n    c.beginPath();\n    for (var i = 0, ii = outlines.length; i < ii; i++) {\n      var o = outlines[i];\n      c.moveTo(o[0], o[1]);\n      for (var j = 2, jj = o.length; j < jj; j += 2) {\n        c.lineTo(o[j], o[j + 1]);\n      }\n    }\n    c.fill();\n    c.beginPath();\n    c.restore();\n  };\n  return drawOutline;\n}\nvar CanvasExtraState = function CanvasExtraStateClosure() {\n  function CanvasExtraState() {\n    this.alphaIsShape = false;\n    this.fontSize = 0;\n    this.fontSizeScale = 1;\n    this.textMatrix = _util.IDENTITY_MATRIX;\n    this.textMatrixScale = 1;\n    this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n    this.leading = 0;\n    this.x = 0;\n    this.y = 0;\n    this.lineX = 0;\n    this.lineY = 0;\n    this.charSpacing = 0;\n    this.wordSpacing = 0;\n    this.textHScale = 1;\n    this.textRenderingMode = _util.TextRenderingMode.FILL;\n    this.textRise = 0;\n    this.fillColor = '#000000';\n    this.strokeColor = '#000000';\n    this.patternFill = false;\n    this.fillAlpha = 1;\n    this.strokeAlpha = 1;\n    this.lineWidth = 1;\n    this.activeSMask = null;\n    this.resumeSMaskCtx = null;\n  }\n  CanvasExtraState.prototype = {\n    clone: function CanvasExtraState_clone() {\n      return Object.create(this);\n    },\n    setCurrentPoint: function CanvasExtraState_setCurrentPoint(x, y) {\n      this.x = x;\n      this.y = y;\n    }\n  };\n  return CanvasExtraState;\n}();\nvar CanvasGraphics = function CanvasGraphicsClosure() {\n  var EXECUTION_TIME = 15;\n  var EXECUTION_STEPS = 10;\n  function CanvasGraphics(canvasCtx, commonObjs, objs, canvasFactory, imageLayer) {\n    this.ctx = canvasCtx;\n    this.current = new CanvasExtraState();\n    this.stateStack = [];\n    this.pendingClip = null;\n    this.pendingEOFill = false;\n    this.res = null;\n    this.xobjs = null;\n    this.commonObjs = commonObjs;\n    this.objs = objs;\n    this.canvasFactory = canvasFactory;\n    this.imageLayer = imageLayer;\n    this.groupStack = [];\n    this.processingType3 = null;\n    this.baseTransform = null;\n    this.baseTransformStack = [];\n    this.groupLevel = 0;\n    this.smaskStack = [];\n    this.smaskCounter = 0;\n    this.tempSMask = null;\n    this.cachedCanvases = new CachedCanvases(this.canvasFactory);\n    if (canvasCtx) {\n      addContextCurrentTransform(canvasCtx);\n    }\n    this.cachedGetSinglePixelWidth = null;\n  }\n  function putBinaryImageData(ctx, imgData) {\n    if (typeof ImageData !== 'undefined' && imgData instanceof ImageData) {\n      ctx.putImageData(imgData, 0, 0);\n      return;\n    }\n    var height = imgData.height,\n        width = imgData.width;\n    var partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n    var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n    var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n    var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n    var srcPos = 0,\n        destPos;\n    var src = imgData.data;\n    var dest = chunkImgData.data;\n    var i, j, thisChunkHeight, elemsInThisChunk;\n    if (imgData.kind === _util.ImageKind.GRAYSCALE_1BPP) {\n      var srcLength = src.byteLength;\n      var dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2);\n      var dest32DataLength = dest32.length;\n      var fullSrcDiff = width + 7 >> 3;\n      var white = 0xFFFFFFFF;\n      var black = IsLittleEndianCached.value ? 0xFF000000 : 0x000000FF;\n      for (i = 0; i < totalChunks; i++) {\n        thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n        destPos = 0;\n        for (j = 0; j < thisChunkHeight; j++) {\n          var srcDiff = srcLength - srcPos;\n          var k = 0;\n          var kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7;\n          var kEndUnrolled = kEnd & ~7;\n          var mask = 0;\n          var srcByte = 0;\n          for (; k < kEndUnrolled; k += 8) {\n            srcByte = src[srcPos++];\n            dest32[destPos++] = srcByte & 128 ? white : black;\n            dest32[destPos++] = srcByte & 64 ? white : black;\n            dest32[destPos++] = srcByte & 32 ? white : black;\n            dest32[destPos++] = srcByte & 16 ? white : black;\n            dest32[destPos++] = srcByte & 8 ? white : black;\n            dest32[destPos++] = srcByte & 4 ? white : black;\n            dest32[destPos++] = srcByte & 2 ? white : black;\n            dest32[destPos++] = srcByte & 1 ? white : black;\n          }\n          for (; k < kEnd; k++) {\n            if (mask === 0) {\n              srcByte = src[srcPos++];\n              mask = 128;\n            }\n            dest32[destPos++] = srcByte & mask ? white : black;\n            mask >>= 1;\n          }\n        }\n        while (destPos < dest32DataLength) {\n          dest32[destPos++] = 0;\n        }\n        ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n      }\n    } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) {\n      j = 0;\n      elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4;\n      for (i = 0; i < fullChunks; i++) {\n        dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n        srcPos += elemsInThisChunk;\n        ctx.putImageData(chunkImgData, 0, j);\n        j += FULL_CHUNK_HEIGHT;\n      }\n      if (i < totalChunks) {\n        elemsInThisChunk = width * partialChunkHeight * 4;\n        dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n        ctx.putImageData(chunkImgData, 0, j);\n      }\n    } else if (imgData.kind === _util.ImageKind.RGB_24BPP) {\n      thisChunkHeight = FULL_CHUNK_HEIGHT;\n      elemsInThisChunk = width * thisChunkHeight;\n      for (i = 0; i < totalChunks; i++) {\n        if (i >= fullChunks) {\n          thisChunkHeight = partialChunkHeight;\n          elemsInThisChunk = width * thisChunkHeight;\n        }\n        destPos = 0;\n        for (j = elemsInThisChunk; j--;) {\n          dest[destPos++] = src[srcPos++];\n          dest[destPos++] = src[srcPos++];\n          dest[destPos++] = src[srcPos++];\n          dest[destPos++] = 255;\n        }\n        ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n      }\n    } else {\n      throw new Error('bad image kind: ' + imgData.kind);\n    }\n  }\n  function putBinaryImageMask(ctx, imgData) {\n    var height = imgData.height,\n        width = imgData.width;\n    var partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n    var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n    var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n    var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n    var srcPos = 0;\n    var src = imgData.data;\n    var dest = chunkImgData.data;\n    for (var i = 0; i < totalChunks; i++) {\n      var thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n      var destPos = 3;\n      for (var j = 0; j < thisChunkHeight; j++) {\n        var mask = 0;\n        for (var k = 0; k < width; k++) {\n          if (!mask) {\n            var elem = src[srcPos++];\n            mask = 128;\n          }\n          dest[destPos] = elem & mask ? 0 : 255;\n          destPos += 4;\n          mask >>= 1;\n        }\n      }\n      ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n    }\n  }\n  function copyCtxState(sourceCtx, destCtx) {\n    var properties = ['strokeStyle', 'fillStyle', 'fillRule', 'globalAlpha', 'lineWidth', 'lineCap', 'lineJoin', 'miterLimit', 'globalCompositeOperation', 'font'];\n    for (var i = 0, ii = properties.length; i < ii; i++) {\n      var property = properties[i];\n      if (sourceCtx[property] !== undefined) {\n        destCtx[property] = sourceCtx[property];\n      }\n    }\n    if (sourceCtx.setLineDash !== undefined) {\n      destCtx.setLineDash(sourceCtx.getLineDash());\n      destCtx.lineDashOffset = sourceCtx.lineDashOffset;\n    }\n  }\n  function resetCtxToDefault(ctx) {\n    ctx.strokeStyle = '#000000';\n    ctx.fillStyle = '#000000';\n    ctx.fillRule = 'nonzero';\n    ctx.globalAlpha = 1;\n    ctx.lineWidth = 1;\n    ctx.lineCap = 'butt';\n    ctx.lineJoin = 'miter';\n    ctx.miterLimit = 10;\n    ctx.globalCompositeOperation = 'source-over';\n    ctx.font = '10px sans-serif';\n    if (ctx.setLineDash !== undefined) {\n      ctx.setLineDash([]);\n      ctx.lineDashOffset = 0;\n    }\n  }\n  function composeSMaskBackdrop(bytes, r0, g0, b0) {\n    var length = bytes.length;\n    for (var i = 3; i < length; i += 4) {\n      var alpha = bytes[i];\n      if (alpha === 0) {\n        bytes[i - 3] = r0;\n        bytes[i - 2] = g0;\n        bytes[i - 1] = b0;\n      } else if (alpha < 255) {\n        var alpha_ = 255 - alpha;\n        bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8;\n        bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8;\n        bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8;\n      }\n    }\n  }\n  function composeSMaskAlpha(maskData, layerData, transferMap) {\n    var length = maskData.length;\n    var scale = 1 / 255;\n    for (var i = 3; i < length; i += 4) {\n      var alpha = transferMap ? transferMap[maskData[i]] : maskData[i];\n      layerData[i] = layerData[i] * alpha * scale | 0;\n    }\n  }\n  function composeSMaskLuminosity(maskData, layerData, transferMap) {\n    var length = maskData.length;\n    for (var i = 3; i < length; i += 4) {\n      var y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28;\n      layerData[i] = transferMap ? layerData[i] * transferMap[y >> 8] >> 8 : layerData[i] * y >> 16;\n    }\n  }\n  function genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap) {\n    var hasBackdrop = !!backdrop;\n    var r0 = hasBackdrop ? backdrop[0] : 0;\n    var g0 = hasBackdrop ? backdrop[1] : 0;\n    var b0 = hasBackdrop ? backdrop[2] : 0;\n    var composeFn;\n    if (subtype === 'Luminosity') {\n      composeFn = composeSMaskLuminosity;\n    } else {\n      composeFn = composeSMaskAlpha;\n    }\n    var PIXELS_TO_PROCESS = 1048576;\n    var chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));\n    for (var row = 0; row < height; row += chunkSize) {\n      var chunkHeight = Math.min(chunkSize, height - row);\n      var maskData = maskCtx.getImageData(0, row, width, chunkHeight);\n      var layerData = layerCtx.getImageData(0, row, width, chunkHeight);\n      if (hasBackdrop) {\n        composeSMaskBackdrop(maskData.data, r0, g0, b0);\n      }\n      composeFn(maskData.data, layerData.data, transferMap);\n      maskCtx.putImageData(layerData, 0, row);\n    }\n  }\n  function composeSMask(ctx, smask, layerCtx) {\n    var mask = smask.canvas;\n    var maskCtx = smask.context;\n    ctx.setTransform(smask.scaleX, 0, 0, smask.scaleY, smask.offsetX, smask.offsetY);\n    var backdrop = smask.backdrop || null;\n    if (!smask.transferMap && _webgl.WebGLUtils.isEnabled) {\n      var composed = _webgl.WebGLUtils.composeSMask(layerCtx.canvas, mask, {\n        subtype: smask.subtype,\n        backdrop: backdrop\n      });\n      ctx.setTransform(1, 0, 0, 1, 0, 0);\n      ctx.drawImage(composed, smask.offsetX, smask.offsetY);\n      return;\n    }\n    genericComposeSMask(maskCtx, layerCtx, mask.width, mask.height, smask.subtype, backdrop, smask.transferMap);\n    ctx.drawImage(mask, 0, 0);\n  }\n  var LINE_CAP_STYLES = ['butt', 'round', 'square'];\n  var LINE_JOIN_STYLES = ['miter', 'round', 'bevel'];\n  var NORMAL_CLIP = {};\n  var EO_CLIP = {};\n  CanvasGraphics.prototype = {\n    beginDrawing: function beginDrawing(_ref) {\n      var transform = _ref.transform,\n          viewport = _ref.viewport,\n          transparency = _ref.transparency,\n          _ref$background = _ref.background,\n          background = _ref$background === undefined ? null : _ref$background;\n\n      var width = this.ctx.canvas.width;\n      var height = this.ctx.canvas.height;\n      this.ctx.save();\n      this.ctx.fillStyle = background || 'rgb(255, 255, 255)';\n      this.ctx.fillRect(0, 0, width, height);\n      this.ctx.restore();\n      if (transparency) {\n        var transparentCanvas = this.cachedCanvases.getCanvas('transparent', width, height, true);\n        this.compositeCtx = this.ctx;\n        this.transparentCanvas = transparentCanvas.canvas;\n        this.ctx = transparentCanvas.context;\n        this.ctx.save();\n        this.ctx.transform.apply(this.ctx, this.compositeCtx.mozCurrentTransform);\n      }\n      this.ctx.save();\n      resetCtxToDefault(this.ctx);\n      if (transform) {\n        this.ctx.transform.apply(this.ctx, transform);\n      }\n      this.ctx.transform.apply(this.ctx, viewport.transform);\n      this.baseTransform = this.ctx.mozCurrentTransform.slice();\n      if (this.imageLayer) {\n        this.imageLayer.beginLayout();\n      }\n    },\n\n    executeOperatorList: function CanvasGraphics_executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) {\n      var argsArray = operatorList.argsArray;\n      var fnArray = operatorList.fnArray;\n      var i = executionStartIdx || 0;\n      var argsArrayLen = argsArray.length;\n      if (argsArrayLen === i) {\n        return i;\n      }\n      var chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === 'function';\n      var endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0;\n      var steps = 0;\n      var commonObjs = this.commonObjs;\n      var objs = this.objs;\n      var fnId;\n      while (true) {\n        if (stepper !== undefined && i === stepper.nextBreakPoint) {\n          stepper.breakIt(i, continueCallback);\n          return i;\n        }\n        fnId = fnArray[i];\n        if (fnId !== _util.OPS.dependency) {\n          this[fnId].apply(this, argsArray[i]);\n        } else {\n          var deps = argsArray[i];\n          for (var n = 0, nn = deps.length; n < nn; n++) {\n            var depObjId = deps[n];\n            var common = depObjId[0] === 'g' && depObjId[1] === '_';\n            var objsPool = common ? commonObjs : objs;\n            if (!objsPool.isResolved(depObjId)) {\n              objsPool.get(depObjId, continueCallback);\n              return i;\n            }\n          }\n        }\n        i++;\n        if (i === argsArrayLen) {\n          return i;\n        }\n        if (chunkOperations && ++steps > EXECUTION_STEPS) {\n          if (Date.now() > endTime) {\n            continueCallback();\n            return i;\n          }\n          steps = 0;\n        }\n      }\n    },\n    endDrawing: function CanvasGraphics_endDrawing() {\n      if (this.current.activeSMask !== null) {\n        this.endSMaskGroup();\n      }\n      this.ctx.restore();\n      if (this.transparentCanvas) {\n        this.ctx = this.compositeCtx;\n        this.ctx.save();\n        this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n        this.ctx.drawImage(this.transparentCanvas, 0, 0);\n        this.ctx.restore();\n        this.transparentCanvas = null;\n      }\n      this.cachedCanvases.clear();\n      _webgl.WebGLUtils.clear();\n      if (this.imageLayer) {\n        this.imageLayer.endLayout();\n      }\n    },\n    setLineWidth: function CanvasGraphics_setLineWidth(width) {\n      this.current.lineWidth = width;\n      this.ctx.lineWidth = width;\n    },\n    setLineCap: function CanvasGraphics_setLineCap(style) {\n      this.ctx.lineCap = LINE_CAP_STYLES[style];\n    },\n    setLineJoin: function CanvasGraphics_setLineJoin(style) {\n      this.ctx.lineJoin = LINE_JOIN_STYLES[style];\n    },\n    setMiterLimit: function CanvasGraphics_setMiterLimit(limit) {\n      this.ctx.miterLimit = limit;\n    },\n    setDash: function CanvasGraphics_setDash(dashArray, dashPhase) {\n      var ctx = this.ctx;\n      if (ctx.setLineDash !== undefined) {\n        ctx.setLineDash(dashArray);\n        ctx.lineDashOffset = dashPhase;\n      }\n    },\n    setRenderingIntent: function CanvasGraphics_setRenderingIntent(intent) {},\n    setFlatness: function CanvasGraphics_setFlatness(flatness) {},\n    setGState: function CanvasGraphics_setGState(states) {\n      for (var i = 0, ii = states.length; i < ii; i++) {\n        var state = states[i];\n        var key = state[0];\n        var value = state[1];\n        switch (key) {\n          case 'LW':\n            this.setLineWidth(value);\n            break;\n          case 'LC':\n            this.setLineCap(value);\n            break;\n          case 'LJ':\n            this.setLineJoin(value);\n            break;\n          case 'ML':\n            this.setMiterLimit(value);\n            break;\n          case 'D':\n            this.setDash(value[0], value[1]);\n            break;\n          case 'RI':\n            this.setRenderingIntent(value);\n            break;\n          case 'FL':\n            this.setFlatness(value);\n            break;\n          case 'Font':\n            this.setFont(value[0], value[1]);\n            break;\n          case 'CA':\n            this.current.strokeAlpha = state[1];\n            break;\n          case 'ca':\n            this.current.fillAlpha = state[1];\n            this.ctx.globalAlpha = state[1];\n            break;\n          case 'BM':\n            this.ctx.globalCompositeOperation = value;\n            break;\n          case 'SMask':\n            if (this.current.activeSMask) {\n              if (this.stateStack.length > 0 && this.stateStack[this.stateStack.length - 1].activeSMask === this.current.activeSMask) {\n                this.suspendSMaskGroup();\n              } else {\n                this.endSMaskGroup();\n              }\n            }\n            this.current.activeSMask = value ? this.tempSMask : null;\n            if (this.current.activeSMask) {\n              this.beginSMaskGroup();\n            }\n            this.tempSMask = null;\n            break;\n        }\n      }\n    },\n    beginSMaskGroup: function CanvasGraphics_beginSMaskGroup() {\n      var activeSMask = this.current.activeSMask;\n      var drawnWidth = activeSMask.canvas.width;\n      var drawnHeight = activeSMask.canvas.height;\n      var cacheId = 'smaskGroupAt' + this.groupLevel;\n      var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n      var currentCtx = this.ctx;\n      var currentTransform = currentCtx.mozCurrentTransform;\n      this.ctx.save();\n      var groupCtx = scratchCanvas.context;\n      groupCtx.scale(1 / activeSMask.scaleX, 1 / activeSMask.scaleY);\n      groupCtx.translate(-activeSMask.offsetX, -activeSMask.offsetY);\n      groupCtx.transform.apply(groupCtx, currentTransform);\n      activeSMask.startTransformInverse = groupCtx.mozCurrentTransformInverse;\n      copyCtxState(currentCtx, groupCtx);\n      this.ctx = groupCtx;\n      this.setGState([['BM', 'source-over'], ['ca', 1], ['CA', 1]]);\n      this.groupStack.push(currentCtx);\n      this.groupLevel++;\n    },\n    suspendSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n      var groupCtx = this.ctx;\n      this.groupLevel--;\n      this.ctx = this.groupStack.pop();\n      composeSMask(this.ctx, this.current.activeSMask, groupCtx);\n      this.ctx.restore();\n      this.ctx.save();\n      copyCtxState(groupCtx, this.ctx);\n      this.current.resumeSMaskCtx = groupCtx;\n      var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n      this.ctx.transform.apply(this.ctx, deltaTransform);\n      groupCtx.save();\n      groupCtx.setTransform(1, 0, 0, 1, 0, 0);\n      groupCtx.clearRect(0, 0, groupCtx.canvas.width, groupCtx.canvas.height);\n      groupCtx.restore();\n    },\n    resumeSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n      var groupCtx = this.current.resumeSMaskCtx;\n      var currentCtx = this.ctx;\n      this.ctx = groupCtx;\n      this.groupStack.push(currentCtx);\n      this.groupLevel++;\n    },\n    endSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n      var groupCtx = this.ctx;\n      this.groupLevel--;\n      this.ctx = this.groupStack.pop();\n      composeSMask(this.ctx, this.current.activeSMask, groupCtx);\n      this.ctx.restore();\n      copyCtxState(groupCtx, this.ctx);\n      var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n      this.ctx.transform.apply(this.ctx, deltaTransform);\n    },\n    save: function CanvasGraphics_save() {\n      this.ctx.save();\n      var old = this.current;\n      this.stateStack.push(old);\n      this.current = old.clone();\n      this.current.resumeSMaskCtx = null;\n    },\n    restore: function CanvasGraphics_restore() {\n      if (this.current.resumeSMaskCtx) {\n        this.resumeSMaskGroup();\n      }\n      if (this.current.activeSMask !== null && (this.stateStack.length === 0 || this.stateStack[this.stateStack.length - 1].activeSMask !== this.current.activeSMask)) {\n        this.endSMaskGroup();\n      }\n      if (this.stateStack.length !== 0) {\n        this.current = this.stateStack.pop();\n        this.ctx.restore();\n        this.pendingClip = null;\n        this.cachedGetSinglePixelWidth = null;\n      }\n    },\n    transform: function CanvasGraphics_transform(a, b, c, d, e, f) {\n      this.ctx.transform(a, b, c, d, e, f);\n      this.cachedGetSinglePixelWidth = null;\n    },\n    constructPath: function CanvasGraphics_constructPath(ops, args) {\n      var ctx = this.ctx;\n      var current = this.current;\n      var x = current.x,\n          y = current.y;\n      for (var i = 0, j = 0, ii = ops.length; i < ii; i++) {\n        switch (ops[i] | 0) {\n          case _util.OPS.rectangle:\n            x = args[j++];\n            y = args[j++];\n            var width = args[j++];\n            var height = args[j++];\n            if (width === 0) {\n              width = this.getSinglePixelWidth();\n            }\n            if (height === 0) {\n              height = this.getSinglePixelWidth();\n            }\n            var xw = x + width;\n            var yh = y + height;\n            this.ctx.moveTo(x, y);\n            this.ctx.lineTo(xw, y);\n            this.ctx.lineTo(xw, yh);\n            this.ctx.lineTo(x, yh);\n            this.ctx.lineTo(x, y);\n            this.ctx.closePath();\n            break;\n          case _util.OPS.moveTo:\n            x = args[j++];\n            y = args[j++];\n            ctx.moveTo(x, y);\n            break;\n          case _util.OPS.lineTo:\n            x = args[j++];\n            y = args[j++];\n            ctx.lineTo(x, y);\n            break;\n          case _util.OPS.curveTo:\n            x = args[j + 4];\n            y = args[j + 5];\n            ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y);\n            j += 6;\n            break;\n          case _util.OPS.curveTo2:\n            ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], args[j + 3]);\n            x = args[j + 2];\n            y = args[j + 3];\n            j += 4;\n            break;\n          case _util.OPS.curveTo3:\n            x = args[j + 2];\n            y = args[j + 3];\n            ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y);\n            j += 4;\n            break;\n          case _util.OPS.closePath:\n            ctx.closePath();\n            break;\n        }\n      }\n      current.setCurrentPoint(x, y);\n    },\n    closePath: function CanvasGraphics_closePath() {\n      this.ctx.closePath();\n    },\n    stroke: function CanvasGraphics_stroke(consumePath) {\n      consumePath = typeof consumePath !== 'undefined' ? consumePath : true;\n      var ctx = this.ctx;\n      var strokeColor = this.current.strokeColor;\n      ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth);\n      ctx.globalAlpha = this.current.strokeAlpha;\n      if (strokeColor && strokeColor.hasOwnProperty('type') && strokeColor.type === 'Pattern') {\n        ctx.save();\n        ctx.strokeStyle = strokeColor.getPattern(ctx, this);\n        ctx.stroke();\n        ctx.restore();\n      } else {\n        ctx.stroke();\n      }\n      if (consumePath) {\n        this.consumePath();\n      }\n      ctx.globalAlpha = this.current.fillAlpha;\n    },\n    closeStroke: function CanvasGraphics_closeStroke() {\n      this.closePath();\n      this.stroke();\n    },\n    fill: function CanvasGraphics_fill(consumePath) {\n      consumePath = typeof consumePath !== 'undefined' ? consumePath : true;\n      var ctx = this.ctx;\n      var fillColor = this.current.fillColor;\n      var isPatternFill = this.current.patternFill;\n      var needRestore = false;\n      if (isPatternFill) {\n        ctx.save();\n        if (this.baseTransform) {\n          ctx.setTransform.apply(ctx, this.baseTransform);\n        }\n        ctx.fillStyle = fillColor.getPattern(ctx, this);\n        needRestore = true;\n      }\n      if (this.pendingEOFill) {\n        ctx.fill('evenodd');\n        this.pendingEOFill = false;\n      } else {\n        ctx.fill();\n      }\n      if (needRestore) {\n        ctx.restore();\n      }\n      if (consumePath) {\n        this.consumePath();\n      }\n    },\n    eoFill: function CanvasGraphics_eoFill() {\n      this.pendingEOFill = true;\n      this.fill();\n    },\n    fillStroke: function CanvasGraphics_fillStroke() {\n      this.fill(false);\n      this.stroke(false);\n      this.consumePath();\n    },\n    eoFillStroke: function CanvasGraphics_eoFillStroke() {\n      this.pendingEOFill = true;\n      this.fillStroke();\n    },\n    closeFillStroke: function CanvasGraphics_closeFillStroke() {\n      this.closePath();\n      this.fillStroke();\n    },\n    closeEOFillStroke: function CanvasGraphics_closeEOFillStroke() {\n      this.pendingEOFill = true;\n      this.closePath();\n      this.fillStroke();\n    },\n    endPath: function CanvasGraphics_endPath() {\n      this.consumePath();\n    },\n    clip: function CanvasGraphics_clip() {\n      this.pendingClip = NORMAL_CLIP;\n    },\n    eoClip: function CanvasGraphics_eoClip() {\n      this.pendingClip = EO_CLIP;\n    },\n    beginText: function CanvasGraphics_beginText() {\n      this.current.textMatrix = _util.IDENTITY_MATRIX;\n      this.current.textMatrixScale = 1;\n      this.current.x = this.current.lineX = 0;\n      this.current.y = this.current.lineY = 0;\n    },\n    endText: function CanvasGraphics_endText() {\n      var paths = this.pendingTextPaths;\n      var ctx = this.ctx;\n      if (paths === undefined) {\n        ctx.beginPath();\n        return;\n      }\n      ctx.save();\n      ctx.beginPath();\n      for (var i = 0; i < paths.length; i++) {\n        var path = paths[i];\n        ctx.setTransform.apply(ctx, path.transform);\n        ctx.translate(path.x, path.y);\n        path.addToPath(ctx, path.fontSize);\n      }\n      ctx.restore();\n      ctx.clip();\n      ctx.beginPath();\n      delete this.pendingTextPaths;\n    },\n    setCharSpacing: function CanvasGraphics_setCharSpacing(spacing) {\n      this.current.charSpacing = spacing;\n    },\n    setWordSpacing: function CanvasGraphics_setWordSpacing(spacing) {\n      this.current.wordSpacing = spacing;\n    },\n    setHScale: function CanvasGraphics_setHScale(scale) {\n      this.current.textHScale = scale / 100;\n    },\n    setLeading: function CanvasGraphics_setLeading(leading) {\n      this.current.leading = -leading;\n    },\n    setFont: function CanvasGraphics_setFont(fontRefName, size) {\n      var fontObj = this.commonObjs.get(fontRefName);\n      var current = this.current;\n      if (!fontObj) {\n        throw new Error('Can\\'t find font for ' + fontRefName);\n      }\n      current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;\n      if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {\n        (0, _util.warn)('Invalid font matrix for font ' + fontRefName);\n      }\n      if (size < 0) {\n        size = -size;\n        current.fontDirection = -1;\n      } else {\n        current.fontDirection = 1;\n      }\n      this.current.font = fontObj;\n      this.current.fontSize = size;\n      if (fontObj.isType3Font) {\n        return;\n      }\n      var name = fontObj.loadedName || 'sans-serif';\n      var bold = fontObj.black ? '900' : fontObj.bold ? 'bold' : 'normal';\n      var italic = fontObj.italic ? 'italic' : 'normal';\n      var typeface = '\"' + name + '\", ' + fontObj.fallbackName;\n      var browserFontSize = size < MIN_FONT_SIZE ? MIN_FONT_SIZE : size > MAX_FONT_SIZE ? MAX_FONT_SIZE : size;\n      this.current.fontSizeScale = size / browserFontSize;\n      var rule = italic + ' ' + bold + ' ' + browserFontSize + 'px ' + typeface;\n      this.ctx.font = rule;\n    },\n    setTextRenderingMode: function CanvasGraphics_setTextRenderingMode(mode) {\n      this.current.textRenderingMode = mode;\n    },\n    setTextRise: function CanvasGraphics_setTextRise(rise) {\n      this.current.textRise = rise;\n    },\n    moveText: function CanvasGraphics_moveText(x, y) {\n      this.current.x = this.current.lineX += x;\n      this.current.y = this.current.lineY += y;\n    },\n    setLeadingMoveText: function CanvasGraphics_setLeadingMoveText(x, y) {\n      this.setLeading(-y);\n      this.moveText(x, y);\n    },\n    setTextMatrix: function CanvasGraphics_setTextMatrix(a, b, c, d, e, f) {\n      this.current.textMatrix = [a, b, c, d, e, f];\n      this.current.textMatrixScale = Math.sqrt(a * a + b * b);\n      this.current.x = this.current.lineX = 0;\n      this.current.y = this.current.lineY = 0;\n    },\n    nextLine: function CanvasGraphics_nextLine() {\n      this.moveText(0, this.current.leading);\n    },\n    paintChar: function CanvasGraphics_paintChar(character, x, y) {\n      var ctx = this.ctx;\n      var current = this.current;\n      var font = current.font;\n      var textRenderingMode = current.textRenderingMode;\n      var fontSize = current.fontSize / current.fontSizeScale;\n      var fillStrokeMode = textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n      var isAddToPathSet = !!(textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);\n      var addToPath;\n      if (font.disableFontFace || isAddToPathSet) {\n        addToPath = font.getPathGenerator(this.commonObjs, character);\n      }\n      if (font.disableFontFace) {\n        ctx.save();\n        ctx.translate(x, y);\n        ctx.beginPath();\n        addToPath(ctx, fontSize);\n        if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n          ctx.fill();\n        }\n        if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n          ctx.stroke();\n        }\n        ctx.restore();\n      } else {\n        if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n          ctx.fillText(character, x, y);\n        }\n        if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n          ctx.strokeText(character, x, y);\n        }\n      }\n      if (isAddToPathSet) {\n        var paths = this.pendingTextPaths || (this.pendingTextPaths = []);\n        paths.push({\n          transform: ctx.mozCurrentTransform,\n          x: x,\n          y: y,\n          fontSize: fontSize,\n          addToPath: addToPath\n        });\n      }\n    },\n    get isFontSubpixelAAEnabled() {\n      var ctx = this.canvasFactory.create(10, 10).context;\n      ctx.scale(1.5, 1);\n      ctx.fillText('I', 0, 10);\n      var data = ctx.getImageData(0, 0, 10, 10).data;\n      var enabled = false;\n      for (var i = 3; i < data.length; i += 4) {\n        if (data[i] > 0 && data[i] < 255) {\n          enabled = true;\n          break;\n        }\n      }\n      return (0, _util.shadow)(this, 'isFontSubpixelAAEnabled', enabled);\n    },\n    showText: function CanvasGraphics_showText(glyphs) {\n      var current = this.current;\n      var font = current.font;\n      if (font.isType3Font) {\n        return this.showType3Text(glyphs);\n      }\n      var fontSize = current.fontSize;\n      if (fontSize === 0) {\n        return;\n      }\n      var ctx = this.ctx;\n      var fontSizeScale = current.fontSizeScale;\n      var charSpacing = current.charSpacing;\n      var wordSpacing = current.wordSpacing;\n      var fontDirection = current.fontDirection;\n      var textHScale = current.textHScale * fontDirection;\n      var glyphsLength = glyphs.length;\n      var vertical = font.vertical;\n      var spacingDir = vertical ? 1 : -1;\n      var defaultVMetrics = font.defaultVMetrics;\n      var widthAdvanceScale = fontSize * current.fontMatrix[0];\n      var simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace;\n      ctx.save();\n      ctx.transform.apply(ctx, current.textMatrix);\n      ctx.translate(current.x, current.y + current.textRise);\n      if (current.patternFill) {\n        ctx.fillStyle = current.fillColor.getPattern(ctx, this);\n      }\n      if (fontDirection > 0) {\n        ctx.scale(textHScale, -1);\n      } else {\n        ctx.scale(textHScale, 1);\n      }\n      var lineWidth = current.lineWidth;\n      var scale = current.textMatrixScale;\n      if (scale === 0 || lineWidth === 0) {\n        var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n        if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n          this.cachedGetSinglePixelWidth = null;\n          lineWidth = this.getSinglePixelWidth() * MIN_WIDTH_FACTOR;\n        }\n      } else {\n        lineWidth /= scale;\n      }\n      if (fontSizeScale !== 1.0) {\n        ctx.scale(fontSizeScale, fontSizeScale);\n        lineWidth /= fontSizeScale;\n      }\n      ctx.lineWidth = lineWidth;\n      var x = 0,\n          i;\n      for (i = 0; i < glyphsLength; ++i) {\n        var glyph = glyphs[i];\n        if ((0, _util.isNum)(glyph)) {\n          x += spacingDir * glyph * fontSize / 1000;\n          continue;\n        }\n        var restoreNeeded = false;\n        var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n        var character = glyph.fontChar;\n        var accent = glyph.accent;\n        var scaledX, scaledY, scaledAccentX, scaledAccentY;\n        var width = glyph.width;\n        if (vertical) {\n          var vmetric, vx, vy;\n          vmetric = glyph.vmetric || defaultVMetrics;\n          vx = glyph.vmetric ? vmetric[1] : width * 0.5;\n          vx = -vx * widthAdvanceScale;\n          vy = vmetric[2] * widthAdvanceScale;\n          width = vmetric ? -vmetric[0] : width;\n          scaledX = vx / fontSizeScale;\n          scaledY = (x + vy) / fontSizeScale;\n        } else {\n          scaledX = x / fontSizeScale;\n          scaledY = 0;\n        }\n        if (font.remeasure && width > 0) {\n          var measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale;\n          if (width < measuredWidth && this.isFontSubpixelAAEnabled) {\n            var characterScaleX = width / measuredWidth;\n            restoreNeeded = true;\n            ctx.save();\n            ctx.scale(characterScaleX, 1);\n            scaledX /= characterScaleX;\n          } else if (width !== measuredWidth) {\n            scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale;\n          }\n        }\n        if (glyph.isInFont || font.missingFile) {\n          if (simpleFillText && !accent) {\n            ctx.fillText(character, scaledX, scaledY);\n          } else {\n            this.paintChar(character, scaledX, scaledY);\n            if (accent) {\n              scaledAccentX = scaledX + accent.offset.x / fontSizeScale;\n              scaledAccentY = scaledY - accent.offset.y / fontSizeScale;\n              this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY);\n            }\n          }\n        }\n        var charWidth = width * widthAdvanceScale + spacing * fontDirection;\n        x += charWidth;\n        if (restoreNeeded) {\n          ctx.restore();\n        }\n      }\n      if (vertical) {\n        current.y -= x * textHScale;\n      } else {\n        current.x += x * textHScale;\n      }\n      ctx.restore();\n    },\n    showType3Text: function CanvasGraphics_showType3Text(glyphs) {\n      var ctx = this.ctx;\n      var current = this.current;\n      var font = current.font;\n      var fontSize = current.fontSize;\n      var fontDirection = current.fontDirection;\n      var spacingDir = font.vertical ? 1 : -1;\n      var charSpacing = current.charSpacing;\n      var wordSpacing = current.wordSpacing;\n      var textHScale = current.textHScale * fontDirection;\n      var fontMatrix = current.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n      var glyphsLength = glyphs.length;\n      var isTextInvisible = current.textRenderingMode === _util.TextRenderingMode.INVISIBLE;\n      var i, glyph, width, spacingLength;\n      if (isTextInvisible || fontSize === 0) {\n        return;\n      }\n      this.cachedGetSinglePixelWidth = null;\n      ctx.save();\n      ctx.transform.apply(ctx, current.textMatrix);\n      ctx.translate(current.x, current.y);\n      ctx.scale(textHScale, fontDirection);\n      for (i = 0; i < glyphsLength; ++i) {\n        glyph = glyphs[i];\n        if ((0, _util.isNum)(glyph)) {\n          spacingLength = spacingDir * glyph * fontSize / 1000;\n          this.ctx.translate(spacingLength, 0);\n          current.x += spacingLength * textHScale;\n          continue;\n        }\n        var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n        var operatorList = font.charProcOperatorList[glyph.operatorListId];\n        if (!operatorList) {\n          (0, _util.warn)('Type3 character \"' + glyph.operatorListId + '\" is not available.');\n          continue;\n        }\n        this.processingType3 = glyph;\n        this.save();\n        ctx.scale(fontSize, fontSize);\n        ctx.transform.apply(ctx, fontMatrix);\n        this.executeOperatorList(operatorList);\n        this.restore();\n        var transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix);\n        width = transformed[0] * fontSize + spacing;\n        ctx.translate(width, 0);\n        current.x += width * textHScale;\n      }\n      ctx.restore();\n      this.processingType3 = null;\n    },\n    setCharWidth: function CanvasGraphics_setCharWidth(xWidth, yWidth) {},\n    setCharWidthAndBounds: function CanvasGraphics_setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) {\n      this.ctx.rect(llx, lly, urx - llx, ury - lly);\n      this.clip();\n      this.endPath();\n    },\n    getColorN_Pattern: function CanvasGraphics_getColorN_Pattern(IR) {\n      var _this = this;\n\n      var pattern;\n      if (IR[0] === 'TilingPattern') {\n        var color = IR[1];\n        var baseTransform = this.baseTransform || this.ctx.mozCurrentTransform.slice();\n        var canvasGraphicsFactory = {\n          createCanvasGraphics: function createCanvasGraphics(ctx) {\n            return new CanvasGraphics(ctx, _this.commonObjs, _this.objs, _this.canvasFactory);\n          }\n        };\n        pattern = new _pattern_helper.TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform);\n      } else {\n        pattern = (0, _pattern_helper.getShadingPatternFromIR)(IR);\n      }\n      return pattern;\n    },\n    setStrokeColorN: function CanvasGraphics_setStrokeColorN() {\n      this.current.strokeColor = this.getColorN_Pattern(arguments);\n    },\n    setFillColorN: function CanvasGraphics_setFillColorN() {\n      this.current.fillColor = this.getColorN_Pattern(arguments);\n      this.current.patternFill = true;\n    },\n    setStrokeRGBColor: function CanvasGraphics_setStrokeRGBColor(r, g, b) {\n      var color = _util.Util.makeCssRgb(r, g, b);\n      this.ctx.strokeStyle = color;\n      this.current.strokeColor = color;\n    },\n    setFillRGBColor: function CanvasGraphics_setFillRGBColor(r, g, b) {\n      var color = _util.Util.makeCssRgb(r, g, b);\n      this.ctx.fillStyle = color;\n      this.current.fillColor = color;\n      this.current.patternFill = false;\n    },\n    shadingFill: function CanvasGraphics_shadingFill(patternIR) {\n      var ctx = this.ctx;\n      this.save();\n      var pattern = (0, _pattern_helper.getShadingPatternFromIR)(patternIR);\n      ctx.fillStyle = pattern.getPattern(ctx, this, true);\n      var inv = ctx.mozCurrentTransformInverse;\n      if (inv) {\n        var canvas = ctx.canvas;\n        var width = canvas.width;\n        var height = canvas.height;\n        var bl = _util.Util.applyTransform([0, 0], inv);\n        var br = _util.Util.applyTransform([0, height], inv);\n        var ul = _util.Util.applyTransform([width, 0], inv);\n        var ur = _util.Util.applyTransform([width, height], inv);\n        var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n        var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n        var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n        var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n        this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0);\n      } else {\n        this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10);\n      }\n      this.restore();\n    },\n    beginInlineImage: function CanvasGraphics_beginInlineImage() {\n      throw new Error('Should not call beginInlineImage');\n    },\n    beginImageData: function CanvasGraphics_beginImageData() {\n      throw new Error('Should not call beginImageData');\n    },\n    paintFormXObjectBegin: function CanvasGraphics_paintFormXObjectBegin(matrix, bbox) {\n      this.save();\n      this.baseTransformStack.push(this.baseTransform);\n      if (Array.isArray(matrix) && matrix.length === 6) {\n        this.transform.apply(this, matrix);\n      }\n      this.baseTransform = this.ctx.mozCurrentTransform;\n      if (Array.isArray(bbox) && bbox.length === 4) {\n        var width = bbox[2] - bbox[0];\n        var height = bbox[3] - bbox[1];\n        this.ctx.rect(bbox[0], bbox[1], width, height);\n        this.clip();\n        this.endPath();\n      }\n    },\n    paintFormXObjectEnd: function CanvasGraphics_paintFormXObjectEnd() {\n      this.restore();\n      this.baseTransform = this.baseTransformStack.pop();\n    },\n    beginGroup: function CanvasGraphics_beginGroup(group) {\n      this.save();\n      var currentCtx = this.ctx;\n      if (!group.isolated) {\n        (0, _util.info)('TODO: Support non-isolated groups.');\n      }\n      if (group.knockout) {\n        (0, _util.warn)('Knockout groups not supported.');\n      }\n      var currentTransform = currentCtx.mozCurrentTransform;\n      if (group.matrix) {\n        currentCtx.transform.apply(currentCtx, group.matrix);\n      }\n      if (!group.bbox) {\n        throw new Error('Bounding box is required.');\n      }\n      var bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, currentCtx.mozCurrentTransform);\n      var canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height];\n      bounds = _util.Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0];\n      var offsetX = Math.floor(bounds[0]);\n      var offsetY = Math.floor(bounds[1]);\n      var drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1);\n      var drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1);\n      var scaleX = 1,\n          scaleY = 1;\n      if (drawnWidth > MAX_GROUP_SIZE) {\n        scaleX = drawnWidth / MAX_GROUP_SIZE;\n        drawnWidth = MAX_GROUP_SIZE;\n      }\n      if (drawnHeight > MAX_GROUP_SIZE) {\n        scaleY = drawnHeight / MAX_GROUP_SIZE;\n        drawnHeight = MAX_GROUP_SIZE;\n      }\n      var cacheId = 'groupAt' + this.groupLevel;\n      if (group.smask) {\n        cacheId += '_smask_' + this.smaskCounter++ % 2;\n      }\n      var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n      var groupCtx = scratchCanvas.context;\n      groupCtx.scale(1 / scaleX, 1 / scaleY);\n      groupCtx.translate(-offsetX, -offsetY);\n      groupCtx.transform.apply(groupCtx, currentTransform);\n      if (group.smask) {\n        this.smaskStack.push({\n          canvas: scratchCanvas.canvas,\n          context: groupCtx,\n          offsetX: offsetX,\n          offsetY: offsetY,\n          scaleX: scaleX,\n          scaleY: scaleY,\n          subtype: group.smask.subtype,\n          backdrop: group.smask.backdrop,\n          transferMap: group.smask.transferMap || null,\n          startTransformInverse: null\n        });\n      } else {\n        currentCtx.setTransform(1, 0, 0, 1, 0, 0);\n        currentCtx.translate(offsetX, offsetY);\n        currentCtx.scale(scaleX, scaleY);\n      }\n      copyCtxState(currentCtx, groupCtx);\n      this.ctx = groupCtx;\n      this.setGState([['BM', 'source-over'], ['ca', 1], ['CA', 1]]);\n      this.groupStack.push(currentCtx);\n      this.groupLevel++;\n      this.current.activeSMask = null;\n    },\n    endGroup: function CanvasGraphics_endGroup(group) {\n      this.groupLevel--;\n      var groupCtx = this.ctx;\n      this.ctx = this.groupStack.pop();\n      if (this.ctx.imageSmoothingEnabled !== undefined) {\n        this.ctx.imageSmoothingEnabled = false;\n      } else {\n        this.ctx.mozImageSmoothingEnabled = false;\n      }\n      if (group.smask) {\n        this.tempSMask = this.smaskStack.pop();\n      } else {\n        this.ctx.drawImage(groupCtx.canvas, 0, 0);\n      }\n      this.restore();\n    },\n    beginAnnotations: function CanvasGraphics_beginAnnotations() {\n      this.save();\n      if (this.baseTransform) {\n        this.ctx.setTransform.apply(this.ctx, this.baseTransform);\n      }\n    },\n    endAnnotations: function CanvasGraphics_endAnnotations() {\n      this.restore();\n    },\n    beginAnnotation: function CanvasGraphics_beginAnnotation(rect, transform, matrix) {\n      this.save();\n      resetCtxToDefault(this.ctx);\n      this.current = new CanvasExtraState();\n      if (Array.isArray(rect) && rect.length === 4) {\n        var width = rect[2] - rect[0];\n        var height = rect[3] - rect[1];\n        this.ctx.rect(rect[0], rect[1], width, height);\n        this.clip();\n        this.endPath();\n      }\n      this.transform.apply(this, transform);\n      this.transform.apply(this, matrix);\n    },\n    endAnnotation: function CanvasGraphics_endAnnotation() {\n      this.restore();\n    },\n    paintJpegXObject: function CanvasGraphics_paintJpegXObject(objId, w, h) {\n      var domImage = this.objs.get(objId);\n      if (!domImage) {\n        (0, _util.warn)('Dependent image isn\\'t ready yet');\n        return;\n      }\n      this.save();\n      var ctx = this.ctx;\n      ctx.scale(1 / w, -1 / h);\n      ctx.drawImage(domImage, 0, 0, domImage.width, domImage.height, 0, -h, w, h);\n      if (this.imageLayer) {\n        var currentTransform = ctx.mozCurrentTransformInverse;\n        var position = this.getCanvasPosition(0, 0);\n        this.imageLayer.appendImage({\n          objId: objId,\n          left: position[0],\n          top: position[1],\n          width: w / currentTransform[0],\n          height: h / currentTransform[3]\n        });\n      }\n      this.restore();\n    },\n    paintImageMaskXObject: function CanvasGraphics_paintImageMaskXObject(img) {\n      var ctx = this.ctx;\n      var width = img.width,\n          height = img.height;\n      var fillColor = this.current.fillColor;\n      var isPatternFill = this.current.patternFill;\n      var glyph = this.processingType3;\n      if (COMPILE_TYPE3_GLYPHS && glyph && glyph.compiled === undefined) {\n        if (width <= MAX_SIZE_TO_COMPILE && height <= MAX_SIZE_TO_COMPILE) {\n          glyph.compiled = compileType3Glyph({\n            data: img.data,\n            width: width,\n            height: height\n          });\n        } else {\n          glyph.compiled = null;\n        }\n      }\n      if (glyph && glyph.compiled) {\n        glyph.compiled(ctx);\n        return;\n      }\n      var maskCanvas = this.cachedCanvases.getCanvas('maskCanvas', width, height);\n      var maskCtx = maskCanvas.context;\n      maskCtx.save();\n      putBinaryImageMask(maskCtx, img);\n      maskCtx.globalCompositeOperation = 'source-in';\n      maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n      maskCtx.fillRect(0, 0, width, height);\n      maskCtx.restore();\n      this.paintInlineImageXObject(maskCanvas.canvas);\n    },\n    paintImageMaskXObjectRepeat: function CanvasGraphics_paintImageMaskXObjectRepeat(imgData, scaleX, scaleY, positions) {\n      var width = imgData.width;\n      var height = imgData.height;\n      var fillColor = this.current.fillColor;\n      var isPatternFill = this.current.patternFill;\n      var maskCanvas = this.cachedCanvases.getCanvas('maskCanvas', width, height);\n      var maskCtx = maskCanvas.context;\n      maskCtx.save();\n      putBinaryImageMask(maskCtx, imgData);\n      maskCtx.globalCompositeOperation = 'source-in';\n      maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n      maskCtx.fillRect(0, 0, width, height);\n      maskCtx.restore();\n      var ctx = this.ctx;\n      for (var i = 0, ii = positions.length; i < ii; i += 2) {\n        ctx.save();\n        ctx.transform(scaleX, 0, 0, scaleY, positions[i], positions[i + 1]);\n        ctx.scale(1, -1);\n        ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n        ctx.restore();\n      }\n    },\n    paintImageMaskXObjectGroup: function CanvasGraphics_paintImageMaskXObjectGroup(images) {\n      var ctx = this.ctx;\n      var fillColor = this.current.fillColor;\n      var isPatternFill = this.current.patternFill;\n      for (var i = 0, ii = images.length; i < ii; i++) {\n        var image = images[i];\n        var width = image.width,\n            height = image.height;\n        var maskCanvas = this.cachedCanvases.getCanvas('maskCanvas', width, height);\n        var maskCtx = maskCanvas.context;\n        maskCtx.save();\n        putBinaryImageMask(maskCtx, image);\n        maskCtx.globalCompositeOperation = 'source-in';\n        maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n        maskCtx.fillRect(0, 0, width, height);\n        maskCtx.restore();\n        ctx.save();\n        ctx.transform.apply(ctx, image.transform);\n        ctx.scale(1, -1);\n        ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n        ctx.restore();\n      }\n    },\n    paintImageXObject: function CanvasGraphics_paintImageXObject(objId) {\n      var imgData = this.objs.get(objId);\n      if (!imgData) {\n        (0, _util.warn)('Dependent image isn\\'t ready yet');\n        return;\n      }\n      this.paintInlineImageXObject(imgData);\n    },\n    paintImageXObjectRepeat: function CanvasGraphics_paintImageXObjectRepeat(objId, scaleX, scaleY, positions) {\n      var imgData = this.objs.get(objId);\n      if (!imgData) {\n        (0, _util.warn)('Dependent image isn\\'t ready yet');\n        return;\n      }\n      var width = imgData.width;\n      var height = imgData.height;\n      var map = [];\n      for (var i = 0, ii = positions.length; i < ii; i += 2) {\n        map.push({\n          transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]],\n          x: 0,\n          y: 0,\n          w: width,\n          h: height\n        });\n      }\n      this.paintInlineImageXObjectGroup(imgData, map);\n    },\n    paintInlineImageXObject: function CanvasGraphics_paintInlineImageXObject(imgData) {\n      var width = imgData.width;\n      var height = imgData.height;\n      var ctx = this.ctx;\n      this.save();\n      ctx.scale(1 / width, -1 / height);\n      var currentTransform = ctx.mozCurrentTransformInverse;\n      var a = currentTransform[0],\n          b = currentTransform[1];\n      var widthScale = Math.max(Math.sqrt(a * a + b * b), 1);\n      var c = currentTransform[2],\n          d = currentTransform[3];\n      var heightScale = Math.max(Math.sqrt(c * c + d * d), 1);\n      var imgToPaint, tmpCanvas;\n      if (imgData instanceof HTMLElement || !imgData.data) {\n        imgToPaint = imgData;\n      } else {\n        tmpCanvas = this.cachedCanvases.getCanvas('inlineImage', width, height);\n        var tmpCtx = tmpCanvas.context;\n        putBinaryImageData(tmpCtx, imgData);\n        imgToPaint = tmpCanvas.canvas;\n      }\n      var paintWidth = width,\n          paintHeight = height;\n      var tmpCanvasId = 'prescale1';\n      while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) {\n        var newWidth = paintWidth,\n            newHeight = paintHeight;\n        if (widthScale > 2 && paintWidth > 1) {\n          newWidth = Math.ceil(paintWidth / 2);\n          widthScale /= paintWidth / newWidth;\n        }\n        if (heightScale > 2 && paintHeight > 1) {\n          newHeight = Math.ceil(paintHeight / 2);\n          heightScale /= paintHeight / newHeight;\n        }\n        tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight);\n        tmpCtx = tmpCanvas.context;\n        tmpCtx.clearRect(0, 0, newWidth, newHeight);\n        tmpCtx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight);\n        imgToPaint = tmpCanvas.canvas;\n        paintWidth = newWidth;\n        paintHeight = newHeight;\n        tmpCanvasId = tmpCanvasId === 'prescale1' ? 'prescale2' : 'prescale1';\n      }\n      ctx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, -height, width, height);\n      if (this.imageLayer) {\n        var position = this.getCanvasPosition(0, -height);\n        this.imageLayer.appendImage({\n          imgData: imgData,\n          left: position[0],\n          top: position[1],\n          width: width / currentTransform[0],\n          height: height / currentTransform[3]\n        });\n      }\n      this.restore();\n    },\n    paintInlineImageXObjectGroup: function CanvasGraphics_paintInlineImageXObjectGroup(imgData, map) {\n      var ctx = this.ctx;\n      var w = imgData.width;\n      var h = imgData.height;\n      var tmpCanvas = this.cachedCanvases.getCanvas('inlineImage', w, h);\n      var tmpCtx = tmpCanvas.context;\n      putBinaryImageData(tmpCtx, imgData);\n      for (var i = 0, ii = map.length; i < ii; i++) {\n        var entry = map[i];\n        ctx.save();\n        ctx.transform.apply(ctx, entry.transform);\n        ctx.scale(1, -1);\n        ctx.drawImage(tmpCanvas.canvas, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1);\n        if (this.imageLayer) {\n          var position = this.getCanvasPosition(entry.x, entry.y);\n          this.imageLayer.appendImage({\n            imgData: imgData,\n            left: position[0],\n            top: position[1],\n            width: w,\n            height: h\n          });\n        }\n        ctx.restore();\n      }\n    },\n    paintSolidColorImageMask: function CanvasGraphics_paintSolidColorImageMask() {\n      this.ctx.fillRect(0, 0, 1, 1);\n    },\n    paintXObject: function CanvasGraphics_paintXObject() {\n      (0, _util.warn)('Unsupported \\'paintXObject\\' command.');\n    },\n    markPoint: function CanvasGraphics_markPoint(tag) {},\n    markPointProps: function CanvasGraphics_markPointProps(tag, properties) {},\n    beginMarkedContent: function CanvasGraphics_beginMarkedContent(tag) {},\n    beginMarkedContentProps: function CanvasGraphics_beginMarkedContentProps(tag, properties) {},\n    endMarkedContent: function CanvasGraphics_endMarkedContent() {},\n    beginCompat: function CanvasGraphics_beginCompat() {},\n    endCompat: function CanvasGraphics_endCompat() {},\n    consumePath: function CanvasGraphics_consumePath() {\n      var ctx = this.ctx;\n      if (this.pendingClip) {\n        if (this.pendingClip === EO_CLIP) {\n          ctx.clip('evenodd');\n        } else {\n          ctx.clip();\n        }\n        this.pendingClip = null;\n      }\n      ctx.beginPath();\n    },\n    getSinglePixelWidth: function CanvasGraphics_getSinglePixelWidth(scale) {\n      if (this.cachedGetSinglePixelWidth === null) {\n        this.ctx.save();\n        var inverse = this.ctx.mozCurrentTransformInverse;\n        this.ctx.restore();\n        this.cachedGetSinglePixelWidth = Math.sqrt(Math.max(inverse[0] * inverse[0] + inverse[1] * inverse[1], inverse[2] * inverse[2] + inverse[3] * inverse[3]));\n      }\n      return this.cachedGetSinglePixelWidth;\n    },\n    getCanvasPosition: function CanvasGraphics_getCanvasPosition(x, y) {\n      var transform = this.ctx.mozCurrentTransform;\n      return [transform[0] * x + transform[2] * y + transform[4], transform[1] * x + transform[3] * y + transform[5]];\n    }\n  };\n  for (var op in _util.OPS) {\n    CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op];\n  }\n  return CanvasGraphics;\n}();\nexports.CanvasGraphics = CanvasGraphics;\n\n/***/ }),\n/* 137 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.TilingPattern = exports.getShadingPatternFromIR = undefined;\n\nvar _util = __w_pdfjs_require__(0);\n\nvar _webgl = __w_pdfjs_require__(76);\n\nvar ShadingIRs = {};\nShadingIRs.RadialAxial = {\n  fromIR: function RadialAxial_fromIR(raw) {\n    var type = raw[1];\n    var colorStops = raw[2];\n    var p0 = raw[3];\n    var p1 = raw[4];\n    var r0 = raw[5];\n    var r1 = raw[6];\n    return {\n      type: 'Pattern',\n      getPattern: function RadialAxial_getPattern(ctx) {\n        var grad;\n        if (type === 'axial') {\n          grad = ctx.createLinearGradient(p0[0], p0[1], p1[0], p1[1]);\n        } else if (type === 'radial') {\n          grad = ctx.createRadialGradient(p0[0], p0[1], r0, p1[0], p1[1], r1);\n        }\n        for (var i = 0, ii = colorStops.length; i < ii; ++i) {\n          var c = colorStops[i];\n          grad.addColorStop(c[0], c[1]);\n        }\n        return grad;\n      }\n    };\n  }\n};\nvar createMeshCanvas = function createMeshCanvasClosure() {\n  function drawTriangle(data, context, p1, p2, p3, c1, c2, c3) {\n    var coords = context.coords,\n        colors = context.colors;\n    var bytes = data.data,\n        rowSize = data.width * 4;\n    var tmp;\n    if (coords[p1 + 1] > coords[p2 + 1]) {\n      tmp = p1;\n      p1 = p2;\n      p2 = tmp;\n      tmp = c1;\n      c1 = c2;\n      c2 = tmp;\n    }\n    if (coords[p2 + 1] > coords[p3 + 1]) {\n      tmp = p2;\n      p2 = p3;\n      p3 = tmp;\n      tmp = c2;\n      c2 = c3;\n      c3 = tmp;\n    }\n    if (coords[p1 + 1] > coords[p2 + 1]) {\n      tmp = p1;\n      p1 = p2;\n      p2 = tmp;\n      tmp = c1;\n      c1 = c2;\n      c2 = tmp;\n    }\n    var x1 = (coords[p1] + context.offsetX) * context.scaleX;\n    var y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY;\n    var x2 = (coords[p2] + context.offsetX) * context.scaleX;\n    var y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY;\n    var x3 = (coords[p3] + context.offsetX) * context.scaleX;\n    var y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY;\n    if (y1 >= y3) {\n      return;\n    }\n    var c1r = colors[c1],\n        c1g = colors[c1 + 1],\n        c1b = colors[c1 + 2];\n    var c2r = colors[c2],\n        c2g = colors[c2 + 1],\n        c2b = colors[c2 + 2];\n    var c3r = colors[c3],\n        c3g = colors[c3 + 1],\n        c3b = colors[c3 + 2];\n    var minY = Math.round(y1),\n        maxY = Math.round(y3);\n    var xa, car, cag, cab;\n    var xb, cbr, cbg, cbb;\n    var k;\n    for (var y = minY; y <= maxY; y++) {\n      if (y < y2) {\n        k = y < y1 ? 0 : y1 === y2 ? 1 : (y1 - y) / (y1 - y2);\n        xa = x1 - (x1 - x2) * k;\n        car = c1r - (c1r - c2r) * k;\n        cag = c1g - (c1g - c2g) * k;\n        cab = c1b - (c1b - c2b) * k;\n      } else {\n        k = y > y3 ? 1 : y2 === y3 ? 0 : (y2 - y) / (y2 - y3);\n        xa = x2 - (x2 - x3) * k;\n        car = c2r - (c2r - c3r) * k;\n        cag = c2g - (c2g - c3g) * k;\n        cab = c2b - (c2b - c3b) * k;\n      }\n      k = y < y1 ? 0 : y > y3 ? 1 : (y1 - y) / (y1 - y3);\n      xb = x1 - (x1 - x3) * k;\n      cbr = c1r - (c1r - c3r) * k;\n      cbg = c1g - (c1g - c3g) * k;\n      cbb = c1b - (c1b - c3b) * k;\n      var x1_ = Math.round(Math.min(xa, xb));\n      var x2_ = Math.round(Math.max(xa, xb));\n      var j = rowSize * y + x1_ * 4;\n      for (var x = x1_; x <= x2_; x++) {\n        k = (xa - x) / (xa - xb);\n        k = k < 0 ? 0 : k > 1 ? 1 : k;\n        bytes[j++] = car - (car - cbr) * k | 0;\n        bytes[j++] = cag - (cag - cbg) * k | 0;\n        bytes[j++] = cab - (cab - cbb) * k | 0;\n        bytes[j++] = 255;\n      }\n    }\n  }\n  function drawFigure(data, figure, context) {\n    var ps = figure.coords;\n    var cs = figure.colors;\n    var i, ii;\n    switch (figure.type) {\n      case 'lattice':\n        var verticesPerRow = figure.verticesPerRow;\n        var rows = Math.floor(ps.length / verticesPerRow) - 1;\n        var cols = verticesPerRow - 1;\n        for (i = 0; i < rows; i++) {\n          var q = i * verticesPerRow;\n          for (var j = 0; j < cols; j++, q++) {\n            drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]);\n            drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]);\n          }\n        }\n        break;\n      case 'triangles':\n        for (i = 0, ii = ps.length; i < ii; i += 3) {\n          drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]);\n        }\n        break;\n      default:\n        throw new Error('illegal figure');\n    }\n  }\n  function createMeshCanvas(bounds, combinesScale, coords, colors, figures, backgroundColor, cachedCanvases) {\n    var EXPECTED_SCALE = 1.1;\n    var MAX_PATTERN_SIZE = 3000;\n    var BORDER_SIZE = 2;\n    var offsetX = Math.floor(bounds[0]);\n    var offsetY = Math.floor(bounds[1]);\n    var boundsWidth = Math.ceil(bounds[2]) - offsetX;\n    var boundsHeight = Math.ceil(bounds[3]) - offsetY;\n    var width = Math.min(Math.ceil(Math.abs(boundsWidth * combinesScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n    var height = Math.min(Math.ceil(Math.abs(boundsHeight * combinesScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n    var scaleX = boundsWidth / width;\n    var scaleY = boundsHeight / height;\n    var context = {\n      coords: coords,\n      colors: colors,\n      offsetX: -offsetX,\n      offsetY: -offsetY,\n      scaleX: 1 / scaleX,\n      scaleY: 1 / scaleY\n    };\n    var paddedWidth = width + BORDER_SIZE * 2;\n    var paddedHeight = height + BORDER_SIZE * 2;\n    var canvas, tmpCanvas, i, ii;\n    if (_webgl.WebGLUtils.isEnabled) {\n      canvas = _webgl.WebGLUtils.drawFigures(width, height, backgroundColor, figures, context);\n      tmpCanvas = cachedCanvases.getCanvas('mesh', paddedWidth, paddedHeight, false);\n      tmpCanvas.context.drawImage(canvas, BORDER_SIZE, BORDER_SIZE);\n      canvas = tmpCanvas.canvas;\n    } else {\n      tmpCanvas = cachedCanvases.getCanvas('mesh', paddedWidth, paddedHeight, false);\n      var tmpCtx = tmpCanvas.context;\n      var data = tmpCtx.createImageData(width, height);\n      if (backgroundColor) {\n        var bytes = data.data;\n        for (i = 0, ii = bytes.length; i < ii; i += 4) {\n          bytes[i] = backgroundColor[0];\n          bytes[i + 1] = backgroundColor[1];\n          bytes[i + 2] = backgroundColor[2];\n          bytes[i + 3] = 255;\n        }\n      }\n      for (i = 0; i < figures.length; i++) {\n        drawFigure(data, figures[i], context);\n      }\n      tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE);\n      canvas = tmpCanvas.canvas;\n    }\n    return {\n      canvas: canvas,\n      offsetX: offsetX - BORDER_SIZE * scaleX,\n      offsetY: offsetY - BORDER_SIZE * scaleY,\n      scaleX: scaleX,\n      scaleY: scaleY\n    };\n  }\n  return createMeshCanvas;\n}();\nShadingIRs.Mesh = {\n  fromIR: function Mesh_fromIR(raw) {\n    var coords = raw[2];\n    var colors = raw[3];\n    var figures = raw[4];\n    var bounds = raw[5];\n    var matrix = raw[6];\n    var background = raw[8];\n    return {\n      type: 'Pattern',\n      getPattern: function Mesh_getPattern(ctx, owner, shadingFill) {\n        var scale;\n        if (shadingFill) {\n          scale = _util.Util.singularValueDecompose2dScale(ctx.mozCurrentTransform);\n        } else {\n          scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform);\n          if (matrix) {\n            var matrixScale = _util.Util.singularValueDecompose2dScale(matrix);\n            scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];\n          }\n        }\n        var temporaryPatternCanvas = createMeshCanvas(bounds, scale, coords, colors, figures, shadingFill ? null : background, owner.cachedCanvases);\n        if (!shadingFill) {\n          ctx.setTransform.apply(ctx, owner.baseTransform);\n          if (matrix) {\n            ctx.transform.apply(ctx, matrix);\n          }\n        }\n        ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);\n        ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);\n        return ctx.createPattern(temporaryPatternCanvas.canvas, 'no-repeat');\n      }\n    };\n  }\n};\nShadingIRs.Dummy = {\n  fromIR: function Dummy_fromIR() {\n    return {\n      type: 'Pattern',\n      getPattern: function Dummy_fromIR_getPattern() {\n        return 'hotpink';\n      }\n    };\n  }\n};\nfunction getShadingPatternFromIR(raw) {\n  var shadingIR = ShadingIRs[raw[0]];\n  if (!shadingIR) {\n    throw new Error('Unknown IR type: ' + raw[0]);\n  }\n  return shadingIR.fromIR(raw);\n}\nvar TilingPattern = function TilingPatternClosure() {\n  var PaintType = {\n    COLORED: 1,\n    UNCOLORED: 2\n  };\n  var MAX_PATTERN_SIZE = 3000;\n  function TilingPattern(IR, color, ctx, canvasGraphicsFactory, baseTransform) {\n    this.operatorList = IR[2];\n    this.matrix = IR[3] || [1, 0, 0, 1, 0, 0];\n    this.bbox = IR[4];\n    this.xstep = IR[5];\n    this.ystep = IR[6];\n    this.paintType = IR[7];\n    this.tilingType = IR[8];\n    this.color = color;\n    this.canvasGraphicsFactory = canvasGraphicsFactory;\n    this.baseTransform = baseTransform;\n    this.type = 'Pattern';\n    this.ctx = ctx;\n  }\n  TilingPattern.prototype = {\n    createPatternCanvas: function TilinPattern_createPatternCanvas(owner) {\n      var operatorList = this.operatorList;\n      var bbox = this.bbox;\n      var xstep = this.xstep;\n      var ystep = this.ystep;\n      var paintType = this.paintType;\n      var tilingType = this.tilingType;\n      var color = this.color;\n      var canvasGraphicsFactory = this.canvasGraphicsFactory;\n      (0, _util.info)('TilingType: ' + tilingType);\n      var x0 = bbox[0],\n          y0 = bbox[1],\n          x1 = bbox[2],\n          y1 = bbox[3];\n      var topLeft = [x0, y0];\n      var botRight = [x0 + xstep, y0 + ystep];\n      var width = botRight[0] - topLeft[0];\n      var height = botRight[1] - topLeft[1];\n      var matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);\n      var curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform);\n      var combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]];\n      width = Math.min(Math.ceil(Math.abs(width * combinedScale[0])), MAX_PATTERN_SIZE);\n      height = Math.min(Math.ceil(Math.abs(height * combinedScale[1])), MAX_PATTERN_SIZE);\n      var tmpCanvas = owner.cachedCanvases.getCanvas('pattern', width, height, true);\n      var tmpCtx = tmpCanvas.context;\n      var graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);\n      graphics.groupLevel = owner.groupLevel;\n      this.setFillAndStrokeStyleToContext(graphics, paintType, color);\n      this.setScale(width, height, xstep, ystep);\n      this.transformToScale(graphics);\n      var tmpTranslate = [1, 0, 0, 1, -topLeft[0], -topLeft[1]];\n      graphics.transform.apply(graphics, tmpTranslate);\n      this.clipBbox(graphics, bbox, x0, y0, x1, y1);\n      graphics.executeOperatorList(operatorList);\n      return tmpCanvas.canvas;\n    },\n    setScale: function TilingPattern_setScale(width, height, xstep, ystep) {\n      this.scale = [width / xstep, height / ystep];\n    },\n    transformToScale: function TilingPattern_transformToScale(graphics) {\n      var scale = this.scale;\n      var tmpScale = [scale[0], 0, 0, scale[1], 0, 0];\n      graphics.transform.apply(graphics, tmpScale);\n    },\n    scaleToContext: function TilingPattern_scaleToContext() {\n      var scale = this.scale;\n      this.ctx.scale(1 / scale[0], 1 / scale[1]);\n    },\n    clipBbox: function clipBbox(graphics, bbox, x0, y0, x1, y1) {\n      if (Array.isArray(bbox) && bbox.length === 4) {\n        var bboxWidth = x1 - x0;\n        var bboxHeight = y1 - y0;\n        graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight);\n        graphics.clip();\n        graphics.endPath();\n      }\n    },\n    setFillAndStrokeStyleToContext: function setFillAndStrokeStyleToContext(graphics, paintType, color) {\n      var context = graphics.ctx,\n          current = graphics.current;\n      switch (paintType) {\n        case PaintType.COLORED:\n          var ctx = this.ctx;\n          context.fillStyle = ctx.fillStyle;\n          context.strokeStyle = ctx.strokeStyle;\n          current.fillColor = ctx.fillStyle;\n          current.strokeColor = ctx.strokeStyle;\n          break;\n        case PaintType.UNCOLORED:\n          var cssColor = _util.Util.makeCssRgb(color[0], color[1], color[2]);\n          context.fillStyle = cssColor;\n          context.strokeStyle = cssColor;\n          current.fillColor = cssColor;\n          current.strokeColor = cssColor;\n          break;\n        default:\n          throw new _util.FormatError('Unsupported paint type: ' + paintType);\n      }\n    },\n    getPattern: function TilingPattern_getPattern(ctx, owner) {\n      var temporaryPatternCanvas = this.createPatternCanvas(owner);\n      ctx = this.ctx;\n      ctx.setTransform.apply(ctx, this.baseTransform);\n      ctx.transform.apply(ctx, this.matrix);\n      this.scaleToContext();\n      return ctx.createPattern(temporaryPatternCanvas, 'repeat');\n    }\n  };\n  return TilingPattern;\n}();\nexports.getShadingPatternFromIR = getShadingPatternFromIR;\nexports.TilingPattern = TilingPattern;\n\n/***/ }),\n/* 138 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar XMLParserErrorCode = {\n  NoError: 0,\n  EndOfDocument: -1,\n  UnterminatedCdat: -2,\n  UnterminatedXmlDeclaration: -3,\n  UnterminatedDoctypeDeclaration: -4,\n  UnterminatedComment: -5,\n  MalformedElement: -6,\n  OutOfMemory: -7,\n  UnterminatedAttributeValue: -8,\n  UnterminatedElement: -9,\n  ElementNeverBegun: -10\n};\nfunction isWhitespace(s, index) {\n  var ch = s[index];\n  return ch === ' ' || ch === '\\n' || ch === '\\r' || ch === '\\t';\n}\nfunction isWhitespaceString(s) {\n  for (var i = 0, ii = s.length; i < ii; i++) {\n    if (!isWhitespace(s, i)) {\n      return false;\n    }\n  }\n  return true;\n}\n\nvar XMLParserBase = function () {\n  function XMLParserBase() {\n    _classCallCheck(this, XMLParserBase);\n  }\n\n  _createClass(XMLParserBase, [{\n    key: '_resolveEntities',\n    value: function _resolveEntities(s) {\n      return s.replace(/&([^;]+);/g, function (all, entity) {\n        if (entity.substring(0, 2) === '#x') {\n          return String.fromCharCode(parseInt(entity.substring(2), 16));\n        } else if (entity.substring(0, 1) === '#') {\n          return String.fromCharCode(parseInt(entity.substring(1), 10));\n        }\n        switch (entity) {\n          case 'lt':\n            return '<';\n          case 'gt':\n            return '>';\n          case 'amp':\n            return '&';\n          case 'quot':\n            return '\\\"';\n        }\n        return this.onResolveEntity(entity);\n      });\n    }\n  }, {\n    key: '_parseContent',\n    value: function _parseContent(s, start) {\n      var pos = start,\n          name = void 0,\n          attributes = [];\n      function skipWs() {\n        while (pos < s.length && isWhitespace(s, pos)) {\n          ++pos;\n        }\n      }\n      while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== '>' && s[pos] !== '/') {\n        ++pos;\n      }\n      name = s.substring(start, pos);\n      skipWs();\n      while (pos < s.length && s[pos] !== '>' && s[pos] !== '/' && s[pos] !== '?') {\n        skipWs();\n        var attrName = '',\n            attrValue = '';\n        while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== '=') {\n          attrName += s[pos];\n          ++pos;\n        }\n        skipWs();\n        if (s[pos] !== '=') {\n          return null;\n        }\n        ++pos;\n        skipWs();\n        var attrEndChar = s[pos];\n        if (attrEndChar !== '\\\"' && attrEndChar !== '\\'') {\n          return null;\n        }\n        var attrEndIndex = s.indexOf(attrEndChar, ++pos);\n        if (attrEndIndex < 0) {\n          return null;\n        }\n        attrValue = s.substring(pos, attrEndIndex);\n        attributes.push({\n          name: attrName,\n          value: this._resolveEntities(attrValue)\n        });\n        pos = attrEndIndex + 1;\n        skipWs();\n      }\n      return {\n        name: name,\n        attributes: attributes,\n        parsed: pos - start\n      };\n    }\n  }, {\n    key: '_parseProcessingInstruction',\n    value: function _parseProcessingInstruction(s, start) {\n      var pos = start,\n          name = void 0,\n          value = void 0;\n      function skipWs() {\n        while (pos < s.length && isWhitespace(s, pos)) {\n          ++pos;\n        }\n      }\n      while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== '>' && s[pos] !== '/') {\n        ++pos;\n      }\n      name = s.substring(start, pos);\n      skipWs();\n      var attrStart = pos;\n      while (pos < s.length && (s[pos] !== '?' || s[pos + 1] !== '>')) {\n        ++pos;\n      }\n      value = s.substring(attrStart, pos);\n      return {\n        name: name,\n        value: value,\n        parsed: pos - start\n      };\n    }\n  }, {\n    key: 'parseXml',\n    value: function parseXml(s) {\n      var i = 0;\n      while (i < s.length) {\n        var ch = s[i];\n        var j = i;\n        if (ch === '<') {\n          ++j;\n          var ch2 = s[j];\n          var q = void 0;\n          switch (ch2) {\n            case '/':\n              ++j;\n              q = s.indexOf('>', j);\n              if (q < 0) {\n                this.onError(XMLParserErrorCode.UnterminatedElement);\n                return;\n              }\n              this.onEndElement(s.substring(j, q));\n              j = q + 1;\n              break;\n            case '?':\n              ++j;\n              var pi = this._parseProcessingInstruction(s, j);\n              if (s.substring(j + pi.parsed, j + pi.parsed + 2) !== '?>') {\n                this.onError(XMLParserErrorCode.UnterminatedXmlDeclaration);\n                return;\n              }\n              this.onPi(pi.name, pi.value);\n              j += pi.parsed + 2;\n              break;\n            case '!':\n              if (s.substring(j + 1, j + 3) === '--') {\n                q = s.indexOf('-->', j + 3);\n                if (q < 0) {\n                  this.onError(XMLParserErrorCode.UnterminatedComment);\n                  return;\n                }\n                this.onComment(s.substring(j + 3, q));\n                j = q + 3;\n              } else if (s.substring(j + 1, j + 8) === '[CDATA[') {\n                q = s.indexOf(']]>', j + 8);\n                if (q < 0) {\n                  this.onError(XMLParserErrorCode.UnterminatedCdat);\n                  return;\n                }\n                this.onCdata(s.substring(j + 8, q));\n                j = q + 3;\n              } else if (s.substring(j + 1, j + 8) === 'DOCTYPE') {\n                var q2 = s.indexOf('[', j + 8);\n                var complexDoctype = false;\n                q = s.indexOf('>', j + 8);\n                if (q < 0) {\n                  this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n                  return;\n                }\n                if (q2 > 0 && q > q2) {\n                  q = s.indexOf(']>', j + 8);\n                  if (q < 0) {\n                    this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n                    return;\n                  }\n                  complexDoctype = true;\n                }\n                var doctypeContent = s.substring(j + 8, q + (complexDoctype ? 1 : 0));\n                this.onDoctype(doctypeContent);\n                j = q + (complexDoctype ? 2 : 1);\n              } else {\n                this.onError(XMLParserErrorCode.MalformedElement);\n                return;\n              }\n              break;\n            default:\n              var content = this._parseContent(s, j);\n              if (content === null) {\n                this.onError(XMLParserErrorCode.MalformedElement);\n                return;\n              }\n              var isClosed = false;\n              if (s.substring(j + content.parsed, j + content.parsed + 2) === '/>') {\n                isClosed = true;\n              } else if (s.substring(j + content.parsed, j + content.parsed + 1) !== '>') {\n                this.onError(XMLParserErrorCode.UnterminatedElement);\n                return;\n              }\n              this.onBeginElement(content.name, content.attributes, isClosed);\n              j += content.parsed + (isClosed ? 2 : 1);\n              break;\n          }\n        } else {\n          while (j < s.length && s[j] !== '<') {\n            j++;\n          }\n          var text = s.substring(i, j);\n          this.onText(this._resolveEntities(text));\n        }\n        i = j;\n      }\n    }\n  }, {\n    key: 'onResolveEntity',\n    value: function onResolveEntity(name) {\n      return '&' + name + ';';\n    }\n  }, {\n    key: 'onPi',\n    value: function onPi(name, value) {}\n  }, {\n    key: 'onComment',\n    value: function onComment(text) {}\n  }, {\n    key: 'onCdata',\n    value: function onCdata(text) {}\n  }, {\n    key: 'onDoctype',\n    value: function onDoctype(doctypeContent) {}\n  }, {\n    key: 'onText',\n    value: function onText(text) {}\n  }, {\n    key: 'onBeginElement',\n    value: function onBeginElement(name, attributes, isEmpty) {}\n  }, {\n    key: 'onEndElement',\n    value: function onEndElement(name) {}\n  }, {\n    key: 'onError',\n    value: function onError(code) {}\n  }]);\n\n  return XMLParserBase;\n}();\n\nvar SimpleDOMNode = function () {\n  function SimpleDOMNode(nodeName, nodeValue) {\n    _classCallCheck(this, SimpleDOMNode);\n\n    this.nodeName = nodeName;\n    this.nodeValue = nodeValue;\n    Object.defineProperty(this, 'parentNode', {\n      value: null,\n      writable: true\n    });\n  }\n\n  _createClass(SimpleDOMNode, [{\n    key: 'hasChildNodes',\n    value: function hasChildNodes() {\n      return this.childNodes && this.childNodes.length > 0;\n    }\n  }, {\n    key: 'firstChild',\n    get: function get() {\n      return this.childNodes[0];\n    }\n  }, {\n    key: 'nextSibling',\n    get: function get() {\n      var index = this.parentNode.childNodes.indexOf(this);\n      return this.parentNode.childNodes[index + 1];\n    }\n  }, {\n    key: 'textContent',\n    get: function get() {\n      if (!this.childNodes) {\n        return this.nodeValue || '';\n      }\n      return this.childNodes.map(function (child) {\n        return child.textContent;\n      }).join('');\n    }\n  }]);\n\n  return SimpleDOMNode;\n}();\n\nvar SimpleXMLParser = function (_XMLParserBase) {\n  _inherits(SimpleXMLParser, _XMLParserBase);\n\n  function SimpleXMLParser() {\n    _classCallCheck(this, SimpleXMLParser);\n\n    var _this = _possibleConstructorReturn(this, (SimpleXMLParser.__proto__ || Object.getPrototypeOf(SimpleXMLParser)).call(this));\n\n    _this._currentFragment = null;\n    _this._stack = null;\n    _this._errorCode = XMLParserErrorCode.NoError;\n    return _this;\n  }\n\n  _createClass(SimpleXMLParser, [{\n    key: 'parseFromString',\n    value: function parseFromString(data) {\n      this._currentFragment = [];\n      this._stack = [];\n      this._errorCode = XMLParserErrorCode.NoError;\n      this.parseXml(data);\n      if (this._errorCode !== XMLParserErrorCode.NoError) {\n        return undefined;\n      }\n\n      var _currentFragment = _slicedToArray(this._currentFragment, 1),\n          documentElement = _currentFragment[0];\n\n      return { documentElement: documentElement };\n    }\n  }, {\n    key: 'onResolveEntity',\n    value: function onResolveEntity(name) {\n      switch (name) {\n        case 'apos':\n          return '\\'';\n      }\n      return _get(SimpleXMLParser.prototype.__proto__ || Object.getPrototypeOf(SimpleXMLParser.prototype), 'onResolveEntity', this).call(this, name);\n    }\n  }, {\n    key: 'onText',\n    value: function onText(text) {\n      if (isWhitespaceString(text)) {\n        return;\n      }\n      var node = new SimpleDOMNode('#text', text);\n      this._currentFragment.push(node);\n    }\n  }, {\n    key: 'onCdata',\n    value: function onCdata(text) {\n      var node = new SimpleDOMNode('#text', text);\n      this._currentFragment.push(node);\n    }\n  }, {\n    key: 'onBeginElement',\n    value: function onBeginElement(name, attributes, isEmpty) {\n      var node = new SimpleDOMNode(name);\n      node.childNodes = [];\n      this._currentFragment.push(node);\n      if (isEmpty) {\n        return;\n      }\n      this._stack.push(this._currentFragment);\n      this._currentFragment = node.childNodes;\n    }\n  }, {\n    key: 'onEndElement',\n    value: function onEndElement(name) {\n      this._currentFragment = this._stack.pop();\n      var lastElement = this._currentFragment[this._currentFragment.length - 1];\n      for (var i = 0, ii = lastElement.childNodes.length; i < ii; i++) {\n        lastElement.childNodes[i].parentNode = lastElement;\n      }\n    }\n  }, {\n    key: 'onError',\n    value: function onError(code) {\n      this._errorCode = code;\n    }\n  }]);\n\n  return SimpleXMLParser;\n}(XMLParserBase);\n\nexports.SimpleXMLParser = SimpleXMLParser;\n\n/***/ }),\n/* 139 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.PDFDataTransportStream = undefined;\n\nvar _util = __w_pdfjs_require__(0);\n\nvar PDFDataTransportStream = function PDFDataTransportStreamClosure() {\n  function PDFDataTransportStream(params, pdfDataRangeTransport) {\n    var _this = this;\n\n    (0, _util.assert)(pdfDataRangeTransport);\n    this._queuedChunks = [];\n    var initialData = params.initialData;\n    if (initialData && initialData.length > 0) {\n      var buffer = new Uint8Array(initialData).buffer;\n      this._queuedChunks.push(buffer);\n    }\n    this._pdfDataRangeTransport = pdfDataRangeTransport;\n    this._isRangeSupported = !params.disableRange;\n    this._isStreamingSupported = !params.disableStream;\n    this._contentLength = params.length;\n    this._fullRequestReader = null;\n    this._rangeReaders = [];\n    this._pdfDataRangeTransport.addRangeListener(function (begin, chunk) {\n      _this._onReceiveData({\n        begin: begin,\n        chunk: chunk\n      });\n    });\n    this._pdfDataRangeTransport.addProgressListener(function (loaded) {\n      _this._onProgress({ loaded: loaded });\n    });\n    this._pdfDataRangeTransport.addProgressiveReadListener(function (chunk) {\n      _this._onReceiveData({ chunk: chunk });\n    });\n    this._pdfDataRangeTransport.transportReady();\n  }\n  PDFDataTransportStream.prototype = {\n    _onReceiveData: function PDFDataTransportStream_onReceiveData(args) {\n      var buffer = new Uint8Array(args.chunk).buffer;\n      if (args.begin === undefined) {\n        if (this._fullRequestReader) {\n          this._fullRequestReader._enqueue(buffer);\n        } else {\n          this._queuedChunks.push(buffer);\n        }\n      } else {\n        var found = this._rangeReaders.some(function (rangeReader) {\n          if (rangeReader._begin !== args.begin) {\n            return false;\n          }\n          rangeReader._enqueue(buffer);\n          return true;\n        });\n        (0, _util.assert)(found);\n      }\n    },\n    _onProgress: function PDFDataTransportStream_onDataProgress(evt) {\n      if (this._rangeReaders.length > 0) {\n        var firstReader = this._rangeReaders[0];\n        if (firstReader.onProgress) {\n          firstReader.onProgress({ loaded: evt.loaded });\n        }\n      }\n    },\n    _removeRangeReader: function PDFDataTransportStream_removeRangeReader(reader) {\n      var i = this._rangeReaders.indexOf(reader);\n      if (i >= 0) {\n        this._rangeReaders.splice(i, 1);\n      }\n    },\n    getFullReader: function PDFDataTransportStream_getFullReader() {\n      (0, _util.assert)(!this._fullRequestReader);\n      var queuedChunks = this._queuedChunks;\n      this._queuedChunks = null;\n      return new PDFDataTransportStreamReader(this, queuedChunks);\n    },\n    getRangeReader: function PDFDataTransportStream_getRangeReader(begin, end) {\n      var reader = new PDFDataTransportStreamRangeReader(this, begin, end);\n      this._pdfDataRangeTransport.requestDataRange(begin, end);\n      this._rangeReaders.push(reader);\n      return reader;\n    },\n    cancelAllRequests: function PDFDataTransportStream_cancelAllRequests(reason) {\n      if (this._fullRequestReader) {\n        this._fullRequestReader.cancel(reason);\n      }\n      var readers = this._rangeReaders.slice(0);\n      readers.forEach(function (rangeReader) {\n        rangeReader.cancel(reason);\n      });\n      this._pdfDataRangeTransport.abort();\n    }\n  };\n  function PDFDataTransportStreamReader(stream, queuedChunks) {\n    this._stream = stream;\n    this._done = false;\n    this._queuedChunks = queuedChunks || [];\n    this._requests = [];\n    this._headersReady = Promise.resolve();\n    stream._fullRequestReader = this;\n    this.onProgress = null;\n  }\n  PDFDataTransportStreamReader.prototype = {\n    _enqueue: function PDFDataTransportStreamReader_enqueue(chunk) {\n      if (this._done) {\n        return;\n      }\n      if (this._requests.length > 0) {\n        var requestCapability = this._requests.shift();\n        requestCapability.resolve({\n          value: chunk,\n          done: false\n        });\n        return;\n      }\n      this._queuedChunks.push(chunk);\n    },\n    get headersReady() {\n      return this._headersReady;\n    },\n    get isRangeSupported() {\n      return this._stream._isRangeSupported;\n    },\n    get isStreamingSupported() {\n      return this._stream._isStreamingSupported;\n    },\n    get contentLength() {\n      return this._stream._contentLength;\n    },\n    read: function PDFDataTransportStreamReader_read() {\n      if (this._queuedChunks.length > 0) {\n        var chunk = this._queuedChunks.shift();\n        return Promise.resolve({\n          value: chunk,\n          done: false\n        });\n      }\n      if (this._done) {\n        return Promise.resolve({\n          value: undefined,\n          done: true\n        });\n      }\n      var requestCapability = (0, _util.createPromiseCapability)();\n      this._requests.push(requestCapability);\n      return requestCapability.promise;\n    },\n    cancel: function PDFDataTransportStreamReader_cancel(reason) {\n      this._done = true;\n      this._requests.forEach(function (requestCapability) {\n        requestCapability.resolve({\n          value: undefined,\n          done: true\n        });\n      });\n      this._requests = [];\n    }\n  };\n  function PDFDataTransportStreamRangeReader(stream, begin, end) {\n    this._stream = stream;\n    this._begin = begin;\n    this._end = end;\n    this._queuedChunk = null;\n    this._requests = [];\n    this._done = false;\n    this.onProgress = null;\n  }\n  PDFDataTransportStreamRangeReader.prototype = {\n    _enqueue: function PDFDataTransportStreamRangeReader_enqueue(chunk) {\n      if (this._done) {\n        return;\n      }\n      if (this._requests.length === 0) {\n        this._queuedChunk = chunk;\n      } else {\n        var requestsCapability = this._requests.shift();\n        requestsCapability.resolve({\n          value: chunk,\n          done: false\n        });\n        this._requests.forEach(function (requestCapability) {\n          requestCapability.resolve({\n            value: undefined,\n            done: true\n          });\n        });\n        this._requests = [];\n      }\n      this._done = true;\n      this._stream._removeRangeReader(this);\n    },\n    get isStreamingSupported() {\n      return false;\n    },\n    read: function PDFDataTransportStreamRangeReader_read() {\n      if (this._queuedChunk) {\n        var chunk = this._queuedChunk;\n        this._queuedChunk = null;\n        return Promise.resolve({\n          value: chunk,\n          done: false\n        });\n      }\n      if (this._done) {\n        return Promise.resolve({\n          value: undefined,\n          done: true\n        });\n      }\n      var requestCapability = (0, _util.createPromiseCapability)();\n      this._requests.push(requestCapability);\n      return requestCapability.promise;\n    },\n    cancel: function PDFDataTransportStreamRangeReader_cancel(reason) {\n      this._done = true;\n      this._requests.forEach(function (requestCapability) {\n        requestCapability.resolve({\n          value: undefined,\n          done: true\n        });\n      });\n      this._requests = [];\n      this._stream._removeRangeReader(this);\n    }\n  };\n  return PDFDataTransportStream;\n}();\nexports.PDFDataTransportStream = PDFDataTransportStream;\n\n/***/ }),\n/* 140 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.WorkerMessageHandler = exports.WorkerTask = undefined;\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 && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _util = __w_pdfjs_require__(0);\n\nvar _pdf_manager = __w_pdfjs_require__(141);\n\nvar _primitives = __w_pdfjs_require__(2);\n\nvar WorkerTask = function WorkerTaskClosure() {\n  function WorkerTask(name) {\n    this.name = name;\n    this.terminated = false;\n    this._capability = (0, _util.createPromiseCapability)();\n  }\n  WorkerTask.prototype = {\n    get finished() {\n      return this._capability.promise;\n    },\n    finish: function finish() {\n      this._capability.resolve();\n    },\n    terminate: function terminate() {\n      this.terminated = true;\n    },\n    ensureNotTerminated: function ensureNotTerminated() {\n      if (this.terminated) {\n        throw new Error('Worker task was terminated');\n      }\n    }\n  };\n  return WorkerTask;\n}();\n;\nvar PDFWorkerStream = function PDFWorkerStreamClosure() {\n  function PDFWorkerStream(msgHandler) {\n    this._msgHandler = msgHandler;\n    this._contentLength = null;\n    this._fullRequestReader = null;\n    this._rangeRequestReaders = [];\n  }\n  PDFWorkerStream.prototype = {\n    getFullReader: function getFullReader() {\n      (0, _util.assert)(!this._fullRequestReader);\n      this._fullRequestReader = new PDFWorkerStreamReader(this._msgHandler);\n      return this._fullRequestReader;\n    },\n    getRangeReader: function getRangeReader(begin, end) {\n      var reader = new PDFWorkerStreamRangeReader(begin, end, this._msgHandler);\n      this._rangeRequestReaders.push(reader);\n      return reader;\n    },\n    cancelAllRequests: function cancelAllRequests(reason) {\n      if (this._fullRequestReader) {\n        this._fullRequestReader.cancel(reason);\n      }\n      var readers = this._rangeRequestReaders.slice(0);\n      readers.forEach(function (reader) {\n        reader.cancel(reason);\n      });\n    }\n  };\n  function PDFWorkerStreamReader(msgHandler) {\n    var _this = this;\n\n    this._msgHandler = msgHandler;\n    this._contentLength = null;\n    this._isRangeSupported = false;\n    this._isStreamingSupported = false;\n    var readableStream = this._msgHandler.sendWithStream('GetReader');\n    this._reader = readableStream.getReader();\n    this._headersReady = this._msgHandler.sendWithPromise('ReaderHeadersReady').then(function (data) {\n      _this._isStreamingSupported = data.isStreamingSupported;\n      _this._isRangeSupported = data.isRangeSupported;\n      _this._contentLength = data.contentLength;\n    });\n  }\n  PDFWorkerStreamReader.prototype = {\n    get headersReady() {\n      return this._headersReady;\n    },\n    get contentLength() {\n      return this._contentLength;\n    },\n    get isStreamingSupported() {\n      return this._isStreamingSupported;\n    },\n    get isRangeSupported() {\n      return this._isRangeSupported;\n    },\n    read: function read() {\n      return this._reader.read().then(function (_ref) {\n        var value = _ref.value,\n            done = _ref.done;\n\n        if (done) {\n          return {\n            value: undefined,\n            done: true\n          };\n        }\n        return {\n          value: value.buffer,\n          done: false\n        };\n      });\n    },\n    cancel: function cancel(reason) {\n      this._reader.cancel(reason);\n    }\n  };\n  function PDFWorkerStreamRangeReader(begin, end, msgHandler) {\n    this._msgHandler = msgHandler;\n    this.onProgress = null;\n    var readableStream = this._msgHandler.sendWithStream('GetRangeReader', {\n      begin: begin,\n      end: end\n    });\n    this._reader = readableStream.getReader();\n  }\n  PDFWorkerStreamRangeReader.prototype = {\n    get isStreamingSupported() {\n      return false;\n    },\n    read: function read() {\n      return this._reader.read().then(function (_ref2) {\n        var value = _ref2.value,\n            done = _ref2.done;\n\n        if (done) {\n          return {\n            value: undefined,\n            done: true\n          };\n        }\n        return {\n          value: value.buffer,\n          done: false\n        };\n      });\n    },\n    cancel: function cancel(reason) {\n      this._reader.cancel(reason);\n    }\n  };\n  return PDFWorkerStream;\n}();\nvar WorkerMessageHandler = {\n  setup: function setup(handler, port) {\n    var testMessageProcessed = false;\n    handler.on('test', function wphSetupTest(data) {\n      if (testMessageProcessed) {\n        return;\n      }\n      testMessageProcessed = true;\n      if (!(data instanceof Uint8Array)) {\n        handler.send('test', 'main', false);\n        return;\n      }\n      var supportTransfers = data[0] === 255;\n      handler.postMessageTransfers = supportTransfers;\n      var xhr = new XMLHttpRequest();\n      var responseExists = 'response' in xhr;\n      try {\n        xhr.responseType;\n      } catch (e) {\n        responseExists = false;\n      }\n      if (!responseExists) {\n        handler.send('test', false);\n        return;\n      }\n      handler.send('test', {\n        supportTypedArray: true,\n        supportTransfers: supportTransfers\n      });\n    });\n    handler.on('configure', function wphConfigure(data) {\n      (0, _util.setVerbosityLevel)(data.verbosity);\n    });\n    handler.on('GetDocRequest', function wphSetupDoc(data) {\n      return WorkerMessageHandler.createDocumentHandler(data, port);\n    });\n  },\n  createDocumentHandler: function createDocumentHandler(docParams, port) {\n    var pdfManager;\n    var terminated = false;\n    var cancelXHRs = null;\n    var WorkerTasks = [];\n    var apiVersion = docParams.apiVersion;\n    var workerVersion = '1.10.100';\n    if (apiVersion !== null && apiVersion !== workerVersion) {\n      throw new Error('The API version \"' + apiVersion + '\" does not match ' + ('the Worker version \"' + workerVersion + '\".'));\n    }\n    var docId = docParams.docId;\n    var docBaseUrl = docParams.docBaseUrl;\n    var workerHandlerName = docParams.docId + '_worker';\n    var handler = new _util.MessageHandler(workerHandlerName, docId, port);\n    handler.postMessageTransfers = docParams.postMessageTransfers;\n    function ensureNotTerminated() {\n      if (terminated) {\n        throw new Error('Worker was terminated');\n      }\n    }\n    function startWorkerTask(task) {\n      WorkerTasks.push(task);\n    }\n    function finishWorkerTask(task) {\n      task.finish();\n      var i = WorkerTasks.indexOf(task);\n      WorkerTasks.splice(i, 1);\n    }\n    function loadDocument(recoveryMode) {\n      var loadDocumentCapability = (0, _util.createPromiseCapability)();\n      var parseSuccess = function parseSuccess() {\n        var numPagesPromise = pdfManager.ensureDoc('numPages');\n        var fingerprintPromise = pdfManager.ensureDoc('fingerprint');\n        var encryptedPromise = pdfManager.ensureXRef('encrypt');\n        Promise.all([numPagesPromise, fingerprintPromise, encryptedPromise]).then(function onDocReady(results) {\n          var doc = {\n            numPages: results[0],\n            fingerprint: results[1],\n            encrypted: !!results[2]\n          };\n          loadDocumentCapability.resolve(doc);\n        }, parseFailure);\n      };\n      var parseFailure = function parseFailure(e) {\n        loadDocumentCapability.reject(e);\n      };\n      pdfManager.ensureDoc('checkHeader', []).then(function () {\n        pdfManager.ensureDoc('parseStartXRef', []).then(function () {\n          pdfManager.ensureDoc('parse', [recoveryMode]).then(parseSuccess, parseFailure);\n        }, parseFailure);\n      }, parseFailure);\n      return loadDocumentCapability.promise;\n    }\n    function getPdfManager(data, evaluatorOptions) {\n      var pdfManagerCapability = (0, _util.createPromiseCapability)();\n      var pdfManager;\n      var source = data.source;\n      if (source.data) {\n        try {\n          pdfManager = new _pdf_manager.LocalPdfManager(docId, source.data, source.password, evaluatorOptions, docBaseUrl);\n          pdfManagerCapability.resolve(pdfManager);\n        } catch (ex) {\n          pdfManagerCapability.reject(ex);\n        }\n        return pdfManagerCapability.promise;\n      }\n      var pdfStream,\n          cachedChunks = [];\n      try {\n        pdfStream = new PDFWorkerStream(handler);\n      } catch (ex) {\n        pdfManagerCapability.reject(ex);\n        return pdfManagerCapability.promise;\n      }\n      var fullRequest = pdfStream.getFullReader();\n      fullRequest.headersReady.then(function () {\n        if (!fullRequest.isRangeSupported) {\n          return;\n        }\n        var disableAutoFetch = source.disableAutoFetch || fullRequest.isStreamingSupported;\n        pdfManager = new _pdf_manager.NetworkPdfManager(docId, pdfStream, {\n          msgHandler: handler,\n          url: source.url,\n          password: source.password,\n          length: fullRequest.contentLength,\n          disableAutoFetch: disableAutoFetch,\n          rangeChunkSize: source.rangeChunkSize\n        }, evaluatorOptions, docBaseUrl);\n        for (var i = 0; i < cachedChunks.length; i++) {\n          pdfManager.sendProgressiveData(cachedChunks[i]);\n        }\n        cachedChunks = [];\n        pdfManagerCapability.resolve(pdfManager);\n        cancelXHRs = null;\n      }).catch(function (reason) {\n        pdfManagerCapability.reject(reason);\n        cancelXHRs = null;\n      });\n      var loaded = 0;\n      var flushChunks = function flushChunks() {\n        var pdfFile = (0, _util.arraysToBytes)(cachedChunks);\n        if (source.length && pdfFile.length !== source.length) {\n          (0, _util.warn)('reported HTTP length is different from actual');\n        }\n        try {\n          pdfManager = new _pdf_manager.LocalPdfManager(docId, pdfFile, source.password, evaluatorOptions, docBaseUrl);\n          pdfManagerCapability.resolve(pdfManager);\n        } catch (ex) {\n          pdfManagerCapability.reject(ex);\n        }\n        cachedChunks = [];\n      };\n      var readPromise = new Promise(function (resolve, reject) {\n        var readChunk = function readChunk(chunk) {\n          try {\n            ensureNotTerminated();\n            if (chunk.done) {\n              if (!pdfManager) {\n                flushChunks();\n              }\n              cancelXHRs = null;\n              return;\n            }\n            var data = chunk.value;\n            loaded += (0, _util.arrayByteLength)(data);\n            if (!fullRequest.isStreamingSupported) {\n              handler.send('DocProgress', {\n                loaded: loaded,\n                total: Math.max(loaded, fullRequest.contentLength || 0)\n              });\n            }\n            if (pdfManager) {\n              pdfManager.sendProgressiveData(data);\n            } else {\n              cachedChunks.push(data);\n            }\n            fullRequest.read().then(readChunk, reject);\n          } catch (e) {\n            reject(e);\n          }\n        };\n        fullRequest.read().then(readChunk, reject);\n      });\n      readPromise.catch(function (e) {\n        pdfManagerCapability.reject(e);\n        cancelXHRs = null;\n      });\n      cancelXHRs = function cancelXHRs() {\n        pdfStream.cancelAllRequests('abort');\n      };\n      return pdfManagerCapability.promise;\n    }\n    function setupDoc(data) {\n      function onSuccess(doc) {\n        ensureNotTerminated();\n        handler.send('GetDoc', { pdfInfo: doc });\n      }\n      function onFailure(e) {\n        ensureNotTerminated();\n        if (e instanceof _util.PasswordException) {\n          var task = new WorkerTask('PasswordException: response ' + e.code);\n          startWorkerTask(task);\n          handler.sendWithPromise('PasswordRequest', e).then(function (data) {\n            finishWorkerTask(task);\n            pdfManager.updatePassword(data.password);\n            pdfManagerReady();\n          }).catch(function (ex) {\n            finishWorkerTask(task);\n            handler.send('PasswordException', ex);\n          }.bind(null, e));\n        } else if (e instanceof _util.InvalidPDFException) {\n          handler.send('InvalidPDF', e);\n        } else if (e instanceof _util.MissingPDFException) {\n          handler.send('MissingPDF', e);\n        } else if (e instanceof _util.UnexpectedResponseException) {\n          handler.send('UnexpectedResponse', e);\n        } else {\n          handler.send('UnknownError', new _util.UnknownErrorException(e.message, e.toString()));\n        }\n      }\n      function pdfManagerReady() {\n        ensureNotTerminated();\n        loadDocument(false).then(onSuccess, function loadFailure(ex) {\n          ensureNotTerminated();\n          if (!(ex instanceof _util.XRefParseException)) {\n            onFailure(ex);\n            return;\n          }\n          pdfManager.requestLoadedStream();\n          pdfManager.onLoadedStream().then(function () {\n            ensureNotTerminated();\n            loadDocument(true).then(onSuccess, onFailure);\n          });\n        }, onFailure);\n      }\n      ensureNotTerminated();\n      var evaluatorOptions = {\n        forceDataSchema: data.disableCreateObjectURL,\n        maxImageSize: data.maxImageSize === undefined ? -1 : data.maxImageSize,\n        disableFontFace: data.disableFontFace,\n        nativeImageDecoderSupport: data.nativeImageDecoderSupport,\n        ignoreErrors: data.ignoreErrors,\n        isEvalSupported: data.isEvalSupported\n      };\n      getPdfManager(data, evaluatorOptions).then(function (newPdfManager) {\n        if (terminated) {\n          newPdfManager.terminate();\n          throw new Error('Worker was terminated');\n        }\n        pdfManager = newPdfManager;\n        handler.send('PDFManagerReady', null);\n        pdfManager.onLoadedStream().then(function (stream) {\n          handler.send('DataLoaded', { length: stream.bytes.byteLength });\n        });\n      }).then(pdfManagerReady, onFailure);\n    }\n    handler.on('GetPage', function wphSetupGetPage(data) {\n      return pdfManager.getPage(data.pageIndex).then(function (page) {\n        var rotatePromise = pdfManager.ensure(page, 'rotate');\n        var refPromise = pdfManager.ensure(page, 'ref');\n        var userUnitPromise = pdfManager.ensure(page, 'userUnit');\n        var viewPromise = pdfManager.ensure(page, 'view');\n        return Promise.all([rotatePromise, refPromise, userUnitPromise, viewPromise]).then(function (results) {\n          return {\n            rotate: results[0],\n            ref: results[1],\n            userUnit: results[2],\n            view: results[3]\n          };\n        });\n      });\n    });\n    handler.on('GetPageIndex', function wphSetupGetPageIndex(data) {\n      var ref = new _primitives.Ref(data.ref.num, data.ref.gen);\n      var catalog = pdfManager.pdfDocument.catalog;\n      return catalog.getPageIndex(ref);\n    });\n    handler.on('GetDestinations', function wphSetupGetDestinations(data) {\n      return pdfManager.ensureCatalog('destinations');\n    });\n    handler.on('GetDestination', function wphSetupGetDestination(data) {\n      return pdfManager.ensureCatalog('getDestination', [data.id]);\n    });\n    handler.on('GetPageLabels', function wphSetupGetPageLabels(data) {\n      return pdfManager.ensureCatalog('pageLabels');\n    });\n    handler.on('GetPageMode', function wphSetupGetPageMode(data) {\n      return pdfManager.ensureCatalog('pageMode');\n    });\n    handler.on('GetAttachments', function wphSetupGetAttachments(data) {\n      return pdfManager.ensureCatalog('attachments');\n    });\n    handler.on('GetJavaScript', function wphSetupGetJavaScript(data) {\n      return pdfManager.ensureCatalog('javaScript');\n    });\n    handler.on('GetOutline', function wphSetupGetOutline(data) {\n      return pdfManager.ensureCatalog('documentOutline');\n    });\n    handler.on('GetMetadata', function wphSetupGetMetadata(data) {\n      return Promise.all([pdfManager.ensureDoc('documentInfo'), pdfManager.ensureCatalog('metadata')]);\n    });\n    handler.on('GetData', function wphSetupGetData(data) {\n      pdfManager.requestLoadedStream();\n      return pdfManager.onLoadedStream().then(function (stream) {\n        return stream.bytes;\n      });\n    });\n    handler.on('GetStats', function wphSetupGetStats(data) {\n      return pdfManager.pdfDocument.xref.stats;\n    });\n    handler.on('GetAnnotations', function wphSetupGetAnnotations(data) {\n      return pdfManager.getPage(data.pageIndex).then(function (page) {\n        return pdfManager.ensure(page, 'getAnnotationsData', [data.intent]);\n      });\n    });\n    handler.on('RenderPageRequest', function wphSetupRenderPage(data) {\n      var pageIndex = data.pageIndex;\n      pdfManager.getPage(pageIndex).then(function (page) {\n        var task = new WorkerTask('RenderPageRequest: page ' + pageIndex);\n        startWorkerTask(task);\n        var pageNum = pageIndex + 1;\n        var start = Date.now();\n        page.getOperatorList({\n          handler: handler,\n          task: task,\n          intent: data.intent,\n          renderInteractiveForms: data.renderInteractiveForms\n        }).then(function (operatorList) {\n          finishWorkerTask(task);\n          (0, _util.info)('page=' + pageNum + ' - getOperatorList: time=' + (Date.now() - start) + 'ms, len=' + operatorList.totalLength);\n        }, function (e) {\n          finishWorkerTask(task);\n          if (task.terminated) {\n            return;\n          }\n          handler.send('UnsupportedFeature', { featureId: _util.UNSUPPORTED_FEATURES.unknown });\n          var minimumStackMessage = 'worker.js: while trying to getPage() and getOperatorList()';\n          var wrappedException;\n          if (typeof e === 'string') {\n            wrappedException = {\n              message: e,\n              stack: minimumStackMessage\n            };\n          } else if ((typeof e === 'undefined' ? 'undefined' : _typeof(e)) === 'object') {\n            wrappedException = {\n              message: e.message || e.toString(),\n              stack: e.stack || minimumStackMessage\n            };\n          } else {\n            wrappedException = {\n              message: 'Unknown exception type: ' + (typeof e === 'undefined' ? 'undefined' : _typeof(e)),\n              stack: minimumStackMessage\n            };\n          }\n          handler.send('PageError', {\n            pageNum: pageNum,\n            error: wrappedException,\n            intent: data.intent\n          });\n        });\n      });\n    }, this);\n    handler.on('GetTextContent', function wphExtractText(data, sink) {\n      var pageIndex = data.pageIndex;\n      sink.onPull = function (desiredSize) {};\n      sink.onCancel = function (reason) {};\n      pdfManager.getPage(pageIndex).then(function (page) {\n        var task = new WorkerTask('GetTextContent: page ' + pageIndex);\n        startWorkerTask(task);\n        var pageNum = pageIndex + 1;\n        var start = Date.now();\n        page.extractTextContent({\n          handler: handler,\n          task: task,\n          sink: sink,\n          normalizeWhitespace: data.normalizeWhitespace,\n          combineTextItems: data.combineTextItems\n        }).then(function () {\n          finishWorkerTask(task);\n          (0, _util.info)('text indexing: page=' + pageNum + ' - time=' + (Date.now() - start) + 'ms');\n          sink.close();\n        }, function (reason) {\n          finishWorkerTask(task);\n          if (task.terminated) {\n            return;\n          }\n          sink.error(reason);\n          throw reason;\n        });\n      });\n    });\n    handler.on('Cleanup', function wphCleanup(data) {\n      return pdfManager.cleanup();\n    });\n    handler.on('Terminate', function wphTerminate(data) {\n      terminated = true;\n      if (pdfManager) {\n        pdfManager.terminate();\n        pdfManager = null;\n      }\n      if (cancelXHRs) {\n        cancelXHRs();\n      }\n      var waitOn = [];\n      WorkerTasks.forEach(function (task) {\n        waitOn.push(task.finished);\n        task.terminate();\n      });\n      return Promise.all(waitOn).then(function () {\n        handler.destroy();\n        handler = null;\n      });\n    });\n    handler.on('Ready', function wphReady(data) {\n      setupDoc(docParams);\n      docParams = null;\n    });\n    return workerHandlerName;\n  },\n  initializeFromPort: function initializeFromPort(port) {\n    var handler = new _util.MessageHandler('worker', 'main', port);\n    WorkerMessageHandler.setup(handler, port);\n    handler.send('ready', null);\n  }\n};\nfunction isMessagePort(maybePort) {\n  return typeof maybePort.postMessage === 'function' && 'onmessage' in maybePort;\n}\nif (typeof window === 'undefined' && !(0, _util.isNodeJS)() && typeof self !== 'undefined' && isMessagePort(self)) {\n  WorkerMessageHandler.initializeFromPort(self);\n}\nexports.WorkerTask = WorkerTask;\nexports.WorkerMessageHandler = WorkerMessageHandler;\n\n/***/ }),\n/* 141 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.NetworkPdfManager = exports.LocalPdfManager = undefined;\n\nvar _util = __w_pdfjs_require__(0);\n\nvar _chunked_stream = __w_pdfjs_require__(78);\n\nvar _document = __w_pdfjs_require__(142);\n\nvar _stream = __w_pdfjs_require__(5);\n\nvar BasePdfManager = function BasePdfManagerClosure() {\n  function BasePdfManager() {\n    throw new Error('Cannot initialize BaseManagerManager');\n  }\n  BasePdfManager.prototype = {\n    get docId() {\n      return this._docId;\n    },\n    get password() {\n      return this._password;\n    },\n    get docBaseUrl() {\n      var docBaseUrl = null;\n      if (this._docBaseUrl) {\n        var absoluteUrl = (0, _util.createValidAbsoluteUrl)(this._docBaseUrl);\n        if (absoluteUrl) {\n          docBaseUrl = absoluteUrl.href;\n        } else {\n          (0, _util.warn)('Invalid absolute docBaseUrl: \"' + this._docBaseUrl + '\".');\n        }\n      }\n      return (0, _util.shadow)(this, 'docBaseUrl', docBaseUrl);\n    },\n    onLoadedStream: function BasePdfManager_onLoadedStream() {\n      throw new _util.NotImplementedException();\n    },\n    ensureDoc: function BasePdfManager_ensureDoc(prop, args) {\n      return this.ensure(this.pdfDocument, prop, args);\n    },\n    ensureXRef: function BasePdfManager_ensureXRef(prop, args) {\n      return this.ensure(this.pdfDocument.xref, prop, args);\n    },\n    ensureCatalog: function BasePdfManager_ensureCatalog(prop, args) {\n      return this.ensure(this.pdfDocument.catalog, prop, args);\n    },\n    getPage: function BasePdfManager_getPage(pageIndex) {\n      return this.pdfDocument.getPage(pageIndex);\n    },\n    cleanup: function BasePdfManager_cleanup() {\n      return this.pdfDocument.cleanup();\n    },\n    ensure: function BasePdfManager_ensure(obj, prop, args) {\n      return new _util.NotImplementedException();\n    },\n    requestRange: function BasePdfManager_requestRange(begin, end) {\n      return new _util.NotImplementedException();\n    },\n    requestLoadedStream: function BasePdfManager_requestLoadedStream() {\n      return new _util.NotImplementedException();\n    },\n    sendProgressiveData: function BasePdfManager_sendProgressiveData(chunk) {\n      return new _util.NotImplementedException();\n    },\n    updatePassword: function BasePdfManager_updatePassword(password) {\n      this._password = password;\n    },\n    terminate: function BasePdfManager_terminate() {\n      return new _util.NotImplementedException();\n    }\n  };\n  return BasePdfManager;\n}();\nvar LocalPdfManager = function LocalPdfManagerClosure() {\n  function LocalPdfManager(docId, data, password, evaluatorOptions, docBaseUrl) {\n    this._docId = docId;\n    this._password = password;\n    this._docBaseUrl = docBaseUrl;\n    this.evaluatorOptions = evaluatorOptions;\n    var stream = new _stream.Stream(data);\n    this.pdfDocument = new _document.PDFDocument(this, stream);\n    this._loadedStreamCapability = (0, _util.createPromiseCapability)();\n    this._loadedStreamCapability.resolve(stream);\n  }\n  _util.Util.inherit(LocalPdfManager, BasePdfManager, {\n    ensure: function LocalPdfManager_ensure(obj, prop, args) {\n      return new Promise(function (resolve, reject) {\n        try {\n          var value = obj[prop];\n          var result;\n          if (typeof value === 'function') {\n            result = value.apply(obj, args);\n          } else {\n            result = value;\n          }\n          resolve(result);\n        } catch (e) {\n          reject(e);\n        }\n      });\n    },\n    requestRange: function LocalPdfManager_requestRange(begin, end) {\n      return Promise.resolve();\n    },\n    requestLoadedStream: function LocalPdfManager_requestLoadedStream() {},\n    onLoadedStream: function LocalPdfManager_onLoadedStream() {\n      return this._loadedStreamCapability.promise;\n    },\n    terminate: function LocalPdfManager_terminate() {}\n  });\n  return LocalPdfManager;\n}();\nvar NetworkPdfManager = function NetworkPdfManagerClosure() {\n  function NetworkPdfManager(docId, pdfNetworkStream, args, evaluatorOptions, docBaseUrl) {\n    this._docId = docId;\n    this._password = args.password;\n    this._docBaseUrl = docBaseUrl;\n    this.msgHandler = args.msgHandler;\n    this.evaluatorOptions = evaluatorOptions;\n    var params = {\n      msgHandler: args.msgHandler,\n      url: args.url,\n      length: args.length,\n      disableAutoFetch: args.disableAutoFetch,\n      rangeChunkSize: args.rangeChunkSize\n    };\n    this.streamManager = new _chunked_stream.ChunkedStreamManager(pdfNetworkStream, params);\n    this.pdfDocument = new _document.PDFDocument(this, this.streamManager.getStream());\n  }\n  _util.Util.inherit(NetworkPdfManager, BasePdfManager, {\n    ensure: function NetworkPdfManager_ensure(obj, prop, args) {\n      var pdfManager = this;\n      return new Promise(function (resolve, reject) {\n        function ensureHelper() {\n          try {\n            var result;\n            var value = obj[prop];\n            if (typeof value === 'function') {\n              result = value.apply(obj, args);\n            } else {\n              result = value;\n            }\n            resolve(result);\n          } catch (e) {\n            if (!(e instanceof _util.MissingDataException)) {\n              reject(e);\n              return;\n            }\n            pdfManager.streamManager.requestRange(e.begin, e.end).then(ensureHelper, reject);\n          }\n        }\n        ensureHelper();\n      });\n    },\n    requestRange: function NetworkPdfManager_requestRange(begin, end) {\n      return this.streamManager.requestRange(begin, end);\n    },\n    requestLoadedStream: function NetworkPdfManager_requestLoadedStream() {\n      this.streamManager.requestAllChunks();\n    },\n    sendProgressiveData: function NetworkPdfManager_sendProgressiveData(chunk) {\n      this.streamManager.onReceiveData({ chunk: chunk });\n    },\n    onLoadedStream: function NetworkPdfManager_onLoadedStream() {\n      return this.streamManager.onLoadedStream();\n    },\n    terminate: function NetworkPdfManager_terminate() {\n      this.streamManager.abort();\n    }\n  });\n  return NetworkPdfManager;\n}();\nexports.LocalPdfManager = LocalPdfManager;\nexports.NetworkPdfManager = NetworkPdfManager;\n\n/***/ }),\n/* 142 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.PDFDocument = exports.Page = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _obj = __w_pdfjs_require__(79);\n\nvar _primitives = __w_pdfjs_require__(2);\n\nvar _util = __w_pdfjs_require__(0);\n\nvar _stream = __w_pdfjs_require__(5);\n\nvar _evaluator = __w_pdfjs_require__(83);\n\nvar _annotation = __w_pdfjs_require__(159);\n\nvar _crypto = __w_pdfjs_require__(82);\n\nvar _parser = __w_pdfjs_require__(36);\n\nvar _function = __w_pdfjs_require__(87);\n\nvar Page = function PageClosure() {\n  var DEFAULT_USER_UNIT = 1.0;\n  var LETTER_SIZE_MEDIABOX = [0, 0, 612, 792];\n  function isAnnotationRenderable(annotation, intent) {\n    return intent === 'display' && annotation.viewable || intent === 'print' && annotation.printable;\n  }\n  function Page(_ref) {\n    var pdfManager = _ref.pdfManager,\n        xref = _ref.xref,\n        pageIndex = _ref.pageIndex,\n        pageDict = _ref.pageDict,\n        ref = _ref.ref,\n        fontCache = _ref.fontCache,\n        builtInCMapCache = _ref.builtInCMapCache,\n        pdfFunctionFactory = _ref.pdfFunctionFactory;\n\n    this.pdfManager = pdfManager;\n    this.pageIndex = pageIndex;\n    this.pageDict = pageDict;\n    this.xref = xref;\n    this.ref = ref;\n    this.fontCache = fontCache;\n    this.builtInCMapCache = builtInCMapCache;\n    this.pdfFunctionFactory = pdfFunctionFactory;\n    this.evaluatorOptions = pdfManager.evaluatorOptions;\n    this.resourcesPromise = null;\n    var uniquePrefix = 'p' + this.pageIndex + '_';\n    var idCounters = { obj: 0 };\n    this.idFactory = {\n      createObjId: function createObjId() {\n        return uniquePrefix + ++idCounters.obj;\n      }\n    };\n  }\n  Page.prototype = {\n    getPageProp: function Page_getPageProp(key) {\n      return this.pageDict.get(key);\n    },\n    getInheritedPageProp: function Page_getInheritedPageProp(key, getArray) {\n      var dict = this.pageDict,\n          valueArray = null,\n          loopCount = 0;\n      var MAX_LOOP_COUNT = 100;\n      getArray = getArray || false;\n      while (dict) {\n        var value = getArray ? dict.getArray(key) : dict.get(key);\n        if (value !== undefined) {\n          if (!valueArray) {\n            valueArray = [];\n          }\n          valueArray.push(value);\n        }\n        if (++loopCount > MAX_LOOP_COUNT) {\n          (0, _util.warn)('getInheritedPageProp: maximum loop count exceeded for ' + key);\n          return valueArray ? valueArray[0] : undefined;\n        }\n        dict = dict.get('Parent');\n      }\n      if (!valueArray) {\n        return undefined;\n      }\n      if (valueArray.length === 1 || !(0, _primitives.isDict)(valueArray[0])) {\n        return valueArray[0];\n      }\n      return _primitives.Dict.merge(this.xref, valueArray);\n    },\n    get content() {\n      return this.getPageProp('Contents');\n    },\n    get resources() {\n      return (0, _util.shadow)(this, 'resources', this.getInheritedPageProp('Resources') || _primitives.Dict.empty);\n    },\n    get mediaBox() {\n      var mediaBox = this.getInheritedPageProp('MediaBox', true);\n      if (!Array.isArray(mediaBox) || mediaBox.length !== 4) {\n        return (0, _util.shadow)(this, 'mediaBox', LETTER_SIZE_MEDIABOX);\n      }\n      return (0, _util.shadow)(this, 'mediaBox', mediaBox);\n    },\n    get cropBox() {\n      var cropBox = this.getInheritedPageProp('CropBox', true);\n      if (!Array.isArray(cropBox) || cropBox.length !== 4) {\n        return (0, _util.shadow)(this, 'cropBox', this.mediaBox);\n      }\n      return (0, _util.shadow)(this, 'cropBox', cropBox);\n    },\n    get userUnit() {\n      var obj = this.getPageProp('UserUnit');\n      if (!(0, _util.isNum)(obj) || obj <= 0) {\n        obj = DEFAULT_USER_UNIT;\n      }\n      return (0, _util.shadow)(this, 'userUnit', obj);\n    },\n    get view() {\n      var mediaBox = this.mediaBox,\n          cropBox = this.cropBox;\n      if (mediaBox === cropBox) {\n        return (0, _util.shadow)(this, 'view', mediaBox);\n      }\n      var intersection = _util.Util.intersect(cropBox, mediaBox);\n      return (0, _util.shadow)(this, 'view', intersection || mediaBox);\n    },\n    get rotate() {\n      var rotate = this.getInheritedPageProp('Rotate') || 0;\n      if (rotate % 90 !== 0) {\n        rotate = 0;\n      } else if (rotate >= 360) {\n        rotate = rotate % 360;\n      } else if (rotate < 0) {\n        rotate = (rotate % 360 + 360) % 360;\n      }\n      return (0, _util.shadow)(this, 'rotate', rotate);\n    },\n    getContentStream: function Page_getContentStream() {\n      var content = this.content;\n      var stream;\n      if (Array.isArray(content)) {\n        var xref = this.xref;\n        var i,\n            n = content.length;\n        var streams = [];\n        for (i = 0; i < n; ++i) {\n          streams.push(xref.fetchIfRef(content[i]));\n        }\n        stream = new _stream.StreamsSequenceStream(streams);\n      } else if ((0, _primitives.isStream)(content)) {\n        stream = content;\n      } else {\n        stream = new _stream.NullStream();\n      }\n      return stream;\n    },\n    loadResources: function Page_loadResources(keys) {\n      var _this = this;\n\n      if (!this.resourcesPromise) {\n        this.resourcesPromise = this.pdfManager.ensure(this, 'resources');\n      }\n      return this.resourcesPromise.then(function () {\n        var objectLoader = new _obj.ObjectLoader(_this.resources, keys, _this.xref);\n        return objectLoader.load();\n      });\n    },\n    getOperatorList: function getOperatorList(_ref2) {\n      var _this2 = this;\n\n      var handler = _ref2.handler,\n          task = _ref2.task,\n          intent = _ref2.intent,\n          renderInteractiveForms = _ref2.renderInteractiveForms;\n\n      var contentStreamPromise = this.pdfManager.ensure(this, 'getContentStream');\n      var resourcesPromise = this.loadResources(['ExtGState', 'ColorSpace', 'Pattern', 'Shading', 'XObject', 'Font']);\n      var partialEvaluator = new _evaluator.PartialEvaluator({\n        pdfManager: this.pdfManager,\n        xref: this.xref,\n        handler: handler,\n        pageIndex: this.pageIndex,\n        idFactory: this.idFactory,\n        fontCache: this.fontCache,\n        builtInCMapCache: this.builtInCMapCache,\n        options: this.evaluatorOptions,\n        pdfFunctionFactory: this.pdfFunctionFactory\n      });\n      var dataPromises = Promise.all([contentStreamPromise, resourcesPromise]);\n      var pageListPromise = dataPromises.then(function (_ref3) {\n        var _ref4 = _slicedToArray(_ref3, 1),\n            contentStream = _ref4[0];\n\n        var opList = new _evaluator.OperatorList(intent, handler, _this2.pageIndex);\n        handler.send('StartRenderPage', {\n          transparency: partialEvaluator.hasBlendModes(_this2.resources),\n          pageIndex: _this2.pageIndex,\n          intent: intent\n        });\n        return partialEvaluator.getOperatorList({\n          stream: contentStream,\n          task: task,\n          resources: _this2.resources,\n          operatorList: opList\n        }).then(function () {\n          return opList;\n        });\n      });\n      var annotationsPromise = this.pdfManager.ensure(this, 'annotations');\n      return Promise.all([pageListPromise, annotationsPromise]).then(function (_ref5) {\n        var _ref6 = _slicedToArray(_ref5, 2),\n            pageOpList = _ref6[0],\n            annotations = _ref6[1];\n\n        if (annotations.length === 0) {\n          pageOpList.flush(true);\n          return pageOpList;\n        }\n        var i,\n            ii,\n            opListPromises = [];\n        for (i = 0, ii = annotations.length; i < ii; i++) {\n          if (isAnnotationRenderable(annotations[i], intent)) {\n            opListPromises.push(annotations[i].getOperatorList(partialEvaluator, task, renderInteractiveForms));\n          }\n        }\n        return Promise.all(opListPromises).then(function (opLists) {\n          pageOpList.addOp(_util.OPS.beginAnnotations, []);\n          for (i = 0, ii = opLists.length; i < ii; i++) {\n            pageOpList.addOpList(opLists[i]);\n          }\n          pageOpList.addOp(_util.OPS.endAnnotations, []);\n          pageOpList.flush(true);\n          return pageOpList;\n        });\n      });\n    },\n    extractTextContent: function extractTextContent(_ref7) {\n      var _this3 = this;\n\n      var handler = _ref7.handler,\n          task = _ref7.task,\n          normalizeWhitespace = _ref7.normalizeWhitespace,\n          sink = _ref7.sink,\n          combineTextItems = _ref7.combineTextItems;\n\n      var contentStreamPromise = this.pdfManager.ensure(this, 'getContentStream');\n      var resourcesPromise = this.loadResources(['ExtGState', 'XObject', 'Font']);\n      var dataPromises = Promise.all([contentStreamPromise, resourcesPromise]);\n      return dataPromises.then(function (_ref8) {\n        var _ref9 = _slicedToArray(_ref8, 1),\n            contentStream = _ref9[0];\n\n        var partialEvaluator = new _evaluator.PartialEvaluator({\n          pdfManager: _this3.pdfManager,\n          xref: _this3.xref,\n          handler: handler,\n          pageIndex: _this3.pageIndex,\n          idFactory: _this3.idFactory,\n          fontCache: _this3.fontCache,\n          builtInCMapCache: _this3.builtInCMapCache,\n          options: _this3.evaluatorOptions,\n          pdfFunctionFactory: _this3.pdfFunctionFactory\n        });\n        return partialEvaluator.getTextContent({\n          stream: contentStream,\n          task: task,\n          resources: _this3.resources,\n          normalizeWhitespace: normalizeWhitespace,\n          combineTextItems: combineTextItems,\n          sink: sink\n        });\n      });\n    },\n\n    getAnnotationsData: function Page_getAnnotationsData(intent) {\n      var annotations = this.annotations;\n      var annotationsData = [];\n      for (var i = 0, n = annotations.length; i < n; ++i) {\n        if (!intent || isAnnotationRenderable(annotations[i], intent)) {\n          annotationsData.push(annotations[i].data);\n        }\n      }\n      return annotationsData;\n    },\n    get annotations() {\n      var annotations = [];\n      var annotationRefs = this.getInheritedPageProp('Annots') || [];\n      for (var i = 0, n = annotationRefs.length; i < n; ++i) {\n        var annotationRef = annotationRefs[i];\n        var annotation = _annotation.AnnotationFactory.create(this.xref, annotationRef, this.pdfManager, this.idFactory);\n        if (annotation) {\n          annotations.push(annotation);\n        }\n      }\n      return (0, _util.shadow)(this, 'annotations', annotations);\n    }\n  };\n  return Page;\n}();\nvar PDFDocument = function PDFDocumentClosure() {\n  var FINGERPRINT_FIRST_BYTES = 1024;\n  var EMPTY_FINGERPRINT = '\\x00\\x00\\x00\\x00\\x00\\x00\\x00' + '\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00';\n  function PDFDocument(pdfManager, arg) {\n    var stream;\n    if ((0, _primitives.isStream)(arg)) {\n      stream = arg;\n    } else if ((0, _util.isArrayBuffer)(arg)) {\n      stream = new _stream.Stream(arg);\n    } else {\n      throw new Error('PDFDocument: Unknown argument type');\n    }\n    if (stream.length <= 0) {\n      throw new Error('PDFDocument: stream must have data');\n    }\n    this.pdfManager = pdfManager;\n    this.stream = stream;\n    this.xref = new _obj.XRef(stream, pdfManager);\n    var evaluatorOptions = pdfManager.evaluatorOptions;\n    this.pdfFunctionFactory = new _function.PDFFunctionFactory({\n      xref: this.xref,\n      isEvalSupported: evaluatorOptions.isEvalSupported\n    });\n  }\n  function find(stream, needle, limit, backwards) {\n    var pos = stream.pos;\n    var end = stream.end;\n    var strBuf = [];\n    if (pos + limit > end) {\n      limit = end - pos;\n    }\n    for (var n = 0; n < limit; ++n) {\n      strBuf.push(String.fromCharCode(stream.getByte()));\n    }\n    var str = strBuf.join('');\n    stream.pos = pos;\n    var index = backwards ? str.lastIndexOf(needle) : str.indexOf(needle);\n    if (index === -1) {\n      return false;\n    }\n    stream.pos += index;\n    return true;\n  }\n  var DocumentInfoValidators = {\n    get entries() {\n      return (0, _util.shadow)(this, 'entries', {\n        Title: _util.isString,\n        Author: _util.isString,\n        Subject: _util.isString,\n        Keywords: _util.isString,\n        Creator: _util.isString,\n        Producer: _util.isString,\n        CreationDate: _util.isString,\n        ModDate: _util.isString,\n        Trapped: _primitives.isName\n      });\n    }\n  };\n  PDFDocument.prototype = {\n    parse: function PDFDocument_parse(recoveryMode) {\n      this.setup(recoveryMode);\n      var version = this.catalog.catDict.get('Version');\n      if ((0, _primitives.isName)(version)) {\n        this.pdfFormatVersion = version.name;\n      }\n      try {\n        this.acroForm = this.catalog.catDict.get('AcroForm');\n        if (this.acroForm) {\n          this.xfa = this.acroForm.get('XFA');\n          var fields = this.acroForm.get('Fields');\n          if ((!fields || !Array.isArray(fields) || fields.length === 0) && !this.xfa) {\n            this.acroForm = null;\n          }\n        }\n      } catch (ex) {\n        if (ex instanceof _util.MissingDataException) {\n          throw ex;\n        }\n        (0, _util.info)('Something wrong with AcroForm entry');\n        this.acroForm = null;\n      }\n    },\n    get linearization() {\n      var linearization = null;\n      if (this.stream.length) {\n        try {\n          linearization = _parser.Linearization.create(this.stream);\n        } catch (err) {\n          if (err instanceof _util.MissingDataException) {\n            throw err;\n          }\n          (0, _util.info)(err);\n        }\n      }\n      return (0, _util.shadow)(this, 'linearization', linearization);\n    },\n    get startXRef() {\n      var stream = this.stream;\n      var startXRef = 0;\n      var linearization = this.linearization;\n      if (linearization) {\n        stream.reset();\n        if (find(stream, 'endobj', 1024)) {\n          startXRef = stream.pos + 6;\n        }\n      } else {\n        var step = 1024;\n        var found = false,\n            pos = stream.end;\n        while (!found && pos > 0) {\n          pos -= step - 'startxref'.length;\n          if (pos < 0) {\n            pos = 0;\n          }\n          stream.pos = pos;\n          found = find(stream, 'startxref', step, true);\n        }\n        if (found) {\n          stream.skip(9);\n          var ch;\n          do {\n            ch = stream.getByte();\n          } while ((0, _util.isSpace)(ch));\n          var str = '';\n          while (ch >= 0x20 && ch <= 0x39) {\n            str += String.fromCharCode(ch);\n            ch = stream.getByte();\n          }\n          startXRef = parseInt(str, 10);\n          if (isNaN(startXRef)) {\n            startXRef = 0;\n          }\n        }\n      }\n      return (0, _util.shadow)(this, 'startXRef', startXRef);\n    },\n    get mainXRefEntriesOffset() {\n      var mainXRefEntriesOffset = 0;\n      var linearization = this.linearization;\n      if (linearization) {\n        mainXRefEntriesOffset = linearization.mainXRefEntriesOffset;\n      }\n      return (0, _util.shadow)(this, 'mainXRefEntriesOffset', mainXRefEntriesOffset);\n    },\n    checkHeader: function PDFDocument_checkHeader() {\n      var stream = this.stream;\n      stream.reset();\n      if (find(stream, '%PDF-', 1024)) {\n        stream.moveStart();\n        var MAX_VERSION_LENGTH = 12;\n        var version = '',\n            ch;\n        while ((ch = stream.getByte()) > 0x20) {\n          if (version.length >= MAX_VERSION_LENGTH) {\n            break;\n          }\n          version += String.fromCharCode(ch);\n        }\n        if (!this.pdfFormatVersion) {\n          this.pdfFormatVersion = version.substring(5);\n        }\n        return;\n      }\n    },\n    parseStartXRef: function PDFDocument_parseStartXRef() {\n      var startXRef = this.startXRef;\n      this.xref.setStartXRef(startXRef);\n    },\n    setup: function PDFDocument_setup(recoveryMode) {\n      var _this4 = this;\n\n      this.xref.parse(recoveryMode);\n      var pageFactory = {\n        createPage: function createPage(pageIndex, dict, ref, fontCache, builtInCMapCache) {\n          return new Page({\n            pdfManager: _this4.pdfManager,\n            xref: _this4.xref,\n            pageIndex: pageIndex,\n            pageDict: dict,\n            ref: ref,\n            fontCache: fontCache,\n            builtInCMapCache: builtInCMapCache,\n            pdfFunctionFactory: _this4.pdfFunctionFactory\n          });\n        }\n      };\n      this.catalog = new _obj.Catalog(this.pdfManager, this.xref, pageFactory);\n    },\n    get numPages() {\n      var linearization = this.linearization;\n      var num = linearization ? linearization.numPages : this.catalog.numPages;\n      return (0, _util.shadow)(this, 'numPages', num);\n    },\n    get documentInfo() {\n      var docInfo = {\n        PDFFormatVersion: this.pdfFormatVersion,\n        IsAcroFormPresent: !!this.acroForm,\n        IsXFAPresent: !!this.xfa\n      };\n      var infoDict;\n      try {\n        infoDict = this.xref.trailer.get('Info');\n      } catch (err) {\n        if (err instanceof _util.MissingDataException) {\n          throw err;\n        }\n        (0, _util.info)('The document information dictionary is invalid.');\n      }\n      if (infoDict) {\n        var validEntries = DocumentInfoValidators.entries;\n        for (var key in validEntries) {\n          if (infoDict.has(key)) {\n            var value = infoDict.get(key);\n            if (validEntries[key](value)) {\n              docInfo[key] = typeof value !== 'string' ? value : (0, _util.stringToPDFString)(value);\n            } else {\n              (0, _util.info)('Bad value in document info for \"' + key + '\"');\n            }\n          }\n        }\n      }\n      return (0, _util.shadow)(this, 'documentInfo', docInfo);\n    },\n    get fingerprint() {\n      var xref = this.xref,\n          hash,\n          fileID = '';\n      var idArray = xref.trailer.get('ID');\n      if (Array.isArray(idArray) && idArray[0] && (0, _util.isString)(idArray[0]) && idArray[0] !== EMPTY_FINGERPRINT) {\n        hash = (0, _util.stringToBytes)(idArray[0]);\n      } else {\n        if (this.stream.ensureRange) {\n          this.stream.ensureRange(0, Math.min(FINGERPRINT_FIRST_BYTES, this.stream.end));\n        }\n        hash = (0, _crypto.calculateMD5)(this.stream.bytes.subarray(0, FINGERPRINT_FIRST_BYTES), 0, FINGERPRINT_FIRST_BYTES);\n      }\n      for (var i = 0, n = hash.length; i < n; i++) {\n        var hex = hash[i].toString(16);\n        fileID += hex.length === 1 ? '0' + hex : hex;\n      }\n      return (0, _util.shadow)(this, 'fingerprint', fileID);\n    },\n    getPage: function PDFDocument_getPage(pageIndex) {\n      return this.catalog.getPage(pageIndex);\n    },\n    cleanup: function PDFDocument_cleanup() {\n      return this.catalog.cleanup();\n    }\n  };\n  return PDFDocument;\n}();\nexports.Page = Page;\nexports.PDFDocument = PDFDocument;\n\n/***/ }),\n/* 143 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.JpegImage = undefined;\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 && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _util = __w_pdfjs_require__(0);\n\nvar JpegError = function JpegErrorClosure() {\n  function JpegError(msg) {\n    this.message = 'JPEG error: ' + msg;\n  }\n  JpegError.prototype = new Error();\n  JpegError.prototype.name = 'JpegError';\n  JpegError.constructor = JpegError;\n  return JpegError;\n}();\nvar JpegImage = function JpegImageClosure() {\n  var dctZigZag = new Uint8Array([0, 1, 8, 16, 9, 2, 3, 10, 17, 24, 32, 25, 18, 11, 4, 5, 12, 19, 26, 33, 40, 48, 41, 34, 27, 20, 13, 6, 7, 14, 21, 28, 35, 42, 49, 56, 57, 50, 43, 36, 29, 22, 15, 23, 30, 37, 44, 51, 58, 59, 52, 45, 38, 31, 39, 46, 53, 60, 61, 54, 47, 55, 62, 63]);\n  var dctCos1 = 4017;\n  var dctSin1 = 799;\n  var dctCos3 = 3406;\n  var dctSin3 = 2276;\n  var dctCos6 = 1567;\n  var dctSin6 = 3784;\n  var dctSqrt2 = 5793;\n  var dctSqrt1d2 = 2896;\n  function JpegImage() {\n    this.decodeTransform = null;\n    this.colorTransform = -1;\n  }\n  function buildHuffmanTable(codeLengths, values) {\n    var k = 0,\n        code = [],\n        i,\n        j,\n        length = 16;\n    while (length > 0 && !codeLengths[length - 1]) {\n      length--;\n    }\n    code.push({\n      children: [],\n      index: 0\n    });\n    var p = code[0],\n        q;\n    for (i = 0; i < length; i++) {\n      for (j = 0; j < codeLengths[i]; j++) {\n        p = code.pop();\n        p.children[p.index] = values[k];\n        while (p.index > 0) {\n          p = code.pop();\n        }\n        p.index++;\n        code.push(p);\n        while (code.length <= i) {\n          code.push(q = {\n            children: [],\n            index: 0\n          });\n          p.children[p.index] = q.children;\n          p = q;\n        }\n        k++;\n      }\n      if (i + 1 < length) {\n        code.push(q = {\n          children: [],\n          index: 0\n        });\n        p.children[p.index] = q.children;\n        p = q;\n      }\n    }\n    return code[0].children;\n  }\n  function getBlockBufferOffset(component, row, col) {\n    return 64 * ((component.blocksPerLine + 1) * row + col);\n  }\n  function decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, successivePrev, successive) {\n    var mcusPerLine = frame.mcusPerLine;\n    var progressive = frame.progressive;\n    var startOffset = offset,\n        bitsData = 0,\n        bitsCount = 0;\n    function readBit() {\n      if (bitsCount > 0) {\n        bitsCount--;\n        return bitsData >> bitsCount & 1;\n      }\n      bitsData = data[offset++];\n      if (bitsData === 0xFF) {\n        var nextByte = data[offset++];\n        if (nextByte) {\n          throw new JpegError('unexpected marker ' + (bitsData << 8 | nextByte).toString(16));\n        }\n      }\n      bitsCount = 7;\n      return bitsData >>> 7;\n    }\n    function decodeHuffman(tree) {\n      var node = tree;\n      while (true) {\n        node = node[readBit()];\n        if (typeof node === 'number') {\n          return node;\n        }\n        if ((typeof node === 'undefined' ? 'undefined' : _typeof(node)) !== 'object') {\n          throw new JpegError('invalid huffman sequence');\n        }\n      }\n    }\n    function receive(length) {\n      var n = 0;\n      while (length > 0) {\n        n = n << 1 | readBit();\n        length--;\n      }\n      return n;\n    }\n    function receiveAndExtend(length) {\n      if (length === 1) {\n        return readBit() === 1 ? 1 : -1;\n      }\n      var n = receive(length);\n      if (n >= 1 << length - 1) {\n        return n;\n      }\n      return n + (-1 << length) + 1;\n    }\n    function decodeBaseline(component, offset) {\n      var t = decodeHuffman(component.huffmanTableDC);\n      var diff = t === 0 ? 0 : receiveAndExtend(t);\n      component.blockData[offset] = component.pred += diff;\n      var k = 1;\n      while (k < 64) {\n        var rs = decodeHuffman(component.huffmanTableAC);\n        var s = rs & 15,\n            r = rs >> 4;\n        if (s === 0) {\n          if (r < 15) {\n            break;\n          }\n          k += 16;\n          continue;\n        }\n        k += r;\n        var z = dctZigZag[k];\n        component.blockData[offset + z] = receiveAndExtend(s);\n        k++;\n      }\n    }\n    function decodeDCFirst(component, offset) {\n      var t = decodeHuffman(component.huffmanTableDC);\n      var diff = t === 0 ? 0 : receiveAndExtend(t) << successive;\n      component.blockData[offset] = component.pred += diff;\n    }\n    function decodeDCSuccessive(component, offset) {\n      component.blockData[offset] |= readBit() << successive;\n    }\n    var eobrun = 0;\n    function decodeACFirst(component, offset) {\n      if (eobrun > 0) {\n        eobrun--;\n        return;\n      }\n      var k = spectralStart,\n          e = spectralEnd;\n      while (k <= e) {\n        var rs = decodeHuffman(component.huffmanTableAC);\n        var s = rs & 15,\n            r = rs >> 4;\n        if (s === 0) {\n          if (r < 15) {\n            eobrun = receive(r) + (1 << r) - 1;\n            break;\n          }\n          k += 16;\n          continue;\n        }\n        k += r;\n        var z = dctZigZag[k];\n        component.blockData[offset + z] = receiveAndExtend(s) * (1 << successive);\n        k++;\n      }\n    }\n    var successiveACState = 0,\n        successiveACNextValue;\n    function decodeACSuccessive(component, offset) {\n      var k = spectralStart;\n      var e = spectralEnd;\n      var r = 0;\n      var s;\n      var rs;\n      while (k <= e) {\n        var z = dctZigZag[k];\n        switch (successiveACState) {\n          case 0:\n            rs = decodeHuffman(component.huffmanTableAC);\n            s = rs & 15;\n            r = rs >> 4;\n            if (s === 0) {\n              if (r < 15) {\n                eobrun = receive(r) + (1 << r);\n                successiveACState = 4;\n              } else {\n                r = 16;\n                successiveACState = 1;\n              }\n            } else {\n              if (s !== 1) {\n                throw new JpegError('invalid ACn encoding');\n              }\n              successiveACNextValue = receiveAndExtend(s);\n              successiveACState = r ? 2 : 3;\n            }\n            continue;\n          case 1:\n          case 2:\n            if (component.blockData[offset + z]) {\n              component.blockData[offset + z] += readBit() << successive;\n            } else {\n              r--;\n              if (r === 0) {\n                successiveACState = successiveACState === 2 ? 3 : 0;\n              }\n            }\n            break;\n          case 3:\n            if (component.blockData[offset + z]) {\n              component.blockData[offset + z] += readBit() << successive;\n            } else {\n              component.blockData[offset + z] = successiveACNextValue << successive;\n              successiveACState = 0;\n            }\n            break;\n          case 4:\n            if (component.blockData[offset + z]) {\n              component.blockData[offset + z] += readBit() << successive;\n            }\n            break;\n        }\n        k++;\n      }\n      if (successiveACState === 4) {\n        eobrun--;\n        if (eobrun === 0) {\n          successiveACState = 0;\n        }\n      }\n    }\n    function decodeMcu(component, decode, mcu, row, col) {\n      var mcuRow = mcu / mcusPerLine | 0;\n      var mcuCol = mcu % mcusPerLine;\n      var blockRow = mcuRow * component.v + row;\n      var blockCol = mcuCol * component.h + col;\n      var offset = getBlockBufferOffset(component, blockRow, blockCol);\n      decode(component, offset);\n    }\n    function decodeBlock(component, decode, mcu) {\n      var blockRow = mcu / component.blocksPerLine | 0;\n      var blockCol = mcu % component.blocksPerLine;\n      var offset = getBlockBufferOffset(component, blockRow, blockCol);\n      decode(component, offset);\n    }\n    var componentsLength = components.length;\n    var component, i, j, k, n;\n    var decodeFn;\n    if (progressive) {\n      if (spectralStart === 0) {\n        decodeFn = successivePrev === 0 ? decodeDCFirst : decodeDCSuccessive;\n      } else {\n        decodeFn = successivePrev === 0 ? decodeACFirst : decodeACSuccessive;\n      }\n    } else {\n      decodeFn = decodeBaseline;\n    }\n    var mcu = 0,\n        fileMarker;\n    var mcuExpected;\n    if (componentsLength === 1) {\n      mcuExpected = components[0].blocksPerLine * components[0].blocksPerColumn;\n    } else {\n      mcuExpected = mcusPerLine * frame.mcusPerColumn;\n    }\n    var h, v;\n    while (mcu < mcuExpected) {\n      var mcuToRead = resetInterval ? Math.min(mcuExpected - mcu, resetInterval) : mcuExpected;\n      for (i = 0; i < componentsLength; i++) {\n        components[i].pred = 0;\n      }\n      eobrun = 0;\n      if (componentsLength === 1) {\n        component = components[0];\n        for (n = 0; n < mcuToRead; n++) {\n          decodeBlock(component, decodeFn, mcu);\n          mcu++;\n        }\n      } else {\n        for (n = 0; n < mcuToRead; n++) {\n          for (i = 0; i < componentsLength; i++) {\n            component = components[i];\n            h = component.h;\n            v = component.v;\n            for (j = 0; j < v; j++) {\n              for (k = 0; k < h; k++) {\n                decodeMcu(component, decodeFn, mcu, j, k);\n              }\n            }\n          }\n          mcu++;\n        }\n      }\n      bitsCount = 0;\n      fileMarker = findNextFileMarker(data, offset);\n      if (fileMarker && fileMarker.invalid) {\n        (0, _util.warn)('decodeScan - unexpected MCU data, next marker is: ' + fileMarker.invalid);\n        offset = fileMarker.offset;\n      }\n      var marker = fileMarker && fileMarker.marker;\n      if (!marker || marker <= 0xFF00) {\n        throw new JpegError('marker was not found');\n      }\n      if (marker >= 0xFFD0 && marker <= 0xFFD7) {\n        offset += 2;\n      } else {\n        break;\n      }\n    }\n    fileMarker = findNextFileMarker(data, offset);\n    if (fileMarker && fileMarker.invalid) {\n      (0, _util.warn)('decodeScan - unexpected Scan data, next marker is: ' + fileMarker.invalid);\n      offset = fileMarker.offset;\n    }\n    return offset - startOffset;\n  }\n  function quantizeAndInverse(component, blockBufferOffset, p) {\n    var qt = component.quantizationTable,\n        blockData = component.blockData;\n    var v0, v1, v2, v3, v4, v5, v6, v7;\n    var p0, p1, p2, p3, p4, p5, p6, p7;\n    var t;\n    if (!qt) {\n      throw new JpegError('missing required Quantization Table.');\n    }\n    for (var row = 0; row < 64; row += 8) {\n      p0 = blockData[blockBufferOffset + row];\n      p1 = blockData[blockBufferOffset + row + 1];\n      p2 = blockData[blockBufferOffset + row + 2];\n      p3 = blockData[blockBufferOffset + row + 3];\n      p4 = blockData[blockBufferOffset + row + 4];\n      p5 = blockData[blockBufferOffset + row + 5];\n      p6 = blockData[blockBufferOffset + row + 6];\n      p7 = blockData[blockBufferOffset + row + 7];\n      p0 *= qt[row];\n      if ((p1 | p2 | p3 | p4 | p5 | p6 | p7) === 0) {\n        t = dctSqrt2 * p0 + 512 >> 10;\n        p[row] = t;\n        p[row + 1] = t;\n        p[row + 2] = t;\n        p[row + 3] = t;\n        p[row + 4] = t;\n        p[row + 5] = t;\n        p[row + 6] = t;\n        p[row + 7] = t;\n        continue;\n      }\n      p1 *= qt[row + 1];\n      p2 *= qt[row + 2];\n      p3 *= qt[row + 3];\n      p4 *= qt[row + 4];\n      p5 *= qt[row + 5];\n      p6 *= qt[row + 6];\n      p7 *= qt[row + 7];\n      v0 = dctSqrt2 * p0 + 128 >> 8;\n      v1 = dctSqrt2 * p4 + 128 >> 8;\n      v2 = p2;\n      v3 = p6;\n      v4 = dctSqrt1d2 * (p1 - p7) + 128 >> 8;\n      v7 = dctSqrt1d2 * (p1 + p7) + 128 >> 8;\n      v5 = p3 << 4;\n      v6 = p5 << 4;\n      v0 = v0 + v1 + 1 >> 1;\n      v1 = v0 - v1;\n      t = v2 * dctSin6 + v3 * dctCos6 + 128 >> 8;\n      v2 = v2 * dctCos6 - v3 * dctSin6 + 128 >> 8;\n      v3 = t;\n      v4 = v4 + v6 + 1 >> 1;\n      v6 = v4 - v6;\n      v7 = v7 + v5 + 1 >> 1;\n      v5 = v7 - v5;\n      v0 = v0 + v3 + 1 >> 1;\n      v3 = v0 - v3;\n      v1 = v1 + v2 + 1 >> 1;\n      v2 = v1 - v2;\n      t = v4 * dctSin3 + v7 * dctCos3 + 2048 >> 12;\n      v4 = v4 * dctCos3 - v7 * dctSin3 + 2048 >> 12;\n      v7 = t;\n      t = v5 * dctSin1 + v6 * dctCos1 + 2048 >> 12;\n      v5 = v5 * dctCos1 - v6 * dctSin1 + 2048 >> 12;\n      v6 = t;\n      p[row] = v0 + v7;\n      p[row + 7] = v0 - v7;\n      p[row + 1] = v1 + v6;\n      p[row + 6] = v1 - v6;\n      p[row + 2] = v2 + v5;\n      p[row + 5] = v2 - v5;\n      p[row + 3] = v3 + v4;\n      p[row + 4] = v3 - v4;\n    }\n    for (var col = 0; col < 8; ++col) {\n      p0 = p[col];\n      p1 = p[col + 8];\n      p2 = p[col + 16];\n      p3 = p[col + 24];\n      p4 = p[col + 32];\n      p5 = p[col + 40];\n      p6 = p[col + 48];\n      p7 = p[col + 56];\n      if ((p1 | p2 | p3 | p4 | p5 | p6 | p7) === 0) {\n        t = dctSqrt2 * p0 + 8192 >> 14;\n        t = t < -2040 ? 0 : t >= 2024 ? 255 : t + 2056 >> 4;\n        blockData[blockBufferOffset + col] = t;\n        blockData[blockBufferOffset + col + 8] = t;\n        blockData[blockBufferOffset + col + 16] = t;\n        blockData[blockBufferOffset + col + 24] = t;\n        blockData[blockBufferOffset + col + 32] = t;\n        blockData[blockBufferOffset + col + 40] = t;\n        blockData[blockBufferOffset + col + 48] = t;\n        blockData[blockBufferOffset + col + 56] = t;\n        continue;\n      }\n      v0 = dctSqrt2 * p0 + 2048 >> 12;\n      v1 = dctSqrt2 * p4 + 2048 >> 12;\n      v2 = p2;\n      v3 = p6;\n      v4 = dctSqrt1d2 * (p1 - p7) + 2048 >> 12;\n      v7 = dctSqrt1d2 * (p1 + p7) + 2048 >> 12;\n      v5 = p3;\n      v6 = p5;\n      v0 = (v0 + v1 + 1 >> 1) + 4112;\n      v1 = v0 - v1;\n      t = v2 * dctSin6 + v3 * dctCos6 + 2048 >> 12;\n      v2 = v2 * dctCos6 - v3 * dctSin6 + 2048 >> 12;\n      v3 = t;\n      v4 = v4 + v6 + 1 >> 1;\n      v6 = v4 - v6;\n      v7 = v7 + v5 + 1 >> 1;\n      v5 = v7 - v5;\n      v0 = v0 + v3 + 1 >> 1;\n      v3 = v0 - v3;\n      v1 = v1 + v2 + 1 >> 1;\n      v2 = v1 - v2;\n      t = v4 * dctSin3 + v7 * dctCos3 + 2048 >> 12;\n      v4 = v4 * dctCos3 - v7 * dctSin3 + 2048 >> 12;\n      v7 = t;\n      t = v5 * dctSin1 + v6 * dctCos1 + 2048 >> 12;\n      v5 = v5 * dctCos1 - v6 * dctSin1 + 2048 >> 12;\n      v6 = t;\n      p0 = v0 + v7;\n      p7 = v0 - v7;\n      p1 = v1 + v6;\n      p6 = v1 - v6;\n      p2 = v2 + v5;\n      p5 = v2 - v5;\n      p3 = v3 + v4;\n      p4 = v3 - v4;\n      p0 = p0 < 16 ? 0 : p0 >= 4080 ? 255 : p0 >> 4;\n      p1 = p1 < 16 ? 0 : p1 >= 4080 ? 255 : p1 >> 4;\n      p2 = p2 < 16 ? 0 : p2 >= 4080 ? 255 : p2 >> 4;\n      p3 = p3 < 16 ? 0 : p3 >= 4080 ? 255 : p3 >> 4;\n      p4 = p4 < 16 ? 0 : p4 >= 4080 ? 255 : p4 >> 4;\n      p5 = p5 < 16 ? 0 : p5 >= 4080 ? 255 : p5 >> 4;\n      p6 = p6 < 16 ? 0 : p6 >= 4080 ? 255 : p6 >> 4;\n      p7 = p7 < 16 ? 0 : p7 >= 4080 ? 255 : p7 >> 4;\n      blockData[blockBufferOffset + col] = p0;\n      blockData[blockBufferOffset + col + 8] = p1;\n      blockData[blockBufferOffset + col + 16] = p2;\n      blockData[blockBufferOffset + col + 24] = p3;\n      blockData[blockBufferOffset + col + 32] = p4;\n      blockData[blockBufferOffset + col + 40] = p5;\n      blockData[blockBufferOffset + col + 48] = p6;\n      blockData[blockBufferOffset + col + 56] = p7;\n    }\n  }\n  function buildComponentData(frame, component) {\n    var blocksPerLine = component.blocksPerLine;\n    var blocksPerColumn = component.blocksPerColumn;\n    var computationBuffer = new Int16Array(64);\n    for (var blockRow = 0; blockRow < blocksPerColumn; blockRow++) {\n      for (var blockCol = 0; blockCol < blocksPerLine; blockCol++) {\n        var offset = getBlockBufferOffset(component, blockRow, blockCol);\n        quantizeAndInverse(component, offset, computationBuffer);\n      }\n    }\n    return component.blockData;\n  }\n  function findNextFileMarker(data, currentPos, startPos) {\n    function peekUint16(pos) {\n      return data[pos] << 8 | data[pos + 1];\n    }\n    var maxPos = data.length - 1;\n    var newPos = startPos < currentPos ? startPos : currentPos;\n    if (currentPos >= maxPos) {\n      return null;\n    }\n    var currentMarker = peekUint16(currentPos);\n    if (currentMarker >= 0xFFC0 && currentMarker <= 0xFFFE) {\n      return {\n        invalid: null,\n        marker: currentMarker,\n        offset: currentPos\n      };\n    }\n    var newMarker = peekUint16(newPos);\n    while (!(newMarker >= 0xFFC0 && newMarker <= 0xFFFE)) {\n      if (++newPos >= maxPos) {\n        return null;\n      }\n      newMarker = peekUint16(newPos);\n    }\n    return {\n      invalid: currentMarker.toString(16),\n      marker: newMarker,\n      offset: newPos\n    };\n  }\n  JpegImage.prototype = {\n    parse: function parse(data) {\n      function readUint16() {\n        var value = data[offset] << 8 | data[offset + 1];\n        offset += 2;\n        return value;\n      }\n      function readDataBlock() {\n        var length = readUint16();\n        var endOffset = offset + length - 2;\n        var fileMarker = findNextFileMarker(data, endOffset, offset);\n        if (fileMarker && fileMarker.invalid) {\n          (0, _util.warn)('readDataBlock - incorrect length, next marker is: ' + fileMarker.invalid);\n          endOffset = fileMarker.offset;\n        }\n        var array = data.subarray(offset, endOffset);\n        offset += array.length;\n        return array;\n      }\n      function prepareComponents(frame) {\n        var mcusPerLine = Math.ceil(frame.samplesPerLine / 8 / frame.maxH);\n        var mcusPerColumn = Math.ceil(frame.scanLines / 8 / frame.maxV);\n        for (var i = 0; i < frame.components.length; i++) {\n          component = frame.components[i];\n          var blocksPerLine = Math.ceil(Math.ceil(frame.samplesPerLine / 8) * component.h / frame.maxH);\n          var blocksPerColumn = Math.ceil(Math.ceil(frame.scanLines / 8) * component.v / frame.maxV);\n          var blocksPerLineForMcu = mcusPerLine * component.h;\n          var blocksPerColumnForMcu = mcusPerColumn * component.v;\n          var blocksBufferSize = 64 * blocksPerColumnForMcu * (blocksPerLineForMcu + 1);\n          component.blockData = new Int16Array(blocksBufferSize);\n          component.blocksPerLine = blocksPerLine;\n          component.blocksPerColumn = blocksPerColumn;\n        }\n        frame.mcusPerLine = mcusPerLine;\n        frame.mcusPerColumn = mcusPerColumn;\n      }\n      var offset = 0;\n      var jfif = null;\n      var adobe = null;\n      var frame, resetInterval;\n      var quantizationTables = [];\n      var huffmanTablesAC = [],\n          huffmanTablesDC = [];\n      var fileMarker = readUint16();\n      if (fileMarker !== 0xFFD8) {\n        throw new JpegError('SOI not found');\n      }\n      fileMarker = readUint16();\n      while (fileMarker !== 0xFFD9) {\n        var i, j, l;\n        switch (fileMarker) {\n          case 0xFFE0:\n          case 0xFFE1:\n          case 0xFFE2:\n          case 0xFFE3:\n          case 0xFFE4:\n          case 0xFFE5:\n          case 0xFFE6:\n          case 0xFFE7:\n          case 0xFFE8:\n          case 0xFFE9:\n          case 0xFFEA:\n          case 0xFFEB:\n          case 0xFFEC:\n          case 0xFFED:\n          case 0xFFEE:\n          case 0xFFEF:\n          case 0xFFFE:\n            var appData = readDataBlock();\n            if (fileMarker === 0xFFE0) {\n              if (appData[0] === 0x4A && appData[1] === 0x46 && appData[2] === 0x49 && appData[3] === 0x46 && appData[4] === 0) {\n                jfif = {\n                  version: {\n                    major: appData[5],\n                    minor: appData[6]\n                  },\n                  densityUnits: appData[7],\n                  xDensity: appData[8] << 8 | appData[9],\n                  yDensity: appData[10] << 8 | appData[11],\n                  thumbWidth: appData[12],\n                  thumbHeight: appData[13],\n                  thumbData: appData.subarray(14, 14 + 3 * appData[12] * appData[13])\n                };\n              }\n            }\n            if (fileMarker === 0xFFEE) {\n              if (appData[0] === 0x41 && appData[1] === 0x64 && appData[2] === 0x6F && appData[3] === 0x62 && appData[4] === 0x65) {\n                adobe = {\n                  version: appData[5] << 8 | appData[6],\n                  flags0: appData[7] << 8 | appData[8],\n                  flags1: appData[9] << 8 | appData[10],\n                  transformCode: appData[11]\n                };\n              }\n            }\n            break;\n          case 0xFFDB:\n            var quantizationTablesLength = readUint16();\n            var quantizationTablesEnd = quantizationTablesLength + offset - 2;\n            var z;\n            while (offset < quantizationTablesEnd) {\n              var quantizationTableSpec = data[offset++];\n              var tableData = new Uint16Array(64);\n              if (quantizationTableSpec >> 4 === 0) {\n                for (j = 0; j < 64; j++) {\n                  z = dctZigZag[j];\n                  tableData[z] = data[offset++];\n                }\n              } else if (quantizationTableSpec >> 4 === 1) {\n                for (j = 0; j < 64; j++) {\n                  z = dctZigZag[j];\n                  tableData[z] = readUint16();\n                }\n              } else {\n                throw new JpegError('DQT - invalid table spec');\n              }\n              quantizationTables[quantizationTableSpec & 15] = tableData;\n            }\n            break;\n          case 0xFFC0:\n          case 0xFFC1:\n          case 0xFFC2:\n            if (frame) {\n              throw new JpegError('Only single frame JPEGs supported');\n            }\n            readUint16();\n            frame = {};\n            frame.extended = fileMarker === 0xFFC1;\n            frame.progressive = fileMarker === 0xFFC2;\n            frame.precision = data[offset++];\n            frame.scanLines = readUint16();\n            frame.samplesPerLine = readUint16();\n            frame.components = [];\n            frame.componentIds = {};\n            var componentsCount = data[offset++],\n                componentId;\n            var maxH = 0,\n                maxV = 0;\n            for (i = 0; i < componentsCount; i++) {\n              componentId = data[offset];\n              var h = data[offset + 1] >> 4;\n              var v = data[offset + 1] & 15;\n              if (maxH < h) {\n                maxH = h;\n              }\n              if (maxV < v) {\n                maxV = v;\n              }\n              var qId = data[offset + 2];\n              l = frame.components.push({\n                h: h,\n                v: v,\n                quantizationId: qId,\n                quantizationTable: null\n              });\n              frame.componentIds[componentId] = l - 1;\n              offset += 3;\n            }\n            frame.maxH = maxH;\n            frame.maxV = maxV;\n            prepareComponents(frame);\n            break;\n          case 0xFFC4:\n            var huffmanLength = readUint16();\n            for (i = 2; i < huffmanLength;) {\n              var huffmanTableSpec = data[offset++];\n              var codeLengths = new Uint8Array(16);\n              var codeLengthSum = 0;\n              for (j = 0; j < 16; j++, offset++) {\n                codeLengthSum += codeLengths[j] = data[offset];\n              }\n              var huffmanValues = new Uint8Array(codeLengthSum);\n              for (j = 0; j < codeLengthSum; j++, offset++) {\n                huffmanValues[j] = data[offset];\n              }\n              i += 17 + codeLengthSum;\n              (huffmanTableSpec >> 4 === 0 ? huffmanTablesDC : huffmanTablesAC)[huffmanTableSpec & 15] = buildHuffmanTable(codeLengths, huffmanValues);\n            }\n            break;\n          case 0xFFDD:\n            readUint16();\n            resetInterval = readUint16();\n            break;\n          case 0xFFDA:\n            readUint16();\n            var selectorsCount = data[offset++];\n            var components = [],\n                component;\n            for (i = 0; i < selectorsCount; i++) {\n              var componentIndex = frame.componentIds[data[offset++]];\n              component = frame.components[componentIndex];\n              var tableSpec = data[offset++];\n              component.huffmanTableDC = huffmanTablesDC[tableSpec >> 4];\n              component.huffmanTableAC = huffmanTablesAC[tableSpec & 15];\n              components.push(component);\n            }\n            var spectralStart = data[offset++];\n            var spectralEnd = data[offset++];\n            var successiveApproximation = data[offset++];\n            var processed = decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, successiveApproximation >> 4, successiveApproximation & 15);\n            offset += processed;\n            break;\n          case 0xFFFF:\n            if (data[offset] !== 0xFF) {\n              offset--;\n            }\n            break;\n          default:\n            if (data[offset - 3] === 0xFF && data[offset - 2] >= 0xC0 && data[offset - 2] <= 0xFE) {\n              offset -= 3;\n              break;\n            }\n            throw new JpegError('unknown marker ' + fileMarker.toString(16));\n        }\n        fileMarker = readUint16();\n      }\n      this.width = frame.samplesPerLine;\n      this.height = frame.scanLines;\n      this.jfif = jfif;\n      this.adobe = adobe;\n      this.components = [];\n      for (i = 0; i < frame.components.length; i++) {\n        component = frame.components[i];\n        var quantizationTable = quantizationTables[component.quantizationId];\n        if (quantizationTable) {\n          component.quantizationTable = quantizationTable;\n        }\n        this.components.push({\n          output: buildComponentData(frame, component),\n          scaleX: component.h / frame.maxH,\n          scaleY: component.v / frame.maxV,\n          blocksPerLine: component.blocksPerLine,\n          blocksPerColumn: component.blocksPerColumn\n        });\n      }\n      this.numComponents = this.components.length;\n    },\n    _getLinearizedBlockData: function getLinearizedBlockData(width, height) {\n      var scaleX = this.width / width,\n          scaleY = this.height / height;\n      var component, componentScaleX, componentScaleY, blocksPerScanline;\n      var x, y, i, j, k;\n      var index;\n      var offset = 0;\n      var output;\n      var numComponents = this.components.length;\n      var dataLength = width * height * numComponents;\n      var data = new Uint8ClampedArray(dataLength);\n      var xScaleBlockOffset = new Uint32Array(width);\n      var mask3LSB = 0xfffffff8;\n      for (i = 0; i < numComponents; i++) {\n        component = this.components[i];\n        componentScaleX = component.scaleX * scaleX;\n        componentScaleY = component.scaleY * scaleY;\n        offset = i;\n        output = component.output;\n        blocksPerScanline = component.blocksPerLine + 1 << 3;\n        for (x = 0; x < width; x++) {\n          j = 0 | x * componentScaleX;\n          xScaleBlockOffset[x] = (j & mask3LSB) << 3 | j & 7;\n        }\n        for (y = 0; y < height; y++) {\n          j = 0 | y * componentScaleY;\n          index = blocksPerScanline * (j & mask3LSB) | (j & 7) << 3;\n          for (x = 0; x < width; x++) {\n            data[offset] = output[index + xScaleBlockOffset[x]];\n            offset += numComponents;\n          }\n        }\n      }\n      var transform = this.decodeTransform;\n      if (transform) {\n        for (i = 0; i < dataLength;) {\n          for (j = 0, k = 0; j < numComponents; j++, i++, k += 2) {\n            data[i] = (data[i] * transform[k] >> 8) + transform[k + 1];\n          }\n        }\n      }\n      return data;\n    },\n    _isColorConversionNeeded: function _isColorConversionNeeded() {\n      if (this.adobe) {\n        return !!this.adobe.transformCode;\n      }\n      if (this.numComponents === 3) {\n        if (this.colorTransform === 0) {\n          return false;\n        }\n        return true;\n      }\n      if (this.colorTransform === 1) {\n        return true;\n      }\n      return false;\n    },\n\n    _convertYccToRgb: function convertYccToRgb(data) {\n      var Y, Cb, Cr;\n      for (var i = 0, length = data.length; i < length; i += 3) {\n        Y = data[i];\n        Cb = data[i + 1];\n        Cr = data[i + 2];\n        data[i] = Y - 179.456 + 1.402 * Cr;\n        data[i + 1] = Y + 135.459 - 0.344 * Cb - 0.714 * Cr;\n        data[i + 2] = Y - 226.816 + 1.772 * Cb;\n      }\n      return data;\n    },\n    _convertYcckToRgb: function convertYcckToRgb(data) {\n      var Y, Cb, Cr, k;\n      var offset = 0;\n      for (var i = 0, length = data.length; i < length; i += 4) {\n        Y = data[i];\n        Cb = data[i + 1];\n        Cr = data[i + 2];\n        k = data[i + 3];\n        data[offset++] = -122.67195406894 + Cb * (-6.60635669420364e-5 * Cb + 0.000437130475926232 * Cr - 5.4080610064599e-5 * Y + 0.00048449797120281 * k - 0.154362151871126) + Cr * (-0.000957964378445773 * Cr + 0.000817076911346625 * Y - 0.00477271405408747 * k + 1.53380253221734) + Y * (0.000961250184130688 * Y - 0.00266257332283933 * k + 0.48357088451265) + k * (-0.000336197177618394 * k + 0.484791561490776);\n        data[offset++] = 107.268039397724 + Cb * (2.19927104525741e-5 * Cb - 0.000640992018297945 * Cr + 0.000659397001245577 * Y + 0.000426105652938837 * k - 0.176491792462875) + Cr * (-0.000778269941513683 * Cr + 0.00130872261408275 * Y + 0.000770482631801132 * k - 0.151051492775562) + Y * (0.00126935368114843 * Y - 0.00265090189010898 * k + 0.25802910206845) + k * (-0.000318913117588328 * k - 0.213742400323665);\n        data[offset++] = -20.810012546947 + Cb * (-0.000570115196973677 * Cb - 2.63409051004589e-5 * Cr + 0.0020741088115012 * Y - 0.00288260236853442 * k + 0.814272968359295) + Cr * (-1.53496057440975e-5 * Cr - 0.000132689043961446 * Y + 0.000560833691242812 * k - 0.195152027534049) + Y * (0.00174418132927582 * Y - 0.00255243321439347 * k + 0.116935020465145) + k * (-0.000343531996510555 * k + 0.24165260232407);\n      }\n      return data;\n    },\n    _convertYcckToCmyk: function convertYcckToCmyk(data) {\n      var Y, Cb, Cr;\n      for (var i = 0, length = data.length; i < length; i += 4) {\n        Y = data[i];\n        Cb = data[i + 1];\n        Cr = data[i + 2];\n        data[i] = 434.456 - Y - 1.402 * Cr;\n        data[i + 1] = 119.541 - Y + 0.344 * Cb + 0.714 * Cr;\n        data[i + 2] = 481.816 - Y - 1.772 * Cb;\n      }\n      return data;\n    },\n    _convertCmykToRgb: function convertCmykToRgb(data) {\n      var c, m, y, k;\n      var offset = 0;\n      var scale = 1 / 255;\n      for (var i = 0, length = data.length; i < length; i += 4) {\n        c = data[i] * scale;\n        m = data[i + 1] * scale;\n        y = data[i + 2] * scale;\n        k = data[i + 3] * scale;\n        data[offset++] = 255 + c * (-4.387332384609988 * c + 54.48615194189176 * m + 18.82290502165302 * y + 212.25662451639585 * k - 285.2331026137004) + m * (1.7149763477362134 * m - 5.6096736904047315 * y - 17.873870861415444 * k - 5.497006427196366) + y * (-2.5217340131683033 * y - 21.248923337353073 * k + 17.5119270841813) - k * (21.86122147463605 * k + 189.48180835922747);\n        data[offset++] = 255 + c * (8.841041422036149 * c + 60.118027045597366 * m + 6.871425592049007 * y + 31.159100130055922 * k - 79.2970844816548) + m * (-15.310361306967817 * m + 17.575251261109482 * y + 131.35250912493976 * k - 190.9453302588951) + y * (4.444339102852739 * y + 9.8632861493405 * k - 24.86741582555878) - k * (20.737325471181034 * k + 187.80453709719578);\n        data[offset++] = 255 + c * (0.8842522430003296 * c + 8.078677503112928 * m + 30.89978309703729 * y - 0.23883238689178934 * k - 14.183576799673286) + m * (10.49593273432072 * m + 63.02378494754052 * y + 50.606957656360734 * k - 112.23884253719248) + y * (0.03296041114873217 * y + 115.60384449646641 * k - 193.58209356861505) - k * (22.33816807309886 * k + 180.12613974708367);\n      }\n      return data;\n    },\n    getData: function getData(width, height, forceRGBoutput) {\n      if (this.numComponents > 4) {\n        throw new JpegError('Unsupported color mode');\n      }\n      var data = this._getLinearizedBlockData(width, height);\n      if (this.numComponents === 1 && forceRGBoutput) {\n        var dataLength = data.length;\n        var rgbData = new Uint8ClampedArray(dataLength * 3);\n        var offset = 0;\n        for (var i = 0; i < dataLength; i++) {\n          var grayColor = data[i];\n          rgbData[offset++] = grayColor;\n          rgbData[offset++] = grayColor;\n          rgbData[offset++] = grayColor;\n        }\n        return rgbData;\n      } else if (this.numComponents === 3 && this._isColorConversionNeeded()) {\n        return this._convertYccToRgb(data);\n      } else if (this.numComponents === 4) {\n        if (this._isColorConversionNeeded()) {\n          if (forceRGBoutput) {\n            return this._convertYcckToRgb(data);\n          }\n          return this._convertYcckToCmyk(data);\n        } else if (forceRGBoutput) {\n          return this._convertCmykToRgb(data);\n        }\n      }\n      return data;\n    }\n  };\n  return JpegImage;\n}();\nexports.JpegImage = JpegImage;\n\n/***/ }),\n/* 144 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.CCITTFaxStream = undefined;\n\nvar _primitives = __w_pdfjs_require__(2);\n\nvar _ccitt = __w_pdfjs_require__(145);\n\nvar _stream = __w_pdfjs_require__(5);\n\nvar CCITTFaxStream = function CCITTFaxStreamClosure() {\n  function CCITTFaxStream(str, maybeLength, params) {\n    this.str = str;\n    this.dict = str.dict;\n    if (!(0, _primitives.isDict)(params)) {\n      params = _primitives.Dict.empty;\n    }\n    var source = {\n      next: function next() {\n        return str.getByte();\n      }\n    };\n    this.ccittFaxDecoder = new _ccitt.CCITTFaxDecoder(source, {\n      K: params.get('K'),\n      EndOfLine: params.get('EndOfLine'),\n      EncodedByteAlign: params.get('EncodedByteAlign'),\n      Columns: params.get('Columns'),\n      Rows: params.get('Rows'),\n      EndOfBlock: params.get('EndOfBlock'),\n      BlackIs1: params.get('BlackIs1')\n    });\n    _stream.DecodeStream.call(this, maybeLength);\n  }\n  CCITTFaxStream.prototype = Object.create(_stream.DecodeStream.prototype);\n  CCITTFaxStream.prototype.readBlock = function () {\n    while (!this.eof) {\n      var c = this.ccittFaxDecoder.readNextChar();\n      if (c === -1) {\n        this.eof = true;\n        return;\n      }\n      this.ensureBuffer(this.bufferLength + 1);\n      this.buffer[this.bufferLength++] = c;\n    }\n  };\n  return CCITTFaxStream;\n}();\nexports.CCITTFaxStream = CCITTFaxStream;\n\n/***/ }),\n/* 145 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.CCITTFaxDecoder = undefined;\n\nvar _util = __w_pdfjs_require__(0);\n\nvar CCITTFaxDecoder = function CCITTFaxDecoder() {\n  var ccittEOL = -2;\n  var ccittEOF = -1;\n  var twoDimPass = 0;\n  var twoDimHoriz = 1;\n  var twoDimVert0 = 2;\n  var twoDimVertR1 = 3;\n  var twoDimVertL1 = 4;\n  var twoDimVertR2 = 5;\n  var twoDimVertL2 = 6;\n  var twoDimVertR3 = 7;\n  var twoDimVertL3 = 8;\n  var twoDimTable = [[-1, -1], [-1, -1], [7, twoDimVertL3], [7, twoDimVertR3], [6, twoDimVertL2], [6, twoDimVertL2], [6, twoDimVertR2], [6, twoDimVertR2], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0]];\n  var whiteTable1 = [[-1, -1], [12, ccittEOL], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [11, 1792], [11, 1792], [12, 1984], [12, 2048], [12, 2112], [12, 2176], [12, 2240], [12, 2304], [11, 1856], [11, 1856], [11, 1920], [11, 1920], [12, 2368], [12, 2432], [12, 2496], [12, 2560]];\n  var whiteTable2 = [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [8, 29], [8, 29], [8, 30], [8, 30], [8, 45], [8, 45], [8, 46], [8, 46], [7, 22], [7, 22], [7, 22], [7, 22], [7, 23], [7, 23], [7, 23], [7, 23], [8, 47], [8, 47], [8, 48], [8, 48], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [7, 20], [7, 20], [7, 20], [7, 20], [8, 33], [8, 33], [8, 34], [8, 34], [8, 35], [8, 35], [8, 36], [8, 36], [8, 37], [8, 37], [8, 38], [8, 38], [7, 19], [7, 19], [7, 19], [7, 19], [8, 31], [8, 31], [8, 32], [8, 32], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [8, 53], [8, 53], [8, 54], [8, 54], [7, 26], [7, 26], [7, 26], [7, 26], [8, 39], [8, 39], [8, 40], [8, 40], [8, 41], [8, 41], [8, 42], [8, 42], [8, 43], [8, 43], [8, 44], [8, 44], [7, 21], [7, 21], [7, 21], [7, 21], [7, 28], [7, 28], [7, 28], [7, 28], [8, 61], [8, 61], [8, 62], [8, 62], [8, 63], [8, 63], [8, 0], [8, 0], [8, 320], [8, 320], [8, 384], [8, 384], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [7, 27], [7, 27], [7, 27], [7, 27], [8, 59], [8, 59], [8, 60], [8, 60], [9, 1472], [9, 1536], [9, 1600], [9, 1728], [7, 18], [7, 18], [7, 18], [7, 18], [7, 24], [7, 24], [7, 24], [7, 24], [8, 49], [8, 49], [8, 50], [8, 50], [8, 51], [8, 51], [8, 52], [8, 52], [7, 25], [7, 25], [7, 25], [7, 25], [8, 55], [8, 55], [8, 56], [8, 56], [8, 57], [8, 57], [8, 58], [8, 58], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [8, 448], [8, 448], [8, 512], [8, 512], [9, 704], [9, 768], [8, 640], [8, 640], [8, 576], [8, 576], [9, 832], [9, 896], [9, 960], [9, 1024], [9, 1088], [9, 1152], [9, 1216], [9, 1280], [9, 1344], [9, 1408], [7, 256], [7, 256], [7, 256], [7, 256], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7]];\n  var blackTable1 = [[-1, -1], [-1, -1], [12, ccittEOL], [12, ccittEOL], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [11, 1792], [11, 1792], [11, 1792], [11, 1792], [12, 1984], [12, 1984], [12, 2048], [12, 2048], [12, 2112], [12, 2112], [12, 2176], [12, 2176], [12, 2240], [12, 2240], [12, 2304], [12, 2304], [11, 1856], [11, 1856], [11, 1856], [11, 1856], [11, 1920], [11, 1920], [11, 1920], [11, 1920], [12, 2368], [12, 2368], [12, 2432], [12, 2432], [12, 2496], [12, 2496], [12, 2560], [12, 2560], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [12, 52], [12, 52], [13, 640], [13, 704], [13, 768], [13, 832], [12, 55], [12, 55], [12, 56], [12, 56], [13, 1280], [13, 1344], [13, 1408], [13, 1472], [12, 59], [12, 59], [12, 60], [12, 60], [13, 1536], [13, 1600], [11, 24], [11, 24], [11, 24], [11, 24], [11, 25], [11, 25], [11, 25], [11, 25], [13, 1664], [13, 1728], [12, 320], [12, 320], [12, 384], [12, 384], [12, 448], [12, 448], [13, 512], [13, 576], [12, 53], [12, 53], [12, 54], [12, 54], [13, 896], [13, 960], [13, 1024], [13, 1088], [13, 1152], [13, 1216], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64]];\n  var blackTable2 = [[8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [11, 23], [11, 23], [12, 50], [12, 51], [12, 44], [12, 45], [12, 46], [12, 47], [12, 57], [12, 58], [12, 61], [12, 256], [10, 16], [10, 16], [10, 16], [10, 16], [10, 17], [10, 17], [10, 17], [10, 17], [12, 48], [12, 49], [12, 62], [12, 63], [12, 30], [12, 31], [12, 32], [12, 33], [12, 40], [12, 41], [11, 22], [11, 22], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [12, 128], [12, 192], [12, 26], [12, 27], [12, 28], [12, 29], [11, 19], [11, 19], [11, 20], [11, 20], [12, 34], [12, 35], [12, 36], [12, 37], [12, 38], [12, 39], [11, 21], [11, 21], [12, 42], [12, 43], [10, 0], [10, 0], [10, 0], [10, 0], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12]];\n  var blackTable3 = [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [6, 9], [6, 8], [5, 7], [5, 7], [4, 6], [4, 6], [4, 6], [4, 6], [4, 5], [4, 5], [4, 5], [4, 5], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2]];\n  function CCITTFaxDecoder(source) {\n    var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n    if (!source || typeof source.next !== 'function') {\n      throw new Error('CCITTFaxDecoder - invalid \"source\" parameter.');\n    }\n    this.source = source;\n    this.eof = false;\n    this.encoding = options['K'] || 0;\n    this.eoline = options['EndOfLine'] || false;\n    this.byteAlign = options['EncodedByteAlign'] || false;\n    this.columns = options['Columns'] || 1728;\n    this.rows = options['Rows'] || 0;\n    var eoblock = options['EndOfBlock'];\n    if (eoblock === null || eoblock === undefined) {\n      eoblock = true;\n    }\n    this.eoblock = eoblock;\n    this.black = options['BlackIs1'] || false;\n    this.codingLine = new Uint32Array(this.columns + 1);\n    this.refLine = new Uint32Array(this.columns + 2);\n    this.codingLine[0] = this.columns;\n    this.codingPos = 0;\n    this.row = 0;\n    this.nextLine2D = this.encoding < 0;\n    this.inputBits = 0;\n    this.inputBuf = 0;\n    this.outputBits = 0;\n    this.rowsDone = false;\n    var code1 = void 0;\n    while ((code1 = this._lookBits(12)) === 0) {\n      this._eatBits(1);\n    }\n    if (code1 === 1) {\n      this._eatBits(12);\n    }\n    if (this.encoding > 0) {\n      this.nextLine2D = !this._lookBits(1);\n      this._eatBits(1);\n    }\n  }\n  CCITTFaxDecoder.prototype = {\n    readNextChar: function readNextChar() {\n      if (this.eof) {\n        return -1;\n      }\n      var refLine = this.refLine;\n      var codingLine = this.codingLine;\n      var columns = this.columns;\n      var refPos = void 0,\n          blackPixels = void 0,\n          bits = void 0,\n          i = void 0;\n      if (this.outputBits === 0) {\n        if (this.rowsDone) {\n          this.eof = true;\n        }\n        if (this.eof) {\n          return -1;\n        }\n        this.err = false;\n        var code1 = void 0,\n            code2 = void 0,\n            code3 = void 0;\n        if (this.nextLine2D) {\n          for (i = 0; codingLine[i] < columns; ++i) {\n            refLine[i] = codingLine[i];\n          }\n          refLine[i++] = columns;\n          refLine[i] = columns;\n          codingLine[0] = 0;\n          this.codingPos = 0;\n          refPos = 0;\n          blackPixels = 0;\n          while (codingLine[this.codingPos] < columns) {\n            code1 = this._getTwoDimCode();\n            switch (code1) {\n              case twoDimPass:\n                this._addPixels(refLine[refPos + 1], blackPixels);\n                if (refLine[refPos + 1] < columns) {\n                  refPos += 2;\n                }\n                break;\n              case twoDimHoriz:\n                code1 = code2 = 0;\n                if (blackPixels) {\n                  do {\n                    code1 += code3 = this._getBlackCode();\n                  } while (code3 >= 64);\n                  do {\n                    code2 += code3 = this._getWhiteCode();\n                  } while (code3 >= 64);\n                } else {\n                  do {\n                    code1 += code3 = this._getWhiteCode();\n                  } while (code3 >= 64);\n                  do {\n                    code2 += code3 = this._getBlackCode();\n                  } while (code3 >= 64);\n                }\n                this._addPixels(codingLine[this.codingPos] + code1, blackPixels);\n                if (codingLine[this.codingPos] < columns) {\n                  this._addPixels(codingLine[this.codingPos] + code2, blackPixels ^ 1);\n                }\n                while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n                  refPos += 2;\n                }\n                break;\n              case twoDimVertR3:\n                this._addPixels(refLine[refPos] + 3, blackPixels);\n                blackPixels ^= 1;\n                if (codingLine[this.codingPos] < columns) {\n                  ++refPos;\n                  while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n                    refPos += 2;\n                  }\n                }\n                break;\n              case twoDimVertR2:\n                this._addPixels(refLine[refPos] + 2, blackPixels);\n                blackPixels ^= 1;\n                if (codingLine[this.codingPos] < columns) {\n                  ++refPos;\n                  while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n                    refPos += 2;\n                  }\n                }\n                break;\n              case twoDimVertR1:\n                this._addPixels(refLine[refPos] + 1, blackPixels);\n                blackPixels ^= 1;\n                if (codingLine[this.codingPos] < columns) {\n                  ++refPos;\n                  while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n                    refPos += 2;\n                  }\n                }\n                break;\n              case twoDimVert0:\n                this._addPixels(refLine[refPos], blackPixels);\n                blackPixels ^= 1;\n                if (codingLine[this.codingPos] < columns) {\n                  ++refPos;\n                  while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n                    refPos += 2;\n                  }\n                }\n                break;\n              case twoDimVertL3:\n                this._addPixelsNeg(refLine[refPos] - 3, blackPixels);\n                blackPixels ^= 1;\n                if (codingLine[this.codingPos] < columns) {\n                  if (refPos > 0) {\n                    --refPos;\n                  } else {\n                    ++refPos;\n                  }\n                  while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n                    refPos += 2;\n                  }\n                }\n                break;\n              case twoDimVertL2:\n                this._addPixelsNeg(refLine[refPos] - 2, blackPixels);\n                blackPixels ^= 1;\n                if (codingLine[this.codingPos] < columns) {\n                  if (refPos > 0) {\n                    --refPos;\n                  } else {\n                    ++refPos;\n                  }\n                  while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n                    refPos += 2;\n                  }\n                }\n                break;\n              case twoDimVertL1:\n                this._addPixelsNeg(refLine[refPos] - 1, blackPixels);\n                blackPixels ^= 1;\n                if (codingLine[this.codingPos] < columns) {\n                  if (refPos > 0) {\n                    --refPos;\n                  } else {\n                    ++refPos;\n                  }\n                  while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n                    refPos += 2;\n                  }\n                }\n                break;\n              case ccittEOF:\n                this._addPixels(columns, 0);\n                this.eof = true;\n                break;\n              default:\n                (0, _util.info)('bad 2d code');\n                this._addPixels(columns, 0);\n                this.err = true;\n            }\n          }\n        } else {\n          codingLine[0] = 0;\n          this.codingPos = 0;\n          blackPixels = 0;\n          while (codingLine[this.codingPos] < columns) {\n            code1 = 0;\n            if (blackPixels) {\n              do {\n                code1 += code3 = this._getBlackCode();\n              } while (code3 >= 64);\n            } else {\n              do {\n                code1 += code3 = this._getWhiteCode();\n              } while (code3 >= 64);\n            }\n            this._addPixels(codingLine[this.codingPos] + code1, blackPixels);\n            blackPixels ^= 1;\n          }\n        }\n        var gotEOL = false;\n        if (this.byteAlign) {\n          this.inputBits &= ~7;\n        }\n        if (!this.eoblock && this.row === this.rows - 1) {\n          this.rowsDone = true;\n        } else {\n          code1 = this._lookBits(12);\n          if (this.eoline) {\n            while (code1 !== ccittEOF && code1 !== 1) {\n              this._eatBits(1);\n              code1 = this._lookBits(12);\n            }\n          } else {\n            while (code1 === 0) {\n              this._eatBits(1);\n              code1 = this._lookBits(12);\n            }\n          }\n          if (code1 === 1) {\n            this._eatBits(12);\n            gotEOL = true;\n          } else if (code1 === ccittEOF) {\n            this.eof = true;\n          }\n        }\n        if (!this.eof && this.encoding > 0 && !this.rowsDone) {\n          this.nextLine2D = !this._lookBits(1);\n          this._eatBits(1);\n        }\n        if (this.eoblock && gotEOL && this.byteAlign) {\n          code1 = this._lookBits(12);\n          if (code1 === 1) {\n            this._eatBits(12);\n            if (this.encoding > 0) {\n              this._lookBits(1);\n              this._eatBits(1);\n            }\n            if (this.encoding >= 0) {\n              for (i = 0; i < 4; ++i) {\n                code1 = this._lookBits(12);\n                if (code1 !== 1) {\n                  (0, _util.info)('bad rtc code: ' + code1);\n                }\n                this._eatBits(12);\n                if (this.encoding > 0) {\n                  this._lookBits(1);\n                  this._eatBits(1);\n                }\n              }\n            }\n            this.eof = true;\n          }\n        } else if (this.err && this.eoline) {\n          while (true) {\n            code1 = this._lookBits(13);\n            if (code1 === ccittEOF) {\n              this.eof = true;\n              return -1;\n            }\n            if (code1 >> 1 === 1) {\n              break;\n            }\n            this._eatBits(1);\n          }\n          this._eatBits(12);\n          if (this.encoding > 0) {\n            this._eatBits(1);\n            this.nextLine2D = !(code1 & 1);\n          }\n        }\n        if (codingLine[0] > 0) {\n          this.outputBits = codingLine[this.codingPos = 0];\n        } else {\n          this.outputBits = codingLine[this.codingPos = 1];\n        }\n        this.row++;\n      }\n      var c = void 0;\n      if (this.outputBits >= 8) {\n        c = this.codingPos & 1 ? 0 : 0xFF;\n        this.outputBits -= 8;\n        if (this.outputBits === 0 && codingLine[this.codingPos] < columns) {\n          this.codingPos++;\n          this.outputBits = codingLine[this.codingPos] - codingLine[this.codingPos - 1];\n        }\n      } else {\n        bits = 8;\n        c = 0;\n        do {\n          if (this.outputBits > bits) {\n            c <<= bits;\n            if (!(this.codingPos & 1)) {\n              c |= 0xFF >> 8 - bits;\n            }\n            this.outputBits -= bits;\n            bits = 0;\n          } else {\n            c <<= this.outputBits;\n            if (!(this.codingPos & 1)) {\n              c |= 0xFF >> 8 - this.outputBits;\n            }\n            bits -= this.outputBits;\n            this.outputBits = 0;\n            if (codingLine[this.codingPos] < columns) {\n              this.codingPos++;\n              this.outputBits = codingLine[this.codingPos] - codingLine[this.codingPos - 1];\n            } else if (bits > 0) {\n              c <<= bits;\n              bits = 0;\n            }\n          }\n        } while (bits);\n      }\n      if (this.black) {\n        c ^= 0xFF;\n      }\n      return c;\n    },\n    _addPixels: function _addPixels(a1, blackPixels) {\n      var codingLine = this.codingLine;\n      var codingPos = this.codingPos;\n      if (a1 > codingLine[codingPos]) {\n        if (a1 > this.columns) {\n          (0, _util.info)('row is wrong length');\n          this.err = true;\n          a1 = this.columns;\n        }\n        if (codingPos & 1 ^ blackPixels) {\n          ++codingPos;\n        }\n        codingLine[codingPos] = a1;\n      }\n      this.codingPos = codingPos;\n    },\n    _addPixelsNeg: function _addPixelsNeg(a1, blackPixels) {\n      var codingLine = this.codingLine;\n      var codingPos = this.codingPos;\n      if (a1 > codingLine[codingPos]) {\n        if (a1 > this.columns) {\n          (0, _util.info)('row is wrong length');\n          this.err = true;\n          a1 = this.columns;\n        }\n        if (codingPos & 1 ^ blackPixels) {\n          ++codingPos;\n        }\n        codingLine[codingPos] = a1;\n      } else if (a1 < codingLine[codingPos]) {\n        if (a1 < 0) {\n          (0, _util.info)('invalid code');\n          this.err = true;\n          a1 = 0;\n        }\n        while (codingPos > 0 && a1 < codingLine[codingPos - 1]) {\n          --codingPos;\n        }\n        codingLine[codingPos] = a1;\n      }\n      this.codingPos = codingPos;\n    },\n    _findTableCode: function _findTableCode(start, end, table, limit) {\n      var limitValue = limit || 0;\n      for (var i = start; i <= end; ++i) {\n        var code = this._lookBits(i);\n        if (code === ccittEOF) {\n          return [true, 1, false];\n        }\n        if (i < end) {\n          code <<= end - i;\n        }\n        if (!limitValue || code >= limitValue) {\n          var p = table[code - limitValue];\n          if (p[0] === i) {\n            this._eatBits(i);\n            return [true, p[1], true];\n          }\n        }\n      }\n      return [false, 0, false];\n    },\n    _getTwoDimCode: function _getTwoDimCode() {\n      var code = 0;\n      var p = void 0;\n      if (this.eoblock) {\n        code = this._lookBits(7);\n        p = twoDimTable[code];\n        if (p && p[0] > 0) {\n          this._eatBits(p[0]);\n          return p[1];\n        }\n      } else {\n        var result = this._findTableCode(1, 7, twoDimTable);\n        if (result[0] && result[2]) {\n          return result[1];\n        }\n      }\n      (0, _util.info)('Bad two dim code');\n      return ccittEOF;\n    },\n    _getWhiteCode: function _getWhiteCode() {\n      var code = 0;\n      var p = void 0;\n      if (this.eoblock) {\n        code = this._lookBits(12);\n        if (code === ccittEOF) {\n          return 1;\n        }\n        if (code >> 5 === 0) {\n          p = whiteTable1[code];\n        } else {\n          p = whiteTable2[code >> 3];\n        }\n        if (p[0] > 0) {\n          this._eatBits(p[0]);\n          return p[1];\n        }\n      } else {\n        var result = this._findTableCode(1, 9, whiteTable2);\n        if (result[0]) {\n          return result[1];\n        }\n        result = this._findTableCode(11, 12, whiteTable1);\n        if (result[0]) {\n          return result[1];\n        }\n      }\n      (0, _util.info)('bad white code');\n      this._eatBits(1);\n      return 1;\n    },\n    _getBlackCode: function _getBlackCode() {\n      var code = void 0,\n          p = void 0;\n      if (this.eoblock) {\n        code = this._lookBits(13);\n        if (code === ccittEOF) {\n          return 1;\n        }\n        if (code >> 7 === 0) {\n          p = blackTable1[code];\n        } else if (code >> 9 === 0 && code >> 7 !== 0) {\n          p = blackTable2[(code >> 1) - 64];\n        } else {\n          p = blackTable3[code >> 7];\n        }\n        if (p[0] > 0) {\n          this._eatBits(p[0]);\n          return p[1];\n        }\n      } else {\n        var result = this._findTableCode(2, 6, blackTable3);\n        if (result[0]) {\n          return result[1];\n        }\n        result = this._findTableCode(7, 12, blackTable2, 64);\n        if (result[0]) {\n          return result[1];\n        }\n        result = this._findTableCode(10, 13, blackTable1);\n        if (result[0]) {\n          return result[1];\n        }\n      }\n      (0, _util.info)('bad black code');\n      this._eatBits(1);\n      return 1;\n    },\n    _lookBits: function _lookBits(n) {\n      var c = void 0;\n      while (this.inputBits < n) {\n        if ((c = this.source.next()) === -1) {\n          if (this.inputBits === 0) {\n            return ccittEOF;\n          }\n          return this.inputBuf << n - this.inputBits & 0xFFFF >> 16 - n;\n        }\n        this.inputBuf = this.inputBuf << 8 | c;\n        this.inputBits += 8;\n      }\n      return this.inputBuf >> this.inputBits - n & 0xFFFF >> 16 - n;\n    },\n    _eatBits: function _eatBits(n) {\n      if ((this.inputBits -= n) < 0) {\n        this.inputBits = 0;\n      }\n    }\n  };\n  return CCITTFaxDecoder;\n}();\nexports.CCITTFaxDecoder = CCITTFaxDecoder;\n\n/***/ }),\n/* 146 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.Jbig2Stream = undefined;\n\nvar _primitives = __w_pdfjs_require__(2);\n\nvar _stream = __w_pdfjs_require__(5);\n\nvar _jbig = __w_pdfjs_require__(147);\n\nvar _util = __w_pdfjs_require__(0);\n\nvar Jbig2Stream = function Jbig2StreamClosure() {\n  function Jbig2Stream(stream, maybeLength, dict, params) {\n    this.stream = stream;\n    this.maybeLength = maybeLength;\n    this.dict = dict;\n    this.params = params;\n    _stream.DecodeStream.call(this, maybeLength);\n  }\n  Jbig2Stream.prototype = Object.create(_stream.DecodeStream.prototype);\n  Object.defineProperty(Jbig2Stream.prototype, 'bytes', {\n    get: function get() {\n      return (0, _util.shadow)(this, 'bytes', this.stream.getBytes(this.maybeLength));\n    },\n\n    configurable: true\n  });\n  Jbig2Stream.prototype.ensureBuffer = function (req) {\n    if (this.bufferLength) {\n      return;\n    }\n    var jbig2Image = new _jbig.Jbig2Image();\n    var chunks = [];\n    if ((0, _primitives.isDict)(this.params)) {\n      var globalsStream = this.params.get('JBIG2Globals');\n      if ((0, _primitives.isStream)(globalsStream)) {\n        var globals = globalsStream.getBytes();\n        chunks.push({\n          data: globals,\n          start: 0,\n          end: globals.length\n        });\n      }\n    }\n    chunks.push({\n      data: this.bytes,\n      start: 0,\n      end: this.bytes.length\n    });\n    var data = jbig2Image.parseChunks(chunks);\n    var dataLength = data.length;\n    for (var i = 0; i < dataLength; i++) {\n      data[i] ^= 0xFF;\n    }\n    this.buffer = data;\n    this.bufferLength = dataLength;\n    this.eof = true;\n  };\n  return Jbig2Stream;\n}();\nexports.Jbig2Stream = Jbig2Stream;\n\n/***/ }),\n/* 147 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.Jbig2Image = undefined;\n\nvar _util = __w_pdfjs_require__(0);\n\nvar _arithmetic_decoder = __w_pdfjs_require__(81);\n\nvar Jbig2Error = function Jbig2ErrorClosure() {\n  function Jbig2Error(msg) {\n    this.message = 'JBIG2 error: ' + msg;\n  }\n  Jbig2Error.prototype = new Error();\n  Jbig2Error.prototype.name = 'Jbig2Error';\n  Jbig2Error.constructor = Jbig2Error;\n  return Jbig2Error;\n}();\nvar Jbig2Image = function Jbig2ImageClosure() {\n  function ContextCache() {}\n  ContextCache.prototype = {\n    getContexts: function getContexts(id) {\n      if (id in this) {\n        return this[id];\n      }\n      return this[id] = new Int8Array(1 << 16);\n    }\n  };\n  function DecodingContext(data, start, end) {\n    this.data = data;\n    this.start = start;\n    this.end = end;\n  }\n  DecodingContext.prototype = {\n    get decoder() {\n      var decoder = new _arithmetic_decoder.ArithmeticDecoder(this.data, this.start, this.end);\n      return (0, _util.shadow)(this, 'decoder', decoder);\n    },\n    get contextCache() {\n      var cache = new ContextCache();\n      return (0, _util.shadow)(this, 'contextCache', cache);\n    }\n  };\n  function decodeInteger(contextCache, procedure, decoder) {\n    var contexts = contextCache.getContexts(procedure);\n    var prev = 1;\n    function readBits(length) {\n      var v = 0;\n      for (var i = 0; i < length; i++) {\n        var bit = decoder.readBit(contexts, prev);\n        prev = prev < 256 ? prev << 1 | bit : (prev << 1 | bit) & 511 | 256;\n        v = v << 1 | bit;\n      }\n      return v >>> 0;\n    }\n    var sign = readBits(1);\n    var value = readBits(1) ? readBits(1) ? readBits(1) ? readBits(1) ? readBits(1) ? readBits(32) + 4436 : readBits(12) + 340 : readBits(8) + 84 : readBits(6) + 20 : readBits(4) + 4 : readBits(2);\n    return sign === 0 ? value : value > 0 ? -value : null;\n  }\n  function decodeIAID(contextCache, decoder, codeLength) {\n    var contexts = contextCache.getContexts('IAID');\n    var prev = 1;\n    for (var i = 0; i < codeLength; i++) {\n      var bit = decoder.readBit(contexts, prev);\n      prev = prev << 1 | bit;\n    }\n    if (codeLength < 31) {\n      return prev & (1 << codeLength) - 1;\n    }\n    return prev & 0x7FFFFFFF;\n  }\n  var SegmentTypes = ['SymbolDictionary', null, null, null, 'IntermediateTextRegion', null, 'ImmediateTextRegion', 'ImmediateLosslessTextRegion', null, null, null, null, null, null, null, null, 'PatternDictionary', null, null, null, 'IntermediateHalftoneRegion', null, 'ImmediateHalftoneRegion', 'ImmediateLosslessHalftoneRegion', null, null, null, null, null, null, null, null, null, null, null, null, 'IntermediateGenericRegion', null, 'ImmediateGenericRegion', 'ImmediateLosslessGenericRegion', 'IntermediateGenericRefinementRegion', null, 'ImmediateGenericRefinementRegion', 'ImmediateLosslessGenericRefinementRegion', null, null, null, null, 'PageInformation', 'EndOfPage', 'EndOfStripe', 'EndOfFile', 'Profiles', 'Tables', null, null, null, null, null, null, null, null, 'Extension'];\n  var CodingTemplates = [[{\n    x: -1,\n    y: -2\n  }, {\n    x: 0,\n    y: -2\n  }, {\n    x: 1,\n    y: -2\n  }, {\n    x: -2,\n    y: -1\n  }, {\n    x: -1,\n    y: -1\n  }, {\n    x: 0,\n    y: -1\n  }, {\n    x: 1,\n    y: -1\n  }, {\n    x: 2,\n    y: -1\n  }, {\n    x: -4,\n    y: 0\n  }, {\n    x: -3,\n    y: 0\n  }, {\n    x: -2,\n    y: 0\n  }, {\n    x: -1,\n    y: 0\n  }], [{\n    x: -1,\n    y: -2\n  }, {\n    x: 0,\n    y: -2\n  }, {\n    x: 1,\n    y: -2\n  }, {\n    x: 2,\n    y: -2\n  }, {\n    x: -2,\n    y: -1\n  }, {\n    x: -1,\n    y: -1\n  }, {\n    x: 0,\n    y: -1\n  }, {\n    x: 1,\n    y: -1\n  }, {\n    x: 2,\n    y: -1\n  }, {\n    x: -3,\n    y: 0\n  }, {\n    x: -2,\n    y: 0\n  }, {\n    x: -1,\n    y: 0\n  }], [{\n    x: -1,\n    y: -2\n  }, {\n    x: 0,\n    y: -2\n  }, {\n    x: 1,\n    y: -2\n  }, {\n    x: -2,\n    y: -1\n  }, {\n    x: -1,\n    y: -1\n  }, {\n    x: 0,\n    y: -1\n  }, {\n    x: 1,\n    y: -1\n  }, {\n    x: -2,\n    y: 0\n  }, {\n    x: -1,\n    y: 0\n  }], [{\n    x: -3,\n    y: -1\n  }, {\n    x: -2,\n    y: -1\n  }, {\n    x: -1,\n    y: -1\n  }, {\n    x: 0,\n    y: -1\n  }, {\n    x: 1,\n    y: -1\n  }, {\n    x: -4,\n    y: 0\n  }, {\n    x: -3,\n    y: 0\n  }, {\n    x: -2,\n    y: 0\n  }, {\n    x: -1,\n    y: 0\n  }]];\n  var RefinementTemplates = [{\n    coding: [{\n      x: 0,\n      y: -1\n    }, {\n      x: 1,\n      y: -1\n    }, {\n      x: -1,\n      y: 0\n    }],\n    reference: [{\n      x: 0,\n      y: -1\n    }, {\n      x: 1,\n      y: -1\n    }, {\n      x: -1,\n      y: 0\n    }, {\n      x: 0,\n      y: 0\n    }, {\n      x: 1,\n      y: 0\n    }, {\n      x: -1,\n      y: 1\n    }, {\n      x: 0,\n      y: 1\n    }, {\n      x: 1,\n      y: 1\n    }]\n  }, {\n    coding: [{\n      x: -1,\n      y: -1\n    }, {\n      x: 0,\n      y: -1\n    }, {\n      x: 1,\n      y: -1\n    }, {\n      x: -1,\n      y: 0\n    }],\n    reference: [{\n      x: 0,\n      y: -1\n    }, {\n      x: -1,\n      y: 0\n    }, {\n      x: 0,\n      y: 0\n    }, {\n      x: 1,\n      y: 0\n    }, {\n      x: 0,\n      y: 1\n    }, {\n      x: 1,\n      y: 1\n    }]\n  }];\n  var ReusedContexts = [0x9B25, 0x0795, 0x00E5, 0x0195];\n  var RefinementReusedContexts = [0x0020, 0x0008];\n  function decodeBitmapTemplate0(width, height, decodingContext) {\n    var decoder = decodingContext.decoder;\n    var contexts = decodingContext.contextCache.getContexts('GB');\n    var contextLabel,\n        i,\n        j,\n        pixel,\n        row,\n        row1,\n        row2,\n        bitmap = [];\n    var OLD_PIXEL_MASK = 0x7BF7;\n    for (i = 0; i < height; i++) {\n      row = bitmap[i] = new Uint8Array(width);\n      row1 = i < 1 ? row : bitmap[i - 1];\n      row2 = i < 2 ? row : bitmap[i - 2];\n      contextLabel = row2[0] << 13 | row2[1] << 12 | row2[2] << 11 | row1[0] << 7 | row1[1] << 6 | row1[2] << 5 | row1[3] << 4;\n      for (j = 0; j < width; j++) {\n        row[j] = pixel = decoder.readBit(contexts, contextLabel);\n        contextLabel = (contextLabel & OLD_PIXEL_MASK) << 1 | (j + 3 < width ? row2[j + 3] << 11 : 0) | (j + 4 < width ? row1[j + 4] << 4 : 0) | pixel;\n      }\n    }\n    return bitmap;\n  }\n  function decodeBitmap(mmr, width, height, templateIndex, prediction, skip, at, decodingContext) {\n    if (mmr) {\n      throw new Jbig2Error('MMR encoding is not supported');\n    }\n    if (templateIndex === 0 && !skip && !prediction && at.length === 4 && at[0].x === 3 && at[0].y === -1 && at[1].x === -3 && at[1].y === -1 && at[2].x === 2 && at[2].y === -2 && at[3].x === -2 && at[3].y === -2) {\n      return decodeBitmapTemplate0(width, height, decodingContext);\n    }\n    var useskip = !!skip;\n    var template = CodingTemplates[templateIndex].concat(at);\n    template.sort(function (a, b) {\n      return a.y - b.y || a.x - b.x;\n    });\n    var templateLength = template.length;\n    var templateX = new Int8Array(templateLength);\n    var templateY = new Int8Array(templateLength);\n    var changingTemplateEntries = [];\n    var reuseMask = 0,\n        minX = 0,\n        maxX = 0,\n        minY = 0;\n    var c, k;\n    for (k = 0; k < templateLength; k++) {\n      templateX[k] = template[k].x;\n      templateY[k] = template[k].y;\n      minX = Math.min(minX, template[k].x);\n      maxX = Math.max(maxX, template[k].x);\n      minY = Math.min(minY, template[k].y);\n      if (k < templateLength - 1 && template[k].y === template[k + 1].y && template[k].x === template[k + 1].x - 1) {\n        reuseMask |= 1 << templateLength - 1 - k;\n      } else {\n        changingTemplateEntries.push(k);\n      }\n    }\n    var changingEntriesLength = changingTemplateEntries.length;\n    var changingTemplateX = new Int8Array(changingEntriesLength);\n    var changingTemplateY = new Int8Array(changingEntriesLength);\n    var changingTemplateBit = new Uint16Array(changingEntriesLength);\n    for (c = 0; c < changingEntriesLength; c++) {\n      k = changingTemplateEntries[c];\n      changingTemplateX[c] = template[k].x;\n      changingTemplateY[c] = template[k].y;\n      changingTemplateBit[c] = 1 << templateLength - 1 - k;\n    }\n    var sbb_left = -minX;\n    var sbb_top = -minY;\n    var sbb_right = width - maxX;\n    var pseudoPixelContext = ReusedContexts[templateIndex];\n    var row = new Uint8Array(width);\n    var bitmap = [];\n    var decoder = decodingContext.decoder;\n    var contexts = decodingContext.contextCache.getContexts('GB');\n    var ltp = 0,\n        j,\n        i0,\n        j0,\n        contextLabel = 0,\n        bit,\n        shift;\n    for (var i = 0; i < height; i++) {\n      if (prediction) {\n        var sltp = decoder.readBit(contexts, pseudoPixelContext);\n        ltp ^= sltp;\n        if (ltp) {\n          bitmap.push(row);\n          continue;\n        }\n      }\n      row = new Uint8Array(row);\n      bitmap.push(row);\n      for (j = 0; j < width; j++) {\n        if (useskip && skip[i][j]) {\n          row[j] = 0;\n          continue;\n        }\n        if (j >= sbb_left && j < sbb_right && i >= sbb_top) {\n          contextLabel = contextLabel << 1 & reuseMask;\n          for (k = 0; k < changingEntriesLength; k++) {\n            i0 = i + changingTemplateY[k];\n            j0 = j + changingTemplateX[k];\n            bit = bitmap[i0][j0];\n            if (bit) {\n              bit = changingTemplateBit[k];\n              contextLabel |= bit;\n            }\n          }\n        } else {\n          contextLabel = 0;\n          shift = templateLength - 1;\n          for (k = 0; k < templateLength; k++, shift--) {\n            j0 = j + templateX[k];\n            if (j0 >= 0 && j0 < width) {\n              i0 = i + templateY[k];\n              if (i0 >= 0) {\n                bit = bitmap[i0][j0];\n                if (bit) {\n                  contextLabel |= bit << shift;\n                }\n              }\n            }\n          }\n        }\n        var pixel = decoder.readBit(contexts, contextLabel);\n        row[j] = pixel;\n      }\n    }\n    return bitmap;\n  }\n  function decodeRefinement(width, height, templateIndex, referenceBitmap, offsetX, offsetY, prediction, at, decodingContext) {\n    var codingTemplate = RefinementTemplates[templateIndex].coding;\n    if (templateIndex === 0) {\n      codingTemplate = codingTemplate.concat([at[0]]);\n    }\n    var codingTemplateLength = codingTemplate.length;\n    var codingTemplateX = new Int32Array(codingTemplateLength);\n    var codingTemplateY = new Int32Array(codingTemplateLength);\n    var k;\n    for (k = 0; k < codingTemplateLength; k++) {\n      codingTemplateX[k] = codingTemplate[k].x;\n      codingTemplateY[k] = codingTemplate[k].y;\n    }\n    var referenceTemplate = RefinementTemplates[templateIndex].reference;\n    if (templateIndex === 0) {\n      referenceTemplate = referenceTemplate.concat([at[1]]);\n    }\n    var referenceTemplateLength = referenceTemplate.length;\n    var referenceTemplateX = new Int32Array(referenceTemplateLength);\n    var referenceTemplateY = new Int32Array(referenceTemplateLength);\n    for (k = 0; k < referenceTemplateLength; k++) {\n      referenceTemplateX[k] = referenceTemplate[k].x;\n      referenceTemplateY[k] = referenceTemplate[k].y;\n    }\n    var referenceWidth = referenceBitmap[0].length;\n    var referenceHeight = referenceBitmap.length;\n    var pseudoPixelContext = RefinementReusedContexts[templateIndex];\n    var bitmap = [];\n    var decoder = decodingContext.decoder;\n    var contexts = decodingContext.contextCache.getContexts('GR');\n    var ltp = 0;\n    for (var i = 0; i < height; i++) {\n      if (prediction) {\n        var sltp = decoder.readBit(contexts, pseudoPixelContext);\n        ltp ^= sltp;\n        if (ltp) {\n          throw new Jbig2Error('prediction is not supported');\n        }\n      }\n      var row = new Uint8Array(width);\n      bitmap.push(row);\n      for (var j = 0; j < width; j++) {\n        var i0, j0;\n        var contextLabel = 0;\n        for (k = 0; k < codingTemplateLength; k++) {\n          i0 = i + codingTemplateY[k];\n          j0 = j + codingTemplateX[k];\n          if (i0 < 0 || j0 < 0 || j0 >= width) {\n            contextLabel <<= 1;\n          } else {\n            contextLabel = contextLabel << 1 | bitmap[i0][j0];\n          }\n        }\n        for (k = 0; k < referenceTemplateLength; k++) {\n          i0 = i + referenceTemplateY[k] - offsetY;\n          j0 = j + referenceTemplateX[k] - offsetX;\n          if (i0 < 0 || i0 >= referenceHeight || j0 < 0 || j0 >= referenceWidth) {\n            contextLabel <<= 1;\n          } else {\n            contextLabel = contextLabel << 1 | referenceBitmap[i0][j0];\n          }\n        }\n        var pixel = decoder.readBit(contexts, contextLabel);\n        row[j] = pixel;\n      }\n    }\n    return bitmap;\n  }\n  function decodeSymbolDictionary(huffman, refinement, symbols, numberOfNewSymbols, numberOfExportedSymbols, huffmanTables, templateIndex, at, refinementTemplateIndex, refinementAt, decodingContext) {\n    if (huffman) {\n      throw new Jbig2Error('huffman is not supported');\n    }\n    var newSymbols = [];\n    var currentHeight = 0;\n    var symbolCodeLength = (0, _util.log2)(symbols.length + numberOfNewSymbols);\n    var decoder = decodingContext.decoder;\n    var contextCache = decodingContext.contextCache;\n    while (newSymbols.length < numberOfNewSymbols) {\n      var deltaHeight = decodeInteger(contextCache, 'IADH', decoder);\n      currentHeight += deltaHeight;\n      var currentWidth = 0;\n      while (true) {\n        var deltaWidth = decodeInteger(contextCache, 'IADW', decoder);\n        if (deltaWidth === null) {\n          break;\n        }\n        currentWidth += deltaWidth;\n        var bitmap;\n        if (refinement) {\n          var numberOfInstances = decodeInteger(contextCache, 'IAAI', decoder);\n          if (numberOfInstances > 1) {\n            bitmap = decodeTextRegion(huffman, refinement, currentWidth, currentHeight, 0, numberOfInstances, 1, symbols.concat(newSymbols), symbolCodeLength, 0, 0, 1, 0, huffmanTables, refinementTemplateIndex, refinementAt, decodingContext);\n          } else {\n            var symbolId = decodeIAID(contextCache, decoder, symbolCodeLength);\n            var rdx = decodeInteger(contextCache, 'IARDX', decoder);\n            var rdy = decodeInteger(contextCache, 'IARDY', decoder);\n            var symbol = symbolId < symbols.length ? symbols[symbolId] : newSymbols[symbolId - symbols.length];\n            bitmap = decodeRefinement(currentWidth, currentHeight, refinementTemplateIndex, symbol, rdx, rdy, false, refinementAt, decodingContext);\n          }\n        } else {\n          bitmap = decodeBitmap(false, currentWidth, currentHeight, templateIndex, false, null, at, decodingContext);\n        }\n        newSymbols.push(bitmap);\n      }\n    }\n    var exportedSymbols = [];\n    var flags = [],\n        currentFlag = false;\n    var totalSymbolsLength = symbols.length + numberOfNewSymbols;\n    while (flags.length < totalSymbolsLength) {\n      var runLength = decodeInteger(contextCache, 'IAEX', decoder);\n      while (runLength--) {\n        flags.push(currentFlag);\n      }\n      currentFlag = !currentFlag;\n    }\n    for (var i = 0, ii = symbols.length; i < ii; i++) {\n      if (flags[i]) {\n        exportedSymbols.push(symbols[i]);\n      }\n    }\n    for (var j = 0; j < numberOfNewSymbols; i++, j++) {\n      if (flags[i]) {\n        exportedSymbols.push(newSymbols[j]);\n      }\n    }\n    return exportedSymbols;\n  }\n  function decodeTextRegion(huffman, refinement, width, height, defaultPixelValue, numberOfSymbolInstances, stripSize, inputSymbols, symbolCodeLength, transposed, dsOffset, referenceCorner, combinationOperator, huffmanTables, refinementTemplateIndex, refinementAt, decodingContext) {\n    if (huffman) {\n      throw new Jbig2Error('huffman is not supported');\n    }\n    var bitmap = [];\n    var i, row;\n    for (i = 0; i < height; i++) {\n      row = new Uint8Array(width);\n      if (defaultPixelValue) {\n        for (var j = 0; j < width; j++) {\n          row[j] = defaultPixelValue;\n        }\n      }\n      bitmap.push(row);\n    }\n    var decoder = decodingContext.decoder;\n    var contextCache = decodingContext.contextCache;\n    var stripT = -decodeInteger(contextCache, 'IADT', decoder);\n    var firstS = 0;\n    i = 0;\n    while (i < numberOfSymbolInstances) {\n      var deltaT = decodeInteger(contextCache, 'IADT', decoder);\n      stripT += deltaT;\n      var deltaFirstS = decodeInteger(contextCache, 'IAFS', decoder);\n      firstS += deltaFirstS;\n      var currentS = firstS;\n      do {\n        var currentT = stripSize === 1 ? 0 : decodeInteger(contextCache, 'IAIT', decoder);\n        var t = stripSize * stripT + currentT;\n        var symbolId = decodeIAID(contextCache, decoder, symbolCodeLength);\n        var applyRefinement = refinement && decodeInteger(contextCache, 'IARI', decoder);\n        var symbolBitmap = inputSymbols[symbolId];\n        var symbolWidth = symbolBitmap[0].length;\n        var symbolHeight = symbolBitmap.length;\n        if (applyRefinement) {\n          var rdw = decodeInteger(contextCache, 'IARDW', decoder);\n          var rdh = decodeInteger(contextCache, 'IARDH', decoder);\n          var rdx = decodeInteger(contextCache, 'IARDX', decoder);\n          var rdy = decodeInteger(contextCache, 'IARDY', decoder);\n          symbolWidth += rdw;\n          symbolHeight += rdh;\n          symbolBitmap = decodeRefinement(symbolWidth, symbolHeight, refinementTemplateIndex, symbolBitmap, (rdw >> 1) + rdx, (rdh >> 1) + rdy, false, refinementAt, decodingContext);\n        }\n        var offsetT = t - (referenceCorner & 1 ? 0 : symbolHeight - 1);\n        var offsetS = currentS - (referenceCorner & 2 ? symbolWidth - 1 : 0);\n        var s2, t2, symbolRow;\n        if (transposed) {\n          for (s2 = 0; s2 < symbolHeight; s2++) {\n            row = bitmap[offsetS + s2];\n            if (!row) {\n              continue;\n            }\n            symbolRow = symbolBitmap[s2];\n            var maxWidth = Math.min(width - offsetT, symbolWidth);\n            switch (combinationOperator) {\n              case 0:\n                for (t2 = 0; t2 < maxWidth; t2++) {\n                  row[offsetT + t2] |= symbolRow[t2];\n                }\n                break;\n              case 2:\n                for (t2 = 0; t2 < maxWidth; t2++) {\n                  row[offsetT + t2] ^= symbolRow[t2];\n                }\n                break;\n              default:\n                throw new Jbig2Error('operator ' + combinationOperator + ' is not supported');\n            }\n          }\n          currentS += symbolHeight - 1;\n        } else {\n          for (t2 = 0; t2 < symbolHeight; t2++) {\n            row = bitmap[offsetT + t2];\n            if (!row) {\n              continue;\n            }\n            symbolRow = symbolBitmap[t2];\n            switch (combinationOperator) {\n              case 0:\n                for (s2 = 0; s2 < symbolWidth; s2++) {\n                  row[offsetS + s2] |= symbolRow[s2];\n                }\n                break;\n              case 2:\n                for (s2 = 0; s2 < symbolWidth; s2++) {\n                  row[offsetS + s2] ^= symbolRow[s2];\n                }\n                break;\n              default:\n                throw new Jbig2Error('operator ' + combinationOperator + ' is not supported');\n            }\n          }\n          currentS += symbolWidth - 1;\n        }\n        i++;\n        var deltaS = decodeInteger(contextCache, 'IADS', decoder);\n        if (deltaS === null) {\n          break;\n        }\n        currentS += deltaS + dsOffset;\n      } while (true);\n    }\n    return bitmap;\n  }\n  function decodePatternDictionary(mmr, patternWidth, patternHeight, maxPatternIndex, template, decodingContext) {\n    var at = [];\n    at.push({\n      x: -patternWidth,\n      y: 0\n    });\n    if (template === 0) {\n      at.push({\n        x: -3,\n        y: -1\n      });\n      at.push({\n        x: 2,\n        y: -2\n      });\n      at.push({\n        x: -2,\n        y: -2\n      });\n    }\n    var collectiveWidth = (maxPatternIndex + 1) * patternWidth;\n    var collectiveBitmap = decodeBitmap(mmr, collectiveWidth, patternHeight, template, false, null, at, decodingContext);\n    var patterns = [],\n        i = 0,\n        patternBitmap = void 0,\n        xMin = void 0,\n        xMax = void 0,\n        y = void 0;\n    while (i <= maxPatternIndex) {\n      patternBitmap = [];\n      xMin = patternWidth * i;\n      xMax = xMin + patternWidth;\n      for (y = 0; y < patternHeight; y++) {\n        patternBitmap.push(collectiveBitmap[y].subarray(xMin, xMax));\n      }\n      patterns.push(patternBitmap);\n      i++;\n    }\n    return patterns;\n  }\n  function decodeHalftoneRegion(mmr, patterns, template, regionWidth, regionHeight, defaultPixelValue, enableSkip, combinationOperator, gridWidth, gridHeight, gridOffsetX, gridOffsetY, gridVectorX, gridVectorY, decodingContext) {\n    var skip = null;\n    if (enableSkip) {\n      throw new Jbig2Error('skip is not supported');\n    }\n    if (combinationOperator !== 0) {\n      throw new Jbig2Error('operator ' + combinationOperator + ' is not supported in halftone region');\n    }\n    var regionBitmap = [];\n    var i = void 0,\n        j = void 0,\n        row = void 0;\n    for (i = 0; i < regionHeight; i++) {\n      row = new Uint8Array(regionWidth);\n      if (defaultPixelValue) {\n        for (j = 0; j < regionWidth; j++) {\n          row[j] = defaultPixelValue;\n        }\n      }\n      regionBitmap.push(row);\n    }\n    var numberOfPatterns = patterns.length;\n    var pattern0 = patterns[0];\n    var patternWidth = pattern0[0].length,\n        patternHeight = pattern0.length;\n    var bitsPerValue = (0, _util.log2)(numberOfPatterns);\n    var at = [];\n    at.push({\n      x: template <= 1 ? 3 : 2,\n      y: -1\n    });\n    if (template === 0) {\n      at.push({\n        x: -3,\n        y: -1\n      });\n      at.push({\n        x: 2,\n        y: -2\n      });\n      at.push({\n        x: -2,\n        y: -2\n      });\n    }\n    var grayScaleBitPlanes = [];\n    for (i = bitsPerValue - 1; i >= 0; i--) {\n      grayScaleBitPlanes[i] = decodeBitmap(mmr, gridWidth, gridHeight, template, false, skip, at, decodingContext);\n    }\n    var mg = void 0,\n        ng = void 0,\n        bit = void 0,\n        patternIndex = void 0,\n        patternBitmap = void 0,\n        x = void 0,\n        y = void 0,\n        patternRow = void 0,\n        regionRow = void 0;\n    for (mg = 0; mg < gridHeight; mg++) {\n      for (ng = 0; ng < gridWidth; ng++) {\n        bit = 0;\n        patternIndex = 0;\n        for (j = bitsPerValue - 1; j >= 0; j--) {\n          bit = grayScaleBitPlanes[j][mg][ng] ^ bit;\n          patternIndex |= bit << j;\n        }\n        patternBitmap = patterns[patternIndex];\n        x = gridOffsetX + mg * gridVectorY + ng * gridVectorX >> 8;\n        y = gridOffsetY + mg * gridVectorX - ng * gridVectorY >> 8;\n        if (x >= 0 && x + patternWidth <= regionWidth && y >= 0 && y + patternHeight <= regionHeight) {\n          for (i = 0; i < patternHeight; i++) {\n            regionRow = regionBitmap[y + i];\n            patternRow = patternBitmap[i];\n            for (j = 0; j < patternWidth; j++) {\n              regionRow[x + j] |= patternRow[j];\n            }\n          }\n        } else {\n          var regionX = void 0,\n              regionY = void 0;\n          for (i = 0; i < patternHeight; i++) {\n            regionY = y + i;\n            if (regionY < 0 || regionY >= regionHeight) {\n              continue;\n            }\n            regionRow = regionBitmap[regionY];\n            patternRow = patternBitmap[i];\n            for (j = 0; j < patternWidth; j++) {\n              regionX = x + j;\n              if (regionX >= 0 && regionX < regionWidth) {\n                regionRow[regionX] |= patternRow[j];\n              }\n            }\n          }\n        }\n      }\n    }\n    return regionBitmap;\n  }\n  function readSegmentHeader(data, start) {\n    var segmentHeader = {};\n    segmentHeader.number = (0, _util.readUint32)(data, start);\n    var flags = data[start + 4];\n    var segmentType = flags & 0x3F;\n    if (!SegmentTypes[segmentType]) {\n      throw new Jbig2Error('invalid segment type: ' + segmentType);\n    }\n    segmentHeader.type = segmentType;\n    segmentHeader.typeName = SegmentTypes[segmentType];\n    segmentHeader.deferredNonRetain = !!(flags & 0x80);\n    var pageAssociationFieldSize = !!(flags & 0x40);\n    var referredFlags = data[start + 5];\n    var referredToCount = referredFlags >> 5 & 7;\n    var retainBits = [referredFlags & 31];\n    var position = start + 6;\n    if (referredFlags === 7) {\n      referredToCount = (0, _util.readUint32)(data, position - 1) & 0x1FFFFFFF;\n      position += 3;\n      var bytes = referredToCount + 7 >> 3;\n      retainBits[0] = data[position++];\n      while (--bytes > 0) {\n        retainBits.push(data[position++]);\n      }\n    } else if (referredFlags === 5 || referredFlags === 6) {\n      throw new Jbig2Error('invalid referred-to flags');\n    }\n    segmentHeader.retainBits = retainBits;\n    var referredToSegmentNumberSize = segmentHeader.number <= 256 ? 1 : segmentHeader.number <= 65536 ? 2 : 4;\n    var referredTo = [];\n    var i, ii;\n    for (i = 0; i < referredToCount; i++) {\n      var number = referredToSegmentNumberSize === 1 ? data[position] : referredToSegmentNumberSize === 2 ? (0, _util.readUint16)(data, position) : (0, _util.readUint32)(data, position);\n      referredTo.push(number);\n      position += referredToSegmentNumberSize;\n    }\n    segmentHeader.referredTo = referredTo;\n    if (!pageAssociationFieldSize) {\n      segmentHeader.pageAssociation = data[position++];\n    } else {\n      segmentHeader.pageAssociation = (0, _util.readUint32)(data, position);\n      position += 4;\n    }\n    segmentHeader.length = (0, _util.readUint32)(data, position);\n    position += 4;\n    if (segmentHeader.length === 0xFFFFFFFF) {\n      if (segmentType === 38) {\n        var genericRegionInfo = readRegionSegmentInformation(data, position);\n        var genericRegionSegmentFlags = data[position + RegionSegmentInformationFieldLength];\n        var genericRegionMmr = !!(genericRegionSegmentFlags & 1);\n        var searchPatternLength = 6;\n        var searchPattern = new Uint8Array(searchPatternLength);\n        if (!genericRegionMmr) {\n          searchPattern[0] = 0xFF;\n          searchPattern[1] = 0xAC;\n        }\n        searchPattern[2] = genericRegionInfo.height >>> 24 & 0xFF;\n        searchPattern[3] = genericRegionInfo.height >> 16 & 0xFF;\n        searchPattern[4] = genericRegionInfo.height >> 8 & 0xFF;\n        searchPattern[5] = genericRegionInfo.height & 0xFF;\n        for (i = position, ii = data.length; i < ii; i++) {\n          var j = 0;\n          while (j < searchPatternLength && searchPattern[j] === data[i + j]) {\n            j++;\n          }\n          if (j === searchPatternLength) {\n            segmentHeader.length = i + searchPatternLength;\n            break;\n          }\n        }\n        if (segmentHeader.length === 0xFFFFFFFF) {\n          throw new Jbig2Error('segment end was not found');\n        }\n      } else {\n        throw new Jbig2Error('invalid unknown segment length');\n      }\n    }\n    segmentHeader.headerEnd = position;\n    return segmentHeader;\n  }\n  function readSegments(header, data, start, end) {\n    var segments = [];\n    var position = start;\n    while (position < end) {\n      var segmentHeader = readSegmentHeader(data, position);\n      position = segmentHeader.headerEnd;\n      var segment = {\n        header: segmentHeader,\n        data: data\n      };\n      if (!header.randomAccess) {\n        segment.start = position;\n        position += segmentHeader.length;\n        segment.end = position;\n      }\n      segments.push(segment);\n      if (segmentHeader.type === 51) {\n        break;\n      }\n    }\n    if (header.randomAccess) {\n      for (var i = 0, ii = segments.length; i < ii; i++) {\n        segments[i].start = position;\n        position += segments[i].header.length;\n        segments[i].end = position;\n      }\n    }\n    return segments;\n  }\n  function readRegionSegmentInformation(data, start) {\n    return {\n      width: (0, _util.readUint32)(data, start),\n      height: (0, _util.readUint32)(data, start + 4),\n      x: (0, _util.readUint32)(data, start + 8),\n      y: (0, _util.readUint32)(data, start + 12),\n      combinationOperator: data[start + 16] & 7\n    };\n  }\n  var RegionSegmentInformationFieldLength = 17;\n  function processSegment(segment, visitor) {\n    var header = segment.header;\n    var data = segment.data,\n        position = segment.start,\n        end = segment.end;\n    var args, at, i, atLength;\n    switch (header.type) {\n      case 0:\n        var dictionary = {};\n        var dictionaryFlags = (0, _util.readUint16)(data, position);\n        dictionary.huffman = !!(dictionaryFlags & 1);\n        dictionary.refinement = !!(dictionaryFlags & 2);\n        dictionary.huffmanDHSelector = dictionaryFlags >> 2 & 3;\n        dictionary.huffmanDWSelector = dictionaryFlags >> 4 & 3;\n        dictionary.bitmapSizeSelector = dictionaryFlags >> 6 & 1;\n        dictionary.aggregationInstancesSelector = dictionaryFlags >> 7 & 1;\n        dictionary.bitmapCodingContextUsed = !!(dictionaryFlags & 256);\n        dictionary.bitmapCodingContextRetained = !!(dictionaryFlags & 512);\n        dictionary.template = dictionaryFlags >> 10 & 3;\n        dictionary.refinementTemplate = dictionaryFlags >> 12 & 1;\n        position += 2;\n        if (!dictionary.huffman) {\n          atLength = dictionary.template === 0 ? 4 : 1;\n          at = [];\n          for (i = 0; i < atLength; i++) {\n            at.push({\n              x: (0, _util.readInt8)(data, position),\n              y: (0, _util.readInt8)(data, position + 1)\n            });\n            position += 2;\n          }\n          dictionary.at = at;\n        }\n        if (dictionary.refinement && !dictionary.refinementTemplate) {\n          at = [];\n          for (i = 0; i < 2; i++) {\n            at.push({\n              x: (0, _util.readInt8)(data, position),\n              y: (0, _util.readInt8)(data, position + 1)\n            });\n            position += 2;\n          }\n          dictionary.refinementAt = at;\n        }\n        dictionary.numberOfExportedSymbols = (0, _util.readUint32)(data, position);\n        position += 4;\n        dictionary.numberOfNewSymbols = (0, _util.readUint32)(data, position);\n        position += 4;\n        args = [dictionary, header.number, header.referredTo, data, position, end];\n        break;\n      case 6:\n      case 7:\n        var textRegion = {};\n        textRegion.info = readRegionSegmentInformation(data, position);\n        position += RegionSegmentInformationFieldLength;\n        var textRegionSegmentFlags = (0, _util.readUint16)(data, position);\n        position += 2;\n        textRegion.huffman = !!(textRegionSegmentFlags & 1);\n        textRegion.refinement = !!(textRegionSegmentFlags & 2);\n        textRegion.stripSize = 1 << (textRegionSegmentFlags >> 2 & 3);\n        textRegion.referenceCorner = textRegionSegmentFlags >> 4 & 3;\n        textRegion.transposed = !!(textRegionSegmentFlags & 64);\n        textRegion.combinationOperator = textRegionSegmentFlags >> 7 & 3;\n        textRegion.defaultPixelValue = textRegionSegmentFlags >> 9 & 1;\n        textRegion.dsOffset = textRegionSegmentFlags << 17 >> 27;\n        textRegion.refinementTemplate = textRegionSegmentFlags >> 15 & 1;\n        if (textRegion.huffman) {\n          var textRegionHuffmanFlags = (0, _util.readUint16)(data, position);\n          position += 2;\n          textRegion.huffmanFS = textRegionHuffmanFlags & 3;\n          textRegion.huffmanDS = textRegionHuffmanFlags >> 2 & 3;\n          textRegion.huffmanDT = textRegionHuffmanFlags >> 4 & 3;\n          textRegion.huffmanRefinementDW = textRegionHuffmanFlags >> 6 & 3;\n          textRegion.huffmanRefinementDH = textRegionHuffmanFlags >> 8 & 3;\n          textRegion.huffmanRefinementDX = textRegionHuffmanFlags >> 10 & 3;\n          textRegion.huffmanRefinementDY = textRegionHuffmanFlags >> 12 & 3;\n          textRegion.huffmanRefinementSizeSelector = !!(textRegionHuffmanFlags & 14);\n        }\n        if (textRegion.refinement && !textRegion.refinementTemplate) {\n          at = [];\n          for (i = 0; i < 2; i++) {\n            at.push({\n              x: (0, _util.readInt8)(data, position),\n              y: (0, _util.readInt8)(data, position + 1)\n            });\n            position += 2;\n          }\n          textRegion.refinementAt = at;\n        }\n        textRegion.numberOfSymbolInstances = (0, _util.readUint32)(data, position);\n        position += 4;\n        if (textRegion.huffman) {\n          throw new Jbig2Error('huffman is not supported');\n        }\n        args = [textRegion, header.referredTo, data, position, end];\n        break;\n      case 16:\n        var patternDictionary = {};\n        var patternDictionaryFlags = data[position++];\n        patternDictionary.mmr = !!(patternDictionaryFlags & 1);\n        patternDictionary.template = patternDictionaryFlags >> 1 & 3;\n        patternDictionary.patternWidth = data[position++];\n        patternDictionary.patternHeight = data[position++];\n        patternDictionary.maxPatternIndex = (0, _util.readUint32)(data, position);\n        position += 4;\n        args = [patternDictionary, header.number, data, position, end];\n        break;\n      case 22:\n      case 23:\n        var halftoneRegion = {};\n        halftoneRegion.info = readRegionSegmentInformation(data, position);\n        position += RegionSegmentInformationFieldLength;\n        var halftoneRegionFlags = data[position++];\n        halftoneRegion.mmr = !!(halftoneRegionFlags & 1);\n        halftoneRegion.template = halftoneRegionFlags >> 1 & 3;\n        halftoneRegion.enableSkip = !!(halftoneRegionFlags & 8);\n        halftoneRegion.combinationOperator = halftoneRegionFlags >> 4 & 7;\n        halftoneRegion.defaultPixelValue = halftoneRegionFlags >> 7 & 1;\n        halftoneRegion.gridWidth = (0, _util.readUint32)(data, position);\n        position += 4;\n        halftoneRegion.gridHeight = (0, _util.readUint32)(data, position);\n        position += 4;\n        halftoneRegion.gridOffsetX = (0, _util.readUint32)(data, position) & 0xFFFFFFFF;\n        position += 4;\n        halftoneRegion.gridOffsetY = (0, _util.readUint32)(data, position) & 0xFFFFFFFF;\n        position += 4;\n        halftoneRegion.gridVectorX = (0, _util.readUint16)(data, position);\n        position += 2;\n        halftoneRegion.gridVectorY = (0, _util.readUint16)(data, position);\n        position += 2;\n        args = [halftoneRegion, header.referredTo, data, position, end];\n        break;\n      case 38:\n      case 39:\n        var genericRegion = {};\n        genericRegion.info = readRegionSegmentInformation(data, position);\n        position += RegionSegmentInformationFieldLength;\n        var genericRegionSegmentFlags = data[position++];\n        genericRegion.mmr = !!(genericRegionSegmentFlags & 1);\n        genericRegion.template = genericRegionSegmentFlags >> 1 & 3;\n        genericRegion.prediction = !!(genericRegionSegmentFlags & 8);\n        if (!genericRegion.mmr) {\n          atLength = genericRegion.template === 0 ? 4 : 1;\n          at = [];\n          for (i = 0; i < atLength; i++) {\n            at.push({\n              x: (0, _util.readInt8)(data, position),\n              y: (0, _util.readInt8)(data, position + 1)\n            });\n            position += 2;\n          }\n          genericRegion.at = at;\n        }\n        args = [genericRegion, data, position, end];\n        break;\n      case 48:\n        var pageInfo = {\n          width: (0, _util.readUint32)(data, position),\n          height: (0, _util.readUint32)(data, position + 4),\n          resolutionX: (0, _util.readUint32)(data, position + 8),\n          resolutionY: (0, _util.readUint32)(data, position + 12)\n        };\n        if (pageInfo.height === 0xFFFFFFFF) {\n          delete pageInfo.height;\n        }\n        var pageSegmentFlags = data[position + 16];\n        (0, _util.readUint16)(data, position + 17);\n        pageInfo.lossless = !!(pageSegmentFlags & 1);\n        pageInfo.refinement = !!(pageSegmentFlags & 2);\n        pageInfo.defaultPixelValue = pageSegmentFlags >> 2 & 1;\n        pageInfo.combinationOperator = pageSegmentFlags >> 3 & 3;\n        pageInfo.requiresBuffer = !!(pageSegmentFlags & 32);\n        pageInfo.combinationOperatorOverride = !!(pageSegmentFlags & 64);\n        args = [pageInfo];\n        break;\n      case 49:\n        break;\n      case 50:\n        break;\n      case 51:\n        break;\n      case 62:\n        break;\n      default:\n        throw new Jbig2Error('segment type ' + header.typeName + '(' + header.type + ')' + ' is not implemented');\n    }\n    var callbackName = 'on' + header.typeName;\n    if (callbackName in visitor) {\n      visitor[callbackName].apply(visitor, args);\n    }\n  }\n  function processSegments(segments, visitor) {\n    for (var i = 0, ii = segments.length; i < ii; i++) {\n      processSegment(segments[i], visitor);\n    }\n  }\n  function parseJbig2(data, start, end) {\n    var position = start;\n    if (data[position] !== 0x97 || data[position + 1] !== 0x4A || data[position + 2] !== 0x42 || data[position + 3] !== 0x32 || data[position + 4] !== 0x0D || data[position + 5] !== 0x0A || data[position + 6] !== 0x1A || data[position + 7] !== 0x0A) {\n      throw new Jbig2Error('invalid header');\n    }\n    var header = {};\n    position += 8;\n    var flags = data[position++];\n    header.randomAccess = !(flags & 1);\n    if (!(flags & 2)) {\n      header.numberOfPages = (0, _util.readUint32)(data, position);\n      position += 4;\n    }\n    readSegments(header, data, position, end);\n    throw new Error('Not implemented');\n  }\n  function parseJbig2Chunks(chunks) {\n    var visitor = new SimpleSegmentVisitor();\n    for (var i = 0, ii = chunks.length; i < ii; i++) {\n      var chunk = chunks[i];\n      var segments = readSegments({}, chunk.data, chunk.start, chunk.end);\n      processSegments(segments, visitor);\n    }\n    return visitor.buffer;\n  }\n  function SimpleSegmentVisitor() {}\n  SimpleSegmentVisitor.prototype = {\n    onPageInformation: function SimpleSegmentVisitor_onPageInformation(info) {\n      this.currentPageInfo = info;\n      var rowSize = info.width + 7 >> 3;\n      var buffer = new Uint8ClampedArray(rowSize * info.height);\n      if (info.defaultPixelValue) {\n        for (var i = 0, ii = buffer.length; i < ii; i++) {\n          buffer[i] = 0xFF;\n        }\n      }\n      this.buffer = buffer;\n    },\n    drawBitmap: function SimpleSegmentVisitor_drawBitmap(regionInfo, bitmap) {\n      var pageInfo = this.currentPageInfo;\n      var width = regionInfo.width,\n          height = regionInfo.height;\n      var rowSize = pageInfo.width + 7 >> 3;\n      var combinationOperator = pageInfo.combinationOperatorOverride ? regionInfo.combinationOperator : pageInfo.combinationOperator;\n      var buffer = this.buffer;\n      var mask0 = 128 >> (regionInfo.x & 7);\n      var offset0 = regionInfo.y * rowSize + (regionInfo.x >> 3);\n      var i, j, mask, offset;\n      switch (combinationOperator) {\n        case 0:\n          for (i = 0; i < height; i++) {\n            mask = mask0;\n            offset = offset0;\n            for (j = 0; j < width; j++) {\n              if (bitmap[i][j]) {\n                buffer[offset] |= mask;\n              }\n              mask >>= 1;\n              if (!mask) {\n                mask = 128;\n                offset++;\n              }\n            }\n            offset0 += rowSize;\n          }\n          break;\n        case 2:\n          for (i = 0; i < height; i++) {\n            mask = mask0;\n            offset = offset0;\n            for (j = 0; j < width; j++) {\n              if (bitmap[i][j]) {\n                buffer[offset] ^= mask;\n              }\n              mask >>= 1;\n              if (!mask) {\n                mask = 128;\n                offset++;\n              }\n            }\n            offset0 += rowSize;\n          }\n          break;\n        default:\n          throw new Jbig2Error('operator ' + combinationOperator + ' is not supported');\n      }\n    },\n    onImmediateGenericRegion: function SimpleSegmentVisitor_onImmediateGenericRegion(region, data, start, end) {\n      var regionInfo = region.info;\n      var decodingContext = new DecodingContext(data, start, end);\n      var bitmap = decodeBitmap(region.mmr, regionInfo.width, regionInfo.height, region.template, region.prediction, null, region.at, decodingContext);\n      this.drawBitmap(regionInfo, bitmap);\n    },\n    onImmediateLosslessGenericRegion: function SimpleSegmentVisitor_onImmediateLosslessGenericRegion() {\n      this.onImmediateGenericRegion.apply(this, arguments);\n    },\n    onSymbolDictionary: function SimpleSegmentVisitor_onSymbolDictionary(dictionary, currentSegment, referredSegments, data, start, end) {\n      var huffmanTables;\n      if (dictionary.huffman) {\n        throw new Jbig2Error('huffman is not supported');\n      }\n      var symbols = this.symbols;\n      if (!symbols) {\n        this.symbols = symbols = {};\n      }\n      var inputSymbols = [];\n      for (var i = 0, ii = referredSegments.length; i < ii; i++) {\n        inputSymbols = inputSymbols.concat(symbols[referredSegments[i]]);\n      }\n      var decodingContext = new DecodingContext(data, start, end);\n      symbols[currentSegment] = decodeSymbolDictionary(dictionary.huffman, dictionary.refinement, inputSymbols, dictionary.numberOfNewSymbols, dictionary.numberOfExportedSymbols, huffmanTables, dictionary.template, dictionary.at, dictionary.refinementTemplate, dictionary.refinementAt, decodingContext);\n    },\n    onImmediateTextRegion: function SimpleSegmentVisitor_onImmediateTextRegion(region, referredSegments, data, start, end) {\n      var regionInfo = region.info;\n      var huffmanTables;\n      var symbols = this.symbols;\n      var inputSymbols = [];\n      for (var i = 0, ii = referredSegments.length; i < ii; i++) {\n        inputSymbols = inputSymbols.concat(symbols[referredSegments[i]]);\n      }\n      var symbolCodeLength = (0, _util.log2)(inputSymbols.length);\n      var decodingContext = new DecodingContext(data, start, end);\n      var bitmap = decodeTextRegion(region.huffman, region.refinement, regionInfo.width, regionInfo.height, region.defaultPixelValue, region.numberOfSymbolInstances, region.stripSize, inputSymbols, symbolCodeLength, region.transposed, region.dsOffset, region.referenceCorner, region.combinationOperator, huffmanTables, region.refinementTemplate, region.refinementAt, decodingContext);\n      this.drawBitmap(regionInfo, bitmap);\n    },\n    onImmediateLosslessTextRegion: function SimpleSegmentVisitor_onImmediateLosslessTextRegion() {\n      this.onImmediateTextRegion.apply(this, arguments);\n    },\n    onPatternDictionary: function onPatternDictionary(dictionary, currentSegment, data, start, end) {\n      var patterns = this.patterns;\n      if (!patterns) {\n        this.patterns = patterns = {};\n      }\n      var decodingContext = new DecodingContext(data, start, end);\n      patterns[currentSegment] = decodePatternDictionary(dictionary.mmr, dictionary.patternWidth, dictionary.patternHeight, dictionary.maxPatternIndex, dictionary.template, decodingContext);\n    },\n    onImmediateHalftoneRegion: function onImmediateHalftoneRegion(region, referredSegments, data, start, end) {\n      var patterns = this.patterns[referredSegments[0]];\n      var regionInfo = region.info;\n      var decodingContext = new DecodingContext(data, start, end);\n      var bitmap = decodeHalftoneRegion(region.mmr, patterns, region.template, regionInfo.width, regionInfo.height, region.defaultPixelValue, region.enableSkip, region.combinationOperator, region.gridWidth, region.gridHeight, region.gridOffsetX, region.gridOffsetY, region.gridVectorX, region.gridVectorY, decodingContext);\n      this.drawBitmap(regionInfo, bitmap);\n    },\n    onImmediateLosslessHalftoneRegion: function onImmediateLosslessHalftoneRegion() {\n      this.onImmediateHalftoneRegion.apply(this, arguments);\n    }\n  };\n  function Jbig2Image() {}\n  Jbig2Image.prototype = {\n    parseChunks: function Jbig2Image_parseChunks(chunks) {\n      return parseJbig2Chunks(chunks);\n    }\n  };\n  return Jbig2Image;\n}();\nexports.Jbig2Image = Jbig2Image;\n\n/***/ }),\n/* 148 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.CMapFactory = exports.IdentityCMap = exports.CMap = undefined;\n\nvar _util = __w_pdfjs_require__(0);\n\nvar _primitives = __w_pdfjs_require__(2);\n\nvar _parser = __w_pdfjs_require__(36);\n\nvar _stream = __w_pdfjs_require__(5);\n\nvar BUILT_IN_CMAPS = ['Adobe-GB1-UCS2', 'Adobe-CNS1-UCS2', 'Adobe-Japan1-UCS2', 'Adobe-Korea1-UCS2', '78-EUC-H', '78-EUC-V', '78-H', '78-RKSJ-H', '78-RKSJ-V', '78-V', '78ms-RKSJ-H', '78ms-RKSJ-V', '83pv-RKSJ-H', '90ms-RKSJ-H', '90ms-RKSJ-V', '90msp-RKSJ-H', '90msp-RKSJ-V', '90pv-RKSJ-H', '90pv-RKSJ-V', 'Add-H', 'Add-RKSJ-H', 'Add-RKSJ-V', 'Add-V', 'Adobe-CNS1-0', 'Adobe-CNS1-1', 'Adobe-CNS1-2', 'Adobe-CNS1-3', 'Adobe-CNS1-4', 'Adobe-CNS1-5', 'Adobe-CNS1-6', 'Adobe-GB1-0', 'Adobe-GB1-1', 'Adobe-GB1-2', 'Adobe-GB1-3', 'Adobe-GB1-4', 'Adobe-GB1-5', 'Adobe-Japan1-0', 'Adobe-Japan1-1', 'Adobe-Japan1-2', 'Adobe-Japan1-3', 'Adobe-Japan1-4', 'Adobe-Japan1-5', 'Adobe-Japan1-6', 'Adobe-Korea1-0', 'Adobe-Korea1-1', 'Adobe-Korea1-2', 'B5-H', 'B5-V', 'B5pc-H', 'B5pc-V', 'CNS-EUC-H', 'CNS-EUC-V', 'CNS1-H', 'CNS1-V', 'CNS2-H', 'CNS2-V', 'ETHK-B5-H', 'ETHK-B5-V', 'ETen-B5-H', 'ETen-B5-V', 'ETenms-B5-H', 'ETenms-B5-V', 'EUC-H', 'EUC-V', 'Ext-H', 'Ext-RKSJ-H', 'Ext-RKSJ-V', 'Ext-V', 'GB-EUC-H', 'GB-EUC-V', 'GB-H', 'GB-V', 'GBK-EUC-H', 'GBK-EUC-V', 'GBK2K-H', 'GBK2K-V', 'GBKp-EUC-H', 'GBKp-EUC-V', 'GBT-EUC-H', 'GBT-EUC-V', 'GBT-H', 'GBT-V', 'GBTpc-EUC-H', 'GBTpc-EUC-V', 'GBpc-EUC-H', 'GBpc-EUC-V', 'H', 'HKdla-B5-H', 'HKdla-B5-V', 'HKdlb-B5-H', 'HKdlb-B5-V', 'HKgccs-B5-H', 'HKgccs-B5-V', 'HKm314-B5-H', 'HKm314-B5-V', 'HKm471-B5-H', 'HKm471-B5-V', 'HKscs-B5-H', 'HKscs-B5-V', 'Hankaku', 'Hiragana', 'KSC-EUC-H', 'KSC-EUC-V', 'KSC-H', 'KSC-Johab-H', 'KSC-Johab-V', 'KSC-V', 'KSCms-UHC-H', 'KSCms-UHC-HW-H', 'KSCms-UHC-HW-V', 'KSCms-UHC-V', 'KSCpc-EUC-H', 'KSCpc-EUC-V', 'Katakana', 'NWP-H', 'NWP-V', 'RKSJ-H', 'RKSJ-V', 'Roman', 'UniCNS-UCS2-H', 'UniCNS-UCS2-V', 'UniCNS-UTF16-H', 'UniCNS-UTF16-V', 'UniCNS-UTF32-H', 'UniCNS-UTF32-V', 'UniCNS-UTF8-H', 'UniCNS-UTF8-V', 'UniGB-UCS2-H', 'UniGB-UCS2-V', 'UniGB-UTF16-H', 'UniGB-UTF16-V', 'UniGB-UTF32-H', 'UniGB-UTF32-V', 'UniGB-UTF8-H', 'UniGB-UTF8-V', 'UniJIS-UCS2-H', 'UniJIS-UCS2-HW-H', 'UniJIS-UCS2-HW-V', 'UniJIS-UCS2-V', 'UniJIS-UTF16-H', 'UniJIS-UTF16-V', 'UniJIS-UTF32-H', 'UniJIS-UTF32-V', 'UniJIS-UTF8-H', 'UniJIS-UTF8-V', 'UniJIS2004-UTF16-H', 'UniJIS2004-UTF16-V', 'UniJIS2004-UTF32-H', 'UniJIS2004-UTF32-V', 'UniJIS2004-UTF8-H', 'UniJIS2004-UTF8-V', 'UniJISPro-UCS2-HW-V', 'UniJISPro-UCS2-V', 'UniJISPro-UTF8-V', 'UniJISX0213-UTF32-H', 'UniJISX0213-UTF32-V', 'UniJISX02132004-UTF32-H', 'UniJISX02132004-UTF32-V', 'UniKS-UCS2-H', 'UniKS-UCS2-V', 'UniKS-UTF16-H', 'UniKS-UTF16-V', 'UniKS-UTF32-H', 'UniKS-UTF32-V', 'UniKS-UTF8-H', 'UniKS-UTF8-V', 'V', 'WP-Symbol'];\nvar CMap = function CMapClosure() {\n  function CMap(builtInCMap) {\n    this.codespaceRanges = [[], [], [], []];\n    this.numCodespaceRanges = 0;\n    this._map = [];\n    this.name = '';\n    this.vertical = false;\n    this.useCMap = null;\n    this.builtInCMap = builtInCMap;\n  }\n  CMap.prototype = {\n    addCodespaceRange: function addCodespaceRange(n, low, high) {\n      this.codespaceRanges[n - 1].push(low, high);\n      this.numCodespaceRanges++;\n    },\n    mapCidRange: function mapCidRange(low, high, dstLow) {\n      while (low <= high) {\n        this._map[low++] = dstLow++;\n      }\n    },\n    mapBfRange: function mapBfRange(low, high, dstLow) {\n      var lastByte = dstLow.length - 1;\n      while (low <= high) {\n        this._map[low++] = dstLow;\n        dstLow = dstLow.substr(0, lastByte) + String.fromCharCode(dstLow.charCodeAt(lastByte) + 1);\n      }\n    },\n    mapBfRangeToArray: function mapBfRangeToArray(low, high, array) {\n      var i = 0,\n          ii = array.length;\n      while (low <= high && i < ii) {\n        this._map[low] = array[i++];\n        ++low;\n      }\n    },\n    mapOne: function mapOne(src, dst) {\n      this._map[src] = dst;\n    },\n    lookup: function lookup(code) {\n      return this._map[code];\n    },\n    contains: function contains(code) {\n      return this._map[code] !== undefined;\n    },\n    forEach: function forEach(callback) {\n      var map = this._map;\n      var length = map.length;\n      if (length <= 0x10000) {\n        for (var i = 0; i < length; i++) {\n          if (map[i] !== undefined) {\n            callback(i, map[i]);\n          }\n        }\n      } else {\n        for (var _i in map) {\n          callback(_i, map[_i]);\n        }\n      }\n    },\n    charCodeOf: function charCodeOf(value) {\n      var map = this._map;\n      if (map.length <= 0x10000) {\n        return map.indexOf(value);\n      }\n      for (var charCode in map) {\n        if (map[charCode] === value) {\n          return charCode | 0;\n        }\n      }\n      return -1;\n    },\n    getMap: function getMap() {\n      return this._map;\n    },\n    readCharCode: function readCharCode(str, offset, out) {\n      var c = 0;\n      var codespaceRanges = this.codespaceRanges;\n      var codespaceRangesLen = this.codespaceRanges.length;\n      for (var n = 0; n < codespaceRangesLen; n++) {\n        c = (c << 8 | str.charCodeAt(offset + n)) >>> 0;\n        var codespaceRange = codespaceRanges[n];\n        for (var k = 0, kk = codespaceRange.length; k < kk;) {\n          var low = codespaceRange[k++];\n          var high = codespaceRange[k++];\n          if (c >= low && c <= high) {\n            out.charcode = c;\n            out.length = n + 1;\n            return;\n          }\n        }\n      }\n      out.charcode = 0;\n      out.length = 1;\n    },\n\n    get length() {\n      return this._map.length;\n    },\n    get isIdentityCMap() {\n      if (!(this.name === 'Identity-H' || this.name === 'Identity-V')) {\n        return false;\n      }\n      if (this._map.length !== 0x10000) {\n        return false;\n      }\n      for (var i = 0; i < 0x10000; i++) {\n        if (this._map[i] !== i) {\n          return false;\n        }\n      }\n      return true;\n    }\n  };\n  return CMap;\n}();\nvar IdentityCMap = function IdentityCMapClosure() {\n  function IdentityCMap(vertical, n) {\n    CMap.call(this);\n    this.vertical = vertical;\n    this.addCodespaceRange(n, 0, 0xffff);\n  }\n  _util.Util.inherit(IdentityCMap, CMap, {});\n  IdentityCMap.prototype = {\n    addCodespaceRange: CMap.prototype.addCodespaceRange,\n    mapCidRange: function mapCidRange(low, high, dstLow) {\n      throw new Error('should not call mapCidRange');\n    },\n    mapBfRange: function mapBfRange(low, high, dstLow) {\n      throw new Error('should not call mapBfRange');\n    },\n    mapBfRangeToArray: function mapBfRangeToArray(low, high, array) {\n      throw new Error('should not call mapBfRangeToArray');\n    },\n    mapOne: function mapOne(src, dst) {\n      throw new Error('should not call mapCidOne');\n    },\n    lookup: function lookup(code) {\n      return Number.isInteger(code) && code <= 0xffff ? code : undefined;\n    },\n    contains: function contains(code) {\n      return Number.isInteger(code) && code <= 0xffff;\n    },\n    forEach: function forEach(callback) {\n      for (var i = 0; i <= 0xffff; i++) {\n        callback(i, i);\n      }\n    },\n    charCodeOf: function charCodeOf(value) {\n      return Number.isInteger(value) && value <= 0xffff ? value : -1;\n    },\n    getMap: function getMap() {\n      var map = new Array(0x10000);\n      for (var i = 0; i <= 0xffff; i++) {\n        map[i] = i;\n      }\n      return map;\n    },\n\n    readCharCode: CMap.prototype.readCharCode,\n    get length() {\n      return 0x10000;\n    },\n    get isIdentityCMap() {\n      throw new Error('should not access .isIdentityCMap');\n    }\n  };\n  return IdentityCMap;\n}();\nvar BinaryCMapReader = function BinaryCMapReaderClosure() {\n  function hexToInt(a, size) {\n    var n = 0;\n    for (var i = 0; i <= size; i++) {\n      n = n << 8 | a[i];\n    }\n    return n >>> 0;\n  }\n  function hexToStr(a, size) {\n    if (size === 1) {\n      return String.fromCharCode(a[0], a[1]);\n    }\n    if (size === 3) {\n      return String.fromCharCode(a[0], a[1], a[2], a[3]);\n    }\n    return String.fromCharCode.apply(null, a.subarray(0, size + 1));\n  }\n  function addHex(a, b, size) {\n    var c = 0;\n    for (var i = size; i >= 0; i--) {\n      c += a[i] + b[i];\n      a[i] = c & 255;\n      c >>= 8;\n    }\n  }\n  function incHex(a, size) {\n    var c = 1;\n    for (var i = size; i >= 0 && c > 0; i--) {\n      c += a[i];\n      a[i] = c & 255;\n      c >>= 8;\n    }\n  }\n  var MAX_NUM_SIZE = 16;\n  var MAX_ENCODED_NUM_SIZE = 19;\n  function BinaryCMapStream(data) {\n    this.buffer = data;\n    this.pos = 0;\n    this.end = data.length;\n    this.tmpBuf = new Uint8Array(MAX_ENCODED_NUM_SIZE);\n  }\n  BinaryCMapStream.prototype = {\n    readByte: function readByte() {\n      if (this.pos >= this.end) {\n        return -1;\n      }\n      return this.buffer[this.pos++];\n    },\n    readNumber: function readNumber() {\n      var n = 0;\n      var last;\n      do {\n        var b = this.readByte();\n        if (b < 0) {\n          throw new _util.FormatError('unexpected EOF in bcmap');\n        }\n        last = !(b & 0x80);\n        n = n << 7 | b & 0x7F;\n      } while (!last);\n      return n;\n    },\n    readSigned: function readSigned() {\n      var n = this.readNumber();\n      return n & 1 ? ~(n >>> 1) : n >>> 1;\n    },\n    readHex: function readHex(num, size) {\n      num.set(this.buffer.subarray(this.pos, this.pos + size + 1));\n      this.pos += size + 1;\n    },\n    readHexNumber: function readHexNumber(num, size) {\n      var last;\n      var stack = this.tmpBuf,\n          sp = 0;\n      do {\n        var b = this.readByte();\n        if (b < 0) {\n          throw new _util.FormatError('unexpected EOF in bcmap');\n        }\n        last = !(b & 0x80);\n        stack[sp++] = b & 0x7F;\n      } while (!last);\n      var i = size,\n          buffer = 0,\n          bufferSize = 0;\n      while (i >= 0) {\n        while (bufferSize < 8 && stack.length > 0) {\n          buffer = stack[--sp] << bufferSize | buffer;\n          bufferSize += 7;\n        }\n        num[i] = buffer & 255;\n        i--;\n        buffer >>= 8;\n        bufferSize -= 8;\n      }\n    },\n    readHexSigned: function readHexSigned(num, size) {\n      this.readHexNumber(num, size);\n      var sign = num[size] & 1 ? 255 : 0;\n      var c = 0;\n      for (var i = 0; i <= size; i++) {\n        c = (c & 1) << 8 | num[i];\n        num[i] = c >> 1 ^ sign;\n      }\n    },\n    readString: function readString() {\n      var len = this.readNumber();\n      var s = '';\n      for (var i = 0; i < len; i++) {\n        s += String.fromCharCode(this.readNumber());\n      }\n      return s;\n    }\n  };\n  function processBinaryCMap(data, cMap, extend) {\n    return new Promise(function (resolve, reject) {\n      var stream = new BinaryCMapStream(data);\n      var header = stream.readByte();\n      cMap.vertical = !!(header & 1);\n      var useCMap = null;\n      var start = new Uint8Array(MAX_NUM_SIZE);\n      var end = new Uint8Array(MAX_NUM_SIZE);\n      var char = new Uint8Array(MAX_NUM_SIZE);\n      var charCode = new Uint8Array(MAX_NUM_SIZE);\n      var tmp = new Uint8Array(MAX_NUM_SIZE);\n      var code;\n      var b;\n      while ((b = stream.readByte()) >= 0) {\n        var type = b >> 5;\n        if (type === 7) {\n          switch (b & 0x1F) {\n            case 0:\n              stream.readString();\n              break;\n            case 1:\n              useCMap = stream.readString();\n              break;\n          }\n          continue;\n        }\n        var sequence = !!(b & 0x10);\n        var dataSize = b & 15;\n        if (dataSize + 1 > MAX_NUM_SIZE) {\n          throw new Error('processBinaryCMap: Invalid dataSize.');\n        }\n        var ucs2DataSize = 1;\n        var subitemsCount = stream.readNumber();\n        var i;\n        switch (type) {\n          case 0:\n            stream.readHex(start, dataSize);\n            stream.readHexNumber(end, dataSize);\n            addHex(end, start, dataSize);\n            cMap.addCodespaceRange(dataSize + 1, hexToInt(start, dataSize), hexToInt(end, dataSize));\n            for (i = 1; i < subitemsCount; i++) {\n              incHex(end, dataSize);\n              stream.readHexNumber(start, dataSize);\n              addHex(start, end, dataSize);\n              stream.readHexNumber(end, dataSize);\n              addHex(end, start, dataSize);\n              cMap.addCodespaceRange(dataSize + 1, hexToInt(start, dataSize), hexToInt(end, dataSize));\n            }\n            break;\n          case 1:\n            stream.readHex(start, dataSize);\n            stream.readHexNumber(end, dataSize);\n            addHex(end, start, dataSize);\n            code = stream.readNumber();\n            for (i = 1; i < subitemsCount; i++) {\n              incHex(end, dataSize);\n              stream.readHexNumber(start, dataSize);\n              addHex(start, end, dataSize);\n              stream.readHexNumber(end, dataSize);\n              addHex(end, start, dataSize);\n              code = stream.readNumber();\n            }\n            break;\n          case 2:\n            stream.readHex(char, dataSize);\n            code = stream.readNumber();\n            cMap.mapOne(hexToInt(char, dataSize), code);\n            for (i = 1; i < subitemsCount; i++) {\n              incHex(char, dataSize);\n              if (!sequence) {\n                stream.readHexNumber(tmp, dataSize);\n                addHex(char, tmp, dataSize);\n              }\n              code = stream.readSigned() + (code + 1);\n              cMap.mapOne(hexToInt(char, dataSize), code);\n            }\n            break;\n          case 3:\n            stream.readHex(start, dataSize);\n            stream.readHexNumber(end, dataSize);\n            addHex(end, start, dataSize);\n            code = stream.readNumber();\n            cMap.mapCidRange(hexToInt(start, dataSize), hexToInt(end, dataSize), code);\n            for (i = 1; i < subitemsCount; i++) {\n              incHex(end, dataSize);\n              if (!sequence) {\n                stream.readHexNumber(start, dataSize);\n                addHex(start, end, dataSize);\n              } else {\n                start.set(end);\n              }\n              stream.readHexNumber(end, dataSize);\n              addHex(end, start, dataSize);\n              code = stream.readNumber();\n              cMap.mapCidRange(hexToInt(start, dataSize), hexToInt(end, dataSize), code);\n            }\n            break;\n          case 4:\n            stream.readHex(char, ucs2DataSize);\n            stream.readHex(charCode, dataSize);\n            cMap.mapOne(hexToInt(char, ucs2DataSize), hexToStr(charCode, dataSize));\n            for (i = 1; i < subitemsCount; i++) {\n              incHex(char, ucs2DataSize);\n              if (!sequence) {\n                stream.readHexNumber(tmp, ucs2DataSize);\n                addHex(char, tmp, ucs2DataSize);\n              }\n              incHex(charCode, dataSize);\n              stream.readHexSigned(tmp, dataSize);\n              addHex(charCode, tmp, dataSize);\n              cMap.mapOne(hexToInt(char, ucs2DataSize), hexToStr(charCode, dataSize));\n            }\n            break;\n          case 5:\n            stream.readHex(start, ucs2DataSize);\n            stream.readHexNumber(end, ucs2DataSize);\n            addHex(end, start, ucs2DataSize);\n            stream.readHex(charCode, dataSize);\n            cMap.mapBfRange(hexToInt(start, ucs2DataSize), hexToInt(end, ucs2DataSize), hexToStr(charCode, dataSize));\n            for (i = 1; i < subitemsCount; i++) {\n              incHex(end, ucs2DataSize);\n              if (!sequence) {\n                stream.readHexNumber(start, ucs2DataSize);\n                addHex(start, end, ucs2DataSize);\n              } else {\n                start.set(end);\n              }\n              stream.readHexNumber(end, ucs2DataSize);\n              addHex(end, start, ucs2DataSize);\n              stream.readHex(charCode, dataSize);\n              cMap.mapBfRange(hexToInt(start, ucs2DataSize), hexToInt(end, ucs2DataSize), hexToStr(charCode, dataSize));\n            }\n            break;\n          default:\n            reject(new Error('processBinaryCMap: Unknown type: ' + type));\n            return;\n        }\n      }\n      if (useCMap) {\n        resolve(extend(useCMap));\n        return;\n      }\n      resolve(cMap);\n    });\n  }\n  function BinaryCMapReader() {}\n  BinaryCMapReader.prototype = { process: processBinaryCMap };\n  return BinaryCMapReader;\n}();\nvar CMapFactory = function CMapFactoryClosure() {\n  function strToInt(str) {\n    var a = 0;\n    for (var i = 0; i < str.length; i++) {\n      a = a << 8 | str.charCodeAt(i);\n    }\n    return a >>> 0;\n  }\n  function expectString(obj) {\n    if (!(0, _util.isString)(obj)) {\n      throw new _util.FormatError('Malformed CMap: expected string.');\n    }\n  }\n  function expectInt(obj) {\n    if (!Number.isInteger(obj)) {\n      throw new _util.FormatError('Malformed CMap: expected int.');\n    }\n  }\n  function parseBfChar(cMap, lexer) {\n    while (true) {\n      var obj = lexer.getObj();\n      if ((0, _primitives.isEOF)(obj)) {\n        break;\n      }\n      if ((0, _primitives.isCmd)(obj, 'endbfchar')) {\n        return;\n      }\n      expectString(obj);\n      var src = strToInt(obj);\n      obj = lexer.getObj();\n      expectString(obj);\n      var dst = obj;\n      cMap.mapOne(src, dst);\n    }\n  }\n  function parseBfRange(cMap, lexer) {\n    while (true) {\n      var obj = lexer.getObj();\n      if ((0, _primitives.isEOF)(obj)) {\n        break;\n      }\n      if ((0, _primitives.isCmd)(obj, 'endbfrange')) {\n        return;\n      }\n      expectString(obj);\n      var low = strToInt(obj);\n      obj = lexer.getObj();\n      expectString(obj);\n      var high = strToInt(obj);\n      obj = lexer.getObj();\n      if (Number.isInteger(obj) || (0, _util.isString)(obj)) {\n        var dstLow = Number.isInteger(obj) ? String.fromCharCode(obj) : obj;\n        cMap.mapBfRange(low, high, dstLow);\n      } else if ((0, _primitives.isCmd)(obj, '[')) {\n        obj = lexer.getObj();\n        var array = [];\n        while (!(0, _primitives.isCmd)(obj, ']') && !(0, _primitives.isEOF)(obj)) {\n          array.push(obj);\n          obj = lexer.getObj();\n        }\n        cMap.mapBfRangeToArray(low, high, array);\n      } else {\n        break;\n      }\n    }\n    throw new _util.FormatError('Invalid bf range.');\n  }\n  function parseCidChar(cMap, lexer) {\n    while (true) {\n      var obj = lexer.getObj();\n      if ((0, _primitives.isEOF)(obj)) {\n        break;\n      }\n      if ((0, _primitives.isCmd)(obj, 'endcidchar')) {\n        return;\n      }\n      expectString(obj);\n      var src = strToInt(obj);\n      obj = lexer.getObj();\n      expectInt(obj);\n      var dst = obj;\n      cMap.mapOne(src, dst);\n    }\n  }\n  function parseCidRange(cMap, lexer) {\n    while (true) {\n      var obj = lexer.getObj();\n      if ((0, _primitives.isEOF)(obj)) {\n        break;\n      }\n      if ((0, _primitives.isCmd)(obj, 'endcidrange')) {\n        return;\n      }\n      expectString(obj);\n      var low = strToInt(obj);\n      obj = lexer.getObj();\n      expectString(obj);\n      var high = strToInt(obj);\n      obj = lexer.getObj();\n      expectInt(obj);\n      var dstLow = obj;\n      cMap.mapCidRange(low, high, dstLow);\n    }\n  }\n  function parseCodespaceRange(cMap, lexer) {\n    while (true) {\n      var obj = lexer.getObj();\n      if ((0, _primitives.isEOF)(obj)) {\n        break;\n      }\n      if ((0, _primitives.isCmd)(obj, 'endcodespacerange')) {\n        return;\n      }\n      if (!(0, _util.isString)(obj)) {\n        break;\n      }\n      var low = strToInt(obj);\n      obj = lexer.getObj();\n      if (!(0, _util.isString)(obj)) {\n        break;\n      }\n      var high = strToInt(obj);\n      cMap.addCodespaceRange(obj.length, low, high);\n    }\n    throw new _util.FormatError('Invalid codespace range.');\n  }\n  function parseWMode(cMap, lexer) {\n    var obj = lexer.getObj();\n    if (Number.isInteger(obj)) {\n      cMap.vertical = !!obj;\n    }\n  }\n  function parseCMapName(cMap, lexer) {\n    var obj = lexer.getObj();\n    if ((0, _primitives.isName)(obj) && (0, _util.isString)(obj.name)) {\n      cMap.name = obj.name;\n    }\n  }\n  function parseCMap(cMap, lexer, fetchBuiltInCMap, useCMap) {\n    var previous;\n    var embededUseCMap;\n    objLoop: while (true) {\n      try {\n        var obj = lexer.getObj();\n        if ((0, _primitives.isEOF)(obj)) {\n          break;\n        } else if ((0, _primitives.isName)(obj)) {\n          if (obj.name === 'WMode') {\n            parseWMode(cMap, lexer);\n          } else if (obj.name === 'CMapName') {\n            parseCMapName(cMap, lexer);\n          }\n          previous = obj;\n        } else if ((0, _primitives.isCmd)(obj)) {\n          switch (obj.cmd) {\n            case 'endcmap':\n              break objLoop;\n            case 'usecmap':\n              if ((0, _primitives.isName)(previous)) {\n                embededUseCMap = previous.name;\n              }\n              break;\n            case 'begincodespacerange':\n              parseCodespaceRange(cMap, lexer);\n              break;\n            case 'beginbfchar':\n              parseBfChar(cMap, lexer);\n              break;\n            case 'begincidchar':\n              parseCidChar(cMap, lexer);\n              break;\n            case 'beginbfrange':\n              parseBfRange(cMap, lexer);\n              break;\n            case 'begincidrange':\n              parseCidRange(cMap, lexer);\n              break;\n          }\n        }\n      } catch (ex) {\n        if (ex instanceof _util.MissingDataException) {\n          throw ex;\n        }\n        (0, _util.warn)('Invalid cMap data: ' + ex);\n        continue;\n      }\n    }\n    if (!useCMap && embededUseCMap) {\n      useCMap = embededUseCMap;\n    }\n    if (useCMap) {\n      return extendCMap(cMap, fetchBuiltInCMap, useCMap);\n    }\n    return Promise.resolve(cMap);\n  }\n  function extendCMap(cMap, fetchBuiltInCMap, useCMap) {\n    return createBuiltInCMap(useCMap, fetchBuiltInCMap).then(function (newCMap) {\n      cMap.useCMap = newCMap;\n      if (cMap.numCodespaceRanges === 0) {\n        var useCodespaceRanges = cMap.useCMap.codespaceRanges;\n        for (var i = 0; i < useCodespaceRanges.length; i++) {\n          cMap.codespaceRanges[i] = useCodespaceRanges[i].slice();\n        }\n        cMap.numCodespaceRanges = cMap.useCMap.numCodespaceRanges;\n      }\n      cMap.useCMap.forEach(function (key, value) {\n        if (!cMap.contains(key)) {\n          cMap.mapOne(key, cMap.useCMap.lookup(key));\n        }\n      });\n      return cMap;\n    });\n  }\n  function createBuiltInCMap(name, fetchBuiltInCMap) {\n    if (name === 'Identity-H') {\n      return Promise.resolve(new IdentityCMap(false, 2));\n    } else if (name === 'Identity-V') {\n      return Promise.resolve(new IdentityCMap(true, 2));\n    }\n    if (BUILT_IN_CMAPS.indexOf(name) === -1) {\n      return Promise.reject(new Error('Unknown CMap name: ' + name));\n    }\n    if (!fetchBuiltInCMap) {\n      return Promise.reject(new Error('Built-in CMap parameters are not provided.'));\n    }\n    return fetchBuiltInCMap(name).then(function (data) {\n      var cMapData = data.cMapData,\n          compressionType = data.compressionType;\n      var cMap = new CMap(true);\n      if (compressionType === _util.CMapCompressionType.BINARY) {\n        return new BinaryCMapReader().process(cMapData, cMap, function (useCMap) {\n          return extendCMap(cMap, fetchBuiltInCMap, useCMap);\n        });\n      }\n      if (compressionType === _util.CMapCompressionType.NONE) {\n        var lexer = new _parser.Lexer(new _stream.Stream(cMapData));\n        return parseCMap(cMap, lexer, fetchBuiltInCMap, null);\n      }\n      return Promise.reject(new Error('TODO: Only BINARY/NONE CMap compression is currently supported.'));\n    });\n  }\n  return {\n    create: function create(params) {\n      var encoding = params.encoding;\n      var fetchBuiltInCMap = params.fetchBuiltInCMap;\n      var useCMap = params.useCMap;\n      if ((0, _primitives.isName)(encoding)) {\n        return createBuiltInCMap(encoding.name, fetchBuiltInCMap);\n      } else if ((0, _primitives.isStream)(encoding)) {\n        var cMap = new CMap();\n        var lexer = new _parser.Lexer(encoding);\n        return parseCMap(cMap, lexer, fetchBuiltInCMap, useCMap).then(function (parsedCMap) {\n          if (parsedCMap.isIdentityCMap) {\n            return createBuiltInCMap(parsedCMap.name, fetchBuiltInCMap);\n          }\n          return parsedCMap;\n        });\n      }\n      return Promise.reject(new Error('Encoding required.'));\n    }\n  };\n}();\nexports.CMap = CMap;\nexports.IdentityCMap = IdentityCMap;\nexports.CMapFactory = CMapFactory;\n\n/***/ }),\n/* 149 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.getFontType = exports.ProblematicCharRanges = exports.IdentityToUnicodeMap = exports.ToUnicodeMap = exports.FontFlags = exports.Font = exports.ErrorFont = exports.PRIVATE_USE_OFFSET_END = exports.PRIVATE_USE_OFFSET_START = exports.SEAC_ANALYSIS_ENABLED = undefined;\n\nvar _util = __w_pdfjs_require__(0);\n\nvar _cff_parser = __w_pdfjs_require__(84);\n\nvar _glyphlist = __w_pdfjs_require__(49);\n\nvar _encodings = __w_pdfjs_require__(30);\n\nvar _standard_fonts = __w_pdfjs_require__(85);\n\nvar _unicode = __w_pdfjs_require__(86);\n\nvar _font_renderer = __w_pdfjs_require__(151);\n\nvar _stream = __w_pdfjs_require__(5);\n\nvar _type1_parser = __w_pdfjs_require__(152);\n\nvar PRIVATE_USE_OFFSET_START = 0xE000;\nvar PRIVATE_USE_OFFSET_END = 0xF8FF;\nvar SKIP_PRIVATE_USE_RANGE_F000_TO_F01F = false;\nvar PDF_GLYPH_SPACE_UNITS = 1000;\nvar SEAC_ANALYSIS_ENABLED = false;\nvar FontFlags = {\n  FixedPitch: 1,\n  Serif: 2,\n  Symbolic: 4,\n  Script: 8,\n  Nonsymbolic: 32,\n  Italic: 64,\n  AllCap: 65536,\n  SmallCap: 131072,\n  ForceBold: 262144\n};\nvar MacStandardGlyphOrdering = ['.notdef', '.null', 'nonmarkingreturn', 'space', 'exclam', 'quotedbl', 'numbersign', 'dollar', 'percent', 'ampersand', 'quotesingle', 'parenleft', 'parenright', 'asterisk', 'plus', 'comma', 'hyphen', 'period', 'slash', 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'colon', 'semicolon', 'less', 'equal', 'greater', 'question', 'at', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'bracketleft', 'backslash', 'bracketright', 'asciicircum', 'underscore', 'grave', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'braceleft', 'bar', 'braceright', 'asciitilde', 'Adieresis', 'Aring', 'Ccedilla', 'Eacute', 'Ntilde', 'Odieresis', 'Udieresis', 'aacute', 'agrave', 'acircumflex', 'adieresis', 'atilde', 'aring', 'ccedilla', 'eacute', 'egrave', 'ecircumflex', 'edieresis', 'iacute', 'igrave', 'icircumflex', 'idieresis', 'ntilde', 'oacute', 'ograve', 'ocircumflex', 'odieresis', 'otilde', 'uacute', 'ugrave', 'ucircumflex', 'udieresis', 'dagger', 'degree', 'cent', 'sterling', 'section', 'bullet', 'paragraph', 'germandbls', 'registered', 'copyright', 'trademark', 'acute', 'dieresis', 'notequal', 'AE', 'Oslash', 'infinity', 'plusminus', 'lessequal', 'greaterequal', 'yen', 'mu', 'partialdiff', 'summation', 'product', 'pi', 'integral', 'ordfeminine', 'ordmasculine', 'Omega', 'ae', 'oslash', 'questiondown', 'exclamdown', 'logicalnot', 'radical', 'florin', 'approxequal', 'Delta', 'guillemotleft', 'guillemotright', 'ellipsis', 'nonbreakingspace', 'Agrave', 'Atilde', 'Otilde', 'OE', 'oe', 'endash', 'emdash', 'quotedblleft', 'quotedblright', 'quoteleft', 'quoteright', 'divide', 'lozenge', 'ydieresis', 'Ydieresis', 'fraction', 'currency', 'guilsinglleft', 'guilsinglright', 'fi', 'fl', 'daggerdbl', 'periodcentered', 'quotesinglbase', 'quotedblbase', 'perthousand', 'Acircumflex', 'Ecircumflex', 'Aacute', 'Edieresis', 'Egrave', 'Iacute', 'Icircumflex', 'Idieresis', 'Igrave', 'Oacute', 'Ocircumflex', 'apple', 'Ograve', 'Uacute', 'Ucircumflex', 'Ugrave', 'dotlessi', 'circumflex', 'tilde', 'macron', 'breve', 'dotaccent', 'ring', 'cedilla', 'hungarumlaut', 'ogonek', 'caron', 'Lslash', 'lslash', 'Scaron', 'scaron', 'Zcaron', 'zcaron', 'brokenbar', 'Eth', 'eth', 'Yacute', 'yacute', 'Thorn', 'thorn', 'minus', 'multiply', 'onesuperior', 'twosuperior', 'threesuperior', 'onehalf', 'onequarter', 'threequarters', 'franc', 'Gbreve', 'gbreve', 'Idotaccent', 'Scedilla', 'scedilla', 'Cacute', 'cacute', 'Ccaron', 'ccaron', 'dcroat'];\nfunction adjustWidths(properties) {\n  if (!properties.fontMatrix) {\n    return;\n  }\n  if (properties.fontMatrix[0] === _util.FONT_IDENTITY_MATRIX[0]) {\n    return;\n  }\n  var scale = 0.001 / properties.fontMatrix[0];\n  var glyphsWidths = properties.widths;\n  for (var glyph in glyphsWidths) {\n    glyphsWidths[glyph] *= scale;\n  }\n  properties.defaultWidth *= scale;\n}\nfunction adjustToUnicode(properties, builtInEncoding) {\n  if (properties.hasIncludedToUnicodeMap) {\n    return;\n  }\n  if (properties.hasEncoding) {\n    return;\n  }\n  if (builtInEncoding === properties.defaultEncoding) {\n    return;\n  }\n  if (properties.toUnicode instanceof IdentityToUnicodeMap) {\n    return;\n  }\n  var toUnicode = [],\n      glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n  for (var charCode in builtInEncoding) {\n    var glyphName = builtInEncoding[charCode];\n    var unicode = (0, _unicode.getUnicodeForGlyph)(glyphName, glyphsUnicodeMap);\n    if (unicode !== -1) {\n      toUnicode[charCode] = String.fromCharCode(unicode);\n    }\n  }\n  properties.toUnicode.amend(toUnicode);\n}\nfunction getFontType(type, subtype) {\n  switch (type) {\n    case 'Type1':\n      return subtype === 'Type1C' ? _util.FontType.TYPE1C : _util.FontType.TYPE1;\n    case 'CIDFontType0':\n      return subtype === 'CIDFontType0C' ? _util.FontType.CIDFONTTYPE0C : _util.FontType.CIDFONTTYPE0;\n    case 'OpenType':\n      return _util.FontType.OPENTYPE;\n    case 'TrueType':\n      return _util.FontType.TRUETYPE;\n    case 'CIDFontType2':\n      return _util.FontType.CIDFONTTYPE2;\n    case 'MMType1':\n      return _util.FontType.MMTYPE1;\n    case 'Type0':\n      return _util.FontType.TYPE0;\n    default:\n      return _util.FontType.UNKNOWN;\n  }\n}\nfunction recoverGlyphName(name, glyphsUnicodeMap) {\n  if (glyphsUnicodeMap[name] !== undefined) {\n    return name;\n  }\n  var unicode = (0, _unicode.getUnicodeForGlyph)(name, glyphsUnicodeMap);\n  if (unicode !== -1) {\n    for (var key in glyphsUnicodeMap) {\n      if (glyphsUnicodeMap[key] === unicode) {\n        return key;\n      }\n    }\n  }\n  (0, _util.info)('Unable to recover a standard glyph name for: ' + name);\n  return name;\n}\nvar Glyph = function GlyphClosure() {\n  function Glyph(fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont) {\n    this.fontChar = fontChar;\n    this.unicode = unicode;\n    this.accent = accent;\n    this.width = width;\n    this.vmetric = vmetric;\n    this.operatorListId = operatorListId;\n    this.isSpace = isSpace;\n    this.isInFont = isInFont;\n  }\n  Glyph.prototype.matchesForCache = function (fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont) {\n    return this.fontChar === fontChar && this.unicode === unicode && this.accent === accent && this.width === width && this.vmetric === vmetric && this.operatorListId === operatorListId && this.isSpace === isSpace && this.isInFont === isInFont;\n  };\n  return Glyph;\n}();\nvar ToUnicodeMap = function ToUnicodeMapClosure() {\n  function ToUnicodeMap(cmap) {\n    this._map = cmap;\n  }\n  ToUnicodeMap.prototype = {\n    get length() {\n      return this._map.length;\n    },\n    forEach: function forEach(callback) {\n      for (var charCode in this._map) {\n        callback(charCode, this._map[charCode].charCodeAt(0));\n      }\n    },\n    has: function has(i) {\n      return this._map[i] !== undefined;\n    },\n    get: function get(i) {\n      return this._map[i];\n    },\n    charCodeOf: function charCodeOf(value) {\n      var map = this._map;\n      if (map.length <= 0x10000) {\n        return map.indexOf(value);\n      }\n      for (var charCode in map) {\n        if (map[charCode] === value) {\n          return charCode | 0;\n        }\n      }\n      return -1;\n    },\n    amend: function amend(map) {\n      for (var charCode in map) {\n        this._map[charCode] = map[charCode];\n      }\n    }\n  };\n  return ToUnicodeMap;\n}();\nvar IdentityToUnicodeMap = function IdentityToUnicodeMapClosure() {\n  function IdentityToUnicodeMap(firstChar, lastChar) {\n    this.firstChar = firstChar;\n    this.lastChar = lastChar;\n  }\n  IdentityToUnicodeMap.prototype = {\n    get length() {\n      return this.lastChar + 1 - this.firstChar;\n    },\n    forEach: function forEach(callback) {\n      for (var i = this.firstChar, ii = this.lastChar; i <= ii; i++) {\n        callback(i, i);\n      }\n    },\n    has: function has(i) {\n      return this.firstChar <= i && i <= this.lastChar;\n    },\n    get: function get(i) {\n      if (this.firstChar <= i && i <= this.lastChar) {\n        return String.fromCharCode(i);\n      }\n      return undefined;\n    },\n    charCodeOf: function charCodeOf(v) {\n      return Number.isInteger(v) && v >= this.firstChar && v <= this.lastChar ? v : -1;\n    },\n    amend: function amend(map) {\n      throw new Error('Should not call amend()');\n    }\n  };\n  return IdentityToUnicodeMap;\n}();\nvar OpenTypeFileBuilder = function OpenTypeFileBuilderClosure() {\n  function writeInt16(dest, offset, num) {\n    dest[offset] = num >> 8 & 0xFF;\n    dest[offset + 1] = num & 0xFF;\n  }\n  function writeInt32(dest, offset, num) {\n    dest[offset] = num >> 24 & 0xFF;\n    dest[offset + 1] = num >> 16 & 0xFF;\n    dest[offset + 2] = num >> 8 & 0xFF;\n    dest[offset + 3] = num & 0xFF;\n  }\n  function writeData(dest, offset, data) {\n    var i, ii;\n    if (data instanceof Uint8Array) {\n      dest.set(data, offset);\n    } else if (typeof data === 'string') {\n      for (i = 0, ii = data.length; i < ii; i++) {\n        dest[offset++] = data.charCodeAt(i) & 0xFF;\n      }\n    } else {\n      for (i = 0, ii = data.length; i < ii; i++) {\n        dest[offset++] = data[i] & 0xFF;\n      }\n    }\n  }\n  function OpenTypeFileBuilder(sfnt) {\n    this.sfnt = sfnt;\n    this.tables = Object.create(null);\n  }\n  OpenTypeFileBuilder.getSearchParams = function OpenTypeFileBuilder_getSearchParams(entriesCount, entrySize) {\n    var maxPower2 = 1,\n        log2 = 0;\n    while ((maxPower2 ^ entriesCount) > maxPower2) {\n      maxPower2 <<= 1;\n      log2++;\n    }\n    var searchRange = maxPower2 * entrySize;\n    return {\n      range: searchRange,\n      entry: log2,\n      rangeShift: entrySize * entriesCount - searchRange\n    };\n  };\n  var OTF_HEADER_SIZE = 12;\n  var OTF_TABLE_ENTRY_SIZE = 16;\n  OpenTypeFileBuilder.prototype = {\n    toArray: function OpenTypeFileBuilder_toArray() {\n      var sfnt = this.sfnt;\n      var tables = this.tables;\n      var tablesNames = Object.keys(tables);\n      tablesNames.sort();\n      var numTables = tablesNames.length;\n      var i, j, jj, table, tableName;\n      var offset = OTF_HEADER_SIZE + numTables * OTF_TABLE_ENTRY_SIZE;\n      var tableOffsets = [offset];\n      for (i = 0; i < numTables; i++) {\n        table = tables[tablesNames[i]];\n        var paddedLength = (table.length + 3 & ~3) >>> 0;\n        offset += paddedLength;\n        tableOffsets.push(offset);\n      }\n      var file = new Uint8Array(offset);\n      for (i = 0; i < numTables; i++) {\n        table = tables[tablesNames[i]];\n        writeData(file, tableOffsets[i], table);\n      }\n      if (sfnt === 'true') {\n        sfnt = (0, _util.string32)(0x00010000);\n      }\n      file[0] = sfnt.charCodeAt(0) & 0xFF;\n      file[1] = sfnt.charCodeAt(1) & 0xFF;\n      file[2] = sfnt.charCodeAt(2) & 0xFF;\n      file[3] = sfnt.charCodeAt(3) & 0xFF;\n      writeInt16(file, 4, numTables);\n      var searchParams = OpenTypeFileBuilder.getSearchParams(numTables, 16);\n      writeInt16(file, 6, searchParams.range);\n      writeInt16(file, 8, searchParams.entry);\n      writeInt16(file, 10, searchParams.rangeShift);\n      offset = OTF_HEADER_SIZE;\n      for (i = 0; i < numTables; i++) {\n        tableName = tablesNames[i];\n        file[offset] = tableName.charCodeAt(0) & 0xFF;\n        file[offset + 1] = tableName.charCodeAt(1) & 0xFF;\n        file[offset + 2] = tableName.charCodeAt(2) & 0xFF;\n        file[offset + 3] = tableName.charCodeAt(3) & 0xFF;\n        var checksum = 0;\n        for (j = tableOffsets[i], jj = tableOffsets[i + 1]; j < jj; j += 4) {\n          var quad = (0, _util.readUint32)(file, j);\n          checksum = checksum + quad >>> 0;\n        }\n        writeInt32(file, offset + 4, checksum);\n        writeInt32(file, offset + 8, tableOffsets[i]);\n        writeInt32(file, offset + 12, tables[tableName].length);\n        offset += OTF_TABLE_ENTRY_SIZE;\n      }\n      return file;\n    },\n    addTable: function OpenTypeFileBuilder_addTable(tag, data) {\n      if (tag in this.tables) {\n        throw new Error('Table ' + tag + ' already exists');\n      }\n      this.tables[tag] = data;\n    }\n  };\n  return OpenTypeFileBuilder;\n}();\nvar ProblematicCharRanges = new Int32Array([0x0000, 0x0020, 0x007F, 0x00A1, 0x00AD, 0x00AE, 0x0600, 0x0780, 0x08A0, 0x10A0, 0x1780, 0x1800, 0x1C00, 0x1C50, 0x2000, 0x2010, 0x2011, 0x2012, 0x2028, 0x2030, 0x205F, 0x2070, 0x25CC, 0x25CD, 0x3000, 0x3001, 0x3164, 0x3165, 0xAA60, 0xAA80, 0xFFF0, 0x10000]);\nvar Font = function FontClosure() {\n  function Font(name, file, properties) {\n    var charCode;\n    this.name = name;\n    this.loadedName = properties.loadedName;\n    this.isType3Font = properties.isType3Font;\n    this.sizes = [];\n    this.missingFile = false;\n    this.glyphCache = Object.create(null);\n    this.isSerifFont = !!(properties.flags & FontFlags.Serif);\n    this.isSymbolicFont = !!(properties.flags & FontFlags.Symbolic);\n    this.isMonospace = !!(properties.flags & FontFlags.FixedPitch);\n    var type = properties.type;\n    var subtype = properties.subtype;\n    this.type = type;\n    this.subtype = subtype;\n    this.fallbackName = this.isMonospace ? 'monospace' : this.isSerifFont ? 'serif' : 'sans-serif';\n    this.differences = properties.differences;\n    this.widths = properties.widths;\n    this.defaultWidth = properties.defaultWidth;\n    this.composite = properties.composite;\n    this.wideChars = properties.wideChars;\n    this.cMap = properties.cMap;\n    this.ascent = properties.ascent / PDF_GLYPH_SPACE_UNITS;\n    this.descent = properties.descent / PDF_GLYPH_SPACE_UNITS;\n    this.fontMatrix = properties.fontMatrix;\n    this.bbox = properties.bbox;\n    this.defaultEncoding = properties.defaultEncoding;\n    this.toUnicode = properties.toUnicode;\n    this.toFontChar = [];\n    if (properties.type === 'Type3') {\n      for (charCode = 0; charCode < 256; charCode++) {\n        this.toFontChar[charCode] = this.differences[charCode] || properties.defaultEncoding[charCode];\n      }\n      this.fontType = _util.FontType.TYPE3;\n      return;\n    }\n    this.cidEncoding = properties.cidEncoding;\n    this.vertical = properties.vertical;\n    if (this.vertical) {\n      this.vmetrics = properties.vmetrics;\n      this.defaultVMetrics = properties.defaultVMetrics;\n    }\n    if (!file || file.isEmpty) {\n      if (file) {\n        (0, _util.warn)('Font file is empty in \"' + name + '\" (' + this.loadedName + ')');\n      }\n      this.fallbackToSystemFont();\n      return;\n    }\n    if (subtype === 'Type1C') {\n      if (type !== 'Type1' && type !== 'MMType1') {\n        if (isTrueTypeFile(file)) {\n          subtype = 'TrueType';\n        } else {\n          type = 'Type1';\n        }\n      } else if (isOpenTypeFile(file)) {\n        subtype = 'OpenType';\n      }\n    }\n    if (subtype === 'CIDFontType0C' && type !== 'CIDFontType0') {\n      type = 'CIDFontType0';\n    }\n    if (type === 'CIDFontType0') {\n      if (isType1File(file)) {\n        subtype = 'CIDFontType0';\n      } else if (isOpenTypeFile(file)) {\n        subtype = 'OpenType';\n      } else {\n        subtype = 'CIDFontType0C';\n      }\n    }\n    if (subtype === 'OpenType' && type !== 'OpenType') {\n      type = 'OpenType';\n    }\n    try {\n      var data;\n      switch (type) {\n        case 'MMType1':\n          (0, _util.info)('MMType1 font (' + name + '), falling back to Type1.');\n        case 'Type1':\n        case 'CIDFontType0':\n          this.mimetype = 'font/opentype';\n          var cff = subtype === 'Type1C' || subtype === 'CIDFontType0C' ? new CFFFont(file, properties) : new Type1Font(name, file, properties);\n          adjustWidths(properties);\n          data = this.convert(name, cff, properties);\n          break;\n        case 'OpenType':\n        case 'TrueType':\n        case 'CIDFontType2':\n          this.mimetype = 'font/opentype';\n          data = this.checkAndRepair(name, file, properties);\n          if (this.isOpenType) {\n            adjustWidths(properties);\n            type = 'OpenType';\n          }\n          break;\n        default:\n          throw new _util.FormatError('Font ' + type + ' is not supported');\n      }\n    } catch (e) {\n      if (!(e instanceof _util.FormatError)) {\n        throw e;\n      }\n      (0, _util.warn)(e);\n      this.fallbackToSystemFont();\n      return;\n    }\n    this.data = data;\n    this.fontType = getFontType(type, subtype);\n    this.fontMatrix = properties.fontMatrix;\n    this.widths = properties.widths;\n    this.defaultWidth = properties.defaultWidth;\n    this.toUnicode = properties.toUnicode;\n    this.encoding = properties.baseEncoding;\n    this.seacMap = properties.seacMap;\n    this.loading = true;\n  }\n  Font.getFontID = function () {\n    var ID = 1;\n    return function Font_getFontID() {\n      return String(ID++);\n    };\n  }();\n  function int16(b0, b1) {\n    return (b0 << 8) + b1;\n  }\n  function writeSignedInt16(bytes, index, value) {\n    bytes[index + 1] = value;\n    bytes[index] = value >>> 8;\n  }\n  function signedInt16(b0, b1) {\n    var value = (b0 << 8) + b1;\n    return value & 1 << 15 ? value - 0x10000 : value;\n  }\n  function int32(b0, b1, b2, b3) {\n    return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n  }\n  function string16(value) {\n    return String.fromCharCode(value >> 8 & 0xff, value & 0xff);\n  }\n  function safeString16(value) {\n    value = value > 0x7FFF ? 0x7FFF : value < -0x8000 ? -0x8000 : value;\n    return String.fromCharCode(value >> 8 & 0xff, value & 0xff);\n  }\n  function isTrueTypeFile(file) {\n    var header = file.peekBytes(4);\n    return (0, _util.readUint32)(header, 0) === 0x00010000;\n  }\n  function isOpenTypeFile(file) {\n    var header = file.peekBytes(4);\n    return (0, _util.bytesToString)(header) === 'OTTO';\n  }\n  function isType1File(file) {\n    var header = file.peekBytes(2);\n    if (header[0] === 0x25 && header[1] === 0x21) {\n      return true;\n    }\n    if (header[0] === 0x80 && header[1] === 0x01) {\n      return true;\n    }\n    return false;\n  }\n  function buildToFontChar(encoding, glyphsUnicodeMap, differences) {\n    var toFontChar = [],\n        unicode;\n    for (var i = 0, ii = encoding.length; i < ii; i++) {\n      unicode = (0, _unicode.getUnicodeForGlyph)(encoding[i], glyphsUnicodeMap);\n      if (unicode !== -1) {\n        toFontChar[i] = unicode;\n      }\n    }\n    for (var charCode in differences) {\n      unicode = (0, _unicode.getUnicodeForGlyph)(differences[charCode], glyphsUnicodeMap);\n      if (unicode !== -1) {\n        toFontChar[+charCode] = unicode;\n      }\n    }\n    return toFontChar;\n  }\n  function isProblematicUnicodeLocation(code) {\n    var i = 0,\n        j = ProblematicCharRanges.length - 1;\n    while (i < j) {\n      var c = i + j + 1 >> 1;\n      if (code < ProblematicCharRanges[c]) {\n        j = c - 1;\n      } else {\n        i = c;\n      }\n    }\n    return !(i & 1);\n  }\n  function adjustMapping(charCodeToGlyphId, properties, missingGlyphs) {\n    var toUnicode = properties.toUnicode;\n    var isSymbolic = !!(properties.flags & FontFlags.Symbolic);\n    var isIdentityUnicode = properties.toUnicode instanceof IdentityToUnicodeMap;\n    var newMap = Object.create(null);\n    var toFontChar = [];\n    var usedFontCharCodes = [];\n    var nextAvailableFontCharCode = PRIVATE_USE_OFFSET_START;\n    for (var originalCharCode in charCodeToGlyphId) {\n      originalCharCode |= 0;\n      var glyphId = charCodeToGlyphId[originalCharCode];\n      if (missingGlyphs[glyphId]) {\n        continue;\n      }\n      var fontCharCode = originalCharCode;\n      var hasUnicodeValue = false;\n      if (!isIdentityUnicode && toUnicode.has(originalCharCode)) {\n        hasUnicodeValue = true;\n        var unicode = toUnicode.get(fontCharCode);\n        if (unicode.length === 1) {\n          fontCharCode = unicode.charCodeAt(0);\n        }\n      }\n      if (usedFontCharCodes[fontCharCode] !== undefined || isProblematicUnicodeLocation(fontCharCode) || isSymbolic && !hasUnicodeValue) {\n        do {\n          if (nextAvailableFontCharCode > PRIVATE_USE_OFFSET_END) {\n            (0, _util.warn)('Ran out of space in font private use area.');\n            break;\n          }\n          fontCharCode = nextAvailableFontCharCode++;\n          if (SKIP_PRIVATE_USE_RANGE_F000_TO_F01F && fontCharCode === 0xF000) {\n            fontCharCode = 0xF020;\n            nextAvailableFontCharCode = fontCharCode + 1;\n          }\n        } while (usedFontCharCodes[fontCharCode] !== undefined);\n      }\n      newMap[fontCharCode] = glyphId;\n      toFontChar[originalCharCode] = fontCharCode;\n      usedFontCharCodes[fontCharCode] = true;\n    }\n    return {\n      toFontChar: toFontChar,\n      charCodeToGlyphId: newMap,\n      nextAvailableFontCharCode: nextAvailableFontCharCode\n    };\n  }\n  function getRanges(glyphs, numGlyphs) {\n    var codes = [];\n    for (var charCode in glyphs) {\n      if (glyphs[charCode] >= numGlyphs) {\n        continue;\n      }\n      codes.push({\n        fontCharCode: charCode | 0,\n        glyphId: glyphs[charCode]\n      });\n    }\n    if (codes.length === 0) {\n      codes.push({\n        fontCharCode: 0,\n        glyphId: 0\n      });\n    }\n    codes.sort(function fontGetRangesSort(a, b) {\n      return a.fontCharCode - b.fontCharCode;\n    });\n    var ranges = [];\n    var length = codes.length;\n    for (var n = 0; n < length;) {\n      var start = codes[n].fontCharCode;\n      var codeIndices = [codes[n].glyphId];\n      ++n;\n      var end = start;\n      while (n < length && end + 1 === codes[n].fontCharCode) {\n        codeIndices.push(codes[n].glyphId);\n        ++end;\n        ++n;\n        if (end === 0xFFFF) {\n          break;\n        }\n      }\n      ranges.push([start, end, codeIndices]);\n    }\n    return ranges;\n  }\n  function createCmapTable(glyphs, numGlyphs) {\n    var ranges = getRanges(glyphs, numGlyphs);\n    var numTables = ranges[ranges.length - 1][1] > 0xFFFF ? 2 : 1;\n    var cmap = '\\x00\\x00' + string16(numTables) + '\\x00\\x03' + '\\x00\\x01' + (0, _util.string32)(4 + numTables * 8);\n    var i, ii, j, jj;\n    for (i = ranges.length - 1; i >= 0; --i) {\n      if (ranges[i][0] <= 0xFFFF) {\n        break;\n      }\n    }\n    var bmpLength = i + 1;\n    if (ranges[i][0] < 0xFFFF && ranges[i][1] === 0xFFFF) {\n      ranges[i][1] = 0xFFFE;\n    }\n    var trailingRangesCount = ranges[i][1] < 0xFFFF ? 1 : 0;\n    var segCount = bmpLength + trailingRangesCount;\n    var searchParams = OpenTypeFileBuilder.getSearchParams(segCount, 2);\n    var startCount = '';\n    var endCount = '';\n    var idDeltas = '';\n    var idRangeOffsets = '';\n    var glyphsIds = '';\n    var bias = 0;\n    var range, start, end, codes;\n    for (i = 0, ii = bmpLength; i < ii; i++) {\n      range = ranges[i];\n      start = range[0];\n      end = range[1];\n      startCount += string16(start);\n      endCount += string16(end);\n      codes = range[2];\n      var contiguous = true;\n      for (j = 1, jj = codes.length; j < jj; ++j) {\n        if (codes[j] !== codes[j - 1] + 1) {\n          contiguous = false;\n          break;\n        }\n      }\n      if (!contiguous) {\n        var offset = (segCount - i) * 2 + bias * 2;\n        bias += end - start + 1;\n        idDeltas += string16(0);\n        idRangeOffsets += string16(offset);\n        for (j = 0, jj = codes.length; j < jj; ++j) {\n          glyphsIds += string16(codes[j]);\n        }\n      } else {\n        var startCode = codes[0];\n        idDeltas += string16(startCode - start & 0xFFFF);\n        idRangeOffsets += string16(0);\n      }\n    }\n    if (trailingRangesCount > 0) {\n      endCount += '\\xFF\\xFF';\n      startCount += '\\xFF\\xFF';\n      idDeltas += '\\x00\\x01';\n      idRangeOffsets += '\\x00\\x00';\n    }\n    var format314 = '\\x00\\x00' + string16(2 * segCount) + string16(searchParams.range) + string16(searchParams.entry) + string16(searchParams.rangeShift) + endCount + '\\x00\\x00' + startCount + idDeltas + idRangeOffsets + glyphsIds;\n    var format31012 = '';\n    var header31012 = '';\n    if (numTables > 1) {\n      cmap += '\\x00\\x03' + '\\x00\\x0A' + (0, _util.string32)(4 + numTables * 8 + 4 + format314.length);\n      format31012 = '';\n      for (i = 0, ii = ranges.length; i < ii; i++) {\n        range = ranges[i];\n        start = range[0];\n        codes = range[2];\n        var code = codes[0];\n        for (j = 1, jj = codes.length; j < jj; ++j) {\n          if (codes[j] !== codes[j - 1] + 1) {\n            end = range[0] + j - 1;\n            format31012 += (0, _util.string32)(start) + (0, _util.string32)(end) + (0, _util.string32)(code);\n            start = end + 1;\n            code = codes[j];\n          }\n        }\n        format31012 += (0, _util.string32)(start) + (0, _util.string32)(range[1]) + (0, _util.string32)(code);\n      }\n      header31012 = '\\x00\\x0C' + '\\x00\\x00' + (0, _util.string32)(format31012.length + 16) + '\\x00\\x00\\x00\\x00' + (0, _util.string32)(format31012.length / 12);\n    }\n    return cmap + '\\x00\\x04' + string16(format314.length + 4) + format314 + header31012 + format31012;\n  }\n  function validateOS2Table(os2) {\n    var stream = new _stream.Stream(os2.data);\n    var version = stream.getUint16();\n    stream.getBytes(60);\n    var selection = stream.getUint16();\n    if (version < 4 && selection & 0x0300) {\n      return false;\n    }\n    var firstChar = stream.getUint16();\n    var lastChar = stream.getUint16();\n    if (firstChar > lastChar) {\n      return false;\n    }\n    stream.getBytes(6);\n    var usWinAscent = stream.getUint16();\n    if (usWinAscent === 0) {\n      return false;\n    }\n    os2.data[8] = os2.data[9] = 0;\n    return true;\n  }\n  function createOS2Table(properties, charstrings, override) {\n    override = override || {\n      unitsPerEm: 0,\n      yMax: 0,\n      yMin: 0,\n      ascent: 0,\n      descent: 0\n    };\n    var ulUnicodeRange1 = 0;\n    var ulUnicodeRange2 = 0;\n    var ulUnicodeRange3 = 0;\n    var ulUnicodeRange4 = 0;\n    var firstCharIndex = null;\n    var lastCharIndex = 0;\n    if (charstrings) {\n      for (var code in charstrings) {\n        code |= 0;\n        if (firstCharIndex > code || !firstCharIndex) {\n          firstCharIndex = code;\n        }\n        if (lastCharIndex < code) {\n          lastCharIndex = code;\n        }\n        var position = (0, _unicode.getUnicodeRangeFor)(code);\n        if (position < 32) {\n          ulUnicodeRange1 |= 1 << position;\n        } else if (position < 64) {\n          ulUnicodeRange2 |= 1 << position - 32;\n        } else if (position < 96) {\n          ulUnicodeRange3 |= 1 << position - 64;\n        } else if (position < 123) {\n          ulUnicodeRange4 |= 1 << position - 96;\n        } else {\n          throw new _util.FormatError('Unicode ranges Bits > 123 are reserved for internal usage');\n        }\n      }\n    } else {\n      firstCharIndex = 0;\n      lastCharIndex = 255;\n    }\n    var bbox = properties.bbox || [0, 0, 0, 0];\n    var unitsPerEm = override.unitsPerEm || 1 / (properties.fontMatrix || _util.FONT_IDENTITY_MATRIX)[0];\n    var scale = properties.ascentScaled ? 1.0 : unitsPerEm / PDF_GLYPH_SPACE_UNITS;\n    var typoAscent = override.ascent || Math.round(scale * (properties.ascent || bbox[3]));\n    var typoDescent = override.descent || Math.round(scale * (properties.descent || bbox[1]));\n    if (typoDescent > 0 && properties.descent > 0 && bbox[1] < 0) {\n      typoDescent = -typoDescent;\n    }\n    var winAscent = override.yMax || typoAscent;\n    var winDescent = -override.yMin || -typoDescent;\n    return '\\x00\\x03' + '\\x02\\x24' + '\\x01\\xF4' + '\\x00\\x05' + '\\x00\\x00' + '\\x02\\x8A' + '\\x02\\xBB' + '\\x00\\x00' + '\\x00\\x8C' + '\\x02\\x8A' + '\\x02\\xBB' + '\\x00\\x00' + '\\x01\\xDF' + '\\x00\\x31' + '\\x01\\x02' + '\\x00\\x00' + '\\x00\\x00\\x06' + String.fromCharCode(properties.fixedPitch ? 0x09 : 0x00) + '\\x00\\x00\\x00\\x00\\x00\\x00' + (0, _util.string32)(ulUnicodeRange1) + (0, _util.string32)(ulUnicodeRange2) + (0, _util.string32)(ulUnicodeRange3) + (0, _util.string32)(ulUnicodeRange4) + '\\x2A\\x32\\x31\\x2A' + string16(properties.italicAngle ? 1 : 0) + string16(firstCharIndex || properties.firstChar) + string16(lastCharIndex || properties.lastChar) + string16(typoAscent) + string16(typoDescent) + '\\x00\\x64' + string16(winAscent) + string16(winDescent) + '\\x00\\x00\\x00\\x00' + '\\x00\\x00\\x00\\x00' + string16(properties.xHeight) + string16(properties.capHeight) + string16(0) + string16(firstCharIndex || properties.firstChar) + '\\x00\\x03';\n  }\n  function createPostTable(properties) {\n    var angle = Math.floor(properties.italicAngle * Math.pow(2, 16));\n    return '\\x00\\x03\\x00\\x00' + (0, _util.string32)(angle) + '\\x00\\x00' + '\\x00\\x00' + (0, _util.string32)(properties.fixedPitch) + '\\x00\\x00\\x00\\x00' + '\\x00\\x00\\x00\\x00' + '\\x00\\x00\\x00\\x00' + '\\x00\\x00\\x00\\x00';\n  }\n  function createNameTable(name, proto) {\n    if (!proto) {\n      proto = [[], []];\n    }\n    var strings = [proto[0][0] || 'Original licence', proto[0][1] || name, proto[0][2] || 'Unknown', proto[0][3] || 'uniqueID', proto[0][4] || name, proto[0][5] || 'Version 0.11', proto[0][6] || '', proto[0][7] || 'Unknown', proto[0][8] || 'Unknown', proto[0][9] || 'Unknown'];\n    var stringsUnicode = [];\n    var i, ii, j, jj, str;\n    for (i = 0, ii = strings.length; i < ii; i++) {\n      str = proto[1][i] || strings[i];\n      var strBufUnicode = [];\n      for (j = 0, jj = str.length; j < jj; j++) {\n        strBufUnicode.push(string16(str.charCodeAt(j)));\n      }\n      stringsUnicode.push(strBufUnicode.join(''));\n    }\n    var names = [strings, stringsUnicode];\n    var platforms = ['\\x00\\x01', '\\x00\\x03'];\n    var encodings = ['\\x00\\x00', '\\x00\\x01'];\n    var languages = ['\\x00\\x00', '\\x04\\x09'];\n    var namesRecordCount = strings.length * platforms.length;\n    var nameTable = '\\x00\\x00' + string16(namesRecordCount) + string16(namesRecordCount * 12 + 6);\n    var strOffset = 0;\n    for (i = 0, ii = platforms.length; i < ii; i++) {\n      var strs = names[i];\n      for (j = 0, jj = strs.length; j < jj; j++) {\n        str = strs[j];\n        var nameRecord = platforms[i] + encodings[i] + languages[i] + string16(j) + string16(str.length) + string16(strOffset);\n        nameTable += nameRecord;\n        strOffset += str.length;\n      }\n    }\n    nameTable += strings.join('') + stringsUnicode.join('');\n    return nameTable;\n  }\n  Font.prototype = {\n    name: null,\n    font: null,\n    mimetype: null,\n    encoding: null,\n    get renderer() {\n      var renderer = _font_renderer.FontRendererFactory.create(this, SEAC_ANALYSIS_ENABLED);\n      return (0, _util.shadow)(this, 'renderer', renderer);\n    },\n    exportData: function Font_exportData() {\n      var data = {};\n      for (var i in this) {\n        if (this.hasOwnProperty(i)) {\n          data[i] = this[i];\n        }\n      }\n      return data;\n    },\n    fallbackToSystemFont: function Font_fallbackToSystemFont() {\n      var _this = this;\n\n      this.missingFile = true;\n      var charCode, unicode;\n      var name = this.name;\n      var type = this.type;\n      var subtype = this.subtype;\n      var fontName = name.replace(/[,_]/g, '-');\n      var stdFontMap = (0, _standard_fonts.getStdFontMap)(),\n          nonStdFontMap = (0, _standard_fonts.getNonStdFontMap)();\n      var isStandardFont = !!stdFontMap[fontName] || !!(nonStdFontMap[fontName] && stdFontMap[nonStdFontMap[fontName]]);\n      fontName = stdFontMap[fontName] || nonStdFontMap[fontName] || fontName;\n      this.bold = fontName.search(/bold/gi) !== -1;\n      this.italic = fontName.search(/oblique/gi) !== -1 || fontName.search(/italic/gi) !== -1;\n      this.black = name.search(/Black/g) !== -1;\n      this.remeasure = Object.keys(this.widths).length > 0;\n      if (isStandardFont && type === 'CIDFontType2' && this.cidEncoding.indexOf('Identity-') === 0) {\n        var GlyphMapForStandardFonts = (0, _standard_fonts.getGlyphMapForStandardFonts)();\n        var map = [];\n        for (charCode in GlyphMapForStandardFonts) {\n          map[+charCode] = GlyphMapForStandardFonts[charCode];\n        }\n        if (/Arial-?Black/i.test(name)) {\n          var SupplementalGlyphMapForArialBlack = (0, _standard_fonts.getSupplementalGlyphMapForArialBlack)();\n          for (charCode in SupplementalGlyphMapForArialBlack) {\n            map[+charCode] = SupplementalGlyphMapForArialBlack[charCode];\n          }\n        }\n        var isIdentityUnicode = this.toUnicode instanceof IdentityToUnicodeMap;\n        if (!isIdentityUnicode) {\n          this.toUnicode.forEach(function (charCode, unicodeCharCode) {\n            map[+charCode] = unicodeCharCode;\n          });\n        }\n        this.toFontChar = map;\n        this.toUnicode = new ToUnicodeMap(map);\n      } else if (/Symbol/i.test(fontName)) {\n        this.toFontChar = buildToFontChar(_encodings.SymbolSetEncoding, (0, _glyphlist.getGlyphsUnicode)(), this.differences);\n      } else if (/Dingbats/i.test(fontName)) {\n        if (/Wingdings/i.test(name)) {\n          (0, _util.warn)('Non-embedded Wingdings font, falling back to ZapfDingbats.');\n        }\n        this.toFontChar = buildToFontChar(_encodings.ZapfDingbatsEncoding, (0, _glyphlist.getDingbatsGlyphsUnicode)(), this.differences);\n      } else if (isStandardFont) {\n        this.toFontChar = buildToFontChar(this.defaultEncoding, (0, _glyphlist.getGlyphsUnicode)(), this.differences);\n      } else {\n        var glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n        this.toUnicode.forEach(function (charCode, unicodeCharCode) {\n          if (!_this.composite) {\n            var glyphName = _this.differences[charCode] || _this.defaultEncoding[charCode];\n            unicode = (0, _unicode.getUnicodeForGlyph)(glyphName, glyphsUnicodeMap);\n            if (unicode !== -1) {\n              unicodeCharCode = unicode;\n            }\n          }\n          _this.toFontChar[charCode] = unicodeCharCode;\n        });\n      }\n      this.loadedName = fontName.split('-')[0];\n      this.loading = false;\n      this.fontType = getFontType(type, subtype);\n    },\n    checkAndRepair: function Font_checkAndRepair(name, font, properties) {\n      function readTableEntry(file) {\n        var tag = (0, _util.bytesToString)(file.getBytes(4));\n        var checksum = file.getInt32() >>> 0;\n        var offset = file.getInt32() >>> 0;\n        var length = file.getInt32() >>> 0;\n        var previousPosition = file.pos;\n        file.pos = file.start ? file.start : 0;\n        file.skip(offset);\n        var data = file.getBytes(length);\n        file.pos = previousPosition;\n        if (tag === 'head') {\n          data[8] = data[9] = data[10] = data[11] = 0;\n          data[17] |= 0x20;\n        }\n        return {\n          tag: tag,\n          checksum: checksum,\n          length: length,\n          offset: offset,\n          data: data\n        };\n      }\n      function readOpenTypeHeader(ttf) {\n        return {\n          version: (0, _util.bytesToString)(ttf.getBytes(4)),\n          numTables: ttf.getUint16(),\n          searchRange: ttf.getUint16(),\n          entrySelector: ttf.getUint16(),\n          rangeShift: ttf.getUint16()\n        };\n      }\n      function readCmapTable(cmap, font, isSymbolicFont, hasEncoding) {\n        if (!cmap) {\n          (0, _util.warn)('No cmap table available.');\n          return {\n            platformId: -1,\n            encodingId: -1,\n            mappings: [],\n            hasShortCmap: false\n          };\n        }\n        var segment;\n        var start = (font.start ? font.start : 0) + cmap.offset;\n        font.pos = start;\n        font.getUint16();\n        var numTables = font.getUint16();\n        var potentialTable;\n        var canBreak = false;\n        for (var i = 0; i < numTables; i++) {\n          var platformId = font.getUint16();\n          var encodingId = font.getUint16();\n          var offset = font.getInt32() >>> 0;\n          var useTable = false;\n          if (potentialTable && potentialTable.platformId === platformId && potentialTable.encodingId === encodingId) {\n            continue;\n          }\n          if (platformId === 0 && encodingId === 0) {\n            useTable = true;\n          } else if (platformId === 1 && encodingId === 0) {\n            useTable = true;\n          } else if (platformId === 3 && encodingId === 1 && (hasEncoding || !potentialTable)) {\n            useTable = true;\n            if (!isSymbolicFont) {\n              canBreak = true;\n            }\n          } else if (isSymbolicFont && platformId === 3 && encodingId === 0) {\n            useTable = true;\n            canBreak = true;\n          }\n          if (useTable) {\n            potentialTable = {\n              platformId: platformId,\n              encodingId: encodingId,\n              offset: offset\n            };\n          }\n          if (canBreak) {\n            break;\n          }\n        }\n        if (potentialTable) {\n          font.pos = start + potentialTable.offset;\n        }\n        if (!potentialTable || font.peekByte() === -1) {\n          (0, _util.warn)('Could not find a preferred cmap table.');\n          return {\n            platformId: -1,\n            encodingId: -1,\n            mappings: [],\n            hasShortCmap: false\n          };\n        }\n        var format = font.getUint16();\n        font.getUint16();\n        font.getUint16();\n        var hasShortCmap = false;\n        var mappings = [];\n        var j, glyphId;\n        if (format === 0) {\n          for (j = 0; j < 256; j++) {\n            var index = font.getByte();\n            if (!index) {\n              continue;\n            }\n            mappings.push({\n              charCode: j,\n              glyphId: index\n            });\n          }\n          hasShortCmap = true;\n        } else if (format === 4) {\n          var segCount = font.getUint16() >> 1;\n          font.getBytes(6);\n          var segIndex,\n              segments = [];\n          for (segIndex = 0; segIndex < segCount; segIndex++) {\n            segments.push({ end: font.getUint16() });\n          }\n          font.getUint16();\n          for (segIndex = 0; segIndex < segCount; segIndex++) {\n            segments[segIndex].start = font.getUint16();\n          }\n          for (segIndex = 0; segIndex < segCount; segIndex++) {\n            segments[segIndex].delta = font.getUint16();\n          }\n          var offsetsCount = 0;\n          for (segIndex = 0; segIndex < segCount; segIndex++) {\n            segment = segments[segIndex];\n            var rangeOffset = font.getUint16();\n            if (!rangeOffset) {\n              segment.offsetIndex = -1;\n              continue;\n            }\n            var offsetIndex = (rangeOffset >> 1) - (segCount - segIndex);\n            segment.offsetIndex = offsetIndex;\n            offsetsCount = Math.max(offsetsCount, offsetIndex + segment.end - segment.start + 1);\n          }\n          var offsets = [];\n          for (j = 0; j < offsetsCount; j++) {\n            offsets.push(font.getUint16());\n          }\n          for (segIndex = 0; segIndex < segCount; segIndex++) {\n            segment = segments[segIndex];\n            start = segment.start;\n            var end = segment.end;\n            var delta = segment.delta;\n            offsetIndex = segment.offsetIndex;\n            for (j = start; j <= end; j++) {\n              if (j === 0xFFFF) {\n                continue;\n              }\n              glyphId = offsetIndex < 0 ? j : offsets[offsetIndex + j - start];\n              glyphId = glyphId + delta & 0xFFFF;\n              mappings.push({\n                charCode: j,\n                glyphId: glyphId\n              });\n            }\n          }\n        } else if (format === 6) {\n          var firstCode = font.getUint16();\n          var entryCount = font.getUint16();\n          for (j = 0; j < entryCount; j++) {\n            glyphId = font.getUint16();\n            var charCode = firstCode + j;\n            mappings.push({\n              charCode: charCode,\n              glyphId: glyphId\n            });\n          }\n        } else {\n          (0, _util.warn)('cmap table has unsupported format: ' + format);\n          return {\n            platformId: -1,\n            encodingId: -1,\n            mappings: [],\n            hasShortCmap: false\n          };\n        }\n        mappings.sort(function (a, b) {\n          return a.charCode - b.charCode;\n        });\n        for (i = 1; i < mappings.length; i++) {\n          if (mappings[i - 1].charCode === mappings[i].charCode) {\n            mappings.splice(i, 1);\n            i--;\n          }\n        }\n        return {\n          platformId: potentialTable.platformId,\n          encodingId: potentialTable.encodingId,\n          mappings: mappings,\n          hasShortCmap: hasShortCmap\n        };\n      }\n      function sanitizeMetrics(font, header, metrics, numGlyphs) {\n        if (!header) {\n          if (metrics) {\n            metrics.data = null;\n          }\n          return;\n        }\n        font.pos = (font.start ? font.start : 0) + header.offset;\n        font.pos += header.length - 2;\n        var numOfMetrics = font.getUint16();\n        if (numOfMetrics > numGlyphs) {\n          (0, _util.info)('The numOfMetrics (' + numOfMetrics + ') should not be ' + 'greater than the numGlyphs (' + numGlyphs + ')');\n          numOfMetrics = numGlyphs;\n          header.data[34] = (numOfMetrics & 0xff00) >> 8;\n          header.data[35] = numOfMetrics & 0x00ff;\n        }\n        var numOfSidebearings = numGlyphs - numOfMetrics;\n        var numMissing = numOfSidebearings - (metrics.length - numOfMetrics * 4 >> 1);\n        if (numMissing > 0) {\n          var entries = new Uint8Array(metrics.length + numMissing * 2);\n          entries.set(metrics.data);\n          metrics.data = entries;\n        }\n      }\n      function sanitizeGlyph(source, sourceStart, sourceEnd, dest, destStart, hintsValid) {\n        var glyphProfile = {\n          length: 0,\n          sizeOfInstructions: 0\n        };\n        if (sourceEnd - sourceStart <= 12) {\n          return glyphProfile;\n        }\n        var glyf = source.subarray(sourceStart, sourceEnd);\n        var contoursCount = signedInt16(glyf[0], glyf[1]);\n        if (contoursCount < 0) {\n          contoursCount = -1;\n          writeSignedInt16(glyf, 0, contoursCount);\n          dest.set(glyf, destStart);\n          glyphProfile.length = glyf.length;\n          return glyphProfile;\n        }\n        var i,\n            j = 10,\n            flagsCount = 0;\n        for (i = 0; i < contoursCount; i++) {\n          var endPoint = glyf[j] << 8 | glyf[j + 1];\n          flagsCount = endPoint + 1;\n          j += 2;\n        }\n        var instructionsStart = j;\n        var instructionsLength = glyf[j] << 8 | glyf[j + 1];\n        glyphProfile.sizeOfInstructions = instructionsLength;\n        j += 2 + instructionsLength;\n        var instructionsEnd = j;\n        var coordinatesLength = 0;\n        for (i = 0; i < flagsCount; i++) {\n          var flag = glyf[j++];\n          if (flag & 0xC0) {\n            glyf[j - 1] = flag & 0x3F;\n          }\n          var xyLength = (flag & 2 ? 1 : flag & 16 ? 0 : 2) + (flag & 4 ? 1 : flag & 32 ? 0 : 2);\n          coordinatesLength += xyLength;\n          if (flag & 8) {\n            var repeat = glyf[j++];\n            i += repeat;\n            coordinatesLength += repeat * xyLength;\n          }\n        }\n        if (coordinatesLength === 0) {\n          return glyphProfile;\n        }\n        var glyphDataLength = j + coordinatesLength;\n        if (glyphDataLength > glyf.length) {\n          return glyphProfile;\n        }\n        if (!hintsValid && instructionsLength > 0) {\n          dest.set(glyf.subarray(0, instructionsStart), destStart);\n          dest.set([0, 0], destStart + instructionsStart);\n          dest.set(glyf.subarray(instructionsEnd, glyphDataLength), destStart + instructionsStart + 2);\n          glyphDataLength -= instructionsLength;\n          if (glyf.length - glyphDataLength > 3) {\n            glyphDataLength = glyphDataLength + 3 & ~3;\n          }\n          glyphProfile.length = glyphDataLength;\n          return glyphProfile;\n        }\n        if (glyf.length - glyphDataLength > 3) {\n          glyphDataLength = glyphDataLength + 3 & ~3;\n          dest.set(glyf.subarray(0, glyphDataLength), destStart);\n          glyphProfile.length = glyphDataLength;\n          return glyphProfile;\n        }\n        dest.set(glyf, destStart);\n        glyphProfile.length = glyf.length;\n        return glyphProfile;\n      }\n      function sanitizeHead(head, numGlyphs, locaLength) {\n        var data = head.data;\n        var version = int32(data[0], data[1], data[2], data[3]);\n        if (version >> 16 !== 1) {\n          (0, _util.info)('Attempting to fix invalid version in head table: ' + version);\n          data[0] = 0;\n          data[1] = 1;\n          data[2] = 0;\n          data[3] = 0;\n        }\n        var indexToLocFormat = int16(data[50], data[51]);\n        if (indexToLocFormat < 0 || indexToLocFormat > 1) {\n          (0, _util.info)('Attempting to fix invalid indexToLocFormat in head table: ' + indexToLocFormat);\n          var numGlyphsPlusOne = numGlyphs + 1;\n          if (locaLength === numGlyphsPlusOne << 1) {\n            data[50] = 0;\n            data[51] = 0;\n          } else if (locaLength === numGlyphsPlusOne << 2) {\n            data[50] = 0;\n            data[51] = 1;\n          } else {\n            throw new _util.FormatError('Could not fix indexToLocFormat: ' + indexToLocFormat);\n          }\n        }\n      }\n      function sanitizeGlyphLocations(loca, glyf, numGlyphs, isGlyphLocationsLong, hintsValid, dupFirstEntry, maxSizeOfInstructions) {\n        var itemSize, itemDecode, itemEncode;\n        if (isGlyphLocationsLong) {\n          itemSize = 4;\n          itemDecode = function fontItemDecodeLong(data, offset) {\n            return data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3];\n          };\n          itemEncode = function fontItemEncodeLong(data, offset, value) {\n            data[offset] = value >>> 24 & 0xFF;\n            data[offset + 1] = value >> 16 & 0xFF;\n            data[offset + 2] = value >> 8 & 0xFF;\n            data[offset + 3] = value & 0xFF;\n          };\n        } else {\n          itemSize = 2;\n          itemDecode = function fontItemDecode(data, offset) {\n            return data[offset] << 9 | data[offset + 1] << 1;\n          };\n          itemEncode = function fontItemEncode(data, offset, value) {\n            data[offset] = value >> 9 & 0xFF;\n            data[offset + 1] = value >> 1 & 0xFF;\n          };\n        }\n        var locaData = loca.data;\n        var locaDataSize = itemSize * (1 + numGlyphs);\n        if (locaData.length !== locaDataSize) {\n          locaData = new Uint8Array(locaDataSize);\n          locaData.set(loca.data.subarray(0, locaDataSize));\n          loca.data = locaData;\n        }\n        var oldGlyfData = glyf.data;\n        var oldGlyfDataLength = oldGlyfData.length;\n        var newGlyfData = new Uint8Array(oldGlyfDataLength);\n        var startOffset = itemDecode(locaData, 0);\n        var writeOffset = 0;\n        var missingGlyphs = Object.create(null);\n        itemEncode(locaData, 0, writeOffset);\n        var i, j;\n        var locaCount = dupFirstEntry ? numGlyphs - 1 : numGlyphs;\n        for (i = 0, j = itemSize; i < locaCount; i++, j += itemSize) {\n          var endOffset = itemDecode(locaData, j);\n          if (endOffset > oldGlyfDataLength && (oldGlyfDataLength + 3 & ~3) === endOffset) {\n            endOffset = oldGlyfDataLength;\n          }\n          if (endOffset > oldGlyfDataLength) {\n            startOffset = endOffset;\n          }\n          var glyphProfile = sanitizeGlyph(oldGlyfData, startOffset, endOffset, newGlyfData, writeOffset, hintsValid);\n          var newLength = glyphProfile.length;\n          if (newLength === 0) {\n            missingGlyphs[i] = true;\n          }\n          if (glyphProfile.sizeOfInstructions > maxSizeOfInstructions) {\n            maxSizeOfInstructions = glyphProfile.sizeOfInstructions;\n          }\n          writeOffset += newLength;\n          itemEncode(locaData, j, writeOffset);\n          startOffset = endOffset;\n        }\n        if (writeOffset === 0) {\n          var simpleGlyph = new Uint8Array([0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 0]);\n          for (i = 0, j = itemSize; i < numGlyphs; i++, j += itemSize) {\n            itemEncode(locaData, j, simpleGlyph.length);\n          }\n          glyf.data = simpleGlyph;\n        } else if (dupFirstEntry) {\n          var firstEntryLength = itemDecode(locaData, itemSize);\n          if (newGlyfData.length > firstEntryLength + writeOffset) {\n            glyf.data = newGlyfData.subarray(0, firstEntryLength + writeOffset);\n          } else {\n            glyf.data = new Uint8Array(firstEntryLength + writeOffset);\n            glyf.data.set(newGlyfData.subarray(0, writeOffset));\n          }\n          glyf.data.set(newGlyfData.subarray(0, firstEntryLength), writeOffset);\n          itemEncode(loca.data, locaData.length - itemSize, writeOffset + firstEntryLength);\n        } else {\n          glyf.data = newGlyfData.subarray(0, writeOffset);\n        }\n        return {\n          missingGlyphs: missingGlyphs,\n          maxSizeOfInstructions: maxSizeOfInstructions\n        };\n      }\n      function readPostScriptTable(post, properties, maxpNumGlyphs) {\n        var start = (font.start ? font.start : 0) + post.offset;\n        font.pos = start;\n        var length = post.length,\n            end = start + length;\n        var version = font.getInt32();\n        font.getBytes(28);\n        var glyphNames;\n        var valid = true;\n        var i;\n        switch (version) {\n          case 0x00010000:\n            glyphNames = MacStandardGlyphOrdering;\n            break;\n          case 0x00020000:\n            var numGlyphs = font.getUint16();\n            if (numGlyphs !== maxpNumGlyphs) {\n              valid = false;\n              break;\n            }\n            var glyphNameIndexes = [];\n            for (i = 0; i < numGlyphs; ++i) {\n              var index = font.getUint16();\n              if (index >= 32768) {\n                valid = false;\n                break;\n              }\n              glyphNameIndexes.push(index);\n            }\n            if (!valid) {\n              break;\n            }\n            var customNames = [];\n            var strBuf = [];\n            while (font.pos < end) {\n              var stringLength = font.getByte();\n              strBuf.length = stringLength;\n              for (i = 0; i < stringLength; ++i) {\n                strBuf[i] = String.fromCharCode(font.getByte());\n              }\n              customNames.push(strBuf.join(''));\n            }\n            glyphNames = [];\n            for (i = 0; i < numGlyphs; ++i) {\n              var j = glyphNameIndexes[i];\n              if (j < 258) {\n                glyphNames.push(MacStandardGlyphOrdering[j]);\n                continue;\n              }\n              glyphNames.push(customNames[j - 258]);\n            }\n            break;\n          case 0x00030000:\n            break;\n          default:\n            (0, _util.warn)('Unknown/unsupported post table version ' + version);\n            valid = false;\n            if (properties.defaultEncoding) {\n              glyphNames = properties.defaultEncoding;\n            }\n            break;\n        }\n        properties.glyphNames = glyphNames;\n        return valid;\n      }\n      function readNameTable(nameTable) {\n        var start = (font.start ? font.start : 0) + nameTable.offset;\n        font.pos = start;\n        var names = [[], []];\n        var length = nameTable.length,\n            end = start + length;\n        var format = font.getUint16();\n        var FORMAT_0_HEADER_LENGTH = 6;\n        if (format !== 0 || length < FORMAT_0_HEADER_LENGTH) {\n          return names;\n        }\n        var numRecords = font.getUint16();\n        var stringsStart = font.getUint16();\n        var records = [];\n        var NAME_RECORD_LENGTH = 12;\n        var i, ii;\n        for (i = 0; i < numRecords && font.pos + NAME_RECORD_LENGTH <= end; i++) {\n          var r = {\n            platform: font.getUint16(),\n            encoding: font.getUint16(),\n            language: font.getUint16(),\n            name: font.getUint16(),\n            length: font.getUint16(),\n            offset: font.getUint16()\n          };\n          if (r.platform === 1 && r.encoding === 0 && r.language === 0 || r.platform === 3 && r.encoding === 1 && r.language === 0x409) {\n            records.push(r);\n          }\n        }\n        for (i = 0, ii = records.length; i < ii; i++) {\n          var record = records[i];\n          if (record.length <= 0) {\n            continue;\n          }\n          var pos = start + stringsStart + record.offset;\n          if (pos + record.length > end) {\n            continue;\n          }\n          font.pos = pos;\n          var nameIndex = record.name;\n          if (record.encoding) {\n            var str = '';\n            for (var j = 0, jj = record.length; j < jj; j += 2) {\n              str += String.fromCharCode(font.getUint16());\n            }\n            names[1][nameIndex] = str;\n          } else {\n            names[0][nameIndex] = (0, _util.bytesToString)(font.getBytes(record.length));\n          }\n        }\n        return names;\n      }\n      var TTOpsStackDeltas = [0, 0, 0, 0, 0, 0, 0, 0, -2, -2, -2, -2, 0, 0, -2, -5, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, -1, -1, -1, -1, 1, -1, -999, 0, 1, 0, -1, -2, 0, -1, -2, -1, -1, 0, -1, -1, 0, 0, -999, -999, -1, -1, -1, -1, -2, -999, -2, -2, -999, 0, -2, -2, 0, 0, -2, 0, -2, 0, 0, 0, -2, -1, -1, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, -1, -1, 0, -999, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, -999, -999, -999, -999, -999, -1, -1, -2, -2, 0, 0, 0, 0, -1, -1, -999, -2, -2, 0, 0, -1, -2, -2, 0, 0, 0, -1, -1, -1, -2];\n      function sanitizeTTProgram(table, ttContext) {\n        var data = table.data;\n        var i = 0,\n            j,\n            n,\n            b,\n            funcId,\n            pc,\n            lastEndf = 0,\n            lastDeff = 0;\n        var stack = [];\n        var callstack = [];\n        var functionsCalled = [];\n        var tooComplexToFollowFunctions = ttContext.tooComplexToFollowFunctions;\n        var inFDEF = false,\n            ifLevel = 0,\n            inELSE = 0;\n        for (var ii = data.length; i < ii;) {\n          var op = data[i++];\n          if (op === 0x40) {\n            n = data[i++];\n            if (inFDEF || inELSE) {\n              i += n;\n            } else {\n              for (j = 0; j < n; j++) {\n                stack.push(data[i++]);\n              }\n            }\n          } else if (op === 0x41) {\n            n = data[i++];\n            if (inFDEF || inELSE) {\n              i += n * 2;\n            } else {\n              for (j = 0; j < n; j++) {\n                b = data[i++];\n                stack.push(b << 8 | data[i++]);\n              }\n            }\n          } else if ((op & 0xF8) === 0xB0) {\n            n = op - 0xB0 + 1;\n            if (inFDEF || inELSE) {\n              i += n;\n            } else {\n              for (j = 0; j < n; j++) {\n                stack.push(data[i++]);\n              }\n            }\n          } else if ((op & 0xF8) === 0xB8) {\n            n = op - 0xB8 + 1;\n            if (inFDEF || inELSE) {\n              i += n * 2;\n            } else {\n              for (j = 0; j < n; j++) {\n                b = data[i++];\n                stack.push(b << 8 | data[i++]);\n              }\n            }\n          } else if (op === 0x2B && !tooComplexToFollowFunctions) {\n            if (!inFDEF && !inELSE) {\n              funcId = stack[stack.length - 1];\n              ttContext.functionsUsed[funcId] = true;\n              if (funcId in ttContext.functionsStackDeltas) {\n                stack.length += ttContext.functionsStackDeltas[funcId];\n              } else if (funcId in ttContext.functionsDefined && functionsCalled.indexOf(funcId) < 0) {\n                callstack.push({\n                  data: data,\n                  i: i,\n                  stackTop: stack.length - 1\n                });\n                functionsCalled.push(funcId);\n                pc = ttContext.functionsDefined[funcId];\n                if (!pc) {\n                  (0, _util.warn)('TT: CALL non-existent function');\n                  ttContext.hintsValid = false;\n                  return;\n                }\n                data = pc.data;\n                i = pc.i;\n              }\n            }\n          } else if (op === 0x2C && !tooComplexToFollowFunctions) {\n            if (inFDEF || inELSE) {\n              (0, _util.warn)('TT: nested FDEFs not allowed');\n              tooComplexToFollowFunctions = true;\n            }\n            inFDEF = true;\n            lastDeff = i;\n            funcId = stack.pop();\n            ttContext.functionsDefined[funcId] = {\n              data: data,\n              i: i\n            };\n          } else if (op === 0x2D) {\n            if (inFDEF) {\n              inFDEF = false;\n              lastEndf = i;\n            } else {\n              pc = callstack.pop();\n              if (!pc) {\n                (0, _util.warn)('TT: ENDF bad stack');\n                ttContext.hintsValid = false;\n                return;\n              }\n              funcId = functionsCalled.pop();\n              data = pc.data;\n              i = pc.i;\n              ttContext.functionsStackDeltas[funcId] = stack.length - pc.stackTop;\n            }\n          } else if (op === 0x89) {\n            if (inFDEF || inELSE) {\n              (0, _util.warn)('TT: nested IDEFs not allowed');\n              tooComplexToFollowFunctions = true;\n            }\n            inFDEF = true;\n            lastDeff = i;\n          } else if (op === 0x58) {\n            ++ifLevel;\n          } else if (op === 0x1B) {\n            inELSE = ifLevel;\n          } else if (op === 0x59) {\n            if (inELSE === ifLevel) {\n              inELSE = 0;\n            }\n            --ifLevel;\n          } else if (op === 0x1C) {\n            if (!inFDEF && !inELSE) {\n              var offset = stack[stack.length - 1];\n              if (offset > 0) {\n                i += offset - 1;\n              }\n            }\n          }\n          if (!inFDEF && !inELSE) {\n            var stackDelta = op <= 0x8E ? TTOpsStackDeltas[op] : op >= 0xC0 && op <= 0xDF ? -1 : op >= 0xE0 ? -2 : 0;\n            if (op >= 0x71 && op <= 0x75) {\n              n = stack.pop();\n              if (!isNaN(n)) {\n                stackDelta = -n * 2;\n              }\n            }\n            while (stackDelta < 0 && stack.length > 0) {\n              stack.pop();\n              stackDelta++;\n            }\n            while (stackDelta > 0) {\n              stack.push(NaN);\n              stackDelta--;\n            }\n          }\n        }\n        ttContext.tooComplexToFollowFunctions = tooComplexToFollowFunctions;\n        var content = [data];\n        if (i > data.length) {\n          content.push(new Uint8Array(i - data.length));\n        }\n        if (lastDeff > lastEndf) {\n          (0, _util.warn)('TT: complementing a missing function tail');\n          content.push(new Uint8Array([0x22, 0x2D]));\n        }\n        foldTTTable(table, content);\n      }\n      function checkInvalidFunctions(ttContext, maxFunctionDefs) {\n        if (ttContext.tooComplexToFollowFunctions) {\n          return;\n        }\n        if (ttContext.functionsDefined.length > maxFunctionDefs) {\n          (0, _util.warn)('TT: more functions defined than expected');\n          ttContext.hintsValid = false;\n          return;\n        }\n        for (var j = 0, jj = ttContext.functionsUsed.length; j < jj; j++) {\n          if (j > maxFunctionDefs) {\n            (0, _util.warn)('TT: invalid function id: ' + j);\n            ttContext.hintsValid = false;\n            return;\n          }\n          if (ttContext.functionsUsed[j] && !ttContext.functionsDefined[j]) {\n            (0, _util.warn)('TT: undefined function: ' + j);\n            ttContext.hintsValid = false;\n            return;\n          }\n        }\n      }\n      function foldTTTable(table, content) {\n        if (content.length > 1) {\n          var newLength = 0;\n          var j, jj;\n          for (j = 0, jj = content.length; j < jj; j++) {\n            newLength += content[j].length;\n          }\n          newLength = newLength + 3 & ~3;\n          var result = new Uint8Array(newLength);\n          var pos = 0;\n          for (j = 0, jj = content.length; j < jj; j++) {\n            result.set(content[j], pos);\n            pos += content[j].length;\n          }\n          table.data = result;\n          table.length = newLength;\n        }\n      }\n      function sanitizeTTPrograms(fpgm, prep, cvt, maxFunctionDefs) {\n        var ttContext = {\n          functionsDefined: [],\n          functionsUsed: [],\n          functionsStackDeltas: [],\n          tooComplexToFollowFunctions: false,\n          hintsValid: true\n        };\n        if (fpgm) {\n          sanitizeTTProgram(fpgm, ttContext);\n        }\n        if (prep) {\n          sanitizeTTProgram(prep, ttContext);\n        }\n        if (fpgm) {\n          checkInvalidFunctions(ttContext, maxFunctionDefs);\n        }\n        if (cvt && cvt.length & 1) {\n          var cvtData = new Uint8Array(cvt.length + 1);\n          cvtData.set(cvt.data);\n          cvt.data = cvtData;\n        }\n        return ttContext.hintsValid;\n      }\n      font = new _stream.Stream(new Uint8Array(font.getBytes()));\n      var VALID_TABLES = ['OS/2', 'cmap', 'head', 'hhea', 'hmtx', 'maxp', 'name', 'post', 'loca', 'glyf', 'fpgm', 'prep', 'cvt ', 'CFF '];\n      var header = readOpenTypeHeader(font);\n      var numTables = header.numTables;\n      var cff, cffFile;\n      var tables = Object.create(null);\n      tables['OS/2'] = null;\n      tables['cmap'] = null;\n      tables['head'] = null;\n      tables['hhea'] = null;\n      tables['hmtx'] = null;\n      tables['maxp'] = null;\n      tables['name'] = null;\n      tables['post'] = null;\n      var table;\n      for (var i = 0; i < numTables; i++) {\n        table = readTableEntry(font);\n        if (VALID_TABLES.indexOf(table.tag) < 0) {\n          continue;\n        }\n        if (table.length === 0) {\n          continue;\n        }\n        tables[table.tag] = table;\n      }\n      var isTrueType = !tables['CFF '];\n      if (!isTrueType) {\n        if (header.version === 'OTTO' && !(properties.composite && properties.cidToGidMap) || !tables['head'] || !tables['hhea'] || !tables['maxp'] || !tables['post']) {\n          cffFile = new _stream.Stream(tables['CFF '].data);\n          cff = new CFFFont(cffFile, properties);\n          adjustWidths(properties);\n          return this.convert(name, cff, properties);\n        }\n        delete tables['glyf'];\n        delete tables['loca'];\n        delete tables['fpgm'];\n        delete tables['prep'];\n        delete tables['cvt '];\n        this.isOpenType = true;\n      } else {\n        if (!tables['loca']) {\n          throw new _util.FormatError('Required \"loca\" table is not found');\n        }\n        if (!tables['glyf']) {\n          (0, _util.warn)('Required \"glyf\" table is not found -- trying to recover.');\n          tables['glyf'] = {\n            tag: 'glyf',\n            data: new Uint8Array(0)\n          };\n        }\n        this.isOpenType = false;\n      }\n      if (!tables['maxp']) {\n        throw new _util.FormatError('Required \"maxp\" table is not found');\n      }\n      font.pos = (font.start || 0) + tables['maxp'].offset;\n      var version = font.getInt32();\n      var numGlyphs = font.getUint16();\n      var maxFunctionDefs = 0;\n      var maxSizeOfInstructions = 0;\n      if (version >= 0x00010000 && tables['maxp'].length >= 22) {\n        font.pos += 8;\n        var maxZones = font.getUint16();\n        if (maxZones > 2) {\n          tables['maxp'].data[14] = 0;\n          tables['maxp'].data[15] = 2;\n        }\n        font.pos += 4;\n        maxFunctionDefs = font.getUint16();\n        font.pos += 6;\n        maxSizeOfInstructions = font.getUint16();\n      }\n      var dupFirstEntry = false;\n      if (properties.type === 'CIDFontType2' && properties.toUnicode && properties.toUnicode.get(0) > '\\0') {\n        dupFirstEntry = true;\n        numGlyphs++;\n        tables['maxp'].data[4] = numGlyphs >> 8;\n        tables['maxp'].data[5] = numGlyphs & 255;\n      }\n      var hintsValid = sanitizeTTPrograms(tables['fpgm'], tables['prep'], tables['cvt '], maxFunctionDefs);\n      if (!hintsValid) {\n        delete tables['fpgm'];\n        delete tables['prep'];\n        delete tables['cvt '];\n      }\n      sanitizeMetrics(font, tables['hhea'], tables['hmtx'], numGlyphs);\n      if (!tables['head']) {\n        throw new _util.FormatError('Required \"head\" table is not found');\n      }\n      sanitizeHead(tables['head'], numGlyphs, isTrueType ? tables['loca'].length : 0);\n      var missingGlyphs = Object.create(null);\n      if (isTrueType) {\n        var isGlyphLocationsLong = int16(tables['head'].data[50], tables['head'].data[51]);\n        var glyphsInfo = sanitizeGlyphLocations(tables['loca'], tables['glyf'], numGlyphs, isGlyphLocationsLong, hintsValid, dupFirstEntry, maxSizeOfInstructions);\n        missingGlyphs = glyphsInfo.missingGlyphs;\n        if (version >= 0x00010000 && tables['maxp'].length >= 22) {\n          tables['maxp'].data[26] = glyphsInfo.maxSizeOfInstructions >> 8;\n          tables['maxp'].data[27] = glyphsInfo.maxSizeOfInstructions & 255;\n        }\n      }\n      if (!tables['hhea']) {\n        throw new _util.FormatError('Required \"hhea\" table is not found');\n      }\n      if (tables['hhea'].data[10] === 0 && tables['hhea'].data[11] === 0) {\n        tables['hhea'].data[10] = 0xFF;\n        tables['hhea'].data[11] = 0xFF;\n      }\n      var metricsOverride = {\n        unitsPerEm: int16(tables['head'].data[18], tables['head'].data[19]),\n        yMax: int16(tables['head'].data[42], tables['head'].data[43]),\n        yMin: signedInt16(tables['head'].data[38], tables['head'].data[39]),\n        ascent: int16(tables['hhea'].data[4], tables['hhea'].data[5]),\n        descent: signedInt16(tables['hhea'].data[6], tables['hhea'].data[7])\n      };\n      this.ascent = metricsOverride.ascent / metricsOverride.unitsPerEm;\n      this.descent = metricsOverride.descent / metricsOverride.unitsPerEm;\n      if (tables['post']) {\n        var valid = readPostScriptTable(tables['post'], properties, numGlyphs);\n        if (!valid) {\n          tables['post'] = null;\n        }\n      }\n      var charCodeToGlyphId = [],\n          charCode;\n      function hasGlyph(glyphId) {\n        return !missingGlyphs[glyphId];\n      }\n      if (properties.composite) {\n        var cidToGidMap = properties.cidToGidMap || [];\n        var isCidToGidMapEmpty = cidToGidMap.length === 0;\n        properties.cMap.forEach(function (charCode, cid) {\n          if (cid > 0xffff) {\n            throw new _util.FormatError('Max size of CID is 65,535');\n          }\n          var glyphId = -1;\n          if (isCidToGidMapEmpty) {\n            glyphId = cid;\n          } else if (cidToGidMap[cid] !== undefined) {\n            glyphId = cidToGidMap[cid];\n          }\n          if (glyphId >= 0 && glyphId < numGlyphs && hasGlyph(glyphId)) {\n            charCodeToGlyphId[charCode] = glyphId;\n          }\n        });\n        if (dupFirstEntry && (isCidToGidMapEmpty || !charCodeToGlyphId[0])) {\n          charCodeToGlyphId[0] = numGlyphs - 1;\n        }\n      } else {\n        var cmapTable = readCmapTable(tables['cmap'], font, this.isSymbolicFont, properties.hasEncoding);\n        var cmapPlatformId = cmapTable.platformId;\n        var cmapEncodingId = cmapTable.encodingId;\n        var cmapMappings = cmapTable.mappings;\n        var cmapMappingsLength = cmapMappings.length;\n        if (properties.hasEncoding && (cmapPlatformId === 3 && cmapEncodingId === 1 || cmapPlatformId === 1 && cmapEncodingId === 0) || cmapPlatformId === -1 && cmapEncodingId === -1 && !!(0, _encodings.getEncoding)(properties.baseEncodingName)) {\n          var baseEncoding = [];\n          if (properties.baseEncodingName === 'MacRomanEncoding' || properties.baseEncodingName === 'WinAnsiEncoding') {\n            baseEncoding = (0, _encodings.getEncoding)(properties.baseEncodingName);\n          }\n          var glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n          for (charCode = 0; charCode < 256; charCode++) {\n            var glyphName, standardGlyphName;\n            if (this.differences && charCode in this.differences) {\n              glyphName = this.differences[charCode];\n            } else if (charCode in baseEncoding && baseEncoding[charCode] !== '') {\n              glyphName = baseEncoding[charCode];\n            } else {\n              glyphName = _encodings.StandardEncoding[charCode];\n            }\n            if (!glyphName) {\n              continue;\n            }\n            standardGlyphName = recoverGlyphName(glyphName, glyphsUnicodeMap);\n            var unicodeOrCharCode;\n            if (cmapPlatformId === 3 && cmapEncodingId === 1) {\n              unicodeOrCharCode = glyphsUnicodeMap[standardGlyphName];\n            } else if (cmapPlatformId === 1 && cmapEncodingId === 0) {\n              unicodeOrCharCode = _encodings.MacRomanEncoding.indexOf(standardGlyphName);\n            }\n            var found = false;\n            for (i = 0; i < cmapMappingsLength; ++i) {\n              if (cmapMappings[i].charCode !== unicodeOrCharCode) {\n                continue;\n              }\n              charCodeToGlyphId[charCode] = cmapMappings[i].glyphId;\n              found = true;\n              break;\n            }\n            if (!found && properties.glyphNames) {\n              var glyphId = properties.glyphNames.indexOf(glyphName);\n              if (glyphId === -1 && standardGlyphName !== glyphName) {\n                glyphId = properties.glyphNames.indexOf(standardGlyphName);\n              }\n              if (glyphId > 0 && hasGlyph(glyphId)) {\n                charCodeToGlyphId[charCode] = glyphId;\n                found = true;\n              }\n            }\n          }\n        } else if (cmapPlatformId === 0 && cmapEncodingId === 0) {\n          for (i = 0; i < cmapMappingsLength; ++i) {\n            charCodeToGlyphId[cmapMappings[i].charCode] = cmapMappings[i].glyphId;\n          }\n        } else {\n          for (i = 0; i < cmapMappingsLength; ++i) {\n            charCode = cmapMappings[i].charCode;\n            if (cmapPlatformId === 3 && charCode >= 0xF000 && charCode <= 0xF0FF) {\n              charCode &= 0xFF;\n            }\n            charCodeToGlyphId[charCode] = cmapMappings[i].glyphId;\n          }\n        }\n      }\n      if (charCodeToGlyphId.length === 0) {\n        charCodeToGlyphId[0] = 0;\n      }\n      var newMapping = adjustMapping(charCodeToGlyphId, properties, missingGlyphs);\n      this.toFontChar = newMapping.toFontChar;\n      tables['cmap'] = {\n        tag: 'cmap',\n        data: createCmapTable(newMapping.charCodeToGlyphId, numGlyphs)\n      };\n      if (!tables['OS/2'] || !validateOS2Table(tables['OS/2'])) {\n        tables['OS/2'] = {\n          tag: 'OS/2',\n          data: createOS2Table(properties, newMapping.charCodeToGlyphId, metricsOverride)\n        };\n      }\n      if (!tables['post']) {\n        tables['post'] = {\n          tag: 'post',\n          data: createPostTable(properties)\n        };\n      }\n      if (!isTrueType) {\n        try {\n          cffFile = new _stream.Stream(tables['CFF '].data);\n          var parser = new _cff_parser.CFFParser(cffFile, properties, SEAC_ANALYSIS_ENABLED);\n          cff = parser.parse();\n          var compiler = new _cff_parser.CFFCompiler(cff);\n          tables['CFF '].data = compiler.compile();\n        } catch (e) {\n          (0, _util.warn)('Failed to compile font ' + properties.loadedName);\n        }\n      }\n      if (!tables['name']) {\n        tables['name'] = {\n          tag: 'name',\n          data: createNameTable(this.name)\n        };\n      } else {\n        var namePrototype = readNameTable(tables['name']);\n        tables['name'].data = createNameTable(name, namePrototype);\n      }\n      var builder = new OpenTypeFileBuilder(header.version);\n      for (var tableTag in tables) {\n        builder.addTable(tableTag, tables[tableTag].data);\n      }\n      return builder.toArray();\n    },\n    convert: function Font_convert(fontName, font, properties) {\n      properties.fixedPitch = false;\n      if (properties.builtInEncoding) {\n        adjustToUnicode(properties, properties.builtInEncoding);\n      }\n      var mapping = font.getGlyphMapping(properties);\n      var newMapping = adjustMapping(mapping, properties, Object.create(null));\n      this.toFontChar = newMapping.toFontChar;\n      var numGlyphs = font.numGlyphs;\n      function getCharCodes(charCodeToGlyphId, glyphId) {\n        var charCodes = null;\n        for (var charCode in charCodeToGlyphId) {\n          if (glyphId === charCodeToGlyphId[charCode]) {\n            if (!charCodes) {\n              charCodes = [];\n            }\n            charCodes.push(charCode | 0);\n          }\n        }\n        return charCodes;\n      }\n      function createCharCode(charCodeToGlyphId, glyphId) {\n        for (var charCode in charCodeToGlyphId) {\n          if (glyphId === charCodeToGlyphId[charCode]) {\n            return charCode | 0;\n          }\n        }\n        newMapping.charCodeToGlyphId[newMapping.nextAvailableFontCharCode] = glyphId;\n        return newMapping.nextAvailableFontCharCode++;\n      }\n      var seacs = font.seacs;\n      if (SEAC_ANALYSIS_ENABLED && seacs && seacs.length) {\n        var matrix = properties.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n        var charset = font.getCharset();\n        var seacMap = Object.create(null);\n        for (var glyphId in seacs) {\n          glyphId |= 0;\n          var seac = seacs[glyphId];\n          var baseGlyphName = _encodings.StandardEncoding[seac[2]];\n          var accentGlyphName = _encodings.StandardEncoding[seac[3]];\n          var baseGlyphId = charset.indexOf(baseGlyphName);\n          var accentGlyphId = charset.indexOf(accentGlyphName);\n          if (baseGlyphId < 0 || accentGlyphId < 0) {\n            continue;\n          }\n          var accentOffset = {\n            x: seac[0] * matrix[0] + seac[1] * matrix[2] + matrix[4],\n            y: seac[0] * matrix[1] + seac[1] * matrix[3] + matrix[5]\n          };\n          var charCodes = getCharCodes(mapping, glyphId);\n          if (!charCodes) {\n            continue;\n          }\n          for (var i = 0, ii = charCodes.length; i < ii; i++) {\n            var charCode = charCodes[i];\n            var charCodeToGlyphId = newMapping.charCodeToGlyphId;\n            var baseFontCharCode = createCharCode(charCodeToGlyphId, baseGlyphId);\n            var accentFontCharCode = createCharCode(charCodeToGlyphId, accentGlyphId);\n            seacMap[charCode] = {\n              baseFontCharCode: baseFontCharCode,\n              accentFontCharCode: accentFontCharCode,\n              accentOffset: accentOffset\n            };\n          }\n        }\n        properties.seacMap = seacMap;\n      }\n      var unitsPerEm = 1 / (properties.fontMatrix || _util.FONT_IDENTITY_MATRIX)[0];\n      var builder = new OpenTypeFileBuilder('\\x4F\\x54\\x54\\x4F');\n      builder.addTable('CFF ', font.data);\n      builder.addTable('OS/2', createOS2Table(properties, newMapping.charCodeToGlyphId));\n      builder.addTable('cmap', createCmapTable(newMapping.charCodeToGlyphId, numGlyphs));\n      builder.addTable('head', '\\x00\\x01\\x00\\x00' + '\\x00\\x00\\x10\\x00' + '\\x00\\x00\\x00\\x00' + '\\x5F\\x0F\\x3C\\xF5' + '\\x00\\x00' + safeString16(unitsPerEm) + '\\x00\\x00\\x00\\x00\\x9e\\x0b\\x7e\\x27' + '\\x00\\x00\\x00\\x00\\x9e\\x0b\\x7e\\x27' + '\\x00\\x00' + safeString16(properties.descent) + '\\x0F\\xFF' + safeString16(properties.ascent) + string16(properties.italicAngle ? 2 : 0) + '\\x00\\x11' + '\\x00\\x00' + '\\x00\\x00' + '\\x00\\x00');\n      builder.addTable('hhea', '\\x00\\x01\\x00\\x00' + safeString16(properties.ascent) + safeString16(properties.descent) + '\\x00\\x00' + '\\xFF\\xFF' + '\\x00\\x00' + '\\x00\\x00' + '\\x00\\x00' + safeString16(properties.capHeight) + safeString16(Math.tan(properties.italicAngle) * properties.xHeight) + '\\x00\\x00' + '\\x00\\x00' + '\\x00\\x00' + '\\x00\\x00' + '\\x00\\x00' + '\\x00\\x00' + string16(numGlyphs));\n      builder.addTable('hmtx', function fontFieldsHmtx() {\n        var charstrings = font.charstrings;\n        var cffWidths = font.cff ? font.cff.widths : null;\n        var hmtx = '\\x00\\x00\\x00\\x00';\n        for (var i = 1, ii = numGlyphs; i < ii; i++) {\n          var width = 0;\n          if (charstrings) {\n            var charstring = charstrings[i - 1];\n            width = 'width' in charstring ? charstring.width : 0;\n          } else if (cffWidths) {\n            width = Math.ceil(cffWidths[i] || 0);\n          }\n          hmtx += string16(width) + string16(0);\n        }\n        return hmtx;\n      }());\n      builder.addTable('maxp', '\\x00\\x00\\x50\\x00' + string16(numGlyphs));\n      builder.addTable('name', createNameTable(fontName));\n      builder.addTable('post', createPostTable(properties));\n      return builder.toArray();\n    },\n    get spaceWidth() {\n      if ('_shadowWidth' in this) {\n        return this._shadowWidth;\n      }\n      var possibleSpaceReplacements = ['space', 'minus', 'one', 'i', 'I'];\n      var width;\n      for (var i = 0, ii = possibleSpaceReplacements.length; i < ii; i++) {\n        var glyphName = possibleSpaceReplacements[i];\n        if (glyphName in this.widths) {\n          width = this.widths[glyphName];\n          break;\n        }\n        var glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n        var glyphUnicode = glyphsUnicodeMap[glyphName];\n        var charcode = 0;\n        if (this.composite) {\n          if (this.cMap.contains(glyphUnicode)) {\n            charcode = this.cMap.lookup(glyphUnicode);\n          }\n        }\n        if (!charcode && this.toUnicode) {\n          charcode = this.toUnicode.charCodeOf(glyphUnicode);\n        }\n        if (charcode <= 0) {\n          charcode = glyphUnicode;\n        }\n        width = this.widths[charcode];\n        if (width) {\n          break;\n        }\n      }\n      width = width || this.defaultWidth;\n      this._shadowWidth = width;\n      return width;\n    },\n    charToGlyph: function Font_charToGlyph(charcode, isSpace) {\n      var fontCharCode, width, operatorListId;\n      var widthCode = charcode;\n      if (this.cMap && this.cMap.contains(charcode)) {\n        widthCode = this.cMap.lookup(charcode);\n      }\n      width = this.widths[widthCode];\n      width = (0, _util.isNum)(width) ? width : this.defaultWidth;\n      var vmetric = this.vmetrics && this.vmetrics[widthCode];\n      var unicode = this.toUnicode.get(charcode) || charcode;\n      if (typeof unicode === 'number') {\n        unicode = String.fromCharCode(unicode);\n      }\n      var isInFont = charcode in this.toFontChar;\n      fontCharCode = this.toFontChar[charcode] || charcode;\n      if (this.missingFile) {\n        fontCharCode = (0, _unicode.mapSpecialUnicodeValues)(fontCharCode);\n      }\n      if (this.isType3Font) {\n        operatorListId = fontCharCode;\n      }\n      var accent = null;\n      if (this.seacMap && this.seacMap[charcode]) {\n        isInFont = true;\n        var seac = this.seacMap[charcode];\n        fontCharCode = seac.baseFontCharCode;\n        accent = {\n          fontChar: String.fromCharCode(seac.accentFontCharCode),\n          offset: seac.accentOffset\n        };\n      }\n      var fontChar = String.fromCharCode(fontCharCode);\n      var glyph = this.glyphCache[charcode];\n      if (!glyph || !glyph.matchesForCache(fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont)) {\n        glyph = new Glyph(fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont);\n        this.glyphCache[charcode] = glyph;\n      }\n      return glyph;\n    },\n    charsToGlyphs: function Font_charsToGlyphs(chars) {\n      var charsCache = this.charsCache;\n      var glyphs, glyph, charcode;\n      if (charsCache) {\n        glyphs = charsCache[chars];\n        if (glyphs) {\n          return glyphs;\n        }\n      }\n      if (!charsCache) {\n        charsCache = this.charsCache = Object.create(null);\n      }\n      glyphs = [];\n      var charsCacheKey = chars;\n      var i = 0,\n          ii;\n      if (this.cMap) {\n        var c = Object.create(null);\n        while (i < chars.length) {\n          this.cMap.readCharCode(chars, i, c);\n          charcode = c.charcode;\n          var length = c.length;\n          i += length;\n          var isSpace = length === 1 && chars.charCodeAt(i - 1) === 0x20;\n          glyph = this.charToGlyph(charcode, isSpace);\n          glyphs.push(glyph);\n        }\n      } else {\n        for (i = 0, ii = chars.length; i < ii; ++i) {\n          charcode = chars.charCodeAt(i);\n          glyph = this.charToGlyph(charcode, charcode === 0x20);\n          glyphs.push(glyph);\n        }\n      }\n      return charsCache[charsCacheKey] = glyphs;\n    }\n  };\n  return Font;\n}();\nvar ErrorFont = function ErrorFontClosure() {\n  function ErrorFont(error) {\n    this.error = error;\n    this.loadedName = 'g_font_error';\n    this.loading = false;\n  }\n  ErrorFont.prototype = {\n    charsToGlyphs: function ErrorFont_charsToGlyphs() {\n      return [];\n    },\n    exportData: function ErrorFont_exportData() {\n      return { error: this.error };\n    }\n  };\n  return ErrorFont;\n}();\nfunction type1FontGlyphMapping(properties, builtInEncoding, glyphNames) {\n  var charCodeToGlyphId = Object.create(null);\n  var glyphId, charCode, baseEncoding;\n  var isSymbolicFont = !!(properties.flags & FontFlags.Symbolic);\n  if (properties.baseEncodingName) {\n    baseEncoding = (0, _encodings.getEncoding)(properties.baseEncodingName);\n    for (charCode = 0; charCode < baseEncoding.length; charCode++) {\n      glyphId = glyphNames.indexOf(baseEncoding[charCode]);\n      if (glyphId >= 0) {\n        charCodeToGlyphId[charCode] = glyphId;\n      } else {\n        charCodeToGlyphId[charCode] = 0;\n      }\n    }\n  } else if (isSymbolicFont) {\n    for (charCode in builtInEncoding) {\n      charCodeToGlyphId[charCode] = builtInEncoding[charCode];\n    }\n  } else {\n    baseEncoding = _encodings.StandardEncoding;\n    for (charCode = 0; charCode < baseEncoding.length; charCode++) {\n      glyphId = glyphNames.indexOf(baseEncoding[charCode]);\n      if (glyphId >= 0) {\n        charCodeToGlyphId[charCode] = glyphId;\n      } else {\n        charCodeToGlyphId[charCode] = 0;\n      }\n    }\n  }\n  var differences = properties.differences,\n      glyphsUnicodeMap;\n  if (differences) {\n    for (charCode in differences) {\n      var glyphName = differences[charCode];\n      glyphId = glyphNames.indexOf(glyphName);\n      if (glyphId === -1) {\n        if (!glyphsUnicodeMap) {\n          glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n        }\n        var standardGlyphName = recoverGlyphName(glyphName, glyphsUnicodeMap);\n        if (standardGlyphName !== glyphName) {\n          glyphId = glyphNames.indexOf(standardGlyphName);\n        }\n      }\n      if (glyphId >= 0) {\n        charCodeToGlyphId[charCode] = glyphId;\n      } else {\n        charCodeToGlyphId[charCode] = 0;\n      }\n    }\n  }\n  return charCodeToGlyphId;\n}\nvar Type1Font = function Type1FontClosure() {\n  function findBlock(streamBytes, signature, startIndex) {\n    var streamBytesLength = streamBytes.length;\n    var signatureLength = signature.length;\n    var scanLength = streamBytesLength - signatureLength;\n    var i = startIndex,\n        j,\n        found = false;\n    while (i < scanLength) {\n      j = 0;\n      while (j < signatureLength && streamBytes[i + j] === signature[j]) {\n        j++;\n      }\n      if (j >= signatureLength) {\n        i += j;\n        while (i < streamBytesLength && (0, _util.isSpace)(streamBytes[i])) {\n          i++;\n        }\n        found = true;\n        break;\n      }\n      i++;\n    }\n    return {\n      found: found,\n      length: i\n    };\n  }\n  function getHeaderBlock(stream, suggestedLength) {\n    var EEXEC_SIGNATURE = [0x65, 0x65, 0x78, 0x65, 0x63];\n    var streamStartPos = stream.pos;\n    var headerBytes, headerBytesLength, block;\n    try {\n      headerBytes = stream.getBytes(suggestedLength);\n      headerBytesLength = headerBytes.length;\n    } catch (ex) {\n      if (ex instanceof _util.MissingDataException) {\n        throw ex;\n      }\n    }\n    if (headerBytesLength === suggestedLength) {\n      block = findBlock(headerBytes, EEXEC_SIGNATURE, suggestedLength - 2 * EEXEC_SIGNATURE.length);\n      if (block.found && block.length === suggestedLength) {\n        return {\n          stream: new _stream.Stream(headerBytes),\n          length: suggestedLength\n        };\n      }\n    }\n    (0, _util.warn)('Invalid \"Length1\" property in Type1 font -- trying to recover.');\n    stream.pos = streamStartPos;\n    var SCAN_BLOCK_LENGTH = 2048;\n    var actualLength;\n    while (true) {\n      var scanBytes = stream.peekBytes(SCAN_BLOCK_LENGTH);\n      block = findBlock(scanBytes, EEXEC_SIGNATURE, 0);\n      if (block.length === 0) {\n        break;\n      }\n      stream.pos += block.length;\n      if (block.found) {\n        actualLength = stream.pos - streamStartPos;\n        break;\n      }\n    }\n    stream.pos = streamStartPos;\n    if (actualLength) {\n      return {\n        stream: new _stream.Stream(stream.getBytes(actualLength)),\n        length: actualLength\n      };\n    }\n    (0, _util.warn)('Unable to recover \"Length1\" property in Type1 font -- using as is.');\n    return {\n      stream: new _stream.Stream(stream.getBytes(suggestedLength)),\n      length: suggestedLength\n    };\n  }\n  function getEexecBlock(stream, suggestedLength) {\n    var eexecBytes = stream.getBytes();\n    return {\n      stream: new _stream.Stream(eexecBytes),\n      length: eexecBytes.length\n    };\n  }\n  function Type1Font(name, file, properties) {\n    var PFB_HEADER_SIZE = 6;\n    var headerBlockLength = properties.length1;\n    var eexecBlockLength = properties.length2;\n    var pfbHeader = file.peekBytes(PFB_HEADER_SIZE);\n    var pfbHeaderPresent = pfbHeader[0] === 0x80 && pfbHeader[1] === 0x01;\n    if (pfbHeaderPresent) {\n      file.skip(PFB_HEADER_SIZE);\n      headerBlockLength = pfbHeader[5] << 24 | pfbHeader[4] << 16 | pfbHeader[3] << 8 | pfbHeader[2];\n    }\n    var headerBlock = getHeaderBlock(file, headerBlockLength);\n    headerBlockLength = headerBlock.length;\n    var headerBlockParser = new _type1_parser.Type1Parser(headerBlock.stream, false, SEAC_ANALYSIS_ENABLED);\n    headerBlockParser.extractFontHeader(properties);\n    if (pfbHeaderPresent) {\n      pfbHeader = file.getBytes(PFB_HEADER_SIZE);\n      eexecBlockLength = pfbHeader[5] << 24 | pfbHeader[4] << 16 | pfbHeader[3] << 8 | pfbHeader[2];\n    }\n    var eexecBlock = getEexecBlock(file, eexecBlockLength);\n    eexecBlockLength = eexecBlock.length;\n    var eexecBlockParser = new _type1_parser.Type1Parser(eexecBlock.stream, true, SEAC_ANALYSIS_ENABLED);\n    var data = eexecBlockParser.extractFontProgram();\n    for (var info in data.properties) {\n      properties[info] = data.properties[info];\n    }\n    var charstrings = data.charstrings;\n    var type2Charstrings = this.getType2Charstrings(charstrings);\n    var subrs = this.getType2Subrs(data.subrs);\n    this.charstrings = charstrings;\n    this.data = this.wrap(name, type2Charstrings, this.charstrings, subrs, properties);\n    this.seacs = this.getSeacs(data.charstrings);\n  }\n  Type1Font.prototype = {\n    get numGlyphs() {\n      return this.charstrings.length + 1;\n    },\n    getCharset: function Type1Font_getCharset() {\n      var charset = ['.notdef'];\n      var charstrings = this.charstrings;\n      for (var glyphId = 0; glyphId < charstrings.length; glyphId++) {\n        charset.push(charstrings[glyphId].glyphName);\n      }\n      return charset;\n    },\n    getGlyphMapping: function Type1Font_getGlyphMapping(properties) {\n      var charstrings = this.charstrings;\n      var glyphNames = ['.notdef'],\n          glyphId;\n      for (glyphId = 0; glyphId < charstrings.length; glyphId++) {\n        glyphNames.push(charstrings[glyphId].glyphName);\n      }\n      var encoding = properties.builtInEncoding;\n      if (encoding) {\n        var builtInEncoding = Object.create(null);\n        for (var charCode in encoding) {\n          glyphId = glyphNames.indexOf(encoding[charCode]);\n          if (glyphId >= 0) {\n            builtInEncoding[charCode] = glyphId;\n          }\n        }\n      }\n      return type1FontGlyphMapping(properties, builtInEncoding, glyphNames);\n    },\n    getSeacs: function Type1Font_getSeacs(charstrings) {\n      var i, ii;\n      var seacMap = [];\n      for (i = 0, ii = charstrings.length; i < ii; i++) {\n        var charstring = charstrings[i];\n        if (charstring.seac) {\n          seacMap[i + 1] = charstring.seac;\n        }\n      }\n      return seacMap;\n    },\n    getType2Charstrings: function Type1Font_getType2Charstrings(type1Charstrings) {\n      var type2Charstrings = [];\n      for (var i = 0, ii = type1Charstrings.length; i < ii; i++) {\n        type2Charstrings.push(type1Charstrings[i].charstring);\n      }\n      return type2Charstrings;\n    },\n    getType2Subrs: function Type1Font_getType2Subrs(type1Subrs) {\n      var bias = 0;\n      var count = type1Subrs.length;\n      if (count < 1133) {\n        bias = 107;\n      } else if (count < 33769) {\n        bias = 1131;\n      } else {\n        bias = 32768;\n      }\n      var type2Subrs = [];\n      var i;\n      for (i = 0; i < bias; i++) {\n        type2Subrs.push([0x0B]);\n      }\n      for (i = 0; i < count; i++) {\n        type2Subrs.push(type1Subrs[i]);\n      }\n      return type2Subrs;\n    },\n    wrap: function Type1Font_wrap(name, glyphs, charstrings, subrs, properties) {\n      var cff = new _cff_parser.CFF();\n      cff.header = new _cff_parser.CFFHeader(1, 0, 4, 4);\n      cff.names = [name];\n      var topDict = new _cff_parser.CFFTopDict();\n      topDict.setByName('version', 391);\n      topDict.setByName('Notice', 392);\n      topDict.setByName('FullName', 393);\n      topDict.setByName('FamilyName', 394);\n      topDict.setByName('Weight', 395);\n      topDict.setByName('Encoding', null);\n      topDict.setByName('FontMatrix', properties.fontMatrix);\n      topDict.setByName('FontBBox', properties.bbox);\n      topDict.setByName('charset', null);\n      topDict.setByName('CharStrings', null);\n      topDict.setByName('Private', null);\n      cff.topDict = topDict;\n      var strings = new _cff_parser.CFFStrings();\n      strings.add('Version 0.11');\n      strings.add('See original notice');\n      strings.add(name);\n      strings.add(name);\n      strings.add('Medium');\n      cff.strings = strings;\n      cff.globalSubrIndex = new _cff_parser.CFFIndex();\n      var count = glyphs.length;\n      var charsetArray = [0];\n      var i, ii;\n      for (i = 0; i < count; i++) {\n        var index = _cff_parser.CFFStandardStrings.indexOf(charstrings[i].glyphName);\n        if (index === -1) {\n          index = 0;\n        }\n        charsetArray.push(index >> 8 & 0xff, index & 0xff);\n      }\n      cff.charset = new _cff_parser.CFFCharset(false, 0, [], charsetArray);\n      var charStringsIndex = new _cff_parser.CFFIndex();\n      charStringsIndex.add([0x8B, 0x0E]);\n      for (i = 0; i < count; i++) {\n        var glyph = glyphs[i];\n        if (glyph.length === 0) {\n          charStringsIndex.add([0x8B, 0x0E]);\n          continue;\n        }\n        charStringsIndex.add(glyph);\n      }\n      cff.charStrings = charStringsIndex;\n      var privateDict = new _cff_parser.CFFPrivateDict();\n      privateDict.setByName('Subrs', null);\n      var fields = ['BlueValues', 'OtherBlues', 'FamilyBlues', 'FamilyOtherBlues', 'StemSnapH', 'StemSnapV', 'BlueShift', 'BlueFuzz', 'BlueScale', 'LanguageGroup', 'ExpansionFactor', 'ForceBold', 'StdHW', 'StdVW'];\n      for (i = 0, ii = fields.length; i < ii; i++) {\n        var field = fields[i];\n        if (!(field in properties.privateData)) {\n          continue;\n        }\n        var value = properties.privateData[field];\n        if (Array.isArray(value)) {\n          for (var j = value.length - 1; j > 0; j--) {\n            value[j] -= value[j - 1];\n          }\n        }\n        privateDict.setByName(field, value);\n      }\n      cff.topDict.privateDict = privateDict;\n      var subrIndex = new _cff_parser.CFFIndex();\n      for (i = 0, ii = subrs.length; i < ii; i++) {\n        subrIndex.add(subrs[i]);\n      }\n      privateDict.subrsIndex = subrIndex;\n      var compiler = new _cff_parser.CFFCompiler(cff);\n      return compiler.compile();\n    }\n  };\n  return Type1Font;\n}();\nvar CFFFont = function CFFFontClosure() {\n  function CFFFont(file, properties) {\n    this.properties = properties;\n    var parser = new _cff_parser.CFFParser(file, properties, SEAC_ANALYSIS_ENABLED);\n    this.cff = parser.parse();\n    var compiler = new _cff_parser.CFFCompiler(this.cff);\n    this.seacs = this.cff.seacs;\n    try {\n      this.data = compiler.compile();\n    } catch (e) {\n      (0, _util.warn)('Failed to compile font ' + properties.loadedName);\n      this.data = file;\n    }\n  }\n  CFFFont.prototype = {\n    get numGlyphs() {\n      return this.cff.charStrings.count;\n    },\n    getCharset: function CFFFont_getCharset() {\n      return this.cff.charset.charset;\n    },\n    getGlyphMapping: function CFFFont_getGlyphMapping() {\n      var cff = this.cff;\n      var properties = this.properties;\n      var charsets = cff.charset.charset;\n      var charCodeToGlyphId;\n      var glyphId;\n      if (properties.composite) {\n        charCodeToGlyphId = Object.create(null);\n        if (cff.isCIDFont) {\n          for (glyphId = 0; glyphId < charsets.length; glyphId++) {\n            var cid = charsets[glyphId];\n            var charCode = properties.cMap.charCodeOf(cid);\n            charCodeToGlyphId[charCode] = glyphId;\n          }\n        } else {\n          for (glyphId = 0; glyphId < cff.charStrings.count; glyphId++) {\n            charCodeToGlyphId[glyphId] = glyphId;\n          }\n        }\n        return charCodeToGlyphId;\n      }\n      var encoding = cff.encoding ? cff.encoding.encoding : null;\n      charCodeToGlyphId = type1FontGlyphMapping(properties, encoding, charsets);\n      return charCodeToGlyphId;\n    }\n  };\n  return CFFFont;\n}();\n(function checkSeacSupport() {\n  if (typeof navigator !== 'undefined' && /Windows/.test(navigator.userAgent)) {\n    exports.SEAC_ANALYSIS_ENABLED = SEAC_ANALYSIS_ENABLED = true;\n  }\n})();\n(function checkChromeWindows() {\n  if (typeof navigator !== 'undefined' && /Windows.*Chrome/.test(navigator.userAgent)) {\n    SKIP_PRIVATE_USE_RANGE_F000_TO_F01F = true;\n  }\n})();\nexports.SEAC_ANALYSIS_ENABLED = SEAC_ANALYSIS_ENABLED;\nexports.PRIVATE_USE_OFFSET_START = PRIVATE_USE_OFFSET_START;\nexports.PRIVATE_USE_OFFSET_END = PRIVATE_USE_OFFSET_END;\nexports.ErrorFont = ErrorFont;\nexports.Font = Font;\nexports.FontFlags = FontFlags;\nexports.ToUnicodeMap = ToUnicodeMap;\nexports.IdentityToUnicodeMap = IdentityToUnicodeMap;\nexports.ProblematicCharRanges = ProblematicCharRanges;\nexports.getFontType = getFontType;\n\n/***/ }),\n/* 150 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nvar ISOAdobeCharset = ['.notdef', 'space', 'exclam', 'quotedbl', 'numbersign', 'dollar', 'percent', 'ampersand', 'quoteright', 'parenleft', 'parenright', 'asterisk', 'plus', 'comma', 'hyphen', 'period', 'slash', 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'colon', 'semicolon', 'less', 'equal', 'greater', 'question', 'at', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'bracketleft', 'backslash', 'bracketright', 'asciicircum', 'underscore', 'quoteleft', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'braceleft', 'bar', 'braceright', 'asciitilde', 'exclamdown', 'cent', 'sterling', 'fraction', 'yen', 'florin', 'section', 'currency', 'quotesingle', 'quotedblleft', 'guillemotleft', 'guilsinglleft', 'guilsinglright', 'fi', 'fl', 'endash', 'dagger', 'daggerdbl', 'periodcentered', 'paragraph', 'bullet', 'quotesinglbase', 'quotedblbase', 'quotedblright', 'guillemotright', 'ellipsis', 'perthousand', 'questiondown', 'grave', 'acute', 'circumflex', 'tilde', 'macron', 'breve', 'dotaccent', 'dieresis', 'ring', 'cedilla', 'hungarumlaut', 'ogonek', 'caron', 'emdash', 'AE', 'ordfeminine', 'Lslash', 'Oslash', 'OE', 'ordmasculine', 'ae', 'dotlessi', 'lslash', 'oslash', 'oe', 'germandbls', 'onesuperior', 'logicalnot', 'mu', 'trademark', 'Eth', 'onehalf', 'plusminus', 'Thorn', 'onequarter', 'divide', 'brokenbar', 'degree', 'thorn', 'threequarters', 'twosuperior', 'registered', 'minus', 'eth', 'multiply', 'threesuperior', 'copyright', 'Aacute', 'Acircumflex', 'Adieresis', 'Agrave', 'Aring', 'Atilde', 'Ccedilla', 'Eacute', 'Ecircumflex', 'Edieresis', 'Egrave', 'Iacute', 'Icircumflex', 'Idieresis', 'Igrave', 'Ntilde', 'Oacute', 'Ocircumflex', 'Odieresis', 'Ograve', 'Otilde', 'Scaron', 'Uacute', 'Ucircumflex', 'Udieresis', 'Ugrave', 'Yacute', 'Ydieresis', 'Zcaron', 'aacute', 'acircumflex', 'adieresis', 'agrave', 'aring', 'atilde', 'ccedilla', 'eacute', 'ecircumflex', 'edieresis', 'egrave', 'iacute', 'icircumflex', 'idieresis', 'igrave', 'ntilde', 'oacute', 'ocircumflex', 'odieresis', 'ograve', 'otilde', 'scaron', 'uacute', 'ucircumflex', 'udieresis', 'ugrave', 'yacute', 'ydieresis', 'zcaron'];\nvar ExpertCharset = ['.notdef', 'space', 'exclamsmall', 'Hungarumlautsmall', 'dollaroldstyle', 'dollarsuperior', 'ampersandsmall', 'Acutesmall', 'parenleftsuperior', 'parenrightsuperior', 'twodotenleader', 'onedotenleader', 'comma', 'hyphen', 'period', 'fraction', 'zerooldstyle', 'oneoldstyle', 'twooldstyle', 'threeoldstyle', 'fouroldstyle', 'fiveoldstyle', 'sixoldstyle', 'sevenoldstyle', 'eightoldstyle', 'nineoldstyle', 'colon', 'semicolon', 'commasuperior', 'threequartersemdash', 'periodsuperior', 'questionsmall', 'asuperior', 'bsuperior', 'centsuperior', 'dsuperior', 'esuperior', 'isuperior', 'lsuperior', 'msuperior', 'nsuperior', 'osuperior', 'rsuperior', 'ssuperior', 'tsuperior', 'ff', 'fi', 'fl', 'ffi', 'ffl', 'parenleftinferior', 'parenrightinferior', 'Circumflexsmall', 'hyphensuperior', 'Gravesmall', 'Asmall', 'Bsmall', 'Csmall', 'Dsmall', 'Esmall', 'Fsmall', 'Gsmall', 'Hsmall', 'Ismall', 'Jsmall', 'Ksmall', 'Lsmall', 'Msmall', 'Nsmall', 'Osmall', 'Psmall', 'Qsmall', 'Rsmall', 'Ssmall', 'Tsmall', 'Usmall', 'Vsmall', 'Wsmall', 'Xsmall', 'Ysmall', 'Zsmall', 'colonmonetary', 'onefitted', 'rupiah', 'Tildesmall', 'exclamdownsmall', 'centoldstyle', 'Lslashsmall', 'Scaronsmall', 'Zcaronsmall', 'Dieresissmall', 'Brevesmall', 'Caronsmall', 'Dotaccentsmall', 'Macronsmall', 'figuredash', 'hypheninferior', 'Ogoneksmall', 'Ringsmall', 'Cedillasmall', 'onequarter', 'onehalf', 'threequarters', 'questiondownsmall', 'oneeighth', 'threeeighths', 'fiveeighths', 'seveneighths', 'onethird', 'twothirds', 'zerosuperior', 'onesuperior', 'twosuperior', 'threesuperior', 'foursuperior', 'fivesuperior', 'sixsuperior', 'sevensuperior', 'eightsuperior', 'ninesuperior', 'zeroinferior', 'oneinferior', 'twoinferior', 'threeinferior', 'fourinferior', 'fiveinferior', 'sixinferior', 'seveninferior', 'eightinferior', 'nineinferior', 'centinferior', 'dollarinferior', 'periodinferior', 'commainferior', 'Agravesmall', 'Aacutesmall', 'Acircumflexsmall', 'Atildesmall', 'Adieresissmall', 'Aringsmall', 'AEsmall', 'Ccedillasmall', 'Egravesmall', 'Eacutesmall', 'Ecircumflexsmall', 'Edieresissmall', 'Igravesmall', 'Iacutesmall', 'Icircumflexsmall', 'Idieresissmall', 'Ethsmall', 'Ntildesmall', 'Ogravesmall', 'Oacutesmall', 'Ocircumflexsmall', 'Otildesmall', 'Odieresissmall', 'OEsmall', 'Oslashsmall', 'Ugravesmall', 'Uacutesmall', 'Ucircumflexsmall', 'Udieresissmall', 'Yacutesmall', 'Thornsmall', 'Ydieresissmall'];\nvar ExpertSubsetCharset = ['.notdef', 'space', 'dollaroldstyle', 'dollarsuperior', 'parenleftsuperior', 'parenrightsuperior', 'twodotenleader', 'onedotenleader', 'comma', 'hyphen', 'period', 'fraction', 'zerooldstyle', 'oneoldstyle', 'twooldstyle', 'threeoldstyle', 'fouroldstyle', 'fiveoldstyle', 'sixoldstyle', 'sevenoldstyle', 'eightoldstyle', 'nineoldstyle', 'colon', 'semicolon', 'commasuperior', 'threequartersemdash', 'periodsuperior', 'asuperior', 'bsuperior', 'centsuperior', 'dsuperior', 'esuperior', 'isuperior', 'lsuperior', 'msuperior', 'nsuperior', 'osuperior', 'rsuperior', 'ssuperior', 'tsuperior', 'ff', 'fi', 'fl', 'ffi', 'ffl', 'parenleftinferior', 'parenrightinferior', 'hyphensuperior', 'colonmonetary', 'onefitted', 'rupiah', 'centoldstyle', 'figuredash', 'hypheninferior', 'onequarter', 'onehalf', 'threequarters', 'oneeighth', 'threeeighths', 'fiveeighths', 'seveneighths', 'onethird', 'twothirds', 'zerosuperior', 'onesuperior', 'twosuperior', 'threesuperior', 'foursuperior', 'fivesuperior', 'sixsuperior', 'sevensuperior', 'eightsuperior', 'ninesuperior', 'zeroinferior', 'oneinferior', 'twoinferior', 'threeinferior', 'fourinferior', 'fiveinferior', 'sixinferior', 'seveninferior', 'eightinferior', 'nineinferior', 'centinferior', 'dollarinferior', 'periodinferior', 'commainferior'];\nexports.ISOAdobeCharset = ISOAdobeCharset;\nexports.ExpertCharset = ExpertCharset;\nexports.ExpertSubsetCharset = ExpertSubsetCharset;\n\n/***/ }),\n/* 151 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.FontRendererFactory = undefined;\n\nvar _util = __w_pdfjs_require__(0);\n\nvar _cff_parser = __w_pdfjs_require__(84);\n\nvar _glyphlist = __w_pdfjs_require__(49);\n\nvar _encodings = __w_pdfjs_require__(30);\n\nvar _stream = __w_pdfjs_require__(5);\n\nvar FontRendererFactory = function FontRendererFactoryClosure() {\n  function getLong(data, offset) {\n    return data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3];\n  }\n  function getUshort(data, offset) {\n    return data[offset] << 8 | data[offset + 1];\n  }\n  function parseCmap(data, start, end) {\n    var offset = getUshort(data, start + 2) === 1 ? getLong(data, start + 8) : getLong(data, start + 16);\n    var format = getUshort(data, start + offset);\n    var ranges, p, i;\n    if (format === 4) {\n      getUshort(data, start + offset + 2);\n      var segCount = getUshort(data, start + offset + 6) >> 1;\n      p = start + offset + 14;\n      ranges = [];\n      for (i = 0; i < segCount; i++, p += 2) {\n        ranges[i] = { end: getUshort(data, p) };\n      }\n      p += 2;\n      for (i = 0; i < segCount; i++, p += 2) {\n        ranges[i].start = getUshort(data, p);\n      }\n      for (i = 0; i < segCount; i++, p += 2) {\n        ranges[i].idDelta = getUshort(data, p);\n      }\n      for (i = 0; i < segCount; i++, p += 2) {\n        var idOffset = getUshort(data, p);\n        if (idOffset === 0) {\n          continue;\n        }\n        ranges[i].ids = [];\n        for (var j = 0, jj = ranges[i].end - ranges[i].start + 1; j < jj; j++) {\n          ranges[i].ids[j] = getUshort(data, p + idOffset);\n          idOffset += 2;\n        }\n      }\n      return ranges;\n    } else if (format === 12) {\n      getLong(data, start + offset + 4);\n      var groups = getLong(data, start + offset + 12);\n      p = start + offset + 16;\n      ranges = [];\n      for (i = 0; i < groups; i++) {\n        ranges.push({\n          start: getLong(data, p),\n          end: getLong(data, p + 4),\n          idDelta: getLong(data, p + 8) - getLong(data, p)\n        });\n        p += 12;\n      }\n      return ranges;\n    }\n    throw new _util.FormatError('unsupported cmap: ' + format);\n  }\n  function parseCff(data, start, end, seacAnalysisEnabled) {\n    var properties = {};\n    var parser = new _cff_parser.CFFParser(new _stream.Stream(data, start, end - start), properties, seacAnalysisEnabled);\n    var cff = parser.parse();\n    return {\n      glyphs: cff.charStrings.objects,\n      subrs: cff.topDict.privateDict && cff.topDict.privateDict.subrsIndex && cff.topDict.privateDict.subrsIndex.objects,\n      gsubrs: cff.globalSubrIndex && cff.globalSubrIndex.objects\n    };\n  }\n  function parseGlyfTable(glyf, loca, isGlyphLocationsLong) {\n    var itemSize, itemDecode;\n    if (isGlyphLocationsLong) {\n      itemSize = 4;\n      itemDecode = function fontItemDecodeLong(data, offset) {\n        return data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3];\n      };\n    } else {\n      itemSize = 2;\n      itemDecode = function fontItemDecode(data, offset) {\n        return data[offset] << 9 | data[offset + 1] << 1;\n      };\n    }\n    var glyphs = [];\n    var startOffset = itemDecode(loca, 0);\n    for (var j = itemSize; j < loca.length; j += itemSize) {\n      var endOffset = itemDecode(loca, j);\n      glyphs.push(glyf.subarray(startOffset, endOffset));\n      startOffset = endOffset;\n    }\n    return glyphs;\n  }\n  function lookupCmap(ranges, unicode) {\n    var code = unicode.charCodeAt(0),\n        gid = 0;\n    var l = 0,\n        r = ranges.length - 1;\n    while (l < r) {\n      var c = l + r + 1 >> 1;\n      if (code < ranges[c].start) {\n        r = c - 1;\n      } else {\n        l = c;\n      }\n    }\n    if (ranges[l].start <= code && code <= ranges[l].end) {\n      gid = ranges[l].idDelta + (ranges[l].ids ? ranges[l].ids[code - ranges[l].start] : code) & 0xFFFF;\n    }\n    return {\n      charCode: code,\n      glyphId: gid\n    };\n  }\n  function compileGlyf(code, cmds, font) {\n    function moveTo(x, y) {\n      cmds.push({\n        cmd: 'moveTo',\n        args: [x, y]\n      });\n    }\n    function lineTo(x, y) {\n      cmds.push({\n        cmd: 'lineTo',\n        args: [x, y]\n      });\n    }\n    function quadraticCurveTo(xa, ya, x, y) {\n      cmds.push({\n        cmd: 'quadraticCurveTo',\n        args: [xa, ya, x, y]\n      });\n    }\n    var i = 0;\n    var numberOfContours = (code[i] << 24 | code[i + 1] << 16) >> 16;\n    var flags;\n    var x = 0,\n        y = 0;\n    i += 10;\n    if (numberOfContours < 0) {\n      do {\n        flags = code[i] << 8 | code[i + 1];\n        var glyphIndex = code[i + 2] << 8 | code[i + 3];\n        i += 4;\n        var arg1, arg2;\n        if (flags & 0x01) {\n          arg1 = (code[i] << 24 | code[i + 1] << 16) >> 16;\n          arg2 = (code[i + 2] << 24 | code[i + 3] << 16) >> 16;\n          i += 4;\n        } else {\n          arg1 = code[i++];\n          arg2 = code[i++];\n        }\n        if (flags & 0x02) {\n          x = arg1;\n          y = arg2;\n        } else {\n          x = 0;\n          y = 0;\n        }\n        var scaleX = 1,\n            scaleY = 1,\n            scale01 = 0,\n            scale10 = 0;\n        if (flags & 0x08) {\n          scaleX = scaleY = (code[i] << 24 | code[i + 1] << 16) / 1073741824;\n          i += 2;\n        } else if (flags & 0x40) {\n          scaleX = (code[i] << 24 | code[i + 1] << 16) / 1073741824;\n          scaleY = (code[i + 2] << 24 | code[i + 3] << 16) / 1073741824;\n          i += 4;\n        } else if (flags & 0x80) {\n          scaleX = (code[i] << 24 | code[i + 1] << 16) / 1073741824;\n          scale01 = (code[i + 2] << 24 | code[i + 3] << 16) / 1073741824;\n          scale10 = (code[i + 4] << 24 | code[i + 5] << 16) / 1073741824;\n          scaleY = (code[i + 6] << 24 | code[i + 7] << 16) / 1073741824;\n          i += 8;\n        }\n        var subglyph = font.glyphs[glyphIndex];\n        if (subglyph) {\n          cmds.push({ cmd: 'save' });\n          cmds.push({\n            cmd: 'transform',\n            args: [scaleX, scale01, scale10, scaleY, x, y]\n          });\n          compileGlyf(subglyph, cmds, font);\n          cmds.push({ cmd: 'restore' });\n        }\n      } while (flags & 0x20);\n    } else {\n      var endPtsOfContours = [];\n      var j, jj;\n      for (j = 0; j < numberOfContours; j++) {\n        endPtsOfContours.push(code[i] << 8 | code[i + 1]);\n        i += 2;\n      }\n      var instructionLength = code[i] << 8 | code[i + 1];\n      i += 2 + instructionLength;\n      var numberOfPoints = endPtsOfContours[endPtsOfContours.length - 1] + 1;\n      var points = [];\n      while (points.length < numberOfPoints) {\n        flags = code[i++];\n        var repeat = 1;\n        if (flags & 0x08) {\n          repeat += code[i++];\n        }\n        while (repeat-- > 0) {\n          points.push({ flags: flags });\n        }\n      }\n      for (j = 0; j < numberOfPoints; j++) {\n        switch (points[j].flags & 0x12) {\n          case 0x00:\n            x += (code[i] << 24 | code[i + 1] << 16) >> 16;\n            i += 2;\n            break;\n          case 0x02:\n            x -= code[i++];\n            break;\n          case 0x12:\n            x += code[i++];\n            break;\n        }\n        points[j].x = x;\n      }\n      for (j = 0; j < numberOfPoints; j++) {\n        switch (points[j].flags & 0x24) {\n          case 0x00:\n            y += (code[i] << 24 | code[i + 1] << 16) >> 16;\n            i += 2;\n            break;\n          case 0x04:\n            y -= code[i++];\n            break;\n          case 0x24:\n            y += code[i++];\n            break;\n        }\n        points[j].y = y;\n      }\n      var startPoint = 0;\n      for (i = 0; i < numberOfContours; i++) {\n        var endPoint = endPtsOfContours[i];\n        var contour = points.slice(startPoint, endPoint + 1);\n        if (contour[0].flags & 1) {\n          contour.push(contour[0]);\n        } else if (contour[contour.length - 1].flags & 1) {\n          contour.unshift(contour[contour.length - 1]);\n        } else {\n          var p = {\n            flags: 1,\n            x: (contour[0].x + contour[contour.length - 1].x) / 2,\n            y: (contour[0].y + contour[contour.length - 1].y) / 2\n          };\n          contour.unshift(p);\n          contour.push(p);\n        }\n        moveTo(contour[0].x, contour[0].y);\n        for (j = 1, jj = contour.length; j < jj; j++) {\n          if (contour[j].flags & 1) {\n            lineTo(contour[j].x, contour[j].y);\n          } else if (contour[j + 1].flags & 1) {\n            quadraticCurveTo(contour[j].x, contour[j].y, contour[j + 1].x, contour[j + 1].y);\n            j++;\n          } else {\n            quadraticCurveTo(contour[j].x, contour[j].y, (contour[j].x + contour[j + 1].x) / 2, (contour[j].y + contour[j + 1].y) / 2);\n          }\n        }\n        startPoint = endPoint + 1;\n      }\n    }\n  }\n  function compileCharString(code, cmds, font) {\n    var stack = [];\n    var x = 0,\n        y = 0;\n    var stems = 0;\n    function moveTo(x, y) {\n      cmds.push({\n        cmd: 'moveTo',\n        args: [x, y]\n      });\n    }\n    function lineTo(x, y) {\n      cmds.push({\n        cmd: 'lineTo',\n        args: [x, y]\n      });\n    }\n    function bezierCurveTo(x1, y1, x2, y2, x, y) {\n      cmds.push({\n        cmd: 'bezierCurveTo',\n        args: [x1, y1, x2, y2, x, y]\n      });\n    }\n    function parse(code) {\n      var i = 0;\n      while (i < code.length) {\n        var stackClean = false;\n        var v = code[i++];\n        var xa, xb, ya, yb, y1, y2, y3, n, subrCode;\n        switch (v) {\n          case 1:\n            stems += stack.length >> 1;\n            stackClean = true;\n            break;\n          case 3:\n            stems += stack.length >> 1;\n            stackClean = true;\n            break;\n          case 4:\n            y += stack.pop();\n            moveTo(x, y);\n            stackClean = true;\n            break;\n          case 5:\n            while (stack.length > 0) {\n              x += stack.shift();\n              y += stack.shift();\n              lineTo(x, y);\n            }\n            break;\n          case 6:\n            while (stack.length > 0) {\n              x += stack.shift();\n              lineTo(x, y);\n              if (stack.length === 0) {\n                break;\n              }\n              y += stack.shift();\n              lineTo(x, y);\n            }\n            break;\n          case 7:\n            while (stack.length > 0) {\n              y += stack.shift();\n              lineTo(x, y);\n              if (stack.length === 0) {\n                break;\n              }\n              x += stack.shift();\n              lineTo(x, y);\n            }\n            break;\n          case 8:\n            while (stack.length > 0) {\n              xa = x + stack.shift();\n              ya = y + stack.shift();\n              xb = xa + stack.shift();\n              yb = ya + stack.shift();\n              x = xb + stack.shift();\n              y = yb + stack.shift();\n              bezierCurveTo(xa, ya, xb, yb, x, y);\n            }\n            break;\n          case 10:\n            n = stack.pop() + font.subrsBias;\n            subrCode = font.subrs[n];\n            if (subrCode) {\n              parse(subrCode);\n            }\n            break;\n          case 11:\n            return;\n          case 12:\n            v = code[i++];\n            switch (v) {\n              case 34:\n                xa = x + stack.shift();\n                xb = xa + stack.shift();\n                y1 = y + stack.shift();\n                x = xb + stack.shift();\n                bezierCurveTo(xa, y, xb, y1, x, y1);\n                xa = x + stack.shift();\n                xb = xa + stack.shift();\n                x = xb + stack.shift();\n                bezierCurveTo(xa, y1, xb, y, x, y);\n                break;\n              case 35:\n                xa = x + stack.shift();\n                ya = y + stack.shift();\n                xb = xa + stack.shift();\n                yb = ya + stack.shift();\n                x = xb + stack.shift();\n                y = yb + stack.shift();\n                bezierCurveTo(xa, ya, xb, yb, x, y);\n                xa = x + stack.shift();\n                ya = y + stack.shift();\n                xb = xa + stack.shift();\n                yb = ya + stack.shift();\n                x = xb + stack.shift();\n                y = yb + stack.shift();\n                bezierCurveTo(xa, ya, xb, yb, x, y);\n                stack.pop();\n                break;\n              case 36:\n                xa = x + stack.shift();\n                y1 = y + stack.shift();\n                xb = xa + stack.shift();\n                y2 = y1 + stack.shift();\n                x = xb + stack.shift();\n                bezierCurveTo(xa, y1, xb, y2, x, y2);\n                xa = x + stack.shift();\n                xb = xa + stack.shift();\n                y3 = y2 + stack.shift();\n                x = xb + stack.shift();\n                bezierCurveTo(xa, y2, xb, y3, x, y);\n                break;\n              case 37:\n                var x0 = x,\n                    y0 = y;\n                xa = x + stack.shift();\n                ya = y + stack.shift();\n                xb = xa + stack.shift();\n                yb = ya + stack.shift();\n                x = xb + stack.shift();\n                y = yb + stack.shift();\n                bezierCurveTo(xa, ya, xb, yb, x, y);\n                xa = x + stack.shift();\n                ya = y + stack.shift();\n                xb = xa + stack.shift();\n                yb = ya + stack.shift();\n                x = xb;\n                y = yb;\n                if (Math.abs(x - x0) > Math.abs(y - y0)) {\n                  x += stack.shift();\n                } else {\n                  y += stack.shift();\n                }\n                bezierCurveTo(xa, ya, xb, yb, x, y);\n                break;\n              default:\n                throw new _util.FormatError('unknown operator: 12 ' + v);\n            }\n            break;\n          case 14:\n            if (stack.length >= 4) {\n              var achar = stack.pop();\n              var bchar = stack.pop();\n              y = stack.pop();\n              x = stack.pop();\n              cmds.push({ cmd: 'save' });\n              cmds.push({\n                cmd: 'translate',\n                args: [x, y]\n              });\n              var cmap = lookupCmap(font.cmap, String.fromCharCode(font.glyphNameMap[_encodings.StandardEncoding[achar]]));\n              compileCharString(font.glyphs[cmap.glyphId], cmds, font);\n              cmds.push({ cmd: 'restore' });\n              cmap = lookupCmap(font.cmap, String.fromCharCode(font.glyphNameMap[_encodings.StandardEncoding[bchar]]));\n              compileCharString(font.glyphs[cmap.glyphId], cmds, font);\n            }\n            return;\n          case 18:\n            stems += stack.length >> 1;\n            stackClean = true;\n            break;\n          case 19:\n            stems += stack.length >> 1;\n            i += stems + 7 >> 3;\n            stackClean = true;\n            break;\n          case 20:\n            stems += stack.length >> 1;\n            i += stems + 7 >> 3;\n            stackClean = true;\n            break;\n          case 21:\n            y += stack.pop();\n            x += stack.pop();\n            moveTo(x, y);\n            stackClean = true;\n            break;\n          case 22:\n            x += stack.pop();\n            moveTo(x, y);\n            stackClean = true;\n            break;\n          case 23:\n            stems += stack.length >> 1;\n            stackClean = true;\n            break;\n          case 24:\n            while (stack.length > 2) {\n              xa = x + stack.shift();\n              ya = y + stack.shift();\n              xb = xa + stack.shift();\n              yb = ya + stack.shift();\n              x = xb + stack.shift();\n              y = yb + stack.shift();\n              bezierCurveTo(xa, ya, xb, yb, x, y);\n            }\n            x += stack.shift();\n            y += stack.shift();\n            lineTo(x, y);\n            break;\n          case 25:\n            while (stack.length > 6) {\n              x += stack.shift();\n              y += stack.shift();\n              lineTo(x, y);\n            }\n            xa = x + stack.shift();\n            ya = y + stack.shift();\n            xb = xa + stack.shift();\n            yb = ya + stack.shift();\n            x = xb + stack.shift();\n            y = yb + stack.shift();\n            bezierCurveTo(xa, ya, xb, yb, x, y);\n            break;\n          case 26:\n            if (stack.length % 2) {\n              x += stack.shift();\n            }\n            while (stack.length > 0) {\n              xa = x;\n              ya = y + stack.shift();\n              xb = xa + stack.shift();\n              yb = ya + stack.shift();\n              x = xb;\n              y = yb + stack.shift();\n              bezierCurveTo(xa, ya, xb, yb, x, y);\n            }\n            break;\n          case 27:\n            if (stack.length % 2) {\n              y += stack.shift();\n            }\n            while (stack.length > 0) {\n              xa = x + stack.shift();\n              ya = y;\n              xb = xa + stack.shift();\n              yb = ya + stack.shift();\n              x = xb + stack.shift();\n              y = yb;\n              bezierCurveTo(xa, ya, xb, yb, x, y);\n            }\n            break;\n          case 28:\n            stack.push((code[i] << 24 | code[i + 1] << 16) >> 16);\n            i += 2;\n            break;\n          case 29:\n            n = stack.pop() + font.gsubrsBias;\n            subrCode = font.gsubrs[n];\n            if (subrCode) {\n              parse(subrCode);\n            }\n            break;\n          case 30:\n            while (stack.length > 0) {\n              xa = x;\n              ya = y + stack.shift();\n              xb = xa + stack.shift();\n              yb = ya + stack.shift();\n              x = xb + stack.shift();\n              y = yb + (stack.length === 1 ? stack.shift() : 0);\n              bezierCurveTo(xa, ya, xb, yb, x, y);\n              if (stack.length === 0) {\n                break;\n              }\n              xa = x + stack.shift();\n              ya = y;\n              xb = xa + stack.shift();\n              yb = ya + stack.shift();\n              y = yb + stack.shift();\n              x = xb + (stack.length === 1 ? stack.shift() : 0);\n              bezierCurveTo(xa, ya, xb, yb, x, y);\n            }\n            break;\n          case 31:\n            while (stack.length > 0) {\n              xa = x + stack.shift();\n              ya = y;\n              xb = xa + stack.shift();\n              yb = ya + stack.shift();\n              y = yb + stack.shift();\n              x = xb + (stack.length === 1 ? stack.shift() : 0);\n              bezierCurveTo(xa, ya, xb, yb, x, y);\n              if (stack.length === 0) {\n                break;\n              }\n              xa = x;\n              ya = y + stack.shift();\n              xb = xa + stack.shift();\n              yb = ya + stack.shift();\n              x = xb + stack.shift();\n              y = yb + (stack.length === 1 ? stack.shift() : 0);\n              bezierCurveTo(xa, ya, xb, yb, x, y);\n            }\n            break;\n          default:\n            if (v < 32) {\n              throw new _util.FormatError('unknown operator: ' + v);\n            }\n            if (v < 247) {\n              stack.push(v - 139);\n            } else if (v < 251) {\n              stack.push((v - 247) * 256 + code[i++] + 108);\n            } else if (v < 255) {\n              stack.push(-(v - 251) * 256 - code[i++] - 108);\n            } else {\n              stack.push((code[i] << 24 | code[i + 1] << 16 | code[i + 2] << 8 | code[i + 3]) / 65536);\n              i += 4;\n            }\n            break;\n        }\n        if (stackClean) {\n          stack.length = 0;\n        }\n      }\n    }\n    parse(code);\n  }\n  var noop = '';\n  function CompiledFont(fontMatrix) {\n    this.compiledGlyphs = Object.create(null);\n    this.compiledCharCodeToGlyphId = Object.create(null);\n    this.fontMatrix = fontMatrix;\n  }\n  CompiledFont.prototype = {\n    getPathJs: function getPathJs(unicode) {\n      var cmap = lookupCmap(this.cmap, unicode);\n      var fn = this.compiledGlyphs[cmap.glyphId];\n      if (!fn) {\n        fn = this.compileGlyph(this.glyphs[cmap.glyphId]);\n        this.compiledGlyphs[cmap.glyphId] = fn;\n      }\n      if (this.compiledCharCodeToGlyphId[cmap.charCode] === undefined) {\n        this.compiledCharCodeToGlyphId[cmap.charCode] = cmap.glyphId;\n      }\n      return fn;\n    },\n    compileGlyph: function compileGlyph(code) {\n      if (!code || code.length === 0 || code[0] === 14) {\n        return noop;\n      }\n      var cmds = [];\n      cmds.push({ cmd: 'save' });\n      cmds.push({\n        cmd: 'transform',\n        args: this.fontMatrix.slice()\n      });\n      cmds.push({\n        cmd: 'scale',\n        args: ['size', '-size']\n      });\n      this.compileGlyphImpl(code, cmds);\n      cmds.push({ cmd: 'restore' });\n      return cmds;\n    },\n    compileGlyphImpl: function compileGlyphImpl() {\n      throw new Error('Children classes should implement this.');\n    },\n    hasBuiltPath: function hasBuiltPath(unicode) {\n      var cmap = lookupCmap(this.cmap, unicode);\n      return this.compiledGlyphs[cmap.glyphId] !== undefined && this.compiledCharCodeToGlyphId[cmap.charCode] !== undefined;\n    }\n  };\n  function TrueTypeCompiled(glyphs, cmap, fontMatrix) {\n    fontMatrix = fontMatrix || [0.000488, 0, 0, 0.000488, 0, 0];\n    CompiledFont.call(this, fontMatrix);\n    this.glyphs = glyphs;\n    this.cmap = cmap;\n  }\n  _util.Util.inherit(TrueTypeCompiled, CompiledFont, {\n    compileGlyphImpl: function compileGlyphImpl(code, cmds) {\n      compileGlyf(code, cmds, this);\n    }\n  });\n  function Type2Compiled(cffInfo, cmap, fontMatrix, glyphNameMap) {\n    fontMatrix = fontMatrix || [0.001, 0, 0, 0.001, 0, 0];\n    CompiledFont.call(this, fontMatrix);\n    this.glyphs = cffInfo.glyphs;\n    this.gsubrs = cffInfo.gsubrs || [];\n    this.subrs = cffInfo.subrs || [];\n    this.cmap = cmap;\n    this.glyphNameMap = glyphNameMap || (0, _glyphlist.getGlyphsUnicode)();\n    this.gsubrsBias = this.gsubrs.length < 1240 ? 107 : this.gsubrs.length < 33900 ? 1131 : 32768;\n    this.subrsBias = this.subrs.length < 1240 ? 107 : this.subrs.length < 33900 ? 1131 : 32768;\n  }\n  _util.Util.inherit(Type2Compiled, CompiledFont, {\n    compileGlyphImpl: function compileGlyphImpl(code, cmds) {\n      compileCharString(code, cmds, this);\n    }\n  });\n  return {\n    create: function FontRendererFactory_create(font, seacAnalysisEnabled) {\n      var data = new Uint8Array(font.data);\n      var cmap, glyf, loca, cff, indexToLocFormat, unitsPerEm;\n      var numTables = getUshort(data, 4);\n      for (var i = 0, p = 12; i < numTables; i++, p += 16) {\n        var tag = (0, _util.bytesToString)(data.subarray(p, p + 4));\n        var offset = getLong(data, p + 8);\n        var length = getLong(data, p + 12);\n        switch (tag) {\n          case 'cmap':\n            cmap = parseCmap(data, offset, offset + length);\n            break;\n          case 'glyf':\n            glyf = data.subarray(offset, offset + length);\n            break;\n          case 'loca':\n            loca = data.subarray(offset, offset + length);\n            break;\n          case 'head':\n            unitsPerEm = getUshort(data, offset + 18);\n            indexToLocFormat = getUshort(data, offset + 50);\n            break;\n          case 'CFF ':\n            cff = parseCff(data, offset, offset + length, seacAnalysisEnabled);\n            break;\n        }\n      }\n      if (glyf) {\n        var fontMatrix = !unitsPerEm ? font.fontMatrix : [1 / unitsPerEm, 0, 0, 1 / unitsPerEm, 0, 0];\n        return new TrueTypeCompiled(parseGlyfTable(glyf, loca, indexToLocFormat), cmap, fontMatrix);\n      }\n      return new Type2Compiled(cff, cmap, font.fontMatrix, font.glyphNameMap);\n    }\n  };\n}();\nexports.FontRendererFactory = FontRendererFactory;\n\n/***/ }),\n/* 152 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.Type1Parser = undefined;\n\nvar _util = __w_pdfjs_require__(0);\n\nvar _encodings = __w_pdfjs_require__(30);\n\nvar _stream = __w_pdfjs_require__(5);\n\nvar HINTING_ENABLED = false;\nvar Type1CharString = function Type1CharStringClosure() {\n  var COMMAND_MAP = {\n    'hstem': [1],\n    'vstem': [3],\n    'vmoveto': [4],\n    'rlineto': [5],\n    'hlineto': [6],\n    'vlineto': [7],\n    'rrcurveto': [8],\n    'callsubr': [10],\n    'flex': [12, 35],\n    'drop': [12, 18],\n    'endchar': [14],\n    'rmoveto': [21],\n    'hmoveto': [22],\n    'vhcurveto': [30],\n    'hvcurveto': [31]\n  };\n  function Type1CharString() {\n    this.width = 0;\n    this.lsb = 0;\n    this.flexing = false;\n    this.output = [];\n    this.stack = [];\n  }\n  Type1CharString.prototype = {\n    convert: function Type1CharString_convert(encoded, subrs, seacAnalysisEnabled) {\n      var count = encoded.length;\n      var error = false;\n      var wx, sbx, subrNumber;\n      for (var i = 0; i < count; i++) {\n        var value = encoded[i];\n        if (value < 32) {\n          if (value === 12) {\n            value = (value << 8) + encoded[++i];\n          }\n          switch (value) {\n            case 1:\n              if (!HINTING_ENABLED) {\n                this.stack = [];\n                break;\n              }\n              error = this.executeCommand(2, COMMAND_MAP.hstem);\n              break;\n            case 3:\n              if (!HINTING_ENABLED) {\n                this.stack = [];\n                break;\n              }\n              error = this.executeCommand(2, COMMAND_MAP.vstem);\n              break;\n            case 4:\n              if (this.flexing) {\n                if (this.stack.length < 1) {\n                  error = true;\n                  break;\n                }\n                var dy = this.stack.pop();\n                this.stack.push(0, dy);\n                break;\n              }\n              error = this.executeCommand(1, COMMAND_MAP.vmoveto);\n              break;\n            case 5:\n              error = this.executeCommand(2, COMMAND_MAP.rlineto);\n              break;\n            case 6:\n              error = this.executeCommand(1, COMMAND_MAP.hlineto);\n              break;\n            case 7:\n              error = this.executeCommand(1, COMMAND_MAP.vlineto);\n              break;\n            case 8:\n              error = this.executeCommand(6, COMMAND_MAP.rrcurveto);\n              break;\n            case 9:\n              this.stack = [];\n              break;\n            case 10:\n              if (this.stack.length < 1) {\n                error = true;\n                break;\n              }\n              subrNumber = this.stack.pop();\n              if (!subrs[subrNumber]) {\n                error = true;\n                break;\n              }\n              error = this.convert(subrs[subrNumber], subrs, seacAnalysisEnabled);\n              break;\n            case 11:\n              return error;\n            case 13:\n              if (this.stack.length < 2) {\n                error = true;\n                break;\n              }\n              wx = this.stack.pop();\n              sbx = this.stack.pop();\n              this.lsb = sbx;\n              this.width = wx;\n              this.stack.push(wx, sbx);\n              error = this.executeCommand(2, COMMAND_MAP.hmoveto);\n              break;\n            case 14:\n              this.output.push(COMMAND_MAP.endchar[0]);\n              break;\n            case 21:\n              if (this.flexing) {\n                break;\n              }\n              error = this.executeCommand(2, COMMAND_MAP.rmoveto);\n              break;\n            case 22:\n              if (this.flexing) {\n                this.stack.push(0);\n                break;\n              }\n              error = this.executeCommand(1, COMMAND_MAP.hmoveto);\n              break;\n            case 30:\n              error = this.executeCommand(4, COMMAND_MAP.vhcurveto);\n              break;\n            case 31:\n              error = this.executeCommand(4, COMMAND_MAP.hvcurveto);\n              break;\n            case (12 << 8) + 0:\n              this.stack = [];\n              break;\n            case (12 << 8) + 1:\n              if (!HINTING_ENABLED) {\n                this.stack = [];\n                break;\n              }\n              error = this.executeCommand(2, COMMAND_MAP.vstem);\n              break;\n            case (12 << 8) + 2:\n              if (!HINTING_ENABLED) {\n                this.stack = [];\n                break;\n              }\n              error = this.executeCommand(2, COMMAND_MAP.hstem);\n              break;\n            case (12 << 8) + 6:\n              if (seacAnalysisEnabled) {\n                this.seac = this.stack.splice(-4, 4);\n                error = this.executeCommand(0, COMMAND_MAP.endchar);\n              } else {\n                error = this.executeCommand(4, COMMAND_MAP.endchar);\n              }\n              break;\n            case (12 << 8) + 7:\n              if (this.stack.length < 4) {\n                error = true;\n                break;\n              }\n              this.stack.pop();\n              wx = this.stack.pop();\n              var sby = this.stack.pop();\n              sbx = this.stack.pop();\n              this.lsb = sbx;\n              this.width = wx;\n              this.stack.push(wx, sbx, sby);\n              error = this.executeCommand(3, COMMAND_MAP.rmoveto);\n              break;\n            case (12 << 8) + 12:\n              if (this.stack.length < 2) {\n                error = true;\n                break;\n              }\n              var num2 = this.stack.pop();\n              var num1 = this.stack.pop();\n              this.stack.push(num1 / num2);\n              break;\n            case (12 << 8) + 16:\n              if (this.stack.length < 2) {\n                error = true;\n                break;\n              }\n              subrNumber = this.stack.pop();\n              var numArgs = this.stack.pop();\n              if (subrNumber === 0 && numArgs === 3) {\n                var flexArgs = this.stack.splice(this.stack.length - 17, 17);\n                this.stack.push(flexArgs[2] + flexArgs[0], flexArgs[3] + flexArgs[1], flexArgs[4], flexArgs[5], flexArgs[6], flexArgs[7], flexArgs[8], flexArgs[9], flexArgs[10], flexArgs[11], flexArgs[12], flexArgs[13], flexArgs[14]);\n                error = this.executeCommand(13, COMMAND_MAP.flex, true);\n                this.flexing = false;\n                this.stack.push(flexArgs[15], flexArgs[16]);\n              } else if (subrNumber === 1 && numArgs === 0) {\n                this.flexing = true;\n              }\n              break;\n            case (12 << 8) + 17:\n              break;\n            case (12 << 8) + 33:\n              this.stack = [];\n              break;\n            default:\n              (0, _util.warn)('Unknown type 1 charstring command of \"' + value + '\"');\n              break;\n          }\n          if (error) {\n            break;\n          }\n          continue;\n        } else if (value <= 246) {\n          value = value - 139;\n        } else if (value <= 250) {\n          value = (value - 247) * 256 + encoded[++i] + 108;\n        } else if (value <= 254) {\n          value = -((value - 251) * 256) - encoded[++i] - 108;\n        } else {\n          value = (encoded[++i] & 0xff) << 24 | (encoded[++i] & 0xff) << 16 | (encoded[++i] & 0xff) << 8 | (encoded[++i] & 0xff) << 0;\n        }\n        this.stack.push(value);\n      }\n      return error;\n    },\n    executeCommand: function executeCommand(howManyArgs, command, keepStack) {\n      var stackLength = this.stack.length;\n      if (howManyArgs > stackLength) {\n        return true;\n      }\n      var start = stackLength - howManyArgs;\n      for (var i = start; i < stackLength; i++) {\n        var value = this.stack[i];\n        if (Number.isInteger(value)) {\n          this.output.push(28, value >> 8 & 0xff, value & 0xff);\n        } else {\n          value = 65536 * value | 0;\n          this.output.push(255, value >> 24 & 0xFF, value >> 16 & 0xFF, value >> 8 & 0xFF, value & 0xFF);\n        }\n      }\n      this.output.push.apply(this.output, command);\n      if (keepStack) {\n        this.stack.splice(start, howManyArgs);\n      } else {\n        this.stack.length = 0;\n      }\n      return false;\n    }\n  };\n  return Type1CharString;\n}();\nvar Type1Parser = function Type1ParserClosure() {\n  var EEXEC_ENCRYPT_KEY = 55665;\n  var CHAR_STRS_ENCRYPT_KEY = 4330;\n  function isHexDigit(code) {\n    return code >= 48 && code <= 57 || code >= 65 && code <= 70 || code >= 97 && code <= 102;\n  }\n  function decrypt(data, key, discardNumber) {\n    if (discardNumber >= data.length) {\n      return new Uint8Array(0);\n    }\n    var r = key | 0,\n        c1 = 52845,\n        c2 = 22719,\n        i,\n        j;\n    for (i = 0; i < discardNumber; i++) {\n      r = (data[i] + r) * c1 + c2 & (1 << 16) - 1;\n    }\n    var count = data.length - discardNumber;\n    var decrypted = new Uint8Array(count);\n    for (i = discardNumber, j = 0; j < count; i++, j++) {\n      var value = data[i];\n      decrypted[j] = value ^ r >> 8;\n      r = (value + r) * c1 + c2 & (1 << 16) - 1;\n    }\n    return decrypted;\n  }\n  function decryptAscii(data, key, discardNumber) {\n    var r = key | 0,\n        c1 = 52845,\n        c2 = 22719;\n    var count = data.length,\n        maybeLength = count >>> 1;\n    var decrypted = new Uint8Array(maybeLength);\n    var i, j;\n    for (i = 0, j = 0; i < count; i++) {\n      var digit1 = data[i];\n      if (!isHexDigit(digit1)) {\n        continue;\n      }\n      i++;\n      var digit2;\n      while (i < count && !isHexDigit(digit2 = data[i])) {\n        i++;\n      }\n      if (i < count) {\n        var value = parseInt(String.fromCharCode(digit1, digit2), 16);\n        decrypted[j++] = value ^ r >> 8;\n        r = (value + r) * c1 + c2 & (1 << 16) - 1;\n      }\n    }\n    return Array.prototype.slice.call(decrypted, discardNumber, j);\n  }\n  function isSpecial(c) {\n    return c === 0x2F || c === 0x5B || c === 0x5D || c === 0x7B || c === 0x7D || c === 0x28 || c === 0x29;\n  }\n  function Type1Parser(stream, encrypted, seacAnalysisEnabled) {\n    if (encrypted) {\n      var data = stream.getBytes();\n      var isBinary = !(isHexDigit(data[0]) && isHexDigit(data[1]) && isHexDigit(data[2]) && isHexDigit(data[3]));\n      stream = new _stream.Stream(isBinary ? decrypt(data, EEXEC_ENCRYPT_KEY, 4) : decryptAscii(data, EEXEC_ENCRYPT_KEY, 4));\n    }\n    this.seacAnalysisEnabled = !!seacAnalysisEnabled;\n    this.stream = stream;\n    this.nextChar();\n  }\n  Type1Parser.prototype = {\n    readNumberArray: function Type1Parser_readNumberArray() {\n      this.getToken();\n      var array = [];\n      while (true) {\n        var token = this.getToken();\n        if (token === null || token === ']' || token === '}') {\n          break;\n        }\n        array.push(parseFloat(token || 0));\n      }\n      return array;\n    },\n    readNumber: function Type1Parser_readNumber() {\n      var token = this.getToken();\n      return parseFloat(token || 0);\n    },\n    readInt: function Type1Parser_readInt() {\n      var token = this.getToken();\n      return parseInt(token || 0, 10) | 0;\n    },\n    readBoolean: function Type1Parser_readBoolean() {\n      var token = this.getToken();\n      return token === 'true' ? 1 : 0;\n    },\n    nextChar: function Type1_nextChar() {\n      return this.currentChar = this.stream.getByte();\n    },\n    getToken: function Type1Parser_getToken() {\n      var comment = false;\n      var ch = this.currentChar;\n      while (true) {\n        if (ch === -1) {\n          return null;\n        }\n        if (comment) {\n          if (ch === 0x0A || ch === 0x0D) {\n            comment = false;\n          }\n        } else if (ch === 0x25) {\n          comment = true;\n        } else if (!(0, _util.isSpace)(ch)) {\n          break;\n        }\n        ch = this.nextChar();\n      }\n      if (isSpecial(ch)) {\n        this.nextChar();\n        return String.fromCharCode(ch);\n      }\n      var token = '';\n      do {\n        token += String.fromCharCode(ch);\n        ch = this.nextChar();\n      } while (ch >= 0 && !(0, _util.isSpace)(ch) && !isSpecial(ch));\n      return token;\n    },\n    readCharStrings: function Type1Parser_readCharStrings(bytes, lenIV) {\n      if (lenIV === -1) {\n        return bytes;\n      }\n      return decrypt(bytes, CHAR_STRS_ENCRYPT_KEY, lenIV);\n    },\n    extractFontProgram: function Type1Parser_extractFontProgram() {\n      var stream = this.stream;\n      var subrs = [],\n          charstrings = [];\n      var privateData = Object.create(null);\n      privateData['lenIV'] = 4;\n      var program = {\n        subrs: [],\n        charstrings: [],\n        properties: { 'privateData': privateData }\n      };\n      var token, length, data, lenIV, encoded;\n      while ((token = this.getToken()) !== null) {\n        if (token !== '/') {\n          continue;\n        }\n        token = this.getToken();\n        switch (token) {\n          case 'CharStrings':\n            this.getToken();\n            this.getToken();\n            this.getToken();\n            this.getToken();\n            while (true) {\n              token = this.getToken();\n              if (token === null || token === 'end') {\n                break;\n              }\n              if (token !== '/') {\n                continue;\n              }\n              var glyph = this.getToken();\n              length = this.readInt();\n              this.getToken();\n              data = stream.makeSubStream(stream.pos, length);\n              lenIV = program.properties.privateData['lenIV'];\n              encoded = this.readCharStrings(data.getBytes(), lenIV);\n              stream.skip(length);\n              this.nextChar();\n              token = this.getToken();\n              if (token === 'noaccess') {\n                this.getToken();\n              }\n              charstrings.push({\n                glyph: glyph,\n                encoded: encoded\n              });\n            }\n            break;\n          case 'Subrs':\n            this.readInt();\n            this.getToken();\n            while ((token = this.getToken()) === 'dup') {\n              var index = this.readInt();\n              length = this.readInt();\n              this.getToken();\n              data = stream.makeSubStream(stream.pos, length);\n              lenIV = program.properties.privateData['lenIV'];\n              encoded = this.readCharStrings(data.getBytes(), lenIV);\n              stream.skip(length);\n              this.nextChar();\n              token = this.getToken();\n              if (token === 'noaccess') {\n                this.getToken();\n              }\n              subrs[index] = encoded;\n            }\n            break;\n          case 'BlueValues':\n          case 'OtherBlues':\n          case 'FamilyBlues':\n          case 'FamilyOtherBlues':\n            var blueArray = this.readNumberArray();\n            if (blueArray.length > 0 && blueArray.length % 2 === 0 && HINTING_ENABLED) {\n              program.properties.privateData[token] = blueArray;\n            }\n            break;\n          case 'StemSnapH':\n          case 'StemSnapV':\n            program.properties.privateData[token] = this.readNumberArray();\n            break;\n          case 'StdHW':\n          case 'StdVW':\n            program.properties.privateData[token] = this.readNumberArray()[0];\n            break;\n          case 'BlueShift':\n          case 'lenIV':\n          case 'BlueFuzz':\n          case 'BlueScale':\n          case 'LanguageGroup':\n          case 'ExpansionFactor':\n            program.properties.privateData[token] = this.readNumber();\n            break;\n          case 'ForceBold':\n            program.properties.privateData[token] = this.readBoolean();\n            break;\n        }\n      }\n      for (var i = 0; i < charstrings.length; i++) {\n        glyph = charstrings[i].glyph;\n        encoded = charstrings[i].encoded;\n        var charString = new Type1CharString();\n        var error = charString.convert(encoded, subrs, this.seacAnalysisEnabled);\n        var output = charString.output;\n        if (error) {\n          output = [14];\n        }\n        program.charstrings.push({\n          glyphName: glyph,\n          charstring: output,\n          width: charString.width,\n          lsb: charString.lsb,\n          seac: charString.seac\n        });\n      }\n      return program;\n    },\n    extractFontHeader: function Type1Parser_extractFontHeader(properties) {\n      var token;\n      while ((token = this.getToken()) !== null) {\n        if (token !== '/') {\n          continue;\n        }\n        token = this.getToken();\n        switch (token) {\n          case 'FontMatrix':\n            var matrix = this.readNumberArray();\n            properties.fontMatrix = matrix;\n            break;\n          case 'Encoding':\n            var encodingArg = this.getToken();\n            var encoding;\n            if (!/^\\d+$/.test(encodingArg)) {\n              encoding = (0, _encodings.getEncoding)(encodingArg);\n            } else {\n              encoding = [];\n              var size = parseInt(encodingArg, 10) | 0;\n              this.getToken();\n              for (var j = 0; j < size; j++) {\n                token = this.getToken();\n                while (token !== 'dup' && token !== 'def') {\n                  token = this.getToken();\n                  if (token === null) {\n                    return;\n                  }\n                }\n                if (token === 'def') {\n                  break;\n                }\n                var index = this.readInt();\n                this.getToken();\n                var glyph = this.getToken();\n                encoding[index] = glyph;\n                this.getToken();\n              }\n            }\n            properties.builtInEncoding = encoding;\n            break;\n          case 'FontBBox':\n            var fontBBox = this.readNumberArray();\n            properties.ascent = Math.max(fontBBox[3], fontBBox[1]);\n            properties.descent = Math.min(fontBBox[1], fontBBox[3]);\n            properties.ascentScaled = true;\n            break;\n        }\n      }\n    }\n  };\n  return Type1Parser;\n}();\nexports.Type1Parser = Type1Parser;\n\n/***/ }),\n/* 153 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.getTilingPatternIR = exports.Pattern = undefined;\n\nvar _util = __w_pdfjs_require__(0);\n\nvar _colorspace = __w_pdfjs_require__(29);\n\nvar _primitives = __w_pdfjs_require__(2);\n\nvar ShadingType = {\n  FUNCTION_BASED: 1,\n  AXIAL: 2,\n  RADIAL: 3,\n  FREE_FORM_MESH: 4,\n  LATTICE_FORM_MESH: 5,\n  COONS_PATCH_MESH: 6,\n  TENSOR_PATCH_MESH: 7\n};\nvar Pattern = function PatternClosure() {\n  function Pattern() {\n    throw new Error('should not call Pattern constructor');\n  }\n  Pattern.prototype = {\n    getPattern: function Pattern_getPattern(ctx) {\n      throw new Error('Should not call Pattern.getStyle: ' + ctx);\n    }\n  };\n  Pattern.parseShading = function (shading, matrix, xref, res, handler, pdfFunctionFactory) {\n    var dict = (0, _primitives.isStream)(shading) ? shading.dict : shading;\n    var type = dict.get('ShadingType');\n    try {\n      switch (type) {\n        case ShadingType.AXIAL:\n        case ShadingType.RADIAL:\n          return new Shadings.RadialAxial(dict, matrix, xref, res, pdfFunctionFactory);\n        case ShadingType.FREE_FORM_MESH:\n        case ShadingType.LATTICE_FORM_MESH:\n        case ShadingType.COONS_PATCH_MESH:\n        case ShadingType.TENSOR_PATCH_MESH:\n          return new Shadings.Mesh(shading, matrix, xref, res, pdfFunctionFactory);\n        default:\n          throw new _util.FormatError('Unsupported ShadingType: ' + type);\n      }\n    } catch (ex) {\n      if (ex instanceof _util.MissingDataException) {\n        throw ex;\n      }\n      handler.send('UnsupportedFeature', { featureId: _util.UNSUPPORTED_FEATURES.shadingPattern });\n      (0, _util.warn)(ex);\n      return new Shadings.Dummy();\n    }\n  };\n  return Pattern;\n}();\nvar Shadings = {};\nShadings.SMALL_NUMBER = 1e-6;\nShadings.RadialAxial = function RadialAxialClosure() {\n  function RadialAxial(dict, matrix, xref, res, pdfFunctionFactory) {\n    this.matrix = matrix;\n    this.coordsArr = dict.getArray('Coords');\n    this.shadingType = dict.get('ShadingType');\n    this.type = 'Pattern';\n    var cs = dict.get('ColorSpace', 'CS');\n    cs = _colorspace.ColorSpace.parse(cs, xref, res, pdfFunctionFactory);\n    this.cs = cs;\n    var t0 = 0.0,\n        t1 = 1.0;\n    if (dict.has('Domain')) {\n      var domainArr = dict.getArray('Domain');\n      t0 = domainArr[0];\n      t1 = domainArr[1];\n    }\n    var extendStart = false,\n        extendEnd = false;\n    if (dict.has('Extend')) {\n      var extendArr = dict.getArray('Extend');\n      extendStart = extendArr[0];\n      extendEnd = extendArr[1];\n    }\n    if (this.shadingType === ShadingType.RADIAL && (!extendStart || !extendEnd)) {\n      var x1 = this.coordsArr[0];\n      var y1 = this.coordsArr[1];\n      var r1 = this.coordsArr[2];\n      var x2 = this.coordsArr[3];\n      var y2 = this.coordsArr[4];\n      var r2 = this.coordsArr[5];\n      var distance = Math.sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));\n      if (r1 <= r2 + distance && r2 <= r1 + distance) {\n        (0, _util.warn)('Unsupported radial gradient.');\n      }\n    }\n    this.extendStart = extendStart;\n    this.extendEnd = extendEnd;\n    var fnObj = dict.get('Function');\n    var fn = pdfFunctionFactory.createFromArray(fnObj);\n    var diff = t1 - t0;\n    var step = diff / 10;\n    var colorStops = this.colorStops = [];\n    if (t0 >= t1 || step <= 0) {\n      (0, _util.info)('Bad shading domain.');\n      return;\n    }\n    var color = new Float32Array(cs.numComps),\n        ratio = new Float32Array(1);\n    var rgbColor;\n    for (var i = t0; i <= t1; i += step) {\n      ratio[0] = i;\n      fn(ratio, 0, color, 0);\n      rgbColor = cs.getRgb(color, 0);\n      var cssColor = _util.Util.makeCssRgb(rgbColor[0], rgbColor[1], rgbColor[2]);\n      colorStops.push([(i - t0) / diff, cssColor]);\n    }\n    var background = 'transparent';\n    if (dict.has('Background')) {\n      rgbColor = cs.getRgb(dict.get('Background'), 0);\n      background = _util.Util.makeCssRgb(rgbColor[0], rgbColor[1], rgbColor[2]);\n    }\n    if (!extendStart) {\n      colorStops.unshift([0, background]);\n      colorStops[1][0] += Shadings.SMALL_NUMBER;\n    }\n    if (!extendEnd) {\n      colorStops[colorStops.length - 1][0] -= Shadings.SMALL_NUMBER;\n      colorStops.push([1, background]);\n    }\n    this.colorStops = colorStops;\n  }\n  RadialAxial.prototype = {\n    getIR: function RadialAxial_getIR() {\n      var coordsArr = this.coordsArr;\n      var shadingType = this.shadingType;\n      var type, p0, p1, r0, r1;\n      if (shadingType === ShadingType.AXIAL) {\n        p0 = [coordsArr[0], coordsArr[1]];\n        p1 = [coordsArr[2], coordsArr[3]];\n        r0 = null;\n        r1 = null;\n        type = 'axial';\n      } else if (shadingType === ShadingType.RADIAL) {\n        p0 = [coordsArr[0], coordsArr[1]];\n        p1 = [coordsArr[3], coordsArr[4]];\n        r0 = coordsArr[2];\n        r1 = coordsArr[5];\n        type = 'radial';\n      } else {\n        (0, _util.unreachable)('getPattern type unknown: ' + shadingType);\n      }\n      var matrix = this.matrix;\n      if (matrix) {\n        p0 = _util.Util.applyTransform(p0, matrix);\n        p1 = _util.Util.applyTransform(p1, matrix);\n        if (shadingType === ShadingType.RADIAL) {\n          var scale = _util.Util.singularValueDecompose2dScale(matrix);\n          r0 *= scale[0];\n          r1 *= scale[1];\n        }\n      }\n      return ['RadialAxial', type, this.colorStops, p0, p1, r0, r1];\n    }\n  };\n  return RadialAxial;\n}();\nShadings.Mesh = function MeshClosure() {\n  function MeshStreamReader(stream, context) {\n    this.stream = stream;\n    this.context = context;\n    this.buffer = 0;\n    this.bufferLength = 0;\n    var numComps = context.numComps;\n    this.tmpCompsBuf = new Float32Array(numComps);\n    var csNumComps = context.colorSpace.numComps;\n    this.tmpCsCompsBuf = context.colorFn ? new Float32Array(csNumComps) : this.tmpCompsBuf;\n  }\n  MeshStreamReader.prototype = {\n    get hasData() {\n      if (this.stream.end) {\n        return this.stream.pos < this.stream.end;\n      }\n      if (this.bufferLength > 0) {\n        return true;\n      }\n      var nextByte = this.stream.getByte();\n      if (nextByte < 0) {\n        return false;\n      }\n      this.buffer = nextByte;\n      this.bufferLength = 8;\n      return true;\n    },\n    readBits: function MeshStreamReader_readBits(n) {\n      var buffer = this.buffer;\n      var bufferLength = this.bufferLength;\n      if (n === 32) {\n        if (bufferLength === 0) {\n          return (this.stream.getByte() << 24 | this.stream.getByte() << 16 | this.stream.getByte() << 8 | this.stream.getByte()) >>> 0;\n        }\n        buffer = buffer << 24 | this.stream.getByte() << 16 | this.stream.getByte() << 8 | this.stream.getByte();\n        var nextByte = this.stream.getByte();\n        this.buffer = nextByte & (1 << bufferLength) - 1;\n        return (buffer << 8 - bufferLength | (nextByte & 0xFF) >> bufferLength) >>> 0;\n      }\n      if (n === 8 && bufferLength === 0) {\n        return this.stream.getByte();\n      }\n      while (bufferLength < n) {\n        buffer = buffer << 8 | this.stream.getByte();\n        bufferLength += 8;\n      }\n      bufferLength -= n;\n      this.bufferLength = bufferLength;\n      this.buffer = buffer & (1 << bufferLength) - 1;\n      return buffer >> bufferLength;\n    },\n    align: function MeshStreamReader_align() {\n      this.buffer = 0;\n      this.bufferLength = 0;\n    },\n    readFlag: function MeshStreamReader_readFlag() {\n      return this.readBits(this.context.bitsPerFlag);\n    },\n    readCoordinate: function MeshStreamReader_readCoordinate() {\n      var bitsPerCoordinate = this.context.bitsPerCoordinate;\n      var xi = this.readBits(bitsPerCoordinate);\n      var yi = this.readBits(bitsPerCoordinate);\n      var decode = this.context.decode;\n      var scale = bitsPerCoordinate < 32 ? 1 / ((1 << bitsPerCoordinate) - 1) : 2.3283064365386963e-10;\n      return [xi * scale * (decode[1] - decode[0]) + decode[0], yi * scale * (decode[3] - decode[2]) + decode[2]];\n    },\n    readComponents: function MeshStreamReader_readComponents() {\n      var numComps = this.context.numComps;\n      var bitsPerComponent = this.context.bitsPerComponent;\n      var scale = bitsPerComponent < 32 ? 1 / ((1 << bitsPerComponent) - 1) : 2.3283064365386963e-10;\n      var decode = this.context.decode;\n      var components = this.tmpCompsBuf;\n      for (var i = 0, j = 4; i < numComps; i++, j += 2) {\n        var ci = this.readBits(bitsPerComponent);\n        components[i] = ci * scale * (decode[j + 1] - decode[j]) + decode[j];\n      }\n      var color = this.tmpCsCompsBuf;\n      if (this.context.colorFn) {\n        this.context.colorFn(components, 0, color, 0);\n      }\n      return this.context.colorSpace.getRgb(color, 0);\n    }\n  };\n  function decodeType4Shading(mesh, reader) {\n    var coords = mesh.coords;\n    var colors = mesh.colors;\n    var operators = [];\n    var ps = [];\n    var verticesLeft = 0;\n    while (reader.hasData) {\n      var f = reader.readFlag();\n      var coord = reader.readCoordinate();\n      var color = reader.readComponents();\n      if (verticesLeft === 0) {\n        if (!(0 <= f && f <= 2)) {\n          throw new _util.FormatError('Unknown type4 flag');\n        }\n        switch (f) {\n          case 0:\n            verticesLeft = 3;\n            break;\n          case 1:\n            ps.push(ps[ps.length - 2], ps[ps.length - 1]);\n            verticesLeft = 1;\n            break;\n          case 2:\n            ps.push(ps[ps.length - 3], ps[ps.length - 1]);\n            verticesLeft = 1;\n            break;\n        }\n        operators.push(f);\n      }\n      ps.push(coords.length);\n      coords.push(coord);\n      colors.push(color);\n      verticesLeft--;\n      reader.align();\n    }\n    mesh.figures.push({\n      type: 'triangles',\n      coords: new Int32Array(ps),\n      colors: new Int32Array(ps)\n    });\n  }\n  function decodeType5Shading(mesh, reader, verticesPerRow) {\n    var coords = mesh.coords;\n    var colors = mesh.colors;\n    var ps = [];\n    while (reader.hasData) {\n      var coord = reader.readCoordinate();\n      var color = reader.readComponents();\n      ps.push(coords.length);\n      coords.push(coord);\n      colors.push(color);\n    }\n    mesh.figures.push({\n      type: 'lattice',\n      coords: new Int32Array(ps),\n      colors: new Int32Array(ps),\n      verticesPerRow: verticesPerRow\n    });\n  }\n  var MIN_SPLIT_PATCH_CHUNKS_AMOUNT = 3;\n  var MAX_SPLIT_PATCH_CHUNKS_AMOUNT = 20;\n  var TRIANGLE_DENSITY = 20;\n  var getB = function getBClosure() {\n    function buildB(count) {\n      var lut = [];\n      for (var i = 0; i <= count; i++) {\n        var t = i / count,\n            t_ = 1 - t;\n        lut.push(new Float32Array([t_ * t_ * t_, 3 * t * t_ * t_, 3 * t * t * t_, t * t * t]));\n      }\n      return lut;\n    }\n    var cache = [];\n    return function getB(count) {\n      if (!cache[count]) {\n        cache[count] = buildB(count);\n      }\n      return cache[count];\n    };\n  }();\n  function buildFigureFromPatch(mesh, index) {\n    var figure = mesh.figures[index];\n    (0, _util.assert)(figure.type === 'patch', 'Unexpected patch mesh figure');\n    var coords = mesh.coords,\n        colors = mesh.colors;\n    var pi = figure.coords;\n    var ci = figure.colors;\n    var figureMinX = Math.min(coords[pi[0]][0], coords[pi[3]][0], coords[pi[12]][0], coords[pi[15]][0]);\n    var figureMinY = Math.min(coords[pi[0]][1], coords[pi[3]][1], coords[pi[12]][1], coords[pi[15]][1]);\n    var figureMaxX = Math.max(coords[pi[0]][0], coords[pi[3]][0], coords[pi[12]][0], coords[pi[15]][0]);\n    var figureMaxY = Math.max(coords[pi[0]][1], coords[pi[3]][1], coords[pi[12]][1], coords[pi[15]][1]);\n    var splitXBy = Math.ceil((figureMaxX - figureMinX) * TRIANGLE_DENSITY / (mesh.bounds[2] - mesh.bounds[0]));\n    splitXBy = Math.max(MIN_SPLIT_PATCH_CHUNKS_AMOUNT, Math.min(MAX_SPLIT_PATCH_CHUNKS_AMOUNT, splitXBy));\n    var splitYBy = Math.ceil((figureMaxY - figureMinY) * TRIANGLE_DENSITY / (mesh.bounds[3] - mesh.bounds[1]));\n    splitYBy = Math.max(MIN_SPLIT_PATCH_CHUNKS_AMOUNT, Math.min(MAX_SPLIT_PATCH_CHUNKS_AMOUNT, splitYBy));\n    var verticesPerRow = splitXBy + 1;\n    var figureCoords = new Int32Array((splitYBy + 1) * verticesPerRow);\n    var figureColors = new Int32Array((splitYBy + 1) * verticesPerRow);\n    var k = 0;\n    var cl = new Uint8Array(3),\n        cr = new Uint8Array(3);\n    var c0 = colors[ci[0]],\n        c1 = colors[ci[1]],\n        c2 = colors[ci[2]],\n        c3 = colors[ci[3]];\n    var bRow = getB(splitYBy),\n        bCol = getB(splitXBy);\n    for (var row = 0; row <= splitYBy; row++) {\n      cl[0] = (c0[0] * (splitYBy - row) + c2[0] * row) / splitYBy | 0;\n      cl[1] = (c0[1] * (splitYBy - row) + c2[1] * row) / splitYBy | 0;\n      cl[2] = (c0[2] * (splitYBy - row) + c2[2] * row) / splitYBy | 0;\n      cr[0] = (c1[0] * (splitYBy - row) + c3[0] * row) / splitYBy | 0;\n      cr[1] = (c1[1] * (splitYBy - row) + c3[1] * row) / splitYBy | 0;\n      cr[2] = (c1[2] * (splitYBy - row) + c3[2] * row) / splitYBy | 0;\n      for (var col = 0; col <= splitXBy; col++, k++) {\n        if ((row === 0 || row === splitYBy) && (col === 0 || col === splitXBy)) {\n          continue;\n        }\n        var x = 0,\n            y = 0;\n        var q = 0;\n        for (var i = 0; i <= 3; i++) {\n          for (var j = 0; j <= 3; j++, q++) {\n            var m = bRow[row][i] * bCol[col][j];\n            x += coords[pi[q]][0] * m;\n            y += coords[pi[q]][1] * m;\n          }\n        }\n        figureCoords[k] = coords.length;\n        coords.push([x, y]);\n        figureColors[k] = colors.length;\n        var newColor = new Uint8Array(3);\n        newColor[0] = (cl[0] * (splitXBy - col) + cr[0] * col) / splitXBy | 0;\n        newColor[1] = (cl[1] * (splitXBy - col) + cr[1] * col) / splitXBy | 0;\n        newColor[2] = (cl[2] * (splitXBy - col) + cr[2] * col) / splitXBy | 0;\n        colors.push(newColor);\n      }\n    }\n    figureCoords[0] = pi[0];\n    figureColors[0] = ci[0];\n    figureCoords[splitXBy] = pi[3];\n    figureColors[splitXBy] = ci[1];\n    figureCoords[verticesPerRow * splitYBy] = pi[12];\n    figureColors[verticesPerRow * splitYBy] = ci[2];\n    figureCoords[verticesPerRow * splitYBy + splitXBy] = pi[15];\n    figureColors[verticesPerRow * splitYBy + splitXBy] = ci[3];\n    mesh.figures[index] = {\n      type: 'lattice',\n      coords: figureCoords,\n      colors: figureColors,\n      verticesPerRow: verticesPerRow\n    };\n  }\n  function decodeType6Shading(mesh, reader) {\n    var coords = mesh.coords;\n    var colors = mesh.colors;\n    var ps = new Int32Array(16);\n    var cs = new Int32Array(4);\n    while (reader.hasData) {\n      var f = reader.readFlag();\n      if (!(0 <= f && f <= 3)) {\n        throw new _util.FormatError('Unknown type6 flag');\n      }\n      var i, ii;\n      var pi = coords.length;\n      for (i = 0, ii = f !== 0 ? 8 : 12; i < ii; i++) {\n        coords.push(reader.readCoordinate());\n      }\n      var ci = colors.length;\n      for (i = 0, ii = f !== 0 ? 2 : 4; i < ii; i++) {\n        colors.push(reader.readComponents());\n      }\n      var tmp1, tmp2, tmp3, tmp4;\n      switch (f) {\n        case 0:\n          ps[12] = pi + 3;\n          ps[13] = pi + 4;\n          ps[14] = pi + 5;\n          ps[15] = pi + 6;\n          ps[8] = pi + 2;\n          ps[11] = pi + 7;\n          ps[4] = pi + 1;\n          ps[7] = pi + 8;\n          ps[0] = pi;\n          ps[1] = pi + 11;\n          ps[2] = pi + 10;\n          ps[3] = pi + 9;\n          cs[2] = ci + 1;\n          cs[3] = ci + 2;\n          cs[0] = ci;\n          cs[1] = ci + 3;\n          break;\n        case 1:\n          tmp1 = ps[12];\n          tmp2 = ps[13];\n          tmp3 = ps[14];\n          tmp4 = ps[15];\n          ps[12] = tmp4;\n          ps[13] = pi + 0;\n          ps[14] = pi + 1;\n          ps[15] = pi + 2;\n          ps[8] = tmp3;\n          ps[11] = pi + 3;\n          ps[4] = tmp2;\n          ps[7] = pi + 4;\n          ps[0] = tmp1;\n          ps[1] = pi + 7;\n          ps[2] = pi + 6;\n          ps[3] = pi + 5;\n          tmp1 = cs[2];\n          tmp2 = cs[3];\n          cs[2] = tmp2;\n          cs[3] = ci;\n          cs[0] = tmp1;\n          cs[1] = ci + 1;\n          break;\n        case 2:\n          tmp1 = ps[15];\n          tmp2 = ps[11];\n          ps[12] = ps[3];\n          ps[13] = pi + 0;\n          ps[14] = pi + 1;\n          ps[15] = pi + 2;\n          ps[8] = ps[7];\n          ps[11] = pi + 3;\n          ps[4] = tmp2;\n          ps[7] = pi + 4;\n          ps[0] = tmp1;\n          ps[1] = pi + 7;\n          ps[2] = pi + 6;\n          ps[3] = pi + 5;\n          tmp1 = cs[3];\n          cs[2] = cs[1];\n          cs[3] = ci;\n          cs[0] = tmp1;\n          cs[1] = ci + 1;\n          break;\n        case 3:\n          ps[12] = ps[0];\n          ps[13] = pi + 0;\n          ps[14] = pi + 1;\n          ps[15] = pi + 2;\n          ps[8] = ps[1];\n          ps[11] = pi + 3;\n          ps[4] = ps[2];\n          ps[7] = pi + 4;\n          ps[0] = ps[3];\n          ps[1] = pi + 7;\n          ps[2] = pi + 6;\n          ps[3] = pi + 5;\n          cs[2] = cs[0];\n          cs[3] = ci;\n          cs[0] = cs[1];\n          cs[1] = ci + 1;\n          break;\n      }\n      ps[5] = coords.length;\n      coords.push([(-4 * coords[ps[0]][0] - coords[ps[15]][0] + 6 * (coords[ps[4]][0] + coords[ps[1]][0]) - 2 * (coords[ps[12]][0] + coords[ps[3]][0]) + 3 * (coords[ps[13]][0] + coords[ps[7]][0])) / 9, (-4 * coords[ps[0]][1] - coords[ps[15]][1] + 6 * (coords[ps[4]][1] + coords[ps[1]][1]) - 2 * (coords[ps[12]][1] + coords[ps[3]][1]) + 3 * (coords[ps[13]][1] + coords[ps[7]][1])) / 9]);\n      ps[6] = coords.length;\n      coords.push([(-4 * coords[ps[3]][0] - coords[ps[12]][0] + 6 * (coords[ps[2]][0] + coords[ps[7]][0]) - 2 * (coords[ps[0]][0] + coords[ps[15]][0]) + 3 * (coords[ps[4]][0] + coords[ps[14]][0])) / 9, (-4 * coords[ps[3]][1] - coords[ps[12]][1] + 6 * (coords[ps[2]][1] + coords[ps[7]][1]) - 2 * (coords[ps[0]][1] + coords[ps[15]][1]) + 3 * (coords[ps[4]][1] + coords[ps[14]][1])) / 9]);\n      ps[9] = coords.length;\n      coords.push([(-4 * coords[ps[12]][0] - coords[ps[3]][0] + 6 * (coords[ps[8]][0] + coords[ps[13]][0]) - 2 * (coords[ps[0]][0] + coords[ps[15]][0]) + 3 * (coords[ps[11]][0] + coords[ps[1]][0])) / 9, (-4 * coords[ps[12]][1] - coords[ps[3]][1] + 6 * (coords[ps[8]][1] + coords[ps[13]][1]) - 2 * (coords[ps[0]][1] + coords[ps[15]][1]) + 3 * (coords[ps[11]][1] + coords[ps[1]][1])) / 9]);\n      ps[10] = coords.length;\n      coords.push([(-4 * coords[ps[15]][0] - coords[ps[0]][0] + 6 * (coords[ps[11]][0] + coords[ps[14]][0]) - 2 * (coords[ps[12]][0] + coords[ps[3]][0]) + 3 * (coords[ps[2]][0] + coords[ps[8]][0])) / 9, (-4 * coords[ps[15]][1] - coords[ps[0]][1] + 6 * (coords[ps[11]][1] + coords[ps[14]][1]) - 2 * (coords[ps[12]][1] + coords[ps[3]][1]) + 3 * (coords[ps[2]][1] + coords[ps[8]][1])) / 9]);\n      mesh.figures.push({\n        type: 'patch',\n        coords: new Int32Array(ps),\n        colors: new Int32Array(cs)\n      });\n    }\n  }\n  function decodeType7Shading(mesh, reader) {\n    var coords = mesh.coords;\n    var colors = mesh.colors;\n    var ps = new Int32Array(16);\n    var cs = new Int32Array(4);\n    while (reader.hasData) {\n      var f = reader.readFlag();\n      if (!(0 <= f && f <= 3)) {\n        throw new _util.FormatError('Unknown type7 flag');\n      }\n      var i, ii;\n      var pi = coords.length;\n      for (i = 0, ii = f !== 0 ? 12 : 16; i < ii; i++) {\n        coords.push(reader.readCoordinate());\n      }\n      var ci = colors.length;\n      for (i = 0, ii = f !== 0 ? 2 : 4; i < ii; i++) {\n        colors.push(reader.readComponents());\n      }\n      var tmp1, tmp2, tmp3, tmp4;\n      switch (f) {\n        case 0:\n          ps[12] = pi + 3;\n          ps[13] = pi + 4;\n          ps[14] = pi + 5;\n          ps[15] = pi + 6;\n          ps[8] = pi + 2;\n          ps[9] = pi + 13;\n          ps[10] = pi + 14;\n          ps[11] = pi + 7;\n          ps[4] = pi + 1;\n          ps[5] = pi + 12;\n          ps[6] = pi + 15;\n          ps[7] = pi + 8;\n          ps[0] = pi;\n          ps[1] = pi + 11;\n          ps[2] = pi + 10;\n          ps[3] = pi + 9;\n          cs[2] = ci + 1;\n          cs[3] = ci + 2;\n          cs[0] = ci;\n          cs[1] = ci + 3;\n          break;\n        case 1:\n          tmp1 = ps[12];\n          tmp2 = ps[13];\n          tmp3 = ps[14];\n          tmp4 = ps[15];\n          ps[12] = tmp4;\n          ps[13] = pi + 0;\n          ps[14] = pi + 1;\n          ps[15] = pi + 2;\n          ps[8] = tmp3;\n          ps[9] = pi + 9;\n          ps[10] = pi + 10;\n          ps[11] = pi + 3;\n          ps[4] = tmp2;\n          ps[5] = pi + 8;\n          ps[6] = pi + 11;\n          ps[7] = pi + 4;\n          ps[0] = tmp1;\n          ps[1] = pi + 7;\n          ps[2] = pi + 6;\n          ps[3] = pi + 5;\n          tmp1 = cs[2];\n          tmp2 = cs[3];\n          cs[2] = tmp2;\n          cs[3] = ci;\n          cs[0] = tmp1;\n          cs[1] = ci + 1;\n          break;\n        case 2:\n          tmp1 = ps[15];\n          tmp2 = ps[11];\n          ps[12] = ps[3];\n          ps[13] = pi + 0;\n          ps[14] = pi + 1;\n          ps[15] = pi + 2;\n          ps[8] = ps[7];\n          ps[9] = pi + 9;\n          ps[10] = pi + 10;\n          ps[11] = pi + 3;\n          ps[4] = tmp2;\n          ps[5] = pi + 8;\n          ps[6] = pi + 11;\n          ps[7] = pi + 4;\n          ps[0] = tmp1;\n          ps[1] = pi + 7;\n          ps[2] = pi + 6;\n          ps[3] = pi + 5;\n          tmp1 = cs[3];\n          cs[2] = cs[1];\n          cs[3] = ci;\n          cs[0] = tmp1;\n          cs[1] = ci + 1;\n          break;\n        case 3:\n          ps[12] = ps[0];\n          ps[13] = pi + 0;\n          ps[14] = pi + 1;\n          ps[15] = pi + 2;\n          ps[8] = ps[1];\n          ps[9] = pi + 9;\n          ps[10] = pi + 10;\n          ps[11] = pi + 3;\n          ps[4] = ps[2];\n          ps[5] = pi + 8;\n          ps[6] = pi + 11;\n          ps[7] = pi + 4;\n          ps[0] = ps[3];\n          ps[1] = pi + 7;\n          ps[2] = pi + 6;\n          ps[3] = pi + 5;\n          cs[2] = cs[0];\n          cs[3] = ci;\n          cs[0] = cs[1];\n          cs[1] = ci + 1;\n          break;\n      }\n      mesh.figures.push({\n        type: 'patch',\n        coords: new Int32Array(ps),\n        colors: new Int32Array(cs)\n      });\n    }\n  }\n  function updateBounds(mesh) {\n    var minX = mesh.coords[0][0],\n        minY = mesh.coords[0][1],\n        maxX = minX,\n        maxY = minY;\n    for (var i = 1, ii = mesh.coords.length; i < ii; i++) {\n      var x = mesh.coords[i][0],\n          y = mesh.coords[i][1];\n      minX = minX > x ? x : minX;\n      minY = minY > y ? y : minY;\n      maxX = maxX < x ? x : maxX;\n      maxY = maxY < y ? y : maxY;\n    }\n    mesh.bounds = [minX, minY, maxX, maxY];\n  }\n  function packData(mesh) {\n    var i, ii, j, jj;\n    var coords = mesh.coords;\n    var coordsPacked = new Float32Array(coords.length * 2);\n    for (i = 0, j = 0, ii = coords.length; i < ii; i++) {\n      var xy = coords[i];\n      coordsPacked[j++] = xy[0];\n      coordsPacked[j++] = xy[1];\n    }\n    mesh.coords = coordsPacked;\n    var colors = mesh.colors;\n    var colorsPacked = new Uint8Array(colors.length * 3);\n    for (i = 0, j = 0, ii = colors.length; i < ii; i++) {\n      var c = colors[i];\n      colorsPacked[j++] = c[0];\n      colorsPacked[j++] = c[1];\n      colorsPacked[j++] = c[2];\n    }\n    mesh.colors = colorsPacked;\n    var figures = mesh.figures;\n    for (i = 0, ii = figures.length; i < ii; i++) {\n      var figure = figures[i],\n          ps = figure.coords,\n          cs = figure.colors;\n      for (j = 0, jj = ps.length; j < jj; j++) {\n        ps[j] *= 2;\n        cs[j] *= 3;\n      }\n    }\n  }\n  function Mesh(stream, matrix, xref, res, pdfFunctionFactory) {\n    if (!(0, _primitives.isStream)(stream)) {\n      throw new _util.FormatError('Mesh data is not a stream');\n    }\n    var dict = stream.dict;\n    this.matrix = matrix;\n    this.shadingType = dict.get('ShadingType');\n    this.type = 'Pattern';\n    this.bbox = dict.getArray('BBox');\n    var cs = dict.get('ColorSpace', 'CS');\n    cs = _colorspace.ColorSpace.parse(cs, xref, res, pdfFunctionFactory);\n    this.cs = cs;\n    this.background = dict.has('Background') ? cs.getRgb(dict.get('Background'), 0) : null;\n    var fnObj = dict.get('Function');\n    var fn = fnObj ? pdfFunctionFactory.createFromArray(fnObj) : null;\n    this.coords = [];\n    this.colors = [];\n    this.figures = [];\n    var decodeContext = {\n      bitsPerCoordinate: dict.get('BitsPerCoordinate'),\n      bitsPerComponent: dict.get('BitsPerComponent'),\n      bitsPerFlag: dict.get('BitsPerFlag'),\n      decode: dict.getArray('Decode'),\n      colorFn: fn,\n      colorSpace: cs,\n      numComps: fn ? 1 : cs.numComps\n    };\n    var reader = new MeshStreamReader(stream, decodeContext);\n    var patchMesh = false;\n    switch (this.shadingType) {\n      case ShadingType.FREE_FORM_MESH:\n        decodeType4Shading(this, reader);\n        break;\n      case ShadingType.LATTICE_FORM_MESH:\n        var verticesPerRow = dict.get('VerticesPerRow') | 0;\n        if (verticesPerRow < 2) {\n          throw new _util.FormatError('Invalid VerticesPerRow');\n        }\n        decodeType5Shading(this, reader, verticesPerRow);\n        break;\n      case ShadingType.COONS_PATCH_MESH:\n        decodeType6Shading(this, reader);\n        patchMesh = true;\n        break;\n      case ShadingType.TENSOR_PATCH_MESH:\n        decodeType7Shading(this, reader);\n        patchMesh = true;\n        break;\n      default:\n        (0, _util.unreachable)('Unsupported mesh type.');\n        break;\n    }\n    if (patchMesh) {\n      updateBounds(this);\n      for (var i = 0, ii = this.figures.length; i < ii; i++) {\n        buildFigureFromPatch(this, i);\n      }\n    }\n    updateBounds(this);\n    packData(this);\n  }\n  Mesh.prototype = {\n    getIR: function Mesh_getIR() {\n      return ['Mesh', this.shadingType, this.coords, this.colors, this.figures, this.bounds, this.matrix, this.bbox, this.background];\n    }\n  };\n  return Mesh;\n}();\nShadings.Dummy = function DummyClosure() {\n  function Dummy() {\n    this.type = 'Pattern';\n  }\n  Dummy.prototype = {\n    getIR: function Dummy_getIR() {\n      return ['Dummy'];\n    }\n  };\n  return Dummy;\n}();\nfunction getTilingPatternIR(operatorList, dict, args) {\n  var matrix = dict.getArray('Matrix');\n  var bbox = _util.Util.normalizeRect(dict.getArray('BBox'));\n  var xstep = dict.get('XStep');\n  var ystep = dict.get('YStep');\n  var paintType = dict.get('PaintType');\n  var tilingType = dict.get('TilingType');\n  if (bbox[2] - bbox[0] === 0 || bbox[3] - bbox[1] === 0) {\n    throw new _util.FormatError('Invalid getTilingPatternIR /BBox array: [' + bbox + '].');\n  }\n  return ['TilingPattern', args, operatorList, matrix, bbox, xstep, ystep, paintType, tilingType];\n}\nexports.Pattern = Pattern;\nexports.getTilingPatternIR = getTilingPatternIR;\n\n/***/ }),\n/* 154 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.bidi = undefined;\n\nvar _util = __w_pdfjs_require__(0);\n\nvar baseTypes = ['BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'S', 'B', 'S', 'WS', 'B', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'B', 'B', 'B', 'S', 'WS', 'ON', 'ON', 'ET', 'ET', 'ET', 'ON', 'ON', 'ON', 'ON', 'ON', 'ES', 'CS', 'ES', 'CS', 'CS', 'EN', 'EN', 'EN', 'EN', 'EN', 'EN', 'EN', 'EN', 'EN', 'EN', 'CS', 'ON', 'ON', 'ON', 'ON', 'ON', 'ON', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'ON', 'ON', 'ON', 'ON', 'ON', 'ON', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'ON', 'ON', 'ON', 'ON', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'B', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'CS', 'ON', 'ET', 'ET', 'ET', 'ET', 'ON', 'ON', 'ON', 'ON', 'L', 'ON', 'ON', 'BN', 'ON', 'ON', 'ET', 'ET', 'EN', 'EN', 'ON', 'L', 'ON', 'ON', 'ON', 'EN', 'L', 'ON', 'ON', 'ON', 'ON', 'ON', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'ON', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'ON', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L'];\nvar arabicTypes = ['AN', 'AN', 'AN', 'AN', 'AN', 'AN', 'ON', 'ON', 'AL', 'ET', 'ET', 'AL', 'CS', 'AL', 'ON', 'ON', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'AL', 'AL', '', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'AN', 'AN', 'AN', 'AN', 'AN', 'AN', 'AN', 'AN', 'AN', 'AN', 'ET', 'AN', 'AN', 'AL', 'AL', 'AL', 'NSM', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'AN', 'ON', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'AL', 'AL', 'NSM', 'NSM', 'ON', 'NSM', 'NSM', 'NSM', 'NSM', 'AL', 'AL', 'EN', 'EN', 'EN', 'EN', 'EN', 'EN', 'EN', 'EN', 'EN', 'EN', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL'];\nfunction isOdd(i) {\n  return (i & 1) !== 0;\n}\nfunction isEven(i) {\n  return (i & 1) === 0;\n}\nfunction findUnequal(arr, start, value) {\n  for (var j = start, jj = arr.length; j < jj; ++j) {\n    if (arr[j] !== value) {\n      return j;\n    }\n  }\n  return j;\n}\nfunction setValues(arr, start, end, value) {\n  for (var j = start; j < end; ++j) {\n    arr[j] = value;\n  }\n}\nfunction reverseValues(arr, start, end) {\n  for (var i = start, j = end - 1; i < j; ++i, --j) {\n    var temp = arr[i];\n    arr[i] = arr[j];\n    arr[j] = temp;\n  }\n}\nfunction createBidiText(str, isLTR, vertical) {\n  return {\n    str: str,\n    dir: vertical ? 'ttb' : isLTR ? 'ltr' : 'rtl'\n  };\n}\nvar chars = [];\nvar types = [];\nfunction bidi(str, startLevel, vertical) {\n  var isLTR = true;\n  var strLength = str.length;\n  if (strLength === 0 || vertical) {\n    return createBidiText(str, isLTR, vertical);\n  }\n  chars.length = strLength;\n  types.length = strLength;\n  var numBidi = 0;\n  var i, ii;\n  for (i = 0; i < strLength; ++i) {\n    chars[i] = str.charAt(i);\n    var charCode = str.charCodeAt(i);\n    var charType = 'L';\n    if (charCode <= 0x00ff) {\n      charType = baseTypes[charCode];\n    } else if (0x0590 <= charCode && charCode <= 0x05f4) {\n      charType = 'R';\n    } else if (0x0600 <= charCode && charCode <= 0x06ff) {\n      charType = arabicTypes[charCode & 0xff];\n      if (!charType) {\n        (0, _util.warn)('Bidi: invalid Unicode character ' + charCode.toString(16));\n      }\n    } else if (0x0700 <= charCode && charCode <= 0x08AC) {\n      charType = 'AL';\n    }\n    if (charType === 'R' || charType === 'AL' || charType === 'AN') {\n      numBidi++;\n    }\n    types[i] = charType;\n  }\n  if (numBidi === 0) {\n    isLTR = true;\n    return createBidiText(str, isLTR);\n  }\n  if (startLevel === -1) {\n    if (numBidi / strLength < 0.3) {\n      isLTR = true;\n      startLevel = 0;\n    } else {\n      isLTR = false;\n      startLevel = 1;\n    }\n  }\n  var levels = [];\n  for (i = 0; i < strLength; ++i) {\n    levels[i] = startLevel;\n  }\n  var e = isOdd(startLevel) ? 'R' : 'L';\n  var sor = e;\n  var eor = sor;\n  var lastType = sor;\n  for (i = 0; i < strLength; ++i) {\n    if (types[i] === 'NSM') {\n      types[i] = lastType;\n    } else {\n      lastType = types[i];\n    }\n  }\n  lastType = sor;\n  var t;\n  for (i = 0; i < strLength; ++i) {\n    t = types[i];\n    if (t === 'EN') {\n      types[i] = lastType === 'AL' ? 'AN' : 'EN';\n    } else if (t === 'R' || t === 'L' || t === 'AL') {\n      lastType = t;\n    }\n  }\n  for (i = 0; i < strLength; ++i) {\n    t = types[i];\n    if (t === 'AL') {\n      types[i] = 'R';\n    }\n  }\n  for (i = 1; i < strLength - 1; ++i) {\n    if (types[i] === 'ES' && types[i - 1] === 'EN' && types[i + 1] === 'EN') {\n      types[i] = 'EN';\n    }\n    if (types[i] === 'CS' && (types[i - 1] === 'EN' || types[i - 1] === 'AN') && types[i + 1] === types[i - 1]) {\n      types[i] = types[i - 1];\n    }\n  }\n  for (i = 0; i < strLength; ++i) {\n    if (types[i] === 'EN') {\n      var j;\n      for (j = i - 1; j >= 0; --j) {\n        if (types[j] !== 'ET') {\n          break;\n        }\n        types[j] = 'EN';\n      }\n      for (j = i + 1; j < strLength; ++j) {\n        if (types[j] !== 'ET') {\n          break;\n        }\n        types[j] = 'EN';\n      }\n    }\n  }\n  for (i = 0; i < strLength; ++i) {\n    t = types[i];\n    if (t === 'WS' || t === 'ES' || t === 'ET' || t === 'CS') {\n      types[i] = 'ON';\n    }\n  }\n  lastType = sor;\n  for (i = 0; i < strLength; ++i) {\n    t = types[i];\n    if (t === 'EN') {\n      types[i] = lastType === 'L' ? 'L' : 'EN';\n    } else if (t === 'R' || t === 'L') {\n      lastType = t;\n    }\n  }\n  for (i = 0; i < strLength; ++i) {\n    if (types[i] === 'ON') {\n      var end = findUnequal(types, i + 1, 'ON');\n      var before = sor;\n      if (i > 0) {\n        before = types[i - 1];\n      }\n      var after = eor;\n      if (end + 1 < strLength) {\n        after = types[end + 1];\n      }\n      if (before !== 'L') {\n        before = 'R';\n      }\n      if (after !== 'L') {\n        after = 'R';\n      }\n      if (before === after) {\n        setValues(types, i, end, before);\n      }\n      i = end - 1;\n    }\n  }\n  for (i = 0; i < strLength; ++i) {\n    if (types[i] === 'ON') {\n      types[i] = e;\n    }\n  }\n  for (i = 0; i < strLength; ++i) {\n    t = types[i];\n    if (isEven(levels[i])) {\n      if (t === 'R') {\n        levels[i] += 1;\n      } else if (t === 'AN' || t === 'EN') {\n        levels[i] += 2;\n      }\n    } else {\n      if (t === 'L' || t === 'AN' || t === 'EN') {\n        levels[i] += 1;\n      }\n    }\n  }\n  var highestLevel = -1;\n  var lowestOddLevel = 99;\n  var level;\n  for (i = 0, ii = levels.length; i < ii; ++i) {\n    level = levels[i];\n    if (highestLevel < level) {\n      highestLevel = level;\n    }\n    if (lowestOddLevel > level && isOdd(level)) {\n      lowestOddLevel = level;\n    }\n  }\n  for (level = highestLevel; level >= lowestOddLevel; --level) {\n    var start = -1;\n    for (i = 0, ii = levels.length; i < ii; ++i) {\n      if (levels[i] < level) {\n        if (start >= 0) {\n          reverseValues(chars, start, i);\n          start = -1;\n        }\n      } else if (start < 0) {\n        start = i;\n      }\n    }\n    if (start >= 0) {\n      reverseValues(chars, start, levels.length);\n    }\n  }\n  for (i = 0, ii = chars.length; i < ii; ++i) {\n    var ch = chars[i];\n    if (ch === '<' || ch === '>') {\n      chars[i] = '';\n    }\n  }\n  return createBidiText(chars.join(''), isLTR);\n}\nexports.bidi = bidi;\n\n/***/ }),\n/* 155 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.getMetrics = undefined;\n\nvar _util = __w_pdfjs_require__(0);\n\nvar getMetrics = (0, _util.getLookupTableFactory)(function (t) {\n  t['Courier'] = 600;\n  t['Courier-Bold'] = 600;\n  t['Courier-BoldOblique'] = 600;\n  t['Courier-Oblique'] = 600;\n  t['Helvetica'] = (0, _util.getLookupTableFactory)(function (t) {\n    t['space'] = 278;\n    t['exclam'] = 278;\n    t['quotedbl'] = 355;\n    t['numbersign'] = 556;\n    t['dollar'] = 556;\n    t['percent'] = 889;\n    t['ampersand'] = 667;\n    t['quoteright'] = 222;\n    t['parenleft'] = 333;\n    t['parenright'] = 333;\n    t['asterisk'] = 389;\n    t['plus'] = 584;\n    t['comma'] = 278;\n    t['hyphen'] = 333;\n    t['period'] = 278;\n    t['slash'] = 278;\n    t['zero'] = 556;\n    t['one'] = 556;\n    t['two'] = 556;\n    t['three'] = 556;\n    t['four'] = 556;\n    t['five'] = 556;\n    t['six'] = 556;\n    t['seven'] = 556;\n    t['eight'] = 556;\n    t['nine'] = 556;\n    t['colon'] = 278;\n    t['semicolon'] = 278;\n    t['less'] = 584;\n    t['equal'] = 584;\n    t['greater'] = 584;\n    t['question'] = 556;\n    t['at'] = 1015;\n    t['A'] = 667;\n    t['B'] = 667;\n    t['C'] = 722;\n    t['D'] = 722;\n    t['E'] = 667;\n    t['F'] = 611;\n    t['G'] = 778;\n    t['H'] = 722;\n    t['I'] = 278;\n    t['J'] = 500;\n    t['K'] = 667;\n    t['L'] = 556;\n    t['M'] = 833;\n    t['N'] = 722;\n    t['O'] = 778;\n    t['P'] = 667;\n    t['Q'] = 778;\n    t['R'] = 722;\n    t['S'] = 667;\n    t['T'] = 611;\n    t['U'] = 722;\n    t['V'] = 667;\n    t['W'] = 944;\n    t['X'] = 667;\n    t['Y'] = 667;\n    t['Z'] = 611;\n    t['bracketleft'] = 278;\n    t['backslash'] = 278;\n    t['bracketright'] = 278;\n    t['asciicircum'] = 469;\n    t['underscore'] = 556;\n    t['quoteleft'] = 222;\n    t['a'] = 556;\n    t['b'] = 556;\n    t['c'] = 500;\n    t['d'] = 556;\n    t['e'] = 556;\n    t['f'] = 278;\n    t['g'] = 556;\n    t['h'] = 556;\n    t['i'] = 222;\n    t['j'] = 222;\n    t['k'] = 500;\n    t['l'] = 222;\n    t['m'] = 833;\n    t['n'] = 556;\n    t['o'] = 556;\n    t['p'] = 556;\n    t['q'] = 556;\n    t['r'] = 333;\n    t['s'] = 500;\n    t['t'] = 278;\n    t['u'] = 556;\n    t['v'] = 500;\n    t['w'] = 722;\n    t['x'] = 500;\n    t['y'] = 500;\n    t['z'] = 500;\n    t['braceleft'] = 334;\n    t['bar'] = 260;\n    t['braceright'] = 334;\n    t['asciitilde'] = 584;\n    t['exclamdown'] = 333;\n    t['cent'] = 556;\n    t['sterling'] = 556;\n    t['fraction'] = 167;\n    t['yen'] = 556;\n    t['florin'] = 556;\n    t['section'] = 556;\n    t['currency'] = 556;\n    t['quotesingle'] = 191;\n    t['quotedblleft'] = 333;\n    t['guillemotleft'] = 556;\n    t['guilsinglleft'] = 333;\n    t['guilsinglright'] = 333;\n    t['fi'] = 500;\n    t['fl'] = 500;\n    t['endash'] = 556;\n    t['dagger'] = 556;\n    t['daggerdbl'] = 556;\n    t['periodcentered'] = 278;\n    t['paragraph'] = 537;\n    t['bullet'] = 350;\n    t['quotesinglbase'] = 222;\n    t['quotedblbase'] = 333;\n    t['quotedblright'] = 333;\n    t['guillemotright'] = 556;\n    t['ellipsis'] = 1000;\n    t['perthousand'] = 1000;\n    t['questiondown'] = 611;\n    t['grave'] = 333;\n    t['acute'] = 333;\n    t['circumflex'] = 333;\n    t['tilde'] = 333;\n    t['macron'] = 333;\n    t['breve'] = 333;\n    t['dotaccent'] = 333;\n    t['dieresis'] = 333;\n    t['ring'] = 333;\n    t['cedilla'] = 333;\n    t['hungarumlaut'] = 333;\n    t['ogonek'] = 333;\n    t['caron'] = 333;\n    t['emdash'] = 1000;\n    t['AE'] = 1000;\n    t['ordfeminine'] = 370;\n    t['Lslash'] = 556;\n    t['Oslash'] = 778;\n    t['OE'] = 1000;\n    t['ordmasculine'] = 365;\n    t['ae'] = 889;\n    t['dotlessi'] = 278;\n    t['lslash'] = 222;\n    t['oslash'] = 611;\n    t['oe'] = 944;\n    t['germandbls'] = 611;\n    t['Idieresis'] = 278;\n    t['eacute'] = 556;\n    t['abreve'] = 556;\n    t['uhungarumlaut'] = 556;\n    t['ecaron'] = 556;\n    t['Ydieresis'] = 667;\n    t['divide'] = 584;\n    t['Yacute'] = 667;\n    t['Acircumflex'] = 667;\n    t['aacute'] = 556;\n    t['Ucircumflex'] = 722;\n    t['yacute'] = 500;\n    t['scommaaccent'] = 500;\n    t['ecircumflex'] = 556;\n    t['Uring'] = 722;\n    t['Udieresis'] = 722;\n    t['aogonek'] = 556;\n    t['Uacute'] = 722;\n    t['uogonek'] = 556;\n    t['Edieresis'] = 667;\n    t['Dcroat'] = 722;\n    t['commaaccent'] = 250;\n    t['copyright'] = 737;\n    t['Emacron'] = 667;\n    t['ccaron'] = 500;\n    t['aring'] = 556;\n    t['Ncommaaccent'] = 722;\n    t['lacute'] = 222;\n    t['agrave'] = 556;\n    t['Tcommaaccent'] = 611;\n    t['Cacute'] = 722;\n    t['atilde'] = 556;\n    t['Edotaccent'] = 667;\n    t['scaron'] = 500;\n    t['scedilla'] = 500;\n    t['iacute'] = 278;\n    t['lozenge'] = 471;\n    t['Rcaron'] = 722;\n    t['Gcommaaccent'] = 778;\n    t['ucircumflex'] = 556;\n    t['acircumflex'] = 556;\n    t['Amacron'] = 667;\n    t['rcaron'] = 333;\n    t['ccedilla'] = 500;\n    t['Zdotaccent'] = 611;\n    t['Thorn'] = 667;\n    t['Omacron'] = 778;\n    t['Racute'] = 722;\n    t['Sacute'] = 667;\n    t['dcaron'] = 643;\n    t['Umacron'] = 722;\n    t['uring'] = 556;\n    t['threesuperior'] = 333;\n    t['Ograve'] = 778;\n    t['Agrave'] = 667;\n    t['Abreve'] = 667;\n    t['multiply'] = 584;\n    t['uacute'] = 556;\n    t['Tcaron'] = 611;\n    t['partialdiff'] = 476;\n    t['ydieresis'] = 500;\n    t['Nacute'] = 722;\n    t['icircumflex'] = 278;\n    t['Ecircumflex'] = 667;\n    t['adieresis'] = 556;\n    t['edieresis'] = 556;\n    t['cacute'] = 500;\n    t['nacute'] = 556;\n    t['umacron'] = 556;\n    t['Ncaron'] = 722;\n    t['Iacute'] = 278;\n    t['plusminus'] = 584;\n    t['brokenbar'] = 260;\n    t['registered'] = 737;\n    t['Gbreve'] = 778;\n    t['Idotaccent'] = 278;\n    t['summation'] = 600;\n    t['Egrave'] = 667;\n    t['racute'] = 333;\n    t['omacron'] = 556;\n    t['Zacute'] = 611;\n    t['Zcaron'] = 611;\n    t['greaterequal'] = 549;\n    t['Eth'] = 722;\n    t['Ccedilla'] = 722;\n    t['lcommaaccent'] = 222;\n    t['tcaron'] = 317;\n    t['eogonek'] = 556;\n    t['Uogonek'] = 722;\n    t['Aacute'] = 667;\n    t['Adieresis'] = 667;\n    t['egrave'] = 556;\n    t['zacute'] = 500;\n    t['iogonek'] = 222;\n    t['Oacute'] = 778;\n    t['oacute'] = 556;\n    t['amacron'] = 556;\n    t['sacute'] = 500;\n    t['idieresis'] = 278;\n    t['Ocircumflex'] = 778;\n    t['Ugrave'] = 722;\n    t['Delta'] = 612;\n    t['thorn'] = 556;\n    t['twosuperior'] = 333;\n    t['Odieresis'] = 778;\n    t['mu'] = 556;\n    t['igrave'] = 278;\n    t['ohungarumlaut'] = 556;\n    t['Eogonek'] = 667;\n    t['dcroat'] = 556;\n    t['threequarters'] = 834;\n    t['Scedilla'] = 667;\n    t['lcaron'] = 299;\n    t['Kcommaaccent'] = 667;\n    t['Lacute'] = 556;\n    t['trademark'] = 1000;\n    t['edotaccent'] = 556;\n    t['Igrave'] = 278;\n    t['Imacron'] = 278;\n    t['Lcaron'] = 556;\n    t['onehalf'] = 834;\n    t['lessequal'] = 549;\n    t['ocircumflex'] = 556;\n    t['ntilde'] = 556;\n    t['Uhungarumlaut'] = 722;\n    t['Eacute'] = 667;\n    t['emacron'] = 556;\n    t['gbreve'] = 556;\n    t['onequarter'] = 834;\n    t['Scaron'] = 667;\n    t['Scommaaccent'] = 667;\n    t['Ohungarumlaut'] = 778;\n    t['degree'] = 400;\n    t['ograve'] = 556;\n    t['Ccaron'] = 722;\n    t['ugrave'] = 556;\n    t['radical'] = 453;\n    t['Dcaron'] = 722;\n    t['rcommaaccent'] = 333;\n    t['Ntilde'] = 722;\n    t['otilde'] = 556;\n    t['Rcommaaccent'] = 722;\n    t['Lcommaaccent'] = 556;\n    t['Atilde'] = 667;\n    t['Aogonek'] = 667;\n    t['Aring'] = 667;\n    t['Otilde'] = 778;\n    t['zdotaccent'] = 500;\n    t['Ecaron'] = 667;\n    t['Iogonek'] = 278;\n    t['kcommaaccent'] = 500;\n    t['minus'] = 584;\n    t['Icircumflex'] = 278;\n    t['ncaron'] = 556;\n    t['tcommaaccent'] = 278;\n    t['logicalnot'] = 584;\n    t['odieresis'] = 556;\n    t['udieresis'] = 556;\n    t['notequal'] = 549;\n    t['gcommaaccent'] = 556;\n    t['eth'] = 556;\n    t['zcaron'] = 500;\n    t['ncommaaccent'] = 556;\n    t['onesuperior'] = 333;\n    t['imacron'] = 278;\n    t['Euro'] = 556;\n  });\n  t['Helvetica-Bold'] = (0, _util.getLookupTableFactory)(function (t) {\n    t['space'] = 278;\n    t['exclam'] = 333;\n    t['quotedbl'] = 474;\n    t['numbersign'] = 556;\n    t['dollar'] = 556;\n    t['percent'] = 889;\n    t['ampersand'] = 722;\n    t['quoteright'] = 278;\n    t['parenleft'] = 333;\n    t['parenright'] = 333;\n    t['asterisk'] = 389;\n    t['plus'] = 584;\n    t['comma'] = 278;\n    t['hyphen'] = 333;\n    t['period'] = 278;\n    t['slash'] = 278;\n    t['zero'] = 556;\n    t['one'] = 556;\n    t['two'] = 556;\n    t['three'] = 556;\n    t['four'] = 556;\n    t['five'] = 556;\n    t['six'] = 556;\n    t['seven'] = 556;\n    t['eight'] = 556;\n    t['nine'] = 556;\n    t['colon'] = 333;\n    t['semicolon'] = 333;\n    t['less'] = 584;\n    t['equal'] = 584;\n    t['greater'] = 584;\n    t['question'] = 611;\n    t['at'] = 975;\n    t['A'] = 722;\n    t['B'] = 722;\n    t['C'] = 722;\n    t['D'] = 722;\n    t['E'] = 667;\n    t['F'] = 611;\n    t['G'] = 778;\n    t['H'] = 722;\n    t['I'] = 278;\n    t['J'] = 556;\n    t['K'] = 722;\n    t['L'] = 611;\n    t['M'] = 833;\n    t['N'] = 722;\n    t['O'] = 778;\n    t['P'] = 667;\n    t['Q'] = 778;\n    t['R'] = 722;\n    t['S'] = 667;\n    t['T'] = 611;\n    t['U'] = 722;\n    t['V'] = 667;\n    t['W'] = 944;\n    t['X'] = 667;\n    t['Y'] = 667;\n    t['Z'] = 611;\n    t['bracketleft'] = 333;\n    t['backslash'] = 278;\n    t['bracketright'] = 333;\n    t['asciicircum'] = 584;\n    t['underscore'] = 556;\n    t['quoteleft'] = 278;\n    t['a'] = 556;\n    t['b'] = 611;\n    t['c'] = 556;\n    t['d'] = 611;\n    t['e'] = 556;\n    t['f'] = 333;\n    t['g'] = 611;\n    t['h'] = 611;\n    t['i'] = 278;\n    t['j'] = 278;\n    t['k'] = 556;\n    t['l'] = 278;\n    t['m'] = 889;\n    t['n'] = 611;\n    t['o'] = 611;\n    t['p'] = 611;\n    t['q'] = 611;\n    t['r'] = 389;\n    t['s'] = 556;\n    t['t'] = 333;\n    t['u'] = 611;\n    t['v'] = 556;\n    t['w'] = 778;\n    t['x'] = 556;\n    t['y'] = 556;\n    t['z'] = 500;\n    t['braceleft'] = 389;\n    t['bar'] = 280;\n    t['braceright'] = 389;\n    t['asciitilde'] = 584;\n    t['exclamdown'] = 333;\n    t['cent'] = 556;\n    t['sterling'] = 556;\n    t['fraction'] = 167;\n    t['yen'] = 556;\n    t['florin'] = 556;\n    t['section'] = 556;\n    t['currency'] = 556;\n    t['quotesingle'] = 238;\n    t['quotedblleft'] = 500;\n    t['guillemotleft'] = 556;\n    t['guilsinglleft'] = 333;\n    t['guilsinglright'] = 333;\n    t['fi'] = 611;\n    t['fl'] = 611;\n    t['endash'] = 556;\n    t['dagger'] = 556;\n    t['daggerdbl'] = 556;\n    t['periodcentered'] = 278;\n    t['paragraph'] = 556;\n    t['bullet'] = 350;\n    t['quotesinglbase'] = 278;\n    t['quotedblbase'] = 500;\n    t['quotedblright'] = 500;\n    t['guillemotright'] = 556;\n    t['ellipsis'] = 1000;\n    t['perthousand'] = 1000;\n    t['questiondown'] = 611;\n    t['grave'] = 333;\n    t['acute'] = 333;\n    t['circumflex'] = 333;\n    t['tilde'] = 333;\n    t['macron'] = 333;\n    t['breve'] = 333;\n    t['dotaccent'] = 333;\n    t['dieresis'] = 333;\n    t['ring'] = 333;\n    t['cedilla'] = 333;\n    t['hungarumlaut'] = 333;\n    t['ogonek'] = 333;\n    t['caron'] = 333;\n    t['emdash'] = 1000;\n    t['AE'] = 1000;\n    t['ordfeminine'] = 370;\n    t['Lslash'] = 611;\n    t['Oslash'] = 778;\n    t['OE'] = 1000;\n    t['ordmasculine'] = 365;\n    t['ae'] = 889;\n    t['dotlessi'] = 278;\n    t['lslash'] = 278;\n    t['oslash'] = 611;\n    t['oe'] = 944;\n    t['germandbls'] = 611;\n    t['Idieresis'] = 278;\n    t['eacute'] = 556;\n    t['abreve'] = 556;\n    t['uhungarumlaut'] = 611;\n    t['ecaron'] = 556;\n    t['Ydieresis'] = 667;\n    t['divide'] = 584;\n    t['Yacute'] = 667;\n    t['Acircumflex'] = 722;\n    t['aacute'] = 556;\n    t['Ucircumflex'] = 722;\n    t['yacute'] = 556;\n    t['scommaaccent'] = 556;\n    t['ecircumflex'] = 556;\n    t['Uring'] = 722;\n    t['Udieresis'] = 722;\n    t['aogonek'] = 556;\n    t['Uacute'] = 722;\n    t['uogonek'] = 611;\n    t['Edieresis'] = 667;\n    t['Dcroat'] = 722;\n    t['commaaccent'] = 250;\n    t['copyright'] = 737;\n    t['Emacron'] = 667;\n    t['ccaron'] = 556;\n    t['aring'] = 556;\n    t['Ncommaaccent'] = 722;\n    t['lacute'] = 278;\n    t['agrave'] = 556;\n    t['Tcommaaccent'] = 611;\n    t['Cacute'] = 722;\n    t['atilde'] = 556;\n    t['Edotaccent'] = 667;\n    t['scaron'] = 556;\n    t['scedilla'] = 556;\n    t['iacute'] = 278;\n    t['lozenge'] = 494;\n    t['Rcaron'] = 722;\n    t['Gcommaaccent'] = 778;\n    t['ucircumflex'] = 611;\n    t['acircumflex'] = 556;\n    t['Amacron'] = 722;\n    t['rcaron'] = 389;\n    t['ccedilla'] = 556;\n    t['Zdotaccent'] = 611;\n    t['Thorn'] = 667;\n    t['Omacron'] = 778;\n    t['Racute'] = 722;\n    t['Sacute'] = 667;\n    t['dcaron'] = 743;\n    t['Umacron'] = 722;\n    t['uring'] = 611;\n    t['threesuperior'] = 333;\n    t['Ograve'] = 778;\n    t['Agrave'] = 722;\n    t['Abreve'] = 722;\n    t['multiply'] = 584;\n    t['uacute'] = 611;\n    t['Tcaron'] = 611;\n    t['partialdiff'] = 494;\n    t['ydieresis'] = 556;\n    t['Nacute'] = 722;\n    t['icircumflex'] = 278;\n    t['Ecircumflex'] = 667;\n    t['adieresis'] = 556;\n    t['edieresis'] = 556;\n    t['cacute'] = 556;\n    t['nacute'] = 611;\n    t['umacron'] = 611;\n    t['Ncaron'] = 722;\n    t['Iacute'] = 278;\n    t['plusminus'] = 584;\n    t['brokenbar'] = 280;\n    t['registered'] = 737;\n    t['Gbreve'] = 778;\n    t['Idotaccent'] = 278;\n    t['summation'] = 600;\n    t['Egrave'] = 667;\n    t['racute'] = 389;\n    t['omacron'] = 611;\n    t['Zacute'] = 611;\n    t['Zcaron'] = 611;\n    t['greaterequal'] = 549;\n    t['Eth'] = 722;\n    t['Ccedilla'] = 722;\n    t['lcommaaccent'] = 278;\n    t['tcaron'] = 389;\n    t['eogonek'] = 556;\n    t['Uogonek'] = 722;\n    t['Aacute'] = 722;\n    t['Adieresis'] = 722;\n    t['egrave'] = 556;\n    t['zacute'] = 500;\n    t['iogonek'] = 278;\n    t['Oacute'] = 778;\n    t['oacute'] = 611;\n    t['amacron'] = 556;\n    t['sacute'] = 556;\n    t['idieresis'] = 278;\n    t['Ocircumflex'] = 778;\n    t['Ugrave'] = 722;\n    t['Delta'] = 612;\n    t['thorn'] = 611;\n    t['twosuperior'] = 333;\n    t['Odieresis'] = 778;\n    t['mu'] = 611;\n    t['igrave'] = 278;\n    t['ohungarumlaut'] = 611;\n    t['Eogonek'] = 667;\n    t['dcroat'] = 611;\n    t['threequarters'] = 834;\n    t['Scedilla'] = 667;\n    t['lcaron'] = 400;\n    t['Kcommaaccent'] = 722;\n    t['Lacute'] = 611;\n    t['trademark'] = 1000;\n    t['edotaccent'] = 556;\n    t['Igrave'] = 278;\n    t['Imacron'] = 278;\n    t['Lcaron'] = 611;\n    t['onehalf'] = 834;\n    t['lessequal'] = 549;\n    t['ocircumflex'] = 611;\n    t['ntilde'] = 611;\n    t['Uhungarumlaut'] = 722;\n    t['Eacute'] = 667;\n    t['emacron'] = 556;\n    t['gbreve'] = 611;\n    t['onequarter'] = 834;\n    t['Scaron'] = 667;\n    t['Scommaaccent'] = 667;\n    t['Ohungarumlaut'] = 778;\n    t['degree'] = 400;\n    t['ograve'] = 611;\n    t['Ccaron'] = 722;\n    t['ugrave'] = 611;\n    t['radical'] = 549;\n    t['Dcaron'] = 722;\n    t['rcommaaccent'] = 389;\n    t['Ntilde'] = 722;\n    t['otilde'] = 611;\n    t['Rcommaaccent'] = 722;\n    t['Lcommaaccent'] = 611;\n    t['Atilde'] = 722;\n    t['Aogonek'] = 722;\n    t['Aring'] = 722;\n    t['Otilde'] = 778;\n    t['zdotaccent'] = 500;\n    t['Ecaron'] = 667;\n    t['Iogonek'] = 278;\n    t['kcommaaccent'] = 556;\n    t['minus'] = 584;\n    t['Icircumflex'] = 278;\n    t['ncaron'] = 611;\n    t['tcommaaccent'] = 333;\n    t['logicalnot'] = 584;\n    t['odieresis'] = 611;\n    t['udieresis'] = 611;\n    t['notequal'] = 549;\n    t['gcommaaccent'] = 611;\n    t['eth'] = 611;\n    t['zcaron'] = 500;\n    t['ncommaaccent'] = 611;\n    t['onesuperior'] = 333;\n    t['imacron'] = 278;\n    t['Euro'] = 556;\n  });\n  t['Helvetica-BoldOblique'] = (0, _util.getLookupTableFactory)(function (t) {\n    t['space'] = 278;\n    t['exclam'] = 333;\n    t['quotedbl'] = 474;\n    t['numbersign'] = 556;\n    t['dollar'] = 556;\n    t['percent'] = 889;\n    t['ampersand'] = 722;\n    t['quoteright'] = 278;\n    t['parenleft'] = 333;\n    t['parenright'] = 333;\n    t['asterisk'] = 389;\n    t['plus'] = 584;\n    t['comma'] = 278;\n    t['hyphen'] = 333;\n    t['period'] = 278;\n    t['slash'] = 278;\n    t['zero'] = 556;\n    t['one'] = 556;\n    t['two'] = 556;\n    t['three'] = 556;\n    t['four'] = 556;\n    t['five'] = 556;\n    t['six'] = 556;\n    t['seven'] = 556;\n    t['eight'] = 556;\n    t['nine'] = 556;\n    t['colon'] = 333;\n    t['semicolon'] = 333;\n    t['less'] = 584;\n    t['equal'] = 584;\n    t['greater'] = 584;\n    t['question'] = 611;\n    t['at'] = 975;\n    t['A'] = 722;\n    t['B'] = 722;\n    t['C'] = 722;\n    t['D'] = 722;\n    t['E'] = 667;\n    t['F'] = 611;\n    t['G'] = 778;\n    t['H'] = 722;\n    t['I'] = 278;\n    t['J'] = 556;\n    t['K'] = 722;\n    t['L'] = 611;\n    t['M'] = 833;\n    t['N'] = 722;\n    t['O'] = 778;\n    t['P'] = 667;\n    t['Q'] = 778;\n    t['R'] = 722;\n    t['S'] = 667;\n    t['T'] = 611;\n    t['U'] = 722;\n    t['V'] = 667;\n    t['W'] = 944;\n    t['X'] = 667;\n    t['Y'] = 667;\n    t['Z'] = 611;\n    t['bracketleft'] = 333;\n    t['backslash'] = 278;\n    t['bracketright'] = 333;\n    t['asciicircum'] = 584;\n    t['underscore'] = 556;\n    t['quoteleft'] = 278;\n    t['a'] = 556;\n    t['b'] = 611;\n    t['c'] = 556;\n    t['d'] = 611;\n    t['e'] = 556;\n    t['f'] = 333;\n    t['g'] = 611;\n    t['h'] = 611;\n    t['i'] = 278;\n    t['j'] = 278;\n    t['k'] = 556;\n    t['l'] = 278;\n    t['m'] = 889;\n    t['n'] = 611;\n    t['o'] = 611;\n    t['p'] = 611;\n    t['q'] = 611;\n    t['r'] = 389;\n    t['s'] = 556;\n    t['t'] = 333;\n    t['u'] = 611;\n    t['v'] = 556;\n    t['w'] = 778;\n    t['x'] = 556;\n    t['y'] = 556;\n    t['z'] = 500;\n    t['braceleft'] = 389;\n    t['bar'] = 280;\n    t['braceright'] = 389;\n    t['asciitilde'] = 584;\n    t['exclamdown'] = 333;\n    t['cent'] = 556;\n    t['sterling'] = 556;\n    t['fraction'] = 167;\n    t['yen'] = 556;\n    t['florin'] = 556;\n    t['section'] = 556;\n    t['currency'] = 556;\n    t['quotesingle'] = 238;\n    t['quotedblleft'] = 500;\n    t['guillemotleft'] = 556;\n    t['guilsinglleft'] = 333;\n    t['guilsinglright'] = 333;\n    t['fi'] = 611;\n    t['fl'] = 611;\n    t['endash'] = 556;\n    t['dagger'] = 556;\n    t['daggerdbl'] = 556;\n    t['periodcentered'] = 278;\n    t['paragraph'] = 556;\n    t['bullet'] = 350;\n    t['quotesinglbase'] = 278;\n    t['quotedblbase'] = 500;\n    t['quotedblright'] = 500;\n    t['guillemotright'] = 556;\n    t['ellipsis'] = 1000;\n    t['perthousand'] = 1000;\n    t['questiondown'] = 611;\n    t['grave'] = 333;\n    t['acute'] = 333;\n    t['circumflex'] = 333;\n    t['tilde'] = 333;\n    t['macron'] = 333;\n    t['breve'] = 333;\n    t['dotaccent'] = 333;\n    t['dieresis'] = 333;\n    t['ring'] = 333;\n    t['cedilla'] = 333;\n    t['hungarumlaut'] = 333;\n    t['ogonek'] = 333;\n    t['caron'] = 333;\n    t['emdash'] = 1000;\n    t['AE'] = 1000;\n    t['ordfeminine'] = 370;\n    t['Lslash'] = 611;\n    t['Oslash'] = 778;\n    t['OE'] = 1000;\n    t['ordmasculine'] = 365;\n    t['ae'] = 889;\n    t['dotlessi'] = 278;\n    t['lslash'] = 278;\n    t['oslash'] = 611;\n    t['oe'] = 944;\n    t['germandbls'] = 611;\n    t['Idieresis'] = 278;\n    t['eacute'] = 556;\n    t['abreve'] = 556;\n    t['uhungarumlaut'] = 611;\n    t['ecaron'] = 556;\n    t['Ydieresis'] = 667;\n    t['divide'] = 584;\n    t['Yacute'] = 667;\n    t['Acircumflex'] = 722;\n    t['aacute'] = 556;\n    t['Ucircumflex'] = 722;\n    t['yacute'] = 556;\n    t['scommaaccent'] = 556;\n    t['ecircumflex'] = 556;\n    t['Uring'] = 722;\n    t['Udieresis'] = 722;\n    t['aogonek'] = 556;\n    t['Uacute'] = 722;\n    t['uogonek'] = 611;\n    t['Edieresis'] = 667;\n    t['Dcroat'] = 722;\n    t['commaaccent'] = 250;\n    t['copyright'] = 737;\n    t['Emacron'] = 667;\n    t['ccaron'] = 556;\n    t['aring'] = 556;\n    t['Ncommaaccent'] = 722;\n    t['lacute'] = 278;\n    t['agrave'] = 556;\n    t['Tcommaaccent'] = 611;\n    t['Cacute'] = 722;\n    t['atilde'] = 556;\n    t['Edotaccent'] = 667;\n    t['scaron'] = 556;\n    t['scedilla'] = 556;\n    t['iacute'] = 278;\n    t['lozenge'] = 494;\n    t['Rcaron'] = 722;\n    t['Gcommaaccent'] = 778;\n    t['ucircumflex'] = 611;\n    t['acircumflex'] = 556;\n    t['Amacron'] = 722;\n    t['rcaron'] = 389;\n    t['ccedilla'] = 556;\n    t['Zdotaccent'] = 611;\n    t['Thorn'] = 667;\n    t['Omacron'] = 778;\n    t['Racute'] = 722;\n    t['Sacute'] = 667;\n    t['dcaron'] = 743;\n    t['Umacron'] = 722;\n    t['uring'] = 611;\n    t['threesuperior'] = 333;\n    t['Ograve'] = 778;\n    t['Agrave'] = 722;\n    t['Abreve'] = 722;\n    t['multiply'] = 584;\n    t['uacute'] = 611;\n    t['Tcaron'] = 611;\n    t['partialdiff'] = 494;\n    t['ydieresis'] = 556;\n    t['Nacute'] = 722;\n    t['icircumflex'] = 278;\n    t['Ecircumflex'] = 667;\n    t['adieresis'] = 556;\n    t['edieresis'] = 556;\n    t['cacute'] = 556;\n    t['nacute'] = 611;\n    t['umacron'] = 611;\n    t['Ncaron'] = 722;\n    t['Iacute'] = 278;\n    t['plusminus'] = 584;\n    t['brokenbar'] = 280;\n    t['registered'] = 737;\n    t['Gbreve'] = 778;\n    t['Idotaccent'] = 278;\n    t['summation'] = 600;\n    t['Egrave'] = 667;\n    t['racute'] = 389;\n    t['omacron'] = 611;\n    t['Zacute'] = 611;\n    t['Zcaron'] = 611;\n    t['greaterequal'] = 549;\n    t['Eth'] = 722;\n    t['Ccedilla'] = 722;\n    t['lcommaaccent'] = 278;\n    t['tcaron'] = 389;\n    t['eogonek'] = 556;\n    t['Uogonek'] = 722;\n    t['Aacute'] = 722;\n    t['Adieresis'] = 722;\n    t['egrave'] = 556;\n    t['zacute'] = 500;\n    t['iogonek'] = 278;\n    t['Oacute'] = 778;\n    t['oacute'] = 611;\n    t['amacron'] = 556;\n    t['sacute'] = 556;\n    t['idieresis'] = 278;\n    t['Ocircumflex'] = 778;\n    t['Ugrave'] = 722;\n    t['Delta'] = 612;\n    t['thorn'] = 611;\n    t['twosuperior'] = 333;\n    t['Odieresis'] = 778;\n    t['mu'] = 611;\n    t['igrave'] = 278;\n    t['ohungarumlaut'] = 611;\n    t['Eogonek'] = 667;\n    t['dcroat'] = 611;\n    t['threequarters'] = 834;\n    t['Scedilla'] = 667;\n    t['lcaron'] = 400;\n    t['Kcommaaccent'] = 722;\n    t['Lacute'] = 611;\n    t['trademark'] = 1000;\n    t['edotaccent'] = 556;\n    t['Igrave'] = 278;\n    t['Imacron'] = 278;\n    t['Lcaron'] = 611;\n    t['onehalf'] = 834;\n    t['lessequal'] = 549;\n    t['ocircumflex'] = 611;\n    t['ntilde'] = 611;\n    t['Uhungarumlaut'] = 722;\n    t['Eacute'] = 667;\n    t['emacron'] = 556;\n    t['gbreve'] = 611;\n    t['onequarter'] = 834;\n    t['Scaron'] = 667;\n    t['Scommaaccent'] = 667;\n    t['Ohungarumlaut'] = 778;\n    t['degree'] = 400;\n    t['ograve'] = 611;\n    t['Ccaron'] = 722;\n    t['ugrave'] = 611;\n    t['radical'] = 549;\n    t['Dcaron'] = 722;\n    t['rcommaaccent'] = 389;\n    t['Ntilde'] = 722;\n    t['otilde'] = 611;\n    t['Rcommaaccent'] = 722;\n    t['Lcommaaccent'] = 611;\n    t['Atilde'] = 722;\n    t['Aogonek'] = 722;\n    t['Aring'] = 722;\n    t['Otilde'] = 778;\n    t['zdotaccent'] = 500;\n    t['Ecaron'] = 667;\n    t['Iogonek'] = 278;\n    t['kcommaaccent'] = 556;\n    t['minus'] = 584;\n    t['Icircumflex'] = 278;\n    t['ncaron'] = 611;\n    t['tcommaaccent'] = 333;\n    t['logicalnot'] = 584;\n    t['odieresis'] = 611;\n    t['udieresis'] = 611;\n    t['notequal'] = 549;\n    t['gcommaaccent'] = 611;\n    t['eth'] = 611;\n    t['zcaron'] = 500;\n    t['ncommaaccent'] = 611;\n    t['onesuperior'] = 333;\n    t['imacron'] = 278;\n    t['Euro'] = 556;\n  });\n  t['Helvetica-Oblique'] = (0, _util.getLookupTableFactory)(function (t) {\n    t['space'] = 278;\n    t['exclam'] = 278;\n    t['quotedbl'] = 355;\n    t['numbersign'] = 556;\n    t['dollar'] = 556;\n    t['percent'] = 889;\n    t['ampersand'] = 667;\n    t['quoteright'] = 222;\n    t['parenleft'] = 333;\n    t['parenright'] = 333;\n    t['asterisk'] = 389;\n    t['plus'] = 584;\n    t['comma'] = 278;\n    t['hyphen'] = 333;\n    t['period'] = 278;\n    t['slash'] = 278;\n    t['zero'] = 556;\n    t['one'] = 556;\n    t['two'] = 556;\n    t['three'] = 556;\n    t['four'] = 556;\n    t['five'] = 556;\n    t['six'] = 556;\n    t['seven'] = 556;\n    t['eight'] = 556;\n    t['nine'] = 556;\n    t['colon'] = 278;\n    t['semicolon'] = 278;\n    t['less'] = 584;\n    t['equal'] = 584;\n    t['greater'] = 584;\n    t['question'] = 556;\n    t['at'] = 1015;\n    t['A'] = 667;\n    t['B'] = 667;\n    t['C'] = 722;\n    t['D'] = 722;\n    t['E'] = 667;\n    t['F'] = 611;\n    t['G'] = 778;\n    t['H'] = 722;\n    t['I'] = 278;\n    t['J'] = 500;\n    t['K'] = 667;\n    t['L'] = 556;\n    t['M'] = 833;\n    t['N'] = 722;\n    t['O'] = 778;\n    t['P'] = 667;\n    t['Q'] = 778;\n    t['R'] = 722;\n    t['S'] = 667;\n    t['T'] = 611;\n    t['U'] = 722;\n    t['V'] = 667;\n    t['W'] = 944;\n    t['X'] = 667;\n    t['Y'] = 667;\n    t['Z'] = 611;\n    t['bracketleft'] = 278;\n    t['backslash'] = 278;\n    t['bracketright'] = 278;\n    t['asciicircum'] = 469;\n    t['underscore'] = 556;\n    t['quoteleft'] = 222;\n    t['a'] = 556;\n    t['b'] = 556;\n    t['c'] = 500;\n    t['d'] = 556;\n    t['e'] = 556;\n    t['f'] = 278;\n    t['g'] = 556;\n    t['h'] = 556;\n    t['i'] = 222;\n    t['j'] = 222;\n    t['k'] = 500;\n    t['l'] = 222;\n    t['m'] = 833;\n    t['n'] = 556;\n    t['o'] = 556;\n    t['p'] = 556;\n    t['q'] = 556;\n    t['r'] = 333;\n    t['s'] = 500;\n    t['t'] = 278;\n    t['u'] = 556;\n    t['v'] = 500;\n    t['w'] = 722;\n    t['x'] = 500;\n    t['y'] = 500;\n    t['z'] = 500;\n    t['braceleft'] = 334;\n    t['bar'] = 260;\n    t['braceright'] = 334;\n    t['asciitilde'] = 584;\n    t['exclamdown'] = 333;\n    t['cent'] = 556;\n    t['sterling'] = 556;\n    t['fraction'] = 167;\n    t['yen'] = 556;\n    t['florin'] = 556;\n    t['section'] = 556;\n    t['currency'] = 556;\n    t['quotesingle'] = 191;\n    t['quotedblleft'] = 333;\n    t['guillemotleft'] = 556;\n    t['guilsinglleft'] = 333;\n    t['guilsinglright'] = 333;\n    t['fi'] = 500;\n    t['fl'] = 500;\n    t['endash'] = 556;\n    t['dagger'] = 556;\n    t['daggerdbl'] = 556;\n    t['periodcentered'] = 278;\n    t['paragraph'] = 537;\n    t['bullet'] = 350;\n    t['quotesinglbase'] = 222;\n    t['quotedblbase'] = 333;\n    t['quotedblright'] = 333;\n    t['guillemotright'] = 556;\n    t['ellipsis'] = 1000;\n    t['perthousand'] = 1000;\n    t['questiondown'] = 611;\n    t['grave'] = 333;\n    t['acute'] = 333;\n    t['circumflex'] = 333;\n    t['tilde'] = 333;\n    t['macron'] = 333;\n    t['breve'] = 333;\n    t['dotaccent'] = 333;\n    t['dieresis'] = 333;\n    t['ring'] = 333;\n    t['cedilla'] = 333;\n    t['hungarumlaut'] = 333;\n    t['ogonek'] = 333;\n    t['caron'] = 333;\n    t['emdash'] = 1000;\n    t['AE'] = 1000;\n    t['ordfeminine'] = 370;\n    t['Lslash'] = 556;\n    t['Oslash'] = 778;\n    t['OE'] = 1000;\n    t['ordmasculine'] = 365;\n    t['ae'] = 889;\n    t['dotlessi'] = 278;\n    t['lslash'] = 222;\n    t['oslash'] = 611;\n    t['oe'] = 944;\n    t['germandbls'] = 611;\n    t['Idieresis'] = 278;\n    t['eacute'] = 556;\n    t['abreve'] = 556;\n    t['uhungarumlaut'] = 556;\n    t['ecaron'] = 556;\n    t['Ydieresis'] = 667;\n    t['divide'] = 584;\n    t['Yacute'] = 667;\n    t['Acircumflex'] = 667;\n    t['aacute'] = 556;\n    t['Ucircumflex'] = 722;\n    t['yacute'] = 500;\n    t['scommaaccent'] = 500;\n    t['ecircumflex'] = 556;\n    t['Uring'] = 722;\n    t['Udieresis'] = 722;\n    t['aogonek'] = 556;\n    t['Uacute'] = 722;\n    t['uogonek'] = 556;\n    t['Edieresis'] = 667;\n    t['Dcroat'] = 722;\n    t['commaaccent'] = 250;\n    t['copyright'] = 737;\n    t['Emacron'] = 667;\n    t['ccaron'] = 500;\n    t['aring'] = 556;\n    t['Ncommaaccent'] = 722;\n    t['lacute'] = 222;\n    t['agrave'] = 556;\n    t['Tcommaaccent'] = 611;\n    t['Cacute'] = 722;\n    t['atilde'] = 556;\n    t['Edotaccent'] = 667;\n    t['scaron'] = 500;\n    t['scedilla'] = 500;\n    t['iacute'] = 278;\n    t['lozenge'] = 471;\n    t['Rcaron'] = 722;\n    t['Gcommaaccent'] = 778;\n    t['ucircumflex'] = 556;\n    t['acircumflex'] = 556;\n    t['Amacron'] = 667;\n    t['rcaron'] = 333;\n    t['ccedilla'] = 500;\n    t['Zdotaccent'] = 611;\n    t['Thorn'] = 667;\n    t['Omacron'] = 778;\n    t['Racute'] = 722;\n    t['Sacute'] = 667;\n    t['dcaron'] = 643;\n    t['Umacron'] = 722;\n    t['uring'] = 556;\n    t['threesuperior'] = 333;\n    t['Ograve'] = 778;\n    t['Agrave'] = 667;\n    t['Abreve'] = 667;\n    t['multiply'] = 584;\n    t['uacute'] = 556;\n    t['Tcaron'] = 611;\n    t['partialdiff'] = 476;\n    t['ydieresis'] = 500;\n    t['Nacute'] = 722;\n    t['icircumflex'] = 278;\n    t['Ecircumflex'] = 667;\n    t['adieresis'] = 556;\n    t['edieresis'] = 556;\n    t['cacute'] = 500;\n    t['nacute'] = 556;\n    t['umacron'] = 556;\n    t['Ncaron'] = 722;\n    t['Iacute'] = 278;\n    t['plusminus'] = 584;\n    t['brokenbar'] = 260;\n    t['registered'] = 737;\n    t['Gbreve'] = 778;\n    t['Idotaccent'] = 278;\n    t['summation'] = 600;\n    t['Egrave'] = 667;\n    t['racute'] = 333;\n    t['omacron'] = 556;\n    t['Zacute'] = 611;\n    t['Zcaron'] = 611;\n    t['greaterequal'] = 549;\n    t['Eth'] = 722;\n    t['Ccedilla'] = 722;\n    t['lcommaaccent'] = 222;\n    t['tcaron'] = 317;\n    t['eogonek'] = 556;\n    t['Uogonek'] = 722;\n    t['Aacute'] = 667;\n    t['Adieresis'] = 667;\n    t['egrave'] = 556;\n    t['zacute'] = 500;\n    t['iogonek'] = 222;\n    t['Oacute'] = 778;\n    t['oacute'] = 556;\n    t['amacron'] = 556;\n    t['sacute'] = 500;\n    t['idieresis'] = 278;\n    t['Ocircumflex'] = 778;\n    t['Ugrave'] = 722;\n    t['Delta'] = 612;\n    t['thorn'] = 556;\n    t['twosuperior'] = 333;\n    t['Odieresis'] = 778;\n    t['mu'] = 556;\n    t['igrave'] = 278;\n    t['ohungarumlaut'] = 556;\n    t['Eogonek'] = 667;\n    t['dcroat'] = 556;\n    t['threequarters'] = 834;\n    t['Scedilla'] = 667;\n    t['lcaron'] = 299;\n    t['Kcommaaccent'] = 667;\n    t['Lacute'] = 556;\n    t['trademark'] = 1000;\n    t['edotaccent'] = 556;\n    t['Igrave'] = 278;\n    t['Imacron'] = 278;\n    t['Lcaron'] = 556;\n    t['onehalf'] = 834;\n    t['lessequal'] = 549;\n    t['ocircumflex'] = 556;\n    t['ntilde'] = 556;\n    t['Uhungarumlaut'] = 722;\n    t['Eacute'] = 667;\n    t['emacron'] = 556;\n    t['gbreve'] = 556;\n    t['onequarter'] = 834;\n    t['Scaron'] = 667;\n    t['Scommaaccent'] = 667;\n    t['Ohungarumlaut'] = 778;\n    t['degree'] = 400;\n    t['ograve'] = 556;\n    t['Ccaron'] = 722;\n    t['ugrave'] = 556;\n    t['radical'] = 453;\n    t['Dcaron'] = 722;\n    t['rcommaaccent'] = 333;\n    t['Ntilde'] = 722;\n    t['otilde'] = 556;\n    t['Rcommaaccent'] = 722;\n    t['Lcommaaccent'] = 556;\n    t['Atilde'] = 667;\n    t['Aogonek'] = 667;\n    t['Aring'] = 667;\n    t['Otilde'] = 778;\n    t['zdotaccent'] = 500;\n    t['Ecaron'] = 667;\n    t['Iogonek'] = 278;\n    t['kcommaaccent'] = 500;\n    t['minus'] = 584;\n    t['Icircumflex'] = 278;\n    t['ncaron'] = 556;\n    t['tcommaaccent'] = 278;\n    t['logicalnot'] = 584;\n    t['odieresis'] = 556;\n    t['udieresis'] = 556;\n    t['notequal'] = 549;\n    t['gcommaaccent'] = 556;\n    t['eth'] = 556;\n    t['zcaron'] = 500;\n    t['ncommaaccent'] = 556;\n    t['onesuperior'] = 333;\n    t['imacron'] = 278;\n    t['Euro'] = 556;\n  });\n  t['Symbol'] = (0, _util.getLookupTableFactory)(function (t) {\n    t['space'] = 250;\n    t['exclam'] = 333;\n    t['universal'] = 713;\n    t['numbersign'] = 500;\n    t['existential'] = 549;\n    t['percent'] = 833;\n    t['ampersand'] = 778;\n    t['suchthat'] = 439;\n    t['parenleft'] = 333;\n    t['parenright'] = 333;\n    t['asteriskmath'] = 500;\n    t['plus'] = 549;\n    t['comma'] = 250;\n    t['minus'] = 549;\n    t['period'] = 250;\n    t['slash'] = 278;\n    t['zero'] = 500;\n    t['one'] = 500;\n    t['two'] = 500;\n    t['three'] = 500;\n    t['four'] = 500;\n    t['five'] = 500;\n    t['six'] = 500;\n    t['seven'] = 500;\n    t['eight'] = 500;\n    t['nine'] = 500;\n    t['colon'] = 278;\n    t['semicolon'] = 278;\n    t['less'] = 549;\n    t['equal'] = 549;\n    t['greater'] = 549;\n    t['question'] = 444;\n    t['congruent'] = 549;\n    t['Alpha'] = 722;\n    t['Beta'] = 667;\n    t['Chi'] = 722;\n    t['Delta'] = 612;\n    t['Epsilon'] = 611;\n    t['Phi'] = 763;\n    t['Gamma'] = 603;\n    t['Eta'] = 722;\n    t['Iota'] = 333;\n    t['theta1'] = 631;\n    t['Kappa'] = 722;\n    t['Lambda'] = 686;\n    t['Mu'] = 889;\n    t['Nu'] = 722;\n    t['Omicron'] = 722;\n    t['Pi'] = 768;\n    t['Theta'] = 741;\n    t['Rho'] = 556;\n    t['Sigma'] = 592;\n    t['Tau'] = 611;\n    t['Upsilon'] = 690;\n    t['sigma1'] = 439;\n    t['Omega'] = 768;\n    t['Xi'] = 645;\n    t['Psi'] = 795;\n    t['Zeta'] = 611;\n    t['bracketleft'] = 333;\n    t['therefore'] = 863;\n    t['bracketright'] = 333;\n    t['perpendicular'] = 658;\n    t['underscore'] = 500;\n    t['radicalex'] = 500;\n    t['alpha'] = 631;\n    t['beta'] = 549;\n    t['chi'] = 549;\n    t['delta'] = 494;\n    t['epsilon'] = 439;\n    t['phi'] = 521;\n    t['gamma'] = 411;\n    t['eta'] = 603;\n    t['iota'] = 329;\n    t['phi1'] = 603;\n    t['kappa'] = 549;\n    t['lambda'] = 549;\n    t['mu'] = 576;\n    t['nu'] = 521;\n    t['omicron'] = 549;\n    t['pi'] = 549;\n    t['theta'] = 521;\n    t['rho'] = 549;\n    t['sigma'] = 603;\n    t['tau'] = 439;\n    t['upsilon'] = 576;\n    t['omega1'] = 713;\n    t['omega'] = 686;\n    t['xi'] = 493;\n    t['psi'] = 686;\n    t['zeta'] = 494;\n    t['braceleft'] = 480;\n    t['bar'] = 200;\n    t['braceright'] = 480;\n    t['similar'] = 549;\n    t['Euro'] = 750;\n    t['Upsilon1'] = 620;\n    t['minute'] = 247;\n    t['lessequal'] = 549;\n    t['fraction'] = 167;\n    t['infinity'] = 713;\n    t['florin'] = 500;\n    t['club'] = 753;\n    t['diamond'] = 753;\n    t['heart'] = 753;\n    t['spade'] = 753;\n    t['arrowboth'] = 1042;\n    t['arrowleft'] = 987;\n    t['arrowup'] = 603;\n    t['arrowright'] = 987;\n    t['arrowdown'] = 603;\n    t['degree'] = 400;\n    t['plusminus'] = 549;\n    t['second'] = 411;\n    t['greaterequal'] = 549;\n    t['multiply'] = 549;\n    t['proportional'] = 713;\n    t['partialdiff'] = 494;\n    t['bullet'] = 460;\n    t['divide'] = 549;\n    t['notequal'] = 549;\n    t['equivalence'] = 549;\n    t['approxequal'] = 549;\n    t['ellipsis'] = 1000;\n    t['arrowvertex'] = 603;\n    t['arrowhorizex'] = 1000;\n    t['carriagereturn'] = 658;\n    t['aleph'] = 823;\n    t['Ifraktur'] = 686;\n    t['Rfraktur'] = 795;\n    t['weierstrass'] = 987;\n    t['circlemultiply'] = 768;\n    t['circleplus'] = 768;\n    t['emptyset'] = 823;\n    t['intersection'] = 768;\n    t['union'] = 768;\n    t['propersuperset'] = 713;\n    t['reflexsuperset'] = 713;\n    t['notsubset'] = 713;\n    t['propersubset'] = 713;\n    t['reflexsubset'] = 713;\n    t['element'] = 713;\n    t['notelement'] = 713;\n    t['angle'] = 768;\n    t['gradient'] = 713;\n    t['registerserif'] = 790;\n    t['copyrightserif'] = 790;\n    t['trademarkserif'] = 890;\n    t['product'] = 823;\n    t['radical'] = 549;\n    t['dotmath'] = 250;\n    t['logicalnot'] = 713;\n    t['logicaland'] = 603;\n    t['logicalor'] = 603;\n    t['arrowdblboth'] = 1042;\n    t['arrowdblleft'] = 987;\n    t['arrowdblup'] = 603;\n    t['arrowdblright'] = 987;\n    t['arrowdbldown'] = 603;\n    t['lozenge'] = 494;\n    t['angleleft'] = 329;\n    t['registersans'] = 790;\n    t['copyrightsans'] = 790;\n    t['trademarksans'] = 786;\n    t['summation'] = 713;\n    t['parenlefttp'] = 384;\n    t['parenleftex'] = 384;\n    t['parenleftbt'] = 384;\n    t['bracketlefttp'] = 384;\n    t['bracketleftex'] = 384;\n    t['bracketleftbt'] = 384;\n    t['bracelefttp'] = 494;\n    t['braceleftmid'] = 494;\n    t['braceleftbt'] = 494;\n    t['braceex'] = 494;\n    t['angleright'] = 329;\n    t['integral'] = 274;\n    t['integraltp'] = 686;\n    t['integralex'] = 686;\n    t['integralbt'] = 686;\n    t['parenrighttp'] = 384;\n    t['parenrightex'] = 384;\n    t['parenrightbt'] = 384;\n    t['bracketrighttp'] = 384;\n    t['bracketrightex'] = 384;\n    t['bracketrightbt'] = 384;\n    t['bracerighttp'] = 494;\n    t['bracerightmid'] = 494;\n    t['bracerightbt'] = 494;\n    t['apple'] = 790;\n  });\n  t['Times-Roman'] = (0, _util.getLookupTableFactory)(function (t) {\n    t['space'] = 250;\n    t['exclam'] = 333;\n    t['quotedbl'] = 408;\n    t['numbersign'] = 500;\n    t['dollar'] = 500;\n    t['percent'] = 833;\n    t['ampersand'] = 778;\n    t['quoteright'] = 333;\n    t['parenleft'] = 333;\n    t['parenright'] = 333;\n    t['asterisk'] = 500;\n    t['plus'] = 564;\n    t['comma'] = 250;\n    t['hyphen'] = 333;\n    t['period'] = 250;\n    t['slash'] = 278;\n    t['zero'] = 500;\n    t['one'] = 500;\n    t['two'] = 500;\n    t['three'] = 500;\n    t['four'] = 500;\n    t['five'] = 500;\n    t['six'] = 500;\n    t['seven'] = 500;\n    t['eight'] = 500;\n    t['nine'] = 500;\n    t['colon'] = 278;\n    t['semicolon'] = 278;\n    t['less'] = 564;\n    t['equal'] = 564;\n    t['greater'] = 564;\n    t['question'] = 444;\n    t['at'] = 921;\n    t['A'] = 722;\n    t['B'] = 667;\n    t['C'] = 667;\n    t['D'] = 722;\n    t['E'] = 611;\n    t['F'] = 556;\n    t['G'] = 722;\n    t['H'] = 722;\n    t['I'] = 333;\n    t['J'] = 389;\n    t['K'] = 722;\n    t['L'] = 611;\n    t['M'] = 889;\n    t['N'] = 722;\n    t['O'] = 722;\n    t['P'] = 556;\n    t['Q'] = 722;\n    t['R'] = 667;\n    t['S'] = 556;\n    t['T'] = 611;\n    t['U'] = 722;\n    t['V'] = 722;\n    t['W'] = 944;\n    t['X'] = 722;\n    t['Y'] = 722;\n    t['Z'] = 611;\n    t['bracketleft'] = 333;\n    t['backslash'] = 278;\n    t['bracketright'] = 333;\n    t['asciicircum'] = 469;\n    t['underscore'] = 500;\n    t['quoteleft'] = 333;\n    t['a'] = 444;\n    t['b'] = 500;\n    t['c'] = 444;\n    t['d'] = 500;\n    t['e'] = 444;\n    t['f'] = 333;\n    t['g'] = 500;\n    t['h'] = 500;\n    t['i'] = 278;\n    t['j'] = 278;\n    t['k'] = 500;\n    t['l'] = 278;\n    t['m'] = 778;\n    t['n'] = 500;\n    t['o'] = 500;\n    t['p'] = 500;\n    t['q'] = 500;\n    t['r'] = 333;\n    t['s'] = 389;\n    t['t'] = 278;\n    t['u'] = 500;\n    t['v'] = 500;\n    t['w'] = 722;\n    t['x'] = 500;\n    t['y'] = 500;\n    t['z'] = 444;\n    t['braceleft'] = 480;\n    t['bar'] = 200;\n    t['braceright'] = 480;\n    t['asciitilde'] = 541;\n    t['exclamdown'] = 333;\n    t['cent'] = 500;\n    t['sterling'] = 500;\n    t['fraction'] = 167;\n    t['yen'] = 500;\n    t['florin'] = 500;\n    t['section'] = 500;\n    t['currency'] = 500;\n    t['quotesingle'] = 180;\n    t['quotedblleft'] = 444;\n    t['guillemotleft'] = 500;\n    t['guilsinglleft'] = 333;\n    t['guilsinglright'] = 333;\n    t['fi'] = 556;\n    t['fl'] = 556;\n    t['endash'] = 500;\n    t['dagger'] = 500;\n    t['daggerdbl'] = 500;\n    t['periodcentered'] = 250;\n    t['paragraph'] = 453;\n    t['bullet'] = 350;\n    t['quotesinglbase'] = 333;\n    t['quotedblbase'] = 444;\n    t['quotedblright'] = 444;\n    t['guillemotright'] = 500;\n    t['ellipsis'] = 1000;\n    t['perthousand'] = 1000;\n    t['questiondown'] = 444;\n    t['grave'] = 333;\n    t['acute'] = 333;\n    t['circumflex'] = 333;\n    t['tilde'] = 333;\n    t['macron'] = 333;\n    t['breve'] = 333;\n    t['dotaccent'] = 333;\n    t['dieresis'] = 333;\n    t['ring'] = 333;\n    t['cedilla'] = 333;\n    t['hungarumlaut'] = 333;\n    t['ogonek'] = 333;\n    t['caron'] = 333;\n    t['emdash'] = 1000;\n    t['AE'] = 889;\n    t['ordfeminine'] = 276;\n    t['Lslash'] = 611;\n    t['Oslash'] = 722;\n    t['OE'] = 889;\n    t['ordmasculine'] = 310;\n    t['ae'] = 667;\n    t['dotlessi'] = 278;\n    t['lslash'] = 278;\n    t['oslash'] = 500;\n    t['oe'] = 722;\n    t['germandbls'] = 500;\n    t['Idieresis'] = 333;\n    t['eacute'] = 444;\n    t['abreve'] = 444;\n    t['uhungarumlaut'] = 500;\n    t['ecaron'] = 444;\n    t['Ydieresis'] = 722;\n    t['divide'] = 564;\n    t['Yacute'] = 722;\n    t['Acircumflex'] = 722;\n    t['aacute'] = 444;\n    t['Ucircumflex'] = 722;\n    t['yacute'] = 500;\n    t['scommaaccent'] = 389;\n    t['ecircumflex'] = 444;\n    t['Uring'] = 722;\n    t['Udieresis'] = 722;\n    t['aogonek'] = 444;\n    t['Uacute'] = 722;\n    t['uogonek'] = 500;\n    t['Edieresis'] = 611;\n    t['Dcroat'] = 722;\n    t['commaaccent'] = 250;\n    t['copyright'] = 760;\n    t['Emacron'] = 611;\n    t['ccaron'] = 444;\n    t['aring'] = 444;\n    t['Ncommaaccent'] = 722;\n    t['lacute'] = 278;\n    t['agrave'] = 444;\n    t['Tcommaaccent'] = 611;\n    t['Cacute'] = 667;\n    t['atilde'] = 444;\n    t['Edotaccent'] = 611;\n    t['scaron'] = 389;\n    t['scedilla'] = 389;\n    t['iacute'] = 278;\n    t['lozenge'] = 471;\n    t['Rcaron'] = 667;\n    t['Gcommaaccent'] = 722;\n    t['ucircumflex'] = 500;\n    t['acircumflex'] = 444;\n    t['Amacron'] = 722;\n    t['rcaron'] = 333;\n    t['ccedilla'] = 444;\n    t['Zdotaccent'] = 611;\n    t['Thorn'] = 556;\n    t['Omacron'] = 722;\n    t['Racute'] = 667;\n    t['Sacute'] = 556;\n    t['dcaron'] = 588;\n    t['Umacron'] = 722;\n    t['uring'] = 500;\n    t['threesuperior'] = 300;\n    t['Ograve'] = 722;\n    t['Agrave'] = 722;\n    t['Abreve'] = 722;\n    t['multiply'] = 564;\n    t['uacute'] = 500;\n    t['Tcaron'] = 611;\n    t['partialdiff'] = 476;\n    t['ydieresis'] = 500;\n    t['Nacute'] = 722;\n    t['icircumflex'] = 278;\n    t['Ecircumflex'] = 611;\n    t['adieresis'] = 444;\n    t['edieresis'] = 444;\n    t['cacute'] = 444;\n    t['nacute'] = 500;\n    t['umacron'] = 500;\n    t['Ncaron'] = 722;\n    t['Iacute'] = 333;\n    t['plusminus'] = 564;\n    t['brokenbar'] = 200;\n    t['registered'] = 760;\n    t['Gbreve'] = 722;\n    t['Idotaccent'] = 333;\n    t['summation'] = 600;\n    t['Egrave'] = 611;\n    t['racute'] = 333;\n    t['omacron'] = 500;\n    t['Zacute'] = 611;\n    t['Zcaron'] = 611;\n    t['greaterequal'] = 549;\n    t['Eth'] = 722;\n    t['Ccedilla'] = 667;\n    t['lcommaaccent'] = 278;\n    t['tcaron'] = 326;\n    t['eogonek'] = 444;\n    t['Uogonek'] = 722;\n    t['Aacute'] = 722;\n    t['Adieresis'] = 722;\n    t['egrave'] = 444;\n    t['zacute'] = 444;\n    t['iogonek'] = 278;\n    t['Oacute'] = 722;\n    t['oacute'] = 500;\n    t['amacron'] = 444;\n    t['sacute'] = 389;\n    t['idieresis'] = 278;\n    t['Ocircumflex'] = 722;\n    t['Ugrave'] = 722;\n    t['Delta'] = 612;\n    t['thorn'] = 500;\n    t['twosuperior'] = 300;\n    t['Odieresis'] = 722;\n    t['mu'] = 500;\n    t['igrave'] = 278;\n    t['ohungarumlaut'] = 500;\n    t['Eogonek'] = 611;\n    t['dcroat'] = 500;\n    t['threequarters'] = 750;\n    t['Scedilla'] = 556;\n    t['lcaron'] = 344;\n    t['Kcommaaccent'] = 722;\n    t['Lacute'] = 611;\n    t['trademark'] = 980;\n    t['edotaccent'] = 444;\n    t['Igrave'] = 333;\n    t['Imacron'] = 333;\n    t['Lcaron'] = 611;\n    t['onehalf'] = 750;\n    t['lessequal'] = 549;\n    t['ocircumflex'] = 500;\n    t['ntilde'] = 500;\n    t['Uhungarumlaut'] = 722;\n    t['Eacute'] = 611;\n    t['emacron'] = 444;\n    t['gbreve'] = 500;\n    t['onequarter'] = 750;\n    t['Scaron'] = 556;\n    t['Scommaaccent'] = 556;\n    t['Ohungarumlaut'] = 722;\n    t['degree'] = 400;\n    t['ograve'] = 500;\n    t['Ccaron'] = 667;\n    t['ugrave'] = 500;\n    t['radical'] = 453;\n    t['Dcaron'] = 722;\n    t['rcommaaccent'] = 333;\n    t['Ntilde'] = 722;\n    t['otilde'] = 500;\n    t['Rcommaaccent'] = 667;\n    t['Lcommaaccent'] = 611;\n    t['Atilde'] = 722;\n    t['Aogonek'] = 722;\n    t['Aring'] = 722;\n    t['Otilde'] = 722;\n    t['zdotaccent'] = 444;\n    t['Ecaron'] = 611;\n    t['Iogonek'] = 333;\n    t['kcommaaccent'] = 500;\n    t['minus'] = 564;\n    t['Icircumflex'] = 333;\n    t['ncaron'] = 500;\n    t['tcommaaccent'] = 278;\n    t['logicalnot'] = 564;\n    t['odieresis'] = 500;\n    t['udieresis'] = 500;\n    t['notequal'] = 549;\n    t['gcommaaccent'] = 500;\n    t['eth'] = 500;\n    t['zcaron'] = 444;\n    t['ncommaaccent'] = 500;\n    t['onesuperior'] = 300;\n    t['imacron'] = 278;\n    t['Euro'] = 500;\n  });\n  t['Times-Bold'] = (0, _util.getLookupTableFactory)(function (t) {\n    t['space'] = 250;\n    t['exclam'] = 333;\n    t['quotedbl'] = 555;\n    t['numbersign'] = 500;\n    t['dollar'] = 500;\n    t['percent'] = 1000;\n    t['ampersand'] = 833;\n    t['quoteright'] = 333;\n    t['parenleft'] = 333;\n    t['parenright'] = 333;\n    t['asterisk'] = 500;\n    t['plus'] = 570;\n    t['comma'] = 250;\n    t['hyphen'] = 333;\n    t['period'] = 250;\n    t['slash'] = 278;\n    t['zero'] = 500;\n    t['one'] = 500;\n    t['two'] = 500;\n    t['three'] = 500;\n    t['four'] = 500;\n    t['five'] = 500;\n    t['six'] = 500;\n    t['seven'] = 500;\n    t['eight'] = 500;\n    t['nine'] = 500;\n    t['colon'] = 333;\n    t['semicolon'] = 333;\n    t['less'] = 570;\n    t['equal'] = 570;\n    t['greater'] = 570;\n    t['question'] = 500;\n    t['at'] = 930;\n    t['A'] = 722;\n    t['B'] = 667;\n    t['C'] = 722;\n    t['D'] = 722;\n    t['E'] = 667;\n    t['F'] = 611;\n    t['G'] = 778;\n    t['H'] = 778;\n    t['I'] = 389;\n    t['J'] = 500;\n    t['K'] = 778;\n    t['L'] = 667;\n    t['M'] = 944;\n    t['N'] = 722;\n    t['O'] = 778;\n    t['P'] = 611;\n    t['Q'] = 778;\n    t['R'] = 722;\n    t['S'] = 556;\n    t['T'] = 667;\n    t['U'] = 722;\n    t['V'] = 722;\n    t['W'] = 1000;\n    t['X'] = 722;\n    t['Y'] = 722;\n    t['Z'] = 667;\n    t['bracketleft'] = 333;\n    t['backslash'] = 278;\n    t['bracketright'] = 333;\n    t['asciicircum'] = 581;\n    t['underscore'] = 500;\n    t['quoteleft'] = 333;\n    t['a'] = 500;\n    t['b'] = 556;\n    t['c'] = 444;\n    t['d'] = 556;\n    t['e'] = 444;\n    t['f'] = 333;\n    t['g'] = 500;\n    t['h'] = 556;\n    t['i'] = 278;\n    t['j'] = 333;\n    t['k'] = 556;\n    t['l'] = 278;\n    t['m'] = 833;\n    t['n'] = 556;\n    t['o'] = 500;\n    t['p'] = 556;\n    t['q'] = 556;\n    t['r'] = 444;\n    t['s'] = 389;\n    t['t'] = 333;\n    t['u'] = 556;\n    t['v'] = 500;\n    t['w'] = 722;\n    t['x'] = 500;\n    t['y'] = 500;\n    t['z'] = 444;\n    t['braceleft'] = 394;\n    t['bar'] = 220;\n    t['braceright'] = 394;\n    t['asciitilde'] = 520;\n    t['exclamdown'] = 333;\n    t['cent'] = 500;\n    t['sterling'] = 500;\n    t['fraction'] = 167;\n    t['yen'] = 500;\n    t['florin'] = 500;\n    t['section'] = 500;\n    t['currency'] = 500;\n    t['quotesingle'] = 278;\n    t['quotedblleft'] = 500;\n    t['guillemotleft'] = 500;\n    t['guilsinglleft'] = 333;\n    t['guilsinglright'] = 333;\n    t['fi'] = 556;\n    t['fl'] = 556;\n    t['endash'] = 500;\n    t['dagger'] = 500;\n    t['daggerdbl'] = 500;\n    t['periodcentered'] = 250;\n    t['paragraph'] = 540;\n    t['bullet'] = 350;\n    t['quotesinglbase'] = 333;\n    t['quotedblbase'] = 500;\n    t['quotedblright'] = 500;\n    t['guillemotright'] = 500;\n    t['ellipsis'] = 1000;\n    t['perthousand'] = 1000;\n    t['questiondown'] = 500;\n    t['grave'] = 333;\n    t['acute'] = 333;\n    t['circumflex'] = 333;\n    t['tilde'] = 333;\n    t['macron'] = 333;\n    t['breve'] = 333;\n    t['dotaccent'] = 333;\n    t['dieresis'] = 333;\n    t['ring'] = 333;\n    t['cedilla'] = 333;\n    t['hungarumlaut'] = 333;\n    t['ogonek'] = 333;\n    t['caron'] = 333;\n    t['emdash'] = 1000;\n    t['AE'] = 1000;\n    t['ordfeminine'] = 300;\n    t['Lslash'] = 667;\n    t['Oslash'] = 778;\n    t['OE'] = 1000;\n    t['ordmasculine'] = 330;\n    t['ae'] = 722;\n    t['dotlessi'] = 278;\n    t['lslash'] = 278;\n    t['oslash'] = 500;\n    t['oe'] = 722;\n    t['germandbls'] = 556;\n    t['Idieresis'] = 389;\n    t['eacute'] = 444;\n    t['abreve'] = 500;\n    t['uhungarumlaut'] = 556;\n    t['ecaron'] = 444;\n    t['Ydieresis'] = 722;\n    t['divide'] = 570;\n    t['Yacute'] = 722;\n    t['Acircumflex'] = 722;\n    t['aacute'] = 500;\n    t['Ucircumflex'] = 722;\n    t['yacute'] = 500;\n    t['scommaaccent'] = 389;\n    t['ecircumflex'] = 444;\n    t['Uring'] = 722;\n    t['Udieresis'] = 722;\n    t['aogonek'] = 500;\n    t['Uacute'] = 722;\n    t['uogonek'] = 556;\n    t['Edieresis'] = 667;\n    t['Dcroat'] = 722;\n    t['commaaccent'] = 250;\n    t['copyright'] = 747;\n    t['Emacron'] = 667;\n    t['ccaron'] = 444;\n    t['aring'] = 500;\n    t['Ncommaaccent'] = 722;\n    t['lacute'] = 278;\n    t['agrave'] = 500;\n    t['Tcommaaccent'] = 667;\n    t['Cacute'] = 722;\n    t['atilde'] = 500;\n    t['Edotaccent'] = 667;\n    t['scaron'] = 389;\n    t['scedilla'] = 389;\n    t['iacute'] = 278;\n    t['lozenge'] = 494;\n    t['Rcaron'] = 722;\n    t['Gcommaaccent'] = 778;\n    t['ucircumflex'] = 556;\n    t['acircumflex'] = 500;\n    t['Amacron'] = 722;\n    t['rcaron'] = 444;\n    t['ccedilla'] = 444;\n    t['Zdotaccent'] = 667;\n    t['Thorn'] = 611;\n    t['Omacron'] = 778;\n    t['Racute'] = 722;\n    t['Sacute'] = 556;\n    t['dcaron'] = 672;\n    t['Umacron'] = 722;\n    t['uring'] = 556;\n    t['threesuperior'] = 300;\n    t['Ograve'] = 778;\n    t['Agrave'] = 722;\n    t['Abreve'] = 722;\n    t['multiply'] = 570;\n    t['uacute'] = 556;\n    t['Tcaron'] = 667;\n    t['partialdiff'] = 494;\n    t['ydieresis'] = 500;\n    t['Nacute'] = 722;\n    t['icircumflex'] = 278;\n    t['Ecircumflex'] = 667;\n    t['adieresis'] = 500;\n    t['edieresis'] = 444;\n    t['cacute'] = 444;\n    t['nacute'] = 556;\n    t['umacron'] = 556;\n    t['Ncaron'] = 722;\n    t['Iacute'] = 389;\n    t['plusminus'] = 570;\n    t['brokenbar'] = 220;\n    t['registered'] = 747;\n    t['Gbreve'] = 778;\n    t['Idotaccent'] = 389;\n    t['summation'] = 600;\n    t['Egrave'] = 667;\n    t['racute'] = 444;\n    t['omacron'] = 500;\n    t['Zacute'] = 667;\n    t['Zcaron'] = 667;\n    t['greaterequal'] = 549;\n    t['Eth'] = 722;\n    t['Ccedilla'] = 722;\n    t['lcommaaccent'] = 278;\n    t['tcaron'] = 416;\n    t['eogonek'] = 444;\n    t['Uogonek'] = 722;\n    t['Aacute'] = 722;\n    t['Adieresis'] = 722;\n    t['egrave'] = 444;\n    t['zacute'] = 444;\n    t['iogonek'] = 278;\n    t['Oacute'] = 778;\n    t['oacute'] = 500;\n    t['amacron'] = 500;\n    t['sacute'] = 389;\n    t['idieresis'] = 278;\n    t['Ocircumflex'] = 778;\n    t['Ugrave'] = 722;\n    t['Delta'] = 612;\n    t['thorn'] = 556;\n    t['twosuperior'] = 300;\n    t['Odieresis'] = 778;\n    t['mu'] = 556;\n    t['igrave'] = 278;\n    t['ohungarumlaut'] = 500;\n    t['Eogonek'] = 667;\n    t['dcroat'] = 556;\n    t['threequarters'] = 750;\n    t['Scedilla'] = 556;\n    t['lcaron'] = 394;\n    t['Kcommaaccent'] = 778;\n    t['Lacute'] = 667;\n    t['trademark'] = 1000;\n    t['edotaccent'] = 444;\n    t['Igrave'] = 389;\n    t['Imacron'] = 389;\n    t['Lcaron'] = 667;\n    t['onehalf'] = 750;\n    t['lessequal'] = 549;\n    t['ocircumflex'] = 500;\n    t['ntilde'] = 556;\n    t['Uhungarumlaut'] = 722;\n    t['Eacute'] = 667;\n    t['emacron'] = 444;\n    t['gbreve'] = 500;\n    t['onequarter'] = 750;\n    t['Scaron'] = 556;\n    t['Scommaaccent'] = 556;\n    t['Ohungarumlaut'] = 778;\n    t['degree'] = 400;\n    t['ograve'] = 500;\n    t['Ccaron'] = 722;\n    t['ugrave'] = 556;\n    t['radical'] = 549;\n    t['Dcaron'] = 722;\n    t['rcommaaccent'] = 444;\n    t['Ntilde'] = 722;\n    t['otilde'] = 500;\n    t['Rcommaaccent'] = 722;\n    t['Lcommaaccent'] = 667;\n    t['Atilde'] = 722;\n    t['Aogonek'] = 722;\n    t['Aring'] = 722;\n    t['Otilde'] = 778;\n    t['zdotaccent'] = 444;\n    t['Ecaron'] = 667;\n    t['Iogonek'] = 389;\n    t['kcommaaccent'] = 556;\n    t['minus'] = 570;\n    t['Icircumflex'] = 389;\n    t['ncaron'] = 556;\n    t['tcommaaccent'] = 333;\n    t['logicalnot'] = 570;\n    t['odieresis'] = 500;\n    t['udieresis'] = 556;\n    t['notequal'] = 549;\n    t['gcommaaccent'] = 500;\n    t['eth'] = 500;\n    t['zcaron'] = 444;\n    t['ncommaaccent'] = 556;\n    t['onesuperior'] = 300;\n    t['imacron'] = 278;\n    t['Euro'] = 500;\n  });\n  t['Times-BoldItalic'] = (0, _util.getLookupTableFactory)(function (t) {\n    t['space'] = 250;\n    t['exclam'] = 389;\n    t['quotedbl'] = 555;\n    t['numbersign'] = 500;\n    t['dollar'] = 500;\n    t['percent'] = 833;\n    t['ampersand'] = 778;\n    t['quoteright'] = 333;\n    t['parenleft'] = 333;\n    t['parenright'] = 333;\n    t['asterisk'] = 500;\n    t['plus'] = 570;\n    t['comma'] = 250;\n    t['hyphen'] = 333;\n    t['period'] = 250;\n    t['slash'] = 278;\n    t['zero'] = 500;\n    t['one'] = 500;\n    t['two'] = 500;\n    t['three'] = 500;\n    t['four'] = 500;\n    t['five'] = 500;\n    t['six'] = 500;\n    t['seven'] = 500;\n    t['eight'] = 500;\n    t['nine'] = 500;\n    t['colon'] = 333;\n    t['semicolon'] = 333;\n    t['less'] = 570;\n    t['equal'] = 570;\n    t['greater'] = 570;\n    t['question'] = 500;\n    t['at'] = 832;\n    t['A'] = 667;\n    t['B'] = 667;\n    t['C'] = 667;\n    t['D'] = 722;\n    t['E'] = 667;\n    t['F'] = 667;\n    t['G'] = 722;\n    t['H'] = 778;\n    t['I'] = 389;\n    t['J'] = 500;\n    t['K'] = 667;\n    t['L'] = 611;\n    t['M'] = 889;\n    t['N'] = 722;\n    t['O'] = 722;\n    t['P'] = 611;\n    t['Q'] = 722;\n    t['R'] = 667;\n    t['S'] = 556;\n    t['T'] = 611;\n    t['U'] = 722;\n    t['V'] = 667;\n    t['W'] = 889;\n    t['X'] = 667;\n    t['Y'] = 611;\n    t['Z'] = 611;\n    t['bracketleft'] = 333;\n    t['backslash'] = 278;\n    t['bracketright'] = 333;\n    t['asciicircum'] = 570;\n    t['underscore'] = 500;\n    t['quoteleft'] = 333;\n    t['a'] = 500;\n    t['b'] = 500;\n    t['c'] = 444;\n    t['d'] = 500;\n    t['e'] = 444;\n    t['f'] = 333;\n    t['g'] = 500;\n    t['h'] = 556;\n    t['i'] = 278;\n    t['j'] = 278;\n    t['k'] = 500;\n    t['l'] = 278;\n    t['m'] = 778;\n    t['n'] = 556;\n    t['o'] = 500;\n    t['p'] = 500;\n    t['q'] = 500;\n    t['r'] = 389;\n    t['s'] = 389;\n    t['t'] = 278;\n    t['u'] = 556;\n    t['v'] = 444;\n    t['w'] = 667;\n    t['x'] = 500;\n    t['y'] = 444;\n    t['z'] = 389;\n    t['braceleft'] = 348;\n    t['bar'] = 220;\n    t['braceright'] = 348;\n    t['asciitilde'] = 570;\n    t['exclamdown'] = 389;\n    t['cent'] = 500;\n    t['sterling'] = 500;\n    t['fraction'] = 167;\n    t['yen'] = 500;\n    t['florin'] = 500;\n    t['section'] = 500;\n    t['currency'] = 500;\n    t['quotesingle'] = 278;\n    t['quotedblleft'] = 500;\n    t['guillemotleft'] = 500;\n    t['guilsinglleft'] = 333;\n    t['guilsinglright'] = 333;\n    t['fi'] = 556;\n    t['fl'] = 556;\n    t['endash'] = 500;\n    t['dagger'] = 500;\n    t['daggerdbl'] = 500;\n    t['periodcentered'] = 250;\n    t['paragraph'] = 500;\n    t['bullet'] = 350;\n    t['quotesinglbase'] = 333;\n    t['quotedblbase'] = 500;\n    t['quotedblright'] = 500;\n    t['guillemotright'] = 500;\n    t['ellipsis'] = 1000;\n    t['perthousand'] = 1000;\n    t['questiondown'] = 500;\n    t['grave'] = 333;\n    t['acute'] = 333;\n    t['circumflex'] = 333;\n    t['tilde'] = 333;\n    t['macron'] = 333;\n    t['breve'] = 333;\n    t['dotaccent'] = 333;\n    t['dieresis'] = 333;\n    t['ring'] = 333;\n    t['cedilla'] = 333;\n    t['hungarumlaut'] = 333;\n    t['ogonek'] = 333;\n    t['caron'] = 333;\n    t['emdash'] = 1000;\n    t['AE'] = 944;\n    t['ordfeminine'] = 266;\n    t['Lslash'] = 611;\n    t['Oslash'] = 722;\n    t['OE'] = 944;\n    t['ordmasculine'] = 300;\n    t['ae'] = 722;\n    t['dotlessi'] = 278;\n    t['lslash'] = 278;\n    t['oslash'] = 500;\n    t['oe'] = 722;\n    t['germandbls'] = 500;\n    t['Idieresis'] = 389;\n    t['eacute'] = 444;\n    t['abreve'] = 500;\n    t['uhungarumlaut'] = 556;\n    t['ecaron'] = 444;\n    t['Ydieresis'] = 611;\n    t['divide'] = 570;\n    t['Yacute'] = 611;\n    t['Acircumflex'] = 667;\n    t['aacute'] = 500;\n    t['Ucircumflex'] = 722;\n    t['yacute'] = 444;\n    t['scommaaccent'] = 389;\n    t['ecircumflex'] = 444;\n    t['Uring'] = 722;\n    t['Udieresis'] = 722;\n    t['aogonek'] = 500;\n    t['Uacute'] = 722;\n    t['uogonek'] = 556;\n    t['Edieresis'] = 667;\n    t['Dcroat'] = 722;\n    t['commaaccent'] = 250;\n    t['copyright'] = 747;\n    t['Emacron'] = 667;\n    t['ccaron'] = 444;\n    t['aring'] = 500;\n    t['Ncommaaccent'] = 722;\n    t['lacute'] = 278;\n    t['agrave'] = 500;\n    t['Tcommaaccent'] = 611;\n    t['Cacute'] = 667;\n    t['atilde'] = 500;\n    t['Edotaccent'] = 667;\n    t['scaron'] = 389;\n    t['scedilla'] = 389;\n    t['iacute'] = 278;\n    t['lozenge'] = 494;\n    t['Rcaron'] = 667;\n    t['Gcommaaccent'] = 722;\n    t['ucircumflex'] = 556;\n    t['acircumflex'] = 500;\n    t['Amacron'] = 667;\n    t['rcaron'] = 389;\n    t['ccedilla'] = 444;\n    t['Zdotaccent'] = 611;\n    t['Thorn'] = 611;\n    t['Omacron'] = 722;\n    t['Racute'] = 667;\n    t['Sacute'] = 556;\n    t['dcaron'] = 608;\n    t['Umacron'] = 722;\n    t['uring'] = 556;\n    t['threesuperior'] = 300;\n    t['Ograve'] = 722;\n    t['Agrave'] = 667;\n    t['Abreve'] = 667;\n    t['multiply'] = 570;\n    t['uacute'] = 556;\n    t['Tcaron'] = 611;\n    t['partialdiff'] = 494;\n    t['ydieresis'] = 444;\n    t['Nacute'] = 722;\n    t['icircumflex'] = 278;\n    t['Ecircumflex'] = 667;\n    t['adieresis'] = 500;\n    t['edieresis'] = 444;\n    t['cacute'] = 444;\n    t['nacute'] = 556;\n    t['umacron'] = 556;\n    t['Ncaron'] = 722;\n    t['Iacute'] = 389;\n    t['plusminus'] = 570;\n    t['brokenbar'] = 220;\n    t['registered'] = 747;\n    t['Gbreve'] = 722;\n    t['Idotaccent'] = 389;\n    t['summation'] = 600;\n    t['Egrave'] = 667;\n    t['racute'] = 389;\n    t['omacron'] = 500;\n    t['Zacute'] = 611;\n    t['Zcaron'] = 611;\n    t['greaterequal'] = 549;\n    t['Eth'] = 722;\n    t['Ccedilla'] = 667;\n    t['lcommaaccent'] = 278;\n    t['tcaron'] = 366;\n    t['eogonek'] = 444;\n    t['Uogonek'] = 722;\n    t['Aacute'] = 667;\n    t['Adieresis'] = 667;\n    t['egrave'] = 444;\n    t['zacute'] = 389;\n    t['iogonek'] = 278;\n    t['Oacute'] = 722;\n    t['oacute'] = 500;\n    t['amacron'] = 500;\n    t['sacute'] = 389;\n    t['idieresis'] = 278;\n    t['Ocircumflex'] = 722;\n    t['Ugrave'] = 722;\n    t['Delta'] = 612;\n    t['thorn'] = 500;\n    t['twosuperior'] = 300;\n    t['Odieresis'] = 722;\n    t['mu'] = 576;\n    t['igrave'] = 278;\n    t['ohungarumlaut'] = 500;\n    t['Eogonek'] = 667;\n    t['dcroat'] = 500;\n    t['threequarters'] = 750;\n    t['Scedilla'] = 556;\n    t['lcaron'] = 382;\n    t['Kcommaaccent'] = 667;\n    t['Lacute'] = 611;\n    t['trademark'] = 1000;\n    t['edotaccent'] = 444;\n    t['Igrave'] = 389;\n    t['Imacron'] = 389;\n    t['Lcaron'] = 611;\n    t['onehalf'] = 750;\n    t['lessequal'] = 549;\n    t['ocircumflex'] = 500;\n    t['ntilde'] = 556;\n    t['Uhungarumlaut'] = 722;\n    t['Eacute'] = 667;\n    t['emacron'] = 444;\n    t['gbreve'] = 500;\n    t['onequarter'] = 750;\n    t['Scaron'] = 556;\n    t['Scommaaccent'] = 556;\n    t['Ohungarumlaut'] = 722;\n    t['degree'] = 400;\n    t['ograve'] = 500;\n    t['Ccaron'] = 667;\n    t['ugrave'] = 556;\n    t['radical'] = 549;\n    t['Dcaron'] = 722;\n    t['rcommaaccent'] = 389;\n    t['Ntilde'] = 722;\n    t['otilde'] = 500;\n    t['Rcommaaccent'] = 667;\n    t['Lcommaaccent'] = 611;\n    t['Atilde'] = 667;\n    t['Aogonek'] = 667;\n    t['Aring'] = 667;\n    t['Otilde'] = 722;\n    t['zdotaccent'] = 389;\n    t['Ecaron'] = 667;\n    t['Iogonek'] = 389;\n    t['kcommaaccent'] = 500;\n    t['minus'] = 606;\n    t['Icircumflex'] = 389;\n    t['ncaron'] = 556;\n    t['tcommaaccent'] = 278;\n    t['logicalnot'] = 606;\n    t['odieresis'] = 500;\n    t['udieresis'] = 556;\n    t['notequal'] = 549;\n    t['gcommaaccent'] = 500;\n    t['eth'] = 500;\n    t['zcaron'] = 389;\n    t['ncommaaccent'] = 556;\n    t['onesuperior'] = 300;\n    t['imacron'] = 278;\n    t['Euro'] = 500;\n  });\n  t['Times-Italic'] = (0, _util.getLookupTableFactory)(function (t) {\n    t['space'] = 250;\n    t['exclam'] = 333;\n    t['quotedbl'] = 420;\n    t['numbersign'] = 500;\n    t['dollar'] = 500;\n    t['percent'] = 833;\n    t['ampersand'] = 778;\n    t['quoteright'] = 333;\n    t['parenleft'] = 333;\n    t['parenright'] = 333;\n    t['asterisk'] = 500;\n    t['plus'] = 675;\n    t['comma'] = 250;\n    t['hyphen'] = 333;\n    t['period'] = 250;\n    t['slash'] = 278;\n    t['zero'] = 500;\n    t['one'] = 500;\n    t['two'] = 500;\n    t['three'] = 500;\n    t['four'] = 500;\n    t['five'] = 500;\n    t['six'] = 500;\n    t['seven'] = 500;\n    t['eight'] = 500;\n    t['nine'] = 500;\n    t['colon'] = 333;\n    t['semicolon'] = 333;\n    t['less'] = 675;\n    t['equal'] = 675;\n    t['greater'] = 675;\n    t['question'] = 500;\n    t['at'] = 920;\n    t['A'] = 611;\n    t['B'] = 611;\n    t['C'] = 667;\n    t['D'] = 722;\n    t['E'] = 611;\n    t['F'] = 611;\n    t['G'] = 722;\n    t['H'] = 722;\n    t['I'] = 333;\n    t['J'] = 444;\n    t['K'] = 667;\n    t['L'] = 556;\n    t['M'] = 833;\n    t['N'] = 667;\n    t['O'] = 722;\n    t['P'] = 611;\n    t['Q'] = 722;\n    t['R'] = 611;\n    t['S'] = 500;\n    t['T'] = 556;\n    t['U'] = 722;\n    t['V'] = 611;\n    t['W'] = 833;\n    t['X'] = 611;\n    t['Y'] = 556;\n    t['Z'] = 556;\n    t['bracketleft'] = 389;\n    t['backslash'] = 278;\n    t['bracketright'] = 389;\n    t['asciicircum'] = 422;\n    t['underscore'] = 500;\n    t['quoteleft'] = 333;\n    t['a'] = 500;\n    t['b'] = 500;\n    t['c'] = 444;\n    t['d'] = 500;\n    t['e'] = 444;\n    t['f'] = 278;\n    t['g'] = 500;\n    t['h'] = 500;\n    t['i'] = 278;\n    t['j'] = 278;\n    t['k'] = 444;\n    t['l'] = 278;\n    t['m'] = 722;\n    t['n'] = 500;\n    t['o'] = 500;\n    t['p'] = 500;\n    t['q'] = 500;\n    t['r'] = 389;\n    t['s'] = 389;\n    t['t'] = 278;\n    t['u'] = 500;\n    t['v'] = 444;\n    t['w'] = 667;\n    t['x'] = 444;\n    t['y'] = 444;\n    t['z'] = 389;\n    t['braceleft'] = 400;\n    t['bar'] = 275;\n    t['braceright'] = 400;\n    t['asciitilde'] = 541;\n    t['exclamdown'] = 389;\n    t['cent'] = 500;\n    t['sterling'] = 500;\n    t['fraction'] = 167;\n    t['yen'] = 500;\n    t['florin'] = 500;\n    t['section'] = 500;\n    t['currency'] = 500;\n    t['quotesingle'] = 214;\n    t['quotedblleft'] = 556;\n    t['guillemotleft'] = 500;\n    t['guilsinglleft'] = 333;\n    t['guilsinglright'] = 333;\n    t['fi'] = 500;\n    t['fl'] = 500;\n    t['endash'] = 500;\n    t['dagger'] = 500;\n    t['daggerdbl'] = 500;\n    t['periodcentered'] = 250;\n    t['paragraph'] = 523;\n    t['bullet'] = 350;\n    t['quotesinglbase'] = 333;\n    t['quotedblbase'] = 556;\n    t['quotedblright'] = 556;\n    t['guillemotright'] = 500;\n    t['ellipsis'] = 889;\n    t['perthousand'] = 1000;\n    t['questiondown'] = 500;\n    t['grave'] = 333;\n    t['acute'] = 333;\n    t['circumflex'] = 333;\n    t['tilde'] = 333;\n    t['macron'] = 333;\n    t['breve'] = 333;\n    t['dotaccent'] = 333;\n    t['dieresis'] = 333;\n    t['ring'] = 333;\n    t['cedilla'] = 333;\n    t['hungarumlaut'] = 333;\n    t['ogonek'] = 333;\n    t['caron'] = 333;\n    t['emdash'] = 889;\n    t['AE'] = 889;\n    t['ordfeminine'] = 276;\n    t['Lslash'] = 556;\n    t['Oslash'] = 722;\n    t['OE'] = 944;\n    t['ordmasculine'] = 310;\n    t['ae'] = 667;\n    t['dotlessi'] = 278;\n    t['lslash'] = 278;\n    t['oslash'] = 500;\n    t['oe'] = 667;\n    t['germandbls'] = 500;\n    t['Idieresis'] = 333;\n    t['eacute'] = 444;\n    t['abreve'] = 500;\n    t['uhungarumlaut'] = 500;\n    t['ecaron'] = 444;\n    t['Ydieresis'] = 556;\n    t['divide'] = 675;\n    t['Yacute'] = 556;\n    t['Acircumflex'] = 611;\n    t['aacute'] = 500;\n    t['Ucircumflex'] = 722;\n    t['yacute'] = 444;\n    t['scommaaccent'] = 389;\n    t['ecircumflex'] = 444;\n    t['Uring'] = 722;\n    t['Udieresis'] = 722;\n    t['aogonek'] = 500;\n    t['Uacute'] = 722;\n    t['uogonek'] = 500;\n    t['Edieresis'] = 611;\n    t['Dcroat'] = 722;\n    t['commaaccent'] = 250;\n    t['copyright'] = 760;\n    t['Emacron'] = 611;\n    t['ccaron'] = 444;\n    t['aring'] = 500;\n    t['Ncommaaccent'] = 667;\n    t['lacute'] = 278;\n    t['agrave'] = 500;\n    t['Tcommaaccent'] = 556;\n    t['Cacute'] = 667;\n    t['atilde'] = 500;\n    t['Edotaccent'] = 611;\n    t['scaron'] = 389;\n    t['scedilla'] = 389;\n    t['iacute'] = 278;\n    t['lozenge'] = 471;\n    t['Rcaron'] = 611;\n    t['Gcommaaccent'] = 722;\n    t['ucircumflex'] = 500;\n    t['acircumflex'] = 500;\n    t['Amacron'] = 611;\n    t['rcaron'] = 389;\n    t['ccedilla'] = 444;\n    t['Zdotaccent'] = 556;\n    t['Thorn'] = 611;\n    t['Omacron'] = 722;\n    t['Racute'] = 611;\n    t['Sacute'] = 500;\n    t['dcaron'] = 544;\n    t['Umacron'] = 722;\n    t['uring'] = 500;\n    t['threesuperior'] = 300;\n    t['Ograve'] = 722;\n    t['Agrave'] = 611;\n    t['Abreve'] = 611;\n    t['multiply'] = 675;\n    t['uacute'] = 500;\n    t['Tcaron'] = 556;\n    t['partialdiff'] = 476;\n    t['ydieresis'] = 444;\n    t['Nacute'] = 667;\n    t['icircumflex'] = 278;\n    t['Ecircumflex'] = 611;\n    t['adieresis'] = 500;\n    t['edieresis'] = 444;\n    t['cacute'] = 444;\n    t['nacute'] = 500;\n    t['umacron'] = 500;\n    t['Ncaron'] = 667;\n    t['Iacute'] = 333;\n    t['plusminus'] = 675;\n    t['brokenbar'] = 275;\n    t['registered'] = 760;\n    t['Gbreve'] = 722;\n    t['Idotaccent'] = 333;\n    t['summation'] = 600;\n    t['Egrave'] = 611;\n    t['racute'] = 389;\n    t['omacron'] = 500;\n    t['Zacute'] = 556;\n    t['Zcaron'] = 556;\n    t['greaterequal'] = 549;\n    t['Eth'] = 722;\n    t['Ccedilla'] = 667;\n    t['lcommaaccent'] = 278;\n    t['tcaron'] = 300;\n    t['eogonek'] = 444;\n    t['Uogonek'] = 722;\n    t['Aacute'] = 611;\n    t['Adieresis'] = 611;\n    t['egrave'] = 444;\n    t['zacute'] = 389;\n    t['iogonek'] = 278;\n    t['Oacute'] = 722;\n    t['oacute'] = 500;\n    t['amacron'] = 500;\n    t['sacute'] = 389;\n    t['idieresis'] = 278;\n    t['Ocircumflex'] = 722;\n    t['Ugrave'] = 722;\n    t['Delta'] = 612;\n    t['thorn'] = 500;\n    t['twosuperior'] = 300;\n    t['Odieresis'] = 722;\n    t['mu'] = 500;\n    t['igrave'] = 278;\n    t['ohungarumlaut'] = 500;\n    t['Eogonek'] = 611;\n    t['dcroat'] = 500;\n    t['threequarters'] = 750;\n    t['Scedilla'] = 500;\n    t['lcaron'] = 300;\n    t['Kcommaaccent'] = 667;\n    t['Lacute'] = 556;\n    t['trademark'] = 980;\n    t['edotaccent'] = 444;\n    t['Igrave'] = 333;\n    t['Imacron'] = 333;\n    t['Lcaron'] = 611;\n    t['onehalf'] = 750;\n    t['lessequal'] = 549;\n    t['ocircumflex'] = 500;\n    t['ntilde'] = 500;\n    t['Uhungarumlaut'] = 722;\n    t['Eacute'] = 611;\n    t['emacron'] = 444;\n    t['gbreve'] = 500;\n    t['onequarter'] = 750;\n    t['Scaron'] = 500;\n    t['Scommaaccent'] = 500;\n    t['Ohungarumlaut'] = 722;\n    t['degree'] = 400;\n    t['ograve'] = 500;\n    t['Ccaron'] = 667;\n    t['ugrave'] = 500;\n    t['radical'] = 453;\n    t['Dcaron'] = 722;\n    t['rcommaaccent'] = 389;\n    t['Ntilde'] = 667;\n    t['otilde'] = 500;\n    t['Rcommaaccent'] = 611;\n    t['Lcommaaccent'] = 556;\n    t['Atilde'] = 611;\n    t['Aogonek'] = 611;\n    t['Aring'] = 611;\n    t['Otilde'] = 722;\n    t['zdotaccent'] = 389;\n    t['Ecaron'] = 611;\n    t['Iogonek'] = 333;\n    t['kcommaaccent'] = 444;\n    t['minus'] = 675;\n    t['Icircumflex'] = 333;\n    t['ncaron'] = 500;\n    t['tcommaaccent'] = 278;\n    t['logicalnot'] = 675;\n    t['odieresis'] = 500;\n    t['udieresis'] = 500;\n    t['notequal'] = 549;\n    t['gcommaaccent'] = 500;\n    t['eth'] = 500;\n    t['zcaron'] = 389;\n    t['ncommaaccent'] = 500;\n    t['onesuperior'] = 300;\n    t['imacron'] = 278;\n    t['Euro'] = 500;\n  });\n  t['ZapfDingbats'] = (0, _util.getLookupTableFactory)(function (t) {\n    t['space'] = 278;\n    t['a1'] = 974;\n    t['a2'] = 961;\n    t['a202'] = 974;\n    t['a3'] = 980;\n    t['a4'] = 719;\n    t['a5'] = 789;\n    t['a119'] = 790;\n    t['a118'] = 791;\n    t['a117'] = 690;\n    t['a11'] = 960;\n    t['a12'] = 939;\n    t['a13'] = 549;\n    t['a14'] = 855;\n    t['a15'] = 911;\n    t['a16'] = 933;\n    t['a105'] = 911;\n    t['a17'] = 945;\n    t['a18'] = 974;\n    t['a19'] = 755;\n    t['a20'] = 846;\n    t['a21'] = 762;\n    t['a22'] = 761;\n    t['a23'] = 571;\n    t['a24'] = 677;\n    t['a25'] = 763;\n    t['a26'] = 760;\n    t['a27'] = 759;\n    t['a28'] = 754;\n    t['a6'] = 494;\n    t['a7'] = 552;\n    t['a8'] = 537;\n    t['a9'] = 577;\n    t['a10'] = 692;\n    t['a29'] = 786;\n    t['a30'] = 788;\n    t['a31'] = 788;\n    t['a32'] = 790;\n    t['a33'] = 793;\n    t['a34'] = 794;\n    t['a35'] = 816;\n    t['a36'] = 823;\n    t['a37'] = 789;\n    t['a38'] = 841;\n    t['a39'] = 823;\n    t['a40'] = 833;\n    t['a41'] = 816;\n    t['a42'] = 831;\n    t['a43'] = 923;\n    t['a44'] = 744;\n    t['a45'] = 723;\n    t['a46'] = 749;\n    t['a47'] = 790;\n    t['a48'] = 792;\n    t['a49'] = 695;\n    t['a50'] = 776;\n    t['a51'] = 768;\n    t['a52'] = 792;\n    t['a53'] = 759;\n    t['a54'] = 707;\n    t['a55'] = 708;\n    t['a56'] = 682;\n    t['a57'] = 701;\n    t['a58'] = 826;\n    t['a59'] = 815;\n    t['a60'] = 789;\n    t['a61'] = 789;\n    t['a62'] = 707;\n    t['a63'] = 687;\n    t['a64'] = 696;\n    t['a65'] = 689;\n    t['a66'] = 786;\n    t['a67'] = 787;\n    t['a68'] = 713;\n    t['a69'] = 791;\n    t['a70'] = 785;\n    t['a71'] = 791;\n    t['a72'] = 873;\n    t['a73'] = 761;\n    t['a74'] = 762;\n    t['a203'] = 762;\n    t['a75'] = 759;\n    t['a204'] = 759;\n    t['a76'] = 892;\n    t['a77'] = 892;\n    t['a78'] = 788;\n    t['a79'] = 784;\n    t['a81'] = 438;\n    t['a82'] = 138;\n    t['a83'] = 277;\n    t['a84'] = 415;\n    t['a97'] = 392;\n    t['a98'] = 392;\n    t['a99'] = 668;\n    t['a100'] = 668;\n    t['a89'] = 390;\n    t['a90'] = 390;\n    t['a93'] = 317;\n    t['a94'] = 317;\n    t['a91'] = 276;\n    t['a92'] = 276;\n    t['a205'] = 509;\n    t['a85'] = 509;\n    t['a206'] = 410;\n    t['a86'] = 410;\n    t['a87'] = 234;\n    t['a88'] = 234;\n    t['a95'] = 334;\n    t['a96'] = 334;\n    t['a101'] = 732;\n    t['a102'] = 544;\n    t['a103'] = 544;\n    t['a104'] = 910;\n    t['a106'] = 667;\n    t['a107'] = 760;\n    t['a108'] = 760;\n    t['a112'] = 776;\n    t['a111'] = 595;\n    t['a110'] = 694;\n    t['a109'] = 626;\n    t['a120'] = 788;\n    t['a121'] = 788;\n    t['a122'] = 788;\n    t['a123'] = 788;\n    t['a124'] = 788;\n    t['a125'] = 788;\n    t['a126'] = 788;\n    t['a127'] = 788;\n    t['a128'] = 788;\n    t['a129'] = 788;\n    t['a130'] = 788;\n    t['a131'] = 788;\n    t['a132'] = 788;\n    t['a133'] = 788;\n    t['a134'] = 788;\n    t['a135'] = 788;\n    t['a136'] = 788;\n    t['a137'] = 788;\n    t['a138'] = 788;\n    t['a139'] = 788;\n    t['a140'] = 788;\n    t['a141'] = 788;\n    t['a142'] = 788;\n    t['a143'] = 788;\n    t['a144'] = 788;\n    t['a145'] = 788;\n    t['a146'] = 788;\n    t['a147'] = 788;\n    t['a148'] = 788;\n    t['a149'] = 788;\n    t['a150'] = 788;\n    t['a151'] = 788;\n    t['a152'] = 788;\n    t['a153'] = 788;\n    t['a154'] = 788;\n    t['a155'] = 788;\n    t['a156'] = 788;\n    t['a157'] = 788;\n    t['a158'] = 788;\n    t['a159'] = 788;\n    t['a160'] = 894;\n    t['a161'] = 838;\n    t['a163'] = 1016;\n    t['a164'] = 458;\n    t['a196'] = 748;\n    t['a165'] = 924;\n    t['a192'] = 748;\n    t['a166'] = 918;\n    t['a167'] = 927;\n    t['a168'] = 928;\n    t['a169'] = 928;\n    t['a170'] = 834;\n    t['a171'] = 873;\n    t['a172'] = 828;\n    t['a173'] = 924;\n    t['a162'] = 924;\n    t['a174'] = 917;\n    t['a175'] = 930;\n    t['a176'] = 931;\n    t['a177'] = 463;\n    t['a178'] = 883;\n    t['a179'] = 836;\n    t['a193'] = 836;\n    t['a180'] = 867;\n    t['a199'] = 867;\n    t['a181'] = 696;\n    t['a200'] = 696;\n    t['a182'] = 874;\n    t['a201'] = 874;\n    t['a183'] = 760;\n    t['a184'] = 946;\n    t['a197'] = 771;\n    t['a185'] = 865;\n    t['a194'] = 771;\n    t['a198'] = 888;\n    t['a186'] = 967;\n    t['a195'] = 888;\n    t['a187'] = 831;\n    t['a188'] = 873;\n    t['a189'] = 927;\n    t['a190'] = 970;\n    t['a191'] = 918;\n  });\n});\nexports.getMetrics = getMetrics;\n\n/***/ }),\n/* 156 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.PostScriptParser = exports.PostScriptLexer = undefined;\n\nvar _util = __w_pdfjs_require__(0);\n\nvar _primitives = __w_pdfjs_require__(2);\n\nvar PostScriptParser = function PostScriptParserClosure() {\n  function PostScriptParser(lexer) {\n    this.lexer = lexer;\n    this.operators = [];\n    this.token = null;\n    this.prev = null;\n  }\n  PostScriptParser.prototype = {\n    nextToken: function PostScriptParser_nextToken() {\n      this.prev = this.token;\n      this.token = this.lexer.getToken();\n    },\n    accept: function PostScriptParser_accept(type) {\n      if (this.token.type === type) {\n        this.nextToken();\n        return true;\n      }\n      return false;\n    },\n    expect: function PostScriptParser_expect(type) {\n      if (this.accept(type)) {\n        return true;\n      }\n      throw new _util.FormatError('Unexpected symbol: found ' + this.token.type + ' expected ' + type + '.');\n    },\n    parse: function PostScriptParser_parse() {\n      this.nextToken();\n      this.expect(PostScriptTokenTypes.LBRACE);\n      this.parseBlock();\n      this.expect(PostScriptTokenTypes.RBRACE);\n      return this.operators;\n    },\n    parseBlock: function PostScriptParser_parseBlock() {\n      while (true) {\n        if (this.accept(PostScriptTokenTypes.NUMBER)) {\n          this.operators.push(this.prev.value);\n        } else if (this.accept(PostScriptTokenTypes.OPERATOR)) {\n          this.operators.push(this.prev.value);\n        } else if (this.accept(PostScriptTokenTypes.LBRACE)) {\n          this.parseCondition();\n        } else {\n          return;\n        }\n      }\n    },\n    parseCondition: function PostScriptParser_parseCondition() {\n      var conditionLocation = this.operators.length;\n      this.operators.push(null, null);\n      this.parseBlock();\n      this.expect(PostScriptTokenTypes.RBRACE);\n      if (this.accept(PostScriptTokenTypes.IF)) {\n        this.operators[conditionLocation] = this.operators.length;\n        this.operators[conditionLocation + 1] = 'jz';\n      } else if (this.accept(PostScriptTokenTypes.LBRACE)) {\n        var jumpLocation = this.operators.length;\n        this.operators.push(null, null);\n        var endOfTrue = this.operators.length;\n        this.parseBlock();\n        this.expect(PostScriptTokenTypes.RBRACE);\n        this.expect(PostScriptTokenTypes.IFELSE);\n        this.operators[jumpLocation] = this.operators.length;\n        this.operators[jumpLocation + 1] = 'j';\n        this.operators[conditionLocation] = endOfTrue;\n        this.operators[conditionLocation + 1] = 'jz';\n      } else {\n        throw new _util.FormatError('PS Function: error parsing conditional.');\n      }\n    }\n  };\n  return PostScriptParser;\n}();\nvar PostScriptTokenTypes = {\n  LBRACE: 0,\n  RBRACE: 1,\n  NUMBER: 2,\n  OPERATOR: 3,\n  IF: 4,\n  IFELSE: 5\n};\nvar PostScriptToken = function PostScriptTokenClosure() {\n  function PostScriptToken(type, value) {\n    this.type = type;\n    this.value = value;\n  }\n  var opCache = Object.create(null);\n  PostScriptToken.getOperator = function PostScriptToken_getOperator(op) {\n    var opValue = opCache[op];\n    if (opValue) {\n      return opValue;\n    }\n    return opCache[op] = new PostScriptToken(PostScriptTokenTypes.OPERATOR, op);\n  };\n  PostScriptToken.LBRACE = new PostScriptToken(PostScriptTokenTypes.LBRACE, '{');\n  PostScriptToken.RBRACE = new PostScriptToken(PostScriptTokenTypes.RBRACE, '}');\n  PostScriptToken.IF = new PostScriptToken(PostScriptTokenTypes.IF, 'IF');\n  PostScriptToken.IFELSE = new PostScriptToken(PostScriptTokenTypes.IFELSE, 'IFELSE');\n  return PostScriptToken;\n}();\nvar PostScriptLexer = function PostScriptLexerClosure() {\n  function PostScriptLexer(stream) {\n    this.stream = stream;\n    this.nextChar();\n    this.strBuf = [];\n  }\n  PostScriptLexer.prototype = {\n    nextChar: function PostScriptLexer_nextChar() {\n      return this.currentChar = this.stream.getByte();\n    },\n    getToken: function PostScriptLexer_getToken() {\n      var comment = false;\n      var ch = this.currentChar;\n      while (true) {\n        if (ch < 0) {\n          return _primitives.EOF;\n        }\n        if (comment) {\n          if (ch === 0x0A || ch === 0x0D) {\n            comment = false;\n          }\n        } else if (ch === 0x25) {\n          comment = true;\n        } else if (!(0, _util.isSpace)(ch)) {\n          break;\n        }\n        ch = this.nextChar();\n      }\n      switch (ch | 0) {\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n        case 0x2B:\n        case 0x2D:\n        case 0x2E:\n          return new PostScriptToken(PostScriptTokenTypes.NUMBER, this.getNumber());\n        case 0x7B:\n          this.nextChar();\n          return PostScriptToken.LBRACE;\n        case 0x7D:\n          this.nextChar();\n          return PostScriptToken.RBRACE;\n      }\n      var strBuf = this.strBuf;\n      strBuf.length = 0;\n      strBuf[0] = String.fromCharCode(ch);\n      while ((ch = this.nextChar()) >= 0 && (ch >= 0x41 && ch <= 0x5A || ch >= 0x61 && ch <= 0x7A)) {\n        strBuf.push(String.fromCharCode(ch));\n      }\n      var str = strBuf.join('');\n      switch (str.toLowerCase()) {\n        case 'if':\n          return PostScriptToken.IF;\n        case 'ifelse':\n          return PostScriptToken.IFELSE;\n        default:\n          return PostScriptToken.getOperator(str);\n      }\n    },\n    getNumber: function PostScriptLexer_getNumber() {\n      var ch = this.currentChar;\n      var strBuf = this.strBuf;\n      strBuf.length = 0;\n      strBuf[0] = String.fromCharCode(ch);\n      while ((ch = this.nextChar()) >= 0) {\n        if (ch >= 0x30 && ch <= 0x39 || ch === 0x2D || ch === 0x2E) {\n          strBuf.push(String.fromCharCode(ch));\n        } else {\n          break;\n        }\n      }\n      var value = parseFloat(strBuf.join(''));\n      if (isNaN(value)) {\n        throw new _util.FormatError('Invalid floating point number: ' + value);\n      }\n      return value;\n    }\n  };\n  return PostScriptLexer;\n}();\nexports.PostScriptLexer = PostScriptLexer;\nexports.PostScriptParser = PostScriptParser;\n\n/***/ }),\n/* 157 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\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 && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar MurmurHash3_64 = function MurmurHash3_64Closure(seed) {\n  var MASK_HIGH = 0xffff0000;\n  var MASK_LOW = 0xffff;\n  function MurmurHash3_64(seed) {\n    var SEED = 0xc3d2e1f0;\n    this.h1 = seed ? seed & 0xffffffff : SEED;\n    this.h2 = seed ? seed & 0xffffffff : SEED;\n  }\n  MurmurHash3_64.prototype = {\n    update: function MurmurHash3_64_update(input) {\n      var i;\n      if (typeof input === 'string') {\n        var data = new Uint8Array(input.length * 2);\n        var length = 0;\n        for (i = 0; i < input.length; i++) {\n          var code = input.charCodeAt(i);\n          if (code <= 0xff) {\n            data[length++] = code;\n          } else {\n            data[length++] = code >>> 8;\n            data[length++] = code & 0xff;\n          }\n        }\n      } else if ((typeof input === 'undefined' ? 'undefined' : _typeof(input)) === 'object' && 'byteLength' in input) {\n        data = input;\n        length = data.byteLength;\n      } else {\n        throw new Error('Wrong data format in MurmurHash3_64_update. ' + 'Input must be a string or array.');\n      }\n      var blockCounts = length >> 2;\n      var tailLength = length - blockCounts * 4;\n      var dataUint32 = new Uint32Array(data.buffer, 0, blockCounts);\n      var k1 = 0;\n      var k2 = 0;\n      var h1 = this.h1;\n      var h2 = this.h2;\n      var C1 = 0xcc9e2d51;\n      var C2 = 0x1b873593;\n      var C1_LOW = C1 & MASK_LOW;\n      var C2_LOW = C2 & MASK_LOW;\n      for (i = 0; i < blockCounts; i++) {\n        if (i & 1) {\n          k1 = dataUint32[i];\n          k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;\n          k1 = k1 << 15 | k1 >>> 17;\n          k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;\n          h1 ^= k1;\n          h1 = h1 << 13 | h1 >>> 19;\n          h1 = h1 * 5 + 0xe6546b64;\n        } else {\n          k2 = dataUint32[i];\n          k2 = k2 * C1 & MASK_HIGH | k2 * C1_LOW & MASK_LOW;\n          k2 = k2 << 15 | k2 >>> 17;\n          k2 = k2 * C2 & MASK_HIGH | k2 * C2_LOW & MASK_LOW;\n          h2 ^= k2;\n          h2 = h2 << 13 | h2 >>> 19;\n          h2 = h2 * 5 + 0xe6546b64;\n        }\n      }\n      k1 = 0;\n      switch (tailLength) {\n        case 3:\n          k1 ^= data[blockCounts * 4 + 2] << 16;\n        case 2:\n          k1 ^= data[blockCounts * 4 + 1] << 8;\n        case 1:\n          k1 ^= data[blockCounts * 4];\n          k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;\n          k1 = k1 << 15 | k1 >>> 17;\n          k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;\n          if (blockCounts & 1) {\n            h1 ^= k1;\n          } else {\n            h2 ^= k1;\n          }\n      }\n      this.h1 = h1;\n      this.h2 = h2;\n      return this;\n    },\n    hexdigest: function MurmurHash3_64_hexdigest() {\n      var h1 = this.h1;\n      var h2 = this.h2;\n      h1 ^= h2 >>> 1;\n      h1 = h1 * 0xed558ccd & MASK_HIGH | h1 * 0x8ccd & MASK_LOW;\n      h2 = h2 * 0xff51afd7 & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xafd7ed55 & MASK_HIGH) >>> 16;\n      h1 ^= h2 >>> 1;\n      h1 = h1 * 0x1a85ec53 & MASK_HIGH | h1 * 0xec53 & MASK_LOW;\n      h2 = h2 * 0xc4ceb9fe & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xb9fe1a85 & MASK_HIGH) >>> 16;\n      h1 ^= h2 >>> 1;\n      for (var i = 0, arr = [h1, h2], str = ''; i < arr.length; i++) {\n        var hex = (arr[i] >>> 0).toString(16);\n        while (hex.length < 8) {\n          hex = '0' + hex;\n        }\n        str += hex;\n      }\n      return str;\n    }\n  };\n  return MurmurHash3_64;\n}();\nexports.MurmurHash3_64 = MurmurHash3_64;\n\n/***/ }),\n/* 158 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.PDFImage = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _util = __w_pdfjs_require__(0);\n\nvar _stream = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(2);\n\nvar _colorspace = __w_pdfjs_require__(29);\n\nvar _jpx = __w_pdfjs_require__(80);\n\nvar PDFImage = function PDFImageClosure() {\n  function handleImageData(image, nativeDecoder) {\n    if (nativeDecoder && nativeDecoder.canDecode(image)) {\n      return nativeDecoder.decode(image);\n    }\n    return Promise.resolve(image);\n  }\n  function decodeAndClamp(value, addend, coefficient, max) {\n    value = addend + value * coefficient;\n    return value < 0 ? 0 : value > max ? max : value;\n  }\n  function resizeImageMask(src, bpc, w1, h1, w2, h2) {\n    var length = w2 * h2;\n    var dest = bpc <= 8 ? new Uint8Array(length) : bpc <= 16 ? new Uint16Array(length) : new Uint32Array(length);\n    var xRatio = w1 / w2;\n    var yRatio = h1 / h2;\n    var i,\n        j,\n        py,\n        newIndex = 0,\n        oldIndex;\n    var xScaled = new Uint16Array(w2);\n    var w1Scanline = w1;\n    for (i = 0; i < w2; i++) {\n      xScaled[i] = Math.floor(i * xRatio);\n    }\n    for (i = 0; i < h2; i++) {\n      py = Math.floor(i * yRatio) * w1Scanline;\n      for (j = 0; j < w2; j++) {\n        oldIndex = py + xScaled[j];\n        dest[newIndex++] = src[oldIndex];\n      }\n    }\n    return dest;\n  }\n  function PDFImage(_ref) {\n    var xref = _ref.xref,\n        res = _ref.res,\n        image = _ref.image,\n        _ref$smask = _ref.smask,\n        smask = _ref$smask === undefined ? null : _ref$smask,\n        _ref$mask = _ref.mask,\n        mask = _ref$mask === undefined ? null : _ref$mask,\n        _ref$isMask = _ref.isMask,\n        isMask = _ref$isMask === undefined ? false : _ref$isMask,\n        pdfFunctionFactory = _ref.pdfFunctionFactory;\n\n    this.image = image;\n    var dict = image.dict;\n    if (dict.has('Filter')) {\n      var filter = dict.get('Filter').name;\n      if (filter === 'JPXDecode') {\n        var jpxImage = new _jpx.JpxImage();\n        jpxImage.parseImageProperties(image.stream);\n        image.stream.reset();\n        image.bitsPerComponent = jpxImage.bitsPerComponent;\n        image.numComps = jpxImage.componentsCount;\n      } else if (filter === 'JBIG2Decode') {\n        image.bitsPerComponent = 1;\n        image.numComps = 1;\n      }\n    }\n    this.width = dict.get('Width', 'W');\n    this.height = dict.get('Height', 'H');\n    if (this.width < 1 || this.height < 1) {\n      throw new _util.FormatError('Invalid image width: ' + this.width + ' or ' + ('height: ' + this.height));\n    }\n    this.interpolate = dict.get('Interpolate', 'I') || false;\n    this.imageMask = dict.get('ImageMask', 'IM') || false;\n    this.matte = dict.get('Matte') || false;\n    var bitsPerComponent = image.bitsPerComponent;\n    if (!bitsPerComponent) {\n      bitsPerComponent = dict.get('BitsPerComponent', 'BPC');\n      if (!bitsPerComponent) {\n        if (this.imageMask) {\n          bitsPerComponent = 1;\n        } else {\n          throw new _util.FormatError('Bits per component missing in image: ' + this.imageMask);\n        }\n      }\n    }\n    this.bpc = bitsPerComponent;\n    if (!this.imageMask) {\n      var colorSpace = dict.get('ColorSpace', 'CS');\n      if (!colorSpace) {\n        (0, _util.info)('JPX images (which do not require color spaces)');\n        switch (image.numComps) {\n          case 1:\n            colorSpace = _primitives.Name.get('DeviceGray');\n            break;\n          case 3:\n            colorSpace = _primitives.Name.get('DeviceRGB');\n            break;\n          case 4:\n            colorSpace = _primitives.Name.get('DeviceCMYK');\n            break;\n          default:\n            throw new Error('JPX images with ' + this.numComps + ' ' + 'color components not supported.');\n        }\n      }\n      this.colorSpace = _colorspace.ColorSpace.parse(colorSpace, xref, res, pdfFunctionFactory);\n      this.numComps = this.colorSpace.numComps;\n    }\n    this.decode = dict.getArray('Decode', 'D');\n    this.needsDecode = false;\n    if (this.decode && (this.colorSpace && !this.colorSpace.isDefaultDecode(this.decode) || isMask && !_colorspace.ColorSpace.isDefaultDecode(this.decode, 1))) {\n      this.needsDecode = true;\n      var max = (1 << bitsPerComponent) - 1;\n      this.decodeCoefficients = [];\n      this.decodeAddends = [];\n      for (var i = 0, j = 0; i < this.decode.length; i += 2, ++j) {\n        var dmin = this.decode[i];\n        var dmax = this.decode[i + 1];\n        this.decodeCoefficients[j] = dmax - dmin;\n        this.decodeAddends[j] = max * dmin;\n      }\n    }\n    if (smask) {\n      this.smask = new PDFImage({\n        xref: xref,\n        res: res,\n        image: smask,\n        pdfFunctionFactory: pdfFunctionFactory\n      });\n    } else if (mask) {\n      if ((0, _primitives.isStream)(mask)) {\n        var maskDict = mask.dict,\n            imageMask = maskDict.get('ImageMask', 'IM');\n        if (!imageMask) {\n          (0, _util.warn)('Ignoring /Mask in image without /ImageMask.');\n        } else {\n          this.mask = new PDFImage({\n            xref: xref,\n            res: res,\n            image: mask,\n            isMask: true,\n            pdfFunctionFactory: pdfFunctionFactory\n          });\n        }\n      } else {\n        this.mask = mask;\n      }\n    }\n  }\n  PDFImage.buildImage = function (_ref2) {\n    var handler = _ref2.handler,\n        xref = _ref2.xref,\n        res = _ref2.res,\n        image = _ref2.image,\n        _ref2$nativeDecoder = _ref2.nativeDecoder,\n        nativeDecoder = _ref2$nativeDecoder === undefined ? null : _ref2$nativeDecoder,\n        pdfFunctionFactory = _ref2.pdfFunctionFactory;\n\n    var imagePromise = handleImageData(image, nativeDecoder);\n    var smaskPromise;\n    var maskPromise;\n    var smask = image.dict.get('SMask');\n    var mask = image.dict.get('Mask');\n    if (smask) {\n      smaskPromise = handleImageData(smask, nativeDecoder);\n      maskPromise = Promise.resolve(null);\n    } else {\n      smaskPromise = Promise.resolve(null);\n      if (mask) {\n        if ((0, _primitives.isStream)(mask)) {\n          maskPromise = handleImageData(mask, nativeDecoder);\n        } else if (Array.isArray(mask)) {\n          maskPromise = Promise.resolve(mask);\n        } else {\n          (0, _util.warn)('Unsupported mask format.');\n          maskPromise = Promise.resolve(null);\n        }\n      } else {\n        maskPromise = Promise.resolve(null);\n      }\n    }\n    return Promise.all([imagePromise, smaskPromise, maskPromise]).then(function (_ref3) {\n      var _ref4 = _slicedToArray(_ref3, 3),\n          imageData = _ref4[0],\n          smaskData = _ref4[1],\n          maskData = _ref4[2];\n\n      return new PDFImage({\n        xref: xref,\n        res: res,\n        image: imageData,\n        smask: smaskData,\n        mask: maskData,\n        pdfFunctionFactory: pdfFunctionFactory\n      });\n    });\n  };\n  PDFImage.createMask = function (_ref5) {\n    var imgArray = _ref5.imgArray,\n        width = _ref5.width,\n        height = _ref5.height,\n        imageIsFromDecodeStream = _ref5.imageIsFromDecodeStream,\n        inverseDecode = _ref5.inverseDecode;\n\n    var computedLength = (width + 7 >> 3) * height;\n    var actualLength = imgArray.byteLength;\n    var haveFullData = computedLength === actualLength;\n    var data, i;\n    if (imageIsFromDecodeStream && (!inverseDecode || haveFullData)) {\n      data = imgArray;\n    } else if (!inverseDecode) {\n      data = new Uint8Array(actualLength);\n      data.set(imgArray);\n    } else {\n      data = new Uint8Array(computedLength);\n      data.set(imgArray);\n      for (i = actualLength; i < computedLength; i++) {\n        data[i] = 0xff;\n      }\n    }\n    if (inverseDecode) {\n      for (i = 0; i < actualLength; i++) {\n        data[i] ^= 0xFF;\n      }\n    }\n    return {\n      data: data,\n      width: width,\n      height: height\n    };\n  };\n  PDFImage.prototype = {\n    get drawWidth() {\n      return Math.max(this.width, this.smask && this.smask.width || 0, this.mask && this.mask.width || 0);\n    },\n    get drawHeight() {\n      return Math.max(this.height, this.smask && this.smask.height || 0, this.mask && this.mask.height || 0);\n    },\n    decodeBuffer: function decodeBuffer(buffer) {\n      var bpc = this.bpc;\n      var numComps = this.numComps;\n      var decodeAddends = this.decodeAddends;\n      var decodeCoefficients = this.decodeCoefficients;\n      var max = (1 << bpc) - 1;\n      var i, ii;\n      if (bpc === 1) {\n        for (i = 0, ii = buffer.length; i < ii; i++) {\n          buffer[i] = +!buffer[i];\n        }\n        return;\n      }\n      var index = 0;\n      for (i = 0, ii = this.width * this.height; i < ii; i++) {\n        for (var j = 0; j < numComps; j++) {\n          buffer[index] = decodeAndClamp(buffer[index], decodeAddends[j], decodeCoefficients[j], max);\n          index++;\n        }\n      }\n    },\n    getComponents: function getComponents(buffer) {\n      var bpc = this.bpc;\n      if (bpc === 8) {\n        return buffer;\n      }\n      var width = this.width;\n      var height = this.height;\n      var numComps = this.numComps;\n      var length = width * height * numComps;\n      var bufferPos = 0;\n      var output = bpc <= 8 ? new Uint8Array(length) : bpc <= 16 ? new Uint16Array(length) : new Uint32Array(length);\n      var rowComps = width * numComps;\n      var max = (1 << bpc) - 1;\n      var i = 0,\n          ii,\n          buf;\n      if (bpc === 1) {\n        var mask, loop1End, loop2End;\n        for (var j = 0; j < height; j++) {\n          loop1End = i + (rowComps & ~7);\n          loop2End = i + rowComps;\n          while (i < loop1End) {\n            buf = buffer[bufferPos++];\n            output[i] = buf >> 7 & 1;\n            output[i + 1] = buf >> 6 & 1;\n            output[i + 2] = buf >> 5 & 1;\n            output[i + 3] = buf >> 4 & 1;\n            output[i + 4] = buf >> 3 & 1;\n            output[i + 5] = buf >> 2 & 1;\n            output[i + 6] = buf >> 1 & 1;\n            output[i + 7] = buf & 1;\n            i += 8;\n          }\n          if (i < loop2End) {\n            buf = buffer[bufferPos++];\n            mask = 128;\n            while (i < loop2End) {\n              output[i++] = +!!(buf & mask);\n              mask >>= 1;\n            }\n          }\n        }\n      } else {\n        var bits = 0;\n        buf = 0;\n        for (i = 0, ii = length; i < ii; ++i) {\n          if (i % rowComps === 0) {\n            buf = 0;\n            bits = 0;\n          }\n          while (bits < bpc) {\n            buf = buf << 8 | buffer[bufferPos++];\n            bits += 8;\n          }\n          var remainingBits = bits - bpc;\n          var value = buf >> remainingBits;\n          output[i] = value < 0 ? 0 : value > max ? max : value;\n          buf = buf & (1 << remainingBits) - 1;\n          bits = remainingBits;\n        }\n      }\n      return output;\n    },\n    fillOpacity: function fillOpacity(rgbaBuf, width, height, actualHeight, image) {\n      var smask = this.smask;\n      var mask = this.mask;\n      var alphaBuf, sw, sh, i, ii, j;\n      if (smask) {\n        sw = smask.width;\n        sh = smask.height;\n        alphaBuf = new Uint8Array(sw * sh);\n        smask.fillGrayBuffer(alphaBuf);\n        if (sw !== width || sh !== height) {\n          alphaBuf = resizeImageMask(alphaBuf, smask.bpc, sw, sh, width, height);\n        }\n      } else if (mask) {\n        if (mask instanceof PDFImage) {\n          sw = mask.width;\n          sh = mask.height;\n          alphaBuf = new Uint8Array(sw * sh);\n          mask.numComps = 1;\n          mask.fillGrayBuffer(alphaBuf);\n          for (i = 0, ii = sw * sh; i < ii; ++i) {\n            alphaBuf[i] = 255 - alphaBuf[i];\n          }\n          if (sw !== width || sh !== height) {\n            alphaBuf = resizeImageMask(alphaBuf, mask.bpc, sw, sh, width, height);\n          }\n        } else if (Array.isArray(mask)) {\n          alphaBuf = new Uint8Array(width * height);\n          var numComps = this.numComps;\n          for (i = 0, ii = width * height; i < ii; ++i) {\n            var opacity = 0;\n            var imageOffset = i * numComps;\n            for (j = 0; j < numComps; ++j) {\n              var color = image[imageOffset + j];\n              var maskOffset = j * 2;\n              if (color < mask[maskOffset] || color > mask[maskOffset + 1]) {\n                opacity = 255;\n                break;\n              }\n            }\n            alphaBuf[i] = opacity;\n          }\n        } else {\n          throw new _util.FormatError('Unknown mask format.');\n        }\n      }\n      if (alphaBuf) {\n        for (i = 0, j = 3, ii = width * actualHeight; i < ii; ++i, j += 4) {\n          rgbaBuf[j] = alphaBuf[i];\n        }\n      } else {\n        for (i = 0, j = 3, ii = width * actualHeight; i < ii; ++i, j += 4) {\n          rgbaBuf[j] = 255;\n        }\n      }\n    },\n    undoPreblend: function undoPreblend(buffer, width, height) {\n      var matte = this.smask && this.smask.matte;\n      if (!matte) {\n        return;\n      }\n      var matteRgb = this.colorSpace.getRgb(matte, 0);\n      var matteR = matteRgb[0];\n      var matteG = matteRgb[1];\n      var matteB = matteRgb[2];\n      var length = width * height * 4;\n      var r, g, b;\n      for (var i = 0; i < length; i += 4) {\n        var alpha = buffer[i + 3];\n        if (alpha === 0) {\n          buffer[i] = 255;\n          buffer[i + 1] = 255;\n          buffer[i + 2] = 255;\n          continue;\n        }\n        var k = 255 / alpha;\n        r = (buffer[i] - matteR) * k + matteR;\n        g = (buffer[i + 1] - matteG) * k + matteG;\n        b = (buffer[i + 2] - matteB) * k + matteB;\n        buffer[i] = r <= 0 ? 0 : r >= 255 ? 255 : r | 0;\n        buffer[i + 1] = g <= 0 ? 0 : g >= 255 ? 255 : g | 0;\n        buffer[i + 2] = b <= 0 ? 0 : b >= 255 ? 255 : b | 0;\n      }\n    },\n    createImageData: function createImageData() {\n      var forceRGBA = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n      var drawWidth = this.drawWidth;\n      var drawHeight = this.drawHeight;\n      var imgData = {\n        width: drawWidth,\n        height: drawHeight\n      };\n      var numComps = this.numComps;\n      var originalWidth = this.width;\n      var originalHeight = this.height;\n      var bpc = this.bpc;\n      var rowBytes = originalWidth * numComps * bpc + 7 >> 3;\n      var imgArray;\n      if (!forceRGBA) {\n        var kind;\n        if (this.colorSpace.name === 'DeviceGray' && bpc === 1) {\n          kind = _util.ImageKind.GRAYSCALE_1BPP;\n        } else if (this.colorSpace.name === 'DeviceRGB' && bpc === 8 && !this.needsDecode) {\n          kind = _util.ImageKind.RGB_24BPP;\n        }\n        if (kind && !this.smask && !this.mask && drawWidth === originalWidth && drawHeight === originalHeight) {\n          imgData.kind = kind;\n          imgArray = this.getImageBytes(originalHeight * rowBytes);\n          if (this.image instanceof _stream.DecodeStream) {\n            imgData.data = imgArray;\n          } else {\n            var newArray = new Uint8Array(imgArray.length);\n            newArray.set(imgArray);\n            imgData.data = newArray;\n          }\n          if (this.needsDecode) {\n            (0, _util.assert)(kind === _util.ImageKind.GRAYSCALE_1BPP);\n            var buffer = imgData.data;\n            for (var i = 0, ii = buffer.length; i < ii; i++) {\n              buffer[i] ^= 0xff;\n            }\n          }\n          return imgData;\n        }\n        if (this.image instanceof _stream.JpegStream && !this.smask && !this.mask && (this.colorSpace.name === 'DeviceGray' || this.colorSpace.name === 'DeviceRGB' || this.colorSpace.name === 'DeviceCMYK')) {\n          imgData.kind = _util.ImageKind.RGB_24BPP;\n          imgData.data = this.getImageBytes(originalHeight * rowBytes, drawWidth, drawHeight, true);\n          return imgData;\n        }\n      }\n      imgArray = this.getImageBytes(originalHeight * rowBytes);\n      var actualHeight = 0 | imgArray.length / rowBytes * drawHeight / originalHeight;\n      var comps = this.getComponents(imgArray);\n      var alpha01, maybeUndoPreblend;\n      if (!forceRGBA && !this.smask && !this.mask) {\n        imgData.kind = _util.ImageKind.RGB_24BPP;\n        imgData.data = new Uint8Array(drawWidth * drawHeight * 3);\n        alpha01 = 0;\n        maybeUndoPreblend = false;\n      } else {\n        imgData.kind = _util.ImageKind.RGBA_32BPP;\n        imgData.data = new Uint8Array(drawWidth * drawHeight * 4);\n        alpha01 = 1;\n        maybeUndoPreblend = true;\n        this.fillOpacity(imgData.data, drawWidth, drawHeight, actualHeight, comps);\n      }\n      if (this.needsDecode) {\n        this.decodeBuffer(comps);\n      }\n      this.colorSpace.fillRgb(imgData.data, originalWidth, originalHeight, drawWidth, drawHeight, actualHeight, bpc, comps, alpha01);\n      if (maybeUndoPreblend) {\n        this.undoPreblend(imgData.data, drawWidth, actualHeight);\n      }\n      return imgData;\n    },\n    fillGrayBuffer: function fillGrayBuffer(buffer) {\n      var numComps = this.numComps;\n      if (numComps !== 1) {\n        throw new _util.FormatError('Reading gray scale from a color image: ' + numComps);\n      }\n      var width = this.width;\n      var height = this.height;\n      var bpc = this.bpc;\n      var rowBytes = width * numComps * bpc + 7 >> 3;\n      var imgArray = this.getImageBytes(height * rowBytes);\n      var comps = this.getComponents(imgArray);\n      var i, length;\n      if (bpc === 1) {\n        length = width * height;\n        if (this.needsDecode) {\n          for (i = 0; i < length; ++i) {\n            buffer[i] = comps[i] - 1 & 255;\n          }\n        } else {\n          for (i = 0; i < length; ++i) {\n            buffer[i] = -comps[i] & 255;\n          }\n        }\n        return;\n      }\n      if (this.needsDecode) {\n        this.decodeBuffer(comps);\n      }\n      length = width * height;\n      var scale = 255 / ((1 << bpc) - 1);\n      for (i = 0; i < length; ++i) {\n        buffer[i] = scale * comps[i] | 0;\n      }\n    },\n    getImageBytes: function getImageBytes(length, drawWidth, drawHeight) {\n      var forceRGB = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n      this.image.reset();\n      this.image.drawWidth = drawWidth || this.width;\n      this.image.drawHeight = drawHeight || this.height;\n      this.image.forceRGB = !!forceRGB;\n      return this.image.getBytes(length);\n    }\n  };\n  return PDFImage;\n}();\nexports.PDFImage = PDFImage;\n\n/***/ }),\n/* 159 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.AnnotationFactory = exports.AnnotationBorderStyle = exports.Annotation = undefined;\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _util = __w_pdfjs_require__(0);\n\nvar _obj = __w_pdfjs_require__(79);\n\nvar _primitives = __w_pdfjs_require__(2);\n\nvar _colorspace = __w_pdfjs_require__(29);\n\nvar _evaluator = __w_pdfjs_require__(83);\n\nvar _stream = __w_pdfjs_require__(5);\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar AnnotationFactory = function () {\n  function AnnotationFactory() {\n    _classCallCheck(this, AnnotationFactory);\n  }\n\n  _createClass(AnnotationFactory, null, [{\n    key: 'create',\n    value: function create(xref, ref, pdfManager, idFactory) {\n      var dict = xref.fetchIfRef(ref);\n      if (!(0, _primitives.isDict)(dict)) {\n        return;\n      }\n      var id = (0, _primitives.isRef)(ref) ? ref.toString() : 'annot_' + idFactory.createObjId();\n      var subtype = dict.get('Subtype');\n      subtype = (0, _primitives.isName)(subtype) ? subtype.name : null;\n      var parameters = {\n        xref: xref,\n        dict: dict,\n        ref: (0, _primitives.isRef)(ref) ? ref : null,\n        subtype: subtype,\n        id: id,\n        pdfManager: pdfManager\n      };\n      switch (subtype) {\n        case 'Link':\n          return new LinkAnnotation(parameters);\n        case 'Text':\n          return new TextAnnotation(parameters);\n        case 'Widget':\n          var fieldType = _util.Util.getInheritableProperty(dict, 'FT');\n          fieldType = (0, _primitives.isName)(fieldType) ? fieldType.name : null;\n          switch (fieldType) {\n            case 'Tx':\n              return new TextWidgetAnnotation(parameters);\n            case 'Btn':\n              return new ButtonWidgetAnnotation(parameters);\n            case 'Ch':\n              return new ChoiceWidgetAnnotation(parameters);\n          }\n          (0, _util.warn)('Unimplemented widget field type \"' + fieldType + '\", ' + 'falling back to base field type.');\n          return new WidgetAnnotation(parameters);\n        case 'Popup':\n          return new PopupAnnotation(parameters);\n        case 'Line':\n          return new LineAnnotation(parameters);\n        case 'Square':\n          return new SquareAnnotation(parameters);\n        case 'Circle':\n          return new CircleAnnotation(parameters);\n        case 'PolyLine':\n          return new PolylineAnnotation(parameters);\n        case 'Polygon':\n          return new PolygonAnnotation(parameters);\n        case 'Highlight':\n          return new HighlightAnnotation(parameters);\n        case 'Underline':\n          return new UnderlineAnnotation(parameters);\n        case 'Squiggly':\n          return new SquigglyAnnotation(parameters);\n        case 'StrikeOut':\n          return new StrikeOutAnnotation(parameters);\n        case 'Stamp':\n          return new StampAnnotation(parameters);\n        case 'FileAttachment':\n          return new FileAttachmentAnnotation(parameters);\n        default:\n          if (!subtype) {\n            (0, _util.warn)('Annotation is missing the required /Subtype.');\n          } else {\n            (0, _util.warn)('Unimplemented annotation type \"' + subtype + '\", ' + 'falling back to base annotation.');\n          }\n          return new Annotation(parameters);\n      }\n    }\n  }]);\n\n  return AnnotationFactory;\n}();\n\nfunction getTransformMatrix(rect, bbox, matrix) {\n  var bounds = _util.Util.getAxialAlignedBoundingBox(bbox, matrix);\n  var minX = bounds[0];\n  var minY = bounds[1];\n  var maxX = bounds[2];\n  var maxY = bounds[3];\n  if (minX === maxX || minY === maxY) {\n    return [1, 0, 0, 1, rect[0], rect[1]];\n  }\n  var xRatio = (rect[2] - rect[0]) / (maxX - minX);\n  var yRatio = (rect[3] - rect[1]) / (maxY - minY);\n  return [xRatio, 0, 0, yRatio, rect[0] - minX * xRatio, rect[1] - minY * yRatio];\n}\n\nvar Annotation = function () {\n  function Annotation(params) {\n    _classCallCheck(this, Annotation);\n\n    var dict = params.dict;\n    this.setFlags(dict.get('F'));\n    this.setRectangle(dict.getArray('Rect'));\n    this.setColor(dict.getArray('C'));\n    this.setBorderStyle(dict);\n    this.setAppearance(dict);\n    this.data = {\n      annotationFlags: this.flags,\n      borderStyle: this.borderStyle,\n      color: this.color,\n      hasAppearance: !!this.appearance,\n      id: params.id,\n      rect: this.rectangle,\n      subtype: params.subtype\n    };\n  }\n\n  _createClass(Annotation, [{\n    key: '_hasFlag',\n    value: function _hasFlag(flags, flag) {\n      return !!(flags & flag);\n    }\n  }, {\n    key: '_isViewable',\n    value: function _isViewable(flags) {\n      return !this._hasFlag(flags, _util.AnnotationFlag.INVISIBLE) && !this._hasFlag(flags, _util.AnnotationFlag.HIDDEN) && !this._hasFlag(flags, _util.AnnotationFlag.NOVIEW);\n    }\n  }, {\n    key: '_isPrintable',\n    value: function _isPrintable(flags) {\n      return this._hasFlag(flags, _util.AnnotationFlag.PRINT) && !this._hasFlag(flags, _util.AnnotationFlag.INVISIBLE) && !this._hasFlag(flags, _util.AnnotationFlag.HIDDEN);\n    }\n  }, {\n    key: 'setFlags',\n    value: function setFlags(flags) {\n      this.flags = Number.isInteger(flags) && flags > 0 ? flags : 0;\n    }\n  }, {\n    key: 'hasFlag',\n    value: function hasFlag(flag) {\n      return this._hasFlag(this.flags, flag);\n    }\n  }, {\n    key: 'setRectangle',\n    value: function setRectangle(rectangle) {\n      if (Array.isArray(rectangle) && rectangle.length === 4) {\n        this.rectangle = _util.Util.normalizeRect(rectangle);\n      } else {\n        this.rectangle = [0, 0, 0, 0];\n      }\n    }\n  }, {\n    key: 'setColor',\n    value: function setColor(color) {\n      var rgbColor = new Uint8Array(3);\n      if (!Array.isArray(color)) {\n        this.color = rgbColor;\n        return;\n      }\n      switch (color.length) {\n        case 0:\n          this.color = null;\n          break;\n        case 1:\n          _colorspace.ColorSpace.singletons.gray.getRgbItem(color, 0, rgbColor, 0);\n          this.color = rgbColor;\n          break;\n        case 3:\n          _colorspace.ColorSpace.singletons.rgb.getRgbItem(color, 0, rgbColor, 0);\n          this.color = rgbColor;\n          break;\n        case 4:\n          _colorspace.ColorSpace.singletons.cmyk.getRgbItem(color, 0, rgbColor, 0);\n          this.color = rgbColor;\n          break;\n        default:\n          this.color = rgbColor;\n          break;\n      }\n    }\n  }, {\n    key: 'setBorderStyle',\n    value: function setBorderStyle(borderStyle) {\n      this.borderStyle = new AnnotationBorderStyle();\n      if (!(0, _primitives.isDict)(borderStyle)) {\n        return;\n      }\n      if (borderStyle.has('BS')) {\n        var dict = borderStyle.get('BS');\n        var dictType = dict.get('Type');\n        if (!dictType || (0, _primitives.isName)(dictType, 'Border')) {\n          this.borderStyle.setWidth(dict.get('W'));\n          this.borderStyle.setStyle(dict.get('S'));\n          this.borderStyle.setDashArray(dict.getArray('D'));\n        }\n      } else if (borderStyle.has('Border')) {\n        var array = borderStyle.getArray('Border');\n        if (Array.isArray(array) && array.length >= 3) {\n          this.borderStyle.setHorizontalCornerRadius(array[0]);\n          this.borderStyle.setVerticalCornerRadius(array[1]);\n          this.borderStyle.setWidth(array[2]);\n          if (array.length === 4) {\n            this.borderStyle.setDashArray(array[3]);\n          }\n        }\n      } else {\n        this.borderStyle.setWidth(0);\n      }\n    }\n  }, {\n    key: 'setAppearance',\n    value: function setAppearance(dict) {\n      this.appearance = null;\n      var appearanceStates = dict.get('AP');\n      if (!(0, _primitives.isDict)(appearanceStates)) {\n        return;\n      }\n      var normalAppearanceState = appearanceStates.get('N');\n      if ((0, _primitives.isStream)(normalAppearanceState)) {\n        this.appearance = normalAppearanceState;\n        return;\n      }\n      if (!(0, _primitives.isDict)(normalAppearanceState)) {\n        return;\n      }\n      var as = dict.get('AS');\n      if (!(0, _primitives.isName)(as) || !normalAppearanceState.has(as.name)) {\n        return;\n      }\n      this.appearance = normalAppearanceState.get(as.name);\n    }\n  }, {\n    key: '_preparePopup',\n    value: function _preparePopup(dict) {\n      if (!dict.has('C')) {\n        this.data.color = null;\n      }\n      this.data.hasPopup = dict.has('Popup');\n      this.data.title = (0, _util.stringToPDFString)(dict.get('T') || '');\n      this.data.contents = (0, _util.stringToPDFString)(dict.get('Contents') || '');\n    }\n  }, {\n    key: 'loadResources',\n    value: function loadResources(keys) {\n      return this.appearance.dict.getAsync('Resources').then(function (resources) {\n        if (!resources) {\n          return;\n        }\n        var objectLoader = new _obj.ObjectLoader(resources, keys, resources.xref);\n        return objectLoader.load().then(function () {\n          return resources;\n        });\n      });\n    }\n  }, {\n    key: 'getOperatorList',\n    value: function getOperatorList(evaluator, task, renderForms) {\n      var _this = this;\n\n      if (!this.appearance) {\n        return Promise.resolve(new _evaluator.OperatorList());\n      }\n      var data = this.data;\n      var appearanceDict = this.appearance.dict;\n      var resourcesPromise = this.loadResources(['ExtGState', 'ColorSpace', 'Pattern', 'Shading', 'XObject', 'Font']);\n      var bbox = appearanceDict.getArray('BBox') || [0, 0, 1, 1];\n      var matrix = appearanceDict.getArray('Matrix') || [1, 0, 0, 1, 0, 0];\n      var transform = getTransformMatrix(data.rect, bbox, matrix);\n      return resourcesPromise.then(function (resources) {\n        var opList = new _evaluator.OperatorList();\n        opList.addOp(_util.OPS.beginAnnotation, [data.rect, transform, matrix]);\n        return evaluator.getOperatorList({\n          stream: _this.appearance,\n          task: task,\n          resources: resources,\n          operatorList: opList\n        }).then(function () {\n          opList.addOp(_util.OPS.endAnnotation, []);\n          _this.appearance.reset();\n          return opList;\n        });\n      });\n    }\n  }, {\n    key: 'viewable',\n    get: function get() {\n      if (this.flags === 0) {\n        return true;\n      }\n      return this._isViewable(this.flags);\n    }\n  }, {\n    key: 'printable',\n    get: function get() {\n      if (this.flags === 0) {\n        return false;\n      }\n      return this._isPrintable(this.flags);\n    }\n  }]);\n\n  return Annotation;\n}();\n\nvar AnnotationBorderStyle = function () {\n  function AnnotationBorderStyle() {\n    _classCallCheck(this, AnnotationBorderStyle);\n\n    this.width = 1;\n    this.style = _util.AnnotationBorderStyleType.SOLID;\n    this.dashArray = [3];\n    this.horizontalCornerRadius = 0;\n    this.verticalCornerRadius = 0;\n  }\n\n  _createClass(AnnotationBorderStyle, [{\n    key: 'setWidth',\n    value: function setWidth(width) {\n      if (Number.isInteger(width)) {\n        this.width = width;\n      }\n    }\n  }, {\n    key: 'setStyle',\n    value: function setStyle(style) {\n      if (!style) {\n        return;\n      }\n      switch (style.name) {\n        case 'S':\n          this.style = _util.AnnotationBorderStyleType.SOLID;\n          break;\n        case 'D':\n          this.style = _util.AnnotationBorderStyleType.DASHED;\n          break;\n        case 'B':\n          this.style = _util.AnnotationBorderStyleType.BEVELED;\n          break;\n        case 'I':\n          this.style = _util.AnnotationBorderStyleType.INSET;\n          break;\n        case 'U':\n          this.style = _util.AnnotationBorderStyleType.UNDERLINE;\n          break;\n        default:\n          break;\n      }\n    }\n  }, {\n    key: 'setDashArray',\n    value: function setDashArray(dashArray) {\n      if (Array.isArray(dashArray) && dashArray.length > 0) {\n        var isValid = true;\n        var allZeros = true;\n        for (var i = 0, len = dashArray.length; i < len; i++) {\n          var element = dashArray[i];\n          var validNumber = +element >= 0;\n          if (!validNumber) {\n            isValid = false;\n            break;\n          } else if (element > 0) {\n            allZeros = false;\n          }\n        }\n        if (isValid && !allZeros) {\n          this.dashArray = dashArray;\n        } else {\n          this.width = 0;\n        }\n      } else if (dashArray) {\n        this.width = 0;\n      }\n    }\n  }, {\n    key: 'setHorizontalCornerRadius',\n    value: function setHorizontalCornerRadius(radius) {\n      if (Number.isInteger(radius)) {\n        this.horizontalCornerRadius = radius;\n      }\n    }\n  }, {\n    key: 'setVerticalCornerRadius',\n    value: function setVerticalCornerRadius(radius) {\n      if (Number.isInteger(radius)) {\n        this.verticalCornerRadius = radius;\n      }\n    }\n  }]);\n\n  return AnnotationBorderStyle;\n}();\n\nvar WidgetAnnotation = function (_Annotation) {\n  _inherits(WidgetAnnotation, _Annotation);\n\n  function WidgetAnnotation(params) {\n    _classCallCheck(this, WidgetAnnotation);\n\n    var _this2 = _possibleConstructorReturn(this, (WidgetAnnotation.__proto__ || Object.getPrototypeOf(WidgetAnnotation)).call(this, params));\n\n    var dict = params.dict;\n    var data = _this2.data;\n    data.annotationType = _util.AnnotationType.WIDGET;\n    data.fieldName = _this2._constructFieldName(dict);\n    data.fieldValue = _util.Util.getInheritableProperty(dict, 'V', true);\n    data.alternativeText = (0, _util.stringToPDFString)(dict.get('TU') || '');\n    data.defaultAppearance = _util.Util.getInheritableProperty(dict, 'DA') || '';\n    var fieldType = _util.Util.getInheritableProperty(dict, 'FT');\n    data.fieldType = (0, _primitives.isName)(fieldType) ? fieldType.name : null;\n    _this2.fieldResources = _util.Util.getInheritableProperty(dict, 'DR') || _primitives.Dict.empty;\n    data.fieldFlags = _util.Util.getInheritableProperty(dict, 'Ff');\n    if (!Number.isInteger(data.fieldFlags) || data.fieldFlags < 0) {\n      data.fieldFlags = 0;\n    }\n    data.readOnly = _this2.hasFieldFlag(_util.AnnotationFieldFlag.READONLY);\n    if (data.fieldType === 'Sig') {\n      _this2.setFlags(_util.AnnotationFlag.HIDDEN);\n    }\n    return _this2;\n  }\n\n  _createClass(WidgetAnnotation, [{\n    key: '_constructFieldName',\n    value: function _constructFieldName(dict) {\n      if (!dict.has('T') && !dict.has('Parent')) {\n        (0, _util.warn)('Unknown field name, falling back to empty field name.');\n        return '';\n      }\n      if (!dict.has('Parent')) {\n        return (0, _util.stringToPDFString)(dict.get('T'));\n      }\n      var fieldName = [];\n      if (dict.has('T')) {\n        fieldName.unshift((0, _util.stringToPDFString)(dict.get('T')));\n      }\n      var loopDict = dict;\n      while (loopDict.has('Parent')) {\n        loopDict = loopDict.get('Parent');\n        if (!(0, _primitives.isDict)(loopDict)) {\n          break;\n        }\n        if (loopDict.has('T')) {\n          fieldName.unshift((0, _util.stringToPDFString)(loopDict.get('T')));\n        }\n      }\n      return fieldName.join('.');\n    }\n  }, {\n    key: 'hasFieldFlag',\n    value: function hasFieldFlag(flag) {\n      return !!(this.data.fieldFlags & flag);\n    }\n  }, {\n    key: 'getOperatorList',\n    value: function getOperatorList(evaluator, task, renderForms) {\n      if (renderForms) {\n        return Promise.resolve(new _evaluator.OperatorList());\n      }\n      return _get(WidgetAnnotation.prototype.__proto__ || Object.getPrototypeOf(WidgetAnnotation.prototype), 'getOperatorList', this).call(this, evaluator, task, renderForms);\n    }\n  }]);\n\n  return WidgetAnnotation;\n}(Annotation);\n\nvar TextWidgetAnnotation = function (_WidgetAnnotation) {\n  _inherits(TextWidgetAnnotation, _WidgetAnnotation);\n\n  function TextWidgetAnnotation(params) {\n    _classCallCheck(this, TextWidgetAnnotation);\n\n    var _this3 = _possibleConstructorReturn(this, (TextWidgetAnnotation.__proto__ || Object.getPrototypeOf(TextWidgetAnnotation)).call(this, params));\n\n    _this3.data.fieldValue = (0, _util.stringToPDFString)(_this3.data.fieldValue || '');\n    var alignment = _util.Util.getInheritableProperty(params.dict, 'Q');\n    if (!Number.isInteger(alignment) || alignment < 0 || alignment > 2) {\n      alignment = null;\n    }\n    _this3.data.textAlignment = alignment;\n    var maximumLength = _util.Util.getInheritableProperty(params.dict, 'MaxLen');\n    if (!Number.isInteger(maximumLength) || maximumLength < 0) {\n      maximumLength = null;\n    }\n    _this3.data.maxLen = maximumLength;\n    _this3.data.multiLine = _this3.hasFieldFlag(_util.AnnotationFieldFlag.MULTILINE);\n    _this3.data.comb = _this3.hasFieldFlag(_util.AnnotationFieldFlag.COMB) && !_this3.hasFieldFlag(_util.AnnotationFieldFlag.MULTILINE) && !_this3.hasFieldFlag(_util.AnnotationFieldFlag.PASSWORD) && !_this3.hasFieldFlag(_util.AnnotationFieldFlag.FILESELECT) && _this3.data.maxLen !== null;\n    return _this3;\n  }\n\n  _createClass(TextWidgetAnnotation, [{\n    key: 'getOperatorList',\n    value: function getOperatorList(evaluator, task, renderForms) {\n      if (renderForms || this.appearance) {\n        return _get(TextWidgetAnnotation.prototype.__proto__ || Object.getPrototypeOf(TextWidgetAnnotation.prototype), 'getOperatorList', this).call(this, evaluator, task, renderForms);\n      }\n      var operatorList = new _evaluator.OperatorList();\n      if (!this.data.defaultAppearance) {\n        return Promise.resolve(operatorList);\n      }\n      var stream = new _stream.Stream((0, _util.stringToBytes)(this.data.defaultAppearance));\n      return evaluator.getOperatorList({\n        stream: stream,\n        task: task,\n        resources: this.fieldResources,\n        operatorList: operatorList\n      }).then(function () {\n        return operatorList;\n      });\n    }\n  }]);\n\n  return TextWidgetAnnotation;\n}(WidgetAnnotation);\n\nvar ButtonWidgetAnnotation = function (_WidgetAnnotation2) {\n  _inherits(ButtonWidgetAnnotation, _WidgetAnnotation2);\n\n  function ButtonWidgetAnnotation(params) {\n    _classCallCheck(this, ButtonWidgetAnnotation);\n\n    var _this4 = _possibleConstructorReturn(this, (ButtonWidgetAnnotation.__proto__ || Object.getPrototypeOf(ButtonWidgetAnnotation)).call(this, params));\n\n    _this4.data.checkBox = !_this4.hasFieldFlag(_util.AnnotationFieldFlag.RADIO) && !_this4.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);\n    if (_this4.data.checkBox) {\n      if (!(0, _primitives.isName)(_this4.data.fieldValue)) {\n        return _possibleConstructorReturn(_this4);\n      }\n      _this4.data.fieldValue = _this4.data.fieldValue.name;\n    }\n    _this4.data.radioButton = _this4.hasFieldFlag(_util.AnnotationFieldFlag.RADIO) && !_this4.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);\n    if (_this4.data.radioButton) {\n      _this4.data.fieldValue = _this4.data.buttonValue = null;\n      var fieldParent = params.dict.get('Parent');\n      if ((0, _primitives.isDict)(fieldParent) && fieldParent.has('V')) {\n        var fieldParentValue = fieldParent.get('V');\n        if ((0, _primitives.isName)(fieldParentValue)) {\n          _this4.data.fieldValue = fieldParentValue.name;\n        }\n      }\n      var appearanceStates = params.dict.get('AP');\n      if (!(0, _primitives.isDict)(appearanceStates)) {\n        return _possibleConstructorReturn(_this4);\n      }\n      var normalAppearanceState = appearanceStates.get('N');\n      if (!(0, _primitives.isDict)(normalAppearanceState)) {\n        return _possibleConstructorReturn(_this4);\n      }\n      var keys = normalAppearanceState.getKeys();\n      for (var i = 0, ii = keys.length; i < ii; i++) {\n        if (keys[i] !== 'Off') {\n          _this4.data.buttonValue = keys[i];\n          break;\n        }\n      }\n    }\n    return _this4;\n  }\n\n  return ButtonWidgetAnnotation;\n}(WidgetAnnotation);\n\nvar ChoiceWidgetAnnotation = function (_WidgetAnnotation3) {\n  _inherits(ChoiceWidgetAnnotation, _WidgetAnnotation3);\n\n  function ChoiceWidgetAnnotation(params) {\n    _classCallCheck(this, ChoiceWidgetAnnotation);\n\n    var _this5 = _possibleConstructorReturn(this, (ChoiceWidgetAnnotation.__proto__ || Object.getPrototypeOf(ChoiceWidgetAnnotation)).call(this, params));\n\n    _this5.data.options = [];\n    var options = _util.Util.getInheritableProperty(params.dict, 'Opt');\n    if (Array.isArray(options)) {\n      var xref = params.xref;\n      for (var i = 0, ii = options.length; i < ii; i++) {\n        var option = xref.fetchIfRef(options[i]);\n        var isOptionArray = Array.isArray(option);\n        _this5.data.options[i] = {\n          exportValue: isOptionArray ? xref.fetchIfRef(option[0]) : option,\n          displayValue: isOptionArray ? xref.fetchIfRef(option[1]) : option\n        };\n      }\n    }\n    if (!Array.isArray(_this5.data.fieldValue)) {\n      _this5.data.fieldValue = [_this5.data.fieldValue];\n    }\n    _this5.data.combo = _this5.hasFieldFlag(_util.AnnotationFieldFlag.COMBO);\n    _this5.data.multiSelect = _this5.hasFieldFlag(_util.AnnotationFieldFlag.MULTISELECT);\n    return _this5;\n  }\n\n  return ChoiceWidgetAnnotation;\n}(WidgetAnnotation);\n\nvar TextAnnotation = function (_Annotation2) {\n  _inherits(TextAnnotation, _Annotation2);\n\n  function TextAnnotation(parameters) {\n    _classCallCheck(this, TextAnnotation);\n\n    var DEFAULT_ICON_SIZE = 22;\n\n    var _this6 = _possibleConstructorReturn(this, (TextAnnotation.__proto__ || Object.getPrototypeOf(TextAnnotation)).call(this, parameters));\n\n    _this6.data.annotationType = _util.AnnotationType.TEXT;\n    if (_this6.data.hasAppearance) {\n      _this6.data.name = 'NoIcon';\n    } else {\n      _this6.data.rect[1] = _this6.data.rect[3] - DEFAULT_ICON_SIZE;\n      _this6.data.rect[2] = _this6.data.rect[0] + DEFAULT_ICON_SIZE;\n      _this6.data.name = parameters.dict.has('Name') ? parameters.dict.get('Name').name : 'Note';\n    }\n    _this6._preparePopup(parameters.dict);\n    return _this6;\n  }\n\n  return TextAnnotation;\n}(Annotation);\n\nvar LinkAnnotation = function (_Annotation3) {\n  _inherits(LinkAnnotation, _Annotation3);\n\n  function LinkAnnotation(params) {\n    _classCallCheck(this, LinkAnnotation);\n\n    var _this7 = _possibleConstructorReturn(this, (LinkAnnotation.__proto__ || Object.getPrototypeOf(LinkAnnotation)).call(this, params));\n\n    _this7.data.annotationType = _util.AnnotationType.LINK;\n    _obj.Catalog.parseDestDictionary({\n      destDict: params.dict,\n      resultObj: _this7.data,\n      docBaseUrl: params.pdfManager.docBaseUrl\n    });\n    return _this7;\n  }\n\n  return LinkAnnotation;\n}(Annotation);\n\nvar PopupAnnotation = function (_Annotation4) {\n  _inherits(PopupAnnotation, _Annotation4);\n\n  function PopupAnnotation(parameters) {\n    _classCallCheck(this, PopupAnnotation);\n\n    var _this8 = _possibleConstructorReturn(this, (PopupAnnotation.__proto__ || Object.getPrototypeOf(PopupAnnotation)).call(this, parameters));\n\n    _this8.data.annotationType = _util.AnnotationType.POPUP;\n    var dict = parameters.dict;\n    var parentItem = dict.get('Parent');\n    if (!parentItem) {\n      (0, _util.warn)('Popup annotation has a missing or invalid parent annotation.');\n      return _possibleConstructorReturn(_this8);\n    }\n    var parentSubtype = parentItem.get('Subtype');\n    _this8.data.parentType = (0, _primitives.isName)(parentSubtype) ? parentSubtype.name : null;\n    _this8.data.parentId = dict.getRaw('Parent').toString();\n    _this8.data.title = (0, _util.stringToPDFString)(parentItem.get('T') || '');\n    _this8.data.contents = (0, _util.stringToPDFString)(parentItem.get('Contents') || '');\n    if (!parentItem.has('C')) {\n      _this8.data.color = null;\n    } else {\n      _this8.setColor(parentItem.getArray('C'));\n      _this8.data.color = _this8.color;\n    }\n    if (!_this8.viewable) {\n      var parentFlags = parentItem.get('F');\n      if (_this8._isViewable(parentFlags)) {\n        _this8.setFlags(parentFlags);\n      }\n    }\n    return _this8;\n  }\n\n  return PopupAnnotation;\n}(Annotation);\n\nvar LineAnnotation = function (_Annotation5) {\n  _inherits(LineAnnotation, _Annotation5);\n\n  function LineAnnotation(parameters) {\n    _classCallCheck(this, LineAnnotation);\n\n    var _this9 = _possibleConstructorReturn(this, (LineAnnotation.__proto__ || Object.getPrototypeOf(LineAnnotation)).call(this, parameters));\n\n    _this9.data.annotationType = _util.AnnotationType.LINE;\n    var dict = parameters.dict;\n    _this9.data.lineCoordinates = _util.Util.normalizeRect(dict.getArray('L'));\n    _this9._preparePopup(dict);\n    return _this9;\n  }\n\n  return LineAnnotation;\n}(Annotation);\n\nvar SquareAnnotation = function (_Annotation6) {\n  _inherits(SquareAnnotation, _Annotation6);\n\n  function SquareAnnotation(parameters) {\n    _classCallCheck(this, SquareAnnotation);\n\n    var _this10 = _possibleConstructorReturn(this, (SquareAnnotation.__proto__ || Object.getPrototypeOf(SquareAnnotation)).call(this, parameters));\n\n    _this10.data.annotationType = _util.AnnotationType.SQUARE;\n    _this10._preparePopup(parameters.dict);\n    return _this10;\n  }\n\n  return SquareAnnotation;\n}(Annotation);\n\nvar CircleAnnotation = function (_Annotation7) {\n  _inherits(CircleAnnotation, _Annotation7);\n\n  function CircleAnnotation(parameters) {\n    _classCallCheck(this, CircleAnnotation);\n\n    var _this11 = _possibleConstructorReturn(this, (CircleAnnotation.__proto__ || Object.getPrototypeOf(CircleAnnotation)).call(this, parameters));\n\n    _this11.data.annotationType = _util.AnnotationType.CIRCLE;\n    _this11._preparePopup(parameters.dict);\n    return _this11;\n  }\n\n  return CircleAnnotation;\n}(Annotation);\n\nvar PolylineAnnotation = function (_Annotation8) {\n  _inherits(PolylineAnnotation, _Annotation8);\n\n  function PolylineAnnotation(parameters) {\n    _classCallCheck(this, PolylineAnnotation);\n\n    var _this12 = _possibleConstructorReturn(this, (PolylineAnnotation.__proto__ || Object.getPrototypeOf(PolylineAnnotation)).call(this, parameters));\n\n    _this12.data.annotationType = _util.AnnotationType.POLYLINE;\n    var dict = parameters.dict;\n    var rawVertices = dict.getArray('Vertices');\n    _this12.data.vertices = [];\n    for (var i = 0, ii = rawVertices.length; i < ii; i += 2) {\n      _this12.data.vertices.push({\n        x: rawVertices[i],\n        y: rawVertices[i + 1]\n      });\n    }\n    _this12._preparePopup(dict);\n    return _this12;\n  }\n\n  return PolylineAnnotation;\n}(Annotation);\n\nvar PolygonAnnotation = function (_PolylineAnnotation) {\n  _inherits(PolygonAnnotation, _PolylineAnnotation);\n\n  function PolygonAnnotation(parameters) {\n    _classCallCheck(this, PolygonAnnotation);\n\n    var _this13 = _possibleConstructorReturn(this, (PolygonAnnotation.__proto__ || Object.getPrototypeOf(PolygonAnnotation)).call(this, parameters));\n\n    _this13.data.annotationType = _util.AnnotationType.POLYGON;\n    return _this13;\n  }\n\n  return PolygonAnnotation;\n}(PolylineAnnotation);\n\nvar HighlightAnnotation = function (_Annotation9) {\n  _inherits(HighlightAnnotation, _Annotation9);\n\n  function HighlightAnnotation(parameters) {\n    _classCallCheck(this, HighlightAnnotation);\n\n    var _this14 = _possibleConstructorReturn(this, (HighlightAnnotation.__proto__ || Object.getPrototypeOf(HighlightAnnotation)).call(this, parameters));\n\n    _this14.data.annotationType = _util.AnnotationType.HIGHLIGHT;\n    _this14._preparePopup(parameters.dict);\n    return _this14;\n  }\n\n  return HighlightAnnotation;\n}(Annotation);\n\nvar UnderlineAnnotation = function (_Annotation10) {\n  _inherits(UnderlineAnnotation, _Annotation10);\n\n  function UnderlineAnnotation(parameters) {\n    _classCallCheck(this, UnderlineAnnotation);\n\n    var _this15 = _possibleConstructorReturn(this, (UnderlineAnnotation.__proto__ || Object.getPrototypeOf(UnderlineAnnotation)).call(this, parameters));\n\n    _this15.data.annotationType = _util.AnnotationType.UNDERLINE;\n    _this15._preparePopup(parameters.dict);\n    return _this15;\n  }\n\n  return UnderlineAnnotation;\n}(Annotation);\n\nvar SquigglyAnnotation = function (_Annotation11) {\n  _inherits(SquigglyAnnotation, _Annotation11);\n\n  function SquigglyAnnotation(parameters) {\n    _classCallCheck(this, SquigglyAnnotation);\n\n    var _this16 = _possibleConstructorReturn(this, (SquigglyAnnotation.__proto__ || Object.getPrototypeOf(SquigglyAnnotation)).call(this, parameters));\n\n    _this16.data.annotationType = _util.AnnotationType.SQUIGGLY;\n    _this16._preparePopup(parameters.dict);\n    return _this16;\n  }\n\n  return SquigglyAnnotation;\n}(Annotation);\n\nvar StrikeOutAnnotation = function (_Annotation12) {\n  _inherits(StrikeOutAnnotation, _Annotation12);\n\n  function StrikeOutAnnotation(parameters) {\n    _classCallCheck(this, StrikeOutAnnotation);\n\n    var _this17 = _possibleConstructorReturn(this, (StrikeOutAnnotation.__proto__ || Object.getPrototypeOf(StrikeOutAnnotation)).call(this, parameters));\n\n    _this17.data.annotationType = _util.AnnotationType.STRIKEOUT;\n    _this17._preparePopup(parameters.dict);\n    return _this17;\n  }\n\n  return StrikeOutAnnotation;\n}(Annotation);\n\nvar StampAnnotation = function (_Annotation13) {\n  _inherits(StampAnnotation, _Annotation13);\n\n  function StampAnnotation(parameters) {\n    _classCallCheck(this, StampAnnotation);\n\n    var _this18 = _possibleConstructorReturn(this, (StampAnnotation.__proto__ || Object.getPrototypeOf(StampAnnotation)).call(this, parameters));\n\n    _this18.data.annotationType = _util.AnnotationType.STAMP;\n    _this18._preparePopup(parameters.dict);\n    return _this18;\n  }\n\n  return StampAnnotation;\n}(Annotation);\n\nvar FileAttachmentAnnotation = function (_Annotation14) {\n  _inherits(FileAttachmentAnnotation, _Annotation14);\n\n  function FileAttachmentAnnotation(parameters) {\n    _classCallCheck(this, FileAttachmentAnnotation);\n\n    var _this19 = _possibleConstructorReturn(this, (FileAttachmentAnnotation.__proto__ || Object.getPrototypeOf(FileAttachmentAnnotation)).call(this, parameters));\n\n    var file = new _obj.FileSpec(parameters.dict.get('FS'), parameters.xref);\n    _this19.data.annotationType = _util.AnnotationType.FILEATTACHMENT;\n    _this19.data.file = file.serializable;\n    _this19._preparePopup(parameters.dict);\n    return _this19;\n  }\n\n  return FileAttachmentAnnotation;\n}(Annotation);\n\nexports.Annotation = Annotation;\nexports.AnnotationBorderStyle = AnnotationBorderStyle;\nexports.AnnotationFactory = AnnotationFactory;\n\n/***/ }),\n/* 160 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.PDFNodeStream = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _util = __w_pdfjs_require__(0);\n\nvar _network_utils = __w_pdfjs_require__(50);\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar fs = require('fs');\nvar http = require('http');\nvar https = require('https');\nvar url = require('url');\n\nvar PDFNodeStream = function () {\n  function PDFNodeStream(options) {\n    _classCallCheck(this, PDFNodeStream);\n\n    this.options = options;\n    this.source = options.source;\n    this.url = url.parse(this.source.url);\n    this.isHttp = this.url.protocol === 'http:' || this.url.protocol === 'https:';\n    this.isFsUrl = this.url.protocol === 'file:' || !this.url.host;\n    this.httpHeaders = this.isHttp && this.source.httpHeaders || {};\n    this._fullRequest = null;\n    this._rangeRequestReaders = [];\n  }\n\n  _createClass(PDFNodeStream, [{\n    key: 'getFullReader',\n    value: function getFullReader() {\n      (0, _util.assert)(!this._fullRequest);\n      this._fullRequest = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this);\n      return this._fullRequest;\n    }\n  }, {\n    key: 'getRangeReader',\n    value: function getRangeReader(start, end) {\n      var rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end);\n      this._rangeRequestReaders.push(rangeReader);\n      return rangeReader;\n    }\n  }, {\n    key: 'cancelAllRequests',\n    value: function cancelAllRequests(reason) {\n      if (this._fullRequest) {\n        this._fullRequest.cancel(reason);\n      }\n      var readers = this._rangeRequestReaders.slice(0);\n      readers.forEach(function (reader) {\n        reader.cancel(reason);\n      });\n    }\n  }]);\n\n  return PDFNodeStream;\n}();\n\nvar BaseFullReader = function () {\n  function BaseFullReader(stream) {\n    _classCallCheck(this, BaseFullReader);\n\n    this._url = stream.url;\n    this._done = false;\n    this._errored = false;\n    this._reason = null;\n    this.onProgress = null;\n    this._contentLength = stream.source.length;\n    this._loaded = 0;\n    this._disableRange = stream.options.disableRange || false;\n    this._rangeChunkSize = stream.source.rangeChunkSize;\n    if (!this._rangeChunkSize && !this._disableRange) {\n      this._disableRange = true;\n    }\n    this._isStreamingSupported = !stream.source.disableStream;\n    this._isRangeSupported = !stream.options.disableRange;\n    this._readableStream = null;\n    this._readCapability = (0, _util.createPromiseCapability)();\n    this._headersCapability = (0, _util.createPromiseCapability)();\n  }\n\n  _createClass(BaseFullReader, [{\n    key: 'read',\n    value: function read() {\n      var _this = this;\n\n      return this._readCapability.promise.then(function () {\n        if (_this._done) {\n          return Promise.resolve({\n            value: undefined,\n            done: true\n          });\n        }\n        if (_this._errored) {\n          return Promise.reject(_this._reason);\n        }\n        var chunk = _this._readableStream.read();\n        if (chunk === null) {\n          _this._readCapability = (0, _util.createPromiseCapability)();\n          return _this.read();\n        }\n        _this._loaded += chunk.length;\n        if (_this.onProgress) {\n          _this.onProgress({\n            loaded: _this._loaded,\n            total: _this._contentLength\n          });\n        }\n        var buffer = new Uint8Array(chunk).buffer;\n        return Promise.resolve({\n          value: buffer,\n          done: false\n        });\n      });\n    }\n  }, {\n    key: 'cancel',\n    value: function cancel(reason) {\n      if (!this._readableStream) {\n        this._error(reason);\n        return;\n      }\n      this._readableStream.destroy(reason);\n    }\n  }, {\n    key: '_error',\n    value: function _error(reason) {\n      this._errored = true;\n      this._reason = reason;\n      this._readCapability.resolve();\n    }\n  }, {\n    key: '_setReadableStream',\n    value: function _setReadableStream(readableStream) {\n      var _this2 = this;\n\n      this._readableStream = readableStream;\n      readableStream.on('readable', function () {\n        _this2._readCapability.resolve();\n      });\n      readableStream.on('end', function () {\n        readableStream.destroy();\n        _this2._done = true;\n        _this2._readCapability.resolve();\n      });\n      readableStream.on('error', function (reason) {\n        _this2._error(reason);\n      });\n      if (!this._isStreamingSupported && this._isRangeSupported) {\n        this._error(new _util.AbortException('streaming is disabled'));\n      }\n      if (this._errored) {\n        this._readableStream.destroy(this._reason);\n      }\n    }\n  }, {\n    key: 'headersReady',\n    get: function get() {\n      return this._headersCapability.promise;\n    }\n  }, {\n    key: 'contentLength',\n    get: function get() {\n      return this._contentLength;\n    }\n  }, {\n    key: 'isRangeSupported',\n    get: function get() {\n      return this._isRangeSupported;\n    }\n  }, {\n    key: 'isStreamingSupported',\n    get: function get() {\n      return this._isStreamingSupported;\n    }\n  }]);\n\n  return BaseFullReader;\n}();\n\nvar BaseRangeReader = function () {\n  function BaseRangeReader(stream) {\n    _classCallCheck(this, BaseRangeReader);\n\n    this._url = stream.url;\n    this._done = false;\n    this._errored = false;\n    this._reason = null;\n    this.onProgress = null;\n    this._loaded = 0;\n    this._readableStream = null;\n    this._readCapability = (0, _util.createPromiseCapability)();\n    this._isStreamingSupported = !stream.source.disableStream;\n  }\n\n  _createClass(BaseRangeReader, [{\n    key: 'read',\n    value: function read() {\n      var _this3 = this;\n\n      return this._readCapability.promise.then(function () {\n        if (_this3._done) {\n          return Promise.resolve({\n            value: undefined,\n            done: true\n          });\n        }\n        if (_this3._errored) {\n          return Promise.reject(_this3._reason);\n        }\n        var chunk = _this3._readableStream.read();\n        if (chunk === null) {\n          _this3._readCapability = (0, _util.createPromiseCapability)();\n          return _this3.read();\n        }\n        _this3._loaded += chunk.length;\n        if (_this3.onProgress) {\n          _this3.onProgress({ loaded: _this3._loaded });\n        }\n        var buffer = new Uint8Array(chunk).buffer;\n        return Promise.resolve({\n          value: buffer,\n          done: false\n        });\n      });\n    }\n  }, {\n    key: 'cancel',\n    value: function cancel(reason) {\n      if (!this._readableStream) {\n        this._error(reason);\n        return;\n      }\n      this._readableStream.destroy(reason);\n    }\n  }, {\n    key: '_error',\n    value: function _error(reason) {\n      this._errored = true;\n      this._reason = reason;\n      this._readCapability.resolve();\n    }\n  }, {\n    key: '_setReadableStream',\n    value: function _setReadableStream(readableStream) {\n      var _this4 = this;\n\n      this._readableStream = readableStream;\n      readableStream.on('readable', function () {\n        _this4._readCapability.resolve();\n      });\n      readableStream.on('end', function () {\n        readableStream.destroy();\n        _this4._done = true;\n        _this4._readCapability.resolve();\n      });\n      readableStream.on('error', function (reason) {\n        _this4._error(reason);\n      });\n      if (this._errored) {\n        this._readableStream.destroy(this._reason);\n      }\n    }\n  }, {\n    key: 'isStreamingSupported',\n    get: function get() {\n      return this._isStreamingSupported;\n    }\n  }]);\n\n  return BaseRangeReader;\n}();\n\nfunction createRequestOptions(url, headers) {\n  return {\n    protocol: url.protocol,\n    auth: url.auth,\n    host: url.hostname,\n    port: url.port,\n    path: url.path,\n    method: 'GET',\n    headers: headers\n  };\n}\n\nvar PDFNodeStreamFullReader = function (_BaseFullReader) {\n  _inherits(PDFNodeStreamFullReader, _BaseFullReader);\n\n  function PDFNodeStreamFullReader(stream) {\n    _classCallCheck(this, PDFNodeStreamFullReader);\n\n    var _this5 = _possibleConstructorReturn(this, (PDFNodeStreamFullReader.__proto__ || Object.getPrototypeOf(PDFNodeStreamFullReader)).call(this, stream));\n\n    var handleResponse = function handleResponse(response) {\n      _this5._headersCapability.resolve();\n      _this5._setReadableStream(response);\n\n      var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({\n        getResponseHeader: function getResponseHeader(name) {\n          return _this5._readableStream.headers[name.toLowerCase()];\n        },\n        isHttp: stream.isHttp,\n        rangeChunkSize: _this5._rangeChunkSize,\n        disableRange: _this5._disableRange\n      }),\n          allowRangeRequests = _validateRangeRequest.allowRangeRequests,\n          suggestedLength = _validateRangeRequest.suggestedLength;\n\n      if (allowRangeRequests) {\n        _this5._isRangeSupported = true;\n      }\n      _this5._contentLength = suggestedLength;\n    };\n    _this5._request = null;\n    if (_this5._url.protocol === 'http:') {\n      _this5._request = http.request(createRequestOptions(_this5._url, stream.httpHeaders), handleResponse);\n    } else {\n      _this5._request = https.request(createRequestOptions(_this5._url, stream.httpHeaders), handleResponse);\n    }\n    _this5._request.on('error', function (reason) {\n      _this5._errored = true;\n      _this5._reason = reason;\n      _this5._headersCapability.reject(reason);\n    });\n    _this5._request.end();\n    return _this5;\n  }\n\n  return PDFNodeStreamFullReader;\n}(BaseFullReader);\n\nvar PDFNodeStreamRangeReader = function (_BaseRangeReader) {\n  _inherits(PDFNodeStreamRangeReader, _BaseRangeReader);\n\n  function PDFNodeStreamRangeReader(stream, start, end) {\n    _classCallCheck(this, PDFNodeStreamRangeReader);\n\n    var _this6 = _possibleConstructorReturn(this, (PDFNodeStreamRangeReader.__proto__ || Object.getPrototypeOf(PDFNodeStreamRangeReader)).call(this, stream));\n\n    _this6._httpHeaders = {};\n    for (var property in stream.httpHeaders) {\n      var value = stream.httpHeaders[property];\n      if (typeof value === 'undefined') {\n        continue;\n      }\n      _this6._httpHeaders[property] = value;\n    }\n    _this6._httpHeaders['Range'] = 'bytes=' + start + '-' + (end - 1);\n    _this6._request = null;\n    if (_this6._url.protocol === 'http:') {\n      _this6._request = http.request(createRequestOptions(_this6._url, _this6._httpHeaders), function (response) {\n        _this6._setReadableStream(response);\n      });\n    } else {\n      _this6._request = https.request(createRequestOptions(_this6._url, _this6._httpHeaders), function (response) {\n        _this6._setReadableStream(response);\n      });\n    }\n    _this6._request.on('error', function (reason) {\n      _this6._errored = true;\n      _this6._reason = reason;\n    });\n    _this6._request.end();\n    return _this6;\n  }\n\n  return PDFNodeStreamRangeReader;\n}(BaseRangeReader);\n\nvar PDFNodeStreamFsFullReader = function (_BaseFullReader2) {\n  _inherits(PDFNodeStreamFsFullReader, _BaseFullReader2);\n\n  function PDFNodeStreamFsFullReader(stream) {\n    _classCallCheck(this, PDFNodeStreamFsFullReader);\n\n    var _this7 = _possibleConstructorReturn(this, (PDFNodeStreamFsFullReader.__proto__ || Object.getPrototypeOf(PDFNodeStreamFsFullReader)).call(this, stream));\n\n    var path = decodeURI(_this7._url.path);\n    fs.lstat(path, function (error, stat) {\n      if (error) {\n        _this7._errored = true;\n        _this7._reason = error;\n        _this7._headersCapability.reject(error);\n        return;\n      }\n      _this7._contentLength = stat.size;\n      _this7._setReadableStream(fs.createReadStream(path));\n      _this7._headersCapability.resolve();\n    });\n    return _this7;\n  }\n\n  return PDFNodeStreamFsFullReader;\n}(BaseFullReader);\n\nvar PDFNodeStreamFsRangeReader = function (_BaseRangeReader2) {\n  _inherits(PDFNodeStreamFsRangeReader, _BaseRangeReader2);\n\n  function PDFNodeStreamFsRangeReader(stream, start, end) {\n    _classCallCheck(this, PDFNodeStreamFsRangeReader);\n\n    var _this8 = _possibleConstructorReturn(this, (PDFNodeStreamFsRangeReader.__proto__ || Object.getPrototypeOf(PDFNodeStreamFsRangeReader)).call(this, stream));\n\n    _this8._setReadableStream(fs.createReadStream(decodeURI(_this8._url.path), {\n      start: start,\n      end: end - 1\n    }));\n    return _this8;\n  }\n\n  return PDFNodeStreamFsRangeReader;\n}(BaseRangeReader);\n\nexports.PDFNodeStream = PDFNodeStream;\n\n/***/ }),\n/* 161 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.PDFFetchStream = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _util = __w_pdfjs_require__(0);\n\nvar _network_utils = __w_pdfjs_require__(50);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction createFetchOptions(headers, withCredentials) {\n  return {\n    method: 'GET',\n    headers: headers,\n    mode: 'cors',\n    credentials: withCredentials ? 'include' : 'same-origin',\n    redirect: 'follow'\n  };\n}\n\nvar PDFFetchStream = function () {\n  function PDFFetchStream(options) {\n    _classCallCheck(this, PDFFetchStream);\n\n    this.options = options;\n    this.source = options.source;\n    this.isHttp = /^https?:/i.test(this.source.url);\n    this.httpHeaders = this.isHttp && this.source.httpHeaders || {};\n    this._fullRequestReader = null;\n    this._rangeRequestReaders = [];\n  }\n\n  _createClass(PDFFetchStream, [{\n    key: 'getFullReader',\n    value: function getFullReader() {\n      (0, _util.assert)(!this._fullRequestReader);\n      this._fullRequestReader = new PDFFetchStreamReader(this);\n      return this._fullRequestReader;\n    }\n  }, {\n    key: 'getRangeReader',\n    value: function getRangeReader(begin, end) {\n      var reader = new PDFFetchStreamRangeReader(this, begin, end);\n      this._rangeRequestReaders.push(reader);\n      return reader;\n    }\n  }, {\n    key: 'cancelAllRequests',\n    value: function cancelAllRequests(reason) {\n      if (this._fullRequestReader) {\n        this._fullRequestReader.cancel(reason);\n      }\n      var readers = this._rangeRequestReaders.slice(0);\n      readers.forEach(function (reader) {\n        reader.cancel(reason);\n      });\n    }\n  }]);\n\n  return PDFFetchStream;\n}();\n\nvar PDFFetchStreamReader = function () {\n  function PDFFetchStreamReader(stream) {\n    var _this = this;\n\n    _classCallCheck(this, PDFFetchStreamReader);\n\n    this._stream = stream;\n    this._reader = null;\n    this._loaded = 0;\n    this._withCredentials = stream.source.withCredentials;\n    this._contentLength = this._stream.source.length;\n    this._headersCapability = (0, _util.createPromiseCapability)();\n    this._disableRange = this._stream.options.disableRange;\n    this._rangeChunkSize = this._stream.source.rangeChunkSize;\n    if (!this._rangeChunkSize && !this._disableRange) {\n      this._disableRange = true;\n    }\n    this._isRangeSupported = !this._stream.options.disableRange;\n    this._isStreamingSupported = !this._stream.source.disableStream;\n    this._headers = new Headers();\n    for (var property in this._stream.httpHeaders) {\n      var value = this._stream.httpHeaders[property];\n      if (typeof value === 'undefined') {\n        continue;\n      }\n      this._headers.append(property, value);\n    }\n    var url = this._stream.source.url;\n    fetch(url, createFetchOptions(this._headers, this._withCredentials)).then(function (response) {\n      if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n        throw (0, _network_utils.createResponseStatusError)(response.status, url);\n      }\n      _this._reader = response.body.getReader();\n      _this._headersCapability.resolve();\n\n      var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({\n        getResponseHeader: function getResponseHeader(name) {\n          return response.headers.get(name);\n        },\n        isHttp: _this._stream.isHttp,\n        rangeChunkSize: _this._rangeChunkSize,\n        disableRange: _this._disableRange\n      }),\n          allowRangeRequests = _validateRangeRequest.allowRangeRequests,\n          suggestedLength = _validateRangeRequest.suggestedLength;\n\n      _this._contentLength = suggestedLength;\n      _this._isRangeSupported = allowRangeRequests;\n      if (!_this._isStreamingSupported && _this._isRangeSupported) {\n        _this.cancel(new _util.AbortException('streaming is disabled'));\n      }\n    }).catch(this._headersCapability.reject);\n    this.onProgress = null;\n  }\n\n  _createClass(PDFFetchStreamReader, [{\n    key: 'read',\n    value: function read() {\n      var _this2 = this;\n\n      return this._headersCapability.promise.then(function () {\n        return _this2._reader.read().then(function (_ref) {\n          var value = _ref.value,\n              done = _ref.done;\n\n          if (done) {\n            return Promise.resolve({\n              value: value,\n              done: done\n            });\n          }\n          _this2._loaded += value.byteLength;\n          if (_this2.onProgress) {\n            _this2.onProgress({\n              loaded: _this2._loaded,\n              total: _this2._contentLength\n            });\n          }\n          var buffer = new Uint8Array(value).buffer;\n          return Promise.resolve({\n            value: buffer,\n            done: false\n          });\n        });\n      });\n    }\n  }, {\n    key: 'cancel',\n    value: function cancel(reason) {\n      if (this._reader) {\n        this._reader.cancel(reason);\n      }\n    }\n  }, {\n    key: 'headersReady',\n    get: function get() {\n      return this._headersCapability.promise;\n    }\n  }, {\n    key: 'contentLength',\n    get: function get() {\n      return this._contentLength;\n    }\n  }, {\n    key: 'isRangeSupported',\n    get: function get() {\n      return this._isRangeSupported;\n    }\n  }, {\n    key: 'isStreamingSupported',\n    get: function get() {\n      return this._isStreamingSupported;\n    }\n  }]);\n\n  return PDFFetchStreamReader;\n}();\n\nvar PDFFetchStreamRangeReader = function () {\n  function PDFFetchStreamRangeReader(stream, begin, end) {\n    var _this3 = this;\n\n    _classCallCheck(this, PDFFetchStreamRangeReader);\n\n    this._stream = stream;\n    this._reader = null;\n    this._loaded = 0;\n    this._withCredentials = stream.source.withCredentials;\n    this._readCapability = (0, _util.createPromiseCapability)();\n    this._isStreamingSupported = !stream.source.disableStream;\n    this._headers = new Headers();\n    for (var property in this._stream.httpHeaders) {\n      var value = this._stream.httpHeaders[property];\n      if (typeof value === 'undefined') {\n        continue;\n      }\n      this._headers.append(property, value);\n    }\n    var rangeStr = begin + '-' + (end - 1);\n    this._headers.append('Range', 'bytes=' + rangeStr);\n    var url = this._stream.source.url;\n    fetch(url, createFetchOptions(this._headers, this._withCredentials)).then(function (response) {\n      if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n        throw (0, _network_utils.createResponseStatusError)(response.status, url);\n      }\n      _this3._readCapability.resolve();\n      _this3._reader = response.body.getReader();\n    });\n    this.onProgress = null;\n  }\n\n  _createClass(PDFFetchStreamRangeReader, [{\n    key: 'read',\n    value: function read() {\n      var _this4 = this;\n\n      return this._readCapability.promise.then(function () {\n        return _this4._reader.read().then(function (_ref2) {\n          var value = _ref2.value,\n              done = _ref2.done;\n\n          if (done) {\n            return Promise.resolve({\n              value: value,\n              done: done\n            });\n          }\n          _this4._loaded += value.byteLength;\n          if (_this4.onProgress) {\n            _this4.onProgress({ loaded: _this4._loaded });\n          }\n          var buffer = new Uint8Array(value).buffer;\n          return Promise.resolve({\n            value: buffer,\n            done: false\n          });\n        });\n      });\n    }\n  }, {\n    key: 'cancel',\n    value: function cancel(reason) {\n      if (this._reader) {\n        this._reader.cancel(reason);\n      }\n    }\n  }, {\n    key: 'isStreamingSupported',\n    get: function get() {\n      return this._isStreamingSupported;\n    }\n  }]);\n\n  return PDFFetchStreamRangeReader;\n}();\n\nexports.PDFFetchStream = PDFFetchStream;\n\n/***/ }),\n/* 162 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.NetworkManager = exports.PDFNetworkStream = undefined;\n\nvar _util = __w_pdfjs_require__(0);\n\nvar _network_utils = __w_pdfjs_require__(50);\n\nvar _global_scope = __w_pdfjs_require__(22);\n\nvar _global_scope2 = _interopRequireDefault(_global_scope);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n;\nvar OK_RESPONSE = 200;\nvar PARTIAL_CONTENT_RESPONSE = 206;\nfunction NetworkManager(url, args) {\n  this.url = url;\n  args = args || {};\n  this.isHttp = /^https?:/i.test(url);\n  this.httpHeaders = this.isHttp && args.httpHeaders || {};\n  this.withCredentials = args.withCredentials || false;\n  this.getXhr = args.getXhr || function NetworkManager_getXhr() {\n    return new XMLHttpRequest();\n  };\n  this.currXhrId = 0;\n  this.pendingRequests = Object.create(null);\n  this.loadedRequests = Object.create(null);\n}\nfunction getArrayBuffer(xhr) {\n  var data = xhr.response;\n  if (typeof data !== 'string') {\n    return data;\n  }\n  var array = (0, _util.stringToBytes)(data);\n  return array.buffer;\n}\nvar supportsMozChunked = function supportsMozChunkedClosure() {\n  try {\n    var x = new XMLHttpRequest();\n    x.open('GET', _global_scope2.default.location.href);\n    x.responseType = 'moz-chunked-arraybuffer';\n    return x.responseType === 'moz-chunked-arraybuffer';\n  } catch (e) {\n    return false;\n  }\n}();\nNetworkManager.prototype = {\n  requestRange: function NetworkManager_requestRange(begin, end, listeners) {\n    var args = {\n      begin: begin,\n      end: end\n    };\n    for (var prop in listeners) {\n      args[prop] = listeners[prop];\n    }\n    return this.request(args);\n  },\n  requestFull: function NetworkManager_requestFull(listeners) {\n    return this.request(listeners);\n  },\n  request: function NetworkManager_request(args) {\n    var xhr = this.getXhr();\n    var xhrId = this.currXhrId++;\n    var pendingRequest = this.pendingRequests[xhrId] = { xhr: xhr };\n    xhr.open('GET', this.url);\n    xhr.withCredentials = this.withCredentials;\n    for (var property in this.httpHeaders) {\n      var value = this.httpHeaders[property];\n      if (typeof value === 'undefined') {\n        continue;\n      }\n      xhr.setRequestHeader(property, value);\n    }\n    if (this.isHttp && 'begin' in args && 'end' in args) {\n      var rangeStr = args.begin + '-' + (args.end - 1);\n      xhr.setRequestHeader('Range', 'bytes=' + rangeStr);\n      pendingRequest.expectedStatus = 206;\n    } else {\n      pendingRequest.expectedStatus = 200;\n    }\n    var useMozChunkedLoading = supportsMozChunked && !!args.onProgressiveData;\n    if (useMozChunkedLoading) {\n      xhr.responseType = 'moz-chunked-arraybuffer';\n      pendingRequest.onProgressiveData = args.onProgressiveData;\n      pendingRequest.mozChunked = true;\n    } else {\n      xhr.responseType = 'arraybuffer';\n    }\n    if (args.onError) {\n      xhr.onerror = function (evt) {\n        args.onError(xhr.status);\n      };\n    }\n    xhr.onreadystatechange = this.onStateChange.bind(this, xhrId);\n    xhr.onprogress = this.onProgress.bind(this, xhrId);\n    pendingRequest.onHeadersReceived = args.onHeadersReceived;\n    pendingRequest.onDone = args.onDone;\n    pendingRequest.onError = args.onError;\n    pendingRequest.onProgress = args.onProgress;\n    xhr.send(null);\n    return xhrId;\n  },\n  onProgress: function NetworkManager_onProgress(xhrId, evt) {\n    var pendingRequest = this.pendingRequests[xhrId];\n    if (!pendingRequest) {\n      return;\n    }\n    if (pendingRequest.mozChunked) {\n      var chunk = getArrayBuffer(pendingRequest.xhr);\n      pendingRequest.onProgressiveData(chunk);\n    }\n    var onProgress = pendingRequest.onProgress;\n    if (onProgress) {\n      onProgress(evt);\n    }\n  },\n  onStateChange: function NetworkManager_onStateChange(xhrId, evt) {\n    var pendingRequest = this.pendingRequests[xhrId];\n    if (!pendingRequest) {\n      return;\n    }\n    var xhr = pendingRequest.xhr;\n    if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {\n      pendingRequest.onHeadersReceived();\n      delete pendingRequest.onHeadersReceived;\n    }\n    if (xhr.readyState !== 4) {\n      return;\n    }\n    if (!(xhrId in this.pendingRequests)) {\n      return;\n    }\n    delete this.pendingRequests[xhrId];\n    if (xhr.status === 0 && this.isHttp) {\n      if (pendingRequest.onError) {\n        pendingRequest.onError(xhr.status);\n      }\n      return;\n    }\n    var xhrStatus = xhr.status || OK_RESPONSE;\n    var ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;\n    if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) {\n      if (pendingRequest.onError) {\n        pendingRequest.onError(xhr.status);\n      }\n      return;\n    }\n    this.loadedRequests[xhrId] = true;\n    var chunk = getArrayBuffer(xhr);\n    if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {\n      var rangeHeader = xhr.getResponseHeader('Content-Range');\n      var matches = /bytes (\\d+)-(\\d+)\\/(\\d+)/.exec(rangeHeader);\n      var begin = parseInt(matches[1], 10);\n      pendingRequest.onDone({\n        begin: begin,\n        chunk: chunk\n      });\n    } else if (pendingRequest.onProgressiveData) {\n      pendingRequest.onDone(null);\n    } else if (chunk) {\n      pendingRequest.onDone({\n        begin: 0,\n        chunk: chunk\n      });\n    } else if (pendingRequest.onError) {\n      pendingRequest.onError(xhr.status);\n    }\n  },\n  hasPendingRequests: function NetworkManager_hasPendingRequests() {\n    for (var xhrId in this.pendingRequests) {\n      return true;\n    }\n    return false;\n  },\n  getRequestXhr: function NetworkManager_getXhr(xhrId) {\n    return this.pendingRequests[xhrId].xhr;\n  },\n  isStreamingRequest: function NetworkManager_isStreamingRequest(xhrId) {\n    return !!this.pendingRequests[xhrId].onProgressiveData;\n  },\n  isPendingRequest: function NetworkManager_isPendingRequest(xhrId) {\n    return xhrId in this.pendingRequests;\n  },\n  isLoadedRequest: function NetworkManager_isLoadedRequest(xhrId) {\n    return xhrId in this.loadedRequests;\n  },\n  abortAllRequests: function NetworkManager_abortAllRequests() {\n    for (var xhrId in this.pendingRequests) {\n      this.abortRequest(xhrId | 0);\n    }\n  },\n  abortRequest: function NetworkManager_abortRequest(xhrId) {\n    var xhr = this.pendingRequests[xhrId].xhr;\n    delete this.pendingRequests[xhrId];\n    xhr.abort();\n  }\n};\nfunction PDFNetworkStream(options) {\n  this._options = options;\n  var source = options.source;\n  this._manager = new NetworkManager(source.url, {\n    httpHeaders: source.httpHeaders,\n    withCredentials: source.withCredentials\n  });\n  this._rangeChunkSize = source.rangeChunkSize;\n  this._fullRequestReader = null;\n  this._rangeRequestReaders = [];\n}\nPDFNetworkStream.prototype = {\n  _onRangeRequestReaderClosed: function PDFNetworkStream_onRangeRequestReaderClosed(reader) {\n    var i = this._rangeRequestReaders.indexOf(reader);\n    if (i >= 0) {\n      this._rangeRequestReaders.splice(i, 1);\n    }\n  },\n  getFullReader: function PDFNetworkStream_getFullReader() {\n    (0, _util.assert)(!this._fullRequestReader);\n    this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._options);\n    return this._fullRequestReader;\n  },\n  getRangeReader: function PDFNetworkStream_getRangeReader(begin, end) {\n    var reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end);\n    reader.onClosed = this._onRangeRequestReaderClosed.bind(this);\n    this._rangeRequestReaders.push(reader);\n    return reader;\n  },\n  cancelAllRequests: function PDFNetworkStream_cancelAllRequests(reason) {\n    if (this._fullRequestReader) {\n      this._fullRequestReader.cancel(reason);\n    }\n    var readers = this._rangeRequestReaders.slice(0);\n    readers.forEach(function (reader) {\n      reader.cancel(reason);\n    });\n  }\n};\nfunction PDFNetworkStreamFullRequestReader(manager, options) {\n  this._manager = manager;\n  var source = options.source;\n  var args = {\n    onHeadersReceived: this._onHeadersReceived.bind(this),\n    onProgressiveData: source.disableStream ? null : this._onProgressiveData.bind(this),\n    onDone: this._onDone.bind(this),\n    onError: this._onError.bind(this),\n    onProgress: this._onProgress.bind(this)\n  };\n  this._url = source.url;\n  this._fullRequestId = manager.requestFull(args);\n  this._headersReceivedCapability = (0, _util.createPromiseCapability)();\n  this._disableRange = options.disableRange || false;\n  this._contentLength = source.length;\n  this._rangeChunkSize = source.rangeChunkSize;\n  if (!this._rangeChunkSize && !this._disableRange) {\n    this._disableRange = true;\n  }\n  this._isStreamingSupported = false;\n  this._isRangeSupported = false;\n  this._cachedChunks = [];\n  this._requests = [];\n  this._done = false;\n  this._storedError = undefined;\n  this.onProgress = null;\n}\nPDFNetworkStreamFullRequestReader.prototype = {\n  _onHeadersReceived: function PDFNetworkStreamFullRequestReader_onHeadersReceived() {\n    var fullRequestXhrId = this._fullRequestId;\n    var fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);\n\n    var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({\n      getResponseHeader: function getResponseHeader(name) {\n        return fullRequestXhr.getResponseHeader(name);\n      },\n      isHttp: this._manager.isHttp,\n      rangeChunkSize: this._rangeChunkSize,\n      disableRange: this._disableRange\n    }),\n        allowRangeRequests = _validateRangeRequest.allowRangeRequests,\n        suggestedLength = _validateRangeRequest.suggestedLength;\n\n    this._contentLength = suggestedLength || this._contentLength;\n    if (allowRangeRequests) {\n      this._isRangeSupported = true;\n    }\n    var networkManager = this._manager;\n    if (networkManager.isStreamingRequest(fullRequestXhrId)) {\n      this._isStreamingSupported = true;\n    } else if (this._isRangeSupported) {\n      networkManager.abortRequest(fullRequestXhrId);\n    }\n    this._headersReceivedCapability.resolve();\n  },\n  _onProgressiveData: function PDFNetworkStreamFullRequestReader_onProgressiveData(chunk) {\n    if (this._requests.length > 0) {\n      var requestCapability = this._requests.shift();\n      requestCapability.resolve({\n        value: chunk,\n        done: false\n      });\n    } else {\n      this._cachedChunks.push(chunk);\n    }\n  },\n  _onDone: function PDFNetworkStreamFullRequestReader_onDone(args) {\n    if (args) {\n      this._onProgressiveData(args.chunk);\n    }\n    this._done = true;\n    if (this._cachedChunks.length > 0) {\n      return;\n    }\n    this._requests.forEach(function (requestCapability) {\n      requestCapability.resolve({\n        value: undefined,\n        done: true\n      });\n    });\n    this._requests = [];\n  },\n  _onError: function PDFNetworkStreamFullRequestReader_onError(status) {\n    var url = this._url;\n    var exception = (0, _network_utils.createResponseStatusError)(status, url);\n    this._storedError = exception;\n    this._headersReceivedCapability.reject(exception);\n    this._requests.forEach(function (requestCapability) {\n      requestCapability.reject(exception);\n    });\n    this._requests = [];\n    this._cachedChunks = [];\n  },\n  _onProgress: function PDFNetworkStreamFullRequestReader_onProgress(data) {\n    if (this.onProgress) {\n      this.onProgress({\n        loaded: data.loaded,\n        total: data.lengthComputable ? data.total : this._contentLength\n      });\n    }\n  },\n  get isRangeSupported() {\n    return this._isRangeSupported;\n  },\n  get isStreamingSupported() {\n    return this._isStreamingSupported;\n  },\n  get contentLength() {\n    return this._contentLength;\n  },\n  get headersReady() {\n    return this._headersReceivedCapability.promise;\n  },\n  read: function PDFNetworkStreamFullRequestReader_read() {\n    if (this._storedError) {\n      return Promise.reject(this._storedError);\n    }\n    if (this._cachedChunks.length > 0) {\n      var chunk = this._cachedChunks.shift();\n      return Promise.resolve({\n        value: chunk,\n        done: false\n      });\n    }\n    if (this._done) {\n      return Promise.resolve({\n        value: undefined,\n        done: true\n      });\n    }\n    var requestCapability = (0, _util.createPromiseCapability)();\n    this._requests.push(requestCapability);\n    return requestCapability.promise;\n  },\n  cancel: function PDFNetworkStreamFullRequestReader_cancel(reason) {\n    this._done = true;\n    this._headersReceivedCapability.reject(reason);\n    this._requests.forEach(function (requestCapability) {\n      requestCapability.resolve({\n        value: undefined,\n        done: true\n      });\n    });\n    this._requests = [];\n    if (this._manager.isPendingRequest(this._fullRequestId)) {\n      this._manager.abortRequest(this._fullRequestId);\n    }\n    this._fullRequestReader = null;\n  }\n};\nfunction PDFNetworkStreamRangeRequestReader(manager, begin, end) {\n  this._manager = manager;\n  var args = {\n    onDone: this._onDone.bind(this),\n    onProgress: this._onProgress.bind(this)\n  };\n  this._requestId = manager.requestRange(begin, end, args);\n  this._requests = [];\n  this._queuedChunk = null;\n  this._done = false;\n  this.onProgress = null;\n  this.onClosed = null;\n}\nPDFNetworkStreamRangeRequestReader.prototype = {\n  _close: function PDFNetworkStreamRangeRequestReader_close() {\n    if (this.onClosed) {\n      this.onClosed(this);\n    }\n  },\n  _onDone: function PDFNetworkStreamRangeRequestReader_onDone(data) {\n    var chunk = data.chunk;\n    if (this._requests.length > 0) {\n      var requestCapability = this._requests.shift();\n      requestCapability.resolve({\n        value: chunk,\n        done: false\n      });\n    } else {\n      this._queuedChunk = chunk;\n    }\n    this._done = true;\n    this._requests.forEach(function (requestCapability) {\n      requestCapability.resolve({\n        value: undefined,\n        done: true\n      });\n    });\n    this._requests = [];\n    this._close();\n  },\n  _onProgress: function PDFNetworkStreamRangeRequestReader_onProgress(evt) {\n    if (!this.isStreamingSupported && this.onProgress) {\n      this.onProgress({ loaded: evt.loaded });\n    }\n  },\n  get isStreamingSupported() {\n    return false;\n  },\n  read: function PDFNetworkStreamRangeRequestReader_read() {\n    if (this._queuedChunk !== null) {\n      var chunk = this._queuedChunk;\n      this._queuedChunk = null;\n      return Promise.resolve({\n        value: chunk,\n        done: false\n      });\n    }\n    if (this._done) {\n      return Promise.resolve({\n        value: undefined,\n        done: true\n      });\n    }\n    var requestCapability = (0, _util.createPromiseCapability)();\n    this._requests.push(requestCapability);\n    return requestCapability.promise;\n  },\n  cancel: function PDFNetworkStreamRangeRequestReader_cancel(reason) {\n    this._done = true;\n    this._requests.forEach(function (requestCapability) {\n      requestCapability.resolve({\n        value: undefined,\n        done: true\n      });\n    });\n    this._requests = [];\n    if (this._manager.isPendingRequest(this._requestId)) {\n      this._manager.abortRequest(this._requestId);\n    }\n    this._close();\n  }\n};\nexports.PDFNetworkStream = PDFNetworkStream;\nexports.NetworkManager = NetworkManager;\n\n/***/ })\n/******/ ]);\n});\n//# sourceMappingURL=pdf.combined.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/pdfjs-dist/build/pdf.combined.js\n// module id = 1516\n// module chunks = 0","'use strict';\n\n/** Highest positive signed 32-bit float value */\nconst maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\n\n/** Bootstring parameters */\nconst base = 36;\nconst tMin = 1;\nconst tMax = 26;\nconst skew = 38;\nconst damp = 700;\nconst initialBias = 72;\nconst initialN = 128; // 0x80\nconst delimiter = '-'; // '\\x2D'\n\n/** Regular expressions */\nconst regexPunycode = /^xn--/;\nconst regexNonASCII = /[^\\0-\\x7E]/; // non-ASCII chars\nconst regexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\n\n/** Error messages */\nconst errors = {\n\t'overflow': 'Overflow: input needs wider integers to process',\n\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t'invalid-input': 'Invalid input'\n};\n\n/** Convenience shortcuts */\nconst baseMinusTMin = base - tMin;\nconst floor = Math.floor;\nconst stringFromCharCode = String.fromCharCode;\n\n/*--------------------------------------------------------------------------*/\n\n/**\n * A generic error utility function.\n * @private\n * @param {String} type The error type.\n * @returns {Error} Throws a `RangeError` with the applicable error message.\n */\nfunction error(type) {\n\tthrow new RangeError(errors[type]);\n}\n\n/**\n * A generic `Array#map` utility function.\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} callback The function that gets called for every array\n * item.\n * @returns {Array} A new array of values returned by the callback function.\n */\nfunction map(array, fn) {\n\tconst result = [];\n\tlet length = array.length;\n\twhile (length--) {\n\t\tresult[length] = fn(array[length]);\n\t}\n\treturn result;\n}\n\n/**\n * A simple `Array#map`-like wrapper to work with domain name strings or email\n * addresses.\n * @private\n * @param {String} domain The domain name or email address.\n * @param {Function} callback The function that gets called for every\n * character.\n * @returns {Array} A new string of characters returned by the callback\n * function.\n */\nfunction mapDomain(string, fn) {\n\tconst parts = string.split('@');\n\tlet result = '';\n\tif (parts.length > 1) {\n\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t// the local part (i.e. everything up to `@`) intact.\n\t\tresult = parts[0] + '@';\n\t\tstring = parts[1];\n\t}\n\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\tstring = string.replace(regexSeparators, '\\x2E');\n\tconst labels = string.split('.');\n\tconst encoded = map(labels, fn).join('.');\n\treturn result + encoded;\n}\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n * @see `punycode.ucs2.encode`\n * @see <https://mathiasbynens.be/notes/javascript-encoding>\n * @memberOf punycode.ucs2\n * @name decode\n * @param {String} string The Unicode input string (UCS-2).\n * @returns {Array} The new array of code points.\n */\nfunction ucs2decode(string) {\n\tconst output = [];\n\tlet counter = 0;\n\tconst length = string.length;\n\twhile (counter < length) {\n\t\tconst value = string.charCodeAt(counter++);\n\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t// It's a high surrogate, and there is a next character.\n\t\t\tconst extra = string.charCodeAt(counter++);\n\t\t\tif ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t} else {\n\t\t\t\t// It's an unmatched surrogate; only append this code unit, in case the\n\t\t\t\t// next code unit is the high surrogate of a surrogate pair.\n\t\t\t\toutput.push(value);\n\t\t\t\tcounter--;\n\t\t\t}\n\t\t} else {\n\t\t\toutput.push(value);\n\t\t}\n\t}\n\treturn output;\n}\n\n/**\n * Creates a string based on an array of numeric code points.\n * @see `punycode.ucs2.decode`\n * @memberOf punycode.ucs2\n * @name encode\n * @param {Array} codePoints The array of numeric code points.\n * @returns {String} The new Unicode string (UCS-2).\n */\nconst ucs2encode = array => String.fromCodePoint(...array);\n\n/**\n * Converts a basic code point into a digit/integer.\n * @see `digitToBasic()`\n * @private\n * @param {Number} codePoint The basic numeric code point value.\n * @returns {Number} The numeric value of a basic code point (for use in\n * representing integers) in the range `0` to `base - 1`, or `base` if\n * the code point does not represent a value.\n */\nconst basicToDigit = function(codePoint) {\n\tif (codePoint - 0x30 < 0x0A) {\n\t\treturn codePoint - 0x16;\n\t}\n\tif (codePoint - 0x41 < 0x1A) {\n\t\treturn codePoint - 0x41;\n\t}\n\tif (codePoint - 0x61 < 0x1A) {\n\t\treturn codePoint - 0x61;\n\t}\n\treturn base;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n * @see `basicToDigit()`\n * @private\n * @param {Number} digit The numeric value of a basic code point.\n * @returns {Number} The basic code point whose value (when used for\n * representing integers) is `digit`, which needs to be in the range\n * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n * used; else, the lowercase form is used. The behavior is undefined\n * if `flag` is non-zero and `digit` has no uppercase form.\n */\nconst digitToBasic = function(digit, flag) {\n\t//  0..25 map to ASCII a..z or A..Z\n\t// 26..35 map to ASCII 0..9\n\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n * @private\n */\nconst adapt = function(delta, numPoints, firstTime) {\n\tlet k = 0;\n\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\tdelta += floor(delta / numPoints);\n\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\tdelta = floor(delta / baseMinusTMin);\n\t}\n\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n * symbols.\n * @memberOf punycode\n * @param {String} input The Punycode string of ASCII-only symbols.\n * @returns {String} The resulting string of Unicode symbols.\n */\nconst decode = function(input) {\n\t// Don't use UCS-2.\n\tconst output = [];\n\tconst inputLength = input.length;\n\tlet i = 0;\n\tlet n = initialN;\n\tlet bias = initialBias;\n\n\t// Handle the basic code points: let `basic` be the number of input code\n\t// points before the last delimiter, or `0` if there is none, then copy\n\t// the first basic code points to the output.\n\n\tlet basic = input.lastIndexOf(delimiter);\n\tif (basic < 0) {\n\t\tbasic = 0;\n\t}\n\n\tfor (let j = 0; j < basic; ++j) {\n\t\t// if it's not a basic code point\n\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\terror('not-basic');\n\t\t}\n\t\toutput.push(input.charCodeAt(j));\n\t}\n\n\t// Main decoding loop: start just after the last delimiter if any basic code\n\t// points were copied; start at the beginning otherwise.\n\n\tfor (let index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t// `index` is the index of the next character to be consumed.\n\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t// which gets added to `i`. The overflow checking is easier\n\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t// value at the end to obtain `delta`.\n\t\tlet oldi = i;\n\t\tfor (let w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\tif (index >= inputLength) {\n\t\t\t\terror('invalid-input');\n\t\t\t}\n\n\t\t\tconst digit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\ti += digit * w;\n\t\t\tconst t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\tif (digit < t) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tconst baseMinusT = base - t;\n\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tw *= baseMinusT;\n\n\t\t}\n\n\t\tconst out = output.length + 1;\n\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t// incrementing `n` each time, so we'll fix that now:\n\t\tif (floor(i / out) > maxInt - n) {\n\t\t\terror('overflow');\n\t\t}\n\n\t\tn += floor(i / out);\n\t\ti %= out;\n\n\t\t// Insert `n` at position `i` of the output.\n\t\toutput.splice(i++, 0, n);\n\n\t}\n\n\treturn String.fromCodePoint(...output);\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n * @memberOf punycode\n * @param {String} input The string of Unicode symbols.\n * @returns {String} The resulting Punycode string of ASCII-only symbols.\n */\nconst encode = function(input) {\n\tconst output = [];\n\n\t// Convert the input in UCS-2 to an array of Unicode code points.\n\tinput = ucs2decode(input);\n\n\t// Cache the length.\n\tlet inputLength = input.length;\n\n\t// Initialize the state.\n\tlet n = initialN;\n\tlet delta = 0;\n\tlet bias = initialBias;\n\n\t// Handle the basic code points.\n\tfor (const currentValue of input) {\n\t\tif (currentValue < 0x80) {\n\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t}\n\t}\n\n\tlet basicLength = output.length;\n\tlet handledCPCount = basicLength;\n\n\t// `handledCPCount` is the number of code points that have been handled;\n\t// `basicLength` is the number of basic code points.\n\n\t// Finish the basic string with a delimiter unless it's empty.\n\tif (basicLength) {\n\t\toutput.push(delimiter);\n\t}\n\n\t// Main encoding loop:\n\twhile (handledCPCount < inputLength) {\n\n\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t// larger one:\n\t\tlet m = maxInt;\n\t\tfor (const currentValue of input) {\n\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\tm = currentValue;\n\t\t\t}\n\t\t}\n\n\t\t// Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,\n\t\t// but guard against overflow.\n\t\tconst handledCPCountPlusOne = handledCPCount + 1;\n\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\terror('overflow');\n\t\t}\n\n\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\tn = m;\n\n\t\tfor (const currentValue of input) {\n\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\t\t\tif (currentValue == n) {\n\t\t\t\t// Represent delta as a generalized variable-length integer.\n\t\t\t\tlet q = delta;\n\t\t\t\tfor (let k = base; /* no condition */; k += base) {\n\t\t\t\t\tconst t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tconst qMinusT = q - t;\n\t\t\t\t\tconst baseMinusT = base - t;\n\t\t\t\t\toutput.push(\n\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t);\n\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t}\n\n\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\tdelta = 0;\n\t\t\t\t++handledCPCount;\n\t\t\t}\n\t\t}\n\n\t\t++delta;\n\t\t++n;\n\n\t}\n\treturn output.join('');\n};\n\n/**\n * Converts a Punycode string representing a domain name or an email address\n * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n * it doesn't matter if you call it on a string that has already been\n * converted to Unicode.\n * @memberOf punycode\n * @param {String} input The Punycoded domain name or email address to\n * convert to Unicode.\n * @returns {String} The Unicode representation of the given Punycode\n * string.\n */\nconst toUnicode = function(input) {\n\treturn mapDomain(input, function(string) {\n\t\treturn regexPunycode.test(string)\n\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t: string;\n\t});\n};\n\n/**\n * Converts a Unicode string representing a domain name or an email address to\n * Punycode. Only the non-ASCII parts of the domain name will be converted,\n * i.e. it doesn't matter if you call it with a domain that's already in\n * ASCII.\n * @memberOf punycode\n * @param {String} input The domain name or email address to convert, as a\n * Unicode string.\n * @returns {String} The Punycode representation of the given domain name or\n * email address.\n */\nconst toASCII = function(input) {\n\treturn mapDomain(input, function(string) {\n\t\treturn regexNonASCII.test(string)\n\t\t\t? 'xn--' + encode(string)\n\t\t\t: string;\n\t});\n};\n\n/*--------------------------------------------------------------------------*/\n\n/** Define the public API */\nconst punycode = {\n\t/**\n\t * A string representing the current Punycode.js version number.\n\t * @memberOf punycode\n\t * @type String\n\t */\n\t'version': '2.1.0',\n\t/**\n\t * An object of methods to convert from JavaScript's internal character\n\t * representation (UCS-2) to Unicode code points, and back.\n\t * @see <https://mathiasbynens.be/notes/javascript-encoding>\n\t * @memberOf punycode\n\t * @type Object\n\t */\n\t'ucs2': {\n\t\t'decode': ucs2decode,\n\t\t'encode': ucs2encode\n\t},\n\t'decode': decode,\n\t'encode': encode,\n\t'toASCII': toASCII,\n\t'toUnicode': toUnicode\n};\n\nmodule.exports = punycode;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/punycode/punycode.js\n// module id = 1517\n// module chunks = 0","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n// If obj.hasOwnProperty has been overridden, then calling\n// obj.hasOwnProperty(prop) will break.\n// See: https://github.com/joyent/node/issues/1707\nfunction hasOwnProperty(obj, prop) {\n  return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function(qs, sep, eq, options) {\n  sep = sep || '&';\n  eq = eq || '=';\n  var obj = {};\n\n  if (typeof qs !== 'string' || qs.length === 0) {\n    return obj;\n  }\n\n  var regexp = /\\+/g;\n  qs = qs.split(sep);\n\n  var maxKeys = 1000;\n  if (options && typeof options.maxKeys === 'number') {\n    maxKeys = options.maxKeys;\n  }\n\n  var len = qs.length;\n  // maxKeys <= 0 means that we should not limit keys count\n  if (maxKeys > 0 && len > maxKeys) {\n    len = maxKeys;\n  }\n\n  for (var i = 0; i < len; ++i) {\n    var x = qs[i].replace(regexp, '%20'),\n        idx = x.indexOf(eq),\n        kstr, vstr, k, v;\n\n    if (idx >= 0) {\n      kstr = x.substr(0, idx);\n      vstr = x.substr(idx + 1);\n    } else {\n      kstr = x;\n      vstr = '';\n    }\n\n    k = decodeURIComponent(kstr);\n    v = decodeURIComponent(vstr);\n\n    if (!hasOwnProperty(obj, k)) {\n      obj[k] = v;\n    } else if (isArray(obj[k])) {\n      obj[k].push(v);\n    } else {\n      obj[k] = [obj[k], v];\n    }\n  }\n\n  return obj;\n};\n\nvar isArray = Array.isArray || function (xs) {\n  return Object.prototype.toString.call(xs) === '[object Array]';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/querystring-es3/decode.js\n// module id = 1518\n// module chunks = 0","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar stringifyPrimitive = function(v) {\n  switch (typeof v) {\n    case 'string':\n      return v;\n\n    case 'boolean':\n      return v ? 'true' : 'false';\n\n    case 'number':\n      return isFinite(v) ? v : '';\n\n    default:\n      return '';\n  }\n};\n\nmodule.exports = function(obj, sep, eq, name) {\n  sep = sep || '&';\n  eq = eq || '=';\n  if (obj === null) {\n    obj = undefined;\n  }\n\n  if (typeof obj === 'object') {\n    return map(objectKeys(obj), function(k) {\n      var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n      if (isArray(obj[k])) {\n        return map(obj[k], function(v) {\n          return ks + encodeURIComponent(stringifyPrimitive(v));\n        }).join(sep);\n      } else {\n        return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n      }\n    }).join(sep);\n\n  }\n\n  if (!name) return '';\n  return encodeURIComponent(stringifyPrimitive(name)) + eq +\n         encodeURIComponent(stringifyPrimitive(obj));\n};\n\nvar isArray = Array.isArray || function (xs) {\n  return Object.prototype.toString.call(xs) === '[object Array]';\n};\n\nfunction map (xs, f) {\n  if (xs.map) return xs.map(f);\n  var res = [];\n  for (var i = 0; i < xs.length; i++) {\n    res.push(f(xs[i], i));\n  }\n  return res;\n}\n\nvar objectKeys = Object.keys || function (obj) {\n  var res = [];\n  for (var key in obj) {\n    if (Object.prototype.hasOwnProperty.call(obj, key)) res.push(key);\n  }\n  return res;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/querystring-es3/encode.js\n// module id = 1519\n// module chunks = 0","'use strict';\n\nexports.decode = exports.parse = require('./decode');\nexports.encode = exports.stringify = require('./encode');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/querystring-es3/index.js\n// module id = 1520\n// module chunks = 0","module.exports = \"<!-- Main view/routes wrappers-->\\r\\n<router-outlet (activate)=\\\"onActivate($event)\\\"></router-outlet>\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/app.component.html\n// module id = 1534\n// module chunks = 0","module.exports = \"<div *ngIf=\\\"myLoading\\\"\\r\\n    style=\\\"background-color: black;\\r\\n    opacity: 0.3;\\r\\n    position: absolute;\\r\\n    height: 99.9%;\\r\\n    width: 100%;\\r\\n    z-index: 999999;margin-left: -15px; margin-right: 30px;\\\">\\r\\n    <div class=\\\"text-center\\\">\\r\\n    <h2 class=\\\"loading\\\">Loading...</h2>\\r\\n</div>\\r\\n</div>\\r\\n<!--<div class=\\\"text-center\\\">\\r\\n    <h2 class=\\\"loading\\\">Loading...</h2>\\r\\n</div>-->\\r\\n\\r\\n<img *ngIf=\\\"myLoading\\\" src=\\\"https://hop-delivery.s3.eu-central-1.amazonaws.com/web_images/Spinner.gif\\\" style=\\\"position: absolute;\\r\\n    z-index: 72;\\r\\n    top: 35%;left: 43%;\\\">\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/common/admin/footer/footer.template.html\n// module id = 1535\n// module chunks = 0","module.exports = \"<!-- Wrapper-->\\r\\n<div id=\\\"wrapper\\\">\\r\\n\\r\\n    <!-- Left navigation bar -->\\r\\n    <navigation></navigation>\\r\\n\\r\\n    <!-- Main page wrapper -->\\r\\n    <div id=\\\"page-wrapper\\\" class=\\\"gray-bg\\\">\\r\\n\\r\\n        <!-- Top navigation -->\\r\\n        <topnavbar></topnavbar>\\r\\n\\r\\n        <!-- Main view/routes wrapper-->\\r\\n        <router-outlet></router-outlet>\\r\\n\\r\\n        <!-- Footer -->\\r\\n        <footer></footer>\\r\\n\\r\\n    </div>\\r\\n    <!-- End page wrapper-->\\r\\n\\r\\n</div>\\r\\n<!-- End wrapper-->\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/common/admin/layouts/admin_basic.template.html\n// module id = 1536\n// module chunks = 0","module.exports = \"<!-- View/routes wrapper-->\\r\\n<router-outlet></router-outlet>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/common/admin/layouts/admin_blank.template.html\n// module id = 1537\n// module chunks = 0","module.exports = \"<style type=\\\"text/css\\\">\\r\\n    .scrollbar\\r\\n    {\\r\\n        height: 100%;\\r\\n        background: #fff;\\r\\n        overflow-y: auto;\\r\\n    }\\r\\n\\r\\n    .scrollbar::-webkit-scrollbar-track\\r\\n    {\\r\\n        -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);\\r\\n        background-color: #fff;\\r\\n    }\\r\\n\\r\\n    .scrollbar::-webkit-scrollbar\\r\\n    {\\r\\n        width: 3px;\\r\\n        background-color: #222222;\\r\\n    }\\r\\n\\r\\n    .scrollbar::-webkit-scrollbar-thumb\\r\\n    {\\r\\n        background-color: #000000;\\r\\n    }\\r\\n\\r\\n</style>\\r\\n<nav class=\\\"navbar-default navbar-static-side\\\" role=\\\"navigation\\\">\\r\\n    <div class=\\\"sidebar-collapse scrollbar\\\">\\r\\n        <ul class=\\\"nav metismenu\\\" id=\\\"side-menu\\\">\\r\\n\\r\\n            <li class=\\\"nav-header\\\" style=\\\"background-color: #222222 !important;transition: all 0.4s;\\\" >\\r\\n                <div class=\\\"dropdown profile-element\\\" style=\\\"text-align: center;transition: all 0.4s;\\\">\\r\\n                    <img alt=\\\"image\\\" class=\\\"\\\" style=\\\"height:50px; width:50px;\\\"  src=\\\"https://hop-delivery.s3.eu-central-1.amazonaws.com/web_images/logo.png\\\"/>\\r\\n                    <span class=\\\"block m-t-xs\\\"> <strong class=\\\"font-bold\\\" style=\\\"color: #fff;\\\">{{app_name}}</strong> </span>\\r\\n                </div>\\r\\n                <div class=\\\"logo-element\\\" style=\\\"padding: 10px 0;transition: all 0.4s;\\\">\\r\\n                    <img alt=\\\"image\\\" class=\\\"\\\" style=\\\"height:50px; width:50px;\\\"  src=\\\"https://hop-delivery.s3.eu-central-1.amazonaws.com/web_images/logo.png\\\"/>\\r\\n                </div>\\r\\n            </li>\\r\\n\\r\\n            <li *ngIf=\\\"check_subadmin_access('dashboard')\\\" [ngClass]=\\\"{active: activeRoute('dashboard')}\\\" (click)=\\\"toggle($event)\\\">\\r\\n                <a [routerLink]=\\\"['/admin/dashboard']\\\"><i class=\\\"fa fa-tachometer\\\"></i> <span class=\\\"nav-label\\\">{{menu_title.dashboard | translate}}</span> </a>\\r\\n            </li>\\r\\n\\r\\n            <li *ngIf=\\\"check_subadmin_access('dispatch')\\\">\\r\\n                <a href=\\\"#\\\"><i class=\\\"fa fa-history\\\"></i> <span class=\\\"nav-label\\\">{{menu_title.orders | translate }}</span> <span class=\\\"fa arrow\\\"></span></a>\\r\\n                <ul class=\\\"nav nav-second-level collapse\\\">\\r\\n                    <li (click)=\\\"toggle()\\\" [ngClass]=\\\"{active: activeRoute('dispatch')}\\\"><a [routerLink]=\\\"['/admin/dispatch']\\\">{{sub_menu_title.dispatch | translate}}</a></li>\\r\\n                    <!-- <li (click)=\\\"toggle()\\\" [ngClass]=\\\"{active: activeRoute('orders')}\\\"><a [routerLink]=\\\"['/admin/orders']\\\">{{sub_menu_title.orders | translate}}</a></li>\\r\\n                    <li (click)=\\\"toggle()\\\" [ngClass]=\\\"{active: activeRoute('deliveries')}\\\"><a [routerLink]=\\\"['/admin/deliveries']\\\">{{sub_menu_title.deliveries | translate}}</a></li> -->\\r\\n                    <li (click)=\\\"toggle()\\\" [ngClass]=\\\"{active: activeRoute('history')}\\\"><a [routerLink]=\\\"['/admin/history']\\\">{{sub_menu_title.history | translate}}</a></li>\\r\\n                    <!-- <li (click)=\\\"toggle()\\\" [ngClass]=\\\"{active: activeRoute('request_cancel_reason')}\\\"><a [routerLink]=\\\"['/admin/request_cancel_reason']\\\">{{sub_menu_title.request_cancellation_reason | translate}}</a></li> -->\\r\\n                    <li (click)=\\\"toggle()\\\" [ngClass]=\\\"{active: activeRoute('create_order')}\\\"><a [routerLink]=\\\"['/admin/create_order']\\\">{{sub_menu_title.create_order | translate}}</a></li>\\r\\n                    <li (click)=\\\"toggle()\\\" [ngClass]=\\\"{active: activeRoute('create_team')}\\\"><a [routerLink]=\\\"['/admin/create_team']\\\">{{sub_menu_title.create_team | translate}}</a></li>\\r\\n                </ul>\\r\\n            </li>\\r\\n\\r\\n            <li *ngIf=\\\"check_subadmin_access('users')\\\" [ngClass]=\\\"{active: activeRoute('users')}\\\" (click)=\\\"toggle($event)\\\">\\r\\n                <a [routerLink]=\\\"['/admin/users']\\\"><i class=\\\"fa fa-user\\\"></i> <span class=\\\"nav-label\\\">{{menu_title.users | translate}}</span> </a>\\r\\n            </li>\\r\\n\\r\\n            <li *ngIf=\\\"check_subadmin_access('stores')\\\" [ngClass]=\\\"{active: activeRoute('stores')}\\\" (click)=\\\"toggle($event)\\\">\\r\\n                <a [routerLink]=\\\"['/admin/stores']\\\"><i class=\\\"fa fa-building\\\"></i> <span class=\\\"nav-label\\\">{{menu_title.stores | translate}}</span> </a>\\r\\n            </li>\\r\\n\\r\\n            <li *ngIf=\\\"check_subadmin_access('providers')\\\" [ngClass]=\\\"{active: activeRoute('providers')}\\\" (click)=\\\"toggle($event)\\\">\\r\\n                <a [routerLink]=\\\"['/admin/providers']\\\"><i class=\\\"fa fa-motorcycle\\\"></i> <span class=\\\"nav-label\\\">{{menu_title.providers | translate}}</span> </a>\\r\\n            </li>\\r\\n\\r\\n            <li *ngIf=\\\"check_subadmin_access('store_location')\\\">\\r\\n                <a href=\\\"#\\\"><i class=\\\"fa fa-map\\\"></i> <span class=\\\"nav-label\\\">{{menu_title.map_view | translate }}</span> <span class=\\\"fa arrow\\\"></span></a>\\r\\n                <ul class=\\\"nav nav-second-level collapse\\\">\\r\\n                    <!-- <li (click)=\\\"toggle()\\\" [ngClass]=\\\"{active: activeRoute('store_location')}\\\"><a [routerLink]=\\\"['/admin/store_location']\\\">{{sub_menu_title.store_location | translate}} </a></li> -->\\r\\n                    <!-- <li (click)=\\\"toggle()\\\" [ngClass]=\\\"{active: activeRoute('provider_location')}\\\"><a [routerLink]=\\\"['/admin/provider_location']\\\">{{sub_menu_title.provider_location | translate}}</a></li> -->\\r\\n                    <li (click)=\\\"toggle()\\\" [ngClass]=\\\"{active: activeRoute('location_track')}\\\"><a [routerLink]=\\\"['/admin/location_track']\\\">{{sub_menu_title.provider_track | translate}}</a></li>\\r\\n                    <li (click)=\\\"toggle()\\\" [ngClass]=\\\"{active: activeRoute('order_track')}\\\"><a [routerLink]=\\\"['/admin/order_track']\\\">{{sub_menu_title.order_track | translate}}</a></li>\\r\\n                    <li (click)=\\\"toggle()\\\" [ngClass]=\\\"{active: activeRoute('all-city')}\\\"><a [routerLink]=\\\"['/admin/all-city']\\\">{{sub_menu_title.view_all_city | translate}}</a></li>\\r\\n                </ul>\\r\\n            </li>\\r\\n\\r\\n            <li *ngIf=\\\"check_subadmin_access('earnings')\\\">\\r\\n                <a href=\\\"#\\\"><i class=\\\"fa fa-money\\\"></i> <span class=\\\"nav-label\\\">{{menu_title.payments | translate }}</span> <span class=\\\"fa arrow\\\"></span></a>\\r\\n                <ul class=\\\"nav nav-second-level collapse\\\">\\r\\n                    <li (click)=\\\"toggle()\\\" [ngClass]=\\\"{active: activeRoute('earnings')}\\\"><a [routerLink]=\\\"['/admin/earnings']\\\">{{sub_menu_title.earning | translate}}</a></li>\\r\\n                    <!-- <li (click)=\\\"toggle()\\\" *ngIf=\\\"admin_type==3  && urls_array.indexOf('/admin/order_earning')>=0 || admin_type==1\\\" [ngClass]=\\\"{active: activeRoute('order_earning')}\\\"><a [routerLink]=\\\"['/admin/order_earning']\\\">{{sub_menu_title.order_earning | translate}}</a></li> -->\\r\\n                    <li (click)=\\\"toggle()\\\" [ngClass]=\\\"{active: activeRoute('provider_weekly_earning')}\\\"><a [routerLink]=\\\"['/admin/provider_weekly_earning']\\\">{{sub_menu_title.provider_weekly_earning | translate}}</a></li>\\r\\n                    <li (click)=\\\"toggle()\\\" [ngClass]=\\\"{active: activeRoute('store_weekly_earning')}\\\"><a [routerLink]=\\\"['/admin/store_weekly_earning']\\\">{{sub_menu_title.store_weekly_earning | translate}}</a></li>\\r\\n                    \\r\\n                    <li (click)=\\\"toggle()\\\" [ngClass]=\\\"{active: activeRoute('wallet_request')}\\\"><a [routerLink]=\\\"['/admin/wallet_request']\\\">{{sub_menu_title.wallet_request | translate}}</a></li>\\r\\n                    <li (click)=\\\"toggle()\\\" [ngClass]=\\\"{active: activeRoute('transaction_history')}\\\"><a [routerLink]=\\\"['/admin/transaction_history']\\\">{{sub_menu_title.transaction_history | translate}}</a></li>\\r\\n                </ul>\\r\\n            </li>\\r\\n\\r\\n            <li *ngIf=\\\"check_subadmin_access('delivery')\\\">\\r\\n                <a href=\\\"#\\\"><i class=\\\"fa fa-truck\\\"></i> <span class=\\\"nav-label\\\">{{menu_title.delivery_info | translate }}</span> <span class=\\\"fa arrow\\\"></span></a>\\r\\n                <ul class=\\\"nav nav-second-level collapse\\\">\\r\\n                    <li (click)=\\\"toggle()\\\" [ngClass]=\\\"{active: activeRoute('delivery')}\\\"><a [routerLink]=\\\"['/admin/delivery']\\\">{{sub_menu_title.delivery | translate}}</a></li>\\r\\n                    <li (click)=\\\"toggle()\\\" [ngClass]=\\\"{active: activeRoute('vehicle')}\\\"><a [routerLink]=\\\"['/admin/vehicle']\\\">{{sub_menu_title.vehicle | translate}}</a></li>\\r\\n                    <li (click)=\\\"toggle()\\\" [ngClass]=\\\"{active: activeRoute('country')}\\\"><a [routerLink]=\\\"['/admin/country']\\\">{{sub_menu_title.country | translate}}</a></li>\\r\\n                    <li (click)=\\\"toggle()\\\" [ngClass]=\\\"{active: activeRoute('city')}\\\"><a [routerLink]=\\\"['/admin/city']\\\">{{sub_menu_title.city | translate}}</a></li>\\r\\n                    <li (click)=\\\"toggle()\\\" [ngClass]=\\\"{active: activeRoute('service')}\\\"><a [routerLink]=\\\"['/admin/service']\\\">{{sub_menu_title.deliveries_prices | translate}}</a></li>\\r\\n                </ul>\\r\\n            </li>\\r\\n\\r\\n            <li *ngIf=\\\"check_subadmin_access('promotions')\\\">\\r\\n                <a href=\\\"#\\\"><i class=\\\"fa fa-cog\\\"></i> <span class=\\\"nav-label\\\">{{menu_title.settings | translate }}</span> <span class=\\\"fa arrow\\\"></span></a>\\r\\n                <ul class=\\\"nav nav-second-level collapse\\\">\\r\\n                    <li (click)=\\\"toggle()\\\" [ngClass]=\\\"{active: activeRoute('basic_setting')}\\\"><a [routerLink]=\\\"['/setting/basic_setting']\\\">{{sub_menu_title.admin_settings | translate}}</a></li>\\r\\n                    <li (click)=\\\"toggle()\\\" [ngClass]=\\\"{active: activeRoute('dispatch_setting')}\\\"><a [routerLink]=\\\"['/admin/dispatch_setting']\\\">{{sub_menu_title.dispatch_setting | translate}}</a></li>\\r\\n                    <!-- <li (click)=\\\"toggle()\\\" [ngClass]=\\\"{active: activeRoute('advertise')}\\\"><a [routerLink]=\\\"['/admin/advertise']\\\">Advertise</a></li> -->\\r\\n\\r\\n                    <li (click)=\\\"toggle()\\\" [ngClass]=\\\"{active: activeRoute('promotions')}\\\"><a [routerLink]=\\\"['/admin/promotions']\\\">{{sub_menu_title.promo_code | translate}}</a></li>\\r\\n                    <li (click)=\\\"toggle()\\\" [ngClass]=\\\"{active: activeRoute('referral_detail')}\\\"><a [routerLink]=\\\"['/admin/referral_detail']\\\">{{sub_menu_title.referral_detail | translate}}</a></li>\\r\\n                    <li (click)=\\\"toggle()\\\" [ngClass]=\\\"{active: activeRoute('document')}\\\"><a [routerLink]=\\\"['/admin/document']\\\">{{sub_menu_title.documents | translate}}</a></li>\\r\\n                    <li (click)=\\\"toggle()\\\" [ngClass]=\\\"{active: activeRoute('list')}\\\"><a [routerLink]=\\\"['/admin/list']\\\">{{sub_menu_title.admin | translate}}</a></li>\\r\\n                    <li (click)=\\\"toggle()\\\" [ngClass]=\\\"{active: activeRoute('saas')}\\\"><a [routerLink]=\\\"['/admin/saas']\\\">{{sub_menu_title.saas | translate}}</a></li>\\r\\n\\r\\n                </ul>\\r\\n            </li>\\r\\n\\r\\n            <li *ngIf=\\\"check_subadmin_access('email')\\\" >\\r\\n                <a href=\\\"#\\\"><i class=\\\"fa fa-envelope\\\"></i> <span class=\\\"nav-label\\\">{{menu_title.templates | translate }}</span> <span class=\\\"fa arrow\\\"></span></a>\\r\\n                <ul class=\\\"nav nav-second-level collapse\\\">\\r\\n\\r\\n                    <li (click)=\\\"toggle()\\\" [ngClass]=\\\"{active: activeRoute('email')}\\\"><a [routerLink]=\\\"['/admin/email']\\\">{{sub_menu_title.mail | translate}}</a></li>\\r\\n\\r\\n                    <li (click)=\\\"toggle()\\\" [ngClass]=\\\"{active: activeRoute('sms')}\\\"><a [routerLink]=\\\"['/admin/sms']\\\">{{sub_menu_title.sms | translate}}</a></li>\\r\\n                    <!--                                        <li><a>{{sub_menu_title.send_mass_sms | translate}}</a></li>-->\\r\\n                    <li (click)=\\\"toggle()\\\" [ngClass]=\\\"{active: activeRoute('mass_notification')}\\\"><a [routerLink]=\\\"['/admin/mass_notification']\\\">{{sub_menu_title.send_mass_notification | translate}}</a></li>\\r\\n                </ul>\\r\\n            </li>\\r\\n\\r\\n            <li *ngIf=\\\"check_subadmin_access('partner_earning')\\\" >\\r\\n                <a href=\\\"#\\\"><i class=\\\"fa fa-envelope\\\"></i> \\r\\n                    <span class=\\\"nav-label\\\">{{menu_title.decompte | translate }}</span>\\r\\n                    <span class=\\\"fa arrow\\\"></span>\\r\\n                </a>\\r\\n                <ul class=\\\"nav nav-second-level collapse\\\">\\r\\n                    <li (click)=\\\"toggle()\\\" [ngClass]=\\\"{active: activeRoute('partner_earning')}\\\"><a [routerLink]=\\\"['/admin/partner_earning']\\\">{{sub_menu_title.partner | translate}}</a></li>\\r\\n                    <li (click)=\\\"toggle()\\\" [ngClass]=\\\"{active: activeRoute('partner_odh_earning')}\\\"><a [routerLink]=\\\"['/admin/partner_odh_earning']\\\">{{sub_menu_title.partner_odh | translate}}</a></li>\\r\\n                    <li (click)=\\\"toggle()\\\" [ngClass]=\\\"{active: activeRoute('hopper_earning')}\\\"><a [routerLink]=\\\"['/admin/hopper_earning']\\\">{{sub_menu_title.hopper | translate}}</a></li>\\r\\n                    <!-- <li (click)=\\\"toggle()\\\" [ngClass]=\\\"{active: activeRoute('classmate')}\\\"><a [routerLink]=\\\"['/admin/classmate']\\\">{{sub_menu_title.classmate | translate}}</a></li> -->\\r\\n                    <li (click)=\\\"toggle()\\\" [ngClass]=\\\"{active: activeRoute('wallet_detail')}\\\"><a [routerLink]=\\\"['/admin/wallet_detail']\\\">{{sub_menu_title.wallet_history | translate}}</a></li>\\r\\n                    <li (click)=\\\"toggle()\\\" [ngClass]=\\\"{active: activeRoute('store_report')}\\\"><a [routerLink]=\\\"['/admin/store_report']\\\">{{sub_menu_title.store_report | translate}}</a></li>\\r\\n                </ul>\\r\\n            </li>\\r\\n\\r\\n            <li *ngIf=\\\"check_subadmin_access('analytics')\\\" >\\r\\n                <a href=\\\"#\\\"><i class=\\\"fa fa-envelope\\\"></i> \\r\\n                    <span class=\\\"nav-label\\\">{{menu_title.analytics | translate }}</span>\\r\\n                    <span class=\\\"fa arrow\\\"></span>\\r\\n                </a>\\r\\n                <ul class=\\\"nav nav-second-level collapse\\\">\\r\\n                    <li (click)=\\\"toggle()\\\" [ngClass]=\\\"{active: activeRoute('visit_order_analytics')}\\\"><a [routerLink]=\\\"['/admin/visit_order_analytics']\\\">{{sub_menu_title.visit_order_analytics | translate}}</a></li>\\r\\n                    <li (click)=\\\"toggle()\\\" [ngClass]=\\\"{active: activeRoute('general_analytics')}\\\"><a [routerLink]=\\\"['/admin/general_analytics']\\\">{{sub_menu_title.general_analytics | translate}}</a></li>\\r\\n                </ul>\\r\\n            </li>\\r\\n            \\r\\n        </ul>\\r\\n\\r\\n    </div>\\r\\n</nav>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/common/admin/navigation/navigation.template.html\n// module id = 1538\n// module chunks = 0","module.exports = \"<div class=\\\"row border-bottom\\\">\\r\\n    <nav class=\\\"navbar navbar-static-top white-bg full_menu\\\" role=\\\"navigation\\\" style=\\\"margin-bottom: 0;  background-color: #f1f1f1 !important; transition: all 0.4s;\\\">\\r\\n        <span class=\\\"navbar-header\\\">\\r\\n            <a class=\\\"minimalize-styl-2 btn btn-primary \\\" (click)=\\\"toggleNavigation()\\\"><i class=\\\"fa fa-bars\\\"></i> </a>\\r\\n\\r\\n        </span>\\r\\n        <div class=\\\"col-md-10 row\\\" *ngIf=\\\"helper.router.url=='/admin/dispatch'\\\">\\r\\n            <div class=\\\"col-md-4 col-sm-12\\\" style=\\\"padding-top: 18px;font-size: 16px;\\\">\\r\\n                <div class=\\\"col-md-12 col-sm-6 remove_padding\\\">\\r\\n                    <label>Total Hop Delivery Order : {{helper.router_id.hop_order_count}}</label>\\r\\n                    <label>Total Hopper On Demand Order : {{helper.router_id.hopper_order_count}}</label>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-4 col-sm-12\\\" style=\\\"padding-top: 18px;font-size: 16px;\\\">\\r\\n                <div *ngFor=\\\"let city of helper.router_id.city_order_count\\\" class=\\\"col-md-4 col-sm-6 remove_padding\\\">\\r\\n                    <span>{{city.city_name}} : {{city.order_count}}</span>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-4 col-sm-12\\\" style=\\\"padding-top: 18px;font-size: 16px;\\\">\\r\\n                <div class=\\\"col-md-4 col-sm-6 remove_padding\\\">\\r\\n                    <label>Hopper connecté</label>\\r\\n                </div>\\r\\n                <div *ngFor=\\\"let city of helper.router_id.city_hopper_count\\\" class=\\\"col-md-4 col-sm-6 remove_padding\\\">\\r\\n                    <span>{{city.city_name}} : {{city.hopper_count}} \\r\\n                        <b *ngIf=\\\"city.hopper_diff<0\\\" style=\\\"color: red;\\\">{{city.hopper_diff}}</b>\\r\\n                        <b *ngIf=\\\"city.hopper_diff>0\\\" style=\\\"color: green;\\\">+{{city.hopper_diff}}</b>\\r\\n                    </span>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <ul class=\\\"nav navbar-top-links navbar-right\\\">\\r\\n            <!-- <li *ngIf=\\\"helper.router_id.admin.back_url_show\\\">\\r\\n                <a (click)=\\\"back()\\\" style=\\\"color: #222222;\\\"><i class=\\\"fa fa-backward\\\"></i></a>\\r\\n            </li> -->\\r\\n            <li style=\\\"float: right;\\\"><a (click)=\\\"logout()\\\" style=\\\"color: #222222;\\\"><i class=\\\"fa fa-sign-out\\\"></i>Logout</a>\\r\\n            </li>\\r\\n        </ul>\\r\\n\\r\\n    </nav>\\r\\n</div>\\r\\n<!--<div class=\\\"row border-bottom\\\">\\r\\n    <nav class=\\\"navbar navbar-static-top white-bg\\\" role=\\\"navigation\\\" style=\\\"margin-bottom: 0\\\">\\r\\n        <span class=\\\"navbar-header\\\">\\r\\n            <a class=\\\"minimalize-styl-2 btn btn-primary \\\" (click)=\\\"toggleNavigation()\\\"><i class=\\\"fa fa-bars\\\"></i> </a>\\r\\n            \\r\\n        </span>\\r\\n        {{message}}\\r\\n        \\r\\n        <ul class=\\\"nav navbar-top-links navbar-right\\\">\\r\\n            <li>\\r\\n                <a (click)=\\\"logout()\\\">\\r\\n                    <i class=\\\"fa fa-sign-out\\\" ></i> Log out\\r\\n                </a>\\r\\n            </li>\\r\\n        </ul>\\r\\n\\r\\n    </nav>\\r\\n</div>-->\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/common/admin/topnavbar/topnavbar.template.html\n// module id = 1539\n// module chunks = 0","module.exports = \"<div *ngIf=\\\"myLoading\\\"\\r\\n    style=\\\"background-color: black;\\r\\n    opacity: 0.3;\\r\\n    position: absolute;\\r\\n    height: 99.9%;\\r\\n    width: 100%;\\r\\n    z-index: 999999;margin-left: -15px; margin-right: 30px;\\\">\\r\\n    <div class=\\\"text-center\\\">\\r\\n    <h2 class=\\\"loading\\\">Loading...</h2>\\r\\n</div>\\r\\n</div>\\r\\n<!--<div class=\\\"text-center\\\">\\r\\n    <h2 class=\\\"loading\\\">Loading...</h2>\\r\\n</div>-->\\r\\n\\r\\n<img *ngIf=\\\"myLoading\\\" src=\\\"web_images/Spinner.gif\\\" style=\\\"position: absolute;\\r\\n    z-index: 72;\\r\\n    top: 35%;left: 43%;\\\">\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/common/dispatcher/footer/footer.template.html\n// module id = 1540\n// module chunks = 0","module.exports = \"<!-- Wrapper-->\\r\\n<div id=\\\"wrapper\\\">\\r\\n\\r\\n    <!-- Left navigation bar -->\\r\\n    <navigation></navigation>\\r\\n\\r\\n    <!-- Main page wrapper -->\\r\\n    <div id=\\\"page-wrapper\\\" class=\\\"gray-bg\\\">\\r\\n\\r\\n        <!-- Top navigation -->\\r\\n        <topnavbar></topnavbar>\\r\\n\\r\\n        <!-- Main view/routes wrapper-->\\r\\n        <router-outlet></router-outlet>\\r\\n\\r\\n        <!-- Footer -->\\r\\n        <footer></footer>\\r\\n\\r\\n    </div>\\r\\n    <!-- End page wrapper-->\\r\\n\\r\\n</div>\\r\\n<!-- End wrapper-->\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/common/dispatcher/layouts/dispatcher_basic.template.html\n// module id = 1541\n// module chunks = 0","module.exports = \"<!-- View/routes wrapper-->\\r\\n<router-outlet></router-outlet>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/common/dispatcher/layouts/dispatcher_blank.template.html\n// module id = 1542\n// module chunks = 0","module.exports = \"<style type=\\\"text/css\\\">\\r\\n    .scrollbar\\r\\n    {\\r\\n        height: 100%;\\r\\n        background: #fff;\\r\\n        overflow-y: auto;\\r\\n    }\\r\\n\\r\\n    .scrollbar::-webkit-scrollbar-track\\r\\n    {\\r\\n        -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);\\r\\n        background-color: #fff;\\r\\n    }\\r\\n\\r\\n    .scrollbar::-webkit-scrollbar\\r\\n    {\\r\\n        width: 3px;\\r\\n        background-color: #222222;\\r\\n    }\\r\\n\\r\\n    .scrollbar::-webkit-scrollbar-thumb\\r\\n    {\\r\\n        background-color: #000000;\\r\\n    }\\r\\n\\r\\n</style>\\r\\n<nav class=\\\"navbar-default navbar-static-side\\\" role=\\\"navigation\\\">\\r\\n    <div class=\\\"sidebar-collapse scrollbar\\\">\\r\\n        <ul class=\\\"nav metismenu\\\" id=\\\"side-menu\\\">\\r\\n\\r\\n            <li class=\\\"nav-header\\\" style=\\\"background-color: #222222 !important;transition: all 0.4s;\\\" >\\r\\n                <div class=\\\"dropdown profile-element\\\" style=\\\"text-align: center;transition: all 0.4s;\\\">\\r\\n                    <img alt=\\\"image\\\" class=\\\"\\\" style=\\\"height:50px; width:50px;\\\"  src=\\\"web_images/logo.png\\\"/>\\r\\n                    <span class=\\\"block m-t-xs\\\"> <strong class=\\\"font-bold\\\" style=\\\"color: #fff;\\\">{{app_name}}</strong> </span>\\r\\n                </div>\\r\\n                <div class=\\\"logo-element\\\" style=\\\"padding: 10px 0;transition: all 0.4s;\\\">\\r\\n                    <img alt=\\\"image\\\" class=\\\"\\\" style=\\\"height:50px; width:50px;\\\"  src=\\\"web_images/logo.png\\\"/>\\r\\n                </div>\\r\\n            </li>\\r\\n\\r\\n            <li [ngClass]=\\\"{active:activeRoute('orders') }\\\">\\r\\n                <a href=\\\"#\\\"><i class=\\\"fa fa-history\\\"></i> <span class=\\\"nav-label\\\">{{menu_title.orders | translate }}</span> <span class=\\\"fa arrow\\\"></span></a>\\r\\n                <ul class=\\\"nav nav-second-level collapse\\\">\\r\\n                    <li (click)=\\\"toggle()\\\" [ngClass]=\\\"{active: activeRoute('dispatch')}\\\"><a [routerLink]=\\\"['/dispatcher/dispatch']\\\">{{sub_menu_title.dispatch | translate}}</a></li>\\r\\n                    <!-- <li (click)=\\\"toggle()\\\" [ngClass]=\\\"{active: activeRoute('history')}\\\"><a [routerLink]=\\\"['/dispatcher/history']\\\">{{sub_menu_title.history | translate}}</a></li>\\r\\n                    <li (click)=\\\"toggle()\\\" [ngClass]=\\\"{active: activeRoute('request_cancel_reason')}\\\"><a [routerLink]=\\\"['/dispatcher/request_cancel_reason']\\\">{{sub_menu_title.request_cancellation_reason | translate}}</a></li> -->\\r\\n                    <li (click)=\\\"toggle()\\\" [ngClass]=\\\"{active: activeRoute('create_order')}\\\"><a [routerLink]=\\\"['/dispatcher/create_order']\\\">{{sub_menu_title.create_order | translate}}</a></li>\\r\\n                </ul>\\r\\n            </li>\\r\\n\\r\\n            <!-- <li [ngClass]=\\\"{active: activeRoute('users')}\\\" (click)=\\\"toggle($event)\\\">\\r\\n                <a [routerLink]=\\\"['/dispatcher/users']\\\"><i class=\\\"fa fa-user\\\"></i> <span class=\\\"nav-label\\\">{{menu_title.users | translate}}</span> </a>\\r\\n            </li>\\r\\n\\r\\n            <li [ngClass]=\\\"{active: activeRoute('providers')}\\\" (click)=\\\"toggle($event)\\\">\\r\\n                <a [routerLink]=\\\"['/dispatcher/providers']\\\"><i class=\\\"fa fa-motorcycle\\\"></i> <span class=\\\"nav-label\\\">{{menu_title.providers | translate}}</span> </a>\\r\\n            </li>\\r\\n\\r\\n            <li [ngClass]=\\\"{active: activeRoute('stores')}\\\" (click)=\\\"toggle($event)\\\">\\r\\n                <a [routerLink]=\\\"['/dispatcher/stores']\\\"><i class=\\\"fa fa-motorcycle\\\"></i> <span class=\\\"nav-label\\\">{{menu_title.stores | translate}}</span> </a>\\r\\n            </li>\\r\\n\\r\\n            <li [ngClass]=\\\"{active: activeRoute('city')}\\\" (click)=\\\"toggle($event)\\\">\\r\\n                <a [routerLink]=\\\"['/dispatcher/city']\\\"><i class=\\\"fa fa-motorcycle\\\"></i> <span class=\\\"nav-label\\\">{{sub_menu_title.city | translate}}</span> </a>\\r\\n            </li> -->\\r\\n\\r\\n        </ul>\\r\\n\\r\\n    </div>\\r\\n</nav>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/common/dispatcher/navigation/navigation.template.html\n// module id = 1543\n// module chunks = 0","module.exports = \"<div class=\\\"row border-bottom\\\">\\r\\n    <nav class=\\\"navbar navbar-static-top white-bg full_menu\\\" role=\\\"navigation\\\" style=\\\"margin-bottom: 0;  background-color: #f1f1f1 !important; transition: all 0.4s;\\\">\\r\\n        <span class=\\\"navbar-header\\\">\\r\\n            <a class=\\\"minimalize-styl-2 btn btn-primary \\\" (click)=\\\"toggleNavigation()\\\"><i class=\\\"fa fa-bars\\\"></i> </a>\\r\\n\\r\\n        </span>\\r\\n        <ul class=\\\"nav navbar-top-links navbar-right\\\">\\r\\n            <li *ngIf=\\\"helper.router_id.admin.back_url_show\\\"><a (click)=\\\"back()\\\" style=\\\"color: #222222;\\\"><i class=\\\"fa fa-backward\\\"></i></a>\\r\\n            </li>\\r\\n            <li style=\\\"float: right;\\\"><a (click)=\\\"logout()\\\" style=\\\"color: #222222;\\\"><i class=\\\"fa fa-sign-out\\\"></i>Logout</a>\\r\\n            </li>\\r\\n        </ul>\\r\\n\\r\\n    </nav>\\r\\n</div>\\r\\n<!--<div class=\\\"row border-bottom\\\">\\r\\n    <nav class=\\\"navbar navbar-static-top white-bg\\\" role=\\\"navigation\\\" style=\\\"margin-bottom: 0\\\">\\r\\n        <span class=\\\"navbar-header\\\">\\r\\n            <a class=\\\"minimalize-styl-2 btn btn-primary \\\" (click)=\\\"toggleNavigation()\\\"><i class=\\\"fa fa-bars\\\"></i> </a>\\r\\n            \\r\\n        </span>\\r\\n        {{message}}\\r\\n        \\r\\n        <ul class=\\\"nav navbar-top-links navbar-right\\\">\\r\\n            <li>\\r\\n                <a (click)=\\\"logout()\\\">\\r\\n                    <i class=\\\"fa fa-sign-out\\\" ></i> Log out\\r\\n                </a>\\r\\n            </li>\\r\\n        </ul>\\r\\n\\r\\n    </nav>\\r\\n</div>-->\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/common/dispatcher/topnavbar/topnavbar.template.html\n// module id = 1544\n// module chunks = 0","module.exports = \"<div *ngIf=\\\"myLoading\\\" style=\\\"background-color: black;\\r\\n    opacity: 0.3;\\r\\n    position: absolute;\\r\\n    height: 99.9%;\\r\\n    width: 100%;\\r\\n    z-index: 999999;margin-left: -15px; margin-right: 30px;\\\">\\r\\n</div>\\r\\n<img *ngIf=\\\"myLoading\\\" src=\\\"web_images/Spinner.gif\\\" style=\\\"position: fixed;z-index: 72;left: calc(50vw - 100px);\\r\\n    top: calc(50vh - 100px);\\\">\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/common/franchise/footer/footer.template.html\n// module id = 1545\n// module chunks = 0","module.exports = \"<!-- Wrapper-->\\r\\n<div id=\\\"wrapper\\\" style=\\\"height: 100%;\\\">\\r\\n    <footer></footer>\\r\\n\\r\\n    <!-- Left navigation bar -->\\r\\n    <navigation></navigation>\\r\\n\\r\\n    <!-- Main page wrapper -->\\r\\n    <div id=\\\"page-wrapper\\\" class=\\\"gray-bg\\\" style=\\\"min-height: 100vh;\\\">\\r\\n\\r\\n        <!-- Top navigation -->\\r\\n        <topnavbar></topnavbar>\\r\\n\\r\\n        <!-- Main view/routes wrapper-->\\r\\n        <router-outlet></router-outlet>\\r\\n\\r\\n        <!-- Footer -->\\r\\n        \\r\\n\\r\\n    </div>\\r\\n    <!-- End page wrapper-->\\r\\n\\r\\n</div>\\r\\n<!-- End wrapper-->\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/common/franchise/layouts/franchise_basic.template.html\n// module id = 1546\n// module chunks = 0","module.exports = \"<!-- View/routes wrapper-->\\r\\n<router-outlet></router-outlet>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/common/franchise/layouts/franchise_blank.template.html\n// module id = 1547\n// module chunks = 0","module.exports = \"<style type=\\\"text/css\\\">\\r\\n    .scrollbar\\r\\n    {\\r\\n        height: 100%;\\r\\n        background: #fff;\\r\\n        overflow-y: auto;\\r\\n    }\\r\\n\\r\\n    .scrollbar::-webkit-scrollbar-track\\r\\n    {\\r\\n        -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);\\r\\n        background-color: #fff;\\r\\n    }\\r\\n\\r\\n    .scrollbar::-webkit-scrollbar\\r\\n    {\\r\\n        width: 3px;\\r\\n        background-color: #222222;\\r\\n    }\\r\\n\\r\\n    .scrollbar::-webkit-scrollbar-thumb\\r\\n    {\\r\\n        background-color: #000000;\\r\\n    }\\r\\n\\r\\n</style>\\r\\n<nav class=\\\"navbar-default navbar-static-side\\\" role=\\\"navigation\\\">\\r\\n    <div class=\\\"sidebar-collapse scrollbar\\\">\\r\\n        <ul class=\\\"nav metismenu\\\" id=\\\"side-menu\\\">\\r\\n            <li class=\\\"nav-header\\\" (click)=\\\"toggle($event)\\\" style=\\\"background-color: #222222 !important;transition: all 0.4s;\\\" [routerLink]=\\\"['/franchise/profile']\\\">\\r\\n                <div class=\\\"dropdown profile-element\\\" style=\\\"text-align: center;transition: all 0.4s;\\\"> \\r\\n\\r\\n                    <img alt=\\\"image\\\" class=\\\"img-circle\\\" style=\\\"height:50px; width:50px;\\\"  src=\\\"{{image != '' ? image : 'default.png'}}\\\"/>\\r\\n                    <!-- <a data-toggle=\\\"dropdown\\\" class=\\\"dropdown-toggle\\\" href=\\\"#\\\"> -->\\r\\n                        <span class=\\\"block m-t-xs\\\"> <strong class=\\\"font-bold\\\" style=\\\"color: #fff;\\\">{{name}}</strong> </span>\\r\\n                        \\r\\n                    <!-- </a> -->\\r\\n                    <!-- <ul class=\\\"dropdown-menu animated fadeInRight m-t-xs\\\">\\r\\n                        <li><a [routerLink]=\\\"['/store/profile']\\\"><span class=\\\"nav-label\\\">{{menu_title.profile | translate}}</span> </a></li>\\r\\n                        <li><a [routerLink]=\\\"['/store/logout']\\\"><span class=\\\"nav-label\\\">{{menu_title.logout | translate}}</span> </a></li>\\r\\n                    </ul> -->\\r\\n                </div>\\r\\n                <div class=\\\"logo-element\\\" style=\\\"padding: 10px 0;transition: all 0.4s;\\\">\\r\\n                    <img alt=\\\"image\\\" class=\\\"img-circle\\\" style=\\\"height:50px; width:50px;\\\"  src=\\\"{{image}}\\\"/>\\r\\n                </div>\\r\\n            </li>\\r\\n            <li (click)=\\\"toggle($event)\\\" [ngClass]=\\\"{active: activeRoute('order')}\\\">\\r\\n                <a [routerLink]=\\\"['/franchise/order']\\\"><i class=\\\"fa fa-list-alt\\\"></i> <span class=\\\"nav-label\\\">{{menu_title.order | translate}}</span> </a>\\r\\n            </li>\\r\\n            <li [ngClass]=\\\"{active: activeRoute('deliveries')}\\\" (click)=\\\"toggle($event)\\\">\\r\\n                <a [routerLink]=\\\"['/franchise/deliveries']\\\"><i class=\\\"fa fa-list\\\"></i> <span class=\\\"nav-label\\\">{{menu_title.deliveries | translate}}</span> </a>\\r\\n            </li>\\r\\n            <li (click)=\\\"toggle($event)\\\" [ngClass]=\\\"{active: activeRoute('history')}\\\">\\r\\n                <a [routerLink]=\\\"['/franchise/history']\\\"><i class=\\\"fa fa-history\\\"></i> <span class=\\\"nav-label\\\">{{menu_title.history | translate}}</span> </a>\\r\\n            </li>\\r\\n            <li (click)=\\\"toggle($event)\\\" [ngClass]=\\\"{active: activeRoute('store')}\\\">\\r\\n                <a [routerLink]=\\\"['/franchise/stores']\\\"><i class=\\\"fa fa-cube\\\"></i> <span class=\\\"nav-label\\\">{{menu_title.store | translate}}</span> </a>\\r\\n            </li>\\r\\n\\r\\n            <li (click)=\\\"toggle($event)\\\" [ngClass]=\\\"{active: activeRoute('item')}\\\">\\r\\n                <a [routerLink]=\\\"['/franchise/item']\\\"><i class=\\\"fa fa-shopping-cart\\\"></i> <span class=\\\"nav-label\\\">{{menu_title.item | translate}}</span> </a>\\r\\n            </li>\\r\\n            <li (click)=\\\"toggle($event)\\\" [ngClass]=\\\"{active: activeRoute('product')}\\\">\\r\\n                <a [routerLink]=\\\"['/franchise/product']\\\"><i class=\\\"fa fa-cube\\\"></i> <span class=\\\"nav-label\\\">{{menu_title.product | translate}}</span> </a>\\r\\n            </li>\\r\\n\\r\\n        </ul>\\r\\n\\r\\n    </div>\\r\\n</nav>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/common/franchise/navigation/navigation.template.html\n// module id = 1548\n// module chunks = 0","module.exports = \"<button id=\\\"button\\\"  hidden></button>\\r\\n\\r\\n\\r\\n\\r\\n<div class=\\\"row border-bottom\\\">\\r\\n    <nav class=\\\"navbar navbar-static-top white-bg full_menu\\\" role=\\\"navigation\\\" style=\\\"margin-bottom: 0;background-color: #f1f1f1 !important; transition: all 0.4s;\\\">\\r\\n        <span class=\\\"navbar-header\\\">\\r\\n            <a class=\\\"minimalize-styl-2 btn btn-primary \\\" (click)=\\\"toggleNavigation()\\\"><i class=\\\"fa fa-bars\\\"></i> </a>\\r\\n\\r\\n        </span>\\r\\n        <ul class=\\\"nav navbar-top-links navbar-right\\\">\\r\\n            <li style=\\\"float: right;\\\"><a [routerLink]=\\\"['/franchise/logout']\\\" style=\\\"color: #222222;\\\"><i class=\\\"fa fa-sign-out\\\"></i>{{menu_title.logout | translate}}</a>\\r\\n            </li>\\r\\n        </ul>\\r\\n\\r\\n    </nav>\\r\\n</div>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl animated bounceIn\\\" #myModal>\\r\\n    \\r\\n        <modal-header>\\r\\n            <h4 class=\\\"modal-title\\\" style=\\\"color:black;\\\">{{heading_title.you_are_decline | translate}}</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <label style=\\\"color:black;\\\">{{title.please_contact_to_admin | translate}}</label>\\r\\n            \\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <a [routerLink]=\\\"['/franchise/logout']\\\"><i class=\\\"fa fa-sign-out\\\"></i>{{menu_title.logout | translate}}</a>\\r\\n        </modal-footer>\\r\\n    \\r\\n</modal>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/common/franchise/topnavbar/topnavbar.template.html\n// module id = 1549\n// module chunks = 0","module.exports = \"<div *ngIf=\\\"myLoading\\\" style=\\\"background-color: black;\\r\\n    opacity: 0.3;\\r\\n    position: absolute;\\r\\n    height: 99.9%;\\r\\n    width: 100%;\\r\\n    z-index: 999999;margin-left: -15px; margin-right: 30px;\\\">\\r\\n</div>\\r\\n<img *ngIf=\\\"myLoading\\\" src=\\\"web_images/Spinner.gif\\\" style=\\\"position: fixed;z-index: 72;left: calc(50vw - 100px);\\r\\n    top: calc(50vh - 100px);\\\">\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/common/store/footer/footer.template.html\n// module id = 1550\n// module chunks = 0","module.exports = \"<!-- Wrapper-->\\r\\n<div id=\\\"wrapper\\\" style=\\\"height: 100%;\\\">\\r\\n    <footer></footer>\\r\\n\\r\\n    <!-- Left navigation bar -->\\r\\n    <navigation></navigation>\\r\\n\\r\\n    <!-- Main page wrapper -->\\r\\n    <div id=\\\"page-wrapper\\\" class=\\\"gray-bg\\\" style=\\\"min-height: 100vh;\\\">\\r\\n\\r\\n        <!-- Top navigation -->\\r\\n        <topnavbar></topnavbar>\\r\\n\\r\\n        <!-- Main view/routes wrapper-->\\r\\n        <router-outlet></router-outlet>\\r\\n\\r\\n        <!-- Footer -->\\r\\n        \\r\\n\\r\\n    </div>\\r\\n    <!-- End page wrapper-->\\r\\n\\r\\n</div>\\r\\n<!-- End wrapper-->\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/common/store/layouts/store_basic.template.html\n// module id = 1551\n// module chunks = 0","module.exports = \"<!-- View/routes wrapper-->\\r\\n<router-outlet></router-outlet>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/common/store/layouts/store_blank.template.html\n// module id = 1552\n// module chunks = 0","module.exports = \"<style type=\\\"text/css\\\">\\r\\n    .scrollbar\\r\\n    {\\r\\n        height: 100%;\\r\\n        background: #fff;\\r\\n        overflow-y: auto;\\r\\n    }\\r\\n\\r\\n    .scrollbar::-webkit-scrollbar-track\\r\\n    {\\r\\n        -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);\\r\\n        background-color: #fff;\\r\\n    }\\r\\n\\r\\n    .scrollbar::-webkit-scrollbar\\r\\n    {\\r\\n        width: 3px;\\r\\n        background-color: #222222;\\r\\n    }\\r\\n\\r\\n    .scrollbar::-webkit-scrollbar-thumb\\r\\n    {\\r\\n        background-color: #000000;\\r\\n    }\\r\\n\\r\\n</style>\\r\\n<nav class=\\\"navbar-default navbar-static-side\\\" role=\\\"navigation\\\">\\r\\n    <div class=\\\"sidebar-collapse scrollbar\\\">\\r\\n        <ul class=\\\"nav metismenu\\\" id=\\\"side-menu\\\">\\r\\n            <li class=\\\"nav-header\\\" (click)=\\\"toggle($event)\\\" style=\\\"background-color: #222222 !important;transition: all 0.4s;\\\" [routerLink]=\\\"['/store/profile']\\\">\\r\\n                <div class=\\\"dropdown profile-element\\\" style=\\\"text-align: center;transition: all 0.4s;\\\"> \\r\\n\\r\\n                    <img alt=\\\"image\\\" class=\\\"img-circle\\\" style=\\\"height:50px; width:50px;\\\"  src=\\\"{{helper.user_cart.image != '' ? helper.CONSTANT.IMAGE_BASE_URL + helper.user_cart.image : 'default.png'}}\\\"/>\\r\\n                    <!-- <a data-toggle=\\\"dropdown\\\" class=\\\"dropdown-toggle\\\" href=\\\"#\\\"> -->\\r\\n                        <span class=\\\"block m-t-xs\\\"> <strong class=\\\"font-bold\\\" style=\\\"color: #fff;\\\">{{helper.user_cart.name}}</strong> </span>\\r\\n                        \\r\\n                    <!-- </a> -->\\r\\n                    <!-- <ul class=\\\"dropdown-menu animated fadeInRight m-t-xs\\\">\\r\\n                        <li><a [routerLink]=\\\"['/store/profile']\\\"><span class=\\\"nav-label\\\">{{menu_title.profile | translate}}</span> </a></li>\\r\\n                        <li><a [routerLink]=\\\"['/store/logout']\\\"><span class=\\\"nav-label\\\">{{menu_title.logout | translate}}</span> </a></li>\\r\\n                    </ul> -->\\r\\n                </div>\\r\\n                <div class=\\\"logo-element\\\" style=\\\"padding: 10px 0;transition: all 0.4s;\\\">\\r\\n                    <img alt=\\\"image\\\" class=\\\"img-circle\\\" style=\\\"height:50px; width:50px;\\\"  src=\\\"{{helper.CONSTANT.IMAGE_BASE_URL + image}}\\\"/>\\r\\n                </div>\\r\\n            </li>\\r\\n\\r\\n            <li (click)=\\\"toggle($event)\\\" [ngClass]=\\\"{active: activeRoute('whop_setting')}\\\">\\r\\n                <a [routerLink]=\\\"['/store/whop_setting']\\\"><i class=\\\"fa fa-cog\\\"></i> <span class=\\\"nav-label\\\">{{menu_title.whop_setting | translate}}</span> </a>\\r\\n            </li>\\r\\n\\r\\n            <li [ngClass]=\\\"{active: activeRoute('payment_automize')}\\\" (click)=\\\"toggle($event)\\\">\\r\\n                <a [routerLink]=\\\"['/store/payment_automize']\\\"><i class=\\\"fa fa-edit\\\"></i> <span class=\\\"nav-label\\\">{{menu_title.payment_automize | translate}}</span> </a>\\r\\n            </li>\\r\\n\\r\\n            <li [ngClass]=\\\"{active: activeRoute('create_order')}\\\" (click)=\\\"toggle($event)\\\">\\r\\n                <a [routerLink]=\\\"['/store/create_order']\\\"><i class=\\\"fa fa-edit\\\"></i> <span class=\\\"nav-label\\\">{{menu_title.create_order | translate}}</span> </a>\\r\\n            </li>\\r\\n\\r\\n            <!--<li (click)=\\\"toggle($event)\\\" [ngClass]=\\\"{active: activeRoute('upload_document')}\\\">-->\\r\\n                <!--<a [routerLink]=\\\"['/store/upload_document']\\\"><i class=\\\"fa fa-upload\\\"></i> <span class=\\\"nav-label\\\">{{menu_title.upload_document | translate}}</span> </a>-->\\r\\n            <!--</li>-->\\r\\n            <li (click)=\\\"toggle($event)\\\" [ngClass]=\\\"{active: activeRoute('/store/order')}\\\">\\r\\n                <a [routerLink]=\\\"['/store/order']\\\"><i class=\\\"fa fa-list-alt\\\"></i> <span class=\\\"nav-label\\\">{{menu_title.order | translate}}</span> </a>\\r\\n            </li>\\r\\n           <!--  <li [ngClass]=\\\"{active: activeRoute('deliveries')}\\\" (click)=\\\"toggle($event)\\\">\\r\\n                <a [routerLink]=\\\"['/store/deliveries']\\\"><i class=\\\"fa fa-list\\\"></i> <span class=\\\"nav-label\\\">{{menu_title.deliveries | translate}}</span> </a>\\r\\n            </li> -->\\r\\n            <li (click)=\\\"toggle($event)\\\" [ngClass]=\\\"{active: activeRoute('history')}\\\">\\r\\n                <a [routerLink]=\\\"['/store/history']\\\"><i class=\\\"fa fa-history\\\"></i> <span class=\\\"nav-label\\\">{{menu_title.history | translate}}</span> </a>\\r\\n            </li>\\r\\n            <li (click)=\\\"toggle($event)\\\" [ngClass]=\\\"{active: activeRoute('product')}\\\">\\r\\n                <a [routerLink]=\\\"['/store/product']\\\"><i class=\\\"fa fa-cube\\\"></i> <span class=\\\"nav-label\\\">{{menu_title.menu | translate}}</span> </a>\\r\\n            </li>\\r\\n            <!--<li (click)=\\\"toggle($event)\\\" [ngClass]=\\\"{active: activeRoute('item')}\\\">-->\\r\\n                <!--<a [routerLink]=\\\"['/store/item']\\\"><i class=\\\"fa fa-shopping-cart\\\"></i> <span class=\\\"nav-label\\\">{{menu_title.item | translate}}</span> </a>-->\\r\\n            <!--</li>-->\\r\\n\\r\\n            <li (click)=\\\"toggle($event)\\\" [ngClass]=\\\"{active: activeRoute('users')}\\\">\\r\\n                <a [routerLink]=\\\"['/store/users']\\\"><i class=\\\"fa fa-users\\\"></i> <span class=\\\"nav-label\\\">{{menu_title.users | translate}}</span> </a>\\r\\n            </li>\\r\\n\\r\\n            <li (click)=\\\"toggle($event)\\\" [ngClass]=\\\"{active: activeRoute('promocode')}\\\">\\r\\n                <a [routerLink]=\\\"['/store/promocode']\\\"><i class=\\\"fa fa-shopping-cart\\\"></i> <span class=\\\"nav-label\\\">{{menu_title.promocode | translate}}</span> </a>\\r\\n            </li>\\r\\n            \\r\\n            <li (click)=\\\"toggle($event)\\\" [ngClass]=\\\"{active: activeRoute('profile')}\\\">\\r\\n                <a [routerLink]=\\\"['/store/profile']\\\"><i class=\\\"fa fa-cog\\\"></i> <span class=\\\"nav-label\\\">{{menu_title.profile | translate}}</span> </a>\\r\\n            </li>\\r\\n\\r\\n            <li (click)=\\\"toggle($event)\\\" [ngClass]=\\\"{active: activeRoute('setting')}\\\">\\r\\n                <a [routerLink]=\\\"['/store/setting']\\\"><i class=\\\"fa fa-cog\\\"></i> <span class=\\\"nav-label\\\">{{menu_title.setting | translate}}</span> </a>\\r\\n            </li>\\r\\n\\r\\n            <li>\\r\\n                <a href=\\\"#\\\" id=\\\"click_menu\\\"><i class=\\\"fa fa-dollar\\\"></i> <span class=\\\"nav-label\\\">{{menu_title.earning | translate}}</span> <span class=\\\"fa arrow\\\"></span></a>\\r\\n                <ul  id=\\\"earning_submenu\\\" class=\\\"nav nav-second-level collapse\\\">\\r\\n\\r\\n                    <li (click)=\\\"toggle($event)\\\" [ngClass]=\\\"{active: activeRoute('store/earning')}\\\"><a id=\\\"1\\\" [routerLink]=\\\"['/store/earning']\\\">{{menu_title.sub_earning | translate}}</a></li>\\r\\n\\r\\n                    <li (click)=\\\"toggle($event)\\\" [ngClass]=\\\"{active: activeRoute('daily_earning')}\\\"><a id=\\\"2\\\" [routerLink]=\\\"['/store/daily_earning']\\\">{{menu_title.sub_daily_earning | translate}}</a></li>\\r\\n\\r\\n                    <li (click)=\\\"toggle($event)\\\" [ngClass]=\\\"{active: activeRoute('weekly_earning')}\\\"><a id=\\\"3\\\" [routerLink]=\\\"['/store/weekly_earning']\\\">{{menu_title.sub_weekly_earning | translate}}</a></li>\\r\\n                </ul>\\r\\n            </li>\\r\\n\\r\\n            <li (click)=\\\"toggle($event)\\\" [ngClass]=\\\"{active: activeRoute('report')}\\\">\\r\\n                <a [routerLink]=\\\"['/store/report']\\\"><i class=\\\"fa fa-cog\\\"></i> <span class=\\\"nav-label\\\">{{menu_title.report | translate}}</span> </a>\\r\\n            </li>\\r\\n\\r\\n            \\r\\n\\r\\n        </ul>\\r\\n\\r\\n    </div>\\r\\n</nav>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/common/store/navigation/navigation.template.html\n// module id = 1553\n// module chunks = 0","module.exports = \"<button id=\\\"button\\\" (click)=\\\"myNotification.show()\\\" hidden></button>\\r\\n<push-notification #myNotification\\r\\n        [title]=\\\"notification.title\\\"\\r\\n        [body]=\\\"notification.body\\\"\\r\\n        [icon]=\\\"notification.icon\\\"\\r\\n        [closeDelay]=\\\"notification.closeDelay\\\"\\r\\n        (action)=\\\"myShowFunction()\\\">\\r\\n</push-notification>\\r\\n<button id=\\\"no_provider\\\" (click)=\\\"NoProviderNotification.show()\\\" hidden></button>\\r\\n<push-notification #NoProviderNotification\\r\\n                   [title]=\\\"no_provider_notification.title\\\"\\r\\n                   [body]=\\\"no_provider_notification.body\\\"\\r\\n                   [icon]=\\\"no_provider_notification.icon\\\"\\r\\n                   [closeDelay]=\\\"notification.closeDelay\\\"\\r\\n                   (action)=\\\"NO_PROVIDER_FOUND()\\\">\\r\\n</push-notification>\\r\\n\\r\\n\\r\\n\\r\\n<div class=\\\"row border-bottom\\\">\\r\\n    <nav class=\\\"navbar navbar-static-top white-bg full_menu\\\" role=\\\"navigation\\\" style=\\\"margin-bottom: 0;background-color: #f1f1f1 !important; transition: all 0.4s;\\\">\\r\\n        <span class=\\\"navbar-header\\\">\\r\\n            <a class=\\\"minimalize-styl-2 btn btn-primary \\\" (click)=\\\"toggleNavigation()\\\"><i class=\\\"fa fa-bars\\\"></i> </a>\\r\\n\\r\\n        </span>\\r\\n        <ul class=\\\"nav navbar-top-links navbar-right\\\">\\r\\n            <li class=\\\"dropdown\\\" dropdown [dropdownToggle]=\\\"true\\\">\\r\\n                <ul class=\\\"dropdown-menu dropdown-messages\\\" style=\\\"max-height: calc( 100vh - 60px );overflow-y: auto;overflow-x: hidden;\\\">\\r\\n                    <li class=\\\"news_li\\\" *ngFor=\\\"let order of helper.router_id.store.new_order_list; let index=index;\\\" (click)=\\\"get_order_data(order._id)\\\" >\\r\\n                        <div class=\\\"dropdown-messages-box\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\">\\r\\n                                    <div class=\\\"col-md-2 col-xs-2 no_padding\\\">\\r\\n                                        <img class=\\\"img-circle table_image\\\" src=\\\"{{order.user_detail.image_url != '' ? helper.CONSTANT.IMAGE_BASE_URL + order.user_detail.image_url : 'web_images/default.png'}}\\\" />\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-10 col-xs-10 no_padding\\\">\\r\\n                                        <div>You received order <label>{{order.unique_id}}</label> from <label>{{order.user_detail.first_name}}\\r\\n                                            {{order.user_detail.last_name}}</label> for\\r\\n                                            <span *ngFor=\\\"let order_detail of order.cart_detail.order_details; let last=last;\\\">\\r\\n                                                {{order_detail.product_name}}<span *ngIf=\\\"!last\\\">,</span>\\r\\n                                            </span>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </li>\\r\\n                    <li class=\\\"news_li\\\" *ngFor=\\\"let order of helper.router_id.store.no_deliveryman_orders; let index=index;\\\">\\r\\n                        <div class=\\\"dropdown-messages-box\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\">\\r\\n                                    <div class=\\\"col-md-2 col-xs-2 no_padding\\\">\\r\\n                                        <img class=\\\"img-circle table_image\\\" src=\\\"{{order.user_detail.image_url != '' ? helper.CONSTANT.IMAGE_BASE_URL + order.user_detail.image_url : 'web_images/default.png'}}\\\" />\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-10 col-xs-10 no_padding\\\">\\r\\n                                        <div>There is no deliveryman found for order <label>{{order.order_detail.unique_id}}</label></div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </li>\\r\\n                    <!--<li (click)=\\\"go_to_order()\\\">-->\\r\\n                        <!--<div class=\\\"text-center link-block\\\">-->\\r\\n                            <!--<a >-->\\r\\n                                <!--<i class=\\\"fa fa-envelope\\\"></i> <strong>{{helper.button.show_all | translate}}</strong>-->\\r\\n                            <!--</a>-->\\r\\n                        <!--</div>-->\\r\\n                    <!--</li>-->\\r\\n                </ul>\\r\\n            </li>\\r\\n            <!--<li class=\\\"dropdown\\\" dropdown [dropdownToggle]=\\\"true\\\">-->\\r\\n                <!--<a class=\\\"count-info\\\" dropdown-open>-->\\r\\n                    <!--<i class=\\\"fa fa-envelope\\\" style=\\\"color: orange;\\\"></i> <span *ngIf=\\\"helper.router_id.store.no_deliveryman_orders.length>0\\\" class=\\\"label label-danger\\\">{{helper.router_id.store.no_deliveryman_orders.length}}</span>-->\\r\\n                <!--</a>-->\\r\\n                <!--<ul class=\\\"dropdown-menu dropdown-messages\\\" style=\\\"max-height: calc( 100vh - 60px );overflow: auto;\\\">-->\\r\\n                    <!--<li class=\\\"news_li\\\" *ngFor=\\\"let order of helper.router_id.store.no_deliveryman_orders; let index=index;\\\">-->\\r\\n                        <!--<div class=\\\"dropdown-messages-box\\\">-->\\r\\n                            <!--<div class=\\\"row\\\">-->\\r\\n                                <!--<div class=\\\"col-md-12 col-sm-12 col-xs-12\\\">-->\\r\\n                                    <!--<div class=\\\"col-md-2 col-xs-2 no_padding\\\">-->\\r\\n                                        <!--<img class=\\\"img-circle table_image\\\" src=\\\"{{order.user_detail.image_url != '' ? order.user_detail.image_url : 'web_images/default.png'}}\\\" />-->\\r\\n                                    <!--</div>-->\\r\\n                                    <!--<div class=\\\"col-md-10 col-xs-10 no_padding\\\">-->\\r\\n                                        <!--<div>There is no deliveryman found for order <label>{{order.order_detail.unique_id}}</label></div>-->\\r\\n                                    <!--</div>-->\\r\\n                                <!--</div>-->\\r\\n                            <!--</div>-->\\r\\n                        <!--</div>-->\\r\\n                    <!--</li>-->\\r\\n                    <!--<li (click)=\\\"go_to_deliveries()\\\">-->\\r\\n                        <!--<div class=\\\"text-center link-block\\\">-->\\r\\n                            <!--<a >-->\\r\\n                                <!--<i class=\\\"fa fa-envelope\\\"></i> <strong>{{helper.button.show_all | translate}}</strong>-->\\r\\n                            <!--</a>-->\\r\\n                        <!--</div>-->\\r\\n                    <!--</li>-->\\r\\n                <!--</ul>-->\\r\\n            <!--</li>-->\\r\\n            <li style=\\\"float: right;\\\"><a [routerLink]=\\\"['/store/logout']\\\" style=\\\"color: #222222;\\\"><i class=\\\"fa fa-sign-out\\\"></i>{{menu_title.logout | translate}}</a>\\r\\n            </li>\\r\\n        </ul>\\r\\n\\r\\n    </nav>\\r\\n</div>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-sm animated bounceIn\\\" #myModal>\\r\\n    \\r\\n        <modal-header>\\r\\n            <h4 class=\\\"modal-title\\\" style=\\\"color:black;\\\">{{heading_title.you_are_decline | translate}}</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <label style=\\\"color:black;\\\">{{title.please_contact_to_admin | translate}} </label>\\r\\n            <div>\\r\\n                <label style=\\\"color:black;\\\">{{title.admin_phone | translate}} - </label>\\r\\n                <span>{{admin_phone}}</span>\\r\\n            </div>\\r\\n            <div>\\r\\n                <label style=\\\"color:black;\\\">{{title.admin_email | translate}} - </label>\\r\\n                <span>{{admin_email}}</span>\\r\\n            </div>\\r\\n            \\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <a [routerLink]=\\\"['/store/logout']\\\"><i class=\\\"fa fa-sign-out\\\"></i>{{menu_title.logout | translate}}</a>\\r\\n        </modal-footer>\\r\\n    \\r\\n</modal>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/common/store/topnavbar/topnavbar.template.html\n// module id = 1554\n// module chunks = 0","module.exports = \"<div style=\\\"width: 100% height: auto;min-height: 100vh;\\\">\\r\\n    <img style=\\\"width: 100%; height: auto;min-height: 100vh;\\\" src=\\\"{{helper.CONSTANT.IMAGE_BASE_URL}}images/404.png\\\" alt=\\\"\\\">\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/404/404.component.html\n// module id = 1555\n// module chunks = 0","module.exports = \"<div style=\\\"width: 100% height: auto;min-height: 100vh;\\\">\\r\\n    <img style=\\\"width: 100%; height: auto;min-height: 100vh;\\\" src=\\\"{{helper.CONSTANT.IMAGE_BASE_URL}}images/502.png\\\" alt=\\\"\\\">\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/502/502.component.html\n// module id = 1556\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer> \\r\\n<form #adminForm=\\\"ngForm\\\" (ngSubmit)=\\\"AddAdmin(adminForm.value)\\\" >\\r\\n    <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"admin_id\\\"   name=\\\"admin_id\\\" />\\r\\n    <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_admin.urls\\\" #urls=\\\"ngModel\\\"  name=\\\"urls\\\" />\\r\\n\\r\\n    <div class=\\\"row wrapper col-sm-12 col-md-12 col-xs-12 col-lg-12 fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n        <div class=\\\"row\\\">\\r\\n            <div *ngIf=\\\"type=='add'\\\" class=\\\"col-md-3 col-sm-12 pull-right new_submit_button\\\">\\r\\n                <input  type=\\\"submit\\\" id=\\\"submit\\\" name=\\\"submit\\\"  class=\\\"btn btn-primary\\\" value=\\\"{{button.submit | translate}}\\\" >\\r\\n            </div>\\r\\n            <div *ngIf=\\\"type=='edit'\\\" class=\\\"col-md-3 col-sm-12 pull-right new_submit_button\\\">\\r\\n                <input type=\\\"submit\\\" id=\\\"update\\\" name=\\\"update\\\"  class=\\\"btn btn-primary\\\" value=\\\"{{button.update | translate}}\\\" >\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n    <div class=\\\"wrapper wrapper-content content_top_bar_view animated fadeInRight\\\">\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\">\\r\\n                    <label class=\\\"control-label\\\">{{heading_title.admin_data}}</label>\\r\\n\\r\\n                </div>\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-md-3\\\">\\r\\n                            <label class=\\\"control-label\\\">{{title.type | translate}}</label>\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <select chosen class=\\\"form-control chosen-select\\\" id=\\\"admin_type\\\" [(ngModel)]=\\\"add_admin.admin_type\\\" #admin_type=\\\"ngModel\\\"  name=\\\"admin_type\\\" required>\\r\\n\\r\\n                                    <option value=\\\"1\\\">{{title.admin_title | translate}}</option>\\r\\n                                    <option value=\\\"3\\\">{{title.sub_admin_title | translate}}</option>\\r\\n                                    <option value=\\\"5\\\">{{title.dispatcher | translate}}</option>\\r\\n\\r\\n                                </select>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-3\\\">\\r\\n                            <label class=\\\"control-label\\\">{{title.username | translate}}</label>\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_admin.username\\\" #username=\\\"ngModel\\\"  name=\\\"username\\\" required />\\r\\n                                <div *ngIf=\\\"username.errors && (username.dirty || username.touched)\\\">\\r\\n                                    <div style=\\\"color: red;\\\" [hidden]=\\\"!username.errors.required\\\">{{validation_message.admin_name_required | translate}}</div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-3\\\">\\r\\n                            <label class=\\\"control-label\\\">{{title.a_email | translate}}</label>\\r\\n                            <div class=\\\"form-group\\\" *ngIf=\\\"type=='add'\\\">\\r\\n                                <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_admin.email\\\" #email=\\\"ngModel\\\"  name=\\\"email\\\" required />\\r\\n                                <div *ngIf=\\\"email.errors && (email.dirty || email.touched)\\\">\\r\\n                                    <div style=\\\"color: red;\\\" [hidden]=\\\"!email.errors.required\\\">{{validation_message.admin_email_required | translate}}</div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"form-group\\\" *ngIf=\\\"type=='edit'\\\">\\r\\n                                <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_admin.email\\\" #email=\\\"ngModel\\\"  name=\\\"email\\\" readonly />\\r\\n\\r\\n                            </div> \\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-3\\\">\\r\\n                            <label class=\\\"control-label\\\">{{title.password | translate}}</label>\\r\\n                            <input type=\\\"password\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_admin.password\\\" #password=\\\"ngModel\\\" placeholder=\\\"{{title.password}}\\\" name=\\\"password\\\" required />\\r\\n                            <div *ngIf=\\\"password.errors && (password.dirty || password.touched)\\\">\\r\\n                                <div style=\\\"color: red;\\\" [hidden]=\\\"!password.errors.required\\\">{{validation_message.admin_password_required | translate}}</div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"row\\\" [hidden]=\\\"hide_fidpatch()\\\">\\r\\n                        <div class=\\\"col-md-3 col-sm-6\\\">\\r\\n                            <div class=\\\"lable_center\\\">\\r\\n                                <label>{{title.team | translate}}</label>\\r\\n                            </div>\\r\\n                            <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                                <select chosen class=\\\"chosen-select\\\" id=\\\"team_id\\\" [(ngModel)]=\\\"add_admin.team_id\\\" name=\\\"team_id\\\" tabindex=\\\"4\\\">\\r\\n                                    <option *ngFor=\\\"let i of team_list\\\" value=\\\"{{i._id}}\\\">{{i.name}}</option>\\r\\n                                </select>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"ibox\\\"  style=\\\"margin-top:35px;\\\" *ngIf=\\\"add_admin.admin_type == 3\\\">\\r\\n                <div class=\\\"ibox-title\\\">\\r\\n                    <label class=\\\"control-label\\\">{{heading_title.admin_menu}}</label>\\r\\n\\r\\n                </div>\\r\\n                <div class=\\\"ibox-content\\\" style=\\\"padding-bottom: 0px;\\\">\\r\\n                    <div class=\\\"row form-group\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12\\\">\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <div class=\\\"col-md-3\\\" *ngFor=\\\"let i of url_list\\\" style=\\\"margin: 5px;\\\">\\r\\n                                         <label><input class=\\\"icheck\\\" [checked]=\\\"add_admin.urls.indexOf(i.ID)!==-1\\\" type=\\\"checkbox\\\" value=\\\"{{i.ID}}\\\" /><span style=\\\"margin-left: 10px;\\\">{{i.NAME}}</span></label>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n</form>\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/add_admin/add_admin.component.html\n// module id = 1557\n// module chunks = 0","module.exports = \"<form #advertiseForm=\\\"ngForm\\\" (ngSubmit)=\\\"AddAdvertisement(advertiseForm.value)\\\" enctype='multipart/form-data' >\\r\\n    <div class=\\\"row wrapper col-sm-12 col-md-12 col-xs-12 col-lg-12 fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n        <div class=\\\"row\\\">\\r\\n            <div *ngIf=\\\"type=='add'\\\" class=\\\"col-md-3 col-sm-12 pull-right new_submit_button\\\">\\r\\n                <input  type=\\\"submit\\\" id=\\\"submit\\\" name=\\\"submit\\\"  class=\\\"btn btn-primary\\\" value=\\\"{{button.submit | translate}}\\\" >\\r\\n            </div>\\r\\n            <div *ngIf=\\\"type=='edit'\\\" class=\\\"col-md-3 col-sm-12 pull-right new_submit_button\\\">\\r\\n                <input type=\\\"submit\\\" id=\\\"update\\\" name=\\\"update\\\"  class=\\\"btn btn-primary\\\" value=\\\"{{button.update | translate}}\\\" >\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n    <div class=\\\"wrapper wrapper-content content_top_bar_view animated fadeInRight\\\">\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-lg-12\\\">\\r\\n                <div class=\\\"col-lg-6 col-sm-9\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.advertise_data | translate}}</label>  \\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"advertise_id\\\"   name=\\\"advertise_id\\\" />\\r\\n                                <!--                                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_advertise.city_id\\\" #city_id=\\\"ngModel\\\" name=\\\"city_id\\\"    />-->\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.country | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group add\\\">\\r\\n                                        <select chosen class=\\\"chosen-select\\\" id=\\\"country\\\" [(ngModel)]=\\\"add_advertise.country_id\\\" #country_id=\\\"ngModel\\\" name=\\\"country_id\\\" data-placeholder=\\\"Select Country\\\"  tabindex=\\\"4\\\"  required>\\r\\n\\r\\n                                            <option *ngFor=\\\"let i of country_list\\\" value=\\\"{{i._id}}\\\">{{i.country_name}}</option>\\r\\n                                        </select> \\r\\n                                        <div *ngIf=\\\"country_id.errors\\\">\\r\\n                                            <div style=\\\"color: red;\\\" [hidden]=\\\"!country_id.errors.required\\\">{{validation_message.select_country_required | translate}}</div>\\r\\n                                        </div>\\r\\n\\r\\n                                    </div> \\r\\n\\r\\n                                    <div *ngIf=\\\"type=='edit'\\\"  class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_advertise.country_name\\\" #country_name=\\\"ngModel\\\"  name=\\\"country_name\\\" readonly/>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-md-4 control-label\\\">{{title.prov_city | translate}}</label>\\r\\n                                    <div class=\\\"col-lg-8 form-group add\\\">\\r\\n                                        <select chosen class=\\\"chosen-select\\\" id=\\\"city\\\" [(ngModel)]=\\\"add_advertise.city_id\\\" #city_id=\\\"ngModel\\\" name=\\\"city_id\\\" data-placeholder=\\\"Select City\\\"  tabindex=\\\"4\\\" >\\r\\n                                            <option value=\\\"000000000000000000000000\\\">{{title.all | translate}}</option>\\r\\n                                            <option *ngFor=\\\"let i of city_list\\\" value=\\\"{{i._id}}\\\">{{i.city_name}}</option>\\r\\n                                        </select> \\r\\n                                        <div *ngIf=\\\"city_id.errors\\\">\\r\\n                                            <div style=\\\"color: red;\\\" [hidden]=\\\"!city_id.errors.required\\\">{{validation_message.select_city_required | translate}}</div>\\r\\n                                        </div>\\r\\n\\r\\n                                    </div>\\r\\n\\r\\n                                    <div *ngIf=\\\"type=='edit'\\\"  class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_advertise.city_name\\\" #city_name=\\\"ngModel\\\"  name=\\\"city_name\\\" readonly/>\\r\\n                                    </div>\\r\\n\\r\\n                                </div>  \\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-md-4 control-label\\\">{{title.ads_detail | translate}}</label>\\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <textarea class=\\\"form-control\\\" [(ngModel)]=\\\"add_advertise.ads_detail\\\" #ads_detail=\\\"ngModel\\\"  name=\\\"ads_detail\\\" required ></textarea>\\r\\n                                        <!--                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_advertise.ads_detail\\\" #ads_detail=\\\"ngModel\\\"  name=\\\"ads_detail\\\" required/>-->\\r\\n                                    </div>\\r\\n                                </div> \\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-md-4 control-label\\\">{{title.ads_type | translate}}</label>\\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <select chosen class=\\\"form-control chosen-select\\\" id=\\\"ads_type\\\" [(ngModel)]=\\\"add_advertise.ads_type\\\" #ads_type=\\\"ngModel\\\"  name=\\\"ads_type\\\" >\\r\\n\\r\\n                                            <option value=\\\"1\\\">{{title.banner}}</option>\\r\\n                                            <option value=\\\"2\\\">{{title.fullscreen}}</option>\\r\\n                                        </select>\\r\\n                                    </div> \\r\\n                                </div> \\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-md-4 control-label\\\">{{title.ads_for | translate}}</label>\\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <select chosen class=\\\"form-control chosen-select\\\" id=\\\"ads_for\\\" [(ngModel)]=\\\"add_advertise.ads_for\\\" #ads_for=\\\"ngModel\\\"  name=\\\"ads_for\\\" >\\r\\n\\r\\n                                            <option value=\\\"1\\\">{{title.delivery_list}}</option>\\r\\n                                            <option value=\\\"2\\\">{{title.store_list}}</option>\\r\\n                                            <!--                                            <option value=\\\"3\\\">{{title.in_store}}</option>-->\\r\\n                                        </select>\\r\\n                                    </div> \\r\\n                                </div> \\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-md-4 control-label\\\">{{title.is_ads_visible | translate}}</label>\\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <ui-switch [(ngModel)]=\\\"add_advertise.is_ads_visible\\\" #is_ads_visible=\\\"ngModel\\\" name=\\\"is_ads_visible\\\"></ui-switch>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-md-4 control-label\\\">{{title.approve_by_admin | translate}}</label>\\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <ui-switch [(ngModel)]=\\\"add_advertise.is_ads_approve_by_admin\\\" #is_ads_approve_by_admin=\\\"ngModel\\\" name=\\\"is_ads_approve_by_admin\\\"></ui-switch>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-md-4 control-label\\\">{{title.expiry_date | translate}}</label>\\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <ui-switch [(ngModel)]=\\\"add_advertise.is_ads_have_expiry_date\\\" #is_ads_have_expiry_date=\\\"ngModel\\\" name=\\\"is_ads_have_expiry_date\\\"></ui-switch>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\" *ngIf=\\\"add_advertise.is_ads_have_expiry_date==true\\\">\\r\\n                                    <label class=\\\"col-md-4 control-label\\\">{{title.expiry_date | translate}}</label>\\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <my-date-picker [options]=\\\"helper.promocodeStartDatePickerOptions\\\" placeholder=\\\"{{title.select_date | translate}}\\\"   [(ngModel)]=\\\"add_advertise.expiry_date\\\" #expiry_date=\\\"ngModel\\\"  name=\\\"expiry_date\\\" (dateChanged)=\\\"helper.promocodeOnStartDateChanged($event)\\\"\\r\\n                                            required>\\r\\n                                                \\r\\n                                        </my-date-picker>\\r\\n<!--                                        <my-date-picker [(ngModel)]=\\\"add_advertise.expiry_date\\\" #expiry_date=\\\"ngModel\\\"  name=\\\"expiry_date\\\"  value=\\\"\\\" [options]=\\\"helper.ExpiryDatePickerOptions\\\" placeholder=\\\"{{title.exp_date | translate}}\\\"></my-date-picker>-->\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-md-4 control-label\\\">{{title.redirect_to_store | translate}}</label>\\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <ui-switch [(ngModel)]=\\\"add_advertise.is_ads_redirect_to_store\\\" #is_ads_redirect_to_store=\\\"ngModel\\\" name=\\\"is_ads_redirect_to_store\\\"></ui-switch>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\" [hidden]=\\\"add_advertise.is_ads_redirect_to_store==false\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.store | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <select chosen class=\\\"chosen-select\\\" id=\\\"store\\\" [(ngModel)]=\\\"add_advertise.store_id\\\" #store_id=\\\"ngModel\\\" name=\\\"store_id\\\" data-placeholder=\\\"Select Store\\\"  tabindex=\\\"4\\\">\\r\\n\\r\\n                                            <option *ngFor=\\\"let i of store_list\\\" value=\\\"{{i._id}}\\\">{{i.email}}</option>\\r\\n                                        </select> \\r\\n                                    </div>\\r\\n\\r\\n                                </div>\\r\\n\\r\\n\\r\\n\\r\\n                                <div class=\\\"col-md-12\\\">\\r\\n                                    <div class=\\\"row\\\">\\r\\n                                        <label class=\\\"col-lg-6 control-label\\\" *ngIf=\\\"add_advertise.ads_type==1\\\">{{title.image_for_banner | translate}}</label>\\r\\n                                        <label class=\\\"col-lg-6 control-label\\\" *ngIf=\\\"add_advertise.ads_type==2\\\">{{title.image_for_fullscreen | translate}}</label>  \\r\\n\\r\\n                                    </div>\\r\\n\\r\\n                                    <div class=\\\"row\\\">\\r\\n                                        <div class=\\\"form-group col-lg-6 col-md-6 col-xs-6\\\">\\r\\n                                            <div  style=\\\"width: 100%;height:131px;\\\">\\r\\n                                                <div class=\\\"col-lg-12 profile-images center\\\">\\r\\n                                                    <span class=\\\"btn-file\\\" *ngIf=\\\"add_advertise.ads_type==1\\\"><img style=\\\"width: 110px;height: 110px;\\\" src=\\\"{{add_advertise.image_url != '' ? add_advertise.image_url : 'plus_box.png'}}\\\" alt=\\\"\\\"><input type=\\\"file\\\" accept=\\\"image/*\\\"  (change)=\\\"web_image_update($event);\\\"   name=\\\"image_url\\\"></span>\\r\\n                                                    <span class=\\\"btn-file\\\" *ngIf=\\\"add_advertise.ads_type==2\\\"><img style=\\\"width: 110px;height: 110px;\\\" src=\\\"{{add_advertise.image_url != '' ? add_advertise.image_url : 'plus_box.png'}}\\\" alt=\\\"\\\"><input type=\\\"file\\\" accept=\\\"image/*\\\"  (change)=\\\"full_image_update($event);\\\"   name=\\\"image_url\\\"></span>\\r\\n                                                </div>\\r\\n                                                \\r\\n                                            </div>\\r\\n                                            <div class=\\\"col-lg-12 text_center\\\">\\r\\n                                                <span style=\\\"color: red;\\\">{{image_error | translate}}</span>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n\\r\\n\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-12\\\">\\r\\n                                    <div class=\\\"row\\\">\\r\\n                                        <label class=\\\"control-label\\\" style=\\\"color:#bc202b;\\\">{{title.note_for_image | translate}}:-</label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"row\\\">\\r\\n                                        <label class=\\\"control-label\\\" *ngIf=\\\"add_advertise.ads_type==1\\\">{{title.image_note1 | translate}} {{image_setting.image_min_width}}x{{image_setting.image_min_height}}\\r\\n                                            {{title.image_note2 | translate}} {{image_setting.image_max_width}}x{{image_setting.image_max_height}}),</label><br>\\r\\n                                        <label class=\\\"control-label\\\" *ngIf=\\\"add_advertise.ads_type==2\\\">{{title.image_note1 | translate}} {{image_setting.image_min_width_full}}x{{image_setting.image_min_height_full}}\\r\\n                                            {{title.image_note2 | translate}} {{image_setting.image_max_width_full}}x{{image_setting.image_max_height_full}}),</label><br>\\r\\n                                        <label class=\\\"control-label\\\" *ngIf=\\\"add_advertise.ads_type==1\\\">{{title.image_note3 | translate}} {{image_setting.image_ratio}} {{title.image_note4 | translate}} </label>\\r\\n                                        <label class=\\\"control-label\\\" *ngIf=\\\"add_advertise.ads_type==2\\\">{{title.image_note3 | translate}} {{image_setting.image_ratio_full}} {{title.image_note4 | translate}} </label>\\r\\n                                        <label *ngFor=\\\"let i of image_setting.image_type; let last=last;\\\"> {{(i.split('/'))[1]}}<label [hidden]=\\\"last\\\">,</label> </label>\\r\\n                                        <label class=\\\"control-label\\\"> {{title.image_note5 | translate}}</label>\\r\\n\\r\\n                                        <!--                                        <p>{{image_note}}</p>\\r\\n                                                                                <p>{{image_note_ratio}}</p>-->\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n                            </div>\\r\\n                            <!--                            <div class=\\\"row\\\">   \\r\\n                                                            <div class=\\\"col-lg-4\\\">\\r\\n                                                            </div>\\r\\n                                                            <div *ngIf=\\\"type=='add'\\\" class=\\\"col-lg-4\\\" style=\\\"text-align: center;\\\">\\r\\n                                                                <input type=\\\"submit\\\"  name=\\\"submit\\\" style=\\\"width: 60%;\\\" class=\\\"btn btn-primary\\\" value=\\\"{{button.submit | translate}}\\\" >\\r\\n                                                            </div>\\r\\n                                                            <div *ngIf=\\\"type=='edit'\\\" class=\\\"col-lg-4\\\" style=\\\"text-align: center;\\\">\\r\\n                                                                <input type=\\\"submit\\\"  id=\\\"update\\\" name=\\\"update\\\" style=\\\"width: 60%;\\\" class=\\\"btn btn-primary\\\" value=\\\"{{button.update | translate}}\\\" >\\r\\n                                                            </div>\\r\\n                            \\r\\n                                                        </div>-->\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</form>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl animated fadeInDownBig\\\" #image_crop_modal>\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n        <img-cropper #cropper [image]=\\\"data\\\" [settings]=\\\"cropperSettings\\\"></img-cropper><br>\\r\\n        {{cropperSettings.croppedWidth}}\\r\\n        {{cropperSettings.croppedHeight}}\\r\\n        <div class=\\\"col-lg-12 text_center\\\">\\r\\n            <span style=\\\"color: red;\\\">{{image_error | translate}}</span>\\r\\n        </div>\\r\\n\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n        <div style=\\\"text-align: center\\\">\\r\\n            <button type=\\\"button\\\" (click)=\\\"crop($event)\\\" class=\\\"btn btn-primary\\\">{{button.done | translate}}</button>\\r\\n        </div>\\r\\n    </modal-footer>\\r\\n</modal>\\r\\n\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl animated fadeInDownBig\\\" #image_crop_modal_full>\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n        <img-cropper #cropper_full [image]=\\\"data\\\" [settings]=\\\"cropperSettingsFull\\\"></img-cropper><br>\\r\\n        {{cropperSettingsFull.croppedWidth}}\\r\\n        {{cropperSettingsFull.croppedHeight}}\\r\\n        <div class=\\\"col-lg-12 text_center\\\">\\r\\n            <span style=\\\"color: red;\\\">{{image_error | translate}}</span>\\r\\n        </div>\\r\\n\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n        <div style=\\\"text-align: center\\\">\\r\\n            <button type=\\\"button\\\" (click)=\\\"cropFull($event)\\\" class=\\\"btn btn-primary\\\">{{button.done | translate}}</button>\\r\\n        </div>\\r\\n    </modal-footer>\\r\\n</modal>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/add_advertise/add_advertise.component.html\n// module id = 1558\n// module chunks = 0","module.exports = \"<style>\\r\\n  #panel {\\r\\n    width: 200px;\\r\\n    font-family: Arial, sans-serif;\\r\\n    font-size: 13px;\\r\\n    float: right;\\r\\n    margin: 10px;\\r\\n  }\\r\\n\\r\\n  #color-palette {\\r\\n    clear: both;\\r\\n  }\\r\\n\\r\\n  .color-button {\\r\\n    width: 14px;\\r\\n    height: 14px;\\r\\n    font-size: 0;\\r\\n    margin: 2px;\\r\\n    float: left;\\r\\n    cursor: pointer;\\r\\n  }\\r\\n</style>\\r\\n\\r\\n<footer [myLoading]=\\\"myLoading\\\"></footer>\\r\\n<form #cityForm=\\\"ngForm\\\" (ngSubmit)=\\\"addCity(cityForm.value)\\\">\\r\\n  <div\\r\\n    class=\\\"row wrapper col-sm-12 col-md-12 col-xs-12 col-lg-12 fix_search_bar border-bottom white-bg page-heading\\\"\\r\\n  >\\r\\n    <div class=\\\"row\\\">\\r\\n      <div *ngIf=\\\"type == 'add'\\\" class=\\\"col-md-3 col-sm-12 pull-right\\\">\\r\\n        <input\\r\\n          type=\\\"submit\\\"\\r\\n          id=\\\"submit\\\"\\r\\n          name=\\\"submit\\\"\\r\\n          class=\\\"btn btn-primary\\\"\\r\\n          value=\\\"{{ button.submit | translate }}\\\"\\r\\n        />\\r\\n      </div>\\r\\n      <div\\r\\n        *ngIf=\\\"type == 'edit' && selected_tab != 'sms'\\\"\\r\\n        class=\\\"col-md-3 col-sm-12 pull-right\\\"\\r\\n      >\\r\\n        <input\\r\\n          type=\\\"submit\\\"\\r\\n          id=\\\"update\\\"\\r\\n          name=\\\"update\\\"\\r\\n          class=\\\"btn btn-primary\\\"\\r\\n          value=\\\"{{ button.update | translate }}\\\"\\r\\n        />\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n  <div\\r\\n    class=\\\"wrapper wrapper-content content_top_bar_view animated fadeInRight\\\"\\r\\n  >\\r\\n    <div class=\\\"row\\\">\\r\\n      <div class=\\\"col-lg-12\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n          <div class=\\\"wizard\\\">\\r\\n            <div class=\\\"steps clearfix\\\">\\r\\n              <ul style=\\\"display: table; padding: 0px\\\">\\r\\n                <li\\r\\n                  style=\\\"margin: 0px !important; border: 0px; width: 100px\\\"\\r\\n                  (click)=\\\"selected_tab = 'city'\\\"\\r\\n                  [class.current]=\\\"selected_tab == 'city'\\\"\\r\\n                >\\r\\n                  <a\\r\\n                    style=\\\"\\r\\n                      border-bottom-right-radius: 0px;\\r\\n                      text-align: center;\\r\\n                      border-bottom-left-radius: 0px;\\r\\n                      border: 0px;\\r\\n                    \\\"\\r\\n                    class=\\\"btn-default\\\"\\r\\n                    ><span\\r\\n                      style=\\\"font-weight: bold; display: block\\\"\\r\\n                      class=\\\"nav-label\\\"\\r\\n                      >{{ title.city | translate }}</span\\r\\n                    ></a\\r\\n                  >\\r\\n                </li>\\r\\n                <li\\r\\n                  style=\\\"margin: 0px !important; border: 0px; width: 100px\\\"\\r\\n                  (click)=\\\"selected_tab = 'zone'\\\"\\r\\n                  [class.current]=\\\"selected_tab == 'zone'\\\"\\r\\n                >\\r\\n                  <a\\r\\n                    style=\\\"\\r\\n                      border-bottom-right-radius: 0px;\\r\\n                      text-align: center;\\r\\n                      border-bottom-left-radius: 0px;\\r\\n                      border: 0px;\\r\\n                    \\\"\\r\\n                    class=\\\"btn-default\\\"\\r\\n                    ><span\\r\\n                      style=\\\"font-weight: bold; display: block\\\"\\r\\n                      class=\\\"nav-label\\\"\\r\\n                      >{{ title.zone | translate }}</span\\r\\n                    ></a\\r\\n                  >\\r\\n                </li>\\r\\n\\r\\n                <li\\r\\n                  style=\\\"margin: 0px !important; border: 0px; width: 100px\\\"\\r\\n                  *ngIf=\\\"add_city.sms_configurations.length > 0\\\"\\r\\n                  (click)=\\\"sms_tab_active()\\\"\\r\\n                  [class.current]=\\\"selected_tab == 'sms'\\\"\\r\\n                >\\r\\n                  <a\\r\\n                    style=\\\"\\r\\n                      border-bottom-right-radius: 0px;\\r\\n                      text-align: center;\\r\\n                      border-bottom-left-radius: 0px;\\r\\n                      border: 0px;\\r\\n                    \\\"\\r\\n                    class=\\\"btn-default\\\"\\r\\n                    ><span\\r\\n                      style=\\\"font-weight: bold; display: block\\\"\\r\\n                      class=\\\"nav-label\\\"\\r\\n                      >{{ title.sms | translate }}</span\\r\\n                    ></a\\r\\n                  >\\r\\n                </li>\\r\\n              </ul>\\r\\n            </div>\\r\\n            <div\\r\\n              class=\\\"ibox-content\\\"\\r\\n              style=\\\"background-color: #f3f3f4; margin-top: -1px\\\"\\r\\n            >\\r\\n              <div class=\\\"row\\\" [hidden]=\\\"selected_tab != 'city'\\\">\\r\\n                <div class=\\\"col-lg-12\\\">\\r\\n                  <div class=\\\"col-lg-4 col-sm-6\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                      <div class=\\\"ibox-title\\\">\\r\\n                        <label class=\\\"control-label\\\">{{\\r\\n                          heading_title.city_data | translate\\r\\n                        }}</label>\\r\\n                      </div>\\r\\n                      <div class=\\\"ibox-content\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                          <input\\r\\n                            type=\\\"hidden\\\"\\r\\n                            class=\\\"form-control\\\"\\r\\n                            [(ngModel)]=\\\"city_id\\\"\\r\\n                            name=\\\"city_id\\\"\\r\\n                          />\\r\\n                          <input\\r\\n                            type=\\\"hidden\\\"\\r\\n                            class=\\\"form-control\\\"\\r\\n                            [(ngModel)]=\\\"add_city.deliveries_in_city\\\"\\r\\n                            #deliveries_in_city=\\\"ngModel\\\"\\r\\n                            name=\\\"deliveries_in_city\\\"\\r\\n                          />\\r\\n                          <input\\r\\n                            type=\\\"hidden\\\"\\r\\n                            class=\\\"form-control\\\"\\r\\n                            [(ngModel)]=\\\"add_city.payment_gateway\\\"\\r\\n                            #payment_gateway=\\\"ngModel\\\"\\r\\n                            name=\\\"payment_gateway\\\"\\r\\n                          />\\r\\n\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-4 control-label\\\">{{\\r\\n                              title.country | translate\\r\\n                            }}</label>\\r\\n                            <div class=\\\"col-lg-8 form-group add\\\">\\r\\n                              <select\\r\\n                                chosen\\r\\n                                class=\\\"chosen-select\\\"\\r\\n                                id=\\\"country\\\"\\r\\n                                [(ngModel)]=\\\"add_city.country_id\\\"\\r\\n                                #country_id=\\\"ngModel\\\"\\r\\n                                name=\\\"country_id\\\"\\r\\n                                data-placeholder=\\\"Select Country\\\"\\r\\n                                tabindex=\\\"4\\\"\\r\\n                                required\\r\\n                              >\\r\\n                                <option\\r\\n                                  *ngFor=\\\"let i of country_list\\\"\\r\\n                                  value=\\\"{{ i._id }}\\\"\\r\\n                                >\\r\\n                                  {{ i.country_name }}\\r\\n                                </option>\\r\\n                              </select>\\r\\n                              <div *ngIf=\\\"country_id.errors\\\">\\r\\n                                <div\\r\\n                                  style=\\\"color: red\\\"\\r\\n                                  [hidden]=\\\"!country_id.errors.required\\\"\\r\\n                                >\\r\\n                                  {{\\r\\n                                    validation_message.select_country_required\\r\\n                                      | translate\\r\\n                                  }}\\r\\n                                </div>\\r\\n                              </div>\\r\\n                            </div>\\r\\n                            <div\\r\\n                              *ngIf=\\\"type == 'edit'\\\"\\r\\n                              class=\\\"col-lg-8 form-group\\\"\\r\\n                            >\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                [(ngModel)]=\\\"add_city.country_name\\\"\\r\\n                                #country_name=\\\"ngModel\\\"\\r\\n                                name=\\\"country_name\\\"\\r\\n                                readonly\\r\\n                              />\\r\\n                            </div>\\r\\n                          </div>\\r\\n\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-4 control-label\\\">{{\\r\\n                              title.city_name | translate\\r\\n                            }}</label>\\r\\n                            <div class=\\\"col-lg-8 form-group\\\">\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                id=\\\"city_name\\\"\\r\\n                                [(ngModel)]=\\\"add_city.city_name\\\"\\r\\n                                #city_name=\\\"ngModel\\\"\\r\\n                                (keyup)=\\\"\\r\\n                                  check_city(\\r\\n                                    add_city.city_name,\\r\\n                                    add_city.city_code\\r\\n                                  )\\r\\n                                \\\"\\r\\n                                name=\\\"city_name\\\"\\r\\n                                required\\r\\n                              />\\r\\n\\r\\n                              <label\\r\\n                                *ngIf=\\\"type == 'add'\\\"\\r\\n                                class=\\\"col-lg-12 control-label\\\"\\r\\n                                style=\\\"color: red\\\"\\r\\n                                >{{ city_exist }}</label\\r\\n                              >\\r\\n                              <div\\r\\n                                *ngIf=\\\"\\r\\n                                  city_name.errors &&\\r\\n                                  (city_name.dirty || city_name.touched)\\r\\n                                \\\"\\r\\n                              >\\r\\n                                <div\\r\\n                                  style=\\\"color: red\\\"\\r\\n                                  [hidden]=\\\"!city_name.errors.required\\\"\\r\\n                                >\\r\\n                                  {{\\r\\n                                    validation_message.city_name_required\\r\\n                                      | translate\\r\\n                                  }}\\r\\n                                </div>\\r\\n                              </div>\\r\\n                            </div>\\r\\n                          </div>\\r\\n\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-4 control-label\\\">{{\\r\\n                              title.city_nick_name | translate\\r\\n                            }}</label>\\r\\n                            <div class=\\\"col-lg-8 form-group\\\">\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                [(ngModel)]=\\\"add_city.city_nick_name\\\"\\r\\n                                #city_nick_name=\\\"ngModel\\\"\\r\\n                                name=\\\"city_nick_name\\\"\\r\\n                                required\\r\\n                              />\\r\\n                              <div\\r\\n                                *ngIf=\\\"\\r\\n                                  city_nick_name.errors &&\\r\\n                                  (city_nick_name.dirty ||\\r\\n                                    city_nick_name.touched)\\r\\n                                \\\"\\r\\n                              >\\r\\n                                <div\\r\\n                                  style=\\\"color: red\\\"\\r\\n                                  [hidden]=\\\"!city_nick_name.errors.required\\\"\\r\\n                                >\\r\\n                                  {{\\r\\n                                    validation_message.city_nick_name_required\\r\\n                                      | translate\\r\\n                                  }}\\r\\n                                </div>\\r\\n                              </div>\\r\\n                            </div>\\r\\n                          </div>\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-4 control-label\\\">{{\\r\\n                              title.city_code | translate\\r\\n                            }}</label>\\r\\n                            <div class=\\\"col-lg-8 form-group\\\">\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                [(ngModel)]=\\\"add_city.city_code\\\"\\r\\n                                #city_code=\\\"ngModel\\\"\\r\\n                                name=\\\"city_code\\\"\\r\\n                                required\\r\\n                              />\\r\\n                              <div\\r\\n                                *ngIf=\\\"\\r\\n                                  city_code.errors &&\\r\\n                                  (city_code.dirty || city_code.touched)\\r\\n                                \\\"\\r\\n                              >\\r\\n                                <div\\r\\n                                  style=\\\"color: red\\\"\\r\\n                                  [hidden]=\\\"!city_code.errors.required\\\"\\r\\n                                >\\r\\n                                  {{\\r\\n                                    validation_message.city_code_required\\r\\n                                      | translate\\r\\n                                  }}\\r\\n                                </div>\\r\\n                              </div>\\r\\n                            </div>\\r\\n                          </div>\\r\\n\\r\\n                          <div\\r\\n                            class=\\\"form-group\\\"\\r\\n                            *ngIf=\\\"add_city.is_use_radius == true\\\"\\r\\n                          >\\r\\n                            <label class=\\\"col-lg-4 control-label\\\">{{\\r\\n                              title.city_radius | translate\\r\\n                            }}</label>\\r\\n                            <div class=\\\"col-lg-8 form-group\\\">\\r\\n                              <div class=\\\"input-group\\\">\\r\\n                                <input\\r\\n                                  type=\\\"text\\\"\\r\\n                                  class=\\\"form-control\\\"\\r\\n                                  (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                                  [(ngModel)]=\\\"add_city.city_radius\\\"\\r\\n                                  #city_radius=\\\"ngModel\\\"\\r\\n                                  name=\\\"city_radius\\\"\\r\\n                                  required\\r\\n                                />\\r\\n                                <span class=\\\"input-group-addon\\\"\\r\\n                                  ><span class=\\\"\\\">{{ title.km }}</span></span\\r\\n                                >\\r\\n                              </div>\\r\\n                              <div\\r\\n                                *ngIf=\\\"\\r\\n                                  city_radius.errors &&\\r\\n                                  (city_radius.dirty || city_radius.touched)\\r\\n                                \\\"\\r\\n                              >\\r\\n                                <div\\r\\n                                  style=\\\"color: red\\\"\\r\\n                                  [hidden]=\\\"!city_radius.errors.required\\\"\\r\\n                                >\\r\\n                                  {{\\r\\n                                    validation_message.city_radius_required\\r\\n                                      | translate\\r\\n                                  }}\\r\\n                                </div>\\r\\n                              </div>\\r\\n                            </div>\\r\\n                          </div>\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-4 control-label\\\">{{\\r\\n                              title.city_lat | translate\\r\\n                            }}</label>\\r\\n                            <div class=\\\"col-lg-8 form-group\\\">\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                (keypress)=\\\"helper.location_validation($event)\\\"\\r\\n                                [(ngModel)]=\\\"add_city.city_lat\\\"\\r\\n                                #city_lat=\\\"ngModel\\\"\\r\\n                                id=\\\"city_lat\\\"\\r\\n                                name=\\\"city_lat\\\"\\r\\n                                required\\r\\n                              />\\r\\n                              <div\\r\\n                                *ngIf=\\\"\\r\\n                                  city_lat.errors &&\\r\\n                                  (city_lat.dirty || city_lat.touched)\\r\\n                                \\\"\\r\\n                              >\\r\\n                                <div\\r\\n                                  style=\\\"color: red\\\"\\r\\n                                  [hidden]=\\\"!city_lat.errors.required\\\"\\r\\n                                >\\r\\n                                  {{\\r\\n                                    validation_message.latitude_required\\r\\n                                      | translate\\r\\n                                  }}\\r\\n                                </div>\\r\\n                              </div>\\r\\n                            </div>\\r\\n                          </div>\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-4 control-label\\\">{{\\r\\n                              title.city_lng | translate\\r\\n                            }}</label>\\r\\n                            <div class=\\\"col-lg-8 form-group\\\">\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                (keypress)=\\\"helper.location_validation($event)\\\"\\r\\n                                [(ngModel)]=\\\"add_city.city_lng\\\"\\r\\n                                #city_lng=\\\"ngModel\\\"\\r\\n                                id=\\\"city_lng\\\"\\r\\n                                name=\\\"city_lng\\\"\\r\\n                                required\\r\\n                              />\\r\\n                              <div\\r\\n                                *ngIf=\\\"\\r\\n                                  city_lng.errors &&\\r\\n                                  (city_lng.dirty || city_lng.touched)\\r\\n                                \\\"\\r\\n                              >\\r\\n                                <div\\r\\n                                  style=\\\"color: red\\\"\\r\\n                                  [hidden]=\\\"!city_lng.errors.required\\\"\\r\\n                                >\\r\\n                                  {{\\r\\n                                    validation_message.longitude_required\\r\\n                                      | translate\\r\\n                                  }}\\r\\n                                </div>\\r\\n                              </div>\\r\\n                            </div>\\r\\n                          </div>\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-4 control-label\\\">{{\\r\\n                              title.timezone | translate\\r\\n                            }}</label>\\r\\n                            <div class=\\\"col-lg-8 form-group add\\\">\\r\\n                              <select\\r\\n                                chosen\\r\\n                                class=\\\"form-control chosen-select\\\"\\r\\n                                id=\\\"timezone\\\"\\r\\n                                [(ngModel)]=\\\"add_city.timezone\\\"\\r\\n                                data-placeholder=\\\"Select Timezone\\\"\\r\\n                                #timezone=\\\"ngModel\\\"\\r\\n                                name=\\\"timezone\\\"\\r\\n                                tabindex=\\\"4\\\"\\r\\n                                required\\r\\n                              >\\r\\n                                <option selected style=\\\"display: none\\\">\\r\\n                                  {{ title.select_timezone | translate }}\\r\\n                                </option>\\r\\n                                <option *ngFor=\\\"let i of timezone_list\\\">\\r\\n                                  {{ i }}\\r\\n                                </option>\\r\\n                              </select>\\r\\n\\r\\n                              <div\\r\\n                                *ngIf=\\\"\\r\\n                                  timezone.errors &&\\r\\n                                  (timezone.dirty || timezone.touched)\\r\\n                                \\\"\\r\\n                              >\\r\\n                                <div\\r\\n                                  style=\\\"color: red\\\"\\r\\n                                  [hidden]=\\\"!timezone.errors.required\\\"\\r\\n                                >\\r\\n                                  {{\\r\\n                                    validation_message.language_required\\r\\n                                      | translate\\r\\n                                  }}\\r\\n                                </div>\\r\\n                              </div>\\r\\n                            </div>\\r\\n                            <div\\r\\n                              *ngIf=\\\"type == 'edit'\\\"\\r\\n                              class=\\\"col-lg-8 form-group\\\"\\r\\n                            >\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                [(ngModel)]=\\\"add_city.timezone\\\"\\r\\n                                #timezone=\\\"ngModel\\\"\\r\\n                                name=\\\"timezone\\\"\\r\\n                                readonly\\r\\n                              />\\r\\n                            </div>\\r\\n                            <!--                                                        <div class=\\\"col-lg-8 form-group\\\" [hidden]=\\\"add_city.timezone==''\\\">\\r\\n                                                            <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_city.timezone\\\" #timezone=\\\"ngModel\\\"  name=\\\"timezone\\\" required readonly/>\\r\\n                                                        </div>-->\\r\\n                          </div>\\r\\n\\r\\n                          <!-- <div class=\\\"form-group\\\">\\r\\n                                                        <label class=\\\"col-lg-4 control-label\\\">{{title.admin_profit_mode_on_delivery | translate}}</label>\\r\\n                                                        <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                                            <select chosen class=\\\"chosen-select\\\" id=\\\"admin_profit_mode\\\" [(ngModel)]=\\\"add_city.admin_profit_mode_on_delivery\\\" #admin_profit_mode_on_delivery=\\\"ngModel\\\" name=\\\"admin_profit_mode_on_delivery\\\" data-placeholder=\\\"Select Admin Profit Mode\\\"  tabindex=\\\"4\\\"  >\\r\\n\\r\\n                                                                <option *ngFor=\\\"let i of admin_profit_mode_on_delivery_list\\\" value=\\\"{{i.ID}}\\\">{{i.NAME}}</option>\\r\\n                                                            </select>\\r\\n                                                        </div>\\r\\n                                                    </div>\\r\\n\\r\\n                                                    <div class=\\\"form-group\\\">\\r\\n                                                        <label class=\\\"col-lg-4 control-label\\\">{{title.admin_profit_value_on_delivery | translate}}</label>\\r\\n                                                        <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                                            <input type=\\\"text\\\" class=\\\"form-control\\\" (keypress)=\\\"helper.number_validation($event)\\\" [(ngModel)]=\\\"add_city.admin_profit_value_on_delivery\\\" #admin_profit_value_on_delivery=\\\"ngModel\\\"  name=\\\"admin_profit_value_on_delivery\\\" required />\\r\\n                                                            <div *ngIf=\\\"admin_profit_value_on_delivery.errors && (admin_profit_value_on_delivery.dirty || admin_profit_value_on_delivery.touched)\\\">\\r\\n                                                                <div style=\\\"color: red;\\\" [hidden]=\\\"!admin_profit_value_on_delivery.errors.required\\\">{{validation_message.admin_profit_value_on_delivery_required | translate}}</div>\\r\\n                                                            </div>\\r\\n                                                        </div>\\r\\n                                                    </div> -->\\r\\n\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-4 control-label\\\">{{\\r\\n                              title.language | translate\\r\\n                            }}</label>\\r\\n                            <div class=\\\"col-lg-8 form-group\\\">\\r\\n                              <select\\r\\n                                chosen\\r\\n                                class=\\\"form-control chosen-select\\\"\\r\\n                                id=\\\"language\\\"\\r\\n                                [(ngModel)]=\\\"add_city.language\\\"\\r\\n                                data-placeholder=\\\"Select Language\\\"\\r\\n                                #language=\\\"ngModel\\\"\\r\\n                                name=\\\"language\\\"\\r\\n                                tabindex=\\\"4\\\"\\r\\n                                required\\r\\n                              >\\r\\n                                <option\\r\\n                                  *ngFor=\\\"let i of language_list\\\"\\r\\n                                  value=\\\"{{ i.code }}\\\"\\r\\n                                >\\r\\n                                  {{ i.name }}\\r\\n                                </option>\\r\\n                              </select>\\r\\n                              <div\\r\\n                                *ngIf=\\\"\\r\\n                                  language.errors &&\\r\\n                                  (language.dirty || language.touched)\\r\\n                                \\\"\\r\\n                              >\\r\\n                                <div\\r\\n                                  style=\\\"color: red\\\"\\r\\n                                  [hidden]=\\\"!language.errors.required\\\"\\r\\n                                >\\r\\n                                  {{\\r\\n                                    validation_message.time_zone_required\\r\\n                                      | translate\\r\\n                                  }}\\r\\n                                </div>\\r\\n                              </div>\\r\\n                            </div>\\r\\n                          </div>\\r\\n\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-4 control-label\\\">{{\\r\\n                              title.time_format | translate\\r\\n                            }}</label>\\r\\n                            <div class=\\\"col-lg-8 form-group\\\">\\r\\n                              <select\\r\\n                                chosen\\r\\n                                class=\\\"form-control chosen-select\\\"\\r\\n                                id=\\\"time_format\\\"\\r\\n                                [(ngModel)]=\\\"add_city.time_format\\\"\\r\\n                                data-placeholder=\\\"Select Time format\\\"\\r\\n                                #time_format=\\\"ngModel\\\"\\r\\n                                name=\\\"time_format\\\"\\r\\n                                tabindex=\\\"4\\\"\\r\\n                                required\\r\\n                              >\\r\\n                                <option value=\\\"HH:mm\\\">24 Hour</option>\\r\\n                                <option value=\\\"hh:mm a\\\">12 Hour AM/PM</option>\\r\\n                              </select>\\r\\n                              <div\\r\\n                                *ngIf=\\\"\\r\\n                                  time_format.errors &&\\r\\n                                  (time_format.dirty || time_format.touched)\\r\\n                                \\\"\\r\\n                              >\\r\\n                                <div\\r\\n                                  style=\\\"color: red\\\"\\r\\n                                  [hidden]=\\\"!time_format.errors.required\\\"\\r\\n                                >\\r\\n                                  {{\\r\\n                                    validation_message.time_zone_required\\r\\n                                      | translate\\r\\n                                  }}\\r\\n                                </div>\\r\\n                              </div>\\r\\n                            </div>\\r\\n                          </div>\\r\\n\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-4 control-label\\\">{{\\r\\n                              title.provider_min_wallet_amount_for_received_cash_request\\r\\n                                | translate\\r\\n                            }}</label>\\r\\n                            <div\\r\\n                              class=\\\"col-lg-8 form-group\\\"\\r\\n                              *ngIf=\\\"\\r\\n                                add_city.is_check_provider_wallet_amount_for_received_cash_request ==\\r\\n                                true\\r\\n                              \\\"\\r\\n                            >\\r\\n                              <div class=\\\"input-group\\\">\\r\\n                                <input\\r\\n                                  type=\\\"text\\\"\\r\\n                                  class=\\\"form-control\\\"\\r\\n                                  (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                                  [(ngModel)]=\\\"\\r\\n                                    add_city.provider_min_wallet_amount_for_received_cash_request\\r\\n                                  \\\"\\r\\n                                  #provider_min_wallet_amount_for_received_cash_request=\\\"ngModel\\\"\\r\\n                                  name=\\\"provider_min_wallet_amount_for_received_cash_request\\\"\\r\\n                                  required\\r\\n                                />\\r\\n                              </div>\\r\\n                              <div\\r\\n                                *ngIf=\\\"\\r\\n                                  provider_min_wallet_amount_for_received_cash_request.errors &&\\r\\n                                  (provider_min_wallet_amount_for_received_cash_request.dirty ||\\r\\n                                    provider_min_wallet_amount_for_received_cash_request.touched)\\r\\n                                \\\"\\r\\n                              >\\r\\n                                <div\\r\\n                                  style=\\\"color: red\\\"\\r\\n                                  [hidden]=\\\"\\r\\n                                    !provider_min_wallet_amount_for_received_cash_request\\r\\n                                      .errors.required\\r\\n                                  \\\"\\r\\n                                >\\r\\n                                  {{\\r\\n                                    validation_message.min_wallet_amount_required\\r\\n                                      | translate\\r\\n                                  }}\\r\\n                                </div>\\r\\n                              </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div\\r\\n                              class=\\\"col-lg-8 form-group\\\"\\r\\n                              *ngIf=\\\"\\r\\n                                add_city.is_check_provider_wallet_amount_for_received_cash_request ==\\r\\n                                false\\r\\n                              \\\"\\r\\n                            >\\r\\n                              <div class=\\\"input-group\\\">\\r\\n                                <input\\r\\n                                  type=\\\"text\\\"\\r\\n                                  class=\\\"form-control\\\"\\r\\n                                  (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                                  [(ngModel)]=\\\"\\r\\n                                    add_city.provider_min_wallet_amount_for_received_cash_request\\r\\n                                  \\\"\\r\\n                                  #provider_min_wallet_amount_for_received_cash_request=\\\"ngModel\\\"\\r\\n                                  name=\\\"provider_min_wallet_amount_for_received_cash_request\\\"\\r\\n                                />\\r\\n                              </div>\\r\\n                            </div>\\r\\n                          </div>\\r\\n\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{\\r\\n                              title.is_delay_order_reward | translate\\r\\n                            }}</label>\\r\\n\\r\\n                            <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                              <ui-switch\\r\\n                                [(ngModel)]=\\\"add_city.is_delay_order_reward\\\"\\r\\n                                #is_delay_order_reward=\\\"ngModel\\\"\\r\\n                                name=\\\"is_delay_order_reward\\\"\\r\\n                              ></ui-switch>\\r\\n                            </div>\\r\\n                          </div>\\r\\n                        </div>\\r\\n                      </div>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-lg-4 col-sm-6\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                      <div class=\\\"ibox-title\\\">\\r\\n                        <label class=\\\"control-label\\\">{{\\r\\n                          heading_title.city_setting | translate\\r\\n                        }}</label>\\r\\n                      </div>\\r\\n                      <div class=\\\"ibox-content wizard\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{\\r\\n                              title.is_hop_business | translate\\r\\n                            }}</label>\\r\\n\\r\\n                            <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                              <ui-switch\\r\\n                                [(ngModel)]=\\\"add_city.is_business\\\"\\r\\n                                #is_business=\\\"ngModel\\\"\\r\\n                                name=\\\"is_business\\\"\\r\\n                              ></ui-switch>\\r\\n                            </div>\\r\\n                          </div>\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{\\r\\n                              title.is_hopper_business | translate\\r\\n                            }}</label>\\r\\n\\r\\n                            <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                              <ui-switch\\r\\n                                [(ngModel)]=\\\"add_city.is_hopper_business\\\"\\r\\n                                #is_hopper_business=\\\"ngModel\\\"\\r\\n                                name=\\\"is_hopper_business\\\"\\r\\n                              ></ui-switch>\\r\\n                            </div>\\r\\n                          </div>\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{\\r\\n                              title.is_cash_payment_mode | translate\\r\\n                            }}</label>\\r\\n\\r\\n                            <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                              <ui-switch\\r\\n                                [(ngModel)]=\\\"add_city.is_cash_payment_mode\\\"\\r\\n                                #is_cash_payment_mode=\\\"ngModel\\\"\\r\\n                                name=\\\"is_cash_payment_mode\\\"\\r\\n                              ></ui-switch>\\r\\n                            </div>\\r\\n                          </div>\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{\\r\\n                              title.is_other_payment_mode | translate\\r\\n                            }}</label>\\r\\n\\r\\n                            <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                              <ui-switch\\r\\n                                [(ngModel)]=\\\"add_city.is_other_payment_mode\\\"\\r\\n                                #is_other_payment_mode=\\\"ngModel\\\"\\r\\n                                name=\\\"is_other_payment_mode\\\"\\r\\n                              ></ui-switch>\\r\\n                            </div>\\r\\n                          </div>\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{\\r\\n                              title.zone_business | translate\\r\\n                            }}</label>\\r\\n\\r\\n                            <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                              <ui-switch\\r\\n                                [(ngModel)]=\\\"add_city.zone_business\\\"\\r\\n                                #zone_business=\\\"ngModel\\\"\\r\\n                                name=\\\"zone_business\\\"\\r\\n                              ></ui-switch>\\r\\n                            </div>\\r\\n                          </div>\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{\\r\\n                              title.use_radius | translate\\r\\n                            }}</label>\\r\\n\\r\\n                            <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                              <ui-switch\\r\\n                                [(ngModel)]=\\\"add_city.is_use_radius\\\"\\r\\n                                #is_use_radius=\\\"ngModel\\\"\\r\\n                                name=\\\"is_use_radius\\\"\\r\\n                              ></ui-switch>\\r\\n                            </div>\\r\\n                          </div>\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{\\r\\n                              title.promo_apply | translate\\r\\n                            }}</label>\\r\\n\\r\\n                            <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                              <ui-switch\\r\\n                                [(ngModel)]=\\\"add_city.is_promo_apply\\\"\\r\\n                                #is_promo_apply=\\\"ngModel\\\"\\r\\n                                name=\\\"is_promo_apply\\\"\\r\\n                              ></ui-switch>\\r\\n                            </div>\\r\\n                          </div>\\r\\n\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{\\r\\n                              title.ads_visible | translate\\r\\n                            }}</label>\\r\\n\\r\\n                            <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                              <ui-switch\\r\\n                                [(ngModel)]=\\\"add_city.is_ads_visible\\\"\\r\\n                                #is_ads_visible=\\\"ngModel\\\"\\r\\n                                name=\\\"is_ads_visible\\\"\\r\\n                              ></ui-switch>\\r\\n                            </div>\\r\\n                          </div>\\r\\n\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{\\r\\n                              title.is_check_provider_wallet_amount_for_received_cash_request\\r\\n                                | translate\\r\\n                            }}</label>\\r\\n\\r\\n                            <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                              <ui-switch\\r\\n                                [(ngModel)]=\\\"\\r\\n                                  add_city.is_check_provider_wallet_amount_for_received_cash_request\\r\\n                                \\\"\\r\\n                                #is_check_provider_wallet_amount_for_received_cash_request=\\\"ngModel\\\"\\r\\n                                name=\\\"is_check_provider_wallet_amount_for_received_cash_request\\\"\\r\\n                              ></ui-switch>\\r\\n                            </div>\\r\\n                          </div>\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{\\r\\n                              title.provider_earning_add_in_wallet_using_cash\\r\\n                                | translate\\r\\n                            }}</label>\\r\\n\\r\\n                            <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                              <ui-switch\\r\\n                                [(ngModel)]=\\\"\\r\\n                                  add_city.is_provider_earning_add_in_wallet_on_cash_payment\\r\\n                                \\\"\\r\\n                                #is_provider_earning_add_in_wallet_on_cash_payment=\\\"ngModel\\\"\\r\\n                                name=\\\"is_provider_earning_add_in_wallet_on_cash_payment\\\"\\r\\n                              ></ui-switch>\\r\\n                            </div>\\r\\n                          </div>\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{\\r\\n                              title.provider_earning_add_in_wallet_using_other\\r\\n                                | translate\\r\\n                            }}</label>\\r\\n\\r\\n                            <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                              <ui-switch\\r\\n                                [(ngModel)]=\\\"\\r\\n                                  add_city.is_provider_earning_add_in_wallet_on_other_payment\\r\\n                                \\\"\\r\\n                                #is_provider_earning_add_in_wallet_on_other_payment=\\\"ngModel\\\"\\r\\n                                name=\\\"is_provider_earning_add_in_wallet_on_other_payment\\\"\\r\\n                              ></ui-switch>\\r\\n                            </div>\\r\\n                          </div>\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{\\r\\n                              title.delivery_earning_add_in_wallet_using_cash\\r\\n                                | translate\\r\\n                            }}</label>\\r\\n\\r\\n                            <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                              <ui-switch\\r\\n                                [(ngModel)]=\\\"\\r\\n                                  add_city.is_store_earning_add_in_wallet_on_cash_payment\\r\\n                                \\\"\\r\\n                                #is_store_earning_add_in_wallet_on_cash_payment=\\\"ngModel\\\"\\r\\n                                name=\\\"is_store_earning_add_in_wallet_on_cash_payment\\\"\\r\\n                              ></ui-switch>\\r\\n                            </div>\\r\\n                          </div>\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{\\r\\n                              title.delivery_earning_add_in_wallet_using_other\\r\\n                                | translate\\r\\n                            }}</label>\\r\\n\\r\\n                            <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                              <ui-switch\\r\\n                                [(ngModel)]=\\\"\\r\\n                                  add_city.is_store_earning_add_in_wallet_on_other_payment\\r\\n                                \\\"\\r\\n                                #is_store_earning_add_in_wallet_on_other_payment=\\\"ngModel\\\"\\r\\n                                name=\\\"is_store_earning_add_in_wallet_on_other_payment\\\"\\r\\n                              ></ui-switch>\\r\\n                            </div>\\r\\n                          </div>\\r\\n                        </div>\\r\\n                      </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                      <div class=\\\"ibox-title\\\">\\r\\n                        <label class=\\\"control-label\\\">{{\\r\\n                          title.payment_gateway | translate\\r\\n                        }}</label>\\r\\n                      </div>\\r\\n\\r\\n                      <div class=\\\"ibox-content wizard\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <div class=\\\"col-lg-12\\\">\\r\\n                              <div\\r\\n                                *ngFor=\\\"let i of payment_gateway_list\\\"\\r\\n                                style=\\\"margin: 5px\\\"\\r\\n                              >\\r\\n                                <label\\r\\n                                  ><input\\r\\n                                    class=\\\"icheck_payment_gateway\\\"\\r\\n                                    id=\\\"icheck{{ i._id }}\\\"\\r\\n                                    type=\\\"checkbox\\\"\\r\\n                                    value=\\\"{{ i._id }}\\\"\\r\\n                                  /><span style=\\\"margin-left: 10px\\\">{{\\r\\n                                    i.name\\r\\n                                  }}</span></label\\r\\n                                >\\r\\n                              </div>\\r\\n                            </div>\\r\\n                          </div>\\r\\n                        </div>\\r\\n                      </div>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-lg-4 col-sm-6\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                      <div\\r\\n                        id=\\\"city_radius_map\\\"\\r\\n                        style=\\\"width: 100%; min-height: 415px\\\"\\r\\n                      ></div>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                      <div\\r\\n                        class=\\\"ibox-title\\\"\\r\\n                        style=\\\"padding: 0; min-height: 35px !important\\\"\\r\\n                      >\\r\\n                        <label\\r\\n                          style=\\\"margin-left: 15px; margin-top: 9px\\\"\\r\\n                          class=\\\"control-label\\\"\\r\\n                          >{{ heading_title.store_time | translate }}</label\\r\\n                        >\\r\\n                        <!-- <div class=\\\"pull-right\\\">\\r\\n                                                    <button *ngIf=\\\"!edit\\\" type=\\\"button\\\" (click)=\\\"edit=true\\\" style=\\\"background-color: #e5e5e5;border: 0;margin-top: 5px;\\\">\\r\\n                                                        <span class=\\\"fa fa-pencil\\\"></span>\\r\\n                                                    </button>\\r\\n                                                    <button *ngIf=\\\"edit\\\" type=\\\"button\\\" (click)=\\\"updatedeliveryTime()\\\" style=\\\"background-color: #e5e5e5;border: 0;margin-top: 5px;\\\">\\r\\n                                                        <span class=\\\"fa fa-check\\\"></span>\\r\\n                                                    </button>\\r\\n                                                </div> -->\\r\\n                      </div>\\r\\n                      <div class=\\\"ibox-content general_setting scrollbar\\\">\\r\\n                        <div class=\\\"row\\\" style=\\\"margin: 0\\\">\\r\\n                          <div\\r\\n                            class=\\\"col-lg-12\\\"\\r\\n                            style=\\\"\\r\\n                              border-bottom: 1px solid;\\r\\n                              padding-left: 0;\\r\\n                              padding-right: 0;\\r\\n                            \\\"\\r\\n                          >\\r\\n                            <div\\r\\n                              class=\\\"wizard\\\"\\r\\n                              style=\\\"\\r\\n                                border-bottom: 1px solid;\\r\\n                                padding-left: 0;\\r\\n                                padding-right: 0;\\r\\n                              \\\"\\r\\n                            >\\r\\n                              <div class=\\\"steps clearfix\\\">\\r\\n                                <ul style=\\\"display: table; padding: 0px\\\">\\r\\n                                  <li\\r\\n                                    (click)=\\\"change_day(0)\\\"\\r\\n                                    style=\\\"width: unset !important\\\"\\r\\n                                    [style.border-bottom]=\\\"\\r\\n                                      curren_selected_day == 0\\r\\n                                        ? '1px solid #bc202b'\\r\\n                                        : null\\r\\n                                    \\\"\\r\\n                                    class=\\\"day_li\\\"\\r\\n                                  >\\r\\n                                    <a\\r\\n                                      style=\\\"\\r\\n                                        border-bottom-right-radius: 0px;\\r\\n                                        border-bottom-left-radius: 0px;\\r\\n                                        border: 0px;\\r\\n                                      \\\"\\r\\n                                      class=\\\"btn-default\\\"\\r\\n                                      ><span\\r\\n                                        style=\\\"\\r\\n                                          margin-left: -5px;\\r\\n                                          font-weight: bold;\\r\\n                                          display: block;\\r\\n                                        \\\"\\r\\n                                        [style.color]=\\\"\\r\\n                                          curren_selected_day == 0\\r\\n                                            ? '#bc202b'\\r\\n                                            : null\\r\\n                                        \\\"\\r\\n                                        class=\\\"nav-label\\\"\\r\\n                                        >{{ title.sunday | translate }}</span\\r\\n                                      ></a\\r\\n                                    >\\r\\n                                  </li>\\r\\n                                  <li\\r\\n                                    (click)=\\\"change_day(1)\\\"\\r\\n                                    style=\\\"width: unset !important\\\"\\r\\n                                    [style.border-bottom]=\\\"\\r\\n                                      curren_selected_day == 1\\r\\n                                        ? '1px solid #bc202b'\\r\\n                                        : null\\r\\n                                    \\\"\\r\\n                                    class=\\\"day_li\\\"\\r\\n                                  >\\r\\n                                    <a\\r\\n                                      style=\\\"\\r\\n                                        border-bottom-right-radius: 0px;\\r\\n                                        border-bottom-left-radius: 0px;\\r\\n                                        border: 0px;\\r\\n                                      \\\"\\r\\n                                      class=\\\"btn-default\\\"\\r\\n                                      ><span\\r\\n                                        style=\\\"\\r\\n                                          margin-left: -5px;\\r\\n                                          font-weight: bold;\\r\\n                                          display: block;\\r\\n                                        \\\"\\r\\n                                        [style.color]=\\\"\\r\\n                                          curren_selected_day == 1\\r\\n                                            ? '#bc202b'\\r\\n                                            : null\\r\\n                                        \\\"\\r\\n                                        class=\\\"nav-label\\\"\\r\\n                                        >{{ title.monday | translate }}</span\\r\\n                                      ></a\\r\\n                                    >\\r\\n                                  </li>\\r\\n                                  <li\\r\\n                                    (click)=\\\"change_day(2)\\\"\\r\\n                                    style=\\\"width: unset !important\\\"\\r\\n                                    [style.border-bottom]=\\\"\\r\\n                                      curren_selected_day == 2\\r\\n                                        ? '1px solid #bc202b'\\r\\n                                        : null\\r\\n                                    \\\"\\r\\n                                    class=\\\"day_li\\\"\\r\\n                                  >\\r\\n                                    <a\\r\\n                                      style=\\\"\\r\\n                                        border-bottom-right-radius: 0px;\\r\\n                                        border-bottom-left-radius: 0px;\\r\\n                                        border: 0px;\\r\\n                                      \\\"\\r\\n                                      class=\\\"btn-default\\\"\\r\\n                                      ><span\\r\\n                                        style=\\\"\\r\\n                                          margin-left: -5px;\\r\\n                                          font-weight: bold;\\r\\n                                          display: block;\\r\\n                                        \\\"\\r\\n                                        [style.color]=\\\"\\r\\n                                          curren_selected_day == 2\\r\\n                                            ? '#bc202b'\\r\\n                                            : null\\r\\n                                        \\\"\\r\\n                                        class=\\\"nav-label\\\"\\r\\n                                        >{{ title.tuesday | translate }}</span\\r\\n                                      ></a\\r\\n                                    >\\r\\n                                  </li>\\r\\n                                  <li\\r\\n                                    (click)=\\\"change_day(3)\\\"\\r\\n                                    style=\\\"width: unset !important\\\"\\r\\n                                    [style.border-bottom]=\\\"\\r\\n                                      curren_selected_day == 3\\r\\n                                        ? '1px solid #bc202b'\\r\\n                                        : null\\r\\n                                    \\\"\\r\\n                                    class=\\\"day_li\\\"\\r\\n                                  >\\r\\n                                    <a\\r\\n                                      style=\\\"\\r\\n                                        border-bottom-right-radius: 0px;\\r\\n                                        border-bottom-left-radius: 0px;\\r\\n                                        border: 0px;\\r\\n                                      \\\"\\r\\n                                      class=\\\"btn-default\\\"\\r\\n                                      ><span\\r\\n                                        style=\\\"\\r\\n                                          margin-left: -5px;\\r\\n                                          font-weight: bold;\\r\\n                                          display: block;\\r\\n                                        \\\"\\r\\n                                        [style.color]=\\\"\\r\\n                                          curren_selected_day == 3\\r\\n                                            ? '#bc202b'\\r\\n                                            : null\\r\\n                                        \\\"\\r\\n                                        class=\\\"nav-label\\\"\\r\\n                                        >{{ title.wednesday | translate }}</span\\r\\n                                      ></a\\r\\n                                    >\\r\\n                                  </li>\\r\\n                                  <li\\r\\n                                    (click)=\\\"change_day(4)\\\"\\r\\n                                    style=\\\"width: unset !important\\\"\\r\\n                                    [style.border-bottom]=\\\"\\r\\n                                      curren_selected_day == 4\\r\\n                                        ? '1px solid #bc202b'\\r\\n                                        : null\\r\\n                                    \\\"\\r\\n                                    class=\\\"day_li\\\"\\r\\n                                  >\\r\\n                                    <a\\r\\n                                      style=\\\"\\r\\n                                        border-bottom-right-radius: 0px;\\r\\n                                        border-bottom-left-radius: 0px;\\r\\n                                        border: 0px;\\r\\n                                      \\\"\\r\\n                                      class=\\\"btn-default\\\"\\r\\n                                      ><span\\r\\n                                        style=\\\"\\r\\n                                          margin-left: -5px;\\r\\n                                          font-weight: bold;\\r\\n                                          display: block;\\r\\n                                        \\\"\\r\\n                                        [style.color]=\\\"\\r\\n                                          curren_selected_day == 4\\r\\n                                            ? '#bc202b'\\r\\n                                            : null\\r\\n                                        \\\"\\r\\n                                        class=\\\"nav-label\\\"\\r\\n                                        >{{ title.thursday | translate }}</span\\r\\n                                      ></a\\r\\n                                    >\\r\\n                                  </li>\\r\\n                                  <li\\r\\n                                    (click)=\\\"change_day(5)\\\"\\r\\n                                    style=\\\"width: unset !important\\\"\\r\\n                                    [style.border-bottom]=\\\"\\r\\n                                      curren_selected_day == 5\\r\\n                                        ? '1px solid #bc202b'\\r\\n                                        : null\\r\\n                                    \\\"\\r\\n                                    class=\\\"day_li\\\"\\r\\n                                  >\\r\\n                                    <a\\r\\n                                      style=\\\"\\r\\n                                        border-bottom-right-radius: 0px;\\r\\n                                        border-bottom-left-radius: 0px;\\r\\n                                        border: 0px;\\r\\n                                      \\\"\\r\\n                                      class=\\\"btn-default\\\"\\r\\n                                      ><span\\r\\n                                        style=\\\"\\r\\n                                          margin-left: -5px;\\r\\n                                          font-weight: bold;\\r\\n                                          display: block;\\r\\n                                        \\\"\\r\\n                                        [style.color]=\\\"\\r\\n                                          curren_selected_day == 5\\r\\n                                            ? '#bc202b'\\r\\n                                            : null\\r\\n                                        \\\"\\r\\n                                        class=\\\"nav-label\\\"\\r\\n                                        >{{ title.friday | translate }}</span\\r\\n                                      ></a\\r\\n                                    >\\r\\n                                  </li>\\r\\n                                  <li\\r\\n                                    (click)=\\\"change_day(6)\\\"\\r\\n                                    style=\\\"width: unset !important\\\"\\r\\n                                    [style.border-bottom]=\\\"\\r\\n                                      curren_selected_day == 6\\r\\n                                        ? '1px solid #bc202b'\\r\\n                                        : null\\r\\n                                    \\\"\\r\\n                                    class=\\\"day_li\\\"\\r\\n                                  >\\r\\n                                    <a\\r\\n                                      style=\\\"\\r\\n                                        border-bottom-right-radius: 0px;\\r\\n                                        border-bottom-left-radius: 0px;\\r\\n                                        border: 0px;\\r\\n                                      \\\"\\r\\n                                      class=\\\"btn-default\\\"\\r\\n                                      ><span\\r\\n                                        style=\\\"\\r\\n                                          margin-left: -5px;\\r\\n                                          font-weight: bold;\\r\\n                                          display: block;\\r\\n                                        \\\"\\r\\n                                        [style.color]=\\\"\\r\\n                                          curren_selected_day == 6\\r\\n                                            ? '#bc202b'\\r\\n                                            : null\\r\\n                                        \\\"\\r\\n                                        class=\\\"nav-label\\\"\\r\\n                                        >{{ title.saturday | translate }}</span\\r\\n                                      ></a\\r\\n                                    >\\r\\n                                  </li>\\r\\n                                </ul>\\r\\n                              </div>\\r\\n                            </div>\\r\\n                            <div\\r\\n                              class=\\\"row\\\"\\r\\n                              style=\\\"margin-top: 9px; margin-bottom: 9px\\\"\\r\\n                            >\\r\\n                              <!-- <div class=\\\"col-md-6 col-sm-6\\\">\\r\\n                                                                <label class=\\\"col-md-9 col-sm-9 col-xs-9 control-label\\\" style=\\\"padding-top: 8px;\\\">{{title.open_full_time | translate}}</label>\\r\\n\\r\\n                                                                <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\" style=\\\"padding-top: 6px;\\\">\\r\\n                                                                    <ui-switch (change)=\\\"delivery_full_time_open($event)\\\" [disabled]=\\\"!edit\\\" [(ngModel)]=\\\"is_delivery_open_full_time\\\" name=\\\"is_delivery_open_full_time\\\"></ui-switch>\\r\\n\\r\\n                                                                </div>\\r\\n                                                            </div> -->\\r\\n                              <div class=\\\"col-md-6 col-sm-6\\\">\\r\\n                                <label\\r\\n                                  class=\\\"col-md-9 col-sm-9 col-xs-9 control-label\\\"\\r\\n                                  style=\\\"padding-top: 8px\\\"\\r\\n                                  >{{ title.open | translate }}</label\\r\\n                                >\\r\\n\\r\\n                                <div\\r\\n                                  class=\\\"col-md-3 col-sm-3 col-xs-3\\\"\\r\\n                                  style=\\\"padding-top: 6px\\\"\\r\\n                                >\\r\\n                                  <ui-switch\\r\\n                                    (change)=\\\"delivery_open($event)\\\"\\r\\n                                    [disabled]=\\\"\\r\\n                                      is_delivery_open_full_time || !edit\\r\\n                                    \\\"\\r\\n                                    [(ngModel)]=\\\"is_delivery_open\\\"\\r\\n                                    name=\\\"is_delivery_open\\\"\\r\\n                                  ></ui-switch>\\r\\n                                </div>\\r\\n                              </div>\\r\\n                            </div>\\r\\n                            <div\\r\\n                              class=\\\"row\\\"\\r\\n                              style=\\\"margin-top: 9px; margin-bottom: 9px\\\"\\r\\n                            >\\r\\n                              <div class=\\\"col-md-6\\\">\\r\\n                                <div class=\\\"text-center\\\">\\r\\n                                  <button\\r\\n                                    type=\\\"button\\\"\\r\\n                                    [disabled]=\\\"!edit\\\"\\r\\n                                    (click)=\\\"open_copy_delivery_time_modal()\\\"\\r\\n                                    class=\\\"btn add_btn\\\"\\r\\n                                  >\\r\\n                                    {{ button.copy_store_time | translate }}\\r\\n                                  </button>\\r\\n                                </div>\\r\\n                              </div>\\r\\n                              <div class=\\\"col-md-6\\\">\\r\\n                                <div class=\\\"text-center\\\">\\r\\n                                  <button\\r\\n                                    type=\\\"button\\\"\\r\\n                                    [disabled]=\\\"\\r\\n                                      is_delivery_open_full_time || !edit\\r\\n                                    \\\"\\r\\n                                    (click)=\\\"open_add_time_modal()\\\"\\r\\n                                    class=\\\"btn add_btn\\\"\\r\\n                                  >\\r\\n                                    {{ button.add_delivery_time | translate\\r\\n                                    }}<span\\r\\n                                      class=\\\"fa fa-plus pull-right\\\"\\r\\n                                      style=\\\"margin-top: 2px\\\"\\r\\n                                    ></span>\\r\\n                                  </button>\\r\\n                                </div>\\r\\n                              </div>\\r\\n                            </div>\\r\\n                          </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"\\\">\\r\\n                          <table class=\\\"table\\\">\\r\\n                            <tr>\\r\\n                              <td>{{ title.store_open_time | translate }}</td>\\r\\n                              <td>{{ title.store_close_time | translate }}</td>\\r\\n                              <td>{{ title.action | translate }}</td>\\r\\n                            </tr>\\r\\n                            <tr\\r\\n                              *ngFor=\\\"\\r\\n                                let i of selected_delivery_time_array;\\r\\n                                let index = index\\r\\n                              \\\"\\r\\n                            >\\r\\n                              <td>{{ i.delivery_open_time }}</td>\\r\\n                              <td>{{ i.delivery_close_time }}</td>\\r\\n                              <td>\\r\\n                                <span\\r\\n                                  *ngIf=\\\"!is_delivery_open_full_time && edit\\\"\\r\\n                                  (click)=\\\"edit_delivery_time(i, index)\\\"\\r\\n                                  class=\\\"fa fa-pencil\\\"\\r\\n                                ></span>\\r\\n                                <span\\r\\n                                  *ngIf=\\\"!is_delivery_open_full_time && edit\\\"\\r\\n                                  (click)=\\\"remove_delivery_time(i)\\\"\\r\\n                                  class=\\\"fa fa-times\\\"\\r\\n                                ></span>\\r\\n                              </td>\\r\\n                            </tr>\\r\\n                          </table>\\r\\n                        </div>\\r\\n                      </div>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                  <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                      <label class=\\\"control-label\\\">{{\\r\\n                        title.deliveries_in_city | translate\\r\\n                      }}</label>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content wizard\\\">\\r\\n                      <div class=\\\"row\\\">\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                          <div\\r\\n                            class=\\\"col-lg-4\\\"\\r\\n                            *ngFor=\\\"let i of deliveries_in_city_list\\\"\\r\\n                            style=\\\"margin: 5px\\\"\\r\\n                          >\\r\\n                            <label\\r\\n                              ><input\\r\\n                                class=\\\"icheck\\\"\\r\\n                                id=\\\"icheck{{ i._id }}\\\"\\r\\n                                type=\\\"checkbox\\\"\\r\\n                                value=\\\"{{ i._id }}\\\"\\r\\n                              /><span style=\\\"margin-left: 10px\\\">{{\\r\\n                                i.delivery_name\\r\\n                              }}</span></label\\r\\n                            >\\r\\n                          </div>\\r\\n                        </div>\\r\\n                      </div>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n              <div class=\\\"row\\\" [hidden]=\\\"selected_tab != 'zone'\\\">\\r\\n                <div class=\\\"col-lg-12\\\">\\r\\n                  <div class=\\\"row\\\">\\r\\n                    <div class=\\\"col-md-12\\\">\\r\\n                      <div class=\\\"col-md-9 form-group\\\">\\r\\n                        <div\\r\\n                          id=\\\"map\\\"\\r\\n                          style=\\\"width: 100%; min-height: 415px\\\"\\r\\n                        ></div>\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"col-md-3 form-group\\\"\\r\\n                        style=\\\"\\r\\n                          min-height: 415px;\\r\\n                          max-height: 415px;\\r\\n                          overflow-y: auto;\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <div\\r\\n                          class=\\\"row\\\"\\r\\n                          *ngFor=\\\"\\r\\n                            let city_zone_detail of city_zone;\\r\\n                            let index = index\\r\\n                          \\\"\\r\\n                        >\\r\\n                          <div class=\\\"col-md-3 form-group\\\">\\r\\n                            <div\\r\\n                              (click)=\\\"select_polygon(index)\\\"\\r\\n                              style=\\\"cursor: pointer\\\"\\r\\n                              [ngStyle]=\\\"{\\r\\n                                width: '30px',\\r\\n                                height: '30px',\\r\\n                                'background-color': city_zone_detail.color\\r\\n                              }\\\"\\r\\n                            ></div>\\r\\n                          </div>\\r\\n                          <div\\r\\n                            class=\\\"col-md-6 form-group\\\"\\r\\n                            style=\\\"cursor: pointer\\\"\\r\\n                            (click)=\\\"select_polygon(index)\\\"\\r\\n                          >\\r\\n                            {{ city_zone_detail.title }}\\r\\n                          </div>\\r\\n                          <div class=\\\"col-md-3 form-group\\\">\\r\\n                            <ui-switch\\r\\n                              [(ngModel)]=\\\"city_zone_detail.is_business\\\"\\r\\n                              #is_business=\\\"ngModel\\\"\\r\\n                              name=\\\"is_business{{ index }}\\\"\\r\\n                            ></ui-switch>\\r\\n                          </div>\\r\\n                        </div>\\r\\n                      </div>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n              <div class=\\\"row\\\" [hidden]=\\\"selected_tab != 'sms'\\\">\\r\\n                <form #smsForm=\\\"ngForm\\\" (ngSubmit)=\\\"UpdateSms()\\\">\\r\\n                  <div class=\\\"col-lg-12\\\">\\r\\n                    <div class=\\\"col-lg-10 col-sm-10\\\">\\r\\n                      <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                          <label class=\\\"control-label\\\">{{\\r\\n                            heading_title.sms_data | translate\\r\\n                          }}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content\\\">\\r\\n                          <div class=\\\"row\\\">\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                              <label class=\\\"col-lg-4 control-label\\\">{{\\r\\n                                title.sms_unique_title | translate\\r\\n                              }}</label>\\r\\n                              <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                <select\\r\\n                                  chosen\\r\\n                                  class=\\\"chosen-select\\\"\\r\\n                                  id=\\\"sms\\\"\\r\\n                                  [(ngModel)]=\\\"sms_detail.sms_unique_title\\\"\\r\\n                                  #sms_unique_title=\\\"ngModel\\\"\\r\\n                                  name=\\\"sms\\\"\\r\\n                                  data-placeholder=\\\"SMS Content\\\"\\r\\n                                  tabindex=\\\"4\\\"\\r\\n                                >\\r\\n                                  <option\\r\\n                                    *ngFor=\\\"\\r\\n                                      let i of add_city.sms_configurations\\r\\n                                    \\\"\\r\\n                                    value=\\\"{{ i.sms_unique_title }}\\\"\\r\\n                                  >\\r\\n                                    {{ i.sms_unique_title }}\\r\\n                                  </option>\\r\\n                                </select>\\r\\n                              </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                              <label class=\\\"col-lg-4 control-label\\\">{{\\r\\n                                title.select_sms_unique_title | translate\\r\\n                              }}</label>\\r\\n                              <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                <textarea\\r\\n                                  type=\\\"text\\\"\\r\\n                                  class=\\\"form-control\\\"\\r\\n                                  [(ngModel)]=\\\"sms_detail.sms_content\\\"\\r\\n                                  #sms_content=\\\"ngModel\\\"\\r\\n                                  name=\\\"sms_content\\\"\\r\\n                                  required\\r\\n                                  rows=\\\"10\\\"\\r\\n                                ></textarea>\\r\\n                              </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                              <label class=\\\"col-lg-4 control-label\\\">{{\\r\\n                                title.is_send | translate\\r\\n                              }}</label>\\r\\n\\r\\n                              <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                <ui-switch\\r\\n                                  [(ngModel)]=\\\"sms_detail.is_send\\\"\\r\\n                                  #is_send=\\\"ngModel\\\"\\r\\n                                  name=\\\"is_send\\\"\\r\\n                                ></ui-switch>\\r\\n                              </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                              <label class=\\\"col-lg-4 control-label\\\">{{\\r\\n                                title.is_odh_only | translate\\r\\n                              }}</label>\\r\\n\\r\\n                              <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                <ui-switch\\r\\n                                  [(ngModel)]=\\\"sms_detail.is_odh_only\\\"\\r\\n                                  #is_odh_only=\\\"ngModel\\\"\\r\\n                                  name=\\\"is_odh_only\\\"\\r\\n                                ></ui-switch>\\r\\n                              </div>\\r\\n                            </div>\\r\\n                          </div>\\r\\n                          <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-lg-4\\\"></div>\\r\\n\\r\\n                            <div class=\\\"col-lg-4\\\" style=\\\"text-align: center\\\">\\r\\n                              <input\\r\\n                                type=\\\"submit\\\"\\r\\n                                id=\\\"update\\\"\\r\\n                                name=\\\"update\\\"\\r\\n                                style=\\\"width: 50%\\\"\\r\\n                                class=\\\"btn btn-primary\\\"\\r\\n                                value=\\\"{{ button.update | translate }}\\\"\\r\\n                              />\\r\\n                            </div>\\r\\n                          </div>\\r\\n                        </div>\\r\\n                      </div>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </form>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n</form>\\r\\n\\r\\n<modal\\r\\n  keyboard=\\\"false\\\"\\r\\n  backdrop=\\\"static\\\"\\r\\n  style=\\\"top: 25%\\\"\\r\\n  size=\\\"sm\\\"\\r\\n  cssClass=\\\"modal-sm\\\"\\r\\n  #add_modal\\r\\n>\\r\\n  <form #deliveryTimeForm=\\\"ngForm\\\" novalidate (ngSubmit)=\\\"add_delivery_time()\\\">\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n      <h4 class=\\\"modal-title\\\">\\r\\n        {{ helper.heading_title.add_delivery_time | translate }}\\r\\n      </h4>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n      <div class=\\\"row\\\">\\r\\n        <div class=\\\"form-group\\\">\\r\\n          <label class=\\\"col-lg-6 col-xs-6 control-label\\\">{{\\r\\n            helper.title.store_open_time | translate\\r\\n          }}</label>\\r\\n          <div\\r\\n            class=\\\"col-lg-6 col-xs-6 input-group clock-picker\\\"\\r\\n            id=\\\"clock-picker\\\"\\r\\n            data-autoclose=\\\"true\\\"\\r\\n          >\\r\\n            <input\\r\\n              type=\\\"text\\\"\\r\\n              class=\\\"form-control\\\"\\r\\n              id=\\\"open\\\"\\r\\n              [(ngModel)]=\\\"delivery_open_time\\\"\\r\\n              name=\\\"delivery_open_time\\\"\\r\\n              readonly\\r\\n              required\\r\\n            />\\r\\n            <span class=\\\"input-group-addon\\\">\\r\\n              <span class=\\\"fa fa-clock-o\\\"></span>\\r\\n            </span>\\r\\n          </div>\\r\\n\\r\\n          <div\\r\\n            *ngIf=\\\"\\r\\n              delivery_open_time.errors &&\\r\\n              (delivery_open_time.dirty || delivery_open_time.touched)\\r\\n            \\\"\\r\\n          >\\r\\n            <div\\r\\n              style=\\\"color: red\\\"\\r\\n              [hidden]=\\\"!delivery_open_time.errors.required\\\"\\r\\n            >\\r\\n              {{\\r\\n                helper.validation_message.delivery_open_time_required\\r\\n                  | translate\\r\\n              }}\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"form-group\\\">\\r\\n          <label class=\\\"col-lg-6 col-xs-6 control-label\\\">{{\\r\\n            title.store_close_time | translate\\r\\n          }}</label>\\r\\n          <div\\r\\n            class=\\\"col-lg-6 col-xs-6 input-group clock-picker\\\"\\r\\n            id=\\\"clock-picker1\\\"\\r\\n            data-autoclose=\\\"true\\\"\\r\\n          >\\r\\n            <input\\r\\n              type=\\\"text\\\"\\r\\n              class=\\\"form-control\\\"\\r\\n              id=\\\"close\\\"\\r\\n              [(ngModel)]=\\\"delivery_close_time\\\"\\r\\n              name=\\\"delivery_close_time\\\"\\r\\n              readonly\\r\\n              required\\r\\n            />\\r\\n            <span class=\\\"input-group-addon\\\">\\r\\n              <span class=\\\"fa fa-clock-o\\\"></span>\\r\\n            </span>\\r\\n          </div>\\r\\n\\r\\n          <div\\r\\n            *ngIf=\\\"\\r\\n              delivery_close_time.errors &&\\r\\n              (delivery_close_time.dirty || delivery_close_time.touched)\\r\\n            \\\"\\r\\n          >\\r\\n            <div\\r\\n              style=\\\"color: red\\\"\\r\\n              [hidden]=\\\"!delivery_close_time.errors.required\\\"\\r\\n            >\\r\\n              {{\\r\\n                helper.validation_message.delivery_close_time_required\\r\\n                  | translate\\r\\n              }}\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div [ngSwitch]=\\\"delivery_open_time_error\\\">\\r\\n        <div *ngSwitchCase=\\\"1\\\">\\r\\n          <label style=\\\"color: red\\\">{{\\r\\n            helper.validation_message.open_time_not_greater_close_time\\r\\n              | translate\\r\\n          }}</label>\\r\\n        </div>\\r\\n        <div *ngSwitchCase=\\\"2\\\">\\r\\n          <label style=\\\"color: red\\\">{{\\r\\n            helper.validation_message.invalid_open_time | translate\\r\\n          }}</label>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div [ngSwitch]=\\\"delivery_close_time_error\\\">\\r\\n        <div *ngSwitchCase=\\\"1\\\">\\r\\n          <label style=\\\"color: red\\\">{{\\r\\n            helper.validation_message.close_time_not_less_open_time | translate\\r\\n          }}</label>\\r\\n        </div>\\r\\n        <div *ngSwitchCase=\\\"2\\\">\\r\\n          <label style=\\\"color: red\\\">{{\\r\\n            helper.validation_message.invalid_close_time | translate\\r\\n          }}</label>\\r\\n        </div>\\r\\n      </div>\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n      <div style=\\\"text-align: center\\\">\\r\\n        <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">\\r\\n          {{ button.add | translate }}\\r\\n        </button>\\r\\n      </div>\\r\\n    </modal-footer>\\r\\n  </form>\\r\\n</modal>\\r\\n\\r\\n<modal\\r\\n  keyboard=\\\"false\\\"\\r\\n  backdrop=\\\"static\\\"\\r\\n  style=\\\"top: 25%\\\"\\r\\n  cssClass=\\\"modal-sm\\\"\\r\\n  #copy_delivery_time_modal\\r\\n  id=\\\"old_passwrod\\\"\\r\\n>\\r\\n  <form\\r\\n    #copy_delivery_time_form=\\\"ngForm\\\"\\r\\n    (ngSubmit)=\\\"copy_delivery_time_update(copy_delivery_time_form.value)\\\"\\r\\n  >\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n      <h4 class=\\\"modal-title\\\">{{ title.copy_delivery_time | translate }}</h4>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n      <div class=\\\"form-group\\\">\\r\\n        <select\\r\\n          chosen\\r\\n          class=\\\"form-control chosen-select\\\"\\r\\n          id=\\\"selected_days\\\"\\r\\n          [(ngModel)]=\\\"selected_days\\\"\\r\\n          multiple\\r\\n          name=\\\"selected_days\\\"\\r\\n          required\\r\\n        >\\r\\n          <!-- <option  value=\\\"\\\">All</option> -->\\r\\n          <option *ngFor=\\\"let i of date_array\\\" value=\\\"{{ i.value }}\\\">\\r\\n            {{ i.label }}\\r\\n          </option>\\r\\n        </select>\\r\\n      </div>\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n      <div style=\\\"text-align: center\\\">\\r\\n        <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">\\r\\n          {{ button.submit | translate }}\\r\\n        </button>\\r\\n      </div>\\r\\n    </modal-footer>\\r\\n  </form>\\r\\n</modal>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/add_city/add_city.component.html\n// module id = 1559\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\"></footer>\\r\\n<form #countryForm=\\\"ngForm\\\" (ngSubmit)=\\\"addCountry(countryForm.value)\\\">\\r\\n  <input\\r\\n    type=\\\"hidden\\\"\\r\\n    class=\\\"form-control\\\"\\r\\n    [(ngModel)]=\\\"add_country.country_timezone\\\"\\r\\n    #country_timezone=\\\"ngModel\\\"\\r\\n    name=\\\"country_timezone\\\"\\r\\n  />\\r\\n\\r\\n  <input\\r\\n    type=\\\"hidden\\\"\\r\\n    class=\\\"form-control\\\"\\r\\n    [(ngModel)]=\\\"country_id\\\"\\r\\n    name=\\\"country_id\\\"\\r\\n  />\\r\\n\\r\\n  <input\\r\\n    type=\\\"hidden\\\"\\r\\n    class=\\\"form-control\\\"\\r\\n    [(ngModel)]=\\\"add_country.country_phone_code\\\"\\r\\n    #country_phone_code=\\\"ngModel\\\"\\r\\n    name=\\\"country_phone_code\\\"\\r\\n  />\\r\\n  <div\\r\\n    class=\\\"row wrapper col-sm-12 col-md-12 col-xs-12 col-lg-12 fix_search_bar border-bottom white-bg page-heading\\\"\\r\\n  >\\r\\n    <div class=\\\"row\\\">\\r\\n      <div\\r\\n        *ngIf=\\\"type == 'add'\\\"\\r\\n        class=\\\"col-md-3 col-sm-12 pull-right new_submit_button\\\"\\r\\n      >\\r\\n        <input\\r\\n          type=\\\"submit\\\"\\r\\n          id=\\\"submit\\\"\\r\\n          name=\\\"submit\\\"\\r\\n          class=\\\"btn btn-primary\\\"\\r\\n          value=\\\"{{ button.submit | translate }}\\\"\\r\\n        />\\r\\n      </div>\\r\\n      <div\\r\\n        *ngIf=\\\"type == 'edit'\\\"\\r\\n        class=\\\"col-md-3 col-sm-12 pull-right new_submit_button\\\"\\r\\n      >\\r\\n        <input\\r\\n          type=\\\"submit\\\"\\r\\n          id=\\\"update\\\"\\r\\n          name=\\\"update\\\"\\r\\n          class=\\\"btn btn-primary\\\"\\r\\n          value=\\\"{{ button.update | translate }}\\\"\\r\\n        />\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n  <div\\r\\n    class=\\\"wrapper wrapper-content content_top_bar_view animated fadeInRight\\\"\\r\\n  >\\r\\n    <div class=\\\"row\\\">\\r\\n      <div class=\\\"col-lg-12\\\">\\r\\n        <div class=\\\"col-lg-4 col-sm-6\\\">\\r\\n          <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\">\\r\\n              <label class=\\\"control-label\\\">{{\\r\\n                heading_title.country_data | translate\\r\\n              }}</label>\\r\\n            </div>\\r\\n            <div class=\\\"ibox-content country_setting\\\">\\r\\n              <div class=\\\"row\\\">\\r\\n                <div class=\\\"form-group\\\">\\r\\n                  <label class=\\\"col-lg-4 control-label\\\">{{\\r\\n                    title.country_name | translate\\r\\n                  }}</label>\\r\\n\\r\\n                  <div id=\\\"add\\\" class=\\\"col-lg-8 form-group\\\">\\r\\n                    <select\\r\\n                      chosen\\r\\n                      class=\\\"form-control chosen-select\\\"\\r\\n                      id=\\\"country\\\"\\r\\n                      [(ngModel)]=\\\"add_country.country_name\\\"\\r\\n                      #country_name=\\\"ngModel\\\"\\r\\n                      name=\\\"country_name\\\"\\r\\n                    >\\r\\n                      <option selected style=\\\"display: none\\\">\\r\\n                        {{ title.select_country | translate }}\\r\\n                      </option>\\r\\n                      <option *ngFor=\\\"let i of country_list\\\">\\r\\n                        {{ i.name }}\\r\\n                      </option>\\r\\n                    </select>\\r\\n                    <label class=\\\"control-label\\\" style=\\\"color: red\\\">{{\\r\\n                      country_exist\\r\\n                    }}</label>\\r\\n                  </div>\\r\\n                  <div *ngIf=\\\"type == 'edit'\\\" class=\\\"col-lg-8 form-group\\\">\\r\\n                    <input\\r\\n                      type=\\\"text\\\"\\r\\n                      class=\\\"form-control\\\"\\r\\n                      [(ngModel)]=\\\"add_country.country_name\\\"\\r\\n                      #country_name=\\\"ngModel\\\"\\r\\n                      name=\\\"country_name\\\"\\r\\n                      readonly\\r\\n                    />\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"form-group\\\">\\r\\n                  <label class=\\\"col-lg-4 control-label\\\">{{\\r\\n                    title.country_code | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-8 form-group\\\">\\r\\n                    <input\\r\\n                      type=\\\"text\\\"\\r\\n                      class=\\\"form-control\\\"\\r\\n                      [(ngModel)]=\\\"add_country.country_code\\\"\\r\\n                      #country_code=\\\"ngModel\\\"\\r\\n                      name=\\\"country_code\\\"\\r\\n                      required\\r\\n                      readonly\\r\\n                    />\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div class=\\\"form-group\\\">\\r\\n                  <label class=\\\"col-lg-4 control-label\\\">{{\\r\\n                    title.country_code_2 | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-8 form-group\\\">\\r\\n                    <input\\r\\n                      type=\\\"text\\\"\\r\\n                      class=\\\"form-control\\\"\\r\\n                      [(ngModel)]=\\\"add_country.country_code_2\\\"\\r\\n                      #country_code_2=\\\"ngModel\\\"\\r\\n                      name=\\\"country_code_2\\\"\\r\\n                      required\\r\\n                      readonly\\r\\n                    />\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"form-group\\\">\\r\\n                  <label class=\\\"col-lg-4 control-label\\\">{{\\r\\n                    title.currency_name | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-8 form-group\\\">\\r\\n                    <input\\r\\n                      type=\\\"text\\\"\\r\\n                      class=\\\"form-control\\\"\\r\\n                      [(ngModel)]=\\\"add_country.currency_name\\\"\\r\\n                      #currency_name=\\\"ngModel\\\"\\r\\n                      name=\\\"currency_name\\\"\\r\\n                      required\\r\\n                    />\\r\\n                    <div\\r\\n                      *ngIf=\\\"\\r\\n                        currency_name.errors &&\\r\\n                        (currency_name.dirty || currency_name.touched)\\r\\n                      \\\"\\r\\n                    >\\r\\n                      <div\\r\\n                        style=\\\"color: red\\\"\\r\\n                        [hidden]=\\\"!currency_name.errors.required\\\"\\r\\n                      >\\r\\n                        {{\\r\\n                          validation_message.currency_name_required | translate\\r\\n                        }}\\r\\n                      </div>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div class=\\\"form-group\\\">\\r\\n                  <label class=\\\"col-lg-4 control-label\\\">{{\\r\\n                    title.currency_code | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-8 form-group\\\">\\r\\n                    <input\\r\\n                      type=\\\"text\\\"\\r\\n                      class=\\\"form-control\\\"\\r\\n                      [(ngModel)]=\\\"add_country.currency_code\\\"\\r\\n                      #currency_code=\\\"ngModel\\\"\\r\\n                      name=\\\"currency_code\\\"\\r\\n                      required\\r\\n                      readonly\\r\\n                    />\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div class=\\\"form-group\\\">\\r\\n                  <label class=\\\"col-lg-4 control-label\\\">{{\\r\\n                    title.currency_sign | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-8 form-group\\\">\\r\\n                    <input\\r\\n                      type=\\\"text\\\"\\r\\n                      class=\\\"form-control\\\"\\r\\n                      [(ngModel)]=\\\"add_country.currency_sign\\\"\\r\\n                      #currency_sign=\\\"ngModel\\\"\\r\\n                      name=\\\"currency_sign\\\"\\r\\n                      required\\r\\n                    />\\r\\n                    <div\\r\\n                      *ngIf=\\\"\\r\\n                        currency_sign.errors &&\\r\\n                        (currency_sign.dirty || currency_sign.touched)\\r\\n                      \\\"\\r\\n                    >\\r\\n                      <div\\r\\n                        style=\\\"color: red\\\"\\r\\n                        [hidden]=\\\"!currency_sign.errors.required\\\"\\r\\n                      >\\r\\n                        {{\\r\\n                          validation_message.currency_sign_required | translate\\r\\n                        }}\\r\\n                      </div>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <!--                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">Default currency rate</label>\\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        1 {{this.admin_currency_code}} To \\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" (keypress)=\\\"helper.number_validation($event)\\\" [(ngModel)]=\\\"add_country.currency_rate\\\" #currency_rate=\\\"ngModel\\\"  name=\\\"currency_rate\\\" required />\\r\\n                                        {{this.add_country.currency_code}}\\r\\n                                    </div>\\r\\n                                </div>-->\\r\\n\\r\\n                <div class=\\\"form-group\\\">\\r\\n                  <label class=\\\"col-lg-4 control-label\\\">{{\\r\\n                    title.default_currency_rate | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-8 form-group\\\">\\r\\n                    <span class=\\\"\\\">1 {{ this.admin_currency_code }} To</span>\\r\\n\\r\\n                    <input\\r\\n                      type=\\\"text\\\"\\r\\n                      class=\\\"form-control\\\"\\r\\n                      (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                      [(ngModel)]=\\\"add_country.currency_rate\\\"\\r\\n                      #currency_rate=\\\"ngModel\\\"\\r\\n                      name=\\\"currency_rate\\\"\\r\\n                      required\\r\\n                    />\\r\\n\\r\\n                    <span class=\\\"\\\">{{ this.add_country.currency_code }}</span>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"form-group\\\">\\r\\n                  <label class=\\\"col-lg-7 col-xs-7 control-label\\\">{{\\r\\n                    title.minimum_phone_number_length | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-5 col-xs-5 input-group\\\">\\r\\n                    <input\\r\\n                      class=\\\"form-control\\\"\\r\\n                      type=\\\"number\\\"\\r\\n                      min=\\\"6\\\"\\r\\n                      max=\\\"13\\\"\\r\\n                      [(ngModel)]=\\\"add_country.minimum_phone_number_length\\\"\\r\\n                      #minimum_phone_number_length=\\\"ngModel\\\"\\r\\n                      name=\\\"minimum_phone_number_length\\\"\\r\\n                      required\\r\\n                    />\\r\\n                    <span\\r\\n                      class=\\\"input-group-addon\\\"\\r\\n                      tooltip=\\\"{{ tooltip_title.minimum_phone_number_length }}\\\"\\r\\n                      [tooltipDisabled]=\\\"false\\\"\\r\\n                      [tooltipAnimation]=\\\"true\\\"\\r\\n                      tooltipPlacement=\\\"bottom\\\"\\r\\n                    >\\r\\n                      <span class=\\\"fa fa-question\\\"></span>\\r\\n                    </span>\\r\\n                  </div>\\r\\n                  <div\\r\\n                    *ngIf=\\\"\\r\\n                      minimum_phone_number_length.errors &&\\r\\n                      (minimum_phone_number_length.dirty ||\\r\\n                        minimum_phone_number_length.touched)\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <div\\r\\n                      style=\\\"color: red\\\"\\r\\n                      [hidden]=\\\"!minimum_phone_number_length.errors.required\\\"\\r\\n                    >\\r\\n                      {{\\r\\n                        validation_message.phone_minlength_required | translate\\r\\n                      }}\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"form-group\\\">\\r\\n                  <label class=\\\"col-lg-7 col-xs-7 control-label\\\">{{\\r\\n                    title.maximum_phone_number_length | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-5 col-xs-5 input-group\\\">\\r\\n                    <input\\r\\n                      type=\\\"text\\\"\\r\\n                      class=\\\"form-control\\\"\\r\\n                      type=\\\"number\\\"\\r\\n                      min=\\\"6\\\"\\r\\n                      max=\\\"13\\\"\\r\\n                      [(ngModel)]=\\\"add_country.maximum_phone_number_length\\\"\\r\\n                      #maximum_phone_number_length=\\\"ngModel\\\"\\r\\n                      name=\\\"maximum_phone_number_length\\\"\\r\\n                      required\\r\\n                    />\\r\\n                    <span\\r\\n                      class=\\\"input-group-addon\\\"\\r\\n                      tooltip=\\\"{{ tooltip_title.maximum_phone_number_length }}\\\"\\r\\n                      [tooltipDisabled]=\\\"false\\\"\\r\\n                      [tooltipAnimation]=\\\"true\\\"\\r\\n                      tooltipPlacement=\\\"top\\\"\\r\\n                    >\\r\\n                      <span class=\\\"fa fa-question\\\"></span>\\r\\n                    </span>\\r\\n                  </div>\\r\\n                  <div\\r\\n                    *ngIf=\\\"\\r\\n                      maximum_phone_number_length.errors &&\\r\\n                      (maximum_phone_number_length.dirty ||\\r\\n                        maximum_phone_number_length.touched)\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <div\\r\\n                      style=\\\"color: red\\\"\\r\\n                      [hidden]=\\\"!maximum_phone_number_length.errors.required\\\"\\r\\n                    >\\r\\n                      {{\\r\\n                        validation_message.phone_maxlength_required | translate\\r\\n                      }}\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"form-group\\\">\\r\\n                  <label class=\\\"col-lg-4 control-label\\\">{{\\r\\n                    title.is_distance_unit_mile | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-8 form-group\\\">\\r\\n                    <select\\r\\n                      chosen\\r\\n                      class=\\\"form-control chosen-select\\\"\\r\\n                      id=\\\"is_distance_unit_mile\\\"\\r\\n                      [(ngModel)]=\\\"add_country.is_distance_unit_mile\\\"\\r\\n                      #is_distance_unit_mile=\\\"ngModel\\\"\\r\\n                      name=\\\"is_distance_unit_mile\\\"\\r\\n                      tabindex=\\\"4\\\"\\r\\n                      required\\r\\n                    >\\r\\n                      <option value=\\\"false\\\">Km</option>\\r\\n                      <option value=\\\"true\\\">Mile</option>\\r\\n                    </select>\\r\\n                    <div\\r\\n                      *ngIf=\\\"\\r\\n                        is_distance_unit_mile.errors &&\\r\\n                        (is_distance_unit_mile.dirty ||\\r\\n                          is_distance_unit_mile.touched)\\r\\n                      \\\"\\r\\n                    >\\r\\n                      <div\\r\\n                        style=\\\"color: red\\\"\\r\\n                        [hidden]=\\\"!is_distance_unit_mile.errors.required\\\"\\r\\n                      >\\r\\n                        {{ validation_message.time_zone_required | translate }}\\r\\n                      </div>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-lg-4 col-sm-6\\\">\\r\\n          <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\">\\r\\n              <label class=\\\"control-label\\\">{{\\r\\n                heading_title.referral_setting | translate\\r\\n              }}</label>\\r\\n            </div>\\r\\n            <div class=\\\"ibox-content referral_setting\\\">\\r\\n              <div class=\\\"row\\\">\\r\\n                <div\\r\\n                  class=\\\"form-group\\\"\\r\\n                  [hidden]=\\\"add_country.is_referral_user == false\\\"\\r\\n                >\\r\\n                  <label class=\\\"col-lg-7 col-xs-6 control-label\\\">{{\\r\\n                    title.referral_bonus_to_user | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-5 col-xs-6 input-group\\\">\\r\\n                    <span class=\\\"input-group-addon\\\"\\r\\n                      ><span class=\\\"\\\">{{\\r\\n                        add_country.currency_sign\\r\\n                      }}</span></span\\r\\n                    >\\r\\n\\r\\n                    <input\\r\\n                      type=\\\"text\\\"\\r\\n                      class=\\\"form-control\\\"\\r\\n                      [(ngModel)]=\\\"add_country.referral_bonus_to_user\\\"\\r\\n                      #referral_bonus_to_user=\\\"ngModel\\\"\\r\\n                      (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                      name=\\\"referral_bonus_to_user\\\"\\r\\n                    />\\r\\n                    <span\\r\\n                      class=\\\"input-group-addon\\\"\\r\\n                      tooltip=\\\"{{ tooltip_title.referral_bonus_to_user }}\\\"\\r\\n                      [tooltipDisabled]=\\\"false\\\"\\r\\n                      [tooltipAnimation]=\\\"true\\\"\\r\\n                      tooltipPlacement=\\\"bottom\\\"\\r\\n                    >\\r\\n                      <span class=\\\"fa fa-question\\\"></span>\\r\\n                    </span>\\r\\n                  </div>\\r\\n                  <div\\r\\n                    *ngIf=\\\"\\r\\n                      referral_bonus_to_user.errors &&\\r\\n                      (referral_bonus_to_user.dirty ||\\r\\n                        referral_bonus_to_user.touched)\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <div\\r\\n                      style=\\\"color: red\\\"\\r\\n                      [hidden]=\\\"!referral_bonus_to_user.errors.required\\\"\\r\\n                    >\\r\\n                      {{\\r\\n                        validation_message.referral_bonus_to_user_required\\r\\n                          | translate\\r\\n                      }}\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div\\r\\n                  class=\\\"form-group\\\"\\r\\n                  [hidden]=\\\"add_country.is_referral_user == false\\\"\\r\\n                >\\r\\n                  <label class=\\\"col-lg-7 col-xs-6 control-label\\\">{{\\r\\n                    title.bonus_to_user_referral | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-5 col-xs-6 input-group\\\">\\r\\n                    <span class=\\\"input-group-addon\\\"\\r\\n                      ><span class=\\\"\\\">{{\\r\\n                        add_country.currency_sign\\r\\n                      }}</span></span\\r\\n                    >\\r\\n                    <input\\r\\n                      type=\\\"text\\\"\\r\\n                      class=\\\"form-control\\\"\\r\\n                      [(ngModel)]=\\\"add_country.referral_bonus_to_user_friend\\\"\\r\\n                      #referral_bonus_to_user_friend=\\\"ngModel\\\"\\r\\n                      (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                      name=\\\"referral_bonus_to_user_friend\\\"\\r\\n                    />\\r\\n                    <span\\r\\n                      class=\\\"input-group-addon\\\"\\r\\n                      tooltip=\\\"{{\\r\\n                        tooltip_title.referral_bonus_to_user_friend\\r\\n                      }}\\\"\\r\\n                      [tooltipDisabled]=\\\"false\\\"\\r\\n                      [tooltipAnimation]=\\\"true\\\"\\r\\n                      tooltipPlacement=\\\"bottom\\\"\\r\\n                    >\\r\\n                      <span class=\\\"fa fa-question\\\"></span>\\r\\n                    </span>\\r\\n                  </div>\\r\\n                  <div\\r\\n                    *ngIf=\\\"\\r\\n                      referral_bonus_to_user_friend.errors &&\\r\\n                      (referral_bonus_to_user_friend.dirty ||\\r\\n                        referral_bonus_to_user_friend.touched)\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <div\\r\\n                      style=\\\"color: red\\\"\\r\\n                      [hidden]=\\\"!referral_bonus_to_user_friend.errors.required\\\"\\r\\n                    >\\r\\n                      {{\\r\\n                        validation_message.referral_bonus_to_user_friend_required\\r\\n                          | translate\\r\\n                      }}\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div\\r\\n                  class=\\\"form-group\\\"\\r\\n                  [hidden]=\\\"add_country.is_referral_user == false\\\"\\r\\n                >\\r\\n                  <label class=\\\"col-lg-7 col-xs-7 control-label\\\">{{\\r\\n                    title.no_of_user_use_referral | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-5 col-xs-5 input-group\\\">\\r\\n                    <input\\r\\n                      type=\\\"text\\\"\\r\\n                      class=\\\"form-control\\\"\\r\\n                      [(ngModel)]=\\\"add_country.no_of_user_use_referral\\\"\\r\\n                      #no_of_user_use_referral=\\\"ngModel\\\"\\r\\n                      (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                      name=\\\"no_of_user_use_referral\\\"\\r\\n                    />\\r\\n                    <span\\r\\n                      class=\\\"input-group-addon\\\"\\r\\n                      tooltip=\\\"{{ tooltip_title.no_of_user_use_referral }}\\\"\\r\\n                      [tooltipDisabled]=\\\"false\\\"\\r\\n                      [tooltipAnimation]=\\\"true\\\"\\r\\n                      tooltipPlacement=\\\"bottom\\\"\\r\\n                    >\\r\\n                      <span class=\\\"fa fa-question\\\"></span>\\r\\n                    </span>\\r\\n                  </div>\\r\\n                  <div\\r\\n                    *ngIf=\\\"\\r\\n                      no_of_user_use_referral.errors &&\\r\\n                      (no_of_user_use_referral.dirty ||\\r\\n                        no_of_user_use_referral.touched)\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <div\\r\\n                      style=\\\"color: red\\\"\\r\\n                      [hidden]=\\\"!no_of_user_use_referral.errors.required\\\"\\r\\n                    >\\r\\n                      {{\\r\\n                        validation_message.no_of_user_use_referral_required\\r\\n                          | translate\\r\\n                      }}\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div\\r\\n                  class=\\\"form-group\\\"\\r\\n                  [hidden]=\\\"add_country.is_referral_store == false\\\"\\r\\n                >\\r\\n                  <label class=\\\"col-lg-7 col-xs-6 control-label\\\">{{\\r\\n                    title.referral_bonus_to_store | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-5 col-xs-6 input-group\\\">\\r\\n                    <span class=\\\"input-group-addon\\\"\\r\\n                      ><span class=\\\"\\\">{{\\r\\n                        add_country.currency_sign\\r\\n                      }}</span></span\\r\\n                    >\\r\\n\\r\\n                    <input\\r\\n                      type=\\\"text\\\"\\r\\n                      class=\\\"form-control\\\"\\r\\n                      [(ngModel)]=\\\"add_country.referral_bonus_to_store\\\"\\r\\n                      #referral_bonus_to_store=\\\"ngModel\\\"\\r\\n                      (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                      name=\\\"referral_bonus_to_store\\\"\\r\\n                    />\\r\\n                    <span\\r\\n                      class=\\\"input-group-addon\\\"\\r\\n                      tooltip=\\\"{{ tooltip_title.referral_bonus_to_store }}\\\"\\r\\n                      [tooltipDisabled]=\\\"false\\\"\\r\\n                      [tooltipAnimation]=\\\"true\\\"\\r\\n                      tooltipPlacement=\\\"bottom\\\"\\r\\n                    >\\r\\n                      <span class=\\\"fa fa-question\\\"></span>\\r\\n                    </span>\\r\\n                  </div>\\r\\n                  <div\\r\\n                    *ngIf=\\\"\\r\\n                      referral_bonus_to_store.errors &&\\r\\n                      (referral_bonus_to_store.dirty ||\\r\\n                        referral_bonus_to_store.touched)\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <div\\r\\n                      style=\\\"color: red\\\"\\r\\n                      [hidden]=\\\"!referral_bonus_to_store.errors.required\\\"\\r\\n                    >\\r\\n                      {{\\r\\n                        validation_message.referral_bonus_to_store_required\\r\\n                          | translate\\r\\n                      }}\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div\\r\\n                  class=\\\"form-group\\\"\\r\\n                  [hidden]=\\\"add_country.is_referral_store == false\\\"\\r\\n                >\\r\\n                  <label class=\\\"col-lg-7 col-xs-6 control-label\\\">{{\\r\\n                    title.bonus_to_store_referral | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-5 col-xs-6 input-group\\\">\\r\\n                    <span class=\\\"input-group-addon\\\"\\r\\n                      ><span class=\\\"\\\">{{\\r\\n                        add_country.currency_sign\\r\\n                      }}</span></span\\r\\n                    >\\r\\n\\r\\n                    <input\\r\\n                      type=\\\"text\\\"\\r\\n                      class=\\\"form-control\\\"\\r\\n                      [(ngModel)]=\\\"add_country.referral_bonus_to_store_friend\\\"\\r\\n                      #referral_bonus_to_store_friend=\\\"ngModel\\\"\\r\\n                      (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                      name=\\\"referral_bonus_to_store_friend\\\"\\r\\n                    />\\r\\n                    <span\\r\\n                      class=\\\"input-group-addon\\\"\\r\\n                      tooltip=\\\"{{\\r\\n                        tooltip_title.referral_bonus_to_store_friend\\r\\n                      }}\\\"\\r\\n                      [tooltipDisabled]=\\\"false\\\"\\r\\n                      [tooltipAnimation]=\\\"true\\\"\\r\\n                      tooltipPlacement=\\\"bottom\\\"\\r\\n                    >\\r\\n                      <span class=\\\"fa fa-question\\\"></span>\\r\\n                    </span>\\r\\n                  </div>\\r\\n                  <div\\r\\n                    *ngIf=\\\"\\r\\n                      referral_bonus_to_store_friend.errors &&\\r\\n                      (referral_bonus_to_store_friend.dirty ||\\r\\n                        referral_bonus_to_store_friend.touched)\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <div\\r\\n                      style=\\\"color: red\\\"\\r\\n                      [hidden]=\\\"!referral_bonus_to_store_friend.errors.required\\\"\\r\\n                    >\\r\\n                      {{\\r\\n                        validation_message.referral_bonus_to_store_friend_required\\r\\n                          | translate\\r\\n                      }}\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div\\r\\n                  class=\\\"form-group\\\"\\r\\n                  [hidden]=\\\"add_country.is_referral_store == false\\\"\\r\\n                >\\r\\n                  <label class=\\\"col-lg-7 col-xs-7 control-label\\\">{{\\r\\n                    title.no_of_store_use_referral | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-5 col-xs-5 input-group\\\">\\r\\n                    <input\\r\\n                      type=\\\"text\\\"\\r\\n                      class=\\\"form-control\\\"\\r\\n                      [(ngModel)]=\\\"add_country.no_of_store_use_referral\\\"\\r\\n                      #no_of_store_use_referral=\\\"ngModel\\\"\\r\\n                      (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                      name=\\\"no_of_store_use_referral\\\"\\r\\n                    />\\r\\n                    <span\\r\\n                      class=\\\"input-group-addon\\\"\\r\\n                      tooltip=\\\"{{ tooltip_title.no_of_store_use_referral }}\\\"\\r\\n                      [tooltipDisabled]=\\\"false\\\"\\r\\n                      [tooltipAnimation]=\\\"true\\\"\\r\\n                      tooltipPlacement=\\\"bottom\\\"\\r\\n                    >\\r\\n                      <span class=\\\"fa fa-question\\\"></span>\\r\\n                    </span>\\r\\n                  </div>\\r\\n                  <div\\r\\n                    *ngIf=\\\"\\r\\n                      no_of_store_use_referral.errors &&\\r\\n                      (no_of_store_use_referral.dirty ||\\r\\n                        no_of_store_use_referral.touched)\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <div\\r\\n                      style=\\\"color: red\\\"\\r\\n                      [hidden]=\\\"!no_of_store_use_referral.errors.required\\\"\\r\\n                    >\\r\\n                      {{\\r\\n                        validation_message.no_of_store_use_referral_required\\r\\n                          | translate\\r\\n                      }}\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div\\r\\n                  class=\\\"form-group\\\"\\r\\n                  [hidden]=\\\"add_country.is_referral_provider == false\\\"\\r\\n                >\\r\\n                  <label class=\\\"col-lg-7 col-xs-6 control-label\\\">{{\\r\\n                    title.referral_bonus_to_provider | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-5 col-xs-6 input-group\\\">\\r\\n                    <span class=\\\"input-group-addon\\\"\\r\\n                      ><span class=\\\"\\\">{{\\r\\n                        add_country.currency_sign\\r\\n                      }}</span></span\\r\\n                    >\\r\\n\\r\\n                    <input\\r\\n                      type=\\\"text\\\"\\r\\n                      class=\\\"form-control\\\"\\r\\n                      [(ngModel)]=\\\"add_country.referral_bonus_to_provider\\\"\\r\\n                      #referral_bonus_to_provider=\\\"ngModel\\\"\\r\\n                      (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                      name=\\\"referral_bonus_to_provider\\\"\\r\\n                    />\\r\\n                    <span\\r\\n                      class=\\\"input-group-addon\\\"\\r\\n                      tooltip=\\\"{{ tooltip_title.referral_bonus_to_provider }}\\\"\\r\\n                      [tooltipDisabled]=\\\"false\\\"\\r\\n                      [tooltipAnimation]=\\\"true\\\"\\r\\n                      tooltipPlacement=\\\"bottom\\\"\\r\\n                    >\\r\\n                      <span class=\\\"fa fa-question\\\"></span>\\r\\n                    </span>\\r\\n                  </div>\\r\\n\\r\\n                  <div\\r\\n                    *ngIf=\\\"\\r\\n                      referral_bonus_to_provider.errors &&\\r\\n                      (referral_bonus_to_provider.dirty ||\\r\\n                        referral_bonus_to_provider.touched)\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <div\\r\\n                      style=\\\"color: red\\\"\\r\\n                      [hidden]=\\\"!referral_bonus_to_provider.errors.required\\\"\\r\\n                    >\\r\\n                      {{\\r\\n                        validation_message.referral_bonus_to_provider_required\\r\\n                          | translate\\r\\n                      }}\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div\\r\\n                  class=\\\"form-group\\\"\\r\\n                  [hidden]=\\\"add_country.is_referral_provider == false\\\"\\r\\n                >\\r\\n                  <label class=\\\"col-lg-7 col-xs-6 control-label\\\">{{\\r\\n                    title.bonus_to_provider_referral | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-5 col-xs-6 input-group\\\">\\r\\n                    <span class=\\\"input-group-addon\\\"\\r\\n                      ><span class=\\\"\\\">{{\\r\\n                        add_country.currency_sign\\r\\n                      }}</span></span\\r\\n                    >\\r\\n\\r\\n                    <input\\r\\n                      type=\\\"text\\\"\\r\\n                      class=\\\"form-control\\\"\\r\\n                      [(ngModel)]=\\\"\\r\\n                        add_country.referral_bonus_to_provider_friend\\r\\n                      \\\"\\r\\n                      #referral_bonus_to_provider_friend=\\\"ngModel\\\"\\r\\n                      (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                      name=\\\"referral_bonus_to_provider_friend\\\"\\r\\n                    />\\r\\n                    <span\\r\\n                      class=\\\"input-group-addon\\\"\\r\\n                      tooltip=\\\"{{\\r\\n                        tooltip_title.referral_bonus_to_provider_friend\\r\\n                      }}\\\"\\r\\n                      [tooltipDisabled]=\\\"false\\\"\\r\\n                      [tooltipAnimation]=\\\"true\\\"\\r\\n                      tooltipPlacement=\\\"bottom\\\"\\r\\n                    >\\r\\n                      <span class=\\\"fa fa-question\\\"></span>\\r\\n                    </span>\\r\\n                  </div>\\r\\n\\r\\n                  <div\\r\\n                    *ngIf=\\\"\\r\\n                      referral_bonus_to_provider_friend.errors &&\\r\\n                      (referral_bonus_to_provider_friend.dirty ||\\r\\n                        referral_bonus_to_provider_friend.touched)\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <div\\r\\n                      style=\\\"color: red\\\"\\r\\n                      [hidden]=\\\"\\r\\n                        !referral_bonus_to_provider_friend.errors.required\\r\\n                      \\\"\\r\\n                    >\\r\\n                      {{\\r\\n                        validation_message.referral_bonus_to_provider_friend_required\\r\\n                          | translate\\r\\n                      }}\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div\\r\\n                  class=\\\"form-group\\\"\\r\\n                  [hidden]=\\\"add_country.is_referral_provider == false\\\"\\r\\n                >\\r\\n                  <label class=\\\"col-lg-7 col-xs-7 control-label\\\">{{\\r\\n                    title.no_of_provider_use_referral | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-5 col-xs-5 input-group\\\">\\r\\n                    <input\\r\\n                      type=\\\"text\\\"\\r\\n                      class=\\\"form-control\\\"\\r\\n                      [(ngModel)]=\\\"add_country.no_of_provider_use_referral\\\"\\r\\n                      #no_of_provider_use_referral=\\\"ngModel\\\"\\r\\n                      (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                      name=\\\"no_of_provider_use_referral\\\"\\r\\n                    />\\r\\n                    <span\\r\\n                      class=\\\"input-group-addon\\\"\\r\\n                      tooltip=\\\"{{ tooltip_title.no_of_provider_use_referral }}\\\"\\r\\n                      [tooltipDisabled]=\\\"false\\\"\\r\\n                      [tooltipAnimation]=\\\"true\\\"\\r\\n                      tooltipPlacement=\\\"bottom\\\"\\r\\n                    >\\r\\n                      <span class=\\\"fa fa-question\\\"></span>\\r\\n                    </span>\\r\\n                  </div>\\r\\n\\r\\n                  <div\\r\\n                    *ngIf=\\\"\\r\\n                      no_of_provider_use_referral.errors &&\\r\\n                      (no_of_provider_use_referral.dirty ||\\r\\n                        no_of_provider_use_referral.touched)\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <div\\r\\n                      style=\\\"color: red\\\"\\r\\n                      [hidden]=\\\"!no_of_provider_use_referral.errors.required\\\"\\r\\n                    >\\r\\n                      {{\\r\\n                        validation_message.no_of_provider_use_referral_required\\r\\n                          | translate\\r\\n                      }}\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div\\r\\n                  class=\\\"form-group\\\"\\r\\n                  [hidden]=\\\"add_country.is_auto_transfer_for_store == false\\\"\\r\\n                >\\r\\n                  <label class=\\\"col-lg-7 col-xs-7 control-label\\\">{{\\r\\n                    title.auto_transfer_day_for_store | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-5 col-xs-5 input-group\\\">\\r\\n                    <input\\r\\n                      type=\\\"text\\\"\\r\\n                      class=\\\"form-control\\\"\\r\\n                      [(ngModel)]=\\\"add_country.auto_transfer_day_for_store\\\"\\r\\n                      #auto_transfer_day_for_store=\\\"ngModel\\\"\\r\\n                      (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                      name=\\\"auto_transfer_day_for_store\\\"\\r\\n                    />\\r\\n                    <span\\r\\n                      class=\\\"input-group-addon\\\"\\r\\n                      tooltip=\\\"{{ tooltip_title.auto_transfer_day_for_store }}\\\"\\r\\n                      [tooltipDisabled]=\\\"false\\\"\\r\\n                      [tooltipAnimation]=\\\"true\\\"\\r\\n                      tooltipPlacement=\\\"bottom\\\"\\r\\n                    >\\r\\n                      <span class=\\\"fa fa-question\\\"></span>\\r\\n                    </span>\\r\\n                  </div>\\r\\n\\r\\n                  <div\\r\\n                    *ngIf=\\\"\\r\\n                      auto_transfer_day_for_store.errors &&\\r\\n                      (auto_transfer_day_for_store.dirty ||\\r\\n                        auto_transfer_day_for_store.touched)\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <div\\r\\n                      style=\\\"color: red\\\"\\r\\n                      [hidden]=\\\"!auto_transfer_day_for_store.errors.required\\\"\\r\\n                    >\\r\\n                      {{\\r\\n                        validation_message.no_of_provider_use_referral_required\\r\\n                          | translate\\r\\n                      }}\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div\\r\\n                  class=\\\"form-group\\\"\\r\\n                  [hidden]=\\\"\\r\\n                    add_country.is_auto_transfer_for_deliveryman == false\\r\\n                  \\\"\\r\\n                >\\r\\n                  <label class=\\\"col-lg-7 col-xs-7 control-label\\\">{{\\r\\n                    title.auto_transfer_day_for_deliveryman | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-5 col-xs-5 input-group\\\">\\r\\n                    <input\\r\\n                      type=\\\"text\\\"\\r\\n                      class=\\\"form-control\\\"\\r\\n                      [(ngModel)]=\\\"\\r\\n                        add_country.auto_transfer_day_for_deliveryman\\r\\n                      \\\"\\r\\n                      #auto_transfer_day_for_deliveryman=\\\"ngModel\\\"\\r\\n                      (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                      name=\\\"auto_transfer_day_for_deliveryman\\\"\\r\\n                    />\\r\\n                    <span\\r\\n                      class=\\\"input-group-addon\\\"\\r\\n                      tooltip=\\\"{{\\r\\n                        tooltip_title.auto_transfer_day_for_deliveryman\\r\\n                      }}\\\"\\r\\n                      [tooltipDisabled]=\\\"false\\\"\\r\\n                      [tooltipAnimation]=\\\"true\\\"\\r\\n                      tooltipPlacement=\\\"bottom\\\"\\r\\n                    >\\r\\n                      <span class=\\\"fa fa-question\\\"></span>\\r\\n                    </span>\\r\\n                  </div>\\r\\n\\r\\n                  <div\\r\\n                    *ngIf=\\\"\\r\\n                      auto_transfer_day_for_deliveryman.errors &&\\r\\n                      (auto_transfer_day_for_deliveryman.dirty ||\\r\\n                        auto_transfer_day_for_deliveryman.touched)\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <div\\r\\n                      style=\\\"color: red\\\"\\r\\n                      [hidden]=\\\"\\r\\n                        !auto_transfer_day_for_deliveryman.errors.required\\r\\n                      \\\"\\r\\n                    >\\r\\n                      {{\\r\\n                        validation_message.no_of_provider_use_referral_required\\r\\n                          | translate\\r\\n                      }}\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-lg-4 col-sm-6\\\">\\r\\n          <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\">\\r\\n              <label class=\\\"control-label\\\">{{\\r\\n                heading_title.country_setting | translate\\r\\n              }}</label>\\r\\n            </div>\\r\\n            <div class=\\\"ibox-content country_setting\\\">\\r\\n              <div class=\\\"row\\\">\\r\\n                <div class=\\\"form-group\\\">\\r\\n                  <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{\\r\\n                    title.is_business_country | translate\\r\\n                  }}</label>\\r\\n\\r\\n                  <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                    <ui-switch\\r\\n                      [(ngModel)]=\\\"add_country.is_business\\\"\\r\\n                      #is_business=\\\"ngModel\\\"\\r\\n                      name=\\\"is_business\\\"\\r\\n                    ></ui-switch>\\r\\n                  </div>\\r\\n                </div>\\r\\n                <!-- <div class=\\\"form-group\\\">\\r\\n                  <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{\\r\\n                    title.is_distance_unit_mile | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                    <ui-switch\\r\\n                      [(ngModel)]=\\\"add_country.is_distance_unit_mile\\\"\\r\\n                      #is_distance_unit_mile=\\\"ngModel\\\"\\r\\n                      name=\\\"is_distance_unit_mile\\\"\\r\\n                    ></ui-switch>\\r\\n                  </div>\\r\\n                </div> -->\\r\\n\\r\\n                <div class=\\\"form-group\\\">\\r\\n                  <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{\\r\\n                    title.ads_visible | translate\\r\\n                  }}</label>\\r\\n\\r\\n                  <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                    <ui-switch\\r\\n                      [(ngModel)]=\\\"add_country.is_ads_visible\\\"\\r\\n                      #is_ads_visible=\\\"ngModel\\\"\\r\\n                      name=\\\"is_ads_visible\\\"\\r\\n                    ></ui-switch>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"form-group\\\">\\r\\n                  <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{\\r\\n                    title.referral_for_user | translate\\r\\n                  }}</label>\\r\\n\\r\\n                  <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                    <ui-switch\\r\\n                      [(ngModel)]=\\\"add_country.is_referral_user\\\"\\r\\n                      #is_referral_user=\\\"ngModel\\\"\\r\\n                      name=\\\"is_referral_user\\\"\\r\\n                    ></ui-switch>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"form-group\\\">\\r\\n                  <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{\\r\\n                    title.referral_for_store | translate\\r\\n                  }}</label>\\r\\n\\r\\n                  <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                    <ui-switch\\r\\n                      [(ngModel)]=\\\"add_country.is_referral_store\\\"\\r\\n                      #is_referral_store=\\\"ngModel\\\"\\r\\n                      name=\\\"is_referral_store\\\"\\r\\n                    ></ui-switch>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"form-group\\\">\\r\\n                  <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{\\r\\n                    title.referral_for_provider | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                    <ui-switch\\r\\n                      [(ngModel)]=\\\"add_country.is_referral_provider\\\"\\r\\n                      #is_referral_provider=\\\"ngModel\\\"\\r\\n                      name=\\\"is_referral_provider\\\"\\r\\n                    ></ui-switch>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"form-group\\\">\\r\\n                  <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{\\r\\n                    title.is_auto_transfer_for_store | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                    <ui-switch\\r\\n                      [(ngModel)]=\\\"add_country.is_auto_transfer_for_store\\\"\\r\\n                      #is_auto_transfer_for_store=\\\"ngModel\\\"\\r\\n                      name=\\\"is_auto_transfer_for_store\\\"\\r\\n                    ></ui-switch>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"form-group\\\">\\r\\n                  <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{\\r\\n                    title.is_auto_transfer_for_deliveryman | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                    <ui-switch\\r\\n                      [(ngModel)]=\\\"add_country.is_auto_transfer_for_deliveryman\\\"\\r\\n                      #is_auto_transfer_for_deliveryman=\\\"ngModel\\\"\\r\\n                      name=\\\"is_auto_transfer_for_deliveryman\\\"\\r\\n                    ></ui-switch>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n\\r\\n      <!--            <div class=\\\"col-lg-12\\\" >\\r\\n                <div class=\\\"col-lg-12\\\" >\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-content wizard\\\">\\r\\n                            <div class=\\\"row\\\">   \\r\\n                                <div class=\\\"col-lg-4\\\">\\r\\n                                </div>\\r\\n                                <div *ngIf=\\\"type=='add'\\\" class=\\\"col-lg-4\\\" style=\\\"text-align: center;\\\">\\r\\n                                    <input type=\\\"submit\\\" id=\\\"submit\\\" name=\\\"submit\\\" style=\\\"width: 60%;\\\" class=\\\"btn btn-primary\\\" value=\\\"{{button.submit | translate}}\\\" >\\r\\n                                </div>\\r\\n                                <div *ngIf=\\\"type=='edit'\\\" class=\\\"col-lg-4\\\" style=\\\"text-align: center;\\\">\\r\\n                                    <input type=\\\"submit\\\" id=\\\"update\\\" name=\\\"update\\\" style=\\\"width: 60%;\\\" class=\\\"btn btn-primary\\\" value=\\\"{{button.update | translate}}\\\" >\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>-->\\r\\n    </div>\\r\\n  </div>\\r\\n</form>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/add_country/add_country.component.html\n// module id = 1560\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n<form #deliveryForm=\\\"ngForm\\\" (ngSubmit)=\\\"addDelivery(deliveryForm.value)\\\" >\\r\\n    <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"delivery_id\\\"   name=\\\"delivery_id\\\" />\\r\\n    <div class=\\\"row wrapper col-sm-12 col-md-12 col-xs-12 col-lg-12 fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n        <div class=\\\"row\\\">\\r\\n            <div *ngIf=\\\"type=='add'\\\" class=\\\"col-md-3 col-sm-12 pull-right new_submit_button\\\">\\r\\n                <input  type=\\\"submit\\\" id=\\\"submit\\\" name=\\\"submit\\\"  class=\\\"btn btn-primary\\\" value=\\\"{{button.submit | translate}}\\\" >\\r\\n            </div>\\r\\n            <div *ngIf=\\\"type=='edit'\\\" class=\\\"col-md-3 col-sm-12 pull-right new_submit_button\\\">\\r\\n                <input type=\\\"submit\\\" id=\\\"update\\\" name=\\\"update\\\"  class=\\\"btn btn-primary\\\" value=\\\"{{button.update | translate}}\\\" >\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n    <div class=\\\"wrapper wrapper-content content_top_bar_view animated fadeInRight\\\">\\r\\n        <div class=\\\"row\\\">\\r\\n            \\r\\n            <div class=\\\"col-lg-12\\\">\\r\\n                <div class=\\\"col-lg-6 col-sm-9\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.delivery_data | translate}}</label>  \\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content scrollbar\\\" style=\\\"height: calc(100vh - 230px);overflow: auto;\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.delivery_name | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_delivery.delivery_name\\\" #delivery_name=\\\"ngModel\\\"  name=\\\"delivery_name\\\" required />\\r\\n\\r\\n                                        <div *ngIf=\\\"delivery_name.errors && (delivery_name.dirty || delivery_name.touched)\\\">\\r\\n                                            <div style=\\\"color: red;\\\" [hidden]=\\\"!delivery_name.errors.required\\\">{{validation_message.delivery_name_required | translate}}</div>\\r\\n                                        </div>\\r\\n                                    </div> \\r\\n\\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.description | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n\\r\\n                                        <textarea class=\\\"form-control\\\" [(ngModel)]=\\\"add_delivery.description\\\" #description=\\\"ngModel\\\"  name=\\\"description\\\" required ></textarea>\\r\\n                                        <div *ngIf=\\\"description.errors && (description.dirty || description.touched)\\\">\\r\\n                                            <div style=\\\"color: red;\\\" [hidden]=\\\"!description.errors.required\\\">{{validation_message.description_required | translate}}</div>\\r\\n                                        </div>\\r\\n                                    </div> \\r\\n\\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.delivery_type | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <select chosen class=\\\"chosen-select\\\" id=\\\"delivery_type_id\\\" [(ngModel)]=\\\"add_delivery.delivery_type_id\\\" #delivery_type_id=\\\"ngModel\\\" name=\\\"delivery_type_id\\\" data-placeholder=\\\"Select Delivery Type\\\"  tabindex=\\\"4\\\"  required>\\r\\n\\r\\n                                            <option *ngFor=\\\"let i of delivery_type_list\\\" value=\\\"{{i._id}}\\\">{{i.name}}</option>\\r\\n                                        </select> \\r\\n                                        <div *ngIf=\\\"delivery_type_id.errors\\\">\\r\\n                                            <div style=\\\"color: red;\\\" [hidden]=\\\"!delivery_type_id.errors.required\\\">{{validation_message.select_delivery_required | translate}}</div>\\r\\n                                        </div>\\r\\n\\r\\n\\r\\n                                    </div> \\r\\n\\r\\n                                </div>\\r\\n\\r\\n                                <!--                                <div class=\\\"form-group\\\">\\r\\n                                                                    <label class=\\\"col-lg-4 control-label\\\">{{title.famous_products_tags | translate}}</label>  \\r\\n                                                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_delivery.famous_products_tags\\\" #famous_products_tags=\\\"ngModel\\\"  name=\\\"famous_products_tags\\\" required />\\r\\n                                \\r\\n                                                                        <div *ngIf=\\\"famous_products_tags.errors && (famous_products_tags.dirty || famous_products_tags.touched)\\\">\\r\\n                                                                            <div style=\\\"color: red;\\\" [hidden]=\\\"!famous_products_tags.errors.required\\\">{{validation_message.famous_products_tags_required | translate}}</div>\\r\\n                                                                        </div>\\r\\n                                                                    </div> \\r\\n                                                                </div>-->\\r\\n\\r\\n\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.sequence_number | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_delivery.sequence_number\\\" #sequence_number=\\\"ngModel\\\"  name=\\\"sequence_number\\\" required />\\r\\n                                        <div *ngIf=\\\"sequence_number.errors && (sequence_number.dirty || sequence_number.touched)\\\">\\r\\n                                            <div style=\\\"color: red;\\\" [hidden]=\\\"!sequence_number.errors.required\\\">{{validation_message.delivery_sequence_number_required | translate}}</div>\\r\\n                                        </div>\\r\\n                                    </div> \\r\\n\\r\\n                                </div>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.is_business_delivery | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <ui-switch [(ngModel)]=\\\"add_delivery.is_business\\\" #is_business=\\\"ngModel\\\" name=\\\"is_business\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-12\\\">\\r\\n\\r\\n                                    <div class=\\\"row\\\">\\r\\n                                        <label class=\\\"col-lg-4 control-label\\\">{{title.image_url1 | translate}}</label>\\r\\n                                        <label class=\\\"col-lg-4 control-label\\\">{{title.image_url2 | translate}}</label>\\r\\n                                        <label class=\\\"col-lg-4 control-label\\\">{{title.image_url3 | translate}}</label>\\r\\n                                    </div>\\r\\n\\r\\n                                    <div class=\\\"row\\\">\\r\\n                                        <div class=\\\"form-group col-lg-4\\\">\\r\\n                                            <div  style=\\\"width: 100%;height:131px;\\\">\\r\\n                                                <div class=\\\"col-lg-12 profile-images center\\\">\\r\\n\\r\\n                                                    <span class=\\\"btn-file add_img_bg_vehicle no-padding\\\"><img style=\\\"\\\" src=\\\"{{add_delivery.image_url != '' ? add_delivery.image_url : 'plus_box.png'}}\\\" alt=\\\"\\\"><input type=\\\"file\\\" accept=\\\"image/*\\\" (change)=\\\"image_update($event);\\\" name=\\\"image_url\\\"></span>\\r\\n\\r\\n                                                </div>\\r\\n                                                <div class=\\\"col-lg-12 text_center\\\">\\r\\n                                                    <span style=\\\"color: red;\\\">{{image_error | translate}}</span>\\r\\n                                                </div>\\r\\n\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                        <div class=\\\"form-group col-lg-4\\\">\\r\\n                                            <div  style=\\\"width: 100%;height:131px;\\\">\\r\\n                                                <div class=\\\"col-lg-12 profile-images center\\\">\\r\\n\\r\\n                                                    <span class=\\\"btn-file add_img_bg_vehicle no-padding\\\"><img style=\\\"\\\" src=\\\"{{add_delivery.image_url1 != '' ? add_delivery.image_url1 : 'plus_box.png'}}\\\" alt=\\\"\\\"><input type=\\\"file\\\" accept=\\\"image/*\\\" (change)=\\\"image_update1($event);\\\" name=\\\"image_url1\\\"></span>\\r\\n\\r\\n                                                </div>\\r\\n                                                <div class=\\\"col-lg-12 text_center\\\">\\r\\n                                                    <span style=\\\"color: red;\\\">{{image_error1 | translate}}</span>\\r\\n                                                </div>\\r\\n\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                        <div class=\\\"form-group col-lg-4\\\">\\r\\n                                            <div  style=\\\"width: 100%;height:131px;\\\">\\r\\n                                                <div class=\\\"col-lg-12 profile-images center\\\">\\r\\n\\r\\n                                                    <span class=\\\"btn-file add_img_bg_vehicle no-padding\\\"><img style=\\\"\\\" src=\\\"{{add_delivery.image_url2 != '' ? add_delivery.image_url2 : 'plus_box.png'}}\\\" alt=\\\"\\\"><input type=\\\"file\\\" accept=\\\"image/*\\\" (change)=\\\"image_update2($event);\\\" name=\\\"image_url2\\\"></span>\\r\\n\\r\\n                                                </div>\\r\\n                                                <div class=\\\"col-lg-12 text_center\\\">\\r\\n                                                    <span style=\\\"color: red;\\\">{{image_error2 | translate}}</span>\\r\\n                                                </div>\\r\\n\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n\\r\\n                                    </div>\\r\\n\\r\\n                                    <div class=\\\"row\\\">\\r\\n                                        <label class=\\\"col-lg-4 control-label\\\">{{title.icon_url | translate}}</label>\\r\\n                                        <label class=\\\"col-lg-4 control-label\\\">{{title.map_pin_url | translate}}</label>\\r\\n                                        <label class=\\\"col-lg-4 control-label\\\">{{title.image_url3 | translate}}</label>\\r\\n                                    </div>\\r\\n\\r\\n                                    <div class=\\\"row\\\">\\r\\n                                        <div class=\\\"form-group col-lg-4\\\">\\r\\n                                            <div  style=\\\"width: 100%;height:131px;\\\">\\r\\n                                                <div class=\\\"col-lg-12 profile-images center\\\">\\r\\n\\r\\n                                                    <span class=\\\"btn-file add_img_bg_vehicle no-padding\\\"><img style=\\\"\\\" src=\\\"{{add_delivery.icon_url != '' ? add_delivery.icon_url : 'plus_box.png'}}\\\" alt=\\\"\\\"><input type=\\\"file\\\" accept=\\\"image/*\\\" (change)=\\\"icon_url_update($event);\\\" name=\\\"icon_url\\\"></span>\\r\\n\\r\\n                                                </div>\\r\\n                                                <div class=\\\"col-lg-12 text_center\\\">\\r\\n                                                    <span style=\\\"color: red;\\\">{{icon_image_error | translate}}</span>\\r\\n                                                </div>\\r\\n\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n\\r\\n                                        <div class=\\\"form-group col-lg-4\\\">\\r\\n                                            <div  style=\\\"width: 100%;height:131px;\\\">\\r\\n                                                <div class=\\\"col-lg-12 profile-images center\\\">\\r\\n                                                    <span class=\\\"btn-file add_img_bg_vehicle no-padding\\\"><img style=\\\"\\\" src=\\\"{{add_delivery.map_pin_url != '' ? add_delivery.map_pin_url : 'plus_box.png'}}\\\" alt=\\\"\\\"><input type=\\\"file\\\" accept=\\\"image/*\\\" (change)=\\\"map_pin_url_update($event);\\\" name=\\\"map_pin_url\\\"></span>\\r\\n                                                </div>\\r\\n                                                <div class=\\\"col-lg-12 text_center\\\">\\r\\n                                                    <span style=\\\"color: red;\\\">{{map_pin_image_error | translate}}</span>\\r\\n                                                </div>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n\\r\\n                                        <div class=\\\"form-group col-lg-4\\\">\\r\\n                                            <div  style=\\\"width: 100%;height:131px;\\\">\\r\\n                                                <div class=\\\"col-lg-12 profile-images center\\\">\\r\\n                                                    <span class=\\\"btn-file add_img_bg_vehicle no-padding\\\"><img style=\\\"\\\" src=\\\"{{add_delivery.image_url3 != '' ? add_delivery.image_url3 : 'plus_box.png'}}\\\" alt=\\\"\\\"><input type=\\\"file\\\" accept=\\\"image/*\\\" (change)=\\\"image_update3($event);\\\" name=\\\"image_url3\\\"></span>\\r\\n                                                </div>\\r\\n                                                <div class=\\\"col-lg-12 text_center\\\">\\r\\n                                                    <span style=\\\"color: red;\\\">{{image_error3 | translate}}</span>\\r\\n                                                </div>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n                                <div class=\\\"col-md-12\\\">\\r\\n                                    <div class=\\\"row\\\">\\r\\n                                        <label class=\\\"control-label\\\" style=\\\"color:#bc202b;\\\">{{title.note_for_image1 | translate}}:-</label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"row\\\">\\r\\n\\r\\n                                        <label class=\\\"control-label\\\" >{{title.image_note1 | translate}} {{image_setting.image_min_width}}x{{image_setting.image_min_height}}\\r\\n                                            {{title.image_note2 | translate}} {{image_setting.image_max_width}}x{{image_setting.image_max_height}}),</label><br>\\r\\n                                        <label class=\\\"control-label\\\">{{title.image_note3 | translate}} {{image_setting.image_ratio}} {{title.image_note4 | translate}} </label>\\r\\n                                        <label *ngFor=\\\"let i of image_setting.image_type; let last=last;\\\"> {{(i.split('/'))[1]}}<label [hidden]=\\\"last\\\">,</label> </label>\\r\\n                                        <label class=\\\"control-label\\\"> {{title.image_note5 | translate}}</label>\\r\\n\\r\\n\\r\\n                                    </div>\\r\\n\\r\\n                                    <div class=\\\"row\\\">\\r\\n                                        <label class=\\\"control-label\\\" style=\\\"color:#bc202b;\\\">{{title.note_for_image2 | translate}}:-</label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"row\\\">\\r\\n                                        <label class=\\\"control-label\\\" >{{title.image_note1 | translate}} {{image_setting.image_min_width1}}x{{image_setting.image_min_height1}}\\r\\n                                            {{title.image_note2 | translate}} {{image_setting.image_max_width1}}x{{image_setting.image_max_height1}}),</label><br>\\r\\n                                        <label class=\\\"control-label\\\">{{title.image_note3 | translate}} {{image_setting.image_ratio1}} {{title.image_note4 | translate}} </label>\\r\\n                                        <label *ngFor=\\\"let i of image_setting.image_type; let last=last;\\\"> {{(i.split('/'))[1]}}<label [hidden]=\\\"last\\\">,</label> </label>\\r\\n                                        <label class=\\\"control-label\\\"> {{title.image_note5 | translate}}</label>\\r\\n                                    </div>\\r\\n\\r\\n                                    <div class=\\\"row\\\">\\r\\n                                        <label class=\\\"control-label\\\" style=\\\"color:#bc202b;\\\">{{title.note_for_image3 | translate}}:-</label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"row\\\">\\r\\n                                        <label class=\\\"control-label\\\" >{{title.image_note1 | translate}} {{image_setting.image_min_width2}}x{{image_setting.image_min_height2}}\\r\\n                                            {{title.image_note2 | translate}} {{image_setting.image_max_width2}}x{{image_setting.image_max_height2}}),</label><br>\\r\\n                                        <label class=\\\"control-label\\\">{{title.image_note3 | translate}} {{image_setting.image_ratio2}} {{title.image_note4 | translate}} </label>\\r\\n                                        <label *ngFor=\\\"let i of image_setting.image_type; let last=last;\\\"> {{(i.split('/'))[1]}}<label [hidden]=\\\"last\\\">,</label> </label>\\r\\n                                        <label class=\\\"control-label\\\"> {{title.image_note5 | translate}}</label>\\r\\n                                    </div>\\r\\n\\r\\n                                    <div class=\\\"row\\\">\\r\\n                                        <label class=\\\"control-label\\\" style=\\\"color:#bc202b;\\\">{{title.note_for_image4 | translate}}:-</label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"row\\\">\\r\\n                                        <label class=\\\"control-label\\\" >{{title.image_note1 | translate}} {{image_setting.image_min_width3}}x{{image_setting.image_min_height3}}\\r\\n                                            {{title.image_note2 | translate}} {{image_setting.image_max_width3}}x{{image_setting.image_max_height3}}),</label><br>\\r\\n                                        <label class=\\\"control-label\\\">{{title.image_note3 | translate}} {{image_setting.image_ratio3}} {{title.image_note4 | translate}} </label>\\r\\n                                        <label *ngFor=\\\"let i of image_setting.image_type; let last=last;\\\"> {{(i.split('/'))[1]}}<label [hidden]=\\\"last\\\">,</label> </label>\\r\\n                                        <label class=\\\"control-label\\\"> {{title.image_note5 | translate}}</label>\\r\\n                                    </div>\\r\\n\\r\\n                                    <div class=\\\"row\\\">\\r\\n                                        <label class=\\\"control-label\\\" style=\\\"color:#bc202b;\\\">{{title.note_for_icon | translate}}:-</label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"row\\\">\\r\\n                                        <label class=\\\"control-label\\\" >{{title.icon_image_note | translate}} {{image_setting.icon_minimum_size}}x{{image_setting.icon_maximum_size}}),</label><br>\\r\\n                                        <label class=\\\"control-label\\\">{{title.image_note3 | translate}} {{image_setting.icon_image_ratio}} {{title.image_note4 | translate}} </label>\\r\\n                                       <label *ngFor=\\\"let i of image_setting.icon_image_type; let last=last;\\\"> {{(i.split('/'))[1]}}<label [hidden]=\\\"last\\\">,</label> </label>\\r\\n                                        <label class=\\\"control-label\\\"> {{title.image_note5 | translate}}</label>\\r\\n\\r\\n\\r\\n                                    </div> \\r\\n\\r\\n                                    <div class=\\\"row\\\">\\r\\n                                        <label class=\\\"control-label\\\" style=\\\"color:#bc202b;\\\">{{title.note_for_map_pin | translate}}:-</label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"row\\\">\\r\\n                                        <label class=\\\"control-label\\\">{{title.image_note1 | translate}} {{image_setting.map_pin_image_min_width}}x{{image_setting.map_pin_image_min_height}}\\r\\n                                            {{title.image_note2 | translate}} {{image_setting.map_pin_image_max_width}}x{{image_setting.map_pin_image_max_height}}),</label><br>\\r\\n                                        <label class=\\\"control-label\\\">{{title.image_note3 | translate}} {{image_setting.map_pin_image_ratio}} {{title.image_note4 | translate}} </label>\\r\\n                                        <label *ngFor=\\\"let i of image_setting.map_pin_image_type; let last=last;\\\"> {{(i.split('/'))[1]}}<label [hidden]=\\\"last\\\">,</label> </label>\\r\\n                                        <label class=\\\"control-label\\\"> {{title.image_note5 | translate}}</label>\\r\\n\\r\\n\\r\\n                                    </div> \\r\\n\\r\\n                                </div>\\r\\n\\r\\n\\r\\n                            </div>\\r\\n\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-lg-3 col-sm-6\\\" [hidden]=\\\"!delivery_id\\\">\\r\\n                    <div class=\\\"ibox float-e-margins\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n\\r\\n                            <h5 style=\\\"font-weight: bold;\\\">{{title.list_of_store | translate}}\\r\\n                                <input class=\\\"icheck_all\\\" id=\\\"all\\\" [checked]=\\\"all_selected\\\" type=\\\"checkbox\\\" value=\\\"all\\\" />\\r\\n                            </h5>\\r\\n\\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content scrollbar\\\" style=\\\"height: calc(100vh - 230px);overflow: auto;\\\">\\r\\n                            <!-- <ul class=\\\"sortable-list connectList agile-list\\\">\\r\\n                                <li *ngFor=\\\"let store of store_list; let store_index=index;\\\" >\\r\\n                                    {{store.email}}\\r\\n                                </li>\\r\\n                            </ul> -->\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <div class=\\\"col-md-12\\\" style=\\\"margin-bottom: 5px;\\\" *ngFor=\\\"let store of store_list; let store_index=index;\\\">\\r\\n                                    <label><input class=\\\"icheck_store\\\" id=\\\"icheck{{store._id}}\\\"  type=\\\"checkbox\\\" value=\\\"{{store._id}}\\\" /><span style=\\\"margin-left: 10px;\\\">{{store .email}}</span></label>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-lg-3 col-sm-6\\\">\\r\\n\\r\\n                    <div>\\r\\n                        <div>\\r\\n\\r\\n                            <form #tag=\\\"ngForm\\\" enctype='multipart/form-data' >\\r\\n                                <div class=\\\"ibox float-e-margins\\\">\\r\\n                                    <div class=\\\"ibox-title\\\">\\r\\n\\r\\n                                        <h5 style=\\\"font-weight: bold;\\\">{{title.famous_products_tags | translate}}</h5>\\r\\n\\r\\n                                        <span *ngIf=\\\"add_tag==false\\\" class=\\\"fa fa-pencil pull-right\\\" (click)=\\\"add_tag=true\\\"></span>\\r\\n\\r\\n                                        <span *ngIf=\\\"add_tag==true\\\" class=\\\"fa fa-check pull-right\\\" (click)=\\\"updateTag()\\\" ></span>\\r\\n\\r\\n\\r\\n\\r\\n                                    </div>\\r\\n                                    <div class=\\\"ibox-content scrollbar no-padding\\\" style=\\\"height: calc(100vh - 230px);overflow: auto;\\\">\\r\\n                                        <div class=\\\"\\\">\\r\\n\\r\\n                                            <form #tagForm=\\\"ngForm\\\" enctype='multipart/form-data'>\\r\\n\\r\\n                                                <div>\\r\\n                                                    <ul class=\\\"list-group\\\" *ngFor=\\\"let tag of products_tags_array;let index=index;\\\">\\r\\n\\r\\n                                                        <li class=\\\"list-group-item spec_list\\\">\\r\\n                                                            <span  (click)=\\\"deleteTag(index, true)\\\" class=\\\"fa fa-times pull-right\\\"></span>\\r\\n                                                            <div>\\r\\n\\r\\n                                                                <input type=\\\"text\\\" class=\\\"\\\" [(ngModel)]=\\\"products_tags_arrays[index]\\\" name=\\\"{{index}}\\\">\\r\\n\\r\\n                                                            </div>\\r\\n                                                        </li>\\r\\n                                                    </ul>\\r\\n                                                </div>\\r\\n\\r\\n                                                <ul class=\\\"list-group\\\" *ngFor=\\\"let i of add_delivery.famous_products_tags; let tag_index=index;\\\">\\r\\n\\r\\n                                                    <li class=\\\"list-group-item spec_list\\\">\\r\\n                                                        <span (click)=\\\"deleteTag(tag_index, false)\\\" class=\\\"fa fa-times pull-right\\\"></span>\\r\\n                                                        <div *ngIf=\\\"i!=='' && add_delivery.famous_products_tags.length>0 && add_delivery.famous_products_tags != undefined\\\" >\\r\\n                                                            {{i}}\\r\\n                                                        </div>\\r\\n                                                    </li>\\r\\n                                                </ul>\\r\\n\\r\\n                                            </form>\\r\\n                                        </div>\\r\\n                                        <div  class=\\\"add_spec_div\\\">\\r\\n\\r\\n                                            <button (click)=\\\"append_tag()\\\" *ngIf=\\\"add_tag==true\\\" class=\\\"btn add_btn\\\">Add Tag<span class=\\\"fa fa-plus\\\" style=\\\"margin-left: 8px;\\\"></span></button>\\r\\n\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </form>\\r\\n\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n\\r\\n                </div> \\r\\n\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n    </div>\\r\\n</form>\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl animated fadeInDownBig\\\" #image_crop_modal>\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n        <img-cropper #cropper [image]=\\\"data\\\" [settings]=\\\"cropperSettings\\\"></img-cropper><br>\\r\\n        {{cropperSettings.croppedWidth}}\\r\\n        {{cropperSettings.croppedHeight}}\\r\\n        <div class=\\\"col-lg-12 text_center\\\">\\r\\n            <span style=\\\"color: red;\\\">{{image_error | translate}}</span>\\r\\n        </div>\\r\\n\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n        <div style=\\\"text-align: center\\\">\\r\\n            <button type=\\\"button\\\" (click)=\\\"crop($event)\\\" class=\\\"btn btn-primary\\\">{{button.done | translate}}</button>\\r\\n        </div>\\r\\n    </modal-footer>\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl animated fadeInDownBig\\\" #image_crop_modal1>\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n        <img-cropper #cropper1 [image]=\\\"data\\\" [settings]=\\\"cropperSettings1\\\"></img-cropper><br>\\r\\n        {{cropperSettings1.croppedWidth}}\\r\\n        {{cropperSettings1.croppedHeight}}\\r\\n        <div class=\\\"col-lg-12 text_center\\\">\\r\\n            <span style=\\\"color: red;\\\">{{image_error1 | translate}}</span>\\r\\n        </div>\\r\\n\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n        <div style=\\\"text-align: center\\\">\\r\\n            <button type=\\\"button\\\" (click)=\\\"crop1($event)\\\" class=\\\"btn btn-primary\\\">{{button.done | translate}}</button>\\r\\n        </div>\\r\\n    </modal-footer>\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl animated fadeInDownBig\\\" #image_crop_modal2>\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n        <img-cropper #cropper2 [image]=\\\"data\\\" [settings]=\\\"cropperSettings2\\\"></img-cropper><br>\\r\\n        {{cropperSettings2.croppedWidth}}\\r\\n        {{cropperSettings2.croppedHeight}}\\r\\n        <div class=\\\"col-lg-12 text_center\\\">\\r\\n            <span style=\\\"color: red;\\\">{{image_error2 | translate}}</span>\\r\\n        </div>\\r\\n\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n        <div style=\\\"text-align: center\\\">\\r\\n            <button type=\\\"button\\\" (click)=\\\"crop2($event)\\\" class=\\\"btn btn-primary\\\">{{button.done | translate}}</button>\\r\\n        </div>\\r\\n    </modal-footer>\\r\\n</modal>\\r\\n\\r\\n\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl animated fadeInDownBig\\\" #map_pin_image_crop_modal>\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n        <img-cropper #cropper_map_pin [image]=\\\"map_pin_data\\\" [settings]=\\\"cropperMapPinSettings\\\"></img-cropper><br>\\r\\n        {{cropperMapPinSettings.croppedWidth}}\\r\\n        {{cropperMapPinSettings.croppedHeight}}\\r\\n        <div class=\\\"col-lg-12 text_center\\\">\\r\\n            <span style=\\\"color: red;\\\">{{map_pin_image_error | translate}}</span>\\r\\n        </div>\\r\\n\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n        <div style=\\\"text-align: center\\\">\\r\\n            <button type=\\\"button\\\" (click)=\\\"cropDeliveryMapPin($event)\\\" class=\\\"btn btn-primary\\\">{{button.done | translate}}</button>\\r\\n        </div>\\r\\n    </modal-footer>\\r\\n</modal>\\r\\n\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl animated fadeInDownBig\\\" #icon_image_crop_modal>\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n        <img-cropper #cropper_icon [image]=\\\"icon_data\\\" [settings]=\\\"cropperIconSettings\\\"></img-cropper><br>\\r\\n        {{cropperIconSettings.croppedWidth}}\\r\\n        {{cropperIconSettings.croppedHeight}}\\r\\n        <div class=\\\"col-lg-12 text_center\\\">\\r\\n            <span style=\\\"color: red;\\\">{{icon_image_error | translate}}</span>\\r\\n        </div>\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n        <div style=\\\"text-align: center\\\">\\r\\n            <button type=\\\"button\\\" (click)=\\\"cropIcon($event)\\\" class=\\\"btn btn-primary\\\">{{button.done | translate}}</button>\\r\\n        </div>\\r\\n    </modal-footer>\\r\\n</modal>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/add_delivery/add_delivery.component.html\n// module id = 1561\n// module chunks = 0","module.exports = \"\\r\\n<div class=\\\"wrapper wrapper-content animated fadeInRight content_top_bar\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-lg-12\\\">\\r\\n            <!-- div class=\\\"col-lg-4 col-sm-6\\\">\\r\\n                <form #adddetailForm=\\\"ngForm\\\" (ngSubmit)=\\\"AddDetail(adddetailForm.value)\\\">\\r\\n\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">Add Detail</label>  \\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.type | translate}}</label>\\r\\n                                    <div class=\\\"col-lg-8 form-group \\\">\\r\\n                                        <select chosen class=\\\"form-control chosen-select\\\" id=\\\"type\\\" [(ngModel)]=\\\"add_detail.type\\\" #type=\\\"ngModel\\\"  name=\\\"type\\\" >\\r\\n\\r\\n                                            <option value=\\\"0\\\" >All</option>\\r\\n                                            <option value=\\\"2\\\" >{{title.store}}</option>\\r\\n                                            <option value=\\\"7\\\">{{title.user}}</option>\\r\\n                                            <option value=\\\"8\\\">{{title.provider}}</option>\\r\\n                                        </select>\\r\\n                                    </div> \\r\\n\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.promo_country | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group \\\">\\r\\n                                        <select chosen class=\\\"form-control chosen-select\\\" id=\\\"country\\\" [(ngModel)]=\\\"add_detail.country_id\\\" #country_id=\\\"ngModel\\\" name=\\\"country_id\\\" data-placeholder=\\\"Select Country\\\"  tabindex=\\\"4\\\"  >\\r\\n\\r\\n                                            <option *ngFor=\\\"let i of country_list\\\" value=\\\"{{i._id}}\\\">{{i.country_name}}</option>\\r\\n                                        </select>\\r\\n\\r\\n                                    </div> \\r\\n\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.promo_city | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group \\\">\\r\\n                                        <select chosen class=\\\"form-control chosen-select\\\" id=\\\"city\\\" [(ngModel)]=\\\"add_detail.city_id\\\" #city_id=\\\"ngModel\\\" name=\\\"city_id\\\" data-placeholder=\\\"Select City\\\"  tabindex=\\\"4\\\"  >\\r\\n                                            <option selected style=\\\"display:none;\\\">{{title.select | translate}}</option>\\r\\n\\r\\n                                            <option *ngFor=\\\"let i of city_list\\\" value=\\\"{{i._id}}\\\">{{i.city_name}}</option>\\r\\n                                        </select>  \\r\\n                                    </div> \\r\\n\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.delivery | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group \\\">\\r\\n                                        <select chosen class=\\\"form-control chosen-select\\\" id=\\\"store_delivery_id\\\" [(ngModel)]=\\\"add_detail.store_delivery_id\\\" #store_delivery_id=\\\"ngModel\\\" name=\\\"store_delivery_id\\\" data-placeholder=\\\"Select Delivery\\\"  tabindex=\\\"4\\\"  >\\r\\n                                            <option selected style=\\\"display:none;\\\">{{title.select | translate}}</option>\\r\\n\\r\\n                                            <option *ngFor=\\\"let i of delivery_list\\\" value=\\\"{{i._id}}\\\">{{i.delivery_name}}</option>\\r\\n                                        </select>  \\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n\\r\\n                                <div class=\\\"form-group\\\" >\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\"></label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input  type=\\\"submit\\\" id=\\\"submit\\\" name=\\\"submit\\\"  style=\\\"width: 60%;\\\" class=\\\"btn btn-primary\\\" value=\\\"{{button.submit | translate}}\\\" >\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\" *ngIf=\\\"store_email != ''\\\" >\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">Store Email</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-8 form-group \\\"  >\\r\\n                                        {{store_email}}\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\" *ngIf=\\\"provider_email != ''\\\" >\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">Provider Email</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-8 form-group \\\"  >\\r\\n                                        {{provider_email}}\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\" *ngIf=\\\"user_email != ''\\\" >\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">User Email</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-8 form-group \\\"  >\\r\\n                                        {{user_email}}\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </form>\\r\\n            </div> -->\\r\\n            <div class=\\\"col-lg-4 col-sm-6\\\">\\r\\n                <form #addstoredetailForm=\\\"ngForm\\\" (ngSubmit)=\\\"AddStoreData(addstoredetailForm.value)\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">Duplicate Store Menu</label>  \\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-3 control-label\\\">Present Store</label>  \\r\\n                                    <div class=\\\"col-lg-9 form-group \\\">\\r\\n                                        <select chosen class=\\\"form-control chosen-select\\\" id=\\\"present_store_id\\\" [(ngModel)]=\\\"add_store_data.present_store_id\\\" #present_store_id=\\\"ngModel\\\" name=\\\"present_store_id\\\" data-placeholder=\\\"Select Store\\\"  tabindex=\\\"4\\\"  >\\r\\n\\r\\n                                            <option *ngFor=\\\"let i of store_list\\\" value=\\\"{{i._id}}\\\">{{i.email}}</option>\\r\\n                                        </select>\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-3 control-label\\\">New Store</label>  \\r\\n                                    <div class=\\\"col-lg-9 form-group \\\">\\r\\n                                        <select chosen class=\\\"form-control chosen-select\\\" id=\\\"new_store_id\\\" [(ngModel)]=\\\"add_store_data.new_store_id\\\" #new_store_id=\\\"ngModel\\\" name=\\\"new_store_id\\\" data-placeholder=\\\"Select Store\\\"  tabindex=\\\"4\\\"  >\\r\\n\\r\\n                                            <option *ngFor=\\\"let i of new_store_list\\\" value=\\\"{{i._id}}\\\">{{i.email}}</option>\\r\\n                                        </select>\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n                                <!-- <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-3 control-label\\\">Api</label>  \\r\\n                                    <div class=\\\"col-lg-9 form-group \\\">\\r\\n                                        <select chosen class=\\\"form-control chosen-select\\\" id=\\\"api\\\" [(ngModel)]=\\\"add_store_data.api\\\" #api=\\\"ngModel\\\"  name=\\\"api\\\" >\\r\\n\\r\\n                                            <option value=\\\"1\\\" >Add Item Api</option>\\r\\n                                            <option value=\\\"2\\\">Add Specification Api</option>\\r\\n\\r\\n                                        </select>\\r\\n                                    </div> \\r\\n                                </div> -->\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n                                <div class=\\\"form-group\\\" >\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\"></label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input  type=\\\"submit\\\" id=\\\"submit\\\" name=\\\"submit\\\"  style=\\\"width: 60%;\\\" class=\\\"btn btn-primary\\\" value=\\\"{{button.submit | translate}}\\\" >\\r\\n\\r\\n                                    </div> \\r\\n\\r\\n                                </div>\\r\\n\\r\\n\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </form>\\r\\n            </div>\\r\\n\\r\\n            <!-- <div class=\\\"col-lg-4 col-sm-6\\\">\\r\\n                <form #addvehicledetailForm=\\\"ngForm\\\" (ngSubmit)=\\\"AddProviderVehicleData(addvehicledetailForm.value)\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">Add Provider Vehicle</label>  \\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-3 control-label\\\">Provider</label>  \\r\\n                                    <div class=\\\"col-lg-9 form-group \\\">\\r\\n                                        <select chosen class=\\\"form-control chosen-select\\\" id=\\\"provider_id\\\" [(ngModel)]=\\\"add_provider_vehicle_data.provider_id\\\" #provider_id=\\\"ngModel\\\" name=\\\"provider_id\\\" data-placeholder=\\\"Select Provider\\\"  tabindex=\\\"4\\\"  >\\r\\n\\r\\n                                            <option *ngFor=\\\"let i of provider_list\\\" value=\\\"{{i._id}}\\\">{{i.email}}</option>\\r\\n                                        </select>\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n\\r\\n                                <div class=\\\"form-group\\\" >\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\"></label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input  type=\\\"submit\\\" id=\\\"submit\\\" name=\\\"submit\\\"  style=\\\"width: 60%;\\\" class=\\\"btn btn-primary\\\" value=\\\"{{button.submit | translate}}\\\" >\\r\\n\\r\\n                                    </div> \\r\\n\\r\\n                                </div>\\r\\n\\r\\n\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </form>\\r\\n            </div> -->\\r\\n\\r\\n\\r\\n        </div>\\r\\n\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/add_detail/add_detail.component.html\n// module id = 1562\n// module chunks = 0","module.exports = \"<form #documentForm=\\\"ngForm\\\" (ngSubmit)=\\\"AddDocument(documentForm.value)\\\" >\\r\\n    <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"document_id\\\"   name=\\\"document_id\\\" />\\r\\n    <div class=\\\"row wrapper col-sm-12 col-md-12 col-xs-12 col-lg-12 fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n        <div class=\\\"row\\\">\\r\\n            <div *ngIf=\\\"type=='add'\\\" class=\\\"col-md-3 col-sm-12 pull-right new_submit_button\\\">\\r\\n                <input  type=\\\"submit\\\" id=\\\"submit\\\" name=\\\"submit\\\"  class=\\\"btn btn-primary\\\" value=\\\"{{button.submit | translate}}\\\" >\\r\\n            </div>\\r\\n            <div *ngIf=\\\"type=='edit'\\\" class=\\\"col-md-3 col-sm-12 pull-right new_submit_button\\\">\\r\\n                <input type=\\\"submit\\\" id=\\\"update\\\" name=\\\"update\\\"  class=\\\"btn btn-primary\\\" value=\\\"{{button.update | translate}}\\\" >\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n    <div class=\\\"wrapper wrapper-content content_top_bar_view animated fadeInRight\\\">\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-lg-12\\\">\\r\\n                <div class=\\\"col-lg-6 col-sm-9\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.document_data | translate}}</label>  \\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.country | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group add\\\">\\r\\n                                        <select chosen class=\\\"chosen-select\\\" id=\\\"country_id\\\" [(ngModel)]=\\\"add_document.country_id\\\" #country_id=\\\"ngModel\\\" name=\\\"country_id\\\" data-placeholder=\\\"Select Country\\\"  tabindex=\\\"4\\\"  >\\r\\n\\r\\n                                            <option *ngFor=\\\"let i of country_list\\\" value=\\\"{{i._id}}\\\">{{i.country_name}}</option>\\r\\n                                        </select> \\r\\n                                        <div *ngIf=\\\"country_id.errors\\\">\\r\\n                                            <div style=\\\"color: red;\\\" [hidden]=\\\"!country_id.errors.required\\\">{{validation_message.select_country_required | translate}}</div>\\r\\n                                        </div>\\r\\n                                    </div> \\r\\n\\r\\n                                    <div *ngIf=\\\"type=='edit'\\\"  class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_document.country_name\\\" #country_name=\\\"ngModel\\\"  name=\\\"country_name\\\" readonly/>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.document_name | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_document.document_name\\\" #document_name=\\\"ngModel\\\"  name=\\\"document_name\\\" required />\\r\\n                                        <div *ngIf=\\\"document_name.errors && (document_name.dirty || document_name.touched)\\\">\\r\\n                                            <div style=\\\"color: red;\\\" [hidden]=\\\"!document_name.errors.required\\\">{{validation_message.document_name_required | translate}}</div>\\r\\n                                        </div>\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.document_type | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group add\\\">\\r\\n                                        <select chosen class=\\\"form-control chosen-select\\\" id=\\\"document_for\\\" [(ngModel)]=\\\"add_document.document_for\\\" #document_for=\\\"ngModel\\\"  name=\\\"document_for\\\" >\\r\\n\\r\\n                                            <option value=\\\"2\\\" >{{title.store_type}}</option>\\r\\n                                            <option value=\\\"7\\\">{{title.user_type}}</option>\\r\\n                                            <option value=\\\"8\\\">{{title.provider_type}}</option>\\r\\n                                            <option value=\\\"9\\\">{{title.provider_vehicle_type}}</option>\\r\\n                                        </select>\\r\\n                                    </div> \\r\\n                                    <div *ngIf=\\\"type=='edit'\\\"  class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_document.document_type_name\\\" #document_type_name=\\\"ngModel\\\"  name=\\\"document_type_name\\\" readonly/>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.is_show | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <ui-switch [(ngModel)]=\\\"add_document.is_show\\\" #is_show=\\\"ngModel\\\" name=\\\"is_show\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.is_mandatory | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <ui-switch [(ngModel)]=\\\"add_document.is_mandatory\\\" #is_mandatory=\\\"ngModel\\\" name=\\\"is_mandatory\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.is_expired_date | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <ui-switch [(ngModel)]=\\\"add_document.is_expired_date\\\" #is_expired_date=\\\"ngModel\\\" name=\\\"is_expired_date\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.is_unique_code | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <ui-switch [(ngModel)]=\\\"add_document.is_unique_code\\\" #is_unique_code=\\\"ngModel\\\" name=\\\"is_unique_code\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n\\r\\n                            </div>\\r\\n<!--                            <div class=\\\"row\\\">   \\r\\n                                <div class=\\\"col-lg-4\\\">\\r\\n                                </div>\\r\\n                                <div *ngIf=\\\"type=='add'\\\" class=\\\"col-lg-4\\\" style=\\\"text-align: center;\\\">\\r\\n                                    <input type=\\\"submit\\\" name=\\\"submit\\\" style=\\\"width: 60%;\\\" class=\\\"btn btn-primary\\\" value=\\\"{{button.submit | translate}}\\\" >\\r\\n                                </div>\\r\\n                                <div *ngIf=\\\"type=='edit'\\\" class=\\\"col-lg-4\\\" style=\\\"text-align: center;\\\">\\r\\n                                    <input type=\\\"submit\\\" id=\\\"update\\\" name=\\\"update\\\" style=\\\"width: 60%;\\\" class=\\\"btn btn-primary\\\" value=\\\"{{button.update | translate}}\\\" >\\r\\n                                </div>\\r\\n                            </div>-->\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</form>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/add_document/add_document.component.html\n// module id = 1563\n// module chunks = 0","module.exports = \"<style>\\r\\n  #clock-picker {\\r\\n    padding-right: 15px !important;\\r\\n    padding-left: 15px !important;\\r\\n  }\\r\\n</style>\\r\\n\\r\\n<div class=\\\"wrapper wrapper-content animated fadeInRight content_top_bar\\\">\\r\\n  <div class=\\\"row\\\">\\r\\n    <form\\r\\n      #promocodeForm=\\\"ngForm\\\"\\r\\n      (ngSubmit)=\\\"AddPromocode(promocodeForm.value)\\\"\\r\\n    >\\r\\n      <input\\r\\n        type=\\\"hidden\\\"\\r\\n        class=\\\"form-control\\\"\\r\\n        [(ngModel)]=\\\"promo_id\\\"\\r\\n        name=\\\"promo_id\\\"\\r\\n      />\\r\\n      <input\\r\\n        type=\\\"hidden\\\"\\r\\n        class=\\\"form-control\\\"\\r\\n        [(ngModel)]=\\\"add_promo_code.store_id\\\"\\r\\n        #store_id=\\\"ngModel\\\"\\r\\n        name=\\\"store_id\\\"\\r\\n      />\\r\\n\\r\\n      <div class=\\\"col-md-4\\\">\\r\\n        <div class=\\\"col-md-12 no_padding\\\">\\r\\n          <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-content\\\">\\r\\n              <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                  <label class=\\\"col-lg-4 control-label\\\">{{\\r\\n                    title.promo_country | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-8 form-group add\\\">\\r\\n                    <select\\r\\n                      chosen\\r\\n                      class=\\\"form-control chosen-select\\\"\\r\\n                      id=\\\"country\\\"\\r\\n                      [(ngModel)]=\\\"add_promo_code.country_id\\\"\\r\\n                      #country_id=\\\"ngModel\\\"\\r\\n                      name=\\\"country_id\\\"\\r\\n                      data-placeholder=\\\"Select Country\\\"\\r\\n                      tabindex=\\\"4\\\"\\r\\n                    >\\r\\n                      <option\\r\\n                        *ngFor=\\\"let i of country_list\\\"\\r\\n                        value=\\\"{{ i._id }}\\\"\\r\\n                      >\\r\\n                        {{ i.country_name }}\\r\\n                      </option>\\r\\n                    </select>\\r\\n                    <div *ngIf=\\\"country_id.errors\\\">\\r\\n                      <div\\r\\n                        style=\\\"color: red\\\"\\r\\n                        [hidden]=\\\"!country_id.errors.required\\\"\\r\\n                      >\\r\\n                        {{\\r\\n                          validation_message.select_country_required | translate\\r\\n                        }}\\r\\n                      </div>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                  <div *ngIf=\\\"type == 'edit'\\\" class=\\\"col-lg-8 form-group\\\">\\r\\n                    <input\\r\\n                      type=\\\"text\\\"\\r\\n                      class=\\\"form-control\\\"\\r\\n                      [(ngModel)]=\\\"add_promo_code.country_name\\\"\\r\\n                      #country_name=\\\"ngModel\\\"\\r\\n                      name=\\\"country_name\\\"\\r\\n                      readonly\\r\\n                    />\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                  <label class=\\\"col-lg-4 control-label\\\">{{\\r\\n                    title.promo_city | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-8 form-group add\\\">\\r\\n                    <select\\r\\n                      chosen\\r\\n                      class=\\\"form-control chosen-select\\\"\\r\\n                      id=\\\"city\\\"\\r\\n                      [(ngModel)]=\\\"add_promo_code.city_id\\\"\\r\\n                      #city_id=\\\"ngModel\\\"\\r\\n                      name=\\\"city_id\\\"\\r\\n                      data-placeholder=\\\"Select City\\\"\\r\\n                      tabindex=\\\"4\\\"\\r\\n                    >\\r\\n                      <option selected style=\\\"display: none\\\">\\r\\n                        {{ title.select_city | translate }}\\r\\n                      </option>\\r\\n                      <option value=\\\"000000000000000000000000\\\">\\r\\n                        {{ title.all | translate }}\\r\\n                      </option>\\r\\n                      <option *ngFor=\\\"let i of city_list\\\" value=\\\"{{ i._id }}\\\">\\r\\n                        {{ i.city_name }}\\r\\n                      </option>\\r\\n                    </select>\\r\\n                  </div>\\r\\n                  <div *ngIf=\\\"type == 'edit'\\\" class=\\\"col-lg-8 form-group\\\">\\r\\n                    <input\\r\\n                      type=\\\"text\\\"\\r\\n                      class=\\\"form-control\\\"\\r\\n                      [(ngModel)]=\\\"add_promo_code.city_name\\\"\\r\\n                      #city_name=\\\"ngModel\\\"\\r\\n                      name=\\\"city_name\\\"\\r\\n                      readonly\\r\\n                    />\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                  <label class=\\\"col-lg-4 control-label\\\">{{\\r\\n                    title.name | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-8 form-group add\\\">\\r\\n                    <input\\r\\n                      type=\\\"text\\\"\\r\\n                      class=\\\"form-control\\\"\\r\\n                      style=\\\"text-transform: uppercase\\\"\\r\\n                      [(ngModel)]=\\\"add_promo_code.promo_code_name\\\"\\r\\n                      #promo_code_name=\\\"ngModel\\\"\\r\\n                      (keyup)=\\\"check_promo_code(promo_code_name.value)\\\"\\r\\n                      name=\\\"promo_code_name\\\"\\r\\n                      required\\r\\n                    />\\r\\n                    <label class=\\\"col-lg-12 control-label\\\" style=\\\"color: red\\\">{{\\r\\n                      promo_exist\\r\\n                    }}</label>\\r\\n                    <div\\r\\n                      *ngIf=\\\"\\r\\n                        promo_code_name.errors &&\\r\\n                        (promo_code_name.dirty || promo_code_name.touched)\\r\\n                      \\\"\\r\\n                    >\\r\\n                      <div\\r\\n                        style=\\\"color: red\\\"\\r\\n                        [hidden]=\\\"!promo_code_name.errors.required\\\"\\r\\n                      >\\r\\n                        {{\\r\\n                          validation_message.promo_code_name_required\\r\\n                            | translate\\r\\n                        }}\\r\\n                      </div>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                  <div *ngIf=\\\"type == 'edit'\\\" class=\\\"col-lg-8 form-group\\\">\\r\\n                    <input\\r\\n                      type=\\\"text\\\"\\r\\n                      class=\\\"form-control\\\"\\r\\n                      [(ngModel)]=\\\"add_promo_code.promo_code_name\\\"\\r\\n                      #promo_code_name=\\\"ngModel\\\"\\r\\n                      name=\\\"promo_code_name\\\"\\r\\n                      readonly\\r\\n                    />\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                  <label class=\\\"col-lg-4 control-label\\\">{{\\r\\n                    title.details | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-8 form-group\\\">\\r\\n                    <textarea\\r\\n                      class=\\\"form-control\\\"\\r\\n                      [(ngModel)]=\\\"add_promo_code.promo_details\\\"\\r\\n                      #promo_details=\\\"ngModel\\\"\\r\\n                      name=\\\"promo_details\\\"\\r\\n                      required\\r\\n                    ></textarea>\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                  <label class=\\\"col-lg-4 control-label\\\">{{\\r\\n                    title.promo_for | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-8 form-group\\\">\\r\\n                    <select\\r\\n                      chosen\\r\\n                      class=\\\"form-control chosen-select\\\"\\r\\n                      id=\\\"promo_for\\\"\\r\\n                      [(ngModel)]=\\\"add_promo_code.promo_for\\\"\\r\\n                      #promo_for=\\\"ngModel\\\"\\r\\n                      name=\\\"promo_for\\\"\\r\\n                    >\\r\\n                      <option\\r\\n                        *ngFor=\\\"let i of helper.ADMIN_PROMO_FOR\\\"\\r\\n                        value=\\\"{{ i.ID }}\\\"\\r\\n                      >\\r\\n                        {{ i.NAME }}\\r\\n                      </option>\\r\\n                    </select>\\r\\n                    <input\\r\\n                      type=\\\"text\\\"\\r\\n                      class=\\\"form-control edit\\\"\\r\\n                      [(ngModel)]=\\\"add_promo_code.promo_for\\\"\\r\\n                      #promo_for=\\\"ngModel\\\"\\r\\n                      name=\\\"promo_for\\\"\\r\\n                      readonly\\r\\n                    />\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                  <label class=\\\"col-lg-4 control-label\\\">{{\\r\\n                    title.promo_code_type | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-8 form-group\\\">\\r\\n                    <select\\r\\n                      chosen\\r\\n                      class=\\\"form-control chosen-select\\\"\\r\\n                      id=\\\"promo_code_type\\\"\\r\\n                      [(ngModel)]=\\\"add_promo_code.promo_code_type\\\"\\r\\n                      #promo_code_type=\\\"ngModel\\\"\\r\\n                      name=\\\"promo_code_type\\\"\\r\\n                    >\\r\\n                      <option value=\\\"2\\\">{{ lable_title.absolute }}</option>\\r\\n                      <option value=\\\"1\\\">{{ lable_title.percentage }}</option>\\r\\n                    </select>\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                  <label class=\\\"col-lg-4 control-label\\\">{{\\r\\n                    title.promo_code_value | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-8 form-group\\\">\\r\\n                    <input\\r\\n                      type=\\\"text\\\"\\r\\n                      class=\\\"form-control\\\"\\r\\n                      [(ngModel)]=\\\"add_promo_code.promo_code_value\\\"\\r\\n                      #promo_code_value=\\\"ngModel\\\"\\r\\n                      (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                      name=\\\"promo_code_value\\\"\\r\\n                      required\\r\\n                    />\\r\\n                    <div\\r\\n                      *ngIf=\\\"\\r\\n                        promo_code_value.errors &&\\r\\n                        (promo_code_value.dirty || promo_code_value.touched)\\r\\n                      \\\"\\r\\n                    >\\r\\n                      <div\\r\\n                        style=\\\"color: red\\\"\\r\\n                        [hidden]=\\\"!promo_code_value.errors.required\\\"\\r\\n                      >\\r\\n                        {{\\r\\n                          validation_message.promo_code_value_required\\r\\n                            | translate\\r\\n                        }}\\r\\n                      </div>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                  <label class=\\\"col-md-4 control-label\\\">{{\\r\\n                    title.admin_loyalty_type | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-md-8 form-group\\\">\\r\\n                    <select\\r\\n                      chosen\\r\\n                      class=\\\"form-control chosen-select\\\"\\r\\n                      id=\\\"admin_loyalty_type\\\"\\r\\n                      [(ngModel)]=\\\"add_promo_code.admin_loyalty_type\\\"\\r\\n                      #admin_loyalty_type=\\\"ngModel\\\"\\r\\n                      name=\\\"admin_loyalty_type\\\"\\r\\n                    >\\r\\n                      <option value=\\\"1\\\">{{ lable_title.percentage }}</option>\\r\\n                      <option value=\\\"2\\\">{{ lable_title.absolute }}</option>\\r\\n                    </select>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-md-12\\\" style=\\\"margin-bottom: 10px\\\">\\r\\n                  <label class=\\\"col-md-4 control-label\\\">Paid By Hop</label>\\r\\n                  <div class=\\\"col-md-8 form-group\\\">\\r\\n                    <input\\r\\n                      type=\\\"text\\\"\\r\\n                      class=\\\"form-control\\\"\\r\\n                      [(ngModel)]=\\\"add_promo_code.admin_loyalty\\\"\\r\\n                      #admin_loyalty=\\\"ngModel\\\"\\r\\n                      (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                      name=\\\"admin_loyalty\\\"\\r\\n                      required\\r\\n                    />\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div\\r\\n                  [class.hide]=\\\"\\r\\n                    add_promo_code.promo_for == 20 ||\\r\\n                    add_promo_code.promo_for == 23\\r\\n                  \\\"\\r\\n                >\\r\\n                  <label class=\\\"col-lg-4 control-label\\\">{{\\r\\n                    title.delivery_offer | translate\\r\\n                  }}</label>\\r\\n\\r\\n                  <div class=\\\"col-md-12\\\" style=\\\"margin-top: 10px\\\">\\r\\n                    <label class=\\\"col-lg-4 control-label\\\">{{\\r\\n                      title.promo_code_delivery_type | translate\\r\\n                    }}</label>\\r\\n                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                      <select\\r\\n                        chosen\\r\\n                        class=\\\"form-control chosen-select\\\"\\r\\n                        id=\\\"promo_code_delivery_type\\\"\\r\\n                        [(ngModel)]=\\\"add_promo_code.promo_code_delivery_type\\\"\\r\\n                        #promo_code_delivery_type=\\\"ngModel\\\"\\r\\n                        name=\\\"promo_code_delivery_type\\\"\\r\\n                      >\\r\\n                        <option value=\\\"3\\\">\\r\\n                          {{ lable_title.free_delivery }}\\r\\n                        </option>\\r\\n                        <option value=\\\"2\\\">{{ lable_title.absolute }}</option>\\r\\n                        <option value=\\\"1\\\">{{ lable_title.percentage }}</option>\\r\\n                      </select>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                  <div\\r\\n                    class=\\\"col-md-12\\\"\\r\\n                    *ngIf=\\\"add_promo_code.promo_code_delivery_type != 3\\\"\\r\\n                  >\\r\\n                    <label class=\\\"col-lg-4 control-label\\\">{{\\r\\n                      title.promo_code_delivery_value | translate\\r\\n                    }}</label>\\r\\n                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                      <input\\r\\n                        type=\\\"text\\\"\\r\\n                        class=\\\"form-control\\\"\\r\\n                        [(ngModel)]=\\\"add_promo_code.promo_code_delivery_value\\\"\\r\\n                        #promo_code_delivery_value=\\\"ngModel\\\"\\r\\n                        (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                        name=\\\"promo_code_delivery_value\\\"\\r\\n                        required\\r\\n                      />\\r\\n                      <div\\r\\n                        *ngIf=\\\"\\r\\n                          promo_code_delivery_value.errors &&\\r\\n                          (promo_code_delivery_value.dirty ||\\r\\n                            promo_code_delivery_value.touched)\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <div\\r\\n                          style=\\\"color: red\\\"\\r\\n                          [hidden]=\\\"!promo_code_delivery_value.errors.required\\\"\\r\\n                        >\\r\\n                          {{\\r\\n                            validation_message.promo_code_value_required\\r\\n                              | translate\\r\\n                          }}\\r\\n                        </div>\\r\\n                      </div>\\r\\n                    </div>\\r\\n                  </div>\\r\\n\\r\\n                  <div class=\\\"col-md-12\\\">\\r\\n                    <label class=\\\"col-md-4 control-label\\\">{{\\r\\n                      title.admin_delivery_loyalty_type | translate\\r\\n                    }}</label>\\r\\n                    <div class=\\\"col-md-8 form-group\\\">\\r\\n                      <select\\r\\n                        chosen\\r\\n                        class=\\\"form-control chosen-select\\\"\\r\\n                        id=\\\"admin_delivery_loyalty_type\\\"\\r\\n                        [(ngModel)]=\\\"add_promo_code.admin_delivery_loyalty_type\\\"\\r\\n                        #admin_delivery_loyalty_type=\\\"ngModel\\\"\\r\\n                        name=\\\"admin_delivery_loyalty_type\\\"\\r\\n                      >\\r\\n                        <option value=\\\"1\\\">{{ lable_title.percentage }}</option>\\r\\n                        <option value=\\\"2\\\">{{ lable_title.absolute }}</option>\\r\\n                      </select>\\r\\n                    </div>\\r\\n                  </div>\\r\\n\\r\\n                  <div class=\\\"col-md-12\\\">\\r\\n                    <label class=\\\"col-md-4 control-label\\\">Paid By Hop</label>\\r\\n                    <div class=\\\"col-md-8 form-group\\\">\\r\\n                      <input\\r\\n                        type=\\\"text\\\"\\r\\n                        class=\\\"form-control\\\"\\r\\n                        [(ngModel)]=\\\"add_promo_code.admin_delivery_loyalty\\\"\\r\\n                        #admin_delivery_loyalty=\\\"ngModel\\\"\\r\\n                        (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                        name=\\\"admin_delivery_loyalty\\\"\\r\\n                        required\\r\\n                      />\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n\\r\\n      <div class=\\\"col-md-4\\\">\\r\\n        <div class=\\\"col-md-12 no_padding\\\">\\r\\n          <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-content\\\" style=\\\"height: 480px\\\">\\r\\n              <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                  <label class=\\\"col-lg-6 control-label\\\">{{\\r\\n                    title.is_approved | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-2 form-group\\\">\\r\\n                    <ui-switch\\r\\n                      class=\\\"pull-right\\\"\\r\\n                      [(ngModel)]=\\\"add_promo_code.is_approved\\\"\\r\\n                      #is_approved=\\\"ngModel\\\"\\r\\n                      name=\\\"is_approved\\\"\\r\\n                    ></ui-switch>\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                  <label class=\\\"col-lg-6 control-label\\\">{{\\r\\n                    title.is_active | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-2 form-group\\\">\\r\\n                    <ui-switch\\r\\n                      class=\\\"pull-right\\\"\\r\\n                      [(ngModel)]=\\\"add_promo_code.is_active\\\"\\r\\n                      #is_active=\\\"ngModel\\\"\\r\\n                      name=\\\"is_active\\\"\\r\\n                    ></ui-switch>\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                  <label class=\\\"col-lg-6 control-label\\\">{{\\r\\n                    title.is_promo_multiple_use | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-2 form-group\\\">\\r\\n                    <ui-switch\\r\\n                      class=\\\"pull-right\\\"\\r\\n                      [(ngModel)]=\\\"add_promo_code.is_promo_multiple_use\\\"\\r\\n                      #is_promo_multiple_use=\\\"ngModel\\\"\\r\\n                      name=\\\"is_promo_multiple_use\\\"\\r\\n                    ></ui-switch>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-lg-4 form-group\\\">\\r\\n                    <input\\r\\n                      type=\\\"number\\\"\\r\\n                      [min]=\\\"2\\\"\\r\\n                      [disabled]=\\\"!add_promo_code.is_promo_multiple_use\\\"\\r\\n                      class=\\\"form-control\\\"\\r\\n                      [(ngModel)]=\\\"add_promo_code.multiple_use\\\"\\r\\n                      #multiple_use=\\\"ngModel\\\"\\r\\n                      (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                      name=\\\"multiple_use\\\"\\r\\n                      required\\r\\n                    />\\r\\n                    <div\\r\\n                      *ngIf=\\\"\\r\\n                        multiple_use.errors &&\\r\\n                        (multiple_use.dirty || multiple_use.touched)\\r\\n                      \\\"\\r\\n                    >\\r\\n                      <div\\r\\n                        style=\\\"color: red\\\"\\r\\n                        [hidden]=\\\"!is_promo_multiple_use.errors.required\\\"\\r\\n                      >\\r\\n                        {{\\r\\n                          validation_message.promo_code_uses_required\\r\\n                            | translate\\r\\n                        }}\\r\\n                      </div>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                  <label class=\\\"col-lg-6 control-label\\\">{{\\r\\n                    title.is_promo_apply_on_completed_order | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-2 form-group\\\">\\r\\n                    <ui-switch\\r\\n                      class=\\\"pull-right\\\"\\r\\n                      [(ngModel)]=\\\"\\r\\n                        add_promo_code.is_promo_apply_on_completed_order\\r\\n                      \\\"\\r\\n                      #is_promo_apply_on_completed_order=\\\"ngModel\\\"\\r\\n                      name=\\\"is_promo_apply_on_completed_order\\\"\\r\\n                    ></ui-switch>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-lg-4 form-group\\\">\\r\\n                    <input\\r\\n                      type=\\\"text\\\"\\r\\n                      [disabled]=\\\"\\r\\n                        !add_promo_code.is_promo_apply_on_completed_order\\r\\n                      \\\"\\r\\n                      class=\\\"form-control\\\"\\r\\n                      [(ngModel)]=\\\"\\r\\n                        add_promo_code.promo_apply_after_completed_order\\r\\n                      \\\"\\r\\n                      #promo_apply_after_completed_order=\\\"ngModel\\\"\\r\\n                      (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                      name=\\\"promo_apply_after_completed_order\\\"\\r\\n                      required\\r\\n                    />\\r\\n                    <div\\r\\n                      *ngIf=\\\"\\r\\n                        promo_apply_after_completed_order.errors &&\\r\\n                        (promo_apply_after_completed_order.dirty ||\\r\\n                          promo_apply_after_completed_order.touched)\\r\\n                      \\\"\\r\\n                    >\\r\\n                      <div\\r\\n                        style=\\\"color: red\\\"\\r\\n                        [hidden]=\\\"\\r\\n                          !promo_apply_after_completed_order.errors.required\\r\\n                        \\\"\\r\\n                      >\\r\\n                        {{\\r\\n                          validation_message.promo_code_uses_required\\r\\n                            | translate\\r\\n                        }}\\r\\n                      </div>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                  <label class=\\\"col-lg-6 control-label\\\">{{\\r\\n                    title.is_promo_required_uses | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-2 form-group\\\">\\r\\n                    <ui-switch\\r\\n                      class=\\\"pull-right\\\"\\r\\n                      [(ngModel)]=\\\"add_promo_code.is_promo_required_uses\\\"\\r\\n                      #is_promo_required_uses=\\\"ngModel\\\"\\r\\n                      name=\\\"is_promo_required_uses\\\"\\r\\n                    ></ui-switch>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-lg-4 form-group\\\">\\r\\n                    <input\\r\\n                      type=\\\"text\\\"\\r\\n                      [disabled]=\\\"!add_promo_code.is_promo_required_uses\\\"\\r\\n                      class=\\\"form-control\\\"\\r\\n                      [(ngModel)]=\\\"add_promo_code.promo_code_uses\\\"\\r\\n                      #promo_code_uses=\\\"ngModel\\\"\\r\\n                      (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                      name=\\\"promo_code_uses\\\"\\r\\n                      required\\r\\n                    />\\r\\n                    <div\\r\\n                      *ngIf=\\\"\\r\\n                        promo_code_uses.errors &&\\r\\n                        (promo_code_uses.dirty || promo_code_uses.touched)\\r\\n                      \\\"\\r\\n                    >\\r\\n                      <div\\r\\n                        style=\\\"color: red\\\"\\r\\n                        [hidden]=\\\"!promo_code_uses.errors.required\\\"\\r\\n                      >\\r\\n                        {{\\r\\n                          validation_message.promo_code_uses_required\\r\\n                            | translate\\r\\n                        }}\\r\\n                      </div>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                  <label class=\\\"col-lg-6 control-label\\\">{{\\r\\n                    title.is_promo_have_minimum_amount_limit | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-2 form-group\\\">\\r\\n                    <ui-switch\\r\\n                      class=\\\"pull-right\\\"\\r\\n                      [(ngModel)]=\\\"\\r\\n                        add_promo_code.is_promo_have_minimum_amount_limit\\r\\n                      \\\"\\r\\n                      #is_promo_have_minimum_amount_limit=\\\"ngModel\\\"\\r\\n                      name=\\\"is_promo_have_minimum_amount_limit\\\"\\r\\n                    ></ui-switch>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-lg-4 form-group\\\">\\r\\n                    <input\\r\\n                      type=\\\"text\\\"\\r\\n                      [disabled]=\\\"\\r\\n                        !add_promo_code.is_promo_have_minimum_amount_limit\\r\\n                      \\\"\\r\\n                      class=\\\"form-control\\\"\\r\\n                      [(ngModel)]=\\\"\\r\\n                        add_promo_code.promo_code_apply_on_minimum_amount\\r\\n                      \\\"\\r\\n                      #promo_code_apply_on_minimum_amount=\\\"ngModel\\\"\\r\\n                      (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                      name=\\\"promo_code_apply_on_minimum_amount\\\"\\r\\n                      required\\r\\n                    />\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                  <label class=\\\"col-lg-6 control-label\\\">{{\\r\\n                    title.is_promo_have_max_discount_limit | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-2 form-group\\\">\\r\\n                    <ui-switch\\r\\n                      class=\\\"pull-right\\\"\\r\\n                      [(ngModel)]=\\\"\\r\\n                        add_promo_code.is_promo_have_max_discount_limit\\r\\n                      \\\"\\r\\n                      #is_promo_have_max_discount_limit=\\\"ngModel\\\"\\r\\n                      name=\\\"is_promo_have_max_discount_limit\\\"\\r\\n                    ></ui-switch>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-lg-4 form-group\\\">\\r\\n                    <input\\r\\n                      type=\\\"text\\\"\\r\\n                      [disabled]=\\\"\\r\\n                        !add_promo_code.is_promo_have_max_discount_limit\\r\\n                      \\\"\\r\\n                      class=\\\"form-control\\\"\\r\\n                      [(ngModel)]=\\\"\\r\\n                        add_promo_code.promo_code_max_discount_amount\\r\\n                      \\\"\\r\\n                      #promo_code_max_discount_amount=\\\"ngModel\\\"\\r\\n                      (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                      name=\\\"promo_code_max_discount_amount\\\"\\r\\n                      required\\r\\n                    />\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                  <label class=\\\"col-lg-6 control-label\\\">{{\\r\\n                    title.is_promo_have_item_count_limit | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-2 form-group\\\">\\r\\n                    <ui-switch\\r\\n                      class=\\\"pull-right\\\"\\r\\n                      [(ngModel)]=\\\"\\r\\n                        add_promo_code.is_promo_have_item_count_limit\\r\\n                      \\\"\\r\\n                      #is_promo_have_item_count_limit=\\\"ngModel\\\"\\r\\n                      name=\\\"is_promo_have_item_count_limit\\\"\\r\\n                    ></ui-switch>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-lg-4 form-group\\\">\\r\\n                    <input\\r\\n                      type=\\\"text\\\"\\r\\n                      [disabled]=\\\"\\r\\n                        !add_promo_code.is_promo_have_item_count_limit\\r\\n                      \\\"\\r\\n                      class=\\\"form-control\\\"\\r\\n                      [(ngModel)]=\\\"\\r\\n                        add_promo_code.promo_code_apply_on_minimum_item_count\\r\\n                      \\\"\\r\\n                      #promo_code_apply_on_minimum_item_count=\\\"ngModel\\\"\\r\\n                      (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                      name=\\\"promo_code_apply_on_minimum_item_count\\\"\\r\\n                      required\\r\\n                    />\\r\\n                    <div\\r\\n                      *ngIf=\\\"\\r\\n                        promo_code_apply_on_minimum_item_count.errors &&\\r\\n                        (promo_code_apply_on_minimum_item_count.dirty ||\\r\\n                          promo_code_apply_on_minimum_item_count.touched)\\r\\n                      \\\"\\r\\n                    >\\r\\n                      <div\\r\\n                        style=\\\"color: red\\\"\\r\\n                        [hidden]=\\\"\\r\\n                          !promo_code_apply_on_minimum_item_count.errors\\r\\n                            .required\\r\\n                        \\\"\\r\\n                      >\\r\\n                        {{\\r\\n                          validation_message.promo_code_uses_required\\r\\n                            | translate\\r\\n                        }}\\r\\n                      </div>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                  <label class=\\\"col-lg-6 control-label\\\">{{\\r\\n                    title.is_promo_have_date | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-2 form-group\\\">\\r\\n                    <ui-switch\\r\\n                      class=\\\"pull-right\\\"\\r\\n                      (change)=\\\"change_switch()\\\"\\r\\n                      [(ngModel)]=\\\"add_promo_code.is_promo_have_date\\\"\\r\\n                      #is_promo_have_date=\\\"ngModel\\\"\\r\\n                      name=\\\"is_promo_have_date\\\"\\r\\n                    ></ui-switch>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div\\r\\n                  class=\\\"col-md-12\\\"\\r\\n                  [hidden]=\\\"!add_promo_code.is_promo_have_date\\\"\\r\\n                >\\r\\n                  <label class=\\\"col-lg-6 control-label\\\">{{\\r\\n                    title.start_date | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-6 form-group\\\">\\r\\n                    <my-date-picker\\r\\n                      [options]=\\\"helper.promocodeStartDatePickerOptions\\\"\\r\\n                      placeholder=\\\"{{ title.start_date | translate }}\\\"\\r\\n                      [(ngModel)]=\\\"add_promo_code.promo_start_date\\\"\\r\\n                      #promo_start_date=\\\"ngModel\\\"\\r\\n                      (dateChanged)=\\\"helper.promocodeOnStartDateChanged($event)\\\"\\r\\n                      name=\\\"promo_start_date\\\"\\r\\n                      required\\r\\n                    ></my-date-picker>\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div\\r\\n                  class=\\\"col-md-12\\\"\\r\\n                  [hidden]=\\\"!add_promo_code.is_promo_have_date\\\"\\r\\n                >\\r\\n                  <label class=\\\"col-lg-6 control-label\\\">{{\\r\\n                    title.code_expiry | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-6 form-group\\\">\\r\\n                    <my-date-picker\\r\\n                      id=\\\"expiry_date\\\"\\r\\n                      [options]=\\\"helper.promocodeEndDatePickerOptions\\\"\\r\\n                      placeholder=\\\"{{ title.end_date | translate }}\\\"\\r\\n                      [(ngModel)]=\\\"add_promo_code.promo_expire_date\\\"\\r\\n                      #promo_expire_date=\\\"ngModel\\\"\\r\\n                      (dateChanged)=\\\"helper.promocodeOnEndDateChanged($event)\\\"\\r\\n                      name=\\\"promo_expire_date\\\"\\r\\n                      required\\r\\n                    ></my-date-picker>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n\\r\\n      <div class=\\\"col-md-4\\\">\\r\\n        <div\\r\\n          class=\\\"col-md-12 no_padding\\\"\\r\\n          [hidden]=\\\"!add_promo_code.is_promo_have_date\\\"\\r\\n        >\\r\\n          <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-content\\\" style=\\\"height: 480px\\\">\\r\\n              <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                  <label class=\\\"col-lg-6 control-label\\\">{{\\r\\n                    title.promo_recursion_type | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-6 form-group\\\">\\r\\n                    <select\\r\\n                      chosen\\r\\n                      class=\\\"form-control chosen-select\\\"\\r\\n                      id=\\\"promo_recursion_type\\\"\\r\\n                      [(ngModel)]=\\\"add_promo_code.promo_recursion_type\\\"\\r\\n                      #promo_recursion_type=\\\"ngModel\\\"\\r\\n                      name=\\\"promo_recursion_type\\\"\\r\\n                      required\\r\\n                    >\\r\\n                      <option\\r\\n                        *ngFor=\\\"let i of helper.PROMO_RECURSION\\\"\\r\\n                        value=\\\"{{ i.ID }}\\\"\\r\\n                      >\\r\\n                        {{ i.NAME }}\\r\\n                      </option>\\r\\n                    </select>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div\\r\\n                  class=\\\"col-md-12\\\"\\r\\n                  [hidden]=\\\"add_promo_code.promo_recursion_type == 0\\\"\\r\\n                >\\r\\n                  <label class=\\\"col-lg-6 control-label\\\">{{\\r\\n                    title.start_time | translate\\r\\n                  }}</label>\\r\\n                  <div\\r\\n                    class=\\\"col-lg-6 col-xs-6 form-group input-group clock-picker\\\"\\r\\n                    id=\\\"clock-picker\\\"\\r\\n                    data-autoclose=\\\"true\\\"\\r\\n                  >\\r\\n                    <input\\r\\n                      type=\\\"text\\\"\\r\\n                      class=\\\"form-control\\\"\\r\\n                      id=\\\"promo_start_time\\\"\\r\\n                      [(ngModel)]=\\\"add_promo_code.promo_start_time\\\"\\r\\n                      #promo_start_time=\\\"ngModel\\\"\\r\\n                      name=\\\"promo_start_time\\\"\\r\\n                      readonly\\r\\n                      required\\r\\n                    />\\r\\n                    <span class=\\\"input-group-addon\\\">\\r\\n                      <span class=\\\"fa fa-clock-o\\\"></span>\\r\\n                    </span>\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div\\r\\n                  class=\\\"col-md-12\\\"\\r\\n                  [hidden]=\\\"add_promo_code.promo_recursion_type < 1\\\"\\r\\n                >\\r\\n                  <label class=\\\"col-lg-6 control-label\\\">{{\\r\\n                    title.end_time | translate\\r\\n                  }}</label>\\r\\n                  <div\\r\\n                    class=\\\"col-lg-6 col-xs-6 form-group input-group clock-picker\\\"\\r\\n                    id=\\\"clock-picker\\\"\\r\\n                    data-autoclose=\\\"true\\\"\\r\\n                  >\\r\\n                    <input\\r\\n                      type=\\\"text\\\"\\r\\n                      class=\\\"form-control\\\"\\r\\n                      id=\\\"promo_end_time\\\"\\r\\n                      [(ngModel)]=\\\"add_promo_code.promo_end_time\\\"\\r\\n                      #promo_end_time=\\\"ngModel\\\"\\r\\n                      name=\\\"promo_end_time\\\"\\r\\n                      readonly\\r\\n                      required\\r\\n                    />\\r\\n                    <span class=\\\"input-group-addon\\\">\\r\\n                      <span class=\\\"fa fa-clock-o\\\"></span>\\r\\n                    </span>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div\\r\\n                  class=\\\"col-md-12\\\"\\r\\n                  *ngIf=\\\"\\r\\n                    add_promo_code.is_promo_have_date &&\\r\\n                    add_promo_code.promo_recursion_type >= 4\\r\\n                  \\\"\\r\\n                  [hidden]=\\\"\\r\\n                    !add_promo_code.is_promo_have_date ||\\r\\n                    add_promo_code.promo_recursion_type < 4\\r\\n                  \\\"\\r\\n                >\\r\\n                  <label class=\\\"col-lg-6 control-label\\\">{{\\r\\n                    title.months | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-6 form-group\\\">\\r\\n                    <select\\r\\n                      chosen\\r\\n                      class=\\\"form-control chosen-select\\\"\\r\\n                      id=\\\"months\\\"\\r\\n                      [(ngModel)]=\\\"add_promo_code.months\\\"\\r\\n                      #months=\\\"ngModel\\\"\\r\\n                      multiple\\r\\n                      name=\\\"months\\\"\\r\\n                      required\\r\\n                    >\\r\\n                      <option *ngFor=\\\"let i of helper.MONTH\\\" value=\\\"{{ i }}\\\">\\r\\n                        {{ i | translate }}\\r\\n                      </option>\\r\\n                    </select>\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div\\r\\n                  class=\\\"col-md-12\\\"\\r\\n                  *ngIf=\\\"\\r\\n                    add_promo_code.is_promo_have_date &&\\r\\n                    add_promo_code.promo_recursion_type >= 3\\r\\n                  \\\"\\r\\n                >\\r\\n                  <label class=\\\"col-lg-6 control-label\\\">{{\\r\\n                    title.weeks | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-6 form-group\\\">\\r\\n                    <select\\r\\n                      chosen\\r\\n                      class=\\\"form-control chosen-select\\\"\\r\\n                      id=\\\"weeks\\\"\\r\\n                      [(ngModel)]=\\\"add_promo_code.weeks\\\"\\r\\n                      #weeks=\\\"ngModel\\\"\\r\\n                      multiple\\r\\n                      name=\\\"weeks\\\"\\r\\n                      required\\r\\n                    >\\r\\n                      <option *ngFor=\\\"let i of helper.WEEK\\\" value=\\\"{{ i }}\\\">\\r\\n                        {{ i | translate }}\\r\\n                      </option>\\r\\n                    </select>\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div\\r\\n                  class=\\\"col-md-12\\\"\\r\\n                  *ngIf=\\\"\\r\\n                    add_promo_code.is_promo_have_date &&\\r\\n                    add_promo_code.promo_recursion_type >= 2\\r\\n                  \\\"\\r\\n                >\\r\\n                  <label class=\\\"col-lg-6 control-label\\\">{{\\r\\n                    title.days | translate\\r\\n                  }}</label>\\r\\n                  <div class=\\\"col-lg-6 form-group\\\">\\r\\n                    <select\\r\\n                      chosen\\r\\n                      class=\\\"form-control chosen-select\\\"\\r\\n                      id=\\\"days\\\"\\r\\n                      [(ngModel)]=\\\"add_promo_code.days\\\"\\r\\n                      #days=\\\"ngModel\\\"\\r\\n                      multiple\\r\\n                      name=\\\"days\\\"\\r\\n                      required\\r\\n                    >\\r\\n                      <option *ngFor=\\\"let i of helper.DAY\\\" value=\\\"{{ i }}\\\">\\r\\n                        {{ i | translate }}\\r\\n                      </option>\\r\\n                    </select>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n\\r\\n      <div class=\\\"col-md-12\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n          <div class=\\\"ibox-content\\\">\\r\\n            <div class=\\\"row\\\">\\r\\n              <div class=\\\"col-md-12\\\">\\r\\n                <div\\r\\n                  class=\\\"form-group\\\"\\r\\n                  *ngIf=\\\"\\r\\n                    add_promo_code.promo_for ==\\r\\n                    helper.ADMIN_PROMO_FOR_ID.DELIVERIES\\r\\n                  \\\"\\r\\n                >\\r\\n                  <div\\r\\n                    class=\\\"col-md-3\\\"\\r\\n                    style=\\\"margin-bottom: 5px\\\"\\r\\n                    *ngFor=\\\"let i of delivery_list\\\"\\r\\n                  >\\r\\n                    <label\\r\\n                      ><input\\r\\n                        class=\\\"icheck\\\"\\r\\n                        id=\\\"icheck{{ i._id }}\\\"\\r\\n                        type=\\\"checkbox\\\"\\r\\n                        value=\\\"{{ i._id }}\\\"\\r\\n                      /><span style=\\\"margin-left: 10px\\\">{{\\r\\n                        i.delivery_name\\r\\n                      }}</span></label\\r\\n                    >\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div\\r\\n                  class=\\\"form-group\\\"\\r\\n                  *ngIf=\\\"\\r\\n                    add_promo_code.promo_for ==\\r\\n                      helper.ADMIN_PROMO_FOR_ID.STORE ||\\r\\n                    add_promo_code.promo_for ==\\r\\n                      helper.ADMIN_PROMO_FOR_ID.PICKUP ||\\r\\n                    add_promo_code.promo_for ==\\r\\n                      helper.ADMIN_PROMO_FOR_ID.DELIVERY\\r\\n                  \\\"\\r\\n                >\\r\\n                  <div\\r\\n                    class=\\\"col-md-3\\\"\\r\\n                    style=\\\"margin-bottom: 5px\\\"\\r\\n                    *ngFor=\\\"let i of store_list\\\"\\r\\n                  >\\r\\n                    <label\\r\\n                      ><input\\r\\n                        class=\\\"icheck_store\\\"\\r\\n                        id=\\\"icheck{{ i._id }}\\\"\\r\\n                        type=\\\"checkbox\\\"\\r\\n                        value=\\\"{{ i._id }}\\\"\\r\\n                      /><span style=\\\"margin-left: 10px\\\">{{\\r\\n                        i.email\\r\\n                      }}</span></label\\r\\n                    >\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div\\r\\n                  class=\\\"form-group\\\"\\r\\n                  *ngIf=\\\"\\r\\n                    add_promo_code.promo_for ==\\r\\n                    helper.ADMIN_PROMO_FOR_ID.PRODUCT\\r\\n                  \\\"\\r\\n                >\\r\\n                  <div *ngFor=\\\"let a of product_list\\\">\\r\\n                    <div\\r\\n                      class=\\\"col-md-3\\\"\\r\\n                      style=\\\"margin-bottom: 5px\\\"\\r\\n                      *ngFor=\\\"let i of a.product_detail\\\"\\r\\n                    >\\r\\n                      <label\\r\\n                        ><input\\r\\n                          class=\\\"icheckproduct\\\"\\r\\n                          id=\\\"icheck{{ i._id }}\\\"\\r\\n                          type=\\\"checkbox\\\"\\r\\n                          value=\\\"{{ i._id }}\\\"\\r\\n                        /><span style=\\\"margin-left: 10px\\\">{{\\r\\n                          i.name\\r\\n                        }}</span></label\\r\\n                      >\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div\\r\\n                  class=\\\"form-group\\\"\\r\\n                  *ngIf=\\\"\\r\\n                    add_promo_code.promo_for == helper.ADMIN_PROMO_FOR_ID.ITEM\\r\\n                  \\\"\\r\\n                >\\r\\n                  <div *ngFor=\\\"let product of item_list\\\">\\r\\n                    <div\\r\\n                      class=\\\"col-md-3\\\"\\r\\n                      style=\\\"margin-bottom: 5px\\\"\\r\\n                      *ngFor=\\\"let i of product.item_detail\\\"\\r\\n                    >\\r\\n                      <label\\r\\n                        ><input\\r\\n                          class=\\\"icheckitem\\\"\\r\\n                          id=\\\"icheck{{ i._id }}\\\"\\r\\n                          type=\\\"checkbox\\\"\\r\\n                          value=\\\"{{ i._id }}\\\"\\r\\n                        /><span style=\\\"margin-left: 10px\\\">{{\\r\\n                          i.name\\r\\n                        }}</span></label\\r\\n                      >\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n\\r\\n      <div class=\\\"col-md-12\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n          <div class=\\\"ibox-content wizard\\\">\\r\\n            <div class=\\\"row\\\">\\r\\n              <div class=\\\"col-lg-4\\\"></div>\\r\\n              <div\\r\\n                *ngIf=\\\"promo_id == ''\\\"\\r\\n                class=\\\"col-lg-4\\\"\\r\\n                style=\\\"text-align: center\\\"\\r\\n              >\\r\\n                <input\\r\\n                  type=\\\"submit\\\"\\r\\n                  id=\\\"submit\\\"\\r\\n                  name=\\\"submit\\\"\\r\\n                  style=\\\"width: 60%\\\"\\r\\n                  class=\\\"btn btn-primary\\\"\\r\\n                  value=\\\"{{ button.submit | translate }}\\\"\\r\\n                />\\r\\n              </div>\\r\\n              <div\\r\\n                *ngIf=\\\"promo_id !== ''\\\"\\r\\n                class=\\\"col-lg-4\\\"\\r\\n                style=\\\"text-align: center\\\"\\r\\n              >\\r\\n                <input\\r\\n                  type=\\\"submit\\\"\\r\\n                  id=\\\"update\\\"\\r\\n                  name=\\\"update\\\"\\r\\n                  style=\\\"width: 60%\\\"\\r\\n                  class=\\\"btn btn-primary\\\"\\r\\n                  value=\\\"{{ button.update | translate }}\\\"\\r\\n                />\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </form>\\r\\n  </div>\\r\\n</div>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/add_promo_code/add_promo_code.component.html\n// module id = 1564\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\"></footer>\\r\\n<form #serviceForm=\\\"ngForm\\\" (ngSubmit)=\\\"addService(serviceForm.value)\\\">\\r\\n  <input\\r\\n    type=\\\"hidden\\\"\\r\\n    class=\\\"form-control\\\"\\r\\n    [(ngModel)]=\\\"service_id\\\"\\r\\n    name=\\\"service_id\\\"\\r\\n  />\\r\\n  <div\\r\\n    class=\\\"row wrapper col-sm-12 col-md-12 col-xs-12 col-lg-12 fix_search_bar border-bottom white-bg page-heading\\\"\\r\\n  >\\r\\n    <div class=\\\"row\\\">\\r\\n      <div *ngIf=\\\"type == 'add'\\\" class=\\\"col-md-3 col-sm-12 pull-right\\\">\\r\\n        <input\\r\\n          type=\\\"submit\\\"\\r\\n          id=\\\"submit\\\"\\r\\n          name=\\\"submit\\\"\\r\\n          class=\\\"btn btn-primary\\\"\\r\\n          value=\\\"{{ button.submit | translate }}\\\"\\r\\n        />\\r\\n      </div>\\r\\n      <div *ngIf=\\\"type == 'edit'\\\" class=\\\"col-md-3 col-sm-12 pull-right\\\">\\r\\n        <input\\r\\n          type=\\\"submit\\\"\\r\\n          id=\\\"update\\\"\\r\\n          name=\\\"update\\\"\\r\\n          class=\\\"btn btn-primary\\\"\\r\\n          value=\\\"{{ button.update | translate }}\\\"\\r\\n        />\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n  <div\\r\\n    class=\\\"wrapper wrapper-content content_top_bar_view animated fadeInRight\\\"\\r\\n  >\\r\\n    <div class=\\\"row\\\">\\r\\n      <div class=\\\"col-lg-12\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n          <div class=\\\"wizard\\\" style=\\\"overflow: unset\\\">\\r\\n            <div class=\\\"steps clearfix\\\">\\r\\n              <ul style=\\\"display: table; padding: 0px\\\">\\r\\n                <li\\r\\n                  style=\\\"margin: 0px !important; border: 0px; width: 100px\\\"\\r\\n                  (click)=\\\"selected_tab = 'city'\\\"\\r\\n                  [class.current]=\\\"selected_tab == 'city'\\\"\\r\\n                >\\r\\n                  <a\\r\\n                    style=\\\"\\r\\n                      border-bottom-right-radius: 0px;\\r\\n                      text-align: center;\\r\\n                      border-bottom-left-radius: 0px;\\r\\n                      border: 0px;\\r\\n                    \\\"\\r\\n                    class=\\\"btn-default\\\"\\r\\n                    ><span\\r\\n                      style=\\\"font-weight: bold; display: block\\\"\\r\\n                      class=\\\"nav-label\\\"\\r\\n                      >Normal</span\\r\\n                    ></a\\r\\n                  >\\r\\n                </li>\\r\\n                <li\\r\\n                  style=\\\"margin: 0px !important; border: 0px; width: 100px\\\"\\r\\n                  (click)=\\\"selected_tab = 'zone'\\\"\\r\\n                  [class.current]=\\\"selected_tab == 'zone'\\\"\\r\\n                >\\r\\n                  <a\\r\\n                    style=\\\"\\r\\n                      border-bottom-right-radius: 0px;\\r\\n                      text-align: center;\\r\\n                      border-bottom-left-radius: 0px;\\r\\n                      border: 0px;\\r\\n                    \\\"\\r\\n                    class=\\\"btn-default\\\"\\r\\n                    ><span\\r\\n                      style=\\\"font-weight: bold; display: block\\\"\\r\\n                      class=\\\"nav-label\\\"\\r\\n                      >{{ title.zone | translate }}</span\\r\\n                    ></a\\r\\n                  >\\r\\n                </li>\\r\\n              </ul>\\r\\n            </div>\\r\\n            <div\\r\\n              class=\\\"ibox-content\\\"\\r\\n              style=\\\"background-color: #f3f3f4; margin-top: -1px\\\"\\r\\n            >\\r\\n              <div class=\\\"row\\\" [hidden]=\\\"selected_tab == 'zone'\\\">\\r\\n                <div class=\\\"col-lg-12\\\">\\r\\n                  <div class=\\\"col-lg-4 col-sm-6\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                      <div class=\\\"ibox-title\\\">\\r\\n                        <label class=\\\"control-label\\\">{{\\r\\n                          heading_title.service_data | translate\\r\\n                        }}</label>\\r\\n                      </div>\\r\\n                      <div class=\\\"ibox-content\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-4 control-label\\\">{{\\r\\n                              title.country_name | translate\\r\\n                            }}</label>\\r\\n                            <input\\r\\n                              type=\\\"hidden\\\"\\r\\n                              class=\\\"form-control\\\"\\r\\n                              [(ngModel)]=\\\"add_service.surge_hours\\\"\\r\\n                              #surge_hours=\\\"ngModel\\\"\\r\\n                              name=\\\"surge_hours\\\"\\r\\n                            />\\r\\n\\r\\n                            <div class=\\\"col-lg-8 form-group add\\\">\\r\\n                              <select\\r\\n                                chosen\\r\\n                                class=\\\"chosen-select\\\"\\r\\n                                id=\\\"country\\\"\\r\\n                                [(ngModel)]=\\\"add_service.country_id\\\"\\r\\n                                #country_id=\\\"ngModel\\\"\\r\\n                                name=\\\"country_id\\\"\\r\\n                                data-placeholder=\\\"Select Country\\\"\\r\\n                                tabindex=\\\"4\\\"\\r\\n                              >\\r\\n                                <option\\r\\n                                  *ngFor=\\\"let i of country_list\\\"\\r\\n                                  value=\\\"{{ i._id }}\\\"\\r\\n                                >\\r\\n                                  {{ i.country_name }}\\r\\n                                </option>\\r\\n                              </select>\\r\\n                              <div *ngIf=\\\"country_id.errors\\\">\\r\\n                                <div\\r\\n                                  style=\\\"color: red\\\"\\r\\n                                  [hidden]=\\\"!country_id.errors.required\\\"\\r\\n                                >\\r\\n                                  {{\\r\\n                                    validation_message.select_country_required\\r\\n                                      | translate\\r\\n                                  }}\\r\\n                                </div>\\r\\n                              </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div\\r\\n                              *ngIf=\\\"type == 'edit'\\\"\\r\\n                              class=\\\"col-lg-8 form-group\\\"\\r\\n                            >\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                [(ngModel)]=\\\"add_service.country_name\\\"\\r\\n                                #country_name=\\\"ngModel\\\"\\r\\n                                name=\\\"country_name\\\"\\r\\n                                readonly\\r\\n                              />\\r\\n                            </div>\\r\\n                          </div>\\r\\n\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-4 control-label\\\">{{\\r\\n                              title.city_name | translate\\r\\n                            }}</label>\\r\\n                            <div class=\\\"col-lg-8 form-group add\\\">\\r\\n                              <select\\r\\n                                chosen\\r\\n                                class=\\\"chosen-select\\\"\\r\\n                                id=\\\"city\\\"\\r\\n                                [(ngModel)]=\\\"add_service.city_id\\\"\\r\\n                                #city_id=\\\"ngModel\\\"\\r\\n                                name=\\\"city_id\\\"\\r\\n                                data-placeholder=\\\"Select City\\\"\\r\\n                                tabindex=\\\"4\\\"\\r\\n                              >\\r\\n                                <option\\r\\n                                  *ngFor=\\\"let i of city_list\\\"\\r\\n                                  value=\\\"{{ i._id }}\\\"\\r\\n                                >\\r\\n                                  {{ i.name }}\\r\\n                                </option>\\r\\n                              </select>\\r\\n                            </div>\\r\\n                            <div\\r\\n                              *ngIf=\\\"type == 'edit'\\\"\\r\\n                              class=\\\"col-lg-8 form-group\\\"\\r\\n                            >\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                [(ngModel)]=\\\"add_service.city_name\\\"\\r\\n                                #city_name=\\\"ngModel\\\"\\r\\n                                name=\\\"city_name\\\"\\r\\n                                readonly\\r\\n                              />\\r\\n                            </div>\\r\\n                          </div>\\r\\n\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{\\r\\n                              title.is_business_service | translate\\r\\n                            }}</label>\\r\\n\\r\\n                            <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                              <ui-switch\\r\\n                                [(ngModel)]=\\\"add_service.is_business\\\"\\r\\n                                #is_business=\\\"ngModel\\\"\\r\\n                                name=\\\"is_business\\\"\\r\\n                              ></ui-switch>\\r\\n                            </div>\\r\\n                          </div>\\r\\n                        </div>\\r\\n                      </div>\\r\\n                    </div>\\r\\n                  </div>\\r\\n\\r\\n                  <div class=\\\"col-lg-4 col-sm-6\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                      <div class=\\\"ibox-title\\\">\\r\\n                        <label class=\\\"control-label\\\">{{\\r\\n                          heading_title.hop_delivery | translate\\r\\n                        }}</label>\\r\\n                      </div>\\r\\n                      <div class=\\\"ibox-content wizard\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-7 col-xs-6 control-label\\\">{{\\r\\n                              title.base_price_distance | translate\\r\\n                            }}</label>\\r\\n\\r\\n                            <div class=\\\"col-lg-5 col-xs-6 input-group\\\">\\r\\n                              <span class=\\\"input-group-addon\\\"\\r\\n                                ><span\\r\\n                                  class=\\\"\\\"\\r\\n                                  *ngIf=\\\"is_distance_unit_mile == true\\\"\\r\\n                                  >{{ title.mile }}</span\\r\\n                                >\\r\\n                                <span\\r\\n                                  class=\\\"\\\"\\r\\n                                  *ngIf=\\\"is_distance_unit_mile == false\\\"\\r\\n                                  >{{ title.km }}</span\\r\\n                                >\\r\\n                              </span>\\r\\n\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                                [(ngModel)]=\\\"add_service.base_price_distance\\\"\\r\\n                                #base_price_distance=\\\"ngModel\\\"\\r\\n                                name=\\\"base_price_distance\\\"\\r\\n                                required\\r\\n                              />\\r\\n                              <span\\r\\n                                class=\\\"input-group-addon\\\"\\r\\n                                tooltip=\\\"{{\\r\\n                                  tooltip_title.base_price_distance\\r\\n                                }}\\\"\\r\\n                                [tooltipDisabled]=\\\"false\\\"\\r\\n                                [tooltipAnimation]=\\\"true\\\"\\r\\n                                tooltipPlacement=\\\"bottom\\\"\\r\\n                              >\\r\\n                                <span class=\\\"fa fa-question\\\"></span>\\r\\n                              </span>\\r\\n                            </div>\\r\\n                            <div\\r\\n                              *ngIf=\\\"\\r\\n                                base_price_distance.errors &&\\r\\n                                (base_price_distance.dirty ||\\r\\n                                  base_price_distance.touched)\\r\\n                              \\\"\\r\\n                            >\\r\\n                              <div\\r\\n                                style=\\\"color: red\\\"\\r\\n                                [hidden]=\\\"!base_price_distance.errors.required\\\"\\r\\n                              >\\r\\n                                {{\\r\\n                                  validation_message.base_price_distance_required\\r\\n                                    | translate\\r\\n                                }}\\r\\n                              </div>\\r\\n                            </div>\\r\\n                          </div>\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-7 col-xs-6 control-label\\\">{{\\r\\n                              title.base_price | translate\\r\\n                            }}</label>\\r\\n\\r\\n                            <div class=\\\"col-lg-5 col-xs-6 input-group\\\">\\r\\n                              <span class=\\\"input-group-addon\\\"\\r\\n                                ><span class=\\\"\\\">{{ currency_sign }}</span></span\\r\\n                              >\\r\\n\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                                [(ngModel)]=\\\"add_service.base_price\\\"\\r\\n                                #base_price=\\\"ngModel\\\"\\r\\n                                name=\\\"base_price\\\"\\r\\n                                required\\r\\n                              />\\r\\n                              <span\\r\\n                                class=\\\"input-group-addon\\\"\\r\\n                                tooltip=\\\"{{ tooltip_title.base_price }}\\\"\\r\\n                                [tooltipDisabled]=\\\"false\\\"\\r\\n                                [tooltipAnimation]=\\\"true\\\"\\r\\n                                tooltipPlacement=\\\"bottom\\\"\\r\\n                              >\\r\\n                                <span class=\\\"fa fa-question\\\"></span>\\r\\n                              </span>\\r\\n                            </div>\\r\\n                            <div\\r\\n                              *ngIf=\\\"\\r\\n                                base_price.errors &&\\r\\n                                (base_price.dirty || base_price.touched)\\r\\n                              \\\"\\r\\n                            >\\r\\n                              <div\\r\\n                                style=\\\"color: red\\\"\\r\\n                                [hidden]=\\\"!base_price.errors.required\\\"\\r\\n                              >\\r\\n                                {{\\r\\n                                  validation_message.base_price_required\\r\\n                                    | translate\\r\\n                                }}\\r\\n                              </div>\\r\\n                            </div>\\r\\n                          </div>\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-7 col-xs-6 control-label\\\">{{\\r\\n                              title.price_per_unit_distance | translate\\r\\n                            }}</label>\\r\\n\\r\\n                            <div class=\\\"col-lg-5 col-xs-6 input-group\\\">\\r\\n                              <span class=\\\"input-group-addon\\\"\\r\\n                                ><span class=\\\"\\\">{{ currency_sign }}</span></span\\r\\n                              >\\r\\n\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                                [(ngModel)]=\\\"\\r\\n                                  add_service.price_per_unit_distance\\r\\n                                \\\"\\r\\n                                #price_per_unit_distance=\\\"ngModel\\\"\\r\\n                                name=\\\"price_per_unit_distance\\\"\\r\\n                                required\\r\\n                              />\\r\\n                              <span\\r\\n                                class=\\\"input-group-addon\\\"\\r\\n                                tooltip=\\\"{{\\r\\n                                  tooltip_title.price_per_unit_distance\\r\\n                                }}\\\"\\r\\n                                [tooltipDisabled]=\\\"false\\\"\\r\\n                                [tooltipAnimation]=\\\"true\\\"\\r\\n                                tooltipPlacement=\\\"bottom\\\"\\r\\n                              >\\r\\n                                <span class=\\\"fa fa-question\\\"></span>\\r\\n                              </span>\\r\\n                            </div>\\r\\n                            <div\\r\\n                              *ngIf=\\\"\\r\\n                                price_per_unit_distance.errors &&\\r\\n                                (price_per_unit_distance.dirty ||\\r\\n                                  price_per_unit_distance.touched)\\r\\n                              \\\"\\r\\n                            >\\r\\n                              <div\\r\\n                                style=\\\"color: red\\\"\\r\\n                                [hidden]=\\\"\\r\\n                                  !price_per_unit_distance.errors.required\\r\\n                                \\\"\\r\\n                              >\\r\\n                                {{\\r\\n                                  validation_message.price_per_unit_distance_required\\r\\n                                    | translate\\r\\n                                }}\\r\\n                              </div>\\r\\n                            </div>\\r\\n                          </div>\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-7 col-xs-6 control-label\\\">{{\\r\\n                              title.price_per_unit_time | translate\\r\\n                            }}</label>\\r\\n\\r\\n                            <div class=\\\"col-lg-5 col-xs-6 input-group\\\">\\r\\n                              <span class=\\\"input-group-addon\\\"\\r\\n                                ><span class=\\\"\\\">{{ currency_sign }}</span></span\\r\\n                              >\\r\\n\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                                [(ngModel)]=\\\"add_service.price_per_unit_time\\\"\\r\\n                                #price_per_unit_time=\\\"ngModel\\\"\\r\\n                                name=\\\"price_per_unit_time\\\"\\r\\n                                required\\r\\n                              />\\r\\n                              <span\\r\\n                                class=\\\"input-group-addon\\\"\\r\\n                                tooltip=\\\"{{\\r\\n                                  tooltip_title.price_per_unit_time\\r\\n                                }}\\\"\\r\\n                                [tooltipDisabled]=\\\"false\\\"\\r\\n                                [tooltipAnimation]=\\\"true\\\"\\r\\n                                tooltipPlacement=\\\"bottom\\\"\\r\\n                              >\\r\\n                                <span class=\\\"fa fa-question\\\"></span>\\r\\n                              </span>\\r\\n                            </div>\\r\\n                            <div\\r\\n                              *ngIf=\\\"\\r\\n                                price_per_unit_time.errors &&\\r\\n                                (price_per_unit_time.dirty ||\\r\\n                                  price_per_unit_time.touched)\\r\\n                              \\\"\\r\\n                            >\\r\\n                              <div\\r\\n                                style=\\\"color: red\\\"\\r\\n                                [hidden]=\\\"!price_per_unit_time.errors.required\\\"\\r\\n                              >\\r\\n                                {{\\r\\n                                  validation_message.price_per_unit_time_required\\r\\n                                    | translate\\r\\n                                }}\\r\\n                              </div>\\r\\n                            </div>\\r\\n                          </div>\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-7 col-xs-6 control-label\\\">{{\\r\\n                              title.service_tax | translate\\r\\n                            }}</label>\\r\\n\\r\\n                            <div class=\\\"col-lg-5 col-xs-6 input-group\\\">\\r\\n                              <span class=\\\"input-group-addon\\\"\\r\\n                                ><span class=\\\"\\\">{{ currency_sign }}</span></span\\r\\n                              >\\r\\n\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                                [(ngModel)]=\\\"add_service.service_tax\\\"\\r\\n                                #service_tax=\\\"ngModel\\\"\\r\\n                                name=\\\"service_tax\\\"\\r\\n                                required\\r\\n                              />\\r\\n                              <span\\r\\n                                class=\\\"input-group-addon\\\"\\r\\n                                tooltip=\\\"{{ tooltip_title.service_tax }}\\\"\\r\\n                                [tooltipDisabled]=\\\"false\\\"\\r\\n                                [tooltipAnimation]=\\\"true\\\"\\r\\n                                tooltipPlacement=\\\"bottom\\\"\\r\\n                              >\\r\\n                                <span class=\\\"fa fa-question\\\"></span>\\r\\n                              </span>\\r\\n                            </div>\\r\\n                            <div\\r\\n                              *ngIf=\\\"\\r\\n                                service_tax.errors &&\\r\\n                                (service_tax.dirty || service_tax.touched)\\r\\n                              \\\"\\r\\n                            >\\r\\n                              <div\\r\\n                                style=\\\"color: red\\\"\\r\\n                                [hidden]=\\\"!service_tax.errors.required\\\"\\r\\n                              >\\r\\n                                {{\\r\\n                                  validation_message.service_tax_required\\r\\n                                    | translate\\r\\n                                }}\\r\\n                              </div>\\r\\n                            </div>\\r\\n                          </div>\\r\\n\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-7 col-xs-6 control-label\\\">{{\\r\\n                              title.min_fare | translate\\r\\n                            }}</label>\\r\\n\\r\\n                            <div class=\\\"col-lg-5 col-xs-6 input-group\\\">\\r\\n                              <span class=\\\"input-group-addon\\\"\\r\\n                                ><span class=\\\"\\\">{{ currency_sign }}</span></span\\r\\n                              >\\r\\n\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                                [(ngModel)]=\\\"add_service.min_fare\\\"\\r\\n                                #min_fare=\\\"ngModel\\\"\\r\\n                                name=\\\"min_fare\\\"\\r\\n                                required\\r\\n                              />\\r\\n                              <span\\r\\n                                class=\\\"input-group-addon\\\"\\r\\n                                tooltip=\\\"{{ tooltip_title.min_fare }}\\\"\\r\\n                                [tooltipDisabled]=\\\"false\\\"\\r\\n                                [tooltipAnimation]=\\\"true\\\"\\r\\n                                tooltipPlacement=\\\"bottom\\\"\\r\\n                              >\\r\\n                                <span class=\\\"fa fa-question\\\"></span>\\r\\n                              </span>\\r\\n                            </div>\\r\\n                            <div\\r\\n                              *ngIf=\\\"\\r\\n                                min_fare.errors &&\\r\\n                                (min_fare.dirty || min_fare.touched)\\r\\n                              \\\"\\r\\n                            >\\r\\n                              <div\\r\\n                                style=\\\"color: red\\\"\\r\\n                                [hidden]=\\\"!min_fare.errors.required\\\"\\r\\n                              >\\r\\n                                {{\\r\\n                                  validation_message.min_fare_required\\r\\n                                    | translate\\r\\n                                }}\\r\\n                              </div>\\r\\n                            </div>\\r\\n                          </div>\\r\\n\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-7 col-xs-6 control-label\\\">{{\\r\\n                              title.admin_profit | translate\\r\\n                            }}</label>\\r\\n\\r\\n                            <div class=\\\"col-lg-5 col-xs-6 input-group\\\">\\r\\n                              <span class=\\\"input-group-addon\\\"\\r\\n                                ><span class=\\\"\\\">%</span></span\\r\\n                              >\\r\\n\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                                [(ngModel)]=\\\"\\r\\n                                  add_service.admin_profit_value_on_delivery\\r\\n                                \\\"\\r\\n                                #admin_profit_value_on_delivery=\\\"ngModel\\\"\\r\\n                                name=\\\"admin_profit_value_on_delivery\\\"\\r\\n                                required\\r\\n                              />\\r\\n                              <span\\r\\n                                class=\\\"input-group-addon\\\"\\r\\n                                tooltip=\\\"{{\\r\\n                                  tooltip_title.admin_profit_value_on_delivery\\r\\n                                }}\\\"\\r\\n                                [tooltipDisabled]=\\\"false\\\"\\r\\n                                [tooltipAnimation]=\\\"true\\\"\\r\\n                                tooltipPlacement=\\\"bottom\\\"\\r\\n                              >\\r\\n                                <span class=\\\"fa fa-question\\\"></span>\\r\\n                              </span>\\r\\n                            </div>\\r\\n                            <div\\r\\n                              *ngIf=\\\"\\r\\n                                admin_profit_value_on_delivery.errors &&\\r\\n                                (admin_profit_value_on_delivery.dirty ||\\r\\n                                  admin_profit_value_on_delivery.touched)\\r\\n                              \\\"\\r\\n                            >\\r\\n                              <div\\r\\n                                style=\\\"color: red\\\"\\r\\n                                [hidden]=\\\"\\r\\n                                  !admin_profit_value_on_delivery.errors\\r\\n                                    .required\\r\\n                                \\\"\\r\\n                              >\\r\\n                                {{\\r\\n                                  validation_message.min_fare_required\\r\\n                                    | translate\\r\\n                                }}\\r\\n                              </div>\\r\\n                            </div>\\r\\n                          </div>\\r\\n\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{\\r\\n                              title.is_admin_profit | translate\\r\\n                            }}</label>\\r\\n\\r\\n                            <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                              <ui-switch\\r\\n                                [(ngModel)]=\\\"add_service.is_admin_profit\\\"\\r\\n                                #is_admin_profit=\\\"ngModel\\\"\\r\\n                                name=\\\"is_admin_profit\\\"\\r\\n                              ></ui-switch>\\r\\n                            </div>\\r\\n                          </div>\\r\\n\\r\\n                          <div\\r\\n                            class=\\\"form-group\\\"\\r\\n                            *ngIf=\\\"add_service.is_admin_profit\\\"\\r\\n                          >\\r\\n                            <label class=\\\"col-lg-7 col-xs-6 control-label\\\">{{\\r\\n                              title.admin_profit_distance | translate\\r\\n                            }}</label>\\r\\n\\r\\n                            <div class=\\\"col-lg-5 col-xs-6 input-group\\\">\\r\\n                              <!-- <span class=\\\"input-group-addon\\\"><span class=\\\"\\\">{{currency_sign}}</span></span> -->\\r\\n                              <span class=\\\"input-group-addon\\\">\\r\\n                                <span\\r\\n                                  class=\\\"\\\"\\r\\n                                  *ngIf=\\\"is_distance_unit_mile == true\\\"\\r\\n                                  >{{ title.mile }}</span\\r\\n                                >\\r\\n                                <span\\r\\n                                  class=\\\"\\\"\\r\\n                                  *ngIf=\\\"is_distance_unit_mile == false\\\"\\r\\n                                  >{{ title.km }}</span\\r\\n                                >\\r\\n                              </span>\\r\\n\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                                [(ngModel)]=\\\"add_service.admin_profit_distance\\\"\\r\\n                                #admin_profit_distance=\\\"ngModel\\\"\\r\\n                                name=\\\"admin_profit_distance\\\"\\r\\n                                required\\r\\n                              />\\r\\n                              <span\\r\\n                                class=\\\"input-group-addon\\\"\\r\\n                                tooltip=\\\"{{\\r\\n                                  tooltip_title.admin_profit_distance\\r\\n                                }}\\\"\\r\\n                                [tooltipDisabled]=\\\"false\\\"\\r\\n                                [tooltipAnimation]=\\\"true\\\"\\r\\n                                tooltipPlacement=\\\"bottom\\\"\\r\\n                              >\\r\\n                                <span class=\\\"fa fa-question\\\"></span>\\r\\n                              </span>\\r\\n                            </div>\\r\\n                            <div\\r\\n                              *ngIf=\\\"\\r\\n                                admin_profit_distance.errors &&\\r\\n                                (admin_profit_distance.dirty ||\\r\\n                                  admin_profit_distance.touched)\\r\\n                              \\\"\\r\\n                            >\\r\\n                              <div\\r\\n                                style=\\\"color: red\\\"\\r\\n                                [hidden]=\\\"\\r\\n                                  !admin_profit_distance.errors.required\\r\\n                                \\\"\\r\\n                              >\\r\\n                                {{\\r\\n                                  validation_message.field_required | translate\\r\\n                                }}\\r\\n                              </div>\\r\\n                            </div>\\r\\n                          </div>\\r\\n\\r\\n                          <div\\r\\n                            class=\\\"form-group\\\"\\r\\n                            *ngIf=\\\"add_service.is_admin_profit\\\"\\r\\n                          >\\r\\n                            <label class=\\\"col-lg-7 col-xs-6 control-label\\\">{{\\r\\n                              title.admin_profit | translate\\r\\n                            }}</label>\\r\\n\\r\\n                            <div class=\\\"col-lg-5 col-xs-6 input-group\\\">\\r\\n                              <span class=\\\"input-group-addon\\\"\\r\\n                                ><span class=\\\"\\\">{{ currency_sign }}</span></span\\r\\n                              >\\r\\n\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                                [(ngModel)]=\\\"add_service.admin_profit\\\"\\r\\n                                #admin_profit=\\\"ngModel\\\"\\r\\n                                name=\\\"admin_profit\\\"\\r\\n                                required\\r\\n                              />\\r\\n                              <span\\r\\n                                class=\\\"input-group-addon\\\"\\r\\n                                tooltip=\\\"{{ tooltip_title.admin_profit }}\\\"\\r\\n                                [tooltipDisabled]=\\\"false\\\"\\r\\n                                [tooltipAnimation]=\\\"true\\\"\\r\\n                                tooltipPlacement=\\\"bottom\\\"\\r\\n                              >\\r\\n                                <span class=\\\"fa fa-question\\\"></span>\\r\\n                              </span>\\r\\n                            </div>\\r\\n                            <div\\r\\n                              *ngIf=\\\"\\r\\n                                admin_profit.errors &&\\r\\n                                (admin_profit.dirty || admin_profit.touched)\\r\\n                              \\\"\\r\\n                            >\\r\\n                              <div\\r\\n                                style=\\\"color: red\\\"\\r\\n                                [hidden]=\\\"!admin_profit.errors.required\\\"\\r\\n                              >\\r\\n                                {{\\r\\n                                  validation_message.field_required | translate\\r\\n                                }}\\r\\n                              </div>\\r\\n                            </div>\\r\\n                          </div>\\r\\n                        </div>\\r\\n                      </div>\\r\\n                    </div>\\r\\n                  </div>\\r\\n\\r\\n                  <div class=\\\"col-lg-4 col-sm-6\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                      <div class=\\\"ibox-title\\\">\\r\\n                        <label class=\\\"control-label\\\">{{\\r\\n                          heading_title.hopper_on_demand | translate\\r\\n                        }}</label>\\r\\n                      </div>\\r\\n                      <div class=\\\"ibox-content wizard\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-7 col-xs-6 control-label\\\">{{\\r\\n                              title.base_price_distance | translate\\r\\n                            }}</label>\\r\\n\\r\\n                            <div class=\\\"col-lg-5 col-xs-6 input-group\\\">\\r\\n                              <span class=\\\"input-group-addon\\\"\\r\\n                                ><span\\r\\n                                  class=\\\"\\\"\\r\\n                                  *ngIf=\\\"is_distance_unit_mile == true\\\"\\r\\n                                  >{{ title.mile }}</span\\r\\n                                >\\r\\n                                <span\\r\\n                                  class=\\\"\\\"\\r\\n                                  *ngIf=\\\"is_distance_unit_mile == false\\\"\\r\\n                                  >{{ title.km }}</span\\r\\n                                >\\r\\n                              </span>\\r\\n\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                                [(ngModel)]=\\\"\\r\\n                                  add_service.hopper_base_price_distance\\r\\n                                \\\"\\r\\n                                #hopper_base_price_distance=\\\"ngModel\\\"\\r\\n                                name=\\\"hopper_base_price_distance\\\"\\r\\n                                required\\r\\n                              />\\r\\n                              <span\\r\\n                                class=\\\"input-group-addon\\\"\\r\\n                                tooltip=\\\"{{\\r\\n                                  tooltip_title.base_price_distance\\r\\n                                }}\\\"\\r\\n                                [tooltipDisabled]=\\\"false\\\"\\r\\n                                [tooltipAnimation]=\\\"true\\\"\\r\\n                                tooltipPlacement=\\\"bottom\\\"\\r\\n                              >\\r\\n                                <span class=\\\"fa fa-question\\\"></span>\\r\\n                              </span>\\r\\n                            </div>\\r\\n                            <div\\r\\n                              *ngIf=\\\"\\r\\n                                hopper_base_price_distance.errors &&\\r\\n                                (hopper_base_price_distance.dirty ||\\r\\n                                  hopper_base_price_distance.touched)\\r\\n                              \\\"\\r\\n                            >\\r\\n                              <div\\r\\n                                style=\\\"color: red\\\"\\r\\n                                [hidden]=\\\"\\r\\n                                  !hopper_base_price_distance.errors.required\\r\\n                                \\\"\\r\\n                              >\\r\\n                                {{\\r\\n                                  validation_message.base_price_distance_required\\r\\n                                    | translate\\r\\n                                }}\\r\\n                              </div>\\r\\n                            </div>\\r\\n                          </div>\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-7 col-xs-6 control-label\\\">{{\\r\\n                              title.base_price | translate\\r\\n                            }}</label>\\r\\n\\r\\n                            <div class=\\\"col-lg-5 col-xs-6 input-group\\\">\\r\\n                              <span class=\\\"input-group-addon\\\"\\r\\n                                ><span class=\\\"\\\">{{ currency_sign }}</span></span\\r\\n                              >\\r\\n\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                                [(ngModel)]=\\\"add_service.hopper_base_price\\\"\\r\\n                                #hopper_base_price=\\\"ngModel\\\"\\r\\n                                name=\\\"hopper_base_price\\\"\\r\\n                                required\\r\\n                              />\\r\\n                              <span\\r\\n                                class=\\\"input-group-addon\\\"\\r\\n                                tooltip=\\\"{{ tooltip_title.base_price }}\\\"\\r\\n                                [tooltipDisabled]=\\\"false\\\"\\r\\n                                [tooltipAnimation]=\\\"true\\\"\\r\\n                                tooltipPlacement=\\\"bottom\\\"\\r\\n                              >\\r\\n                                <span class=\\\"fa fa-question\\\"></span>\\r\\n                              </span>\\r\\n                            </div>\\r\\n                            <div\\r\\n                              *ngIf=\\\"\\r\\n                                hopper_base_price.errors &&\\r\\n                                (hopper_base_price.dirty ||\\r\\n                                  hopper_base_price.touched)\\r\\n                              \\\"\\r\\n                            >\\r\\n                              <div\\r\\n                                style=\\\"color: red\\\"\\r\\n                                [hidden]=\\\"!hopper_base_price.errors.required\\\"\\r\\n                              >\\r\\n                                {{\\r\\n                                  validation_message.base_price_required\\r\\n                                    | translate\\r\\n                                }}\\r\\n                              </div>\\r\\n                            </div>\\r\\n                          </div>\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-7 col-xs-6 control-label\\\">{{\\r\\n                              title.price_per_unit_distance | translate\\r\\n                            }}</label>\\r\\n\\r\\n                            <div class=\\\"col-lg-5 col-xs-6 input-group\\\">\\r\\n                              <span class=\\\"input-group-addon\\\"\\r\\n                                ><span class=\\\"\\\">{{ currency_sign }}</span></span\\r\\n                              >\\r\\n\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                                [(ngModel)]=\\\"\\r\\n                                  add_service.hopper_price_per_unit_distance\\r\\n                                \\\"\\r\\n                                #hopper_price_per_unit_distance=\\\"ngModel\\\"\\r\\n                                name=\\\"hopper_price_per_unit_distance\\\"\\r\\n                                required\\r\\n                              />\\r\\n                              <span\\r\\n                                class=\\\"input-group-addon\\\"\\r\\n                                tooltip=\\\"{{\\r\\n                                  tooltip_title.price_per_unit_distance\\r\\n                                }}\\\"\\r\\n                                [tooltipDisabled]=\\\"false\\\"\\r\\n                                [tooltipAnimation]=\\\"true\\\"\\r\\n                                tooltipPlacement=\\\"bottom\\\"\\r\\n                              >\\r\\n                                <span class=\\\"fa fa-question\\\"></span>\\r\\n                              </span>\\r\\n                            </div>\\r\\n                            <div\\r\\n                              *ngIf=\\\"\\r\\n                                hopper_price_per_unit_distance.errors &&\\r\\n                                (hopper_price_per_unit_distance.dirty ||\\r\\n                                  hopper_price_per_unit_distance.touched)\\r\\n                              \\\"\\r\\n                            >\\r\\n                              <div\\r\\n                                style=\\\"color: red\\\"\\r\\n                                [hidden]=\\\"\\r\\n                                  !hopper_price_per_unit_distance.errors\\r\\n                                    .required\\r\\n                                \\\"\\r\\n                              >\\r\\n                                {{\\r\\n                                  validation_message.price_per_unit_distance_required\\r\\n                                    | translate\\r\\n                                }}\\r\\n                              </div>\\r\\n                            </div>\\r\\n                          </div>\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-7 col-xs-6 control-label\\\">{{\\r\\n                              title.price_per_unit_time | translate\\r\\n                            }}</label>\\r\\n\\r\\n                            <div class=\\\"col-lg-5 col-xs-6 input-group\\\">\\r\\n                              <span class=\\\"input-group-addon\\\"\\r\\n                                ><span class=\\\"\\\">{{ currency_sign }}</span></span\\r\\n                              >\\r\\n\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                                [(ngModel)]=\\\"\\r\\n                                  add_service.hopper_price_per_unit_time\\r\\n                                \\\"\\r\\n                                #hopper_price_per_unit_time=\\\"ngModel\\\"\\r\\n                                name=\\\"hopper_price_per_unit_time\\\"\\r\\n                                required\\r\\n                              />\\r\\n                              <span\\r\\n                                class=\\\"input-group-addon\\\"\\r\\n                                tooltip=\\\"{{\\r\\n                                  tooltip_title.price_per_unit_time\\r\\n                                }}\\\"\\r\\n                                [tooltipDisabled]=\\\"false\\\"\\r\\n                                [tooltipAnimation]=\\\"true\\\"\\r\\n                                tooltipPlacement=\\\"bottom\\\"\\r\\n                              >\\r\\n                                <span class=\\\"fa fa-question\\\"></span>\\r\\n                              </span>\\r\\n                            </div>\\r\\n                            <div\\r\\n                              *ngIf=\\\"\\r\\n                                hopper_price_per_unit_time.errors &&\\r\\n                                (hopper_price_per_unit_time.dirty ||\\r\\n                                  hopper_price_per_unit_time.touched)\\r\\n                              \\\"\\r\\n                            >\\r\\n                              <div\\r\\n                                style=\\\"color: red\\\"\\r\\n                                [hidden]=\\\"\\r\\n                                  !hopper_price_per_unit_time.errors.required\\r\\n                                \\\"\\r\\n                              >\\r\\n                                {{\\r\\n                                  validation_message.price_per_unit_time_required\\r\\n                                    | translate\\r\\n                                }}\\r\\n                              </div>\\r\\n                            </div>\\r\\n                          </div>\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-7 col-xs-6 control-label\\\">{{\\r\\n                              title.service_tax | translate\\r\\n                            }}</label>\\r\\n\\r\\n                            <div class=\\\"col-lg-5 col-xs-6 input-group\\\">\\r\\n                              <span class=\\\"input-group-addon\\\"\\r\\n                                ><span class=\\\"\\\">{{ currency_sign }}</span></span\\r\\n                              >\\r\\n\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                                [(ngModel)]=\\\"add_service.hopper_service_tax\\\"\\r\\n                                #hopper_service_tax=\\\"ngModel\\\"\\r\\n                                name=\\\"hopper_service_tax\\\"\\r\\n                                required\\r\\n                              />\\r\\n                              <span\\r\\n                                class=\\\"input-group-addon\\\"\\r\\n                                tooltip=\\\"{{ tooltip_title.service_tax }}\\\"\\r\\n                                [tooltipDisabled]=\\\"false\\\"\\r\\n                                [tooltipAnimation]=\\\"true\\\"\\r\\n                                tooltipPlacement=\\\"bottom\\\"\\r\\n                              >\\r\\n                                <span class=\\\"fa fa-question\\\"></span>\\r\\n                              </span>\\r\\n                            </div>\\r\\n                            <div\\r\\n                              *ngIf=\\\"\\r\\n                                hopper_service_tax.errors &&\\r\\n                                (hopper_service_tax.dirty ||\\r\\n                                  hopper_service_tax.touched)\\r\\n                              \\\"\\r\\n                            >\\r\\n                              <div\\r\\n                                style=\\\"color: red\\\"\\r\\n                                [hidden]=\\\"!hopper_service_tax.errors.required\\\"\\r\\n                              >\\r\\n                                {{\\r\\n                                  validation_message.service_tax_required\\r\\n                                    | translate\\r\\n                                }}\\r\\n                              </div>\\r\\n                            </div>\\r\\n                          </div>\\r\\n\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-7 col-xs-6 control-label\\\">{{\\r\\n                              title.min_fare | translate\\r\\n                            }}</label>\\r\\n\\r\\n                            <div class=\\\"col-lg-5 col-xs-6 input-group\\\">\\r\\n                              <span class=\\\"input-group-addon\\\"\\r\\n                                ><span class=\\\"\\\">{{ currency_sign }}</span></span\\r\\n                              >\\r\\n\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                                [(ngModel)]=\\\"add_service.hopper_min_fare\\\"\\r\\n                                #hopper_min_fare=\\\"ngModel\\\"\\r\\n                                name=\\\"hopper_min_fare\\\"\\r\\n                                required\\r\\n                              />\\r\\n                              <span\\r\\n                                class=\\\"input-group-addon\\\"\\r\\n                                tooltip=\\\"{{ tooltip_title.min_fare }}\\\"\\r\\n                                [tooltipDisabled]=\\\"false\\\"\\r\\n                                [tooltipAnimation]=\\\"true\\\"\\r\\n                                tooltipPlacement=\\\"bottom\\\"\\r\\n                              >\\r\\n                                <span class=\\\"fa fa-question\\\"></span>\\r\\n                              </span>\\r\\n                            </div>\\r\\n                            <div\\r\\n                              *ngIf=\\\"\\r\\n                                hopper_min_fare.errors &&\\r\\n                                (hopper_min_fare.dirty ||\\r\\n                                  hopper_min_fare.touched)\\r\\n                              \\\"\\r\\n                            >\\r\\n                              <div\\r\\n                                style=\\\"color: red\\\"\\r\\n                                [hidden]=\\\"!hopper_min_fare.errors.required\\\"\\r\\n                              >\\r\\n                                {{\\r\\n                                  validation_message.min_fare_required\\r\\n                                    | translate\\r\\n                                }}\\r\\n                              </div>\\r\\n                            </div>\\r\\n                          </div>\\r\\n\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-7 col-xs-6 control-label\\\">{{\\r\\n                              title.hop_fee | translate\\r\\n                            }}</label>\\r\\n\\r\\n                            <div class=\\\"col-lg-5 col-xs-6 input-group\\\">\\r\\n                              <span class=\\\"input-group-addon\\\"\\r\\n                                ><span class=\\\"\\\">{{ currency_sign }}</span></span\\r\\n                              >\\r\\n\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                                [(ngModel)]=\\\"add_service.hop_fee\\\"\\r\\n                                #hop_fee=\\\"ngModel\\\"\\r\\n                                name=\\\"hop_fee\\\"\\r\\n                                required\\r\\n                              />\\r\\n                              <span\\r\\n                                class=\\\"input-group-addon\\\"\\r\\n                                tooltip=\\\"{{ tooltip_title.hop_fee }}\\\"\\r\\n                                [tooltipDisabled]=\\\"false\\\"\\r\\n                                [tooltipAnimation]=\\\"true\\\"\\r\\n                                tooltipPlacement=\\\"bottom\\\"\\r\\n                              >\\r\\n                                <span class=\\\"fa fa-question\\\"></span>\\r\\n                              </span>\\r\\n                            </div>\\r\\n                            <div\\r\\n                              *ngIf=\\\"\\r\\n                                hop_fee.errors &&\\r\\n                                (hop_fee.dirty || hop_fee.touched)\\r\\n                              \\\"\\r\\n                            >\\r\\n                              <div\\r\\n                                style=\\\"color: red\\\"\\r\\n                                [hidden]=\\\"!hop_fee.errors.required\\\"\\r\\n                              >\\r\\n                                {{\\r\\n                                  validation_message.field_required | translate\\r\\n                                }}\\r\\n                              </div>\\r\\n                            </div>\\r\\n                          </div>\\r\\n\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-7 col-xs-6 control-label\\\">{{\\r\\n                              title.bike_charge | translate\\r\\n                            }}</label>\\r\\n\\r\\n                            <div class=\\\"col-lg-5 col-xs-6 input-group\\\">\\r\\n                              <span class=\\\"input-group-addon\\\"\\r\\n                                ><span class=\\\"\\\">{{ currency_sign }}</span></span\\r\\n                              >\\r\\n\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                                [(ngModel)]=\\\"add_service.bike_charge\\\"\\r\\n                                #bike_charge=\\\"ngModel\\\"\\r\\n                                name=\\\"bike_charge\\\"\\r\\n                                required\\r\\n                              />\\r\\n                              <span\\r\\n                                class=\\\"input-group-addon\\\"\\r\\n                                tooltip=\\\"{{ tooltip_title.bike_charge }}\\\"\\r\\n                                [tooltipDisabled]=\\\"false\\\"\\r\\n                                [tooltipAnimation]=\\\"true\\\"\\r\\n                                tooltipPlacement=\\\"bottom\\\"\\r\\n                              >\\r\\n                                <span class=\\\"fa fa-question\\\"></span>\\r\\n                              </span>\\r\\n                            </div>\\r\\n                            <div\\r\\n                              *ngIf=\\\"\\r\\n                                bike_charge.errors &&\\r\\n                                (bike_charge.dirty || bike_charge.touched)\\r\\n                              \\\"\\r\\n                            >\\r\\n                              <div\\r\\n                                style=\\\"color: red\\\"\\r\\n                                [hidden]=\\\"!bike_charge.errors.required\\\"\\r\\n                              >\\r\\n                                {{\\r\\n                                  validation_message.field_required | translate\\r\\n                                }}\\r\\n                              </div>\\r\\n                            </div>\\r\\n                          </div>\\r\\n\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-7 col-xs-6 control-label\\\">{{\\r\\n                              title.scooter_charge | translate\\r\\n                            }}</label>\\r\\n\\r\\n                            <div class=\\\"col-lg-5 col-xs-6 input-group\\\">\\r\\n                              <span class=\\\"input-group-addon\\\"\\r\\n                                ><span class=\\\"\\\">{{ currency_sign }}</span></span\\r\\n                              >\\r\\n\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                                [(ngModel)]=\\\"add_service.scooter_charge\\\"\\r\\n                                #scooter_charge=\\\"ngModel\\\"\\r\\n                                name=\\\"scooter_charge\\\"\\r\\n                                required\\r\\n                              />\\r\\n                              <span\\r\\n                                class=\\\"input-group-addon\\\"\\r\\n                                tooltip=\\\"{{ tooltip_title.scooter_charge }}\\\"\\r\\n                                [tooltipDisabled]=\\\"false\\\"\\r\\n                                [tooltipAnimation]=\\\"true\\\"\\r\\n                                tooltipPlacement=\\\"bottom\\\"\\r\\n                              >\\r\\n                                <span class=\\\"fa fa-question\\\"></span>\\r\\n                              </span>\\r\\n                            </div>\\r\\n                            <div\\r\\n                              *ngIf=\\\"\\r\\n                                scooter_charge.errors &&\\r\\n                                (scooter_charge.dirty || scooter_charge.touched)\\r\\n                              \\\"\\r\\n                            >\\r\\n                              <div\\r\\n                                style=\\\"color: red\\\"\\r\\n                                [hidden]=\\\"!scooter_charge.errors.required\\\"\\r\\n                              >\\r\\n                                {{\\r\\n                                  validation_message.field_required | translate\\r\\n                                }}\\r\\n                              </div>\\r\\n                            </div>\\r\\n                          </div>\\r\\n\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-7 col-xs-6 control-label\\\">{{\\r\\n                              title.car_charge | translate\\r\\n                            }}</label>\\r\\n\\r\\n                            <div class=\\\"col-lg-5 col-xs-6 input-group\\\">\\r\\n                              <span class=\\\"input-group-addon\\\"\\r\\n                                ><span class=\\\"\\\">{{ currency_sign }}</span></span\\r\\n                              >\\r\\n\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                                [(ngModel)]=\\\"add_service.car_charge\\\"\\r\\n                                #car_charge=\\\"ngModel\\\"\\r\\n                                name=\\\"car_charge\\\"\\r\\n                                required\\r\\n                              />\\r\\n                              <span\\r\\n                                class=\\\"input-group-addon\\\"\\r\\n                                tooltip=\\\"{{ tooltip_title.car_charge }}\\\"\\r\\n                                [tooltipDisabled]=\\\"false\\\"\\r\\n                                [tooltipAnimation]=\\\"true\\\"\\r\\n                                tooltipPlacement=\\\"bottom\\\"\\r\\n                              >\\r\\n                                <span class=\\\"fa fa-question\\\"></span>\\r\\n                              </span>\\r\\n                            </div>\\r\\n                            <div\\r\\n                              *ngIf=\\\"\\r\\n                                car_charge.errors &&\\r\\n                                (car_charge.dirty || car_charge.touched)\\r\\n                              \\\"\\r\\n                            >\\r\\n                              <div\\r\\n                                style=\\\"color: red\\\"\\r\\n                                [hidden]=\\\"!car_charge.errors.required\\\"\\r\\n                              >\\r\\n                                {{\\r\\n                                  validation_message.field_required | translate\\r\\n                                }}\\r\\n                              </div>\\r\\n                            </div>\\r\\n                          </div>\\r\\n\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-7 col-xs-6 control-label\\\">{{\\r\\n                              title.admin_profit | translate\\r\\n                            }}</label>\\r\\n\\r\\n                            <div class=\\\"col-lg-5 col-xs-6 input-group\\\">\\r\\n                              <span class=\\\"input-group-addon\\\"\\r\\n                                ><span class=\\\"\\\">%</span></span\\r\\n                              >\\r\\n\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                                [(ngModel)]=\\\"\\r\\n                                  add_service.hopper_admin_profit_value_on_delivery\\r\\n                                \\\"\\r\\n                                #hopper_admin_profit_value_on_delivery=\\\"ngModel\\\"\\r\\n                                name=\\\"hopper_admin_profit_value_on_delivery\\\"\\r\\n                                required\\r\\n                              />\\r\\n                              <span\\r\\n                                class=\\\"input-group-addon\\\"\\r\\n                                tooltip=\\\"{{\\r\\n                                  tooltip_title.hopper_admin_profit_value_on_delivery\\r\\n                                }}\\\"\\r\\n                                [tooltipDisabled]=\\\"false\\\"\\r\\n                                [tooltipAnimation]=\\\"true\\\"\\r\\n                                tooltipPlacement=\\\"bottom\\\"\\r\\n                              >\\r\\n                                <span class=\\\"fa fa-question\\\"></span>\\r\\n                              </span>\\r\\n                            </div>\\r\\n                            <div\\r\\n                              *ngIf=\\\"\\r\\n                                hopper_admin_profit_value_on_delivery.errors &&\\r\\n                                (hopper_admin_profit_value_on_delivery.dirty ||\\r\\n                                  hopper_admin_profit_value_on_delivery.touched)\\r\\n                              \\\"\\r\\n                            >\\r\\n                              <div\\r\\n                                style=\\\"color: red\\\"\\r\\n                                [hidden]=\\\"\\r\\n                                  !hopper_admin_profit_value_on_delivery.errors\\r\\n                                    .required\\r\\n                                \\\"\\r\\n                              >\\r\\n                                {{\\r\\n                                  validation_message.min_fare_required\\r\\n                                    | translate\\r\\n                                }}\\r\\n                              </div>\\r\\n                            </div>\\r\\n                          </div>\\r\\n\\r\\n                          <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{\\r\\n                              title.hopper_is_admin_profit | translate\\r\\n                            }}</label>\\r\\n\\r\\n                            <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                              <ui-switch\\r\\n                                [(ngModel)]=\\\"add_service.hopper_is_admin_profit\\\"\\r\\n                                #hopper_is_admin_profit=\\\"ngModel\\\"\\r\\n                                name=\\\"hopper_is_admin_profit\\\"\\r\\n                              ></ui-switch>\\r\\n                            </div>\\r\\n                          </div>\\r\\n\\r\\n                          <div\\r\\n                            class=\\\"form-group\\\"\\r\\n                            *ngIf=\\\"add_service.hopper_is_admin_profit\\\"\\r\\n                          >\\r\\n                            <label class=\\\"col-lg-7 col-xs-6 control-label\\\">{{\\r\\n                              title.hopper_admin_profit_distance | translate\\r\\n                            }}</label>\\r\\n\\r\\n                            <div class=\\\"col-lg-5 col-xs-6 input-group\\\">\\r\\n                              <span class=\\\"input-group-addon\\\"\\r\\n                                ><span class=\\\"\\\">{{ currency_sign }}</span></span\\r\\n                              >\\r\\n\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                                [(ngModel)]=\\\"\\r\\n                                  add_service.hopper_admin_profit_distance\\r\\n                                \\\"\\r\\n                                #hopper_admin_profit_distance=\\\"ngModel\\\"\\r\\n                                name=\\\"hopper_admin_profit_distance\\\"\\r\\n                                required\\r\\n                              />\\r\\n                              <span\\r\\n                                class=\\\"input-group-addon\\\"\\r\\n                                tooltip=\\\"{{\\r\\n                                  tooltip_title.hopper_admin_profit_distance\\r\\n                                }}\\\"\\r\\n                                [tooltipDisabled]=\\\"false\\\"\\r\\n                                [tooltipAnimation]=\\\"true\\\"\\r\\n                                tooltipPlacement=\\\"bottom\\\"\\r\\n                              >\\r\\n                                <span class=\\\"fa fa-question\\\"></span>\\r\\n                              </span>\\r\\n                            </div>\\r\\n                            <div\\r\\n                              *ngIf=\\\"\\r\\n                                hopper_admin_profit_distance.errors &&\\r\\n                                (hopper_admin_profit_distance.dirty ||\\r\\n                                  hopper_admin_profit_distance.touched)\\r\\n                              \\\"\\r\\n                            >\\r\\n                              <div\\r\\n                                style=\\\"color: red\\\"\\r\\n                                [hidden]=\\\"\\r\\n                                  !hopper_admin_profit_distance.errors.required\\r\\n                                \\\"\\r\\n                              >\\r\\n                                {{\\r\\n                                  validation_message.field_required | translate\\r\\n                                }}\\r\\n                              </div>\\r\\n                            </div>\\r\\n                          </div>\\r\\n\\r\\n                          <div\\r\\n                            class=\\\"form-group\\\"\\r\\n                            *ngIf=\\\"add_service.hopper_is_admin_profit\\\"\\r\\n                          >\\r\\n                            <label class=\\\"col-lg-7 col-xs-6 control-label\\\">{{\\r\\n                              title.hopper_admin_profit | translate\\r\\n                            }}</label>\\r\\n\\r\\n                            <div class=\\\"col-lg-5 col-xs-6 input-group\\\">\\r\\n                              <span class=\\\"input-group-addon\\\"\\r\\n                                ><span class=\\\"\\\">{{ currency_sign }}</span></span\\r\\n                              >\\r\\n\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                                [(ngModel)]=\\\"add_service.hopper_admin_profit\\\"\\r\\n                                #hopper_admin_profit=\\\"ngModel\\\"\\r\\n                                name=\\\"hopper_admin_profit\\\"\\r\\n                                required\\r\\n                              />\\r\\n                              <span\\r\\n                                class=\\\"input-group-addon\\\"\\r\\n                                tooltip=\\\"{{\\r\\n                                  tooltip_title.hopper_admin_profit\\r\\n                                }}\\\"\\r\\n                                [tooltipDisabled]=\\\"false\\\"\\r\\n                                [tooltipAnimation]=\\\"true\\\"\\r\\n                                tooltipPlacement=\\\"bottom\\\"\\r\\n                              >\\r\\n                                <span class=\\\"fa fa-question\\\"></span>\\r\\n                              </span>\\r\\n                            </div>\\r\\n                            <div\\r\\n                              *ngIf=\\\"\\r\\n                                hopper_admin_profit.errors &&\\r\\n                                (hopper_admin_profit.dirty ||\\r\\n                                  hopper_admin_profit.touched)\\r\\n                              \\\"\\r\\n                            >\\r\\n                              <div\\r\\n                                style=\\\"color: red\\\"\\r\\n                                [hidden]=\\\"!hopper_admin_profit.errors.required\\\"\\r\\n                              >\\r\\n                                {{\\r\\n                                  validation_message.field_required | translate\\r\\n                                }}\\r\\n                              </div>\\r\\n                            </div>\\r\\n                          </div>\\r\\n                        </div>\\r\\n                      </div>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n\\r\\n              <div class=\\\"row\\\" [hidden]=\\\"selected_tab == 'city'\\\">\\r\\n                <div class=\\\"col-lg-12\\\">\\r\\n                  <div class=\\\"col-lg-12 col-sm-12\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                      <div class=\\\"ibox-title\\\">\\r\\n                        <label class=\\\"control-label\\\">Add Zone Price</label>\\r\\n                      </div>\\r\\n                      <div class=\\\"ibox-content\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                          <div class=\\\"col-md-12\\\">\\r\\n                            <form\\r\\n                              #zone_price_form=\\\"ngForm\\\"\\r\\n                              (ngSubmit)=\\\"add_zone_price()\\\"\\r\\n                            >\\r\\n                              <div class=\\\"col-md-3\\\">\\r\\n                                <select\\r\\n                                  chosen\\r\\n                                  class=\\\"chosen-select\\\"\\r\\n                                  id=\\\"from_zone_id\\\"\\r\\n                                  [(ngModel)]=\\\"add_zone.from_zone_id\\\"\\r\\n                                  #from_zone_id=\\\"ngModel\\\"\\r\\n                                  name=\\\"from_zone_id\\\"\\r\\n                                  data-placeholder=\\\"Select Zone1\\\"\\r\\n                                  tabindex=\\\"4\\\"\\r\\n                                  required\\r\\n                                >\\r\\n                                  <option\\r\\n                                    *ngFor=\\\"let zone of from_zone_list\\\"\\r\\n                                    value=\\\"{{ zone._id }}\\\"\\r\\n                                  >\\r\\n                                    <span\\r\\n                                      class=\\\"fa fa-danger\\\"\\r\\n                                      *ngIf=\\\"!zone.is_business\\\"\\r\\n                                      style=\\\"\\r\\n                                        padding: 6px 6px;\\r\\n                                        position: unset !important;\\r\\n                                        border-radius: 50%;\\r\\n                                        background-color: red;\\r\\n                                        font-size: 10px;\\r\\n                                        font-weight: bold;\\r\\n                                      \\\"\\r\\n                                    ></span>\\r\\n                                    <span\\r\\n                                      class=\\\"fa fa-danger\\\"\\r\\n                                      *ngIf=\\\"zone.is_business\\\"\\r\\n                                      style=\\\"\\r\\n                                        padding: 6px 6px;\\r\\n                                        position: unset !important;\\r\\n                                        border-radius: 50%;\\r\\n                                        background-color: green;\\r\\n                                        font-size: 10px;\\r\\n                                        font-weight: bold;\\r\\n                                      \\\"\\r\\n                                    ></span>\\r\\n                                    {{ zone.title }}\\r\\n                                  </option>\\r\\n                                </select>\\r\\n                              </div>\\r\\n\\r\\n                              <!-- <div class=\\\"col-md-3\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t  <select\\r\\n\\t\\t\\t\\t\\t\\t\\t\\tchosen\\r\\n\\t\\t\\t\\t\\t\\t\\t\\tclass=\\\"chosen-select\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\tid=\\\"to_zone_id\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t[(ngModel)]=\\\"add_zone.to_zone_id\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t#to_zone_id=\\\"ngModel\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\tname=\\\"to_zone_id\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\tdata-placeholder=\\\"Select Zone2\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\ttabindex=\\\"4\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\trequired\\r\\n\\t\\t\\t\\t\\t\\t\\t  >\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<option\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t  *ngFor=\\\"let zone of to_zone_list\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t  value=\\\"{{ zone._id }}\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t  {{ zone.title }}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</option>\\r\\n\\t\\t\\t\\t\\t\\t\\t  </select>\\r\\n\\t\\t\\t\\t\\t\\t\\t</div> -->\\r\\n\\r\\n                              <div class=\\\"col-md-3\\\">\\r\\n                                <div class=\\\"input-group\\\">\\r\\n                                  <span class=\\\"input-group-addon\\\"\\r\\n                                    ><span class=\\\"\\\">{{\\r\\n                                      currency_sign\\r\\n                                    }}</span></span\\r\\n                                  >\\r\\n\\r\\n                                  <input\\r\\n                                    type=\\\"text\\\"\\r\\n                                    class=\\\"form-control\\\"\\r\\n                                    (keypress)=\\\"\\r\\n                                      helper.number_validation($event)\\r\\n                                    \\\"\\r\\n                                    placeholder=\\\"Delivery Price\\\"\\r\\n                                    [(ngModel)]=\\\"add_zone.price\\\"\\r\\n                                    #price=\\\"ngModel\\\"\\r\\n                                    name=\\\"price\\\"\\r\\n                                    required\\r\\n                                  />\\r\\n                                </div>\\r\\n                              </div>\\r\\n\\r\\n                              <div class=\\\"col-md-3\\\">\\r\\n                                <div class=\\\"input-group\\\">\\r\\n                                  <span class=\\\"input-group-addon\\\"\\r\\n                                    ><span class=\\\"\\\">{{\\r\\n                                      currency_sign\\r\\n                                    }}</span></span\\r\\n                                  >\\r\\n\\r\\n                                  <input\\r\\n                                    type=\\\"text\\\"\\r\\n                                    class=\\\"form-control\\\"\\r\\n                                    (keypress)=\\\"\\r\\n                                      helper.number_validation($event)\\r\\n                                    \\\"\\r\\n                                    placeholder=\\\"Min. Order Price\\\"\\r\\n                                    [(ngModel)]=\\\"add_zone.min_order_price\\\"\\r\\n                                    #min_order_price=\\\"ngModel\\\"\\r\\n                                    name=\\\"min_order_price\\\"\\r\\n                                    required\\r\\n                                  />\\r\\n                                </div>\\r\\n                              </div>\\r\\n\\r\\n                              <div class=\\\"col-md-3\\\">\\r\\n                                <input\\r\\n                                  type=\\\"submit\\\"\\r\\n                                  id=\\\"add\\\"\\r\\n                                  name=\\\"add\\\"\\r\\n                                  class=\\\"btn btn-primary\\\"\\r\\n                                  value=\\\"Add\\\"\\r\\n                                />\\r\\n                              </div>\\r\\n                            </form>\\r\\n                          </div>\\r\\n                        </div>\\r\\n                      </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                      <div class=\\\"ibox-title\\\">\\r\\n                        <label class=\\\"control-label\\\">Zone Price</label>\\r\\n                      </div>\\r\\n                      <div class=\\\"ibox-content\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                          <div class=\\\"col-md-12\\\" style=\\\"margin-top: 40px\\\">\\r\\n                            <div class=\\\"col-md-3\\\">\\r\\n                              <label>Filter Zone</label>\\r\\n                              <select\\r\\n                                chosen\\r\\n                                class=\\\"chosen-select\\\"\\r\\n                                id=\\\"filter_zone_id\\\"\\r\\n                                [(ngModel)]=\\\"filter_zone_id\\\"\\r\\n                                name=\\\"filter_zone_id\\\"\\r\\n                                tabindex=\\\"4\\\"\\r\\n                              >\\r\\n                                <option value=\\\"\\\">All Zone</option>\\r\\n                                <option\\r\\n                                  *ngFor=\\\"let zone of from_zone_list\\\"\\r\\n                                  value=\\\"{{ zone._id }}\\\"\\r\\n                                >\\r\\n                                  {{ zone.title }}\\r\\n                                </option>\\r\\n                              </select>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-3\\\">\\r\\n                              <label>Filter Store</label>\\r\\n                              <select\\r\\n                                chosen\\r\\n                                class=\\\"chosen-select\\\"\\r\\n                                id=\\\"filter_store_id\\\"\\r\\n                                [(ngModel)]=\\\"filter_store_id\\\"\\r\\n                                name=\\\"filter_store_id\\\"\\r\\n                                tabindex=\\\"4\\\"\\r\\n                              >\\r\\n                                <option value=\\\"\\\">All Store</option>\\r\\n                                <option\\r\\n                                  *ngFor=\\\"let zone of store_list\\\"\\r\\n                                  value=\\\"{{ zone._id }}\\\"\\r\\n                                >\\r\\n                                  {{ zone.name }}\\r\\n                                </option>\\r\\n                              </select>\\r\\n                            </div>\\r\\n                          </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"row\\\">\\r\\n                          <div\\r\\n                            class=\\\"col-md-12\\\"\\r\\n                            style=\\\"margin-top: 40px\\\"\\r\\n                            *ngIf=\\\"filtered_zone_price.length > 0\\\"\\r\\n                          >\\r\\n                            <div class=\\\"col-md-3\\\"><b>Zone</b></div>\\r\\n                            <div class=\\\"col-md-2\\\"><b>Delivery Price</b></div>\\r\\n                            <div class=\\\"col-md-2\\\"><b>Min. Order Price</b></div>\\r\\n                            <div class=\\\"col-md-2\\\"><b>Selected Store</b></div>\\r\\n                            <div class=\\\"col-md-3\\\"><b>Action</b></div>\\r\\n                          </div>\\r\\n                          <div\\r\\n                            class=\\\"col-md-12\\\"\\r\\n                            style=\\\"margin-top: 20px\\\"\\r\\n                            *ngFor=\\\"\\r\\n                              let i of filtered_zone_price;\\r\\n                              let index = index\\r\\n                            \\\"\\r\\n                          >\\r\\n                            <form\\r\\n                              #update_zone_price_form=\\\"ngForm\\\"\\r\\n                              (ngSubmit)=\\\"update_zone_price(i)\\\"\\r\\n                            >\\r\\n                              <div class=\\\"col-md-3\\\">\\r\\n                                <span\\r\\n                                  class=\\\"fa fa-danger\\\"\\r\\n                                  *ngIf=\\\"!i.from_zone_detail.is_business\\\"\\r\\n                                  style=\\\"\\r\\n                                    padding: 1px 6px;\\r\\n                                    position: unset !important;\\r\\n                                    border-radius: 50%;\\r\\n                                    background-color: red;\\r\\n                                    font-size: 10px;\\r\\n                                    font-weight: bold;\\r\\n                                    display: inline;\\r\\n                                  \\\"\\r\\n                                ></span>\\r\\n                                <span\\r\\n                                  class=\\\"fa fa-danger\\\"\\r\\n                                  *ngIf=\\\"i.from_zone_detail.is_business\\\"\\r\\n                                  style=\\\"\\r\\n                                    padding: 1px 6px;\\r\\n                                    position: unset !important;\\r\\n                                    border-radius: 50%;\\r\\n                                    background-color: green;\\r\\n                                    font-size: 10px;\\r\\n                                    font-weight: bold;\\r\\n                                    display: inline;\\r\\n                                  \\\"\\r\\n                                ></span>\\r\\n                                <input\\r\\n                                  type=\\\"text\\\"\\r\\n                                  style=\\\"display: inline; margin-left: 8px\\\"\\r\\n                                  class=\\\"form-control\\\"\\r\\n                                  value=\\\"{{ i.from_zone_detail.title }}\\\"\\r\\n                                  name=\\\"price\\\"\\r\\n                                  disabled\\r\\n                                />\\r\\n                              </div>\\r\\n                              <!-- <div class=\\\"col-md-3\\\">\\r\\n                                <input\\r\\n                                  type=\\\"text\\\"\\r\\n                                  class=\\\"form-control\\\"\\r\\n                                  value=\\\"{{ i.to_zone_detail.title }}\\\"\\r\\n                                  name=\\\"price\\\"\\r\\n                                  disabled\\r\\n                                />\\r\\n                              </div> -->\\r\\n\\r\\n                              <div class=\\\"col-md-2\\\">\\r\\n                                <div class=\\\"input-group\\\">\\r\\n                                  <span class=\\\"input-group-addon\\\"\\r\\n                                    ><span class=\\\"\\\">{{\\r\\n                                      currency_sign\\r\\n                                    }}</span></span\\r\\n                                  >\\r\\n\\r\\n                                  <input\\r\\n                                    type=\\\"text\\\"\\r\\n                                    class=\\\"form-control\\\"\\r\\n                                    (keypress)=\\\"\\r\\n                                      helper.number_validation($event)\\r\\n                                    \\\"\\r\\n                                    placeholder=\\\"\\\"\\r\\n                                    [(ngModel)]=\\\"i.price\\\"\\r\\n                                    #price=\\\"ngModel\\\"\\r\\n                                    name=\\\"price\\\"\\r\\n                                    required\\r\\n                                  />\\r\\n                                </div>\\r\\n                              </div>\\r\\n\\r\\n                              <div class=\\\"col-md-2\\\">\\r\\n                                <div class=\\\"input-group\\\">\\r\\n                                  <span class=\\\"input-group-addon\\\"\\r\\n                                    ><span class=\\\"\\\">{{\\r\\n                                      currency_sign\\r\\n                                    }}</span></span\\r\\n                                  >\\r\\n\\r\\n                                  <input\\r\\n                                    type=\\\"text\\\"\\r\\n                                    class=\\\"form-control\\\"\\r\\n                                    (keypress)=\\\"\\r\\n                                      helper.number_validation($event)\\r\\n                                    \\\"\\r\\n                                    placeholder=\\\"\\\"\\r\\n                                    [(ngModel)]=\\\"i.min_order_price\\\"\\r\\n                                    #min_order_price=\\\"ngModel\\\"\\r\\n                                    name=\\\"min_order_price\\\"\\r\\n                                    required\\r\\n                                  />\\r\\n                                </div>\\r\\n                              </div>\\r\\n                              <div class=\\\"col-md-2\\\">\\r\\n                                {{ i.store_ids.length }} Store Selected\\r\\n                                <span\\r\\n                                  class=\\\"fa fa-edit\\\"\\r\\n                                  (click)=\\\"\\r\\n                                    select_store(\\r\\n                                      i.store_ids,\\r\\n                                      i._id,\\r\\n                                      i.from_zone_id\\r\\n                                    )\\r\\n                                  \\\"\\r\\n                                ></span>\\r\\n                              </div>\\r\\n\\r\\n                              <div class=\\\"col-md-3\\\">\\r\\n                                <input\\r\\n                                  type=\\\"submit\\\"\\r\\n                                  id=\\\"add\\\"\\r\\n                                  name=\\\"add\\\"\\r\\n                                  class=\\\"btn btn-primary\\\"\\r\\n                                  value=\\\"Update\\\"\\r\\n                                />\\r\\n\\r\\n                                <input\\r\\n                                  type=\\\"button\\\"\\r\\n                                  (click)=\\\"delete_zone_price(i._id, index)\\\"\\r\\n                                  class=\\\"btn btn-danger\\\"\\r\\n                                  value=\\\"Delete\\\"\\r\\n                                />\\r\\n                              </div>\\r\\n                            </form>\\r\\n                          </div>\\r\\n                        </div>\\r\\n                      </div>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n</form>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl\\\" #storeListModal>\\r\\n  <modal-header [show-close]=\\\"true\\\">\\r\\n    <h4 class=\\\"modal-title\\\">{{ heading_title.select_store | translate }}</h4>\\r\\n  </modal-header>\\r\\n  <modal-body>\\r\\n    <div class=\\\"row\\\">\\r\\n      <div class=\\\"col-md-12\\\">\\r\\n        <input\\r\\n          type=\\\"text\\\"\\r\\n          class=\\\"form-control\\\"\\r\\n          name=\\\"search_store_text\\\"\\r\\n          placeholder=\\\"Search\\\"\\r\\n          [(ngModel)]=\\\"search_store_text\\\"\\r\\n          (keyup)=\\\"search_store(search_store_text)\\\"\\r\\n        />\\r\\n      </div>\\r\\n    </div>\\r\\n    <div class=\\\"row\\\" style=\\\"margin-top: 20px\\\">\\r\\n      <div\\r\\n        class=\\\"col-md-6\\\"\\r\\n        *ngFor=\\\"let store of filtered_store_list; let store_index = index\\\"\\r\\n      >\\r\\n        <label\\r\\n          ><input\\r\\n            class=\\\"icheck_store\\\"\\r\\n            id=\\\"icheck{{ store._id }}\\\"\\r\\n            type=\\\"checkbox\\\"\\r\\n            (change)=\\\"select_unselect_store_ids(store._id)\\\"\\r\\n            [checked]=\\\"is_selected\\\"\\r\\n            value=\\\"{{ store._id }}\\\"\\r\\n          /><span style=\\\"margin-left: 10px\\\">{{ store.name }}</span></label\\r\\n        >\\r\\n      </div>\\r\\n    </div>\\r\\n  </modal-body>\\r\\n  <modal-footer>\\r\\n    <div style=\\\"text-align: center\\\">\\r\\n      <button\\r\\n        type=\\\"button\\\"\\r\\n        class=\\\"btn btn-primary\\\"\\r\\n        (click)=\\\"update_store_ids()\\\"\\r\\n      >\\r\\n        {{ button.update | translate }}\\r\\n      </button>\\r\\n    </div>\\r\\n  </modal-footer>\\r\\n</modal>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/add_service/add_service.component.html\n// module id = 1565\n// module chunks = 0","module.exports = \"<form #teamForm=\\\"ngForm\\\" (ngSubmit)=\\\"Addteam(teamForm.value)\\\" >\\r\\n    <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"team_id\\\"   name=\\\"team_id\\\" />\\r\\n\\r\\n    <div class=\\\"wrapper wrapper-content content_top_bar_view animated fadeInRight\\\">\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-md-9\\\">\\r\\n                <div class=\\\"row\\\">\\r\\n                    <div class=\\\"col-md-3\\\">\\r\\n                        <div class=\\\"ibox\\\">\\r\\n                            <div class=\\\"ibox-title\\\">\\r\\n                                <label class=\\\"control-label\\\">{{heading_title.select_country}}</label>\\r\\n                                <span class=\\\"pull-right\\\"><a class=\\\"btn btn-primary btn-xs\\\" (click)=\\\"select_all_country()\\\">{{button.select_all | translate}}</a></span>\\r\\n                            </div>\\r\\n                            <div class=\\\"ibox-content\\\" style=\\\"height: calc(100vh - 225px);overflow: auto;\\\">\\r\\n                                <div class=\\\"row\\\">\\r\\n                                    <div class=\\\"col-md-12\\\" *ngFor=\\\"let country of country_list\\\" style=\\\"padding: 10px;\\\">\\r\\n                                        {{country.country_name}}\\r\\n                                        <input class=\\\"pull-right\\\" [checked]=\\\"is_checked(country_ids, country._id)\\\" (change)=\\\"change_country($event)\\\" type=\\\"checkbox\\\" value=\\\"{{country._id}}\\\" />\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"col-md-3\\\">\\r\\n                        <div class=\\\"ibox\\\">\\r\\n                            <div class=\\\"ibox-title\\\">\\r\\n                                <label class=\\\"control-label\\\">{{heading_title.select_city}}</label>\\r\\n                                <span class=\\\"pull-right\\\"><a class=\\\"btn btn-primary btn-xs\\\" (click)=\\\"select_all_city()\\\">{{button.select_all | translate}}</a></span>\\r\\n                            </div>\\r\\n                            <div class=\\\"ibox-content\\\" style=\\\"height: calc(100vh - 225px);overflow: auto;\\\">\\r\\n                                <div class=\\\"row\\\">\\r\\n                                    <div class=\\\"col-md-12\\\" *ngFor=\\\"let city of city_list\\\" style=\\\"padding: 10px;\\\">\\r\\n                                        {{city.city_name}}\\r\\n                                        <input class=\\\"pull-right\\\" [checked]=\\\"is_checked(city_ids, city._id)\\\" (change)=\\\"change_city($event)\\\" type=\\\"checkbox\\\" value=\\\"{{city._id}}\\\" />\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"col-md-3\\\">\\r\\n                        <div class=\\\"ibox\\\">\\r\\n                            <div class=\\\"ibox-title\\\">\\r\\n                                <label class=\\\"control-label\\\">{{heading_title.select_store}}</label>\\r\\n                                <span class=\\\"pull-right\\\"><a class=\\\"btn btn-primary btn-xs\\\" (click)=\\\"select_all_store()\\\">{{button.select_all | translate}}</a></span>\\r\\n                            </div>\\r\\n                            <div class=\\\"ibox-content\\\" style=\\\"height: calc(100vh - 225px);overflow: auto;\\\">\\r\\n                                <div class=\\\"row\\\">\\r\\n                                    <div class=\\\"col-md-12\\\" *ngFor=\\\"let store of store_list\\\" style=\\\"padding: 10px;\\\">\\r\\n                                        {{store.name}}\\r\\n                                        <input class=\\\"pull-right\\\" [checked]=\\\"is_checked(store_ids, store._id)\\\" (change)=\\\"change_store($event)\\\" type=\\\"checkbox\\\" value=\\\"{{store._id}}\\\" />\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"col-md-3\\\">\\r\\n                        <div class=\\\"ibox\\\">\\r\\n                            <div class=\\\"ibox-title\\\">\\r\\n                                <label class=\\\"control-label\\\">{{heading_title.select_provider}}</label>\\r\\n                                <span class=\\\"pull-right\\\"><a class=\\\"btn btn-primary btn-xs\\\" (click)=\\\"select_all_provider()\\\">{{button.select_all | translate}}</a></span>\\r\\n                            </div>\\r\\n                            <div class=\\\"ibox-content\\\" style=\\\"height: calc(100vh - 225px);overflow: auto;\\\">\\r\\n                                <div class=\\\"row\\\">\\r\\n                                    <div class=\\\"col-md-12\\\" *ngFor=\\\"let provider of provider_list\\\" style=\\\"padding: 10px;\\\">\\r\\n                                        {{provider.first_name}} {{provider.last_name}}\\r\\n                                        <input class=\\\"pull-right\\\" [checked]=\\\"is_checked(provider_ids, provider._id)\\\" (change)=\\\"change_provider($event)\\\" (change)=\\\"get_city_list()\\\" type=\\\"checkbox\\\" value=\\\"{{provider._id}}\\\" />\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-3\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <label class=\\\"control-label\\\">{{heading_title.final_step}}</label>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content\\\" style=\\\"height: calc(100vh - 225px);overflow: auto;\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12\\\" style=\\\"padding: 10px 20px;font-size: 18px;\\\">\\r\\n                                number of country selected: {{country_list.length}} / {{country_ids.length}}\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-12\\\" style=\\\"padding: 10px 20px;font-size: 18px;\\\">\\r\\n                                number of city selected: {{city_list.length}} / {{city_ids.length}}\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-12\\\" style=\\\"padding: 10px 20px;font-size: 18px;\\\">\\r\\n                                number of store selected: {{store_list.length}} / {{store_ids.length}}\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-12\\\" style=\\\"padding: 10px 20px;font-size: 18px;\\\">\\r\\n                                number of provider selected: {{provider_list.length}} / {{provider_ids.length}}\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-12\\\">\\r\\n                                <label class=\\\"control-label\\\">{{title.name | translate}}</label>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_team.name\\\" #name=\\\"ngModel\\\"  name=\\\"name\\\" required />\\r\\n                                    <div *ngIf=\\\"name.errors && (name.dirty || name.touched)\\\">\\r\\n                                        <div style=\\\"color: red;\\\" [hidden]=\\\"!name.errors.required\\\">{{validation_message.admin_name_required | translate}}</div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-12 text-center\\\">\\r\\n                                <input  type=\\\"submit\\\" id=\\\"submit\\\" name=\\\"submit\\\"  class=\\\"btn btn-primary\\\" value=\\\"{{button.submit | translate}}\\\" >\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n</form>\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/add_team/add_team.component.html\n// module id = 1566\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n<form #vehicleForm=\\\"ngForm\\\" (ngSubmit)=\\\"addVehicle(vehicleForm.value)\\\" >\\r\\n    <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"vehicle_id\\\"   name=\\\"vehicle_id\\\" />\\r\\n    <div class=\\\"row wrapper col-sm-12 col-md-12 col-xs-12 col-lg-12 fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n        <div class=\\\"row\\\">\\r\\n            <div *ngIf=\\\"type=='add'\\\" class=\\\"col-md-3 col-sm-12 pull-right new_submit_button\\\">\\r\\n                <input  type=\\\"submit\\\" id=\\\"submit\\\" name=\\\"submit\\\"  class=\\\"btn btn-primary\\\" value=\\\"{{button.submit | translate}}\\\" >\\r\\n            </div>\\r\\n            <div *ngIf=\\\"type=='edit'\\\" class=\\\"col-md-3 col-sm-12 pull-right new_submit_button\\\">\\r\\n                <input type=\\\"submit\\\" id=\\\"update\\\" name=\\\"update\\\"  class=\\\"btn btn-primary\\\" value=\\\"{{button.update | translate}}\\\" >\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n    <div class=\\\"wrapper wrapper-content content_top_bar_view animated fadeInRight\\\">\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-lg-12\\\">\\r\\n                <div class=\\\"col-lg-6 col-sm-9\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.vehicle_data | translate}}</label>  \\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.vehicle_name | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_vehicle.vehicle_name\\\" #vehicle_name=\\\"ngModel\\\"  name=\\\"vehicle_name\\\" required />\\r\\n                                        <div *ngIf=\\\"vehicle_name.errors && (vehicle_name.dirty || vehicle_name.touched)\\\">\\r\\n                                            <div style=\\\"color: red;\\\" [hidden]=\\\"!vehicle_name.errors.required\\\">{{validation_message.vehicle_name_required | translate}}</div>\\r\\n                                        </div>\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.description | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <textarea class=\\\"form-control\\\" [(ngModel)]=\\\"add_vehicle.description\\\" #description=\\\"ngModel\\\"  name=\\\"description\\\" required ></textarea>\\r\\n                                        <div *ngIf=\\\"description.errors && (description.dirty || description.touched)\\\">\\r\\n                                            <div style=\\\"color: red;\\\" [hidden]=\\\"!description.errors.required\\\">{{validation_message.vehicle_description_required | translate}}</div>\\r\\n                                        </div>\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.is_business_vehicle | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <ui-switch [(ngModel)]=\\\"add_vehicle.is_business\\\" #is_business=\\\"ngModel\\\" name=\\\"is_business\\\" ></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n                                <div class=\\\"col-md-12\\\">\\r\\n\\r\\n                                    <div class=\\\"row\\\">\\r\\n                                        <label class=\\\"col-lg-6 control-label\\\">{{title.image_url | translate}}</label>\\r\\n                                        <label class=\\\"col-lg-6 control-label\\\">{{title.map_pin_image_url | translate}}</label>  \\r\\n\\r\\n                                    </div>\\r\\n\\r\\n                                    <div class=\\\"row\\\">\\r\\n                                        <div class=\\\"form-group col-lg-6 col-md-6 col-xs-6\\\">\\r\\n                                            <div  style=\\\"width: 100%;height:131px;\\\">\\r\\n                                                <div class=\\\"col-lg-12 profile-images center\\\">\\r\\n\\r\\n                                                    <span class=\\\"btn-file add_img_bg_vehicle no-padding\\\"><img style=\\\"\\\" src=\\\"{{add_vehicle.image_url != '' ? add_vehicle.image_url : 'plus_box.png'}}\\\" alt=\\\"\\\"><input type=\\\"file\\\" accept=\\\"image/*\\\" (change)=\\\"main_image_update($event);\\\" name=\\\"image_url\\\"></span>\\r\\n<!--                                                    <span class=\\\"btn-file\\\"><img style=\\\"width: 110px;height: 110px;\\\" src=\\\"{{add_vehicle.image_url != '' ? add_vehicle.image_url : 'plus_box.png'}}\\\" alt=\\\"\\\"><input type=\\\"file\\\" accept=\\\"image/*\\\" (change)=\\\"main_image_update($event);\\\" name=\\\"image_url\\\"></span>-->\\r\\n\\r\\n                                                </div>\\r\\n                                                <div class=\\\"col-lg-12 text_center\\\">\\r\\n                                                    <span style=\\\"color: red;\\\">{{image_error | translate}}</span>\\r\\n                                                </div>\\r\\n\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n\\r\\n\\r\\n                                        <div class=\\\"form-group col-lg-6 col-md-6 col-xs-6\\\">\\r\\n                                            <div  style=\\\"width: 100%;height:131px;\\\">\\r\\n                                                <div class=\\\"col-lg-12 profile-images center\\\"> \\r\\n\\r\\n                                                    <span class=\\\"btn-file add_img_bg_vehicle no-padding\\\"><img style=\\\"\\\" src=\\\"{{add_vehicle.map_pin_image_url != '' ? add_vehicle.map_pin_image_url : 'plus_box.png'}}\\\" alt=\\\"\\\"><input type=\\\"file\\\" accept=\\\"image/*\\\" (change)=\\\"map_pin_image_update($event);\\\" name=\\\"map_pin_image_url\\\"></span>\\r\\n\\r\\n                                                </div>\\r\\n                                                <div class=\\\"col-lg-12 text_center\\\">\\r\\n                                                    <span style=\\\"color: red;\\\">{{map_pin_image_error | translate}}</span>\\r\\n                                                </div>\\r\\n\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n\\r\\n\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n\\r\\n                                <div class=\\\"col-md-12\\\">\\r\\n                                    <div class=\\\"row\\\">\\r\\n                                        <label class=\\\"control-label\\\" style=\\\"color:#bc202b;\\\">{{title.note_for_image | translate}}:-</label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"row\\\">\\r\\n                                        <label class=\\\"control-label\\\" >{{title.image_note1 | translate}} {{image_setting.image_min_width}}x{{image_setting.image_min_height}}\\r\\n                                            {{title.image_note2 | translate}} {{image_setting.image_max_width}}x{{image_setting.image_max_height}}),</label><br>\\r\\n                                        <label class=\\\"control-label\\\">{{title.image_note3 | translate}} {{image_setting.image_ratio}} {{title.image_note4 | translate}} </label>\\r\\n                                        <label *ngFor=\\\"let i of image_setting.image_type; let last=last;\\\"> {{(i.split('/'))[1]}}<label [hidden]=\\\"last\\\">,</label> </label>\\r\\n                                        <label class=\\\"control-label\\\"> {{title.image_note5 | translate}}</label>\\r\\n\\r\\n<!--                                        <p>{{image_note}}</p>\\r\\n                                        <p>{{image_note_ratio}}</p>-->\\r\\n\\r\\n                                    </div> \\r\\n\\r\\n                                    <div class=\\\"row\\\">\\r\\n                                        <label class=\\\"control-label\\\" style=\\\"color:#bc202b;\\\">{{title.note_for_map_pin | translate}}:-</label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"row\\\">\\r\\n                                        <label class=\\\"control-label\\\">{{title.image_note1 | translate}} {{image_setting.map_pin_image_min_width}}x{{image_setting.map_pin_image_min_height}}\\r\\n                                            {{title.image_note2 | translate}} {{image_setting.map_pin_image_max_width}}x{{image_setting.map_pin_image_max_height}}),</label><br>\\r\\n                                        <label class=\\\"control-label\\\">{{title.image_note3 | translate}} {{image_setting.map_pin_image_ratio}} {{title.image_note4 | translate}} </label>\\r\\n                                       <label *ngFor=\\\"let i of image_setting.map_pin_image_type; let last=last;\\\"> {{(i.split('/'))[1]}}<label [hidden]=\\\"last\\\">,</label> </label>\\r\\n                                        <label class=\\\"control-label\\\"> {{title.image_note5 | translate}}</label>\\r\\n                                        <!--                                        <p>{{map_pin_note}}</p>\\r\\n                                                                                <p>{{map_pin_note_ratio}}</p>-->\\r\\n\\r\\n                                    </div> \\r\\n\\r\\n                                </div>\\r\\n\\r\\n                            </div>\\r\\n<!--                            <div class=\\\"row\\\">   \\r\\n                                <div class=\\\"col-lg-4\\\">\\r\\n                                </div>\\r\\n                                <div *ngIf=\\\"type=='add'\\\" class=\\\"col-lg-4\\\" style=\\\"text-align: center;\\\">\\r\\n                                    <input type=\\\"submit\\\" name=\\\"submit\\\" style=\\\"width: 60%;\\\" class=\\\"btn btn-primary\\\" value=\\\"{{button.submit | translate}}\\\" >\\r\\n                                </div>\\r\\n                                <div *ngIf=\\\"type=='edit'\\\" class=\\\"col-lg-4\\\" style=\\\"text-align: center;\\\">\\r\\n                                    <input type=\\\"submit\\\" id=\\\"update\\\" name=\\\"update\\\" style=\\\"width: 60%;\\\" class=\\\"btn btn-primary\\\" value=\\\"{{button.update | translate}}\\\" >\\r\\n                                </div>\\r\\n                            </div>-->\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</form>\\r\\n\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl animated fadeInDownBig\\\" #image_crop_modal>\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n        <img-cropper #cropper [image]=\\\"data\\\" [settings]=\\\"cropperSettings\\\"></img-cropper><br>\\r\\n        {{cropperSettings.croppedWidth}}\\r\\n        {{cropperSettings.croppedHeight}}\\r\\n        <div class=\\\"col-lg-12 text_center\\\">\\r\\n            <span style=\\\"color: red;\\\">{{image_error | translate}}</span>\\r\\n        </div>\\r\\n\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n        <div style=\\\"text-align: center\\\">\\r\\n            <button type=\\\"button\\\" (click)=\\\"crop($event)\\\" class=\\\"btn btn-primary\\\">{{button.done | translate}}</button>\\r\\n        </div>\\r\\n    </modal-footer>\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl animated fadeInDownBig\\\" #map_pin_image_crop_modal>\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n        <img-cropper #cropper_map_pin [image]=\\\"map_pin_data\\\" [settings]=\\\"cropperMapPinSettings\\\"></img-cropper><br>\\r\\n        {{cropperMapPinSettings.croppedWidth}}\\r\\n        {{cropperMapPinSettings.croppedHeight}}\\r\\n        <div class=\\\"col-lg-12 text_center\\\">\\r\\n            <span style=\\\"color: red;\\\">{{map_pin_image_error | translate}}</span>\\r\\n        </div>\\r\\n\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n        <div style=\\\"text-align: center\\\">\\r\\n            <button type=\\\"button\\\" (click)=\\\"cropDeliveryMapPin($event)\\\" class=\\\"btn btn-primary\\\">{{button.done | translate}}</button>\\r\\n        </div>\\r\\n    </modal-footer>\\r\\n</modal>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/add_vehicle/add_vehicle.component.html\n// module id = 1567\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer> \\r\\n<div class=\\\"row wrapper content_top_bar border-bottom white-bg page-heading\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n        <!-- <div class=\\\"col-md-3 col-sm-12 pull-right\\\">\\r\\n            <div class=\\\"col-md-6 col-sm-6 add_btn_div\\\">\\r\\n                 <button [routerLink]=\\\"['/admin/add_detail']\\\" class=\\\"btn add_btn pull-right\\\" style=\\\"margin-bottom: 10px;\\\">Add Detail<span class=\\\"fa fa-plus\\\" style=\\\"margin-left: 8px;\\\"></span></button>\\r\\n            \\r\\n            </div>\\r\\n        </div> -->\\r\\n        <div class=\\\"col-md-3 col-sm-12 pull-right\\\">\\r\\n            <div class=\\\"col-md-6 col-sm-6 add_btn_div\\\">\\r\\n                 <button [routerLink]=\\\"['/admin/add']\\\" class=\\\"btn add_btn pull-right\\\" style=\\\"margin-bottom: 10px;margin-right:-130px\\\">Add Admin<span class=\\\"fa fa-plus\\\" style=\\\"margin-left: 8px;\\\"></span></button>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n\\r\\n<div class=\\\"wrapper wrapper-content animated fadeInRight\\\">\\r\\n    <div class=\\\"ibox\\\">\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n            <div class=\\\"table-responsive\\\">\\r\\n                <table class=\\\"table table-striped\\\">\\r\\n                    <thead>\\r\\n                        <tr>\\r\\n                            <th>{{title.type | translate}}</th>\\r\\n                            <th>{{title.id | translate}}</th>\\r\\n                            <th>{{title.username | translate}}</th>\\r\\n                            <th>{{title.a_email | translate}}</th>\\r\\n\\r\\n                            <th class=\\\"pull-right\\\" style=\\\"margin-right:35px\\\">{{title.action | translate}}</th>\\r\\n                        </tr>\\r\\n                    </thead>\\r\\n                    <tbody>\\r\\n                        <tr *ngFor=\\\"let i of admin_list; let index=index; let last=last;\\\">\\r\\n                            <td [ngSwitch]=\\\"i.admin_type\\\">\\r\\n                                <div *ngSwitchCase=\\\"1\\\">Admin</div>\\r\\n                                <div *ngSwitchCase=\\\"3\\\">Sub Admin</div>\\r\\n                                <div *ngSwitchCase=\\\"5\\\">{{title.dispatcher | translate}}</div>\\r\\n\\r\\n                            </td>\\r\\n                           \\r\\n                            <td>{{i.unique_id}}</td>\\r\\n                            <td>{{i.username }}</td>\\r\\n                            <td>{{i.email}}</td>\\r\\n\\r\\n                               <td><div class=\\\"dropdown pull-right\\\" [class.dropup]=\\\"last && !index==0\\\" dropdown>\\r\\n                                    <button class=\\\"btn btn-primary\\\" dropdown-open>{{title.action | translate}}<span class=\\\"caret\\\"></span></button>\\r\\n\\r\\n\\r\\n                                    <ul class=\\\"dropdown-menu\\\">\\r\\n                                        <li><a (click)=\\\"editAdmin(i._id)\\\" ><span style=\\\"display:block;\\\" class=\\\"nav-label\\\">{{button.edit | translate}}</span> </a></li>\\r\\n\\r\\n                                        <li><a (click)=\\\"deleteAdmin(i._id,index)\\\" ><span style=\\\"display:block;\\\" class=\\\"nav-label\\\">{{button.delete | translate}}</span> </a></li>\\r\\n\\r\\n                                    </ul>\\r\\n                                </div>\\r\\n                            </td>\\r\\n\\r\\n\\r\\n                        </tr>\\r\\n                    </tbody>\\r\\n                </table>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/admin/admin.component.html\n// module id = 1568\n// module chunks = 0","module.exports = \"\\r\\n\\r\\n\\r\\n<div class=\\\"row full_height\\\">\\r\\n    <div class=\\\"col-md-5 col-xs-12 col-sm-5 full_height login_left_background\\\">\\r\\n        <div class=\\\"col-md-12 col-xs-12 col-sm-12 login_left_top_margin animated fadeInLeft\\\">\\r\\n            <div class=\\\"col-md-12 col-xs-12 col-sm-12\\\">\\r\\n                <img  style=\\\"width: 130px;\\\" src=\\\"{{helper.CONSTANT.IMAGE_BASE_URL}}web_images/logo.png\\\">\\r\\n            </div>\\r\\n\\r\\n            <label class=\\\"col-md-12 col-xs-12 col-sm-12 login_title\\\" style=\\\"margin-top: 20px;\\\">{{title.admin_title1 | translate}}</label>\\r\\n            <label class=\\\"col-md-12 col-xs-12 col-sm-12 login_title\\\">{{title.app_name + \\\" \\\" +title.admin_title2 | translate}}</label>\\r\\n            <div class=\\\"col-md-12 col-xs-12 col-sm-12\\\">\\r\\n                <hr class=\\\"login_hr\\\">\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n    <div class=\\\"col-md-7 col-xs-12 col-sm-7  full_height login_right_background\\\">\\r\\n        <div class=\\\"loginColumns animated fadeInRight\\\" style=\\\"max-width: 435px;\\\">\\r\\n            <div class=\\\"ibox-content login_right_background\\\">\\r\\n\\r\\n                <label class=\\\"login_right_title\\\">{{title.forgot_password | translate}}</label>\\r\\n                    <form #adminforgotpasswordForm=\\\"ngForm\\\" (ngSubmit)=\\\"adminForgotPassword(adminforgotpasswordForm.value)\\\" >\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"login_text_box_label\\\">{{title.email | translate}}</label>\\r\\n                            <input type=\\\"email\\\" id=\\\"email\\\"  class=\\\"form-control login_text_box\\\" [(ngModel)]=\\\"admin_forgot_password.email\\\" #email=\\\"ngModel\\\" name=\\\"email\\\" email required />\\r\\n                            \\r\\n\\r\\n                        </div>\\r\\n                        \\r\\n                        <div class=\\\"col-md-12 col-xs-12 col-sm-12 lable_center\\\" style=\\\"margin-top: 20px;\\\">\\r\\n                            <button type=\\\"submit\\\"  class=\\\"btn btn-danger m-b login_submit_button\\\">{{button.submit | translate}}</button>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-12 col-xs-12 col-sm-12 lable_center\\\">\\r\\n\\r\\n                            <a [routerLink]=\\\"['/admin/login']\\\" style=\\\"color:#959597;\\\">{{button.login | translate}}</a>\\r\\n                        </div>\\r\\n                        \\r\\n                    </form>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/admin_forgot_password/admin_forgot_password.component.html\n// module id = 1569\n// module chunks = 0","module.exports = \"\\r\\n\\r\\n\\r\\n    <div class=\\\"row full_height\\\">\\r\\n        <div class=\\\"col-md-5 col-xs-12 col-sm-5 full_height login_left_background\\\">\\r\\n            <div class=\\\"col-md-12 col-xs-12 col-sm-12 login_left_top_margin animated fadeInLeft\\\">\\r\\n                <div class=\\\"col-md-12 col-xs-12 col-sm-12\\\">\\r\\n                    <img  style=\\\"width: 130px;\\\" src=\\\"{{helper.CONSTANT.IMAGE_BASE_URL}}web_images/logo.png\\\">\\r\\n                </div>\\r\\n               \\r\\n                <label class=\\\"col-md-12 col-xs-12 col-sm-12 login_title\\\" style=\\\"margin-top: 20px;\\\">{{title.admin_title1 | translate}}</label>\\r\\n                <label class=\\\"col-md-12 col-xs-12 col-sm-12 login_title\\\">{{title.app_name + \\\" \\\" +title.admin_title2 | translate}}</label>\\r\\n                <div class=\\\"col-md-12 col-xs-12 col-sm-12\\\">\\r\\n                    <hr class=\\\"login_hr\\\">\\r\\n                </div>\\r\\n\\r\\n                </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-7 col-xs-12 col-sm-7 full_height login_right_background\\\">\\r\\n            <div class=\\\"loginColumns animated fadeInRight\\\" style=\\\"max-width: 435px;\\\">\\r\\n                <div class=\\\"ibox-content login_right_background\\\">\\r\\n\\r\\n                    <label class='login_right_title'>{{title.signin_to_your_account | translate}}</label>\\r\\n                    <form  #adminForm=\\\"ngForm\\\" (ngSubmit)=\\\"check_verify(adminForm.value)\\\">\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"login_text_box_label\\\">{{title.admin_user | translate}}</label>\\r\\n                            <input type=\\\"text\\\" class=\\\"form-control login_text_box\\\" [(ngModel)]=\\\"username\\\" name=\\\"username\\\"  required />\\r\\n\\r\\n                        </div>\\r\\n                        <div class=\\\"form-group\\\" style=\\\"margin-bottom: 30px;\\\">\\r\\n                            <label class=\\\"login_text_box_label\\\">{{title.admin_password | translate}}</label>\\r\\n                            <input type=\\\"password\\\" class=\\\"form-control login_text_box\\\" [(ngModel)]=\\\"password\\\" name=\\\"password\\\" required />\\r\\n\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-12 col-xs-12 col-sm-12 lable_center\\\" style=\\\"margin-top: 20px;\\\">\\r\\n                            <button type=\\\"submit\\\" class=\\\"btn btn-danger m-b login_submit_button\\\" >{{button.admin_login | translate}}</button>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-12 col-xs-12 col-sm-12 lable_center\\\">\\r\\n\\r\\n                            <a [routerLink]=\\\"['/admin/forgot_password']\\\" style=\\\"color:#959597;\\\">{{title.forgot_password | translate}}</a>\\r\\n                        </div>\\r\\n                        \\r\\n                    </form>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-sm\\\" #myModal id=\\\"otp_model\\\">\\r\\n    <form #modalForm=\\\"ngForm\\\" (ngSubmit)=\\\"modalForm.valid && verify_auth_token()\\\">\\r\\n        <modal-header [show-close]=\\\"false\\\">\\r\\n            <h4 class=\\\"modal-title\\\">2 Factor Verfication</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div class=\\\"form-group\\\">\\r\\n                <label>Verfication Code</label>\\r\\n                <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"user_token\\\" name=\\\"user_token\\\" required>\\r\\n            </div>\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{button.submit | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/admin_login/admin_login.template.html\n// module id = 1570\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>   \\r\\n\\r\\n\\r\\n    <div class=\\\"row full_height\\\">\\r\\n        <div class=\\\"col-md-5 col-xs-12 col-sm-5 full_height login_left_background\\\">\\r\\n            <div class=\\\"col-md-12 col-xs-12 col-sm-12 login_left_top_margin animated fadeInLeft\\\">\\r\\n                <div class=\\\"col-md-12 col-xs-12 col-sm-12\\\">\\r\\n                    <img  style=\\\"width: 130px;\\\" src=\\\"web_images/logo.png\\\">\\r\\n                </div>\\r\\n               \\r\\n                <label class=\\\"col-md-12 col-xs-12 col-sm-12 login_title\\\" style=\\\"margin-top: 20px;\\\">{{title.admin_title1 | translate}}</label>\\r\\n                <label class=\\\"col-md-12 col-xs-12 col-sm-12 login_title\\\">{{title.app_name + \\\" \\\" +title.admin_title2 | translate}}</label>\\r\\n                <div class=\\\"col-md-12 col-xs-12 col-sm-12\\\">\\r\\n                    <hr class=\\\"login_hr\\\">\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-7 col-xs-12 col-sm-7  full_height login_right_background\\\">\\r\\n            <div class=\\\"loginColumns animated fadeInRight\\\" style=\\\"max-width: 435px;\\\">\\r\\n                <div class=\\\"ibox-content login_right_background\\\">\\r\\n\\r\\n                    <label class=\\\"login_right_title\\\">{{title.new_passwrod | translate}}</label>\\r\\n                    <form #adminnewpasswordForm=\\\"ngForm\\\" (ngSubmit)=\\\"adminNewPassword(adminnewpasswordForm.value)\\\" >\\r\\n                        \\r\\n\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"login_text_box_label\\\">{{title.password | translate}}</label>\\r\\n                            <input type=\\\"password\\\" class=\\\"form-control login_text_box\\\" [(ngModel)]=\\\"admin_new_password.password\\\" #password=\\\"ngModel\\\" minlength=\\\"6\\\" name=\\\"password\\\" required />\\r\\n                            <div *ngIf=\\\"password.errors && (password.dirty || password.touched)\\\">\\r\\n                                <div style=\\\"color: red;\\\" [hidden]=\\\"!password.errors.required\\\">{{validation_message.password_required | translate}}\\r\\n                                </div>\\r\\n                                <div style=\\\"color: red;\\\" [hidden]=\\\"!password.errors.minlength\\\">{{validation_message.password_minlength | translate}}\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"login_text_box_label\\\">{{title.confirm_password | translate}}</label>\\r\\n                            <input type=\\\"password\\\" class=\\\"form-control login_text_box\\\" [(ngModel)]=\\\"admin_new_password.confirm_password\\\" [equalTo]=\\\"password\\\" #confirm_password=\\\"ngModel\\\" name=\\\"confirm_password\\\" />\\r\\n                            <div *ngIf=\\\"confirm_password.errors && (confirm_password.dirty || confirm_password.touched)\\\">\\r\\n                                <div style=\\\"color: red;\\\" [hidden]=\\\"!confirm_password.errors?.equalTo\\\">{{validation_message.match_confirm_password | translate}}\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                        </div>\\r\\n                        \\r\\n                        <div class=\\\"col-md-12 col-xs-12 col-sm-12 lable_center\\\" style=\\\"margin-top: 20px;\\\">\\r\\n                            <button type=\\\"submit\\\" [disabled]=\\\"!adminnewpasswordForm.form.valid\\\" class=\\\"btn btn-danger m-b login_submit_button\\\">{{button.submit | translate}}</button>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-12 col-xs-12 col-sm-12 lable_center\\\">\\r\\n\\r\\n                            <a [routerLink]=\\\"['/admin/login']\\\" style=\\\"color:#959597;\\\">{{button.login | translate}}</a>\\r\\n                        </div>\\r\\n                        \\r\\n                    </form>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/admin_new_password/admin_new_password.component.html\n// module id = 1571\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n\\r\\n<div class=\\\"wrapper wrapper-content animated fadeInRight content_top_bar\\\">\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n\\r\\n        <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\" style=\\\"font-weight: bold;\\\">\\r\\n                    <h4 class=\\\"pull-right\\\">{{currency_sign}}{{order_total}}</h4>\\r\\n                    <span style=\\\"position: absolute; left:48%;\\\">(<strong>{{total_item}}</strong>) {{title.items | translate}}</span>\\r\\n                    <h5>{{heading_title.order_detail | translate}}</h5>\\r\\n                </div>\\r\\n                <div class=\\\"ibox-content\\\" *ngFor=\\\"let products of order_detail; let product_index=index; \\\">\\r\\n\\r\\n\\r\\n                    <div class=\\\"row\\\" style=\\\"border-bottom: 1px solid;\\\" *ngFor=\\\"let item of products.items; let odd=odd; let item_index=index; \\\">\\r\\n\\r\\n                        <div class=\\\"col-md-12 col-sm-12\\\" style=\\\"padding: 0;\\\">\\r\\n                            <div class=\\\"table-responsive\\\">\\r\\n                                <table class=\\\"table shoping-cart-table\\\">\\r\\n\\r\\n                                <thead style=\\\"border-bottom: 1px solid;\\\">\\r\\n                                    <tr>\\r\\n                                        <th style=\\\"width: 55%;padding-top: 12px;\\\">{{title.item | translate}}{{item_index+1}}</th>\\r\\n                                        <th style=\\\"text-align: center;padding-top: 12px;\\\">{{title.spec | translate}} {{title.price | translate}}</th>\\r\\n                                        <th style=\\\"text-align: center;padding-top: 12px;\\\">{{title.price | translate}}</th>\\r\\n                                        <th style=\\\"text-align: center;padding-top: 12px;\\\">{{title.qty | translate}}</th>\\r\\n                                        <th style=\\\"text-align: center;padding-top: 12px;\\\">{{title.total | translate}}</th>\\r\\n                                    </tr>\\r\\n                                </thead>\\r\\n\\r\\n\\r\\n                                <tbody>\\r\\n                                    <tr>\\r\\n                                        <td style=\\\"padding-top: 20px;width: 55%;\\\">\\r\\n                                            <div style=\\\"display: -webkit-box;\\\">\\r\\n                                                <img class=\\\"\\\" style=\\\"height: 80px;width: 80px;border-radius: 10px;\\\"  src=\\\"{{helper.CONSTANT.IMAGE_BASE_URL + item.image_url[0]}}\\\">\\r\\n                                                <div style=\\\"    margin-left: 10px;\\\">\\r\\n                                                    <h3>{{item.item_name}}</h3>\\r\\n                                                    <p class=\\\"small\\\" style=\\\"height: 30px; overflow-y: hidden;\\\">\\r\\n                                                        {{item.details}}\\r\\n                                                    </p>\\r\\n                                                </div>\\r\\n                                            </div>\\r\\n                                        </td>\\r\\n                                        <td style=\\\"padding-top: 20px;text-align: center;\\\">{{currency_sign}}{{item.total_specification_price}}</td>\\r\\n                                        <td style=\\\"padding-top: 20px;text-align: center;\\\">{{currency_sign}}{{item.item_price}}</td>\\r\\n                                        <td style=\\\"padding-top: 20px;text-align: center;\\\">{{item.quantity}}</td>\\r\\n                                        <td style=\\\"padding-top: 20px;text-align: center;\\\">{{currency_sign}}{{(item.item_price + item.total_specification_price)*item.quantity}}</td>\\r\\n                                        <!--<td>-->\\r\\n                                            <!--<h4>{{currency_sign}}{{(item.item_price + item.total_specification_price)*item.quantity}}</h4>-->\\r\\n                                        <!--</td>-->\\r\\n                                    </tr>\\r\\n                                </tbody>\\r\\n                            </table>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-6 col-sm-12 col-xs-12\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\" style=\\\"padding: 0px;\\\">\\r\\n                                    <div class=\\\"col-md-4 col-sm-8 col-xs-8\\\"><h4 style=\\\"font-weight: bold;\\\">{{title.specifications | translate}}</h4></div>\\r\\n                                    <!--<div class=\\\"col-md-2 col-sm-4 col-xs-4\\\"><h4>{{item.total_specification_price}}{{currency_sign}}</h4></div>-->\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div *ngFor=\\\"let specification_group of item.specifications; let odd=odd;\\\" [class.row]=\\\"odd\\\" style=\\\"margin: 0;\\\">\\r\\n                                <div class=\\\"row\\\">\\r\\n                                    <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\" style=\\\"padding: 0px;\\\">\\r\\n                                        <div class=\\\"col-md-12\\\" style=\\\"padding: 0;border-bottom: 1px solid #dcdcdc;\\\">\\r\\n                                            <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5>{{specification_group.name}}</h5></div>\\r\\n                                            <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;\\\">{{currency_sign}}{{specification_group.price}}</h5></div>\\r\\n                                        </div>\\r\\n\\r\\n                                        <div class=\\\"col-md-12\\\" *ngFor=\\\"let specification of specification_group.list\\\">\\r\\n                                            <div style=\\\"padding: 0;\\\" class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h6 style=\\\"font-size: 13px;\\\">{{specification.name}}</h6></div>\\r\\n                                            <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\" style=\\\"padding: 0;\\\"><h6 style=\\\"font-size: 13px;float: right;\\\">{{currency_sign}}{{specification.price}}</h6></div>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-6 col-sm-12 col-xs-12\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\">\\r\\n                                    <h4 style=\\\"font-weight: bold;\\\">{{title.item_note_here | translate}}</h4>\\r\\n                                    <p class=\\\"small\\\">\\r\\n                                        {{item.note_for_item }}\\r\\n                                    </p>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n\\r\\n    </div>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/admin_view_cart/admin_view_cart.component.html\n// module id = 1572\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n<div class=\\\"row wrapper content_top_bar border-bottom white-bg page-heading\\\">\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-2 col-sm-12\\\">\\r\\n            <div class=\\\"col-md-12 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" [(ngModel)]=\\\"selected_country\\\" name=\\\"selected_country\\\" id=\\\"selected_country\\\" data-placeholder=\\\"Select Country\\\"  tabindex=\\\"4\\\" >\\r\\n\\r\\n                        <option *ngFor=\\\"let country_data of country_list\\\" value=\\\"{{country_data._id}}\\\">{{country_data.country_name}}</option>\\r\\n\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-md-2 col-sm-12\\\">\\r\\n            <div class=\\\"col-md-12 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" [(ngModel)]=\\\"select_city\\\" name=\\\"select_city\\\" id=\\\"select_city\\\" data-placeholder=\\\"Select City\\\"  tabindex=\\\"4\\\">\\r\\n                        <option>{{title.all | translate}}</option>\\r\\n                        <option *ngFor=\\\"let i of city_list\\\" value=\\\"{{i._id}}\\\">{{i.city_name}}</option>\\r\\n\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-md-2 col-sm-12\\\">\\r\\n            <div class=\\\"col-md-12 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"ads_type\\\" [(ngModel)]=\\\"ads_type\\\"  name=\\\"ads_type\\\" data-placeholder=\\\"Ads Type\\\"  tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"1\\\">{{title.banner}}</option>\\r\\n                        <option value=\\\"2\\\">{{title.fullscreen}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-md-2 col-sm-12\\\">\\r\\n            <!--            <div class=\\\"col-md-12 remove_padding\\\">\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"control-label\\\">{{title.is_visible}} </label>\\r\\n                                <ui-switch [(ngModel)]=\\\"is_ads_visible\\\" name=\\\"is_ads_visible\\\" id=\\\"is_ads_visible\\\"></ui-switch>\\r\\n                            </div>\\r\\n                        </div>-->\\r\\n        </div>\\r\\n        <div class=\\\"col-md-2 col-sm-12\\\">\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-md-2 col-sm-12 pull-right\\\">\\r\\n            <div class=\\\"col-md-6 col-sm-6 add_btn_div\\\">\\r\\n                <a [routerLink]=\\\"['/admin/add_advertise']\\\" class=\\\"pull-right\\\"> <button class=\\\"btn add_btn pull-right\\\">Add Ads<span class=\\\"fa fa-plus pull-right\\\" style=\\\"margin-top: 2px;\\\"></span></button></a>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n\\r\\n<div class=\\\"wrapper  wrapper-content animated fadeInRight\\\">\\r\\n    <div class=\\\"row\\\" *ngFor=\\\"let country_data of filtered_country_list;let main_index=index;\\\">\\r\\n         <div class=\\\"col-md-12 \\\" [hidden]=\\\"country_data.advertises_detail.length == 0 || (selected_country!== (title.all | translate) && selected_country!==country_data._id) \\\" style=\\\"margin-bottom: 10px; padding: 0px;\\\">\\r\\n         <label class=\\\"control-label label label-danger\\\" style=\\\"font-size: 20px;\\\">{{country_data.country_name}}</label>  \\r\\n        </div>\\r\\n\\r\\n\\r\\n        <div *ngFor=\\\"let i of country_data.advertises_detail; let advertise_index=index;\\\" [hidden]=\\\"selected_country !== (title.all | translate) && selected_country!==country_data._id \\\">\\r\\n\\r\\n            <div class=\\\"col-lg-2 col-md-3 col-sm-6 col-xs-12 user_profile\\\">\\r\\n                <div class=\\\"ibox float-e-margins\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <span (click)=\\\"delete_advertise(i._id,main_index,advertise_index)\\\"  class=\\\"fa fa-trash-o pull-right\\\" style=\\\"font-size:15px;color:#060606\\\"></span>\\r\\n                        <span  class=\\\"fa fa-pencil pull-right\\\" (click)=\\\"editAdvertise(i._id)\\\" style=\\\"font-size:15px;color:#060606\\\"></span>\\r\\n                        <label class=\\\"control-label\\\">{{title.is_visible}} </label>\\r\\n                        <ui-switch (change)=\\\"onChange(i._id, $event)\\\"  [(ngModel)]=\\\"i.is_ads_visible\\\" name=\\\"is_ads_visible\\\"></ui-switch>\\r\\n\\r\\n                    </div>\\r\\n                    <div>\\r\\n\\r\\n                        <div class=\\\"ibox-content ads_img_bg no-padding border-left-right\\\">\\r\\n<!--                            <span class=\\\"btn-file\\\" *ngIf=\\\"i.ads_type==1\\\"><img class=\\\"img-responsive\\\"  src=\\\"{{i.image_for_banner != '' ? i.image_for_banner : 'plus_box.png'}}\\\" alt=\\\"\\\"></span>-->\\r\\n                            <span class=\\\"btn-file\\\"><img class=\\\"img-responsive\\\"  src=\\\"{{i.image_url != '' ? helper.CONSTANT.IMAGE_BASE_URL + i.image_url : 'plus_box.png'}}\\\" alt=\\\"\\\"></span>\\r\\n\\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"ibox-content profile-content\\\">\\r\\n                            <div>\\r\\n                                <label class=\\\"control-label\\\">{{title.ads_view_type | translate}}</label>\\r\\n                                <div>\\r\\n                                    <span *ngIf=\\\"i.ads_type==1\\\">{{title.banner | translate}}</span>\\r\\n                                    <span *ngIf=\\\"i.ads_type==2\\\">{{title.fullscreen | translate}}</span>\\r\\n                                </div>\\r\\n                            </div>  \\r\\n                            <div *ngIf=\\\"i.is_ads_have_expiry_date==true\\\">\\r\\n                                <label class=\\\"control-label\\\">{{title.expired_date | translate}}:</label>\\r\\n                                <div>\\r\\n                                    <span>{{i.expiry_date | date: DATE_FORMAT.DD_MMM_YYYY}}</span>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div *ngIf=\\\"i.is_ads_have_expiry_date==false\\\">\\r\\n                                <label class=\\\"control-label\\\">{{title.expired_date | translate}}:</label>\\r\\n                                <div>\\r\\n                                    <span>{{title.no_expire_date | translate}}</span>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div>\\r\\n                                <label class=\\\"control-label\\\"></label>\\r\\n                                <div *ngIf=\\\"i.is_ads_approve_by_admin==true\\\">\\r\\n                                    <span><label class=\\\"control-label text-navy\\\">{{title.ads_approved | translate}}</label></span>\\r\\n\\r\\n                                </div>\\r\\n                                <div *ngIf=\\\"i.is_ads_approve_by_admin==false\\\">\\r\\n                                    <span><label class=\\\"control-label text-danger\\\">{{title.ads_block | translate}}</label></span>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n\\r\\n                </div>\\r\\n            </div>    \\r\\n\\r\\n\\r\\n\\r\\n           \\r\\n        </div>\\r\\n    </div>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/advertise/advertise.component.html\n// module id = 1573\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n<div class=\\\"wrapper-content animated fadeInRight\\\" style=\\\"padding: 0px; padding-top: 60px;\\\">\\r\\n\\r\\n    <div class=\\\"ibox \\\" style=\\\"margin-top: 10px;    position: fixed;z-index: 10;left: 0;right: 0;\\\">\\r\\n        <div class=\\\"ibox-content\\\" >\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-md-9\\\">\\r\\n                    <div class=\\\"col-md-3 col-sm-4\\\">\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <input type=\\\"text\\\" class=\\\"form-control\\\" style=\\\"border-color: #222222;height: 30px;border-radius: 5px;\\\" placeholder=\\\"Enter Address\\\" id=\\\"search\\\">\\r\\n                        </div>\\r\\n                    </div>\\r\\n<!--                    <div class=\\\"col-md-3 col-sm-4\\\">\\r\\n                        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                            <select chosen class=\\\"chosen-select\\\" id=\\\"selected_country\\\" [(ngModel)]=\\\"selected_country\\\" name=\\\"selected_country\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                                <option value=\\\"All\\\">{{title.all | translate}}</option>\\r\\n                                <option *ngFor=\\\"let i of country_list\\\" value=\\\"{{i._id}}\\\">{{i.country_name}}</option>\\r\\n                            </select>\\r\\n                        </div>\\r\\n                    </div>-->\\r\\n                    \\r\\n                </div>\\r\\n                \\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n    <div style=\\\"margin-left: -16px;margin-right: -16px;\\\">\\r\\n        <div id=\\\"map\\\" style=\\\"width: 100%; height: 100vh;\\\"></div>\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/all-city/all-city.component.html\n// module id = 1574\n// module chunks = 0","module.exports = \"<style type=\\\"text/css\\\">\\r\\n    .scrollbar_for_history\\r\\n    {\\r\\n        height: 100%;\\r\\n        background: #fff;\\r\\n        overflow-y: auto;\\r\\n    }\\r\\n\\r\\n    .scrollbar::-webkit-scrollbar-track\\r\\n    {\\r\\n        -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);\\r\\n        background-color: #fff;\\r\\n    }\\r\\n\\r\\n    .scrollbar::-webkit-scrollbar\\r\\n    {\\r\\n        width: 3px;\\r\\n        background-color: #222222;\\r\\n    }\\r\\n\\r\\n    .scrollbar::-webkit-scrollbar-thumb\\r\\n    {\\r\\n        background-color: #000000;\\r\\n    }\\r\\n\\r\\n</style>\\r\\n<footer [myLoading]=\\\"myLoading\\\" ></footer> \\r\\n\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.search | translate}}</label>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"search_field\\\" [(ngModel)]=\\\"search_field\\\" name=\\\"search_field\\\" tabindex=\\\"4\\\">\\r\\n                        <option value=\\\"store_name\\\">{{title.store | translate}}</option>\\r\\n                        <option value=\\\"store_unique_id\\\">{{title.store_id | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n\\r\\n                        <input type=\\\"text\\\" class=\\\"form-control search_box\\\" [(ngModel)]=\\\"search_value\\\"  name=\\\"search_value\\\">\\r\\n                        <span class=\\\"input-group-addon search_icon\\\"><span class=\\\"fa fa-search\\\"></span></span>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.sort | translate}}</label>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"sort_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"sort_field\\\" [(ngModel)]=\\\"sort_field\\\" name=\\\"sort_field\\\" tabindex=\\\"4\\\">\\r\\n                        <option value=\\\"store_name\\\">{{title.store | translate}}</option>\\r\\n                        <option value=\\\"total_order\\\">{{title.no_of_order | translate}}</option>\\r\\n                        <option value=\\\"total_visit\\\">{{title.no_of_visit | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"sort_orders\\\">\\r\\n\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"sort_order\\\" [(ngModel)]=\\\"sort_order\\\" name=\\\"sort_order\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"1\\\">{{title.ascending | translate}}</option>\\r\\n                        <option value=\\\"-1\\\">{{title.descending | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        \\r\\n\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <!-- <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"export_pdf()\\\" class=\\\"btn export_excel_btn pull-right\\\" value=\\\"{{button.export_excel | translate}}\\\" >\\r\\n            </div> -->\\r\\n            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"get_analytics_detail()\\\" class=\\\"btn filter_apply_btn pull-right\\\" value=\\\"{{button.apply | translate}}\\\" >\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"export_excel()\\\" class=\\\"btn export_excel_btn pull-right\\\" value=\\\"{{button.export_excel | translate}}\\\" >\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-2 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.date_filter | translate}}</label>\\r\\n            </div>\\r\\n            <div class=\\\"form-group\\\" id=\\\"sort_fields\\\">\\r\\n                <select chosen class=\\\"chosen-select\\\" id=\\\"date_filter\\\" [(ngModel)]=\\\"date_filter\\\" name=\\\"date_filter\\\" tabindex=\\\"4\\\">\\r\\n                    <option value=\\\"today\\\">{{title.today | translate}}</option>\\r\\n                    <option value=\\\"yesterday\\\">{{title.yesterday | translate}}</option>\\r\\n                    <option value=\\\"current_month\\\">{{title.current_month | translate}}</option>\\r\\n                    <option value=\\\"last_month\\\">{{title.last_month | translate}}</option>\\r\\n                    <option value=\\\"custom\\\">{{title.custom | translate}}</option>\\r\\n                </select>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\" *ngIf=\\\"date_filter=='custom'\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.date_filter | translate}}</label>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-12 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n\\r\\n                        <my-date-picker id=\\\"start_date\\\" [options]=\\\"helper.myStartDatePickerOptions\\\" placeholder=\\\"Start Date\\\" [(ngModel)]=\\\"start_date\\\" (dateChanged)=\\\"helper.onStartDateChanged($event)\\\"\\r\\n                                        readonly></my-date-picker>\\r\\n                        <span class=\\\"input-group-addon date_filter_icon\\\">To</span>\\r\\n\\r\\n                        <my-date-picker id=\\\"end_date\\\" [options]=\\\"helper.myEndDatePickerOptions\\\" placeholder=\\\"End Date\\\" [(ngModel)]=\\\"end_date\\\" (dateChanged)=\\\"helper.onEndDateChanged($event)\\\"\\r\\n                                        readonly></my-date-picker>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"col-md-6 col-sm-6\\\">\\r\\n                <div class=\\\"lable_center\\\">\\r\\n                    <label>{{title.city | translate}}</label>\\r\\n                </div>\\r\\n                <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"city_id\\\" [(ngModel)]=\\\"city_id\\\" name=\\\"city_id\\\" tabindex=\\\"4\\\">\\r\\n                        <option value=\\\"\\\">{{title.all | translate}}</option>\\r\\n                        <option *ngFor=\\\"let city of city_list\\\" value=\\\"{{city._id}}\\\">{{city.city_name | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n\\r\\n    </div>\\r\\n</div> \\r\\n\\r\\n<div class=\\\"wrapper wrapper-content animated fadeInRight \\\" id=\\\"analytics_data\\\" style=\\\"margin-top: 200px;\\\">\\r\\n\\r\\n        <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-content\\\">\\r\\n\\r\\n                <div class=\\\"row\\\">\\r\\n                    \\r\\n                    <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                        <div class=\\\"ibox\\\">\\r\\n                            <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                                <h2 >{{analytics_total.total_visit}}</h2>\\r\\n                                <label class=\\\"control-label\\\">{{title.total_visit | translate}}</label> \\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                        <div class=\\\"ibox\\\">\\r\\n                            <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                                <h2 >{{analytics_total.total_visit_in_whop}}</h2>\\r\\n                                <label class=\\\"control-label\\\">{{title.total_visit_in_whop | translate}}</label> \\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                        <div class=\\\"ibox\\\">\\r\\n                            <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                                <h2 >{{(analytics_total.total_visit_in_hop_delivery + analytics_total.total_visit_in_hop_ch)}}</h2>\\r\\n                                <label class=\\\"control-label\\\">{{title.total_visit_in_web | translate}}</label> \\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                        <div class=\\\"ibox\\\">\\r\\n                            <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                                <h2 >{{analytics_total.total_visit_in_android}}</h2>\\r\\n                                <label class=\\\"control-label\\\">{{title.total_visit_in_android | translate}}</label> \\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                        <div class=\\\"ibox\\\">\\r\\n                            <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                                <h2 >{{analytics_total.total_visit_in_ios}}</h2>\\r\\n                                <label class=\\\"control-label\\\">{{title.total_visit_in_ios | translate}}</label> \\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"row\\\">\\r\\n                    \\r\\n                    <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                        <div class=\\\"ibox\\\">\\r\\n                            <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                                <h2 >{{analytics_total.total_checkout}}</h2>\\r\\n                                <label class=\\\"control-label\\\">{{title.total_checkout | translate}}</label> \\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                        <div class=\\\"ibox\\\">\\r\\n                            <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                                <h2 >{{analytics_total.total_checkout_in_whop}}</h2>\\r\\n                                <label class=\\\"control-label\\\">{{title.total_checkout_in_whop | translate}}</label> \\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                        <div class=\\\"ibox\\\">\\r\\n                            <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                                <h2 >{{(analytics_total.total_checkout_in_hop_delivery + analytics_total.total_checkout_in_hop_ch)}}</h2>\\r\\n                                <label class=\\\"control-label\\\">{{title.total_checkout_in_web | translate}}</label> \\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                        <div class=\\\"ibox\\\">\\r\\n                            <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                                <h2 >{{analytics_total.total_checkout_in_android}}</h2>\\r\\n                                <label class=\\\"control-label\\\">{{title.total_checkout_in_android | translate}}</label> \\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                        <div class=\\\"ibox\\\">\\r\\n                            <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                                <h2 >{{analytics_total.total_checkout_in_ios}}</h2>\\r\\n                                <label class=\\\"control-label\\\">{{title.total_checkout_in_ios | translate}}</label> \\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                        <div class=\\\"ibox\\\">\\r\\n                            <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                                <h2 >{{analytics_total.total_checkout_in_hopper}}</h2>\\r\\n                                <label class=\\\"control-label\\\">{{title.total_checkout_in_hopper | translate}}</label> \\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"row\\\">\\r\\n                    <!-- <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                        <div class=\\\"ibox\\\">\\r\\n                            <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                                <h2 >{{analytics_total.total_not_order}}</h2>\\r\\n                                <label class=\\\"control-label\\\">{{title.total_not_order | translate}}</label> \\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div> -->\\r\\n                    <div class=\\\"col-lg-6 col-sm-6 set_padding\\\">\\r\\n                        <div class=\\\"col-lg-4 col-sm-6 set_padding\\\">\\r\\n                            <div class=\\\"ibox\\\">\\r\\n                                <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                                    <h2 >{{analytics_total.total_order}}</h2>\\r\\n                                    <label class=\\\"control-label\\\">{{title.total_order_analytics | translate}}</label> \\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"col-lg-4 col-sm-6 set_padding\\\">\\r\\n                            <div class=\\\"ibox\\\">\\r\\n                                <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                                    <h2 >{{analytics_total.total_order_in_whop}}</h2>\\r\\n                                    <label class=\\\"control-label\\\">{{title.total_order_in_whop | translate}}</label> \\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-4 col-sm-6 set_padding\\\">\\r\\n                            <div class=\\\"ibox\\\">\\r\\n                                <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                                    <h2 >{{(analytics_total.total_order_in_hop_delivery + analytics_total.total_order_in_hop_ch)}}</h2>\\r\\n                                    <label class=\\\"control-label\\\">{{title.total_order_in_web | translate}}</label> \\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        \\r\\n                    </div>\\r\\n                    <div class=\\\"col-lg-6 col-sm-6 set_padding\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-lg-4 col-sm-6 set_padding\\\">\\r\\n                            <div class=\\\"ibox\\\">\\r\\n                                <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                                    <h2 >{{analytics_total.total_order_in_android}}</h2>\\r\\n                                    <label class=\\\"control-label\\\">{{title.total_order_in_android | translate}}</label> \\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-4 col-sm-6 set_padding\\\">\\r\\n                            <div class=\\\"ibox\\\">\\r\\n                                <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                                    <h2 >{{analytics_total.total_order_in_ios}}</h2>\\r\\n                                    <label class=\\\"control-label\\\">{{title.total_order_in_ios | translate}}</label> \\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-4 col-sm-6 set_padding\\\">\\r\\n                            <div class=\\\"ibox\\\">\\r\\n                                <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                                    <h2 >{{analytics_total.total_order_in_odh}}</h2>\\r\\n                                    <label class=\\\"control-label\\\">{{title.total_order_in_odh | translate}}</label> \\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t<div class=\\\"col-lg-6 col-sm-6 set_padding\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"col-lg-4 col-sm-6 set_padding\\\">\\r\\n                            <div class=\\\"ibox\\\">\\r\\n                                <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                                    <h2 >{{analytics_total.total_order_in_hopper}}</h2>\\r\\n                                    <label class=\\\"control-label\\\">{{title.total_order_in_hopper | translate}}</label> \\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-4 col-sm-6 set_padding\\\">\\r\\n                            <div class=\\\"ibox\\\">\\r\\n                                <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                                    <h2 >{{analytics_total.total_order_in_admin}}</h2>\\r\\n                                    <label class=\\\"control-label\\\">{{title.total_order_in_admin | translate}}</label> \\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-4 col-sm-6 set_padding\\\">\\r\\n                            <div class=\\\"ibox\\\">\\r\\n                                <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                                    <h2 >{{analytics_total.total_order_in_store}}</h2>\\r\\n                                    <label class=\\\"control-label\\\">{{title.total_order_in_store | translate}}</label> \\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        \\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"ibox\\\" *ngIf=\\\"analytics_list.length==0\\\">\\r\\n            <div class=\\\"ibox-content\\\">\\r\\n                <div class=\\\"lable_center\\\" >\\r\\n                    <label>No Records</label>\\r\\n                </div>\\r\\n            </div>  \\r\\n        </div>\\r\\n        <div class=\\\"ibox\\\" *ngIf=\\\"analytics_list.length>0\\\">\\r\\n            <div class=\\\"ibox-content\\\">\\r\\n                <div class=\\\"table-responsive\\\">\\r\\n                    <table class=\\\"table table-striped\\\">\\r\\n                        <thead>\\r\\n                            <tr>\\r\\n                                <th style=\\\"border-right: 1px solid #DDDDDD;\\\"></th>\\r\\n                                <th colspan=\\\"6\\\" class=\\\"text-center\\\" style=\\\"border-right: 1px solid #DDDDDD;\\\">Visit</th>\\r\\n                                <th colspan=\\\"8\\\" class=\\\"text-center\\\">Order</th>\\r\\n                            </tr>\\r\\n                            <tr>\\r\\n                                <th style=\\\"border-right: 1px solid #DDDDDD;\\\">{{title.store | translate}}</th>\\r\\n                                <th class=\\\"text-center\\\">hop.delivery</th>\\r\\n                                <th class=\\\"text-center\\\">hop.ch</th>\\r\\n                                <th class=\\\"text-center\\\">whop</th>\\r\\n                                <th class=\\\"text-center\\\">ios</th>\\r\\n                                <th class=\\\"text-center\\\">Android</th>\\r\\n                                <th style=\\\"border-right: 1px solid #DDDDDD;\\\" class=\\\"text-center\\\">Total</th>\\r\\n                                <th class=\\\"text-center\\\">hop.delivery</th>\\r\\n                                <th class=\\\"text-center\\\">hop.ch</th>\\r\\n                                <th class=\\\"text-center\\\">whop</th>\\r\\n                                <th class=\\\"text-center\\\">ios</th>\\r\\n                                <th class=\\\"text-center\\\">Android</th>\\r\\n                                <th class=\\\"text-center\\\">Admin</th>\\r\\n                                <th class=\\\"text-center\\\">Store</th>\\r\\n                                <th class=\\\"text-center\\\">ODH</th>\\r\\n                                <th class=\\\"text-center\\\">Total</th>\\r\\n                            </tr>\\r\\n                        </thead>\\r\\n                        <tbody>\\r\\n                            <ng-container *ngFor=\\\"let analytics of analytics_list; let index=index;\\\">\\r\\n                                <tr *ngIf=\\\"analytics.store_name\\\">\\r\\n                                    <td style=\\\"border-right: 1px solid #DDDDDD;\\\">{{(index+1)}} : {{analytics.store_name}}</td>\\r\\n                                    <td class=\\\"text-center\\\">{{analytics.total_visit_in_hop_delivery}}</td>\\r\\n                                    <td class=\\\"text-center\\\">{{analytics.total_visit_in_hop_ch}}</td>\\r\\n                                    <td class=\\\"text-center\\\">{{analytics.total_visit_in_whop}}</td>\\r\\n                                    <td class=\\\"text-center\\\">{{analytics.total_visit_in_ios}}</td>\\r\\n                                    <td class=\\\"text-center\\\">{{analytics.total_visit_in_android}}</td>\\r\\n                                    <td style=\\\"border-right: 1px solid #DDDDDD;\\\" class=\\\"text-center\\\">{{analytics.total_visit}}</td>\\r\\n                                    <td class=\\\"text-center\\\">{{analytics.total_order_in_hop_delivery}}</td>\\r\\n                                    <td class=\\\"text-center\\\">{{analytics.total_order_in_hop_ch}}</td>\\r\\n                                    <td class=\\\"text-center\\\">{{analytics.total_order_in_whop}}</td>\\r\\n                                    <td class=\\\"text-center\\\">{{analytics.total_order_in_ios}}</td>\\r\\n                                    <td class=\\\"text-center\\\">{{analytics.total_order_in_android}}</td>\\r\\n                                    <td class=\\\"text-center\\\">{{analytics.total_order_in_admin}}</td>\\r\\n                                    <td class=\\\"text-center\\\">{{analytics.total_order_in_store}}</td>\\r\\n                                    <td class=\\\"text-center\\\">{{analytics.total_order_in_odh}}</td>\\r\\n                                    <td class=\\\"text-center\\\">{{analytics.total_order}}</td>\\r\\n                                </tr>\\r\\n                            </ng-container>\\r\\n                        </tbody>\\r\\n                    </table>\\r\\n                </div>\\r\\n\\r\\n\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n</div>\\r\\n\\r\\n<div id=\\\"elementH\\\"></div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/analytics/analytics.component.html\n// module id = 1575\n// module chunks = 0","module.exports = \"<form #appsettingForm=\\\"ngForm\\\" (ngSubmit)=\\\"AppSetting(appsettingForm.value)\\\" >\\r\\n    <div class=\\\"panel-body\\\">\\r\\n\\r\\n        <fieldset class=\\\"form-horizontal\\\">\\r\\n\\r\\n\\r\\n            <div class=\\\"form-group\\\"><label class=\\\"col-sm-4 control-label\\\">{{title.admin_provider_timeout | translate}}:</label>\\r\\n                <div class=\\\"col-sm-8\\\"><input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"app_setting.provider_timeout\\\" #provider_timeout=\\\"ngModel\\\"  name=\\\"provider_timeout\\\" placeholder=\\\"Provider TimeOut\\\"></div>\\r\\n            </div>\\r\\n            <!--            <div class=\\\"form-group\\\"><label class=\\\"col-sm-4 control-label\\\">{{title.admin_store_timeout | translate}}:</label>\\r\\n                            <div class=\\\"col-sm-8\\\"><input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"app_setting.store_timeout\\\" #store_timeout=\\\"ngModel\\\"  name=\\\"store_timeout\\\"  placeholder=\\\"Store TimeOut\\\"></div>\\r\\n                        </div>-->\\r\\n            <div class=\\\"form-group\\\"><label class=\\\"col-sm-4 control-label\\\">{{title.admin_app_name | translate}}:</label>\\r\\n                <div class=\\\"col-sm-8\\\"><input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"app_setting.app_name\\\" #app_name=\\\"ngModel\\\"  name=\\\"app_name\\\"  placeholder=\\\"App Name\\\"></div>\\r\\n            </div>\\r\\n            <div class=\\\"form-group\\\"><label class=\\\"col-sm-4 control-label\\\">{{title.admin_default_search_radius | translate}}:</label>\\r\\n                <div class=\\\"col-sm-8\\\"><input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"app_setting.default_search_radius\\\" #default_search_radius=\\\"ngModel\\\"  name=\\\"default_search_radius\\\"  placeholder=\\\"Default Search Radius\\\"></div>\\r\\n            </div>\\r\\n            <!--            <div class=\\\"form-group\\\"><label class=\\\"col-sm-4 control-label\\\">{{title.admin_scheduled_request_pre_start_minute | translate}}:</label>\\r\\n                            <div class=\\\"col-sm-8\\\"><input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"app_setting.scheduled_request_pre_start_minute\\\" #scheduled_request_pre_start_minute=\\\"ngModel\\\"  name=\\\"scheduled_request_pre_start_minute\\\"  placeholder=\\\"Scheduled Request Pre Start Minutes\\\"></div>\\r\\n                        </div>-->\\r\\n            <!--            <div class=\\\"form-group\\\"><label class=\\\"col-sm-4 control-label\\\">{{title.admin_number_of_try_for_scheduled_request | translate}}:</label>\\r\\n                            <div class=\\\"col-sm-8\\\"><input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"app_setting.number_of_try_for_scheduled_request\\\" #number_of_try_for_scheduled_request=\\\"ngModel\\\"  name=\\\"number_of_try_for_scheduled_request\\\"  placeholder=\\\"Number Of Loop For Scheduled Request\\\"></div>\\r\\n                        </div>-->\\r\\n\\r\\n\\r\\n\\r\\n            <div class=\\\"col-lg-4\\\">\\r\\n            </div>\\r\\n            <div class=\\\"col-lg-4\\\" style=\\\"text-align: center;\\\">\\r\\n                <input type=\\\"submit\\\" id=\\\"submit\\\" [disabled]=\\\"edit_button==false\\\" name=\\\"submit\\\" style=\\\"width: 50%;\\\" class=\\\"btn btn-primary\\\" value=\\\"{{button.submit | translate}}\\\" >\\r\\n            </div>\\r\\n\\r\\n\\r\\n\\r\\n        </fieldset>\\r\\n\\r\\n\\r\\n\\r\\n    </div>\\r\\n</form>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/app_setting/app_setting.component.html\n// module id = 1576\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer> \\r\\n<form #appversionForm=\\\"ngForm\\\" (ngSubmit)=\\\"UpdateVersionSetting(appversionForm.value)\\\" >\\r\\n    <div class=\\\"wrapper wrapper-content animated fadeInRight\\\">\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"\\\">\\r\\n                <div class=\\\"col-lg-4 col-sm-6\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.android_user_app | translate}}</label>  \\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.open_update_dialog | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                        <ui-switch [(ngModel)]=\\\"update_version_setting.is_android_user_app_open_update_dialog\\\" #is_android_user_app_open_update_dialog=\\\"ngModel\\\" name=\\\"is_android_user_app_open_update_dialog\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.force_update | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                        <ui-switch [(ngModel)]=\\\"update_version_setting.is_android_user_app_force_update\\\" #is_android_user_app_force_update=\\\"ngModel\\\" name=\\\"is_android_user_app_force_update\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-8 col-xs-8 control-label\\\">{{title.version_code | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-4 col-xs-4 form-group \\\" style=\\\"padding-right: 5px;\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" onkeypress='return event.charCode >= 48 && event.charCode <= 57' maxlength=\\\"3\\\" [(ngModel)]=\\\"update_version_setting.android_user_app_version_code\\\" #android_user_app_version_code=\\\"ngModel\\\"  name=\\\"android_user_app_version_code\\\" required/>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-4 col-sm-6\\\" >\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.android_provider_app | translate}}</label>  \\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.open_update_dialog | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                        <ui-switch [(ngModel)]=\\\"update_version_setting.is_android_provider_app_open_update_dialog\\\" #is_android_provider_app_open_update_dialog=\\\"ngModel\\\" name=\\\"is_android_provider_app_open_update_dialog\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.force_update | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                        <ui-switch [(ngModel)]=\\\"update_version_setting.is_android_provider_app_force_update\\\" #is_android_provider_app_force_update=\\\"ngModel\\\" name=\\\"is_android_provider_app_force_update\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-8 col-xs-8 control-label\\\">{{title.version_code | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-4 col-xs-4 form-group \\\" style=\\\"padding-right: 5px;\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" onkeypress='return event.charCode >= 48 && event.charCode <= 57' maxlength=\\\"3\\\" [(ngModel)]=\\\"update_version_setting.android_provider_app_version_code\\\" #android_provider_app_version_code=\\\"ngModel\\\"  name=\\\"android_provider_app_version_code\\\" required/>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-lg-4 col-sm-6\\\" >\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.android_store_app | translate}}</label>  \\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.open_update_dialog | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                        <ui-switch [(ngModel)]=\\\"update_version_setting.is_android_store_app_open_update_dialog\\\" #is_android_store_app_open_update_dialog=\\\"ngModel\\\" name=\\\"is_android_store_app_open_update_dialog\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.force_update | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                        <ui-switch [(ngModel)]=\\\"update_version_setting.is_android_store_app_force_update\\\" #is_android_store_app_force_update=\\\"ngModel\\\" name=\\\"is_android_store_app_force_update\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-8 col-xs-8 control-label\\\">{{title.version_code | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-4 col-xs-4 form-group \\\" style=\\\"padding-right: 5px;\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" onkeypress='return event.charCode >= 48 && event.charCode <= 57' maxlength=\\\"3\\\" [(ngModel)]=\\\"update_version_setting.android_store_app_version_code\\\" #android_store_app_version_code=\\\"ngModel\\\"  name=\\\"android_store_app_version_code\\\" required/>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"row\\\">\\r\\n           \\r\\n                <div class=\\\"col-lg-4 col-sm-6\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.ios_user_app | translate}}</label>  \\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.open_update_dialog | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                        <ui-switch [(ngModel)]=\\\"update_version_setting.is_ios_user_app_open_update_dialog\\\" #is_ios_user_app_open_update_dialog=\\\"ngModel\\\" name=\\\"is_ios_user_app_open_update_dialog\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.force_update | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                        <ui-switch [(ngModel)]=\\\"update_version_setting.is_ios_user_app_force_update\\\" #is_ios_user_app_force_update=\\\"ngModel\\\" name=\\\"is_ios_user_app_force_update\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-8 col-xs-8 control-label\\\">{{title.version_code | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-4 col-xs-4 form-group \\\" style=\\\"padding-right: 5px;\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" (keypress)=\\\"helper.number_validation($event)\\\" [(ngModel)]=\\\"update_version_setting.ios_user_app_version_code\\\" #ios_user_app_version_code=\\\"ngModel\\\"  name=\\\"ios_user_app_version_code\\\" required/>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-4 col-sm-6\\\" >\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.ios_provider_app | translate}}</label>  \\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.open_update_dialog | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                        <ui-switch [(ngModel)]=\\\"update_version_setting.is_ios_provider_app_open_update_dialog\\\" #is_ios_provider_app_open_update_dialog=\\\"ngModel\\\" name=\\\"is_ios_provider_app_open_update_dialog\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.force_update | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                        <ui-switch [(ngModel)]=\\\"update_version_setting.is_ios_provider_app_force_update\\\" #is_ios_provider_app_force_update=\\\"ngModel\\\" name=\\\"is_ios_provider_app_force_update\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-8 col-xs-8 control-label\\\">{{title.version_code | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-4 col-xs-4 form-group \\\" style=\\\"padding-right: 5px;\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" (keypress)=\\\"helper.number_validation($event)\\\" [(ngModel)]=\\\"update_version_setting.ios_provider_app_version_code\\\" #ios_provider_app_version_code=\\\"ngModel\\\"  name=\\\"ios_provider_app_version_code\\\" required/>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                </div>\\r\\n\\r\\n\\r\\n                <div class=\\\"col-lg-4 col-sm-6\\\" >\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.ios_store_app | translate}}</label>  \\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.open_update_dialog | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                        <ui-switch [(ngModel)]=\\\"update_version_setting.is_ios_store_app_open_update_dialog\\\" #is_ios_store_app_open_update_dialog=\\\"ngModel\\\" name=\\\"is_ios_store_app_open_update_dialog\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.force_update | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                        <ui-switch [(ngModel)]=\\\"update_version_setting.is_ios_store_app_force_update\\\" #is_ios_store_app_force_update=\\\"ngModel\\\" name=\\\"is_ios_store_app_force_update\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-8 col-xs-8 control-label\\\">{{title.version_code | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-4 col-xs-4 form-group \\\" style=\\\"padding-right: 5px;\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" (keypress)=\\\"helper.number_validation($event)\\\" [(ngModel)]=\\\"update_version_setting.ios_store_app_version_code\\\" #ios_store_app_version_code=\\\"ngModel\\\"  name=\\\"ios_store_app_version_code\\\" required/>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                </div>\\r\\n            \\r\\n            <div class=\\\"col-lg-4\\\">\\r\\n            </div>\\r\\n            <div class=\\\"col-lg-4\\\" style=\\\"text-align: center;\\\">\\r\\n                <input type=\\\"submit\\\" id=\\\"submit\\\" [disabled]=\\\"edit_button==false\\\" name=\\\"submit\\\" style=\\\"width: 50%;\\\" class=\\\"btn btn-primary\\\" value=\\\"{{button.submit | translate}}\\\" >\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n\\r\\n    </div>\\r\\n</form>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/app_update_setting/app_update_setting.component.html\n// module id = 1577\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\"></footer>\\r\\n<form\\r\\n  #adminsettingForm=\\\"ngForm\\\"\\r\\n  (ngSubmit)=\\\"AdminSetting(adminsettingForm.value)\\\"\\r\\n>\\r\\n  <div class=\\\"panel-body\\\">\\r\\n    <fieldset class=\\\"form-horizontal\\\">\\r\\n      <div class=\\\"form-group\\\">\\r\\n        <label class=\\\"col-sm-3 control-label\\\"\\r\\n          >{{ title.admin_name | translate }}:</label\\r\\n        >\\r\\n        <div class=\\\"col-sm-9\\\">\\r\\n          <input\\r\\n            type=\\\"text\\\"\\r\\n            class=\\\"form-control\\\"\\r\\n            [(ngModel)]=\\\"admin_setting.admin_name\\\"\\r\\n            #admin_name=\\\"ngModel\\\"\\r\\n            name=\\\"admin_name\\\"\\r\\n            placeholder=\\\"Admin name\\\"\\r\\n          />\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"form-group\\\">\\r\\n        <label class=\\\"col-sm-3 control-label\\\"\\r\\n          >{{ title.admin_email | translate }}:</label\\r\\n        >\\r\\n        <div class=\\\"col-sm-9\\\">\\r\\n          <input\\r\\n            type=\\\"text\\\"\\r\\n            class=\\\"form-control\\\"\\r\\n            [(ngModel)]=\\\"admin_setting.admin_email\\\"\\r\\n            #admin_email=\\\"ngModel\\\"\\r\\n            name=\\\"admin_email\\\"\\r\\n            placeholder=\\\"\\\"\\r\\n          />\\r\\n        </div>\\r\\n      </div>\\r\\n\\r\\n      <div class=\\\"form-group\\\">\\r\\n        <label class=\\\"col-sm-3 control-label\\\"\\r\\n          >{{ title.admin_phone_number | translate }}:</label\\r\\n        >\\r\\n        <div class=\\\"col-sm-9\\\">\\r\\n          <input\\r\\n            type=\\\"text\\\"\\r\\n            class=\\\"form-control\\\"\\r\\n            [(ngModel)]=\\\"admin_setting.admin_phone_number\\\"\\r\\n            #admin_phone_number=\\\"ngModel\\\"\\r\\n            name=\\\"admin_phone_number\\\"\\r\\n            placeholder=\\\"\\\"\\r\\n          />\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"form-group\\\">\\r\\n        <label class=\\\"col-sm-3 control-label\\\"\\r\\n          >{{ title.admin_contact_email | translate }}:</label\\r\\n        >\\r\\n        <div class=\\\"col-sm-9\\\">\\r\\n          <input\\r\\n            type=\\\"text\\\"\\r\\n            class=\\\"form-control\\\"\\r\\n            [(ngModel)]=\\\"admin_setting.admin_contact_email\\\"\\r\\n            #admin_contact_email=\\\"ngModel\\\"\\r\\n            name=\\\"admin_contact_email\\\"\\r\\n            placeholder=\\\"\\\"\\r\\n          />\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"form-group\\\">\\r\\n        <label class=\\\"col-sm-3 control-label\\\"\\r\\n          >{{ title.admin_contact_phone_number | translate }}:</label\\r\\n        >\\r\\n        <div class=\\\"col-sm-9\\\">\\r\\n          <input\\r\\n            type=\\\"text\\\"\\r\\n            class=\\\"form-control\\\"\\r\\n            [(ngModel)]=\\\"admin_setting.admin_contact_phone_number\\\"\\r\\n            #admin_contact_phone_number=\\\"ngModel\\\"\\r\\n            name=\\\"admin_contact_phone_number\\\"\\r\\n            placeholder=\\\"\\\"\\r\\n          />\\r\\n        </div>\\r\\n      </div>\\r\\n\\r\\n      <div class=\\\"form-group\\\">\\r\\n        <label class=\\\"col-sm-3 control-label\\\"\\r\\n          >{{ title.admin_provider_timeout | translate }}:</label\\r\\n        >\\r\\n        <div class=\\\"col-sm-9\\\">\\r\\n          <input\\r\\n            type=\\\"text\\\"\\r\\n            class=\\\"form-control\\\"\\r\\n            [(ngModel)]=\\\"admin_setting.provider_timeout\\\"\\r\\n            #provider_timeout=\\\"ngModel\\\"\\r\\n            name=\\\"provider_timeout\\\"\\r\\n            placeholder=\\\"\\\"\\r\\n          />\\r\\n        </div>\\r\\n      </div>\\r\\n\\r\\n      <div class=\\\"form-group\\\">\\r\\n        <label class=\\\"col-sm-3 control-label\\\"\\r\\n          >{{ title.admin_app_name | translate }}:</label\\r\\n        >\\r\\n        <div class=\\\"col-sm-9\\\">\\r\\n          <input\\r\\n            type=\\\"text\\\"\\r\\n            class=\\\"form-control\\\"\\r\\n            [(ngModel)]=\\\"admin_setting.app_name\\\"\\r\\n            #app_name=\\\"ngModel\\\"\\r\\n            name=\\\"app_name\\\"\\r\\n            placeholder=\\\"\\\"\\r\\n          />\\r\\n        </div>\\r\\n      </div>\\r\\n\\r\\n      <div class=\\\"form-group\\\">\\r\\n        <label class=\\\"col-sm-3 control-label\\\"\\r\\n          >{{ title.admin_default_search_radius | translate }}:</label\\r\\n        >\\r\\n        <div class=\\\"col-sm-9\\\">\\r\\n          <input\\r\\n            type=\\\"text\\\"\\r\\n            class=\\\"form-control\\\"\\r\\n            [(ngModel)]=\\\"admin_setting.default_search_radius\\\"\\r\\n            #default_search_radius=\\\"ngModel\\\"\\r\\n            name=\\\"default_search_radius\\\"\\r\\n            placeholder=\\\"\\\"\\r\\n          />\\r\\n        </div>\\r\\n      </div>\\r\\n\\r\\n      <div class=\\\"form-group\\\" [hidden]=\\\"admin_setting.admin_country !== ''\\\">\\r\\n        <label class=\\\"col-sm-3 control-label\\\"\\r\\n          >{{ title.admin_country | translate }}:</label\\r\\n        >\\r\\n        <div class=\\\"col-sm-9\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"country\\\"\\r\\n            [(ngModel)]=\\\"admin_setting.admin_country\\\"\\r\\n            #admin_country=\\\"ngModel\\\"\\r\\n            name=\\\"admin_country\\\"\\r\\n          >\\r\\n            <option selected style=\\\"display: none\\\">Select Country</option>\\r\\n            <option *ngFor=\\\"let i of country_list\\\">{{ i.name }}</option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n\\r\\n      <div class=\\\"form-group\\\" [hidden]=\\\"admin_setting.admin_country == ''\\\">\\r\\n        <label class=\\\"col-sm-3 control-label\\\"\\r\\n          >{{ title.admin_country | translate }}:</label\\r\\n        >\\r\\n        <div class=\\\"col-sm-9\\\">\\r\\n          <input\\r\\n            type=\\\"text\\\"\\r\\n            class=\\\"form-control\\\"\\r\\n            [(ngModel)]=\\\"admin_setting.admin_country\\\"\\r\\n            #admin_country=\\\"ngModel\\\"\\r\\n            name=\\\"admin_country\\\"\\r\\n            required\\r\\n            readonly\\r\\n            placeholder=\\\"\\\"\\r\\n          />\\r\\n        </div>\\r\\n      </div>\\r\\n\\r\\n      <div class=\\\"form-group\\\">\\r\\n        <label class=\\\"col-sm-3 control-label\\\"\\r\\n          >{{ title.admin_panel_timezone | translate }}:</label\\r\\n        >\\r\\n        <div class=\\\"col-sm-9\\\">\\r\\n          <!--                    <select chosen class=\\\"chosen-select\\\" id=\\\"admin_panel_timezone\\\" [(ngModel)]=\\\"admin_setting.admin_panel_timezone\\\" #admin_panel_timezone=\\\"ngModel\\\" name=\\\"admin_panel_timezone\\\" >\\r\\n                        <option selected style=\\\"display:none;\\\">Select Timezone</option>\\r\\n                        <option *ngFor=\\\"let i of timezone_list\\\">{{i}}</option>\\r\\n                        \\r\\n                    </select>-->\\r\\n\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"admin_panel_timezone\\\"\\r\\n            [(ngModel)]=\\\"admin_setting.admin_panel_timezone\\\"\\r\\n            #admin_panel_timezone=\\\"ngModel\\\"\\r\\n            name=\\\"admin_panel_timezone\\\"\\r\\n            data-placeholder=\\\"Select Timezone\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <option *ngFor=\\\"let i of timezone_list\\\">{{ i }}</option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n\\r\\n      <!--            <div class=\\\"form-group\\\" [hidden]=\\\"admin_setting.admin_panel_timezone==''\\\">\\r\\n                <label class=\\\"col-sm-3 control-label\\\">{{title.admin_panel_timezone | translate}}:</label>\\r\\n                <div class=\\\"col-sm-9\\\">\\r\\n                    <input type=\\\"text\\\" class=\\\"form-control\\\"  [(ngModel)]=\\\"admin_setting.admin_panel_timezone\\\" #admin_panel_timezone=\\\"ngModel\\\"  name=\\\"admin_panel_timezone\\\" required readonly placeholder=\\\"\\\">\\r\\n                </div>\\r\\n            </div>-->\\r\\n\\r\\n      <div class=\\\"form-group\\\">\\r\\n        <label class=\\\"col-sm-3 control-label\\\"\\r\\n          >{{ title.admin_currency_code | translate }}:</label\\r\\n        >\\r\\n        <div class=\\\"col-sm-9\\\">\\r\\n          <input\\r\\n            type=\\\"text\\\"\\r\\n            class=\\\"form-control\\\"\\r\\n            [(ngModel)]=\\\"admin_setting.admin_currency_code\\\"\\r\\n            #admin_currency_code=\\\"ngModel\\\"\\r\\n            name=\\\"admin_currency_code\\\"\\r\\n            required\\r\\n            readonly\\r\\n            placeholder=\\\"\\\"\\r\\n          />\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"form-group\\\">\\r\\n        <label class=\\\"col-sm-3 control-label\\\"\\r\\n          >{{ title.admin_currency | translate }}:</label\\r\\n        >\\r\\n        <div class=\\\"col-sm-9\\\">\\r\\n          <input\\r\\n            type=\\\"text\\\"\\r\\n            class=\\\"form-control\\\"\\r\\n            [(ngModel)]=\\\"admin_setting.admin_currency\\\"\\r\\n            #admin_currency=\\\"ngModel\\\"\\r\\n            name=\\\"admin_currency\\\"\\r\\n            required\\r\\n            readonly\\r\\n            placeholder=\\\"\\\"\\r\\n          />\\r\\n        </div>\\r\\n      </div>\\r\\n      <!--            <div class=\\\"form-group\\\"><label class=\\\"col-sm-3 control-label\\\">{{title.admin_timezone | translate}}:</label>\\r\\n                            <div class=\\\"col-sm-9\\\"><select chosen class=\\\"chosen-select\\\" id=\\\"admin_time_zone\\\" [(ngModel)]=\\\"admin_setting.admin_time_zone\\\" #admin_time_zone=\\\"ngModel\\\" name=\\\"admin_time_zone\\\" >\\r\\n                                    <option selected style=\\\"display:none;\\\">{{title.select_timezone | translate}}</option>\\r\\n                                    <option *ngFor=\\\"let i of admin_time_zone_array\\\">{{i}}</option>\\r\\n                                </select> </div>\\r\\n                        </div>-->\\r\\n      <div class=\\\"form-group\\\">\\r\\n        <label class=\\\"col-sm-3 control-label\\\"\\r\\n          >{{ title.languages | translate }}:</label\\r\\n        >\\r\\n        <div class=\\\"col-sm-9\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            [(ngModel)]=\\\"admin_setting.lang\\\"\\r\\n            #lang\\r\\n            id=\\\"lang\\\"\\r\\n            name=\\\"lang\\\"\\r\\n          >\\r\\n            <option value=\\\"en\\\">English</option>\\r\\n            <option value=\\\"sp\\\">Spanish</option>\\r\\n            <!--                        <option  value=\\\"hi\\\">Hindi</option>\\r\\n                                                <option  value=\\\"ar\\\">Arabic</option>-->\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"form-group\\\">\\r\\n        <label class=\\\"col-sm-3 control-label\\\"\\r\\n          >{{ title.call_to_store | translate }}:</label\\r\\n        >\\r\\n        <div class=\\\"col-sm-2\\\">\\r\\n          <ui-switch\\r\\n            [(ngModel)]=\\\"admin_setting.is_call_store\\\"\\r\\n            #is_call_store=\\\"ngModel\\\"\\r\\n            name=\\\"is_call_store\\\"\\r\\n          ></ui-switch>\\r\\n        </div>\\r\\n        <div class=\\\"col-sm-2\\\">\\r\\n          <input\\r\\n            type=\\\"text\\\"\\r\\n            class=\\\"form-control\\\"\\r\\n            [(ngModel)]=\\\"admin_setting.call_store_after_min\\\"\\r\\n            #call_store_after_min=\\\"ngModel\\\"\\r\\n            name=\\\"call_store_after_min\\\"\\r\\n            placeholder=\\\"\\\"\\r\\n          />\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"form-group\\\">\\r\\n        <label class=\\\"col-sm-3 control-label\\\"\\r\\n          >{{ title.is_store_auto_accept | translate }}:</label\\r\\n        >\\r\\n        <div class=\\\"col-sm-2\\\">\\r\\n          <ui-switch\\r\\n            [(ngModel)]=\\\"admin_setting.is_store_auto_accept\\\"\\r\\n            #is_store_auto_accept=\\\"ngModel\\\"\\r\\n            name=\\\"is_store_auto_accept\\\"\\r\\n          ></ui-switch>\\r\\n        </div>\\r\\n        <div class=\\\"col-sm-2\\\">\\r\\n          <input\\r\\n            type=\\\"text\\\"\\r\\n            class=\\\"form-control\\\"\\r\\n            [(ngModel)]=\\\"admin_setting.store_auto_accept_min\\\"\\r\\n            #store_auto_accept_min=\\\"ngModel\\\"\\r\\n            name=\\\"store_auto_accept_min\\\"\\r\\n            placeholder=\\\"\\\"\\r\\n          />\\r\\n        </div>\\r\\n      </div>\\r\\n\\r\\n      <div class=\\\"form-group\\\">\\r\\n        <label class=\\\"col-sm-3 control-label\\\"\\r\\n          >{{ title.is_show_last_month_earning_in_store | translate }}:</label\\r\\n        >\\r\\n        <div class=\\\"col-sm-2\\\">\\r\\n          <ui-switch\\r\\n            [(ngModel)]=\\\"admin_setting.is_show_last_month_earning_in_store\\\"\\r\\n            #is_show_last_month_earning_in_store=\\\"ngModel\\\"\\r\\n            name=\\\"is_show_last_month_earning_in_store\\\"\\r\\n          ></ui-switch>\\r\\n        </div>\\r\\n      </div>\\r\\n\\r\\n      <div class=\\\"form-group\\\" style=\\\"margin-top: 70px\\\">\\r\\n        <label class=\\\"col-sm-3 control-label\\\"\\r\\n          >{{ title.hubrise_origins | translate }}:</label\\r\\n        >\\r\\n        <div class=\\\"col-sm-9\\\">\\r\\n          <table class=\\\"table\\\">\\r\\n            <tr\\r\\n              *ngFor=\\\"let hubrise_origin of hubrise_origins; let index = index\\\"\\r\\n            >\\r\\n              <td>{{ hubrise_origin.name }}</td>\\r\\n              <td>\\r\\n                <tr\\r\\n                  *ngFor=\\\"\\r\\n                    let code of hubrise_origin.codes;\\r\\n                    let code_index = index;\\r\\n                    let last = last\\r\\n                  \\\"\\r\\n                  style=\\\"height: 30px\\\"\\r\\n                >\\r\\n                  <td>\\r\\n                    {{ code\\r\\n                    }}<span style=\\\"margin-left: 20px\\\"\\r\\n                      ><i\\r\\n                        class=\\\"fa fa-remove\\\"\\r\\n                        (click)=\\\"remove_code(index, code_index)\\\"\\r\\n                      ></i\\r\\n                    ></span>\\r\\n                  </td>\\r\\n                </tr>\\r\\n              </td>\\r\\n              <td>\\r\\n                <span\\r\\n                  ><i class=\\\"fa fa-plus\\\" (click)=\\\"add_code(index)\\\"></i\\r\\n                ></span>\\r\\n              </td>\\r\\n            </tr>\\r\\n          </table>\\r\\n        </div>\\r\\n      </div>\\r\\n\\r\\n      <!--            <div class=\\\"form-group\\\"><label class=\\\"col-sm-3 control-label\\\">Languages:</label>\\r\\n                            <div class=\\\"col-sm-9\\\">\\r\\n                                <input name=\\\"language\\\" [(ngModel)]=\\\"admin_setting.language\\\" #language=\\\"ngModel\\\"  type=\\\"radio\\\" value=\\\"English\\\" [checked]=\\\"true\\\" (click)=\\\"changeLang('en')\\\">English\\r\\n                                <input name=\\\"language\\\"  [(ngModel)]=\\\"admin_setting.language\\\" #language=\\\"ngModel\\\"  type=\\\"radio\\\"  value=\\\"Spanish\\\" (click)=\\\"changeLang('sp')\\\">Spanish\\r\\n                                <input name=\\\"language\\\" [(ngModel)]=\\\"admin_setting.language\\\" #language=\\\"ngModel\\\"  type=\\\"radio\\\"  value=\\\"Hindi\\\" (click)=\\\"changeLang('hi')\\\">Hindi\\r\\n                                <input name=\\\"language\\\" [(ngModel)]=\\\"admin_setting.language\\\" #language=\\\"ngModel\\\"  type=\\\"radio\\\"  value=\\\"Arabic\\\" (click)=\\\"changeLang('ar')\\\">Arabic\\r\\n                            </div>\\r\\n                        </div>-->\\r\\n\\r\\n      <div class=\\\"col-lg-4\\\"></div>\\r\\n      <div class=\\\"col-lg-4\\\" style=\\\"text-align: center\\\">\\r\\n        <input\\r\\n          type=\\\"submit\\\"\\r\\n          id=\\\"submit\\\"\\r\\n          [disabled]=\\\"edit_button == false\\\"\\r\\n          name=\\\"submit\\\"\\r\\n          style=\\\"width: 50%\\\"\\r\\n          class=\\\"btn btn-primary\\\"\\r\\n          value=\\\"{{ button.submit | translate }}\\\"\\r\\n        />\\r\\n      </div>\\r\\n    </fieldset>\\r\\n  </div>\\r\\n</form>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-sm\\\" #myModal>\\r\\n  <form #modalForm=\\\"ngForm\\\" (ngSubmit)=\\\"save_code()\\\">\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n      <h4 class=\\\"modal-title\\\">Add Code</h4>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n      <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-12\\\">\\r\\n          <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n            <div class=\\\"form-group\\\">\\r\\n              <label style=\\\"font-weight: normal\\\"\\r\\n                ><strong>{{ title.code | translate }}</strong></label\\r\\n              >\\r\\n              <input\\r\\n                type=\\\"text\\\"\\r\\n                class=\\\"form-control\\\"\\r\\n                [(ngModel)]=\\\"code\\\"\\r\\n                name=\\\"code\\\"\\r\\n                required\\r\\n              />\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n      <div style=\\\"text-align: center\\\">\\r\\n        <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">\\r\\n          {{ button.save | translate }}\\r\\n        </button>\\r\\n      </div>\\r\\n    </modal-footer>\\r\\n  </form>\\r\\n</modal>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/basic_setting/basic_setting.component.html\n// module id = 1578\n// module chunks = 0","module.exports = \"<style type=\\\"text/css\\\">\\r\\n    .scrollbar_for_history\\r\\n    {\\r\\n        height: 100%;\\r\\n        background: #fff;\\r\\n        overflow-y: auto;\\r\\n    }\\r\\n\\r\\n    .scrollbar::-webkit-scrollbar-track\\r\\n    {\\r\\n        -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);\\r\\n        background-color: #fff;\\r\\n    }\\r\\n\\r\\n    .scrollbar::-webkit-scrollbar\\r\\n    {\\r\\n        width: 3px;\\r\\n        background-color: #222222;\\r\\n    }\\r\\n\\r\\n    .scrollbar::-webkit-scrollbar-thumb\\r\\n    {\\r\\n        background-color: #000000;\\r\\n    }\\r\\n\\r\\n</style>\\r\\n<footer [myLoading]=\\\"myLoading\\\" ></footer> \\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.search | translate}}</label>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"search_field\\\" [(ngModel)]=\\\"search_field\\\" name=\\\"search_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"unique_id\\\">{{title.filter_id | translate}}</option>\\r\\n                        <option value=\\\"user_detail.unique_id\\\">{{title.filter_user | translate}}</option>\\r\\n\\r\\n                        <option value=\\\"store_detail.unique_id\\\">{{title.filter_store | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n\\r\\n                        <input type=\\\"text\\\" class=\\\"form-control search_box\\\" [(ngModel)]=\\\"search_value\\\"  name=\\\"search_value\\\">\\r\\n                        <span class=\\\"input-group-addon search_icon\\\"><span class=\\\"fa fa-search\\\"></span></span>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.sort | translate}}</label>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"sort_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"sort_field\\\" [(ngModel)]=\\\"sort_field\\\" name=\\\"sort_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"unique_id\\\">{{title.filter_id | translate}}</option>\\r\\n                        <option value=\\\"user_detail.first_name\\\">{{title.filter_user | translate}}</option>\\r\\n\\r\\n                        <option value=\\\"store_detail.name\\\">{{title.filter_store | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"sort_orders\\\">\\r\\n\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"sort_order\\\" [(ngModel)]=\\\"sort_order\\\" name=\\\"sort_order\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"1\\\">{{title.ascending | translate}}</option>\\r\\n                        <option value=\\\"-1\\\">{{title.descending | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.date_filter | translate}}</label>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-12 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n\\r\\n                        <my-date-picker id=\\\"start_date\\\" [options]=\\\"helper.myStartDatePickerOptions\\\" placeholder=\\\"Start Date\\\" [(ngModel)]=\\\"start_date\\\" (dateChanged)=\\\"helper.onStartDateChanged($event)\\\"\\r\\n                                        readonly></my-date-picker>\\r\\n                        <span class=\\\"input-group-addon date_filter_icon\\\">To</span>\\r\\n\\r\\n                        <my-date-picker id=\\\"end_date\\\" [options]=\\\"helper.myEndDatePickerOptions\\\" placeholder=\\\"End Date\\\" [(ngModel)]=\\\"end_date\\\" (dateChanged)=\\\"helper.onEndDateChanged($event)\\\"\\r\\n                                        readonly></my-date-picker>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n\\r\\n        <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n            <!--<div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"export_excel()\\\" class=\\\"btn export_excel_btn pull-right\\\" value=\\\"{{button.export_excel | translate}}\\\" >\\r\\n            </div>-->\\r\\n            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"admin_cancellation_reason(1)\\\" class=\\\"btn filter_apply_btn pull-right\\\" value=\\\"{{button.apply | translate}}\\\" >\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n    </div>\\r\\n\\r\\n</div>\\r\\n\\r\\n\\r\\n<div class=\\\"wrapper wrapper-content content_top_bar_view1 animated fadeInRight \\\">\\r\\n    <div class=\\\"ibox\\\" *ngIf=\\\"order_list.length==0\\\">\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n            <div class=\\\"lable_center\\\" >\\r\\n                <label>No Records</label>\\r\\n            </div>\\r\\n        </div>  \\r\\n    </div>\\r\\n    <div class=\\\"ibox\\\" *ngIf=\\\"order_list.length>0\\\">\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n            <div class=\\\"table-responsive\\\">\\r\\n                <table class=\\\"table table-striped\\\">\\r\\n                    <thead>\\r\\n                        <tr>\\r\\n                            <th>{{title.order_id}}</th>\\r\\n                            <th>{{title.user_id}}</th>\\r\\n                            <th>{{title.store_id}}</th>\\r\\n                            \\r\\n                            <th>{{title.cancelled_by}}</th>\\r\\n                            <th>{{title.currency}}</th>\\r\\n                            <th>{{title.date | translate}}</th>\\r\\n                            <th>{{title.cancellation_reason}}</th>\\r\\n                            <th>{{title.cancellation_charge}}</th>\\r\\n                        </tr>\\r\\n                    </thead>\\r\\n                    <tbody>\\r\\n                        <tr *ngFor=\\\"let order of order_list; let index=index; let last=last;\\\">\\r\\n                            <td>{{order.unique_id}}</td>\\r\\n                            <td>{{order.user_detail.unique_id}} </td>\\r\\n                            <td>{{order.store_detail.unique_id}}</td>\\r\\n                            \\r\\n                            <td [ngSwitch]=\\\"order.order_status\\\">\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.STORE_CANCELLED\\\">Store</div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.CANCELED_BY_USER\\\">User</div>\\r\\n<!--                                <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_CANCELLED\\\"><span class=\\\"label label-danger\\\">Provider</span></div>-->\\r\\n\\r\\n                            </td>\\r\\n                            <td>{{order.country_detail.currency_sign}}</td>\\r\\n                            <td>{{order.completed_at| date: DATE_FORMAT.DD_MMM_YYYY}}</td>\\r\\n                            <td>{{order.cancel_reason}}</td>\\r\\n\\r\\n                            <td *ngIf=\\\"order.order_payment_detail.is_cancellation_fee == true\\\">{{order.order_payment_detail.order_cancellation_charge}}</td>\\r\\n                            <td *ngIf=\\\"order.order_payment_detail.is_cancellation_fee == false\\\">0</td>\\r\\n                        </tr>\\r\\n                    </tbody>\\r\\n                </table>\\r\\n            </div>\\r\\n\\r\\n\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n\\r\\n    <div class=\\\"col-md-12 col-sm-12\\\" style=\\\"margin-top: 6px;\\\">\\r\\n        <div class=\\\"lable_center\\\">\\r\\n\\r\\n            <ul class=\\\"pagination\\\">\\r\\n                <li *ngIf=\\\"page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"admin_cancellation_reason(page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page==index\\\">\\r\\n                    <a *ngIf=\\\"index==1 || index==total_page || index==page || index==page-1 || index==page+1\\\" (click)=\\\"admin_cancellation_reason(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                    <a *ngIf=\\\"(index==1 && (page!==1 && page!==2 && page!==3)) || (index==total_page-1 && (page!==total_page && page!==total_page-1 && page!==total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n\\r\\n                </li>\\r\\n                <li *ngIf=\\\"page!==total_page && order_list.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"admin_cancellation_reason(page+1)\\\">{{button.next | translate}}</a></li>\\r\\n            </ul>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n\\r\\n</div>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/cancellation_reason/cancellation_reason.component.html\n// module id = 1579\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\"></footer>\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n  <div class=\\\"row\\\">\\r\\n    <div class=\\\"col-md-2 col-sm-12\\\">\\r\\n      <div class=\\\"col-md-12 remove_padding\\\">\\r\\n        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            [(ngModel)]=\\\"selected_country\\\"\\r\\n            name=\\\"selected_country\\\"\\r\\n            id=\\\"selected_country\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <option>{{ title.all | translate }}</option>\\r\\n            <option\\r\\n              *ngFor=\\\"let country_data of country_list\\\"\\r\\n              value=\\\"{{ country_data._id }}\\\"\\r\\n            >\\r\\n              {{ country_data.country_name }}\\r\\n            </option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n    <div class=\\\"col-md-6 col-sm-12\\\">\\r\\n      <div class=\\\"col-md-12 remove_padding\\\">\\r\\n        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n          <div class=\\\"input-group\\\">\\r\\n            <input\\r\\n              type=\\\"text\\\"\\r\\n              (keyup)=\\\"filter_country(filter_country_name)\\\"\\r\\n              class=\\\"form-control search_box\\\"\\r\\n              [(ngModel)]=\\\"filter_country_name\\\"\\r\\n              placeholder=\\\"Search City\\\"\\r\\n              style=\\\"color: #000000\\\"\\r\\n              name=\\\"filter_country_name\\\"\\r\\n            />\\r\\n            <span class=\\\"input-group-addon search_icon\\\"\\r\\n              ><span class=\\\"fa fa-search\\\"></span\\r\\n            ></span>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n    <div class=\\\"col-md-3 col-sm-12 pull-right\\\">\\r\\n      <div class=\\\"col-md-6 col-sm-6 add_btn_div\\\">\\r\\n        <button [routerLink]=\\\"['/admin/add_city']\\\" class=\\\"btn add_btn\\\">\\r\\n          {{ button.add_city | translate\\r\\n          }}<span class=\\\"fa fa-plus\\\" style=\\\"margin-left: 8px\\\"></span>\\r\\n        </button>\\r\\n        <!--                            <a [routerLink]=\\\"['/admin/add_city']\\\" class=\\\"pull-right\\\"> <button class=\\\"btn add_btn pull-right\\\">{{button.add_city | translate}}<span class=\\\"fa fa-plus pull-right\\\" style=\\\"margin-top: 2px;\\\"></span></button></a>-->\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n</div>\\r\\n<div class=\\\"wrapper content_top_bar_view wrapper-content animated fadeInRight\\\">\\r\\n  <div *ngFor=\\\"let country_data of filtered_country_list\\\">\\r\\n    <div\\r\\n      *ngFor=\\\"let i of country_data.cities\\\"\\r\\n      [hidden]=\\\"\\r\\n        selected_country !== (title.all | translate) &&\\r\\n        selected_country !== country_data._id\\r\\n      \\\"\\r\\n    >\\r\\n      <div class=\\\"col-lg-3 col-md-3 col-sm-6 col-xs-12 user_profile\\\">\\r\\n        <div class=\\\"ibox float-e-margins\\\">\\r\\n          <div class=\\\"ibox-title\\\">\\r\\n            <a class=\\\"pull-right\\\" (click)=\\\"editCity(i._id)\\\"\\r\\n              ><i\\r\\n                class=\\\"fa fa-pencil\\\"\\r\\n                style=\\\"font-size: 20px; color: #676a6c\\\"\\r\\n              ></i\\r\\n            ></a>\\r\\n            <div>\\r\\n              <h5 style=\\\"font-size: 17px; width: 80%\\\">\\r\\n                <strong>{{ i.city_name }}</strong>\\r\\n              </h5>\\r\\n            </div>\\r\\n            <div\\r\\n              [hidden]=\\\"\\r\\n                country_data.cities.length == 0 ||\\r\\n                (selected_country !== (title.all | translate) &&\\r\\n                  selected_country !== country_data._id)\\r\\n              \\\"\\r\\n            >\\r\\n              <h5\\r\\n                class=\\\"col-lg-10 col-sm-10 col-md-10\\\"\\r\\n                style=\\\"float: none; font-size: 14px\\\"\\r\\n              >\\r\\n                {{ country_data.country_name }}\\r\\n              </h5>\\r\\n            </div>\\r\\n          </div>\\r\\n\\r\\n          <div class=\\\"ibox-content profile-content\\\">\\r\\n            <ul class=\\\"list-group clear-list\\\">\\r\\n              <li class=\\\"list-group-item fist-item\\\">\\r\\n                <span class=\\\"pull-right\\\"> {{ i.city_radius }} </span>\\r\\n                {{ title.city_radius | translate }}\\r\\n              </li>\\r\\n\\r\\n              <li class=\\\"list-group-item\\\">\\r\\n                <span class=\\\"pull-right\\\">\\r\\n                  <ui-switch\\r\\n                    (change)=\\\"is_business_change(i._id, $event)\\\"\\r\\n                    style=\\\"float: right\\\"\\r\\n                    [(ngModel)]=\\\"i.is_business\\\"\\r\\n                    name=\\\"is_business\\\"\\r\\n                  ></ui-switch\\r\\n                ></span>\\r\\n                {{ title.is_hop_business | translate }}\\r\\n              </li>\\r\\n              <li class=\\\"list-group-item\\\">\\r\\n                <span class=\\\"pull-right\\\">\\r\\n                  <ui-switch\\r\\n                    (change)=\\\"is_hopper_business_change(i._id, $event)\\\"\\r\\n                    style=\\\"float: right\\\"\\r\\n                    [(ngModel)]=\\\"i.is_hopper_business\\\"\\r\\n                    name=\\\"is_hopper_business\\\"\\r\\n                  ></ui-switch\\r\\n                ></span>\\r\\n                {{ title.is_hopper_business | translate }}\\r\\n              </li>\\r\\n              <li class=\\\"list-group-item\\\">\\r\\n                <span class=\\\"pull-right\\\">\\r\\n                  <ui-switch\\r\\n                    (change)=\\\"is_cash_payment_mode_change(i._id, $event)\\\"\\r\\n                    style=\\\"float: right\\\"\\r\\n                    [(ngModel)]=\\\"i.is_cash_payment_mode\\\"\\r\\n                    name=\\\"is_cash_payment_mode\\\"\\r\\n                  ></ui-switch\\r\\n                ></span>\\r\\n                {{ title.is_cash_payment_mode | translate }}\\r\\n              </li>\\r\\n\\r\\n              <li class=\\\"list-group-item\\\">\\r\\n                <span class=\\\"pull-right\\\">\\r\\n                  <ui-switch\\r\\n                    (change)=\\\"is_other_payment_mode_change(i._id, $event)\\\"\\r\\n                    style=\\\"float: right\\\"\\r\\n                    [(ngModel)]=\\\"i.is_other_payment_mode\\\"\\r\\n                    name=\\\"is_other_payment_mode\\\"\\r\\n                  ></ui-switch\\r\\n                ></span>\\r\\n                {{ title.is_other_payment_mode | translate }}\\r\\n              </li>\\r\\n\\r\\n              <li class=\\\"list-group-item\\\">\\r\\n                <span class=\\\"pull-right\\\">\\r\\n                  <ui-switch\\r\\n                    (change)=\\\"is_automatic_find_provider_change(i._id, $event)\\\"\\r\\n                    style=\\\"float: right\\\"\\r\\n                    [(ngModel)]=\\\"i.is_automatic_find_provider\\\"\\r\\n                    name=\\\"is_automatic_find_provider\\\"\\r\\n                  ></ui-switch\\r\\n                ></span>\\r\\n                {{ title.is_automatic_find_provider | translate }}\\r\\n              </li>\\r\\n\\r\\n              <li class=\\\"list-group-item\\\">\\r\\n                <span class=\\\"pull-right\\\">\\r\\n                  <ui-switch\\r\\n                    (change)=\\\"is_show_tips_change(i._id, $event)\\\"\\r\\n                    style=\\\"float: right\\\"\\r\\n                    [(ngModel)]=\\\"i.is_show_tips\\\"\\r\\n                    name=\\\"is_show_tips\\\"\\r\\n                  ></ui-switch\\r\\n                ></span>\\r\\n                {{ title.is_show_tips | translate }}\\r\\n              </li>\\r\\n\\r\\n              <li class=\\\"list-group-item\\\">\\r\\n                <span class=\\\"pull-right\\\">\\r\\n                  <!--  <i (click)=\\\"is_emergency_change(i)\\\" class=\\\"fa fa-pencil\\\" style=\\\"font-size:20px;color:#676a6c\\\"></i> -->\\r\\n                  <i\\r\\n                    class=\\\"fa fa-pencil\\\"\\r\\n                    (click)=\\\"is_emergency_change(i)\\\"\\r\\n                    style=\\\"\\r\\n                      margin-left: 10px;\\r\\n                      font-size: 15px;\\r\\n                      color: #676a6c;\\r\\n                      float: right;\\r\\n                    \\\"\\r\\n                  ></i>\\r\\n                  <ui-switch\\r\\n                    [disabled]=\\\"true\\\"\\r\\n                    (click)=\\\"is_emergency_change(i)\\\"\\r\\n                    style=\\\"float: right\\\"\\r\\n                    [(ngModel)]=\\\"i.is_emergency\\\"\\r\\n                    name=\\\"is_emergency\\\"\\r\\n                  ></ui-switch>\\r\\n                </span>\\r\\n                {{ title.is_emergency | translate }}\\r\\n              </li>\\r\\n              <li class=\\\"list-group-item\\\">\\r\\n                <span class=\\\"pull-right\\\">\\r\\n                  <!--  <i (click)=\\\"is_emergency_change(i)\\\" class=\\\"fa fa-pencil\\\" style=\\\"font-size:20px;color:#676a6c\\\"></i> -->\\r\\n                  <i\\r\\n                    class=\\\"fa fa-pencil\\\"\\r\\n                    (click)=\\\"is_delay_order_change(i)\\\"\\r\\n                    style=\\\"\\r\\n                      margin-left: 10px;\\r\\n                      font-size: 15px;\\r\\n                      color: #676a6c;\\r\\n                      float: right;\\r\\n                    \\\"\\r\\n                  ></i>\\r\\n                  <ui-switch\\r\\n                    [disabled]=\\\"true\\\"\\r\\n                    (click)=\\\"is_delay_order_change(i)\\\"\\r\\n                    style=\\\"float: right\\\"\\r\\n                    [(ngModel)]=\\\"i.is_delay_order\\\"\\r\\n                    name=\\\"is_delay_order\\\"\\r\\n                  ></ui-switch>\\r\\n                </span>\\r\\n                {{ title.is_delay_order | translate }}\\r\\n              </li>\\r\\n              <li class=\\\"list-group-item\\\">\\r\\n                <div class=\\\"row\\\">\\r\\n                  <div class=\\\"col-md-6\\\">\\r\\n                    <button\\r\\n                      class=\\\"btn btn-green btn-block btn-xs\\\"\\r\\n                      [class.btn-danger]=\\\"!i.is_business\\\"\\r\\n                    >\\r\\n                      {{ heading_title.hop_delivery | translate }}\\r\\n                    </button>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-md-6\\\">\\r\\n                    <button\\r\\n                      class=\\\"btn btn-green btn-block btn-xs\\\"\\r\\n                      [class.btn-danger]=\\\"!i.is_hopper_business\\\"\\r\\n                    >\\r\\n                      {{ heading_title.hopper_on_demand | translate }}\\r\\n                    </button>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </li>\\r\\n              <li class=\\\"list-group-item\\\">\\r\\n                {{ title.delivery_time | translate }}\\r\\n              </li>\\r\\n            </ul>\\r\\n\\r\\n            <div class=\\\"row\\\" style=\\\"margin: 0\\\">\\r\\n              <div\\r\\n                class=\\\"col-lg-12\\\"\\r\\n                style=\\\"\\r\\n                  border-bottom: 1px solid;\\r\\n                  padding-left: 0;\\r\\n                  padding-right: 0;\\r\\n                \\\"\\r\\n              >\\r\\n                <div\\r\\n                  class=\\\"wizard\\\"\\r\\n                  style=\\\"\\r\\n                    border-bottom: 1px solid;\\r\\n                    padding-left: 0;\\r\\n                    padding-right: 0;\\r\\n                  \\\"\\r\\n                >\\r\\n                  <div class=\\\"steps clearfix\\\">\\r\\n                    <ul style=\\\"display: table; padding: 0px\\\">\\r\\n                      <li\\r\\n                        (click)=\\\"i.curren_selected_day = 0\\\"\\r\\n                        style=\\\"width: unset !important\\\"\\r\\n                        [style.border-bottom]=\\\"\\r\\n                          !i.curren_selected_day ? '1px solid #bc202b' : null\\r\\n                        \\\"\\r\\n                        class=\\\"day_li\\\"\\r\\n                      >\\r\\n                        <a\\r\\n                          style=\\\"\\r\\n                            border-bottom-right-radius: 0px;\\r\\n                            border-bottom-left-radius: 0px;\\r\\n                            border: 0px;\\r\\n                          \\\"\\r\\n                          class=\\\"btn-default\\\"\\r\\n                          ><span\\r\\n                            style=\\\"\\r\\n                              margin-left: -5px;\\r\\n                              font-weight: bold;\\r\\n                              display: block;\\r\\n                            \\\"\\r\\n                            [style.color]=\\\"\\r\\n                              !i.curren_selected_day ? '#bc202b' : null\\r\\n                            \\\"\\r\\n                            class=\\\"nav-label\\\"\\r\\n                            >{{ title.sunday | translate }}</span\\r\\n                          ></a\\r\\n                        >\\r\\n                      </li>\\r\\n                      <li\\r\\n                        (click)=\\\"i.curren_selected_day = 1\\\"\\r\\n                        style=\\\"width: unset !important\\\"\\r\\n                        [style.border-bottom]=\\\"\\r\\n                          i.curren_selected_day == 1\\r\\n                            ? '1px solid #bc202b'\\r\\n                            : null\\r\\n                        \\\"\\r\\n                        class=\\\"day_li\\\"\\r\\n                      >\\r\\n                        <a\\r\\n                          style=\\\"\\r\\n                            border-bottom-right-radius: 0px;\\r\\n                            border-bottom-left-radius: 0px;\\r\\n                            border: 0px;\\r\\n                          \\\"\\r\\n                          class=\\\"btn-default\\\"\\r\\n                          ><span\\r\\n                            style=\\\"\\r\\n                              margin-left: -5px;\\r\\n                              font-weight: bold;\\r\\n                              display: block;\\r\\n                            \\\"\\r\\n                            [style.color]=\\\"\\r\\n                              i.curren_selected_day == 1 ? '#bc202b' : null\\r\\n                            \\\"\\r\\n                            class=\\\"nav-label\\\"\\r\\n                            >{{ title.monday | translate }}</span\\r\\n                          ></a\\r\\n                        >\\r\\n                      </li>\\r\\n                      <li\\r\\n                        (click)=\\\"i.curren_selected_day = 2\\\"\\r\\n                        style=\\\"width: unset !important\\\"\\r\\n                        [style.border-bottom]=\\\"\\r\\n                          i.curren_selected_day == 2\\r\\n                            ? '1px solid #bc202b'\\r\\n                            : null\\r\\n                        \\\"\\r\\n                        class=\\\"day_li\\\"\\r\\n                      >\\r\\n                        <a\\r\\n                          style=\\\"\\r\\n                            border-bottom-right-radius: 0px;\\r\\n                            border-bottom-left-radius: 0px;\\r\\n                            border: 0px;\\r\\n                          \\\"\\r\\n                          class=\\\"btn-default\\\"\\r\\n                          ><span\\r\\n                            style=\\\"\\r\\n                              margin-left: -5px;\\r\\n                              font-weight: bold;\\r\\n                              display: block;\\r\\n                            \\\"\\r\\n                            [style.color]=\\\"\\r\\n                              i.curren_selected_day == 2 ? '#bc202b' : null\\r\\n                            \\\"\\r\\n                            class=\\\"nav-label\\\"\\r\\n                            >{{ title.tuesday | translate }}</span\\r\\n                          ></a\\r\\n                        >\\r\\n                      </li>\\r\\n                      <li\\r\\n                        (click)=\\\"i.curren_selected_day = 3\\\"\\r\\n                        style=\\\"width: unset !important\\\"\\r\\n                        [style.border-bottom]=\\\"\\r\\n                          i.curren_selected_day == 3\\r\\n                            ? '1px solid #bc202b'\\r\\n                            : null\\r\\n                        \\\"\\r\\n                        class=\\\"day_li\\\"\\r\\n                      >\\r\\n                        <a\\r\\n                          style=\\\"\\r\\n                            border-bottom-right-radius: 0px;\\r\\n                            border-bottom-left-radius: 0px;\\r\\n                            border: 0px;\\r\\n                          \\\"\\r\\n                          class=\\\"btn-default\\\"\\r\\n                          ><span\\r\\n                            style=\\\"\\r\\n                              margin-left: -5px;\\r\\n                              font-weight: bold;\\r\\n                              display: block;\\r\\n                            \\\"\\r\\n                            [style.color]=\\\"\\r\\n                              i.curren_selected_day == 3 ? '#bc202b' : null\\r\\n                            \\\"\\r\\n                            class=\\\"nav-label\\\"\\r\\n                            >{{ title.wednesday | translate }}</span\\r\\n                          ></a\\r\\n                        >\\r\\n                      </li>\\r\\n                      <li\\r\\n                        (click)=\\\"i.curren_selected_day = 4\\\"\\r\\n                        style=\\\"width: unset !important\\\"\\r\\n                        [style.border-bottom]=\\\"\\r\\n                          i.curren_selected_day == 4\\r\\n                            ? '1px solid #bc202b'\\r\\n                            : null\\r\\n                        \\\"\\r\\n                        class=\\\"day_li\\\"\\r\\n                      >\\r\\n                        <a\\r\\n                          style=\\\"\\r\\n                            border-bottom-right-radius: 0px;\\r\\n                            border-bottom-left-radius: 0px;\\r\\n                            border: 0px;\\r\\n                          \\\"\\r\\n                          class=\\\"btn-default\\\"\\r\\n                          ><span\\r\\n                            style=\\\"\\r\\n                              margin-left: -5px;\\r\\n                              font-weight: bold;\\r\\n                              display: block;\\r\\n                            \\\"\\r\\n                            [style.color]=\\\"\\r\\n                              i.curren_selected_day == 4 ? '#bc202b' : null\\r\\n                            \\\"\\r\\n                            class=\\\"nav-label\\\"\\r\\n                            >{{ title.thursday | translate }}</span\\r\\n                          ></a\\r\\n                        >\\r\\n                      </li>\\r\\n                      <li\\r\\n                        (click)=\\\"i.curren_selected_day = 5\\\"\\r\\n                        style=\\\"width: unset !important\\\"\\r\\n                        [style.border-bottom]=\\\"\\r\\n                          i.curren_selected_day == 5\\r\\n                            ? '1px solid #bc202b'\\r\\n                            : null\\r\\n                        \\\"\\r\\n                        class=\\\"day_li\\\"\\r\\n                      >\\r\\n                        <a\\r\\n                          style=\\\"\\r\\n                            border-bottom-right-radius: 0px;\\r\\n                            border-bottom-left-radius: 0px;\\r\\n                            border: 0px;\\r\\n                          \\\"\\r\\n                          class=\\\"btn-default\\\"\\r\\n                          ><span\\r\\n                            style=\\\"\\r\\n                              margin-left: -5px;\\r\\n                              font-weight: bold;\\r\\n                              display: block;\\r\\n                            \\\"\\r\\n                            [style.color]=\\\"\\r\\n                              i.curren_selected_day == 5 ? '#bc202b' : null\\r\\n                            \\\"\\r\\n                            class=\\\"nav-label\\\"\\r\\n                            >{{ title.friday | translate }}</span\\r\\n                          ></a\\r\\n                        >\\r\\n                      </li>\\r\\n                      <li\\r\\n                        (click)=\\\"i.curren_selected_day = 6\\\"\\r\\n                        style=\\\"width: unset !important\\\"\\r\\n                        [style.border-bottom]=\\\"\\r\\n                          i.curren_selected_day == 6\\r\\n                            ? '1px solid #bc202b'\\r\\n                            : null\\r\\n                        \\\"\\r\\n                        class=\\\"day_li\\\"\\r\\n                      >\\r\\n                        <a\\r\\n                          style=\\\"\\r\\n                            border-bottom-right-radius: 0px;\\r\\n                            border-bottom-left-radius: 0px;\\r\\n                            border: 0px;\\r\\n                          \\\"\\r\\n                          class=\\\"btn-default\\\"\\r\\n                          ><span\\r\\n                            style=\\\"\\r\\n                              margin-left: -5px;\\r\\n                              font-weight: bold;\\r\\n                              display: block;\\r\\n                            \\\"\\r\\n                            [style.color]=\\\"\\r\\n                              i.curren_selected_day == 6 ? '#bc202b' : null\\r\\n                            \\\"\\r\\n                            class=\\\"nav-label\\\"\\r\\n                            >{{ title.saturday | translate }}</span\\r\\n                          ></a\\r\\n                        >\\r\\n                      </li>\\r\\n                    </ul>\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div class=\\\"row\\\" style=\\\"margin-top: 9px; margin-bottom: 9px\\\">\\r\\n                  <!-- <div class=\\\"col-md-6 col-sm-6\\\">\\r\\n                                        <label class=\\\"col-md-9 col-sm-9 col-xs-9 control-label\\\" style=\\\"padding-top: 8px;\\\">{{title.open_full_time | translate}}</label>\\r\\n\\r\\n                                        <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\" style=\\\"padding-top: 6px;\\\">\\r\\n                                            <ui-switch (change)=\\\"delivery_full_time_open($event)\\\" [disabled]=\\\"!edit\\\" [(ngModel)]=\\\"is_delivery_open_full_time\\\" name=\\\"is_delivery_open_full_time\\\"></ui-switch>\\r\\n\\r\\n                                        </div>\\r\\n                                    </div> -->\\r\\n                  <div class=\\\"col-md-6 col-sm-6\\\">\\r\\n                    <label\\r\\n                      class=\\\"col-md-9 col-sm-9 col-xs-9 control-label\\\"\\r\\n                      style=\\\"padding-top: 8px\\\"\\r\\n                      >{{ title.open | translate }}</label\\r\\n                    >\\r\\n\\r\\n                    <div\\r\\n                      class=\\\"col-md-3 col-sm-3 col-xs-3\\\"\\r\\n                      style=\\\"padding-top: 6px\\\"\\r\\n                    >\\r\\n                      <ui-switch\\r\\n                        disabled\\r\\n                        [(ngModel)]=\\\"\\r\\n                          i.delivery_time[i.curren_selected_day || 0]\\r\\n                            .is_delivery_open\\r\\n                        \\\"\\r\\n                        name=\\\"is_delivery_open\\\"\\r\\n                      ></ui-switch>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n                <!-- <div class=\\\"row\\\" style=\\\"margin-top: 9px;margin-bottom: 9px;\\\">\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <div class=\\\"text-center\\\">\\r\\n                                            <button type=\\\"button\\\" [disabled]=\\\"!edit\\\" (click)=\\\"open_copy_delivery_time_modal()\\\" class=\\\"btn add_btn\\\">{{button.copy_store_time | translate}}</button>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <div class=\\\"text-center\\\">\\r\\n                                            <button type=\\\"button\\\" [disabled]=\\\"is_delivery_open_full_time || !edit\\\" (click)=\\\"open_add_time_modal()\\\" class=\\\"btn add_btn\\\">{{button.add_delivery_time | translate}}<span class=\\\"fa fa-plus pull-right\\\" style=\\\"margin-top: 2px;\\\"></span></button>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div> -->\\r\\n              </div>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"\\\">\\r\\n              <table class=\\\"table\\\">\\r\\n                <tr>\\r\\n                  <td>{{ title.store_open_time | translate }}</td>\\r\\n                  <td>{{ title.store_close_time | translate }}</td>\\r\\n                  <td>{{ title.action | translate }}</td>\\r\\n                </tr>\\r\\n                <tr\\r\\n                  *ngFor=\\\"\\r\\n                    let i of i.delivery_time[i.curren_selected_day || 0]\\r\\n                      .day_time;\\r\\n                    let index = index\\r\\n                  \\\"\\r\\n                >\\r\\n                  <td>{{ i.delivery_open_time }}</td>\\r\\n                  <td>{{ i.delivery_close_time }}</td>\\r\\n                </tr>\\r\\n              </table>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n</div>\\r\\n\\r\\n<modal\\r\\n  keyboard=\\\"false\\\"\\r\\n  backdrop=\\\"static\\\"\\r\\n  style=\\\"top: 25%\\\"\\r\\n  cssClass=\\\"modal-xl\\\"\\r\\n  #emergency_modal\\r\\n>\\r\\n  <form #add_delivery_price_form=\\\"ngForm\\\" (ngSubmit)=\\\"update_emergency_data()\\\">\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n      <h4 class=\\\"modal-title\\\">{{ title.is_emergency | translate }}</h4>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n      <div class=\\\"form-group\\\">\\r\\n        <span>{{ title.is_emergency | translate }}</span>\\r\\n        <ui-switch\\r\\n          class=\\\"pull-right\\\"\\r\\n          [(ngModel)]=\\\"is_emergency\\\"\\r\\n          name=\\\"is_emergency\\\"\\r\\n        ></ui-switch>\\r\\n      </div>\\r\\n      <!-- <div class=\\\"row\\\" *ngIf=\\\"is_emergency\\\">\\r\\n                <div class=\\\"col-md-6\\\">\\r\\n                    <div class=\\\"form-group\\\" *ngIf=\\\"is_emergency\\\">\\r\\n                        <div class=\\\"input-group\\\">\\r\\n                            <span class=\\\"input-group-addon\\\">\\r\\n                                <span>{{title.km}}</span>\\r\\n                            </span>\\r\\n                            <input type=\\\"text\\\" (keypress)=\\\"helper.number_validation($event)\\\" placeholder=\\\"{{title.emergency_delay_distance | translate}}\\\" class=\\\"form-control\\\" automoplete=\\\"off\\\" [(ngModel)]=\\\"emergency_delay_distance\\\" name=\\\"emergency_delay_distance\\\" required/>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-6\\\">\\r\\n                    <div class=\\\"form-group\\\" *ngIf=\\\"is_emergency\\\">\\r\\n                        <div class=\\\"input-group\\\">\\r\\n                            <span class=\\\"input-group-addon\\\">\\r\\n                                <span>{{title.minute}}</span>\\r\\n                            </span>\\r\\n                            <input type=\\\"text\\\" (keypress)=\\\"helper.number_validation($event)\\\" placeholder=\\\"{{title.emergency_delay_time | translate}}\\\" class=\\\"form-control\\\" automoplete=\\\"off\\\" [(ngModel)]=\\\"emergency_delay_time\\\" name=\\\"emergency_delay_time\\\" required/>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div> -->\\r\\n      <div class=\\\"row\\\" *ngIf=\\\"is_emergency\\\" style=\\\"padding: 20px\\\">\\r\\n        <div class=\\\"col-md-4 pad_right\\\">\\r\\n          <div\\r\\n            class=\\\"min_tag\\\"\\r\\n            [class.selected_time]=\\\"emergency_stop_time == 5\\\"\\r\\n            (click)=\\\"select_time(5)\\\"\\r\\n          >\\r\\n            5 min\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4 pad_right\\\">\\r\\n          <div\\r\\n            class=\\\"min_tag\\\"\\r\\n            [class.selected_time]=\\\"emergency_stop_time == 10\\\"\\r\\n            (click)=\\\"select_time(10)\\\"\\r\\n          >\\r\\n            10 min\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4 pad_right\\\">\\r\\n          <div\\r\\n            class=\\\"min_tag\\\"\\r\\n            [class.selected_time]=\\\"emergency_stop_time == 20\\\"\\r\\n            (click)=\\\"select_time(20)\\\"\\r\\n          >\\r\\n            20 min\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4 pad_right\\\">\\r\\n          <div\\r\\n            class=\\\"min_tag\\\"\\r\\n            [class.selected_time]=\\\"emergency_stop_time == 30\\\"\\r\\n            (click)=\\\"select_time(30)\\\"\\r\\n          >\\r\\n            30 min\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4 pad_right\\\">\\r\\n          <div\\r\\n            class=\\\"min_tag\\\"\\r\\n            [class.selected_time]=\\\"emergency_stop_time == 60\\\"\\r\\n            (click)=\\\"select_time(60)\\\"\\r\\n          >\\r\\n            60 min\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"row\\\" *ngIf=\\\"is_emergency\\\" style=\\\"padding: 20px 0 10px 7px\\\">\\r\\n        <div class=\\\"form-group\\\">\\r\\n          <label class=\\\"col-lg-4 col-xs-4 control-label\\\">Close Till</label>\\r\\n          <div\\r\\n            class=\\\"col-lg-4 col-xs-4 input-group clock-picker\\\"\\r\\n            id=\\\"clock-picker\\\"\\r\\n            data-placement=\\\"top\\\"\\r\\n            data-align=\\\"top\\\"\\r\\n            data-autoclose=\\\"true\\\"\\r\\n          >\\r\\n            <input\\r\\n              type=\\\"time\\\"\\r\\n              class=\\\"form-control open\\\"\\r\\n              id=\\\"open\\\"\\r\\n              [(ngModel)]=\\\"emergency_close_till\\\"\\r\\n              name=\\\"emergency_close_till\\\"\\r\\n              readonly\\r\\n              required\\r\\n            />\\r\\n            <span class=\\\"input-group-addon\\\">\\r\\n              <span class=\\\"fa fa-clock-o\\\"></span>\\r\\n            </span>\\r\\n            <span\\r\\n              *ngIf=\\\"emergency_close_till\\\"\\r\\n              class=\\\"fa fa-remove\\\"\\r\\n              (click)=\\\"emergency_close_till = ''\\\"\\r\\n              style=\\\"float: right; padding: 10px\\\"\\r\\n            ></span>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n      <div style=\\\"text-align: center\\\">\\r\\n        <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">\\r\\n          {{ button.submit | translate }}\\r\\n        </button>\\r\\n      </div>\\r\\n    </modal-footer>\\r\\n  </form>\\r\\n</modal>\\r\\n\\r\\n<modal\\r\\n  keyboard=\\\"false\\\"\\r\\n  backdrop=\\\"static\\\"\\r\\n  style=\\\"top: 25%\\\"\\r\\n  cssClass=\\\"modal-xl\\\"\\r\\n  #delay_order_modal\\r\\n>\\r\\n  <form #add_delivery_price_form=\\\"ngForm\\\" (ngSubmit)=\\\"update_delay_order()\\\">\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n      <h4 class=\\\"modal-title\\\">{{ title.is_delay_order | translate }}</h4>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n      <div class=\\\"form-group\\\">\\r\\n        <span>{{ title.is_delay_order | translate }}</span>\\r\\n        <ui-switch\\r\\n          class=\\\"pull-right\\\"\\r\\n          [(ngModel)]=\\\"is_delay_order\\\"\\r\\n          name=\\\"is_delay_order\\\"\\r\\n        ></ui-switch>\\r\\n      </div>\\r\\n      <div class=\\\"row\\\" *ngIf=\\\"is_delay_order\\\">\\r\\n        <div class=\\\"col-md-6\\\">\\r\\n          <div class=\\\"form-group\\\" *ngIf=\\\"is_delay_order\\\">\\r\\n            <div class=\\\"input-group\\\">\\r\\n              <span class=\\\"input-group-addon\\\">\\r\\n                <span>{{ title.km }}</span>\\r\\n              </span>\\r\\n              <input\\r\\n                type=\\\"text\\\"\\r\\n                (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                placeholder=\\\"{{ title.delay_distance | translate }}\\\"\\r\\n                class=\\\"form-control\\\"\\r\\n                automoplete=\\\"off\\\"\\r\\n                [(ngModel)]=\\\"delay_distance\\\"\\r\\n                name=\\\"delay_distance\\\"\\r\\n                required\\r\\n              />\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-6\\\">\\r\\n          <div class=\\\"form-group\\\" *ngIf=\\\"is_delay_order\\\">\\r\\n            <div class=\\\"input-group\\\">\\r\\n              <span class=\\\"input-group-addon\\\">\\r\\n                <span>{{ title.minute }}</span>\\r\\n              </span>\\r\\n              <input\\r\\n                type=\\\"text\\\"\\r\\n                (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                placeholder=\\\"{{ title.delay_time | translate }}\\\"\\r\\n                class=\\\"form-control\\\"\\r\\n                automoplete=\\\"off\\\"\\r\\n                [(ngModel)]=\\\"delay_time\\\"\\r\\n                name=\\\"delay_time\\\"\\r\\n                required\\r\\n              />\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"row\\\" *ngIf=\\\"is_delay_order\\\" style=\\\"padding: 20px\\\">\\r\\n        <div class=\\\"col-md-4 pad_right\\\">\\r\\n          <div\\r\\n            class=\\\"min_tag\\\"\\r\\n            [class.selected_time]=\\\"stop_for_time == 5\\\"\\r\\n            (click)=\\\"select_delay_order_time(5)\\\"\\r\\n          >\\r\\n            5 min\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4 pad_right\\\">\\r\\n          <div\\r\\n            class=\\\"min_tag\\\"\\r\\n            [class.selected_time]=\\\"stop_for_time == 10\\\"\\r\\n            (click)=\\\"select_delay_order_time(10)\\\"\\r\\n          >\\r\\n            10 min\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4 pad_right\\\">\\r\\n          <div\\r\\n            class=\\\"min_tag\\\"\\r\\n            [class.selected_time]=\\\"stop_for_time == 20\\\"\\r\\n            (click)=\\\"select_delay_order_time(20)\\\"\\r\\n          >\\r\\n            20 min\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4 pad_right\\\">\\r\\n          <div\\r\\n            class=\\\"min_tag\\\"\\r\\n            [class.selected_time]=\\\"stop_for_time == 30\\\"\\r\\n            (click)=\\\"select_delay_order_time(30)\\\"\\r\\n          >\\r\\n            30 min\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4 pad_right\\\">\\r\\n          <div\\r\\n            class=\\\"min_tag\\\"\\r\\n            [class.selected_time]=\\\"stop_for_time == 60\\\"\\r\\n            (click)=\\\"select_delay_order_time(60)\\\"\\r\\n          >\\r\\n            60 min\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"row\\\" *ngIf=\\\"is_delay_order\\\" style=\\\"padding: 20px 0 10px 7px\\\">\\r\\n        <div class=\\\"form-group\\\">\\r\\n          <label class=\\\"col-lg-4 col-xs-4 control-label\\\">Close Till</label>\\r\\n          <div\\r\\n            class=\\\"col-lg-4 col-xs-4 input-group clock-picker\\\"\\r\\n            id=\\\"clock-picker\\\"\\r\\n            data-placement=\\\"top\\\"\\r\\n            data-align=\\\"top\\\"\\r\\n            data-autoclose=\\\"true\\\"\\r\\n          >\\r\\n            <input\\r\\n              type=\\\"time\\\"\\r\\n              class=\\\"form-control open\\\"\\r\\n              id=\\\"open\\\"\\r\\n              [(ngModel)]=\\\"close_till\\\"\\r\\n              name=\\\"close_till\\\"\\r\\n              readonly\\r\\n              required\\r\\n            />\\r\\n            <span class=\\\"input-group-addon\\\">\\r\\n              <span class=\\\"fa fa-clock-o\\\"></span>\\r\\n            </span>\\r\\n            <span\\r\\n              *ngIf=\\\"close_till\\\"\\r\\n              class=\\\"fa fa-remove\\\"\\r\\n              (click)=\\\"close_till = ''\\\"\\r\\n              style=\\\"float: right; padding: 10px\\\"\\r\\n            ></span>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n      <div style=\\\"text-align: center\\\">\\r\\n        <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">\\r\\n          {{ button.submit | translate }}\\r\\n        </button>\\r\\n      </div>\\r\\n    </modal-footer>\\r\\n  </form>\\r\\n</modal>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/city/city.component.html\n// module id = 1580\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer> \\r\\n<!--<div class=\\\"add_btn_bg\\\" style=\\\"text-align: center;\\\">\\r\\n    <button [routerLink]=\\\"['/admin/add_country']\\\" class=\\\"btn add_btn pull-right\\\" style=\\\"margin-right: 50px;margin-top: 10px;\\\">{{button.add_country | translate}}<span class=\\\"fa fa-plus\\\" style=\\\"margin-left: 8px;\\\"></span></button>\\r\\n        <input name=\\\"lang\\\" type=\\\"radio\\\" [checked]=\\\"true\\\" (click)=\\\"changeLang('en')\\\">English\\r\\n        <input name=\\\"lang\\\" type=\\\"radio\\\" (click)=\\\"changeLang('sp')\\\">Spanish\\r\\n        <input name=\\\"lang\\\" type=\\\"radio\\\" (click)=\\\"changeLang('hi')\\\">Hindi\\r\\n        <a [routerLink]=\\\"['/admin/add_country']\\\"> <input class=\\\"btn add_btn pull-right\\\" style=\\\"margin-top:12px;\\\" value=\\\"{{button.add_country | translate}}\\\" ></a>\\r\\n</div>-->\\r\\n\\r\\n<!--<div class=\\\"row wrapper col-sm-12 col-md-12 col-xs-12 col-lg-12 fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-3 col-sm-12 pull-right\\\">\\r\\n            <div class=\\\"col-md-6 col-sm-6 add_btn_div\\\">\\r\\n                <button [routerLink]=\\\"['/admin/add_country']\\\" class=\\\"btn add_btn pull-right\\\" style=\\\"margin-bottom: 10px;margin-right: 50px;\\\">{{button.add_country | translate}}<span class=\\\"fa fa-plus\\\" style=\\\"margin-left: 8px;\\\"></span></button>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>-->\\r\\n\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n        \\r\\n        <div class=\\\"col-md-8 col-sm-12\\\">\\r\\n            <div class=\\\"col-md-12 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n\\r\\n                        <input type=\\\"text\\\" (keyup)=\\\"filter_country_list(filter_country_name)\\\" class=\\\"form-control search_box\\\" [(ngModel)]=\\\"filter_country_name\\\" placeholder=\\\"Search Country\\\" style=\\\"color:#000000;\\\" name=\\\"filter_country_name\\\">\\r\\n                        <span class=\\\"input-group-addon search_icon\\\"><span class=\\\"fa fa-search\\\"></span></span>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n        <div class=\\\"col-md-3 col-sm-12 pull-right\\\">\\r\\n            <div class=\\\"col-md-6 col-sm-6 add_btn_div\\\">\\r\\n                <button [routerLink]=\\\"['/admin/add_country']\\\" class=\\\"btn add_btn\\\">{{button.add_country | translate}}<span class=\\\"fa fa-plus\\\" style=\\\"margin-left: 8px;\\\"></span></button>\\r\\n                <!--                            <a [routerLink]=\\\"['/admin/add_city']\\\" class=\\\"pull-right\\\"> <button class=\\\"btn add_btn pull-right\\\">{{button.add_city | translate}}<span class=\\\"fa fa-plus pull-right\\\" style=\\\"margin-top: 2px;\\\"></span></button></a>-->\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n<div class=\\\"wrapper wrapper-content content_top_bar_view animated fadeInRight\\\">\\r\\n    <div>\\r\\n        <div *ngFor=\\\"let i of filtered_country_list\\\">\\r\\n            <div class=\\\"col-lg-2 col-md-3 col-sm-6 col-xs-12 user_profile\\\">\\r\\n                <div class=\\\"ibox float-e-margins\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <a class=\\\"pull-right\\\" (click)=\\\"editCountry(i._id)\\\"><i class=\\\"fa fa-pencil\\\" style=\\\"font-size:20px;color:#676a6c\\\"></i></a>\\r\\n                        <h5>{{i.country_name}}</h5>\\r\\n                    </div>\\r\\n                    <div>\\r\\n                        <div class=\\\"ibox-content\\\" style=\\\"text-align: center\\\">\\r\\n                            <img alt=\\\"\\\"   src=\\\"{{helper.CONSTANT.IMAGE_BASE_URL + i.country_flag}}\\\"  >\\r\\n                            \\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content profile-content\\\">\\r\\n                            <h4><strong></strong></h4>\\r\\n                            <ul class=\\\"list-group clear-list\\\">\\r\\n                                <li class=\\\"list-group-item fist-item\\\">\\r\\n                                    <span class=\\\"pull-right\\\"> {{i.currency_sign}} </span>\\r\\n                                    {{title.currency_sign | translate}}\\r\\n                                </li>\\r\\n                                <li class=\\\"list-group-item\\\">\\r\\n                                    <span class=\\\"pull-right\\\"> {{i.country_phone_code}} </span>\\r\\n                                    {{ title.country_phone_code | translate }}\\r\\n                                </li>\\r\\n                                <li class=\\\"list-group-item\\\">\\r\\n                                    <span class=\\\"pull-right\\\"> {{i.currency_code}} </span>\\r\\n                                    {{title.currency_code | translate }}\\r\\n                                </li>\\r\\n                                <li class=\\\"list-group-item\\\">\\r\\n                                    <span class=\\\"pull-right\\\"> <ui-switch (change)=\\\"is_business_change(i._id, $event)\\\" style=\\\"float: right;\\\" [(ngModel)]=\\\"i.is_business\\\" name=\\\"is_business\\\"></ui-switch></span>\\r\\n                                    {{title.is_business_country | translate}}\\r\\n                                </li>\\r\\n                                <li class=\\\"list-group-item\\\">\\r\\n                                    <span class=\\\"pull-right\\\"> <ui-switch (change)=\\\"is_referral_user_change(i._id, $event)\\\" style=\\\"float: right;\\\" [(ngModel)]=\\\"i.is_referral_user\\\" name=\\\"is_referral_user\\\"></ui-switch></span>\\r\\n                                    {{title.referral_for_user | translate}}\\r\\n                                </li>\\r\\n                                <li class=\\\"list-group-item\\\">\\r\\n                                    <span class=\\\"pull-right\\\"> <ui-switch (change)=\\\"is_referral_store_change(i._id, $event)\\\" style=\\\"float: right;\\\" [(ngModel)]=\\\"i.is_referral_store\\\" name=\\\"is_referral_store\\\"></ui-switch></span>\\r\\n                                    {{title.referral_for_store | translate}}\\r\\n                                </li>\\r\\n                                <li class=\\\"list-group-item\\\">\\r\\n                                    <span class=\\\"pull-right\\\"> <ui-switch (change)=\\\"is_referral_provider_change(i._id, $event)\\\" style=\\\"float: right;\\\" [(ngModel)]=\\\"i.is_referral_provider\\\" name=\\\"is_referral_provider\\\"></ui-switch></span>\\r\\n                                    {{title.referral_for_provider | translate}}\\r\\n                                </li>\\r\\n                            </ul>\\r\\n\\r\\n\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n    </div>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/country/country.component.html\n// module id = 1581\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"col-md-12 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" [(ngModel)]=\\\"selected_country\\r\\n                            \\\" name=\\\"selected_country\\\" id=\\\"selected_country\\\" tabindex=\\\"4\\\">\\r\\n                        <option value=\\\"all\\\">{{title.all | translate}}</option>\\r\\n                        <option *ngFor=\\\"let country of country_list\\\" value=\\\"{{country._id}}\\\">{{country.country_name}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>    \\r\\n        </div>\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"col-md-12 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n\\r\\n                        <my-date-picker id=\\\"start_date\\\" [options]=\\\"helper.myStartDatePickerOptions\\\" placeholder=\\\"{{title.start_date | translate}}\\\" [(ngModel)]=\\\"start_date\\\" (dateChanged)=\\\"helper.onStartDateChanged($event)\\\"\\r\\n                                        readonly></my-date-picker>\\r\\n                        <span class=\\\"input-group-addon date_filter_icon\\\">To</span>\\r\\n\\r\\n                        <my-date-picker id=\\\"end_date\\\" [options]=\\\"helper.myEndDatePickerOptions\\\" placeholder=\\\"{{title.end_date | translate}}\\\" [(ngModel)]=\\\"end_date\\\" (dateChanged)=\\\"helper.onEndDateChanged($event)\\\"\\r\\n                                        readonly></my-date-picker>\\r\\n\\r\\n                    </div>\\r\\n                    <div [ngSwitch]=\\\"date_error\\\">\\r\\n                        <div *ngSwitchCase=1>\\r\\n                            <label style=\\\"color: red;\\\">{{validation_message.start_date_required}}</label>\\r\\n                        </div>\\r\\n                        <div *ngSwitchCase=2>\\r\\n                            <label style=\\\"color: red;\\\">{{validation_message.end_date_required}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\" style=\\\"margin-top: 0;\\\">\\r\\n                \\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\" style=\\\"margin-top: 0;\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"date_filter()\\\" class=\\\"btn filter_apply_btn pull-right\\\" value=\\\"{{button.apply | translate}}\\\" >\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n\\r\\n</div>\\r\\n<div class=\\\"wrapper content_top_bar_view wrapper-content animated fadeInRight\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-lg-4\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\">\\r\\n                    <h5>{{heading_title.dashboard_register_detail  | translate}}\\r\\n                    </h5>\\r\\n                </div>\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-md-6 col-sm-6 col-xs-12 dashboard_margin\\\">\\r\\n                            <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                                <img class=\\\"dashboard_icon_width\\\" src=\\\"https://hop-delivery.s3.eu-central-1.amazonaws.com/dashboard_graphics/register_details/users.png\\\">\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                                <span>{{title.dashboard_user  | translate}}</span><br>\\r\\n                                <span class=\\\"dashboard_total_lable\\\">{{list.total_users}}</span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"col-md-6 col-sm-6 col-xs-12 dashboard_margin\\\">\\r\\n                            <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                                <img class=\\\"dashboard_icon_width\\\" src=\\\"https://hop-delivery.s3.eu-central-1.amazonaws.com/dashboard_graphics/register_details/store.png\\\">\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                                <span>{{title.dashboard_store  | translate}}</span><br>\\r\\n                                <span class=\\\"dashboard_total_lable\\\">{{list.total_store}}</span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-6 col-sm-6 col-xs-12 dashboard_margin\\\">\\r\\n                            <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                                <img class=\\\"dashboard_icon_width\\\" src=\\\"https://hop-delivery.s3.eu-central-1.amazonaws.com/dashboard_graphics/register_details/deliveryman.png\\\">\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                                <span>{{title.dashboard_deliveryman  | translate}}</span><br>\\r\\n                                <span class=\\\"dashboard_total_lable\\\">{{list.total_providers}}</span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-6 col-sm-6 col-xs-12 dashboard_margin\\\">\\r\\n                            <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                                <img class=\\\"dashboard_icon_width\\\" src=\\\"https://hop-delivery.s3.eu-central-1.amazonaws.com/dashboard_graphics/register_details/country.png\\\">\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                                <span>{{title.dashboard_country  | translate}}</span><br>\\r\\n                                <span class=\\\"dashboard_total_lable\\\">{{list.total_countries}}</span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-6 col-sm-6 col-xs-12 dashboard_margin\\\">\\r\\n                            <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                                <img class=\\\"dashboard_icon_width\\\" src=\\\"https://hop-delivery.s3.eu-central-1.amazonaws.com/dashboard_graphics/register_details/city.png\\\">\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                                <span>{{title.dashboard_city  | translate}}</span><br>\\r\\n                                <span class=\\\"dashboard_total_lable\\\">{{list.total_cities}}</span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-lg-4\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\">\\r\\n                    <h5>{{heading_title.dashboard_order_detail  | translate}}\\r\\n                    </h5>\\r\\n                </div>\\r\\n                <!-- <button style=\\\"background-color: #bc1a2b;border: 0;height: 41px;width: 41px;border-radius: 4px;\\\"><span style=\\\"font-size: 20px;color: #fff;\\\" class=\\\"fa fa-user-o\\\"></span></button> -->\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-md-6 col-sm-6 col-xs-12 dashboard_margin\\\">\\r\\n                            <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                                <img class=\\\"dashboard_icon_width\\\" src=\\\"https://hop-delivery.s3.eu-central-1.amazonaws.com/dashboard_graphics/order_details/total_orders.png\\\">\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                                <span>{{title.dashboard_orders  | translate}}</span><br>\\r\\n                                <span class=\\\"dashboard_total_lable\\\">{{order_detail1.total_orders}}</span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"col-md-6 col-sm-6 col-xs-12 dashboard_margin\\\">\\r\\n                            <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                                <img class=\\\"dashboard_icon_width\\\" src=\\\"https://hop-delivery.s3.eu-central-1.amazonaws.com/dashboard_graphics/order_details/cancelled.png\\\">\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                                <span>{{title.dashboard_cancelled  | translate}}</span><br>\\r\\n                                <span class=\\\"dashboard_total_lable\\\">{{order_detail1.cancelled_order}}</span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-6 col-sm-6 col-xs-12 dashboard_margin\\\">\\r\\n                            <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                                <img class=\\\"dashboard_icon_width\\\" src=\\\"https://hop-delivery.s3.eu-central-1.amazonaws.com/dashboard_graphics/order_details/deliveries.png\\\">\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                                <span>{{title.dashboard_deliveries  | translate}}</span><br>\\r\\n                                <span class=\\\"dashboard_total_lable\\\">{{order_detail1.total_deliveries}}</span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-6 col-sm-6 col-xs-12 dashboard_margin\\\">\\r\\n                            <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                                <img class=\\\"dashboard_icon_width\\\" src=\\\"https://hop-delivery.s3.eu-central-1.amazonaws.com/dashboard_graphics/order_details/sold_items.png\\\">\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                                <span>{{title.dashboard_item_sold  | translate}}</span><br>\\r\\n                                <span class=\\\"dashboard_total_lable\\\">{{order_detail.total_item_sold}}</span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-6 col-sm-6 col-xs-12 dashboard_margin\\\">\\r\\n                            <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                                <img class=\\\"dashboard_icon_width\\\" src=\\\"https://hop-delivery.s3.eu-central-1.amazonaws.com/dashboard_graphics/order_details/completed.png\\\">\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                                <span>{{title.dashboard_completed  | translate}}</span><br>\\r\\n                                <span class=\\\"dashboard_total_lable\\\">{{order_detail.completed_order}}</span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-lg-4\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\">\\r\\n                    <h5>{{heading_title.dashboard_payment_detail  | translate}}\\r\\n                    </h5>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-md-6 col-sm-6 col-xs-12 dashboard_margin\\\">\\r\\n                            <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                                <img class=\\\"dashboard_icon_width\\\" src=\\\"https://hop-delivery.s3.eu-central-1.amazonaws.com/dashboard_graphics/payment_details/total.png\\\">\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                                <span>{{title.dashboard_total  | translate}}</span><br>\\r\\n                                <span class=\\\"dashboard_total_lable\\\">{{order_detail.total_payments.toFixed(2)}}</span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"col-md-6 col-sm-6 col-xs-12 dashboard_margin\\\">\\r\\n                            <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                                <img class=\\\"dashboard_icon_width\\\" src=\\\"https://hop-delivery.s3.eu-central-1.amazonaws.com/dashboard_graphics/payment_details/wallet.png\\\">\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                                <span>{{title.dashboard_wallet  | translate}}</span><br>\\r\\n                                <span class=\\\"dashboard_total_lable\\\">{{order_detail.wallet_payment.toFixed(2)}}</span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-6 col-sm-6 col-xs-12 dashboard_margin\\\">\\r\\n                            <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                                <img class=\\\"dashboard_icon_width\\\" src=\\\"https://hop-delivery.s3.eu-central-1.amazonaws.com/dashboard_graphics/payment_details/other_payments.png\\\">\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                                <span>{{title.dashboard_other  | translate}}</span><br>\\r\\n                                <span class=\\\"dashboard_total_lable\\\">{{order_detail.other_payment.toFixed(2)}}</span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-6 col-sm-6 col-xs-12 dashboard_margin\\\">\\r\\n                            <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                                <img class=\\\"dashboard_icon_width\\\" src=\\\"https://hop-delivery.s3.eu-central-1.amazonaws.com/dashboard_graphics/payment_details/promo.png\\\">\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                                <span>{{title.dashboard_promo  | translate}}</span><br>\\r\\n                                <span class=\\\"dashboard_total_lable\\\">{{order_detail.promo_payment.toFixed(2)}}</span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-6 col-sm-6 col-xs-12 dashboard_margin\\\">\\r\\n                            <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                                <img class=\\\"dashboard_icon_width\\\" src=\\\"https://hop-delivery.s3.eu-central-1.amazonaws.com/dashboard_graphics/payment_details/cash_payments.png\\\">\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                                <span>{{title.dashboard_cash  | translate}}</span><br>\\r\\n                                <span class=\\\"dashboard_total_lable\\\">{{order_detail.cash_payment.toFixed(2)}}</span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        \\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-lg-4\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\">\\r\\n                    <h5>{{heading_title.dashboard_admin_payment  | translate}}\\r\\n                    </h5>\\r\\n                </div>\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n\\r\\n                        <div class=\\\"col-md-12\\\" style=\\\"display: block\\\">\\r\\n                            <div id=\\\"a\\\" class=\\\"c3\\\"> </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-12\\\" style=\\\"margin-top: 28px;\\\">\\r\\n                            <div class=\\\"col-md-1 col-xs-1 col-sm-1\\\" style=\\\"padding-right: 0\\\">\\r\\n\\r\\n                                <span class=\\\"fa fa-square\\\" style=\\\"font-size: 20px;color: #e0e0e0;\\\" ></span>\\r\\n\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-5 col-xs-5 col-sm-5\\\">\\r\\n                                <span style=\\\"font-size: 15px; \\\">{{title.dashboard_total_payments  | translate}}<br><span style=\\\"font-size: 20px;color: black;\\\">{{order_detail.total_payments.toFixed(2)}}</span></span>\\r\\n\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-1 col-xs-1 col-sm-1\\\" style=\\\"padding: 0\\\">\\r\\n\\r\\n                                <span class=\\\"fa fa-square\\\" style=\\\"font-size: 20px;color: #1e1e1e;\\\" ></span>\\r\\n\\r\\n\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-5 col-xs-5 col-sm-5\\\" style=\\\"padding: 0\\\">\\r\\n                                <span style=\\\"font-size: 15px; \\\">{{title.dashboard_admin_earn  | translate}}<br><span style=\\\"font-size: 20px;color: black;\\\">{{order_detail.admin_earning.toFixed(2)}}</span></span>\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-lg-4\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\">\\r\\n                    <h5>{{heading_title.dashboard_store_payment  | translate}}\\r\\n                    </h5>\\r\\n                </div>\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n\\r\\n\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-md-12\\\" style=\\\"display: block\\\">\\r\\n                            <div id=\\\"b1\\\" class=\\\"c3\\\"> </div>\\r\\n                            <div id=\\\"b2\\\" class=\\\"c3\\\" style=\\\"position: absolute; height: 0px;top: -100px;\\\"> </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-md-12\\\" style=\\\"margin-top: 28px;\\\">\\r\\n                            <div class=\\\"col-md-1 col-xs-1 col-sm-1\\\" style=\\\"padding-right: 0\\\">\\r\\n                                <span class=\\\"fa fa-square\\\" style=\\\"font-size: 20px;color: #bb212b;\\\" ></span>\\r\\n\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-5 col-xs-5 col-sm-5\\\">\\r\\n                                <span style=\\\"font-size: 15px; \\\">{{title.dashboard_order_payments  | translate}}<br><span style=\\\"font-size: 20px;color: black;\\\">{{order_detail.order_payment.toFixed(2)}}</span></span>\\r\\n\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-1 col-xs-1 col-sm-1\\\" style=\\\"padding: 0\\\">\\r\\n                                <span class=\\\"fa fa-square\\\" style=\\\"font-size: 20px;color: #1e1e1e;\\\" ></span>\\r\\n\\r\\n\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-5 col-xs-5 col-sm-5\\\" style=\\\"padding: 0\\\">\\r\\n                                <span style=\\\"font-size: 15px; \\\">{{title.dashboard_store_earn  | translate}}<br><span style=\\\"font-size: 20px;color: black;\\\">{{order_detail.store_earning.toFixed(2)}}</span></span>\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    \\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-lg-4\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\">\\r\\n                    <h5>{{heading_title.dashboard_provider_payment  | translate}}\\r\\n                    </h5>\\r\\n                </div>\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n\\r\\n                        <div class=\\\"col-md-12\\\" style=\\\"display: block\\\">\\r\\n                            <div id=\\\"c1\\\" class=\\\"c3\\\"> </div>\\r\\n                            <div id=\\\"c2\\\" class=\\\"c3\\\" style=\\\"position: absolute; height: 0px;top: -100px;\\\"> </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-md-12\\\" style=\\\"margin-top: 28px;\\\">\\r\\n                            <div class=\\\"col-md-1 col-xs-1 col-sm-1\\\" style=\\\"padding-right: 0\\\">\\r\\n                                <span class=\\\"fa fa-square\\\" style=\\\"font-size: 20px;color: #bb212b;\\\" ></span>\\r\\n\\r\\n\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-5 col-xs-5 col-sm-5\\\">\\r\\n                                <span style=\\\"font-size: 15px; \\\">{{title.dashboard_delivery_payments  | translate}}<br><span style=\\\"font-size: 20px;color: black;\\\">{{order_detail.delivery_payment.toFixed(2)}}</span></span>\\r\\n\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-1 col-xs-1 col-sm-1\\\" style=\\\"padding: 0\\\">\\r\\n                                <span class=\\\"fa fa-square\\\" style=\\\"font-size: 20px;color: #1e1e1e;\\\" ></span>\\r\\n\\r\\n\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-5 col-xs-5 col-sm-5\\\" style=\\\"padding: 0\\\">\\r\\n                                <span style=\\\"font-size: 15px; \\\">{{title.dashboard_deliveryman_earn  | translate}}<br><span style=\\\"font-size: 20px;color: black;\\\">{{order_detail.provider_earning.toFixed(2)}}</span></span>\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    \\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n    <div class=\\\"row\\\">\\r\\n\\r\\n        <div class=\\\"col-lg-12\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\">\\r\\n                    <h5>{{heading_title.dashboard_title  | translate}}\\r\\n                    </h5>\\r\\n                </div>\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        \\r\\n                        <div class=\\\"col-md-12\\\" style=\\\"display: block\\\">\\r\\n                            <canvas baseChart\\r\\n                                    [datasets]=\\\"lineChartData\\\"\\r\\n                                    [labels]=\\\"lineChartLabels\\\"\\r\\n                                    [options]=\\\"lineChartOptions\\\"\\r\\n                                    [colors]=\\\"lineChartColors\\\"\\r\\n                                    [legend]=\\\"lineChartLegend\\\"\\r\\n                                    [chartType]=\\\"lineChartType\\\">\\r\\n\\r\\n                        </canvas>\\r\\n                    </div>\\r\\n\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n    <div class=\\\"col-lg-12\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\">\\r\\n                <h5>{{heading_title.dashboard_order_chart | translate}}\\r\\n                </h5>\\r\\n            </div>\\r\\n            <div class=\\\"ibox-content\\\">\\r\\n                <div class=\\\"row\\\">\\r\\n                   \\r\\n\\r\\n                    <div class=\\\"col-md-12\\\" style=\\\"display: block\\\">\\r\\n                        <canvas baseChart\\r\\n                                [datasets]=\\\"barChartData\\\"\\r\\n                                [labels]=\\\"barChartLabels\\\"\\r\\n                                [options]=\\\"barChartOptions\\\"\\r\\n                                [legend]=\\\"barChartLegend\\\"\\r\\n                                [chartType]=\\\"barChartType\\\"\\r\\n                                [colors]=\\\"barChartColors\\\"></canvas>\\r\\n                    </div>\\r\\n\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\t\\r\\n\\r\\n\\r\\n</div>\\r\\n<div class=\\\"row\\\">\\r\\n    <div class=\\\"col-lg-6\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\">\\r\\n                <h5>{{heading_title.dashboard_last_six_month_payment_detail | translate}}\\r\\n                </h5>\\r\\n            </div>\\r\\n            <div class=\\\"ibox-content\\\">\\r\\n                <div class=\\\"row\\\">\\r\\n                    \\r\\n\\r\\n                    <div class=\\\"col-md-6 col-sm-6 col-xs-12\\\" style=\\\"display: block\\\">\\r\\n                        <canvas baseChart\\r\\n                                [data]=\\\"pieChartData\\\"\\r\\n                                [labels]=\\\"pieChartLabels\\\"\\r\\n                                [legend]=\\\"pieChartLegend\\\"\\r\\n                                [colors]=\\\"pieChartColors\\\"\\r\\n                                [chartType]=\\\"pieChartType\\\">      \\r\\n                    </canvas>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-md-6 col-sm-6 col-xs-12\\\">\\r\\n\\r\\n                    <ul style=\\\"margin-top: 10%; margin-left: 10%;list-style-type: none;\\\">\\r\\n                        <li *ngFor=\\\"let pieChartLabel of pieChartLabels; let index=index; \\\"><span class=\\\"fa fa-square\\\" style=\\\"font-size: 20px;\\\" [style.color]=\\\"pieChartColors[0].backgroundColor[index]\\\"></span><span style=\\\"margin-left: 10px;    font-size: 15px;\\\">{{pieChartLabel}}</span></li>\\r\\n                    </ul>\\r\\n                </div>\\r\\n\\r\\n\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n<div class=\\\"col-lg-6\\\">\\r\\n    <div class=\\\"ibox\\\">\\r\\n        <div class=\\\"ibox-title\\\">\\r\\n            <h5>{{heading_title.dashboard_last_six_month_payment_detail | translate}}\\r\\n            </h5>\\r\\n        </div>\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n            <div class=\\\"row\\\">\\r\\n                \\r\\n                <div id=\\\"bar_chart_group\\\" class=\\\"c3\\\"> </div>\\r\\n\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n\\r\\n</div>\\r\\n\\r\\n<div class=\\\"row\\\">\\r\\n    <div class=\\\"col-lg-12\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\">\\r\\n                <h5>{{heading_title.dashboard_last_six_month_payment_detail | translate}}\\r\\n                </h5>\\r\\n            </div>\\r\\n            <div class=\\\"ibox-content\\\">\\r\\n                <div class=\\\"row\\\">\\r\\n                    <div id=\\\"country_chart\\\" class=\\\"c3\\\"> </div>\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/dashboard/dashboard.component.html\n// module id = 1582\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.search | translate}}</label>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"search_field\\\" [(ngModel)]=\\\"search_field\\\" name=\\\"search_field\\\" tabindex=\\\"4\\\">\\r\\n                        <!-- <option value=\\\"unique_id\\\">{{title.filter_id | translate}}</option> -->\\r\\n                        <option value=\\\"user_first_name\\\">{{title.filter_user | translate}}</option>\\r\\n                        <option value=\\\"provider_first_name\\\">{{title.filter_provider | translate}}</option>\\r\\n                        <option value=\\\"store_name\\\">{{title.filter_store | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n\\r\\n                        <input type=\\\"text\\\" class=\\\"form-control search_box\\\" [(ngModel)]=\\\"search_value\\\"  name=\\\"search_value\\\">\\r\\n                        <span class=\\\"input-group-addon search_icon\\\"><span class=\\\"fa fa-search\\\"></span></span>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <!-- <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.sort | translate}}</label>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"sort_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"sort_field\\\" [(ngModel)]=\\\"sort_field\\\" name=\\\"sort_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"unique_id\\\">{{title.filter_id | translate}}</option>\\r\\n                        <option value=\\\"user_detail.first_name\\\">{{title.filter_user | translate}}</option>\\r\\n                        <option value=\\\"provider_detail.first_name\\\">{{title.filter_provider | translate}}</option>\\r\\n                        <option value=\\\"store_detail.name\\\">{{title.filter_store | translate}}</option>\\r\\n\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"sort_orders\\\">\\r\\n\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"sort_order\\\" [(ngModel)]=\\\"sort_order\\\" name=\\\"sort_order\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"1\\\">{{title.ascending | translate}}</option>\\r\\n                        <option value=\\\"-1\\\">{{title.descending | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div> -->\\r\\n\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"col-md-6 col-sm-6\\\">\\r\\n                <div>\\r\\n                    <label>{{title.no_of_record | translate}}</label>\\r\\n                </div>\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"number_of_rec\\\" [(ngModel)]=\\\"number_of_rec\\\" name=\\\"number_of_rec\\\" tabindex=\\\"4\\\">\\r\\n                        <option value=\\\"10\\\">10</option>\\r\\n                        <option value=\\\"20\\\">20</option>\\r\\n                        <option value=\\\"50\\\">50</option>\\r\\n                        <option value=\\\"100\\\">100</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"delivery_export_csv()\\\" class=\\\"btn export_excel_btn pull-right\\\" value=\\\"{{button.export_excel | translate}}\\\" >\\r\\n            </div>\\r\\n<!--            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"delivery_export_excel()\\\" class=\\\"btn export_excel_btn pull-right\\\" value=\\\"{{button.export_excel | translate}}\\\" >\\r\\n            </div>-->\\r\\n            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"filter(1)\\\" class=\\\"btn filter_apply_btn pull-right\\\" value=\\\"{{button.apply | translate}}\\\" >\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n    </div>\\r\\n\\r\\n</div>\\r\\n\\r\\n<div class=\\\"wrapper wrapper-content content_top_bar_view1 animated fadeInRight \\\">\\r\\n    <div class=\\\"ibox\\\" *ngIf=\\\"order_list.length==0\\\">\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n            <div class=\\\"lable_center\\\" >\\r\\n                <label>No Records</label>\\r\\n            </div>\\r\\n        </div>  \\r\\n    </div>  \\r\\n    <div class=\\\"ibox\\\" *ngIf=\\\"order_list.length>0\\\">\\r\\n        <!--        <div class=\\\"ibox-title\\\">\\r\\n                    <h5>{{heading_title.deliveries | translate}}</h5>\\r\\n                </div>-->\\r\\n        <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-content\\\">\\r\\n                <div class=\\\"table-responsive\\\">\\r\\n                    <table class=\\\"table table-striped\\\">\\r\\n                        <thead class=\\\"ibox-title\\\">\\r\\n                            <tr>\\r\\n\\r\\n\\r\\n                                <th>{{title.ID | translate}}</th>\\r\\n                                <th>{{title.time | translate}}</th>\\r\\n                                <th>{{title.store_address | translate}}</th>\\r\\n                                <th>{{title.distance | translate}}</th>\\r\\n                                <th>{{title.name_hopper | translate}}</th>\\r\\n                                <th>{{title.status | translate}}</th>\\r\\n                                <th>{{title.action | translate}}</th>\\r\\n                            </tr>\\r\\n                        </thead>\\r\\n                        <tbody>\\r\\n                            <tr *ngFor=\\\"let order of order_list; let index=index; let last=last;\\\">\\r\\n                                <td>{{order.order_detail.unique_id}}</td>\\r\\n                                <!-- <td *ngIf=\\\"order.order_detail.is_schedule_order==false\\\">{{lable_title.asap}}\\r\\n                                    <br><span *ngIf=\\\"order.order_detail.estimated_time_for_delivery_order\\\">Delivery at: {{order.order_detail.estimated_time_for_delivery_order | date: 'HH:mm'}}</span>\\r\\n                                </td> -->\\r\\n                                <td>\\r\\n                                    <span [class.time_changed]=\\\"order.order_detail.is_time_updated\\\"><b>Ready</b> at {{order.order_detail.estimated_time_for_ready_order | date: 'HH:mm'}}</span>\\r\\n                                    <br><span [class.time_changed]=\\\"order.order_detail.is_time_updated\\\" *ngIf=\\\"order.order_detail.estimated_time_for_delivery_order\\\"><b>Delivery</b> at {{order.order_detail.estimated_time_for_delivery_order | date: 'HH:mm'}}</span>\\r\\n\\r\\n                                   <!--  {{order.order_detail.schedule_order_start_at | date: DATE_FORMAT.DD_MMM_YYYY_HH_MM_A}}\\r\\n                                    <br><span *ngIf=\\\"order.order_detail.estimated_time_for_delivery_order\\\"><b>Delivery</b> at: {{order.order_detail.estimated_time_for_delivery_order | date: 'HH:mm'}}</span> -->\\r\\n                                </td>\\r\\n                                <td>\\r\\n                                    {{order.order_detail.store_name}}\\r\\n                                    <br>\\r\\n                                    {{order.order_detail.destination_address}}\\r\\n                                </td>\\r\\n                                <td>\\r\\n                                    <div *ngIf=\\\"order.order_detail.total_time && order.order_detail.total_distance\\\">\\r\\n                                        {{order.order_detail.total_time.toFixed(2)}} min && {{order.order_detail.total_distance.toFixed(2)}} \\r\\n                                        <span *ngIf=\\\"order.order_detail.is_distance_unit_mile\\\">mile</span>\\r\\n                                        <span *ngIf=\\\"!order.order_detail.is_distance_unit_mile\\\">km</span>\\r\\n                                    </div>\\r\\n                                </td>\\r\\n                                <!-- <td>{{order.city_detail.city_name}}</td> -->\\r\\n\\r\\n                                <td *ngIf=\\\"order.current_provider\\\" (click)=\\\"change_deliveryman(order.order_detail._id, order.current_provider)\\\"><div >{{order.order_detail.provider_first_name}} {{order.order_detail.provider_last_name}}</div></td>\\r\\n                                <td *ngIf=\\\"!order.current_provider\\\" (click)=\\\"change_deliveryman(order.order_detail._id, '')\\\"><div>------</div></td>\\r\\n                                <td [ngSwitch]=\\\"order.delivery_status\\\">\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.WAITING_FOR_DELIVERY_MAN\\\" (click)=\\\"acceptrequest(order.current_provider, order._id, ORDER_STATE.DELIVERY_MAN_ACCEPTED)\\\"><span class=\\\"label label-info_new\\\">{{status.waiting_for_delivery_man | translate}}</span></div>\\r\\n\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_ACCEPTED\\\" (click)=\\\"acceptrequest(order.current_provider, order._id, ORDER_STATE.DELIVERY_MAN_COMING)\\\"><span class=\\\"label label-primary_new\\\">{{status.delivery_man_accepted}}</span></div>\\r\\n\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_COMING\\\" (click)=\\\"acceptrequest(order.current_provider, order._id, ORDER_STATE.DELIVERY_MAN_ARRIVED)\\\"><span class=\\\"label label-info_new\\\">{{status.delivery_man_coming}}</span></div>\\r\\n\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_ARRIVED\\\" (click)=\\\"acceptrequest(order.current_provider, order._id, ORDER_STATE.DELIVERY_MAN_PICKED_ORDER)\\\"><span class=\\\"label label-info_new\\\">{{status.delivery_man_arrived}}</span></div>\\r\\n\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\\\" (click)=\\\"acceptrequest(order.current_provider, order._id, ORDER_STATE.DELIVERY_MAN_STARTED_DELIVERY)\\\"><span class=\\\"label label-info_new\\\">{{status.picked_order}}</span></div>\\r\\n\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_STARTED_DELIVERY\\\" (click)=\\\"acceptrequest(order.current_provider, order._id, ORDER_STATE.DELIVERY_MAN_ARRIVED_AT_DESTINATION)\\\"><span class=\\\"label label-info_new\\\">{{status.started_for_delivery}}</span></div>\\r\\n\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_ARRIVED_AT_DESTINATION\\\" (click)=\\\"completerequest(order.current_provider, order._id)\\\"><span class=\\\"label label-info_new\\\">{{status.arrived_at_destination}}</span></div>\\r\\n\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.STORE_CANCELLED_REQUEST\\\" (click)=\\\"orderAssignProvider(order.order_detail._id, order.order_detail.store_id)\\\"><span class=\\\"label label-primary_new\\\">{{status.store_cancelled_request}}</span></div>\\r\\n\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.ORDER_COMPLETED\\\"><span class=\\\"label label-primary_new\\\">{{status.completed}}</span></div>\\r\\n\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.NO_DELIVERY_MAN_FOUND\\\" (click)=\\\"orderAssignProvider(order.order_detail._id, order.order_detail.store_id)\\\"><span class=\\\"label label-danger\\\">{{status.no_delivery_man_found}}</span></div>\\r\\n\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_REJECTED\\\" (click)=\\\"orderAssignProvider(order.order_detail._id, order.order_detail.store_id)\\\"><span class=\\\"label label-danger\\\">{{status.no_delivery_man_found}}</span></div>\\r\\n\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_CANCELLED\\\" (click)=\\\"orderAssignProvider(order.order_detail._id, order.order_detail.store_id)\\\"><span class=\\\"label label-danger\\\">{{status.no_delivery_man_found}}</span></div>\\r\\n\\r\\n                                </td>\\r\\n\\r\\n                                <td><div class=\\\"dropdown \\\" [class.dropup]=\\\"last && !index==0\\\" dropdown>\\r\\n                                        <button class=\\\"btn btn-primary\\\" dropdown-open>{{title.action | translate}}<span class=\\\"caret\\\"></span></button>\\r\\n\\r\\n\\r\\n                                        <ul class=\\\"dropdown-menu\\\">\\r\\n                                            <li><a (click)=\\\"viewRequestOrder_detail(order.order_detail._id)\\\" ><span style=\\\"display:block;\\\" class=\\\"nav-label\\\">{{button.view_detail | translate}}</span> </a></li>\\r\\n                                            <li><a (click)=\\\"editOrder(order.order_detail.store_id, order.order_detail._id)\\\" ><span style=\\\"display:block;\\\" class=\\\"nav-label\\\">{{button.edit | translate}}</span> </a></li>\\r\\n                                            <li><a (click)=\\\"cancelOrder(order.order_detail.store_id, order.order_detail._id)\\\" ><span style=\\\"display:block;\\\" class=\\\"nav-label\\\">{{button.cancel | translate}}</span> </a></li>\\r\\n                                            <li *ngIf=\\\"order.delivery_status==ORDER_STATE.WAITING_FOR_DELIVERY_MAN\\\"><a (click)=\\\"rejectrequest(order.provider_detail._id, order._id)\\\" ><span style=\\\"display:block;\\\" class=\\\"nav-label\\\">{{button.reject | translate}}</span> </a></li>\\r\\n\\r\\n                                        </ul>\\r\\n                                    </div>\\r\\n                                </td>\\r\\n\\r\\n\\r\\n                            </tr>\\r\\n                        </tbody>\\r\\n                    </table>\\r\\n                </div>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n    <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n        <div class=\\\"lable_center\\\">\\r\\n\\r\\n            <ul class=\\\"pagination\\\">\\r\\n                <li *ngIf=\\\"page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"filter(page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page==index\\\">\\r\\n                    <a *ngIf=\\\"index==1 || index==total_page || index==page || index==page-1 || index==page+1\\\" (click)=\\\"filter(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                    <a *ngIf=\\\"(index==1 && (page!==1 && page!==2 && page!==3)) || (index==total_page-1 && (page!==total_page && page!==total_page-1 && page!==total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n\\r\\n                </li>\\r\\n                <li *ngIf=\\\"page!==total_page && order_list.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"filter(page+1)\\\">{{button.next | translate}}</a></li>\\r\\n            </ul>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n</div>\\r\\n\\r\\n\\r\\n<modal cssClass=\\\"modal-sm\\\" #deliveryman_modal>\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n        <label>{{heading_title.change_deliveryman | translate}}</label>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n        \\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"form-group\\\">\\r\\n                <select chosen class=\\\"chosen-select\\\" id=\\\"provider_id\\\" [(ngModel)]=\\\"provider_id\\\" name=\\\"provider_id\\\" tabindex=\\\"4\\\">\\r\\n                    <option value=\\\"\\\">Select Deliveryman</option>\\r\\n                    <option *ngFor=\\\"let provider of provider_list;\\\" value=\\\"{{provider._id}}\\\">\\r\\n                        <span *ngIf=\\\"provider.is_online && provider.request_count==0\\\" style=\\\"color: green;\\\">{{provider.first_name}} {{provider.last_name}}</span>\\r\\n                        <span *ngIf=\\\"provider.is_online && provider.request_count>0\\\" style=\\\"color: orange;\\\">{{provider.first_name}} {{provider.last_name}}</span>\\r\\n                        <span *ngIf=\\\"!provider.is_online\\\" style=\\\"color: black;\\\">{{provider.first_name}} {{provider.last_name}}</span>\\r\\n\\r\\n                        <span>({{provider.vehicle_name}})</span>\\r\\n                        <span *ngIf=\\\"provider.request_count>0\\\">({{provider.request_count}})</span> \\r\\n                    </option>\\r\\n                </select>\\r\\n            </div>\\r\\n        </div>\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n        <div style=\\\"text-align: center;\\\">\\r\\n            <button type=\\\"button\\\" class=\\\"btn btn-black\\\" (click)=\\\"assign_new_provider()\\\">{{button.submit | translate}}</button>\\r\\n        </div>\\r\\n    </modal-footer>\\r\\n</modal>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/deliveries/deliveries.component.html\n// module id = 1583\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer> \\r\\n\\r\\n\\r\\n<!--<div class=\\\"row wrapper col-sm-12 col-md-12 col-xs-12 col-lg-12 fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-3 col-sm-12 pull-right\\\">\\r\\n            <div class=\\\"col-md-6 col-sm-6 add_btn_div\\\">\\r\\n\\r\\n                <button [routerLink]=\\\"['/admin/add_delivery']\\\" class=\\\"btn add_btn pull-right\\\" style=\\\"margin-bottom: 10px;margin-right: 50px;\\\">{{button.add_delivery | translate}}<span class=\\\"fa fa-plus\\\" style=\\\"margin-left: 8px;\\\"></span></button>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>-->\\r\\n\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n\\r\\n        <div class=\\\"col-md-8 col-sm-12\\\">\\r\\n            <div class=\\\"col-md-12 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n\\r\\n                        <input type=\\\"text\\\" (keyup)=\\\"filter_delivery_list(filter_delivery_name)\\\" class=\\\"form-control search_box\\\" [(ngModel)]=\\\"filter_delivery_name\\\" placeholder=\\\"Search Delivery\\\" style=\\\"color:#000000;\\\" name=\\\"filter_delivery_name\\\">\\r\\n                        <span class=\\\"input-group-addon search_icon\\\"><span class=\\\"fa fa-search\\\"></span></span>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n        <div class=\\\"col-md-2 col-sm-12 pull-right\\\">\\r\\n            <div class=\\\"col-md-6 col-sm-6 add_btn_div\\\">\\r\\n                <button [routerLink]=\\\"['/admin/add_delivery']\\\" class=\\\"btn add_btn pull-right\\\" style=\\\"margin-bottom: 10px;margin-right: 50px;\\\">{{button.add_delivery | translate}}<span class=\\\"fa fa-plus\\\" style=\\\"margin-left: 8px;\\\"></span></button>\\r\\n                <!--                            <a [routerLink]=\\\"['/admin/add_city']\\\" class=\\\"pull-right\\\"> <button class=\\\"btn add_btn pull-right\\\">{{button.add_city | translate}}<span class=\\\"fa fa-plus pull-right\\\" style=\\\"margin-top: 2px;\\\"></span></button></a>-->\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>  \\r\\n</div>\\r\\n\\r\\n<div class=\\\"wrapper wrapper-content content_top_bar_view animated fadeInRight\\\">\\r\\n\\r\\n    <div>\\r\\n        <div *ngFor=\\\"let i of filtered_delivery_list\\\">\\r\\n            <div class=\\\"col-md-4\\\">\\r\\n                <div class=\\\"ibox float-e-margins\\\" (click)=\\\"editDelivery(i._id, $event)\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <ui-switch (change)=\\\"is_business_change(i._id, $event)\\\" class=\\\"pull-right\\\" style=\\\"float: right;margin-top:6px\\\" [(ngModel)]=\\\"i.is_business\\\" name=\\\"is_business\\\"></ui-switch>\\r\\n                        <span class=\\\"pull-right\\\" style=\\\"margin-right: 32px;margin-top: 2px;font-size: 20px;\\\" (click)=\\\"copy_delivery(i._id)\\\">\\r\\n                            <i class=\\\"fa fa-copy\\\"></i>\\r\\n                        </span>\\r\\n                        <h2><b><strong>{{i.delivery_name | translate}}</strong></b></h2>\\r\\n                    </div>\\r\\n                    <div>\\r\\n                        <div class=\\\"ibox-content add_img_bg no-padding border-left-right\\\">\\r\\n                            <img alt=\\\"\\\" class=\\\"img-responsive\\\" src=\\\"{{i.image_url != '' ? helper.CONSTANT.IMAGE_BASE_URL + i.image_url : 'plus_box.png'}}\\\">\\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content profile-content\\\" style=\\\"height: 60px; overflow-y: hidden;\\\">\\r\\n                            <p>\\r\\n                                {{i.description}}\\r\\n                            </p>\\r\\n                        </div>\\r\\n\\r\\n                        <!--                        <div style=\\\"height: 60px; overflow-y: hidden;\\\">\\r\\n                                                    <address class=\\\"m-t-md\\\">\\r\\n                                                        {{i.description}}\\r\\n                                                    </address>\\r\\n                                                </div>-->\\r\\n\\r\\n                    </div>\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n    </div>\\r\\n</div>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/delivery/delivery.component.html\n// module id = 1584\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\"></footer>\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n  <div class=\\\"row\\\">\\r\\n    <div class=\\\"col-md-8 col-sm-12\\\">\\r\\n      <div class=\\\"col-md-2 col-sm-6\\\">\\r\\n        <div class=\\\"lable_center\\\">\\r\\n          <label>{{ title.type_of_order | translate }}</label>\\r\\n        </div>\\r\\n        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"type_of_order\\\"\\r\\n            [(ngModel)]=\\\"helper.router_id.filter.type_of_order\\\"\\r\\n            name=\\\"type_of_order\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <option value=\\\"0\\\">both</option>\\r\\n            <option value=\\\"1\\\">{{ title.hop_delivery | translate }}</option>\\r\\n            <option value=\\\"2\\\">{{ title.hop_on_demand | translate }}</option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-2 col-sm-6 remove_padding\\\">\\r\\n        <div class=\\\"lable_center\\\">\\r\\n          <label>{{ title.country | translate }}</label>\\r\\n        </div>\\r\\n        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            multiple\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"country_dispatcher\\\"\\r\\n            [(ngModel)]=\\\"country_ids\\\"\\r\\n            name=\\\"country_ids\\\"\\r\\n            data-placeholder=\\\"Select Country\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <!-- <option value=\\\"\\\">All</option> -->\\r\\n            <option *ngFor=\\\"let i of country_list\\\" value=\\\"{{ i._id }}\\\">\\r\\n              {{ i.country_name }}\\r\\n            </option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-2 col-sm-6 remove_padding\\\">\\r\\n        <div class=\\\"lable_center\\\">\\r\\n          <label>{{ title.city | translate }}</label>\\r\\n        </div>\\r\\n        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            multiple\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"city_dispatcher\\\"\\r\\n            [(ngModel)]=\\\"city_ids\\\"\\r\\n            name=\\\"city_ids\\\"\\r\\n            data-placeholder=\\\"Select City\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <!-- <option value=\\\"\\\">All</option> -->\\r\\n            <option *ngFor=\\\"let i of city_list\\\" value=\\\"{{ i._id }}\\\">\\r\\n              {{ i.city_name }}\\r\\n            </option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-3 col-sm-6\\\">\\r\\n        <div class=\\\"lable_center\\\">\\r\\n          <label>{{ title.store | translate }}</label>\\r\\n        </div>\\r\\n        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"store_dispatcher\\\"\\r\\n            multiple\\r\\n            [(ngModel)]=\\\"helper.router_id.filter.store_ids\\\"\\r\\n            name=\\\"store_ids\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <!-- <option value=\\\"\\\">All</option> -->\\r\\n            <option *ngFor=\\\"let i of store_list\\\" value=\\\"{{ i._id }}\\\">\\r\\n              {{ i.name + \\\"(\\\" + i.email + \\\")\\\" }}\\r\\n            </option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-3 col-sm-6 remove_padding\\\">\\r\\n        <div class=\\\"lable_center\\\">\\r\\n          <label>{{ title.hopper | translate }}</label>\\r\\n        </div>\\r\\n        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"provider_dispatcher\\\"\\r\\n            multiple\\r\\n            [(ngModel)]=\\\"helper.router_id.filter.provider_ids\\\"\\r\\n            name=\\\"provider_ids\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <!-- <option value=\\\"\\\">All</option> -->\\r\\n            <option *ngFor=\\\"let i of search_provider_list\\\" value=\\\"{{ i._id }}\\\">\\r\\n              {{ i.first_name + \\\" \\\" + i.last_name + \\\"(\\\" + i.email + \\\")\\\" }}\\r\\n            </option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n    <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n      <div class=\\\"col-md-4 col-sm-4 filter_btn_div\\\">\\r\\n        <button\\r\\n          type=\\\"button\\\"\\r\\n          class=\\\"btn pull-right pre_order_button\\\"\\r\\n          (click)=\\\"change_team()\\\"\\r\\n        >\\r\\n          {{ team_name || \\\"Admin\\\" }}\\r\\n        </button>\\r\\n      </div>\\r\\n      <!-- <div class=\\\"col-md-3 col-sm-3 filter_btn_div\\\">\\r\\n        <button\\r\\n          type=\\\"button\\\"\\r\\n          class=\\\"btn pull-right pre_order_button\\\"\\r\\n          (click)=\\\"open_uber_eats()\\\"\\r\\n        >\\r\\n          Uber Eats\\r\\n        </button>\\r\\n      </div> -->\\r\\n      <div class=\\\"col-md-4 col-sm-4 filter_btn_div\\\">\\r\\n        <button\\r\\n          type=\\\"button\\\"\\r\\n          (click)=\\\"delay_order()\\\"\\r\\n          [class.delay_order_button]=\\\"is_main_delay_order\\\"\\r\\n          [class.not_delay_order_button]=\\\"!is_main_delay_order\\\"\\r\\n          class=\\\"btn pull-right\\\"\\r\\n        >\\r\\n          {{ title.is_delay_order | translate }} -\\r\\n          <span *ngIf=\\\"!is_main_delay_order\\\">{{\\r\\n            helper.title.no | translate\\r\\n          }}</span>\\r\\n          <span *ngIf=\\\"is_main_delay_order\\\">{{\\r\\n            helper.title.yes | translate\\r\\n          }}</span>\\r\\n        </button>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-4 col-sm-4 filter_btn_div\\\">\\r\\n        <button\\r\\n          type=\\\"button\\\"\\r\\n          (click)=\\\"preorder()\\\"\\r\\n          class=\\\"btn pre_order_button pull-right\\\"\\r\\n        >\\r\\n          <span *ngIf=\\\"!is_schedule_order\\\">{{\\r\\n            button.preroder | translate\\r\\n          }}</span>\\r\\n          <span *ngIf=\\\"is_schedule_order\\\">{{\\r\\n            helper.lable_title.asap | translate\\r\\n          }}</span>\\r\\n          <span class=\\\"pre_order_count\\\">{{ preorder_count }}</span>\\r\\n        </button>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n\\r\\n  <div class=\\\"row\\\">\\r\\n    <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n      <div class=\\\"col-md-8 col-sm-8 remove_padding\\\">\\r\\n        <div class=\\\"lable_center\\\">\\r\\n          <label>{{ title.search | translate }}</label>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-6 col-sm-6\\\">\\r\\n          <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n            <select\\r\\n              chosen\\r\\n              class=\\\"chosen-select\\\"\\r\\n              id=\\\"search_field\\\"\\r\\n              [(ngModel)]=\\\"helper.router_id.filter.search_field\\\"\\r\\n              name=\\\"search_field\\\"\\r\\n              tabindex=\\\"4\\\"\\r\\n            >\\r\\n              <!-- <option value=\\\"unique_id\\\">{{title.filter_id | translate}}</option> -->\\r\\n              <option value=\\\"user_first_name\\\">\\r\\n                {{ title.filter_user | translate }}\\r\\n              </option>\\r\\n              <option value=\\\"provider_first_name\\\">\\r\\n                {{ title.filter_provider | translate }}\\r\\n              </option>\\r\\n              <option value=\\\"store_name\\\">\\r\\n                {{ title.filter_store | translate }}\\r\\n              </option>\\r\\n              <option value=\\\"unique_id\\\">\\r\\n                {{ title.filter_id | translate }}\\r\\n              </option>\\r\\n            </select>\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n          <div class=\\\"form-group\\\">\\r\\n            <div class=\\\"input-group\\\">\\r\\n              <input\\r\\n                type=\\\"text\\\"\\r\\n                class=\\\"form-control search_box\\\"\\r\\n                [(ngModel)]=\\\"helper.router_id.filter.search_value\\\"\\r\\n                name=\\\"search_value\\\"\\r\\n              />\\r\\n              <span class=\\\"input-group-addon search_icon\\\"\\r\\n                ><span class=\\\"fa fa-search\\\"></span\\r\\n              ></span>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-4 col-sm-4\\\">\\r\\n        <div>\\r\\n          <label>{{ title.no_of_record | translate }}</label>\\r\\n        </div>\\r\\n        <div class=\\\"form-group\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"number_of_rec\\\"\\r\\n            [(ngModel)]=\\\"helper.router_id.filter.number_of_rec\\\"\\r\\n            name=\\\"number_of_rec\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <option value=\\\"10\\\">10</option>\\r\\n            <option value=\\\"20\\\">20</option>\\r\\n            <option value=\\\"50\\\">50</option>\\r\\n            <option value=\\\"100\\\">100</option>\\r\\n            <option value=\\\"150\\\">150</option>\\r\\n            <option value=\\\"200\\\">200</option>\\r\\n            <option value=\\\"250\\\">250</option>\\r\\n            <option value=\\\"300\\\">300</option>\\r\\n            <option value=\\\"500\\\">500</option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n    <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n      <div class=\\\"col-md-4 col-sm-4 filter_btn_div\\\">\\r\\n        <input\\r\\n          type=\\\"button\\\"\\r\\n          (click)=\\\"filter(1, true)\\\"\\r\\n          class=\\\"btn filter_apply_btn pull-right\\\"\\r\\n          value=\\\"{{ button.apply | translate }}\\\"\\r\\n        />\\r\\n      </div>\\r\\n      <div class=\\\"col-md-4 col-sm-4 filter_btn_div\\\">\\r\\n        <input\\r\\n          type=\\\"button\\\"\\r\\n          (click)=\\\"clear_filter()\\\"\\r\\n          class=\\\"btn filter_apply_btn pull-right\\\"\\r\\n          value=\\\"{{ button.clear | translate }}\\\"\\r\\n        />\\r\\n      </div>\\r\\n      <div class=\\\"col-md-4 col-sm-4 filter_btn_div\\\">\\r\\n        <input\\r\\n          type=\\\"button\\\"\\r\\n          (click)=\\\"open_city_modal()\\\"\\r\\n          class=\\\"btn filter_apply_btn pull-right\\\"\\r\\n          value=\\\"Automatic/Manual\\\"\\r\\n        />\\r\\n      </div>\\r\\n    </div>\\r\\n    <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n      <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n        <button\\r\\n          type=\\\"button\\\"\\r\\n          class=\\\"btn pre_order_button pull-right\\\"\\r\\n          (click)=\\\"is_sort_by_hopper_chnage(!is_sort_by_hopper)\\\"\\r\\n        >\\r\\n          <span *ngIf=\\\"is_sort_by_hopper\\\">{{\\r\\n            helper.title.listed_by_hopper_status | translate\\r\\n          }}</span>\\r\\n          <span *ngIf=\\\"!is_sort_by_hopper\\\">{{\\r\\n            helper.title.listed_by_ready_time | translate\\r\\n          }}</span>\\r\\n        </button>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n        <button\\r\\n          type=\\\"button\\\"\\r\\n          (click)=\\\"get_dispatcher_provider_list()\\\"\\r\\n          class=\\\"btn pre_order_button pull-right\\\"\\r\\n          style=\\\"background-color: #aadefa; border-color: #aadefa; color: black\\\"\\r\\n        >\\r\\n          <span *ngIf=\\\"!is_show_order\\\">{{\\r\\n            helper.title.earning_orders | translate\\r\\n          }}</span>\\r\\n          <span *ngIf=\\\"is_show_order\\\">\\r\\n            <span class=\\\"pull-left\\\">{{\\r\\n              available_providers.length +\\r\\n                in_delivery_providers.length +\\r\\n                soon_available_providers.length\\r\\n            }}</span>\\r\\n            {{ helper.title.hopper | translate }}\\r\\n            <span class=\\\"pull-right\\\">{{ available_providers.length }}</span>\\r\\n          </span>\\r\\n        </button>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n</div>\\r\\n\\r\\n<div class=\\\"wrapper wrapper-content content_top_bar_view3 animated fadeInRight\\\">\\r\\n  <div class=\\\"ibox\\\" *ngIf=\\\"order_list.length == 0 && is_show_order\\\">\\r\\n    <div class=\\\"ibox-content\\\">\\r\\n      <div class=\\\"lable_center\\\">\\r\\n        <label>No Records</label>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n\\r\\n  <div class=\\\"ibox\\\" *ngIf=\\\"order_list.length > 0 && is_show_order\\\">\\r\\n    <!--        <div class=\\\"ibox-title\\\">\\r\\n                    <h5>{{heading_title.deliveries | translate}}</h5>\\r\\n                </div>-->\\r\\n    <div class=\\\"ibox\\\">\\r\\n      <div class=\\\"ibox-content\\\">\\r\\n        <div class=\\\"table-responsive\\\">\\r\\n          <table class=\\\"table dispatcher_table table-striped\\\">\\r\\n            <thead class=\\\"ibox-title\\\">\\r\\n              <tr>\\r\\n                <th>{{ title.ID | translate }}</th>\\r\\n                <th></th>\\r\\n                <th>{{ title.time | translate }}</th>\\r\\n                <th class=\\\"text_align\\\">{{ title.customer | translate }}</th>\\r\\n                <th class=\\\"text_align\\\">{{ title.status | translate }}</th>\\r\\n                <th class=\\\"text_align\\\">{{ title.store | translate }}</th>\\r\\n                <th class=\\\"text_align\\\">{{ title.postal_code | translate }}</th>\\r\\n                <th class=\\\"text_align\\\">\\r\\n                  {{ title.delivery_address | translate }}\\r\\n                </th>\\r\\n                <th class=\\\"text_align\\\">\\r\\n                  {{ title.distance_user_to_store | translate }}\\r\\n                </th>\\r\\n                <th class=\\\"text_align\\\">{{ title.amount | translate }}</th>\\r\\n                <th class=\\\"text_align\\\">{{ title.name_hopper | translate }}</th>\\r\\n                <th class=\\\"text_align\\\">{{ title.status | translate }}</th>\\r\\n                <th>{{ title.action | translate }}</th>\\r\\n              </tr>\\r\\n            </thead>\\r\\n            <tbody\\r\\n              *ngFor=\\\"\\r\\n                let order of order_list;\\r\\n                let index = index;\\r\\n                let last = last\\r\\n              \\\"\\r\\n            >\\r\\n              <tr class=\\\"title_tr\\\" *ngIf=\\\"new_order_count > 0 && index == 0\\\">\\r\\n                <td colspan=\\\"13\\\" class=\\\"text_align\\\">NOUVELLE COMMANDES</td>\\r\\n              </tr>\\r\\n\\r\\n              <tr\\r\\n                class=\\\"title_tr\\\"\\r\\n                *ngIf=\\\"accepted_order_count > 0 && index == new_order_count\\\"\\r\\n              >\\r\\n                <td colspan=\\\"13\\\" class=\\\"text_align\\\">\\r\\n                  COMMANDES EN PREPARATION\\r\\n                </td>\\r\\n              </tr>\\r\\n\\r\\n              <tr\\r\\n                class=\\\"title_tr\\\"\\r\\n                *ngIf=\\\"\\r\\n                  ready_order_count > 0 &&\\r\\n                  index == accepted_order_count + new_order_count\\r\\n                \\\"\\r\\n              >\\r\\n                <td colspan=\\\"13\\\" class=\\\"text_align\\\">COMMANDES PRETES</td>\\r\\n              </tr>\\r\\n\\r\\n              <tr\\r\\n                class=\\\"title_tr\\\"\\r\\n                *ngIf=\\\"\\r\\n                  pickup_order_count > 0 &&\\r\\n                  index ==\\r\\n                    ready_order_count + new_order_count + accepted_order_count\\r\\n                \\\"\\r\\n              >\\r\\n                <td colspan=\\\"13\\\" class=\\\"text_align\\\">PICK UP</td>\\r\\n              </tr>\\r\\n\\r\\n              <tr\\r\\n                class=\\\"title_tr\\\"\\r\\n                *ngIf=\\\"\\r\\n                  order_pay_order_count > 0 &&\\r\\n                  index ==\\r\\n                    pickup_order_count +\\r\\n                      ready_order_count +\\r\\n                      new_order_count +\\r\\n                      accepted_order_count\\r\\n                \\\"\\r\\n              >\\r\\n                <td colspan=\\\"13\\\" class=\\\"text_align\\\">ORDER PAY</td>\\r\\n              </tr>\\r\\n\\r\\n              <tr\\r\\n                [class.late_accpet]=\\\"\\r\\n                  order.creation_time_diff >= 5 &&\\r\\n                  order.order_status == ORDER_STATE.WAITING_FOR_ACCEPT_STORE &&\\r\\n                  !order.is_schedule_order\\r\\n                \\\"\\r\\n                [class.no_hopper]=\\\"\\r\\n                  (order.delivery_status == ORDER_STATE.NO_DELIVERY_MAN_FOUND ||\\r\\n                    order.delivery_status ==\\r\\n                      ORDER_STATE.WAITING_FOR_DELIVERY_MAN) &&\\r\\n                  order.order_status == ORDER_STATE.OREDER_READY\\r\\n                \\\"\\r\\n                [hidden]=\\\"\\r\\n                  ((!selected_provider_id ||\\r\\n                    selected_provider_id != order.provider_id) &&\\r\\n                    (!selected_store_id ||\\r\\n                      selected_store_id != order.store_id) &&\\r\\n                    (!order.dispatcher_color_code ||\\r\\n                      order.dispatcher_color_code !== selected_color) &&\\r\\n                    show_type !== order.show_type &&\\r\\n                    show_type !== 0 &&\\r\\n                    !check_order_show_type(order.order_show_type)) ||\\r\\n                  (order.is_hopper_on_demand &&\\r\\n                    helper.router_id.filter.type_of_order == 1) ||\\r\\n                  (!order.is_hopper_on_demand &&\\r\\n                    helper.router_id.filter.type_of_order == 2)\\r\\n                \\\"\\r\\n              >\\r\\n                <!-- [clipboard]=\\\"order.unique_id\\\"  -->\\r\\n                <td (click)=\\\"copy_order_number(order.unique_id)\\\">\\r\\n                  <span\\r\\n                    class=\\\"label\\\"\\r\\n                    style=\\\"font-size: 20px; font-weight: bold\\\"\\r\\n                    *ngIf=\\\"\\r\\n                      is_smart_dispatch &&\\r\\n                      !order.is_user_pick_up_order &&\\r\\n                      order.delivery_status <\\r\\n                        ORDER_STATE.DELIVERY_MAN_STARTED_DELIVERY &&\\r\\n                      order.dispatcher_color_code\\r\\n                    \\\"\\r\\n                    style=\\\"\\r\\n                      padding: 1px 6px;\\r\\n                      position: unset !important;\\r\\n                      border-radius: 50%;\\r\\n                    \\\"\\r\\n                    [ngStyle]=\\\"{ background: order.dispatcher_color_code }\\\"\\r\\n                  >\\r\\n                  </span>\\r\\n                  <span\\r\\n                    style=\\\"font-size: 20px; font-weight: bold\\\"\\r\\n                    *ngIf=\\\"\\r\\n                      !order.is_user_pick_up_order &&\\r\\n                      !order.is_catering &&\\r\\n                      order.is_payment_paid !== false\\r\\n                    \\\"\\r\\n                    [class.label-hopper]=\\\"order.is_hopper_on_demand\\\"\\r\\n                    [class.label-store]=\\\"order.order_type == 2\\\"\\r\\n                    [class.label]=\\\"\\r\\n                      order.is_hopper_on_demand || order.order_type == 2\\r\\n                    \\\"\\r\\n                    >{{ order.unique_id }}\\r\\n                    <span *ngIf=\\\"order.collection_code\\\">\\r\\n                      / {{ order.collection_code }}</span\\r\\n                    >\\r\\n                  </span>\\r\\n                  <span\\r\\n                    style=\\\"font-size: 20px; font-weight: bold\\\"\\r\\n                    *ngIf=\\\"order.is_payment_paid == false\\\"\\r\\n                    class=\\\"label label-danger\\\"\\r\\n                    >{{ order.unique_id }}</span\\r\\n                  >\\r\\n                  <span\\r\\n                    style=\\\"font-size: 20px; font-weight: bold\\\"\\r\\n                    *ngIf=\\\"order.is_payment_paid !== false && order.is_catering\\\"\\r\\n                    class=\\\"label label-catering\\\"\\r\\n                    >{{ order.unique_id }}</span\\r\\n                  >\\r\\n                  <span\\r\\n                    style=\\\"font-size: 20px; font-weight: bold\\\"\\r\\n                    *ngIf=\\\"\\r\\n                      order.is_payment_paid !== false &&\\r\\n                      order.is_user_pick_up_order &&\\r\\n                      order.is_order_pay\\r\\n                    \\\"\\r\\n                    class=\\\"label label-yellow\\\"\\r\\n                    >{{ order.unique_id }}</span\\r\\n                  >\\r\\n                  <span\\r\\n                    style=\\\"font-size: 20px; font-weight: bold\\\"\\r\\n                    *ngIf=\\\"\\r\\n                      order.is_payment_paid !== false &&\\r\\n                      order.is_user_pick_up_order &&\\r\\n                      !order.is_order_pay\\r\\n                    \\\"\\r\\n                    class=\\\"label label-pink\\\"\\r\\n                    >{{ order.unique_id }}</span\\r\\n                  >\\r\\n                </td>\\r\\n                <td>\\r\\n                  <span\\r\\n                    *ngIf=\\\"\\r\\n                      !order.is_schedule_order && order.schedule_order_start_at\\r\\n                    \\\"\\r\\n                    style=\\\"font-size: 18px; color: red\\\"\\r\\n                    >P</span\\r\\n                  >\\r\\n                </td>\\r\\n                <td (click)=\\\"viewRequestOrder_detail(order._id)\\\">\\r\\n                  <span\\r\\n                    style=\\\"font-size: 20px; font-weight: bold\\\"\\r\\n                    *ngIf=\\\"!order.is_schedule_order\\\"\\r\\n                    class=\\\"label\\\"\\r\\n                    [class.time_changed]=\\\"\\r\\n                      order.is_time_updated &&\\r\\n                      order.updated_time >= 30 &&\\r\\n                      order.order_status !== ORDER_STATE.OREDER_READY\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <span\\r\\n                      *ngIf=\\\"\\r\\n                        !order.is_hopper_on_demand ||\\r\\n                        order.schedule_order_start_at\\r\\n                      \\\"\\r\\n                    >\\r\\n                      <span\\r\\n                        *ngIf=\\\"order.order_status !== ORDER_STATE.OREDER_READY\\\"\\r\\n                        ><b>HP</b>\\r\\n                        {{\\r\\n                          order.estimated_time_for_ready_order | date : \\\"HH:mm\\\"\\r\\n                        }}\\r\\n                        ({{ order.ready_time_diff.toFixed(0) }} min)</span\\r\\n                      >\\r\\n                      <span\\r\\n                        *ngIf=\\\"order.order_status == ORDER_STATE.OREDER_READY\\\"\\r\\n                        ><b>HL</b>\\r\\n                        {{\\r\\n                          order.estimated_time_for_delivery_order\\r\\n                            | date : \\\"HH:mm\\\"\\r\\n                        }}\\r\\n                        ({{ order.delivery_time_diff.toFixed(0) }} min)</span\\r\\n                      >\\r\\n                      <span\\r\\n                        *ngIf=\\\"\\r\\n                          order.updated_time > 0 &&\\r\\n                          order.order_status !== ORDER_STATE.OREDER_READY\\r\\n                        \\\"\\r\\n                        >(<span class=\\\"fa fa-plus\\\">{{\\r\\n                          order.updated_time\\r\\n                        }}</span\\r\\n                        >)</span\\r\\n                      >\\r\\n                    </span>\\r\\n                    <span\\r\\n                      *ngIf=\\\"\\r\\n                        order.is_hopper_on_demand &&\\r\\n                        !order.schedule_order_start_at\\r\\n                      \\\"\\r\\n                    >\\r\\n                      <span><b>ASAP</b></span>\\r\\n                    </span>\\r\\n                  </span>\\r\\n\\r\\n                  <span\\r\\n                    style=\\\"display: block; font-size: 20px; font-weight: bold\\\"\\r\\n                    *ngIf=\\\"order.is_schedule_order\\\"\\r\\n                    class=\\\"label\\\"\\r\\n                    [class.time_changed]=\\\"\\r\\n                      order.is_time_updated &&\\r\\n                      order.updated_time > 30 &&\\r\\n                      order.order_status !== ORDER_STATE.OREDER_READY\\r\\n                    \\\"\\r\\n                  >\\r\\n                    {{\\r\\n                      order.estimated_time_for_ready_order | date : \\\"dd-MM-yyyy\\\"\\r\\n                    }}\\r\\n                    <br /><br />{{\\r\\n                      order.estimated_time_for_ready_order | date : \\\"HH:mm\\\"\\r\\n                    }}\\r\\n                    -\\r\\n                    {{\\r\\n                      order.estimated_time_for_delivery_order | date : \\\"HH:mm\\\"\\r\\n                    }}\\r\\n                    <span *ngIf=\\\"order.updated_time > 0\\\"\\r\\n                      >({{ order.updated_time }})</span\\r\\n                    >\\r\\n                  </span>\\r\\n                </td>\\r\\n                <td>\\r\\n                  {{ order.user_first_name }}\\r\\n                  {{ order.user_last_name ? order.user_last_name[0] : \\\"\\\" }}\\r\\n                </td>\\r\\n\\r\\n                <td class=\\\"text_align\\\" [ngSwitch]=\\\"order.order_status\\\">\\r\\n                  <div\\r\\n                    *ngSwitchCase=\\\"ORDER_STATE.WAITING_FOR_ACCEPT_STORE\\\"\\r\\n                    (click)=\\\"\\r\\n                      orderStatus(\\r\\n                        ORDER_STATE.STORE_ACCEPTED,\\r\\n                        order.store_id,\\r\\n                        order._id,\\r\\n                        order.order_type,\\r\\n                        order.is_user_pick_up_order,\\r\\n                        order.is_schedule_order,\\r\\n                        order.is_hopper_on_demand\\r\\n                      )\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <span class=\\\"label label-info_new\\\">{{\\r\\n                      status.waiting_for_accept1 | translate\\r\\n                    }}</span>\\r\\n                  </div>\\r\\n\\r\\n                  <div\\r\\n                    *ngSwitchCase=\\\"ORDER_STATE.STORE_ACCEPTED\\\"\\r\\n                    (click)=\\\"\\r\\n                      orderStatus(\\r\\n                        ORDER_STATE.OREDER_READY,\\r\\n                        order.store_id,\\r\\n                        order._id,\\r\\n                        order.order_type,\\r\\n                        order.is_user_pick_up_order,\\r\\n                        order.is_schedule_order,\\r\\n                        order.is_hopper_on_demand\\r\\n                      )\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <span class=\\\"label label-primary_new\\\">{{\\r\\n                      status.accepted1 | translate\\r\\n                    }}</span>\\r\\n                  </div>\\r\\n\\r\\n                  <div\\r\\n                    *ngSwitchCase=\\\"ORDER_STATE.STORE_PREPARING_ORDER\\\"\\r\\n                    (click)=\\\"\\r\\n                      orderStatus(\\r\\n                        ORDER_STATE.OREDER_READY,\\r\\n                        order.store_id,\\r\\n                        order._id,\\r\\n                        order.order_type,\\r\\n                        order.is_user_pick_up_order,\\r\\n                        order.is_schedule_order,\\r\\n                        order.is_hopper_on_demand\\r\\n                      )\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <span class=\\\"label label-primary_new\\\">{{\\r\\n                      status.start_preparing_order1 | translate\\r\\n                    }}</span>\\r\\n                  </div>\\r\\n\\r\\n                  <div *ngSwitchCase=\\\"ORDER_STATE.OREDER_READY\\\">\\r\\n                    <span\\r\\n                      *ngIf=\\\"order.is_user_pick_up_order\\\"\\r\\n                      class=\\\"label label-primary_new\\\"\\r\\n                      (click)=\\\"completeDeliveryModal(order._id, order.store_id)\\\"\\r\\n                      >{{ status.order_ready1 | translate }}</span\\r\\n                    >\\r\\n                    <span\\r\\n                      *ngIf=\\\"!order.is_user_pick_up_order\\\"\\r\\n                      class=\\\"label label-primary_new\\\"\\r\\n                      >{{ status.order_ready1 | translate }}</span\\r\\n                    >\\r\\n                  </div>\\r\\n                  <span\\r\\n                    *ngIf=\\\"order.is_hubrise_rejected\\\"\\r\\n                    class=\\\"fa fa-warning\\\"\\r\\n                    style=\\\"color: red\\\"\\r\\n                    tooltip=\\\"{{ order.hubrise_reason }}\\\"\\r\\n                    [tooltipDisabled]=\\\"false\\\"\\r\\n                    [tooltipAnimation]=\\\"true\\\"\\r\\n                    tooltipPlacement=\\\"top\\\"\\r\\n                  ></span>\\r\\n                </td>\\r\\n\\r\\n                <td class=\\\"text_align\\\" *ngIf=\\\"order.is_hopper_on_demand\\\">\\r\\n                  {{ order.store_address }}\\r\\n                </td>\\r\\n                <td class=\\\"text_align\\\" *ngIf=\\\"!order.is_hopper_on_demand\\\">\\r\\n                  <span\\r\\n                    class=\\\"label\\\"\\r\\n                    *ngIf=\\\"order.is_hubrise_order\\\"\\r\\n                    style=\\\"\\r\\n                      padding: 1px 6px;\\r\\n                      position: unset !important;\\r\\n                      border-radius: 50%;\\r\\n                      background-color: #875ae0;\\r\\n                      font-size: 10px;\\r\\n                      font-weight: bold;\\r\\n                    \\\"\\r\\n                  >\\r\\n                  </span>\\r\\n                  <span\\r\\n                    class=\\\"label\\\"\\r\\n                    style=\\\"font-size: 20px; font-weight: bold\\\"\\r\\n                    (click)=\\\"\\r\\n                      orderStatus(\\r\\n                        ORDER_STATE.STORE_ACCEPTED,\\r\\n                        order.store_id,\\r\\n                        order._id,\\r\\n                        order.order_type,\\r\\n                        order.is_user_pick_up_order,\\r\\n                        order.is_schedule_order,\\r\\n                        order.is_hopper_on_demand\\r\\n                      )\\r\\n                    \\\"\\r\\n                    *ngIf=\\\"\\r\\n                      order.order_status == ORDER_STATE.WAITING_FOR_ACCEPT_STORE\\r\\n                    \\\"\\r\\n                    >{{ order.store_name }}\\r\\n                    <span *ngIf=\\\"order.store_postal_code\\\"\\r\\n                      >({{ order.store_postal_code }})</span\\r\\n                    ></span\\r\\n                  >\\r\\n                  <span\\r\\n                    style=\\\"font-size: 20px; font-weight: bold\\\"\\r\\n                    (click)=\\\"\\r\\n                      orderStatus(\\r\\n                        ORDER_STATE.OREDER_READY,\\r\\n                        order.store_id,\\r\\n                        order._id,\\r\\n                        order.order_type,\\r\\n                        order.is_user_pick_up_order,\\r\\n                        order.is_schedule_order,\\r\\n                        order.is_hopper_on_demand\\r\\n                      )\\r\\n                    \\\"\\r\\n                    *ngIf=\\\"\\r\\n                      order.order_status == ORDER_STATE.STORE_ACCEPTED &&\\r\\n                      order.ready_time_diff > -10\\r\\n                    \\\"\\r\\n                    class=\\\"\\\"\\r\\n                    >{{ order.store_name }}\\r\\n                    <span *ngIf=\\\"order.store_postal_code\\\"\\r\\n                      >({{ order.store_postal_code }})</span\\r\\n                    ></span\\r\\n                  >\\r\\n                  <span\\r\\n                    style=\\\"font-size: 20px; font-weight: bold\\\"\\r\\n                    (click)=\\\"\\r\\n                      orderStatus(\\r\\n                        ORDER_STATE.OREDER_READY,\\r\\n                        order.store_id,\\r\\n                        order._id,\\r\\n                        order.order_type,\\r\\n                        order.is_user_pick_up_order,\\r\\n                        order.is_schedule_order,\\r\\n                        order.is_hopper_on_demand\\r\\n                      )\\r\\n                    \\\"\\r\\n                    *ngIf=\\\"\\r\\n                      order.order_status == ORDER_STATE.STORE_ACCEPTED &&\\r\\n                      order.ready_time_diff <= -10\\r\\n                    \\\"\\r\\n                    class=\\\"label label-danger\\\"\\r\\n                    >{{ order.store_name }}\\r\\n                    <span *ngIf=\\\"order.store_postal_code\\\"\\r\\n                      >({{ order.store_postal_code }})</span\\r\\n                    ></span\\r\\n                  >\\r\\n                  <span\\r\\n                    style=\\\"font-size: 20px; font-weight: bold\\\"\\r\\n                    *ngIf=\\\"order.order_status == ORDER_STATE.OREDER_READY\\\"\\r\\n                    >{{ order.store_name }}\\r\\n                    <span *ngIf=\\\"order.store_postal_code\\\"\\r\\n                      >({{ order.store_postal_code }})</span\\r\\n                    ></span\\r\\n                  >\\r\\n                  <span\\r\\n                    *ngIf=\\\"\\r\\n                      order.is_accepted_by_admin &&\\r\\n                      (order.delivery_status <\\r\\n                        ORDER_STATE.DELIVERY_MAN_PICKED_ORDER ||\\r\\n                        order.is_user_pick_up_order)\\r\\n                    \\\"\\r\\n                    style=\\\"font-size: 18px; color: red\\\"\\r\\n                    >A</span\\r\\n                  >\\r\\n                  <span *ngIf=\\\"order.is_premium_store\\\">(+)</span>\\r\\n                  <span\\r\\n                    (click)=\\\"store_order_filter(order.store_id)\\\"\\r\\n                    *ngIf=\\\"\\r\\n                      !order.is_user_pick_up_order &&\\r\\n                      get_store_order_count(order.store_id) > 1\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <span\\r\\n                      class=\\\"provider_order\\\"\\r\\n                      [class.provider_order_selected]=\\\"\\r\\n                        order.store_id == selected_store_id\\r\\n                      \\\"\\r\\n                    >\\r\\n                      {{ get_store_order_count(order.store_id) }}\\r\\n                    </span>\\r\\n                  </span>\\r\\n                </td>\\r\\n                <td class=\\\"text_align\\\">\\r\\n                  {{ order.postal_code }}\\r\\n                </td>\\r\\n\\r\\n                <td class=\\\"text_align\\\">\\r\\n                  <span\\r\\n                    *ngIf=\\\"order.is_user_pick_up_order && !order.is_order_pay\\\"\\r\\n                  >\\r\\n                    {{ title.pickup | translate }}\\r\\n                  </span>\\r\\n                  <span\\r\\n                    *ngIf=\\\"order.is_user_pick_up_order && order.is_order_pay\\\"\\r\\n                  >\\r\\n                    {{ title.order_pay | translate }}\\r\\n                  </span>\\r\\n                  <span *ngIf=\\\"!order.is_user_pick_up_order\\\">\\r\\n                    <span\\r\\n                      (click)=\\\"verify_address(order)\\\"\\r\\n                      *ngIf=\\\"!order.is_street_available\\\"\\r\\n                      class=\\\"fa fa-warning\\\"\\r\\n                      style=\\\"color: red\\\"\\r\\n                    ></span>\\r\\n                    <span\\r\\n                      (click)=\\\"\\r\\n                        go_to_map(\\r\\n                          order.destination_address,\\r\\n                          order.store_address\\r\\n                        )\\r\\n                      \\\"\\r\\n                      >{{ order.destination_address }}</span\\r\\n                    >\\r\\n                    <span\\r\\n                      (click)=\\\"edit_address(order._id)\\\"\\r\\n                      class=\\\"fa fa-pencil\\\"\\r\\n                    ></span>\\r\\n                    <span\\r\\n                      *ngIf=\\\"\\r\\n                        order.order_status == ORDER_STATE.OREDER_READY &&\\r\\n                        order.delivery_status >=\\r\\n                          ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\\r\\n                      \\\"\\r\\n                      (click)=\\\"get_nearest_store_list(order._id)\\\"\\r\\n                      class=\\\"fa fa-info\\\"\\r\\n                      style=\\\"color: red\\\"\\r\\n                    ></span>\\r\\n                  </span>\\r\\n                </td>\\r\\n                <td class=\\\"text_align\\\">\\r\\n                  <div\\r\\n                    *ngIf=\\\"order.total_distance && !order.is_user_pick_up_order\\\"\\r\\n                  >\\r\\n                    <!-- {{order.total_time.toFixed(2)}} min &&  -->\\r\\n                    <div\\r\\n                      *ngIf=\\\"order.provider_id\\\"\\r\\n                      (click)=\\\"track_order(order._id)\\\"\\r\\n                    >\\r\\n                      {{ order.total_distance.toFixed(2) }}\\r\\n                      <span *ngIf=\\\"order.is_distance_unit_mile\\\"> mile</span>\\r\\n                      <span *ngIf=\\\"!order.is_distance_unit_mile\\\"> km</span>\\r\\n                      <span> | {{ order.total_time.toFixed(0) }} min</span>\\r\\n                    </div>\\r\\n                    <div *ngIf=\\\"!order.provider_id\\\">\\r\\n                      {{ order.total_distance.toFixed(2) }}\\r\\n                      <span *ngIf=\\\"order.is_distance_unit_mile\\\">mile</span>\\r\\n                      <span *ngIf=\\\"!order.is_distance_unit_mile\\\">km</span>\\r\\n                      <span> | {{ order.total_time.toFixed(0) }} min</span>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                  <div *ngIf=\\\"order.is_user_pick_up_order\\\">\\r\\n                    {{ order.user_first_name }} {{ order.user_last_name }}\\r\\n                  </div>\\r\\n                </td>\\r\\n                <!-- <td>{{order.city_detail.city_name}}</td> -->\\r\\n                <td class=\\\"text_align\\\">\\r\\n                  <span *ngIf=\\\"order.total\\\">{{ order.total.toFixed(2) }}</span>\\r\\n                </td>\\r\\n                <td class=\\\"text_align\\\" *ngIf=\\\"order.current_provider\\\">\\r\\n                  <div style=\\\"display: flex\\\">\\r\\n                    <div style=\\\"width: 85%\\\">\\r\\n                      <div>\\r\\n                        <span\\r\\n                          (click)=\\\"\\r\\n                            change_deliveryman(\\r\\n                              order._id,\\r\\n                              order.current_provider,\\r\\n                              order.store_id\\r\\n                            )\\r\\n                          \\\"\\r\\n                        >\\r\\n                          <span\\r\\n                            class=\\\"label label_orange\\\"\\r\\n                            *ngIf=\\\"\\r\\n                              order.delivery_time_diff > -15 &&\\r\\n                              order.delivery_status ==\\r\\n                                ORDER_STATE.WAITING_FOR_DELIVERY_MAN\\r\\n                            \\\"\\r\\n                            >{{ order.provider_first_name }}\\r\\n                            {{ order.provider_last_name }}</span\\r\\n                          >\\r\\n                          <span\\r\\n                            *ngIf=\\\"\\r\\n                              order.delivery_time_diff > -15 &&\\r\\n                              order.delivery_status !==\\r\\n                                ORDER_STATE.WAITING_FOR_DELIVERY_MAN\\r\\n                            \\\"\\r\\n                            >{{ order.provider_first_name }}\\r\\n                            {{ order.provider_last_name }}</span\\r\\n                          >\\r\\n                          <span\\r\\n                            class=\\\"label label-danger\\\"\\r\\n                            *ngIf=\\\"\\r\\n                              order.order_status == ORDER_STATE.OREDER_READY &&\\r\\n                              order.delivery_status >=\\r\\n                                ORDER_STATE.DELIVERY_MAN_PICKED_ORDER &&\\r\\n                              order.delivery_time_diff <= -15\\r\\n                            \\\"\\r\\n                            >{{ order.provider_first_name }}\\r\\n                            {{ order.provider_last_name }}</span\\r\\n                          >\\r\\n                          <span\\r\\n                            *ngIf=\\\"\\r\\n                              order.delivery_status <\\r\\n                                ORDER_STATE.DELIVERY_MAN_PICKED_ORDER &&\\r\\n                              order.delivery_time_diff <= -15\\r\\n                            \\\"\\r\\n                            >{{ order.provider_first_name }}\\r\\n                            {{ order.provider_last_name }}</span\\r\\n                          >\\r\\n                        </span>\\r\\n                        <a\\r\\n                          *ngIf=\\\"order.provider_first_name\\\"\\r\\n                          (click)=\\\"\\r\\n                            re_attribute_provider(order._id, order.store_id)\\r\\n                          \\\"\\r\\n                        >\\r\\n                          <span class=\\\"fa fa-times\\\"> </span>\\r\\n                        </a>\\r\\n                      </div>\\r\\n                      <div\\r\\n                        *ngIf=\\\"\\r\\n                          order.order_status == ORDER_STATE.OREDER_READY &&\\r\\n                          order.delivery_status >=\\r\\n                            ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\\r\\n                        \\\"\\r\\n                        style=\\\"margin-top: 6px\\\"\\r\\n                      >\\r\\n                        ({{ order.deliveryman_to_user_time.toFixed(0) }} min) |\\r\\n                        {{ order.estimated_time_for_delivery_order_difference }}\\r\\n                        min\\r\\n                      </div>\\r\\n                      <div\\r\\n                        *ngIf=\\\"\\r\\n                          (order.order_status == ORDER_STATE.OREDER_READY ||\\r\\n                            order.order_status == ORDER_STATE.STORE_ACCEPTED ||\\r\\n                            order.order_status ==\\r\\n                              ORDER_STATE.STORE_PREPARING_ORDER) &&\\r\\n                          order.delivery_status <\\r\\n                            ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\\r\\n                        \\\"\\r\\n                        style=\\\"margin-top: 6px\\\"\\r\\n                      >\\r\\n                        ({{ order.deliveryman_to_store_time.toFixed(0) }} min) |\\r\\n                        {{ order.estimated_time_for_ready_order_difference }}\\r\\n                        min\\r\\n                      </div>\\r\\n                      <span\\r\\n                        (click)=\\\"verify_provider_stopped(order)\\\"\\r\\n                        *ngIf=\\\"order.is_provider_stopped\\\"\\r\\n                        class=\\\"fa fa-warning warning_icon\\\"\\r\\n                      ></span>\\r\\n                      <span\\r\\n                        (click)=\\\"verify_another_nearest_provider(order)\\\"\\r\\n                        *ngIf=\\\"order.is_another_nearest_provider\\\"\\r\\n                        class=\\\"fa fa-refresh warning_icon\\\"\\r\\n                      ></span>\\r\\n                    </div>\\r\\n                    <div\\r\\n                      (click)=\\\"provider_order_filter(order.provider_id)\\\"\\r\\n                      style=\\\"\\r\\n                        width: 15%;\\r\\n                        width: 15%;\\r\\n                        display: flex;\\r\\n                        justify-content: center;\\r\\n                        align-items: center;\\r\\n                      \\\"\\r\\n                      *ngIf=\\\"get_provider_order_count(order.provider_id) > 1\\\"\\r\\n                    >\\r\\n                      <span\\r\\n                        class=\\\"provider_order\\\"\\r\\n                        [class.provider_order_selected]=\\\"\\r\\n                          order.provider_id == selected_provider_id\\r\\n                        \\\"\\r\\n                      >\\r\\n                        {{ get_provider_order_count(order.provider_id) }}\\r\\n                      </span>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </td>\\r\\n                <td class=\\\"text_align\\\" *ngIf=\\\"!order.current_provider\\\">\\r\\n                  <span *ngIf=\\\"order.is_automatic_find_provider\\\">\\r\\n                    <span\\r\\n                      *ngIf=\\\"\\r\\n                        order.is_user_pick_up_order ||\\r\\n                        order.order_status ==\\r\\n                          ORDER_STATE.WAITING_FOR_ACCEPT_STORE\\r\\n                      \\\"\\r\\n                    ></span>\\r\\n                    <span\\r\\n                      class=\\\"label\\\"\\r\\n                      *ngIf=\\\"\\r\\n                        !order.is_user_pick_up_order &&\\r\\n                        order.order_status !==\\r\\n                          ORDER_STATE.WAITING_FOR_ACCEPT_STORE &&\\r\\n                        !order.is_schedule_order\\r\\n                      \\\"\\r\\n                      (click)=\\\"\\r\\n                        change_deliveryman(order._id, '', order.store_id)\\r\\n                      \\\"\\r\\n                      >---</span\\r\\n                    >\\r\\n                  </span>\\r\\n                  <span *ngIf=\\\"!order.is_automatic_find_provider\\\">\\r\\n                    <span\\r\\n                      *ngIf=\\\"\\r\\n                        order.is_user_pick_up_order ||\\r\\n                        order.order_status ==\\r\\n                          ORDER_STATE.WAITING_FOR_ACCEPT_STORE\\r\\n                      \\\"\\r\\n                    ></span>\\r\\n                    <span\\r\\n                      *ngIf=\\\"\\r\\n                        !order.is_user_pick_up_order &&\\r\\n                        order.order_status !==\\r\\n                          ORDER_STATE.WAITING_FOR_ACCEPT_STORE &&\\r\\n                        !order.is_schedule_order\\r\\n                      \\\"\\r\\n                      (click)=\\\"\\r\\n                        change_deliveryman(order._id, '', order.store_id)\\r\\n                      \\\"\\r\\n                      >to attribute</span\\r\\n                    >\\r\\n                  </span>\\r\\n                </td>\\r\\n\\r\\n                <td\\r\\n                  class=\\\"text_align\\\"\\r\\n                  *ngIf=\\\"\\r\\n                    order.is_automatic_find_provider ||\\r\\n                    (!order.is_automatic_find_provider &&\\r\\n                      order.current_provider)\\r\\n                  \\\"\\r\\n                  [ngSwitch]=\\\"order.delivery_status\\\"\\r\\n                >\\r\\n                  <div\\r\\n                    *ngSwitchCase=\\\"ORDER_STATE.WAITING_FOR_DELIVERY_MAN\\\"\\r\\n                    (click)=\\\"\\r\\n                      acceptrequest(\\r\\n                        order.current_provider,\\r\\n                        order.request_id,\\r\\n                        ORDER_STATE.DELIVERY_MAN_ACCEPTED\\r\\n                      )\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <span class=\\\"label label-info_new\\\">{{\\r\\n                      status.waiting_for_delivery_man | translate\\r\\n                    }}</span>\\r\\n                  </div>\\r\\n\\r\\n                  <div\\r\\n                    *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_ACCEPTED\\\"\\r\\n                    (click)=\\\"\\r\\n                      acceptrequest(\\r\\n                        order.current_provider,\\r\\n                        order.request_id,\\r\\n                        ORDER_STATE.DELIVERY_MAN_COMING\\r\\n                      )\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <span class=\\\"label label-primary_new\\\">{{\\r\\n                      status.delivery_man_accepted\\r\\n                    }}</span>\\r\\n                  </div>\\r\\n\\r\\n                  <div\\r\\n                    *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_COMING\\\"\\r\\n                    (click)=\\\"\\r\\n                      acceptrequest(\\r\\n                        order.current_provider,\\r\\n                        order.request_id,\\r\\n                        ORDER_STATE.DELIVERY_MAN_ARRIVED\\r\\n                      )\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <span class=\\\"label label-info_new\\\">{{\\r\\n                      status.delivery_man_coming\\r\\n                    }}</span>\\r\\n                  </div>\\r\\n\\r\\n                  <div\\r\\n                    *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_ARRIVED\\\"\\r\\n                    (click)=\\\"\\r\\n                      acceptrequest(\\r\\n                        order.current_provider,\\r\\n                        order.request_id,\\r\\n                        ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\\r\\n                      )\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <span class=\\\"label label-info_new\\\">{{\\r\\n                      status.delivery_man_arrived\\r\\n                    }}</span>\\r\\n                  </div>\\r\\n\\r\\n                  <div\\r\\n                    *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\\\"\\r\\n                    (click)=\\\"\\r\\n                      acceptrequest(\\r\\n                        order.current_provider,\\r\\n                        order.request_id,\\r\\n                        ORDER_STATE.DELIVERY_MAN_STARTED_DELIVERY\\r\\n                      )\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <span class=\\\"label label-info_new\\\">{{\\r\\n                      status.picked_order\\r\\n                    }}</span>\\r\\n                  </div>\\r\\n\\r\\n                  <div\\r\\n                    *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_STARTED_DELIVERY\\\"\\r\\n                    (click)=\\\"\\r\\n                      acceptrequest(\\r\\n                        order.current_provider,\\r\\n                        order.request_id,\\r\\n                        ORDER_STATE.DELIVERY_MAN_ARRIVED_AT_DESTINATION\\r\\n                      )\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <span class=\\\"label label-info_new\\\">{{\\r\\n                      status.started_for_delivery\\r\\n                    }}</span>\\r\\n                  </div>\\r\\n\\r\\n                  <div\\r\\n                    *ngSwitchCase=\\\"\\r\\n                      ORDER_STATE.DELIVERY_MAN_ARRIVED_AT_DESTINATION\\r\\n                    \\\"\\r\\n                    (click)=\\\"\\r\\n                      completerequest(order.current_provider, order.request_id)\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <span class=\\\"label label-info_new\\\">{{\\r\\n                      status.arrived_at_destination\\r\\n                    }}</span>\\r\\n                  </div>\\r\\n\\r\\n                  <div\\r\\n                    *ngSwitchCase=\\\"ORDER_STATE.STORE_CANCELLED_REQUEST\\\"\\r\\n                    (click)=\\\"orderAssignProvider(order._id, order.store_id)\\\"\\r\\n                  >\\r\\n                    <span class=\\\"label label-primary_new\\\">{{\\r\\n                      status.store_cancelled_request\\r\\n                    }}</span>\\r\\n                  </div>\\r\\n\\r\\n                  <div *ngSwitchCase=\\\"ORDER_STATE.ORDER_COMPLETED\\\">\\r\\n                    <span class=\\\"label label-primary_new\\\">{{\\r\\n                      status.completed\\r\\n                    }}</span>\\r\\n                  </div>\\r\\n\\r\\n                  <div\\r\\n                    *ngSwitchCase=\\\"ORDER_STATE.NO_DELIVERY_MAN_FOUND\\\"\\r\\n                    (click)=\\\"orderAssignProvider(order._id, order.store_id)\\\"\\r\\n                  >\\r\\n                    <span\\r\\n                      *ngIf=\\\"\\r\\n                        order.ready_time_diff >= 22 &&\\r\\n                        order.order_status_id !== helper.ORDER_STATUS_ID.IDEAL\\r\\n                      \\\"\\r\\n                      >{{ status.assign_order_to_Delivery_man1 }}</span\\r\\n                    >\\r\\n                    <span\\r\\n                      class=\\\"label label-danger\\\"\\r\\n                      *ngIf=\\\"\\r\\n                        order.ready_time_diff < 22 &&\\r\\n                        order.order_status_id !== helper.ORDER_STATUS_ID.IDEAL\\r\\n                      \\\"\\r\\n                      >{{ status.no_delivery_man_found }}</span\\r\\n                    >\\r\\n                  </div>\\r\\n\\r\\n                  <div\\r\\n                    *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_REJECTED\\\"\\r\\n                    (click)=\\\"orderAssignProvider(order._id, order.store_id)\\\"\\r\\n                  >\\r\\n                    <span class=\\\"label label-danger\\\">{{\\r\\n                      status.no_delivery_man_found\\r\\n                    }}</span>\\r\\n                  </div>\\r\\n\\r\\n                  <div\\r\\n                    *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_CANCELLED\\\"\\r\\n                    (click)=\\\"orderAssignProvider(order._id, order.store_id)\\\"\\r\\n                  >\\r\\n                    <span class=\\\"label label-danger\\\">{{\\r\\n                      status.no_delivery_man_found\\r\\n                    }}</span>\\r\\n                  </div>\\r\\n                  <span\\r\\n                    *ngIf=\\\"\\r\\n                      order.status_change_time_diff && order.current_provider\\r\\n                    \\\"\\r\\n                    >({{ order.status_change_time_diff.toFixed(0) }} min)</span\\r\\n                  >\\r\\n                </td>\\r\\n                <td\\r\\n                  class=\\\"text_align\\\"\\r\\n                  *ngIf=\\\"\\r\\n                    !order.is_automatic_find_provider && !order.current_provider\\r\\n                  \\\"\\r\\n                >\\r\\n                  <span\\r\\n                    class=\\\"label label-danger\\\"\\r\\n                    *ngIf=\\\"order.ready_time_diff <= 5\\\"\\r\\n                    >...</span\\r\\n                  >\\r\\n                  <span\\r\\n                    class=\\\"label label_orange\\\"\\r\\n                    *ngIf=\\\"\\r\\n                      order.ready_time_diff <= 20 && order.ready_time_diff > 5\\r\\n                    \\\"\\r\\n                    >...</span\\r\\n                  >\\r\\n                  <span\\r\\n                    class=\\\"label label-info_new\\\"\\r\\n                    *ngIf=\\\"order.ready_time_diff > 20\\\"\\r\\n                    >...</span\\r\\n                  >\\r\\n                </td>\\r\\n\\r\\n                <td>\\r\\n                  <div class=\\\"dropdown\\\" dropdown>\\r\\n                    <button class=\\\"btn btn-primary\\\" dropdown-open>\\r\\n                      {{ title.action | translate }}<span class=\\\"caret\\\"></span>\\r\\n                    </button>\\r\\n\\r\\n                    <ul class=\\\"dropdown-menu\\\">\\r\\n                      <li>\\r\\n                        <a (click)=\\\"viewRequestOrder_detail(order._id)\\\"\\r\\n                          ><span style=\\\"display: block\\\" class=\\\"nav-label\\\">{{\\r\\n                            button.view_detail | translate\\r\\n                          }}</span>\\r\\n                        </a>\\r\\n                      </li>\\r\\n                      <li *ngIf=\\\"!order.is_user_pick_up_order\\\">\\r\\n                        <a (click)=\\\"track_order(order._id)\\\"\\r\\n                          ><span style=\\\"display: block\\\" class=\\\"nav-label\\\">{{\\r\\n                            button.track_order | translate\\r\\n                          }}</span>\\r\\n                        </a>\\r\\n                      </li>\\r\\n                      <!-- <li *ngIf=\\\"order.provider_id && order.delivery_status >= this.helper.ORDER_STATE.DELIVERY_MAN_ARRIVED && !order.is_user_pick_up_order\\\"><a (click)=\\\"track_deliveryman(order.country_id, order.city_id, order.provider_id, order.store_id, order._id)\\\" ><span style=\\\"display:block;\\\" class=\\\"nav-label\\\">{{button.track_hopper | translate}}</span> </a></li> -->\\r\\n                      <li\\r\\n                        *ngIf=\\\"\\r\\n                          !order.is_hopper_on_demand && !order.is_hubrise_order\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <a (click)=\\\"editOrder(order.store_id, order._id)\\\"\\r\\n                          ><span style=\\\"display: block\\\" class=\\\"nav-label\\\">{{\\r\\n                            button.edit | translate\\r\\n                          }}</span>\\r\\n                        </a>\\r\\n                      </li>\\r\\n                      <li>\\r\\n                        <a (click)=\\\"CancleOrderModal(order.store_id, order._id)\\\"\\r\\n                          ><span style=\\\"display: block\\\" class=\\\"nav-label\\\">{{\\r\\n                            button.cancel | translate\\r\\n                          }}</span>\\r\\n                        </a>\\r\\n                      </li>\\r\\n                      <li\\r\\n                        *ngIf=\\\"\\r\\n                          !order.is_user_pick_up_order &&\\r\\n                          !order.is_schedule_order\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <a\\r\\n                          (click)=\\\"\\r\\n                            re_attribute_provider(\\r\\n                              order._id,\\r\\n                              order.store_id,\\r\\n                              false\\r\\n                            )\\r\\n                          \\\"\\r\\n                          ><span style=\\\"display: block\\\" class=\\\"nav-label\\\"\\r\\n                            >reattribute</span\\r\\n                          >\\r\\n                        </a>\\r\\n                      </li>\\r\\n                      <li\\r\\n                        *ngIf=\\\"\\r\\n                          !order.is_user_pick_up_order &&\\r\\n                          !order.is_schedule_order &&\\r\\n                          order.is_hubrise_order\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <a\\r\\n                          (click)=\\\"\\r\\n                            re_attribute_provider(\\r\\n                              order._id,\\r\\n                              order.store_id,\\r\\n                              true\\r\\n                            )\\r\\n                          \\\"\\r\\n                          ><span style=\\\"display: block\\\" class=\\\"nav-label\\\"\\r\\n                            >Order Completed By Other</span\\r\\n                          >\\r\\n                        </a>\\r\\n                      </li>\\r\\n                      <li\\r\\n                        *ngIf=\\\"\\r\\n                          (order.delivery_status <=\\r\\n                            ORDER_STATE.DELIVERY_MAN_ARRIVED ||\\r\\n                            order.is_user_pick_up_order) &&\\r\\n                          !order.is_hopper_on_demand\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <a\\r\\n                          (click)=\\\"\\r\\n                            add_preparation_time(order._id, order.store_id)\\r\\n                          \\\"\\r\\n                          ><span style=\\\"display: block\\\" class=\\\"nav-label\\\"\\r\\n                            >Add Time</span\\r\\n                          >\\r\\n                        </a>\\r\\n                      </li>\\r\\n                    </ul>\\r\\n                  </div>\\r\\n                </td>\\r\\n              </tr>\\r\\n            </tbody>\\r\\n          </table>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n  <div class=\\\"col-md-12 col-sm-12\\\" *ngIf=\\\"is_show_order\\\">\\r\\n    <div class=\\\"lable_center\\\">\\r\\n      <ul class=\\\"pagination\\\">\\r\\n        <li *ngIf=\\\"page !== 1\\\">\\r\\n          <a class=\\\"btn\\\" (click)=\\\"filter(page - 1, true)\\\">{{\\r\\n            button.pre | translate\\r\\n          }}</a>\\r\\n        </li>\\r\\n        <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page == index\\\">\\r\\n          <a\\r\\n            *ngIf=\\\"\\r\\n              index == 1 ||\\r\\n              index == total_page ||\\r\\n              index == page ||\\r\\n              index == page - 1 ||\\r\\n              index == page + 1\\r\\n            \\\"\\r\\n            (click)=\\\"filter(index, true)\\\"\\r\\n            class=\\\"btn\\\"\\r\\n            >{{ index }}</a\\r\\n          >\\r\\n          <a\\r\\n            *ngIf=\\\"\\r\\n              (index == 1 && page !== 1 && page !== 2 && page !== 3) ||\\r\\n              (index == total_page - 1 &&\\r\\n                page !== total_page &&\\r\\n                page !== total_page - 1 &&\\r\\n                page !== total_page - 2)\\r\\n            \\\"\\r\\n            class=\\\"btn\\\"\\r\\n            >...</a\\r\\n          >\\r\\n        </li>\\r\\n        <li *ngIf=\\\"page !== total_page && order_list.length !== 0\\\">\\r\\n          <a class=\\\"btn\\\" (click)=\\\"filter(page + 1, true)\\\">{{\\r\\n            button.next | translate\\r\\n          }}</a>\\r\\n        </li>\\r\\n      </ul>\\r\\n    </div>\\r\\n  </div>\\r\\n\\r\\n  <div class=\\\"ibox\\\" *ngIf=\\\"is_show_order\\\">\\r\\n    <div class=\\\"ibox-content\\\" style=\\\"margin-top: -1px\\\">\\r\\n      <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-lg-6 col-sm-6 set_padding\\\">\\r\\n          <div class=\\\"col-lg-3 col-sm-6 set_padding\\\">\\r\\n            <div\\r\\n              class=\\\"ibox\\\"\\r\\n              style=\\\"cursor: pointer\\\"\\r\\n              (click)=\\\"show_type_filter(0)\\\"\\r\\n            >\\r\\n              <div\\r\\n                class=\\\"ibox-title\\\"\\r\\n                [class.selected_box]=\\\"show_type == 0\\\"\\r\\n                style=\\\"text-align: center\\\"\\r\\n              >\\r\\n                <h2>{{ order_list.length }}</h2>\\r\\n                <label class=\\\"control-label\\\">{{\\r\\n                  title.total_order | translate\\r\\n                }}</label>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n          <div class=\\\"col-lg-3 col-sm-6 set_padding\\\">\\r\\n            <div\\r\\n              class=\\\"ibox\\\"\\r\\n              style=\\\"cursor: pointer\\\"\\r\\n              (click)=\\\"show_type_filter(1)\\\"\\r\\n            >\\r\\n              <div\\r\\n                class=\\\"ibox-title\\\"\\r\\n                [class.selected_box]=\\\"show_type == 1\\\"\\r\\n                style=\\\"text-align: center\\\"\\r\\n              >\\r\\n                <h2>{{ total_order }}</h2>\\r\\n                <label class=\\\"control-label\\\">{{\\r\\n                  title.total_new_order | translate\\r\\n                }}</label>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n          <div class=\\\"col-lg-3 col-sm-6 set_padding\\\">\\r\\n            <div\\r\\n              class=\\\"ibox\\\"\\r\\n              style=\\\"cursor: pointer\\\"\\r\\n              (click)=\\\"show_type_filter(2)\\\"\\r\\n            >\\r\\n              <div\\r\\n                class=\\\"ibox-title\\\"\\r\\n                [class.selected_box]=\\\"show_type == 2\\\"\\r\\n                style=\\\"text-align: center\\\"\\r\\n              >\\r\\n                <h2>{{ total_not_accepteed_order }}</h2>\\r\\n                <label class=\\\"control-label\\\">{{\\r\\n                  title.total_not_accepteed_order | translate\\r\\n                }}</label>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n          <div class=\\\"col-lg-3 col-sm-6 set_padding\\\">\\r\\n            <div\\r\\n              class=\\\"ibox\\\"\\r\\n              style=\\\"cursor: pointer\\\"\\r\\n              (click)=\\\"show_type_filter(3)\\\"\\r\\n            >\\r\\n              <div\\r\\n                class=\\\"ibox-title\\\"\\r\\n                [class.selected_box]=\\\"show_type == 3\\\"\\r\\n                style=\\\"text-align: center\\\"\\r\\n              >\\r\\n                <h2>{{ total_hopper_not_accepteed_order }}</h2>\\r\\n                <label class=\\\"control-label\\\">{{\\r\\n                  title.total_hopper_not_accepteed_order | translate\\r\\n                }}</label>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-lg-6 col-sm-6 set_padding\\\">\\r\\n          <div class=\\\"col-lg-3 col-sm-6 set_padding\\\">\\r\\n            <div\\r\\n              class=\\\"ibox\\\"\\r\\n              style=\\\"cursor: pointer\\\"\\r\\n              (click)=\\\"show_type_filter(4)\\\"\\r\\n            >\\r\\n              <div\\r\\n                class=\\\"ibox-title\\\"\\r\\n                [class.selected_box]=\\\"show_type == 4\\\"\\r\\n                style=\\\"text-align: center\\\"\\r\\n              >\\r\\n                <h2>{{ total_time_changed_order }}</h2>\\r\\n                <label class=\\\"control-label\\\">{{\\r\\n                  title.total_time_changed_order | translate\\r\\n                }}</label>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n          <div class=\\\"col-lg-3 col-sm-6 set_padding\\\">\\r\\n            <div\\r\\n              class=\\\"ibox\\\"\\r\\n              style=\\\"cursor: pointer\\\"\\r\\n              (click)=\\\"show_type_filter(5)\\\"\\r\\n            >\\r\\n              <div\\r\\n                class=\\\"ibox-title\\\"\\r\\n                [class.selected_box]=\\\"show_type == 5\\\"\\r\\n                style=\\\"text-align: center\\\"\\r\\n              >\\r\\n                <h2>{{ total_partner_delay_order }}</h2>\\r\\n                <label class=\\\"control-label\\\">{{\\r\\n                  title.total_partner_delay_order | translate\\r\\n                }}</label>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n          <div class=\\\"col-lg-3 col-sm-6 set_padding\\\">\\r\\n            <div\\r\\n              class=\\\"ibox\\\"\\r\\n              style=\\\"cursor: pointer\\\"\\r\\n              (click)=\\\"show_type_filter(6)\\\"\\r\\n            >\\r\\n              <div\\r\\n                class=\\\"ibox-title\\\"\\r\\n                [class.selected_box]=\\\"show_type == 6\\\"\\r\\n                style=\\\"text-align: center\\\"\\r\\n              >\\r\\n                <h2>{{ total_hopper_delay_order }}</h2>\\r\\n                <label class=\\\"control-label\\\">{{\\r\\n                  title.total_hopper_delay_order | translate\\r\\n                }}</label>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n          <div class=\\\"col-lg-3 col-sm-6 set_padding\\\">\\r\\n            <div\\r\\n              class=\\\"ibox\\\"\\r\\n              style=\\\"cursor: pointer\\\"\\r\\n              (click)=\\\"show_type_filter(7)\\\"\\r\\n            >\\r\\n              <div\\r\\n                class=\\\"ibox-title\\\"\\r\\n                [class.selected_box]=\\\"show_type == 7\\\"\\r\\n                style=\\\"text-align: center\\\"\\r\\n              >\\r\\n                <h2>{{ total_in_progress_order }}</h2>\\r\\n                <label class=\\\"control-label\\\">{{\\r\\n                  title.total_in_progress_order | translate\\r\\n                }}</label>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-lg-6 col-sm-6 set_padding\\\">\\r\\n          <div class=\\\"col-lg-3 col-sm-6 set_padding\\\">\\r\\n            <div\\r\\n              class=\\\"ibox\\\"\\r\\n              style=\\\"cursor: pointer\\\"\\r\\n              (click)=\\\"order_show_type_filter(0)\\\"\\r\\n            >\\r\\n              <div\\r\\n                class=\\\"ibox-title\\\"\\r\\n                [class.selected_box]=\\\"check_order_show_type(0)\\\"\\r\\n                style=\\\"text-align: center\\\"\\r\\n              >\\r\\n                <h2>{{ total_new_order }}</h2>\\r\\n                <label class=\\\"control-label\\\">{{\\r\\n                  title.total_new_order | translate\\r\\n                }}</label>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n          <div class=\\\"col-lg-3 col-sm-6 set_padding\\\">\\r\\n            <div\\r\\n              class=\\\"ibox\\\"\\r\\n              style=\\\"cursor: pointer\\\"\\r\\n              (click)=\\\"order_show_type_filter(1)\\\"\\r\\n            >\\r\\n              <div\\r\\n                class=\\\"ibox-title\\\"\\r\\n                [class.selected_box]=\\\"check_order_show_type(1)\\\"\\r\\n                style=\\\"text-align: center\\\"\\r\\n              >\\r\\n                <h2>{{ total_accepted_order }}</h2>\\r\\n                <label class=\\\"control-label\\\">{{\\r\\n                  title.total_accepted_order | translate\\r\\n                }}</label>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n          <div class=\\\"col-lg-3 col-sm-6 set_padding\\\">\\r\\n            <div\\r\\n              class=\\\"ibox\\\"\\r\\n              style=\\\"cursor: pointer\\\"\\r\\n              (click)=\\\"order_show_type_filter(2)\\\"\\r\\n            >\\r\\n              <div\\r\\n                class=\\\"ibox-title\\\"\\r\\n                [class.selected_box]=\\\"check_order_show_type(2)\\\"\\r\\n                style=\\\"text-align: center\\\"\\r\\n              >\\r\\n                <h2>{{ total_ready_order }}</h2>\\r\\n                <label class=\\\"control-label\\\">{{\\r\\n                  title.total_ready_order | translate\\r\\n                }}</label>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n          <div class=\\\"col-lg-3 col-sm-6 set_padding\\\">\\r\\n            <div\\r\\n              class=\\\"ibox\\\"\\r\\n              style=\\\"cursor: pointer\\\"\\r\\n              (click)=\\\"order_show_type_filter(3)\\\"\\r\\n            >\\r\\n              <div\\r\\n                class=\\\"ibox-title\\\"\\r\\n                [class.selected_box]=\\\"check_order_show_type(3)\\\"\\r\\n                style=\\\"text-align: center\\\"\\r\\n              >\\r\\n                <h2>{{ total_in_delivery_order }}</h2>\\r\\n                <label class=\\\"control-label\\\">{{\\r\\n                  title.total_in_delivery_order | translate\\r\\n                }}</label>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-lg-6 col-sm-6 set_padding\\\">\\r\\n          <div\\r\\n            class=\\\"col-lg-3 col-sm-6 set_padding\\\"\\r\\n            *ngIf=\\\"cancelled_count > 0\\\"\\r\\n          >\\r\\n            <div class=\\\"ibox\\\" style=\\\"cursor: pointer\\\">\\r\\n              <div\\r\\n                class=\\\"ibox-title\\\"\\r\\n                style=\\\"text-align: center; background-color: red; color: black\\\"\\r\\n              >\\r\\n                <h2>{{ cancelled_count }}</h2>\\r\\n                <label class=\\\"control-label\\\">{{\\r\\n                  title.cancelled_order | translate\\r\\n                }}</label>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n          <div class=\\\"col-lg-2 col-sm-4 set_padding\\\">\\r\\n            <div class=\\\"ibox\\\" style=\\\"cursor: pointer\\\">\\r\\n              <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n                <h2>\\r\\n                  {{\\r\\n                    order_list.length -\\r\\n                      pickup_order_count -\\r\\n                      order_pay_order_count\\r\\n                  }}\\r\\n                  /\\r\\n                  {{\\r\\n                    available_providers.length +\\r\\n                      in_delivery_providers.length +\\r\\n                      soon_available_providers.length\\r\\n                  }}\\r\\n                </h2>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n          <div\\r\\n            [hidden]=\\\"!is_smart_dispatch\\\"\\r\\n            *ngFor=\\\"let color of order_color_list\\\"\\r\\n            class=\\\"col-lg-2 col-sm-4 set_padding\\\"\\r\\n          >\\r\\n            <div\\r\\n              class=\\\"ibox\\\"\\r\\n              style=\\\"cursor: pointer\\\"\\r\\n              (click)=\\\"color_filter(color)\\\"\\r\\n            >\\r\\n              <div\\r\\n                class=\\\"ibox-title\\\"\\r\\n                [class.selected_box]=\\\"color == selected_color\\\"\\r\\n                style=\\\"text-align: center\\\"\\r\\n              >\\r\\n                <span\\r\\n                  style=\\\"\\r\\n                    width: 17px;\\r\\n                    height: 17px;\\r\\n                    border-radius: 50%;\\r\\n                    padding: 0px 7px;\\r\\n                    background: rgb(0, 255, 255);\\r\\n                  \\\"\\r\\n                  [ngStyle]=\\\"{ background: color }\\\"\\r\\n                  ng-reflect-ng-style=\\\"[object Object]\\\"\\r\\n                >\\r\\n                </span>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n          <!-- <div class=\\\"col-lg-3 col-sm-6 set_padding\\\">\\r\\n                        <div class=\\\"ibox\\\" style=\\\"cursor: pointer;\\\">\\r\\n                            <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-lg-3 col-sm-6 set_padding\\\">\\r\\n                        <div class=\\\"ibox\\\" style=\\\"cursor: pointer;\\\">\\r\\n                            <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div> -->\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n\\r\\n  <div class=\\\"ibox\\\" *ngIf=\\\"!is_show_order\\\">\\r\\n    <!--        <div class=\\\"ibox-title\\\">\\r\\n                    <h5>{{heading_title.deliveries | translate}}</h5>\\r\\n                </div>-->\\r\\n    <div class=\\\"ibox\\\">\\r\\n      <div class=\\\"ibox-content\\\">\\r\\n        <div class=\\\"table-responsive\\\">\\r\\n          <table class=\\\"table col-md-4\\\" style=\\\"width: 33.33%\\\">\\r\\n            <thead class=\\\"ibox-title\\\">\\r\\n              <tr>\\r\\n                <th\\r\\n                  style=\\\"\\r\\n                    text-align: center;\\r\\n                    border-bottom: 1px solid red;\\r\\n                    border-right: 1px solid red;\\r\\n                    height: 35px;\\r\\n                  \\\"\\r\\n                >\\r\\n                  Hopper Available: {{ available_providers.length }}\\r\\n                </th>\\r\\n              </tr>\\r\\n            </thead>\\r\\n            <tbody class=\\\"ibox-title\\\">\\r\\n              <tr\\r\\n                *ngFor=\\\"let provider of dispatcher_provider; let index = index\\\"\\r\\n              >\\r\\n                <ng-container *ngIf=\\\"available_providers[index]\\\">\\r\\n                  <td\\r\\n                    (click)=\\\"go_to_dispatcher_map(available_providers[index])\\\"\\r\\n                    style=\\\"\\r\\n                      text-align: center;\\r\\n                      border-right: 1px solid red;\\r\\n                      height: 35px;\\r\\n                    \\\"\\r\\n                  >\\r\\n                    {{ available_providers[index].first_name }}\\r\\n                    {{ available_providers[index].last_name }}\\r\\n                    <span>({{ available_providers[index].vehicle_name }})</span>\\r\\n                    <span\\r\\n                      *ngIf=\\\"available_providers[index].last_order_before_min\\\"\\r\\n                    >\\r\\n                      |\\r\\n                      {{\\r\\n                        available_providers[\\r\\n                          index\\r\\n                        ].last_order_before_min.toFixed(0)\\r\\n                      }}\\r\\n                      min\\r\\n                    </span>\\r\\n                    <span>\\r\\n                      |\\r\\n                      {{ available_providers[index].request_count }}\\r\\n                      orders</span\\r\\n                    >\\r\\n                    <span\\r\\n                      *ngIf=\\\"\\r\\n                        available_providers[index].postal_code &&\\r\\n                        available_providers[index].request_count > 0\\r\\n                      \\\"\\r\\n                    >\\r\\n                      | {{ available_providers[index].postal_code }}</span\\r\\n                    >\\r\\n                  </td>\\r\\n                </ng-container>\\r\\n                <ng-container *ngIf=\\\"!available_providers[index]\\\">\\r\\n                  <td\\r\\n                    style=\\\"\\r\\n                      text-align: center;\\r\\n                      border-right: 1px solid red;\\r\\n                      height: 35px;\\r\\n                    \\\"\\r\\n                  ></td>\\r\\n                </ng-container>\\r\\n              </tr>\\r\\n            </tbody>\\r\\n          </table>\\r\\n          <table class=\\\"table col-md-4\\\" style=\\\"width: 33.33%\\\">\\r\\n            <thead class=\\\"ibox-title\\\">\\r\\n              <tr>\\r\\n                <th\\r\\n                  style=\\\"\\r\\n                    text-align: center;\\r\\n                    border-bottom: 1px solid red;\\r\\n                    border-right: 1px solid red;\\r\\n                    height: 35px;\\r\\n                  \\\"\\r\\n                >\\r\\n                  Hopper in Delivery: {{ in_delivery_providers.length }}\\r\\n                </th>\\r\\n              </tr>\\r\\n            </thead>\\r\\n            <tbody class=\\\"ibox-title\\\">\\r\\n              <tr\\r\\n                *ngFor=\\\"let provider of dispatcher_provider; let index = index\\\"\\r\\n              >\\r\\n                <ng-container *ngIf=\\\"in_delivery_providers[index]\\\">\\r\\n                  <td\\r\\n                    (click)=\\\"go_to_dispatcher_map(in_delivery_providers[index])\\\"\\r\\n                    style=\\\"\\r\\n                      text-align: center;\\r\\n                      border-right: 1px solid red;\\r\\n                      height: 35px;\\r\\n                    \\\"\\r\\n                    [class.store_late_tr]=\\\"\\r\\n                      in_delivery_providers[index].is_store_late\\r\\n                    \\\"\\r\\n                    [class.time_updated_tr]=\\\"\\r\\n                      in_delivery_providers[index].is_time_updated\\r\\n                    \\\"\\r\\n                  >\\r\\n                    {{ in_delivery_providers[index].first_name }}\\r\\n                    {{ in_delivery_providers[index].last_name }} ({{\\r\\n                      in_delivery_providers[index].vehicle_name\\r\\n                    }})\\r\\n                    <span\\r\\n                      *ngFor=\\\"\\r\\n                        let order_detail of in_delivery_providers[index]\\r\\n                          .order_list\\r\\n                      \\\"\\r\\n                    >\\r\\n                      |\\r\\n                      <span [ngSwitch]=\\\"order_detail.delivery_status\\\">\\r\\n                        <span\\r\\n                          *ngSwitchCase=\\\"ORDER_STATE.WAITING_FOR_DELIVERY_MAN\\\"\\r\\n                          >{{\\r\\n                            status.waiting_for_delivery_man1 | translate\\r\\n                          }}</span\\r\\n                        >\\r\\n                        <span\\r\\n                          *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_ACCEPTED\\\"\\r\\n                          >{{ status.delivery_man_accepted1 | translate }}</span\\r\\n                        >\\r\\n                        <span *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_COMING\\\">{{\\r\\n                          status.delivery_man_coming1 | translate\\r\\n                        }}</span>\\r\\n                        <span\\r\\n                          *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_ARRIVED\\\"\\r\\n                          >{{ status.delivery_man_arrived1 | translate }}</span\\r\\n                        >\\r\\n                        <span\\r\\n                          *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\\\"\\r\\n                          >{{ status.picked_order1 | translate }}</span\\r\\n                        >\\r\\n                        <span\\r\\n                          *ngSwitchCase=\\\"\\r\\n                            ORDER_STATE.DELIVERY_MAN_STARTED_DELIVERY\\r\\n                          \\\"\\r\\n                          >{{ status.started_for_delivery1 | translate }}</span\\r\\n                        >\\r\\n                        <span\\r\\n                          *ngSwitchCase=\\\"\\r\\n                            ORDER_STATE.DELIVERY_MAN_ARRIVED_AT_DESTINATION\\r\\n                          \\\"\\r\\n                          >{{\\r\\n                            status.arrived_at_destination1 | translate\\r\\n                          }}</span\\r\\n                        >\\r\\n                      </span>\\r\\n                    </span>\\r\\n                    <span>\\r\\n                      |\\r\\n                      {{ in_delivery_providers[index].request_count }}\\r\\n                      orders</span\\r\\n                    >\\r\\n                    <span\\r\\n                      *ngIf=\\\"\\r\\n                        in_delivery_providers[index].postal_code &&\\r\\n                        in_delivery_providers[index].request_count > 0\\r\\n                      \\\"\\r\\n                    >\\r\\n                      | {{ in_delivery_providers[index].postal_code }}</span\\r\\n                    >\\r\\n                  </td>\\r\\n                </ng-container>\\r\\n                <ng-container *ngIf=\\\"!in_delivery_providers[index]\\\">\\r\\n                  <td\\r\\n                    style=\\\"\\r\\n                      text-align: center;\\r\\n                      border-right: 1px solid red;\\r\\n                      height: 35px;\\r\\n                    \\\"\\r\\n                  ></td>\\r\\n                </ng-container>\\r\\n              </tr>\\r\\n            </tbody>\\r\\n          </table>\\r\\n          <table class=\\\"table col-md-4\\\" style=\\\"width: 33.33%\\\">\\r\\n            <thead class=\\\"ibox-title\\\">\\r\\n              <tr>\\r\\n                <th\\r\\n                  style=\\\"\\r\\n                    text-align: center;\\r\\n                    border-bottom: 1px solid red;\\r\\n                    height: 35px;\\r\\n                  \\\"\\r\\n                >\\r\\n                  Hopper soon Available: {{ soon_available_providers.length }}\\r\\n                </th>\\r\\n              </tr>\\r\\n            </thead>\\r\\n            <tbody class=\\\"ibox-title\\\">\\r\\n              <tr\\r\\n                *ngFor=\\\"let provider of dispatcher_provider; let index = index\\\"\\r\\n              >\\r\\n                <ng-container *ngIf=\\\"soon_available_providers[index]\\\">\\r\\n                  <td\\r\\n                    (click)=\\\"\\r\\n                      go_to_dispatcher_map(soon_available_providers[index])\\r\\n                    \\\"\\r\\n                    [class.store_late_tr]=\\\"\\r\\n                      soon_available_providers[index].is_hopper_late\\r\\n                    \\\"\\r\\n                    style=\\\"\\r\\n                      text-align: center;\\r\\n                      border-right: 1px solid red;\\r\\n                      height: 35px;\\r\\n                    \\\"\\r\\n                  >\\r\\n                    {{ soon_available_providers[index].first_name }}\\r\\n                    {{ soon_available_providers[index].last_name }} ({{\\r\\n                      soon_available_providers[index].vehicle_name\\r\\n                    }})\\r\\n                    <span\\r\\n                      *ngFor=\\\"\\r\\n                        let order_detail of soon_available_providers[index]\\r\\n                          .order_list\\r\\n                      \\\"\\r\\n                    >\\r\\n                      |\\r\\n                      <span [ngSwitch]=\\\"order_detail.delivery_status\\\">\\r\\n                        <span\\r\\n                          *ngSwitchCase=\\\"ORDER_STATE.WAITING_FOR_DELIVERY_MAN\\\"\\r\\n                          >{{\\r\\n                            status.waiting_for_delivery_man1 | translate\\r\\n                          }}</span\\r\\n                        >\\r\\n                        <span\\r\\n                          *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_ACCEPTED\\\"\\r\\n                          >{{ status.delivery_man_accepted1 | translate }}</span\\r\\n                        >\\r\\n                        <span *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_COMING\\\">{{\\r\\n                          status.delivery_man_coming1 | translate\\r\\n                        }}</span>\\r\\n                        <span\\r\\n                          *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_ARRIVED\\\"\\r\\n                          >{{ status.delivery_man_arrived1 | translate }}</span\\r\\n                        >\\r\\n                        <span\\r\\n                          *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\\\"\\r\\n                          >{{ status.picked_order1 | translate }}</span\\r\\n                        >\\r\\n                        <span\\r\\n                          *ngSwitchCase=\\\"\\r\\n                            ORDER_STATE.DELIVERY_MAN_STARTED_DELIVERY\\r\\n                          \\\"\\r\\n                          >{{ status.started_for_delivery1 | translate }}</span\\r\\n                        >\\r\\n                        <span\\r\\n                          *ngSwitchCase=\\\"\\r\\n                            ORDER_STATE.DELIVERY_MAN_ARRIVED_AT_DESTINATION\\r\\n                          \\\"\\r\\n                          >{{\\r\\n                            status.arrived_at_destination1 | translate\\r\\n                          }}</span\\r\\n                        >\\r\\n                      </span>\\r\\n                    </span>\\r\\n                    <span>\\r\\n                      |\\r\\n                      {{ soon_available_providers[index].request_count }}\\r\\n                      orders</span\\r\\n                    >\\r\\n                    <span\\r\\n                      *ngIf=\\\"\\r\\n                        soon_available_providers[index].postal_code &&\\r\\n                        soon_available_providers[index].request_count > 0\\r\\n                      \\\"\\r\\n                    >\\r\\n                      | {{ soon_available_providers[index].postal_code }}</span\\r\\n                    >\\r\\n                  </td>\\r\\n                </ng-container>\\r\\n                <ng-container *ngIf=\\\"!soon_available_providers[index]\\\">\\r\\n                  <td\\r\\n                    style=\\\"\\r\\n                      text-align: center;\\r\\n                      border-right: 1px solid red;\\r\\n                      height: 35px;\\r\\n                    \\\"\\r\\n                  ></td>\\r\\n                </ng-container>\\r\\n              </tr>\\r\\n            </tbody>\\r\\n          </table>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n  <div class=\\\"ibox\\\" *ngIf=\\\"!is_show_order\\\">\\r\\n    <div class=\\\"ibox-content\\\">\\r\\n      <app-location_track #location_track_component></app-location_track>\\r\\n    </div>\\r\\n  </div>\\r\\n</div>\\r\\n\\r\\n<modal cssClass=\\\"modal-sm\\\" #team_modal>\\r\\n  <modal-header [show-close]=\\\"true\\\">\\r\\n    <label>{{ heading_title.change_team | translate }}</label>\\r\\n  </modal-header>\\r\\n  <modal-body>\\r\\n    <div class=\\\"row\\\">\\r\\n      <div class=\\\"form-group\\\">\\r\\n        <select\\r\\n          chosen\\r\\n          class=\\\"chosen-select\\\"\\r\\n          id=\\\"team_id\\\"\\r\\n          [(ngModel)]=\\\"team_id\\\"\\r\\n          name=\\\"team_id\\\"\\r\\n          tabindex=\\\"4\\\"\\r\\n        >\\r\\n          <option value=\\\"\\\">Select Team</option>\\r\\n          <option *ngFor=\\\"let team of team_list\\\" value=\\\"{{ team._id }}\\\">\\r\\n            {{ team.name }}\\r\\n          </option>\\r\\n        </select>\\r\\n      </div>\\r\\n    </div>\\r\\n  </modal-body>\\r\\n  <modal-footer>\\r\\n    <div style=\\\"text-align: center\\\">\\r\\n      <button type=\\\"button\\\" class=\\\"btn btn-black\\\" (click)=\\\"update_team()\\\">\\r\\n        {{ button.submit | translate }}\\r\\n      </button>\\r\\n    </div>\\r\\n  </modal-footer>\\r\\n</modal>\\r\\n\\r\\n<modal\\r\\n  cssClass=\\\"modal-sm\\\"\\r\\n  #uber_eats_store_list_modal\\r\\n  keyboard=\\\"false\\\"\\r\\n  backdrop=\\\"static\\\"\\r\\n>\\r\\n  <modal-header>\\r\\n    <button\\r\\n      (click)=\\\"remove_uber_eats_store_list_event()\\\"\\r\\n      aria-label=\\\"Close\\\"\\r\\n      class=\\\"close\\\"\\r\\n      data-dismiss=\\\"modal\\\"\\r\\n      type=\\\"button\\\"\\r\\n    >\\r\\n      <span aria-hidden=\\\"true\\\">×</span>\\r\\n    </button>\\r\\n    <label>Uber Eats Store List</label>\\r\\n  </modal-header>\\r\\n  <modal-body>\\r\\n    <div class=\\\"row form-group\\\">\\r\\n      <ul class=\\\"list-group clear-list\\\">\\r\\n        <li class=\\\"list-group-item\\\" *ngFor=\\\"let store of uber_eats_store_list\\\">\\r\\n          <span class=\\\"pull-right\\\">\\r\\n            <i\\r\\n              *ngIf=\\\"!store.is_edit_use_hop_deliveryman\\\"\\r\\n              class=\\\"fa fa-pencil\\\"\\r\\n              (click)=\\\"store.is_edit_use_hop_deliveryman = true\\\"\\r\\n              style=\\\"\\r\\n                margin-left: 10px;\\r\\n                font-size: 15px;\\r\\n                color: #676a6c;\\r\\n                float: right;\\r\\n              \\\"\\r\\n            ></i>\\r\\n            <i\\r\\n              *ngIf=\\\"store.is_edit_use_hop_deliveryman\\\"\\r\\n              class=\\\"fa fa-check\\\"\\r\\n              (click)=\\\"is_use_hop_deliveryman_change(store, $event)\\\"\\r\\n              style=\\\"\\r\\n                margin-left: 10px;\\r\\n                font-size: 15px;\\r\\n                color: #676a6c;\\r\\n                float: right;\\r\\n              \\\"\\r\\n            ></i>\\r\\n            <ui-switch\\r\\n              class=\\\"pull-right\\\"\\r\\n              [(ngModel)]=\\\"store.is_use_hop_deliveryman\\\"\\r\\n              #is_use_hop_deliveryman\\r\\n              name=\\\"is_use_hop_deliveryman{{ store._id }}\\\"\\r\\n              [disabled]=\\\"!store.is_edit_use_hop_deliveryman\\\"\\r\\n            ></ui-switch>\\r\\n          </span>\\r\\n          {{ store.name }}\\r\\n        </li>\\r\\n      </ul>\\r\\n    </div>\\r\\n  </modal-body>\\r\\n</modal>\\r\\n\\r\\n<modal cssClass=\\\"modal-sm\\\" #city_list_modal keyboard=\\\"false\\\" backdrop=\\\"static\\\">\\r\\n  <modal-header>\\r\\n    <button\\r\\n      (click)=\\\"remove_event()\\\"\\r\\n      aria-label=\\\"Close\\\"\\r\\n      class=\\\"close\\\"\\r\\n      data-dismiss=\\\"modal\\\"\\r\\n      type=\\\"button\\\"\\r\\n    >\\r\\n      <span aria-hidden=\\\"true\\\">×</span>\\r\\n    </button>\\r\\n    <label>{{ title.is_automatic_find_provider | translate }}</label>\\r\\n  </modal-header>\\r\\n  <modal-body>\\r\\n    <div class=\\\"row form-group\\\">\\r\\n      <ul class=\\\"list-group clear-list\\\">\\r\\n        <ng-container *ngFor=\\\"let country of all_city_list\\\">\\r\\n          <li class=\\\"list-group-item\\\" *ngFor=\\\"let city of country.cities\\\">\\r\\n            <span class=\\\"pull-right\\\">\\r\\n              <ui-switch\\r\\n                class=\\\"pull-right\\\"\\r\\n                (change)=\\\"is_automatic_find_provider_change(city._id, $event)\\\"\\r\\n                [(ngModel)]=\\\"city.is_automatic_find_provider\\\"\\r\\n                #is_automatic_find_provider\\r\\n                name=\\\"is_automatic_find_provider{{ city._id }}\\\"\\r\\n              ></ui-switch>\\r\\n            </span>\\r\\n            {{ city.city_name }}\\r\\n          </li>\\r\\n        </ng-container>\\r\\n      </ul>\\r\\n    </div>\\r\\n  </modal-body>\\r\\n</modal>\\r\\n\\r\\n<modal\\r\\n  cssClass=\\\"modal-sm\\\"\\r\\n  #deliveryman_modal\\r\\n  keyboard=\\\"false\\\"\\r\\n  backdrop=\\\"static\\\"\\r\\n>\\r\\n  <modal-header>\\r\\n    <button\\r\\n      (click)=\\\"remove_event()\\\"\\r\\n      aria-label=\\\"Close\\\"\\r\\n      class=\\\"close\\\"\\r\\n      data-dismiss=\\\"modal\\\"\\r\\n      type=\\\"button\\\"\\r\\n    >\\r\\n      <span aria-hidden=\\\"true\\\">×</span>\\r\\n    </button>\\r\\n    <label>{{ heading_title.change_deliveryman | translate }}</label>\\r\\n  </modal-header>\\r\\n  <modal-body>\\r\\n    <div class=\\\"row form-group\\\">\\r\\n      <div class=\\\"col-md-12 remove_padding\\\">\\r\\n        {{ total_online_hopper }} hoppers en ligne\\r\\n      </div>\\r\\n      <div class=\\\"col-md-12 remove_padding\\\">\\r\\n        {{ total_online_free }} hoppers en disponible\\r\\n      </div>\\r\\n    </div>\\r\\n    <!-- <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-md-12 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n                        <input type=\\\"text\\\" class=\\\"form-control search_box\\\" placeholder=\\\"Search Hopper\\\" (keyup)=\\\"search_hopper_data()\\\" (focus)=\\\"focus_search()\\\" [(ngModel)]=\\\"search_hopper\\\"  name=\\\"search_hopper\\\">\\r\\n                        <span class=\\\"input-group-addon search_icon\\\"><span class=\\\"fa fa-search\\\"></span></span>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div> -->\\r\\n    <div class=\\\"row\\\">\\r\\n      <div class=\\\"col-md-6\\\" style=\\\"margin: 10px 0\\\">\\r\\n        <button\\r\\n          class=\\\"btn btn-xs btn-block\\\"\\r\\n          [class.btn-black]=\\\"filter_type == 1\\\"\\r\\n          (click)=\\\"provider_sorting(1)\\\"\\r\\n          type=\\\"button\\\"\\r\\n        >\\r\\n          Best Fit\\r\\n        </button>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-6\\\" style=\\\"margin: 10px 0\\\">\\r\\n        <button\\r\\n          class=\\\"btn btn-xs btn-block\\\"\\r\\n          [class.btn-black]=\\\"filter_type == 2\\\"\\r\\n          (click)=\\\"provider_sorting(2)\\\"\\r\\n          type=\\\"button\\\"\\r\\n        >\\r\\n          Available\\r\\n        </button>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-6\\\" style=\\\"margin: 10px 0\\\">\\r\\n        <button\\r\\n          class=\\\"btn btn-xs btn-block\\\"\\r\\n          [class.btn-black]=\\\"filter_type == 3\\\"\\r\\n          (click)=\\\"provider_sorting(3)\\\"\\r\\n          type=\\\"button\\\"\\r\\n        >\\r\\n          Going\\r\\n        </button>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-6\\\" style=\\\"margin: 10px 0\\\">\\r\\n        <button\\r\\n          class=\\\"btn btn-xs btn-block\\\"\\r\\n          [class.btn-black]=\\\"filter_type == 4\\\"\\r\\n          (click)=\\\"provider_sorting(4)\\\"\\r\\n          type=\\\"button\\\"\\r\\n        >\\r\\n          Delivering\\r\\n        </button>\\r\\n      </div>\\r\\n    </div>\\r\\n    <div class=\\\"row\\\">\\r\\n      <div class=\\\"form-group\\\">\\r\\n        <select\\r\\n          chosen\\r\\n          class=\\\"chosen-select\\\"\\r\\n          id=\\\"provider_id\\\"\\r\\n          [(ngModel)]=\\\"provider_id\\\"\\r\\n          name=\\\"provider_id\\\"\\r\\n          tabindex=\\\"4\\\"\\r\\n        >\\r\\n          <option value=\\\"\\\">Select Deliveryman</option>\\r\\n          <option\\r\\n            *ngFor=\\\"let provider of filtered_provider_list\\\"\\r\\n            value=\\\"{{ provider._id }}\\\"\\r\\n          >\\r\\n            <span\\r\\n              *ngIf=\\\"provider.is_online && provider.request_count == 0\\\"\\r\\n              style=\\\"color: green\\\"\\r\\n              >{{ provider.first_name }} {{ provider.last_name }}</span\\r\\n            >\\r\\n            <span\\r\\n              *ngIf=\\\"provider.is_online && provider._id == provider_id\\\"\\r\\n              style=\\\"color: pink\\\"\\r\\n              >{{ provider.first_name }} {{ provider.last_name }}</span\\r\\n            >\\r\\n            <span\\r\\n              *ngIf=\\\"\\r\\n                provider.is_online &&\\r\\n                provider.request_count > 0 &&\\r\\n                provider.order_list[0].delivery_status <\\r\\n                  helper.ORDER_STATE.DELIVERY_MAN_ARRIVED &&\\r\\n                provider._id !== provider_id\\r\\n              \\\"\\r\\n              style=\\\"color: #875ae0\\\"\\r\\n              >{{ provider.first_name }} {{ provider.last_name }}</span\\r\\n            >\\r\\n            <span\\r\\n              *ngIf=\\\"\\r\\n                provider.is_online &&\\r\\n                provider.request_count > 0 &&\\r\\n                provider.order_list[0].delivery_status >=\\r\\n                  helper.ORDER_STATE.DELIVERY_MAN_ARRIVED &&\\r\\n                provider._id !== provider_id\\r\\n              \\\"\\r\\n              style=\\\"color: orange\\\"\\r\\n              >{{ provider.first_name }} {{ provider.last_name }}</span\\r\\n            >\\r\\n            <span *ngIf=\\\"!provider.is_online\\\" style=\\\"color: black\\\"\\r\\n              >{{ provider.first_name }} {{ provider.last_name }}</span\\r\\n            >\\r\\n\\r\\n            <span>({{ provider.vehicle_name }})</span>\\r\\n            <span *ngIf=\\\"provider.postal_code\\\"\\r\\n              >({{ provider.postal_code }})</span\\r\\n            >\\r\\n            <span *ngIf=\\\"provider.request_count\\\"\\r\\n              >({{ provider.request_count }})</span\\r\\n            >\\r\\n            <span *ngIf=\\\"provider.distance_to_store && provider.is_online\\\"\\r\\n              >({{ provider.distance_to_store }} min\\r\\n              <span\\r\\n                *ngIf=\\\"\\r\\n                  provider.distance_to_store_with_order &&\\r\\n                  provider.request_count > 0\\r\\n                \\\"\\r\\n              >\\r\\n                | {{ provider.distance_to_store_with_order }} min</span\\r\\n              >\\r\\n              )</span\\r\\n            >\\r\\n            <span *ngIf=\\\"provider.is_premium\\\"> (+) </span>\\r\\n            <span\\r\\n              *ngIf=\\\"provider.total_completed_requests <= 5\\\"\\r\\n              style=\\\"\\r\\n                background: blue;\\r\\n                font-size: 12px;\\r\\n                color: #fff;\\r\\n                padding: 3px;\\r\\n                border-radius: 3px;\\r\\n              \\\"\\r\\n            >\\r\\n              New\\r\\n            </span>\\r\\n          </option>\\r\\n        </select>\\r\\n      </div>\\r\\n    </div>\\r\\n  </modal-body>\\r\\n  <modal-footer>\\r\\n    <div style=\\\"text-align: center\\\">\\r\\n      <button\\r\\n        type=\\\"button\\\"\\r\\n        class=\\\"btn btn-black\\\"\\r\\n        (click)=\\\"assign_new_provider(null)\\\"\\r\\n      >\\r\\n        {{ button.submit | translate }}\\r\\n      </button>\\r\\n    </div>\\r\\n  </modal-footer>\\r\\n</modal>\\r\\n\\r\\n<modal\\r\\n  cssClass=\\\"modal-sm\\\"\\r\\n  #nearest_store_list_modal\\r\\n  keyboard=\\\"false\\\"\\r\\n  backdrop=\\\"static\\\"\\r\\n>\\r\\n  <modal-header>\\r\\n    <button\\r\\n      (click)=\\\"remove_nearest_store_list_event()\\\"\\r\\n      aria-label=\\\"Close\\\"\\r\\n      class=\\\"close\\\"\\r\\n      data-dismiss=\\\"modal\\\"\\r\\n      type=\\\"button\\\"\\r\\n    >\\r\\n      <span aria-hidden=\\\"true\\\">×</span>\\r\\n    </button>\\r\\n    <label>Nearest Store List</label>\\r\\n  </modal-header>\\r\\n  <modal-body>\\r\\n    <div class=\\\"row\\\">\\r\\n      <div class=\\\"form-group\\\">\\r\\n        <select\\r\\n          chosen\\r\\n          class=\\\"chosen-select\\\"\\r\\n          id=\\\"nearest_store_list\\\"\\r\\n          [(ngModel)]=\\\"nearest_store_list\\\"\\r\\n          name=\\\"nearest_store_list\\\"\\r\\n          tabindex=\\\"4\\\"\\r\\n        >\\r\\n          <option\\r\\n            *ngFor=\\\"let provider of nearest_store_list\\\"\\r\\n            value=\\\"{{ provider._id }}\\\"\\r\\n          >\\r\\n            <span>{{ provider.store_name }}</span>\\r\\n\\r\\n            <span *ngIf=\\\"provider.store_postal_code\\\"\\r\\n              >({{ provider.store_postal_code }})</span\\r\\n            >\\r\\n\\r\\n            (<span *ngIf=\\\"provider.distance_to_store\\\"\\r\\n              >{{ provider.distance_to_store }} min\\r\\n            </span>\\r\\n            |\\r\\n            <span *ngIf=\\\"provider.distance_to_store_with_order\\\"\\r\\n              >{{ provider.distance_to_store_with_order }} min </span\\r\\n            >)\\r\\n          </option>\\r\\n        </select>\\r\\n      </div>\\r\\n    </div>\\r\\n  </modal-body>\\r\\n</modal>\\r\\n\\r\\n<modal\\r\\n  keyboard=\\\"false\\\"\\r\\n  backdrop=\\\"static\\\"\\r\\n  cssClass=\\\"modal-xl\\\"\\r\\n  #delay_order_modal\\r\\n>\\r\\n  <form #add_delivery_price_form=\\\"ngForm\\\" (ngSubmit)=\\\"update_delay_order()\\\">\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n      <h4 class=\\\"modal-title\\\">{{ title.is_delay_order | translate }}</h4>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n      <!-- <div class=\\\"form-group\\\">\\r\\n        <span>{{ title.is_delay_order | translate }}</span>\\r\\n        <ui-switch\\r\\n          class=\\\"pull-right\\\"\\r\\n          [(ngModel)]=\\\"is_delay_order\\\"\\r\\n          name=\\\"is_delay_order\\\"\\r\\n        ></ui-switch>\\r\\n      </div> -->\\r\\n      <!-- <div class=\\\"row\\\" *ngIf=\\\"is_delay_order\\\">\\r\\n        <div class=\\\"col-md-6\\\">\\r\\n          <div class=\\\"form-group\\\" *ngIf=\\\"is_delay_order\\\">\\r\\n            <div class=\\\"input-group\\\">\\r\\n              <span class=\\\"input-group-addon\\\">\\r\\n                <span>{{ title.km }}</span>\\r\\n              </span>\\r\\n              <input\\r\\n                type=\\\"text\\\"\\r\\n                (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                placeholder=\\\"{{ title.delay_distance | translate }}\\\"\\r\\n                class=\\\"form-control\\\"\\r\\n                automoplete=\\\"off\\\"\\r\\n                [(ngModel)]=\\\"delay_distance\\\"\\r\\n                name=\\\"delay_distance\\\"\\r\\n                required\\r\\n              />\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-6\\\">\\r\\n          <div class=\\\"form-group\\\" *ngIf=\\\"is_delay_order\\\">\\r\\n            <div class=\\\"input-group\\\">\\r\\n              <span class=\\\"input-group-addon\\\">\\r\\n                <span>{{ title.minute }}</span>\\r\\n              </span>\\r\\n              <input\\r\\n                type=\\\"text\\\"\\r\\n                (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                placeholder=\\\"{{ title.delay_time | translate }}\\\"\\r\\n                class=\\\"form-control\\\"\\r\\n                automoplete=\\\"off\\\"\\r\\n                [(ngModel)]=\\\"delay_time\\\"\\r\\n                name=\\\"delay_time\\\"\\r\\n                required\\r\\n              />\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"row\\\" *ngIf=\\\"is_delay_order\\\" style=\\\"padding: 20px\\\">\\r\\n        <div class=\\\"col-md-4 pad_right\\\">\\r\\n          <div\\r\\n            class=\\\"min_tag\\\"\\r\\n            [class.selected_time]=\\\"stop_for_time == 5\\\"\\r\\n            (click)=\\\"select_time(5)\\\"\\r\\n          >\\r\\n            5 min\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4 pad_right\\\">\\r\\n          <div\\r\\n            class=\\\"min_tag\\\"\\r\\n            [class.selected_time]=\\\"stop_for_time == 10\\\"\\r\\n            (click)=\\\"select_time(10)\\\"\\r\\n          >\\r\\n            10 min\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4 pad_right\\\">\\r\\n          <div\\r\\n            class=\\\"min_tag\\\"\\r\\n            [class.selected_time]=\\\"stop_for_time == 20\\\"\\r\\n            (click)=\\\"select_time(20)\\\"\\r\\n          >\\r\\n            20 min\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4 pad_right\\\">\\r\\n          <div\\r\\n            class=\\\"min_tag\\\"\\r\\n            [class.selected_time]=\\\"stop_for_time == 30\\\"\\r\\n            (click)=\\\"select_time(30)\\\"\\r\\n          >\\r\\n            30 min\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4 pad_right\\\">\\r\\n          <div\\r\\n            class=\\\"min_tag\\\"\\r\\n            [class.selected_time]=\\\"stop_for_time == 60\\\"\\r\\n            (click)=\\\"select_time(60)\\\"\\r\\n          >\\r\\n            60 min\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"row\\\" *ngIf=\\\"is_delay_order\\\" style=\\\"padding: 20px 0 10px 7px\\\">\\r\\n        <div class=\\\"form-group\\\">\\r\\n          <label class=\\\"col-lg-4 col-xs-4 control-label\\\">Close Till</label>\\r\\n          <div\\r\\n            class=\\\"col-lg-4 col-xs-4 input-group clock-picker\\\"\\r\\n            id=\\\"clock-picker\\\"\\r\\n            data-placement=\\\"top\\\"\\r\\n            data-align=\\\"top\\\"\\r\\n            data-autoclose=\\\"true\\\"\\r\\n          >\\r\\n            <input\\r\\n              type=\\\"time\\\"\\r\\n              class=\\\"form-control open\\\"\\r\\n              id=\\\"open\\\"\\r\\n              [(ngModel)]=\\\"close_till\\\"\\r\\n              name=\\\"close_till\\\"\\r\\n              readonly\\r\\n              required\\r\\n            />\\r\\n            <span class=\\\"input-group-addon\\\">\\r\\n              <span class=\\\"fa fa-clock-o\\\"></span>\\r\\n            </span>\\r\\n            <span\\r\\n              *ngIf=\\\"close_till\\\"\\r\\n              class=\\\"fa fa-remove\\\"\\r\\n              (click)=\\\"close_till = ''\\\"\\r\\n              style=\\\"float: right; padding: 10px\\\"\\r\\n            ></span>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div> -->\\r\\n\\r\\n      <div class=\\\"row form-group\\\">\\r\\n        <ul class=\\\"list-group clear-list\\\">\\r\\n          <ng-container *ngFor=\\\"let country of all_city_list\\\">\\r\\n            <li class=\\\"list-group-item\\\" *ngFor=\\\"let city of country.cities\\\">\\r\\n              <span class=\\\"pull-right\\\">\\r\\n                <i\\r\\n                  class=\\\"fa fa-pencil\\\"\\r\\n                  (click)=\\\"is_delay_order_change(city)\\\"\\r\\n                  style=\\\"\\r\\n                    margin-left: 10px;\\r\\n                    font-size: 15px;\\r\\n                    color: #676a6c;\\r\\n                    float: right;\\r\\n                  \\\"\\r\\n                ></i>\\r\\n                <ui-switch\\r\\n                  class=\\\"pull-right\\\"\\r\\n                  [(ngModel)]=\\\"city.is_delay_order\\\"\\r\\n                  #is_delay_order\\r\\n                  name=\\\"is_delay_order{{ city._id }}\\\"\\r\\n                  [disabled]=\\\"true\\\"\\r\\n                ></ui-switch>\\r\\n              </span>\\r\\n              {{ city.city_name }}\\r\\n            </li>\\r\\n          </ng-container>\\r\\n        </ul>\\r\\n      </div>\\r\\n    </modal-body>\\r\\n    <!-- <modal-footer>\\r\\n      <div style=\\\"text-align: center\\\">\\r\\n        <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">\\r\\n          {{ button.submit | translate }}\\r\\n        </button>\\r\\n      </div>\\r\\n    </modal-footer> -->\\r\\n  </form>\\r\\n</modal>\\r\\n\\r\\n<modal\\r\\n  keyboard=\\\"false\\\"\\r\\n  backdrop=\\\"static\\\"\\r\\n  cssClass=\\\"modal-xl\\\"\\r\\n  #cancel_detail_order_modal\\r\\n>\\r\\n  <modal-header [show-close]=\\\"true\\\">\\r\\n    <!-- <h4 class=\\\"modal-title\\\">{{heading_title.cancel_order | translate}}</h4> -->\\r\\n  </modal-header>\\r\\n  <modal-body>\\r\\n    <div class=\\\"row\\\" style=\\\"padding-top: 20px\\\">\\r\\n      <div class=\\\"radio\\\">\\r\\n        <label\\r\\n          ><input\\r\\n            type=\\\"radio\\\"\\r\\n            class=\\\"iradio\\\"\\r\\n            id=\\\"default_reason\\\"\\r\\n            name=\\\"cancel_reason\\\"\\r\\n            value=\\\"Too busy to deliver on time\\\"\\r\\n          /><span style=\\\"margin-left: 10px\\\"\\r\\n            >Too busy to deliver on time</span\\r\\n          ></label\\r\\n        >\\r\\n      </div>\\r\\n      <div class=\\\"radio\\\">\\r\\n        <label\\r\\n          ><input\\r\\n            type=\\\"radio\\\"\\r\\n            class=\\\"iradio\\\"\\r\\n            name=\\\"cancel_reason\\\"\\r\\n            value=\\\"Service is not in list\\\"\\r\\n          /><span style=\\\"margin-left: 10px\\\">Service is not in list</span></label\\r\\n        >\\r\\n      </div>\\r\\n      <div class=\\\"radio\\\">\\r\\n        <label\\r\\n          ><input\\r\\n            type=\\\"radio\\\"\\r\\n            class=\\\"iradio\\\"\\r\\n            name=\\\"cancel_reason\\\"\\r\\n            value=\\\"1\\\"\\r\\n          /><span style=\\\"margin-left: 10px\\\">.....</span></label\\r\\n        >\\r\\n      </div>\\r\\n      <div style=\\\"display: none; padding: 20px\\\" id=\\\"text_box\\\">\\r\\n        <input\\r\\n          type=\\\"text\\\"\\r\\n          class=\\\"form-control\\\"\\r\\n          placeholder=\\\"Reason\\\"\\r\\n          [(ngModel)]=\\\"cancel_reason\\\"\\r\\n          name=\\\"cancel_reason\\\"\\r\\n          required\\r\\n        />\\r\\n      </div>\\r\\n    </div>\\r\\n  </modal-body>\\r\\n  <modal-footer>\\r\\n    <div style=\\\"text-align: center\\\">\\r\\n      <button type=\\\"button\\\" class=\\\"btn btn-danger\\\" (click)=\\\"cancelOrder()\\\">\\r\\n        {{ button.cancel | translate }}\\r\\n      </button>\\r\\n    </div>\\r\\n  </modal-footer>\\r\\n</modal>\\r\\n\\r\\n<modal\\r\\n  keyboard=\\\"false\\\"\\r\\n  backdrop=\\\"static\\\"\\r\\n  cssClass=\\\"modal-xl\\\"\\r\\n  #estimated_time_modal1\\r\\n>\\r\\n  <modal-header [show-close]=\\\"true\\\">\\r\\n    <!-- <h4 class=\\\"modal-title\\\">{{heading_title.cancel_order | translate}}</h4> -->\\r\\n  </modal-header>\\r\\n  <modal-body>\\r\\n    <div class=\\\"row\\\" style=\\\"padding: 0px 20px\\\">\\r\\n      <div class=\\\"col-md-12 text-center cancel_order_header\\\" style=\\\"border: 0\\\">\\r\\n        <div class=\\\"cancel1\\\">Add more minutes to preparation time</div>\\r\\n      </div>\\r\\n      <div class=\\\"stop_new_order_body\\\">\\r\\n        <div class=\\\"row\\\" style=\\\"padding: 20px\\\">\\r\\n          <div class=\\\"col-md-4 pad_right\\\">\\r\\n            <div\\r\\n              class=\\\"min_tag\\\"\\r\\n              [class.selected_time]=\\\"estimated_time == 5\\\"\\r\\n              (click)=\\\"add_time(5)\\\"\\r\\n            >\\r\\n              5 min\\r\\n            </div>\\r\\n          </div>\\r\\n          <div class=\\\"col-md-4 pad_right\\\">\\r\\n            <div\\r\\n              class=\\\"min_tag\\\"\\r\\n              [class.selected_time]=\\\"estimated_time == 10\\\"\\r\\n              (click)=\\\"add_time(10)\\\"\\r\\n            >\\r\\n              10 min\\r\\n            </div>\\r\\n          </div>\\r\\n          <div class=\\\"col-md-4 pad_right\\\">\\r\\n            <div\\r\\n              class=\\\"min_tag\\\"\\r\\n              [class.selected_time]=\\\"estimated_time == 20\\\"\\r\\n              (click)=\\\"add_time(20)\\\"\\r\\n            >\\r\\n              20 min\\r\\n            </div>\\r\\n          </div>\\r\\n          <div class=\\\"col-md-4 pad_right\\\">\\r\\n            <div\\r\\n              class=\\\"min_tag\\\"\\r\\n              [class.selected_time]=\\\"estimated_time == 30\\\"\\r\\n              (click)=\\\"add_time(30)\\\"\\r\\n            >\\r\\n              30 min\\r\\n            </div>\\r\\n          </div>\\r\\n          <div class=\\\"col-md-4 pad_right\\\">\\r\\n            <div\\r\\n              class=\\\"min_tag\\\"\\r\\n              [class.selected_time]=\\\"estimated_time == 60\\\"\\r\\n              (click)=\\\"add_time(60)\\\"\\r\\n            >\\r\\n              60 min\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n      <modal-footer>\\r\\n        <div style=\\\"text-align: center\\\">\\r\\n          <button\\r\\n            type=\\\"button\\\"\\r\\n            (click)=\\\"update_estimated_time()\\\"\\r\\n            class=\\\"btn accept_button\\\"\\r\\n          >\\r\\n            {{ button.add | translate }}\\r\\n          </button>\\r\\n        </div>\\r\\n      </modal-footer>\\r\\n    </div>\\r\\n  </modal-body>\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl\\\" #editAddressModal>\\r\\n  <form\\r\\n    #modalAddressForm=\\\"ngForm\\\"\\r\\n    (ngSubmit)=\\\"UpdateAddress(modalAddressForm.value)\\\"\\r\\n  >\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n      <h4 class=\\\"modal-title\\\">{{ heading_title.edit_address | translate }}</h4>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n      <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-12\\\">\\r\\n          <div class=\\\"form-group\\\">\\r\\n            <label style=\\\"font-weight: normal\\\"\\r\\n              ><strong>{{ title.address | translate }}</strong></label\\r\\n            >\\r\\n            <div class=\\\"input-group\\\">\\r\\n              <input type=\\\"text\\\" class=\\\"form-control\\\" id=\\\"address\\\" required />\\r\\n              <span\\r\\n                class=\\\"input-group-addon\\\"\\r\\n                *ngIf=\\\"!is_show_address\\\"\\r\\n                (click)=\\\"is_show_address = true\\\"\\r\\n              >\\r\\n                <span class=\\\"fa fa fa-angle-down\\\"></span>\\r\\n              </span>\\r\\n              <span\\r\\n                class=\\\"input-group-addon\\\"\\r\\n                *ngIf=\\\"is_show_address\\\"\\r\\n                (click)=\\\"is_show_address = false\\\"\\r\\n              >\\r\\n                <span class=\\\"fa fa fa-angle-up\\\"></span>\\r\\n              </span>\\r\\n            </div>\\r\\n            <div\\r\\n              class=\\\"add-con-dropdown-list v-scroll-hide active\\\"\\r\\n              *ngIf=\\\"is_show_address\\\"\\r\\n            >\\r\\n              <h3>Vos adresse enregistrées</h3>\\r\\n              <div class=\\\"address-form-list-main\\\">\\r\\n                <form\\r\\n                  novalidate=\\\"\\\"\\r\\n                  action=\\\"\\\"\\r\\n                  class=\\\"ng-untouched ng-pristine ng-valid\\\"\\r\\n                >\\r\\n                  <div\\r\\n                    class=\\\"address-form-list\\\"\\r\\n                    *ngFor=\\\"let address of favourite_addresses\\\"\\r\\n                    (click)=\\\"set_address(address)\\\"\\r\\n                  >\\r\\n                    <input\\r\\n                      type=\\\"text\\\"\\r\\n                      readonly=\\\"\\\"\\r\\n                      class=\\\"form-control\\\"\\r\\n                      placeholder=\\\"{{ address.address }}\\\"\\r\\n                    />\\r\\n                  </div>\\r\\n                </form>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-12\\\">\\r\\n          <div class=\\\"form-group\\\">\\r\\n            <label style=\\\"font-weight: normal\\\"><strong>Comment</strong></label>\\r\\n            <input\\r\\n              type=\\\"text\\\"\\r\\n              class=\\\"form-control\\\"\\r\\n              [(ngModel)]=\\\"note\\\"\\r\\n              name=\\\"note\\\"\\r\\n            />\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-6\\\">\\r\\n          <div class=\\\"form-group\\\">\\r\\n            <label style=\\\"font-weight: normal\\\"><strong>Floor</strong></label>\\r\\n            <input\\r\\n              type=\\\"text\\\"\\r\\n              class=\\\"form-control\\\"\\r\\n              [(ngModel)]=\\\"floor\\\"\\r\\n              name=\\\"floor\\\"\\r\\n            />\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-6\\\">\\r\\n          <div class=\\\"form-group\\\">\\r\\n            <label style=\\\"font-weight: normal\\\"\\r\\n              ><strong>Entry Code</strong></label\\r\\n            >\\r\\n            <input\\r\\n              type=\\\"text\\\"\\r\\n              class=\\\"form-control\\\"\\r\\n              [(ngModel)]=\\\"entry_code\\\"\\r\\n              name=\\\"entry_code\\\"\\r\\n            />\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n      <div style=\\\"text-align: center\\\">\\r\\n        <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">\\r\\n          {{ button.update | translate }}\\r\\n        </button>\\r\\n      </div>\\r\\n    </modal-footer>\\r\\n  </form>\\r\\n</modal>\\r\\n\\r\\n<modal\\r\\n  keyboard=\\\"false\\\"\\r\\n  backdrop=\\\"static\\\"\\r\\n  style=\\\"top: 25%\\\"\\r\\n  cssClass=\\\"modal-xl\\\"\\r\\n  #delay_order_modal1\\r\\n>\\r\\n  <form #add_delivery_price_form=\\\"ngForm\\\" (ngSubmit)=\\\"update_delay_order1()\\\">\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n      <h4 class=\\\"modal-title\\\">{{ title.is_delay_order | translate }}</h4>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n      <div class=\\\"form-group\\\">\\r\\n        <span>{{ title.is_delay_order | translate }}</span>\\r\\n        <ui-switch\\r\\n          class=\\\"pull-right\\\"\\r\\n          [(ngModel)]=\\\"is_delay_order\\\"\\r\\n          name=\\\"is_delay_order\\\"\\r\\n        ></ui-switch>\\r\\n      </div>\\r\\n      <div class=\\\"row\\\" *ngIf=\\\"is_delay_order\\\">\\r\\n        <div class=\\\"col-md-6\\\">\\r\\n          <div class=\\\"form-group\\\" *ngIf=\\\"is_delay_order\\\">\\r\\n            <div class=\\\"input-group\\\">\\r\\n              <span class=\\\"input-group-addon\\\">\\r\\n                <span>{{ title.km }}</span>\\r\\n              </span>\\r\\n              <input\\r\\n                type=\\\"text\\\"\\r\\n                (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                placeholder=\\\"{{ title.delay_distance | translate }}\\\"\\r\\n                class=\\\"form-control\\\"\\r\\n                automoplete=\\\"off\\\"\\r\\n                [(ngModel)]=\\\"delay_distance\\\"\\r\\n                name=\\\"delay_distance\\\"\\r\\n                required\\r\\n              />\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-6\\\">\\r\\n          <div class=\\\"form-group\\\" *ngIf=\\\"is_delay_order\\\">\\r\\n            <div class=\\\"input-group\\\">\\r\\n              <span class=\\\"input-group-addon\\\">\\r\\n                <span>{{ title.minute }}</span>\\r\\n              </span>\\r\\n              <input\\r\\n                type=\\\"text\\\"\\r\\n                (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                placeholder=\\\"{{ title.delay_time | translate }}\\\"\\r\\n                class=\\\"form-control\\\"\\r\\n                automoplete=\\\"off\\\"\\r\\n                [(ngModel)]=\\\"delay_time\\\"\\r\\n                name=\\\"delay_time\\\"\\r\\n                required\\r\\n              />\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"row\\\" *ngIf=\\\"is_delay_order\\\" style=\\\"padding: 20px\\\">\\r\\n        <div class=\\\"col-md-4 pad_right\\\">\\r\\n          <div\\r\\n            class=\\\"min_tag\\\"\\r\\n            [class.selected_time]=\\\"stop_for_time == 5\\\"\\r\\n            (click)=\\\"select_delay_order_time(5)\\\"\\r\\n          >\\r\\n            5 min\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4 pad_right\\\">\\r\\n          <div\\r\\n            class=\\\"min_tag\\\"\\r\\n            [class.selected_time]=\\\"stop_for_time == 10\\\"\\r\\n            (click)=\\\"select_delay_order_time(10)\\\"\\r\\n          >\\r\\n            10 min\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4 pad_right\\\">\\r\\n          <div\\r\\n            class=\\\"min_tag\\\"\\r\\n            [class.selected_time]=\\\"stop_for_time == 20\\\"\\r\\n            (click)=\\\"select_delay_order_time(20)\\\"\\r\\n          >\\r\\n            20 min\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4 pad_right\\\">\\r\\n          <div\\r\\n            class=\\\"min_tag\\\"\\r\\n            [class.selected_time]=\\\"stop_for_time == 30\\\"\\r\\n            (click)=\\\"select_delay_order_time(30)\\\"\\r\\n          >\\r\\n            30 min\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4 pad_right\\\">\\r\\n          <div\\r\\n            class=\\\"min_tag\\\"\\r\\n            [class.selected_time]=\\\"stop_for_time == 60\\\"\\r\\n            (click)=\\\"select_delay_order_time(60)\\\"\\r\\n          >\\r\\n            60 min\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"row\\\" *ngIf=\\\"is_delay_order\\\" style=\\\"padding: 20px 0 10px 7px\\\">\\r\\n        <div class=\\\"form-group\\\">\\r\\n          <label class=\\\"col-lg-4 col-xs-4 control-label\\\">Close Till</label>\\r\\n          <div\\r\\n            class=\\\"col-lg-4 col-xs-4 input-group clock-picker\\\"\\r\\n            id=\\\"clock-picker\\\"\\r\\n            data-placement=\\\"top\\\"\\r\\n            data-align=\\\"top\\\"\\r\\n            data-autoclose=\\\"true\\\"\\r\\n          >\\r\\n            <input\\r\\n              type=\\\"time\\\"\\r\\n              class=\\\"form-control open\\\"\\r\\n              id=\\\"open\\\"\\r\\n              [(ngModel)]=\\\"close_till\\\"\\r\\n              name=\\\"close_till\\\"\\r\\n              readonly\\r\\n              required\\r\\n            />\\r\\n            <span class=\\\"input-group-addon\\\">\\r\\n              <span class=\\\"fa fa-clock-o\\\"></span>\\r\\n            </span>\\r\\n            <span\\r\\n              *ngIf=\\\"close_till\\\"\\r\\n              class=\\\"fa fa-remove\\\"\\r\\n              (click)=\\\"close_till = ''\\\"\\r\\n              style=\\\"float: right; padding: 10px\\\"\\r\\n            ></span>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n      <div style=\\\"text-align: center\\\">\\r\\n        <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">\\r\\n          {{ button.submit | translate }}\\r\\n        </button>\\r\\n      </div>\\r\\n    </modal-footer>\\r\\n  </form>\\r\\n</modal>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/dispatch/dispatch.component.html\n// module id = 1585\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer> \\r\\n<form #adminsettingForm=\\\"ngForm\\\" (ngSubmit)=\\\"AdminSetting(adminsettingForm.value)\\\" >\\r\\n\\r\\n    <div class=\\\"row wrapper col-sm-12 col-md-12 col-xs-12 col-lg-12 fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-md-3 col-sm-12 pull-right new_submit_button\\\">\\r\\n                <input type=\\\"submit\\\" id=\\\"update\\\" name=\\\"update\\\"  class=\\\"btn btn-primary\\\" value=\\\"{{helper.button.update | translate}}\\\" >\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"wrapper wrapper-content content_top_bar_view animated fadeInRight\\\">\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-lg-12\\\">\\r\\n                <div class=\\\"col-lg-6 col-sm-9\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-content\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-sm-6 control-label\\\">{{helper.title.is_smart_dispatch | translate}}:</label>\\r\\n                                    <div class=\\\"col-sm-6 form-group\\\">\\r\\n                                        <ui-switch [(ngModel)]=\\\"dispatch_setting.is_smart_dispatch\\\" #is_smart_dispatch=\\\"ngModel\\\" name=\\\"is_smart_dispatch\\\"></ui-switch>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\"><label class=\\\"col-sm-6 control-label\\\">{{helper.title.store_distance_diff | translate}}:</label>\\r\\n                                    <div class=\\\"col-sm-6 form-group\\\"><input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"dispatch_setting.store_distance_diff\\\" #store_distance_diff=\\\"ngModel\\\"  name=\\\"store_distance_diff\\\" placeholder=\\\"Admin name\\\"></div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\"><label class=\\\"col-sm-6 control-label\\\">{{helper.title.user_distance_diff | translate}}:</label>\\r\\n                                    <div class=\\\"col-sm-6 form-group\\\"><input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"dispatch_setting.user_distance_diff\\\" #user_distance_diff=\\\"ngModel\\\"  name=\\\"user_distance_diff\\\" placeholder=\\\"\\\"></div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\"><label class=\\\"col-sm-6 control-label\\\">{{helper.title.ready_time_diff | translate}}:</label>\\r\\n                                    <div class=\\\"col-sm-6 form-group\\\"><input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"dispatch_setting.ready_time_diff\\\" #ready_time_diff=\\\"ngModel\\\"  name=\\\"ready_time_diff\\\" placeholder=\\\"\\\"></div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\"><label class=\\\"col-sm-6 control-label\\\">{{helper.title.delivery_time_diff | translate}}:</label>\\r\\n                                    <div class=\\\"col-sm-6 form-group\\\"><input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"dispatch_setting.delivery_time_diff\\\" #delivery_time_diff=\\\"ngModel\\\"  name=\\\"delivery_time_diff\\\" placeholder=\\\"\\\"></div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-lg-6 col-sm-9\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-content\\\">\\r\\n                            <div class=\\\"ibox-content\\\" style=\\\"padding-bottom: 40px;\\\">\\r\\n                                <div class=\\\"table-responsive\\\">\\r\\n                                    <table class=\\\"table\\\">\\r\\n                                        <thead>\\r\\n                                            <tr>\\r\\n                                                <th>Vehicle</th>\\r\\n                                                <th>Max. Price</th>\\r\\n                                                <th>Max. Distance</th>\\r\\n                                            </tr>\\r\\n                                        </thead>\\r\\n                                        <tbody>\\r\\n                                            <tr *ngFor=\\\"let vehicle of dispatch_setting.vehicle_settings;let index=index;\\\">\\r\\n                                                <td>\\r\\n                                                    <span *ngIf=\\\"vehicle.vehicle_type==1\\\">{{helper.button.car | translate}}</span>\\r\\n                                                    <span *ngIf=\\\"vehicle.vehicle_type==2\\\">{{helper.button.scooter | translate}}</span>\\r\\n                                                    <span *ngIf=\\\"vehicle.vehicle_type==3\\\">{{helper.button.electrical_bike | translate}}</span>\\r\\n                                                    <span *ngIf=\\\"vehicle.vehicle_type==4\\\">{{helper.button.normal_bike | translate}}</span>\\r\\n                                                </td>\\r\\n                                                <td>\\r\\n                                                    <ui-switch style=\\\"margin-right: 20px;\\\" [(ngModel)]=\\\"vehicle.is_price_check\\\" #is_price_check=\\\"ngModel\\\" name=\\\"is_price_check{{index}}\\\"></ui-switch>\\r\\n                                                    <div style=\\\"width: 100px;display: inline-block;\\\">\\r\\n                                                        <input [disabled]=\\\"!vehicle.is_price_check\\\" type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"vehicle.price\\\" #price=\\\"ngModel\\\"  name=\\\"price{{index}}\\\" placeholder=\\\"\\\">\\r\\n                                                    </div>\\r\\n                                                </td>\\r\\n                                                <td>\\r\\n                                                    <ui-switch style=\\\"margin-right: 20px;\\\" [(ngModel)]=\\\"vehicle.is_distance_check\\\" #is_distance_check=\\\"ngModel\\\" name=\\\"is_distance_check{{index}}\\\"></ui-switch>\\r\\n                                                    <div style=\\\"width: 100px;display: inline-block;\\\">\\r\\n                                                        <input [disabled]=\\\"!vehicle.is_distance_check\\\" type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"vehicle.distance\\\" #distance=\\\"ngModel\\\"  name=\\\"distance{{index}}\\\" placeholder=\\\"\\\">\\r\\n                                                    </div>\\r\\n                                                </td>\\r\\n                                            </tr>\\r\\n                                        </tbody>\\r\\n                                    </table>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n    </div>\\r\\n</form>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/dispatch_setting/dispatch_setting.component.html\n// module id = 1586\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer> \\r\\n<!-- <div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-2 col-sm-12\\\">\\r\\n            <div class=\\\"col-md-12 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" [(ngModel)]=\\\"selected_country\\r\\n                            \\\" name=\\\"selected_country\\\" id=\\\"selected_country\\\" tabindex=\\\"4\\\">\\r\\n                        <option>{{title.all | translate}}</option>\\r\\n                        <option *ngFor=\\\"let country_data of country_list\\\" value=\\\"{{country_data._id}}\\\">{{country_data.country_name}}</option>\\r\\n\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n        <div class=\\\"col-md-6 col-sm-12\\\">\\r\\n            <div class=\\\"col-md-12 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n\\r\\n                        <input type=\\\"text\\\" (keyup)=\\\"filter_country(filter_country_name)\\\" class=\\\"form-control search_box\\\" [(ngModel)]=\\\"filter_country_name\\\" placeholder=\\\"Search City\\\" style=\\\"color:#000000;\\\" name=\\\"filter_country_name\\\">\\r\\n                        <span class=\\\"input-group-addon search_icon\\\"><span class=\\\"fa fa-search\\\"></span></span>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n        <div class=\\\"col-md-3 col-sm-12 pull-right\\\">\\r\\n            <div class=\\\"col-md-6 col-sm-6 add_btn_div\\\">\\r\\n                <button [routerLink]=\\\"['/admin/add_city']\\\" class=\\\"btn add_btn\\\">{{button.add_city | translate}}<span class=\\\"fa fa-plus\\\" style=\\\"margin-left: 8px;\\\"></span></button>\\r\\n                                        <a [routerLink]=\\\"['/admin/add_city']\\\" class=\\\"pull-right\\\"> <button class=\\\"btn add_btn pull-right\\\">{{button.add_city | translate}}<span class=\\\"fa fa-plus pull-right\\\" style=\\\"margin-top: 2px;\\\"></span></button></a>-->\\r\\n            <!-- </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div> -->\\r\\n<div class=\\\"wrapper content_top_bar_view wrapper-content animated fadeInRight\\\">\\r\\n    <div  *ngFor=\\\"let country_data of filtered_country_list\\\">\\r\\n        <div *ngFor=\\\"let i of country_data.cities\\\" [hidden]=\\\"selected_country !== (title.all | translate) && selected_country!==country_data._id \\\">\\r\\n            <div class=\\\"col-lg-2 col-md-3 col-sm-6 col-xs-12 user_profile\\\">\\r\\n                <div class=\\\"ibox float-e-margins\\\">\\r\\n\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <!-- <a class=\\\"pull-right\\\" (click)=\\\"editCity(i._id)\\\"><i class=\\\"fa fa-pencil\\\" style=\\\"font-size:20px;color:#676a6c\\\"></i></a> -->\\r\\n                        <div>\\r\\n                        <h5 style=\\\"font-size:17px;\\\"><strong>{{i.city_name}}</strong></h5> \\r\\n                        </div>\\r\\n                        <div [hidden]=\\\"country_data.cities.length == 0 || (selected_country!== (title.all | translate) && selected_country!==country_data._id) \\\">\\r\\n                            <h5 class=\\\"col-lg-10 col-sm-10 col-md-10\\\" style=\\\"float: none;font-size:14px;\\\">{{country_data.country_name}}</h5>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n\\r\\n\\r\\n                    <div class=\\\"ibox-content profile-content\\\">\\r\\n\\r\\n                        <ul class=\\\"list-group clear-list\\\">\\r\\n                            <!-- <li class=\\\"list-group-item fist-item\\\">\\r\\n                                <span class=\\\"pull-right\\\"> {{i.city_radius}} </span>\\r\\n                                {{title.city_radius | translate}}\\r\\n                            </li>\\r\\n\\r\\n\\r\\n                            <li class=\\\"list-group-item\\\">\\r\\n\\r\\n                                <span class=\\\"pull-right\\\">  <ui-switch (change)=\\\"is_business_change(i._id, $event)\\\" style=\\\"float: right;\\\" [(ngModel)]=\\\"i.is_business\\\" name=\\\"is_business\\\"></ui-switch></span>\\r\\n                                {{title.is_business_city | translate}}\\r\\n                            </li>\\r\\n                            <li class=\\\"list-group-item\\\">\\r\\n                                <span class=\\\"pull-right\\\"> <ui-switch (change)=\\\"is_cash_payment_mode_change(i._id, $event)\\\" style=\\\"float: right;\\\" [(ngModel)]=\\\"i.is_cash_payment_mode\\\" name=\\\"is_cash_payment_mode\\\"></ui-switch></span>\\r\\n                                {{title.is_cash_payment_mode | translate}}\\r\\n                            </li>\\r\\n\\r\\n                            <li class=\\\"list-group-item\\\">\\r\\n                                <span class=\\\"pull-right\\\"> <ui-switch (change)=\\\"is_other_payment_mode_change(i._id, $event)\\\" style=\\\"float: right;\\\" [(ngModel)]=\\\"i.is_other_payment_mode\\\" name=\\\"is_other_payment_mode\\\"></ui-switch></span>\\r\\n                                {{title.is_other_payment_mode | translate}}\\r\\n                            </li> -->\\r\\n\\r\\n                            <li class=\\\"list-group-item fist-item\\\">\\r\\n                                <span class=\\\"pull-right\\\"> <ui-switch (change)=\\\"is_automatic_find_provider_change(i._id, $event)\\\" style=\\\"float: right;\\\" [(ngModel)]=\\\"i.is_automatic_find_provider\\\" name=\\\"is_automatic_find_provider\\\"></ui-switch></span>\\r\\n                                {{title.is_automatic_find_provider | translate}}\\r\\n                            </li>\\r\\n\\r\\n                        </ul>\\r\\n\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/dispatcher_city/dispatcher_city.component.html\n// module id = 1587\n// module chunks = 0","module.exports = \"\\r\\n\\r\\n\\r\\n    <div class=\\\"row full_height\\\">\\r\\n        <div class=\\\"col-md-5 col-xs-12 col-sm-5 full_height login_left_background\\\">\\r\\n            <div class=\\\"col-md-12 col-xs-12 col-sm-12 login_left_top_margin animated fadeInLeft\\\">\\r\\n                <div class=\\\"col-md-12 col-xs-12 col-sm-12\\\">\\r\\n                    <img  style=\\\"width: 130px;\\\" src=\\\"web_images/logo.png\\\">\\r\\n                </div>\\r\\n               \\r\\n                <label class=\\\"col-md-12 col-xs-12 col-sm-12 login_title\\\" style=\\\"margin-top: 20px;\\\">{{title.admin_title1 | translate}}</label>\\r\\n                <label class=\\\"col-md-12 col-xs-12 col-sm-12 login_title\\\">{{title.app_name + \\\" \\\" +title.admin_title2 | translate}}</label>\\r\\n                <div class=\\\"col-md-12 col-xs-12 col-sm-12\\\">\\r\\n                    <hr class=\\\"login_hr\\\">\\r\\n                </div>\\r\\n\\r\\n                </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-7 col-xs-12 col-sm-7 full_height login_right_background\\\">\\r\\n            <div class=\\\"loginColumns animated fadeInRight\\\" style=\\\"max-width: 435px;\\\">\\r\\n                <div class=\\\"ibox-content login_right_background\\\">\\r\\n\\r\\n                    <label class='login_right_title'>{{title.signin_to_your_account | translate}}</label>\\r\\n                    <form  #adminForm=\\\"ngForm\\\" (ngSubmit)=\\\"check_verify(adminForm.value)\\\">\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"login_text_box_label\\\">{{title.admin_user | translate}}</label>\\r\\n                            <input type=\\\"text\\\" class=\\\"form-control login_text_box\\\" [(ngModel)]=\\\"username\\\" name=\\\"username\\\"  required />\\r\\n\\r\\n                        </div>\\r\\n                        <div class=\\\"form-group\\\" style=\\\"margin-bottom: 30px;\\\">\\r\\n                            <label class=\\\"login_text_box_label\\\">{{title.admin_password | translate}}</label>\\r\\n                            <input type=\\\"password\\\" class=\\\"form-control login_text_box\\\" [(ngModel)]=\\\"password\\\" name=\\\"password\\\" required />\\r\\n\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-12 col-xs-12 col-sm-12 lable_center\\\" style=\\\"margin-top: 20px;\\\">\\r\\n                            <button type=\\\"submit\\\" class=\\\"btn btn-danger m-b login_submit_button\\\" >{{button.admin_login | translate}}</button>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-12 col-xs-12 col-sm-12 lable_center\\\">\\r\\n\\r\\n                            <a [routerLink]=\\\"['/admin/forgot_password']\\\" style=\\\"color:#959597;\\\">{{title.forgot_password | translate}}</a>\\r\\n                        </div>\\r\\n                        \\r\\n                    </form>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/dispatcher_login/dispatcher_login.template.html\n// module id = 1588\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer> \\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.search | translate}}</label>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"search_field\\\" [(ngModel)]=\\\"search_field\\\" name=\\\"search_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"document_name\\\">{{title.filter_name | translate}}</option>\\r\\n\\r\\n                        <option value=\\\"country_details.country_name\\\">{{title.filter_country | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n\\r\\n                        <input type=\\\"text\\\" class=\\\"form-control search_box\\\" [(ngModel)]=\\\"search_value\\\"  name=\\\"search_value\\\">\\r\\n                        <span class=\\\"input-group-addon search_icon\\\"><span class=\\\"fa fa-search\\\"></span></span>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.sort | translate}}</label>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"sort_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"sort_field\\\" [(ngModel)]=\\\"sort_field\\\" name=\\\"sort_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"unique_id\\\">{{title.filter_id | translate}}</option>\\r\\n                        <option value=\\\"document_name\\\">{{title.filter_name | translate}}</option>\\r\\n                        <option value=\\\"country_details.country_name\\\">{{title.filter_country | translate}}</option>\\r\\n\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"sort_orders\\\">\\r\\n\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"sort_document\\\" [(ngModel)]=\\\"sort_document\\\" name=\\\"sort_document\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"1\\\">{{title.ascending | translate}}</option>\\r\\n                        <option value=\\\"-1\\\">{{title.descending | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <!--                    <div class=\\\"col-md-4 col-sm-4 filter_btn_div\\\">\\r\\n                                    <input type=\\\"button\\\" class=\\\"btn export_excel_btn pull-right\\\" value=\\\"{{button.export_excel | translate}}\\\" >\\r\\n                                </div>-->\\r\\n            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"filter(1)\\\" class=\\\"btn filter_apply_btn pull-right\\\" value=\\\"{{button.apply | translate}}\\\" >\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <button [routerLink]=\\\"['/admin/add_document']\\\" class=\\\"btn add_btn\\\">{{button.add_document | translate}}<span class=\\\"fa fa-plus\\\" style=\\\"margin-left: 8px;\\\"></span></button>\\r\\n                <!--                        <input type=\\\"button\\\" class=\\\"btn export_excel_btn pull-right\\\" [routerLink]=\\\"['/admin/add_document']\\\" value=\\\"{{button.add_document | translate}}\\\" >-->\\r\\n\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n    </div>\\r\\n\\r\\n</div>\\r\\n\\r\\n<div class=\\\"wrapper wrapper-content content_top_bar_view1 animated fadeInRight \\\">\\r\\n\\r\\n     <div class=\\\"ibox\\\" *ngIf=\\\"document_list.length==0\\\">\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n            <div class=\\\"lable_center\\\" >\\r\\n                <label>No Records</label>\\r\\n            </div>\\r\\n        </div>  \\r\\n    </div>\\r\\n    <div class=\\\"ibox\\\" *ngIf=\\\"document_list.length>0\\\">\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n            <div class=\\\"table-responsive\\\">\\r\\n                <table class=\\\"table table-striped\\\">\\r\\n                    <thead>\\r\\n                        <tr>\\r\\n                            <th>{{title.ID | translate}}</th>\\r\\n                            <th>{{title.document_name | translate}}</th>\\r\\n                            <th>{{title.country | translate}}</th>\\r\\n                            <th>{{title.type | translate}}</th>\\r\\n                            <th>{{title.option | translate}}</th>\\r\\n                            <th class=\\\"pull-right\\\" style=\\\"margin-right:35px\\\">{{title.action | translate}}</th>\\r\\n                        </tr>\\r\\n                    </thead>\\r\\n                    <tbody>\\r\\n                        <tr *ngFor=\\\"let i of document_list; let index=index; let last=last;\\\">\\r\\n                            <td>{{i.unique_id}}</td>\\r\\n\\r\\n                            <td>{{i.document_name }}</td>\\r\\n                            <td>{{i.country_details.country_name}}</td>\\r\\n                            <td [ngSwitch]=\\\"i.document_for\\\">\\r\\n                                <div *ngSwitchCase=\\\"ADMIN_DATA_ID.USER\\\">{{lable_title.user}}</div>\\r\\n                                <div *ngSwitchCase=\\\"ADMIN_DATA_ID.PROVIDER\\\">{{lable_title.provider}}</div>\\r\\n                                <div *ngSwitchCase=\\\"ADMIN_DATA_ID.STORE\\\">{{lable_title.store}}</div>\\r\\n                                <div *ngSwitchCase=\\\"ADMIN_DATA_ID.PROVIDER_VEHICLE\\\">{{lable_title.provider_vehicle_type}}</div>\\r\\n                            </td>\\r\\n                            <td [ngSwitch]=\\\"i.is_mandatory\\\">\\r\\n                                <div *ngSwitchCase=\\\"true\\\">{{lable_title.mandatory}}</div>\\r\\n                                <div *ngSwitchCase=\\\"false\\\">{{lable_title.optional}}</div>\\r\\n\\r\\n                            </td>\\r\\n\\r\\n\\r\\n\\r\\n                            <td><div class=\\\"dropdown pull-right\\\" [class.dropup]=\\\"last && !index==0\\\" dropdown>\\r\\n                                    <button class=\\\"btn btn-primary\\\" dropdown-open>{{title.action | translate}}<span class=\\\"caret\\\"></span></button>\\r\\n\\r\\n\\r\\n                                    <ul class=\\\"dropdown-menu\\\">\\r\\n                                        <li><a (click)=\\\"editDocument(i._id)\\\"  ><span style=\\\"display:block;\\\" class=\\\"nav-label\\\">{{button.edit | translate}}</span> </a></li>\\r\\n                                    </ul>\\r\\n                                </div>\\r\\n                            </td>\\r\\n                        </tr>\\r\\n                    </tbody>\\r\\n                </table>\\r\\n            </div>\\r\\n\\r\\n\\r\\n            <!--            <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                            <div class=\\\"lable_center\\\">\\r\\n            \\r\\n                                <ul class=\\\"pagination\\\">\\r\\n                                    <li *ngIf=\\\"page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"filter(page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                                    <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page==index\\\">\\r\\n                                        <a *ngIf=\\\"index==1 || index==total_page || index==page || index==page-1 || index==page+1\\\" (click)=\\\"filter(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                                        <a *ngIf=\\\"(index==1 && (page!==1 && page!==2 && page!==3)) || (index==total_page-1 && (page!==total_page && page!==total_page-1 && page!==total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n            \\r\\n                                    </li>\\r\\n                                    <li *ngIf=\\\"page!==total_page && document_list.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"filter(page+1)\\\">{{button.next | translate}}</a></li>\\r\\n                                </ul>\\r\\n                            </div>\\r\\n                        </div>-->\\r\\n\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n        <div class=\\\"lable_center\\\">\\r\\n\\r\\n            <ul class=\\\"pagination\\\">\\r\\n                <li *ngIf=\\\"page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"filter(page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page==index\\\">\\r\\n                    <a *ngIf=\\\"index==1 || index==total_page || index==page || index==page-1 || index==page+1\\\" (click)=\\\"filter(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                    <a *ngIf=\\\"(index==1 && (page!==1 && page!==2 && page!==3)) || (index==total_page-1 && (page!==total_page && page!==total_page-1 && page!==total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n\\r\\n                </li>\\r\\n                <li *ngIf=\\\"page!==total_page && document_list.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"filter(page+1)\\\">{{button.next | translate}}</a></li>\\r\\n            </ul>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/document/document.component.html\n// module id = 1589\n// module chunks = 0","module.exports = \"<style>\\r\\n  .set_padding {\\r\\n    padding-right: 2px;\\r\\n  }\\r\\n</style>\\r\\n<footer [myLoading]=\\\"myLoading\\\"></footer>\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n  <div class=\\\"row\\\">\\r\\n    <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n      <div class=\\\"lable_center\\\">\\r\\n        <label>{{ title.search | translate }}</label>\\r\\n      </div>\\r\\n\\r\\n      <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"search_field\\\"\\r\\n            [(ngModel)]=\\\"search_field\\\"\\r\\n            name=\\\"search_field\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <option value=\\\"unique_id\\\">{{ title.order_id | translate }}</option>\\r\\n            <option value=\\\"user_unique_id\\\">\\r\\n              {{ title.user_id | translate }}\\r\\n            </option>\\r\\n            <option value=\\\"provider_unique_id\\\">\\r\\n              {{ title.earning_provider_id | translate }}\\r\\n            </option>\\r\\n            <option value=\\\"store_unique_id\\\">\\r\\n              {{ title.store_id | translate }}\\r\\n            </option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n        <div class=\\\"form-group\\\">\\r\\n          <div class=\\\"input-group\\\">\\r\\n            <input\\r\\n              type=\\\"text\\\"\\r\\n              class=\\\"form-control search_box\\\"\\r\\n              [(ngModel)]=\\\"search_value\\\"\\r\\n              name=\\\"search_value\\\"\\r\\n            />\\r\\n            <span class=\\\"input-group-addon search_icon\\\"\\r\\n              ><span class=\\\"fa fa-search\\\"></span\\r\\n            ></span>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n      <div class=\\\"lable_center\\\">\\r\\n        <label>{{ title.sort | translate }}</label>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n        <div class=\\\"form-group\\\" id=\\\"sort_fields\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"sort_field\\\"\\r\\n            [(ngModel)]=\\\"sort_field\\\"\\r\\n            name=\\\"sort_field\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <option value=\\\"unique_id\\\">{{ title.filter_id | translate }}</option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n        <div class=\\\"form-group\\\" id=\\\"sort_orders\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"sort_order\\\"\\r\\n            [(ngModel)]=\\\"sort_order\\\"\\r\\n            name=\\\"sort_order\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <option value=\\\"1\\\">{{ title.ascending | translate }}</option>\\r\\n            <option value=\\\"-1\\\">{{ title.descending | translate }}</option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n    <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n      <div class=\\\"lable_center\\\">\\r\\n        <label>{{ title.date_filter | translate }}</label>\\r\\n      </div>\\r\\n\\r\\n      <div class=\\\"col-md-12 remove_padding\\\">\\r\\n        <div class=\\\"form-group\\\">\\r\\n          <div class=\\\"input-group\\\">\\r\\n            <my-date-picker\\r\\n              id=\\\"start_date\\\"\\r\\n              [options]=\\\"helper.myStartDatePickerOptions\\\"\\r\\n              placeholder=\\\"Start Date\\\"\\r\\n              [(ngModel)]=\\\"start_date\\\"\\r\\n              (dateChanged)=\\\"helper.onStartDateChanged($event)\\\"\\r\\n              readonly\\r\\n            ></my-date-picker>\\r\\n            <span class=\\\"input-group-addon date_filter_icon\\\">To</span>\\r\\n\\r\\n            <my-date-picker\\r\\n              id=\\\"end_date\\\"\\r\\n              [options]=\\\"helper.myEndDatePickerOptions\\\"\\r\\n              placeholder=\\\"End Date\\\"\\r\\n              [(ngModel)]=\\\"end_date\\\"\\r\\n              (dateChanged)=\\\"helper.onEndDateChanged($event)\\\"\\r\\n              readonly\\r\\n            ></my-date-picker>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n    <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n      <!--            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"earning_export_excel()\\\" class=\\\"btn export_excel_btn pull-right\\\" value=\\\"{{button.export_excel | translate}}\\\" >\\r\\n            </div>-->\\r\\n\\r\\n      <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n        <input\\r\\n          type=\\\"button\\\"\\r\\n          (click)=\\\"earning_export_csv()\\\"\\r\\n          class=\\\"btn export_excel_btn pull-right\\\"\\r\\n          value=\\\"{{ button.export_excel | translate }}\\\"\\r\\n        />\\r\\n      </div>\\r\\n\\r\\n      <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n        <input\\r\\n          type=\\\"button\\\"\\r\\n          (click)=\\\"admin_earning(1)\\\"\\r\\n          class=\\\"btn filter_apply_btn pull-right\\\"\\r\\n          value=\\\"{{ button.apply | translate }}\\\"\\r\\n        />\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n</div>\\r\\n<div class=\\\"wrapper wrapper-content content_top_bar_view1 animated fadeInRight\\\">\\r\\n  <div class=\\\"ibox\\\" *ngIf=\\\"order_list.length == 0\\\">\\r\\n    <div class=\\\"ibox-content\\\">\\r\\n      <div class=\\\"lable_center\\\">\\r\\n        <label>No Records</label>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n  <div class=\\\"row\\\" *ngIf=\\\"order_list.length > 0\\\">\\r\\n    <div class=\\\"col-lg-12\\\">\\r\\n      <div class=\\\"ibox\\\">\\r\\n        <div class=\\\"wizard\\\">\\r\\n          <div class=\\\"steps clearfix\\\">\\r\\n            <ul style=\\\"display: table; padding: 0px\\\">\\r\\n              <li\\r\\n                style=\\\"margin: 0px !important; border: 0px; width: 100px\\\"\\r\\n                [class.current]=\\\"page_tab == 1\\\"\\r\\n              >\\r\\n                <a\\r\\n                  style=\\\"\\r\\n                    border-bottom-right-radius: 0px;\\r\\n                    text-align: center;\\r\\n                    border-bottom-left-radius: 0px;\\r\\n                    border: 0px;\\r\\n                  \\\"\\r\\n                  (click)=\\\"page_tab = 1\\\"\\r\\n                  class=\\\"btn-default\\\"\\r\\n                  ><span\\r\\n                    style=\\\"font-weight: bold; display: block\\\"\\r\\n                    class=\\\"nav-label\\\"\\r\\n                    >{{ title.earning_user_total | translate }}</span\\r\\n                  ></a\\r\\n                >\\r\\n              </li>\\r\\n              <li\\r\\n                style=\\\"margin: 0px !important; border: 0px; width: 100px\\\"\\r\\n                [class.current]=\\\"page_tab == 2\\\"\\r\\n              >\\r\\n                <a\\r\\n                  style=\\\"\\r\\n                    border-bottom-right-radius: 0px;\\r\\n                    text-align: center;\\r\\n                    border-bottom-left-radius: 0px;\\r\\n                    border: 0px;\\r\\n                  \\\"\\r\\n                  (click)=\\\"page_tab = 2\\\"\\r\\n                  class=\\\"btn-default\\\"\\r\\n                  ><span\\r\\n                    style=\\\"font-weight: bold; display: block\\\"\\r\\n                    class=\\\"nav-label\\\"\\r\\n                    >{{ title.earning_admin_total | translate }}</span\\r\\n                  ></a\\r\\n                >\\r\\n              </li>\\r\\n              <li\\r\\n                style=\\\"margin: 0px !important; border: 0px; width: 100px\\\"\\r\\n                [class.current]=\\\"page_tab == 3\\\"\\r\\n              >\\r\\n                <a\\r\\n                  style=\\\"\\r\\n                    border-bottom-right-radius: 0px;\\r\\n                    text-align: center;\\r\\n                    border-bottom-left-radius: 0px;\\r\\n                    border: 0px;\\r\\n                  \\\"\\r\\n                  (click)=\\\"page_tab = 3\\\"\\r\\n                  class=\\\"btn-default\\\"\\r\\n                  ><span\\r\\n                    style=\\\"font-weight: bold; display: block\\\"\\r\\n                    class=\\\"nav-label\\\"\\r\\n                    >{{ title.earning_provider_total | translate }}</span\\r\\n                  ></a\\r\\n                >\\r\\n              </li>\\r\\n              <li\\r\\n                style=\\\"margin: 0px !important; border: 0px; width: 100px\\\"\\r\\n                [class.current]=\\\"page_tab == 4\\\"\\r\\n              >\\r\\n                <a\\r\\n                  style=\\\"\\r\\n                    border-bottom-right-radius: 0px;\\r\\n                    text-align: center;\\r\\n                    border-bottom-left-radius: 0px;\\r\\n                    border: 0px;\\r\\n                  \\\"\\r\\n                  (click)=\\\"page_tab = 4\\\"\\r\\n                  class=\\\"btn-default\\\"\\r\\n                  ><span\\r\\n                    style=\\\"font-weight: bold; display: block\\\"\\r\\n                    class=\\\"nav-label\\\"\\r\\n                    >{{ title.earning_store_total | translate }}</span\\r\\n                  ></a\\r\\n                >\\r\\n              </li>\\r\\n            </ul>\\r\\n          </div>\\r\\n\\r\\n          <div class=\\\"ibox-content\\\" style=\\\"margin-top: -1px\\\">\\r\\n            <div *ngIf=\\\"order_list.length > 0 && page_tab == 1\\\">\\r\\n              <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                  <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n                      <h2>{{ user_paid.toFixed(2) }}</h2>\\r\\n                      <label class=\\\"control-label\\\">{{\\r\\n                        title.earning_paid | translate\\r\\n                      }}</label>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                  <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n                      <h2>{{ promo_payment.toFixed(2) }}</h2>\\r\\n                      <label class=\\\"control-label\\\">{{\\r\\n                        title.earning_promo | translate\\r\\n                      }}</label>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                  <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n                      <h2>{{ user_cash.toFixed(2) }}</h2>\\r\\n                      <label class=\\\"control-label\\\">{{\\r\\n                        title.earning_cash | translate\\r\\n                      }}</label>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                  <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n                      <h2>{{ user_card.toFixed(2) }}</h2>\\r\\n                      <label class=\\\"control-label\\\">{{\\r\\n                        title.earning_card | translate\\r\\n                      }}</label>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                  <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n                      <h2>{{ user_wallet.toFixed(2) }}</h2>\\r\\n                      <label class=\\\"control-label\\\">{{\\r\\n                        title.earning_wallet | translate\\r\\n                      }}</label>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                  <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n                      <h2>{{ user_refferal.toFixed(2) }}</h2>\\r\\n                      <label class=\\\"control-label\\\">{{\\r\\n                        title.earning_get_refferal | translate\\r\\n                      }}</label>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n            <div *ngIf=\\\"order_list.length > 0 && page_tab == 2\\\">\\r\\n              <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                  <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n                      <h2>{{ order_total.total_item_count }}</h2>\\r\\n                      <label class=\\\"control-label\\\">{{\\r\\n                        title.total_item | translate\\r\\n                      }}</label>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                  <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n                      <h2>{{ order_count }}</h2>\\r\\n                      <label class=\\\"control-label\\\">{{\\r\\n                        title.earning_orders | translate\\r\\n                      }}</label>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                  <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n                      <h2>{{ order_total.total_completed_orders }}</h2>\\r\\n                      <label class=\\\"control-label\\\">{{\\r\\n                        title.earning_completed | translate\\r\\n                      }}</label>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                  <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n                      <h2>{{ order_total.total_cancelled_orders }}</h2>\\r\\n                      <label class=\\\"control-label\\\">{{\\r\\n                        title.earning_cancelled | translate\\r\\n                      }}</label>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                  <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n                      <h2>{{ order_total.total_rejected_orders }}</h2>\\r\\n                      <label class=\\\"control-label\\\">{{\\r\\n                        title.rejected | translate\\r\\n                      }}</label>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                  <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n                      <h2>{{ order_total.refund_amount.toFixed(2) }}</h2>\\r\\n                      <label class=\\\"control-label\\\">{{\\r\\n                        title.earning_refund_amount | translate\\r\\n                      }}</label>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n              <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                  <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n                      <h2>{{ order_total.total.toFixed(2) }}</h2>\\r\\n                      <label class=\\\"control-label\\\">{{\\r\\n                        title.earning_total | translate\\r\\n                      }}</label>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                  <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n                      <h2>{{ order_total.order_price.toFixed(2) }}</h2>\\r\\n                      <label class=\\\"control-label\\\">{{\\r\\n                        title.earning_order_price | translate\\r\\n                      }}</label>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                  <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n                      <h2>\\r\\n                        {{\\r\\n                          (\\r\\n                            order_total.total_provider_income -\\r\\n                            order_total.total_provider_profit_on_store\\r\\n                          ).toFixed(2)\\r\\n                        }}\\r\\n                      </h2>\\r\\n                      <label class=\\\"control-label\\\">{{\\r\\n                        title.earning_delivery_price | translate\\r\\n                      }}</label>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                  <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n                      <h2>{{ order_total.admin_earn.toFixed(2) }}</h2>\\r\\n                      <label class=\\\"control-label\\\">{{\\r\\n                        title.earning_admin_earn | translate\\r\\n                      }}</label>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                  <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n                      <h2>{{ order_total.deliveryman_earn.toFixed(2) }}</h2>\\r\\n                      <label class=\\\"control-label\\\">{{\\r\\n                        title.order_deliveryman_earn | translate\\r\\n                      }}</label>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                  <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n                      <h2>{{ order_total.store_earn.toFixed(2) }}</h2>\\r\\n                      <label class=\\\"control-label\\\"\\r\\n                        >{{ title.store_earn | translate }}\\r\\n                      </label>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n\\r\\n              <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                  <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n                      <h2>{{ promo_payment.toFixed(2) }}</h2>\\r\\n                      <label class=\\\"control-label\\\">{{\\r\\n                        title.earning_promo | translate\\r\\n                      }}</label>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                  <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n                      <h2>{{ order_total.cash_payment.toFixed(2) }}</h2>\\r\\n                      <label class=\\\"control-label\\\">{{\\r\\n                        title.earning_cash | translate\\r\\n                      }}</label>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                  <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n                      <h2>{{ order_total.other_payment.toFixed(2) }}</h2>\\r\\n                      <label class=\\\"control-label\\\">{{\\r\\n                        title.earning_other_payment | translate\\r\\n                      }}</label>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                  <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n                      <h2>{{ order_total.wallet.toFixed(2) }}</h2>\\r\\n                      <label class=\\\"control-label\\\">{{\\r\\n                        title.earning_wallet | translate\\r\\n                      }}</label>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                  <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n                      <h2>{{ order_total.pay_to_provider.toFixed(2) }}</h2>\\r\\n                      <label class=\\\"control-label\\\">{{\\r\\n                        title.pay_to_deliveryman | translate\\r\\n                      }}</label>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                  <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n                      <h2>{{ order_total.pay_to_store.toFixed(2) }}</h2>\\r\\n                      <label class=\\\"control-label\\\">{{\\r\\n                        title.pay_to_store | translate\\r\\n                      }}</label>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n\\r\\n            <div *ngIf=\\\"order_list.length > 0 && page_tab == 3\\\">\\r\\n              <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                  <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n                      <h2>\\r\\n                        {{\\r\\n                          (\\r\\n                            order_total.total_provider_income -\\r\\n                            order_total.total_provider_profit_on_store\\r\\n                          ).toFixed(2)\\r\\n                        }}\\r\\n                      </h2>\\r\\n                      <label class=\\\"control-label\\\">{{\\r\\n                        title.deliveries_payment | translate\\r\\n                      }}</label>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                  <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n                      <h2>{{ order_total.provider_admin_earn.toFixed(2) }}</h2>\\r\\n                      <label class=\\\"control-label\\\">{{\\r\\n                        title.earning_admin_earn | translate\\r\\n                      }}</label>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                  <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n                      <h2>{{ order_total.provider_profit.toFixed(2) }}</h2>\\r\\n                      <label class=\\\"control-label\\\">{{\\r\\n                        title.profit | translate\\r\\n                      }}</label>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                  <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n                      <h2>\\r\\n                        {{ order_total.provider_paid_order_payment.toFixed(2) }}\\r\\n                      </h2>\\r\\n                      <label class=\\\"control-label\\\">{{\\r\\n                        title.earning_provider_paid_order | translate\\r\\n                      }}</label>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                  <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n                      <h2>{{ order_total.provider_cash.toFixed(2) }}</h2>\\r\\n                      <label class=\\\"control-label\\\">{{\\r\\n                        title.earning_cash | translate\\r\\n                      }}</label>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                  <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n                      <h2>{{ order_total.provider_paid.toFixed(2) }}</h2>\\r\\n                      <label class=\\\"control-label\\\">{{\\r\\n                        title.pay | translate\\r\\n                      }}</label>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n\\r\\n            <div *ngIf=\\\"order_list.length > 0 && page_tab == 4\\\">\\r\\n              <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                  <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n                      <h2>{{ order_total.order_price.toFixed(2) }}</h2>\\r\\n                      <label class=\\\"control-label\\\">{{\\r\\n                        title.earning_order_payment | translate\\r\\n                      }}</label>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                  <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n                      <h2>{{ order_total.store_admin_earn.toFixed(2) }}</h2>\\r\\n                      <label class=\\\"control-label\\\">{{\\r\\n                        title.earning_admin_earn | translate\\r\\n                      }}</label>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                  <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n                      <h2>{{ order_total.store_profit.toFixed(2) }}</h2>\\r\\n                      <label class=\\\"control-label\\\">{{\\r\\n                        title.profit | translate\\r\\n                      }}</label>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                  <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n                      <h2>{{ order_total.store_have_payment.toFixed(2) }}</h2>\\r\\n                      <label class=\\\"control-label\\\">{{\\r\\n                        title.earning_store_have_payment | translate\\r\\n                      }}</label>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                  <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n                      <h2>\\r\\n                        {{ order_total.store_have_service_payment.toFixed(2) }}\\r\\n                      </h2>\\r\\n                      <label class=\\\"control-label\\\">{{\\r\\n                        title.store_have_service_payment | translate\\r\\n                      }}</label>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                  <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n                      <h2>{{ order_total.store_paid.toFixed(2) }}</h2>\\r\\n                      <label class=\\\"control-label\\\">{{\\r\\n                        title.pay | translate\\r\\n                      }}</label>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n\\r\\n  <div class=\\\"row\\\" *ngIf=\\\"order_list.length > 0\\\">\\r\\n    <div class=\\\"col-lg-12\\\">\\r\\n      <div class=\\\"ibox-content\\\">\\r\\n        <div class=\\\"table-responsive\\\">\\r\\n          <table class=\\\"table table-striped\\\">\\r\\n            <!--            <div class=\\\"ibox float-e-margins\\\">\\r\\n                                        <div class=\\\"ibox-content \\\" style=\\\"overflow-x: scroll;padding-bottom: 40px;\\\">\\r\\n                                            <table class=\\\"table table-striped\\\">-->\\r\\n            <thead>\\r\\n              <tr>\\r\\n                <th>{{ title.order_id | translate }}</th>\\r\\n                <th>Order Created From</th>\\r\\n                <th>{{ title.completed_at | translate }}</th>\\r\\n                <th>{{ title.status | translate }}</th>\\r\\n                <th>{{ title.user_id | translate }}</th>\\r\\n                <th>{{ title.earning_provider_id | translate }}</th>\\r\\n                <th>{{ title.store_id | translate }}</th>\\r\\n                <th>{{ title.payment_by | translate }}</th>\\r\\n                <th>{{ title.currency | translate }}</th>\\r\\n\\r\\n                <th>{{ title.earning_no_of_items | translate }}</th>\\r\\n                <th>{{ title.earning_order_price | translate }}</th>\\r\\n                <th>{{ title.earning_delivery_price | translate }}</th>\\r\\n                <th>{{ title.earning_promo | translate }}</th>\\r\\n                <th>Tip Price</th>\\r\\n                <th>{{ title.earning_total | translate }}</th>\\r\\n                <th>{{ title.earning_wallet | translate }}</th>\\r\\n                <th>{{ title.earning_cash_card | translate }}</th>\\r\\n                <th>{{ title.earning_provider_fees | translate }}</th>\\r\\n                <th>{{ title.earning_provider_paid_order | translate }}</th>\\r\\n                <th>{{ title.earning_provider_have_cash | translate }}</th>\\r\\n                <th>{{ title.earning_pay_provider | translate }}</th>\\r\\n                <th>{{ title.provider_income_set_in_wallet | translate }}</th>\\r\\n                <th>{{ title.earning_store_fees | translate }}</th>\\r\\n                <th>\\r\\n                  {{ title.earning_store_paid_delivery_fees | translate }}\\r\\n                </th>\\r\\n                <th>{{ title.earning_store_have_payment | translate }}</th>\\r\\n                <th>{{ title.earning_pay_store | translate }}</th>\\r\\n                <th>{{ title.store_income_set_in_wallet | translate }}</th>\\r\\n                <th>{{ title.earning_cancellation_fees | translate }}</th>\\r\\n                <th>{{ title.earning_refund_amount | translate }}</th>\\r\\n                <th>{{ title.action | translate }}</th>\\r\\n              </tr>\\r\\n            </thead>\\r\\n            <tbody>\\r\\n              <tr\\r\\n                *ngFor=\\\"\\r\\n                  let order of order_list;\\r\\n                  let index = index;\\r\\n                  let last = last\\r\\n                \\\"\\r\\n              >\\r\\n                <td>{{ order.unique_id }}</td>\\r\\n                <td>\\r\\n                  <span *ngIf=\\\"order.order_type == helper.ADMIN_DATA_ID.ADMIN\\\">\\r\\n                    <span *ngIf=\\\"order.is_hubrise_order\\\">{{\\r\\n                      order.created_by\\r\\n                    }}</span>\\r\\n                    <span *ngIf=\\\"!order.is_hubrise_order\\\"> Admin </span>\\r\\n                  </span>\\r\\n                  <span *ngIf=\\\"order.order_type == helper.ADMIN_DATA_ID.STORE\\\">\\r\\n                    Store\\r\\n                  </span>\\r\\n                  <span *ngIf=\\\"order.date_time[0].host\\\">\\r\\n                    {{ order.date_time[0].host }}\\r\\n                  </span>\\r\\n                  <span *ngIf=\\\"!order.date_time[0].host\\\">\\r\\n                    <span *ngIf=\\\"order.date_time[0].device_type == 'ios'\\\">\\r\\n                      IOS\\r\\n                    </span>\\r\\n                    <span *ngIf=\\\"order.date_time[0].device_type == 'android'\\\">\\r\\n                      Android\\r\\n                    </span>\\r\\n                    - {{ order.date_time[0].app_version }}\\r\\n                  </span>\\r\\n                </td>\\r\\n                <td>\\r\\n                  {{\\r\\n                    moment(order.completed_at)\\r\\n                      .tz(\\r\\n                        order.timezone !== undefined\\r\\n                          ? order.timezone\\r\\n                          : \\\"Asia/Kolkata\\\"\\r\\n                      )\\r\\n                      .format(\\\"DD MMM YYYY\\\")\\r\\n                  }}\\r\\n                </td>\\r\\n                <td [ngSwitch]=\\\"order.order_status\\\">\\r\\n                  <div *ngSwitchCase=\\\"ORDER_STATE.ORDER_COMPLETED\\\">\\r\\n                    <span class=\\\"label label-primary_new\\\">{{\\r\\n                      status.completed\\r\\n                    }}</span>\\r\\n                  </div>\\r\\n                  <div *ngSwitchCase=\\\"ORDER_STATE.STORE_REJECTED\\\">\\r\\n                    <span class=\\\"label label-danger\\\">{{\\r\\n                      status.rejected\\r\\n                    }}</span>\\r\\n                  </div>\\r\\n                  <div *ngSwitchCase=\\\"ORDER_STATE.STORE_CANCELLED\\\">\\r\\n                    <span class=\\\"label label-danger\\\">{{\\r\\n                      status.cancelled\\r\\n                    }}</span>\\r\\n                  </div>\\r\\n                  <div *ngSwitchCase=\\\"ORDER_STATE.CANCELED_BY_USER\\\">\\r\\n                    <span class=\\\"label label-danger\\\">{{\\r\\n                      status.user_cancelled\\r\\n                    }}</span>\\r\\n                  </div>\\r\\n                </td>\\r\\n                <td>{{ order.user_unique_id }}</td>\\r\\n                <td>\\r\\n                  <div>{{ order.provider_unique_id }}</div>\\r\\n                </td>\\r\\n\\r\\n                <td>{{ order.store_unique_id }}</td>\\r\\n                <td\\r\\n                  [ngSwitch]=\\\"order.order_payment_detail.is_payment_mode_cash\\\"\\r\\n                >\\r\\n                  <div *ngSwitchCase=\\\"true\\\">\\r\\n                    <span\\r\\n                      *ngIf=\\\"!order.is_hubrise_order\\\"\\r\\n                      class=\\\"label label-primary_new\\\"\\r\\n                      >{{ lable_title.cash }}</span\\r\\n                    >\\r\\n                    <span\\r\\n                      *ngIf=\\\"order.is_hubrise_order\\\"\\r\\n                      class=\\\"label label-info\\\"\\r\\n                      >{{ title.odh }}</span\\r\\n                    >\\r\\n                  </div>\\r\\n                  <div *ngSwitchCase=\\\"false\\\">\\r\\n                    <span class=\\\"label label-danger\\\">{{\\r\\n                      lable_title.card\\r\\n                    }}</span>\\r\\n                  </div>\\r\\n                </td>\\r\\n                <td>{{ order.currency }}</td>\\r\\n                <td>{{ order.order_payment_detail.total_item_count }}</td>\\r\\n                <td>{{ order.order_payment_detail.order_price }}</td>\\r\\n                <td>\\r\\n                  {{\\r\\n                    (\\r\\n                      order.order_payment_detail.total_provider_income -\\r\\n                      order.order_payment_detail.total_provider_profit_on_store\\r\\n                    ).toFixed(2)\\r\\n                  }}\\r\\n                </td>\\r\\n                <td>{{ order.order_payment_detail.promo_payment }}</td>\\r\\n                <td>{{ order.order_payment_detail.tip_price }}</td>\\r\\n                <td>\\r\\n                  {{\\r\\n                    (\\r\\n                      +order.order_payment_detail.total_delivery_price +\\r\\n                      +order.order_payment_detail.total_order_price\\r\\n                    ).toFixed(2)\\r\\n                  }}\\r\\n                </td>\\r\\n                <td>\\r\\n                  {{ order.order_payment_detail.wallet_payment.toFixed(2) }}\\r\\n                </td>\\r\\n                <td\\r\\n                  [ngSwitch]=\\\"order.order_payment_detail.is_payment_mode_cash\\\"\\r\\n                >\\r\\n                  <div *ngSwitchCase=\\\"true\\\">\\r\\n                    {{ order.order_payment_detail.cash_payment }}\\r\\n                  </div>\\r\\n                  <div *ngSwitchCase=\\\"false\\\">\\r\\n                    {{ order.order_payment_detail.card_payment }}\\r\\n                  </div>\\r\\n                </td>\\r\\n                <td>{{ order.order_payment_detail.total_provider_income }}</td>\\r\\n\\r\\n                <td>\\r\\n                  {{ order.order_payment_detail.provider_paid_order_payment }}\\r\\n                </td>\\r\\n\\r\\n                <td>\\r\\n                  {{ order.order_payment_detail.provider_have_cash_payment }}\\r\\n                </td>\\r\\n\\r\\n                <td>\\r\\n                  {{ order.order_payment_detail.pay_to_provider.toFixed(2) }}\\r\\n                </td>\\r\\n                <td>\\r\\n                  {{\\r\\n                    order.order_payment_detail.provider_income_set_in_wallet.toFixed(\\r\\n                      2\\r\\n                    )\\r\\n                  }}\\r\\n                </td>\\r\\n                <td>{{ order.order_payment_detail.total_store_income }}</td>\\r\\n\\r\\n                <td>\\r\\n                  {{ order.order_payment_detail.store_have_service_payment }}\\r\\n                </td>\\r\\n\\r\\n                <td>\\r\\n                  {{ order.order_payment_detail.total_store_have_payment }}\\r\\n                </td>\\r\\n                <td>\\r\\n                  {{ order.order_payment_detail.pay_to_store.toFixed(2) }}\\r\\n                </td>\\r\\n                <td>\\r\\n                  {{\\r\\n                    order.order_payment_detail.store_income_set_in_wallet.toFixed(\\r\\n                      2\\r\\n                    )\\r\\n                  }}\\r\\n                </td>\\r\\n                <td>\\r\\n                  {{\\r\\n                    order.order_payment_detail.order_cancellation_charge.toFixed(\\r\\n                      2\\r\\n                    )\\r\\n                  }}\\r\\n                </td>\\r\\n                <td>\\r\\n                  {{ order.order_payment_detail.refund_amount.toFixed(2) }}\\r\\n                </td>\\r\\n                <td>\\r\\n                  <div\\r\\n                    class=\\\"dropdown pull-right\\\"\\r\\n                    [class.dropup]=\\\"last && !index == 0\\\"\\r\\n                    dropdown\\r\\n                  >\\r\\n                    <button class=\\\"btn btn-primary\\\" dropdown-open>\\r\\n                      {{ title.action | translate }}<span class=\\\"caret\\\"></span>\\r\\n                    </button>\\r\\n\\r\\n                    <ul class=\\\"dropdown-menu\\\">\\r\\n                      <li>\\r\\n                        <a (click)=\\\"viewEarningDetail(order._id)\\\"\\r\\n                          ><span style=\\\"display: block\\\" class=\\\"nav-label\\\">{{\\r\\n                            button.view_detail | translate\\r\\n                          }}</span>\\r\\n                        </a>\\r\\n                      </li>\\r\\n                    </ul>\\r\\n                  </div>\\r\\n                </td>\\r\\n              </tr>\\r\\n            </tbody>\\r\\n          </table>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n\\r\\n  <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n    <div class=\\\"lable_center\\\">\\r\\n      <ul class=\\\"pagination\\\">\\r\\n        <li *ngIf=\\\"page !== 1\\\">\\r\\n          <a class=\\\"btn\\\" (click)=\\\"admin_earning(page - 1)\\\">{{\\r\\n            button.pre | translate\\r\\n          }}</a>\\r\\n        </li>\\r\\n        <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page == index\\\">\\r\\n          <a\\r\\n            *ngIf=\\\"\\r\\n              index == 1 ||\\r\\n              index == total_page ||\\r\\n              index == page ||\\r\\n              index == page - 1 ||\\r\\n              index == page + 1\\r\\n            \\\"\\r\\n            (click)=\\\"admin_earning(index)\\\"\\r\\n            class=\\\"btn\\\"\\r\\n            >{{ index }}</a\\r\\n          >\\r\\n          <a\\r\\n            *ngIf=\\\"\\r\\n              (index == 1 && page !== 1 && page !== 2 && page !== 3) ||\\r\\n              (index == total_page - 1 &&\\r\\n                page !== total_page &&\\r\\n                page !== total_page - 1 &&\\r\\n                page !== total_page - 2)\\r\\n            \\\"\\r\\n            class=\\\"btn\\\"\\r\\n            >...</a\\r\\n          >\\r\\n        </li>\\r\\n        <li *ngIf=\\\"page !== total_page && order_list.length !== 0\\\">\\r\\n          <a class=\\\"btn\\\" (click)=\\\"admin_earning(page + 1)\\\">{{\\r\\n            button.next | translate\\r\\n          }}</a>\\r\\n        </li>\\r\\n      </ul>\\r\\n    </div>\\r\\n  </div>\\r\\n</div>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/earning/earning.component.html\n// module id = 1590\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\" *ngIf=\\\"!add_boolean\\\">\\r\\n  <div class=\\\"row\\\">\\r\\n    <div class=\\\"col-md-6 col-sm-12 pull-right\\\">\\r\\n      <div class=\\\"add_btn_div\\\" style=\\\"margin-right: 35px;\\\">\\r\\n        <a><button (click)=\\\"update_order_data()\\\" class=\\\"btn add_btn pull-right\\\" style=\\\"margin-right: 10px;\\\">{{button.update | translate}}</button></a>\\r\\n      </div>\\r\\n    </div>\\r\\n    <div class=\\\"col-md-6 col-sm-12 pull-right\\\">\\r\\n      <div class=\\\"add_btn_div\\\" style=\\\"margin-right: 35px;\\\">\\r\\n        <a><button (click)=\\\"add_boolean=true\\\" class=\\\"btn add_btn pull-right\\\" style=\\\"margin-right: 10px;\\\">{{button.add_item | translate}}</button></a>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n</div>\\r\\n\\r\\n<div class=\\\"wrapper content_top_bar_view wrapper-content animated fadeInRight\\\" *ngIf=\\\"!add_boolean\\\">\\r\\n  <div class=\\\"row\\\" *ngFor=\\\"let product_data of order.cart_detail.order_details; let product_index=index; \\\">\\r\\n    <div class=\\\"col-md-12\\\" style=\\\"margin-bottom: 10px; padding: 0px;\\\">\\r\\n      <label class=\\\"control-label label label-danger\\\" style=\\\"font-size: 20px;\\\">{{product_data.product_name}}</label>\\r\\n    </div>\\r\\n\\r\\n    <div *ngFor=\\\"let i of product_data.items; let item_index=index; \\\">\\r\\n      <div class=\\\"col-lg-4 col-sm-6\\\" style=\\\"padding : 0px; padding-right: 2px;\\\">\\r\\n        <div class=\\\"contact-box\\\" style=\\\"padding-left: 0px; padding-right: 0px;\\\">\\r\\n          <a >\\r\\n            <div class=\\\"col-md-4 col-xs-4 div1\\\" (click)=\\\"open_edit_item_modal(i , product_data, item_index, product_index)\\\" style=\\\"text-align: center; padding-left: 0px; padding-right: 0px;\\\">\\r\\n              <img class=\\\"img-circle m-t-sm img-responsive\\\" src=\\\"{{i.image_url[0] != undefined ? helper.CONSTANT.IMAGE_BASE_URL + i.image_url[0] : 'default.png'}}\\\" style=\\\"border-radius: 20%; display: inline; width:100px; height: 100px;\\\">\\r\\n            </div>\\r\\n            <div class=\\\"col-md-8 col-xs-8 div2\\\" style=\\\"padding-left: 0px; padding-right: 0px;\\\">\\r\\n              <div class=\\\"col-md-9 col-xs-9\\\" style=\\\"height: 24px; overflow: hidden;\\\">\\r\\n                <h3><strong>{{i.item_name}}</strong></h3>\\r\\n              </div>\\r\\n              <div class=\\\"col-md-3 col-xs-3\\\" >\\r\\n                <h3><strong style=\\\"float: right;\\\">{{order.currency}}{{((i.total_item_and_specification_price)-(i.offer_price ? i.offer_price : 0)).toFixed(2)}}</strong></h3>\\r\\n              </div>\\r\\n\\r\\n              <div class=\\\"col-md-12 col-xs-12\\\" style=\\\"height: 57px; overflow: hidden;\\\">\\r\\n                <address>\\r\\n                  {{i.details}}\\r\\n                </address>\\r\\n              </div>\\r\\n              <div class=\\\"col-md-9 col-xs-9\\\">\\r\\n                  <div style=\\\"display: inline-block;\\\">\\r\\n                    <i (click)=\\\"decrease_qty(product_index, item_index)\\\" class=\\\"fa fa-minus\\\" aria-hidden=\\\"true\\\"></i>\\r\\n                  </div>\\r\\n                  <div style=\\\"display: inline-block;padding-left: 40px;padding-right: 40px;\\\">\\r\\n                    <h4 class=\\\"num\\\" style=\\\"margin-top: 10px;\\\">{{i.quantity}}</h4>\\r\\n                  </div>\\r\\n                  <div style=\\\"display: inline-block;\\\">\\r\\n                    <i (click)=\\\"increase_qty(product_index, item_index)\\\" class=\\\"fa fa-plus\\\" aria-hidden=\\\"true\\\"></i>\\r\\n                  </div>\\r\\n              </div>\\r\\n              <div class=\\\"col-md-3 col-xs-3\\\">\\r\\n                <a class=\\\"remove\\\" [hidden]=\\\"last_item\\\" (click)=\\\"remove_from_cart(product_index, item_index)\\\">Remove</a>\\r\\n              </div>\\r\\n            </div>\\r\\n            <div class=\\\"clearfix\\\"></div>\\r\\n          </a>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n\\r\\n</div>\\r\\n\\r\\n<div class=\\\"wrapper content_top_bar_view wrapper-content animated fadeInRight\\\" *ngIf=\\\"add_boolean\\\">\\r\\n  <div class=\\\"row\\\" *ngFor=\\\"let product_data of filtered_product_list; let product_index=index; \\\">\\r\\n    <div class=\\\"col-md-12 \\\" style=\\\"margin-bottom: 10px; padding: 0px;\\\" *ngIf=\\\"product_data.items.length > 0\\\">\\r\\n      <label class=\\\"control-label label label-danger\\\" style=\\\"font-size: 20px;\\\">{{product_data.name}}</label>\\r\\n    </div>\\r\\n\\r\\n\\r\\n    <div *ngFor=\\\"let i of product_data.items; let item_index=index; \\\">\\r\\n      <div class=\\\"col-lg-4 col-sm-6\\\" style=\\\"padding : 0px; padding-right: 2px;\\\">\\r\\n        <div class=\\\"contact-box\\\" style=\\\"padding-left: 0px; padding-right: 0px;\\\">\\r\\n          <a (click)=\\\"open_item_modal(i , item_index , product_index, $event)\\\" >\\r\\n            <div class=\\\"col-md-4 col-xs-4 div1\\\" style=\\\"text-align: center; padding-left: 0px; padding-right: 0px;\\\">\\r\\n              <img class=\\\"img-circle m-t-sm img-responsive\\\" src=\\\"{{i.image_url[0] != undefined ? helper.CONSTANT.IMAGE_BASE_URL + i.image_url[0] : 'default.png'}}\\\" style=\\\"border-radius: 20%; display: inline; width:100px; height: 100px;\\\">\\r\\n\\r\\n            </div>\\r\\n            <div class=\\\"col-md-8 col-xs-8 div2\\\" style=\\\"padding-left: 0px; padding-right: 0px;\\\">\\r\\n              <div class=\\\"col-md-9 col-xs-9\\\" style=\\\"height: 24px; overflow: hidden;\\\">\\r\\n                <h3><strong>{{i.name}}</strong></h3>\\r\\n              </div>\\r\\n              <div class=\\\"col-md-3 col-xs-3\\\" >\\r\\n                <h3><strong style=\\\"float: right;\\\">{{currency}}{{i.price}}</strong></h3>\\r\\n              </div>\\r\\n\\r\\n              <div class=\\\"col-md-12 col-xs-12\\\" style=\\\"height: 57px; overflow: hidden;\\\">\\r\\n                <address>\\r\\n                  {{i.details}}\\r\\n                </address>\\r\\n              </div>\\r\\n            </div>\\r\\n            <div class=\\\"clearfix\\\"></div>\\r\\n          </a>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n\\r\\n</div>\\r\\n\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl animated\\\" #itemModal\\r\\n       style=\\\"overflow: scroll; z-index: 9999999 !important;\\\">\\r\\n\\r\\n  <div class=\\\"modal-header\\\" style=\\\"padding: 0 !important;\\\">\\r\\n    <img class=\\\"remove_image item_modal_close\\\" (click)=\\\"close_item_modal()\\\" src=\\\"images/cross_white.png\\\" />\\r\\n    <div class=\\\"item_modal_image_shaddow\\\">\\r\\n\\r\\n    </div>\\r\\n    <div id=\\\"myCarousel\\\" class=\\\"carousel slide\\\" data-ride=\\\"carousel\\\">\\r\\n\\r\\n      <ol class=\\\"carousel-indicators\\\">\\r\\n        <li class=\\\"a\\\" *ngFor=\\\"let image of current_item.image_url; let image_index=index; let first=first;\\\"\\r\\n            id=\\\"aa{{image_index}}\\\" [attr.data-target]=\\\"'#myCarousel'\\\" [attr.data-slide-to]=\\\"image_index\\\"\\r\\n            [class.active]=\\\"first\\\">\\r\\n        </li>\\r\\n        <li *ngIf=\\\"current_item.image_url.length == 0\\\" class=\\\"a active\\\" [attr.data-target]=\\\"'#myCarousel'\\\" [attr.data-slide-to]=\\\"1\\\">\\r\\n        </li>\\r\\n      </ol>\\r\\n\\r\\n      <div class=\\\"carousel-inner\\\" (dragstart)=\\\"dragstart_image($event)\\\"\\r\\n           (dragend)=\\\"dragend_image($event, current_item.image_url.length)\\\">\\r\\n        <div *ngFor=\\\"let image of current_item.image_url; let image_index=index; let first=first;\\\" class=\\\"item\\\"\\r\\n             [class.active]=\\\"first\\\">\\r\\n          <img class=\\\"animated fadeInRight\\\" src=\\\"{{helper.CONSTANT.IMAGE_BASE_URL + image}}\\\" alt=\\\"Los Angeles\\\"\\r\\n               style=\\\"width:100%;height: 230px;object-fit: cover;\\\">\\r\\n        </div>\\r\\n        <div *ngIf=\\\"current_item.image_url.length == 0\\\" class=\\\"item active\\\">\\r\\n          <img class=\\\"animated fadeInRight\\\" src=\\\"default.png\\\" alt=\\\"Los Angeles\\\"\\r\\n               style=\\\"width:100%;height: 230px;object-fit: cover;\\\">\\r\\n        </div>\\r\\n      </div>\\r\\n\\r\\n    </div>\\r\\n  </div>\\r\\n  <div class=\\\"modal-body\\\" style=\\\"padding-bottom: 10px;\\\">\\r\\n    <div class=\\\"\\\">\\r\\n      <h1 class=\\\"modalbodyhead\\\">{{current_item.name}}</h1>\\r\\n      <p class=\\\"modalbodytext\\\">{{current_item.details}}</p>\\r\\n      <ng-container *ngIf=\\\"current_item.formule_list && current_item.formule_list.length>0\\\">\\r\\n        <div class=\\\"row\\\" style=\\\"margin: 0;margin-top: 24px;\\\">\\r\\n          <div class=\\\"radio1\\\">\\r\\n            <div class=\\\"radio formule-box\\\" style=\\\"margin-top: 0px; margin-bottom: 0px;\\\">\\r\\n              <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\r\\n                <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n                  <label style=\\\"display: flex; align-items: center;\\\">\\r\\n                    <div style=\\\"padding-left: 24px;\\\" class=\\\"iradio_square-green\\\"\\r\\n                        [class.checked]=\\\"!current_formule.formule_id\\\">\\r\\n                      <input type=\\\"radio\\\" style=\\\"opacity:0\\\"\\r\\n                            (change)=\\\"select_formule({})\\\"\\r\\n                            [checked]=\\\"!current_formule.formule_id\\\" class=\\\"walnut\\\">\\r\\n                    </div>\\r\\n                    <span style=\\\"margin-left: 10px;\\\">{{current_item.name}}</span>\\r\\n\\r\\n                  </label>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n                  <label class=\\\"pull-right\\\"></label>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"row\\\" style=\\\"margin: 0;\\\" *ngFor=\\\"let formule of current_item.formule_list;\\\">\\r\\n          <div class=\\\"radio1\\\">\\r\\n            <div class=\\\"radio formule-box\\\" style=\\\"margin-top: 0px; margin-bottom: 0px;\\\">\\r\\n              <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\r\\n                <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n                  <label style=\\\"display: flex; align-items: center;\\\">\\r\\n                    <div style=\\\"padding-left: 24px;\\\" class=\\\"iradio_square-green\\\"\\r\\n                        [class.checked]=\\\"current_formule.formule_id==formule.formule_id\\\">\\r\\n                      <input type=\\\"radio\\\" style=\\\"opacity:0\\\"\\r\\n                            (change)=\\\"select_formule(formule)\\\"\\r\\n                            [checked]=\\\"current_formule.formule_id==formule.formule_id\\\" class=\\\"walnut\\\">\\r\\n                    </div>\\r\\n                    <span style=\\\"margin-left: 10px;\\\">{{formule.name}}</span>\\r\\n\\r\\n                  </label>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n                  <label class=\\\"pull-right\\\">+ {{currency}} {{(formule.price- current_item.price).toFixed(2)}}</label>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </ng-container>\\r\\n      <ng-container *ngFor=\\\"let specification_group of current_item.specifications; let specification_group_index = index;\\\">\\r\\n        <div *ngIf=\\\"(!specification_group.formule_id || specification_group.formule_id==current_formule.formule_id)\\\">\\r\\n          <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\r\\n            <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n              <h1 class=\\\"radioheader\\\">{{specification_group.name}}</h1>\\r\\n              <div class=\\\"min_max\\\">\\r\\n                <span *ngIf=\\\"specification_group.min_selection>1\\\">\\r\\n                  Min. {{specification_group.min_selection}} / \\r\\n                </span>\\r\\n                <span *ngIf=\\\"specification_group.max_selection>0&&specification_group.type==2\\\">\\r\\n                  Max. {{specification_group.max_selection}} options\\r\\n                </span>\\r\\n              </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n              <h1 *ngIf=\\\"specification_group.is_required\\\" class=\\\"radioheader pull-right\\\"\\r\\n                  style=\\\"color: #cb212e;\\\">{{title.required | translate}}</h1>\\r\\n            </div>\\r\\n          </div>\\r\\n          <div class=\\\"radio1\\\">\\r\\n            <div *ngIf=\\\"specification_group.type==1\\\">\\r\\n              <div *ngFor=\\\"let specification of specification_group.list; let specification_index = index;\\\"\\r\\n                  class=\\\"radio\\\" style=\\\"margin-top: 0px; margin-bottom: 0px;\\\">\\r\\n                <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\r\\n\\r\\n                  <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n                    <label>\\r\\n                      <!--<input type=\\\"radio\\\"-->\\r\\n                      <!--(change)=\\\"changeradio($event, specification_group_index, specification_index)\\\"-->\\r\\n                      <!--[checked]=\\\"specification.is_default_selected\\\" class=\\\"walnut\\\">{{specification.name}}-->\\r\\n                      <div style=\\\"padding-left: 24px;\\\" class=\\\"iradio_square-green\\\"\\r\\n                          [class.checked]=\\\"specification.is_default_selected\\\">\\r\\n                        <input type=\\\"radio\\\" style=\\\"opacity:0\\\"\\r\\n                              (change)=\\\"changeradio($event, specification_group_index, specification_index)\\\"\\r\\n                              [checked]=\\\"specification.is_default_selected\\\" class=\\\"walnut\\\">\\r\\n                      </div>\\r\\n                      <span style=\\\"margin-left: 10px;\\\">{{specification.name}}</span>\\r\\n\\r\\n                    </label>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n                    <label *ngIf=\\\"specification.price>0\\\" class=\\\"pull-right\\\">{{currency}}{{specification.price}}</label>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n            <div *ngIf=\\\"specification_group.type==2\\\">\\r\\n              <div *ngFor=\\\"let specification of specification_group.list; let specification_index = index;\\\"\\r\\n                  class=\\\"checkbox\\\" style=\\\"margin-top: 0px; margin-bottom: 0px;\\\">\\r\\n                <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\r\\n                  <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n                    <label>\\r\\n                      <div style=\\\"padding-left: 24px;\\\" class=\\\"icheckbox_square-green\\\"\\r\\n                          [class.checked]=\\\"specification.is_default_selected\\\">\\r\\n                        <input type=\\\"checkbox\\\" [disabled]=\\\"specification_group.default_selected_count==specification_group.max_selection && !specification.is_default_selected\\\" style=\\\"opacity:0\\\"\\r\\n                              (change)=\\\"changecheckbox($event, specification_group_index, specification_index)\\\"\\r\\n                              [checked]=\\\"specification.is_default_selected\\\" class=\\\"walnut\\\">\\r\\n                      </div>\\r\\n                      <span style=\\\"margin-left: 10px;\\\">{{specification.name}}</span>\\r\\n                    </label>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n                    <label *ngIf=\\\"specification.price>0\\\" class=\\\"pull-right\\\">{{currency}}{{specification.price}}</label>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </ng-container>\\r\\n\\r\\n\\r\\n      <div class=\\\"row\\\" style=\\\"margin: 0;text-align: center; color:black; margin-top: 20px;font-family: myFirstFont;\\\">\\r\\n        <textarea class=\\\"delnote\\\" name=\\\"note_for_item\\\" [(ngModel)]=\\\"note_for_item\\\" style=\\\"width: 100%;max-width: 100%; max-height: 80px;\\\" placeholder=\\\"Add Delivery Note\\\"></textarea>\\r\\n      </div>\\r\\n\\r\\n\\r\\n      <div class=\\\"row\\\" style=\\\"margin: 0;text-align: center; color:black; margin-top: 20px;font-family: myFirstFont;\\\">\\r\\n        <div class=\\\"col-md-4 col-sm-4 col-xs-2\\\"></div>\\r\\n        <div class=\\\"col-md-4 col-sm-4 col-xs-8\\\" style=\\\"border:1px solid;border-radius: 10px;\\\">\\r\\n          <div style=\\\"display: inline-block;\\\">\\r\\n            <i (click)=\\\"newitem_decrease_qty()\\\" class=\\\"fa fa-minus\\\" aria-hidden=\\\"true\\\"></i>\\r\\n          </div>\\r\\n          <div style=\\\"display: inline-block;padding-left: 40px;padding-right: 40px;\\\">\\r\\n            <h4 class=\\\"num\\\" style=\\\"margin-top: 10px;\\\">{{qty}}</h4>\\r\\n          </div>\\r\\n          <div style=\\\"display: inline-block;\\\">\\r\\n            <i (click)=\\\"newitem_incerase_qty()\\\" class=\\\"fa fa-plus\\\" aria-hidden=\\\"true\\\"></i>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"row\\\" style=\\\"padding-top: 20px;text-align: center;color: red;\\\">\\r\\n        <span class=\\\"validation_error\\\" style=\\\"font-size: 13px;\\\" *ngIf=\\\"required_count !== required_temp_count\\\">\\r\\n          please select the required fields\\r\\n        </span>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n\\r\\n  <div class=\\\"modal-footer\\\" style=\\\"background-color: black;\\\">\\r\\n    <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\r\\n\\r\\n      <button [disabled]=\\\"required_count !== required_temp_count\\\" (click)=\\\"addToCart()\\\"\\r\\n              style=\\\"width: 100%;background-color: black;border: 0;\\\">\\r\\n        <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n          <h1 class=\\\"totalprice\\\" style=\\\"float: left;\\\">{{button.add_item | translate}}</h1>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n          <h1 class=\\\"totalprice\\\">{{currency}}{{total}}</h1>\\r\\n        </div>\\r\\n      </button>\\r\\n    </div>\\r\\n  </div>\\r\\n\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl animated\\\" #edititemModal\\r\\n       style=\\\"overflow: scroll; z-index: 9999999 !important;\\\">\\r\\n\\r\\n  <div class=\\\"modal-header\\\" style=\\\"padding: 0 !important;\\\">\\r\\n    <img class=\\\"remove_image item_modal_close\\\" (click)=\\\"close_item_modal()\\\" src=\\\"images/cross_white.png\\\" />\\r\\n    <div class=\\\"item_modal_image_shaddow\\\">\\r\\n\\r\\n    </div>\\r\\n    <div id=\\\"myCarousel\\\" class=\\\"carousel slide\\\" data-ride=\\\"carousel\\\">\\r\\n\\r\\n      <ol class=\\\"carousel-indicators\\\">\\r\\n        <li class=\\\"a\\\" *ngFor=\\\"let image of current_item.image_url; let image_index=index; let first=first;\\\"\\r\\n            id=\\\"aa{{image_index}}\\\" [attr.data-target]=\\\"'#myCarousel'\\\" [attr.data-slide-to]=\\\"image_index\\\"\\r\\n            [class.active]=\\\"first\\\">\\r\\n        </li>\\r\\n        <li *ngIf=\\\"current_item.image_url.length == 0\\\" class=\\\"a active\\\" [attr.data-target]=\\\"'#myCarousel'\\\" [attr.data-slide-to]=\\\"1\\\">\\r\\n        </li>\\r\\n      </ol>\\r\\n\\r\\n      <div class=\\\"carousel-inner\\\" (dragstart)=\\\"dragstart_image($event)\\\"\\r\\n           (dragend)=\\\"dragend_image($event, current_item.image_url.length)\\\">\\r\\n        <div *ngFor=\\\"let image of current_item.image_url; let image_index=index; let first=first;\\\" class=\\\"item\\\"\\r\\n             [class.active]=\\\"first\\\">\\r\\n          <img class=\\\"animated fadeInRight\\\" src=\\\"{{helper.CONSTANT.IMAGE_BASE_URL + image}}\\\" alt=\\\"Los Angeles\\\"\\r\\n               style=\\\"width:100%;height: 230px;object-fit: cover;\\\">\\r\\n        </div>\\r\\n        <div *ngIf=\\\"current_item.image_url.length == 0\\\" class=\\\"item active\\\">\\r\\n          <img class=\\\"animated fadeInRight\\\" src=\\\"default.png\\\" alt=\\\"Los Angeles\\\"\\r\\n               style=\\\"width:100%;height: 230px;object-fit: cover;\\\">\\r\\n        </div>\\r\\n      </div>\\r\\n\\r\\n    </div>\\r\\n  </div>\\r\\n  <div class=\\\"modal-body\\\" style=\\\"padding-bottom: 10px;\\\">\\r\\n    <div class=\\\"\\\">\\r\\n      <h1 class=\\\"modalbodyhead\\\">{{current_item.name}}</h1>\\r\\n      <p class=\\\"modalbodytext\\\">{{current_item.details}}</p>\\r\\n\\r\\n      <ng-container *ngIf=\\\"current_item.formule_list && current_item.formule_list.length>0\\\">\\r\\n        <div class=\\\"row\\\" style=\\\"margin: 0;margin-top: 24px;\\\">\\r\\n          <div class=\\\"radio1\\\">\\r\\n            <div class=\\\"radio formule-box\\\" style=\\\"margin-top: 0px; margin-bottom: 0px;\\\">\\r\\n              <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\r\\n                <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n                  <label style=\\\"display: flex; align-items: center;\\\">\\r\\n                    <div style=\\\"padding-left: 24px;\\\" class=\\\"iradio_square-green\\\"\\r\\n                        [class.checked]=\\\"!current_formule.formule_id\\\">\\r\\n                      <input type=\\\"radio\\\" style=\\\"opacity:0\\\"\\r\\n                            (change)=\\\"select_formule({})\\\"\\r\\n                            [checked]=\\\"!current_formule.formule_id\\\" class=\\\"walnut\\\">\\r\\n                    </div>\\r\\n                    <span style=\\\"margin-left: 10px;\\\">{{current_item.name}}</span>\\r\\n\\r\\n                  </label>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n                  <label class=\\\"pull-right\\\"></label>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"row\\\" style=\\\"margin: 0;\\\" *ngFor=\\\"let formule of current_item.formule_list;\\\">\\r\\n          <div class=\\\"radio1\\\">\\r\\n            <div class=\\\"radio formule-box\\\" style=\\\"margin-top: 0px; margin-bottom: 0px;\\\">\\r\\n              <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\r\\n                <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n                  <label style=\\\"display: flex; align-items: center;\\\">\\r\\n                    <div style=\\\"padding-left: 24px;\\\" class=\\\"iradio_square-green\\\"\\r\\n                        [class.checked]=\\\"current_formule.formule_id==formule.formule_id\\\">\\r\\n                      <input type=\\\"radio\\\" style=\\\"opacity:0\\\"\\r\\n                            (change)=\\\"select_formule(formule)\\\"\\r\\n                            [checked]=\\\"current_formule.formule_id==formule.formule_id\\\" class=\\\"walnut\\\">\\r\\n                    </div>\\r\\n                    <span style=\\\"margin-left: 10px;\\\">{{formule.name}}\\r\\n                      <br>\\r\\n                      <span class=\\\"formule_offer\\\">{{current_item.name}}\\r\\n                        <ng-container *ngFor=\\\"let specification_group of current_item.specifications;\\\">\\r\\n                          <span *ngIf=\\\"specification_group.formule_id==formule.formule_id\\\"> + {{specification_group.name}}</span>\\r\\n                        </ng-container>\\r\\n                      </span>\\r\\n\\r\\n                    </span>\\r\\n\\r\\n                  </label>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n                  <label class=\\\"pull-right\\\">+ {{currency}} {{(formule.price - current_item.price).toFixed(2)}}</label>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </ng-container>\\r\\n\\r\\n      <ng-container *ngFor=\\\"let specification_group of current_item.specifications; let specification_group_index = index;\\\">\\r\\n        <div *ngIf=\\\"(!specification_group.formule_id || specification_group.formule_id==current_formule.formule_id)\\\">\\r\\n          <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\r\\n            <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n              <h1 class=\\\"radioheader\\\">{{specification_group.name}}</h1>\\r\\n              <div class=\\\"min_max\\\">\\r\\n                <span *ngIf=\\\"specification_group.min_selection>1\\\">\\r\\n                  Min. {{specification_group.min_selection}} / \\r\\n                </span>\\r\\n                <span *ngIf=\\\"specification_group.max_selection>0&&specification_group.type==2\\\">\\r\\n                  Max. {{specification_group.max_selection}} options\\r\\n                </span>\\r\\n              </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n              <h1 *ngIf=\\\"specification_group.is_required\\\" class=\\\"radioheader pull-right\\\"\\r\\n                  style=\\\"color: #cb212e;\\\">{{title.required | translate}}</h1>\\r\\n            </div>\\r\\n          </div>\\r\\n          <div class=\\\"radio1\\\">\\r\\n            <div *ngIf=\\\"specification_group.type==1\\\">\\r\\n              <div *ngFor=\\\"let specification of specification_group.list; let specification_index = index;\\\"\\r\\n                  class=\\\"radio\\\" style=\\\"margin-top: 0px; margin-bottom: 0px;\\\">\\r\\n                <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\r\\n\\r\\n                  <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n                    <label>\\r\\n                      <!--<input type=\\\"radio\\\"-->\\r\\n                      <!--(change)=\\\"changeradio($event, specification_group_index, specification_index)\\\"-->\\r\\n                      <!--[checked]=\\\"specification.is_default_selected\\\" class=\\\"walnut\\\">{{specification.name}}-->\\r\\n                      <div style=\\\"padding-left: 24px;\\\" class=\\\"iradio_square-green\\\"\\r\\n                          [class.checked]=\\\"specification.is_default_selected\\\">\\r\\n                        <input type=\\\"radio\\\" style=\\\"opacity:0\\\"\\r\\n                              (change)=\\\"changeradio($event, specification_group_index, specification_index)\\\"\\r\\n                              [checked]=\\\"specification.is_default_selected\\\" class=\\\"walnut\\\">\\r\\n                      </div>\\r\\n                      <span style=\\\"margin-left: 10px;\\\">{{specification.name}}</span>\\r\\n\\r\\n                    </label>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n                    <label *ngIf=\\\"specification.price>0\\\" class=\\\"pull-right\\\">{{currency}}{{specification.price}}</label>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n            <div *ngIf=\\\"specification_group.type==2\\\">\\r\\n              <div *ngFor=\\\"let specification of specification_group.list; let specification_index = index;\\\"\\r\\n                  class=\\\"checkbox\\\" style=\\\"margin-top: 0px; margin-bottom: 0px;\\\">\\r\\n                <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\r\\n                  <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n                    <label>\\r\\n                      <div style=\\\"padding-left: 24px;\\\" class=\\\"icheckbox_square-green\\\"\\r\\n                          [class.checked]=\\\"specification.is_default_selected\\\">\\r\\n                        <input type=\\\"checkbox\\\" style=\\\"opacity:0\\\" [disabled]=\\\"specification_group.default_selected_count==specification_group.max_selection && !specification.is_default_selected\\\"\\r\\n                              (change)=\\\"changecheckbox($event, specification_group_index, specification_index)\\\"\\r\\n                              [checked]=\\\"specification.is_default_selected\\\" class=\\\"walnut\\\">\\r\\n                      </div>\\r\\n                      <span style=\\\"margin-left: 10px;\\\">{{specification.name}}</span>\\r\\n                    </label>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n                    <label *ngIf=\\\"specification.price>0\\\" class=\\\"pull-right\\\">{{currency}}{{specification.price}}</label>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </ng-container>\\r\\n      <div class=\\\"row\\\" style=\\\"padding-top: 20px;text-align: center;color: red;\\\">\\r\\n        <span class=\\\"validation_error\\\" style=\\\"font-size: 13px;\\\" *ngIf=\\\"required_count !== required_temp_count\\\">\\r\\n          please select the required fields\\r\\n        </span>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n\\r\\n  <div class=\\\"modal-footer\\\" style=\\\"background-color: black;\\\">\\r\\n    <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\r\\n\\r\\n      <button [disabled]=\\\"required_count !== required_temp_count\\\" (click)=\\\"updateCart()\\\"\\r\\n              style=\\\"width: 100%;background-color: black;border: 0;\\\">\\r\\n        <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n          <h1 class=\\\"totalprice\\\" style=\\\"float: left;\\\">{{button.update_item | translate}}</h1>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n          <h1 class=\\\"totalprice\\\">{{currency}}{{total}}</h1>\\r\\n        </div>\\r\\n      </button>\\r\\n    </div>\\r\\n  </div>\\r\\n\\r\\n</modal>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/edit_order/edit_order.component.html\n// module id = 1591\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer> \\r\\n<form #providerUpdateForm=\\\"ngForm\\\" (ngSubmit)=\\\"UpdateProvider(providerUpdateForm.value)\\\">\\r\\n    <div class=\\\"wrapper wrapper-content animated fadeInRight content_top_bar\\\">\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-lg-8\\\">\\r\\n\\r\\n                <div class=\\\"ibox product-detail\\\">\\r\\n                    <div class=\\\"ibox-content\\\">\\r\\n\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-3 col-sm-3\\\">\\r\\n\\r\\n                                <div class=\\\"profile-images center\\\">\\r\\n                                    <img *ngIf='provider_edit.image_url!==\\\"\\\"' class=\\\"img-circle\\\" style=\\\"width: 150px;height: 150px;\\\" src=\\\"{{provider_edit.image_url}}\\\" alt=\\\"profile\\\">\\r\\n                                    <img *ngIf='provider_edit.image_url==\\\"\\\"' class=\\\"img-circle\\\" style=\\\"width: 150px;height: 150px;\\\" src=\\\"default.png\\\" alt=\\\"profile\\\">\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"center\\\" style=\\\"margin-left: 140px; margin-top: -145px;\\\">\\r\\n                                    <span class=\\\"btn-file\\\" *ngIf=\\\"edit==true\\\"><i class=\\\"fa fa-pencil\\\"></i><input type=\\\"file\\\" accept=\\\"image/*\\\" (change)=\\\"change_image($event);\\\" name=\\\"image\\\"></span>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-9 col-sm-9 profile_data\\\">\\r\\n                                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"provider_id\\\"  name=\\\"provider_id\\\" />\\r\\n                                <div class=\\\"col-md-12 remove_padding align_center1\\\" style=\\\"margin-left: 0px;\\\">\\r\\n                                    <label class=\\\"control-label\\\" style=\\\"font-size: 30px;\\\">{{provider_edit.first_name + \\\" \\\" + provider_edit.last_name }}</label>\\r\\n\\r\\n\\r\\n\\r\\n                                    <button type=\\\"button\\\" *ngIf=\\\"edit==false\\\" class=\\\"btn add_btn pull-right edit_option_mobile_screen profile_update\\\" (click)=\\\"edit=true\\\">{{button.edit | translate}}</button>\\r\\n\\r\\n                                    <button type=\\\"submit\\\"  *ngIf=\\\"edit==true\\\"  class=\\\"btn btn-primary pull-right edit_option_mobile_screen profile_update\\\">{{button.update | translate}}</button>\\r\\n\\r\\n                                </div>\\r\\n                                <hr style=\\\"border-color: red;\\\">\\r\\n                                <div class=\\\"row col-md-12 remove_padding\\\"><label class=\\\"col-lg-4 col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.email | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n\\r\\n                                    <div *ngIf=\\\"edit==true\\\" class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"provider_edit.email\\\" #email=\\\"ngModel\\\" name=\\\"email\\\" required/>\\r\\n\\r\\n                                    </div> \\r\\n                                    <div *ngIf=\\\"edit==false\\\" class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                                        {{provider_edit.email }}\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                <div class=\\\"row col-md-12 remove_padding\\\"><label class=\\\"col-lg-4  col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.country | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n\\r\\n                                    <div class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                                        {{provider_edit.country_name }}\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                <div class=\\\"row col-md-12 remove_padding\\\"><label class=\\\"col-lg-4 col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.prov_city | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n\\r\\n                                    <div class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                                        {{provider_edit.city_name }}\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n\\r\\n                                <div class=\\\"row col-md-12 remove_padding\\\"><label class=\\\"col-lg-4  col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.phone | translate}}<div class=\\\"pull-right translateyminus\\\">:</div></label>\\r\\n\\r\\n                                    <div *ngIf=\\\"edit==true\\\" class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"provider_edit.phone\\\"  (keypress)=\\\"helper.number_validation($event)\\\"  #phone=\\\"ngModel\\\" name=\\\"phone\\\" required/>\\r\\n\\r\\n                                    </div> \\r\\n                                    <div *ngIf=\\\"edit==false\\\" class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group translatey\\\">\\r\\n                                        {{provider_edit.phone}}\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                \\r\\n                                <div class=\\\"col-md-12 remove_padding\\\"><label class=\\\"col-lg-4 col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.unique_id | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n\\r\\n                                    <div class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                                        {{provider_edit.unique_id }}\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                \\r\\n\\r\\n                                <div class=\\\"col-md-12 remove_padding\\\"><label class=\\\"col-lg-4 col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.earning_provider_id | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n\\r\\n                                    <div class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                                        {{provider_edit._id }}\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n\\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-lg-4\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-content\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12\\\" style=\\\"display: block\\\">\\r\\n                                <div id=\\\"c1\\\" class=\\\"c3\\\"> </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12\\\" id=\\\"chart\\\" style=\\\"margin-top: 28px;\\\">\\r\\n                                <div class=\\\"col-md-1 col-xs-1 col-sm-1 box\\\" style=\\\"padding-right: 0\\\">\\r\\n                                    <span class=\\\"fa fa-square\\\" style=\\\"font-size: 20px;color: #bb212b;\\\" ></span>\\r\\n\\r\\n\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-5 col-xs-5 col-sm-5 total\\\">\\r\\n                                    <span style=\\\"font-size: 15px; \\\">{{title.total_order | translate}}<br><span style=\\\"font-size: 20px;color: black;\\\">{{order_detail.total_orders}}</span></span>\\r\\n\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-1 col-xs-1 col-sm-1 box box1\\\" style=\\\"padding: 0\\\">\\r\\n                                    <span class=\\\"fa fa-square\\\" style=\\\"font-size: 20px;color: #1e1e1e;\\\" ></span>\\r\\n\\r\\n\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-5 col-xs-5 col-sm-5 total total1\\\" style=\\\"padding: 0\\\">\\r\\n                                    <span style=\\\"font-size: 15px; \\\">{{title.accepted_order | translate}}<br><span style=\\\"font-size: 20px;color: black;\\\">{{order_detail.accepted_orders}}</span></span>\\r\\n\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-1 col-xs-1 col-sm-1 box\\\" style=\\\"padding-right: 0\\\">\\r\\n                                    <span class=\\\"fa fa-square\\\" style=\\\"font-size: 20px;color: #bb212b;\\\" ></span>\\r\\n\\r\\n\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-5 col-xs-5 col-sm-5 total\\\">\\r\\n                                    <span style=\\\"font-size: 15px; \\\">{{title.completed_order | translate}}<br><span style=\\\"font-size: 20px;color: black;\\\">{{order_detail.completed_orders}}</span></span>\\r\\n\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-1 col-xs-1 col-sm-1 box box1\\\" style=\\\"padding: 0\\\">\\r\\n                                    <span class=\\\"fa fa-square\\\" style=\\\"font-size: 20px;color: #1e1e1e;\\\" ></span>\\r\\n\\r\\n\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-5 col-xs-5 col-sm-5 total total1\\\" style=\\\"padding: 0\\\">\\r\\n                                    <span style=\\\"font-size: 15px; \\\">{{title.cancelled_order | translate}}<br><span style=\\\"font-size: 20px;color: black;\\\">{{order_detail.cancelled_orders}}</span></span>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"\\\">\\r\\n                <div class=\\\"col-lg-4 col-sm-6\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{title.personal_detail | translate}}</label>  \\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.first_name | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"provider_edit.first_name\\\" #first_name=\\\"ngModel\\\" name=\\\"first_name\\\" required/>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.last_name | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"provider_edit.last_name\\\" #last_name=\\\"ngModel\\\" name=\\\"last_name\\\" required/>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.address | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [disabled]=\\\"edit==false\\\" [(ngModel)]=\\\"provider_edit.address\\\" #address=\\\"ngModel\\\" name=\\\"address\\\"/>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n<!--                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.zipcode | translate }}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [disabled]=\\\"edit==false\\\" [(ngModel)]=\\\"provider_edit.zipcode\\\" #zipcode=\\\"ngModel\\\" name=\\\"zipcode\\\"/>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>-->\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.app_version | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        {{provider_edit.device_type + \\\" - \\\" +  provider_edit.app_version}}\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.wallet | translate}}</label>  \\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"ibox-content wizard\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <div class=\\\"col-lg-12\\\">\\r\\n                                        <div class=\\\"form-group\\\">\\r\\n                                            <label class=\\\"col-lg-4 control-label\\\">{{title.currency_code | translate}}</label>  \\r\\n                                            <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                                <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"provider_edit.wallet_currency_code\\\" #wallet_currency_code=\\\"ngModel\\\" name=\\\"wallet_currency_code\\\" disabled/>\\r\\n\\r\\n                                            </div> \\r\\n\\r\\n                                        </div>\\r\\n                                        <div class=\\\"form-group\\\">\\r\\n                                            <label class=\\\"col-lg-4 control-label\\\">{{title.wallet | translate}}</label>  \\r\\n                                            <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                                <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"provider_edit.wallet\\\" #wallet=\\\"ngModel\\\" name=\\\"wallet\\\" disabled/>\\r\\n\\r\\n                                            </div> \\r\\n\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-4 col-sm-6\\\" >\\r\\n<!--                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.vehicle | translate}}</label>  \\r\\n                        </div>\\r\\n\\r\\n\\r\\n                        <div class=\\\"ibox-content wizard\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"form-group\\\" [hidden]=\\\"edit==false\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.vehicle_type | translate }}</label>  \\r\\n\\r\\n                                                                        <div class=\\\"col-lg-8 form-group\\\" *ngIf=\\\"edit==false\\\" >\\r\\n                                                                           \\r\\n                                                                            {{provider_edit.vehicle_name}}\\r\\n                                                                           </div> \\r\\n\\r\\n                                    <div class=\\\"col-lg-8 form-group\\\" >\\r\\n                                        <select chosen class=\\\"chosen-select\\\" id=\\\"vehicle\\\" [(ngModel)]=\\\"provider_edit.vehicle_id\\\" #vehicle_id=\\\"ngModel\\\" name=\\\"vehicle_id\\\" data-placeholder=\\\"Select Vehicle\\\"  tabindex=\\\"4\\\"  >\\r\\n\\r\\n                                            <option *ngFor=\\\"let i of vehicle_list\\\" value=\\\"{{i._id}}\\\">{{i.vehicle_name}}</option>\\r\\n                                        </select> \\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\" [hidden]=\\\"edit==true\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.vehicle_type | translate }}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\"  [(ngModel)]=\\\"provider_edit.vehicle_id\\\" #vehicle_id=\\\"ngModel\\\"  name=\\\"vehicle_id\\\" required readonly placeholder=\\\"\\\">\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.vehicle_number | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [disabled]=\\\"edit==false\\\" [(ngModel)]=\\\"provider_edit.vehicle_number\\\" #vehicle_number=\\\"ngModel\\\" name=\\\"vehicle_number\\\"/>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.vehicle_model | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [disabled]=\\\"edit==false\\\" [(ngModel)]=\\\"provider_edit.vehicle_model\\\" #vehicle_model=\\\"ngModel\\\" name=\\\"vehicle_model\\\"/>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n\\r\\n                    </div>-->\\r\\n\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.referral | translate}}</label>  \\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"ibox-content wizard\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.referral_code | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"provider_edit.referral_code\\\" #referral_code=\\\"ngModel\\\" name=\\\"referral_code\\\" disabled/>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.total_referrals | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"provider_edit.total_referrals\\\" #total_referrals=\\\"ngModel\\\" name=\\\"total_referrals\\\" disabled/>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.referred_by | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\" >\\r\\n                                        {{provider_edit.referred_provider_first_name + \\\" \\\" + provider_edit.referred_provider_last_name }}\\r\\n                                        <!--                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"provider_edit.referral_code\\\" #referral_code=\\\"ngModel\\\" name=\\\"referral_code\\\" disabled/>-->\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n\\r\\n                <div class=\\\"col-lg-4 col-sm-6\\\" >\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.setting | translate }}</label>  \\r\\n                        </div>\\r\\n\\r\\n\\r\\n                        <div class=\\\"ibox-content wizard\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <!--                                <div class=\\\"form-group\\\">\\r\\n                                                                    <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.document_uploaded | translate}}</label>  \\r\\n                                \\r\\n                                                                    <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                                                        <ui-switch [disabled]=\\\"edit==false\\\" [(ngModel)]=\\\"provider_edit.is_document_uploaded\\\" #is_document_uploaded=\\\"ngModel\\\" name=\\\"is_document_uploaded\\\"></ui-switch>\\r\\n                                \\r\\n                                                                    </div>\\r\\n                                                                </div>-->\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.phone_number_verified | translate }}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                        <ui-switch [disabled]=\\\"edit==false\\\" [(ngModel)]=\\\"provider_edit.is_phone_number_verified\\\" #is_phone_number_verified=\\\"ngModel\\\" name=\\\"is_phone_number_verified\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.email_verified | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                        <ui-switch [disabled]=\\\"edit==false\\\" [(ngModel)]=\\\"provider_edit.is_email_verified\\\" #is_email_verified=\\\"ngModel\\\" name=\\\"is_email_verified\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <!--                                <div class=\\\"form-group\\\">\\r\\n                                                                    <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.delivery | translate}}</label>  \\r\\n                                \\r\\n                                                                    <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                                                        <ui-switch [disabled]=\\\"edit==false\\\" [(ngModel)]=\\\"provider_edit.is_in_delivery\\\" #is_in_delivery=\\\"ngModel\\\" name=\\\"is_in_delivery\\\"></ui-switch>\\r\\n                                \\r\\n                                                                    </div>\\r\\n                                                                </div>-->\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.online | translate }}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                        <ui-switch [disabled]=\\\"edit==false\\\" [(ngModel)]=\\\"provider_edit.is_online\\\" #is_online=\\\"ngModel\\\" name=\\\"is_online\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.active_for_job  | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                        <ui-switch [disabled]=\\\"edit==false\\\" [(ngModel)]=\\\"provider_edit.is_active_for_job\\\" #is_active_for_job=\\\"ngModel\\\" name=\\\"is_active_for_job\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.approved | translate }}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                        <ui-switch  [disabled]=\\\"edit==false\\\" [(ngModel)]=\\\"provider_edit.is_approved\\\" #is_approved=\\\"ngModel\\\" name=\\\"is_approved\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.private_message | translate}}</label>  \\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"ibox-content wizard\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.comment | translate }}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [disabled]=\\\"edit==false\\\" [(ngModel)]=\\\"provider_edit.comments\\\" #comments=\\\"ngModel\\\" name=\\\"comments\\\"/>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.rate | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"provider_edit.user_rate\\\" #user_rate=\\\"ngModel\\\" name=\\\"user_rate\\\" disabled/>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.is_document_uploaded | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                        <ui-switch  [(ngModel)]=\\\"provider_edit.is_document_uploaded\\\" #is_document_uploaded=\\\"ngModel\\\" name=\\\"is_document_uploaded\\\" disabled></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.is_in_delivery | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                        <ui-switch  [(ngModel)]=\\\"provider_edit.is_in_delivery\\\" #is_in_delivery=\\\"ngModel\\\" name=\\\"is_in_delivery\\\" disabled></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n    </div>\\r\\n</form>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/edit_provider/edit_provider.component.html\n// module id = 1592\n// module chunks = 0","module.exports = \"<form #providerVehicleForm=\\\"ngForm\\\" (ngSubmit)=\\\"updateProviderVehicle(providerVehicleForm.value)\\\" >\\r\\n    <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"provider_vehicle_id\\\"   name=\\\"provider_vehicle_id\\\" />\\r\\n    <div class=\\\"row wrapper col-sm-12 col-md-12 col-xs-12 col-lg-12 fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n        <div class=\\\"row\\\">\\r\\n\\r\\n            <div  class=\\\"col-md-3 col-sm-12 pull-right new_submit_button\\\">\\r\\n                <input *ngIf=\\\"edit_provider_vehicle.admin_vehicle_id!=null\\\" type=\\\"submit\\\" id=\\\"update\\\" name=\\\"update\\\"  class=\\\"btn btn-primary\\\" value=\\\"{{button.update | translate}}\\\" >\\r\\n                <input *ngIf=\\\"edit_provider_vehicle.admin_vehicle_id==null\\\" type=\\\"submit\\\" id=\\\"update\\\" name=\\\"update\\\"  class=\\\"btn btn-primary\\\" value=\\\"{{button.update | translate}}\\\" disabled >\\r\\n            \\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n    <div class=\\\"wrapper wrapper-content content_top_bar_view animated fadeInRight\\\">\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-lg-12\\\">\\r\\n                <div class=\\\"col-lg-6 col-sm-9\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">Vehicles</label>  \\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.provider_vehicle_name | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"edit_provider_vehicle.vehicle_name\\\" #vehicle_name=\\\"ngModel\\\"  name=\\\"vehicle_name\\\" required />\\r\\n                                        \\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                \\r\\n                                \\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.provider_vehicle_plate_no | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"edit_provider_vehicle.vehicle_plate_no\\\" #vehicle_plate_no=\\\"ngModel\\\"  name=\\\"vehicle_plate_no\\\" required />\\r\\n                                        \\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                \\r\\n                                \\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.provider_vehicle_color | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"edit_provider_vehicle.vehicle_color\\\" #vehicle_color=\\\"ngModel\\\"  name=\\\"vehicle_color\\\" required />\\r\\n                                        \\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                \\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.provider_vehicle_model | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"edit_provider_vehicle.vehicle_model\\\" #vehicle_model=\\\"ngModel\\\"  name=\\\"vehicle_model\\\" required />\\r\\n                                        \\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n\\r\\n                                  <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.provider_vehicle_year | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"edit_provider_vehicle.vehicle_year\\\" #vehicle_year=\\\"ngModel\\\"  name=\\\"vehicle_year\\\" required />\\r\\n                                        \\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.provider_vehicle_service_type | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group add\\\">\\r\\n                                        <select chosen class=\\\"chosen-select\\\" id=\\\"admin_vehicle_id\\\" [(ngModel)]=\\\"edit_provider_vehicle.admin_vehicle_id\\\" #admin_vehicle_id=\\\"ngModel\\\" name=\\\"admin_vehicle_id\\\" data-placeholder=\\\"Select Vehicle\\\"  tabindex=\\\"4\\\"  >\\r\\n\\r\\n                                            <option *ngFor=\\\"let i of vehicle_service_list\\\" value=\\\"{{i._id}}\\\">{{i.vehicle_name}}</option>\\r\\n                                        </select> \\r\\n\\r\\n                                    </div>\\r\\n\\r\\n                                </div>\\r\\n\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.is_approved | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <ui-switch [(ngModel)]=\\\"edit_provider_vehicle.is_approved\\\" #is_approved=\\\"ngModel\\\" name=\\\"is_approved\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n\\r\\n                            </div>\\r\\n\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</form>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/edit_provider_vehicle/edit_provider_vehicle.component.html\n// module id = 1593\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer> \\r\\n<form #storeUpdateForm=\\\"ngForm\\\" (ngSubmit)=\\\"UpdateStore(storeUpdateForm.value)\\\">\\r\\n    <div class=\\\"wrapper wrapper-content animated fadeInRight content_top_bar\\\">\\r\\n\\r\\n\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-lg-8\\\">\\r\\n\\r\\n                <div class=\\\"ibox product-detail\\\">\\r\\n                    <div class=\\\"ibox-content\\\">\\r\\n\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-3 col-sm-3\\\">\\r\\n\\r\\n                                <div class=\\\"profile-images center\\\">\\r\\n                                    <img *ngIf='store_edit.image_url!==\\\"\\\"' class=\\\"img-circle\\\" style=\\\"width: 150px;height: 150px;\\\" src=\\\"{{store_edit.image_url}}\\\" alt=\\\"profile\\\">\\r\\n                                    <img *ngIf='store_edit.image_url==\\\"\\\"' class=\\\"img-circle\\\" style=\\\"width: 150px;height: 150px;\\\" src=\\\"default.png\\\" alt=\\\"profile\\\">\\r\\n\\r\\n\\r\\n\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"center\\\" style=\\\"margin-left: 140px; margin-top: -145px;\\\">\\r\\n                                    <span class=\\\"btn-file\\\" *ngIf=\\\"edit==true\\\"><i class=\\\"fa fa-pencil\\\"></i><input type=\\\"file\\\"  (change)=\\\"change_image($event);\\\" accept=\\\"image/*\\\" name=\\\"image\\\"></span>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-9 col-sm-9 profile_data\\\">\\r\\n                                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_id\\\"  name=\\\"store_id\\\" />\\r\\n\\r\\n                                <div class=\\\"col-md-12 remove_padding align_center1\\\" style=\\\"margin-left: 0px;\\\">\\r\\n                                    <label class=\\\"control-label\\\" style=\\\"font-size: 30px;\\\">{{store_edit.name}}</label>\\r\\n\\r\\n\\r\\n\\r\\n                                    <button type=\\\"button\\\" *ngIf=\\\"edit==false\\\" class=\\\"btn add_btn pull-right edit_option_mobile_screen profile_update\\\" (click)=\\\"edit=true\\\">{{button.edit | translate}}</button>\\r\\n\\r\\n                                    <button type=\\\"submit\\\"  *ngIf=\\\"edit==true\\\"  class=\\\"btn btn-primary pull-right edit_option_mobile_screen profile_update\\\">{{button.update | translate}}</button>\\r\\n\\r\\n\\r\\n\\r\\n                                </div>\\r\\n                                <hr style=\\\"border-color: red;\\\">\\r\\n                                <div class=\\\"col-md-12 remove_padding\\\"><label class=\\\"col-lg-4 col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.email | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n\\r\\n                                    <div *ngIf=\\\"edit==true\\\" class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_edit.email\\\" #email=\\\"ngModel\\\" name=\\\"email\\\" required/>\\r\\n                                    </div> \\r\\n                                    <div *ngIf=\\\"edit==false\\\" class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                                        {{store_edit.email }}\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-12 remove_padding\\\"><label class=\\\"col-lg-4  col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.country | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n\\r\\n                                    <div class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                                        {{store_edit.country_name }}\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-12 remove_padding\\\"><label class=\\\"col-lg-4 col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.prov_city | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n\\r\\n                                    <div class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                                        {{store_edit.city_name }}\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n\\r\\n                                <div class=\\\"col-md-12 remove_padding\\\"><label class=\\\"col-lg-4 col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.delivery | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n\\r\\n                                    <div class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                                        {{store_edit.store_delivery_name }}\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n\\r\\n                                <div class=\\\"col-md-12 remove_padding\\\"><label class=\\\"col-lg-4  col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.phone | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n\\r\\n                                    <div *ngIf=\\\"edit==true\\\" class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_edit.phone\\\" #phone=\\\"ngModel\\\" name=\\\"phone\\\" required/>\\r\\n                                    </div> \\r\\n                                    <div *ngIf=\\\"edit==false\\\" class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                                        {{store_edit.phone}}\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n\\r\\n                                <div class=\\\"col-md-12 remove_padding\\\"><label class=\\\"col-lg-4 col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.unique_id | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n\\r\\n                                    <div class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                                        {{store_edit.unique_id }}\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n\\r\\n                                <div class=\\\"col-md-12 remove_padding\\\"><label class=\\\"col-lg-4 col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.store_id | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n\\r\\n                                    <div class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                                        {{store_edit._id }}\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n\\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-lg-4\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-content\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12\\\" style=\\\"display: block\\\">\\r\\n                                <div id=\\\"c1\\\" class=\\\"c3\\\"> </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12\\\" id=\\\"chart\\\" style=\\\"margin-top: 28px;\\\">\\r\\n                                <div class=\\\"col-md-1 col-xs-1 col-sm-1 box\\\" style=\\\"padding-right: 0\\\">\\r\\n                                    <span class=\\\"fa fa-square\\\" style=\\\"font-size: 20px;color: #bb212b;\\\" ></span>\\r\\n\\r\\n\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-5 col-xs-5 col-sm-5 total\\\">\\r\\n                                    <span style=\\\"font-size: 15px; \\\">{{title.total_order | translate}}<br><span style=\\\"font-size: 20px;color: black;\\\">{{order_detail.total_orders}}</span></span>\\r\\n\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-1 col-xs-1 col-sm-1 box box1\\\" style=\\\"padding: 0\\\">\\r\\n                                    <span class=\\\"fa fa-square\\\" style=\\\"font-size: 20px;color: #1e1e1e;\\\" ></span>\\r\\n\\r\\n\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-5 col-xs-5 col-sm-5 total total1\\\" style=\\\"padding: 0\\\">\\r\\n                                    <span style=\\\"font-size: 15px; \\\">{{title.accepted_order | translate}}<br><span style=\\\"font-size: 20px;color: black;\\\">{{order_detail.accepted_orders}}</span></span>\\r\\n\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-1 col-xs-1 col-sm-1 box\\\" style=\\\"padding-right: 0\\\">\\r\\n                                    <span class=\\\"fa fa-square\\\" style=\\\"font-size: 20px;color: #bb212b;\\\" ></span>\\r\\n\\r\\n\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-5 col-xs-5 col-sm-5 total\\\">\\r\\n                                    <span style=\\\"font-size: 15px; \\\">{{title.completed_order | translate}}<br><span style=\\\"font-size: 20px;color: black;\\\">{{order_detail.completed_orders}}</span></span>\\r\\n\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-1 col-xs-1 col-sm-1 box box1\\\" style=\\\"padding: 0\\\">\\r\\n                                    <span class=\\\"fa fa-square\\\" style=\\\"font-size: 20px;color: #1e1e1e;\\\" ></span>\\r\\n\\r\\n\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-5 col-xs-5 col-sm-5 total total1\\\" style=\\\"padding: 0\\\">\\r\\n                                    <span style=\\\"font-size: 15px; \\\">{{title.cancelled_order | translate}}<br><span style=\\\"font-size: 20px;color: black;\\\">{{order_detail.cancelled_orders}}</span></span>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n\\r\\n\\r\\n        </div>\\r\\n\\r\\n\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"\\\">\\r\\n                <div class=\\\"col-lg-4 col-sm-6\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{title.personal_detail | translate}}</label>  \\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 col-sm-4 control-label\\\">{{title.store_name | translate}}</label>\\r\\n                                    <div class=\\\"col-lg-8 col-sm-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" [disabled]=\\\"edit==false\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_edit.name\\\" #name=\\\"ngModel\\\" name=\\\"name\\\" required/>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.address | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [disabled]=\\\"edit==false\\\" [(ngModel)]=\\\"store_edit.address\\\" #address=\\\"ngModel\\\" name=\\\"address\\\" required/>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                <!--                                <div class=\\\"form-group\\\">\\r\\n                                                                    <label class=\\\"col-lg-4 control-label\\\">{{title.zipcode | translate }}</label>  \\r\\n                                                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [disabled]=\\\"edit==false\\\" [(ngModel)]=\\\"store_edit.zipcode\\\" #zipcode=\\\"ngModel\\\" name=\\\"zipcode\\\"/>\\r\\n                                \\r\\n                                                                    </div> \\r\\n                                                                </div>-->\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.app_version | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        {{store_edit.device_type + \\\" - \\\" +  store_edit.app_version}}\\r\\n                                        <!--                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_edit.app_version\\\" #app_version=\\\"ngModel\\\" name=\\\"app_version\\\" disabled/>-->\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.wallet | translate}}</label>  \\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"ibox-content wizard\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <div class=\\\"col-lg-12\\\">\\r\\n                                        <div class=\\\"form-group\\\">\\r\\n                                            <label class=\\\"col-lg-4 control-label\\\">{{title.currency_code | translate}}</label>  \\r\\n                                            <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                                <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_edit.wallet_currency_code\\\" #wallet_currency_code=\\\"ngModel\\\" name=\\\"wallet_currency_code\\\" disabled/>\\r\\n\\r\\n                                            </div> \\r\\n\\r\\n                                        </div>\\r\\n                                        <div class=\\\"form-group\\\">\\r\\n                                            <label class=\\\"col-lg-4 control-label\\\">{{title.wallet | translate}}</label>  \\r\\n                                            <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                                <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_edit.wallet\\\" #wallet=\\\"ngModel\\\" name=\\\"wallet\\\" disabled/>\\r\\n\\r\\n                                            </div> \\r\\n\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.referral | translate}}</label>  \\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"ibox-content wizard\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.referral_code | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_edit.referral_code\\\" #referral_code=\\\"ngModel\\\" name=\\\"referral_code\\\" disabled/>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.total_referrals | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_edit.total_referrals\\\" #total_referrals=\\\"ngModel\\\" name=\\\"total_referrals\\\" disabled/>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.referred_by | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_edit.referred_store_name\\\" #referred_store_name=\\\"ngModel\\\" name=\\\"referred_store_name\\\" disabled/>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-4 col-sm-6\\\" >\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.setting | translate }}</label>  \\r\\n                        </div>\\r\\n\\r\\n\\r\\n                        <div class=\\\"ibox-content wizard\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n\\r\\n                                <div class=\\\"form-group\\\" [hidden]=\\\"edit==false\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.admin_profit_mode | translate }}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <select chosen class=\\\"chosen-select\\\" id=\\\"admin_profit_mode\\\" [(ngModel)]=\\\"store_edit.admin_profit_mode_on_store\\\" #admin_profit_mode_on_store=\\\"ngModel\\\" name=\\\"admin_profit_mode_on_store\\\" data-placeholder=\\\"Select Admin Profit Mode\\\"  tabindex=\\\"4\\\"  >\\r\\n\\r\\n                                            <option *ngFor=\\\"let i of admin_profit_mode_on_store_list\\\" value=\\\"{{i.ID}}\\\">{{i.NAME}}</option>\\r\\n                                        </select> \\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\" [hidden]=\\\"edit==true\\\">\\r\\n                                            <label class=\\\"col-lg-4 control-label\\\">{{title.admin_profit_mode | translate }}</label>\\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\"  [(ngModel)]=\\\"store_edit.admin_profit_mode_on_store\\\" #admin_profit_mode_on_store=\\\"ngModel\\\"  name=\\\"admin_profit_mode_on_store\\\" required readonly placeholder=\\\"\\\">\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.admin_profit_value | translate }}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [disabled]=\\\"edit==false\\\" (keypress)=\\\"helper.number_validation($event)\\\" [(ngModel)]=\\\"store_edit.admin_profit_value_on_store\\\" #admin_profit_value_on_store=\\\"ngModel\\\"  name=\\\"admin_profit_value_on_store\\\" required />\\r\\n                                        <div *ngIf=\\\"admin_profit_value_on_store.errors && (admin_profit_value_on_delivery.dirty || admin_profit_value_on_store.touched)\\\">\\r\\n                                            <div style=\\\"color: red;\\\" [hidden]=\\\"!admin_profit_value_on_store.errors.required\\\">{{validation_message.admin_profit_value_on_delivery_required | translate}}</div>\\r\\n                                        </div>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-12 control-label\\\">{{title.admin_profit_description | translate }}</label>  \\r\\n                                   \\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n\\r\\n                    </div>\\r\\n\\r\\n\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.private_message | translate}}</label>  \\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"ibox-content wizard\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.website_url | translate }}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [disabled]=\\\"edit==false\\\" [(ngModel)]=\\\"store_edit.website_url\\\" #website_url=\\\"ngModel\\\" name=\\\"website_url\\\"/>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.famous_for | translate }}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [disabled]=\\\"edit==false\\\" [(ngModel)]=\\\"store_edit.famous_for\\\" #famous_for=\\\"ngModel\\\" name=\\\"famous_for\\\"/>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.slogan | translate }}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [disabled]=\\\"edit==false\\\" [(ngModel)]=\\\"store_edit.slogan\\\" #slogan=\\\"ngModel\\\" name=\\\"slogan\\\"/>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.offer | translate }}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [disabled]=\\\"edit==false\\\" [(ngModel)]=\\\"store_edit.offer\\\" #offer=\\\"ngModel\\\" name=\\\"offer\\\"/>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.comment | translate }}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [disabled]=\\\"edit==false\\\" [(ngModel)]=\\\"store_edit.comments\\\" #comments=\\\"ngModel\\\" name=\\\"comments\\\"/>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                </div>\\r\\n\\r\\n\\r\\n                <div class=\\\"col-lg-4 col-sm-6\\\" >\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.setting | translate }}</label>  \\r\\n                        </div>\\r\\n\\r\\n\\r\\n                        <div class=\\\"ibox-content wizard\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.phone_number_verified | translate }}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                        <ui-switch [disabled]=\\\"edit==false\\\" [(ngModel)]=\\\"store_edit.is_phone_number_verified\\\" #is_phone_number_verified=\\\"ngModel\\\" name=\\\"is_phone_number_verified\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.email_verified | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                        <ui-switch  [disabled]=\\\"edit==false\\\" [(ngModel)]=\\\"store_edit.is_email_verified\\\" #is_email_verified=\\\"ngModel\\\" name=\\\"is_email_verified\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.approved | translate }}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                        <ui-switch  [disabled]=\\\"edit==false\\\" [(ngModel)]=\\\"store_edit.is_approved\\\" #is_approved=\\\"ngModel\\\" name=\\\"is_approved\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.visible_store | translate }}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                        <ui-switch  [disabled]=\\\"edit==false\\\" [(ngModel)]=\\\"store_edit.is_visible\\\" #is_visible=\\\"ngModel\\\" name=\\\"is_visible\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n\\r\\n\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.setting | translate}}</label>  \\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"ibox-content wizard\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.store_item_tax | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_edit.item_tax\\\" #item_tax=\\\"ngModel\\\" name=\\\"item_tax\\\" disabled/>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.price_rating | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_edit.price_rating\\\" #price_rating=\\\"ngModel\\\" name=\\\"price_rating\\\" disabled/>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.rate | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_edit.user_rate\\\" #user_rate=\\\"ngModel\\\" name=\\\"user_rate\\\" disabled/>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.free_delivery_for_above_order_price | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_edit.free_delivery_for_above_order_price\\\" #free_delivery_for_above_order_price=\\\"ngModel\\\" name=\\\"free_delivery_for_above_order_price\\\" disabled/>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.delivery_time | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_edit.delivery_time\\\" #delivery_time=\\\"ngModel\\\" name=\\\"delivery_time\\\" disabled/>\\r\\n\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.is_store_pay_delivery_fees | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                        <ui-switch  [(ngModel)]=\\\"store_edit.is_store_pay_delivery_fees\\\" #is_store_pay_delivery_fees=\\\"ngModel\\\" name=\\\"is_store_pay_delivery_fees\\\" disabled></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.is_business_store | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                        <ui-switch  [(ngModel)]=\\\"store_edit.is_business\\\" #is_business=\\\"ngModel\\\" name=\\\"is_business\\\" disabled></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.is_document_uploaded | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                        <ui-switch  [(ngModel)]=\\\"store_edit.is_document_uploaded\\\" #is_document_uploaded=\\\"ngModel\\\" name=\\\"is_document_uploaded\\\" disabled></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n\\r\\n\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-lg-8\\\">\\r\\n\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"padding: 0;min-height: 35px !important;\\\">\\r\\n                        <label style=\\\"margin-left: 15px;margin-top: 9px;\\\" class=\\\"control-label\\\">{{heading_title.store_time | translate}}</label>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content \\\">\\r\\n\\r\\n                        <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\r\\n                            <div class=\\\"col-lg-12\\\" style=\\\"border-bottom: 1px solid;padding-left: 0; padding-right: 0;\\\">\\r\\n                                <div class=\\\"wizard\\\" style=\\\"border-bottom: 1px solid;padding-left: 0; padding-right: 0;\\\">\\r\\n                                    <div class=\\\"steps clearfix\\\">\\r\\n                                        <ul style=\\\"display: table;padding: 0px;\\\">\\r\\n\\r\\n                                            <li (click)=\\\"change_day(0)\\\" [style.border-bottom]=\\\"curren_selected_day == 0 ? '1px solid #bc202b' : null\\\" class=\\\"day_li\\\" >\\r\\n                                                <a style=\\\"border-bottom-right-radius: 0px; border-bottom-left-radius: 0px;border: 0px;\\\" class=\\\"btn-default\\\"><span style=\\\"margin-left: -5px;font-weight: bold;display:block;\\\" [style.color]=\\\"curren_selected_day == 0 ? '#bc202b' : null\\\" class=\\\"nav-label\\\">{{title.sunday | translate}}</span></a>\\r\\n                                            </li>\\r\\n                                            <li (click)=\\\"change_day(1)\\\" [style.border-bottom]=\\\"curren_selected_day == 1 ? '1px solid #bc202b' : null\\\" class=\\\"day_li\\\" >\\r\\n                                                <a style=\\\"border-bottom-right-radius: 0px; border-bottom-left-radius: 0px;border: 0px;\\\" class=\\\"btn-default\\\"><span style=\\\"margin-left: -5px;font-weight: bold;display:block;\\\" [style.color]=\\\"curren_selected_day == 1 ? '#bc202b' : null\\\" class=\\\"nav-label\\\">{{title.monday | translate}}</span></a>\\r\\n                                            </li>\\r\\n                                            <li (click)=\\\"change_day(2)\\\" [style.border-bottom]=\\\"curren_selected_day == 2 ? '1px solid #bc202b' : null\\\" class=\\\"day_li\\\" >\\r\\n                                                <a style=\\\"border-bottom-right-radius: 0px; border-bottom-left-radius: 0px;border: 0px;\\\" class=\\\"btn-default\\\"><span style=\\\"margin-left: -5px;font-weight: bold;display:block;\\\" [style.color]=\\\"curren_selected_day == 2 ? '#bc202b' : null\\\" class=\\\"nav-label\\\">{{title.tuesday | translate}}</span></a>\\r\\n                                            </li>\\r\\n                                            <li (click)=\\\"change_day(3)\\\" [style.border-bottom]=\\\"curren_selected_day == 3 ? '1px solid #bc202b' : null\\\" class=\\\"day_li\\\" >\\r\\n                                                <a style=\\\"border-bottom-right-radius: 0px; border-bottom-left-radius: 0px;border: 0px;\\\" class=\\\"btn-default\\\"><span style=\\\"margin-left: -5px;font-weight: bold;display:block;\\\" [style.color]=\\\"curren_selected_day == 3 ? '#bc202b' : null\\\" class=\\\"nav-label\\\">{{title.wednesday | translate}}</span></a>\\r\\n                                            </li>\\r\\n                                            <li (click)=\\\"change_day(4)\\\" [style.border-bottom]=\\\"curren_selected_day == 4 ? '1px solid #bc202b' : null\\\" class=\\\"day_li\\\" >\\r\\n                                                <a style=\\\"border-bottom-right-radius: 0px; border-bottom-left-radius: 0px;border: 0px;\\\" class=\\\"btn-default\\\"><span style=\\\"margin-left: -5px;font-weight: bold;display:block;\\\" [style.color]=\\\"curren_selected_day == 4 ? '#bc202b' : null\\\" class=\\\"nav-label\\\">{{title.thursday | translate}}</span></a>\\r\\n                                            </li>\\r\\n                                            <li (click)=\\\"change_day(5)\\\" [style.border-bottom]=\\\"curren_selected_day == 5 ? '1px solid #bc202b' : null\\\" class=\\\"day_li\\\" >\\r\\n                                                <a style=\\\"border-bottom-right-radius: 0px; border-bottom-left-radius: 0px;border: 0px;\\\" class=\\\"btn-default\\\"><span style=\\\"margin-left: -5px;font-weight: bold;display:block;\\\" [style.color]=\\\"curren_selected_day == 5 ? '#bc202b' : null\\\" class=\\\"nav-label\\\">{{title.friday | translate}}</span></a>\\r\\n                                            </li>\\r\\n                                            <li (click)=\\\"change_day(6)\\\" [style.border-bottom]=\\\"curren_selected_day == 6 ? '1px solid #bc202b' : null\\\" class=\\\"day_li\\\" >\\r\\n                                                <a style=\\\"border-bottom-right-radius: 0px; border-bottom-left-radius: 0px;border: 0px;\\\" class=\\\"btn-default\\\"><span style=\\\"margin-left: -5px;font-weight: bold;display:block;\\\" [style.color]=\\\"curren_selected_day == 6 ? '#bc202b' : null\\\" class=\\\"nav-label\\\">{{title.saturday | translate}}</span></a>\\r\\n                                            </li>\\r\\n                                        </ul>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"row\\\" style=\\\"margin-top: 9px;margin-bottom: 9px;\\\">\\r\\n                                    <div class=\\\"col-md-4 col-sm-6\\\">\\r\\n                                        <label class=\\\"col-md-8 col-sm-8 col-xs-8 control-label\\\" style=\\\"padding-top: 8px;\\\">{{title.open_full_time | translate}}</label>\\r\\n\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\" style=\\\"padding-top: 6px;\\\">\\r\\n                                            <ui-switch   [(ngModel)]=\\\"is_store_open_full_time\\\" name=\\\"is_store_open_full_time\\\" disabled></ui-switch>\\r\\n\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-4 col-sm-6\\\">\\r\\n                                        <label class=\\\"col-md-8 col-sm-8 col-xs-8 control-label\\\" style=\\\"padding-top: 8px;\\\">{{title.open | translate}}</label>\\r\\n\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\" style=\\\"padding-top: 6px;\\\">\\r\\n                                            <ui-switch  [(ngModel)]=\\\"is_store_open\\\" name=\\\"is_store_open\\\" disabled></ui-switch>\\r\\n\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"\\\">\\r\\n                            <table class=\\\"table\\\">\\r\\n                                <tr>\\r\\n                                    <td>{{title.store_open_time | translate}}</td>\\r\\n                                    <td>{{title.store_close_time | translate}}</td>\\r\\n\\r\\n                                </tr>\\r\\n                                <tr *ngFor=\\\"let i of selected_store_time_array\\\">\\r\\n                                    <td>{{i.store_open_time}}</td>\\r\\n                                    <td>{{i.store_close_time}}</td>\\r\\n                                </tr>\\r\\n                            </table>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n            </div>    \\r\\n\\r\\n        </div>  \\r\\n    </div>\\r\\n</form>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/edit_store/edit_store.component.html\n// module id = 1594\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n<form #userUpdateForm=\\\"ngForm\\\" (ngSubmit)=\\\"UpdateUser(userUpdateForm.value)\\\">\\r\\n    <div class=\\\"wrapper wrapper-content animated fadeInRight content_top_bar\\\">\\r\\n\\r\\n        <div class=\\\"row\\\">\\r\\n\\r\\n\\r\\n\\r\\n            <div class=\\\"col-lg-8\\\">\\r\\n\\r\\n                <div class=\\\"ibox product-detail\\\">\\r\\n                    <div class=\\\"ibox-content\\\">\\r\\n\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-3 col-sm-3\\\">\\r\\n\\r\\n                                <div class=\\\"profile-images center\\\">\\r\\n                                    <img *ngIf='user_edit.image_url!==\\\"\\\"' class=\\\"img-circle\\\" style=\\\"width: 150px;height: 150px;\\\" src=\\\"{{user_edit.image_url}}\\\" alt=\\\"profile\\\">\\r\\n                                    <img *ngIf='user_edit.image_url==\\\"\\\"' class=\\\"img-circle\\\" style=\\\"width: 150px;height: 150px;\\\" src=\\\"default.png\\\" alt=\\\"profile\\\">\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"center\\\" style=\\\"margin-left: 140px; margin-top: -145px;\\\">\\r\\n                                    <span class=\\\"btn-file\\\" *ngIf=\\\"edit==true\\\"><i class=\\\"fa fa-pencil\\\"></i><input type=\\\"file\\\" accept=\\\"image/*\\\" (change)=\\\"change_image($event);\\\" name=\\\"image\\\"></span>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-9 col-sm-9 profile_data\\\">\\r\\n                                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"user_id\\\"  name=\\\"user_id\\\" />\\r\\n\\r\\n                                <div class=\\\"col-md-12 remove_padding align_center1\\\" style=\\\"margin-left: 0px;\\\">\\r\\n                                    <label class=\\\"control-label\\\" style=\\\"font-size: 30px;\\\">{{user_edit.first_name + \\\" \\\" + user_edit.last_name }}</label>\\r\\n\\r\\n\\r\\n\\r\\n                                    <button type=\\\"button\\\" *ngIf=\\\"edit==false\\\" class=\\\"btn add_btn pull-right edit_option_mobile_screen profile_update\\\" (click)=\\\"edit=true\\\">{{button.edit | translate}}</button>\\r\\n\\r\\n                                    <button type=\\\"submit\\\"  *ngIf=\\\"edit==true\\\"  class=\\\"btn btn-primary pull-right edit_option_mobile_screen profile_update\\\">{{button.update | translate}}</button>\\r\\n\\r\\n                                </div>\\r\\n                                <hr style=\\\"border-color: red;\\\">\\r\\n                                <div class=\\\"row col-md-12 remove_padding\\\"><label class=\\\"col-lg-4 col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.email | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n\\r\\n                                    <div *ngIf=\\\"edit==true\\\" class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"user_edit.email\\\" #email=\\\"ngModel\\\" name=\\\"email\\\" required/>\\r\\n\\r\\n                                    </div> \\r\\n                                    <div *ngIf=\\\"edit==false\\\" class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                                        {{user_edit.email }}\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                <div class=\\\"row col-md-12 remove_padding\\\"><label class=\\\"col-lg-4  col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.country | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n\\r\\n                                    <div class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                                        {{user_edit.country_name }}\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                <div class=\\\"row col-md-12 remove_padding\\\"><label class=\\\"col-lg-4 col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.prov_city | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n\\r\\n                                    <div class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                                        {{user_edit.city }}\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n\\r\\n                                <div class=\\\"row col-md-12 remove_padding\\\"><label class=\\\"col-lg-4  col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.phone | translate}}<div class=\\\"pull-right translateyminus\\\">:</div></label>\\r\\n\\r\\n                                    <div *ngIf=\\\"edit==true\\\" class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"user_edit.phone\\\" #phone=\\\"ngModel\\\" name=\\\"phone\\\" required/>\\r\\n\\r\\n                                    </div> \\r\\n                                    <div *ngIf=\\\"edit==false\\\" class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group translatey\\\">\\r\\n                                        {{user_edit.phone}}\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                \\r\\n                                \\r\\n                                <div class=\\\"col-md-12 remove_padding\\\"><label class=\\\"col-lg-4 col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.unique_id | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n\\r\\n                                    <div class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                                        {{user_edit.unique_id }}\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                \\r\\n\\r\\n                                <div class=\\\"col-md-12 remove_padding\\\"><label class=\\\"col-lg-4 col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.user_id | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n\\r\\n                                    <div class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                                        {{user_edit._id }}\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                \\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n\\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n\\r\\n\\r\\n\\r\\n            <!--            <div class=\\\"col-lg-4 col-sm-6\\\">\\r\\n                            <div class=\\\"ibox\\\">\\r\\n                                <div class=\\\"ibox-content\\\">\\r\\n                                    <h2>65%</h2>\\r\\n                                    <h5>{{title.completed_ratio | translate }}</h5>\\r\\n                                    <div class=\\\"progress progress-mini\\\">\\r\\n                                        <div style=\\\"width: 65%;\\\" class=\\\"progress-bar\\\"></div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>-->\\r\\n            <!--            <div class=\\\"col-lg-2 col-sm-3 col-xs-6\\\">\\r\\n                            <div class=\\\"ibox\\\">\\r\\n            \\r\\n                                <div class=\\\"ibox-content wizard\\\" style=\\\"text-align: center;\\\">\\r\\n                                    <h2>25</h2>\\r\\n                                    <h5>{{title.total_orders | translate}}</h5>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>-->\\r\\n            <!--            <div class=\\\"col-lg-2 col-sm-3 col-xs-6\\\">\\r\\n                            <div class=\\\"ibox\\\">\\r\\n            \\r\\n                                <div class=\\\"ibox-content wizard\\\" style=\\\"text-align: center;\\\">\\r\\n                                    <h2>30</h2>\\r\\n            \\r\\n                                    <h5>{{title.total_orders | translate}}</h5>\\r\\n            \\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>-->\\r\\n        </div>\\r\\n\\r\\n\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"\\\">\\r\\n                <div class=\\\"col-lg-4 col-sm-6\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{title.personal_detail | translate}}</label>  \\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.first_name | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [disabled]=\\\"edit==false\\\" [(ngModel)]=\\\"user_edit.first_name\\\" #first_name=\\\"ngModel\\\" name=\\\"first_name\\\" />\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.last_name | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [disabled]=\\\"edit==false\\\" [(ngModel)]=\\\"user_edit.last_name\\\" #last_name=\\\"ngModel\\\" name=\\\"last_name\\\" />\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.address | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [disabled]=\\\"edit==false\\\" [(ngModel)]=\\\"user_edit.address\\\" #address=\\\"ngModel\\\" name=\\\"address\\\" />\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n<!--                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.zipcode | translate }}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [disabled]=\\\"edit==false\\\" [(ngModel)]=\\\"user_edit.zipcode\\\" #zipcode=\\\"ngModel\\\" name=\\\"zipcode\\\"/>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>-->\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.app_version | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        {{user_edit.device_type + \\\" - \\\" +  user_edit.app_version}}\\r\\n<!--                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"user_edit.app_version\\\" #app_version=\\\"ngModel\\\" name=\\\"app_version\\\" disabled/>-->\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.wallet | translate}}</label>  \\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"ibox-content wizard\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <div class=\\\"col-lg-12\\\">\\r\\n                                        <div class=\\\"form-group\\\">\\r\\n                                            <label class=\\\"col-lg-4 control-label\\\">{{title.currency_code | translate}}</label>  \\r\\n                                            <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                                <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"user_edit.wallet_currency_code\\\" #wallet_currency_code=\\\"ngModel\\\" name=\\\"wallet_currency_code\\\" disabled/>\\r\\n\\r\\n                                            </div> \\r\\n\\r\\n                                        </div>\\r\\n                                        <div class=\\\"form-group\\\">\\r\\n                                            <label class=\\\"col-lg-4 control-label\\\">{{title.wallet | translate}}</label>  \\r\\n                                            <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                                <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"user_edit.wallet\\\" #wallet=\\\"ngModel\\\" name=\\\"wallet\\\" disabled/>\\r\\n\\r\\n                                            </div> \\r\\n\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-4 col-sm-6\\\" >\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.referral | translate}}</label>  \\r\\n                        </div>\\r\\n\\r\\n\\r\\n                        <div class=\\\"ibox-content wizard\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.referral_code | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"user_edit.referral_code\\\" #referral_code=\\\"ngModel\\\" name=\\\"referral_code\\\" disabled/>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.total_referrals | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"user_edit.total_referrals\\\" #total_referrals=\\\"ngModel\\\" name=\\\"total_referrals\\\" disabled/>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.referred_by | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        {{user_edit.referred_user_first_name + \\\" \\\" + user_edit.referred_user_last_name }}\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n\\r\\n\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.private_message | translate}}</label>  \\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"ibox-content wizard\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"form-group\\\">\\r\\n\\r\\n                                    <div class=\\\"col-lg-12 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"user_edit.comments\\\" #comments=\\\"ngModel\\\" name=\\\"comments\\\" [disabled]=\\\"edit==false\\\"/>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n\\r\\n                <div class=\\\"col-lg-4 col-sm-6\\\" >\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.setting | translate }}</label>  \\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content wizard\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                           \\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.phone_number_verified | translate }}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                        <ui-switch [disabled]=\\\"edit==false\\\" [(ngModel)]=\\\"user_edit.is_phone_number_verified\\\" #is_phone_number_verified=\\\"ngModel\\\" name=\\\"is_phone_number_verified\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.email_verified | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                        <ui-switch  [disabled]=\\\"edit==false\\\" [(ngModel)]=\\\"user_edit.is_email_verified\\\" #is_email_verified=\\\"ngModel\\\" name=\\\"is_email_verified\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.approved | translate }}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                        <ui-switch [disabled]=\\\"edit==false\\\" [(ngModel)]=\\\"user_edit.is_approved\\\" #is_approved=\\\"ngModel\\\" name=\\\"is_approved\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n                    </div>\\r\\n                    \\r\\n                    \\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.setting | translate }}</label>  \\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content wizard\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                \\r\\n                                 <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.rate | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"user_edit.provider_rate\\\" #provider_rate=\\\"ngModel\\\" name=\\\"provider_rate\\\" disabled/>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                           \\r\\n                               \\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.is_document_uploaded | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                        <ui-switch  [(ngModel)]=\\\"user_edit.is_document_uploaded\\\" #is_document_uploaded=\\\"ngModel\\\" name=\\\"is_document_uploaded\\\" disabled></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                \\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.is_use_wallet | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                        <ui-switch  [(ngModel)]=\\\"user_edit.is_use_wallet\\\" #is_use_wallet=\\\"ngModel\\\" name=\\\"is_use_wallet\\\" disabled></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n                               \\r\\n\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n                    </div>\\r\\n\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n    </div>\\r\\n</form>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/edit_user/edit_user.component.html\n// module id = 1595\n// module chunks = 0","module.exports = \"<form  #emailConfigurationForm=\\\"ngForm\\\" (ngSubmit)=\\\"EmailConfiguration(emailConfigurationForm.value)\\\">\\r\\n    \\r\\n    <div class=\\\"wrapper wrapper-content animated fadeInRight content_top_bar\\\">\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-lg-12\\\">\\r\\n                <div class=\\\"col-lg-10 col-sm-10\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.email_configuration | translate}}</label>  \\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.mail_configuration_email | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"email_configuration.email\\\" #email=\\\"ngModel\\\"  name=\\\"email\\\" required />\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.mail_configuration_password | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"password\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"email_configuration.password\\\" #password=\\\"ngModel\\\"  name=\\\"password\\\" required />\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n\\r\\n                            </div>\\r\\n                            <div class=\\\"row\\\">   \\r\\n                                <div class=\\\"col-lg-4\\\">\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-lg-4\\\" style=\\\"text-align: center;\\\">\\r\\n                                    <input type=\\\"submit\\\" id=\\\"update\\\" name=\\\"update\\\" style=\\\"width: 50%;\\\" class=\\\"btn btn-primary\\\" value=\\\"{{button.update | translate}}\\\" >\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n</form>\\r\\n\\r\\n\\r\\n<form #emailForm=\\\"ngForm\\\" (ngSubmit)=\\\"UpdateEmail(emailForm.value)\\\" >\\r\\n    <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"email_id\\\"   name=\\\"email_id\\\" />\\r\\n    <div class=\\\"wrapper wrapper-content animated fadeInRight\\\" style=\\\"margin-top: -50px;\\\">\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-lg-12\\\">\\r\\n                <div class=\\\"col-lg-10 col-sm-10\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.email_data | translate}}</label>  \\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.email_unique_title | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <select chosen class=\\\"chosen-select\\\" id=\\\"email\\\" [(ngModel)]=\\\"update_email.email_unique_title\\\" #email_unique_title=\\\"ngModel\\\" name=\\\"email\\\" data-placeholder=\\\"Email Content\\\"  tabindex=\\\"4\\\"  >\\r\\n\\r\\n                                            <option *ngFor=\\\"let i of email_list\\\" value=\\\"{{i._id}}\\\">{{i.email_unique_title}}</option>\\r\\n                                        </select> \\r\\n                                    </div> \\r\\n\\r\\n\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.email_title | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"update_email.email_title\\\" #email_title=\\\"ngModel\\\"  name=\\\"email_title\\\" required />\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.email_admin_info | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"update_email.email_admin_info\\\" #email_admin_info=\\\"ngModel\\\"  name=\\\"email_admin_info\\\" required />\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.email_content | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <!-- <editor  [(ngModel)]=\\\"update_email.email_content\\\" #email_content=\\\"ngModel\\\"  name=\\\"email_content\\\"  required></editor> -->\\r\\n                                        <textarea class=\\\"form-control\\\" [(ngModel)]=\\\"update_email.email_content\\\" #email_content=\\\"ngModel\\\"  name=\\\"email_content\\\"  required ></textarea>\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.is_send | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <ui-switch [(ngModel)]=\\\"update_email.is_send\\\" #is_send=\\\"ngModel\\\" name=\\\"is_send\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n\\r\\n                            </div>\\r\\n                            <div class=\\\"row\\\">   \\r\\n                                <div class=\\\"col-lg-4\\\">\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-lg-4\\\" style=\\\"text-align: center;\\\">\\r\\n                                    <input type=\\\"submit\\\" id=\\\"update\\\" name=\\\"update\\\" style=\\\"width: 50%;\\\"  class=\\\"btn btn-primary\\\" value=\\\"{{button.update | translate}}\\\" >\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n</form>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/email/email.component.html\n// module id = 1596\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.search | translate}}</label>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"search_field\\\" [(ngModel)]=\\\"search_field\\\" name=\\\"search_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"name\\\">{{title.filter_name | translate}}</option>\\r\\n                        <option value=\\\"email\\\">{{title.filter_email | translate}}</option>\\r\\n                        <option value=\\\"city_details.city_name\\\">{{title.filter_city | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n\\r\\n                        <input type=\\\"text\\\" class=\\\"form-control search_box\\\" [(ngModel)]=\\\"search_value\\\"  name=\\\"search_value\\\">\\r\\n                        <span class=\\\"input-group-addon search_icon\\\"><span class=\\\"fa fa-search\\\"></span></span>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.sort | translate}}</label>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"sort_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"sort_field\\\" [(ngModel)]=\\\"sort_field\\\" name=\\\"sort_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"unique_id\\\">{{title.filter_id | translate}}</option>\\r\\n                        <option value=\\\"name\\\">{{title.filter_name | translate}}</option>\\r\\n                        <option value=\\\"email\\\">{{title.filter_email | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"sort_orders\\\">\\r\\n\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"sort_store\\\" [(ngModel)]=\\\"sort_store\\\" name=\\\"sort_store\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"1\\\">{{title.ascending | translate}}</option>\\r\\n                        <option value=\\\"-1\\\">{{title.descending | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <!--                        <input type=\\\"button\\\" class=\\\"btn export_excel_btn pull-right\\\" value=\\\"{{button.export_excel}}\\\" >-->\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"filter(1)\\\" class=\\\"btn filter_apply_btn pull-right\\\" value=\\\"{{button.apply | translate}}\\\" >\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n\\r\\n    </div>\\r\\n\\r\\n</div>\\r\\n\\r\\n\\r\\n\\r\\n<div class=\\\"wrapper wrapper-content content_top_bar_view1 animated fadeInRight \\\">    \\r\\n\\r\\n    <div class=\\\"ibox\\\" *ngIf=\\\"franchises_list.length==0\\\">\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n            <div class=\\\"lable_center\\\" >\\r\\n                <label>No Records</label>\\r\\n            </div>\\r\\n        </div> \\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"row\\\" *ngIf=\\\"franchises_list.length > 0\\\">\\r\\n        <div *ngFor=\\\"let i of franchises_list\\\" >\\r\\n            <div class=\\\"col-lg-2 col-md-3 col-sm-6 col-xs-12 user_profile\\\" style=\\\"padding : 0px; padding-right: 16px;\\\">\\r\\n                <div class=\\\"contact-box center-version\\\">\\r\\n\\r\\n                    <a>\\r\\n                        <div class=\\\"dropdown pull-right\\\" dropdown>\\r\\n                            <a class=\\\"pull-right\\\" dropdown-open><i class=\\\"fa fa-ellipsis-v\\\" style=\\\"font-size:20px;color:#676a6c;\\\"></i></a>\\r\\n\\r\\n\\r\\n                            <ul class=\\\"pull-right dropdown-menu animated fadeIntop m-t-xs\\\" dropdown>\\r\\n                                \\r\\n                                <li *ngIf='i.is_approved == true && i.is_business == true' ><a (click)=\\\"approved_decline(store_page_type,i._id)\\\" ><span style=\\\"display:block;\\\" class=\\\"nav-label\\\">{{button.decline | translate}}</span> </a></li>\\r\\n                                <li *ngIf='i.is_approved == false' ><a (click)=\\\"approved_decline(store_page_type,i._id)\\\" ><span style=\\\"display:block;\\\" class=\\\"nav-label\\\">{{button.approved | translate }}</span> </a></li>\\r\\n\\r\\n                                <li *ngIf='i.is_approved == true && i.is_business == false'><a (click)=\\\"approved_decline(store_page_type,i._id)\\\"><span  style=\\\"display:block;\\\" class=\\\"nav-label\\\">{{button.decline | translate}}</span> </a></li>\\r\\n\\r\\n                            </ul>\\r\\n                        </div>\\r\\n                        <img *ngIf='i.image_url!==\\\"\\\"' class=\\\"img-circle\\\" src=\\\"{{i.image_url}}\\\">\\r\\n\\r\\n                        <img *ngIf='i.image_url==\\\"\\\"' class=\\\"img-circle\\\" src=\\\"default.png\\\">\\r\\n\\r\\n                        <div>\\r\\n                            <h3 class=\\\"m-b-xs\\\"><strong>{{i.name}}</strong></h3>\\r\\n\\r\\n                            <div class=\\\"font-bold\\\" style=\\\"height: 50px; overflow-x: hidden;\\\">{{i.email}}</div>\\r\\n\\r\\n                            <!--                            <div style=\\\"height: 60px; overflow-y: hidden;\\\">\\r\\n                                                            <address class=\\\"m-t-md\\\">\\r\\n                                                                {{i.email}}\\r\\n                                                            </address>\\r\\n                                                        </div>-->\\r\\n                            <address class=\\\"m-t-md\\\">\\r\\n                                <strong>{{i.city_details.city_name}}</strong><br>\\r\\n                                <strong>{{i.delivery_details.delivery_name}}</strong><br>\\r\\n                                \\r\\n                                <abbr title=\\\"Phone\\\">{{title.phone | translate}}:</abbr> {{i.country_phone_code + i.phone}}<a class=\\\"btn btn-xs btn-white pull-right\\\" tooltip=\\\"Send SMS\\\"\\r\\n                                                                                                                             [tooltipDisabled]=\\\"false\\\"\\r\\n                                                                                                                             [tooltipAnimation]=\\\"true\\\"\\r\\n                                                                                                                             tooltipPlacement=\\\"top\\\"  (click)=\\\"open_sms_modal(type,i._id)\\\"><i class=\\\"fa fa-comments\\\"></i></a>\\r\\n                            </address>\\r\\n                        </div>\\r\\n\\r\\n                    </a>\\r\\n\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n\\r\\n    </div>\\r\\n    <div class=\\\"ibox\\\" *ngIf=\\\"franchises_list.length>0\\\">\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n            <div class=\\\"row\\\">\\r\\n\\r\\n                <div class=\\\"col-md-12 col-sm-12\\\" style=\\\"margin-top: 6px;\\\">\\r\\n                    <div class=\\\"lable_center\\\">\\r\\n\\r\\n\\r\\n                        <ul class=\\\"pagination\\\">\\r\\n                            <li *ngIf=\\\"page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"filter(page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                            <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page==index\\\">\\r\\n                                <a *ngIf=\\\"index==1 || index==total_page || index==page || index==page-1 || index==page+1\\\" (click)=\\\"filter(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                                <a *ngIf=\\\"(index==1 && (page!==1 && page!==2 && page!==3)) || (index==total_page-1 && (page!==total_page && page!==total_page-1 && page!==total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n\\r\\n                            </li>\\r\\n                            <li *ngIf=\\\"page!==total_page && franchises_list.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"filter(page+1)\\\">{{button.next | translate}}</a></li>\\r\\n                        </ul>\\r\\n\\r\\n\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-sm\\\" #myModal>\\r\\n    <form #modalForm=\\\"ngForm\\\" (ngSubmit)=\\\"AddWallet(modalForm.value)\\\">\\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <h4 class=\\\"modal-title\\\">{{heading_title.add_wallet_amount | translate}}</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div class=\\\"row\\\">\\r\\n                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"type\\\"   name=\\\"type\\\"  />\\r\\n                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"franchises_id\\\"   name=\\\"franchises_id\\\"  />\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                    <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                        <div class=\\\"form-group\\\" >\\r\\n\\r\\n                            <label style=\\\"font-weight: normal;\\\"><strong>{{title.amount}}</strong></label>\\r\\n                            <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"wallet\\\" (keypress)=\\\"helper.number_validation($event)\\\" maxlength=\\\"6\\\" name=\\\"wallet\\\" required>\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{button.save | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\\r\\n\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl\\\" #mysmsModal>\\r\\n    <form #modalSmsForm=\\\"ngForm\\\" (ngSubmit)=\\\"SendSms(modalSmsForm.value)\\\">\\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <h4 class=\\\"modal-title\\\">{{heading_title.admin_sms | translate}}</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div class=\\\"row\\\">\\r\\n                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"type\\\"   name=\\\"type\\\"  />\\r\\n                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"franchises_id\\\"   name=\\\"franchises_id\\\"  />\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                    <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                        <div class=\\\"form-group\\\" >\\r\\n\\r\\n                            <label style=\\\"font-weight: normal;\\\"><strong>{{title.content | translate}}</strong></label>\\r\\n                            <textarea class=\\\"form-control\\\" [(ngModel)]=\\\"content\\\"   name=\\\"content\\\" required ></textarea>\\r\\n\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{button.send | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\\r\\n\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl\\\" #mynotificationModal>\\r\\n    <form #modalNotificationForm=\\\"ngForm\\\" (ngSubmit)=\\\"SendNotification(modalNotificationForm.value)\\\">\\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <h4 class=\\\"modal-title\\\">{{heading_title.admin_send_notification | translate}}</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div class=\\\"row\\\">\\r\\n                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"type\\\"   name=\\\"type\\\"  />\\r\\n                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"franchises_id\\\"   name=\\\"franchises_id\\\"  />\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                    <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                        <div class=\\\"form-group\\\" >\\r\\n\\r\\n                            <label style=\\\"font-weight: normal;\\\"><strong>{{title.notification_content | translate}}</strong></label>\\r\\n                            <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"content\\\" name=\\\"content\\\" required />\\r\\n\\r\\n\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{button.send | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/franchises/franchises.component.html\n// module id = 1597\n// module chunks = 0","module.exports = \"<style type=\\\"text/css\\\">\\r\\n    .scrollbar_for_history {\\r\\n        height: 100%;\\r\\n        background: #fff;\\r\\n        overflow-y: auto;\\r\\n    }\\r\\n    \\r\\n    .scrollbar::-webkit-scrollbar-track {\\r\\n        -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);\\r\\n        background-color: #fff;\\r\\n    }\\r\\n    \\r\\n    .scrollbar::-webkit-scrollbar {\\r\\n        width: 3px;\\r\\n        background-color: #222222;\\r\\n    }\\r\\n    \\r\\n    .scrollbar::-webkit-scrollbar-thumb {\\r\\n        background-color: #000000;\\r\\n    }\\r\\n</style>\\r\\n<footer [myLoading]=\\\"myLoading\\\"></footer>\\r\\n\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.search | translate}}</label>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"search_field\\\" [(ngModel)]=\\\"search_field\\\" name=\\\"search_field\\\" tabindex=\\\"4\\\">\\r\\n                        <option value=\\\"store_name\\\">{{title.store | translate}}</option>\\r\\n                        <option value=\\\"store_unique_id\\\">{{title.store_id | translate}}</option>\\r\\n                        <option value=\\\"provider_unique_id\\\">{{title.hopper_id | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n\\r\\n                        <input type=\\\"text\\\" class=\\\"form-control search_box\\\" [(ngModel)]=\\\"search_value\\\" name=\\\"search_value\\\">\\r\\n                        <span class=\\\"input-group-addon search_icon\\\"><span class=\\\"fa fa-search\\\"></span></span>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <!-- <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"export_pdf()\\\" class=\\\"btn export_excel_btn pull-right\\\" value=\\\"{{button.export_excel | translate}}\\\" >\\r\\n            </div> -->\\r\\n\\t\\t\\t\\r\\n\\t\\t\\t<div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n\\t\\t\\t\\t<div class=\\\"lable_center\\\">\\r\\n\\t\\t\\t\\t\\t<label>{{title.channel | translate}}</label>\\r\\n\\t\\t\\t\\t</div>\\r\\n                <div class=\\\"form-group\\\" id=\\\"platforms\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"platforms\\\" [(ngModel)]=\\\"platforms\\\" name=\\\"platforms\\\" tabindex=\\\"4\\\">\\r\\n                        <option value=\\\"1\\\">{{title.all | translate}}</option>\\r\\n                        <option value=\\\"2\\\">{{title.hop | translate}}</option>\\r\\n                        <option value=\\\"3\\\">{{title.whop | translate}}</option>\\r\\n                        <option value=\\\"4\\\">{{title.odh | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6\\\">\\r\\n                <div class=\\\"lable_center\\\">\\r\\n                    <label>{{title.city | translate}}</label>\\r\\n                </div>\\r\\n                <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"city_id\\\" [(ngModel)]=\\\"city_id\\\" name=\\\"city_id\\\" tabindex=\\\"4\\\">\\r\\n                        <option value=\\\"\\\">{{title.all | translate}}</option>\\r\\n                        <option *ngFor=\\\"let city of city_list\\\" value=\\\"{{city._id}}\\\">{{city.city_name | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n\\t\\t\\t\\r\\n            \\r\\n            <!-- <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"export_excel()\\\" class=\\\"btn export_excel_btn pull-right\\\" value=\\\"{{button.export_excel | translate}}\\\" >\\r\\n            </div> -->\\r\\n        </div>\\r\\n\\t\\t<div class=\\\"col-md-4 col-sm-12\\\">\\r\\n\\t\\t\\t<div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"get_analytics_detail()\\\" class=\\\"btn filter_apply_btn pull-right\\\" value=\\\"{{button.apply | translate}}\\\">\\r\\n            </div>\\r\\n\\t\\t</div>\\r\\n    </div>\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-2 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.date_filter | translate}}</label>\\r\\n            </div>\\r\\n            <div class=\\\"form-group\\\" id=\\\"sort_fields\\\">\\r\\n                <select chosen class=\\\"chosen-select\\\" id=\\\"date_filter\\\" [(ngModel)]=\\\"date_filter\\\" name=\\\"date_filter\\\" tabindex=\\\"4\\\">\\r\\n                    <option value=\\\"today\\\">{{title.today | translate}}</option>\\r\\n                    <option value=\\\"yesterday\\\">{{title.yesterday | translate}}</option>\\r\\n                    <option value=\\\"current_month\\\">{{title.current_month | translate}}</option>\\r\\n                    <option value=\\\"last_month\\\">{{title.last_month | translate}}</option>\\r\\n                    <option value=\\\"custom\\\">{{title.custom | translate}}</option>\\r\\n                </select>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\" *ngIf=\\\"date_filter=='custom'\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.date_filter | translate}}</label>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-12 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n\\r\\n                        <my-date-picker id=\\\"start_date\\\" [options]=\\\"helper.myStartDatePickerOptions\\\" placeholder=\\\"Start Date\\\" [(ngModel)]=\\\"start_date\\\" (dateChanged)=\\\"helper.onStartDateChanged($event)\\\" readonly></my-date-picker>\\r\\n                        <span class=\\\"input-group-addon date_filter_icon\\\">To</span>\\r\\n\\r\\n                        <my-date-picker id=\\\"end_date\\\" [options]=\\\"helper.myEndDatePickerOptions\\\" placeholder=\\\"End Date\\\" [(ngModel)]=\\\"end_date\\\" (dateChanged)=\\\"helper.onEndDateChanged($event)\\\" readonly></my-date-picker>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n<div class=\\\"wrapper wrapper-content animated fadeInRight \\\" id=\\\"analytics_data\\\" style=\\\"margin-top: 200px;\\\">\\r\\n\\r\\n    <div class=\\\"ibox\\\">\\r\\n        <div class=\\\"ibox-title\\\">\\r\\n            <h5>{{helper.sub_menu_title.hopper | translate}}</h5>\\r\\n        </div>\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n\\r\\n            <div class=\\\"row\\\">\\r\\n\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{hopper_analytics_total.average_hopper_earning_per_delivery_time_hour.toFixed(2)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.average_hopper_earning_per_delivery_time_hour | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{hopper_analytics_total.average_order_per_day.toFixed(2)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.average_order_per_day | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{hopper_analytics_total.average_order_per_day_per_hopper.toFixed(2)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.average_order_per_day_per_hopper | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{hopper_analytics_total.average_hopper_earning_per_order.toFixed(2)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.average_hopper_earning_per_order | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{hopper_analytics_total.average_hopper_earning_per_delivery_fee.toFixed(2)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.average_hopper_earning_per_delivery_fee | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{hopper_analytics_total.average_hopper_wait_time.toFixed(0)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">Time to Pickup Order</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\t\\t\\t</div>\\r\\n\\t\\t\\t<div class=\\\"row\\\">\\r\\n\\t\\t\\t\\t<div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{hopper_analytics_total.average_hopper_arrived_at_store_time.toFixed(0)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">Time For Hoppers to Arrive at Store </label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"ibox\\\">\\r\\n        <div class=\\\"ibox-title\\\">\\r\\n            <h5>{{helper.title.order | translate}}</h5>\\r\\n        </div>\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n\\r\\n            <div class=\\\"row\\\">\\r\\n\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{usual_analytics_total.total_order.toFixed(0)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.total_order | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{usual_analytics_total.total_new_user_order.toFixed(0)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.total_new_user_order | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{usual_analytics_total.total_old_user_order.toFixed(0)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.total_old_user_order | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{usual_analytics_total.average_amount_spend_user.toFixed(2)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.average_amount_spend_user | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{usual_analytics_total.average_price.toFixed(2)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.average_price | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"row\\\">\\r\\n\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{usual_analytics_total.total_reorder_user.toFixed(0)}} ({{((usual_analytics_total.total_reorder_user*100)/usual_analytics_total.total_user).toFixed(2)}}%)</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.total_reorder_user | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{usual_analytics_total.never_reorder_user.toFixed(0)}} ({{((usual_analytics_total.never_reorder_user*100)/usual_analytics_total.total_user).toFixed(2)}}%)</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.never_reorder_user | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{usual_analytics_total.average_days_reorder.toFixed(2)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.average_days_reorder | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>-</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.reorder_before_one_month | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{((general_analytics_total.total_user_never_order*100)/general_analytics_total.total_user).toFixed(2)}}%</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.never_order | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{((general_analytics_total.total_user_never_order_after_one_month_reg*100)/general_analytics_total.total_user).toFixed(2)}}%</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.never_order_one_month | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"row\\\">\\r\\n\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{usual_analytics_total.morning_order.toFixed(0)}} ({{((usual_analytics_total.morning_order*100)/usual_analytics_total.total_order).toFixed(2)}}%)</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.morning_order | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{usual_analytics_total.noon_order.toFixed(0)}} ({{((usual_analytics_total.noon_order*100)/usual_analytics_total.total_order).toFixed(2)}}%)</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.noon_order | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{usual_analytics_total.after_noon_order.toFixed(0)}} ({{((usual_analytics_total.after_noon_order*100)/usual_analytics_total.total_order).toFixed(2)}}%)</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.after_noon_order | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{usual_analytics_total.night_order.toFixed(0)}} ({{((usual_analytics_total.night_order*100)/usual_analytics_total.total_order).toFixed(2)}}%)</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.night_order | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"ibox\\\">\\r\\n        <div class=\\\"ibox-title\\\">\\r\\n            <h5>{{helper.sub_menu_title.preparation | translate}}</h5>\\r\\n        </div>\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{usual_analytics_total.average_time_for_preparation.toFixed(0)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.average_time_for_preparation | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{usual_analytics_total.total_preparation_time_under_15.toFixed(2)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.total_preparation_time_under_15 | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\t\\t\\t\\t<div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{usual_analytics_total.total_preparation_time_under_30.toFixed(2)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.total_preparation_time_under_30 | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{usual_analytics_total.total_preparation_time_under_45.toFixed(2)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.total_preparation_time_under_45 | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{usual_analytics_total.total_preparation_time_under_60.toFixed(2)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.total_preparation_time_under_60 | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{usual_analytics_total.total_preparation_time_over_60.toFixed(2)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.total_preparation_time_over_60 | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"ibox\\\">\\r\\n        <div class=\\\"ibox-title\\\">\\r\\n            <h5>{{helper.sub_menu_title.delivery | translate}}</h5>\\r\\n        </div>\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{usual_analytics_total.average_time_for_delivery.toFixed(0)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.average_time_for_delivery | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{usual_analytics_total.total_delivery_time_under_15.toFixed(2)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.total_delivery_time_under_15 | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\t\\t\\t\\t<div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{usual_analytics_total.total_delivery_time_under_30.toFixed(2)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.total_delivery_time_under_30 | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{usual_analytics_total.total_delivery_time_under_45.toFixed(2)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.total_delivery_time_under_45 | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{usual_analytics_total.total_delivery_time_under_60.toFixed(2)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.total_delivery_time_under_60 | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{usual_analytics_total.total_delivery_time_over_60.toFixed(2)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.total_delivery_time_over_60 | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n\\r\\n\\t\\t\\t<div class=\\\"row\\\">\\r\\n\\t\\t\\t\\t<div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{usual_analytics_total.total_advance_delivered_order.toFixed(2)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.total_advance_delivered_order | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n\\t\\t\\t\\t<div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{usual_analytics_total.total_advance_delivered_on_time.toFixed(2)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.total_advance_delivered_on_time | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n\\t\\t\\t\\t<div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{usual_analytics_total.total_advance_delivered_late.toFixed(2)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.total_advance_delivered_late | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n\\t\\t\\t\\t<div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{usual_analytics_total.total_advance_delivered_very_late.toFixed(2)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.total_advance_delivered_very_late | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n\\t\\t\\t</div>\\r\\n\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{usual_analytics_total.average_distance_for_delivery.toFixed(2)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.average_distance_for_delivery | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{usual_analytics_total.total_distance_under_1.toFixed(2)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.total_distance_under_1 | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{usual_analytics_total.total_distance_under_2.toFixed(2)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.total_distance_under_2 | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{usual_analytics_total.total_distance_under_3.toFixed(2)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.total_distance_under_3 | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{usual_analytics_total.total_distance_under_4.toFixed(2)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.total_distance_under_4 | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{usual_analytics_total.total_distance_under_5.toFixed(2)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.total_distance_under_5 | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{usual_analytics_total.total_distance_under_6.toFixed(2)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.total_distance_under_6 | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{usual_analytics_total.total_distance_under_7.toFixed(2)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.total_distance_under_7 | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{usual_analytics_total.total_distance_under_8.toFixed(2)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.total_distance_under_8 | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{usual_analytics_total.total_distance_under_9.toFixed(2)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.total_distance_under_9 | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{usual_analytics_total.total_distance_under_10.toFixed(2)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.total_distance_under_10 | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{usual_analytics_total.total_distance_over_10.toFixed(2)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.total_distance_over_10 | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/general_analytics/general_analytics.component.html\n// module id = 1598\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n<form #keyForm=\\\"ngForm\\\" (ngSubmit)=\\\"UpdateAppKeySetting(keyForm.value)\\\" >\\r\\n    <div class=\\\"panel-body\\\">\\r\\n\\r\\n        <fieldset class=\\\"form-horizontal\\\">\\r\\n            <div class=\\\"form-group\\\"><label class=\\\"col-sm-3 control-label\\\">{{title.android_user_app_gcm_key | translate}}:</label>\\r\\n                <div class=\\\"col-sm-9\\\"><input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"update_app_key_setting.android_user_app_gcm_key\\\" #android_user_app_gcm_key=\\\"ngModel\\\"  name=\\\"android_user_app_gcm_key\\\"   placeholder=\\\"\\\"></div>\\r\\n            </div>\\r\\n            <div class=\\\"form-group\\\"><label class=\\\"col-sm-3 control-label\\\">{{title.android_provider_app_gcm_key | translate}}:</label>\\r\\n                <div class=\\\"col-sm-9\\\"><input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"update_app_key_setting.android_provider_app_gcm_key\\\" #android_provider_app_gcm_key=\\\"ngModel\\\"  name=\\\"android_provider_app_gcm_key\\\"  placeholder=\\\"\\\"></div>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"form-group\\\"><label class=\\\"col-sm-3 control-label\\\">{{title.android_store_app_gcm_key | translate}}:</label>\\r\\n                <div class=\\\"col-sm-9\\\"><input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"update_app_key_setting.android_store_app_gcm_key\\\" #android_store_app_gcm_key=\\\"ngModel\\\"  name=\\\"android_store_app_gcm_key\\\"  placeholder=\\\"\\\"></div>\\r\\n            </div>\\r\\n            <div class=\\\"form-group\\\"><label class=\\\"col-sm-3 control-label\\\">{{title.android_user_app_google_key | translate}}:</label>\\r\\n                <div class=\\\"col-sm-9\\\"><input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"update_app_key_setting.android_user_app_google_key\\\" #android_user_app_google_key=\\\"ngModel\\\"  name=\\\"android_user_app_google_key\\\"  placeholder=\\\"\\\"></div>\\r\\n            </div>\\r\\n            <div class=\\\"form-group\\\"><label class=\\\"col-sm-3 control-label\\\">{{title.android_provider_app_google_key | translate}}:</label>\\r\\n                <div class=\\\"col-sm-9\\\"><input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"update_app_key_setting.android_provider_app_google_key\\\" #android_provider_app_google_key=\\\"ngModel\\\"  name=\\\"android_provider_app_google_key\\\"  placeholder=\\\"\\\"></div>\\r\\n            </div>\\r\\n\\r\\n\\r\\n            <div class=\\\"form-group\\\"><label class=\\\"col-sm-3 control-label\\\">{{title.android_store_app_google_key | translate}}:</label>\\r\\n                <div class=\\\"col-sm-9\\\"><input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"update_app_key_setting.android_store_app_google_key\\\" #android_store_app_google_key=\\\"ngModel\\\"  name=\\\"android_store_app_google_key\\\"  placeholder=\\\"\\\"></div>\\r\\n            </div>\\r\\n            <div class=\\\"form-group\\\"><label class=\\\"col-sm-3 control-label\\\">{{title.ios_user_app_google_key | translate}}:</label>\\r\\n                <div class=\\\"col-sm-9\\\"><input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"update_app_key_setting.ios_user_app_google_key\\\" #ios_user_app_google_key=\\\"ngModel\\\"  name=\\\"ios_user_app_google_key\\\"  placeholder=\\\"\\\"></div>\\r\\n            </div>\\r\\n\\r\\n\\r\\n            <div class=\\\"form-group\\\"><label class=\\\"col-sm-3 control-label\\\">{{title.ios_provider_app_google_key | translate}}:</label>\\r\\n                <div class=\\\"col-sm-9\\\"><input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"update_app_key_setting.ios_provider_app_google_key\\\" #ios_provider_app_google_key=\\\"ngModel\\\"  name=\\\"ios_provider_app_google_key\\\"  placeholder=\\\"\\\"></div>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"form-group\\\"><label class=\\\"col-sm-3 control-label\\\">{{title.ios_store_app_google_key | translate}}:</label>\\r\\n                <div class=\\\"col-sm-9\\\"><input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"update_app_key_setting.ios_store_app_google_key\\\" #ios_store_app_google_key=\\\"ngModel\\\"  name=\\\"ios_store_app_google_key\\\"  placeholder=\\\"\\\"></div>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"form-group\\\"><label class=\\\"col-sm-3 control-label\\\">{{title.admin_panel_google_key | translate}}:</label>\\r\\n                <div class=\\\"col-sm-9\\\"><input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"update_app_key_setting.admin_panel_google_key\\\" #admin_panel_google_key=\\\"ngModel\\\"  name=\\\"admin_panel_google_key\\\"  placeholder=\\\"\\\"></div>\\r\\n            </div>\\r\\n            <div class=\\\"form-group\\\"><label class=\\\"col-sm-3 control-label\\\">{{title.store_panel_google_key | translate}}:</label>\\r\\n                <div class=\\\"col-sm-9\\\"><input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"update_app_key_setting.store_panel_google_key\\\" #store_panel_google_key=\\\"ngModel\\\"  name=\\\"store_panel_google_key\\\"  placeholder=\\\"\\\"></div>\\r\\n            </div>\\r\\n\\r\\n\\r\\n            <div class=\\\"form-group\\\"><label class=\\\"col-sm-3 control-label\\\">{{title.branch_io_key | translate}}:</label>\\r\\n                <div class=\\\"col-sm-9\\\"><input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"update_app_key_setting.branch_io_key\\\" #branch_io_key=\\\"ngModel\\\"  name=\\\"branch_io_key\\\"  placeholder=\\\"\\\"></div>\\r\\n            </div>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n            <div class=\\\"col-lg-4\\\">\\r\\n            </div>\\r\\n            <div class=\\\"col-lg-4\\\" style=\\\"text-align: center;\\\">\\r\\n                <input type=\\\"submit\\\" id=\\\"submit\\\" [disabled]=\\\"edit_button==false\\\" name=\\\"submit\\\" style=\\\"width: 50%;\\\" class=\\\"btn btn-primary\\\" value=\\\"{{button.submit | translate}}\\\" >\\r\\n            </div>\\r\\n\\r\\n\\r\\n\\r\\n        </fieldset>\\r\\n\\r\\n\\r\\n\\r\\n    </div>\\r\\n</form> \\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/google_key_setting/google_key_setting.component.html\n// module id = 1599\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\"></footer>\\r\\n\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n  <div class=\\\"row\\\">\\r\\n    <div class=\\\"col-md-2 col-sm-12 remove_padding\\\">\\r\\n      <div>\\r\\n        <label>{{ title.date_filter | translate }}</label>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-12 remove_padding\\\">\\r\\n        <div class=\\\"form-group\\\">\\r\\n          <div class=\\\"input-group\\\">\\r\\n            <my-date-picker\\r\\n              id=\\\"start_date\\\"\\r\\n              [options]=\\\"helper.myStartDatePickerOptions\\\"\\r\\n              placeholder=\\\"Start Date\\\"\\r\\n              [(ngModel)]=\\\"helper.router_id.history_filter.start_date\\\"\\r\\n              (dateChanged)=\\\"helper.onStartDateChanged($event)\\\"\\r\\n              readonly\\r\\n            ></my-date-picker>\\r\\n            <span class=\\\"input-group-addon date_filter_icon\\\">{{\\r\\n              button.to\\r\\n            }}</span>\\r\\n\\r\\n            <my-date-picker\\r\\n              id=\\\"end_date\\\"\\r\\n              [options]=\\\"helper.myEndDatePickerOptions\\\"\\r\\n              placeholder=\\\"End Date\\\"\\r\\n              [(ngModel)]=\\\"helper.router_id.history_filter.end_date\\\"\\r\\n              (dateChanged)=\\\"helper.onEndDateChanged($event)\\\"\\r\\n              readonly\\r\\n            ></my-date-picker>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n\\r\\n    <div\\r\\n      class=\\\"col-md-3 col-sm-12\\\"\\r\\n      [hidden]=\\\"user_detail || store_detail || provider_detail\\\"\\r\\n    >\\r\\n      <div>\\r\\n        <label>{{ title.search | translate }}</label>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-4 col-sm-4 remove_padding\\\">\\r\\n        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"search_field\\\"\\r\\n            [(ngModel)]=\\\"helper.router_id.history_filter.search_field\\\"\\r\\n            name=\\\"search_field\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <option value=\\\"unique_id\\\">{{ title.filter_id | translate }}</option>\\r\\n            <option value=\\\"user_first_name\\\">\\r\\n              {{ title.filter_user | translate }}\\r\\n            </option>\\r\\n            <option value=\\\"provider_first_name\\\">\\r\\n              {{ title.filter_provider | translate }}\\r\\n            </option>\\r\\n            <option value=\\\"store_name\\\">\\r\\n              {{ title.filter_store | translate }}\\r\\n            </option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-8 col-sm-8 remove_padding\\\">\\r\\n        <div class=\\\"form-group\\\">\\r\\n          <div class=\\\"input-group\\\">\\r\\n            <input\\r\\n              type=\\\"text\\\"\\r\\n              class=\\\"form-control search_box\\\"\\r\\n              [(ngModel)]=\\\"helper.router_id.history_filter.search_value\\\"\\r\\n              #store_open_time=\\\"ngModel\\\"\\r\\n              name=\\\"search_value\\\"\\r\\n            />\\r\\n            <span class=\\\"input-group-addon search_icon\\\"\\r\\n              ><span class=\\\"fa fa-search\\\"></span\\r\\n            ></span>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"col-md-3 col-sm-12\\\" *ngIf=\\\"user_detail\\\">\\r\\n      <div>\\r\\n        <label>{{ title.user | translate }}</label>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n        {{ user_detail.first_name }} {{ user_detail.last_name }} ({{\\r\\n          user_detail.phone\\r\\n        }}) <br />\\r\\n        {{ user_detail.email }}\\r\\n      </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"col-md-3 col-sm-12\\\" *ngIf=\\\"store_detail\\\">\\r\\n      <div>\\r\\n        <label>{{ title.store | translate }}</label>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n        {{ store_detail.name }} ({{ store_detail.phone }}) <br />\\r\\n        {{ store_detail.email }}\\r\\n      </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"col-md-3 col-sm-12\\\" *ngIf=\\\"provider_detail\\\">\\r\\n      <div>\\r\\n        <label>{{ title.provider | translate }}</label>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n        {{ provider_detail.first_name }} {{ provider_detail.last_name }} ({{\\r\\n          provider_detail.phone\\r\\n        }}) <br />\\r\\n        {{ provider_detail.email }}\\r\\n      </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"col-md-6 col-sm-12\\\">\\r\\n      <div class=\\\"col-md-3 col-sm-3 remove_padding\\\">\\r\\n        <div>\\r\\n          <label>{{ title.status | translate }}</label>\\r\\n        </div>\\r\\n        <div class=\\\"form-group\\\" id=\\\"sort_fields\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"order_status_id\\\"\\r\\n            [(ngModel)]=\\\"order_status_id\\\"\\r\\n            name=\\\"order_status_id\\\"\\r\\n          >\\r\\n            <option value=\\\"\\\">{{ title.all | translate }}</option>\\r\\n            <option value=\\\"2\\\">{{ title.pws_cancelled | translate }}</option>\\r\\n            <option value=\\\"3\\\">{{ title.rejected | translate }}</option>\\r\\n            <option value=\\\"10\\\">{{ title.completed | translate }}</option>\\r\\n            <option value=\\\"27\\\">\\r\\n              {{ title.completed_by_other | translate }}\\r\\n            </option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-3 col-sm-3\\\">\\r\\n        <div>\\r\\n          <label>{{ title.payment_mode | translate }}</label>\\r\\n        </div>\\r\\n        <div class=\\\"form-group\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"payment_status\\\"\\r\\n            [(ngModel)]=\\\"payment_status\\\"\\r\\n            name=\\\"payment_status\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <option value=\\\"all\\\">{{ title.all | translate }}</option>\\r\\n            <option value=\\\"false\\\">{{ title.card | translate }}</option>\\r\\n            <option value=\\\"true\\\">{{ title.cash | translate }}</option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-2 col-sm-3 remove_padding\\\">\\r\\n        <div>\\r\\n          <label>{{ title.order_type | translate }}</label>\\r\\n        </div>\\r\\n        <div class=\\\"form-group\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"order_type\\\"\\r\\n            [(ngModel)]=\\\"order_type\\\"\\r\\n            name=\\\"order_type\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <option value=\\\"both\\\">{{ title.both | translate }}</option>\\r\\n            <option value=\\\"false\\\">{{ title.asap | translate }}</option>\\r\\n            <option value=\\\"true\\\">{{ title.schedule | translate }}</option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-2 col-sm-3\\\">\\r\\n        <div>\\r\\n          <label>{{ title.pickup | translate }}</label>\\r\\n        </div>\\r\\n        <div class=\\\"form-group\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"pickup_type\\\"\\r\\n            [(ngModel)]=\\\"pickup_type\\\"\\r\\n            name=\\\"pickup_type\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <option value=\\\"both\\\">{{ title.both | translate }}</option>\\r\\n            <option value=\\\"true\\\">{{ title.user | translate }}</option>\\r\\n            <option value=\\\"false\\\">{{ title.deliveryman | translate }}</option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-2 col-sm-2 remove_padding\\\">\\r\\n        <div>\\r\\n          <label>{{ title.created_by | translate }}</label>\\r\\n        </div>\\r\\n        <div class=\\\"form-group\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"created_by\\\"\\r\\n            [(ngModel)]=\\\"created_by\\\"\\r\\n            name=\\\"created_by\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <option value=\\\"both\\\">{{ title.both | translate }}</option>\\r\\n            <option value=\\\"{{ helper.ADMIN_DATA_ID.USER }}\\\">\\r\\n              {{ title.user | translate }}\\r\\n            </option>\\r\\n            <option value=\\\"{{ helper.ADMIN_DATA_ID.STORE }}\\\">\\r\\n              {{ title.store | translate }}\\r\\n            </option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n    <div class=\\\"col-md-1 col-sm-12 remove_padding\\\">\\r\\n      <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n        <button\\r\\n          type=\\\"button\\\"\\r\\n          (click)=\\\"store_history(1)\\\"\\r\\n          class=\\\"btn filter_apply_btn\\\"\\r\\n          style=\\\"width: unset\\\"\\r\\n        >\\r\\n          <span class=\\\"fa fa-search\\\"></span>\\r\\n        </button>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n        <button\\r\\n          type=\\\"button\\\"\\r\\n          (click)=\\\"history_export_csv()\\\"\\r\\n          class=\\\"btn export_excel_btn\\\"\\r\\n          style=\\\"width: unset\\\"\\r\\n        >\\r\\n          <span class=\\\"fa fa-file-excel-o\\\"></span>\\r\\n        </button>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n</div>\\r\\n<div class=\\\"wrapper content_top_bar_view1 wrapper-content\\\">\\r\\n  <div class=\\\"row\\\">\\r\\n    <div class=\\\"col-md-8\\\">\\r\\n      <div class=\\\"ibox\\\">\\r\\n        <div class=\\\"ibox-content\\\" style=\\\"padding-bottom: 40px\\\">\\r\\n          <div\\r\\n            class=\\\"table-responsive scrollbar\\\"\\r\\n            style=\\\"height: calc(100vh - 255px); overflow: auto\\\"\\r\\n          >\\r\\n            <table class=\\\"table\\\">\\r\\n              <thead>\\r\\n                <tr>\\r\\n                  <th>{{ title.id | translate }}</th>\\r\\n                  <th>{{ title.user | translate }}</th>\\r\\n                  <th>{{ title.provider | translate }}</th>\\r\\n                  <th>{{ title.store | translate }}</th>\\r\\n                  <th>{{ title.date | translate }}</th>\\r\\n                  <th>{{ title.total | translate }}</th>\\r\\n                  <th>{{ title.status | translate }}</th>\\r\\n                  <th>{{ title.action | translate }}</th>\\r\\n                </tr>\\r\\n              </thead>\\r\\n              <tbody>\\r\\n                <tr\\r\\n                  *ngFor=\\\"\\r\\n                    let order of order_list;\\r\\n                    let index = index;\\r\\n                    let last = last\\r\\n                  \\\"\\r\\n                  [class.selected_tr]=\\\"order._id == order_detail._id\\\"\\r\\n                  (click)=\\\"\\r\\n                    get_order_detail(order._id, order.user_id, order.store_id)\\r\\n                  \\\"\\r\\n                >\\r\\n                  <td>{{ order.unique_id }}</td>\\r\\n                  <td>\\r\\n                    {{ order.user_first_name }} {{ order.user_last_name }}\\r\\n                  </td>\\r\\n                  <td>\\r\\n                    <div>\\r\\n                      {{ order.provider_first_name }}\\r\\n                      {{ order.provider_last_name }}\\r\\n                    </div>\\r\\n                  </td>\\r\\n                  <td>{{ order.store_name }}</td>\\r\\n                  <td>\\r\\n                    {{\\r\\n                      moment(order.completed_at)\\r\\n                        .tz(\\r\\n                          order.timezone !== undefined\\r\\n                            ? order.timezone\\r\\n                            : \\\"Asia/Kolkata\\\"\\r\\n                        )\\r\\n                        .format(\\\"DD MMM YYYY HH:mm a\\\")\\r\\n                    }}\\r\\n                  </td>\\r\\n                  <td>\\r\\n                    <span *ngIf=\\\"order.total\\\">{{\\r\\n                      order.total.toFixed(2)\\r\\n                    }}</span>\\r\\n                  </td>\\r\\n                  <td [ngSwitch]=\\\"order.order_status\\\">\\r\\n                    <div *ngSwitchCase=\\\"ORDER_STATE.STORE_REJECTED\\\">\\r\\n                      <span class=\\\"label label-danger\\\">{{\\r\\n                        status.rejected1 | translate\\r\\n                      }}</span>\\r\\n                    </div>\\r\\n                    <div *ngSwitchCase=\\\"ORDER_STATE.STORE_CANCELLED\\\">\\r\\n                      <span class=\\\"label label-danger\\\">{{\\r\\n                        status.store_cancelled | translate\\r\\n                      }}</span>\\r\\n                    </div>\\r\\n                    <div *ngSwitchCase=\\\"ORDER_STATE.NO_DELIVERY_MAN_FOUND\\\">\\r\\n                      <span class=\\\"label label-danger\\\">{{\\r\\n                        status.no_delivery_man_found1 | translate\\r\\n                      }}</span>\\r\\n                    </div>\\r\\n                    <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_REJECTED\\\">\\r\\n                      <span class=\\\"label label-danger\\\">{{\\r\\n                        status.delivery_man_rejected1 | translate\\r\\n                      }}</span>\\r\\n                    </div>\\r\\n                    <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_CANCELLED\\\">\\r\\n                      <span class=\\\"label label-danger\\\">{{\\r\\n                        status.delivery_man_cancelled1 | translate\\r\\n                      }}</span>\\r\\n                    </div>\\r\\n                    <div *ngSwitchCase=\\\"ORDER_STATE.CANCELED_BY_USER\\\">\\r\\n                      <span class=\\\"label label-danger\\\">{{\\r\\n                        status.user_cancelled | translate\\r\\n                      }}</span>\\r\\n                    </div>\\r\\n                    <div *ngSwitchCase=\\\"ORDER_STATE.ADMIN_CANCELLED\\\">\\r\\n                      <span class=\\\"label label-danger\\\">{{\\r\\n                        status.admin_cancelled | translate\\r\\n                      }}</span>\\r\\n                    </div>\\r\\n                    <div\\r\\n                      *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_COMPLETE_DELIVERY\\\"\\r\\n                    >\\r\\n                      <span class=\\\"label label-primary\\\">{{\\r\\n                        status.order_delivered | translate\\r\\n                      }}</span>\\r\\n                    </div>\\r\\n                    <div *ngSwitchCase=\\\"ORDER_STATE.ORDER_COMPLETED\\\">\\r\\n                      <span class=\\\"label label-primary\\\">{{\\r\\n                        status.completed | translate\\r\\n                      }}</span>\\r\\n                    </div>\\r\\n                    <div *ngSwitchCase=\\\"ORDER_STATE.ORDER_COMPLETED_BY_OTHER\\\">\\r\\n                      <span class=\\\"label label-primary\\\">{{\\r\\n                        status.completed_by_other | translate\\r\\n                      }}</span>\\r\\n                    </div>\\r\\n                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.ADMIN_EDIT_ADDRESS\\\">\\r\\n                      <span>{{\\r\\n                        helper.status.admin_edit_address | translate\\r\\n                      }}</span>\\r\\n                    </p>\\r\\n                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.ADMIN_EDIT_ORDER\\\">\\r\\n                      <span>{{\\r\\n                        helper.status.admin_edit_order | translate\\r\\n                      }}</span>\\r\\n                    </p>\\r\\n                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_EDIT_ORDER\\\">\\r\\n                      <span>{{\\r\\n                        helper.status.store_edit_order | translate\\r\\n                      }}</span>\\r\\n                    </p>\\r\\n                  </td>\\r\\n                  <td class=\\\"text-left footable-visible footable-last-column\\\">\\r\\n                    <div class=\\\"btn-group\\\">\\r\\n                      <button\\r\\n                        (click)=\\\"open_detail_modal(index)\\\"\\r\\n                        class=\\\"btn btn-xs btn-light_black\\\"\\r\\n                      >\\r\\n                        {{ helper.button.detail | translate }}\\r\\n                      </button>\\r\\n                      <button\\r\\n                        (click)=\\\"delete_order(order._id)\\\"\\r\\n                        class=\\\"btn btn-xs btn-danger\\\"\\r\\n                      >\\r\\n                        {{ button.delete | translate }}\\r\\n                      </button>\\r\\n                      <button\\r\\n                        *ngIf=\\\"\\r\\n                          !order.is_hopper_on_demand && !order.is_hubrise_order\\r\\n                        \\\"\\r\\n                        (click)=\\\"editOrder(order.store_id, order._id)\\\"\\r\\n                        class=\\\"btn btn-xs btn-light_black\\\"\\r\\n                      >\\r\\n                        {{ helper.button.edit | translate }}\\r\\n                      </button>\\r\\n                    </div>\\r\\n                  </td>\\r\\n                </tr>\\r\\n              </tbody>\\r\\n            </table>\\r\\n          </div>\\r\\n          <div class=\\\"col-md-12 col-sm-12\\\" style=\\\"margin-top: 6px\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n              <ul class=\\\"pagination\\\">\\r\\n                <li *ngIf=\\\"helper.router_id.history_filter.page !== 1\\\">\\r\\n                  <a\\r\\n                    class=\\\"btn\\\"\\r\\n                    (click)=\\\"\\r\\n                      store_history(helper.router_id.history_filter.page - 1)\\r\\n                    \\\"\\r\\n                    >{{ button.pre | translate }}</a\\r\\n                  >\\r\\n                </li>\\r\\n                <li\\r\\n                  *ngFor=\\\"let index of total_pages\\\"\\r\\n                  [class.active]=\\\"helper.router_id.history_filter.page == index\\\"\\r\\n                >\\r\\n                  <a\\r\\n                    *ngIf=\\\"\\r\\n                      index == 1 ||\\r\\n                      index == total_page ||\\r\\n                      index == helper.router_id.history_filter.page ||\\r\\n                      index == helper.router_id.history_filter.page - 1 ||\\r\\n                      index == helper.router_id.history_filter.page + 1\\r\\n                    \\\"\\r\\n                    (click)=\\\"store_history(index)\\\"\\r\\n                    class=\\\"btn\\\"\\r\\n                    >{{ index }}</a\\r\\n                  >\\r\\n                  <a\\r\\n                    *ngIf=\\\"\\r\\n                      (index == 1 &&\\r\\n                        helper.router_id.history_filter.page !== 1 &&\\r\\n                        helper.router_id.history_filter.page !== 2 &&\\r\\n                        helper.router_id.history_filter.page !== 3) ||\\r\\n                      (index == total_page - 1 &&\\r\\n                        helper.router_id.history_filter.page !== total_page &&\\r\\n                        helper.router_id.history_filter.page !==\\r\\n                          total_page - 1 &&\\r\\n                        helper.router_id.history_filter.page !== total_page - 2)\\r\\n                    \\\"\\r\\n                    class=\\\"btn\\\"\\r\\n                    >...</a\\r\\n                  >\\r\\n                </li>\\r\\n                <li\\r\\n                  *ngIf=\\\"\\r\\n                    helper.router_id.history_filter.page !== total_page &&\\r\\n                    order_list.length !== 0\\r\\n                  \\\"\\r\\n                >\\r\\n                  <a\\r\\n                    class=\\\"btn\\\"\\r\\n                    (click)=\\\"\\r\\n                      store_history(helper.router_id.history_filter.page + 1)\\r\\n                    \\\"\\r\\n                    >{{ button.next | translate }}</a\\r\\n                  >\\r\\n                </li>\\r\\n              </ul>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n    <div class=\\\"col-md-4\\\" *ngIf=\\\"order_detail && order_detail.user_detail\\\">\\r\\n      <div class=\\\"ibox\\\">\\r\\n        <div\\r\\n          class=\\\"ibox-content scrollbar\\\"\\r\\n          style=\\\"height: calc(100vh - 205px); overflow: auto\\\"\\r\\n        >\\r\\n          <div *ngIf=\\\"order_detail.cart_detail\\\">\\r\\n            <label\\r\\n              ><span class=\\\"fa fa-map-marker\\\" style=\\\"margin-right: 5px\\\"></span\\r\\n              >{{ title.delivery_address | translate }}\\r\\n              <span\\r\\n                *ngIf=\\\"order_detail.is_schedule_order\\\"\\r\\n                class=\\\"fa fa-clock-o product_arrow\\\"\\r\\n              ></span>\\r\\n              <span\\r\\n                *ngIf=\\\"order_detail.order_payment_detail.is_user_pick_up_order\\\"\\r\\n                class=\\\"fa fa-user product_arrow\\\"\\r\\n              ></span>\\r\\n            </label>\\r\\n            <button\\r\\n              *ngIf=\\\"\\r\\n                order_detail.order_status_id == helper.ORDER_STATUS_ID.COMPLETED\\r\\n              \\\"\\r\\n              (click)=\\\"show_review(order_detail._id)\\\"\\r\\n              class=\\\"btn btn-xs btn-light_black pull-right\\\"\\r\\n              style=\\\"margin-left: 3px\\\"\\r\\n            >\\r\\n              {{ button.reviews | translate }}\\r\\n            </button>\\r\\n\\r\\n            <button\\r\\n              *ngIf=\\\"!order_detail.is_hopper_on_demand\\\"\\r\\n              (click)=\\\"reorder(order_detail._id)\\\"\\r\\n              class=\\\"btn btn-xs btn-light_black pull-right\\\"\\r\\n              style=\\\"margin-left: 3px\\\"\\r\\n            >\\r\\n              reorder\\r\\n            </button>\\r\\n            <button\\r\\n              *ngIf=\\\"\\r\\n                order_detail.order_status_id ==\\r\\n                  helper.ORDER_STATUS_ID.COMPLETED &&\\r\\n                order_detail.order_payment_detail.is_user_pick_up_order\\r\\n              \\\"\\r\\n              (click)=\\\"edit_address(order_detail._id)\\\"\\r\\n              class=\\\"btn btn-xs btn-light_black pull-right\\\"\\r\\n              style=\\\"margin-left: 3px\\\"\\r\\n            >\\r\\n              Create Delivery Order\\r\\n            </button>\\r\\n            <button\\r\\n              *ngIf=\\\"\\r\\n                order_detail.order_status_id ==\\r\\n                  helper.ORDER_STATUS_ID.COMPLETED &&\\r\\n                !order_detail.order_payment_detail.is_user_pick_up_order\\r\\n              \\\"\\r\\n              (click)=\\\"edit_address(order_detail._id)\\\"\\r\\n              class=\\\"btn btn-xs btn-light_black pull-right\\\"\\r\\n              style=\\\"margin-left: 3px\\\"\\r\\n            >\\r\\n              {{ button.edit_address | translate }}\\r\\n            </button>\\r\\n\\r\\n            <button\\r\\n              *ngIf=\\\"\\r\\n                !order_detail.is_store_deleted &&\\r\\n                order_detail.order_status_id == helper.ORDER_STATUS_ID.COMPLETED\\r\\n              \\\"\\r\\n              (click)=\\\"delete_store_order(order_detail._id)\\\"\\r\\n              class=\\\"btn btn-xs btn-danger pull-right\\\"\\r\\n              style=\\\"margin-left: 3px\\\"\\r\\n            >\\r\\n              {{ button.delete | translate }}\\r\\n            </button>\\r\\n\\r\\n            <div style=\\\"margin-left: 10px\\\">\\r\\n              {{ order_detail.cart_detail.destination_addresses[0].address }}\\r\\n            </div>\\r\\n          </div>\\r\\n\\r\\n          <div class=\\\"row\\\" style=\\\"margin-top: 10px\\\">\\r\\n            <div class=\\\"col-md-4\\\">\\r\\n              <img\\r\\n                style=\\\"width: 80px; height: 80px\\\"\\r\\n                class=\\\"img-circle m-t-xs\\\"\\r\\n                src=\\\"{{\\r\\n                  order_detail.user_detail.image_url != ''\\r\\n                    ? helper.CONSTANT.IMAGE_BASE_URL +\\r\\n                      order_detail.user_detail.image_url\\r\\n                    : helper.CONSTANT.IMAGE_BASE_URL + 'default.png'\\r\\n                }}\\\"\\r\\n              />\\r\\n            </div>\\r\\n            <div class=\\\"col-md-8\\\">\\r\\n              <label>{{ heading_title.order_by | translate }}</label>\\r\\n              <div>\\r\\n                {{\\r\\n                  order_detail.user_detail.first_name +\\r\\n                    \\\" \\\" +\\r\\n                    order_detail.user_detail.last_name\\r\\n                }}\\r\\n                ({{ order_detail.user_detail.unique_id }})\\r\\n              </div>\\r\\n              <div>{{ order_detail.user_detail.email }}</div>\\r\\n              <div>\\r\\n                {{\\r\\n                  order_detail.user_detail.country_phone_code +\\r\\n                    \\\" \\\" +\\r\\n                    order_detail.user_detail.phone\\r\\n                }}\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n\\r\\n          <div\\r\\n            class=\\\"row\\\"\\r\\n            style=\\\"margin-top: 10px\\\"\\r\\n            *ngIf=\\\"order_detail.is_hopper_on_demand\\\"\\r\\n          >\\r\\n            <div class=\\\"col-md-4\\\">\\r\\n              <img\\r\\n                style=\\\"width: 80px; height: 80px\\\"\\r\\n                class=\\\"img-circle m-t-xs\\\"\\r\\n                src=\\\"{{\\r\\n                  order_detail.user_detail.image_url != ''\\r\\n                    ? helper.CONSTANT.IMAGE_BASE_URL +\\r\\n                      order_detail.user_detail.image_url\\r\\n                    : helper.CONSTANT.IMAGE_BASE_URL + 'default.png'\\r\\n                }}\\\"\\r\\n              />\\r\\n            </div>\\r\\n            <div class=\\\"col-md-8\\\">\\r\\n              <label>{{ heading_title.pickup_from | translate }}</label>\\r\\n              <div>\\r\\n                {{\\r\\n                  order_detail.cart_detail.pickup_addresses[0].user_details.name\\r\\n                }}\\r\\n              </div>\\r\\n              <div>\\r\\n                {{\\r\\n                  order_detail.cart_detail.pickup_addresses[0].user_details\\r\\n                    .email\\r\\n                }}\\r\\n              </div>\\r\\n              <div>\\r\\n                {{\\r\\n                  order_detail.cart_detail.pickup_addresses[0].user_details\\r\\n                    .phone\\r\\n                }}\\r\\n              </div>\\r\\n              <div>{{ order_detail.store_address }}</div>\\r\\n            </div>\\r\\n          </div>\\r\\n\\r\\n          <div\\r\\n            class=\\\"row\\\"\\r\\n            style=\\\"margin-top: 10px\\\"\\r\\n            *ngIf=\\\"!order_detail.is_hopper_on_demand\\\"\\r\\n          >\\r\\n            <div class=\\\"col-md-4\\\">\\r\\n              <img\\r\\n                style=\\\"width: 80px; height: 80px\\\"\\r\\n                class=\\\"img-circle m-t-xs\\\"\\r\\n                src=\\\"{{\\r\\n                  order_detail.store_detail.image_url != ''\\r\\n                    ? helper.CONSTANT.IMAGE_BASE_URL +\\r\\n                      order_detail.store_detail.image_url\\r\\n                    : helper.CONSTANT.IMAGE_BASE_URL + 'default.png'\\r\\n                }}\\\"\\r\\n              />\\r\\n            </div>\\r\\n            <div class=\\\"col-md-8\\\">\\r\\n              <label\\r\\n                >{{ heading_title.order_from | translate }}\\r\\n                <span *ngIf=\\\"order_detail.is_catering\\\"> - Catering</span></label\\r\\n              >\\r\\n              <div>\\r\\n                {{ order_detail.store_detail.name }} ({{\\r\\n                  order_detail.store_detail.unique_id\\r\\n                }})\\r\\n              </div>\\r\\n              <div>{{ order_detail.store_detail.email }}</div>\\r\\n              <div>\\r\\n                {{\\r\\n                  order_detail.store_detail.country_phone_code +\\r\\n                    \\\" \\\" +\\r\\n                    order_detail.store_detail.phone\\r\\n                }}\\r\\n              </div>\\r\\n              <div>{{ order_detail.store_detail.address }}</div>\\r\\n            </div>\\r\\n          </div>\\r\\n\\r\\n          <div\\r\\n            class=\\\"row\\\"\\r\\n            *ngIf=\\\"\\r\\n              !order_detail.order_payment_detail.is_user_pick_up_order &&\\r\\n              order_detail.provider_detail\\r\\n            \\\"\\r\\n            style=\\\"margin-top: 10px\\\"\\r\\n          >\\r\\n            <div class=\\\"col-md-4\\\">\\r\\n              <img\\r\\n                style=\\\"width: 80px; height: 80px\\\"\\r\\n                class=\\\"img-circle m-t-xs\\\"\\r\\n                src=\\\"{{\\r\\n                  order_detail.user_detail.image_url != ''\\r\\n                    ? helper.CONSTANT.IMAGE_BASE_URL +\\r\\n                      order_detail.user_detail.image_url\\r\\n                    : helper.CONSTANT.IMAGE_BASE_URL + 'default.png'\\r\\n                }}\\\"\\r\\n              />\\r\\n            </div>\\r\\n            <div class=\\\"col-md-8\\\">\\r\\n              <label>{{ heading_title.deliver_by | translate }}</label>\\r\\n              <div>\\r\\n                {{\\r\\n                  order_detail.provider_detail.first_name +\\r\\n                    \\\" \\\" +\\r\\n                    order_detail.provider_detail.last_name\\r\\n                }}\\r\\n                ({{ order_detail.provider_detail.unique_id }})\\r\\n              </div>\\r\\n              <div>{{ order_detail.provider_detail.email }}</div>\\r\\n              <div>\\r\\n                {{\\r\\n                  order_detail.provider_detail.country_phone_code +\\r\\n                    \\\" \\\" +\\r\\n                    order_detail.provider_detail.phone\\r\\n                }}\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n          <div class=\\\"row\\\" style=\\\"margin-top: 10px\\\">\\r\\n            <div class=\\\"col-md-4\\\">\\r\\n              <img\\r\\n                style=\\\"width: 80px; height: 80px\\\"\\r\\n                class=\\\"img-circle m-t-xs\\\"\\r\\n                src=\\\"{{ helper.CONSTANT.IMAGE_BASE_URL + 'default.png' }}\\\"\\r\\n              />\\r\\n            </div>\\r\\n            <div class=\\\"col-md-8\\\">\\r\\n              <label>{{ heading_title.order_to | translate }}</label>\\r\\n              <div>\\r\\n                {{\\r\\n                  order_detail.cart_detail.destination_addresses[0].user_details\\r\\n                    .name\\r\\n                }}\\r\\n              </div>\\r\\n              <div>\\r\\n                {{\\r\\n                  order_detail.cart_detail.destination_addresses[0].user_details\\r\\n                    .email\\r\\n                }}\\r\\n              </div>\\r\\n              <div>\\r\\n                {{\\r\\n                  order_detail.cart_detail.destination_addresses[0].user_details\\r\\n                    .phone\\r\\n                }}\\r\\n              </div>\\r\\n              <div>\\r\\n                Comment:\\r\\n                {{ order_detail.cart_detail.destination_addresses[0].note }}\\r\\n              </div>\\r\\n              <div>\\r\\n                Floor:\\r\\n                {{ order_detail.cart_detail.destination_addresses[0].floor }}\\r\\n              </div>\\r\\n              <div>\\r\\n                Entry Code:\\r\\n                {{\\r\\n                  order_detail.cart_detail.destination_addresses[0].entry_code\\r\\n                }}\\r\\n              </div>\\r\\n              <div *ngIf=\\\"order_detail.is_hubrise_order\\\">\\r\\n                Phone Access Code:\\r\\n                {{ order_detail.phone_access_code }}\\r\\n              </div>\\r\\n              <div *ngIf=\\\"order_detail.is_hubrise_order\\\">\\r\\n                Company Name:\\r\\n                {{ order_detail.company_name }}\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n\\r\\n          <div\\r\\n            *ngIf=\\\"\\r\\n              order_detail.order_status_id == helper.ORDER_STATUS_ID.CANCELLED\\r\\n            \\\"\\r\\n            class=\\\"row\\\"\\r\\n            style=\\\"margin-top: 20px\\\"\\r\\n          >\\r\\n            <div class=\\\"col-md-12\\\">\\r\\n              <label>{{ heading_title.cancellation_reason | translate }}</label>\\r\\n              <div>{{ order_detail.cancel_reason }}</div>\\r\\n            </div>\\r\\n          </div>\\r\\n          <div\\r\\n            *ngIf=\\\"\\r\\n              order_detail.order_status_id == helper.ORDER_STATUS_ID.REJECTED\\r\\n            \\\"\\r\\n            class=\\\"row\\\"\\r\\n            style=\\\"margin-top: 20px\\\"\\r\\n          >\\r\\n            <div class=\\\"col-md-12\\\">\\r\\n              <label>{{ heading_title.rejection_reason | translate }}</label>\\r\\n              <div>{{ order_detail.cancel_reason }}</div>\\r\\n            </div>\\r\\n          </div>\\r\\n\\r\\n          <div\\r\\n            *ngIf=\\\"\\r\\n              order_detail.order_status_id == helper.ORDER_STATUS_ID.COMPLETED\\r\\n            \\\"\\r\\n            class=\\\"row\\\"\\r\\n            style=\\\"margin-top: 30px\\\"\\r\\n          >\\r\\n            <div class=\\\"col-md-12\\\">\\r\\n              <label class=\\\"col-md-6\\\">Name:</label>\\r\\n              <span class=\\\"col-md-6\\\">{{\\r\\n                order_detail.user_detail.first_name +\\r\\n                  \\\" \\\" +\\r\\n                  order_detail.user_detail.last_name\\r\\n              }}</span>\\r\\n            </div>\\r\\n            <div\\r\\n              class=\\\"col-md-12\\\"\\r\\n              *ngIf=\\\"\\r\\n                order_detail.is_order_pay && order_detail.is_user_pick_up_order\\r\\n              \\\"\\r\\n            >\\r\\n              <label class=\\\"col-md-6\\\">Table No.:</label>\\r\\n              <span class=\\\"col-md-6\\\">{{ order_detail.table_no }}</span>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-12\\\">\\r\\n              <label class=\\\"col-md-6\\\">User Created on:</label>\\r\\n              <span class=\\\"col-md-6\\\">\\r\\n                <span\\r\\n                  *ngIf=\\\"order_detail.order_type == helper.ADMIN_DATA_ID.ADMIN\\\"\\r\\n                >\\r\\n                  <span>{{\\r\\n                    order_detail.is_hubrise_order\\r\\n                      ? order_detail.created_by\\r\\n                      : \\\"Admin\\\"\\r\\n                  }}</span>\\r\\n                </span>\\r\\n                <span\\r\\n                  *ngIf=\\\"order_detail.order_type == helper.ADMIN_DATA_ID.STORE\\\"\\r\\n                >\\r\\n                  Store\\r\\n                </span>\\r\\n                <span *ngIf=\\\"order_detail.date_time[0].host\\\">\\r\\n                  {{ order_detail.date_time[0].host }}\\r\\n                </span>\\r\\n                <span\\r\\n                  *ngIf=\\\"\\r\\n                    !order_detail.date_time[0].host &&\\r\\n                    !order_detail.is_hubrise_order\\r\\n                  \\\"\\r\\n                >\\r\\n                  <span *ngIf=\\\"order_detail.date_time[0].device_type == 'ios'\\\">\\r\\n                    IOS\\r\\n                  </span>\\r\\n                  <span\\r\\n                    *ngIf=\\\"order_detail.date_time[0].device_type == 'android'\\\"\\r\\n                  >\\r\\n                    Android\\r\\n                  </span>\\r\\n                  - {{ order_detail.date_time[0].app_version }}\\r\\n                </span>\\r\\n              </span>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-12\\\">\\r\\n              <label class=\\\"col-md-6\\\">Total Order Price:</label>\\r\\n              <span class=\\\"col-md-6\\\">{{ order_detail.total.toFixed(2) }}</span>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-12\\\" *ngIf=\\\"!order_detail.is_hopper_on_demand\\\">\\r\\n              <label class=\\\"col-md-6\\\">Preparation Time:</label>\\r\\n              <span class=\\\"col-md-6\\\"\\r\\n                >{{ order_detail.actual_preparation_time }} |\\r\\n                {{ order_detail.preparation_time }}</span\\r\\n              >\\r\\n            </div>\\r\\n            <div class=\\\"col-md-12\\\" *ngIf=\\\"!order_detail.is_user_pick_up_order\\\">\\r\\n              <label class=\\\"col-md-6\\\">Delivery Time:</label>\\r\\n              <span class=\\\"col-md-6\\\"\\r\\n                >{{ order_detail.total_delivery_time }} |\\r\\n                {{ order_detail.total_time }}</span\\r\\n              >\\r\\n            </div>\\r\\n            <div class=\\\"col-md-12\\\">\\r\\n              <label class=\\\"col-md-6\\\">Created at:</label>\\r\\n              <span class=\\\"col-md-6\\\">{{\\r\\n                moment(order_detail.created_at)\\r\\n                  .tz(\\r\\n                    order_detail.timezone !== undefined\\r\\n                      ? order_detail.timezone\\r\\n                      : \\\"Asia/Kolkata\\\"\\r\\n                  )\\r\\n                  .format(\\\"DD MMM YYYY HH:mm a\\\")\\r\\n              }}</span>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-12\\\">\\r\\n              <label class=\\\"col-md-6\\\"\\r\\n                >{{\\r\\n                  !order_detail.is_user_pick_up_order\\r\\n                    ? \\\"Delivered at\\\"\\r\\n                    : \\\"Picked up at\\\"\\r\\n                }}:</label\\r\\n              >\\r\\n              <span class=\\\"col-md-6\\\">{{\\r\\n                moment(order_detail.completed_at)\\r\\n                  .tz(\\r\\n                    order_detail.timezone !== undefined\\r\\n                      ? order_detail.timezone\\r\\n                      : \\\"Asia/Kolkata\\\"\\r\\n                  )\\r\\n                  .format(\\\"DD MMM YYYY HH:mm a\\\")\\r\\n              }}</span>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-12\\\">\\r\\n              <label class=\\\"col-md-6\\\">Promo:</label>\\r\\n              <span class=\\\"col-md-6\\\">{{\\r\\n                order_detail.order_payment_detail.promo_id ? \\\"Yes\\\" : \\\"No\\\"\\r\\n              }}</span>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-12\\\">\\r\\n              <label class=\\\"col-md-6\\\">Total number of order:</label>\\r\\n              <span class=\\\"col-md-6\\\">{{ user_order_detail.total_order }}</span>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-12\\\" *ngIf=\\\"!order_detail.is_hopper_on_demand\\\">\\r\\n              <label class=\\\"col-md-6\\\"\\r\\n                >number of order in this store ({{\\r\\n                  order_detail.store_detail.name\\r\\n                }}):</label\\r\\n              >\\r\\n              <span class=\\\"col-md-6\\\">{{\\r\\n                user_order_detail.total_store_order\\r\\n              }}</span>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-12\\\">\\r\\n              <label class=\\\"col-md-6\\\">Average Price:</label>\\r\\n              <span class=\\\"col-md-6\\\">{{\\r\\n                user_order_detail.total.toFixed(2)\\r\\n              }}</span>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-12\\\">\\r\\n              <label class=\\\"col-md-6\\\">Average Delivery Time:</label>\\r\\n              <span class=\\\"col-md-6\\\">{{\\r\\n                user_order_detail.total_delivery_time.toFixed(2)\\r\\n              }}</span>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-12\\\">\\r\\n              <label class=\\\"col-md-6\\\">Last 2 order:</label>\\r\\n              <span class=\\\"col-md-6\\\">\\r\\n                <span\\r\\n                  *ngIf=\\\"\\r\\n                    user_order_detail.completed_at[\\r\\n                      user_order_detail.completed_at.length - 1\\r\\n                    ]\\r\\n                  \\\"\\r\\n                  >{{\\r\\n                    moment(\\r\\n                      user_order_detail.completed_at[\\r\\n                        user_order_detail.completed_at.length - 1\\r\\n                      ]\\r\\n                    )\\r\\n                      .tz(\\r\\n                        order_detail.timezone !== undefined\\r\\n                          ? order_detail.timezone\\r\\n                          : \\\"Asia/Kolkata\\\"\\r\\n                      )\\r\\n                      .format(\\\"DD MMM YYYY\\\")\\r\\n                  }}</span\\r\\n                >\\r\\n                <span\\r\\n                  *ngIf=\\\"\\r\\n                    user_order_detail.completed_at[\\r\\n                      user_order_detail.completed_at.length - 2\\r\\n                    ]\\r\\n                  \\\"\\r\\n                >\\r\\n                  |\\r\\n                  {{\\r\\n                    moment(\\r\\n                      user_order_detail.completed_at[\\r\\n                        user_order_detail.completed_at.length - 2\\r\\n                      ]\\r\\n                    )\\r\\n                      .tz(\\r\\n                        order_detail.timezone !== undefined\\r\\n                          ? order_detail.timezone\\r\\n                          : \\\"Asia/Kolkata\\\"\\r\\n                      )\\r\\n                      .format(\\\"DD MMM YYYY\\\")\\r\\n                  }}</span\\r\\n                >\\r\\n              </span>\\r\\n            </div>\\r\\n            <div\\r\\n              class=\\\"col-md-12\\\"\\r\\n              *ngIf=\\\"\\r\\n                order_detail.order_payment_detail &&\\r\\n                order_detail.order_payment_detail.provider_panelty\\r\\n              \\\"\\r\\n            >\\r\\n              <label class=\\\"col-md-6\\\">Hopper Panelty:</label>\\r\\n              <span class=\\\"col-md-6\\\">{{\\r\\n                order_detail.order_payment_detail.provider_panelty.toFixed(2)\\r\\n              }}</span>\\r\\n            </div>\\r\\n            <div\\r\\n              class=\\\"col-md-12\\\"\\r\\n              *ngIf=\\\"\\r\\n                order_detail.order_payment_detail &&\\r\\n                order_detail.order_payment_detail.store_panelty\\r\\n              \\\"\\r\\n            >\\r\\n              <label class=\\\"col-md-6\\\">Store Panelty:</label>\\r\\n              <span class=\\\"col-md-6\\\">{{\\r\\n                order_detail.order_payment_detail.store_panelty.toFixed(2)\\r\\n              }}</span>\\r\\n            </div>\\r\\n          </div>\\r\\n\\r\\n          <div class=\\\"row no_margin\\\" style=\\\"margin-top: 20px\\\">\\r\\n            <div class=\\\"col-md-4 remove_right_padding\\\" (click)=\\\"delay_popup()\\\">\\r\\n              <button\\r\\n                type=\\\"button\\\"\\r\\n                class=\\\"btn btn-light_black btn-sm btn-block\\\"\\r\\n              >\\r\\n                {{ button.delay | translate }}\\r\\n              </button>\\r\\n            </div>\\r\\n            <div\\r\\n              class=\\\"col-md-4 remove_right_padding\\\"\\r\\n              *ngIf=\\\"!order_detail.is_hopper_on_demand\\\"\\r\\n            >\\r\\n              <button\\r\\n                (click)=\\\"refundOrder(order_detail.store_id, order_detail._id)\\\"\\r\\n                type=\\\"button\\\"\\r\\n                class=\\\"btn btn-light_black btn-sm btn-block\\\"\\r\\n              >\\r\\n                {{ button.refund | translate }}\\r\\n              </button>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-4 remove_right_padding\\\">\\r\\n              <button\\r\\n                (click)=\\\"edit_address()\\\"\\r\\n                type=\\\"button\\\"\\r\\n                class=\\\"btn btn-light_black btn-sm btn-block\\\"\\r\\n              >\\r\\n                {{ button.reward | translate }}\\r\\n              </button>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n</div>\\r\\n<modal cssClass=\\\"\\\" #review_detail_modal>\\r\\n  <modal-header [show-close]=\\\"true\\\">\\r\\n    <label>{{ heading_title.review_detail | translate }}</label>\\r\\n  </modal-header>\\r\\n  <modal-body>\\r\\n    <div class=\\\"table-responsive scrollbar\\\" style=\\\"height: 100%\\\">\\r\\n      <table class=\\\"table\\\">\\r\\n        <thead>\\r\\n          <tr\\r\\n            *ngIf=\\\"\\r\\n              review_detail.user_detail && review_detail.user_detail.length > 0\\r\\n            \\\"\\r\\n          >\\r\\n            <th>{{ title.user | translate }}</th>\\r\\n            <th>{{ title.to_store | translate }}</th>\\r\\n            <th>{{ title.to_deliveryman | translate }}</th>\\r\\n          </tr>\\r\\n          <tr\\r\\n            *ngIf=\\\"\\r\\n              review_detail.user_detail && review_detail.user_detail.length > 0\\r\\n            \\\"\\r\\n          >\\r\\n            <td>\\r\\n              {{ review_detail.user_detail[0].first_name }}\\r\\n              {{ review_detail.user_detail[0].last_name }}\\r\\n            </td>\\r\\n            <td>\\r\\n              <span class=\\\"fa fa-star\\\"></span>\\r\\n              {{ review_detail.user_rating_to_store }}<br />\\r\\n              {{ review_detail.user_review_to_store }}\\r\\n              <div *ngIf=\\\"review_detail.user_review_to_store == ''\\\">\\r\\n                {{ title.not_available | translate }}\\r\\n              </div>\\r\\n              <div\\r\\n                style=\\\"margin-top: 5px\\\"\\r\\n                *ngIf=\\\"review_detail.user_review_to_store != ''\\\"\\r\\n              >\\r\\n                <span\\r\\n                  style=\\\"font-size: 20px; color: #85ad69\\\"\\r\\n                  class=\\\"fa fa-thumbs-o-up\\\"\\r\\n                ></span>\\r\\n                <span style=\\\"margin-left: 5px; font-size: 15px\\\">{{\\r\\n                  review_detail.number_of_users_like_store_comment\\r\\n                }}</span>\\r\\n                <span\\r\\n                  style=\\\"margin-left: 5px; font-size: 20px; color: red\\\"\\r\\n                  class=\\\"fa fa-thumbs-o-down\\\"\\r\\n                ></span>\\r\\n                <span style=\\\"margin-left: 5px; font-size: 15px\\\">{{\\r\\n                  review_detail.number_of_users_dislike_store_comment\\r\\n                }}</span>\\r\\n              </div>\\r\\n            </td>\\r\\n            <td>\\r\\n              <span class=\\\"fa fa-star\\\"></span>\\r\\n              {{ review_detail.user_rating_to_provider }}<br />\\r\\n              {{ review_detail.user_review_to_provider }}\\r\\n              <div *ngIf=\\\"review_detail.user_review_to_provider == ''\\\">\\r\\n                {{ title.not_available | translate }}\\r\\n              </div>\\r\\n            </td>\\r\\n          </tr>\\r\\n          <br />\\r\\n          <tr\\r\\n            *ngIf=\\\"\\r\\n              review_detail.store_detail &&\\r\\n              review_detail.store_detail.length > 0\\r\\n            \\\"\\r\\n          >\\r\\n            <th>{{ title.store | translate }}</th>\\r\\n            <th>{{ title.to_user | translate }}</th>\\r\\n            <th>\\r\\n              {{ title.to_deliveryman | translate }}\\r\\n            </th>\\r\\n          </tr>\\r\\n          <tr\\r\\n            *ngIf=\\\"\\r\\n              review_detail.store_detail &&\\r\\n              review_detail.store_detail.length > 0\\r\\n            \\\"\\r\\n          >\\r\\n            <td>{{ review_detail.store_detail[0].name }}</td>\\r\\n            <td>\\r\\n              <span class=\\\"fa fa-star\\\"></span>\\r\\n              {{ review_detail.store_rating_to_user }}<br />\\r\\n              {{ review_detail.store_review_to_user }}\\r\\n              <div *ngIf=\\\"review_detail.store_review_to_user == ''\\\">\\r\\n                {{ title.not_available | translate }}\\r\\n              </div>\\r\\n            </td>\\r\\n            <td>\\r\\n              <span class=\\\"fa fa-star\\\"></span>\\r\\n              {{ review_detail.store_rating_to_provider }}<br />\\r\\n              {{ review_detail.store_review_to_provider }}\\r\\n              <div *ngIf=\\\"review_detail.store_review_to_provider == ''\\\">\\r\\n                {{ title.not_available | translate }}\\r\\n              </div>\\r\\n            </td>\\r\\n          </tr>\\r\\n          <br />\\r\\n          <tr\\r\\n            *ngIf=\\\"\\r\\n              review_detail.provider_detail &&\\r\\n              review_detail.provider_detail.length > 0\\r\\n            \\\"\\r\\n          >\\r\\n            <th>{{ title.deliveryman | translate }}</th>\\r\\n            <th>{{ title.to_user | translate }}</th>\\r\\n            <th>{{ title.to_store | translate }}</th>\\r\\n          </tr>\\r\\n          <tr\\r\\n            *ngIf=\\\"\\r\\n              review_detail.provider_detail &&\\r\\n              review_detail.provider_detail.length > 0\\r\\n            \\\"\\r\\n          >\\r\\n            <td>\\r\\n              {{ review_detail.provider_detail[0].first_name }}\\r\\n              {{ review_detail.provider_detail[0].last_name }}\\r\\n            </td>\\r\\n            <td>\\r\\n              <span class=\\\"fa fa-star\\\"></span>\\r\\n              {{ review_detail.provider_rating_to_user }}<br />\\r\\n              {{ review_detail.provider_review_to_user }}\\r\\n              <div *ngIf=\\\"review_detail.provider_review_to_user == ''\\\">\\r\\n                {{ title.not_available | translate }}\\r\\n              </div>\\r\\n            </td>\\r\\n            <td>\\r\\n              <span class=\\\"fa fa-star\\\"></span>\\r\\n              {{ review_detail.provider_rating_to_store }}<br />\\r\\n              {{ review_detail.provider_review_to_store }}\\r\\n              <div *ngIf=\\\"review_detail.provider_review_to_store == ''\\\">\\r\\n                {{ title.not_available | translate }}\\r\\n              </div>\\r\\n            </td>\\r\\n          </tr>\\r\\n        </thead>\\r\\n      </table>\\r\\n    </div>\\r\\n  </modal-body>\\r\\n</modal>\\r\\n\\r\\n<modal cssClass=\\\"modal-invoice\\\" #order_detail_modal>\\r\\n  <modal-header [show-close]=\\\"true\\\">\\r\\n    <label>{{ heading_title.order_detail | translate }}</label>\\r\\n  </modal-header>\\r\\n  <modal-body>\\r\\n    <div class=\\\"row\\\" *ngIf=\\\"order_detail.cart_detail\\\">\\r\\n      <div class=\\\"col-md-4\\\" *ngIf=\\\"!order_detail.is_hopper_on_demand\\\">\\r\\n        <div class=\\\"ibox remove_ibox_margin\\\">\\r\\n          <div class=\\\"ibox-title\\\">\\r\\n            <h4 class=\\\"pull-right\\\" *ngIf=\\\"order_detail.length > 0\\\">\\r\\n              {{ currency_sign }}{{ order_total.toFixed(2) }}\\r\\n            </h4>\\r\\n            <span\\r\\n              style=\\\"position: absolute; left: 48%\\\"\\r\\n              *ngIf=\\\"order_detail.length > 0\\\"\\r\\n              >(<strong>{{ total_item }}</strong\\r\\n              >) {{ title.items | translate }}</span\\r\\n            >\\r\\n            <h5>{{ heading_title.order_detail | translate }}</h5>\\r\\n          </div>\\r\\n          <div class=\\\"ibox-content invoice_popup_box\\\">\\r\\n            <div\\r\\n              *ngFor=\\\"\\r\\n                let products of order_detail.cart_detail.order_details;\\r\\n                let product_index = index\\r\\n              \\\"\\r\\n            >\\r\\n              <div style=\\\"border-bottom: 1px solid brown; text-align: center\\\">\\r\\n                <h4 class=\\\"pull-right\\\">\\r\\n                  {{ currency_sign\\r\\n                  }}{{ product_item_total_array[product_index] }}\\r\\n                  <span\\r\\n                    *ngIf=\\\"hide_specification_group[product_index] == 'true'\\\"\\r\\n                    (click)=\\\"show_specifications_group(product_index)\\\"\\r\\n                    class=\\\"fa fa-chevron-left\\\"\\r\\n                  ></span>\\r\\n                  <span\\r\\n                    *ngIf=\\\"hide_specification_group[product_index] == 'false'\\\"\\r\\n                    (click)=\\\"hide_specifications_group(product_index)\\\"\\r\\n                    class=\\\"fa fa-chevron-down\\\"\\r\\n                  ></span>\\r\\n                </h4>\\r\\n                <span\\r\\n                  >(<strong>{{ products.items.length }}</strong\\r\\n                  >) {{ title.items | translate }}</span\\r\\n                >\\r\\n                <h5 style=\\\"float: left\\\">{{ products.product_name }}</h5>\\r\\n              </div>\\r\\n\\r\\n              <div\\r\\n                id=\\\"spec_list{{ product_index }}\\\"\\r\\n                class=\\\"table-responsive\\\"\\r\\n                style=\\\"width: 100%\\\"\\r\\n              >\\r\\n                <table class=\\\"table\\\">\\r\\n                  <thead style=\\\"border-bottom: 1px solid\\\">\\r\\n                    <tr>\\r\\n                      <th>{{ title.item | translate }}</th>\\r\\n                      <th>\\r\\n                        {{ title.spec | translate }}\\r\\n                        {{ title.price | translate }}\\r\\n                      </th>\\r\\n                      <th>{{ title.price | translate }}</th>\\r\\n                      <th>{{ title.qty | translate }}</th>\\r\\n                      <th>{{ title.total | translate }}</th>\\r\\n                    </tr>\\r\\n                  </thead>\\r\\n\\r\\n                  <tbody\\r\\n                    *ngFor=\\\"\\r\\n                      let item of products.items;\\r\\n                      let odd = odd;\\r\\n                      let item_index = index\\r\\n                    \\\"\\r\\n                    (click)=\\\"get_specification(product_index, item_index)\\\"\\r\\n                  >\\r\\n                    <tr style=\\\"cursor: pointer\\\">\\r\\n                      <td>\\r\\n                        {{\\r\\n                          item.formule_list && item.formule_list[0]\\r\\n                            ? item.formule_list[0].name\\r\\n                            : item.item_name\\r\\n                        }}\\r\\n                      </td>\\r\\n                      <td>\\r\\n                        {{ currency_sign }}{{ item.total_specification_price }}\\r\\n                      </td>\\r\\n                      <td>\\r\\n                        {{ currency_sign\\r\\n                        }}{{\\r\\n                          item.formule_list &&\\r\\n                          item.formule_list[0] &&\\r\\n                          item.formule_list[0].price\\r\\n                            ? item.formule_list[0].price\\r\\n                            : item.item_price\\r\\n                        }}\\r\\n                      </td>\\r\\n                      <td>{{ item.quantity }}</td>\\r\\n                      <td>\\r\\n                        <span [class.pro-strike-price]=\\\"item.offer_price\\\"\\r\\n                          >{{ currency_sign\\r\\n                          }}{{\\r\\n                            item.total_item_and_specification_price.toFixed(2)\\r\\n                          }}</span\\r\\n                        >\\r\\n                        <span *ngIf=\\\"item.offer_price\\\"\\r\\n                          >{{ currency_sign\\r\\n                          }}{{\\r\\n                            (\\r\\n                              item.total_item_and_specification_price -\\r\\n                              item.offer_price\\r\\n                            ).toFixed(2)\\r\\n                          }}</span\\r\\n                        >\\r\\n                      </td>\\r\\n                    </tr>\\r\\n                    <!-- <tr style=\\\"cursor: pointer;\\\" *ngFor=\\\"let fromule of item.formule_list;\\\">\\r\\n                                            <td ><b>Formule:</b> {{fromule.name}}</td>\\r\\n                                            <td></td>\\r\\n                                            <td>{{currency_sign}}{{fromule.price}}</td>\\r\\n                                            <td></td>\\r\\n                                            <td></td>\\r\\n                                        </tr> -->\\r\\n                    <tr *ngIf=\\\"item.is_buy_one_get_one\\\">\\r\\n                      <td style=\\\"border: 0\\\" colspan=\\\"5\\\">\\r\\n                        <span style=\\\"margin-left: 20px\\\"\\r\\n                          >Voulez-vous profiter de la promotion 1+1 gratuit ?\\r\\n                          ⭐️</span\\r\\n                        >\\r\\n                      </td>\\r\\n                    </tr>\\r\\n                    <tr *ngIf=\\\"item.is_buy_one_get_one\\\">\\r\\n                      <td style=\\\"border: 0\\\" colspan=\\\"5\\\">\\r\\n                        <span style=\\\"margin-left: 30px\\\"> - Oui</span>\\r\\n                      </td>\\r\\n                    </tr>\\r\\n                    <tr style=\\\"cursor: pointer; color: red\\\">\\r\\n                      <td colspan=\\\"5\\\" style=\\\"border-top: 0\\\">\\r\\n                        Note : {{ item.note_for_item }}\\r\\n                      </td>\\r\\n                    </tr>\\r\\n                  </tbody>\\r\\n                </table>\\r\\n              </div>\\r\\n            </div>\\r\\n            <div\\r\\n              class=\\\"row\\\"\\r\\n              *ngIf=\\\"order_detail.images && order_detail.images.length > 0\\\"\\r\\n            >\\r\\n              <div class=\\\"col-md-4\\\" *ngFor=\\\"let image of order_detail.images\\\">\\r\\n                <img\\r\\n                  (click)=\\\"open_image_modal(image)\\\"\\r\\n                  style=\\\"width: 100%\\\"\\r\\n                  [src]=\\\"helper.CONSTANT.IMAGE_BASE_URL + image\\\"\\r\\n                />\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n\\r\\n      <div\\r\\n        class=\\\"col-md-4\\\"\\r\\n        *ngIf=\\\"is_show_specification && !order_detail.is_hopper_on_demand\\\"\\r\\n      >\\r\\n        <div class=\\\"ibox remove_ibox_margin\\\">\\r\\n          <div class=\\\"ibox-title\\\">\\r\\n            <h5>{{ title.specifications | translate }}</h5>\\r\\n            <span\\r\\n              class=\\\"fa fa-remove pull-right\\\"\\r\\n              (click)=\\\"is_show_specification = false\\\"\\r\\n            ></span>\\r\\n          </div>\\r\\n\\r\\n          <div class=\\\"ibox-content invoice_popup_box\\\">\\r\\n            <div\\r\\n              *ngFor=\\\"let specification_group of specifications; let odd = odd\\\"\\r\\n              [class.row]=\\\"odd\\\"\\r\\n              style=\\\"margin: 0\\\"\\r\\n            >\\r\\n              <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\" style=\\\"padding: 0px\\\">\\r\\n                  <div\\r\\n                    class=\\\"col-md-12\\\"\\r\\n                    style=\\\"padding: 0; border-bottom: 1px solid #dcdcdc\\\"\\r\\n                  >\\r\\n                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                      <h5>{{ specification_group.name }}</h5>\\r\\n                    </div>\\r\\n                    <div\\r\\n                      *ngIf=\\\"specification_group.price > 0\\\"\\r\\n                      class=\\\"col-md-4 col-sm-4 col-xs-4\\\"\\r\\n                    >\\r\\n                      <h5 style=\\\"float: right\\\">\\r\\n                        {{ currency_sign\\r\\n                        }}{{ specification_group.price.toFixed(2) }}\\r\\n                      </h5>\\r\\n                    </div>\\r\\n                  </div>\\r\\n\\r\\n                  <div\\r\\n                    class=\\\"col-md-12\\\"\\r\\n                    *ngFor=\\\"let specification of specification_group.list\\\"\\r\\n                  >\\r\\n                    <div style=\\\"padding: 0\\\" class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                      <h6 style=\\\"font-size: 13px\\\">{{ specification.name }}</h6>\\r\\n                    </div>\\r\\n                    <div\\r\\n                      *ngIf=\\\"specification.price > 0\\\"\\r\\n                      class=\\\"col-md-4 col-sm-4 col-xs-4\\\"\\r\\n                      style=\\\"padding: 0\\\"\\r\\n                    >\\r\\n                      <h6 style=\\\"font-size: 13px; float: right\\\">\\r\\n                        {{ currency_sign }}{{ specification.price.toFixed(2) }}\\r\\n                      </h6>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n            <div\\r\\n              class=\\\"row\\\"\\r\\n              style=\\\"border-top: 1px solid; padding-top: 15px\\\"\\r\\n              *ngIf=\\\"item_note != ''\\\"\\r\\n            >\\r\\n              <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\">\\r\\n                <label>{{ title.item_note_here }}</label>\\r\\n                <div>\\r\\n                  <h6 style=\\\"font-size: 13px\\\">{{ item_note }}</h6>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n\\r\\n      <div class=\\\"col-md-4\\\" *ngIf=\\\"!is_show_specification\\\">\\r\\n        <div class=\\\"ibox remove_ibox_margin\\\">\\r\\n          <div class=\\\"ibox-title\\\" style=\\\"background-color: #d4d8d8\\\">\\r\\n            <h5>{{ heading_title.order_status | translate }}</h5>\\r\\n          </div>\\r\\n          <div class=\\\"ibox-content invoice_popup_box\\\">\\r\\n            <div\\r\\n              id=\\\"vertical-timeline\\\"\\r\\n              class=\\\"vertical-container dark-timeline\\\"\\r\\n            >\\r\\n              <div\\r\\n                *ngFor=\\\"let date of order_detail.date_time\\\"\\r\\n                class=\\\"vertical-timeline-block\\\"\\r\\n              >\\r\\n                <div\\r\\n                  class=\\\"vertical-timeline-icon gray-bg\\\"\\r\\n                  *ngIf=\\\"date.status !== helper.ORDER_STATE.ORDER_COMPLETED\\\"\\r\\n                  [hidden]=\\\"\\r\\n                    order_detail.is_hopper_on_demand &&\\r\\n                    date.status == helper.ORDER_STATE.OREDER_READY\\r\\n                  \\\"\\r\\n                ></div>\\r\\n                <div\\r\\n                  class=\\\"vertical-timeline-content\\\"\\r\\n                  [ngSwitch]=\\\"date.status\\\"\\r\\n                  *ngIf=\\\"date.status !== helper.ORDER_STATE.ORDER_COMPLETED\\\"\\r\\n                  style=\\\"padding-top: 1px\\\"\\r\\n                  [hidden]=\\\"\\r\\n                    order_detail.is_hopper_on_demand &&\\r\\n                    date.status == helper.ORDER_STATE.OREDER_READY\\r\\n                  \\\"\\r\\n                >\\r\\n                  <p\\r\\n                    *ngSwitchCase=\\\"helper.ORDER_STATE.WAITING_FOR_ACCEPT_STORE\\\"\\r\\n                  >\\r\\n                    <span>{{\\r\\n                      helper.status.waiting_for_accept | translate\\r\\n                    }}</span>\\r\\n                  </p>\\r\\n                  <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_ACCEPTED\\\">\\r\\n                    <span *ngIf=\\\"!order_detail.is_hopper_on_demand\\\">{{\\r\\n                      helper.status.accepted | translate\\r\\n                    }}</span>\\r\\n                    <span *ngIf=\\\"order_detail.is_hopper_on_demand\\\">{{\\r\\n                      helper.status.created | translate\\r\\n                    }}</span>\\r\\n                  </p>\\r\\n                  <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_PREPARING_ORDER\\\">\\r\\n                    <span>{{\\r\\n                      helper.status.start_preparing_order | translate\\r\\n                    }}</span>\\r\\n                  </p>\\r\\n                  <p *ngSwitchCase=\\\"helper.ORDER_STATE.OREDER_READY\\\">\\r\\n                    <span>{{ helper.status.order_ready | translate }}</span>\\r\\n                  </p>\\r\\n                  <p\\r\\n                    *ngSwitchCase=\\\"helper.ORDER_STATE.WAITING_FOR_DELIVERY_MAN\\\"\\r\\n                  >\\r\\n                    <span>{{\\r\\n                      helper.status.waiting_for_delivery_man | translate\\r\\n                    }}</span>\\r\\n                  </p>\\r\\n                  <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_REJECTED\\\">\\r\\n                    <span>{{ helper.status.rejected | translate }}</span>\\r\\n                  </p>\\r\\n                  <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_CANCELLED\\\">\\r\\n                    <span>{{ helper.status.cancelled | translate }}</span>\\r\\n                  </p>\\r\\n                  <span *ngIf=\\\"!order_detail.request_detail\\\">\\r\\n                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.ORDER_COMPLETED\\\">\\r\\n                      <span>{{ helper.status.completed | translate }}</span>\\r\\n                    </p></span\\r\\n                  >\\r\\n                  <p\\r\\n                    *ngSwitchCase=\\\"helper.ORDER_STATE.ORDER_COMPLETED_BY_OTHER\\\"\\r\\n                  >\\r\\n                    <span>{{\\r\\n                      helper.status.completed_by_other | translate\\r\\n                    }}</span>\\r\\n                  </p>\\r\\n                  <span *ngIf=\\\"!order_detail.request_detail\\\"\\r\\n                    ><p *ngSwitchCase=\\\"helper.ORDER_STATE.CANCELED_BY_USER\\\">\\r\\n                      <span>{{\\r\\n                        helper.status.user_cancelled | translate\\r\\n                      }}</span>\\r\\n                    </p></span\\r\\n                  >\\r\\n                  <span\\r\\n                    *ngIf=\\\"date.status !== helper.ORDER_STATE.ORDER_COMPLETED\\\"\\r\\n                    class=\\\"vertical-date small text-muted\\\"\\r\\n                    >{{\\r\\n                      moment(date.date)\\r\\n                        .tz(\\r\\n                          order_detail.timezone !== \\\"\\\"\\r\\n                            ? order_detail.timezone\\r\\n                            : \\\"Asia/Kolkata\\\"\\r\\n                        )\\r\\n                        .format(\\\"DD MMM YYYY HH:mm a\\\")\\r\\n                    }}</span\\r\\n                  >\\r\\n                </div>\\r\\n                <div\\r\\n                  class=\\\"vertical-timeline-icon gray-bg\\\"\\r\\n                  *ngIf=\\\"\\r\\n                    date.status == helper.ORDER_STATE.ORDER_COMPLETED &&\\r\\n                    !order_detail.request_detail\\r\\n                  \\\"\\r\\n                ></div>\\r\\n                <div\\r\\n                  class=\\\"vertical-timeline-content\\\"\\r\\n                  [ngSwitch]=\\\"date.status\\\"\\r\\n                  *ngIf=\\\"\\r\\n                    date.status == helper.ORDER_STATE.ORDER_COMPLETED &&\\r\\n                    !order_detail.request_detail\\r\\n                  \\\"\\r\\n                  style=\\\"padding-top: 1px\\\"\\r\\n                >\\r\\n                  <p>\\r\\n                    <span>{{ helper.status.completed | translate }}</span>\\r\\n                  </p>\\r\\n                </div>\\r\\n              </div>\\r\\n              <div *ngIf=\\\"order_detail.request_detail\\\">\\r\\n                <div\\r\\n                  *ngFor=\\\"let date of order_detail.request_detail.date_time\\\"\\r\\n                  class=\\\"vertical-timeline-block\\\"\\r\\n                >\\r\\n                  <div class=\\\"vertical-timeline-icon gray-bg\\\"></div>\\r\\n                  <div\\r\\n                    class=\\\"vertical-timeline-content\\\"\\r\\n                    [ngSwitch]=\\\"date.status\\\"\\r\\n                    style=\\\"padding-top: 1px\\\"\\r\\n                  >\\r\\n                    <p\\r\\n                      *ngSwitchCase=\\\"\\r\\n                        helper.ORDER_STATE.WAITING_FOR_DELIVERY_MAN\\r\\n                      \\\"\\r\\n                    >\\r\\n                      <span>{{\\r\\n                        helper.status.waiting_for_delivery_man | translate\\r\\n                      }}</span>\\r\\n                    </p>\\r\\n                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_ACCEPTED\\\">\\r\\n                      <span>{{\\r\\n                        helper.status.delivery_man_accepted | translate\\r\\n                      }}</span>\\r\\n                    </p>\\r\\n                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_COMING\\\">\\r\\n                      <span>{{\\r\\n                        helper.status.delivery_man_coming | translate\\r\\n                      }}</span>\\r\\n                    </p>\\r\\n                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_ARRIVED\\\">\\r\\n                      <span>{{\\r\\n                        helper.status.delivery_man_arrived | translate\\r\\n                      }}</span>\\r\\n                    </p>\\r\\n                    <p\\r\\n                      *ngSwitchCase=\\\"\\r\\n                        helper.ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\\r\\n                      \\\"\\r\\n                    >\\r\\n                      <span>{{ helper.status.picked_order | translate }}</span>\\r\\n                    </p>\\r\\n                    <p\\r\\n                      *ngSwitchCase=\\\"\\r\\n                        helper.ORDER_STATE.DELIVERY_MAN_STARTED_DELIVERY\\r\\n                      \\\"\\r\\n                    >\\r\\n                      <span>{{\\r\\n                        helper.status.started_for_delivery | translate\\r\\n                      }}</span>\\r\\n                    </p>\\r\\n                    <p\\r\\n                      *ngSwitchCase=\\\"\\r\\n                        helper.ORDER_STATE.DELIVERY_MAN_ARRIVED_AT_DESTINATION\\r\\n                      \\\"\\r\\n                    >\\r\\n                      <span>{{\\r\\n                        helper.status.arrived_at_destination | translate\\r\\n                      }}</span>\\r\\n                    </p>\\r\\n                    <p\\r\\n                      *ngSwitchCase=\\\"\\r\\n                        helper.ORDER_STATE.DELIVERY_MAN_COMPLETE_DELIVERY\\r\\n                      \\\"\\r\\n                    >\\r\\n                      <span>{{\\r\\n                        helper.status.delivered_ordered | translate\\r\\n                      }}</span>\\r\\n                    </p>\\r\\n                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_REJECTED\\\">\\r\\n                      <span>{{ helper.status.rejected | translate }}</span>\\r\\n                    </p>\\r\\n                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_CANCELLED\\\">\\r\\n                      <span>{{ helper.status.cancelled | translate }}</span>\\r\\n                    </p>\\r\\n                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.NO_DELIVERY_MAN_FOUND\\\">\\r\\n                      <span>{{\\r\\n                        helper.status.no_delivery_man_found | translate\\r\\n                      }}</span>\\r\\n                    </p>\\r\\n                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_REJECTED\\\">\\r\\n                      <span>{{\\r\\n                        helper.status.delivery_man_rejected | translate\\r\\n                      }}</span>\\r\\n                    </p>\\r\\n                    <p\\r\\n                      *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_CANCELLED\\\"\\r\\n                    >\\r\\n                      <span>{{\\r\\n                        helper.status.delivery_man_cancelled | translate\\r\\n                      }}</span>\\r\\n                    </p>\\r\\n                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.CANCELED_BY_USER\\\">\\r\\n                      <span>{{\\r\\n                        helper.status.user_cancelled | translate\\r\\n                      }}</span>\\r\\n                    </p>\\r\\n                    <p\\r\\n                      *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_CANCELLED_REQUEST\\\"\\r\\n                    >\\r\\n                      <span>{{\\r\\n                        helper.status.cancelled_request | translate\\r\\n                      }}</span>\\r\\n                    </p>\\r\\n                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.ORDER_COMPLETED\\\">\\r\\n                      <span>{{ helper.status.completed | translate }}</span>\\r\\n                    </p>\\r\\n                    <p\\r\\n                      *ngSwitchCase=\\\"\\r\\n                        helper.ORDER_STATE.ORDER_COMPLETED_BY_OTHER\\r\\n                      \\\"\\r\\n                    >\\r\\n                      <span>{{\\r\\n                        helper.status.completed_by_other | translate\\r\\n                      }}</span>\\r\\n                    </p>\\r\\n\\r\\n                    <span class=\\\"vertical-date small text-muted\\\">{{\\r\\n                      moment(date.date)\\r\\n                        .tz(\\r\\n                          order_detail.timezone !== \\\"\\\"\\r\\n                            ? order_detail.timezone\\r\\n                            : \\\"Asia/Kolkata\\\"\\r\\n                        )\\r\\n                        .format(\\\"DD MMM YYYY HH:mm a\\\")\\r\\n                    }}</span>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n\\r\\n      <div class=\\\"col-md-4\\\">\\r\\n        <div class=\\\"ibox remove_ibox_margin\\\">\\r\\n          <div class=\\\"ibox-title\\\" style=\\\"background-color: #d4d8d8\\\">\\r\\n            <h5>{{ order_detail.order_payment_detail.invoice_number }}</h5>\\r\\n            <h5 class=\\\"pull-right\\\">\\r\\n              {{ currency_sign\\r\\n              }}{{ order_detail.order_payment_detail.total.toFixed(2) }}\\r\\n            </h5>\\r\\n          </div>\\r\\n          <div class=\\\"ibox-content invoice_popup_box scrollbar\\\">\\r\\n            <div class=\\\"row\\\" style=\\\"margin-bottom: 20px\\\">\\r\\n              <div class=\\\"col-md-4\\\" style=\\\"padding-right: 4px\\\">\\r\\n                <div class=\\\"invoice_box\\\">\\r\\n                  <div>\\r\\n                    <span>{{ title.cash_payment }}</span>\\r\\n                  </div>\\r\\n                  <div>\\r\\n                    <label\\r\\n                      >{{ currency_sign\\r\\n                      }}{{\\r\\n                        order_detail.order_payment_detail.cash_payment.toFixed(\\r\\n                          2\\r\\n                        )\\r\\n                      }}</label\\r\\n                    >\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n              <div\\r\\n                class=\\\"col-md-4\\\"\\r\\n                style=\\\"padding-right: 8px; padding-left: 8px\\\"\\r\\n              >\\r\\n                <div class=\\\"invoice_box\\\">\\r\\n                  <div>\\r\\n                    <span>{{ title.wallet_payment }}</span>\\r\\n                  </div>\\r\\n                  <div>\\r\\n                    <label\\r\\n                      >{{ currency_sign\\r\\n                      }}{{\\r\\n                        order_detail.order_payment_detail.wallet_payment.toFixed(\\r\\n                          2\\r\\n                        )\\r\\n                      }}</label\\r\\n                    >\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n              <div class=\\\"col-md-4\\\" style=\\\"padding-left: 4px\\\">\\r\\n                <div class=\\\"invoice_box\\\">\\r\\n                  <div>\\r\\n                    <span>{{ title.other_payment }}</span>\\r\\n                  </div>\\r\\n                  <div>\\r\\n                    <label\\r\\n                      >{{ currency_sign\\r\\n                      }}{{\\r\\n                        order_detail.order_payment_detail.card_payment.toFixed(\\r\\n                          2\\r\\n                        )\\r\\n                      }}</label\\r\\n                    >\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n            <div class=\\\"row\\\">\\r\\n              <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\" style=\\\"padding: 0px\\\">\\r\\n                <div class=\\\"row invoice_seperator\\\">\\r\\n                  <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                      <h5 style=\\\"margin-bottom: 0\\\">\\r\\n                        {{ title.total_delivery_price | translate }}\\r\\n                      </h5>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                      <h5 style=\\\"float: right; margin-bottom: 0\\\">\\r\\n                        {{ currency_sign\\r\\n                        }}{{\\r\\n                          order_detail.order_payment_detail.total_delivery_price.toFixed(\\r\\n                            2\\r\\n                          )\\r\\n                        }}\\r\\n                      </h5>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                      <span>{{ title.delivery_price | translate }}</span>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                      <span style=\\\"float: right\\\"\\r\\n                        >{{ currency_sign\\r\\n                        }}{{\\r\\n                          order_detail.order_payment_detail.total_service_price.toFixed(\\r\\n                            2\\r\\n                          )\\r\\n                        }}</span\\r\\n                      >\\r\\n                    </div>\\r\\n                  </div>\\r\\n                  <div\\r\\n                    class=\\\"col-md-12 order_invoice_row\\\"\\r\\n                    *ngIf=\\\"\\r\\n                      order_detail.order_payment_detail.delivery_offer_price\\r\\n                    \\\"\\r\\n                    style=\\\"color: #ad3e00\\\"\\r\\n                  >\\r\\n                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                      <span\\r\\n                        >{{ currency_sign\\r\\n                        }}{{\\r\\n                          order_detail.order_payment_detail\\r\\n                            .delivery_offer_message\\r\\n                        }}</span\\r\\n                      >\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                      <span style=\\\"float: right\\\"\\r\\n                        >{{ currency_sign\\r\\n                        }}{{\\r\\n                          order_detail.order_payment_detail.delivery_offer_price.toFixed(\\r\\n                            2\\r\\n                          )\\r\\n                        }}</span\\r\\n                      >\\r\\n                    </div>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                      <span>{{ title.tax_price | translate }}</span>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                      <span style=\\\"float: right\\\"\\r\\n                        >{{ currency_sign\\r\\n                        }}{{\\r\\n                          order_detail.order_payment_detail.total_admin_tax_price.toFixed(\\r\\n                            2\\r\\n                          )\\r\\n                        }}</span\\r\\n                      >\\r\\n                    </div>\\r\\n                  </div>\\r\\n                  <div\\r\\n                    class=\\\"col-md-12 order_invoice_row\\\"\\r\\n                    *ngIf=\\\"\\r\\n                      order_detail.order_payment_detail\\r\\n                        .is_promo_for_delivery_service == true\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                      <span>{{ title.promo_bonus | translate }}</span>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                      <span style=\\\"float: right\\\"\\r\\n                        >{{ currency_sign\\r\\n                        }}{{\\r\\n                          order_detail.order_payment_detail.promo_payment.toFixed(\\r\\n                            2\\r\\n                          )\\r\\n                        }}</span\\r\\n                      >\\r\\n                    </div>\\r\\n                  </div>\\r\\n                  <div\\r\\n                    class=\\\"col-md-12 order_invoice_row\\\"\\r\\n                    *ngIf=\\\"\\r\\n                      order_detail.order_payment_detail.delivery_promo_payment >\\r\\n                      0\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                      <span>{{ title.promo_bonus | translate }}</span>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                      <span style=\\\"float: right\\\"\\r\\n                        >{{ currency_sign\\r\\n                        }}{{\\r\\n                          order_detail.order_payment_detail.delivery_promo_payment.toFixed(\\r\\n                            2\\r\\n                          )\\r\\n                        }}</span\\r\\n                      >\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div\\r\\n                  class=\\\"row invoice_seperator\\\"\\r\\n                  *ngIf=\\\"!order_detail.is_hopper_on_demand\\\"\\r\\n                >\\r\\n                  <div\\r\\n                    class=\\\"col-md-12 order_invoice_row\\\"\\r\\n                    style=\\\"margin-top: 10px\\\"\\r\\n                  >\\r\\n                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                      <h5 style=\\\"margin-bottom: 0\\\">\\r\\n                        {{ title.total_order_price | translate }}\\r\\n                      </h5>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                      <h5 style=\\\"float: right; margin-bottom: 0\\\">\\r\\n                        {{ currency_sign\\r\\n                        }}{{\\r\\n                          order_detail.order_payment_detail.total_order_price.toFixed(\\r\\n                            2\\r\\n                          )\\r\\n                        }}\\r\\n                      </h5>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                      <span>{{ title.order_price | translate }}</span>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                      <span style=\\\"float: right\\\"\\r\\n                        >{{ currency_sign\\r\\n                        }}{{\\r\\n                          (\\r\\n                            order_detail.order_payment_detail.total_cart_price +\\r\\n                            (order_detail.order_payment_detail.cart_offer_price\\r\\n                              ? order_detail.order_payment_detail\\r\\n                                  .cart_offer_price\\r\\n                              : 0)\\r\\n                          ).toFixed(2)\\r\\n                        }}</span\\r\\n                      >\\r\\n                    </div>\\r\\n                  </div>\\r\\n                  <div\\r\\n                    class=\\\"col-md-12 order_invoice_row\\\"\\r\\n                    *ngIf=\\\"order_detail.order_payment_detail.cart_offer_price\\\"\\r\\n                    style=\\\"color: #ad3e00\\\"\\r\\n                  >\\r\\n                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                      <span\\r\\n                        >{{ currency_sign\\r\\n                        }}{{\\r\\n                          order_detail.order_payment_detail.cart_offer_message\\r\\n                        }}</span\\r\\n                      >\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                      <span style=\\\"float: right\\\"\\r\\n                        >{{ currency_sign\\r\\n                        }}{{\\r\\n                          order_detail.order_payment_detail.cart_offer_price.toFixed(\\r\\n                            2\\r\\n                          )\\r\\n                        }}</span\\r\\n                      >\\r\\n                    </div>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                      <span>{{ title.tax_price | translate }}</span>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                      <span style=\\\"float: right\\\"\\r\\n                        >{{ currency_sign\\r\\n                        }}{{\\r\\n                          order_detail.order_payment_detail.total_store_tax_price.toFixed(\\r\\n                            2\\r\\n                          )\\r\\n                        }}</span\\r\\n                      >\\r\\n                    </div>\\r\\n                  </div>\\r\\n                  <div\\r\\n                    class=\\\"col-md-12 order_invoice_row\\\"\\r\\n                    *ngIf=\\\"\\r\\n                      order_detail.order_payment_detail\\r\\n                        .is_promo_for_delivery_service == false\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                      <span>{{ title.promo_bonus | translate }}</span>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                      <span style=\\\"float: right\\\"\\r\\n                        >{{ currency_sign\\r\\n                        }}{{\\r\\n                          order_detail.order_payment_detail.promo_payment.toFixed(\\r\\n                            2\\r\\n                          )\\r\\n                        }}</span\\r\\n                      >\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div\\r\\n                  class=\\\"row invoice_seperator\\\"\\r\\n                  *ngIf=\\\"!order_detail.is_hopper_on_demand\\\"\\r\\n                >\\r\\n                  <div\\r\\n                    class=\\\"col-md-12 order_invoice_row\\\"\\r\\n                    style=\\\"margin-top: 10px\\\"\\r\\n                  >\\r\\n                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                      <h5 style=\\\"margin-bottom: 0\\\">\\r\\n                        {{ title.service_fee | translate }}\\r\\n                      </h5>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                      <h5 style=\\\"float: right; margin-bottom: 0\\\">\\r\\n                        {{ currency_sign\\r\\n                        }}{{\\r\\n                          order_detail.order_payment_detail.service_fee\\r\\n                            ? order_detail.order_payment_detail.service_fee.toFixed(\\r\\n                                2\\r\\n                              )\\r\\n                            : 0.0\\r\\n                        }}\\r\\n                      </h5>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"row invoice_seperator\\\">\\r\\n                  <div\\r\\n                    class=\\\"col-md-12 order_invoice_row\\\"\\r\\n                    style=\\\"margin-top: 10px\\\"\\r\\n                  >\\r\\n                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                      <h5 style=\\\"margin-bottom: 0\\\">\\r\\n                        {{ title.tip_price | translate }}\\r\\n                      </h5>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                      <h5 style=\\\"float: right; margin-bottom: 0\\\">\\r\\n                        {{ currency_sign\\r\\n                        }}{{\\r\\n                          order_detail.order_payment_detail.tip_price\\r\\n                            ? order_detail.order_payment_detail.tip_price.toFixed(\\r\\n                                2\\r\\n                              )\\r\\n                            : 0.0\\r\\n                        }}\\r\\n                      </h5>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div\\r\\n                  class=\\\"row invoice_seperator\\\"\\r\\n                  *ngIf=\\\"order_detail.is_hopper_on_demand\\\"\\r\\n                >\\r\\n                  <div\\r\\n                    class=\\\"col-md-12 order_invoice_row\\\"\\r\\n                    style=\\\"margin-top: 10px\\\"\\r\\n                  >\\r\\n                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                      <h5 style=\\\"margin-bottom: 0\\\">\\r\\n                        {{ title.hop_fee | translate }}\\r\\n                      </h5>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                      <h5 style=\\\"float: right; margin-bottom: 0\\\">\\r\\n                        {{ currency_sign\\r\\n                        }}{{\\r\\n                          order_detail.order_payment_detail.hop_fee\\r\\n                            ? order_detail.order_payment_detail.hop_fee.toFixed(\\r\\n                                2\\r\\n                              )\\r\\n                            : 0.0\\r\\n                        }}\\r\\n                      </h5>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                  <div\\r\\n                    class=\\\"col-md-12 order_invoice_row\\\"\\r\\n                    style=\\\"margin-top: 10px\\\"\\r\\n                  >\\r\\n                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                      <h5 style=\\\"margin-bottom: 0\\\">\\r\\n                        {{ title.vehicle_charge | translate }}\\r\\n                      </h5>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                      <h5 style=\\\"float: right; margin-bottom: 0\\\">\\r\\n                        {{ currency_sign\\r\\n                        }}{{\\r\\n                          order_detail.order_payment_detail.vehicle_charge\\r\\n                            ? order_detail.order_payment_detail.vehicle_charge.toFixed(\\r\\n                                2\\r\\n                              )\\r\\n                            : 0.0\\r\\n                        }}\\r\\n                      </h5>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div\\r\\n                  class=\\\"row invoice_seperator\\\"\\r\\n                  *ngIf=\\\"\\r\\n                    order_detail.order_status_id ==\\r\\n                      helper.ORDER_STATUS_ID.CANCELLED &&\\r\\n                    order_detail.order_payment_detail\\r\\n                      .order_cancellation_charge > 0\\r\\n                  \\\"\\r\\n                >\\r\\n                  <div\\r\\n                    class=\\\"col-md-12 order_invoice_row\\\"\\r\\n                    style=\\\"margin-top: 10px\\\"\\r\\n                  >\\r\\n                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                      <h5 style=\\\"margin-bottom: 0\\\">\\r\\n                        {{ title.cancellation_charge | translate }}\\r\\n                      </h5>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                      <h5 style=\\\"margin-bottom: 0; float: right\\\">\\r\\n                        {{ currency_sign\\r\\n                        }}{{\\r\\n                          order_detail.order_payment_detail.order_cancellation_charge.toFixed(\\r\\n                            2\\r\\n                          )\\r\\n                        }}\\r\\n                      </h5>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div\\r\\n                  class=\\\"row invoice_seperator\\\"\\r\\n                  *ngIf=\\\"\\r\\n                    order_detail.order_status_id ==\\r\\n                      helper.ORDER_STATUS_ID.COMPLETED &&\\r\\n                    order_detail.order_payment_detail.is_payment_mode_cash\\r\\n                  \\\"\\r\\n                >\\r\\n                  <!-- <div class=\\\"col-md-12 order_invoice_row\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.store_bear_delivery_fee | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                                            <span style=\\\"float: right;\\\" *ngIf=\\\"order_detail.order_payment_detail.is_store_pay_delivery_fees\\\">{{title.yes | translate}}</span>\\r\\n                                            <span style=\\\"float: right;\\\" *ngIf=\\\"!order_detail.order_payment_detail.is_store_pay_delivery_fees\\\">{{title.no | translate}}</span>\\r\\n                                        </div>\\r\\n                                    </div> -->\\r\\n                  <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                      <span>{{\\r\\n                        title.deliveryman_paid_order_cash_to_store | translate\\r\\n                      }}</span>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                      <span\\r\\n                        style=\\\"float: right\\\"\\r\\n                        *ngIf=\\\"\\r\\n                          order_detail.order_payment_detail\\r\\n                            .provider_paid_order_payment\\r\\n                        \\\"\\r\\n                        >{{ title.yes | translate }}</span\\r\\n                      >\\r\\n                      <span\\r\\n                        style=\\\"float: right\\\"\\r\\n                        *ngIf=\\\"\\r\\n                          !order_detail.order_payment_detail\\r\\n                            .provider_paid_order_payment\\r\\n                        \\\"\\r\\n                        >{{ title.no | translate }}</span\\r\\n                      >\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div\\r\\n                  class=\\\"row invoice_seperator\\\"\\r\\n                  *ngIf=\\\"\\r\\n                    order_detail.order_status_id ==\\r\\n                      helper.ORDER_STATUS_ID.COMPLETED &&\\r\\n                    !order_detail.is_hopper_on_demand\\r\\n                  \\\"\\r\\n                >\\r\\n                  <div\\r\\n                    class=\\\"col-md-12 order_invoice_row\\\"\\r\\n                    style=\\\"margin-top: 10px\\\"\\r\\n                  >\\r\\n                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                      <span>{{ title.store_profit | translate }}</span>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                      <span style=\\\"float: right\\\"\\r\\n                        >{{ currency_sign\\r\\n                        }}{{\\r\\n                          order_detail.order_payment_detail.total_store_income.toFixed(\\r\\n                            2\\r\\n                          )\\r\\n                        }}</span\\r\\n                      >\\r\\n                    </div>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                      <span\\r\\n                        *ngIf=\\\"\\r\\n                          order_detail.order_payment_detail\\r\\n                            .is_store_income_set_in_wallet\\r\\n                        \\\"\\r\\n                        style=\\\"color: green\\\"\\r\\n                        >{{ title.sattlement_with_store | translate }}</span\\r\\n                      >\\r\\n                      <span\\r\\n                        *ngIf=\\\"\\r\\n                          !order_detail.order_payment_detail\\r\\n                            .is_store_income_set_in_wallet\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <span\\r\\n                          *ngIf=\\\"\\r\\n                            order_detail.order_payment_detail\\r\\n                              .is_transfered_to_store\\r\\n                          \\\"\\r\\n                          style=\\\"color: green\\\"\\r\\n                          >{{ title.sattlement_with_store | translate }}</span\\r\\n                        >\\r\\n                        <span\\r\\n                          *ngIf=\\\"\\r\\n                            !order_detail.order_payment_detail\\r\\n                              .is_transfered_to_store\\r\\n                          \\\"\\r\\n                          style=\\\"color: red\\\"\\r\\n                          >{{ title.sattlement_with_store | translate }}</span\\r\\n                        >\\r\\n                      </span>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                      <span\\r\\n                        style=\\\"float: right\\\"\\r\\n                        *ngIf=\\\"\\r\\n                          order_detail.order_payment_detail\\r\\n                            .is_store_income_set_in_wallet\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <span style=\\\"color: green\\\"\\r\\n                          >{{ currency_sign\\r\\n                          }}{{\\r\\n                            order_detail.order_payment_detail.store_income_set_in_wallet.toFixed(\\r\\n                              2\\r\\n                            )\\r\\n                          }}\\r\\n                          ({{ title.wallet | translate }})</span\\r\\n                        >\\r\\n                      </span>\\r\\n                      <span\\r\\n                        style=\\\"float: right\\\"\\r\\n                        *ngIf=\\\"\\r\\n                          !order_detail.order_payment_detail\\r\\n                            .is_store_income_set_in_wallet\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <span\\r\\n                          style=\\\"color: green\\\"\\r\\n                          *ngIf=\\\"\\r\\n                            order_detail.order_payment_detail\\r\\n                              .is_transfered_to_store\\r\\n                          \\\"\\r\\n                          >{{ currency_sign\\r\\n                          }}{{\\r\\n                            order_detail.order_payment_detail.pay_to_store.toFixed(\\r\\n                              2\\r\\n                            )\\r\\n                          }}</span\\r\\n                        >\\r\\n                        <span\\r\\n                          style=\\\"color: red\\\"\\r\\n                          *ngIf=\\\"\\r\\n                            !order_detail.order_payment_detail\\r\\n                              .is_transfered_to_store\\r\\n                          \\\"\\r\\n                          >{{ currency_sign\\r\\n                          }}{{\\r\\n                            order_detail.order_payment_detail.pay_to_store.toFixed(\\r\\n                              2\\r\\n                            )\\r\\n                          }}</span\\r\\n                        >\\r\\n                      </span>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div\\r\\n                  class=\\\"row invoice_seperator\\\"\\r\\n                  *ngIf=\\\"\\r\\n                    order_detail.order_status_id ==\\r\\n                    helper.ORDER_STATUS_ID.COMPLETED\\r\\n                  \\\"\\r\\n                >\\r\\n                  <div\\r\\n                    class=\\\"col-md-12 order_invoice_row\\\"\\r\\n                    style=\\\"margin-top: 10px\\\"\\r\\n                  >\\r\\n                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                      <span>{{ title.deliveryman_profit | translate }}</span>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                      <span style=\\\"float: right\\\"\\r\\n                        >{{ currency_sign\\r\\n                        }}{{\\r\\n                          order_detail.order_payment_detail.total_provider_income.toFixed(\\r\\n                            2\\r\\n                          )\\r\\n                        }}</span\\r\\n                      >\\r\\n                    </div>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                      <span\\r\\n                        *ngIf=\\\"\\r\\n                          order_detail.order_payment_detail\\r\\n                            .is_store_income_set_in_wallet\\r\\n                        \\\"\\r\\n                        style=\\\"color: green\\\"\\r\\n                        >{{\\r\\n                          title.sattlement_with_deliveryman | translate\\r\\n                        }}</span\\r\\n                      >\\r\\n                      <span\\r\\n                        *ngIf=\\\"\\r\\n                          !order_detail.order_payment_detail\\r\\n                            .is_store_income_set_in_wallet\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <span\\r\\n                          *ngIf=\\\"\\r\\n                            order_detail.order_payment_detail\\r\\n                              .is_transfered_to_store\\r\\n                          \\\"\\r\\n                          style=\\\"color: green\\\"\\r\\n                          >{{\\r\\n                            title.sattlement_with_deliveryman | translate\\r\\n                          }}</span\\r\\n                        >\\r\\n                        <span\\r\\n                          *ngIf=\\\"\\r\\n                            !order_detail.order_payment_detail\\r\\n                              .is_transfered_to_store\\r\\n                          \\\"\\r\\n                          style=\\\"color: red\\\"\\r\\n                          >{{\\r\\n                            title.sattlement_with_deliveryman | translate\\r\\n                          }}</span\\r\\n                        >\\r\\n                      </span>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                      <span\\r\\n                        style=\\\"float: right\\\"\\r\\n                        *ngIf=\\\"\\r\\n                          order_detail.order_payment_detail\\r\\n                            .is_provider_income_set_in_wallet\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <span style=\\\"color: green\\\"\\r\\n                          >{{ currency_sign\\r\\n                          }}{{\\r\\n                            order_detail.order_payment_detail.provider_income_set_in_wallet.toFixed(\\r\\n                              2\\r\\n                            )\\r\\n                          }}\\r\\n                          ({{ title.wallet | translate }})</span\\r\\n                        >\\r\\n                      </span>\\r\\n                      <span\\r\\n                        style=\\\"float: right\\\"\\r\\n                        *ngIf=\\\"\\r\\n                          !order_detail.order_payment_detail\\r\\n                            .is_provider_income_set_in_wallet\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <span\\r\\n                          style=\\\"color: green\\\"\\r\\n                          *ngIf=\\\"\\r\\n                            order_detail.order_payment_detail\\r\\n                              .is_transfered_to_provider\\r\\n                          \\\"\\r\\n                          >{{ currency_sign\\r\\n                          }}{{\\r\\n                            order_detail.order_payment_detail.pay_to_provider.toFixed(\\r\\n                              2\\r\\n                            )\\r\\n                          }}</span\\r\\n                        >\\r\\n                        <span\\r\\n                          style=\\\"color: red\\\"\\r\\n                          *ngIf=\\\"\\r\\n                            !order_detail.order_payment_detail\\r\\n                              .is_transfered_to_provider\\r\\n                          \\\"\\r\\n                          >{{ currency_sign\\r\\n                          }}{{\\r\\n                            order_detail.order_payment_detail.pay_to_provider.toFixed(\\r\\n                              2\\r\\n                            )\\r\\n                          }}</span\\r\\n                        >\\r\\n                      </span>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div\\r\\n                  class=\\\"row invoice_seperator\\\"\\r\\n                  *ngIf=\\\"\\r\\n                    order_detail.order_status_id ==\\r\\n                    helper.ORDER_STATUS_ID.COMPLETED\\r\\n                  \\\"\\r\\n                >\\r\\n                  <div\\r\\n                    class=\\\"col-md-12 order_invoice_row\\\"\\r\\n                    style=\\\"margin-top: 10px\\\"\\r\\n                  >\\r\\n                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                      <span>{{\\r\\n                        title.admin_profit_on_delivery | translate\\r\\n                      }}</span>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                      <span style=\\\"float: right\\\"\\r\\n                        >{{ currency_sign\\r\\n                        }}{{\\r\\n                          order_detail.order_payment_detail.total_admin_profit_on_delivery.toFixed(\\r\\n                            2\\r\\n                          )\\r\\n                        }}</span\\r\\n                      >\\r\\n                    </div>\\r\\n                  </div>\\r\\n                  <div\\r\\n                    class=\\\"col-md-12 order_invoice_row\\\"\\r\\n                    *ngIf=\\\"!order_detail.is_hopper_on_demand\\\"\\r\\n                  >\\r\\n                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                      <span>{{ title.admin_profit_on_store | translate }}</span>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                      <span style=\\\"float: right\\\"\\r\\n                        >{{ currency_sign\\r\\n                        }}{{\\r\\n                          order_detail.order_payment_detail.total_admin_profit_on_store.toFixed(\\r\\n                            2\\r\\n                          )\\r\\n                        }}</span\\r\\n                      >\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"row invoice_seperator\\\">\\r\\n                  <div\\r\\n                    class=\\\"col-md-12 order_invoice_row\\\"\\r\\n                    style=\\\"margin-top: 10px\\\"\\r\\n                  >\\r\\n                    <h5 style=\\\"margin-left: 15px\\\">\\r\\n                      Order Created From -\\r\\n                      <span\\r\\n                        *ngIf=\\\"\\r\\n                          order_detail.order_type == helper.ADMIN_DATA_ID.ADMIN\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <span>{{\\r\\n                          order_detail.is_hubrise_order\\r\\n                            ? order_detail.created_by\\r\\n                            : \\\"Admin\\\"\\r\\n                        }}</span>\\r\\n                      </span>\\r\\n                      <span\\r\\n                        *ngIf=\\\"\\r\\n                          order_detail.order_type == helper.ADMIN_DATA_ID.STORE\\r\\n                        \\\"\\r\\n                      >\\r\\n                        Store\\r\\n                      </span>\\r\\n                      <span *ngIf=\\\"order_detail.date_time[0].host\\\">\\r\\n                        : {{ order_detail.date_time[0].host }}\\r\\n                      </span>\\r\\n                      <span\\r\\n                        *ngIf=\\\"\\r\\n                          !order_detail.date_time[0].host &&\\r\\n                          !order_detail.is_hubrise_order\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <span\\r\\n                          *ngIf=\\\"order_detail.date_time[0].device_type == 'ios'\\\"\\r\\n                        >\\r\\n                          : IOS\\r\\n                        </span>\\r\\n                        <span\\r\\n                          *ngIf=\\\"\\r\\n                            order_detail.date_time[0].device_type == 'android'\\r\\n                          \\\"\\r\\n                        >\\r\\n                          : Android\\r\\n                        </span>\\r\\n                        - {{ order_detail.date_time[0].app_version }}\\r\\n                      </span>\\r\\n                    </h5>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n  </modal-body>\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl\\\" #editAddressModal>\\r\\n  <form\\r\\n    #modalAddressForm=\\\"ngForm\\\"\\r\\n    (ngSubmit)=\\\"UpdateAddress(modalAddressForm.value)\\\"\\r\\n  >\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n      <h4 class=\\\"modal-title\\\">{{ heading_title.edit_address | translate }}</h4>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n      <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-12\\\">\\r\\n          <div class=\\\"form-group\\\">\\r\\n            <label style=\\\"font-weight: normal\\\"\\r\\n              ><strong>{{ title.address | translate }}</strong></label\\r\\n            >\\r\\n            <div class=\\\"input-group\\\">\\r\\n              <input type=\\\"text\\\" class=\\\"form-control\\\" id=\\\"address\\\" required />\\r\\n              <span\\r\\n                class=\\\"input-group-addon\\\"\\r\\n                *ngIf=\\\"!is_show_address\\\"\\r\\n                (click)=\\\"is_show_address = true\\\"\\r\\n              >\\r\\n                <span class=\\\"fa fa fa-angle-down\\\"></span>\\r\\n              </span>\\r\\n              <span\\r\\n                class=\\\"input-group-addon\\\"\\r\\n                *ngIf=\\\"is_show_address\\\"\\r\\n                (click)=\\\"is_show_address = false\\\"\\r\\n              >\\r\\n                <span class=\\\"fa fa fa-angle-up\\\"></span>\\r\\n              </span>\\r\\n            </div>\\r\\n            <div\\r\\n              class=\\\"add-con-dropdown-list v-scroll-hide active\\\"\\r\\n              *ngIf=\\\"is_show_address\\\"\\r\\n            >\\r\\n              <h3>Vos adresse enregistrées</h3>\\r\\n              <div class=\\\"address-form-list-main\\\">\\r\\n                <form\\r\\n                  novalidate=\\\"\\\"\\r\\n                  action=\\\"\\\"\\r\\n                  class=\\\"ng-untouched ng-pristine ng-valid\\\"\\r\\n                >\\r\\n                  <div\\r\\n                    class=\\\"address-form-list\\\"\\r\\n                    *ngFor=\\\"let address of favourite_addresses\\\"\\r\\n                    (click)=\\\"set_address(address)\\\"\\r\\n                  >\\r\\n                    <input\\r\\n                      type=\\\"text\\\"\\r\\n                      readonly=\\\"\\\"\\r\\n                      class=\\\"form-control\\\"\\r\\n                      placeholder=\\\"{{ address.address }}\\\"\\r\\n                    />\\r\\n                  </div>\\r\\n                </form>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-12\\\">\\r\\n          <div class=\\\"form-group\\\">\\r\\n            <label style=\\\"font-weight: normal\\\"><strong>Comment</strong></label>\\r\\n            <input\\r\\n              type=\\\"text\\\"\\r\\n              class=\\\"form-control\\\"\\r\\n              [(ngModel)]=\\\"note\\\"\\r\\n              name=\\\"note\\\"\\r\\n            />\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-6\\\">\\r\\n          <div class=\\\"form-group\\\">\\r\\n            <label style=\\\"font-weight: normal\\\"><strong>Floor</strong></label>\\r\\n            <input\\r\\n              type=\\\"text\\\"\\r\\n              class=\\\"form-control\\\"\\r\\n              [(ngModel)]=\\\"floor\\\"\\r\\n              name=\\\"floor\\\"\\r\\n            />\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-6\\\">\\r\\n          <div class=\\\"form-group\\\">\\r\\n            <label style=\\\"font-weight: normal\\\"\\r\\n              ><strong>Entry Code</strong></label\\r\\n            >\\r\\n            <input\\r\\n              type=\\\"text\\\"\\r\\n              class=\\\"form-control\\\"\\r\\n              [(ngModel)]=\\\"entry_code\\\"\\r\\n              name=\\\"entry_code\\\"\\r\\n            />\\r\\n          </div>\\r\\n        </div>\\r\\n        <div\\r\\n          class=\\\"col-md-6\\\"\\r\\n          [hidden]=\\\"!order_detail.order_payment_detail.is_user_pick_up_order\\\"\\r\\n        >\\r\\n          <div class=\\\"form-group\\\">\\r\\n            <label style=\\\"font-weight: normal\\\"\\r\\n              ><strong>Select Provider</strong></label\\r\\n            >\\r\\n            <select\\r\\n              chosen\\r\\n              class=\\\"chosen-select\\\"\\r\\n              id=\\\"provider_id\\\"\\r\\n              [(ngModel)]=\\\"provider_id\\\"\\r\\n              name=\\\"provider_id\\\"\\r\\n              tabindex=\\\"4\\\"\\r\\n            >\\r\\n              <option value=\\\"\\\">Select Deliveryman</option>\\r\\n              <option\\r\\n                *ngFor=\\\"let provider of provider_list\\\"\\r\\n                value=\\\"{{ provider._id }}\\\"\\r\\n              >\\r\\n                <span style=\\\"color: black\\\"\\r\\n                  >{{ provider.first_name }} {{ provider.last_name }}</span\\r\\n                >\\r\\n                <span>({{ provider.vehicle_name }})</span>\\r\\n              </option>\\r\\n            </select>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n      <div style=\\\"text-align: center\\\">\\r\\n        <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">\\r\\n          {{ button.update | translate }}\\r\\n        </button>\\r\\n      </div>\\r\\n    </modal-footer>\\r\\n  </form>\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl\\\" #refund_modal>\\r\\n  <form #delayForm=\\\"ngForm\\\" (ngSubmit)=\\\"delayForm.valid && update_delay()\\\">\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n      <h4 class=\\\"modal-title\\\">Delay (#{{ order_detail.unique_id }})</h4>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n      <div class=\\\"row\\\" style=\\\"margin-top: 30px\\\">\\r\\n        <div\\r\\n          class=\\\"col-md-12\\\"\\r\\n          *ngIf=\\\"\\r\\n            !order_detail.is_user_pick_up_order && order_detail.provider_detail\\r\\n          \\\"\\r\\n        >\\r\\n          <label class=\\\"col-md-6\\\">Hopper:</label>\\r\\n          <span class=\\\"col-md-6\\\"\\r\\n            >{{\\r\\n              order_detail.provider_detail.first_name +\\r\\n                \\\" \\\" +\\r\\n                order_detail.provider_detail.last_name\\r\\n            }}\\r\\n            ({{ order_detail.provider_detail.rate }} |\\r\\n            {{ order_detail.unique_id }})</span\\r\\n          >\\r\\n        </div>\\r\\n        <div class=\\\"col-md-12\\\" *ngIf=\\\"!order_detail.is_user_pick_up_order\\\">\\r\\n          <label class=\\\"col-md-6\\\">Delivery Time:</label>\\r\\n          <span class=\\\"col-md-6\\\"\\r\\n            >{{ order_detail.total_delivery_time }} |\\r\\n            {{ order_detail.total_time }}</span\\r\\n          >\\r\\n        </div>\\r\\n        <div\\r\\n          class=\\\"col-md-12\\\"\\r\\n          *ngIf=\\\"!order_detail.is_hopper_on_demand && order_detail.store_detail\\\"\\r\\n        >\\r\\n          <label class=\\\"col-md-6\\\">Store:</label>\\r\\n          <span class=\\\"col-md-6\\\">{{ order_detail.store_detail.name }}</span>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-12\\\" *ngIf=\\\"!order_detail.is_hopper_on_demand\\\">\\r\\n          <label class=\\\"col-md-6\\\">Preparation Time:</label>\\r\\n          <span class=\\\"col-md-6\\\"\\r\\n            >{{ order_detail.actual_preparation_time }} |\\r\\n            {{ order_detail.preparation_time }}</span\\r\\n          >\\r\\n        </div>\\r\\n        <div class=\\\"col-md-12\\\" *ngIf=\\\"!order_detail.is_hopper_on_demand\\\">\\r\\n          <label class=\\\"col-md-6\\\">Added Time:</label>\\r\\n          <span class=\\\"col-md-6\\\">{{\\r\\n            order_detail.is_time_updated ? \\\"Yes\\\" : \\\"No\\\"\\r\\n          }}</span>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-md-12\\\" *ngIf=\\\"order_detail.total\\\">\\r\\n          <label class=\\\"col-md-6\\\">Total</label>\\r\\n          <span class=\\\"col-md-6\\\">{{ order_detail.total.toFixed(2) }}</span>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-12\\\" *ngIf=\\\"order_detail.total_cart_price\\\">\\r\\n          <label class=\\\"col-md-6\\\">Product Price:</label>\\r\\n          <span class=\\\"col-md-6\\\">{{\\r\\n            order_detail.total_cart_price.toFixed(2)\\r\\n          }}</span>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-12\\\" *ngIf=\\\"order_detail.total_delivery_price\\\">\\r\\n          <label class=\\\"col-md-6\\\">Delivery Price:</label>\\r\\n          <span class=\\\"col-md-6\\\">{{\\r\\n            order_detail.total_delivery_price.toFixed(2)\\r\\n          }}</span>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-12\\\">\\r\\n          <label class=\\\"col-md-6\\\">Total number of order:</label>\\r\\n          <span class=\\\"col-md-6\\\">{{ user_order_detail.total_order }}</span>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-12\\\" *ngIf=\\\"!order_detail.is_hopper_on_demand\\\">\\r\\n          <label class=\\\"col-md-6\\\">number of order in this store:</label>\\r\\n          <span class=\\\"col-md-6\\\">{{\\r\\n            user_order_detail.total_store_order\\r\\n          }}</span>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"row\\\" style=\\\"margin-top: 20px\\\">\\r\\n        <div class=\\\"col-md-12\\\">\\r\\n          <div class=\\\"col-md-12 btn-group\\\">\\r\\n            <button\\r\\n              *ngIf=\\\"!order_detail.is_hopper_on_demand\\\"\\r\\n              type=\\\"button\\\"\\r\\n              class=\\\"btn\\\"\\r\\n              (click)=\\\"bonus_info.user_type = helper.ADMIN_DATA_ID.STORE\\\"\\r\\n              [class.btn-light_black]=\\\"\\r\\n                bonus_info.user_type == helper.ADMIN_DATA_ID.STORE\\r\\n              \\\"\\r\\n            >\\r\\n              Store\\r\\n            </button>\\r\\n            <button\\r\\n              *ngIf=\\\"!order_detail.is_user_pick_up_order\\\"\\r\\n              type=\\\"button\\\"\\r\\n              class=\\\"btn\\\"\\r\\n              (click)=\\\"bonus_info.user_type = helper.ADMIN_DATA_ID.PROVIDER\\\"\\r\\n              [class.btn-light_black]=\\\"\\r\\n                bonus_info.user_type == helper.ADMIN_DATA_ID.PROVIDER\\r\\n              \\\"\\r\\n            >\\r\\n              Hopper\\r\\n            </button>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"row\\\" style=\\\"margin-top: 16px\\\">\\r\\n        <div class=\\\"col-md-12\\\">\\r\\n          <label class=\\\"col-md-3\\\" style=\\\"font-weight: normal\\\"\\r\\n            ><strong>Amount:</strong></label\\r\\n          >\\r\\n          <div class=\\\"form-group col-md-3\\\">\\r\\n            <input\\r\\n              type=\\\"text\\\"\\r\\n              class=\\\"form-control\\\"\\r\\n              [(ngModel)]=\\\"bonus_info.bonus_amount\\\"\\r\\n              #bonus_amount=\\\"ngModel\\\"\\r\\n              name=\\\"bonus_amount\\\"\\r\\n              required\\r\\n            />\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n      <div style=\\\"text-align: center\\\">\\r\\n        <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">\\r\\n          {{ button.submit | translate }}\\r\\n        </button>\\r\\n      </div>\\r\\n    </modal-footer>\\r\\n  </form>\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-invoice\\\" #image_modal>\\r\\n  <modal-header [show-close]=\\\"true\\\">\\r\\n    <h4 class=\\\"modal-title\\\">{{ heading_title.image | translate }}</h4>\\r\\n  </modal-header>\\r\\n  <modal-body>\\r\\n    <div class=\\\"row\\\">\\r\\n      <div class=\\\"col-md-12\\\">\\r\\n        <img\\r\\n          style=\\\"width: 100%; height: auto\\\"\\r\\n          [src]=\\\"helper.CONSTANT.IMAGE_BASE_URL + image\\\"\\r\\n        />\\r\\n      </div>\\r\\n    </div>\\r\\n  </modal-body>\\r\\n</modal>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/history/history.component.html\n// module id = 1600\n// module chunks = 0","module.exports = \"<style type=\\\"text/css\\\">\\r\\n  .scrollbar {\\r\\n    height: 100%;\\r\\n    background: #fff;\\r\\n    overflow-y: auto;\\r\\n  }\\r\\n\\r\\n  .scrollbar::-webkit-scrollbar-track {\\r\\n    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);\\r\\n    background-color: #fff;\\r\\n  }\\r\\n\\r\\n  .scrollbar::-webkit-scrollbar {\\r\\n    width: 3px;\\r\\n    background-color: #222222;\\r\\n  }\\r\\n\\r\\n  .scrollbar::-webkit-scrollbar-thumb {\\r\\n    background-color: #000000;\\r\\n  }\\r\\n</style>\\r\\n<footer [myLoading]=\\\"myLoading\\\"></footer>\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n  <div class=\\\"row\\\">\\r\\n    <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n      <div class=\\\"lable_center\\\">\\r\\n        <label>{{ title.search | translate }}</label>\\r\\n      </div>\\r\\n\\r\\n      <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"search_field\\\"\\r\\n            [(ngModel)]=\\\"search_field\\\"\\r\\n            name=\\\"search_field\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <option value=\\\"unique_id\\\">{{ title.order_id | translate }}</option>\\r\\n            <option value=\\\"provider_unique_id\\\">\\r\\n              {{ title.provider_id | translate }}\\r\\n            </option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n        <div class=\\\"form-group\\\">\\r\\n          <div class=\\\"input-group\\\">\\r\\n            <input\\r\\n              type=\\\"text\\\"\\r\\n              class=\\\"form-control search_box\\\"\\r\\n              [(ngModel)]=\\\"search_value\\\"\\r\\n              name=\\\"search_value\\\"\\r\\n            />\\r\\n            <span class=\\\"input-group-addon search_icon\\\"\\r\\n              ><span class=\\\"fa fa-search\\\"></span\\r\\n            ></span>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n      <div class=\\\"lable_center\\\">\\r\\n        <label>{{ title.sort | translate }}</label>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n        <div class=\\\"form-group\\\" id=\\\"sort_fields\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"sort_field\\\"\\r\\n            [(ngModel)]=\\\"sort_field\\\"\\r\\n            name=\\\"sort_field\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <option value=\\\"gain\\\">{{ title.price | translate }}</option>\\r\\n            <option value=\\\"bonus\\\">{{ title.bonus | translate }}</option>\\r\\n            <option value=\\\"malus\\\">{{ title.malus | translate }}</option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n        <div class=\\\"form-group\\\" id=\\\"sort_orders\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"sort_order\\\"\\r\\n            [(ngModel)]=\\\"sort_order\\\"\\r\\n            name=\\\"sort_order\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <option value=\\\"1\\\">{{ title.ascending | translate }}</option>\\r\\n            <option value=\\\"-1\\\">{{ title.descending | translate }}</option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n      <div class=\\\"lable_center\\\">\\r\\n        <label>{{ title.date_filter | translate }}</label>\\r\\n      </div>\\r\\n\\r\\n      <!-- <div class=\\\"col-md-12 remove_padding\\\">\\r\\n\\r\\n\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n\\r\\n                        <my-date-picker id=\\\"start_date\\\" [options]=\\\"helper.myStartDatePickerOptions\\\" placeholder=\\\"Start Date\\\" [(ngModel)]=\\\"start_date\\\" (dateChanged)=\\\"helper.onStartDateChanged($event)\\\"\\r\\n                                        readonly></my-date-picker>\\r\\n                        <span class=\\\"input-group-addon date_filter_icon\\\">To</span>\\r\\n\\r\\n                        <my-date-picker id=\\\"end_date\\\" [options]=\\\"helper.myEndDatePickerOptions\\\" placeholder=\\\"End Date\\\" [(ngModel)]=\\\"end_date\\\" (dateChanged)=\\\"helper.onEndDateChanged($event)\\\"\\r\\n                                        readonly></my-date-picker>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div> -->\\r\\n      <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n        <div class=\\\"form-group\\\" id=\\\"sort_fields\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"select_year\\\"\\r\\n            [(ngModel)]=\\\"select_year\\\"\\r\\n            name=\\\"select_year\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <option *ngFor=\\\"let year of year_array\\\" value=\\\"{{ year }}\\\">\\r\\n              {{ year }}\\r\\n            </option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n        <div class=\\\"form-group\\\" id=\\\"sort_orders\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"select_month\\\"\\r\\n            [(ngModel)]=\\\"select_month\\\"\\r\\n            name=\\\"select_month\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <option *ngFor=\\\"let month of month_array\\\" value=\\\"{{ month.value }}\\\">\\r\\n              {{ month.text }}\\r\\n            </option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n    <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n      <div class=\\\"col-md-12 col-sm-12 remove_padding\\\">\\r\\n        <div class=\\\"lable_center\\\">\\r\\n          <label>{{ title.filter | translate }}</label>\\r\\n        </div>\\r\\n        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"filter\\\"\\r\\n            [(ngModel)]=\\\"filter\\\"\\r\\n            name=\\\"filter\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <option value=\\\"1\\\">Chiffre d'affaire</option>\\r\\n            <option value=\\\"2\\\">Notation du Store</option>\\r\\n            <option value=\\\"3\\\">Nombre de commande</option>\\r\\n            <option value=\\\"4\\\">Temps de preparation</option>\\r\\n            <option value=\\\"5\\\">NON SAAS</option>\\r\\n            <option value=\\\"6\\\">SAAS</option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n      <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n        <div class=\\\"lable_center\\\">\\r\\n          <label>{{ title.country | translate }}</label>\\r\\n        </div>\\r\\n        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"country\\\"\\r\\n            [(ngModel)]=\\\"country_id\\\"\\r\\n            name=\\\"country_id\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <!-- <option value=\\\"\\\">All</option> -->\\r\\n            <option *ngFor=\\\"let i of country_list\\\" value=\\\"{{ i._id }}\\\">\\r\\n              {{ i.country_name }}\\r\\n            </option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n        <div class=\\\"lable_center\\\">\\r\\n          <label>{{ title.city | translate }}</label>\\r\\n        </div>\\r\\n        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"city\\\"\\r\\n            [(ngModel)]=\\\"city_id\\\"\\r\\n            name=\\\"city_id\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <option value=\\\"\\\">All</option>\\r\\n            <option *ngFor=\\\"let i of city_list\\\" value=\\\"{{ i._id }}\\\">\\r\\n              {{ i.city_name }}\\r\\n            </option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n      <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n        <input\\r\\n          type=\\\"button\\\"\\r\\n          (click)=\\\"order_earning_export_csv()\\\"\\r\\n          class=\\\"btn export_excel_btn pull-right\\\"\\r\\n          value=\\\"{{ button.export_excel | translate }}\\\"\\r\\n        />\\r\\n      </div>\\r\\n      <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n        <input\\r\\n          type=\\\"button\\\"\\r\\n          (click)=\\\"order_earning(1)\\\"\\r\\n          class=\\\"btn filter_apply_btn pull-right\\\"\\r\\n          value=\\\"{{ button.apply | translate }}\\\"\\r\\n        />\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n</div>\\r\\n\\r\\n<div class=\\\"wrapper wrapper-content content_top_bar_view3 animated fadeInRight\\\">\\r\\n  <div class=\\\"ibox\\\" *ngIf=\\\"order_list.length == 0\\\">\\r\\n    <div class=\\\"ibox-content\\\">\\r\\n      <div class=\\\"lable_center\\\">\\r\\n        <label>No Records</label>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n  <div class=\\\"ibox\\\" *ngIf=\\\"order_list.length > 0\\\">\\r\\n    <div class=\\\"ibox-content\\\">\\r\\n      <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n          <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n              <h2>{{ order_total.total.toFixed(2) }}</h2>\\r\\n              <label class=\\\"control-label\\\">{{\\r\\n                title.total_gain | translate\\r\\n              }}</label>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n          <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n              <h2>{{ order_total.total_completed_orders }}</h2>\\r\\n              <label class=\\\"control-label\\\">{{\\r\\n                title.total_completed_commande | translate\\r\\n              }}</label>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n          <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n              <h2>{{ order_total.positive_hopper_amount.toFixed(2) }}</h2>\\r\\n              <label class=\\\"control-label\\\">{{\\r\\n                title.positive_hopper_amount | translate\\r\\n              }}</label>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n          <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n              <h2>{{ order_total.negative_hopper_amount.toFixed(2) }}</h2>\\r\\n              <label class=\\\"control-label\\\">{{\\r\\n                title.negative_hopper_amount | translate\\r\\n              }}</label>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n          <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n              <h2>{{ order_total.no_of_negative_hopper }}</h2>\\r\\n              <label class=\\\"control-label\\\">{{\\r\\n                title.no_of_malus_provider | translate\\r\\n              }}</label>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n          <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n              <h2>{{ order_total.no_of_working_provider }}</h2>\\r\\n              <label class=\\\"control-label\\\">{{\\r\\n                title.no_of_working_provider | translate\\r\\n              }}</label>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n          <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n              <h2>{{ order_total.no_of_bonus_provider }}</h2>\\r\\n              <label class=\\\"control-label\\\">{{\\r\\n                title.no_of_bonus_provider | translate\\r\\n              }}</label>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n          <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n              <h2>{{ order_total.gain_final.toFixed(2) }}</h2>\\r\\n              <label class=\\\"control-label\\\">{{\\r\\n                title.gain_final | translate\\r\\n              }}</label>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n        <div\\r\\n          class=\\\"col-lg-2 col-sm-6 set_padding\\\"\\r\\n          (click)=\\\"open_positive_modal()\\\"\\r\\n        >\\r\\n          <div class=\\\"ibox\\\">\\r\\n            <div\\r\\n              class=\\\"ibox-title\\\"\\r\\n              style=\\\"text-align: center; background: #62da62; color: #fff\\\"\\r\\n            >\\r\\n              <h2>Positive</h2>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n        <div\\r\\n          class=\\\"col-lg-2 col-sm-6 set_padding\\\"\\r\\n          (click)=\\\"open_negative_modal()\\\"\\r\\n        >\\r\\n          <div class=\\\"ibox\\\">\\r\\n            <div\\r\\n              class=\\\"ibox-title\\\"\\r\\n              style=\\\"text-align: center; background: #e04c4c; color: #fff\\\"\\r\\n            >\\r\\n              <h2>Negative</h2>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n      <!-- <div class=\\\"table-responsive\\\">\\r\\n                <table class=\\\"table table-striped\\\">\\r\\n                    <thead>\\r\\n                        <tr>\\r\\n                            <th>{{title.total_completed_orders | translate}}</th>\\r\\n                            <th>{{title.admin_earn | translate}}</th>\\r\\n                            <th>{{title.admin_earn_in_wallet | translate}}</th>\\r\\n                            <th>{{title.provider_earn | translate}}</th>\\r\\n                            <th>{{title.store_earn | translate}}</th>\\r\\n                            <th>{{title.store_income_set_in_wallet | translate}}</th>\\r\\n                        </tr>\\r\\n                    </thead>\\r\\n                    <tbody>\\r\\n                        <tr>\\r\\n                            <td>{{order_total.total_completed_orders}}</td>\\r\\n                            <td>{{(order_total.total_admin_earn).toFixed(2)}}</td>\\r\\n                            <td>{{(order_total.admin_earn_wallet).toFixed(2)}}</td>\\r\\n                            <td>{{(order_total.provider_earn).toFixed(2)}}</td>\\r\\n                            <td>{{(order_total.store_earn).toFixed(2)}}</td>\\r\\n                            <td>{{(order_total.store_income_set_in_wallet).toFixed(2)}}</td>\\r\\n\\r\\n                        </tr>\\r\\n                    </tbody>\\r\\n                    <thead>\\r\\n                        <tr>\\r\\n                            <th>{{title.total_order_amount | translate}}</th>\\r\\n                            <th>{{title.admin_earn_in_cash | translate}}</th>\\r\\n                            <th>{{title.admin_earn_in_other | translate}}</th>\\r\\n                            <th>{{title.pay_to_provider | translate}}</th>\\r\\n                            <th>{{title.pay_to_store | translate}}</th>\\r\\n                            <th>{{title.provider_income_set_in_wallet | translate}}</th>\\r\\n                        </tr>\\r\\n                    </thead>\\r\\n                    <tbody>\\r\\n                        <tr>\\r\\n                            <td>{{(order_total.total).toFixed(2)}}</td>\\r\\n                            <td>{{(order_total.cash_payment).toFixed(2)}}</td>\\r\\n                            <td>{{(order_total.card_payment).toFixed(2)}}</td>\\r\\n                            <td>{{(order_total.pay_to_provider).toFixed(2)}}</td>\\r\\n                            <td>{{(order_total.pay_to_store).toFixed(2)}}</td>\\r\\n                            <td>{{(order_total.provider_income_set_in_wallet).toFixed(2)}}</td>\\r\\n                        </tr>\\r\\n                    </tbody>\\r\\n                </table>\\r\\n            </div> -->\\r\\n    </div>\\r\\n  </div>\\r\\n\\r\\n  <div class=\\\"ibox\\\" *ngIf=\\\"order_list.length > 0\\\">\\r\\n    <div class=\\\"ibox-content\\\" style=\\\"overflow-x: scroll\\\">\\r\\n      <table class=\\\"table table-striped\\\">\\r\\n        <thead>\\r\\n          <tr>\\r\\n            <th>{{ title.ID | translate }} {{ title.store | translate }}</th>\\r\\n            <th>{{ title.provider_names | translate }}</th>\\r\\n            <th>{{ title.no_of_orders | translate }}</th>\\r\\n            <th>{{ title.total_delivery_price | translate }}</th>\\r\\n            <th>{{ title.total_cart_price | translate }}</th>\\r\\n            <th>{{ title.gain | translate }}</th>\\r\\n            <th>{{ title.bonus | translate }}/{{ title.malus | translate }}</th>\\r\\n            <th>\\r\\n              {{ title.saas_subscription_charge_for_provider | translate }}\\r\\n            </th>\\r\\n            <th>{{ title.gain_final | translate }}</th>\\r\\n            <th>{{ title.saas | translate }}</th>\\r\\n            <th>{{ title.note | translate }}</th>\\r\\n            <th>{{ title.country | translate }}</th>\\r\\n            <th>{{ title.city | translate }}</th>\\r\\n            <th>{{ title.earning_promo | translate }}</th>\\r\\n            <th>{{ title.date_chez | translate }}</th>\\r\\n            <!-- <th>{{title.classment | translate}}</th> -->\\r\\n            <th>{{ title.action | translate }}</th>\\r\\n          </tr>\\r\\n        </thead>\\r\\n        <tbody>\\r\\n          <tr\\r\\n            *ngFor=\\\"let order of order_list; let index = index; let last = last\\\"\\r\\n          >\\r\\n            <td>{{ order.unique_id }}</td>\\r\\n            <td>{{ order.name }}</td>\\r\\n            <td>{{ order.total_completed_orders }}</td>\\r\\n            <td>{{ order.total_delivery_price.toFixed(2) }}</td>\\r\\n            <td>{{ order.total_cart_price.toFixed(2) }}</td>\\r\\n            <td>{{ order.gain.toFixed(2) }}</td>\\r\\n            <!-- <td></td> -->\\r\\n            <td>\\r\\n              {{ (order.bonus ? order.bonus : 0).toFixed(2) }}/{{\\r\\n                (order.malus ? order.malus : 0).toFixed(2)\\r\\n              }}\\r\\n            </td>\\r\\n            <td>\\r\\n              -{{\\r\\n                order.subscription_charge\\r\\n                  ? order.subscription_charge.toFixed(2)\\r\\n                  : 0\\r\\n              }}\\r\\n            </td>\\r\\n            <td>\\r\\n              {{\\r\\n                (\\r\\n                  order.gain +\\r\\n                  (order.bonus ? order.bonus : 0) -\\r\\n                  (order.malus ? order.malus : 0) -\\r\\n                  (order.subscription_charge ? order.subscription_charge : 0)\\r\\n                ).toFixed(2)\\r\\n              }}\\r\\n            </td>\\r\\n            <td>Yes</td>\\r\\n            <td>{{ order.user_rate }}</td>\\r\\n            <td>{{ order.country_name }}</td>\\r\\n            <td>{{ order.city_name }}</td>\\r\\n            <td>{{ order.promo }}</td>\\r\\n            <td>\\r\\n              {{ order.first_order_date | date : DATE_FORMAT.DD_MMM_YYYY }}\\r\\n            </td>\\r\\n            <!-- <td></td> -->\\r\\n            <td>\\r\\n              <div\\r\\n                class=\\\"dropdown\\\"\\r\\n                [class.dropup]=\\\"last && !index == 0\\\"\\r\\n                dropdown\\r\\n              >\\r\\n                <button class=\\\"btn btn-primary\\\" dropdown-open>\\r\\n                  {{ title.action | translate }}<span class=\\\"caret\\\"></span>\\r\\n                </button>\\r\\n\\r\\n                <ul class=\\\"dropdown-menu\\\">\\r\\n                  <li>\\r\\n                    <a (click)=\\\"viewOrderEarningDetail(order.provider_id)\\\"\\r\\n                      ><span style=\\\"display: block\\\" class=\\\"nav-label\\\">{{\\r\\n                        button.view_detail | translate\\r\\n                      }}</span>\\r\\n                    </a>\\r\\n                  </li>\\r\\n                </ul>\\r\\n              </div>\\r\\n            </td>\\r\\n          </tr>\\r\\n        </tbody>\\r\\n      </table>\\r\\n      <!--            <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                            <div class=\\\"lable_center\\\">\\r\\n            \\r\\n                                <ul class=\\\"pagination\\\">\\r\\n                                    <li *ngIf=\\\"page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"order_earning(page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                                    <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page==index\\\">\\r\\n                                        <a *ngIf=\\\"index==1 || index==total_page || index==page || index==page-1 || index==page+1\\\" (click)=\\\"order_earning(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                                        <a *ngIf=\\\"(index==1 && (page!==1 && page!==2 && page!==3)) || (index==total_page-1 && (page!==total_page && page!==total_page-1 && page!==total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n            \\r\\n                                    </li>\\r\\n                                    <li *ngIf=\\\"page!==total_page && order_list.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"order_earning(page+1)\\\">{{button.next | translate}}</a></li>\\r\\n                                </ul>\\r\\n                            </div>\\r\\n                        </div>-->\\r\\n    </div>\\r\\n  </div>\\r\\n\\r\\n  <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n    <div class=\\\"lable_center\\\">\\r\\n      <ul class=\\\"pagination\\\">\\r\\n        <li *ngIf=\\\"page !== 1\\\">\\r\\n          <a class=\\\"btn\\\" (click)=\\\"order_earning(page - 1)\\\">{{\\r\\n            button.pre | translate\\r\\n          }}</a>\\r\\n        </li>\\r\\n        <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page == index\\\">\\r\\n          <a\\r\\n            *ngIf=\\\"\\r\\n              index == 1 ||\\r\\n              index == total_page ||\\r\\n              index == page ||\\r\\n              index == page - 1 ||\\r\\n              index == page + 1\\r\\n            \\\"\\r\\n            (click)=\\\"order_earning(index)\\\"\\r\\n            class=\\\"btn\\\"\\r\\n            >{{ index }}</a\\r\\n          >\\r\\n          <a\\r\\n            *ngIf=\\\"\\r\\n              (index == 1 && page !== 1 && page !== 2 && page !== 3) ||\\r\\n              (index == total_page - 1 &&\\r\\n                page !== total_page &&\\r\\n                page !== total_page - 1 &&\\r\\n                page !== total_page - 2)\\r\\n            \\\"\\r\\n            class=\\\"btn\\\"\\r\\n            >...</a\\r\\n          >\\r\\n        </li>\\r\\n        <li *ngIf=\\\"page !== total_page && order_list.length !== 0\\\">\\r\\n          <a class=\\\"btn\\\" (click)=\\\"order_earning(page + 1)\\\">{{\\r\\n            button.next | translate\\r\\n          }}</a>\\r\\n        </li>\\r\\n      </ul>\\r\\n    </div>\\r\\n  </div>\\r\\n</div>\\r\\n\\r\\n<modal cssClass=\\\"\\\" #positive_detail_modal>\\r\\n  <modal-header [show-close]=\\\"true\\\">\\r\\n    <label>{{ heading_title.positive_detail | translate }}</label>\\r\\n  </modal-header>\\r\\n  <modal-body>\\r\\n    <div class=\\\"row\\\">\\r\\n      <div class=\\\"col-lg-4 col-sm-6 set_padding\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n          <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n            <h2>{{ order_total.no_of_bonus_provider }}</h2>\\r\\n            <label class=\\\"control-label\\\">{{\\r\\n              title.no_of_bonus_provider | translate\\r\\n            }}</label>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"col-lg-4 col-sm-6 set_padding\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n          <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n            <h2>{{ order_total.no_of_bonus }}</h2>\\r\\n            <label class=\\\"control-label\\\">{{\\r\\n              title.no_of_bonus | translate\\r\\n            }}</label>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"col-lg-4 col-sm-6 set_padding\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n          <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n            <h2>{{ order_total.total_bonus.toFixed(2) }}</h2>\\r\\n            <label class=\\\"control-label\\\">{{\\r\\n              title.total_bonus | translate\\r\\n            }}</label>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n\\r\\n    <div\\r\\n      class=\\\"table-responsive scrollbar\\\"\\r\\n      style=\\\"height: 100%; margin-top: 35px\\\"\\r\\n    >\\r\\n      <table class=\\\"table\\\">\\r\\n        <thead>\\r\\n          <tr>\\r\\n            <th>{{ title.ID | translate }} {{ title.store | translate }}</th>\\r\\n            <th>{{ title.provider_names | translate }}</th>\\r\\n            <th>{{ title.montant_bonus | translate }}</th>\\r\\n            <th>{{ title.motive | translate }}</th>\\r\\n            <th>{{ title.date | translate }}</th>\\r\\n          </tr>\\r\\n        </thead>\\r\\n        <tbody>\\r\\n          <ng-container\\r\\n            *ngFor=\\\"\\r\\n              let order of order_total.bonus_detail;\\r\\n              let index = index;\\r\\n              let last = last\\r\\n            \\\"\\r\\n          >\\r\\n            <tr\\r\\n              *ngFor=\\\"\\r\\n                let bonus_detail of order;\\r\\n                let index = index;\\r\\n                let last = last\\r\\n              \\\"\\r\\n              [hidden]=\\\"bonus_detail.bonus_type == 2\\\"\\r\\n            >\\r\\n              <td>{{ bonus_detail.type_unique_id }}</td>\\r\\n              <td>{{ bonus_detail.name }}</td>\\r\\n              <td>{{ bonus_detail.total_amount.toFixed(2) }}</td>\\r\\n              <td>{{ bonus_detail.bonus_reason }}</td>\\r\\n              <td>\\r\\n                {{ bonus_detail.bonus_date | date : DATE_FORMAT.DD_MMM_YYYY }}\\r\\n              </td>\\r\\n            </tr>\\r\\n          </ng-container>\\r\\n        </tbody>\\r\\n      </table>\\r\\n    </div>\\r\\n  </modal-body>\\r\\n</modal>\\r\\n\\r\\n<modal cssClass=\\\"\\\" #negative_detail_modal>\\r\\n  <modal-header [show-close]=\\\"true\\\">\\r\\n    <label>{{ heading_title.negative_detail | translate }}</label>\\r\\n  </modal-header>\\r\\n  <modal-body>\\r\\n    <div class=\\\"row\\\">\\r\\n      <div class=\\\"col-lg-4 col-sm-6 set_padding\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n          <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n            <h2>{{ order_total.no_of_malus_provider }}</h2>\\r\\n            <label class=\\\"control-label\\\">{{\\r\\n              title.no_of_malus_provider | translate\\r\\n            }}</label>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"col-lg-4 col-sm-6 set_padding\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n          <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n            <h2>{{ order_total.no_of_malus }}</h2>\\r\\n            <label class=\\\"control-label\\\">{{\\r\\n              title.no_of_malus | translate\\r\\n            }}</label>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"col-lg-4 col-sm-6 set_padding\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n          <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n            <h2>{{ order_total.total_malus.toFixed(2) }}</h2>\\r\\n            <label class=\\\"control-label\\\">{{\\r\\n              title.total_malus | translate\\r\\n            }}</label>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n\\r\\n    <div\\r\\n      class=\\\"table-responsive scrollbar\\\"\\r\\n      style=\\\"height: 100%; margin-top: 35px\\\"\\r\\n    >\\r\\n      <table class=\\\"table\\\">\\r\\n        <thead>\\r\\n          <tr>\\r\\n            <th>{{ title.ID | translate }} {{ title.store | translate }}</th>\\r\\n            <th>{{ title.provider_names | translate }}</th>\\r\\n            <th>{{ title.montant_malus | translate }}</th>\\r\\n            <th>{{ title.motive | translate }}</th>\\r\\n            <th>{{ title.date | translate }}</th>\\r\\n            <th>{{ title.action | translate }}</th>\\r\\n          </tr>\\r\\n        </thead>\\r\\n        <tbody>\\r\\n          <ng-container\\r\\n            *ngFor=\\\"\\r\\n              let order of order_total.bonus_detail;\\r\\n              let index = index;\\r\\n              let last = last\\r\\n            \\\"\\r\\n          >\\r\\n            <tr\\r\\n              *ngFor=\\\"\\r\\n                let bonus_detail of order;\\r\\n                let index = index;\\r\\n                let last = last\\r\\n              \\\"\\r\\n              [hidden]=\\\"bonus_detail.bonus_type == 1\\\"\\r\\n            >\\r\\n              <td>{{ bonus_detail.type_unique_id }}</td>\\r\\n              <td>{{ bonus_detail.name }}</td>\\r\\n              <td>{{ bonus_detail.total_amount.toFixed(2) }}</td>\\r\\n              <td>{{ bonus_detail.bonus_reason }}</td>\\r\\n              <td>\\r\\n                {{ bonus_detail.bonus_date | date : DATE_FORMAT.DD_MMM_YYYY }}\\r\\n              </td>\\r\\n              <td>\\r\\n                <span\\r\\n                  (click)=\\\"delete_malus(bonus_detail.id, index)\\\"\\r\\n                  class=\\\"fa fa-times\\\"\\r\\n                ></span>\\r\\n              </td>\\r\\n            </tr>\\r\\n          </ng-container>\\r\\n          <ng-container>\\r\\n            <tr\\r\\n              *ngFor=\\\"\\r\\n                let bonus_detail of order_total.subscription_detail;\\r\\n                let index = index;\\r\\n                let last = last\\r\\n              \\\"\\r\\n              [hidden]=\\\"bonus_detail.subscription_charge <= 0\\\"\\r\\n            >\\r\\n              <td>{{ bonus_detail.type_unique_id }}</td>\\r\\n              <td>{{ bonus_detail.name }}</td>\\r\\n              <td>{{ bonus_detail.subscription_charge.toFixed(2) }}</td>\\r\\n              <td>Subscription Charge</td>\\r\\n              <td>\\r\\n                {{ bonus_detail.created_at | date : DATE_FORMAT.DD_MMM_YYYY }}\\r\\n              </td>\\r\\n            </tr>\\r\\n          </ng-container>\\r\\n        </tbody>\\r\\n      </table>\\r\\n    </div>\\r\\n  </modal-body>\\r\\n</modal>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/hopper_earning/hopper_earning.component.html\n// module id = 1601\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\"></footer>\\r\\n\\r\\n<div\\r\\n  class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\"\\r\\n  style=\\\"position: unset\\\"\\r\\n>\\r\\n  <div class=\\\"row\\\">\\r\\n    <div class=\\\"col-md-2 col-sm-12\\\">\\r\\n      <div class=\\\"lable_center\\\">\\r\\n        <label>{{ title.date_filter | translate }}</label>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-12 remove_padding\\\">\\r\\n        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"select_year\\\"\\r\\n            [(ngModel)]=\\\"select_year\\\"\\r\\n            name=\\\"select_year\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <option *ngFor=\\\"let year of year_array\\\" value=\\\"{{ year }}\\\">\\r\\n              {{ year }}\\r\\n            </option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"col-md-2 col-sm-12\\\">\\r\\n      <div class=\\\"lable_center\\\">\\r\\n        <label>{{ title.search | translate }}</label>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-12 remove_padding\\\">\\r\\n        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"select_month\\\"\\r\\n            [(ngModel)]=\\\"select_month\\\"\\r\\n            name=\\\"select_month\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <option *ngFor=\\\"let month of month_array\\\" value=\\\"{{ month.value }}\\\">\\r\\n              {{ month.text }}\\r\\n            </option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n      <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n        <input\\r\\n          type=\\\"button\\\"\\r\\n          (click)=\\\"provider_monthly_earning()\\\"\\r\\n          class=\\\"btn filter_apply_btn pull-right\\\"\\r\\n          value=\\\"{{ button.apply | translate }}\\\"\\r\\n        />\\r\\n      </div>\\r\\n      <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n        <input\\r\\n          type=\\\"button\\\"\\r\\n          (click)=\\\"export_excel()\\\"\\r\\n          class=\\\"btn export_excel_btn pull-right\\\"\\r\\n          value=\\\"{{ button.export_excel | translate }}\\\"\\r\\n        />\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n</div>\\r\\n<div\\r\\n  class=\\\"wrapper content_top_bar_view1 wrapper-content animated fadeInRight\\\"\\r\\n  id=\\\"order\\\"\\r\\n  style=\\\"font-size: 20px; padding-top: 0 !important\\\"\\r\\n>\\r\\n  <div style=\\\"margin-top: 20px\\\">\\r\\n    <div>\\r\\n      {{ provider_detail.first_name }} {{ provider_detail.last_name }} ({{\\r\\n        provider_detail.unique_id\\r\\n      }})\\r\\n    </div>\\r\\n    <div>{{ provider_detail.email }}</div>\\r\\n    <div>\\r\\n      {{ provider_detail.country_phone_code }} {{ provider_detail.phone }}\\r\\n    </div>\\r\\n  </div>\\r\\n  <div\\r\\n    class=\\\"pull-right\\\"\\r\\n    style=\\\"margin-right: 50px\\\"\\r\\n    *ngIf=\\\"month_array.length > 0 && show_selected_month\\\"\\r\\n  >\\r\\n    <div>\\r\\n      <h5 style=\\\"font-size: 20px\\\">\\r\\n        Facture {{ month_array[show_selected_month].text }}\\r\\n        {{ show_selected_year }}\\r\\n      </h5>\\r\\n    </div>\\r\\n    <span\\r\\n      >Numéro: {{ provider_detail.unique_id }}{{ show_selected_month\\r\\n      }}{{ show_selected_year }}</span\\r\\n    ><br />\\r\\n    <br />\\r\\n    <span>HOP Services SA</span><br />\\r\\n    <span>CHE-473.642.314</span><br />\\r\\n    <span>Quai du Seujet 30</span><br />\\r\\n    <span>CH-1201 Genève</span>\\r\\n  </div>\\r\\n\\r\\n  <div class=\\\"ibox\\\">\\r\\n    <div class=\\\"ibox-title\\\">\\r\\n      <div>\\r\\n        <label>Commandes</label>\\r\\n      </div>\\r\\n    </div>\\r\\n    <div class=\\\"ibox-content\\\">\\r\\n      <div class=\\\"table-responsive\\\">\\r\\n        <table class=\\\"table table-striped\\\">\\r\\n          <thead>\\r\\n            <tr>\\r\\n              <th>Numéro de commande</th>\\r\\n              <th>Provenance</th>\\r\\n              <th>Restaurant</th>\\r\\n              <th>Date de la commande</th>\\r\\n              <th>Frais de livraison facturés</th>\\r\\n              <th>Montant transporté</th>\\r\\n              <th>Montant facturé au restaurant</th>\\r\\n              <th>Total prestation</th>\\r\\n              <th>VAT</th>\\r\\n            </tr>\\r\\n          </thead>\\r\\n          <tbody>\\r\\n            <!-- <tr *ngFor=\\\"let order of bonus_list; let last = last\\\">\\r\\n              <td>{{ order.unique_id }}</td>\\r\\n              <td *ngIf=\\\"order.bonus_type == 1\\\">Bonus</td>\\r\\n              <td *ngIf=\\\"order.bonus_type == 2\\\">Malus</td>\\r\\n              <td>\\r\\n                {{\\r\\n                  moment(order.bonus_date)\\r\\n                    .tz(\\r\\n                      order.timezone !== undefined\\r\\n                        ? order.timezone\\r\\n                        : \\\"Europe/Zurich\\\"\\r\\n                    )\\r\\n                    .format(\\\"DD MMM YYYY HH:mm a\\\")\\r\\n                }}\\r\\n              </td>\\r\\n              <td>CHF {{ order.bonus_amount.toFixed(2) }}</td>\\r\\n              <td></td>\\r\\n              <td>{{ order.bonus_reason }}</td>\\r\\n            </tr> -->\\r\\n            <tr *ngFor=\\\"let order of order_list; let last = last\\\">\\r\\n              <td>{{ order.order_unique_id }}</td>\\r\\n              <td>\\r\\n                <span *ngIf=\\\"order.order_type == helper.ADMIN_DATA_ID.ADMIN\\\">\\r\\n                  <span>{{\\r\\n                    order.is_hubrise_order && order.created_by !== \\\"Admin\\\"\\r\\n                      ? order.created_by\\r\\n                      : \\\"\\\"\\r\\n                  }}</span>\\r\\n                </span>\\r\\n                <span *ngIf=\\\"order.order_type == helper.ADMIN_DATA_ID.STORE\\\">\\r\\n                  Restaurant\\r\\n                </span>\\r\\n                <span\\r\\n                  *ngIf=\\\"\\r\\n                    order.date_time[0].host &&\\r\\n                    !order.date_time[0].host?.includes('myhop.ch') &&\\r\\n                    (order.date_time[0].host?.includes('hop.delivery') ||\\r\\n                      order.date_time[0].host?.includes('hop.ch'))\\r\\n                  \\\"\\r\\n                >\\r\\n                  {{ order.date_time[0].host }}\\r\\n                </span>\\r\\n                <span\\r\\n                  *ngIf=\\\"\\r\\n                    order.date_time[0].host &&\\r\\n                    ((!order.date_time[0].host?.includes('hop.delivery') &&\\r\\n                      !order.date_time[0].host?.includes('hop.ch')) ||\\r\\n                      order.date_time[0].host?.includes('myhop.ch'))\\r\\n                  \\\"\\r\\n                >\\r\\n                  site de commande du restaurant\\r\\n                </span>\\r\\n                <span\\r\\n                  *ngIf=\\\"!order.date_time[0].host && !order.is_hubrise_order\\\"\\r\\n                >\\r\\n                  <span *ngIf=\\\"order.date_time[0].device_type == 'ios'\\\">\\r\\n                    IOS\\r\\n                  </span>\\r\\n                  <span *ngIf=\\\"order.date_time[0].device_type == 'android'\\\">\\r\\n                    Android\\r\\n                  </span>\\r\\n                </span>\\r\\n              </td>\\r\\n              <td>{{ order.store_name }}</td>\\r\\n              <td>\\r\\n                {{\\r\\n                  moment(order.delivered_at)\\r\\n                    .tz(\\r\\n                      order.timezone !== undefined\\r\\n                        ? order.timezone\\r\\n                        : \\\"Europe/Zurich\\\"\\r\\n                    )\\r\\n                    .format(\\\"DD MMM YYYY HH:mm a\\\")\\r\\n                }}\\r\\n              </td>\\r\\n              <td>\\r\\n                CHF\\r\\n                {{\\r\\n                  (\\r\\n                    order.total_provider_income -\\r\\n                    order.total_provider_profit_on_store\\r\\n                  ).toFixed(2)\\r\\n                }}\\r\\n              </td>\\r\\n              <td>CHF {{ order.total_cart_price.toFixed(2) }}</td>\\r\\n              <td>CHF {{ order.total_provider_profit_on_store.toFixed(2) }}</td>\\r\\n              <td>CHF {{ order.total_provider_income.toFixed(2) }}</td>\\r\\n              <td>0%</td>\\r\\n            </tr>\\r\\n\\r\\n            <tr *ngIf=\\\"order_list.length > 0\\\">\\r\\n              <td>Total:</td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n            </tr>\\r\\n            <tr *ngIf=\\\"order_list.length > 0\\\">\\r\\n              <td>{{ order_list.length }} Commandes effectue</td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td>\\r\\n                CHF\\r\\n                {{\\r\\n                  (\\r\\n                    order_total.total_provider_income -\\r\\n                    order_total.total_provider_profit_on_store\\r\\n                  ).toFixed(2)\\r\\n                }}\\r\\n              </td>\\r\\n              <td>CHF {{ order_total.total_cart_price.toFixed(2) }}</td>\\r\\n              <td>\\r\\n                CHF\\r\\n                {{ order_total.total_provider_profit_on_store.toFixed(2) }}\\r\\n              </td>\\r\\n              <td>\\r\\n                CHF\\r\\n                {{ order_total.total_provider_income.toFixed(2) }}\\r\\n              </td>\\r\\n              <td></td>\\r\\n            </tr>\\r\\n          </tbody>\\r\\n        </table>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n\\r\\n  <div *ngIf=\\\"order_list.length > 0\\\">\\r\\n    <div><h5>Résumé du mois</h5></div>\\r\\n    <div class=\\\"text-center\\\">\\r\\n      <div>\\r\\n        Total brut des ventes livrées : CHF\\r\\n        {{ order_total.total_cart_price.toFixed(2) }}.-\\r\\n      </div>\\r\\n      <div>\\r\\n        Total frais de livraison : CHF\\r\\n        {{\\r\\n          (\\r\\n            order_total.total_provider_income -\\r\\n            order_total.total_provider_profit_on_store\\r\\n          ).toFixed(2)\\r\\n        }}.-\\r\\n      </div>\\r\\n      <!-- <div>\\r\\n        Total frais de livrasion Admin Profit : CHF\\r\\n        {{ order_total.total_admin_profit_on_delivery.toFixed(2) }}.-\\r\\n      </div> -->\\r\\n      <!-- <div>Total frais de livrasion : CHF {{(order_total.total_delivery_price - order_total.total_admin_profit_on_delivery + (order_total.hop_fee?order_total.hop_fee:0) + (order_total.vehicle_charge?order_total.vehicle_charge:0)).toFixed(2)}}.-</div> -->\\r\\n      <div>\\r\\n        Commission Hopper ({{ provider_detail.saas_percentage_for_provider }}%)\\r\\n        : CHF {{ order_total.total_provider_profit_on_store.toFixed(2) }}.-\\r\\n      </div>\\r\\n\\r\\n      <!-- <div>Bonus : CHF {{ order_total.total_bonus.toFixed(2) }}.-</div>\\r\\n      <div>Pénalités : CHF {{ order_total.total_malus.toFixed(2) }}.-</div> -->\\r\\n      <div>\\r\\n        Abonnement Hopper (TTC) : CHF -{{ subscription_charge.toFixed(2) }}.-\\r\\n      </div>\\r\\n      <!-- <div>\\r\\n        Total net en notre faveur : CHF\\r\\n        {{\\r\\n          (\\r\\n            order_total.total_provider_income -\\r\\n            order_total.total_bonus -\\r\\n            order_total.total_malus -\\r\\n            subscription_charge\\r\\n          ).toFixed(2)\\r\\n        }}.-\\r\\n      </div> -->\\r\\n      <div>\\r\\n        Total net en notre faveur : CHF\\r\\n        {{\\r\\n          (order_total.total_provider_income - subscription_charge).toFixed(2)\\r\\n        }}.-\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n</div>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/hopper_earning_detail/hopper_earning_detail.component.html\n// module id = 1602\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer> \\r\\n<form #adminimagesettingForm=\\\"ngForm\\\" (ngSubmit)=\\\"AdminImageSetting(adminimagesettingForm.value)\\\" >\\r\\n    <div class=\\\"wrapper wrapper-content animated fadeInRight\\\">\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-lg-12\\\">\\r\\n                <div class=\\\"col-lg-4 col-sm-6\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"image_setting.image_type\\\" #image_type=\\\"ngModel\\\"  name=\\\"image_type\\\" />\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">Image Type For Delivery/Product/Item</label>  \\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content\\\">\\r\\n\\r\\n                            <div class=\\\"row\\\">\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <div class=\\\"col-lg-12\\\">\\r\\n                                        <div  *ngFor=\\\"let i of admin_image_type_list\\\" style=\\\"margin: 5px;\\\">\\r\\n\\r\\n                                            <label><input class=\\\"icheck\\\" id=\\\"icheck{{i.NAME}}\\\"  type=\\\"checkbox\\\" value=\\\"{{i.ID}}\\\" /><span style=\\\"margin-left: 10px;\\\">{{i.NAME}}</span></label>\\r\\n\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-lg-4 col-sm-6\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"image_setting.map_pin_image_type\\\" #map_pin_image_type=\\\"ngModel\\\"  name=\\\"map_pin_image_type\\\" />\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">Image Type For Map Pin For App</label>  \\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <div class=\\\"col-lg-12\\\">\\r\\n                                        <div  *ngFor=\\\"let i of admin_image_type_list\\\" style=\\\"margin: 5px;\\\">\\r\\n\\r\\n                                            <label><input class=\\\"map_icheck\\\" id=\\\"map_icheck{{i.NAME}}\\\"  type=\\\"checkbox\\\" value=\\\"{{i.ID}}\\\" /><span style=\\\"margin-left: 10px;\\\">{{i.NAME}}</span></label>\\r\\n\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-lg-4 col-sm-6\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"image_setting.icon_image_type\\\" #icon_image_type=\\\"ngModel\\\"  name=\\\"icon_image_type\\\" />\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">Image Type For Icon</label>  \\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <div class=\\\"col-lg-12\\\">\\r\\n                                        <div  *ngFor=\\\"let i of admin_image_type_list\\\" style=\\\"margin: 5px;\\\">\\r\\n\\r\\n                                            <label><input class=\\\"icon_icheck\\\" id=\\\"icon_icheck{{i.NAME}}\\\"  type=\\\"checkbox\\\" value=\\\"{{i.ID}}\\\" /><span style=\\\"margin-left: 10px;\\\">{{i.NAME}}</span></label>\\r\\n\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n            <div class=\\\"col-lg-12\\\">\\r\\n                <div class=\\\"col-lg-4 col-sm-6\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">Image Size Use For Delivery/Product/Item</label>  \\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-7 col-xs-7 control-label\\\">Ratio Should Be</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-5 col-xs-5 form-group \\\" style=\\\"padding-right: 5px;\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\"   [(ngModel)]=\\\"image_setting.delivery_image_ratio\\\" #delivery_image_ratio=\\\"ngModel\\\"  name=\\\"image_ratio\\\" required readonly/>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-7 col-xs-7 control-label\\\">Min Width</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-5 col-xs-5 form-group \\\" style=\\\"padding-right: 5px;\\\">\\r\\n                                        <select chosen class=\\\"form-control chosen-select\\\" id=\\\"min_image_width\\\"  [(ngModel)]=\\\"image_setting.delivery_image_min_width\\\" #delivery_image_min_width=\\\"ngModel\\\" name=\\\"image_min_width\\\"  >\\r\\n\\r\\n                                            <option value=\\\"500\\\">500</option>\\r\\n                                            <option value=\\\"600\\\">600</option>\\r\\n                                            <option value=\\\"700\\\">700</option>\\r\\n                                            <option value=\\\"800\\\">800</option>\\r\\n                                            <option value=\\\"900\\\">900</option>\\r\\n                                            <option value=\\\"1000\\\">1000</option>\\r\\n                                            <option value=\\\"1100\\\">1100</option>\\r\\n                                            <option value=\\\"1200\\\">1200</option>\\r\\n                                            <option value=\\\"1300\\\">1300</option>\\r\\n                                            <option value=\\\"1400\\\">1400</option>\\r\\n                                            <option value=\\\"1500\\\">1500</option>\\r\\n                                            <option value=\\\"1600\\\">1600</option>\\r\\n                                            <option value=\\\"1700\\\">1700</option>\\r\\n                                            <option value=\\\"1800\\\">1800</option>\\r\\n                                            <option value=\\\"1900\\\">1900</option>\\r\\n                                            <option value=\\\"2000\\\">2000</option>\\r\\n\\r\\n                                        </select>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-7 col-xs-7 control-label\\\">Min Height</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-5 col-xs-5 form-group \\\" style=\\\"padding-right: 5px;\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\"   [(ngModel)]=\\\"image_setting.delivery_image_min_height\\\" #delivery_image_min_height=\\\"ngModel\\\"  name=\\\"image_min_height\\\" required readonly/>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-7 col-xs-7 control-label\\\">Max Width</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-5 col-xs-5 form-group \\\" style=\\\"padding-right: 5px;\\\">\\r\\n                                        <select chosen class=\\\"form-control chosen-select\\\" id=\\\"max_image_width\\\"  [(ngModel)]=\\\"image_setting.delivery_image_max_width\\\" #delivery_image_max_width=\\\"ngModel\\\" name=\\\"image_max_width\\\">\\r\\n\\r\\n                                            <option value=\\\"500\\\">500</option>\\r\\n                                            <option value=\\\"600\\\">600</option>\\r\\n                                            <option value=\\\"700\\\">700</option>\\r\\n                                            <option value=\\\"800\\\">800</option>\\r\\n                                            <option value=\\\"900\\\">900</option>\\r\\n                                            <option value=\\\"1000\\\">1000</option>\\r\\n                                            <option value=\\\"1100\\\">1100</option>\\r\\n                                            <option value=\\\"1200\\\">1200</option>\\r\\n                                            <option value=\\\"1300\\\">1300</option>\\r\\n                                            <option value=\\\"1400\\\">1400</option>\\r\\n                                            <option value=\\\"1500\\\">1500</option>\\r\\n                                            <option value=\\\"1600\\\">1600</option>\\r\\n                                            <option value=\\\"1700\\\">1700</option>\\r\\n                                            <option value=\\\"1800\\\">1800</option>\\r\\n                                            <option value=\\\"1900\\\">1900</option>\\r\\n                                            <option value=\\\"2000\\\">2000</option>\\r\\n\\r\\n                                        </select>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-7 col-xs-7 control-label\\\">Max Height</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-5 col-xs-5 form-group \\\" style=\\\"padding-right: 5px;\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\"   [(ngModel)]=\\\"image_setting.delivery_image_max_height\\\" #delivery_image_max_height=\\\"ngModel\\\"  name=\\\"image_max_height\\\" required readonly/>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-lg-4 col-sm-6\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">Image Size For Map Pin For Apps</label>  \\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-7 col-xs-7 control-label\\\">Ratio Should Be</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-5 col-xs-5 form-group \\\" style=\\\"padding-right: 5px;\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\"   [(ngModel)]=\\\"image_setting.delivery_map_pin_ratio\\\" #delivery_map_pin_ratio=\\\"ngModel\\\"  name=\\\"map_pin_ratio\\\" required readonly/>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n\\r\\n                                    <label class=\\\"col-lg-7 col-xs-7 control-label\\\">Min Width</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-5 col-xs-5 form-group \\\" style=\\\"padding-right: 5px;\\\">\\r\\n                                        <select chosen class=\\\"form-control chosen-select\\\" id=\\\"map_pin_min_width\\\"  [(ngModel)]=\\\"image_setting.delivery_map_pin_min_width\\\" #delivery_map_pin_min_width=\\\"ngModel\\\" name=\\\"map_pin_min_width\\\" >\\r\\n\\r\\n                                            <option value=\\\"45\\\">45</option>\\r\\n                                            <option value=\\\"90\\\">90</option>\\r\\n                                            <option value=\\\"135\\\">135</option>\\r\\n                                            <option value=\\\"180\\\">180</option>\\r\\n                                        </select>\\r\\n                                    </div>\\r\\n\\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-7 col-xs-7 control-label\\\">Min Height</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-5 col-xs-5 form-group \\\" style=\\\"padding-right: 5px;\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\"   [(ngModel)]=\\\"image_setting.delivery_map_pin_min_height\\\" #delivery_map_pin_min_height=\\\"ngModel\\\"  name=\\\"map_pin_min_height\\\" required readonly/>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-7 col-xs-7 control-label\\\">Max Width</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-5 col-xs-5 form-group \\\" style=\\\"padding-right: 5px;\\\">\\r\\n                                        <select chosen class=\\\"form-control chosen-select\\\" id=\\\"map_pin_max_width\\\"  [(ngModel)]=\\\"image_setting.delivery_map_pin_max_width\\\" #delivery_map_pin_max_width=\\\"ngModel\\\" name=\\\"map_pin_max_width\\\" >\\r\\n\\r\\n                                            <option value=\\\"45\\\">45</option>\\r\\n                                            <option value=\\\"90\\\">90</option>\\r\\n                                            <option value=\\\"135\\\">135</option>\\r\\n                                            <option value=\\\"180\\\">180</option>\\r\\n                                        </select>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-7 col-xs-7 control-label\\\">Max Height</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-5 col-xs-5 form-group \\\" style=\\\"padding-right: 5px;\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\"    [(ngModel)]=\\\"image_setting.delivery_map_pin_max_height\\\" #delivery_map_pin_max_height=\\\"ngModel\\\" name=\\\"map_pin_max_height\\\"  required readonly/>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-4 col-sm-6\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">Image Icon Size</label>  \\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-7 col-xs-7 control-label\\\">Ratio Should Be</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-5 col-xs-5 form-group \\\" style=\\\"padding-right: 5px;\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\"   [(ngModel)]=\\\"image_setting.delivery_icon_ratio\\\" #delivery_icon_ratio=\\\"ngModel\\\"  name=\\\"icon_ratio\\\" required readonly/>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-7 col-xs-7 control-label\\\">Minimum</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-5 col-xs-5 form-group \\\" style=\\\"padding-right: 5px;\\\">\\r\\n                                        <select chosen class=\\\"form-control chosen-select\\\" id=\\\"minimum\\\"  [(ngModel)]=\\\"image_setting.delivery_icon_minimum_size\\\" #delivery_icon_minimum_size=\\\"ngModel\\\"  name=\\\"icon_minimum_size\\\"  >\\r\\n\\r\\n                                            <option value=\\\"50\\\">50</option>\\r\\n                                            <option value=\\\"60\\\">60</option>\\r\\n                                            <option value=\\\"70\\\">70</option>\\r\\n                                            <option value=\\\"80\\\">80</option>\\r\\n                                            <option value=\\\"90\\\">90</option>\\r\\n                                            <option value=\\\"100\\\">100</option>\\r\\n                                            <option value=\\\"110\\\">110</option>\\r\\n                                            <option value=\\\"120\\\">120</option>\\r\\n                                            <option value=\\\"130\\\">130</option>\\r\\n                                            <option value=\\\"140\\\">140</option>\\r\\n                                            <option value=\\\"150\\\">150</option>\\r\\n                                            <option value=\\\"160\\\">160</option>\\r\\n                                            <option value=\\\"170\\\">170</option>\\r\\n                                            <option value=\\\"180\\\">180</option>\\r\\n                                            <option value=\\\"190\\\">190</option>\\r\\n                                            <option value=\\\"200\\\">200</option>\\r\\n                                        </select>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-7 col-xs-7 control-label\\\">Maximum</label>  \\r\\n                                    <div class=\\\"col-lg-5 col-xs-5 form-group \\\" style=\\\"padding-right: 5px;\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\"   [(ngModel)]=\\\"image_setting.delivery_icon_maximum_size\\\" #delivery_icon_maximum_size=\\\"ngModel\\\"  name=\\\"icon_maximum_size\\\"  required readonly/>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n            <!--            <div class=\\\"col-lg-12\\\">\\r\\n                            <div class=\\\"col-lg-12\\\" >\\r\\n                                <div class=\\\"ibox\\\"  style=\\\"margin-top:35px;\\\">\\r\\n                                    <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"image_setting.image_type\\\" #image_type=\\\"ngModel\\\"  name=\\\"image_type\\\" />\\r\\n                                    <div class=\\\"ibox-content\\\" style=\\\"padding-bottom: 0px;\\\">\\r\\n                                        <div class=\\\"row form-group\\\">\\r\\n                                            <div class=\\\"row\\\">\\r\\n                                                <div class=\\\"col-md-12\\\">\\r\\n                                                    <div class=\\\"form-group\\\">\\r\\n                                                        <div class=\\\"col-lg-4\\\" *ngFor=\\\"let i of admin_image_type_list\\\" style=\\\"margin: 5px;\\\">\\r\\n            \\r\\n                                                             <label><input class=\\\"icheck\\\" id=\\\"icheck{{i.ID}}\\\"  type=\\\"checkbox\\\" value=\\\"{{i.ID}}\\\" /><span style=\\\"margin-left: 10px;\\\">{{i.NAME}}</span></label>\\r\\n            \\r\\n                                                        </div>\\r\\n                                                    </div>\\r\\n                                                </div>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n            \\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>-->\\r\\n\\r\\n\\r\\n\\r\\n            <div class=\\\"col-lg-12\\\">\\r\\n                <div class=\\\"col-lg-12\\\" >\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-content wizard\\\">\\r\\n                            <div class=\\\"row\\\">   \\r\\n                                <div class=\\\"col-lg-4\\\">\\r\\n                                </div>\\r\\n<!--                                <div class=\\\"col-lg-4\\\" style=\\\"text-align: center;\\\">\\r\\n                                    <input type=\\\"submit\\\" id=\\\"submit\\\"  name=\\\"submit\\\" style=\\\"width: 50%;\\\" class=\\\"btn btn-primary\\\" value=\\\"{{button.submit | translate}}\\\" >\\r\\n                                </div>-->\\r\\n\\r\\n                                <div class=\\\"col-lg-4\\\" style=\\\"text-align: center;\\\">\\r\\n                                    <input type=\\\"submit\\\" id=\\\"submit\\\" [disabled]=\\\"edit_button==false\\\" name=\\\"submit\\\" style=\\\"width:50%;margin-top:10%;\\\" class=\\\"btn btn-primary\\\" value=\\\"{{button.submit}}\\\" >\\r\\n                                </div>\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</form>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/image_setting/image_setting.component.html\n// module id = 1603\n// module chunks = 0","module.exports = \"<form #imageForm=\\\"ngForm\\\" (ngSubmit)=\\\"addImage(imageForm.value)\\\" enctype='multipart/form-data' >\\r\\n    <div class=\\\"panel-body\\\">\\r\\n\\r\\n        <fieldset class=\\\"form-horizontal\\\">\\r\\n\\r\\n            <div class=\\\"form-group\\\">\\r\\n                <label class=\\\"col-sm-2 control-label\\\">{{title.admin_logo | translate}}:</label>\\r\\n                <div class=\\\"col-sm-3\\\">\\r\\n                    <div class=\\\"fileinput fileinput-new input-group\\\" data-provides=\\\"fileinput\\\">\\r\\n                        <div class=\\\"form-control\\\" data-trigger=\\\"fileinput\\\" style=\\\"overflow-x: hidden;\\\"><i class=\\\"glyphicon glyphicon-file fileinput-exists\\\"></i> <span class=\\\"fileinput-filename\\\"></span></div>\\r\\n                        <span class=\\\"input-group-addon btn btn-default btn-file\\\"><span class=\\\"fileinput-new\\\">{{button.select_file}}</span><span class=\\\"fileinput-exists\\\">{{button.change}}</span>\\r\\n                            <input type=\\\"file\\\" (change)=\\\"logo_image($event);\\\"   name=\\\"logo_image\\\" placeholder=\\\"Select Logo Image\\\"></span>\\r\\n                        <a href=\\\"#\\\" id=\\\"remove\\\" class=\\\"input-group-addon btn btn-default fileinput-exists\\\" data-dismiss=\\\"fileinput\\\">{{button.remove_file}}</a>\\r\\n\\r\\n                        <!--                        <input type=\\\"submit\\\" id=\\\"submit\\\" name=\\\"submit\\\"  class=\\\"btn btn-primary\\\" value=\\\"{{button.submit | translate}}\\\" >-->\\r\\n                    </div>\\r\\n\\r\\n                </div>\\r\\n                <div class=\\\"col-sm-3\\\">\\r\\n                    <button type=\\\"submit\\\" id=\\\"submit\\\" name=\\\"submit\\\" [disabled]=\\\"edit_button==false\\\"  class=\\\"btn btn-primary\\\">Upload</button>\\r\\n                    <img  class=\\\"\\\" style=\\\"width: 50px;height: 50px;margin-left:60px\\\" src=\\\"web_images/logo.png\\\" alt=\\\"logo\\\">\\r\\n\\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n            <div class=\\\"form-group\\\"><label class=\\\"col-sm-2 control-label\\\">{{title.admin_title_icon | translate}}:</label>\\r\\n                <div class=\\\"col-sm-3\\\"><div class=\\\"fileinput fileinput-new input-group\\\" data-provides=\\\"fileinput\\\">\\r\\n                        <div class=\\\"form-control\\\" data-trigger=\\\"fileinput\\\" style=\\\"overflow-x: hidden;\\\"><i class=\\\"glyphicon glyphicon-file fileinput-exists\\\"></i> <span class=\\\"fileinput-filename\\\"></span></div>\\r\\n                        <span class=\\\"input-group-addon btn btn-default btn-file\\\"><span class=\\\"fileinput-new\\\">{{button.select_file}}</span><span class=\\\"fileinput-exists\\\">{{button.change}}</span>\\r\\n                            <input type=\\\"file\\\" (change)=\\\"title_image($event);\\\"  name=\\\"title_image\\\" placeholder=\\\"Select Logo Image\\\" ></span>\\r\\n                        <a href=\\\"#\\\" id=\\\"remove\\\" class=\\\"input-group-addon btn btn-default fileinput-exists\\\" data-dismiss=\\\"fileinput\\\">{{button.remove_file}}</a>\\r\\n                    </div> \\r\\n\\r\\n                </div>\\r\\n                <div class=\\\"col-sm-3\\\">\\r\\n                    <button type=\\\"submit\\\" id=\\\"submit\\\" name=\\\"submit\\\" [disabled]=\\\"edit_button==false\\\"  class=\\\"btn btn-primary\\\">Upload</button>\\r\\n                    <img  class=\\\"\\\" style=\\\"width: 50px;height: 50px;margin-left:60px\\\" src=\\\"web_images/title_image.png\\\" alt=\\\"logo\\\">\\r\\n\\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n            <div class=\\\"form-group\\\"><label class=\\\"col-sm-2 control-label\\\">{{title.admin_mail_title_icon | translate}}:</label>\\r\\n                <div class=\\\"col-sm-3\\\"><div class=\\\"fileinput fileinput-new input-group\\\" data-provides=\\\"fileinput\\\">\\r\\n                        <div class=\\\"form-control\\\" data-trigger=\\\"fileinput\\\" style=\\\"overflow-x: hidden;\\\"><i class=\\\"glyphicon glyphicon-file fileinput-exists\\\"></i> <span class=\\\"fileinput-filename\\\"></span></div>\\r\\n                        <span class=\\\"input-group-addon btn btn-default btn-file\\\"><span class=\\\"fileinput-new\\\">{{button.select_file}}</span><span class=\\\"fileinput-exists\\\">{{button.change}}</span>\\r\\n                            <input type=\\\"file\\\" (change)=\\\"mail_title_image($event);\\\"  name=\\\"mail_title_image\\\" placeholder=\\\"Select Logo Image\\\"></span>\\r\\n                        <a href=\\\"#\\\" id=\\\"remove\\\" class=\\\"input-group-addon btn btn-default fileinput-exists\\\" data-dismiss=\\\"fileinput\\\">{{button.remove_file}}</a>\\r\\n                    </div>\\r\\n\\r\\n                </div>\\r\\n                <div class=\\\"col-sm-3\\\">\\r\\n                    <button type=\\\"submit\\\" id=\\\"submit\\\" name=\\\"submit\\\" [disabled]=\\\"edit_button==false\\\"  class=\\\"btn btn-primary\\\">Upload</button>\\r\\n                    <img  class=\\\"\\\" style=\\\"width: 50px;height: 50px;margin-left:60px\\\" src=\\\"email_images/email_vector.png\\\" alt=\\\"logo\\\">\\r\\n\\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n\\r\\n\\r\\n\\r\\n            <div class=\\\"form-group\\\"><label class=\\\"col-sm-2 control-label\\\">{{title.admin_mail_logo | translate}}:</label>\\r\\n                <div class=\\\"col-sm-3\\\"><div class=\\\"fileinput fileinput-new input-group\\\" data-provides=\\\"fileinput\\\">\\r\\n                        <div class=\\\"form-control\\\" data-trigger=\\\"fileinput\\\" style=\\\"overflow-x: hidden;\\\"><i class=\\\"glyphicon glyphicon-file fileinput-exists\\\"></i> <span class=\\\"fileinput-filename\\\"></span></div>\\r\\n                        <span class=\\\"input-group-addon btn btn-default btn-file\\\"><span class=\\\"fileinput-new\\\">{{button.select_file}}</span><span class=\\\"fileinput-exists\\\">{{button.change}}</span>\\r\\n                            <input type=\\\"file\\\" (change)=\\\"mail_logo_image($event);\\\"  name=\\\"mail_logo_image\\\" placeholder=\\\"Select Logo Image\\\"></span>\\r\\n                        <a href=\\\"#\\\" id=\\\"remove\\\" class=\\\"input-group-addon btn btn-default fileinput-exists\\\" data-dismiss=\\\"fileinput\\\">{{button.remove_file}}</a>\\r\\n                    </div>\\r\\n\\r\\n                </div>\\r\\n                <div class=\\\"col-sm-3\\\">\\r\\n                    <button type=\\\"submit\\\" id=\\\"submit\\\" name=\\\"submit\\\" [disabled]=\\\"edit_button==false\\\"  class=\\\"btn btn-primary\\\">Upload</button>\\r\\n                    <img  class=\\\"\\\" style=\\\"width: 50px;height: 50px;margin-left:60px\\\" src=\\\"email_images/mail_logo.png\\\" alt=\\\"logo\\\">\\r\\n\\r\\n                </div>\\r\\n\\r\\n\\r\\n            </div>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n            <div class=\\\"form-group\\\"><label class=\\\"col-sm-2 control-label\\\">{{title.admin_store_logo | translate}}:</label>\\r\\n                <div class=\\\"col-sm-3\\\"><div class=\\\"fileinput fileinput-new input-group\\\" data-provides=\\\"fileinput\\\">\\r\\n                        <div class=\\\"form-control\\\" data-trigger=\\\"fileinput\\\" style=\\\"overflow-x: hidden;\\\"><i class=\\\"glyphicon glyphicon-file fileinput-exists\\\"></i> <span class=\\\"fileinput-filename\\\"></span></div>\\r\\n                        <span class=\\\"input-group-addon btn btn-default btn-file\\\"><span class=\\\"fileinput-new\\\">{{button.select_file}}</span><span class=\\\"fileinput-exists\\\">{{button.change}}</span>\\r\\n                            <input type=\\\"file\\\"  (change)=\\\"store_logo_image($event);\\\" name=\\\"store_logo_image\\\" placeholder=\\\"Select Logo Image\\\"></span>\\r\\n                        <a href=\\\"#\\\" id=\\\"remove\\\" class=\\\"input-group-addon btn btn-default fileinput-exists\\\" data-dismiss=\\\"fileinput\\\">{{button.remove_file}}</a>\\r\\n                    </div> \\r\\n\\r\\n                </div>\\r\\n                <div class=\\\"col-sm-3\\\">\\r\\n                    <button type=\\\"submit\\\" id=\\\"submit\\\" name=\\\"submit\\\"  [disabled]=\\\"edit_button==false\\\" class=\\\"btn btn-primary\\\">Upload</button>\\r\\n                    <img  class=\\\"\\\" style=\\\"width: 50px;height: 50px;margin-left:60px\\\" src=\\\"web_images/store_logo.png\\\" alt=\\\"logo\\\">\\r\\n\\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n            \\r\\n            \\r\\n            \\r\\n            \\r\\n            <div class=\\\"form-group\\\"><label class=\\\"col-sm-2 control-label\\\">{{title.admin_user_logo | translate}}:</label>\\r\\n                <div class=\\\"col-sm-3\\\"><div class=\\\"fileinput fileinput-new input-group\\\" data-provides=\\\"fileinput\\\">\\r\\n                        <div class=\\\"form-control\\\" data-trigger=\\\"fileinput\\\" style=\\\"overflow-x: hidden;\\\"><i class=\\\"glyphicon glyphicon-file fileinput-exists\\\"></i> <span class=\\\"fileinput-filename\\\"></span></div>\\r\\n                        <span class=\\\"input-group-addon btn btn-default btn-file\\\"><span class=\\\"fileinput-new\\\">{{button.select_file}}</span><span class=\\\"fileinput-exists\\\">{{button.change}}</span>\\r\\n                            <input type=\\\"file\\\"  (change)=\\\"user_logo_image($event);\\\" name=\\\"user_logo_image\\\" placeholder=\\\"Select Logo Image\\\"></span>\\r\\n                        <a href=\\\"#\\\" id=\\\"remove\\\" class=\\\"input-group-addon btn btn-default fileinput-exists\\\" data-dismiss=\\\"fileinput\\\">{{button.remove_file}}</a>\\r\\n                    </div> \\r\\n\\r\\n                </div>\\r\\n                <div class=\\\"col-sm-3\\\">\\r\\n                    <button type=\\\"submit\\\" id=\\\"submit\\\" name=\\\"submit\\\"  [disabled]=\\\"edit_button==false\\\" class=\\\"btn btn-primary\\\">Upload</button>\\r\\n                    <img  class=\\\"\\\" style=\\\"width: 50px;height: 50px;margin-left:60px\\\" src=\\\"web_images/user_logo.png\\\" alt=\\\"logo\\\">\\r\\n\\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n            \\r\\n            \\r\\n\\r\\n            <div class=\\\"col-lg-4\\\">\\r\\n            </div>\\r\\n\\r\\n\\r\\n\\r\\n        </fieldset>\\r\\n\\r\\n\\r\\n\\r\\n    </div>\\r\\n</form>\\r\\n\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/installation_setting/installation_setting.component.html\n// module id = 1604\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n<form #PushNotificationForm=\\\"ngForm\\\" (ngSubmit)=\\\"IosPushNotificationSetting(PushNotificationForm.value)\\\" >\\r\\n    <div class=\\\"wrapper wrapper-content animated fadeInRight\\\">\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"\\\">\\r\\n                <div class=\\\"col-lg-4 col-sm-6\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.user_app | translate}}</label>  \\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n\\r\\n                                <div class=\\\"col-xs-12 col-md-12\\\">\\r\\n                                    <div class=\\\"form-group\\\">\\r\\n                                        <label>{{title.certificate_mode | translate}}</label>\\r\\n                                        <select chosen class=\\\"form-control chosen-select\\\" id=\\\"user_certificate_mode\\\" [(ngModel)]=\\\"ios_push_notification_setting.user_certificate_mode\\\" #user_certificate_mode=\\\"ngModel\\\"  name=\\\"user_certificate_mode\\\" >\\r\\n\\r\\n                                            <option value=\\\"sandbox\\\" >{{title.sandbox_mode | translate}}</option>\\r\\n                                            <option value=\\\"production\\\">{{title.production_mode | translate}}</option>\\r\\n                                        </select>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-xs-12 col-md-12\\\">\\r\\n                                    <div class=\\\"form-group\\\">\\r\\n                                        <label>{{title.push_certificate | translate}}</label>\\r\\n                                        <div class=\\\"fileinput fileinput-new input-group\\\" data-provides=\\\"fileinput\\\">\\r\\n                                            <div class=\\\"form-control\\\" data-trigger=\\\"fileinput\\\" style=\\\"overflow-x: hidden;\\\"><i class=\\\"glyphicon glyphicon-file fileinput-exists\\\"></i> <span class=\\\"fileinput-filename\\\"></span></div>\\r\\n                                            <span class=\\\"input-group-addon btn btn-default btn-file\\\"><span class=\\\"fileinput-new\\\">{{button.select_file}}</span><span class=\\\"fileinput-exists\\\">{{button.change | translate}}</span>\\r\\n                                                <input type=\\\"file\\\" (change)=\\\"ios_user_cert_file_image($event);\\\"   name=\\\"ios_user_cert_file\\\"></span>\\r\\n                                            <a href=\\\"#\\\" id=\\\"remove\\\" class=\\\"input-group-addon btn btn-default fileinput-exists\\\" data-dismiss=\\\"fileinput\\\">{{button.remove_file | translate}}</a>\\r\\n                                        </div> \\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-xs-12 col-md-12\\\">\\r\\n                                    <div class=\\\"form-group\\\">\\r\\n                                        <label>{{title.push_key_file | translate}}</label>\\r\\n                                        <div class=\\\"fileinput fileinput-new input-group\\\" data-provides=\\\"fileinput\\\">\\r\\n                                            <div class=\\\"form-control\\\" data-trigger=\\\"fileinput\\\" style=\\\"overflow-x: hidden;\\\"><i class=\\\"glyphicon glyphicon-file fileinput-exists\\\"></i> <span class=\\\"fileinput-filename\\\"></span></div>\\r\\n                                            <span class=\\\"input-group-addon btn btn-default btn-file\\\"><span class=\\\"fileinput-new\\\">{{button.select_file | translate}}</span><span class=\\\"fileinput-exists\\\">{{button.change | translate}}</span>\\r\\n                                                <input type=\\\"file\\\" (change)=\\\"ios_user_key_file_image($event);\\\"  name=\\\"ios_user_key_file\\\" ></span>\\r\\n                                            <a href=\\\"#\\\" id=\\\"remove\\\" class=\\\"input-group-addon btn btn-default fileinput-exists\\\" data-dismiss=\\\"fileinput\\\">{{button.remove_file | translate}}</a>\\r\\n                                        </div> \\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n\\r\\n\\r\\n                                <div class=\\\"col-xs-12 col-md-12\\\">\\r\\n                                    <div class=\\\"form-group\\\">\\r\\n                                        <label>{{title.passprase | translate}}</label>\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"ios_push_notification_setting.user_passphrase\\\" #user_passphrase=\\\"ngModel\\\"  name=\\\"user_passphrase\\\" required/>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-4 col-sm-6\\\" >\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.provider_app | translate}}</label>  \\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-xs-12 col-md-12\\\">\\r\\n                                    <div class=\\\"form-group\\\">\\r\\n                                        <label>{{title.certificate_mode | translate}}</label>\\r\\n                                        <select chosen class=\\\"form-control chosen-select\\\" id=\\\"provider_certificate_mode\\\" [(ngModel)]=\\\"ios_push_notification_setting.provider_certificate_mode\\\" #provider_certificate_mode=\\\"ngModel\\\" name=\\\"provider_certificate_mode\\\" >\\r\\n\\r\\n                                            <option value=\\\"sandbox\\\">{{title.sandbox_mode | translate}}</option>\\r\\n                                            <option value=\\\"production\\\">{{title.production_mode | translate}}</option>\\r\\n                                        </select>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-xs-12 col-md-12\\\">\\r\\n                                    <div class=\\\"form-group\\\">\\r\\n                                        <label>{{title.push_certificate | translate}}</label>\\r\\n                                        <div class=\\\"fileinput fileinput-new input-group\\\" data-provides=\\\"fileinput\\\">\\r\\n                                            <div class=\\\"form-control\\\" data-trigger=\\\"fileinput\\\" style=\\\"overflow-x: hidden;\\\"><i class=\\\"glyphicon glyphicon-file fileinput-exists\\\"></i> <span class=\\\"fileinput-filename\\\"></span></div>\\r\\n                                            <span class=\\\"input-group-addon btn btn-default btn-file\\\"><span class=\\\"fileinput-new\\\">{{button.select_file | translate}}</span><span class=\\\"fileinput-exists\\\">{{button.change | translate}}</span>\\r\\n                                                <input type=\\\"file\\\" (change)=\\\"ios_provider_cert_file_image($event);\\\"  name=\\\"ios_provider_cert_file\\\" ></span>\\r\\n                                            <a href=\\\"#\\\" id=\\\"remove\\\" class=\\\"input-group-addon btn btn-default fileinput-exists\\\" data-dismiss=\\\"fileinput\\\">{{button.remove_file | translate}}</a>\\r\\n                                        </div> \\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-xs-12 col-md-12\\\">\\r\\n                                    <div class=\\\"form-group\\\">\\r\\n                                        <label>{{title.push_key_file | translate}}</label>\\r\\n                                        <div class=\\\"fileinput fileinput-new input-group\\\" data-provides=\\\"fileinput\\\">\\r\\n                                            <div class=\\\"form-control\\\" data-trigger=\\\"fileinput\\\" style=\\\"overflow-x: hidden;\\\"><i class=\\\"glyphicon glyphicon-file fileinput-exists\\\"></i> <span class=\\\"fileinput-filename\\\"></span></div>\\r\\n                                            <span class=\\\"input-group-addon btn btn-default btn-file\\\"><span class=\\\"fileinput-new\\\">{{button.select_file | translate}}</span><span class=\\\"fileinput-exists\\\">{{button.change | translate}}</span>\\r\\n                                                <input type=\\\"file\\\" (change)=\\\"ios_provider_key_file_image($event);\\\"  name=\\\"ios_provider_key_file\\\" ></span>\\r\\n                                            <a href=\\\"#\\\" id=\\\"remove\\\" class=\\\"input-group-addon btn btn-default fileinput-exists\\\" data-dismiss=\\\"fileinput\\\">{{button.remove_file | translate}}</a>\\r\\n                                        </div> \\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n\\r\\n                                <div class=\\\"col-xs-12 col-md-12\\\">\\r\\n                                    <div class=\\\"form-group\\\">\\r\\n                                        <label>{{title.passprase | translate}}</label>\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"ios_push_notification_setting.provider_passphrase\\\" #provider_passphrase=\\\"ngModel\\\"  name=\\\"provider_passphrase\\\" required/>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-lg-4 col-sm-6\\\" >\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.store_app | translate}}</label>  \\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n\\r\\n                                <div class=\\\"col-xs-12 col-md-12\\\">\\r\\n                                    <div class=\\\"form-group\\\">\\r\\n                                        <label>{{title.certificate_mode | translate}}</label>\\r\\n                                        <select chosen class=\\\"form-control chosen-select\\\" id=\\\"store_certificate_mode\\\" [(ngModel)]=\\\"ios_push_notification_setting.store_certificate_mode\\\" #store_certificate_mode=\\\"ngModel\\\" name=\\\"store_certificate_mode\\\" >\\r\\n\\r\\n                                            <option value=\\\"sandbox\\\" >{{title.sandbox_mode | translate}}</option>\\r\\n                                            <option value=\\\"production\\\">{{title.production_mode | translate}}</option>\\r\\n                                        </select>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-xs-12 col-md-12\\\">\\r\\n                                    <div class=\\\"form-group\\\">\\r\\n                                        <label>{{title.push_certificate | translate}}</label>\\r\\n                                        <div class=\\\"fileinput fileinput-new input-group\\\" data-provides=\\\"fileinput\\\">\\r\\n                                            <div class=\\\"form-control\\\" data-trigger=\\\"fileinput\\\" style=\\\"overflow-x: hidden;\\\"><i class=\\\"glyphicon glyphicon-file fileinput-exists\\\"></i> <span class=\\\"fileinput-filename\\\"></span></div>\\r\\n                                            <span class=\\\"input-group-addon btn btn-default btn-file\\\"><span class=\\\"fileinput-new\\\">{{button.select_file | translate}}</span><span class=\\\"fileinput-exists\\\">{{button.change | translate}}</span>\\r\\n                                                <input type=\\\"file\\\" (change)=\\\"ios_store_cert_file_image($event);\\\"  name=\\\"ios_store_cert_file\\\" ></span>\\r\\n                                            <a href=\\\"#\\\" id=\\\"remove\\\" class=\\\"input-group-addon btn btn-default fileinput-exists\\\" data-dismiss=\\\"fileinput\\\">{{button.remove_file | translate}}</a>\\r\\n                                        </div> \\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-xs-12 col-md-12\\\">\\r\\n                                    <div class=\\\"form-group\\\">\\r\\n                                        <label>{{title.push_key_file | translate}}</label>\\r\\n                                        <div class=\\\"fileinput fileinput-new input-group\\\" data-provides=\\\"fileinput\\\">\\r\\n                                            <div class=\\\"form-control\\\" data-trigger=\\\"fileinput\\\" style=\\\"overflow-x: hidden;\\\"><i class=\\\"glyphicon glyphicon-file fileinput-exists\\\"></i> <span class=\\\"fileinput-filename\\\"></span></div>\\r\\n                                            <span class=\\\"input-group-addon btn btn-default btn-file\\\"><span class=\\\"fileinput-new\\\">{{button.select_file | translate}}</span><span class=\\\"fileinput-exists\\\">{{button.change | translate}}</span>\\r\\n                                                <input type=\\\"file\\\" (change)=\\\"ios_store_key_file_image($event);\\\"  name=\\\"ios_store_key_file\\\" ></span>\\r\\n                                            <a href=\\\"#\\\" id=\\\"remove\\\" class=\\\"input-group-addon btn btn-default fileinput-exists\\\" data-dismiss=\\\"fileinput\\\">{{button.remove_file | translate}}</a>\\r\\n                                        </div> \\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n\\r\\n                                <div class=\\\"col-xs-12 col-md-12\\\">\\r\\n                                    <div class=\\\"form-group\\\">\\r\\n                                        <label>{{title.passprase | translate}}</label>\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"ios_push_notification_setting.store_passphrase\\\" #store_passphrase=\\\"ngModel\\\"  name=\\\"store_passphrase\\\" required/>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n\\r\\n\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"form-group\\\"><label class=\\\"col-sm-3 control-label\\\">IOS Push Certificate Path:</label>\\r\\n                <div class=\\\"col-sm-9\\\"><input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"ios_push_notification_setting.ios_push_certificate_path\\\" #ios_push_certificate_path=\\\"ngModel\\\"  name=\\\"ios_push_certificate_path\\\"    placeholder=\\\"Enter IOS Push Certificate Path\\\" required></div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n\\r\\n        <div class=\\\"row\\\">\\r\\n\\r\\n            <div class=\\\"col-lg-4\\\">\\r\\n            </div>\\r\\n            <div class=\\\"col-lg-4\\\" style=\\\"text-align: center;\\\">\\r\\n                <input type=\\\"submit\\\" id=\\\"submit\\\" [disabled]=\\\"edit_button==false\\\" name=\\\"submit\\\" style=\\\"width:50%;margin-top:10%;\\\" class=\\\"btn btn-primary\\\" value=\\\"{{button.submit}}\\\" >\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n\\r\\n\\r\\n    </div>\\r\\n\\r\\n</form>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/ios_push_notification_setting/ios_push_notification_setting.component.html\n// module id = 1605\n// module chunks = 0","module.exports = \"<div id=\\\"legend\\\" style=\\\"left:100px;\\\">\\r\\n    <button *ngIf=\\\"trafficLayer\\\" class=\\\"btn\\\" (click)=\\\"show_traffic()\\\" style=\\\"margin-top: 10px;background: #fff;color: black;font-weight: bold;font-size: 18px;\\\">Traffic</button>\\r\\n    <button *ngIf=\\\"!trafficLayer\\\" class=\\\"btn\\\" (click)=\\\"show_traffic()\\\" style=\\\"    background: #fff;\\r\\n    margin-top: 10px;\\r\\n    font-size: 18px;\\r\\n    color: rgb(86, 86, 86);\\\">Traffic</button>\\r\\n</div>\\r\\n\\r\\n<div class=\\\"wrapper-content animated fadeInRight\\\" style=\\\"padding: 0px; padding-top: 60px;\\\">\\r\\n    <div class=\\\"ibox\\\" style=\\\"margin-top: 0px !important;z-index: 10;margin-left: -16px;\\r\\n    margin-right: -16px;\\r\\n    margin-top: 0 !important;\\\">\\r\\n        <div class=\\\"ibox-content\\\" >\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                    <div class=\\\"col-md-2 col-sm-3\\\">\\r\\n                        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                            <select chosen class=\\\"chosen-select\\\" id=\\\"country\\\" [(ngModel)]=\\\"country_id\\\" name=\\\"country_id\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                                <option *ngFor=\\\"let i of country_list\\\" value=\\\"{{i._id}}\\\">{{i.country_name}}</option>\\r\\n                            </select>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-2 col-sm-3\\\">\\r\\n                        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                            <select chosen class=\\\"chosen-select\\\" id=\\\"city\\\" [(ngModel)]=\\\"city_id\\\" name=\\\"city_id\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                                <option *ngFor=\\\"let i of city_list\\\" value=\\\"{{i._id}}\\\">{{i.city_name}}</option>\\r\\n                            </select>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                    <!-- <div class=\\\"col-md-3 col-sm-3\\\">\\r\\n                        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                            <select chosen class=\\\"chosen-select\\\" id=\\\"type\\\" [(ngModel)]=\\\"type\\\" name=\\\"type\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                                <option value=\\\"1\\\">Order</option>\\r\\n                                <option value=\\\"0\\\">Provider</option>\\r\\n                            </select>\\r\\n                        </div>\\r\\n                    </div> -->\\r\\n\\r\\n                    <!-- <div class=\\\"col-md-3 col-sm-3\\\" [hidden]=\\\"type=='0'\\\">\\r\\n                        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                            <select chosen class=\\\"chosen-select\\\" id=\\\"order\\\" [(ngModel)]=\\\"order_id\\\" name=\\\"order_id\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                                <option *ngFor=\\\"let i of order_list\\\" value=\\\"{{i._id}}\\\">{{i.unique_id}}</option>\\r\\n                            </select>\\r\\n                        </div>\\r\\n                    </div> -->\\r\\n\\r\\n                    <div class=\\\"col-md-2 col-sm-3\\\">\\r\\n                        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                            <select chosen class=\\\"chosen-select\\\" id=\\\"provider\\\" [(ngModel)]=\\\"provider_id\\\" name=\\\"provider_id\\\" tabindex=\\\"4\\\">\\r\\n                                <option value=\\\"1\\\">All hoppers online</option>\\r\\n                                <option value=\\\"2\\\">All hoppers free</option>\\r\\n                                <option value=\\\"3\\\">All hoppers in delivery</option>\\r\\n                                <option *ngFor=\\\"let i of provider_list\\\" value=\\\"{{i._id}}\\\">\\r\\n                                    <span *ngIf=\\\"i.type==1\\\" style=\\\"color: green;\\\">{{i.first_name + \\\" \\\" + i.last_name + \\\"(\\\" + i.email + \\\")\\\" }}</span>\\r\\n                                    <span *ngIf=\\\"i.type==2\\\" style=\\\"color: orange;\\\">{{i.first_name + \\\" \\\" + i.last_name + \\\"(\\\" + i.email + \\\")\\\" }}</span>\\r\\n                                    <span *ngIf=\\\"i.type==3\\\">{{i.first_name + \\\" \\\" + i.last_name + \\\"(\\\" + i.email + \\\")\\\" }}</span>\\r\\n                                </option>\\r\\n                            </select>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"col-md-2 col-sm-3\\\">\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <select chosen class=\\\"chosen-select\\\" id=\\\"assign_type\\\" [(ngModel)]=\\\"assign_type\\\" name=\\\"assign_type\\\" tabindex=\\\"4\\\">\\r\\n                                <option value=\\\"0\\\">both</option>\\r\\n                                <option value=\\\"1\\\">Already Allocates</option>\\r\\n                                <option value=\\\"2\\\">No Allocates</option>\\r\\n                            </select>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"col-md-2 col-sm-3\\\">\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <select chosen class=\\\"chosen-select\\\" id=\\\"store\\\" [(ngModel)]=\\\"store_id\\\" name=\\\"store_id\\\" tabindex=\\\"4\\\">\\r\\n                                <option value=\\\"\\\">All</option>\\r\\n                                <option *ngFor=\\\"let i of store_list\\\" value=\\\"{{i._id}}\\\">\\r\\n                                    {{i.name}}\\r\\n                                </option>\\r\\n                            </select>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"col-md-2 col-sm-3\\\">\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <select chosen class=\\\"chosen-select\\\" id=\\\"order\\\" [(ngModel)]=\\\"order_id\\\" name=\\\"order_id\\\" tabindex=\\\"4\\\">\\r\\n                                <option value=\\\"\\\">All</option>\\r\\n                                <option *ngFor=\\\"let i of order_list\\\" value=\\\"{{i._id}}\\\">\\r\\n                                    {{i.unique_id}}\\r\\n                                </option>\\r\\n                            </select>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"col-md-2 col-sm-3\\\">\\r\\n                        <span>Free Deliveryman - {{total_online_provider}}</span><br>\\r\\n                        <span>in Delivery Deliveryman - {{total_in_delivery_provider}}</span><br>\\r\\n                        <span>Offline Deliveryman - {{total_offline_provider}}</span>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-2 col-sm-3\\\">\\r\\n                        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                            <select chosen class=\\\"chosen-select\\\" id=\\\"order_provider\\\" [(ngModel)]=\\\"order_provider\\\" name=\\\"order_provider\\\" tabindex=\\\"4\\\">\\r\\n                                <option value=\\\"0\\\">Select</option>\\r\\n                                <option value=\\\"1\\\">All New Order</option>\\r\\n                                <option value=\\\"2\\\">All New Order and free hopper</option>\\r\\n                                <option value=\\\"2\\\">All New Order and all hopper</option>\\r\\n                            </select>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n    </div>     \\r\\n\\r\\n    <div style=\\\"margin-left: -16px;margin-right: -16px;\\\">\\r\\n        <div id=\\\"map\\\" style=\\\"height: calc(100vh - 195px);\\\"></div>\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/location_track/location_track.component.html\n// module id = 1606\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n\\r\\n<div class=\\\"wrapper wrapper-content content_top_bar animated fadeInRight \\\">\\r\\n\\r\\n  <div class=\\\"row\\\">\\r\\n\\r\\n    <div class=\\\"col-sm-8\\\">\\r\\n      <div class=\\\"ibox\\\">\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n          <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n              <div class=\\\"col-md-4\\\">\\r\\n                <select chosen class=\\\"form-control chosen-select\\\" id=\\\"user_type1\\\" [(ngModel)]=\\\"create_mass_notification.user_type\\\" #user_type=\\\"ngModel\\\" name=\\\"user_type\\\" >\\r\\n                  <!--<option value=\\\"0\\\">{{helper.title.all | translate}}</option>-->\\r\\n                  <option value=\\\"\\\">{{title.all | translate}}</option>\\r\\n                  <option value=\\\"7\\\">{{title.user | translate}}</option>\\r\\n                  <option value=\\\"8\\\">{{title.provider | translate}}</option>\\r\\n                  <option value=\\\"2\\\">{{title.store | translate}}</option>\\r\\n                </select>\\r\\n              </div>\\r\\n              <div class=\\\"lable_center col-md-8\\\">\\r\\n                <ul class=\\\"pagination\\\">\\r\\n                  <li *ngIf=\\\"page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"get_mass_notification_list(page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                  <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page==index\\\">\\r\\n                    <a *ngIf=\\\"index==1 || index==total_page || index==page || index==page-1 || index==page+1\\\" (click)=\\\"get_mass_notification_list(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                    <a *ngIf=\\\"(index==1 && (page!==1 && page!==2 && page!==3)) || (index==total_page-1 && (page!==total_page && page!==total_page-1 && page!==total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n\\r\\n                  </li>\\r\\n                  <li *ngIf=\\\"page!==total_page && mass_notification_list.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"get_mass_notification_list(page+1)\\\">{{button.next | translate}}</a></li>\\r\\n                  <li *ngIf=\\\"total_page>1\\\"><a class=\\\"btn\\\" style=\\\"margin-left: 15px;\\\" (click)=\\\"get_mass_notification_list(page_number)\\\">{{button.goto | translate}}</a></li>\\r\\n                  <div *ngIf=\\\"total_page>1\\\" class=\\\"col-md-2\\\">\\r\\n                    <input type=\\\"text\\\" placeholder=\\\"Page Number\\\" style=\\\"height: 29px;\\\" class=\\\"form-control\\\" name=\\\"page_number\\\" [(ngModel)]=\\\"page_number\\\">\\r\\n                  </div>\\r\\n                </ul>\\r\\n              </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-12 table-responsive\\\">\\r\\n              <table class=\\\"table table-striped table-hover\\\">\\r\\n                <thead>\\r\\n                <tr>\\r\\n                  <th>{{title.id |translate}}</th>\\r\\n                  <th>{{title.user | translate}}</th>\\r\\n                  <th>{{title.device_type | translate}}</th>\\r\\n                  <th>{{title.country | translate}}</th>\\r\\n                  <th>{{title.city | translate}}</th>\\r\\n                  <th>{{title.message | translate}}</th>\\r\\n                  <th>{{title.date | translate}}</th>\\r\\n                </tr>\\r\\n                </thead>\\r\\n                <tbody>\\r\\n                <tr *ngFor=\\\"let mass_notification of mass_notification_list;\\\">\\r\\n                  <td>{{mass_notification.unique_id}}</td>\\r\\n                  <td>\\r\\n                    <div *ngIf=\\\"mass_notification.user_type == 7\\\">{{title.user | translate}}</div>\\r\\n                    <div *ngIf=\\\"mass_notification.user_type == 8\\\">{{title.provider | translate}}</div>\\r\\n                    <div *ngIf=\\\"mass_notification.user_type == 2\\\">{{title.store | translate}}</div>\\r\\n                  </td>\\r\\n                  <td>\\r\\n                    {{mass_notification.device_type}}\\r\\n                    <div *ngIf=\\\"mass_notification.device_type == 5\\\">{{title.device_type_both | translate}}</div>\\r\\n                    <div *ngIf=\\\"mass_notification.device_type == 0\\\">{{title.device_type_android | translate}}</div>\\r\\n                    <div *ngIf=\\\"mass_notification.device_type == 1\\\">{{title.device_type_ios | translate}}</div>\\r\\n                  </td>\\r\\n                  <td>\\r\\n                    <div *ngIf=\\\"mass_notification.country_detail\\\">{{mass_notification.country_detail.country_name}}</div>\\r\\n                    <div *ngIf=\\\"!mass_notification.country_detail\\\">{{title.all | translate}}</div>\\r\\n                  </td>\\r\\n                  <td>\\r\\n                    <div *ngIf=\\\"mass_notification.city_detail\\\">{{mass_notification.city_detail.city_name}}</div>\\r\\n                    <div *ngIf=\\\"!mass_notification.city_detail\\\">{{title.all | translate}}</div>\\r\\n                  </td>\\r\\n                  <td>{{mass_notification.message}}</td>\\r\\n                  <td>{{mass_notification.created_at | date: DATE_FORMAT.DD_MMM_YYYY_HH_MM_A}}</td>\\r\\n                </tr>\\r\\n                </tbody>\\r\\n              </table>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"col-md-4\\\">\\r\\n      <form  #add_news_form=\\\"ngForm\\\" (ngSubmit)=\\\"generate_mass_notification()\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n          <div class=\\\"ibox-title\\\">\\r\\n            <h5>{{heading_title.create_mass_notification | translate}}</h5>\\r\\n          </div>\\r\\n\\r\\n          <div class=\\\"ibox-content\\\">\\r\\n\\r\\n            <div class=\\\"full-height-scroll\\\">\\r\\n              <ul class=\\\"list-group clear-list\\\">\\r\\n\\r\\n                <li class=\\\"list-group-item form_padding\\\">\\r\\n                  <select chosen class=\\\"form-control chosen-select\\\" id=\\\"user_type\\\" [(ngModel)]=\\\"create_mass_notification.user_type\\\" #user_type=\\\"ngModel\\\" name=\\\"user_type\\\" >\\r\\n                    <!--<option value=\\\"0\\\">{{helper.title.all | translate}}</option>-->\\r\\n                    <option value=\\\"7\\\">{{title.user | translate}}</option>\\r\\n                    <option value=\\\"8\\\">{{title.provider | translate}}</option>\\r\\n                    <option value=\\\"2\\\">{{title.store | translate}}</option>\\r\\n                  </select>\\r\\n                </li>\\r\\n\\r\\n                <li class=\\\"list-group-item form_padding\\\">\\r\\n                  <select chosen class=\\\"form-control chosen-select\\\" id=\\\"device_type\\\" [(ngModel)]=\\\"create_mass_notification.device_type\\\" #device_type=\\\"ngModel\\\" name=\\\"device_type\\\">\\r\\n                    <option value=\\\"both\\\">{{title.both | translate}}</option>\\r\\n                    <option value=\\\"android\\\">{{title.device_type_android | translate}}</option>\\r\\n                    <option value=\\\"ios\\\">{{title.device_type_ios | translate}}</option>\\r\\n                  </select>\\r\\n                </li>\\r\\n\\r\\n                <li class=\\\"list-group-item form_padding\\\" [hidden]=\\\"create_mass_notification.user_type==2\\\">\\r\\n                  <select chosen class=\\\"form-control chosen-select\\\" data-placeholder=\\\"Select Delivery\\\" id=\\\"delivery\\\" [(ngModel)]=\\\"create_mass_notification.delivery\\\" #delivery=\\\"ngModel\\\" name=\\\"delivery\\\">\\r\\n\\r\\n                    <option *ngFor=\\\"let i of delivery_list\\\" value=\\\"{{i._id}}\\\">{{i.delivery_name}}</option>\\r\\n                  </select>\\r\\n                </li>\\r\\n\\r\\n                <li class=\\\"list-group-item form_padding\\\" >\\r\\n                  <select chosen class=\\\"form-control chosen-select\\\" data-placeholder=\\\"Select Country\\\" id=\\\"country\\\" [(ngModel)]=\\\"create_mass_notification.country\\\" #country=\\\"ngModel\\\" name=\\\"country\\\" required>\\r\\n                    <option value=\\\"all\\\">{{title.all | translate}}</option>\\r\\n                    <option *ngFor=\\\"let i of country_list\\\" value=\\\"{{i._id}}\\\">{{i.country_name}}</option>\\r\\n                  </select>\\r\\n                </li>\\r\\n\\r\\n\\r\\n                <li class=\\\"list-group-item form_padding\\\" [hidden]=\\\"create_mass_notification.user_type!=7\\\">\\r\\n                  <select chosen class=\\\"form-control chosen-select\\\" data-placeholder=\\\"Select City\\\" id=\\\"city\\\" [(ngModel)]=\\\"create_mass_notification.city\\\" #city=\\\"ngModel\\\" name=\\\"city\\\" >\\r\\n                    <option value=\\\"all\\\">{{title.all | translate}}</option>\\r\\n                    <option *ngFor=\\\"let i of city_list\\\" value=\\\"{{i._id}}\\\">{{i.city_name}}</option>\\r\\n                  </select>\\r\\n                </li>\\r\\n\\r\\n\\r\\n\\r\\n                <li class=\\\"list-group-item form_padding\\\">\\r\\n                  <textarea class=\\\"form-control text_area_news\\\" placeholder=\\\"{{title.message | translate}}\\\" [(ngModel)]=\\\"create_mass_notification.message\\\" maxlength=\\\"500\\\" #message=\\\"ngModel\\\" name=\\\"message\\\" required></textarea>\\r\\n                  <div *ngIf=\\\"message.errors && (message.dirty || message.touched)\\\">\\r\\n                    <div class=\\\"error_message\\\" [hidden]=\\\"!message.errors.required\\\">{{validation_message.field_required | translate}}\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </li>\\r\\n\\r\\n                <li class=\\\"list-group-item form_padding\\\">\\r\\n                  <button [disabled]=\\\"!add_news_form.valid\\\" class=\\\"btn btn-orange btn-block\\\" type=\\\"submit\\\">{{button.submit | translate}}</button>\\r\\n                </li>\\r\\n\\r\\n              </ul>\\r\\n            </div>\\r\\n\\r\\n          </div>\\r\\n\\r\\n        </div>\\r\\n      </form>\\r\\n    </div>\\r\\n  </div>\\r\\n</div>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/mass_notification/mass_notification.component.html\n// module id = 1607\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer> \\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div>\\r\\n                <label>{{title.search | translate}}</label>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"search_field\\\" [(ngModel)]=\\\"search_field\\\" name=\\\"search_field\\\" tabindex=\\\"4\\\">\\r\\n                        <option value=\\\"unique_id\\\">{{title.filter_id | translate}}</option>\\r\\n                        <option value=\\\"user_first_name\\\">{{title.filter_user | translate}}</option>\\r\\n                        <option value=\\\"store_name\\\">{{title.filter_store | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n                        <input type=\\\"text\\\" class=\\\"form-control search_box\\\" [(ngModel)]=\\\"search_value\\\" #store_open_time=\\\"ngModel\\\" name=\\\"search_value\\\">\\r\\n                        <span class=\\\"input-group-addon search_icon\\\"><span class=\\\"fa fa-search\\\"></span></span>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-md-6 col-sm-12\\\">\\r\\n            <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n                <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                    <div>\\r\\n                        <label>{{title.no_of_record | translate}}</label>\\r\\n                    </div>\\r\\n                    <div class=\\\"form-group\\\">\\r\\n                        <select chosen class=\\\"chosen-select\\\" id=\\\"number_of_rec\\\" [(ngModel)]=\\\"number_of_rec\\\" name=\\\"number_of_rec\\\" tabindex=\\\"4\\\">\\r\\n                            <option value=\\\"10\\\">10</option>\\r\\n                            <option value=\\\"20\\\">20</option>\\r\\n                            <option value=\\\"50\\\">50</option>\\r\\n                            <option value=\\\"100\\\">100</option>\\r\\n                        </select>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-2 col-sm-3 remove_padding\\\">\\r\\n                <div>\\r\\n                    <label>{{title.status | translate}}</label>\\r\\n                </div>\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"order_status\\\" [(ngModel)]=\\\"order_status\\\" name=\\\"order_status\\\" tabindex=\\\"4\\\">\\r\\n                        <option value=\\\"all\\\">{{title.all | translate}}</option>\\r\\n                        <option value=\\\"{{helper.ORDER_STATE.WAITING_FOR_ACCEPT_STORE}}\\\">{{helper.status.waiting_for_accept | translate}}</option>\\r\\n                        <option value=\\\"{{helper.ORDER_STATE.STORE_ACCEPTED}}\\\">{{helper.status.accepted | translate}}</option>\\r\\n                        <option value=\\\"{{helper.ORDER_STATE.STORE_PREPARING_ORDER}}\\\">{{helper.status.start_preparing_order | translate}}</option>\\r\\n                        <option value=\\\"{{helper.ORDER_STATE.OREDER_READY}}\\\">{{helper.status.order_ready | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-2 col-sm-3\\\">\\r\\n                <div>\\r\\n                    <label>{{title.payment_mode | translate}}</label>\\r\\n                </div>\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"payment_status\\\" [(ngModel)]=\\\"payment_status\\\" name=\\\"payment_status\\\" tabindex=\\\"4\\\">\\r\\n                        <option value=\\\"all\\\">{{title.all | translate}}</option>\\r\\n                        <option value=\\\"false\\\">{{title.card | translate}}</option>\\r\\n                        <option value=\\\"true\\\">{{title.cash | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-2 col-sm-2 remove_padding\\\">\\r\\n                <div>\\r\\n                    <label>{{title.pickup | translate}}</label>\\r\\n                </div>\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"pickup_type\\\" [(ngModel)]=\\\"pickup_type\\\" name=\\\"pickup_type\\\" tabindex=\\\"4\\\">\\r\\n                        <option value=\\\"both\\\">{{title.both | translate}}</option>\\r\\n                        <option value=\\\"true\\\">{{title.user | translate}}</option>\\r\\n                        <option value=\\\"false\\\">{{title.deliveryman | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <!-- <div class=\\\"col-md-2 col-sm-2\\\">\\r\\n                <div>\\r\\n                    <label>{{title.order_type | translate}}</label>\\r\\n                </div>\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"order_type\\\" [(ngModel)]=\\\"order_type\\\" name=\\\"order_type\\\" tabindex=\\\"4\\\">\\r\\n                        <option value=\\\"both\\\">{{title.both | translate}}</option>\\r\\n                        <option value=\\\"false\\\">{{title.asap | translate}}</option>\\r\\n                        <option value=\\\"true\\\">{{title.schedule | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div> -->\\r\\n            <div class=\\\"col-md-2 col-sm-2 remove_padding\\\">\\r\\n                <div>\\r\\n                    <label>{{title.created_by | translate}}</label>\\r\\n                </div>\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"created_by\\\" [(ngModel)]=\\\"created_by\\\" name=\\\"created_by\\\" tabindex=\\\"4\\\">\\r\\n                        <option value=\\\"both\\\">{{title.both | translate}}</option>\\r\\n                        <option value=\\\"{{helper.ADMIN_DATA_ID.USER}}\\\">{{title.user | translate}}</option>\\r\\n                        <option value=\\\"{{helper.ADMIN_DATA_ID.STORE}}\\\">{{title.store | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-2 col-sm-12\\\">\\r\\n            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <button type=\\\"button\\\" (click)=\\\"admin_history(1)\\\" class=\\\"btn filter_apply_btn pull-right\\\">\\r\\n                    <span class=\\\"fa fa-search\\\"></span>\\r\\n                </button>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <button type=\\\"button\\\" (click)=\\\"order_export_csv(1)\\\" class=\\\"btn export_excel_btn pull-right\\\">\\r\\n                    <span class=\\\"fa fa-file-excel-o\\\"></span>\\r\\n                </button>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n<div class=\\\"wrapper wrapper-content content_top_bar_view1 animated fadeInRight \\\">\\r\\n\\r\\n    <div class=\\\"ibox\\\" *ngIf=\\\"order_list.length==0\\\">\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n            <div class=\\\"lable_center\\\" >\\r\\n                <label>No Records</label>\\r\\n            </div>\\r\\n        </div>  \\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-8\\\">\\r\\n            <div class=\\\"ibox\\\" *ngIf=\\\"order_list.length>0\\\">\\r\\n                <div class=\\\"ibox-content\\\" style=\\\"padding-bottom: 40px;\\\">\\r\\n                    <div class=\\\"table-responsive scrollbar\\\" style=\\\"height: calc(100vh - 255px);overflow: auto;\\\">\\r\\n                        <table class=\\\"table\\\">\\r\\n                            <thead>\\r\\n                                <tr>\\r\\n                                    <th>{{title.ID | translate}}</th>\\r\\n                                    <th>{{title.time | translate}}</th>\\r\\n                                    <th>{{title.store_address | translate}}</th>\\r\\n                                    <th>{{title.distance | translate}}</th>\\r\\n                                    <th>{{title.name_user | translate}}</th>\\r\\n                                    <th>{{title.amount | translate}}</th>\\r\\n                                    <th>{{title.status | translate}}</th>\\r\\n                                    <th>{{title.action | translate}}</th>\\r\\n                                </tr>\\r\\n                            </thead>\\r\\n                            <tbody>\\r\\n                                <tr *ngFor=\\\"let order of order_list; let index=index; let last=last;\\\" [class.selected_tr]=\\\"order._id==order_detail._id\\\" (click)=\\\"get_order_detail(order._id)\\\">\\r\\n                                    <td>\\r\\n                                        {{order.unique_id}}\\r\\n                                        <span *ngIf=\\\"order.is_user_pick_up_order\\\" style=\\\"padding: 4px 11px;position: unset !important;\\\" class=\\\"pickup_order\\\"></span>\\r\\n                                        <span *ngIf=\\\"!order.is_user_pick_up_order\\\" style=\\\"padding: 4px 11px;position: unset !important;\\\" class=\\\"delivery_order\\\"></span>\\r\\n                                    </td>\\r\\n                                    <td *ngIf=\\\"order.is_schedule_order==false\\\">\\r\\n                                        {{order.estimated_time_for_delivery_order | date: DATE_FORMAT.DD_MMM_YYYY_HH_MM_A}}\\r\\n                                        <!-- <br>Created at: {{order.created_at | date: 'hh:mm a'}} -->\\r\\n                                        <br><span [class.time_changed]=\\\"order.is_time_updated\\\"><b>Ready</b> at {{order.estimated_time_for_ready_order | date: 'HH:mm'}}</span>\\r\\n                                        <br><span [class.time_changed]=\\\"order.is_time_updated\\\" *ngIf=\\\"order.estimated_time_for_delivery_order\\\"><b>Delivery</b> at {{order.estimated_time_for_delivery_order | date: 'HH:mm'}}</span>\\r\\n                                    </td>\\r\\n                                    <td *ngIf=\\\"order.is_schedule_order==true && order.schedule_order_start_at !==null\\\">     {{order.estimated_time_for_delivery_order | date: DATE_FORMAT.DD_MMM_YYYY_HH_MM_A}}\\r\\n                                        <br><span [class.time_changed]=\\\"order.is_time_updated\\\"><b>Ready</b> at: {{order.estimated_time_for_ready_order | date: 'HH:mm'}}</span>\\r\\n                                        <br><span [class.time_changed]=\\\"order.is_time_updated\\\" *ngIf=\\\"order.estimated_time_for_delivery_order\\\"><b>Delivery</b> at: {{order.estimated_time_for_delivery_order | date: 'HH:mm'}}</span>\\r\\n                                    </td>\\r\\n                                    <td>\\r\\n                                        {{order.store_name}}\\r\\n                                        <br>\\r\\n                                        {{order.destination_address}}\\r\\n                                    </td>\\r\\n                                    <td>\\r\\n                                        <div *ngIf=\\\"order.total_time && order.total_distance\\\">\\r\\n                                            {{order.total_time.toFixed(2)}} min && {{order.total_distance.toFixed(2)}} \\r\\n                                            <span *ngIf=\\\"order.is_distance_unit_mile\\\">mile</span>\\r\\n                                            <span *ngIf=\\\"!order.is_distance_unit_mile\\\">km</span>\\r\\n                                        </div>\\r\\n                                    </td>\\r\\n                                    <td>\\r\\n                                        {{order.user_first_name}} {{order.user_last_name}} ({{order.total_order}})\\r\\n                                        <!-- <br>\\r\\n                                        {{order.destination_address}} -->\\r\\n                                    </td>\\r\\n                                    <td><span *ngIf=\\\"order.total\\\">{{order.total.toFixed(2) }}</span></td>\\r\\n                                    <td [ngSwitch]=\\\"order.order_status\\\">\\r\\n                                        <div *ngSwitchCase=\\\"ORDER_STATE.WAITING_FOR_ACCEPT_STORE\\\" (click)=\\\"orderStatus(ORDER_STATE.STORE_ACCEPTED, order.store_id, order._id, order.order_type, order.is_user_pick_up_order, order.is_schedule_order)\\\"><span class=\\\"label label-info_new\\\">{{status.waiting_for_accept1 | translate}}</span></div>\\r\\n                                        <div *ngSwitchCase=\\\"ORDER_STATE.STORE_ACCEPTED\\\" (click)=\\\"orderStatus(ORDER_STATE.OREDER_READY, order.store_id, order._id, order.order_type, order.is_user_pick_up_order, order.is_schedule_order)\\\"><span class=\\\"label label-primary_new\\\">{{status.accepted1 | translate}}</span></div>\\r\\n                                        <div *ngSwitchCase=\\\"ORDER_STATE.STORE_PREPARING_ORDER\\\" (click)=\\\"orderStatus(ORDER_STATE.OREDER_READY, order.store_id, order._id, order.order_type, order.is_user_pick_up_order, order.is_schedule_order)\\\"><span class=\\\"label label-primary_new\\\">{{status.start_preparing_order1 | translate}}</span></div>\\r\\n                                        <div *ngSwitchCase=\\\"ORDER_STATE.OREDER_READY\\\">\\r\\n                                            <span class=\\\"label label-primary_new\\\" *ngIf=\\\"order.is_user_pick_up_order\\\" (click)=\\\"completeDeliveryModal(order._id, order.store_id)\\\">{{status.order_ready1 | translate}}</span>\\r\\n                                            <span class=\\\"label label-primary_new\\\" *ngIf=\\\"!order.is_user_pick_up_order\\\">{{status.order_ready1 | translate}}</span>\\r\\n                                        </div>\\r\\n                                    </td>\\r\\n                                    \\r\\n                                     <!-- <td [ngSwitch]=\\\"order.is_payment_mode_cash\\\">\\r\\n                                        <div *ngIf=\\\"order.is_paid_from_wallet\\\">\\r\\n                                            <span class=\\\"label label-success\\\">{{title.wallet | translate}}</span>\\r\\n                                        </div>\\r\\n                                        <div *ngIf=\\\"!order.is_paid_from_wallet\\\">\\r\\n                                            <div *ngSwitchCase=\\\"true\\\"><span class=\\\"label label-primary_new\\\">{{lable_title.cash}}</span></div>\\r\\n                                            <div *ngSwitchCase=\\\"false\\\"><span class=\\\"label label-danger\\\">Card </span></div>\\r\\n                                        </div>\\r\\n                                     </td> -->\\r\\n                                    \\r\\n                                    <td class=\\\"text-left footable-visible footable-last-column\\\">\\r\\n                                        <div class=\\\"btn-group\\\">\\r\\n                                            <button (click)=\\\"open_detail_modal()\\\" class=\\\"btn btn-xs btn-light_black\\\">{{helper.button.detail | translate}}</button>\\r\\n                                            <button (click)=\\\"cancelOrder(order.store_id, order._id)\\\" class=\\\"btn btn-xs btn-danger\\\">{{helper.button.cancel | translate}}</button>\\r\\n                                            <button (click)=\\\"editOrder(order.store_id, order._id)\\\" class=\\\"btn btn-xs btn-light_black\\\">{{helper.button.edit | translate}}</button>\\r\\n                                        </div>\\r\\n                                    </td>\\r\\n                                </tr>\\r\\n                            </tbody>\\r\\n                        </table>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-12 col-sm-12\\\" style=\\\"margin-top: 6px;\\\">\\r\\n                        <div class=\\\"lable_center\\\">\\r\\n\\r\\n                            <ul class=\\\"pagination\\\">\\r\\n                                <li *ngIf=\\\"page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"admin_history(page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                                <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page==index\\\">\\r\\n                                    <a *ngIf=\\\"index==1 || index==total_page || index==page || index==page-1 || index==page+1\\\" (click)=\\\"admin_history(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                                    <a *ngIf=\\\"(index==1 && (page!==1 && page!==2 && page!==3)) || (index==total_page-1 && (page!==total_page && page!==total_page-1 && page!==total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n\\r\\n                                </li>\\r\\n                                <li *ngIf=\\\"page!==total_page && order_list.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"admin_history(page+1)\\\">{{button.next | translate}}</a></li>\\r\\n                            </ul>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4\\\" *ngIf=\\\"order_detail.cart_detail\\\" >\\r\\n            <div class=\\\"ibox\\\" >\\r\\n                <div class=\\\"ibox-content scrollbar\\\" style=\\\"height: calc(100vh - 205px);overflow: auto;\\\">\\r\\n                    <div *ngIf=\\\"order_detail.cart_detail\\\" >\\r\\n                        <label><span class=\\\"fa fa-map-marker\\\" style=\\\"margin-right: 5px;\\\"></span>{{title.delivery_address | translate}}\\r\\n                            <span *ngIf=\\\"order_detail.is_schedule_order\\\" class=\\\"fa fa-clock-o product_arrow\\\"></span>\\r\\n                            <span *ngIf=\\\"order_detail.order_payment_detail.is_user_pick_up_order\\\" class=\\\"fa fa-user product_arrow\\\"></span>\\r\\n                        </label>\\r\\n                        <div style=\\\"margin-left: 10px;\\\">{{order_detail.cart_detail.destination_addresses[0].address}}</div>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"row\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                        <div class=\\\"col-md-4\\\">\\r\\n                            <img style=\\\"width: 80px; height: 80px;\\\" class=\\\"img-circle m-t-xs\\\" src=\\\"{{order_detail.user_detail.image_url != '' ? helper.CONSTANT.IMAGE_BASE_URL + order_detail.user_detail.image_url : 'default.png'}}\\\">\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8\\\">\\r\\n                            <label>{{heading_title.order_by | translate}}</label>\\r\\n                            <div>{{order_detail.user_detail.first_name + \\\" \\\" + order_detail.user_detail.last_name}} ({{order_detail.user_detail.unique_id}})</div>\\r\\n                            <div>{{order_detail.user_detail.email}}</div>\\r\\n                            <div>{{order_detail.user_detail.country_phone_code + \\\" \\\" + order_detail.user_detail.phone}}</div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"row\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                        <div class=\\\"col-md-4\\\">\\r\\n                            <img style=\\\"width: 80px; height: 80px;\\\" class=\\\"img-circle m-t-xs\\\" src=\\\"{{order_detail.store_detail.image_url != '' ? helper.CONSTANT.IMAGE_BASE_URL + order_detail.store_detail.image_url : 'default.png'}}\\\">\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8\\\">\\r\\n                            <label>{{heading_title.order_to | translate}}</label>\\r\\n                            <div>{{order_detail.store_detail.name}} ({{order_detail.store_detail.unique_id}})</div>\\r\\n                            <div>{{order_detail.store_detail.email}}</div>\\r\\n                            <div>{{order_detail.store_detail.country_phone_code + \\\" \\\" + order_detail.store_detail.phone}}</div>\\r\\n                            <div>{{order_detail.store_detail.address}}</div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"row\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                        <div class=\\\"col-md-12\\\">\\r\\n                            <div style=\\\"margin-left: 10px;\\\">Comment: {{order_detail.cart_detail.destination_addresses[0].note}}</div>\\r\\n                            <div style=\\\"margin-left: 10px;\\\">Floor: {{order_detail.cart_detail.destination_addresses[0].floor}}</div>\\r\\n                            <div style=\\\"margin-left: 10px;\\\">entry code: {{order_detail.cart_detail.destination_addresses[0].entry_code}}</div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"row\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                        <div class=\\\"col-md-12\\\">\\r\\n                            <div style=\\\"margin-left: 10px;\\\" *ngIf=\\\"order_detail.deliveryman_to_store_time\\\">{{title.driver_current_position_to_store_postion | translate}}: {{order_detail.deliveryman_to_store_time.toFixed(2)}} min &&\\r\\n                            {{order_detail.deliveryman_to_store_distance.toFixed(2)}} \\r\\n                            <span *ngIf=\\\"order_detail.order_payment_detail.is_distance_unit_mile\\\">mile</span>\\r\\n                            <span *ngIf=\\\"!order_detail.order_payment_detail.is_distance_unit_mile\\\">km</span>\\r\\n                            </div>\\r\\n\\r\\n                            <!-- <div style=\\\"margin-left: 10px;\\\">{{title.store_position_to_user_position | translate}}:     {{order_detail.order_payment_detail.total_time.toFixed(2)}} min && {{order_detail.order_payment_detail.total_distance.toFixed(2)}} \\r\\n                            <span *ngIf=\\\"order_detail.order_payment_detail.is_distance_unit_mile\\\">mile</span>\\r\\n                            <span *ngIf=\\\"!order_detail.order_payment_detail.is_distance_unit_mile\\\">km</span>\\r\\n                            </div> -->\\r\\n                            \\r\\n                            <div style=\\\"margin-left: 10px;\\\">{{title.store_preparation_time | translate}}: {{order_detail.preparation_time}}</div>\\r\\n                           <!--  <div *ngIf=\\\"order_detail.store_detail.delivery_time == order_detail.store_detail.delivery_time_max\\\" style=\\\"margin-left: 10px;\\\">{{title.store_preparation_time | translate}}: {{order_detail.store_detail.delivery_time_max}} min</div> -->\\r\\n                            <div style=\\\"margin-left: 10px;\\\">\\r\\n                                <label>{{lable_title.created_at | translate}} : </label>{{order_detail.created_at | date: DATE_FORMAT.DD_MMM_YYYY}}</div>\\r\\n                            <div style=\\\"margin-left: 10px;\\\">\\r\\n                                <label>{{lable_title.order_ready_at | translate}} : </label>{{order_detail.estimated_time_for_ready_order | date: DATE_FORMAT.DD_MMM_YYYY}}</div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n</div>\\r\\n\\r\\n\\r\\n\\r\\n<modal cssClass=\\\"modal-invoice\\\" #order_detail_modal>\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n        <label>{{heading_title.order_detail | translate}}</label>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n        <div class=\\\"row\\\" *ngIf=\\\"order_detail.cart_detail\\\">\\r\\n            <div class=\\\"col-md-4\\\">\\r\\n                <div class=\\\"ibox remove_ibox_margin\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <h4 class=\\\"pull-right\\\">{{currency_sign}}{{order_total.toFixed(2)}}</h4>\\r\\n                        <span style=\\\"position: absolute; left:48%;\\\">(<strong>{{total_item}}</strong>) {{title.items | translate}}</span>\\r\\n                        <h5>{{heading_title.order_detail | translate}}</h5>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content invoice_popup_box scrollbar\\\">\\r\\n                        <div *ngFor=\\\"let products of order_detail.cart_detail.order_details; let product_index=index; \\\">\\r\\n                            <div style=\\\"border-bottom: 1px solid brown;text-align: center;\\\">\\r\\n                                <h4 class=\\\"pull-right\\\">{{currency_sign}}{{product_item_total_array[product_index]}}\\r\\n                                    <span *ngIf=\\\"hide_specification_group[product_index]=='true'\\\" (click)=\\\"show_specifications_group(product_index)\\\" class=\\\"fa fa-chevron-left\\\"></span>\\r\\n                                    <span *ngIf=\\\"hide_specification_group[product_index]=='false'\\\" (click)=\\\"hide_specifications_group(product_index)\\\" class=\\\"fa fa-chevron-down\\\"></span>\\r\\n                                </h4>\\r\\n                                <span>(<strong>{{products.items.length}}</strong>) {{title.items | translate}}</span>\\r\\n                                <h5 style=\\\"float: left;\\\">{{products.product_name}}</h5>\\r\\n                            </div>\\r\\n\\r\\n                            <div id=\\\"spec_list{{product_index}}\\\" class=\\\"table-responsive\\\" style=\\\"    width: 100%;\\\">\\r\\n                                <table class=\\\"table\\\">\\r\\n                                    <thead style=\\\"border-bottom: 1px solid;\\\">\\r\\n                                    <tr>\\r\\n                                        <th >{{title.item | translate}}</th>\\r\\n                                        <th >{{title.spec | translate}} {{title.price | translate}}</th>\\r\\n                                        <th >{{title.price | translate}}</th>\\r\\n                                        <th >{{title.qty | translate}}</th>\\r\\n                                        <th >{{title.total | translate}}</th>\\r\\n                                    </tr>\\r\\n                                    </thead>\\r\\n\\r\\n                                    <tbody *ngFor=\\\"let item of products.items; let odd=odd; let item_index=index; \\\" (click)=\\\"get_specification(product_index, item_index)\\\">\\r\\n                                    <tr style=\\\"cursor: pointer;\\\">\\r\\n                                        <td >{{item.item_name}}</td>\\r\\n                                        <td>{{currency_sign}}{{item.total_specification_price}}</td>\\r\\n                                        <td>{{currency_sign}}{{item.item_price}}</td>\\r\\n                                        <td >{{item.quantity}}</td>\\r\\n                                        <td >{{currency_sign}}{{((item.item_price + item.total_specification_price)*item.quantity).toFixed(2)}}</td>\\r\\n                                    </tr>\\r\\n                                    <tr style=\\\"cursor: pointer;color: red;\\\">\\r\\n                                        <td colspan=\\\"5\\\" style=\\\"border-top: 0;\\\">Note : {{item.note_for_item}}</td>\\r\\n                                    </tr>\\r\\n                                    </tbody>\\r\\n\\r\\n                                </table>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-4\\\" *ngIf=\\\"is_show_specification\\\">\\r\\n                <div class=\\\"ibox remove_ibox_margin\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <h5>{{title.specifications | translate}}</h5>\\r\\n                        <span class=\\\"fa fa-remove pull-right\\\" (click)=\\\"is_show_specification=false;\\\"></span>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"ibox-content invoice_popup_box scrollbar\\\">\\r\\n\\r\\n                        <div *ngFor=\\\"let specification_group of specifications; let odd=odd;\\\" [class.row]=\\\"odd\\\" style=\\\"margin: 0;\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\" style=\\\"padding: 0px;\\\">\\r\\n                                    <div class=\\\"col-md-12\\\" style=\\\"padding: 0;border-bottom: 1px solid #dcdcdc;\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5>{{specification_group.name}}</h5></div>\\r\\n                                        <div *ngIf=\\\"specification_group.price > 0\\\" class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;\\\">{{currency_sign}}{{specification_group.price.toFixed(2)}}</h5></div>\\r\\n                                    </div>\\r\\n\\r\\n                                    <div class=\\\"col-md-12\\\" *ngFor=\\\"let specification of specification_group.list\\\">\\r\\n                                        <div style=\\\"padding: 0;\\\" class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h6 style=\\\"font-size: 13px;\\\">{{specification.name}}</h6></div>\\r\\n                                        <div *ngIf=\\\"specification.price > 0\\\" class=\\\"col-md-4 col-sm-4 col-xs-4\\\" style=\\\"padding: 0;\\\"><h6 style=\\\"font-size: 13px;float: right;\\\">{{currency_sign}}{{specification.price.toFixed(2)}}</h6></div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"row\\\" style=\\\"border-top: 1px solid;padding-top: 15px;\\\" *ngIf=\\\"item_note!=''\\\">\\r\\n                            <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\">\\r\\n                                <label>{{title.item_note_here}}</label>\\r\\n                                <div>\\r\\n                                    <h6 style=\\\"font-size: 13px;\\\">{{item_note}}</h6>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-4\\\" *ngIf=\\\"!is_show_specification\\\">\\r\\n                <div class=\\\"ibox remove_ibox_margin\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"background-color: #d4d8d8;\\\">\\r\\n                        <h5>{{heading_title.order_status | translate}}</h5>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content invoice_popup_box scrollbar\\\">\\r\\n\\r\\n                        <div id=\\\"vertical-timeline\\\" class=\\\"vertical-container dark-timeline\\\">\\r\\n\\r\\n                            <div *ngFor=\\\"let date of order_detail.date_time;\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                </div>\\r\\n                                <div class=\\\"vertical-timeline-content\\\" [ngSwitch]=\\\"date.status\\\" style=\\\"padding-top: 1px;\\\">\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.WAITING_FOR_ACCEPT_STORE\\\"><span>{{helper.status.waiting_for_accept | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_ACCEPTED\\\"><span>{{helper.status.accepted | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_PREPARING_ORDER\\\"><span>{{helper.status.start_preparing_order | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.OREDER_READY\\\"><span>{{helper.status.order_ready | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.WAITING_FOR_DELIVERY_MAN\\\"><span>{{helper.status.waiting_for_delivery_man | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_REJECTED\\\"><span>{{helper.status.rejected | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_CANCELLED\\\"><span>{{helper.status.cancelled | translate}}</span></p>\\r\\n\\r\\n                                    <span class=\\\"vertical-date small text-muted\\\">{{moment(date.date).tz(order_detail.timezone !== '' ? order_detail.timezone: 'Asia/Kolkata').format('DD MMM YYYY HH:mm a')}}</span>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div *ngIf=\\\"order_detail.request_detail\\\">\\r\\n                                <div *ngFor=\\\"let date of order_detail.request_detail.date_time;\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                    <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                    </div>\\r\\n                                    <div class=\\\"vertical-timeline-content\\\" [ngSwitch]=\\\"date.status\\\" style=\\\"padding-top: 1px;\\\">\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.WAITING_FOR_DELIVERY_MAN\\\"><span>{{helper.status.waiting_for_delivery_man | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_ACCEPTED\\\"><span>{{helper.status.delivery_man_accepted | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_COMING\\\"><span>{{helper.status.delivery_man_coming | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_ARRIVED\\\"><span>{{helper.status.delivery_man_arrived | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\\\"><span>{{helper.status.picked_order | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_STARTED_DELIVERY\\\"><span>{{helper.status.started_for_delivery | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_ARRIVED_AT_DESTINATION\\\"><span>{{helper.status.arrived_at_destination | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_COMPLETE_DELIVERY\\\"><span>{{helper.status.delivered_ordered | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_REJECTED\\\"><span>{{helper.status.rejected | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_CANCELLED\\\"><span>{{helper.status.cancelled | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.NO_DELIVERY_MAN_FOUND\\\"><span>{{helper.status.no_delivery_man_found | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_REJECTED\\\"><span>{{helper.status.delivery_man_rejected | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_CANCELLED\\\"><span>{{helper.status.delivery_man_cancelled | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.CANCELED_BY_USER\\\"><span>{{helper.status.user_cancelled | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_CANCELLED_REQUEST\\\"><span>{{helper.status.cancelled_request | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.ORDER_COMPLETED\\\"><span>{{helper.status.completed | translate}}</span></p>\\r\\n\\r\\n                                        <span class=\\\"vertical-date small text-muted\\\">{{moment(date.date).tz(order_detail.timezone !== '' ? order_detail.timezone: 'Asia/Kolkata').format('DD MMM YYYY HH:MM a')}}</span>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-4\\\">\\r\\n                <div class=\\\"ibox remove_ibox_margin\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"background-color: #d4d8d8;\\\">\\r\\n                        <h5>{{order_detail.order_payment_detail.invoice_number}}</h5>\\r\\n                        <h5 class=\\\"pull-right\\\">{{currency_sign}}{{order_detail.order_payment_detail.total.toFixed(2)}}</h5>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content invoice_popup_box scrollbar\\\">\\r\\n                        <div class=\\\"row\\\" style=\\\"margin-bottom: 20px;\\\">\\r\\n                            <div class=\\\"col-md-4\\\" style=\\\"padding-right: 4px;\\\">\\r\\n                                <div class=\\\"invoice_box\\\">\\r\\n                                        <div><span>{{title.cash_payment}}</span></div>\\r\\n                                        <div><label>{{currency_sign}}{{order_detail.order_payment_detail.cash_payment.toFixed(2)}}</label></div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-4\\\" style=\\\"padding-right: 8px; padding-left: 8px;\\\">\\r\\n                                <div class=\\\"invoice_box\\\">\\r\\n                                        <div><span>{{title.wallet_payment}}</span></div>\\r\\n                                        <div><label>{{currency_sign}}{{order_detail.order_payment_detail.wallet_payment.toFixed(2)}}</label></div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-4\\\" style=\\\"padding-left: 4px;\\\">\\r\\n                                <div class=\\\"invoice_box\\\">\\r\\n                                        <div><span>{{title.other_payment}}</span></div>\\r\\n                                        <div><label>{{currency_sign}}{{order_detail.order_payment_detail.card_payment.toFixed(2)}}</label></div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\" style=\\\"padding: 0px;\\\">\\r\\n\\r\\n                                <div class=\\\"row invoice_seperator\\\">\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5 style=\\\"margin-bottom: 0;\\\">{{title.total_delivery_price | translate}}</h5></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;margin-bottom: 0;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_delivery_price.toFixed(2)}}</h5></div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.delivery_price | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                                            <span style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_service_price.toFixed(2)}}</span>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.tax_price | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><span style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_admin_tax_price.toFixed(2)}}</span></div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\"  *ngIf='order_detail.order_payment_detail.is_promo_for_delivery_service == true'>\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.promo_bonus | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><span style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.promo_payment.toFixed(2)}}</span></div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"row invoice_seperator\\\">\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5 style=\\\"margin-bottom: 0;\\\">{{title.total_order_price | translate}}</h5></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;margin-bottom: 0;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_order_price.toFixed(2)}}</h5></div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.order_price | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><span style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_cart_price.toFixed(2)}}</span></div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.tax_price | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><span style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_store_tax_price.toFixed(2)}}</span></div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\" *ngIf='order_detail.order_payment_detail.is_promo_for_delivery_service == false'>\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.promo_bonus | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><span style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.promo_payment.toFixed(2)}}</span></div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"row invoice_seperator\\\">\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.store_bear_delivery_fee | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                                            <span style=\\\"float: right;\\\" *ngIf=\\\"order_detail.order_payment_detail.is_store_pay_delivery_fees\\\">{{title.yes | translate}}</span>\\r\\n                                            <span style=\\\"float: right;\\\" *ngIf=\\\"!order_detail.order_payment_detail.is_store_pay_delivery_fees\\\">{{title.no | translate}}</span>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\" *ngIf=\\\"order_detail.order_payment_detail.is_payment_mode_cash\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.deliveryman_paid_order_cash_to_store | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                                            <span style=\\\"float: right;\\\" *ngIf=\\\"order_detail.order_payment_detail.provider_paid_order_payment\\\">{{title.yes | translate}}</span>\\r\\n                                            <span style=\\\"float: right;\\\" *ngIf=\\\"!order_detail.order_payment_detail.provider_paid_order_payment\\\">{{title.no | translate}}</span>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"row invoice_seperator\\\">\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.store_profit | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><span style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_store_income.toFixed(2)}}</span></div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                                            <span *ngIf=\\\"order_detail.order_payment_detail.is_store_income_set_in_wallet\\\" style=\\\"color: green;\\\">{{title.sattlement_with_store | translate}}</span>\\r\\n                                            <span *ngIf=\\\"!order_detail.order_payment_detail.is_store_income_set_in_wallet\\\">\\r\\n                                                <span *ngIf=\\\"order_detail.order_payment_detail.is_transfered_to_store\\\" style=\\\"color: green;\\\">{{title.sattlement_with_store | translate}}</span>\\r\\n                                                <span *ngIf=\\\"!order_detail.order_payment_detail.is_transfered_to_store\\\" style=\\\"color: red;\\\">{{title.sattlement_with_store | translate}}</span>\\r\\n                                            </span>\\r\\n                                        </div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                                            <span style=\\\"float: right;\\\" *ngIf=\\\"order_detail.order_payment_detail.is_store_income_set_in_wallet\\\">\\r\\n                                                <span style=\\\"color: green;\\\">{{currency_sign}}{{order_detail.order_payment_detail.store_income_set_in_wallet.toFixed(2)}} ({{title.wallet | translate}})</span>\\r\\n                                            </span>\\r\\n                                            <span style=\\\"float: right;\\\" *ngIf=\\\"!order_detail.order_payment_detail.is_store_income_set_in_wallet\\\">\\r\\n                                                <span style=\\\"color: green;\\\" *ngIf=\\\"order_detail.order_payment_detail.is_transfered_to_store\\\">{{currency_sign}}{{order_detail.order_payment_detail.pay_to_store.toFixed(2)}}</span>\\r\\n                                                <span style=\\\"color: red;\\\" *ngIf=\\\"!order_detail.order_payment_detail.is_transfered_to_store\\\">{{currency_sign}}{{order_detail.order_payment_detail.pay_to_store.toFixed(2)}}</span>\\r\\n                                            </span>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"row invoice_seperator\\\">\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.deliveryman_profit | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><span style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_provider_income.toFixed(2)}}</span></div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                                            <span *ngIf=\\\"order_detail.order_payment_detail.is_store_income_set_in_wallet\\\" style=\\\"color: green;\\\">{{title.sattlement_with_deliveryman | translate}}</span>\\r\\n                                            <span *ngIf=\\\"!order_detail.order_payment_detail.is_store_income_set_in_wallet\\\">\\r\\n                                                <span *ngIf=\\\"order_detail.order_payment_detail.is_transfered_to_store\\\" style=\\\"color: green;\\\">{{title.sattlement_with_deliveryman | translate}}</span>\\r\\n                                                <span *ngIf=\\\"!order_detail.order_payment_detail.is_transfered_to_store\\\" style=\\\"color: red;\\\">{{title.sattlement_with_deliveryman | translate}}</span>\\r\\n                                            </span>\\r\\n                                        </div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                                            <span style=\\\"float: right;\\\" *ngIf=\\\"order_detail.order_payment_detail.is_provider_income_set_in_wallet\\\">\\r\\n                                                <span style=\\\"color: green;\\\">{{currency_sign}}{{order_detail.order_payment_detail.provider_income_set_in_wallet.toFixed(2)}} ({{title.wallet | translate}})</span>\\r\\n                                            </span>\\r\\n                                            <span style=\\\"float: right;\\\" *ngIf=\\\"!order_detail.order_payment_detail.is_provider_income_set_in_wallet\\\">\\r\\n                                                <span style=\\\"color: green;\\\" *ngIf=\\\"order_detail.order_payment_detail.is_transfered_to_provider\\\">{{currency_sign}}{{order_detail.order_payment_detail.pay_to_provider.toFixed(2)}}</span>\\r\\n                                                <span style=\\\"color: red;\\\" *ngIf=\\\"!order_detail.order_payment_detail.is_transfered_to_provider\\\">{{currency_sign}}{{order_detail.order_payment_detail.pay_to_provider.toFixed(2)}}</span>\\r\\n                                            </span>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"row invoice_seperator\\\">\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.admin_profit_on_store | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><span style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_admin_profit_on_store.toFixed(2)}}</span></div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.admin_profit_on_delivery | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><span style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_admin_profit_on_delivery.toFixed(2)}}</span></div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n    </modal-body>\\r\\n</modal>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/order/order.component.html\n// module id = 1608\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\"></footer>\\r\\n<div\\r\\n  class=\\\"row wrapper content_top_bar border-bottom white-bg page-heading\\\"\\r\\n  *ngIf=\\\"order_details\\\"\\r\\n>\\r\\n  <div class=\\\"col-lg-12\\\">\\r\\n    <div class=\\\"col-md-4 col-sm-12 col-xs-12\\\">\\r\\n      <h3>{{ title.invoice_number | translate }}: {{ invoice_number }}</h3>\\r\\n    </div>\\r\\n    <div class=\\\"col-md-3 col-sm-6 col-xs-6\\\">\\r\\n      <h3>\\r\\n        <span *ngIf=\\\"order_details.schedule_order_start_at\\\">\\r\\n          {{ title.schedule | translate }} -\\r\\n        </span>\\r\\n        <span *ngIf=\\\"!order_details.schedule_order_start_at\\\">\\r\\n          {{ title.asap | translate }} -\\r\\n        </span>\\r\\n        {{ title.invoice_hour | translate }}:\\r\\n        {{\\r\\n          order_details.estimated_time_for_delivery_order\\r\\n            | date : DATE_FORMAT.HH_MM\\r\\n        }}\\r\\n      </h3>\\r\\n    </div>\\r\\n    <div class=\\\"col-md-3 col-sm-6 col-xs-6\\\">\\r\\n      <h3>\\r\\n        {{ title.invoice_date | translate }}:\\r\\n        {{\\r\\n          order_details.estimated_time_for_delivery_order\\r\\n            | date : DATE_FORMAT.DD_MM_YYYY\\r\\n        }}\\r\\n      </h3>\\r\\n    </div>\\r\\n    <!-- <div class=\\\"col-md-2 col-sm-6 col-xs-6\\\">\\r\\n            <span class=\\\"pull-right\\\"><a class=\\\"btn btn-primary\\\" (click)=\\\"viewOrderEarningDetail(order_id_view_invoice)\\\">{{button.view_full_invoice | translate}}</a></span>\\r\\n            \\r\\n        </div> -->\\r\\n  </div>\\r\\n</div>\\r\\n<div class=\\\"wrapper wrapper-content animated fadeInRight\\\" *ngIf=\\\"order_details\\\">\\r\\n  <div class=\\\"row\\\">\\r\\n    <h3>\\r\\n      Order Created From -\\r\\n      <span *ngIf=\\\"order_details.order_type == helper.ADMIN_DATA_ID.ADMIN\\\">\\r\\n        <span>{{\\r\\n          order_details.is_hubrise_order ? order_details.created_by : \\\"Admin\\\"\\r\\n        }}</span>\\r\\n      </span>\\r\\n      <span *ngIf=\\\"order_details.order_type == helper.ADMIN_DATA_ID.STORE\\\">\\r\\n        Store\\r\\n      </span>\\r\\n      <span *ngIf=\\\"order_date_time[0].host\\\">\\r\\n        : {{ order_date_time[0].host }}\\r\\n      </span>\\r\\n      <span *ngIf=\\\"!order_date_time[0].host && !order_details.is_hubrise_order\\\">\\r\\n        <span *ngIf=\\\"order_date_time[0].device_type == 'ios'\\\"> : IOS </span>\\r\\n        <span *ngIf=\\\"order_date_time[0].device_type == 'android'\\\">\\r\\n          : Android\\r\\n        </span>\\r\\n        - {{ order_date_time[0].app_version }}\\r\\n      </span>\\r\\n      <span *ngIf=\\\"order_details.is_catering\\\"> - Catering </span>\\r\\n    </h3>\\r\\n    <div class=\\\"\\\">\\r\\n      <div class=\\\"col-md-3 col-sm-6\\\" *ngIf=\\\"order_details.cart_detail\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n          <div class=\\\"ibox-title\\\">\\r\\n            <h5 style=\\\"cursor: pointer\\\" (click)=\\\"go_to_user()\\\">\\r\\n              {{ heading_title.order_by | translate }}\\r\\n              {{ user_first_name + \\\" \\\" + user_last_name }} ({{ order_count }})\\r\\n            </h5>\\r\\n            <span class=\\\"pull-right\\\"\\r\\n              ><a\\r\\n                class=\\\"btn btn-primary btn-xs\\\"\\r\\n                (click)=\\\"open_notification_modal(order_details.user_id, 7)\\\"\\r\\n                >{{ button.send_notification | translate }}</a\\r\\n              ></span\\r\\n            >\\r\\n          </div>\\r\\n          <div class=\\\"ibox-content view_detail\\\">\\r\\n            <div class=\\\"row\\\">\\r\\n              <!-- <div class=\\\"col-md-12\\\" *ngIf=\\\"!order_details.is_user_pick_up_order\\\">\\r\\n                                <div class=\\\"col-lg-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                                    Comment: {{order_details.cart_detail.destination_addresses[0].note}}\\r\\n                                </div>\\r\\n                                <div class=\\\"col-lg-6 col-sm-6 col-xs-12 form-group\\\">\\r\\n                                    Floor: {{order_details.cart_detail.destination_addresses[0].floor}}\\r\\n                                </div>\\r\\n                                <div class=\\\"col-lg-6 col-sm-6 col-xs-12 form-group\\\">\\r\\n                                    entry code: {{order_details.cart_detail.destination_addresses[0].entry_code}}\\r\\n                                </div>\\r\\n                            </div> -->\\r\\n              <div class=\\\"col-md-12\\\">\\r\\n                <div class=\\\"col-lg-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                  {{ user_email }} (ID: {{ user_unique_id }})\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                  {{ user_phone }}\\r\\n                </div>\\r\\n              </div>\\r\\n              <!-- <div class=\\\"col-md-12\\\" *ngIf=\\\"order_details.is_user_pick_up_order\\\">\\r\\n                                <div style=\\\"font-size: 15px;\\\">\\r\\n                                    Pick up\\r\\n                                    <span class=\\\"pull-right\\\"><a class=\\\"btn btn-primary btn-xs\\\" (click)=\\\"edit_address()\\\">Create Delivery Order</a></span>\\r\\n                                </div>\\r\\n                            </div> -->\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n\\r\\n      <div class=\\\"col-lg-3 col-sm-6\\\" *ngIf=\\\"!order_details.is_hopper_on_demand\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n          <div class=\\\"ibox-title\\\">\\r\\n            <h5 style=\\\"cursor: pointer\\\" (click)=\\\"go_to_store()\\\">\\r\\n              {{ heading_title.store | translate }}\\r\\n            </h5>\\r\\n            <span class=\\\"pull-right\\\">\\r\\n              {{ order_details.total_time.toFixed(0) }} min &&\\r\\n              {{ order_details.total_distance.toFixed(2) }}\\r\\n              <span *ngIf=\\\"order_details.is_distance_unit_mile\\\">mile</span>\\r\\n              <span *ngIf=\\\"!order_details.is_distance_unit_mile\\\">km</span>\\r\\n            </span>\\r\\n          </div>\\r\\n          <div class=\\\"ibox-content view_detail\\\">\\r\\n            <div class=\\\"row\\\">\\r\\n              <div class=\\\"col-md-4\\\">\\r\\n                <div>\\r\\n                  <img\\r\\n                    class=\\\"img-circle\\\"\\r\\n                    style=\\\"width: 90px\\\"\\r\\n                    [src]=\\\"\\r\\n                      store_profile != ''\\r\\n                        ? helper.CONSTANT.IMAGE_BASE_URL + store_profile\\r\\n                        : 'default.png'\\r\\n                    \\\"\\r\\n                  />\\r\\n                </div>\\r\\n              </div>\\r\\n              <div class=\\\"col-md-8\\\">\\r\\n                <div class=\\\"col-lg-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                  {{ store_name }} (ID: {{ store_unique_id }})\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                  {{ store_phone }}\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                  {{ store_email }}\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n            <div class=\\\"row\\\" style=\\\"text-align: center; font-size: 15px\\\">\\r\\n              <div class=\\\"col-md-12 form-group\\\">\\r\\n                Order Ready -\\r\\n                {{\\r\\n                  order_details.estimated_time_for_ready_order\\r\\n                    | date : DATE_FORMAT.HH_MM\\r\\n                }}\\r\\n              </div>\\r\\n              <br />\\r\\n              <!-- <div class=\\\"col-md-12\\\">\\r\\n                                {{order_details.total_time.toFixed(2)}} min && {{order_details.total_distance.toFixed(2)}} \\r\\n                                <span *ngIf=\\\"order_details.is_distance_unit_mile\\\">mile</span>\\r\\n                                <span *ngIf=\\\"order_details.is_distance_unit_mile\\\">km</span>\\r\\n                            </div> -->\\r\\n              <div class=\\\"col-md-12 form-group\\\">\\r\\n                {{ order_details.store_address }}\\r\\n              </div>\\r\\n              <br />\\r\\n              <div\\r\\n                class=\\\"col-md-12 form-group\\\"\\r\\n                *ngIf=\\\"\\r\\n                  order_details.cart_detail.pickup_addresses &&\\r\\n                  order_details.cart_detail.pickup_addresses[0].collection_code\\r\\n                \\\"\\r\\n              >\\r\\n                Collection Code -\\r\\n                {{\\r\\n                  order_details.cart_detail.pickup_addresses[0].collection_code\\r\\n                }}\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n\\r\\n      <div\\r\\n        class=\\\"col-md-3 col-sm-6\\\"\\r\\n        *ngIf=\\\"order_details.cart_detail && order_details.is_hopper_on_demand\\\"\\r\\n      >\\r\\n        <div class=\\\"ibox\\\">\\r\\n          <div class=\\\"ibox-title\\\">\\r\\n            <h5 style=\\\"cursor: pointer\\\">\\r\\n              {{ heading_title.pickup_from | translate }}\\r\\n              {{\\r\\n                order_details.cart_detail.pickup_addresses[0].user_details.name\\r\\n              }}\\r\\n            </h5>\\r\\n            <!-- <span class=\\\"pull-right\\\"><a class=\\\"btn btn-primary btn-xs\\\" (click)=\\\"open_notification_modal(order_details.user_id, 7)\\\">{{button.send_notification | translate}}</a></span> -->\\r\\n            <span class=\\\"pull-right\\\"\\r\\n              ><a\\r\\n                class=\\\"btn btn-primary btn-xs\\\"\\r\\n                (click)=\\\"edit_pickup_address()\\\"\\r\\n                >{{ button.edit_address | translate }}</a\\r\\n              ></span\\r\\n            >\\r\\n          </div>\\r\\n          <div class=\\\"ibox-content view_detail\\\">\\r\\n            <div class=\\\"row\\\">\\r\\n              <div class=\\\"col-md-12\\\">\\r\\n                <div\\r\\n                  class=\\\"col-lg-12 col-sm-12 col-xs-12 form-group\\\"\\r\\n                  *ngIf=\\\"order_details.cart_detail.pickup_addresses[0].company\\\"\\r\\n                >\\r\\n                  <b>Company Name</b>:\\r\\n                  {{ order_details.cart_detail.pickup_addresses[0].company }}\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                  <b>Address:</b> {{ order_details.store_address }}\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                  <b>Comment</b>:\\r\\n                  {{ order_details.cart_detail.pickup_addresses[0].note }}\\r\\n                </div>\\r\\n              </div>\\r\\n              <div class=\\\"col-md-12\\\">\\r\\n                <div class=\\\"col-lg-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                  {{\\r\\n                    order_details.cart_detail.pickup_addresses[0].user_details\\r\\n                      .email\\r\\n                  }}\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                  {{\\r\\n                    order_details.cart_detail.pickup_addresses[0].user_details\\r\\n                      .country_phone_code\\r\\n                  }}\\r\\n                  {{\\r\\n                    order_details.cart_detail.pickup_addresses[0].user_details\\r\\n                      .phone\\r\\n                  }}\\r\\n                </div>\\r\\n                <div\\r\\n                  class=\\\"col-lg-12 col-sm-12 col-xs-12 form-group\\\"\\r\\n                  *ngIf=\\\"\\r\\n                    order_details.order_payment_detail &&\\r\\n                    order_details.order_payment_detail.vehicle_type\\r\\n                  \\\"\\r\\n                >\\r\\n                  <b>Engine asked: </b>\\r\\n                  <span\\r\\n                    *ngFor=\\\"\\r\\n                      let vehicle of order_details.order_payment_detail\\r\\n                        .vehicle_type;\\r\\n                      let last = last\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <span *ngIf=\\\"vehicle == 3\\\">Bike</span>\\r\\n                    <span *ngIf=\\\"vehicle == 2\\\">Scooter</span>\\r\\n                    <span *ngIf=\\\"vehicle == 1\\\">Car</span>\\r\\n                    <span *ngIf=\\\"!last\\\"> or</span>\\r\\n                  </span>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n\\r\\n      <div class=\\\"col-md-3 col-sm-6\\\" *ngIf=\\\"order_details.cart_detail\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n          <div class=\\\"ibox-title\\\">\\r\\n            <h5 style=\\\"cursor: pointer\\\">\\r\\n              {{ heading_title.delivery_to | translate }}\\r\\n              {{\\r\\n                order_details.cart_detail.destination_addresses[0].user_details\\r\\n                  .name\\r\\n              }}\\r\\n            </h5>\\r\\n            <!-- <span class=\\\"pull-right\\\"><a class=\\\"btn btn-primary btn-xs\\\" (click)=\\\"open_notification_modal(order_details.user_id, 7)\\\">{{button.send_notification | translate}}</a></span> -->\\r\\n            <span\\r\\n              class=\\\"pull-right\\\"\\r\\n              *ngIf=\\\"!order_details.is_user_pick_up_order\\\"\\r\\n              ><a class=\\\"btn btn-primary btn-xs\\\" (click)=\\\"edit_address()\\\">{{\\r\\n                button.edit_address | translate\\r\\n              }}</a></span\\r\\n            >\\r\\n          </div>\\r\\n          <div class=\\\"ibox-content view_detail\\\">\\r\\n            <div class=\\\"row\\\">\\r\\n              <div\\r\\n                class=\\\"col-md-12\\\"\\r\\n                *ngIf=\\\"!order_details.is_user_pick_up_order\\\"\\r\\n              >\\r\\n                <div\\r\\n                  class=\\\"col-lg-12 col-sm-12 col-xs-12 form-group\\\"\\r\\n                  *ngIf=\\\"\\r\\n                    order_details.cart_detail.destination_addresses[0].company\\r\\n                  \\\"\\r\\n                >\\r\\n                  <b>Company Name:</b>\\r\\n                  {{\\r\\n                    order_details.cart_detail.destination_addresses[0].company\\r\\n                  }}\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                  <b>Address: </b> {{ order_details.destination_address }}\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                  <b>Comment:</b>\\r\\n                  {{ order_details.cart_detail.destination_addresses[0].note }}\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-6 col-sm-6 col-xs-12 form-group\\\">\\r\\n                  <b>Floor:</b>\\r\\n                  {{ order_details.cart_detail.destination_addresses[0].floor }}\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-6 col-sm-6 col-xs-12 form-group\\\">\\r\\n                  <b>entry code:</b>\\r\\n                  {{\\r\\n                    order_details.cart_detail.destination_addresses[0]\\r\\n                      .entry_code\\r\\n                  }}\\r\\n                </div>\\r\\n                <div\\r\\n                  *ngIf=\\\"order_details.is_hubrise_order\\\"\\r\\n                  class=\\\"col-lg-6 col-sm-6 col-xs-12 form-group\\\"\\r\\n                >\\r\\n                  <b>Phone Access Code:</b>\\r\\n                  {{ order_details.phone_access_code }}\\r\\n                </div>\\r\\n                <div\\r\\n                  *ngIf=\\\"order_details.is_hubrise_order\\\"\\r\\n                  class=\\\"col-lg-6 col-sm-6 col-xs-12 form-group\\\"\\r\\n                >\\r\\n                  <b>Company Name:</b>\\r\\n                  {{ order_details.company_name }}\\r\\n                </div>\\r\\n              </div>\\r\\n              <div class=\\\"col-md-12\\\">\\r\\n                <div class=\\\"col-lg-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                  {{\\r\\n                    order_details.cart_detail.destination_addresses[0]\\r\\n                      .user_details.email\\r\\n                  }}\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                  {{\\r\\n                    order_details.cart_detail.destination_addresses[0]\\r\\n                      .user_details.country_phone_code\\r\\n                  }}\\r\\n                  {{\\r\\n                    order_details.cart_detail.destination_addresses[0]\\r\\n                      .user_details.phone\\r\\n                  }}\\r\\n                </div>\\r\\n              </div>\\r\\n              <div\\r\\n                class=\\\"col-md-12\\\"\\r\\n                *ngIf=\\\"order_details.is_user_pick_up_order\\\"\\r\\n              >\\r\\n                <div style=\\\"font-size: 15px\\\">\\r\\n                  <span *ngIf=\\\"!order_details.is_order_pay\\\">Pick up</span>\\r\\n                  <span *ngIf=\\\"order_details.is_order_pay\\\"\\r\\n                    >Table - {{ order_details.table_no }}</span\\r\\n                  >\\r\\n                  <span class=\\\"pull-right\\\"\\r\\n                    ><a class=\\\"btn btn-primary btn-xs\\\" (click)=\\\"edit_address()\\\"\\r\\n                      >Create Delivery Order</a\\r\\n                    ></span\\r\\n                  >\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n\\r\\n      <div\\r\\n        class=\\\"col-lg-3 col-sm-6\\\"\\r\\n        *ngIf=\\\"\\r\\n          !is_user_pick_up_order &&\\r\\n          order_details.provider_detail &&\\r\\n          order_details.provider_detail.length > 0\\r\\n        \\\"\\r\\n      >\\r\\n        <div class=\\\"ibox\\\">\\r\\n          <div class=\\\"ibox-title\\\">\\r\\n            <h5 style=\\\"cursor: pointer\\\" (click)=\\\"go_to_provider()\\\">\\r\\n              {{ heading_title.delivery_man | translate }}\\r\\n            </h5>\\r\\n            <span class=\\\"pull-right\\\" *ngIf=\\\"order_details.provider_detail\\\"\\r\\n              ><a\\r\\n                class=\\\"btn btn-danger btn-xs\\\"\\r\\n                (click)=\\\"\\r\\n                  track_deliveryman(\\r\\n                    order_details.country_id,\\r\\n                    order_details.city_id,\\r\\n                    order_details.provider_detail[0]._id,\\r\\n                    order_details.store_id,\\r\\n                    order_details._id\\r\\n                  )\\r\\n                \\\"\\r\\n                >{{ button.track_hopper | translate }}</a\\r\\n              ></span\\r\\n            >\\r\\n            <span class=\\\"pull-right\\\" style=\\\"margin-right: 10px\\\"\\r\\n              ><a\\r\\n                class=\\\"btn btn-primary btn-xs\\\"\\r\\n                (click)=\\\"\\r\\n                  open_notification_modal(\\r\\n                    order_details.provider_detail[0]._id,\\r\\n                    8\\r\\n                  )\\r\\n                \\\"\\r\\n                >{{ button.send_notification | translate }}</a\\r\\n              ></span\\r\\n            >\\r\\n          </div>\\r\\n          <div class=\\\"ibox-content view_detail\\\">\\r\\n            <div class=\\\"row\\\">\\r\\n              <div class=\\\"col-md-4\\\">\\r\\n                <div>\\r\\n                  <img\\r\\n                    class=\\\"img-circle\\\"\\r\\n                    style=\\\"width: 90px\\\"\\r\\n                    [src]=\\\"\\r\\n                      provider_profile != ''\\r\\n                        ? helper.CONSTANT.IMAGE_BASE_URL + provider_profile\\r\\n                        : 'default.png'\\r\\n                    \\\"\\r\\n                  />\\r\\n                </div>\\r\\n              </div>\\r\\n              <div class=\\\"col-md-8\\\">\\r\\n                <div class=\\\"col-lg-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                  {{ provider_first_name + \\\" \\\" + provider_last_name }} ({{\\r\\n                    order_details.provider_detail[0].user_rate\\r\\n                  }}) (ID: {{ provider_unique_id }})\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                  {{ provider_phone }}\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                  {{ provider_email }}\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-lg-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                  {{ order_details.deliveryman_to_store_time.toFixed(2) }} min\\r\\n                  &&\\r\\n                  {{ order_details.deliveryman_to_store_distance.toFixed(2) }}\\r\\n                  km\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n\\r\\n  <div class=\\\"row\\\">\\r\\n    <div class=\\\"col-md-4 col-sm-12\\\" *ngIf=\\\"!order_details.is_hopper_on_demand\\\">\\r\\n      <div class=\\\"ibox\\\">\\r\\n        <div class=\\\"ibox-title\\\">\\r\\n          <!-- <h4 class=\\\"pull-right\\\" *ngIf=\\\"order_total>0\\\">{{currency_sign}}{{order_total.toFixed(2)}}</h4> -->\\r\\n          <span style=\\\"position: absolute; left: 48%\\\" *ngIf=\\\"total_item > 0\\\"\\r\\n            >(<strong>{{ total_item }}</strong\\r\\n            >) {{ title.items | translate }}</span\\r\\n          >\\r\\n          <h5>{{ heading_title.order_detail | translate }}</h5>\\r\\n          <span\\r\\n            class=\\\"pull-right\\\"\\r\\n            *ngIf=\\\"order_detail.length > 0 && !order_details.is_hubrise_order\\\"\\r\\n            ><a\\r\\n              class=\\\"btn btn-danger btn-xs\\\"\\r\\n              (click)=\\\"editOrder(order_details.store_id, order_details._id)\\\"\\r\\n              >{{ button.edit | translate }}</a\\r\\n            ></span\\r\\n          >\\r\\n        </div>\\r\\n        <div\\r\\n          class=\\\"ibox-content\\\"\\r\\n          style=\\\"padding-bottom: 0; padding-top: 1px\\\"\\r\\n          *ngFor=\\\"let products of order_detail; let product_index = index\\\"\\r\\n        >\\r\\n          <div style=\\\"border-bottom: 1px solid brown\\\">\\r\\n            <h4 class=\\\"pull-right\\\" *ngIf=\\\"product_item_total_array.length > 0\\\">\\r\\n              {{ currency_sign\\r\\n              }}{{ product_item_total_array[product_index].toFixed(2) }}\\r\\n            </h4>\\r\\n            <span\\r\\n              style=\\\"position: absolute; left: 48%\\\"\\r\\n              *ngIf=\\\"products.items.length > 0\\\"\\r\\n              >(<strong>{{ products.items.length }}</strong\\r\\n              >) {{ title.items | translate }}</span\\r\\n            >\\r\\n            <h5>{{ products.product_name }}</h5>\\r\\n          </div>\\r\\n\\r\\n          <div\\r\\n            id=\\\"spec_list{{ product_index }}\\\"\\r\\n            class=\\\"table-responsive\\\"\\r\\n            style=\\\"width: 100%\\\"\\r\\n          >\\r\\n            <table\\r\\n              class=\\\"table\\\"\\r\\n              *ngFor=\\\"\\r\\n                let item of products.items;\\r\\n                let odd = odd;\\r\\n                let item_index = index\\r\\n              \\\"\\r\\n            >\\r\\n              <thead style=\\\"border-bottom: 1px solid\\\">\\r\\n                <tr>\\r\\n                  <th>{{ title.item | translate }}</th>\\r\\n                  <th>\\r\\n                    {{ title.spec | translate }} {{ title.price | translate }}\\r\\n                  </th>\\r\\n                  <th>{{ title.price | translate }}</th>\\r\\n                  <th>{{ title.qty | translate }}</th>\\r\\n                  <th>{{ title.total | translate }}</th>\\r\\n                </tr>\\r\\n              </thead>\\r\\n\\r\\n              <!-- <tbody > -->\\r\\n              <tr\\r\\n                style=\\\"cursor: pointer\\\"\\r\\n                (click)=\\\"get_specification(product_index, item_index)\\\"\\r\\n              >\\r\\n                <td style=\\\"border: 0\\\">\\r\\n                  <span\\r\\n                    *ngIf=\\\"item.is_show\\\"\\r\\n                    (click)=\\\"item.is_show = false\\\"\\r\\n                    class=\\\"fa fa-chevron-right\\\"\\r\\n                  ></span>\\r\\n                  <span\\r\\n                    *ngIf=\\\"!item.is_show\\\"\\r\\n                    (click)=\\\"item.is_show = true\\\"\\r\\n                    class=\\\"fa fa-chevron-down\\\"\\r\\n                  ></span>\\r\\n                  {{\\r\\n                    item.formule_list && item.formule_list[0]\\r\\n                      ? item.formule_list[0].name\\r\\n                      : item.item_name\\r\\n                  }}\\r\\n                </td>\\r\\n                <td style=\\\"border: 0\\\">\\r\\n                  <div *ngIf=\\\"item.total_specification_price > 0\\\">\\r\\n                    {{ currency_sign\\r\\n                    }}{{ item.total_specification_price.toFixed(2) }}\\r\\n                  </div>\\r\\n                </td>\\r\\n                <td style=\\\"border: 0\\\">\\r\\n                  <div *ngIf=\\\"item.item_price > 0\\\">\\r\\n                    {{ currency_sign\\r\\n                    }}{{\\r\\n                      item.formule_list &&\\r\\n                      item.formule_list[0] &&\\r\\n                      item.formule_list[0].price\\r\\n                        ? item.formule_list[0].price\\r\\n                        : item.item_price.toFixed(2)\\r\\n                    }}\\r\\n                  </div>\\r\\n                </td>\\r\\n                <td style=\\\"border: 0\\\">{{ item.quantity }}</td>\\r\\n                <td style=\\\"border: 0\\\">\\r\\n                  <span [class.pro-strike-price]=\\\"item.offer_price\\\"\\r\\n                    >{{ currency_sign\\r\\n                    }}{{\\r\\n                      item.total_item_and_specification_price.toFixed(2)\\r\\n                    }}</span\\r\\n                  >\\r\\n                  <span *ngIf=\\\"item.offer_price\\\"\\r\\n                    >{{ currency_sign\\r\\n                    }}{{\\r\\n                      (\\r\\n                        item.total_item_and_specification_price -\\r\\n                        item.offer_price\\r\\n                      ).toFixed(2)\\r\\n                    }}</span\\r\\n                  >\\r\\n                </td>\\r\\n              </tr>\\r\\n              <tbody\\r\\n                *ngFor=\\\"\\r\\n                  let specification_group of item.specifications;\\r\\n                  let odd = odd\\r\\n                \\\"\\r\\n                [hidden]=\\\"item.is_show\\\"\\r\\n              >\\r\\n                <tr>\\r\\n                  <td style=\\\"border: 0\\\" colspan=\\\"2\\\">\\r\\n                    <span style=\\\"margin-left: 20px\\\">{{\\r\\n                      specification_group.name\\r\\n                    }}</span>\\r\\n                  </td>\\r\\n                  <td style=\\\"border: 0\\\">\\r\\n                    {{ currency_sign\\r\\n                    }}{{ specification_group.price.toFixed(2) }}\\r\\n                  </td>\\r\\n                  <td style=\\\"border: 0\\\"></td>\\r\\n                  <td style=\\\"border: 0\\\"></td>\\r\\n                </tr>\\r\\n                <tr *ngFor=\\\"let specification of specification_group.list\\\">\\r\\n                  <td style=\\\"border: 0\\\" colspan=\\\"2\\\">\\r\\n                    <span style=\\\"margin-left: 30px\\\">\\r\\n                      - {{ specification.name }}</span\\r\\n                    >\\r\\n                  </td>\\r\\n                  <td style=\\\"border: 0\\\">\\r\\n                    {{ currency_sign\\r\\n                    }}{{ specification.price ? specification.price : 0 }}\\r\\n                  </td>\\r\\n                  <td style=\\\"border: 0\\\"></td>\\r\\n                  <td style=\\\"border: 0\\\"></td>\\r\\n                </tr>\\r\\n              </tbody>\\r\\n              <!-- <tbody *ngFor=\\\"let fromule of item.formule_list;\\\" [hidden]=\\\"item.is_show\\\">\\r\\n                                <tr style=\\\"cursor: pointer;\\\">\\r\\n                                    <td  colspan=\\\"2\\\"><b>Formule:</b> {{fromule.name}}</td>\\r\\n                                    <td>{{currency_sign}}{{fromule.price}}</td>\\r\\n                                    <td></td>\\r\\n                                    <td></td>\\r\\n                                </tr>\\r\\n                            </tbody>\\r\\n                            <tbody *ngFor=\\\"let specification_group of item.specifications; let odd=odd;\\\" [hidden]=\\\"item.is_show || !specification_group.formule_id\\\">\\r\\n                                <tr>\\r\\n                                    <td style=\\\"border: 0;\\\" colspan=\\\"2\\\"><span style=\\\"margin-left: 20px\\\">{{specification_group.name}}</span></td>\\r\\n                                    <td style=\\\"border: 0;\\\">{{currency_sign}}{{specification_group.price.toFixed(2)}}</td>\\r\\n                                    <td style=\\\"border: 0;\\\"></td>\\r\\n                                    <td style=\\\"border: 0;\\\"></td>\\r\\n                                </tr>\\r\\n                                <tr *ngFor=\\\"let specification of specification_group.list\\\">\\r\\n                                    <td style=\\\"border: 0;\\\" colspan=\\\"2\\\"><span style=\\\"margin-left: 30px\\\"> - {{specification.name}}</span></td>\\r\\n                                    <td style=\\\"border: 0;\\\">{{currency_sign}}{{specification.price.toFixed(2)}}</td>\\r\\n                                    <td style=\\\"border: 0;\\\"></td>\\r\\n                                    <td style=\\\"border: 0;\\\"></td>\\r\\n                                </tr>\\r\\n                            </tbody> -->\\r\\n              <tbody [hidden]=\\\"item.is_show\\\" *ngIf=\\\"item.is_buy_one_get_one\\\">\\r\\n                <tr>\\r\\n                  <td style=\\\"border: 0\\\" colspan=\\\"5\\\">\\r\\n                    <span style=\\\"margin-left: 20px\\\"\\r\\n                      >Voulez-vous profiter de la promotion 1+1 gratuit ?\\r\\n                      ⭐️</span\\r\\n                    >\\r\\n                  </td>\\r\\n                </tr>\\r\\n                <tr>\\r\\n                  <td style=\\\"border: 0\\\" colspan=\\\"5\\\">\\r\\n                    <span style=\\\"margin-left: 30px\\\"> - Oui</span>\\r\\n                  </td>\\r\\n                </tr>\\r\\n              </tbody>\\r\\n              <tr *ngIf=\\\"item.note_for_item\\\">\\r\\n                <label>{{ title.item_note_here }} - </label>\\r\\n                <h6 style=\\\"font-size: 13px\\\">{{ item.note_for_item }}</h6>\\r\\n              </tr>\\r\\n              <!-- </tbody> -->\\r\\n            </table>\\r\\n          </div>\\r\\n        </div>\\r\\n        <div\\r\\n          class=\\\"ibox-content\\\"\\r\\n          *ngIf=\\\"order_detail.length > 0\\\"\\r\\n          style=\\\"text-align: center; font-size: 15px; margin-bottom: 15px\\\"\\r\\n        >\\r\\n          total order: {{ currency_sign }}{{ order_total.toFixed(2) }}\\r\\n        </div>\\r\\n        <div\\r\\n          class=\\\"ibox-content\\\"\\r\\n          *ngIf=\\\"order_details.images && order_details.images.length > 0\\\"\\r\\n          style=\\\"text-align: center; font-size: 15px; margin-bottom: 15px\\\"\\r\\n        >\\r\\n          <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-md-4\\\" *ngFor=\\\"let image of order_details.images\\\">\\r\\n              <img\\r\\n                (click)=\\\"open_image_modal(image)\\\"\\r\\n                style=\\\"width: 100%\\\"\\r\\n                [src]=\\\"helper.CONSTANT.IMAGE_BASE_URL + image\\\"\\r\\n              />\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"col-lg-4 col-md-12 col-sm-12\\\">\\r\\n      <div class=\\\"ibox\\\">\\r\\n        <div class=\\\"ibox-title\\\" style=\\\"background-color: #d4d8d8\\\">\\r\\n          <h5>{{ order_details.order_payment_detail.invoice_number }}</h5>\\r\\n          <h5 class=\\\"pull-right\\\">\\r\\n            {{ currency_sign\\r\\n            }}{{ order_details.order_payment_detail.total.toFixed(2) }}\\r\\n          </h5>\\r\\n        </div>\\r\\n        <div class=\\\"ibox-content invoice_popup_box scrollbar\\\">\\r\\n          <div class=\\\"row\\\" style=\\\"margin-bottom: 20px\\\">\\r\\n            <div class=\\\"col-md-4\\\" style=\\\"padding-right: 4px\\\">\\r\\n              <div class=\\\"invoice_box\\\">\\r\\n                <div>\\r\\n                  <span>{{ title.cash_payment }}</span>\\r\\n                </div>\\r\\n                <div>\\r\\n                  <label\\r\\n                    >{{ currency_sign\\r\\n                    }}{{\\r\\n                      order_details.order_payment_detail.cash_payment.toFixed(2)\\r\\n                    }}</label\\r\\n                  >\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-4\\\" style=\\\"padding-right: 8px; padding-left: 8px\\\">\\r\\n              <div class=\\\"invoice_box\\\">\\r\\n                <div>\\r\\n                  <span>{{ title.wallet_payment }}</span>\\r\\n                </div>\\r\\n                <div>\\r\\n                  <label\\r\\n                    >{{ currency_sign\\r\\n                    }}{{\\r\\n                      order_details.order_payment_detail.wallet_payment.toFixed(\\r\\n                        2\\r\\n                      )\\r\\n                    }}</label\\r\\n                  >\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-4\\\" style=\\\"padding-left: 4px\\\">\\r\\n              <div class=\\\"invoice_box\\\">\\r\\n                <div>\\r\\n                  <span>{{ title.other_payment }}</span>\\r\\n                </div>\\r\\n                <div>\\r\\n                  <label\\r\\n                    >{{ currency_sign\\r\\n                    }}{{\\r\\n                      order_details.order_payment_detail.card_payment.toFixed(2)\\r\\n                    }}</label\\r\\n                  >\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n          <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\" style=\\\"padding: 0px\\\">\\r\\n              <div class=\\\"row invoice_seperator\\\">\\r\\n                <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                  <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                    <h5 style=\\\"margin-bottom: 0\\\">\\r\\n                      {{ title.total_delivery_price | translate }}\\r\\n                    </h5>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                    <h5 style=\\\"float: right; margin-bottom: 0\\\">\\r\\n                      {{ currency_sign\\r\\n                      }}{{\\r\\n                        order_details.order_payment_detail.total_delivery_price.toFixed(\\r\\n                          2\\r\\n                        )\\r\\n                      }}\\r\\n                    </h5>\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                  <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                    <span>{{ title.delivery_price | translate }}</span>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                    <span style=\\\"float: right\\\"\\r\\n                      >{{ currency_sign\\r\\n                      }}{{\\r\\n                        order_details.order_payment_detail.total_service_price.toFixed(\\r\\n                          2\\r\\n                        )\\r\\n                      }}</span\\r\\n                    >\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div\\r\\n                  class=\\\"col-md-12 order_invoice_row\\\"\\r\\n                  *ngIf=\\\"\\r\\n                    order_details.order_payment_detail.delivery_offer_price\\r\\n                  \\\"\\r\\n                  style=\\\"color: #ad3e00\\\"\\r\\n                >\\r\\n                  <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                    <span\\r\\n                      >{{ currency_sign\\r\\n                      }}{{\\r\\n                        order_details.order_payment_detail\\r\\n                          .delivery_offer_message\\r\\n                      }}</span\\r\\n                    >\\r\\n                  </div>\\r\\n                  <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                    <span style=\\\"float: right\\\"\\r\\n                      >{{ currency_sign\\r\\n                      }}{{\\r\\n                        order_details.order_payment_detail.delivery_offer_price.toFixed(\\r\\n                          2\\r\\n                        )\\r\\n                      }}</span\\r\\n                    >\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                  <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                    <span>{{ title.tax_price | translate }}</span>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                    <span style=\\\"float: right\\\"\\r\\n                      >{{ currency_sign\\r\\n                      }}{{\\r\\n                        order_details.order_payment_detail.total_admin_tax_price.toFixed(\\r\\n                          2\\r\\n                        )\\r\\n                      }}</span\\r\\n                    >\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div\\r\\n                  class=\\\"col-md-12 order_invoice_row\\\"\\r\\n                  *ngIf=\\\"\\r\\n                    order_details.order_payment_detail\\r\\n                      .is_promo_for_delivery_service == true\\r\\n                  \\\"\\r\\n                >\\r\\n                  <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                    <span>{{ title.promo_bonus | translate }}</span>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                    <span style=\\\"float: right\\\"\\r\\n                      >{{ currency_sign\\r\\n                      }}{{\\r\\n                        order_details.order_payment_detail.promo_payment.toFixed(\\r\\n                          2\\r\\n                        )\\r\\n                      }}</span\\r\\n                    >\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div\\r\\n                  class=\\\"col-md-12 order_invoice_row\\\"\\r\\n                  *ngIf=\\\"\\r\\n                    order_details.order_payment_detail.delivery_promo_payment >\\r\\n                    0\\r\\n                  \\\"\\r\\n                >\\r\\n                  <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                    <span>{{ title.promo_bonus | translate }}</span>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                    <span style=\\\"float: right\\\"\\r\\n                      >{{ currency_sign\\r\\n                      }}{{\\r\\n                        order_details.order_payment_detail.delivery_promo_payment.toFixed(\\r\\n                          2\\r\\n                        )\\r\\n                      }}</span\\r\\n                    >\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div\\r\\n                  class=\\\"col-md-12 order_invoice_row\\\"\\r\\n                  *ngIf=\\\"\\r\\n                    (order_details.order_payment_detail\\r\\n                      .is_promo_for_delivery_service == true &&\\r\\n                      order_details.order_payment_detail.promo_payment) ||\\r\\n                    order_details.order_payment_detail.delivery_promo_payment >\\r\\n                      0\\r\\n                  \\\"\\r\\n                >\\r\\n                  <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                    <span>{{ title.promo_name | translate }}</span>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                    <span style=\\\"float: right\\\">{{\\r\\n                      order_details.order_payment_detail.promo_name\\r\\n                    }}</span>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n\\r\\n              <div\\r\\n                class=\\\"row invoice_seperator\\\"\\r\\n                *ngIf=\\\"!order_details.is_hopper_on_demand\\\"\\r\\n              >\\r\\n                <div\\r\\n                  class=\\\"col-md-12 order_invoice_row\\\"\\r\\n                  style=\\\"margin-top: 10px\\\"\\r\\n                >\\r\\n                  <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                    <h5 style=\\\"margin-bottom: 0\\\">\\r\\n                      {{ title.total_order_price | translate }}\\r\\n                    </h5>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                    <h5 style=\\\"float: right; margin-bottom: 0\\\">\\r\\n                      {{ currency_sign\\r\\n                      }}{{\\r\\n                        (\\r\\n                          order_details.order_payment_detail.total_order_price +\\r\\n                          (order_details.order_payment_detail.added_price\\r\\n                            ? order_details.order_payment_detail.added_price\\r\\n                            : 0)\\r\\n                        ).toFixed(2)\\r\\n                      }}\\r\\n                    </h5>\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                  <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                    <span>{{ title.order_price | translate }}</span>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                    <span style=\\\"float: right\\\"\\r\\n                      >{{ currency_sign\\r\\n                      }}{{\\r\\n                        (\\r\\n                          order_details.order_payment_detail.total_cart_price +\\r\\n                          (order_details.order_payment_detail.added_price\\r\\n                            ? order_details.order_payment_detail.added_price\\r\\n                            : 0) +\\r\\n                          (order_details.order_payment_detail.cart_offer_price\\r\\n                            ? order_details.order_payment_detail\\r\\n                                .cart_offer_price\\r\\n                            : 0)\\r\\n                        ).toFixed(2)\\r\\n                      }}</span\\r\\n                    >\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div\\r\\n                  class=\\\"col-md-12 order_invoice_row\\\"\\r\\n                  *ngIf=\\\"order_details.order_payment_detail.cart_offer_price\\\"\\r\\n                  style=\\\"color: #ad3e00\\\"\\r\\n                >\\r\\n                  <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                    <span\\r\\n                      >{{ currency_sign\\r\\n                      }}{{\\r\\n                        order_details.order_payment_detail.cart_offer_message\\r\\n                      }}</span\\r\\n                    >\\r\\n                  </div>\\r\\n                  <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                    <span style=\\\"float: right\\\"\\r\\n                      >{{ currency_sign\\r\\n                      }}{{\\r\\n                        order_details.order_payment_detail.cart_offer_price.toFixed(\\r\\n                          2\\r\\n                        )\\r\\n                      }}</span\\r\\n                    >\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                  <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                    <span>{{ title.tax_price | translate }}</span>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                    <span style=\\\"float: right\\\"\\r\\n                      >{{ currency_sign\\r\\n                      }}{{\\r\\n                        order_details.order_payment_detail.total_store_tax_price.toFixed(\\r\\n                          2\\r\\n                        )\\r\\n                      }}</span\\r\\n                    >\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div\\r\\n                  class=\\\"col-md-12 order_invoice_row\\\"\\r\\n                  *ngIf=\\\"\\r\\n                    order_details.order_payment_detail\\r\\n                      .is_promo_for_delivery_service == false\\r\\n                  \\\"\\r\\n                >\\r\\n                  <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                    <span>{{ title.promo_bonus | translate }}</span>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                    <span style=\\\"float: right\\\"\\r\\n                      >{{ currency_sign\\r\\n                      }}{{\\r\\n                        order_details.order_payment_detail.promo_payment.toFixed(\\r\\n                          2\\r\\n                        )\\r\\n                      }}</span\\r\\n                    >\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div\\r\\n                  class=\\\"col-md-12 order_invoice_row\\\"\\r\\n                  *ngIf=\\\"\\r\\n                    order_details.order_payment_detail\\r\\n                      .is_promo_for_delivery_service == false &&\\r\\n                    order_details.order_payment_detail.promo_payment\\r\\n                  \\\"\\r\\n                >\\r\\n                  <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                    <span>{{ title.promo_name | translate }}</span>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                    <span style=\\\"float: right\\\">{{\\r\\n                      order_details.order_payment_detail.promo_name\\r\\n                    }}</span>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n\\r\\n              <div\\r\\n                class=\\\"row invoice_seperator\\\"\\r\\n                *ngIf=\\\"!order_details.is_hopper_on_demand\\\"\\r\\n              >\\r\\n                <div\\r\\n                  class=\\\"col-md-12 order_invoice_row\\\"\\r\\n                  style=\\\"margin-top: 10px\\\"\\r\\n                >\\r\\n                  <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                    <h5 style=\\\"margin-bottom: 0\\\">\\r\\n                      {{ title.service_fee | translate }}\\r\\n                    </h5>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                    <h5 style=\\\"float: right; margin-bottom: 0\\\">\\r\\n                      {{ currency_sign\\r\\n                      }}{{\\r\\n                        order_details.order_payment_detail.service_fee\\r\\n                          ? order_details.order_payment_detail.service_fee.toFixed(\\r\\n                              2\\r\\n                            )\\r\\n                          : 0.0\\r\\n                      }}\\r\\n                    </h5>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n\\r\\n              <div class=\\\"row invoice_seperator\\\">\\r\\n                <div\\r\\n                  class=\\\"col-md-12 order_invoice_row\\\"\\r\\n                  style=\\\"margin-top: 10px\\\"\\r\\n                >\\r\\n                  <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                    <h5 style=\\\"margin-bottom: 0\\\">\\r\\n                      {{ title.tip_price | translate }}\\r\\n                    </h5>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                    <h5 style=\\\"float: right; margin-bottom: 0\\\">\\r\\n                      {{ currency_sign\\r\\n                      }}{{\\r\\n                        order_details.order_payment_detail.tip_price\\r\\n                          ? order_details.order_payment_detail.tip_price.toFixed(\\r\\n                              2\\r\\n                            )\\r\\n                          : 0.0\\r\\n                      }}\\r\\n                    </h5>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n\\r\\n              <div\\r\\n                class=\\\"row invoice_seperator\\\"\\r\\n                *ngIf=\\\"order_details.is_hopper_on_demand\\\"\\r\\n              >\\r\\n                <div\\r\\n                  class=\\\"col-md-12 order_invoice_row\\\"\\r\\n                  style=\\\"margin-top: 10px\\\"\\r\\n                >\\r\\n                  <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                    <h5 style=\\\"margin-bottom: 0\\\">\\r\\n                      {{ title.hop_fee | translate }}\\r\\n                    </h5>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                    <h5 style=\\\"float: right; margin-bottom: 0\\\">\\r\\n                      {{ currency_sign\\r\\n                      }}{{\\r\\n                        order_details.order_payment_detail.hop_fee\\r\\n                          ? order_details.order_payment_detail.hop_fee.toFixed(\\r\\n                              2\\r\\n                            )\\r\\n                          : 0.0\\r\\n                      }}\\r\\n                    </h5>\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div\\r\\n                  class=\\\"col-md-12 order_invoice_row\\\"\\r\\n                  style=\\\"margin-top: 10px\\\"\\r\\n                >\\r\\n                  <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                    <h5 style=\\\"margin-bottom: 0\\\">\\r\\n                      {{ title.vehicle_charge | translate }}\\r\\n                    </h5>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                    <h5 style=\\\"float: right; margin-bottom: 0\\\">\\r\\n                      {{ currency_sign\\r\\n                      }}{{\\r\\n                        order_details.order_payment_detail.vehicle_charge\\r\\n                          ? order_details.order_payment_detail.vehicle_charge.toFixed(\\r\\n                              2\\r\\n                            )\\r\\n                          : 0.0\\r\\n                      }}\\r\\n                    </h5>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n\\r\\n              <div\\r\\n                class=\\\"row invoice_seperator\\\"\\r\\n                *ngIf=\\\"\\r\\n                  order_details.order_status_id ==\\r\\n                    helper.ORDER_STATUS_ID.CANCELLED &&\\r\\n                  order_details.order_payment_detail.order_cancellation_charge >\\r\\n                    0 &&\\r\\n                  !order_details.is_hopper_on_demand\\r\\n                \\\"\\r\\n              >\\r\\n                <div\\r\\n                  class=\\\"col-md-12 order_invoice_row\\\"\\r\\n                  style=\\\"margin-top: 10px\\\"\\r\\n                >\\r\\n                  <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                    <h5 style=\\\"margin-bottom: 0\\\">\\r\\n                      {{ title.cancellation_charge | translate }}\\r\\n                    </h5>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                    <h5 style=\\\"margin-bottom: 0; float: right\\\">\\r\\n                      {{ currency_sign\\r\\n                      }}{{\\r\\n                        order_details.order_payment_detail.order_cancellation_charge.toFixed(\\r\\n                          2\\r\\n                        )\\r\\n                      }}\\r\\n                    </h5>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n\\r\\n              <div\\r\\n                class=\\\"row invoice_seperator\\\"\\r\\n                *ngIf=\\\"\\r\\n                  order_details.order_payment_detail.is_payment_mode_cash &&\\r\\n                  !order_details.is_hopper_on_demand\\r\\n                \\\"\\r\\n              >\\r\\n                <!-- <div class=\\\"col-md-12 order_invoice_row\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                                <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.store_bear_delivery_fee | translate}}</span></div>\\r\\n                                <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                                    <span style=\\\"float: right;\\\" *ngIf=\\\"order_details.order_payment_detail.is_store_pay_delivery_fees\\\">{{title.yes | translate}}</span>\\r\\n                                    <span style=\\\"float: right;\\\" *ngIf=\\\"!order_details.order_payment_detail.is_store_pay_delivery_fees\\\">{{title.no | translate}}</span>\\r\\n                                </div>\\r\\n                            </div> -->\\r\\n                <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                  <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                    <span>{{\\r\\n                      title.deliveryman_paid_order_cash_to_store | translate\\r\\n                    }}</span>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                    <span\\r\\n                      style=\\\"float: right\\\"\\r\\n                      *ngIf=\\\"\\r\\n                        order_details.order_payment_detail\\r\\n                          .provider_paid_order_payment\\r\\n                      \\\"\\r\\n                      >{{ title.yes | translate }}</span\\r\\n                    >\\r\\n                    <span\\r\\n                      style=\\\"float: right\\\"\\r\\n                      *ngIf=\\\"\\r\\n                        !order_details.order_payment_detail\\r\\n                          .provider_paid_order_payment\\r\\n                      \\\"\\r\\n                      >{{ title.no | translate }}</span\\r\\n                    >\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n\\r\\n              <div\\r\\n                class=\\\"row invoice_seperator\\\"\\r\\n                *ngIf=\\\"!order_details.is_hopper_on_demand\\\"\\r\\n              >\\r\\n                <div\\r\\n                  class=\\\"col-md-12 order_invoice_row\\\"\\r\\n                  style=\\\"margin-top: 10px\\\"\\r\\n                >\\r\\n                  <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                    <span>{{ title.store_profit | translate }}</span>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                    <span style=\\\"float: right\\\"\\r\\n                      >{{ currency_sign\\r\\n                      }}{{\\r\\n                        order_details.order_payment_detail.total_store_income.toFixed(\\r\\n                          2\\r\\n                        )\\r\\n                      }}</span\\r\\n                    >\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                  <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                    <span\\r\\n                      *ngIf=\\\"\\r\\n                        order_details.order_payment_detail\\r\\n                          .is_store_income_set_in_wallet\\r\\n                      \\\"\\r\\n                      style=\\\"color: green\\\"\\r\\n                      >{{ title.sattlement_with_store | translate }}</span\\r\\n                    >\\r\\n                    <span\\r\\n                      *ngIf=\\\"\\r\\n                        !order_details.order_payment_detail\\r\\n                          .is_store_income_set_in_wallet\\r\\n                      \\\"\\r\\n                    >\\r\\n                      <span\\r\\n                        *ngIf=\\\"\\r\\n                          order_details.order_payment_detail\\r\\n                            .is_transfered_to_store\\r\\n                        \\\"\\r\\n                        style=\\\"color: green\\\"\\r\\n                        >{{ title.sattlement_with_store | translate }}</span\\r\\n                      >\\r\\n                      <span\\r\\n                        *ngIf=\\\"\\r\\n                          !order_details.order_payment_detail\\r\\n                            .is_transfered_to_store\\r\\n                        \\\"\\r\\n                        style=\\\"color: red\\\"\\r\\n                        >{{ title.sattlement_with_store | translate }}</span\\r\\n                      >\\r\\n                    </span>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                    <span\\r\\n                      style=\\\"float: right\\\"\\r\\n                      *ngIf=\\\"\\r\\n                        order_details.order_payment_detail\\r\\n                          .is_store_income_set_in_wallet\\r\\n                      \\\"\\r\\n                    >\\r\\n                      <span style=\\\"color: green\\\"\\r\\n                        >{{ currency_sign\\r\\n                        }}{{\\r\\n                          order_details.order_payment_detail.store_income_set_in_wallet.toFixed(\\r\\n                            2\\r\\n                          )\\r\\n                        }}\\r\\n                        ({{ title.wallet | translate }})</span\\r\\n                      >\\r\\n                    </span>\\r\\n                    <span\\r\\n                      style=\\\"float: right\\\"\\r\\n                      *ngIf=\\\"\\r\\n                        !order_details.order_payment_detail\\r\\n                          .is_store_income_set_in_wallet\\r\\n                      \\\"\\r\\n                    >\\r\\n                      <span\\r\\n                        style=\\\"color: green\\\"\\r\\n                        *ngIf=\\\"\\r\\n                          order_details.order_payment_detail\\r\\n                            .is_transfered_to_store\\r\\n                        \\\"\\r\\n                        >{{ currency_sign\\r\\n                        }}{{\\r\\n                          order_details.order_payment_detail.pay_to_store.toFixed(\\r\\n                            2\\r\\n                          )\\r\\n                        }}</span\\r\\n                      >\\r\\n                      <span\\r\\n                        style=\\\"color: red\\\"\\r\\n                        *ngIf=\\\"\\r\\n                          !order_details.order_payment_detail\\r\\n                            .is_transfered_to_store\\r\\n                        \\\"\\r\\n                        >{{ currency_sign\\r\\n                        }}{{\\r\\n                          order_details.order_payment_detail.pay_to_store.toFixed(\\r\\n                            2\\r\\n                          )\\r\\n                        }}</span\\r\\n                      >\\r\\n                    </span>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n\\r\\n              <div class=\\\"row invoice_seperator\\\">\\r\\n                <div\\r\\n                  class=\\\"col-md-12 order_invoice_row\\\"\\r\\n                  style=\\\"margin-top: 10px\\\"\\r\\n                >\\r\\n                  <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                    <span>{{ title.deliveryman_profit | translate }}</span>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                    <span style=\\\"float: right\\\"\\r\\n                      >{{ currency_sign\\r\\n                      }}{{\\r\\n                        order_details.order_payment_detail.total_provider_income.toFixed(\\r\\n                          2\\r\\n                        )\\r\\n                      }}</span\\r\\n                    >\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                  <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                    <span\\r\\n                      *ngIf=\\\"\\r\\n                        order_details.order_payment_detail\\r\\n                          .is_store_income_set_in_wallet\\r\\n                      \\\"\\r\\n                      style=\\\"color: green\\\"\\r\\n                      >{{ title.sattlement_with_deliveryman | translate }}</span\\r\\n                    >\\r\\n                    <span\\r\\n                      *ngIf=\\\"\\r\\n                        !order_details.order_payment_detail\\r\\n                          .is_store_income_set_in_wallet\\r\\n                      \\\"\\r\\n                    >\\r\\n                      <span\\r\\n                        *ngIf=\\\"\\r\\n                          order_details.order_payment_detail\\r\\n                            .is_transfered_to_store\\r\\n                        \\\"\\r\\n                        style=\\\"color: green\\\"\\r\\n                        >{{\\r\\n                          title.sattlement_with_deliveryman | translate\\r\\n                        }}</span\\r\\n                      >\\r\\n                      <span\\r\\n                        *ngIf=\\\"\\r\\n                          !order_details.order_payment_detail\\r\\n                            .is_transfered_to_store\\r\\n                        \\\"\\r\\n                        style=\\\"color: red\\\"\\r\\n                        >{{\\r\\n                          title.sattlement_with_deliveryman | translate\\r\\n                        }}</span\\r\\n                      >\\r\\n                    </span>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                    <span\\r\\n                      style=\\\"float: right\\\"\\r\\n                      *ngIf=\\\"\\r\\n                        order_details.order_payment_detail\\r\\n                          .is_provider_income_set_in_wallet\\r\\n                      \\\"\\r\\n                    >\\r\\n                      <span style=\\\"color: green\\\"\\r\\n                        >{{ currency_sign\\r\\n                        }}{{\\r\\n                          order_details.order_payment_detail.provider_income_set_in_wallet.toFixed(\\r\\n                            2\\r\\n                          )\\r\\n                        }}\\r\\n                        ({{ title.wallet | translate }})</span\\r\\n                      >\\r\\n                    </span>\\r\\n                    <span\\r\\n                      style=\\\"float: right\\\"\\r\\n                      *ngIf=\\\"\\r\\n                        !order_details.order_payment_detail\\r\\n                          .is_provider_income_set_in_wallet\\r\\n                      \\\"\\r\\n                    >\\r\\n                      <span\\r\\n                        style=\\\"color: green\\\"\\r\\n                        *ngIf=\\\"\\r\\n                          order_details.order_payment_detail\\r\\n                            .is_transfered_to_provider\\r\\n                        \\\"\\r\\n                        >{{ currency_sign\\r\\n                        }}{{\\r\\n                          order_details.order_payment_detail.pay_to_provider.toFixed(\\r\\n                            2\\r\\n                          )\\r\\n                        }}</span\\r\\n                      >\\r\\n                      <span\\r\\n                        style=\\\"color: red\\\"\\r\\n                        *ngIf=\\\"\\r\\n                          !order_details.order_payment_detail\\r\\n                            .is_transfered_to_provider\\r\\n                        \\\"\\r\\n                        >{{ currency_sign\\r\\n                        }}{{\\r\\n                          order_details.order_payment_detail.pay_to_provider.toFixed(\\r\\n                            2\\r\\n                          )\\r\\n                        }}</span\\r\\n                      >\\r\\n                    </span>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n\\r\\n              <div class=\\\"row invoice_seperator\\\">\\r\\n                <div\\r\\n                  class=\\\"col-md-12 order_invoice_row\\\"\\r\\n                  style=\\\"margin-top: 10px\\\"\\r\\n                >\\r\\n                  <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                    <span>{{\\r\\n                      title.admin_profit_on_delivery | translate\\r\\n                    }}</span>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                    <span style=\\\"float: right\\\"\\r\\n                      >{{ currency_sign\\r\\n                      }}{{\\r\\n                        order_details.order_payment_detail.total_admin_profit_on_delivery.toFixed(\\r\\n                          2\\r\\n                        )\\r\\n                      }}</span\\r\\n                    >\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div\\r\\n                  class=\\\"col-md-12 order_invoice_row\\\"\\r\\n                  *ngIf=\\\"!order_details.is_hopper_on_demand\\\"\\r\\n                >\\r\\n                  <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                    <span>{{ title.admin_profit_on_store | translate }}</span>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                    <span style=\\\"float: right\\\"\\r\\n                      >{{ currency_sign\\r\\n                      }}{{\\r\\n                        order_details.order_payment_detail.total_admin_profit_on_store.toFixed(\\r\\n                          2\\r\\n                        )\\r\\n                      }}</span\\r\\n                    >\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"col-lg-4 col-md-12 col-sm-12\\\">\\r\\n      <div class=\\\"ibox\\\">\\r\\n        <div class=\\\"ibox-title\\\" style=\\\"background-color: #d4d8d8\\\">\\r\\n          <h5>{{ heading_title.order_status | translate }}</h5>\\r\\n        </div>\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n          <div id=\\\"vertical-timeline\\\" class=\\\"vertical-container dark-timeline\\\">\\r\\n            <!-- <div *ngFor=\\\"let date of order_date_time;\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                        <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                        </div>\\r\\n                        <div class=\\\"vertical-timeline-content\\\" [ngSwitch]=\\\"date.status\\\" style=\\\"padding-top: 1px;\\\">\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.WAITING_FOR_ACCEPT_STORE\\\"><span>{{helper.status.waiting_for_accept | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_ACCEPTED\\\"><span>{{helper.status.accepted | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_PREPARING_ORDER\\\"><span>{{helper.status.start_preparing_order | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.OREDER_READY\\\"><span>{{helper.status.order_ready | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_REJECTED\\\"><span>{{helper.status.rejected | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_CANCELLED\\\"><span>{{helper.status.cancelled | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.CANCELED_BY_USER\\\"><span>{{helper.status.user_cancelled | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.ORDER_COMPLETED\\\"><span>{{helper.status.completed | translate}}</span></p>\\r\\n\\r\\n                            <span class=\\\"vertical-date small text-muted\\\">{{moment(date.date).tz(timezone).format('DD MMM YYYY HH:mm:ss')}}</span>\\r\\n                        </div>\\r\\n                    </div> -->\\r\\n            <!-- <div *ngIf=\\\"order_details.request_detail\\\"> -->\\r\\n            <div\\r\\n              *ngFor=\\\"let date of order_date_time\\\"\\r\\n              class=\\\"vertical-timeline-block\\\"\\r\\n            >\\r\\n              <div\\r\\n                class=\\\"vertical-timeline-icon gray-bg\\\"\\r\\n                [hidden]=\\\"\\r\\n                  order_details.is_hopper_on_demand &&\\r\\n                  date.status == helper.ORDER_STATE.OREDER_READY\\r\\n                \\\"\\r\\n              ></div>\\r\\n              <div\\r\\n                class=\\\"vertical-timeline-content\\\"\\r\\n                [ngSwitch]=\\\"date.status\\\"\\r\\n                style=\\\"padding-top: 1px\\\"\\r\\n                [hidden]=\\\"\\r\\n                  order_details.is_hopper_on_demand &&\\r\\n                  date.status == helper.ORDER_STATE.OREDER_READY\\r\\n                \\\"\\r\\n              >\\r\\n                <p *ngSwitchCase=\\\"helper.ORDER_STATE.WAITING_FOR_ACCEPT_STORE\\\">\\r\\n                  <span>{{\\r\\n                    helper.status.waiting_for_accept | translate\\r\\n                  }}</span>\\r\\n                </p>\\r\\n                <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_ACCEPTED\\\">\\r\\n                  <span *ngIf=\\\"!order_details.is_hopper_on_demand\\\">{{\\r\\n                    helper.status.accepted | translate\\r\\n                  }}</span>\\r\\n                  <span *ngIf=\\\"order_details.is_hopper_on_demand\\\">{{\\r\\n                    helper.status.created | translate\\r\\n                  }}</span>\\r\\n                </p>\\r\\n                <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_PREPARING_ORDER\\\">\\r\\n                  <span>{{\\r\\n                    helper.status.start_preparing_order | translate\\r\\n                  }}</span>\\r\\n                </p>\\r\\n                <p *ngSwitchCase=\\\"helper.ORDER_STATE.OREDER_READY\\\">\\r\\n                  <span>{{ helper.status.order_ready | translate }}</span>\\r\\n                </p>\\r\\n                <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_REJECTED\\\">\\r\\n                  <span>{{ helper.status.rejected | translate }}</span>\\r\\n                </p>\\r\\n                <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_CANCELLED\\\">\\r\\n                  <span>{{ helper.status.cancelled | translate }}</span>\\r\\n                </p>\\r\\n                <p *ngSwitchCase=\\\"helper.ORDER_STATE.CANCELED_BY_USER\\\">\\r\\n                  <span>{{ helper.status.user_cancelled | translate }}</span>\\r\\n                </p>\\r\\n                <p *ngSwitchCase=\\\"helper.ORDER_STATE.ORDER_COMPLETED\\\">\\r\\n                  <span>{{ helper.status.completed | translate }}</span>\\r\\n                </p>\\r\\n\\r\\n                <p *ngSwitchCase=\\\"helper.ORDER_STATE.WAITING_FOR_DELIVERY_MAN\\\">\\r\\n                  <span>{{\\r\\n                    helper.status.waiting_for_delivery_man | translate\\r\\n                  }}</span>\\r\\n                </p>\\r\\n                <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_ACCEPTED\\\">\\r\\n                  <span>{{\\r\\n                    helper.status.delivery_man_accepted | translate\\r\\n                  }}</span>\\r\\n                </p>\\r\\n                <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_COMING\\\">\\r\\n                  <span>{{\\r\\n                    helper.status.delivery_man_coming | translate\\r\\n                  }}</span>\\r\\n                </p>\\r\\n                <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_ARRIVED\\\">\\r\\n                  <span>{{\\r\\n                    helper.status.delivery_man_arrived | translate\\r\\n                  }}</span>\\r\\n                </p>\\r\\n                <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\\\">\\r\\n                  <span>{{ helper.status.picked_order | translate }}</span>\\r\\n                </p>\\r\\n                <p\\r\\n                  *ngSwitchCase=\\\"\\r\\n                    helper.ORDER_STATE.DELIVERY_MAN_STARTED_DELIVERY\\r\\n                  \\\"\\r\\n                >\\r\\n                  <span>{{\\r\\n                    helper.status.started_for_delivery | translate\\r\\n                  }}</span>\\r\\n                </p>\\r\\n                <p\\r\\n                  *ngSwitchCase=\\\"\\r\\n                    helper.ORDER_STATE.DELIVERY_MAN_ARRIVED_AT_DESTINATION\\r\\n                  \\\"\\r\\n                >\\r\\n                  <span>{{\\r\\n                    helper.status.arrived_at_destination | translate\\r\\n                  }}</span>\\r\\n                </p>\\r\\n                <p\\r\\n                  *ngSwitchCase=\\\"\\r\\n                    helper.ORDER_STATE.DELIVERY_MAN_COMPLETE_DELIVERY\\r\\n                  \\\"\\r\\n                >\\r\\n                  <span>{{ helper.status.delivered_ordered | translate }}</span>\\r\\n                </p>\\r\\n                <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_REJECTED\\\">\\r\\n                  <span>{{ helper.status.rejected | translate }}</span>\\r\\n                </p>\\r\\n                <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_CANCELLED\\\">\\r\\n                  <span>{{ helper.status.cancelled | translate }}</span>\\r\\n                </p>\\r\\n                <p *ngSwitchCase=\\\"helper.ORDER_STATE.NO_DELIVERY_MAN_FOUND\\\">\\r\\n                  <span>{{\\r\\n                    helper.status.no_delivery_man_found | translate\\r\\n                  }}</span>\\r\\n                </p>\\r\\n                <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_REJECTED\\\">\\r\\n                  <span>{{\\r\\n                    helper.status.delivery_man_rejected | translate\\r\\n                  }}</span>\\r\\n                </p>\\r\\n                <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_CANCELLED\\\">\\r\\n                  <span>{{\\r\\n                    helper.status.delivery_man_cancelled | translate\\r\\n                  }}</span>\\r\\n                </p>\\r\\n                <p *ngSwitchCase=\\\"helper.ORDER_STATE.CANCELED_BY_USER\\\">\\r\\n                  <span>{{ helper.status.user_cancelled | translate }}</span>\\r\\n                </p>\\r\\n                <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_CANCELLED_REQUEST\\\">\\r\\n                  <span>{{ helper.status.cancelled_request | translate }}</span>\\r\\n                </p>\\r\\n                <p *ngSwitchCase=\\\"helper.ORDER_STATE.ORDER_COMPLETED\\\">\\r\\n                  <span>{{ helper.status.completed | translate }}</span>\\r\\n                </p>\\r\\n                <p *ngSwitchCase=\\\"helper.ORDER_STATE.ADMIN_EDIT_ADDRESS\\\">\\r\\n                  <span>{{\\r\\n                    helper.status.admin_edit_address | translate\\r\\n                  }}</span>\\r\\n                </p>\\r\\n                <p *ngSwitchCase=\\\"helper.ORDER_STATE.ADMIN_EDIT_ORDER\\\">\\r\\n                  <span>{{ helper.status.admin_edit_order | translate }}</span>\\r\\n                </p>\\r\\n                <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_EDIT_ORDER\\\">\\r\\n                  <span>{{ helper.status.store_edit_order | translate }}</span>\\r\\n                </p>\\r\\n\\r\\n                <span class=\\\"vertical-date small text-muted\\\">\\r\\n                  {{\\r\\n                    moment(date.date)\\r\\n                      .tz(timezone !== \\\"\\\" ? timezone : \\\"Asia/Kolkata\\\")\\r\\n                      .format(\\\"DD MMM YYYY HH:mm a\\\")\\r\\n                  }}\\r\\n                </span>\\r\\n              </div>\\r\\n            </div>\\r\\n            <!-- </div> -->\\r\\n\\r\\n            <!--                    <div *ngFor=\\\"let date of order_date_time;\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                        <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                        </div>\\r\\n                        <div class=\\\"vertical-timeline-content\\\" [ngSwitch]=\\\"date.status\\\" style=\\\"padding-top: 1px;\\\">\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.WAITING_FOR_ACCEPT_STORE\\\"><span>{{helper.status.waiting_for_accept | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_ACCEPTED\\\"><span>{{helper.status.accepted | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_PREPARING_ORDER\\\"><span>{{helper.status.start_preparing_order | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.OREDER_READY\\\"><span>{{helper.status.order_ready | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.WAITING_FOR_DELIVERY_MAN\\\"><span>{{helper.status.waiting_for_delivery_man | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_REJECTED\\\"><span>{{helper.status.rejected | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_CANCELLED\\\"><span>{{helper.status.cancelled | translate}}</span></p>\\r\\n\\r\\n                            <span class=\\\"vertical-date small text-muted\\\">{{moment(date.date).tz(timezone).format('DD MMM YYYY HH:mm:ss')}}</span>\\r\\n                        </div>\\r\\n                    </div>-->\\r\\n\\r\\n            <!--                    <div *ngFor=\\\"let date of request_date_time;\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                        <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                        </div>\\r\\n                        <div class=\\\"vertical-timeline-content\\\" [ngSwitch]=\\\"date.status\\\" style=\\\"padding-top: 1px;\\\">\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.WAITING_FOR_DELIVERY_MAN\\\"><span>{{helper.status.waiting_for_delivery_man | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_ACCEPTED\\\"><span>{{helper.status.delivery_man_accepted | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_COMING\\\"><span>{{helper.status.delivery_man_coming | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_ARRIVED\\\"><span>{{helper.status.delivery_man_arrived | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\\\"><span>{{helper.status.picked_order | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_STARTED_DELIVERY\\\"><span>{{helper.status.started_for_delivery | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_ARRIVED_AT_DESTINATION\\\"><span>{{helper.status.arrived_at_destination | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_COMPLETE_DELIVERY\\\"><span>{{helper.status.delivered_ordered | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_REJECTED\\\"><span>{{helper.status.rejected | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_CANCELLED\\\"><span>{{helper.status.cancelled | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.NO_DELIVERY_MAN_FOUND\\\"><span>{{helper.status.no_delivery_man_found | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_REJECTED\\\"><span>{{helper.status.delivery_man_rejected | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_CANCELLED\\\"><span>{{helper.status.delivery_man_cancelled | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.CANCELED_BY_USER\\\"><span>{{helper.status.user_cancelled | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_CANCELLED_REQUEST\\\"><span>{{helper.status.cancelled_request | translate}}</span></p>\\r\\n\\r\\n                            <span class=\\\"vertical-date small text-muted\\\">{{moment(date.date).tz(timezone).format('DD MMM YYYY HH:mm:ss')}}</span>\\r\\n                        </div>\\r\\n                    </div>-->\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n    <!--    <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\" style=\\\"background-color: #d4d8d8;\\\">\\r\\n                    <h5>{{heading_title.order_status | translate}}</h5>\\r\\n                </div>\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n    \\r\\n                    <div id=\\\"vertical-timeline\\\" class=\\\"vertical-container dark-timeline\\\">\\r\\n                        <div class=\\\"vertical-timeline-block\\\">\\r\\n                            <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                <i class=\\\"fa fa-coffee\\\"></i>\\r\\n                            </div>\\r\\n                            <div class=\\\"vertical-timeline-content\\\">\\r\\n                                <p>{{status.created | translate}}\\r\\n                                </p>\\r\\n                                <span class=\\\"vertical-date small text-muted\\\"> {{created_at}}</span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n    \\r\\n                        <div *ngFor=\\\"let i of date_time\\\">\\r\\n    \\r\\n                            <div *ngIf=\\\"i.status==ORDER_STATE.WAITING_FOR_ACCEPT_STORE\\\"  class=\\\"vertical-timeline-block\\\">\\r\\n                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                    <i class=\\\"fa fa-coffee\\\"></i>\\r\\n                                </div>\\r\\n                                <div class=\\\"vertical-timeline-content\\\">\\r\\n                                    <p>{{status.waiting_for_accept | translate}}</p>\\r\\n                                    <span class=\\\"vertical-date small text-muted\\\"> \\r\\n                                        {{moment(i.date).tz(timezone).format('DD MMM YYYY HH:mm:ss')}}\\r\\n                                    </span>\\r\\n                                </div>\\r\\n                            </div>\\r\\n    \\r\\n    \\r\\n                            <div *ngIf=\\\"i.status==ORDER_STATE.STORE_ACCEPTED\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                    <i class=\\\"fa fa-coffee\\\"></i>\\r\\n                                </div>\\r\\n                                <div class=\\\"vertical-timeline-content\\\">\\r\\n                                    <p>{{status.accepted | translate}}</p>\\r\\n                                    <span class=\\\"vertical-date small text-muted\\\"> \\r\\n                                        {{moment(i.date).tz(timezone).format('DD MMM YYYY HH:mm:ss')}}\\r\\n                                    </span>\\r\\n                                </div>\\r\\n                            </div>\\r\\n    \\r\\n    \\r\\n                            <div *ngIf=\\\"i.status==ORDER_STATE.STORE_PREPARING_ORDER\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                    <i class=\\\"fa fa-coffee\\\"></i>\\r\\n                                </div>\\r\\n                                <div class=\\\"vertical-timeline-content\\\">\\r\\n                                    <p>{{status.start_preparing_order | translate}}</p>\\r\\n                                    <span class=\\\"vertical-date small text-muted\\\"> \\r\\n                                        {{moment(i.date).tz(timezone).format('DD MMM YYYY HH:mm:ss')}}\\r\\n                                    </span>\\r\\n                                </div>\\r\\n                            </div>\\r\\n    \\r\\n    \\r\\n                            <div *ngIf=\\\"i.status==ORDER_STATE.OREDER_READY\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                    <i class=\\\"fa fa-coffee\\\"></i>\\r\\n                                </div>\\r\\n                                <div class=\\\"vertical-timeline-content\\\">\\r\\n                                    <p>{{status.order_ready | translate}}</p>\\r\\n                                    <span class=\\\"vertical-date small text-muted\\\"> \\r\\n                                        {{moment(i.date).tz(timezone).format('DD MMM YYYY HH:mm:ss')}}\\r\\n                                    </span>\\r\\n                                </div>\\r\\n                            </div>\\r\\n    \\r\\n    \\r\\n                            <div *ngIf=\\\"i.status==ORDER_STATE.STORE_REJECTED\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                    <i class=\\\"fa fa-coffee\\\"></i>\\r\\n                                </div>\\r\\n                                <div class=\\\"vertical-timeline-content\\\">\\r\\n                                    <p>{{status.rejected | translate}}</p>\\r\\n                                    <span class=\\\"vertical-date small text-muted\\\"> \\r\\n                                        {{moment(i.date).tz(timezone).format('DD MMM YYYY HH:mm:ss')}}\\r\\n                                    </span>\\r\\n                                </div>\\r\\n                            </div>\\r\\n    \\r\\n                            <div *ngIf=\\\"i.status==ORDER_STATE.STORE_CANCELLED\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                    <i class=\\\"fa fa-coffee\\\"></i>\\r\\n                                </div>\\r\\n                                <div class=\\\"vertical-timeline-content\\\">\\r\\n                                    <p>{{status.cancelled | translate}}</p>\\r\\n                                    <span class=\\\"vertical-date small text-muted\\\"> \\r\\n                                        {{moment(i.date).tz(timezone).format('DD MMM YYYY HH:mm:ss')}}\\r\\n                                    </span>\\r\\n                                </div>\\r\\n                            </div>\\r\\n    \\r\\n                            <div *ngIf=\\\"i.status==ORDER_STATE.CANCELED_BY_USER\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                    <i class=\\\"fa fa-coffee\\\"></i>\\r\\n                                </div>\\r\\n                                <div class=\\\"vertical-timeline-content\\\">\\r\\n                                    <p>{{status.user_cancelled | translate}}</p>\\r\\n                                    <span class=\\\"vertical-date small text-muted\\\"> \\r\\n                                        {{moment(i.date).tz(timezone).format('DD MMM YYYY HH:mm:ss')}}\\r\\n                                    </span>\\r\\n                                </div>\\r\\n                            </div>\\r\\n    \\r\\n                        </div>\\r\\n    \\r\\n                        <div class=\\\"vertical-timeline-block\\\">\\r\\n                            <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                <i class=\\\"fa fa-coffee\\\"></i>\\r\\n                            </div>\\r\\n                            <div class=\\\"vertical-timeline-content\\\">\\r\\n                                <p>{{status.completed | translate}}\\r\\n                                </p>\\r\\n                                <span class=\\\"vertical-date small text-muted\\\"> {{completed_at}}</span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n    \\r\\n                                            <div *ngIf=\\\"store_accepted_at!=null&&order_status>ORDER_STATE.WAITING_FOR_ACCEPT_STORE\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                                    <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                                                </div>\\r\\n                        \\r\\n                                                <div class=\\\"vertical-timeline-content\\\">\\r\\n                                                    <p>{{status.accepted | translate}}</p>\\r\\n                                                    <span class=\\\"vertical-date small text-muted\\\">\\r\\n                                                        {{store_accepted_at}}\\r\\n                                                    </span>\\r\\n                                                </div>\\r\\n                                            </div>\\r\\n                        \\r\\n                                            <div *ngIf=\\\"order_status_id==ORDER_STATUS_ID.REJECTED&&order_status==ORDER_STATE.STORE_REJECTED\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                                    <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                                                </div>\\r\\n                        \\r\\n                                                <div class=\\\"vertical-timeline-content\\\">\\r\\n                                                    <p>{{status.rejected | translate}}</p>\\r\\n                                                    <span class=\\\"vertical-date small text-muted\\\">\\r\\n                                                        {{completed_at}}\\r\\n                                                    </span>\\r\\n                                                </div>\\r\\n                                            </div>\\r\\n                        \\r\\n                                            <div *ngIf=\\\"start_preparing_order_at!=null&&order_status>ORDER_STATE.STORE_ACCEPTED\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                                    <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                                                </div>\\r\\n                        \\r\\n                                                <div class=\\\"vertical-timeline-content\\\">\\r\\n                                                    <p>{{status.start_preparing_order | translate}}</p>\\r\\n                                                    <span class=\\\"vertical-date small text-muted\\\">\\r\\n                                                        {{start_preparing_order_at}}\\r\\n                                                    </span>\\r\\n                                                </div>\\r\\n                                            </div>\\r\\n                        \\r\\n                                            <div *ngIf=\\\"order_ready_at!=null&&order_status>ORDER_STATE.STORE_PREPARING_ORDER\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                                    <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                                                </div>\\r\\n                        \\r\\n                                                <div class=\\\"vertical-timeline-content\\\">\\r\\n                                                    <p>{{status.order_ready | translate}}</p>\\r\\n                                                    <span class=\\\"vertical-date small text-muted\\\">\\r\\n                                                        {{order_ready_at}}\\r\\n                                                    </span>\\r\\n                                                </div>\\r\\n                                            </div>\\r\\n                        \\r\\n                                            <div *ngIf=\\\"store_order_created_at!=null&&order_status>ORDER_STATE.OREDER_READY\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                                    <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                                                </div>\\r\\n                        \\r\\n                                                <div class=\\\"vertical-timeline-content\\\">\\r\\n                                                    <p>{{status.assign_order_to_Delivery_man | translate}}</p>\\r\\n                                                    <span class=\\\"vertical-date small text-muted\\\">\\r\\n                                                        {{store_order_created_at}}\\r\\n                                                    </span>\\r\\n                                                </div>\\r\\n                                            </div>\\r\\n                        \\r\\n                                            <div *ngIf=\\\"accepted_at!=null&&order_status>ORDER_STATE.WAITING_FOR_DELIVERY_MAN\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                                    <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                                                </div>\\r\\n                        \\r\\n                                                <div class=\\\"vertical-timeline-content\\\">\\r\\n                                                    <p>{{status.delivery_man_accepted | translate}}</p>\\r\\n                                                    <span class=\\\"vertical-date small text-muted\\\">\\r\\n                                                        {{accepted_at}}\\r\\n                                                    </span>\\r\\n                                                </div>\\r\\n                                            </div>\\r\\n                        \\r\\n                                            <div *ngIf=\\\"start_for_pickup_at!=null&&order_status>ORDER_STATE.DELIVERY_MAN_ACCEPTED\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                                    <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                                                </div>\\r\\n                        \\r\\n                                                <div class=\\\"vertical-timeline-content\\\">\\r\\n                                                    <p>{{status.delivery_man_coming | translate}}</p>\\r\\n                                                    <span class=\\\"vertical-date small text-muted\\\">\\r\\n                                                        {{start_for_pickup_at}}\\r\\n                                                    </span>\\r\\n                                                </div>\\r\\n                                            </div>\\r\\n                        \\r\\n                                            <div *ngIf=\\\"arrived_on_store_at!=null&&order_status>ORDER_STATE.DELIVERY_MAN_COMING\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                                    <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                                                </div>\\r\\n                        \\r\\n                                                <div class=\\\"vertical-timeline-content\\\">\\r\\n                                                    <p>{{status.delivery_man_arrived | translate}}</p>\\r\\n                                                    <span class=\\\"vertical-date small text-muted\\\">\\r\\n                                                        {{arrived_on_store_at}}\\r\\n                                                    </span>\\r\\n                                                </div>\\r\\n                                            </div>\\r\\n                        \\r\\n                                            <div *ngIf=\\\"picked_order_at!=null&&order_status>ORDER_STATE.DELIVERY_MAN_ARRIVED\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                                    <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                                                </div>\\r\\n                        \\r\\n                                                <div class=\\\"vertical-timeline-content\\\">\\r\\n                                                    <p>{{status.picked_order | translate}}</p>\\r\\n                                                    <span class=\\\"vertical-date small text-muted\\\">\\r\\n                                                        {{picked_order_at}}\\r\\n                                                    </span>\\r\\n                                                </div>\\r\\n                                            </div>\\r\\n                        \\r\\n                                            <div *ngIf=\\\"start_for_delivery_at!=null&&order_status>ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                                    <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                                                </div>\\r\\n                        \\r\\n                                                <div class=\\\"vertical-timeline-content\\\">\\r\\n                                                    <p>{{status.started_for_delivery | translate}}</p>\\r\\n                                                    <span class=\\\"vertical-date small text-muted\\\">\\r\\n                                                        {{started_for_delivery_at}}\\r\\n                                                    </span>\\r\\n                                                </div>\\r\\n                                            </div>\\r\\n                        \\r\\n                                            <div *ngIf=\\\"delivered_at!=null&&order_status>ORDER_STATE.DELIVERY_MAN_STARTED_DELIVERY\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                                    <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                                                </div>\\r\\n                        \\r\\n                                                <div class=\\\"vertical-timeline-content\\\">\\r\\n                                                    <p>{{status.arrived_at_destination | translate}}</p>\\r\\n                                                    <span class=\\\"vertical-date small text-muted\\\">\\r\\n                                                        {{delivered_at}}\\r\\n                                                    </span>\\r\\n                                                </div>\\r\\n                                            </div>\\r\\n                        \\r\\n                                            <div *ngIf=\\\"delivered_at!=null&&order_status>ORDER_STATE.DELIVERY_MAN_ARRIVED_AT_DESTINATION\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                                    <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                                                </div>\\r\\n                        \\r\\n                                                <div class=\\\"vertical-timeline-content\\\">\\r\\n                                                    <p>{{status.delivered_ordered | translate}}</p>\\r\\n                                                    <span class=\\\"vertical-date small text-muted\\\">\\r\\n                                                        {{delivered_at}}\\r\\n                                                    </span>\\r\\n                                                </div>\\r\\n                                            </div>\\r\\n                        \\r\\n                                            <div *ngIf=\\\"order_status_id==ORDER_STATUS_ID.CANCELLED\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                                    <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                                                </div>\\r\\n                        \\r\\n                                                <div class=\\\"vertical-timeline-content\\\">\\r\\n                                                    <p *ngIf=\\\"order_status==ORDER_STATE.STORE_CANCELLED\\\">{{status.cancelled | translate}}</p>\\r\\n                                                    <p *ngIf=\\\"order_status==ORDER_STATE.DELIVERY_MAN_CANCELLED\\\">{{status.delivery_man_cancelled | translate}}</p>\\r\\n                                                    <span class=\\\"vertical-date small text-muted\\\">\\r\\n                                                        {{cancelled_at}}\\r\\n                                                    </span>\\r\\n                                                </div>\\r\\n                                            </div>\\r\\n                        \\r\\n                                            <div *ngIf=\\\"order_status_id==ORDER_STATUS_ID.REJECTED&&order_status==ORDER_STATE.DELIVERY_MAN_REJECTED\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                                    <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                                                </div>\\r\\n                        \\r\\n                                                <div class=\\\"vertical-timeline-content\\\">\\r\\n                                                    <p>{{status.delivery_man_rejected | translate}}</p>\\r\\n                                                    <span class=\\\"vertical-date small text-muted\\\">\\r\\n                                                        {{store_order_created_at}}\\r\\n                                                    </span>\\r\\n                                                </div>\\r\\n                                            </div>\\r\\n                        \\r\\n                                            <div *ngIf=\\\"order_status_id==ORDER_STATUS_ID.COMPLETED\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                                    <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                                                </div>\\r\\n                        \\r\\n                                                <div class=\\\"vertical-timeline-content\\\">\\r\\n                                                    <p>{{status.completed | translate}}</p>\\r\\n                                                    <span class=\\\"vertical-date small text-muted\\\">\\r\\n                                                        {{completed_at}}\\r\\n                                                    </span>\\r\\n                                                </div>\\r\\n                                            </div>\\r\\n                        \\r\\n                                            <div *ngIf=\\\"order_status==ORDER_STATE.NO_DELIVERY_MAN_FOUND\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                                    <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                                                </div>\\r\\n                        \\r\\n                                                <div class=\\\"vertical-timeline-content\\\">\\r\\n                                                    <p>{{status.no_delivery_man_found | translate}}</p>\\r\\n                                                    <span class=\\\"vertical-date small text-muted\\\">\\r\\n                                                        {{completed_at}}\\r\\n                                                    </span>\\r\\n                                                </div>\\r\\n                                            </div>\\r\\n    \\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>-->\\r\\n  </div>\\r\\n</div>\\r\\n\\r\\n<modal\\r\\n  keyboard=\\\"false\\\"\\r\\n  backdrop=\\\"static\\\"\\r\\n  cssClass=\\\"modal-xl\\\"\\r\\n  #mynotificationModal\\r\\n>\\r\\n  <form\\r\\n    #modalNotificationForm=\\\"ngForm\\\"\\r\\n    (ngSubmit)=\\\"SendNotification(modalNotificationForm.value)\\\"\\r\\n  >\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n      <h4 class=\\\"modal-title\\\">\\r\\n        {{ heading_title.admin_send_notification | translate }}\\r\\n      </h4>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n      <div class=\\\"row\\\">\\r\\n        <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"id\\\" name=\\\"id\\\" />\\r\\n        <input\\r\\n          type=\\\"hidden\\\"\\r\\n          class=\\\"form-control\\\"\\r\\n          [(ngModel)]=\\\"type\\\"\\r\\n          name=\\\"type\\\"\\r\\n        />\\r\\n        <div class=\\\"col-md-12\\\">\\r\\n          <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n            <div class=\\\"form-group\\\">\\r\\n              <label style=\\\"font-weight: normal\\\"\\r\\n                ><strong>{{\\r\\n                  title.notification_content | translate\\r\\n                }}</strong></label\\r\\n              >\\r\\n              <input\\r\\n                type=\\\"text\\\"\\r\\n                class=\\\"form-control\\\"\\r\\n                [(ngModel)]=\\\"content\\\"\\r\\n                name=\\\"content\\\"\\r\\n                required\\r\\n              />\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n      <div style=\\\"text-align: center\\\">\\r\\n        <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">\\r\\n          {{ button.send | translate }}\\r\\n        </button>\\r\\n      </div>\\r\\n    </modal-footer>\\r\\n  </form>\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl\\\" #editAddressModal>\\r\\n  <form\\r\\n    #modalAddressForm=\\\"ngForm\\\"\\r\\n    (ngSubmit)=\\\"UpdateAddress(modalAddressForm.value)\\\"\\r\\n  >\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n      <h4 class=\\\"modal-title\\\">{{ heading_title.edit_address | translate }}</h4>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n      <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-12\\\">\\r\\n          <div class=\\\"form-group\\\">\\r\\n            <label style=\\\"font-weight: normal\\\"\\r\\n              ><strong>{{ title.address | translate }}</strong></label\\r\\n            >\\r\\n            <div class=\\\"input-group\\\">\\r\\n              <input type=\\\"text\\\" class=\\\"form-control\\\" id=\\\"address\\\" required />\\r\\n              <span\\r\\n                class=\\\"input-group-addon\\\"\\r\\n                *ngIf=\\\"!is_show_address\\\"\\r\\n                (click)=\\\"is_show_address = true\\\"\\r\\n              >\\r\\n                <span class=\\\"fa fa fa-angle-down\\\"></span>\\r\\n              </span>\\r\\n              <span\\r\\n                class=\\\"input-group-addon\\\"\\r\\n                *ngIf=\\\"is_show_address\\\"\\r\\n                (click)=\\\"is_show_address = false\\\"\\r\\n              >\\r\\n                <span class=\\\"fa fa fa-angle-up\\\"></span>\\r\\n              </span>\\r\\n            </div>\\r\\n            <div\\r\\n              class=\\\"add-con-dropdown-list v-scroll-hide active\\\"\\r\\n              *ngIf=\\\"is_show_address\\\"\\r\\n            >\\r\\n              <h3>Vos adresse enregistrées</h3>\\r\\n              <div class=\\\"address-form-list-main\\\">\\r\\n                <form\\r\\n                  novalidate=\\\"\\\"\\r\\n                  action=\\\"\\\"\\r\\n                  class=\\\"ng-untouched ng-pristine ng-valid\\\"\\r\\n                >\\r\\n                  <div\\r\\n                    class=\\\"address-form-list\\\"\\r\\n                    *ngFor=\\\"let address of favourite_addresses\\\"\\r\\n                    (click)=\\\"set_address(address)\\\"\\r\\n                  >\\r\\n                    <input\\r\\n                      type=\\\"text\\\"\\r\\n                      readonly=\\\"\\\"\\r\\n                      class=\\\"form-control\\\"\\r\\n                      placeholder=\\\"{{ address.address }}\\\"\\r\\n                    />\\r\\n                  </div>\\r\\n                </form>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-12\\\">\\r\\n          <div class=\\\"form-group\\\">\\r\\n            <label style=\\\"font-weight: normal\\\"><strong>Comment</strong></label>\\r\\n            <input\\r\\n              type=\\\"text\\\"\\r\\n              class=\\\"form-control\\\"\\r\\n              [(ngModel)]=\\\"note\\\"\\r\\n              name=\\\"note\\\"\\r\\n            />\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-6\\\">\\r\\n          <div class=\\\"form-group\\\">\\r\\n            <label style=\\\"font-weight: normal\\\"><strong>Floor</strong></label>\\r\\n            <input\\r\\n              type=\\\"text\\\"\\r\\n              class=\\\"form-control\\\"\\r\\n              [(ngModel)]=\\\"floor\\\"\\r\\n              name=\\\"floor\\\"\\r\\n            />\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-6\\\">\\r\\n          <div class=\\\"form-group\\\">\\r\\n            <label style=\\\"font-weight: normal\\\"\\r\\n              ><strong>Entry Code</strong></label\\r\\n            >\\r\\n            <input\\r\\n              type=\\\"text\\\"\\r\\n              class=\\\"form-control\\\"\\r\\n              [(ngModel)]=\\\"entry_code\\\"\\r\\n              name=\\\"entry_code\\\"\\r\\n            />\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n      <div style=\\\"text-align: center\\\">\\r\\n        <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">\\r\\n          {{ button.update | translate }}\\r\\n        </button>\\r\\n      </div>\\r\\n    </modal-footer>\\r\\n  </form>\\r\\n</modal>\\r\\n\\r\\n<modal\\r\\n  keyboard=\\\"false\\\"\\r\\n  backdrop=\\\"static\\\"\\r\\n  cssClass=\\\"modal-xl\\\"\\r\\n  #editAddressModal1\\r\\n>\\r\\n  <form\\r\\n    #modalAddressForm=\\\"ngForm\\\"\\r\\n    (ngSubmit)=\\\"UpdateAddress(modalAddressForm.value)\\\"\\r\\n  >\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n      <h4 class=\\\"modal-title\\\">{{ heading_title.edit_address | translate }}</h4>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n      <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-12\\\">\\r\\n          <div class=\\\"form-group\\\">\\r\\n            <label style=\\\"font-weight: normal\\\"\\r\\n              ><strong>{{ title.address | translate }}</strong></label\\r\\n            >\\r\\n            <input\\r\\n              type=\\\"text\\\"\\r\\n              class=\\\"form-control\\\"\\r\\n              id=\\\"pickup_address\\\"\\r\\n              required\\r\\n            />\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n      <div style=\\\"text-align: center\\\">\\r\\n        <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">\\r\\n          {{ button.update | translate }}\\r\\n        </button>\\r\\n      </div>\\r\\n    </modal-footer>\\r\\n  </form>\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-invoice\\\" #image_modal>\\r\\n  <modal-header [show-close]=\\\"true\\\">\\r\\n    <h4 class=\\\"modal-title\\\">{{ heading_title.image | translate }}</h4>\\r\\n  </modal-header>\\r\\n  <modal-body>\\r\\n    <div class=\\\"row\\\">\\r\\n      <div class=\\\"col-md-12\\\">\\r\\n        <img\\r\\n          style=\\\"width: 100%; height: auto\\\"\\r\\n          [src]=\\\"helper.CONSTANT.IMAGE_BASE_URL + image\\\"\\r\\n        />\\r\\n      </div>\\r\\n    </div>\\r\\n  </modal-body>\\r\\n</modal>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/order_detail/order_detail.component.html\n// module id = 1609\n// module chunks = 0","module.exports = \"<style type=\\\"text/css\\\">\\r\\n    .scrollbar\\r\\n    {\\r\\n        height: 100%;\\r\\n        background: #fff;\\r\\n        overflow-y: auto;\\r\\n    }\\r\\n\\r\\n    .scrollbar::-webkit-scrollbar-track\\r\\n    {\\r\\n        -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);\\r\\n        background-color: #fff;\\r\\n    }\\r\\n\\r\\n    .scrollbar::-webkit-scrollbar\\r\\n    {\\r\\n        width: 3px;\\r\\n        background-color: #222222;\\r\\n    }\\r\\n\\r\\n    .scrollbar::-webkit-scrollbar-thumb\\r\\n    {\\r\\n        background-color: #000000;\\r\\n    }\\r\\n\\r\\n</style>\\r\\n<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n\\r\\n        <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.search | translate}}</label>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"search_field\\\" [(ngModel)]=\\\"search_field\\\" name=\\\"search_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"user_first_name\\\">{{title.filter_user | translate}}</option>\\r\\n                        <option value=\\\"provider_first_name\\\">{{title.filter_provider | translate}}</option>\\r\\n                        <option value=\\\"store_name\\\">{{title.filter_store | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n\\r\\n                        <input type=\\\"text\\\" class=\\\"form-control search_box\\\" [(ngModel)]=\\\"search_value\\\"  name=\\\"search_value\\\">\\r\\n                        <span class=\\\"input-group-addon search_icon\\\"><span class=\\\"fa fa-search\\\"></span></span>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.sort | translate}}</label>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"sort_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"sort_field\\\" [(ngModel)]=\\\"sort_field\\\" name=\\\"sort_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"unique_id\\\">{{title.filter_id}}</option>\\r\\n                        <option value=\\\"user_detail.first_name\\\">{{title.filter_user | translate}}</option>\\r\\n                        <option value=\\\"provider_detail.first_name\\\">{{title.filter_provider | translate}}</option>\\r\\n                        <option value=\\\"store_detail.name\\\">{{title.filter_store | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"sort_orders\\\">\\r\\n\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"sort_order\\\" [(ngModel)]=\\\"sort_order\\\" name=\\\"sort_order\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"1\\\">{{title.ascending | translate}}</option>\\r\\n                        <option value=\\\"-1\\\">{{title.descending | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.date_filter | translate}}</label>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-12 remove_padding\\\">\\r\\n\\r\\n\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n\\r\\n                        <my-date-picker id=\\\"start_date\\\" [options]=\\\"helper.myStartDatePickerOptions\\\" placeholder=\\\"Start Date\\\" [(ngModel)]=\\\"start_date\\\" (dateChanged)=\\\"helper.onStartDateChanged($event)\\\"\\r\\n                                        readonly></my-date-picker>\\r\\n                        <span class=\\\"input-group-addon date_filter_icon\\\">To</span>\\r\\n\\r\\n                        <my-date-picker id=\\\"end_date\\\" [options]=\\\"helper.myEndDatePickerOptions\\\" placeholder=\\\"End Date\\\" [(ngModel)]=\\\"end_date\\\" (dateChanged)=\\\"helper.onEndDateChanged($event)\\\"\\r\\n                                        readonly></my-date-picker>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n<!--            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"order_earning_export_excel()\\\" class=\\\"btn export_excel_btn pull-right\\\" value=\\\"{{button.export_excel | translate}}\\\" >\\r\\n            </div>-->\\r\\n             <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"order_earning_export_csv()\\\" class=\\\"btn export_excel_btn pull-right\\\" value=\\\"{{button.export_excel | translate}}\\\" >\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"order_earning(1)\\\" class=\\\"btn filter_apply_btn pull-right\\\" value=\\\"{{button.apply | translate}}\\\" >\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n<div class=\\\"wrapper wrapper-content content_top_bar_view1 animated fadeInRight \\\">\\r\\n    <div class=\\\"ibox\\\" *ngIf=\\\"order_list.length==0\\\">\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n            <div class=\\\"lable_center\\\" >\\r\\n                <label>No Records</label>\\r\\n            </div>\\r\\n        </div>  \\r\\n    </div> \\r\\n    <div class=\\\"ibox\\\" *ngIf=\\\"order_list.length>0\\\">\\r\\n        <div class=\\\"ibox-title\\\">\\r\\n            <div>\\r\\n                <label>{{title.admin_earn | translate}}({{admin_currency}})</label>\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n            <div class=\\\"table-responsive\\\">\\r\\n                <table class=\\\"table table-striped\\\">\\r\\n                    <thead>\\r\\n                        <tr>\\r\\n                            <th>{{title.total_completed_orders | translate}}</th>\\r\\n                            <th>{{title.admin_earn | translate}}</th>\\r\\n                            <th>{{title.admin_earn_in_wallet | translate}}</th>\\r\\n                            <th>{{title.provider_earn | translate}}</th>\\r\\n                            <th>{{title.store_earn | translate}}</th>\\r\\n                            <th>{{title.store_income_set_in_wallet | translate}}</th>\\r\\n                        </tr>\\r\\n                    </thead>\\r\\n                    <tbody>\\r\\n                        <tr>\\r\\n                            <td>{{order_total.total_completed_orders}}</td>\\r\\n                            <td>{{(order_total.total_admin_earn).toFixed(2)}}</td>\\r\\n                            <td>{{(order_total.admin_earn_wallet).toFixed(2)}}</td>\\r\\n                            <td>{{(order_total.provider_earn).toFixed(2)}}</td>\\r\\n                            <td>{{(order_total.store_earn).toFixed(2)}}</td>\\r\\n                            <td>{{(order_total.store_income_set_in_wallet).toFixed(2)}}</td>\\r\\n\\r\\n                        </tr>\\r\\n                    </tbody>\\r\\n                    <thead>\\r\\n                        <tr>\\r\\n                            <th>{{title.total_order_amount | translate}}</th>\\r\\n                            <th>{{title.admin_earn_in_cash | translate}}</th>\\r\\n                            <th>{{title.admin_earn_in_other | translate}}</th>\\r\\n                            <th>{{title.pay_to_provider | translate}}</th>\\r\\n                            <th>{{title.pay_to_store | translate}}</th>\\r\\n                            <th>{{title.provider_income_set_in_wallet | translate}}</th>\\r\\n                        </tr>\\r\\n                    </thead>\\r\\n                    <tbody>\\r\\n                        <tr>\\r\\n                            <td>{{(order_total.total).toFixed(2)}}</td>\\r\\n                            <td>{{(order_total.cash_payment).toFixed(2)}}</td>\\r\\n                            <td>{{(order_total.card_payment).toFixed(2)}}</td>\\r\\n                            <td>{{(order_total.pay_to_provider).toFixed(2)}}</td>\\r\\n                            <td>{{(order_total.pay_to_store).toFixed(2)}}</td>\\r\\n                            <td>{{(order_total.provider_income_set_in_wallet).toFixed(2)}}</td>\\r\\n                        </tr>\\r\\n                    </tbody>\\r\\n                </table>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"ibox\\\" *ngIf=\\\"order_list.length>0\\\">\\r\\n        <div class=\\\"ibox-content\\\" style=\\\"overflow-x: scroll;\\\">\\r\\n\\r\\n            <table class=\\\"table table-striped\\\">\\r\\n                <thead>\\r\\n                    <tr>\\r\\n                        <th>{{title.ID | translate}}</th>\\r\\n                        <th>{{title.completed_at | translate}}</th>\\r\\n                        <th>{{title.user | translate}}</th>\\r\\n                        <th>{{title.provider | translate}}</th>\\r\\n                        <th>{{title.store | translate}}</th>\\r\\n                        <th>{{title.payment_by | translate}}</th>\\r\\n                        <th>{{title.currency | translate}}</th>\\r\\n                        <th>{{title.total | translate}}</th>\\r\\n                        <th>{{title.admin_earning | translate}}</th>\\r\\n                        <th>{{title.provider_earning | translate}}</th>\\r\\n                        <th>{{title.earning_pay_provider | translate}}</th>\\r\\n                        <th>{{title.provider_income_set_in_wallet | translate}}</th>\\r\\n                        <th>{{title.store_earn | translate}}</th>\\r\\n                        <th>{{title.pay_store | translate}}</th>\\r\\n                        <th>{{title.store_income_set_in_wallet | translate}}</th>\\r\\n\\r\\n                        <th>{{title.action | translate}}</th>\\r\\n                    </tr>\\r\\n                </thead>\\r\\n                <tbody>\\r\\n\\r\\n                    <tr *ngFor=\\\"let order of order_list; let index=index; let last=last;\\\">\\r\\n                        <td>{{order.unique_id}}</td>\\r\\n                        <td>{{order.completed_at| date: DATE_FORMAT.DD_MMM_YYYY}}</td>\\r\\n                        <td>{{order.user_first_name}} {{order.user_last_name}}</td>\\r\\n                        <td><div>{{order.provider_first_name}} {{order.provider_last_name}}</div></td>\\r\\n\\r\\n\\r\\n                        <td>{{order.store_name}}</td>\\r\\n                        <td [ngSwitch]=\\\"order.order_payment_detail.is_payment_mode_cash\\\">\\r\\n                            <div *ngSwitchCase=\\\"true\\\"><span class=\\\"label label-primary_new\\\">{{lable_title.cash}}</span></div>\\r\\n                            <div *ngSwitchCase=\\\"false\\\"><span class=\\\"label label-danger\\\">{{lable_title.card}}</span></div>\\r\\n                        </td>\\r\\n\\r\\n\\r\\n                        <td>{{order.currency}}</td>\\r\\n                        <td>{{((+order.order_payment_detail.total_delivery_price + +order.order_payment_detail.total_order_price).toFixed(2)) }}</td>\\r\\n                        <td>{{((+order.order_payment_detail.total_admin_profit_on_delivery + +order.order_payment_detail.total_admin_profit_on_store).toFixed(2)) }}</td>\\r\\n                        <td>{{order.order_payment_detail.total_provider_income}}</td>\\r\\n                        <td>{{((order.order_payment_detail.pay_to_provider).toFixed(2))}}</td>\\r\\n                        <td>{{order.order_payment_detail.provider_income_set_in_wallet}}</td>\\r\\n                        <td>{{order.order_payment_detail.total_store_income}}</td>\\r\\n                        <td>{{((order.order_payment_detail.pay_to_store).toFixed(2))}}</td>\\r\\n                        <td>{{(order.order_payment_detail.store_income_set_in_wallet).toFixed(2)}}</td>\\r\\n\\r\\n                        <td><div class=\\\"dropdown pull-right\\\" [class.dropup]=\\\"last && !index==0\\\" dropdown>\\r\\n                                <button class=\\\"btn btn-primary\\\" dropdown-open>{{title.action | translate}}<span class=\\\"caret\\\"></span></button>\\r\\n\\r\\n\\r\\n                                <ul class=\\\"dropdown-menu\\\">\\r\\n                                    <li><a (click)=\\\"viewOrderEarningDetail(order._id)\\\"><span style=\\\"display:block;\\\" class=\\\"nav-label\\\">{{button.view_detail | translate}}</span> </a></li>\\r\\n                                </ul>\\r\\n                            </div>\\r\\n                        </td>\\r\\n\\r\\n                    </tr>\\r\\n                </tbody>\\r\\n            </table>\\r\\n            <!--            <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                            <div class=\\\"lable_center\\\">\\r\\n            \\r\\n                                <ul class=\\\"pagination\\\">\\r\\n                                    <li *ngIf=\\\"page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"order_earning(page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                                    <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page==index\\\">\\r\\n                                        <a *ngIf=\\\"index==1 || index==total_page || index==page || index==page-1 || index==page+1\\\" (click)=\\\"order_earning(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                                        <a *ngIf=\\\"(index==1 && (page!==1 && page!==2 && page!==3)) || (index==total_page-1 && (page!==total_page && page!==total_page-1 && page!==total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n            \\r\\n                                    </li>\\r\\n                                    <li *ngIf=\\\"page!==total_page && order_list.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"order_earning(page+1)\\\">{{button.next | translate}}</a></li>\\r\\n                                </ul>\\r\\n                            </div>\\r\\n                        </div>-->\\r\\n\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n        <div class=\\\"lable_center\\\">\\r\\n\\r\\n            <ul class=\\\"pagination\\\">\\r\\n                <li *ngIf=\\\"page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"order_earning(page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page==index\\\">\\r\\n                    <a *ngIf=\\\"index==1 || index==total_page || index==page || index==page-1 || index==page+1\\\" (click)=\\\"order_earning(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                    <a *ngIf=\\\"(index==1 && (page!==1 && page!==2 && page!==3)) || (index==total_page-1 && (page!==total_page && page!==total_page-1 && page!==total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n\\r\\n                </li>\\r\\n                <li *ngIf=\\\"page!==total_page && order_list.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"order_earning(page+1)\\\">{{button.next | translate}}</a></li>\\r\\n            </ul>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n</div>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/order_earning/order_earning.component.html\n// module id = 1610\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n<div id=\\\"legend\\\" style=\\\"left:100px;\\\">\\r\\n    <button *ngIf=\\\"trafficLayer\\\" class=\\\"btn\\\" (click)=\\\"show_traffic()\\\" style=\\\"margin-top: 10px;background: #fff;color: black;font-weight: bold;font-size: 18px;\\\">Traffic</button>\\r\\n    <button *ngIf=\\\"!trafficLayer\\\" class=\\\"btn\\\" (click)=\\\"show_traffic()\\\" style=\\\"    background: #fff;\\r\\n    margin-top: 10px;\\r\\n    font-size: 18px;\\r\\n    color: rgb(86, 86, 86);\\\">Traffic</button>\\r\\n</div>\\r\\n\\r\\n<div class=\\\"wrapper-content animated fadeInRight\\\" style=\\\"padding: 0px; padding-top: 60px;\\\">\\r\\n    <div class=\\\"ibox\\\" style=\\\"margin-top: 0px !important;z-index: 10;margin-left: -16px;\\r\\n    margin-right: -16px;\\r\\n    margin-top: 0 !important;\\\">\\r\\n        <div class=\\\"ibox-content\\\" >\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n\\r\\n                    <div class=\\\"col-md-3 col-sm-3\\\">\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <select placeholder=\\\"Select Order\\\" chosen class=\\\"chosen-select\\\" id=\\\"order\\\" [(ngModel)]=\\\"order_id\\\" name=\\\"order_id\\\" tabindex=\\\"4\\\">\\r\\n                                <option *ngFor=\\\"let i of order_list\\\" value=\\\"{{i._id}}\\\">\\r\\n                                    {{i.unique_id}}\\r\\n                                </option>\\r\\n                            </select>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"col-md-2 col-sm-3\\\">\\r\\n                        <span>Online Deliveryman - {{total_online_hopper}}</span><br>\\r\\n                        <span>Free Deliveryman - {{total_free_hopper}}</span><br>\\r\\n                        <span>in Delivery Deliveryman - {{total_in_delivery_hopper}}</span><br>\\r\\n                    </div>\\r\\n\\r\\n                    <div *ngIf=\\\"order_detail\\\" class=\\\"col-md-2 col-sm-3\\\">\\r\\n                        <span *ngIf=\\\"order_detail.provider_id\\\">Assigned\\r\\n                            <span> - {{get_provider_info(order_detail.provider_id)}}</span>\\r\\n                            <br>\\r\\n                            <span *ngIf=\\\"order_detail.delivery_status < helper.ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\\\">\\r\\n                                Time To Arrive at Store - {{get_provider_distance_to_store(order_detail.provider_id, 'distance_to_store')}} min\\r\\n                            </span>\\r\\n                            <span *ngIf=\\\"order_detail.delivery_status >= helper.ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\\\">\\r\\n                                Time To Arrive at User - {{get_provider_distance_to_store(order_detail.provider_id, 'distance_to_first_user')}} min\\r\\n                            </span>\\r\\n                        </span>\\r\\n                        <span *ngIf=\\\"!order_detail.provider_id\\\">Not Assigned</span>\\r\\n                    </div>\\r\\n\\r\\n                    <div *ngIf=\\\"order_detail\\\" class=\\\"col-md-2 col-sm-3\\\">\\r\\n                        <span>Car - {{order_detail.total_distance.toFixed(0)}} km | {{order_detail.total_time.toFixed(0)}} min</span><br>\\r\\n                        <span *ngIf=\\\"order_detail.user_to_store_bicycle_distance\\\">Bicycle - {{order_detail.user_to_store_bicycle_distance.toFixed(0)}} km | {{order_detail.user_to_store_bicycle_time.toFixed(0)}} min</span>\\r\\n                    </div>\\r\\n\\r\\n                    <div *ngIf=\\\"order_detail\\\" class=\\\"col-md-2 col-sm-3\\\">\\r\\n                        <span>HP - {{order_detail.estimated_time_for_ready_order | date: 'HH:mm'}} ({{order_detail.ready_time_diff.toFixed(0)}} min)</span><br>\\r\\n                        <span>HL - {{order_detail.estimated_time_for_delivery_order | date: 'HH:mm'}} ({{order_detail.delivery_time_diff.toFixed(0)}} min)</span>\\r\\n                    </div>\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n    <div style=\\\"margin-left: -16px;margin-right: -16px;\\\">\\r\\n        <div id=\\\"map\\\" style=\\\"height: calc(100vh - 195px);\\\"></div>\\r\\n    </div>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/order_track/order_track.component.html\n// module id = 1611\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.search | translate}}</label>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"search_field\\\" [(ngModel)]=\\\"search_field\\\" name=\\\"search_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"unique_id\\\">{{title.filter_id | translate}}</option> \\r\\n                        <option value=\\\"user_detail.first_name\\\">{{title.filter_user | translate}}</option>\\r\\n                        <option value=\\\"store_detail.name\\\">{{title.filter_store | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n\\r\\n                        <input type=\\\"text\\\" class=\\\"form-control search_box\\\" [(ngModel)]=\\\"search_value\\\"  name=\\\"search_value\\\">\\r\\n                        <span class=\\\"input-group-addon search_icon\\\"><span class=\\\"fa fa-search\\\"></span></span>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.sort | translate}}</label>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"sort_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"sort_field\\\" [(ngModel)]=\\\"sort_field\\\" name=\\\"sort_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"unique_id\\\">{{title.filter_id | translate}}</option>\\r\\n                        <option value=\\\"user_detail.first_name\\\">{{title.filter_user | translate}}</option>\\r\\n                        <option value=\\\"store_detail.name\\\">{{title.filter_store | translate}}</option>\\r\\n\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"sort_orders\\\">\\r\\n\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"sort_order\\\" [(ngModel)]=\\\"sort_order\\\" name=\\\"sort_order\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"1\\\">{{title.ascending | translate}}</option>\\r\\n                        <option value=\\\"-1\\\">{{title.descending | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n<!--            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"today_order_export_excel()\\\" class=\\\"btn export_excel_btn pull-right\\\" value=\\\"{{button.export_excel | translate}}\\\" >\\r\\n            </div>-->\\r\\n            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"today_order_export_csv()\\\" class=\\\"btn export_excel_btn pull-right\\\" value=\\\"{{button.export_excel | translate}}\\\" >\\r\\n            </div>\\r\\n            \\r\\n            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"filter(1)\\\" class=\\\"btn filter_apply_btn pull-right\\\" value=\\\"{{button.apply | translate}}\\\" >\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n    </div>\\r\\n\\r\\n</div>\\r\\n\\r\\n<div class=\\\"wrapper wrapper-content content_top_bar_view1 animated fadeInRight \\\">\\r\\n    <div class=\\\"ibox\\\" *ngIf=\\\"order_list.length==0\\\">\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n            <div class=\\\"lable_center\\\" >\\r\\n                <label>No Records</label>\\r\\n            </div>\\r\\n        </div>  \\r\\n    </div>  \\r\\n    <div class=\\\"ibox\\\" *ngIf=\\\"order_list.length>0\\\">\\r\\n        <!--        <div class=\\\"ibox-title\\\">\\r\\n                    <h5>{{heading_title.order_list | translate}}</h5>\\r\\n        \\r\\n                </div>-->\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n            <div class=\\\"table-responsive\\\">\\r\\n                <table class=\\\"table table-striped\\\">\\r\\n                    <thead class=\\\"ibox-title\\\">\\r\\n                        <tr>\\r\\n                            <th>{{title.ID | translate}}</th>\\r\\n                            <th>{{title.order_start_at | translate}}</th>\\r\\n                            <th>{{title.user | translate}}</th>\\r\\n                            <th>{{title.store | translate}}</th>\\r\\n                            <th>{{title.city | translate}}</th>\\r\\n                            <th>{{title.status | translate}}</th>\\r\\n                            <th>{{title.amount | translate}}</th>\\r\\n                            <th>{{title.payment_by | translate}}</th>\\r\\n                            <!--<th>{{title.date | translate}}</th>-->\\r\\n                            <!--<th>{{title.delivery_at | translate}}</th>-->\\r\\n                            <th>{{title.action | translate}}</th>\\r\\n                        </tr>\\r\\n                    </thead>\\r\\n                    <tbody>\\r\\n                        <tr *ngFor=\\\"let order of order_list; let index=index; let last=last;\\\">\\r\\n                            <td>{{order.unique_id}}</td>\\r\\n                            <td *ngIf=\\\"order.is_schedule_order==false\\\">{{order.created_at | date: DATE_FORMAT.DD_MMM_YYYY_HH_MM_A}}</td>\\r\\n                            <td *ngIf=\\\"order.is_schedule_order==true && order.schedule_order_start_at !==null\\\">{{order.schedule_order_start_at | date: DATE_FORMAT.DD_MMM_YYYY_HH_MM_A}}</td>\\r\\n                            <td>{{order.user_detail.first_name}} {{order.user_detail.last_name}} ({{order.user_detail.unique_id}})</td>\\r\\n                            <td>{{order.store_detail.name}} ({{order.store_detail.unique_id}})</td>\\r\\n                            <td>{{order.city_detail.city_name}}</td>\\r\\n                            <td [ngSwitch]=\\\"order.order_status\\\">\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.WAITING_FOR_ACCEPT_STORE\\\" (click)=\\\"orderStatus(ORDER_STATE.STORE_ACCEPTED, order_detail.store_id, order_detail._id, order_detail.order_type)\\\"><span class=\\\"label label-info_new\\\">{{status.waiting_for_accept1 | translate}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.STORE_ACCEPTED\\\" (click)=\\\"orderStatus(ORDER_STATE.STORE_PREPARING_ORDER, order_detail.store_id, order_detail._id, order_detail.order_type)\\\"><span class=\\\"label label-primary_new\\\">{{status.accepted1 | translate}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.STORE_PREPARING_ORDER\\\" (click)=\\\"orderStatus(ORDER_STATE.OREDER_READY, order_detail.store_id, order_detail._id, order_detail.order_type)\\\"><span class=\\\"label label-primary_new\\\">{{status.start_preparing_order1 | translate}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.OREDER_READY\\\"><span class=\\\"label label-primary_new\\\">{{status.order_ready1 | translate}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.WAITING_FOR_DELIVERY_MAN\\\"><span class=\\\"label label-info_new\\\">{{status.waiting_for_delivery_man1 | translate}}</span></div>\\r\\n\\r\\n                                <!--<div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_ACCEPTED\\\"><span class=\\\"label label-primary_new\\\">{{status.delivery_man_accepted}}</span></div>-->\\r\\n                                <!--<div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_COMING\\\"><span class=\\\"label label-info_new\\\">{{status.delivery_man_coming}}</span></div>-->\\r\\n                                <!--<div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_ARRIVED\\\"><span class=\\\"label label-info_new\\\">{{status.delivery_man_arrived}}</span></div>-->\\r\\n                                <!--<div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\\\"><span class=\\\"label label-info_new\\\">{{status.picked_order}}</span></div>-->\\r\\n                                <!--<div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_STARTED_DELIVERY\\\"><span class=\\\"label label-info_new\\\">{{status.started_for_delivery}}</span></div>-->\\r\\n                                <!--<div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_ARRIVED_AT_DESTINATION\\\"><span class=\\\"label label-info_new\\\">{{status.arrived_at_destination}}</span></div>-->\\r\\n                                <!--<div *ngSwitchCase=\\\"ORDER_STATE.ORDER_COMPLETED\\\"><span class=\\\"label label-primary_new\\\">{{status.delivered_ordered}}</span></div>-->\\r\\n                                <!--<div *ngSwitchCase=\\\"ORDER_STATE.STORE_CANCELLED_REQUEST\\\"><span class=\\\"label label-primary_new\\\">{{status.store_cancelled_request}}</span></div>-->\\r\\n\\r\\n                                <!--<div *ngSwitchCase=\\\"ORDER_STATE.STORE_REJECTED\\\"><span class=\\\"label label-danger\\\">{{status.rejected}}</span></div>-->\\r\\n                                <!--<div *ngSwitchCase=\\\"ORDER_STATE.STORE_CANCELLED\\\"><span class=\\\"label label-danger\\\">{{status.cancelled}}</span></div>-->\\r\\n                                <!--<div *ngSwitchCase=\\\"ORDER_STATE.NO_DELIVERY_MAN_FOUND\\\"><span class=\\\"label label-danger\\\">{{status.no_delivery_man_found}}</span></div>-->\\r\\n                                <!--<div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_REJECTED\\\"><span class=\\\"label label-danger\\\">{{status.delivery_man_rejected}}</span></div>-->\\r\\n                                <!--<div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_CANCELLED\\\"><span class=\\\"label label-danger\\\">{{status.delivery_man_cancelled}}</span></div>-->\\r\\n                                <!--<div *ngSwitchCase=\\\"ORDER_STATE.CANCELED_BY_USER\\\"><span class=\\\"label label-danger\\\">{{status.user_cancelled}}</span></div>-->\\r\\n                            </td>\\r\\n                            <td>{{((+order.order_payment_detail.total_delivery_price + +order.order_payment_detail.total_order_price).toFixed(2)) }}</td>\\r\\n<!--                            <td [ngSwitch]=\\\"order.order_payment_detail.is_payment_mode_cash\\\">\\r\\n                                <div *ngSwitchCase=\\\"true\\\"><span class=\\\"label label-primary_new\\\">{{lable_title.cash}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"false\\\"><span class=\\\"label label-danger\\\" *ngIf=\\\"order.payment_gateway_detail.length >0\\\">{{order.payment_gateway_detail[0].name}}</span></div>\\r\\n                            </td>-->\\r\\n\\r\\n                           <td [ngSwitch]=\\\"order.order_payment_detail.is_payment_mode_cash\\\">\\r\\n                                <div *ngIf=\\\"order.order_payment_detail.is_paid_from_wallet\\\">\\r\\n                                    <span class=\\\"label label-success\\\">{{title.wallet | translate}}</span>\\r\\n                                </div>\\r\\n                                <div *ngIf=\\\"!order.order_payment_detail.is_paid_from_wallet\\\">\\r\\n                                    <div *ngSwitchCase=\\\"true\\\"><span class=\\\"label label-primary_new\\\">{{lable_title.cash}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"false\\\"><span class=\\\"label label-danger\\\" *ngIf=\\\"order.payment_gateway_detail.length >0\\\">{{order.payment_gateway_detail[0].name}} </span></div>\\r\\n                                </div>\\r\\n                             </td>\\r\\n\\r\\n                            <!--<td>{{order.created_at| date: DATE_FORMAT.DD_MMM_YYYY}}</td>-->\\r\\n                            <!--                            <td>{{order.delivered_at| date: DATE_FORMAT.DD_MMM_YYYY_HH_MM_A}}</td>-->\\r\\n                            <!--<td *ngIf=\\\"order.completed_at!=null\\\">{{moment(order.completed_at).tz(timezone).format('DD MMM YYYY HH:mm:ss')}}</td>-->\\r\\n                            <!--<td *ngIf=\\\"order.completed_at==null\\\">No Date</td>-->\\r\\n\\r\\n                            <td><div class=\\\"dropdown pull-right\\\" [class.dropup]=\\\"last && !index==0\\\" dropdown>\\r\\n                                    <button class=\\\"btn btn-primary\\\" dropdown-open>{{title.action | translate}}<span class=\\\"caret\\\"></span></button>\\r\\n\\r\\n\\r\\n                                    <ul class=\\\"dropdown-menu\\\">\\r\\n                                        <li><a (click)=\\\"vieworder_detail(order._id)\\\"  ><span style=\\\"display:block;\\\" class=\\\"nav-label\\\">{{button.view_detail | translate}}</span> </a></li>\\r\\n                                    </ul>\\r\\n                                </div>\\r\\n                            </td>\\r\\n                        </tr>\\r\\n                    </tbody>\\r\\n                </table>\\r\\n            </div>\\r\\n\\r\\n\\r\\n\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"col-md-12 col-sm-12\\\" style=\\\"margin-top: 6px;\\\">\\r\\n        <div class=\\\"lable_center\\\">\\r\\n\\r\\n            <ul class=\\\"pagination\\\">\\r\\n                <li *ngIf=\\\"page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"filter(page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page==index\\\">\\r\\n                    <a *ngIf=\\\"index==1 || index==total_page || index==page || index==page-1 || index==page+1\\\" (click)=\\\"filter(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                    <a *ngIf=\\\"(index==1 && (page!==1 && page!==2 && page!==3)) || (index==total_page-1 && (page!==total_page && page!==total_page-1 && page!==total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n\\r\\n                </li>\\r\\n                <li *ngIf=\\\"page!==total_page && order_list.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"filter(page+1)\\\">{{button.next | translate}}</a></li>\\r\\n            </ul>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n\\r\\n\\r\\n</div>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/orders/orders.component.html\n// module id = 1612\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n<form #appswitchsettingForm=\\\"ngForm\\\" (ngSubmit)=\\\"AppSwitchSetting(appswitchsettingForm.value)\\\" >\\r\\n    <div class=\\\"wrapper wrapper-content animated fadeInRight\\\">\\r\\n\\r\\n        <div class=\\\"row\\\">\\r\\n\\r\\n            <div class=\\\"col-lg-12\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <label class=\\\"control-label\\\">{{heading_title.other_setting | translate}}</label>  \\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n\\r\\n                            <div class=\\\"col-lg-4 form-group\\\">\\r\\n                                <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.sms_notification | translate}}</label>  \\r\\n\\r\\n                                <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch [(ngModel)]=\\\"app_switch_setting.is_sms_notification\\\" #is_sms_notification=\\\"ngModel\\\" name=\\\"is_sms_notification\\\"></ui-switch>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-lg-4  form-group\\\">\\r\\n                                <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.mail_notification | translate}}</label>  \\r\\n\\r\\n                                <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch [(ngModel)]=\\\"app_switch_setting.is_mail_notification\\\" #is_mail_notification=\\\"ngModel\\\" name=\\\"is_mail_notification\\\"></ui-switch>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-lg-4  form-group\\\">\\r\\n                                <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.push_notification | translate}}</label>  \\r\\n\\r\\n                                <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch [(ngModel)]=\\\"app_switch_setting.is_push_notification\\\" #is_push_notification=\\\"ngModel\\\" name=\\\"is_push_notification\\\"></ui-switch>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n                        </div>\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-lg-4 form-group\\\">\\r\\n                                <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.pickup_delivery_confirmation_code | translate}}</label>  \\r\\n\\r\\n                                <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch [(ngModel)]=\\\"app_switch_setting.is_confirmation_code_required_at_pickup_delivery\\\" #is_confirmation_code_required_at_pickup_delivery=\\\"ngModel\\\" name=\\\"is_confirmation_code_required_at_pickup_delivery\\\"></ui-switch>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            \\r\\n                            <div class=\\\"col-lg-4 form-group\\\">\\r\\n                                <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.complete_delivery_confirmation_code | translate}}</label>  \\r\\n\\r\\n                                <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch [(ngModel)]=\\\"app_switch_setting.is_confirmation_code_required_at_complete_delivery\\\" #is_confirmation_code_required_at_complete_delivery=\\\"ngModel\\\" name=\\\"is_confirmation_code_required_at_complete_delivery\\\"></ui-switch>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-lg-4 form-group\\\">\\r\\n                                <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.is_busy | translate}}</label>  \\r\\n                                <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch [(ngModel)]=\\\"app_switch_setting.is_busy\\\" #is_busy=\\\"ngModel\\\" name=\\\"is_busy\\\"></ui-switch>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-lg-4 col-sm-6\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <label class=\\\"control-label\\\">{{heading_title.user_app | translate}}</label>  \\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.login_by_email | translate}}</label>  \\r\\n\\r\\n                                <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch (change)=\\\"onChange($event, 'email')\\\" [(ngModel)]=\\\"app_switch_setting.is_user_login_by_email\\\" #is_user_login_by_email=\\\"ngModel\\\" name=\\\"is_user_login_by_email\\\"></ui-switch>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.login_by_phone | translate}}</label>  \\r\\n\\r\\n                                <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch (change)=\\\"onChange($event, 'phone')\\\" [(ngModel)]=\\\"app_switch_setting.is_user_login_by_phone\\\" #is_user_login_by_phone=\\\"ngModel\\\" name=\\\"is_user_login_by_phone\\\"></ui-switch>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>  \\r\\n\\r\\n                    </div>   \\r\\n\\r\\n                </div>  \\r\\n            </div> \\r\\n\\r\\n            <div class=\\\"col-lg-4 col-sm-6\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <label class=\\\"control-label\\\">{{heading_title.provider_app | translate}}</label>  \\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.login_by_email | translate}}</label>  \\r\\n\\r\\n                                <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch (change)=\\\"providerOnChange($event, 'email')\\\" [(ngModel)]=\\\"app_switch_setting.is_provider_login_by_email\\\" #is_provider_login_by_email=\\\"ngModel\\\" name=\\\"is_provider_login_by_email\\\"></ui-switch>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.login_by_phone | translate}}</label>  \\r\\n\\r\\n                                <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch (change)=\\\"providerOnChange($event, 'phone')\\\" [(ngModel)]=\\\"app_switch_setting.is_provider_login_by_phone\\\" #is_provider_login_by_phone=\\\"ngModel\\\" name=\\\"is_provider_login_by_phone\\\"></ui-switch>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>  \\r\\n\\r\\n                    </div>   \\r\\n\\r\\n                </div>  \\r\\n            </div> \\r\\n\\r\\n\\r\\n            <div class=\\\"col-lg-4 col-sm-6\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <label class=\\\"control-label\\\">{{heading_title.store_app | translate}}</label>  \\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.login_by_email | translate}}</label>  \\r\\n\\r\\n                                <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch (change)=\\\"storeOnChange($event, 'email')\\\" [(ngModel)]=\\\"app_switch_setting.is_store_login_by_email\\\" #is_store_login_by_email=\\\"ngModel\\\" name=\\\"is_store_login_by_email\\\"></ui-switch>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.login_by_phone | translate}}</label>  \\r\\n\\r\\n                                <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch (change)=\\\"storeOnChange($event, 'phone')\\\" [(ngModel)]=\\\"app_switch_setting.is_store_login_by_phone\\\" #is_store_login_by_phone=\\\"ngModel\\\" name=\\\"is_store_login_by_phone\\\"></ui-switch>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>  \\r\\n\\r\\n                    </div>   \\r\\n\\r\\n                </div>  \\r\\n            </div> \\r\\n\\r\\n\\r\\n        </div>   \\r\\n\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-lg-4 col-sm-6\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <label class=\\\"control-label\\\">{{heading_title.user_app | translate}}</label>  \\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.login_by_social | translate}}</label>  \\r\\n\\r\\n                                <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch [(ngModel)]=\\\"app_switch_setting.is_user_login_by_social\\\" #is_user_login_by_social=\\\"ngModel\\\" name=\\\"is_user_login_by_social\\\"></ui-switch>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.use_referral | translate}}</label>  \\r\\n\\r\\n                                <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch [(ngModel)]=\\\"app_switch_setting.is_referral_to_user\\\" #is_referral_to_user=\\\"ngModel\\\" name=\\\"is_referral_to_user\\\"></ui-switch>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.verify_email | translate}}</label>  \\r\\n\\r\\n                                <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch   [(ngModel)]=\\\"app_switch_setting.is_user_mail_verification\\\" #is_user_mail_verification=\\\"ngModel\\\" name=\\\"is_user_mail_verification\\\"></ui-switch>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.verify_phone | translate}}</label>  \\r\\n\\r\\n                                <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch  [(ngModel)]=\\\"app_switch_setting.is_user_sms_verification\\\" #is_user_sms_verification=\\\"ngModel\\\" name=\\\"is_user_sms_verification\\\"></ui-switch>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.upload_documents | translate}}</label>  \\r\\n\\r\\n                                <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch [(ngModel)]=\\\"app_switch_setting.is_upload_user_documents\\\" #is_upload_user_documents=\\\"ngModel\\\" name=\\\"is_upload_user_documents\\\"></ui-switch>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n                           \\r\\n\\r\\n\\r\\n\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.profile_picture_required | translate}}</label>  \\r\\n\\r\\n                                <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch [(ngModel)]=\\\"app_switch_setting.is_user_profile_picture_required\\\" #is_user_profile_picture_required=\\\"ngModel\\\" name=\\\"is_user_profile_picture_required\\\"></ui-switch>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.show_optional_field | translate}}</label>  \\r\\n\\r\\n                                <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch [(ngModel)]=\\\"app_switch_setting.is_show_optional_field_in_user_register\\\" #is_show_optional_field_in_user_register=\\\"ngModel\\\" name=\\\"is_show_optional_field_in_user_register\\\"></ui-switch>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            \\r\\n                            \\r\\n                            \\r\\n<!--                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.email_id_required | translate}}</label>  \\r\\n\\r\\n                                <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch [disabled]=\\\"app_switch_setting.is_user_mail_verification==true\\\" [(ngModel)]=\\\"app_switch_setting.is_email_id_field_required_in_user_register\\\" #is_email_id_field_required_in_user_register=\\\"ngModel\\\" name=\\\"is_email_id_field_required_in_user_register\\\" disabled></ui-switch>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            \\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.phone_required | translate}}</label>  \\r\\n\\r\\n                                <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch [disabled]=\\\"app_switch_setting.is_user_sms_verification==true\\\" [(ngModel)]=\\\"app_switch_setting.is_phone_field_required_in_user_register\\\" #is_phone_field_required_in_user_register=\\\"ngModel\\\" name=\\\"is_phone_field_required_in_user_register\\\"></ui-switch>\\r\\n\\r\\n                                </div>\\r\\n                            </div>-->\\r\\n\\r\\n\\r\\n\\r\\n                            \\r\\n\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-9 col-xs-9 control-label\\\"></label>  \\r\\n\\r\\n                                <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-9 col-xs-9 control-label\\\"></label>  \\r\\n\\r\\n                                <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-lg-4 col-sm-6\\\" >\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <label class=\\\"control-label\\\">{{heading_title.provider_app | translate}}</label>  \\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content wizard\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.login_by_social | translate}}</label>  \\r\\n\\r\\n                                <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch [(ngModel)]=\\\"app_switch_setting.is_provider_login_by_social\\\" #is_provider_login_by_social=\\\"ngModel\\\" name=\\\"is_provider_login_by_social\\\"></ui-switch>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.use_referral | translate}}</label>  \\r\\n\\r\\n                                <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch [(ngModel)]=\\\"app_switch_setting.is_referral_to_provider\\\" #is_referral_to_provider=\\\"ngModel\\\" name=\\\"is_referral_to_provider\\\"></ui-switch>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.verify_email | translate}}</label>  \\r\\n\\r\\n                                <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch  [(ngModel)]=\\\"app_switch_setting.is_provider_mail_verification\\\" #is_provider_mail_verification=\\\"ngModel\\\" name=\\\"is_provider_mail_verification\\\"></ui-switch>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.verify_phone | translate}}</label>  \\r\\n\\r\\n                                <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch  [(ngModel)]=\\\"app_switch_setting.is_provider_sms_verification\\\" #is_provider_sms_verification=\\\"ngModel\\\" name=\\\"is_provider_sms_verification\\\"></ui-switch>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.upload_documents | translate}}</label>  \\r\\n\\r\\n                                <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch [(ngModel)]=\\\"app_switch_setting.is_upload_provider_documents\\\" #is_upload_provider_documents=\\\"ngModel\\\" name=\\\"is_upload_provider_documents\\\"></ui-switch>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.profile_picture_required | translate}}</label>  \\r\\n\\r\\n                                <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch [(ngModel)]=\\\"app_switch_setting.is_provider_profile_picture_required\\\" #is_provider_profile_picture_required=\\\"ngModel\\\" name=\\\"is_provider_profile_picture_required\\\"></ui-switch>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.show_optional_field | translate}}</label>  \\r\\n\\r\\n                                <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch [(ngModel)]=\\\"app_switch_setting.is_show_optional_field_in_provider_register\\\" #is_show_optional_field_in_provider_register=\\\"ngModel\\\" name=\\\"is_show_optional_field_in_provider_register\\\"></ui-switch>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            \\r\\n                            \\r\\n                            \\r\\n                            \\r\\n<!--                              <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.email_id_required | translate}}</label>  \\r\\n\\r\\n                                <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch [disabled]=\\\"app_switch_setting.is_provider_mail_verification==true\\\" [(ngModel)]=\\\"app_switch_setting.is_email_id_field_required_in_provider_register\\\" #is_email_id_field_required_in_provider_register=\\\"ngModel\\\" name=\\\"is_email_id_field_required_in_provider_register\\\"></ui-switch>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            \\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.phone_required | translate}}</label>  \\r\\n\\r\\n                                <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch [disabled]=\\\"app_switch_setting.is_provider_sms_verification==true\\\" [(ngModel)]=\\\"app_switch_setting.is_phone_field_required_in_provider_register\\\" #is_phone_field_required_in_provider_register=\\\"ngModel\\\" name=\\\"is_phone_field_required_in_provider_register\\\"></ui-switch>\\r\\n\\r\\n                                </div>\\r\\n                            </div>-->\\r\\n                            \\r\\n                            \\r\\n                            \\r\\n                            \\r\\n                            \\r\\n\\r\\n\\r\\n                            \\r\\n\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.earning_add_in_wallet_using_cash | translate}}</label>  \\r\\n\\r\\n                                <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch [(ngModel)]=\\\"app_switch_setting.is_provider_earning_add_in_wallet_on_cash_payment\\\" #is_provider_earning_add_in_wallet_on_cash_payment=\\\"ngModel\\\" name=\\\"is_provider_earning_add_in_wallet_on_cash_payment\\\"></ui-switch>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.earning_add_in_wallet_using_other | translate}}</label>  \\r\\n\\r\\n                                <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch [(ngModel)]=\\\"app_switch_setting.is_provider_earning_add_in_wallet_on_other_payment\\\" #is_provider_earning_add_in_wallet_on_other_payment=\\\"ngModel\\\" name=\\\"is_provider_earning_add_in_wallet_on_other_payment\\\"></ui-switch>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n\\r\\n            </div>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n            <div class=\\\"col-lg-4 col-sm-6\\\" >\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <label class=\\\"control-label\\\">{{heading_title.store_app | translate}}</label>  \\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content wizard\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.login_by_social | translate}}</label>  \\r\\n\\r\\n                                <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch [(ngModel)]=\\\"app_switch_setting.is_store_login_by_social\\\" #is_store_login_by_social=\\\"ngModel\\\" name=\\\"is_store_login_by_social\\\"></ui-switch>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.use_referral | translate}}</label>  \\r\\n\\r\\n                                <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch [(ngModel)]=\\\"app_switch_setting.is_referral_to_store\\\" #is_referral_to_store=\\\"ngModel\\\" name=\\\"is_referral_to_store\\\"></ui-switch>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.verify_email | translate}}</label>  \\r\\n\\r\\n                                <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch  [(ngModel)]=\\\"app_switch_setting.is_store_mail_verification\\\" #is_store_mail_verification=\\\"ngModel\\\" name=\\\"is_store_mail_verification\\\"></ui-switch>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.verify_phone | translate}}</label>  \\r\\n\\r\\n                                <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch  [(ngModel)]=\\\"app_switch_setting.is_store_sms_verification\\\" #is_store_sms_verification=\\\"ngModel\\\" name=\\\"is_store_sms_verification\\\"></ui-switch>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.upload_documents | translate}}</label>  \\r\\n\\r\\n                                <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch [(ngModel)]=\\\"app_switch_setting.is_upload_store_documents\\\" #is_upload_store_documents=\\\"ngModel\\\" name=\\\"is_upload_store_documents\\\"></ui-switch>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.profile_picture_required | translate}}</label>  \\r\\n\\r\\n                                <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch [(ngModel)]=\\\"app_switch_setting.is_store_profile_picture_required\\\" #is_store_profile_picture_required=\\\"ngModel\\\" name=\\\"is_store_profile_picture_required\\\"></ui-switch>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.show_optional_field | translate}}</label>  \\r\\n\\r\\n                                <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch [(ngModel)]=\\\"app_switch_setting.is_show_optional_field_in_store_register\\\" #is_show_optional_field_in_store_register=\\\"ngModel\\\" name=\\\"is_show_optional_field_in_store_register\\\"></ui-switch>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            \\r\\n                            \\r\\n<!--                             <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.email_id_required | translate}}</label>  \\r\\n\\r\\n                                <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch [disabled]=\\\"app_switch_setting.is_store_mail_verification==true\\\" [(ngModel)]=\\\"app_switch_setting.is_email_id_field_required_in_store_register\\\" #is_email_id_field_required_in_store_register=\\\"ngModel\\\" name=\\\"is_email_id_field_required_in_store_register\\\"></ui-switch>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            \\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.phone_required | translate}}</label>  \\r\\n\\r\\n                                <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch [disabled]=\\\"app_switch_setting.is_store_sms_verification==true\\\" [(ngModel)]=\\\"app_switch_setting.is_phone_field_required_in_store_register\\\" #is_phone_field_required_in_store_register=\\\"ngModel\\\" name=\\\"is_phone_field_required_in_store_register\\\"></ui-switch>\\r\\n\\r\\n                                </div>\\r\\n                            </div>-->\\r\\n                            \\r\\n\\r\\n                           \\r\\n\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.earning_add_in_wallet_using_cash | translate}}</label>  \\r\\n\\r\\n                                <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch [(ngModel)]=\\\"app_switch_setting.is_store_earning_add_in_wallet_on_cash_payment\\\" #is_store_earning_add_in_wallet_on_cash_payment=\\\"ngModel\\\" name=\\\"is_store_earning_add_in_wallet_on_cash_payment\\\"></ui-switch>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.earning_add_in_wallet_using_other | translate}}</label>  \\r\\n\\r\\n                                <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch [(ngModel)]=\\\"app_switch_setting.is_store_earning_add_in_wallet_on_other_payment\\\" #is_store_earning_add_in_wallet_on_other_payment=\\\"ngModel\\\" name=\\\"is_store_earning_add_in_wallet_on_other_payment\\\"></ui-switch>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n            <div class=\\\"col-lg-4\\\">\\r\\n            </div>\\r\\n            <div class=\\\"col-lg-4\\\" style=\\\"text-align: center;\\\">\\r\\n                <input type=\\\"submit\\\" id=\\\"submit\\\" [disabled]=\\\"edit_button==false\\\" name=\\\"submit\\\" style=\\\"width: 50%;\\\" class=\\\"btn btn-primary\\\" value=\\\"{{button.submit | translate}}\\\" >\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n</form>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/other_setting/other_setting.component.html\n// module id = 1613\n// module chunks = 0","module.exports = \"<style type=\\\"text/css\\\">\\r\\n  .scrollbar {\\r\\n    height: 100%;\\r\\n    background: #fff;\\r\\n    overflow-y: auto;\\r\\n  }\\r\\n\\r\\n  .scrollbar::-webkit-scrollbar-track {\\r\\n    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);\\r\\n    background-color: #fff;\\r\\n  }\\r\\n\\r\\n  .scrollbar::-webkit-scrollbar {\\r\\n    width: 3px;\\r\\n    background-color: #222222;\\r\\n  }\\r\\n\\r\\n  .scrollbar::-webkit-scrollbar-thumb {\\r\\n    background-color: #000000;\\r\\n  }\\r\\n</style>\\r\\n<footer [myLoading]=\\\"myLoading\\\"></footer>\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n  <div class=\\\"row\\\">\\r\\n    <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n      <div class=\\\"lable_center\\\">\\r\\n        <label>{{ title.search | translate }}</label>\\r\\n      </div>\\r\\n\\r\\n      <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"search_field\\\"\\r\\n            [(ngModel)]=\\\"search_field\\\"\\r\\n            name=\\\"search_field\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <option value=\\\"unique_id\\\">{{ title.order_id | translate }}</option>\\r\\n            <option value=\\\"store_unique_id\\\">\\r\\n              {{ title.store_id | translate }}\\r\\n            </option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n        <div class=\\\"form-group\\\">\\r\\n          <div class=\\\"input-group\\\">\\r\\n            <input\\r\\n              type=\\\"text\\\"\\r\\n              class=\\\"form-control search_box\\\"\\r\\n              [(ngModel)]=\\\"search_value\\\"\\r\\n              name=\\\"search_value\\\"\\r\\n            />\\r\\n            <span class=\\\"input-group-addon search_icon\\\"\\r\\n              ><span class=\\\"fa fa-search\\\"></span\\r\\n            ></span>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n      <div class=\\\"lable_center\\\">\\r\\n        <label>{{ title.sort | translate }}</label>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n        <div class=\\\"form-group\\\" id=\\\"sort_fields\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"sort_field\\\"\\r\\n            [(ngModel)]=\\\"sort_field\\\"\\r\\n            name=\\\"sort_field\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <option value=\\\"gain\\\">{{ title.price | translate }}</option>\\r\\n            <option value=\\\"bonus\\\">{{ title.bonus | translate }}</option>\\r\\n            <option value=\\\"malus\\\">{{ title.malus | translate }}</option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n        <div class=\\\"form-group\\\" id=\\\"sort_orders\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"sort_order\\\"\\r\\n            [(ngModel)]=\\\"sort_order\\\"\\r\\n            name=\\\"sort_order\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <option value=\\\"1\\\">{{ title.ascending | translate }}</option>\\r\\n            <option value=\\\"-1\\\">{{ title.descending | translate }}</option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n      <div class=\\\"lable_center\\\">\\r\\n        <label>{{ title.date_filter | translate }}</label>\\r\\n      </div>\\r\\n\\r\\n      <!-- <div class=\\\"col-md-12 remove_padding\\\">\\r\\n\\r\\n\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n\\r\\n                        <my-date-picker id=\\\"start_date\\\" [options]=\\\"helper.myStartDatePickerOptions\\\" placeholder=\\\"Start Date\\\" [(ngModel)]=\\\"start_date\\\" (dateChanged)=\\\"helper.onStartDateChanged($event)\\\"\\r\\n                                        readonly></my-date-picker>\\r\\n                        <span class=\\\"input-group-addon date_filter_icon\\\">To</span>\\r\\n\\r\\n                        <my-date-picker id=\\\"end_date\\\" [options]=\\\"helper.myEndDatePickerOptions\\\" placeholder=\\\"End Date\\\" [(ngModel)]=\\\"end_date\\\" (dateChanged)=\\\"helper.onEndDateChanged($event)\\\"\\r\\n                                        readonly></my-date-picker>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div> -->\\r\\n      <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n        <div class=\\\"form-group\\\" id=\\\"sort_fields\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"select_year\\\"\\r\\n            [(ngModel)]=\\\"select_year\\\"\\r\\n            name=\\\"select_year\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <option *ngFor=\\\"let year of year_array\\\" value=\\\"{{ year }}\\\">\\r\\n              {{ year }}\\r\\n            </option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n        <div class=\\\"form-group\\\" id=\\\"sort_orders\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"select_month\\\"\\r\\n            [(ngModel)]=\\\"select_month\\\"\\r\\n            name=\\\"select_month\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <option *ngFor=\\\"let month of month_array\\\" value=\\\"{{ month.value }}\\\">\\r\\n              {{ month.text }}\\r\\n            </option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n    <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n      <div class=\\\"col-md-12 col-sm-12 remove_padding\\\">\\r\\n        <div class=\\\"lable_center\\\">\\r\\n          <label>{{ title.filter | translate }}</label>\\r\\n        </div>\\r\\n        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"filter\\\"\\r\\n            [(ngModel)]=\\\"filter\\\"\\r\\n            name=\\\"filter\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <option value=\\\"1\\\">Chiffre d'affaire</option>\\r\\n            <option value=\\\"2\\\">Notation du Store</option>\\r\\n            <option value=\\\"3\\\">Nombre de commande</option>\\r\\n            <option value=\\\"4\\\">Temps de preparation</option>\\r\\n            <option value=\\\"5\\\">NON SAAS</option>\\r\\n            <option value=\\\"6\\\">SAAS</option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n      <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n        <div class=\\\"lable_center\\\">\\r\\n          <label>{{ title.country | translate }}</label>\\r\\n        </div>\\r\\n        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"country\\\"\\r\\n            [(ngModel)]=\\\"country_id\\\"\\r\\n            name=\\\"country_id\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <option *ngFor=\\\"let i of country_list\\\" value=\\\"{{ i._id }}\\\">\\r\\n              {{ i.country_name }}\\r\\n            </option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n        <div class=\\\"lable_center\\\">\\r\\n          <label>{{ title.city | translate }}</label>\\r\\n        </div>\\r\\n        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"city\\\"\\r\\n            [(ngModel)]=\\\"city_id\\\"\\r\\n            name=\\\"city_id\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <option value=\\\"\\\">All</option>\\r\\n            <option *ngFor=\\\"let i of city_list\\\" value=\\\"{{ i._id }}\\\">\\r\\n              {{ i.city_name }}\\r\\n            </option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n      <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n        <input\\r\\n          type=\\\"button\\\"\\r\\n          (click)=\\\"order_earning_export_csv()\\\"\\r\\n          class=\\\"btn export_excel_btn pull-right\\\"\\r\\n          value=\\\"{{ button.export_excel | translate }}\\\"\\r\\n        />\\r\\n      </div>\\r\\n      <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n        <input\\r\\n          type=\\\"button\\\"\\r\\n          (click)=\\\"order_earning(1)\\\"\\r\\n          class=\\\"btn filter_apply_btn pull-right\\\"\\r\\n          value=\\\"{{ button.apply | translate }}\\\"\\r\\n        />\\r\\n      </div>\\r\\n    </div>\\r\\n    <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n      <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n        <input\\r\\n          type=\\\"button\\\"\\r\\n          (click)=\\\"order_earning_export_csv2()\\\"\\r\\n          class=\\\"btn export_excel_btn pull-right\\\"\\r\\n          value=\\\"{{ button.export_excel | translate }} Detail\\\"\\r\\n        />\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n</div>\\r\\n\\r\\n<div class=\\\"wrapper wrapper-content content_top_bar_view3 animated fadeInRight\\\">\\r\\n  <div class=\\\"ibox\\\" *ngIf=\\\"order_list.length == 0\\\">\\r\\n    <div class=\\\"ibox-content\\\">\\r\\n      <div class=\\\"lable_center\\\">\\r\\n        <label>No Records</label>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n  <div class=\\\"ibox\\\">\\r\\n    <div class=\\\"ibox-content\\\">\\r\\n      <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n          <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n              <h2>{{ order_total.total.toFixed(2) }}</h2>\\r\\n              <label class=\\\"control-label\\\">{{\\r\\n                title.total_gain | translate\\r\\n              }}</label>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n          <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n              <h2>{{ order_total.total_completed_orders }}</h2>\\r\\n              <label class=\\\"control-label\\\">{{\\r\\n                title.total_completed_commande | translate\\r\\n              }}</label>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n          <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n              <h2>{{ order_total.total_panelties.toFixed(2) }}</h2>\\r\\n              <label class=\\\"control-label\\\">{{\\r\\n                title.total_panelties | translate\\r\\n              }}</label>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n          <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n              <h2>{{ order_total.negative_blind_amount.toFixed(2) }}</h2>\\r\\n              <label class=\\\"control-label\\\">{{\\r\\n                title.negative_blind_amount | translate\\r\\n              }}</label>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n          <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n              <h2>{{ order_total.no_of_negative_blind }}</h2>\\r\\n              <label class=\\\"control-label\\\">{{\\r\\n                title.no_of_negative_blind | translate\\r\\n              }}</label>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n          <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n              <h2>{{ order_total.no_of_open_blind }}</h2>\\r\\n              <label class=\\\"control-label\\\">{{\\r\\n                title.no_of_open_blind | translate\\r\\n              }}</label>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n          <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n              <h2>{{ order_total.no_of_saas_blind }}</h2>\\r\\n              <label class=\\\"control-label\\\">{{\\r\\n                title.no_of_saas_blind | translate\\r\\n              }}</label>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n          <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n              <h2>{{ order_total.order_rejected }}</h2>\\r\\n              <label class=\\\"control-label\\\">{{\\r\\n                title.order_rejected | translate\\r\\n              }}</label>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n          <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n              <h2>{{ order_total.total_saas_amount.toFixed(2) }}</h2>\\r\\n              <label class=\\\"control-label\\\">{{\\r\\n                title.total_saas_amount | translate\\r\\n              }}</label>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n        <div\\r\\n          class=\\\"col-lg-2 col-sm-6 set_padding\\\"\\r\\n          (click)=\\\"open_positive_modal()\\\"\\r\\n        >\\r\\n          <div class=\\\"ibox\\\">\\r\\n            <div\\r\\n              class=\\\"ibox-title\\\"\\r\\n              style=\\\"text-align: center; background: #62da62; color: #fff\\\"\\r\\n            >\\r\\n              <h2>Positive</h2>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n        <div\\r\\n          class=\\\"col-lg-2 col-sm-6 set_padding\\\"\\r\\n          (click)=\\\"open_negative_modal()\\\"\\r\\n        >\\r\\n          <div class=\\\"ibox\\\">\\r\\n            <div\\r\\n              class=\\\"ibox-title\\\"\\r\\n              style=\\\"text-align: center; background: #e04c4c; color: #fff\\\"\\r\\n            >\\r\\n              <h2>Negative</h2>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n      <!-- <div class=\\\"table-responsive\\\">\\r\\n                <table class=\\\"table table-striped\\\">\\r\\n                    <thead>\\r\\n                        <tr>\\r\\n                            <th>{{title.total_completed_orders | translate}}</th>\\r\\n                            <th>{{title.admin_earn | translate}}</th>\\r\\n                            <th>{{title.admin_earn_in_wallet | translate}}</th>\\r\\n                            <th>{{title.provider_earn | translate}}</th>\\r\\n                            <th>{{title.store_earn | translate}}</th>\\r\\n                            <th>{{title.store_income_set_in_wallet | translate}}</th>\\r\\n                        </tr>\\r\\n                    </thead>\\r\\n                    <tbody>\\r\\n                        <tr>\\r\\n                            <td>{{order_total.total_completed_orders}}</td>\\r\\n                            <td>{{(order_total.total_admin_earn).toFixed(2)}}</td>\\r\\n                            <td>{{(order_total.admin_earn_wallet).toFixed(2)}}</td>\\r\\n                            <td>{{(order_total.provider_earn).toFixed(2)}}</td>\\r\\n                            <td>{{(order_total.store_earn).toFixed(2)}}</td>\\r\\n                            <td>{{(order_total.store_income_set_in_wallet).toFixed(2)}}</td>\\r\\n\\r\\n                        </tr>\\r\\n                    </tbody>\\r\\n                    <thead>\\r\\n                        <tr>\\r\\n                            <th>{{title.total_order_amount | translate}}</th>\\r\\n                            <th>{{title.admin_earn_in_cash | translate}}</th>\\r\\n                            <th>{{title.admin_earn_in_other | translate}}</th>\\r\\n                            <th>{{title.pay_to_provider | translate}}</th>\\r\\n                            <th>{{title.pay_to_store | translate}}</th>\\r\\n                            <th>{{title.provider_income_set_in_wallet | translate}}</th>\\r\\n                        </tr>\\r\\n                    </thead>\\r\\n                    <tbody>\\r\\n                        <tr>\\r\\n                            <td>{{(order_total.total).toFixed(2)}}</td>\\r\\n                            <td>{{(order_total.cash_payment).toFixed(2)}}</td>\\r\\n                            <td>{{(order_total.card_payment).toFixed(2)}}</td>\\r\\n                            <td>{{(order_total.pay_to_provider).toFixed(2)}}</td>\\r\\n                            <td>{{(order_total.pay_to_store).toFixed(2)}}</td>\\r\\n                            <td>{{(order_total.provider_income_set_in_wallet).toFixed(2)}}</td>\\r\\n                        </tr>\\r\\n                    </tbody>\\r\\n                </table>\\r\\n            </div> -->\\r\\n    </div>\\r\\n  </div>\\r\\n\\r\\n  <div class=\\\"ibox\\\" *ngIf=\\\"order_list.length > 0\\\">\\r\\n    <div class=\\\"ibox-content\\\" style=\\\"overflow-x: scroll\\\">\\r\\n      <table class=\\\"table table-striped\\\">\\r\\n        <thead>\\r\\n          <tr>\\r\\n            <th>{{ title.ID | translate }} {{ title.store | translate }}</th>\\r\\n            <th>{{ title.store_name | translate }}</th>\\r\\n            <th>{{ title.city | translate }}</th>\\r\\n            <th>{{ title.country | translate }}</th>\\r\\n            <th>{{ title.no_of_orders | translate }}</th>\\r\\n            <th>{{ title.delivery | translate }}</th>\\r\\n            <th>{{ title.pickup_cash | translate }}</th>\\r\\n            <th>{{ title.pickup_card | translate }}</th>\\r\\n            <th>{{ title.odh | translate }}</th>\\r\\n            <th>{{ title.orderpay_cash | translate }}</th>\\r\\n            <th>{{ title.orderpay_card | translate }}</th>\\r\\n            <!-- <th>{{title.service_fee | translate}}</th> -->\\r\\n            <th>{{ title.earning_promo | translate }}</th>\\r\\n            <th>{{ title.delivery_offer_price | translate }}</th>\\r\\n            <th>{{ title.service_fee | translate }}</th>\\r\\n            <th>{{ title.bonus | translate }}/{{ title.malus | translate }}</th>\\r\\n            <th>\\r\\n              {{ title.saas_subscription_charge_for_provider | translate }}\\r\\n            </th>\\r\\n\\r\\n            <!-- <th>{{title.gain | translate}}</th>\\r\\n                        <th>{{title.total | translate}}</th>\\r\\n                        <th>{{title.saas | translate}}</th>\\r\\n                        <th>{{title.note | translate}}</th>\\r\\n                        <th>{{title.date_chez | translate}}</th>\\r\\n                        <th>{{title.classment | translate}}</th> -->\\r\\n            <th>{{ title.gain_final | translate }}</th>\\r\\n            <th>{{ title.status | translate }}</th>\\r\\n            <th>{{ title.action | translate }}</th>\\r\\n          </tr>\\r\\n        </thead>\\r\\n        <tbody>\\r\\n          <tr\\r\\n            *ngFor=\\\"let order of order_list; let index = index; let last = last\\\"\\r\\n          >\\r\\n            <td>{{ order.unique_id }}</td>\\r\\n            <td>{{ order.name }}</td>\\r\\n            <td>{{ order.city_name }}</td>\\r\\n            <td>{{ order.country_name }}</td>\\r\\n            <td>{{ order.total_completed_orders }}</td>\\r\\n            <td>{{ order.delivery_total.toFixed(2) }}</td>\\r\\n            <td>{{ order.pickup_cash_total.toFixed(2) }}</td>\\r\\n            <td>{{ order.pickup_card_total.toFixed(2) }}</td>\\r\\n            <td>\\r\\n              -{{\\r\\n                order.delivery_cash_final_total\\r\\n                  ? order.delivery_cash_final_total.toFixed(2)\\r\\n                  : \\\"0.00\\\"\\r\\n              }}\\r\\n            </td>\\r\\n            <td>-{{ order.orderpay_cash_total.toFixed(2) }}</td>\\r\\n            <td>{{ order.orderpay_card_total.toFixed(2) }}</td>\\r\\n            <!-- <td>{{order.service_fee}}</td> -->\\r\\n            <td>-{{ order.promo.toFixed(2) }}</td>\\r\\n            <td>\\r\\n              -{{\\r\\n                order.delivery_offer_price\\r\\n                  ? order.delivery_offer_price.toFixed(2)\\r\\n                  : \\\"0.00\\\"\\r\\n              }}\\r\\n            </td>\\r\\n            <td>{{ order.service_fee.toFixed(2) }}</td>\\r\\n            <td>\\r\\n              {{ (order.bonus ? order.bonus : 0).toFixed(2) }}/{{\\r\\n                (order.malus ? order.malus : 0).toFixed(2)\\r\\n              }}\\r\\n            </td>\\r\\n            <td>\\r\\n              -{{\\r\\n                order.subscription_charge\\r\\n                  ? order.subscription_charge.toFixed(2)\\r\\n                  : 0\\r\\n              }}\\r\\n            </td>\\r\\n\\r\\n            <!-- <td>{{((order.gain).toFixed(2))}}</td>\\r\\n                        <td>{{((order.total).toFixed(2))}}</td>\\r\\n                        \\r\\n                        <td>\\r\\n                            <span *ngIf=\\\"order.is_saas_business\\\">Yes</span>\\r\\n                            <span *ngIf=\\\"!order.is_saas_business\\\">No</span>\\r\\n                        </td>\\r\\n                        <td>{{order.user_rate}}</td>\\r\\n                        <td>{{order.created_at| date: DATE_FORMAT.DD_MMM_YYYY}}</td>\\r\\n                        <td></td> -->\\r\\n            <td>\\r\\n              {{\\r\\n                (\\r\\n                  order.delivery_total -\\r\\n                  (order.delivery_cash_final_total\\r\\n                    ? order.delivery_cash_final_total\\r\\n                    : 0) -\\r\\n                  order.orderpay_cash_total +\\r\\n                  order.service_fee +\\r\\n                  order.orderpay_card_total +\\r\\n                  order.pickup_card_total -\\r\\n                  order.promo -\\r\\n                  (order.delivery_offer_price\\r\\n                    ? order.delivery_offer_price\\r\\n                    : 0) +\\r\\n                  order.bonus -\\r\\n                  order.malus -\\r\\n                  order.subscription_charge\\r\\n                ).toFixed(2)\\r\\n              }}\\r\\n            </td>\\r\\n            <td>\\r\\n              <span\\r\\n                *ngIf=\\\"\\r\\n                  order.delivery_total -\\r\\n                    order.delivery_cash_total +\\r\\n                    order.service_fee +\\r\\n                    order.orderpay_card_total +\\r\\n                    order.pickup_card_total -\\r\\n                    order.promo -\\r\\n                    order.delivery_offer_price +\\r\\n                    order.bonus -\\r\\n                    order.malus -\\r\\n                    order.subscription_charge >=\\r\\n                  0\\r\\n                \\\"\\r\\n                >{{ heading_title.positive | translate }}</span\\r\\n              >\\r\\n              <span\\r\\n                *ngIf=\\\"\\r\\n                  order.delivery_total -\\r\\n                    order.delivery_cash_total +\\r\\n                    order.service_fee +\\r\\n                    order.orderpay_card_total +\\r\\n                    order.pickup_card_total -\\r\\n                    order.promo -\\r\\n                    order.delivery_offer_price +\\r\\n                    order.bonus -\\r\\n                    order.malus -\\r\\n                    order.subscription_charge <\\r\\n                  0\\r\\n                \\\"\\r\\n                >{{ heading_title.negative | translate }}</span\\r\\n              >\\r\\n            </td>\\r\\n            <td>\\r\\n              <div\\r\\n                class=\\\"dropdown\\\"\\r\\n                [class.dropup]=\\\"last && !index == 0\\\"\\r\\n                dropdown\\r\\n              >\\r\\n                <button class=\\\"btn btn-primary\\\" dropdown-open>\\r\\n                  {{ title.action | translate }}<span class=\\\"caret\\\"></span>\\r\\n                </button>\\r\\n\\r\\n                <ul class=\\\"dropdown-menu\\\">\\r\\n                  <li>\\r\\n                    <a (click)=\\\"viewOrderEarningDetail(order._id)\\\"\\r\\n                      ><span style=\\\"display: block\\\" class=\\\"nav-label\\\">{{\\r\\n                        button.view_detail | translate\\r\\n                      }}</span>\\r\\n                    </a>\\r\\n                  </li>\\r\\n                </ul>\\r\\n              </div>\\r\\n            </td>\\r\\n          </tr>\\r\\n        </tbody>\\r\\n      </table>\\r\\n      <!--            <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                            <div class=\\\"lable_center\\\">\\r\\n            \\r\\n                                <ul class=\\\"pagination\\\">\\r\\n                                    <li *ngIf=\\\"page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"order_earning(page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                                    <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page==index\\\">\\r\\n                                        <a *ngIf=\\\"index==1 || index==total_page || index==page || index==page-1 || index==page+1\\\" (click)=\\\"order_earning(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                                        <a *ngIf=\\\"(index==1 && (page!==1 && page!==2 && page!==3)) || (index==total_page-1 && (page!==total_page && page!==total_page-1 && page!==total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n            \\r\\n                                    </li>\\r\\n                                    <li *ngIf=\\\"page!==total_page && order_list.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"order_earning(page+1)\\\">{{button.next | translate}}</a></li>\\r\\n                                </ul>\\r\\n                            </div>\\r\\n                        </div>-->\\r\\n    </div>\\r\\n  </div>\\r\\n\\r\\n  <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n    <div class=\\\"lable_center\\\">\\r\\n      <ul class=\\\"pagination\\\">\\r\\n        <li *ngIf=\\\"page !== 1\\\">\\r\\n          <a class=\\\"btn\\\" (click)=\\\"order_earning(page - 1)\\\">{{\\r\\n            button.pre | translate\\r\\n          }}</a>\\r\\n        </li>\\r\\n        <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page == index\\\">\\r\\n          <a\\r\\n            *ngIf=\\\"\\r\\n              index == 1 ||\\r\\n              index == total_page ||\\r\\n              index == page ||\\r\\n              index == page - 1 ||\\r\\n              index == page + 1\\r\\n            \\\"\\r\\n            (click)=\\\"order_earning(index)\\\"\\r\\n            class=\\\"btn\\\"\\r\\n            >{{ index }}</a\\r\\n          >\\r\\n          <a\\r\\n            *ngIf=\\\"\\r\\n              (index == 1 && page !== 1 && page !== 2 && page !== 3) ||\\r\\n              (index == total_page - 1 &&\\r\\n                page !== total_page &&\\r\\n                page !== total_page - 1 &&\\r\\n                page !== total_page - 2)\\r\\n            \\\"\\r\\n            class=\\\"btn\\\"\\r\\n            >...</a\\r\\n          >\\r\\n        </li>\\r\\n        <li *ngIf=\\\"page !== total_page && order_list.length !== 0\\\">\\r\\n          <a class=\\\"btn\\\" (click)=\\\"order_earning(page + 1)\\\">{{\\r\\n            button.next | translate\\r\\n          }}</a>\\r\\n        </li>\\r\\n      </ul>\\r\\n    </div>\\r\\n  </div>\\r\\n</div>\\r\\n\\r\\n<modal cssClass=\\\"\\\" #positive_detail_modal>\\r\\n  <modal-header [show-close]=\\\"true\\\">\\r\\n    <label>{{ heading_title.positive_detail | translate }}</label>\\r\\n  </modal-header>\\r\\n  <modal-body>\\r\\n    <div class=\\\"row\\\">\\r\\n      <div class=\\\"col-lg-4 col-sm-6 set_padding\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n          <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n            <h2>{{ order_total.no_of_bonus_store }}</h2>\\r\\n            <label class=\\\"control-label\\\">{{\\r\\n              title.no_of_bonus_store | translate\\r\\n            }}</label>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"col-lg-4 col-sm-6 set_padding\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n          <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n            <h2>{{ order_total.no_of_bonus }}</h2>\\r\\n            <label class=\\\"control-label\\\">{{\\r\\n              title.no_of_bonus | translate\\r\\n            }}</label>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"col-lg-4 col-sm-6 set_padding\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n          <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n            <h2>{{ order_total.total_bonus.toFixed(2) }}</h2>\\r\\n            <label class=\\\"control-label\\\">{{\\r\\n              title.total_bonus | translate\\r\\n            }}</label>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n\\r\\n    <div\\r\\n      class=\\\"table-responsive scrollbar\\\"\\r\\n      style=\\\"height: 100%; margin-top: 35px\\\"\\r\\n    >\\r\\n      <table class=\\\"table\\\">\\r\\n        <thead>\\r\\n          <tr>\\r\\n            <th>{{ title.ID | translate }} {{ title.store | translate }}</th>\\r\\n            <th>{{ title.store_name | translate }}</th>\\r\\n            <th>{{ title.montant_bonus | translate }}</th>\\r\\n            <th>{{ title.motive | translate }}</th>\\r\\n            <th>{{ title.date | translate }}</th>\\r\\n          </tr>\\r\\n        </thead>\\r\\n        <tbody>\\r\\n          <ng-container\\r\\n            *ngFor=\\\"\\r\\n              let order of order_total.bonus_detail;\\r\\n              let index = index;\\r\\n              let last = last\\r\\n            \\\"\\r\\n          >\\r\\n            <tr\\r\\n              *ngFor=\\\"\\r\\n                let bonus_detail of order;\\r\\n                let index = index;\\r\\n                let last = last\\r\\n              \\\"\\r\\n              [hidden]=\\\"bonus_detail.bonus_type == 2\\\"\\r\\n            >\\r\\n              <td>{{ bonus_detail.type_unique_id }}</td>\\r\\n              <td>{{ bonus_detail.name }}</td>\\r\\n              <td>{{ bonus_detail.total_amount.toFixed(2) }}</td>\\r\\n              <td>{{ bonus_detail.bonus_reason }}</td>\\r\\n              <td>\\r\\n                {{ bonus_detail.bonus_date | date : DATE_FORMAT.DD_MMM_YYYY }}\\r\\n              </td>\\r\\n            </tr>\\r\\n          </ng-container>\\r\\n        </tbody>\\r\\n      </table>\\r\\n    </div>\\r\\n  </modal-body>\\r\\n</modal>\\r\\n\\r\\n<modal cssClass=\\\"\\\" #negative_detail_modal>\\r\\n  <modal-header [show-close]=\\\"true\\\">\\r\\n    <label>{{ heading_title.negative_detail | translate }}</label>\\r\\n  </modal-header>\\r\\n  <modal-body>\\r\\n    <div class=\\\"row\\\">\\r\\n      <div class=\\\"col-lg-4 col-sm-6 set_padding\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n          <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n            <h2>{{ order_total.no_of_malus_store }}</h2>\\r\\n            <label class=\\\"control-label\\\">{{\\r\\n              title.no_of_malus_store | translate\\r\\n            }}</label>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"col-lg-4 col-sm-6 set_padding\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n          <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n            <h2>{{ order_total.no_of_malus }}</h2>\\r\\n            <label class=\\\"control-label\\\">{{\\r\\n              title.no_of_malus | translate\\r\\n            }}</label>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"col-lg-4 col-sm-6 set_padding\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n          <div class=\\\"ibox-title\\\" style=\\\"text-align: center\\\">\\r\\n            <h2>{{ order_total.total_malus.toFixed(2) }}</h2>\\r\\n            <label class=\\\"control-label\\\">{{\\r\\n              title.total_malus | translate\\r\\n            }}</label>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n\\r\\n    <div\\r\\n      class=\\\"table-responsive scrollbar\\\"\\r\\n      style=\\\"height: 100%; margin-top: 35px\\\"\\r\\n    >\\r\\n      <table class=\\\"table\\\">\\r\\n        <thead>\\r\\n          <tr>\\r\\n            <th>{{ title.ID | translate }} {{ title.store | translate }}</th>\\r\\n            <th>{{ title.store_name | translate }}</th>\\r\\n            <th>{{ title.montant_malus | translate }}</th>\\r\\n            <th>{{ title.motive | translate }}</th>\\r\\n            <th>{{ title.date | translate }}</th>\\r\\n            <th>{{ title.action | translate }}</th>\\r\\n          </tr>\\r\\n        </thead>\\r\\n        <tbody>\\r\\n          <ng-container\\r\\n            *ngFor=\\\"\\r\\n              let order of order_total.bonus_detail;\\r\\n              let index = index;\\r\\n              let last = last\\r\\n            \\\"\\r\\n          >\\r\\n            <tr\\r\\n              *ngFor=\\\"\\r\\n                let bonus_detail of order;\\r\\n                let index = index;\\r\\n                let last = last\\r\\n              \\\"\\r\\n              [hidden]=\\\"bonus_detail.bonus_type == 1\\\"\\r\\n            >\\r\\n              <td>{{ bonus_detail.type_unique_id }}</td>\\r\\n              <td>{{ bonus_detail.name }}</td>\\r\\n              <td>{{ bonus_detail.total_amount.toFixed(2) }}</td>\\r\\n              <td>{{ bonus_detail.bonus_reason }}</td>\\r\\n              <td>\\r\\n                {{ bonus_detail.bonus_date | date : DATE_FORMAT.DD_MMM_YYYY }}\\r\\n              </td>\\r\\n              <td>\\r\\n                <span\\r\\n                  (click)=\\\"delete_malus(bonus_detail.id, index)\\\"\\r\\n                  class=\\\"fa fa-times\\\"\\r\\n                ></span>\\r\\n              </td>\\r\\n            </tr>\\r\\n          </ng-container>\\r\\n          <ng-container>\\r\\n            <tr\\r\\n              *ngFor=\\\"\\r\\n                let bonus_detail of order_total.subscription_detail;\\r\\n                let index = index;\\r\\n                let last = last\\r\\n              \\\"\\r\\n              [hidden]=\\\"bonus_detail.subscription_charge <= 0\\\"\\r\\n            >\\r\\n              <td>{{ bonus_detail.type_unique_id }}</td>\\r\\n              <td>{{ bonus_detail.name }}</td>\\r\\n              <td>{{ bonus_detail.subscription_charge.toFixed(2) }}</td>\\r\\n              <td>Subscription Charge</td>\\r\\n              <td>\\r\\n                {{ bonus_detail.created_at | date : DATE_FORMAT.DD_MMM_YYYY }}\\r\\n              </td>\\r\\n            </tr>\\r\\n          </ng-container>\\r\\n        </tbody>\\r\\n      </table>\\r\\n    </div>\\r\\n  </modal-body>\\r\\n</modal>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/partner_earning/partner_earning.component.html\n// module id = 1614\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\"></footer>\\r\\n\\r\\n<div\\r\\n  class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\"\\r\\n  style=\\\"position: unset\\\"\\r\\n>\\r\\n  <div class=\\\"row\\\">\\r\\n    <div class=\\\"col-md-2 col-sm-12\\\">\\r\\n      <div class=\\\"lable_center\\\">\\r\\n        <label>{{ title.date_filter | translate }}</label>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-12 remove_padding\\\">\\r\\n        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"select_year\\\"\\r\\n            [(ngModel)]=\\\"select_year\\\"\\r\\n            name=\\\"select_year\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <option *ngFor=\\\"let year of year_array\\\" value=\\\"{{ year }}\\\">\\r\\n              {{ year }}\\r\\n            </option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"col-md-2 col-sm-12\\\">\\r\\n      <div class=\\\"lable_center\\\">\\r\\n        <label>{{ title.search | translate }}</label>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-12 remove_padding\\\">\\r\\n        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"select_month\\\"\\r\\n            [(ngModel)]=\\\"select_month\\\"\\r\\n            name=\\\"select_month\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <option *ngFor=\\\"let month of month_array\\\" value=\\\"{{ month.value }}\\\">\\r\\n              {{ month.text }}\\r\\n            </option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n      <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n        <input\\r\\n          type=\\\"button\\\"\\r\\n          (click)=\\\"store_monthly_earning()\\\"\\r\\n          class=\\\"btn filter_apply_btn pull-right\\\"\\r\\n          value=\\\"{{ button.apply | translate }}\\\"\\r\\n        />\\r\\n      </div>\\r\\n      <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n        <input\\r\\n          type=\\\"button\\\"\\r\\n          (click)=\\\"export_excel()\\\"\\r\\n          class=\\\"btn export_excel_btn pull-right\\\"\\r\\n          value=\\\"{{ button.export_excel | translate }}\\\"\\r\\n        />\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n</div>\\r\\n<div\\r\\n  class=\\\"wrapper content_top_bar_view1 wrapper-content animated fadeInRight\\\"\\r\\n  id=\\\"order\\\"\\r\\n  style=\\\"font-size: 20px; padding-top: 0 !important\\\"\\r\\n>\\r\\n  <div style=\\\"margin-top: 20px\\\">\\r\\n    <div>{{ store_detail.name }}</div>\\r\\n    <div>\\r\\n      {{\\r\\n        store_detail.company_name\\r\\n          ? store_detail.company_name\\r\\n          : \\\"Information Not Completed\\\"\\r\\n      }}\\r\\n    </div>\\r\\n    <div>{{ store_detail.company_address }}</div>\\r\\n  </div>\\r\\n  <div\\r\\n    class=\\\"pull-right\\\"\\r\\n    style=\\\"margin-right: 50px\\\"\\r\\n    *ngIf=\\\"month_array.length > 0 && show_selected_month\\\"\\r\\n  >\\r\\n    <div>\\r\\n      <h5 style=\\\"font-size: 20px\\\">\\r\\n        Facture {{ month_array[show_selected_month].text }}\\r\\n        {{ show_selected_year }}\\r\\n      </h5>\\r\\n    </div>\\r\\n    <br />\\r\\n    <span>HOP Services SA</span><br />\\r\\n    <span>CHE-473.642.314</span><br />\\r\\n    <span>Rue des Charmilles 1</span><br />\\r\\n    <span>1203 Genève</span>\\r\\n  </div>\\r\\n\\r\\n  <div class=\\\"ibox\\\">\\r\\n    <div class=\\\"ibox-title\\\">\\r\\n      <div>\\r\\n        <label>Commandes</label>\\r\\n      </div>\\r\\n    </div>\\r\\n    <div class=\\\"ibox-content\\\">\\r\\n      <div class=\\\"table-responsive\\\">\\r\\n        <table class=\\\"table table-striped\\\">\\r\\n          <thead>\\r\\n            <tr>\\r\\n              <th>N° de commande</th>\\r\\n              <th>Date</th>\\r\\n              <th *ngIf=\\\"page_type == 1\\\">Payment Type</th>\\r\\n              <th *ngIf=\\\"page_type == 2\\\">Platform</th>\\r\\n              <th>Comission(%)</th>\\r\\n              <th>Bonus</th>\\r\\n              <th>Malus</th>\\r\\n              <th *ngIf=\\\"page_type == 1\\\">TVA ({{ tva }}%)</th>\\r\\n              <th *ngIf=\\\"page_type == 2\\\">Delivery Fee</th>\\r\\n              <th>Total produits</th>\\r\\n              <th>Motive</th>\\r\\n            </tr>\\r\\n          </thead>\\r\\n          <tbody>\\r\\n            <tr *ngFor=\\\"let order of bonus_list; let last = last\\\">\\r\\n              <td>{{ order.unique_id }}</td>\\r\\n              <td>\\r\\n                {{\\r\\n                  moment(order.bonus_date)\\r\\n                    .tz(\\r\\n                      order.timezone !== undefined\\r\\n                        ? order.timezone\\r\\n                        : \\\"Europe/Zurich\\\"\\r\\n                    )\\r\\n                    .format(\\\"DD MMM YYYY HH:mm a\\\")\\r\\n                }}\\r\\n              </td>\\r\\n              <td *ngIf=\\\"page_type == 1\\\">Exceptionnel</td>\\r\\n              <td *ngIf=\\\"page_type == 2\\\"></td>\\r\\n              <td></td>\\r\\n              <td *ngIf=\\\"order.bonus_type == 1\\\">\\r\\n                {{ order.bonus_amount.toFixed(2) }}\\r\\n              </td>\\r\\n              <td *ngIf=\\\"order.bonus_type == 1\\\"></td>\\r\\n              <td *ngIf=\\\"order.bonus_type == 2\\\"></td>\\r\\n              <td *ngIf=\\\"order.bonus_type == 2\\\">\\r\\n                {{ order.bonus_amount.toFixed(2) }}\\r\\n              </td>\\r\\n              <th></th>\\r\\n              <td>CHF {{ order.bonus_amount.toFixed(2) }}</td>\\r\\n              <td>{{ order.bonus_reason }}</td>\\r\\n            </tr>\\r\\n            <tr *ngIf=\\\"order_total.total_delivery_order > 0\\\">\\r\\n              <td\\r\\n                colspan=\\\"9\\\"\\r\\n                style=\\\"font-weight: bold; background-color: #8080807a\\\"\\r\\n              >\\r\\n                Delivery\\r\\n              </td>\\r\\n            </tr>\\r\\n            <tr\\r\\n              *ngIf=\\\"\\r\\n                order_total.total_delivery_order == 0 &&\\r\\n                order_total.total_delivery_cash_order > 0\\r\\n              \\\"\\r\\n            >\\r\\n              <td\\r\\n                colspan=\\\"9\\\"\\r\\n                style=\\\"font-weight: bold; background-color: #8080807a\\\"\\r\\n              >\\r\\n                ODH\\r\\n              </td>\\r\\n            </tr>\\r\\n            <tr\\r\\n              *ngIf=\\\"\\r\\n                order_total.total_delivery_order == 0 &&\\r\\n                order_total.total_delivery_cash_order == 0\\r\\n              \\\"\\r\\n            >\\r\\n              <td\\r\\n                colspan=\\\"9\\\"\\r\\n                style=\\\"font-weight: bold; background-color: #8080807a\\\"\\r\\n              >\\r\\n                Pickup\\r\\n              </td>\\r\\n            </tr>\\r\\n            <tr\\r\\n              *ngIf=\\\"\\r\\n                order_total.total_delivery_order == 0 &&\\r\\n                order_total.total_delivery_cash_order == 0\\r\\n              \\\"\\r\\n            >\\r\\n              <td\\r\\n                colspan=\\\"9\\\"\\r\\n                style=\\\"font-weight: bold; background-color: #8080807a\\\"\\r\\n              >\\r\\n                Order Pay\\r\\n              </td>\\r\\n            </tr>\\r\\n            <ng-container\\r\\n              *ngFor=\\\"\\r\\n                let order of order_list;\\r\\n                let last = last;\\r\\n                let order_index = index\\r\\n              \\\"\\r\\n            >\\r\\n              <tr>\\r\\n                <td>{{ order.order_unique_id }}</td>\\r\\n                <td>\\r\\n                  {{\\r\\n                    moment(order.delivered_at)\\r\\n                      .tz(\\r\\n                        order.timezone !== undefined\\r\\n                          ? order.timezone\\r\\n                          : \\\"Europe/Zurich\\\"\\r\\n                      )\\r\\n                      .format(\\\"DD MMM YYYY HH:mm a\\\")\\r\\n                  }}\\r\\n                </td>\\r\\n                <td *ngIf=\\\"page_type == 1 && order.is_payment_mode_cash\\\">\\r\\n                  cash\\r\\n                </td>\\r\\n                <td *ngIf=\\\"page_type == 1 && !order.is_payment_mode_cash\\\">\\r\\n                  credit\\r\\n                </td>\\r\\n                <td *ngIf=\\\"page_type == 2\\\">{{ order.created_by }}</td>\\r\\n                <td>{{ order.admin_profit_value_on_store }}%</td>\\r\\n                <td></td>\\r\\n                <td></td>\\r\\n                <td *ngIf=\\\"page_type == 1\\\">\\r\\n                  CHF {{ ((order.total_cart_price * tva) / 100).toFixed(2) }}\\r\\n                </td>\\r\\n                <td *ngIf=\\\"page_type == 2\\\">\\r\\n                  CHF {{ order.total_delivery_price.toFixed(2) }}\\r\\n                </td>\\r\\n                <td>CHF {{ order.total_cart_price.toFixed(2) }}</td>\\r\\n                <td></td>\\r\\n              </tr>\\r\\n              <tr\\r\\n                *ngIf=\\\"\\r\\n                  order_index == order_total.total_delivery_order - 1 &&\\r\\n                  order_total.total_delivery_cash_cart_price > 0\\r\\n                \\\"\\r\\n              >\\r\\n                <td\\r\\n                  colspan=\\\"9\\\"\\r\\n                  style=\\\"font-weight: bold; background-color: #8080807a\\\"\\r\\n                >\\r\\n                  Odh\\r\\n                </td>\\r\\n              </tr>\\r\\n              <tr\\r\\n                *ngIf=\\\"\\r\\n                  order_index ==\\r\\n                    order_total.total_delivery_order +\\r\\n                      order_total.total_delivery_cash_order -\\r\\n                      1 &&\\r\\n                  order_total.total_pickup_card_order +\\r\\n                    order_total.total_pickup_cash_order >\\r\\n                    0\\r\\n                \\\"\\r\\n              >\\r\\n                <td\\r\\n                  colspan=\\\"9\\\"\\r\\n                  style=\\\"font-weight: bold; background-color: #8080807a\\\"\\r\\n                >\\r\\n                  Pickup\\r\\n                </td>\\r\\n              </tr>\\r\\n              <tr\\r\\n                *ngIf=\\\"\\r\\n                  order_index ==\\r\\n                    order_total.total_delivery_order +\\r\\n                      order_total.total_delivery_cash_order +\\r\\n                      total_pickup_card_order +\\r\\n                      total_pickup_cash_order -\\r\\n                      1 &&\\r\\n                  order_total.total_orderpay_cash_order +\\r\\n                    order_total.total_orderpay_card_order >\\r\\n                    0\\r\\n                \\\"\\r\\n              >\\r\\n                <td\\r\\n                  colspan=\\\"9\\\"\\r\\n                  style=\\\"font-weight: bold; background-color: #8080807a\\\"\\r\\n                >\\r\\n                  Order Pay\\r\\n                </td>\\r\\n              </tr>\\r\\n            </ng-container>\\r\\n\\r\\n            <tr *ngIf=\\\"order_list.length > 0\\\">\\r\\n              <td>Total:</td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n            </tr>\\r\\n            <tr *ngIf=\\\"order_total.total_saas_order > 0\\\">\\r\\n              <td>{{ order_total.total_saas_order }} Commandes SAAS</td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td *ngIf=\\\"page_type == 1\\\">\\r\\n                CHF\\r\\n                {{\\r\\n                  (\\r\\n                    (order_total.total_cart_price_with_saas * tva) /\\r\\n                    100\\r\\n                  ).toFixed(2)\\r\\n                }}\\r\\n              </td>\\r\\n              <td *ngIf=\\\"page_type == 2\\\">\\r\\n                CHF {{ order_total.total_delivery_price.toFixed(2) }}\\r\\n              </td>\\r\\n              <td>\\r\\n                CHF {{ order_total.total_cart_price_with_saas.toFixed(2) }}\\r\\n              </td>\\r\\n              <td></td>\\r\\n            </tr>\\r\\n            <tr *ngIf=\\\"page_type == 1\\\">\\r\\n              <td>\\r\\n                <div style=\\\"margin-left: 15px\\\">\\r\\n                  Delivery : {{ order_total.total_delivery_order }}\\r\\n                </div>\\r\\n              </td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n            </tr>\\r\\n            <tr *ngIf=\\\"page_type == 1\\\">\\r\\n              <td>\\r\\n                <div style=\\\"margin-left: 30px\\\">\\r\\n                  - Credit : {{ order_total.total_delivery_order }}\\r\\n                </div>\\r\\n              </td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n            </tr>\\r\\n            <!-- <tr>\\r\\n                            <td><div style=\\\"margin-left: 30px;\\\"> - Cash : {{order_total.total_delivery_cash_order}}</div></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                        </tr> -->\\r\\n            <tr *ngIf=\\\"page_type == 1\\\">\\r\\n              <td>\\r\\n                <div style=\\\"margin-left: 15px\\\">\\r\\n                  Pickup :\\r\\n                  {{\\r\\n                    order_total.total_pickup_card_order +\\r\\n                      order_total.total_pickup_cash_order\\r\\n                  }}\\r\\n                </div>\\r\\n              </td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n            </tr>\\r\\n            <tr *ngIf=\\\"page_type == 1\\\">\\r\\n              <td>\\r\\n                <div style=\\\"margin-left: 30px\\\">\\r\\n                  - Credit : {{ order_total.total_pickup_card_order }}\\r\\n                </div>\\r\\n              </td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n            </tr>\\r\\n            <tr *ngIf=\\\"page_type == 1\\\">\\r\\n              <td>\\r\\n                <div style=\\\"margin-left: 30px\\\">\\r\\n                  - Cash : {{ order_total.total_pickup_cash_order }}\\r\\n                </div>\\r\\n              </td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n            </tr>\\r\\n            <tr *ngIf=\\\"page_type == 1\\\">\\r\\n              <td>\\r\\n                <div style=\\\"margin-left: 15px\\\">\\r\\n                  Order Pay :\\r\\n                  {{\\r\\n                    order_total.total_orderpay_cash_order +\\r\\n                      order_total.total_orderpay_card_order\\r\\n                  }}\\r\\n                </div>\\r\\n              </td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n            </tr>\\r\\n            <tr *ngIf=\\\"page_type == 1\\\">\\r\\n              <td>\\r\\n                <div style=\\\"margin-left: 30px\\\">\\r\\n                  - Credit : {{ order_total.total_orderpay_card_order }}\\r\\n                </div>\\r\\n              </td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n            </tr>\\r\\n            <tr *ngIf=\\\"page_type == 1\\\">\\r\\n              <td>\\r\\n                <div style=\\\"margin-left: 30px\\\">\\r\\n                  - Cash : {{ order_total.total_orderpay_cash_order }}\\r\\n                </div>\\r\\n              </td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n            </tr>\\r\\n            <tr *ngIf=\\\"page_type == 1\\\">\\r\\n              <td>\\r\\n                <div style=\\\"margin-left: 15px\\\">\\r\\n                  ODH : {{ order_total.total_delivery_cash_order }}\\r\\n                </div>\\r\\n              </td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n            </tr>\\r\\n            <tr *ngIf=\\\"page_type == 1\\\">\\r\\n              <td>\\r\\n                <div style=\\\"margin-left: 30px\\\">\\r\\n                  - Cash : {{ order_total.total_delivery_cash_order }}\\r\\n                </div>\\r\\n              </td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n            </tr>\\r\\n            <tr *ngIf=\\\"page_type == 1 && order_total.total_non_saas_order > 0\\\">\\r\\n              <td>\\r\\n                {{ order_total.total_non_saas_order }} Commandes without SAAS\\r\\n              </td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td></td>\\r\\n              <td>\\r\\n                CHF\\r\\n                {{\\r\\n                  (\\r\\n                    (order_total.total_cart_price_without_saas * tva) /\\r\\n                    100\\r\\n                  ).toFixed(2)\\r\\n                }}\\r\\n              </td>\\r\\n              <td>\\r\\n                CHF {{ order_total.total_cart_price_without_saas.toFixed(2) }}\\r\\n              </td>\\r\\n              <td></td>\\r\\n            </tr>\\r\\n          </tbody>\\r\\n        </table>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n\\r\\n  <div *ngIf=\\\"order_list.length > 0\\\">\\r\\n    <div>\\r\\n      <h5>Résumé du mois</h5>\\r\\n    </div>\\r\\n    <div class=\\\"text-center\\\">\\r\\n      <div *ngIf=\\\"page_type == 1\\\">\\r\\n        Total brut des ventes delivery : CHF\\r\\n        {{ order_total.total_delivery_cart_price.toFixed(2) }}.-\\r\\n      </div>\\r\\n      <div *ngIf=\\\"page_type == 1\\\">\\r\\n        Dont TVA {{ tva }}% : CHF\\r\\n        {{ ((order_total.total_delivery_cart_price * tva) / 100).toFixed(2) }}.-\\r\\n      </div>\\r\\n      <br />\\r\\n\\r\\n      <div *ngIf=\\\"page_type == 1\\\">\\r\\n        Total brut des ventes pickup : CHF\\r\\n        {{ order_total.total_pickup_card_cart_price.toFixed(2) }}.-\\r\\n      </div>\\r\\n      <div *ngIf=\\\"page_type == 1\\\">\\r\\n        Dont TVA {{ tva }}% : CHF\\r\\n        {{\\r\\n          ((order_total.total_pickup_card_cart_price * tva) / 100).toFixed(2)\\r\\n        }}.-\\r\\n      </div>\\r\\n      <br />\\r\\n\\r\\n      <div *ngIf=\\\"page_type == 1\\\">\\r\\n        Total brut des ventes order pay : CHF\\r\\n        {{ order_total.total_orderpay_card_cart_price.toFixed(2) }}.-\\r\\n      </div>\\r\\n      <div *ngIf=\\\"page_type == 1\\\">\\r\\n        Dont TVA {{ tva }}% : CHF\\r\\n        {{\\r\\n          ((order_total.total_orderpay_card_cart_price * tva) / 100).toFixed(2)\\r\\n        }}.-\\r\\n      </div>\\r\\n      <br />\\r\\n\\r\\n      <div>\\r\\n        Total brut des ventes odh : CHF\\r\\n        {{ order_total.total_delivery_cash_cart_price.toFixed(2) }}.-\\r\\n      </div>\\r\\n      <div *ngIf=\\\"page_type == 1\\\">\\r\\n        Dont TVA {{ tva }}% : CHF\\r\\n        {{\\r\\n          ((order_total.total_delivery_cash_cart_price * tva) / 100).toFixed(2)\\r\\n        }}.-\\r\\n      </div>\\r\\n      <br />\\r\\n      <!-- <div>({{store_detail.saas_percentage_delivery_for_store}}% {{store_detail.saas_percentage_delivery_by_cash_for_store}}%)</div> -->\\r\\n      <!-- <div>({{store_detail.saas_percentage_pickup_by_card_for_store}}%{{store_detail.saas_percentage_pickup_by_cash_for_store}}%) </div> -->\\r\\n      <div *ngIf=\\\"page_type == 1\\\">\\r\\n        Rabais SAAS : Delivery : CHF\\r\\n        {{\\r\\n          (\\r\\n            (order_total.total_delivery_cart_price *\\r\\n              store_detail.saas_percentage_delivery_for_store) /\\r\\n            100\\r\\n          ).toFixed(2)\\r\\n        }}.-\\r\\n      </div>\\r\\n      <div *ngIf=\\\"page_type == 1\\\">\\r\\n        Rabais SAAS : Pickup : CHF\\r\\n        {{\\r\\n          (\\r\\n            (order_total.total_pickup_card_cart_price *\\r\\n              store_detail.saas_percentage_pickup_by_card_for_store) /\\r\\n            100\\r\\n          ).toFixed(2)\\r\\n        }}.-\\r\\n      </div>\\r\\n      <div *ngIf=\\\"page_type == 1\\\">\\r\\n        Rabais SAAS : Order Pay Card: CHF\\r\\n        {{\\r\\n          (\\r\\n            (order_total.total_orderpay_card_cart_price *\\r\\n              store_detail.saas_percentage_order_pay_by_card_for_store) /\\r\\n            100\\r\\n          ).toFixed(2)\\r\\n        }}.-\\r\\n      </div>\\r\\n      <div *ngIf=\\\"page_type == 1\\\">\\r\\n        Rabais SAAS : Order Pay Cash: CHF\\r\\n        {{\\r\\n          (\\r\\n            (order_total.total_orderpay_cash_cart_price *\\r\\n              store_detail.saas_percentage_order_pay_by_cash_for_store) /\\r\\n            100\\r\\n          ).toFixed(2)\\r\\n        }}.-\\r\\n      </div>\\r\\n      <div *ngIf=\\\"page_type == 1\\\">\\r\\n        Rabais SAAS : ODH : CHF\\r\\n        {{\\r\\n          (\\r\\n            (order_total.total_delivery_cash_cart_price *\\r\\n              store_detail.saas_percentage_delivery_by_cash_for_store) /\\r\\n              100 +\\r\\n            order_total.total_delivery_cash_delivery_price\\r\\n          ).toFixed(2)\\r\\n        }}.-\\r\\n      </div>\\r\\n      <div *ngIf=\\\"page_type == 2\\\">\\r\\n        Rabais SAAS : ODH : CHF\\r\\n        {{\\r\\n          (\\r\\n            (order_total.total_delivery_cash_cart_price *\\r\\n              store_detail.saas_percentage_delivery_by_cash_for_store) /\\r\\n            100\\r\\n          ).toFixed(2)\\r\\n        }}.-\\r\\n      </div>\\r\\n      <div *ngIf=\\\"page_type == 2\\\">\\r\\n        Total Delivery Fee : CHF\\r\\n        {{ order_total.total_delivery_cash_delivery_price.toFixed(2) }}.-\\r\\n      </div>\\r\\n\\r\\n      <!-- <div>Rabais HOP ({{store_detail.admin_profit_value_on_store}}%) : CHF {{((order_total.total_cart_price_without_saas * store_detail.admin_profit_value_on_store)/100).toFixed(2)}}.-</div> -->\\r\\n      <!-- <div>Admin Delivery Cash Order Comission : CHF {{order_total.total_admin_profit_on_store_cash_delivery.toFixed(2)}}.-</div> -->\\r\\n      <div *ngIf=\\\"page_type == 1\\\">\\r\\n        {{ helper.title.service_fee | translate }} : CHF\\r\\n        {{ order_total.service_fee.toFixed(2) }}.-\\r\\n      </div>\\r\\n      <div *ngIf=\\\"page_type == 1\\\">\\r\\n        Frais de livraisons offerts : CHF\\r\\n        {{ order_total.delivery_offer_price.toFixed(2) }}.-\\r\\n      </div>\\r\\n      <div *ngIf=\\\"page_type == 1\\\">\\r\\n        Promo Bonus : CHF\\r\\n        {{\\r\\n          (\\r\\n            order_total.other_promo_payment_loyalty +\\r\\n            order_total.other_delivery_promo_payment_loyalty\\r\\n          ).toFixed(2)\\r\\n        }}.-\\r\\n      </div>\\r\\n      <div>Bonus : CHF {{ order_total.total_bonus.toFixed(2) }}.-</div>\\r\\n      <div>Pénalités : CHF {{ order_total.total_malus.toFixed(2) }}.-</div>\\r\\n      <div *ngIf=\\\"page_type == 1\\\">\\r\\n        Abonnement monthly : CHF {{ subscription_charge.toFixed(2) }}.-\\r\\n      </div>\\r\\n      <div *ngIf=\\\"page_type == 2\\\">\\r\\n        Abonnement monthly : CHF {{ management_fee.toFixed(2) }}.-\\r\\n      </div>\\r\\n      <div *ngIf=\\\"page_type == 1\\\">\\r\\n        Total net en notre faveur : CHF\\r\\n        {{\\r\\n          (\\r\\n            order_total.total_delivery_cart_price +\\r\\n            order_total.total_pickup_card_cart_price +\\r\\n            order_total.total_orderpay_card_cart_price -\\r\\n            (order_total.total_delivery_cart_price *\\r\\n              store_detail.saas_percentage_delivery_for_store) /\\r\\n              100 -\\r\\n            (order_total.total_pickup_card_cart_price *\\r\\n              store_detail.saas_percentage_pickup_by_card_for_store) /\\r\\n              100 -\\r\\n            (order_total.total_orderpay_card_cart_price *\\r\\n              store_detail.saas_percentage_orderpay_by_card_for_store) /\\r\\n              100 -\\r\\n            (order_total.total_orderpay_cash_cart_price *\\r\\n              store_detail.saas_percentage_orderpay_by_cash_for_store) /\\r\\n              100 -\\r\\n            (order_total.total_delivery_cash_cart_price *\\r\\n              store_detail.saas_percentage_delivery_by_cash_for_store) /\\r\\n              100 -\\r\\n            order_total.total_delivery_cash_delivery_price +\\r\\n            order_total.service_fee -\\r\\n            order_total.delivery_offer_price -\\r\\n            order_total.other_promo_payment_loyalty -\\r\\n            order_total.other_delivery_promo_payment_loyalty +\\r\\n            order_total.total_bonus -\\r\\n            order_total.total_malus -\\r\\n            subscription_charge\\r\\n          ).toFixed(2)\\r\\n        }}.-\\r\\n      </div>\\r\\n      <div *ngIf=\\\"page_type == 2\\\">\\r\\n        Total net en notre faveur : CHF\\r\\n        {{\\r\\n          (\\r\\n            (order_total.total_delivery_cash_cart_price *\\r\\n              store_detail.saas_percentage_delivery_by_cash_for_store) /\\r\\n              100 +\\r\\n            order_total.total_delivery_cash_delivery_price -\\r\\n            order_total.total_bonus +\\r\\n            order_total.total_malus +\\r\\n            management_fee\\r\\n          ).toFixed(2)\\r\\n        }}.-\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n</div>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/partner_earning_detail/partner_earning_detail.component.html\n// module id = 1615\n// module chunks = 0","module.exports = \"<style type=\\\"text/css\\\">\\r\\n    .scrollbar {\\r\\n        height: 100%;\\r\\n        background: #fff;\\r\\n        overflow-y: auto;\\r\\n    }\\r\\n    \\r\\n    .scrollbar::-webkit-scrollbar-track {\\r\\n        -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);\\r\\n        background-color: #fff;\\r\\n    }\\r\\n    \\r\\n    .scrollbar::-webkit-scrollbar {\\r\\n        width: 3px;\\r\\n        background-color: #222222;\\r\\n    }\\r\\n    \\r\\n    .scrollbar::-webkit-scrollbar-thumb {\\r\\n        background-color: #000000;\\r\\n    }\\r\\n</style>\\r\\n<footer [myLoading]=\\\"myLoading\\\"></footer>\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n\\r\\n        <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.search | translate}}</label>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"search_field\\\" [(ngModel)]=\\\"search_field\\\" name=\\\"search_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"unique_id\\\">{{title.order_id | translate}}</option>\\r\\n                        <option value=\\\"store_unique_id\\\">{{title.store_id | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n\\r\\n                        <input type=\\\"text\\\" class=\\\"form-control search_box\\\" [(ngModel)]=\\\"search_value\\\" name=\\\"search_value\\\">\\r\\n                        <span class=\\\"input-group-addon search_icon\\\"><span class=\\\"fa fa-search\\\"></span></span>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.sort | translate}}</label>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"sort_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"sort_field\\\" [(ngModel)]=\\\"sort_field\\\" name=\\\"sort_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"delivery_cash_total\\\">{{title.price | translate}}</option>\\r\\n                        <option value=\\\"bonus\\\">{{title.bonus | translate}}</option>\\r\\n                        <option value=\\\"malus\\\">{{title.malus | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"sort_orders\\\">\\r\\n\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"sort_order\\\" [(ngModel)]=\\\"sort_order\\\" name=\\\"sort_order\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"1\\\">{{title.ascending | translate}}</option>\\r\\n                        <option value=\\\"-1\\\">{{title.descending | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.date_filter | translate}}</label>\\r\\n            </div>\\r\\n\\r\\n            <!-- <div class=\\\"col-md-12 remove_padding\\\">\\r\\n\\r\\n\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n\\r\\n                        <my-date-picker id=\\\"start_date\\\" [options]=\\\"helper.myStartDatePickerOptions\\\" placeholder=\\\"Start Date\\\" [(ngModel)]=\\\"start_date\\\" (dateChanged)=\\\"helper.onStartDateChanged($event)\\\"\\r\\n                                        readonly></my-date-picker>\\r\\n                        <span class=\\\"input-group-addon date_filter_icon\\\">To</span>\\r\\n\\r\\n                        <my-date-picker id=\\\"end_date\\\" [options]=\\\"helper.myEndDatePickerOptions\\\" placeholder=\\\"End Date\\\" [(ngModel)]=\\\"end_date\\\" (dateChanged)=\\\"helper.onEndDateChanged($event)\\\"\\r\\n                                        readonly></my-date-picker>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div> -->\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"sort_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"select_year\\\" [(ngModel)]=\\\"select_year\\r\\n                                \\\" name=\\\"select_year\\\" tabindex=\\\"4\\\">\\r\\n                        <option *ngFor=\\\"let year of year_array\\\" value=\\\"{{year}}\\\">{{year}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"sort_orders\\\">\\r\\n\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"select_month\\\" [(ngModel)]=\\\"select_month\\r\\n                                \\\" name=\\\"select_month\\\" tabindex=\\\"4\\\">\\r\\n                        <option *ngFor=\\\"let month of month_array\\\" value=\\\"{{month.value}}\\\">{{month.text}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n            <div class=\\\"col-md-12 col-sm-12 remove_padding\\\">\\r\\n                <div class=\\\"lable_center\\\">\\r\\n                    <label>{{title.filter | translate}}</label>\\r\\n                </div>\\r\\n                <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"filter\\\" [(ngModel)]=\\\"filter\\\" name=\\\"filter\\\" tabindex=\\\"4\\\">\\r\\n                        <option value=\\\"1\\\">Chiffre d'affaire</option>\\r\\n                        <option value=\\\"2\\\">Notation du Store</option>\\r\\n                        <option value=\\\"3\\\">Nombre de commande</option>\\r\\n                        <option value=\\\"4\\\">Temps de preparation</option>\\r\\n                        <option value=\\\"5\\\">NON SAAS</option>\\r\\n                        <option value=\\\"6\\\">SAAS</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"lable_center\\\">\\r\\n                    <label>{{title.country | translate}}</label>\\r\\n                </div>\\r\\n                <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"country\\\" [(ngModel)]=\\\"country_id\\\" name=\\\"country_id\\\" tabindex=\\\"4\\\">\\r\\n                        <option value=\\\"\\\">All</option>\\r\\n                        <option *ngFor=\\\"let i of country_list\\\" value=\\\"{{i._id}}\\\">{{i.country_name}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"lable_center\\\">\\r\\n                    <label>{{title.city | translate}}</label>\\r\\n                </div>\\r\\n                <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"city\\\" [(ngModel)]=\\\"city_id\\\" name=\\\"city_id\\\" tabindex=\\\"4\\\">\\r\\n                        <option value=\\\"\\\">All</option>\\r\\n                        <option *ngFor=\\\"let i of city_list\\\" value=\\\"{{i._id}}\\\">{{i.city_name}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"order_earning_export_csv()\\\" class=\\\"btn export_excel_btn pull-right\\\" value=\\\"{{button.export_excel | translate}}\\\">\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"order_earning(1)\\\" class=\\\"btn filter_apply_btn pull-right\\\" value=\\\"{{button.apply | translate}}\\\">\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n<div class=\\\"wrapper wrapper-content content_top_bar_view3 animated fadeInRight \\\">\\r\\n    <div class=\\\"ibox\\\" *ngIf=\\\"order_list.length==0\\\">\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>No Records</label>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n    <div class=\\\"ibox\\\">\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{(order_total.total_revenue).toFixed(2)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.total_revenue_order_odh | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{order_total.total_completed_orders}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.total_completed_commande | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{(order_total.delivery_cash_final_total).toFixed(2)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.total_amount_comission | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{(order_total.total_delivery_price).toFixed(2)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.total_delivery_fees | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{order_total.total_bonus}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.montant_bonus | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{order_total.total_malus}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.montant_malus | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{order_total.total_record}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.no_of_store | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{order_total.management_fee}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.total_management_fees | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2>{{(order_total.final_gain).toFixed(2)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.total_hop_should_get | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\" (click)=\\\"open_positive_modal()\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;background: #62da62;color: #fff;\\\">\\r\\n                            <h2>Positive</h2>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\" (click)=\\\"open_negative_modal()\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;background: #e04c4c;color: #fff;\\\">\\r\\n                            <h2>Negative</h2>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <!-- <div class=\\\"table-responsive\\\">\\r\\n                <table class=\\\"table table-striped\\\">\\r\\n                    <thead>\\r\\n                        <tr>\\r\\n                            <th>{{title.total_completed_orders | translate}}</th>\\r\\n                            <th>{{title.admin_earn | translate}}</th>\\r\\n                            <th>{{title.admin_earn_in_wallet | translate}}</th>\\r\\n                            <th>{{title.provider_earn | translate}}</th>\\r\\n                            <th>{{title.store_earn | translate}}</th>\\r\\n                            <th>{{title.store_income_set_in_wallet | translate}}</th>\\r\\n                        </tr>\\r\\n                    </thead>\\r\\n                    <tbody>\\r\\n                        <tr>\\r\\n                            <td>{{order_total.total_completed_orders}}</td>\\r\\n                            <td>{{(order_total.total_admin_earn).toFixed(2)}}</td>\\r\\n                            <td>{{(order_total.admin_earn_wallet).toFixed(2)}}</td>\\r\\n                            <td>{{(order_total.provider_earn).toFixed(2)}}</td>\\r\\n                            <td>{{(order_total.store_earn).toFixed(2)}}</td>\\r\\n                            <td>{{(order_total.store_income_set_in_wallet).toFixed(2)}}</td>\\r\\n\\r\\n                        </tr>\\r\\n                    </tbody>\\r\\n                    <thead>\\r\\n                        <tr>\\r\\n                            <th>{{title.total_order_amount | translate}}</th>\\r\\n                            <th>{{title.admin_earn_in_cash | translate}}</th>\\r\\n                            <th>{{title.admin_earn_in_other | translate}}</th>\\r\\n                            <th>{{title.pay_to_provider | translate}}</th>\\r\\n                            <th>{{title.pay_to_store | translate}}</th>\\r\\n                            <th>{{title.provider_income_set_in_wallet | translate}}</th>\\r\\n                        </tr>\\r\\n                    </thead>\\r\\n                    <tbody>\\r\\n                        <tr>\\r\\n                            <td>{{(order_total.total).toFixed(2)}}</td>\\r\\n                            <td>{{(order_total.cash_payment).toFixed(2)}}</td>\\r\\n                            <td>{{(order_total.card_payment).toFixed(2)}}</td>\\r\\n                            <td>{{(order_total.pay_to_provider).toFixed(2)}}</td>\\r\\n                            <td>{{(order_total.pay_to_store).toFixed(2)}}</td>\\r\\n                            <td>{{(order_total.provider_income_set_in_wallet).toFixed(2)}}</td>\\r\\n                        </tr>\\r\\n                    </tbody>\\r\\n                </table>\\r\\n            </div> -->\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"ibox\\\" *ngIf=\\\"order_list.length>0\\\">\\r\\n        <div class=\\\"ibox-content\\\" style=\\\"overflow-x: scroll;\\\">\\r\\n\\r\\n            <table class=\\\"table table-striped\\\">\\r\\n                <thead>\\r\\n                    <tr>\\r\\n                        <th>{{title.ID | translate}} {{title.store | translate}}</th>\\r\\n                        <th>{{title.store_name | translate}}</th>\\r\\n                        <th>{{title.city | translate}}</th>\\r\\n                        <th>{{title.country | translate}}</th>\\r\\n                        <th>{{title.no_of_orders | translate}}</th>\\r\\n                        <th>{{title.total_revenue_order_odh | translate}}</th>\\r\\n                        <th>{{title.total_amount_comission | translate}}</th>\\r\\n                        <th>{{title.total_amount_delivery_fees | translate}}</th>\\r\\n                        <th>{{title.bonus | translate}}/{{title.malus | translate}}</th>\\r\\n                        <th>{{title.saas_subscription_charge_for_provider | translate}}</th>\\r\\n                        <th>{{title.gain_final | translate}}</th>\\r\\n                        <th>{{title.action | translate}}</th>\\r\\n                    </tr>\\r\\n                </thead>\\r\\n                <tbody>\\r\\n\\r\\n                    <tr *ngFor=\\\"let order of order_list; let index=index; let last=last;\\\">\\r\\n                        <td>{{order.unique_id}}</td>\\r\\n                        <td>{{order.name}}</td>\\r\\n                        <td>{{order.city_name}}</td>\\r\\n                        <td>{{order.country_name}}</td>\\r\\n                        <td>{{order.total_completed_orders}}</td>\\r\\n                        <td>{{order.delivery_cash_total.toFixed(2)}}</td>\\r\\n                        <td>{{order.delivery_cash_final_total.toFixed(2)}}</td>\\r\\n                        <td>{{order.total_delivery_price.toFixed(2)}}</td>\\r\\n                        <td>{{((order.bonus ? order.bonus : 0).toFixed(2))}}/{{((order.malus ? order.malus : 0).toFixed(2))}}</td>\\r\\n                        <td>-{{order.management_fee ? order.management_fee.toFixed(2) : 0}}</td>\\r\\n                        <td>{{(order.delivery_cash_final_total + order.total_delivery_price - order.bonus + order.malus + order.management_fee).toFixed(2)}}</td>\\r\\n                        <td>\\r\\n                            <div class=\\\"dropdown\\\" [class.dropup]=\\\"last && !index==0\\\" dropdown>\\r\\n                                <button class=\\\"btn btn-primary\\\" dropdown-open>{{title.action | translate}}<span class=\\\"caret\\\"></span></button>\\r\\n\\r\\n\\r\\n                                <ul class=\\\"dropdown-menu\\\">\\r\\n                                    <li><a (click)=\\\"viewOrderEarningDetail(order._id)\\\"><span style=\\\"display:block;\\\" class=\\\"nav-label\\\">{{button.view_detail | translate}}</span> </a></li>\\r\\n                                </ul>\\r\\n                            </div>\\r\\n                        </td>\\r\\n\\r\\n                    </tr>\\r\\n                </tbody>\\r\\n            </table>\\r\\n            <!--            <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                            <div class=\\\"lable_center\\\">\\r\\n            \\r\\n                                <ul class=\\\"pagination\\\">\\r\\n                                    <li *ngIf=\\\"page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"order_earning(page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                                    <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page==index\\\">\\r\\n                                        <a *ngIf=\\\"index==1 || index==total_page || index==page || index==page-1 || index==page+1\\\" (click)=\\\"order_earning(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                                        <a *ngIf=\\\"(index==1 && (page!==1 && page!==2 && page!==3)) || (index==total_page-1 && (page!==total_page && page!==total_page-1 && page!==total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n            \\r\\n                                    </li>\\r\\n                                    <li *ngIf=\\\"page!==total_page && order_list.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"order_earning(page+1)\\\">{{button.next | translate}}</a></li>\\r\\n                                </ul>\\r\\n                            </div>\\r\\n                        </div>-->\\r\\n\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n        <div class=\\\"lable_center\\\">\\r\\n\\r\\n            <ul class=\\\"pagination\\\">\\r\\n                <li *ngIf=\\\"page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"order_earning(page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page==index\\\">\\r\\n                    <a *ngIf=\\\"index==1 || index==total_page || index==page || index==page-1 || index==page+1\\\" (click)=\\\"order_earning(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                    <a *ngIf=\\\"(index==1 && (page!==1 && page!==2 && page!==3)) || (index==total_page-1 && (page!==total_page && page!==total_page-1 && page!==total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n\\r\\n                </li>\\r\\n                <li *ngIf=\\\"page!==total_page && order_list.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"order_earning(page+1)\\\">{{button.next | translate}}</a></li>\\r\\n            </ul>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n</div>\\r\\n\\r\\n<modal cssClass=\\\"\\\" #positive_detail_modal>\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n        <label>{{heading_title.positive_detail | translate}}</label>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-lg-4 col-sm-6 set_padding\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                        <h2>{{order_total.no_of_bonus_store}}</h2>\\r\\n                        <label class=\\\"control-label\\\">{{title.no_of_bonus_store | translate}}</label>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-lg-4 col-sm-6 set_padding\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                        <h2>{{order_total.no_of_bonus}}</h2>\\r\\n                        <label class=\\\"control-label\\\">{{title.no_of_bonus | translate}}</label>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-lg-4 col-sm-6 set_padding\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                        <h2>{{(order_total.total_bonus).toFixed(2)}}</h2>\\r\\n                        <label class=\\\"control-label\\\">{{title.total_bonus | translate}}</label>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"table-responsive scrollbar\\\" style=\\\"height: 100%;margin-top: 35px;\\\">\\r\\n            <table class=\\\"table\\\">\\r\\n                <thead>\\r\\n                    <tr>\\r\\n                        <th>{{title.ID | translate}} {{title.store | translate}}</th>\\r\\n                        <th>{{title.store_name | translate}}</th>\\r\\n                        <th>{{title.montant_bonus | translate}}</th>\\r\\n                        <th>{{title.motive | translate}}</th>\\r\\n                        <th>{{title.date | translate}}</th>\\r\\n                    </tr>\\r\\n                </thead>\\r\\n                <tbody>\\r\\n                    <ng-container *ngFor=\\\"let order of order_total.bonus_detail; let index=index; let last=last;\\\">\\r\\n                        <tr *ngFor=\\\"let bonus_detail of order; let index=index; let last=last;\\\" [hidden]=\\\"bonus_detail.bonus_type==2\\\">\\r\\n                            <td>{{bonus_detail.type_unique_id}}</td>\\r\\n                            <td>{{bonus_detail.name}}</td>\\r\\n                            <td>{{bonus_detail.total_amount.toFixed(2)}}</td>\\r\\n                            <td>{{bonus_detail.bonus_reason}}</td>\\r\\n                            <td>{{bonus_detail.bonus_date | date: DATE_FORMAT.DD_MMM_YYYY}}</td>\\r\\n                        </tr>\\r\\n                    </ng-container>\\r\\n                </tbody>\\r\\n            </table>\\r\\n        </div>\\r\\n    </modal-body>\\r\\n</modal>\\r\\n\\r\\n<modal cssClass=\\\"\\\" #negative_detail_modal>\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n        <label>{{heading_title.negative_detail | translate}}</label>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-lg-4 col-sm-6 set_padding\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                        <h2>{{order_total.no_of_malus_store}}</h2>\\r\\n                        <label class=\\\"control-label\\\">{{title.no_of_malus_store | translate}}</label>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-lg-4 col-sm-6 set_padding\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                        <h2>{{order_total.no_of_malus}}</h2>\\r\\n                        <label class=\\\"control-label\\\">{{title.no_of_malus | translate}}</label>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-lg-4 col-sm-6 set_padding\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                        <h2>{{(order_total.total_malus).toFixed(2)}}</h2>\\r\\n                        <label class=\\\"control-label\\\">{{title.total_malus | translate}}</label>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"table-responsive scrollbar\\\" style=\\\"height: 100%;margin-top: 35px;\\\">\\r\\n            <table class=\\\"table\\\">\\r\\n                <thead>\\r\\n                    <tr>\\r\\n                        <th>{{title.ID | translate}} {{title.store | translate}}</th>\\r\\n                        <th>{{title.store_name | translate}}</th>\\r\\n                        <th>{{title.montant_malus | translate}}</th>\\r\\n                        <th>{{title.motive | translate}}</th>\\r\\n                        <th>{{title.date | translate}}</th>\\r\\n                    </tr>\\r\\n                </thead>\\r\\n                <tbody>\\r\\n                    <ng-container *ngFor=\\\"let order of order_total.bonus_detail; let index=index; let last=last;\\\">\\r\\n                        <tr *ngFor=\\\"let bonus_detail of order; let index=index; let last=last;\\\" [hidden]=\\\"bonus_detail.bonus_type==1\\\">\\r\\n                            <td>{{bonus_detail.type_unique_id}}</td>\\r\\n                            <td>{{bonus_detail.name}}</td>\\r\\n                            <td>{{bonus_detail.total_amount.toFixed(2)}}</td>\\r\\n                            <td>{{bonus_detail.bonus_reason}}</td>\\r\\n                            <td>{{bonus_detail.bonus_date | date: DATE_FORMAT.DD_MMM_YYYY}}</td>\\r\\n                        </tr>\\r\\n                    </ng-container>\\r\\n                    <ng-container>\\r\\n                        <tr *ngFor=\\\"let bonus_detail of order_total.subscription_detail; let index=index; let last=last;\\\" [hidden]=\\\"(bonus_detail.management_fee)<=0\\\">\\r\\n                            <td>{{bonus_detail.type_unique_id}}</td>\\r\\n                            <td>{{bonus_detail.name}}</td>\\r\\n                            <td>{{bonus_detail.management_fee ? ((bonus_detail.management_fee).toFixed(2)) : 0}}</td>\\r\\n                            <td>Subscription Charge</td>\\r\\n                            <td>{{bonus_detail.created_at | date: DATE_FORMAT.DD_MMM_YYYY}}</td>\\r\\n                        </tr>\\r\\n                    </ng-container>\\r\\n                </tbody>\\r\\n            </table>\\r\\n        </div>\\r\\n    </modal-body>\\r\\n</modal>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/partner_odh_earning/partner_odh_earning.component.html\n// module id = 1616\n// module chunks = 0","module.exports = \"<form #paymentForm=\\\"ngForm\\\" (ngSubmit)=\\\"UpdatePaymentGateway(paymentForm.value)\\\" >\\r\\n    <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"payment_gateway_id\\\"   name=\\\"payment_gateway_id\\\" />\\r\\n    <div class=\\\"wrapper wrapper-content animated fadeInRight content_top_bar\\\">\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-lg-12\\\">\\r\\n                <div class=\\\"col-lg-10 col-sm-10\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.payment_gateway_data | translate}}</label>  \\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                \\r\\n                                 <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.payment_gateway_name | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <select chosen class=\\\"chosen-select\\\" id=\\\"payment_gateway\\\" [(ngModel)]=\\\"update_payment_gateway.name\\\" #name=\\\"ngModel\\\" name=\\\"payment_gateway\\\" data-placeholder=\\\"Payment Gateway\\\"  tabindex=\\\"4\\\"  >\\r\\n\\r\\n                                            <option *ngFor=\\\"let i of payment_gateway_list\\\" value=\\\"{{i._id}}\\\">{{i.name}}</option>\\r\\n                                        </select> \\r\\n                                    </div> \\r\\n\\r\\n\\r\\n                                </div>\\r\\n                                \\r\\n                               \\r\\n                                \\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.payment_gateway_description | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"update_payment_gateway.description\\\" #description=\\\"ngModel\\\"  name=\\\"description\\\"  />\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                \\r\\n                                \\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.payment_gateway_payment_key_id | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"update_payment_gateway.payment_key_id\\\" #payment_key_id=\\\"ngModel\\\"  name=\\\"payment_key_id\\\"  />\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.payment_gateway_payment_key | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"update_payment_gateway.payment_key\\\" #payment_key=\\\"ngModel\\\"  name=\\\"payment_key\\\"  />\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.payment_gateway_payment_key1 | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"update_payment_gateway.payment_key1\\\" #payment_key1=\\\"ngModel\\\"  name=\\\"payment_key1\\\"  />\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.payment_gateway_payment_key2 | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"update_payment_gateway.payment_key2\\\" #payment_key2=\\\"ngModel\\\"  name=\\\"payment_key2\\\"  />\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.payment_gateway_payment_key3 | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"update_payment_gateway.payment_key3\\\" #payment_key3=\\\"ngModel\\\"  name=\\\"payment_key3\\\"  />\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                \\r\\n                                \\r\\n                                \\r\\n                                \\r\\n                                \\r\\n                                \\r\\n                                \\r\\n                                \\r\\n                                \\r\\n                                \\r\\n                                \\r\\n                                \\r\\n                                \\r\\n                                \\r\\n                                \\r\\n                                \\r\\n                                 <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.payment_gateway_is_using_card_details | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <ui-switch [(ngModel)]=\\\"update_payment_gateway.is_using_card_details\\\" #is_using_card_details=\\\"ngModel\\\" name=\\\"is_using_card_details\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                \\r\\n                                 <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.payment_gateway_is_payment_by_web_url | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <ui-switch [(ngModel)]=\\\"update_payment_gateway.is_payment_by_web_url\\\" #is_payment_by_web_url=\\\"ngModel\\\" name=\\\"is_payment_by_web_url\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                \\r\\n                                 <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.payment_gateway_is_payment_by_login | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <ui-switch [(ngModel)]=\\\"update_payment_gateway.is_payment_by_login\\\" #is_payment_by_login=\\\"ngModel\\\" name=\\\"is_payment_by_login\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                 <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.payment_gateway_is_payment_visible | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <ui-switch [(ngModel)]=\\\"update_payment_gateway.is_payment_visible\\\" #is_payment_visible=\\\"ngModel\\\" name=\\\"is_payment_visible\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n\\r\\n                            </div>\\r\\n                            <div class=\\\"row\\\">   \\r\\n                                <div class=\\\"col-lg-4\\\">\\r\\n                                </div>\\r\\n                               \\r\\n                                <div class=\\\"col-lg-4\\\" style=\\\"text-align: center;\\\">\\r\\n                                    <input type=\\\"submit\\\" id=\\\"update\\\" name=\\\"update\\\" style=\\\"width: 50%;\\\" class=\\\"btn btn-primary\\\" value=\\\"{{button.update | translate}}\\\" >\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</form>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/payment_gateway/payment_gateway.component.html\n// module id = 1617\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\"></footer>\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n  <div class=\\\"row\\\">\\r\\n    <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n      <div class=\\\"lable_center\\\">\\r\\n        <label>{{ title.search | translate }}</label>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"search_field\\\"\\r\\n            [(ngModel)]=\\\"search_field\\\"\\r\\n            name=\\\"search_field\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <option value=\\\"promo_code_name\\\">\\r\\n              {{ title.filter_name | translate }}\\r\\n            </option>\\r\\n            <option value=\\\"country_details.country_name\\\">\\r\\n              {{ title.filter_country | translate }}\\r\\n            </option>\\r\\n            <option value=\\\"city_details.city_name\\\">\\r\\n              {{ title.filter_city | translate }}\\r\\n            </option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n        <div class=\\\"form-group\\\">\\r\\n          <div class=\\\"input-group\\\">\\r\\n            <input\\r\\n              type=\\\"text\\\"\\r\\n              class=\\\"form-control search_box\\\"\\r\\n              [(ngModel)]=\\\"search_value\\\"\\r\\n              name=\\\"search_value\\\"\\r\\n            />\\r\\n            <span class=\\\"input-group-addon search_icon\\\"\\r\\n              ><span class=\\\"fa fa-search\\\"></span\\r\\n            ></span>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n      <div class=\\\"lable_center\\\">\\r\\n        <label>{{ title.sort | translate }}</label>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n        <div class=\\\"form-group\\\" id=\\\"sort_fields\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"sort_field\\\"\\r\\n            [(ngModel)]=\\\"sort_field\\\"\\r\\n            name=\\\"sort_field\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <option value=\\\"unique_id\\\">{{ title.filter_id | translate }}</option>\\r\\n            <option value=\\\"promo_code_name\\\">\\r\\n              {{ title.filter_name | translate }}\\r\\n            </option>\\r\\n            <option value=\\\"country_details.country_name\\\">\\r\\n              {{ title.filter_country | translate }}\\r\\n            </option>\\r\\n            <option value=\\\"city_details.city_name\\\">\\r\\n              {{ title.filter_city | translate }}\\r\\n            </option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n        <div class=\\\"form-group\\\" id=\\\"sort_orders\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"sort_promo_code\\\"\\r\\n            [(ngModel)]=\\\"sort_promo_code\\\"\\r\\n            name=\\\"sort_promo_code\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <option value=\\\"1\\\">{{ title.ascending | translate }}</option>\\r\\n            <option value=\\\"-1\\\">{{ title.descending | translate }}</option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n    <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n      <div class=\\\"col-md-6 col-sm-6 col-xs-6 filter_btn_div\\\">\\r\\n        <input\\r\\n          type=\\\"button\\\"\\r\\n          (click)=\\\"filter(1)\\\"\\r\\n          class=\\\"btn filter_apply_btn pull-right\\\"\\r\\n          value=\\\"{{ button.apply | translate }}\\\"\\r\\n        />\\r\\n      </div>\\r\\n      <div class=\\\"col-md-6 col-sm-6 col-xs-6 filter_btn_div\\\">\\r\\n        <button [routerLink]=\\\"['/admin/add_promo_code']\\\" class=\\\"btn add_btn\\\">\\r\\n          {{ button.add_promo | translate\\r\\n          }}<span class=\\\"fa fa-plus\\\" style=\\\"margin-left: 8px\\\"></span>\\r\\n        </button>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n</div>\\r\\n<div class=\\\"wrapper wrapper-content content_top_bar_view1 animated fadeInRight\\\">\\r\\n  <div class=\\\"ibox\\\" *ngIf=\\\"promo_code_list.length == 0\\\">\\r\\n    <div class=\\\"ibox-content\\\">\\r\\n      <div class=\\\"lable_center\\\">\\r\\n        <label>No Records</label>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n  <div class=\\\"ibox\\\" *ngIf=\\\"promo_code_list.length > 0\\\">\\r\\n    <div class=\\\"ibox-content\\\" style=\\\"padding-bottom: 40px\\\">\\r\\n      <div\\r\\n        class=\\\"table-responsive scrollbar\\\"\\r\\n        style=\\\"height: calc(100vh - 285px); overflow: auto\\\"\\r\\n      >\\r\\n        <table class=\\\"table table-striped\\\">\\r\\n          <thead>\\r\\n            <tr>\\r\\n              <th>{{ title.ID | translate }}</th>\\r\\n              <th>{{ title.promo_code_name | translate }}</th>\\r\\n              <th>{{ title.created_by | translate }}</th>\\r\\n              <th>{{ title.promo_code_type | translate }}</th>\\r\\n              <th>{{ title.promo_for | translate }}</th>\\r\\n              <th>{{ title.promo_code_value | translate }}</th>\\r\\n              <th>{{ title.promo_country | translate }}</th>\\r\\n              <th>{{ title.promo_city | translate }}</th>\\r\\n              <th>{{ title.uses | translate }}</th>\\r\\n              <th>{{ title.user_used | translate }}</th>\\r\\n              <th>{{ title.state | translate }}</th>\\r\\n              <!--                            <th>{{title.promo_is_expired | translate}}</th>-->\\r\\n\\r\\n              <th>{{ title.action | translate }}</th>\\r\\n            </tr>\\r\\n          </thead>\\r\\n          <tbody>\\r\\n            <tr\\r\\n              *ngFor=\\\"\\r\\n                let i of promo_code_list;\\r\\n                let index = index;\\r\\n                let last = last\\r\\n              \\\"\\r\\n            >\\r\\n              <td>{{ i.unique_id }}</td>\\r\\n              <td>{{ i.promo_code_name }}</td>\\r\\n              <td [ngSwitch]=\\\"i.created_by\\\">\\r\\n                <div *ngSwitchCase=\\\"ADMIN_DATA_ID.ADMIN\\\">\\r\\n                  {{ lable_title.admin | translate }}\\r\\n                </div>\\r\\n                <div *ngSwitchCase=\\\"ADMIN_DATA_ID.STORE\\\">\\r\\n                  {{ lable_title.store | translate }}\\r\\n                </div>\\r\\n                <div *ngSwitchCase=\\\"ADMIN_DATA_ID.SUB_ADMIN\\\">\\r\\n                  {{ lable_title.sub_admin | translate }}\\r\\n                </div>\\r\\n              </td>\\r\\n              <td [ngSwitch]=\\\"i.promo_code_type\\\">\\r\\n                <div *ngSwitchCase=\\\"1\\\">{{ lable_title.percentage }}</div>\\r\\n                <div *ngSwitchCase=\\\"2\\\">{{ lable_title.absolute }}</div>\\r\\n              </td>\\r\\n\\r\\n              <td [ngSwitch]=\\\"i.promo_for\\\">\\r\\n                <div *ngSwitchCase=\\\"helper.ADMIN_PROMO_FOR_ID.SERVICE\\\">\\r\\n                  {{ title.promo_delivery_service }}\\r\\n                </div>\\r\\n                <div *ngSwitchCase=\\\"helper.ADMIN_PROMO_FOR_ID.DELIVERIES\\\">\\r\\n                  {{ title.promo_for_delivery }}\\r\\n                </div>\\r\\n                <div *ngSwitchCase=\\\"helper.ADMIN_PROMO_FOR_ID.STORE\\\">\\r\\n                  {{ title.promo_store }}\\r\\n                </div>\\r\\n                <div *ngSwitchCase=\\\"helper.ADMIN_PROMO_FOR_ID.PRODUCT\\\">\\r\\n                  {{ title.promo_product }}\\r\\n                </div>\\r\\n                <div *ngSwitchCase=\\\"helper.ADMIN_PROMO_FOR_ID.ITEM\\\">\\r\\n                  {{ title.promo_item }}\\r\\n                </div>\\r\\n                <div *ngSwitchCase=\\\"helper.ADMIN_PROMO_FOR_ID.PICKUP\\\">\\r\\n                  {{ title.pickup }}\\r\\n                </div>\\r\\n                <div *ngSwitchCase=\\\"helper.ADMIN_PROMO_FOR_ID.DELIVERY\\\">\\r\\n                  {{ title.delivery }}\\r\\n                </div>\\r\\n              </td>\\r\\n\\r\\n              <td>{{ i.promo_code_value }}</td>\\r\\n              <td>{{ i.country_details.country_name }}</td>\\r\\n              <td *ngIf=\\\"i.city_details.length > 0\\\">\\r\\n                {{ i.city_details[0].city_name }}\\r\\n              </td>\\r\\n              <td *ngIf=\\\"i.city_details.length == 0\\\">{{ title.all }}</td>\\r\\n\\r\\n              <td>{{ i.promo_code_uses }}</td>\\r\\n              <td>{{ i.used_promo_code }}</td>\\r\\n              <td>\\r\\n                <ui-switch\\r\\n                  (change)=\\\"promocode_active_deactive($event, i._id)\\\"\\r\\n                  [(ngModel)]=\\\"i.is_active\\\"\\r\\n                  #is_active=\\\"ngModel\\\"\\r\\n                  name=\\\"is_active\\\"\\r\\n                ></ui-switch>\\r\\n              </td>\\r\\n              <td class=\\\"text-left footable-visible footable-last-column\\\">\\r\\n                <div class=\\\"btn-group\\\">\\r\\n                  <button\\r\\n                    (click)=\\\"editPromo(i._id)\\\"\\r\\n                    class=\\\"btn btn-xs btn-light_black\\\"\\r\\n                  >\\r\\n                    {{ helper.button.edit | translate }}\\r\\n                  </button>\\r\\n                  <button\\r\\n                    [disabled]=\\\"i.used_promo_code <= 0\\\"\\r\\n                    (click)=\\\"viewPromoUses(i._id)\\\"\\r\\n                    class=\\\"btn btn-xs btn-light_red\\\"\\r\\n                  >\\r\\n                    {{ helper.button.usage | translate }}\\r\\n                  </button>\\r\\n                </div>\\r\\n              </td>\\r\\n            </tr>\\r\\n          </tbody>\\r\\n        </table>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-12 col-sm-12\\\" style=\\\"padding-top: 10px\\\">\\r\\n        <div class=\\\"lable_center\\\">\\r\\n          <ul class=\\\"pagination\\\">\\r\\n            <li *ngIf=\\\"page !== 1\\\">\\r\\n              <a class=\\\"btn\\\" (click)=\\\"filter(page - 1)\\\">{{\\r\\n                button.pre | translate\\r\\n              }}</a>\\r\\n            </li>\\r\\n            <li\\r\\n              *ngFor=\\\"let index of total_pages\\\"\\r\\n              [class.active]=\\\"page == index\\\"\\r\\n            >\\r\\n              <a\\r\\n                *ngIf=\\\"\\r\\n                  index == 1 ||\\r\\n                  index == total_page ||\\r\\n                  index == page ||\\r\\n                  index == page - 1 ||\\r\\n                  index == page + 1\\r\\n                \\\"\\r\\n                (click)=\\\"filter(index)\\\"\\r\\n                class=\\\"btn\\\"\\r\\n                >{{ index }}</a\\r\\n              >\\r\\n              <a\\r\\n                *ngIf=\\\"\\r\\n                  (index == 1 && page !== 1 && page !== 2 && page !== 3) ||\\r\\n                  (index == total_page - 1 &&\\r\\n                    page !== total_page &&\\r\\n                    page !== total_page - 1 &&\\r\\n                    page !== total_page - 2)\\r\\n                \\\"\\r\\n                class=\\\"btn\\\"\\r\\n                >...</a\\r\\n              >\\r\\n            </li>\\r\\n            <li *ngIf=\\\"page !== total_page && promo_code_list.length !== 0\\\">\\r\\n              <a class=\\\"btn\\\" (click)=\\\"filter(page + 1)\\\">{{\\r\\n                button.next | translate\\r\\n              }}</a>\\r\\n            </li>\\r\\n          </ul>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n</div>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/promo_code/promo_code.component.html\n// module id = 1618\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\"></footer>\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n  <div class=\\\"row\\\">\\r\\n    <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n      <div>\\r\\n        <label>{{ title.search | translate }}</label>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"search_field\\\"\\r\\n            [(ngModel)]=\\\"helper.router_id.provider_filter.search_field\\\"\\r\\n            name=\\\"search_field\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <option value=\\\"first_name\\\">\\r\\n              {{ title.filter_name | translate }}\\r\\n            </option>\\r\\n            <option value=\\\"email\\\">{{ title.filter_email | translate }}</option>\\r\\n            <option value=\\\"phone\\\">{{ title.filter_phone | translate }}</option>\\r\\n            <option value=\\\"unique_id\\\">{{ title.unique_id | translate }}</option>\\r\\n            <!-- <option value=\\\"country_details.country_name\\\">{{title.country | translate}}</option> -->\\r\\n            <!-- <option value=\\\"city_details.city_name\\\">{{title.city | translate}}</option> -->\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n        <div class=\\\"form-group\\\">\\r\\n          <div class=\\\"input-group\\\">\\r\\n            <input\\r\\n              type=\\\"text\\\"\\r\\n              class=\\\"form-control search_box\\\"\\r\\n              [(ngModel)]=\\\"helper.router_id.provider_filter.search_value\\\"\\r\\n              name=\\\"search_value\\\"\\r\\n            />\\r\\n            <span (click)=\\\"filter(1)\\\" class=\\\"input-group-addon search_icon\\\"\\r\\n              ><span class=\\\"fa fa-search\\\"></span\\r\\n            ></span>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n    <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n      <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n        <div class=\\\"lable_center\\\">\\r\\n          <label>{{ title.country | translate }}</label>\\r\\n        </div>\\r\\n        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"country_dispatcher\\\"\\r\\n            [(ngModel)]=\\\"helper.router_id.provider_filter.country_id\\\"\\r\\n            name=\\\"country_id\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <option value=\\\"\\\">All</option>\\r\\n            <option *ngFor=\\\"let i of country_list\\\" value=\\\"{{ i._id }}\\\">\\r\\n              {{ i.country_name }}\\r\\n            </option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-3 col-sm-6\\\">\\r\\n        <div>\\r\\n          <label>{{ title.no_of_record | translate }}</label>\\r\\n        </div>\\r\\n        <div class=\\\"form-group\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"number_of_rec\\\"\\r\\n            [(ngModel)]=\\\"helper.router_id.provider_filter.number_of_rec\\\"\\r\\n            name=\\\"number_of_rec\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <option value=\\\"10\\\">10</option>\\r\\n            <option value=\\\"20\\\">20</option>\\r\\n            <option value=\\\"50\\\">50</option>\\r\\n            <option value=\\\"100\\\">100</option>\\r\\n            <option value=\\\"150\\\">150</option>\\r\\n            <option value=\\\"300\\\">300</option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-3 col-sm-6 filter_btn_div\\\">\\r\\n        <button\\r\\n          type=\\\"button\\\"\\r\\n          (click)=\\\"\\r\\n            provider_export_csv(\\r\\n              helper.router_id.provider_filter.provider_page_type\\r\\n            )\\r\\n          \\\"\\r\\n          class=\\\"btn export_excel_btn\\\"\\r\\n        >\\r\\n          <span class=\\\"fa fa-file-excel-o\\\"></span>\\r\\n        </button>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n</div>\\r\\n<div class=\\\"wrapper wrapper-content content_top_bar_view1 animated fadeInRight\\\">\\r\\n  <div class=\\\"row\\\">\\r\\n    <div class=\\\"col-md-8\\\">\\r\\n      <div class=\\\"ibox\\\">\\r\\n        <div class=\\\"ibox-content\\\" style=\\\"padding-bottom: 40px\\\">\\r\\n          <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n              <ul class=\\\"nav nav-tabs\\\">\\r\\n                <li\\r\\n                  (click)=\\\"change_page_type(2)\\\"\\r\\n                  [class.active]=\\\"\\r\\n                    helper.router_id.provider_filter.provider_page_type == 2\\r\\n                  \\\"\\r\\n                  class=\\\"uib-tab ng-scope ng-isolate-scope active\\\"\\r\\n                >\\r\\n                  <a class=\\\"ng-binding tab_selection\\\">{{\\r\\n                    helper.sub_menu_title.approved_providers | translate\\r\\n                  }}</a>\\r\\n                </li>\\r\\n                <li\\r\\n                  (click)=\\\"change_page_type(3)\\\"\\r\\n                  [class.active]=\\\"\\r\\n                    helper.router_id.provider_filter.provider_page_type == 3\\r\\n                  \\\"\\r\\n                  class=\\\"uib-tab ng-scope ng-isolate-scope active\\\"\\r\\n                >\\r\\n                  <a class=\\\"ng-binding tab_selection\\\">{{\\r\\n                    helper.sub_menu_title.declined_providers | translate\\r\\n                  }}</a>\\r\\n                </li>\\r\\n                <li\\r\\n                  (click)=\\\"change_page_type(1)\\\"\\r\\n                  [class.active]=\\\"\\r\\n                    helper.router_id.provider_filter.provider_page_type == 1\\r\\n                  \\\"\\r\\n                  class=\\\"dsads uib-tab ng-scope ng-isolate-scope\\\"\\r\\n                  active=\\\"tab.active\\\"\\r\\n                >\\r\\n                  <a class=\\\"ng-binding tab_selection\\\">{{\\r\\n                    helper.sub_menu_title.online_providers | translate\\r\\n                  }}</a>\\r\\n                </li>\\r\\n              </ul>\\r\\n            </div>\\r\\n          </div>\\r\\n          <div class=\\\"lable_center\\\" *ngIf=\\\"provider_list.length == 0\\\">\\r\\n            <label>No Records</label>\\r\\n          </div>\\r\\n          <div\\r\\n            [hidden]=\\\"provider_list.length == 0\\\"\\r\\n            class=\\\"table-responsive scrollbar\\\"\\r\\n            style=\\\"height: calc(100vh - 285px); overflow: auto\\\"\\r\\n          >\\r\\n            <table class=\\\"table\\\">\\r\\n              <thead>\\r\\n                <tr>\\r\\n                  <th>{{ title.id | translate }}</th>\\r\\n                  <th>{{ title.rate | translate }}</th>\\r\\n                  <th>{{ title.name | translate }}</th>\\r\\n                  <th>{{ title.email | translate }}</th>\\r\\n                  <th>{{ title.phone | translate }}</th>\\r\\n                  <th>{{ title.country | translate }}</th>\\r\\n                  <th>{{ title.city | translate }}</th>\\r\\n                  <th>{{ title.wallet | translate }}</th>\\r\\n                  <th>{{ title.bag | translate }}</th>\\r\\n                </tr>\\r\\n              </thead>\\r\\n              <tbody>\\r\\n                <tr\\r\\n                  *ngFor=\\\"let provider of provider_list\\\"\\r\\n                  [class.selected_tr]=\\\"provider._id == provider_detail._id\\\"\\r\\n                  (click)=\\\"get_provider_detail(provider._id)\\\"\\r\\n                >\\r\\n                  <td>{{ provider.unique_id }}</td>\\r\\n                  <td>{{ provider.user_rate }}</td>\\r\\n                  <td>{{ provider.first_name }} {{ provider.last_name }}</td>\\r\\n                  <td>{{ provider.email }}</td>\\r\\n                  <td>\\r\\n                    {{ provider.country_phone_code }} {{ provider.phone }}\\r\\n                  </td>\\r\\n                  <td>{{ provider.country_details.country_name }}</td>\\r\\n                  <td>{{ provider.city_details.city_name }}</td>\\r\\n                  <td>\\r\\n                    {{ provider.wallet }} {{ provider.wallet_currency_code }}\\r\\n                  </td>\\r\\n                  <td>\\r\\n                    <span *ngIf=\\\"provider.is_bag\\\">{{\\r\\n                      title.yes | translate\\r\\n                    }}</span>\\r\\n                    <span *ngIf=\\\"!provider.is_bag\\\">{{\\r\\n                      title.no | translate\\r\\n                    }}</span>\\r\\n                  </td>\\r\\n                </tr>\\r\\n              </tbody>\\r\\n            </table>\\r\\n          </div>\\r\\n          <div class=\\\"col-md-12 col-sm-12\\\" style=\\\"padding-top: 10px\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n              <ul class=\\\"pagination\\\">\\r\\n                <li *ngIf=\\\"helper.router_id.provider_filter.page !== 1\\\">\\r\\n                  <a\\r\\n                    class=\\\"btn\\\"\\r\\n                    (click)=\\\"filter(helper.router_id.provider_filter.page - 1)\\\"\\r\\n                    >{{ button.pre | translate }}</a\\r\\n                  >\\r\\n                </li>\\r\\n                <li\\r\\n                  *ngFor=\\\"let index of total_pages\\\"\\r\\n                  [class.active]=\\\"\\r\\n                    helper.router_id.provider_filter.page == index\\r\\n                  \\\"\\r\\n                >\\r\\n                  <a\\r\\n                    *ngIf=\\\"\\r\\n                      index == 1 ||\\r\\n                      index == total_page ||\\r\\n                      index == helper.router_id.provider_filter.page ||\\r\\n                      index == helper.router_id.provider_filter.page - 1 ||\\r\\n                      index == helper.router_id.provider_filter.page + 1\\r\\n                    \\\"\\r\\n                    (click)=\\\"filter(index)\\\"\\r\\n                    class=\\\"btn\\\"\\r\\n                    >{{ index }}</a\\r\\n                  >\\r\\n                  <a\\r\\n                    *ngIf=\\\"\\r\\n                      (index == 1 &&\\r\\n                        helper.router_id.provider_filter.page !== 1 &&\\r\\n                        helper.router_id.provider_filter.page !== 2 &&\\r\\n                        helper.router_id.provider_filter.page !== 3) ||\\r\\n                      (index == total_page - 1 &&\\r\\n                        helper.router_id.provider_filter.page !== total_page &&\\r\\n                        helper.router_id.provider_filter.page !==\\r\\n                          total_page - 1 &&\\r\\n                        helper.router_id.provider_filter.page !==\\r\\n                          total_page - 2)\\r\\n                    \\\"\\r\\n                    class=\\\"btn\\\"\\r\\n                    >...</a\\r\\n                  >\\r\\n                </li>\\r\\n                <li\\r\\n                  *ngIf=\\\"\\r\\n                    helper.router_id.provider_filter.page !== total_page &&\\r\\n                    provider_list.length !== 0\\r\\n                  \\\"\\r\\n                >\\r\\n                  <a\\r\\n                    class=\\\"btn\\\"\\r\\n                    (click)=\\\"filter(helper.router_id.provider_filter.page + 1)\\\"\\r\\n                    >{{ button.next | translate }}</a\\r\\n                  >\\r\\n                </li>\\r\\n              </ul>\\r\\n              <div class=\\\"col-md-2 pull-right\\\"></div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n    <div class=\\\"col-md-4\\\" *ngIf=\\\"provider_detail.phone\\\">\\r\\n      <div class=\\\"ibox\\\">\\r\\n        <div\\r\\n          class=\\\"ibox-content user_fix_div scrollbar\\\"\\r\\n          style=\\\"height: calc(100vh - 243px); overflow: auto\\\"\\r\\n        >\\r\\n          <div class=\\\"tab-content\\\">\\r\\n            <div\\r\\n              id=\\\"contact-1\\\"\\r\\n              class=\\\"tab-pane active\\\"\\r\\n              ng-show=\\\"client == 1\\\"\\r\\n              ng-init=\\\"client = 1\\\"\\r\\n            >\\r\\n              <div class=\\\"row m-b-lg\\\">\\r\\n                <!--<span *ngIf=\\\"!is_edit && selected_tab==1\\\" (click)=\\\"is_edit=true\\\" class=\\\"fa fa-pencil pull-right\\\"></span>-->\\r\\n                <span\\r\\n                  *ngIf=\\\"is_edit && selected_tab == 1\\\"\\r\\n                  class=\\\"fa fa-check pull-right\\\"\\r\\n                  (click)=\\\"update_provider_detail()\\\"\\r\\n                ></span>\\r\\n                <div class=\\\"row no_margin\\\">\\r\\n                  <div class=\\\"col-sm-3\\\" *ngIf=\\\"is_edit\\\">\\r\\n                    <div class=\\\"text-center\\\">\\r\\n                      <span class=\\\"btn-file\\\"\\r\\n                        ><img\\r\\n                          style=\\\"width: 80px; height: 80px\\\"\\r\\n                          class=\\\"img-circle m-t-xs\\\"\\r\\n                          (error)=\\\"\\r\\n                            $event.target.src =\\r\\n                              helper.CONSTANT.IMAGE_BASE_URL + 'default.png'\\r\\n                          \\\"\\r\\n                          [src]=\\\"\\r\\n                            helper.CONSTANT.IMAGE_BASE_URL +\\r\\n                            provider_detail.image_url\\r\\n                          \\\"\\r\\n                          alt=\\\"\\\"\\r\\n                        />\\r\\n                        <input\\r\\n                          type=\\\"file\\\"\\r\\n                          (change)=\\\"change_image($event)\\\"\\r\\n                          accept=\\\"image/*\\\"\\r\\n                          name=\\\"image_url\\\"\\r\\n                        />\\r\\n                      </span>\\r\\n                      <!--<img *ngIf=\\\"!is_edit\\\" alt=\\\"image\\\" style=\\\"width: 80px; height: 80px;\\\" class=\\\"img-circle m-t-xs\\\" src=\\\"{{provider_detail.image_url != '' ? provider_detail.image_url : 'default.png'}}\\\">-->\\r\\n                      <input\\r\\n                        type=\\\"text\\\"\\r\\n                        class=\\\"form-control\\\"\\r\\n                        [(ngModel)]=\\\"provider_detail.country_phone_code\\\"\\r\\n                        #country_phone_code=\\\"ngModel\\\"\\r\\n                        name=\\\"country_phone_code\\\"\\r\\n                        style=\\\"margin-top: 14px; margin-left: 35px\\\"\\r\\n                      />\\r\\n                    </div>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-sm-12\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                    <span\\r\\n                      *ngIf=\\\"!is_edit && selected_tab == 1\\\"\\r\\n                      (click)=\\\"edit_data()\\\"\\r\\n                      class=\\\"fa fa-pencil pull-right\\\"\\r\\n                    ></span>\\r\\n                    <div class=\\\"text-center\\\">\\r\\n                      <img\\r\\n                        *ngIf=\\\"!is_edit\\\"\\r\\n                        alt=\\\"image\\\"\\r\\n                        style=\\\"width: 120px; height: 120px\\\"\\r\\n                        class=\\\"img-circle m-t-xs\\\"\\r\\n                        (error)=\\\"\\r\\n                          $event.target.src =\\r\\n                            helper.CONSTANT.IMAGE_BASE_URL + 'default.png'\\r\\n                        \\\"\\r\\n                        [src]=\\\"\\r\\n                          helper.CONSTANT.IMAGE_BASE_URL +\\r\\n                          provider_detail.image_url\\r\\n                        \\\"\\r\\n                      />\\r\\n                      <div style=\\\"margin-top: 10px; font-size: 18px\\\">\\r\\n                        {{ provider_detail.first_name }}\\r\\n                        {{ provider_detail.last_name }}\\r\\n                        <span\\r\\n                          class=\\\"fa fa-star\\\"\\r\\n                          style=\\\"padding-left: 10px\\\"\\r\\n                        ></span>\\r\\n                        <span>{{ provider_detail.user_rate }}</span>\\r\\n                      </div>\\r\\n                      <div style=\\\"margin-top: 10px; font-size: 18px\\\">\\r\\n                        {{ provider_detail.comments }}\\r\\n                      </div>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-sm-8\\\" *ngIf=\\\"is_edit\\\">\\r\\n                    <div class=\\\"col-lg-6 form-group\\\">\\r\\n                      <input\\r\\n                        type=\\\"text\\\"\\r\\n                        class=\\\"form-control\\\"\\r\\n                        [(ngModel)]=\\\"provider_detail.first_name\\\"\\r\\n                        #first_name=\\\"ngModel\\\"\\r\\n                        name=\\\"first_name\\\"\\r\\n                      />\\r\\n                    </div>\\r\\n                    <div class=\\\"col-lg-6 form-group\\\">\\r\\n                      <input\\r\\n                        type=\\\"text\\\"\\r\\n                        class=\\\"form-control\\\"\\r\\n                        [(ngModel)]=\\\"provider_detail.last_name\\\"\\r\\n                        #last_name=\\\"ngModel\\\"\\r\\n                        name=\\\"last_name\\\"\\r\\n                      />\\r\\n                    </div>\\r\\n                    <div class=\\\"col-lg-12 form-group\\\">\\r\\n                      <input\\r\\n                        type=\\\"text\\\"\\r\\n                        class=\\\"form-control\\\"\\r\\n                        [(ngModel)]=\\\"provider_detail.email\\\"\\r\\n                        #email=\\\"ngModel\\\"\\r\\n                        name=\\\"email\\\"\\r\\n                      />\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"col-lg-12 form-group\\\">\\r\\n                      <input\\r\\n                        type=\\\"text\\\"\\r\\n                        class=\\\"form-control\\\"\\r\\n                        [(ngModel)]=\\\"provider_detail.phone\\\"\\r\\n                        #phone=\\\"ngModel\\\"\\r\\n                        name=\\\"phone\\\"\\r\\n                      />\\r\\n                    </div>\\r\\n                    <div class=\\\"col-lg-12 form-group\\\">\\r\\n                      <input\\r\\n                        type=\\\"text\\\"\\r\\n                        class=\\\"form-control\\\"\\r\\n                        [(ngModel)]=\\\"provider_detail.comments\\\"\\r\\n                        #comments=\\\"ngModel\\\"\\r\\n                        name=\\\"comments\\\"\\r\\n                      />\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n              <div *ngIf=\\\"view_type == 1\\\">\\r\\n                <div\\r\\n                  class=\\\"row no_margin\\\"\\r\\n                  *ngIf=\\\"!is_edit\\\"\\r\\n                  style=\\\"margin-top: 10px\\\"\\r\\n                >\\r\\n                  <div class=\\\"col-md-3 col-sm-3 col-xs-3 remove_right_padding\\\">\\r\\n                    <button\\r\\n                      (click)=\\\"open_modal(type, provider_detail._id)\\\"\\r\\n                      type=\\\"button\\\"\\r\\n                      class=\\\"btn btn-light_black btn-sm btn-block\\\"\\r\\n                      tooltip=\\\"{{ helper.button.add_wallet | translate }}\\\"\\r\\n                      [tooltipDisabled]=\\\"false\\\"\\r\\n                      [tooltipAnimation]=\\\"true\\\"\\r\\n                      tooltipPlacement=\\\"top\\\"\\r\\n                    >\\r\\n                      <i class=\\\"fa fa-plus\\\"></i>\\r\\n                    </button>\\r\\n                  </div>\\r\\n                  <div\\r\\n                    class=\\\"col-md-3 col-sm-3 col-xs-3 remove_left_right_padding\\\"\\r\\n                  >\\r\\n                    <button\\r\\n                      (click)=\\\"open_sms_modal(type, provider_detail._id)\\\"\\r\\n                      type=\\\"button\\\"\\r\\n                      class=\\\"btn btn-light_black btn-sm btn-block\\\"\\r\\n                      tooltip=\\\"{{ helper.button.send_sms | translate }}\\\"\\r\\n                      [tooltipDisabled]=\\\"false\\\"\\r\\n                      [tooltipAnimation]=\\\"true\\\"\\r\\n                      tooltipPlacement=\\\"top\\\"\\r\\n                    >\\r\\n                      <i class=\\\"fa fa-comments\\\"></i>\\r\\n                    </button>\\r\\n                  </div>\\r\\n                  <div\\r\\n                    class=\\\"col-md-3 col-sm-3 col-xs-3 remove_left_right_padding\\\"\\r\\n                  >\\r\\n                    <button\\r\\n                      (click)=\\\"\\r\\n                        open_notification_modal(type, provider_detail._id)\\r\\n                      \\\"\\r\\n                      type=\\\"button\\\"\\r\\n                      class=\\\"btn btn-light_black btn-sm btn-block\\\"\\r\\n                      tooltip=\\\"{{\\r\\n                        helper.button.send_notification | translate\\r\\n                      }}\\\"\\r\\n                      [tooltipDisabled]=\\\"false\\\"\\r\\n                      [tooltipAnimation]=\\\"true\\\"\\r\\n                      tooltipPlacement=\\\"top\\\"\\r\\n                    >\\r\\n                      <i class=\\\"fa fa-bell\\\"></i>\\r\\n                    </button>\\r\\n                  </div>\\r\\n                  <div\\r\\n                    class=\\\"col-md-3 col-sm-3 col-xs-3 remove_left_padding\\\"\\r\\n                    *ngIf=\\\"!provider_detail.is_approved\\\"\\r\\n                  >\\r\\n                    <button\\r\\n                      (click)=\\\"\\r\\n                        approved(\\r\\n                          helper.router_id.provider_filter.provider_page_type,\\r\\n                          provider_detail._id\\r\\n                        )\\r\\n                      \\\"\\r\\n                      type=\\\"button\\\"\\r\\n                      class=\\\"btn btn-light_black btn-sm btn-block\\\"\\r\\n                      tooltip=\\\"{{ helper.button.approved | translate }}\\\"\\r\\n                      [tooltipDisabled]=\\\"false\\\"\\r\\n                      [tooltipAnimation]=\\\"true\\\"\\r\\n                      tooltipPlacement=\\\"top\\\"\\r\\n                    >\\r\\n                      <i class=\\\"fa fa-check\\\"></i>\\r\\n                    </button>\\r\\n                  </div>\\r\\n                  <div\\r\\n                    class=\\\"col-md-3 col-sm-3 col-xs-3 remove_left_padding\\\"\\r\\n                    *ngIf=\\\"provider_detail.is_approved\\\"\\r\\n                  >\\r\\n                    <button\\r\\n                      (click)=\\\"\\r\\n                        approved(\\r\\n                          helper.router_id.provider_filter.provider_page_type,\\r\\n                          provider_detail._id\\r\\n                        )\\r\\n                      \\\"\\r\\n                      type=\\\"button\\\"\\r\\n                      class=\\\"btn btn-light_black btn-sm btn-block\\\"\\r\\n                      tooltip=\\\"{{ helper.button.decline | translate }}\\\"\\r\\n                      [tooltipDisabled]=\\\"false\\\"\\r\\n                      [tooltipAnimation]=\\\"true\\\"\\r\\n                      tooltipPlacement=\\\"top\\\"\\r\\n                    >\\r\\n                      <i class=\\\"fa fa-ban\\\"></i>\\r\\n                    </button>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"client-detail\\\">\\r\\n                  <div class=\\\"full-height-scroll\\\">\\r\\n                    <ul class=\\\"nav nav-tabs\\\">\\r\\n                      <li\\r\\n                        (click)=\\\"selected_tab = 1\\\"\\r\\n                        [class.active]=\\\"selected_tab == 1\\\"\\r\\n                        class=\\\"dsads uib-tab ng-scope ng-isolate-scope\\\"\\r\\n                        active=\\\"tab.active\\\"\\r\\n                      >\\r\\n                        <a class=\\\"ng-binding tab_selection\\\">{{\\r\\n                          helper.title.details | translate\\r\\n                        }}</a>\\r\\n                      </li>\\r\\n                      <li\\r\\n                        (click)=\\\"get_document_list()\\\"\\r\\n                        [class.active]=\\\"selected_tab == 2\\\"\\r\\n                        class=\\\"uib-tab ng-scope ng-isolate-scope active\\\"\\r\\n                      >\\r\\n                        <a class=\\\"ng-binding tab_selection\\\">{{\\r\\n                          helper.button.view_document | translate\\r\\n                        }}</a>\\r\\n                      </li>\\r\\n                      <li\\r\\n                        (click)=\\\"get_referral_history()\\\"\\r\\n                        [class.active]=\\\"selected_tab == 3\\\"\\r\\n                        class=\\\"uib-tab ng-scope ng-isolate-scope active\\\"\\r\\n                      >\\r\\n                        <a class=\\\"ng-binding tab_selection\\\">{{\\r\\n                          helper.button.referral | translate\\r\\n                        }}</a>\\r\\n                      </li>\\r\\n                      <li\\r\\n                        (click)=\\\"get_review_history()\\\"\\r\\n                        [class.active]=\\\"selected_tab == 4\\\"\\r\\n                        class=\\\"uib-tab ng-scope ng-isolate-scope active\\\"\\r\\n                      >\\r\\n                        <a class=\\\"ng-binding tab_selection\\\">{{\\r\\n                          helper.button.reviews | translate\\r\\n                        }}</a>\\r\\n                      </li>\\r\\n                      <li\\r\\n                        (click)=\\\"get_bank_detail()\\\"\\r\\n                        [class.active]=\\\"selected_tab == 5\\\"\\r\\n                        class=\\\"uib-tab ng-scope ng-isolate-scope active\\\"\\r\\n                      >\\r\\n                        <a class=\\\"ng-binding tab_selection\\\">{{\\r\\n                          helper.button.bank_detail | translate\\r\\n                        }}</a>\\r\\n                      </li>\\r\\n                    </ul>\\r\\n                    <ul class=\\\"list-group clear-list\\\" *ngIf=\\\"selected_tab == 1\\\">\\r\\n                      <li class=\\\"list-group-item\\\">\\r\\n                        <span class=\\\"pull-right\\\">{{\\r\\n                          provider_detail.device_type +\\r\\n                            \\\" - \\\" +\\r\\n                            provider_detail.app_version\\r\\n                        }}</span>\\r\\n                        {{ title.app_version | translate }}\\r\\n                      </li>\\r\\n                      <li class=\\\"list-group-item\\\">\\r\\n                        <span class=\\\"pull-right\\\">{{\\r\\n                          provider_detail.address\\r\\n                        }}</span>\\r\\n                        {{ title.address | translate }}\\r\\n                      </li>\\r\\n                      <li class=\\\"list-group-item\\\">\\r\\n                        <span class=\\\"pull-right\\\"\\r\\n                          ><ui-switch\\r\\n                            [(ngModel)]=\\\"\\r\\n                              provider_detail.is_phone_number_verified\\r\\n                            \\\"\\r\\n                            #is_phone_number_verified=\\\"ngModel\\\"\\r\\n                            name=\\\"is_phone_number_verified\\\"\\r\\n                            [disabled]=\\\"!is_edit\\\"\\r\\n                          ></ui-switch\\r\\n                        ></span>\\r\\n                        {{ title.phone_number_verified | translate }}\\r\\n                      </li>\\r\\n                      <li class=\\\"list-group-item\\\">\\r\\n                        <span class=\\\"pull-right\\\"\\r\\n                          ><ui-switch\\r\\n                            [(ngModel)]=\\\"provider_detail.is_email_verified\\\"\\r\\n                            #is_email_verified=\\\"ngModel\\\"\\r\\n                            name=\\\"is_email_verified\\\"\\r\\n                            [disabled]=\\\"!is_edit\\\"\\r\\n                          ></ui-switch\\r\\n                        ></span>\\r\\n                        {{ title.email_verified | translate }}\\r\\n                      </li>\\r\\n                      <li class=\\\"list-group-item\\\">\\r\\n                        <span class=\\\"pull-right\\\"\\r\\n                          ><ui-switch\\r\\n                            [(ngModel)]=\\\"provider_detail.is_document_uploaded\\\"\\r\\n                            #is_document_uploaded=\\\"ngModel\\\"\\r\\n                            name=\\\"is_document_uploaded\\\"\\r\\n                            [disabled]=\\\"!is_edit\\\"\\r\\n                          ></ui-switch\\r\\n                        ></span>\\r\\n                        {{ title.is_document_uploaded | translate }}\\r\\n                      </li>\\r\\n                      <li class=\\\"list-group-item\\\">\\r\\n                        <span class=\\\"pull-right\\\"\\r\\n                          ><ui-switch\\r\\n                            [(ngModel)]=\\\"provider_detail.is_active_for_job\\\"\\r\\n                            #is_active_for_job=\\\"ngModel\\\"\\r\\n                            name=\\\"is_active_for_job\\\"\\r\\n                            [disabled]=\\\"!is_edit\\\"\\r\\n                          ></ui-switch\\r\\n                        ></span>\\r\\n                        {{ title.active_for_job | translate }}\\r\\n                      </li>\\r\\n                      <li class=\\\"list-group-item\\\">\\r\\n                        <span class=\\\"pull-right\\\"\\r\\n                          ><ui-switch\\r\\n                            [(ngModel)]=\\\"provider_detail.is_online\\\"\\r\\n                            #is_online=\\\"ngModel\\\"\\r\\n                            name=\\\"is_online\\\"\\r\\n                            [disabled]=\\\"!is_edit\\\"\\r\\n                          ></ui-switch\\r\\n                        ></span>\\r\\n                        {{ title.is_online | translate }}\\r\\n                      </li>\\r\\n                      <li class=\\\"list-group-item\\\">\\r\\n                        <span class=\\\"pull-right\\\">{{\\r\\n                          provider_detail.country_details.country_name\\r\\n                        }}</span>\\r\\n                        {{ title.country | translate }}\\r\\n                      </li>\\r\\n                      <li class=\\\"list-group-item\\\">\\r\\n                        <span class=\\\"pull-right\\\">{{\\r\\n                          provider_detail.city_details.city_name\\r\\n                        }}</span>\\r\\n                        {{ title.city | translate }}\\r\\n                      </li>\\r\\n                      <li class=\\\"list-group-item\\\">\\r\\n                        <span class=\\\"pull-right\\\"\\r\\n                          ><ui-switch\\r\\n                            [(ngModel)]=\\\"provider_detail.is_bag\\\"\\r\\n                            #is_bag=\\\"ngModel\\\"\\r\\n                            name=\\\"is_bag\\\"\\r\\n                            [disabled]=\\\"!is_edit\\\"\\r\\n                          ></ui-switch\\r\\n                        ></span>\\r\\n                        {{ title.bag | translate }}\\r\\n                      </li>\\r\\n                      <li\\r\\n                        class=\\\"list-group-item\\\"\\r\\n                        *ngIf=\\\"!is_edit && provider_detail.is_bag\\\"\\r\\n                      >\\r\\n                        <span class=\\\"pull-right\\\">{{\\r\\n                          provider_detail.bag_number\\r\\n                        }}</span>\\r\\n                        {{ title.bag_number | translate }}\\r\\n                      </li>\\r\\n                      <li\\r\\n                        class=\\\"list-group-item\\\"\\r\\n                        *ngIf=\\\"is_edit && provider_detail.is_bag\\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-lg-3 pull-right form-group\\\">\\r\\n                          <input\\r\\n                            type=\\\"text\\\"\\r\\n                            class=\\\"form-control\\\"\\r\\n                            [(ngModel)]=\\\"provider_detail.bag_number\\\"\\r\\n                            #bag_number=\\\"ngModel\\\"\\r\\n                            name=\\\"bag_number\\\"\\r\\n                          />\\r\\n                        </div>\\r\\n                        {{ title.bag_number | translate }}\\r\\n                      </li>\\r\\n                    </ul>\\r\\n                    <div\\r\\n                      class=\\\"row no_margin\\\"\\r\\n                      *ngIf=\\\"selected_tab == 1\\\"\\r\\n                      style=\\\"margin-top: 10px\\\"\\r\\n                    >\\r\\n                      <div\\r\\n                        class=\\\"col-md-4 remove_right_padding\\\"\\r\\n                        (click)=\\\"view_provider_history()\\\"\\r\\n                      >\\r\\n                        <button\\r\\n                          type=\\\"button\\\"\\r\\n                          class=\\\"btn btn-light_black btn-sm btn-block\\\"\\r\\n                        >\\r\\n                          {{ button.summary | translate }}\\r\\n                        </button>\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"col-md-4 remove_right_padding\\\"\\r\\n                        (click)=\\\"review_export_csv()\\\"\\r\\n                      >\\r\\n                        <button\\r\\n                          type=\\\"button\\\"\\r\\n                          class=\\\"btn btn-light_black btn-sm btn-block\\\"\\r\\n                        >\\r\\n                          {{ button.export_review | translate }}\\r\\n                        </button>\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"col-md-4 remove_right_padding\\\"\\r\\n                        (click)=\\\"view_type = 2\\\"\\r\\n                      >\\r\\n                        <button\\r\\n                          type=\\\"button\\\"\\r\\n                          class=\\\"btn btn-light_black btn-sm btn-block\\\"\\r\\n                        >\\r\\n                          {{ button.adjust | translate }}\\r\\n                        </button>\\r\\n                      </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div\\r\\n                      class=\\\"row no_margin\\\"\\r\\n                      *ngIf=\\\"selected_tab == 1\\\"\\r\\n                      style=\\\"margin-top: 10px\\\"\\r\\n                    >\\r\\n                      <div\\r\\n                        class=\\\"col-md-12 no_padding\\\"\\r\\n                        style=\\\"padding-top: 10px; padding-bottom: 4px\\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-4 no_padding\\\">\\r\\n                          <label>{{ title.is_premium | translate }}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-4 no_padding text-center\\\">\\r\\n                          <span class=\\\"\\\">\\r\\n                            <ui-switch\\r\\n                              [disabled]=\\\"!is_edit\\\"\\r\\n                              [(ngModel)]=\\\"provider_detail.is_premium\\\"\\r\\n                              name=\\\"is_premium\\\"\\r\\n                            ></ui-switch\\r\\n                          ></span>\\r\\n                        </div>\\r\\n                      </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div\\r\\n                      class=\\\"row no_margin\\\"\\r\\n                      *ngIf=\\\"selected_tab == 1\\\"\\r\\n                      style=\\\"margin-top: 10px\\\"\\r\\n                    >\\r\\n                      <div\\r\\n                        class=\\\"col-md-12 no_padding\\\"\\r\\n                        style=\\\"padding-top: 10px; padding-bottom: 4px\\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-12 no_padding\\\">\\r\\n                          <label>{{ title.vehicle | translate }}</label>\\r\\n                        </div>\\r\\n                        <div\\r\\n                          class=\\\"col-md-12 no_padding\\\"\\r\\n                          style=\\\"padding-top: 10px; padding-bottom: 4px\\\"\\r\\n                        >\\r\\n                          <div class=\\\"col-md-3 remove_right_padding\\\">\\r\\n                            <button\\r\\n                              [disabled]=\\\"!is_edit\\\"\\r\\n                              (click)=\\\"provider_detail.vehicle_type = 1\\\"\\r\\n                              type=\\\"button\\\"\\r\\n                              class=\\\"btn btn-light_black btn-sm btn-block\\\"\\r\\n                              [class.btn-light-border]=\\\"\\r\\n                                provider_detail.vehicle_type !== 1\\r\\n                              \\\"\\r\\n                            >\\r\\n                              {{ button.car | translate }}\\r\\n                            </button>\\r\\n                          </div>\\r\\n                          <div class=\\\"col-md-3 remove_right_padding\\\">\\r\\n                            <button\\r\\n                              [disabled]=\\\"!is_edit\\\"\\r\\n                              (click)=\\\"provider_detail.vehicle_type = 2\\\"\\r\\n                              type=\\\"button\\\"\\r\\n                              class=\\\"btn btn-light_black btn-sm btn-block\\\"\\r\\n                              [class.btn-light-border]=\\\"\\r\\n                                provider_detail.vehicle_type !== 2\\r\\n                              \\\"\\r\\n                            >\\r\\n                              {{ button.scooter | translate }}\\r\\n                            </button>\\r\\n                          </div>\\r\\n                          <div class=\\\"col-md-3 remove_right_padding\\\">\\r\\n                            <button\\r\\n                              [disabled]=\\\"!is_edit\\\"\\r\\n                              (click)=\\\"provider_detail.vehicle_type = 3\\\"\\r\\n                              type=\\\"button\\\"\\r\\n                              class=\\\"btn btn-light_black btn-sm btn-block\\\"\\r\\n                              [class.btn-light-border]=\\\"\\r\\n                                provider_detail.vehicle_type !== 3\\r\\n                              \\\"\\r\\n                            >\\r\\n                              {{ button.electrical_bike | translate }}\\r\\n                            </button>\\r\\n                          </div>\\r\\n                          <div class=\\\"col-md-3 remove_right_padding\\\">\\r\\n                            <button\\r\\n                              [disabled]=\\\"!is_edit\\\"\\r\\n                              (click)=\\\"provider_detail.vehicle_type = 4\\\"\\r\\n                              type=\\\"button\\\"\\r\\n                              class=\\\"btn btn-light_black btn-sm btn-block\\\"\\r\\n                              [class.btn-light-border]=\\\"\\r\\n                                provider_detail.vehicle_type !== 4\\r\\n                              \\\"\\r\\n                            >\\r\\n                              {{ button.normal_bike | translate }}\\r\\n                            </button>\\r\\n                          </div>\\r\\n                        </div>\\r\\n                      </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div *ngIf=\\\"selected_tab == 5\\\" style=\\\"margin-top: 20px\\\">\\r\\n                      <div\\r\\n                        class=\\\"table-responsive\\\"\\r\\n                        *ngIf=\\\"bank_detail_list.length > 0\\\"\\r\\n                      >\\r\\n                        <table class=\\\"table\\\">\\r\\n                          <tr>\\r\\n                            <th>{{ title.bank_account_number | translate }}</th>\\r\\n                          </tr>\\r\\n                          <tr *ngFor=\\\"let bank_detail of bank_detail_list\\\">\\r\\n                            <td>{{ bank_detail.account_number }}</td>\\r\\n                          </tr>\\r\\n                        </table>\\r\\n                      </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div *ngIf=\\\"selected_tab == 2\\\" style=\\\"margin-top: 20px\\\">\\r\\n                      <div class=\\\"table-responsive\\\">\\r\\n                        <table class=\\\"table\\\">\\r\\n                          <tr>\\r\\n                            <td></td>\\r\\n                            <td>{{ title.name | translate }}</td>\\r\\n                            <td style=\\\"width: 25%\\\">\\r\\n                              {{ title.unique_code | translate }}\\r\\n                            </td>\\r\\n                            <td style=\\\"width: 25%\\\">\\r\\n                              {{ title.expiry_date | translate }}\\r\\n                            </td>\\r\\n                            <td></td>\\r\\n                          </tr>\\r\\n                          <tr\\r\\n                            *ngFor=\\\"\\r\\n                              let document of document_list;\\r\\n                              let document_index = index\\r\\n                            \\\"\\r\\n                          >\\r\\n                            <td\\r\\n                              class=\\\"client-avatar\\\"\\r\\n                              (click)=\\\"\\r\\n                                show_full_image(\\r\\n                                  document.image_url,\\r\\n                                  document_index\\r\\n                                )\\r\\n                              \\\"\\r\\n                            >\\r\\n                              <span\\r\\n                                *ngIf=\\\"edit_document[document_index] == 'true'\\\"\\r\\n                                class=\\\"btn-file\\\"\\r\\n                              >\\r\\n                                <img\\r\\n                                  style=\\\"width: 20px; height: 20px\\\"\\r\\n                                  src=\\\"{{\\r\\n                                    helper.CONSTANT.IMAGE_BASE_URL +\\r\\n                                      'default.png'\\r\\n                                  }}\\\"\\r\\n                                  class=\\\"document{{ document_index }}\\\"\\r\\n                                />\\r\\n                                <input\\r\\n                                  type=\\\"file\\\"\\r\\n                                  (change)=\\\"\\r\\n                                    image_update($event, document_index)\\r\\n                                  \\\"\\r\\n                                  name=\\\"image\\\"\\r\\n                                />\\r\\n                              </span>\\r\\n                              <img\\r\\n                                *ngIf=\\\"edit_document[document_index] !== 'true'\\\"\\r\\n                                style=\\\"width: 20px; height: 20px\\\"\\r\\n                                src=\\\"{{\\r\\n                                  helper.CONSTANT.IMAGE_BASE_URL + 'default.png'\\r\\n                                }}\\\"\\r\\n                                class=\\\"document{{ document_index }}\\\"\\r\\n                              />\\r\\n                            </td>\\r\\n                            <td>\\r\\n                              {{ document.document_details.document_name }}\\r\\n                            </td>\\r\\n                            <td>\\r\\n                              <div\\r\\n                                *ngIf=\\\"\\r\\n                                  document.document_details.is_unique_code &&\\r\\n                                  edit_document[document_index] == 'true'\\r\\n                                \\\"\\r\\n                              >\\r\\n                                <input\\r\\n                                  type=\\\"text\\\"\\r\\n                                  [(ngModel)]=\\\"documentlist.unique_code\\\"\\r\\n                                  #unique_code=\\\"ngModel\\\"\\r\\n                                  name=\\\"unique_code\\\"\\r\\n                                  style=\\\"\\r\\n                                    border-radius: 5px;\\r\\n                                    border-color: #060606;\\r\\n                                    height: 30px;\\r\\n                                  \\\"\\r\\n                                  class=\\\"form-control\\\"\\r\\n                                  value=\\\"{{ document.unique_code }}\\\"\\r\\n                                /><br />\\r\\n                              </div>\\r\\n                              <span\\r\\n                                *ngIf=\\\"\\r\\n                                  edit_document[document_index] !== 'true' &&\\r\\n                                  document.document_details.is_unique_code\\r\\n                                \\\"\\r\\n                                >{{ document.unique_code }}</span\\r\\n                              >\\r\\n                            </td>\\r\\n                            <td>\\r\\n                              <div\\r\\n                                *ngIf=\\\"\\r\\n                                  document.document_details.is_expired_date &&\\r\\n                                  edit_document[document_index] == 'true'\\r\\n                                \\\"\\r\\n                              >\\r\\n                                <my-date-picker\\r\\n                                  [(ngModel)]=\\\"documentlist.expired_date\\\"\\r\\n                                  #expired_date=\\\"ngModel\\\"\\r\\n                                  name=\\\"expired_date\\\"\\r\\n                                  id=\\\"expiry_date\\\"\\r\\n                                  value=\\\"\\\"\\r\\n                                  [options]=\\\"helper.ExpiryDatePickerOptions\\\"\\r\\n                                  placeholder=\\\"{{ title.exp_date | translate }}\\\"\\r\\n                                  readonly\\r\\n                                ></my-date-picker>\\r\\n                              </div>\\r\\n                              <span\\r\\n                                *ngIf=\\\"\\r\\n                                  edit_document[document_index] !== 'true' &&\\r\\n                                  document.document_details.is_expired_date\\r\\n                                \\\"\\r\\n                                >{{\\r\\n                                  document.expired_date | date : \\\"MM-dd-yyyy\\\"\\r\\n                                }}</span\\r\\n                              >\\r\\n                            </td>\\r\\n                            <td>\\r\\n                              <span\\r\\n                                *ngIf=\\\"edit_document[document_index] !== 'true'\\\"\\r\\n                                class=\\\"fa fa-pencil pull-right\\\"\\r\\n                                (click)=\\\"editDocument(document, document_index)\\\"\\r\\n                              ></span>\\r\\n                              <span\\r\\n                                *ngIf=\\\"edit_document[document_index] == 'true'\\\"\\r\\n                                class=\\\"fa fa-check pull-right\\\"\\r\\n                                (click)=\\\"\\r\\n                                  updateDocument(document, document_index)\\r\\n                                \\\"\\r\\n                              ></span>\\r\\n                            </td>\\r\\n                          </tr>\\r\\n                        </table>\\r\\n                      </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div *ngIf=\\\"selected_tab == 3\\\" style=\\\"margin-top: 20px\\\">\\r\\n                      <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-md-12\\\">\\r\\n                          <label>{{ title.referral_code | translate }}: </label>\\r\\n                          <span style=\\\"margin-left: 10px\\\">{{\\r\\n                            provider_detail.referral_code\\r\\n                          }}</span>\\r\\n                        </div>\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"row\\\"\\r\\n                        style=\\\"margin-top: 10px\\\"\\r\\n                        *ngIf=\\\"provider_detail.referred_provider_details\\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-12\\\">\\r\\n                          <label>{{ title.referred_by | translate }}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-4\\\">\\r\\n                          <img\\r\\n                            style=\\\"width: 40px; height: 40px\\\"\\r\\n                            class=\\\"img-circle m-t-xs\\\"\\r\\n                            (error)=\\\"\\r\\n                              $event.target.src =\\r\\n                                helper.CONSTANT.IMAGE_BASE_URL + 'default.png'\\r\\n                            \\\"\\r\\n                            [src]=\\\"\\r\\n                              helper.CONSTANT.IMAGE_BASE_URL +\\r\\n                              provider_detail.referred_provider_details\\r\\n                                .image_url\\r\\n                            \\\"\\r\\n                          />\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8\\\">\\r\\n                          <div>\\r\\n                            {{ title.id | translate }}:\\r\\n                            {{\\r\\n                              provider_detail.referred_user_details.unique_id\\r\\n                            }}\\r\\n                          </div>\\r\\n                          <div>\\r\\n                            {{ title.name | translate }}:\\r\\n                            {{\\r\\n                              provider_detail.referred_user_details.first_name\\r\\n                            }}\\r\\n                            {{\\r\\n                              provider_detail.referred_user_details.last_name\\r\\n                            }}\\r\\n                          </div>\\r\\n                        </div>\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"row\\\"\\r\\n                        style=\\\"margin-top: 10px\\\"\\r\\n                        *ngIf=\\\"referral_history.length > 0\\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-12\\\">\\r\\n                          <label>{{ title.referred_to | translate }}: </label>\\r\\n                          <span style=\\\"margin-left: 10px\\\"\\r\\n                            >{{ referral_history.length }}\\r\\n                            {{ title.people | translate }}</span\\r\\n                          >\\r\\n                        </div>\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"row col-md-12\\\"\\r\\n                        *ngIf=\\\"referral_history.length > 0\\\"\\r\\n                      >\\r\\n                        <div class=\\\"table-responsive\\\">\\r\\n                          <table class=\\\"table\\\">\\r\\n                            <tr>\\r\\n                              <td></td>\\r\\n                              <td>{{ title.id | translate }}</td>\\r\\n                              <td>{{ title.name | translate }}</td>\\r\\n                            </tr>\\r\\n                            <tr *ngFor=\\\"let referral of referral_history\\\">\\r\\n                              <td class=\\\"client-avatar\\\">\\r\\n                                <img\\r\\n                                  alt=\\\"image\\\"\\r\\n                                  (error)=\\\"\\r\\n                                    $event.target.src =\\r\\n                                      helper.CONSTANT.IMAGE_BASE_URL +\\r\\n                                      'default.png'\\r\\n                                  \\\"\\r\\n                                  [src]=\\\"\\r\\n                                    helper.CONSTANT.IMAGE_BASE_URL +\\r\\n                                    referral.image_url\\r\\n                                  \\\"\\r\\n                                />\\r\\n                              </td>\\r\\n                              <td>{{ referral.unique_id }}</td>\\r\\n                              <td>\\r\\n                                {{ referral.first_name }}\\r\\n                                {{ referral.last_name }}\\r\\n                              </td>\\r\\n                            </tr>\\r\\n                          </table>\\r\\n                        </div>\\r\\n                      </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div *ngIf=\\\"selected_tab == 4\\\" style=\\\"margin-top: 20px\\\">\\r\\n                      <div *ngFor=\\\"let review of review_list\\\">\\r\\n                        <div\\r\\n                          *ngIf=\\\"\\r\\n                            review.store_rating_to_provider > 0 &&\\r\\n                            review.provider_detail\\r\\n                          \\\"\\r\\n                          class=\\\"row form-group\\\"\\r\\n                        >\\r\\n                          <div class=\\\"col-md-3 col-xs-3\\\">\\r\\n                            <img\\r\\n                              class=\\\"img-circle\\\"\\r\\n                              (error)=\\\"\\r\\n                                $event.target.src =\\r\\n                                  helper.CONSTANT.IMAGE_BASE_URL + 'default.png'\\r\\n                              \\\"\\r\\n                              [src]=\\\"\\r\\n                                helper.CONSTANT.IMAGE_BASE_URL +\\r\\n                                review.provider_detail.image_url\\r\\n                              \\\"\\r\\n                              style=\\\"width: 80px; height: 80px\\\"\\r\\n                            />\\r\\n                          </div>\\r\\n                          <div class=\\\"col-md-8 col-xs-8\\\">\\r\\n                            <div\\r\\n                              style=\\\"display: inline\\\"\\r\\n                              *ngFor=\\\"\\r\\n                                let rate of Array(\\r\\n                                  review.store_rating_to_provider\\r\\n                                )\\r\\n                              \\\"\\r\\n                            >\\r\\n                              <span class=\\\"fa fa-star rating_star\\\"></span>\\r\\n                            </div>\\r\\n                            <div style=\\\"font-size: 15px\\\">\\r\\n                              {{ helper.title.reviewed_by }}:\\r\\n                              {{ review.provider_detail.name }}\\r\\n                              <span style=\\\"font-size: 12px\\\"\\r\\n                                >({{ title.order_id | translate }}:\\r\\n                                {{ review.order_unique_id }})</span\\r\\n                              >\\r\\n                            </div>\\r\\n                            <div style=\\\"font-size: 15px; color: black\\\">\\r\\n                              {{ review.store_review_to_provider }}\\r\\n                            </div>\\r\\n                          </div>\\r\\n                        </div>\\r\\n                        <div\\r\\n                          *ngIf=\\\"\\r\\n                            review.user_rating_to_provider > 0 &&\\r\\n                            review.provider_detail\\r\\n                          \\\"\\r\\n                          class=\\\"row form-group\\\"\\r\\n                        >\\r\\n                          <div class=\\\"col-md-3 col-xs-3\\\">\\r\\n                            <img\\r\\n                              class=\\\"img-circle\\\"\\r\\n                              (error)=\\\"\\r\\n                                $event.target.src =\\r\\n                                  helper.CONSTANT.IMAGE_BASE_URL + 'default.png'\\r\\n                              \\\"\\r\\n                              [src]=\\\"\\r\\n                                helper.CONSTANT.IMAGE_BASE_URL +\\r\\n                                review.provider_detail.image_url\\r\\n                              \\\"\\r\\n                              style=\\\"width: 80px; height: 80px\\\"\\r\\n                            />\\r\\n                          </div>\\r\\n                          <div class=\\\"col-md-8 col-xs-8\\\">\\r\\n                            <div\\r\\n                              style=\\\"display: inline\\\"\\r\\n                              *ngFor=\\\"\\r\\n                                let rate of Array(\\r\\n                                  review.user_rating_to_provider\\r\\n                                )\\r\\n                              \\\"\\r\\n                            >\\r\\n                              <span class=\\\"fa fa-star rating_star\\\"></span>\\r\\n                            </div>\\r\\n                            <div style=\\\"font-size: 15px\\\">\\r\\n                              {{ helper.title.reviewed_by }}\\r\\n                              {{ review.provider_detail.name }}\\r\\n                              <span style=\\\"font-size: 12px\\\"\\r\\n                                >({{ title.order_id | translate }}:\\r\\n                                {{ review.order_unique_id }})</span\\r\\n                              >\\r\\n                            </div>\\r\\n                            <div style=\\\"font-size: 15px; color: black\\\">\\r\\n                              {{ review.user_review_to_provider }}\\r\\n                            </div>\\r\\n                          </div>\\r\\n                        </div>\\r\\n                      </div>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n              <div class=\\\"client-detail\\\" [hidden]=\\\"view_type !== 2\\\">\\r\\n                <div class=\\\"full-height-scroll\\\">\\r\\n                  <div class=\\\"row m-b-lg\\\">\\r\\n                    <div class=\\\"col-md-6\\\">\\r\\n                      <button\\r\\n                        type=\\\"button\\\"\\r\\n                        class=\\\"btn btn-block\\\"\\r\\n                        (click)=\\\"bonus_info.bonus_type = 1\\\"\\r\\n                        [class.selected_bonus_type]=\\\"bonus_info.bonus_type == 1\\\"\\r\\n                        [disabled]=\\\"!is_edit\\\"\\r\\n                        [class.unselected_bonus_type]=\\\"\\r\\n                          bonus_info.bonus_type == 2\\r\\n                        \\\"\\r\\n                      >\\r\\n                        +\\r\\n                      </button>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-6\\\">\\r\\n                      <button\\r\\n                        type=\\\"button\\\"\\r\\n                        class=\\\"btn btn-block\\\"\\r\\n                        (click)=\\\"bonus_info.bonus_type = 2\\\"\\r\\n                        [class.selected_bonus_type]=\\\"bonus_info.bonus_type == 2\\\"\\r\\n                        [disabled]=\\\"!is_edit\\\"\\r\\n                        [class.unselected_bonus_type]=\\\"\\r\\n                          bonus_info.bonus_type == 1\\r\\n                        \\\"\\r\\n                      >\\r\\n                        -\\r\\n                      </button>\\r\\n                    </div>\\r\\n                    <div\\r\\n                      class=\\\"col-md-12\\\"\\r\\n                      style=\\\"padding-top: 16px; padding-bottom: 4px\\\"\\r\\n                    >\\r\\n                      <div class=\\\"col-md-4 no_padding\\\">\\r\\n                        <label>{{ title.bonus_amount | translate }}</label>\\r\\n                      </div>\\r\\n                      <div class=\\\"col-md-8 no_padding\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                        {{ bonus_info.bonus_amount }}\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"col-md-8 no_padding form-group\\\"\\r\\n                        *ngIf=\\\"is_edit\\\"\\r\\n                      >\\r\\n                        <input\\r\\n                          type=\\\"text\\\"\\r\\n                          class=\\\"form-control\\\"\\r\\n                          [(ngModel)]=\\\"bonus_info.bonus_amount\\\"\\r\\n                          #bonus_amount=\\\"ngModel\\\"\\r\\n                          name=\\\"bonus_amount\\\"\\r\\n                        />\\r\\n                      </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-6\\\">\\r\\n                      <button\\r\\n                        type=\\\"button\\\"\\r\\n                        class=\\\"btn btn-block\\\"\\r\\n                        (click)=\\\"bonus_info.bonus_payment_type = 1\\\"\\r\\n                        [class.selected_bonus_type]=\\\"\\r\\n                          bonus_info.bonus_payment_type == 1\\r\\n                        \\\"\\r\\n                        [disabled]=\\\"!is_edit\\\"\\r\\n                        [class.unselected_bonus_type]=\\\"\\r\\n                          bonus_info.bonus_payment_type == 2\\r\\n                        \\\"\\r\\n                      >\\r\\n                        absolute\\r\\n                      </button>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-6\\\">\\r\\n                      <button\\r\\n                        type=\\\"button\\\"\\r\\n                        class=\\\"btn btn-block\\\"\\r\\n                        (click)=\\\"bonus_info.bonus_payment_type = 2\\\"\\r\\n                        [class.selected_bonus_type]=\\\"\\r\\n                          bonus_info.bonus_payment_type == 2\\r\\n                        \\\"\\r\\n                        [disabled]=\\\"!is_edit\\\"\\r\\n                        [class.unselected_bonus_type]=\\\"\\r\\n                          bonus_info.bonus_payment_type == 1\\r\\n                        \\\"\\r\\n                      >\\r\\n                        percentage\\r\\n                      </button>\\r\\n                    </div>\\r\\n                    <div\\r\\n                      class=\\\"col-md-12\\\"\\r\\n                      style=\\\"padding-top: 16px; padding-bottom: 4px\\\"\\r\\n                    >\\r\\n                      <div class=\\\"col-md-4 no_padding\\\">\\r\\n                        <label>{{ title.is_bonus_monthly | translate }}</label>\\r\\n                      </div>\\r\\n                      <div class=\\\"col-md-8 no_padding\\\">\\r\\n                        <span class=\\\"\\\">\\r\\n                          <ui-switch\\r\\n                            [disabled]=\\\"!is_edit\\\"\\r\\n                            [(ngModel)]=\\\"bonus_info.is_bonus_monthly\\\"\\r\\n                            #is_bonus_monthly=\\\"ngModel\\\"\\r\\n                            name=\\\"is_bonus_monthly\\\"\\r\\n                          ></ui-switch\\r\\n                        ></span>\\r\\n                      </div>\\r\\n                    </div>\\r\\n                    <div\\r\\n                      class=\\\"col-md-12\\\"\\r\\n                      *ngIf=\\\"bonus_info.is_bonus_monthly\\\"\\r\\n                      style=\\\"padding-top: 16px; padding-bottom: 4px\\\"\\r\\n                    >\\r\\n                      <div class=\\\"col-md-4 no_padding\\\">\\r\\n                        <label>{{ title.bonus_no_of_month | translate }}</label>\\r\\n                      </div>\\r\\n                      <div class=\\\"col-md-8 no_padding\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                        {{ bonus_info.bonus_no_of_month }}\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"col-md-8 no_padding form-group\\\"\\r\\n                        *ngIf=\\\"is_edit\\\"\\r\\n                      >\\r\\n                        <input\\r\\n                          type=\\\"text\\\"\\r\\n                          class=\\\"form-control\\\"\\r\\n                          [(ngModel)]=\\\"bonus_info.bonus_no_of_month\\\"\\r\\n                          #bonus_no_of_month=\\\"ngModel\\\"\\r\\n                          name=\\\"bonus_no_of_month\\\"\\r\\n                        />\\r\\n                      </div>\\r\\n                    </div>\\r\\n                    <div\\r\\n                      class=\\\"col-md-12\\\"\\r\\n                      [hidden]=\\\"!bonus_info.is_bonus_monthly\\\"\\r\\n                      style=\\\"padding-top: 10px; padding-bottom: 4px\\\"\\r\\n                    >\\r\\n                      <div class=\\\"col-md-4 no_padding\\\">\\r\\n                        <label>{{ title.bonus_start_month | translate }}</label>\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"col-md-8 no_padding\\\"\\r\\n                        *ngIf=\\\"\\r\\n                          !is_edit && month_array[bonus_info.bonus_start_month]\\r\\n                        \\\"\\r\\n                      >\\r\\n                        {{ month_array[bonus_info.bonus_start_month].text }}\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"col-md-8 no_padding form-group\\\"\\r\\n                        [hidden]=\\\"!is_edit\\\"\\r\\n                      >\\r\\n                        <select\\r\\n                          chosen\\r\\n                          class=\\\"chosen-select\\\"\\r\\n                          id=\\\"bonus_start_month\\\"\\r\\n                          [(ngModel)]=\\\"bonus_info.bonus_start_month\\\"\\r\\n                          #bonus_start_month=\\\"ngModel\\\"\\r\\n                          name=\\\"bonus_start_month\\\"\\r\\n                          tabindex=\\\"4\\\"\\r\\n                        >\\r\\n                          <option\\r\\n                            *ngFor=\\\"let month of month_array; let index = index\\\"\\r\\n                            value=\\\"{{ month.value }}\\\"\\r\\n                          >\\r\\n                            {{ month.text }}\\r\\n                          </option>\\r\\n                        </select>\\r\\n                      </div>\\r\\n                    </div>\\r\\n                    <div\\r\\n                      class=\\\"col-md-12\\\"\\r\\n                      [hidden]=\\\"!bonus_info.is_bonus_monthly\\\"\\r\\n                      style=\\\"padding-top: 10px; padding-bottom: 4px\\\"\\r\\n                    >\\r\\n                      <div class=\\\"col-md-4 no_padding\\\">\\r\\n                        <label>{{ title.bonus_start_year | translate }}</label>\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"col-md-8 no_padding form-group\\\"\\r\\n                        [hidden]=\\\"!is_edit\\\"\\r\\n                      >\\r\\n                        <select\\r\\n                          chosen\\r\\n                          class=\\\"chosen-select\\\"\\r\\n                          id=\\\"bonus_start_year\\\"\\r\\n                          [(ngModel)]=\\\"bonus_info.bonus_start_year\\\"\\r\\n                          #bonus_start_year=\\\"ngModel\\\"\\r\\n                          name=\\\"bonus_start_year\\\"\\r\\n                          tabindex=\\\"4\\\"\\r\\n                        >\\r\\n                          <option\\r\\n                            *ngFor=\\\"let year of year_array; let index = index\\\"\\r\\n                            value=\\\"{{ year }}\\\"\\r\\n                          >\\r\\n                            {{ year }}\\r\\n                          </option>\\r\\n                        </select>\\r\\n                      </div>\\r\\n                    </div>\\r\\n                    <div\\r\\n                      class=\\\"col-md-12\\\"\\r\\n                      style=\\\"padding-top: 10px; padding-bottom: 4px\\\"\\r\\n                    >\\r\\n                      <div class=\\\"col-md-4 no_padding\\\">\\r\\n                        <label>{{ title.bonus_reason | translate }}</label>\\r\\n                      </div>\\r\\n                      <div class=\\\"col-md-8 no_padding\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                        {{ bonus_info.bonus_reason }}\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"col-md-8 no_padding form-group\\\"\\r\\n                        *ngIf=\\\"is_edit\\\"\\r\\n                      >\\r\\n                        <input\\r\\n                          type=\\\"text\\\"\\r\\n                          class=\\\"form-control\\\"\\r\\n                          [(ngModel)]=\\\"bonus_info.bonus_reason\\\"\\r\\n                          #bonus_reason=\\\"ngModel\\\"\\r\\n                          name=\\\"bonus_reason\\\"\\r\\n                        />\\r\\n                      </div>\\r\\n                    </div>\\r\\n                  </div>\\r\\n\\r\\n                  <div class=\\\"row no_margin\\\" style=\\\"margin-top: 10px\\\">\\r\\n                    <div\\r\\n                      class=\\\"col-md-4 remove_right_padding\\\"\\r\\n                      (click)=\\\"view_store_history()\\\"\\r\\n                    >\\r\\n                      <button\\r\\n                        type=\\\"button\\\"\\r\\n                        class=\\\"btn btn-light_black btn-sm btn-block\\\"\\r\\n                      >\\r\\n                        {{ button.summary | translate }}\\r\\n                      </button>\\r\\n                    </div>\\r\\n                    <div\\r\\n                      class=\\\"col-md-4 remove_right_padding\\\"\\r\\n                      (click)=\\\"review_export_csv()\\\"\\r\\n                    >\\r\\n                      <button\\r\\n                        type=\\\"button\\\"\\r\\n                        class=\\\"btn btn-light_black btn-sm btn-block\\\"\\r\\n                      >\\r\\n                        {{ button.export_review | translate }}\\r\\n                      </button>\\r\\n                    </div>\\r\\n                    <div\\r\\n                      class=\\\"col-md-4 remove_right_padding\\\"\\r\\n                      (click)=\\\"view_type = 1\\\"\\r\\n                    >\\r\\n                      <button\\r\\n                        type=\\\"button\\\"\\r\\n                        class=\\\"btn btn-light_black btn-sm btn-block\\\"\\r\\n                      >\\r\\n                        {{ button.detail | translate }}\\r\\n                      </button>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n\\r\\n      <div class=\\\"row\\\" style=\\\"margin-top: 10px\\\">\\r\\n        <div class=\\\"col-md-12\\\">\\r\\n          <button\\r\\n            (click)=\\\"providerVehicle(provider_detail._id)\\\"\\r\\n            class=\\\"btn btn-light_black btn-block\\\"\\r\\n          >\\r\\n            {{ button.vehicle_details | translate }}\\r\\n          </button>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n</div>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-sm\\\" #myModal>\\r\\n  <form #modalForm=\\\"ngForm\\\" (ngSubmit)=\\\"AddWallet(modalForm.value)\\\">\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n      <h4 class=\\\"modal-title\\\">\\r\\n        {{ heading_title.add_wallet_amount | translate }}\\r\\n      </h4>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n      <div class=\\\"row\\\">\\r\\n        <input\\r\\n          type=\\\"hidden\\\"\\r\\n          class=\\\"form-control\\\"\\r\\n          [(ngModel)]=\\\"type\\\"\\r\\n          name=\\\"type\\\"\\r\\n        />\\r\\n        <input\\r\\n          type=\\\"hidden\\\"\\r\\n          class=\\\"form-control\\\"\\r\\n          [(ngModel)]=\\\"provider_id\\\"\\r\\n          name=\\\"provider_id\\\"\\r\\n        />\\r\\n        <div class=\\\"col-md-12\\\">\\r\\n          <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n            <div class=\\\"form-group\\\">\\r\\n              <label style=\\\"font-weight: normal\\\"\\r\\n                ><strong>{{ title.amount | translate }}</strong></label\\r\\n              >\\r\\n              <input\\r\\n                type=\\\"text\\\"\\r\\n                class=\\\"form-control\\\"\\r\\n                [(ngModel)]=\\\"wallet\\\"\\r\\n                (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                maxlength=\\\"8\\\"\\r\\n                name=\\\"wallet\\\"\\r\\n                required\\r\\n              />\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n      <div style=\\\"text-align: center\\\">\\r\\n        <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">\\r\\n          {{ button.save | translate }}\\r\\n        </button>\\r\\n      </div>\\r\\n    </modal-footer>\\r\\n  </form>\\r\\n</modal>\\r\\n\\r\\n<modal\\r\\n  keyboard=\\\"false\\\"\\r\\n  backdrop=\\\"static\\\"\\r\\n  cssClass=\\\"modal-invoice\\\"\\r\\n  #vehicleModal\\r\\n>\\r\\n  <modal-header [show-close]=\\\"true\\\">\\r\\n    <h4 class=\\\"modal-title\\\">{{ heading_title.vehicle_list | translate }}</h4>\\r\\n  </modal-header>\\r\\n  <modal-body>\\r\\n    <div class=\\\"row\\\">\\r\\n      <div\\r\\n        class=\\\"col-lg-4 col-sm-6\\\"\\r\\n        style=\\\"padding-left: 10px; padding-right: 10px\\\"\\r\\n        *ngFor=\\\"let vehicle of vehicle_list; let vehicle_index = index\\\"\\r\\n      >\\r\\n        <form #spec=\\\"ngForm\\\" enctype=\\\"multipart/form-data\\\">\\r\\n          <div class=\\\"ibox float-e-margins\\\">\\r\\n            <div class=\\\"ibox-title\\\">\\r\\n              <input\\r\\n                type=\\\"hidden\\\"\\r\\n                [(ngModel)]=\\\"edit_vehicle[vehicle_index]\\\"\\r\\n                name=\\\"edit_vehicle\\\"\\r\\n              />\\r\\n              <span\\r\\n                class=\\\"fa fa-pencil pull-right\\\"\\r\\n                *ngIf=\\\"edit_vehicle[vehicle_index] !== 'true'\\\"\\r\\n                (click)=\\\"editProviderVehicle(vehicle._id, vehicle_index)\\\"\\r\\n                style=\\\"font-size: 15px; color: #060606\\\"\\r\\n              ></span>\\r\\n              <span\\r\\n                class=\\\"fa fa-check pull-right\\\"\\r\\n                *ngIf=\\\"edit_vehicle[vehicle_index] == 'true'\\\"\\r\\n                (click)=\\\"updateProviderVehicle(vehicle)\\\"\\r\\n                style=\\\"font-size: 15px; color: #060606\\\"\\r\\n              ></span>\\r\\n              <ui-switch\\r\\n                *ngIf=\\\"vehicle.admin_vehicle_id != null\\\"\\r\\n                [(ngModel)]=\\\"vehicle.is_approved\\\"\\r\\n                name=\\\"is_approved\\\"\\r\\n                [disabled]=\\\"edit_vehicle[vehicle_index] !== 'true'\\\"\\r\\n              ></ui-switch>\\r\\n              <ui-switch\\r\\n                *ngIf=\\\"vehicle.admin_vehicle_id == null\\\"\\r\\n                [(ngModel)]=\\\"vehicle.is_approved\\\"\\r\\n                name=\\\"is_approved\\\"\\r\\n                disabled\\r\\n              ></ui-switch>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"ibox-content no-padding\\\">\\r\\n              <div class=\\\"row\\\" style=\\\"padding-top: 18px; padding-bottom: 18px\\\">\\r\\n                <div\\r\\n                  class=\\\"col-md-12 col-xs-12 col-sm-12\\\"\\r\\n                  style=\\\"padding-left: 28px\\\"\\r\\n                >\\r\\n                  <div class=\\\"row no_margin\\\" style=\\\"margin-bottom: 10px\\\">\\r\\n                    <label class=\\\"col-md-6\\\">{{\\r\\n                      title.provider_vehicle_name | translate\\r\\n                    }}</label>\\r\\n                    <div\\r\\n                      class=\\\"col-md-6\\\"\\r\\n                      *ngIf=\\\"edit_vehicle[vehicle_index] !== 'true'\\\"\\r\\n                    >\\r\\n                      <label style=\\\"font-weight: normal; color: black\\\">{{\\r\\n                        vehicle.vehicle_name\\r\\n                      }}</label>\\r\\n                    </div>\\r\\n                    <div\\r\\n                      class=\\\"col-md-6\\\"\\r\\n                      *ngIf=\\\"edit_vehicle[vehicle_index] == 'true'\\\"\\r\\n                    >\\r\\n                      <input\\r\\n                        type=\\\"text\\\"\\r\\n                        [(ngModel)]=\\\"vehicle.vehicle_name\\\"\\r\\n                        #vehicle_name=\\\"ngModel\\\"\\r\\n                        name=\\\"vehicle_name\\\"\\r\\n                        style=\\\"\\r\\n                          border-radius: 5px;\\r\\n                          border-color: #060606;\\r\\n                          height: 30px;\\r\\n                        \\\"\\r\\n                        class=\\\"form-control\\\"\\r\\n                        value=\\\"{{ vehicle.vehicle_name }}\\\"\\r\\n                      />\\r\\n                    </div>\\r\\n                  </div>\\r\\n                  <div class=\\\"row no_margin\\\" style=\\\"margin-bottom: 10px\\\">\\r\\n                    <label class=\\\"col-md-6\\\">{{\\r\\n                      title.provider_vehicle_plate_no | translate\\r\\n                    }}</label>\\r\\n                    <div\\r\\n                      class=\\\"col-md-6\\\"\\r\\n                      *ngIf=\\\"edit_vehicle[vehicle_index] !== 'true'\\\"\\r\\n                    >\\r\\n                      <label style=\\\"font-weight: normal; color: black\\\">{{\\r\\n                        vehicle.vehicle_plate_no\\r\\n                      }}</label>\\r\\n                    </div>\\r\\n                    <div\\r\\n                      class=\\\"col-md-6\\\"\\r\\n                      *ngIf=\\\"edit_vehicle[vehicle_index] == 'true'\\\"\\r\\n                    >\\r\\n                      <input\\r\\n                        type=\\\"text\\\"\\r\\n                        [(ngModel)]=\\\"vehicle.vehicle_plate_no\\\"\\r\\n                        #vehicle_plate_no=\\\"ngModel\\\"\\r\\n                        name=\\\"vehicle_plate_no\\\"\\r\\n                        style=\\\"\\r\\n                          border-radius: 5px;\\r\\n                          border-color: #060606;\\r\\n                          height: 30px;\\r\\n                        \\\"\\r\\n                        class=\\\"form-control\\\"\\r\\n                        value=\\\"{{ vehicle.vehicle_plate_no }}\\\"\\r\\n                      />\\r\\n                    </div>\\r\\n                  </div>\\r\\n                  <div class=\\\"row no_margin\\\" style=\\\"margin-bottom: 10px\\\">\\r\\n                    <label class=\\\"col-md-6\\\">{{\\r\\n                      title.provider_vehicle_year | translate\\r\\n                    }}</label>\\r\\n                    <div\\r\\n                      class=\\\"col-md-6\\\"\\r\\n                      *ngIf=\\\"edit_vehicle[vehicle_index] !== 'true'\\\"\\r\\n                    >\\r\\n                      <label style=\\\"font-weight: normal; color: black\\\">{{\\r\\n                        vehicle.vehicle_year\\r\\n                      }}</label>\\r\\n                    </div>\\r\\n                    <div\\r\\n                      class=\\\"col-md-6\\\"\\r\\n                      *ngIf=\\\"edit_vehicle[vehicle_index] == 'true'\\\"\\r\\n                    >\\r\\n                      <input\\r\\n                        type=\\\"text\\\"\\r\\n                        [(ngModel)]=\\\"vehicle.vehicle_year\\\"\\r\\n                        #vehicle_year=\\\"ngModel\\\"\\r\\n                        name=\\\"vehicle_year\\\"\\r\\n                        style=\\\"\\r\\n                          border-radius: 5px;\\r\\n                          border-color: #060606;\\r\\n                          height: 30px;\\r\\n                        \\\"\\r\\n                        class=\\\"form-control\\\"\\r\\n                        value=\\\"{{ vehicle.vehicle_year }}\\\"\\r\\n                      />\\r\\n                    </div>\\r\\n                  </div>\\r\\n\\r\\n                  <div class=\\\"row no_margin\\\" style=\\\"margin-bottom: 10px\\\">\\r\\n                    <label class=\\\"col-md-6\\\">{{\\r\\n                      title.provider_vehicle_model | translate\\r\\n                    }}</label>\\r\\n                    <div\\r\\n                      class=\\\"col-md-6\\\"\\r\\n                      *ngIf=\\\"edit_vehicle[vehicle_index] !== 'true'\\\"\\r\\n                    >\\r\\n                      <label style=\\\"font-weight: normal; color: black\\\">{{\\r\\n                        vehicle.vehicle_model\\r\\n                      }}</label>\\r\\n                    </div>\\r\\n                    <div\\r\\n                      class=\\\"col-md-6\\\"\\r\\n                      *ngIf=\\\"edit_vehicle[vehicle_index] == 'true'\\\"\\r\\n                    >\\r\\n                      <input\\r\\n                        type=\\\"text\\\"\\r\\n                        [(ngModel)]=\\\"vehicle.vehicle_model\\\"\\r\\n                        #vehicle_model=\\\"ngModel\\\"\\r\\n                        name=\\\"vehicle_model\\\"\\r\\n                        style=\\\"\\r\\n                          border-radius: 5px;\\r\\n                          border-color: #060606;\\r\\n                          height: 30px;\\r\\n                        \\\"\\r\\n                        class=\\\"form-control\\\"\\r\\n                        value=\\\"{{ vehicle.vehicle_model }}\\\"\\r\\n                      />\\r\\n                    </div>\\r\\n                  </div>\\r\\n\\r\\n                  <div class=\\\"row no_margin\\\" style=\\\"margin-bottom: 10px\\\">\\r\\n                    <label class=\\\"col-md-6\\\">{{\\r\\n                      title.provider_vehicle_color | translate\\r\\n                    }}</label>\\r\\n                    <div\\r\\n                      class=\\\"col-md-6\\\"\\r\\n                      *ngIf=\\\"edit_vehicle[vehicle_index] !== 'true'\\\"\\r\\n                    >\\r\\n                      <label style=\\\"font-weight: normal; color: black\\\">{{\\r\\n                        vehicle.vehicle_color\\r\\n                      }}</label>\\r\\n                    </div>\\r\\n                    <div\\r\\n                      class=\\\"col-md-6\\\"\\r\\n                      *ngIf=\\\"edit_vehicle[vehicle_index] == 'true'\\\"\\r\\n                    >\\r\\n                      <input\\r\\n                        type=\\\"text\\\"\\r\\n                        [(ngModel)]=\\\"vehicle.vehicle_color\\\"\\r\\n                        #vehicle_color=\\\"ngModel\\\"\\r\\n                        name=\\\"vehicle_color\\\"\\r\\n                        style=\\\"\\r\\n                          border-radius: 5px;\\r\\n                          border-color: #060606;\\r\\n                          height: 30px;\\r\\n                        \\\"\\r\\n                        class=\\\"form-control\\\"\\r\\n                        value=\\\"{{ vehicle.vehicle_color }}\\\"\\r\\n                      />\\r\\n                    </div>\\r\\n                  </div>\\r\\n\\r\\n                  <div class=\\\"row no_margin\\\" style=\\\"margin-bottom: 10px\\\">\\r\\n                    <label class=\\\"col-md-6\\\">{{\\r\\n                      title.provider_vehicle_service_type | translate\\r\\n                    }}</label>\\r\\n                    <label\\r\\n                      class=\\\"col-md-6\\\"\\r\\n                      style=\\\"font-weight: normal; color: black\\\"\\r\\n                      *ngIf=\\\"\\r\\n                        edit_vehicle[vehicle_index] !== 'true' &&\\r\\n                        vehicle.vehicle_detail.length > 0\\r\\n                      \\\"\\r\\n                      >{{ vehicle.vehicle_detail[0].vehicle_name }}</label\\r\\n                    >\\r\\n                    <div class=\\\"col-md-6\\\">\\r\\n                      <select\\r\\n                        *ngIf=\\\"edit_vehicle[vehicle_index] == 'true'\\\"\\r\\n                        class=\\\"form-control\\\"\\r\\n                        [(ngModel)]=\\\"vehicle.admin_vehicle_id\\\"\\r\\n                        #admin_vehicle_id=\\\"ngModel\\\"\\r\\n                        name=\\\"admin_vehicle_id\\\"\\r\\n                        data-placeholder=\\\"Select Vehicle\\\"\\r\\n                        tabindex=\\\"4\\\"\\r\\n                      >\\r\\n                        <option\\r\\n                          *ngFor=\\\"let i of vehicle_service_list\\\"\\r\\n                          value=\\\"{{ i._id }}\\\"\\r\\n                        >\\r\\n                          {{ i.vehicle_name }}\\r\\n                        </option>\\r\\n                      </select>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n\\r\\n              <div class=\\\"table-responsive\\\">\\r\\n                <table class=\\\"table\\\">\\r\\n                  <tr>\\r\\n                    <td></td>\\r\\n                    <td>{{ title.name | translate }}</td>\\r\\n                    <td style=\\\"width: 25%\\\">\\r\\n                      {{ title.unique_code | translate }}\\r\\n                    </td>\\r\\n                    <td style=\\\"width: 25%\\\">\\r\\n                      {{ title.expiry_date | translate }}\\r\\n                    </td>\\r\\n                    <td></td>\\r\\n                  </tr>\\r\\n                  <tr\\r\\n                    *ngFor=\\\"\\r\\n                      let document of vehicle.document_list;\\r\\n                      let document_index = index\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <td class=\\\"client-avatar\\\">\\r\\n                      <span\\r\\n                        *ngIf=\\\"edit_document[document_index] == 'true'\\\"\\r\\n                        class=\\\"btn-file\\\"\\r\\n                      >\\r\\n                        <img\\r\\n                          style=\\\"width: 20px; height: 20px\\\"\\r\\n                          src=\\\"{{\\r\\n                            helper.CONSTANT.IMAGE_BASE_URL + 'default.png'\\r\\n                          }}\\\"\\r\\n                          class=\\\"document{{ document_index }}\\\"\\r\\n                        />\\r\\n                        <input\\r\\n                          type=\\\"file\\\"\\r\\n                          (change)=\\\"\\r\\n                            vehicle_image_update(\\r\\n                              $event,\\r\\n                              document,\\r\\n                              document_index\\r\\n                            )\\r\\n                          \\\"\\r\\n                          name=\\\"image\\\"\\r\\n                        />\\r\\n                      </span>\\r\\n                      <img\\r\\n                        *ngIf=\\\"edit_document[document_index] !== 'true'\\\"\\r\\n                        style=\\\"width: 20px; height: 20px\\\"\\r\\n                        src=\\\"{{\\r\\n                          helper.CONSTANT.IMAGE_BASE_URL + 'default.png'\\r\\n                        }}\\\"\\r\\n                        class=\\\"document{{ document_index }}\\\"\\r\\n                      />\\r\\n                    </td>\\r\\n                    <td>{{ document.document_details.document_name }}</td>\\r\\n                    <td>\\r\\n                      <div\\r\\n                        *ngIf=\\\"\\r\\n                          document.document_details.is_unique_code &&\\r\\n                          edit_document[document_index] == 'true'\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <input\\r\\n                          type=\\\"text\\\"\\r\\n                          [(ngModel)]=\\\"document.unique_code\\\"\\r\\n                          #unique_code=\\\"ngModel\\\"\\r\\n                          name=\\\"unique_code\\\"\\r\\n                          style=\\\"\\r\\n                            border-radius: 5px;\\r\\n                            border-color: #060606;\\r\\n                            height: 30px;\\r\\n                          \\\"\\r\\n                          class=\\\"form-control\\\"\\r\\n                          value=\\\"{{ document.unique_code }}\\\"\\r\\n                        /><br />\\r\\n                      </div>\\r\\n                      <span\\r\\n                        *ngIf=\\\"\\r\\n                          edit_document[document_index] !== 'true' &&\\r\\n                          document.document_details.is_unique_code\\r\\n                        \\\"\\r\\n                        >{{ document.unique_code }}</span\\r\\n                      >\\r\\n                    </td>\\r\\n                    <td>\\r\\n                      <div\\r\\n                        *ngIf=\\\"\\r\\n                          document.document_details.is_expired_date &&\\r\\n                          edit_document[document_index] == 'true'\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <my-date-picker\\r\\n                          [(ngModel)]=\\\"document.expired_date\\\"\\r\\n                          #expired_date=\\\"ngModel\\\"\\r\\n                          name=\\\"expired_date\\\"\\r\\n                          id=\\\"expiry_date\\\"\\r\\n                          value=\\\"\\\"\\r\\n                          [options]=\\\"helper.ExpiryDatePickerOptions\\\"\\r\\n                          placeholder=\\\"{{ title.exp_date | translate }}\\\"\\r\\n                          readonly\\r\\n                        ></my-date-picker>\\r\\n                      </div>\\r\\n                      <span\\r\\n                        *ngIf=\\\"\\r\\n                          edit_document[document_index] !== 'true' &&\\r\\n                          document.document_details.is_expired_date\\r\\n                        \\\"\\r\\n                        >{{ document.expired_date | date : \\\"MM-dd-yyyy\\\" }}</span\\r\\n                      >\\r\\n                    </td>\\r\\n                    <td>\\r\\n                      <span\\r\\n                        *ngIf=\\\"\\r\\n                          edit_document[document_index] !== 'true' &&\\r\\n                          edit_vehicle[vehicle_index] == 'true'\\r\\n                        \\\"\\r\\n                        class=\\\"fa fa-pencil pull-right\\\"\\r\\n                        (click)=\\\"editDocument(document, document_index)\\\"\\r\\n                      ></span>\\r\\n                      <span\\r\\n                        *ngIf=\\\"\\r\\n                          edit_document[document_index] == 'true' &&\\r\\n                          edit_vehicle[vehicle_index] == 'true'\\r\\n                        \\\"\\r\\n                        class=\\\"fa fa-check pull-right\\\"\\r\\n                        (click)=\\\"\\r\\n                          updateVehicleDocument(\\r\\n                            document,\\r\\n                            document_index,\\r\\n                            vehicle\\r\\n                          )\\r\\n                        \\\"\\r\\n                      ></span>\\r\\n                    </td>\\r\\n                  </tr>\\r\\n                </table>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </form>\\r\\n      </div>\\r\\n    </div>\\r\\n  </modal-body>\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl\\\" #mysmsModal>\\r\\n  <form #modalSmsForm=\\\"ngForm\\\" (ngSubmit)=\\\"SendSms(modalSmsForm.value)\\\">\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n      <h4 class=\\\"modal-title\\\">{{ heading_title.admin_sms | translate }}</h4>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n      <div class=\\\"row\\\">\\r\\n        <input\\r\\n          type=\\\"hidden\\\"\\r\\n          class=\\\"form-control\\\"\\r\\n          [(ngModel)]=\\\"type\\\"\\r\\n          name=\\\"type\\\"\\r\\n        />\\r\\n        <input\\r\\n          type=\\\"hidden\\\"\\r\\n          class=\\\"form-control\\\"\\r\\n          [(ngModel)]=\\\"provider_id\\\"\\r\\n          name=\\\"provider_id\\\"\\r\\n        />\\r\\n        <div class=\\\"col-md-12\\\">\\r\\n          <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n            <div class=\\\"form-group\\\">\\r\\n              <label style=\\\"font-weight: normal\\\"\\r\\n                ><strong>{{ title.content | translate }}</strong></label\\r\\n              >\\r\\n              <textarea\\r\\n                class=\\\"form-control\\\"\\r\\n                [(ngModel)]=\\\"content\\\"\\r\\n                name=\\\"content\\\"\\r\\n                required\\r\\n              ></textarea>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n      <div style=\\\"text-align: center\\\">\\r\\n        <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">\\r\\n          {{ button.send | translate }}\\r\\n        </button>\\r\\n      </div>\\r\\n    </modal-footer>\\r\\n  </form>\\r\\n</modal>\\r\\n\\r\\n<modal\\r\\n  keyboard=\\\"false\\\"\\r\\n  backdrop=\\\"static\\\"\\r\\n  cssClass=\\\"modal-xl\\\"\\r\\n  #mynotificationModal\\r\\n>\\r\\n  <form\\r\\n    #modalNotificationForm=\\\"ngForm\\\"\\r\\n    (ngSubmit)=\\\"SendNotification(modalNotificationForm.value)\\\"\\r\\n  >\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n      <h4 class=\\\"modal-title\\\">\\r\\n        {{ heading_title.admin_send_notification | translate }}\\r\\n      </h4>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n      <div class=\\\"row\\\">\\r\\n        <input\\r\\n          type=\\\"hidden\\\"\\r\\n          class=\\\"form-control\\\"\\r\\n          [(ngModel)]=\\\"type\\\"\\r\\n          name=\\\"type\\\"\\r\\n        />\\r\\n        <input\\r\\n          type=\\\"hidden\\\"\\r\\n          class=\\\"form-control\\\"\\r\\n          [(ngModel)]=\\\"provider_id\\\"\\r\\n          name=\\\"provider_id\\\"\\r\\n        />\\r\\n        <div class=\\\"col-md-12\\\">\\r\\n          <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n            <div class=\\\"form-group\\\">\\r\\n              <label style=\\\"font-weight: normal\\\"\\r\\n                ><strong>{{\\r\\n                  title.notification_content | translate\\r\\n                }}</strong></label\\r\\n              >\\r\\n              <input\\r\\n                type=\\\"text\\\"\\r\\n                class=\\\"form-control\\\"\\r\\n                [(ngModel)]=\\\"content\\\"\\r\\n                name=\\\"content\\\"\\r\\n                required\\r\\n              />\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n      <div style=\\\"text-align: center\\\">\\r\\n        <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">\\r\\n          {{ button.send | translate }}\\r\\n        </button>\\r\\n      </div>\\r\\n    </modal-footer>\\r\\n  </form>\\r\\n</modal>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/provider/provider.component.html\n// module id = 1619\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n    <div class=\\\"col-md-2\\\">\\r\\n    </div>\\r\\n        <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n            <div>\\r\\n                <label>{{title.date_filter | translate}}</label>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-12 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n\\r\\n                        <my-date-picker id=\\\"start_date\\\" [options]=\\\"helper.myStartDatePickerOptions\\\" placeholder=\\\"Start Date\\\" [(ngModel)]=\\\"start_date\\\" (dateChanged)=\\\"helper.onStartDateChanged($event)\\\"\\r\\n                                        readonly></my-date-picker>\\r\\n                        <span class=\\\"input-group-addon date_filter_icon\\\">{{button.to}}</span>\\r\\n\\r\\n                        <my-date-picker id=\\\"end_date\\\" [options]=\\\"helper.myEndDatePickerOptions\\\" placeholder=\\\"End Date\\\" [(ngModel)]=\\\"end_date\\\" (dateChanged)=\\\"helper.onEndDateChanged($event)\\\"\\r\\n                                        readonly></my-date-picker>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n    \\r\\n        <div class=\\\"col-md-3 col-sm-12 remove_padding\\\">\\r\\n            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <button type=\\\"button\\\" (click)=\\\"history()\\\" class=\\\"btn filter_apply_btn\\\" style=\\\"width: unset;\\\">\\r\\n                    {{button.apply | translate}}\\r\\n                </button>\\r\\n            </div>\\r\\n            \\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n<div class=\\\"wrapper content_top_bar_view1 wrapper-content\\\">\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-12\\\">\\r\\n            <div class=\\\"ibox \\\">\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"tab-content\\\">\\r\\n                        <div id=\\\"contact-1\\\" class=\\\"tab-pane active\\\" ng-show=\\\"client == 1\\\" ng-init=\\\"client = 1\\\">\\r\\n                            <div class=\\\"row m-b-lg\\\">\\r\\n                                    <div class=\\\"row no_margin\\\">\\r\\n                                        \\r\\n                                        <div class=\\\"col-sm-12\\\">\\r\\n                                            <div class=\\\"text-center\\\">\\r\\n                                                <img alt=\\\"image\\\" style=\\\"width: 120px; height: 120px;\\\" class=\\\"img-circle m-t-xs\\\" src=\\\"{{user_detail.image_url != '' ? helper.CONSTANT.IMAGE_BASE_URL + user_detail.image_url : 'default.png'}}\\\">\\r\\n                                                <div style=\\\"margin-top: 10px;font-size: 18px;\\\">\\r\\n                                                    {{user_detail.first_name}} {{user_detail.last_name}} <span class=\\\"fa fa-star\\\" style=\\\"padding-left: 10px;\\\"></span> <span>{{(user_detail.user_rate)}}</span>\\r\\n                                                </div>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"row col-md-4 no_margin\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                                    </div>\\r\\n                                    <div class=\\\"row col-md-4 no_margin\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                                        <div class=\\\"col-md-3 remove_right_padding\\\">\\r\\n                                            <button (click)=\\\"open_modal(type,user_detail._id)\\\" type=\\\"button\\\" class=\\\"btn btn-light_black btn-sm btn-block\\\" tooltip=\\\"{{helper.button.add_wallet | translate}}\\\"\\r\\n                                                    [tooltipDisabled]=\\\"false\\\"\\r\\n                                                    [tooltipAnimation]=\\\"true\\\"\\r\\n                                                    tooltipPlacement=\\\"top\\\">\\r\\n                                                <i class=\\\"fa fa-plus\\\"></i>\\r\\n                                            </button>\\r\\n                                        </div>\\r\\n                                        <div class=\\\"col-md-3 remove_left_right_padding\\\">\\r\\n                                            <button (click)=\\\"open_sms_modal(type,user_detail._id)\\\" type=\\\"button\\\" class=\\\"btn btn-light_black btn-sm btn-block\\\" tooltip=\\\"{{helper.button.send_sms | translate}}\\\"\\r\\n                                                    [tooltipDisabled]=\\\"false\\\"\\r\\n                                                    [tooltipAnimation]=\\\"true\\\"\\r\\n                                                    tooltipPlacement=\\\"top\\\">\\r\\n                                                <i class=\\\"fa fa-comments\\\"></i>\\r\\n                                            </button>\\r\\n                                        </div>\\r\\n                                        <div class=\\\"col-md-3 remove_left_right_padding\\\">\\r\\n                                            <button (click)=\\\"open_notification_modal(type,user_detail._id)\\\" type=\\\"button\\\" class=\\\"btn btn-light_black btn-sm btn-block\\\" tooltip=\\\"{{helper.button.send_notification | translate}}\\\"\\r\\n                                                    [tooltipDisabled]=\\\"false\\\"\\r\\n                                                    [tooltipAnimation]=\\\"true\\\"\\r\\n                                                    tooltipPlacement=\\\"top\\\">\\r\\n                                                <i class=\\\"fa fa-bell\\\"></i>\\r\\n                                            </button>\\r\\n                                        </div>\\r\\n                                        <div class=\\\"col-md-3 remove_left_padding\\\" *ngIf=\\\"!user_detail.is_approved\\\">\\r\\n                                            <button (click)=\\\"approved_decline(2,user_detail._id)\\\" type=\\\"button\\\" class=\\\"btn btn-light_black btn-sm btn-block\\\" tooltip=\\\"{{helper.button.approved | translate}}\\\"\\r\\n                                                    [tooltipDisabled]=\\\"false\\\"\\r\\n                                                    [tooltipAnimation]=\\\"true\\\"\\r\\n                                                    tooltipPlacement=\\\"top\\\">\\r\\n                                                <i class=\\\"fa fa-check\\\"></i>\\r\\n                                            </button>\\r\\n                                        </div>\\r\\n                                        <div class=\\\"col-md-3 remove_left_padding\\\" *ngIf=\\\"user_detail.is_approved\\\">\\r\\n                                            <button (click)=\\\"approved_decline(1,user_detail._id)\\\" type=\\\"button\\\" class=\\\"btn btn-light_black btn-sm btn-block\\\" tooltip=\\\"{{helper.button.decline | translate}}\\\"\\r\\n                                                    [tooltipDisabled]=\\\"false\\\"\\r\\n                                                    [tooltipAnimation]=\\\"true\\\"\\r\\n                                                    tooltipPlacement=\\\"top\\\">\\r\\n                                                <i class=\\\"fa fa-ban\\\"></i>\\r\\n                                            </button>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"row\\\" style=\\\"margin-top: 50px;\\\">\\r\\n                                <div class=\\\"col-md-4\\\">\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <label>{{title.app_version | translate}}</label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <span *ngIf=\\\"user_detail.device_type\\\">{{user_detail.device_type}}</span> - <span *ngIf=\\\"user_detail.app_version\\\">{{user_detail.app_version}}</span>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-4\\\">\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <label>{{title.email | translate}}</label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <span>{{user_detail.email}}</span>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-4\\\">\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <label>{{title.total_completed_orders | translate}}</label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <span>{{earning_order_total.total_completed_orders}}</span>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-4\\\">\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <label>{{title.registered_date | translate}}</label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <span>{{user_detail.created_at | date: helper.DATE_FORMAT.DD_MMM_YYYY_HH_MM_A}}</span>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-4\\\">\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <label>{{title.phone | translate}}</label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <span>{{user_detail.country_phone_code}} {{user_detail.phone}}</span>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-4\\\">\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <label>{{title.total_order_amount | translate}}</label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <span>{{(earning_order_total.total.toFixed(2))}}</span>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-4\\\">\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <label>{{title.wallet | translate}}</label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <span>{{user_detail.wallet}} {{user_detail.wallet_currency_code}}</span>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-4\\\">\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <label>{{title.country | translate}}</label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <span>{{user_detail.country_details.country_name}}</span>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-4\\\">\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <label>{{title.city | translate}}</label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <span>{{user_detail.city_details.city_name}}</span>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-8\\\">\\r\\n                                    <div class=\\\"col-md-3\\\">\\r\\n                                        <label>{{title.address | translate}}</label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-9\\\">\\r\\n                                        <span>{{user_detail.address}}</span>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-4\\\">\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <label>{{title.delivery_type | translate}}</label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <span *ngFor=\\\"let delivery_detail of user_detail.delivery_details; let last=last;\\\">{{delivery_detail.delivery_name}}\\r\\n                                            <span *ngIf=\\\"!last\\\"> , </span>\\r\\n                                        </span>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-4\\\">\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <label>{{title.website_url | translate}}</label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <span>{{user_detail.website_url}}</span>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-4\\\">\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <label>{{title.slogan | translate}}</label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <span>{{user_detail.slogan}}</span>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                \\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"ibox\\\" *ngIf=\\\"earning_order_list.length>0\\\">\\r\\n            <div class=\\\"ibox-content\\\" style=\\\"overflow-x: scroll;\\\">\\r\\n                <div class=\\\"table-responsive\\\">\\r\\n                    <table class=\\\"table table-striped\\\">\\r\\n                        <thead>\\r\\n                            <tr>\\r\\n                                <th>{{title.ID | translate}}</th>\\r\\n                                <th>{{title.completed_at | translate}}</th>\\r\\n                                <th>{{title.user | translate}}</th>\\r\\n                                <th>{{title.store | translate}}</th>\\r\\n                                <th>{{title.payment_by | translate}}</th>\\r\\n                                <th>{{title.currency | translate}}</th>\\r\\n                                <th>{{title.total | translate}}</th>\\r\\n                                <th>{{title.admin_earning | translate}}</th>\\r\\n                                <th>{{title.provider_earning | translate}}</th>\\r\\n                                <th>{{title.earning_pay_provider | translate}}</th>\\r\\n                                <th>{{title.provider_income_set_in_wallet | translate}}</th>\\r\\n                                <th>{{title.store_earn | translate}}</th>\\r\\n                                <th>{{title.pay_store | translate}}</th>\\r\\n                                <th>{{title.store_income_set_in_wallet | translate}}</th>\\r\\n\\r\\n                                <th>{{title.action | translate}}</th>\\r\\n                            </tr>\\r\\n                        </thead>\\r\\n                        <tbody>\\r\\n\\r\\n                            <tr *ngFor=\\\"let order of earning_order_list; let index=index; let last=last;\\\">\\r\\n                                <td>{{order.unique_id}}</td>\\r\\n                                <td>{{order.completed_at| date: helper.DATE_FORMAT.DD_MMM_YYYY}}</td>\\r\\n                                \\r\\n                                <td>{{order.user_first_name}} {{order.user_last_name}}</td>\\r\\n                                <td>{{order.store_name}}</td>\\r\\n                                <td [ngSwitch]=\\\"order.order_payment_detail.is_payment_mode_cash\\\">\\r\\n                                    <div *ngSwitchCase=\\\"true\\\"><span class=\\\"label label-primary_new\\\">{{helper.lable_title.cash}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"false\\\"><span class=\\\"label label-danger\\\">{{helper.lable_title.card}}</span></div>\\r\\n                                </td>\\r\\n\\r\\n\\r\\n                                <td>{{order.currency}}</td>\\r\\n                                <td>{{((+order.order_payment_detail.total_delivery_price + +order.order_payment_detail.total_order_price).toFixed(2)) }}</td>\\r\\n                                <td>{{((+order.order_payment_detail.total_admin_profit_on_delivery + +order.order_payment_detail.total_admin_profit_on_store).toFixed(2)) }}</td>\\r\\n                                <td>{{order.order_payment_detail.total_provider_income}}</td>\\r\\n                                <td>{{((order.order_payment_detail.pay_to_provider).toFixed(2))}}</td>\\r\\n                                <td>{{order.order_payment_detail.provider_income_set_in_wallet}}</td>\\r\\n                                <td>{{order.order_payment_detail.total_store_income}}</td>\\r\\n                                <td>{{((order.order_payment_detail.pay_to_store).toFixed(2))}}</td>\\r\\n                                <td>{{(order.order_payment_detail.store_income_set_in_wallet).toFixed(2)}}</td>\\r\\n\\r\\n                                <td><div class=\\\"dropdown pull-right\\\" [class.dropup]=\\\"last && !index==0\\\" dropdown>\\r\\n                                        <button class=\\\"btn btn-primary\\\" dropdown-open>{{title.action | translate}}<span class=\\\"caret\\\"></span></button>\\r\\n\\r\\n\\r\\n                                        <ul class=\\\"dropdown-menu\\\">\\r\\n                                            <li><a (click)=\\\"viewOrderEarningDetail(order._id)\\\"><span style=\\\"display:block;\\\" class=\\\"nav-label\\\">{{button.view_detail | translate}}</span> </a></li>\\r\\n                                        </ul>\\r\\n                                    </div>\\r\\n                                </td>\\r\\n\\r\\n                            </tr>\\r\\n                        </tbody>\\r\\n                    </table>\\r\\n                    <div class=\\\"col-md-12 col-sm-12\\\" style=\\\"margin-top: 6px;\\\">\\r\\n                        <div class=\\\"lable_center\\\">\\r\\n\\r\\n                            <ul class=\\\"pagination\\\">\\r\\n                                <li *ngIf=\\\"earning_page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"order_earning(earning_page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                                <li *ngFor=\\\"let index of earning_total_pages\\\" [class.active]=\\\"earning_page==index\\\">\\r\\n                                    <a *ngIf=\\\"index==1 || index==earning_total_page || index==earning_page || index==earning_page-1 || index==earning_page+1\\\" (click)=\\\"order_earning(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                                    <a *ngIf=\\\"(index==1 && (earning_page!==1 && earning_page!==2 && earning_page!==3)) || (index==earning_total_page-1 && (earning_page!==earning_total_page && earning_page!==earning_total_page-1 && earning_page!==earning_total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n\\r\\n                                </li>\\r\\n                                <li *ngIf=\\\"earning_page!==earning_total_page && earning_order_list.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"order_earning(earning_page+1)\\\">{{button.next | translate}}</a></li>\\r\\n                            </ul>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        \\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-8\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-content\\\" style=\\\"padding-bottom: 40px;\\\">\\r\\n                    <div class=\\\"table-responsive scrollbar\\\" style=\\\"height: calc(100vh - 255px);overflow: auto;\\\">\\r\\n                        <table class=\\\"table\\\">\\r\\n                            <thead>\\r\\n                            <tr>\\r\\n                                <th>{{title.id | translate}}</th>\\r\\n                                <th>{{title.store | translate}}</th>\\r\\n                                <th>{{title.user | translate}}</th>\\r\\n                                <th>{{title.date | translate}}</th>\\r\\n                                <th>{{title.total | translate}}</th>\\r\\n                                <th>{{title.status | translate}}</th>\\r\\n                                <th>{{title.action | translate}}</th>\\r\\n                            </tr>\\r\\n                            </thead>\\r\\n                            <tbody>\\r\\n\\r\\n                            <tr *ngFor=\\\"let order of order_list; let index=index; let last=last; \\\" [class.selected_tr]=\\\"order._id==order_detail._id\\\"  (click)=\\\"get_order_detail(order._id)\\\">\\r\\n                                <td>{{order.unique_id}}</td>\\r\\n                                <td><div>{{order.store_name}}</div></td>\\r\\n                                <td>{{order.user_first_name}} {{order.user_last_name}}</td>\\r\\n                                <td>{{moment(order.completed_at).tz(order.timezone !== undefined ? order.timezone: 'Asia/Kolkata').format('DD MMM YYYY HH:mm a')}}</td>\\r\\n                                <td>{{order.total.toFixed(2)}}</td>\\r\\n                                <td [ngSwitch]=\\\"order.order_status\\\">\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.STORE_REJECTED\\\"><span class=\\\"label label-danger\\\">{{status.rejected1 | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.STORE_CANCELLED\\\"><span class=\\\"label label-danger\\\">{{status.cancelled1 | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.NO_DELIVERY_MAN_FOUND\\\"><span class=\\\"label label-danger\\\">{{status.no_delivery_man_found1 | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_REJECTED\\\"><span class=\\\"label label-danger\\\">{{status.delivery_man_rejected1 | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_CANCELLED\\\"><span class=\\\"label label-danger\\\">{{status.delivery_man_cancelled1 | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.CANCELED_BY_USER\\\"><span class=\\\"label label-danger\\\">{{status.user_cancelled | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.ADMIN_CANCELLED\\\"><span class=\\\"label label-danger\\\">{{status.admin_cancelled | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_COMPLETE_DELIVERY\\\"><span class=\\\"label label-primary\\\">{{status.order_delivered | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.ORDER_COMPLETED\\\"><span class=\\\"label label-primary\\\">{{status.completed | translate}}</span></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"text-left footable-visible footable-last-column\\\">\\r\\n                                    <div class=\\\"btn-group\\\">\\r\\n                                        <button (click)=\\\"open_detail_modal(index)\\\" class=\\\"btn btn-xs btn-light_black\\\">{{helper.button.detail | translate}}</button>\\r\\n                                    </div>\\r\\n                                </td>\\r\\n                            </tr>\\r\\n\\r\\n                            </tbody>\\r\\n                        </table>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-12 col-sm-12\\\" style=\\\"margin-top: 6px;\\\">\\r\\n                        <div class=\\\"lable_center\\\">\\r\\n\\r\\n                            <ul class=\\\"pagination\\\">\\r\\n                                <li *ngIf=\\\"page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"store_history(page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                                <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page==index\\\">\\r\\n                                    <a *ngIf=\\\"index==1 || index==total_page || index==page || index==page-1 || index==page+1\\\" (click)=\\\"store_history(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                                    <a *ngIf=\\\"(index==1 && (page!==1 && page!==2 && page!==3)) || (index==total_page-1 && (page!==total_page && page!==total_page-1 && page!==total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n\\r\\n                                </li>\\r\\n                                <li *ngIf=\\\"page!==total_page && order_list.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"store_history(page+1)\\\">{{button.next | translate}}</a></li>\\r\\n                            </ul>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4\\\" *ngIf=\\\"order_detail.user_detail;\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-content scrollbar\\\" style=\\\"height: calc(100vh - 205px);overflow: auto;\\\">\\r\\n                    <div *ngIf=\\\"order_detail.cart_detail\\\" >\\r\\n                        <label><span class=\\\"fa fa-map-marker\\\" style=\\\"margin-right: 5px;\\\"></span>{{title.delivery_address | translate}}\\r\\n                            <span *ngIf=\\\"order_detail.is_schedule_order\\\" class=\\\"fa fa-clock-o product_arrow\\\"></span>\\r\\n                            <span *ngIf=\\\"order_detail.order_payment_detail.is_user_pick_up_order\\\" class=\\\"fa fa-user product_arrow\\\"></span>\\r\\n                        </label>\\r\\n                        <button *ngIf=\\\"order_detail.order_status_id==helper.ORDER_STATUS_ID.COMPLETED\\\" (click)=\\\"show_review(order_detail._id)\\\"\\r\\n                                class=\\\"btn btn-xs btn-light_black pull-right\\\">{{button.reviews | translate}}</button>\\r\\n                        <div style=\\\"margin-left: 10px;\\\">{{order_detail.cart_detail.destination_addresses[0].address}}</div>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"row\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                        <div class=\\\"col-md-4\\\">\\r\\n                            <img style=\\\"width: 80px; height: 80px;\\\" class=\\\"img-circle m-t-xs\\\" src=\\\"{{order_detail.user_detail.image_url != '' ? helper.CONSTANT.IMAGE_BASE_URL + order_detail.user_detail.image_url : 'default.png'}}\\\">\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8\\\">\\r\\n                            <label>{{heading_title.order_by | translate}}</label>\\r\\n                            <div>{{order_detail.user_detail.first_name + \\\" \\\" + order_detail.user_detail.last_name}} ({{order_detail.user_detail.unique_id}})</div>\\r\\n                            <div>{{order_detail.user_detail.email}}</div>\\r\\n                            <div>{{order_detail.user_detail.country_phone_code + \\\" \\\" + order_detail.user_detail.phone}}</div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"row\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                        <div class=\\\"col-md-4\\\">\\r\\n                            <img style=\\\"width: 80px; height: 80px;\\\" class=\\\"img-circle m-t-xs\\\" src=\\\"{{order_detail.store_detail.image_url != '' ? helper.CONSTANT.IMAGE_BASE_URL + order_detail.store_detail.image_url : 'default.png'}}\\\">\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8\\\">\\r\\n                            <label>{{heading_title.order_from | translate}}</label>\\r\\n                            <div>{{order_detail.store_detail.name}} ({{order_detail.store_detail.unique_id}})</div>\\r\\n                            <div>{{order_detail.store_detail.email}}</div>\\r\\n                            <div>{{order_detail.store_detail.country_phone_code + \\\" \\\" + order_detail.store_detail.phone}}</div>\\r\\n                            <div>{{order_detail.store_detail.address}}</div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"row\\\" *ngIf=\\\"!order_detail.order_payment_detail.is_user_pick_up_order && order_detail.provider_detail;\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                        <div class=\\\"col-md-4\\\">\\r\\n                            <img style=\\\"width: 80px; height: 80px;\\\" class=\\\"img-circle m-t-xs\\\" src=\\\"{{order_detail.user_detail.image_url != '' ? helper.CONSTANT.IMAGE_BASE_URL + order_detail.user_detail.image_url : 'default.png'}}\\\">\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8\\\">\\r\\n                            <label>{{heading_title.deliver_by | translate}}</label>\\r\\n                            <div>{{order_detail.provider_detail.first_name + \\\" \\\" + order_detail.provider_detail.last_name}} ({{order_detail.provider_detail.unique_id}})</div>\\r\\n                            <div>{{order_detail.provider_detail.email}}</div>\\r\\n                            <div>{{order_detail.provider_detail.country_phone_code + \\\" \\\" + order_detail.provider_detail.phone}}</div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"row\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                        <div class=\\\"col-md-4\\\">\\r\\n                            <img style=\\\"width: 80px; height: 80px;\\\" class=\\\"img-circle m-t-xs\\\" src=\\\"default.png\\\">\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8\\\">\\r\\n                            <label>{{heading_title.order_to | translate}}</label>\\r\\n                            <div>{{order_detail.cart_detail.destination_addresses[0].user_details.name}}</div>\\r\\n                            <div>{{order_detail.cart_detail.destination_addresses[0].user_details.email}}</div>\\r\\n                            <div>{{order_detail.cart_detail.destination_addresses[0].user_details.phone}}</div>\\r\\n                            <div>Comment: {{order_detail.cart_detail.destination_addresses[0].note}}</div>\\r\\n                            <div>Floor: {{order_detail.cart_detail.destination_addresses[0].floor}}</div>\\r\\n                            <div>entry code: {{order_detail.cart_detail.destination_addresses[0].entry_code}}</div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div *ngIf=\\\"order_detail.order_status_id==helper.ORDER_STATUS_ID.CANCELLED\\\" class=\\\"row\\\" style=\\\"margin-top: 20px;\\\">\\r\\n                        <div class=\\\"col-md-12\\\">\\r\\n                            <label>{{heading_title.cancellation_reason | translate}}</label>\\r\\n                            <div>{{order_detail.cancel_reason}}</div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div *ngIf=\\\"order_detail.order_status_id==helper.ORDER_STATUS_ID.REJECTED\\\" class=\\\"row\\\" style=\\\"margin-top: 20px;\\\">\\r\\n                        <div class=\\\"col-md-12\\\">\\r\\n                            <label>{{heading_title.rejection_reason | translate}}</label>\\r\\n                            <div>{{order_detail.cancel_reason}}</div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n\\r\\n        <div class=\\\"col-md-3\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                        <label>Provider to User</label>\\r\\n                    <div *ngFor=\\\"let review of review_list;\\\">\\r\\n                        <div *ngIf=\\\"review.provider_rating_to_user>0 && review.user_query\\\" class=\\\"row form-group\\\">\\r\\n                            <div class=\\\"col-md-3 col-xs-3\\\">\\r\\n                                <img class=\\\"img-circle\\\" src=\\\"{{review.user_query.image_url != '' ? helper.CONSTANT.IMAGE_BASE_URL + review.user_query.image_url : 'default.png'}}\\\" style=\\\"width: 80px; height: 80px;\\\">\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-8 col-xs-8\\\">\\r\\n                                <div style=\\\"display: inline;\\\" *ngFor=\\\"let rate of Array(review.provider_rating_to_user)\\\"><span class=\\\"fa fa-star rating_star\\\"></span></div>\\r\\n                                <div style=\\\"font-size: 15px;\\\">{{helper.title.reviewed_for}}: {{review.user_query.first_name}} {{review.user_query.last_name}}\\r\\n                                    <span style=\\\"font-size: 12px;\\\">({{title.order_id | translate}}: {{review.order_unique_id}})</span>\\r\\n                                </div>\\r\\n                                <div style=\\\"font-size: 15px;color: black;\\\">{{review.provider_review_to_store}}</div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-3\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                        <label>Provider to Store</label>\\r\\n                    <div *ngFor=\\\"let review of review_list;\\\">\\r\\n                        <div *ngIf=\\\"review.provider_rating_to_store>0 && review.store_detail\\\" class=\\\"row form-group\\\">\\r\\n                            <div class=\\\"col-md-3 col-xs-3\\\">\\r\\n                                <img class=\\\"img-circle\\\" src=\\\"{{review.store_detail.image_url != '' ? helper.CONSTANT.IMAGE_BASE_URL + review.store_detail.image_url : 'default.png'}}\\\" style=\\\"width: 80px; height: 80px;\\\">\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-8 col-xs-8\\\">\\r\\n                                <div style=\\\"display: inline;\\\" *ngFor=\\\"let rate of Array(review.provider_rating_to_store)\\\"><span class=\\\"fa fa-star rating_star\\\"></span></div>\\r\\n                                <div style=\\\"font-size: 15px;\\\">{{helper.title.reviewed_for}}: {{review.store_detail.first_name}} {{review.store_detail.last_name}}\\r\\n                                    <span style=\\\"font-size: 12px;\\\">({{title.order_id | translate}}: {{review.order_unique_id}})</span>\\r\\n                                </div>\\r\\n                                <div style=\\\"font-size: 15px;color: black;\\\">{{review.provider_review_to_store}}</div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-3\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                        <label>User to Provider</label>\\r\\n                    <div *ngFor=\\\"let review of review_list;\\\">\\r\\n                        <div *ngIf=\\\"review.user_rating_to_provider>0 && review.user_query\\\" class=\\\"row form-group\\\">\\r\\n                            <div class=\\\"col-md-3 col-xs-3\\\">\\r\\n                                <img class=\\\"img-circle\\\" src=\\\"{{review.user_query.image_url != '' ? helper.CONSTANT.IMAGE_BASE_URL + review.user_query.image_url : 'default.png'}}\\\" style=\\\"width: 80px; height: 80px;\\\">\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-8 col-xs-8\\\">\\r\\n                                <div style=\\\"display: inline;\\\" *ngFor=\\\"let rate of Array(review.user_rating_to_provider)\\\"><span class=\\\"fa fa-star rating_star\\\"></span></div>\\r\\n                                <div style=\\\"font-size: 15px;\\\">{{helper.title.reviewed_by}}: {{review.user_query.first_name}} {{review.user_query.last_name}} \\r\\n                                    <span style=\\\"font-size: 12px;\\\">({{title.order_id | translate}}: {{review.order_unique_id}})</span>\\r\\n                                </div>\\r\\n                                <div style=\\\"font-size: 15px;color: black;\\\">{{review.user_review_to_provider}}</div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-3\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                        <label>Store to Provider</label>\\r\\n                    <div *ngFor=\\\"let review of review_list;\\\">\\r\\n                        <div *ngIf=\\\"review.store_rating_to_provider>0 && review.store_detail\\\" class=\\\"row form-group\\\">\\r\\n                            <div class=\\\"col-md-3 col-xs-3\\\">\\r\\n                                <img class=\\\"img-circle\\\" src=\\\"{{review.store_detail.image_url != '' ? helper.CONSTANT.IMAGE_BASE_URL + review.store_detail.image_url : 'default.png'}}\\\" style=\\\"width: 80px; height: 80px;\\\">\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-8 col-xs-8\\\">\\r\\n                                <div style=\\\"display: inline;\\\" *ngFor=\\\"let rate of Array(review.store_rating_to_provider)\\\"><span class=\\\"fa fa-star rating_star\\\"></span></div>\\r\\n                                <div style=\\\"font-size: 15px;\\\">{{helper.title.reviewed_by}}: {{review.store_detail.first_name}} {{review.store_detail.last_name}} \\r\\n                                    <span style=\\\"font-size: 12px;\\\">({{title.order_id | translate}}: {{review.order_unique_id}})</span>\\r\\n                                </div>\\r\\n                                <div style=\\\"font-size: 15px;color: black;\\\">{{review.store_review_to_provider}}</div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        \\r\\n    </div>\\r\\n    \\r\\n</div>\\r\\n<modal cssClass=\\\"\\\" #review_detail_modal>\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n        <label>{{heading_title.review_detail | translate}}</label>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n        <div class=\\\"table-responsive scrollbar\\\" style=\\\"height: 100%;\\\">\\r\\n            <table class=\\\"table\\\">\\r\\n                <thead>\\r\\n                    <tr *ngIf=\\\"review_detail.user_detail && review_detail.user_detail.length>0\\\">\\r\\n                        <th>{{title.user | translate}}</th>\\r\\n                        <th>{{title.to_store | translate}}</th>\\r\\n                        <th>{{title.to_deliveryman | translate}}</th>\\r\\n                    </tr>\\r\\n                    <tr *ngIf=\\\"review_detail.user_detail && review_detail.user_detail.length>0\\\">\\r\\n                        <td>{{review_detail.user_detail[0].first_name}} {{review_detail.user_detail[0].last_name}}</td>\\r\\n                        <td>\\r\\n                            <span class=\\\"fa fa-star\\\"></span> {{review_detail.user_rating_to_store}}<br>\\r\\n                            {{review_detail.user_review_to_store}}\\r\\n                            <div *ngIf=\\\"review_detail.user_review_to_store==''\\\">\\r\\n                                {{title.not_available | translate}}\\r\\n                            </div>\\r\\n                            <div style=\\\"margin-top: 5px;\\\" *ngIf=\\\"review_detail.user_review_to_store!=''\\\">\\r\\n                                <span style=\\\"font-size: 20px;color: #85ad69;\\\" class=\\\"fa fa-thumbs-o-up\\\"></span>\\r\\n                                <span style=\\\"margin-left: 5px;font-size: 15px;\\\">{{review_detail.number_of_users_like_store_comment}}</span>\\r\\n                                <span style=\\\"margin-left: 5px;font-size: 20px;color: red;\\\" class=\\\"fa fa-thumbs-o-down\\\"></span>\\r\\n                                <span style=\\\"margin-left: 5px;font-size: 15px;\\\">{{review_detail.number_of_users_dislike_store_comment}}</span>\\r\\n                            </div>\\r\\n                        </td>\\r\\n                        <td>\\r\\n                            <span class=\\\"fa fa-star\\\"></span> {{review_detail.user_rating_to_provider}}<br>\\r\\n                            {{review_detail.user_review_to_provider}}\\r\\n                            <div *ngIf=\\\"review_detail.user_review_to_provider==''\\\">\\r\\n                                {{title.not_available | translate}}\\r\\n                            </div>\\r\\n                        </td>\\r\\n                    </tr><br>\\r\\n                    <tr *ngIf=\\\"review_detail.store_detail && review_detail.store_detail.length>0\\\">\\r\\n                        <th>{{title.store | translate}}</th>\\r\\n                        <th>{{title.to_user | translate}}</th>\\r\\n                        <th>\\r\\n                            {{title.to_deliveryman | translate}}\\r\\n                        </th>\\r\\n                    </tr>\\r\\n                    <tr *ngIf=\\\"review_detail.store_detail && review_detail.store_detail.length>0\\\">\\r\\n                        <td>{{review_detail.store_detail[0].name}}</td>\\r\\n                        <td>\\r\\n                            <span class=\\\"fa fa-star\\\"></span> {{review_detail.store_rating_to_user}}<br>\\r\\n                            {{review_detail.store_review_to_user}}\\r\\n                            <div *ngIf=\\\"review_detail.store_review_to_user==''\\\">\\r\\n                                {{title.not_available | translate}}\\r\\n                            </div>\\r\\n                        </td>\\r\\n                        <td>\\r\\n                            <span class=\\\"fa fa-star\\\"></span> {{review_detail.store_rating_to_provider}}<br>\\r\\n                            {{review_detail.store_review_to_provider}}\\r\\n                            <div *ngIf=\\\"review_detail.store_review_to_provider==''\\\">\\r\\n                                {{title.not_available | translate}}\\r\\n                            </div>\\r\\n                        </td>\\r\\n                    </tr><br>\\r\\n                    <tr *ngIf=\\\"review_detail.provider_detail && review_detail.provider_detail.length>0\\\">\\r\\n                        <th>{{title.deliveryman | translate}}</th>\\r\\n                        <th>{{title.to_user | translate}}</th>\\r\\n                        <th>{{title.to_store | translate}}</th>\\r\\n                    </tr>\\r\\n                    <tr *ngIf=\\\"review_detail.provider_detail && review_detail.provider_detail.length>0\\\">\\r\\n                        <td>{{review_detail.provider_detail[0].first_name}} {{review_detail.provider_detail[0].last_name}}</td>\\r\\n                        <td>\\r\\n                            <span class=\\\"fa fa-star\\\"></span> {{review_detail.provider_rating_to_user}}<br>\\r\\n                            {{review_detail.provider_review_to_user}}\\r\\n                            <div *ngIf=\\\"review_detail.provider_review_to_user==''\\\">\\r\\n                                {{title.not_available | translate}}\\r\\n                            </div>\\r\\n                        </td>\\r\\n                        <td>\\r\\n                            <span class=\\\"fa fa-star\\\"></span> {{review_detail.provider_rating_to_store}}<br>\\r\\n                            {{review_detail.provider_review_to_store}}\\r\\n                            <div *ngIf=\\\"review_detail.provider_review_to_store==''\\\">\\r\\n                                {{title.not_available | translate}}\\r\\n                            </div>\\r\\n                        </td>\\r\\n                    </tr>\\r\\n                </thead>\\r\\n            </table>\\r\\n        </div>\\r\\n    </modal-body>\\r\\n</modal>\\r\\n\\r\\n<modal cssClass=\\\"modal-invoice\\\" #order_detail_modal>\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n        <label>{{heading_title.order_detail | translate}}</label>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n        <div class=\\\"row\\\" *ngIf=\\\"order_detail.cart_detail\\\">\\r\\n            <div class=\\\"col-md-4\\\">\\r\\n                <div class=\\\"ibox remove_ibox_margin\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <h4 class=\\\"pull-right\\\">{{currency_sign}}{{order_total.toFixed(2)}}</h4>\\r\\n                        <span style=\\\"position: absolute; left:48%;\\\">(<strong>{{total_item}}</strong>) {{title.items | translate}}</span>\\r\\n                        <h5>{{heading_title.order_detail | translate}}</h5>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content invoice_popup_box\\\">\\r\\n                        <div *ngFor=\\\"let products of order_detail.cart_detail.order_details; let product_index=index; \\\">\\r\\n                            <div style=\\\"border-bottom: 1px solid brown;text-align: center;\\\">\\r\\n                                <h4 class=\\\"pull-right\\\">{{currency_sign}}{{product_item_total_array[product_index]}}\\r\\n                                    <span *ngIf=\\\"hide_specification_group[product_index]=='true'\\\" (click)=\\\"show_specifications_group(product_index)\\\" class=\\\"fa fa-chevron-left\\\"></span>\\r\\n                                    <span *ngIf=\\\"hide_specification_group[product_index]=='false'\\\" (click)=\\\"hide_specifications_group(product_index)\\\" class=\\\"fa fa-chevron-down\\\"></span>\\r\\n                                </h4>\\r\\n                                <span>(<strong>{{products.items.length}}</strong>) {{title.items | translate}}</span>\\r\\n                                <h5 style=\\\"float: left;\\\">{{products.product_name}}</h5>\\r\\n                            </div>\\r\\n\\r\\n                            <div id=\\\"spec_list{{product_index}}\\\" class=\\\"table-responsive\\\" style=\\\"    width: 100%;\\\">\\r\\n                                <table class=\\\"table\\\">\\r\\n                                    <thead style=\\\"border-bottom: 1px solid;\\\">\\r\\n                                    <tr>\\r\\n                                        <th >{{title.item | translate}}</th>\\r\\n                                        <th >{{title.spec | translate}} {{title.price | translate}}</th>\\r\\n                                        <th >{{title.price | translate}}</th>\\r\\n                                        <th >{{title.qty | translate}}</th>\\r\\n                                        <th >{{title.total | translate}}</th>\\r\\n                                    </tr>\\r\\n                                    </thead>\\r\\n\\r\\n                                    <tbody *ngFor=\\\"let item of products.items; let odd=odd; let item_index=index; \\\" (click)=\\\"get_specification(product_index, item_index)\\\">\\r\\n                                    <tr style=\\\"cursor: pointer;\\\">\\r\\n                                        <td >{{item.item_name}}</td>\\r\\n                                        <td>{{currency_sign}}{{item.total_specification_price}}</td>\\r\\n                                        <td>{{currency_sign}}{{item.item_price}}</td>\\r\\n                                        <td >{{item.quantity}}</td>\\r\\n                                        <td >{{currency_sign}}{{((item.item_price + item.total_specification_price)*item.quantity).toFixed(2)}}</td>\\r\\n                                    </tr>\\r\\n                                    <tr style=\\\"cursor: pointer;color: red;\\\">\\r\\n                                        <td colspan=\\\"5\\\" style=\\\"border-top: 0;\\\">Note : {{item.note_for_item}}</td>\\r\\n                                    </tr>\\r\\n                                    </tbody>\\r\\n\\r\\n                                </table>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-4\\\" *ngIf=\\\"is_show_specification\\\">\\r\\n                <div class=\\\"ibox remove_ibox_margin\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <h5>{{title.specifications | translate}}</h5>\\r\\n                        <span class=\\\"fa fa-remove pull-right\\\" (click)=\\\"is_show_specification=false;\\\"></span>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"ibox-content invoice_popup_box\\\">\\r\\n\\r\\n                        <div *ngFor=\\\"let specification_group of specifications; let odd=odd;\\\" [class.row]=\\\"odd\\\" style=\\\"margin: 0;\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\" style=\\\"padding: 0px;\\\">\\r\\n                                    <div class=\\\"col-md-12\\\" style=\\\"padding: 0;border-bottom: 1px solid #dcdcdc;\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5>{{specification_group.name}}</h5></div>\\r\\n                                        <div *ngIf=\\\"specification_group.price > 0\\\" class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;\\\">{{currency_sign}}{{specification_group.price.toFixed(2)}}</h5></div>\\r\\n                                    </div>\\r\\n\\r\\n                                    <div class=\\\"col-md-12\\\" *ngFor=\\\"let specification of specification_group.list\\\">\\r\\n                                        <div style=\\\"padding: 0;\\\" class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h6 style=\\\"font-size: 13px;\\\">{{specification.name}}</h6></div>\\r\\n                                        <div *ngIf=\\\"specification.price > 0\\\" class=\\\"col-md-4 col-sm-4 col-xs-4\\\" style=\\\"padding: 0;\\\"><h6 style=\\\"font-size: 13px;float: right;\\\">{{currency_sign}}{{specification.price.toFixed(2)}}</h6></div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"row\\\" style=\\\"border-top: 1px solid;padding-top: 15px;\\\" *ngIf=\\\"item_note!=''\\\">\\r\\n                            <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\">\\r\\n                                <label>{{title.item_note_here}}</label>\\r\\n                                <div>\\r\\n                                    <h6 style=\\\"font-size: 13px;\\\">{{item_note}}</h6>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-4\\\" *ngIf=\\\"!is_show_specification\\\">\\r\\n                <div class=\\\"ibox remove_ibox_margin\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"background-color: #d4d8d8;\\\">\\r\\n                        <h5>{{heading_title.order_status | translate}}</h5>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content invoice_popup_box\\\">\\r\\n\\r\\n                        <div id=\\\"vertical-timeline\\\" class=\\\"vertical-container dark-timeline\\\">\\r\\n\\r\\n                            <div *ngFor=\\\"let date of order_detail.date_time;\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                <div class=\\\"vertical-timeline-icon gray-bg\\\" *ngIf=\\\"date.status!==helper.ORDER_STATE.ORDER_COMPLETED\\\">\\r\\n                                </div>\\r\\n                                <div class=\\\"vertical-timeline-content\\\" [ngSwitch]=\\\"date.status\\\" *ngIf=\\\"date.status!==helper.ORDER_STATE.ORDER_COMPLETED\\\" style=\\\"padding-top: 1px;\\\">\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.WAITING_FOR_ACCEPT_STORE\\\"><span>{{helper.status.waiting_for_accept | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_ACCEPTED\\\"><span>{{helper.status.accepted | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_PREPARING_ORDER\\\"><span>{{helper.status.start_preparing_order | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.OREDER_READY\\\"><span>{{helper.status.order_ready | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.WAITING_FOR_DELIVERY_MAN\\\"><span>{{helper.status.waiting_for_delivery_man | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_REJECTED\\\"><span>{{helper.status.rejected | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_CANCELLED\\\"><span>{{helper.status.cancelled | translate}}</span></p>\\r\\n                                    <span *ngIf=\\\"!order_detail.request_detail\\\">\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.ORDER_COMPLETED\\\"><span>{{helper.status.completed | translate}}</span></p></span>\\r\\n                                    <span *ngIf=\\\"!order_detail.request_detail\\\"><p *ngSwitchCase=\\\"helper.ORDER_STATE.CANCELED_BY_USER\\\"><span>{{helper.status.user_cancelled | translate}}</span></p></span>\\r\\n                                    <span *ngIf=\\\"date.status!==helper.ORDER_STATE.ORDER_COMPLETED\\\" class=\\\"vertical-date small text-muted\\\">{{moment(date.date).tz(order_detail.timezone !== '' ? order_detail.timezone: 'Asia/Kolkata').format('DD MMM YYYY HH:mm a')}}</span>\\r\\n                                </div>\\r\\n                                <div class=\\\"vertical-timeline-icon gray-bg\\\" *ngIf=\\\"date.status==helper.ORDER_STATE.ORDER_COMPLETED&&!order_detail.request_detail\\\">\\r\\n                                </div>\\r\\n                                <div class=\\\"vertical-timeline-content\\\" [ngSwitch]=\\\"date.status\\\" *ngIf=\\\"date.status==helper.ORDER_STATE.ORDER_COMPLETED&&!order_detail.request_detail\\\" style=\\\"padding-top: 1px;\\\">\\r\\n                                    <p><span>{{helper.status.completed | translate}}</span></p>\\r\\n                                </div>\\r\\n                                </div>\\r\\n                            <div *ngIf=\\\"order_detail.request_detail\\\">\\r\\n                                <div *ngFor=\\\"let date of order_detail.request_detail.date_time;\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                    <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                    </div>\\r\\n                                    <div class=\\\"vertical-timeline-content\\\" [ngSwitch]=\\\"date.status\\\" style=\\\"padding-top: 1px;\\\">\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.WAITING_FOR_DELIVERY_MAN\\\"><span>{{helper.status.waiting_for_delivery_man | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_ACCEPTED\\\"><span>{{helper.status.delivery_man_accepted | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_COMING\\\"><span>{{helper.status.delivery_man_coming | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_ARRIVED\\\"><span>{{helper.status.delivery_man_arrived | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\\\"><span>{{helper.status.picked_order | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_STARTED_DELIVERY\\\"><span>{{helper.status.started_for_delivery | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_ARRIVED_AT_DESTINATION\\\"><span>{{helper.status.arrived_at_destination | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_COMPLETE_DELIVERY\\\"><span>{{helper.status.delivered_ordered | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_REJECTED\\\"><span>{{helper.status.rejected | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_CANCELLED\\\"><span>{{helper.status.cancelled | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.NO_DELIVERY_MAN_FOUND\\\"><span>{{helper.status.no_delivery_man_found | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_REJECTED\\\"><span>{{helper.status.delivery_man_rejected | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_CANCELLED\\\"><span>{{helper.status.delivery_man_cancelled | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.CANCELED_BY_USER\\\"><span>{{helper.status.user_cancelled | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_CANCELLED_REQUEST\\\"><span>{{helper.status.cancelled_request | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.ORDER_COMPLETED\\\"><span>{{helper.status.completed | translate}}</span></p>\\r\\n\\r\\n                                        <span class=\\\"vertical-date small text-muted\\\">{{moment(date.date).tz(order_detail.timezone !== '' ? order_detail.timezone: 'Asia/Kolkata').format('DD MMM YYYY HH:mm a')}}</span>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-4\\\">\\r\\n                <div class=\\\"ibox remove_ibox_margin\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"background-color: #d4d8d8;\\\">\\r\\n                        <h5>{{order_detail.order_payment_detail.invoice_number}}</h5>\\r\\n                        <h5 class=\\\"pull-right\\\">{{currency_sign}}{{order_detail.order_payment_detail.total.toFixed(2)}}</h5>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content invoice_popup_box scrollbar\\\">\\r\\n                        <div class=\\\"row\\\" style=\\\"margin-bottom: 20px;\\\">\\r\\n                            <div class=\\\"col-md-4\\\" style=\\\"padding-right: 4px;\\\">\\r\\n                                <div class=\\\"invoice_box\\\">\\r\\n                                    <div><span>{{title.cash_payment}}</span></div>\\r\\n                                    <div><label>{{currency_sign}}{{order_detail.order_payment_detail.cash_payment.toFixed(2)}}</label></div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-4\\\" style=\\\"padding-right: 8px; padding-left: 8px;\\\">\\r\\n                                <div class=\\\"invoice_box\\\">\\r\\n                                    <div><span>{{title.wallet_payment}}</span></div>\\r\\n                                    <div><label>{{currency_sign}}{{order_detail.order_payment_detail.wallet_payment.toFixed(2)}}</label></div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-4\\\" style=\\\"padding-left: 4px;\\\">\\r\\n                                <div class=\\\"invoice_box\\\">\\r\\n                                    <div><span>{{title.other_payment}}</span></div>\\r\\n                                    <div><label>{{currency_sign}}{{order_detail.order_payment_detail.card_payment.toFixed(2)}}</label></div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\" style=\\\"padding: 0px;\\\">\\r\\n\\r\\n                                <div class=\\\"row invoice_seperator\\\">\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5 style=\\\"margin-bottom: 0;\\\">{{title.total_delivery_price | translate}}</h5></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;margin-bottom: 0;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_delivery_price.toFixed(2)}}</h5></div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.delivery_price | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                                            <span style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_service_price.toFixed(2)}}</span>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.tax_price | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><span style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_admin_tax_price.toFixed(2)}}</span></div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\"  *ngIf='order_detail.order_payment_detail.is_promo_for_delivery_service == true'>\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.promo_bonus | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><span style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.promo_payment.toFixed(2)}}</span></div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"row invoice_seperator\\\">\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5 style=\\\"margin-bottom: 0;\\\">{{title.total_order_price | translate}}</h5></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;margin-bottom: 0;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_order_price.toFixed(2)}}</h5></div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.order_price | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><span style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_cart_price.toFixed(2)}}</span></div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.tax_price | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><span style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_store_tax_price.toFixed(2)}}</span></div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\" *ngIf='order_detail.order_payment_detail.is_promo_for_delivery_service == false'>\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.promo_bonus | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><span style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.promo_payment.toFixed(2)}}</span></div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"row invoice_seperator\\\" *ngIf=\\\"order_detail.order_status_id==helper.ORDER_STATUS_ID.CANCELLED && order_detail.order_payment_detail.order_cancellation_charge>0\\\">\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5 style=\\\"margin-bottom: 0;\\\">{{title.cancellation_charge | translate}}</h5></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"margin-bottom: 0; float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.order_cancellation_charge.toFixed(2)}}</h5></div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"row invoice_seperator\\\" *ngIf=\\\"order_detail.order_status_id==helper.ORDER_STATUS_ID.COMPLETED\\\">\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.store_bear_delivery_fee | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                                            <span style=\\\"float: right;\\\" *ngIf=\\\"order_detail.order_payment_detail.is_store_pay_delivery_fees\\\">{{title.yes | translate}}</span>\\r\\n                                            <span style=\\\"float: right;\\\" *ngIf=\\\"!order_detail.order_payment_detail.is_store_pay_delivery_fees\\\">{{title.no | translate}}</span>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\" *ngIf=\\\"order_detail.order_payment_detail.is_payment_mode_cash\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.deliveryman_paid_order_cash_to_store | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                                            <span style=\\\"float: right;\\\" *ngIf=\\\"order_detail.order_payment_detail.provider_paid_order_payment\\\">{{title.yes | translate}}</span>\\r\\n                                            <span style=\\\"float: right;\\\" *ngIf=\\\"!order_detail.order_payment_detail.provider_paid_order_payment\\\">{{title.no | translate}}</span>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"row invoice_seperator\\\" *ngIf=\\\"order_detail.order_status_id==helper.ORDER_STATUS_ID.COMPLETED\\\">\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.store_profit | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><span style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_store_income.toFixed(2)}}</span></div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                                            <span *ngIf=\\\"order_detail.order_payment_detail.is_store_income_set_in_wallet\\\" style=\\\"color: green;\\\">{{title.sattlement_with_store | translate}}</span>\\r\\n                                            <span *ngIf=\\\"!order_detail.order_payment_detail.is_store_income_set_in_wallet\\\">\\r\\n                                                <span *ngIf=\\\"order_detail.order_payment_detail.is_transfered_to_store\\\" style=\\\"color: green;\\\">{{title.sattlement_with_store | translate}}</span>\\r\\n                                                <span *ngIf=\\\"!order_detail.order_payment_detail.is_transfered_to_store\\\" style=\\\"color: red;\\\">{{title.sattlement_with_store | translate}}</span>\\r\\n                                            </span>\\r\\n                                        </div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                                            <span style=\\\"float: right;\\\" *ngIf=\\\"order_detail.order_payment_detail.is_store_income_set_in_wallet\\\">\\r\\n                                                <span style=\\\"color: green;\\\">{{currency_sign}}{{order_detail.order_payment_detail.store_income_set_in_wallet.toFixed(2)}} ({{title.wallet | translate}})</span>\\r\\n                                            </span>\\r\\n                                            <span style=\\\"float: right;\\\" *ngIf=\\\"!order_detail.order_payment_detail.is_store_income_set_in_wallet\\\">\\r\\n                                                <span style=\\\"color: green;\\\" *ngIf=\\\"order_detail.order_payment_detail.is_transfered_to_store\\\">{{currency_sign}}{{order_detail.order_payment_detail.pay_to_store.toFixed(2)}}</span>\\r\\n                                                <span style=\\\"color: red;\\\" *ngIf=\\\"!order_detail.order_payment_detail.is_transfered_to_store\\\">{{currency_sign}}{{order_detail.order_payment_detail.pay_to_store.toFixed(2)}}</span>\\r\\n                                            </span>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"row invoice_seperator\\\" *ngIf=\\\"order_detail.order_status_id==helper.ORDER_STATUS_ID.COMPLETED\\\">\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.deliveryman_profit | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><span style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_provider_income.toFixed(2)}}</span></div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                                            <span *ngIf=\\\"order_detail.order_payment_detail.is_store_income_set_in_wallet\\\" style=\\\"color: green;\\\">{{title.sattlement_with_deliveryman | translate}}</span>\\r\\n                                            <span *ngIf=\\\"!order_detail.order_payment_detail.is_store_income_set_in_wallet\\\">\\r\\n                                                <span *ngIf=\\\"order_detail.order_payment_detail.is_transfered_to_store\\\" style=\\\"color: green;\\\">{{title.sattlement_with_deliveryman | translate}}</span>\\r\\n                                                <span *ngIf=\\\"!order_detail.order_payment_detail.is_transfered_to_store\\\" style=\\\"color: red;\\\">{{title.sattlement_with_deliveryman | translate}}</span>\\r\\n                                            </span>\\r\\n                                        </div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                                            <span style=\\\"float: right;\\\" *ngIf=\\\"order_detail.order_payment_detail.is_provider_income_set_in_wallet\\\">\\r\\n                                                <span style=\\\"color: green;\\\">{{currency_sign}}{{order_detail.order_payment_detail.provider_income_set_in_wallet.toFixed(2)}} ({{title.wallet | translate}})</span>\\r\\n                                            </span>\\r\\n                                            <span style=\\\"float: right;\\\" *ngIf=\\\"!order_detail.order_payment_detail.is_provider_income_set_in_wallet\\\">\\r\\n                                                <span style=\\\"color: green;\\\" *ngIf=\\\"order_detail.order_payment_detail.is_transfered_to_provider\\\">{{currency_sign}}{{order_detail.order_payment_detail.pay_to_provider.toFixed(2)}}</span>\\r\\n                                                <span style=\\\"color: red;\\\" *ngIf=\\\"!order_detail.order_payment_detail.is_transfered_to_provider\\\">{{currency_sign}}{{order_detail.order_payment_detail.pay_to_provider.toFixed(2)}}</span>\\r\\n                                            </span>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"row invoice_seperator\\\" *ngIf=\\\"order_detail.order_status_id==helper.ORDER_STATUS_ID.COMPLETED\\\">\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.admin_profit_on_store | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><span style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_admin_profit_on_store.toFixed(2)}}</span></div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.admin_profit_on_delivery | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><span style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_admin_profit_on_delivery.toFixed(2)}}</span></div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n    </modal-body>\\r\\n</modal>\\r\\n\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-sm\\\" #myModal>\\r\\n    <form #modalForm=\\\"ngForm\\\" (ngSubmit)=\\\"AddWallet(modalForm.value)\\\">\\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <h4 class=\\\"modal-title\\\">{{heading_title.add_wallet_amount | translate}}</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div class=\\\"row\\\">\\r\\n                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"type\\\"   name=\\\"type\\\"  />\\r\\n                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"user_id\\\"   name=\\\"user_id\\\"  />\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                    <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                        <div class=\\\"form-group\\\" >\\r\\n\\r\\n                            <label style=\\\"font-weight: normal;\\\"><strong>{{title.amount | translate}}</strong></label>\\r\\n                            <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"wallet\\\" (keypress)=\\\"helper.number_validation1($event)\\\" maxlength=\\\"6\\\" name=\\\"wallet\\\" required>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{button.save | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\\r\\n\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl\\\" #mysmsModal>\\r\\n    <form #modalSmsForm=\\\"ngForm\\\" (ngSubmit)=\\\"SendSms(modalSmsForm.value)\\\">\\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <h4 class=\\\"modal-title\\\">{{heading_title.admin_sms | translate}}</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div class=\\\"row\\\">\\r\\n                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"type\\\"   name=\\\"type\\\"  />\\r\\n                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"user_id\\\"   name=\\\"user_id\\\"  />\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                    <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                        <div class=\\\"form-group\\\" >\\r\\n\\r\\n                            <label style=\\\"font-weight: normal;\\\"><strong>{{title.content | translate}}</strong></label>\\r\\n                            <textarea class=\\\"form-control\\\" [(ngModel)]=\\\"content\\\"   name=\\\"content\\\" required ></textarea>\\r\\n\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{button.send | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\\r\\n\\r\\n\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl\\\" #mynotificationModal>\\r\\n    <form #modalNotificationForm=\\\"ngForm\\\" (ngSubmit)=\\\"SendNotification(modalNotificationForm.value)\\\">\\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <h4 class=\\\"modal-title\\\">{{heading_title.admin_send_notification | translate}}</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div class=\\\"row\\\">\\r\\n                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"type\\\"   name=\\\"type\\\"  />\\r\\n                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"user_id\\\"   name=\\\"user_id\\\"  />\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                    <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                        <div class=\\\"form-group\\\" >\\r\\n\\r\\n                            <label style=\\\"font-weight: normal;\\\"><strong>{{title.notification_content | translate}}</strong></label>\\r\\n                            <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"content\\\" name=\\\"content\\\" required />\\r\\n\\r\\n\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{button.send | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/provider_history/history.component.html\n// module id = 1620\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n<div class=\\\"wrapper-content animated fadeInRight\\\" style=\\\"padding: 0px; padding-top: 60px;\\\">\\r\\n\\r\\n    <div class=\\\"ibox \\\" style=\\\"margin-top: 10px;    position: fixed;z-index: 10;left: 0;right: 0;\\\">\\r\\n        <div class=\\\"ibox-content\\\" >\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-md-9\\\">\\r\\n                    <div class=\\\"col-md-3 col-sm-3\\\">\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <input type=\\\"text\\\" class=\\\"form-control\\\" style=\\\"border-color: #222222;height: 30px;border-radius: 5px;\\\" placeholder=\\\"Enter Address\\\" id=\\\"search\\\">\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-3 col-sm-3\\\">\\r\\n                        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                            <select chosen class=\\\"chosen-select\\\" id=\\\"selected_country\\\" [(ngModel)]=\\\"selected_country\\\" name=\\\"selected_country\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                                <option value=\\\"\\\" selected hidden style=\\\"display: none;\\\">Select Country</option>\\r\\n                                <option *ngFor=\\\"let i of country_list\\\" value=\\\"{{i._id}}\\\">{{i.country_name}}</option>\\r\\n                            </select>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-3 col-sm-3\\\">\\r\\n                        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                            <select chosen class=\\\"chosen-select\\\" id=\\\"type\\\" [(ngModel)]=\\\"type\\\" name=\\\"type\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                                <option value=\\\"All\\\">{{title.all | translate}}</option>\\r\\n                                <option value=\\\"offline\\\">{{title.offline | translate}}</option>\\r\\n                                <option value=\\\"online\\\">{{title.online | translate}}</option>\\r\\n                                <!-- <option value=\\\"onlinewithorder\\\">{{title.online_with_order | translate}}</option> -->\\r\\n                                <!-- <option value=\\\"offlinewithorder\\\">{{title.offline_with_order | translate}}</option> -->\\r\\n                            </select>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-3\\\">\\r\\n                    <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\"><img src=\\\"/map_pin_images/Deliveryman/deliveryman_online.png\\\" style=\\\"height:25px;\\\"/>{{title.delivery_man_online | translate}}</div>\\r\\n                    <!-- <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\"><img src=\\\"/map_pin_images/Deliveryman/deliveryman_online_with_orders.png\\\" style=\\\"height:25px;\\\"/>{{title.delivery_man_online_with_order | translate}}</div> -->\\r\\n                    <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\"><img src=\\\"/map_pin_images/Deliveryman/deliveryman_offline.png\\\" style=\\\"height:25px;\\\"/>{{title.delivery_man_offline | translate}}</div>\\r\\n                    <!-- <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\"><img src=\\\"/map_pin_images/Deliveryman/deliveryman_offline_with_orders.png\\\" style=\\\"height:25px;\\\"/>{{title.delivery_man_offline_with_order | translate}}</div> -->\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n    <div style=\\\"margin-left: -16px;margin-right: -16px;\\\">\\r\\n        <div id=\\\"map\\\" style=\\\"height: 1000px;\\\"></div>\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/provider_map/provider_map.component.html\n// module id = 1621\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>   \\r\\n\\r\\n\\r\\n    <div class=\\\"row full_height\\\">\\r\\n        <div class=\\\"col-md-5 col-xs-12 col-sm-5 full_height login_left_background\\\">\\r\\n            <div class=\\\"col-md-12 col-xs-12 col-sm-12 login_left_top_margin animated fadeInLeft\\\">\\r\\n                <div class=\\\"col-md-12 col-xs-12 col-sm-12\\\">\\r\\n                    <img  style=\\\"width: 130px;\\\" src=\\\"web_images/logo.png\\\">\\r\\n                </div>\\r\\n               \\r\\n                <label class=\\\"col-md-12 col-xs-12 col-sm-12 login_title\\\" style=\\\"margin-top: 20px;\\\">{{title.admin_title1 | translate}}</label>\\r\\n                <label class=\\\"col-md-12 col-xs-12 col-sm-12 login_title\\\">{{title.app_name + \\\" \\\" +title.admin_title2 | translate}}</label>\\r\\n                <div class=\\\"col-md-12 col-xs-12 col-sm-12\\\">\\r\\n                    <hr class=\\\"login_hr\\\">\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-7 col-xs-12 col-sm-7  full_height login_right_background\\\">\\r\\n            <div class=\\\"loginColumns animated fadeInRight\\\" style=\\\"max-width: 435px;\\\">\\r\\n                <div class=\\\"ibox-content login_right_background\\\">\\r\\n\\r\\n                    <label class=\\\"login_right_title\\\">{{title.new_passwrod | translate}}</label>\\r\\n                    <form #providernewpasswordForm=\\\"ngForm\\\" (ngSubmit)=\\\"providerNewPassword(providernewpasswordForm.value)\\\" >\\r\\n                        \\r\\n\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"login_text_box_label\\\">{{title.password | translate}}</label>\\r\\n                            <input type=\\\"password\\\" class=\\\"form-control login_text_box\\\" [(ngModel)]=\\\"provider_new_password.password\\\" #password=\\\"ngModel\\\" minlength=\\\"6\\\" name=\\\"password\\\" required />\\r\\n                            <div *ngIf=\\\"password.errors && (password.dirty || password.touched)\\\">\\r\\n                                <div style=\\\"color: red;\\\" [hidden]=\\\"!password.errors.required\\\">{{validation_message.password_required | translate}}\\r\\n                                </div>\\r\\n                                <div style=\\\"color: red;\\\" [hidden]=\\\"!password.errors.minlength\\\">{{validation_message.password_minlength | translate}}\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"login_text_box_label\\\">{{title.confirm_password | translate}}</label>\\r\\n                            <input type=\\\"password\\\" class=\\\"form-control login_text_box\\\" [(ngModel)]=\\\"provider_new_password.confirm_password\\\" [equalTo]=\\\"password\\\" #confirm_password=\\\"ngModel\\\" name=\\\"confirm_password\\\" />\\r\\n                            <div *ngIf=\\\"confirm_password.errors && (confirm_password.dirty || confirm_password.touched)\\\">\\r\\n                                <div style=\\\"color: red;\\\" [hidden]=\\\"!confirm_password.errors?.equalTo\\\">{{validation_message.match_confirm_password | translate}}\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                        </div>\\r\\n                        \\r\\n                        <div class=\\\"col-md-12 col-xs-12 col-sm-12 lable_center\\\" style=\\\"margin-top: 20px;\\\">\\r\\n                            <button type=\\\"submit\\\" [disabled]=\\\"!providernewpasswordForm.form.valid\\\" class=\\\"btn btn-danger m-b login_submit_button\\\">{{button.submit | translate}}</button>\\r\\n                        </div>\\r\\n                        \\r\\n                        \\r\\n                    </form>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/provider_new_password/provider_new_password.component.html\n// module id = 1622\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>   \\r\\n<div class=\\\"wrapper wrapper-content animated fadeInRight content_top_bar\\\">\\r\\n<!--    <div>\\r\\n        <label>{{title.provider_vehicle_service_type | translate}}</label>\\r\\n        <select chosen class=\\\"chosen-select\\\" id=\\\"admin_vehicle_id\\\" [(ngModel)]=\\\"provider_vehicle_list.admin_vehicle_id\\\" #admin_vehicle_id=\\\"ngModel\\\" name=\\\"admin_vehicle_id\\\" data-placeholder=\\\"Select Vehicle\\\"  tabindex=\\\"4\\\"  >\\r\\n\\r\\n            <option *ngFor=\\\"let i of vehicle_service_list\\\" value=\\\"{{i._id}}\\\">{{i.vehicle_name}}</option>\\r\\n        </select> \\r\\n    </div>-->\\r\\n    <div *ngFor=\\\"let vehicle of vehicle_list; let vehicle_index=index;\\\">\\r\\n        <div class=\\\"col-lg-3 col-sm-6\\\" style=\\\"padding-left: 10px; padding-right: 10px;\\\">\\r\\n            <form #spec=\\\"ngForm\\\" enctype='multipart/form-data'>\\r\\n                <div class=\\\"ibox float-e-margins\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <input type=\\\"hidden\\\" [(ngModel)]=\\\"edit_vehicle[vehicle_index]\\\" name=\\\"edit_vehicle\\\">\\r\\n\\r\\n                        <span  class=\\\"fa fa-pencil pull-right\\\" (click)=\\\"editProviderVehicle(vehicle._id)\\\" style=\\\"font-size:15px;color:#060606\\\"></span>\\r\\n                        <!--                        <span *ngIf=\\\"edit_vehicle[vehicle_index]=='false'\\\" class=\\\"fa fa-pencil pull-right\\\" (click)=\\\"editVehicle(vehicle,vehicle_index)\\\"></span>\\r\\n                                                <span *ngIf=\\\"edit_vehicle[vehicle_index]=='true'\\\" class=\\\"fa fa-check pull-right\\\" (click)=\\\"UpdateVehicle(vehicle,vehicle_index)\\\"></span>-->\\r\\n                        <ui-switch *ngIf=\\\"vehicle.admin_vehicle_id!=null\\\" (change)=\\\"onChangeVehicle(vehicle._id, $event)\\\"  [(ngModel)]=\\\"vehicle.is_approved\\\" name=\\\"is_approved\\\"></ui-switch>\\r\\n                        <ui-switch *ngIf=\\\"vehicle.admin_vehicle_id==null\\\"  [(ngModel)]=\\\"vehicle.is_approved\\\" name=\\\"is_approved\\\" disabled></ui-switch>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"ibox-content no-padding\\\" style=\\\"height: 150px;\\\">\\r\\n                        <div class=\\\"row\\\" style=\\\"padding-top: 18px;padding-bottom: 18px;\\\">\\r\\n                            <div class=\\\"col-md-6 col-xs-6 col-sm-6\\\" style=\\\"padding-left: 28px;\\\">\\r\\n                                <div>\\r\\n\\r\\n                                    <label>{{title.provider_vehicle_name | translate}}</label>\\r\\n                                    <div *ngIf=\\\"edit_vehicle[vehicle_index]!=='true'\\\">\\r\\n                                        <label style=\\\"font-weight: normal;color:black;\\\">{{vehicle.vehicle_name}}</label>\\r\\n                                    </div>\\r\\n                                    <div *ngIf=\\\"edit_vehicle[vehicle_index]=='true'\\\">\\r\\n                                        <input type=\\\"text\\\" [(ngModel)]=\\\"provider_vehicle_list.vehicle_name\\\" #vehicle_name=\\\"ngModel\\\"  name=\\\"vehicle_name\\\" style=\\\"border-radius: 5px;border-color: #060606;height: 30px;\\\" class=\\\"form-control\\\" value=\\\"{{vehicle.vehicle_name}}\\\">\\r\\n                                    </div>\\r\\n                                </div> \\r\\n                                <div>\\r\\n                                    <label>{{title.provider_vehicle_plate_no | translate}}</label>\\r\\n                                    <div *ngIf=\\\"edit_vehicle[vehicle_index]!=='true'\\\">\\r\\n                                        <label style=\\\"font-weight: normal;color:black;\\\">{{vehicle.vehicle_plate_no}}</label>\\r\\n                                    </div>\\r\\n                                    <div *ngIf=\\\"edit_vehicle[vehicle_index]=='true'\\\">\\r\\n                                        <input type=\\\"text\\\" [(ngModel)]=\\\"provider_vehicle_list.vehicle_plate_no\\\" #vehicle_plate_no=\\\"ngModel\\\"  name=\\\"vehicle_plate_no\\\" style=\\\"border-radius: 5px;border-color: #060606;height: 30px;\\\" class=\\\"form-control\\\" value=\\\"{{vehicle.vehicle_plate_no}}\\\">\\r\\n                                    </div>\\r\\n                                </div> \\r\\n                                <div>\\r\\n                                    <label>{{title.provider_vehicle_year | translate}}</label>\\r\\n                                    <div *ngIf=\\\"edit_vehicle[vehicle_index]!=='true'\\\">\\r\\n                                        <label style=\\\"font-weight: normal;color:black;\\\">{{vehicle.vehicle_year}}</label>\\r\\n                                    </div>\\r\\n                                    <div *ngIf=\\\"edit_vehicle[vehicle_index]=='true'\\\">\\r\\n                                        <input type=\\\"text\\\" [(ngModel)]=\\\"provider_vehicle_list.vehicle_year\\\" #vehicle_year=\\\"ngModel\\\"  name=\\\"vehicle_year\\\" style=\\\"border-radius: 5px;border-color: #060606;height: 30px;\\\" class=\\\"form-control\\\" value=\\\"{{vehicle.vehicle_year}}\\\">\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-6 col-xs-6 col-sm-6\\\" style=\\\"padding-right: 28px;\\\">\\r\\n                                <div>\\r\\n                                    <label>{{title.provider_vehicle_model | translate}}</label>\\r\\n                                    <div *ngIf=\\\"edit_vehicle[vehicle_index]!=='true'\\\">\\r\\n                                        <label style=\\\"font-weight: normal;color:black;\\\">{{vehicle.vehicle_model}}</label>\\r\\n                                    </div>\\r\\n                                    <div *ngIf=\\\"edit_vehicle[vehicle_index]=='true'\\\">\\r\\n                                        <input type=\\\"text\\\" [(ngModel)]=\\\"provider_vehicle_list.vehicle_model\\\" #vehicle_model=\\\"ngModel\\\"  name=\\\"vehicle_model\\\" style=\\\"border-radius: 5px;border-color: #060606;height: 30px;\\\" class=\\\"form-control\\\" value=\\\"{{vehicle.vehicle_model}}\\\">\\r\\n                                    </div>\\r\\n                                </div>  \\r\\n\\r\\n                                <div>\\r\\n                                    <label>{{title.provider_vehicle_color | translate}}</label>\\r\\n                                    <div *ngIf=\\\"edit_vehicle[vehicle_index]!=='true'\\\">\\r\\n                                        <label style=\\\"font-weight: normal;color:black;\\\">{{vehicle.vehicle_color}}</label>\\r\\n                                    </div>\\r\\n                                    <div *ngIf=\\\"edit_vehicle[vehicle_index]=='true'\\\">\\r\\n                                        <input type=\\\"text\\\" [(ngModel)]=\\\"provider_vehicle_list.vehicle_color\\\" #vehicle_color=\\\"ngModel\\\"  name=\\\"vehicle_color\\\" style=\\\"border-radius: 5px;border-color: #060606;height: 30px;\\\" class=\\\"form-control\\\" value=\\\"{{vehicle.vehicle_color}}\\\">\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div>\\r\\n                                    <label>{{title.provider_vehicle_service_type | translate}}</label>\\r\\n                                    <label style=\\\"font-weight: normal;color:black;\\\" *ngIf=\\\"vehicle.vehicle_detail.length>0\\\">{{vehicle.vehicle_detail[0].vehicle_name}}</label>\\r\\n                                    \\r\\n<!--                                    <select chosen class=\\\"chosen-select\\\" id=\\\"admin_vehicle_id\\\" [(ngModel)]=\\\"provider_vehicle_list.admin_vehicle_id\\\" #admin_vehicle_id=\\\"ngModel\\\" name=\\\"admin_vehicle_id\\\" data-placeholder=\\\"Select Vehicle\\\"  tabindex=\\\"4\\\">\\r\\n\\r\\n                                        <option *ngFor=\\\"let i of vehicle_service_list\\\" value=\\\"{{i._id}}\\\">{{i.vehicle_name}}</option>\\r\\n                                    </select> -->\\r\\n                                </div>\\r\\n\\r\\n                            </div>\\r\\n\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <h5 style=\\\"font-weight: bold;\\\">Documents</h5>\\r\\n                    </div>\\r\\n                    <div *ngFor=\\\"let document of document_list\\\">\\r\\n                        <div class=\\\"ibox-content no-padding\\\" style=\\\"height: 150px;\\\">\\r\\n\\r\\n\\r\\n                            <div class=\\\"row\\\" style=\\\"padding-top: 18px;padding-bottom: 18px;\\\">\\r\\n                                <div class=\\\"col-md-6 col-xs-6 col-sm-6\\\" style=\\\"padding-left: 28px;\\\">\\r\\n                                    <!--                                <div *ngIf=\\\"edit_document[document_index]!=='true'\\\">\\r\\n                                                                        <img src=\\\"default.png\\\" class=\\\"document{{document_index}}\\\" style=\\\"width: 100%;max-width: 135px; height: 85px; border-radius: 12px;\\\">\\r\\n                                                                    </div>-->\\r\\n                                    <div >\\r\\n                                        <span class=\\\"btn-file\\\"><img src=\\\"default.png\\\"  style=\\\"width: 100%;    max-width: 135px; height: 85px; border-radius: 12px;\\\"><input type=\\\"file\\\"  name=\\\"image\\\"></span>\\r\\n                                    </div>\\r\\n\\r\\n                                    <div >\\r\\n                                        <div>\\r\\n                                            <!--                                        {{document.document_details.document_name}}-->\\r\\n                                        </div>\\r\\n\\r\\n\\r\\n                                        <!--                                    <div [ngSwitch]=\\\"error_message\\\">\\r\\n                                                                                <div *ngSwitchCase=1>\\r\\n                                                                                    <label style=\\\"color: red;margin-bottom: 0px;\\\">{{validation_message.image_required | translate}}</label>\\r\\n                                                                                </div>\\r\\n                                                                                <div *ngSwitchCase=2>\\r\\n                                                                                    <label style=\\\"color: red;margin-bottom: 0px;\\\">{{validation_message.expired_date_required | translate}}</label>\\r\\n                                                                                </div>\\r\\n                                                                                <div *ngSwitchCase=3>\\r\\n                                                                                    <label style=\\\"color: red;margin-bottom: 0px;\\\">{{validation_message.unique_code_required  | translate}}</label>\\r\\n                                                                                </div>\\r\\n                                                                            </div>-->\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-6 col-xs-6 col-sm-6\\\" style=\\\"padding-right: 28px;\\\">\\r\\n                                    <label>{{document.document_details.document_name}}</label> \\r\\n                                    <label>{{title.unique_code | translate}}</label>\\r\\n                                    <div>\\r\\n                                        <label style=\\\"font-weight: normal;color:black;\\\">{{document.unique_code}}</label>\\r\\n                                    </div>\\r\\n                                    <label>{{title.expired_date | translate}}</label>\\r\\n                                    <div>\\r\\n                                        <label style=\\\"font-weight: normal;color:black;\\\">{{document.expired_date | date: \\\"MM-dd-yyyy\\\"}}</label>\\r\\n                                    </div>\\r\\n                                    <!--                                \\r\\n    <div *ngIf=\\\"document.document_details.is_unique_code\\\">\\r\\n                                        <label>{{title.unique_code | translate}}</label>\\r\\n                                        <div *ngIf=\\\"edit_document[document_index]!=='true'\\\">\\r\\n                                            <label style=\\\"font-weight: normal;color:black;\\\">{{document.unique_code}}</label>\\r\\n                                        </div>\\r\\n                                        <div *ngIf=\\\"edit_document[document_index]=='true'\\\">\\r\\n                                            <input type=\\\"text\\\" [(ngModel)]=\\\"documentlist.unique_code\\\" #unique_code=\\\"ngModel\\\"  name=\\\"unique_code\\\" style=\\\"border-radius: 5px;border-color: #060606;height: 30px;\\\" class=\\\"form-control\\\" value=\\\"{{document.unique_code}}\\\">\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n    \\r\\n                                    <div *ngIf=\\\"document.document_details.is_expired_date\\\">\\r\\n                                        <label style=\\\"margin-top: 10px;\\\">{{title.expired_date | translate}}</label>\\r\\n                                        <div *ngIf=\\\"edit_document[document_index]!=='true'\\\">\\r\\n                                            <label style=\\\"font-weight: normal;color:black;\\\">{{document.expired_date | date: \\\"MM-dd-yyyy\\\"}}</label>\\r\\n                                        </div>\\r\\n                                        <div *ngIf=\\\"edit_document[document_index]=='true'\\\">\\r\\n                                            <my-date-picker [(ngModel)]=\\\"documentlist.expired_date\\\" #expired_date=\\\"ngModel\\\"  name=\\\"expired_date\\\" id=\\\"expiry_date\\\" value=\\\"\\\" [options]=\\\"helper.ExpiryDatePickerOptions\\\" placeholder=\\\"{{title.exp_date | translate}}\\\" readonly></my-date-picker>\\r\\n                                        </div>\\r\\n                                    </div>-->\\r\\n                                </div>\\r\\n\\r\\n                            </div>\\r\\n\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n\\r\\n\\r\\n\\r\\n                </div>\\r\\n            </form>\\r\\n        </div>\\r\\n    </div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/provider_vehicle/provider_vehicle.component.html\n// module id = 1623\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer> \\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.date_filter | translate}}</label>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-12 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"week_date\\\" [(ngModel)]=\\\"week_date\\r\\n                            \\\" name=\\\"week_date\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option *ngFor=\\\"let date of week_array\\\" value=\\\"{{date.value}}\\\">{{date.text}}</option>\\r\\n\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.search | translate}}</label>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"search_field\\\" [(ngModel)]=\\\"search_field\\\" name=\\\"search_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"provider_detail.first_name\\\">{{title.filter_name | translate}}</option>\\r\\n                        <option value=\\\"provider_detail.email\\\">{{title.filter_email | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n\\r\\n                        <input type=\\\"text\\\" class=\\\"form-control search_box\\\" [(ngModel)]=\\\"search_value\\\"  name=\\\"search_value\\\">\\r\\n                        <span class=\\\"input-group-addon search_icon\\\"><span class=\\\"fa fa-search\\\"></span></span>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <!-- <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"provider_weekly_earning_export_csv()\\\" class=\\\"btn export_excel_btn pull-right\\\" value=\\\"{{button.export_excel | translate}}\\\" >\\r\\n            </div> -->\\r\\n            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"provider_weekly_earning(1)\\\" class=\\\"btn filter_apply_btn pull-right\\\" value=\\\"{{button.apply | translate}}\\\" >\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n    </div>\\r\\n\\r\\n</div>\\r\\n\\r\\n<div class=\\\"wrapper wrapper-content content_top_bar_view1 animated fadeInRight \\\">\\r\\n    <div class=\\\"ibox\\\" *ngIf=\\\"provider_weekly_earning_list.length==0\\\">\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n            <div class=\\\"lable_center\\\" >\\r\\n                <label>No Records</label>\\r\\n            </div>\\r\\n        </div>  \\r\\n    </div> \\r\\n    <div class=\\\"ibox\\\" *ngIf=\\\"order_total!='' && provider_weekly_earning_list.length>0\\\">\\r\\n        <div class=\\\"ibox-title\\\">\\r\\n            <div>\\r\\n                <label>{{title.admin_earn | translate}}({{admin_currency}})</label>\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n            <div class=\\\"table-responsive\\\">\\r\\n                <table class=\\\"table table-striped\\\">\\r\\n                    <thead>\\r\\n                        <tr>\\r\\n                            <th>{{title.total_orders | translate}}</th>\\r\\n                            <th>{{title.admin_earn | translate}}</th>\\r\\n                            <th>{{title.provider_earn | translate}}</th>\\r\\n                            <th>{{title.pay_to_provider | translate}}</th>\\r\\n                            <th>{{title.total_wallet_income_set_in_cash_order | translate}}</th>\\r\\n                            <th>{{title.total_wallet_income_set_in_other_order | translate}}</th>\\r\\n                        </tr>\\r\\n                    </thead>\\r\\n                    <tbody>\\r\\n                        <tr>\\r\\n                            <td>{{order_total.total_orders}}</td>\\r\\n                            <td>{{(order_total.total_admin_earn).toFixed(2)}}</td>\\r\\n                            <td>{{(order_total.total_provider_earning).toFixed(2)}}</td>\\r\\n                            <td>{{(order_total.total_pay_to_provider).toFixed(2)}}</td>\\r\\n                            <td>{{(order_total.total_wallet_income_set_in_cash_order).toFixed(2)}}</td>\\r\\n                            <td>{{(order_total.total_wallet_income_set_in_other_order).toFixed(2)}}</td>\\r\\n\\r\\n                        </tr>\\r\\n                    </tbody>\\r\\n                </table>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n\\r\\n    <div class=\\\"ibox\\\" *ngIf=\\\"provider_weekly_earning_list.length>0\\\">\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n            <div class=\\\"table-responsive\\\">\\r\\n                <table class=\\\"table table-striped\\\">\\r\\n                    <thead>\\r\\n                        <tr>\\r\\n                            <th>{{title.ID | translate}}</th>\\r\\n                            <th>{{title.provider | translate}}</th>\\r\\n                            <th>{{title.provider_earn | translate}}</th>\\r\\n                            <th>{{title.have_case | translate}}</th>\\r\\n                            <th>{{title.pay_provider | translate}}</th>\\r\\n                            <th>{{title.total_wallet_income_set_in_cash_order | translate}}</th>\\r\\n                            <th>{{title.total_wallet_income_set_in_other_order | translate}}</th>\\r\\n\\r\\n                            <th>{{title.total_transferred_amount | translate}}</th>\\r\\n                            <th>{{title.currency | translate}}</th>\\r\\n                            <th>{{title.action | translate}}</th>\\r\\n                        </tr>\\r\\n                    </thead>\\r\\n                    <tbody>\\r\\n                        <tr *ngFor=\\\"let provider_weekly_earning of provider_weekly_earning_list; let index=index; let last=last;\\\">\\r\\n                            <td>{{provider_weekly_earning.provider_detail.unique_id}}</td>\\r\\n                            <td>{{provider_weekly_earning.provider_detail.first_name +\\\" \\\"+ provider_weekly_earning.provider_detail.last_name+\\\" (\\\"+provider_weekly_earning.provider_detail.email+\\\")\\\"}}</td>\\r\\n                            <td>{{((provider_weekly_earning.total_provider_earning).toFixed(2))}}</td>\\r\\n                            <td>{{((provider_weekly_earning.total_provider_have_cash_payment).toFixed(2))}}</td>\\r\\n                            <td>{{((provider_weekly_earning.total_pay_to_provider).toFixed(2))}}</td>\\r\\n                            <td>{{(provider_weekly_earning.total_wallet_income_set_in_cash_order).toFixed(2)}}</td>\\r\\n                            <td>{{(provider_weekly_earning.total_wallet_income_set_in_other_order).toFixed(2)}}</td>\\r\\n\\r\\n                            <td>{{((provider_weekly_earning.total_transferred_amount).toFixed(2))}}</td>\\r\\n                            <td>{{provider_weekly_earning.country_detail[0].currency_sign}}</td>\\r\\n                            <td class=\\\"text-left footable-visible footable-last-column\\\">\\r\\n                                <div class=\\\"btn-group\\\">\\r\\n                                    <button (click)=\\\"open_detail_modal(provider_weekly_earning.provider_detail._id)\\\" class=\\\"btn btn-xs btn-light_black\\\">{{helper.button.detail | translate}}</button>\\r\\n                                </div>\\r\\n                            </td>\\r\\n                        </tr>\\r\\n                    </tbody>\\r\\n                </table>\\r\\n            </div>\\r\\n\\r\\n            <!--            <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                            <div class=\\\"lable_center\\\">\\r\\n            \\r\\n                                <ul class=\\\"pagination\\\">\\r\\n                                    <li *ngIf=\\\"page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"provider_weekly_earning(page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                                    <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page==index\\\">\\r\\n                                        <a *ngIf=\\\"index==1 || index==total_page || index==page || index==page-1 || index==page+1\\\" (click)=\\\"provider_weekly_earning(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                                        <a *ngIf=\\\"(index==1 && (page!==1 && page!==2 && page!==3)) || (index==total_page-1 && (page!==total_page && page!==total_page-1 && page!==total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n            \\r\\n                                    </li>\\r\\n                                    <li *ngIf=\\\"page!==total_page && provider_weekly_earning_list.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"provider_weekly_earning(page+1)\\\">{{button.next | translate}}</a></li>\\r\\n                                </ul>\\r\\n                            </div>\\r\\n                        </div>-->\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n        <div class=\\\"lable_center\\\">\\r\\n\\r\\n            <ul class=\\\"pagination\\\">\\r\\n                <li *ngIf=\\\"page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"provider_weekly_earning(page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page==index\\\">\\r\\n                    <a *ngIf=\\\"index==1 || index==total_page || index==page || index==page-1 || index==page+1\\\" (click)=\\\"provider_weekly_earning(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                    <a *ngIf=\\\"(index==1 && (page!==1 && page!==2 && page!==3)) || (index==total_page-1 && (page!==total_page && page!==total_page-1 && page!==total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n\\r\\n                </li>\\r\\n                <li *ngIf=\\\"page!==total_page && provider_weekly_earning_list.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"provider_weekly_earning(page+1)\\\">{{button.next | translate}}</a></li>\\r\\n            </ul>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n</div>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-sm\\\" #myModal>\\r\\n    <form #modalForm=\\\"ngForm\\\" (ngSubmit)=\\\"AdminPayToProvider(modalForm.value)\\\">\\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <h4 class=\\\"modal-title\\\">Add Amount</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div class=\\\"row\\\">\\r\\n\\r\\n                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"provider_weekly_earning_id\\\"   name=\\\"provider_weekly_earning_id\\\"  />\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                    <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                        <div class=\\\"form-group\\\" >\\r\\n\\r\\n                            <label style=\\\"font-weight: normal;\\\"><strong>{{title.amount}}</strong></label>\\r\\n                            <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"amount\\\" (keypress)=\\\"helper.number_validation($event)\\\" name=\\\"amount\\\" required>\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{button.save}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\\r\\n\\r\\n<modal cssClass=\\\"modal-invoice animated fadeInUpBig\\\" #order_detail_modal>\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n        <label>{{start_date}} - {{end_date}}</label>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"ibox\\\" *ngIf=\\\"show==true\\\">\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-md-3 col-sm-6\\\">\\r\\n                            <div class=\\\"ibox\\\">\\r\\n                                <div class=\\\"ibox-title lable_center\\\">\\r\\n                                    <div>\\r\\n\\r\\n                                        <label>{{heading_title.total_order | translate}}</label>\\r\\n                                        <h2>{{provider_analytic_weekly.received}}</h2>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-3 col-sm-6\\\">\\r\\n                            <div class=\\\"ibox\\\">\\r\\n                                <div class=\\\"ibox-title lable_center\\\">\\r\\n                                    <div>\\r\\n\\r\\n                                        <label>{{heading_title.accepted_order | translate}}</label>\\r\\n                                        <h2>{{provider_analytic_weekly.accepted}}</h2>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-3 col-sm-6\\\">\\r\\n                            <div class=\\\"ibox\\\">\\r\\n                                <div class=\\\"ibox-title lable_center\\\">\\r\\n                                    <div>\\r\\n\\r\\n                                        <label>{{heading_title.rejected_order | translate}}</label>\\r\\n                                        <h2>{{provider_analytic_weekly.rejected}}</h2>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-3 col-sm-6\\\">\\r\\n                            <div class=\\\"ibox\\\">\\r\\n                                <div class=\\\"ibox-title lable_center\\\">\\r\\n                                    <div>\\r\\n\\r\\n                                        <label>{{heading_title.completed_order | translate}}</label>\\r\\n                                        <h2>{{provider_analytic_weekly.completed}}</h2>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-3 col-sm-6\\\">\\r\\n                            <div class=\\\"ibox\\\">\\r\\n                                <div class=\\\"ibox-title lable_center\\\">\\r\\n                                    <div>\\r\\n\\r\\n                                        <label>{{heading_title.total_item_sold | translate}}</label>\\r\\n                                        <h2>{{provider_analytic_weekly.total_items}}</h2>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-3 col-sm-6\\\">\\r\\n                            <div class=\\\"ibox\\\">\\r\\n                                <div class=\\\"ibox-title lable_center\\\">\\r\\n                                    <div>\\r\\n\\r\\n                                        <label>{{heading_title.accepted_ratio | translate}}</label>\\r\\n                                        <h2>{{provider_analytic_weekly.acception_ratio.toFixed(2)}}</h2>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-3 col-sm-6\\\">\\r\\n                            <div class=\\\"ibox\\\">\\r\\n                                <div class=\\\"ibox-title lable_center\\\">\\r\\n                                    <div>\\r\\n                                        <label>{{heading_title.rejected_ratio | translate}}</label>\\r\\n                                        <h2>{{provider_analytic_weekly.rejection_ratio.toFixed(2)}}</h2>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-3 col-sm-6\\\">\\r\\n                            <div class=\\\"ibox\\\">\\r\\n                                <div class=\\\"ibox-title lable_center\\\">\\r\\n                                    <div>\\r\\n                                        <label>{{heading_title.completed_ratio | translate}}</label>\\r\\n                                        <h2>{{provider_analytic_weekly.completed_ratio.toFixed(2)}}</h2>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"row\\\" *ngIf=\\\"show==true\\\">\\r\\n            <div class=\\\"\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" >\\r\\n                        <label class=\\\"control-label\\\">{{heading_title.pws_order_earning | translate}}</label>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content\\\">\\r\\n                        <div class=\\\"table-responsive\\\">\\r\\n\\r\\n                            <table class=\\\"table table-striped\\\">\\r\\n                                <tbody>\\r\\n                                <tr>\\r\\n                                    <td style=\\\"border: none;\\\">\\r\\n                                        <div><strong>{{title.pws_service_price | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total1.total_service_price).toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td style=\\\"border: none;\\\">\\r\\n                                        <div><strong>{{title.pws_tax_price | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total1.total_admin_tax_price)}}</td>\\r\\n                                </tr>\\r\\n                                <!--                                <tr>\\r\\n                                                                    <td style=\\\"border: none;\\\">\\r\\n                                                                        <div><strong>{{title.pws_surge_price | translate}}</strong></div>\\r\\n                                                                    </td>\\r\\n                                                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total1.total_surge_price).toFixed(2)}}</td>\\r\\n                                                                </tr>-->\\r\\n\\r\\n                                <tr>\\r\\n                                    <td style=\\\"border: none;\\\">\\r\\n                                        <div><strong>{{title.pws_delivery_price | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total1.total_delivery_price).toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td style=\\\"border: none;\\\">\\r\\n                                        <div><strong>{{title.pws_deliveryman_profit | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total1.total_provider_profit).toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n                                </tbody>\\r\\n\\r\\n                            </table>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"row\\\" *ngIf=\\\"show==true\\\">\\r\\n            <div class=\\\"\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" >\\r\\n                        <label class=\\\"control-label\\\">{{heading_title.pws_provider_transaction | translate}}</label>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content\\\">\\r\\n                        <div class=\\\"table-responsive\\\">\\r\\n\\r\\n                            <table class=\\\"table table-striped\\\">\\r\\n                                <tbody>\\r\\n\\r\\n                                <tr>\\r\\n                                    <td style=\\\"border: none;\\\">\\r\\n                                        <div><strong>{{title.pws_paid_order_amount | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total1.provider_paid_order_payment).toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td style=\\\"border: none;\\\">\\r\\n                                        <div><strong>{{title.pws_cash_amount | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total1.provider_have_cash_payment).toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n\\r\\n                                <tr>\\r\\n                                    <td style=\\\"border: none;\\\">\\r\\n                                        <div><strong>{{title.pws_total_provider_have_cash_payment_on_hand | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total1.total_provider_have_cash_payment_on_hand).toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n\\r\\n                                <tr>\\r\\n                                    <td style=\\\"border: none;\\\">\\r\\n                                        <div><strong>{{title.pws_total_wallet_income_set_in_cash_order | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total1.total_wallet_income_set_in_cash_order).toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n\\r\\n                                <tr>\\r\\n                                    <td style=\\\"border: none;\\\">\\r\\n                                        <div><strong>{{title.pws_total_wallet_income_set_in_other_order | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total1.total_wallet_income_set_in_other_order).toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n\\r\\n\\r\\n                                </tbody>\\r\\n\\r\\n                            </table>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"row\\\" *ngIf=\\\"show==true\\\">\\r\\n            <div class=\\\"\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" >\\r\\n                        <label class=\\\"control-label\\\">{{heading_title.pws_payment | translate}}</label>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content\\\">\\r\\n                        <div class=\\\"table-responsive\\\">\\r\\n\\r\\n                            <table class=\\\"table table-striped\\\">\\r\\n                                <tbody>\\r\\n                                <tr>\\r\\n                                    <td style=\\\"border: none;\\\">\\r\\n                                        <div><strong>{{title.pws_total_earning | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total1.total_earning).toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n\\r\\n                                <tr>\\r\\n                                    <td style=\\\"border: none;\\\">\\r\\n                                        <div><strong>{{title.pws_paid_in_wallet | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total1.total_wallet_income_set).toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n\\r\\n                                <!--                                <tr>\\r\\n                                                                    <td style=\\\"border: none;\\\">\\r\\n                                                                        <div><strong>{{title.pws_provider_earning | translate}}</strong></div>\\r\\n                                                                    </td>\\r\\n                                                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total1.total_provider_profit).toFixed(2)}}</td>\\r\\n                                                                </tr>-->\\r\\n                                <tr>\\r\\n                                    <td style=\\\"border: none;\\\">\\r\\n                                        <div><strong>{{title.pws_paid | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total1.provider_paid_order_payment).toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td style=\\\"border: none;\\\">\\r\\n                                        <div><strong>{{title.pws_remining_to_pay | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total.pay_to_provider)}}</td>\\r\\n                                </tr>\\r\\n\\r\\n\\r\\n                                </tbody>\\r\\n\\r\\n                            </table>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"row\\\" *ngIf=\\\"show==true\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\">\\r\\n                    <div>\\r\\n                        <label>{{heading_title.daily_earning | translate}}</label>\\r\\n                    </div>\\r\\n\\r\\n                </div>\\r\\n                <div class=\\\"ibox-content\\\" style=\\\"padding-bottom: 40px;\\\">\\r\\n                    <div class=\\\"table-responsive\\\" style=\\\"padding-bottom: 50px;\\\">\\r\\n                        <table class=\\\"table table-striped\\\">\\r\\n\\r\\n                            <tbody>\\r\\n                            <tr *ngIf=\\\"(date.date1 | amDifference: today :'days' : true) <= 0 \\\" >\\r\\n                                <td>{{date.date1 | date: \\\"EEE, dd MMM\\\"}}</td>\\r\\n                                <td>{{order_day_total.date1.toFixed(2)}}</td>\\r\\n                            </tr>\\r\\n                            <tr *ngIf=\\\"(date.date2 | amDifference: today :'days' : true) <= 0 \\\" >\\r\\n                                <td>{{date.date2 | date: \\\"EEE, dd MMM\\\"}}</td>\\r\\n                                <td>{{order_day_total.date2.toFixed(2)}}</td>\\r\\n                            </tr>\\r\\n                            <tr *ngIf=\\\"(date.date3 | amDifference: today :'days' : true) <= 0 \\\" >\\r\\n                                <td>{{date.date3 | date: \\\"EEE, dd MMM\\\"}}</td>\\r\\n                                <td>{{order_day_total.date3.toFixed(2)}}</td>\\r\\n                            </tr>\\r\\n                            <tr *ngIf=\\\"(date.date4 | amDifference: today :'days' : true) <= 0 \\\" >\\r\\n                                <td>{{date.date4 | date: \\\"EEE, dd MMM\\\"}}</td>\\r\\n                                <td>{{order_day_total.date4.toFixed(2)}}</td>\\r\\n                            </tr>\\r\\n                            <tr *ngIf=\\\"(date.date5 | amDifference: today :'days' : true) <= 0 \\\" >\\r\\n                                <td>{{date.date5 | date: \\\"EEE, dd MMM\\\"}}</td>\\r\\n                                <td>{{order_day_total.date5.toFixed(2)}}</td>\\r\\n                            </tr>\\r\\n                            <tr *ngIf=\\\"(date.date6 | amDifference: today :'days' : true) <= 0 \\\">\\r\\n                                <td>{{date.date6 | date: \\\"EEE, dd MMM\\\"}}</td>\\r\\n                                <td>{{order_day_total.date6.toFixed(2)}}</td>\\r\\n                            </tr>\\r\\n                            <tr *ngIf=\\\"(date.date7 | amDifference: today :'days' : true) <= 0 \\\" >\\r\\n                                <td>{{date.date7 | date: \\\"EEE, dd MMM\\\"}}</td>\\r\\n                                <td>{{order_day_total.date7.toFixed(2)}}</td>\\r\\n                            </tr>\\r\\n                            </tbody>\\r\\n\\r\\n                        </table>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </modal-body>\\r\\n</modal>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/provider_weekly_earning/provider_weekly_earning.component.html\n// module id = 1624\n// module chunks = 0","module.exports = \"<div class=\\\"row wrapper content_top_bar border-bottom white-bg page-heading\\\">\\r\\n\\r\\n    <!--    <div class=\\\"col-lg-12\\\">\\r\\n            <button (click)=\\\"download()\\\">download Pdf</button>\\r\\n    \\r\\n            <strong><h3 style=\\\"text-align:center\\\">{{currency}} {{(order_total.total_earning).toFixed(2)}}</h3></strong>\\r\\n            <span class=\\\"pull-right\\\"><a class=\\\"btn btn-primary\\\" (click)=\\\"download()\\\">download Pdf</a></span>\\r\\n        </div>-->\\r\\n\\r\\n\\r\\n    <div class=\\\"col-lg-12\\\">\\r\\n        <div class=\\\"col-md-6 col-sm-6 col-xs-6\\\">\\r\\n            <h3>{{currency}} {{(order_total.total_earning).toFixed(2)}}</h3>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-md-6 col-sm-6 col-xs-6\\\">\\r\\n            <span class=\\\"pull-right\\\"><a class=\\\"btn btn-primary\\\" (click)=\\\"download()\\\">Download Pdf</a></span>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n\\r\\n<div class=\\\"wrapper wrapper-content animated fadeInRight \\\">\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-content\\\">\\r\\n                <div class=\\\"row\\\">\\r\\n                    <div class=\\\"col-md-3 col-sm-6\\\">\\r\\n                        <div class=\\\"ibox\\\">\\r\\n                            <div class=\\\"ibox-title lable_center\\\">\\r\\n                                <div>\\r\\n\\r\\n                                    <label>{{title.pws_total_online_time | translate}}</label>\\r\\n                                    <h2>{{provider_analytic_weekly.total_online_time}}</h2>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-3 col-sm-6\\\">\\r\\n                        <div class=\\\"ibox\\\">\\r\\n                            <div class=\\\"ibox-title lable_center\\\">\\r\\n                                <div>\\r\\n\\r\\n                                    <label>{{title.pws_total_deliveries | translate}}</label>\\r\\n                                    <h2>{{provider_analytic_weekly.received}}</h2>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-3 col-sm-6\\\">\\r\\n                        <div class=\\\"ibox\\\">\\r\\n                            <div class=\\\"ibox-title lable_center\\\">\\r\\n                                <div>\\r\\n\\r\\n                                    <label>{{title.pws_completed_deliveries | translate}}</label>\\r\\n                                    <h2>{{provider_analytic_weekly.completed}}</h2>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-3 col-sm-6\\\">\\r\\n                        <div class=\\\"ibox\\\">\\r\\n                            <div class=\\\"ibox-title lable_center\\\">\\r\\n                                <div>\\r\\n\\r\\n                                    <label>{{title.pws_completed_ratio | translate}}</label>\\r\\n                                    <h2>{{provider_analytic_weekly.completed_ratio}}</h2>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n\\r\\n                    <div class=\\\"col-md-3 col-sm-6\\\">\\r\\n                        <div class=\\\"ibox\\\">\\r\\n                            <div class=\\\"ibox-title lable_center\\\">\\r\\n                                <div>\\r\\n\\r\\n                                    <label>{{title.pws_job_time | translate}}</label>\\r\\n                                    <h2>{{provider_analytic_weekly.total_active_job_time}}</h2>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-3 col-sm-6\\\">\\r\\n                        <div class=\\\"ibox\\\">\\r\\n                            <div class=\\\"ibox-title lable_center\\\">\\r\\n                                <div>\\r\\n\\r\\n                                    <label>{{title.pws_cancelled | translate}}</label>\\r\\n                                    <h2>{{provider_analytic_weekly.cancelled}}</h2>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-3 col-sm-6\\\">\\r\\n                        <div class=\\\"ibox\\\">\\r\\n                            <div class=\\\"ibox-title lable_center\\\">\\r\\n                                <div>\\r\\n\\r\\n                                    <label>{{title.pws_accepted | translate}}</label>\\r\\n                                    <h2>{{provider_analytic_weekly.accepted}}</h2>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-3 col-sm-6\\\">\\r\\n                        <div class=\\\"ibox\\\">\\r\\n                            <div class=\\\"ibox-title lable_center\\\">\\r\\n                                <div>\\r\\n\\r\\n                                    <label>{{title.pws_accepted_ratio | translate}}</label>\\r\\n                                    <h2>{{provider_analytic_weekly.acception_ratio}}</h2>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n                    <div class=\\\"col-md-3 col-sm-6\\\">\\r\\n                        <div class=\\\"ibox\\\">\\r\\n                            <div class=\\\"ibox-title lable_center\\\">\\r\\n                                <div>\\r\\n                                    <label>{{title.pws_not_answered | translate}}</label>\\r\\n                                    <h2>{{provider_analytic_weekly.not_answered}}</h2>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-3 col-sm-6\\\">\\r\\n                        <div class=\\\"ibox\\\">\\r\\n                            <div class=\\\"ibox-title lable_center\\\">\\r\\n                                <div>\\r\\n\\r\\n                                    <label>{{title.pws_cancelled_ratio | translate}}</label>\\r\\n                                    <h2>{{provider_analytic_weekly.cancellation_ratio}}</h2>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-3 col-sm-6\\\">\\r\\n                        <div class=\\\"ibox\\\">\\r\\n                            <div class=\\\"ibox-title lable_center\\\">\\r\\n                                <div>\\r\\n\\r\\n                                    <label>{{title.pws_rejected | translate}}</label>\\r\\n                                    <h2>{{provider_analytic_weekly.rejected}}</h2>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-3 col-sm-6\\\">\\r\\n                        <div class=\\\"ibox\\\">\\r\\n                            <div class=\\\"ibox-title lable_center\\\">\\r\\n                                <div>\\r\\n\\r\\n                                    <label>{{title.pws_rejection_ratio | translate}}</label>\\r\\n                                    <h2>{{provider_analytic_weekly.rejection_ratio}}</h2>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\" >\\r\\n                    <label class=\\\"control-label\\\">{{heading_title.pws_order_earning | translate}}</label>  \\r\\n                </div>\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"table-responsive\\\">\\r\\n\\r\\n                        <table class=\\\"table table-striped\\\">\\r\\n                            <tbody>\\r\\n                                <tr>\\r\\n                                    <td style=\\\"border: none;\\\">\\r\\n                                        <div><strong>{{title.pws_service_price | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total.total_service_price).toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td style=\\\"border: none;\\\">\\r\\n                                        <div><strong>{{title.pws_tax_price | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total.total_admin_tax_price).toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n<!--                                <tr>\\r\\n                                    <td style=\\\"border: none;\\\">\\r\\n                                        <div><strong>{{title.pws_surge_price | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total.total_surge_price).toFixed(2)}}</td>\\r\\n                                </tr>-->\\r\\n\\r\\n                                <tr>\\r\\n                                    <td style=\\\"border: none;\\\">\\r\\n                                        <div><strong>{{title.pws_delivery_price | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total.total_delivery_price).toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td style=\\\"border: none;\\\">\\r\\n                                        <div><strong>{{title.pws_deliveryman_profit | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total.total_provider_profit).toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td style=\\\"border: none;\\\">\\r\\n                                        <div><strong>{{title.pws_wallet | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total.wallet).toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n                            </tbody>\\r\\n\\r\\n                        </table>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>  \\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\" >\\r\\n                    <label class=\\\"control-label\\\">{{heading_title.pws_provider_transaction | translate}}</label>  \\r\\n                </div>\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"table-responsive\\\">\\r\\n\\r\\n                        <table class=\\\"table table-striped\\\">\\r\\n                            <tbody>\\r\\n\\r\\n                                <tr>\\r\\n                                    <td style=\\\"border: none;\\\">\\r\\n                                        <div><strong>{{title.pws_paid_order_amount | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total.provider_paid_order_payment).toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td style=\\\"border: none;\\\">\\r\\n                                        <div><strong>{{title.pws_cash_amount | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total.provider_have_cash_payment).toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n\\r\\n                                <tr>\\r\\n                                    <td style=\\\"border: none;\\\">\\r\\n                                        <div><strong>{{title.pws_total_provider_have_cash_payment_on_hand | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total.total_provider_have_cash_payment_on_hand).toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n\\r\\n                                <tr>\\r\\n                                    <td style=\\\"border: none;\\\">\\r\\n                                        <div><strong>{{title.pws_total_wallet_income_set_in_cash_order | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total.total_wallet_income_set_in_cash_order).toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n\\r\\n                                <tr>\\r\\n                                    <td style=\\\"border: none;\\\">\\r\\n                                        <div><strong>{{title.pws_total_wallet_income_set_in_other_order | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total.total_wallet_income_set_in_other_order).toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n\\r\\n\\r\\n                            </tbody>\\r\\n\\r\\n                        </table>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>  \\r\\n    </div>\\r\\n\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\" >\\r\\n                    <label class=\\\"control-label\\\">{{heading_title.pws_payment | translate}}</label>  \\r\\n                </div>\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"table-responsive\\\">\\r\\n\\r\\n                        <table class=\\\"table table-striped\\\">\\r\\n                            <tbody>\\r\\n                                <tr>\\r\\n                                    <td style=\\\"border: none;\\\">\\r\\n                                        <div><strong>{{title.pws_total_earning | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total.total_earning).toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n\\r\\n                                <tr>\\r\\n                                    <td style=\\\"border: none;\\\">\\r\\n                                        <div><strong>{{title.pws_paid_in_wallet | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total.total_wallet_income_set).toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n\\r\\n                                <!--                                <tr>\\r\\n                                                                    <td style=\\\"border: none;\\\">\\r\\n                                                                        <div><strong>{{title.pws_provider_earning | translate}}</strong></div>\\r\\n                                                                    </td>\\r\\n                                                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total.total_provider_profit).toFixed(2)}}</td>\\r\\n                                                                </tr>-->\\r\\n                                <tr>\\r\\n                                    <td style=\\\"border: none;\\\">\\r\\n                                        <div><strong>{{title.pws_paid | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total.provider_paid_order_payment).toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td style=\\\"border: none;\\\">\\r\\n                                        <div><strong>{{title.pws_remining_to_pay | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total.pay_to_provider).toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n\\r\\n\\r\\n                            </tbody>\\r\\n\\r\\n                        </table>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>  \\r\\n    </div>    \\r\\n\\r\\n\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\">\\r\\n                <div>\\r\\n                    <label>{{heading_title.pws_daily_order_earning | translate}}</label>\\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n            <div class=\\\"ibox-content\\\" style=\\\"padding-bottom: 40px;\\\">\\r\\n                <div class=\\\"table-responsive\\\" style=\\\"padding-bottom: 50px;\\\">\\r\\n                    <table class=\\\"table table-striped\\\">\\r\\n                        <thead>\\r\\n                            <tr>\\r\\n                                <th>{{title.pws_date | translate}}</th>\\r\\n                                <th>{{title.pws_total | translate}}</th>\\r\\n                                <th>{{title.pws_delivery | translate}}</th>\\r\\n                                <th>{{title.pws_profit | translate}}</th>\\r\\n                                <th>{{title.pws_paid_order | translate}}</th>\\r\\n                                <th>{{title.pws_cash | translate}}</th>\\r\\n                                <th>{{title.pws_earn | translate}}</th>\\r\\n\\r\\n\\r\\n\\r\\n                            </tr>\\r\\n                        </thead>\\r\\n                        <tbody *ngIf=\\\"this.order_day_total!=='' && this.date!==''\\\">\\r\\n                            <tr>\\r\\n                                <td>{{date.date1 | date: \\\"dd MMM yyyy hh:mm a\\\"}}</td>\\r\\n                                <td>{{order_day_total.date1_total}}</td>\\r\\n                                <td>{{order_day_total.date1_total_delivery_price}}</td>\\r\\n                                <td>{{order_day_total.date1_profit}}</td>\\r\\n                                <td>{{order_day_total.date1_paid_order}}</td>\\r\\n                                <td>{{order_day_total.date1_cash}}</td>\\r\\n                                <td>{{order_day_total.date1_earn}}</td>\\r\\n\\r\\n                            </tr>\\r\\n                            <tr>\\r\\n                                <td>{{date.date2 | date: \\\"EEE, dd MMM\\\"}}</td>\\r\\n                                <td>{{order_day_total.date2_total}}</td>\\r\\n                                <td>{{order_day_total.date2_total_delivery_price}}</td>\\r\\n                                <td>{{order_day_total.date2_profit}}</td>\\r\\n                                <td>{{order_day_total.date2_paid_order}}</td>\\r\\n                                <td>{{order_day_total.date2_cash}}</td>\\r\\n                                <td>{{order_day_total.date2_earn}}</td>\\r\\n\\r\\n                            </tr>\\r\\n                            <tr>\\r\\n                                <td>{{date.date3 | date: \\\"EEE, dd MMM\\\"}}</td>\\r\\n                                <td>{{order_day_total.date3_total}}</td>\\r\\n                                <td>{{order_day_total.date3_total_delivery_price}}</td>\\r\\n                                <td>{{order_day_total.date3_profit}}</td>\\r\\n                                <td>{{order_day_total.date3_paid_order}}</td>\\r\\n                                <td>{{order_day_total.date3_cash}}</td>\\r\\n                                <td>{{order_day_total.date3_earn}}</td>\\r\\n\\r\\n                            </tr>\\r\\n                            <tr>\\r\\n                                <td>{{date.date4 | date: \\\"EEE, dd MMM\\\"}}</td>\\r\\n                                <td>{{order_day_total.date4_total}}</td>\\r\\n                                <td>{{order_day_total.date4_total_delivery_price}}</td>\\r\\n                                <td>{{order_day_total.date4_profit}}</td>\\r\\n                                <td>{{order_day_total.date4_paid_order}}</td>\\r\\n                                <td>{{order_day_total.date4_cash}}</td>\\r\\n                                <td>{{order_day_total.date4_earn}}</td>\\r\\n\\r\\n                            </tr>\\r\\n                            <tr>\\r\\n                                <td>{{date.date5 | date: \\\"EEE, dd MMM\\\"}}</td>\\r\\n                                <td>{{order_day_total.date5_total}}</td>\\r\\n                                <td>{{order_day_total.date5_total_delivery_price}}</td>\\r\\n                                <td>{{order_day_total.date5_profit}}</td>\\r\\n                                <td>{{order_day_total.date5_paid_order}}</td>\\r\\n                                <td>{{order_day_total.date5_cash}}</td>\\r\\n                                <td>{{order_day_total.date5_earn}}</td>\\r\\n\\r\\n                            </tr>\\r\\n                            <tr>\\r\\n                                <td>{{date.date6 | date: \\\"EEE, dd MMM\\\"}}</td>\\r\\n                                <td>{{order_day_total.date6_total}}</td>\\r\\n                                <td>{{order_day_total.date6_total_delivery_price}}</td>\\r\\n                                <td>{{order_day_total.date6_profit}}</td>\\r\\n                                <td>{{order_day_total.date6_paid_order}}</td>\\r\\n                                <td>{{order_day_total.date6_cash}}</td>\\r\\n                                <td>{{order_day_total.date6_earn}}</td>\\r\\n\\r\\n                            </tr>\\r\\n                            <tr>\\r\\n                                <td>{{date.date7 | date: \\\"EEE, dd MMM\\\"}}</td>\\r\\n                                <td>{{order_day_total.date7_total}}</td>\\r\\n                                <td>{{order_day_total.date7_total_delivery_price}}</td>\\r\\n                                <td>{{order_day_total.date7_profit}}</td>\\r\\n                                <td>{{order_day_total.date7_paid_order}}</td>\\r\\n                                <td>{{order_day_total.date7_cash}}</td>\\r\\n                                <td>{{order_day_total.date7_earn}}</td>\\r\\n\\r\\n                            </tr>\\r\\n                        </tbody>\\r\\n\\r\\n                    </table>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/provider_weekly_earning_statement/provider_weekly_earning_statement.component.html\n// module id = 1625\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\" *ngIf=\\\"!add_boolean\\\">\\r\\n  <div class=\\\"row\\\">\\r\\n    <div class=\\\"col-md-6 col-sm-12 pull-right\\\">\\r\\n      <div class=\\\"add_btn_div\\\" style=\\\"margin-right: 35px;\\\">\\r\\n        <a><button (click)=\\\"check_order_data()\\\" class=\\\"btn add_btn pull-right\\\" style=\\\"margin-right: 10px;\\\">{{button.update | translate}}</button></a>\\r\\n      </div>\\r\\n    </div>\\r\\n    <!-- <div class=\\\"col-md-6 col-sm-12 pull-right\\\">\\r\\n      <div class=\\\"add_btn_div\\\" style=\\\"margin-right: 35px;\\\">\\r\\n        <a><button (click)=\\\"add_boolean=true\\\" class=\\\"btn add_btn pull-right\\\" style=\\\"margin-right: 10px;\\\">{{button.add_item | translate}}</button></a>\\r\\n      </div>\\r\\n    </div> -->\\r\\n  </div>\\r\\n</div>\\r\\n\\r\\n<div class=\\\"wrapper content_top_bar_view wrapper-content animated fadeInRight\\\" *ngIf=\\\"!add_boolean\\\">\\r\\n  <div class=\\\"row\\\" *ngFor=\\\"let product_data of order.cart_detail.order_details; let product_index=index; \\\">\\r\\n    <div class=\\\"col-md-12\\\" style=\\\"margin-bottom: 10px; padding: 0px;\\\">\\r\\n      <label class=\\\"control-label label label-danger\\\" style=\\\"font-size: 20px;\\\">{{product_data.product_name}}</label>\\r\\n    </div>\\r\\n\\r\\n    <div *ngFor=\\\"let i of product_data.items; let item_index=index; \\\">\\r\\n      <div class=\\\"col-lg-4 col-sm-6\\\" style=\\\"padding : 0px; padding-right: 2px;\\\">\\r\\n        <div class=\\\"contact-box\\\" style=\\\"padding-left: 0px; padding-right: 0px;\\\">\\r\\n          <a >\\r\\n            <div class=\\\"col-md-4 col-xs-4 div1\\\" (click)=\\\"open_edit_item_modal(i , product_data, item_index, product_index)\\\" style=\\\"text-align: center; padding-left: 0px; padding-right: 0px;\\\">\\r\\n              <img class=\\\"img-circle m-t-sm img-responsive\\\" src=\\\"{{i.image_url[0] != undefined ? helper.CONSTANT.IMAGE_BASE_URL + i.image_url[0] : 'default.png'}}\\\" style=\\\"border-radius: 20%; display: inline; width:100px; height: 100px;\\\">\\r\\n            </div>\\r\\n            <div class=\\\"col-md-8 col-xs-8 div2\\\" style=\\\"padding-left: 0px; padding-right: 0px;\\\">\\r\\n              <div class=\\\"col-md-9 col-xs-9\\\" style=\\\"height: 24px; overflow: hidden;\\\">\\r\\n                <h3><strong>{{i.item_name}}</strong></h3>\\r\\n              </div>\\r\\n              <div class=\\\"col-md-3 col-xs-3\\\" >\\r\\n                <h3><strong style=\\\"float: right;\\\">{{order.currency}}{{((i.total_item_and_specification_price)-(i.offer_price ? i.offer_price : 0)).toFixed(2)}}</strong></h3>\\r\\n              </div>\\r\\n\\r\\n              <div class=\\\"col-md-12 col-xs-12\\\" style=\\\"height: 57px; overflow: hidden;\\\">\\r\\n                <address>\\r\\n                  {{i.details}}\\r\\n                </address>\\r\\n              </div>\\r\\n              <div *ngIf=\\\"!i.is_removed\\\">\\r\\n                <div class=\\\"col-md-9 col-xs-9\\\">\\r\\n                    <div style=\\\"display: inline-block;\\\">\\r\\n                      <i (click)=\\\"decrease_qty(product_index, item_index)\\\" class=\\\"fa fa-minus\\\" aria-hidden=\\\"true\\\"></i>\\r\\n                    </div>\\r\\n                    <div style=\\\"display: inline-block;padding-left: 40px;padding-right: 40px;\\\">\\r\\n                      <h4 class=\\\"num\\\" style=\\\"margin-top: 10px;\\\">{{i.quantity}}</h4>\\r\\n                    </div>\\r\\n                    <!-- <div style=\\\"display: inline-block;\\\">\\r\\n                      <i (click)=\\\"increase_qty(product_index, item_index)\\\" class=\\\"fa fa-plus\\\" aria-hidden=\\\"true\\\"></i>\\r\\n                    </div> -->\\r\\n                </div>\\r\\n                <div class=\\\"col-md-3 col-xs-3\\\">\\r\\n                  <a class=\\\"remove\\\" [hidden]=\\\"last_item\\\" (click)=\\\"remove_from_cart(product_index, item_index)\\\">Remove</a>\\r\\n                </div>\\r\\n              </div>\\r\\n              <div *ngIf=\\\"i.is_removed\\\" class=\\\"col-md-12 col-xs-12\\\" style=\\\"color:red;\\\">\\r\\n                Refund\\r\\n              </div>\\r\\n              <div *ngIf=\\\"i.old_total\\\" class=\\\"col-md-12 col-xs-12\\\" style=\\\"color:red;\\\">\\r\\n                Options Refund\\r\\n              </div>\\r\\n            </div>\\r\\n            <div class=\\\"clearfix\\\"></div>\\r\\n          </a>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n\\r\\n</div>\\r\\n\\r\\n<div class=\\\"wrapper content_top_bar_view wrapper-content animated fadeInRight\\\" *ngIf=\\\"add_boolean\\\">\\r\\n  <div class=\\\"row\\\" *ngFor=\\\"let product_data of filtered_product_list; let product_index=index; \\\">\\r\\n    <div class=\\\"col-md-12 \\\" style=\\\"margin-bottom: 10px; padding: 0px;\\\" *ngIf=\\\"product_data.items.length > 0\\\">\\r\\n      <label class=\\\"control-label label label-danger\\\" style=\\\"font-size: 20px;\\\">{{product_data.name}}</label>\\r\\n    </div>\\r\\n\\r\\n\\r\\n    <div *ngFor=\\\"let i of product_data.items; let item_index=index; \\\">\\r\\n      <div class=\\\"col-lg-4 col-sm-6\\\" style=\\\"padding : 0px; padding-right: 2px;\\\">\\r\\n        <div class=\\\"contact-box\\\" style=\\\"padding-left: 0px; padding-right: 0px;\\\">\\r\\n          <a (click)=\\\"open_item_modal(i , item_index , product_index, $event)\\\" >\\r\\n            <div class=\\\"col-md-4 col-xs-4 div1\\\" style=\\\"text-align: center; padding-left: 0px; padding-right: 0px;\\\">\\r\\n              <img class=\\\"img-circle m-t-sm img-responsive\\\" src=\\\"{{i.image_url[0] != undefined ? helper.CONSTANT.IMAGE_BASE_URL + i.image_url[0] : 'default.png'}}\\\" style=\\\"border-radius: 20%; display: inline; width:100px; height: 100px;\\\">\\r\\n\\r\\n            </div>\\r\\n            <div class=\\\"col-md-8 col-xs-8 div2\\\" style=\\\"padding-left: 0px; padding-right: 0px;\\\">\\r\\n              <div class=\\\"col-md-9 col-xs-9\\\" style=\\\"height: 24px; overflow: hidden;\\\">\\r\\n                <h3><strong>{{i.name}}</strong></h3>\\r\\n              </div>\\r\\n              <div class=\\\"col-md-3 col-xs-3\\\" >\\r\\n                <h3><strong style=\\\"float: right;\\\">{{currency}}{{i.price}}</strong></h3>\\r\\n              </div>\\r\\n\\r\\n              <div class=\\\"col-md-12 col-xs-12\\\" style=\\\"height: 57px; overflow: hidden;\\\">\\r\\n                <address>\\r\\n                  {{i.details}}\\r\\n                </address>\\r\\n              </div>\\r\\n            </div>\\r\\n            <div class=\\\"clearfix\\\"></div>\\r\\n          </a>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n\\r\\n</div>\\r\\n\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl animated\\\" #itemModal\\r\\n       style=\\\"overflow: scroll; z-index: 9999999 !important;\\\">\\r\\n\\r\\n  <div class=\\\"modal-header\\\" style=\\\"padding: 0 !important;\\\">\\r\\n    <img class=\\\"remove_image item_modal_close\\\" (click)=\\\"close_item_modal()\\\" src=\\\"images/cross_white.png\\\" />\\r\\n    <div class=\\\"item_modal_image_shaddow\\\">\\r\\n\\r\\n    </div>\\r\\n    <div id=\\\"myCarousel\\\" class=\\\"carousel slide\\\" data-ride=\\\"carousel\\\">\\r\\n\\r\\n      <ol class=\\\"carousel-indicators\\\">\\r\\n        <li class=\\\"a\\\" *ngFor=\\\"let image of current_item.image_url; let image_index=index; let first=first;\\\"\\r\\n            id=\\\"aa{{image_index}}\\\" [attr.data-target]=\\\"'#myCarousel'\\\" [attr.data-slide-to]=\\\"image_index\\\"\\r\\n            [class.active]=\\\"first\\\">\\r\\n        </li>\\r\\n        <li *ngIf=\\\"current_item.image_url.length == 0\\\" class=\\\"a active\\\" [attr.data-target]=\\\"'#myCarousel'\\\" [attr.data-slide-to]=\\\"1\\\">\\r\\n        </li>\\r\\n      </ol>\\r\\n\\r\\n      <div class=\\\"carousel-inner\\\" (dragstart)=\\\"dragstart_image($event)\\\"\\r\\n           (dragend)=\\\"dragend_image($event, current_item.image_url.length)\\\">\\r\\n        <div *ngFor=\\\"let image of current_item.image_url; let image_index=index; let first=first;\\\" class=\\\"item\\\"\\r\\n             [class.active]=\\\"first\\\">\\r\\n          <img class=\\\"animated fadeInRight\\\" src=\\\"{{helper.CONSTANT.IMAGE_BASE_URL + image}}\\\" alt=\\\"Los Angeles\\\"\\r\\n               style=\\\"width:100%;height: 230px;object-fit: cover;\\\">\\r\\n        </div>\\r\\n        <div *ngIf=\\\"current_item.image_url.length == 0\\\" class=\\\"item active\\\">\\r\\n          <img class=\\\"animated fadeInRight\\\" src=\\\"default.png\\\" alt=\\\"Los Angeles\\\"\\r\\n               style=\\\"width:100%;height: 230px;object-fit: cover;\\\">\\r\\n        </div>\\r\\n      </div>\\r\\n\\r\\n    </div>\\r\\n  </div>\\r\\n  <div class=\\\"modal-body\\\" style=\\\"padding-bottom: 10px;\\\">\\r\\n    <div class=\\\"\\\">\\r\\n      <h1 class=\\\"modalbodyhead\\\">{{current_item.name}}</h1>\\r\\n      <p class=\\\"modalbodytext\\\">{{current_item.details}}</p>\\r\\n\\r\\n      <div *ngFor=\\\"let specification_group of current_item.specifications; let specification_group_index = index;\\\">\\r\\n        <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\r\\n          <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n            <h1 class=\\\"radioheader\\\">{{specification_group.name}}</h1>\\r\\n            <div class=\\\"min_max\\\">\\r\\n              <span *ngIf=\\\"specification_group.min_selection>1\\\">\\r\\n                Min. {{specification_group.min_selection}} / \\r\\n              </span>\\r\\n              <span *ngIf=\\\"specification_group.max_selection>0&&specification_group.type==2\\\">\\r\\n                Max. {{specification_group.max_selection}} options\\r\\n              </span>\\r\\n            </div>\\r\\n          </div>\\r\\n          <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n            <h1 *ngIf=\\\"specification_group.is_required\\\" class=\\\"radioheader pull-right\\\"\\r\\n                style=\\\"color: #cb212e;\\\">{{title.required | translate}}</h1>\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"radio1\\\">\\r\\n          <div *ngIf=\\\"specification_group.type==1\\\">\\r\\n            <div *ngFor=\\\"let specification of specification_group.list; let specification_index = index;\\\"\\r\\n                 class=\\\"radio\\\" style=\\\"margin-top: 0px; margin-bottom: 0px;\\\">\\r\\n              <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\r\\n\\r\\n                <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n                  <label>\\r\\n                    <!--<input type=\\\"radio\\\"-->\\r\\n                    <!--(change)=\\\"changeradio($event, specification_group_index, specification_index)\\\"-->\\r\\n                    <!--[checked]=\\\"specification.is_default_selected\\\" class=\\\"walnut\\\">{{specification.name}}-->\\r\\n                    <div style=\\\"padding-left: 24px;\\\" class=\\\"iradio_square-green\\\"\\r\\n                         [class.checked]=\\\"specification.is_default_selected\\\">\\r\\n                      <input type=\\\"radio\\\" style=\\\"opacity:0\\\"\\r\\n                             (change)=\\\"changeradio($event, specification_group_index, specification_index)\\\"\\r\\n                             [checked]=\\\"specification.is_default_selected\\\" class=\\\"walnut\\\">\\r\\n                    </div>\\r\\n                    <span style=\\\"margin-left: 10px;\\\">{{specification.name}}</span>\\r\\n\\r\\n                  </label>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n                  <label *ngIf=\\\"specification.price>0\\\" class=\\\"pull-right\\\">{{currency}}{{specification.price}}</label>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n          <div *ngIf=\\\"specification_group.type==2\\\">\\r\\n            <div *ngFor=\\\"let specification of specification_group.list; let specification_index = index;\\\"\\r\\n                 class=\\\"checkbox\\\" style=\\\"margin-top: 0px; margin-bottom: 0px;\\\">\\r\\n              <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\r\\n                <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n                  <label>\\r\\n                    <div style=\\\"padding-left: 24px;\\\" class=\\\"icheckbox_square-green\\\"\\r\\n                         [class.checked]=\\\"specification.is_default_selected\\\">\\r\\n                      <input type=\\\"checkbox\\\" [disabled]=\\\"specification_group.default_selected_count==specification_group.max_selection && !specification.is_default_selected\\\" style=\\\"opacity:0\\\"\\r\\n                             (change)=\\\"changecheckbox($event, specification_group_index, specification_index)\\\"\\r\\n                             [checked]=\\\"specification.is_default_selected\\\" class=\\\"walnut\\\">\\r\\n                    </div>\\r\\n                    <span style=\\\"margin-left: 10px;\\\">{{specification.name}}</span>\\r\\n                  </label>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n                  <label *ngIf=\\\"specification.price>0\\\" class=\\\"pull-right\\\">{{currency}}{{specification.price}}</label>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n\\r\\n      <div class=\\\"row\\\" style=\\\"margin: 0;text-align: center; color:black; margin-top: 20px;font-family: myFirstFont;\\\">\\r\\n        <textarea class=\\\"delnote\\\" name=\\\"note_for_item\\\" [(ngModel)]=\\\"note_for_item\\\" style=\\\"width: 100%;max-width: 100%; max-height: 80px;\\\" placeholder=\\\"Add Delivery Note\\\"></textarea>\\r\\n      </div>\\r\\n\\r\\n\\r\\n      <div class=\\\"row\\\" style=\\\"margin: 0;text-align: center; color:black; margin-top: 20px;font-family: myFirstFont;\\\">\\r\\n        <div class=\\\"col-md-4 col-sm-4 col-xs-2\\\"></div>\\r\\n        <div class=\\\"col-md-4 col-sm-4 col-xs-8\\\" style=\\\"border:1px solid;border-radius: 10px;\\\">\\r\\n          <div style=\\\"display: inline-block;\\\">\\r\\n            <i (click)=\\\"newitem_decrease_qty()\\\" class=\\\"fa fa-minus\\\" aria-hidden=\\\"true\\\"></i>\\r\\n          </div>\\r\\n          <div style=\\\"display: inline-block;padding-left: 40px;padding-right: 40px;\\\">\\r\\n            <h4 class=\\\"num\\\" style=\\\"margin-top: 10px;\\\">{{qty}}</h4>\\r\\n          </div>\\r\\n          <div style=\\\"display: inline-block;\\\">\\r\\n            <i (click)=\\\"newitem_incerase_qty()\\\" class=\\\"fa fa-plus\\\" aria-hidden=\\\"true\\\"></i>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"row\\\" style=\\\"padding-top: 20px;text-align: center;color: red;\\\">\\r\\n        <span class=\\\"validation_error\\\" style=\\\"font-size: 13px;\\\" *ngIf=\\\"required_count !== required_temp_count\\\">\\r\\n          please select the required fields\\r\\n        </span>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n\\r\\n  <div class=\\\"modal-footer\\\" style=\\\"background-color: black;\\\">\\r\\n    <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\r\\n\\r\\n      <button [disabled]=\\\"required_count !== required_temp_count\\\" (click)=\\\"addToCart()\\\"\\r\\n              style=\\\"width: 100%;background-color: black;border: 0;\\\">\\r\\n        <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n          <h1 class=\\\"totalprice\\\" style=\\\"float: left;\\\">{{button.add_item | translate}}</h1>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n          <h1 class=\\\"totalprice\\\">{{currency}}{{total}}</h1>\\r\\n        </div>\\r\\n      </button>\\r\\n    </div>\\r\\n  </div>\\r\\n\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl animated\\\" #edititemModal\\r\\n       style=\\\"overflow: scroll; z-index: 9999999 !important;\\\">\\r\\n\\r\\n  <div class=\\\"modal-header\\\" style=\\\"padding: 0 !important;\\\">\\r\\n    <img class=\\\"remove_image item_modal_close\\\" (click)=\\\"close_item_modal()\\\" src=\\\"images/cross_white.png\\\" />\\r\\n    <div class=\\\"item_modal_image_shaddow\\\">\\r\\n\\r\\n    </div>\\r\\n    <div id=\\\"myCarousel\\\" class=\\\"carousel slide\\\" data-ride=\\\"carousel\\\">\\r\\n\\r\\n      <ol class=\\\"carousel-indicators\\\">\\r\\n        <li class=\\\"a\\\" *ngFor=\\\"let image of current_item.image_url; let image_index=index; let first=first;\\\"\\r\\n            id=\\\"aa{{image_index}}\\\" [attr.data-target]=\\\"'#myCarousel'\\\" [attr.data-slide-to]=\\\"image_index\\\"\\r\\n            [class.active]=\\\"first\\\">\\r\\n        </li>\\r\\n        <li *ngIf=\\\"current_item.image_url.length == 0\\\" class=\\\"a active\\\" [attr.data-target]=\\\"'#myCarousel'\\\" [attr.data-slide-to]=\\\"1\\\">\\r\\n        </li>\\r\\n      </ol>\\r\\n\\r\\n      <div class=\\\"carousel-inner\\\" (dragstart)=\\\"dragstart_image($event)\\\"\\r\\n           (dragend)=\\\"dragend_image($event, current_item.image_url.length)\\\">\\r\\n        <div *ngFor=\\\"let image of current_item.image_url; let image_index=index; let first=first;\\\" class=\\\"item\\\"\\r\\n             [class.active]=\\\"first\\\">\\r\\n          <img class=\\\"animated fadeInRight\\\" src=\\\"{{helper.CONSTANT.IMAGE_BASE_URL + image}}\\\" alt=\\\"Los Angeles\\\"\\r\\n               style=\\\"width:100%;height: 230px;object-fit: cover;\\\">\\r\\n        </div>\\r\\n        <div *ngIf=\\\"current_item.image_url.length == 0\\\" class=\\\"item active\\\">\\r\\n          <img class=\\\"animated fadeInRight\\\" src=\\\"default.png\\\" alt=\\\"Los Angeles\\\"\\r\\n               style=\\\"width:100%;height: 230px;object-fit: cover;\\\">\\r\\n        </div>\\r\\n      </div>\\r\\n\\r\\n    </div>\\r\\n  </div>\\r\\n  <div class=\\\"modal-body\\\" style=\\\"padding-bottom: 10px;\\\">\\r\\n    <div class=\\\"\\\">\\r\\n      <h1 class=\\\"modalbodyhead\\\">{{current_item.name}}</h1>\\r\\n      <p class=\\\"modalbodytext\\\">{{current_item.details}}</p>\\r\\n\\r\\n      <!-- <ng-container *ngIf=\\\"current_item.formule_list && current_item.formule_list.length>0\\\">\\r\\n        <ng-container *ngFor=\\\"let formule of current_item.formule_list;\\\">\\r\\n          <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\r\\n            <div class=\\\"radio1\\\">\\r\\n              <div class=\\\"checkbox formule-box\\\" style=\\\"margin-top: 0px; margin-bottom: 0px;\\\">\\r\\n                <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\r\\n                  <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n                    <label style=\\\"display: flex; align-items: center;\\\">\\r\\n                      <div style=\\\"padding-left: 24px;\\\" class=\\\"icheckbox_square-green\\\"\\r\\n                          [class.checked]=\\\"current_formule.formule_id==formule.formule_id\\\">\\r\\n                        <input type=\\\"checkbox\\\" style=\\\"opacity:0\\\"\\r\\n                              (change)=\\\"remove_formule(formule)\\\"\\r\\n                              [checked]=\\\"current_formule.formule_id==formule.formule_id\\\" class=\\\"walnut\\\">\\r\\n                      </div>\\r\\n                      <span style=\\\"margin-left: 10px;\\\">Formule: {{formule.name}}</span>\\r\\n\\r\\n                    </label>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n                    <label class=\\\"pull-right\\\">+ {{currency}} {{formule.price}}</label>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </ng-container>\\r\\n      </ng-container> -->\\r\\n\\r\\n      <ng-container *ngFor=\\\"let specification_group of current_item.specifications; let specification_group_index = index;\\\">\\r\\n        <div *ngIf=\\\"(!specification_group.formule_id || specification_group.formule_id==current_formule.formule_id)\\\">\\r\\n          <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\r\\n            <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n              <h1 class=\\\"radioheader\\\">{{specification_group.name}}</h1>\\r\\n              <!-- <div class=\\\"min_max\\\">\\r\\n                <span *ngIf=\\\"specification_group.min_selection>1\\\">\\r\\n                  Min. {{specification_group.min_selection}} / \\r\\n                </span>\\r\\n                <span *ngIf=\\\"specification_group.max_selection>0&&specification_group.type==2\\\">\\r\\n                  Max. {{specification_group.max_selection}} options\\r\\n                </span>\\r\\n              </div> -->\\r\\n            </div>\\r\\n            <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n              <!-- <h1 *ngIf=\\\"specification_group.is_required\\\" class=\\\"radioheader pull-right\\\"\\r\\n                  style=\\\"color: #cb212e;\\\">{{title.required | translate}}</h1> -->\\r\\n            </div>\\r\\n          </div>\\r\\n          <div class=\\\"radio1\\\">\\r\\n            <!-- <div *ngIf=\\\"specification_group.type==1\\\">\\r\\n              <div *ngFor=\\\"let specification of specification_group.list; let specification_index = index;\\\"\\r\\n                  class=\\\"radio\\\" style=\\\"margin-top: 0px; margin-bottom: 0px;\\\">\\r\\n                <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\r\\n\\r\\n                  <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n                    <label>\\r\\n                      <div style=\\\"padding-left: 24px;\\\" class=\\\"iradio_square-green\\\"\\r\\n                          [class.checked]=\\\"specification.is_default_selected\\\">\\r\\n                        <input type=\\\"radio\\\" style=\\\"opacity:0\\\"\\r\\n                              (change)=\\\"changeradio($event, specification_group_index, specification_index)\\\"\\r\\n                              [checked]=\\\"specification.is_default_selected\\\" class=\\\"walnut\\\">\\r\\n                      </div>\\r\\n                      <span style=\\\"margin-left: 10px;\\\">{{specification.name}}</span>\\r\\n\\r\\n                    </label>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n                    <label *ngIf=\\\"specification.price>0\\\" class=\\\"pull-right\\\">{{currency}}{{specification.price}}</label>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div> -->\\r\\n            <div>\\r\\n              <div *ngFor=\\\"let specification of specification_group.list; let specification_index = index;\\\"\\r\\n                  class=\\\"checkbox\\\" style=\\\"margin-top: 0px; margin-bottom: 0px;\\\">\\r\\n                <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\r\\n                  <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n                    <label>\\r\\n                      <div style=\\\"padding-left: 24px;\\\" class=\\\"icheckbox_square-green\\\"\\r\\n                          [class.checked]=\\\"specification.is_default_selected\\\">\\r\\n                        <input type=\\\"checkbox\\\" style=\\\"opacity:0\\\"\\r\\n                              (change)=\\\"changecheckbox($event, specification_group_index, specification_index)\\\"\\r\\n                              [checked]=\\\"specification.is_default_selected\\\" class=\\\"walnut\\\">\\r\\n                      </div>\\r\\n                      <span style=\\\"margin-left: 10px;\\\">{{specification.name}}</span>\\r\\n                    </label>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n                    <label *ngIf=\\\"specification.price>0\\\" class=\\\"pull-right\\\">{{currency}}{{specification.price}}</label>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </ng-container>\\r\\n      <!-- <div class=\\\"row\\\" style=\\\"padding-top: 20px;text-align: center;color: red;\\\">\\r\\n        <span class=\\\"validation_error\\\" style=\\\"font-size: 13px;\\\" *ngIf=\\\"required_count !== required_temp_count\\\">\\r\\n          please select the required fields\\r\\n        </span>\\r\\n      </div> -->\\r\\n    </div>\\r\\n  </div>\\r\\n\\r\\n  <div class=\\\"modal-footer\\\" style=\\\"background-color: black;\\\">\\r\\n    <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\r\\n      <button (click)=\\\"updateCart()\\\"\\r\\n              style=\\\"width: 100%;background-color: black;border: 0;\\\">\\r\\n        <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n          <h1 class=\\\"totalprice\\\" style=\\\"float: left;\\\">\\r\\n            {{((old_total-total)>=0) ? 'Remove' : 'Add'}}\\r\\n          </h1>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n          <h1 class=\\\"totalprice\\\">{{currency}}{{((old_total-total)>=0) ? (old_total-total) : (total - old_total)}}</h1>\\r\\n        </div>\\r\\n      </button>\\r\\n    </div>\\r\\n  </div>\\r\\n\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl\\\" #refund_modal>\\r\\n    <form #refundForm=\\\"ngForm\\\" (ngSubmit)=\\\"refundForm.valid && update_order_data()\\\">\\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <h4 class=\\\"modal-title\\\">Refund</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div class=\\\"row\\\" style=\\\"margin-top: 30px;\\\">\\r\\n              <div class=\\\"col-md-12\\\">\\r\\n                  <label class=\\\"col-md-6\\\">Refund Amonut:</label>\\r\\n                  <span class=\\\"col-md-6\\\">{{refund_amount.toFixed(2)}}</span>\\r\\n              </div>\\r\\n            </div>\\r\\n            <div class=\\\"row\\\" style=\\\"margin-top: 20px;\\\">\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                    <div class=\\\"col-md-12 btn-group\\\">\\r\\n                        <button type=\\\"button\\\" class=\\\"btn\\\" (click)=\\\"bonus_info.user_type=helper.ADMIN_DATA_ID.STORE\\\" [class.btn-light_black]=\\\"bonus_info.user_type==helper.ADMIN_DATA_ID.STORE\\\">Store</button>\\r\\n                        <button *ngIf=\\\"!order.is_user_pick_up_order\\\" type=\\\"button\\\" class=\\\"btn\\\" (click)=\\\"bonus_info.user_type=helper.ADMIN_DATA_ID.PROVIDER\\\" [class.btn-light_black]=\\\"bonus_info.user_type==helper.ADMIN_DATA_ID.PROVIDER\\\">Hopper</button>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"row\\\" style=\\\"margin-top: 16px;\\\">\\r\\n                <div class=\\\" col-md-12\\\">\\r\\n                    <label class=\\\"col-md-6\\\" style=\\\"font-weight: normal;\\\"><strong>Add Amount:</strong></label>\\r\\n                    <div class=\\\"form-group col-md-6\\\" >\\r\\n                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"bonus_info.bonus_amount\\\" #bonus_amount=\\\"ngModel\\\" name=\\\"bonus_amount\\\" required/>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"row\\\" style=\\\"margin-top: 30px;\\\">\\r\\n              <div class=\\\"col-md-12\\\">\\r\\n                  <label class=\\\"col-md-6\\\">Total Amonut:</label>\\r\\n                  <span class=\\\"col-md-6\\\">{{refund_amount*1 + bonus_info.bonus_amount*1}}</span>\\r\\n              </div>\\r\\n            </div>\\r\\n            <div class=\\\"row\\\" style=\\\"margin-top: 30px;\\\">\\r\\n              <div class=\\\"col-md-12\\\">\\r\\n                  <label class=\\\"col-md-6\\\">Refund Wallet:</label>\\r\\n                  <ui-switch [(ngModel)]=\\\"is_refund\\\" name=\\\"is_refund\\\"></ui-switch>\\r\\n              </div>\\r\\n            </div>\\r\\n            <div class=\\\"row\\\" style=\\\"margin-top: 30px;\\\">\\r\\n              <div class=\\\"col-md-12\\\">\\r\\n                  <label class=\\\"col-md-6\\\">Notification:</label>\\r\\n                  <ui-switch [(ngModel)]=\\\"is_notification\\\" name=\\\"is_notification\\\"></ui-switch>\\r\\n              </div>\\r\\n            </div>\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{button.submit | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/refund_order/refund_order.component.html\n// module id = 1626\n// module chunks = 0","module.exports = \"<style type=\\\"text/css\\\">\\r\\n    .scrollbar_for_history\\r\\n    {\\r\\n        height: 100%;\\r\\n        background: #fff;\\r\\n        overflow-y: auto;\\r\\n    }\\r\\n\\r\\n    .scrollbar::-webkit-scrollbar-track\\r\\n    {\\r\\n        -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);\\r\\n        background-color: #fff;\\r\\n    }\\r\\n\\r\\n    .scrollbar::-webkit-scrollbar\\r\\n    {\\r\\n        width: 3px;\\r\\n        background-color: #222222;\\r\\n    }\\r\\n\\r\\n    .scrollbar::-webkit-scrollbar-thumb\\r\\n    {\\r\\n        background-color: #000000;\\r\\n    }\\r\\n\\r\\n</style>\\r\\n<footer [myLoading]=\\\"myLoading\\\" ></footer> \\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.search | translate}}</label>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"search_field\\\" [(ngModel)]=\\\"search_field\\\" name=\\\"search_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"unique_id\\\">{{title.filter_id | translate}}</option>\\r\\n                        <option value=\\\"user_detail.unique_id\\\">{{title.filter_user | translate}}</option>\\r\\n\\r\\n                        <!--                        <option value=\\\"store_detail.unique_id\\\">{{title.filter_store | translate}}</option>-->\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n\\r\\n                        <input type=\\\"text\\\" class=\\\"form-control search_box\\\" [(ngModel)]=\\\"search_value\\\"  name=\\\"search_value\\\">\\r\\n                        <span class=\\\"input-group-addon search_icon\\\"><span class=\\\"fa fa-search\\\"></span></span>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.sort | translate}}</label>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"sort_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"sort_field\\\" [(ngModel)]=\\\"sort_field\\\" name=\\\"sort_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"unique_id\\\">{{title.filter_id | translate}}</option>\\r\\n                        <option value=\\\"user_detail.first_name\\\">{{title.filter_user | translate}}</option>\\r\\n\\r\\n                        <!--                        <option value=\\\"store_detail.name\\\">{{title.filter_store | translate}}</option>-->\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"sort_orders\\\">\\r\\n\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"sort_request\\\" [(ngModel)]=\\\"sort_request\\\" name=\\\"sort_request\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"1\\\">{{title.ascending | translate}}</option>\\r\\n                        <option value=\\\"-1\\\">{{title.descending | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <!--<div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"export_excel()\\\" class=\\\"btn export_excel_btn pull-right\\\" value=\\\"{{button.export_excel | translate}}\\\" >\\r\\n            </div>-->\\r\\n            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"admin_request_cancellation_reason(1)\\\" class=\\\"btn filter_apply_btn pull-right\\\" value=\\\"{{button.apply | translate}}\\\" >\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n    </div>\\r\\n\\r\\n</div>\\r\\n\\r\\n\\r\\n<div class=\\\"wrapper wrapper-content content_top_bar_view1 animated fadeInRight \\\">\\r\\n    <div class=\\\"ibox\\\" *ngIf=\\\"request_list.length==0\\\">\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n            <div class=\\\"lable_center\\\" >\\r\\n                <label>No Records</label>\\r\\n            </div>\\r\\n        </div>  \\r\\n    </div>\\r\\n    <div class=\\\"ibox\\\" *ngIf=\\\"request_list.length>0\\\">\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n            <div class=\\\"table-responsive\\\">\\r\\n                <table class=\\\"table table-striped\\\">\\r\\n                    <thead>\\r\\n                        <tr>\\r\\n                            <th>{{title.request_id}}</th>\\r\\n                            <th>{{title.order_id}}</th>\\r\\n                            <th>{{title.user_id}}</th>\\r\\n                            <th>{{title.earning_provider_id}}</th>\\r\\n                            <th>{{title.cancelled_by}}</th>\\r\\n                            <th>{{title.currency}}</th>\\r\\n                            <th>{{title.date | translate}}</th>\\r\\n                            <th>{{title.cancellation_reason}}</th>\\r\\n                            <!--                            <th>{{title.cancellation_charge}}</th>-->\\r\\n                        </tr>\\r\\n                    </thead>\\r\\n                    <tbody>\\r\\n                        <tr *ngFor=\\\"let request of request_list; let index=index; let last=last;\\\">\\r\\n                            <td>{{request.unique_id}}</td>\\r\\n                            <td>{{request.order_detail.unique_id}}</td>\\r\\n                            <td>{{request.user_detail.unique_id}}</td>\\r\\n                            <td><div *ngIf=\\\"request.provider_detail.length>0\\\">{{request.provider_detail[0].unique_id}}</div></td>\\r\\n\\r\\n                            <td [ngSwitch]=\\\"request.delivery_status\\\">\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.STORE_CANCELLED_REQUEST\\\">Store</div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_CANCELLED\\\"><span class=\\\"label label-danger\\\">Provider</span></div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_REJECTED\\\"><span class=\\\"label label-danger\\\">Provider</span></div>\\r\\n\\r\\n                            </td>\\r\\n                            <td>{{request.country_detail.currency_sign}}</td>\\r\\n                            <td>{{request.created_at| date: DATE_FORMAT.DD_MMM_YYYY}}</td>\\r\\n                            <td><div *ngFor=\\\"let i of request.cancel_reasons\\\"><div *ngIf=\\\"i && i.cancel_reason != undefined && i.cancel_reason != null\\\">{{i.cancel_reason}}</div></div></td>\\r\\n\\r\\n                            <!--                            <td *ngIf=\\\"request.order_payment_detail.is_cancellation_fee == true\\\">{{order.order_payment_detail.order_cancellation_charge}}</td>\\r\\n                                                        <td *ngIf=\\\"request.order_payment_detail.is_cancellation_fee == false\\\">0</td>-->\\r\\n                        </tr>\\r\\n                    </tbody>\\r\\n                </table>\\r\\n            </div>\\r\\n\\r\\n\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"col-md-12 col-sm-12\\\" style=\\\"margin-top: 6px;\\\">\\r\\n        <div class=\\\"lable_center\\\">\\r\\n            <ul class=\\\"pagination\\\">\\r\\n                <li *ngIf=\\\"page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"admin_request_cancellation_reason(page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page==index\\\">\\r\\n                    <a *ngIf=\\\"index==1 || index==total_page || index==page || index==page-1 || index==page+1\\\" (click)=\\\"admin_request_cancellation_reason(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                    <a *ngIf=\\\"(index==1 && (page!==1 && page!==2 && page!==3)) || (index==total_page-1 && (page!==total_page && page!==total_page-1 && page!==total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n\\r\\n                </li>\\r\\n                <li *ngIf=\\\"page!==total_page && request_list.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"admin_request_cancellation_reason(page+1)\\\">{{button.next | translate}}</a></li>\\r\\n            </ul>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/request_cancel_reason/request_cancel_reason.component.html\n// module id = 1627\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>   \\r\\n<div class=\\\"row wrapper content_top_bar border-bottom white-bg page-heading\\\">\\r\\n\\r\\n    <div class=\\\"col-lg-12\\\">\\r\\n        <div class=\\\"col-md-4 col-sm-12 col-xs-12\\\">\\r\\n            <h3>{{title.invoice_number | translate}}: {{invoice_number}}</h3>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4 col-sm-6 col-xs-6\\\">\\r\\n            <h3>{{title.invoice_date | translate}}: {{completed_at| date: DATE_FORMAT.DD_MMM_YYYY}}</h3>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4 col-sm-6 col-xs-6\\\">\\r\\n            <span class=\\\"pull-right\\\"><a class=\\\"btn btn-primary\\\" (click)=\\\"viewOrderEarningDetail(request_id_view_invoice)\\\">{{button.view_full_invoice | translate}}</a></span>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n</div>\\r\\n<div class=\\\"wrapper wrapper-content animated fadeInRight \\\">\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"\\\">\\r\\n            <div class=\\\"col-lg-3 col-sm-6\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <h5>{{heading_title.store | translate}}</h5>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n\\r\\n                            <div class=\\\"col-md-4\\\">\\r\\n                                <div>\\r\\n                                    <img class=\\\"img-circle\\\" style=\\\"width:90px;\\\" [src]=\\\"store_profile != '' ? user_profile : 'default.png'\\\" />\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-8\\\">\\r\\n                                <div class=\\\"col-lg-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                                    {{store_name}}\\r\\n                                </div>\\r\\n                                <div class=\\\"col-lg-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                                    {{store_phone}}\\r\\n                                </div>\\r\\n                                <div class=\\\"col-lg-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                                    {{store_email}}\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-lg-3 col-sm-6\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <h5>{{heading_title.order_from | translate}}</h5>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n\\r\\n                            <div class=\\\"col-md-4\\\">\\r\\n                                <div>\\r\\n                                    <img class=\\\"img-circle\\\" style=\\\"width:90px;\\\" [src]=\\\"user_profile != '' ? user_profile : 'default.png'\\\" />\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-8\\\">\\r\\n                                <div class=\\\"col-lg-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                                    {{user_first_name + \\\" \\\" + user_last_name}}\\r\\n                                </div>\\r\\n                                <div class=\\\"col-lg-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                                    {{user_phone}}\\r\\n                                </div>\\r\\n                                <div class=\\\"col-lg-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                                    {{user_email}}\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\" col-md-3 col-sm-6\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <h5>{{heading_title.delivery_to | translate}}</h5>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content\\\">\\r\\n\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12\\\">\\r\\n                                <div class=\\\"col-lg-12 col-sm-12 col-xs-12 form-group\\\" *ngIf=\\\"delivery_user_name != undefined\\\">\\r\\n                                     {{delivery_user_name}}\\r\\n                            </div>\\r\\n                            <div class=\\\"col-lg-12 col-sm-12 col-xs-12 form-group\\\" *ngIf=\\\"delivery_user_phone != undefined\\\">\\r\\n                                 {{delivery_user_phone}}\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-12 col-sm-12 col-xs-12 form-group\\\" *ngIf=\\\"delivery_user_address != undefined\\\">\\r\\n                             {{delivery_user_address}}<br>\\r\\n                             <span>Comment: {{note}}</span><br>\\r\\n                             <span>Floor: {{floor}}</span><br>\\r\\n                             <span>entry code: {{entry_code}}</span><br>\\r\\n                             <span>Payment Method: <span *ngIf=\\\"is_paid_from_wallet\\\">\\r\\n                                <span class=\\\"label label-success\\\">{{title.wallet | translate}}</span>\\r\\n                            </span>\\r\\n                            <span *ngIf=\\\"!is_paid_from_wallet\\\">\\r\\n                                <span *ngIf=\\\"is_payment_mode_cash\\\"><span class=\\\"label label-primary_new\\\">{{lable_title.cash}}</span></span>\\r\\n                                <span *ngIf=\\\"!is_payment_mode_cash\\\"><span class=\\\"label label-danger\\\">Card </span></span>\\r\\n                            </span></span>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n\\r\\n<div class=\\\"col-lg-3 col-sm-6\\\" *ngIf=\\\"!is_user_pick_up_order\\\">\\r\\n    <div class=\\\"ibox\\\">\\r\\n        <div class=\\\"ibox-title\\\">\\r\\n            <h5>{{heading_title.delivery_man | translate}}</h5>\\r\\n        </div>\\r\\n        <div class=\\\"ibox-content wizard\\\">\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-md-4\\\">\\r\\n                    <div>\\r\\n                        <img class=\\\"img-circle\\\" style=\\\"width:90px;\\\" [src]=\\\"provider_profile != '' ? provider_profile : 'default.png'\\\" />\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-8\\\">\\r\\n                    <div class=\\\"col-lg-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                        {{provider_first_name + \\\" \\\" + provider_last_name}}\\r\\n                    </div>\\r\\n                    <div class=\\\"col-lg-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                        {{provider_phone}}\\r\\n                    </div>\\r\\n                    <div class=\\\"col-lg-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                        {{provider_email}}\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n</div>\\r\\n\\r\\n</div>\\r\\n\\r\\n<div class=\\\"row\\\">\\r\\n\\r\\n    <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n\\r\\n        <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\">\\r\\n                <h4 class=\\\"pull-right\\\">{{currency_sign}}{{order_total}}</h4>\\r\\n                <span style=\\\"position: absolute; left:48%;\\\">(<strong>{{total_item}}</strong>) {{title.items | translate}}</span>\\r\\n                <h5>{{heading_title.order_detail | translate}}</h5>\\r\\n            </div>\\r\\n            <div class=\\\"ibox-content\\\" style=\\\"padding-bottom: 0;padding-top: 1px;\\\" *ngFor=\\\"let products of order_detail; let product_index=index; \\\">\\r\\n\\r\\n                 <div style=\\\"border-bottom: 1px solid brown;\\\">\\r\\n                    <h4 class=\\\"pull-right\\\">{{currency_sign}}{{product_item_total_array[product_index]}}\\r\\n                        <span *ngIf=\\\"hide_specification_group[product_index]=='true'\\\" (click)=\\\"show_specifications_group(product_index)\\\" class=\\\"fa fa-chevron-left\\\"></span>\\r\\n                        <span *ngIf=\\\"hide_specification_group[product_index]=='false'\\\" (click)=\\\"hide_specifications_group(product_index)\\\" class=\\\"fa fa-chevron-down\\\"></span>\\r\\n                    </h4>\\r\\n                    <span style=\\\"position: absolute; left:48%;\\\">(<strong>{{products.items.length}}</strong>) {{title.items | translate}}</span>\\r\\n                    <h5>{{products.product_name}}</h5>\\r\\n                </div>\\r\\n\\r\\n                <div id=\\\"spec_list{{product_index}}\\\" class=\\\"table-responsive\\\" style=\\\"    width: 100%;\\\">\\r\\n                    <table class=\\\"table\\\">\\r\\n                        <thead style=\\\"border-bottom: 1px solid;\\\">\\r\\n                            <tr>\\r\\n                                <th >{{title.item | translate}}</th>\\r\\n                                <th >{{title.spec | translate}} {{title.price | translate}}</th>\\r\\n                                <th >{{title.price | translate}}</th>\\r\\n                                <th >{{title.qty | translate}}</th>\\r\\n                                <th >{{title.total | translate}}</th>\\r\\n                            </tr>\\r\\n                        </thead>\\r\\n\\r\\n                        <tbody *ngFor=\\\"let item of products.items; let odd=odd; let item_index=index; \\\" (click)=\\\"get_specification(product_index, item_index)\\\">\\r\\n                            <tr style=\\\"cursor: pointer;\\\">\\r\\n                                <td >{{item.item_name}}</td>\\r\\n                                <td><div *ngIf=\\\"item.total_specification_price>0\\\">{{currency_sign}}{{item.total_specification_price}}</div></td>\\r\\n                                <td><div *ngIf=\\\"item.item_price>0\\\">{{currency_sign}}{{item.item_price}}</div></td>\\r\\n                                <td >{{item.quantity}}</td>\\r\\n                                <td >{{currency_sign}}{{(item.item_price + item.total_specification_price)*item.quantity}}</td>\\r\\n                            </tr>\\r\\n                            <tr style=\\\"cursor: pointer;color: red;\\\">\\r\\n                                        <td colspan=\\\"5\\\" style=\\\"border-top: 0;\\\">Note : {{item.note_for_item}}</td>\\r\\n                                    </tr>\\r\\n                        </tbody>\\r\\n\\r\\n                    </table>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\"><h5>{{title.specifications | translate}}</h5></div>\\r\\n\\r\\n            <div class=\\\"ibox-content\\\">\\r\\n\\r\\n                <div *ngFor=\\\"let specification_group of specifications; let odd=odd;\\\" [class.row]=\\\"odd\\\" style=\\\"margin: 0;\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\" style=\\\"padding: 0px;\\\">\\r\\n                            <div class=\\\"col-md-12\\\" style=\\\"padding: 0;border-bottom: 1px solid #dcdcdc;\\\">\\r\\n                                <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5>{{specification_group.name}}</h5></div>\\r\\n                                <div *ngIf=\\\"specification_group.price>0\\\" class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;\\\">{{currency_sign}}{{specification_group.price}}</h5></div>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"col-md-12\\\" *ngFor=\\\"let specification of specification_group.list\\\">\\r\\n                                 <div style=\\\"padding: 0;\\\" class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h6 style=\\\"font-size: 13px;\\\">{{specification.name}}</h6></div>\\r\\n                                <div *ngIf=\\\"specification.price>0\\\" class=\\\"col-md-4 col-sm-4 col-xs-4\\\" style=\\\"padding: 0;\\\"><h6 style=\\\"font-size: 13px;float: right;\\\">{{currency_sign}}{{specification.price}}</h6></div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"row\\\" style=\\\"border-top: 1px solid;padding-top: 15px;\\\" *ngIf=\\\"item_note!=''\\\">\\r\\n                    <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\">\\r\\n                        <label>{{title.item_note_here}}</label>\\r\\n                        <div>\\r\\n                            <h6 style=\\\"font-size: 13px;\\\">{{item_note}}</h6>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n    <div class=\\\"col-lg-4 col-md-12 col-sm-12\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\" style=\\\"background-color: #d4d8d8;\\\">\\r\\n                <h5>{{heading_title.order_status | translate}}</h5>\\r\\n            </div>\\r\\n            <div class=\\\"ibox-content\\\">\\r\\n                <div id=\\\"vertical-timeline\\\" class=\\\"vertical-container dark-timeline\\\">\\r\\n                    <!--                    <div *ngFor=\\\"let date of order_date_time;\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                            <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                            </div>\\r\\n                                            <div class=\\\"vertical-timeline-content\\\" [ngSwitch]=\\\"date.status\\\" style=\\\"padding-top: 1px;\\\">\\r\\n                                                <p *ngSwitchCase=\\\"helper.ORDER_STATE.WAITING_FOR_ACCEPT_STORE\\\"><span>{{helper.status.waiting_for_accept | translate}}</span></p>\\r\\n                                                <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_ACCEPTED\\\"><span>{{helper.status.accepted | translate}}</span></p>\\r\\n                                                <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_PREPARING_ORDER\\\"><span>{{helper.status.start_preparing_order | translate}}</span></p>\\r\\n                                                <p *ngSwitchCase=\\\"helper.ORDER_STATE.OREDER_READY\\\"><span>{{helper.status.order_ready | translate}}</span></p>\\r\\n                                                <p *ngSwitchCase=\\\"helper.ORDER_STATE.WAITING_FOR_DELIVERY_MAN\\\"><span>{{helper.status.waiting_for_delivery_man | translate}}</span></p>\\r\\n                                                <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_REJECTED\\\"><span>{{helper.status.rejected | translate}}</span></p>\\r\\n                                                <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_CANCELLED\\\"><span>{{helper.status.cancelled | translate}}</span></p>\\r\\n                    \\r\\n                                                <span class=\\\"vertical-date small text-muted\\\">{{moment(date.date).tz(timezone).format('DD MMM YYYY HH:mm:ss')}}</span>\\r\\n                                            </div>\\r\\n                                        </div>-->\\r\\n\\r\\n\\r\\n\\r\\n                    <div *ngFor=\\\"let date of request_date_time;\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                        <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                        </div>\\r\\n                        <div class=\\\"vertical-timeline-content\\\" [ngSwitch]=\\\"date.status\\\" style=\\\"padding-top: 1px;\\\">\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.WAITING_FOR_DELIVERY_MAN\\\"><span>{{helper.status.waiting_for_delivery_man | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_ACCEPTED\\\"><span>{{helper.status.delivery_man_accepted | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_COMING\\\"><span>{{helper.status.delivery_man_coming | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_ARRIVED\\\"><span>{{helper.status.delivery_man_arrived | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\\\"><span>{{helper.status.picked_order | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_STARTED_DELIVERY\\\"><span>{{helper.status.started_for_delivery | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_ARRIVED_AT_DESTINATION\\\"><span>{{helper.status.arrived_at_destination | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_COMPLETE_DELIVERY\\\"><span>{{helper.status.delivered_ordered | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_REJECTED\\\"><span>{{helper.status.rejected | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_CANCELLED\\\"><span>{{helper.status.cancelled | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.NO_DELIVERY_MAN_FOUND\\\"><span>{{helper.status.no_delivery_man_found | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_REJECTED\\\"><span>{{helper.status.delivery_man_rejected | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_CANCELLED\\\"><span>{{helper.status.delivery_man_cancelled | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.CANCELED_BY_USER\\\"><span>{{helper.status.user_cancelled | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_CANCELLED_REQUEST\\\"><span>{{helper.status.cancelled_request | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.ORDER_COMPLETED\\\"><span>{{helper.status.completed | translate}}</span></p>\\r\\n\\r\\n                            <span class=\\\"vertical-date small text-muted\\\">{{moment(date.date).tz(timezone).format('DD MMM YYYY HH:mm:ss')}}</span>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n    <!--    <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\" style=\\\"background-color: #d4d8d8;\\\">\\r\\n                    <h5>{{heading_title.order_status | translate}}</h5>\\r\\n                </div>\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n    \\r\\n    \\r\\n                    <div id=\\\"vertical-timeline\\\" class=\\\"vertical-container dark-timeline\\\">\\r\\n                        <div class=\\\"vertical-timeline-block\\\">\\r\\n                            <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                <i class=\\\"fa fa-coffee\\\"></i>\\r\\n                            </div>\\r\\n                            <div class=\\\"vertical-timeline-content\\\">\\r\\n                                <p>{{status.created | translate}}\\r\\n                                </p>\\r\\n                                <span class=\\\"vertical-date small text-muted\\\"> {{created_at}}</span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n    \\r\\n                        <div *ngFor=\\\"let i of date_time\\\">\\r\\n    \\r\\n                            <div *ngIf=\\\"i.status == ORDER_STATE.WAITING_FOR_DELIVERY_MAN\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                    <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                                </div>\\r\\n    \\r\\n                                <div class=\\\"vertical-timeline-content\\\">\\r\\n                                    <p>{{status.waiting_for_delivery_man | translate}}</p>\\r\\n                                    <span class=\\\"vertical-date small text-muted\\\">\\r\\n                                                                            {{i.date}}\\r\\n                                        {{moment(i.date).tz(timezone).format('DD MMM YYYY HH:mm:ss')}}\\r\\n                                    </span>\\r\\n                                </div>\\r\\n                            </div>\\r\\n    \\r\\n                            <div *ngIf=\\\"i.status == ORDER_STATE.DELIVERY_MAN_ACCEPTED\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                    <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                                </div>\\r\\n    \\r\\n                                <div class=\\\"vertical-timeline-content\\\">\\r\\n                                    <p>{{status.delivery_man_accepted | translate}}</p>\\r\\n                                    <span class=\\\"vertical-date small text-muted\\\">\\r\\n                                                                            {{i.date}}\\r\\n                                        {{moment(i.date).tz(timezone).format('DD MMM YYYY HH:mm:ss')}}\\r\\n                                    </span>\\r\\n                                </div>\\r\\n                            </div>\\r\\n    \\r\\n                            <div *ngIf=\\\"i.status == ORDER_STATE.DELIVERY_MAN_COMING\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                    <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                                </div>\\r\\n    \\r\\n                                <div class=\\\"vertical-timeline-content\\\">\\r\\n                                    <p>{{status.delivery_man_coming | translate}}</p>\\r\\n                                    <span class=\\\"vertical-date small text-muted\\\">\\r\\n                                         {{moment(i.date).tz(timezone).format('DD MMM YYYY HH:mm:ss')}}\\r\\n                                    </span>\\r\\n                                </div>\\r\\n                            </div>\\r\\n    \\r\\n    \\r\\n                            <div *ngIf=\\\"i.status == ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                    <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                                </div>\\r\\n    \\r\\n                                <div class=\\\"vertical-timeline-content\\\">\\r\\n                                    <p>{{status.picked_order | translate}}</p>\\r\\n                                    <span class=\\\"vertical-date small text-muted\\\">\\r\\n                                         {{moment(i.date).tz(timezone).format('DD MMM YYYY HH:mm:ss')}}\\r\\n                                    </span>\\r\\n                                </div>\\r\\n                            </div>\\r\\n    \\r\\n    \\r\\n    \\r\\n                            <div *ngIf=\\\"i.status == ORDER_STATE.DELIVERY_MAN_STARTED_DELIVERY\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                    <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                                </div>\\r\\n    \\r\\n                                <div class=\\\"vertical-timeline-content\\\">\\r\\n                                    <p>{{status.started_for_delivery | translate}}</p>\\r\\n                                    <span class=\\\"vertical-date small text-muted\\\">\\r\\n                                        {{moment(i.date).tz(timezone).format('DD MMM YYYY HH:mm:ss')}}\\r\\n                                    </span>\\r\\n                                </div>\\r\\n                            </div>\\r\\n    \\r\\n    \\r\\n    \\r\\n    \\r\\n                            <div *ngIf=\\\"i.status == ORDER_STATE.DELIVERY_MAN_ARRIVED_AT_DESTINATION\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                    <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                                </div>\\r\\n    \\r\\n                                <div class=\\\"vertical-timeline-content\\\">\\r\\n                                    <p>{{status.arrived_at_destination | translate}}</p>\\r\\n                                    <span class=\\\"vertical-date small text-muted\\\">\\r\\n                                         {{moment(i.date).tz(timezone).format('DD MMM YYYY HH:mm:ss')}}\\r\\n                                    </span>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            \\r\\n                            <div *ngIf=\\\"i.status == ORDER_STATE.STORE_CANCELLED_REQUEST\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                    <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                                </div>\\r\\n    \\r\\n                                <div class=\\\"vertical-timeline-content\\\">\\r\\n                                    <p>{{status.store_cancelled_request | translate}}</p>\\r\\n                                    <span class=\\\"vertical-date small text-muted\\\">\\r\\n                                         {{moment(i.date).tz(timezone).format('DD MMM YYYY HH:mm:ss')}}\\r\\n                                    </span>\\r\\n                                </div>\\r\\n                            </div>\\r\\n    \\r\\n    \\r\\n                            <div *ngIf=\\\"i.status == ORDER_STATE.ORDER_COMPLETED\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                    <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                                </div>\\r\\n    \\r\\n                                <div class=\\\"vertical-timeline-content\\\">\\r\\n                                    <p>{{status.completed | translate}}</p>\\r\\n                                    <span class=\\\"vertical-date small text-muted\\\">\\r\\n                                         {{moment(i.date).tz(timezone).format('DD MMM YYYY HH:mm:ss')}}\\r\\n                                    </span>\\r\\n                                </div>\\r\\n                            </div>\\r\\n    \\r\\n    \\r\\n                             <div *ngIf=\\\"start_preparing_order_at!=null&&order_status>ORDER_STATE.STORE_ACCEPTED\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                    <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                                </div>\\r\\n    \\r\\n                                <div class=\\\"vertical-timeline-content\\\">\\r\\n                                    <p>{{status.start_preparing_order | translate}}</p>\\r\\n                                    <span class=\\\"vertical-date small text-muted\\\">\\r\\n                                        {{start_preparing_order_at}}\\r\\n                                    </span>\\r\\n                                </div>\\r\\n                            </div>\\r\\n    \\r\\n                            <div *ngIf=\\\"order_ready_at!=null&&order_status>ORDER_STATE.STORE_PREPARING_ORDER\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                    <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                                </div>\\r\\n    \\r\\n                                <div class=\\\"vertical-timeline-content\\\">\\r\\n                                    <p>{{status.order_ready | translate}}</p>\\r\\n                                    <span class=\\\"vertical-date small text-muted\\\">\\r\\n                                        {{order_ready_at}}\\r\\n                                    </span>\\r\\n                                </div>\\r\\n                            </div>\\r\\n    \\r\\n                            <div *ngIf=\\\"store_order_created_at!=null&&order_status>ORDER_STATE.OREDER_READY\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                    <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                                </div>\\r\\n    \\r\\n                                <div class=\\\"vertical-timeline-content\\\">\\r\\n                                    <p>{{status.assign_order_to_Delivery_man | translate}}</p>\\r\\n                                    <span class=\\\"vertical-date small text-muted\\\">\\r\\n                                        {{store_order_created_at}}\\r\\n                                    </span>\\r\\n                                </div>\\r\\n                            </div>\\r\\n    \\r\\n                            <div *ngIf=\\\"accepted_at!=null&&order_status>ORDER_STATE.WAITING_FOR_DELIVERY_MAN\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                    <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                                </div>\\r\\n    \\r\\n                                <div class=\\\"vertical-timeline-content\\\">\\r\\n                                    <p>{{status.delivery_man_accepted | translate}}</p>\\r\\n                                    <span class=\\\"vertical-date small text-muted\\\">\\r\\n                                        {{accepted_at}}\\r\\n                                    </span>\\r\\n                                </div>\\r\\n                            </div>\\r\\n    \\r\\n                            <div *ngIf=\\\"start_for_pickup_at!=null&&order_status>ORDER_STATE.DELIVERY_MAN_ACCEPTED\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                    <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                                </div>\\r\\n    \\r\\n                                <div class=\\\"vertical-timeline-content\\\">\\r\\n                                    <p>{{status.delivery_man_coming | translate}}</p>\\r\\n                                    <span class=\\\"vertical-date small text-muted\\\">\\r\\n                                        {{start_for_pickup_at}}\\r\\n                                    </span>\\r\\n                                </div>\\r\\n                            </div>\\r\\n    \\r\\n                            <div *ngIf=\\\"arrived_on_store_at!=null&&order_status>ORDER_STATE.DELIVERY_MAN_COMING\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                    <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                                </div>\\r\\n    \\r\\n                                <div class=\\\"vertical-timeline-content\\\">\\r\\n                                    <p>{{status.delivery_man_arrived | translate}}</p>\\r\\n                                    <span class=\\\"vertical-date small text-muted\\\">\\r\\n                                        {{arrived_on_store_at}}\\r\\n                                    </span>\\r\\n                                </div>\\r\\n                            </div>\\r\\n    \\r\\n                            <div *ngIf=\\\"picked_order_at!=null&&order_status>ORDER_STATE.DELIVERY_MAN_ARRIVED\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                    <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                                </div>\\r\\n    \\r\\n                                <div class=\\\"vertical-timeline-content\\\">\\r\\n                                    <p>{{status.picked_order | translate}}</p>\\r\\n                                    <span class=\\\"vertical-date small text-muted\\\">\\r\\n                                        {{picked_order_at}}\\r\\n                                    </span>\\r\\n                                </div>\\r\\n                            </div>\\r\\n    \\r\\n                            <div *ngIf=\\\"start_for_delivery_at!=null&&order_status>ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                    <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                                </div>\\r\\n    \\r\\n                                <div class=\\\"vertical-timeline-content\\\">\\r\\n                                    <p>{{status.started_for_delivery | translate}}</p>\\r\\n                                    <span class=\\\"vertical-date small text-muted\\\">\\r\\n                                        {{started_for_delivery_at}}\\r\\n                                    </span>\\r\\n                                </div>\\r\\n                            </div>\\r\\n    \\r\\n                            <div *ngIf=\\\"delivered_at!=null&&order_status>ORDER_STATE.DELIVERY_MAN_STARTED_DELIVERY\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                    <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                                </div>\\r\\n    \\r\\n                                <div class=\\\"vertical-timeline-content\\\">\\r\\n                                    <p>{{status.arrived_at_destination | translate}}</p>\\r\\n                                    <span class=\\\"vertical-date small text-muted\\\">\\r\\n                                        {{delivered_at}}\\r\\n                                    </span>\\r\\n                                </div>\\r\\n                            </div>\\r\\n    \\r\\n                            <div *ngIf=\\\"delivered_at!=null&&order_status>ORDER_STATE.DELIVERY_MAN_ARRIVED_AT_DESTINATION\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                    <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                                </div>\\r\\n    \\r\\n                                <div class=\\\"vertical-timeline-content\\\">\\r\\n                                    <p>{{status.delivered_ordered | translate}}</p>\\r\\n                                    <span class=\\\"vertical-date small text-muted\\\">\\r\\n                                        {{delivered_at}}\\r\\n                                    </span>\\r\\n                                </div>\\r\\n                            </div>\\r\\n    \\r\\n                            <div *ngIf=\\\"order_status_id==ORDER_STATUS_ID.CANCELLED\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                    <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                                </div>\\r\\n    \\r\\n                                <div class=\\\"vertical-timeline-content\\\">\\r\\n                                    <p *ngIf=\\\"order_status==ORDER_STATE.STORE_CANCELLED\\\">{{status.cancelled | translate}}</p>\\r\\n                                    <p *ngIf=\\\"order_status==ORDER_STATE.DELIVERY_MAN_CANCELLED\\\">{{status.delivery_man_cancelled | translate}}</p>\\r\\n                                    <span class=\\\"vertical-date small text-muted\\\">\\r\\n                                        {{cancelled_at}}\\r\\n                                    </span>\\r\\n                                </div>\\r\\n                            </div>\\r\\n    \\r\\n                            <div *ngIf=\\\"order_status_id==ORDER_STATUS_ID.REJECTED&&order_status==ORDER_STATE.DELIVERY_MAN_REJECTED\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                    <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                                </div>\\r\\n    \\r\\n                                <div class=\\\"vertical-timeline-content\\\">\\r\\n                                    <p>{{status.delivery_man_rejected | translate}}</p>\\r\\n                                    <span class=\\\"vertical-date small text-muted\\\">\\r\\n                                        {{store_order_created_at}}\\r\\n                                    </span>\\r\\n                                </div>\\r\\n                            </div> \\r\\n    \\r\\n                        </div>\\r\\n    \\r\\n    \\r\\n    \\r\\n                        <div *ngIf=\\\"order_status_id==ORDER_STATUS_ID.COMPLETED\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                            <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                            </div>\\r\\n    \\r\\n                            <div class=\\\"vertical-timeline-content\\\">\\r\\n                                <p>{{status.completed | translate}}</p>\\r\\n                                <span class=\\\"vertical-date small text-muted\\\">\\r\\n                                    {{completed_at}}\\r\\n                                </span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n    \\r\\n                        <div *ngIf=\\\"order_status==ORDER_STATE.NO_DELIVERY_MAN_FOUND\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                            <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                            </div>\\r\\n    \\r\\n                            <div class=\\\"vertical-timeline-content\\\">\\r\\n                                <p>{{status.no_delivery_man_found | translate}}</p>\\r\\n                                <span class=\\\"vertical-date small text-muted\\\">\\r\\n                                    {{completed_at}}\\r\\n                                </span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n    \\r\\n                    </div>\\r\\n    \\r\\n    \\r\\n    \\r\\n                </div>\\r\\n            </div>\\r\\n        </div>-->\\r\\n</div>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/request_order_detail/request_order_detail.component.html\n// module id = 1628\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer> \\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.search | translate}}</label>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"search_field\\\" [(ngModel)]=\\\"search_field\\\" name=\\\"search_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"user_detail.first_name\\\">{{title.filter_user | translate}}</option>\\r\\n                        <option value=\\\"provider_detail.first_name\\\">{{title.filter_provider | translate}}</option>\\r\\n                        <option value=\\\"store_detail.name\\\">{{title.filter_store | translate}}</option>\\r\\n\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n\\r\\n                        <input type=\\\"text\\\" class=\\\"form-control search_box\\\" [(ngModel)]=\\\"search_value\\\"  name=\\\"search_value\\\">\\r\\n                        <span class=\\\"input-group-addon search_icon\\\"><span class=\\\"fa fa-search\\\"></span></span>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.sort | translate}}</label>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"sort_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"sort_field\\\" [(ngModel)]=\\\"sort_field\\\" name=\\\"sort_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"unique_id\\\">{{title.filter_id}}</option>\\r\\n                        <option value=\\\"user_detail.first_name\\\">{{title.filter_user | translate}}</option>\\r\\n                        <option value=\\\"provider_detail.first_name\\\">{{title.filter_provider | translate}}</option>\\r\\n                        <option value=\\\"store_detail.name\\\">{{title.filter_store | translate}}</option>\\r\\n\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"sort_orders\\\">\\r\\n\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"sort_review\\\" [(ngModel)]=\\\"sort_review\\\" name=\\\"sort_review\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"1\\\">{{title.ascending | translate}}</option>\\r\\n                        <option value=\\\"-1\\\">{{title.descending | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.date_filter | translate}}</label>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-12 remove_padding\\\">\\r\\n\\r\\n\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n\\r\\n                        <my-date-picker id=\\\"start_date\\\" [options]=\\\"helper.myStartDatePickerOptions\\\" placeholder=\\\"Start Date\\\" [(ngModel)]=\\\"start_date\\\" (dateChanged)=\\\"helper.onStartDateChanged($event)\\\"\\r\\n                                        readonly></my-date-picker>\\r\\n                        <span class=\\\"input-group-addon date_filter_icon\\\">To</span>\\r\\n\\r\\n                        <my-date-picker id=\\\"end_date\\\" [options]=\\\"helper.myEndDatePickerOptions\\\" placeholder=\\\"End Date\\\" [(ngModel)]=\\\"end_date\\\" (dateChanged)=\\\"helper.onEndDateChanged($event)\\\"\\r\\n                                        readonly></my-date-picker>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <!--                        <input type=\\\"button\\\" class=\\\"btn export_excel_btn pull-right\\\" value=\\\"{{button.export_excel}}\\\" >-->\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"review_history(1)\\\" class=\\\"btn filter_apply_btn pull-right\\\" value=\\\"{{button.apply | translate}}\\\" >\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n    </div>\\r\\n\\r\\n</div>\\r\\n<div class=\\\"wrapper wrapper-content content_top_bar_view1 animated fadeInRight \\\">\\r\\n    <div class=\\\"ibox\\\" *ngIf=\\\"review_list.length==0\\\">\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n            <div class=\\\"lable_center\\\" >\\r\\n                <label>No Records</label>\\r\\n            </div>\\r\\n        </div>  \\r\\n    </div>\\r\\n    <div class=\\\"ibox\\\" *ngIf=\\\"review_list.length>0\\\">\\r\\n        <div class=\\\"ibox-title\\\">\\r\\n            <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                <div class=\\\"col-md-3 col-sm-3\\\">\\r\\n                    <div class=\\\"col-md-2 col-sm-3\\\"><label>{{title.id | translate}}</label> </div>\\r\\n                    <div class=\\\"col-md-2 col-sm-3\\\"><label>{{title.review_date | translate}}</label></div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-md-3 col-sm-3\\\"><label>{{title.review_user | translate}}</label></div>\\r\\n                <div class=\\\"col-md-3 col-sm-3\\\"><label>{{title.review_provider | translate}}</label></div>\\r\\n                <div class=\\\"col-md-3 col-sm-3\\\"><label>{{title.review_store | translate}}</label></div>\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n\\r\\n\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n            <div class=\\\"table-responsive\\\">\\r\\n                <table class=\\\"table table-striped\\\">\\r\\n                    <thead>\\r\\n\\r\\n                        <tr>\\r\\n                            <th>{{title.review_id | translate}}</th>\\r\\n                            <th>{{title.review_date | translate}}</th>\\r\\n                            <th>{{title.user_rating_to_provider | translate}}</th>\\r\\n                            <th>{{title.user_rating_to_store | translate}}</th>\\r\\n                            <th>{{title.provider_rating_to_user | translate}}</th>\\r\\n                            <th>{{title.provider_rating_to_store | translate}}</th>\\r\\n                            <th>{{title.store_rating_to_provider | translate}}</th>\\r\\n                            <!--                            <th>{{title.store_rating_to_user | translate}}</th>-->\\r\\n                            <th class=\\\"pull-right\\\">{{title.action | translate}}</th>\\r\\n\\r\\n                        </tr>\\r\\n                    </thead>\\r\\n\\r\\n\\r\\n\\r\\n                    <tbody>\\r\\n                        <tr *ngFor=\\\"let review of review_list; let index=index; let last=last;\\\">\\r\\n\\r\\n                            <td>{{review.order_unique_id}}</td>\\r\\n                            <td>{{review.created_at| date: DATE_FORMAT.DD_MMM_YYYY}}</td>\\r\\n\\r\\n                            <td>\\r\\n                        <tr><div *ngIf=\\\"review.provider_detail.length>0\\\">\\r\\n                        {{review.provider_detail[0].first_name + \\\" \\\" + review.provider_detail[0].last_name}}\\r\\n                    </div>\\r\\n                </tr>\\r\\n                        <tr><span><i class=\\\"fa fa-star\\\" aria-hidden=\\\"true\\\"></i></span>\\r\\n                    {{review.user_rating_to_provider}}\\r\\n                    <span *ngIf=\\\"review.user_review_to_provider != ''\\\" class=\\\"text-danger\\\" (click)=\\\"review_modal(review._id, index)\\\">{{title.review_read_more}}</span>\\r\\n                    </tr>\\r\\n\\r\\n                    </td>\\r\\n\\r\\n\\r\\n                    <td>\\r\\n                    <tr>\\r\\n                        {{review.store_detail.name}}\\r\\n                    </tr>\\r\\n                    <tr><span><i class=\\\"fa fa-star\\\" aria-hidden=\\\"true\\\"></i></span>\\r\\n                    {{review.user_rating_to_store}}\\r\\n                    <span *ngIf=\\\"review.user_review_to_store != ''\\\" class=\\\"text-danger\\\" (click)=\\\"review_modal1(review._id,index)\\\">{{title.review_read_more}}</span>\\r\\n                    </tr>\\r\\n                    </td>\\r\\n\\r\\n\\r\\n\\r\\n                    <td><tr>\\r\\n                        {{review.user_detail.first_name + \\\" \\\" + review.user_detail.last_name}}\\r\\n                    </tr>\\r\\n                    <tr><span><i class=\\\"fa fa-star\\\" aria-hidden=\\\"true\\\"></i></span>\\r\\n                    {{review.provider_rating_to_user}}\\r\\n                    <span *ngIf=\\\"review.provider_review_to_user != ''\\\" class=\\\"text-danger\\\" (click)=\\\"review_modal2(review._id,index)\\\">{{title.review_read_more}}</span>\\r\\n\\r\\n                    </tr>\\r\\n                    </td>\\r\\n\\r\\n                    <td><tr>\\r\\n                        {{review.store_detail.name}}\\r\\n                    </tr>\\r\\n                    <tr><span><i class=\\\"fa fa-star\\\" aria-hidden=\\\"true\\\"></i></span>\\r\\n                    {{review.provider_rating_to_store}}\\r\\n                    <span *ngIf=\\\"review.provider_review_to_store != ''\\\" class=\\\"text-danger\\\" (click)=\\\"review_modal3(review._id,index)\\\">{{title.review_read_more}}</span>\\r\\n\\r\\n                    </tr>\\r\\n                    </td>\\r\\n\\r\\n\\r\\n                    <td>\\r\\n                    <tr>\\r\\n                    <div *ngIf=\\\"review.provider_detail.length>0\\\">\\r\\n                        {{review.provider_detail[0].first_name + \\\" \\\" + review.provider_detail[0].last_name}}\\r\\n                    </div>\\r\\n                    </tr>\\r\\n                    <tr><span><i class=\\\"fa fa-star\\\" aria-hidden=\\\"true\\\"></i></span>\\r\\n                    {{review.store_rating_to_provider}}\\r\\n                    <span *ngIf=\\\"review.store_review_to_provider != ''\\\" class=\\\"text-danger\\\" (click)=\\\"review_modal4(review._id,index)\\\">{{title.review_read_more}}</span>\\r\\n                    </tr>\\r\\n\\r\\n                    </td>\\r\\n\\r\\n                    <!--                    <td><tr>\\r\\n                                            {{review.user_detail.first_name + \\\" \\\" + review.user_detail.last_name}}\\r\\n                                        </tr>\\r\\n                                        <tr><span><i class=\\\"fa fa-star\\\" aria-hidden=\\\"true\\\"></i></span>\\r\\n                                        {{review.store_rating_to_user}}\\r\\n                                        </tr>\\r\\n                                        <tr *ngIf=\\\"review.store_review_to_user != ''\\\"><span class=\\\"text-danger\\\" (click)=\\\"review_modal5(review._id,index)\\\">{{title.review_read_more}}</span></tr>\\r\\n                                        </td>-->\\r\\n\\r\\n                    <td><div class=\\\"dropdown pull-right\\\" [class.dropup]=\\\"last && !index==0\\\" dropdown>\\r\\n                            <button class=\\\"btn btn-primary\\\" dropdown-open>{{title.action | translate}}<span class=\\\"caret\\\"></span></button>\\r\\n\\r\\n\\r\\n                            <ul class=\\\"pull-right dropdown-menu animated fadeIntop m-t-xs\\\" dropdown>\\r\\n\\r\\n                                <li><a (click)=\\\"viewReviewDetail(review._id)\\\"><span style=\\\"display:block;\\\" class=\\\"nav-label\\\">{{button.view_detail | translate}}</span> </a></li>\\r\\n                            </ul>\\r\\n                        </div>\\r\\n                    </td>\\r\\n\\r\\n\\r\\n\\r\\n                    </tr>\\r\\n                    </tbody>\\r\\n                </table>\\r\\n            </div>\\r\\n\\r\\n            <!--            <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                            <div class=\\\"lable_center\\\">\\r\\n            \\r\\n                                <ul class=\\\"pagination\\\">\\r\\n                                    <li *ngIf=\\\"page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"review_history(page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                                    <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page==index\\\">\\r\\n                                        <a *ngIf=\\\"index==1 || index==total_page || index==page || index==page-1 || index==page+1\\\" (click)=\\\"review_history(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                                        <a *ngIf=\\\"(index==1 && (page!==1 && page!==2 && page!==3)) || (index==total_page-1 && (page!==total_page && page!==total_page-1 && page!==total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n            \\r\\n                                    </li>\\r\\n                                    <li *ngIf=\\\"page!==total_page && review_list.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"review_history(page+1)\\\">{{button.next | translate}}</a></li>\\r\\n                                </ul>\\r\\n                            </div>\\r\\n                        </div>-->\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n        <div class=\\\"lable_center\\\">\\r\\n\\r\\n            <ul class=\\\"pagination\\\">\\r\\n                <li *ngIf=\\\"page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"review_history(page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page==index\\\">\\r\\n                    <a *ngIf=\\\"index==1 || index==total_page || index==page || index==page-1 || index==page+1\\\" (click)=\\\"review_history(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                    <a *ngIf=\\\"(index==1 && (page!==1 && page!==2 && page!==3)) || (index==total_page-1 && (page!==total_page && page!==total_page-1 && page!==total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n\\r\\n                </li>\\r\\n                <li *ngIf=\\\"page!==total_page && review_list.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"review_history(page+1)\\\">{{button.next | translate}}</a></li>\\r\\n            </ul>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n\\r\\n</div>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl\\\" #modal>\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n        <h4 class=\\\"modal-title\\\">{{title.review | translate}}</h4>\\r\\n    </modal-header>\\r\\n    <modal-body *ngIf=\\\"review_list.length>0\\\">\\r\\n        <div class=\\\"row\\\" *ngIf=\\\"review_list.length>0\\\">\\r\\n            <label style=\\\"color:black;\\\">{{review_list[this.selected_review_index].user_review_to_provider}}</label>\\r\\n        </div>\\r\\n    </modal-body>\\r\\n</modal>\\r\\n\\r\\n\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl\\\" #modal1>\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n        <h4 class=\\\"modal-title\\\">{{title.review | translate}}</h4>\\r\\n    </modal-header>\\r\\n    <modal-body *ngIf=\\\"review_list.length>0\\\">\\r\\n        <div class=\\\"row\\\" *ngIf=\\\"review_list.length>0\\\">\\r\\n            <label style=\\\"color:black;\\\">{{review_list[this.selected_review_index].user_review_to_store}}</label>\\r\\n        </div>\\r\\n    </modal-body>\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl\\\" #modal2>\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n        <h4 class=\\\"modal-title\\\">{{title.review | translate}}</h4>\\r\\n    </modal-header>\\r\\n    <modal-body *ngIf=\\\"review_list.length>0\\\">\\r\\n        <div class=\\\"row\\\" *ngIf=\\\"review_list.length>0\\\">\\r\\n            <label style=\\\"color:black;\\\">{{review_list[this.selected_review_index].provider_review_to_user}}</label>\\r\\n        </div>\\r\\n    </modal-body>\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl\\\" #modal3>\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n        <h4 class=\\\"modal-title\\\">{{title.review | translate}}</h4>\\r\\n    </modal-header>\\r\\n    <modal-body *ngIf=\\\"review_list.length>0\\\">\\r\\n        <div class=\\\"row\\\" *ngIf=\\\"review_list.length>0\\\">\\r\\n            <label style=\\\"color:black;\\\">{{review_list[this.selected_review_index].provider_review_to_store}}</label>\\r\\n        </div>\\r\\n    </modal-body>\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl\\\" #modal4>\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n        <h4 class=\\\"modal-title\\\">{{title.review | translate}}</h4>\\r\\n    </modal-header>\\r\\n    <modal-body *ngIf=\\\"review_list.length>0\\\">\\r\\n        <div class=\\\"row\\\" *ngIf=\\\"review_list.length>0\\\">\\r\\n            <label style=\\\"color:black;\\\">{{review_list[this.selected_review_index].store_review_to_provider}}</label>\\r\\n        </div>\\r\\n    </modal-body>\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl\\\" #modal5>\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n        <h4 class=\\\"modal-title\\\">{{title.review | translate}}</h4>\\r\\n    </modal-header>\\r\\n    <modal-body *ngIf=\\\"review_list.length>0\\\">\\r\\n        <div class=\\\"row\\\" *ngIf=\\\"review_list.length>0\\\">\\r\\n            <label style=\\\"color:black;\\\">{{review_list[this.selected_review_index].store_review_to_user}}</label>\\r\\n        </div>\\r\\n    </modal-body>\\r\\n</modal>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/review/review.component.html\n// module id = 1629\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\"></footer>\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n  <div class=\\\"row\\\">\\r\\n    <div class=\\\"col-md-2 col-sm-12\\\">\\r\\n      <div class=\\\"col-md-12 remove_padding\\\">\\r\\n        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            [(ngModel)]=\\\"selected_country\\\"\\r\\n            name=\\\"selected_country\\\"\\r\\n            id=\\\"selected_country\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <option>{{ title.all | translate }}</option>\\r\\n            <option\\r\\n              *ngFor=\\\"let country_data of country_list\\\"\\r\\n              value=\\\"{{ country_data._id }}\\\"\\r\\n            >\\r\\n              {{ country_data.country_name }}\\r\\n            </option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n    <div class=\\\"col-md-6 col-sm-12\\\">\\r\\n      <div class=\\\"col-md-12 remove_padding\\\">\\r\\n        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n          <div class=\\\"input-group\\\">\\r\\n            <input\\r\\n              type=\\\"text\\\"\\r\\n              (keyup)=\\\"filter_country(filter_country_name)\\\"\\r\\n              class=\\\"form-control search_box\\\"\\r\\n              [(ngModel)]=\\\"filter_country_name\\\"\\r\\n              placeholder=\\\"Search City\\\"\\r\\n              style=\\\"color: #000000\\\"\\r\\n              name=\\\"filter_country_name\\\"\\r\\n            />\\r\\n            <span class=\\\"input-group-addon search_icon\\\"\\r\\n              ><span class=\\\"fa fa-search\\\"></span\\r\\n            ></span>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n</div>\\r\\n\\r\\n<div class=\\\"wrapper content_top_bar_view wrapper-content animated fadeInRight\\\">\\r\\n  <div class=\\\"row\\\">\\r\\n    <div class=\\\"col-lg-12\\\">\\r\\n      <div class=\\\"ibox\\\" style=\\\"box-shadow: unset\\\">\\r\\n        <div class=\\\"row\\\">\\r\\n          <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n            <ul class=\\\"nav nav-tabs\\\" style=\\\"border: 0\\\">\\r\\n              <li\\r\\n                style=\\\"border: 1px solid\\\"\\r\\n                (click)=\\\"type = 1\\\"\\r\\n                [class.active]=\\\"type == 1\\\"\\r\\n                class=\\\"dsads uib-tab ng-scope ng-isolate-scope active\\\"\\r\\n                active=\\\"tab.active\\\"\\r\\n              >\\r\\n                <a\\r\\n                  style=\\\"border-radius: 0; margin: 0\\\"\\r\\n                  class=\\\"ng-binding tab_selection\\\"\\r\\n                  >{{ helper.title.store | translate }}</a\\r\\n                >\\r\\n              </li>\\r\\n              <li\\r\\n                style=\\\"border: 1px solid\\\"\\r\\n                (click)=\\\"type = 2\\\"\\r\\n                [class.active]=\\\"type == 2\\\"\\r\\n                class=\\\"uib-tab ng-scope ng-isolate-scope active\\\"\\r\\n              >\\r\\n                <a\\r\\n                  style=\\\"border-radius: 0; margin: 0\\\"\\r\\n                  class=\\\"ng-binding tab_selection\\\"\\r\\n                  >{{ helper.title.hopper | translate }}</a\\r\\n                >\\r\\n              </li>\\r\\n            </ul>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n\\r\\n      <div\\r\\n        *ngFor=\\\"\\r\\n          let country_data of filtered_country_list;\\r\\n          let country_index = index\\r\\n        \\\"\\r\\n      >\\r\\n        <div\\r\\n          *ngFor=\\\"let i of country_data.cities; let index = index\\\"\\r\\n          [hidden]=\\\"\\r\\n            selected_country !== (title.all | translate) &&\\r\\n            selected_country !== country_data._id\\r\\n          \\\"\\r\\n        >\\r\\n          <div class=\\\"col-lg-4 col-md-3 col-sm-6 col-xs-12 user_profile\\\">\\r\\n            <div class=\\\"ibox float-e-margins\\\">\\r\\n              <div class=\\\"ibox-title\\\">\\r\\n                <a\\r\\n                  class=\\\"pull-right\\\"\\r\\n                  *ngIf=\\\"!i.is_edit\\\"\\r\\n                  (click)=\\\"edit_detail(i, country_index, index)\\\"\\r\\n                  ><i\\r\\n                    class=\\\"fa fa-pencil\\\"\\r\\n                    style=\\\"font-size: 20px; color: #676a6c\\\"\\r\\n                  ></i\\r\\n                ></a>\\r\\n                <a\\r\\n                  class=\\\"pull-right\\\"\\r\\n                  *ngIf=\\\"i.is_edit\\\"\\r\\n                  (click)=\\\"update_detail(i)\\\"\\r\\n                  ><i\\r\\n                    class=\\\"fa fa-check\\\"\\r\\n                    style=\\\"font-size: 20px; color: #676a6c\\\"\\r\\n                  ></i\\r\\n                ></a>\\r\\n                <div>\\r\\n                  <h5 style=\\\"font-size: 17px\\\">\\r\\n                    <strong>{{ i.city_name }}</strong>\\r\\n                  </h5>\\r\\n                </div>\\r\\n                <div\\r\\n                  [hidden]=\\\"\\r\\n                    country_data.cities.length == 0 ||\\r\\n                    (selected_country !== (title.all | translate) &&\\r\\n                      selected_country !== country_data._id)\\r\\n                  \\\"\\r\\n                >\\r\\n                  <h5\\r\\n                    style=\\\"\\r\\n                      float: none;\\r\\n                      font-size: 14px;\\r\\n                      margin-left: 10px;\\r\\n                      margin-top: 3px;\\r\\n                    \\\"\\r\\n                  >\\r\\n                    ({{ country_data.country_name }})\\r\\n                  </h5>\\r\\n                </div>\\r\\n              </div>\\r\\n\\r\\n              <div\\r\\n                class=\\\"ibox-content profile-content\\\"\\r\\n                *ngIf=\\\"type == 1\\\"\\r\\n                style=\\\"height: 350px; overflow: auto\\\"\\r\\n              >\\r\\n                <ul class=\\\"list-group clear-list\\\">\\r\\n                  <li class=\\\"list-group-item fist-item\\\">\\r\\n                    <span class=\\\"pull-right\\\">\\r\\n                      <ui-switch\\r\\n                        (change)=\\\"is_business_change(i._id, $event)\\\"\\r\\n                        style=\\\"float: right\\\"\\r\\n                        [(ngModel)]=\\\"i.is_saas_for_store\\\"\\r\\n                        name=\\\"is_saas_for_store{{ index }}\\\"\\r\\n                      ></ui-switch\\r\\n                    ></span>\\r\\n                    {{ title.saas_business | translate }}\\r\\n                  </li>\\r\\n                  <li\\r\\n                    *ngIf=\\\"i.is_saas_for_store\\\"\\r\\n                    class=\\\"list-group-item\\\"\\r\\n                    [class.set_height]=\\\"i.is_edit\\\"\\r\\n                  >\\r\\n                    <span class=\\\"pull-right\\\" *ngIf=\\\"!i.is_edit\\\">\\r\\n                      {{ i.saas_percentage_delivery_for_store }}%\\r\\n                    </span>\\r\\n                    <span class=\\\"pull-right\\\" *ngIf=\\\"i.is_edit\\\">\\r\\n                      <input\\r\\n                        type=\\\"text\\\"\\r\\n                        class=\\\"form-control\\\"\\r\\n                        [(ngModel)]=\\\"i.saas_percentage_delivery_for_store\\\"\\r\\n                        #saas_percentage_delivery_for_store=\\\"ngModel\\\"\\r\\n                        name=\\\"saas_percentage_delivery_for_store{{ index }}\\\"\\r\\n                      />\\r\\n                    </span>\\r\\n                    {{ title.saas_percentage_delivery_for_store | translate }}\\r\\n                  </li>\\r\\n                  <li\\r\\n                    *ngIf=\\\"i.is_saas_for_store\\\"\\r\\n                    class=\\\"list-group-item\\\"\\r\\n                    [class.set_height]=\\\"i.is_edit\\\"\\r\\n                  >\\r\\n                    <span class=\\\"pull-right\\\" *ngIf=\\\"!i.is_edit\\\">\\r\\n                      {{ i.saas_percentage_pickup_by_card_for_store }}%\\r\\n                    </span>\\r\\n                    <span class=\\\"pull-right\\\" *ngIf=\\\"i.is_edit\\\">\\r\\n                      <input\\r\\n                        type=\\\"text\\\"\\r\\n                        class=\\\"form-control\\\"\\r\\n                        [(ngModel)]=\\\"i.saas_percentage_pickup_by_card_for_store\\\"\\r\\n                        #saas_percentage_pickup_by_card_for_store=\\\"ngModel\\\"\\r\\n                        name=\\\"saas_percentage_pickup_by_card_for_store{{\\r\\n                          index\\r\\n                        }}\\\"\\r\\n                      />\\r\\n                    </span>\\r\\n                    {{\\r\\n                      title.saas_percentage_pickup_by_card_for_store | translate\\r\\n                    }}\\r\\n                  </li>\\r\\n                  <li\\r\\n                    *ngIf=\\\"i.is_saas_for_store\\\"\\r\\n                    class=\\\"list-group-item\\\"\\r\\n                    [class.set_height]=\\\"i.is_edit\\\"\\r\\n                  >\\r\\n                    <span class=\\\"pull-right\\\" *ngIf=\\\"!i.is_edit\\\">\\r\\n                      {{ i.saas_percentage_delivery_by_cash_for_store }}%\\r\\n                    </span>\\r\\n                    <span class=\\\"pull-right\\\" *ngIf=\\\"i.is_edit\\\">\\r\\n                      <input\\r\\n                        type=\\\"text\\\"\\r\\n                        class=\\\"form-control\\\"\\r\\n                        [(ngModel)]=\\\"\\r\\n                          i.saas_percentage_delivery_by_cash_for_store\\r\\n                        \\\"\\r\\n                        #saas_percentage_delivery_by_cash_for_store=\\\"ngModel\\\"\\r\\n                        name=\\\"saas_percentage_delivery_by_cash_for_store{{\\r\\n                          index\\r\\n                        }}\\\"\\r\\n                      />\\r\\n                    </span>\\r\\n                    {{\\r\\n                      title.saas_percentage_delivery_by_cash_for_store\\r\\n                        | translate\\r\\n                    }}\\r\\n                  </li>\\r\\n                  <li\\r\\n                    *ngIf=\\\"i.is_saas_for_store\\\"\\r\\n                    class=\\\"list-group-item\\\"\\r\\n                    [class.set_height]=\\\"i.is_edit\\\"\\r\\n                  >\\r\\n                    <span class=\\\"pull-right\\\" *ngIf=\\\"!i.is_edit\\\">\\r\\n                      {{ i.saas_percentage_pickup_by_cash_for_store }}%\\r\\n                    </span>\\r\\n                    <span class=\\\"pull-right\\\" *ngIf=\\\"i.is_edit\\\">\\r\\n                      <input\\r\\n                        type=\\\"text\\\"\\r\\n                        class=\\\"form-control\\\"\\r\\n                        [(ngModel)]=\\\"i.saas_percentage_pickup_by_cash_for_store\\\"\\r\\n                        #saas_percentage_pickup_by_cash_for_store=\\\"ngModel\\\"\\r\\n                        name=\\\"saas_percentage_pickup_by_cash_for_store{{\\r\\n                          index\\r\\n                        }}\\\"\\r\\n                      />\\r\\n                    </span>\\r\\n                    {{\\r\\n                      title.saas_percentage_pickup_by_cash_for_store | translate\\r\\n                    }}\\r\\n                  </li>\\r\\n                  <li\\r\\n                    *ngIf=\\\"i.is_saas_for_store\\\"\\r\\n                    class=\\\"list-group-item\\\"\\r\\n                    [class.set_height]=\\\"i.is_edit\\\"\\r\\n                  >\\r\\n                    <span class=\\\"pull-right\\\" *ngIf=\\\"!i.is_edit\\\">\\r\\n                      {{ i.saas_percentage_order_pay_by_card_for_store }}%\\r\\n                    </span>\\r\\n                    <span class=\\\"pull-right\\\" *ngIf=\\\"i.is_edit\\\">\\r\\n                      <input\\r\\n                        type=\\\"text\\\"\\r\\n                        class=\\\"form-control\\\"\\r\\n                        [(ngModel)]=\\\"\\r\\n                          i.saas_percentage_order_pay_by_card_for_store\\r\\n                        \\\"\\r\\n                        #saas_percentage_order_pay_by_card_for_store=\\\"ngModel\\\"\\r\\n                        name=\\\"saas_percentage_order_pay_by_card_for_store{{\\r\\n                          index\\r\\n                        }}\\\"\\r\\n                      />\\r\\n                    </span>\\r\\n                    {{\\r\\n                      title.saas_percentage_order_pay_by_card_for_store\\r\\n                        | translate\\r\\n                    }}\\r\\n                  </li>\\r\\n                  <li\\r\\n                    *ngIf=\\\"i.is_saas_for_store\\\"\\r\\n                    class=\\\"list-group-item\\\"\\r\\n                    [class.set_height]=\\\"i.is_edit\\\"\\r\\n                  >\\r\\n                    <span class=\\\"pull-right\\\" *ngIf=\\\"!i.is_edit\\\">\\r\\n                      {{ i.saas_percentage_order_pay_by_cash_for_store }}%\\r\\n                    </span>\\r\\n                    <span class=\\\"pull-right\\\" *ngIf=\\\"i.is_edit\\\">\\r\\n                      <input\\r\\n                        type=\\\"text\\\"\\r\\n                        class=\\\"form-control\\\"\\r\\n                        [(ngModel)]=\\\"\\r\\n                          i.saas_percentage_order_pay_by_cash_for_store\\r\\n                        \\\"\\r\\n                        #saas_percentage_order_pay_by_cash_for_store=\\\"ngModel\\\"\\r\\n                        name=\\\"saas_percentage_order_pay_by_cash_for_store{{\\r\\n                          index\\r\\n                        }}\\\"\\r\\n                      />\\r\\n                    </span>\\r\\n                    {{\\r\\n                      title.saas_percentage_order_pay_by_cash_for_store\\r\\n                        | translate\\r\\n                    }}\\r\\n                  </li>\\r\\n                  <li\\r\\n                    *ngIf=\\\"i.is_saas_for_store\\\"\\r\\n                    class=\\\"list-group-item\\\"\\r\\n                    [class.set_height]=\\\"i.is_edit\\\"\\r\\n                  >\\r\\n                    <span class=\\\"pull-right\\\" *ngIf=\\\"!i.is_edit\\\">\\r\\n                      {{ i.saas_subscription_charge_tva_for_store }}%\\r\\n                    </span>\\r\\n                    <span class=\\\"pull-right\\\" *ngIf=\\\"i.is_edit\\\">\\r\\n                      <input\\r\\n                        type=\\\"text\\\"\\r\\n                        class=\\\"form-control\\\"\\r\\n                        [(ngModel)]=\\\"i.saas_subscription_charge_tva_for_store\\\"\\r\\n                        #saas_subscription_charge_tva_for_store=\\\"ngModel\\\"\\r\\n                        name=\\\"saas_subscription_charge_tva_for_store{{ index }}\\\"\\r\\n                      />\\r\\n                    </span>\\r\\n                    {{ title.saas_subscription_charge_tva | translate }}\\r\\n                  </li>\\r\\n                </ul>\\r\\n\\r\\n                <div class=\\\"row\\\" *ngIf=\\\"i.is_saas_for_store\\\">\\r\\n                  <div class=\\\"text-center\\\">\\r\\n                    {{ title.saas_subscription_charge_for_store | translate }}\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"row\\\" *ngIf=\\\"i.is_saas_for_store\\\">\\r\\n                  <div class=\\\"table-responseve\\\">\\r\\n                    <table class=\\\"table table-striped\\\">\\r\\n                      <tr\\r\\n                        *ngFor=\\\"\\r\\n                          let subscription_charge of i.saas_subscription_charge_for_store;\\r\\n                          let index = index\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <td>{{ subscription_charge.min_amount }}</td>\\r\\n                        <td>-</td>\\r\\n                        <td>{{ subscription_charge.max_amount }}</td>\\r\\n                        <td>=</td>\\r\\n                        <td>{{ subscription_charge.subscription_amount }}</td>\\r\\n                        <td *ngIf=\\\"i.is_edit\\\">\\r\\n                          <span\\r\\n                            class=\\\"pull-right fa fa-close\\\"\\r\\n                            (click)=\\\"delete_subscription_charge_data(index)\\\"\\r\\n                          ></span>\\r\\n                          <span\\r\\n                            style=\\\"margin-right: 10px\\\"\\r\\n                            class=\\\"pull-right fa fa-pencil\\\"\\r\\n                            (click)=\\\"\\r\\n                              open_edit_subscription_charge_modal(\\r\\n                                subscription_charge,\\r\\n                                index\\r\\n                              )\\r\\n                            \\\"\\r\\n                          ></span>\\r\\n                        </td>\\r\\n                      </tr>\\r\\n                    </table>\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div class=\\\"row\\\" *ngIf=\\\"i.is_edit && i.is_saas_for_store\\\">\\r\\n                  <div class=\\\"text-center\\\">\\r\\n                    <button\\r\\n                      type=\\\"button\\\"\\r\\n                      (click)=\\\"open_add_subscription_charge_modal()\\\"\\r\\n                      class=\\\"btn add_btn\\\"\\r\\n                    >\\r\\n                      {{ button.add | translate\\r\\n                      }}<span\\r\\n                        class=\\\"fa fa-plus pull-right\\\"\\r\\n                        style=\\\"margin-top: 2px\\\"\\r\\n                      ></span>\\r\\n                    </button>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n\\r\\n              <div\\r\\n                class=\\\"ibox-content profile-content\\\"\\r\\n                *ngIf=\\\"type == 2\\\"\\r\\n                style=\\\"height: 350px; overflow: auto\\\"\\r\\n              >\\r\\n                <ul class=\\\"list-group clear-list\\\">\\r\\n                  <li class=\\\"list-group-item fist-item\\\">\\r\\n                    <span class=\\\"pull-right\\\">\\r\\n                      <ui-switch\\r\\n                        (change)=\\\"is_provider_business_change(i._id, $event)\\\"\\r\\n                        style=\\\"float: right\\\"\\r\\n                        [(ngModel)]=\\\"i.is_saas_for_store\\\"\\r\\n                        name=\\\"is_saas_for_store{{ index }}\\\"\\r\\n                      ></ui-switch\\r\\n                    ></span>\\r\\n                    {{ title.saas_business | translate }}\\r\\n                  </li>\\r\\n                  <li\\r\\n                    *ngIf=\\\"i.is_saas_for_store\\\"\\r\\n                    class=\\\"list-group-item\\\"\\r\\n                    [class.set_height]=\\\"i.is_edit\\\"\\r\\n                  >\\r\\n                    <span class=\\\"pull-right\\\" *ngIf=\\\"!i.is_edit\\\">\\r\\n                      {{ i.saas_subscription_charge_for_provider }}\\r\\n                    </span>\\r\\n                    <span class=\\\"pull-right\\\" *ngIf=\\\"i.is_edit\\\">\\r\\n                      <input\\r\\n                        type=\\\"text\\\"\\r\\n                        class=\\\"form-control\\\"\\r\\n                        [(ngModel)]=\\\"i.saas_subscription_charge_for_provider\\\"\\r\\n                        #saas_subscription_charge_for_provider=\\\"ngModel\\\"\\r\\n                        name=\\\"saas_subscription_charge_for_provider{{ index }}\\\"\\r\\n                      />\\r\\n                    </span>\\r\\n                    {{\\r\\n                      title.saas_subscription_charge_for_provider | translate\\r\\n                    }}\\r\\n                  </li>\\r\\n                  <li\\r\\n                    *ngIf=\\\"i.is_saas_for_store\\\"\\r\\n                    class=\\\"list-group-item\\\"\\r\\n                    [class.set_height]=\\\"i.is_edit\\\"\\r\\n                  >\\r\\n                    <span class=\\\"pull-right\\\" *ngIf=\\\"!i.is_edit\\\">\\r\\n                      {{ i.saas_subscription_charge_tva_for_provider }}%\\r\\n                    </span>\\r\\n                    <span class=\\\"pull-right\\\" *ngIf=\\\"i.is_edit\\\">\\r\\n                      <input\\r\\n                        type=\\\"text\\\"\\r\\n                        class=\\\"form-control\\\"\\r\\n                        [(ngModel)]=\\\"\\r\\n                          i.saas_subscription_charge_tva_for_provider\\r\\n                        \\\"\\r\\n                        #saas_subscription_charge_tva_for_provider=\\\"ngModel\\\"\\r\\n                        name=\\\"saas_subscription_charge_tva_for_provider{{\\r\\n                          index\\r\\n                        }}\\\"\\r\\n                      />\\r\\n                    </span>\\r\\n                    {{ title.saas_subscription_charge_tva | translate }}\\r\\n                  </li>\\r\\n                  <li\\r\\n                    *ngIf=\\\"i.is_saas_for_store\\\"\\r\\n                    class=\\\"list-group-item\\\"\\r\\n                    [class.set_height]=\\\"i.is_edit\\\"\\r\\n                  >\\r\\n                    <span class=\\\"pull-right\\\" *ngIf=\\\"!i.is_edit\\\">\\r\\n                      {{ i.saas_percentage_for_provider }}%\\r\\n                    </span>\\r\\n                    <span class=\\\"pull-right\\\" *ngIf=\\\"i.is_edit\\\">\\r\\n                      <input\\r\\n                        type=\\\"number\\\"\\r\\n                        class=\\\"form-control\\\"\\r\\n                        [(ngModel)]=\\\"i.saas_percentage_for_provider\\\"\\r\\n                        #saas_percentage_for_provider=\\\"ngModel\\\"\\r\\n                        max=\\\"100\\\"\\r\\n                        name=\\\"saas_percentage_for_provider{{ index }}\\\"\\r\\n                      />\\r\\n                    </span>\\r\\n                    {{ title.saas_percentage_for_provider | translate }}\\r\\n                  </li>\\r\\n                  <li\\r\\n                    *ngIf=\\\"i.is_saas_for_store\\\"\\r\\n                    class=\\\"list-group-item\\\"\\r\\n                    [class.set_height]=\\\"i.is_edit\\\"\\r\\n                  >\\r\\n                    <span class=\\\"pull-right\\\" *ngIf=\\\"!i.is_edit\\\">\\r\\n                      {{ i.saas_percentage_for_provider_from }}%\\r\\n                    </span>\\r\\n                    <span class=\\\"pull-right\\\" *ngIf=\\\"i.is_edit\\\">\\r\\n                      <input\\r\\n                        type=\\\"number\\\"\\r\\n                        class=\\\"form-control\\\"\\r\\n                        [(ngModel)]=\\\"i.saas_percentage_for_provider_from\\\"\\r\\n                        #saas_percentage_for_provider_from=\\\"ngModel\\\"\\r\\n                        max=\\\"100\\\"\\r\\n                        name=\\\"saas_percentage_for_provider_from{{ index }}\\\"\\r\\n                      />\\r\\n                    </span>\\r\\n                    {{ title.saas_percentage_for_provider_from | translate }}\\r\\n                  </li>\\r\\n                </ul>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n</div>\\r\\n\\r\\n<modal\\r\\n  keyboard=\\\"false\\\"\\r\\n  backdrop=\\\"static\\\"\\r\\n  style=\\\"top: 25%\\\"\\r\\n  cssClass=\\\"modal-sm\\\"\\r\\n  #add_subscription_amount_modal\\r\\n  id\\r\\n>\\r\\n  <form\\r\\n    #add_delivery_price_form=\\\"ngForm\\\"\\r\\n    (ngSubmit)=\\\"add_subscription_charge_data()\\\"\\r\\n  >\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n      <h4 class=\\\"modal-title\\\">\\r\\n        {{ title.add_subscription_charge_setting | translate }}\\r\\n      </h4>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n      <div class=\\\"form-group\\\">\\r\\n        <div>\\r\\n          <input\\r\\n            type=\\\"text\\\"\\r\\n            (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n            placeholder=\\\"{{ title.min_amount | translate }}\\\"\\r\\n            class=\\\"form-control\\\"\\r\\n            automoplete=\\\"off\\\"\\r\\n            [(ngModel)]=\\\"min_amount\\\"\\r\\n            name=\\\"min_amount\\\"\\r\\n            required\\r\\n          />\\r\\n\\r\\n          <!--<div *ngIf=\\\"min_amount.errors && (min_amount.dirty || min_amount.touched)\\\">-->\\r\\n          <!--<div style=\\\"color: red;\\\" [hidden]=\\\"!min_amount.errors.required\\\">{{validation_message.password_required | translate}}-->\\r\\n          <!--</div>-->\\r\\n          <!--</div>-->\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"form-group\\\">\\r\\n        <div>\\r\\n          <input\\r\\n            type=\\\"text\\\"\\r\\n            (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n            placeholder=\\\"{{ title.max_amount | translate }}\\\"\\r\\n            class=\\\"form-control\\\"\\r\\n            automoplete=\\\"off\\\"\\r\\n            [(ngModel)]=\\\"max_amount\\\"\\r\\n            name=\\\"max_amount\\\"\\r\\n            required\\r\\n          />\\r\\n\\r\\n          <!--<div *ngIf=\\\"max_amount.errors && (max_amount.dirty || max_amount.touched)\\\">-->\\r\\n          <!--<div style=\\\"color: red;\\\" [hidden]=\\\"!max_amount.errors.required\\\">{{validation_message.password_required | translate}}-->\\r\\n          <!--</div>-->\\r\\n          <!--</div>-->\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"form-group\\\">\\r\\n        <input\\r\\n          type=\\\"text\\\"\\r\\n          (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n          placeholder=\\\"{{ title.subscription_amount | translate }}\\\"\\r\\n          class=\\\"form-control\\\"\\r\\n          automoplete=\\\"off\\\"\\r\\n          [(ngModel)]=\\\"subscription_amount\\\"\\r\\n          name=\\\"subscription_amount\\\"\\r\\n          required\\r\\n        />\\r\\n      </div>\\r\\n      <div>\\r\\n        <span *ngIf=\\\"distance_calculation_error == 1\\\">{{\\r\\n          helper.validation_message.min_amount_not_greater_than_max_amount\\r\\n            | translate\\r\\n        }}</span>\\r\\n      </div>\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n      <div style=\\\"text-align: center\\\">\\r\\n        <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">\\r\\n          {{ button.submit | translate }}\\r\\n        </button>\\r\\n      </div>\\r\\n    </modal-footer>\\r\\n  </form>\\r\\n</modal>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/saas/saas.component.html\n// module id = 1630\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.search | translate}}</label>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"search_field\\\" [(ngModel)]=\\\"search_field\\\" name=\\\"search_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"country_details.country_name\\\">{{title.filter_country | translate}}</option>\\r\\n                        <option value=\\\"city_details.city_name\\\">{{title.filter_city | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n\\r\\n                        <input type=\\\"text\\\" class=\\\"form-control search_box\\\" [(ngModel)]=\\\"search_value\\\" name=\\\"search_value\\\">\\r\\n                        <span class=\\\"input-group-addon search_icon\\\"><span class=\\\"fa fa-search\\\"></span></span>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.sort | translate}}</label>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"sort_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"sort_field\\\" [(ngModel)]=\\\"sort_field\\\" name=\\\"sort_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"unique_id\\\">{{title.filter_id | translate}}</option>\\r\\n                        <option value=\\\"country_details.country_name\\\">{{title.filter_country | translate}}</option>\\r\\n                        <option value=\\\"city_details.city_name\\\">{{title.filter_city | translate}}</option>\\r\\n\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"sort_orders\\\">\\r\\n\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"sort_service\\\" [(ngModel)]=\\\"sort_service\\\" name=\\\"sort_service\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"1\\\">{{title.ascending | translate}}</option>\\r\\n                        <option value=\\\"-1\\\">{{title.descending | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"col-md-6 col-sm-6 col-xs-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"filter(1)\\\" class=\\\"btn filter_apply_btn pull-right\\\" value=\\\"{{button.apply | translate}}\\\" >\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 col-xs-6 filter_btn_div\\\">\\r\\n                <button [routerLink]=\\\"['/admin/add_service']\\\" class=\\\"btn add_btn\\\">{{button.add_service | translate}}<span class=\\\"fa fa-plus\\\" style=\\\"margin-left: 8px;\\\"></span></button>\\r\\n\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n    </div>\\r\\n\\r\\n</div>\\r\\n<div class=\\\"wrapper wrapper-content content_top_bar_view1 animated fadeInRight \\\">\\r\\n    <div class=\\\"ibox\\\" *ngIf=\\\"service_list.length==0\\\">\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n            <div class=\\\"lable_center\\\" >\\r\\n                <label>No Records</label>\\r\\n            </div>\\r\\n        </div>  \\r\\n    </div>\\r\\n    <div class=\\\"ibox\\\" *ngIf=\\\"service_list.length>0\\\">\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n            <div class=\\\"table-responsive\\\">\\r\\n                <table class=\\\"table table-striped\\\">\\r\\n                    <thead>\\r\\n                        <tr>\\r\\n                            <th>{{title.ID | translate}}</th>\\r\\n                            <th>{{title.country | translate }}</th>\\r\\n                            <th>{{title.country_business | translate }}</th>\\r\\n                            <th>{{title.prov_city | translate}}</th>\\r\\n                            <th>{{title.city_business | translate }}</th>\\r\\n<!--                            <th>{{title.delivery_type | translate}}</th>-->\\r\\n                            <th class=\\\"pull-right\\\">{{title.action | translate}}</th>\\r\\n                        </tr>\\r\\n                    </thead>\\r\\n                    <tbody>\\r\\n                        <tr *ngFor=\\\"let i of service_list; let index=index; let last=last;\\\">\\r\\n                            <td>{{i.unique_id}}</td>\\r\\n                            <td>{{i.country_details.country_name}}</td>\\r\\n                            <td [ngSwitch]=\\\"i.country_details.is_business\\\">\\r\\n                                <div *ngSwitchCase=\\\"true\\\"><span class=\\\"label label-primary\\\">ON</span></div>\\r\\n                                <div *ngSwitchCase=\\\"false\\\"><span class=\\\"label label-danger\\\">OFF</span></div>\\r\\n                            </td>\\r\\n\\r\\n                            <td>{{i.city_details.city_name}}</td>\\r\\n                            <td [ngSwitch]=\\\"i.city_details.is_business\\\">\\r\\n                                <div *ngSwitchCase=\\\"true\\\"><span class=\\\"label label-primary\\\">ON</span></div>\\r\\n                                <div *ngSwitchCase=\\\"false\\\"><span class=\\\"label label-danger\\\">OFF</span></div>\\r\\n                            </td>\\r\\n<!--                            <td>{{i.delivery_type_details.name}}</td>-->\\r\\n\\r\\n                            <td><div class=\\\"dropdown pull-right\\\" [class.dropup]=\\\"last && !index==0\\\" dropdown>\\r\\n                                    <button class=\\\"btn btn-primary\\\" dropdown-open>{{title.action | translate}}<span class=\\\"caret\\\"></span></button>\\r\\n\\r\\n\\r\\n                                    <ul class=\\\"dropdown-menu\\\">\\r\\n                                        <li><a (click)=\\\"editService(i._id)\\\"><span  style=\\\"display:block;\\\" class=\\\"nav-label\\\">{{button.edit | translate}}</span> </a></li>\\r\\n                                        <!--                                        <li><a (click)=\\\"viewServiceDetail(i._id)\\\"><span class=\\\"nav-label\\\">{{button.view_detail | translate}}</span> </a></li>-->\\r\\n                                    </ul>\\r\\n                                </div>\\r\\n                            </td>\\r\\n                        </tr>\\r\\n                    </tbody>\\r\\n\\r\\n                </table>\\r\\n            </div>\\r\\n            <!--            <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                            <div class=\\\"lable_center\\\">\\r\\n            \\r\\n                                <ul class=\\\"pagination\\\">\\r\\n                                    <li *ngIf=\\\"page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"filter(page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                                    <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page==index\\\">\\r\\n                                        <a *ngIf=\\\"index==1 || index==total_page || index==page || index==page-1 || index==page+1\\\" (click)=\\\"filter(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                                        <a *ngIf=\\\"(index==1 && (page!==1 && page!==2 && page!==3)) || (index==total_page-1 && (page!==total_page && page!==total_page-1 && page!==total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n            \\r\\n                                    </li>\\r\\n                                    <li *ngIf=\\\"page!==total_page && service_list.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"filter(page+1)\\\">{{button.next | translate}}</a></li>\\r\\n                                </ul>\\r\\n                            </div>\\r\\n                        </div>-->\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n\\r\\n    <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n        <div class=\\\"lable_center\\\">\\r\\n\\r\\n            <ul class=\\\"pagination\\\">\\r\\n                <li *ngIf=\\\"page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"filter(page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page==index\\\">\\r\\n                    <a *ngIf=\\\"index==1 || index==total_page || index==page || index==page-1 || index==page+1\\\" (click)=\\\"filter(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                    <a *ngIf=\\\"(index==1 && (page!==1 && page!==2 && page!==3)) || (index==total_page-1 && (page!==total_page && page!==total_page-1 && page!==total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n\\r\\n                </li>\\r\\n                <li *ngIf=\\\"page!==total_page && service_list.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"filter(page+1)\\\">{{button.next | translate}}</a></li>\\r\\n            </ul>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n</div>\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/service/service.component.html\n// module id = 1631\n// module chunks = 0","module.exports = \"<div class=\\\"wrapper wrapper-content animated fadeInRight content_top_bar\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-lg-12\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n\\r\\n                <div class=\\\"wizard\\\">\\r\\n                    <div class=\\\"steps clearfix\\\">\\r\\n                        <ul style=\\\"display: table;padding: 0px;\\\">\\r\\n                            <li style=\\\"margin: 0px !important;border: 0px; width: 100px;\\\" [ngClass]=\\\"{current: activeRoute('setting/basic_setting')}\\\">\\r\\n                                <a style=\\\"border-bottom-right-radius: 0px; text-align:center; border-bottom-left-radius: 0px;border: 0px;\\\" [routerLink]=\\\"['/setting/basic_setting']\\\" class=\\\"btn-default\\\"><span style=\\\"font-weight: bold;display:block;\\\" class=\\\"nav-label\\\">{{setting_tab_title.admin | translate}}</span></a>\\r\\n                            </li>\\r\\n                            <li style=\\\"margin: 0px !important;border: 0px; width: 100px;\\\" [ngClass]=\\\"{current: activeRoute('setting/installation_setting')}\\\">\\r\\n                                <a style=\\\"border-bottom-right-radius: 0px; text-align:center; border-bottom-left-radius: 0px;border: 0px;\\\" [routerLink]=\\\"['/setting/installation_setting']\\\" class=\\\"btn-default\\\"><span style=\\\"font-weight: bold;display:block;\\\" class=\\\"nav-label\\\">{{setting_tab_title.logo | translate}}</span></a>\\r\\n                            </li>\\r\\n                            \\r\\n                            <li style=\\\"margin: 0px !important;border: 0px; width: 150px;\\\" [ngClass]=\\\"{current: activeRoute('setting/image_setting')}\\\">\\r\\n                                <a style=\\\"border-bottom-right-radius: 0px; text-align:center; border-bottom-left-radius: 0px;border: 0px;\\\" [routerLink]=\\\"['/setting/image_setting']\\\" class=\\\"btn-default\\\"><span style=\\\"font-weight: bold;display:block;\\\" class=\\\"nav-label\\\">{{setting_tab_title.image_setting | translate}}</span></a>\\r\\n                            </li>\\r\\n<!--                            <li style=\\\"margin: 0px !important;border: 0px; width: 100px !important;\\\" [ngClass]=\\\"{current: activeRoute('setting/app_setting')}\\\">\\r\\n                                <a style=\\\"border-bottom-right-radius: 0px; text-align:center; border-bottom-left-radius: 0px;border: 0px;\\\" [routerLink]=\\\"['/setting/app_setting']\\\" class=\\\"btn-default\\\"><span style=\\\"font-weight: bold;display:block;\\\" class=\\\"nav-label\\\">{{setting_tab_title.app_settings | translate}}</span></a>\\r\\n                            </li>-->\\r\\n                            <li style=\\\"margin: 0px !important;border: 0px; width: 100px;\\\" [ngClass]=\\\"{current: activeRoute('setting/other_setting')}\\\">\\r\\n                                <a style=\\\"border-bottom-right-radius: 0px; text-align:center; border-bottom-left-radius: 0px;border: 0px;\\\" [routerLink]=\\\"['/setting/other_setting']\\\" class=\\\"btn-default\\\"><span style=\\\"font-weight: bold;display:block;\\\" class=\\\"nav-label\\\">{{setting_tab_title.app_settings | translate}}</span></a>\\r\\n                            </li>\\r\\n                            <li style=\\\"margin: 0px !important;border: 0px; width: 150px;\\\" [ngClass]=\\\"{current: activeRoute('setting/google_key_setting')}\\\">\\r\\n                                <a style=\\\"border-bottom-right-radius: 0px; text-align:center; border-bottom-left-radius: 0px;border: 0px;\\\" [routerLink]=\\\"['/setting/google_key_setting']\\\" class=\\\"btn-default\\\"><span style=\\\"font-weight: bold;display:block;\\\" class=\\\"nav-label\\\">{{setting_tab_title.google_key_settings | translate}}</span></a>\\r\\n                            </li>\\r\\n                            <li style=\\\"margin: 0px !important;border: 0px; width: 200px;\\\" [ngClass]=\\\"{current: activeRoute('setting/app_update_setting')}\\\">\\r\\n                                <a style=\\\"border-bottom-right-radius: 0px; text-align:center; border-bottom-left-radius: 0px;border: 0px;\\\" [routerLink]=\\\"['/setting/app_update_setting']\\\" class=\\\"btn-default\\\"><span style=\\\"font-weight: bold;display:block;\\\" class=\\\"nav-label\\\">{{setting_tab_title.app_update_settings | translate}}</span></a>\\r\\n                            </li>\\r\\n                            <li style=\\\"margin: 0px !important;border: 0px; width: 200px;\\\" [ngClass]=\\\"{current: activeRoute('setting/ios_push_notification_setting')}\\\">\\r\\n                                <a style=\\\"border-bottom-right-radius: 0px; text-align:center; border-bottom-left-radius: 0px;border: 0px;\\\" [routerLink]=\\\"['/setting/ios_push_notification_setting']\\\" class=\\\"btn-default\\\"><span style=\\\"font-weight: bold;display:block;\\\" class=\\\"nav-label\\\">{{setting_tab_title.ios_push_notification | translate}}</span></a>\\r\\n                            </li>\\r\\n                        </ul>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"ibox-content\\\" style=\\\"margin-top: -1px;\\\">\\r\\n\\r\\n                        <router-outlet></router-outlet>\\r\\n\\r\\n\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n    </div>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/setting/setting.component.html\n// module id = 1632\n// module chunks = 0","module.exports = \"<form  #smsConfigurationForm=\\\"ngForm\\\" (ngSubmit)=\\\"SmsConfiguration(smsConfigurationForm.value)\\\">\\r\\n\\r\\n    <div class=\\\"wrapper wrapper-content animated fadeInRight content_top_bar\\\">\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-lg-12\\\">\\r\\n                <div class=\\\"col-lg-10 col-sm-10\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.sms_configuration | translate}}</label>  \\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                \\r\\n                                 <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.sms_gateway_name | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <h4>{{sms_configuration.name}}</h4>\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.sms_configuration_auth_id | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"sms_configuration.sms_auth_id\\\" #sms_auth_id=\\\"ngModel\\\"  name=\\\"sms_auth_id\\\" required />\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.sms_auth_token | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"sms_configuration.sms_auth_token\\\" #sms_auth_token=\\\"ngModel\\\"  name=\\\"sms_auth_token\\\" required />\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                \\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.sms_number | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"sms_configuration.sms_number\\\" #sms_number=\\\"ngModel\\\"  name=\\\"sms_number\\\" required />\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"row\\\">   \\r\\n                                <div class=\\\"col-lg-4\\\">\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-lg-4\\\" style=\\\"text-align: center;\\\">\\r\\n                                    <input type=\\\"submit\\\" id=\\\"update\\\" name=\\\"update\\\" style=\\\"width: 50%;\\\" class=\\\"btn btn-primary\\\" value=\\\"{{button.update | translate}}\\\" >\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n</form>\\r\\n\\r\\n<form #smsForm=\\\"ngForm\\\" (ngSubmit)=\\\"UpdateSms(smsForm.value)\\\" >\\r\\n    <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"sms_id\\\"   name=\\\"sms_id\\\" />\\r\\n    <div class=\\\"wrapper wrapper-content animated fadeInRight content_top_bar\\\">\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-lg-12\\\">\\r\\n                <div class=\\\"col-lg-10 col-sm-10\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.sms_data | translate}}</label>  \\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.sms_unique_title | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <select chosen class=\\\"chosen-select\\\" id=\\\"sms\\\" [(ngModel)]=\\\"update_sms.sms_unique_title\\\" #sms_unique_title=\\\"ngModel\\\" name=\\\"sms\\\" data-placeholder=\\\"SMS Content\\\"  tabindex=\\\"4\\\"  >\\r\\n\\r\\n                                            <option *ngFor=\\\"let i of sms_list\\\" value=\\\"{{i._id}}\\\">{{i.sms_unique_title}}</option>\\r\\n                                        </select> \\r\\n                                    </div> \\r\\n\\r\\n\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.select_sms_unique_title | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"update_sms.sms_content\\\" #sms_content=\\\"ngModel\\\"  name=\\\"sms_content\\\" required />\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.is_send | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <ui-switch [(ngModel)]=\\\"update_sms.is_send\\\" #is_send=\\\"ngModel\\\" name=\\\"is_send\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n\\r\\n                            </div>\\r\\n                            <div class=\\\"row\\\">   \\r\\n                                <div class=\\\"col-lg-4\\\">\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-lg-4\\\" style=\\\"text-align: center;\\\">\\r\\n                                    <input type=\\\"submit\\\" id=\\\"update\\\" name=\\\"update\\\" style=\\\"width: 50%;\\\" class=\\\"btn btn-primary\\\" value=\\\"{{button.update | translate}}\\\" >\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</form>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/sms/sms.component.html\n// module id = 1633\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n    <div class=\\\"col-md-2\\\">\\r\\n    </div>\\r\\n        <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n            <div>\\r\\n                <label>{{title.date_filter | translate}}</label>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-12 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n\\r\\n                        <my-date-picker id=\\\"start_date\\\" [options]=\\\"helper.myStartDatePickerOptions\\\" placeholder=\\\"Start Date\\\" [(ngModel)]=\\\"start_date\\\" (dateChanged)=\\\"helper.onStartDateChanged($event)\\\"\\r\\n                                        readonly></my-date-picker>\\r\\n                        <span class=\\\"input-group-addon date_filter_icon\\\">{{button.to}}</span>\\r\\n\\r\\n                        <my-date-picker id=\\\"end_date\\\" [options]=\\\"helper.myEndDatePickerOptions\\\" placeholder=\\\"End Date\\\" [(ngModel)]=\\\"end_date\\\" (dateChanged)=\\\"helper.onEndDateChanged($event)\\\"\\r\\n                                        readonly></my-date-picker>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n    \\r\\n        <div class=\\\"col-md-3 col-sm-12 remove_padding\\\">\\r\\n            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <button type=\\\"button\\\" (click)=\\\"history()\\\" class=\\\"btn filter_apply_btn\\\" style=\\\"width: unset;\\\">\\r\\n                    {{button.apply | translate}}\\r\\n                </button>\\r\\n            </div>\\r\\n            \\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n<div class=\\\"wrapper content_top_bar_view1 wrapper-content\\\">\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-12\\\">\\r\\n            <div class=\\\"ibox \\\">\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"tab-content\\\">\\r\\n                        <div id=\\\"contact-1\\\" class=\\\"tab-pane active\\\" ng-show=\\\"client == 1\\\" ng-init=\\\"client = 1\\\">\\r\\n                            <div class=\\\"row m-b-lg\\\">\\r\\n                                    <div class=\\\"row no_margin\\\">\\r\\n                                        \\r\\n                                        <div class=\\\"col-sm-12\\\">\\r\\n                                            <div class=\\\"text-center\\\">\\r\\n                                                <img alt=\\\"image\\\" style=\\\"width: 120px; height: 120px;\\\" class=\\\"img-circle m-t-xs\\\" src=\\\"{{user_detail.image_url != '' ? helper.CONSTANT.IMAGE_BASE_URL + user_detail.image_url : 'default.png'}}\\\">\\r\\n                                                <div style=\\\"margin-top: 10px;font-size: 18px;\\\">\\r\\n                                                    {{user_detail.name}} <span class=\\\"fa fa-star\\\" style=\\\"padding-left: 10px;\\\"></span> <span>{{(user_detail.user_rate)}}</span>\\r\\n                                                </div>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"row col-md-4 no_margin\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                                    </div>\\r\\n                                    <div class=\\\"row col-md-4 no_margin\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                                        <div class=\\\"col-md-3 remove_right_padding\\\">\\r\\n                                            <button (click)=\\\"open_modal(type,user_detail._id)\\\" type=\\\"button\\\" class=\\\"btn btn-light_black btn-sm btn-block\\\" tooltip=\\\"{{helper.button.add_wallet | translate}}\\\"\\r\\n                                                    [tooltipDisabled]=\\\"false\\\"\\r\\n                                                    [tooltipAnimation]=\\\"true\\\"\\r\\n                                                    tooltipPlacement=\\\"top\\\">\\r\\n                                                <i class=\\\"fa fa-plus\\\"></i>\\r\\n                                            </button>\\r\\n                                        </div>\\r\\n                                        <div class=\\\"col-md-3 remove_left_right_padding\\\">\\r\\n                                            <button (click)=\\\"open_sms_modal(type,user_detail._id)\\\" type=\\\"button\\\" class=\\\"btn btn-light_black btn-sm btn-block\\\" tooltip=\\\"{{helper.button.send_sms | translate}}\\\"\\r\\n                                                    [tooltipDisabled]=\\\"false\\\"\\r\\n                                                    [tooltipAnimation]=\\\"true\\\"\\r\\n                                                    tooltipPlacement=\\\"top\\\">\\r\\n                                                <i class=\\\"fa fa-comments\\\"></i>\\r\\n                                            </button>\\r\\n                                        </div>\\r\\n                                        <div class=\\\"col-md-3 remove_left_right_padding\\\">\\r\\n                                            <button (click)=\\\"open_notification_modal(type,user_detail._id)\\\" type=\\\"button\\\" class=\\\"btn btn-light_black btn-sm btn-block\\\" tooltip=\\\"{{helper.button.send_notification | translate}}\\\"\\r\\n                                                    [tooltipDisabled]=\\\"false\\\"\\r\\n                                                    [tooltipAnimation]=\\\"true\\\"\\r\\n                                                    tooltipPlacement=\\\"top\\\">\\r\\n                                                <i class=\\\"fa fa-bell\\\"></i>\\r\\n                                            </button>\\r\\n                                        </div>\\r\\n                                        <div class=\\\"col-md-3 remove_left_padding\\\" *ngIf=\\\"!user_detail.is_approved\\\">\\r\\n                                            <button (click)=\\\"approved_decline(2,user_detail._id)\\\" type=\\\"button\\\" class=\\\"btn btn-light_black btn-sm btn-block\\\" tooltip=\\\"{{helper.button.approved | translate}}\\\"\\r\\n                                                    [tooltipDisabled]=\\\"false\\\"\\r\\n                                                    [tooltipAnimation]=\\\"true\\\"\\r\\n                                                    tooltipPlacement=\\\"top\\\">\\r\\n                                                <i class=\\\"fa fa-check\\\"></i>\\r\\n                                            </button>\\r\\n                                        </div>\\r\\n                                        <div class=\\\"col-md-3 remove_left_padding\\\" *ngIf=\\\"user_detail.is_approved\\\">\\r\\n                                            <button (click)=\\\"approved_decline(1,user_detail._id)\\\" type=\\\"button\\\" class=\\\"btn btn-light_black btn-sm btn-block\\\" tooltip=\\\"{{helper.button.decline | translate}}\\\"\\r\\n                                                    [tooltipDisabled]=\\\"false\\\"\\r\\n                                                    [tooltipAnimation]=\\\"true\\\"\\r\\n                                                    tooltipPlacement=\\\"top\\\">\\r\\n                                                <i class=\\\"fa fa-ban\\\"></i>\\r\\n                                            </button>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"row\\\" style=\\\"margin-top: 50px;\\\">\\r\\n                                <div class=\\\"col-md-4\\\">\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <label>{{title.app_version | translate}}</label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <span *ngIf=\\\"user_detail.device_type\\\">{{user_detail.device_type}}</span> - <span *ngIf=\\\"user_detail.app_version\\\">{{user_detail.app_version}}</span>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-4\\\">\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <label>{{title.email | translate}}</label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <span>{{user_detail.email}}</span>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-4\\\">\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <label>{{title.total_completed_orders | translate}}</label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <span>{{earning_order_total.total_completed_orders}}</span>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-4\\\">\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <label>{{title.registered_date | translate}}</label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <span>{{user_detail.created_at | date: helper.DATE_FORMAT.DD_MMM_YYYY_HH_MM_A}}</span>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-4\\\">\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <label>{{title.phone | translate}}</label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <span>{{user_detail.country_phone_code}} {{user_detail.phone}}</span>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-4\\\">\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <label>{{title.total_order_amount | translate}}</label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <span>{{(earning_order_total.total.toFixed(2))}}</span>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-4\\\">\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <label>{{title.wallet | translate}}</label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <span>{{user_detail.wallet}} {{user_detail.wallet_currency_code}}</span>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-4\\\">\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <label>{{title.country | translate}}</label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <span>{{user_detail.country_details.country_name}}</span>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-4\\\">\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <label>{{title.city | translate}}</label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <span>{{user_detail.city_details.city_name}}</span>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-8\\\">\\r\\n                                    <div class=\\\"col-md-3\\\">\\r\\n                                        <label>{{title.address | translate}}</label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-9\\\">\\r\\n                                        <span>{{user_detail.address}}</span>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-4\\\">\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <label>{{title.delivery_type | translate}}</label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <span *ngFor=\\\"let delivery_detail of user_detail.delivery_details; let last=last;\\\">{{delivery_detail.delivery_name}}\\r\\n                                            <span *ngIf=\\\"!last\\\"> , </span>\\r\\n                                        </span>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-4\\\">\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <label>{{title.website_url | translate}}</label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <span>{{user_detail.website_url}}</span>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-4\\\">\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <label>{{title.slogan | translate}}</label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <span>{{user_detail.slogan}}</span>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                \\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"ibox\\\" *ngIf=\\\"earning_order_list.length>0\\\">\\r\\n            <div class=\\\"ibox-content\\\" style=\\\"overflow-x: scroll;\\\">\\r\\n                <div class=\\\"table-responsive\\\">\\r\\n                    <table class=\\\"table table-striped\\\">\\r\\n                        <thead>\\r\\n                            <tr>\\r\\n                                <th>{{title.ID | translate}}</th>\\r\\n                                <th>{{title.completed_at | translate}}</th>\\r\\n                                <th>{{title.provider | translate}}</th>\\r\\n                                <th>{{title.user | translate}}</th>\\r\\n                                <th>{{title.payment_by | translate}}</th>\\r\\n                                <th>{{title.currency | translate}}</th>\\r\\n                                <th>{{title.total | translate}}</th>\\r\\n                                <th>{{title.admin_earning | translate}}</th>\\r\\n                                <th>{{title.provider_earning | translate}}</th>\\r\\n                                <th>{{title.earning_pay_provider | translate}}</th>\\r\\n                                <th>{{title.provider_income_set_in_wallet | translate}}</th>\\r\\n                                <th>{{title.store_earn | translate}}</th>\\r\\n                                <th>{{title.pay_store | translate}}</th>\\r\\n                                <th>{{title.store_income_set_in_wallet | translate}}</th>\\r\\n\\r\\n                                <th>{{title.action | translate}}</th>\\r\\n                            </tr>\\r\\n                        </thead>\\r\\n                        <tbody>\\r\\n\\r\\n                            <tr *ngFor=\\\"let order of earning_order_list; let index=index; let last=last;\\\">\\r\\n                                <td>{{order.unique_id}}</td>\\r\\n                                <td>{{order.completed_at| date: helper.DATE_FORMAT.DD_MMM_YYYY}}</td>\\r\\n                                \\r\\n                                <td>{{order.provider_first_name}} {{order.provider_last_name}}</td>\\r\\n                                <td>{{order.user_first_name}} {{order.user_last_name}}</td>\\r\\n                                <td [ngSwitch]=\\\"order.order_payment_detail.is_payment_mode_cash\\\">\\r\\n                                    <div *ngSwitchCase=\\\"true\\\"><span class=\\\"label label-primary_new\\\">{{helper.lable_title.cash}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"false\\\"><span class=\\\"label label-danger\\\">{{helper.lable_title.card}}</span></div>\\r\\n                                </td>\\r\\n\\r\\n\\r\\n                                <td>{{order.currency}}</td>\\r\\n                                <td>{{((+order.order_payment_detail.total_delivery_price + +order.order_payment_detail.total_order_price).toFixed(2)) }}</td>\\r\\n                                <td>{{((+order.order_payment_detail.total_admin_profit_on_delivery + +order.order_payment_detail.total_admin_profit_on_store).toFixed(2)) }}</td>\\r\\n                                <td>{{order.order_payment_detail.total_provider_income}}</td>\\r\\n                                <td>{{((order.order_payment_detail.pay_to_provider).toFixed(2))}}</td>\\r\\n                                <td>{{order.order_payment_detail.provider_income_set_in_wallet}}</td>\\r\\n                                <td>{{order.order_payment_detail.total_store_income}}</td>\\r\\n                                <td>{{((order.order_payment_detail.pay_to_store).toFixed(2))}}</td>\\r\\n                                <td>{{(order.order_payment_detail.store_income_set_in_wallet).toFixed(2)}}</td>\\r\\n\\r\\n                                <td><div class=\\\"dropdown pull-right\\\" [class.dropup]=\\\"last && !index==0\\\" dropdown>\\r\\n                                        <button class=\\\"btn btn-primary\\\" dropdown-open>{{title.action | translate}}<span class=\\\"caret\\\"></span></button>\\r\\n\\r\\n\\r\\n                                        <ul class=\\\"dropdown-menu\\\">\\r\\n                                            <li><a (click)=\\\"viewOrderEarningDetail(order._id)\\\"><span style=\\\"display:block;\\\" class=\\\"nav-label\\\">{{button.view_detail | translate}}</span> </a></li>\\r\\n                                        </ul>\\r\\n                                    </div>\\r\\n                                </td>\\r\\n\\r\\n                            </tr>\\r\\n                        </tbody>\\r\\n                    </table>\\r\\n                    <div class=\\\"col-md-12 col-sm-12\\\" style=\\\"margin-top: 6px;\\\">\\r\\n                        <div class=\\\"lable_center\\\">\\r\\n\\r\\n                            <ul class=\\\"pagination\\\">\\r\\n                                <li *ngIf=\\\"earning_page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"order_earning(earning_page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                                <li *ngFor=\\\"let index of earning_total_pages\\\" [class.active]=\\\"earning_page==index\\\">\\r\\n                                    <a *ngIf=\\\"index==1 || index==earning_total_page || index==earning_page || index==earning_page-1 || index==earning_page+1\\\" (click)=\\\"order_earning(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                                    <a *ngIf=\\\"(index==1 && (earning_page!==1 && earning_page!==2 && earning_page!==3)) || (index==earning_total_page-1 && (earning_page!==earning_total_page && earning_page!==earning_total_page-1 && earning_page!==earning_total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n\\r\\n                                </li>\\r\\n                                <li *ngIf=\\\"earning_page!==earning_total_page && earning_order_list.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"order_earning(earning_page+1)\\\">{{button.next | translate}}</a></li>\\r\\n                            </ul>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        \\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-8\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-content\\\" style=\\\"padding-bottom: 40px;\\\">\\r\\n                    <div class=\\\"table-responsive scrollbar\\\" style=\\\"height: calc(100vh - 255px);overflow: auto;\\\">\\r\\n                        <table class=\\\"table\\\">\\r\\n                            <thead>\\r\\n                            <tr>\\r\\n                                <th>{{title.id | translate}}</th>\\r\\n                                <th>{{title.provider | translate}}</th>\\r\\n                                <th>{{title.user | translate}}</th>\\r\\n                                <th>{{title.date | translate}}</th>\\r\\n                                <th>{{title.total | translate}}</th>\\r\\n                                <th>{{title.status | translate}}</th>\\r\\n                                <th>{{title.action | translate}}</th>\\r\\n                            </tr>\\r\\n                            </thead>\\r\\n                            <tbody>\\r\\n\\r\\n                            <tr *ngFor=\\\"let order of order_list; let index=index; let last=last; \\\" [class.selected_tr]=\\\"order._id==order_detail._id\\\"  (click)=\\\"get_order_detail(order._id)\\\">\\r\\n                                <td>{{order.unique_id}}</td>\\r\\n                                <td><div>{{order.provider_first_name}} {{order.provider_last_name}}</div></td>\\r\\n                                <td>{{order.user_first_name}} {{order.user_last_name}}</td>\\r\\n                                <td>{{moment(order.completed_at).tz(order.timezone !== undefined ? order.timezone: 'Asia/Kolkata').format('DD MMM YYYY HH:mm a')}}</td>\\r\\n                                <td>{{order.total.toFixed(2)}}</td>\\r\\n                                <td [ngSwitch]=\\\"order.order_status\\\">\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.STORE_REJECTED\\\"><span class=\\\"label label-danger\\\">{{status.rejected1 | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.STORE_CANCELLED\\\"><span class=\\\"label label-danger\\\">{{status.cancelled1 | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.NO_DELIVERY_MAN_FOUND\\\"><span class=\\\"label label-danger\\\">{{status.no_delivery_man_found1 | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_REJECTED\\\"><span class=\\\"label label-danger\\\">{{status.delivery_man_rejected1 | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_CANCELLED\\\"><span class=\\\"label label-danger\\\">{{status.delivery_man_cancelled1 | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.CANCELED_BY_USER\\\"><span class=\\\"label label-danger\\\">{{status.user_cancelled | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.ADMIN_CANCELLED\\\"><span class=\\\"label label-danger\\\">{{status.admin_cancelled | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_COMPLETE_DELIVERY\\\"><span class=\\\"label label-primary\\\">{{status.order_delivered | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.ORDER_COMPLETED\\\"><span class=\\\"label label-primary\\\">{{status.completed | translate}}</span></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"text-left footable-visible footable-last-column\\\">\\r\\n                                    <div class=\\\"btn-group\\\">\\r\\n                                        <button (click)=\\\"open_detail_modal(index)\\\" class=\\\"btn btn-xs btn-light_black\\\">{{helper.button.detail | translate}}</button>\\r\\n                                    </div>\\r\\n                                </td>\\r\\n                            </tr>\\r\\n\\r\\n                            </tbody>\\r\\n                        </table>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-12 col-sm-12\\\" style=\\\"margin-top: 6px;\\\">\\r\\n                        <div class=\\\"lable_center\\\">\\r\\n\\r\\n                            <ul class=\\\"pagination\\\">\\r\\n                                <li *ngIf=\\\"page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"store_history(page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                                <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page==index\\\">\\r\\n                                    <a *ngIf=\\\"index==1 || index==total_page || index==page || index==page-1 || index==page+1\\\" (click)=\\\"store_history(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                                    <a *ngIf=\\\"(index==1 && (page!==1 && page!==2 && page!==3)) || (index==total_page-1 && (page!==total_page && page!==total_page-1 && page!==total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n\\r\\n                                </li>\\r\\n                                <li *ngIf=\\\"page!==total_page && order_list.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"store_history(page+1)\\\">{{button.next | translate}}</a></li>\\r\\n                            </ul>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4\\\" *ngIf=\\\"order_detail.user_detail;\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-content scrollbar\\\" style=\\\"height: calc(100vh - 205px);overflow: auto;\\\">\\r\\n                    <div *ngIf=\\\"order_detail.cart_detail\\\" >\\r\\n                        <label><span class=\\\"fa fa-map-marker\\\" style=\\\"margin-right: 5px;\\\"></span>{{title.delivery_address | translate}}\\r\\n                            <span *ngIf=\\\"order_detail.is_schedule_order\\\" class=\\\"fa fa-clock-o product_arrow\\\"></span>\\r\\n                            <span *ngIf=\\\"order_detail.order_payment_detail.is_user_pick_up_order\\\" class=\\\"fa fa-user product_arrow\\\"></span>\\r\\n                        </label>\\r\\n                        <button *ngIf=\\\"order_detail.order_status_id==helper.ORDER_STATUS_ID.COMPLETED\\\" (click)=\\\"show_review(order_detail._id)\\\"\\r\\n                                class=\\\"btn btn-xs btn-light_black pull-right\\\">{{button.reviews | translate}}</button>\\r\\n                        <div style=\\\"margin-left: 10px;\\\">{{order_detail.cart_detail.destination_addresses[0].address}}</div>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"row\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                        <div class=\\\"col-md-4\\\">\\r\\n                            <img style=\\\"width: 80px; height: 80px;\\\" class=\\\"img-circle m-t-xs\\\" src=\\\"{{order_detail.user_detail.image_url != '' ? helper.CONSTANT.IMAGE_BASE_URL + order_detail.user_detail.image_url : 'default.png'}}\\\">\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8\\\">\\r\\n                            <label>{{heading_title.order_by | translate}}</label>\\r\\n                            <div>{{order_detail.user_detail.first_name + \\\" \\\" + order_detail.user_detail.last_name}} ({{order_detail.user_detail.unique_id}})</div>\\r\\n                            <div>{{order_detail.user_detail.email}}</div>\\r\\n                            <div>{{order_detail.user_detail.country_phone_code + \\\" \\\" + order_detail.user_detail.phone}}</div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"row\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                        <div class=\\\"col-md-4\\\">\\r\\n                            <img style=\\\"width: 80px; height: 80px;\\\" class=\\\"img-circle m-t-xs\\\" src=\\\"{{order_detail.store_detail.image_url != '' ? helper.CONSTANT.IMAGE_BASE_URL + order_detail.store_detail.image_url : 'default.png'}}\\\">\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8\\\">\\r\\n                            <label>{{heading_title.order_from | translate}}</label>\\r\\n                            <div>{{order_detail.store_detail.name}} ({{order_detail.store_detail.unique_id}})</div>\\r\\n                            <div>{{order_detail.store_detail.email}}</div>\\r\\n                            <div>{{order_detail.store_detail.country_phone_code + \\\" \\\" + order_detail.store_detail.phone}}</div>\\r\\n                            <div>{{order_detail.store_detail.address}}</div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"row\\\" *ngIf=\\\"!order_detail.order_payment_detail.is_user_pick_up_order && order_detail.provider_detail;\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                        <div class=\\\"col-md-4\\\">\\r\\n                            <img style=\\\"width: 80px; height: 80px;\\\" class=\\\"img-circle m-t-xs\\\" src=\\\"{{order_detail.user_detail.image_url != '' ? helper.CONSTANT.IMAGE_BASE_URL + order_detail.user_detail.image_url : 'default.png'}}\\\">\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8\\\">\\r\\n                            <label>{{heading_title.deliver_by | translate}}</label>\\r\\n                            <div>{{order_detail.provider_detail.first_name + \\\" \\\" + order_detail.provider_detail.last_name}} ({{order_detail.provider_detail.unique_id}})</div>\\r\\n                            <div>{{order_detail.provider_detail.email}}</div>\\r\\n                            <div>{{order_detail.provider_detail.country_phone_code + \\\" \\\" + order_detail.provider_detail.phone}}</div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"row\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                        <div class=\\\"col-md-4\\\">\\r\\n                            <img style=\\\"width: 80px; height: 80px;\\\" class=\\\"img-circle m-t-xs\\\" src=\\\"default.png\\\">\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8\\\">\\r\\n                            <label>{{heading_title.order_to | translate}}</label>\\r\\n                            <div>{{order_detail.cart_detail.destination_addresses[0].user_details.name}}</div>\\r\\n                            <div>{{order_detail.cart_detail.destination_addresses[0].user_details.email}}</div>\\r\\n                            <div>{{order_detail.cart_detail.destination_addresses[0].user_details.phone}}</div>\\r\\n                            <div>Comment: {{order_detail.cart_detail.destination_addresses[0].note}}</div>\\r\\n                            <div>Floor: {{order_detail.cart_detail.destination_addresses[0].floor}}</div>\\r\\n                            <div>entry code: {{order_detail.cart_detail.destination_addresses[0].entry_code}}</div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div *ngIf=\\\"order_detail.order_status_id==helper.ORDER_STATUS_ID.CANCELLED\\\" class=\\\"row\\\" style=\\\"margin-top: 20px;\\\">\\r\\n                        <div class=\\\"col-md-12\\\">\\r\\n                            <label>{{heading_title.cancellation_reason | translate}}</label>\\r\\n                            <div>{{order_detail.cancel_reason}}</div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div *ngIf=\\\"order_detail.order_status_id==helper.ORDER_STATUS_ID.REJECTED\\\" class=\\\"row\\\" style=\\\"margin-top: 20px;\\\">\\r\\n                        <div class=\\\"col-md-12\\\">\\r\\n                            <label>{{heading_title.rejection_reason | translate}}</label>\\r\\n                            <div>{{order_detail.cancel_reason}}</div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n\\r\\n        <div class=\\\"col-md-3\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                        <label>Store to User</label>\\r\\n                    <div *ngFor=\\\"let review of review_list;\\\">\\r\\n                        <div *ngIf=\\\"review.store_rating_to_user>0 && review.user_detail\\\" class=\\\"row form-group\\\">\\r\\n                            <div class=\\\"col-md-3 col-xs-3\\\">\\r\\n                                <img class=\\\"img-circle\\\" src=\\\"{{review.user_detail.image_url != '' ? helper.CONSTANT.IMAGE_BASE_URL + review.user_detail.image_url : 'default.png'}}\\\" style=\\\"width: 80px; height: 80px;\\\">\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-8 col-xs-8\\\">\\r\\n                                <div style=\\\"display: inline;\\\" *ngFor=\\\"let rate of Array(review.store_rating_to_user)\\\"><span class=\\\"fa fa-star rating_star\\\"></span></div>\\r\\n                                <div style=\\\"font-size: 15px;\\\">{{helper.title.reviewed_by}}: {{review.user_detail.first_name}} {{review.user_detail.last_name}}\\r\\n                                    <span style=\\\"font-size: 12px;\\\">({{title.order_id | translate}}: {{review.order_unique_id}})</span>\\r\\n                                </div>\\r\\n                                <div style=\\\"font-size: 15px;color: black;\\\">{{review.store_review_to_user}}</div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-3\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                        <label>Store to Provider</label>\\r\\n                    <div *ngFor=\\\"let review of review_list;\\\">\\r\\n                        <div *ngIf=\\\"review.store_rating_to_provider>0 && review.provider_detail\\\" class=\\\"row form-group\\\">\\r\\n                            <div class=\\\"col-md-3 col-xs-3\\\">\\r\\n                                <img class=\\\"img-circle\\\" src=\\\"{{review.provider_detail.image_url != '' ? helper.CONSTANT.IMAGE_BASE_URL + review.provider_detail.image_url : 'default.png'}}\\\" style=\\\"width: 80px; height: 80px;\\\">\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-8 col-xs-8\\\">\\r\\n                                <div style=\\\"display: inline;\\\" *ngFor=\\\"let rate of Array(review.store_rating_to_provider)\\\"><span class=\\\"fa fa-star rating_star\\\"></span></div>\\r\\n                                <div style=\\\"font-size: 15px;\\\">{{helper.title.reviewed_by}}: {{review.provider_detail.first_name}} {{review.provider_detail.last_name}}\\r\\n                                    <span style=\\\"font-size: 12px;\\\">({{title.order_id | translate}}: {{review.order_unique_id}})</span>\\r\\n                                </div>\\r\\n                                <div style=\\\"font-size: 15px;color: black;\\\">{{review.store_review_to_provider}}</div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-3\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                        <label>User to Store</label>\\r\\n                    <div *ngFor=\\\"let review of review_list;\\\">\\r\\n                        <div *ngIf=\\\"review.user_rating_to_store>0 && review.user_detail\\\" class=\\\"row form-group\\\">\\r\\n                            <div class=\\\"col-md-3 col-xs-3\\\">\\r\\n                                <img class=\\\"img-circle\\\" src=\\\"{{review.user_detail.image_url != '' ? helper.CONSTANT.IMAGE_BASE_URL + review.user_detail.image_url : 'default.png'}}\\\" style=\\\"width: 80px; height: 80px;\\\">\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-8 col-xs-8\\\">\\r\\n                                <div style=\\\"display: inline;\\\" *ngFor=\\\"let rate of Array(review.user_rating_to_store)\\\"><span class=\\\"fa fa-star rating_star\\\"></span></div>\\r\\n                                <div style=\\\"font-size: 15px;\\\">{{helper.title.reviewed_for}}: {{review.user_detail.first_name}} {{review.user_detail.last_name}} \\r\\n                                    <span style=\\\"font-size: 12px;\\\">({{title.order_id | translate}}: {{review.order_unique_id}})</span>\\r\\n                                </div>\\r\\n                                <div style=\\\"font-size: 15px;color: black;\\\">{{review.user_review_to_store}}</div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-3\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                        <label>Provider to Store</label>\\r\\n                    <div *ngFor=\\\"let review of review_list;\\\">\\r\\n                        <div *ngIf=\\\"review.provider_rating_to_store>0 && review.provider_detail\\\" class=\\\"row form-group\\\">\\r\\n                            <div class=\\\"col-md-3 col-xs-3\\\">\\r\\n                                <img class=\\\"img-circle\\\" src=\\\"{{review.provider_detail.image_url != '' ? helper.CONSTANT.IMAGE_BASE_URL + review.provider_detail.image_url : 'default.png'}}\\\" style=\\\"width: 80px; height: 80px;\\\">\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-8 col-xs-8\\\">\\r\\n                                <div style=\\\"display: inline;\\\" *ngFor=\\\"let rate of Array(review.provider_rating_to_store)\\\"><span class=\\\"fa fa-star rating_star\\\"></span></div>\\r\\n                                <div style=\\\"font-size: 15px;\\\">{{helper.title.reviewed_for}}: {{review.provider_detail.first_name}} {{review.provider_detail.last_name}} \\r\\n                                    <span style=\\\"font-size: 12px;\\\">({{title.order_id | translate}}: {{review.order_unique_id}})</span>\\r\\n                                </div>\\r\\n                                <div style=\\\"font-size: 15px;color: black;\\\">{{review.provider_review_to_store}}</div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        \\r\\n    </div>\\r\\n    \\r\\n</div>\\r\\n<modal cssClass=\\\"\\\" #review_detail_modal>\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n        <label>{{heading_title.review_detail | translate}}</label>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n        <div class=\\\"table-responsive scrollbar\\\" style=\\\"height: 100%;\\\">\\r\\n            <table class=\\\"table\\\">\\r\\n                <thead>\\r\\n                    <tr *ngIf=\\\"review_detail.user_detail && review_detail.user_detail.length>0\\\">\\r\\n                        <th>{{title.user | translate}}</th>\\r\\n                        <th>{{title.to_store | translate}}</th>\\r\\n                        <th>{{title.to_deliveryman | translate}}</th>\\r\\n                    </tr>\\r\\n                    <tr *ngIf=\\\"review_detail.user_detail && review_detail.user_detail.length>0\\\">\\r\\n                        <td>{{review_detail.user_detail[0].first_name}} {{review_detail.user_detail[0].last_name}}</td>\\r\\n                        <td>\\r\\n                            <span class=\\\"fa fa-star\\\"></span> {{review_detail.user_rating_to_store}}<br>\\r\\n                            {{review_detail.user_review_to_store}}\\r\\n                            <div *ngIf=\\\"review_detail.user_review_to_store==''\\\">\\r\\n                                {{title.not_available | translate}}\\r\\n                            </div>\\r\\n                            <div style=\\\"margin-top: 5px;\\\" *ngIf=\\\"review_detail.user_review_to_store!=''\\\">\\r\\n                                <span style=\\\"font-size: 20px;color: #85ad69;\\\" class=\\\"fa fa-thumbs-o-up\\\"></span>\\r\\n                                <span style=\\\"margin-left: 5px;font-size: 15px;\\\">{{review_detail.number_of_users_like_store_comment}}</span>\\r\\n                                <span style=\\\"margin-left: 5px;font-size: 20px;color: red;\\\" class=\\\"fa fa-thumbs-o-down\\\"></span>\\r\\n                                <span style=\\\"margin-left: 5px;font-size: 15px;\\\">{{review_detail.number_of_users_dislike_store_comment}}</span>\\r\\n                            </div>\\r\\n                        </td>\\r\\n                        <td>\\r\\n                            <span class=\\\"fa fa-star\\\"></span> {{review_detail.user_rating_to_provider}}<br>\\r\\n                            {{review_detail.user_review_to_provider}}\\r\\n                            <div *ngIf=\\\"review_detail.user_review_to_provider==''\\\">\\r\\n                                {{title.not_available | translate}}\\r\\n                            </div>\\r\\n                        </td>\\r\\n                    </tr><br>\\r\\n                    <tr *ngIf=\\\"review_detail.store_detail && review_detail.store_detail.length>0\\\">\\r\\n                        <th>{{title.store | translate}}</th>\\r\\n                        <th>{{title.to_user | translate}}</th>\\r\\n                        <th>\\r\\n                            {{title.to_deliveryman | translate}}\\r\\n                        </th>\\r\\n                    </tr>\\r\\n                    <tr *ngIf=\\\"review_detail.store_detail && review_detail.store_detail.length>0\\\">\\r\\n                        <td>{{review_detail.store_detail[0].name}}</td>\\r\\n                        <td>\\r\\n                            <span class=\\\"fa fa-star\\\"></span> {{review_detail.store_rating_to_user}}<br>\\r\\n                            {{review_detail.store_review_to_user}}\\r\\n                            <div *ngIf=\\\"review_detail.store_review_to_user==''\\\">\\r\\n                                {{title.not_available | translate}}\\r\\n                            </div>\\r\\n                        </td>\\r\\n                        <td>\\r\\n                            <span class=\\\"fa fa-star\\\"></span> {{review_detail.store_rating_to_provider}}<br>\\r\\n                            {{review_detail.store_review_to_provider}}\\r\\n                            <div *ngIf=\\\"review_detail.store_review_to_provider==''\\\">\\r\\n                                {{title.not_available | translate}}\\r\\n                            </div>\\r\\n                        </td>\\r\\n                    </tr><br>\\r\\n                    <tr *ngIf=\\\"review_detail.provider_detail && review_detail.provider_detail.length>0\\\">\\r\\n                        <th>{{title.deliveryman | translate}}</th>\\r\\n                        <th>{{title.to_user | translate}}</th>\\r\\n                        <th>{{title.to_store | translate}}</th>\\r\\n                    </tr>\\r\\n                    <tr *ngIf=\\\"review_detail.provider_detail && review_detail.provider_detail.length>0\\\">\\r\\n                        <td>{{review_detail.provider_detail[0].first_name}} {{review_detail.provider_detail[0].last_name}}</td>\\r\\n                        <td>\\r\\n                            <span class=\\\"fa fa-star\\\"></span> {{review_detail.provider_rating_to_user}}<br>\\r\\n                            {{review_detail.provider_review_to_user}}\\r\\n                            <div *ngIf=\\\"review_detail.provider_review_to_user==''\\\">\\r\\n                                {{title.not_available | translate}}\\r\\n                            </div>\\r\\n                        </td>\\r\\n                        <td>\\r\\n                            <span class=\\\"fa fa-star\\\"></span> {{review_detail.provider_rating_to_store}}<br>\\r\\n                            {{review_detail.provider_review_to_store}}\\r\\n                            <div *ngIf=\\\"review_detail.provider_review_to_store==''\\\">\\r\\n                                {{title.not_available | translate}}\\r\\n                            </div>\\r\\n                        </td>\\r\\n                    </tr>\\r\\n                </thead>\\r\\n            </table>\\r\\n        </div>\\r\\n    </modal-body>\\r\\n</modal>\\r\\n\\r\\n<modal cssClass=\\\"modal-invoice\\\" #order_detail_modal>\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n        <label>{{heading_title.order_detail | translate}}</label>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n        <div class=\\\"row\\\" *ngIf=\\\"order_detail.cart_detail\\\">\\r\\n            <div class=\\\"col-md-4\\\">\\r\\n                <div class=\\\"ibox remove_ibox_margin\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <h4 class=\\\"pull-right\\\">{{currency_sign}}{{order_total.toFixed(2)}}</h4>\\r\\n                        <span style=\\\"position: absolute; left:48%;\\\">(<strong>{{total_item}}</strong>) {{title.items | translate}}</span>\\r\\n                        <h5>{{heading_title.order_detail | translate}}</h5>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content invoice_popup_box\\\">\\r\\n                        <div *ngFor=\\\"let products of order_detail.cart_detail.order_details; let product_index=index; \\\">\\r\\n                            <div style=\\\"border-bottom: 1px solid brown;text-align: center;\\\">\\r\\n                                <h4 class=\\\"pull-right\\\">{{currency_sign}}{{product_item_total_array[product_index]}}\\r\\n                                    <span *ngIf=\\\"hide_specification_group[product_index]=='true'\\\" (click)=\\\"show_specifications_group(product_index)\\\" class=\\\"fa fa-chevron-left\\\"></span>\\r\\n                                    <span *ngIf=\\\"hide_specification_group[product_index]=='false'\\\" (click)=\\\"hide_specifications_group(product_index)\\\" class=\\\"fa fa-chevron-down\\\"></span>\\r\\n                                </h4>\\r\\n                                <span>(<strong>{{products.items.length}}</strong>) {{title.items | translate}}</span>\\r\\n                                <h5 style=\\\"float: left;\\\">{{products.product_name}}</h5>\\r\\n                            </div>\\r\\n\\r\\n                            <div id=\\\"spec_list{{product_index}}\\\" class=\\\"table-responsive\\\" style=\\\"    width: 100%;\\\">\\r\\n                                <table class=\\\"table\\\">\\r\\n                                    <thead style=\\\"border-bottom: 1px solid;\\\">\\r\\n                                    <tr>\\r\\n                                        <th >{{title.item | translate}}</th>\\r\\n                                        <th >{{title.spec | translate}} {{title.price | translate}}</th>\\r\\n                                        <th >{{title.price | translate}}</th>\\r\\n                                        <th >{{title.qty | translate}}</th>\\r\\n                                        <th >{{title.total | translate}}</th>\\r\\n                                    </tr>\\r\\n                                    </thead>\\r\\n\\r\\n                                    <tbody *ngFor=\\\"let item of products.items; let odd=odd; let item_index=index; \\\" (click)=\\\"get_specification(product_index, item_index)\\\">\\r\\n                                    <tr style=\\\"cursor: pointer;\\\">\\r\\n                                        <td >{{item.item_name}}</td>\\r\\n                                        <td>{{currency_sign}}{{item.total_specification_price}}</td>\\r\\n                                        <td>{{currency_sign}}{{item.item_price}}</td>\\r\\n                                        <td >{{item.quantity}}</td>\\r\\n                                        <td >{{currency_sign}}{{((item.item_price + item.total_specification_price)*item.quantity).toFixed(2)}}</td>\\r\\n                                    </tr>\\r\\n                                    <tr style=\\\"cursor: pointer;color: red;\\\">\\r\\n                                        <td colspan=\\\"5\\\" style=\\\"border-top: 0;\\\">Note : {{item.note_for_item}}</td>\\r\\n                                    </tr>\\r\\n                                    </tbody>\\r\\n\\r\\n                                </table>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-4\\\" *ngIf=\\\"is_show_specification\\\">\\r\\n                <div class=\\\"ibox remove_ibox_margin\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <h5>{{title.specifications | translate}}</h5>\\r\\n                        <span class=\\\"fa fa-remove pull-right\\\" (click)=\\\"is_show_specification=false;\\\"></span>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"ibox-content invoice_popup_box\\\">\\r\\n\\r\\n                        <div *ngFor=\\\"let specification_group of specifications; let odd=odd;\\\" [class.row]=\\\"odd\\\" style=\\\"margin: 0;\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\" style=\\\"padding: 0px;\\\">\\r\\n                                    <div class=\\\"col-md-12\\\" style=\\\"padding: 0;border-bottom: 1px solid #dcdcdc;\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5>{{specification_group.name}}</h5></div>\\r\\n                                        <div *ngIf=\\\"specification_group.price > 0\\\" class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;\\\">{{currency_sign}}{{specification_group.price.toFixed(2)}}</h5></div>\\r\\n                                    </div>\\r\\n\\r\\n                                    <div class=\\\"col-md-12\\\" *ngFor=\\\"let specification of specification_group.list\\\">\\r\\n                                        <div style=\\\"padding: 0;\\\" class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h6 style=\\\"font-size: 13px;\\\">{{specification.name}}</h6></div>\\r\\n                                        <div *ngIf=\\\"specification.price > 0\\\" class=\\\"col-md-4 col-sm-4 col-xs-4\\\" style=\\\"padding: 0;\\\"><h6 style=\\\"font-size: 13px;float: right;\\\">{{currency_sign}}{{specification.price.toFixed(2)}}</h6></div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"row\\\" style=\\\"border-top: 1px solid;padding-top: 15px;\\\" *ngIf=\\\"item_note!=''\\\">\\r\\n                            <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\">\\r\\n                                <label>{{title.item_note_here}}</label>\\r\\n                                <div>\\r\\n                                    <h6 style=\\\"font-size: 13px;\\\">{{item_note}}</h6>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-4\\\" *ngIf=\\\"!is_show_specification\\\">\\r\\n                <div class=\\\"ibox remove_ibox_margin\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"background-color: #d4d8d8;\\\">\\r\\n                        <h5>{{heading_title.order_status | translate}}</h5>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content invoice_popup_box\\\">\\r\\n\\r\\n                        <div id=\\\"vertical-timeline\\\" class=\\\"vertical-container dark-timeline\\\">\\r\\n\\r\\n                            <div *ngFor=\\\"let date of order_detail.date_time;\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                <div class=\\\"vertical-timeline-icon gray-bg\\\" *ngIf=\\\"date.status!==helper.ORDER_STATE.ORDER_COMPLETED\\\">\\r\\n                                </div>\\r\\n                                <div class=\\\"vertical-timeline-content\\\" [ngSwitch]=\\\"date.status\\\" *ngIf=\\\"date.status!==helper.ORDER_STATE.ORDER_COMPLETED\\\" style=\\\"padding-top: 1px;\\\">\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.WAITING_FOR_ACCEPT_STORE\\\"><span>{{helper.status.waiting_for_accept | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_ACCEPTED\\\"><span>{{helper.status.accepted | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_PREPARING_ORDER\\\"><span>{{helper.status.start_preparing_order | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.OREDER_READY\\\"><span>{{helper.status.order_ready | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.WAITING_FOR_DELIVERY_MAN\\\"><span>{{helper.status.waiting_for_delivery_man | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_REJECTED\\\"><span>{{helper.status.rejected | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_CANCELLED\\\"><span>{{helper.status.cancelled | translate}}</span></p>\\r\\n                                    <span *ngIf=\\\"!order_detail.request_detail\\\">\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.ORDER_COMPLETED\\\"><span>{{helper.status.completed | translate}}</span></p></span>\\r\\n                                    <span *ngIf=\\\"!order_detail.request_detail\\\"><p *ngSwitchCase=\\\"helper.ORDER_STATE.CANCELED_BY_USER\\\"><span>{{helper.status.user_cancelled | translate}}</span></p></span>\\r\\n                                    <span *ngIf=\\\"date.status!==helper.ORDER_STATE.ORDER_COMPLETED\\\" class=\\\"vertical-date small text-muted\\\">{{moment(date.date).tz(order_detail.timezone !== '' ? order_detail.timezone: 'Asia/Kolkata').format('DD MMM YYYY HH:mm a')}}</span>\\r\\n                                </div>\\r\\n                                <div class=\\\"vertical-timeline-icon gray-bg\\\" *ngIf=\\\"date.status==helper.ORDER_STATE.ORDER_COMPLETED&&!order_detail.request_detail\\\">\\r\\n                                </div>\\r\\n                                <div class=\\\"vertical-timeline-content\\\" [ngSwitch]=\\\"date.status\\\" *ngIf=\\\"date.status==helper.ORDER_STATE.ORDER_COMPLETED&&!order_detail.request_detail\\\" style=\\\"padding-top: 1px;\\\">\\r\\n                                    <p><span>{{helper.status.completed | translate}}</span></p>\\r\\n                                </div>\\r\\n                                </div>\\r\\n                            <div *ngIf=\\\"order_detail.request_detail\\\">\\r\\n                                <div *ngFor=\\\"let date of order_detail.request_detail.date_time;\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                    <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                    </div>\\r\\n                                    <div class=\\\"vertical-timeline-content\\\" [ngSwitch]=\\\"date.status\\\" style=\\\"padding-top: 1px;\\\">\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.WAITING_FOR_DELIVERY_MAN\\\"><span>{{helper.status.waiting_for_delivery_man | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_ACCEPTED\\\"><span>{{helper.status.delivery_man_accepted | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_COMING\\\"><span>{{helper.status.delivery_man_coming | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_ARRIVED\\\"><span>{{helper.status.delivery_man_arrived | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\\\"><span>{{helper.status.picked_order | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_STARTED_DELIVERY\\\"><span>{{helper.status.started_for_delivery | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_ARRIVED_AT_DESTINATION\\\"><span>{{helper.status.arrived_at_destination | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_COMPLETE_DELIVERY\\\"><span>{{helper.status.delivered_ordered | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_REJECTED\\\"><span>{{helper.status.rejected | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_CANCELLED\\\"><span>{{helper.status.cancelled | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.NO_DELIVERY_MAN_FOUND\\\"><span>{{helper.status.no_delivery_man_found | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_REJECTED\\\"><span>{{helper.status.delivery_man_rejected | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_CANCELLED\\\"><span>{{helper.status.delivery_man_cancelled | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.CANCELED_BY_USER\\\"><span>{{helper.status.user_cancelled | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_CANCELLED_REQUEST\\\"><span>{{helper.status.cancelled_request | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.ORDER_COMPLETED\\\"><span>{{helper.status.completed | translate}}</span></p>\\r\\n\\r\\n                                        <span class=\\\"vertical-date small text-muted\\\">{{moment(date.date).tz(order_detail.timezone !== '' ? order_detail.timezone: 'Asia/Kolkata').format('DD MMM YYYY HH:mm a')}}</span>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-4\\\">\\r\\n                <div class=\\\"ibox remove_ibox_margin\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"background-color: #d4d8d8;\\\">\\r\\n                        <h5>{{order_detail.order_payment_detail.invoice_number}}</h5>\\r\\n                        <h5 class=\\\"pull-right\\\">{{currency_sign}}{{order_detail.order_payment_detail.total.toFixed(2)}}</h5>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content invoice_popup_box scrollbar\\\">\\r\\n                        <div class=\\\"row\\\" style=\\\"margin-bottom: 20px;\\\">\\r\\n                            <div class=\\\"col-md-4\\\" style=\\\"padding-right: 4px;\\\">\\r\\n                                <div class=\\\"invoice_box\\\">\\r\\n                                    <div><span>{{title.cash_payment}}</span></div>\\r\\n                                    <div><label>{{currency_sign}}{{order_detail.order_payment_detail.cash_payment.toFixed(2)}}</label></div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-4\\\" style=\\\"padding-right: 8px; padding-left: 8px;\\\">\\r\\n                                <div class=\\\"invoice_box\\\">\\r\\n                                    <div><span>{{title.wallet_payment}}</span></div>\\r\\n                                    <div><label>{{currency_sign}}{{order_detail.order_payment_detail.wallet_payment.toFixed(2)}}</label></div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-4\\\" style=\\\"padding-left: 4px;\\\">\\r\\n                                <div class=\\\"invoice_box\\\">\\r\\n                                    <div><span>{{title.other_payment}}</span></div>\\r\\n                                    <div><label>{{currency_sign}}{{order_detail.order_payment_detail.card_payment.toFixed(2)}}</label></div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\" style=\\\"padding: 0px;\\\">\\r\\n\\r\\n                                <div class=\\\"row invoice_seperator\\\">\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5 style=\\\"margin-bottom: 0;\\\">{{title.total_delivery_price | translate}}</h5></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;margin-bottom: 0;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_delivery_price.toFixed(2)}}</h5></div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.delivery_price | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                                            <span style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_service_price.toFixed(2)}}</span>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.tax_price | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><span style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_admin_tax_price.toFixed(2)}}</span></div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\"  *ngIf='order_detail.order_payment_detail.is_promo_for_delivery_service == true'>\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.promo_bonus | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><span style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.promo_payment.toFixed(2)}}</span></div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"row invoice_seperator\\\">\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5 style=\\\"margin-bottom: 0;\\\">{{title.total_order_price | translate}}</h5></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;margin-bottom: 0;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_order_price.toFixed(2)}}</h5></div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.order_price | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><span style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_cart_price.toFixed(2)}}</span></div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.tax_price | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><span style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_store_tax_price.toFixed(2)}}</span></div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\" *ngIf='order_detail.order_payment_detail.is_promo_for_delivery_service == false'>\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.promo_bonus | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><span style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.promo_payment.toFixed(2)}}</span></div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"row invoice_seperator\\\" *ngIf=\\\"order_detail.order_status_id==helper.ORDER_STATUS_ID.CANCELLED && order_detail.order_payment_detail.order_cancellation_charge>0\\\">\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5 style=\\\"margin-bottom: 0;\\\">{{title.cancellation_charge | translate}}</h5></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"margin-bottom: 0; float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.order_cancellation_charge.toFixed(2)}}</h5></div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"row invoice_seperator\\\" *ngIf=\\\"order_detail.order_status_id==helper.ORDER_STATUS_ID.COMPLETED\\\">\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.store_bear_delivery_fee | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                                            <span style=\\\"float: right;\\\" *ngIf=\\\"order_detail.order_payment_detail.is_store_pay_delivery_fees\\\">{{title.yes | translate}}</span>\\r\\n                                            <span style=\\\"float: right;\\\" *ngIf=\\\"!order_detail.order_payment_detail.is_store_pay_delivery_fees\\\">{{title.no | translate}}</span>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\" *ngIf=\\\"order_detail.order_payment_detail.is_payment_mode_cash\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.deliveryman_paid_order_cash_to_store | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                                            <span style=\\\"float: right;\\\" *ngIf=\\\"order_detail.order_payment_detail.provider_paid_order_payment\\\">{{title.yes | translate}}</span>\\r\\n                                            <span style=\\\"float: right;\\\" *ngIf=\\\"!order_detail.order_payment_detail.provider_paid_order_payment\\\">{{title.no | translate}}</span>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"row invoice_seperator\\\" *ngIf=\\\"order_detail.order_status_id==helper.ORDER_STATUS_ID.COMPLETED\\\">\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.store_profit | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><span style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_store_income.toFixed(2)}}</span></div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                                            <span *ngIf=\\\"order_detail.order_payment_detail.is_store_income_set_in_wallet\\\" style=\\\"color: green;\\\">{{title.sattlement_with_store | translate}}</span>\\r\\n                                            <span *ngIf=\\\"!order_detail.order_payment_detail.is_store_income_set_in_wallet\\\">\\r\\n                                                <span *ngIf=\\\"order_detail.order_payment_detail.is_transfered_to_store\\\" style=\\\"color: green;\\\">{{title.sattlement_with_store | translate}}</span>\\r\\n                                                <span *ngIf=\\\"!order_detail.order_payment_detail.is_transfered_to_store\\\" style=\\\"color: red;\\\">{{title.sattlement_with_store | translate}}</span>\\r\\n                                            </span>\\r\\n                                        </div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                                            <span style=\\\"float: right;\\\" *ngIf=\\\"order_detail.order_payment_detail.is_store_income_set_in_wallet\\\">\\r\\n                                                <span style=\\\"color: green;\\\">{{currency_sign}}{{order_detail.order_payment_detail.store_income_set_in_wallet.toFixed(2)}} ({{title.wallet | translate}})</span>\\r\\n                                            </span>\\r\\n                                            <span style=\\\"float: right;\\\" *ngIf=\\\"!order_detail.order_payment_detail.is_store_income_set_in_wallet\\\">\\r\\n                                                <span style=\\\"color: green;\\\" *ngIf=\\\"order_detail.order_payment_detail.is_transfered_to_store\\\">{{currency_sign}}{{order_detail.order_payment_detail.pay_to_store.toFixed(2)}}</span>\\r\\n                                                <span style=\\\"color: red;\\\" *ngIf=\\\"!order_detail.order_payment_detail.is_transfered_to_store\\\">{{currency_sign}}{{order_detail.order_payment_detail.pay_to_store.toFixed(2)}}</span>\\r\\n                                            </span>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"row invoice_seperator\\\" *ngIf=\\\"order_detail.order_status_id==helper.ORDER_STATUS_ID.COMPLETED\\\">\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.deliveryman_profit | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><span style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_provider_income.toFixed(2)}}</span></div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                                            <span *ngIf=\\\"order_detail.order_payment_detail.is_store_income_set_in_wallet\\\" style=\\\"color: green;\\\">{{title.sattlement_with_deliveryman | translate}}</span>\\r\\n                                            <span *ngIf=\\\"!order_detail.order_payment_detail.is_store_income_set_in_wallet\\\">\\r\\n                                                <span *ngIf=\\\"order_detail.order_payment_detail.is_transfered_to_store\\\" style=\\\"color: green;\\\">{{title.sattlement_with_deliveryman | translate}}</span>\\r\\n                                                <span *ngIf=\\\"!order_detail.order_payment_detail.is_transfered_to_store\\\" style=\\\"color: red;\\\">{{title.sattlement_with_deliveryman | translate}}</span>\\r\\n                                            </span>\\r\\n                                        </div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                                            <span style=\\\"float: right;\\\" *ngIf=\\\"order_detail.order_payment_detail.is_provider_income_set_in_wallet\\\">\\r\\n                                                <span style=\\\"color: green;\\\">{{currency_sign}}{{order_detail.order_payment_detail.provider_income_set_in_wallet.toFixed(2)}} ({{title.wallet | translate}})</span>\\r\\n                                            </span>\\r\\n                                            <span style=\\\"float: right;\\\" *ngIf=\\\"!order_detail.order_payment_detail.is_provider_income_set_in_wallet\\\">\\r\\n                                                <span style=\\\"color: green;\\\" *ngIf=\\\"order_detail.order_payment_detail.is_transfered_to_provider\\\">{{currency_sign}}{{order_detail.order_payment_detail.pay_to_provider.toFixed(2)}}</span>\\r\\n                                                <span style=\\\"color: red;\\\" *ngIf=\\\"!order_detail.order_payment_detail.is_transfered_to_provider\\\">{{currency_sign}}{{order_detail.order_payment_detail.pay_to_provider.toFixed(2)}}</span>\\r\\n                                            </span>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"row invoice_seperator\\\" *ngIf=\\\"order_detail.order_status_id==helper.ORDER_STATUS_ID.COMPLETED\\\">\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.admin_profit_on_store | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><span style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_admin_profit_on_store.toFixed(2)}}</span></div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.admin_profit_on_delivery | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><span style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_admin_profit_on_delivery.toFixed(2)}}</span></div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n    </modal-body>\\r\\n</modal>\\r\\n\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-sm\\\" #myModal>\\r\\n    <form #modalForm=\\\"ngForm\\\" (ngSubmit)=\\\"AddWallet(modalForm.value)\\\">\\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <h4 class=\\\"modal-title\\\">{{heading_title.add_wallet_amount | translate}}</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div class=\\\"row\\\">\\r\\n                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"type\\\"   name=\\\"type\\\"  />\\r\\n                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"user_id\\\"   name=\\\"user_id\\\"  />\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                    <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                        <div class=\\\"form-group\\\" >\\r\\n\\r\\n                            <label style=\\\"font-weight: normal;\\\"><strong>{{title.amount | translate}}</strong></label>\\r\\n                            <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"wallet\\\" (keypress)=\\\"helper.number_validation1($event)\\\" maxlength=\\\"6\\\" name=\\\"wallet\\\" required>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{button.save | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\\r\\n\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl\\\" #mysmsModal>\\r\\n    <form #modalSmsForm=\\\"ngForm\\\" (ngSubmit)=\\\"SendSms(modalSmsForm.value)\\\">\\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <h4 class=\\\"modal-title\\\">{{heading_title.admin_sms | translate}}</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div class=\\\"row\\\">\\r\\n                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"type\\\"   name=\\\"type\\\"  />\\r\\n                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"user_id\\\"   name=\\\"user_id\\\"  />\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                    <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                        <div class=\\\"form-group\\\" >\\r\\n\\r\\n                            <label style=\\\"font-weight: normal;\\\"><strong>{{title.content | translate}}</strong></label>\\r\\n                            <textarea class=\\\"form-control\\\" [(ngModel)]=\\\"content\\\"   name=\\\"content\\\" required ></textarea>\\r\\n\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{button.send | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\\r\\n\\r\\n\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl\\\" #mynotificationModal>\\r\\n    <form #modalNotificationForm=\\\"ngForm\\\" (ngSubmit)=\\\"SendNotification(modalNotificationForm.value)\\\">\\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <h4 class=\\\"modal-title\\\">{{heading_title.admin_send_notification | translate}}</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div class=\\\"row\\\">\\r\\n                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"type\\\"   name=\\\"type\\\"  />\\r\\n                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"user_id\\\"   name=\\\"user_id\\\"  />\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                    <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                        <div class=\\\"form-group\\\" >\\r\\n\\r\\n                            <label style=\\\"font-weight: normal;\\\"><strong>{{title.notification_content | translate}}</strong></label>\\r\\n                            <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"content\\\" name=\\\"content\\\" required />\\r\\n\\r\\n\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{button.send | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/store_history/history.component.html\n// module id = 1634\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n<div class=\\\"wrapper-content animated fadeInRight\\\" style=\\\"padding: 0px; padding-top: 60px;\\\">\\r\\n\\r\\n    <div class=\\\"ibox \\\" style=\\\"margin-top: 10px;    position: fixed;z-index: 10;left: 0;right: 0;\\\">\\r\\n        <div class=\\\"ibox-content\\\" >\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-md-9\\\">\\r\\n                    <div class=\\\"col-md-3 col-sm-4\\\">\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <input type=\\\"text\\\" class=\\\"form-control\\\" style=\\\"border-color: #222222;height: 30px;border-radius: 5px;\\\" placeholder=\\\"Enter Address\\\" id=\\\"search\\\">\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-3 col-sm-4\\\">\\r\\n                        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                            <select chosen class=\\\"chosen-select\\\" id=\\\"selected_country\\\" [(ngModel)]=\\\"selected_country\\\" name=\\\"selected_country\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                                <option value=\\\"All\\\">{{title.all | translate}}</option>\\r\\n                                <option *ngFor=\\\"let i of country_list\\\" value=\\\"{{i._id}}\\\">{{i.country_name}}</option>\\r\\n                            </select>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-3 col-sm-4\\\">\\r\\n                        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                            <select chosen class=\\\"chosen-select\\\" id=\\\"type\\\" [(ngModel)]=\\\"type\\\" name=\\\"type\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                                <option value=\\\"All\\\">{{title.all | translate}}</option>\\r\\n                                <option value=\\\"open\\\">{{title.open | translate}}</option>\\r\\n                                <option value=\\\"close\\\">{{title.close | translate}}</option>\\r\\n                                <option value=\\\"businessoff\\\">{{title.business_off | translate}}</option>\\r\\n                            </select>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    \\r\\n                    \\r\\n                     <div class=\\\"col-md-3 col-sm-4\\\">\\r\\n                        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                            <select chosen class=\\\"chosen-select\\\" id=\\\"selected_delivery\\\" [(ngModel)]=\\\"selected_delivery\\\" name=\\\"selected_delivery\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                                <option value=\\\"All\\\">{{title.all | translate}}</option>\\r\\n                                <option *ngFor=\\\"let i of delivery_list\\\" value=\\\"{{i._id}}\\\">{{i.delivery_name}}</option>\\r\\n                            </select>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    \\r\\n                </div>\\r\\n                <div class=\\\"col-md-3\\\">\\r\\n                    <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\"><img src=\\\"/map_pin_images/Store/store_open.png\\\" style=\\\"height:25px;\\\"/>{{title.store_open | translate}}</div>\\r\\n                    <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\"><img src=\\\"/map_pin_images/Store/store_close.png\\\" style=\\\"height:25px;\\\"/>{{title.store_close | translate}}</div>\\r\\n                    <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\"><img src=\\\"/map_pin_images/Store/store_business_off.png\\\" style=\\\"height:25px;\\\"/>{{title.store_business_off | translate}}</div>\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n    <div style=\\\"margin-left: -16px;margin-right: -16px;\\\">\\r\\n        <div id=\\\"map\\\" style=\\\"height: 1000px;\\\"></div>\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/store_map/store_map.component.html\n// module id = 1635\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n\\r\\n<div class=\\\"wrapper content_top_bar_view2 wrapper-content animated fadeInRight\\\">\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-3\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\">\\r\\n                    <h5>{{helper.heading_title.category | translate}}</h5>\\r\\n                    <span class=\\\"fa fa-check pull-right\\\" (click)=\\\"update_sequence_number(1, true)\\\"></span>\\r\\n                    <div class=\\\"row\\\" style=\\\"margin-top: 36px;\\\">\\r\\n                        <div class=\\\"col-md-6\\\">\\r\\n                            <button class=\\\"btn btn-black btn-block text-center\\\" (click)=\\\"import_data()\\\" style=\\\"margin-top: -7px;\\\">Import File</button>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-6\\\">\\r\\n                            <button class=\\\"btn btn-black btn-block text-center\\\" (click)=\\\"export_menu(false, null)\\\" style=\\\"margin-top: -7px;\\\">Export Menu</button>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"row\\\" style=\\\"margin-bottom: 20px;\\\">\\r\\n                        <div class=\\\"col-md-10 col-sm-10 col-xs-10\\\" style=\\\"padding-right: 0;\\\">\\r\\n                            <input type=\\\"text\\\" colspan=\\\"2\\\" placeholder=\\\"{{helper.title.enter_category_name | translate}}\\\" (keyup)=\\\"check_product()\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_product.name\\\" #name=\\\"ngModel\\\"  name=\\\"name\\\"  required />\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-2 col-sm-2 col-xs-2\\\">\\r\\n                            <span style=\\\"margin-top: 5px;font-size: 25px;float: right;\\\" (click)=\\\"addProduct()\\\" class=\\\"fa fa-plus-circle\\\"></span>\\r\\n                        </div>\\r\\n                        <label *ngIf=product_already_exist >{{helper.title.category_already_exist | translate}}</label>\\r\\n                    </div>\\r\\n                    <ul id=\\\"sortable_product\\\" class=\\\"sortable-list connectList agile-list product_list_height scrollbar\\\">\\r\\n                        <li *ngFor=\\\"let product of filtered_product_list; let product_index=index;\\\" (click)=\\\"select_product(product._id, $event)\\\" class=\\\"product_li\\\" [ngStyle]=\\\"{'background-color': !product.is_visible_in_store ? '#f5efef' : '#FAFAFB'}\\\" [class.success-element]=\\\"product._id==selected_product_id && selected_product_id_for_specification==''\\\">\\r\\n                            <span (click)=\\\"open_specification(product._id)\\\" *ngIf=\\\"selected_product_id_for_specification!=product._id && product.specifications_details.length>0;\\\" class=\\\"fa fa-angle-right product_arrow\\\"></span>\\r\\n                            <span (click)=\\\"close_specification(product._id)\\\" *ngIf=\\\"selected_product_id_for_specification==product._id && product.specifications_details.length>0;\\\" class=\\\"fa fa-angle-down product_arrow\\\"></span>\\r\\n                            <span style=\\\"padding-right: 21px;\\\" *ngIf=\\\"product.specifications_details.length==0\\\"></span>\\r\\n                            <span>{{product.name}}</span>\\r\\n                            <div class=\\\"dropdown pull-right\\\" dropdown style=\\\"margin-left: 10px;\\\">\\r\\n                                <a class=\\\"pull-right\\\" dropdown-open><i class=\\\"fa fa-ellipsis-v\\\" style=\\\"font-size:20px;color:#676a6c;\\\"></i></a>\\r\\n                                <ul class=\\\"pull-right dropdown-menu animated fadeIntop m-t-xs\\\" dropdown>\\r\\n                                    <li style=\\\"padding: 0;margin-bottom: 0;\\\"><a (click)=\\\"open_add_specification_modal(product._id)\\\"><span style=\\\"display:block;\\\" class=\\\"nav-label\\\">{{button.add_modifier_group | translate}}</span> </a></li>\\r\\n                                    <li style=\\\"padding: 0;margin-bottom: 0;\\\"><a (click)=\\\"open_edit_product_modal(product)\\\"><span style=\\\"display:block;\\\" class=\\\"nav-label\\\">{{button.edit | translate}}</span> </a></li>\\r\\n                                    <li *ngIf=\\\"product.is_visible_in_store\\\" style=\\\"padding: 0;margin-bottom: 0;\\\"><a (click)=\\\"updateProduct(product, false)\\\"><span style=\\\"display:block;\\\" class=\\\"nav-label\\\">{{button.deactivate | translate}} </span> </a></li>\\r\\n                                    <li *ngIf=\\\"!product.is_visible_in_store\\\" style=\\\"padding: 0;margin-bottom: 0;\\\"><a (click)=\\\"updateProduct(product, true)\\\"><span style=\\\"display:block;\\\" class=\\\"nav-label\\\">{{button.activate | translate}}</span> </a></li>\\r\\n                                    <li style=\\\"padding: 0;margin-bottom: 0;\\\"><a (click)=\\\"deleteProduct(product)\\\"><span style=\\\"display:block;\\\" class=\\\"nav-label\\\">{{button.delete | translate}} </span> </a></li>\\r\\n                                </ul>\\r\\n                            </div>\\r\\n                            <!--<ui-switch size=\\\"small\\\" class=\\\"pull-right\\\" (change)=\\\"updateProduct(product, $event)\\\" [(ngModel)]=\\\"product.is_visible_in_store\\\" #is_visible_in_store=\\\"ngModel\\\" name=\\\"is_visible_in_store\\\"></ui-switch>-->\\r\\n\\r\\n                            <ul *ngIf=\\\"selected_product_id_for_specification==product._id && product.specifications_details.length>0\\\" class=\\\"sortable-list connectList agile-list\\\">\\r\\n                                <li class=\\\"product_li_sp\\\" (click)=\\\"get_specification(sp_group._id)\\\" style=\\\"\\\" *ngFor=\\\"let sp_group of product.specifications_details; let sp_group_index=index;\\\" [class.success-element]=\\\"sp_group._id==selected_specification_group_id\\\">\\r\\n                                    {{sp_group.name}} ({{sp_group.ref_code}})\\r\\n                                    <span (click)=\\\"delete_specification_group(sp_group._id, product_index, sp_group_index, $event)\\\" class=\\\"fa fa-times pull-right\\\"></span>\\r\\n                                </li>\\r\\n                            </ul>\\r\\n                        </li>\\r\\n                    </ul>\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-md-3\\\" *ngIf=\\\"selected_specification_group_id!=''\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\">\\r\\n                    <h5>{{selected_specification_group_name}}</h5>\\r\\n                    <span class=\\\"fa fa-check pull-right\\\" (click)=\\\"updateSpecification()\\\"></span>\\r\\n                </div>\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"row\\\" style=\\\"margin-bottom: 20px;\\\">\\r\\n                        <div class=\\\"col-md-10 col-sm-10 col-xs-10\\\" style=\\\"padding-right: 0;\\\">\\r\\n                            <input type=\\\"text\\\" placeholder=\\\"{{helper.title.enter_specification | translate}}\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"specification_name\\\" name=\\\"specification_name\\\" />\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-2 col-sm-2 col-xs-2\\\">\\r\\n                            <span style=\\\"margin-top: 5px;font-size: 25px;float: right;\\\" (click)=\\\"addSpecification()\\\" class=\\\"fa fa-plus-circle\\\"></span>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div id=\\\"spec_list\\\" class=\\\"product_list_height scrollbar\\\">\\r\\n                        <form #specificationForm=\\\"ngForm\\\" enctype='multipart/form-data' >\\r\\n                            <ul class=\\\"sortable-list connectList agile-list\\\" >\\r\\n                                <li class=\\\"product_li_sp\\\" *ngFor=\\\"let specification of specification_name_array; let specification_index=index;\\\">\\r\\n                                    {{specification}}\\r\\n                                    <span (click)=\\\"deleteSpecification('' ,specification_index)\\\" class=\\\"fa fa-times pull-right\\\"></span>\\r\\n                                </li>\\r\\n                            </ul>\\r\\n\\r\\n                            <ul class=\\\"sortable-list connectList agile-list\\\">\\r\\n                                <li class=\\\"product_li_sp\\\" *ngFor=\\\"let specification of specification_list; let specification_index=index; \\\">\\r\\n                                    {{specification.name}}\\r\\n                                    <span (click)=\\\"deleteSpecification(specification._id ,specification_index)\\\" class=\\\"fa fa-times pull-right\\\"></span>\\r\\n                                </li>\\r\\n                            </ul>\\r\\n                        </form>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-md-3\\\" *ngIf=\\\"selected_specification_group_id==''\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\">\\r\\n                    <h5>{{helper.heading_title.item | translate}}</h5>\\r\\n                    <span class=\\\"fa fa-check pull-right\\\" (click)=\\\"update_sequence_number(2, true)\\\"></span>\\r\\n                </div>\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"row\\\" style=\\\"margin-bottom: 20px;\\\">\\r\\n                        <div class=\\\"col-md-6 col-sm-6 col-xs-6\\\" style=\\\"padding-right: 5px;\\\">\\r\\n                            <input type=\\\"text\\\" colspan=\\\"2\\\" placeholder=\\\"{{helper.title.item_name | translate}}\\\" (keyup)=\\\"check_item()\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_item.name\\\" #name=\\\"ngModel\\\"  name=\\\"name\\\"  required />\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\" style=\\\"padding-right: 5px; padding-left: 5px;\\\">\\r\\n                            <input type=\\\"text\\\" colspan=\\\"2\\\" placeholder=\\\"{{helper.title.item_price | translate}}\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_item.price\\\" #price=\\\"ngModel\\\"  name=\\\"price\\\"  required />\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-2 col-sm-2 col-xs-2\\\">\\r\\n                            <span style=\\\"margin-top: 5px;font-size: 25px;float: right;\\\" (click)=\\\"add_item_data()\\\" class=\\\"fa fa-plus-circle\\\"></span>\\r\\n                        </div>\\r\\n                        <label *ngIf=\\\"item_error!=''\\\" >{{item_error | translate}}</label>\\r\\n                    </div>\\r\\n\\r\\n                    <ul id=\\\"sortable\\\" class=\\\"sortable-list connectList agile-list product_list_height scrollbar\\\">\\r\\n                        <li *ngFor=\\\"let item of filtered_item_list; let item_index=index;\\\" (click)=\\\"select_item(item._id, $event)\\\" class=\\\"product_li\\\" [ngStyle]=\\\"{'background-color': !item.is_visible_in_store ? '#ece7e7' : '#FAFAFB'}\\\" [class.success-element]=\\\"item._id==selected_item_id\\\">\\r\\n                            {{item.name}}\\r\\n                            <div class=\\\"dropdown pull-right\\\" dropdown style=\\\"margin-left: 10px;\\\">\\r\\n                                <a class=\\\"pull-right\\\" dropdown-open><i class=\\\"fa fa-ellipsis-v\\\" style=\\\"font-size:20px;color:#676a6c;\\\"></i></a>\\r\\n                                <ul class=\\\"pull-right dropdown-menu animated fadeIntop m-t-xs\\\" dropdown>\\r\\n                                    <li style=\\\"padding: 0;margin-bottom: 0;\\\"><a (click)=\\\"deleteItem(item)\\\"><span style=\\\"display:block;\\\" class=\\\"nav-label\\\">{{button.delete | translate}} </span> </a></li>\\r\\n\\r\\n                                </ul>\\r\\n                            </div>\\r\\n                        </li>\\r\\n                    </ul>\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-6\\\" *ngIf=\\\"item_detail.name && selected_specification_group_id==''\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\">\\r\\n                    <h5>{{item_detail.name}}</h5>\\r\\n                    <span class=\\\"fa fa-check pull-right\\\" (click)=\\\"updateItem()\\\"></span>\\r\\n                </div>\\r\\n                <div class=\\\"ibox-content scrollbar\\\" style=\\\"height: calc(100vh - 163px);overflow: auto;\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-md-12\\\">\\r\\n                            <label>{{title.note_for_image | translate}}: </label><span>{{title.image_note1 | translate}} {{image_setting.image_min_width}}x{{image_setting.image_min_height}} {{title.image_note2 | translate}} {{image_setting.image_max_width}}x{{image_setting.image_max_height}}),\\r\\n                            {{title.image_note3 | translate}} <label>{{image_setting.image_ratio}}</label> {{title.image_note4 | translate}}</span> <label *ngFor=\\\"let i of image_setting.image_type; let last=last;\\\"> {{(i.split('/'))[1]}}<label [hidden]=\\\"last\\\">, </label> </label>\\r\\n                            <span>{{title.image_note5 | translate}}</span>\\r\\n                        </div>\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <div class=\\\"scrollbar\\\" id=\\\"style-3\\\" style=\\\"background-color: #fff;width: 100%;height:112px;text-align: center;\\\">\\r\\n                                <div style=\\\" display: inline-table;\\\" *ngIf=\\\"(item_detail.image_url.length+new_image_array.length) <5\\\">\\r\\n                                    <span class=\\\"btn-file\\\"><img src=\\\"web_images/camera_img.png\\\" style=\\\"border-radius: 20%; width:80px; height: 80px; margin-right: 15px;\\\">\\r\\n                                    <input type=\\\"file\\\" #InputVar accept=\\\"image/*\\\" (change)=\\\"image_update($event);\\\" name=\\\"image\\\" style=\\\"margin-top: -12px;padding: 13px;\\\"></span>\\r\\n                                </div>\\r\\n\\r\\n                                <div *ngFor=\\\"let image of new_image_array; let index=index;\\\" style=\\\" display: inline-table;\\\">\\r\\n                                    <img [src]=\\\"image.base64_image\\\" style=\\\"border-radius: 20%; width:80px; height: 80px; margin-right: 15px;\\\">\\r\\n                                    <div style=\\\"margin-top: -11px;margin-right: -58px;\\\">\\r\\n                                        <i aria-hidden=\\\"true\\\" (click)=\\\"remove_new_image(index)\\\" class=\\\"fa fa-times-circle\\\" style=\\\"font-size: 25px;cursor: pointer;color:#bc2029;\\\"></i>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div *ngFor=\\\"let image of item_detail.image_url; let index=index;\\\" style=\\\" display: inline-table;\\\">\\r\\n                                    <img [src]=\\\"helper.get_image(image)\\\" style=\\\"border-radius: 20%; width:80px; height: 80px; margin-right: 15px;\\\">\\r\\n                                    <div style=\\\"margin-top: -11px;margin-right: -58px;\\\">\\r\\n                                        <i aria-hidden=\\\"true\\\" (click)=\\\"delete_item_image(image , index)\\\" class=\\\"fa fa-times-circle\\\" style=\\\"font-size: 25px;cursor: pointer;color:#bc2029;\\\"></i>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-md-6 col-sm-6 col-xs-6\\\">\\r\\n                            <label>{{helper.title.item_name | translate}}</label>\\r\\n                            <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"item_detail.name\\\" #name=\\\"ngModel\\\"  name=\\\"name\\\"  required />\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n                            <label>{{helper.title.item_price | translate}}</label>\\r\\n                            <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"item_detail.price\\\" #price=\\\"ngModel\\\"  name=\\\"price\\\"  required />\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n                            <label>{{helper.title.item_ref_code | translate}}</label>\\r\\n                            <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"item_detail.ref_code\\\" #ref_code=\\\"ngModel\\\"  name=\\\"ref_code\\\"  required />\\r\\n                        </div>\\r\\n                        <label *ngIf=item_already_exist >{{helper.message.item_already_exist | translate}}</label>\\r\\n                    </div>\\r\\n                    <div class=\\\"row\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                        <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\">\\r\\n                            <label>{{helper.title.details | translate}}</label>\\r\\n                            <textarea style=\\\"max-width: 100%; max-height: 80px;\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"item_detail.details\\\" #details=\\\"ngModel\\\"  name=\\\"details\\\" required ></textarea>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"row\\\" style=\\\"margin-top: 20px;\\\">\\r\\n                        <div class=\\\"col-md-6 col-sm-6 col-xs-6\\\">\\r\\n                            <label class=\\\"col-md-8 no_padding\\\">{{helper.title.is_visible_in_store | translate}}</label>\\r\\n                            <ui-switch [(ngModel)]=\\\"item_detail.is_visible_in_store\\\" #is_visible_in_store=\\\"ngModel\\\" name=\\\"is_visible_in_store\\\"></ui-switch>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-6 col-sm-6 col-xs-6\\\">\\r\\n                            <label class=\\\"col-md-8 no_padding\\\">{{helper.title.is_item_in_stock | translate}}</label>\\r\\n                            <ui-switch [(ngModel)]=\\\"item_detail.is_item_in_stock\\\" #is_item_in_stock=\\\"ngModel\\\" name=\\\"is_item_in_stock\\\"></ui-switch>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"row\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                        <div class=\\\"col-md-12\\\">\\r\\n                            <label>Add Modifier</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-6\\\">\\r\\n                            <select class=\\\"chosen-select\\\" [(ngModel)]=\\\"selected_spec_group_for_item\\\" name=\\\"\\\"selected_spec_group_for_item>\\r\\n                                <option value=\\\"\\\" hidden>Select Modifier</option>\\r\\n                                <option *ngFor=\\\"let sp_gp of item_specification_group_list;\\\" value=\\\"{{sp_gp._id}}\\\">{{sp_gp.name}}</option>\\r\\n                            </select>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-6\\\">\\r\\n                            <span class=\\\"fa fa-plus-circle\\\" style=\\\"font-size: 25px;\\\" (click)=\\\"open_specification_modal()\\\"></span>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div *ngIf=\\\"item_detail.specifications.length>0\\\">\\r\\n                        <ul class=\\\"sortable-list connectList agile-list\\\">\\r\\n                            <li style=\\\"padding-right: 0; padding-left: 0;\\\" class=\\\"product_li_sp\\\" *ngFor=\\\"let specification of item_detail.specifications; let specification_index=index;\\\">\\r\\n                                <span class=\\\"fa fa-angle-right product_arrow\\\" *ngIf=\\\"selected_item_specification!=specification._id\\\" (click)=\\\"selected_item_specification=specification._id;\\\"></span>\\r\\n                                <span class=\\\"fa fa-angle-down product_arrow\\\" *ngIf=\\\"selected_item_specification==specification._id\\\" (click)=\\\"selected_item_specification=''\\\"></span>\\r\\n                                <span>{{specification.name}}</span>\\r\\n                                <span class=\\\"fa fa-close pull-right\\\" style=\\\"padding-right: 10px;\\\" (click)=\\\"delete_item_specification(specification_index)\\\"></span>\\r\\n                                <span class=\\\"fa fa-pencil pull-right\\\" style=\\\"padding-right: 10px;\\\" (click)=\\\"edit_item_specification(specification, specification_index)\\\"></span>\\r\\n                                <ul class=\\\"sortable-list connectList agile-list\\\" style=\\\"padding-bottom: 0;\\\" *ngIf=\\\"selected_item_specification==specification._id\\\">\\r\\n                                    <li class=\\\"product_li_sp\\\" style=\\\"background: #F8F8F9 !important;border: 0;\\\" *ngFor=\\\"let list of specification.list; let list_index=index;\\\">\\r\\n                                        <div class=\\\"row\\\">\\r\\n                                            <div class=\\\"col-md-6\\\">\\r\\n                                                <span>{{list.name}}</span>\\r\\n                                            </div>\\r\\n                                            <div class=\\\"col-md-6\\\">\\r\\n                                                <span>{{list.price}}</span>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                    </li>\\r\\n                                </ul>\\r\\n                            </li>\\r\\n                        </ul>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xs animated fadeInDownBig\\\" #edit_product_modal>\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n        <h5>Edit Category</h5>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"form-group\\\">\\r\\n                <input type=\\\"text\\\" class=\\\"form-control\\\" name=\\\"name\\\" [(ngModel)]=\\\"product_data.name\\\" #name=\\\"ngModel\\\" />\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n        <div style=\\\"text-align: center\\\">\\r\\n            <button type=\\\"button\\\" (click)=\\\"updateProduct(product_data, product_data.is_visible_in_store)\\\" class=\\\"btn btn-primary\\\">{{button.update | translate}}</button>\\r\\n        </div>\\r\\n    </modal-footer>\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xs animated fadeInDownBig\\\" #add_specification_modal>\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n        <h5>{{helper.heading_title.add_modifier_group | translate}}</h5>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"form-group\\\">\\r\\n                <input type=\\\"text\\\" class=\\\"form-control\\\" placeholder=\\\"{{helper.title.enter_modifier_group_name | translate}}\\\" name=\\\"specification_group_name\\\" [(ngModel)]=\\\"specification_group_name\\\" />\\r\\n            </div>\\r\\n            <div class=\\\"form-group\\\">\\r\\n                <input type=\\\"text\\\" class=\\\"form-control\\\" placeholder=\\\"{{helper.title.enter_modifier_group_ref_code | translate}}\\\" name=\\\"specification_group_ref_code\\\" [(ngModel)]=\\\"specification_group_ref_code\\\" />\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n        <div style=\\\"text-align: center\\\">\\r\\n            <button type=\\\"button\\\" (click)=\\\"add_specification_group()\\\" class=\\\"btn btn-primary\\\">{{button.update | translate}}</button>\\r\\n        </div>\\r\\n    </modal-footer>\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl animated fadeInDownBig\\\" #image_crop_modal>\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n        <img-cropper #cropper [image]=\\\"data\\\" [settings]=\\\"cropperSettings\\\"></img-cropper><br>\\r\\n        {{cropperSettings.croppedWidth}}\\r\\n        {{cropperSettings.croppedHeight}}\\r\\n        <div class=\\\"col-lg-12 text_center\\\">\\r\\n            <span style=\\\"color: red;\\\">{{image_error | translate}}</span>\\r\\n        </div>\\r\\n\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n        <div style=\\\"text-align: center\\\">\\r\\n            <button type=\\\"button\\\" (click)=\\\"crop($event)\\\" class=\\\"btn btn-primary\\\">{{button.done | translate}}</button>\\r\\n        </div>\\r\\n    </modal-footer>\\r\\n</modal>\\r\\n\\r\\n\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl animated fadeInDownBig\\\" #item_spec_modal>\\r\\n    <form #modalForm=\\\"ngForm\\\" (ngSubmit)=\\\"addiItemSpecification(modalForm.value)\\\">\\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <h4 class=\\\"modal-title\\\">{{heading_title.add_item_specification | translate}}</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <input type=\\\"hidden\\\" [(ngModel)]=\\\"index\\\" name=\\\"index\\\" >\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-md-4 col-sm-4 col-xs-8\\\">\\r\\n                            <div class=\\\"form-group\\\" >\\r\\n                                <label style=\\\"font-weight: normal;\\\">{{title.item_specification_name | translate}}</label>\\r\\n                                <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"item_detail.item_specification_name\\\" #item_specification_name=\\\"ngModel\\\" name=\\\"item_specification_name\\\" required>\\r\\n                                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"item_detail.specification_group_id\\\" #specification_group_id=\\\"ngModel\\\" name=\\\"specification_group_id\\\">\\r\\n                            </div>\\r\\n\\r\\n                        </div>\\r\\n                    \\r\\n                        <div class=\\\"col-md-8 col-sm-8 col-xs-12\\\">\\r\\n                    \\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-md-12 col-sm-12 col-xs-4\\\" style=\\\"font-weight: normal;\\\">{{title.select_type | translate}}</label>\\r\\n                                    <input type=\\\"hidden\\\" [(ngModel)]=\\\"item_detail.type\\\" #type=\\\"ngModel\\\" name=\\\"type\\\" >\\r\\n                                    <div class=\\\"col-md-6 col-sm-6 col-xs-4 form-group\\\">\\r\\n                                        <label><input class=\\\"iradio iradio1\\\" type=\\\"radio\\\" name=\\\"select_type\\\" value=\\\"1\\\" checked/><span style=\\\"margin-left: 10px;\\\" >{{title.type_single | translate}}</span></label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-6 col-sm-6 col-xs-4 form-group\\\">\\r\\n                                        <label><input class=\\\"iradio iradio2\\\" type=\\\"radio\\\" name=\\\"select_type\\\" value=\\\"2\\\"/><span style=\\\"margin-left: 10px;\\\">{{title.type_multiple | translate}}</span></label>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                            <label class=\\\"col-md-6 col-sm-6 col-xs-6\\\" style=\\\"font-weight: normal;\\\">{{title.is_required | translate}}</label>\\r\\n                            <ui-switch class=\\\"col-md-6 col-sm-6 col-xs-6\\\" [(ngModel)]=\\\"item_detail.is_required\\\" #is_required=\\\"ngModel\\\" name=\\\"is_required\\\"></ui-switch>\\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\" *ngIf=\\\"item_detail.type==2\\\">\\r\\n                            <label class=\\\"col-md-9 col-sm-9 col-xs-9\\\" style=\\\"font-weight: normal;\\\">{{title.is_option_limit | translate}}</label>\\r\\n                            <ui-switch class=\\\"col-md-3 col-sm-3 col-xs-3\\\" [(ngModel)]=\\\"item_detail.is_option_limit\\\" #is_option_limit=\\\"ngModel\\\" name=\\\"is_option_limit\\\"></ui-switch>\\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\" *ngIf=\\\"item_detail.type==2 && item_detail.is_option_limit\\\">\\r\\n                            <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"item_detail.option_limit_number\\\" #option_limit_number=\\\"ngModel\\\" name=\\\"option_limit_number\\\" required>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                    <div class=\\\"form-group\\\">\\r\\n                        <div class=\\\"table-responsive\\\">\\r\\n                            <table class=\\\"table\\\">\\r\\n                                <tr>\\r\\n                                    <td style=\\\"width: 40%\\\">{{title.add_specification | translate}}</td>\\r\\n                                    <td style=\\\"width: 120px;\\\">{{title.price | translate}}</td>\\r\\n                                    <td style=\\\"width: 30%\\\">{{title.default_select | translate}}</td>\\r\\n                                </tr>\\r\\n                            </table>\\r\\n                            <div id=\\\"spec_model\\\">\\r\\n                                <table class=\\\"table\\\">\\r\\n                                    <tr *ngFor=\\\"let i of product_specification_list;  let index=index; \\\">\\r\\n                                        <td style=\\\"width: 5%\\\"><label><input type=\\\"checkbox\\\" class=\\\"icheck\\\" value=\\\"{{i._id}}\\\"/></label></td>\\r\\n                                        <td style=\\\"width: 35%\\\"><label><span style=\\\"margin-left: 10px;\\\">{{i.name}}</span></label></td>\\r\\n\\r\\n                                        <td style=\\\"width: 120px;\\\"><div>\\r\\n                                            <input type=\\\"text\\\" class=\\\"form-control\\\" [disabled]=\\\"checked_array[index]!=true\\\" (keypress)=\\\"helper.number_validation($event)\\\" [(ngModel)]=\\\"i.price\\\" name=\\\"{{index}}\\\"></div>\\r\\n                                        </td>\\r\\n                                        <td style=\\\"width: 30%\\\"><ui-switch (change)=\\\"onChange($event, i._id)\\\" [(ngModel)]=\\\"i.is_default_selected\\\" #is_default_selected=\\\"ngModel\\\" [disabled]=\\\"checked_array[index]!=true\\\" name=\\\"is_default_selected{{i._id}}\\\"></ui-switch></td>\\r\\n\\r\\n                                    </tr>\\r\\n                                </table>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div *ngIf=\\\"spec_list_error==1\\\">\\r\\n                            <label class=\\\"error\\\" style=\\\"font-weight: normal;\\\">{{title.error_atleast_one_specification | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{spec_button | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl animated fadeInDownBig\\\" #import_data_modal>\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n        <h4 class=\\\"modal-title\\\">{{heading_title.import_menu_file | translate}}</h4>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n        <div class=\\\"row\\\">\\r\\n\\r\\n            <div class=\\\"form-group col-md-12\\\">\\r\\n                <label class=\\\"col-sm-4 control-label\\\">Select File  (xlsx, xls, csv):</label>\\r\\n                <div class=\\\"col-sm-8\\\">\\r\\n                    <div class=\\\"fileinput fileinput-new input-group\\\" data-provides=\\\"fileinput\\\">\\r\\n                        <div class=\\\"form-control\\\" data-trigger=\\\"fileinput\\\" style=\\\"overflow-x: hidden;\\\"><i class=\\\"glyphicon glyphicon-file fileinput-exists\\\"></i> <span class=\\\"fileinput-filename\\\"></span></div>\\r\\n                        <span class=\\\"input-group-addon btn btn-default btn-file\\\"><span class=\\\"fileinput-new\\\">{{helper.button.select_file | translate}}</span><span class=\\\"fileinput-exists\\\">{{helper.button.change | translate}}</span>\\r\\n                        <input type=\\\"file\\\" accept=\\\".xlsx, .xls, .csv\\\" (change)=\\\"upload_excel($event);\\\"   name=\\\"logo_image\\\" placeholder=\\\"Select Logo Image\\\"></span>\\r\\n                    </div>\\r\\n                    <div style=\\\"color: red;\\\">\\r\\n                        Attention, le CSV importé remplace le menu actuel\\r\\n                    </div>\\r\\n                    <div style=\\\"color: red;\\\" [hidden]=\\\"!import_file_error\\\">Please upload valid file</div>\\r\\n\\r\\n                </div>\\r\\n                <div class=\\\"col-sm-3\\\">\\r\\n\\r\\n\\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n            <div class=\\\"form-group col-md-12 text-center\\\">\\r\\n                <button type=\\\"button\\\" class=\\\"btn btn-primary\\\">\\r\\n                <a style=\\\"color: #fff !important;\\\"\\r\\n                        href=\\\"/web_images/item_demo.xlsx\\\"\\r\\n                        target=\\\"_blank\\\">{{helper.button.download_demo_file | translate}}</a></button>\\r\\n                <button type=\\\"submit\\\" [disabled]=\\\"import_file_error\\\" (click)=\\\"upload_excel_data()\\\" id=\\\"submit\\\" name=\\\"submit\\\"  class=\\\"btn btn-primary\\\">{{helper.button.submit | translate}}</button>\\r\\n            </div>\\r\\n        </div>\\r\\n    </modal-body>\\r\\n</modal>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/store_products/products.component.html\n// module id = 1636\n// module chunks = 0","module.exports = \"<style type=\\\"text/css\\\">\\r\\n    .scrollbar_for_history\\r\\n    {\\r\\n        height: 100%;\\r\\n        background: #fff;\\r\\n        overflow-y: auto;\\r\\n    }\\r\\n\\r\\n    .scrollbar::-webkit-scrollbar-track\\r\\n    {\\r\\n        -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);\\r\\n        background-color: #fff;\\r\\n    }\\r\\n\\r\\n    .scrollbar::-webkit-scrollbar\\r\\n    {\\r\\n        width: 3px;\\r\\n        background-color: #222222;\\r\\n    }\\r\\n\\r\\n    .scrollbar::-webkit-scrollbar-thumb\\r\\n    {\\r\\n        background-color: #000000;\\r\\n    }\\r\\n\\r\\n</style>\\r\\n<footer [myLoading]=\\\"myLoading\\\" ></footer> \\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\" style=\\\"width: 100%;\\\">\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"partner_report()\\\" class=\\\"btn export_excel_btn pull-right\\\" value=\\\"{{button.active_partner_report}}\\\" >\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"inactive_partner_report()\\\" class=\\\"btn export_excel_btn pull-right\\\" value=\\\"{{button.inactive_partner_report}}\\\" >\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n    </div>\\r\\n\\r\\n</div>\\r\\n<div class=\\\"wrapper wrapper-content content_top_bar_view1 animated fadeInRight \\\">\\r\\n\\r\\n    <div class=\\\"ibox\\\" *ngIf=\\\"transaction_history_list.length==0\\\">\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n            <div class=\\\"lable_center\\\" >\\r\\n                <label>No Records</label>\\r\\n            </div>\\r\\n        </div>  \\r\\n    </div>\\r\\n    <div class=\\\"ibox\\\" *ngIf=\\\"transaction_history_list.length>0\\\">\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n    </div>\\r\\n\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/store_report/store_report.component.html\n// module id = 1637\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\"></footer>\\r\\n<form\\r\\n  #settingUpdateForm=\\\"ngForm\\\"\\r\\n  (ngSubmit)=\\\"UpdateSetting(settingUpdateForm.value)\\\"\\r\\n>\\r\\n  <input\\r\\n    type=\\\"hidden\\\"\\r\\n    class=\\\"form-control\\\"\\r\\n    [(ngModel)]=\\\"store_setting.store_id\\\"\\r\\n    #store_id=\\\"ngModel\\\"\\r\\n    name=\\\"store_id\\\"\\r\\n  />\\r\\n  <input\\r\\n    type=\\\"hidden\\\"\\r\\n    class=\\\"form-control\\\"\\r\\n    [(ngModel)]=\\\"store_setting.server_token\\\"\\r\\n    #server_token=\\\"ngModel\\\"\\r\\n    name=\\\"server_token\\\"\\r\\n  />\\r\\n  <input\\r\\n    type=\\\"hidden\\\"\\r\\n    class=\\\"form-control\\\"\\r\\n    [(ngModel)]=\\\"store_setting.store_time\\\"\\r\\n    #store_time=\\\"ngModel\\\"\\r\\n    name=\\\"store_time\\\"\\r\\n  />\\r\\n\\r\\n  <div class=\\\"wrapper wrapper-content animated fadeInRight content_top_bar\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n      <div class=\\\"col-lg-4 col-sm-12\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n          <div\\r\\n            class=\\\"ibox-title\\\"\\r\\n            style=\\\"padding: 0; min-height: 35px !important\\\"\\r\\n          >\\r\\n            <label\\r\\n              style=\\\"margin-left: 15px; margin-top: 9px\\\"\\r\\n              class=\\\"control-label\\\"\\r\\n              >{{ heading_title.order_price_settings | translate }}</label\\r\\n            >\\r\\n            <div class=\\\"pull-right\\\">\\r\\n              <button\\r\\n                type=\\\"submit\\\"\\r\\n                id=\\\"submit\\\"\\r\\n                name=\\\"submit\\\"\\r\\n                style=\\\"background-color: #e5e5e5; border: 0; margin-top: 5px\\\"\\r\\n              >\\r\\n                <span class=\\\"fa fa-check\\\"></span>\\r\\n              </button>\\r\\n              <!--<input type=\\\"submit\\\" id=\\\"submit\\\" name=\\\"submit\\\" style=\\\"border-radius: 0;\\\" class=\\\"btn btn-primary\\\" value=\\\"{{button.update | translate}}\\\" >-->\\r\\n            </div>\\r\\n          </div>\\r\\n          <div class=\\\"ibox-content order_price\\\">\\r\\n            <div class=\\\"row\\\">\\r\\n              <div class=\\\"form-group\\\">\\r\\n                <label class=\\\"col-lg-6 control-label\\\">{{\\r\\n                  title.item_tax | translate\\r\\n                }}</label>\\r\\n                <div class=\\\"col-lg-6 form-group\\\">\\r\\n                  <input\\r\\n                    type=\\\"text\\\"\\r\\n                    class=\\\"form-control\\\"\\r\\n                    [(ngModel)]=\\\"store_setting.item_tax\\\"\\r\\n                    #item_tax=\\\"ngModel\\\"\\r\\n                    (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                    name=\\\"item_tax\\\"\\r\\n                    required\\r\\n                  />\\r\\n                  <div\\r\\n                    *ngIf=\\\"\\r\\n                      item_tax.errors && (item_tax.dirty || item_tax.touched)\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <div\\r\\n                      style=\\\"color: red\\\"\\r\\n                      [hidden]=\\\"!item_tax.errors.required\\\"\\r\\n                    >\\r\\n                      {{ validation_message.item_tax_required | translate }}\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n              <div class=\\\"form-group\\\">\\r\\n                <label class=\\\"col-lg-6 control-label\\\">{{\\r\\n                  title.min_order_price | translate\\r\\n                }}</label>\\r\\n                <div class=\\\"col-lg-6 form-group\\\">\\r\\n                  <input\\r\\n                    type=\\\"text\\\"\\r\\n                    class=\\\"form-control\\\"\\r\\n                    [(ngModel)]=\\\"store_setting.min_order_price\\\"\\r\\n                    #min_order_price\\r\\n                    (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                    name=\\\"min_order_price\\\"\\r\\n                    required\\r\\n                  />\\r\\n                  <div\\r\\n                    *ngIf=\\\"\\r\\n                      min_order_price.errors &&\\r\\n                      (min_order_price.dirty || min_order_price.touched)\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <div\\r\\n                      style=\\\"color: red\\\"\\r\\n                      [hidden]=\\\"!min_order_price.errors.required\\\"\\r\\n                    >\\r\\n                      {{\\r\\n                        validation_message.min_order_price_required | translate\\r\\n                      }}\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n              <div class=\\\"form-group\\\">\\r\\n                <label class=\\\"col-lg-6 control-label\\\">{{\\r\\n                  title.max_item_quantity_add_by_user | translate\\r\\n                }}</label>\\r\\n                <div class=\\\"col-lg-6 form-group\\\">\\r\\n                  <input\\r\\n                    type=\\\"text\\\"\\r\\n                    class=\\\"form-control\\\"\\r\\n                    [(ngModel)]=\\\"store_setting.max_item_quantity_add_by_user\\\"\\r\\n                    #max_item_quantity_add_by_user\\r\\n                    (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                    name=\\\"max_item_quantity_add_by_user\\\"\\r\\n                    required\\r\\n                  />\\r\\n                  <div\\r\\n                    *ngIf=\\\"\\r\\n                      max_item_quantity_add_by_user.errors &&\\r\\n                      (max_item_quantity_add_by_user.dirty ||\\r\\n                        max_item_quantity_add_by_user.touched)\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <div\\r\\n                      style=\\\"color: red\\\"\\r\\n                      [hidden]=\\\"!max_item_quantity_add_by_user.errors.required\\\"\\r\\n                    >\\r\\n                      {{\\r\\n                        validation_message.max_item_quantity_add_by_user_required\\r\\n                          | translate\\r\\n                      }}\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n              <div class=\\\"form-group\\\">\\r\\n                <label class=\\\"col-md-9 col-sm-9 col-xs-9 control-label\\\">{{\\r\\n                  title.is_ask_estimated_time_for_ready_order | translate\\r\\n                }}</label>\\r\\n                <div class=\\\"col-md-3 col-sm-3 col-xs-3 form-group\\\">\\r\\n                  <ui-switch\\r\\n                    [(ngModel)]=\\\"\\r\\n                      store_setting.is_ask_estimated_time_for_ready_order\\r\\n                    \\\"\\r\\n                    #is_ask_estimated_time_for_ready_order=\\\"ngModel\\\"\\r\\n                    name=\\\"is_ask_estimated_time_for_ready_order\\\"\\r\\n                  ></ui-switch>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n\\r\\n      <div class=\\\"col-lg-4 col-sm-12\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n          <div\\r\\n            class=\\\"ibox-title\\\"\\r\\n            style=\\\"padding: 0; min-height: 35px !important\\\"\\r\\n          >\\r\\n            <label\\r\\n              style=\\\"margin-left: 15px; margin-top: 9px\\\"\\r\\n              class=\\\"control-label\\\"\\r\\n              >{{\\r\\n                heading_title.order_cancellation_settings | translate\\r\\n              }}</label\\r\\n            >\\r\\n          </div>\\r\\n          <div class=\\\"ibox-content cancellation_setting\\\">\\r\\n            <div class=\\\"row\\\">\\r\\n              <div class=\\\"form-group\\\">\\r\\n                <label class=\\\"col-md-9 col-sm-9 col-xs-9 control-label\\\">{{\\r\\n                  title.is_order_cancellation_charge_apply | translate\\r\\n                }}</label>\\r\\n                <div class=\\\"col-md-3 col-sm-3 col-xs-3 form-group\\\">\\r\\n                  <ui-switch\\r\\n                    [(ngModel)]=\\\"\\r\\n                      store_setting.is_order_cancellation_charge_apply\\r\\n                    \\\"\\r\\n                    (change)=\\\"change_cancellation_apply($event)\\\"\\r\\n                    #is_order_cancellation_charge_apply=\\\"ngModel\\\"\\r\\n                    name=\\\"is_order_cancellation_charge_apply\\\"\\r\\n                  ></ui-switch>\\r\\n                </div>\\r\\n              </div>\\r\\n              <div\\r\\n                *ngIf=\\\"store_setting.is_order_cancellation_charge_apply\\\"\\r\\n                class=\\\"form-group\\\"\\r\\n              >\\r\\n                <label class=\\\"col-lg-6 control-label\\\">{{\\r\\n                  title.order_cancellation_charge_type | translate\\r\\n                }}</label>\\r\\n                <div class=\\\"col-lg-6 form-group\\\">\\r\\n                  <select\\r\\n                    chosen\\r\\n                    class=\\\"chosen-select\\\"\\r\\n                    id=\\\"order_cancellation_charge_type\\\"\\r\\n                    [(ngModel)]=\\\"store_setting.order_cancellation_charge_type\\\"\\r\\n                    #order_cancellation_charge_type\\r\\n                    id=\\\"order_cancellation_charge_type\\\"\\r\\n                    name=\\\"order_cancellation_charge_type\\\"\\r\\n                  >\\r\\n                    <option\\r\\n                      value=\\\"{{\\r\\n                        helper.ORDER_CANCELLATION_CHARGE_TYPE.PERCENTAGE\\r\\n                      }}\\\"\\r\\n                    >\\r\\n                      {{ title.percentage | translate }}\\r\\n                    </option>\\r\\n                    <option\\r\\n                      value=\\\"{{\\r\\n                        helper.ORDER_CANCELLATION_CHARGE_TYPE.ABSOLUTE\\r\\n                      }}\\\"\\r\\n                    >\\r\\n                      {{ title.absolute | translate }}\\r\\n                    </option>\\r\\n                  </select>\\r\\n                </div>\\r\\n              </div>\\r\\n              <div\\r\\n                *ngIf=\\\"store_setting.is_order_cancellation_charge_apply\\\"\\r\\n                class=\\\"form-group\\\"\\r\\n              >\\r\\n                <label class=\\\"col-lg-6 control-label\\\">{{\\r\\n                  title.order_cancellation_charge_for_above_order_price\\r\\n                    | translate\\r\\n                }}</label>\\r\\n                <div class=\\\"col-lg-6 form-group\\\">\\r\\n                  <input\\r\\n                    type=\\\"text\\\"\\r\\n                    class=\\\"form-control\\\"\\r\\n                    [(ngModel)]=\\\"\\r\\n                      store_setting.order_cancellation_charge_for_above_order_price\\r\\n                    \\\"\\r\\n                    #order_cancellation_charge_for_above_order_price\\r\\n                    (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                    name=\\\"order_cancellation_charge_for_above_order_price\\\"\\r\\n                    required\\r\\n                  />\\r\\n                  <div\\r\\n                    *ngIf=\\\"\\r\\n                      order_cancellation_charge_for_above_order_price.errors &&\\r\\n                      (order_cancellation_charge_for_above_order_price.dirty ||\\r\\n                        order_cancellation_charge_for_above_order_price.touched)\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <div\\r\\n                      style=\\\"color: red\\\"\\r\\n                      [hidden]=\\\"\\r\\n                        !order_cancellation_charge_for_above_order_price.errors\\r\\n                          .required\\r\\n                      \\\"\\r\\n                    >\\r\\n                      {{\\r\\n                        validation_message.order_cancellation_charge_for_above_order_price_required\\r\\n                          | translate\\r\\n                      }}\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n              <div\\r\\n                *ngIf=\\\"store_setting.is_order_cancellation_charge_apply\\\"\\r\\n                class=\\\"form-group\\\"\\r\\n              >\\r\\n                <label class=\\\"col-lg-6 control-label\\\">{{\\r\\n                  title.order_cancellation_charge_value | translate\\r\\n                }}</label>\\r\\n                <div class=\\\"col-lg-6 form-group\\\">\\r\\n                  <input\\r\\n                    type=\\\"text\\\"\\r\\n                    class=\\\"form-control\\\"\\r\\n                    [(ngModel)]=\\\"store_setting.order_cancellation_charge_value\\\"\\r\\n                    #order_cancellation_charge_value\\r\\n                    (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                    name=\\\"order_cancellation_charge_value\\\"\\r\\n                    required\\r\\n                  />\\r\\n                  <div\\r\\n                    *ngIf=\\\"\\r\\n                      order_cancellation_charge_value.errors &&\\r\\n                      (order_cancellation_charge_value.dirty ||\\r\\n                        order_cancellation_charge_value.touched)\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <div\\r\\n                      style=\\\"color: red\\\"\\r\\n                      [hidden]=\\\"\\r\\n                        !order_cancellation_charge_value.errors.required\\r\\n                      \\\"\\r\\n                    >\\r\\n                      {{\\r\\n                        validation_message.order_cancellation_charge_value_required\\r\\n                          | translate\\r\\n                      }}\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n\\r\\n      <div class=\\\"col-lg-4 col-sm-12\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n          <div\\r\\n            class=\\\"ibox-title\\\"\\r\\n            style=\\\"padding: 0; min-height: 35px !important\\\"\\r\\n          >\\r\\n            <label\\r\\n              style=\\\"margin-left: 15px; margin-top: 9px\\\"\\r\\n              class=\\\"control-label\\\"\\r\\n              >{{ heading_title.schedule_order_settings | translate }}</label\\r\\n            >\\r\\n          </div>\\r\\n          <div class=\\\"ibox-content cancellation_setting\\\">\\r\\n            <div class=\\\"row\\\">\\r\\n              <div class=\\\"form-group\\\">\\r\\n                <label class=\\\"col-md-9 col-sm-9 col-xs-9 control-label\\\">{{\\r\\n                  title.is_taking_schedule_order | translate\\r\\n                }}</label>\\r\\n                <div class=\\\"col-md-3 col-sm-3 col-xs-3 form-group\\\">\\r\\n                  <ui-switch\\r\\n                    [(ngModel)]=\\\"store_setting.is_taking_schedule_order\\\"\\r\\n                    #is_taking_schedule_order=\\\"ngModel\\\"\\r\\n                    name=\\\"is_taking_schedule_order\\\"\\r\\n                  ></ui-switch>\\r\\n                </div>\\r\\n              </div>\\r\\n              <div\\r\\n                class=\\\"form-group\\\"\\r\\n                *ngIf=\\\"store_setting.is_taking_schedule_order\\\"\\r\\n              >\\r\\n                <label class=\\\"col-lg-6 control-label\\\">{{\\r\\n                  title.schedule_order_create_after_minute | translate\\r\\n                }}</label>\\r\\n                <div class=\\\"col-lg-6 form-group\\\">\\r\\n                  <input\\r\\n                    type=\\\"text\\\"\\r\\n                    class=\\\"form-control\\\"\\r\\n                    [(ngModel)]=\\\"\\r\\n                      store_setting.schedule_order_create_after_minute\\r\\n                    \\\"\\r\\n                    #schedule_order_create_after_minute\\r\\n                    (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                    name=\\\"schedule_order_create_after_minute\\\"\\r\\n                    required\\r\\n                  />\\r\\n                  <div\\r\\n                    *ngIf=\\\"\\r\\n                      schedule_order_create_after_minute.errors &&\\r\\n                      (schedule_order_create_after_minute.dirty ||\\r\\n                        schedule_order_create_after_minute.touched)\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <div\\r\\n                      style=\\\"color: red\\\"\\r\\n                      [hidden]=\\\"\\r\\n                        !schedule_order_create_after_minute.errors.required\\r\\n                      \\\"\\r\\n                    >\\r\\n                      {{\\r\\n                        validation_message.schedule_order_create_after_minute_required\\r\\n                          | translate\\r\\n                      }}\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n              <div\\r\\n                class=\\\"form-group\\\"\\r\\n                *ngIf=\\\"store_setting.is_taking_schedule_order\\\"\\r\\n              >\\r\\n                <label class=\\\"col-lg-6 control-label\\\">{{\\r\\n                  title.inform_schedule_order_before_min | translate\\r\\n                }}</label>\\r\\n                <div class=\\\"col-lg-6 form-group\\\">\\r\\n                  <input\\r\\n                    type=\\\"text\\\"\\r\\n                    class=\\\"form-control\\\"\\r\\n                    [(ngModel)]=\\\"store_setting.inform_schedule_order_before_min\\\"\\r\\n                    #inform_schedule_order_before_min\\r\\n                    (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                    name=\\\"inform_schedule_order_before_min\\\"\\r\\n                    required\\r\\n                  />\\r\\n                  <div\\r\\n                    *ngIf=\\\"\\r\\n                      inform_schedule_order_before_min.errors &&\\r\\n                      (inform_schedule_order_before_min.dirty ||\\r\\n                        inform_schedule_order_before_min.touched)\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <div\\r\\n                      style=\\\"color: red\\\"\\r\\n                      [hidden]=\\\"\\r\\n                        !inform_schedule_order_before_min.errors.required\\r\\n                      \\\"\\r\\n                    >\\r\\n                      {{\\r\\n                        validation_message.inform_schedule_order_before_min_required\\r\\n                          | translate\\r\\n                      }}\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n      <div class=\\\"col-lg-4 col-sm-12\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n          <div\\r\\n            class=\\\"ibox-title\\\"\\r\\n            style=\\\"padding: 0; min-height: 35px !important\\\"\\r\\n          >\\r\\n            <label\\r\\n              style=\\\"margin-left: 15px; margin-top: 9px\\\"\\r\\n              class=\\\"control-label\\\"\\r\\n              >{{ heading_title.delivery_settings | translate }}</label\\r\\n            >\\r\\n          </div>\\r\\n          <div class=\\\"ibox-content delivery_setting\\\">\\r\\n            <div class=\\\"row\\\">\\r\\n              <div class=\\\"form-group\\\">\\r\\n                <label class=\\\"col-md-9 col-sm-9 col-xs-9 control-label\\\">{{\\r\\n                  title.is_store_pay_delivery_fees | translate\\r\\n                }}</label>\\r\\n                <div class=\\\"col-md-3 col-sm-3 col-xs-3 form-group\\\">\\r\\n                  <ui-switch\\r\\n                    [(ngModel)]=\\\"store_setting.is_store_pay_delivery_fees\\\"\\r\\n                    #is_store_pay_delivery_fees=\\\"ngModel\\\"\\r\\n                    name=\\\"is_store_pay_delivery_fees\\\"\\r\\n                  ></ui-switch>\\r\\n                </div>\\r\\n              </div>\\r\\n              <div\\r\\n                class=\\\"form-group\\\"\\r\\n                *ngIf=\\\"store_setting.is_store_pay_delivery_fees\\\"\\r\\n              >\\r\\n                <label class=\\\"col-lg-6 control-label\\\">{{\\r\\n                  title.free_delivery_for_above_order_price | translate\\r\\n                }}</label>\\r\\n                <div class=\\\"col-lg-6 form-group\\\">\\r\\n                  <input\\r\\n                    type=\\\"text\\\"\\r\\n                    class=\\\"form-control\\\"\\r\\n                    [(ngModel)]=\\\"\\r\\n                      store_setting.free_delivery_for_above_order_price\\r\\n                    \\\"\\r\\n                    #free_delivery_for_above_order_price\\r\\n                    (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                    name=\\\"free_delivery_for_above_order_price\\\"\\r\\n                    required\\r\\n                  />\\r\\n                  <div\\r\\n                    *ngIf=\\\"\\r\\n                      free_delivery_for_above_order_price.errors &&\\r\\n                      (free_delivery_for_above_order_price.dirty ||\\r\\n                        free_delivery_for_above_order_price.touched)\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <div\\r\\n                      style=\\\"color: red\\\"\\r\\n                      [hidden]=\\\"\\r\\n                        !free_delivery_for_above_order_price.errors.required\\r\\n                      \\\"\\r\\n                    >\\r\\n                      {{\\r\\n                        validation_message.free_delivery_for_above_order_price_required\\r\\n                          | translate\\r\\n                      }}\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n              <div\\r\\n                class=\\\"form-group\\\"\\r\\n                *ngIf=\\\"store_setting.is_store_pay_delivery_fees\\\"\\r\\n              >\\r\\n                <label class=\\\"col-lg-6 control-label\\\">{{\\r\\n                  title.free_delivery_within_radius | translate\\r\\n                }}</label>\\r\\n                <div class=\\\"col-lg-6 form-group\\\">\\r\\n                  <input\\r\\n                    type=\\\"text\\\"\\r\\n                    class=\\\"form-control\\\"\\r\\n                    [(ngModel)]=\\\"store_setting.free_delivery_within_radius\\\"\\r\\n                    #free_delivery_within_radius\\r\\n                    (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                    name=\\\"free_delivery_within_radius\\\"\\r\\n                    required\\r\\n                  />\\r\\n                  <div\\r\\n                    *ngIf=\\\"\\r\\n                      free_delivery_within_radius.errors &&\\r\\n                      (free_delivery_within_radius.dirty ||\\r\\n                        free_delivery_within_radius.touched)\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <div\\r\\n                      style=\\\"color: red\\\"\\r\\n                      [hidden]=\\\"!free_delivery_within_radius.errors.required\\\"\\r\\n                    >\\r\\n                      {{\\r\\n                        validation_message.free_delivery_within_radius_required\\r\\n                          | translate\\r\\n                      }}\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n\\r\\n              <div class=\\\"form-group\\\">\\r\\n                <label class=\\\"col-lg-6 control-label\\\">{{\\r\\n                  title.preparation_time_for_pickup | translate\\r\\n                }}</label>\\r\\n                <div class=\\\"col-lg-6 form-group\\\">\\r\\n                  <input\\r\\n                    type=\\\"text\\\"\\r\\n                    class=\\\"form-control\\\"\\r\\n                    [(ngModel)]=\\\"store_setting.preparation_time_for_pickup\\\"\\r\\n                    #preparation_time_for_pickup=\\\"ngModel\\\"\\r\\n                    (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                    name=\\\"preparation_time_for_pickup\\\"\\r\\n                    required\\r\\n                  />\\r\\n                  <div\\r\\n                    *ngIf=\\\"\\r\\n                      preparation_time_for_pickup.errors &&\\r\\n                      (preparation_time_for_pickup.dirty ||\\r\\n                        preparation_time_for_pickup.touched)\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <div\\r\\n                      style=\\\"color: red\\\"\\r\\n                      [hidden]=\\\"!preparation_time_for_pickup.errors.required\\\"\\r\\n                    >\\r\\n                      {{\\r\\n                        validation_message.delivery_time_required | translate\\r\\n                      }}\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n              <div class=\\\"form-group\\\">\\r\\n                <label class=\\\"col-lg-6 control-label\\\">{{\\r\\n                  title.preparation_time_for_delivery | translate\\r\\n                }}</label>\\r\\n                <div class=\\\"col-lg-6 form-group\\\">\\r\\n                  <input\\r\\n                    type=\\\"text\\\"\\r\\n                    class=\\\"form-control\\\"\\r\\n                    [(ngModel)]=\\\"store_setting.preparation_time_for_delivery\\\"\\r\\n                    #preparation_time_for_delivery=\\\"ngModel\\\"\\r\\n                    (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                    name=\\\"preparation_time_for_delivery\\\"\\r\\n                    required\\r\\n                  />\\r\\n                  <div\\r\\n                    *ngIf=\\\"\\r\\n                      preparation_time_for_delivery.errors &&\\r\\n                      (preparation_time_for_delivery.dirty ||\\r\\n                        preparation_time_for_delivery.touched)\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <div\\r\\n                      style=\\\"color: red\\\"\\r\\n                      [hidden]=\\\"!preparation_time_for_delivery.errors.required\\\"\\r\\n                    >\\r\\n                      {{\\r\\n                        validation_message.delivery_time_max_required\\r\\n                          | translate\\r\\n                      }}\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n\\r\\n              <!-- <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-6 control-label\\\">{{title.delivery_time | translate}}</label>\\r\\n                                <div class=\\\"col-lg-6 form-group\\\">\\r\\n                                    <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_setting.delivery_time\\\" #delivery_time=\\\"ngModel\\\" (keypress)=\\\"helper.number_validation($event)\\\" name=\\\"delivery_time\\\" required/>\\r\\n                                    <div *ngIf=\\\"delivery_time.errors && (delivery_time.dirty || delivery_time.touched)\\\">\\r\\n                                        <div style=\\\"color: red;\\\" [hidden]=\\\"!delivery_time.errors.required\\\">{{validation_message.delivery_time_required | translate}}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-6 control-label\\\">{{title.delivery_time_max | translate}}</label>\\r\\n                                <div class=\\\"col-lg-6 form-group\\\">\\r\\n                                    <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_setting.delivery_time_max\\\" #delivery_time_max=\\\"ngModel\\\" (keypress)=\\\"helper.number_validation($event)\\\" name=\\\"delivery_time_max\\\" required/>\\r\\n                                    <div *ngIf=\\\"delivery_time_max.errors && (delivery_time_max.dirty || delivery_time_max.touched)\\\">\\r\\n                                        <div style=\\\"color: red;\\\" [hidden]=\\\"!delivery_time_max.errors.required\\\">{{validation_message.delivery_time_max_required | translate}}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div> -->\\r\\n\\r\\n              <div class=\\\"form-group\\\">\\r\\n                <label class=\\\"col-md-9 col-sm-9 col-xs-9 control-label\\\">{{\\r\\n                  title.is_provide_delivery_anywhere | translate\\r\\n                }}</label>\\r\\n                <div class=\\\"col-md-3 col-sm-3 col-xs-3 form-group\\\">\\r\\n                  <ui-switch\\r\\n                    [(ngModel)]=\\\"store_setting.is_provide_delivery_anywhere\\\"\\r\\n                    #is_provide_delivery_anywhere=\\\"ngModel\\\"\\r\\n                    name=\\\"is_provide_delivery_anywhere\\\"\\r\\n                  ></ui-switch>\\r\\n                </div>\\r\\n              </div>\\r\\n              <div\\r\\n                class=\\\"form-group\\\"\\r\\n                *ngIf=\\\"!store_setting.is_provide_delivery_anywhere\\\"\\r\\n              >\\r\\n                <label class=\\\"col-lg-6 control-label\\\">{{\\r\\n                  title.delivery_radius | translate\\r\\n                }}</label>\\r\\n                <div class=\\\"col-lg-6 form-group\\\">\\r\\n                  <div class=\\\"input-group\\\">\\r\\n                    <input\\r\\n                      type=\\\"text\\\"\\r\\n                      class=\\\"form-control\\\"\\r\\n                      [(ngModel)]=\\\"store_setting.delivery_radius\\\"\\r\\n                      #delivery_radius\\r\\n                      (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                      name=\\\"delivery_radius\\\"\\r\\n                      required\\r\\n                    />\\r\\n                    <span class=\\\"input-group-addon\\\"\\r\\n                      ><span class=\\\"\\\">{{ title.km }}</span></span\\r\\n                    >\\r\\n                  </div>\\r\\n                  <div\\r\\n                    *ngIf=\\\"\\r\\n                      delivery_radius.errors &&\\r\\n                      (delivery_radius.dirty || delivery_radius.touched)\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <div\\r\\n                      style=\\\"color: red\\\"\\r\\n                      [hidden]=\\\"!delivery_radius.errors.required\\\"\\r\\n                    >\\r\\n                      {{\\r\\n                        validation_message.delivery_radius_required | translate\\r\\n                      }}\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n\\r\\n      <div class=\\\"col-lg-4 col-sm-12\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n          <div\\r\\n            class=\\\"ibox-title\\\"\\r\\n            style=\\\"padding: 0; min-height: 35px !important\\\"\\r\\n          >\\r\\n            <label\\r\\n              style=\\\"margin-left: 15px; margin-top: 9px\\\"\\r\\n              class=\\\"control-label\\\"\\r\\n              >{{ heading_title.general_settings | translate }}</label\\r\\n            >\\r\\n          </div>\\r\\n          <div class=\\\"ibox-content general_setting\\\">\\r\\n            <div class=\\\"row\\\">\\r\\n              <div class=\\\"form-group\\\">\\r\\n                <label class=\\\"col-md-9 col-sm-9 col-xs-9 control-label\\\">{{\\r\\n                  title.is_churn_store | translate\\r\\n                }}</label>\\r\\n                <div class=\\\"col-md-3 col-sm-3 col-xs-3 form-group\\\">\\r\\n                  <ui-switch\\r\\n                    [(ngModel)]=\\\"store_setting.is_churn\\\"\\r\\n                    #is_churn=\\\"ngModel\\\"\\r\\n                    name=\\\"is_churn\\\"\\r\\n                    (change)=\\\"churn_change($event)\\\"\\r\\n                  ></ui-switch>\\r\\n                </div>\\r\\n              </div>\\r\\n              <div class=\\\"form-group\\\" *ngIf=\\\"!store_setting.is_churn\\\">\\r\\n                <label class=\\\"col-md-9 col-sm-9 col-xs-9 control-label\\\">{{\\r\\n                  title.is_business_store | translate\\r\\n                }}</label>\\r\\n                <div class=\\\"col-md-3 col-sm-3 col-xs-3 form-group\\\">\\r\\n                  <ui-switch\\r\\n                    [(ngModel)]=\\\"store_setting.is_business\\\"\\r\\n                    #is_business=\\\"ngModel\\\"\\r\\n                    name=\\\"is_business\\\"\\r\\n                  ></ui-switch>\\r\\n                </div>\\r\\n              </div>\\r\\n              <div class=\\\"form-group\\\">\\r\\n                <label class=\\\"col-md-9 col-sm-9 col-xs-9 control-label\\\">{{\\r\\n                  title.is_busy | translate\\r\\n                }}</label>\\r\\n                <div class=\\\"col-md-3 col-sm-3 col-xs-3 form-group\\\">\\r\\n                  <ui-switch\\r\\n                    [(ngModel)]=\\\"store_setting.is_store_busy\\\"\\r\\n                    #is_store_busy=\\\"ngModel\\\"\\r\\n                    name=\\\"is_store_busy\\\"\\r\\n                  ></ui-switch>\\r\\n                </div>\\r\\n              </div>\\r\\n              <div class=\\\"form-group\\\">\\r\\n                <label class=\\\"col-md-9 col-sm-9 col-xs-9 control-label\\\">{{\\r\\n                  title.is_visible | translate\\r\\n                }}</label>\\r\\n                <div class=\\\"col-md-3 col-sm-3 col-xs-3 form-group\\\">\\r\\n                  <ui-switch\\r\\n                    [(ngModel)]=\\\"store_setting.is_visible\\\"\\r\\n                    #is_visible=\\\"ngModel\\\"\\r\\n                    name=\\\"is_visible\\\"\\r\\n                    disabled\\r\\n                  ></ui-switch>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n\\r\\n      <div class=\\\"col-lg-4 col-sm-12\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n          <div\\r\\n            class=\\\"ibox-title\\\"\\r\\n            style=\\\"padding: 0; min-height: 35px !important\\\"\\r\\n          >\\r\\n            <label\\r\\n              style=\\\"margin-left: 15px; margin-top: 9px\\\"\\r\\n              class=\\\"control-label\\\"\\r\\n              >{{ heading_title.store_time | translate }}</label\\r\\n            >\\r\\n            <div class=\\\"pull-right\\\">\\r\\n              <button\\r\\n                *ngIf=\\\"!edit\\\"\\r\\n                type=\\\"button\\\"\\r\\n                (click)=\\\"edit = true\\\"\\r\\n                style=\\\"background-color: #e5e5e5; border: 0; margin-top: 5px\\\"\\r\\n              >\\r\\n                <span class=\\\"fa fa-pencil\\\"></span>\\r\\n              </button>\\r\\n              <button\\r\\n                *ngIf=\\\"edit\\\"\\r\\n                type=\\\"button\\\"\\r\\n                (click)=\\\"updateStoreTime()\\\"\\r\\n                style=\\\"background-color: #e5e5e5; border: 0; margin-top: 5px\\\"\\r\\n              >\\r\\n                <span class=\\\"fa fa-check\\\"></span>\\r\\n              </button>\\r\\n            </div>\\r\\n          </div>\\r\\n          <div class=\\\"ibox-content general_setting scrollbar\\\">\\r\\n            <div class=\\\"row\\\" style=\\\"margin: 0\\\">\\r\\n              <div\\r\\n                class=\\\"col-lg-12\\\"\\r\\n                style=\\\"\\r\\n                  border-bottom: 1px solid;\\r\\n                  padding-left: 0;\\r\\n                  padding-right: 0;\\r\\n                \\\"\\r\\n              >\\r\\n                <div\\r\\n                  class=\\\"wizard\\\"\\r\\n                  style=\\\"\\r\\n                    border-bottom: 1px solid;\\r\\n                    padding-left: 0;\\r\\n                    padding-right: 0;\\r\\n                  \\\"\\r\\n                >\\r\\n                  <div class=\\\"steps clearfix\\\">\\r\\n                    <ul style=\\\"display: table; padding: 0px\\\">\\r\\n                      <li\\r\\n                        (click)=\\\"change_day(0)\\\"\\r\\n                        style=\\\"width: unset !important\\\"\\r\\n                        [style.border-bottom]=\\\"\\r\\n                          curren_selected_day == 0 ? '1px solid #bc202b' : null\\r\\n                        \\\"\\r\\n                        class=\\\"day_li\\\"\\r\\n                      >\\r\\n                        <a\\r\\n                          style=\\\"\\r\\n                            border-bottom-right-radius: 0px;\\r\\n                            border-bottom-left-radius: 0px;\\r\\n                            border: 0px;\\r\\n                          \\\"\\r\\n                          class=\\\"btn-default\\\"\\r\\n                          ><span\\r\\n                            style=\\\"\\r\\n                              margin-left: -5px;\\r\\n                              font-weight: bold;\\r\\n                              display: block;\\r\\n                            \\\"\\r\\n                            [style.color]=\\\"\\r\\n                              curren_selected_day == 0 ? '#bc202b' : null\\r\\n                            \\\"\\r\\n                            class=\\\"nav-label\\\"\\r\\n                            >{{ title.sunday | translate }}</span\\r\\n                          ></a\\r\\n                        >\\r\\n                      </li>\\r\\n                      <li\\r\\n                        (click)=\\\"change_day(1)\\\"\\r\\n                        style=\\\"width: unset !important\\\"\\r\\n                        [style.border-bottom]=\\\"\\r\\n                          curren_selected_day == 1 ? '1px solid #bc202b' : null\\r\\n                        \\\"\\r\\n                        class=\\\"day_li\\\"\\r\\n                      >\\r\\n                        <a\\r\\n                          style=\\\"\\r\\n                            border-bottom-right-radius: 0px;\\r\\n                            border-bottom-left-radius: 0px;\\r\\n                            border: 0px;\\r\\n                          \\\"\\r\\n                          class=\\\"btn-default\\\"\\r\\n                          ><span\\r\\n                            style=\\\"\\r\\n                              margin-left: -5px;\\r\\n                              font-weight: bold;\\r\\n                              display: block;\\r\\n                            \\\"\\r\\n                            [style.color]=\\\"\\r\\n                              curren_selected_day == 1 ? '#bc202b' : null\\r\\n                            \\\"\\r\\n                            class=\\\"nav-label\\\"\\r\\n                            >{{ title.monday | translate }}</span\\r\\n                          ></a\\r\\n                        >\\r\\n                      </li>\\r\\n                      <li\\r\\n                        (click)=\\\"change_day(2)\\\"\\r\\n                        style=\\\"width: unset !important\\\"\\r\\n                        [style.border-bottom]=\\\"\\r\\n                          curren_selected_day == 2 ? '1px solid #bc202b' : null\\r\\n                        \\\"\\r\\n                        class=\\\"day_li\\\"\\r\\n                      >\\r\\n                        <a\\r\\n                          style=\\\"\\r\\n                            border-bottom-right-radius: 0px;\\r\\n                            border-bottom-left-radius: 0px;\\r\\n                            border: 0px;\\r\\n                          \\\"\\r\\n                          class=\\\"btn-default\\\"\\r\\n                          ><span\\r\\n                            style=\\\"\\r\\n                              margin-left: -5px;\\r\\n                              font-weight: bold;\\r\\n                              display: block;\\r\\n                            \\\"\\r\\n                            [style.color]=\\\"\\r\\n                              curren_selected_day == 2 ? '#bc202b' : null\\r\\n                            \\\"\\r\\n                            class=\\\"nav-label\\\"\\r\\n                            >{{ title.tuesday | translate }}</span\\r\\n                          ></a\\r\\n                        >\\r\\n                      </li>\\r\\n                      <li\\r\\n                        (click)=\\\"change_day(3)\\\"\\r\\n                        style=\\\"width: unset !important\\\"\\r\\n                        [style.border-bottom]=\\\"\\r\\n                          curren_selected_day == 3 ? '1px solid #bc202b' : null\\r\\n                        \\\"\\r\\n                        class=\\\"day_li\\\"\\r\\n                      >\\r\\n                        <a\\r\\n                          style=\\\"\\r\\n                            border-bottom-right-radius: 0px;\\r\\n                            border-bottom-left-radius: 0px;\\r\\n                            border: 0px;\\r\\n                          \\\"\\r\\n                          class=\\\"btn-default\\\"\\r\\n                          ><span\\r\\n                            style=\\\"\\r\\n                              margin-left: -5px;\\r\\n                              font-weight: bold;\\r\\n                              display: block;\\r\\n                            \\\"\\r\\n                            [style.color]=\\\"\\r\\n                              curren_selected_day == 3 ? '#bc202b' : null\\r\\n                            \\\"\\r\\n                            class=\\\"nav-label\\\"\\r\\n                            >{{ title.wednesday | translate }}</span\\r\\n                          ></a\\r\\n                        >\\r\\n                      </li>\\r\\n                      <li\\r\\n                        (click)=\\\"change_day(4)\\\"\\r\\n                        style=\\\"width: unset !important\\\"\\r\\n                        [style.border-bottom]=\\\"\\r\\n                          curren_selected_day == 4 ? '1px solid #bc202b' : null\\r\\n                        \\\"\\r\\n                        class=\\\"day_li\\\"\\r\\n                      >\\r\\n                        <a\\r\\n                          style=\\\"\\r\\n                            border-bottom-right-radius: 0px;\\r\\n                            border-bottom-left-radius: 0px;\\r\\n                            border: 0px;\\r\\n                          \\\"\\r\\n                          class=\\\"btn-default\\\"\\r\\n                          ><span\\r\\n                            style=\\\"\\r\\n                              margin-left: -5px;\\r\\n                              font-weight: bold;\\r\\n                              display: block;\\r\\n                            \\\"\\r\\n                            [style.color]=\\\"\\r\\n                              curren_selected_day == 4 ? '#bc202b' : null\\r\\n                            \\\"\\r\\n                            class=\\\"nav-label\\\"\\r\\n                            >{{ title.thursday | translate }}</span\\r\\n                          ></a\\r\\n                        >\\r\\n                      </li>\\r\\n                      <li\\r\\n                        (click)=\\\"change_day(5)\\\"\\r\\n                        style=\\\"width: unset !important\\\"\\r\\n                        [style.border-bottom]=\\\"\\r\\n                          curren_selected_day == 5 ? '1px solid #bc202b' : null\\r\\n                        \\\"\\r\\n                        class=\\\"day_li\\\"\\r\\n                      >\\r\\n                        <a\\r\\n                          style=\\\"\\r\\n                            border-bottom-right-radius: 0px;\\r\\n                            border-bottom-left-radius: 0px;\\r\\n                            border: 0px;\\r\\n                          \\\"\\r\\n                          class=\\\"btn-default\\\"\\r\\n                          ><span\\r\\n                            style=\\\"\\r\\n                              margin-left: -5px;\\r\\n                              font-weight: bold;\\r\\n                              display: block;\\r\\n                            \\\"\\r\\n                            [style.color]=\\\"\\r\\n                              curren_selected_day == 5 ? '#bc202b' : null\\r\\n                            \\\"\\r\\n                            class=\\\"nav-label\\\"\\r\\n                            >{{ title.friday | translate }}</span\\r\\n                          ></a\\r\\n                        >\\r\\n                      </li>\\r\\n                      <li\\r\\n                        (click)=\\\"change_day(6)\\\"\\r\\n                        style=\\\"width: unset !important\\\"\\r\\n                        [style.border-bottom]=\\\"\\r\\n                          curren_selected_day == 6 ? '1px solid #bc202b' : null\\r\\n                        \\\"\\r\\n                        class=\\\"day_li\\\"\\r\\n                      >\\r\\n                        <a\\r\\n                          style=\\\"\\r\\n                            border-bottom-right-radius: 0px;\\r\\n                            border-bottom-left-radius: 0px;\\r\\n                            border: 0px;\\r\\n                          \\\"\\r\\n                          class=\\\"btn-default\\\"\\r\\n                          ><span\\r\\n                            style=\\\"\\r\\n                              margin-left: -5px;\\r\\n                              font-weight: bold;\\r\\n                              display: block;\\r\\n                            \\\"\\r\\n                            [style.color]=\\\"\\r\\n                              curren_selected_day == 6 ? '#bc202b' : null\\r\\n                            \\\"\\r\\n                            class=\\\"nav-label\\\"\\r\\n                            >{{ title.saturday | translate }}</span\\r\\n                          ></a\\r\\n                        >\\r\\n                      </li>\\r\\n                    </ul>\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div class=\\\"row\\\" style=\\\"margin-top: 9px; margin-bottom: 9px\\\">\\r\\n                  <div class=\\\"col-md-6 col-sm-6\\\">\\r\\n                    <label\\r\\n                      class=\\\"col-md-9 col-sm-9 col-xs-9 control-label\\\"\\r\\n                      style=\\\"padding-top: 8px\\\"\\r\\n                      >{{ title.open_full_time | translate }}</label\\r\\n                    >\\r\\n\\r\\n                    <div\\r\\n                      class=\\\"col-md-3 col-sm-3 col-xs-3\\\"\\r\\n                      style=\\\"padding-top: 6px\\\"\\r\\n                    >\\r\\n                      <ui-switch\\r\\n                        (change)=\\\"store_full_time_open($event)\\\"\\r\\n                        [disabled]=\\\"!edit\\\"\\r\\n                        [(ngModel)]=\\\"is_store_open_full_time\\\"\\r\\n                        name=\\\"is_store_open_full_time\\\"\\r\\n                      ></ui-switch>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-md-6 col-sm-6\\\">\\r\\n                    <label\\r\\n                      class=\\\"col-md-9 col-sm-9 col-xs-9 control-label\\\"\\r\\n                      style=\\\"padding-top: 8px\\\"\\r\\n                      >{{ title.open | translate }}</label\\r\\n                    >\\r\\n\\r\\n                    <div\\r\\n                      class=\\\"col-md-3 col-sm-3 col-xs-3\\\"\\r\\n                      style=\\\"padding-top: 6px\\\"\\r\\n                    >\\r\\n                      <ui-switch\\r\\n                        (change)=\\\"store_open($event)\\\"\\r\\n                        [disabled]=\\\"is_store_open_full_time || !edit\\\"\\r\\n                        [(ngModel)]=\\\"is_store_open\\\"\\r\\n                        name=\\\"is_store_open\\\"\\r\\n                      ></ui-switch>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n                <div class=\\\"row\\\" style=\\\"margin-top: 9px; margin-bottom: 9px\\\">\\r\\n                  <div class=\\\"col-md-6\\\">\\r\\n                    <div class=\\\"text-center\\\">\\r\\n                      <button\\r\\n                        type=\\\"button\\\"\\r\\n                        [disabled]=\\\"!edit\\\"\\r\\n                        (click)=\\\"open_copy_store_time_modal()\\\"\\r\\n                        class=\\\"btn add_btn\\\"\\r\\n                      >\\r\\n                        {{ button.copy_store_time | translate }}\\r\\n                      </button>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-md-6\\\">\\r\\n                    <div class=\\\"text-center\\\">\\r\\n                      <button\\r\\n                        type=\\\"button\\\"\\r\\n                        [disabled]=\\\"is_store_open_full_time || !edit\\\"\\r\\n                        (click)=\\\"open_add_time_modal()\\\"\\r\\n                        class=\\\"btn add_btn\\\"\\r\\n                      >\\r\\n                        {{ button.add_store_time | translate\\r\\n                        }}<span\\r\\n                          class=\\\"fa fa-plus pull-right\\\"\\r\\n                          style=\\\"margin-top: 2px\\\"\\r\\n                        ></span>\\r\\n                      </button>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"\\\">\\r\\n              <table class=\\\"table\\\">\\r\\n                <tr>\\r\\n                  <td>{{ title.store_open_time | translate }}</td>\\r\\n                  <td>{{ title.store_close_time | translate }}</td>\\r\\n                  <td>{{ title.action | translate }}</td>\\r\\n                </tr>\\r\\n                <tr\\r\\n                  *ngFor=\\\"let i of selected_store_time_array; let index = index\\\"\\r\\n                >\\r\\n                  <td>{{ i.store_open_time }}</td>\\r\\n                  <td>{{ i.store_close_time }}</td>\\r\\n                  <td>\\r\\n                    <span\\r\\n                      *ngIf=\\\"!is_store_open_full_time && edit\\\"\\r\\n                      (click)=\\\"edit_store_time(i, index)\\\"\\r\\n                      class=\\\"fa fa-pencil\\\"\\r\\n                    ></span>\\r\\n                    <span\\r\\n                      *ngIf=\\\"!is_store_open_full_time && edit\\\"\\r\\n                      (click)=\\\"remove_store_time(i)\\\"\\r\\n                      class=\\\"fa fa-times\\\"\\r\\n                    ></span>\\r\\n                  </td>\\r\\n                </tr>\\r\\n              </table>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"row\\\" *ngIf=\\\"famous_for && famous_for.length > 0\\\">\\r\\n      <div class=\\\"col-lg-12\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n          <div class=\\\"ibox-title\\\">\\r\\n            <label\\r\\n              style=\\\"margin-left: 15px; margin-top: 9px\\\"\\r\\n              class=\\\"control-label\\\"\\r\\n              >{{ heading_title.select_tag | translate }}</label\\r\\n            >\\r\\n          </div>\\r\\n          <div class=\\\"ibox-content\\\">\\r\\n            <ul class=\\\"nav nav-tabs\\\">\\r\\n              <li\\r\\n                (click)=\\\"change_page_type(1)\\\"\\r\\n                [class.active]=\\\"page_type == 1\\\"\\r\\n                class=\\\"dsads uib-tab ng-scope ng-isolate-scope\\\"\\r\\n                active=\\\"tab.active\\\"\\r\\n              >\\r\\n                <a class=\\\"ng-binding tab_selection\\\">{{\\r\\n                  heading_title.select_tag | translate\\r\\n                }}</a>\\r\\n              </li>\\r\\n              <li\\r\\n                (click)=\\\"change_page_type(2)\\\"\\r\\n                [class.active]=\\\"page_type == 2\\\"\\r\\n                class=\\\"dsads uib-tab ng-scope ng-isolate-scope\\\"\\r\\n                active=\\\"tab.active\\\"\\r\\n              >\\r\\n                <a class=\\\"ng-binding tab_selection\\\">Other Connected Stores</a>\\r\\n              </li>\\r\\n            </ul>\\r\\n            <div class=\\\"row\\\" style=\\\"margin-top: 10px\\\" *ngIf=\\\"page_type == 1\\\">\\r\\n              <div class=\\\"col-md-12\\\">\\r\\n                <div class=\\\"col-md-3 form-group\\\" *ngFor=\\\"let i of famous_for\\\">\\r\\n                  <label\\r\\n                    ><input\\r\\n                      class=\\\"icheck\\\"\\r\\n                      id=\\\"icheck{{ i }}\\\"\\r\\n                      type=\\\"checkbox\\\"\\r\\n                      value=\\\"{{ i }}\\\"\\r\\n                    /><span style=\\\"margin-left: 10px\\\">{{ i }}</span></label\\r\\n                  >\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n            <div class=\\\"row\\\" style=\\\"margin-top: 10px\\\" *ngIf=\\\"page_type == 2\\\">\\r\\n              <div class=\\\"col-md-12\\\">\\r\\n                <div\\r\\n                  class=\\\"col-md-3 form-group\\\"\\r\\n                  *ngFor=\\\"let store of store_list\\\"\\r\\n                >\\r\\n                  <input\\r\\n                    class=\\\"pull-right\\\"\\r\\n                    [checked]=\\\"\\r\\n                      is_checked(store_setting.other_store_ids, store._id)\\r\\n                    \\\"\\r\\n                    (change)=\\\"change_store($event)\\\"\\r\\n                    type=\\\"checkbox\\\"\\r\\n                    value=\\\"{{ store._id }}\\\"\\r\\n                  />\\r\\n                  <span style=\\\"margin-left: 10px\\\">{{ store.name }}</span>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n</form>\\r\\n\\r\\n<div class=\\\"row\\\">\\r\\n  <div class=\\\"col-lg-4 col-sm-12\\\">\\r\\n    <form\\r\\n      #settingSiteForm=\\\"ngForm\\\"\\r\\n      (ngSubmit)=\\\"updateSiteSetting(settingSiteForm)\\\"\\r\\n    >\\r\\n      <div class=\\\"ibox\\\">\\r\\n        <div class=\\\"ibox-title\\\" style=\\\"padding: 0; min-height: 35px !important\\\">\\r\\n          <label\\r\\n            style=\\\"margin-left: 15px; margin-top: 9px\\\"\\r\\n            class=\\\"control-label\\\"\\r\\n            >{{ heading_title.site_setting | translate }}</label\\r\\n          >\\r\\n          <div class=\\\"pull-right\\\">\\r\\n            <input\\r\\n              type=\\\"submit\\\"\\r\\n              style=\\\"border-radius: 0\\\"\\r\\n              class=\\\"btn btn-primary\\\"\\r\\n              value=\\\"{{ button.update | translate }}\\\"\\r\\n            />\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"ibox-content delivery_setting\\\">\\r\\n          <div class=\\\"row\\\">\\r\\n            <div\\r\\n              class=\\\"col-lg-6\\\"\\r\\n              style=\\\"text-align: center; display: grid; margin-bottom: 20px\\\"\\r\\n            >\\r\\n              <div class=\\\"profile-images center\\\">\\r\\n                <img\\r\\n                  class=\\\"img-circle\\\"\\r\\n                  (error)=\\\"$event.target.src = StoreDomainSetting.site_logo\\\"\\r\\n                  style=\\\"width: 120px; height: 120px\\\"\\r\\n                  src=\\\"{{\\r\\n                    StoreDomainSetting.site_logo\\r\\n                      ? helper.CONSTANT.IMAGE_BASE_URL +\\r\\n                        StoreDomainSetting.site_logo\\r\\n                      : helper.CONSTANT.IMAGE_BASE_URL + 'default.png'\\r\\n                  }}\\\"\\r\\n                  alt=\\\"profile\\\"\\r\\n                />\\r\\n              </div>\\r\\n              <div\\r\\n                class=\\\"center\\\"\\r\\n                style=\\\"margin-left: 110px; margin-top: -115px\\\"\\r\\n              >\\r\\n                <span class=\\\"btn-file\\\"\\r\\n                  ><i class=\\\"fa fa-pencil\\\"></i\\r\\n                  ><input\\r\\n                    type=\\\"file\\\"\\r\\n                    accept=\\\"image/*\\\"\\r\\n                    (change)=\\\"change_image($event)\\\"\\r\\n                    name=\\\"image\\\"\\r\\n                /></span>\\r\\n              </div>\\r\\n            </div>\\r\\n            <div\\r\\n              class=\\\"col-lg-6\\\"\\r\\n              style=\\\"text-align: center; display: grid; margin-bottom: 20px\\\"\\r\\n            >\\r\\n              <div class=\\\"profile-images center\\\">\\r\\n                <img\\r\\n                  class=\\\"img-circle\\\"\\r\\n                  (error)=\\\"$event.target.src = StoreDomainSetting.title_logo\\\"\\r\\n                  style=\\\"width: 120px; height: 120px\\\"\\r\\n                  src=\\\"{{\\r\\n                    StoreDomainSetting.title_logo\\r\\n                      ? helper.CONSTANT.IMAGE_BASE_URL +\\r\\n                        StoreDomainSetting.title_logo\\r\\n                      : helper.CONSTANT.IMAGE_BASE_URL + 'default.png'\\r\\n                  }}\\\"\\r\\n                  alt=\\\"profile\\\"\\r\\n                />\\r\\n              </div>\\r\\n              <div\\r\\n                class=\\\"center\\\"\\r\\n                style=\\\"margin-left: 110px; margin-top: -115px\\\"\\r\\n              >\\r\\n                <span class=\\\"btn-file\\\"\\r\\n                  ><i class=\\\"fa fa-pencil\\\"></i\\r\\n                  ><input\\r\\n                    type=\\\"file\\\"\\r\\n                    accept=\\\"image/*\\\"\\r\\n                    (change)=\\\"change_title_image($event)\\\"\\r\\n                    name=\\\"image\\\"\\r\\n                /></span>\\r\\n              </div>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"form-group\\\">\\r\\n              <label class=\\\"col-lg-6 control-label\\\">Domain Type</label>\\r\\n              <div class=\\\"col-lg-6 form-group\\\">\\r\\n                <select\\r\\n                  chosen\\r\\n                  class=\\\"chosen-select\\\"\\r\\n                  id=\\\"domain_type\\\"\\r\\n                  [(ngModel)]=\\\"StoreDomainSetting.domain_type\\\"\\r\\n                  #domain_type\\r\\n                  id=\\\"domain_type\\\"\\r\\n                  name=\\\"domain_type\\\"\\r\\n                >\\r\\n                  <option value=\\\"sub_domain\\\">Whop Sub Domain</option>\\r\\n                  <option value=\\\"custom\\\">Custom</option>\\r\\n                </select>\\r\\n              </div>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"form-group\\\">\\r\\n              <label class=\\\"col-lg-6 control-label\\\">{{\\r\\n                title.site_domain | translate\\r\\n              }}</label>\\r\\n              <div class=\\\"col-lg-6 form-group\\\">\\r\\n                <div class=\\\"row\\\" style=\\\"display: flex; align-items: center\\\">\\r\\n                  <div style=\\\"padding: 0\\\">\\r\\n                    <span class=\\\"pull-right\\\">www.</span>\\r\\n                  </div>\\r\\n                  <div style=\\\"padding: 0\\\">\\r\\n                    <input\\r\\n                      type=\\\"text\\\"\\r\\n                      class=\\\"form-control\\\"\\r\\n                      [(ngModel)]=\\\"StoreDomainSetting.site_domain\\\"\\r\\n                      #site_domain=\\\"ngModel\\\"\\r\\n                      name=\\\"site_domain\\\"\\r\\n                      required\\r\\n                    />\\r\\n                    <div\\r\\n                      *ngIf=\\\"\\r\\n                        site_domain.errors &&\\r\\n                        (site_domain.dirty || site_domain.touched)\\r\\n                      \\\"\\r\\n                    >\\r\\n                      <div\\r\\n                        style=\\\"color: red\\\"\\r\\n                        [hidden]=\\\"!site_domain.errors.required\\\"\\r\\n                      >\\r\\n                        {{ validation_message.site_color_required | translate }}\\r\\n                      </div>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                  <span\\r\\n                    *ngIf=\\\"StoreDomainSetting.domain_type == 'sub_domain'\\\"\\r\\n                    style=\\\"padding: 0\\\"\\r\\n                    >.mywhop.com</span\\r\\n                  >\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"form-group\\\">\\r\\n              <label class=\\\"col-lg-6 control-label\\\">{{\\r\\n                title.site_domain2 | translate\\r\\n              }}</label>\\r\\n              <div class=\\\"col-lg-6 form-group\\\">\\r\\n                <div class=\\\"row\\\" style=\\\"display: flex; align-items: center\\\">\\r\\n                  <div style=\\\"padding: 0\\\">\\r\\n                    <span class=\\\"pull-right\\\">www.</span>\\r\\n                  </div>\\r\\n                  <div style=\\\"padding: 0\\\">\\r\\n                    <input\\r\\n                      type=\\\"text\\\"\\r\\n                      class=\\\"form-control\\\"\\r\\n                      [(ngModel)]=\\\"StoreDomainSetting.site_domain2\\\"\\r\\n                      #site_domain2=\\\"ngModel\\\"\\r\\n                      name=\\\"site_domain2\\\"\\r\\n                    />\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"form-group\\\">\\r\\n              <label class=\\\"col-lg-6 control-label\\\">{{\\r\\n                title.site_description | translate\\r\\n              }}</label>\\r\\n              <div class=\\\"col-lg-6 form-group\\\">\\r\\n                <input\\r\\n                  type=\\\"text\\\"\\r\\n                  class=\\\"form-control\\\"\\r\\n                  [(ngModel)]=\\\"StoreDomainSetting.site_description\\\"\\r\\n                  #site_description=\\\"ngModel\\\"\\r\\n                  name=\\\"site_description\\\"\\r\\n                  required\\r\\n                />\\r\\n                <div\\r\\n                  *ngIf=\\\"\\r\\n                    site_description.errors &&\\r\\n                    (site_description.dirty || site_description.touched)\\r\\n                  \\\"\\r\\n                >\\r\\n                  <div\\r\\n                    style=\\\"color: red\\\"\\r\\n                    [hidden]=\\\"!site_domain.errors.required\\\"\\r\\n                  >\\r\\n                    {{\\r\\n                      validation_message.site_description_required | translate\\r\\n                    }}\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n            <div class=\\\"form-group\\\">\\r\\n              <label class=\\\"col-lg-6 control-label\\\">{{\\r\\n                title.site_color | translate\\r\\n              }}</label>\\r\\n              <div class=\\\"col-lg-6 form-group\\\">\\r\\n                <input\\r\\n                  type=\\\"color\\\"\\r\\n                  class=\\\"form-control\\\"\\r\\n                  [(ngModel)]=\\\"StoreDomainSetting.site_color\\\"\\r\\n                  #site_color=\\\"ngModel\\\"\\r\\n                  name=\\\"site_color\\\"\\r\\n                  required\\r\\n                />\\r\\n              </div>\\r\\n            </div>\\r\\n            <div class=\\\"row\\\">\\r\\n              <div class=\\\"col-12\\\" style=\\\"margin-left: 30px\\\">\\r\\n                <b\\r\\n                  >Pointing your domain to hosting with A records<br />\\r\\n                  1. Log into your MYDOMAIN.com account.<br />\\r\\n                  2. Got to your domains list.<br />\\r\\n                  3. Click on the domain name you wish to create an A record\\r\\n                  for.<br />\\r\\n                  4. Click Manage DNS Records.<br />\\r\\n                  5. Select Add under the records table.<br />\\r\\n                  6. Under type or select A.<br />\\r\\n                  7. Enter the following details:<br\\r\\n                /></b>\\r\\n                <div style=\\\"margin-left: 30px\\\">\\r\\n                  <b>Host :</b> The host name the A record links to. Type @ to\\r\\n                  point directly to your domain name.<br />\\r\\n                  <b>Points to:</b> The IP address (18.156.75.98) you are\\r\\n                  setting as the destination for the host.\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </form>\\r\\n  </div>\\r\\n  <div class=\\\"col-lg-4 col-sm-12\\\" *ngIf=\\\"StoreDomainSetting.site_domain\\\">\\r\\n    <div class=\\\"ibox\\\">\\r\\n      <div class=\\\"ibox-title\\\" style=\\\"padding: 0; min-height: 35px !important\\\">\\r\\n        <label style=\\\"margin-left: 15px; margin-top: 9px\\\" class=\\\"control-label\\\"\\r\\n          >Telecharger cos produits / menu pour l'afficher sur votre site :\\r\\n        </label>\\r\\n      </div>\\r\\n      <div class=\\\"ibox-content delivery_setting\\\">\\r\\n        <div class=\\\"row\\\">\\r\\n          <div class=\\\"col-lg-12\\\">\\r\\n            <div\\r\\n              class=\\\"col-lg-12 profile-images center\\\"\\r\\n              *ngIf=\\\"!StoreDomainSetting.menu_url\\\"\\r\\n            >\\r\\n              <span class=\\\"btn-file pull-right\\\" style=\\\"width: 100%\\\">\\r\\n                <div\\r\\n                  style=\\\"\\r\\n                    background: gray;\\r\\n                    padding: 20px 30px 20px 30px;\\r\\n                    color: black;\\r\\n                    font-size: 20px;\\r\\n                  \\\"\\r\\n                >\\r\\n                  <span style=\\\"\\\"\\r\\n                    >cliquez ici pour télécharger votre menu en PDF ou\\r\\n                    JPEG</span\\r\\n                  >\\r\\n                </div>\\r\\n\\r\\n                <input\\r\\n                  type=\\\"file\\\"\\r\\n                  accept=\\\"image/*\\\"\\r\\n                  (change)=\\\"change_menu_image($event)\\\"\\r\\n                  name=\\\"image\\\"\\r\\n              /></span>\\r\\n            </div>\\r\\n\\r\\n            <div\\r\\n              class=\\\"col-lg-12 profile-images center\\\"\\r\\n              *ngIf=\\\"\\r\\n                StoreDomainSetting.menu_url &&\\r\\n                StoreDomainSetting.menu_url_type !== 'application/pdf'\\r\\n              \\\"\\r\\n            >\\r\\n              <span class=\\\"btn-file pull-right\\\" style=\\\"width: 100%\\\">\\r\\n                <img\\r\\n                  class=\\\"img-circle\\\"\\r\\n                  style=\\\"width: 100%; height: 110px; border-radius: 0\\\"\\r\\n                  (error)=\\\"$event.target.src = StoreDomainSetting.menu_url\\\"\\r\\n                  src=\\\"{{\\r\\n                    helper.CONSTANT.IMAGE_BASE_URL + StoreDomainSetting.menu_url\\r\\n                  }}\\\"\\r\\n                  alt=\\\"profile\\\" />\\r\\n                <input\\r\\n                  type=\\\"file\\\"\\r\\n                  (change)=\\\"change_menu_image($event)\\\"\\r\\n                  name=\\\"image\\\"\\r\\n              /></span>\\r\\n            </div>\\r\\n\\r\\n            <div\\r\\n              class=\\\"col-lg-12 profile-images center\\\"\\r\\n              *ngIf=\\\"\\r\\n                StoreDomainSetting.menu_url &&\\r\\n                StoreDomainSetting.menu_url_type == 'application/pdf'\\r\\n              \\\"\\r\\n            >\\r\\n              <span class=\\\"btn-file pull-right\\\" style=\\\"width: 100%\\\">\\r\\n                <div\\r\\n                  style=\\\"\\r\\n                    background: gray;\\r\\n                    padding: 20px 30px 20px 30px;\\r\\n                    color: black;\\r\\n                    font-size: 20px;\\r\\n                  \\\"\\r\\n                >\\r\\n                  <span style=\\\"\\\">telecharger votre menu ici</span>\\r\\n                </div>\\r\\n                <input\\r\\n                  type=\\\"file\\\"\\r\\n                  (change)=\\\"change_menu_image($event)\\\"\\r\\n                  name=\\\"image\\\"\\r\\n                />\\r\\n              </span>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n    <div class=\\\"ibox\\\">\\r\\n      <div class=\\\"ibox-title\\\" style=\\\"padding: 0; min-height: 35px !important\\\">\\r\\n        <label style=\\\"margin-left: 15px; margin-top: 9px\\\" class=\\\"control-label\\\"\\r\\n          >MES LIENS :\\r\\n        </label>\\r\\n      </div>\\r\\n      <div class=\\\"ibox-content delivery_setting\\\">\\r\\n        <div class=\\\"row\\\">\\r\\n          <div\\r\\n            class=\\\"col-md-12\\\"\\r\\n            style=\\\"display: flex; justify-content: center; align-items: center\\\"\\r\\n          >\\r\\n            <div class=\\\"col-md-8\\\">\\r\\n              line pour commander : www.{{\\r\\n                StoreDomainSetting.site_domain\\r\\n              }}.mywhop.com\\r\\n            </div>\\r\\n            <div class=\\\"col-md-4\\\">\\r\\n              <a\\r\\n                href=\\\"https://api.qrserver.com/v1/create-qr-code/?size=150x150&amp;data=www.{{\\r\\n                  StoreDomainSetting.site_domain\\r\\n                }}.mywhop.com\\\"\\r\\n                target=\\\"_blank\\\"\\r\\n                ><span\\r\\n                  class=\\\"pull-right\\\"\\r\\n                  style=\\\"\\r\\n                    background: red;\\r\\n                    padding: 20px 30px 20px 30px;\\r\\n                    color: black;\\r\\n                    font-size: 14px;\\r\\n                    width: 110px;\\r\\n                    border-radius: 50%;\\r\\n                    margin-left: 20px;\\r\\n                  \\\"\\r\\n                  >Obtain Qr code</span\\r\\n                ></a\\r\\n              >\\r\\n            </div>\\r\\n          </div>\\r\\n          <div\\r\\n            class=\\\"col-md-12\\\"\\r\\n            style=\\\"\\r\\n              display: flex;\\r\\n              justify-content: center;\\r\\n              align-items: center;\\r\\n              margin-top: 20px;\\r\\n            \\\"\\r\\n          >\\r\\n            <div class=\\\"col-md-8\\\">\\r\\n              line pour afficher menu : www.{{\\r\\n                StoreDomainSetting.site_domain\\r\\n              }}.mywhop.com/menu\\r\\n            </div>\\r\\n            <div class=\\\"col-md-4\\\">\\r\\n              <a\\r\\n                href=\\\"https://api.qrserver.com/v1/create-qr-code/?size=150x150&amp;data=www.{{\\r\\n                  StoreDomainSetting.site_domain\\r\\n                }}.mywhop.com/menu\\\"\\r\\n                target=\\\"_blank\\\"\\r\\n                ><span\\r\\n                  class=\\\"pull-right\\\"\\r\\n                  style=\\\"\\r\\n                    background: red;\\r\\n                    padding: 20px 30px 20px 30px;\\r\\n                    color: black;\\r\\n                    font-size: 14px;\\r\\n                    width: 110px;\\r\\n                    border-radius: 50%;\\r\\n                    margin-left: 20px;\\r\\n                  \\\"\\r\\n                  >Obtain Qr code</span\\r\\n                ></a\\r\\n              >\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n  <div\\r\\n    class=\\\"col-lg-4 col-sm-12\\\"\\r\\n    *ngIf=\\\"store_setting.is_accept_other_system_order\\\"\\r\\n  >\\r\\n    <form\\r\\n      #settingUberEatsForm=\\\"ngForm\\\"\\r\\n      (ngSubmit)=\\\"updateUberEats(settingUberEatsForm)\\\"\\r\\n    >\\r\\n      <div class=\\\"ibox\\\">\\r\\n        <div class=\\\"ibox-title\\\" style=\\\"padding: 0; min-height: 35px !important\\\">\\r\\n          <label\\r\\n            style=\\\"margin-left: 15px; margin-top: 9px\\\"\\r\\n            class=\\\"control-label\\\"\\r\\n            >{{ heading_title.uber_eats | translate }}</label\\r\\n          >\\r\\n          <div class=\\\"pull-right\\\">\\r\\n            <input\\r\\n              type=\\\"submit\\\"\\r\\n              style=\\\"border-radius: 0\\\"\\r\\n              class=\\\"btn btn-primary\\\"\\r\\n              value=\\\"{{ button.update | translate }}\\\"\\r\\n            />\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"ibox-content delivery_setting\\\">\\r\\n          <div class=\\\"row\\\">\\r\\n            <div class=\\\"form-group\\\">\\r\\n              <label class=\\\"col-lg-6 control-label\\\">Uber Eats Email</label>\\r\\n              <div class=\\\"col-lg-6 form-group\\\">\\r\\n                <input\\r\\n                  type=\\\"text\\\"\\r\\n                  class=\\\"form-control\\\"\\r\\n                  [(ngModel)]=\\\"store_setting.ubereats_email\\\"\\r\\n                  #ubereats_email=\\\"ngModel\\\"\\r\\n                  name=\\\"ubereats_email\\\"\\r\\n                  required\\r\\n                />\\r\\n                <div\\r\\n                  *ngIf=\\\"\\r\\n                    ubereats_email.errors &&\\r\\n                    (ubereats_email.dirty || ubereats_email.touched)\\r\\n                  \\\"\\r\\n                >\\r\\n                  <div\\r\\n                    style=\\\"color: red\\\"\\r\\n                    [hidden]=\\\"!ubereats_email.errors.required\\\"\\r\\n                  >\\r\\n                    {{ validation_message.ubereats_email_required | translate }}\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n            <div class=\\\"form-group\\\">\\r\\n              <label class=\\\"col-lg-6 control-label\\\">Uber Eats Password</label>\\r\\n              <div class=\\\"col-lg-6 form-group\\\">\\r\\n                <input\\r\\n                  type=\\\"text\\\"\\r\\n                  class=\\\"form-control\\\"\\r\\n                  [(ngModel)]=\\\"store_setting.ubereats_password\\\"\\r\\n                  #ubereats_password=\\\"ngModel\\\"\\r\\n                  name=\\\"ubereats_password\\\"\\r\\n                  required\\r\\n                />\\r\\n              </div>\\r\\n            </div>\\r\\n            <div class=\\\"form-group\\\">\\r\\n              <label class=\\\"col-lg-6 control-label\\\">Use Hop Deliveryman</label>\\r\\n              <div class=\\\"col-lg-6 form-group\\\">\\r\\n                <ui-switch\\r\\n                  [(ngModel)]=\\\"store_setting.is_use_hop_deliveryman\\\"\\r\\n                  #is_use_hop_deliveryman=\\\"ngModel\\\"\\r\\n                  name=\\\"is_use_hop_deliveryman\\\"\\r\\n                ></ui-switch>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </form>\\r\\n  </div>\\r\\n  <div\\r\\n    class=\\\"col-lg-8 col-sm-12\\\"\\r\\n    *ngIf=\\\"\\r\\n      StoreDomainSetting.menu_url &&\\r\\n      StoreDomainSetting.menu_url_type == 'application/pdf'\\r\\n    \\\"\\r\\n  >\\r\\n    <div class=\\\"ibox\\\">\\r\\n      <div class=\\\"ibox-title\\\" style=\\\"padding: 0; min-height: 35px !important\\\">\\r\\n        <label style=\\\"margin-left: 15px; margin-top: 9px\\\" class=\\\"control-label\\\"\\r\\n          >MES LIENS :\\r\\n        </label>\\r\\n      </div>\\r\\n      <div class=\\\"ibox-content delivery_setting\\\">\\r\\n        <div class=\\\"row\\\" *ngIf=\\\"load_local\\\">\\r\\n          <pdf-viewer\\r\\n            [src]=\\\"StoreDomainSetting.menu_url\\\"\\r\\n            [show-all]=\\\"true\\\"\\r\\n            [original-size]=\\\"true\\\"\\r\\n            style=\\\"display: block\\\"\\r\\n          >\\r\\n          </pdf-viewer>\\r\\n        </div>\\r\\n        <div class=\\\"row\\\" *ngIf=\\\"!load_local\\\">\\r\\n          <pdf-viewer\\r\\n            [src]=\\\"helper.CONSTANT.IMAGE_BASE_URL + StoreDomainSetting.menu_url\\\"\\r\\n            [show-all]=\\\"true\\\"\\r\\n            [original-size]=\\\"true\\\"\\r\\n            style=\\\"display: block\\\"\\r\\n          >\\r\\n          </pdf-viewer>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n</div>\\r\\n\\r\\n<modal\\r\\n  keyboard=\\\"false\\\"\\r\\n  backdrop=\\\"static\\\"\\r\\n  style=\\\"top: 25%\\\"\\r\\n  size=\\\"sm\\\"\\r\\n  cssClass=\\\"modal-sm\\\"\\r\\n  #myModal\\r\\n>\\r\\n  <form #storeTimeForm=\\\"ngForm\\\" novalidate (ngSubmit)=\\\"add_store_time()\\\">\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n      <h4 class=\\\"modal-title\\\">\\r\\n        {{ heading_title.add_store_time | translate }}\\r\\n      </h4>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n      <div class=\\\"row\\\">\\r\\n        <div class=\\\"form-group\\\">\\r\\n          <label class=\\\"col-lg-6 col-xs-6 control-label\\\">{{\\r\\n            title.store_open_time | translate\\r\\n          }}</label>\\r\\n          <div\\r\\n            class=\\\"col-lg-6 col-xs-6 input-group clock-picker\\\"\\r\\n            id=\\\"clock-picker\\\"\\r\\n            data-autoclose=\\\"true\\\"\\r\\n          >\\r\\n            <input\\r\\n              type=\\\"text\\\"\\r\\n              class=\\\"form-control\\\"\\r\\n              id=\\\"open\\\"\\r\\n              [(ngModel)]=\\\"store_setting.store_open_time\\\"\\r\\n              #store_open_time=\\\"ngModel\\\"\\r\\n              name=\\\"store_open_time\\\"\\r\\n              readonly\\r\\n              required\\r\\n            />\\r\\n            <span class=\\\"input-group-addon\\\">\\r\\n              <span class=\\\"fa fa-clock-o\\\"></span>\\r\\n            </span>\\r\\n          </div>\\r\\n\\r\\n          <div\\r\\n            *ngIf=\\\"\\r\\n              store_open_time.errors &&\\r\\n              (store_open_time.dirty || store_open_time.touched)\\r\\n            \\\"\\r\\n          >\\r\\n            <div style=\\\"color: red\\\" [hidden]=\\\"!store_open_time.errors.required\\\">\\r\\n              {{ validation_message.store_open_time_required | translate }}\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"form-group\\\">\\r\\n          <label class=\\\"col-lg-6 col-xs-6 control-label\\\">{{\\r\\n            title.store_close_time | translate\\r\\n          }}</label>\\r\\n          <div\\r\\n            class=\\\"col-lg-6 col-xs-6 input-group clock-picker\\\"\\r\\n            id=\\\"clock-picker\\\"\\r\\n            data-autoclose=\\\"true\\\"\\r\\n          >\\r\\n            <input\\r\\n              type=\\\"text\\\"\\r\\n              class=\\\"form-control\\\"\\r\\n              id=\\\"close\\\"\\r\\n              [(ngModel)]=\\\"store_setting.store_close_time\\\"\\r\\n              #store_close_time=\\\"ngModel\\\"\\r\\n              name=\\\"store_close_time\\\"\\r\\n              readonly\\r\\n              required\\r\\n            />\\r\\n            <span class=\\\"input-group-addon\\\">\\r\\n              <span class=\\\"fa fa-clock-o\\\"></span>\\r\\n            </span>\\r\\n          </div>\\r\\n\\r\\n          <div\\r\\n            *ngIf=\\\"\\r\\n              store_close_time.errors &&\\r\\n              (store_close_time.dirty || store_close_time.touched)\\r\\n            \\\"\\r\\n          >\\r\\n            <div\\r\\n              style=\\\"color: red\\\"\\r\\n              [hidden]=\\\"!store_close_time.errors.required\\\"\\r\\n            >\\r\\n              {{ validation_message.store_close_time_required | translate }}\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div [ngSwitch]=\\\"store_open_time_error\\\">\\r\\n        <div *ngSwitchCase=\\\"1\\\">\\r\\n          <label style=\\\"color: red\\\">{{\\r\\n            validation_message.open_time_not_greater_close_time | translate\\r\\n          }}</label>\\r\\n        </div>\\r\\n        <div *ngSwitchCase=\\\"2\\\">\\r\\n          <label style=\\\"color: red\\\">{{\\r\\n            validation_message.invalid_open_time | translate\\r\\n          }}</label>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div [ngSwitch]=\\\"store_close_time_error\\\">\\r\\n        <div *ngSwitchCase=\\\"1\\\">\\r\\n          <label style=\\\"color: red\\\">{{\\r\\n            validation_message.close_time_not_less_open_time | translate\\r\\n          }}</label>\\r\\n        </div>\\r\\n        <div *ngSwitchCase=\\\"2\\\">\\r\\n          <label style=\\\"color: red\\\">{{\\r\\n            validation_message.invalid_close_time | translate\\r\\n          }}</label>\\r\\n        </div>\\r\\n      </div>\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n      <div style=\\\"text-align: center\\\">\\r\\n        <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">\\r\\n          {{ button.add | translate }}\\r\\n        </button>\\r\\n      </div>\\r\\n    </modal-footer>\\r\\n  </form>\\r\\n</modal>\\r\\n\\r\\n<modal\\r\\n  keyboard=\\\"false\\\"\\r\\n  backdrop=\\\"static\\\"\\r\\n  style=\\\"top: 25%\\\"\\r\\n  cssClass=\\\"modal-sm\\\"\\r\\n  #oldPasswordModal\\r\\n  id=\\\"old_passwrod\\\"\\r\\n>\\r\\n  <form\\r\\n    #oldPasswordForm=\\\"ngForm\\\"\\r\\n    (ngSubmit)=\\\"old_password_update(oldPasswordForm.value)\\\"\\r\\n  >\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n      <h4 class=\\\"modal-title\\\">{{ title.password | translate }}</h4>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n      <div class=\\\"form-group\\\">\\r\\n        <input\\r\\n          type=\\\"password\\\"\\r\\n          class=\\\"form-control\\\"\\r\\n          automoplete=\\\"off\\\"\\r\\n          [(ngModel)]=\\\"store_setting.old_password\\\"\\r\\n          #old_password=\\\"ngModel\\\"\\r\\n          minlength=\\\"6\\\"\\r\\n          name=\\\"old_password\\\"\\r\\n          required\\r\\n        />\\r\\n\\r\\n        <div\\r\\n          *ngIf=\\\"\\r\\n            old_password.errors && (old_password.dirty || old_password.touched)\\r\\n          \\\"\\r\\n        >\\r\\n          <div style=\\\"color: red\\\" [hidden]=\\\"!old_password.errors.required\\\">\\r\\n            {{ validation_message.password_required | translate }}\\r\\n          </div>\\r\\n          <div style=\\\"color: red\\\" [hidden]=\\\"!old_password.errors.minlength\\\">\\r\\n            {{ validation_message.password_minlength | translate }}\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n      <div style=\\\"text-align: center\\\">\\r\\n        <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">\\r\\n          {{ button.submit | translate }}\\r\\n        </button>\\r\\n      </div>\\r\\n    </modal-footer>\\r\\n  </form>\\r\\n</modal>\\r\\n\\r\\n<modal\\r\\n  keyboard=\\\"false\\\"\\r\\n  backdrop=\\\"static\\\"\\r\\n  style=\\\"top: 25%\\\"\\r\\n  cssClass=\\\"modal-sm\\\"\\r\\n  #copy_store_time_modal\\r\\n  id=\\\"old_passwrod\\\"\\r\\n>\\r\\n  <form\\r\\n    #copy_store_time_form=\\\"ngForm\\\"\\r\\n    (ngSubmit)=\\\"copy_store_time_update(copy_store_time_form.value)\\\"\\r\\n  >\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n      <h4 class=\\\"modal-title\\\">{{ title.copy_store_time | translate }}</h4>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n      <div class=\\\"form-group\\\">\\r\\n        <select\\r\\n          chosen\\r\\n          class=\\\"form-control chosen-select\\\"\\r\\n          id=\\\"selected_days\\\"\\r\\n          [(ngModel)]=\\\"selected_days\\\"\\r\\n          multiple\\r\\n          name=\\\"selected_days\\\"\\r\\n          required\\r\\n        >\\r\\n          <!-- <option  value=\\\"\\\">All</option> -->\\r\\n          <option *ngFor=\\\"let i of date_array\\\" value=\\\"{{ i.value }}\\\">\\r\\n            {{ i.label }}\\r\\n          </option>\\r\\n        </select>\\r\\n      </div>\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n      <div style=\\\"text-align: center\\\">\\r\\n        <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">\\r\\n          {{ button.submit | translate }}\\r\\n        </button>\\r\\n      </div>\\r\\n    </modal-footer>\\r\\n  </form>\\r\\n</modal>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/store_setting/setting.component.html\n// module id = 1638\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer> \\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.date_filter | translate}}</label>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-12 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"week_date\\\" [(ngModel)]=\\\"week_date\\r\\n                            \\\" name=\\\"week_date\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option *ngFor=\\\"let date of week_array\\\" value=\\\"{{date.value}}\\\">{{date.text}}</option>\\r\\n\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.search | translate}}</label>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"search_field\\\" [(ngModel)]=\\\"search_field\\\" name=\\\"search_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"store_detail.name\\\">{{title.filter_name | translate}}</option>\\r\\n                        <option value=\\\"store_detail.email\\\">{{title.filter_email | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n\\r\\n                        <input type=\\\"text\\\" class=\\\"form-control search_box\\\" [(ngModel)]=\\\"search_value\\\"  name=\\\"search_value\\\">\\r\\n                        <span class=\\\"input-group-addon search_icon\\\"><span class=\\\"fa fa-search\\\"></span></span>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n<!--             <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"store_weekly_earning_export_excel()\\\" class=\\\"btn export_excel_btn pull-right\\\" value=\\\"{{button.export_excel | translate}}\\\" >\\r\\n            </div>-->\\r\\n            \\r\\n           <!--  <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"store_weekly_earning_export_csv()\\\" class=\\\"btn export_excel_btn pull-right\\\" value=\\\"{{button.export_excel | translate}}\\\" >\\r\\n            </div> -->\\r\\n            \\r\\n            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"store_weekly_earning(1)\\\" class=\\\"btn filter_apply_btn pull-right\\\" value=\\\"{{button.apply | translate}}\\\" >\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n    </div>\\r\\n\\r\\n</div>\\r\\n\\r\\n<div class=\\\"wrapper wrapper-content content_top_bar_view1 animated fadeInRight\\\">\\r\\n    <div class=\\\"ibox\\\" *ngIf=\\\"store_weekly_earning_list.length==0\\\">\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n            <div class=\\\"lable_center\\\" >\\r\\n                <label>No Records</label>\\r\\n            </div>\\r\\n        </div>  \\r\\n    </div> \\r\\n    <div class=\\\"ibox\\\" *ngIf=\\\"order_total!='' && store_weekly_earning_list.length>0\\\">\\r\\n        <div class=\\\"ibox-title\\\">\\r\\n            <div>\\r\\n                <label>{{title.admin_earn | translate}}({{admin_currency}})</label>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n            <div class=\\\"table-responsive\\\">\\r\\n                <table class=\\\"table table-striped\\\">\\r\\n                    <thead>\\r\\n                        <tr>\\r\\n                            <th>{{title.total_orders | translate}}</th>\\r\\n                            <th>{{title.admin_earn | translate}}</th>\\r\\n                            <th>{{title.store_earn | translate}}</th>\\r\\n                            <th>{{title.pay_to_store | translate}}</th>\\r\\n                            <th>{{title.total_wallet_income_set_in_cash_order | translate}}</th>\\r\\n                            <th>{{title.total_wallet_income_set_in_other_order | translate}}</th>\\r\\n                        </tr>\\r\\n                    </thead>\\r\\n                    <tbody>\\r\\n                        <tr>\\r\\n                            <td>{{order_total.total_orders}}</td>\\r\\n                            <td>{{(order_total.total_admin_earn).toFixed(2)}}</td>\\r\\n                            <td>{{(order_total.total_store_earning).toFixed(2)}}</td>\\r\\n                            <td>{{(order_total.total_pay_to_store).toFixed(2)}}</td>\\r\\n                            <td>{{order_total.total_wallet_income_set_in_cash_order}}</td>\\r\\n                            <td>{{order_total.total_wallet_income_set_in_other_order}}</td>\\r\\n\\r\\n\\r\\n                        </tr>\\r\\n                    </tbody>\\r\\n                </table>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n\\r\\n    <div class=\\\"ibox\\\" *ngIf=\\\"store_weekly_earning_list.length>0\\\">\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n            <div class=\\\"table-responsive\\\">\\r\\n                <table class=\\\"table table-striped\\\">\\r\\n                    <thead>\\r\\n                        <tr>\\r\\n                            <th>{{title.ID | translate}}</th>\\r\\n                            <th>{{title.store | translate}}</th>\\r\\n                            <th>{{title.no_of_orders | translate}}</th>\\r\\n                            <th>{{title.currency | translate}}</th>\\r\\n                            <th>{{title.store_earn | translate}}</th>\\r\\n                            <th>{{title.store_have_payment | translate}}</th>\\r\\n                            <th>{{title.total_wallet_income_set_in_cash_order | translate}}</th>\\r\\n                            <th>{{title.total_wallet_income_set_in_other_order | translate}}</th>\\r\\n                            <th>{{title.total_transferred_amount | translate}}</th>\\r\\n                            <th>{{title.pay_to_store | translate}}</th>\\r\\n                            <th>{{title.action | translate}}</th>\\r\\n                        </tr>\\r\\n                    </thead>\\r\\n                    <tbody>\\r\\n                        <tr *ngFor=\\\"let store_weekly_earning of store_weekly_earning_list; let index=index; let last=last;\\\">\\r\\n                            <td>{{store_weekly_earning.store_detail.unique_id}}</td>\\r\\n                            <td>{{store_weekly_earning.store_detail.name +\\\" (\\\"+store_weekly_earning.store_detail.email+\\\")\\\"}}</td>\\r\\n                            <td>{{store_weekly_earning.total_order}}</td>\\r\\n                            <td>{{store_weekly_earning.country_detail[0].currency_sign}}</td>\\r\\n                            <td>{{((store_weekly_earning.total_store_earning).toFixed(2))}}</td>\\r\\n                            <td>{{((store_weekly_earning.store_have_order_payment).toFixed(2))}}</td>\\r\\n\\r\\n\\r\\n                            <td>{{store_weekly_earning.total_wallet_income_set_in_cash_order}}</td>\\r\\n                            <td>{{store_weekly_earning.total_wallet_income_set_in_other_order}}</td>\\r\\n                            <td>{{store_weekly_earning.total_transferred_amount}}</td>\\r\\n                            <td>{{((store_weekly_earning.total_pay_to_store).toFixed(2))}}</td>\\r\\n\\r\\n                            <td class=\\\"text-left footable-visible footable-last-column\\\">\\r\\n                                <div class=\\\"btn-group\\\">\\r\\n                                    <button (click)=\\\"open_detail_modal(store_weekly_earning.store_detail._id)\\\" class=\\\"btn btn-xs btn-light_black\\\">{{helper.button.detail | translate}}</button>\\r\\n                                    <button [disabled]=\\\"!store_weekly_earning.store_detail.account_id\\\" *ngIf=\\\"store_weekly_earning.total_pay_to_store>0\\\"  (click)=\\\"store_manual_transfer_modal(store_weekly_earning.store_detail._id, (store_weekly_earning.total_pay_to_store).toFixed(2))\\\" class=\\\"btn btn-xs btn-light_black\\\">{{helper.button.send | translate}}</button>\\r\\n                                </div>\\r\\n                            </td>\\r\\n\\r\\n\\r\\n                        </tr>\\r\\n                    </tbody>\\r\\n                </table>\\r\\n            </div>\\r\\n\\r\\n            <!--            <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                            <div class=\\\"lable_center\\\">\\r\\n            \\r\\n                                <ul class=\\\"pagination\\\">\\r\\n                                    <li *ngIf=\\\"page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"store_weekly_earning(page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                                    <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page==index\\\">\\r\\n                                        <a *ngIf=\\\"index==1 || index==total_page || index==page || index==page-1 || index==page+1\\\" (click)=\\\"store_weekly_earning(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                                        <a *ngIf=\\\"(index==1 && (page!==1 && page!==2 && page!==3)) || (index==total_page-1 && (page!==total_page && page!==total_page-1 && page!==total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n            \\r\\n                                    </li>\\r\\n                                    <li *ngIf=\\\"page!==total_page && store_weekly_earning_list.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"store_weekly_earning(page+1)\\\">{{button.next | translate}}</a></li>\\r\\n                                </ul>\\r\\n                            </div>\\r\\n                        </div>-->\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n\\r\\n    <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n        <div class=\\\"lable_center\\\">\\r\\n\\r\\n            <ul class=\\\"pagination\\\">\\r\\n                <li *ngIf=\\\"page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"store_weekly_earning(page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page==index\\\">\\r\\n                    <a *ngIf=\\\"index==1 || index==total_page || index==page || index==page-1 || index==page+1\\\" (click)=\\\"store_weekly_earning(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                    <a *ngIf=\\\"(index==1 && (page!==1 && page!==2 && page!==3)) || (index==total_page-1 && (page!==total_page && page!==total_page-1 && page!==total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n\\r\\n                </li>\\r\\n                <li *ngIf=\\\"page!==total_page && store_weekly_earning_list.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"store_weekly_earning(page+1)\\\">{{button.next | translate}}</a></li>\\r\\n            </ul>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n\\r\\n</div>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-sm\\\" #myModal>\\r\\n    <form #modalForm=\\\"ngForm\\\" (ngSubmit)=\\\"store_manual_transfer()\\\">\\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div class=\\\"row\\\">\\r\\n\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                    <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                        <div class=\\\"form-group\\\" >\\r\\n\\r\\n                            <label style=\\\"font-weight: normal;\\\"><strong>{{title.amount}}</strong></label>\\r\\n                            <input type=\\\"text\\\" class=\\\"form-control\\\" readonly [(ngModel)]=\\\"transfer_amount\\\" (keypress)=\\\"helper.number_validation($event)\\\" max=\\\"{{actual_transfer_amount}}\\\" name=\\\"amount\\\" required>\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{button.send}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\\r\\n\\r\\n<modal cssClass=\\\"modal-invoice animated fadeInUpBig\\\" #order_detail_modal>\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n        <label>{{start_date}} - {{end_date}}</label>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"ibox\\\" *ngIf=\\\"show==true\\\">\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-md-3 col-sm-6\\\">\\r\\n                            <div class=\\\"ibox\\\">\\r\\n                                <div class=\\\"ibox-title lable_center\\\">\\r\\n                                    <div>\\r\\n\\r\\n                                        <label>{{heading_title.total_order | translate}}</label>\\r\\n                                        <h2>{{store_analytic_daily.received}}</h2>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-3 col-sm-6\\\">\\r\\n                            <div class=\\\"ibox\\\">\\r\\n                                <div class=\\\"ibox-title lable_center\\\">\\r\\n                                    <div>\\r\\n\\r\\n                                        <label>{{heading_title.accepted_order | translate}}</label>\\r\\n                                        <h2>{{store_analytic_daily.accepted}}</h2>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-3 col-sm-6\\\">\\r\\n                            <div class=\\\"ibox\\\">\\r\\n                                <div class=\\\"ibox-title lable_center\\\">\\r\\n                                    <div>\\r\\n\\r\\n                                        <label>{{heading_title.rejected_order | translate}}</label>\\r\\n                                        <h2>{{store_analytic_daily.rejected}}</h2>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-3 col-sm-6\\\">\\r\\n                            <div class=\\\"ibox\\\">\\r\\n                                <div class=\\\"ibox-title lable_center\\\">\\r\\n                                    <div>\\r\\n\\r\\n                                        <label>{{heading_title.completed_order | translate}}</label>\\r\\n                                        <h2>{{store_analytic_daily.completed}}</h2>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-3 col-sm-6\\\">\\r\\n                            <div class=\\\"ibox\\\">\\r\\n                                <div class=\\\"ibox-title lable_center\\\">\\r\\n                                    <div>\\r\\n\\r\\n                                        <label>{{heading_title.total_item_sold | translate}}</label>\\r\\n                                        <h2>{{store_analytic_daily.total_items}}</h2>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-3 col-sm-6\\\">\\r\\n                            <div class=\\\"ibox\\\">\\r\\n                                <div class=\\\"ibox-title lable_center\\\">\\r\\n                                    <div>\\r\\n\\r\\n                                        <label>{{heading_title.accepted_ratio | translate}}</label>\\r\\n                                        <h2>{{store_analytic_daily.acception_ratio.toFixed(2)}}</h2>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-3 col-sm-6\\\">\\r\\n                            <div class=\\\"ibox\\\">\\r\\n                                <div class=\\\"ibox-title lable_center\\\">\\r\\n                                    <div>\\r\\n                                        <label>{{heading_title.rejected_ratio | translate}}</label>\\r\\n                                        <h2>{{store_analytic_daily.rejection_ratio.toFixed(2)}}</h2>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-3 col-sm-6\\\">\\r\\n                            <div class=\\\"ibox\\\">\\r\\n                                <div class=\\\"ibox-title lable_center\\\">\\r\\n                                    <div>\\r\\n                                        <label>{{heading_title.completed_ratio | translate}}</label>\\r\\n                                        <h2>{{store_analytic_daily.completed_ratio.toFixed(2)}}</h2>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-lg-12\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <label class=\\\"control-label\\\">{{heading_title.order_earning | translate}}</label>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content\\\">\\r\\n                        <div class=\\\"table-responsive\\\">\\r\\n\\r\\n                            <table class=\\\"table table-striped\\\">\\r\\n                                <tbody>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{title.item_price | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{order_total1.total_item_price.toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{title.tax_price | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{order_total1.total_store_tax_price.toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{title.order_price | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{order_total1.total_order_price.toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{title.admin_profit | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{order_total1.total_admin_profit_on_store.toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{title.store_profit | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{order_total1.total_store_income.toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n                                </tbody>\\r\\n                            </table>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-lg-12\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <label class=\\\"control-label\\\">{{heading_title.store_transactions | translate}}</label>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content\\\">\\r\\n                        <div class=\\\"table-responsive\\\">\\r\\n\\r\\n                            <table class=\\\"table table-striped\\\">\\r\\n                                <tbody>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{title.received_order_amount | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{order_total1.store_have_order_payment.toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{title.paid_service_fee | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{order_total1.store_have_service_payment.toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{title.deduct_from_wallet | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{order_total1.total_wallet_income_set_in_cash_order.toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{title.added_in_wallet | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{order_total1.total_wallet_income_set_in_other_order.toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n                                </tbody>\\r\\n                            </table>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-lg-12\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <label class=\\\"control-label\\\">{{heading_title.payment | translate}}</label>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content\\\">\\r\\n                        <div class=\\\"table-responsive\\\">\\r\\n\\r\\n                            <table class=\\\"table table-striped\\\">\\r\\n                                <tbody>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{title.total_earnings | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{order_total1.total_earning.toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{title.paid_in_wallet | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{order_total1.total_wallet_income_set.toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{title.pay_to_store | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{order_total1.pay_to_store.toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{title.paid | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{order_total1.total_paid.toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{title.remaining_to_pay | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{order_total1.total_remaining_to_paid.toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n                                </tbody>\\r\\n                            </table>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"row\\\" *ngIf=\\\"show==true\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\">\\r\\n                    <div>\\r\\n                        <label>{{heading_title.daily_earning | translate}}</label>\\r\\n                    </div>\\r\\n\\r\\n                </div>\\r\\n                <div class=\\\"ibox-content\\\" style=\\\"padding-bottom: 40px;\\\">\\r\\n                    <div class=\\\"table-responsive\\\" style=\\\"padding-bottom: 50px;\\\">\\r\\n                        <table class=\\\"table table-striped\\\">\\r\\n\\r\\n                            <tbody>\\r\\n                            <tr *ngIf=\\\"(date.date1 | amDifference: today :'days' : true) <= 0 \\\" >\\r\\n                                <td>{{date.date1 | date: \\\"EEE, dd MMM\\\"}}</td>\\r\\n                                <td>{{order_day_total.date1.toFixed(2)}}</td>\\r\\n                            </tr>\\r\\n                            <tr *ngIf=\\\"(date.date2 | amDifference: today :'days' : true) <= 0 \\\" >\\r\\n                                <td>{{date.date2 | date: \\\"EEE, dd MMM\\\"}}</td>\\r\\n                                <td>{{order_day_total.date2.toFixed(2)}}</td>\\r\\n                            </tr>\\r\\n                            <tr *ngIf=\\\"(date.date3 | amDifference: today :'days' : true) <= 0 \\\" >\\r\\n                                <td>{{date.date3 | date: \\\"EEE, dd MMM\\\"}}</td>\\r\\n                                <td>{{order_day_total.date3.toFixed(2)}}</td>\\r\\n                            </tr>\\r\\n                            <tr *ngIf=\\\"(date.date4 | amDifference: today :'days' : true) <= 0 \\\" >\\r\\n                                <td>{{date.date4 | date: \\\"EEE, dd MMM\\\"}}</td>\\r\\n                                <td>{{order_day_total.date4.toFixed(2)}}</td>\\r\\n                            </tr>\\r\\n                            <tr *ngIf=\\\"(date.date5 | amDifference: today :'days' : true) <= 0 \\\" >\\r\\n                                <td>{{date.date5 | date: \\\"EEE, dd MMM\\\"}}</td>\\r\\n                                <td>{{order_day_total.date5.toFixed(2)}}</td>\\r\\n                            </tr>\\r\\n                            <tr *ngIf=\\\"(date.date6 | amDifference: today :'days' : true) <= 0 \\\">\\r\\n                                <td>{{date.date6 | date: \\\"EEE, dd MMM\\\"}}</td>\\r\\n                                <td>{{order_day_total.date6.toFixed(2)}}</td>\\r\\n                            </tr>\\r\\n                            <tr *ngIf=\\\"(date.date7 | amDifference: today :'days' : true) <= 0 \\\" >\\r\\n                                <td>{{date.date7 | date: \\\"EEE, dd MMM\\\"}}</td>\\r\\n                                <td>{{order_day_total.date7.toFixed(2)}}</td>\\r\\n                            </tr>\\r\\n                            </tbody>\\r\\n\\r\\n                        </table>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </modal-body>\\r\\n</modal>\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/store_weekly_earning/store_weekly_earning.component.html\n// module id = 1639\n// module chunks = 0","module.exports = \"<div class=\\\"row wrapper content_top_bar border-bottom white-bg page-heading\\\">\\r\\n\\r\\n    <!--    <div class=\\\"col-lg-12\\\">\\r\\n            <strong><h3 style=\\\"text-align:center\\\">{{currency}} {{(order_total.total_earning).toFixed(2)}}</h3></strong>\\r\\n        </div>-->\\r\\n    <div class=\\\"col-lg-12\\\">\\r\\n        <div class=\\\"col-md-6 col-sm-6 col-xs-6\\\">\\r\\n            <h3>{{currency}} {{(order_total.total_earning).toFixed(2)}}</h3>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-md-6 col-sm-6 col-xs-6\\\">\\r\\n            <span class=\\\"pull-right\\\"><a class=\\\"btn btn-primary\\\" (click)=\\\"download()\\\">Download Pdf</a></span>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n\\r\\n<div class=\\\"wrapper wrapper-content animated fadeInRight \\\">\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-content\\\">\\r\\n                <div class=\\\"row\\\">\\r\\n                    <div class=\\\"col-md-3 col-sm-6\\\">\\r\\n                        <div class=\\\"ibox\\\">\\r\\n                            <div class=\\\"ibox-title lable_center\\\">\\r\\n                                <div>\\r\\n\\r\\n                                    <label>{{title.sws_total_order | translate}}</label>\\r\\n                                    <h2>{{store_analytic_weekly.total_orders}}</h2>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-3 col-sm-6\\\">\\r\\n                        <div class=\\\"ibox\\\">\\r\\n                            <div class=\\\"ibox-title lable_center\\\">\\r\\n                                <div>\\r\\n\\r\\n                                    <label>{{title.sws_completed_order | translate}}</label>\\r\\n                                    <h2>{{store_analytic_weekly.completed}}</h2>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-3 col-sm-6\\\">\\r\\n                        <div class=\\\"ibox\\\">\\r\\n                            <div class=\\\"ibox-title lable_center\\\">\\r\\n                                <div>\\r\\n\\r\\n                                    <label>{{title.sws_accepted | translate}}</label>\\r\\n                                    <h2>{{store_analytic_weekly.accepted}}</h2>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-3 col-sm-6\\\">\\r\\n                        <div class=\\\"ibox\\\">\\r\\n                            <div class=\\\"ibox-title lable_center\\\">\\r\\n                                <div>\\r\\n\\r\\n                                    <label>{{title.sws_rejected_cancelled | translate}}</label>\\r\\n                                    <h2>{{store_analytic_weekly.cancelled + store_analytic_weekly.rejected }}</h2>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"col-md-3 col-sm-6\\\">\\r\\n                        <div class=\\\"ibox\\\">\\r\\n                            <div class=\\\"ibox-title lable_center\\\">\\r\\n                                <div>\\r\\n\\r\\n                                    <label>{{title.sws_total_item_sold | translate}}</label>\\r\\n                                    <h2>{{store_analytic_weekly.total_items}}</h2>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n\\r\\n\\r\\n                    <div class=\\\"col-md-3 col-sm-6\\\">\\r\\n                        <div class=\\\"ibox\\\">\\r\\n                            <div class=\\\"ibox-title lable_center\\\">\\r\\n                                <div>\\r\\n\\r\\n                                    <label>{{title.sws_completed_ratio | translate}}</label>\\r\\n                                    <h2>{{store_analytic_weekly.completed_ratio}}</h2>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-3 col-sm-6\\\">\\r\\n                        <div class=\\\"ibox\\\">\\r\\n                            <div class=\\\"ibox-title lable_center\\\">\\r\\n                                <div>\\r\\n\\r\\n                                    <label>{{title.sws_accepted_ratio | translate}}</label>\\r\\n                                    <h2>{{store_analytic_weekly.acception_ratio}}</h2>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-3 col-sm-6\\\">\\r\\n                        <div class=\\\"ibox\\\">\\r\\n                            <div class=\\\"ibox-title lable_center\\\">\\r\\n                                <div>\\r\\n\\r\\n                                    <label>{{title.sws_rejection_cancelled_ratio | translate}}</label>\\r\\n                                    <h2>{{store_analytic_weekly.rejection_ratio + store_analytic_weekly.cancellation_ratio }}</h2>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\" >\\r\\n                    <label class=\\\"control-label\\\">{{heading_title.sws_order_earning | translate}}</label>  \\r\\n                </div>\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"table-responsive\\\">\\r\\n\\r\\n                        <table class=\\\"table table-striped\\\">\\r\\n                            <tbody>\\r\\n                                <tr>\\r\\n                                    <td style=\\\"border: none;\\\">\\r\\n                                        <div><strong>{{title.sws_item_price | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total.total_item_price).toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td style=\\\"border: none;\\\">\\r\\n                                        <div><strong>{{title.sws_tax_price | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total.total_store_tax_price).toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td style=\\\"border: none;\\\">\\r\\n                                        <div><strong>{{title.sws_order_price | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total.total_order_price).toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n\\r\\n\\r\\n                                <tr>\\r\\n                                    <td style=\\\"border: none;\\\">\\r\\n                                        <div><strong>{{title.sws_store_profit | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total.total_admin_profit_on_store).toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td style=\\\"border: none;\\\">\\r\\n                                        <div><strong>{{title.sws_wallet | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total.wallet).toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n                            </tbody>\\r\\n\\r\\n                        </table>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>  \\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\" >\\r\\n                    <label class=\\\"control-label\\\">{{heading_title.sws_store_transaction | translate}}</label>  \\r\\n                </div>\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"table-responsive\\\">\\r\\n\\r\\n                        <table class=\\\"table table-striped\\\">\\r\\n                            <tbody>\\r\\n\\r\\n<!--\\r\\n                                <tr>\\r\\n                                    <td style=\\\"border: none;\\\">\\r\\n                                        <div><strong>{{title.sws_total_earning | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total.total_earning).toFixed(2)}}</td>\\r\\n                                </tr>-->\\r\\n                                <tr>\\r\\n                                    <td style=\\\"border: none;\\\">\\r\\n                                        <div><strong>{{title.sws_received_order_amount | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total.store_have_order_payment).toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n\\r\\n                                <tr>\\r\\n                                    <td style=\\\"border: none;\\\">\\r\\n                                        <div><strong>{{title.sws_paid_service_fees | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total.store_have_service_payment).toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n\\r\\n\\r\\n                                <tr>\\r\\n                                    <td style=\\\"border: none;\\\">\\r\\n                                        <div><strong>{{title.pws_total_wallet_income_set_in_cash_order | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total.total_wallet_income_set_in_cash_order).toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n\\r\\n                                <tr>\\r\\n                                    <td style=\\\"border: none;\\\">\\r\\n                                        <div><strong>{{title.pws_total_wallet_income_set_in_other_order | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total.total_wallet_income_set_in_other_order).toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n\\r\\n\\r\\n                            </tbody>\\r\\n\\r\\n                        </table>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>  \\r\\n    </div>\\r\\n\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\" >\\r\\n                    <label class=\\\"control-label\\\">{{heading_title.sws_payment | translate}}</label>  \\r\\n                </div>\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"table-responsive\\\">\\r\\n\\r\\n                        <table class=\\\"table table-striped\\\">\\r\\n                            <tbody>\\r\\n                                <tr>\\r\\n                                    <td style=\\\"border: none;\\\">\\r\\n                                        <div><strong>{{title.sws_store_earning | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total.total_store_income).toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n\\r\\n                                <tr>\\r\\n                                    <td style=\\\"border: none;\\\">\\r\\n                                        <div><strong>{{title.sws_paid_in_wallet | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total.total_wallet_income_set).toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td style=\\\"border: none;\\\">\\r\\n                                        <div><strong>{{title.sws_paid | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total.store_have_order_payment).toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td style=\\\"border: none;\\\">\\r\\n                                        <div><strong>{{title.sws_remining_to_pay | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total.pay_to_store).toFixed(2)}}</td>\\r\\n                                </tr>\\r\\n\\r\\n\\r\\n                                <!--                                <tr>\\r\\n                                                                    <td style=\\\"border: none;\\\">\\r\\n                                                                        <div><strong>{{title.sws_total_earning | translate}}</strong></div>\\r\\n                                                                    </td>\\r\\n                                                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(order_total.total_earning).toFixed(2)}}</td>\\r\\n                                                                </tr>-->\\r\\n\\r\\n\\r\\n                            </tbody>\\r\\n\\r\\n                        </table>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>  \\r\\n    </div>\\r\\n\\r\\n\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\">\\r\\n                <div>\\r\\n                    <label>{{heading_title.sws_daily_order_earning | translate}}</label>\\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n            <div class=\\\"ibox-content\\\" style=\\\"padding-bottom: 40px;\\\">\\r\\n                <div class=\\\"table-responsive\\\" style=\\\"padding-bottom: 50px;\\\">\\r\\n                    <table class=\\\"table table-striped\\\">\\r\\n                        <thead>\\r\\n                            <tr>\\r\\n                                <th>{{title.sws_date | translate}}</th>\\r\\n                                <th>{{title.sws_total | translate}}</th>\\r\\n                                <th>{{title.sws_order | translate}}</th>\\r\\n                                <th>{{title.sws_delivery | translate}}</th>\\r\\n                                <th>{{title.sws_profit | translate}}</th>\\r\\n                                <th>{{title.sws_delivery_paid | translate}}</th>\\r\\n                                <th>{{title.sws_received_order_payment | translate}}</th>\\r\\n                                <th>{{title.sws_earn | translate}}</th>\\r\\n                            </tr>\\r\\n                        </thead>\\r\\n                        <tbody *ngIf=\\\"this.order_day_total!=='' && this.date!==''\\\">\\r\\n                            <tr>\\r\\n                                <td>{{date.date1 | date: \\\"dd MMM yyyy hh:mm a\\\"}}</td>\\r\\n                                <td>{{order_day_total.date1_total}}</td>\\r\\n                                <td>{{order_day_total.date1_total_order_price}}</td>\\r\\n                                <td>{{order_day_total.date1_total_delivery_price}}</td>\\r\\n                                <td>{{order_day_total.date1_profit}}</td>\\r\\n                                <td>{{order_day_total.date1_delivery_paid}}</td>\\r\\n                                <td>{{order_day_total.date1_recieved_order_payment}}</td>\\r\\n                                <td>{{order_day_total.date1_pay_to_store}}</td>\\r\\n\\r\\n\\r\\n                            </tr>\\r\\n                            <tr>\\r\\n                                <td>{{date.date2 | date: \\\"EEE, dd MMM\\\"}}</td>\\r\\n                                <td>{{order_day_total.date2_total}}</td>\\r\\n                                <td>{{order_day_total.date2_total_order_price}}</td>\\r\\n                                <td>{{order_day_total.date2_total_delivery_price}}</td>\\r\\n                                <td>{{order_day_total.date2_profit}}</td>\\r\\n                                <td>{{order_day_total.date2_delivery_paid}}</td>\\r\\n                                <td>{{order_day_total.date2_recieved_order_payment}}</td>\\r\\n                                <td>{{order_day_total.date2_pay_to_store}}</td>\\r\\n\\r\\n                            </tr>\\r\\n                            <tr>\\r\\n                                <td>{{date.date3 | date: \\\"EEE, dd MMM\\\"}}</td>\\r\\n                                <td>{{order_day_total.date3_total}}</td>\\r\\n                                <td>{{order_day_total.date3_total_order_price}}</td>\\r\\n                                <td>{{order_day_total.date3_total_delivery_price}}</td>\\r\\n                                <td>{{order_day_total.date3_profit}}</td>\\r\\n                                <td>{{order_day_total.date3_delivery_paid}}</td>\\r\\n                                <td>{{order_day_total.date3_recieved_order_payment}}</td>\\r\\n                                <td>{{order_day_total.date3_pay_to_store}}</td>\\r\\n\\r\\n                            </tr>\\r\\n                            <tr>\\r\\n                                <td>{{date.date4 | date: \\\"EEE, dd MMM\\\"}}</td>\\r\\n                                <td>{{order_day_total.date4_total}}</td>\\r\\n                                <td>{{order_day_total.date4_total_order_price}}</td>\\r\\n                                <td>{{order_day_total.date4_total_delivery_price}}</td>\\r\\n                                <td>{{order_day_total.date4_profit}}</td>\\r\\n                                <td>{{order_day_total.date4_delivery_paid}}</td>\\r\\n                                <td>{{order_day_total.date4_recieved_order_payment}}</td>\\r\\n                                <td>{{order_day_total.date4_pay_to_store}}</td>\\r\\n\\r\\n                            </tr>\\r\\n                            <tr>\\r\\n                                <td>{{date.date5 | date: \\\"EEE, dd MMM\\\"}}</td>\\r\\n                                <td>{{order_day_total.date5_total}}</td>\\r\\n                                <td>{{order_day_total.date5_total_order_price}}</td>\\r\\n                                <td>{{order_day_total.date5_total_delivery_price}}</td>\\r\\n                                <td>{{order_day_total.date5_profit}}</td>\\r\\n                                <td>{{order_day_total.date5_delivery_paid}}</td>\\r\\n                                <td>{{order_day_total.date5_recieved_order_payment}}</td>\\r\\n                                <td>{{order_day_total.date5_pay_to_store}}</td>\\r\\n\\r\\n                            </tr>\\r\\n                            <tr>\\r\\n                                <td>{{date.date6 | date: \\\"EEE, dd MMM\\\"}}</td>\\r\\n                                <td>{{order_day_total.date6_total}}</td>\\r\\n                                <td>{{order_day_total.date6_total_order_price}}</td>\\r\\n                                <td>{{order_day_total.date6_total_delivery_price}}</td>\\r\\n                                <td>{{order_day_total.date6_profit}}</td>\\r\\n                                <td>{{order_day_total.date6_delivery_paid}}</td>\\r\\n                                <td>{{order_day_total.date6_recieved_order_payment}}</td>\\r\\n                                <td>{{order_day_total.date6_pay_to_store}}</td>\\r\\n\\r\\n                            </tr>\\r\\n                            <tr>\\r\\n                                <td>{{date.date7 | date: \\\"EEE, dd MMM\\\"}}</td>\\r\\n                                <td>{{order_day_total.date7_total}}</td>\\r\\n                                <td>{{order_day_total.date7_total_order_price}}</td>\\r\\n                                <td>{{order_day_total.date7_total_delivery_price}}</td>\\r\\n                                <td>{{order_day_total.date7_profit}}</td>\\r\\n                                <td>{{order_day_total.date7_delivery_paid}}</td>\\r\\n                                <td>{{order_day_total.date7_recieved_order_payment}}</td>\\r\\n                                <td>{{order_day_total.date7_pay_to_store}}</td>\\r\\n\\r\\n                            </tr>\\r\\n                        </tbody>\\r\\n\\r\\n                    </table>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/store_weekly_earning_statement/store_weekly_earning_statement.component.html\n// module id = 1640\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\"></footer>\\r\\n\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n  <div class=\\\"row\\\">\\r\\n    <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n      <div>\\r\\n        <label>{{ title.search | translate }}</label>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"search_field\\\"\\r\\n            [(ngModel)]=\\\"helper.router_id.store_filter.search_field\\\"\\r\\n            name=\\\"search_field\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <option value=\\\"name\\\">{{ title.filter_name | translate }}</option>\\r\\n            <option value=\\\"email\\\">{{ title.filter_email | translate }}</option>\\r\\n            <option value=\\\"phone\\\">{{ title.filter_phone | translate }}</option>\\r\\n            <option value=\\\"unique_id\\\">{{ title.unique_id | translate }}</option>\\r\\n            <!-- <option value=\\\"country_details.country_name\\\">{{title.country | translate}}</option> -->\\r\\n            <!-- <option value=\\\"city_details.city_name\\\">{{title.city | translate}}</option> -->\\r\\n            <option value=\\\"delivery_details.delivery_name\\\">\\r\\n              {{ title.delivery_type | translate }}\\r\\n            </option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n        <div class=\\\"form-group\\\">\\r\\n          <div class=\\\"input-group\\\">\\r\\n            <input\\r\\n              type=\\\"text\\\"\\r\\n              class=\\\"form-control search_box\\\"\\r\\n              [(ngModel)]=\\\"helper.router_id.store_filter.search_value\\\"\\r\\n              name=\\\"search_value\\\"\\r\\n            />\\r\\n            <span (click)=\\\"filter(1)\\\" class=\\\"input-group-addon search_icon\\\"\\r\\n              ><span class=\\\"fa fa-search\\\"></span\\r\\n            ></span>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n    <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n      <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n        <div class=\\\"lable_center\\\">\\r\\n          <label>{{ title.country | translate }}</label>\\r\\n        </div>\\r\\n        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"country_dispatcher\\\"\\r\\n            [(ngModel)]=\\\"helper.router_id.store_filter.country_id\\\"\\r\\n            name=\\\"country_id\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <option value=\\\"\\\">All</option>\\r\\n            <option *ngFor=\\\"let i of country_list\\\" value=\\\"{{ i._id }}\\\">\\r\\n              {{ i.country_name }}\\r\\n            </option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-3 col-sm-6\\\">\\r\\n        <div>\\r\\n          <label>{{ title.no_of_record | translate }}</label>\\r\\n        </div>\\r\\n        <div class=\\\"form-group\\\">\\r\\n          <select\\r\\n            chosen\\r\\n            class=\\\"chosen-select\\\"\\r\\n            id=\\\"number_of_rec\\\"\\r\\n            [(ngModel)]=\\\"helper.router_id.store_filter.number_of_rec\\\"\\r\\n            name=\\\"number_of_rec\\\"\\r\\n            tabindex=\\\"4\\\"\\r\\n          >\\r\\n            <option value=\\\"10\\\">10</option>\\r\\n            <option value=\\\"20\\\">20</option>\\r\\n            <option value=\\\"50\\\">50</option>\\r\\n            <option value=\\\"100\\\">100</option>\\r\\n            <option value=\\\"150\\\">150</option>\\r\\n            <option value=\\\"300\\\">300</option>\\r\\n          </select>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-3 col-sm-6 filter_btn_div\\\">\\r\\n        <button\\r\\n          type=\\\"button\\\"\\r\\n          (click)=\\\"\\r\\n            store_export_csv1(helper.router_id.store_filter.store_page_type)\\r\\n          \\\"\\r\\n          class=\\\"btn export_excel_btn\\\"\\r\\n        >\\r\\n          <span class=\\\"fa fa-file-excel-o\\\"></span>\\r\\n        </button>\\r\\n      </div>\\r\\n    </div>\\r\\n    <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n      <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n        <button\\r\\n          type=\\\"button\\\"\\r\\n          (click)=\\\"get_duplicate_menu()\\\"\\r\\n          class=\\\"btn export_excel_btn\\\"\\r\\n        >\\r\\n          Duplicate Store Menu\\r\\n        </button>\\r\\n      </div>\\r\\n      <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n        <a href=\\\"/store/register\\\" target=\\\"_blank\\\"\\r\\n          ><button type=\\\"button\\\" class=\\\"btn export_excel_btn\\\">\\r\\n            Create Store\\r\\n          </button></a\\r\\n        >\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n</div>\\r\\n\\r\\n<div class=\\\"wrapper wrapper-content content_top_bar_view1 animated fadeInRight\\\">\\r\\n  <div class=\\\"row\\\">\\r\\n    <div class=\\\"col-md-8\\\">\\r\\n      <div class=\\\"ibox\\\">\\r\\n        <div class=\\\"ibox-content\\\" style=\\\"padding-bottom: 40px\\\">\\r\\n          <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n              <ul class=\\\"nav nav-tabs\\\">\\r\\n                <li\\r\\n                  (click)=\\\"change_page_type(1)\\\"\\r\\n                  [class.active]=\\\"\\r\\n                    helper.router_id.store_filter.store_page_type == 1\\r\\n                  \\\"\\r\\n                  class=\\\"dsads uib-tab ng-scope ng-isolate-scope\\\"\\r\\n                  active=\\\"tab.active\\\"\\r\\n                >\\r\\n                  <a class=\\\"ng-binding tab_selection\\\">{{\\r\\n                    helper.sub_menu_title.stores | translate\\r\\n                  }}</a>\\r\\n                </li>\\r\\n                <li\\r\\n                  (click)=\\\"change_page_type(2)\\\"\\r\\n                  [class.active]=\\\"\\r\\n                    helper.router_id.store_filter.store_page_type == 2\\r\\n                  \\\"\\r\\n                  class=\\\"uib-tab ng-scope ng-isolate-scope active\\\"\\r\\n                >\\r\\n                  <a class=\\\"ng-binding tab_selection\\\">{{\\r\\n                    helper.sub_menu_title.declined_stores | translate\\r\\n                  }}</a>\\r\\n                </li>\\r\\n                <li\\r\\n                  (click)=\\\"change_page_type(3)\\\"\\r\\n                  [class.active]=\\\"\\r\\n                    helper.router_id.store_filter.store_page_type == 3\\r\\n                  \\\"\\r\\n                  class=\\\"uib-tab ng-scope ng-isolate-scope active\\\"\\r\\n                >\\r\\n                  <a class=\\\"ng-binding tab_selection\\\">{{\\r\\n                    helper.sub_menu_title.business_off_stores | translate\\r\\n                  }}</a>\\r\\n                </li>\\r\\n                <li\\r\\n                  (click)=\\\"change_page_type(4)\\\"\\r\\n                  [class.active]=\\\"\\r\\n                    helper.router_id.store_filter.store_page_type == 4\\r\\n                  \\\"\\r\\n                  class=\\\"uib-tab ng-scope ng-isolate-scope active\\\"\\r\\n                >\\r\\n                  <a class=\\\"ng-binding tab_selection\\\">{{\\r\\n                    helper.sub_menu_title.incomplete | translate\\r\\n                  }}</a>\\r\\n                </li>\\r\\n                <li\\r\\n                  (click)=\\\"change_page_type(5)\\\"\\r\\n                  [class.active]=\\\"\\r\\n                    helper.router_id.store_filter.store_page_type == 5\\r\\n                  \\\"\\r\\n                  class=\\\"uib-tab ng-scope ng-isolate-scope active\\\"\\r\\n                >\\r\\n                  <a class=\\\"ng-binding tab_selection\\\">{{\\r\\n                    helper.sub_menu_title.linkphi_stores | translate\\r\\n                  }}</a>\\r\\n                </li>\\r\\n              </ul>\\r\\n            </div>\\r\\n          </div>\\r\\n          <div class=\\\"lable_center\\\" *ngIf=\\\"store_list.length == 0\\\">\\r\\n            <label>No Records</label>\\r\\n          </div>\\r\\n          <div\\r\\n            [hidden]=\\\"store_list.length == 0\\\"\\r\\n            class=\\\"table-responsive scrollbar\\\"\\r\\n            style=\\\"height: calc(100vh - 285px); overflow: auto\\\"\\r\\n          >\\r\\n            <table class=\\\"table\\\">\\r\\n              <thead>\\r\\n                <tr>\\r\\n                  <th>{{ title.id | translate }}</th>\\r\\n                  <th>{{ title.rate | translate }}</th>\\r\\n                  <th>{{ title.name | translate }}</th>\\r\\n                  <th>{{ title.email | translate }}</th>\\r\\n                  <th>{{ title.phone | translate }}</th>\\r\\n                  <th>{{ title.country | translate }}</th>\\r\\n                  <th>{{ title.city | translate }}</th>\\r\\n                  <th>{{ title.delivery_type | translate }}</th>\\r\\n                  <th>{{ title.activity_status | translate }}</th>\\r\\n                  <th>{{ title.tablet | translate }}</th>\\r\\n                </tr>\\r\\n              </thead>\\r\\n              <tbody>\\r\\n                <tr\\r\\n                  *ngFor=\\\"let store of store_list\\\"\\r\\n                  [class.selected_tr]=\\\"store._id == store_detail._id\\\"\\r\\n                  (click)=\\\"get_store_detail(store._id)\\\"\\r\\n                >\\r\\n                  <td>\\r\\n                    {{ store.unique_id }}\\r\\n                    <span\\r\\n                      class=\\\"label\\\"\\r\\n                      *ngIf=\\\"store.order_pay_status == 1\\\"\\r\\n                      style=\\\"\\r\\n                        padding: 1px 6px;\\r\\n                        position: unset !important;\\r\\n                        border-radius: 50%;\\r\\n                        background-color: red;\\r\\n                        font-size: 10px;\\r\\n                        font-weight: bold;\\r\\n                      \\\"\\r\\n                    >\\r\\n                    </span>\\r\\n                  </td>\\r\\n                  <td>{{ store.user_rate }}</td>\\r\\n                  <!--<td class=\\\"client-avatar\\\"><img alt=\\\"image\\\" src=\\\"{{store.image_url != '' ? store.image_url : 'default.png'}}\\\"> </td>-->\\r\\n                  <td>{{ store.name }}</td>\\r\\n                  <td>{{ store.email }}</td>\\r\\n                  <td>{{ store.country_phone_code }} {{ store.phone }}</td>\\r\\n                  <td>{{ store.country_details.country_name }}</td>\\r\\n                  <td>{{ store.city_details.city_name }}</td>\\r\\n                  <td>\\r\\n                    <span *ngIf=\\\"store.business_types && store.business_types.length === 1 && store.business_types[0] === 2\\\">Link'hop</span>\\r\\n                    <ng-container *ngIf=\\\"!(store.business_types && store.business_types.length === 1 && store.business_types[0] === 2)\\\">\\r\\n                      <span\\r\\n                        *ngFor=\\\"\\r\\n                          let delivery_detail of store.delivery_details;\\r\\n                          let last = last\\r\\n                        \\\"\\r\\n                        >{{ delivery_detail.delivery_name }}\\r\\n                        <span *ngIf=\\\"!last\\\"> , </span>\\r\\n                      </span>\\r\\n                    </ng-container>\\r\\n                  </td>\\r\\n                  <td>\\r\\n                    <span *ngIf=\\\"store.activity_status === 1\\\"\\r\\n                      ><span\\r\\n                        class=\\\"label\\\"\\r\\n                        style=\\\"\\r\\n                          padding: 2px 7px;\\r\\n                          font-size: 6px;\\r\\n                          position: unset !important;\\r\\n                          border-radius: 50%;\\r\\n                          background-color: green;\\r\\n                          font-weight: bold;\\r\\n                        \\\"\\r\\n                      >\\r\\n                      </span\\r\\n                      ><b style=\\\"padding-left: 4px\\\">Active</b></span\\r\\n                    >\\r\\n                    <span *ngIf=\\\"store.activity_status === 2\\\"\\r\\n                      ><span\\r\\n                        class=\\\"label\\\"\\r\\n                        style=\\\"\\r\\n                          padding: 2px 7px;\\r\\n                          font-size: 6px;\\r\\n                          position: unset !important;\\r\\n                          border-radius: 50%;\\r\\n                          background-color: orange;\\r\\n                          font-weight: bold;\\r\\n                        \\\"\\r\\n                      >\\r\\n                      </span\\r\\n                      ><b style=\\\"padding-left: 4px\\\"> Low Activity</b></span\\r\\n                    >\\r\\n                    <span *ngIf=\\\"store.activity_status === 3\\\"\\r\\n                      ><span\\r\\n                        class=\\\"label\\\"\\r\\n                        style=\\\"\\r\\n                          padding: 2px 7px;\\r\\n                          font-size: 6px;\\r\\n                          position: unset !important;\\r\\n                          border-radius: 50%;\\r\\n                          background-color: red;\\r\\n                          font-weight: bold;\\r\\n                        \\\"\\r\\n                      >\\r\\n                      </span\\r\\n                      ><b style=\\\"padding-left: 4px\\\">Inactive</b></span\\r\\n                    >\\r\\n                    <span\\r\\n                      style=\\\"cursor: pointer\\\"\\r\\n                      (click)=\\\"open_churn_modal()\\\"\\r\\n                      *ngIf=\\\"store.activity_status === 4\\\"\\r\\n                      ><span\\r\\n                        class=\\\"label\\\"\\r\\n                        style=\\\"\\r\\n                          padding: 2px 7px;\\r\\n                          font-size: 6px;\\r\\n                          position: unset !important;\\r\\n                          border-radius: 50%;\\r\\n                          background-color: violet;\\r\\n                          font-weight: bold;\\r\\n                        \\\"\\r\\n                      >\\r\\n                      </span\\r\\n                      ><b style=\\\"padding-left: 4px\\\">CHURN</b></span\\r\\n                    >\\r\\n                    <span\\r\\n                      style=\\\"cursor: pointer\\\"\\r\\n                      (click)=\\\"open_never_launched_modal()\\\"\\r\\n                      *ngIf=\\\"store.activity_status === 5\\\"\\r\\n                      ><span\\r\\n                        class=\\\"label\\\"\\r\\n                        style=\\\"\\r\\n                          padding: 2px 7px;\\r\\n                          font-size: 6px;\\r\\n                          position: unset !important;\\r\\n                          border-radius: 50%;\\r\\n                          background-color: blue;\\r\\n                          font-weight: bold;\\r\\n                        \\\"\\r\\n                      >\\r\\n                      </span\\r\\n                      ><b style=\\\"padding-left: 4px\\\"> Never Launched</b></span\\r\\n                    >\\r\\n                  </td>\\r\\n                  <td>\\r\\n                    <span *ngIf=\\\"store.is_tablet\\\">{{\\r\\n                      title.yes | translate\\r\\n                    }}</span>\\r\\n                    <span *ngIf=\\\"!store.is_tablet\\\">{{\\r\\n                      title.no | translate\\r\\n                    }}</span>\\r\\n                  </td>\\r\\n                </tr>\\r\\n              </tbody>\\r\\n            </table>\\r\\n          </div>\\r\\n          <div class=\\\"col-md-12 col-sm-12\\\" style=\\\"margin-top: 5px\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n              <ul class=\\\"pagination\\\">\\r\\n                <li *ngIf=\\\"helper.router_id.store_filter.page !== 1\\\">\\r\\n                  <a\\r\\n                    class=\\\"btn\\\"\\r\\n                    (click)=\\\"filter(helper.router_id.store_filter.page - 1)\\\"\\r\\n                    >{{ button.pre | translate }}</a\\r\\n                  >\\r\\n                </li>\\r\\n                <li\\r\\n                  *ngFor=\\\"let index of total_pages\\\"\\r\\n                  [class.active]=\\\"helper.router_id.store_filter.page == index\\\"\\r\\n                >\\r\\n                  <a\\r\\n                    *ngIf=\\\"\\r\\n                      index == 1 ||\\r\\n                      index == total_page ||\\r\\n                      index == helper.router_id.store_filter.page ||\\r\\n                      index == helper.router_id.store_filter.page - 1 ||\\r\\n                      index == helper.router_id.store_filter.page + 1\\r\\n                    \\\"\\r\\n                    (click)=\\\"filter(index)\\\"\\r\\n                    class=\\\"btn\\\"\\r\\n                    >{{ index }}</a\\r\\n                  >\\r\\n                  <a\\r\\n                    *ngIf=\\\"\\r\\n                      (index == 1 &&\\r\\n                        helper.router_id.store_filter.page !== 1 &&\\r\\n                        helper.router_id.store_filter.page !== 2 &&\\r\\n                        helper.router_id.store_filter.page !== 3) ||\\r\\n                      (index == total_page - 1 &&\\r\\n                        helper.router_id.store_filter.page !== total_page &&\\r\\n                        helper.router_id.store_filter.page !== total_page - 1 &&\\r\\n                        helper.router_id.store_filter.page !== total_page - 2)\\r\\n                    \\\"\\r\\n                    class=\\\"btn\\\"\\r\\n                    >...</a\\r\\n                  >\\r\\n                </li>\\r\\n                <li\\r\\n                  *ngIf=\\\"\\r\\n                    helper.router_id.store_filter.page !== total_page &&\\r\\n                    store_list.length !== 0\\r\\n                  \\\"\\r\\n                >\\r\\n                  <a\\r\\n                    class=\\\"btn\\\"\\r\\n                    (click)=\\\"filter(helper.router_id.store_filter.page + 1)\\\"\\r\\n                    >{{ button.next | translate }}</a\\r\\n                  >\\r\\n                </li>\\r\\n              </ul>\\r\\n              <div class=\\\"col-md-2 pull-right\\\"></div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n    <div class=\\\"col-md-4\\\" *ngIf=\\\"store_detail._id\\\">\\r\\n      <div class=\\\"ibox\\\">\\r\\n        <div\\r\\n          class=\\\"ibox-content user_fix_div scrollbar\\\"\\r\\n          style=\\\"height: calc(100vh - 243px); overflow: auto\\\"\\r\\n        >\\r\\n          <div class=\\\"tab-content\\\">\\r\\n            <div\\r\\n              id=\\\"contact-1\\\"\\r\\n              class=\\\"tab-pane active\\\"\\r\\n              ng-show=\\\"client == 1\\\"\\r\\n              ng-init=\\\"client = 1\\\"\\r\\n            >\\r\\n              <div class=\\\"row m-b-lg\\\">\\r\\n                <span\\r\\n                  *ngIf=\\\"\\r\\n                    is_edit &&\\r\\n                    (selected_tab == 1 ||\\r\\n                      selected_tab == 6 ||\\r\\n                      selected_tab == 7)\\r\\n                  \\\"\\r\\n                  class=\\\"fa fa-check pull-right\\\"\\r\\n                  (click)=\\\"update_store_detail()\\\"\\r\\n                ></span>\\r\\n                <div class=\\\"row no_margin\\\">\\r\\n                  <div\\r\\n                    class=\\\"col-sm-3\\\"\\r\\n                    *ngIf=\\\"\\r\\n                      is_edit &&\\r\\n                      helper.router_id.store_filter.store_page_type !== 4\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <div class=\\\"text-center\\\">\\r\\n                      <span class=\\\"btn-file\\\">\\r\\n                        <img\\r\\n                          *ngIf=\\\"!is_file_changed\\\"\\r\\n                          style=\\\"width: 80px; height: 80px\\\"\\r\\n                          class=\\\"img-circle m-t-xs\\\"\\r\\n                          (error)=\\\"\\r\\n                            $event.target.src =\\r\\n                              helper.CONSTANT.IMAGE_BASE_URL + 'default.png'\\r\\n                          \\\"\\r\\n                          [src]=\\\"\\r\\n                            helper.CONSTANT.IMAGE_BASE_URL +\\r\\n                            store_detail.image_url\\r\\n                          \\\"\\r\\n                          alt=\\\"\\\" />\\r\\n                        <img\\r\\n                          *ngIf=\\\"is_file_changed\\\"\\r\\n                          style=\\\"width: 80px; height: 80px\\\"\\r\\n                          class=\\\"img-circle m-t-xs\\\"\\r\\n                          (error)=\\\"\\r\\n                            $event.target.src =\\r\\n                              helper.CONSTANT.IMAGE_BASE_URL + 'default.png'\\r\\n                          \\\"\\r\\n                          [src]=\\\"store_detail.image_url\\\"\\r\\n                          alt=\\\"\\\" />\\r\\n                        <input\\r\\n                          type=\\\"file\\\"\\r\\n                          (change)=\\\"change_image($event)\\\"\\r\\n                          accept=\\\"image/*\\\"\\r\\n                          name=\\\"image_url\\\"\\r\\n                      /></span>\\r\\n                      <!--<img *ngIf=\\\"!is_edit\\\" alt=\\\"image\\\" style=\\\"width: 80px; height: 80px;\\\" class=\\\"img-circle m-t-xs\\\" src=\\\"{{user_detail.image_url != '' ? user_detail.image_url : 'default.png'}}\\\">-->\\r\\n                      <input\\r\\n                        type=\\\"text\\\"\\r\\n                        class=\\\"form-control\\\"\\r\\n                        [(ngModel)]=\\\"store_detail.country_phone_code\\\"\\r\\n                        #country_phone_code=\\\"ngModel\\\"\\r\\n                        name=\\\"country_phone_code\\\"\\r\\n                        style=\\\"margin-top: 14px; margin-left: 35px\\\"\\r\\n                      />\\r\\n                    </div>\\r\\n                  </div>\\r\\n                  <div\\r\\n                    class=\\\"col-sm-12\\\"\\r\\n                    *ngIf=\\\"\\r\\n                      !is_edit ||\\r\\n                      helper.router_id.store_filter.store_page_type == 4\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <span\\r\\n                      *ngIf=\\\"\\r\\n                        !is_edit &&\\r\\n                        (selected_tab == 1 ||\\r\\n                          selected_tab == 6 ||\\r\\n                          selected_tab == 7)\\r\\n                      \\\"\\r\\n                      (click)=\\\"edit_data()\\\"\\r\\n                      class=\\\"fa fa-pencil pull-right\\\"\\r\\n                    ></span>\\r\\n                    <div class=\\\"text-center\\\">\\r\\n                      <img\\r\\n                        *ngIf=\\\"!is_edit && !is_file_changed\\\"\\r\\n                        alt=\\\"image\\\"\\r\\n                        style=\\\"width: 120px; height: 120px\\\"\\r\\n                        class=\\\"img-circle m-t-xs\\\"\\r\\n                        (error)=\\\"\\r\\n                          $event.target.src =\\r\\n                            helper.CONSTANT.IMAGE_BASE_URL + 'default.png'\\r\\n                        \\\"\\r\\n                        [src]=\\\"\\r\\n                          helper.CONSTANT.IMAGE_BASE_URL +\\r\\n                          store_detail.image_url\\r\\n                        \\\"\\r\\n                      />\\r\\n                      <img\\r\\n                        *ngIf=\\\"!is_edit && is_file_changed\\\"\\r\\n                        alt=\\\"image\\\"\\r\\n                        style=\\\"width: 120px; height: 120px\\\"\\r\\n                        class=\\\"img-circle m-t-xs\\\"\\r\\n                        (error)=\\\"\\r\\n                          $event.target.src =\\r\\n                            helper.CONSTANT.IMAGE_BASE_URL + 'default.png'\\r\\n                        \\\"\\r\\n                        [src]=\\\"store_detail.image_url\\\"\\r\\n                      />\\r\\n                      <div style=\\\"margin-top: 10px; font-size: 18px\\\">\\r\\n                        {{ store_detail.name }}\\r\\n                        <span\\r\\n                          class=\\\"fa fa-star\\\"\\r\\n                          style=\\\"padding-left: 10px\\\"\\r\\n                        ></span>\\r\\n                        <span>{{ store_detail.user_rate }}</span>\\r\\n                      </div>\\r\\n                      <div\\r\\n                        style=\\\"margin-top: 10px; font-size: 18px\\\"\\r\\n                        *ngIf=\\\"\\r\\n                          helper.router_id.store_filter.store_page_type == 4\\r\\n                        \\\"\\r\\n                      >\\r\\n                        Store Created: {{ store_detail.created_at }}\\r\\n                      </div>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                  <div\\r\\n                    class=\\\"col-sm-8\\\"\\r\\n                    *ngIf=\\\"\\r\\n                      is_edit &&\\r\\n                      helper.router_id.store_filter.store_page_type !== 4\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <div class=\\\"col-lg-12 form-group\\\">\\r\\n                      <input\\r\\n                        type=\\\"text\\\"\\r\\n                        class=\\\"form-control\\\"\\r\\n                        [(ngModel)]=\\\"store_detail.name\\\"\\r\\n                        #name=\\\"ngModel\\\"\\r\\n                        name=\\\"name\\\"\\r\\n                      />\\r\\n                    </div>\\r\\n                    <div class=\\\"col-lg-12 form-group\\\">\\r\\n                      <input\\r\\n                        type=\\\"text\\\"\\r\\n                        class=\\\"form-control\\\"\\r\\n                        [(ngModel)]=\\\"store_detail.email\\\"\\r\\n                        #email=\\\"ngModel\\\"\\r\\n                        name=\\\"email\\\"\\r\\n                      />\\r\\n                    </div>\\r\\n                    <div class=\\\"col-lg-12 form-group\\\">\\r\\n                      <input\\r\\n                        type=\\\"text\\\"\\r\\n                        class=\\\"form-control\\\"\\r\\n                        [(ngModel)]=\\\"store_detail.phone\\\"\\r\\n                        #phone=\\\"ngModel\\\"\\r\\n                        name=\\\"phone\\\"\\r\\n                      />\\r\\n                    </div>\\r\\n                  </div>\\r\\n\\r\\n                  <div\\r\\n                    class=\\\"ibox\\\"\\r\\n                    *ngIf=\\\"\\r\\n                      selected_tab == 1 &&\\r\\n                      helper.router_id.store_filter.store_page_type == 4\\r\\n                    \\\"\\r\\n                  >\\r\\n                    <div class=\\\"ibox-content\\\" *ngIf=\\\"selected_tab == 1\\\">\\r\\n                      <!-- <div class=\\\"row no_margin\\\" *ngIf=\\\"selected_tab==1\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                                                <div class=\\\"col-md-12 no_padding\\\" style=\\\"padding-top: 10px;padding-bottom: 4px;\\\">\\r\\n                                                    <div class=\\\"col-md-4 no_padding\\\">\\r\\n                                                        <label>{{title.saas | translate}}</label>\\r\\n                                                    </div>\\r\\n                                                    <div class=\\\"col-md-4 no_padding text-center\\\">\\r\\n                                                        <span class=\\\"\\\">  <ui-switch [disabled]=\\\"!is_edit\\\" [(ngModel)]=\\\"store_detail.is_saas_business\\\" name=\\\"is_saas_business\\\"></ui-switch></span>\\r\\n                                                    </div>\\r\\n                                                    \\r\\n                                                </div>\\r\\n                                            </div> -->\\r\\n\\r\\n                      <ul class=\\\"list-group clear-list\\\">\\r\\n                        <li\\r\\n                          *ngIf=\\\"store_detail.is_saas_business\\\"\\r\\n                          class=\\\"list-group-item row\\\"\\r\\n                          [class.set_height]=\\\"is_edit\\\"\\r\\n                        >\\r\\n                          <div class=\\\"col-md-4\\\">\\r\\n                            {{\\r\\n                              title.saas_percentage_delivery_for_store\\r\\n                                | translate\\r\\n                            }}\\r\\n                          </div>\\r\\n                          <div class=\\\"col-md-4\\\">\\r\\n                            <span class=\\\"pull-right\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                              {{\\r\\n                                store_detail.saas_percentage_delivery_for_store\\r\\n                              }}%\\r\\n                            </span>\\r\\n                            <span class=\\\"pull-right\\\" *ngIf=\\\"is_edit\\\">\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                [(ngModel)]=\\\"\\r\\n                                  store_detail.saas_percentage_delivery_for_store\\r\\n                                \\\"\\r\\n                                #saas_percentage_delivery_for_store=\\\"ngModel\\\"\\r\\n                                name=\\\"saas_percentage_delivery_for_store{{\\r\\n                                  index\\r\\n                                }}\\\"\\r\\n                              />\\r\\n                            </span>\\r\\n                          </div>\\r\\n                          <div class=\\\"col-md-4\\\">\\r\\n                            <span class=\\\"pull-right\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                              {{ store_detail.saas_absolute_delivery_for_store\\r\\n                              }}{{ store_detail.wallet_currency_code }}\\r\\n                            </span>\\r\\n                            <span class=\\\"pull-right\\\" *ngIf=\\\"is_edit\\\">\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                [(ngModel)]=\\\"\\r\\n                                  store_detail.saas_absolute_delivery_for_store\\r\\n                                \\\"\\r\\n                                #saas_absolute_delivery_for_store=\\\"ngModel\\\"\\r\\n                                name=\\\"saas_absolute_delivery_for_store{{\\r\\n                                  index\\r\\n                                }}\\\"\\r\\n                              />\\r\\n                            </span>\\r\\n                          </div>\\r\\n                        </li>\\r\\n                        <li\\r\\n                          *ngIf=\\\"store_detail.is_saas_business\\\"\\r\\n                          class=\\\"list-group-item row\\\"\\r\\n                          [class.set_height]=\\\"is_edit\\\"\\r\\n                        >\\r\\n                          <div class=\\\"col-md-4\\\">\\r\\n                            {{\\r\\n                              title.saas_percentage_pickup_by_card_for_store\\r\\n                                | translate\\r\\n                            }}\\r\\n                          </div>\\r\\n                          <div class=\\\"col-md-4\\\">\\r\\n                            <span class=\\\"pull-right\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                              {{\\r\\n                                store_detail.saas_percentage_pickup_by_card_for_store\\r\\n                              }}%\\r\\n                            </span>\\r\\n                            <span class=\\\"pull-right\\\" *ngIf=\\\"is_edit\\\">\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                [(ngModel)]=\\\"\\r\\n                                  store_detail.saas_percentage_pickup_by_card_for_store\\r\\n                                \\\"\\r\\n                                #saas_percentage_pickup_by_card_for_store=\\\"ngModel\\\"\\r\\n                                name=\\\"saas_percentage_pickup_by_card_for_store{{\\r\\n                                  index\\r\\n                                }}\\\"\\r\\n                              />\\r\\n                            </span>\\r\\n                          </div>\\r\\n                          <div class=\\\"col-md-4\\\">\\r\\n                            <span class=\\\"pull-right\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                              {{\\r\\n                                store_detail.saas_absolute_pickup_by_card_for_store\\r\\n                              }}{{ store_detail.wallet_currency_code }}\\r\\n                            </span>\\r\\n                            <span class=\\\"pull-right\\\" *ngIf=\\\"is_edit\\\">\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                [(ngModel)]=\\\"\\r\\n                                  store_detail.saas_absolute_pickup_by_card_for_store\\r\\n                                \\\"\\r\\n                                #saas_absolute_pickup_by_card_for_store=\\\"ngModel\\\"\\r\\n                                name=\\\"saas_absolute_pickup_by_card_for_store{{\\r\\n                                  index\\r\\n                                }}\\\"\\r\\n                              />\\r\\n                            </span>\\r\\n                          </div>\\r\\n                        </li>\\r\\n                        <li\\r\\n                          *ngIf=\\\"store_detail.is_saas_business\\\"\\r\\n                          class=\\\"list-group-item row\\\"\\r\\n                          [class.set_height]=\\\"is_edit\\\"\\r\\n                        >\\r\\n                          <div class=\\\"col-md-4\\\">\\r\\n                            {{\\r\\n                              title.saas_percentage_pickup_by_cash_for_store\\r\\n                                | translate\\r\\n                            }}\\r\\n                          </div>\\r\\n                          <div class=\\\"col-md-4\\\">\\r\\n                            <span class=\\\"pull-right\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                              {{\\r\\n                                store_detail.saas_percentage_pickup_by_cash_for_store\\r\\n                              }}%\\r\\n                            </span>\\r\\n                            <span class=\\\"pull-right\\\" *ngIf=\\\"is_edit\\\">\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                [(ngModel)]=\\\"\\r\\n                                  store_detail.saas_percentage_pickup_by_cash_for_store\\r\\n                                \\\"\\r\\n                                #saas_percentage_pickup_by_cash_for_store=\\\"ngModel\\\"\\r\\n                                name=\\\"saas_percentage_pickup_by_cash_for_store{{\\r\\n                                  index\\r\\n                                }}\\\"\\r\\n                              />\\r\\n                            </span>\\r\\n                          </div>\\r\\n                          <div class=\\\"col-md-4\\\">\\r\\n                            <span class=\\\"pull-right\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                              {{\\r\\n                                store_detail.saas_absolute_pickup_by_cash_for_store\\r\\n                              }}{{ store_detail.wallet_currency_code }}\\r\\n                            </span>\\r\\n                            <span class=\\\"pull-right\\\" *ngIf=\\\"is_edit\\\">\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                [(ngModel)]=\\\"\\r\\n                                  store_detail.saas_absolute_pickup_by_cash_for_store\\r\\n                                \\\"\\r\\n                                #saas_absolute_pickup_by_cash_for_store=\\\"ngModel\\\"\\r\\n                                name=\\\"saas_absolute_pickup_by_cash_for_store{{\\r\\n                                  index\\r\\n                                }}\\\"\\r\\n                              />\\r\\n                            </span>\\r\\n                          </div>\\r\\n                        </li>\\r\\n                        <li\\r\\n                          *ngIf=\\\"store_detail.is_saas_business\\\"\\r\\n                          class=\\\"list-group-item row\\\"\\r\\n                          [class.set_height]=\\\"is_edit\\\"\\r\\n                        >\\r\\n                          <div class=\\\"col-md-4\\\">\\r\\n                            {{ title.odh | translate }}\\r\\n                          </div>\\r\\n                          <div class=\\\"col-md-4\\\">\\r\\n                            <span class=\\\"pull-right\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                              {{\\r\\n                                store_detail.saas_percentage_delivery_by_cash_for_store\\r\\n                              }}%\\r\\n                            </span>\\r\\n                            <span class=\\\"pull-right\\\" *ngIf=\\\"is_edit\\\">\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                [(ngModel)]=\\\"\\r\\n                                  store_detail.saas_percentage_delivery_by_cash_for_store\\r\\n                                \\\"\\r\\n                                #saas_percentage_delivery_by_cash_for_store=\\\"ngModel\\\"\\r\\n                                name=\\\"saas_percentage_delivery_by_cash_for_store{{\\r\\n                                  index\\r\\n                                }}\\\"\\r\\n                              />\\r\\n                            </span>\\r\\n                          </div>\\r\\n                          <div class=\\\"col-md-4\\\">\\r\\n                            <span class=\\\"pull-right\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                              {{\\r\\n                                store_detail.saas_absolute_delivery_by_cash_for_store\\r\\n                              }}{{ store_detail.wallet_currency_code }}\\r\\n                            </span>\\r\\n                            <span class=\\\"pull-right\\\" *ngIf=\\\"is_edit\\\">\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                [(ngModel)]=\\\"\\r\\n                                  store_detail.saas_absolute_delivery_by_cash_for_store\\r\\n                                \\\"\\r\\n                                #saas_absolute_delivery_by_cash_for_store=\\\"ngModel\\\"\\r\\n                                name=\\\"saas_absolute_delivery_by_cash_for_store{{\\r\\n                                  index\\r\\n                                }}\\\"\\r\\n                              />\\r\\n                            </span>\\r\\n                          </div>\\r\\n                        </li>\\r\\n                        <li\\r\\n                          *ngIf=\\\"store_detail.is_saas_business\\\"\\r\\n                          class=\\\"list-group-item row\\\"\\r\\n                          [class.set_height]=\\\"is_edit\\\"\\r\\n                        >\\r\\n                          <div class=\\\"col-md-4\\\">\\r\\n                            {{\\r\\n                              title.saas_percentage_order_pay_by_card_for_store\\r\\n                                | translate\\r\\n                            }}\\r\\n                          </div>\\r\\n                          <div class=\\\"col-md-4\\\">\\r\\n                            <span class=\\\"pull-right\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                              {{\\r\\n                                store_detail.saas_percentage_order_pay_by_card_for_store\\r\\n                              }}%\\r\\n                            </span>\\r\\n                            <span class=\\\"pull-right\\\" *ngIf=\\\"is_edit\\\">\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                [(ngModel)]=\\\"\\r\\n                                  store_detail.saas_percentage_order_pay_by_card_for_store\\r\\n                                \\\"\\r\\n                                #saas_percentage_order_pay_by_card_for_store=\\\"ngModel\\\"\\r\\n                                name=\\\"saas_percentage_order_pay_by_card_for_store{{\\r\\n                                  index\\r\\n                                }}\\\"\\r\\n                              />\\r\\n                            </span>\\r\\n                          </div>\\r\\n                          <div class=\\\"col-md-4\\\">\\r\\n                            <span class=\\\"pull-right\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                              {{\\r\\n                                store_detail.saas_absolute_order_pay_by_card_for_store\\r\\n                              }}{{ store_detail.wallet_currency_code }}\\r\\n                            </span>\\r\\n                            <span class=\\\"pull-right\\\" *ngIf=\\\"is_edit\\\">\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                [(ngModel)]=\\\"\\r\\n                                  store_detail.saas_absolute_order_pay_by_card_for_store\\r\\n                                \\\"\\r\\n                                #saas_absolute_order_pay_by_card_for_store=\\\"ngModel\\\"\\r\\n                                name=\\\"saas_absolute_order_pay_by_card_for_store{{\\r\\n                                  index\\r\\n                                }}\\\"\\r\\n                              />\\r\\n                            </span>\\r\\n                          </div>\\r\\n                        </li>\\r\\n                        <li\\r\\n                          *ngIf=\\\"store_detail.is_saas_business\\\"\\r\\n                          class=\\\"list-group-item row\\\"\\r\\n                          [class.set_height]=\\\"is_edit\\\"\\r\\n                        >\\r\\n                          <div class=\\\"col-md-4\\\">\\r\\n                            {{\\r\\n                              title.saas_percentage_order_pay_by_cash_for_store\\r\\n                                | translate\\r\\n                            }}\\r\\n                          </div>\\r\\n                          <div class=\\\"col-md-4\\\">\\r\\n                            <span class=\\\"pull-right\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                              {{\\r\\n                                store_detail.saas_percentage_order_pay_by_cash_for_store\\r\\n                              }}%\\r\\n                            </span>\\r\\n                            <span class=\\\"pull-right\\\" *ngIf=\\\"is_edit\\\">\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                [(ngModel)]=\\\"\\r\\n                                  store_detail.saas_percentage_order_pay_by_cash_for_store\\r\\n                                \\\"\\r\\n                                #saas_percentage_order_pay_by_cash_for_store=\\\"ngModel\\\"\\r\\n                                name=\\\"saas_percentage_order_pay_by_cash_for_store{{\\r\\n                                  index\\r\\n                                }}\\\"\\r\\n                              />\\r\\n                            </span>\\r\\n                          </div>\\r\\n                          <div class=\\\"col-md-4\\\">\\r\\n                            <span class=\\\"pull-right\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                              {{\\r\\n                                store_detail.saas_absolute_order_pay_by_cash_for_store\\r\\n                              }}{{ store_detail.wallet_currency_code }}\\r\\n                            </span>\\r\\n                            <span class=\\\"pull-right\\\" *ngIf=\\\"is_edit\\\">\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                [(ngModel)]=\\\"\\r\\n                                  store_detail.saas_absolute_order_pay_by_cash_for_store\\r\\n                                \\\"\\r\\n                                #saas_absolute_order_pay_by_cash_for_store=\\\"ngModel\\\"\\r\\n                                name=\\\"saas_absolute_order_pay_by_cash_for_store{{\\r\\n                                  index\\r\\n                                }}\\\"\\r\\n                              />\\r\\n                            </span>\\r\\n                          </div>\\r\\n                        </li>\\r\\n                        <li\\r\\n                          *ngIf=\\\"store_detail.is_saas_business\\\"\\r\\n                          class=\\\"list-group-item row\\\"\\r\\n                          [class.set_height]=\\\"is_edit\\\"\\r\\n                        >\\r\\n                          <div class=\\\"col-md-4\\\">\\r\\n                            {{ title.start_date | translate }}\\r\\n                          </div>\\r\\n                          <div\\r\\n                            class=\\\"col-md-8 no_padding\\\"\\r\\n                            *ngIf=\\\"\\r\\n                              store_detail.is_saas_business &&\\r\\n                              !is_edit &&\\r\\n                              store_detail.saas_start_date\\r\\n                            \\\"\\r\\n                          >\\r\\n                            <span class=\\\"pull-right\\\">{{\\r\\n                              store_detail.saas_start_date.formatted\\r\\n                            }}</span>\\r\\n                          </div>\\r\\n                          <div class=\\\"col-md-4\\\"></div>\\r\\n                          <div\\r\\n                            class=\\\"col-md-4\\\"\\r\\n                            *ngIf=\\\"store_detail.is_saas_business && is_edit\\\"\\r\\n                          >\\r\\n                            <my-date-picker\\r\\n                              [options]=\\\"helper.saasDatePickerOptions\\\"\\r\\n                              placeholder=\\\"{{ title.start_date | translate }}\\\"\\r\\n                              [(ngModel)]=\\\"store_detail.saas_start_date\\\"\\r\\n                              #saas_start_date=\\\"ngModel\\\"\\r\\n                              name=\\\"saas_start_date\\\"\\r\\n                            ></my-date-picker>\\r\\n                          </div>\\r\\n                        </li>\\r\\n                        <li\\r\\n                          *ngIf=\\\"store_detail.is_saas_business\\\"\\r\\n                          class=\\\"list-group-item row\\\"\\r\\n                          [class.set_height]=\\\"is_edit\\\"\\r\\n                        >\\r\\n                          <div class=\\\"col-md-4\\\">\\r\\n                            {{ title.saas_starting_fee | translate }}\\r\\n                          </div>\\r\\n\\r\\n                          <div class=\\\"col-md-4\\\">\\r\\n                            <select\\r\\n                              class=\\\"form-control\\\"\\r\\n                              [disabled]=\\\"!is_edit\\\"\\r\\n                              [(ngModel)]=\\\"store_detail.saas_starting_fee_type\\\"\\r\\n                              #saas_starting_fee_type=\\\"ngModel\\\"\\r\\n                              name=\\\"saas_starting_fee_type{{ index }}\\\"\\r\\n                            >\\r\\n                              <option value=\\\"1\\\">\\r\\n                                {{ title.deducted | translate }}\\r\\n                              </option>\\r\\n                              <option value=\\\"2\\\">\\r\\n                                {{ title.invoiced | translate }}\\r\\n                              </option>\\r\\n                            </select>\\r\\n                          </div>\\r\\n                          <div class=\\\"col-md-4\\\">\\r\\n                            <span class=\\\"pull-right\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                              {{ store_detail.saas_starting_fee\\r\\n                              }}{{ store_detail.wallet_currency_code }}\\r\\n                            </span>\\r\\n                            <span class=\\\"pull-right\\\" *ngIf=\\\"is_edit\\\">\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                [(ngModel)]=\\\"store_detail.saas_starting_fee\\\"\\r\\n                                #saas_starting_fee=\\\"ngModel\\\"\\r\\n                                name=\\\"saas_starting_fee{{ index }}\\\"\\r\\n                              />\\r\\n                            </span>\\r\\n                          </div>\\r\\n                        </li>\\r\\n                        <label>Subscription Charge</label>\\r\\n                        <li\\r\\n                          *ngIf=\\\"store_detail.is_saas_business\\\"\\r\\n                          class=\\\"list-group-item row\\\"\\r\\n                          [class.set_height]=\\\"is_edit\\\"\\r\\n                        >\\r\\n                          <div class=\\\"col-md-4\\\">\\r\\n                            {{ title.type_abonnement | translate }}\\r\\n                          </div>\\r\\n                          <div class=\\\"col-md-8\\\">\\r\\n                            <select\\r\\n                              class=\\\"form-control\\\"\\r\\n                              [disabled]=\\\"!is_edit\\\"\\r\\n                              [(ngModel)]=\\\"\\r\\n                                store_detail.saas_subscription_charge_type\\r\\n                              \\\"\\r\\n                              #saas_subscription_charge_type=\\\"ngModel\\\"\\r\\n                              name=\\\"saas_subscription_charge_type{{ index }}\\\"\\r\\n                            >\\r\\n                              <option value=\\\"1\\\">\\r\\n                                {{ title.fixed | translate }}\\r\\n                              </option>\\r\\n                              <option value=\\\"2\\\">\\r\\n                                {{ title.variable | translate }}\\r\\n                              </option>\\r\\n                            </select>\\r\\n                          </div>\\r\\n                        </li>\\r\\n                        <li\\r\\n                          *ngIf=\\\"\\r\\n                            store_detail.is_saas_business &&\\r\\n                            store_detail.saas_subscription_charge_type == 1\\r\\n                          \\\"\\r\\n                          class=\\\"list-group-item row\\\"\\r\\n                          [class.set_height]=\\\"is_edit\\\"\\r\\n                        >\\r\\n                          <div class=\\\"col-md-4\\\">\\r\\n                            {{\\r\\n                              title.saas_subscription_charge_value | translate\\r\\n                            }}\\r\\n                          </div>\\r\\n                          <div class=\\\"col-md-8\\\">\\r\\n                            <span class=\\\"pull-right\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                              {{ store_detail.saas_subscription_charge_value\\r\\n                              }}{{ store_detail.wallet_currency_code }}\\r\\n                            </span>\\r\\n                            <span class=\\\"pull-right\\\" *ngIf=\\\"is_edit\\\">\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                [(ngModel)]=\\\"\\r\\n                                  store_detail.saas_subscription_charge_value\\r\\n                                \\\"\\r\\n                                #saas_subscription_charge_value=\\\"ngModel\\\"\\r\\n                                name=\\\"saas_subscription_charge_value{{ index }}\\\"\\r\\n                              />\\r\\n                            </span>\\r\\n                          </div>\\r\\n                        </li>\\r\\n                      </ul>\\r\\n\\r\\n                      <div\\r\\n                        class=\\\"row\\\"\\r\\n                        *ngIf=\\\"\\r\\n                          store_detail.is_saas_business &&\\r\\n                          store_detail.saas_subscription_charge_type == 2\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <div class=\\\"text-center\\\">\\r\\n                          {{\\r\\n                            title.saas_subscription_charge_for_store | translate\\r\\n                          }}\\r\\n                        </div>\\r\\n                      </div>\\r\\n\\r\\n                      <div\\r\\n                        class=\\\"row\\\"\\r\\n                        *ngIf=\\\"\\r\\n                          store_detail.is_saas_business &&\\r\\n                          store_detail.saas_subscription_charge_type == 2\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <div class=\\\"table-responseve\\\">\\r\\n                          <table class=\\\"table table-striped\\\">\\r\\n                            <tr\\r\\n                              *ngFor=\\\"\\r\\n                                let subscription_charge of store_detail.saas_subscription_charge_for_store;\\r\\n                                let index = index\\r\\n                              \\\"\\r\\n                            >\\r\\n                              <td>{{ subscription_charge.min_amount }}</td>\\r\\n                              <td>-</td>\\r\\n                              <td>{{ subscription_charge.max_amount }}</td>\\r\\n                              <td>=</td>\\r\\n                              <td>\\r\\n                                {{ subscription_charge.subscription_amount }}\\r\\n                              </td>\\r\\n                              <td *ngIf=\\\"is_edit\\\">\\r\\n                                <span\\r\\n                                  class=\\\"pull-right fa fa-close\\\"\\r\\n                                  (click)=\\\"\\r\\n                                    delete_subscription_charge_data(index)\\r\\n                                  \\\"\\r\\n                                ></span>\\r\\n                                <span\\r\\n                                  style=\\\"margin-right: 10px\\\"\\r\\n                                  class=\\\"pull-right fa fa-pencil\\\"\\r\\n                                  (click)=\\\"\\r\\n                                    open_edit_subscription_charge_modal(\\r\\n                                      subscription_charge,\\r\\n                                      index\\r\\n                                    )\\r\\n                                  \\\"\\r\\n                                ></span>\\r\\n                              </td>\\r\\n                            </tr>\\r\\n                          </table>\\r\\n                        </div>\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"row\\\"\\r\\n                        style=\\\"margin-bottom: 20px\\\"\\r\\n                        *ngIf=\\\"\\r\\n                          is_edit &&\\r\\n                          store_detail.is_saas_business &&\\r\\n                          store_detail.odh_management_fee_type == 2\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <div class=\\\"text-center\\\">\\r\\n                          <button\\r\\n                            type=\\\"button\\\"\\r\\n                            (click)=\\\"open_add_subscription_charge_modal()\\\"\\r\\n                            class=\\\"btn add_btn\\\"\\r\\n                          >\\r\\n                            {{ button.add | translate\\r\\n                            }}<span\\r\\n                              class=\\\"fa fa-plus pull-right\\\"\\r\\n                              style=\\\"margin-top: 2px\\\"\\r\\n                            ></span>\\r\\n                          </button>\\r\\n                        </div>\\r\\n                      </div>\\r\\n\\r\\n                      <label>Management Fee</label>\\r\\n                      <li\\r\\n                        class=\\\"list-group-item row\\\"\\r\\n                        [class.set_height]=\\\"is_edit\\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-4\\\">\\r\\n                          {{ title.type_abonnement | translate }}\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8\\\">\\r\\n                          <select\\r\\n                            class=\\\"form-control\\\"\\r\\n                            [disabled]=\\\"!is_edit\\\"\\r\\n                            [(ngModel)]=\\\"store_detail.odh_management_fee_type\\\"\\r\\n                            #odh_management_fee_type=\\\"ngModel\\\"\\r\\n                            name=\\\"odh_management_fee_type{{ index }}\\\"\\r\\n                          >\\r\\n                            <option value=\\\"1\\\">\\r\\n                              {{ title.fixed | translate }}\\r\\n                            </option>\\r\\n                            <option value=\\\"2\\\">\\r\\n                              {{ title.variable | translate }}\\r\\n                            </option>\\r\\n                            <option value=\\\"3\\\">\\r\\n                              {{ helper.lable_title.percentage | translate }}\\r\\n                            </option>\\r\\n                          </select>\\r\\n                        </div>\\r\\n                      </li>\\r\\n                      <li\\r\\n                        *ngIf=\\\"store_detail.odh_management_fee_type != 2\\\"\\r\\n                        class=\\\"list-group-item row\\\"\\r\\n                        [class.set_height]=\\\"is_edit\\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-4\\\">\\r\\n                          {{ title.saas_subscription_charge_value | translate }}\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8\\\">\\r\\n                          <span class=\\\"pull-right\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                            {{ store_detail.odh_management_fee_value }}\\r\\n                            {{\\r\\n                              store_detail.odh_management_fee_type == 3\\r\\n                                ? \\\"%\\\"\\r\\n                                : store_detail.wallet_currency_code\\r\\n                            }}\\r\\n                          </span>\\r\\n                          <span class=\\\"pull-right\\\" *ngIf=\\\"is_edit\\\">\\r\\n                            <input\\r\\n                              type=\\\"text\\\"\\r\\n                              class=\\\"form-control\\\"\\r\\n                              [(ngModel)]=\\\"\\r\\n                                store_detail.odh_management_fee_value\\r\\n                              \\\"\\r\\n                              #odh_management_fee_value=\\\"ngModel\\\"\\r\\n                              name=\\\"odh_management_fee_value{{ index }}\\\"\\r\\n                            />\\r\\n                          </span>\\r\\n                        </div>\\r\\n                      </li>\\r\\n\\r\\n                      <div\\r\\n                        class=\\\"row\\\"\\r\\n                        *ngIf=\\\"store_detail.odh_management_fee_type == 2\\\"\\r\\n                        style=\\\"margin-top: 20px\\\"\\r\\n                      >\\r\\n                        <div class=\\\"text-center\\\">\\r\\n                          {{\\r\\n                            title.saas_subscription_charge_for_store | translate\\r\\n                          }}\\r\\n                        </div>\\r\\n                      </div>\\r\\n\\r\\n                      <div\\r\\n                        class=\\\"row\\\"\\r\\n                        *ngIf=\\\"store_detail.odh_management_fee_type == 2\\\"\\r\\n                      >\\r\\n                        <div class=\\\"table-responseve\\\">\\r\\n                          <table class=\\\"table table-striped\\\">\\r\\n                            <tr\\r\\n                              *ngFor=\\\"\\r\\n                                let subscription_charge of store_detail.odh_management_fee_for_store;\\r\\n                                let index = index\\r\\n                              \\\"\\r\\n                            >\\r\\n                              <td>{{ subscription_charge.min_amount }}</td>\\r\\n                              <td>-</td>\\r\\n                              <td>{{ subscription_charge.max_amount }}</td>\\r\\n                              <td>=</td>\\r\\n                              <td>\\r\\n                                {{ subscription_charge.subscription_amount }}\\r\\n                              </td>\\r\\n                              <td *ngIf=\\\"is_edit\\\">\\r\\n                                <span\\r\\n                                  class=\\\"pull-right fa fa-close\\\"\\r\\n                                  (click)=\\\"\\r\\n                                    delete_odh_management_fee_data(index)\\r\\n                                  \\\"\\r\\n                                ></span>\\r\\n                                <span\\r\\n                                  style=\\\"margin-right: 10px\\\"\\r\\n                                  class=\\\"pull-right fa fa-pencil\\\"\\r\\n                                  (click)=\\\"\\r\\n                                    open_edit_odh_management_fee_modal(\\r\\n                                      subscription_charge,\\r\\n                                      index\\r\\n                                    )\\r\\n                                  \\\"\\r\\n                                ></span>\\r\\n                              </td>\\r\\n                            </tr>\\r\\n                          </table>\\r\\n                        </div>\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"row\\\"\\r\\n                        *ngIf=\\\"\\r\\n                          is_edit && store_detail.odh_management_fee_type == 2\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <div class=\\\"text-center\\\">\\r\\n                          <button\\r\\n                            type=\\\"button\\\"\\r\\n                            (click)=\\\"open_add_odh_management_fee_modal()\\\"\\r\\n                            class=\\\"btn add_btn\\\"\\r\\n                          >\\r\\n                            {{ button.add | translate\\r\\n                            }}<span\\r\\n                              class=\\\"fa fa-plus pull-right\\\"\\r\\n                              style=\\\"margin-top: 2px\\\"\\r\\n                            ></span>\\r\\n                          </button>\\r\\n                        </div>\\r\\n                      </div>\\r\\n\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n              <div *ngIf=\\\"view_type == 1\\\">\\r\\n                <div class=\\\"row m-b-lg\\\">\\r\\n                  <div\\r\\n                    class=\\\"row no_margin\\\"\\r\\n                    *ngIf=\\\"!is_edit\\\"\\r\\n                    style=\\\"margin-top: 10px\\\"\\r\\n                  >\\r\\n                    <div class=\\\"col-md-3 remove_right_padding\\\">\\r\\n                      <button\\r\\n                        (click)=\\\"open_modal(type, store_detail._id)\\\"\\r\\n                        type=\\\"button\\\"\\r\\n                        class=\\\"btn btn-light_black btn-sm btn-block\\\"\\r\\n                        tooltip=\\\"{{ helper.button.add_wallet | translate }}\\\"\\r\\n                        [tooltipDisabled]=\\\"false\\\"\\r\\n                        [tooltipAnimation]=\\\"true\\\"\\r\\n                        tooltipPlacement=\\\"top\\\"\\r\\n                      >\\r\\n                        <i class=\\\"fa fa-plus\\\"></i>\\r\\n                      </button>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-3 remove_left_right_padding\\\">\\r\\n                      <button\\r\\n                        (click)=\\\"open_sms_modal(type, store_detail._id)\\\"\\r\\n                        type=\\\"button\\\"\\r\\n                        class=\\\"btn btn-light_black btn-sm btn-block\\\"\\r\\n                        tooltip=\\\"{{ helper.button.send_sms | translate }}\\\"\\r\\n                        [tooltipDisabled]=\\\"false\\\"\\r\\n                        [tooltipAnimation]=\\\"true\\\"\\r\\n                        tooltipPlacement=\\\"top\\\"\\r\\n                      >\\r\\n                        <i class=\\\"fa fa-comments\\\"></i>\\r\\n                      </button>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-3 remove_left_right_padding\\\">\\r\\n                      <button\\r\\n                        (click)=\\\"\\r\\n                          open_notification_modal(type, store_detail._id)\\r\\n                        \\\"\\r\\n                        type=\\\"button\\\"\\r\\n                        class=\\\"btn btn-light_black btn-sm btn-block\\\"\\r\\n                        tooltip=\\\"{{\\r\\n                          helper.button.send_notification | translate\\r\\n                        }}\\\"\\r\\n                        [tooltipDisabled]=\\\"false\\\"\\r\\n                        [tooltipAnimation]=\\\"true\\\"\\r\\n                        tooltipPlacement=\\\"top\\\"\\r\\n                      >\\r\\n                        <i class=\\\"fa fa-bell\\\"></i>\\r\\n                      </button>\\r\\n                    </div>\\r\\n                    <div\\r\\n                      class=\\\"col-md-3 remove_left_padding\\\"\\r\\n                      *ngIf=\\\"!store_detail.is_approved\\\"\\r\\n                    >\\r\\n                      <button\\r\\n                        (click)=\\\"\\r\\n                          approved_decline(\\r\\n                            helper.router_id.store_filter.store_page_type,\\r\\n                            store_detail._id\\r\\n                          )\\r\\n                        \\\"\\r\\n                        type=\\\"button\\\"\\r\\n                        class=\\\"btn btn-light_black btn-sm btn-block\\\"\\r\\n                        tooltip=\\\"{{ helper.button.approved | translate }}\\\"\\r\\n                        [tooltipDisabled]=\\\"false\\\"\\r\\n                        [tooltipAnimation]=\\\"true\\\"\\r\\n                        tooltipPlacement=\\\"top\\\"\\r\\n                      >\\r\\n                        <i class=\\\"fa fa-check\\\"></i>\\r\\n                      </button>\\r\\n                    </div>\\r\\n                    <div\\r\\n                      class=\\\"col-md-3 remove_left_padding\\\"\\r\\n                      *ngIf=\\\"store_detail.is_approved\\\"\\r\\n                    >\\r\\n                      <button\\r\\n                        (click)=\\\"\\r\\n                          approved_decline(\\r\\n                            helper.router_id.store_filter.store_page_type,\\r\\n                            store_detail._id\\r\\n                          )\\r\\n                        \\\"\\r\\n                        type=\\\"button\\\"\\r\\n                        class=\\\"btn btn-light_black btn-sm btn-block\\\"\\r\\n                        tooltip=\\\"{{ helper.button.decline | translate }}\\\"\\r\\n                        [tooltipDisabled]=\\\"false\\\"\\r\\n                        [tooltipAnimation]=\\\"true\\\"\\r\\n                        tooltipPlacement=\\\"top\\\"\\r\\n                      >\\r\\n                        <i class=\\\"fa fa-ban\\\"></i>\\r\\n                      </button>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"client-detail\\\">\\r\\n                  <div class=\\\"full-height-scroll\\\">\\r\\n                    <ul class=\\\"nav nav-tabs\\\">\\r\\n                      <li\\r\\n                        (click)=\\\"selected_tab = 1\\\"\\r\\n                        [class.active]=\\\"selected_tab == 1\\\"\\r\\n                        class=\\\"dsads uib-tab ng-scope ng-isolate-scope\\\"\\r\\n                        active=\\\"tab.active\\\"\\r\\n                      >\\r\\n                        <a class=\\\"ng-binding tab_selection\\\">{{\\r\\n                          helper.title.details | translate\\r\\n                        }}</a>\\r\\n                      </li>\\r\\n                      <li\\r\\n                        (click)=\\\"get_document_list()\\\"\\r\\n                        [class.active]=\\\"selected_tab == 2\\\"\\r\\n                        class=\\\"uib-tab ng-scope ng-isolate-scope active\\\"\\r\\n                      >\\r\\n                        <a class=\\\"ng-binding tab_selection\\\">{{\\r\\n                          helper.button.view_document | translate\\r\\n                        }}</a>\\r\\n                      </li>\\r\\n                      <li\\r\\n                        (click)=\\\"get_referral_history()\\\"\\r\\n                        [class.active]=\\\"selected_tab == 3\\\"\\r\\n                        class=\\\"uib-tab ng-scope ng-isolate-scope active\\\"\\r\\n                      >\\r\\n                        <a class=\\\"ng-binding tab_selection\\\">{{\\r\\n                          helper.button.referral | translate\\r\\n                        }}</a>\\r\\n                      </li>\\r\\n                      <li\\r\\n                        (click)=\\\"get_review_history()\\\"\\r\\n                        [class.active]=\\\"selected_tab == 5\\\"\\r\\n                        class=\\\"uib-tab ng-scope ng-isolate-scope active\\\"\\r\\n                      >\\r\\n                        <a class=\\\"ng-binding tab_selection\\\">{{\\r\\n                          helper.button.reviews | translate\\r\\n                        }}</a>\\r\\n                      </li>\\r\\n                      <li\\r\\n                        (click)=\\\"selected_tab = 4\\\"\\r\\n                        [class.active]=\\\"selected_tab == 4\\\"\\r\\n                        class=\\\"uib-tab ng-scope ng-isolate-scope active\\\"\\r\\n                      >\\r\\n                        <a class=\\\"ng-binding tab_selection\\\">{{\\r\\n                          helper.button.bank_detail | translate\\r\\n                        }}</a>\\r\\n                      </li>\\r\\n                      <li\\r\\n                        [class.active]=\\\"selected_tab == 6\\\"\\r\\n                        (click)=\\\"selected_tab = 6\\\"\\r\\n                        class=\\\"uib-tab ng-scope ng-isolate-scope active\\\"\\r\\n                      >\\r\\n                        <a class=\\\"ng-binding tab_selection\\\">{{\\r\\n                          helper.button.infos | translate\\r\\n                        }}</a>\\r\\n                      </li>\\r\\n                      <li\\r\\n                        [class.active]=\\\"selected_tab == 7\\\"\\r\\n                        *ngIf=\\\"store_detail.order_pay_status\\\"\\r\\n                        (click)=\\\"selected_tab = 7\\\"\\r\\n                        class=\\\"uib-tab ng-scope ng-isolate-scope active\\\"\\r\\n                      >\\r\\n                        <a class=\\\"ng-binding tab_selection\\\">{{\\r\\n                          helper.title.order_pay | translate\\r\\n                        }}</a>\\r\\n                      </li>\\r\\n                    </ul>\\r\\n                    <div\\r\\n                      class=\\\"row no_margin\\\"\\r\\n                      *ngIf=\\\"selected_tab == 1\\\"\\r\\n                      style=\\\"overflow-x: hidden\\\"\\r\\n                    >\\r\\n                      <div\\r\\n                        class=\\\"col-md-12 no_padding\\\"\\r\\n                        style=\\\"\\r\\n                          padding-top: 10px;\\r\\n                          padding-bottom: 4px;\\r\\n                          border-bottom: 1px solid lightgrey;\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-4 no_padding\\\">\\r\\n                          <label>{{ title.app_version | translate }}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8 no_padding\\\">\\r\\n                          {{\\r\\n                            store_detail.device_type +\\r\\n                              \\\" - \\\" +\\r\\n                              store_detail.app_version\\r\\n                          }}\\r\\n                        </div>\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"col-md-12 no_padding\\\"\\r\\n                        style=\\\"\\r\\n                          padding-top: 10px;\\r\\n                          padding-bottom: 4px;\\r\\n                          border-bottom: 1px solid lightgrey;\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-4 no_padding\\\">\\r\\n                          <label>{{ title.address | translate }}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8 no_padding\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                          {{ store_detail.address }}\\r\\n                        </div>\\r\\n                        <div\\r\\n                          class=\\\"col-md-8 no_padding form-group\\\"\\r\\n                          [hidden]=\\\"!is_edit\\\"\\r\\n                        >\\r\\n                          <input\\r\\n                            type=\\\"text\\\"\\r\\n                            class=\\\"form-control\\\"\\r\\n                            [(ngModel)]=\\\"store_detail.address\\\"\\r\\n                            #address=\\\"ngModel\\\"\\r\\n                            id=\\\"address\\\"\\r\\n                            name=\\\"address\\\"\\r\\n                          />\\r\\n                        </div>\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"col-md-12 no_padding\\\"\\r\\n                        style=\\\"\\r\\n                          padding-top: 10px;\\r\\n                          padding-bottom: 4px;\\r\\n                          border-bottom: 1px solid lightgrey;\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-4 no_padding\\\">\\r\\n                          <label>{{ title.website_url | translate }}</label>\\r\\n                        </div>\\r\\n                        <div\\r\\n                          class=\\\"col-md-8 no_padding\\\"\\r\\n                          *ngIf=\\\"store_detail.site_domain\\\"\\r\\n                        >\\r\\n                          https://{{ store_detail.site_domain }}\\r\\n                        </div>\\r\\n                        <!-- <div class=\\\"col-md-8 no_padding form-group\\\" *ngIf=\\\"is_edit\\\">\\r\\n                                                    <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_detail.website_url\\\" #website_url=\\\"ngModel\\\" name=\\\"website_url\\\" />\\r\\n                                                </div> -->\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"col-md-12 no_padding\\\"\\r\\n                        style=\\\"\\r\\n                          padding-top: 10px;\\r\\n                          padding-bottom: 4px;\\r\\n                          border-bottom: 1px solid lightgrey;\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-4 no_padding\\\">\\r\\n                          <label>{{ title.slogan | translate }}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8 no_padding\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                          {{ store_detail.slogan }}\\r\\n                        </div>\\r\\n                        <div\\r\\n                          class=\\\"col-md-8 no_padding form-group\\\"\\r\\n                          *ngIf=\\\"is_edit\\\"\\r\\n                        >\\r\\n                          <input\\r\\n                            type=\\\"text\\\"\\r\\n                            class=\\\"form-control\\\"\\r\\n                            [(ngModel)]=\\\"store_detail.slogan\\\"\\r\\n                            #slogan=\\\"ngModel\\\"\\r\\n                            name=\\\"slogan\\\"\\r\\n                          />\\r\\n                        </div>\\r\\n                      </div>\\r\\n\\r\\n                      <div\\r\\n                        class=\\\"col-md-12 no_padding\\\"\\r\\n                        style=\\\"\\r\\n                          padding-top: 10px;\\r\\n                          padding-bottom: 4px;\\r\\n                          border-bottom: 1px solid lightgrey;\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-4 no_padding\\\">\\r\\n                          <label>{{\\r\\n                            title.admin_profit_mode | translate\\r\\n                          }}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8 no_padding\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                          <span\\r\\n                            *ngIf=\\\"\\r\\n                              store_detail.admin_profit_mode_on_store ==\\r\\n                              helper.ADMIN_PROFIT_ON_ORDER_ID.PERCENTAGE\\r\\n                            \\\"\\r\\n                            >{{\\r\\n                              helper.ADMIN_PROFIT_ON_ORDER_STRING.PERCENTAGE\\r\\n                            }}</span\\r\\n                          >\\r\\n                          <span\\r\\n                            *ngIf=\\\"\\r\\n                              store_detail.admin_profit_mode_on_store ==\\r\\n                              helper.ADMIN_PROFIT_ON_ORDER_ID.PER_ORDER\\r\\n                            \\\"\\r\\n                            >{{\\r\\n                              helper.ADMIN_PROFIT_ON_ORDER_STRING.PER_ORDER\\r\\n                            }}</span\\r\\n                          >\\r\\n                          <span\\r\\n                            *ngIf=\\\"\\r\\n                              store_detail.admin_profit_mode_on_store ==\\r\\n                              helper.ADMIN_PROFIT_ON_ORDER_ID.PER_ITEMS\\r\\n                            \\\"\\r\\n                            >{{\\r\\n                              helper.ADMIN_PROFIT_ON_ORDER_STRING.PER_ITEMS\\r\\n                            }}</span\\r\\n                          >\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8 no_padding\\\" [hidden]=\\\"!is_edit\\\">\\r\\n                          <select\\r\\n                            chosen\\r\\n                            class=\\\"chosen-select form-control\\\"\\r\\n                            id=\\\"admin_profit_mode\\\"\\r\\n                            [(ngModel)]=\\\"\\r\\n                              store_detail.admin_profit_mode_on_store\\r\\n                            \\\"\\r\\n                            #admin_profit_mode_on_store=\\\"ngModel\\\"\\r\\n                            name=\\\"admin_profit_mode_on_store\\\"\\r\\n                            data-placeholder=\\\"Select Admin Profit Mode\\\"\\r\\n                            tabindex=\\\"4\\\"\\r\\n                          >\\r\\n                            <option\\r\\n                              *ngFor=\\\"let i of helper.ADMIN_PROFIT_ON_ORDERS\\\"\\r\\n                              value=\\\"{{ i.ID }}\\\"\\r\\n                            >\\r\\n                              {{ i.NAME }}\\r\\n                            </option>\\r\\n                          </select>\\r\\n                        </div>\\r\\n                      </div>\\r\\n\\r\\n                      <div\\r\\n                        class=\\\"col-md-12 no_padding\\\"\\r\\n                        style=\\\"\\r\\n                          padding-top: 10px;\\r\\n                          padding-bottom: 4px;\\r\\n                          border-bottom: 1px solid lightgrey;\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-4 no_padding\\\">\\r\\n                          <label>{{\\r\\n                            title.admin_profit_value | translate\\r\\n                          }}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8 no_padding\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                          {{ store_detail.admin_profit_value_on_store }}\\r\\n                        </div>\\r\\n                        <div\\r\\n                          class=\\\"col-md-8 no_padding form-group\\\"\\r\\n                          *ngIf=\\\"is_edit\\\"\\r\\n                        >\\r\\n                          <input\\r\\n                            type=\\\"text\\\"\\r\\n                            class=\\\"form-control\\\"\\r\\n                            [(ngModel)]=\\\"\\r\\n                              store_detail.admin_profit_value_on_store\\r\\n                            \\\"\\r\\n                            #admin_profit_value_on_store=\\\"ngModel\\\"\\r\\n                            name=\\\"admin_profit_value_on_store\\\"\\r\\n                          />\\r\\n                        </div>\\r\\n                      </div>\\r\\n\\r\\n                      <div\\r\\n                        class=\\\"col-md-12 no_padding\\\"\\r\\n                        style=\\\"\\r\\n                          padding-top: 10px;\\r\\n                          padding-bottom: 4px;\\r\\n                          border-bottom: 1px solid lightgrey;\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-8 no_padding\\\">\\r\\n                          <label>{{\\r\\n                            title.you_want_to_add_price_in_menu | translate\\r\\n                          }}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-4 no_padding form-group\\\">\\r\\n                          <span class=\\\"\\\">\\r\\n                            <ui-switch\\r\\n                              [disabled]=\\\"!is_edit\\\"\\r\\n                              [(ngModel)]=\\\"\\r\\n                                store_detail.you_want_to_add_price_in_menu\\r\\n                              \\\"\\r\\n                              name=\\\"you_want_to_add_price_in_menu\\\"\\r\\n                            ></ui-switch\\r\\n                          ></span>\\r\\n                        </div>\\r\\n                      </div>\\r\\n\\r\\n                      <div\\r\\n                        class=\\\"col-md-12 no_padding\\\"\\r\\n                        style=\\\"\\r\\n                          padding-top: 10px;\\r\\n                          padding-bottom: 4px;\\r\\n                          border-bottom: 1px solid lightgrey;\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-4 no_padding\\\">\\r\\n                          <label>{{ title.add_price_type | translate }}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-4 no_padding\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                          <span\\r\\n                            *ngIf=\\\"\\r\\n                              store_detail.add_price_type ==\\r\\n                              helper.ORDER_CANCELLATION_CHARGE_TYPE.PERCENTAGE\\r\\n                            \\\"\\r\\n                            >{{ helper.lable_title.percentage }}</span\\r\\n                          >\\r\\n                          <span\\r\\n                            *ngIf=\\\"\\r\\n                              store_detail.add_price_type ==\\r\\n                              helper.ORDER_CANCELLATION_CHARGE_TYPE.ABSOLUTE\\r\\n                            \\\"\\r\\n                            >{{ helper.lable_title.absolute }}</span\\r\\n                          >\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-4 no_padding\\\" [hidden]=\\\"!is_edit\\\">\\r\\n                          <select\\r\\n                            chosen\\r\\n                            class=\\\"chosen-select form-control\\\"\\r\\n                            id=\\\"add_price_type\\\"\\r\\n                            [(ngModel)]=\\\"store_detail.add_price_type\\\"\\r\\n                            #add_price_type=\\\"ngModel\\\"\\r\\n                            name=\\\"add_price_type\\\"\\r\\n                            data-placeholder=\\\"Select Admin Profit Mode\\\"\\r\\n                            tabindex=\\\"4\\\"\\r\\n                          >\\r\\n                            <option\\r\\n                              [value]=\\\"\\r\\n                                helper.ORDER_CANCELLATION_CHARGE_TYPE.PERCENTAGE\\r\\n                              \\\"\\r\\n                            >\\r\\n                              {{ helper.lable_title.percentage }}\\r\\n                            </option>\\r\\n                            <option\\r\\n                              [value]=\\\"\\r\\n                                helper.ORDER_CANCELLATION_CHARGE_TYPE.ABSOLUTE\\r\\n                              \\\"\\r\\n                            >\\r\\n                              {{ helper.lable_title.absolute }}\\r\\n                            </option>\\r\\n                          </select>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-4 no_padding form-group\\\">\\r\\n                          <input\\r\\n                            type=\\\"text\\\"\\r\\n                            [disabled]=\\\"!is_edit\\\"\\r\\n                            class=\\\"form-control\\\"\\r\\n                            [(ngModel)]=\\\"store_detail.add_price_value\\\"\\r\\n                            #add_price_value=\\\"ngModel\\\"\\r\\n                            name=\\\"add_price_value\\\"\\r\\n                          />\\r\\n                        </div>\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"col-md-12 no_padding\\\"\\r\\n                        style=\\\"\\r\\n                          padding-top: 10px;\\r\\n                          padding-bottom: 4px;\\r\\n                          border-bottom: 1px solid lightgrey;\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-8 no_padding\\\">\\r\\n                          <label>{{\\r\\n                            title.is_zone_delivery_price | translate\\r\\n                          }}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-4 no_padding form-group\\\">\\r\\n                          <span class=\\\"\\\">\\r\\n                            <ui-switch\\r\\n                              [disabled]=\\\"!is_edit\\\"\\r\\n                              [(ngModel)]=\\\"store_detail.is_zone_delivery_price\\\"\\r\\n                              name=\\\"is_zone_delivery_price\\\"\\r\\n                            ></ui-switch\\r\\n                          ></span>\\r\\n                          <a\\r\\n                            (click)=\\\"go_to_delivery_price()\\\"\\r\\n                            *ngIf=\\\"\\r\\n                              store_detail.is_zone_delivery_price &&\\r\\n                              store_detail.zone_price_count\\r\\n                            \\\"\\r\\n                            >{{ store_detail.zone_price_count }} Zone\\r\\n                            Available</a\\r\\n                          >\\r\\n                          <a\\r\\n                            (click)=\\\"go_to_delivery_price()\\\"\\r\\n                            *ngIf=\\\"\\r\\n                              store_detail.is_zone_delivery_price &&\\r\\n                              !store_detail.zone_price_count\\r\\n                            \\\"\\r\\n                            >No Zone Available</a\\r\\n                          >\\r\\n                        </div>\\r\\n                      </div>\\r\\n                      <div\\r\\n                        *ngIf=\\\"!store_detail.is_zone_delivery_price\\\"\\r\\n                        class=\\\"col-md-12 no_padding\\\"\\r\\n                        style=\\\"\\r\\n                          padding-top: 10px;\\r\\n                          padding-bottom: 4px;\\r\\n                          border-bottom: 1px solid lightgrey;\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-8 no_padding\\\">\\r\\n                          <label>{{\\r\\n                            title.is_fix_delivery_price | translate\\r\\n                          }}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-4 no_padding form-group\\\">\\r\\n                          <span class=\\\"\\\">\\r\\n                            <ui-switch\\r\\n                              [disabled]=\\\"!is_edit\\\"\\r\\n                              [(ngModel)]=\\\"store_detail.is_fix_delivery_price\\\"\\r\\n                              name=\\\"is_fix_delivery_price\\\"\\r\\n                            ></ui-switch\\r\\n                          ></span>\\r\\n                        </div>\\r\\n                      </div>\\r\\n\\r\\n                      <div\\r\\n                        class=\\\"col-md-12 no_padding\\\"\\r\\n                        *ngIf=\\\"\\r\\n                          !store_detail.is_zone_delivery_price &&\\r\\n                          store_detail.is_fix_delivery_price\\r\\n                        \\\"\\r\\n                        style=\\\"\\r\\n                          padding-top: 10px;\\r\\n                          padding-bottom: 4px;\\r\\n                          border-bottom: 1px solid lightgrey;\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-8 no_padding\\\">\\r\\n                          <label>{{ title.delivery_price | translate }}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-4 no_padding form-group\\\">\\r\\n                          <input\\r\\n                            type=\\\"text\\\"\\r\\n                            [disabled]=\\\"!is_edit\\\"\\r\\n                            class=\\\"form-control\\\"\\r\\n                            [(ngModel)]=\\\"store_detail.delivery_price\\\"\\r\\n                            #delivery_price=\\\"ngModel\\\"\\r\\n                            name=\\\"delivery_price\\\"\\r\\n                          />\\r\\n                        </div>\\r\\n                      </div>\\r\\n\\r\\n                      <div\\r\\n                        class=\\\"col-md-12 no_padding\\\"\\r\\n                        style=\\\"\\r\\n                          padding-top: 10px;\\r\\n                          padding-bottom: 4px;\\r\\n                          border-bottom: 1px solid lightgrey;\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-8 no_padding\\\">\\r\\n                          <label>{{\\r\\n                            title.is_accept_other_system_order | translate\\r\\n                          }}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-4 no_padding form-group\\\">\\r\\n                          <span class=\\\"\\\">\\r\\n                            <ui-switch\\r\\n                              [disabled]=\\\"!is_edit\\\"\\r\\n                              [(ngModel)]=\\\"\\r\\n                                store_detail.is_accept_other_system_order\\r\\n                              \\\"\\r\\n                              name=\\\"is_accept_other_system_order\\\"\\r\\n                            ></ui-switch\\r\\n                          ></span>\\r\\n                        </div>\\r\\n                      </div>\\r\\n\\r\\n                      <div\\r\\n                        *ngIf=\\\"store_detail.is_accept_other_system_order\\\"\\r\\n                        class=\\\"col-md-12 no_padding\\\"\\r\\n                        style=\\\"\\r\\n                          padding-top: 10px;\\r\\n                          padding-bottom: 4px;\\r\\n                          border-bottom: 1px solid lightgrey;\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-8 no_padding\\\">\\r\\n                          <label>{{\\r\\n                            title.is_auto_accept_other_system_order | translate\\r\\n                          }}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-4 no_padding form-group\\\">\\r\\n                          <span class=\\\"\\\">\\r\\n                            <ui-switch\\r\\n                              [disabled]=\\\"!is_edit\\\"\\r\\n                              [(ngModel)]=\\\"\\r\\n                                store_detail.is_auto_accept_other_system_order\\r\\n                              \\\"\\r\\n                              name=\\\"is_auto_accept_other_system_order\\\"\\r\\n                            ></ui-switch\\r\\n                          ></span>\\r\\n                        </div>\\r\\n                      </div>\\r\\n\\r\\n                      <div\\r\\n                        *ngIf=\\\"store_detail.is_accept_other_system_order\\\"\\r\\n                        class=\\\"col-md-12 no_padding\\\"\\r\\n                        style=\\\"\\r\\n                          padding-top: 10px;\\r\\n                          padding-bottom: 4px;\\r\\n                          border-bottom: 1px solid lightgrey;\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-8 no_padding\\\">\\r\\n                          <label>{{\\r\\n                            title.is_apply_other_system_delivery_price\\r\\n                              | translate\\r\\n                          }}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-4 no_padding form-group\\\">\\r\\n                          <span class=\\\"\\\">\\r\\n                            <ui-switch\\r\\n                              [disabled]=\\\"!is_edit\\\"\\r\\n                              [(ngModel)]=\\\"\\r\\n                                store_detail.is_apply_other_system_delivery_price\\r\\n                              \\\"\\r\\n                              name=\\\"is_apply_other_system_delivery_price\\\"\\r\\n                            ></ui-switch\\r\\n                          ></span>\\r\\n                        </div>\\r\\n                      </div>\\r\\n\\r\\n                      <div\\r\\n                        class=\\\"col-md-12 no_padding\\\"\\r\\n                        style=\\\"\\r\\n                          padding-top: 10px;\\r\\n                          padding-bottom: 4px;\\r\\n                          border-bottom: 1px solid lightgrey;\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-4 no_padding\\\">\\r\\n                          <label>{{ title.hubrise_origins | translate }}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8 no_padding\\\" [hidden]=\\\"!is_edit\\\">\\r\\n                          <select\\r\\n                            chosen\\r\\n                            multiple\\r\\n                            class=\\\"chosen-select form-control\\\"\\r\\n                            id=\\\"hubrise_origin_list\\\"\\r\\n                            [(ngModel)]=\\\"store_detail.hubrise_origins\\\"\\r\\n                            #hubrise_origins=\\\"ngModel\\\"\\r\\n                            name=\\\"hubrise_origins\\\"\\r\\n                            data-placeholder=\\\"Select Hubrise Origin\\\"\\r\\n                            tabindex=\\\"4\\\"\\r\\n                          >\\r\\n                            <option\\r\\n                              *ngFor=\\\"let delivery of hubrise_origin_list\\\"\\r\\n                              value=\\\"{{ delivery.id }}\\\"\\r\\n                            >\\r\\n                              {{ delivery.name }}\\r\\n                            </option>\\r\\n                          </select>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8 no_padding\\\" [hidden]=\\\"is_edit\\\">\\r\\n                          <span\\r\\n                            *ngFor=\\\"\\r\\n                              let hubrise_origin of store_detail.hubrise_origins;\\r\\n                              let last = last\\r\\n                            \\\"\\r\\n                            >{{ get_hubrise_origin(hubrise_origin) }}\\r\\n                            <span *ngIf=\\\"!last\\\"> , </span>\\r\\n                          </span>\\r\\n                        </div>\\r\\n                      </div>\\r\\n\\r\\n                      <div\\r\\n                        class=\\\"col-md-12 no_padding\\\"\\r\\n                        style=\\\"\\r\\n                          padding-top: 10px;\\r\\n                          padding-bottom: 4px;\\r\\n                          border-bottom: 1px solid lightgrey;\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-4 no_padding\\\">\\r\\n                          <label>{{\\r\\n                            title.store_delivery_id | translate\\r\\n                          }}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8 no_padding\\\" [hidden]=\\\"!is_edit\\\">\\r\\n                          <select\\r\\n                            chosen\\r\\n                            multiple\\r\\n                            class=\\\"chosen-select form-control\\\"\\r\\n                            id=\\\"store_delivery_id\\\"\\r\\n                            [(ngModel)]=\\\"store_detail.store_delivery_ids\\\"\\r\\n                            #store_delivery_ids=\\\"ngModel\\\"\\r\\n                            name=\\\"store_delivery_ids\\\"\\r\\n                            data-placeholder=\\\"Select Delivery Type\\\"\\r\\n                            tabindex=\\\"4\\\"\\r\\n                          >\\r\\n                            <option\\r\\n                              *ngFor=\\\"let delivery of delivery_list\\\"\\r\\n                              value=\\\"{{ delivery._id }}\\\"\\r\\n                            >\\r\\n                              {{ delivery.delivery_name }}\\r\\n                            </option>\\r\\n                          </select>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8 no_padding\\\" [hidden]=\\\"is_edit\\\">\\r\\n                          <span\\r\\n                            *ngFor=\\\"\\r\\n                              let delivery_detail of store_detail.delivery_details;\\r\\n                              let last = last\\r\\n                            \\\"\\r\\n                            >{{ delivery_detail.delivery_name }}\\r\\n                            <span *ngIf=\\\"!last\\\"> , </span>\\r\\n                          </span>\\r\\n                        </div>\\r\\n                      </div>\\r\\n\\r\\n                      <div\\r\\n                        class=\\\"col-md-12 no_padding\\\"\\r\\n                        style=\\\"\\r\\n                          padding-top: 10px;\\r\\n                          padding-bottom: 4px;\\r\\n                          border-bottom: 1px solid lightgrey;\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-4 no_padding\\\">\\r\\n                          <label>{{ title.city | translate }}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8 no_padding\\\" [hidden]=\\\"!is_edit\\\">\\r\\n                          <select\\r\\n                            chosen\\r\\n                            multiple\\r\\n                            class=\\\"chosen-select form-control\\\"\\r\\n                            id=\\\"city_id\\\"\\r\\n                            [(ngModel)]=\\\"store_detail.city_ids\\\"\\r\\n                            #city_ids=\\\"ngModel\\\"\\r\\n                            name=\\\"city_ids\\\"\\r\\n                            data-placeholder=\\\"Select City\\\"\\r\\n                            tabindex=\\\"4\\\"\\r\\n                          >\\r\\n                            <option\\r\\n                              *ngFor=\\\"let city of city_list\\\"\\r\\n                              value=\\\"{{ city._id }}\\\"\\r\\n                            >\\r\\n                              {{ city.city_name }}\\r\\n                            </option>\\r\\n                          </select>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8 no_padding\\\" [hidden]=\\\"is_edit\\\">\\r\\n                          <span>\\r\\n                            {{ city_detail }}\\r\\n                          </span>\\r\\n                        </div>\\r\\n                      </div>\\r\\n\\r\\n                      <div\\r\\n                        class=\\\"col-md-12 no_padding\\\"\\r\\n                        style=\\\"padding-top: 10px; padding-bottom: 4px\\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-4 no_padding\\\">\\r\\n                          <label>{{\\r\\n                            title.security_deposite_required | translate\\r\\n                          }}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8 no_padding\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                          {{ store_detail.security_deposite_required }}\\r\\n                        </div>\\r\\n                        <div\\r\\n                          class=\\\"col-md-8 no_padding form-group\\\"\\r\\n                          *ngIf=\\\"is_edit\\\"\\r\\n                        >\\r\\n                          <input\\r\\n                            type=\\\"text\\\"\\r\\n                            class=\\\"form-control\\\"\\r\\n                            [(ngModel)]=\\\"\\r\\n                              store_detail.security_deposite_required\\r\\n                            \\\"\\r\\n                            #security_deposite_required=\\\"ngModel\\\"\\r\\n                            [disabled]=\\\"\\r\\n                              store_detail.security_deposite_payment_id != ''\\r\\n                            \\\"\\r\\n                            name=\\\"security_deposite_required\\\"\\r\\n                          />\\r\\n                        </div>\\r\\n                      </div>\\r\\n                    </div>\\r\\n                    <div\\r\\n                      class=\\\"row no_margin\\\"\\r\\n                      *ngIf=\\\"selected_tab == 6\\\"\\r\\n                      style=\\\"overflow-x: hidden\\\"\\r\\n                    >\\r\\n                      <div\\r\\n                        class=\\\"col-md-12 no_padding\\\"\\r\\n                        style=\\\"\\r\\n                          padding-top: 10px;\\r\\n                          padding-bottom: 4px;\\r\\n                          border-bottom: 1px solid lightgrey;\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-4 no_padding\\\">\\r\\n                          <label>{{ title.store_owner | translate }}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8 no_padding\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                          {{ store_detail.store_owner }}\\r\\n                        </div>\\r\\n                        <div\\r\\n                          class=\\\"col-md-8 no_padding form-group\\\"\\r\\n                          *ngIf=\\\"is_edit\\\"\\r\\n                        >\\r\\n                          <input\\r\\n                            type=\\\"text\\\"\\r\\n                            class=\\\"form-control\\\"\\r\\n                            [(ngModel)]=\\\"store_detail.store_owner\\\"\\r\\n                            #store_owner=\\\"ngModel\\\"\\r\\n                            name=\\\"store_owner\\\"\\r\\n                          />\\r\\n                        </div>\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"col-md-12 no_padding\\\"\\r\\n                        style=\\\"\\r\\n                          padding-top: 10px;\\r\\n                          padding-bottom: 4px;\\r\\n                          border-bottom: 1px solid lightgrey;\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-4 no_padding\\\">\\r\\n                          <label>{{\\r\\n                            title.store_owner_phone | translate\\r\\n                          }}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8 no_padding\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                          {{ store_detail.store_owner_phone }}\\r\\n                        </div>\\r\\n                        <div\\r\\n                          class=\\\"col-md-8 no_padding form-group\\\"\\r\\n                          *ngIf=\\\"is_edit\\\"\\r\\n                        >\\r\\n                          <input\\r\\n                            type=\\\"number\\\"\\r\\n                            class=\\\"form-control\\\"\\r\\n                            [(ngModel)]=\\\"store_detail.store_owner_phone\\\"\\r\\n                            #store_owner_phone=\\\"ngModel\\\"\\r\\n                            name=\\\"store_owner_phone\\\"\\r\\n                          />\\r\\n                        </div>\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"col-md-12 no_padding\\\"\\r\\n                        style=\\\"\\r\\n                          padding-top: 10px;\\r\\n                          padding-bottom: 4px;\\r\\n                          border-bottom: 1px solid lightgrey;\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-4 no_padding\\\">\\r\\n                          <label>{{\\r\\n                            title.store_owner_email | translate\\r\\n                          }}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8 no_padding\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                          {{ store_detail.store_owner_email }}\\r\\n                        </div>\\r\\n                        <div\\r\\n                          class=\\\"col-md-8 no_padding form-group\\\"\\r\\n                          *ngIf=\\\"is_edit\\\"\\r\\n                        >\\r\\n                          <input\\r\\n                            type=\\\"email\\\"\\r\\n                            class=\\\"form-control\\\"\\r\\n                            [(ngModel)]=\\\"store_detail.store_owner_email\\\"\\r\\n                            #store_owner_email=\\\"ngModel\\\"\\r\\n                            name=\\\"store_owner_email\\\"\\r\\n                          />\\r\\n                        </div>\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"col-md-12 no_padding\\\"\\r\\n                        style=\\\"\\r\\n                          padding-top: 10px;\\r\\n                          padding-bottom: 4px;\\r\\n                          border-bottom: 1px solid lightgrey;\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-4 no_padding\\\">\\r\\n                          <label>{{ title.company_name | translate }}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8 no_padding\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                          {{ store_detail.company_name }}\\r\\n                        </div>\\r\\n                        <div\\r\\n                          class=\\\"col-md-8 no_padding form-group\\\"\\r\\n                          *ngIf=\\\"is_edit\\\"\\r\\n                        >\\r\\n                          <input\\r\\n                            type=\\\"text\\\"\\r\\n                            class=\\\"form-control\\\"\\r\\n                            [(ngModel)]=\\\"store_detail.company_name\\\"\\r\\n                            #company_name=\\\"ngModel\\\"\\r\\n                            name=\\\"company_name\\\"\\r\\n                          />\\r\\n                        </div>\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"col-md-12 no_padding\\\"\\r\\n                        style=\\\"\\r\\n                          padding-top: 10px;\\r\\n                          padding-bottom: 4px;\\r\\n                          border-bottom: 1px solid lightgrey;\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-4 no_padding\\\">\\r\\n                          <label>{{ title.company_address | translate }}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8 no_padding\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                          {{ store_detail.company_address }}\\r\\n                        </div>\\r\\n                        <div\\r\\n                          class=\\\"col-md-8 no_padding form-group\\\"\\r\\n                          *ngIf=\\\"is_edit\\\"\\r\\n                        >\\r\\n                          <input\\r\\n                            type=\\\"text\\\"\\r\\n                            class=\\\"form-control\\\"\\r\\n                            [(ngModel)]=\\\"store_detail.company_address\\\"\\r\\n                            #company_address=\\\"ngModel\\\"\\r\\n                            name=\\\"company_address\\\"\\r\\n                          />\\r\\n                        </div>\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"col-md-12 no_padding\\\"\\r\\n                        style=\\\"\\r\\n                          padding-top: 10px;\\r\\n                          padding-bottom: 4px;\\r\\n                          border-bottom: 1px solid lightgrey;\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-4 no_padding\\\">\\r\\n                          <label>{{\\r\\n                            title.iban_bank_number | translate\\r\\n                          }}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8 no_padding\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                          {{ store_detail.iban_bank_number }}\\r\\n                        </div>\\r\\n                        <div\\r\\n                          class=\\\"col-md-8 no_padding form-group\\\"\\r\\n                          *ngIf=\\\"is_edit\\\"\\r\\n                        >\\r\\n                          <input\\r\\n                            type=\\\"text\\\"\\r\\n                            class=\\\"form-control\\\"\\r\\n                            [(ngModel)]=\\\"store_detail.iban_bank_number\\\"\\r\\n                            #iban_bank_number=\\\"ngModel\\\"\\r\\n                            name=\\\"iban_bank_number\\\"\\r\\n                          />\\r\\n                        </div>\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"col-md-12 no_padding\\\"\\r\\n                        style=\\\"padding-top: 10px; padding-bottom: 4px\\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-4 no_padding\\\">\\r\\n                          <label>{{ title.signature_date | translate }}</label>\\r\\n                        </div>\\r\\n                        <div\\r\\n                          class=\\\"col-md-8 no_padding\\\"\\r\\n                          *ngIf=\\\"!is_edit && store_detail.signature_date\\\"\\r\\n                        >\\r\\n                          {{ store_detail.signature_date.formatted }}\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8 no_padding\\\" *ngIf=\\\"is_edit\\\">\\r\\n                          <my-date-picker\\r\\n                            [options]=\\\"helper.saasDatePickerOptions\\\"\\r\\n                            placeholder=\\\"{{ title.start_date | translate }}\\\"\\r\\n                            [(ngModel)]=\\\"store_detail.signature_date\\\"\\r\\n                            #signature_date=\\\"ngModel\\\"\\r\\n                            name=\\\"signature_date\\\"\\r\\n                          ></my-date-picker>\\r\\n                        </div>\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"col-md-12 no_padding\\\"\\r\\n                        style=\\\"\\r\\n                          padding-top: 10px;\\r\\n                          padding-bottom: 4px;\\r\\n                          border-bottom: 1px solid lightgrey;\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-4 no_padding\\\">\\r\\n                          <label>{{ title.cash_ref_code | translate }}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8 no_padding\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                          {{ store_detail.cash_ref_code }}\\r\\n                        </div>\\r\\n                        <div\\r\\n                          class=\\\"col-md-8 no_padding form-group\\\"\\r\\n                          *ngIf=\\\"is_edit\\\"\\r\\n                        >\\r\\n                          <input\\r\\n                            type=\\\"text\\\"\\r\\n                            class=\\\"form-control\\\"\\r\\n                            [(ngModel)]=\\\"store_detail.cash_ref_code\\\"\\r\\n                            #cash_ref_code=\\\"ngModel\\\"\\r\\n                            name=\\\"cash_ref_code\\\"\\r\\n                          />\\r\\n                        </div>\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"col-md-12 no_padding\\\"\\r\\n                        style=\\\"\\r\\n                          padding-top: 10px;\\r\\n                          padding-bottom: 4px;\\r\\n                          border-bottom: 1px solid lightgrey;\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-4 no_padding\\\">\\r\\n                          <label>{{ title.card_ref_code | translate }}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8 no_padding\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                          {{ store_detail.card_ref_code }}\\r\\n                        </div>\\r\\n                        <div\\r\\n                          class=\\\"col-md-8 no_padding form-group\\\"\\r\\n                          *ngIf=\\\"is_edit\\\"\\r\\n                        >\\r\\n                          <input\\r\\n                            type=\\\"text\\\"\\r\\n                            class=\\\"form-control\\\"\\r\\n                            [(ngModel)]=\\\"store_detail.card_ref_code\\\"\\r\\n                            #card_ref_code=\\\"ngModel\\\"\\r\\n                            name=\\\"card_ref_code\\\"\\r\\n                          />\\r\\n                        </div>\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"col-md-12 no_padding\\\"\\r\\n                        style=\\\"\\r\\n                          padding-top: 10px;\\r\\n                          padding-bottom: 4px;\\r\\n                          border-bottom: 1px solid lightgrey;\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-4 no_padding\\\">\\r\\n                          <label>{{\\r\\n                            title.delivery_ref_code | translate\\r\\n                          }}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8 no_padding\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                          {{ store_detail.delivery_ref_code }}\\r\\n                        </div>\\r\\n                        <div\\r\\n                          class=\\\"col-md-8 no_padding form-group\\\"\\r\\n                          *ngIf=\\\"is_edit\\\"\\r\\n                        >\\r\\n                          <input\\r\\n                            type=\\\"text\\\"\\r\\n                            class=\\\"form-control\\\"\\r\\n                            [(ngModel)]=\\\"store_detail.delivery_ref_code\\\"\\r\\n                            #delivery_ref_code=\\\"ngModel\\\"\\r\\n                            name=\\\"delivery_ref_code\\\"\\r\\n                          />\\r\\n                        </div>\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"col-md-12 no_padding\\\"\\r\\n                        style=\\\"\\r\\n                          padding-top: 10px;\\r\\n                          padding-bottom: 4px;\\r\\n                          border-bottom: 1px solid lightgrey;\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-4 no_padding\\\">\\r\\n                          <label>{{ title.pickup_ref_code | translate }}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8 no_padding\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                          {{ store_detail.pickup_ref_code }}\\r\\n                        </div>\\r\\n                        <div\\r\\n                          class=\\\"col-md-8 no_padding form-group\\\"\\r\\n                          *ngIf=\\\"is_edit\\\"\\r\\n                        >\\r\\n                          <input\\r\\n                            type=\\\"text\\\"\\r\\n                            class=\\\"form-control\\\"\\r\\n                            [(ngModel)]=\\\"store_detail.pickup_ref_code\\\"\\r\\n                            #pickup_ref_code=\\\"ngModel\\\"\\r\\n                            name=\\\"pickup_ref_code\\\"\\r\\n                          />\\r\\n                        </div>\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"col-md-12 no_padding\\\"\\r\\n                        style=\\\"\\r\\n                          padding-top: 10px;\\r\\n                          padding-bottom: 4px;\\r\\n                          border-bottom: 1px solid lightgrey;\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-4 no_padding\\\">\\r\\n                          <label>{{\\r\\n                            title.service_fee_ref_code | translate\\r\\n                          }}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8 no_padding\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                          {{ store_detail.service_fee_ref_code }}\\r\\n                        </div>\\r\\n                        <div\\r\\n                          class=\\\"col-md-8 no_padding form-group\\\"\\r\\n                          *ngIf=\\\"is_edit\\\"\\r\\n                        >\\r\\n                          <input\\r\\n                            type=\\\"text\\\"\\r\\n                            class=\\\"form-control\\\"\\r\\n                            [(ngModel)]=\\\"store_detail.service_fee_ref_code\\\"\\r\\n                            #service_fee_ref_code=\\\"ngModel\\\"\\r\\n                            name=\\\"service_fee_ref_code\\\"\\r\\n                          />\\r\\n                        </div>\\r\\n                      </div>\\r\\n                    </div>\\r\\n\\r\\n                    <ul class=\\\"list-group clear-list\\\" *ngIf=\\\"selected_tab == 1\\\">\\r\\n                      <li class=\\\"list-group-item\\\">\\r\\n                        <span class=\\\"pull-right\\\">{{\\r\\n                          store_detail.country_details.country_name\\r\\n                        }}</span>\\r\\n                        {{ title.country | translate }}\\r\\n                      </li>\\r\\n                      <li class=\\\"list-group-item\\\">\\r\\n                        <span class=\\\"pull-right\\\">{{\\r\\n                          store_detail.city_details.city_name\\r\\n                        }}</span>\\r\\n                        {{ title.city | translate }}\\r\\n                      </li>\\r\\n                      <li class=\\\"list-group-item\\\">\\r\\n                        <span class=\\\"pull-right\\\"\\r\\n                          ><ui-switch\\r\\n                            [(ngModel)]=\\\"store_detail.is_tablet\\\"\\r\\n                            #is_tablet=\\\"ngModel\\\"\\r\\n                            name=\\\"is_tablet\\\"\\r\\n                            [disabled]=\\\"!is_edit\\\"\\r\\n                          ></ui-switch\\r\\n                        ></span>\\r\\n                        {{ title.tablet | translate }}\\r\\n                      </li>\\r\\n                      <li\\r\\n                        class=\\\"list-group-item\\\"\\r\\n                        *ngIf=\\\"!is_edit && store_detail.is_tablet\\\"\\r\\n                      >\\r\\n                        <span class=\\\"pull-right\\\">{{\\r\\n                          store_detail.tablet_number\\r\\n                        }}</span>\\r\\n                        {{ title.tablet_number | translate }}\\r\\n                      </li>\\r\\n                      <li\\r\\n                        class=\\\"list-group-item\\\"\\r\\n                        *ngIf=\\\"is_edit && store_detail.is_tablet\\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-lg-3 pull-right form-group\\\">\\r\\n                          <input\\r\\n                            type=\\\"text\\\"\\r\\n                            class=\\\"form-control\\\"\\r\\n                            [(ngModel)]=\\\"store_detail.tablet_number\\\"\\r\\n                            #tablet_number=\\\"ngModel\\\"\\r\\n                            name=\\\"tablet_number\\\"\\r\\n                          />\\r\\n                        </div>\\r\\n                        {{ title.tablet_number | translate }}\\r\\n                      </li>\\r\\n                      <li class=\\\"list-group-item\\\">\\r\\n                        <span\\r\\n                          class=\\\"pull-right\\\"\\r\\n                          *ngIf=\\\"store_detail.business_off_type\\\"\\r\\n                        >\\r\\n                          <span *ngIf=\\\"store_detail.business_off_type == 1\\\"\\r\\n                            >Admin</span\\r\\n                          >\\r\\n                          <span *ngIf=\\\"store_detail.business_off_type !== 1\\\"\\r\\n                            >Store</span\\r\\n                          >\\r\\n                        </span>\\r\\n                        {{ title.business_off_type | translate }}\\r\\n                      </li>\\r\\n                      <li class=\\\"list-group-item\\\">\\r\\n                        <span\\r\\n                          class=\\\"pull-right\\\"\\r\\n                          *ngIf=\\\"store_detail.business_off_date\\\"\\r\\n                          >{{\\r\\n                            store_detail.business_off_date\\r\\n                              | date : \\\"MM-dd-yyyy HH:mm a\\\"\\r\\n                          }}</span\\r\\n                        >\\r\\n                        {{ title.business_off_date | translate }}\\r\\n                      </li>\\r\\n                    </ul>\\r\\n\\r\\n                    <div\\r\\n                      class=\\\"row no_margin\\\"\\r\\n                      *ngIf=\\\"selected_tab == 1\\\"\\r\\n                      style=\\\"margin-top: 10px\\\"\\r\\n                    >\\r\\n                      <div\\r\\n                        class=\\\"col-md-4 remove_right_padding\\\"\\r\\n                        (click)=\\\"view_store_history()\\\"\\r\\n                      >\\r\\n                        <button\\r\\n                          type=\\\"button\\\"\\r\\n                          class=\\\"btn btn-light_black btn-sm btn-block\\\"\\r\\n                        >\\r\\n                          {{ button.summary | translate }}\\r\\n                        </button>\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"col-md-4 remove_right_padding\\\"\\r\\n                        (click)=\\\"review_export_csv()\\\"\\r\\n                      >\\r\\n                        <button\\r\\n                          type=\\\"button\\\"\\r\\n                          class=\\\"btn btn-light_black btn-sm btn-block\\\"\\r\\n                        >\\r\\n                          {{ button.export_review | translate }}\\r\\n                        </button>\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"col-md-4 remove_right_padding\\\"\\r\\n                        (click)=\\\"view_type = 2\\\"\\r\\n                      >\\r\\n                        <button\\r\\n                          type=\\\"button\\\"\\r\\n                          class=\\\"btn btn-light_black btn-sm btn-block\\\"\\r\\n                        >\\r\\n                          {{ button.adjust | translate }}\\r\\n                        </button>\\r\\n                      </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div\\r\\n                      class=\\\"row no_margin\\\"\\r\\n                      *ngIf=\\\"selected_tab == 1\\\"\\r\\n                      style=\\\"margin-top: 10px\\\"\\r\\n                    >\\r\\n                      <div\\r\\n                        class=\\\"col-md-12 no_padding\\\"\\r\\n                        style=\\\"padding-top: 10px; padding-bottom: 4px\\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-4 no_padding\\\">\\r\\n                          <label>{{ title.is_top | translate }}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-4 no_padding text-center\\\">\\r\\n                          <span class=\\\"\\\">\\r\\n                            <ui-switch\\r\\n                              [disabled]=\\\"!is_edit\\\"\\r\\n                              [(ngModel)]=\\\"store_detail.is_top\\\"\\r\\n                              name=\\\"is_top\\\"\\r\\n                            ></ui-switch\\r\\n                          ></span>\\r\\n                        </div>\\r\\n                        <div\\r\\n                          class=\\\"col-md-4 no_padding\\\"\\r\\n                          *ngIf=\\\"\\r\\n                            store_detail.is_top &&\\r\\n                            !is_edit &&\\r\\n                            store_detail.top_end_date\\r\\n                          \\\"\\r\\n                        >\\r\\n                          {{ store_detail.top_end_date.formatted }}\\r\\n                        </div>\\r\\n                        <div\\r\\n                          class=\\\"col-md-4 no_padding\\\"\\r\\n                          *ngIf=\\\"store_detail.is_top && is_edit\\\"\\r\\n                        >\\r\\n                          <my-date-picker\\r\\n                            [options]=\\\"helper.saasDatePickerOptions\\\"\\r\\n                            placeholder=\\\"{{ title.end_date | translate }}\\\"\\r\\n                            [(ngModel)]=\\\"store_detail.top_end_date\\\"\\r\\n                            #top_end_date=\\\"ngModel\\\"\\r\\n                            name=\\\"top_end_date\\\"\\r\\n                          ></my-date-picker>\\r\\n                        </div>\\r\\n                      </div>\\r\\n                    </div>\\r\\n                    <div\\r\\n                      class=\\\"row no_margin\\\"\\r\\n                      *ngIf=\\\"selected_tab == 1\\\"\\r\\n                      style=\\\"margin-top: 10px\\\"\\r\\n                    >\\r\\n                      <div\\r\\n                        class=\\\"col-md-12 no_padding\\\"\\r\\n                        style=\\\"padding-top: 10px; padding-bottom: 4px\\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-4 no_padding\\\">\\r\\n                          <label>{{ title.is_premium | translate }}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-4 no_padding text-center\\\">\\r\\n                          <span class=\\\"\\\">\\r\\n                            <ui-switch\\r\\n                              [disabled]=\\\"!is_edit\\\"\\r\\n                              [(ngModel)]=\\\"store_detail.is_premium\\\"\\r\\n                              name=\\\"is_premium\\\"\\r\\n                            ></ui-switch\\r\\n                          ></span>\\r\\n                        </div>\\r\\n                      </div>\\r\\n                    </div>\\r\\n                    <div\\r\\n                      class=\\\"row no_margin\\\"\\r\\n                      *ngIf=\\\"selected_tab == 1\\\"\\r\\n                      style=\\\"margin-top: 10px\\\"\\r\\n                    >\\r\\n                      <div\\r\\n                        class=\\\"col-md-12 no_padding\\\"\\r\\n                        style=\\\"padding-top: 10px; padding-bottom: 4px\\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-4 no_padding\\\">\\r\\n                          <label>{{ title.launch_date | translate }}</label>\\r\\n                        </div>\\r\\n                        <div\\r\\n                          class=\\\"col-md-4 no_padding\\\"\\r\\n                          *ngIf=\\\"!is_edit && store_detail.launch_date\\\"\\r\\n                        >\\r\\n                          {{ store_detail.launch_date.formatted }}\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-4 no_padding\\\" *ngIf=\\\"is_edit\\\">\\r\\n                          <my-date-picker\\r\\n                            [options]=\\\"helper.saasDatePickerOptions\\\"\\r\\n                            placeholder=\\\"{{ title.launch_date | translate }}\\\"\\r\\n                            [(ngModel)]=\\\"store_detail.launch_date\\\"\\r\\n                            #launch_date=\\\"ngModel\\\"\\r\\n                            name=\\\"launch_date\\\"\\r\\n                          ></my-date-picker>\\r\\n                        </div>\\r\\n                      </div>\\r\\n                    </div>\\r\\n\\r\\n                    <!-- US Commission Fields -->\\r\\n                    <div class=\\\"row no_margin\\\" *ngIf=\\\"selected_tab == 1\\\" style=\\\"margin-top: 10px\\\">\\r\\n                      <div class=\\\"col-md-12 no_padding\\\">\\r\\n                        <div class=\\\"col-md-4 no_padding\\\">\\r\\n                          <label><strong>US Commission</strong></label>\\r\\n                        </div>\\r\\n                      </div>\\r\\n                      <div class=\\\"col-md-12 no_padding\\\">\\r\\n                        <ul class=\\\"list-group\\\">\\r\\n                          <li class=\\\"list-group-item row\\\" [class.set_height]=\\\"is_edit\\\">\\r\\n                            <div class=\\\"col-md-4\\\">Hop Commission (%)</div>\\r\\n                            <div class=\\\"col-md-8\\\">\\r\\n                              <span class=\\\"pull-right\\\" *ngIf=\\\"!is_edit\\\">{{ store_detail.hop_commission }}</span>\\r\\n                              <span class=\\\"pull-right\\\" *ngIf=\\\"is_edit\\\">\\r\\n                                <input type=\\\"number\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_detail.hop_commission\\\" name=\\\"hop_commission{{ index }}\\\" />\\r\\n                              </span>\\r\\n                            </div>\\r\\n                          </li>\\r\\n                          <li class=\\\"list-group-item row\\\" [class.set_height]=\\\"is_edit\\\">\\r\\n                            <div class=\\\"col-md-4\\\">Hopper Commission (%)</div>\\r\\n                            <div class=\\\"col-md-8\\\">\\r\\n                              <span class=\\\"pull-right\\\" *ngIf=\\\"!is_edit\\\">{{ store_detail.hopper_commission }}</span>\\r\\n                              <span class=\\\"pull-right\\\" *ngIf=\\\"is_edit\\\">\\r\\n                                <input type=\\\"number\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_detail.hopper_commission\\\" name=\\\"hopper_commission{{ index }}\\\" />\\r\\n                              </span>\\r\\n                            </div>\\r\\n                          </li>\\r\\n                          <li class=\\\"list-group-item row\\\" [class.set_height]=\\\"is_edit\\\">\\r\\n                            <div class=\\\"col-md-4\\\">Third Party Commission (%)</div>\\r\\n                            <div class=\\\"col-md-8\\\">\\r\\n                              <span class=\\\"pull-right\\\" *ngIf=\\\"!is_edit\\\">{{ store_detail.third_party_commission }}</span>\\r\\n                              <span class=\\\"pull-right\\\" *ngIf=\\\"is_edit\\\">\\r\\n                                <input type=\\\"number\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_detail.third_party_commission\\\" name=\\\"third_party_commission{{ index }}\\\" />\\r\\n                              </span>\\r\\n                            </div>\\r\\n                          </li>\\r\\n                          <li class=\\\"list-group-item row\\\" [class.set_height]=\\\"is_edit\\\">\\r\\n                            <div class=\\\"col-md-4\\\">Tip Commission (%)</div>\\r\\n                            <div class=\\\"col-md-8\\\">\\r\\n                              <span class=\\\"pull-right\\\" *ngIf=\\\"!is_edit\\\">{{ store_detail.tip_commission }}</span>\\r\\n                              <span class=\\\"pull-right\\\" *ngIf=\\\"is_edit\\\">\\r\\n                                <input type=\\\"number\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_detail.tip_commission\\\" name=\\\"tip_commission{{ index }}\\\" />\\r\\n                              </span>\\r\\n                            </div>\\r\\n                          </li>\\r\\n                        </ul>\\r\\n                      </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"ibox\\\" *ngIf=\\\"selected_tab == 1\\\">\\r\\n                      <div\\r\\n                        class=\\\"ibox-title\\\"\\r\\n                        style=\\\"padding: 0; min-height: 35px !important\\\"\\r\\n                      >\\r\\n                        <label\\r\\n                          style=\\\"margin-left: 15px; margin-top: 9px\\\"\\r\\n                          class=\\\"control-label\\\"\\r\\n                          >{{ heading_title.store_conges | translate }}</label\\r\\n                        >\\r\\n                        <div class=\\\"pull-right\\\">\\r\\n                          <button\\r\\n                            type=\\\"button\\\"\\r\\n                            (click)=\\\"updateCongesTime()\\\"\\r\\n                            style=\\\"\\r\\n                              background-color: #e5e5e5;\\r\\n                              border: 0;\\r\\n                              margin-top: 5px;\\r\\n                            \\\"\\r\\n                          >\\r\\n                            <span class=\\\"fa fa-check\\\"></span>\\r\\n                          </button>\\r\\n                        </div>\\r\\n                      </div>\\r\\n                      <div class=\\\"ibox-content\\\">\\r\\n                        <div class=\\\"\\\">\\r\\n                          <table class=\\\"table\\\">\\r\\n                            <tr>\\r\\n                              <td>{{ title.start_time | translate }}</td>\\r\\n                              <td>{{ title.end_time | translate }}</td>\\r\\n                              <td>{{ title.action | translate }}</td>\\r\\n                            </tr>\\r\\n                            <tr\\r\\n                              *ngFor=\\\"\\r\\n                                let i of store_detail.store_conges;\\r\\n                                let index = index\\r\\n                              \\\"\\r\\n                            >\\r\\n                              <td>\\r\\n                                {{\\r\\n                                  i.start_time\\r\\n                                    | date\\r\\n                                      : helper.DATE_FORMAT.DD_MMM_YYYY_HH_MM_A\\r\\n                                }}\\r\\n                              </td>\\r\\n                              <td>\\r\\n                                {{\\r\\n                                  i.end_time\\r\\n                                    | date\\r\\n                                      : helper.DATE_FORMAT.DD_MMM_YYYY_HH_MM_A\\r\\n                                }}\\r\\n                              </td>\\r\\n                              <td>\\r\\n                                <span\\r\\n                                  (click)=\\\"remove_conges_time(index)\\\"\\r\\n                                  class=\\\"fa fa-times\\\"\\r\\n                                ></span>\\r\\n                              </td>\\r\\n                            </tr>\\r\\n                          </table>\\r\\n                        </div>\\r\\n                      </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"ibox\\\" *ngIf=\\\"selected_tab == 1\\\">\\r\\n                      <div\\r\\n                        class=\\\"ibox-title\\\"\\r\\n                        style=\\\"padding: 0; min-height: 35px !important\\\"\\r\\n                      >\\r\\n                        <label\\r\\n                          style=\\\"margin-left: 15px; margin-top: 9px\\\"\\r\\n                          class=\\\"control-label\\\"\\r\\n                          >{{ heading_title.store_time | translate }}</label\\r\\n                        >\\r\\n                        <div class=\\\"pull-right\\\">\\r\\n                          <button\\r\\n                            *ngIf=\\\"!edit\\\"\\r\\n                            type=\\\"button\\\"\\r\\n                            (click)=\\\"edit = true\\\"\\r\\n                            style=\\\"\\r\\n                              background-color: #e5e5e5;\\r\\n                              border: 0;\\r\\n                              margin-top: 5px;\\r\\n                            \\\"\\r\\n                          >\\r\\n                            <span class=\\\"fa fa-pencil\\\"></span>\\r\\n                          </button>\\r\\n                          <button\\r\\n                            *ngIf=\\\"edit\\\"\\r\\n                            type=\\\"button\\\"\\r\\n                            (click)=\\\"updateStoreTime()\\\"\\r\\n                            style=\\\"\\r\\n                              background-color: #e5e5e5;\\r\\n                              border: 0;\\r\\n                              margin-top: 5px;\\r\\n                            \\\"\\r\\n                          >\\r\\n                            <span class=\\\"fa fa-check\\\"></span>\\r\\n                          </button>\\r\\n                        </div>\\r\\n                      </div>\\r\\n                      <div class=\\\"ibox-content general_setting scrollbar\\\">\\r\\n                        <div class=\\\"row\\\" style=\\\"margin: 0\\\">\\r\\n                          <div\\r\\n                            class=\\\"col-lg-12\\\"\\r\\n                            style=\\\"\\r\\n                              border-bottom: 1px solid;\\r\\n                              padding-left: 0;\\r\\n                              padding-right: 0;\\r\\n                            \\\"\\r\\n                          >\\r\\n                            <div\\r\\n                              class=\\\"wizard\\\"\\r\\n                              style=\\\"\\r\\n                                border-bottom: 1px solid;\\r\\n                                padding-left: 0;\\r\\n                                padding-right: 0;\\r\\n                              \\\"\\r\\n                            >\\r\\n                              <div class=\\\"steps clearfix\\\">\\r\\n                                <ul style=\\\"display: table; padding: 0px\\\">\\r\\n                                  <li\\r\\n                                    (click)=\\\"change_day(0)\\\"\\r\\n                                    style=\\\"width: unset !important\\\"\\r\\n                                    [style.border-bottom]=\\\"\\r\\n                                      curren_selected_day == 0\\r\\n                                        ? '1px solid #bc202b'\\r\\n                                        : null\\r\\n                                    \\\"\\r\\n                                    class=\\\"day_li\\\"\\r\\n                                  >\\r\\n                                    <a\\r\\n                                      style=\\\"\\r\\n                                        border-bottom-right-radius: 0px;\\r\\n                                        border-bottom-left-radius: 0px;\\r\\n                                        border: 0px;\\r\\n                                      \\\"\\r\\n                                      class=\\\"btn-default\\\"\\r\\n                                      ><span\\r\\n                                        style=\\\"\\r\\n                                          margin-left: -5px;\\r\\n                                          font-weight: bold;\\r\\n                                          display: block;\\r\\n                                        \\\"\\r\\n                                        [style.color]=\\\"\\r\\n                                          curren_selected_day == 0\\r\\n                                            ? '#bc202b'\\r\\n                                            : null\\r\\n                                        \\\"\\r\\n                                        class=\\\"nav-label\\\"\\r\\n                                        >{{ title.sunday | translate }}</span\\r\\n                                      ></a\\r\\n                                    >\\r\\n                                  </li>\\r\\n                                  <li\\r\\n                                    (click)=\\\"change_day(1)\\\"\\r\\n                                    style=\\\"width: unset !important\\\"\\r\\n                                    [style.border-bottom]=\\\"\\r\\n                                      curren_selected_day == 1\\r\\n                                        ? '1px solid #bc202b'\\r\\n                                        : null\\r\\n                                    \\\"\\r\\n                                    class=\\\"day_li\\\"\\r\\n                                  >\\r\\n                                    <a\\r\\n                                      style=\\\"\\r\\n                                        border-bottom-right-radius: 0px;\\r\\n                                        border-bottom-left-radius: 0px;\\r\\n                                        border: 0px;\\r\\n                                      \\\"\\r\\n                                      class=\\\"btn-default\\\"\\r\\n                                      ><span\\r\\n                                        style=\\\"\\r\\n                                          margin-left: -5px;\\r\\n                                          font-weight: bold;\\r\\n                                          display: block;\\r\\n                                        \\\"\\r\\n                                        [style.color]=\\\"\\r\\n                                          curren_selected_day == 1\\r\\n                                            ? '#bc202b'\\r\\n                                            : null\\r\\n                                        \\\"\\r\\n                                        class=\\\"nav-label\\\"\\r\\n                                        >{{ title.monday | translate }}</span\\r\\n                                      ></a\\r\\n                                    >\\r\\n                                  </li>\\r\\n                                  <li\\r\\n                                    (click)=\\\"change_day(2)\\\"\\r\\n                                    style=\\\"width: unset !important\\\"\\r\\n                                    [style.border-bottom]=\\\"\\r\\n                                      curren_selected_day == 2\\r\\n                                        ? '1px solid #bc202b'\\r\\n                                        : null\\r\\n                                    \\\"\\r\\n                                    class=\\\"day_li\\\"\\r\\n                                  >\\r\\n                                    <a\\r\\n                                      style=\\\"\\r\\n                                        border-bottom-right-radius: 0px;\\r\\n                                        border-bottom-left-radius: 0px;\\r\\n                                        border: 0px;\\r\\n                                      \\\"\\r\\n                                      class=\\\"btn-default\\\"\\r\\n                                      ><span\\r\\n                                        style=\\\"\\r\\n                                          margin-left: -5px;\\r\\n                                          font-weight: bold;\\r\\n                                          display: block;\\r\\n                                        \\\"\\r\\n                                        [style.color]=\\\"\\r\\n                                          curren_selected_day == 2\\r\\n                                            ? '#bc202b'\\r\\n                                            : null\\r\\n                                        \\\"\\r\\n                                        class=\\\"nav-label\\\"\\r\\n                                        >{{ title.tuesday | translate }}</span\\r\\n                                      ></a\\r\\n                                    >\\r\\n                                  </li>\\r\\n                                  <li\\r\\n                                    (click)=\\\"change_day(3)\\\"\\r\\n                                    style=\\\"width: unset !important\\\"\\r\\n                                    [style.border-bottom]=\\\"\\r\\n                                      curren_selected_day == 3\\r\\n                                        ? '1px solid #bc202b'\\r\\n                                        : null\\r\\n                                    \\\"\\r\\n                                    class=\\\"day_li\\\"\\r\\n                                  >\\r\\n                                    <a\\r\\n                                      style=\\\"\\r\\n                                        border-bottom-right-radius: 0px;\\r\\n                                        border-bottom-left-radius: 0px;\\r\\n                                        border: 0px;\\r\\n                                      \\\"\\r\\n                                      class=\\\"btn-default\\\"\\r\\n                                      ><span\\r\\n                                        style=\\\"\\r\\n                                          margin-left: -5px;\\r\\n                                          font-weight: bold;\\r\\n                                          display: block;\\r\\n                                        \\\"\\r\\n                                        [style.color]=\\\"\\r\\n                                          curren_selected_day == 3\\r\\n                                            ? '#bc202b'\\r\\n                                            : null\\r\\n                                        \\\"\\r\\n                                        class=\\\"nav-label\\\"\\r\\n                                        >{{ title.wednesday | translate }}</span\\r\\n                                      ></a\\r\\n                                    >\\r\\n                                  </li>\\r\\n                                  <li\\r\\n                                    (click)=\\\"change_day(4)\\\"\\r\\n                                    style=\\\"width: unset !important\\\"\\r\\n                                    [style.border-bottom]=\\\"\\r\\n                                      curren_selected_day == 4\\r\\n                                        ? '1px solid #bc202b'\\r\\n                                        : null\\r\\n                                    \\\"\\r\\n                                    class=\\\"day_li\\\"\\r\\n                                  >\\r\\n                                    <a\\r\\n                                      style=\\\"\\r\\n                                        border-bottom-right-radius: 0px;\\r\\n                                        border-bottom-left-radius: 0px;\\r\\n                                        border: 0px;\\r\\n                                      \\\"\\r\\n                                      class=\\\"btn-default\\\"\\r\\n                                      ><span\\r\\n                                        style=\\\"\\r\\n                                          margin-left: -5px;\\r\\n                                          font-weight: bold;\\r\\n                                          display: block;\\r\\n                                        \\\"\\r\\n                                        [style.color]=\\\"\\r\\n                                          curren_selected_day == 4\\r\\n                                            ? '#bc202b'\\r\\n                                            : null\\r\\n                                        \\\"\\r\\n                                        class=\\\"nav-label\\\"\\r\\n                                        >{{ title.thursday | translate }}</span\\r\\n                                      ></a\\r\\n                                    >\\r\\n                                  </li>\\r\\n                                  <li\\r\\n                                    (click)=\\\"change_day(5)\\\"\\r\\n                                    style=\\\"width: unset !important\\\"\\r\\n                                    [style.border-bottom]=\\\"\\r\\n                                      curren_selected_day == 5\\r\\n                                        ? '1px solid #bc202b'\\r\\n                                        : null\\r\\n                                    \\\"\\r\\n                                    class=\\\"day_li\\\"\\r\\n                                  >\\r\\n                                    <a\\r\\n                                      style=\\\"\\r\\n                                        border-bottom-right-radius: 0px;\\r\\n                                        border-bottom-left-radius: 0px;\\r\\n                                        border: 0px;\\r\\n                                      \\\"\\r\\n                                      class=\\\"btn-default\\\"\\r\\n                                      ><span\\r\\n                                        style=\\\"\\r\\n                                          margin-left: -5px;\\r\\n                                          font-weight: bold;\\r\\n                                          display: block;\\r\\n                                        \\\"\\r\\n                                        [style.color]=\\\"\\r\\n                                          curren_selected_day == 5\\r\\n                                            ? '#bc202b'\\r\\n                                            : null\\r\\n                                        \\\"\\r\\n                                        class=\\\"nav-label\\\"\\r\\n                                        >{{ title.friday | translate }}</span\\r\\n                                      ></a\\r\\n                                    >\\r\\n                                  </li>\\r\\n                                  <li\\r\\n                                    (click)=\\\"change_day(6)\\\"\\r\\n                                    style=\\\"width: unset !important\\\"\\r\\n                                    [style.border-bottom]=\\\"\\r\\n                                      curren_selected_day == 6\\r\\n                                        ? '1px solid #bc202b'\\r\\n                                        : null\\r\\n                                    \\\"\\r\\n                                    class=\\\"day_li\\\"\\r\\n                                  >\\r\\n                                    <a\\r\\n                                      style=\\\"\\r\\n                                        border-bottom-right-radius: 0px;\\r\\n                                        border-bottom-left-radius: 0px;\\r\\n                                        border: 0px;\\r\\n                                      \\\"\\r\\n                                      class=\\\"btn-default\\\"\\r\\n                                      ><span\\r\\n                                        style=\\\"\\r\\n                                          margin-left: -5px;\\r\\n                                          font-weight: bold;\\r\\n                                          display: block;\\r\\n                                        \\\"\\r\\n                                        [style.color]=\\\"\\r\\n                                          curren_selected_day == 6\\r\\n                                            ? '#bc202b'\\r\\n                                            : null\\r\\n                                        \\\"\\r\\n                                        class=\\\"nav-label\\\"\\r\\n                                        >{{ title.saturday | translate }}</span\\r\\n                                      ></a\\r\\n                                    >\\r\\n                                  </li>\\r\\n                                </ul>\\r\\n                              </div>\\r\\n                            </div>\\r\\n                            <div\\r\\n                              class=\\\"row\\\"\\r\\n                              style=\\\"margin-top: 9px; margin-bottom: 9px\\\"\\r\\n                            >\\r\\n                              <div class=\\\"col-md-6 col-sm-6\\\">\\r\\n                                <label\\r\\n                                  class=\\\"col-md-9 col-sm-9 col-xs-9 control-label\\\"\\r\\n                                  style=\\\"padding-top: 8px\\\"\\r\\n                                  >{{ title.open_full_time | translate }}</label\\r\\n                                >\\r\\n\\r\\n                                <div\\r\\n                                  class=\\\"col-md-3 col-sm-3 col-xs-3\\\"\\r\\n                                  style=\\\"padding-top: 6px\\\"\\r\\n                                >\\r\\n                                  <ui-switch\\r\\n                                    (change)=\\\"store_full_time_open($event)\\\"\\r\\n                                    [disabled]=\\\"!edit\\\"\\r\\n                                    [(ngModel)]=\\\"is_store_open_full_time\\\"\\r\\n                                    name=\\\"is_store_open_full_time\\\"\\r\\n                                  ></ui-switch>\\r\\n                                </div>\\r\\n                              </div>\\r\\n                              <div class=\\\"col-md-6 col-sm-6\\\">\\r\\n                                <label\\r\\n                                  class=\\\"col-md-9 col-sm-9 col-xs-9 control-label\\\"\\r\\n                                  style=\\\"padding-top: 8px\\\"\\r\\n                                  >{{ title.open | translate }}</label\\r\\n                                >\\r\\n\\r\\n                                <div\\r\\n                                  class=\\\"col-md-3 col-sm-3 col-xs-3\\\"\\r\\n                                  style=\\\"padding-top: 6px\\\"\\r\\n                                >\\r\\n                                  <ui-switch\\r\\n                                    (change)=\\\"store_open($event)\\\"\\r\\n                                    [disabled]=\\\"\\r\\n                                      is_store_open_full_time || !edit\\r\\n                                    \\\"\\r\\n                                    [(ngModel)]=\\\"is_store_open\\\"\\r\\n                                    name=\\\"is_store_open\\\"\\r\\n                                  ></ui-switch>\\r\\n                                </div>\\r\\n                              </div>\\r\\n                            </div>\\r\\n                            <div\\r\\n                              class=\\\"row\\\"\\r\\n                              style=\\\"margin-top: 9px; margin-bottom: 9px\\\"\\r\\n                            >\\r\\n                              <div class=\\\"col-md-6\\\">\\r\\n                                <div class=\\\"text-center\\\">\\r\\n                                  <button\\r\\n                                    type=\\\"button\\\"\\r\\n                                    [disabled]=\\\"!edit\\\"\\r\\n                                    (click)=\\\"open_copy_store_time_modal()\\\"\\r\\n                                    class=\\\"btn add_btn\\\"\\r\\n                                  >\\r\\n                                    {{ button.copy_store_time | translate }}\\r\\n                                  </button>\\r\\n                                </div>\\r\\n                              </div>\\r\\n                              <div class=\\\"col-md-6\\\">\\r\\n                                <div class=\\\"text-center\\\">\\r\\n                                  <button\\r\\n                                    type=\\\"button\\\"\\r\\n                                    [disabled]=\\\"\\r\\n                                      is_store_open_full_time || !edit\\r\\n                                    \\\"\\r\\n                                    (click)=\\\"open_add_time_modal()\\\"\\r\\n                                    class=\\\"btn add_btn\\\"\\r\\n                                  >\\r\\n                                    {{ button.add_store_time | translate\\r\\n                                    }}<span\\r\\n                                      class=\\\"fa fa-plus pull-right\\\"\\r\\n                                      style=\\\"margin-top: 2px\\\"\\r\\n                                    ></span>\\r\\n                                  </button>\\r\\n                                </div>\\r\\n                              </div>\\r\\n                            </div>\\r\\n                          </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"\\\">\\r\\n                          <table class=\\\"table\\\">\\r\\n                            <tr>\\r\\n                              <td>{{ title.store_open_time | translate }}</td>\\r\\n                              <td>{{ title.store_close_time | translate }}</td>\\r\\n                              <td>{{ title.action | translate }}</td>\\r\\n                            </tr>\\r\\n                            <tr\\r\\n                              *ngFor=\\\"\\r\\n                                let i of selected_store_time_array;\\r\\n                                let index = index\\r\\n                              \\\"\\r\\n                            >\\r\\n                              <td>{{ i.store_open_time }}</td>\\r\\n                              <td>{{ i.store_close_time }}</td>\\r\\n                              <td>\\r\\n                                <span\\r\\n                                  *ngIf=\\\"!is_store_open_full_time && edit\\\"\\r\\n                                  (click)=\\\"edit_store_time(i, index)\\\"\\r\\n                                  class=\\\"fa fa-pencil\\\"\\r\\n                                ></span>\\r\\n                                <span\\r\\n                                  *ngIf=\\\"!is_store_open_full_time && edit\\\"\\r\\n                                  (click)=\\\"remove_store_time(i)\\\"\\r\\n                                  class=\\\"fa fa-times\\\"\\r\\n                                ></span>\\r\\n                              </td>\\r\\n                            </tr>\\r\\n                          </table>\\r\\n                        </div>\\r\\n                      </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"ibox\\\" *ngIf=\\\"selected_tab == 7\\\">\\r\\n                      <div\\r\\n                        class=\\\"row\\\"\\r\\n                        style=\\\"padding: 15px\\\"\\r\\n                        *ngIf=\\\"store_detail.order_pay_status == 1\\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-12\\\">\\r\\n                          <label\\r\\n                            >{{ title.order_pay_request | translate }}:\\r\\n                          </label>\\r\\n                        </div>\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"row\\\"\\r\\n                        style=\\\"padding: 15px\\\"\\r\\n                        *ngIf=\\\"store_detail.order_pay_status == 1\\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-3\\\"></div>\\r\\n                        <div class=\\\"col-md-3\\\">\\r\\n                          <button\\r\\n                            (click)=\\\"order_pay_request(2)\\\"\\r\\n                            class=\\\"btn btn-block selected_bonus_type\\\"\\r\\n                          >\\r\\n                            {{ button.wallet_request_accept | translate }}\\r\\n                          </button>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-3\\\">\\r\\n                          <button\\r\\n                            (click)=\\\"order_pay_request(0)\\\"\\r\\n                            class=\\\"btn btn-block unselected_bonus_type\\\"\\r\\n                          >\\r\\n                            {{ button.reject | translate }}\\r\\n                          </button>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-3\\\"></div>\\r\\n                      </div>\\r\\n                      <!-- <div class=\\\"row\\\" *ngIf=\\\"store_detail.order_pay_status==1\\\">\\r\\n                                                    <div class=\\\"col-md-12\\\"><label>{{title.order_pay_request | translate}}: </label>\\r\\n                                                    </div>\\r\\n                                                </div> -->\\r\\n\\r\\n                      <div\\r\\n                        class=\\\"row\\\"\\r\\n                        style=\\\"padding: 15px\\\"\\r\\n                        *ngIf=\\\"store_detail.order_pay_status == 2\\\"\\r\\n                      >\\r\\n                        <!-- <div class=\\\"col-md-12\\\">\\r\\n                                                    <label>{{title.order_pay | translate}}: </label>\\r\\n                                                </div> -->\\r\\n\\r\\n                        <div\\r\\n                          class=\\\"col-md-12\\\"\\r\\n                          style=\\\"\\r\\n                            padding-top: 10px;\\r\\n                            padding-bottom: 4px;\\r\\n                            border-bottom: 1px solid lightgrey;\\r\\n                          \\\"\\r\\n                        >\\r\\n                          <div class=\\\"col-md-8\\\">\\r\\n                            <label>{{ title.is_order_pay | translate }}</label>\\r\\n                          </div>\\r\\n                          <div class=\\\"col-md-4 form-group\\\">\\r\\n                            <span class=\\\"\\\">\\r\\n                              <ui-switch\\r\\n                                [disabled]=\\\"!is_edit\\\"\\r\\n                                [(ngModel)]=\\\"store_detail.is_order_pay\\\"\\r\\n                                name=\\\"is_order_pay\\\"\\r\\n                              ></ui-switch\\r\\n                            ></span>\\r\\n                          </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div\\r\\n                          class=\\\"col-md-12\\\"\\r\\n                          style=\\\"\\r\\n                            padding-top: 10px;\\r\\n                            padding-bottom: 4px;\\r\\n                            border-bottom: 1px solid lightgrey;\\r\\n                          \\\"\\r\\n                        >\\r\\n                          <div class=\\\"col-md-8\\\">\\r\\n                            <label>{{ title.order_pay_tva | translate }}</label>\\r\\n                          </div>\\r\\n                          <div class=\\\"col-md-4\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                            {{ store_detail.order_pay_tva }}\\r\\n                          </div>\\r\\n                          <div class=\\\"col-md-4 form-group\\\" *ngIf=\\\"is_edit\\\">\\r\\n                            <input\\r\\n                              type=\\\"text\\\"\\r\\n                              class=\\\"form-control\\\"\\r\\n                              [(ngModel)]=\\\"store_detail.order_pay_tva\\\"\\r\\n                              #order_pay_tva=\\\"ngModel\\\"\\r\\n                              name=\\\"order_pay_tva\\\"\\r\\n                            />\\r\\n                          </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div\\r\\n                          class=\\\"col-md-12\\\"\\r\\n                          style=\\\"\\r\\n                            padding-top: 10px;\\r\\n                            padding-bottom: 4px;\\r\\n                            border-bottom: 1px solid lightgrey;\\r\\n                          \\\"\\r\\n                        >\\r\\n                          <div class=\\\"col-md-8\\\">\\r\\n                            <label>{{\\r\\n                              title.order_pay_cashback_offer | translate\\r\\n                            }}</label>\\r\\n                          </div>\\r\\n                          <div class=\\\"col-md-4\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                            {{ store_detail.order_pay_cashback_offer }}\\r\\n                          </div>\\r\\n                          <div class=\\\"col-md-4 form-group\\\" *ngIf=\\\"is_edit\\\">\\r\\n                            <input\\r\\n                              type=\\\"text\\\"\\r\\n                              class=\\\"form-control\\\"\\r\\n                              [(ngModel)]=\\\"\\r\\n                                store_detail.order_pay_cashback_offer\\r\\n                              \\\"\\r\\n                              #order_pay_cashback_offer=\\\"ngModel\\\"\\r\\n                              name=\\\"order_pay_cashback_offer\\\"\\r\\n                            />\\r\\n                          </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div\\r\\n                          class=\\\"col-md-12\\\"\\r\\n                          style=\\\"padding-top: 30px; padding-bottom: 4px\\\"\\r\\n                        >\\r\\n                          <div class=\\\"col-md-3\\\"></div>\\r\\n                          <div class=\\\"col-md-6\\\">\\r\\n                            <button\\r\\n                              (click)=\\\"order_pay_request(3)\\\"\\r\\n                              class=\\\"btn btn-block unselected_bonus_type\\\"\\r\\n                            >\\r\\n                              {{ button.cancel_order_pay | translate }}\\r\\n                            </button>\\r\\n                          </div>\\r\\n                        </div>\\r\\n                      </div>\\r\\n\\r\\n                      <div\\r\\n                        class=\\\"row\\\"\\r\\n                        *ngIf=\\\"store_detail.order_pay_status == 3\\\"\\r\\n                        style=\\\"padding: 15px\\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-3\\\"></div>\\r\\n                        <div class=\\\"col-md-6\\\">\\r\\n                          <button\\r\\n                            (click)=\\\"order_pay_request(2)\\\"\\r\\n                            class=\\\"btn btn-block selected_bonus_type\\\"\\r\\n                          >\\r\\n                            {{ button.activate_order_pay | translate }}\\r\\n                          </button>\\r\\n                        </div>\\r\\n                      </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"ibox\\\" *ngIf=\\\"selected_tab == 4\\\">\\r\\n                      <div\\r\\n                        class=\\\"ibox-title\\\"\\r\\n                        style=\\\"padding: 0; min-height: 35px !important\\\"\\r\\n                      >\\r\\n                        <label\\r\\n                          style=\\\"margin-left: 15px; margin-top: 9px\\\"\\r\\n                          class=\\\"control-label\\\"\\r\\n                          >{{ heading_title.bank_detail | translate }}</label\\r\\n                        >\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"ibox-content\\\"\\r\\n                        style=\\\"overflow: auto\\\"\\r\\n                        *ngIf=\\\"!store_detail.account_id\\\"\\r\\n                      >\\r\\n                        <div class=\\\"text-center\\\">\\r\\n                          <button\\r\\n                            type=\\\"submit\\\"\\r\\n                            *ngIf=\\\"!store_detail.details_submitted\\\"\\r\\n                            (click)=\\\"UpdateBankDetail()\\\"\\r\\n                            class=\\\"btn btn-primary\\\"\\r\\n                          >\\r\\n                            Connect Stripe Account\\r\\n                          </button>\\r\\n                        </div>\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"ibox-content\\\"\\r\\n                        style=\\\"overflow: auto\\\"\\r\\n                        *ngIf=\\\"store_detail.account_id\\\"\\r\\n                      >\\r\\n                        <div class=\\\"row col-md-12 remove_padding\\\">\\r\\n                          <label\\r\\n                            class=\\\"col-lg-4 col-xs-4 col-sm-4 remove_padding control-label\\\"\\r\\n                            >{{ title.account_id | translate }}\\r\\n                            <div class=\\\"pull-right\\\">:</div></label\\r\\n                          >\\r\\n                          <div class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                            {{ store_detail.account_id }}\\r\\n                          </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"row col-md-12 remove_padding\\\">\\r\\n                          <label\\r\\n                            class=\\\"col-lg-4 col-xs-4 col-sm-4 remove_padding control-label\\\"\\r\\n                            >{{ title.bank_account_holder_name | translate }}\\r\\n                            <div class=\\\"pull-right\\\">:</div></label\\r\\n                          >\\r\\n                          <div class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                            {{ store_detail.bank_account_holder_name }}\\r\\n                          </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"row col-md-12 remove_padding\\\">\\r\\n                          <label\\r\\n                            class=\\\"col-lg-4 col-xs-4 col-sm-4 remove_padding control-label\\\"\\r\\n                            >{{ title.account_number | translate }}\\r\\n                            <div class=\\\"pull-right\\\">:</div></label\\r\\n                          >\\r\\n                          <div class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                            {{ store_detail.account_number }}\\r\\n                          </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"row col-md-12 remove_padding\\\">\\r\\n                          <label\\r\\n                            class=\\\"col-lg-4 col-xs-4 col-sm-4 remove_padding control-label\\\"\\r\\n                            >{{ title.last_transfer_date | translate }}\\r\\n                            <div class=\\\"pull-right\\\">:</div></label\\r\\n                          >\\r\\n                          <div class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                            {{\\r\\n                              store_detail.last_transfer_date\\r\\n                                | date : \\\"MM-dd-yyyy\\\"\\r\\n                            }}\\r\\n                          </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"text-center\\\">\\r\\n                          <button\\r\\n                            type=\\\"submit\\\"\\r\\n                            *ngIf=\\\"!store_detail.details_submitted\\\"\\r\\n                            (click)=\\\"UpdateBankDetail()\\\"\\r\\n                            class=\\\"btn btn-primary\\\"\\r\\n                          >\\r\\n                            Update Missing Info\\r\\n                          </button>\\r\\n                        </div>\\r\\n                      </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox\\\" *ngIf=\\\"selected_tab == 1\\\">\\r\\n                      <div class=\\\"ibox-content\\\" *ngIf=\\\"selected_tab == 1\\\">\\r\\n                        <div\\r\\n                          class=\\\"row no_margin\\\"\\r\\n                          *ngIf=\\\"!store_detail.is_saas_business\\\"\\r\\n                          style=\\\"margin-top: 10px\\\"\\r\\n                        >\\r\\n                          <div\\r\\n                            class=\\\"col-md-12 no_padding\\\"\\r\\n                            style=\\\"padding-top: 10px; padding-bottom: 4px\\\"\\r\\n                          >\\r\\n                            <div class=\\\"col-md-4 no_padding\\\">\\r\\n                              <label>{{ title.saas | translate }}</label>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-4 no_padding text-center\\\">\\r\\n                              <span class=\\\"\\\">\\r\\n                                <ui-switch\\r\\n                                  [disabled]=\\\"!is_edit\\\"\\r\\n                                  [(ngModel)]=\\\"store_detail.is_saas_business\\\"\\r\\n                                  name=\\\"is_saas_business\\\"\\r\\n                                ></ui-switch\\r\\n                              ></span>\\r\\n                            </div>\\r\\n                          </div>\\r\\n                        </div>\\r\\n\\r\\n                        <ul class=\\\"list-group clear-list\\\">\\r\\n                          <li\\r\\n                            *ngIf=\\\"store_detail.is_saas_business\\\"\\r\\n                            class=\\\"list-group-item row\\\"\\r\\n                            [class.set_height]=\\\"is_edit\\\"\\r\\n                          >\\r\\n                            <div class=\\\"col-md-4\\\">\\r\\n                              {{\\r\\n                                title.saas_percentage_delivery_for_store\\r\\n                                  | translate\\r\\n                              }}\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-4\\\">\\r\\n                              <span class=\\\"pull-right\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                                {{\\r\\n                                  store_detail.saas_percentage_delivery_for_store\\r\\n                                }}%\\r\\n                              </span>\\r\\n                              <span class=\\\"pull-right\\\" *ngIf=\\\"is_edit\\\">\\r\\n                                <input\\r\\n                                  type=\\\"text\\\"\\r\\n                                  class=\\\"form-control\\\"\\r\\n                                  [(ngModel)]=\\\"\\r\\n                                    store_detail.saas_percentage_delivery_for_store\\r\\n                                  \\\"\\r\\n                                  #saas_percentage_delivery_for_store=\\\"ngModel\\\"\\r\\n                                  name=\\\"saas_percentage_delivery_for_store{{\\r\\n                                    index\\r\\n                                  }}\\\"\\r\\n                                />\\r\\n                              </span>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-4\\\">\\r\\n                              <span class=\\\"pull-right\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                                {{\\r\\n                                  store_detail.saas_absolute_delivery_for_store\\r\\n                                }}{{ store_detail.wallet_currency_code }}\\r\\n                              </span>\\r\\n                              <span class=\\\"pull-right\\\" *ngIf=\\\"is_edit\\\">\\r\\n                                <input\\r\\n                                  type=\\\"text\\\"\\r\\n                                  class=\\\"form-control\\\"\\r\\n                                  [(ngModel)]=\\\"\\r\\n                                    store_detail.saas_absolute_delivery_for_store\\r\\n                                  \\\"\\r\\n                                  #saas_absolute_delivery_for_store=\\\"ngModel\\\"\\r\\n                                  name=\\\"saas_absolute_delivery_for_store{{\\r\\n                                    index\\r\\n                                  }}\\\"\\r\\n                                />\\r\\n                              </span>\\r\\n                            </div>\\r\\n                          </li>\\r\\n                          <li\\r\\n                            *ngIf=\\\"store_detail.is_saas_business\\\"\\r\\n                            class=\\\"list-group-item row\\\"\\r\\n                            [class.set_height]=\\\"is_edit\\\"\\r\\n                          >\\r\\n                            <div class=\\\"col-md-4\\\">\\r\\n                              {{\\r\\n                                title.saas_percentage_pickup_by_card_for_store\\r\\n                                  | translate\\r\\n                              }}\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-4\\\">\\r\\n                              <span class=\\\"pull-right\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                                {{\\r\\n                                  store_detail.saas_percentage_pickup_by_card_for_store\\r\\n                                }}%\\r\\n                              </span>\\r\\n                              <span class=\\\"pull-right\\\" *ngIf=\\\"is_edit\\\">\\r\\n                                <input\\r\\n                                  type=\\\"text\\\"\\r\\n                                  class=\\\"form-control\\\"\\r\\n                                  [(ngModel)]=\\\"\\r\\n                                    store_detail.saas_percentage_pickup_by_card_for_store\\r\\n                                  \\\"\\r\\n                                  #saas_percentage_pickup_by_card_for_store=\\\"ngModel\\\"\\r\\n                                  name=\\\"saas_percentage_pickup_by_card_for_store{{\\r\\n                                    index\\r\\n                                  }}\\\"\\r\\n                                />\\r\\n                              </span>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-4\\\">\\r\\n                              <span class=\\\"pull-right\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                                {{\\r\\n                                  store_detail.saas_absolute_pickup_by_card_for_store\\r\\n                                }}{{ store_detail.wallet_currency_code }}\\r\\n                              </span>\\r\\n                              <span class=\\\"pull-right\\\" *ngIf=\\\"is_edit\\\">\\r\\n                                <input\\r\\n                                  type=\\\"text\\\"\\r\\n                                  class=\\\"form-control\\\"\\r\\n                                  [(ngModel)]=\\\"\\r\\n                                    store_detail.saas_absolute_pickup_by_card_for_store\\r\\n                                  \\\"\\r\\n                                  #saas_absolute_pickup_by_card_for_store=\\\"ngModel\\\"\\r\\n                                  name=\\\"saas_absolute_pickup_by_card_for_store{{\\r\\n                                    index\\r\\n                                  }}\\\"\\r\\n                                />\\r\\n                              </span>\\r\\n                            </div>\\r\\n                          </li>\\r\\n                          <li\\r\\n                            *ngIf=\\\"store_detail.is_saas_business\\\"\\r\\n                            class=\\\"list-group-item row\\\"\\r\\n                            [class.set_height]=\\\"is_edit\\\"\\r\\n                          >\\r\\n                            <div class=\\\"col-md-4\\\">\\r\\n                              {{\\r\\n                                title.saas_percentage_pickup_by_cash_for_store\\r\\n                                  | translate\\r\\n                              }}\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-4\\\">\\r\\n                              <span class=\\\"pull-right\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                                {{\\r\\n                                  store_detail.saas_percentage_pickup_by_cash_for_store\\r\\n                                }}%\\r\\n                              </span>\\r\\n                              <span class=\\\"pull-right\\\" *ngIf=\\\"is_edit\\\">\\r\\n                                <input\\r\\n                                  type=\\\"text\\\"\\r\\n                                  class=\\\"form-control\\\"\\r\\n                                  [(ngModel)]=\\\"\\r\\n                                    store_detail.saas_percentage_pickup_by_cash_for_store\\r\\n                                  \\\"\\r\\n                                  #saas_percentage_pickup_by_cash_for_store=\\\"ngModel\\\"\\r\\n                                  name=\\\"saas_percentage_pickup_by_cash_for_store{{\\r\\n                                    index\\r\\n                                  }}\\\"\\r\\n                                />\\r\\n                              </span>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-4\\\">\\r\\n                              <span class=\\\"pull-right\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                                {{\\r\\n                                  store_detail.saas_absolute_pickup_by_cash_for_store\\r\\n                                }}{{ store_detail.wallet_currency_code }}\\r\\n                              </span>\\r\\n                              <span class=\\\"pull-right\\\" *ngIf=\\\"is_edit\\\">\\r\\n                                <input\\r\\n                                  type=\\\"text\\\"\\r\\n                                  class=\\\"form-control\\\"\\r\\n                                  [(ngModel)]=\\\"\\r\\n                                    store_detail.saas_absolute_pickup_by_cash_for_store\\r\\n                                  \\\"\\r\\n                                  #saas_absolute_pickup_by_cash_for_store=\\\"ngModel\\\"\\r\\n                                  name=\\\"saas_absolute_pickup_by_cash_for_store{{\\r\\n                                    index\\r\\n                                  }}\\\"\\r\\n                                />\\r\\n                              </span>\\r\\n                            </div>\\r\\n                          </li>\\r\\n                          <li\\r\\n                            *ngIf=\\\"store_detail.is_saas_business\\\"\\r\\n                            class=\\\"list-group-item row\\\"\\r\\n                            [class.set_height]=\\\"is_edit\\\"\\r\\n                          >\\r\\n                            <div class=\\\"col-md-4\\\">\\r\\n                              {{ title.odh | translate }}\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-4\\\">\\r\\n                              <span class=\\\"pull-right\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                                {{\\r\\n                                  store_detail.saas_percentage_delivery_by_cash_for_store\\r\\n                                }}%\\r\\n                              </span>\\r\\n                              <span class=\\\"pull-right\\\" *ngIf=\\\"is_edit\\\">\\r\\n                                <input\\r\\n                                  type=\\\"text\\\"\\r\\n                                  class=\\\"form-control\\\"\\r\\n                                  [(ngModel)]=\\\"\\r\\n                                    store_detail.saas_percentage_delivery_by_cash_for_store\\r\\n                                  \\\"\\r\\n                                  #saas_percentage_delivery_by_cash_for_store=\\\"ngModel\\\"\\r\\n                                  name=\\\"saas_percentage_delivery_by_cash_for_store{{\\r\\n                                    index\\r\\n                                  }}\\\"\\r\\n                                />\\r\\n                              </span>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-4\\\">\\r\\n                              <span class=\\\"pull-right\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                                {{\\r\\n                                  store_detail.saas_absolute_delivery_by_cash_for_store\\r\\n                                }}{{ store_detail.wallet_currency_code }}\\r\\n                              </span>\\r\\n                              <span class=\\\"pull-right\\\" *ngIf=\\\"is_edit\\\">\\r\\n                                <input\\r\\n                                  type=\\\"text\\\"\\r\\n                                  class=\\\"form-control\\\"\\r\\n                                  [(ngModel)]=\\\"\\r\\n                                    store_detail.saas_absolute_delivery_by_cash_for_store\\r\\n                                  \\\"\\r\\n                                  #saas_absolute_delivery_by_cash_for_store=\\\"ngModel\\\"\\r\\n                                  name=\\\"saas_absolute_delivery_by_cash_for_store{{\\r\\n                                    index\\r\\n                                  }}\\\"\\r\\n                                />\\r\\n                              </span>\\r\\n                            </div>\\r\\n                          </li>\\r\\n                          <li\\r\\n                            *ngIf=\\\"store_detail.is_saas_business\\\"\\r\\n                            class=\\\"list-group-item row\\\"\\r\\n                            [class.set_height]=\\\"is_edit\\\"\\r\\n                          >\\r\\n                            <div class=\\\"col-md-4\\\">\\r\\n                              {{\\r\\n                                title.saas_percentage_order_pay_by_card_for_store\\r\\n                                  | translate\\r\\n                              }}\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-4\\\">\\r\\n                              <span class=\\\"pull-right\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                                {{\\r\\n                                  store_detail.saas_percentage_order_pay_by_card_for_store\\r\\n                                }}%\\r\\n                              </span>\\r\\n                              <span class=\\\"pull-right\\\" *ngIf=\\\"is_edit\\\">\\r\\n                                <input\\r\\n                                  type=\\\"text\\\"\\r\\n                                  class=\\\"form-control\\\"\\r\\n                                  [(ngModel)]=\\\"\\r\\n                                    store_detail.saas_percentage_order_pay_by_card_for_store\\r\\n                                  \\\"\\r\\n                                  #saas_percentage_order_pay_by_card_for_store=\\\"ngModel\\\"\\r\\n                                  name=\\\"saas_percentage_order_pay_by_card_for_store{{\\r\\n                                    index\\r\\n                                  }}\\\"\\r\\n                                />\\r\\n                              </span>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-4\\\">\\r\\n                              <span class=\\\"pull-right\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                                {{\\r\\n                                  store_detail.saas_absolute_order_pay_by_card_for_store\\r\\n                                }}{{ store_detail.wallet_currency_code }}\\r\\n                              </span>\\r\\n                              <span class=\\\"pull-right\\\" *ngIf=\\\"is_edit\\\">\\r\\n                                <input\\r\\n                                  type=\\\"text\\\"\\r\\n                                  class=\\\"form-control\\\"\\r\\n                                  [(ngModel)]=\\\"\\r\\n                                    store_detail.saas_absolute_order_pay_by_card_for_store\\r\\n                                  \\\"\\r\\n                                  #saas_absolute_order_pay_by_card_for_store=\\\"ngModel\\\"\\r\\n                                  name=\\\"saas_absolute_order_pay_by_card_for_store{{\\r\\n                                    index\\r\\n                                  }}\\\"\\r\\n                                />\\r\\n                              </span>\\r\\n                            </div>\\r\\n                          </li>\\r\\n                          <li\\r\\n                            *ngIf=\\\"store_detail.is_saas_business\\\"\\r\\n                            class=\\\"list-group-item row\\\"\\r\\n                            [class.set_height]=\\\"is_edit\\\"\\r\\n                          >\\r\\n                            <div class=\\\"col-md-4\\\">\\r\\n                              {{\\r\\n                                title.saas_percentage_order_pay_by_cash_for_store\\r\\n                                  | translate\\r\\n                              }}\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-4\\\">\\r\\n                              <span class=\\\"pull-right\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                                {{\\r\\n                                  store_detail.saas_percentage_order_pay_by_cash_for_store\\r\\n                                }}%\\r\\n                              </span>\\r\\n                              <span class=\\\"pull-right\\\" *ngIf=\\\"is_edit\\\">\\r\\n                                <input\\r\\n                                  type=\\\"text\\\"\\r\\n                                  class=\\\"form-control\\\"\\r\\n                                  [(ngModel)]=\\\"\\r\\n                                    store_detail.saas_percentage_order_pay_by_cash_for_store\\r\\n                                  \\\"\\r\\n                                  #saas_percentage_order_pay_by_cash_for_store=\\\"ngModel\\\"\\r\\n                                  name=\\\"saas_percentage_order_pay_by_cash_for_store{{\\r\\n                                    index\\r\\n                                  }}\\\"\\r\\n                                />\\r\\n                              </span>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-4\\\">\\r\\n                              <span class=\\\"pull-right\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                                {{\\r\\n                                  store_detail.saas_absolute_order_pay_by_cash_for_store\\r\\n                                }}{{ store_detail.wallet_currency_code }}\\r\\n                              </span>\\r\\n                              <span class=\\\"pull-right\\\" *ngIf=\\\"is_edit\\\">\\r\\n                                <input\\r\\n                                  type=\\\"text\\\"\\r\\n                                  class=\\\"form-control\\\"\\r\\n                                  [(ngModel)]=\\\"\\r\\n                                    store_detail.saas_absolute_order_pay_by_cash_for_store\\r\\n                                  \\\"\\r\\n                                  #saas_absolute_order_pay_by_cash_for_store=\\\"ngModel\\\"\\r\\n                                  name=\\\"saas_absolute_order_pay_by_cash_for_store{{\\r\\n                                    index\\r\\n                                  }}\\\"\\r\\n                                />\\r\\n                              </span>\\r\\n                            </div>\\r\\n                          </li>\\r\\n                          <li\\r\\n                            *ngIf=\\\"store_detail.is_saas_business\\\"\\r\\n                            class=\\\"list-group-item row\\\"\\r\\n                            [class.set_height]=\\\"is_edit\\\"\\r\\n                          >\\r\\n                            <div class=\\\"col-md-4\\\">\\r\\n                              {{ title.start_date | translate }}\\r\\n                            </div>\\r\\n                            <div\\r\\n                              class=\\\"col-md-8 no_padding\\\"\\r\\n                              *ngIf=\\\"\\r\\n                                store_detail.is_saas_business &&\\r\\n                                !is_edit &&\\r\\n                                store_detail.saas_start_date\\r\\n                              \\\"\\r\\n                            >\\r\\n                              <span class=\\\"pull-right\\\">{{\\r\\n                                store_detail.saas_start_date.formatted\\r\\n                              }}</span>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-4\\\"></div>\\r\\n                            <div\\r\\n                              class=\\\"col-md-4\\\"\\r\\n                              *ngIf=\\\"store_detail.is_saas_business && is_edit\\\"\\r\\n                            >\\r\\n                              <my-date-picker\\r\\n                                [options]=\\\"helper.saasDatePickerOptions\\\"\\r\\n                                placeholder=\\\"{{ title.start_date | translate }}\\\"\\r\\n                                [(ngModel)]=\\\"store_detail.saas_start_date\\\"\\r\\n                                #saas_start_date=\\\"ngModel\\\"\\r\\n                                name=\\\"saas_start_date\\\"\\r\\n                              ></my-date-picker>\\r\\n                            </div>\\r\\n                          </li>\\r\\n                          <li\\r\\n                            *ngIf=\\\"store_detail.is_saas_business\\\"\\r\\n                            class=\\\"list-group-item row\\\"\\r\\n                            [class.set_height]=\\\"is_edit\\\"\\r\\n                          >\\r\\n                            <div class=\\\"col-md-4\\\">\\r\\n                              {{ title.saas_starting_fee | translate }}\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"col-md-4\\\">\\r\\n                              <select\\r\\n                                class=\\\"form-control\\\"\\r\\n                                [disabled]=\\\"!is_edit\\\"\\r\\n                                [(ngModel)]=\\\"\\r\\n                                  store_detail.saas_starting_fee_type\\r\\n                                \\\"\\r\\n                                #saas_starting_fee_type=\\\"ngModel\\\"\\r\\n                                name=\\\"saas_starting_fee_type{{ index }}\\\"\\r\\n                              >\\r\\n                                <option value=\\\"1\\\">\\r\\n                                  {{ title.deducted | translate }}\\r\\n                                </option>\\r\\n                                <option value=\\\"2\\\">\\r\\n                                  {{ title.invoiced | translate }}\\r\\n                                </option>\\r\\n                              </select>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-4\\\">\\r\\n                              <span class=\\\"pull-right\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                                {{ store_detail.saas_starting_fee\\r\\n                                }}{{ store_detail.wallet_currency_code }}\\r\\n                              </span>\\r\\n                              <span class=\\\"pull-right\\\" *ngIf=\\\"is_edit\\\">\\r\\n                                <input\\r\\n                                  type=\\\"text\\\"\\r\\n                                  class=\\\"form-control\\\"\\r\\n                                  [(ngModel)]=\\\"store_detail.saas_starting_fee\\\"\\r\\n                                  #saas_starting_fee=\\\"ngModel\\\"\\r\\n                                  name=\\\"saas_starting_fee{{ index }}\\\"\\r\\n                                />\\r\\n                              </span>\\r\\n                            </div>\\r\\n                          </li>\\r\\n                          <label>Subscription Charge</label>\\r\\n                          <li\\r\\n                            *ngIf=\\\"store_detail.is_saas_business\\\"\\r\\n                            class=\\\"list-group-item row\\\"\\r\\n                            [class.set_height]=\\\"is_edit\\\"\\r\\n                          >\\r\\n                            <div class=\\\"col-md-4\\\">\\r\\n                              {{ title.type_abonnement | translate }}\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-8\\\">\\r\\n                              <select\\r\\n                                class=\\\"form-control\\\"\\r\\n                                [disabled]=\\\"!is_edit\\\"\\r\\n                                [(ngModel)]=\\\"\\r\\n                                  store_detail.saas_subscription_charge_type\\r\\n                                \\\"\\r\\n                                #saas_subscription_charge_type=\\\"ngModel\\\"\\r\\n                                name=\\\"saas_subscription_charge_type{{ index }}\\\"\\r\\n                              >\\r\\n                                <option value=\\\"1\\\">\\r\\n                                  {{ title.fixed | translate }}\\r\\n                                </option>\\r\\n                                <option value=\\\"2\\\">\\r\\n                                  {{ title.variable | translate }}\\r\\n                                </option>\\r\\n                              </select>\\r\\n                            </div>\\r\\n                          </li>\\r\\n                          <li\\r\\n                            *ngIf=\\\"\\r\\n                              store_detail.is_saas_business &&\\r\\n                              store_detail.saas_subscription_charge_type == 1\\r\\n                            \\\"\\r\\n                            class=\\\"list-group-item row\\\"\\r\\n                            [class.set_height]=\\\"is_edit\\\"\\r\\n                          >\\r\\n                            <div class=\\\"col-md-4\\\">\\r\\n                              {{\\r\\n                                title.saas_subscription_charge_value | translate\\r\\n                              }}\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-8\\\">\\r\\n                              <span class=\\\"pull-right\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                                {{ store_detail.saas_subscription_charge_value\\r\\n                                }}{{ store_detail.wallet_currency_code }}\\r\\n                              </span>\\r\\n                              <span class=\\\"pull-right\\\" *ngIf=\\\"is_edit\\\">\\r\\n                                <input\\r\\n                                  type=\\\"text\\\"\\r\\n                                  class=\\\"form-control\\\"\\r\\n                                  [(ngModel)]=\\\"\\r\\n                                    store_detail.saas_subscription_charge_value\\r\\n                                  \\\"\\r\\n                                  #saas_subscription_charge_value=\\\"ngModel\\\"\\r\\n                                  name=\\\"saas_subscription_charge_value{{\\r\\n                                    index\\r\\n                                  }}\\\"\\r\\n                                />\\r\\n                              </span>\\r\\n                            </div>\\r\\n                          </li>\\r\\n                        </ul>\\r\\n\\r\\n                        <div\\r\\n                          class=\\\"row\\\"\\r\\n                          *ngIf=\\\"\\r\\n                            store_detail.is_saas_business &&\\r\\n                            store_detail.saas_subscription_charge_type == 2\\r\\n                          \\\"\\r\\n                        >\\r\\n                          <div class=\\\"text-center\\\">\\r\\n                            {{\\r\\n                              title.saas_subscription_charge_for_store\\r\\n                                | translate\\r\\n                            }}\\r\\n                          </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div\\r\\n                          class=\\\"row\\\"\\r\\n                          *ngIf=\\\"\\r\\n                            store_detail.is_saas_business &&\\r\\n                            store_detail.saas_subscription_charge_type == 2\\r\\n                          \\\"\\r\\n                        >\\r\\n                          <div class=\\\"table-responseve\\\">\\r\\n                            <table class=\\\"table table-striped\\\">\\r\\n                              <tr\\r\\n                                *ngFor=\\\"\\r\\n                                  let subscription_charge of store_detail.saas_subscription_charge_for_store;\\r\\n                                  let index = index\\r\\n                                \\\"\\r\\n                              >\\r\\n                                <td>{{ subscription_charge.min_amount }}</td>\\r\\n                                <td>-</td>\\r\\n                                <td>{{ subscription_charge.max_amount }}</td>\\r\\n                                <td>=</td>\\r\\n                                <td>\\r\\n                                  {{ subscription_charge.subscription_amount }}\\r\\n                                </td>\\r\\n                                <td *ngIf=\\\"is_edit\\\">\\r\\n                                  <span\\r\\n                                    class=\\\"pull-right fa fa-close\\\"\\r\\n                                    (click)=\\\"\\r\\n                                      delete_subscription_charge_data(index)\\r\\n                                    \\\"\\r\\n                                  ></span>\\r\\n                                  <span\\r\\n                                    style=\\\"margin-right: 10px\\\"\\r\\n                                    class=\\\"pull-right fa fa-pencil\\\"\\r\\n                                    (click)=\\\"\\r\\n                                      open_edit_subscription_charge_modal(\\r\\n                                        subscription_charge,\\r\\n                                        index\\r\\n                                      )\\r\\n                                    \\\"\\r\\n                                  ></span>\\r\\n                                </td>\\r\\n                              </tr>\\r\\n                            </table>\\r\\n                          </div>\\r\\n                        </div>\\r\\n                        <div\\r\\n                          class=\\\"row\\\"\\r\\n                          style=\\\"margin-bottom: 20px\\\"\\r\\n                          *ngIf=\\\"\\r\\n                            is_edit &&\\r\\n                            store_detail.is_saas_business &&\\r\\n                            store_detail.saas_subscription_charge_type == 2\\r\\n                          \\\"\\r\\n                        >\\r\\n                          <div class=\\\"text-center\\\">\\r\\n                            <button\\r\\n                              type=\\\"button\\\"\\r\\n                              (click)=\\\"open_add_subscription_charge_modal()\\\"\\r\\n                              class=\\\"btn add_btn\\\"\\r\\n                            >\\r\\n                              {{ button.add | translate\\r\\n                              }}<span\\r\\n                                class=\\\"fa fa-plus pull-right\\\"\\r\\n                                style=\\\"margin-top: 2px\\\"\\r\\n                              ></span>\\r\\n                            </button>\\r\\n                          </div>\\r\\n                        </div>\\r\\n\\r\\n                        <label>Management Fee</label>\\r\\n                        <li\\r\\n                          class=\\\"list-group-item row\\\"\\r\\n                          [class.set_height]=\\\"is_edit\\\"\\r\\n                        >\\r\\n                          <div class=\\\"col-md-4\\\">\\r\\n                            {{ title.type_abonnement | translate }}\\r\\n                          </div>\\r\\n                          <div class=\\\"col-md-8\\\">\\r\\n                            <select\\r\\n                              class=\\\"form-control\\\"\\r\\n                              [disabled]=\\\"!is_edit\\\"\\r\\n                              [(ngModel)]=\\\"store_detail.odh_management_fee_type\\\"\\r\\n                              #odh_management_fee_type=\\\"ngModel\\\"\\r\\n                              name=\\\"odh_management_fee_type{{ index }}\\\"\\r\\n                            >\\r\\n                              <option value=\\\"1\\\">\\r\\n                                {{ title.fixed | translate }}\\r\\n                              </option>\\r\\n                              <option value=\\\"2\\\">\\r\\n                                {{ title.variable | translate }}\\r\\n                              </option>\\r\\n                              <option value=\\\"3\\\">\\r\\n                                {{ helper.lable_title.percentage | translate }}\\r\\n                              </option>\\r\\n                            </select>\\r\\n                          </div>\\r\\n                        </li>\\r\\n                        <li\\r\\n                          *ngIf=\\\"store_detail.odh_management_fee_type != 2\\\"\\r\\n                          class=\\\"list-group-item row\\\"\\r\\n                          [class.set_height]=\\\"is_edit\\\"\\r\\n                        >\\r\\n                          <div class=\\\"col-md-4\\\">\\r\\n                            {{\\r\\n                              title.saas_subscription_charge_value | translate\\r\\n                            }}\\r\\n                          </div>\\r\\n                          <div class=\\\"col-md-8\\\">\\r\\n                            <span class=\\\"pull-right\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                              {{ store_detail.odh_management_fee_value }}\\r\\n                              {{\\r\\n                                store_detail.odh_management_fee_type == 3\\r\\n                                  ? \\\"%\\\"\\r\\n                                  : store_detail.wallet_currency_code\\r\\n                              }}\\r\\n                            </span>\\r\\n                            <span class=\\\"pull-right\\\" *ngIf=\\\"is_edit\\\">\\r\\n                              <input\\r\\n                                type=\\\"text\\\"\\r\\n                                class=\\\"form-control\\\"\\r\\n                                [(ngModel)]=\\\"\\r\\n                                  store_detail.odh_management_fee_value\\r\\n                                \\\"\\r\\n                                #odh_management_fee_value=\\\"ngModel\\\"\\r\\n                                name=\\\"odh_management_fee_value{{ index }}\\\"\\r\\n                              />\\r\\n                            </span>\\r\\n                          </div>\\r\\n                        </li>\\r\\n\\r\\n                        <div\\r\\n                          class=\\\"row\\\"\\r\\n                          *ngIf=\\\"store_detail.odh_management_fee_type == 2\\\"\\r\\n                          style=\\\"margin-top: 20px\\\"\\r\\n                        >\\r\\n                          <div class=\\\"text-center\\\">\\r\\n                            {{\\r\\n                              title.saas_subscription_charge_for_store\\r\\n                                | translate\\r\\n                            }}\\r\\n                          </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div\\r\\n                          class=\\\"row\\\"\\r\\n                          *ngIf=\\\"store_detail.odh_management_fee_type == 2\\\"\\r\\n                        >\\r\\n                          <div class=\\\"table-responseve\\\">\\r\\n                            <table class=\\\"table table-striped\\\">\\r\\n                              <tr\\r\\n                                *ngFor=\\\"\\r\\n                                  let subscription_charge of store_detail.odh_management_fee_for_store;\\r\\n                                  let index = index\\r\\n                                \\\"\\r\\n                              >\\r\\n                                <td>{{ subscription_charge.min_amount }}</td>\\r\\n                                <td>-</td>\\r\\n                                <td>{{ subscription_charge.max_amount }}</td>\\r\\n                                <td>=</td>\\r\\n                                <td>\\r\\n                                  {{ subscription_charge.subscription_amount }}\\r\\n                                </td>\\r\\n                                <td *ngIf=\\\"is_edit\\\">\\r\\n                                  <span\\r\\n                                    class=\\\"pull-right fa fa-close\\\"\\r\\n                                    (click)=\\\"\\r\\n                                      delete_odh_management_fee_data(index)\\r\\n                                    \\\"\\r\\n                                  ></span>\\r\\n                                  <span\\r\\n                                    style=\\\"margin-right: 10px\\\"\\r\\n                                    class=\\\"pull-right fa fa-pencil\\\"\\r\\n                                    (click)=\\\"\\r\\n                                      open_edit_odh_management_fee_modal(\\r\\n                                        subscription_charge,\\r\\n                                        index\\r\\n                                      )\\r\\n                                    \\\"\\r\\n                                  ></span>\\r\\n                                </td>\\r\\n                              </tr>\\r\\n                            </table>\\r\\n                          </div>\\r\\n                        </div>\\r\\n                        <div\\r\\n                          class=\\\"row\\\"\\r\\n                          *ngIf=\\\"\\r\\n                            is_edit && store_detail.odh_management_fee_type == 2\\r\\n                          \\\"\\r\\n                        >\\r\\n                          <div class=\\\"text-center\\\">\\r\\n                            <button\\r\\n                              type=\\\"button\\\"\\r\\n                              (click)=\\\"open_add_odh_management_fee_modal()\\\"\\r\\n                              class=\\\"btn add_btn\\\"\\r\\n                            >\\r\\n                              {{ button.add | translate\\r\\n                              }}<span\\r\\n                                class=\\\"fa fa-plus pull-right\\\"\\r\\n                                style=\\\"margin-top: 2px\\\"\\r\\n                              ></span>\\r\\n                            </button>\\r\\n                          </div>\\r\\n                        </div>\\r\\n                      </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div\\r\\n                      class=\\\"row no_margin\\\"\\r\\n                      *ngIf=\\\"selected_tab == 1\\\"\\r\\n                      style=\\\"margin-top: 10px\\\"\\r\\n                    >\\r\\n                      <div class=\\\"col-md-8\\\">\\r\\n                        <span *ngIf=\\\"store_detail.is_stop_new_order_all_day\\\">\\r\\n                          <div>Exceptional clouser:</div>\\r\\n                          <div>Close for full day</div>\\r\\n                        </span>\\r\\n                        <span\\r\\n                          *ngIf=\\\"\\r\\n                            !store_detail.is_stop_new_order_all_day &&\\r\\n                            store_detail.close\\r\\n                          \\\"\\r\\n                        >\\r\\n                          <div>Exceptional clouser:</div>\\r\\n                          <div>\\r\\n                            Closed until - {{ store_detail.close_till }}\\r\\n                          </div>\\r\\n                        </span>\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"col-md-4\\\"\\r\\n                        *ngIf=\\\"\\r\\n                          (!store_detail.is_stop_new_order_all_day &&\\r\\n                            store_detail.close) ||\\r\\n                          store_detail.is_stop_new_order_all_day\\r\\n                        \\\"\\r\\n                      >\\r\\n                        <button\\r\\n                          type=\\\"button\\\"\\r\\n                          (click)=\\\"store_reopen_now()\\\"\\r\\n                          class=\\\"btn btn-light_black btn-sm btn-block\\\"\\r\\n                        >\\r\\n                          reopen now\\r\\n                        </button>\\r\\n                      </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div *ngIf=\\\"selected_tab == 2\\\" style=\\\"margin-top: 20px\\\">\\r\\n                      <div class=\\\"table-responsive\\\">\\r\\n                        <table class=\\\"table\\\">\\r\\n                          <tr>\\r\\n                            <td></td>\\r\\n                            <td>{{ title.name | translate }}</td>\\r\\n                            <td style=\\\"width: 25%\\\">\\r\\n                              {{ title.unique_code | translate }}\\r\\n                            </td>\\r\\n                            <td style=\\\"width: 25%\\\">\\r\\n                              {{ title.expiry_date | translate }}\\r\\n                            </td>\\r\\n                            <td></td>\\r\\n                          </tr>\\r\\n                          <tr\\r\\n                            *ngFor=\\\"\\r\\n                              let document of document_list;\\r\\n                              let document_index = index\\r\\n                            \\\"\\r\\n                          >\\r\\n                            <td\\r\\n                              class=\\\"client-avatar\\\"\\r\\n                              (click)=\\\"\\r\\n                                show_full_image(\\r\\n                                  document.image_url,\\r\\n                                  document_index\\r\\n                                )\\r\\n                              \\\"\\r\\n                            >\\r\\n                              <span\\r\\n                                *ngIf=\\\"edit_document[document_index] == 'true'\\\"\\r\\n                                class=\\\"btn-file\\\"\\r\\n                                ><img\\r\\n                                  style=\\\"width: 20px; height: 20px\\\"\\r\\n                                  src=\\\"{{\\r\\n                                    helper.CONSTANT.IMAGE_BASE_URL +\\r\\n                                      'default.png'\\r\\n                                  }}\\\"\\r\\n                                  class=\\\"document{{ document_index }}\\\"\\r\\n                                />\\r\\n                                <input\\r\\n                                  type=\\\"file\\\"\\r\\n                                  (change)=\\\"\\r\\n                                    image_update($event, document_index)\\r\\n                                  \\\"\\r\\n                                  name=\\\"image\\\"\\r\\n                                />\\r\\n                              </span>\\r\\n                              <img\\r\\n                                *ngIf=\\\"edit_document[document_index] !== 'true'\\\"\\r\\n                                style=\\\"width: 20px; height: 20px\\\"\\r\\n                                src=\\\"{{\\r\\n                                  helper.CONSTANT.IMAGE_BASE_URL + 'default.png'\\r\\n                                }}\\\"\\r\\n                                class=\\\"document{{ document_index }}\\\"\\r\\n                              />\\r\\n                            </td>\\r\\n                            <td>\\r\\n                              {{ document.document_details.document_name }}\\r\\n                            </td>\\r\\n                            <td>\\r\\n                              <div\\r\\n                                *ngIf=\\\"\\r\\n                                  document.document_details.is_unique_code &&\\r\\n                                  edit_document[document_index] == 'true'\\r\\n                                \\\"\\r\\n                              >\\r\\n                                <input\\r\\n                                  type=\\\"text\\\"\\r\\n                                  [(ngModel)]=\\\"documentlist.unique_code\\\"\\r\\n                                  #unique_code=\\\"ngModel\\\"\\r\\n                                  name=\\\"unique_code\\\"\\r\\n                                  style=\\\"\\r\\n                                    border-radius: 5px;\\r\\n                                    border-color: #060606;\\r\\n                                    height: 30px;\\r\\n                                  \\\"\\r\\n                                  class=\\\"form-control\\\"\\r\\n                                  value=\\\"{{ document.unique_code }}\\\"\\r\\n                                /><br />\\r\\n                              </div>\\r\\n                              <span\\r\\n                                *ngIf=\\\"\\r\\n                                  edit_document[document_index] !== 'true' &&\\r\\n                                  document.document_details.is_unique_code\\r\\n                                \\\"\\r\\n                                >{{ document.unique_code }}</span\\r\\n                              >\\r\\n                            </td>\\r\\n                            <td>\\r\\n                              <div\\r\\n                                *ngIf=\\\"\\r\\n                                  document.document_details.is_expired_date &&\\r\\n                                  edit_document[document_index] == 'true'\\r\\n                                \\\"\\r\\n                              >\\r\\n                                <my-date-picker\\r\\n                                  [(ngModel)]=\\\"documentlist.expired_date\\\"\\r\\n                                  #expired_date=\\\"ngModel\\\"\\r\\n                                  name=\\\"expired_date\\\"\\r\\n                                  id=\\\"expiry_date\\\"\\r\\n                                  value=\\\"\\\"\\r\\n                                  [options]=\\\"helper.ExpiryDatePickerOptions\\\"\\r\\n                                  placeholder=\\\"{{ title.exp_date | translate }}\\\"\\r\\n                                  readonly\\r\\n                                ></my-date-picker>\\r\\n                              </div>\\r\\n                              <span\\r\\n                                *ngIf=\\\"\\r\\n                                  edit_document[document_index] !== 'true' &&\\r\\n                                  document.document_details.is_expired_date\\r\\n                                \\\"\\r\\n                                >{{\\r\\n                                  document.expired_date | date : \\\"MM-dd-yyyy\\\"\\r\\n                                }}</span\\r\\n                              >\\r\\n                            </td>\\r\\n                            <td>\\r\\n                              <span\\r\\n                                *ngIf=\\\"edit_document[document_index] !== 'true'\\\"\\r\\n                                class=\\\"fa fa-pencil pull-right\\\"\\r\\n                                (click)=\\\"editDocument(document, document_index)\\\"\\r\\n                              ></span>\\r\\n                              <span\\r\\n                                *ngIf=\\\"edit_document[document_index] == 'true'\\\"\\r\\n                                class=\\\"fa fa-check pull-right\\\"\\r\\n                                (click)=\\\"\\r\\n                                  updateDocument(document, document_index)\\r\\n                                \\\"\\r\\n                              ></span>\\r\\n                            </td>\\r\\n                          </tr>\\r\\n                        </table>\\r\\n                      </div>\\r\\n                    </div>\\r\\n                    <div *ngIf=\\\"selected_tab == 3\\\" style=\\\"margin-top: 20px\\\">\\r\\n                      <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-md-12\\\">\\r\\n                          <label>{{ title.referral_code | translate }}: </label>\\r\\n                          <span style=\\\"margin-left: 10px\\\">{{\\r\\n                            store_detail.referral_code\\r\\n                          }}</span>\\r\\n                        </div>\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"row\\\"\\r\\n                        style=\\\"margin-top: 10px\\\"\\r\\n                        *ngIf=\\\"store_detail.referred_store_details\\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-12\\\">\\r\\n                          <label>{{ title.referred_by | translate }}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-4\\\">\\r\\n                          <img\\r\\n                            style=\\\"width: 40px; height: 40px\\\"\\r\\n                            class=\\\"img-circle m-t-xs\\\"\\r\\n                            (error)=\\\"\\r\\n                              $event.target.src =\\r\\n                                helper.CONSTANT.IMAGE_BASE_URL + 'default.png'\\r\\n                            \\\"\\r\\n                            [src]=\\\"\\r\\n                              helper.CONSTANT.IMAGE_BASE_URL +\\r\\n                              store_detail.referred_store_details.image_url\\r\\n                            \\\"\\r\\n                          />\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8\\\">\\r\\n                          <div>\\r\\n                            {{ title.id | translate }}:\\r\\n                            {{ store_detail.referred_store_details.unique_id }}\\r\\n                          </div>\\r\\n                          <div>\\r\\n                            {{ title.name | translate }}:\\r\\n                            {{ store_detail.referred_store_details.first_name }}\\r\\n                            {{ store_detail.referred_store_details.last_name }}\\r\\n                          </div>\\r\\n                        </div>\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"row\\\"\\r\\n                        style=\\\"margin-top: 10px\\\"\\r\\n                        *ngIf=\\\"referral_history.length > 0\\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-12\\\">\\r\\n                          <label>{{ title.referred_to | translate }}: </label>\\r\\n                          <span style=\\\"margin-left: 10px\\\"\\r\\n                            >{{ referral_history.length }}\\r\\n                            {{ title.people | translate }}</span\\r\\n                          >\\r\\n                        </div>\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"row col-md-12\\\"\\r\\n                        *ngIf=\\\"referral_history.length > 0\\\"\\r\\n                      >\\r\\n                        <div class=\\\"table-responsive\\\">\\r\\n                          <table class=\\\"table\\\">\\r\\n                            <tr>\\r\\n                              <td></td>\\r\\n                              <td>{{ title.id | translate }}</td>\\r\\n                              <td>{{ title.name | translate }}</td>\\r\\n                            </tr>\\r\\n                            <tr *ngFor=\\\"let referral of referral_history\\\">\\r\\n                              <td class=\\\"client-avatar\\\">\\r\\n                                <img\\r\\n                                  alt=\\\"image\\\"\\r\\n                                  (error)=\\\"\\r\\n                                    $event.target.src =\\r\\n                                      helper.CONSTANT.IMAGE_BASE_URL +\\r\\n                                      'default.png'\\r\\n                                  \\\"\\r\\n                                  [src]=\\\"\\r\\n                                    helper.CONSTANT.IMAGE_BASE_URL +\\r\\n                                    referral.image_url\\r\\n                                  \\\"\\r\\n                                />\\r\\n                              </td>\\r\\n                              <td>{{ referral.unique_id }}</td>\\r\\n                              <td>\\r\\n                                {{ referral.first_name }}\\r\\n                                {{ referral.last_name }}\\r\\n                              </td>\\r\\n                            </tr>\\r\\n                          </table>\\r\\n                        </div>\\r\\n                      </div>\\r\\n                    </div>\\r\\n                    <div *ngIf=\\\"selected_tab == 5\\\" style=\\\"margin-top: 20px\\\">\\r\\n                      <div *ngFor=\\\"let review of review_list\\\">\\r\\n                        <div\\r\\n                          *ngIf=\\\"\\r\\n                            review.user_rating_to_store > 0 &&\\r\\n                            review.user_detail\\r\\n                          \\\"\\r\\n                          class=\\\"row form-group\\\"\\r\\n                        >\\r\\n                          <div class=\\\"col-md-3 col-xs-3\\\">\\r\\n                            <img\\r\\n                              class=\\\"img-circle\\\"\\r\\n                              (error)=\\\"\\r\\n                                $event.target.src =\\r\\n                                  helper.CONSTANT.IMAGE_BASE_URL + 'default.png'\\r\\n                              \\\"\\r\\n                              [src]=\\\"\\r\\n                                helper.CONSTANT.IMAGE_BASE_URL +\\r\\n                                review.user_detail.image_url\\r\\n                              \\\"\\r\\n                              style=\\\"width: 80px; height: 80px\\\"\\r\\n                            />\\r\\n                          </div>\\r\\n                          <div class=\\\"col-md-8 col-xs-8\\\">\\r\\n                            <div\\r\\n                              style=\\\"display: inline\\\"\\r\\n                              *ngFor=\\\"\\r\\n                                let rate of Array(review.user_rating_to_store)\\r\\n                              \\\"\\r\\n                            >\\r\\n                              <span class=\\\"fa fa-star rating_star\\\"></span>\\r\\n                            </div>\\r\\n                            <div style=\\\"font-size: 15px\\\">\\r\\n                              {{ helper.title.reviewed_by }}:\\r\\n                              {{ review.user_detail.name }}\\r\\n                              <span style=\\\"font-size: 12px\\\"\\r\\n                                >({{ title.order_id | translate }}:\\r\\n                                {{ review.order_unique_id }})</span\\r\\n                              >\\r\\n                            </div>\\r\\n                            <div style=\\\"font-size: 15px; color: black\\\">\\r\\n                              {{ review.user_review_to_store }}\\r\\n                            </div>\\r\\n                          </div>\\r\\n                        </div>\\r\\n                        <div\\r\\n                          *ngIf=\\\"\\r\\n                            review.provider_rating_to_user > 0 &&\\r\\n                            review.provider_detail\\r\\n                          \\\"\\r\\n                          class=\\\"row form-group\\\"\\r\\n                        >\\r\\n                          <div class=\\\"col-md-3 col-xs-3\\\">\\r\\n                            <img\\r\\n                              class=\\\"img-circle\\\"\\r\\n                              (error)=\\\"\\r\\n                                $event.target.src =\\r\\n                                  helper.CONSTANT.IMAGE_BASE_URL + 'default.png'\\r\\n                              \\\"\\r\\n                              [src]=\\\"\\r\\n                                helper.CONSTANT.IMAGE_BASE_URL +\\r\\n                                review.provider_detail.image_url\\r\\n                              \\\"\\r\\n                              style=\\\"width: 80px; height: 80px\\\"\\r\\n                            />\\r\\n                          </div>\\r\\n                          <div class=\\\"col-md-8 col-xs-8\\\">\\r\\n                            <div\\r\\n                              style=\\\"display: inline\\\"\\r\\n                              *ngFor=\\\"\\r\\n                                let rate of Array(\\r\\n                                  review.provider_rating_to_user\\r\\n                                )\\r\\n                              \\\"\\r\\n                            >\\r\\n                              <span class=\\\"fa fa-star rating_star\\\"></span>\\r\\n                            </div>\\r\\n                            <div style=\\\"font-size: 15px\\\">\\r\\n                              {{ helper.title.reviewed_by }}\\r\\n                              {{ review.provider_detail.name }}\\r\\n                              <span style=\\\"font-size: 12px\\\"\\r\\n                                >({{ title.order_id | translate }}:\\r\\n                                {{ review.order_unique_id }})</span\\r\\n                              >\\r\\n                            </div>\\r\\n                            <div style=\\\"font-size: 15px; color: black\\\">\\r\\n                              {{ review.provider_review_to_user }}\\r\\n                            </div>\\r\\n                          </div>\\r\\n                        </div>\\r\\n                      </div>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n              <div>\\r\\n                <div class=\\\"client-detail\\\" [hidden]=\\\"view_type !== 2\\\">\\r\\n                  <div class=\\\"full-height-scroll\\\">\\r\\n                    <div class=\\\"row m-b-lg\\\">\\r\\n                      <div class=\\\"col-md-6\\\">\\r\\n                        <button\\r\\n                          type=\\\"button\\\"\\r\\n                          class=\\\"btn btn-block\\\"\\r\\n                          (click)=\\\"bonus_info.bonus_type = 1\\\"\\r\\n                          [class.selected_bonus_type]=\\\"\\r\\n                            bonus_info.bonus_type == 1\\r\\n                          \\\"\\r\\n                          [disabled]=\\\"!is_edit\\\"\\r\\n                          [class.unselected_bonus_type]=\\\"\\r\\n                            bonus_info.bonus_type == 2\\r\\n                          \\\"\\r\\n                        >\\r\\n                          +\\r\\n                        </button>\\r\\n                      </div>\\r\\n                      <div class=\\\"col-md-6\\\">\\r\\n                        <button\\r\\n                          type=\\\"button\\\"\\r\\n                          class=\\\"btn btn-block\\\"\\r\\n                          (click)=\\\"bonus_info.bonus_type = 2\\\"\\r\\n                          [class.selected_bonus_type]=\\\"\\r\\n                            bonus_info.bonus_type == 2\\r\\n                          \\\"\\r\\n                          [disabled]=\\\"!is_edit\\\"\\r\\n                          [class.unselected_bonus_type]=\\\"\\r\\n                            bonus_info.bonus_type == 1\\r\\n                          \\\"\\r\\n                        >\\r\\n                          -\\r\\n                        </button>\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"col-md-12\\\"\\r\\n                        style=\\\"padding-top: 16px; padding-bottom: 4px\\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-4 no_padding\\\">\\r\\n                          <label>{{ title.bonus_amount | translate }}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8 no_padding\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                          {{ bonus_info.bonus_amount }}\\r\\n                        </div>\\r\\n                        <div\\r\\n                          class=\\\"col-md-8 no_padding form-group\\\"\\r\\n                          *ngIf=\\\"is_edit\\\"\\r\\n                        >\\r\\n                          <input\\r\\n                            type=\\\"text\\\"\\r\\n                            class=\\\"form-control\\\"\\r\\n                            [(ngModel)]=\\\"bonus_info.bonus_amount\\\"\\r\\n                            #bonus_amount=\\\"ngModel\\\"\\r\\n                            name=\\\"bonus_amount\\\"\\r\\n                          />\\r\\n                        </div>\\r\\n                      </div>\\r\\n                      <div class=\\\"col-md-6\\\">\\r\\n                        <button\\r\\n                          type=\\\"button\\\"\\r\\n                          class=\\\"btn btn-block\\\"\\r\\n                          (click)=\\\"bonus_info.bonus_payment_type = 1\\\"\\r\\n                          [class.selected_bonus_type]=\\\"\\r\\n                            bonus_info.bonus_payment_type == 1\\r\\n                          \\\"\\r\\n                          [disabled]=\\\"!is_edit\\\"\\r\\n                          [class.unselected_bonus_type]=\\\"\\r\\n                            bonus_info.bonus_payment_type == 2\\r\\n                          \\\"\\r\\n                        >\\r\\n                          absolute\\r\\n                        </button>\\r\\n                      </div>\\r\\n                      <div class=\\\"col-md-6\\\">\\r\\n                        <button\\r\\n                          type=\\\"button\\\"\\r\\n                          class=\\\"btn btn-block\\\"\\r\\n                          (click)=\\\"bonus_info.bonus_payment_type = 2\\\"\\r\\n                          [class.selected_bonus_type]=\\\"\\r\\n                            bonus_info.bonus_payment_type == 2\\r\\n                          \\\"\\r\\n                          [disabled]=\\\"!is_edit\\\"\\r\\n                          [class.unselected_bonus_type]=\\\"\\r\\n                            bonus_info.bonus_payment_type == 1\\r\\n                          \\\"\\r\\n                        >\\r\\n                          percentage\\r\\n                        </button>\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"col-md-12\\\"\\r\\n                        style=\\\"padding-top: 16px; padding-bottom: 4px\\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-4 no_padding\\\">\\r\\n                          <label>{{\\r\\n                            title.is_bonus_monthly | translate\\r\\n                          }}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8 no_padding\\\">\\r\\n                          <span class=\\\"\\\">\\r\\n                            <ui-switch\\r\\n                              [disabled]=\\\"!is_edit\\\"\\r\\n                              [(ngModel)]=\\\"bonus_info.is_bonus_monthly\\\"\\r\\n                              #is_bonus_monthly=\\\"ngModel\\\"\\r\\n                              name=\\\"is_bonus_monthly\\\"\\r\\n                            ></ui-switch\\r\\n                          ></span>\\r\\n                        </div>\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"col-md-12\\\"\\r\\n                        *ngIf=\\\"bonus_info.is_bonus_monthly\\\"\\r\\n                        style=\\\"padding-top: 16px; padding-bottom: 4px\\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-4 no_padding\\\">\\r\\n                          <label>{{\\r\\n                            title.bonus_no_of_month | translate\\r\\n                          }}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8 no_padding\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                          {{ bonus_info.bonus_no_of_month }}\\r\\n                        </div>\\r\\n                        <div\\r\\n                          class=\\\"col-md-8 no_padding form-group\\\"\\r\\n                          *ngIf=\\\"is_edit\\\"\\r\\n                        >\\r\\n                          <input\\r\\n                            type=\\\"text\\\"\\r\\n                            class=\\\"form-control\\\"\\r\\n                            [(ngModel)]=\\\"bonus_info.bonus_no_of_month\\\"\\r\\n                            #bonus_no_of_month=\\\"ngModel\\\"\\r\\n                            name=\\\"bonus_no_of_month\\\"\\r\\n                          />\\r\\n                        </div>\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"col-md-12\\\"\\r\\n                        [hidden]=\\\"!bonus_info.is_bonus_monthly\\\"\\r\\n                        style=\\\"padding-top: 10px; padding-bottom: 4px\\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-4 no_padding\\\">\\r\\n                          <label>{{\\r\\n                            title.bonus_start_month | translate\\r\\n                          }}</label>\\r\\n                        </div>\\r\\n                        <div\\r\\n                          class=\\\"col-md-8 no_padding\\\"\\r\\n                          *ngIf=\\\"\\r\\n                            !is_edit &&\\r\\n                            month_array[bonus_info.bonus_start_month]\\r\\n                          \\\"\\r\\n                        >\\r\\n                          {{ month_array[bonus_info.bonus_start_month].text }}\\r\\n                        </div>\\r\\n                        <div\\r\\n                          class=\\\"col-md-8 no_padding form-group\\\"\\r\\n                          [hidden]=\\\"!is_edit\\\"\\r\\n                        >\\r\\n                          <select\\r\\n                            chosen\\r\\n                            class=\\\"chosen-select\\\"\\r\\n                            id=\\\"bonus_start_month\\\"\\r\\n                            [(ngModel)]=\\\"bonus_info.bonus_start_month\\\"\\r\\n                            #bonus_start_month=\\\"ngModel\\\"\\r\\n                            name=\\\"bonus_start_month\\\"\\r\\n                            tabindex=\\\"4\\\"\\r\\n                          >\\r\\n                            <option\\r\\n                              *ngFor=\\\"\\r\\n                                let month of month_array;\\r\\n                                let index = index\\r\\n                              \\\"\\r\\n                              value=\\\"{{ month.value }}\\\"\\r\\n                            >\\r\\n                              {{ month.text }}\\r\\n                            </option>\\r\\n                          </select>\\r\\n                        </div>\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"col-md-12\\\"\\r\\n                        [hidden]=\\\"!bonus_info.is_bonus_monthly\\\"\\r\\n                        style=\\\"padding-top: 10px; padding-bottom: 4px\\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-4 no_padding\\\">\\r\\n                          <label>{{\\r\\n                            title.bonus_start_year | translate\\r\\n                          }}</label>\\r\\n                        </div>\\r\\n                        <div\\r\\n                          class=\\\"col-md-8 no_padding form-group\\\"\\r\\n                          [hidden]=\\\"!is_edit\\\"\\r\\n                        >\\r\\n                          <select\\r\\n                            chosen\\r\\n                            class=\\\"chosen-select\\\"\\r\\n                            id=\\\"bonus_start_year\\\"\\r\\n                            [(ngModel)]=\\\"bonus_info.bonus_start_year\\\"\\r\\n                            #bonus_start_year=\\\"ngModel\\\"\\r\\n                            name=\\\"bonus_start_year\\\"\\r\\n                            tabindex=\\\"4\\\"\\r\\n                          >\\r\\n                            <option\\r\\n                              *ngFor=\\\"let year of year_array; let index = index\\\"\\r\\n                              value=\\\"{{ year }}\\\"\\r\\n                            >\\r\\n                              {{ year }}\\r\\n                            </option>\\r\\n                          </select>\\r\\n                        </div>\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"col-md-12\\\"\\r\\n                        style=\\\"padding-top: 10px; padding-bottom: 4px\\\"\\r\\n                      >\\r\\n                        <div class=\\\"col-md-4 no_padding\\\">\\r\\n                          <label>{{ title.bonus_reason | translate }}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8 no_padding\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                          {{ bonus_info.bonus_reason }}\\r\\n                        </div>\\r\\n                        <div\\r\\n                          class=\\\"col-md-8 no_padding form-group\\\"\\r\\n                          *ngIf=\\\"is_edit\\\"\\r\\n                        >\\r\\n                          <input\\r\\n                            type=\\\"text\\\"\\r\\n                            class=\\\"form-control\\\"\\r\\n                            [(ngModel)]=\\\"bonus_info.bonus_reason\\\"\\r\\n                            #bonus_reason=\\\"ngModel\\\"\\r\\n                            name=\\\"bonus_reason\\\"\\r\\n                          />\\r\\n                        </div>\\r\\n                      </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"row no_margin\\\" style=\\\"margin-top: 10px\\\">\\r\\n                      <div\\r\\n                        class=\\\"col-md-4 remove_right_padding\\\"\\r\\n                        (click)=\\\"view_store_history()\\\"\\r\\n                      >\\r\\n                        <button\\r\\n                          type=\\\"button\\\"\\r\\n                          class=\\\"btn btn-light_black btn-sm btn-block\\\"\\r\\n                        >\\r\\n                          {{ button.summary | translate }}\\r\\n                        </button>\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"col-md-4 remove_right_padding\\\"\\r\\n                        (click)=\\\"review_export_csv()\\\"\\r\\n                      >\\r\\n                        <button\\r\\n                          type=\\\"button\\\"\\r\\n                          class=\\\"btn btn-light_black btn-sm btn-block\\\"\\r\\n                        >\\r\\n                          {{ button.export_review | translate }}\\r\\n                        </button>\\r\\n                      </div>\\r\\n                      <div\\r\\n                        class=\\\"col-md-4 remove_right_padding\\\"\\r\\n                        (click)=\\\"view_type = 1\\\"\\r\\n                      >\\r\\n                        <button\\r\\n                          type=\\\"button\\\"\\r\\n                          class=\\\"btn btn-light_black btn-sm btn-block\\\"\\r\\n                        >\\r\\n                          {{ button.detail | translate }}\\r\\n                        </button>\\r\\n                      </div>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"row\\\" style=\\\"margin-top: 10px\\\">\\r\\n        <div class=\\\"col-md-6\\\" style=\\\"padding-right: 4px\\\" *ngIf=\\\"!(store_detail.business_types && store_detail.business_types.length === 1 && store_detail.business_types[0] === 2)\\\">\\r\\n          <button (click)=\\\"get_setting()\\\" class=\\\"btn btn-light_black btn-block\\\">\\r\\n            {{ button.view_setting | translate }}\\r\\n          </button>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-6\\\" style=\\\"padding-left: 4px\\\">\\r\\n          <button (click)=\\\"menu()\\\" class=\\\"btn btn-light_black btn-block\\\">\\r\\n            {{ button.go_to_store_panel | translate }}\\r\\n          </button>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n</div>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-sm\\\" #myModal>\\r\\n  <form #modalForm=\\\"ngForm\\\" (ngSubmit)=\\\"AddWallet(modalForm.value)\\\">\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n      <h4 class=\\\"modal-title\\\">\\r\\n        {{ heading_title.add_wallet_amount | translate }}\\r\\n      </h4>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n      <div class=\\\"row\\\">\\r\\n        <input\\r\\n          type=\\\"hidden\\\"\\r\\n          class=\\\"form-control\\\"\\r\\n          [(ngModel)]=\\\"type\\\"\\r\\n          name=\\\"type\\\"\\r\\n        />\\r\\n        <input\\r\\n          type=\\\"hidden\\\"\\r\\n          class=\\\"form-control\\\"\\r\\n          [(ngModel)]=\\\"store_id\\\"\\r\\n          name=\\\"store_id\\\"\\r\\n        />\\r\\n        <div class=\\\"col-md-12\\\">\\r\\n          <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n            <div class=\\\"form-group\\\">\\r\\n              <label style=\\\"font-weight: normal\\\"\\r\\n                ><strong>{{ title.amount | translate }}</strong></label\\r\\n              >\\r\\n              <input\\r\\n                type=\\\"text\\\"\\r\\n                class=\\\"form-control\\\"\\r\\n                [(ngModel)]=\\\"wallet\\\"\\r\\n                (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                maxlength=\\\"8\\\"\\r\\n                name=\\\"wallet\\\"\\r\\n                required\\r\\n              />\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n      <div style=\\\"text-align: center\\\">\\r\\n        <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">\\r\\n          {{ button.save | translate }}\\r\\n        </button>\\r\\n      </div>\\r\\n    </modal-footer>\\r\\n  </form>\\r\\n</modal>\\r\\n\\r\\n<modal cssClass=\\\"modal-sm\\\" #document_full_image>\\r\\n  <modal-header [show-close]=\\\"true\\\"> </modal-header>\\r\\n  <modal-body>\\r\\n    <div>\\r\\n      <img\\r\\n        style=\\\"width: 100%; height: 100%\\\"\\r\\n        src=\\\"{{ helper.CONSTANT.IMAGE_BASE_URL + 'default.png' }}\\\"\\r\\n        class=\\\"document{{ selected_document_index }}\\\"\\r\\n      />\\r\\n    </div>\\r\\n  </modal-body>\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl\\\" #mysmsModal>\\r\\n  <form #modalSmsForm=\\\"ngForm\\\" (ngSubmit)=\\\"SendSms(modalSmsForm.value)\\\">\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n      <h4 class=\\\"modal-title\\\">{{ heading_title.admin_sms | translate }}</h4>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n      <div class=\\\"row\\\">\\r\\n        <input\\r\\n          type=\\\"hidden\\\"\\r\\n          class=\\\"form-control\\\"\\r\\n          [(ngModel)]=\\\"type\\\"\\r\\n          name=\\\"type\\\"\\r\\n        />\\r\\n        <input\\r\\n          type=\\\"hidden\\\"\\r\\n          class=\\\"form-control\\\"\\r\\n          [(ngModel)]=\\\"store_id\\\"\\r\\n          name=\\\"store_id\\\"\\r\\n        />\\r\\n        <div class=\\\"col-md-12\\\">\\r\\n          <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n            <div class=\\\"form-group\\\">\\r\\n              <label style=\\\"font-weight: normal\\\"\\r\\n                ><strong>{{ title.content | translate }}</strong></label\\r\\n              >\\r\\n              <textarea\\r\\n                class=\\\"form-control\\\"\\r\\n                [(ngModel)]=\\\"content\\\"\\r\\n                name=\\\"content\\\"\\r\\n                required\\r\\n              ></textarea>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n      <div style=\\\"text-align: center\\\">\\r\\n        <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">\\r\\n          {{ button.send | translate }}\\r\\n        </button>\\r\\n      </div>\\r\\n    </modal-footer>\\r\\n  </form>\\r\\n</modal>\\r\\n\\r\\n<modal\\r\\n  keyboard=\\\"false\\\"\\r\\n  backdrop=\\\"static\\\"\\r\\n  cssClass=\\\"modal-xl\\\"\\r\\n  #never_launched_modal\\r\\n>\\r\\n  <form #modalSmsForm=\\\"ngForm\\\" (ngSubmit)=\\\"SendSms(modalSmsForm.value)\\\">\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n      <h4 class=\\\"modal-title\\\">\\r\\n        #{{ store_detail.unique_id }} {{ store_detail.name }}\\r\\n        <span style=\\\"float: right; padding-right: 10px\\\">\\r\\n          <span\\r\\n            class=\\\"label\\\"\\r\\n            style=\\\"\\r\\n              padding: 2px 7px;\\r\\n              font-size: 6px;\\r\\n              position: unset !important;\\r\\n              border-radius: 50%;\\r\\n              background-color: blue;\\r\\n              font-weight: bold;\\r\\n            \\\"\\r\\n          >\\r\\n          </span\\r\\n          ><b style=\\\"padding-left: 4px\\\"> Never Launched</b></span\\r\\n        >\\r\\n      </h4>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n      <div class=\\\"row\\\">\\r\\n        <div\\r\\n          class=\\\"col-md-12 no_padding\\\"\\r\\n          style=\\\"padding-top: 10px; padding-bottom: 4px\\\"\\r\\n        >\\r\\n          <div class=\\\"col-md-4 no_padding\\\">\\r\\n            <label>{{ title.created_date | translate }}</label>\\r\\n          </div>\\r\\n          <div class=\\\"col-md-4 no_padding\\\">\\r\\n            {{ store_detail.created_at | date : \\\"MM-dd-yyyy\\\" }}\\r\\n          </div>\\r\\n        </div>\\r\\n\\r\\n        <div\\r\\n          class=\\\"col-md-12 no_padding\\\"\\r\\n          style=\\\"padding-top: 10px; padding-bottom: 4px\\\"\\r\\n        >\\r\\n          <div class=\\\"col-md-4 no_padding\\\">\\r\\n            <label>{{ title.launch_date | translate }}</label>\\r\\n          </div>\\r\\n          <div class=\\\"col-md-4 no_padding\\\" *ngIf=\\\"store_detail.launch_date\\\">\\r\\n            {{ store_detail.launch_date.formatted }}\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </modal-body>\\r\\n  </form>\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl\\\" #churn_modal>\\r\\n  <form #modalSmsForm=\\\"ngForm\\\" (ngSubmit)=\\\"SendSms(modalSmsForm.value)\\\">\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n      <h4 class=\\\"modal-title\\\">\\r\\n        #{{ store_detail.unique_id }} {{ store_detail.name }}\\r\\n        <span style=\\\"float: right; padding-right: 10px\\\">\\r\\n          <span\\r\\n            class=\\\"label\\\"\\r\\n            style=\\\"\\r\\n              padding: 2px 7px;\\r\\n              font-size: 6px;\\r\\n              position: unset !important;\\r\\n              border-radius: 50%;\\r\\n              background-color: violet;\\r\\n              font-weight: bold;\\r\\n            \\\"\\r\\n          >\\r\\n          </span\\r\\n          ><b style=\\\"padding-left: 4px\\\"> CHURN</b></span\\r\\n        >\\r\\n      </h4>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n      <div class=\\\"row\\\">\\r\\n        <div\\r\\n          class=\\\"col-md-12 no_padding\\\"\\r\\n          style=\\\"padding-top: 10px; padding-bottom: 4px\\\"\\r\\n        >\\r\\n          <div class=\\\"col-md-4 no_padding\\\">\\r\\n            <label>{{ title.created_date | translate }}</label>\\r\\n          </div>\\r\\n          <div class=\\\"col-md-4 no_padding\\\">\\r\\n            {{ store_detail.created_at | date : \\\"dd-MM-yyyy\\\" }}\\r\\n          </div>\\r\\n        </div>\\r\\n\\r\\n        <div\\r\\n          class=\\\"col-md-12 no_padding\\\"\\r\\n          style=\\\"padding-top: 10px; padding-bottom: 4px\\\"\\r\\n        >\\r\\n          <div class=\\\"col-md-4 no_padding\\\">\\r\\n            <label>{{ title.churn_date | translate }}</label>\\r\\n          </div>\\r\\n          <div class=\\\"col-md-4 no_padding\\\" *ngIf=\\\"store_detail.churn_date\\\">\\r\\n            {{ store_detail.churn_date | date : \\\"dd-MM-yyyy\\\" }}\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </modal-body>\\r\\n  </form>\\r\\n</modal>\\r\\n\\r\\n<modal\\r\\n  keyboard=\\\"false\\\"\\r\\n  backdrop=\\\"static\\\"\\r\\n  cssClass=\\\"modal-xl\\\"\\r\\n  #mynotificationModal\\r\\n>\\r\\n  <form\\r\\n    #modalNotificationForm=\\\"ngForm\\\"\\r\\n    (ngSubmit)=\\\"SendNotification(modalNotificationForm.value)\\\"\\r\\n  >\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n      <h4 class=\\\"modal-title\\\">\\r\\n        {{ heading_title.admin_send_notification | translate }}\\r\\n      </h4>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n      <div class=\\\"row\\\">\\r\\n        <input\\r\\n          type=\\\"hidden\\\"\\r\\n          class=\\\"form-control\\\"\\r\\n          [(ngModel)]=\\\"type\\\"\\r\\n          name=\\\"type\\\"\\r\\n        />\\r\\n        <input\\r\\n          type=\\\"hidden\\\"\\r\\n          class=\\\"form-control\\\"\\r\\n          [(ngModel)]=\\\"store_id\\\"\\r\\n          name=\\\"store_id\\\"\\r\\n        />\\r\\n        <div class=\\\"col-md-12\\\">\\r\\n          <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n            <div class=\\\"form-group\\\">\\r\\n              <label style=\\\"font-weight: normal\\\"\\r\\n                ><strong>{{\\r\\n                  title.notification_content | translate\\r\\n                }}</strong></label\\r\\n              >\\r\\n              <input\\r\\n                type=\\\"text\\\"\\r\\n                class=\\\"form-control\\\"\\r\\n                [(ngModel)]=\\\"content\\\"\\r\\n                name=\\\"content\\\"\\r\\n                required\\r\\n              />\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n      <div style=\\\"text-align: center\\\">\\r\\n        <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">\\r\\n          {{ button.send | translate }}\\r\\n        </button>\\r\\n      </div>\\r\\n    </modal-footer>\\r\\n  </form>\\r\\n</modal>\\r\\n\\r\\n<modal\\r\\n  keyboard=\\\"false\\\"\\r\\n  backdrop=\\\"static\\\"\\r\\n  style=\\\"top: 25%\\\"\\r\\n  size=\\\"sm\\\"\\r\\n  cssClass=\\\"modal-sm\\\"\\r\\n  #add_modal\\r\\n>\\r\\n  <form #storeTimeForm=\\\"ngForm\\\" novalidate (ngSubmit)=\\\"add_store_time()\\\">\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n      <h4 class=\\\"modal-title\\\">\\r\\n        {{ helper.heading_title.add_store_time | translate }}\\r\\n      </h4>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n      <div class=\\\"row\\\">\\r\\n        <div class=\\\"form-group\\\">\\r\\n          <label class=\\\"col-lg-6 col-xs-6 control-label\\\">{{\\r\\n            helper.title.store_open_time | translate\\r\\n          }}</label>\\r\\n          <div\\r\\n            class=\\\"col-lg-6 col-xs-6 input-group clock-picker\\\"\\r\\n            id=\\\"clock-picker\\\"\\r\\n            data-autoclose=\\\"true\\\"\\r\\n          >\\r\\n            <input\\r\\n              type=\\\"text\\\"\\r\\n              class=\\\"form-control\\\"\\r\\n              id=\\\"open\\\"\\r\\n              [(ngModel)]=\\\"store_open_time\\\"\\r\\n              name=\\\"store_open_time\\\"\\r\\n              readonly\\r\\n              required\\r\\n            />\\r\\n            <span class=\\\"input-group-addon\\\">\\r\\n              <span class=\\\"fa fa-clock-o\\\"></span>\\r\\n            </span>\\r\\n          </div>\\r\\n\\r\\n          <div\\r\\n            *ngIf=\\\"\\r\\n              store_open_time.errors &&\\r\\n              (store_open_time.dirty || store_open_time.touched)\\r\\n            \\\"\\r\\n          >\\r\\n            <div style=\\\"color: red\\\" [hidden]=\\\"!store_open_time.errors.required\\\">\\r\\n              {{\\r\\n                helper.validation_message.store_open_time_required | translate\\r\\n              }}\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"form-group\\\">\\r\\n          <label class=\\\"col-lg-6 col-xs-6 control-label\\\">{{\\r\\n            title.store_close_time | translate\\r\\n          }}</label>\\r\\n          <div\\r\\n            class=\\\"col-lg-6 col-xs-6 input-group clock-picker\\\"\\r\\n            id=\\\"clock-picker1\\\"\\r\\n            data-autoclose=\\\"true\\\"\\r\\n          >\\r\\n            <input\\r\\n              type=\\\"text\\\"\\r\\n              class=\\\"form-control\\\"\\r\\n              id=\\\"close\\\"\\r\\n              [(ngModel)]=\\\"store_close_time\\\"\\r\\n              name=\\\"store_close_time\\\"\\r\\n              readonly\\r\\n              required\\r\\n            />\\r\\n            <span class=\\\"input-group-addon\\\">\\r\\n              <span class=\\\"fa fa-clock-o\\\"></span>\\r\\n            </span>\\r\\n          </div>\\r\\n\\r\\n          <div\\r\\n            *ngIf=\\\"\\r\\n              store_close_time.errors &&\\r\\n              (store_close_time.dirty || store_close_time.touched)\\r\\n            \\\"\\r\\n          >\\r\\n            <div\\r\\n              style=\\\"color: red\\\"\\r\\n              [hidden]=\\\"!store_close_time.errors.required\\\"\\r\\n            >\\r\\n              {{\\r\\n                helper.validation_message.store_close_time_required | translate\\r\\n              }}\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div [ngSwitch]=\\\"store_open_time_error\\\">\\r\\n        <div *ngSwitchCase=\\\"1\\\">\\r\\n          <label style=\\\"color: red\\\">{{\\r\\n            helper.validation_message.open_time_not_greater_close_time\\r\\n              | translate\\r\\n          }}</label>\\r\\n        </div>\\r\\n        <div *ngSwitchCase=\\\"2\\\">\\r\\n          <label style=\\\"color: red\\\">{{\\r\\n            helper.validation_message.invalid_open_time | translate\\r\\n          }}</label>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div [ngSwitch]=\\\"store_close_time_error\\\">\\r\\n        <div *ngSwitchCase=\\\"1\\\">\\r\\n          <label style=\\\"color: red\\\">{{\\r\\n            helper.validation_message.close_time_not_less_open_time | translate\\r\\n          }}</label>\\r\\n        </div>\\r\\n        <div *ngSwitchCase=\\\"2\\\">\\r\\n          <label style=\\\"color: red\\\">{{\\r\\n            helper.validation_message.invalid_close_time | translate\\r\\n          }}</label>\\r\\n        </div>\\r\\n      </div>\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n      <div style=\\\"text-align: center\\\">\\r\\n        <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">\\r\\n          {{ button.add | translate }}\\r\\n        </button>\\r\\n      </div>\\r\\n    </modal-footer>\\r\\n  </form>\\r\\n</modal>\\r\\n\\r\\n<modal\\r\\n  keyboard=\\\"false\\\"\\r\\n  backdrop=\\\"static\\\"\\r\\n  style=\\\"top: 25%\\\"\\r\\n  cssClass=\\\"modal-sm\\\"\\r\\n  #copy_store_time_modal\\r\\n  id=\\\"old_passwrod\\\"\\r\\n>\\r\\n  <form\\r\\n    #copy_store_time_form=\\\"ngForm\\\"\\r\\n    (ngSubmit)=\\\"copy_store_time_update(copy_store_time_form.value)\\\"\\r\\n  >\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n      <h4 class=\\\"modal-title\\\">{{ title.copy_store_time | translate }}</h4>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n      <div class=\\\"form-group\\\">\\r\\n        <select\\r\\n          chosen\\r\\n          class=\\\"form-control chosen-select\\\"\\r\\n          id=\\\"selected_days\\\"\\r\\n          [(ngModel)]=\\\"selected_days\\\"\\r\\n          multiple\\r\\n          name=\\\"selected_days\\\"\\r\\n          required\\r\\n        >\\r\\n          <!-- <option  value=\\\"\\\">All</option> -->\\r\\n          <option *ngFor=\\\"let i of date_array\\\" value=\\\"{{ i.value }}\\\">\\r\\n            {{ i.label }}\\r\\n          </option>\\r\\n        </select>\\r\\n      </div>\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n      <div style=\\\"text-align: center\\\">\\r\\n        <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">\\r\\n          {{ button.submit | translate }}\\r\\n        </button>\\r\\n      </div>\\r\\n    </modal-footer>\\r\\n  </form>\\r\\n</modal>\\r\\n\\r\\n<modal\\r\\n  keyboard=\\\"false\\\"\\r\\n  backdrop=\\\"static\\\"\\r\\n  style=\\\"top: 25%\\\"\\r\\n  cssClass=\\\"modal-sm\\\"\\r\\n  #add_subscription_amount_modal\\r\\n  id\\r\\n>\\r\\n  <form\\r\\n    #add_delivery_price_form=\\\"ngForm\\\"\\r\\n    (ngSubmit)=\\\"add_subscription_charge_data()\\\"\\r\\n  >\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n      <h4 class=\\\"modal-title\\\">\\r\\n        {{\\r\\n          (fee_type == 1\\r\\n            ? title.add_subscription_charge_setting\\r\\n            : title.add_monthly_fee_setting\\r\\n          ) | translate\\r\\n        }}\\r\\n      </h4>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n      <div class=\\\"form-group\\\">\\r\\n        <div>\\r\\n          <input\\r\\n            type=\\\"text\\\"\\r\\n            (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n            placeholder=\\\"{{ title.min_amount | translate }}\\\"\\r\\n            class=\\\"form-control\\\"\\r\\n            automoplete=\\\"off\\\"\\r\\n            [(ngModel)]=\\\"min_amount\\\"\\r\\n            name=\\\"min_amount\\\"\\r\\n            required\\r\\n          />\\r\\n\\r\\n          <!--<div *ngIf=\\\"min_amount.errors && (min_amount.dirty || min_amount.touched)\\\">-->\\r\\n          <!--<div style=\\\"color: red;\\\" [hidden]=\\\"!min_amount.errors.required\\\">{{validation_message.password_required | translate}}-->\\r\\n          <!--</div>-->\\r\\n          <!--</div>-->\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"form-group\\\">\\r\\n        <div>\\r\\n          <input\\r\\n            type=\\\"text\\\"\\r\\n            (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n            placeholder=\\\"{{ title.max_amount | translate }}\\\"\\r\\n            class=\\\"form-control\\\"\\r\\n            automoplete=\\\"off\\\"\\r\\n            [(ngModel)]=\\\"max_amount\\\"\\r\\n            name=\\\"max_amount\\\"\\r\\n            required\\r\\n          />\\r\\n\\r\\n          <!--<div *ngIf=\\\"max_amount.errors && (max_amount.dirty || max_amount.touched)\\\">-->\\r\\n          <!--<div style=\\\"color: red;\\\" [hidden]=\\\"!max_amount.errors.required\\\">{{validation_message.password_required | translate}}-->\\r\\n          <!--</div>-->\\r\\n          <!--</div>-->\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"form-group\\\">\\r\\n        <input\\r\\n          type=\\\"text\\\"\\r\\n          (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n          placeholder=\\\"{{ title.subscription_amount | translate }}\\\"\\r\\n          class=\\\"form-control\\\"\\r\\n          automoplete=\\\"off\\\"\\r\\n          [(ngModel)]=\\\"subscription_amount\\\"\\r\\n          name=\\\"subscription_amount\\\"\\r\\n          required\\r\\n        />\\r\\n      </div>\\r\\n      <div>\\r\\n        <span *ngIf=\\\"distance_calculation_error == 1\\\">{{\\r\\n          helper.validation_message.min_amount_not_greater_than_max_amount\\r\\n            | translate\\r\\n        }}</span>\\r\\n      </div>\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n      <div style=\\\"text-align: center\\\">\\r\\n        <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">\\r\\n          {{ button.submit | translate }}\\r\\n        </button>\\r\\n      </div>\\r\\n    </modal-footer>\\r\\n  </form>\\r\\n</modal>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/stores/stores.component.html\n// module id = 1641\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer> \\r\\n<div class=\\\"row wrapper content_top_bar border-bottom white-bg page-heading\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n        <!-- <div class=\\\"col-md-3 col-sm-12 pull-right\\\">\\r\\n            <div class=\\\"col-md-6 col-sm-6 add_btn_div\\\">\\r\\n                 <button [routerLink]=\\\"['/team/add_detail']\\\" class=\\\"btn add_btn pull-right\\\" style=\\\"margin-bottom: 10px;\\\">Add Detail<span class=\\\"fa fa-plus\\\" style=\\\"margin-left: 8px;\\\"></span></button>\\r\\n            \\r\\n            </div>\\r\\n        </div> -->\\r\\n        <div class=\\\"col-md-3 col-sm-12 pull-right\\\">\\r\\n            <div class=\\\"col-md-6 col-sm-6 add_btn_div\\\">\\r\\n                 <button [routerLink]=\\\"['/team/add']\\\" class=\\\"btn add_btn pull-right\\\" style=\\\"margin-bottom: 10px;margin-right:-130px\\\">create team<span class=\\\"fa fa-plus\\\" style=\\\"margin-left: 8px;\\\"></span></button>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n\\r\\n<div class=\\\"wrapper wrapper-content animated fadeInRight\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-6 col-sm-12\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"table-responsive\\\">\\r\\n                        <table class=\\\"table table-striped\\\">\\r\\n                            \\r\\n                            <tbody>\\r\\n                                <tr *ngFor=\\\"let i of team_list; let index=index; let last=last;\\\">\\r\\n                                    \\r\\n                                    <td>\\r\\n                                        <span style=\\\"font-weight: bold; font-size: 16px;\\\">{{i.name}}</span>\\r\\n                                        <span style=\\\"font-weight: 500;\\\" *ngFor=\\\"let country of i.country_list; let first=first; let last=last;\\\">\\r\\n                                            <span *ngIf=\\\"first\\\"> - </span> {{country.country_name}} <span *ngIf=\\\"!last\\\">  | </span>\\r\\n                                        </span>\\r\\n                                        <span style=\\\"font-weight: 500;\\\" *ngFor=\\\"let city of i.city_list; let first=first; let last=last;\\\">\\r\\n                                            <span *ngIf=\\\"first\\\"> - </span> {{city.city_name}} <span *ngIf=\\\"!last\\\">  | </span>\\r\\n                                        </span>\\r\\n                                        <span style=\\\"font-weight: 500;\\\">\\r\\n                                            - {{i.store_ids.length}} partners\\r\\n                                        </span>\\r\\n                                        <span style=\\\"font-weight: 500;\\\">\\r\\n                                            - {{i.provider_ids.length}} hoppers\\r\\n                                        </span>\\r\\n                                    </td>\\r\\n\\r\\n                                    <td>\\r\\n                                        <div class=\\\"dropdown pull-right\\\" [class.dropup]=\\\"last && !index==0\\\" dropdown>\\r\\n                                            <button class=\\\"btn btn-primary\\\" dropdown-open>{{title.action | translate}}<span class=\\\"caret\\\"></span></button>\\r\\n\\r\\n\\r\\n                                            <ul class=\\\"dropdown-menu\\\">\\r\\n                                                <li><a (click)=\\\"editteam(i._id)\\\" ><span style=\\\"display:block;\\\" class=\\\"nav-label\\\">{{button.edit | translate}}</span> </a></li>\\r\\n\\r\\n                                                <li><a (click)=\\\"deleteteam(i._id,index)\\\" ><span style=\\\"display:block;\\\" class=\\\"nav-label\\\">{{button.delete | translate}}</span> </a></li>\\r\\n\\r\\n                                            </ul>\\r\\n                                        </div>\\r\\n                                    </td>\\r\\n\\r\\n\\r\\n                                </tr>\\r\\n                            </tbody>\\r\\n                        </table>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/team/team.component.html\n// module id = 1642\n// module chunks = 0","module.exports = \"<div class=\\\"wrapper wrapper-content animated fadeInRight content_top_bar_view\\\">\\r\\n    \\r\\n\\r\\n<div style=\\\"text-align: center;\\\" class=\\\"add_btn_bg btn-group\\\">\\r\\n    <button *ngFor=\\\"let lang of supportedLangs\\\"\\r\\n        (click)=\\\"selectLang(lang.value)\\\"\\r\\n        class=\\\"btn btn-default\\\" [class.btn-primary]=\\\"isCurrentLang(lang.value)\\\">\\r\\n        {{ lang.display }}\\r\\n</button>\\r\\n</div>\\r\\n<div style=\\\"margin-top: 20px\\\">\\r\\n    \\r\\n    <p>\\r\\n        Translate with Service: <strong>{{ translatedText }}</strong>\\r\\n    </p>\\r\\n    \\r\\n     <p>\\r\\n         Translate with Service: <strong>{{ translatedText1 }}</strong>\\r\\n    </p>\\r\\n    <p>\\r\\n         Translate with Service: <strong>{{ translatedText2 }}</strong>\\r\\n    </p>\\r\\n</div>\\r\\n\\r\\n</div>\\r\\n\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/trans_language/trans_language.component.html\n// module id = 1643\n// module chunks = 0","module.exports = \"<style type=\\\"text/css\\\">\\r\\n    .scrollbar_for_history\\r\\n    {\\r\\n        height: 100%;\\r\\n        background: #fff;\\r\\n        overflow-y: auto;\\r\\n    }\\r\\n\\r\\n    .scrollbar::-webkit-scrollbar-track\\r\\n    {\\r\\n        -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);\\r\\n        background-color: #fff;\\r\\n    }\\r\\n\\r\\n    .scrollbar::-webkit-scrollbar\\r\\n    {\\r\\n        width: 3px;\\r\\n        background-color: #222222;\\r\\n    }\\r\\n\\r\\n    .scrollbar::-webkit-scrollbar-thumb\\r\\n    {\\r\\n        background-color: #000000;\\r\\n    }\\r\\n\\r\\n</style>\\r\\n<footer [myLoading]=\\\"myLoading\\\" ></footer> \\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n\\r\\n        <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.search | translate}}</label>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"search_field\\\" [(ngModel)]=\\\"search_field\\\" name=\\\"search_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                       \\r\\n                        <option value=\\\"provider_detail.email\\\">{{title.filter_provider | translate}}</option>\\r\\n                        <option value=\\\"store_detail.email\\\">{{title.filter_store | translate}}</option>\\r\\n                        \\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n\\r\\n                        <input type=\\\"text\\\" class=\\\"form-control search_box\\\" [(ngModel)]=\\\"search_value\\\"  name=\\\"search_value\\\">\\r\\n                        <span class=\\\"input-group-addon search_icon\\\"><span class=\\\"fa fa-search\\\"></span></span>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.sort | translate}}</label>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"sort_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"sort_field\\\" [(ngModel)]=\\\"sort_field\\\" name=\\\"sort_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"unique_id\\\">{{title.filter_id}}</option>\\r\\n                        <option value=\\\"provider_detail.email\\\">{{title.filter_provider | translate}}</option>\\r\\n                        <option value=\\\"store_detail.eamil\\\">{{title.filter_store | translate}}</option>\\r\\n                        \\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"sort_orders\\\">\\r\\n\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"sort_transaction_history\\\" [(ngModel)]=\\\"sort_transaction_history\\\" name=\\\"sort_transaction_history\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"1\\\">{{title.ascending | translate}}</option>\\r\\n                        <option value=\\\"-1\\\">{{title.descending | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.date_filter | translate}}</label>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-12 remove_padding\\\">\\r\\n\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n                        <my-date-picker id=\\\"start_date\\\" [options]=\\\"helper.myStartDatePickerOptions\\\" placeholder=\\\"Start Date\\\" [(ngModel)]=\\\"start_date\\\" (dateChanged)=\\\"helper.onStartDateChanged($event)\\\"\\r\\n                                        readonly></my-date-picker>\\r\\n                        <span class=\\\"input-group-addon date_filter_icon\\\">To</span>\\r\\n\\r\\n                        <my-date-picker id=\\\"end_date\\\" [options]=\\\"helper.myEndDatePickerOptions\\\" placeholder=\\\"End Date\\\" [(ngModel)]=\\\"end_date\\\" (dateChanged)=\\\"helper.onEndDateChanged($event)\\\"\\r\\n                                        readonly></my-date-picker>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n<!--            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"transaction_history_export_excel()\\\" class=\\\"btn export_excel_btn pull-right\\\" value=\\\"{{button.export_excel}}\\\" >\\r\\n            </div>-->\\r\\n            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"transaction_history_export_csv()\\\" class=\\\"btn export_excel_btn pull-right\\\" value=\\\"{{button.export_excel}}\\\" >\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"transaction_history(1)\\\" class=\\\"btn filter_apply_btn pull-right\\\" value=\\\"{{button.apply | translate}}\\\" >\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n    </div>\\r\\n\\r\\n</div>\\r\\n<div class=\\\"wrapper wrapper-content content_top_bar_view1 animated fadeInRight \\\">\\r\\n\\r\\n    <div class=\\\"ibox\\\" *ngIf=\\\"transaction_history_list.length==0\\\">\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n            <div class=\\\"lable_center\\\" >\\r\\n                <label>No Records</label>\\r\\n            </div>\\r\\n        </div>  \\r\\n    </div>\\r\\n    <div class=\\\"ibox\\\" *ngIf=\\\"transaction_history_list.length>0\\\">\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n            <div class=\\\"table-responsive\\\">\\r\\n                <table class=\\\"table table-striped\\\">\\r\\n                    <thead>\\r\\n                        <tr>\\r\\n                            <th>{{title.ID | translate}}</th>\\r\\n                            <th>{{title.type | translate}}</th>\\r\\n                            <th>{{title.phone | translate}}</th>\\r\\n                            <th>{{title.date | translate}}</th>\\r\\n                            <th>{{title.country | translate}}</th>\\r\\n                            <th>{{title.currency | translate}}</th>\\r\\n                            <th>{{title.amount | translate}}</th>\\r\\n                            <th>{{title.transfer_status | translate}}</th>\\r\\n                            <th>{{title.transfered_by | translate}}</th>\\r\\n\\r\\n                        </tr>\\r\\n                    </thead>\\r\\n                    <tbody>\\r\\n                        <tr *ngFor=\\\"let transaction of transaction_history_list\\\">\\r\\n                            <td>{{transaction.unique_id}}</td>\\r\\n                            <td [ngSwitch]=\\\"transaction.user_type\\\">\\r\\n                                <div *ngSwitchCase=8>{{lable_title.provider}} ({{transaction.provider_detail[0].unique_id}})\\r\\n                                </div>\\r\\n                                <div *ngSwitchCase=2>{{lable_title.store}} ({{transaction.store_detail[0].unique_id}})\\r\\n                                </div>\\r\\n                            </td>\\r\\n                            <td [ngSwitch]=\\\"transaction.user_type\\\">\\r\\n                                <div *ngSwitchCase=8>{{transaction.provider_detail[0].phone}}\\r\\n                                </div>\\r\\n                                <div *ngSwitchCase=2>{{transaction.store_detail[0].phone}}\\r\\n                                </div>\\r\\n                            </td>\\r\\n                            <td>{{transaction.created_at| date: DATE_FORMAT.DD_MMM_YYYY}}</td>\\r\\n                            <td>{{transaction.country_details.country_name}}</td>\\r\\n\\r\\n                            <td [ngSwitch]=\\\"transaction.user_type\\\">\\r\\n                                <div *ngSwitchCase=8>{{transaction.provider_detail[0].wallet_currency_code}}\\r\\n                                </div>\\r\\n                                <div *ngSwitchCase=2>{{transaction.store_detail[0].wallet_currency_code}}\\r\\n                                </div>\\r\\n                            </td>\\r\\n                            <td>{{transaction.amount}}</td>\\r\\n                           \\r\\n                            <td [ngSwitch]=\\\"transaction.transfer_status\\\">\\r\\n                                <div *ngSwitchCase=1>{{title.transfer}}\\r\\n                                </div>\\r\\n                                <div *ngSwitchCase=0>Transfer Failed\\r\\n                                </div>\\r\\n                            </td>\\r\\n                            <td [ngSwitch]=\\\"transaction.transfered_by\\\">\\r\\n                                <div *ngSwitchCase=1>{{title.transfered_by_admin}}\\r\\n                                </div>\\r\\n                            </td>\\r\\n                            \\r\\n                        </tr>\\r\\n                    </tbody>\\r\\n                </table>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n        <div class=\\\"lable_center\\\">\\r\\n            <ul class=\\\"pagination\\\">\\r\\n                <li *ngIf=\\\"page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"transaction_history(page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page==index\\\">\\r\\n                    <a *ngIf=\\\"index==1 || index==total_page || index==page || index==page-1 || index==page+1\\\" (click)=\\\"transaction_history(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                    <a *ngIf=\\\"(index==1 && (page!==1 && page!==2 && page!==3)) || (index==total_page-1 && (page!==total_page && page!==total_page-1 && page!==total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n\\r\\n                </li>\\r\\n                <li *ngIf=\\\"page!==total_page && transaction_history_list.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"transaction_history(page+1)\\\">{{button.next | translate}}</a></li>\\r\\n            </ul>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/transaction_history/transaction_history.component.html\n// module id = 1644\n// module chunks = 0","module.exports = \"<p>\\r\\n  upload-document works!\\r\\n</p>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/upload_document/upload_document.component.html\n// module id = 1645\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div>\\r\\n                <label>{{title.search | translate}}</label>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"search_field\\\" [(ngModel)]=\\\"helper.router_id.user_filter.search_field\\\" name=\\\"search_field\\\" tabindex=\\\"4\\\">\\r\\n                        <option value=\\\"first_name\\\">{{title.filter_name | translate}}</option>\\r\\n                        <option value=\\\"email\\\">{{title.filter_email | translate}}</option>\\r\\n                        <option value=\\\"phone\\\">{{title.filter_phone | translate}}</option>\\r\\n                        <!-- <option value=\\\"unique_id\\\">{{title.unique_id | translate}}</option> -->\\r\\n                        <option value=\\\"country_name\\\">{{title.country | translate}}</option>\\r\\n                        <option value=\\\"city\\\">{{title.city | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n                        <input type=\\\"text\\\" class=\\\"form-control search_box\\\" [(ngModel)]=\\\"helper.router_id.user_filter.search_value\\\"  name=\\\"search_value\\\">\\r\\n                        <span (click)=\\\"filter(1)    \\\" class=\\\"input-group-addon search_icon\\\"><span class=\\\"fa fa-search\\\"></span></span>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"col-md-6 col-sm-6\\\">\\r\\n                <div>\\r\\n                    <label>{{title.no_of_record | translate}}</label>\\r\\n                </div>\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"number_of_rec\\\" [(ngModel)]=\\\"helper.router_id.user_filter.number_of_rec\\\" name=\\\"number_of_rec\\\" tabindex=\\\"4\\\">\\r\\n                        <option value=\\\"10\\\">10</option>\\r\\n                        <option value=\\\"20\\\">20</option>\\r\\n                        <option value=\\\"50\\\">50</option>\\r\\n                        <option value=\\\"100\\\">100</option>\\r\\n                        <option value=\\\"150\\\">150</option>\\r\\n                        <option value=\\\"300\\\">300</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <button type=\\\"button\\\" (click)=\\\"user_export_csv(helper.router_id.user_filter.user_page_type)\\\" class=\\\"btn export_excel_btn\\\">\\r\\n                    <span class=\\\"fa fa-file-excel-o\\\"></span>\\r\\n                </button>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n<div class=\\\"wrapper wrapper-content content_top_bar_view1 animated fadeInRight\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-8\\\">\\r\\n\\r\\n            <div class=\\\"ibox\\\" >\\r\\n                <div class=\\\"ibox-content\\\" style=\\\"padding-bottom: 40px;\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                            <ul class=\\\"nav nav-tabs\\\">\\r\\n                                <li (click)=\\\"change_page_type(1)\\\" [class.active]=\\\"helper.router_id.user_filter.user_page_type==1\\\" class=\\\"dsads uib-tab ng-scope ng-isolate-scope\\\" active=\\\"tab.active\\\">\\r\\n                                    <a class=\\\"ng-binding tab_selection\\\">{{helper.sub_menu_title.user | translate}}</a>\\r\\n                                </li>\\r\\n                                <li (click)=\\\"change_page_type(2)\\\" [class.active]=\\\"helper.router_id.user_filter.user_page_type==2\\\" class=\\\"uib-tab ng-scope ng-isolate-scope active\\\">\\r\\n                                    <a class=\\\"ng-binding tab_selection\\\">{{helper.sub_menu_title.block_user | translate}}</a>\\r\\n                                </li>\\r\\n                            </ul>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"lable_center\\\" *ngIf=\\\"user_list.length==0\\\">\\r\\n                        <label>No Records</label>\\r\\n                    </div>\\r\\n                    <div [hidden]=\\\"user_list.length==0\\\" class=\\\"table-responsive scrollbar\\\"  style=\\\"height: calc(100vh - 285px);overflow: auto;\\\">\\r\\n                        <table class=\\\"table\\\">\\r\\n                            <thead>\\r\\n                            <tr>\\r\\n                                <th>{{title.id | translate}}</th>\\r\\n                                <th>{{title.rate | translate}}</th>\\r\\n                                <th>{{title.name | translate}}</th>\\r\\n                                <th>{{title.email | translate}}</th>\\r\\n                                <th>{{title.phone | translate}}</th>\\r\\n                                <th>{{title.country | translate}}</th>\\r\\n                                <th>{{title.city | translate}}</th>\\r\\n                                <th>{{title.wallet | translate}}</th>\\r\\n                                <th>{{title.time | translate}}</th>\\r\\n                            </tr>\\r\\n                            </thead>\\r\\n                            <tbody>\\r\\n                            <tr *ngFor=\\\"let user of user_list\\\" [class.selected_tr]=\\\"user._id==user_detail._id\\\" (click)=\\\"get_user_detail(user._id)\\\">\\r\\n                                <td>{{user.unique_id}} </td>\\r\\n                                <td>{{(user.store_rate).toFixed(1)}} - {{user.provider_rate}}</td>\\r\\n                                <td>{{user.first_name}} {{user.last_name}} ({{user.total_order ? user.total_order: 0}})</td>\\r\\n                                <td>{{user.email}}</td>\\r\\n                                <td>{{user.country_phone_code}} {{user.phone}}</td>\\r\\n                                    <td>{{user.country_name}}</td>\\r\\n                                    <td>{{user.city}}</td>\\r\\n                                <td>{{user.wallet}} {{user.wallet_currency_code}}</td>\\r\\n                                <td>{{user.total_order_time ? user.total_order_time.toFixed(0): 0}}</td>\\r\\n                            </tr>\\r\\n                            </tbody>\\r\\n                        </table>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-12 col-sm-12\\\" style=\\\"margin-top: 5px;\\\">\\r\\n                        <div class=\\\"lable_center\\\">\\r\\n                            <ul class=\\\"pagination\\\">\\r\\n                                <li *ngIf=\\\"helper.router_id.user_filter.page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"filter(helper.router_id.user_filter.page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                                <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"helper.router_id.user_filter.page==index\\\">\\r\\n                                    <a *ngIf=\\\"index==1 || index==total_page || index==helper.router_id.user_filter.page || index==helper.router_id.user_filter.page-1 || index==helper.router_id.user_filter.page+1\\\" (click)=\\\"filter(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                                    <a *ngIf=\\\"(index==1 && (helper.router_id.user_filter.page!==1 && helper.router_id.user_filter.page!==2 && helper.router_id.user_filter.page!==3)) || (index==total_page-1 && (helper.router_id.user_filter.page!==total_page && helper.router_id.user_filter.page!==total_page-1 && helper.router_id.user_filter.page!==total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n                                </li>\\r\\n                                <li *ngIf=\\\"helper.router_id.user_filter.page!==total_page && user_list.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"filter(helper.router_id.user_filter.page+1)\\\">{{button.next | translate}}</a></li>\\r\\n                            </ul>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4\\\" *ngIf=\\\"user_detail._id\\\">\\r\\n            <div class=\\\"ibox \\\">\\r\\n\\r\\n                <div class=\\\"ibox-content user_fix_div scrollbar\\\" style=\\\"height: calc(100vh - 200px);overflow: auto;\\\">\\r\\n                    <div class=\\\"tab-content\\\">\\r\\n                        <div id=\\\"contact-1\\\" class=\\\"tab-pane active\\\" ng-show=\\\"client == 1\\\" ng-init=\\\"client = 1\\\">\\r\\n                            <div class=\\\"row m-b-lg\\\">\\r\\n                                <span *ngIf=\\\"is_edit && selected_tab==1\\\" class=\\\"fa fa-check pull-right\\\" (click)=\\\"update_user_detail()\\\"></span>\\r\\n                                    <div class=\\\"row no_margin\\\">\\r\\n                                        <div class=\\\"col-sm-3\\\" *ngIf=\\\"is_edit\\\">\\r\\n                                            <div class=\\\"text-center\\\">\\r\\n                                                <span  class=\\\"btn-file\\\"><img style=\\\"width: 80px; height: 80px;\\\" class=\\\"img-circle m-t-xs\\\" (error)=\\\"$event.target.src=helper.CONSTANT.IMAGE_BASE_URL + 'default.png'\\\" [src]=\\\"helper.CONSTANT.IMAGE_BASE_URL + user_detail.image_url\\\" alt=\\\"\\\">\\r\\n                                                    <input type=\\\"file\\\" (change)=\\\"change_image($event);\\\" accept=\\\"image/*\\\" name=\\\"image_url\\\">\\r\\n                                                </span>\\r\\n                                                <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"user_detail.country_phone_code\\\" #country_phone_code=\\\"ngModel\\\" name=\\\"country_phone_code\\\" style=\\\"margin-top: 14px;margin-left: 35px;\\\" />\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                        <div class=\\\"col-sm-12\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                                            <span *ngIf=\\\"!is_edit && selected_tab==1\\\" (click)=\\\"is_edit=true\\\" class=\\\"fa fa-pencil pull-right\\\"></span>\\r\\n                                            <div class=\\\"text-center\\\">\\r\\n                                                <img *ngIf=\\\"!is_edit\\\" alt=\\\"image\\\" style=\\\"width: 120px; height: 120px;\\\" class=\\\"img-circle m-t-xs\\\" (error)=\\\"$event.target.src=helper.CONSTANT.IMAGE_BASE_URL + 'default.png'\\\" [src]=\\\"helper.CONSTANT.IMAGE_BASE_URL + user_detail.image_url\\\">\\r\\n                                                <div style=\\\"margin-top: 10px;font-size: 18px;\\\">\\r\\n                                                    {{user_detail.first_name}} {{user_detail.last_name}} <span class=\\\"fa fa-star\\\" style=\\\"padding-left: 10px;\\\"></span> <span>{{((user_detail.provider_rate + user_detail.store_rate)/2)}}</span>\\r\\n                                                </div>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                        <div class=\\\"col-sm-8\\\" *ngIf=\\\"is_edit\\\">\\r\\n                                            <div class=\\\"col-lg-6 form-group\\\">\\r\\n                                                <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"user_detail.first_name\\\" #first_name=\\\"ngModel\\\" name=\\\"first_name\\\" />\\r\\n                                            </div>\\r\\n                                            <div class=\\\"col-lg-6 form-group\\\">\\r\\n                                                <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"user_detail.last_name\\\" #last_name=\\\"ngModel\\\" name=\\\"last_name\\\" />\\r\\n                                            </div>\\r\\n                                            <div class=\\\"col-lg-12 form-group\\\">\\r\\n                                                <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"user_detail.email\\\" #email=\\\"ngModel\\\" name=\\\"email\\\" />\\r\\n                                            </div>\\r\\n                                            <div class=\\\"col-lg-12 form-group\\\">\\r\\n                                                <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"user_detail.phone\\\" #phone=\\\"ngModel\\\" name=\\\"phone\\\" />\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"row no_margin\\\" *ngIf=\\\"!is_edit\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                                        <div class=\\\"col-md-3 remove_right_padding\\\">\\r\\n                                            <button (click)=\\\"open_modal(type,user_detail._id)\\\" type=\\\"button\\\" class=\\\"btn btn-light_black btn-sm btn-block\\\" tooltip=\\\"{{helper.button.add_wallet | translate}}\\\"\\r\\n                                                    [tooltipDisabled]=\\\"false\\\"\\r\\n                                                    [tooltipAnimation]=\\\"true\\\"\\r\\n                                                    tooltipPlacement=\\\"top\\\">\\r\\n                                                <i class=\\\"fa fa-plus\\\"></i>\\r\\n                                            </button>\\r\\n                                        </div>\\r\\n                                        <div class=\\\"col-md-3 remove_left_right_padding\\\">\\r\\n                                            <button (click)=\\\"open_sms_modal(type,user_detail._id)\\\" type=\\\"button\\\" class=\\\"btn btn-light_black btn-sm btn-block\\\" tooltip=\\\"{{helper.button.send_sms | translate}}\\\"\\r\\n                                                    [tooltipDisabled]=\\\"false\\\"\\r\\n                                                    [tooltipAnimation]=\\\"true\\\"\\r\\n                                                    tooltipPlacement=\\\"top\\\">\\r\\n                                                <i class=\\\"fa fa-comments\\\"></i>\\r\\n                                            </button>\\r\\n                                        </div>\\r\\n                                        <div class=\\\"col-md-3 remove_left_right_padding\\\">\\r\\n                                            <button (click)=\\\"open_notification_modal(type,user_detail._id)\\\" type=\\\"button\\\" class=\\\"btn btn-light_black btn-sm btn-block\\\" tooltip=\\\"{{helper.button.send_notification | translate}}\\\"\\r\\n                                                    [tooltipDisabled]=\\\"false\\\"\\r\\n                                                    [tooltipAnimation]=\\\"true\\\"\\r\\n                                                    tooltipPlacement=\\\"top\\\">\\r\\n                                                <i class=\\\"fa fa-bell\\\"></i>\\r\\n                                            </button>\\r\\n                                        </div>\\r\\n                                        <div class=\\\"col-md-3 remove_left_padding\\\" *ngIf=\\\"!user_detail.is_approved\\\">\\r\\n                                            <button (click)=\\\"approved_decline(helper.router_id.user_filter.user_page_type,user_detail._id)\\\" type=\\\"button\\\" class=\\\"btn btn-light_black btn-sm btn-block\\\" tooltip=\\\"{{helper.button.approved | translate}}\\\"\\r\\n                                                    [tooltipDisabled]=\\\"false\\\"\\r\\n                                                    [tooltipAnimation]=\\\"true\\\"\\r\\n                                                    tooltipPlacement=\\\"top\\\">\\r\\n                                                <i class=\\\"fa fa-check\\\"></i>\\r\\n                                            </button>\\r\\n                                        </div>\\r\\n                                        <div class=\\\"col-md-3 remove_left_padding\\\" *ngIf=\\\"user_detail.is_approved\\\">\\r\\n                                            <button (click)=\\\"approved_decline(helper.router_id.user_filter.user_page_type,user_detail._id)\\\" type=\\\"button\\\" class=\\\"btn btn-light_black btn-sm btn-block\\\" tooltip=\\\"{{helper.button.decline | translate}}\\\"\\r\\n                                                    [tooltipDisabled]=\\\"false\\\"\\r\\n                                                    [tooltipAnimation]=\\\"true\\\"\\r\\n                                                    tooltipPlacement=\\\"top\\\">\\r\\n                                                <i class=\\\"fa fa-ban\\\"></i>\\r\\n                                            </button>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"client-detail\\\">\\r\\n                                <div class=\\\"full-height-scroll\\\">\\r\\n\\r\\n                                    <ul class=\\\"nav nav-tabs\\\">\\r\\n                                        <li (click)=\\\"selected_tab=1\\\" [class.active]=\\\"selected_tab==1\\\" class=\\\"dsads uib-tab ng-scope ng-isolate-scope\\\" active=\\\"tab.active\\\">\\r\\n                                            <a class=\\\"ng-binding tab_selection\\\">{{helper.title.details | translate}}</a>\\r\\n                                        </li>\\r\\n                                        <li (click)=\\\"get_document_list()\\\" [class.active]=\\\"selected_tab==2\\\" class=\\\"uib-tab ng-scope ng-isolate-scope active\\\">\\r\\n                                            <a class=\\\"ng-binding tab_selection\\\">{{helper.button.view_document | translate}}</a>\\r\\n                                        </li>\\r\\n                                        <li (click)=\\\"get_referral_history()\\\" [class.active]=\\\"selected_tab==3\\\" class=\\\"uib-tab ng-scope ng-isolate-scope active\\\">\\r\\n                                            <a class=\\\"ng-binding tab_selection\\\">{{helper.button.referral | translate}}</a>\\r\\n                                        </li>\\r\\n                                        <li (click)=\\\"get_review_history()\\\" [class.active]=\\\"selected_tab==4\\\" class=\\\"uib-tab ng-scope ng-isolate-scope active\\\">\\r\\n                                            <a class=\\\"ng-binding tab_selection\\\">{{helper.button.reviews | translate}}</a>\\r\\n                                        </li>\\r\\n                                    </ul>\\r\\n                                    <ul class=\\\"list-group clear-list\\\" *ngIf=\\\"selected_tab==1\\\">\\r\\n                                        <li class=\\\"list-group-item\\\">\\r\\n                                            <span class=\\\"pull-right\\\" *ngIf=\\\"user_detail.created_host\\\">{{user_detail.created_host}}</span>\\r\\n                                            <span class=\\\"pull-right\\\" *ngIf=\\\"!user_detail.created_host\\\">{{user_detail.device_type + \\\" - \\\" +  user_detail.app_version}}</span>\\r\\n                                            Provenance\\r\\n                                        </li>\\r\\n                                        <li class=\\\"list-group-item\\\">\\r\\n                                            <span class=\\\"pull-right\\\">{{user_detail.created_at | date: helper.DATE_FORMAT.DD_MMM_YYYY_HH_MM_A}}</span>\\r\\n                                            {{title.registered_date | translate}}\\r\\n                                        </li>\\r\\n                                        <li class=\\\"list-group-item \\\">\\r\\n                                            <span class=\\\"pull-right \\\"><ui-switch  [(ngModel)]=\\\"user_detail.is_phone_number_verified\\\" #is_phone_number_verified=\\\"ngModel\\\" name=\\\"is_phone_number_verified\\\" [disabled]=\\\"!is_edit\\\"></ui-switch></span>\\r\\n                                            {{title.phone_number_verified | translate}}\\r\\n                                        </li>\\r\\n                                        <li class=\\\"list-group-item \\\">\\r\\n                                            <span class=\\\"pull-right \\\"><ui-switch  [(ngModel)]=\\\"user_detail.is_email_verified\\\" #is_email_verified=\\\"ngModel\\\" name=\\\"is_email_verified\\\" [disabled]=\\\"!is_edit\\\"></ui-switch></span>\\r\\n                                            {{title.email_verified | translate}}\\r\\n                                        </li>\\r\\n                                        <li class=\\\"list-group-item \\\">\\r\\n                                            <span class=\\\"pull-right \\\"><ui-switch  [(ngModel)]=\\\"user_detail.is_document_uploaded\\\" #is_document_uploaded=\\\"ngModel\\\" name=\\\"is_document_uploaded\\\" disabled></ui-switch></span>\\r\\n                                            {{title.is_document_uploaded | translate}}\\r\\n                                        </li>\\r\\n                                        <li class=\\\"list-group-item \\\">\\r\\n                                            <span class=\\\"pull-right \\\"><ui-switch  [(ngModel)]=\\\"user_detail.is_use_wallet\\\" #is_use_wallet=\\\"ngModel\\\" name=\\\"is_use_wallet\\\" disabled></ui-switch></span>\\r\\n                                            {{title.is_use_wallet | translate}}\\r\\n                                        </li>\\r\\n                                    </ul>\\r\\n\\r\\n                                    <div class=\\\"row no_margin\\\" *ngIf=\\\"selected_tab==1\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                                        <div class=\\\"col-md-4 remove_right_padding\\\" (click)=\\\"view_user_history()\\\">\\r\\n                                            <button type=\\\"button\\\" class=\\\"btn btn-light_black btn-sm btn-block\\\">\\r\\n                                                {{button.summary | translate}}\\r\\n                                            </button>\\r\\n                                        </div>\\r\\n                                        <div class=\\\"col-md-4 remove_right_padding\\\" (click)=\\\"review_export_csv()\\\">\\r\\n                                            <button type=\\\"button\\\" class=\\\"btn btn-light_black btn-sm btn-block\\\">\\r\\n                                                {{button.export_review | translate}}\\r\\n                                            </button>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n\\r\\n                                    <div *ngIf=\\\"selected_tab==2\\\" style=\\\"margin-top: 20px;\\\">\\r\\n                                            <div class=\\\"table-responsive\\\">\\r\\n                                                <table class=\\\"table\\\">\\r\\n                                                    <tr>\\r\\n                                                        <td></td>\\r\\n                                                        <td>{{title.name | translate}}</td>\\r\\n                                                        <td style=\\\"width: 25%;\\\">{{title.unique_code | translate}}</td>\\r\\n                                                        <td style=\\\"width: 25%;\\\">{{title.expiry_date | translate}}</td>\\r\\n                                                        <td></td>\\r\\n                                                    </tr>\\r\\n                                                    <tr *ngFor=\\\"let document of document_list; let document_index=index;\\\">\\r\\n                                                        <td class=\\\"client-avatar\\\" (click)=\\\"show_full_image(document.image_url, document_index)\\\">\\r\\n                                                            <span *ngIf=\\\"edit_document[document_index]=='true'\\\" class=\\\"btn-file\\\">\\r\\n                                                                <img style=\\\"width: 20px; height: 20px;\\\" src=\\\"{{helper.CONSTANT.IMAGE_BASE_URL + 'default.png'}}\\\" class=\\\"document{{document_index}}\\\">\\r\\n                                                                <input type=\\\"file\\\" (change)=\\\"image_update($event , document_index);\\\" name=\\\"image\\\">\\r\\n                                                            </span>\\r\\n                                                            <img *ngIf=\\\"edit_document[document_index]!=='true'\\\" style=\\\"width: 20px; height: 20px; \\\" src=\\\"{{helper.CONSTANT.IMAGE_BASE_URL + 'default.png'}}\\\" class=\\\"document{{document_index}}\\\">\\r\\n                                                        </td>\\r\\n                                                        <td>{{document.document_details.document_name}}</td>\\r\\n                                                        <td>\\r\\n                                                            <div *ngIf=\\\"document.document_details.is_unique_code && edit_document[document_index]=='true'\\\">\\r\\n                                                                <input type=\\\"text\\\" [(ngModel)]=\\\"documentlist.unique_code\\\" #unique_code=\\\"ngModel\\\"  name=\\\"unique_code\\\" style=\\\"border-radius: 5px;border-color: #060606;height: 30px;\\\" class=\\\"form-control\\\" value=\\\"{{document.unique_code}}\\\"><br>\\r\\n                                                            </div>\\r\\n                                                            <span *ngIf=\\\"edit_document[document_index]!=='true' && document.document_details.is_unique_code\\\">{{document.unique_code}}</span></td>\\r\\n                                                        <td>\\r\\n                                                            <div *ngIf=\\\"document.document_details.is_expired_date && edit_document[document_index]=='true'\\\">\\r\\n                                                                <my-date-picker [(ngModel)]=\\\"documentlist.expired_date\\\" #expired_date=\\\"ngModel\\\"  name=\\\"expired_date\\\" id=\\\"expiry_date\\\" value=\\\"\\\" [options]=\\\"helper.ExpiryDatePickerOptions\\\" placeholder=\\\"{{title.exp_date | translate}}\\\" readonly></my-date-picker>\\r\\n                                                            </div>\\r\\n                                                            <span *ngIf=\\\"edit_document[document_index]!=='true' && document.document_details.is_expired_date\\\">{{document.expired_date | date: \\\"MM-dd-yyyy\\\"}}</span></td>\\r\\n                                                        <td>\\r\\n                                                            <span *ngIf=\\\"edit_document[document_index]!=='true'\\\" class=\\\"fa fa-pencil pull-right\\\" (click)=\\\"editDocument(document , document_index)\\\"></span>\\r\\n                                                            <span *ngIf=\\\"edit_document[document_index]=='true'\\\" class=\\\"fa fa-check pull-right\\\" (click)=\\\"updateDocument(document , document_index)\\\"></span>\\r\\n                                                        </td>\\r\\n                                                    </tr>\\r\\n                                                </table>\\r\\n                                            </div>\\r\\n                                    </div>\\r\\n                                    <div *ngIf=\\\"selected_tab==3\\\" style=\\\"margin-top: 20px;\\\">\\r\\n                                        <div class=\\\"row\\\">\\r\\n                                            <div class=\\\"col-md-12\\\"><label>{{title.referral_code | translate}}: </label>\\r\\n                                                <span style=\\\"margin-left: 10px;\\\">{{user_detail.referral_code}}</span>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                        <div class=\\\"row\\\" style=\\\"margin-top: 10px;\\\" *ngIf=\\\"user_detail.referred_user_details\\\">\\r\\n                                            <div class=\\\"col-md-12\\\"><label>{{title.referred_by | translate}}</label></div>\\r\\n                                            <div class=\\\"col-md-4\\\">\\r\\n                                                <img style=\\\"width: 40px; height: 40px;\\\" class=\\\"img-circle m-t-xs\\\" (error)=\\\"$event.target.src=helper.CONSTANT.IMAGE_BASE_URL + 'default.png'\\\" [src]=\\\"helper.CONSTANT.IMAGE_BASE_URL + user_detail.referred_user_details.image_url\\\" />\\r\\n                                            </div>\\r\\n                                            <div class=\\\"col-md-8\\\">\\r\\n                                                <div>{{title.id | translate}}: {{user_detail.referred_user_details.unique_id}}</div>\\r\\n                                                <div>{{title.name | translate}}: {{user_detail.referred_user_details.first_name}} {{user_detail.referred_user_details.last_name}}</div>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                        <div class=\\\"row\\\" style=\\\"margin-top: 10px;\\\" *ngIf=\\\"referral_history.length>0\\\">\\r\\n                                            <div class=\\\"col-md-12\\\"><label>{{title.referred_to | translate}}: </label>\\r\\n                                                <span style=\\\"margin-left: 10px;\\\">{{referral_history.length}} {{title.people | translate}}</span>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                        <div class=\\\"row col-md-12\\\" *ngIf=\\\"referral_history.length>0\\\">\\r\\n                                            <div class=\\\"table-responsive\\\">\\r\\n                                                <table class=\\\"table\\\">\\r\\n                                                    <tr>\\r\\n                                                        <td></td>\\r\\n                                                        <td>{{title.id | translate}}</td>\\r\\n                                                        <td>{{title.name | translate}}</td>\\r\\n                                                    </tr>\\r\\n                                                    <tr *ngFor=\\\"let referral of referral_history;\\\">\\r\\n                                                        <td class=\\\"client-avatar\\\"><img alt=\\\"image\\\" (error)=\\\"$event.target.src=helper.CONSTANT.IMAGE_BASE_URL + 'default.png'\\\" [src]=\\\"helper.CONSTANT.IMAGE_BASE_URL + referral.image_url\\\"></td>\\r\\n                                                        <td>{{referral.unique_id}}</td>\\r\\n                                                        <td>{{referral.first_name}} {{referral.last_name}}</td>\\r\\n                                                    </tr>\\r\\n                                                </table>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n\\r\\n                                    <div *ngIf=\\\"selected_tab==4\\\" style=\\\"margin-top: 20px;\\\">\\r\\n                                        <div *ngFor=\\\"let review of review_list;\\\">\\r\\n                                            <div *ngIf=\\\"review.store_rating_to_user>0 && review.store_detail\\\" class=\\\"row form-group\\\">\\r\\n                                                <div class=\\\"col-md-3 col-xs-3\\\">\\r\\n                                                    <img class=\\\"img-circle\\\" (error)=\\\"$event.target.src=helper.CONSTANT.IMAGE_BASE_URL + 'default.png'\\\" [src]=\\\"helper.CONSTANT.IMAGE_BASE_URL + review.store_detail.image_url\\\" style=\\\"width: 80px; height: 80px;\\\">\\r\\n                                                </div>\\r\\n                                                <div class=\\\"col-md-8 col-xs-8\\\">\\r\\n                                                    <div style=\\\"display: inline;\\\" *ngFor=\\\"let rate of Array(review.store_rating_to_user)\\\"><span class=\\\"fa fa-star rating_star\\\"></span></div>\\r\\n                                                    <div style=\\\"font-size: 15px;\\\">{{helper.title.reviewed_by}}: {{review.store_detail.name}}\\r\\n                                                        <span style=\\\"font-size: 12px;\\\">({{title.order_id | translate}}: {{review.order_unique_id}})</span>\\r\\n                                                    </div>\\r\\n                                                    <div style=\\\"font-size: 15px;color: black;\\\">{{review.store_review_to_user}}</div>\\r\\n                                                </div>\\r\\n                                            </div>\\r\\n                                            <div *ngIf=\\\"review.provider_rating_to_user>0 && review.provider_detail\\\" class=\\\"row form-group\\\">\\r\\n                                                <div class=\\\"col-md-3 col-xs-3\\\">\\r\\n                                                    <img class=\\\"img-circle\\\" (error)=\\\"$event.target.src=helper.CONSTANT.IMAGE_BASE_URL + 'default.png'\\\" [src]=\\\"helper.CONSTANT.IMAGE_BASE_URL + review.provider_detail.image_url\\\" style=\\\"width: 80px; height: 80px;\\\">\\r\\n                                                </div>\\r\\n                                                <div class=\\\"col-md-8 col-xs-8\\\">\\r\\n                                                    <div style=\\\"display: inline;\\\" *ngFor=\\\"let rate of Array(review.provider_rating_to_user)\\\"><span class=\\\"fa fa-star rating_star\\\"></span></div>\\r\\n                                                    <div style=\\\"font-size: 15px;\\\">{{helper.title.reviewed_by}} {{review.provider_detail.first_name}} {{review.provider_detail.last_name}}\\r\\n                                                        <span style=\\\"font-size: 12px;\\\">({{title.order_id | translate}}: {{review.order_unique_id}})</span>\\r\\n                                                    </div>\\r\\n                                                    <div style=\\\"font-size: 15px;color: black;\\\">{{review.provider_review_to_user}}</div>\\r\\n                                                </div>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n\\r\\n</div>\\r\\n\\r\\n<modal cssClass=\\\"modal-sm\\\" #document_full_image>\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n        <div>\\r\\n            <img style=\\\"width: 100%; height: 100%;\\\" src=\\\"{{helper.CONSTANT.IMAGE_BASE_URL + 'default.png'}}\\\" class=\\\"document{{selected_document_index}}\\\">\\r\\n        </div>\\r\\n    </modal-body>\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-sm\\\" #myModal>\\r\\n    <form #modalForm=\\\"ngForm\\\" (ngSubmit)=\\\"AddWallet(modalForm.value)\\\">\\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <h4 class=\\\"modal-title\\\">{{heading_title.add_wallet_amount | translate}}</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div class=\\\"row\\\">\\r\\n                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"type\\\"   name=\\\"type\\\"  />\\r\\n                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"user_id\\\"   name=\\\"user_id\\\"  />\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                    <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                        <div class=\\\"form-group\\\" >\\r\\n\\r\\n                            <label style=\\\"font-weight: normal;\\\"><strong>{{title.amount | translate}}</strong></label>\\r\\n                            <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"wallet\\\" (keypress)=\\\"helper.number_validation1($event)\\\" maxlength=\\\"8\\\" name=\\\"wallet\\\" required>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{button.save | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\\r\\n\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl\\\" #mysmsModal>\\r\\n    <form #modalSmsForm=\\\"ngForm\\\" (ngSubmit)=\\\"SendSms(modalSmsForm.value)\\\">\\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <h4 class=\\\"modal-title\\\">{{heading_title.admin_sms | translate}}</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div class=\\\"row\\\">\\r\\n                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"type\\\"   name=\\\"type\\\"  />\\r\\n                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"user_id\\\"   name=\\\"user_id\\\"  />\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                    <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                        <div class=\\\"form-group\\\" >\\r\\n\\r\\n                            <label style=\\\"font-weight: normal;\\\"><strong>{{title.content | translate}}</strong></label>\\r\\n                            <textarea class=\\\"form-control\\\" [(ngModel)]=\\\"content\\\"   name=\\\"content\\\" required ></textarea>\\r\\n\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{button.send | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\\r\\n\\r\\n\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl\\\" #mynotificationModal>\\r\\n    <form #modalNotificationForm=\\\"ngForm\\\" (ngSubmit)=\\\"SendNotification(modalNotificationForm.value)\\\">\\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <h4 class=\\\"modal-title\\\">{{heading_title.admin_send_notification | translate}}</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div class=\\\"row\\\">\\r\\n                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"type\\\"   name=\\\"type\\\"  />\\r\\n                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"user_id\\\"   name=\\\"user_id\\\"  />\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                    <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                        <div class=\\\"form-group\\\" >\\r\\n\\r\\n                            <label style=\\\"font-weight: normal;\\\"><strong>{{title.notification_content | translate}}</strong></label>\\r\\n                            <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"content\\\" name=\\\"content\\\" required />\\r\\n\\r\\n\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{button.send | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/user/user.component.html\n// module id = 1646\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n    <div class=\\\"col-md-2\\\">\\r\\n    </div>\\r\\n        <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n            <div>\\r\\n                <label>{{title.date_filter | translate}}</label>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-12 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n\\r\\n                        <my-date-picker id=\\\"start_date\\\" [options]=\\\"helper.myStartDatePickerOptions\\\" placeholder=\\\"Start Date\\\" [(ngModel)]=\\\"start_date\\\" (dateChanged)=\\\"helper.onStartDateChanged($event)\\\"\\r\\n                                        readonly></my-date-picker>\\r\\n                        <span class=\\\"input-group-addon date_filter_icon\\\">{{button.to}}</span>\\r\\n\\r\\n                        <my-date-picker id=\\\"end_date\\\" [options]=\\\"helper.myEndDatePickerOptions\\\" placeholder=\\\"End Date\\\" [(ngModel)]=\\\"end_date\\\" (dateChanged)=\\\"helper.onEndDateChanged($event)\\\"\\r\\n                                        readonly></my-date-picker>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n    \\r\\n        <div class=\\\"col-md-3 col-sm-12 remove_padding\\\">\\r\\n            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <button type=\\\"button\\\" (click)=\\\"history()\\\" class=\\\"btn filter_apply_btn\\\" style=\\\"width: unset;\\\">\\r\\n                    {{button.apply | translate}}\\r\\n                </button>\\r\\n            </div>\\r\\n            \\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n<div class=\\\"wrapper content_top_bar_view1 wrapper-content\\\">\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-12\\\">\\r\\n            <div class=\\\"ibox \\\">\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"tab-content\\\">\\r\\n                        <div id=\\\"contact-1\\\" class=\\\"tab-pane active\\\" ng-show=\\\"client == 1\\\" ng-init=\\\"client = 1\\\">\\r\\n                            <div class=\\\"row m-b-lg\\\">\\r\\n                                    <div class=\\\"row no_margin\\\">\\r\\n                                        \\r\\n                                        <div class=\\\"col-sm-12\\\">\\r\\n                                            <div class=\\\"text-center\\\">\\r\\n                                                <img alt=\\\"image\\\" style=\\\"width: 120px; height: 120px;\\\" class=\\\"img-circle m-t-xs\\\" src=\\\"{{user_detail.image_url != '' ? helper.CONSTANT.IMAGE_BASE_URL + user_detail.image_url : 'default.png'}}\\\">\\r\\n                                                <div style=\\\"margin-top: 10px;font-size: 18px;\\\">\\r\\n                                                    {{user_detail.first_name}} {{user_detail.last_name}} <span class=\\\"fa fa-star\\\" style=\\\"padding-left: 10px;\\\"></span> <span>{{((user_detail.provider_rate + user_detail.store_rate)/2)}}</span>\\r\\n                                                </div>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"row col-md-4 no_margin\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                                    </div>\\r\\n                                    <div class=\\\"row col-md-4 no_margin\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                                        <div class=\\\"col-md-3 remove_right_padding\\\">\\r\\n                                            <button (click)=\\\"open_modal(type,user_detail._id)\\\" type=\\\"button\\\" class=\\\"btn btn-light_black btn-sm btn-block\\\" tooltip=\\\"{{helper.button.add_wallet | translate}}\\\"\\r\\n                                                    [tooltipDisabled]=\\\"false\\\"\\r\\n                                                    [tooltipAnimation]=\\\"true\\\"\\r\\n                                                    tooltipPlacement=\\\"top\\\">\\r\\n                                                <i class=\\\"fa fa-plus\\\"></i>\\r\\n                                            </button>\\r\\n                                        </div>\\r\\n                                        <div class=\\\"col-md-3 remove_left_right_padding\\\">\\r\\n                                            <button (click)=\\\"open_sms_modal(type,user_detail._id)\\\" type=\\\"button\\\" class=\\\"btn btn-light_black btn-sm btn-block\\\" tooltip=\\\"{{helper.button.send_sms | translate}}\\\"\\r\\n                                                    [tooltipDisabled]=\\\"false\\\"\\r\\n                                                    [tooltipAnimation]=\\\"true\\\"\\r\\n                                                    tooltipPlacement=\\\"top\\\">\\r\\n                                                <i class=\\\"fa fa-comments\\\"></i>\\r\\n                                            </button>\\r\\n                                        </div>\\r\\n                                        <div class=\\\"col-md-3 remove_left_right_padding\\\">\\r\\n                                            <button (click)=\\\"open_notification_modal(type,user_detail._id)\\\" type=\\\"button\\\" class=\\\"btn btn-light_black btn-sm btn-block\\\" tooltip=\\\"{{helper.button.send_notification | translate}}\\\"\\r\\n                                                    [tooltipDisabled]=\\\"false\\\"\\r\\n                                                    [tooltipAnimation]=\\\"true\\\"\\r\\n                                                    tooltipPlacement=\\\"top\\\">\\r\\n                                                <i class=\\\"fa fa-bell\\\"></i>\\r\\n                                            </button>\\r\\n                                        </div>\\r\\n                                        <div class=\\\"col-md-3 remove_left_padding\\\" *ngIf=\\\"!user_detail.is_approved\\\">\\r\\n                                            <button (click)=\\\"approved_decline(2,user_detail._id)\\\" type=\\\"button\\\" class=\\\"btn btn-light_black btn-sm btn-block\\\" tooltip=\\\"{{helper.button.approved | translate}}\\\"\\r\\n                                                    [tooltipDisabled]=\\\"false\\\"\\r\\n                                                    [tooltipAnimation]=\\\"true\\\"\\r\\n                                                    tooltipPlacement=\\\"top\\\">\\r\\n                                                <i class=\\\"fa fa-check\\\"></i>\\r\\n                                            </button>\\r\\n                                        </div>\\r\\n                                        <div class=\\\"col-md-3 remove_left_padding\\\" *ngIf=\\\"user_detail.is_approved\\\">\\r\\n                                            <button (click)=\\\"approved_decline(1,user_detail._id)\\\" type=\\\"button\\\" class=\\\"btn btn-light_black btn-sm btn-block\\\" tooltip=\\\"{{helper.button.decline | translate}}\\\"\\r\\n                                                    [tooltipDisabled]=\\\"false\\\"\\r\\n                                                    [tooltipAnimation]=\\\"true\\\"\\r\\n                                                    tooltipPlacement=\\\"top\\\">\\r\\n                                                <i class=\\\"fa fa-ban\\\"></i>\\r\\n                                            </button>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"row\\\" style=\\\"margin-top: 50px;\\\">\\r\\n                                <div class=\\\"col-md-4\\\">\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <label>{{title.app_version | translate}}</label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <span *ngIf=\\\"user_detail.device_type\\\">{{user_detail.device_type}}</span> - <span *ngIf=\\\"user_detail.app_version\\\">{{user_detail.app_version}}</span>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-4\\\">\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <label>{{title.email | translate}}</label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <span>{{user_detail.email}}</span>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-4\\\">\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <label>{{title.total_completed_orders | translate}}</label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <span>{{earning_order_total.total_completed_orders}}</span>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-4\\\">\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <label>{{title.registered_date | translate}}</label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <span>{{user_detail.created_at | date: helper.DATE_FORMAT.DD_MMM_YYYY_HH_MM_A}}</span>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-4\\\">\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <label>{{title.phone | translate}}</label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <span>{{user_detail.country_phone_code}} {{user_detail.phone}}</span>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-4\\\">\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <label>{{title.total_order_amount | translate}}</label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <span>{{(earning_order_total.total.toFixed(2))}}</span>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-4\\\">\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <label>{{title.wallet | translate}}</label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <span>{{user_detail.wallet}} {{user_detail.wallet_currency_code}}</span>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-4\\\">\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <label>{{title.country | translate}}</label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <span>{{user_detail.country_name}}</span>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"ibox\\\" *ngIf=\\\"earning_order_list.length>0\\\">\\r\\n            <div class=\\\"ibox-content\\\" style=\\\"overflow-x: scroll;\\\">\\r\\n                <div class=\\\"table-responsive\\\">\\r\\n                    <table class=\\\"table table-striped\\\">\\r\\n                        <thead>\\r\\n                            <tr>\\r\\n                                <th>{{title.ID | translate}}</th>\\r\\n                                <th>{{title.completed_at | translate}}</th>\\r\\n                                <th>{{title.provider | translate}}</th>\\r\\n                                <th>{{title.store | translate}}</th>\\r\\n                                <th>{{title.payment_by | translate}}</th>\\r\\n                                <th>{{title.currency | translate}}</th>\\r\\n                                <th>{{title.total | translate}}</th>\\r\\n                                <th>{{title.admin_earning | translate}}</th>\\r\\n                                <th>{{title.provider_earning | translate}}</th>\\r\\n                                <th>{{title.earning_pay_provider | translate}}</th>\\r\\n                                <th>{{title.provider_income_set_in_wallet | translate}}</th>\\r\\n                                <th>{{title.store_earn | translate}}</th>\\r\\n                                <th>{{title.pay_store | translate}}</th>\\r\\n                                <th>{{title.store_income_set_in_wallet | translate}}</th>\\r\\n\\r\\n                                <th>{{title.action | translate}}</th>\\r\\n                            </tr>\\r\\n                        </thead>\\r\\n                        <tbody>\\r\\n\\r\\n                            <tr *ngFor=\\\"let order of earning_order_list; let index=index; let last=last;\\\">\\r\\n                                <td>{{order.unique_id}}</td>\\r\\n                                <td>{{order.completed_at| date: helper.DATE_FORMAT.DD_MMM_YYYY}}</td>\\r\\n                                <td>{{order.provider_first_name}} {{order.provider_last_name}}</td>\\r\\n\\r\\n\\r\\n                                <td>{{order.store_name}}</td>\\r\\n                                <td [ngSwitch]=\\\"order.order_payment_detail.is_payment_mode_cash\\\">\\r\\n                                    <div *ngSwitchCase=\\\"true\\\"><span class=\\\"label label-primary_new\\\">{{helper.lable_title.cash}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"false\\\"><span class=\\\"label label-danger\\\">{{helper.lable_title.card}}</span></div>\\r\\n                                </td>\\r\\n\\r\\n\\r\\n                                <td>{{order.currency}}</td>\\r\\n                                <td>{{((+order.order_payment_detail.total_delivery_price + +order.order_payment_detail.total_order_price).toFixed(2)) }}</td>\\r\\n                                <td>{{((+order.order_payment_detail.total_admin_profit_on_delivery + +order.order_payment_detail.total_admin_profit_on_store).toFixed(2)) }}</td>\\r\\n                                <td>{{order.order_payment_detail.total_provider_income}}</td>\\r\\n                                <td>{{((order.order_payment_detail.pay_to_provider).toFixed(2))}}</td>\\r\\n                                <td>{{order.order_payment_detail.provider_income_set_in_wallet}}</td>\\r\\n                                <td>{{order.order_payment_detail.total_store_income}}</td>\\r\\n                                <td>{{((order.order_payment_detail.pay_to_store).toFixed(2))}}</td>\\r\\n                                <td>{{(order.order_payment_detail.store_income_set_in_wallet).toFixed(2)}}</td>\\r\\n\\r\\n                                <td><div class=\\\"dropdown pull-right\\\" [class.dropup]=\\\"last && !index==0\\\" dropdown>\\r\\n                                        <button class=\\\"btn btn-primary\\\" dropdown-open>{{title.action | translate}}<span class=\\\"caret\\\"></span></button>\\r\\n\\r\\n\\r\\n                                        <ul class=\\\"dropdown-menu\\\">\\r\\n                                            <li><a (click)=\\\"viewOrderEarningDetail(order._id)\\\"><span style=\\\"display:block;\\\" class=\\\"nav-label\\\">{{button.view_detail | translate}}</span> </a></li>\\r\\n                                        </ul>\\r\\n                                    </div>\\r\\n                                </td>\\r\\n\\r\\n                            </tr>\\r\\n                        </tbody>\\r\\n                    </table>\\r\\n                    <div class=\\\"col-md-12 col-sm-12\\\" style=\\\"margin-top: 6px;\\\">\\r\\n                        <div class=\\\"lable_center\\\">\\r\\n\\r\\n                            <ul class=\\\"pagination\\\">\\r\\n                                <li *ngIf=\\\"earning_page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"order_earning(earning_page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                                <li *ngFor=\\\"let index of earning_total_pages\\\" [class.active]=\\\"earning_page==index\\\">\\r\\n                                    <a *ngIf=\\\"index==1 || index==earning_total_page || index==earning_page || index==earning_page-1 || index==earning_page+1\\\" (click)=\\\"order_earning(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                                    <a *ngIf=\\\"(index==1 && (earning_page!==1 && earning_page!==2 && earning_page!==3)) || (index==earning_total_page-1 && (earning_page!==earning_total_page && earning_page!==earning_total_page-1 && earning_page!==earning_total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n\\r\\n                                </li>\\r\\n                                <li *ngIf=\\\"earning_page!==earning_total_page && earning_order_list.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"order_earning(earning_page+1)\\\">{{button.next | translate}}</a></li>\\r\\n                            </ul>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        \\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-8\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-content\\\" style=\\\"padding-bottom: 40px;\\\">\\r\\n                    <div class=\\\"table-responsive scrollbar\\\" style=\\\"height: calc(100vh - 255px);overflow: auto;\\\">\\r\\n                        <table class=\\\"table\\\">\\r\\n                            <thead>\\r\\n                            <tr>\\r\\n                                <th>{{title.id | translate}}</th>\\r\\n                                <th>{{title.provider | translate}}</th>\\r\\n                                <th>{{title.store | translate}}</th>\\r\\n                                <th>{{title.date | translate}}</th>\\r\\n                                <th>{{title.total | translate}}</th>\\r\\n                                <th>{{title.status | translate}}</th>\\r\\n                                <th>{{title.action | translate}}</th>\\r\\n                            </tr>\\r\\n                            </thead>\\r\\n                            <tbody>\\r\\n\\r\\n                            <tr *ngFor=\\\"let order of order_list; let index=index; let last=last; \\\" [class.selected_tr]=\\\"order._id==order_detail._id\\\"  (click)=\\\"get_order_detail(order._id)\\\">\\r\\n                                <td>{{order.unique_id}}</td>\\r\\n                                <td><div>{{order.provider_first_name}} {{order.provider_last_name}}</div></td>\\r\\n                                <td>{{order.store_name}}</td>\\r\\n                                <td>{{moment(order.completed_at).tz(order.timezone !== undefined ? order.timezone: 'Asia/Kolkata').format('DD MMM YYYY HH:mm a')}}</td>\\r\\n                                <td>{{order.total.toFixed(2)}}</td>\\r\\n                                <td [ngSwitch]=\\\"order.order_status\\\">\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.STORE_REJECTED\\\"><span class=\\\"label label-danger\\\">{{status.rejected1 | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.STORE_CANCELLED\\\"><span class=\\\"label label-danger\\\">{{status.cancelled1 | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.NO_DELIVERY_MAN_FOUND\\\"><span class=\\\"label label-danger\\\">{{status.no_delivery_man_found1 | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_REJECTED\\\"><span class=\\\"label label-danger\\\">{{status.delivery_man_rejected1 | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_CANCELLED\\\"><span class=\\\"label label-danger\\\">{{status.delivery_man_cancelled1 | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.CANCELED_BY_USER\\\"><span class=\\\"label label-danger\\\">{{status.user_cancelled | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.ADMIN_CANCELLED\\\"><span class=\\\"label label-danger\\\">{{status.admin_cancelled | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_COMPLETE_DELIVERY\\\"><span class=\\\"label label-primary\\\">{{status.order_delivered | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.ORDER_COMPLETED\\\"><span class=\\\"label label-primary\\\">{{status.completed | translate}}</span></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"text-left footable-visible footable-last-column\\\">\\r\\n                                    <div class=\\\"btn-group\\\">\\r\\n                                        <button (click)=\\\"open_detail_modal(index)\\\" class=\\\"btn btn-xs btn-light_black\\\">{{helper.button.detail | translate}}</button>\\r\\n                                    </div>\\r\\n                                </td>\\r\\n                            </tr>\\r\\n\\r\\n                            </tbody>\\r\\n                        </table>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-12 col-sm-12\\\" style=\\\"margin-top: 6px;\\\">\\r\\n                        <div class=\\\"lable_center\\\">\\r\\n\\r\\n                            <ul class=\\\"pagination\\\">\\r\\n                                <li *ngIf=\\\"page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"store_history(page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                                <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page==index\\\">\\r\\n                                    <a *ngIf=\\\"index==1 || index==total_page || index==page || index==page-1 || index==page+1\\\" (click)=\\\"store_history(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                                    <a *ngIf=\\\"(index==1 && (page!==1 && page!==2 && page!==3)) || (index==total_page-1 && (page!==total_page && page!==total_page-1 && page!==total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n\\r\\n                                </li>\\r\\n                                <li *ngIf=\\\"page!==total_page && order_list.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"store_history(page+1)\\\">{{button.next | translate}}</a></li>\\r\\n                            </ul>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4\\\" *ngIf=\\\"order_detail.user_detail;\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-content scrollbar\\\" style=\\\"height: calc(100vh - 205px);overflow: auto;\\\">\\r\\n                    <div *ngIf=\\\"order_detail.cart_detail\\\" >\\r\\n                        <label><span class=\\\"fa fa-map-marker\\\" style=\\\"margin-right: 5px;\\\"></span>{{title.delivery_address | translate}}\\r\\n                            <span *ngIf=\\\"order_detail.is_schedule_order\\\" class=\\\"fa fa-clock-o product_arrow\\\"></span>\\r\\n                            <span *ngIf=\\\"order_detail.order_payment_detail.is_user_pick_up_order\\\" class=\\\"fa fa-user product_arrow\\\"></span>\\r\\n                        </label>\\r\\n                        <button *ngIf=\\\"order_detail.order_status_id==helper.ORDER_STATUS_ID.COMPLETED\\\" (click)=\\\"show_review(order_detail._id)\\\"\\r\\n                                class=\\\"btn btn-xs btn-light_black pull-right\\\">{{button.reviews | translate}}</button>\\r\\n                        <div style=\\\"margin-left: 10px;\\\">{{order_detail.cart_detail.destination_addresses[0].address}}</div>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"row\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                        <div class=\\\"col-md-4\\\">\\r\\n                            <img style=\\\"width: 80px; height: 80px;\\\" class=\\\"img-circle m-t-xs\\\" src=\\\"{{order_detail.user_detail.image_url != '' ? helper.CONSTANT.IMAGE_BASE_URL + order_detail.user_detail.image_url : 'default.png'}}\\\">\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8\\\">\\r\\n                            <label>{{heading_title.order_by | translate}}</label>\\r\\n                            <div>{{order_detail.user_detail.first_name + \\\" \\\" + order_detail.user_detail.last_name}} ({{order_detail.user_detail.unique_id}})</div>\\r\\n                            <div>{{order_detail.user_detail.email}}</div>\\r\\n                            <div>{{order_detail.user_detail.country_phone_code + \\\" \\\" + order_detail.user_detail.phone}}</div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"row\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                        <div class=\\\"col-md-4\\\">\\r\\n                            <img style=\\\"width: 80px; height: 80px;\\\" class=\\\"img-circle m-t-xs\\\" src=\\\"{{order_detail.store_detail.image_url != '' ? helper.CONSTANT.IMAGE_BASE_URL + order_detail.store_detail.image_url : 'default.png'}}\\\">\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8\\\">\\r\\n                            <label>{{heading_title.order_from | translate}}</label>\\r\\n                            <div>{{order_detail.store_detail.name}} ({{order_detail.store_detail.unique_id}})</div>\\r\\n                            <div>{{order_detail.store_detail.email}}</div>\\r\\n                            <div>{{order_detail.store_detail.country_phone_code + \\\" \\\" + order_detail.store_detail.phone}}</div>\\r\\n                            <div>{{order_detail.store_detail.address}}</div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"row\\\" *ngIf=\\\"!order_detail.order_payment_detail.is_user_pick_up_order && order_detail.provider_detail;\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                        <div class=\\\"col-md-4\\\">\\r\\n                            <img style=\\\"width: 80px; height: 80px;\\\" class=\\\"img-circle m-t-xs\\\" src=\\\"{{order_detail.user_detail.image_url != '' ? helper.CONSTANT.IMAGE_BASE_URL + order_detail.user_detail.image_url : 'default.png'}}\\\">\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8\\\">\\r\\n                            <label>{{heading_title.deliver_by | translate}}</label>\\r\\n                            <div>{{order_detail.provider_detail.first_name + \\\" \\\" + order_detail.provider_detail.last_name}} ({{order_detail.provider_detail.unique_id}})</div>\\r\\n                            <div>{{order_detail.provider_detail.email}}</div>\\r\\n                            <div>{{order_detail.provider_detail.country_phone_code + \\\" \\\" + order_detail.provider_detail.phone}}</div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"row\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                        <div class=\\\"col-md-4\\\">\\r\\n                            <img style=\\\"width: 80px; height: 80px;\\\" class=\\\"img-circle m-t-xs\\\" src=\\\"default.png\\\">\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-8\\\">\\r\\n                            <label>{{heading_title.order_to | translate}}</label>\\r\\n                            <div>{{order_detail.cart_detail.destination_addresses[0].user_details.name}}</div>\\r\\n                            <div>{{order_detail.cart_detail.destination_addresses[0].user_details.email}}</div>\\r\\n                            <div>{{order_detail.cart_detail.destination_addresses[0].user_details.phone}}</div>\\r\\n                            <div>Comment: {{order_detail.cart_detail.destination_addresses[0].note}}</div>\\r\\n                            <div>Floor: {{order_detail.cart_detail.destination_addresses[0].floor}}</div>\\r\\n                            <div>entry code: {{order_detail.cart_detail.destination_addresses[0].entry_code}}</div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div *ngIf=\\\"order_detail.order_status_id==helper.ORDER_STATUS_ID.CANCELLED\\\" class=\\\"row\\\" style=\\\"margin-top: 20px;\\\">\\r\\n                        <div class=\\\"col-md-12\\\">\\r\\n                            <label>{{heading_title.cancellation_reason | translate}}</label>\\r\\n                            <div>{{order_detail.cancel_reason}}</div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div *ngIf=\\\"order_detail.order_status_id==helper.ORDER_STATUS_ID.REJECTED\\\" class=\\\"row\\\" style=\\\"margin-top: 20px;\\\">\\r\\n                        <div class=\\\"col-md-12\\\">\\r\\n                            <label>{{heading_title.rejection_reason | translate}}</label>\\r\\n                            <div>{{order_detail.cancel_reason}}</div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-3\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                        <label>Store to User</label>\\r\\n                    <div *ngFor=\\\"let review of review_list;\\\">\\r\\n                        <div *ngIf=\\\"review.store_rating_to_user>0 && review.store_detail\\\" class=\\\"row form-group\\\">\\r\\n                            <div class=\\\"col-md-3 col-xs-3\\\">\\r\\n                                <img class=\\\"img-circle\\\" src=\\\"{{review.store_detail.image_url != '' ? helper.CONSTANT.IMAGE_BASE_URL + review.store_detail.image_url : 'default.png'}}\\\" style=\\\"width: 80px; height: 80px;\\\">\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-8 col-xs-8\\\">\\r\\n                                <div style=\\\"display: inline;\\\" *ngFor=\\\"let rate of Array(review.store_rating_to_user)\\\"><span class=\\\"fa fa-star rating_star\\\"></span></div>\\r\\n                                <div style=\\\"font-size: 15px;\\\">{{helper.title.reviewed_by}}: {{review.store_detail.name}}\\r\\n                                    <span style=\\\"font-size: 12px;\\\">({{title.order_id | translate}}: {{review.order_unique_id}})</span>\\r\\n                                </div>\\r\\n                                <div style=\\\"font-size: 15px;color: black;\\\">{{review.store_review_to_user}}</div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-3\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                        <label>Provider to User</label>\\r\\n                    <div *ngFor=\\\"let review of review_list;\\\">\\r\\n                        <div *ngIf=\\\"review.provider_rating_to_user>0 && review.provider_detail\\\" class=\\\"row form-group\\\">\\r\\n                            <div class=\\\"col-md-3 col-xs-3\\\">\\r\\n                                <img class=\\\"img-circle\\\" src=\\\"{{review.provider_detail.image_url != '' ? helper.CONSTANT.IMAGE_BASE_URL + review.provider_detail.image_url : 'default.png'}}\\\" style=\\\"width: 80px; height: 80px;\\\">\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-8 col-xs-8\\\">\\r\\n                                <div style=\\\"display: inline;\\\" *ngFor=\\\"let rate of Array(review.provider_rating_to_user)\\\"><span class=\\\"fa fa-star rating_star\\\"></span></div>\\r\\n                                <div style=\\\"font-size: 15px;\\\">{{helper.title.reviewed_by}} {{review.provider_detail.first_name}} {{review.provider_detail.last_name}}\\r\\n                                    <span style=\\\"font-size: 12px;\\\">({{title.order_id | translate}}: {{review.order_unique_id}})</span>\\r\\n                                </div>\\r\\n                                <div style=\\\"font-size: 15px;color: black;\\\">{{review.provider_review_to_user}}</div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-3\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                        <label>User to Store</label>\\r\\n                    <div *ngFor=\\\"let review of review_list;\\\">\\r\\n                        <div *ngIf=\\\"review.user_rating_to_store>0 && review.store_detail\\\" class=\\\"row form-group\\\">\\r\\n                            <div class=\\\"col-md-3 col-xs-3\\\">\\r\\n                                <img class=\\\"img-circle\\\" src=\\\"{{review.store_detail.image_url != '' ? helper.CONSTANT.IMAGE_BASE_URL + review.store_detail.image_url : 'default.png'}}\\\" style=\\\"width: 80px; height: 80px;\\\">\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-8 col-xs-8\\\">\\r\\n                                <div style=\\\"display: inline;\\\" *ngFor=\\\"let rate of Array(review.user_rating_to_store)\\\"><span class=\\\"fa fa-star rating_star\\\"></span></div>\\r\\n                                <div style=\\\"font-size: 15px;\\\">{{helper.title.reviewed_for}}: {{review.store_detail.name}} \\r\\n                                    <span style=\\\"font-size: 12px;\\\">({{title.order_id | translate}}: {{review.order_unique_id}})</span>\\r\\n                                </div>\\r\\n                                <div style=\\\"font-size: 15px;color: black;\\\">{{review.user_review_to_store}}</div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-3\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                        <label>User to Provider</label>\\r\\n                    <div *ngFor=\\\"let review of review_list;\\\">\\r\\n                        <div *ngIf=\\\"review.user_rating_to_provider>0 && review.provider_detail\\\" class=\\\"row form-group\\\">\\r\\n                            <div class=\\\"col-md-3 col-xs-3\\\">\\r\\n                                <img class=\\\"img-circle\\\" src=\\\"{{review.provider_detail.image_url != '' ? helper.CONSTANT.IMAGE_BASE_URL + review.provider_detail.image_url : 'default.png'}}\\\" style=\\\"width: 80px; height: 80px;\\\">\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-8 col-xs-8\\\">\\r\\n                                <div style=\\\"display: inline;\\\" *ngFor=\\\"let rate of Array(review.user_rating_to_provider)\\\"><span class=\\\"fa fa-star rating_star\\\"></span></div>\\r\\n                                <div style=\\\"font-size: 15px;\\\">{{helper.title.reviewed_for}}: {{review.provider_detail.first_name}} {{review.provider_detail.last_name}}\\r\\n                                    <span style=\\\"font-size: 12px;\\\">({{title.order_id | translate}}: {{review.order_unique_id}})</span>\\r\\n                                </div>\\r\\n                                <div style=\\\"font-size: 15px;color: black;\\\">{{review.user_review_to_provider}}</div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n    \\r\\n</div>\\r\\n<modal cssClass=\\\"\\\" #review_detail_modal>\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n        <label>{{heading_title.review_detail | translate}}</label>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n        <div class=\\\"table-responsive scrollbar\\\" style=\\\"height: 100%;\\\">\\r\\n            <table class=\\\"table\\\">\\r\\n                <thead>\\r\\n                    <tr *ngIf=\\\"review_detail.user_detail && review_detail.user_detail.length>0\\\">\\r\\n                        <th>{{title.user | translate}}</th>\\r\\n                        <th>{{title.to_store | translate}}</th>\\r\\n                        <th>{{title.to_deliveryman | translate}}</th>\\r\\n                    </tr>\\r\\n                    <tr *ngIf=\\\"review_detail.user_detail && review_detail.user_detail.length>0\\\">\\r\\n                        <td>{{review_detail.user_detail[0].first_name}} {{review_detail.user_detail[0].last_name}}</td>\\r\\n                        <td>\\r\\n                            <span class=\\\"fa fa-star\\\"></span> {{review_detail.user_rating_to_store}}<br>\\r\\n                            {{review_detail.user_review_to_store}}\\r\\n                            <div *ngIf=\\\"review_detail.user_review_to_store==''\\\">\\r\\n                                {{title.not_available | translate}}\\r\\n                            </div>\\r\\n                            <div style=\\\"margin-top: 5px;\\\" *ngIf=\\\"review_detail.user_review_to_store!=''\\\">\\r\\n                                <span style=\\\"font-size: 20px;color: #85ad69;\\\" class=\\\"fa fa-thumbs-o-up\\\"></span>\\r\\n                                <span style=\\\"margin-left: 5px;font-size: 15px;\\\">{{review_detail.number_of_users_like_store_comment}}</span>\\r\\n                                <span style=\\\"margin-left: 5px;font-size: 20px;color: red;\\\" class=\\\"fa fa-thumbs-o-down\\\"></span>\\r\\n                                <span style=\\\"margin-left: 5px;font-size: 15px;\\\">{{review_detail.number_of_users_dislike_store_comment}}</span>\\r\\n                            </div>\\r\\n                        </td>\\r\\n                        <td>\\r\\n                            <span class=\\\"fa fa-star\\\"></span> {{review_detail.user_rating_to_provider}}<br>\\r\\n                            {{review_detail.user_review_to_provider}}\\r\\n                            <div *ngIf=\\\"review_detail.user_review_to_provider==''\\\">\\r\\n                                {{title.not_available | translate}}\\r\\n                            </div>\\r\\n                        </td>\\r\\n                    </tr><br>\\r\\n                    <tr *ngIf=\\\"review_detail.store_detail && review_detail.store_detail.length>0\\\">\\r\\n                        <th>{{title.store | translate}}</th>\\r\\n                        <th>{{title.to_user | translate}}</th>\\r\\n                        <th>\\r\\n                            {{title.to_deliveryman | translate}}\\r\\n                        </th>\\r\\n                    </tr>\\r\\n                    <tr *ngIf=\\\"review_detail.store_detail && review_detail.store_detail.length>0\\\">\\r\\n                        <td>{{review_detail.store_detail[0].name}}</td>\\r\\n                        <td>\\r\\n                            <span class=\\\"fa fa-star\\\"></span> {{review_detail.store_rating_to_user}}<br>\\r\\n                            {{review_detail.store_review_to_user}}\\r\\n                            <div *ngIf=\\\"review_detail.store_review_to_user==''\\\">\\r\\n                                {{title.not_available | translate}}\\r\\n                            </div>\\r\\n                        </td>\\r\\n                        <td>\\r\\n                            <span class=\\\"fa fa-star\\\"></span> {{review_detail.store_rating_to_provider}}<br>\\r\\n                            {{review_detail.store_review_to_provider}}\\r\\n                            <div *ngIf=\\\"review_detail.store_review_to_provider==''\\\">\\r\\n                                {{title.not_available | translate}}\\r\\n                            </div>\\r\\n                        </td>\\r\\n                    </tr><br>\\r\\n                    <tr *ngIf=\\\"review_detail.provider_detail && review_detail.provider_detail.length>0\\\">\\r\\n                        <th>{{title.deliveryman | translate}}</th>\\r\\n                        <th>{{title.to_user | translate}}</th>\\r\\n                        <th>{{title.to_store | translate}}</th>\\r\\n                    </tr>\\r\\n                    <tr *ngIf=\\\"review_detail.provider_detail && review_detail.provider_detail.length>0\\\">\\r\\n                        <td>{{review_detail.provider_detail[0].first_name}} {{review_detail.provider_detail[0].last_name}}</td>\\r\\n                        <td>\\r\\n                            <span class=\\\"fa fa-star\\\"></span> {{review_detail.provider_rating_to_user}}<br>\\r\\n                            {{review_detail.provider_review_to_user}}\\r\\n                            <div *ngIf=\\\"review_detail.provider_review_to_user==''\\\">\\r\\n                                {{title.not_available | translate}}\\r\\n                            </div>\\r\\n                        </td>\\r\\n                        <td>\\r\\n                            <span class=\\\"fa fa-star\\\"></span> {{review_detail.provider_rating_to_store}}<br>\\r\\n                            {{review_detail.provider_review_to_store}}\\r\\n                            <div *ngIf=\\\"review_detail.provider_review_to_store==''\\\">\\r\\n                                {{title.not_available | translate}}\\r\\n                            </div>\\r\\n                        </td>\\r\\n                    </tr>\\r\\n                </thead>\\r\\n            </table>\\r\\n        </div>\\r\\n    </modal-body>\\r\\n</modal>\\r\\n\\r\\n<modal cssClass=\\\"modal-invoice\\\" #order_detail_modal>\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n        <label>{{heading_title.order_detail | translate}}</label>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n        <div class=\\\"row\\\" *ngIf=\\\"order_detail.cart_detail\\\">\\r\\n            <div class=\\\"col-md-4\\\">\\r\\n                <div class=\\\"ibox remove_ibox_margin\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <h4 class=\\\"pull-right\\\">{{currency_sign}}{{order_total.toFixed(2)}}</h4>\\r\\n                        <span style=\\\"position: absolute; left:48%;\\\">(<strong>{{total_item}}</strong>) {{title.items | translate}}</span>\\r\\n                        <h5>{{heading_title.order_detail | translate}}</h5>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content invoice_popup_box\\\">\\r\\n                        <div *ngFor=\\\"let products of order_detail.cart_detail.order_details; let product_index=index; \\\">\\r\\n                            <div style=\\\"border-bottom: 1px solid brown;text-align: center;\\\">\\r\\n                                <h4 class=\\\"pull-right\\\">{{currency_sign}}{{product_item_total_array[product_index]}}\\r\\n                                    <span *ngIf=\\\"hide_specification_group[product_index]=='true'\\\" (click)=\\\"show_specifications_group(product_index)\\\" class=\\\"fa fa-chevron-left\\\"></span>\\r\\n                                    <span *ngIf=\\\"hide_specification_group[product_index]=='false'\\\" (click)=\\\"hide_specifications_group(product_index)\\\" class=\\\"fa fa-chevron-down\\\"></span>\\r\\n                                </h4>\\r\\n                                <span>(<strong>{{products.items.length}}</strong>) {{title.items | translate}}</span>\\r\\n                                <h5 style=\\\"float: left;\\\">{{products.product_name}}</h5>\\r\\n                            </div>\\r\\n\\r\\n                            <div id=\\\"spec_list{{product_index}}\\\" class=\\\"table-responsive\\\" style=\\\"    width: 100%;\\\">\\r\\n                                <table class=\\\"table\\\">\\r\\n                                    <thead style=\\\"border-bottom: 1px solid;\\\">\\r\\n                                    <tr>\\r\\n                                        <th >{{title.item | translate}}</th>\\r\\n                                        <th >{{title.spec | translate}} {{title.price | translate}}</th>\\r\\n                                        <th >{{title.price | translate}}</th>\\r\\n                                        <th >{{title.qty | translate}}</th>\\r\\n                                        <th >{{title.total | translate}}</th>\\r\\n                                    </tr>\\r\\n                                    </thead>\\r\\n\\r\\n                                    <tbody *ngFor=\\\"let item of products.items; let odd=odd; let item_index=index; \\\" (click)=\\\"get_specification(product_index, item_index)\\\">\\r\\n                                    <tr style=\\\"cursor: pointer;\\\">\\r\\n                                        <td >{{item.item_name}}</td>\\r\\n                                        <td>{{currency_sign}}{{item.total_specification_price}}</td>\\r\\n                                        <td>{{currency_sign}}{{item.item_price}}</td>\\r\\n                                        <td >{{item.quantity}}</td>\\r\\n                                        <td >{{currency_sign}}{{((item.item_price + item.total_specification_price)*item.quantity).toFixed(2)}}</td>\\r\\n                                    </tr>\\r\\n                                    <tr style=\\\"cursor: pointer;color: red;\\\">\\r\\n                                        <td colspan=\\\"5\\\" style=\\\"border-top: 0;\\\">Note : {{item.note_for_item}}</td>\\r\\n                                    </tr>\\r\\n                                    </tbody>\\r\\n\\r\\n                                </table>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-4\\\" *ngIf=\\\"is_show_specification\\\">\\r\\n                <div class=\\\"ibox remove_ibox_margin\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <h5>{{title.specifications | translate}}</h5>\\r\\n                        <span class=\\\"fa fa-remove pull-right\\\" (click)=\\\"is_show_specification=false;\\\"></span>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"ibox-content invoice_popup_box\\\">\\r\\n\\r\\n                        <div *ngFor=\\\"let specification_group of specifications; let odd=odd;\\\" [class.row]=\\\"odd\\\" style=\\\"margin: 0;\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\" style=\\\"padding: 0px;\\\">\\r\\n                                    <div class=\\\"col-md-12\\\" style=\\\"padding: 0;border-bottom: 1px solid #dcdcdc;\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5>{{specification_group.name}}</h5></div>\\r\\n                                        <div *ngIf=\\\"specification_group.price > 0\\\" class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;\\\">{{currency_sign}}{{specification_group.price.toFixed(2)}}</h5></div>\\r\\n                                    </div>\\r\\n\\r\\n                                    <div class=\\\"col-md-12\\\" *ngFor=\\\"let specification of specification_group.list\\\">\\r\\n                                        <div style=\\\"padding: 0;\\\" class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h6 style=\\\"font-size: 13px;\\\">{{specification.name}}</h6></div>\\r\\n                                        <div *ngIf=\\\"specification.price > 0\\\" class=\\\"col-md-4 col-sm-4 col-xs-4\\\" style=\\\"padding: 0;\\\"><h6 style=\\\"font-size: 13px;float: right;\\\">{{currency_sign}}{{specification.price.toFixed(2)}}</h6></div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"row\\\" style=\\\"border-top: 1px solid;padding-top: 15px;\\\" *ngIf=\\\"item_note!=''\\\">\\r\\n                            <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\">\\r\\n                                <label>{{title.item_note_here}}</label>\\r\\n                                <div>\\r\\n                                    <h6 style=\\\"font-size: 13px;\\\">{{item_note}}</h6>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-4\\\" *ngIf=\\\"!is_show_specification\\\">\\r\\n                <div class=\\\"ibox remove_ibox_margin\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"background-color: #d4d8d8;\\\">\\r\\n                        <h5>{{heading_title.order_status | translate}}</h5>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content invoice_popup_box\\\">\\r\\n\\r\\n                        <div id=\\\"vertical-timeline\\\" class=\\\"vertical-container dark-timeline\\\">\\r\\n\\r\\n                            <div *ngFor=\\\"let date of order_detail.date_time;\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                <div class=\\\"vertical-timeline-icon gray-bg\\\" *ngIf=\\\"date.status!==helper.ORDER_STATE.ORDER_COMPLETED\\\">\\r\\n                                </div>\\r\\n                                <div class=\\\"vertical-timeline-content\\\" [ngSwitch]=\\\"date.status\\\" *ngIf=\\\"date.status!==helper.ORDER_STATE.ORDER_COMPLETED\\\" style=\\\"padding-top: 1px;\\\">\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.WAITING_FOR_ACCEPT_STORE\\\"><span>{{helper.status.waiting_for_accept | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_ACCEPTED\\\"><span>{{helper.status.accepted | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_PREPARING_ORDER\\\"><span>{{helper.status.start_preparing_order | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.OREDER_READY\\\"><span>{{helper.status.order_ready | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.WAITING_FOR_DELIVERY_MAN\\\"><span>{{helper.status.waiting_for_delivery_man | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_REJECTED\\\"><span>{{helper.status.rejected | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_CANCELLED\\\"><span>{{helper.status.cancelled | translate}}</span></p>\\r\\n                                    <span *ngIf=\\\"!order_detail.request_detail\\\">\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.ORDER_COMPLETED\\\"><span>{{helper.status.completed | translate}}</span></p></span>\\r\\n                                    <span *ngIf=\\\"!order_detail.request_detail\\\"><p *ngSwitchCase=\\\"helper.ORDER_STATE.CANCELED_BY_USER\\\"><span>{{helper.status.user_cancelled | translate}}</span></p></span>\\r\\n                                    <span *ngIf=\\\"date.status!==helper.ORDER_STATE.ORDER_COMPLETED\\\" class=\\\"vertical-date small text-muted\\\">{{moment(date.date).tz(order_detail.timezone !== '' ? order_detail.timezone: 'Asia/Kolkata').format('DD MMM YYYY HH:mm a')}}</span>\\r\\n                                </div>\\r\\n                                <div class=\\\"vertical-timeline-icon gray-bg\\\" *ngIf=\\\"date.status==helper.ORDER_STATE.ORDER_COMPLETED&&!order_detail.request_detail\\\">\\r\\n                                </div>\\r\\n                                <div class=\\\"vertical-timeline-content\\\" [ngSwitch]=\\\"date.status\\\" *ngIf=\\\"date.status==helper.ORDER_STATE.ORDER_COMPLETED&&!order_detail.request_detail\\\" style=\\\"padding-top: 1px;\\\">\\r\\n                                    <p><span>{{helper.status.completed | translate}}</span></p>\\r\\n                                </div>\\r\\n                                </div>\\r\\n                            <div *ngIf=\\\"order_detail.request_detail\\\">\\r\\n                                <div *ngFor=\\\"let date of order_detail.request_detail.date_time;\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                    <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                    </div>\\r\\n                                    <div class=\\\"vertical-timeline-content\\\" [ngSwitch]=\\\"date.status\\\" style=\\\"padding-top: 1px;\\\">\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.WAITING_FOR_DELIVERY_MAN\\\"><span>{{helper.status.waiting_for_delivery_man | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_ACCEPTED\\\"><span>{{helper.status.delivery_man_accepted | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_COMING\\\"><span>{{helper.status.delivery_man_coming | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_ARRIVED\\\"><span>{{helper.status.delivery_man_arrived | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\\\"><span>{{helper.status.picked_order | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_STARTED_DELIVERY\\\"><span>{{helper.status.started_for_delivery | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_ARRIVED_AT_DESTINATION\\\"><span>{{helper.status.arrived_at_destination | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_COMPLETE_DELIVERY\\\"><span>{{helper.status.delivered_ordered | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_REJECTED\\\"><span>{{helper.status.rejected | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_CANCELLED\\\"><span>{{helper.status.cancelled | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.NO_DELIVERY_MAN_FOUND\\\"><span>{{helper.status.no_delivery_man_found | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_REJECTED\\\"><span>{{helper.status.delivery_man_rejected | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_CANCELLED\\\"><span>{{helper.status.delivery_man_cancelled | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.CANCELED_BY_USER\\\"><span>{{helper.status.user_cancelled | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_CANCELLED_REQUEST\\\"><span>{{helper.status.cancelled_request | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.ORDER_COMPLETED\\\"><span>{{helper.status.completed | translate}}</span></p>\\r\\n\\r\\n                                        <span class=\\\"vertical-date small text-muted\\\">{{moment(date.date).tz(order_detail.timezone !== '' ? order_detail.timezone: 'Asia/Kolkata').format('DD MMM YYYY HH:mm a')}}</span>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-4\\\">\\r\\n                <div class=\\\"ibox remove_ibox_margin\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"background-color: #d4d8d8;\\\">\\r\\n                        <h5>{{order_detail.order_payment_detail.invoice_number}}</h5>\\r\\n                        <h5 class=\\\"pull-right\\\">{{currency_sign}}{{order_detail.order_payment_detail.total.toFixed(2)}}</h5>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content invoice_popup_box scrollbar\\\">\\r\\n                        <div class=\\\"row\\\" style=\\\"margin-bottom: 20px;\\\">\\r\\n                            <div class=\\\"col-md-4\\\" style=\\\"padding-right: 4px;\\\">\\r\\n                                <div class=\\\"invoice_box\\\">\\r\\n                                    <div><span>{{title.cash_payment}}</span></div>\\r\\n                                    <div><label>{{currency_sign}}{{order_detail.order_payment_detail.cash_payment.toFixed(2)}}</label></div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-4\\\" style=\\\"padding-right: 8px; padding-left: 8px;\\\">\\r\\n                                <div class=\\\"invoice_box\\\">\\r\\n                                    <div><span>{{title.wallet_payment}}</span></div>\\r\\n                                    <div><label>{{currency_sign}}{{order_detail.order_payment_detail.wallet_payment.toFixed(2)}}</label></div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-4\\\" style=\\\"padding-left: 4px;\\\">\\r\\n                                <div class=\\\"invoice_box\\\">\\r\\n                                    <div><span>{{title.other_payment}}</span></div>\\r\\n                                    <div><label>{{currency_sign}}{{order_detail.order_payment_detail.card_payment.toFixed(2)}}</label></div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\" style=\\\"padding: 0px;\\\">\\r\\n\\r\\n                                <div class=\\\"row invoice_seperator\\\">\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5 style=\\\"margin-bottom: 0;\\\">{{title.total_delivery_price | translate}}</h5></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;margin-bottom: 0;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_delivery_price.toFixed(2)}}</h5></div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.delivery_price | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                                            <span style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_service_price.toFixed(2)}}</span>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.tax_price | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><span style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_admin_tax_price.toFixed(2)}}</span></div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\"  *ngIf='order_detail.order_payment_detail.is_promo_for_delivery_service == true'>\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.promo_bonus | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><span style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.promo_payment.toFixed(2)}}</span></div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"row invoice_seperator\\\">\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5 style=\\\"margin-bottom: 0;\\\">{{title.total_order_price | translate}}</h5></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;margin-bottom: 0;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_order_price.toFixed(2)}}</h5></div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.order_price | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><span style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_cart_price.toFixed(2)}}</span></div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.tax_price | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><span style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_store_tax_price.toFixed(2)}}</span></div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\" *ngIf='order_detail.order_payment_detail.is_promo_for_delivery_service == false'>\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.promo_bonus | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><span style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.promo_payment.toFixed(2)}}</span></div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"row invoice_seperator\\\" *ngIf=\\\"order_detail.order_status_id==helper.ORDER_STATUS_ID.CANCELLED && order_detail.order_payment_detail.order_cancellation_charge>0\\\">\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5 style=\\\"margin-bottom: 0;\\\">{{title.cancellation_charge | translate}}</h5></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"margin-bottom: 0; float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.order_cancellation_charge.toFixed(2)}}</h5></div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"row invoice_seperator\\\" *ngIf=\\\"order_detail.order_status_id==helper.ORDER_STATUS_ID.COMPLETED\\\">\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.store_bear_delivery_fee | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                                            <span style=\\\"float: right;\\\" *ngIf=\\\"order_detail.order_payment_detail.is_store_pay_delivery_fees\\\">{{title.yes | translate}}</span>\\r\\n                                            <span style=\\\"float: right;\\\" *ngIf=\\\"!order_detail.order_payment_detail.is_store_pay_delivery_fees\\\">{{title.no | translate}}</span>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\" *ngIf=\\\"order_detail.order_payment_detail.is_payment_mode_cash\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.deliveryman_paid_order_cash_to_store | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                                            <span style=\\\"float: right;\\\" *ngIf=\\\"order_detail.order_payment_detail.provider_paid_order_payment\\\">{{title.yes | translate}}</span>\\r\\n                                            <span style=\\\"float: right;\\\" *ngIf=\\\"!order_detail.order_payment_detail.provider_paid_order_payment\\\">{{title.no | translate}}</span>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"row invoice_seperator\\\" *ngIf=\\\"order_detail.order_status_id==helper.ORDER_STATUS_ID.COMPLETED\\\">\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.store_profit | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><span style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_store_income.toFixed(2)}}</span></div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                                            <span *ngIf=\\\"order_detail.order_payment_detail.is_store_income_set_in_wallet\\\" style=\\\"color: green;\\\">{{title.sattlement_with_store | translate}}</span>\\r\\n                                            <span *ngIf=\\\"!order_detail.order_payment_detail.is_store_income_set_in_wallet\\\">\\r\\n                                                <span *ngIf=\\\"order_detail.order_payment_detail.is_transfered_to_store\\\" style=\\\"color: green;\\\">{{title.sattlement_with_store | translate}}</span>\\r\\n                                                <span *ngIf=\\\"!order_detail.order_payment_detail.is_transfered_to_store\\\" style=\\\"color: red;\\\">{{title.sattlement_with_store | translate}}</span>\\r\\n                                            </span>\\r\\n                                        </div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                                            <span style=\\\"float: right;\\\" *ngIf=\\\"order_detail.order_payment_detail.is_store_income_set_in_wallet\\\">\\r\\n                                                <span style=\\\"color: green;\\\">{{currency_sign}}{{order_detail.order_payment_detail.store_income_set_in_wallet.toFixed(2)}} ({{title.wallet | translate}})</span>\\r\\n                                            </span>\\r\\n                                            <span style=\\\"float: right;\\\" *ngIf=\\\"!order_detail.order_payment_detail.is_store_income_set_in_wallet\\\">\\r\\n                                                <span style=\\\"color: green;\\\" *ngIf=\\\"order_detail.order_payment_detail.is_transfered_to_store\\\">{{currency_sign}}{{order_detail.order_payment_detail.pay_to_store.toFixed(2)}}</span>\\r\\n                                                <span style=\\\"color: red;\\\" *ngIf=\\\"!order_detail.order_payment_detail.is_transfered_to_store\\\">{{currency_sign}}{{order_detail.order_payment_detail.pay_to_store.toFixed(2)}}</span>\\r\\n                                            </span>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"row invoice_seperator\\\" *ngIf=\\\"order_detail.order_status_id==helper.ORDER_STATUS_ID.COMPLETED\\\">\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.deliveryman_profit | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><span style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_provider_income.toFixed(2)}}</span></div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\">\\r\\n                                            <span *ngIf=\\\"order_detail.order_payment_detail.is_store_income_set_in_wallet\\\" style=\\\"color: green;\\\">{{title.sattlement_with_deliveryman | translate}}</span>\\r\\n                                            <span *ngIf=\\\"!order_detail.order_payment_detail.is_store_income_set_in_wallet\\\">\\r\\n                                                <span *ngIf=\\\"order_detail.order_payment_detail.is_transfered_to_store\\\" style=\\\"color: green;\\\">{{title.sattlement_with_deliveryman | translate}}</span>\\r\\n                                                <span *ngIf=\\\"!order_detail.order_payment_detail.is_transfered_to_store\\\" style=\\\"color: red;\\\">{{title.sattlement_with_deliveryman | translate}}</span>\\r\\n                                            </span>\\r\\n                                        </div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                                            <span style=\\\"float: right;\\\" *ngIf=\\\"order_detail.order_payment_detail.is_provider_income_set_in_wallet\\\">\\r\\n                                                <span style=\\\"color: green;\\\">{{currency_sign}}{{order_detail.order_payment_detail.provider_income_set_in_wallet.toFixed(2)}} ({{title.wallet | translate}})</span>\\r\\n                                            </span>\\r\\n                                            <span style=\\\"float: right;\\\" *ngIf=\\\"!order_detail.order_payment_detail.is_provider_income_set_in_wallet\\\">\\r\\n                                                <span style=\\\"color: green;\\\" *ngIf=\\\"order_detail.order_payment_detail.is_transfered_to_provider\\\">{{currency_sign}}{{order_detail.order_payment_detail.pay_to_provider.toFixed(2)}}</span>\\r\\n                                                <span style=\\\"color: red;\\\" *ngIf=\\\"!order_detail.order_payment_detail.is_transfered_to_provider\\\">{{currency_sign}}{{order_detail.order_payment_detail.pay_to_provider.toFixed(2)}}</span>\\r\\n                                            </span>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"row invoice_seperator\\\" *ngIf=\\\"order_detail.order_status_id==helper.ORDER_STATUS_ID.COMPLETED\\\">\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.admin_profit_on_store | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><span style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_admin_profit_on_store.toFixed(2)}}</span></div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-12 order_invoice_row\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><span>{{title.admin_profit_on_delivery | translate}}</span></div>\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><span style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_admin_profit_on_delivery.toFixed(2)}}</span></div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n    </modal-body>\\r\\n</modal>\\r\\n\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-sm\\\" #myModal>\\r\\n    <form #modalForm=\\\"ngForm\\\" (ngSubmit)=\\\"AddWallet(modalForm.value)\\\">\\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <h4 class=\\\"modal-title\\\">{{heading_title.add_wallet_amount | translate}}</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div class=\\\"row\\\">\\r\\n                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"type\\\"   name=\\\"type\\\"  />\\r\\n                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"user_id\\\"   name=\\\"user_id\\\"  />\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                    <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                        <div class=\\\"form-group\\\" >\\r\\n\\r\\n                            <label style=\\\"font-weight: normal;\\\"><strong>{{title.amount | translate}}</strong></label>\\r\\n                            <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"wallet\\\" (keypress)=\\\"helper.number_validation1($event)\\\" maxlength=\\\"6\\\" name=\\\"wallet\\\" required>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{button.save | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\\r\\n\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl\\\" #mysmsModal>\\r\\n    <form #modalSmsForm=\\\"ngForm\\\" (ngSubmit)=\\\"SendSms(modalSmsForm.value)\\\">\\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <h4 class=\\\"modal-title\\\">{{heading_title.admin_sms | translate}}</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div class=\\\"row\\\">\\r\\n                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"type\\\"   name=\\\"type\\\"  />\\r\\n                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"user_id\\\"   name=\\\"user_id\\\"  />\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                    <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                        <div class=\\\"form-group\\\" >\\r\\n\\r\\n                            <label style=\\\"font-weight: normal;\\\"><strong>{{title.content | translate}}</strong></label>\\r\\n                            <textarea class=\\\"form-control\\\" [(ngModel)]=\\\"content\\\"   name=\\\"content\\\" required ></textarea>\\r\\n\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{button.send | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\\r\\n\\r\\n\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl\\\" #mynotificationModal>\\r\\n    <form #modalNotificationForm=\\\"ngForm\\\" (ngSubmit)=\\\"SendNotification(modalNotificationForm.value)\\\">\\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <h4 class=\\\"modal-title\\\">{{heading_title.admin_send_notification | translate}}</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div class=\\\"row\\\">\\r\\n                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"type\\\"   name=\\\"type\\\"  />\\r\\n                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"user_id\\\"   name=\\\"user_id\\\"  />\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                    <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                        <div class=\\\"form-group\\\" >\\r\\n\\r\\n                            <label style=\\\"font-weight: normal;\\\"><strong>{{title.notification_content | translate}}</strong></label>\\r\\n                            <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"content\\\" name=\\\"content\\\" required />\\r\\n\\r\\n\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{button.send | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/user_history/history.component.html\n// module id = 1647\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>   \\r\\n\\r\\n\\r\\n    <div class=\\\"row full_height\\\">\\r\\n        <div class=\\\"col-md-5 col-xs-12 col-sm-5 full_height login_left_background\\\">\\r\\n            <div class=\\\"col-md-12 col-xs-12 col-sm-12 login_left_top_margin animated fadeInLeft\\\">\\r\\n                <div class=\\\"col-md-12 col-xs-12 col-sm-12\\\">\\r\\n                    <img  style=\\\"width: 130px;\\\" src=\\\"web_images/logo.png\\\">\\r\\n                </div>\\r\\n               \\r\\n                <label class=\\\"col-md-12 col-xs-12 col-sm-12 login_title\\\" style=\\\"margin-top: 20px;\\\">{{title.admin_title1 | translate}}</label>\\r\\n                <label class=\\\"col-md-12 col-xs-12 col-sm-12 login_title\\\">{{title.app_name + \\\" \\\" +title.admin_title2 | translate}}</label>\\r\\n                <div class=\\\"col-md-12 col-xs-12 col-sm-12\\\">\\r\\n                    <hr class=\\\"login_hr\\\">\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-7 col-xs-12 col-sm-7  full_height login_right_background\\\">\\r\\n            <div class=\\\"loginColumns animated fadeInRight\\\" style=\\\"max-width: 435px;\\\">\\r\\n                <div class=\\\"ibox-content login_right_background\\\">\\r\\n\\r\\n                    <label class=\\\"login_right_title\\\">{{title.new_passwrod | translate}}</label>\\r\\n                    <form #usernewpasswordForm=\\\"ngForm\\\" (ngSubmit)=\\\"userNewPassword(usernewpasswordForm.value)\\\" >\\r\\n                        \\r\\n\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"login_text_box_label\\\">{{title.password | translate}}</label>\\r\\n                            <input type=\\\"password\\\" class=\\\"form-control login_text_box\\\" [(ngModel)]=\\\"user_new_password.password\\\" #password=\\\"ngModel\\\" minlength=\\\"6\\\" name=\\\"password\\\" required />\\r\\n                            <div *ngIf=\\\"password.errors && (password.dirty || password.touched)\\\">\\r\\n                                <div style=\\\"color: red;\\\" [hidden]=\\\"!password.errors.required\\\">{{validation_message.password_required | translate}}\\r\\n                                </div>\\r\\n                                <div style=\\\"color: red;\\\" [hidden]=\\\"!password.errors.minlength\\\">{{validation_message.password_minlength | translate}}\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"login_text_box_label\\\">{{title.confirm_password | translate}}</label>\\r\\n                            <input type=\\\"password\\\" class=\\\"form-control login_text_box\\\" [(ngModel)]=\\\"user_new_password.confirm_password\\\" [equalTo]=\\\"password\\\" #confirm_password=\\\"ngModel\\\" name=\\\"confirm_password\\\" />\\r\\n                            <div *ngIf=\\\"confirm_password.errors && (confirm_password.dirty || confirm_password.touched)\\\">\\r\\n                                <div style=\\\"color: red;\\\" [hidden]=\\\"!confirm_password.errors?.equalTo\\\">{{validation_message.match_confirm_password | translate}}\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                        </div>\\r\\n                        \\r\\n                        <div class=\\\"col-md-12 col-xs-12 col-sm-12 lable_center\\\" style=\\\"margin-top: 20px;\\\">\\r\\n                            <button type=\\\"submit\\\" [disabled]=\\\"!usernewpasswordForm.form.valid\\\" class=\\\"btn btn-danger m-b login_submit_button\\\">{{button.submit | translate}}</button>\\r\\n                        </div>\\r\\n                        \\r\\n                        \\r\\n                    </form>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/user_new_password/user_new_password.component.html\n// module id = 1648\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer> \\r\\n<!--<div class=\\\"add_btn_bg\\\" style=\\\"text-align: center;\\\">\\r\\n    <button [routerLink]=\\\"['/admin/add_vehicle']\\\" class=\\\"btn add_btn pull-right\\\" style=\\\"margin-right: 50px;margin-top: 10px;\\\">{{button.add_vehicle | translate}}<span class=\\\"fa fa-plus\\\" style=\\\"margin-left: 8px;\\\"></span></button>\\r\\n    <a [routerLink]=\\\"['/admin/add_vehicle']\\\"> <input class=\\\"btn add_btn pull-right\\\" style=\\\"margin-top:12px;margin-right:15px;\\\" value=\\\"{{button.add_vehicle | translate}}\\\" ></a>\\r\\n</div>-->\\r\\n\\r\\n<div class=\\\"row wrapper col-sm-12 col-md-12 col-xs-12 col-lg-12 fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-3 col-sm-12 pull-right\\\">\\r\\n            <div class=\\\"col-md-6 col-sm-6 add_btn_div\\\">\\r\\n\\r\\n                <button [routerLink]=\\\"['/admin/add_vehicle']\\\" class=\\\"btn add_btn pull-right\\\" style=\\\"margin-bottom: 10px;margin-right: 50px;\\\">{{button.add_vehicle | translate}}<span class=\\\"fa fa-plus\\\" style=\\\"margin-left: 8px;\\\"></span></button>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n<div class=\\\"wrapper wrapper-content content_top_bar_view animated fadeInRight\\\">\\r\\n    <div class=\\\"row animated fadeInRight\\\">\\r\\n        <div *ngFor=\\\"let i of vehicle_list\\\" >\\r\\n            <div class=\\\"col-md-3\\\">\\r\\n                <div class=\\\"ibox float-e-margins\\\">\\r\\n                    <div class=\\\"ibox-title\\\" >\\r\\n                        <a class=\\\"pull-right\\\" (click)=\\\"editVehicle(i._id)\\\"><i class=\\\"fa fa-pencil\\\" style=\\\"font-size:15px;color:#676a6c\\\"></i></a>\\r\\n                        <h3><b><strong>{{i.vehicle_name}}</strong></b></h3>\\r\\n                    </div>\\r\\n\\r\\n                    <div>\\r\\n                        <div class=\\\"ibox-content add_img_bg_vehicle no-padding border-left-right\\\">\\r\\n                            <img alt=\\\"\\\" class=\\\"img-responsive\\\" src=\\\"{{i.image_url != '' ? helper.CONSTANT.IMAGE_BASE_URL + i.image_url : 'plus_box.png'}}\\\">\\r\\n\\r\\n\\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"ibox-content profile-content\\\">\\r\\n                            <div class=\\\"user-button\\\">\\r\\n                                <div class=\\\"row\\\">\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <h4>{{title.business | translate }}</h4>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <ui-switch (change)=\\\"is_business_change(i._id, $event)\\\" style=\\\"float: right;\\\" [(ngModel)]=\\\"i.is_business\\\" name=\\\"is_business\\\"></ui-switch>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n\\r\\n                        </div>\\r\\n                        <!--                        <div class=\\\"ibox\\\">\\r\\n                                                    <div class=\\\"ibox-title\\\">\\r\\n                        \\r\\n                                                        <div class=\\\"col-md-6\\\">\\r\\n                                                            <h4>{{title.business | translate}}</h4>\\r\\n                                                        </div>\\r\\n                                                        <div class=\\\"col-md-6\\\">\\r\\n                                                            <ui-switch (change)=\\\"is_business_change(i._id, $event)\\\" style=\\\"float: right;\\\" [(ngModel)]=\\\"i.is_business\\\" name=\\\"is_business\\\"></ui-switch>\\r\\n                                                        </div>\\r\\n                        \\r\\n                                                    </div>\\r\\n                                                </div>-->\\r\\n                    </div>\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n    </div>\\r\\n</div>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/vehicle/vehicle.component.html\n// module id = 1649\n// module chunks = 0","module.exports = \"<p>\\r\\n  vehicle-document works!\\r\\n</p>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/vehicle_document/vehicle_document.component.html\n// module id = 1650\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer> \\r\\n<div class=\\\"row\\\">\\r\\n    <div class=\\\"col-lg-9\\\">\\r\\n        <div class=\\\"wrapper wrapper-content animated fadeInRight content_top_bar\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-lg-12\\\">\\r\\n                            <div class=\\\"m-b-md\\\">\\r\\n\\r\\n                                <h2><strong>{{heading_title.bank_detail}}</strong></h2>\\r\\n                            </div>\\r\\n\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-lg-12\\\">\\r\\n                            <dl class=\\\"dl-horizontal\\\">\\r\\n\\r\\n\\r\\n                                <dt>{{title.bank_name | translate}}:</dt>\\r\\n                                <dd> {{bank_name}}</dd>\\r\\n                                <dt>{{title.bank_branch | translate}}:</dt>\\r\\n                                <dd>{{bank_branch}}</dd>\\r\\n                                <dt>{{title.bank_account_number | translate}}:</dt>\\r\\n                                <dd>{{bank_account_number}}</dd>\\r\\n\\r\\n                                <dt>{{title.bank_account_holder_name | translate}}:</dt>\\r\\n                                <dd>{{bank_account_holder_name}}</dd>\\r\\n\\r\\n                                <dt>{{title.bank_beneficiary_address | translate}}:</dt>\\r\\n                                <dd>{{bank_beneficiary_address}}</dd>\\r\\n\\r\\n                                <dt>{{title.bank_unique_code | translate}}:</dt>\\r\\n                                <dd>{{bank_unique_code}}</dd>\\r\\n\\r\\n                                <dt>{{title.bank_swift_code | translate}}:</dt>\\r\\n                                <dd>{{bank_swift_code}}</dd>\\r\\n                                \\r\\n                                <dt>{{title.created | translate}}:</dt>\\r\\n                                <dd> {{created_at| date: \\\"dd MMM yyyy hh:mm a\\\"}}</dd>\\r\\n                                \\r\\n                                 <dt>{{title.last_updated | translate}}:</dt>\\r\\n                                <dd>{{updated_at| date: \\\"dd MMM yyyy hh:mm a\\\"}}</dd>\\r\\n\\r\\n\\r\\n\\r\\n                            </dl>\\r\\n                        </div>\\r\\n                        \\r\\n                    </div>\\r\\n\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/view_bank_detail/view_bank_detail.component.html\n// module id = 1651\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>   \\r\\n<div class=\\\"wrapper wrapper-content animated fadeInRight content_top_bar\\\">\\r\\n\\r\\n    <div *ngFor=\\\"let document of document_list; let document_index=index; \\\">\\r\\n\\r\\n        <div class=\\\"col-lg-3 col-sm-6\\\" style=\\\"padding-left: 10px; padding-right: 10px;\\\">\\r\\n            <form #spec=\\\"ngForm\\\" enctype='multipart/form-data' >\\r\\n                <div class=\\\"ibox float-e-margins\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <input type=\\\"hidden\\\" [(ngModel)]=\\\"edit_document[document_index]\\\" name=\\\"edit_document\\\">\\r\\n\\r\\n                        <h5 style=\\\"font-weight: bold;\\\"><label *ngIf=\\\"document.document_details.is_mandatory\\\" style=\\\"color: red;\\\">*</label>{{document.document_details.document_name}}</h5>\\r\\n\\r\\n                        <span *ngIf=\\\"edit_document[document_index]=='false'\\\" class=\\\"fa fa-pencil pull-right\\\" (click)=\\\"editDocument(document , document_index)\\\"></span>\\r\\n\\r\\n                        <span *ngIf=\\\"edit_document[document_index]=='true'\\\" class=\\\"fa fa-check pull-right\\\" (click)=\\\"updateDocument(document , document_index)\\\"></span>\\r\\n\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content no-padding\\\" style=\\\"height: 150px;\\\">\\r\\n                        <div class=\\\"row\\\" style=\\\"padding-top: 18px;padding-bottom: 18px;\\\">\\r\\n                            <div class=\\\"col-md-6 col-xs-6 col-sm-6\\\" style=\\\"padding-left: 28px;\\\">\\r\\n                                <div *ngIf=\\\"edit_document[document_index]!=='true'\\\">\\r\\n                                    <img src=\\\"default.png\\\" class=\\\"document{{document_index}}\\\" style=\\\"width: 100%;max-width: 135px; height: 85px; border-radius: 12px;\\\">\\r\\n                                </div>\\r\\n                                <div *ngIf=\\\"edit_document[document_index]=='true'\\\">\\r\\n                                    <span class=\\\"btn-file\\\"><img src=\\\"default.png\\\" class=\\\"document{{document_index}}\\\" style=\\\"width: 100%;    max-width: 135px; height: 85px; border-radius: 12px;\\\"><input type=\\\"file\\\" (change)=\\\"image_update($event , document_index);\\\" name=\\\"image\\\"></span>\\r\\n                                </div>\\r\\n\\r\\n                                <div *ngIf=\\\"edit_document[document_index]=='true'\\\">\\r\\n\\r\\n                                    <div [ngSwitch]=\\\"error_message\\\">\\r\\n                                        <div *ngSwitchCase=1>\\r\\n                                            <label style=\\\"color: red;margin-bottom: 0px;\\\">{{validation_message.image_required | translate}}</label>\\r\\n                                        </div>\\r\\n                                        <div *ngSwitchCase=2>\\r\\n                                            <label style=\\\"color: red;margin-bottom: 0px;\\\">{{validation_message.expired_date_required | translate}}</label>\\r\\n                                        </div>\\r\\n                                        <div *ngSwitchCase=3>\\r\\n                                            <label style=\\\"color: red;margin-bottom: 0px;\\\">{{validation_message.unique_code_required  | translate}}</label>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-6 col-xs-6 col-sm-6\\\" style=\\\"padding-right: 28px;\\\">\\r\\n                                <div *ngIf=\\\"document.document_details.is_unique_code\\\">\\r\\n                                    <label>{{title.unique_code | translate}}</label>\\r\\n                                    <div *ngIf=\\\"edit_document[document_index]!=='true'\\\">\\r\\n                                        <label style=\\\"font-weight: normal;color:black;\\\">{{document.unique_code}}</label>\\r\\n                                    </div>\\r\\n                                    <div *ngIf=\\\"edit_document[document_index]=='true'\\\">\\r\\n                                        <input type=\\\"text\\\" [(ngModel)]=\\\"documentlist.unique_code\\\" #unique_code=\\\"ngModel\\\"  name=\\\"unique_code\\\" style=\\\"border-radius: 5px;border-color: #060606;height: 30px;\\\" class=\\\"form-control\\\" value=\\\"{{document.unique_code}}\\\">\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div *ngIf=\\\"document.document_details.is_expired_date\\\">\\r\\n                                    <label style=\\\"margin-top: 10px;\\\">{{title.expired_date | translate}}</label>\\r\\n                                    <div *ngIf=\\\"edit_document[document_index]!=='true'\\\">\\r\\n                                        <label style=\\\"font-weight: normal;color:black;\\\">{{document.expired_date | date: \\\"MM-dd-yyyy\\\"}}</label>\\r\\n                                    </div>\\r\\n                                    <div *ngIf=\\\"edit_document[document_index]=='true'\\\">\\r\\n                                        <my-date-picker [(ngModel)]=\\\"documentlist.expired_date\\\" #expired_date=\\\"ngModel\\\"  name=\\\"expired_date\\\" id=\\\"expiry_date\\\" value=\\\"\\\" [options]=\\\"helper.ExpiryDatePickerOptions\\\" placeholder=\\\"{{title.exp_date | translate}}\\\" readonly></my-date-picker>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n                </div>\\r\\n            </form>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/view_document/view_document.component.html\n// module id = 1652\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer> \\r\\n<div class=\\\"row wrapper content_top_bar border-bottom white-bg page-heading\\\">\\r\\n\\r\\n    <div class=\\\"col-lg-12\\\">\\r\\n\\r\\n        <div class=\\\"col-md-4 col-sm-12 col-xs-12\\\">\\r\\n            <h3>{{title.invoice_number | translate}}: {{invoice_number}}</h3>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4 col-sm-6 col-xs-12\\\">\\r\\n            <h3>{{title.invoice_date | translate}}: {{completed_at| date: DATE_FORMAT.DD_MMM_YYYY}}</h3>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4 col-sm-6 col-xs-6\\\">\\r\\n            <span class=\\\"pull-right\\\"><h3>{{currency_sign}} {{total}}</h3></span>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n</div>\\r\\n<!--<div class=\\\"row wrapper content_top_bar border-bottom white-bg page-heading\\\">\\r\\n\\r\\n    <div class=\\\"col-lg-12\\\">\\r\\n        \\r\\n        <span class=\\\"pull-right\\\"><h2><strong>{{currency_sign}} {{total}}</strong></h2></span>\\r\\n        <h3>{{title.invoice_number | translate}} : {{invoice_number}}</h3>\\r\\n        <h3>{{completed_at| date: DATE_FORMAT.DD_MMM_YYYY}}</h3>\\r\\n        \\r\\n    </div>\\r\\n\\r\\n</div>-->\\r\\n<div class=\\\"wrapper wrapper-content animated fadeInRight\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"\\\">\\r\\n            <div class=\\\"col-lg-6 col-sm-6\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" >\\r\\n                        <label class=\\\"control-label\\\">{{heading_title.user_detail | translate}}</label>  \\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\"><label class=\\\"col-lg-2 col-sm-4 col-xs-4 control-label\\\">{{title.order_detail_name | translate}}:</label>\\r\\n\\r\\n                                <div class=\\\"col-lg-10 col-sm-8 col-xs-8\\\">\\r\\n                                    {{user_first_name + \\\" \\\" + user_last_name}}\\r\\n                                </div> \\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\"><label class=\\\"col-lg-2 col-sm-4 col-xs-4 control-label\\\">{{title.order_detail_email | translate}}:</label>\\r\\n\\r\\n                                <div class=\\\"col-lg-10 col-sm-8 col-xs-8\\\">\\r\\n                                    {{user_email}}\\r\\n                                </div> \\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\"><label class=\\\"col-lg-2 col-sm-4 col-xs-4 control-label\\\">{{title.order_detail_phone | translate}}:</label>\\r\\n\\r\\n                                <div class=\\\"col-lg-10 col-sm-8 col-xs-8\\\">\\r\\n                                    {{user_phone}}\\r\\n                                </div> \\r\\n                            </div>\\r\\n\\r\\n\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-lg-6 col-sm-6\\\" >\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" >\\r\\n                        <label class=\\\"control-label\\\">{{heading_title.delivery_user_detail | translate}}</label>  \\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content wizard\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\"><label class=\\\"col-lg-2 col-sm-4 col-xs-4 control-label\\\">{{title.order_detail_name | translate}}:</label>\\r\\n\\r\\n                                <div class=\\\"col-lg-10 col-sm-8 col-xs-8\\\" *ngIf=\\\"delivery_user_name != undefined\\\">\\r\\n                                     {{delivery_user_name}}\\r\\n                            </div> \\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\"><label class=\\\"col-lg-2 col-sm-4 col-xs-4 control-label\\\">{{title.order_detail_phone | translate}}:</label>\\r\\n\\r\\n                            <div class=\\\"col-lg-10 col-sm-8 col-xs-8\\\" *ngIf=\\\"delivery_user_phone != undefined\\\">\\r\\n                                 {{delivery_user_phone}}\\r\\n                        </div> \\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\"><label class=\\\"col-lg-2 col-sm-4 col-xs-4 control-label\\\">{{title.order_detail_address | translate}}:</label>\\r\\n\\r\\n                        <div class=\\\"col-lg-10 col-sm-8 col-xs-8\\\" *ngIf=\\\"delivery_user_address != undefined\\\">\\r\\n                             {{delivery_user_address}}\\r\\n                    </div> \\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n</div>\\r\\n\\r\\n\\r\\n<div class=\\\"col-lg-6 col-sm-6\\\" >\\r\\n    <div class=\\\"ibox\\\">\\r\\n        <div class=\\\"ibox-title\\\" >\\r\\n            <label class=\\\"control-label\\\">{{heading_title.provider_detail | translate}}</label>  \\r\\n        </div>\\r\\n        <div class=\\\"ibox-content wizard\\\">\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\"><label class=\\\"col-lg-2 col-sm-4 col-xs-4 control-label\\\">{{title.order_detail_name | translate}}:</label>\\r\\n\\r\\n                    <div class=\\\"col-lg-10 col-sm-8 col-xs-8\\\" *ngIf=\\\"provider_first_name != undefined && provider_last_name != undefined \\\" >\\r\\n                         {{provider_first_name + \\\" \\\" + provider_last_name}}\\r\\n                </div> \\r\\n            </div>\\r\\n            <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\"><label class=\\\"col-lg-2 col-sm-4 col-xs-4 control-label\\\">{{title.order_detail_email | translate}}:</label>\\r\\n\\r\\n                <div class=\\\"col-lg-10 col-sm-8 col-xs-8\\\" *ngIf=\\\"provider_email != undefined\\\">\\r\\n                     {{provider_email}}\\r\\n            </div> \\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\"><label class=\\\"col-lg-2 col-sm-4 col-xs-4 control-label\\\">{{title.order_detail_phone | translate}}:</label>\\r\\n\\r\\n            <div class=\\\"col-lg-10 col-sm-8 col-xs-8\\\" *ngIf=\\\"provider_phone != undefined\\\">\\r\\n                 {{provider_phone}}\\r\\n        </div> \\r\\n\\r\\n\\r\\n    </div>        \\r\\n\\r\\n\\r\\n\\r\\n</div>\\r\\n</div>\\r\\n</div>\\r\\n</div>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n<div class=\\\"col-lg-6 col-sm-6\\\" >\\r\\n    <div class=\\\"ibox\\\">\\r\\n        <div class=\\\"ibox-title\\\" >\\r\\n            <label class=\\\"control-label\\\">{{heading_title.store_detail | translate}}</label>  \\r\\n        </div>\\r\\n        <div class=\\\"ibox-content wizard\\\">\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\"><label class=\\\"col-lg-2 col-sm-4 col-xs-4 control-label\\\">{{title.order_detail_name | translate}}:</label>\\r\\n\\r\\n                    <div class=\\\"col-lg-10 col-sm-8 col-xs-8\\\">\\r\\n                        {{store_name}}\\r\\n                    </div> \\r\\n                </div>\\r\\n                <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\"><label class=\\\"col-lg-2 col-sm-4 col-xs-4 control-label\\\">{{title.order_detail_email | translate}}:</label>\\r\\n\\r\\n                    <div class=\\\"col-lg-10 col-sm-8 col-xs-8\\\">\\r\\n                        {{store_email}}\\r\\n                    </div> \\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\"><label class=\\\"col-lg-2 col-sm-4 col-xs-4 control-label\\\">{{title.order_detail_phone | translate}}:</label>\\r\\n\\r\\n                    <div class=\\\"col-lg-10 col-sm-8 col-xs-8\\\">\\r\\n                        {{store_phone}}\\r\\n                    </div> \\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\"><label class=\\\"col-lg-2 col-sm-4 col-xs-4 control-label\\\">{{title.order_detail_address | translate}}:</label>\\r\\n\\r\\n                    <div class=\\\"col-lg-10 col-sm-8 col-xs-8\\\">\\r\\n                        {{store_address}}\\r\\n                    </div> \\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n</div>\\r\\n</div>\\r\\n\\r\\n</div>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n<div class=\\\"row\\\">\\r\\n\\r\\n    <div class=\\\"col-lg-12\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\">\\r\\n                <h3 class=\\\"control-label text-navy pull-right\\\" *ngIf=\\\"order_status == ORDER_STATE.ORDER_COMPLETED\\\">{{lable_title.completed}}</h3>\\r\\n                <h3 class=\\\"control-label text-danger pull-right\\\" *ngIf=\\\"order_status != ORDER_STATE.ORDER_COMPLETED\\\">{{lable_title.not_completed}}</h3>\\r\\n\\r\\n                <label class=\\\"control-label\\\">{{heading_title.order_status | translate}}</label> \\r\\n\\r\\n            </div>\\r\\n            <div class=\\\"ibox-content\\\">\\r\\n                <div class=\\\"row\\\">\\r\\n                    <div class=\\\"col-md-12\\\">\\r\\n                        <label class=\\\"col-lg-4 col-sm-4 col-xs-4 control-label\\\">{{title.distance | translate}}</label>\\r\\n\\r\\n                        <div class=\\\"col-lg-4 col-sm-4 col-xs-4\\\">\\r\\n                            <label class=\\\"control-label\\\">{{title.total_time | translate}}</label>\\r\\n                        </div> \\r\\n                        <div class=\\\"col-lg-4 col-sm-4 col-xs-4\\\">\\r\\n                            <label class=\\\"control-label\\\">{{title.total_item | translate}}</label>\\r\\n                        </div> \\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-12\\\">\\r\\n                        <div class=\\\"col-lg-4 col-sm-4 col-xs-4\\\" *ngIf='is_distance_unit_mile == false' >\\r\\n                             {{(total_distance).toFixed()}} {{title.km}}\\r\\n                    </div>\\r\\n                    <div class=\\\"col-lg-4 col-sm-4 col-xs-4\\\" *ngIf='is_distance_unit_mile == true' >\\r\\n                         {{(total_distance).toFixed()}} {{title.miles}}\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-4 col-sm-4 col-xs-4\\\">\\r\\n\\r\\n                    {{total_time}}\\r\\n                </div> \\r\\n                <div class=\\\"col-lg-4 col-sm-4 col-xs-4\\\">\\r\\n                    {{total_item}}\\r\\n\\r\\n                </div> \\r\\n\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n</div>\\r\\n</div>\\r\\n<div class=\\\"row\\\">\\r\\n    <div class=\\\"col-lg-12\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\" >\\r\\n                <h3 class=\\\"control-label pull-right\\\" *ngIf='is_store_pay_delivery_fees == true'>{{lable_title.delivery_fees_paid_by_store}}</h3>\\r\\n\\r\\n\\r\\n\\r\\n                <label class=\\\"control-label\\\">{{title.delivery_fees | translate}}</label>  \\r\\n            </div>\\r\\n            <div class=\\\"ibox-content\\\">\\r\\n                <div class=\\\"table-responsive\\\">\\r\\n\\r\\n                    <table class=\\\"table table-striped\\\">\\r\\n                        <tbody>\\r\\n                            <!--                            <tr>\\r\\n                                                            <td style=\\\"border: none;\\\">\\r\\n                                                                <div><strong>{{title.base_price | translate}}</strong></div>\\r\\n                                                            </td>\\r\\n                                                            <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{base_price}}</td>\\r\\n                                                        </tr>-->\\r\\n                            <!--                            <tr>\\r\\n                                                            <td style=\\\"border: none;\\\">\\r\\n                                                                <div><strong>{{title.distance_price | translate}}</strong></div>\\r\\n                                                            </td>\\r\\n                                                            <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{total_distance_price}}</td>\\r\\n                                                        </tr>\\r\\n                                                        <tr>\\r\\n                                                            <td style=\\\"border: none;\\\">\\r\\n                                                                <div><strong>{{title.time_price | translate}}</strong></div>\\r\\n                                                            </td>\\r\\n                                                            <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{total_time_price}}</td>\\r\\n                                                        </tr>-->\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.service_price | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{total_service_price}}</td>\\r\\n                            </tr>\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.tax_price | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{total_admin_tax_price}}</td>\\r\\n                            </tr>\\r\\n                            <!--                            <tr>\\r\\n                                                            <td style=\\\"border: none;\\\">\\r\\n                                                                <div><strong>{{title.surge_price | translate}}</strong></div>\\r\\n                                                            </td>\\r\\n                                                            <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{total_surge_price}}</td>\\r\\n                                                        </tr>-->\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.delivery_price | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{delivery_price}}</td>\\r\\n                            </tr>\\r\\n                            <tr *ngIf='is_promo_for_delivery_service == true'>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.promo_bonus | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{promo_payment}}</td>\\r\\n                            </tr>\\r\\n                            <tr>\\r\\n                                <td class=\\\"text-danger\\\" style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.total_delivery_price | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{total_delivery_price}}</td>\\r\\n                            </tr>\\r\\n                        </tbody>\\r\\n\\r\\n                    </table>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>  \\r\\n</div>\\r\\n<!--    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-lg-12\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\" >\\r\\n\\r\\n\\r\\n                    <label class=\\\"control-label pull-right\\\">TOTAL</label> \\r\\n                    <label class=\\\"control-label\\\" style=\\\"position: absolute; left:42%;\\\">QUANTITY</label>\\r\\n                    <label class=\\\"control-label\\\" style=\\\"position: absolute; left:64%;\\\">PRICE</label>\\r\\n                    <label class=\\\"control-label\\\">CART</label> \\r\\n\\r\\n                </div>\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"table-responsive\\\" *ngFor=\\\"let products of order_detail; let product_index=index\\\">\\r\\n                         <table class=\\\"table invoice-table\\\">\\r\\n                            <tbody>\\r\\n                                <tr *ngFor=\\\"let item of products.items;\\\">\\r\\n                                    <td width=\\\"200px\\\" style=\\\"border: none;\\\">\\r\\n                                        <div><strong>{{item.item_name}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td style=\\\"border: none;\\\">{{item.quantity}}</td>\\r\\n                                    <td style=\\\"border: none;\\\">{{item.totalItemAndSpecificationPrice}}</td>\\r\\n                                    <td style=\\\"border: none;\\\">{{((item.totalItemAndSpecificationPrice)*item.quantity).toFixed()}}</td>\\r\\n                                </tr>\\r\\n                            </tbody>\\r\\n                        </table>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n        </div>  \\r\\n    </div>-->\\r\\n\\r\\n\\r\\n<div class=\\\"row\\\">\\r\\n    <div class=\\\"col-lg-12\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\" >\\r\\n                <label class=\\\"control-label\\\">{{title.order_fees | translate}}</label>  \\r\\n            </div>\\r\\n            <div class=\\\"ibox-content\\\">\\r\\n                <div class=\\\"table-responsive\\\">\\r\\n\\r\\n                    <table class=\\\"table table-striped\\\">\\r\\n                        <tbody>\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.cart_price | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{total_cart_price}}</td>\\r\\n                            </tr>\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.store_tax_price | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{total_store_tax_price}}</td>\\r\\n                            </tr>\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.order_price | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{order_price}}</td>\\r\\n                            </tr>\\r\\n                            <tr *ngIf='is_promo_for_delivery_service == false'>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.promo_bonus | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{promo_payment}}</td>\\r\\n                            </tr>\\r\\n\\r\\n\\r\\n\\r\\n                            <tr>\\r\\n                                <td class=\\\"text-danger\\\" style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.total_order_price | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"text-danger pull-right\\\" style=\\\"border: none;\\\">{{total_order_price}}</td>\\r\\n                            </tr>\\r\\n                        </tbody>\\r\\n\\r\\n                    </table>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>  \\r\\n</div>\\r\\n<div class=\\\"row\\\">\\r\\n    <div class=\\\"col-lg-12\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\" >\\r\\n                <label class=\\\"control-label\\\">{{title.order_earning_total | translate}}</label>  \\r\\n            </div>\\r\\n            <div class=\\\"ibox-content\\\">\\r\\n                <div class=\\\"table-responsive\\\">\\r\\n\\r\\n                    <table class=\\\"table table-striped\\\">\\r\\n                        <tbody>\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.wallet_payment | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{wallet_payment}}</td>\\r\\n                            </tr>\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.cash_payment | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{cash_payment}}</td>\\r\\n                            </tr>\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.other_payment | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{card_payment}}</td>\\r\\n                            </tr>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n                            <tr>\\r\\n                                <td class=\\\"text-danger pull-center\\\" style=\\\"border: none;\\\">\\r\\n                                    <div><h2><strong style=\\\"margin-left:50%\\\">{{title.order_earning_total | translate}}: {{total}}</strong></h2></div>\\r\\n                                </td>\\r\\n\\r\\n                            </tr>\\r\\n                        </tbody>\\r\\n\\r\\n                    </table>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>  \\r\\n</div>\\r\\n\\r\\n\\r\\n<div class=\\\"row\\\">\\r\\n    <div class=\\\"col-lg-12\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\" >\\r\\n                <label class=\\\"control-label\\\">{{title.store_earn | translate}}</label>  \\r\\n            </div>\\r\\n            <div class=\\\"ibox-content\\\">\\r\\n                <div class=\\\"table-responsive\\\">\\r\\n\\r\\n                    <table class=\\\"table table-striped\\\">\\r\\n                        <tbody>\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.store_have_service_payment | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{store_have_service_payment}}</td>\\r\\n                            </tr>\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.store_have_order_payment | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{store_have_order_payment}}</td>\\r\\n                            </tr>\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.store_profit | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{total_store_income}}</td>\\r\\n                            </tr>\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.pay_to_store | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{pay_to_store}}</td>\\r\\n                            </tr>\\r\\n\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.store_income_set_in_wallet | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{store_income_set_in_wallet}}</td>\\r\\n                            </tr>\\r\\n\\r\\n\\r\\n                        </tbody>\\r\\n\\r\\n                    </table>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>  \\r\\n</div>\\r\\n\\r\\n\\r\\n\\r\\n<div class=\\\"row\\\">\\r\\n    <div class=\\\"col-lg-12\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\" >\\r\\n                <label class=\\\"control-label\\\">{{title.deliveryman_earn | translate}}</label>  \\r\\n            </div>\\r\\n            <div class=\\\"ibox-content\\\">\\r\\n                <div class=\\\"table-responsive\\\">\\r\\n\\r\\n                    <table class=\\\"table table-striped\\\">\\r\\n                        <tbody>\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.have_service_amount | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{provider_have_cash_payment}}</td>\\r\\n                            </tr>\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.paid_order_payment | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{provider_paid_order_payment}}</td>\\r\\n                            </tr>\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.deliveryman_profit | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{total_provider_income}}</td>\\r\\n                            </tr>\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.pay_to_provider | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{pay_to_provider}}</td>\\r\\n                            </tr>\\r\\n\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.provider_income_set_in_wallet | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{provider_income_set_in_wallet}}</td>\\r\\n                            </tr>\\r\\n\\r\\n\\r\\n                        </tbody>\\r\\n\\r\\n                    </table>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>  \\r\\n</div>\\r\\n\\r\\n<div class=\\\"row\\\">\\r\\n    <div class=\\\"col-lg-12\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\" >\\r\\n                <label class=\\\"control-label\\\">{{title.order_earning_admin_earn | translate}}</label>  \\r\\n            </div>\\r\\n            <div class=\\\"ibox-content\\\">\\r\\n                <div class=\\\"table-responsive\\\">\\r\\n\\r\\n                    <table class=\\\"table table-striped\\\">\\r\\n                        <tbody>\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.admin_profit_on_store | translate}}</strong></div>\\r\\n                                </td>\\r\\n                        <span style=\\\"position: absolute; left:48%; \\\" class=\\\"col-lg-12\\\" *ngIf=\\\"admin_profit_mode_on_store == 1\\\">{{admin_profit_value_on_store}}%/Order</span>\\r\\n                        <span style=\\\"position: absolute; left:48%; \\\" class=\\\"col-lg-12\\\" *ngIf=\\\"admin_profit_mode_on_store == 2 || admin_profit_mode_on_store == 3\\\">{{currency_sign}}{{admin_profit_value_on_store}}/Order</span>\\r\\n\\r\\n                        <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(total_admin_profit_on_store).toFixed(2)}}</td>\\r\\n                        </tr>\\r\\n                        <tr>\\r\\n                            <td style=\\\"border: none;\\\">\\r\\n                                <div><strong>{{title.admin_profit_on_delivery | translate}}</strong></div>\\r\\n                            </td>\\r\\n                        <span style=\\\"position: absolute; left:48%;\\\" class=\\\"col-lg-12\\\" *ngIf=\\\"admin_profit_mode_on_delivery == 1\\\">{{admin_profit_value_on_delivery}}%/Delivery</span>\\r\\n                        <span style=\\\"position: absolute; left:48%;\\\" class=\\\"col-lg-12\\\" *ngIf=\\\"admin_profit_mode_on_delivery == 2\\\">{{currency_sign}}{{admin_profit_value_on_delivery}}/Delivery</span>\\r\\n\\r\\n                        <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(total_admin_profit_on_delivery).toFixed(2)}}</td>\\r\\n                        </tr>\\r\\n\\r\\n\\r\\n\\r\\n                        </tbody>\\r\\n\\r\\n                    </table>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>  \\r\\n</div>\\r\\n\\r\\n<div class=\\\"row\\\">\\r\\n    <div class=\\\"col-lg-12\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\" >\\r\\n                <label class=\\\"control-label\\\">{{title.order_earning_admin_earn | translate}}({{title.in_admin_currency | translate}})</label>  \\r\\n            </div>\\r\\n            <div class=\\\"ibox-content\\\">\\r\\n                <div class=\\\"table-responsive\\\">\\r\\n\\r\\n                    <table class=\\\"table table-striped\\\">\\r\\n                        <tbody>\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.convert_rate | translate}}</strong></div>\\r\\n                                </td>\\r\\n\\r\\n\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{current_rate}}</td>\\r\\n                            </tr>\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.admin_profit_on_store | translate}}</strong></div>\\r\\n                                </td>\\r\\n\\r\\n\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{((total_admin_profit_on_store).toFixed(2)) * current_rate }}</td>\\r\\n                            </tr>\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.admin_profit_on_delivery | translate}}</strong></div>\\r\\n                                </td>\\r\\n\\r\\n\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{((total_admin_profit_on_delivery).toFixed(2)) * current_rate }}</td>\\r\\n                            </tr>\\r\\n\\r\\n\\r\\n\\r\\n                        </tbody>\\r\\n\\r\\n                    </table>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>  \\r\\n</div>\\r\\n\\r\\n</div>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/view_earning_detail/view_earning_detail.component.html\n// module id = 1653\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer> \\r\\n<div class=\\\"wrapper wrapper-content animated fadeInRight content_top_bar\\\">\\r\\n    <div class=\\\"ibox\\\">\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n                    <div class=\\\"lable_center\\\">\\r\\n                        <label>{{title.date_filter | translate}}</label>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"col-md-12 remove_padding\\\">\\r\\n\\r\\n\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <div class=\\\"input-group\\\">\\r\\n\\r\\n                                <my-date-picker id=\\\"start_date\\\" [options]=\\\"helper.myStartDatePickerOptions\\\" placeholder=\\\"Start Date\\\" [(ngModel)]=\\\"start_date\\\" (dateChanged)=\\\"helper.onStartDateChanged($event)\\\"\\r\\n                                                readonly></my-date-picker>\\r\\n                                <span class=\\\"input-group-addon date_filter_icon\\\">To</span>\\r\\n\\r\\n                                <my-date-picker id=\\\"end_date\\\" [options]=\\\"helper.myEndDatePickerOptions\\\" placeholder=\\\"End Date\\\" [(ngModel)]=\\\"end_date\\\" (dateChanged)=\\\"helper.onEndDateChanged($event)\\\"\\r\\n                                                readonly></my-date-picker>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n                    <div class=\\\"lable_center\\\">\\r\\n                        <label>{{title.search | translate}}</label>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                            <select chosen class=\\\"chosen-select\\\" id=\\\"search_field\\\" [(ngModel)]=\\\"search_field\\\" name=\\\"search_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                                <option value=\\\"user_detail.first_name\\\">{{title.filter_user | translate}}</option>\\r\\n                                <option value=\\\"provider_detail.first_name\\\">{{title.filter_provider | translate}}</option>\\r\\n                                <option value=\\\"store_detail.name\\\">{{title.filter_store | translate}}</option>\\r\\n                            </select>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <div class=\\\"input-group\\\">\\r\\n\\r\\n                                <input type=\\\"text\\\" class=\\\"form-control search_box\\\" [(ngModel)]=\\\"search_value\\\"  name=\\\"search_value\\\">\\r\\n                                <span class=\\\"input-group-addon search_icon\\\"><span class=\\\"fa fa-search\\\"></span></span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n                    <div class=\\\"lable_center\\\">\\r\\n                        <label>{{title.sort | translate}}</label>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                        <div class=\\\"form-group\\\" id=\\\"sort_fields\\\">\\r\\n                            <select chosen class=\\\"chosen-select\\\" id=\\\"sort_field\\\" [(ngModel)]=\\\"sort_field\\\" name=\\\"sort_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                                <option value=\\\"unique_id\\\">{{title.filter_id | translate}}</option>\\r\\n                                <option value=\\\"user_detail.first_name\\\">{{title.filter_user | translate}}</option>\\r\\n                                <option value=\\\"provider_detail.first_name\\\">{{title.filter_provider | translate}}</option>\\r\\n                                <option value=\\\"store_detail.name\\\">{{title.filter_store | translate}}</option>\\r\\n                            </select>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                        <div class=\\\"form-group\\\" id=\\\"sort_orders\\\">\\r\\n\\r\\n                            <select chosen class=\\\"chosen-select\\\" id=\\\"sort_order\\\" [(ngModel)]=\\\"sort_order\\\" name=\\\"sort_order\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                                <option value=\\\"1\\\">{{title.ascending | translate}}</option>\\r\\n                                <option value=\\\"-1\\\">{{title.descending | translate}}</option>\\r\\n                            </select>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n                    <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                        <!--                        <input type=\\\"button\\\" class=\\\"btn export_excel_btn pull-right\\\" value=\\\"{{button.export_excel}}\\\" >-->\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                        <input type=\\\"button\\\" (click)=\\\"admin_history(1)\\\" class=\\\"btn filter_apply_btn pull-right\\\" value=\\\"{{button.apply | translate}}\\\" >\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"ibox\\\">\\r\\n        <div class=\\\"ibox-title\\\">\\r\\n            <h5>{{heading_title.history | translate}}</h5>\\r\\n\\r\\n        </div>\\r\\n        <div class=\\\"ibox-content\\\" style=\\\"padding-bottom: 40px;\\\">\\r\\n            <div class=\\\"table-responsive\\\">\\r\\n                <table class=\\\"table table-striped\\\">\\r\\n                    <thead>\\r\\n                        <tr>\\r\\n                            <th>{{title.ID | translate}}</th>\\r\\n                            <th>{{title.user | translate}}</th>\\r\\n                            <th>{{title.store | translate}}</th>\\r\\n                            <th>{{title.city | translate}}</th>\\r\\n                            <th>{{title.provider | translate}}</th>\\r\\n                            <th>{{title.status | translate}}</th>\\r\\n                            <th>{{title.amount | translate}}</th>\\r\\n                            <th>{{title.payment_by | translate}}</th>\\r\\n                            <th>{{title.date | translate}}</th>\\r\\n                            <th>{{title.delivery_at | translate}}</th>\\r\\n                            <th>{{title.action | translate}}</th>\\r\\n\\r\\n                        </tr>\\r\\n                    </thead>\\r\\n                    <tbody>\\r\\n                        <tr *ngFor=\\\"let order of order_list; let index=index; let last=last;\\\">\\r\\n                            <td>{{order.unique_id}}</td>\\r\\n                            <td>{{order.user_detail.first_name}} {{order.user_detail.last_name}}</td>\\r\\n                            <td>{{order.store_detail.name}}</td>\\r\\n                            <td>{{order.city_detail.city_name}}</td>\\r\\n                            <td><div *ngIf=\\\"order.request_detail != undefined && order.provider_detail.length>0\\\">{{order.provider_detail[0].first_name}} {{order.provider_detail[0].last_name}}</div></td>\\r\\n                            <td [ngSwitch]=\\\"order.order_status\\\">\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.STORE_REJECTED\\\"><span class=\\\"label label-danger\\\">{{status.rejected}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.STORE_CANCELLED\\\"><span class=\\\"label label-danger\\\">{{status.cancelled}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.CANCELED_BY_USER\\\"><span class=\\\"label label-danger\\\">{{status.user_cancelled}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.ORDER_COMPLETED\\\"><span class=\\\"label label-primary\\\">{{status.completed}}</span></div>\\r\\n\\r\\n                            </td>\\r\\n                            <td>{{((+order.order_payment_detail.total_delivery_price + +order.order_payment_detail.total_order_price).toFixed(2)) }}</td>\\r\\n                            <td [ngSwitch]=\\\"order.order_payment_detail.is_payment_mode_cash\\\">\\r\\n                                <div *ngSwitchCase=\\\"true\\\"><span class=\\\"label label-primary\\\">{{lable_title.cash}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"false\\\"><span class=\\\"label label-danger\\\" *ngIf=\\\"order.payment_gateway_detail.length >0\\\">{{order.payment_gateway_detail[0].name}}</span></div>\\r\\n                            </td>\\r\\n                            <td>{{order.created_at| date: DATE_FORMAT.DD_MMM_YYYY}}</td>\\r\\n                            <td>{{order.completed_at| date: DATE_FORMAT.DD_MMM_YYYY_HH_MM_A}}</td>\\r\\n\\r\\n                            <td><div class=\\\"dropdown pull-right\\\" [class.dropup]=\\\"last && !index==0\\\" dropdown>\\r\\n                                    <button class=\\\"btn btn-primary\\\" dropdown-open>{{title.action | translate}}<span class=\\\"caret\\\"></span></button>\\r\\n\\r\\n\\r\\n                                    <ul class=\\\"dropdown-menu\\\">\\r\\n                                        <li><a (click)=\\\"order_detail(order._id)\\\" ><span style=\\\"display:block;\\\" class=\\\"nav-label\\\">{{button.view_detail | translate}}</span> </a></li>\\r\\n\\r\\n                                        <!--                                        <li><a (click)=\\\"view_cart(order._id)\\\" ><span style=\\\"display:block;\\\" class=\\\"nav-label\\\">{{button.view_cart | translate}}</span> </a></li>\\r\\n                                        -->\\r\\n                                    </ul>\\r\\n                                </div></td>\\r\\n\\r\\n\\r\\n\\r\\n                        </tr>\\r\\n                    </tbody>\\r\\n                </table>\\r\\n            </div>\\r\\n\\r\\n\\r\\n            <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                <div class=\\\"lable_center\\\">\\r\\n\\r\\n                    <ul class=\\\"pagination\\\">\\r\\n                        <li *ngIf=\\\"page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"admin_history(page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                        <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page==index\\\">\\r\\n                            <a *ngIf=\\\"index==1 || index==total_page || index==page || index==page-1 || index==page+1\\\" (click)=\\\"admin_history(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                            <a *ngIf=\\\"(index==1 && (page!==1 && page!==2 && page!==3)) || (index==total_page-1 && (page!==total_page && page!==total_page-1 && page!==total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n\\r\\n                        </li>\\r\\n                        <li *ngIf=\\\"page!==total_page && order_list.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"admin_history(page+1)\\\">{{button.next | translate}}</a></li>\\r\\n                    </ul>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/view_history/view_history.component.html\n// module id = 1654\n// module chunks = 0","module.exports = \"<!--<div class=\\\"row wrapper content_top_bar border-bottom white-bg page-heading\\\">\\r\\n    <div class=\\\"col-lg-12\\\">\\r\\n        <div class=\\\"title-action\\\">\\r\\n            <a target=\\\"_blank\\\" class=\\\"btn btn-primary\\\"><i class=\\\"fa fa-print\\\"></i> Print Invoice </a>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>-->\\r\\n<div class=\\\"row\\\">\\r\\n    <div class=\\\"col-lg-12\\\">\\r\\n        <div class=\\\"wrapper wrapper-content animated fadeInRight content_top_bar\\\">\\r\\n            <div class=\\\"ibox-content p-xl\\\">\\r\\n                <div class=\\\"row\\\">\\r\\n                    <div class=\\\"col-sm-6\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <h4>Store Address:</h4>\\r\\n                            <address>\\r\\n                                {{source_address}}\\r\\n\\r\\n                            </address>\\r\\n                        </div>\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <h4>User Address:</h4>\\r\\n                            <address>\\r\\n                                {{destination_address}}\\r\\n\\r\\n                            </address>\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n\\r\\n\\r\\n                    <div class=\\\"col-sm-6 text-right\\\">\\r\\n                        <h4>Invoice No.</h4>\\r\\n                        <h4 class=\\\"text-navy\\\">{{invoice_number}}</h4>\\r\\n\\r\\n\\r\\n                        <p>\\r\\n                            <span><strong>Invoice Date:</strong>{{completed_at| date: \\\"dd MMM yyyy\\\"}}</span><br/>\\r\\n\\r\\n                        </p>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div *ngFor=\\\"let products of order_detail; let product_index=index\\\">\\r\\n                    <div class=\\\"table-responsive m-t\\\">\\r\\n\\r\\n                        <table class=\\\"table invoice-table\\\">\\r\\n                            <thead>\\r\\n                                <tr>\\r\\n                                    <th width=\\\"200px\\\">{{products.product_name}}</th>\\r\\n                                    <th>Quantity</th>\\r\\n                                    <th>Price</th>\\r\\n                                    <th>Total Price</th>\\r\\n                                </tr>\\r\\n                            </thead>\\r\\n                            <tbody>\\r\\n\\r\\n                                <tr *ngFor=\\\"let item of products.items;\\\">\\r\\n                                    <td width=\\\"200px\\\">\\r\\n                                        <div><strong>{{item.item_name}}</strong></div>\\r\\n                                        <small>{{item.details}}</small>\\r\\n\\r\\n                                    </td>\\r\\n                                    <td>{{item.quantity}}</td>\\r\\n                                    <td>{{currency_sign}}{{item.item_price}}</td>\\r\\n                                    <td>{{currency_sign}}{{((item.item_price)*item.quantity).toFixed()}}</td>\\r\\n                                </tr>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n                            </tbody>\\r\\n                        </table>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <!-- /table-responsive -->\\r\\n\\r\\n                <table class=\\\"table invoice-total\\\">\\r\\n                    <tbody>\\r\\n                        <tr>\\r\\n                            <td><strong>Sub Total :</strong></td>\\r\\n                            <td>{{currency_sign}}{{total_delivery_price}}</td>\\r\\n                        </tr>\\r\\n                        <tr>\\r\\n                            <td><strong>TAX :</strong></td>\\r\\n                            <td>{{currency_sign}}{{total_store_tax_price}}</td>\\r\\n                        </tr>\\r\\n                        <tr>\\r\\n                            <td><strong>TOTAL :</strong></td>\\r\\n                            <td>{{currency_sign}}{{total_order_price}}</td>\\r\\n                        </tr>\\r\\n                    </tbody>\\r\\n                </table>\\r\\n                <div class=\\\"text-right\\\">\\r\\n                    <button class=\\\"btn btn-primary\\\">{{currency_sign}}{{total_order_price}}</button>\\r\\n                </div>\\r\\n\\r\\n\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/view_invoice/view_invoice.component.html\n// module id = 1655\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer> \\r\\n<style>\\r\\n    .remove_border{\\r\\n        border: 0;\\r\\n    }\\r\\n</style>\\r\\n<div class=\\\"row wrapper content_top_bar border-bottom white-bg page-heading\\\">\\r\\n\\r\\n    <div class=\\\"col-lg-12\\\">\\r\\n\\r\\n        <div class=\\\"col-md-4 col-sm-12 col-xs-12\\\">\\r\\n            <h3>{{title.invoice_number | translate}}: {{invoice_number}}</h3>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4 col-sm-6 col-xs-12\\\">\\r\\n            <h3>{{title.invoice_date | translate}}: {{completed_at| date: DATE_FORMAT.DD_MMM_YYYY}}</h3>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4 col-sm-6 col-xs-6\\\">\\r\\n            <span class=\\\"pull-right\\\"><h3>{{currency_sign}} {{total}}</h3></span>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n</div>\\r\\n<!--<div class=\\\"row wrapper content_top_bar border-bottom white-bg page-heading\\\">\\r\\n\\r\\n    <div class=\\\"col-lg-12\\\">\\r\\n        \\r\\n        <span class=\\\"pull-right\\\"><h2><strong>{{currency_sign}} {{total}}</strong></h2></span>\\r\\n        <h3>{{title.invoice_number | translate}} : {{invoice_number}}</h3>\\r\\n        <h3>{{completed_at| date: DATE_FORMAT.DD_MMM_YYYY}}</h3>\\r\\n    </div>\\r\\n\\r\\n</div>-->\\r\\n<div class=\\\"wrapper wrapper-content animated fadeInRight \\\">\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"\\\">\\r\\n            <div class=\\\"col-lg-6 col-sm-6\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" >\\r\\n                        <label class=\\\"control-label\\\">{{heading_title.user_detail | translate}}</label>  \\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\"><label class=\\\"col-lg-2 col-sm-4 col-xs-4 control-label\\\">{{title.order_detail_name | translate}}:</label>\\r\\n\\r\\n                                <div class=\\\"col-lg-10 col-sm-8 col-xs-8\\\">\\r\\n                                    {{user_first_name + \\\" \\\" + user_last_name}}\\r\\n                                </div> \\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\"><label class=\\\"col-lg-2 col-sm-4 col-xs-4 control-label\\\">{{title.order_detail_email | translate}}:</label>\\r\\n\\r\\n                                <div class=\\\"col-lg-10 col-sm-8 col-xs-8\\\">\\r\\n                                    {{user_email}}\\r\\n                                </div> \\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\"><label class=\\\"col-lg-2 col-sm-4 col-xs-4 control-label\\\">{{title.order_detail_phone | translate}}:</label>\\r\\n\\r\\n                                <div class=\\\"col-lg-10 col-sm-8 col-xs-8\\\">\\r\\n                                    {{user_phone}}\\r\\n                                </div> \\r\\n                            </div>\\r\\n\\r\\n\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-lg-6 col-sm-6\\\" >\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" >\\r\\n                        <label class=\\\"control-label\\\">{{heading_title.delivery_user_detail | translate}}</label>  \\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content wizard\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\"><label class=\\\"col-lg-2 col-sm-4 col-xs-4 control-label\\\">{{title.order_detail_name | translate}}:</label>\\r\\n\\r\\n                                <div class=\\\"col-lg-10 col-sm-8 col-xs-8\\\" *ngIf=\\\"delivery_user_name != undefined\\\">\\r\\n                                     {{delivery_user_name}}\\r\\n                            </div> \\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\"><label class=\\\"col-lg-2 col-sm-4 col-xs-4 control-label\\\">{{title.order_detail_phone | translate}}:</label>\\r\\n\\r\\n                            <div class=\\\"col-lg-10 col-sm-8 col-xs-8\\\" *ngIf=\\\"delivery_user_phone != undefined\\\">\\r\\n                                 {{delivery_user_phone}}\\r\\n                        </div> \\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\"><label class=\\\"col-lg-2 col-sm-4 col-xs-4 control-label\\\">{{title.order_detail_address | translate}}:</label>\\r\\n\\r\\n                        <div class=\\\"col-lg-10 col-sm-8 col-xs-8\\\" *ngIf=\\\"delivery_user_address != undefined\\\">\\r\\n                             {{delivery_user_address}}\\r\\n                    </div> \\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n</div>\\r\\n\\r\\n\\r\\n<div class=\\\"col-lg-6 col-sm-6\\\" >\\r\\n    <div class=\\\"ibox\\\">\\r\\n        <div class=\\\"ibox-title\\\" >\\r\\n            <label class=\\\"control-label\\\">{{heading_title.provider_detail | translate}}</label>  \\r\\n        </div>\\r\\n        <div class=\\\"ibox-content wizard\\\">\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\"><label class=\\\"col-lg-2 col-sm-4 col-xs-4 control-label\\\">{{title.order_detail_name | translate}}:</label>\\r\\n\\r\\n                    <div class=\\\"col-lg-10 col-sm-8 col-xs-8\\\" *ngIf=\\\"provider_first_name != undefined && provider_last_name != undefined \\\" >\\r\\n                         {{provider_first_name + \\\" \\\" + provider_last_name}}\\r\\n                </div> \\r\\n            </div>\\r\\n            <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\"><label class=\\\"col-lg-2 col-sm-4 col-xs-4 control-label\\\">{{title.order_detail_email | translate}}:</label>\\r\\n\\r\\n                <div class=\\\"col-lg-10 col-sm-8 col-xs-8\\\" *ngIf=\\\"provider_email != undefined\\\">\\r\\n                     {{provider_email}}\\r\\n            </div> \\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\"><label class=\\\"col-lg-2 col-sm-4 col-xs-4 control-label\\\">{{title.order_detail_phone | translate}}:</label>\\r\\n\\r\\n            <div class=\\\"col-lg-10 col-sm-8 col-xs-8\\\" *ngIf=\\\"provider_phone != undefined\\\">\\r\\n                 {{provider_phone}}\\r\\n        </div> \\r\\n    </div>        \\r\\n\\r\\n    <!--<div class=\\\"col-md-12 col-sm-12 col-xs-12\\\"><label class=\\\"col-lg-2 col-sm-4 col-xs-4 control-label\\\">{{title.order_detail_vehicle | translate}}:</label>\\r\\n    \\r\\n            <div class=\\\"col-lg-10 col-sm-8 col-xs-8\\\" *ngIf=\\\"vehicle_name != undefined\\\">\\r\\n                 {{vehicle_name}}\\r\\n        </div> \\r\\n        </div>-->\\r\\n\\r\\n</div>\\r\\n</div>\\r\\n</div>\\r\\n</div>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n<div class=\\\"col-lg-6 col-sm-6\\\" >\\r\\n    <div class=\\\"ibox\\\">\\r\\n        <div class=\\\"ibox-title\\\" >\\r\\n            <label class=\\\"control-label\\\">{{heading_title.store_detail | translate}}</label>  \\r\\n        </div>\\r\\n        <div class=\\\"ibox-content wizard\\\">\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\"><label class=\\\"col-lg-2 col-sm-4 col-xs-4 control-label\\\">{{title.order_detail_name | translate}}:</label>\\r\\n\\r\\n                    <div class=\\\"col-lg-10 col-sm-8 col-xs-8\\\">\\r\\n                        {{store_name}}\\r\\n                    </div> \\r\\n                </div>\\r\\n                <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\"><label class=\\\"col-lg-2 col-sm-4 col-xs-4 control-label\\\">{{title.order_detail_email | translate}}:</label>\\r\\n\\r\\n                    <div class=\\\"col-lg-10 col-sm-8 col-xs-8\\\">\\r\\n                        {{store_email}}\\r\\n                    </div> \\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\"><label class=\\\"col-lg-2 col-sm-4 col-xs-4 control-label\\\">{{title.order_detail_phone | translate}}:</label>\\r\\n\\r\\n                    <div class=\\\"col-lg-10 col-sm-8 col-xs-8\\\">\\r\\n                        {{store_phone}}\\r\\n                    </div> \\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\"><label class=\\\"col-lg-2 col-sm-4 col-xs-4 control-label\\\">{{title.order_detail_address | translate}}:</label>\\r\\n\\r\\n                    <div class=\\\"col-lg-10 col-sm-8 col-xs-8\\\">\\r\\n                        {{store_address}}\\r\\n                    </div> \\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n</div>\\r\\n</div>\\r\\n\\r\\n</div>\\r\\n\\r\\n<div class=\\\"row\\\">\\r\\n\\r\\n    <div class=\\\"col-lg-12\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\">\\r\\n\\r\\n                <div class=\\\"col-md-3 com-sm-6 col-xs-6\\\">\\r\\n                    <label class=\\\"control-label\\\">{{heading_title.order_status | translate}}</label> \\r\\n                </div>\\r\\n                <div class=\\\"col-md-3 com-sm-6 col-xs-6 pull-right\\\">\\r\\n                    <h3 class=\\\"control-label text-navy pull-right\\\" *ngIf=\\\"order_status == ORDER_STATE.ORDER_COMPLETED\\\">{{lable_title.completed}}</h3>\\r\\n                    <h3 class=\\\"control-label text-danger pull-right\\\" *ngIf=\\\"order_status_id != ORDER_STATUS_ID.COMPLETED\\\">{{lable_title.not_completed}}</h3>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-md-2 com-sm-4 col-xs-12\\\" *ngIf='is_distance_unit_mile == false'><span>{{title.distance | translate}}:{{(total_distance).toFixed()}} {{title.km}}</span></div>\\r\\n                <div class=\\\"col-md-2 com-sm-4 col-xs-12\\\" *ngIf='is_distance_unit_mile == true'><span >{{title.distance | translate}}:{{(total_distance).toFixed()}} {{title.miles}}</span></div>\\r\\n                <div class=\\\"col-md-2 com-sm-4 col-xs-12\\\"><span>{{title.total_time | translate}}:{{total_time}}</span></div>\\r\\n                <div class=\\\"col-md-2 com-sm-4 col-xs-12\\\"><span>{{title.total_item | translate}}:{{total_item}}</span></div>\\r\\n\\r\\n            </div>\\r\\n            <div class=\\\"ibox-content\\\">\\r\\n                <div class=\\\"table-responsive\\\">\\r\\n                    <table class=\\\"table\\\">\\r\\n                        <thead>\\r\\n                            <tr>\\r\\n                                <th class=\\\"remove_border\\\">{{lable_title.created_at | translate}}</th>\\r\\n                                <th class=\\\"remove_border\\\"><span class=\\\"fa fa-long-arrow-right\\\"></span></th>\\r\\n                                <th class=\\\"remove_border\\\">{{lable_title.store_accepted_at | translate}}</th>\\r\\n                                <th class=\\\"remove_border\\\"><span class=\\\"fa fa-long-arrow-right\\\"></span></th>\\r\\n                                <th class=\\\"remove_border\\\">{{lable_title.preparing_order_at | translate}}</th>\\r\\n                                <th class=\\\"remove_border\\\"><span class=\\\"fa fa-long-arrow-right\\\"></span></th>\\r\\n                                <th class=\\\"remove_border\\\">{{lable_title.order_ready_at | translate}}</th>\\r\\n                                <th class=\\\"remove_border\\\"><span class=\\\"fa fa-long-arrow-right\\\"></span></th>\\r\\n\\r\\n                                <th class=\\\"remove_border\\\">{{lable_title.completed_at | translate}}</th>\\r\\n                                <th class=\\\"remove_border\\\"><span class=\\\"fa fa-long-arrow-right\\\"></span></th>\\r\\n                            </tr>\\r\\n                        </thead>\\r\\n                        <tbody>\\r\\n                            <tr>\\r\\n                                <td class=\\\"remove_border\\\" *ngIf=\\\"created_at!=null\\\">{{created_at}}</td>\\r\\n                                <td class=\\\"remove_border\\\"></td>\\r\\n\\r\\n                                <!--                                <div *ngFor=\\\"let i of date_time\\\">\\r\\n                                                                <td class=\\\"remove_border\\\" *ngIf=\\\"i.status==ORDER_STATE.STORE_ACCEPTED\\\">{{i.date}}</td>\\r\\n                                                                <td class=\\\"remove_border\\\"></td>\\r\\n                                                                <td class=\\\"remove_border\\\" *ngIf=\\\"i.status==ORDER_STATE.STORE_PREPARING_ORDER\\\">{{i.date}}</td>\\r\\n                                                                <td class=\\\"remove_border\\\"></td>\\r\\n                                                                <td class=\\\"remove_border\\\" *ngIf=\\\"i.status==ORDER_STATE.OREDER_READY\\\">{{i.date}}</td>\\r\\n                                                                <td class=\\\"remove_border\\\"></td>\\r\\n                                                                </div>-->\\r\\n\\r\\n                                <td class=\\\"remove_border\\\" *ngIf=\\\"store_accepted_at!=null\\\">{{store_accepted_at}}</td>\\r\\n                                <td class=\\\"remove_border\\\"></td>\\r\\n                                <td class=\\\"remove_border\\\" *ngIf=\\\"start_preparing_order_at!=null\\\"> {{start_preparing_order_at}}</td>\\r\\n                                <td class=\\\"remove_border\\\"></td>\\r\\n                                <td class=\\\"remove_border\\\" *ngIf=\\\"order_ready_at!=null\\\">{{order_ready_at}}</td>\\r\\n                                <td class=\\\"remove_border\\\"></td>\\r\\n\\r\\n                                <td class=\\\"remove_border\\\" *ngIf=\\\"completed_at!=null\\\">{{completed_at}}</td>\\r\\n                                <td class=\\\"remove_border\\\"></td>\\r\\n                            </tr>\\r\\n                        </tbody>\\r\\n                    </table>\\r\\n\\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n<div class=\\\"row\\\">\\r\\n    <div class=\\\"col-lg-12\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\" >\\r\\n                <h3 class=\\\"control-label pull-right\\\" *ngIf='is_store_pay_delivery_fees == true'>{{lable_title.delivery_fees_paid_by_store}}</h3>\\r\\n                <label class=\\\"control-label\\\">{{title.delivery_fees | translate}}</label>  \\r\\n            </div>\\r\\n            <div class=\\\"ibox-content\\\">\\r\\n                <div class=\\\"table-responsive\\\">\\r\\n\\r\\n                    <table class=\\\"table table-striped\\\">\\r\\n                        <tbody>\\r\\n                            <!--                            <tr>\\r\\n                                                            <td style=\\\"border: none;\\\">\\r\\n                                                                <div><strong>{{title.base_price | translate}}</strong></div>\\r\\n                                                            </td>\\r\\n                                                            <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{base_price}}</td>\\r\\n                                                        </tr>-->\\r\\n                            <!--                            <tr>\\r\\n                                                            <td style=\\\"border: none;\\\">\\r\\n                                                                <div><strong>{{title.distance_price | translate}}</strong></div>\\r\\n                                                            </td>\\r\\n                                                            <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{total_distance_price}}</td>\\r\\n                                                        </tr>-->\\r\\n                            <!--                            <tr>\\r\\n                                                            <td style=\\\"border: none;\\\">\\r\\n                                                                <div><strong>{{title.time_price | translate}}</strong></div>\\r\\n                                                            </td>\\r\\n                                                            <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{total_time_price}}</td>\\r\\n                                                        </tr>-->\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.service_price | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{total_service_price}}</td>\\r\\n                            </tr>\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.tax_price | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{total_admin_tax_price}}</td>\\r\\n                            </tr>\\r\\n                            <!--                            <tr>\\r\\n                                                            <td style=\\\"border: none;\\\">\\r\\n                                                                <div><strong>{{title.surge_price | translate}}</strong></div>\\r\\n                                                            </td>\\r\\n                                                            <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{total_surge_price}}</td>\\r\\n                                                        </tr>-->\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.delivery_price | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{delivery_price}}</td>\\r\\n                            </tr>\\r\\n                            <tr *ngIf='is_promo_for_delivery_service == true'>\\r\\n                                <td style=\\\"border: none;\\\" >\\r\\n                                    <div><strong>{{title.promo_bonus | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{promo_payment}}</td>\\r\\n                            </tr>\\r\\n                            <tr>\\r\\n                                <td class=\\\"text-danger\\\" style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.total_delivery_price | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{total_delivery_price}}</td>\\r\\n                            </tr>\\r\\n                        </tbody>\\r\\n\\r\\n                    </table>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>  \\r\\n</div>\\r\\n<div class=\\\"row\\\">\\r\\n    <div class=\\\"col-lg-12\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-content\\\">\\r\\n                <div class=\\\"table-responsive\\\">\\r\\n                    <table class=\\\"table\\\">\\r\\n                        <thead class=\\\"ibox-title\\\">\\r\\n                            <tr>\\r\\n                                <th width=\\\"750px\\\">{{title.cart | translate}}</th>\\r\\n                                <th>{{title.quantity | translate}}</th>\\r\\n                                <th>{{title.order_earning_price | translate}}</th>\\r\\n                                <th>{{title.order_earning_total | translate}}</th>\\r\\n\\r\\n                            </tr>\\r\\n                        </thead>\\r\\n                        <tbody *ngFor=\\\"let products of order_detail; let product_index=index\\\">\\r\\n                            <tr *ngFor=\\\"let item of products.items;\\\">\\r\\n                                <td width=\\\"750px\\\" style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{item.item_name}}</strong></div>\\r\\n                                </td>\\r\\n                                <td style=\\\"border: none;\\\">{{item.quantity}}</td>\\r\\n                                <td style=\\\"border: none;\\\">{{item.total_specification_price + item.item_price}}</td>\\r\\n                                <td style=\\\"border: none;\\\">{{item.total_item_and_specification_price}}</td>\\r\\n                            </tr>\\r\\n                        </tbody>\\r\\n                    </table>\\r\\n                </div>\\r\\n\\r\\n\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>  \\r\\n</div>\\r\\n\\r\\n\\r\\n<div class=\\\"row\\\">\\r\\n    <div class=\\\"col-lg-12\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\" >\\r\\n                <label class=\\\"control-label\\\">{{title.order_fees | translate}}</label>  \\r\\n            </div>\\r\\n            <div class=\\\"ibox-content\\\">\\r\\n                <div class=\\\"table-responsive\\\">\\r\\n\\r\\n                    <table class=\\\"table table-striped\\\">\\r\\n                        <tbody>\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.cart_price | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{total_cart_price}}</td>\\r\\n                            </tr>\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.store_tax_price | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{total_store_tax_price}}</td>\\r\\n                            </tr>\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.order_price | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{order_price}}</td>\\r\\n                            </tr>\\r\\n                            <tr *ngIf='is_promo_for_delivery_service == false'>\\r\\n                                <td style=\\\"border: none;\\\" >\\r\\n                                    <div><strong>{{title.promo_bonus | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{promo_payment}}</td>\\r\\n                            </tr>\\r\\n\\r\\n\\r\\n\\r\\n                            <tr>\\r\\n                                <td class=\\\"text-danger\\\" style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.total_order_price | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"text-danger pull-right\\\" style=\\\"border: none;\\\">{{total_order_price}}</td>\\r\\n                            </tr>\\r\\n                        </tbody>\\r\\n\\r\\n                    </table>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>  \\r\\n</div>\\r\\n<div class=\\\"row\\\">\\r\\n    <div class=\\\"col-lg-12\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\" >\\r\\n                <label class=\\\"control-label\\\">{{title.order_earning_total | translate}}</label>  \\r\\n            </div>\\r\\n            <div class=\\\"ibox-content\\\">\\r\\n                <div class=\\\"table-responsive\\\">\\r\\n\\r\\n                    <table class=\\\"table table-striped\\\">\\r\\n                        <tbody>\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.wallet_payment | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{wallet_payment}}</td>\\r\\n                            </tr>\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.cash_payment | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{cash_payment}}</td>\\r\\n                            </tr>\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.other_payment | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{card_payment}}</td>\\r\\n                            </tr>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n                            <tr>\\r\\n                                <td class=\\\"text-danger pull-center\\\" style=\\\"border: none;\\\">\\r\\n                                    <div><h2><strong style=\\\"margin-left:50%\\\">{{title.order_earning_total | translate}}: {{total}}</strong></h2></div>\\r\\n                                </td>\\r\\n\\r\\n                            </tr>\\r\\n                        </tbody>\\r\\n\\r\\n                    </table>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>  \\r\\n</div>\\r\\n\\r\\n\\r\\n<div class=\\\"row\\\">\\r\\n    <div class=\\\"col-lg-12\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\" >\\r\\n                <label class=\\\"control-label\\\">{{title.store_earn | translate}}</label>  \\r\\n            </div>\\r\\n            <div class=\\\"ibox-content\\\">\\r\\n                <div class=\\\"table-responsive\\\">\\r\\n\\r\\n                    <table class=\\\"table table-striped\\\">\\r\\n                        <tbody>\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.store_have_service_payment | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{store_have_service_payment}}</td>\\r\\n                            </tr>\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.store_have_order_payment | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{store_have_order_payment}}</td>\\r\\n                            </tr>\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.store_profit | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{total_store_income}}</td>\\r\\n                            </tr>\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.pay_to_store | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{pay_to_store}}</td>\\r\\n                            </tr>\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.store_income_set_in_wallet | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{store_income_set_in_wallet}}</td>\\r\\n                            </tr>\\r\\n\\r\\n\\r\\n                        </tbody>\\r\\n\\r\\n                    </table>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>  \\r\\n</div>\\r\\n\\r\\n\\r\\n\\r\\n<div class=\\\"row\\\">\\r\\n    <div class=\\\"col-lg-12\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\" >\\r\\n                <label class=\\\"control-label\\\">{{title.deliveryman_earn | translate}}</label>  \\r\\n            </div>\\r\\n            <div class=\\\"ibox-content\\\">\\r\\n                <div class=\\\"table-responsive\\\">\\r\\n\\r\\n                    <table class=\\\"table table-striped\\\">\\r\\n                        <tbody>\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.have_service_amount | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{provider_have_cash_payment}}</td>\\r\\n                            </tr>\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.paid_order_payment | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{provider_paid_order_payment}}</td>\\r\\n                            </tr>\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.deliveryman_profit | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{total_provider_income}}</td>\\r\\n                            </tr>\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.pay_to_provider | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{pay_to_provider}}</td>\\r\\n                            </tr>\\r\\n\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.provider_income_set_in_wallet | translate}}</strong></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{provider_income_set_in_wallet}}</td>\\r\\n                            </tr>\\r\\n\\r\\n\\r\\n                        </tbody>\\r\\n\\r\\n                    </table>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>  \\r\\n</div>\\r\\n\\r\\n<div class=\\\"row\\\">\\r\\n    <div class=\\\"col-lg-12\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\" >\\r\\n                <label class=\\\"control-label\\\">{{title.order_earning_admin_earn | translate}}</label>  \\r\\n            </div>\\r\\n            <div class=\\\"ibox-content\\\">\\r\\n                <div class=\\\"table-responsive\\\">\\r\\n\\r\\n                    <table class=\\\"table table-striped\\\">\\r\\n                        <tbody>\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.admin_profit_on_store | translate}}</strong></div>\\r\\n                                </td>\\r\\n                        <span style=\\\"position: absolute; left:48%; \\\" class=\\\"col-lg-12\\\" *ngIf=\\\"admin_profit_mode_on_store == 1\\\">{{admin_profit_value_on_store}}%/Order</span>\\r\\n                        <span style=\\\"position: absolute; left:48%; \\\" class=\\\"col-lg-12\\\" *ngIf=\\\"admin_profit_mode_on_store == 2 || admin_profit_mode_on_store == 3\\\">{{currency_sign}}{{admin_profit_value_on_store}}/Order</span>\\r\\n\\r\\n                        <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(total_admin_profit_on_store).toFixed(2)}}</td>\\r\\n                        </tr>\\r\\n                        <tr>\\r\\n                            <td style=\\\"border: none;\\\">\\r\\n                                <div><strong>{{title.admin_profit_on_delivery | translate}}</strong></div>\\r\\n                            </td>\\r\\n                        <span style=\\\"position: absolute; left:48%;\\\" class=\\\"col-lg-12\\\" *ngIf=\\\"admin_profit_mode_on_delivery == 1\\\">{{admin_profit_value_on_delivery}}%/Delivery</span>\\r\\n                        <span style=\\\"position: absolute; left:48%;\\\" class=\\\"col-lg-12\\\" *ngIf=\\\"admin_profit_mode_on_delivery == 2\\\">{{currency_sign}}{{admin_profit_value_on_delivery}}/Delivery</span>\\r\\n\\r\\n                        <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{(total_admin_profit_on_delivery).toFixed(2)}}</td>\\r\\n                        </tr>\\r\\n\\r\\n\\r\\n\\r\\n                        </tbody>\\r\\n\\r\\n                    </table>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>  \\r\\n</div>\\r\\n\\r\\n<div class=\\\"row\\\">\\r\\n    <div class=\\\"col-lg-12\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\" >\\r\\n                <label class=\\\"control-label\\\">{{title.order_earning_admin_earn | translate}}({{title.in_admin_currency | translate}})</label>  \\r\\n            </div>\\r\\n            <div class=\\\"ibox-content\\\">\\r\\n                <div class=\\\"table-responsive\\\">\\r\\n\\r\\n                    <table class=\\\"table table-striped\\\">\\r\\n                        <tbody>\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.convert_rate | translate}}</strong></div>\\r\\n                                </td>\\r\\n\\r\\n\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{current_rate}}</td>\\r\\n                            </tr>\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.admin_profit_on_store | translate}}</strong></div>\\r\\n                                </td>\\r\\n\\r\\n\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{((total_admin_profit_on_store).toFixed(2)) * current_rate }}</td>\\r\\n                            </tr>\\r\\n                            <tr>\\r\\n                                <td style=\\\"border: none;\\\">\\r\\n                                    <div><strong>{{title.admin_profit_on_delivery | translate}}</strong></div>\\r\\n                                </td>\\r\\n\\r\\n\\r\\n                                <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{((total_admin_profit_on_delivery).toFixed(2)) * current_rate }}</td>\\r\\n                            </tr>\\r\\n\\r\\n\\r\\n\\r\\n                        </tbody>\\r\\n\\r\\n                    </table>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>  \\r\\n</div>\\r\\n\\r\\n</div>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/view_order_earning_detail/view_order_earning_detail.component.html\n// module id = 1656\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer> \\r\\n<div class=\\\"wrapper wrapper-content animated fadeInRight content_top_bar\\\">\\r\\n\\r\\n\\r\\n    <div class=\\\"ibox\\\">\\r\\n        <div class=\\\"ibox-title\\\">\\r\\n            <h3>{{heading_title.promo_info | translate }}</h3>\\r\\n\\r\\n        </div>\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n            <div class=\\\"table-responsive\\\">\\r\\n                <table class=\\\"table table-striped\\\">\\r\\n                    <thead>\\r\\n                        <tr>\\r\\n                            <th>{{title.ID | translate}}</th>\\r\\n                            <th>{{title.promo_code_name | translate }}</th>\\r\\n                            <th>{{title.promo_code_type | translate }}</th>\\r\\n                            <th>{{title.promo_code_value | translate}}</th>\\r\\n                            <th>{{title.promo_country | translate}}</th>\\r\\n                            <th>{{title.promo_city | translate}}</th>\\r\\n<!--                            <th>{{title.promo_delivery | translate}}</th>-->\\r\\n\\r\\n                        </tr>\\r\\n                    </thead>\\r\\n                    <tbody>\\r\\n                        <tr >\\r\\n                            <td>{{unique_id}}</td>\\r\\n                            <td>{{promo_code_name}}</td>\\r\\n                            <td [ngSwitch]=\\\"promo_code_type\\\">\\r\\n                                \\r\\n                                <div *ngSwitchCase=\\\"1\\\">{{lable_title.percentage}}</div>\\r\\n                                <div *ngSwitchCase=\\\"2\\\">{{lable_title.absolute}}</div>\\r\\n\\r\\n                            </td>\\r\\n                            <td>{{promo_code_value}}</td>\\r\\n                            <td>{{country_name}}</td>\\r\\n                            <td>{{city_name}}</td>\\r\\n<!--                            <td></td>-->\\r\\n\\r\\n                        </tr>\\r\\n                    </tbody>\\r\\n                </table>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"ibox\\\">\\r\\n        <div class=\\\"ibox-title\\\">\\r\\n            <h3>{{heading_title.user_info | translate }}</h3>\\r\\n\\r\\n        </div>\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n            <div class=\\\"table-responsive\\\">\\r\\n                <table class=\\\"table table-striped\\\">\\r\\n                    <thead>\\r\\n                        <tr>\\r\\n\\r\\n                            <th>{{title.user_id | translate }}</th>\\r\\n                            <th>{{title.user_email | translate }}</th>\\r\\n                            <th>{{title.order_id | translate }}</th>\\r\\n                            <th>{{title.payment_by | translate }}</th>\\r\\n                            <th>{{title.order_fee | translate }}</th>\\r\\n                            <th>{{title.delivery_fee | translate }}</th>\\r\\n                            <th>{{title.earning_total | translate }}</th>\\r\\n                            <th>{{title.promo_payment | translate }}</th>\\r\\n\\r\\n                        </tr>\\r\\n                    </thead>\\r\\n                    <tbody>\\r\\n                        <tr *ngFor=\\\"let i of promo_uses_list\\\">\\r\\n\\r\\n                            <td>{{i.user_details.unique_id}}</td>\\r\\n                            <td>{{i.user_details.email}}</td>\\r\\n                            <td>{{i.order_unique_id}}</td>\\r\\n                            <td [ngSwitch]=\\\"i.is_payment_mode_cash\\\">\\r\\n                                <div *ngSwitchCase=\\\"true\\\"><span class=\\\"label label-primary\\\">Cash</span></div>\\r\\n                                <div *ngSwitchCase=\\\"false\\\"><span class=\\\"label label-danger\\\">Card</span></div>\\r\\n                            </td>\\r\\n                            <td>{{i.order_price}}</td>\\r\\n                            <td>{{i.delivery_price}}</td>\\r\\n                            <td>{{i.total}}</td>\\r\\n                            <td>{{i.promo_payment}}</td>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n                        </tr>\\r\\n                    </tbody>\\r\\n                </table>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/view_promo_uses/view_promo_uses.component.html\n// module id = 1657\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer> \\r\\n<div class=\\\"wrapper wrapper-content animated fadeInRight content_top_bar\\\">\\r\\n    <div class=\\\"ibox\\\">\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n                    <div class=\\\"lable_center\\\">\\r\\n                        <label>{{title.date_filter | translate}}</label>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"col-md-12 remove_padding\\\">\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <div class=\\\"input-group\\\">\\r\\n\\r\\n                                <my-date-picker id=\\\"start_date\\\" [options]=\\\"helper.myStartDatePickerOptions\\\" placeholder=\\\"Start Date\\\" [(ngModel)]=\\\"start_date\\\" (dateChanged)=\\\"helper.onStartDateChanged($event)\\\"\\r\\n                                                readonly></my-date-picker>\\r\\n                                <span class=\\\"input-group-addon date_filter_icon\\\">To</span>\\r\\n\\r\\n                                <my-date-picker id=\\\"end_date\\\" [options]=\\\"helper.myEndDatePickerOptions\\\" placeholder=\\\"End Date\\\" [(ngModel)]=\\\"end_date\\\" (dateChanged)=\\\"helper.onEndDateChanged($event)\\\"\\r\\n                                                readonly></my-date-picker>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n                    <div class=\\\"lable_center\\\">\\r\\n                        <label>{{title.search | translate}}</label>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                            <select chosen class=\\\"chosen-select\\\" id=\\\"search_field\\\" [(ngModel)]=\\\"search_field\\\" name=\\\"search_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                                <option value=\\\"user_detail.first_name\\\">{{title.filter_user | translate}}</option>\\r\\n                                <option value=\\\"provider_detail.first_name\\\">{{title.filter_provider | translate}}</option>\\r\\n\\r\\n                            </select>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <div class=\\\"input-group\\\">\\r\\n\\r\\n                                <input type=\\\"text\\\" class=\\\"form-control search_box\\\" [(ngModel)]=\\\"search_value\\\"  name=\\\"search_value\\\">\\r\\n                                <span class=\\\"input-group-addon search_icon\\\"><span class=\\\"fa fa-search\\\"></span></span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n                    <div class=\\\"lable_center\\\">\\r\\n                        <label>{{title.sort | translate}}</label>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                        <div class=\\\"form-group\\\" id=\\\"sort_fields\\\">\\r\\n                            <select chosen class=\\\"chosen-select\\\" id=\\\"sort_field\\\" [(ngModel)]=\\\"sort_field\\\" name=\\\"sort_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                                <option value=\\\"unique_id\\\">{{title.filter_id | translate}}</option>\\r\\n                                <option value=\\\"user_detail.first_name\\\">{{title.filter_user | translate}}</option>\\r\\n                                <option value=\\\"provider_detail.first_name\\\">{{title.filter_provider | translate}}</option>\\r\\n\\r\\n                            </select>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                        <div class=\\\"form-group\\\" id=\\\"sort_orders\\\">\\r\\n\\r\\n                            <select chosen class=\\\"chosen-select\\\" id=\\\"sort_order\\\" [(ngModel)]=\\\"sort_order\\\" name=\\\"sort_order\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                                <option value=\\\"1\\\">{{title.ascending | translate}}</option>\\r\\n                                <option value=\\\"-1\\\">{{title.descending | translate}}</option>\\r\\n                            </select>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n                    <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                        <!--                        <input type=\\\"button\\\" class=\\\"btn export_excel_btn pull-right\\\" value=\\\"{{button.export_excel}}\\\" >-->\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                        <input type=\\\"button\\\" (click)=\\\"admin_provider_history(1)\\\" class=\\\"btn filter_apply_btn pull-right\\\" value=\\\"{{button.apply | translate}}\\\" >\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"ibox\\\">\\r\\n        <div class=\\\"ibox-title\\\">\\r\\n            <h5>{{heading_title.history | translate}}</h5>\\r\\n\\r\\n        </div>\\r\\n        <div class=\\\"ibox-content\\\" style=\\\"padding-bottom: 40px;\\\">\\r\\n            <div class=\\\"table-responsive\\\">\\r\\n                <table class=\\\"table table-striped\\\">\\r\\n                    <thead>\\r\\n                        <tr>\\r\\n                            <th>{{title.ID | translate}}</th>\\r\\n                            <th>{{title.user | translate}}</th>\\r\\n                            <th>{{title.store | translate}}</th>\\r\\n                            <th>{{title.city | translate}}</th>\\r\\n                            <th>{{title.provider | translate}}</th>\\r\\n                            <th>{{title.status | translate}}</th>\\r\\n                            <th>{{title.amount | translate}}</th>\\r\\n                            <th>{{title.payment_by | translate}}</th>\\r\\n                            <th>{{title.date | translate}}</th>\\r\\n                            <th>{{title.delivery_at | translate}}</th>\\r\\n                            <th class=\\\"pull-right\\\">{{title.action | translate}}</th>\\r\\n\\r\\n                        </tr>\\r\\n                    </thead>\\r\\n                    <tbody>\\r\\n                        <tr *ngFor=\\\"let request of request_list; let index=index; let last=last;\\\">\\r\\n                            <td>{{request.unique_id}}</td>\\r\\n                            <td>{{request.user_detail.first_name + \\\" \\\" + request.user_detail.last_name}}</td>\\r\\n                            <td>{{request.store_detail.name}}</td>\\r\\n                            <td>{{request.city_detail.city_name}}</td>\\r\\n                            <td><div *ngIf=\\\"request.provider_detail.length>0\\\">{{request.provider_detail[0].first_name + \\\" \\\" +request.provider_detail[0].last_name}}</div></td>\\r\\n                            <td [ngSwitch]=\\\"request.delivery_status\\\">\\r\\n\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.STORE_CANCELLED_REQUEST\\\"><span class=\\\"label label-danger\\\">{{status.store_cancelled_request}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_REJECTED\\\"><span class=\\\"label label-danger\\\">{{status.delivery_man_rejected}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_CANCELLED\\\"><span class=\\\"label label-danger\\\">{{status.delivery_man_cancelled}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.ORDER_COMPLETED\\\"><span class=\\\"label label-primary\\\">{{status.completed}}</span></div>\\r\\n\\r\\n                            </td>\\r\\n                            <td>{{((+request.order_payment_detail.total_delivery_price + +request.order_payment_detail.total_order_price).toFixed(2)) }}</td>\\r\\n                            \\r\\n\\r\\n                            <td [ngSwitch]=\\\"request.order_payment_detail.is_payment_mode_cash\\\">\\r\\n                                <div *ngIf=\\\"request.order_payment_detail.is_paid_from_wallet\\\">\\r\\n                                    <span class=\\\"label label-success\\\">{{title.wallet | translate}}</span>\\r\\n                                </div>\\r\\n                                <div *ngIf=\\\"!request.order_payment_detail.is_paid_from_wallet\\\">\\r\\n                                    <div *ngSwitchCase=\\\"true\\\"><span class=\\\"label label-primary_new\\\">{{lable_title.cash}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"false\\\"><span class=\\\"label label-danger\\\" *ngIf=\\\"request.payment_gateway_detail.length >0\\\">{{request.payment_gateway_detail[0].name}} </span></div>\\r\\n                                </div>\\r\\n                            </td>\\r\\n                            <td>{{request.created_at| date: DATE_FORMAT.DD_MMM_YYYY}}</td>\\r\\n                            <td>{{request.completed_at| date: DATE_FORMAT.DD_MMM_YYYY_HH_MM_A}}</td>\\r\\n\\r\\n                            <td><div class=\\\"dropdown pull-right\\\" [class.dropup]=\\\"last && !index==0\\\" dropdown>\\r\\n                                    <button class=\\\"btn btn-primary\\\" dropdown-open>{{title.action | translate}}<span class=\\\"caret\\\"></span></button>\\r\\n\\r\\n\\r\\n                                    <ul class=\\\"dropdown-menu\\\">\\r\\n                                        <li><a (click)=\\\"viewRequestOrder_detail(request._id)\\\"><span style=\\\"display:block;\\\" class=\\\"nav-label\\\">{{button.view_detail | translate}}</span> </a></li>\\r\\n\\r\\n                                    </ul>\\r\\n                                </div>\\r\\n                            </td>\\r\\n\\r\\n                        </tr>\\r\\n                    </tbody>\\r\\n                </table>\\r\\n            </div>\\r\\n\\r\\n\\r\\n            <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                <div class=\\\"lable_center\\\">\\r\\n                    <ul class=\\\"pagination\\\">\\r\\n                        <li *ngIf=\\\"page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"admin_provider_history(page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                        <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page==index\\\">\\r\\n                            <a *ngIf=\\\"index==1 || index==total_page || index==page || index==page-1 || index==page+1\\\" (click)=\\\"admin_provider_history(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                            <a *ngIf=\\\"(index==1 && (page!==1 && page!==2 && page!==3)) || (index==total_page-1 && (page!==total_page && page!==total_page-1 && page!==total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n\\r\\n                        </li>\\r\\n                        <li *ngIf=\\\"page!==total_page && request_list.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"admin_provider_history(page+1)\\\">{{button.next | translate}}</a></li>\\r\\n                    </ul>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/view_provider_history/view_provider_history.component.html\n// module id = 1658\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer> \\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.search | translate}}</label>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"search_field\\\" [(ngModel)]=\\\"search_field\\\" name=\\\"search_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"user_details.first_name\\\">{{title.filter_user | translate}}</option>\\r\\n                        <option value=\\\"provider_details.first_name\\\">{{title.filter_provider | translate}}</option>\\r\\n                        <option value=\\\"store_details.name\\\">{{title.filter_store | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n\\r\\n                        <input type=\\\"text\\\" class=\\\"form-control search_box\\\" [(ngModel)]=\\\"search_value\\\"  name=\\\"search_value\\\">\\r\\n                        <span class=\\\"input-group-addon search_icon\\\"><span class=\\\"fa fa-search\\\"></span></span>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.sort | translate}}</label>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"sort_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"sort_field\\\" [(ngModel)]=\\\"sort_field\\\" name=\\\"sort_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"user_details.first_name\\\">{{title.filter_user | translate}}</option>\\r\\n                        <option value=\\\"provider_details.first_name\\\">{{title.filter_provider | translate}}</option>\\r\\n                        <option value=\\\"store_details.name\\\">{{title.filter_store | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"sort_orders\\\">\\r\\n\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"sort_referral\\\" [(ngModel)]=\\\"sort_referral\\\" name=\\\"sort_referral\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"1\\\">{{title.ascending | translate}}</option>\\r\\n                        <option value=\\\"-1\\\">{{title.descending | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.date_filter | translate}}</label>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-12 remove_padding\\\">\\r\\n\\r\\n\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n\\r\\n                        <my-date-picker id=\\\"start_date\\\" [options]=\\\"helper.myStartDatePickerOptions\\\" placeholder=\\\"Start Date\\\" [(ngModel)]=\\\"start_date\\\" (dateChanged)=\\\"helper.onStartDateChanged($event)\\\"\\r\\n                                        readonly></my-date-picker>\\r\\n                        <span class=\\\"input-group-addon date_filter_icon\\\">To</span>\\r\\n\\r\\n                        <my-date-picker id=\\\"end_date\\\" [options]=\\\"helper.myEndDatePickerOptions\\\" placeholder=\\\"End Date\\\" [(ngModel)]=\\\"end_date\\\" (dateChanged)=\\\"helper.onEndDateChanged($event)\\\"\\r\\n                                        readonly></my-date-picker>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <!--                        <input type=\\\"button\\\" class=\\\"btn export_excel_btn pull-right\\\" value=\\\"{{button.export_excel}}\\\" >-->\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"referral_list_detail(1)\\\" class=\\\"btn filter_apply_btn pull-right\\\" value=\\\"{{button.apply | translate}}\\\" >\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n    </div>\\r\\n\\r\\n</div>\\r\\n<div class=\\\"wrapper wrapper-content content_top_bar_view1 animated fadeInRight \\\">\\r\\n\\r\\n    <div class=\\\"ibox\\\">\\r\\n        <div class=\\\"ibox-title\\\">\\r\\n            <h5>Referral Detail</h5>\\r\\n        </div>\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n            <div class=\\\"table-responsive scrollbar\\\">\\r\\n                <table class=\\\"table table-striped\\\">\\r\\n                    <thead>\\r\\n                        <tr>\\r\\n                            <th>{{title.ID | translate}}</th>\\r\\n                            <th>{{title.type | translate}}</th>\\r\\n                            <th>{{title.referral_name | translate}}</th>\\r\\n                            <th>{{title.email | translate}}</th>\\r\\n                            <th>{{title.total_referred | translate}}</th>\\r\\n                            <th>{{title.referral_code | translate}}</th>\\r\\n                            <th>Value</th>\\r\\n\\r\\n                        </tr>\\r\\n                    </thead>\\r\\n                    <tbody *ngFor=\\\"let referral of referral_list; let referral_index=index;\\\">\\r\\n                        <tr>\\r\\n\\r\\n\\r\\n                            <td *ngIf=\\\"referral.referred_user_detail.length>0 && hide_referral_detail[referral_index]=='true'\\\" (click)=\\\"show_referral_details(referral_index)\\\"><span class=\\\"fa fa-chevron-right\\\">{{referral.referred_user_detail[0].unique_id}}</span></td>\\r\\n                            <td *ngIf=\\\"referral.referred_user_detail.length>0 && hide_referral_detail[referral_index]=='false'\\\" (click)=\\\"hide_referral_details(referral_index)\\\"><span class=\\\"fa fa-chevron-down\\\">{{referral.referred_user_detail[0].unique_id}}</span></td>\\r\\n\\r\\n                            <td *ngIf=\\\"referral.referred_provider_detail.length>0 && hide_referral_detail[referral_index]=='true'\\\" (click)=\\\"show_referral_details(referral_index)\\\"><span class=\\\"fa fa-chevron-right \\\">{{referral.referred_provider_detail[0].unique_id}}</span></td>\\r\\n                            <td *ngIf=\\\"referral.referred_provider_detail.length>0 && hide_referral_detail[referral_index]=='false'\\\" (click)=\\\"hide_referral_details(referral_index)\\\"><span class=\\\"fa fa-chevron-down\\\">{{referral.referred_provider_detail[0].unique_id}}</span></td>\\r\\n\\r\\n                            <td *ngIf=\\\"referral.referred_store_detail.length>0 && hide_referral_detail[referral_index]=='true'\\\" (click)=\\\"show_referral_details(referral_index)\\\"><span class=\\\"fa fa-chevron-right\\\">{{referral.referred_store_detail[0].unique_id}}</span></td>\\r\\n\\r\\n                            <td *ngIf=\\\"referral.referred_store_detail.length>0 && hide_referral_detail[referral_index]=='false'\\\" (click)=\\\"hide_referral_details(referral_index)\\\"><span class=\\\"fa fa-chevron-down\\\">{{referral.referred_store_detail[0].unique_id}}</span></td>\\r\\n\\r\\n                            <td *ngIf=\\\"referral.referred_user_detail.length>0\\\">User</td>\\r\\n                            <td *ngIf=\\\"referral.referred_provider_detail.length>0\\\">Provider</td>\\r\\n                            <td *ngIf=\\\"referral.referred_store_detail.length>0\\\">Store</td>\\r\\n\\r\\n\\r\\n                            <td *ngIf=\\\"referral.referred_user_detail.length>0\\\">{{referral.referred_user_detail[0].first_name +\\\" \\\" + referral.referred_user_detail[0].last_name }}</td>\\r\\n                            <td *ngIf=\\\"referral.referred_provider_detail.length>0\\\">{{referral.referred_provider_detail[0].first_name + \\\" \\\" + referral.referred_provider_detail[0].last_name}}</td>\\r\\n                            <td *ngIf=\\\"referral.referred_store_detail.length>0\\\">{{referral.referred_store_detail[0].name}}</td>\\r\\n\\r\\n\\r\\n                            <td *ngIf=\\\"referral.referred_user_detail.length>0\\\">{{referral.referred_user_detail[0].email }}</td>\\r\\n                            <td *ngIf=\\\"referral.referred_provider_detail.length>0\\\">{{referral.referred_provider_detail[0].email }}</td>\\r\\n                            <td *ngIf=\\\"referral.referred_store_detail.length>0\\\">{{referral.referred_store_detail[0].email}}</td>\\r\\n\\r\\n                            <td *ngIf=\\\"referral.referred_user_detail.length>0\\\">{{referral.referred_user_detail[0].total_referrals }}</td>\\r\\n                            <td *ngIf=\\\"referral.referred_provider_detail.length>0\\\">{{referral.referred_provider_detail[0].total_referrals }}</td>\\r\\n                            <td *ngIf=\\\"referral.referred_store_detail.length>0\\\">{{referral.referred_store_detail[0].total_referrals}}</td>\\r\\n\\r\\n                            <td *ngIf=\\\"referral.referred_user_detail.length>0\\\">{{referral.referred_user_detail[0].referral_code }}</td>\\r\\n                            <td *ngIf=\\\"referral.referred_provider_detail.length>0\\\">{{referral.referred_provider_detail[0].referral_code }}</td>\\r\\n                            <td *ngIf=\\\"referral.referred_store_detail.length>0\\\">{{referral.referred_store_detail[0].referral_code}}</td>\\r\\n                            <td>{{referral.count}}</td>\\r\\n                        </tr>\\r\\n                        <tr *ngIf=\\\"hide_referral_detail[referral_index]=='false'\\\" class=\\\"referral{{referral_index}}\\\">\\r\\n                            <th></th>\\r\\n                            <th>{{title.ID | translate}}</th>\\r\\n                            <th>{{title.referral_name | translate}}</th>\\r\\n                            <th>{{title.email | translate}}</th>\\r\\n                            <th>{{title.referred | translate}} </th>\\r\\n                            <th>{{title.referral_user | translate}} </th>\\r\\n                            <th>{{title.date | translate}}</th>\\r\\n                        </tr>\\r\\n                        \\r\\n                        <tr class=\\\"referral{{referral_index}}\\\" *ngFor=\\\"let referred_referral of referral.referral_code\\\"  >\\r\\n                            <td *ngIf=\\\"hide_referral_detail[referral_index]=='false'\\\"></td>\\r\\n                            <td *ngIf=\\\"referred_referral.user_detail.length>0 && hide_referral_detail[referral_index]=='false'\\\">{{referred_referral.user_detail[0].unique_id}}</td>\\r\\n                            <td *ngIf=\\\"referred_referral.provider_detail.length>0 && hide_referral_detail[referral_index]=='false'\\\">{{referred_referral.provider_detail[0].unique_id}}</td>\\r\\n                            <td *ngIf=\\\"referred_referral.store_detail.length>0 && hide_referral_detail[referral_index]=='false'\\\">{{referred_referral.store_detail[0].unique_id}}</td>\\r\\n\\r\\n                            <td *ngIf=\\\"referred_referral.user_detail.length>0 && hide_referral_detail[referral_index]=='false'\\\">{{referred_referral.user_detail[0].first_name + \\\" \\\" + referred_referral.user_detail[0].last_name}}</td>\\r\\n                            <td *ngIf=\\\"referred_referral.provider_detail.length>0 && hide_referral_detail[referral_index]=='false'\\\">{{referred_referral.provider_detail[0].first_name + \\\" \\\" + referred_referral.provider_detail[0].last_name}}</td>\\r\\n                            <td *ngIf=\\\"referred_referral.store_detail.length>0 && hide_referral_detail[referral_index]=='false'\\\">{{referred_referral.store_detail[0].name}}</td>\\r\\n\\r\\n                            <td *ngIf=\\\"referred_referral.user_detail.length>0 && hide_referral_detail[referral_index]=='false'\\\">{{referred_referral.user_detail[0].email }}</td>\\r\\n                            <td *ngIf=\\\"referred_referral.provider_detail.length>0 && hide_referral_detail[referral_index]=='false'\\\">{{referred_referral.provider_detail[0].email }}</td>\\r\\n                            <td *ngIf=\\\"referred_referral.store_detail.length>0 && hide_referral_detail[referral_index]=='false'\\\">{{referred_referral.store_detail[0].email}}</td>\\r\\n                            <td *ngIf=\\\"hide_referral_detail[referral_index]=='false'\\\">{{referred_referral.referral_bonus_to_user }}</td>\\r\\n                            <td *ngIf=\\\"hide_referral_detail[referral_index]=='false'\\\">{{referred_referral.referral_bonus_to_user_friend }}</td>\\r\\n                            <td *ngIf=\\\"hide_referral_detail[referral_index]=='false'\\\">{{referred_referral.created_at| date: DATE_FORMAT.DD_MMM_YYYY }}</td>\\r\\n\\r\\n                        </tr>\\r\\n                        \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n                    </tbody>\\r\\n\\r\\n                </table>\\r\\n\\r\\n            </div>\\r\\n\\r\\n\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n\\r\\n    <div class=\\\"col-md-12 col-sm-12\\\" style=\\\"margin-top: 6px;\\\">\\r\\n        <div class=\\\"lable_center\\\">\\r\\n            <ul class=\\\"pagination\\\">\\r\\n                <li *ngIf=\\\"page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"referral_list_detail(page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page==index\\\">\\r\\n                    <a *ngIf=\\\"index==1 || index==total_page || index==page || index==page-1 || index==page+1\\\" (click)=\\\"referral_list_detail(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                    <a *ngIf=\\\"(index==1 && (page!==1 && page!==2 && page!==3)) || (index==total_page-1 && (page!==total_page && page!==total_page-1 && page!==total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n\\r\\n                </li>\\r\\n                <li *ngIf=\\\"page!==total_page && referral_list.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"referral_list_detail(page+1)\\\">{{button.next | translate}}</a></li>\\r\\n            </ul>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/view_referral_detail/view_referral_detail.component.html\n// module id = 1659\n// module chunks = 0","module.exports = \"<style>\\r\\n    .remove_border{\\r\\n        border: 0;\\r\\n    }\\r\\n</style>\\r\\n<footer [myLoading]=\\\"myLoading\\\" ></footer> \\r\\n<div class=\\\"wrapper wrapper-content animated fadeInRight content_top_bar\\\">\\r\\n\\r\\n\\r\\n    <div class=\\\"ibox\\\">\\r\\n        <div class=\\\"ibox-title\\\">\\r\\n            <span class=\\\"pull-right\\\"><h3>{{title.review_date | translate}} - {{created_at| date: DATE_FORMAT.DD_MMM_YYYY}}</h3></span>\\r\\n            <h3>{{title.review_id | translate}} - {{order_unique_id}}</h3>\\r\\n        </div>\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n            <div class=\\\"table-responsive\\\">\\r\\n                <table class=\\\"table\\\">\\r\\n                    <thead>\\r\\n                        <tr>\\r\\n                            <th width=\\\"200px\\\">{{title.review_user | translate}}</th>\\r\\n                            <th width=\\\"200px\\\">{{title.review_provider | translate}}</th>\\r\\n                            <th>{{title.review_comment | translate}}</th>\\r\\n                            <th>{{title.review_like | translate}}</th>\\r\\n                            <th>{{title.review_dislike | translate}}</th>\\r\\n                        </tr>\\r\\n\\r\\n                    </thead>\\r\\n\\r\\n                    <tbody>\\r\\n                        <tr>\\r\\n                            <td class=\\\"remove_border\\\">{{user_first_name + \\\" \\\" + user_last_name}}</td>\\r\\n                            <td class=\\\"remove_border\\\">{{provider_first_name + \\\" \\\" + provider_last_name}}</td>\\r\\n                            <td class=\\\"remove_border\\\">{{user_review_to_provider}}</td>\\r\\n                            <td class=\\\"remove_border\\\">{{like_count}}</td>\\r\\n                            <td class=\\\"remove_border\\\">{{dislike_count}}</td>\\r\\n                        <tr>\\r\\n                        <tr>\\r\\n                            <td class=\\\"remove_border\\\"></td>\\r\\n                            <td class=\\\"remove_border\\\">\\r\\n                                <span>\\r\\n                                    <i class=\\\"fa fa-star\\\" aria-hidden=\\\"true\\\"></i>\\r\\n                                </span>\\r\\n                                {{user_rating_to_provider}}\\r\\n                            </td>\\r\\n                            <td class=\\\"remove_border\\\"></td>\\r\\n                        </tr> \\r\\n\\r\\n                        <tr>\\r\\n                            <td class=\\\"remove_border\\\"></td>\\r\\n                            <td><strong>{{title.review_store | translate}}</strong></td>\\r\\n                            <th>{{title.review_comment | translate}}</th>\\r\\n                        </tr> \\r\\n                        <tr>\\r\\n                            <td class=\\\"remove_border\\\"></td>\\r\\n                            <td class=\\\"remove_border\\\">{{store_name}}</td>\\r\\n                            <td class=\\\"remove_border\\\">{{user_review_to_store}}</td>\\r\\n\\r\\n                        </tr>\\r\\n                        <tr>\\r\\n                            <td class=\\\"remove_border\\\"></td>\\r\\n                            <td class=\\\"remove_border\\\"><span><i class=\\\"fa fa-star\\\" aria-hidden=\\\"true\\\"></i></span>\\r\\n                                {{user_rating_to_store}}\\r\\n                            </td>\\r\\n                            <td class=\\\"remove_border\\\"></td>\\r\\n                        </tr>\\r\\n\\r\\n                    </tbody>\\r\\n\\r\\n\\r\\n                    <thead>\\r\\n                        <tr>\\r\\n                            <th width=\\\"200px\\\">{{title.review_provider | translate}}</th>\\r\\n                            <th width=\\\"200px\\\">{{title.review_user | translate}}</th>\\r\\n                            <th>{{title.review_comment | translate}}</th>\\r\\n                        </tr>\\r\\n\\r\\n                    </thead>\\r\\n\\r\\n                    <tbody>\\r\\n                        <tr>\\r\\n                            <td class=\\\"remove_border\\\">{{provider_first_name + \\\" \\\" + provider_last_name}}</td>\\r\\n                            <td class=\\\"remove_border\\\">{{user_first_name + \\\" \\\" + user_last_name}}</td>\\r\\n                            <td class=\\\"remove_border\\\">{{provider_review_to_user}}</td>\\r\\n                        <tr>\\r\\n                        <tr>\\r\\n                            <td class=\\\"remove_border\\\"></td>\\r\\n                            <td class=\\\"remove_border\\\">\\r\\n                                <span>\\r\\n                                    <i class=\\\"fa fa-star\\\" aria-hidden=\\\"true\\\"></i>\\r\\n                                </span>\\r\\n                                {{provider_rating_to_user}}\\r\\n                            </td>\\r\\n                            <td class=\\\"remove_border\\\"></td>\\r\\n                        </tr> \\r\\n\\r\\n                        <tr>\\r\\n                            <td class=\\\"remove_border\\\"></td>\\r\\n                            <td><strong>{{title.review_store | translate}}</strong></td>\\r\\n                            <th>{{title.review_comment | translate}}</th>\\r\\n                        </tr> \\r\\n                        <tr>\\r\\n                            <td class=\\\"remove_border\\\"></td>\\r\\n                            <td class=\\\"remove_border\\\">{{store_name}}</td>\\r\\n                            <td class=\\\"remove_border\\\">{{provider_review_to_store}}</td>\\r\\n\\r\\n                        </tr>\\r\\n                        <tr>\\r\\n                            <td class=\\\"remove_border\\\"></td>\\r\\n                            <td class=\\\"remove_border\\\"><span><i class=\\\"fa fa-star\\\" aria-hidden=\\\"true\\\"></i></span>\\r\\n                                {{provider_rating_to_store}}\\r\\n                            </td>\\r\\n                            <td class=\\\"remove_border\\\"></td>\\r\\n                        </tr>\\r\\n\\r\\n                    </tbody>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n                    <thead>\\r\\n                        <tr>\\r\\n                            <th width=\\\"200px\\\">{{title.review_store | translate}}</th>\\r\\n                            <th width=\\\"200px\\\">{{title.review_provider | translate}}</th>\\r\\n                            <th>{{title.review_comment | translate}}</th>\\r\\n                        </tr>\\r\\n\\r\\n                    </thead>\\r\\n\\r\\n                    <tbody>\\r\\n                        <tr>\\r\\n                            <td class=\\\"remove_border\\\">{{store_name}}</td>\\r\\n                            <td class=\\\"remove_border\\\">{{provider_first_name + \\\" \\\" + provider_last_name}}</td>\\r\\n                            <td class=\\\"remove_border\\\">{{store_review_to_provider}}</td>\\r\\n                        <tr>\\r\\n                        <tr>\\r\\n                            <td class=\\\"remove_border\\\"></td>\\r\\n                            <td class=\\\"remove_border\\\">\\r\\n                                <span>\\r\\n                                    <i class=\\\"fa fa-star\\\" aria-hidden=\\\"true\\\"></i>\\r\\n                                </span>\\r\\n                                {{store_rating_to_provider}}\\r\\n                            </td>\\r\\n                            <td class=\\\"remove_border\\\"></td>\\r\\n                        </tr> \\r\\n\\r\\n\\r\\n\\r\\n                    </tbody>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n                </table>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n\\r\\n</div>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/view_review_detail/view_review_detail.component.html\n// module id = 1660\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer> \\r\\n<div class=\\\"row\\\">\\r\\n    <div class=\\\"col-lg-9\\\">\\r\\n        <div class=\\\"wrapper wrapper-content animated fadeInRight content_top_bar\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-lg-12\\\">\\r\\n                            <div class=\\\"m-b-md\\\">\\r\\n\\r\\n                                <h2><strong>{{heading_title.service_detail}}</strong></h2>\\r\\n                            </div>\\r\\n\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-lg-5\\\">\\r\\n                            <dl class=\\\"dl-horizontal\\\">\\r\\n\\r\\n\\r\\n                                <dt>{{title.country | translate}}:</dt>\\r\\n                                <dd> {{country_name}}</dd>\\r\\n                                <dt>{{title.prov_city | translate}}:</dt>\\r\\n                                <dd>{{city_name}}</dd>\\r\\n                                <dt>{{title.delivery_type | translate}}:</dt>\\r\\n                                <dd>{{name}}</dd>\\r\\n\\r\\n                                <dt>{{title.base_price | translate}}:</dt>\\r\\n                                <dd>{{base_price}}</dd>\\r\\n\\r\\n                                <dt>{{title.base_price_distance | translate}}:</dt>\\r\\n                                <dd>{{base_price_distance}}</dd>\\r\\n\\r\\n                                <dt>{{title.price_per_unit_distance | translate}}:</dt>\\r\\n                                <dd>{{price_per_unit_distance}}</dd>\\r\\n\\r\\n                                <dt>{{title.price_per_unit_time | translate}}:</dt>\\r\\n                                <dd>{{price_per_unit_time}}</dd>\\r\\n\\r\\n                                <dt>{{title.service_tax | translate}}:</dt>\\r\\n                                <dd>{{service_tax}}</dd>\\r\\n\\r\\n                                <dt>{{title.min_fare | translate}}:</dt>\\r\\n                                <dd>{{min_fare}}</dd>\\r\\n\\r\\n\\r\\n                                <dt>{{title.cancellation_fee | translate}}:</dt>\\r\\n                                <dd>{{cancellation_fee}}</dd>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n                            </dl>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-7\\\" id=\\\"cluster_info\\\">\\r\\n                            <dl class=\\\"dl-horizontal\\\">\\r\\n\\r\\n                                <dt>{{title.last_updated | translate}}:</dt>\\r\\n                                <dd>{{updated_at| date: \\\"dd MMM yyyy hh:mm a\\\"}}</dd>\\r\\n                                <dt>{{title.created | translate}}:</dt>\\r\\n                                <dd> {{created_at| date: \\\"dd MMM yyyy hh:mm a\\\"}}</dd>\\r\\n\\r\\n\\r\\n                            </dl>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/view_service_detail/view_service_detail.component.html\n// module id = 1661\n// module chunks = 0","module.exports = \"<style type=\\\"text/css\\\">\\r\\n    .scrollbar_for_history\\r\\n    {\\r\\n        height: 100%;\\r\\n        background: #fff;\\r\\n        overflow-y: auto;\\r\\n    }\\r\\n\\r\\n    .scrollbar::-webkit-scrollbar-track\\r\\n    {\\r\\n        -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);\\r\\n        background-color: #fff;\\r\\n    }\\r\\n\\r\\n    .scrollbar::-webkit-scrollbar\\r\\n    {\\r\\n        width: 3px;\\r\\n        background-color: #222222;\\r\\n    }\\r\\n\\r\\n    .scrollbar::-webkit-scrollbar-thumb\\r\\n    {\\r\\n        background-color: #000000;\\r\\n    }\\r\\n\\r\\n</style>\\r\\n<footer [myLoading]=\\\"myLoading\\\" ></footer> \\r\\n\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.search | translate}}</label>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"search_field1\\\" [(ngModel)]=\\\"search_field1\\\" name=\\\"search_field1\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"email\\\">{{title.email | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n\\r\\n                        <input type=\\\"text\\\" class=\\\"form-control search_box\\\" [(ngModel)]=\\\"search_value\\\"  name=\\\"search_value\\\">\\r\\n                        <span class=\\\"input-group-addon search_icon\\\"><span class=\\\"fa fa-search\\\"></span></span>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.sort | translate}}</label>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"sort_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"sort_field\\\" [(ngModel)]=\\\"sort_field\\\" name=\\\"sort_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"wallet\\\">{{title.wallet | translate}}</option>\\r\\n                        <option value=\\\"email\\\">{{title.email | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"sort_orders\\\">\\r\\n\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"sort_order\\\" [(ngModel)]=\\\"sort_order\\\" name=\\\"sort_order\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"1\\\">{{title.ascending | translate}}</option>\\r\\n                        <option value=\\\"-1\\\">{{title.descending | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.date_filter | translate}}</label>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-12 remove_padding\\\">\\r\\n\\r\\n\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n\\r\\n                        <my-date-picker id=\\\"start_date\\\" [options]=\\\"helper.myStartDatePickerOptions\\\" placeholder=\\\"Start Date\\\" [(ngModel)]=\\\"start_date\\\" (dateChanged)=\\\"helper.onStartDateChanged($event)\\\"\\r\\n                                        readonly></my-date-picker>\\r\\n                        <span class=\\\"input-group-addon date_filter_icon\\\">To</span>\\r\\n\\r\\n                        <my-date-picker id=\\\"end_date\\\" [options]=\\\"helper.myEndDatePickerOptions\\\" placeholder=\\\"End Date\\\" [(ngModel)]=\\\"end_date\\\" (dateChanged)=\\\"helper.onEndDateChanged($event)\\\"\\r\\n                                        readonly></my-date-picker>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"lable_center\\\">\\r\\n                    <label>{{title.country | translate}}</label>\\r\\n                </div>\\r\\n                <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"country\\\" [(ngModel)]=\\\"country_id\\\" name=\\\"country_id\\\" tabindex=\\\"4\\\">\\r\\n                        <option value=\\\"\\\">All</option>\\r\\n                        <option *ngFor=\\\"let i of country_list\\\" value=\\\"{{i._id}}-{{i.country_name}}\\\">{{i.country_name}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"lable_center\\\">\\r\\n                    <label>{{title.city | translate}}</label>\\r\\n                </div>\\r\\n                <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"city\\\" [(ngModel)]=\\\"city_id\\\" name=\\\"city_id\\\" tabindex=\\\"4\\\">\\r\\n                        <option value=\\\"\\\">All</option>\\r\\n                        <option *ngFor=\\\"let i of city_list\\\" value=\\\"{{i._id}}\\\">{{i.city_name}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"wallet_history(1)\\\" class=\\\"btn filter_apply_btn pull-right\\\" value=\\\"{{button.apply | translate}}\\\" >\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n    </div>\\r\\n</div> \\r\\n\\r\\n<div class=\\\"wrapper wrapper-content animated fadeInRight \\\" style=\\\"margin-top: 200px;\\\">\\r\\n\\r\\n    <div class=\\\"ibox\\\">\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"col-md-12 col-sm-12 remove_padding\\\" style=\\\"margin-top: 25px;\\\">\\r\\n                        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                            <select chosen class=\\\"chosen-select\\\" id=\\\"search_field\\\" [(ngModel)]=\\\"search_field\\\" name=\\\"search_field\\\" tabindex=\\\"4\\\">\\r\\n                                <option value=\\\"7\\\">{{title.filter_user | translate}}</option>\\r\\n                                <option value=\\\"8\\\">{{title.filter_provider | translate}}</option>\\r\\n                                <option value=\\\"2\\\">{{title.filter_store | translate}}</option>\\r\\n                            </select>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2 >{{order_total.total_wallet.toFixed(2)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.total_wallet | translate}}</label> \\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2 >{{order_total.total_amount_refunded.toFixed(2)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.total_amount_refunded | translate}}</label> \\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2 >{{(order_total.total_wallet_bought).toFixed(2)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.total_wallet_bought | translate}}</label> \\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2 >{{(order_total.total_wallet_added_user).toFixed(2)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.total_wallet_added_user | translate}}</label> \\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-2 col-sm-6 set_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"text-align: center;\\\">\\r\\n                            <h2 >{{order_total.total_wallet_removed_user.toFixed(2)}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.total_wallet_removed_user | translate}}</label> \\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"ibox\\\" *ngIf=\\\"wallet_list.length==0\\\">\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n            <div class=\\\"lable_center\\\" >\\r\\n                <label>No Records</label>\\r\\n            </div>\\r\\n        </div>  \\r\\n    </div>\\r\\n    <div class=\\\"ibox\\\" *ngIf=\\\"wallet_list.length>0\\\">\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n            <div class=\\\"table-responsive\\\">\\r\\n                <table class=\\\"table table-striped\\\">\\r\\n                    <thead>\\r\\n                        <tr>\\r\\n                            <th>{{title.ID | translate}}</th>\\r\\n                            <th>{{title.type | translate}}</th>\\r\\n                            <th>{{title.email | translate}}</th>\\r\\n                            <th>{{title.name | translate}}</th>\\r\\n                            <th>{{title.wallet_amount | translate}}</th>\\r\\n                            <th>{{title.country | translate}}</th>\\r\\n                            <th>{{title.action | translate}}</th>\\r\\n                        </tr>\\r\\n                    </thead>\\r\\n                    <tbody>\\r\\n                        <tr *ngFor=\\\"let wallet of wallet_list\\\">\\r\\n                            <td>{{wallet.unique_id}}</td>\\r\\n                            <td [ngSwitch]=\\\"search_field\\\">\\r\\n                                <div *ngSwitchCase=7>{{lable_title.user}}\\r\\n                                </div>\\r\\n                                <div *ngSwitchCase=8>{{lable_title.provider}}\\r\\n                                </div>\\r\\n                                <div *ngSwitchCase=2>{{lable_title.store}}\\r\\n                                </div>\\r\\n                            </td>\\r\\n                            <td>{{wallet.email}}</td>\\r\\n                            <td>{{wallet.name}}{{wallet.first_name}} {{wallet.last_name}}</td>\\r\\n                            <td>{{wallet.wallet.toFixed(2)}}</td>\\r\\n                            <td>{{wallet.country_name}}</td>\\r\\n                            <td>\\r\\n                                <div class=\\\"dropdown pull-right\\\" [class.dropup]=\\\"last && !index==0\\\" dropdown>\\r\\n                                    <button class=\\\"btn btn-primary\\\" dropdown-open>{{title.action | translate}}<span class=\\\"caret\\\"></span></button>\\r\\n                                    <ul class=\\\"dropdown-menu\\\">\\r\\n                                        <li><a (click)=\\\"view_wallet_detail(wallet._id, true)\\\"><span style=\\\"display:block;\\\" class=\\\"nav-label\\\">{{button.view_detail | translate}}</span> </a></li>\\r\\n                                    </ul>\\r\\n                                </div>\\r\\n                            </td>\\r\\n                        </tr>\\r\\n                    </tbody>\\r\\n                </table>\\r\\n            </div>\\r\\n\\r\\n\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n        <div class=\\\"lable_center\\\">\\r\\n\\r\\n            <ul class=\\\"pagination\\\">\\r\\n                <li *ngIf=\\\"page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"wallet_history(page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page==index\\\">\\r\\n                    <a *ngIf=\\\"index==1 || index==total_page || index==page || index==page-1 || index==page+1\\\" (click)=\\\"wallet_history(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                    <a *ngIf=\\\"(index==1 && (page!==1 && page!==2 && page!==3)) || (index==total_page-1 && (page!==total_page && page!==total_page-1 && page!==total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n\\r\\n                </li>\\r\\n                <li *ngIf=\\\"page!==total_page && wallet_list.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"wallet_history(page+1)\\\">{{button.next | translate}}</a></li>\\r\\n            </ul>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n\\r\\n\\r\\n</div>\\r\\n\\r\\n\\r\\n<modal cssClass=\\\"\\\" #wallet_detail_modal>\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n        <label>Wallet Detail</label>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n\\r\\n        <div class=\\\"text-center\\\" style=\\\"font-weight: bold;font-size: 15px;\\\">\\r\\n            <div>{{detail.name}}{{detail.first_name}} {{detail.last_name}}</div>\\r\\n            <div [ngSwitch]=\\\"search_field\\\">\\r\\n                <div *ngSwitchCase=7>{{lable_title.user}}\\r\\n                </div>\\r\\n                <div *ngSwitchCase=8>{{lable_title.provider}}\\r\\n                </div>\\r\\n                <div *ngSwitchCase=2>{{lable_title.store}}\\r\\n                </div>\\r\\n            </div>\\r\\n            <div>Registered: {{detail.created_at| date: DATE_FORMAT.DD_MMM_YYYY}}</div>\\r\\n            <div>{{detail.wallet}}\\r\\n                <button style=\\\"width: 50px;display: inline;margin-left: 20px;\\\" (click)=\\\"open_modal(search_field,detail._id)\\\" type=\\\"button\\\" class=\\\"btn btn-light_black btn-sm btn-block\\\" tooltip=\\\"{{button.add_wallet | translate}}\\\"\\r\\n                        [tooltipDisabled]=\\\"false\\\"\\r\\n                        [tooltipAnimation]=\\\"true\\\"\\r\\n                        tooltipPlacement=\\\"top\\\">\\r\\n                    <i class=\\\"fa fa-plus\\\"></i>\\r\\n                </button>\\r\\n                <button style=\\\"width: 50px;display: inline;margin-left: 20px;margin-top: 0;\\\" (click)=\\\"remove_all_wallet(detail._id)\\\" type=\\\"button\\\" class=\\\"btn btn-light_black btn-sm btn-block\\\" tooltip=\\\"delete wallet\\\"\\r\\n                        [tooltipDisabled]=\\\"false\\\"\\r\\n                        [tooltipAnimation]=\\\"true\\\"\\r\\n                        tooltipPlacement=\\\"top\\\">\\r\\n                    <i class=\\\"fa fa-trash\\\"></i>\\r\\n                </button>\\r\\n            </div>\\r\\n        </div>\\r\\n        \\r\\n        <div class=\\\"table-responsive scrollbar\\\" style=\\\"height: 100%;margin-top: 35px;\\\">\\r\\n            <table class=\\\"table\\\">\\r\\n                <thead>\\r\\n                    <tr>\\r\\n                        <th>{{title.date | translate}}</th>\\r\\n                        <th>{{title.motive | translate}}</th>\\r\\n                        <!-- <th>{{title.order | translate}}</th> -->\\r\\n                        <th>{{title.type | translate}}</th>\\r\\n                        <th>{{title.amount | translate}}</th>\\r\\n                    </tr>\\r\\n                </thead>\\r\\n                <tbody>\\r\\n                    <tr *ngFor=\\\"let wallet of wallet_detail; let index=index; let last=last;\\\">\\r\\n                        <td>{{wallet.created_at| date: DATE_FORMAT.DD_MMM_YYYY}}</td>\\r\\n                        <td>{{wallet.wallet_description}}</td>\\r\\n                        <!-- <td>{{wallet.order_unique_id}}</td> -->\\r\\n                        <td>\\r\\n                            <div>\\r\\n                                <div *ngIf=\\\"wallet.wallet_comment_id==helper.WALLET_COMMENT_ID.ADDED_BY_ADMIN || wallet.wallet_comment_id==helper.WALLET_COMMENT_ID.ADDED_BY_CARD\\\">\\r\\n                                    Manual\\r\\n                                </div>\\r\\n                                <div *ngIf=\\\"wallet.wallet_comment_id==helper.WALLET_COMMENT_ID.ORDER_PROFIT || wallet.wallet_comment_id==helper.WALLET_COMMENT_ID.ADDED_BY_REFERRAL || wallet.wallet_comment_id==helper.WALLET_COMMENT_ID.ORDER_CANCELLATION_CHARGE || \\r\\n                                wallet.wallet_comment_id==helper.WALLET_COMMENT_ID.ORDER_REFUND || \\r\\n                                wallet.wallet_comment_id==helper.WALLET_COMMENT_ID.SET_ORDER_PROFIT || wallet.wallet_comment_id==helper.WALLET_COMMENT_ID.ORDER_CHARGED\\\">\\r\\n                                    Automatic\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </td>\\r\\n                        <td>{{wallet.added_wallet.toFixed(2)}}</td>\\r\\n                    </tr>\\r\\n                </tbody>\\r\\n            </table>\\r\\n        </div>\\r\\n    </modal-body>\\r\\n</modal>\\r\\n\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-sm\\\" #myModal>\\r\\n    <form #modalForm=\\\"ngForm\\\" (ngSubmit)=\\\"AddWallet(modalForm.value)\\\">\\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <h4 class=\\\"modal-title\\\">{{heading_title.add_wallet_amount | translate}}</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div class=\\\"row\\\">\\r\\n                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"type\\\"   name=\\\"type\\\"  />\\r\\n                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"id\\\"   name=\\\"id\\\"  />\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                    <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                        <div class=\\\"form-group\\\" >\\r\\n\\r\\n                            <label style=\\\"font-weight: normal;\\\"><strong>{{title.amount | translate}}</strong></label>\\r\\n                            <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"wallet\\\" (keypress)=\\\"helper.number_validation1($event)\\\" maxlength=\\\"10\\\" name=\\\"wallet\\\" required>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{button.save | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/wallet_history/wallet_history.component.html\n// module id = 1662\n// module chunks = 0","module.exports = \"\\r\\n<footer [myLoading]=\\\"myLoading\\\" ></footer> \\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.search | translate}}</label>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"search_field\\\" [(ngModel)]=\\\"search_field\\\" name=\\\"search_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"provider_detail.first_name\\\">{{title.filter_provider | translate}}</option>\\r\\n                        <option value=\\\"store_detail.name\\\">{{title.filter_store | translate}}</option>\\r\\n\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n\\r\\n                        <input type=\\\"text\\\" class=\\\"form-control search_box\\\" [(ngModel)]=\\\"search_value\\\"  name=\\\"search_value\\\">\\r\\n                        <span class=\\\"input-group-addon search_icon\\\"><span class=\\\"fa fa-search\\\"></span></span>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.sort | translate}}</label>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"sort_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"sort_field\\\" [(ngModel)]=\\\"sort_field\\\" name=\\\"sort_field\\\" tabindex=\\\"4\\\">\\r\\n                        <option value=\\\"unique_id\\\">{{title.filter_id}}</option>\\r\\n                        <option value=\\\"provider_detail.first_name\\\">{{title.filter_provider | translate}}</option>\\r\\n                        <option value=\\\"store_detail.name\\\">{{title.filter_store | translate}}</option>\\r\\n\\r\\n\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"sort_orders\\\">\\r\\n\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"sort_wallet_request\\\" [(ngModel)]=\\\"sort_wallet_request\\\" name=\\\"sort_wallet_request\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"1\\\">{{title.ascending | translate}}</option>\\r\\n                        <option value=\\\"-1\\\">{{title.descending | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.date_filter | translate}}</label>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-12 remove_padding\\\">\\r\\n\\r\\n\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n\\r\\n                        <my-date-picker id=\\\"start_date\\\" [options]=\\\"helper.myStartDatePickerOptions\\\" placeholder=\\\"Start Date\\\" [(ngModel)]=\\\"start_date\\\" (dateChanged)=\\\"helper.onStartDateChanged($event)\\\"\\r\\n                                        readonly></my-date-picker>\\r\\n                        <span class=\\\"input-group-addon date_filter_icon\\\">To</span>\\r\\n\\r\\n                        <my-date-picker id=\\\"end_date\\\" [options]=\\\"helper.myEndDatePickerOptions\\\" placeholder=\\\"End Date\\\" [(ngModel)]=\\\"end_date\\\" (dateChanged)=\\\"helper.onEndDateChanged($event)\\\"\\r\\n                                        readonly></my-date-picker>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <!--                        <input type=\\\"button\\\" class=\\\"btn export_excel_btn pull-right\\\" value=\\\"{{button.export_excel}}\\\" >-->\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"wallet_request(1)\\\" class=\\\"btn filter_apply_btn pull-right\\\" value=\\\"{{button.apply | translate}}\\\" >\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n    </div>\\r\\n\\r\\n</div>\\r\\n\\r\\n<div class=\\\"wrapper wrapper-content content_top_bar_view1 animated fadeInRight \\\">  \\r\\n\\r\\n    <div class=\\\"ibox\\\" *ngIf=\\\"wallet_request_list.length==0\\\">\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n            <div class=\\\"lable_center\\\" >\\r\\n                <label>No Records</label>\\r\\n            </div>\\r\\n        </div>  \\r\\n    </div>\\r\\n    <div class=\\\"ibox\\\" *ngIf=\\\"wallet_request_list.length>0\\\">\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n            <div class=\\\"table-responsive\\\">\\r\\n                <table class=\\\"table table-striped\\\">\\r\\n                    <thead>\\r\\n                        <tr>\\r\\n                            <th>{{title.wallet_request_id | translate}}</th>\\r\\n                            <th>{{title.wallet_request_type | translate}}</th>\\r\\n                            <th>{{title.email | translate}}</th>\\r\\n                            <th>{{title.wallet_request_date | translate}}</th>\\r\\n                            <th>{{title.wallet_request_currency | translate}}</th>\\r\\n                            <th>{{title.wallet_request_wallet | translate}}</th>\\r\\n                            <th>{{title.wallet_request_amount | translate}}</th>\\r\\n                            <th>{{title.wallet_request_description | translate}}</th>\\r\\n                            <th>{{title.wallet_request_status | translate}}</th>\\r\\n                            <th class=\\\"pull-right\\\" style=\\\"margin-right:35px\\\">{{title.action | translate}}</th>\\r\\n\\r\\n                        </tr>\\r\\n                    </thead>\\r\\n                    <tbody>\\r\\n                        <tr *ngFor=\\\"let wallet_request of wallet_request_list\\\">\\r\\n                            <td>{{wallet_request.unique_id}}</td>\\r\\n                            <td [ngSwitch]=\\\"wallet_request.user_type\\\">\\r\\n                                <div *ngSwitchCase=8>{{lable_title.provider}}\\r\\n                                </div>\\r\\n                                <div *ngSwitchCase=2>{{lable_title.store}}\\r\\n                                </div>\\r\\n                            </td>\\r\\n                            <td [ngSwitch]=\\\"wallet_request.user_type\\\">\\r\\n\\r\\n                                <div *ngSwitchCase=8 >{{wallet_request.provider_detail[0].email}}\\r\\n                                </div>\\r\\n                                <div *ngSwitchCase=2 >{{wallet_request.store_detail[0].email}}\\r\\n                                </div>\\r\\n                            </td>\\r\\n                            <td>{{wallet_request.created_at| date: DATE_FORMAT.DD_MMM_YYYY}}</td>\\r\\n                            <td>{{wallet_request.country_details.currency_sign}}</td>\\r\\n                            <td>{{wallet_request.total_wallet_amount.toFixed(2)}}</td>\\r\\n                            <td>{{wallet_request.requested_wallet_amount}}</td>\\r\\n                            <td>{{wallet_request.description_for_request_wallet_amount}}</td>\\r\\n\\r\\n\\r\\n                            <td [ngSwitch]=\\\"wallet_request.wallet_status\\\">\\r\\n                                <div *ngSwitchCase=\\\"WALLET_REQUEST_STATUS.CREATED\\\"><span class=\\\"label label-primary_new\\\">{{wallet_request_status.created}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"WALLET_REQUEST_STATUS.ACCEPTED\\\"><span class=\\\"label label-primary_new\\\">{{wallet_request_status.accepted}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"WALLET_REQUEST_STATUS.TRANSFERED\\\"><span class=\\\"label label-primary_new\\\">{{wallet_request_status.transfered}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"WALLET_REQUEST_STATUS.COMPLETED\\\"><span class=\\\"label label-danger\\\">{{wallet_request_status.completed}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"WALLET_REQUEST_STATUS.CANCELLED\\\"><span class=\\\"label label-danger\\\">{{wallet_request_status.cancelled}}</span></div>\\r\\n\\r\\n                            </td>\\r\\n\\r\\n                            <td><div class=\\\"dropdown pull-right\\\" [class.dropup]=\\\"last && !index==0\\\" dropdown>\\r\\n                                    <button class=\\\"btn btn-primary\\\" dropdown-open>{{title.action | translate}}<span class=\\\"caret\\\"></span></button>\\r\\n\\r\\n\\r\\n                                    <ul class=\\\"dropdown-menu\\\">\\r\\n\\r\\n                                        <li>\\r\\n                                            <form method=\\\"post\\\" #acceptWalletRequestForm=\\\"ngForm\\\" (ngSubmit)=\\\"AcceptWalletRequest(acceptWalletRequestForm.value)\\\">\\r\\n                                                <input type=\\\"hidden\\\" [(ngModel)]=\\\"wallet_request._id\\\" name=\\\"wallet_request_id\\\" />\\r\\n                                                <div [ngSwitch]=\\\"wallet_request.wallet_status\\\">\\r\\n\\r\\n                                                    <div *ngSwitchCase=\\\"WALLET_REQUEST_STATUS.CREATED\\\">\\r\\n                                                        <input type=\\\"hidden\\\" [(ngModel)]=\\\"WALLET_REQUEST_STATUS.ACCEPTED\\\" name=\\\"wallet_status\\\" />\\r\\n                                                        <button type=\\\"submit\\\" class=\\\"btn btn-default\\\" style=\\\"width:100%; margin-bottom:0px;\\\">\\r\\n                                                            {{button.wallet_request_accept | translate}}\\r\\n                                                        </button>\\r\\n                                                    </div>\\r\\n\\r\\n                                                    <div *ngSwitchCase=\\\"WALLET_REQUEST_STATUS.ACCEPTED\\\">\\r\\n                                                        <button type=\\\"submit\\\" (click)=\\\"open_modal(wallet_request._id)\\\" class=\\\"btn btn-default\\\" style=\\\"width:100%; margin-bottom:0px;\\\">\\r\\n                                                            {{button.wallet_request_send | translate}}\\r\\n                                                        </button>\\r\\n                                                    </div>\\r\\n\\r\\n\\r\\n\\r\\n                                                    <div *ngSwitchCase=\\\"WALLET_REQUEST_STATUS.TRANSFERED\\\">\\r\\n                                                        <!--                                                         <input type=\\\"hidden\\\" [(ngModel)]=\\\"WALLET_REQUEST_STATUS.COMPLETED\\\" name=\\\"wallet_status\\\" />\\r\\n                                                                                                                <button type=\\\"submit\\\" class=\\\"btn btn-default\\\" style=\\\"width:100%; margin-bottom:0px;\\\">\\r\\n                                                                                                                    {{button.wallet_request_complete | translate}}\\r\\n                                                                                                                </button>-->\\r\\n\\r\\n                                                        <form method=\\\"post\\\" #completeWalletRequestForm=\\\"ngForm\\\" (ngSubmit)=\\\"CompleteWalletRequest(completeWalletRequestForm.value)\\\">\\r\\n                                                            <input type=\\\"hidden\\\" [(ngModel)]=\\\"wallet_request._id\\\" name=\\\"wallet_request_id\\\" />\\r\\n\\r\\n                                                            <input type=\\\"hidden\\\" [(ngModel)]=\\\"WALLET_REQUEST_STATUS.COMPLETED\\\" name=\\\"wallet_status\\\" />\\r\\n\\r\\n                                                            <button type=\\\"submit\\\" class=\\\"btn btn-default action_btn\\\">{{button.wallet_request_complete | translate}}</button>\\r\\n                                                        </form>\\r\\n                                                    </div>\\r\\n\\r\\n                                                </div>\\r\\n                                            </form>\\r\\n                                        </li>\\r\\n                                        \\r\\n                                        <li *ngIf=\\\"wallet_request.is_payment_mode_cash==false\\\">\\r\\n                                            <a (click)=\\\"viewBankDetail(wallet_request.transaction_details)\\\"><span style=\\\"display:block;font-size:13px;\\\" class=\\\"nav-label\\\">{{button.view_bank_detail | translate}}</span> </a>\\r\\n                                        </li>\\r\\n                                        \\r\\n\\r\\n                                        <li><form method=\\\"post\\\" #cancleWalletRequestForm=\\\"ngForm\\\" (ngSubmit)=\\\"CancleWalletRequest(cancleWalletRequestForm.value)\\\">\\r\\n                                                <input type=\\\"hidden\\\" [(ngModel)]=\\\"wallet_request._id\\\" name=\\\"wallet_request_id\\\" />\\r\\n\\r\\n                                                <input type=\\\"hidden\\\" [(ngModel)]=\\\"WALLET_REQUEST_STATUS.CANCELLED\\\" name=\\\"wallet_status\\\" />\\r\\n                                                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"type\\\"   name=\\\"type\\\"  />\\r\\n                                                <button type=\\\"submit\\\" class=\\\"btn btn-default action_btn\\\">{{button.wallet_request_cancel | translate}}</button>\\r\\n                                            </form>\\r\\n                                        </li>\\r\\n                                    </ul>\\r\\n                                </div>\\r\\n                            </td>\\r\\n\\r\\n\\r\\n\\r\\n                        </tr>\\r\\n                    </tbody>\\r\\n                </table>\\r\\n            </div>\\r\\n\\r\\n\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n        <div class=\\\"lable_center\\\">\\r\\n\\r\\n            <ul class=\\\"pagination\\\">\\r\\n                <li *ngIf=\\\"page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"wallet_request(page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page==index\\\">\\r\\n                    <a *ngIf=\\\"index==1 || index==total_page || index==page || index==page-1 || index==page+1\\\" (click)=\\\"wallet_request(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                    <a *ngIf=\\\"(index==1 && (page!==1 && page!==2 && page!==3)) || (index==total_page-1 && (page!==total_page && page!==total_page-1 && page!==total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n\\r\\n                </li>\\r\\n                <li *ngIf=\\\"page!==total_page && wallet_request_list.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"wallet_request(page+1)\\\">{{button.next | translate}}</a></li>\\r\\n            </ul>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n\\r\\n\\r\\n</div>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-sm\\\" #myModal>\\r\\n    <form #modalForm=\\\"ngForm\\\" (ngSubmit)=\\\"TransferWalletRequestAmount(modalForm.value)\\\">\\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <h4 class=\\\"modal-title\\\">{{heading_title.add_wallet_amount | translate}}</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div class=\\\"row\\\">\\r\\n\\r\\n                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"wallet_request_id\\\"   name=\\\"wallet_request_id\\\"  />\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                    <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                        <div class=\\\"form-group\\\" >\\r\\n\\r\\n                            <label style=\\\"font-weight: normal;\\\"><strong>{{title.amount | translate}}</strong></label>\\r\\n                            <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"approved_requested_wallet_amount\\\" (keypress)=\\\"helper.number_validation($event)\\\"  maxlength=\\\"6\\\" name=\\\"approved_requested_wallet_amount\\\" required>\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{button.save | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/wallet_request/wallet_request.component.html\n// module id = 1663\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer> \\r\\n<div class=\\\"row\\\">\\r\\n    <div class=\\\"col-lg-9\\\">\\r\\n        <div class=\\\"wrapper wrapper-content animated fadeInRight content_top_bar\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-lg-12\\\">\\r\\n                            <div class=\\\"m-b-md\\\">\\r\\n\\r\\n                                <h2><strong>{{heading_title.bank_detail}}</strong></h2>\\r\\n                            </div>\\r\\n\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-lg-12\\\">\\r\\n                            <dl class=\\\"dl-horizontal\\\">\\r\\n\\r\\n\\r\\n                                <dt>{{title.bank_name | translate}}:</dt>\\r\\n                                <dd> {{bank_name}}</dd>\\r\\n                                <dt>{{title.bank_branch | translate}}:</dt>\\r\\n                                <dd>{{bank_branch}}</dd>\\r\\n                                <dt>{{title.bank_account_number | translate}}:</dt>\\r\\n                                <dd>{{bank_account_number}}</dd>\\r\\n\\r\\n                                <dt>{{title.bank_account_holder_name | translate}}:</dt>\\r\\n                                <dd>{{bank_account_holder_name}}</dd>\\r\\n\\r\\n                                <dt>{{title.bank_beneficiary_address | translate}}:</dt>\\r\\n                                <dd>{{bank_beneficiary_address}}</dd>\\r\\n\\r\\n                                <dt>{{title.bank_unique_code | translate}}:</dt>\\r\\n                                <dd>{{bank_unique_code}}</dd>\\r\\n\\r\\n                                <dt>{{title.bank_swift_code | translate}}:</dt>\\r\\n                                <dd>{{bank_swift_code}}</dd>\\r\\n                                \\r\\n                                <dt>{{title.created | translate}}:</dt>\\r\\n                                <dd> {{created_at| date: \\\"dd MMM yyyy hh:mm a\\\"}}</dd>\\r\\n                                \\r\\n                                 <dt>{{title.last_updated | translate}}:</dt>\\r\\n                                <dd>{{updated_at| date: \\\"dd MMM yyyy hh:mm a\\\"}}</dd>\\r\\n\\r\\n\\r\\n\\r\\n                            </dl>\\r\\n                        </div>\\r\\n                        \\r\\n                    </div>\\r\\n\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/admin/wallet_request_bank_detail/wallet_request_bank_detail.component.html\n// module id = 1664\n// module chunks = 0","module.exports = \"<style type=\\\"text/css\\\">\\r\\n    .scrollbar\\r\\n{\\r\\n    height: 140px;\\r\\n    background: #F5F5F5;\\r\\n    overflow-x: auto;\\r\\n}\\r\\n\\r\\n#style-3::-webkit-scrollbar-track\\r\\n{\\r\\n    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);\\r\\n    background-color: #F5F5F5;\\r\\n}\\r\\n\\r\\n#style-3::-webkit-scrollbar\\r\\n{\\r\\n    width: 3px;\\r\\n    background-color: #F5F5F5;\\r\\n}\\r\\n\\r\\n#style-3::-webkit-scrollbar-thumb\\r\\n{\\r\\n    background-color: #000000;\\r\\n}\\r\\n\\r\\n</style>\\r\\n<footer [myLoading]=\\\"myLoading\\\" ></footer>   \\r\\n<form #itemForm=\\\"ngForm\\\" (ngSubmit)=\\\"addItem(itemForm.value)\\\" id=\\\"myForm\\\" enctype='multipart/form-data' >\\r\\n    \\r\\n        <div class=\\\"wrapper wrapper-content animated fadeInRight content_top_bar\\\">\\r\\n        \\r\\n        \\r\\n            <div class=\\\"row\\\">\\r\\n                \\r\\n                <div class=\\\"col-md-12 col-sm-6\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.item_images | translate}}</label>\\r\\n                            <label style=\\\"font-weight: 100;\\\" >Note:  Upload image size within width x height (  min {{image_setting.image_min_width}}x{{image_setting.image_min_height}}\\r\\n                                and max {{image_setting.image_max_width}}x{{image_setting.image_max_height}}),</label><br>\\r\\n                            <label style=\\\"font-weight: 100;margin-left: 32px;\\\">Image ratio should be {{image_setting.image_ratio}} and upload only </label>\\r\\n                            <label *ngFor=\\\"let i of image_setting.image_type\\\"> {{(i.split('/'))[1]}} </label><label style=\\\"font-weight: 100;\\\"> file</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content\\\">\\r\\n                            <div class=\\\"row\\\" *ngIf=\\\"new_image_array.length>0\\\">\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                        <div class=\\\"scrollbar\\\" id=\\\"style-3\\\" style=\\\"width: 100%;height:131px;text-align: center;\\\">\\r\\n\\r\\n                                                <div *ngFor=\\\"let image of new_image_array; let index=index;\\\" style=\\\" display: inline-table;\\\">\\r\\n                                                    <img [src]=\\\"image.base64_image\\\" style=\\\"border-radius: 20%; width:100px; height: 100px; margin-right: 30px;\\\">\\r\\n\\r\\n                                                    <div style=\\\"text-align: center;width: 100px;margin-top: 5px;\\\">\\r\\n                                                        <i aria-hidden=\\\"true\\\" (click)=\\\"remove_new_image(index)\\\" class=\\\"fa fa-times-circle\\\" style=\\\"font-size: 25px;cursor: pointer;color:#bc2029;\\\"></i>\\r\\n                                                    </div>\\r\\n                                                </div>\\r\\n                                        </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-md-3 text_center\\\">\\r\\n                                    <span style=\\\"color: red;\\\">{{image_error | translate}}</span>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-6\\\" style=\\\"text-align: center;\\\">\\r\\n                                    <span class=\\\"btn-file\\\"><i class=\\\"fa fa-plus-circle\\\" style=\\\"font-size: 30px;cursor: pointer\\\"></i>\\r\\n                                        <input type=\\\"file\\\"  (change)=\\\"image_update($event);\\\" accept=\\\"image/*\\\" name=\\\"image[]\\\" multiple style=\\\"margin-top: -12px;padding: 13px;\\\"></span>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        \\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"row\\\">        \\r\\n                    <div class=\\\"col-md-12 col-sm-12\\\">     \\r\\n                        <div class=\\\"ibox\\\">    \\r\\n                            <div class=\\\"ibox-title\\\">\\r\\n                                <label class=\\\"control-label\\\">{{heading_title.store_list | translate}}</label>\\r\\n                            </div>       \\r\\n                            <div class=\\\"ibox-content\\\">\\r\\n                                <div class=\\\"row\\\">\\r\\n                                    <div *ngFor=\\\"let i of store_list; \\\" style=\\\"padding-left: 30px;\\\" class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                                            <input type=\\\"checkbox\\\" class=\\\"icheck1\\\" value=\\\"{{i._id}}\\\"/>\\r\\n                                            <label><span style=\\\"margin-left: 10px;\\\">{{i.name}}</span></label>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>                                    \\r\\n                        </div>                                    \\r\\n                    </div>                                    \\r\\n            </div>\\r\\n    \\t    <div class=\\\"row\\\">\\r\\n                    <div class=\\\"col-md-4 col-sm-6\\\">\\r\\n                        <div class=\\\"ibox\\\">\\r\\n                            <div class=\\\"ibox-title\\\">\\r\\n                                <label class=\\\"control-label\\\">{{heading_title.item_title | translate}}</label>\\r\\n                            </div>\\r\\n                            <div class=\\\"ibox-content\\\">\\r\\n                                <div class=\\\"row\\\">\\r\\n                                    <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_item.franchise_id\\\" #franchise_id=\\\"ngModel\\\"  name=\\\"franchise_id\\\" />\\r\\n                                    <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_item.server_token\\\" #server_token=\\\"ngModel\\\"  name=\\\"server_token\\\" />\\r\\n                                    <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_item.specifications_unique_id_count\\\" #specifications_unique_id_count=\\\"ngModel\\\"  name=\\\"specifications_unique_id_count\\\" />\\r\\n\\r\\n                                    <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"item_specification_list\\\" name=\\\"specifications\\\" />\\r\\n                                    <div class=\\\"form-group\\\">\\r\\n                                        <label class=\\\"col-md-4 control-label\\\">{{title.product | translate}}</label>\\r\\n                                        <div class=\\\"col-md-8 form-group\\\">\\r\\n                                            <select chosen class=\\\"chosen-select\\\" [(ngModel)]=\\\"add_item.product_id\\\" #product_id=\\\"ngModel\\\" id=\\\"product\\\" tabindex=\\\"4\\\" name=\\\"product_id\\\" required>\\r\\n                                                <option selected disabled hidden style=\\\"display:none;\\\">Select Product</option>\\r\\n                                                <option *ngFor=\\\"let i of product_list\\\" value=\\\"{{i._id}}\\\">{{i.name}}</option>\\r\\n                                            </select>\\r\\n                                            <div *ngIf=\\\"product_id.errors\\\">\\r\\n                                                <div style=\\\"color: red;\\\" [hidden]=\\\"!product_id.errors.required\\\">{{validation_message.select_product_required | translate}}</div>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n\\r\\n                                    <div class=\\\"form-group\\\">\\r\\n                                        <label class=\\\"col-md-4 control-label\\\">{{title.name | translate}}</label>\\r\\n                                        <div class=\\\"col-md-8 form-group\\\">\\r\\n                                            <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_item.name\\\" #name=\\\"ngModel\\\" (keyup)=\\\"check_item()\\\"  name=\\\"name\\\" required />\\r\\n                                            <label *ngIf=item_already_exist >{{message.item_already_exist | translate}}</label>\\r\\n                                            <div *ngIf=\\\"name.errors && (name.dirty || name.touched)\\\">\\r\\n                                                <div style=\\\"color: red;\\\" [hidden]=\\\"!name.errors.required\\\">{{validation_message.item_name_required | translate}}</div>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"form-group\\\">\\r\\n                                        <label class=\\\"col-md-4 control-label\\\">{{title.details | translate}}</label>\\r\\n                                        <div class=\\\"col-md-8 form-group\\\">\\r\\n                                            <textarea style=\\\"max-width: 100%; max-height: 80px;\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_item.details\\\" #details=\\\"ngModel\\\"  name=\\\"details\\\" required ></textarea>\\r\\n                                            <div *ngIf=\\\"details.errors && (details.dirty || details.touched)\\\">\\r\\n                                                <div style=\\\"color: red;\\\" [hidden]=\\\"!details.errors.required\\\">{{validation_message.item_detail_required | translate}}</div>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"form-group\\\">\\r\\n                                        <label class=\\\"col-md-4 control-label\\\">{{title.price | translate}}</label>\\r\\n                                        <div class=\\\"col-md-8 form-group\\\">\\r\\n                                            <input type=\\\"text\\\" (keypress)=\\\"helper.number_validation($event)\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_item.price\\\" #price=\\\"ngModel\\\"  name=\\\"price\\\" required />\\r\\n                                            <div *ngIf=\\\"price.errors && (price.dirty || price.touched)\\\">\\r\\n                                                <div style=\\\"color: red;\\\" [hidden]=\\\"!price.errors.required\\\">{{validation_message.item_price_required | translate}}</div>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                    \\r\\n                                </div>\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-3 col-sm-6\\\">\\r\\n                        <div class=\\\"ibox\\\">\\r\\n                            <div class=\\\"ibox-title\\\">\\r\\n                                <label class=\\\"control-label\\\">{{heading_title.item_setting | translate}}</label>\\r\\n                            </div>\\r\\n                            <div class=\\\"ibox-content\\\">\\r\\n                                <div class=\\\"row\\\">\\r\\n                                    <div class=\\\"form-group\\\">\\r\\n                                        <label class=\\\"col-md-8 col-sm-8 col-xs-8 control-label\\\">{{title.is_default | translate}}</label>\\r\\n\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4 form-group\\\">\\r\\n                                            <ui-switch [(ngModel)]=\\\"add_item.is_visible_in_store\\\" #is_visible_in_store=\\\"ngModel\\\" name=\\\"is_visible_in_store\\\"></ui-switch>\\r\\n\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n\\r\\n\\r\\n                                    <div class=\\\"form-group\\\">\\r\\n                                        <label class=\\\"col-md-8 col-sm-8 col-xs-8 control-label\\\">{{title.is_item_in_stock | translate}}</label>\\r\\n\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4 form-group\\\">\\r\\n                                            <ui-switch [(ngModel)]=\\\"add_item.is_item_in_stock\\\" #is_item_in_stock=\\\"ngModel\\\" name=\\\"is_item_in_stock\\\"></ui-switch>\\r\\n\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"form-group\\\">\\r\\n                                        <label class=\\\"col-md-8 col-sm-8 col-xs-8 control-label\\\">{{title.is_most_popular | translate}}</label>\\r\\n\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4 form-group\\\">\\r\\n                                            <ui-switch [(ngModel)]=\\\"add_item.is_most_popular\\\" #is_most_popular=\\\"ngModel\\\" name=\\\"is_most_popular\\\"></ui-switch>\\r\\n\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-5 col-sm-12\\\">\\r\\n                        <div class=\\\"ibox\\\">\\r\\n                            <div class=\\\"ibox-title\\\">\\r\\n                                <label class=\\\"control-label\\\">{{heading_title.item_specification | translate}}</label>\\r\\n                            </div>\\r\\n                            <div class=\\\"ibox-content\\\" >\\r\\n                                <div [hidden]=\\\"add_item.product_id==''\\\" style=\\\"text-align: center; margin-bottom: 12px;\\\">\\r\\n                                    <button type=\\\"button\\\" id=\\\"add_specification\\\" (click)=\\\"open_specification_group_modal()\\\" class=\\\"btn add_btn\\\">{{button.add_specification | translate}}<span class=\\\"fa fa-plus pull-right\\\" style=\\\"margin-top: 2px;\\\"></span></button>\\r\\n                                </div>\\r\\n                                <div class=\\\"table-responsive\\\">\\r\\n                                    <table class=\\\"table\\\">\\r\\n                                        <tr>\\r\\n                                            <td>{{title.specification_name | translate}}</td>\\r\\n                                            <td>{{title.action | translate}}</td>\\r\\n                                        </tr>\\r\\n                                        <tr *ngFor=\\\"let i of item_specification_list\\\">\\r\\n                                            <td>{{i.name}}</td>\\r\\n                                            <td><button type=\\\"button\\\" class=\\\"btn btn-default\\\" (click)=\\\"delete_item_specification(i)\\\">{{button.delete | translate}}</button></td>\\r\\n                                        </tr>\\r\\n                                    </table>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n            </div>\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-md-4\\\">\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-4\\\" style=\\\"text-align: center;\\\">\\r\\n                            <input type=\\\"submit\\\" [disabled]=\\\"item_already_exist\\\" id=\\\"submit\\\" name=\\\"submit\\\" style=\\\"width: 50%;\\\" class=\\\"btn btn-primary\\\" value=\\\"{{button.add_item | translate}}\\\" >\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        \\r\\n    </div>\\r\\n</form>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl animated fadeInUpBig\\\" #myModal>\\r\\n    <form #modalForm=\\\"ngForm\\\" (ngSubmit)=\\\"addSpecification(modalForm.value)\\\">\\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <h4 class=\\\"modal-title\\\">{{heading_title.add_item_specification | translate}}</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                    <div class=\\\"col-md-4 col-sm-4 col-xs-8\\\">\\r\\n                        <div class=\\\"form-group\\\" >\\r\\n                            <label style=\\\"font-weight: normal;\\\">{{title.item_specification_name | translate}}</label>\\r\\n                            <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_item.item_specification_name\\\" #item_specification_name=\\\"ngModel\\\" name=\\\"item_specification_name\\\" required>\\r\\n                            <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_item.specification_group_id\\\" #specification_group_id=\\\"ngModel\\\" name=\\\"specification_group_id\\\">\\r\\n\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-2 col-sm-2 col-xs-4\\\">\\r\\n                        <label class=\\\"col-md-12 col-sm-12 col-xs-12\\\" style=\\\"font-weight: normal;\\\">{{title.is_required | translate}}</label>\\r\\n                        <ui-switch class=\\\"col-md-12 col-sm-12 col-xs-12\\\" [(ngModel)]=\\\"add_item.is_required\\\" #is_required=\\\"ngModel\\\" name=\\\"is_required\\\"></ui-switch>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"col-md-6 col-sm-6 col-xs-12\\\">\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-md-12 col-sm-12 col-xs-4\\\" style=\\\"font-weight: normal;\\\">{{title.select_type | translate}}</label>\\r\\n                            <input type=\\\"hidden\\\" [(ngModel)]=\\\"add_item.type\\\" #type=\\\"ngModel\\\" name=\\\"type\\\" >\\r\\n                            <div class=\\\"col-md-6 col-sm-6 col-xs-4 form-group\\\">\\r\\n                                <label><input class=\\\"iradio\\\" type=\\\"radio\\\" id=\\\"1\\\" name=\\\"select_type\\\" value=\\\"1\\\" checked/><span style=\\\"margin-left: 10px;\\\" >{{title.type_single | translate}}</span></label>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-6 col-sm-6 col-xs-4 form-group\\\">\\r\\n                                <label><input class=\\\"iradio\\\" type=\\\"radio\\\" id=\\\"2\\\" name=\\\"select_type\\\" value=\\\"2\\\"/><span style=\\\"margin-left: 10px;\\\">{{title.type_multiple | translate}}</span></label>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    \\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                    <div class=\\\"form-group\\\">\\r\\n                        <div class=\\\"table-responsive\\\">\\r\\n                            <table class=\\\"table\\\">\\r\\n                            <tr>\\r\\n                                <td style=\\\"width: 40%\\\">{{title.add_specification | translate}}</td>\\r\\n                                <td style=\\\"width: 120px;\\\">{{title.price | translate}}</td>\\r\\n                                <td style=\\\"width: 30%\\\">{{title.default_select | translate}}</td>\\r\\n                            </tr>\\r\\n                            </table>\\r\\n                            <div id=\\\"spec_model\\\">\\r\\n                                <table class=\\\"table\\\">\\r\\n                                    <tr *ngFor=\\\"let i of product_specification_list; let index=index; \\\">\\r\\n\\r\\n                                        <td style=\\\"width: 5%\\\"><label><input type=\\\"checkbox\\\" class=\\\"icheck\\\" value=\\\"{{i._id}}\\\"/></label></td>\\r\\n                                        <td style=\\\"width: 35%\\\"><label><span style=\\\"margin-left: 10px;\\\">{{i.name}}</span></label></td>\\r\\n                                        <td style=\\\"width: 120px;\\\"><div><input type=\\\"text\\\" class=\\\"form-control\\\" [disabled]=\\\"checked_array[index]!=true\\\" (keypress)=\\\"helper.price_validation($event, i.price)\\\"  [(ngModel)]=\\\"i.price\\\" name=\\\"{{index}}\\\"></div></td>\\r\\n                                        <td style=\\\"width: 30%\\\"><ui-switch (change)=\\\"onChange($event, i._id)\\\" [(ngModel)]=\\\"i.is_default_selected\\\" #is_default_selected=\\\"ngModel\\\" [disabled]=\\\"checked_array[index]!=true\\\" name=\\\"is_default_selected{{i._id}}\\\"></ui-switch></td>\\r\\n                                    </tr>\\r\\n                                </table>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div *ngIf=\\\"spec_list_error==1\\\">\\r\\n                            <label class=\\\"error\\\" style=\\\"font-weight: normal;\\\">{{title.error_atleast_one_specification | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{button.save | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-sm animated fadeInDownBig\\\" #myspec_group_modal>\\r\\n    \\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <h4 class=\\\"modal-title\\\">{{heading_title.add_item_specification | translate}}</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                    <div id=\\\"spec_model\\\">\\r\\n                        <table class=\\\"table\\\">\\r\\n                            <tr *ngFor=\\\"let i of product_specification_group_list\\\">\\r\\n                                <td style=\\\"width: 40%\\\" (click)=\\\"open_specification_modal(i._id , i.product_id , i.name , i.unique_id)\\\"><label>{{i.name}}</label></td>\\r\\n                            </tr>\\r\\n                        </table>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            \\r\\n        </modal-body>\\r\\n</modal>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/franchise/add_item/add_item.component.html\n// module id = 1665\n// module chunks = 0","module.exports = \"<style type=\\\"text/css\\\">\\r\\n    .scrollbar\\r\\n{\\r\\n    height: 140px;\\r\\n    background: #F5F5F5;\\r\\n    overflow-x: auto;\\r\\n}\\r\\n\\r\\n#style-3::-webkit-scrollbar-track\\r\\n{\\r\\n    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);\\r\\n    background-color: #F5F5F5;\\r\\n}\\r\\n\\r\\n#style-3::-webkit-scrollbar\\r\\n{\\r\\n    width: 3px;\\r\\n    background-color: #F5F5F5;\\r\\n}\\r\\n\\r\\n#style-3::-webkit-scrollbar-thumb\\r\\n{\\r\\n    background-color: #000000;\\r\\n}\\r\\n#style-3::.gray-bg{\\r\\n    background-color: #000000 !important;   \\r\\n}\\r\\n</style>\\r\\n<footer [myLoading]=\\\"myLoading\\\" ></footer>   \\r\\n<div class=\\\"row full_height\\\">\\r\\n    \\r\\n        <div class=\\\"col-md-12 col-xs-12 col-sm-12 full_height login_right_background\\\">\\r\\n            <div class=\\\"loginColumns animated fadeInRight\\\" style=\\\"max-width: 100%;\\\">\\r\\n                <div class=\\\"ibox-content login_right_background\\\">\\r\\n                    <div class=\\\"row\\\" style=\\\"margin-left: 0px; margin-right: 0px;;\\\">\\r\\n                        <div class=\\\"col-md-6 col-sm-6 col-xs-6\\\">\\r\\n                            <label class='col-lg-12 login_right_title'>{{title.register_your_account | translate}}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-6 col-sm-6 col-xs-6\\\">\\r\\n                            <div class=\\\"col-lg-12 profile-images center\\\">\\r\\n                                \\r\\n                                <span class=\\\"btn-file pull-right\\\"><img class=\\\"img-circle\\\" style=\\\"width: 110px;height: 110px;\\\" src=\\\"{{store_register.image_url}}\\\" alt=\\\"profile\\\"><input type=\\\"file\\\" accept=\\\"image/*\\\" (change)=\\\"image_update($event);\\\" name=\\\"image\\\"></span>\\r\\n                                \\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                    \\r\\n                    <form #storForm=\\\"ngForm\\\" (ngSubmit)=\\\"storeRegister(storForm.value)\\\" >\\r\\n\\r\\n                        <div class=\\\"col-md-6 col-sm-6\\\">\\r\\n                            <div class=\\\"col-lg-12 form-group\\\">\\r\\n                                <input type=\\\"text\\\" class=\\\"form-control register_text_box\\\" [(ngModel)]=\\\"store_register.name\\\" #name=\\\"ngModel\\\" placeholder=\\\"{{title.name | translate}}\\\" name=\\\"name\\\" required />\\r\\n                                <div *ngIf=\\\"name.errors && (name.dirty || name.touched)\\\">\\r\\n                                    <div style=\\\"color: red;\\\" [hidden]=\\\"!name.errors.required\\\">{{validation_message.name_required | translate}}\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"col-lg-12 form-group\\\">\\r\\n                                <input type=\\\"email\\\" [readonly]=\\\"store_register.social_unique_id !== '' && store_register.email !== ''\\\" class=\\\"form-control register_text_box\\\" [(ngModel)]=\\\"store_register.email\\\" #email=\\\"ngModel\\\" placeholder=\\\"{{title.email | translate}}\\\" name=\\\"email\\\" email required />\\r\\n                                <div *ngIf=\\\"email.errors && (email.dirty || email.touched)\\\">\\r\\n                                    <div style=\\\"color: red;\\\" [hidden]=\\\"!email.errors.required\\\">{{validation_message.email_required | translate}}\\r\\n                                    </div>\\r\\n                                    <div style=\\\"color: red;\\\" [hidden]=\\\"!email.errors?.email\\\">{{validation_message.valid_email | translate}}\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"col-lg-12 form-group\\\" [hidden]=\\\"store_register.social_unique_id !== ''\\\">\\r\\n                                <input type=\\\"password\\\" class=\\\"form-control register_text_box\\\" [(ngModel)]=\\\"store_register.confirm_password\\\" #confirm_password=\\\"ngModel\\\" placeholder=\\\"{{title.password | translate}}\\\" name=\\\"password\\\" minlength=\\\"6\\\"  required />\\r\\n                                <div *ngIf=\\\"confirm_password.errors && (confirm_password.dirty || confirm_password.touched)\\\">\\r\\n                                    <div style=\\\"color: red;\\\" [hidden]=\\\"!confirm_password.errors.required\\\">{{validation_message.password_required | translate}}\\r\\n                                    </div>\\r\\n                                    <div style=\\\"color: red;\\\" [hidden]=\\\"!confirm_password.errors.minlength\\\">{{validation_message.password_minlength | translate}}\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"col-lg-12 form-group\\\" >\\r\\n                                <input type=\\\"password\\\" class=\\\"form-control register_text_box\\\" [(ngModel)]=\\\"store_register.password\\\" #password=\\\"ngModel\\\" [equalTo]=\\\"confirm_password\\\" placeholder=\\\"{{title.confirm_password | translate}}\\\" name=\\\"confirm_password\\\" required />\\r\\n                                <div *ngIf=\\\"password.errors && (password.dirty || password.touched)\\\">\\r\\n                                    <div style=\\\"color: red;\\\" [hidden]=\\\"!password.errors.required\\\">{{validation_message.password_required | translate}}\\r\\n                                    </div>\\r\\n                                    <div style=\\\"color: red;\\\" [hidden]=\\\"!password.errors.minlength\\\">{{validation_message.password_minlength | translate}}\\r\\n                                    </div>\\r\\n                                    <div style=\\\"color: red;\\\" [hidden]=\\\"!password.errors?.equalTo\\\">{{validation_message.match_confirm_password | translate}}\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div id=\\\"Optiona_field\\\">\\r\\n                                <div class=\\\"col-lg-12 form-group\\\">\\r\\n                                    <input type=\\\"text\\\" class=\\\"form-control register_text_box\\\" [(ngModel)]=\\\"store_register.website_url\\\" #website_url=\\\"ngModel\\\" placeholder=\\\"{{title.website_url | translate}}\\\" name=\\\"website_url\\\" />\\r\\n\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-lg-12 form-group\\\">\\r\\n                                    <input type=\\\"text\\\" class=\\\"form-control register_text_box\\\" [(ngModel)]=\\\"store_register.slogan\\\" #slogan=\\\"ngModel\\\" placeholder=\\\"{{title.slogan | translate}}\\\" name=\\\"slogan\\\" />\\r\\n\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-lg-12 form-group\\\">\\r\\n                                    <input type=\\\"text\\\" class=\\\"form-control register_text_box\\\" [(ngModel)]=\\\"store_register.famous_for\\\" #famous_for=\\\"ngModel\\\" placeholder=\\\"{{title.famous_for | translate}}\\\" name=\\\"famous_for\\\" />\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                            <!--<div [hidden]=\\\"store_register.country_id == '' || is_referral==false || is_country_referral==false \\\">\\r\\n                                <div class=\\\"col-lg-12 form-group\\\">\\r\\n                                    <div class=\\\"input-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control register_text_box\\\" [(ngModel)]=\\\"referral_code\\\" [disabled]=\\\"is_referral_apply\\\" placeholder=\\\"{{title.referral_code | translate}}\\\" name=\\\"referral_code\\\" />\\r\\n                                        <span class=\\\"input-group-addon\\\" (click)=\\\"check_referral()\\\" id=\\\"basic-addon2\\\">{{button.apply | translate}}</span>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>-->\\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"col-md-6 col-sm-6\\\">\\r\\n                            <div class=\\\"col-lg-12 form-group \\\" id=\\\"register_text_box\\\">\\r\\n                                <select chosen class=\\\"form-control chosen-select\\\" id=\\\"country\\\" [(ngModel)]=\\\"store_register.country_id\\\" data-placeholder=\\\"Select Country\\\" #country_id=\\\"ngModel\\\" name=\\\"country_id\\\" tabindex=\\\"4\\\" required>\\r\\n                                    <option selected style=\\\"display:none;\\\">{{title.select_country | translate}}</option>\\r\\n                                    <option *ngFor=\\\"let i of country_list\\\" value=\\\"{{i._id}}\\\">{{i.country_name}}</option>\\r\\n                                </select>\\r\\n                                <div *ngIf=\\\"country_id.errors && (country_id.dirty || country_id.touched)\\\">\\r\\n                                    <div style=\\\"color: red;\\\" [hidden]=\\\"!country_id.errors.required\\\">{{validation_message.select_country_required | translate}}</div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"col-lg-12 form-group\\\" id=\\\"register_text_box\\\">\\r\\n                                <select chosen class=\\\"form-control chosen-select\\\" id=\\\"city\\\" [(ngModel)]=\\\"store_register.city_id\\\" data-placeholder=\\\"Select City\\\" #city_id=\\\"ngModel\\\" name=\\\"city_id\\\" tabindex=\\\"4\\\" required >\\r\\n                                    <option selected style=\\\"display:none;\\\">{{title.select_city | translate}}</option>\\r\\n                                    <option *ngFor=\\\"let i of city_list\\\" value=\\\"{{i._id}}\\\">{{i.city_name}}</option>\\r\\n                                </select>\\r\\n                                <div *ngIf=\\\"city_id.errors && (city_id.dirty || city_id.touched)\\\">\\r\\n                                    <div style=\\\"color: red;\\\" [hidden]=\\\"!city_id.errors.required\\\">{{validation_message.select_city_required | translate}}</div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"col-lg-12 col-lg-12 form-group\\\" id=\\\"register_text_box\\\">\\r\\n                                <select chosen class=\\\"form-control chosen-select\\\" id=\\\"delivery\\\" [(ngModel)]=\\\"store_register.store_delivery_id\\\" data-placeholder=\\\"Select Delivery Type\\\" #store_delivery_id=\\\"ngModel\\\" name=\\\"store_delivery_id\\\" tabindex=\\\"4\\\"  required>\\r\\n                                    <option selected style=\\\"display:none;\\\">{{title.select_delivery | translate}}</option>\\r\\n                                    <option *ngFor=\\\"let i of delivery_list\\\" value=\\\"{{i._id}}\\\">{{i.delivery_name}}</option>\\r\\n                                </select>\\r\\n                                <div *ngIf=\\\"store_delivery_id.errors && (longitude.dirty || longitude.touched)\\\">\\r\\n                                    <div style=\\\"color: red;\\\" [hidden]=\\\"!store_delivery_id.errors.required\\\">{{validation_message.select_delivery_type_required | translate}}</div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"col-lg-4 col-xs-4 form-group\\\">\\r\\n\\r\\n                                <input type=\\\"text\\\" class=\\\"form-control register_text_box\\\" [(ngModel)]=\\\"store_register.country_phone_code\\\" #country_phone_code=\\\"ngModel\\\" name=\\\"country_phone_code\\\" readonly required />\\r\\n\\r\\n                            </div>\\r\\n                            <div class=\\\"col-lg-8 col-xs-8 form-group\\\">\\r\\n                                <input type=\\\"text\\\" class=\\\"form-control register_text_box\\\" (keypress)=\\\"helper.number_validation($event)\\\" [(ngModel)]=\\\"store_register.phone\\\" #phone=\\\"ngModel\\\" placeholder=\\\"{{title.phone | translate}}\\\" name=\\\"phone\\\" minlength=\\\"{{minimum_phone_number_length}}\\\" maxlength=\\\"{{maximum_phone_number_length}}\\\" required />\\r\\n                                <div *ngIf=\\\"phone.errors && (phone.dirty || phone.touched)\\\">\\r\\n                                    <div style=\\\"color: red;\\\" [hidden]=\\\"!phone.errors.required\\\">{{validation_message.phone_required | translate}}\\r\\n                                    </div>\\r\\n                                    <div style=\\\"color: red;\\\" [hidden]=\\\"!phone.errors.minlength\\\">{{validation_message.phone_minlength | translate}}\\r\\n                                    </div>\\r\\n                                    <div style=\\\"color: red;\\\" [hidden]=\\\"!phone.errors.maxlength\\\">{{validation_message.phone_maxlength | translate}}\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                            </div>\\r\\n                            <div class=\\\"col-lg-12 form-group\\\">\\r\\n                                <input type=\\\"text\\\" class=\\\"form-control register_text_box\\\" [(ngModel)]=\\\"store_register.address\\\" #address=\\\"ngModel\\\" id=\\\"address\\\" placeholder=\\\"{{title.address | translate}}\\\" name=\\\"address\\\" required />\\r\\n                                <div *ngIf=\\\"address.errors && (address.dirty || address.touched)\\\">\\r\\n                                    <div style=\\\"color: red;\\\" [hidden]=\\\"!address.errors.required\\\">{{validation_message.address_required | translate}}\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"col-lg-6 col-xs-6 form-group\\\">\\r\\n                                <input type=\\\"text\\\" class=\\\"form-control register_text_box\\\" [(ngModel)]=\\\"store_register.latitude\\\" (keypress)=\\\"helper.location_validation($event)\\\" id=\\\"latitude\\\" #latitude=\\\"ngModel\\\" placeholder=\\\"{{title.latitude | translate}}\\\" name=\\\"latitude\\\" required />\\r\\n                                <div *ngIf=\\\"latitude.errors && (latitude.dirty || latitude.touched)\\\">\\r\\n                                    <div style=\\\"color: red;\\\" [hidden]=\\\"!latitude.errors.required\\\">{{validation_message.latitude_required | translate}}\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-lg-6 col-xs-6 form-group\\\">\\r\\n                                <input type=\\\"text\\\" class=\\\"form-control register_text_box\\\" [(ngModel)]=\\\"store_register.longitude\\\" (keypress)=\\\"helper.location_validation($event)\\\" id=\\\"longitude\\\" #longitude=\\\"ngModel\\\" placeholder=\\\"{{title.longitude | translate}}\\\" name=\\\"longitude\\\" required />\\r\\n                                <div *ngIf=\\\"longitude.errors && (longitude.dirty || longitude.touched)\\\">\\r\\n                                    <div style=\\\"color: red;\\\" [hidden]=\\\"!longitude.errors.required\\\">{{validation_message.longitude_required | translate}}\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n\\r\\n                            \\r\\n\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-12 col-xs-12 col-sm-12 lable_center\\\" style=\\\"margin-top: 20px;\\\">\\r\\n                            <button type=\\\"submit\\\" class=\\\"btn btn-danger m-b login_submit_button\\\">{{button.submit | translate}}</button>\\r\\n                        </div>\\r\\n\\r\\n                    </form>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n</div>\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-sm\\\" #myModal id=\\\"otp_model\\\">\\r\\n    <form #modalForm=\\\"ngForm\\\" (ngSubmit)=\\\"otp_var(modalForm.value)\\\">\\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <h4 class=\\\"modal-title\\\">{{title.verification | translate}}!</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div [ngSwitch]=\\\"opt_error_message\\\">\\r\\n                <div *ngSwitchCase=1>\\r\\n                    <label style=\\\"color: red;\\\">{{validation_message.email_otp_wrong | translate}}</label>\\r\\n                </div>\\r\\n                <div *ngSwitchCase=2>\\r\\n                    <label style=\\\"color: red;\\\">{{validation_message.sms_otp_erong | translate}}</label>\\r\\n                </div>\\r\\n                <div *ngSwitchCase=3>\\r\\n                    <label style=\\\"color: red;\\\">{{validation_message.otp_wrong | translate}}</label>\\r\\n                </div>\\r\\n            </div>\\r\\n                <div class=\\\"form-group\\\" id=\\\"otp_for_sms\\\">\\r\\n                    <label>{{title.sms_otp | translate}}</label>\\r\\n                    <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"sms_otp\\\" name=\\\"sms_otp\\\" >\\r\\n                </div>\\r\\n                <div class=\\\"form-group\\\" id=\\\"otp_for_email\\\">\\r\\n                    <label>{{title.email_otp | translate}}</label>\\r\\n                    <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"email_otp\\\" name=\\\"email_otp\\\" >\\r\\n                </div>\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{button.submit | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/franchise/add_store/add_store.component.html\n// module id = 1666\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.search | translate}}</label>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"search_field\\\" [(ngModel)]=\\\"search_field\\\" name=\\\"search_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"user_detail.first_name\\\">{{title.filter_user | translate}}</option>\\r\\n                        <option value=\\\"provider_detail.first_name\\\">{{title.filter_provider | translate}}</option>\\r\\n                        <option value=\\\"order_details.product_name\\\">{{title.filter_product | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n\\r\\n                        <input type=\\\"text\\\" class=\\\"form-control search_box\\\" [(ngModel)]=\\\"search_value\\\" #store_open_time=\\\"ngModel\\\" name=\\\"search_value\\\">\\r\\n                        <span class=\\\"input-group-addon search_icon\\\"><span class=\\\"fa fa-search\\\"></span></span>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.sort | translate}}</label>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"sort_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"sort_field\\\" [(ngModel)]=\\\"sort_field\\\" name=\\\"sort_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"unique_id\\\">{{title.filter_id | translate}}</option>\\r\\n                        <option value=\\\"user_detail.first_name\\\">{{title.filter_user | translate}}</option>\\r\\n                        <option value=\\\"provider_detail.first_name\\\">{{title.filter_provider | translate}}</option>\\r\\n                        <option value=\\\"order_details.product_name\\\">{{title.filter_product | translate}}</option>\\r\\n\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"sort_orders\\\">\\r\\n\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"sort_order\\\" [(ngModel)]=\\\"sort_order\\\" name=\\\"sort_order\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"1\\\">{{title.ascending | translate}}</option>\\r\\n                        <option value=\\\"-1\\\">{{title.descending | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" class=\\\"btn export_excel_btn pull-right\\\" value=\\\"{{button.export_excel | translate}}\\\" >\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"filter(1)\\\" class=\\\"btn filter_apply_btn pull-right\\\" value=\\\"{{button.apply | translate}}\\\" >\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n<div class=\\\"wrapper content_top_bar_view1 wrapper-content animated fadeInRight\\\">\\r\\n\\r\\n    <div class=\\\"ibox\\\">\\r\\n        <div class=\\\"ibox-title\\\">\\r\\n            <h5>{{heading_title.delivery_list | translate}}</h5>\\r\\n        </div>\\r\\n        <div class=\\\"ibox-content\\\" style=\\\"padding-bottom: 40px;\\\">\\r\\n            <div class=\\\"table-responsive table_height\\\" style=\\\"padding-bottom: 80px;\\\">\\r\\n                <table class=\\\"table\\\">\\r\\n                    <thead>\\r\\n                        <tr>\\r\\n                            <th>{{title.id | translate}}</th>\\r\\n                            <th>{{title.user | translate}}</th>\\r\\n                            <th>{{title.product | translate}}</th>\\r\\n                            <th>{{title.provider | translate}}</th>\\r\\n                            <th>{{title.store | translate}}</th>\\r\\n                            <th>{{title.payment_by | translate}}</th>\\r\\n                            <th>{{title.confirmation_code | translate}}</th>\\r\\n                            <th>{{title.total | translate}}</th>\\r\\n                            <th>{{title.status | translate}}</th>\\r\\n                            <th class=\\\"pull-right\\\">{{title.action | translate}}</th>\\r\\n                        </tr>\\r\\n                    </thead>\\r\\n                    <tbody>\\r\\n                        <tr *ngFor=\\\"let order of order_list; let last=last; \\\">\\r\\n                            <td>{{order.unique_id}}</td>\\r\\n                            <td>{{order.user_detail.first_name}} {{order.user_detail.last_name}}</td>\\r\\n                            <td><div *ngFor=\\\"let product of order.order_details\\\">{{product.product_name}}</div></td>\\r\\n                            <td><div *ngIf=\\\"order.provider_detail.length>0\\\">{{order.provider_detail[0].first_name}} {{order.provider_detail[0].last_name}}</div></td>\\r\\n                            <td>{{order.store_detail.name}}</td>\\r\\n                            <!--<td [ngSwitch]=\\\"order.order_payment_detail.is_payment_mode_cash\\\">-->\\r\\n                                <!--<div *ngSwitchCase=\\\"true\\\"><span class=\\\"label label-primary\\\">{{title.cash | translate}}</span></div>-->\\r\\n                                <!--<div *ngSwitchCase=\\\"false\\\"><span class=\\\"label label-danger\\\">{{title.card | translate}}</span></div>-->\\r\\n                            <!--</td>-->\\r\\n                            <td [ngSwitch]=\\\"order.order_payment_detail.is_payment_mode_cash\\\">\\r\\n                                <div *ngSwitchCase=\\\"true\\\"><span class=\\\"label label-primary\\\">{{title.cash | translate}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"false\\\"><span class=\\\"label label-danger\\\">{{order.payment_gateway_detail[0].name}} </span></div>\\r\\n                            </td>\\r\\n                            <td ><div *ngIf=\\\"((order.order_payment_detail.is_payment_mode_cash==false) || (order.order_payment_detail.is_payment_mode_cash==true && order.order_payment_detail.is_order_payment_status_set_by_store == true))\\\">{{order.confirmation_code_for_pick_up_delivery}}</div>\\r\\n                                <div *ngIf=\\\"order.order_payment_detail.is_payment_mode_cash==true && order.order_payment_detail.is_order_payment_status_set_by_store == false && order.order_status==ORDER_STATE.DELIVERY_MAN_ARRIVED\\\">\\r\\n                                    <button (click)=\\\"price_paid_by_store(order.order_payment_detail._id)\\\">{{button.get_confirmation_code | translate}}</button>\\r\\n                                </div>\\r\\n                            </td>\\r\\n\\r\\n                            <td>{{order.order_payment_detail.total.toFixed(2)}}</td>\\r\\n                            <td [ngSwitch]=\\\"order.order_status\\\">\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.OREDER_READY\\\"><span class=\\\"label label-primary\\\">{{status.order_ready | translate}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.WAITING_FOR_DELIVERY_MAN\\\"><span class=\\\"label label-info\\\">{{status.waiting_for_delivery_man | translate}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_ACCEPTED\\\"><span class=\\\"label label-primary\\\">{{status.delivery_man_accepted | translate}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_COMING\\\"><span class=\\\"label label-info\\\">{{status.delivery_man_coming | translate}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_ARRIVED\\\"><span class=\\\"label label-info\\\">{{status.delivery_man_arrived | translate}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\\\"><span class=\\\"label label-info\\\">{{status.picked_order | translate}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_STARTED_DELIVERY\\\"><span class=\\\"label label-info\\\">{{status.started_for_delivery | translate}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_ARRIVED_AT_DESTINATION\\\"><span class=\\\"label label-info\\\">{{status.arrived_at_destination | translate}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_COMPLETE_DELIVERY\\\"><span class=\\\"label label-primary\\\">{{status.delivered_ordered | translate}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.STORE_REJECTED\\\"><span class=\\\"label label-danger\\\">{{status.rejected | translate}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.STORE_CANCELLED\\\"><span class=\\\"label label-danger\\\">{{status.cancelled | translate}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.NO_DELIVERY_MAN_FOUND\\\"><span class=\\\"label label-danger\\\">{{status.no_delivery_man_found | translate}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_REJECTED\\\"><span class=\\\"label label-danger\\\">{{status.delivery_man_rejected | translate}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_CANCELLED\\\"><span class=\\\"label label-danger\\\">{{status.delivery_man_cancelled | translate}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.CANCELED_BY_USER\\\"><span class=\\\"label label-danger\\\">{{status.user_cancelled | translate}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.STORE_CANCELLED_REQUEST\\\"><span class=\\\"label label-danger\\\">{{status.cancelled_request | translate}}</span></div>\\r\\n                            </td>\\r\\n                            <td>\\r\\n                                <div class=\\\"dropdown pull-right\\\" [class.dropup]=\\\"last && !index==0\\\" dropdown>\\r\\n                                    <button class=\\\"btn btn-primary\\\" dropdown-open>Action <span class=\\\"caret\\\"></span></button>\\r\\n                                    <ul class=\\\"dropdown-menu\\\">\\r\\n                                        <li>\\r\\n                                            <button  type=\\\"button\\\" (click)=\\\"vieworder_detail(order._id)\\\" class=\\\"btn btn-default action_btn\\\">{{button.view_order_detail | translate}}</button>\\r\\n                                        </li>\\r\\n                                        <li>\\r\\n                                            <button  type=\\\"button\\\" (click)=\\\"viewcart_detail(order._id)\\\" class=\\\"btn btn-default\\\" style=\\\"width:100%; margin-bottom:0px;\\\">{{button.view_cart_detail | translate}}</button>\\r\\n\\r\\n                                        </li>\\r\\n                                        <li [hidden]=\\\"order.order_status<ORDER_STATE.DELIVERY_MAN_ACCEPTED||order.order_status>ORDER_STATE.DELIVERY_MAN_COMPLETE_DELIVERY\\\">\\r\\n\\r\\n                                                <button type=\\\"button\\\" (click)=\\\"track_deliveryman(order._id)\\\" class=\\\"btn btn-default action_btn\\\">{{button.track_delivery_man | translate}}</button>\\r\\n\\r\\n                                        </li>\\r\\n                                       \\r\\n                                    </ul>\\r\\n                                </div>\\r\\n                            </td>\\r\\n                        </tr>\\r\\n                    </tbody>\\r\\n                </table>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                <div class=\\\"lable_center\\\">\\r\\n\\r\\n                    <ul class=\\\"pagination\\\">\\r\\n                            <li *ngIf=\\\"page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"filter(page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                            <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page==index\\\">\\r\\n                                <a *ngIf=\\\"index==1 || index==total_page || index==page || index==page-1 || index==page+1\\\" (click)=\\\"filter(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                                <a *ngIf=\\\"(index==1 && (page!==1 && page!==2 && page!==3)) || (index==total_page-1 && (page!==total_page && page!==total_page-1 && page!==total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n\\r\\n                            </li>\\r\\n                            <li *ngIf=\\\"page!==total_page && order_list.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"filter(page+1)\\\">{{button.next | translate}}</a></li>\\r\\n                        </ul>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n\\r\\n            \\r\\n\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/franchise/delivery/delivery.component.html\n// module id = 1667\n// module chunks = 0","module.exports = \"<style type=\\\"text/css\\\">\\r\\n    .scrollbar\\r\\n    {\\r\\n        height: 140px;\\r\\n        background: #F5F5F5;\\r\\n        overflow-x: auto;\\r\\n    }\\r\\n\\r\\n    #style-3::-webkit-scrollbar-track\\r\\n    {\\r\\n        -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);\\r\\n        background-color: #F5F5F5;\\r\\n    }\\r\\n\\r\\n    #style-3::-webkit-scrollbar\\r\\n    {\\r\\n        width: 3px;\\r\\n        background-color: #F5F5F5;\\r\\n    }\\r\\n\\r\\n    #style-3::-webkit-scrollbar-thumb\\r\\n    {\\r\\n        background-color: #000000;\\r\\n    }\\r\\n</style>\\r\\n<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n\\r\\n<div class=\\\"wrapper wrapper-content animated fadeInRight content_top_bar\\\">\\r\\n    <form #editForm=\\\"ngForm\\\" (ngSubmit)=\\\"updateItem(editForm.value)\\\" enctype='multipart/form-data' >\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <label class=\\\"control-label\\\">{{heading_title.item_images | translate}}</label><br>\\r\\n\\r\\n                        <label style=\\\"font-weight: 100;\\\" >Note:  Upload image size within width x height (  min {{image_setting.image_min_width}}x{{image_setting.image_min_height}}\\r\\n                                                    and max {{image_setting.image_max_width}}x{{image_setting.image_max_height}}),</label><br>\\r\\n                        <label style=\\\"font-weight: 100;margin-left: 32px;\\\">Image ratio should be {{image_setting.image_ratio}} and upload only </label>\\r\\n                        <label *ngFor=\\\"let i of image_setting.image_type\\\"> {{(i.split('/'))[1]}} </label>\\r\\n                        <label style=\\\"font-weight: 100;\\\"> file</label>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content\\\">\\r\\n                        <div class=\\\"row\\\" *ngIf=\\\"edit_item.image_url.length>0 || new_image_array.length>0\\\">\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <!-- <swiper [config]=\\\"config\\\" #usefulSwiper> -->\\r\\n                                    <div class=\\\"scrollbar\\\" id=\\\"style-3\\\" style=\\\"width: 100%;height:131px;text-align: center;\\\">\\r\\n\\r\\n                                            <div *ngFor=\\\"let image of new_image_array; let index=index;\\\" style=\\\" display: inline-table;\\\">\\r\\n                                                <img [src]=\\\"image.base64_image\\\" style=\\\"border-radius: 20%; width:100px; height: 100px; margin-right: 30px;\\\">\\r\\n\\r\\n                                                <div style=\\\"text-align: center;width: 100px;margin-top: 5px;\\\">\\r\\n                                                    <i aria-hidden=\\\"true\\\" (click)=\\\"remove_new_image(index)\\\" class=\\\"fa fa-times-circle\\\" style=\\\"font-size: 25px;cursor: pointer;color:#bc2029;\\\"></i>\\r\\n                                                </div>\\r\\n                                            </div>\\r\\n\\r\\n                                            <div *ngFor=\\\"let image of edit_item.image_url; let index=index;\\\" style=\\\" display: inline-table;\\\">\\r\\n                                                <img [src]=\\\"image\\\" style=\\\"border-radius: 20%; width:100px; height: 100px; margin-right: 30px;\\\">\\r\\n\\r\\n                                                <div style=\\\"text-align: center;width: 100px;margin-top: 5px;\\\">\\r\\n                                                    <i aria-hidden=\\\"true\\\" (click)=\\\"delete_item_image(image , index)\\\" class=\\\"fa fa-times-circle\\\" style=\\\"font-size: 25px;cursor: pointer;color:#bc2029;\\\"></i>\\r\\n                                                </div>\\r\\n                                            </div>\\r\\n                                    </div>\\r\\n                                    \\r\\n                                \\r\\n                            </div>\\r\\n                        </div>\\r\\n                        \\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-3 text_center\\\">\\r\\n                                <span style=\\\"color: red;\\\">{{image_error | translate}}</span>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-6 text_center\\\">\\r\\n                                <span class=\\\"btn-file\\\"><i class=\\\"fa fa-plus-circle\\\" style=\\\"font-size: 30px;cursor: pointer\\\"></i>\\r\\n                                    <input type=\\\"file\\\" multiple accept=\\\"image/*\\\" (change)=\\\"image_update($event);\\\" name=\\\"image[]\\\" style=\\\"margin-top: -12px;padding: 13px;\\\"></span>\\r\\n                            </div>\\r\\n\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"row\\\">        \\r\\n                    <div class=\\\"col-md-12 col-sm-12\\\">     \\r\\n                        <div class=\\\"ibox\\\">    \\r\\n                            <div class=\\\"ibox-title\\\">\\r\\n                                <label class=\\\"control-label\\\">{{heading_title.store_list | translate}}</label>\\r\\n                            </div>       \\r\\n                            <div class=\\\"ibox-content\\\">\\r\\n                                <div class=\\\"row\\\">\\r\\n                                    <div *ngFor=\\\"let i of store_list; \\\" style=\\\"padding-left: 30px;\\\" class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                                            <input type=\\\"checkbox\\\" class=\\\"icheck1\\\" value=\\\"{{i._id}}\\\"/>\\r\\n                                            <label><span style=\\\"margin-left: 10px;\\\">{{i.name}}</span></label>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>                                    \\r\\n                        </div>                                    \\r\\n                    </div>                                    \\r\\n            </div>\\r\\n\\t    <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-md-4 col-sm-6\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.item_title | translate}}</label> \\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"edit_item.franchise_id\\\" #franchise_id=\\\"ngModel\\\"  name=\\\"franchise_id\\\" />\\r\\n                                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"edit_item.server_token\\\" #server_token=\\\"ngModel\\\"  name=\\\"server_token\\\" />\\r\\n                                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"item_id\\\" name=\\\"item_id\\\" />\\r\\n                                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"edit_item.specifications_unique_id_count\\\" #specifications_unique_id_count=\\\"ngModel\\\"  name=\\\"specifications_unique_id_count\\\" />\\r\\n\\r\\n                                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"item_specification_list\\\" name=\\\"specifications\\\" />\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-md-4 control-label\\\">{{title.product_name | translate}}</label>  \\r\\n                                    <div class=\\\"col-md-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"edit_item.product_name\\\" #product_name=\\\"ngModel\\\"  name=\\\"product_name\\\" readonly />\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                    \\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-md-4 control-label\\\">{{title.name | translate}}</label>  \\r\\n                                    <div class=\\\"col-md-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"edit_item.name\\\" #name=\\\"ngModel\\\" (keyup)=\\\"check_item()\\\"  name=\\\"name\\\" required />\\r\\n                                        <label *ngIf=item_already_exist >{{validation_message.item_already_exist | translate}}</label>\\r\\n                                        <div *ngIf=\\\"name.errors && (name.dirty || name.touched)\\\">\\r\\n                                            <div style=\\\"color: red;\\\" [hidden]=\\\"!name.errors.required\\\">{{validation_message.item_name_required | translate}}</div>\\r\\n                                        </div>\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-md-4 control-label\\\">{{title.details | translate}}</label>  \\r\\n                                    <div class=\\\"col-md-8 form-group\\\">\\r\\n                                        <textarea style=\\\"max-width: 100%; max-height: 80px;\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"edit_item.details\\\" #details=\\\"ngModel\\\"  name=\\\"details\\\" required ></textarea>\\r\\n                                        <div *ngIf=\\\"details.errors && (details.dirty || details.touched)\\\">\\r\\n                                            <div style=\\\"color: red;\\\" [hidden]=\\\"!details.errors.required\\\">{{validation_message.item_detail_required | translate}}</div>\\r\\n                                        </div>\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-md-4 control-label\\\">{{title.price | translate}}</label>  \\r\\n                                    <div class=\\\"col-md-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" (keypress)=\\\"helper.number_validation($event)\\\" [(ngModel)]=\\\"edit_item.price\\\" #price=\\\"ngModel\\\"  name=\\\"price\\\" required />\\r\\n                                        <div *ngIf=\\\"price.errors && (price.dirty || price.touched)\\\">\\r\\n                                            <div style=\\\"color: red;\\\" [hidden]=\\\"!price.errors.required\\\">{{validation_message.item_price_required | translate}}</div>\\r\\n                                        </div>\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                            </div>\\r\\n                            \\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-3 col-sm-6\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.item_setting | translate}}</label> \\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-md-8 col-sm-8 col-xs-8 control-label\\\">{{title.is_default | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-md-4 col-sm-4 col-xs-4 form-group\\\">\\r\\n                                        <ui-switch [(ngModel)]=\\\"edit_item.is_visible_in_store\\\" #is_visible_in_store=\\\"ngModel\\\" name=\\\"is_visible_in_store\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                \\r\\n                                \\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-md-8 col-sm-8 col-xs-8 control-label\\\">{{title.is_item_in_stock | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-md-4 col-sm-4 col-xs-4 form-group\\\">\\r\\n                                        <ui-switch [(ngModel)]=\\\"edit_item.is_item_in_stock\\\" #is_item_in_stock=\\\"ngModel\\\" name=\\\"is_item_in_stock\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-md-8 col-sm-8 col-xs-8 control-label\\\">{{title.is_most_popular | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-md-4 col-sm-4 col-xs-4 form-group\\\">\\r\\n                                        <ui-switch [(ngModel)]=\\\"edit_item.is_most_popular\\\" #is_most_popular=\\\"ngModel\\\" name=\\\"is_most_popular\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-5 col-sm-12\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.item_specification | translate}}</label> \\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content\\\" >\\r\\n                            <div style=\\\"text-align: center; margin-bottom: 12px;\\\">   \\r\\n\\r\\n                                <button type=\\\"button\\\" id=\\\"add_specification\\\" (click)=\\\"open_specification_group_modal()\\\" class=\\\"btn add_btn\\\">{{button.add_specification | translate}}<span class=\\\"fa fa-plus pull-right\\\" style=\\\"margin-top: 2px;\\\"></span></button>\\r\\n\\r\\n                            </div>   \\r\\n                            <div class=\\\"table-responsive\\\">\\r\\n                                <table class=\\\"table\\\">\\r\\n                                    <tr>\\r\\n                                        <td>{{title.specification_name | translate}}</td>\\r\\n                                        <td>{{title.action | translate}}</td>\\r\\n                                    </tr>\\r\\n                                    <tr *ngFor=\\\"let i of item_specification_list; let index=index;\\\">\\r\\n                                        <td>{{i.name}}</td>\\r\\n                                        <td><button type=\\\"button\\\" class=\\\"btn btn-default\\\" (click)=\\\"edit_item_specification(i, index)\\\">{{button.edit | translate}}</button>\\r\\n                                            <button type=\\\"button\\\" class=\\\"btn btn-default\\\" (click)=\\\"delete_item_specification(index)\\\">{{button.delete | translate}}</button>\\r\\n                                        </td>\\r\\n                                    </tr>\\r\\n                                </table>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n        </div>\\r\\n        <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-content\\\">\\r\\n                <div class=\\\"row\\\">   \\r\\n                    <div class=\\\"col-md-4\\\">\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-4\\\" style=\\\"text-align: center;\\\">\\r\\n                        <input type=\\\"submit\\\" [disabled]=\\\"item_already_exist\\\" id=\\\"submit\\\" name=\\\"submit\\\" style=\\\"width: 50%;\\\" class=\\\"btn btn-primary\\\" data-style=\\\"expand-right\\\"  value=\\\"{{button.update_item | translate}}\\\" >\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </form>\\r\\n</div>\\r\\n\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl animated fadeInDownBig\\\" #myModal>\\r\\n    <form #modalForm=\\\"ngForm\\\" (ngSubmit)=\\\"addSpecification(modalForm.value)\\\">\\r\\n        <modal-header>\\r\\n            <button *ngIf=\\\"spec_button==button.save\\\" aria-label=\\\"Close\\\" class=\\\"close\\\" data-dismiss=\\\"modal\\\" type=\\\"button\\\">\\r\\n                <span aria-hidden=\\\"true\\\">×</span>\\r\\n            </button>\\r\\n            <button *ngIf=\\\"spec_button==button.update\\\" aria-label=\\\"Close\\\" class=\\\"close\\\" data-dismiss=\\\"modal\\\" type=\\\"button\\\">\\r\\n                <span aria-hidden=\\\"true\\\">×</span>\\r\\n            </button>\\r\\n            <h4 class=\\\"modal-title\\\">{{heading_title.add_item_specification | translate}}</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <input type=\\\"hidden\\\" [(ngModel)]=\\\"index\\\" name=\\\"index\\\" >\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                    <div class=\\\"col-md-4 col-sm-4 col-xs-8\\\">\\r\\n                        <div class=\\\"form-group\\\" >\\r\\n                            <label style=\\\"font-weight: normal;\\\">{{title.item_specification_name | translate}}</label>\\r\\n                            <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"edit_item.item_specification_name\\\" #item_specification_name=\\\"ngModel\\\" name=\\\"item_specification_name\\\" required>\\r\\n                             <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"edit_item.specification_group_id\\\" #specification_group_id=\\\"ngModel\\\" name=\\\"specification_group_id\\\">\\r\\n                        </div>\\r\\n                         \\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-2 col-sm-2 col-xs-4\\\">\\r\\n                         <label class=\\\"col-md-12 col-sm-12 col-xs-12\\\" style=\\\"font-weight: normal;\\\">{{title.is_required | translate}}</label>\\r\\n                        <ui-switch class=\\\"col-md-12 col-sm-12 col-xs-12\\\" [(ngModel)]=\\\"edit_item.is_required\\\" #is_required=\\\"ngModel\\\" name=\\\"is_required\\\"></ui-switch>\\r\\n                    </div>\\r\\n                    \\r\\n                    <div class=\\\"col-md-6 col-sm-6 col-xs-12\\\">\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-md-12 col-sm-12 col-xs-4\\\" style=\\\"font-weight: normal;\\\">{{title.select_type | translate}}</label>\\r\\n                            <input type=\\\"hidden\\\" [(ngModel)]=\\\"edit_item.type\\\" #type=\\\"ngModel\\\" name=\\\"type\\\" >\\r\\n                            <div class=\\\"col-md-6 col-sm-6 col-xs-4 form-group\\\">\\r\\n                                <label><input class=\\\"iradio iradio1\\\" type=\\\"radio\\\" name=\\\"select_type\\\" value=\\\"1\\\" checked/><span style=\\\"margin-left: 10px;\\\" >{{title.type_single | translate}}</span></label>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-6 col-sm-6 col-xs-4 form-group\\\">\\r\\n                                <label><input class=\\\"iradio iradio2\\\" type=\\\"radio\\\" name=\\\"select_type\\\" value=\\\"2\\\"/><span style=\\\"margin-left: 10px;\\\">{{title.type_multiple | translate}}</span></label>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                    <div class=\\\"form-group\\\">\\r\\n                        <div class=\\\"table-responsive\\\">\\r\\n                            <table class=\\\"table\\\">\\r\\n                            <tr>\\r\\n                                <td style=\\\"width: 40%\\\">{{title.add_specification | translate}}</td>\\r\\n                                <td style=\\\"width: 120px;\\\">{{title.price | translate}}</td>\\r\\n                                <td style=\\\"width: 30%\\\">{{title.default_select | translate}}</td>\\r\\n                            </tr>\\r\\n                            </table>\\r\\n                            <div id=\\\"spec_model\\\">\\r\\n                                <table class=\\\"table\\\">\\r\\n                                    <tr *ngFor=\\\"let i of product_specification_list;  let index=index; \\\">\\r\\n                                        <td style=\\\"width: 5%\\\"><label><input type=\\\"checkbox\\\" class=\\\"icheck\\\" value=\\\"{{i._id}}\\\"/></label></td>\\r\\n                                        <td style=\\\"width: 35%\\\"><label><span style=\\\"margin-left: 10px;\\\">{{i.name}}</span></label></td>\\r\\n\\r\\n                                        <td style=\\\"width: 120px;\\\"><div>\\r\\n                                            <input type=\\\"text\\\" class=\\\"form-control\\\" [disabled]=\\\"checked_array[index]!=true\\\" (keypress)=\\\"helper.price_validation($event, i.price)\\\"  [(ngModel)]=\\\"i.price\\\" name=\\\"{{index}}\\\"></div>\\r\\n                                        </td>\\r\\n                                        <td style=\\\"width: 30%\\\"><ui-switch (change)=\\\"onChange($event, i._id)\\\" [(ngModel)]=\\\"i.is_default_selected\\\" #is_default_selected=\\\"ngModel\\\" [disabled]=\\\"checked_array[index]!=true\\\" name=\\\"is_default_selected{{i._id}}\\\"></ui-switch></td>\\r\\n\\r\\n                                    </tr>\\r\\n                                </table>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div *ngIf=\\\"spec_list_error==1\\\">\\r\\n                            <label class=\\\"error\\\" style=\\\"font-weight: normal;\\\">{{title.error_atleast_one_specification | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{spec_button | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-sm animated fadeInDownBig\\\" #myspec_group_modal>\\r\\n    \\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <h4 class=\\\"modal-title\\\">{{heading_title.add_item_specification | translate}}</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                    <div id=\\\"spec_model1\\\">\\r\\n                        <table class=\\\"table\\\">\\r\\n                            <tr *ngFor=\\\"let i of product_specification_group_list\\\">\\r\\n                                <td style=\\\"width: 40%\\\" (click)=\\\"open_modal(i._id , i.product_id , i.name , i.unique_id)\\\"><label>{{i.name}}</label></td>\\r\\n                            </tr>\\r\\n                        </table>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            \\r\\n        </modal-body>\\r\\n</modal>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/franchise/edit_item/edit_item.component.html\n// module id = 1668\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>   \\r\\n<form #productForm=\\\"ngForm\\\" (ngSubmit)=\\\"updateProduct(productForm.value)\\\" enctype='multipart/form-data' >\\r\\n    <div class=\\\"wrapper wrapper-content animated fadeInRight content_top_bar\\\">\\r\\n\\t<div class=\\\"row\\\">\\r\\n            <div class=\\\"col-lg-12\\\">\\r\\n                <div class=\\\"col-lg-6 col-sm-9\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.product_title | translate}}</label> \\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                    <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"edit_product.franchise_id\\\" #store_id=\\\"ngModel\\\"  name=\\\"store_id\\\" />\\r\\n                                    <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"edit_product.server_token\\\" #server_token=\\\"ngModel\\\"  name=\\\"server_token\\\" />\\r\\n                                    <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"product_id\\\" #store_id=\\\"ngModel\\\"  name=\\\"product_id\\\" />\\r\\n                                    \\r\\n                                   \\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.name | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"edit_product.name\\\" (keyup)=\\\"check_product()\\\" #name=\\\"ngModel\\\"  name=\\\"name\\\" required />\\r\\n                                        <label *ngIf=product_already_exist >{{message.product_already_exist | translate}}</label>\\r\\n                                        <div *ngIf=\\\"name.errors && (name.dirty || name.touched)\\\">\\r\\n                                            <div style=\\\"color: red;\\\" [hidden]=\\\"!name.errors.required\\\">{{validation_message.product_name_required | translate}}</div>\\r\\n                                        </div>\\r\\n                                    </div> \\r\\n                                    \\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.details | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        \\r\\n                                        <textarea class=\\\"form-control\\\" [(ngModel)]=\\\"edit_product.details\\\" #details=\\\"ngModel\\\"  name=\\\"details\\\" required ></textarea>\\r\\n\\r\\n                                        <div *ngIf=\\\"details.errors && (details.dirty || details.touched)\\\">\\r\\n                                            <div style=\\\"color: red;\\\" [hidden]=\\\"!details.errors.required\\\">{{validation_message.product_name_required | translate}}</div>\\r\\n                                        </div>\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.is_visible_in_store | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <ui-switch [(ngModel)]=\\\"edit_product.is_visible_in_store\\\" #is_visible_in_store=\\\"ngModel\\\" name=\\\"is_visible_in_store\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"form-group col-lg-4\\\">\\r\\n                                </div>\\r\\n                                <div class=\\\"form-group col-lg-4\\\">\\r\\n                                    <div  style=\\\"width: 100%;height:131px;\\\">\\r\\n                                        <div class=\\\"col-lg-12 profile-images center\\\">\\r\\n\\r\\n                                            <span class=\\\"btn-file\\\"><img style=\\\"width: 110px;height: 110px;\\\" src=\\\"{{edit_product.image_url != '' ? edit_product.image_url : 'plus_box.png'}}\\\" alt=\\\"\\\"><input type=\\\"file\\\" accept=\\\"image/*\\\" (change)=\\\"image_update($event);\\\" name=\\\"image_url\\\"></span>\\r\\n\\r\\n                                        </div>\\r\\n                                        <div class=\\\"col-lg-12 text_center\\\">\\r\\n                                            <span style=\\\"color: red;\\\">{{image_error | translate}}</span>\\r\\n                                        </div>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label style=\\\"font-weight: 100;\\\" >Note:  Upload image size within width x height (  min {{image_setting.image_min_width}}x{{image_setting.image_min_height}}\\r\\n                                    and max {{image_setting.image_max_width}}x{{image_setting.image_max_height}}),</label>\\r\\n                                    <label style=\\\"font-weight: 100;\\\">Image ratio should be {{image_setting.image_ratio}} and upload only </label>\\r\\n                                    <label *ngFor=\\\"let i of image_setting.image_type\\\"> {{(i.split('/'))[1]}},  </label><label style=\\\"font-weight: 100;\\\"> file</label>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"row\\\" style=\\\"margin-bottom: 15px;\\\">                        \\r\\n                                    <div *ngFor=\\\"let i of store_list; \\\" style=\\\"padding-left: 30px;\\\" class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                                            <input type=\\\"checkbox\\\" class=\\\"icheck\\\" value=\\\"{{i._id}}\\\"/>\\r\\n                                            <label><span style=\\\"margin-left: 10px;\\\">{{i.name}}</span></label>\\r\\n                                    </div>                                    \\r\\n                                </div>\\r\\n                            <div class=\\\"row\\\">   \\r\\n                                <div class=\\\"col-lg-4\\\">\\r\\n                                </div>\\r\\n                                <div class=\\\"col-lg-4\\\" style=\\\"text-align: center;\\\">\\r\\n                                    <input [disabled]=\\\"product_already_exist\\\" type=\\\"submit\\\" name=\\\"submit\\\" style=\\\"width: 50%;\\\" class=\\\"btn btn-primary\\\" value=\\\"{{button.update | translate}}\\\" >\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</form>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl animated fadeInDownBig\\\" #image_crop_modal>\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n        <img-cropper #cropper [image]=\\\"data\\\" [settings]=\\\"cropperSettings\\\"></img-cropper><br>\\r\\n        {{cropperSettings.croppedWidth}}\\r\\n        {{cropperSettings.croppedHeight}}\\r\\n        <div class=\\\"col-lg-12 text_center\\\">\\r\\n            <span style=\\\"color: red;\\\">{{image_error | translate}}</span>\\r\\n        </div>\\r\\n\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n        <div style=\\\"text-align: center\\\">\\r\\n            <button type=\\\"button\\\" (click)=\\\"crop($event)\\\" class=\\\"btn btn-primary\\\">{{title.button | translate}}</button>\\r\\n        </div>\\r\\n    </modal-footer>\\r\\n</modal>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/franchise/edit_product/edit_product.component.html\n// module id = 1669\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer> \\r\\n<form #storeUpdateForm=\\\"ngForm\\\" (ngSubmit)=\\\"UpdateStore(storeUpdateForm.value)\\\">\\r\\n    <div class=\\\"wrapper wrapper-content animated fadeInRight content_top_bar\\\">\\r\\n\\r\\n\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-lg-8\\\">\\r\\n\\r\\n                <div class=\\\"ibox product-detail\\\">\\r\\n                    <div class=\\\"ibox-content\\\">\\r\\n\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-3 col-sm-3\\\">\\r\\n\\r\\n                                <div class=\\\"profile-images center\\\">\\r\\n                                    <img *ngIf='store_edit.image_url!==\\\"\\\"' class=\\\"img-circle\\\" style=\\\"width: 150px;height: 150px;\\\" src=\\\"{{store_edit.image_url}}\\\" alt=\\\"profile\\\">\\r\\n                                    <img *ngIf='store_edit.image_url==\\\"\\\"' class=\\\"img-circle\\\" style=\\\"width: 150px;height: 150px;\\\" src=\\\"default.png\\\" alt=\\\"profile\\\">\\r\\n\\r\\n\\r\\n\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"center\\\" style=\\\"margin-left: 140px; margin-top: -145px;\\\">\\r\\n                                    <span class=\\\"btn-file\\\" *ngIf=\\\"edit==true\\\"><i class=\\\"fa fa-pencil\\\"></i><input type=\\\"file\\\"  (change)=\\\"change_image($event);\\\" accept=\\\"image/*\\\" name=\\\"image\\\"></span>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-9 col-sm-9 profile_data\\\">\\r\\n                                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_id\\\"  name=\\\"store_id\\\" />\\r\\n\\r\\n                                <div class=\\\"col-md-12 remove_padding align_center1\\\" style=\\\"margin-left: 0px;\\\">\\r\\n                                    <label class=\\\"control-label\\\" style=\\\"font-size: 30px;\\\">{{store_edit.name}}</label>\\r\\n\\r\\n\\r\\n\\r\\n                                    <button type=\\\"button\\\" *ngIf=\\\"edit==false\\\" class=\\\"btn add_btn pull-right edit_option_mobile_screen profile_update\\\" (click)=\\\"edit=true\\\">{{button.edit | translate}}</button>\\r\\n\\r\\n                                    <button type=\\\"submit\\\"  *ngIf=\\\"edit==true\\\"  class=\\\"btn btn-primary pull-right edit_option_mobile_screen profile_update\\\">{{button.update | translate}}</button>\\r\\n\\r\\n\\r\\n\\r\\n                                </div>\\r\\n                                <hr style=\\\"border-color: red;\\\">\\r\\n                                <div class=\\\"col-md-12 remove_padding\\\"><label class=\\\"col-lg-4 col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.email | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n\\r\\n                                    <div *ngIf=\\\"edit==true\\\" class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_edit.email\\\" #email=\\\"ngModel\\\" name=\\\"email\\\" required/>\\r\\n                                    </div> \\r\\n                                    <div *ngIf=\\\"edit==false\\\" class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                                        {{store_edit.email }}\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-12 remove_padding\\\"><label class=\\\"col-lg-4  col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.country | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n\\r\\n                                    <div class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                                        {{store_edit.country_name }}\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-12 remove_padding\\\"><label class=\\\"col-lg-4 col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.prov_city | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n\\r\\n                                    <div class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                                        {{store_edit.city_name }}\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n\\r\\n                                <div class=\\\"col-md-12 remove_padding\\\"><label class=\\\"col-lg-4 col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.delivery_type | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n\\r\\n                                    <div class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                                        {{store_edit.store_delivery_name }}\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n\\r\\n                                <div class=\\\"col-md-12 remove_padding\\\"><label class=\\\"col-lg-4  col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.phone | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n\\r\\n                                    <div *ngIf=\\\"edit==true\\\" class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_edit.phone\\\" #phone=\\\"ngModel\\\" name=\\\"phone\\\" required/>\\r\\n                                    </div> \\r\\n                                    <div *ngIf=\\\"edit==false\\\" class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                                        {{store_edit.phone}}\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n\\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-lg-4\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-content\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12\\\" style=\\\"display: block\\\">\\r\\n                                <div id=\\\"c1\\\" class=\\\"c3\\\"> </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12\\\" id=\\\"chart\\\" style=\\\"margin-top: 28px;\\\">\\r\\n                                <div class=\\\"col-md-1 col-xs-1 col-sm-1 box\\\" style=\\\"padding-right: 0\\\">\\r\\n                                    <span class=\\\"fa fa-square\\\" style=\\\"font-size: 20px;color: #bb212b;\\\" ></span>\\r\\n\\r\\n\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-5 col-xs-5 col-sm-5 total\\\">\\r\\n                                    <span style=\\\"font-size: 15px; \\\">{{title.total_order | translate}}<br><span style=\\\"font-size: 20px;color: black;\\\">{{order_detail.total_orders}}</span></span>\\r\\n\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-1 col-xs-1 col-sm-1 box box1\\\" style=\\\"padding: 0\\\">\\r\\n                                    <span class=\\\"fa fa-square\\\" style=\\\"font-size: 20px;color: #1e1e1e;\\\" ></span>\\r\\n\\r\\n\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-5 col-xs-5 col-sm-5 total total1\\\" style=\\\"padding: 0\\\">\\r\\n                                    <span style=\\\"font-size: 15px; \\\">{{title.accepted_order | translate}}<br><span style=\\\"font-size: 20px;color: black;\\\">{{order_detail.accepted_orders}}</span></span>\\r\\n\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-1 col-xs-1 col-sm-1 box\\\" style=\\\"padding-right: 0\\\">\\r\\n                                    <span class=\\\"fa fa-square\\\" style=\\\"font-size: 20px;color: #bb212b;\\\" ></span>\\r\\n\\r\\n\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-5 col-xs-5 col-sm-5 total\\\">\\r\\n                                    <span style=\\\"font-size: 15px; \\\">{{title.completed_order | translate}}<br><span style=\\\"font-size: 20px;color: black;\\\">{{order_detail.completed_orders}}</span></span>\\r\\n\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-1 col-xs-1 col-sm-1 box box1\\\" style=\\\"padding: 0\\\">\\r\\n                                    <span class=\\\"fa fa-square\\\" style=\\\"font-size: 20px;color: #1e1e1e;\\\" ></span>\\r\\n\\r\\n\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-5 col-xs-5 col-sm-5 total total1\\\" style=\\\"padding: 0\\\">\\r\\n                                    <span style=\\\"font-size: 15px; \\\">{{title.cancelled_order | translate}}<br><span style=\\\"font-size: 20px;color: black;\\\">{{order_detail.cancelled_orders}}</span></span>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n\\r\\n\\r\\n        </div>\\r\\n\\r\\n\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"\\\">\\r\\n                <div class=\\\"col-lg-4 col-sm-6\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{title.personal_detail | translate}}</label>  \\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 col-sm-4 control-label\\\">{{title.store_name | translate}}</label>\\r\\n                                    <div class=\\\"col-lg-8 col-sm-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" [disabled]=\\\"edit==false\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_edit.name\\\" #name=\\\"ngModel\\\" name=\\\"name\\\" required/>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.address | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [disabled]=\\\"edit==false\\\" [(ngModel)]=\\\"store_edit.address\\\" #address=\\\"ngModel\\\" name=\\\"address\\\" required/>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n<!--                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.zipcode | translate }}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [disabled]=\\\"edit==false\\\" [(ngModel)]=\\\"store_edit.zipcode\\\" #zipcode=\\\"ngModel\\\" name=\\\"zipcode\\\"/>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>-->\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.app_version | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        {{store_edit.device_type + \\\" - \\\" +  store_edit.app_version}}\\r\\n                                        <!--                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_edit.app_version\\\" #app_version=\\\"ngModel\\\" name=\\\"app_version\\\" disabled/>-->\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.wallet | translate}}</label>  \\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"ibox-content wizard\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <div class=\\\"col-lg-12\\\">\\r\\n                                        <div class=\\\"form-group\\\">\\r\\n                                            <label class=\\\"col-lg-4 control-label\\\">{{title.currency_code | translate}}</label>  \\r\\n                                            <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                                <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_edit.wallet_currency_code\\\" #wallet_currency_code=\\\"ngModel\\\" name=\\\"wallet_currency_code\\\" disabled/>\\r\\n\\r\\n                                            </div> \\r\\n\\r\\n                                        </div>\\r\\n                                        <div class=\\\"form-group\\\">\\r\\n                                            <label class=\\\"col-lg-4 control-label\\\">{{title.wallet | translate}}</label>  \\r\\n                                            <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                                <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_edit.wallet\\\" #wallet=\\\"ngModel\\\" name=\\\"wallet\\\" disabled/>\\r\\n\\r\\n                                            </div> \\r\\n\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.referral | translate}}</label>  \\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"ibox-content wizard\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.referral_code | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_edit.referral_code\\\" #referral_code=\\\"ngModel\\\" name=\\\"referral_code\\\" disabled/>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.total_referrals | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_edit.total_referrals\\\" #total_referrals=\\\"ngModel\\\" name=\\\"total_referrals\\\" disabled/>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.referred_by | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_edit.referred_store_name\\\" #referred_store_name=\\\"ngModel\\\" name=\\\"referred_store_name\\\" disabled/>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-4 col-sm-6\\\" >\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.setting | translate }}</label>  \\r\\n                        </div>\\r\\n\\r\\n\\r\\n                        <div class=\\\"ibox-content wizard\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.admin_profit_mode | translate }}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <select chosen class=\\\"chosen-select\\\" id=\\\"admin_profit_mode\\\" [(ngModel)]=\\\"store_edit.admin_profit_mode_on_store\\\" #admin_profit_mode_on_store=\\\"ngModel\\\" name=\\\"admin_profit_mode_on_store\\\" data-placeholder=\\\"Select Admin Profit Mode\\\"  tabindex=\\\"4\\\"  >\\r\\n\\r\\n                                            <option *ngFor=\\\"let i of admin_profit_mode_on_store_list\\\" value=\\\"{{i.ID}}\\\">{{i.NAME}}</option>\\r\\n                                        </select> \\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.admin_profit_value | translate }}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [disabled]=\\\"edit==false\\\" (keypress)=\\\"helper.number_validation($event)\\\" [(ngModel)]=\\\"store_edit.admin_profit_value_on_store\\\" #admin_profit_value_on_store=\\\"ngModel\\\"  name=\\\"admin_profit_value_on_store\\\" required />\\r\\n                                        <div *ngIf=\\\"admin_profit_value_on_store.errors && (admin_profit_value_on_delivery.dirty || admin_profit_value_on_store.touched)\\\">\\r\\n                                            <div style=\\\"color: red;\\\" [hidden]=\\\"!admin_profit_value_on_store.errors.required\\\">{{validation_message.admin_profit_value_on_delivery_required | translate}}</div>\\r\\n                                        </div>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\"></label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n\\r\\n                    </div>\\r\\n\\r\\n\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.private_message | translate}}</label>  \\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"ibox-content wizard\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.website_url | translate }}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [disabled]=\\\"edit==false\\\" [(ngModel)]=\\\"store_edit.website_url\\\" #website_url=\\\"ngModel\\\" name=\\\"website_url\\\"/>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.famous_for | translate }}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [disabled]=\\\"edit==false\\\" [(ngModel)]=\\\"store_edit.famous_for\\\" #famous_for=\\\"ngModel\\\" name=\\\"famous_for\\\"/>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.slogan | translate }}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [disabled]=\\\"edit==false\\\" [(ngModel)]=\\\"store_edit.slogan\\\" #slogan=\\\"ngModel\\\" name=\\\"slogan\\\"/>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.offer | translate }}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [disabled]=\\\"edit==false\\\" [(ngModel)]=\\\"store_edit.offer\\\" #offer=\\\"ngModel\\\" name=\\\"offer\\\"/>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.comment | translate }}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [disabled]=\\\"edit==false\\\" [(ngModel)]=\\\"store_edit.comments\\\" #comments=\\\"ngModel\\\" name=\\\"comments\\\"/>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                </div>\\r\\n\\r\\n\\r\\n                <div class=\\\"col-lg-4 col-sm-6\\\" >\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.setting | translate }}</label>  \\r\\n                        </div>\\r\\n\\r\\n\\r\\n                        <div class=\\\"ibox-content wizard\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.phone_number_verified | translate }}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                        <ui-switch [disabled]=\\\"edit==false\\\" [(ngModel)]=\\\"store_edit.is_phone_number_verified\\\" #is_phone_number_verified=\\\"ngModel\\\" name=\\\"is_phone_number_verified\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.email_verified | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                        <ui-switch  [disabled]=\\\"edit==false\\\" [(ngModel)]=\\\"store_edit.is_email_verified\\\" #is_email_verified=\\\"ngModel\\\" name=\\\"is_email_verified\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.approved | translate }}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                        <ui-switch  [disabled]=\\\"edit==false\\\" [(ngModel)]=\\\"store_edit.is_approved\\\" #is_approved=\\\"ngModel\\\" name=\\\"is_approved\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n\\r\\n\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.setting | translate}}</label>  \\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"ibox-content wizard\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.store_item_tax | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_edit.item_tax\\\" #item_tax=\\\"ngModel\\\" name=\\\"item_tax\\\" disabled/>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.price_rating | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_edit.price_rating\\\" #price_rating=\\\"ngModel\\\" name=\\\"price_rating\\\" disabled/>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.rate | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_edit.user_rate\\\" #user_rate=\\\"ngModel\\\" name=\\\"user_rate\\\" disabled/>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.free_delivery_for_above_order_price | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_edit.free_delivery_for_above_order_price\\\" #free_delivery_for_above_order_price=\\\"ngModel\\\" name=\\\"free_delivery_for_above_order_price\\\" disabled/>\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.delivery_time | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_edit.delivery_time\\\" #delivery_time=\\\"ngModel\\\" name=\\\"delivery_time\\\" disabled/>\\r\\n\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.is_store_pay_delivery_fees | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                        <ui-switch  [(ngModel)]=\\\"store_edit.is_store_pay_delivery_fees\\\" #is_store_pay_delivery_fees=\\\"ngModel\\\" name=\\\"is_store_pay_delivery_fees\\\" disabled></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.is_business_store | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                        <ui-switch  [(ngModel)]=\\\"store_edit.is_business\\\" #is_business=\\\"ngModel\\\" name=\\\"is_business\\\" disabled></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-9 col-xs-9 control-label\\\">{{title.is_document_uploaded | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-3 col-xs-3 form-group\\\">\\r\\n                                        <ui-switch  [(ngModel)]=\\\"store_edit.is_document_uploaded\\\" #is_document_uploaded=\\\"ngModel\\\" name=\\\"is_document_uploaded\\\" disabled></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n\\r\\n\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-lg-8\\\">\\r\\n\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"padding: 0;min-height: 35px !important;\\\">\\r\\n                        <label style=\\\"margin-left: 15px;margin-top: 9px;\\\" class=\\\"control-label\\\">{{heading_title.store_time | translate}}</label>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content \\\">\\r\\n\\r\\n                        <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\r\\n                            <div class=\\\"col-lg-12\\\" style=\\\"border-bottom: 1px solid;padding-left: 0; padding-right: 0;\\\">\\r\\n                                <div class=\\\"wizard\\\" style=\\\"border-bottom: 1px solid;padding-left: 0; padding-right: 0;\\\">\\r\\n                                    <div class=\\\"steps clearfix\\\">\\r\\n                                        <ul style=\\\"display: table;padding: 0px;\\\">\\r\\n\\r\\n                                            <li (click)=\\\"change_day(0)\\\" [style.border-bottom]=\\\"curren_selected_day == 0 ? '1px solid #bc202b' : null\\\" class=\\\"day_li\\\" >\\r\\n                                                <a style=\\\"border-bottom-right-radius: 0px; border-bottom-left-radius: 0px;border: 0px;\\\" class=\\\"btn-default\\\"><span style=\\\"margin-left: -5px;font-weight: bold;display:block;\\\" [style.color]=\\\"curren_selected_day == 0 ? '#bc202b' : null\\\" class=\\\"nav-label\\\">{{title.sunday | translate}}</span></a>\\r\\n                                            </li>\\r\\n                                            <li (click)=\\\"change_day(1)\\\" [style.border-bottom]=\\\"curren_selected_day == 1 ? '1px solid #bc202b' : null\\\" class=\\\"day_li\\\" >\\r\\n                                                <a style=\\\"border-bottom-right-radius: 0px; border-bottom-left-radius: 0px;border: 0px;\\\" class=\\\"btn-default\\\"><span style=\\\"margin-left: -5px;font-weight: bold;display:block;\\\" [style.color]=\\\"curren_selected_day == 1 ? '#bc202b' : null\\\" class=\\\"nav-label\\\">{{title.monday | translate}}</span></a>\\r\\n                                            </li>\\r\\n                                            <li (click)=\\\"change_day(2)\\\" [style.border-bottom]=\\\"curren_selected_day == 2 ? '1px solid #bc202b' : null\\\" class=\\\"day_li\\\" >\\r\\n                                                <a style=\\\"border-bottom-right-radius: 0px; border-bottom-left-radius: 0px;border: 0px;\\\" class=\\\"btn-default\\\"><span style=\\\"margin-left: -5px;font-weight: bold;display:block;\\\" [style.color]=\\\"curren_selected_day == 2 ? '#bc202b' : null\\\" class=\\\"nav-label\\\">{{title.tuesday | translate}}</span></a>\\r\\n                                            </li>\\r\\n                                            <li (click)=\\\"change_day(3)\\\" [style.border-bottom]=\\\"curren_selected_day == 3 ? '1px solid #bc202b' : null\\\" class=\\\"day_li\\\" >\\r\\n                                                <a style=\\\"border-bottom-right-radius: 0px; border-bottom-left-radius: 0px;border: 0px;\\\" class=\\\"btn-default\\\"><span style=\\\"margin-left: -5px;font-weight: bold;display:block;\\\" [style.color]=\\\"curren_selected_day == 3 ? '#bc202b' : null\\\" class=\\\"nav-label\\\">{{title.wednesday | translate}}</span></a>\\r\\n                                            </li>\\r\\n                                            <li (click)=\\\"change_day(4)\\\" [style.border-bottom]=\\\"curren_selected_day == 4 ? '1px solid #bc202b' : null\\\" class=\\\"day_li\\\" >\\r\\n                                                <a style=\\\"border-bottom-right-radius: 0px; border-bottom-left-radius: 0px;border: 0px;\\\" class=\\\"btn-default\\\"><span style=\\\"margin-left: -5px;font-weight: bold;display:block;\\\" [style.color]=\\\"curren_selected_day == 4 ? '#bc202b' : null\\\" class=\\\"nav-label\\\">{{title.thursday | translate}}</span></a>\\r\\n                                            </li>\\r\\n                                            <li (click)=\\\"change_day(5)\\\" [style.border-bottom]=\\\"curren_selected_day == 5 ? '1px solid #bc202b' : null\\\" class=\\\"day_li\\\" >\\r\\n                                                <a style=\\\"border-bottom-right-radius: 0px; border-bottom-left-radius: 0px;border: 0px;\\\" class=\\\"btn-default\\\"><span style=\\\"margin-left: -5px;font-weight: bold;display:block;\\\" [style.color]=\\\"curren_selected_day == 5 ? '#bc202b' : null\\\" class=\\\"nav-label\\\">{{title.friday | translate}}</span></a>\\r\\n                                            </li>\\r\\n                                            <li (click)=\\\"change_day(6)\\\" [style.border-bottom]=\\\"curren_selected_day == 6 ? '1px solid #bc202b' : null\\\" class=\\\"day_li\\\" >\\r\\n                                                <a style=\\\"border-bottom-right-radius: 0px; border-bottom-left-radius: 0px;border: 0px;\\\" class=\\\"btn-default\\\"><span style=\\\"margin-left: -5px;font-weight: bold;display:block;\\\" [style.color]=\\\"curren_selected_day == 6 ? '#bc202b' : null\\\" class=\\\"nav-label\\\">{{title.saturday | translate}}</span></a>\\r\\n                                            </li>\\r\\n                                        </ul>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"row\\\" style=\\\"margin-top: 9px;margin-bottom: 9px;\\\">\\r\\n                                    <div class=\\\"col-md-4 col-sm-6\\\">\\r\\n                                        <label class=\\\"col-md-8 col-sm-8 col-xs-8 control-label\\\" style=\\\"padding-top: 8px;\\\">{{title.open_full_time | translate}}</label>\\r\\n\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\" style=\\\"padding-top: 6px;\\\">\\r\\n                                            <ui-switch   [(ngModel)]=\\\"is_store_open_full_time\\\" name=\\\"is_store_open_full_time\\\" disabled></ui-switch>\\r\\n\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-4 col-sm-6\\\">\\r\\n                                        <label class=\\\"col-md-8 col-sm-8 col-xs-8 control-label\\\" style=\\\"padding-top: 8px;\\\">{{title.open | translate}}</label>\\r\\n\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\" style=\\\"padding-top: 6px;\\\">\\r\\n                                            <ui-switch  [(ngModel)]=\\\"is_store_open\\\" name=\\\"is_store_open\\\" disabled></ui-switch>\\r\\n\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"\\\">\\r\\n                            <table class=\\\"table\\\">\\r\\n                                <tr>\\r\\n                                    <td>{{title.store_open_time | translate}}</td>\\r\\n                                    <td>{{title.store_close_time | translate}}</td>\\r\\n\\r\\n                                </tr>\\r\\n                                <tr *ngFor=\\\"let i of selected_store_time_array\\\">\\r\\n                                    <td>{{i.store_open_time}}</td>\\r\\n                                    <td>{{i.store_close_time}}</td>\\r\\n                                </tr>\\r\\n                            </table>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n            </div>    \\r\\n\\r\\n        </div>  \\r\\n    </div>\\r\\n</form>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/franchise/edit_store/edit_store.component.html\n// module id = 1670\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>   \\r\\n\\r\\n\\r\\n    <div class=\\\"row full_height\\\">\\r\\n        <div class=\\\"col-md-5 col-xs-12 col-sm-5 full_height login_left_background\\\">\\r\\n            <div class=\\\"col-md-12 col-xs-12 col-sm-12 login_left_top_margin animated fadeInLeft\\\">\\r\\n                <div class=\\\"col-md-12 col-xs-12 col-sm-12\\\">\\r\\n                    <img  style=\\\"width: 130px;\\\" src=\\\"web_images/store_logo.png\\\">\\r\\n                </div>\\r\\n               \\r\\n                <label class=\\\"col-md-12 col-xs-12 col-sm-12 login_title\\\" style=\\\"margin-top: 20px;\\\">{{title.store_title1 | translate}}</label>\\r\\n                <label class=\\\"col-md-12 col-xs-12 col-sm-12 login_title\\\">{{title.store_title2 | translate}}</label>\\r\\n                <div class=\\\"col-md-12 col-xs-12 col-sm-12\\\">\\r\\n                    <hr class=\\\"login_hr\\\">\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-7 col-xs-12 col-sm-7  full_height login_right_background\\\">\\r\\n            <div class=\\\"loginColumns animated fadeInRight\\\" style=\\\"max-width: 435px;\\\">\\r\\n                <div class=\\\"ibox-content login_right_background\\\">\\r\\n\\r\\n                    <label class=\\\"login_right_title\\\">{{title.forgot_password | translate}}</label>\\r\\n                    <form #storforgotpasswordForm=\\\"ngForm\\\" (ngSubmit)=\\\"storeForgotPassword(storforgotpasswordForm.value)\\\" >\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"login_text_box_label\\\">{{title.email | translate}}</label>\\r\\n                            <input type=\\\"email\\\" id=\\\"email\\\" class=\\\"form-control login_text_box\\\" [(ngModel)]=\\\"store_forgot_password.email\\\" #email=\\\"ngModel\\\" name=\\\"email\\\" email required />\\r\\n                            <div *ngIf=\\\"email.errors && (email.dirty || email.touched)\\\">\\r\\n                                <div style=\\\"color: red;\\\" [hidden]=\\\"!email.errors.required\\\">{{validation_message.email_required | translate}}\\r\\n                                </div>\\r\\n                                <div style=\\\"color: red;\\\" [hidden]=\\\"!email.errors?.email\\\">{{validation_message.valid_email | translate}}\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                        </div>\\r\\n                        \\r\\n                        <div class=\\\"col-md-12 col-xs-12 col-sm-12 lable_center\\\" style=\\\"margin-top: 20px;\\\">\\r\\n                            <button type=\\\"submit\\\" [disabled]=\\\"!storforgotpasswordForm.form.valid\\\" class=\\\"btn btn-danger m-b login_submit_button\\\">{{button.submit | translate}}</button>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-12 col-xs-12 col-sm-12 lable_center\\\">\\r\\n\\r\\n                            <a [routerLink]=\\\"['/store/login']\\\" style=\\\"color:#959597;\\\">{{button.login | translate}}</a>\\r\\n                        </div>\\r\\n                        \\r\\n                    </form>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/franchise/franchise_forgot_password/franchise_forgot_password.component.html\n// module id = 1671\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>   \\r\\n\\r\\n\\r\\n    <div class=\\\"row full_height\\\">\\r\\n        <div class=\\\"col-md-5 col-xs-12 col-sm-5 full_height login_left_background\\\">\\r\\n            <div class=\\\"col-md-12 col-xs-12 col-sm-12 login_left_top_margin animated fadeInLeft\\\">\\r\\n                <div class=\\\"col-md-12 col-xs-12 col-sm-12\\\">\\r\\n                    <img  style=\\\"width: 130px;\\\" src=\\\"web_images/store_logo.png\\\">\\r\\n                </div>\\r\\n               \\r\\n                <label class=\\\"col-md-12 col-xs-12 col-sm-12 login_title\\\" style=\\\"margin-top: 20px;\\\">{{title.store_title1 | translate}}</label>\\r\\n                <label class=\\\"col-md-12 col-xs-12 col-sm-12 login_title\\\">{{title.store_title2 | translate}}</label>\\r\\n                <div class=\\\"col-md-12 col-xs-12 col-sm-12\\\">\\r\\n                    <hr class=\\\"login_hr\\\">\\r\\n                </div>\\r\\n\\r\\n                <label class=\\\"col-md-12 col-xs-12 col-sm-12 login_left_bottom_margin\\\">{{title.doesnot_have_an_account | translate}}</label>\\r\\n                <a class=\\\"col-md-12 col-xs-12 col-sm-12\\\" [routerLink]=\\\"['/franchise/register']\\\" style=\\\"color:#ffffff;font-size: 20px;font-weight: normal;\\\">{{button.register_now | translate}}</a>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-7 col-xs-12 col-sm-7 full_height login_right_background\\\">\\r\\n            <div class=\\\"loginColumns animated fadeInRight\\\" style=\\\"max-width: 435px;\\\">\\r\\n                <div class=\\\"ibox-content login_right_background\\\">\\r\\n\\r\\n                    <label class='login_right_title'>{{title.signin_to_your_account | translate}}</label>\\r\\n                    <div id=\\\"social\\\">\\r\\n                        <div style=\\\"text-align: center;margin-bottom: 20px;\\\">\\r\\n                            <button type=\\\"button\\\" style=\\\"border: 0;background-color: #f3f3f3;\\\" (click)=\\\"facebook_register()\\\"><img class=\\\"social_button\\\" src=\\\"web_images/facebook.png\\\"></button>\\r\\n                            <button type=\\\"button\\\" style=\\\"border: 0;background-color: #f3f3f3;\\\" (click)=\\\"google_register()\\\"><img class=\\\"social_button\\\" src=\\\"web_images/google.png\\\"></button>\\r\\n                        </div>\\r\\n                        <div style=\\\"text-align: center;\\\">\\r\\n                            <label style=\\\"margin-bottom: 20px;font-size: 25px;font-weight: normal;color: #626262;\\\">-----OR-----</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n\\r\\n                    <form #storloginForm=\\\"ngForm\\\" (ngSubmit)=\\\"franchiseLogin(storloginForm.value)\\\" >\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <div [ngSwitch]=\\\"email_placeholder\\\">\\r\\n                                <div *ngSwitchCase=1>\\r\\n                                    <label class=\\\"login_text_box_label\\\">{{title.email_or_phone | translate}}</label>\\r\\n                                    <input type=\\\"text\\\" id=\\\"email_or_phone\\\" class=\\\"form-control login_text_box\\\" [(ngModel)]=\\\"franchise_login.email\\\" #email=\\\"ngModel\\\" name=\\\"email\\\" required />\\r\\n                                    <div *ngIf=\\\"email.errors && (email.dirty || email.touched)\\\">\\r\\n                                        <div style=\\\"color: red;\\\" [hidden]=\\\"!email.errors.required\\\">{{validation_message.email_or_phone_required | translate}}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                    <div *ngIf=\\\"email_or_phone_error\\\">\\r\\n                                        <div style=\\\"color: red;\\\">{{validation_message.valid_email_or_phone | translate}}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div *ngSwitchCase=2>\\r\\n                                    <label class=\\\"login_text_box_label\\\">{{title.phone | translate}}</label>\\r\\n                                    <input type=\\\"text\\\" id=\\\"phone\\\" (keypress)=\\\"helper.number_validation($event)\\\" class=\\\"form-control login_text_box\\\" [(ngModel)]=\\\"franchise_login.email\\\" #email=\\\"ngModel\\\" name=\\\"email\\\" required />\\r\\n                                    <div *ngIf=\\\"email.errors && (email.dirty || email.touched)\\\">\\r\\n                                        <div style=\\\"color: red;\\\" [hidden]=\\\"!email.errors.required\\\">{{validation_message.phone_required | translate}}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div *ngSwitchCase=3>\\r\\n                                    <label class=\\\"login_text_box_label\\\">{{title.email | translate}}</label>\\r\\n                                    <input type=\\\"email\\\" id=\\\"email\\\" class=\\\"form-control login_text_box\\\" [(ngModel)]=\\\"franchise_login.email\\\" #email=\\\"ngModel\\\" name=\\\"email\\\" email required />\\r\\n                                    <div *ngIf=\\\"email.errors && (email.dirty || email.touched)\\\">\\r\\n                                        <div style=\\\"color: red;\\\" [hidden]=\\\"!email.errors.required\\\">{{validation_message.email_required | translate}}\\r\\n                                        </div>\\r\\n                                        <div style=\\\"color: red;\\\" [hidden]=\\\"!email.errors?.email\\\">{{validation_message.valid_email | translate}}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                            </div>\\r\\n\\r\\n                        </div>\\r\\n                        <div class=\\\"form-group\\\" style=\\\"margin-bottom: 30px;\\\">\\r\\n                            <label class=\\\"login_text_box_label\\\">{{title.password | translate}}</label>\\r\\n                            <input type=\\\"password\\\" class=\\\"form-control login_text_box\\\" [(ngModel)]=\\\"franchise_login.password\\\" #password=\\\"ngModel\\\" minlength=\\\"6\\\" name=\\\"password\\\" required />\\r\\n\\r\\n                            <div *ngIf=\\\"password.errors && (password.dirty || password.touched)\\\">\\r\\n                                <div style=\\\"color: red;\\\" [hidden]=\\\"!password.errors.required\\\">{{validation_message.password_required | translate}}\\r\\n                                </div>\\r\\n                                <div style=\\\"color: red;\\\" [hidden]=\\\"!password.errors.minlength\\\">{{validation_message.password_minlength | translate}}\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-12 col-xs-12 col-sm-12 lable_center\\\" style=\\\"margin-top: 20px;\\\">\\r\\n                            <button type=\\\"submit\\\" [disabled]=\\\"!storloginForm.form.valid\\\" class=\\\"btn btn-danger m-b login_submit_button\\\">{{button.login_button | translate}}</button>\\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"col-md-12 col-xs-12 col-sm-12 lable_center\\\">\\r\\n\\r\\n                            <a [routerLink]=\\\"['/franchise/forgot_password']\\\" style=\\\"color:#959597;\\\">{{button.forgot_password | translate}}</a>\\r\\n                        </div>\\r\\n                        \\r\\n                    </form>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-sm\\\" #myModal id=\\\"otp_model\\\">\\r\\n    <form #modalForm=\\\"ngForm\\\" (ngSubmit)=\\\"otp_var(modalForm.value)\\\">\\r\\n        <modal-header [show-close]=\\\"false\\\">\\r\\n\\r\\n\\r\\n            <h4 class=\\\"modal-title\\\">{{title.verification | translate}}!</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div [ngSwitch]=\\\"opt_error_message\\\">\\r\\n                <div *ngSwitchCase=1>\\r\\n                    <label style=\\\"color: red;\\\">{{validation_message.email_otp_wrong | translate}}</label>\\r\\n                </div>\\r\\n                <div *ngSwitchCase=2>\\r\\n                    <label style=\\\"color: red;\\\">{{validation_message.sms_otp_erong | translate}}</label>\\r\\n                </div>\\r\\n                <div *ngSwitchCase=3>\\r\\n                    <label style=\\\"color: red;\\\">{{validation_message.otp_wrong | translate}}</label>\\r\\n                </div>\\r\\n            </div>\\r\\n                <div class=\\\"form-group\\\" id=\\\"otp_for_sms\\\">\\r\\n                    <label>{{title.sms_otp | translate}}</label>\\r\\n                    <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"sms_otp\\\" name=\\\"sms_otp\\\" >\\r\\n                </div>\\r\\n                <div class=\\\"form-group\\\" id=\\\"otp_for_email\\\">\\r\\n                    <label>{{title.email_otp | translate}}</label>\\r\\n                    <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"email_otp\\\" name=\\\"email_otp\\\" >\\r\\n                </div>\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{button.submit | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/franchise/franchise_login/franchise_login.template.html\n// module id = 1672\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>   \\r\\n\\r\\n\\r\\n    <div class=\\\"row full_height\\\">\\r\\n        <div class=\\\"col-md-5 col-xs-12 col-sm-5 full_height login_left_background\\\">\\r\\n            <div class=\\\"col-md-12 col-xs-12 col-sm-12 login_left_top_margin animated fadeInLeft\\\">\\r\\n                <div class=\\\"col-md-12 col-xs-12 col-sm-12\\\">\\r\\n                    <img  style=\\\"width: 130px;\\\" src=\\\"web_images/store_logo.png\\\">\\r\\n                </div>\\r\\n               \\r\\n                <label class=\\\"col-md-12 col-xs-12 col-sm-12 login_title\\\" style=\\\"margin-top: 20px;\\\">{{title.store_title1 | translate}}</label>\\r\\n                <label class=\\\"col-md-12 col-xs-12 col-sm-12 login_title\\\">{{title.store_title2 | translate}}</label>\\r\\n                <div class=\\\"col-md-12 col-xs-12 col-sm-12\\\">\\r\\n                    <hr class=\\\"login_hr\\\">\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-7 col-xs-12 col-sm-7  full_height login_right_background\\\">\\r\\n            <div class=\\\"loginColumns animated fadeInRight\\\" style=\\\"max-width: 435px;\\\">\\r\\n                <div class=\\\"ibox-content login_right_background\\\">\\r\\n\\r\\n                    <label class=\\\"login_right_title\\\">{{title.new_passwrod | translate}}</label>\\r\\n                    <form #stornewpasswordForm=\\\"ngForm\\\" (ngSubmit)=\\\"storeNewPassword(stornewpasswordForm.value)\\\" >\\r\\n                        \\r\\n\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"login_text_box_label\\\">{{title.password | translate}}</label>\\r\\n                            <input type=\\\"password\\\" class=\\\"form-control login_text_box\\\" [(ngModel)]=\\\"store_new_password.password\\\" #password=\\\"ngModel\\\" minlength=\\\"6\\\" name=\\\"password\\\" required />\\r\\n                            <div *ngIf=\\\"password.errors && (password.dirty || password.touched)\\\">\\r\\n                                <div style=\\\"color: red;\\\" [hidden]=\\\"!password.errors.required\\\">{{validation_message.password_required | translate}}\\r\\n                                </div>\\r\\n                                <div style=\\\"color: red;\\\" [hidden]=\\\"!password.errors.minlength\\\">{{validation_message.password_minlength | translate}}\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"login_text_box_label\\\">{{title.confirm_password | translate}}</label>\\r\\n                            <input type=\\\"password\\\" class=\\\"form-control login_text_box\\\" [(ngModel)]=\\\"store_new_password.confirm_password\\\" [equalTo]=\\\"password\\\" #confirm_password=\\\"ngModel\\\" name=\\\"confirm_password\\\" />\\r\\n                            <div *ngIf=\\\"confirm_password.errors && (confirm_password.dirty || confirm_password.touched)\\\">\\r\\n                                <div style=\\\"color: red;\\\" [hidden]=\\\"!confirm_password.errors?.equalTo\\\">{{validation_message.match_confirm_password | translate}}\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                        </div>\\r\\n                        \\r\\n                        <div class=\\\"col-md-12 col-xs-12 col-sm-12 lable_center\\\" style=\\\"margin-top: 20px;\\\">\\r\\n                            <button type=\\\"submit\\\" [disabled]=\\\"!stornewpasswordForm.form.valid\\\" class=\\\"btn btn-danger m-b login_submit_button\\\">{{button.submit | translate}}</button>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-12 col-xs-12 col-sm-12 lable_center\\\">\\r\\n\\r\\n                            <a [routerLink]=\\\"['/store/login']\\\" style=\\\"color:#959597;\\\">{{button.login | translate}}</a>\\r\\n                        </div>\\r\\n                        \\r\\n                    </form>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/franchise/franchise_new_password/franchise_new_password.component.html\n// module id = 1673\n// module chunks = 0","module.exports = \"<style type=\\\"text/css\\\" media=\\\"screen\\\">\\r\\n\\r\\n</style>\\r\\n<footer [myLoading]=\\\"myLoading\\\" ></footer>   \\r\\n\\r\\n    <div class=\\\"row full_height\\\">\\r\\n        <div class=\\\"col-md-5 col-xs-12 col-sm-12 full_height login_left_background\\\">\\r\\n            <div class=\\\"col-md-12 col-xs-12 col-sm-12 login_left_top_margin animated fadeInLeft\\\">\\r\\n                <div class=\\\"col-md-12 col-xs-12 col-sm-12\\\">\\r\\n                    <img  style=\\\"width: 130px;\\\" src=\\\"web_images/store_logo.png\\\">\\r\\n                </div>\\r\\n               \\r\\n                <label class=\\\"col-md-12 col-xs-12 col-sm-12 login_title\\\" style=\\\"margin-top: 20px;\\\">{{title.store_title1 | translate}}</label>\\r\\n                <label class=\\\"col-md-12 col-xs-12 col-sm-12 login_title\\\">{{title.store_title2 | translate}}</label>\\r\\n                <div class=\\\"col-md-12 col-xs-12 col-sm-12\\\">\\r\\n                    <hr class=\\\"login_hr\\\">\\r\\n                </div>\\r\\n\\r\\n\\r\\n                <label class=\\\"col-md-12 col-xs-12 col-sm-12 login_left_bottom_margin\\\">{{title.already_account | translate}}</label>\\r\\n                <a class=\\\"col-md-12 col-xs-12 col-sm-12\\\" [routerLink]=\\\"['/franchise/login']\\\" style=\\\"color:#ffffff;font-size: 20px;font-weight: normal;\\\">{{button.login | translate}}</a>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-7 col-xs-12 col-sm-12 full_height login_right_background\\\">\\r\\n            <div class=\\\"loginColumns animated fadeInRight\\\" style=\\\"max-width: 700px;\\\">\\r\\n                <div class=\\\"ibox-content login_right_background\\\">\\r\\n                    <div id=\\\"social\\\">\\r\\n                        <div style=\\\"text-align: center;margin-bottom: 20px;\\\">\\r\\n                            <button type=\\\"button\\\" style=\\\"border: 0;background-color: #f3f3f3;\\\" (click)=\\\"facebook_register()\\\"><img class=\\\"social_button\\\" src=\\\"web_images/facebook_register.png\\\"></button>\\r\\n                            <button type=\\\"button\\\" style=\\\"border: 0;background-color: #f3f3f3;\\\" (click)=\\\"google_register()\\\"><img class=\\\"social_button\\\" src=\\\"web_images/google_register.png\\\"></button>\\r\\n                        </div>\\r\\n                        <div style=\\\"text-align: center;\\\">\\r\\n                            <label style=\\\"margin-bottom: 20px;font-size: 25px;font-weight: normal;color: #626262;\\\">-----OR-----</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n\\r\\n                    <div class=\\\"row\\\" style=\\\"margin-left: 0px; margin-right: 0px;;\\\">\\r\\n                        <div class=\\\"col-md-6 col-sm-6 col-xs-6\\\">\\r\\n                            <label class='col-lg-12 login_right_title'>{{title.register_your_account | translate}}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-6 col-sm-6 col-xs-6\\\">\\r\\n                            <div class=\\\"col-lg-12 profile-images center\\\">\\r\\n                                \\r\\n                                <span class=\\\"btn-file pull-right\\\"><img class=\\\"img-circle\\\" style=\\\"width: 110px;height: 110px;\\\" src=\\\"{{franchise_register.image_url}}\\\" alt=\\\"profile\\\"><input type=\\\"file\\\" accept=\\\"image/*\\\" (change)=\\\"image_update($event);\\\" name=\\\"image\\\"></span>\\r\\n                                \\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                    \\r\\n                    <form #franchiseForm=\\\"ngForm\\\" (ngSubmit)=\\\"franchiseRegister1(franchiseForm.value)\\\" >\\r\\n\\r\\n                        <div class=\\\"col-md-6 col-sm-6\\\">\\r\\n                            <div class=\\\"col-lg-12 form-group\\\">\\r\\n                                <input type=\\\"text\\\" class=\\\"form-control register_text_box\\\" [(ngModel)]=\\\"franchise_register.name\\\" #name=\\\"ngModel\\\" placeholder=\\\"{{title.name | translate}}\\\" name=\\\"name\\\" required />\\r\\n                                <div *ngIf=\\\"name.errors && (name.dirty || name.touched)\\\">\\r\\n                                    <div style=\\\"color: red;\\\" [hidden]=\\\"!name.errors.required\\\">{{validation_message.name_required | translate}}\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"col-lg-12 form-group\\\">\\r\\n                                <input type=\\\"email\\\" [readonly]=\\\"franchise_register.social_unique_id !== '' && franchise_register.email !== ''\\\" class=\\\"form-control register_text_box\\\" [(ngModel)]=\\\"franchise_register.email\\\" #email=\\\"ngModel\\\" placeholder=\\\"{{title.email | translate}}\\\" name=\\\"email\\\" email required />\\r\\n                                <div *ngIf=\\\"email.errors && (email.dirty || email.touched)\\\">\\r\\n                                    <div style=\\\"color: red;\\\" [hidden]=\\\"!email.errors.required\\\">{{validation_message.email_required | translate}}\\r\\n                                    </div>\\r\\n                                    <div style=\\\"color: red;\\\" [hidden]=\\\"!email.errors?.email\\\">{{validation_message.valid_email | translate}}\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"col-lg-12 form-group\\\" [hidden]=\\\"franchise_register.social_unique_id !== ''\\\">\\r\\n                                <input type=\\\"password\\\" class=\\\"form-control register_text_box\\\" [(ngModel)]=\\\"franchise_register.confirm_password\\\" #confirm_password=\\\"ngModel\\\" placeholder=\\\"{{title.password | translate}}\\\" name=\\\"password\\\" minlength=\\\"6\\\"  required />\\r\\n                                <div *ngIf=\\\"confirm_password.errors && (confirm_password.dirty || confirm_password.touched)\\\">\\r\\n                                    <div style=\\\"color: red;\\\" [hidden]=\\\"!confirm_password.errors.required\\\">{{validation_message.password_required | translate}}\\r\\n                                    </div>\\r\\n                                    <div style=\\\"color: red;\\\" [hidden]=\\\"!confirm_password.errors.minlength\\\">{{validation_message.password_minlength | translate}}\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"col-lg-12 form-group\\\" [hidden]=\\\"franchise_register.social_unique_id !== ''\\\">\\r\\n                                <input type=\\\"password\\\" class=\\\"form-control register_text_box\\\" [(ngModel)]=\\\"franchise_register.password\\\" #password=\\\"ngModel\\\" [equalTo]=\\\"confirm_password\\\" placeholder=\\\"{{title.confirm_password | translate}}\\\" name=\\\"confirm_password\\\" required />\\r\\n                                <div *ngIf=\\\"password.errors && (password.dirty || password.touched)\\\">\\r\\n                                    <div style=\\\"color: red;\\\" [hidden]=\\\"!password.errors.required\\\">{{validation_message.password_required | translate}}\\r\\n                                    </div>\\r\\n                                    <div style=\\\"color: red;\\\" [hidden]=\\\"!password.errors.minlength\\\">{{validation_message.password_minlength | translate}}\\r\\n                                    </div>\\r\\n                                    <div style=\\\"color: red;\\\" [hidden]=\\\"!password.errors?.equalTo\\\">{{validation_message.match_confirm_password | translate}}\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div id=\\\"Optiona_field\\\">\\r\\n                                <div class=\\\"col-lg-12 form-group\\\">\\r\\n                                    <input type=\\\"text\\\" class=\\\"form-control register_text_box\\\" [(ngModel)]=\\\"franchise_register.website_url\\\" #website_url=\\\"ngModel\\\" placeholder=\\\"{{title.website_url | translate}}\\\" name=\\\"website_url\\\" />\\r\\n\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-lg-12 form-group\\\">\\r\\n                                    <input type=\\\"text\\\" class=\\\"form-control register_text_box\\\" [(ngModel)]=\\\"franchise_register.slogan\\\" #slogan=\\\"ngModel\\\" placeholder=\\\"{{title.slogan | translate}}\\\" name=\\\"slogan\\\" />\\r\\n\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-lg-12 form-group\\\">\\r\\n                                    <input type=\\\"text\\\" class=\\\"form-control register_text_box\\\" [(ngModel)]=\\\"franchise_register.famous_for\\\" #famous_for=\\\"ngModel\\\" placeholder=\\\"{{title.famous_for | translate}}\\\" name=\\\"famous_for\\\" />\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                            \\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"col-md-6 col-sm-6\\\">\\r\\n                            <div class=\\\"col-lg-12 form-group \\\" id=\\\"register_text_box\\\">\\r\\n                                <select chosen class=\\\"form-control chosen-select\\\" id=\\\"country\\\" [(ngModel)]=\\\"franchise_register.country_id\\\" data-placeholder=\\\"Select Country\\\" #country_id=\\\"ngModel\\\" name=\\\"country_id\\\" tabindex=\\\"4\\\" required>\\r\\n                                    <option selected style=\\\"display:none;\\\">{{title.select_country | translate}}</option>\\r\\n                                    <option *ngFor=\\\"let i of country_list\\\" value=\\\"{{i._id}}\\\">{{i.country_name}}</option>\\r\\n                                </select>\\r\\n                                <div *ngIf=\\\"country_id.errors && (country_id.dirty || country_id.touched)\\\">\\r\\n                                    <div style=\\\"color: red;\\\" [hidden]=\\\"!country_id.errors.required\\\">{{validation_message.select_country_required | translate}}</div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"col-lg-12 form-group\\\" id=\\\"register_text_box\\\">\\r\\n                                <select chosen class=\\\"form-control chosen-select\\\" id=\\\"city\\\" [(ngModel)]=\\\"franchise_register.city_id\\\" data-placeholder=\\\"Select City\\\" #city_id=\\\"ngModel\\\" name=\\\"city_id\\\" tabindex=\\\"4\\\" required >\\r\\n                                    <option selected style=\\\"display:none;\\\">{{title.select_city | translate}}</option>\\r\\n                                    <option *ngFor=\\\"let i of city_list\\\" value=\\\"{{i._id}}\\\">{{i.city_name}}</option>\\r\\n                                </select>\\r\\n                                <div *ngIf=\\\"city_id.errors && (city_id.dirty || city_id.touched)\\\">\\r\\n                                    <div style=\\\"color: red;\\\" [hidden]=\\\"!city_id.errors.required\\\">{{validation_message.select_city_required | translate}}</div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"col-lg-12 col-lg-12 form-group\\\" id=\\\"register_text_box\\\">\\r\\n                                <select chosen class=\\\"form-control chosen-select\\\" id=\\\"delivery\\\" [(ngModel)]=\\\"franchise_register.store_delivery_id\\\" data-placeholder=\\\"Select Delivery Type\\\" #store_delivery_id=\\\"ngModel\\\" name=\\\"store_delivery_id\\\" tabindex=\\\"4\\\"  required>\\r\\n                                    <option selected style=\\\"display:none;\\\">{{title.select_delivery | translate}}</option>\\r\\n                                    <option *ngFor=\\\"let i of delivery_list\\\" value=\\\"{{i._id}}\\\">{{i.delivery_name}}</option>\\r\\n                                </select>\\r\\n                                <div *ngIf=\\\"store_delivery_id.errors && (longitude.dirty || longitude.touched)\\\">\\r\\n                                    <div style=\\\"color: red;\\\" [hidden]=\\\"!store_delivery_id.errors.required\\\">{{validation_message.select_delivery_type_required | translate}}</div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"col-lg-4 col-xs-4 form-group\\\">\\r\\n\\r\\n                                <input type=\\\"text\\\" class=\\\"form-control register_text_box\\\" [(ngModel)]=\\\"franchise_register.country_phone_code\\\" #country_phone_code=\\\"ngModel\\\" name=\\\"country_phone_code\\\" readonly required />\\r\\n\\r\\n                            </div>\\r\\n                            <div class=\\\"col-lg-8 col-xs-8 form-group\\\">\\r\\n                                <input type=\\\"text\\\" class=\\\"form-control register_text_box\\\" (keypress)=\\\"helper.number_validation($event)\\\" [(ngModel)]=\\\"franchise_register.phone\\\" #phone=\\\"ngModel\\\" placeholder=\\\"{{title.phone | translate}}\\\" name=\\\"phone\\\" minlength=\\\"{{minimum_phone_number_length}}\\\" maxlength=\\\"{{maximum_phone_number_length}}\\\" required />\\r\\n                                <div *ngIf=\\\"phone.errors && (phone.dirty || phone.touched)\\\">\\r\\n                                    <div style=\\\"color: red;\\\" [hidden]=\\\"!phone.errors.required\\\">{{validation_message.phone_required | translate}}\\r\\n                                    </div>\\r\\n                                    <div style=\\\"color: red;\\\" [hidden]=\\\"!phone.errors.minlength\\\">{{validation_message.phone_minlength | translate}}\\r\\n                                    </div>\\r\\n                                    <div style=\\\"color: red;\\\" [hidden]=\\\"!phone.errors.maxlength\\\">{{validation_message.phone_maxlength | translate}}\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                            </div>\\r\\n                            <div class=\\\"col-lg-12 form-group\\\">\\r\\n                                <input type=\\\"text\\\" class=\\\"form-control register_text_box\\\" [(ngModel)]=\\\"franchise_register.address\\\" #address=\\\"ngModel\\\" id=\\\"address\\\" placeholder=\\\"{{title.address | translate}}\\\" name=\\\"address\\\" required />\\r\\n                                <div *ngIf=\\\"address.errors && (address.dirty || address.touched)\\\">\\r\\n                                    <div style=\\\"color: red;\\\" [hidden]=\\\"!address.errors.required\\\">{{validation_message.address_required | translate}}\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"col-lg-6 col-xs-6 form-group\\\">\\r\\n                                <input type=\\\"text\\\" class=\\\"form-control register_text_box\\\" [(ngModel)]=\\\"franchise_register.latitude\\\" (keypress)=\\\"helper.location_validation($event)\\\" id=\\\"latitude\\\" #latitude=\\\"ngModel\\\" placeholder=\\\"{{title.latitude | translate}}\\\" name=\\\"latitude\\\" required />\\r\\n                                <div *ngIf=\\\"latitude.errors && (latitude.dirty || latitude.touched)\\\">\\r\\n                                    <div style=\\\"color: red;\\\" [hidden]=\\\"!latitude.errors.required\\\">{{validation_message.latitude_required | translate}}\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-lg-6 col-xs-6 form-group\\\">\\r\\n                                <input type=\\\"text\\\" class=\\\"form-control register_text_box\\\" [(ngModel)]=\\\"franchise_register.longitude\\\" (keypress)=\\\"helper.location_validation($event)\\\" id=\\\"longitude\\\" #longitude=\\\"ngModel\\\" placeholder=\\\"{{title.longitude | translate}}\\\" name=\\\"longitude\\\" required />\\r\\n                                <div *ngIf=\\\"longitude.errors && (longitude.dirty || longitude.touched)\\\">\\r\\n                                    <div style=\\\"color: red;\\\" [hidden]=\\\"!longitude.errors.required\\\">{{validation_message.longitude_required | translate}}\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n\\r\\n                            \\r\\n\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-12 col-xs-12 col-sm-12 lable_center\\\" style=\\\"margin-top: 20px;\\\">\\r\\n                            <button type=\\\"submit\\\" class=\\\"btn btn-danger m-b login_submit_button\\\">{{button.sign_up | translate}}</button>\\r\\n                        </div>\\r\\n\\r\\n                    </form>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-sm\\\" #myModal id=\\\"otp_model\\\">\\r\\n    <form #modalForm=\\\"ngForm\\\" (ngSubmit)=\\\"otp_var(modalForm.value)\\\">\\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <h4 class=\\\"modal-title\\\">{{title.verification | translate}}!</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div [ngSwitch]=\\\"opt_error_message\\\">\\r\\n                <div *ngSwitchCase=1>\\r\\n                    <label style=\\\"color: red;\\\">{{validation_message.email_otp_wrong | translate}}</label>\\r\\n                </div>\\r\\n                <div *ngSwitchCase=2>\\r\\n                    <label style=\\\"color: red;\\\">{{validation_message.sms_otp_erong | translate}}</label>\\r\\n                </div>\\r\\n                <div *ngSwitchCase=3>\\r\\n                    <label style=\\\"color: red;\\\">{{validation_message.otp_wrong | translate}}</label>\\r\\n                </div>\\r\\n            </div>\\r\\n                <div class=\\\"form-group\\\" id=\\\"otp_for_sms\\\">\\r\\n                    <label>{{title.sms_otp | translate}}</label>\\r\\n                    <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"sms_otp\\\" name=\\\"sms_otp\\\" >\\r\\n                </div>\\r\\n                <div class=\\\"form-group\\\" id=\\\"otp_for_email\\\">\\r\\n                    <label>{{title.email_otp | translate}}</label>\\r\\n                    <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"email_otp\\\" name=\\\"email_otp\\\" >\\r\\n                </div>\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{button.submit | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/franchise/franchise_register/franchise_register.template.html\n// module id = 1674\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n            <div class=\\\"row\\\">\\r\\n\\r\\n                <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n                    <div class=\\\"lable_center\\\">\\r\\n                        <label>{{title.date_filter | translate}}</label>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"col-md-12 remove_padding\\\">\\r\\n\\r\\n\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <div class=\\\"input-group\\\">\\r\\n\\r\\n                                <my-date-picker id=\\\"start_date\\\" [options]=\\\"helper.myStartDatePickerOptions\\\" placeholder=\\\"Start Date\\\" [(ngModel)]=\\\"start_date\\\" (dateChanged)=\\\"helper.onStartDateChanged($event)\\\"\\r\\n                                                readonly></my-date-picker>\\r\\n                                <span class=\\\"input-group-addon date_filter_icon\\\">{{button.to}}</span>\\r\\n\\r\\n                                <my-date-picker id=\\\"end_date\\\" [options]=\\\"helper.myEndDatePickerOptions\\\" placeholder=\\\"End Date\\\" [(ngModel)]=\\\"end_date\\\" (dateChanged)=\\\"helper.onEndDateChanged($event)\\\"\\r\\n                                                readonly></my-date-picker>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n                    <div class=\\\"lable_center\\\">\\r\\n                        <label>{{title.search | translate}}</label>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                            <select chosen class=\\\"chosen-select\\\" id=\\\"search_field\\\" [(ngModel)]=\\\"search_field\\\" name=\\\"search_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                                <option value=\\\"user_detail.first_name\\\">{{title.filter_user | translate}}</option>\\r\\n                                <option value=\\\"provider_detail.first_name\\\">{{title.filter_provider | translate}}</option>\\r\\n                                <option value=\\\"order_details.product_name\\\">{{title.filter_product | translate}}</option>\\r\\n                            </select>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <div class=\\\"input-group\\\">\\r\\n\\r\\n                                <input type=\\\"text\\\" class=\\\"form-control search_box\\\" [(ngModel)]=\\\"search_value\\\" #store_open_time=\\\"ngModel\\\" name=\\\"search_value\\\">\\r\\n                                <span class=\\\"input-group-addon search_icon\\\"><span class=\\\"fa fa-search\\\"></span></span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n                    <div class=\\\"lable_center\\\">\\r\\n                        <label>{{title.sort | translate}}</label>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                        <div class=\\\"form-group\\\" id=\\\"sort_fields\\\">\\r\\n                            <select chosen class=\\\"chosen-select\\\" id=\\\"sort_field\\\" [(ngModel)]=\\\"sort_field\\\" name=\\\"sort_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                                <option value=\\\"unique_id\\\">{{title.filter_id | translate}}</option>\\r\\n                                <option value=\\\"user_detail.first_name\\\">{{title.filter_user | translate}}</option>\\r\\n                                <option value=\\\"provider_detail.first_name\\\">{{title.filter_provider | translate}}</option>\\r\\n                                <option value=\\\"order_details.product_name\\\">{{title.filter_product | translate}}</option>\\r\\n\\r\\n                            </select>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                        <div class=\\\"form-group\\\" id=\\\"sort_orders\\\">\\r\\n\\r\\n                            <select chosen class=\\\"chosen-select\\\" id=\\\"sort_order\\\" [(ngModel)]=\\\"sort_order\\\" name=\\\"sort_order\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                                <option value=\\\"1\\\">{{title.ascending | translate}}</option>\\r\\n                                <option value=\\\"-1\\\">{{title.descending | translate}}</option>\\r\\n                            </select>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n                    <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                        <input type=\\\"button\\\" class=\\\"btn export_excel_btn pull-right\\\" value=\\\"{{button.export_excel | translate}}\\\" >\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                        <input type=\\\"button\\\" (click)=\\\"store_history(1)\\\" class=\\\"btn filter_apply_btn pull-right\\\" value=\\\"{{button.apply | translate}}\\\" >\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n</div>\\r\\n<div class=\\\"wrapper content_top_bar_view1 wrapper-content animated fadeInRight\\\">\\r\\n\\r\\n\\r\\n    <div class=\\\"ibox\\\">\\r\\n        <div class=\\\"ibox-title\\\">\\r\\n                <h5>{{heading_title.history | translate}}</h5>\\r\\n\\r\\n        </div>\\r\\n        <div class=\\\"ibox-content\\\" style=\\\"padding-bottom: 40px;\\\">\\r\\n            <div class=\\\"table-responsive table_height\\\" style=\\\"padding-bottom: 40px;\\\">\\r\\n                <table class=\\\"table table-striped\\\" style=\\\"margin-bottom: 60px;\\\">\\r\\n                    <thead>\\r\\n                        <tr>\\r\\n                            <th>{{title.id | translate}}</th>\\r\\n                            <th>{{title.user | translate}}</th>\\r\\n                            <th>{{title.provider | translate}}</th>\\r\\n                            <th>{{title.store | translate}}</th>\\r\\n                            <th>{{title.user_rating | translate}}</th>\\r\\n                            <th>{{title.provider_rating | translate}}</th>\\r\\n                            <th>{{title.date | translate}}</th>\\r\\n                            <th>{{title.product | translate}}</th>\\r\\n                            <th>{{title.payment_by | translate}}</th>\\r\\n                            <th>{{title.total | translate}}</th>\\r\\n                            <th>{{title.status | translate}}</th>\\r\\n                            <th class=\\\"pull-right\\\">{{title.action | translate}}</th>\\r\\n                        </tr>\\r\\n                    </thead>\\r\\n                    <tbody>\\r\\n                        \\r\\n                        <tr *ngFor=\\\"let order of order_list; let index=index; let last=last; \\\">\\r\\n                            <td>{{order.unique_id}}</td>\\r\\n                            <td>{{order.user_detail.first_name}} {{order.user_detail.last_name}}</td>\\r\\n                            <td><div *ngIf=\\\"order.provider_detail.length>0\\\">{{order.provider_detail[0].first_name}} {{order.provider_detail[0].last_name}}</div></td>\\r\\n                            <td>{{order.store_detail.name}}</td>\\r\\n                            <td *ngIf=\\\"order.order_status==ORDER_STATE.ORDER_COMPLETED && !order.is_store_rated_to_user\\\"><button (click)=\\\"give_rate_modal(order._id, index ,1)\\\">Give rate</button></td>\\r\\n\\r\\n                            <td *ngIf=\\\"order.order_status!==ORDER_STATE.ORDER_COMPLETED\\\"></td>\\r\\n                            <td *ngIf=\\\"order.is_store_rated_to_user\\\"><span><i class=\\\"fa fa-star\\\" aria-hidden=\\\"true\\\"></i></span>\\r\\n                                {{order.review_detail[0].store_rating_to_user}}</td>\\r\\n\\r\\n                            <td *ngIf=\\\"order.order_status==ORDER_STATE.ORDER_COMPLETED && !order.is_store_rated_to_provider && !order.order_payment_detail.is_user_pick_up_order\\\"><button (click)=\\\"give_rate_modal(order._id, index, 2)\\\">Give rate</button></td>\\r\\n                            <td *ngIf=\\\"order.order_status!==ORDER_STATE.ORDER_COMPLETED\\\"></td>\\r\\n                            <td *ngIf=\\\"order.order_status==ORDER_STATE.ORDER_COMPLETED && !order.is_store_rated_to_provider && order.order_payment_detail.is_user_pick_up_order\\\"></td>\\r\\n                            <td *ngIf=\\\"order.is_store_rated_to_provider\\\"><span><i class=\\\"fa fa-star\\\" aria-hidden=\\\"true\\\"></i></span>\\r\\n                                {{order.review_detail[0].store_rating_to_provider}}</td>\\r\\n                            <td>{{order.completed_at| date: \\\"dd MMM yyyy\\\"}}</td>\\r\\n                            <td><div *ngFor=\\\"let product of order.order_details\\\">{{product.product_name}}</div></td>\\r\\n                            <!--<td [ngSwitch]=\\\"order.is_payment_mode_cash\\\">-->\\r\\n                                <!--<div *ngSwitchCase=\\\"true\\\"><span class=\\\"label label-primary\\\">{{title.cash | translate}}</span></div>-->\\r\\n                                <!--<div *ngSwitchCase=\\\"false\\\"><span class=\\\"label label-danger\\\">{{title.card | translate}}</span></div>-->\\r\\n                            <!--</td>-->\\r\\n                            <td [ngSwitch]=\\\"order.order_payment_detail.is_payment_mode_cash\\\">\\r\\n                                <div *ngSwitchCase=\\\"true\\\"><span class=\\\"label label-primary\\\">{{title.cash | translate}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"false\\\"><span class=\\\"label label-danger\\\">{{order.payment_gateway_detail[0].name}} </span></div>\\r\\n                            </td>\\r\\n                            <td>{{order.order_payment_detail.total.toFixed(2)}}</td>\\r\\n                            <td [ngSwitch]=\\\"order.order_status\\\">\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.STORE_REJECTED\\\"><span class=\\\"label label-danger\\\">{{status.rejected | translate}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.STORE_CANCELLED\\\"><span class=\\\"label label-danger\\\">{{status.cancelled | translate}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.NO_DELIVERY_MAN_FOUND\\\"><span class=\\\"label label-danger\\\">{{status.no_delivery_man_found | translate}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_REJECTED\\\"><span class=\\\"label label-danger\\\">{{status.delivery_man_rejected | translate}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_CANCELLED\\\"><span class=\\\"label label-danger\\\">{{status.delivery_man_cancelled | translate}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.CANCELED_BY_USER\\\"><span class=\\\"label label-danger\\\">{{status.user_cancelled | translate}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_COMPLETE_DELIVERY\\\"><span class=\\\"label label-primary\\\">{{status.order_delivered | translate}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.ORDER_COMPLETED\\\"><span class=\\\"label label-primary\\\">{{status.completed | translate}}</span></div>\\r\\n\\r\\n                            </td>\\r\\n                            <td>\\r\\n                                <div class=\\\"dropdown pull-right\\\" [class.dropup]=\\\"last && !index==0\\\" dropdown>\\r\\n                                    <button class=\\\"btn btn-primary\\\" dropdown-open>{{title.action | translate}} <span class=\\\"caret\\\"></span></button>\\r\\n                                    <ul class=\\\"dropdown-menu\\\">\\r\\n\\r\\n                                        <li>\\r\\n                                            <button  type=\\\"button\\\" (click)=\\\"order_detail(order._id)\\\" class=\\\"btn btn-default action_btn\\\">{{button.view_order_detail | translate}}</button>\\r\\n\\r\\n                                        </li>\\r\\n\\r\\n                                        <li>\\r\\n                                            <button  type=\\\"button\\\" (click)=\\\"view_invoice(order._id)\\\" class=\\\"btn btn-default action_btn\\\">View Invoice</button>\\r\\n\\r\\n                                        </li>\\r\\n                                        <li>\\r\\n                                            <button  type=\\\"button\\\" (click)=\\\"viewcart_detail(order._id)\\\" class=\\\"btn btn-default\\\" style=\\\"width:100%; margin-bottom:0px;\\\">{{button.view_cart_detail | translate}}</button>\\r\\n                                        </li>\\r\\n                                    </ul>\\r\\n                                </div>\\r\\n                            </td>\\r\\n                        </tr>\\r\\n                        \\r\\n                    </tbody>\\r\\n                </table>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-12 col-sm-12\\\" style=\\\"margin-top: 6px;\\\">\\r\\n                <div class=\\\"lable_center\\\">\\r\\n\\r\\n                    <ul class=\\\"pagination\\\">\\r\\n                            <li *ngIf=\\\"page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"store_history(page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                            <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page==index\\\">\\r\\n                                <a *ngIf=\\\"index==1 || index==total_page || index==page || index==page-1 || index==page+1\\\" (click)=\\\"store_history(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                                <a *ngIf=\\\"(index==1 && (page!==1 && page!==2 && page!==3)) || (index==total_page-1 && (page!==total_page && page!==total_page-1 && page!==total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n\\r\\n                            </li>\\r\\n                            <li *ngIf=\\\"page!==total_page && order_list.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"store_history(page+1)\\\">{{button.next | translate}}</a></li>\\r\\n                        </ul>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-sm animated fadeInUpBig\\\" #modal>\\r\\n\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n        <h4 class=\\\"modal-title\\\">{{heading_title.rating | translate}}</h4>\\r\\n    </modal-header>\\r\\n    <modal-body *ngIf=\\\"order_list.length>0\\\">\\r\\n        <div class=\\\"row\\\" *ngIf=\\\"order_list.length>0\\\">\\r\\n            <div class=\\\"col-md-12\\\">\\r\\n                <div style=\\\"text-align: center\\\">\\r\\n                    <div *ngIf=\\\"type==1\\\">\\r\\n                        <h3 class=\\\"m-b-xs\\\"><strong>{{order_list[this.selected_order_index].user_detail.first_name}} {{order_list[this.selected_order_index].user_detail.last_name}}</strong></h3>\\r\\n                        <img class=\\\"img-circle\\\" style=\\\"height: 60px; width: 60px;\\\" src=\\\"{{order_list[this.selected_order_index].user_detail.image_url != '' ? order_list[this.selected_order_index].user_detail.image_url : 'default.png'}}\\\">\\r\\n                    </div>\\r\\n                    <div *ngIf=\\\"type==2 \\\">\\r\\n                        <h3 class=\\\"m-b-xs\\\"><strong>{{order_list[this.selected_order_index].provider_detail[0].first_name}} {{order_list[this.selected_order_index].provider_detail[0].last_name}}</strong></h3>\\r\\n                        <img class=\\\"img-circle\\\" style=\\\"height: 60px; width: 60px;\\\" src=\\\"{{order_list[this.selected_order_index].provider_detail[0].image_url != '' ? order_list[this.selected_order_index].provider_detail[0].image_url : 'default.png'}}\\\">\\r\\n                    </div>\\r\\n                    <div>\\r\\n                        <!-- <rating [(ngModel)]=\\\"rating\\\" [float]=\\\"true\\\"></rating> -->\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div style=\\\"margin-top: 10px;\\\">\\r\\n                    <label class=\\\"col-md-12\\\" style=\\\"padding-left: 0;\\\">Comment</label>\\r\\n                    <textarea class=\\\"col-md-12\\\" style=\\\"max-width: 100%; max-height: 80px;\\\" [(ngModel)]=\\\"review\\\" name=\\\"review\\\"></textarea>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n        <div style=\\\"text-align: center;\\\">\\r\\n            <button type=\\\"button\\\" class=\\\"btn btn-primary\\\" (click)=\\\"give_rate()\\\">{{button.submit | translate}}</button>\\r\\n        </div>\\r\\n    </modal-footer>\\r\\n</modal>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/franchise/history/history.component.html\n// module id = 1675\n// module chunks = 0","module.exports = \" <footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n    <div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n                <div class=\\\"col-md-12 remove_padding\\\">\\r\\n                    <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                        <select chosen class=\\\"chosen-select\\\" [(ngModel)]=\\\"selected_product\\r\\n                                \\\" name=\\\"selected_product\\\" id=\\\"selected_product\\\" tabindex=\\\"4\\\">\\r\\n                            <option>{{title.all | translate}}</option>\\r\\n                            <option *ngFor=\\\"let product_data of product_list\\\" value=\\\"{{product_data._id}}\\\">{{product_data.name}}</option>\\r\\n\\r\\n                        </select>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n            <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n                <div class=\\\"col-md-12 remove_padding\\\">\\r\\n                    <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                        <div class=\\\"input-group\\\">\\r\\n\\r\\n                            <input type=\\\"text\\\" (keyup)=\\\"filter_product(filter_product_name)\\\" class=\\\"form-control search_box\\\" [(ngModel)]=\\\"filter_product_name\\\" placeholder=\\\"{{title.item_name | translate}}\\\" style=\\\"color:#000000;\\\" name=\\\"filter_product_name\\\">\\r\\n                            <span class=\\\"input-group-addon search_icon\\\"><span class=\\\"fa fa-search\\\"></span></span>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n            <div class=\\\"col-md-3 col-sm-12 pull-right\\\">\\r\\n                <div class=\\\"col-md-6 col-sm-6 add_btn_div\\\">\\r\\n                    <a [routerLink]=\\\"['/franchise/add_item']\\\" class=\\\"pull-right\\\"> <button class=\\\"btn add_btn pull-right\\\">{{button.add_item | translate}}<span class=\\\"fa fa-plus pull-right\\\" style=\\\"margin-top: 2px;\\\"></span></button></a>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n    <div class=\\\"wrapper content_top_bar_view wrapper-content animated fadeInRight\\\">\\r\\n\\r\\n              \\r\\n        <div class=\\\"row\\\" *ngFor=\\\"let product_data of filtered_product_list\\\">\\r\\n            <div class=\\\"col-md-12 \\\" [hidden]=\\\"product_data.items.length == 0 || (selected_product!== (title.all | translate) && selected_product!==product_data._id) \\\" style=\\\"margin-bottom: 10px; padding: 0px;\\\">\\r\\n                <label class=\\\"control-label label label-danger\\\" style=\\\"font-size: 20px;\\\">{{product_data.name}}</label>  \\r\\n            </div>\\r\\n             \\r\\n             \\r\\n            <div *ngFor=\\\"let i of product_data.items\\\" [hidden]=\\\"selected_product !== (title.all | translate) && selected_product!==product_data._id \\\">\\r\\n                <div class=\\\"col-md-4 col-sm-6\\\" style=\\\"padding : 0px; padding-right: 2px;\\\">\\r\\n                    <div class=\\\"contact-box\\\" style=\\\"padding-left: 0px; padding-right: 0px;\\\">\\r\\n                        <a (click)=\\\"editItem(i._id, $event)\\\" >\\r\\n                            <div class=\\\"col-md-4 col-xs-4 div1\\\" style=\\\"text-align: center; padding-left: 0px; padding-right: 0px;\\\">\\r\\n                                     <img class=\\\"img-circle m-t-sm img-responsive\\\" src=\\\"{{i.image_url[0] != undefined ? i.image_url[0] : 'default.png'}}\\\" style=\\\"border-radius: 20%; display: inline; width:100px; height: 100px;\\\">\\r\\n\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-8 col-xs-8 div2\\\" style=\\\"padding-left: 0px; padding-right: 0px;\\\">\\r\\n                                <div class=\\\"col-md-9 col-xs-9\\\" style=\\\"height: 24px; overflow: hidden;\\\">\\r\\n                                    <h3><strong>{{i.name}}</strong></h3>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-3 col-xs-3\\\" >\\r\\n                                    <h3><strong style=\\\"float: right;\\\">{{currency}}{{i.price}}</strong></h3>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-9 col-xs-9\\\">\\r\\n                                    <p>{{i.specifications.length}} {{title.specifications | translate}}</p>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-3 col-xs-3\\\">\\r\\n                                    <ui-switch (change)=\\\"onChange(i._id, $event)\\\" style=\\\"float: right;\\\" [(ngModel)]=\\\"i.is_item_in_stock\\\" name=\\\"is_item_in_stock\\\"></ui-switch>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-12 col-xs-12\\\" style=\\\"height: 57px; overflow: hidden;\\\">\\r\\n                                    <address>\\r\\n                                        {{i.details}}\\r\\n                                    </address>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"clearfix\\\"></div>\\r\\n                        </a>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/franchise/item/item.component.html\n// module id = 1676\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n                    <div class=\\\"lable_center\\\">\\r\\n                        <label>{{title.search | translate}}</label>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                            <select chosen class=\\\"chosen-select\\\" id=\\\"search_field\\\" [(ngModel)]=\\\"search_field\\\" name=\\\"search_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                                <option value=\\\"user_detail.first_name\\\">{{title.filter_user | translate}}</option>\\r\\n                                <option value=\\\"order_details.product_name\\\">{{title.filter_product | translate}}</option>\\r\\n                            </select>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <div class=\\\"input-group\\\">\\r\\n\\r\\n                                <input type=\\\"text\\\" class=\\\"form-control search_box\\\" [(ngModel)]=\\\"search_value\\\" #store_open_time=\\\"ngModel\\\" name=\\\"search_value\\\">\\r\\n                                <span class=\\\"input-group-addon search_icon\\\" ><span class=\\\"fa fa-search\\\"></span></span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n                    <div class=\\\"lable_center\\\">\\r\\n                        <label>{{title.sort | translate}}</label>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                        <div class=\\\"form-group\\\" id=\\\"sort_fields\\\">\\r\\n                            <select chosen class=\\\"chosen-select\\\" id=\\\"sort_field\\\" [(ngModel)]=\\\"sort_field\\\" name=\\\"sort_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                                <option value=\\\"unique_id\\\">{{title.filter_id | translate}}</option>\\r\\n                                <option value=\\\"user_detail.first_name\\\">{{title.filter_user | translate}}</option>\\r\\n                                <option value=\\\"order_details.product_name\\\">{{title.filter_product | translate}}</option>\\r\\n\\r\\n                            </select>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                        <div class=\\\"form-group\\\" id=\\\"sort_orders\\\">\\r\\n\\r\\n                            <select chosen class=\\\"chosen-select\\\" id=\\\"sort_order\\\" [(ngModel)]=\\\"sort_order\\\" name=\\\"sort_order\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                                <option value=\\\"1\\\">{{title.ascending | translate}}</option>\\r\\n                                <option value=\\\"-1\\\">{{title.descending | translate}}</option>\\r\\n                            </select>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-4 col-sm-12 \\\">\\r\\n                    <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\" >\\r\\n                        <input  type=\\\"button\\\" class=\\\"btn export_excel_btn pull-right\\\" value=\\\"{{button.export_excel | translate}}\\\" >\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\" >\\r\\n                        <input type=\\\"button\\\" (click)=\\\"filter(1)\\\" class=\\\"btn filter_apply_btn pull-right\\\" value=\\\"{{button.apply | translate}}\\\" >\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n</div>\\r\\n<div class=\\\"wrapper content_top_bar_view1 wrapper-content animated fadeInRight\\\">\\r\\n\\r\\n    <div class=\\\"ibox\\\">\\r\\n        <div class=\\\"ibox-title\\\">\\r\\n                <h5>{{heading_title.order_list | translate}}</h5>\\r\\n\\r\\n        </div>\\r\\n        <div class=\\\"ibox-content\\\" style=\\\"padding-bottom: 40px;\\\">\\r\\n            <div class=\\\"table-responsive table_height\\\" style=\\\"padding-bottom: 100px;\\\">\\r\\n                <table class=\\\"table\\\">\\r\\n                    <thead>\\r\\n                        <tr>\\r\\n                            <th>{{title.id | translate}}</th>\\r\\n                            <th>{{title.user | translate}}</th>\\r\\n                            <th>{{title.store | translate}}</th>\\r\\n                            <th>{{title.product | translate}}</th>\\r\\n                            <th>{{title.payment_by | translate}}</th>\\r\\n                            <th>{{title.total | translate}}</th>\\r\\n                            <th>{{title.status | translate}}</th>\\r\\n                            <th>{{title.action | translate}}</th>\\r\\n                        </tr>\\r\\n                    </thead>\\r\\n                    <tbody>\\r\\n                        <tr *ngFor=\\\"let order of order_list;  let last=last; \\\">\\r\\n                            <td>{{order.unique_id}}</td>\\r\\n                            <td>{{order.user_detail.first_name}} {{order.user_detail.last_name}}</td>\\r\\n                            <td>{{order.store_detail.name}}</td>\\r\\n                            <td><div *ngFor=\\\"let product of order.order_details\\\">{{product.product_name}}</div></td>\\r\\n                            <!--<td [ngSwitch]=\\\"order.is_payment_mode_cash\\\">-->\\r\\n                                <!--<div *ngSwitchCase=\\\"true\\\"><span class=\\\"label label-primary\\\">Cash</span></div>-->\\r\\n                                <!--<div *ngSwitchCase=\\\"false\\\"><span class=\\\"label label-danger\\\">Card</span></div>-->\\r\\n                            <!--</td>-->\\r\\n                            <td [ngSwitch]=\\\"order.order_payment_detail.is_payment_mode_cash\\\">\\r\\n                                <div *ngSwitchCase=\\\"true\\\"><span class=\\\"label label-primary\\\">{{title.cash | translate}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"false\\\"><span class=\\\"label label-danger\\\">{{order.payment_gateway_detail[0].name}} </span></div>\\r\\n                            </td>\\r\\n                            <td>{{order.order_payment_detail.total.toFixed(2)}}</td>\\r\\n                            <td [ngSwitch]=\\\"order.order_status\\\">\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.WAITING_FOR_ACCEPT_STORE\\\"><span class=\\\"label label-info\\\">{{status.waiting_for_accept | translate}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.STORE_ACCEPTED\\\"><span class=\\\"label label-primary\\\">{{status.accepted | translate}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.STORE_PREPARING_ORDER\\\"><span class=\\\"label label-primary\\\">{{status.start_preparing_order | translate}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.OREDER_READY\\\"><span class=\\\"label label-primary\\\">{{status.order_ready | translate}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.WAITING_FOR_DELIVERY_MAN\\\"><span class=\\\"label label-info\\\">{{status.waiting_for_delivery_man | translate}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.STORE_REJECTED\\\"><span class=\\\"label label-danger\\\">{{status.rejected | translate}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.STORE_CANCELLED\\\"><span class=\\\"label label-danger\\\">{{status.cancelled | translate}}</span></div>\\r\\n                            </td>\\r\\n                            <td>\\r\\n                                <div class=\\\"dropdown\\\" [class.dropup]=\\\"last && !index==0\\\" dropdown>\\r\\n                                    <button class=\\\"btn btn-primary\\\" dropdown-open>Action <span class=\\\"caret\\\"></span></button>\\r\\n                                    <ul class=\\\"dropdown-menu\\\">\\r\\n                                        \\r\\n                                        <li>\\r\\n                                            <button  type=\\\"button\\\" (click)=\\\"vieworder_detail(order._id)\\\" class=\\\"btn btn-default\\\" style=\\\"width:100%; margin-bottom:0px;\\\">{{button.view_order_detail | translate}}</button>\\r\\n\\r\\n                                        </li>\\r\\n                                        <li>\\r\\n                                            <button  type=\\\"button\\\" (click)=\\\"viewcart_detail(order._id)\\\" class=\\\"btn btn-default\\\" style=\\\"width:100%; margin-bottom:0px;\\\">{{button.view_cart_detail | translate}}</button>\\r\\n\\r\\n                                        </li>\\r\\n                                    </ul>\\r\\n                                </div>\\r\\n                            </td>\\r\\n                        </tr>\\r\\n                    </tbody>\\r\\n                </table>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                <div class=\\\"lable_center\\\">\\r\\n\\r\\n                    <ul class=\\\"pagination\\\">\\r\\n                            <li *ngIf=\\\"page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"filter(page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                            <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page==index\\\">\\r\\n                                <a *ngIf=\\\"index==1 || index==total_page || index==page || index==page-1 || index==page+1\\\" (click)=\\\"filter(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                                <a *ngIf=\\\"(index==1 && (page!==1 && page!==2 && page!==3)) || (index==total_page-1 && (page!==total_page && page!==total_page-1 && page!==total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n\\r\\n                            </li>\\r\\n                            <li *ngIf=\\\"page!==total_page && order_list.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"filter(page+1)\\\">{{button.next | translate}}</a></li>\\r\\n                        </ul>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/franchise/order/order.component.html\n// module id = 1677\n// module chunks = 0","module.exports = \"<style>\\r\\n    .remove_border{\\r\\n        border: 0;\\r\\n    }\\r\\n</style>\\r\\n<footer [myLoading]=\\\"myLoading\\\" ></footer>   \\r\\n<div class=\\\"row wrapper content_top_bar border-bottom white-bg page-heading\\\">\\r\\n\\r\\n    <div class=\\\"col-md-12\\\">\\r\\n        \\r\\n        <div class=\\\"col-md-4 col-sm-12 col-xs-12\\\">\\r\\n            <h3>{{heading_title.invoice_no | translate}} : {{invoice_number}}</h3>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4 col-sm-6 col-xs-6\\\">\\r\\n            <h3>{{heading_title.earning | translate}} : {{total_store_income}}</h3>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4 col-sm-6 col-xs-6\\\">\\r\\n            <h3>{{completed_at| date: \\\"dd MMM yyyy\\\"}}</h3>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n</div>\\r\\n<div class=\\\"wrapper wrapper-content animated fadeInRight \\\">\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"\\\">\\r\\n            <div class=\\\"col-lg-4 col-sm-6\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <label class=\\\"control-label\\\">{{heading_title.user_detail | translate}}</label>  \\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12\\\"><label class=\\\"col-lg-4 col-sm-4 col-xs-4 control-label\\\">{{title.name | translate}}:</label>\\r\\n\\r\\n                                <div class=\\\"col-lg-8 col-sm-8 col-xs-8\\\">\\r\\n                                    {{user_first_name + \\\" \\\" + user_last_name}}\\r\\n                                </div> \\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12\\\"><label class=\\\"col-lg-4 col-sm-4 col-xs-4 control-label\\\">{{title.email | translate}}:</label>\\r\\n\\r\\n                                <div class=\\\"col-lg-8 col-sm-8 col-xs-8\\\">\\r\\n                                    {{user_email}}\\r\\n                                </div> \\r\\n                            </div>\\r\\n\\r\\n\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\" col-md-4 col-sm-6\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <label class=\\\"control-label\\\">{{heading_title.order_user_detail | translate}}</label>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12\\\"><label class=\\\"col-md-4 col-sm-4 col-xs-4 control-label\\\">{{title.name | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n\\r\\n                                <div class=\\\"col-md-8 col-sm-8 col-xs-8 form-group\\\">\\r\\n                                    {{order_user_name}}\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12\\\"><label class=\\\"col-md-4 col-sm-4 col-xs-4 control-label\\\">{{title.email | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n\\r\\n                                <div class=\\\"col-md-8 col-sm-8 col-xs-8 form-group\\\">\\r\\n                                    {{order_user_phone}}\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12\\\"><label class=\\\"col-md-4 col-sm-4 col-xs-4 control-label\\\">{{title.address | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n\\r\\n                                <div class=\\\"col-md-8 col-sm-8 col-xs-8 form-group\\\">\\r\\n                                    {{destination_address}}\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-lg-4 col-sm-6\\\" *ngIf=\\\"!is_user_pick_up_order\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <label class=\\\"control-label\\\">{{heading_title.provider_detail | translate}}</label>  \\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content wizard\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12\\\"><label class=\\\"col-lg-4 col-sm-4 col-xs-4 control-label\\\">{{title.name | translate}}:</label>\\r\\n\\r\\n                                <div class=\\\"col-lg-8 col-sm-8 col-xs-8\\\">\\r\\n                                    {{provider_first_name + \\\" \\\" + provider_last_name}}\\r\\n                                </div> \\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12\\\"><label class=\\\"col-lg-4 col-sm-4 col-xs-4 control-label\\\">{{title.email | translate}}:</label>\\r\\n\\r\\n                                <div class=\\\"col-lg-8 col-sm-8 col-xs-8\\\">\\r\\n                                    {{provider_email}}\\r\\n                                </div> \\r\\n                            </div>\\r\\n\\r\\n\\r\\n\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n   \\r\\n        </div>\\r\\n\\r\\n    </div>\\r\\n    <div class=\\\"row\\\">\\r\\n\\r\\n        <div class=\\\"col-lg-12\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\">\\r\\n\\r\\n                    <div class=\\\"col-md-3 com-sm-6 col-xs-6\\\">\\r\\n                        <label class=\\\"control-label\\\">{{heading_title.order_status | translate}}</label> \\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-3 com-sm-6 col-xs-6 pull-right\\\">\\r\\n                        <h3 class=\\\"control-label text-navy pull-right\\\" *ngIf=\\\"order_status == ORDER_STATE.ORDER_COMPLETED\\\">{{status.completed | translate}}</h3>\\r\\n                        <h3 class=\\\"control-label text-danger pull-right\\\" *ngIf=\\\"order_status_id != ORDER_STATUS_ID.COMPLETED\\\">{{title.not_completed | translate}}</h3>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-2 com-sm-4 col-xs-12 lable_center\\\"><span>{{heading_title.distance | translate}}:{{distance}} km/mile</span></div>\\r\\n                    <div class=\\\"col-md-2 com-sm-4 col-xs-12 lable_center\\\"><span>{{heading_title.total_time | translate}}:{{total_time}}</span></div>\\r\\n                    <div class=\\\"col-md-2 com-sm-4 col-xs-12 lable_center\\\"><span>{{heading_title.total_items | translate}}:{{total_item}}</span></div>\\r\\n                    \\r\\n                </div>\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"table-responsive\\\">\\r\\n                        <table class=\\\"table\\\">\\r\\n                            <thead>\\r\\n                                <tr>\\r\\n                                    <th class=\\\"remove_border\\\">{{title.created_at | translate }}</th>\\r\\n                                    <th class=\\\"remove_border\\\"><span class=\\\"fa fa-long-arrow-right\\\"></span></th>\\r\\n                                    <th class=\\\"remove_border\\\">{{title.store_accepted_at | translate }}</th>\\r\\n                                    <th class=\\\"remove_border\\\"><span class=\\\"fa fa-long-arrow-right\\\"></span></th>\\r\\n                                    <th class=\\\"remove_border\\\">{{title.preparing_order_at | translate }}</th>\\r\\n                                    <th class=\\\"remove_border\\\"><span class=\\\"fa fa-long-arrow-right\\\"></span></th>\\r\\n                                    <th class=\\\"remove_border\\\">{{title.order_ready_at | translate }}</th>\\r\\n                                    <th class=\\\"remove_border\\\"><span class=\\\"fa fa-long-arrow-right\\\"></span></th>\\r\\n                                    <th class=\\\"remove_border\\\">{{title.store_order_send_at | translate }}</th>\\r\\n                                    <th class=\\\"remove_border\\\"><span class=\\\"fa fa-long-arrow-right\\\"></span></th>\\r\\n                                    <th class=\\\"remove_border\\\">{{title.provider_accepted_at | translate }}</th>\\r\\n                                    <th class=\\\"remove_border\\\"><span class=\\\"fa fa-long-arrow-right\\\"></span></th>\\r\\n                                </tr>\\r\\n                            </thead>\\r\\n                            <tbody>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">{{created_at | date: \\\"dd MMM yyyy hh:mm:ss\\\"}}</td>\\r\\n                                    <td class=\\\"remove_border\\\"></td>\\r\\n                                    <td class=\\\"remove_border\\\">{{store_accepted_at | date: \\\"dd MMM yyyy hh:mm:ss\\\"}}</td>\\r\\n                                    <td class=\\\"remove_border\\\"></td>\\r\\n                                    <td class=\\\"remove_border\\\">{{start_preparing_order_at | date: \\\"dd MMM yyyy hh:mm:ss\\\"}}</td>\\r\\n                                    <td class=\\\"remove_border\\\"></td>\\r\\n                                    <td class=\\\"remove_border\\\">{{order_ready_at | date: \\\"dd MMM yyyy hh:mm:ss\\\"}}</td>\\r\\n                                    <td class=\\\"remove_border\\\"></td>\\r\\n                                    <td class=\\\"remove_border\\\">{{store_order_created_at | date: \\\"dd MMM yyyy hh:mm:ss\\\"}}</td>\\r\\n                                    <td class=\\\"remove_border\\\"></td>\\r\\n                                    <td class=\\\"remove_border\\\">{{accepted_at | date: \\\"dd MMM yyyy hh:mm:ss\\\"}}</td>\\r\\n                                    <td class=\\\"remove_border\\\"></td>\\r\\n                                </tr>\\r\\n                            </tbody>\\r\\n                        </table>\\r\\n                        <table class=\\\"table\\\">\\r\\n                            <thead>\\r\\n                                <tr>\\r\\n                                    <th class=\\\"remove_border\\\">{{title.completed_at | translate }}</th>\\r\\n                                    <th class=\\\"remove_border\\\"><span class=\\\"fa fa-long-arrow-left\\\"></span></th>\\r\\n                                    <th class=\\\"remove_border\\\">{{title.delivered_at | translate }}</th>\\r\\n                                    <th class=\\\"remove_border\\\"><span class=\\\"fa fa-long-arrow-left\\\"></span></th>\\r\\n                                    <th class=\\\"remove_border\\\">{{title.start_for_delivery_at | translate }}</th>\\r\\n                                    <th class=\\\"remove_border\\\"><span class=\\\"fa fa-long-arrow-left\\\"></span></th>\\r\\n                                    <th class=\\\"remove_border\\\">{{title.picked_order_at | translate }}</th>\\r\\n                                    <th class=\\\"remove_border\\\"><span class=\\\"fa fa-long-arrow-left\\\"></span></th>\\r\\n                                    <th class=\\\"remove_border\\\">{{title.arrived_on_store_at | translate }}</th>\\r\\n                                    <th class=\\\"remove_border\\\"><span class=\\\"fa fa-long-arrow-left\\\"></span></th>\\r\\n                                    <th class=\\\"remove_border\\\">{{title.start_for_pickup_at | translate }}</th>\\r\\n                                    <th class=\\\"remove_border\\\"><span class=\\\"fa fa-long-arrow-left\\\"></span></th>\\r\\n                                </tr>\\r\\n                            </thead>\\r\\n                            <tbody>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">{{completed_at | date: \\\"dd MMM yyyy hh:mm:ss\\\"}}</td>\\r\\n                                    <td class=\\\"remove_border\\\"></td>\\r\\n                                    <td class=\\\"remove_border\\\">{{start_for_pickup_at | date: \\\"dd MMM yyyy hh:mm:ss\\\"}}</td>\\r\\n                                    <td class=\\\"remove_border\\\"></td>\\r\\n                                    <td class=\\\"remove_border\\\">{{arrived_on_store_at | date: \\\"dd MMM yyyy hh:mm:ss\\\"}}</td>\\r\\n                                    <td class=\\\"remove_border\\\"></td>\\r\\n                                    <td class=\\\"remove_border\\\">{{picked_order_at | date: \\\"dd MMM yyyy hh:mm:ss\\\"}}</td>\\r\\n                                    <td class=\\\"remove_border\\\"></td>\\r\\n                                    <td class=\\\"remove_border\\\">{{start_for_delivery_at | date: \\\"dd MMM yyyy hh:mm:ss\\\"}}</td>\\r\\n                                    <td class=\\\"remove_border\\\"></td>\\r\\n                                     <td class=\\\"remove_border\\\">{{delivered_at | date: \\\"dd MMM yyyy hh:mm:ss\\\"}}</td>\\r\\n                                    <td class=\\\"remove_border\\\"></td>\\r\\n                                </tr>\\r\\n                            </tbody>\\r\\n\\r\\n                        </table>\\r\\n                    </div>\\r\\n                   \\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-lg-12\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\">\\r\\n                    <label class=\\\"control-label\\\">{{heading_title.delivery_fees | translate}}</label>  \\r\\n                </div>\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"table-responsive\\\">\\r\\n\\r\\n                        <table class=\\\"table table-striped\\\">\\r\\n                            <tbody>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{title.base_price | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{base_price}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{title.distance_price | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{total_distance_price}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{title.time_price | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{total_time_price}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{title.service_price | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{total_service_price}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{title.tax_price | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{total_after_tax_price}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{title.surge_price | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{total_surge_price}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{title.delivery_price | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{delivery_price}}</td>\\r\\n                                </tr>\\r\\n                                <tr *ngIf='is_promo_for_delivery_service == true'>\\r\\n                                    <td style=\\\"border: none;\\\" >\\r\\n                                        <div><strong>{{title.promo_bonus}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{promo_payment}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"text-danger remove_border\\\">\\r\\n                                        <div><strong>{{title.total_delivery_price | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{total_delivery_price}}</td>\\r\\n                                </tr>\\r\\n                            </tbody>\\r\\n\\r\\n                        </table>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>  \\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-lg-12\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\">\\r\\n\\r\\n\\r\\n                    <label class=\\\"control-label pull-right\\\">{{heading_title.total | translate}}</label> \\r\\n                    <label class=\\\"control-label\\\" style=\\\"position: absolute; left:42%;\\\">{{heading_title.quantity | translate}}</label>\\r\\n                    <label class=\\\"control-label\\\" style=\\\"position: absolute; left:64%;\\\">{{heading_title.price | translate}}</label>\\r\\n                    <label class=\\\"control-label\\\">{{heading_title.cart | translate}}</label> \\r\\n\\r\\n                </div>\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"table-responsive\\\" *ngFor=\\\"let products of order_detail; let product_index=index\\\">\\r\\n                         <table class=\\\"table invoice-table\\\">\\r\\n\\r\\n                            <tbody>\\r\\n                                <tr *ngFor=\\\"let item of products.items;\\\">\\r\\n                                    <td width=\\\"200px\\\" class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{item.item_name}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"remove_border\\\">{{item.quantity}}</td>\\r\\n                                    <td class=\\\"remove_border\\\">{{(item.total_specification_price + item.item_price)}}</td>\\r\\n                                    <td class=\\\"remove_border\\\">{{(item.total_item_and_specification_price)}}</td>\\r\\n                                </tr>\\r\\n                            </tbody>\\r\\n                        </table>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n        </div>  \\r\\n    </div>\\r\\n    \\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-lg-12\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\">\\r\\n                    <label class=\\\"control-label\\\">{{heading_title.order_fees | translate}}</label>  \\r\\n                </div>\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"table-responsive\\\">\\r\\n\\r\\n                        <table class=\\\"table table-striped\\\">\\r\\n                            <tbody>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{title.cart_price | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{total_cart_price}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{title.tax_price | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{total_store_tax_price}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{title.order_price | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{order_price }}</td>\\r\\n                                </tr>\\r\\n\\r\\n                                <tr *ngIf='is_promo_for_delivery_service == false'>\\r\\n                                    <td style=\\\"border: none;\\\" >\\r\\n                                        <div><strong>{{title.promo_bonus}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{promo_payment}}</td>\\r\\n                                </tr>\\r\\n\\r\\n\\r\\n                                <tr>\\r\\n                                    <td class=\\\"text-danger remove_border\\\">\\r\\n                                        <div><strong>{{title.total_order_price | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"text-danger pull-right remove_border\\\">{{total_order_price}}</td>\\r\\n                                </tr>\\r\\n                            </tbody>\\r\\n\\r\\n                        </table>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>  \\r\\n    </div>\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-lg-12\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\">\\r\\n                    <label class=\\\"control-label\\\">{{heading_title.total | translate}}</label>  \\r\\n                </div>\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"table-responsive\\\">\\r\\n\\r\\n                        <table class=\\\"table table-striped\\\">\\r\\n                            <tbody>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{title.wallet_payment | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{wallet_payment}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{title.cash_payment | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{cash_payment}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{title.other_payment | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{card_payment}}</td>\\r\\n                                </tr>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n                                <tr>\\r\\n                                    <td class=\\\"text-danger pull-center remove_border\\\">\\r\\n                                        <div><h2><strong style=\\\"margin-left:50%\\\">{{title.total | translate}}: {{total}}</strong></h2></div>\\r\\n                                    </td>\\r\\n\\r\\n                                </tr>\\r\\n                            </tbody>\\r\\n\\r\\n                        </table>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>  \\r\\n    </div>\\r\\n\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-lg-12\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\">\\r\\n                    <label class=\\\"control-label\\\">{{heading_title.earning | translate}}</label>  \\r\\n                </div>\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"table-responsive\\\">\\r\\n\\r\\n                        <table class=\\\"table table-striped\\\">\\r\\n                            <tbody>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{title.service_price | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{store_have_service_payment}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{title.order_payment | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{store_have_order_payment}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{title.profit | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{total_store_income}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{title.pay_by_admin | translate}}\\r\\n                                        </strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{pay_to_store}}</td>\\r\\n                                </tr>\\r\\n\\r\\n\\r\\n                            </tbody>\\r\\n\\r\\n                        </table>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>  \\r\\n    </div>\\r\\n\\r\\n</div>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/franchise/order_earning_detail/order_earning_detail.component.html\n// module id = 1678\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n            <div class=\\\"col-md-12 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n\\r\\n                        <input type=\\\"text\\\" (keyup)=\\\"filter_product(filter_product_name)\\\" class=\\\"form-control search_box\\\" [(ngModel)]=\\\"filter_product_name\\\" placeholder=\\\"{{title.product_name}}\\\" style=\\\"color:#000000;\\\" name=\\\"filter_product_name\\\">\\r\\n                        <span class=\\\"input-group-addon search_icon\\\"><span class=\\\"fa fa-search\\\"></span></span>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n        <div class=\\\"col-md-3 col-sm-12 pull-right\\\">\\r\\n            <div class=\\\"col-md-6 col-sm-6 add_btn_div\\\">\\r\\n                <a (click)=\\\"addproductform = !addproductform\\\" class=\\\"pull-right\\\"> <button class=\\\"btn add_btn pull-right\\\">{{button.add_product | translate}}<span class=\\\"fa fa-plus pull-right\\\" style=\\\"margin-top: 2px;\\\"></span></button></a>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n<div class=\\\"wrapper content_top_bar_view wrapper-content animated fadeInRight\\\">\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <form #productForm=\\\"ngForm\\\" (ngSubmit)=\\\"addProduct(productForm.value)\\\" enctype='multipart/form-data' >\\r\\n            <div class=\\\"ibox\\\" [hidden]=\\\"addproductform != true\\\" style=\\\"margin-bottom: -5px;\\\">\\r\\n                 <div class=\\\"ibox-content\\\" style=\\\"padding-bottom: 0px;\\\">\\r\\n                    <div class=\\\"row form-group\\\">\\r\\n                        <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_product.franchise_id\\\" #franchise_id=\\\"ngModel\\\"  name=\\\"franchise_id\\\" />\\r\\n                        <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_product.server_token\\\" #server_token=\\\"ngModel\\\"  name=\\\"server_token\\\" />\\r\\n\\r\\n                        <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_product.image_url\\\" #image_url=\\\"ngModel\\\"  name=\\\"image_url\\\" />\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\" col-md-4\\\">\\r\\n                                <label class=\\\"col-md-12 col-sm-6 control-label\\\">{{title.name}}</label>\\r\\n                                <div class=\\\"col-md-12 col-sm-6 form-group\\\">\\r\\n                                    <input type=\\\"text\\\" (keyup)=\\\"check_product()\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_product.name\\\" #name=\\\"ngModel\\\"  name=\\\"name\\\"  required />\\r\\n                                    <label *ngIf=product_already_exist >Product Already Exist</label>\\r\\n\\r\\n                                    <div *ngIf=\\\"name.errors && (name.dirty || name.touched)\\\">\\r\\n                                        <div style=\\\"color: red;\\\" [hidden]=\\\"!name.errors.required\\\">{{validation_message.product_name_required | translate}}</div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-4\\\">\\r\\n                                <label class=\\\"col-md-12 col-sm-6 control-label\\\">{{title.details}}</label>\\r\\n                                <div class=\\\"col-md-12 col-sm-6 form-group\\\">\\r\\n                                    <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_product.details\\\" #details=\\\"ngModel\\\"  name=\\\"details\\\" required />\\r\\n                                    <div *ngIf=\\\"details.errors && (details.dirty || details.touched)\\\">\\r\\n                                        <div style=\\\"color: red;\\\" [hidden]=\\\"!details.errors.required\\\">{{validation_message.product_detail_required | translate}}</div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-4\\\">\\r\\n                                <label class=\\\"col-md-12 col-sm-6 control-label\\\">{{title.image_url}}</label>\\r\\n                                <div class=\\\"col-md-12 col-sm-6 form-group\\\">\\r\\n                                    <div class=\\\"fileinput fileinput-new input-group\\\" data-provides=\\\"fileinput\\\">\\r\\n                                        <div class=\\\"form-control\\\" data-trigger=\\\"fileinput\\\" style=\\\"overflow-x: hidden;\\\"><i class=\\\"glyphicon glyphicon-file fileinput-exists\\\"></i> <span class=\\\"fileinput-filename\\\"></span></div>\\r\\n                                        <span class=\\\"input-group-addon btn btn-default btn-file\\\"><span class=\\\"fileinput-new\\\">{{button.select_file}}</span><span class=\\\"fileinput-exists\\\">{{button.change}}</span>\\r\\n                                            <input type=\\\"file\\\" accept=\\\"image/*\\\" [(ngModel)]=\\\"add_product.image_url\\\" #image_url=\\\"ngModel\\\" (change)=\\\"image_update($event);\\\" name=\\\"image\\\" required></span>\\r\\n                                        <a href=\\\"#\\\" id=\\\"remove\\\" class=\\\"input-group-addon btn btn-default fileinput-exists\\\" data-dismiss=\\\"fileinput\\\">{{button.remove}}</a>\\r\\n                                        \\r\\n                                    </div>\\r\\n                                    <span style=\\\"color: red;\\\">{{image_error | translate}}</span>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"row\\\">                        \\r\\n                            <div *ngFor=\\\"let i of store_list; \\\" style=\\\"padding-left: 30px;\\\" class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                                    <input type=\\\"checkbox\\\" class=\\\"icheck\\\" value=\\\"{{i._id}}\\\"/>\\r\\n                                    <label><span style=\\\"margin-left: 10px;\\\">{{i.name}}</span></label>\\r\\n                            </div>                                    \\r\\n                        </div>\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                                <label class=\\\"col-md-12 col-sm-6 control-label\\\">{{title.is_visible_in_store}}</label>\\r\\n\\r\\n                                <div class=\\\"col-md-12 col-sm-6 form-group\\\">\\r\\n                                    <ui-switch [(ngModel)]=\\\"add_product.is_visible_in_store\\\" #is_visible_in_store=\\\"ngModel\\\" name=\\\"is_visible_in_store\\\"></ui-switch>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                                <label style=\\\"font-weight: 100;\\\" >Note:  Upload image size within width x height (  min {{image_setting.image_min_width}}x{{image_setting.image_min_height}}\\r\\n                                    and max {{image_setting.image_max_width}}x{{image_setting.image_max_height}}),</label>\\r\\n                                <label style=\\\"font-weight: 100;margin-left: 32px;\\\">Image ratio should be {{image_setting.image_ratio}} and upload only </label>\\r\\n                                <label *ngFor=\\\"let i of image_setting.image_type\\\"> {{(i.split('/'))[1]}} </label><label style=\\\"font-weight: 100;\\\"> file</label>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                                <div class=\\\"col-md-12\\\">\\r\\n                                    <div style=\\\"float: right;\\\">\\r\\n                                        <input type=\\\"submit\\\" [disabled]=\\\"product_already_exist\\\" name=\\\"submit\\\" class=\\\"btn btn-primary\\\" value=\\\"{{button.submit}}\\\" >\\r\\n                                        \\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </form>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div *ngFor=\\\"let i of filtered_product_list\\\">\\r\\n            <div class=\\\"col-md-3 col-sm-6\\\" style=\\\"padding : 0px; padding-right: 2px;\\\">\\r\\n                <div class=\\\"contact-box center-version\\\">\\r\\n\\r\\n                    <a (click)=\\\"editProduct(i._id)\\\">\\r\\n                        <h3 class=\\\"m-b-xs\\\"><strong>{{i.name}}</strong></h3>\\r\\n                        <img class=\\\"img-circle\\\" src=\\\"{{i.image_url != '' ? i.image_url : 'default.png'}}\\\">\\r\\n\\r\\n                        <div style=\\\"height: 60px; overflow-y: hidden;\\\">\\r\\n                            <address class=\\\"m-t-md\\\">\\r\\n                                {{i.details}}\\r\\n                            </address>\\r\\n                        </div>\\r\\n\\r\\n\\r\\n                    </a>\\r\\n                    <div class=\\\"contact-box-footer\\\">\\r\\n                        <div class=\\\"m-t-xs btn-group\\\">\\r\\n                    \\r\\n                            <a class=\\\"btn btn-sm btn-white\\\" (click)=\\\"viewSpecification(i._id)\\\">{{button.view_specification}}</a>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/franchise/products/products.component.html\n// module id = 1679\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n\\r\\n<form #franchiseUpdateForm=\\\"ngForm\\\" (ngSubmit)=\\\"UpdateFranchise(franchiseUpdateForm.value)\\\">\\r\\n    <div class=\\\"wrapper wrapper-content animated fadeInRight content_top_bar\\\">\\r\\n\\r\\n        \\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-lg-8\\\">\\r\\n\\r\\n                <div class=\\\"ibox product-detail\\\">\\r\\n                    <div class=\\\"ibox-content\\\">\\r\\n\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-3 col-sm-3\\\">\\r\\n\\r\\n                                <div class=\\\"profile-images center\\\">\\r\\n                                    <img class=\\\"img-circle\\\" style=\\\"width: 150px;height: 150px;\\\" src=\\\"{{franchise_edit.image_url != '' ? franchise_edit.image_url : 'default.png'}}\\\" alt=\\\"profile\\\">\\r\\n                                    \\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"center\\\" style=\\\"margin-left: 140px; margin-top: -145px;\\\">\\r\\n                                    <span class=\\\"btn-file\\\" *ngIf=\\\"edit==true\\\"><i class=\\\"fa fa-pencil\\\"></i><input type=\\\"file\\\" accept=\\\"image/*\\\" (change)=\\\"change_image($event);\\\" name=\\\"image\\\"></span>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-9 col-sm-9 profile_data\\\">\\r\\n                                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"franchise_edit.franchise_id\\\" #franchise_id=\\\"ngModel\\\"  name=\\\"franchise_id\\\" />\\r\\n                                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"franchise_edit.server_token\\\" #server_token=\\\"ngModel\\\"  name=\\\"server_token\\\" />\\r\\n                                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"franchise_edit.social_id\\\" #social_id=\\\"ngModel\\\"  name=\\\"social_id\\\" />\\r\\n                                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"franchise_edit.login_by\\\" #login_by=\\\"ngModel\\\"  name=\\\"login_by\\\" />\\r\\n\\r\\n                                <div class=\\\"col-md-12 remove_padding align_center1\\\" style=\\\"margin-left: 0px;\\\">\\r\\n                                    <label class=\\\"control-label\\\" style=\\\"font-size: 30px;\\\">{{franchise_edit.name}}</label>\\r\\n\\r\\n                                    <button type=\\\"button\\\" *ngIf=\\\"edit==false\\\" class=\\\"btn btn-danger pull-right edit_option_mobile_screen profile_update\\\" (click)=\\\"edit=true\\\">{{button.edit | translate}}</button>\\r\\n\\r\\n                                    <button type=\\\"submit\\\"  *ngIf=\\\"edit==true\\\" [disabled]=\\\"!franchiseUpdateForm.form.valid\\\" class=\\\"btn btn-primary pull-right edit_option_mobile_screen profile_update\\\">{{button.update | translate}}</button>\\r\\n                                    \\r\\n                                </div>\\r\\n                                <hr style=\\\"border-color: red;\\\">\\r\\n                                <div class=\\\"row col-md-12 remove_padding\\\"><label class=\\\"col-lg-4 col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.email | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n\\r\\n                                    <div *ngIf=\\\"edit==true\\\" class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                                        \\r\\n                                        <input type=\\\"text\\\" [readonly]=\\\"franchise_edit.social_id !== ''\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"franchise_edit.email\\\" #email=\\\"ngModel\\\" name=\\\"email\\\" email required/>\\r\\n                                        <div *ngIf=\\\"email.errors && (email.dirty || email.touched)\\\">\\r\\n                                            <div style=\\\"color: red;\\\" [hidden]=\\\"!email.errors.required\\\">{{validation_message.email_required | translate}}\\r\\n                                            </div>\\r\\n                                            <div style=\\\"color: red;\\\" [hidden]=\\\"!email.errors?.email\\\">{{validation_message.valid_email | translate}}\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                    </div> \\r\\n                                    <div *ngIf=\\\"edit==false\\\" class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                                        {{franchise_edit.email }}\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                <div class=\\\"row col-md-12 remove_padding\\\"><label class=\\\"col-lg-4  col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.country | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n\\r\\n                                    <div class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                                        {{franchise_edit.country_name }}\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                <div class=\\\"row col-md-12 remove_padding\\\"><label class=\\\"col-lg-4 col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.city | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n\\r\\n                                    <div class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                                        {{franchise_edit.city_name }}\\r\\n\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                <div class=\\\"row col-md-12 remove_padding\\\"><label class=\\\"col-lg-4 col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.delivery_type | translate}}<div class=\\\"pull-right translateyminus\\\">:</div></label>\\r\\n\\r\\n                                    <div class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group translatey\\\">\\r\\n                                        {{franchise_edit.store_delivery_name }}\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                 \\r\\n                                <div class=\\\"row col-md-12 remove_padding\\\"><label class=\\\"col-lg-4  col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.phone | translate}}<div class=\\\"pull-right translateyminus\\\">:</div></label>\\r\\n\\r\\n                                     <div *ngIf=\\\"edit==true\\\" class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                                        \\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"franchise_edit.phone\\\" minlength=\\\"{{minimum_phone_number_length}}\\\" (keypress)=\\\"helper.number_validation($event)\\\" maxlength=\\\"{{maximum_phone_number_length}}\\\" #phone=\\\"ngModel\\\" name=\\\"phone\\\" required/>\\r\\n                                        <div *ngIf=\\\"phone.errors && (phone.dirty || phone.touched)\\\">\\r\\n                                            <div style=\\\"color: red;\\\" [hidden]=\\\"!phone.errors.required\\\">{{validation_message.phone_required | translate}}\\r\\n                                            </div>\\r\\n                                            <div style=\\\"color: red;\\\" [hidden]=\\\"!phone.errors.minlength\\\">{{validation_message.phone_minlength | translate}}\\r\\n                                            </div>\\r\\n                                            <div style=\\\"color: red;\\\" [hidden]=\\\"!phone.errors.maxlength\\\">{{validation_message.phone_maxlength | translate}}\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                    </div> \\r\\n                                    <div *ngIf=\\\"edit==false\\\" class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group translatey\\\">\\r\\n                                         {{franchise_edit.phone}}\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n\\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n            <!--<div class=\\\"col-lg-4 col-sm-6\\\">-->\\r\\n                <!--<div class=\\\"ibox\\\">-->\\r\\n                    <!--<div class=\\\"ibox-content\\\">-->\\r\\n                        <!--<h2>65%</h2>-->\\r\\n                        <!--<h5>Completed Ratio</h5>-->\\r\\n                        <!--<div class=\\\"progress progress-mini\\\">-->\\r\\n                            <!--<div style=\\\"width: 65%;\\\" class=\\\"progress-bar\\\"></div>-->\\r\\n                        <!--</div>-->\\r\\n                    <!--</div>-->\\r\\n                <!--</div>-->\\r\\n            <!--</div>-->\\r\\n            <!--<div class=\\\"col-lg-2 col-sm-3 col-xs-6\\\">-->\\r\\n                <!--<div class=\\\"ibox\\\">-->\\r\\n\\r\\n                    <!--<div class=\\\"ibox-content wizard\\\" style=\\\"text-align: center;\\\">-->\\r\\n                        <!--<h2>65</h2>-->\\r\\n                        <!--<h5>Total Orders</h5>-->\\r\\n                    <!--</div>-->\\r\\n                <!--</div>-->\\r\\n            <!--</div>-->\\r\\n            <!--<div class=\\\"col-lg-2 col-sm-3 col-xs-6\\\">-->\\r\\n                <!--<div class=\\\"ibox\\\">-->\\r\\n\\r\\n                    <!--<div class=\\\"ibox-content wizard\\\" style=\\\"text-align: center;\\\">-->\\r\\n\\r\\n                        <!--<h2>65</h2>-->\\r\\n                        <!--<h5>Total Orders</h5>-->\\r\\n\\r\\n                    <!--</div>-->\\r\\n                <!--</div>-->\\r\\n            <!--</div>-->\\r\\n            <div class=\\\"col-lg-4\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-content\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12\\\" style=\\\"display: block\\\">\\r\\n                                <div id=\\\"c1\\\" class=\\\"c3\\\"> </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12\\\" id=\\\"chart\\\" style=\\\"margin-top: 28px;\\\">\\r\\n                                <div class=\\\"col-md-1 col-xs-1 col-sm-1 box\\\" style=\\\"padding-right: 0\\\">\\r\\n                                    <span class=\\\"fa fa-square\\\" style=\\\"font-size: 20px;color: #bb212b;\\\" ></span>\\r\\n\\r\\n\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-5 col-xs-5 col-sm-5 total\\\">\\r\\n                                    <span style=\\\"font-size: 15px; \\\">{{title.total_order | translate}}<br><span style=\\\"font-size: 20px;color: black;\\\">{{order_detail.total_orders}}</span></span>\\r\\n\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-1 col-xs-1 col-sm-1 box box1\\\" style=\\\"padding: 0\\\">\\r\\n                                    <span class=\\\"fa fa-square\\\" style=\\\"font-size: 20px;color: #1e1e1e;\\\" ></span>\\r\\n\\r\\n\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-5 col-xs-5 col-sm-5 total total1\\\" style=\\\"padding: 0\\\">\\r\\n                                    <span style=\\\"font-size: 15px; \\\">{{title.accepted_order | translate}}<br><span style=\\\"font-size: 20px;color: black;\\\">{{order_detail.accepted_orders}}</span></span>\\r\\n\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-1 col-xs-1 col-sm-1 box\\\" style=\\\"padding-right: 0\\\">\\r\\n                                    <span class=\\\"fa fa-square\\\" style=\\\"font-size: 20px;color: #bb212b;\\\" ></span>\\r\\n\\r\\n\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-5 col-xs-5 col-sm-5 total\\\">\\r\\n                                    <span style=\\\"font-size: 15px; \\\">{{title.completed_order | translate}}<br><span style=\\\"font-size: 20px;color: black;\\\">{{order_detail.completed_orders}}</span></span>\\r\\n\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-1 col-xs-1 col-sm-1 box box1\\\" style=\\\"padding: 0\\\">\\r\\n                                    <span class=\\\"fa fa-square\\\" style=\\\"font-size: 20px;color: #1e1e1e;\\\" ></span>\\r\\n\\r\\n\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-5 col-xs-5 col-sm-5 total total1\\\" style=\\\"padding: 0\\\">\\r\\n                                    <span style=\\\"font-size: 15px; \\\">{{title.cancelled_order | translate}}<br><span style=\\\"font-size: 20px;color: black;\\\">{{order_detail.cancelled_orders}}</span></span>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-lg-6 col-sm-6\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <label class=\\\"control-label\\\">{{heading_title.specification_title | translate}}</label>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content \\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-4 col-sm-4 control-label\\\">{{title.name | translate}}</label>\\r\\n                                <div class=\\\"col-lg-8 col-sm-8 form-group\\\">\\r\\n                                    <input type=\\\"text\\\" [disabled]=\\\"edit==false\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"franchise_edit.name\\\" #name=\\\"ngModel\\\" name=\\\"name\\\" required/>\\r\\n                                    <div *ngIf=\\\"name.errors && (name.dirty || name.touched)\\\">\\r\\n                                        <div style=\\\"color: red;\\\" [hidden]=\\\"!name.errors.required\\\">{{validation_message.name_required | translate}}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-4 col-sm-4 control-label\\\">Address</label>  \\r\\n                                <div class=\\\"col-lg-8 col-sm-8 form-group\\\">\\r\\n                                    <input type=\\\"text\\\" id=\\\"address\\\" [disabled]=\\\"edit==false\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"franchise_edit.address\\\" #address=\\\"ngModel\\\" name=\\\"address\\\" required/>\\r\\n                                    <div *ngIf=\\\"address.errors && (address.dirty || address.touched)\\\">\\r\\n                                        <div style=\\\"color: red;\\\" [hidden]=\\\"!address.errors.required\\\">{{validation_message.address_required | translate}}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div> \\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-4 col-sm-4 control-label\\\">{{title.latitude | translate}}</label>\\r\\n                                <div class=\\\"col-lg-4 col-sm-4 form-group\\\">\\r\\n                                    <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"franchise_edit.latitude\\\" #latitude=\\\"ngModel\\\" [disabled]=\\\"edit==false\\\" (keypress)=\\\"helper.location_validation($event)\\\" name=\\\"latitude\\\" required/>\\r\\n                                    <div *ngIf=\\\"latitude.errors && (latitude.dirty || latitude.touched)\\\">\\r\\n                                        <div style=\\\"color: red;\\\" [hidden]=\\\"!latitude.errors.required\\\">{{validation_message.latitude_required | translate}}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-lg-4 col-sm-4 form-group\\\">\\r\\n                                    <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"franchise_edit.longitude\\\" #longitude=\\\"ngModel\\\" [disabled]=\\\"edit==false\\\" (keypress)=\\\"helper.location_validation($event)\\\" name=\\\"longitude\\\" required/>\\r\\n                                    <div *ngIf=\\\"longitude.errors && (longitude.dirty || longitude.touched)\\\">\\r\\n                                        <div style=\\\"color: red;\\\" [hidden]=\\\"!longitude.errors.required\\\">{{validation_message.longitude_required | translate}}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                            <!--<div class=\\\"form-group\\\" [hidden]=\\\"store_edit.social_id !== ''\\\">-->\\r\\n                                <!--<label class=\\\"col-lg-4 col-sm-4 control-label\\\">{{title.old_password | translate}}</label>-->\\r\\n                                <!--<div class=\\\"col-lg-8 col-sm-8 form-group\\\">-->\\r\\n                                    <!--<input type=\\\"password\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_edit.old_password\\\" [disabled]=\\\"edit==false\\\" #old_password=\\\"ngModel\\\" minlength=\\\"6\\\" name=\\\"old_password\\\" required/>-->\\r\\n\\r\\n                                    <!--<div *ngIf=\\\"old_password.errors && (old_password.dirty || old_password.touched)\\\">-->\\r\\n                                        <!--<div style=\\\"color: red;\\\" [hidden]=\\\"!old_password.errors.required\\\">{{validation_message.password_required | translate}}-->\\r\\n                                        <!--</div>-->\\r\\n                                        <!--<div style=\\\"color: red;\\\" [hidden]=\\\"!old_password.errors.minlength\\\">{{validation_message.password_minlength | translate}}-->\\r\\n                                        <!--</div>-->\\r\\n                                    <!--</div>-->\\r\\n                                <!--</div>-->\\r\\n                                <!---->\\r\\n                            <!--</div>-->\\r\\n\\r\\n                            <div class=\\\"form-group\\\" [hidden]=\\\"franchise_edit.social_id !== ''\\\">\\r\\n                                <label class=\\\"col-lg-4 col-sm-4 control-label\\\">{{title.new_password | translate}}</label>\\r\\n                                <div class=\\\"col-lg-8 col-sm-8 form-group\\\">\\r\\n                                    <input type=\\\"password\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"franchise_edit.confirm_password\\\" [disabled]=\\\"edit==false\\\" #confirm_password=\\\"ngModel\\\" name=\\\"confirm_password\\\"/>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"form-group\\\" [hidden]=\\\"franchise_edit.social_id !== ''\\\">\\r\\n                                <label class=\\\"col-lg-4 col-sm-4 control-label\\\">{{title.confirm_password | translate}}</label>\\r\\n                                <div class=\\\"col-lg-8 col-sm-8 form-group\\\">\\r\\n                                    <input type=\\\"password\\\" [equalTo]=\\\"confirm_password\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"franchise_edit.new_password\\\" [disabled]=\\\"edit==false\\\" #new_password=\\\"ngModel\\\" name=\\\"new_password\\\"/>\\r\\n                                    <div *ngIf=\\\"new_password.errors\\\">\\r\\n                                        <div style=\\\"color: red;\\\" [hidden]=\\\"!new_password.errors?.equalTo\\\">{{validation_message.match_confirm_password | translate}}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-lg-6 col-sm-6\\\" id=\\\"Optiona_field\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <label class=\\\"control-label\\\">{{heading_title.specification_title | translate}}</label>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content \\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-4 col-sm-4 control-label\\\">{{title.website_url | translate}}</label>\\r\\n                                <div class=\\\"col-lg-8 col-sm-8 form-group\\\">\\r\\n                                    <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"franchise_edit.website_url\\\" [disabled]=\\\"edit==false\\\" #website_url=\\\"ngModel\\\" name=\\\"website_url\\\"/>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-4 col-sm-4 control-label\\\">{{title.famous_for | translate}}</label>\\r\\n                                <div class=\\\"col-lg-8 col-sm-8 form-group\\\">\\r\\n                                    <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"franchise_edit.famous_for\\\" [disabled]=\\\"edit==false\\\" #famous_for=\\\"ngModel\\\" name=\\\"famous_for\\\"/>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-4 col-sm-4 control-label\\\">{{title.slogan | translate}}</label>\\r\\n                                <div class=\\\"col-lg-8 col-sm-8 form-group\\\">\\r\\n                                    <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"franchise_edit.slogan\\\" [disabled]=\\\"edit==false\\\" #slogan=\\\"ngModel\\\" name=\\\"slogan\\\"/>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-4 col-sm-4 control-label\\\">{{title.offer | translate}}</label>\\r\\n                                <div class=\\\"col-lg-8 col-sm-8 form-group\\\">\\r\\n                                    <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"franchise_edit.offer\\\" [disabled]=\\\"edit==false\\\" #offer=\\\"ngModel\\\" name=\\\"offer\\\"/>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n           \\r\\n        </div>\\r\\n    </div>\\r\\n</form>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-sm\\\" #myModal id=\\\"otp_model\\\">\\r\\n    <form #modalForm=\\\"ngForm\\\" (ngSubmit)=\\\"otp_var(modalForm.value)\\\">\\r\\n        <modal-header [show-close]=\\\"false\\\">\\r\\n            <h4 class=\\\"modal-title\\\">{{title.verification | translate}}!</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div [ngSwitch]=\\\"opt_error_message\\\">\\r\\n                <div *ngSwitchCase=1>\\r\\n                    <label style=\\\"color: red;\\\">{{validation_message.email_otp_wrong | translate}}</label>\\r\\n                </div>\\r\\n                <div *ngSwitchCase=2>\\r\\n                    <label style=\\\"color: red;\\\">{{validation_message.sms_otp_erong | translate}}</label>\\r\\n                </div>\\r\\n                <div *ngSwitchCase=3>\\r\\n                    <label style=\\\"color: red;\\\">{{validation_message.otp_wrong | translate}}</label>\\r\\n                </div>\\r\\n            </div>\\r\\n                <div class=\\\"form-group\\\" id=\\\"otp_for_sms\\\">\\r\\n                    <label>{{title.sms_otp | translate}}</label>\\r\\n                    <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"sms_otp\\\" name=\\\"sms_otp\\\" >\\r\\n                </div>\\r\\n                <div class=\\\"form-group\\\" id=\\\"otp_for_email\\\">\\r\\n                    <label>{{title.email_otp | translate}}</label>\\r\\n                    <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"email_otp\\\" name=\\\"email_otp\\\" >\\r\\n                </div>\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{button.submit | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-sm\\\" #oldPasswordModal id=\\\"old_passwrod\\\">\\r\\n    <form #oldPasswordForm=\\\"ngForm\\\" (ngSubmit)=\\\"old_password_update(oldPasswordForm.value)\\\">\\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <h4 class=\\\"modal-title\\\">{{title.old_password | translate}}</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n\\r\\n            <div class=\\\"form-group\\\">\\r\\n                <label>{{title.old_password | translate}}</label>\\r\\n                <input type=\\\"password\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"franchise_edit.old_password\\\" #old_password=\\\"ngModel\\\" minlength=\\\"6\\\" name=\\\"old_password\\\" required/>\\r\\n\\r\\n                <div *ngIf=\\\"old_password.errors && (old_password.dirty || old_password.touched)\\\">\\r\\n                <div style=\\\"color: red;\\\" [hidden]=\\\"!old_password.errors.required\\\">{{validation_message.password_required | translate}}\\r\\n                </div>\\r\\n                <div style=\\\"color: red;\\\" [hidden]=\\\"!old_password.errors.minlength\\\">{{validation_message.password_minlength | translate}}\\r\\n                </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{button.submit | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/franchise/profile/profile.component.html\n// module id = 1680\n// module chunks = 0","module.exports = \"<style type=\\\"text/css\\\">\\r\\n    .scrollbar\\r\\n{\\r\\n    height: 245px;\\r\\n    background: #fff;\\r\\n    overflow-y: auto;\\r\\n}\\r\\n\\r\\n.scrollbar::-webkit-scrollbar-track\\r\\n{\\r\\n    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);\\r\\n    background-color: #fff;\\r\\n}\\r\\n\\r\\n.scrollbar::-webkit-scrollbar\\r\\n{\\r\\n    width: 6px;\\r\\n    background-color: #F5F5F5;\\r\\n}\\r\\n\\r\\n.scrollbar::-webkit-scrollbar-thumb\\r\\n{\\r\\n    background-color: #000000;\\r\\n}\\r\\n\\r\\n</style>\\r\\n<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\" style=\\\"right: 0;left: 0;\\\">\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n       <form #specificationForm=\\\"ngForm\\\" (ngSubmit)=\\\"addSpecificationGroup(specificationForm.value)\\\">\\r\\n            \\r\\n            <div class=\\\"col-md-4 col-sm-6 col-xs-12 pull-right\\\">\\r\\n                <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n                    <input type=\\\"text\\\" class=\\\"form-control spec_group_text_box\\\" (keyup)=\\\"checkSpecification(specification_name)\\\" placeholder=\\\"{{title.specification_name | translate}}\\\" [(ngModel)]=\\\"specification_name\\\"  name=\\\"specification_name\\\" required/>\\r\\n                    <label class=\\\"control-label\\\" [hidden]=\\\"spec_already==0\\\">{{message.specification_already_added | translate}}</label>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n                    <button [disabled]=\\\"spec_already==1\\\" class=\\\"btn add_btn\\\">{{button.add | translate}}<span class=\\\"fa fa-plus\\\" style=\\\"margin-left: 8px;\\\"></span></button>\\r\\n                </div>\\r\\n            </div>\\r\\n            \\r\\n        </form>\\r\\n    </div>\\r\\n\\r\\n</div>\\r\\n<div class=\\\"wrapper content_top_bar_view wrapper-content animated fadeInRight\\\">\\r\\n    \\r\\n    \\r\\n    <div *ngFor=\\\"let specification_group of specification_list; let specification_group_index=index;\\\" >\\r\\n        <div [class.row]=\\\"(specification_group_index+1)%4==0\\\">\\r\\n            <div class=\\\"col-lg-3\\\" style=\\\"padding-left: 10px; padding-right: 10px;\\\">\\r\\n            <form #spec=\\\"ngForm\\\" enctype='multipart/form-data' >\\r\\n                <div class=\\\"ibox float-e-margins\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <input type=\\\"hidden\\\" [(ngModel)]=\\\"edit_specification_group[specification_group_index]\\\" name=\\\"edit_specification_group\\\">\\r\\n\\r\\n                        <input type=\\\"hidden\\\" [(ngModel)]=\\\"hide_specification_group[specification_group_index]\\\" name=\\\"hide_specification_group\\\">\\r\\n\\r\\n                        <h5 style=\\\"font-weight: bold;\\\">{{specification_group.name}}</h5>\\r\\n                        <span (click)=\\\"deleteSpecification_group(specification_group._id , specification_group_index)\\\" class=\\\"fa fa-times pull-right\\\"></span>\\r\\n\\r\\n                        <span *ngIf=\\\"edit_specification_group[specification_group_index]=='false'\\\" class=\\\"fa fa-pencil pull-right\\\" (click)=\\\"editSpecification(specification_group._id , specification_group_index)\\\"></span>\\r\\n\\r\\n                        <span *ngIf=\\\"edit_specification_group[specification_group_index]=='true'\\\" class=\\\"fa fa-check pull-right\\\" (click)=\\\"updateSpecification(specification_group._id , specification_group_index)\\\"></span>\\r\\n\\r\\n                        <span *ngIf=\\\"hide_specification_group[specification_group_index]=='true'\\\" class=\\\"fa fa-chevron-left pull-right\\\" (click)=\\\"show_specifications_group(specification_group_index)\\\"></span>\\r\\n\\r\\n                        <span *ngIf=\\\"hide_specification_group[specification_group_index]=='false'\\\" class=\\\"fa fa-chevron-down pull-right\\\" (click)=\\\"hide_specifications_group(specification_group_index)\\\"></span>\\r\\n\\r\\n\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content no-padding\\\">\\r\\n                         <div class=\\\"scrollbar\\\" id=\\\"spec_list{{specification_group_index}}\\\">\\r\\n                          \\r\\n                        \\r\\n                            <form #specificationForm=\\\"ngForm\\\" enctype='multipart/form-data' >\\r\\n                                \\r\\n                                <div *ngIf=\\\"edit_specification_group[specification_group_index]=='true'\\\">\\r\\n                                    <ul class=\\\"list-group\\\" *ngFor=\\\"let specification of specification_name_array; let specification_index=index; \\\">\\r\\n\\r\\n                                    \\r\\n                                        <li class=\\\"list-group-item spec_list\\\">\\r\\n                                            <span *ngIf=\\\"edit_specification_group[specification_group_index]=='true'\\\" (click)=\\\"deleteSpecification('' , specification_group_index ,specification_index)\\\" class=\\\"fa fa-times pull-right\\\"></span>\\r\\n                                            <div >\\r\\n                                                <input type=\\\"text\\\" class=\\\"\\\" [(ngModel)]=\\\"specification_name_arrays[specification_index]\\\" name=\\\"{{specification_index}}\\\">\\r\\n                                                \\r\\n\\r\\n                                            </div>\\r\\n                                        </li>\\r\\n                                    </ul>\\r\\n                                </div>\\r\\n\\r\\n                                <ul class=\\\"list-group\\\" *ngFor=\\\"let specification of specification_group.list; let specification_index=index; \\\">\\r\\n\\r\\n                                    <li class=\\\"list-group-item spec_list\\\">\\r\\n                                        <span *ngIf=\\\"edit_specification_group[specification_group_index]=='true'\\\" (click)=\\\"deleteSpecification(specification._id , specification_group_index ,specification_index)\\\" class=\\\"fa fa-times pull-right\\\"></span>\\r\\n                                        <div *ngIf=\\\"specification.name!=''\\\">\\r\\n                                            {{specification.name}}\\r\\n                                        </div>\\r\\n                                    </li>\\r\\n                                </ul>\\r\\n                                \\r\\n                            </form>\\r\\n                        </div>\\r\\n                        <div *ngIf=\\\"edit_specification_group[specification_group_index]=='true'\\\" class=\\\"add_spec_div\\\">\\r\\n\\r\\n                            <button (click)=\\\"append_specification(specification_group_index)\\\" class=\\\"btn add_btn\\\">Add Specification<span class=\\\"fa fa-plus\\\" style=\\\"margin-left: 8px;\\\"></span></button>\\r\\n                    \\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </form>\\r\\n            </div>\\r\\n        </div>\\r\\n            \\r\\n    </div>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/franchise/specification/specification.component.html\n// module id = 1681\n// module chunks = 0","module.exports = \" <footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n    <div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n                <div class=\\\"col-md-12 remove_padding\\\">\\r\\n                    <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                        <select chosen class=\\\"chosen-select\\\" [(ngModel)]=\\\"selected_product\\r\\n                                \\\" name=\\\"selected_product\\\" id=\\\"selected_product\\\" tabindex=\\\"4\\\">\\r\\n                            <option>{{title.all | translate}}</option>\\r\\n                            <option *ngFor=\\\"let product_data of product_list\\\" value=\\\"{{product_data._id}}\\\">{{product_data.name}}</option>\\r\\n\\r\\n                        </select>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n            <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n                <div class=\\\"col-md-12 remove_padding\\\">\\r\\n                    <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                        <div class=\\\"input-group\\\">\\r\\n\\r\\n                            <input type=\\\"text\\\" (keyup)=\\\"filter_product(filter_product_name)\\\" class=\\\"form-control search_box\\\" [(ngModel)]=\\\"filter_product_name\\\" placeholder=\\\"{{title.item_name | translate}}\\\" style=\\\"color:#000000;\\\" name=\\\"filter_product_name\\\">\\r\\n                            <span class=\\\"input-group-addon search_icon\\\"><span class=\\\"fa fa-search\\\"></span></span>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n            <div class=\\\"col-md-3 col-sm-12 pull-right\\\">\\r\\n                <div class=\\\"col-md-6 col-sm-6 add_btn_div\\\">\\r\\n                    <a [routerLink]=\\\"['/store/add_item']\\\" class=\\\"pull-right\\\"> <button class=\\\"btn add_btn pull-right\\\">{{button.add_item | translate}}<span class=\\\"fa fa-plus pull-right\\\" style=\\\"margin-top: 2px;\\\"></span></button></a>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n    <div class=\\\"wrapper content_top_bar_view wrapper-content animated fadeInRight\\\">\\r\\n\\r\\n              \\r\\n        <div class=\\\"row\\\" *ngFor=\\\"let product_data of filtered_product_list\\\">\\r\\n            <div class=\\\"col-md-12 \\\" [hidden]=\\\"product_data.items.length == 0 || (selected_product!== (title.all | translate) && selected_product!==product_data._id) \\\" style=\\\"margin-bottom: 10px; padding: 0px;\\\">\\r\\n                <label class=\\\"control-label label label-danger\\\" style=\\\"font-size: 20px;\\\">{{product_data.name}}</label>  \\r\\n            </div>\\r\\n             \\r\\n             \\r\\n            <div *ngFor=\\\"let i of product_data.items\\\" [hidden]=\\\"selected_product !== (title.all | translate) && selected_product!==product_data._id \\\">\\r\\n                <div class=\\\"col-md-4 col-sm-6\\\" style=\\\"padding : 0px; padding-right: 2px;\\\">\\r\\n                    <div class=\\\"contact-box\\\" style=\\\"padding-left: 0px; padding-right: 0px;\\\">\\r\\n                        <a (click)=\\\"editItem(i._id, $event)\\\" >\\r\\n                            <div class=\\\"col-md-4 col-xs-4 div1\\\" style=\\\"text-align: center; padding-left: 0px; padding-right: 0px;\\\">\\r\\n                                     <img class=\\\"img-circle m-t-sm img-responsive\\\" src=\\\"{{i.image_url[0] != undefined ? i.image_url[0] : 'default.png'}}\\\" style=\\\"border-radius: 20%; display: inline; width:100px; height: 100px;\\\">\\r\\n\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-8 col-xs-8 div2\\\" style=\\\"padding-left: 0px; padding-right: 0px;\\\">\\r\\n                                <div class=\\\"col-md-9 col-xs-9\\\" style=\\\"height: 24px; overflow: hidden;\\\">\\r\\n                                    <h3><strong>{{i.name}}</strong></h3>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-3 col-xs-3\\\" >\\r\\n                                    <h3><strong style=\\\"float: right;\\\">{{currency}}{{i.price}}</strong></h3>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-9 col-xs-9\\\">\\r\\n                                    <p>{{i.specifications.length}} {{title.specifications | translate}}</p>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-3 col-xs-3\\\">\\r\\n                                    <ui-switch (change)=\\\"onChange(i._id, $event)\\\" style=\\\"float: right;\\\" [(ngModel)]=\\\"i.is_item_in_stock\\\" name=\\\"is_item_in_stock\\\"></ui-switch>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-12 col-xs-12\\\" style=\\\"height: 57px; overflow: hidden;\\\">\\r\\n                                    <address>\\r\\n                                        {{i.details}}\\r\\n                                    </address>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"clearfix\\\"></div>\\r\\n                        </a>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/franchise/store_item/store_item.component.html\n// module id = 1682\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.search | translate}}</label>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"search_field\\\" [(ngModel)]=\\\"search_field\\\" name=\\\"search_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"name\\\">{{title.filter_name | translate}}</option>\\r\\n                        <option value=\\\"email\\\">{{title.filter_email | translate}}</option>\\r\\n                        <option value=\\\"city_details.city_name\\\">{{title.filter_city | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n\\r\\n                        <input type=\\\"text\\\" class=\\\"form-control search_box\\\" [(ngModel)]=\\\"search_value\\\"  name=\\\"search_value\\\">\\r\\n                        <span class=\\\"input-group-addon search_icon\\\"><span class=\\\"fa fa-search\\\"></span></span>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.sort | translate}}</label>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"sort_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"sort_field\\\" [(ngModel)]=\\\"sort_field\\\" name=\\\"sort_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"unique_id\\\">{{title.filter_id | translate}}</option>\\r\\n                        <option value=\\\"name\\\">{{title.filter_name | translate}}</option>\\r\\n                        <option value=\\\"email\\\">{{title.filter_email | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"sort_orders\\\">\\r\\n\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"sort_store\\\" [(ngModel)]=\\\"sort_store\\\" name=\\\"sort_store\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"1\\\">{{title.ascending | translate}}</option>\\r\\n                        <option value=\\\"-1\\\">{{title.descending | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"filter(1)\\\" class=\\\"btn filter_apply_btn pull-right\\\" value=\\\"{{button.apply | translate}}\\\" >\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"addStore()\\\" class=\\\"btn export_excel_btn pull-right\\\" value=\\\"{{button.add_store}}\\\" >\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n\\r\\n    </div>\\r\\n\\r\\n</div>\\r\\n\\r\\n\\r\\n\\r\\n<div class=\\\"wrapper wrapper-content content_top_bar_view1 animated fadeInRight \\\">    \\r\\n\\r\\n    <div class=\\\"ibox\\\" *ngIf=\\\"store_list.length==0\\\">\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n            <div class=\\\"lable_center\\\" >\\r\\n                <label>No Records</label>\\r\\n            </div>\\r\\n        </div> \\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"row\\\" *ngIf=\\\"store_list.length > 0\\\">\\r\\n        <div *ngFor=\\\"let i of store_list\\\" >\\r\\n            <div class=\\\"col-lg-2 col-md-3 col-sm-6 col-xs-12 user_profile\\\" style=\\\"padding : 0px; padding-right: 16px;\\\">\\r\\n                <div class=\\\"contact-box center-version\\\">\\r\\n\\r\\n                    <a>\\r\\n                        <div class=\\\"dropdown pull-right\\\" dropdown>\\r\\n                            <a class=\\\"pull-right\\\" dropdown-open><i class=\\\"fa fa-ellipsis-v\\\" style=\\\"font-size:20px;color:#676a6c;\\\"></i></a>\\r\\n\\r\\n\\r\\n                            <ul class=\\\"pull-right dropdown-menu animated fadeIntop m-t-xs\\\" dropdown>\\r\\n                                <li><a (click)=\\\"editStore(i._id)\\\"><span style=\\\"display:block;\\\" class=\\\"nav-label\\\">{{button.edit_detail | translate}}</span> </a></li>\\r\\n                                <li><a (click)=\\\"viewStoreDetail(i._id)\\\"><span class=\\\"nav-label\\\">{{button.view_detail}}</span> </a></li>\\r\\n                                <!--<li><a (click)=\\\"viewHistory(i._id,3)\\\"><span style=\\\"display:block;\\\" class=\\\"nav-label\\\">{{button.history | translate}}</span> </a></li>-->\\r\\n                                <!--<li><a (click)=\\\"viewDocument(i._id, 2)\\\"><span style=\\\"display:block;\\\" class=\\\"nav-label\\\">{{button.view_document | translate}}</span> </a></li>-->\\r\\n                                <li *ngIf='i.is_approved == true' ><a (click)=\\\"approved_decline(store_page_type,i._id)\\\" ><span style=\\\"display:block;\\\" class=\\\"nav-label\\\">{{button.decline | translate}}</span> </a></li>\\r\\n                                <li *ngIf='i.is_approved == false' ><a (click)=\\\"approved_decline(store_page_type,i._id)\\\" ><span style=\\\"display:block;\\\" class=\\\"nav-label\\\">{{button.approved | translate }}</span> </a></li>\\r\\n\\r\\n                                <!--<li *ngIf='i.is_approved == true && i.is_business == false'><a (click)=\\\"approved_decline(store_page_type,i._id)\\\"><span  style=\\\"display:block;\\\" class=\\\"nav-label\\\">{{button.decline | translate}}</span> </a></li>-->\\r\\n                                <li><a (click)=\\\"viewItems(i._id)\\\"><span  style=\\\"display:block;\\\" class=\\\"nav-label\\\">View Items</span> </a></li>\\r\\n\\r\\n                                <li><a (click)=\\\"open_notification_modal(type,i._id)\\\" ><span style=\\\"display:block;\\\" class=\\\"nav-label\\\">{{button.send_notification | translate}}</span> </a></li>\\r\\n                            </ul>\\r\\n                        </div>\\r\\n                        <img *ngIf='i.image_url!==\\\"\\\"' class=\\\"img-circle\\\" src=\\\"{{i.image_url}}\\\">\\r\\n\\r\\n                        <img *ngIf='i.image_url==\\\"\\\"' class=\\\"img-circle\\\" src=\\\"default.png\\\">\\r\\n\\r\\n                        <div>\\r\\n                            <h3 class=\\\"m-b-xs\\\"><strong>{{i.name}}</strong></h3>\\r\\n\\r\\n                            <div class=\\\"font-bold\\\" style=\\\"height: 50px; overflow-x: hidden;\\\">{{i.email}}</div>\\r\\n\\r\\n                            <!--                            <div style=\\\"height: 60px; overflow-y: hidden;\\\">\\r\\n                                                            <address class=\\\"m-t-md\\\">\\r\\n                                                                {{i.email}}\\r\\n                                                            </address>\\r\\n                                                        </div>-->\\r\\n                            <address class=\\\"m-t-md\\\">\\r\\n                                <strong>{{i.city_details.city_name}}</strong><br>\\r\\n                                <strong>{{i.delivery_details.delivery_name}}</strong><br>\\r\\n                                \\r\\n                                <abbr title=\\\"Phone\\\">{{title.phone | translate}}:</abbr> {{i.country_phone_code + i.phone}}<a class=\\\"btn btn-xs btn-white pull-right\\\" tooltip=\\\"Send SMS\\\"\\r\\n                                                                                                                             [tooltipDisabled]=\\\"false\\\"\\r\\n                                                                                                                             [tooltipAnimation]=\\\"true\\\"\\r\\n                                                                                                                             tooltipPlacement=\\\"top\\\"  (click)=\\\"open_sms_modal(type,i._id)\\\"><i class=\\\"fa fa-comments\\\"></i></a>\\r\\n                            </address>\\r\\n                        </div>\\r\\n\\r\\n                    </a>\\r\\n\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n\\r\\n    </div>\\r\\n    <div class=\\\"ibox\\\" *ngIf=\\\"store_list.length>0\\\">\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n            <div class=\\\"row\\\">\\r\\n\\r\\n                <div class=\\\"col-md-12 col-sm-12\\\" style=\\\"margin-top: 6px;\\\">\\r\\n                    <div class=\\\"lable_center\\\">\\r\\n\\r\\n\\r\\n                        <ul class=\\\"pagination\\\">\\r\\n                            <li *ngIf=\\\"page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"filter(page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                            <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page==index\\\">\\r\\n                                <a *ngIf=\\\"index==1 || index==total_page || index==page || index==page-1 || index==page+1\\\" (click)=\\\"filter(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                                <a *ngIf=\\\"(index==1 && (page!==1 && page!==2 && page!==3)) || (index==total_page-1 && (page!==total_page && page!==total_page-1 && page!==total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n\\r\\n                            </li>\\r\\n                            <li *ngIf=\\\"page!==total_page && store_list.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"filter(page+1)\\\">{{button.next | translate}}</a></li>\\r\\n                        </ul>\\r\\n\\r\\n\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl\\\" #mysmsModal>\\r\\n    <form #modalSmsForm=\\\"ngForm\\\" (ngSubmit)=\\\"SendSms(modalSmsForm.value)\\\">\\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <h4 class=\\\"modal-title\\\">{{heading_title.admin_sms | translate}}</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div class=\\\"row\\\">\\r\\n                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"type\\\"   name=\\\"type\\\"  />\\r\\n                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_id\\\"   name=\\\"store_id\\\"  />\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                    <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                        <div class=\\\"form-group\\\" >\\r\\n\\r\\n                            <label style=\\\"font-weight: normal;\\\"><strong>{{title.content | translate}}</strong></label>\\r\\n                            <textarea class=\\\"form-control\\\" [(ngModel)]=\\\"content\\\"   name=\\\"content\\\" required ></textarea>\\r\\n\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{button.send | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\\r\\n\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl\\\" #mynotificationModal>\\r\\n    <form #modalNotificationForm=\\\"ngForm\\\" (ngSubmit)=\\\"SendNotification(modalNotificationForm.value)\\\">\\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <h4 class=\\\"modal-title\\\">{{heading_title.admin_send_notification | translate}}</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div class=\\\"row\\\">\\r\\n                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"type\\\"   name=\\\"type\\\"  />\\r\\n                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_id\\\"   name=\\\"store_id\\\"  />\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                    <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                        <div class=\\\"form-group\\\" >\\r\\n\\r\\n                            <label style=\\\"font-weight: normal;\\\"><strong>{{title.notification_content | translate}}</strong></label>\\r\\n                            <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"content\\\" name=\\\"content\\\" required />\\r\\n\\r\\n\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{button.send | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/franchise/stores/stores.component.html\n// module id = 1683\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>   \\r\\n<div *ngIf=\\\"order_id!==''\\\" class=\\\"wrapper wrapper-content animated fadeInRight content_top_bar\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n       <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-content ibox-content-map\\\">\\r\\n                    <!-- <sebm-google-map [latitude]=\\\"latitude\\\" [longitude]=\\\"longitude\\\" [draggable]=\\\"false\\\" [disableDoubleClickZoom]=\\\"false\\\" [streetViewControl]=\\\"false\\\" [scrollwheel]=\\\"false\\\" [zoom]=\\\"zoom\\\">\\r\\n                        <sebm-google-map-marker [iconUrl]=\\\"'map_pin_images/Deliveryman/deliveryman_online.png'\\\" [latitude]=\\\"latitude\\\" [longitude]=\\\"longitude\\\">\\r\\n                            \\r\\n                            <sebm-google-map-info-window>\\r\\n                                <p style=\\\"font-weight: bold;\\\">{{title.name | translate}}: {{provider_name}}</p>\\r\\n                                <p style=\\\"font-weight: bold;\\\">{{title.email | translate}}: {{provider_email}}</p>\\r\\n                                <p style=\\\"font-weight: bold;\\\">{{title.phone | translate}}: {{provider_phone}}</p>\\r\\n                            </sebm-google-map-info-window>\\r\\n                        </sebm-google-map-marker>\\r\\n                    </sebm-google-map> -->\\r\\n            </div>\\r\\n       </div>\\r\\n    </div>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/franchise/track_delivery_man/track_delivery_man.component.html\n// module id = 1684\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n\\r\\n<div class=\\\"wrapper wrapper-content animated fadeInRight \\\">\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n\\r\\n        <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\" style=\\\"font-weight: bold;\\\">\\r\\n                    <h4 class=\\\"pull-right\\\">{{currency_sign}}{{order_total}}</h4>\\r\\n                    <span style=\\\"position: absolute; left:48%;\\\">(<strong>{{total_item}}</strong>) {{title.items | translate}}</span>\\r\\n                    <h5>{{heading_title.order_detail | translate}}</h5>\\r\\n                </div>\\r\\n                <div class=\\\"ibox-content\\\" *ngFor=\\\"let products of order_detail; let product_index=index; \\\">\\r\\n\\r\\n\\r\\n                    <div class=\\\"row\\\" style=\\\"border-bottom: 1px solid;\\\" *ngFor=\\\"let item of products.items; let odd=odd; let item_index=index; \\\">\\r\\n\\r\\n                        <div class=\\\"col-md-12 col-sm-12\\\" style=\\\"padding: 0;\\\">\\r\\n                            <div class=\\\"table-responsive\\\">\\r\\n                                <table class=\\\"table shoping-cart-table\\\">\\r\\n\\r\\n                                <thead style=\\\"border-bottom: 1px solid;\\\">\\r\\n                                    <tr>\\r\\n                                        <th style=\\\"width: 55%;padding-top: 12px;\\\">{{title.item | translate}}{{item_index+1}}</th>\\r\\n                                        <th style=\\\"text-align: center;padding-top: 12px;\\\">{{title.spec | translate}} {{title.price | translate}}</th>\\r\\n                                        <th style=\\\"text-align: center;padding-top: 12px;\\\">{{title.price | translate}}</th>\\r\\n                                        <th style=\\\"text-align: center;padding-top: 12px;\\\">{{title.qty | translate}}</th>\\r\\n                                        <th style=\\\"text-align: center;padding-top: 12px;\\\">{{title.total | translate}}</th>\\r\\n                                    </tr>\\r\\n                                </thead>\\r\\n\\r\\n\\r\\n                                <tbody>\\r\\n                                    <tr>\\r\\n                                        <td style=\\\"padding-top: 20px;width: 55%;\\\">\\r\\n                                            <div style=\\\"display: -webkit-box;\\\">\\r\\n                                                <img class=\\\"\\\" style=\\\"height: 80px;width: 80px;border-radius: 10px;\\\"  src=\\\"{{item.image_url[0]}}\\\">\\r\\n                                                <div style=\\\"    margin-left: 10px;\\\">\\r\\n                                                    <h3>{{item.item_name}}</h3>\\r\\n                                                    <p class=\\\"small\\\" style=\\\"height: 30px; overflow-y: hidden;\\\">\\r\\n                                                        {{item.details}}\\r\\n                                                    </p>\\r\\n                                                </div>\\r\\n                                            </div>\\r\\n                                        </td>\\r\\n                                        <td style=\\\"padding-top: 20px;text-align: center;\\\">{{currency_sign}}{{item.total_specification_price}}</td>\\r\\n                                        <td style=\\\"padding-top: 20px;text-align: center;\\\">{{currency_sign}}{{item.item_price}}</td>\\r\\n                                        <td style=\\\"padding-top: 20px;text-align: center;\\\">{{item.quantity}}</td>\\r\\n                                        <td style=\\\"padding-top: 20px;text-align: center;\\\">{{currency_sign}}{{(item.item_price + item.total_specification_price)*item.quantity}}</td>\\r\\n                                        <!--<td>-->\\r\\n                                            <!--<h4>{{currency_sign}}{{(item.item_price + item.total_specification_price)*item.quantity}}</h4>-->\\r\\n                                        <!--</td>-->\\r\\n                                    </tr>\\r\\n                                </tbody>\\r\\n                            </table>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-6 col-sm-12 col-xs-12\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\" style=\\\"padding: 0px;\\\">\\r\\n                                    <div class=\\\"col-md-4 col-sm-8 col-xs-8\\\"><h4 style=\\\"font-weight: bold;\\\">{{title.specifications | translate}}</h4></div>\\r\\n                                    <!--<div class=\\\"col-md-2 col-sm-4 col-xs-4\\\"><h4>{{item.total_specification_price}}{{currency_sign}}</h4></div>-->\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div *ngFor=\\\"let specification_group of item.specifications; let odd=odd;\\\" [class.row]=\\\"odd\\\" style=\\\"margin: 0;\\\">\\r\\n                                <div class=\\\"row\\\">\\r\\n                                    <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\" style=\\\"padding: 0px;\\\">\\r\\n                                        <div class=\\\"col-md-12\\\" style=\\\"padding: 0;border-bottom: 1px solid #dcdcdc;\\\">\\r\\n                                            <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5>{{specification_group.name}}</h5></div>\\r\\n                                            <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;\\\">{{currency_sign}}{{specification_group.price}}</h5></div>\\r\\n                                        </div>\\r\\n\\r\\n                                        <div class=\\\"col-md-12\\\" *ngFor=\\\"let specification of specification_group.list\\\">\\r\\n                                            <div style=\\\"padding: 0;\\\" class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h6 style=\\\"font-size: 13px;\\\">{{specification.name}}</h6></div>\\r\\n                                            <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\" style=\\\"padding: 0;\\\"><h6 style=\\\"font-size: 13px;float: right;\\\">{{currency_sign}}{{specification.price}}</h6></div>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-6 col-sm-12 col-xs-12\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\">\\r\\n                                    <h4 style=\\\"font-weight: bold;\\\">{{title.item_note_here | translate}}</h4>\\r\\n                                    <p class=\\\"small\\\">\\r\\n                                        {{item.note_for_item }}\\r\\n                                    </p>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n\\r\\n    </div>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/franchise/view_cart/view_cart.component.html\n// module id = 1685\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>   \\r\\n<div class=\\\"row wrapper content_top_bar border-bottom white-bg page-heading\\\">\\r\\n\\r\\n    <div class=\\\"col-lg-12\\\">\\r\\n        <div class=\\\"col-md-4 col-sm-12 col-xs-12\\\">\\r\\n            <h3>{{heading_title.invoice_no | translate}}: {{invoice_number}}</h3>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4 col-sm-6 col-xs-6\\\">\\r\\n            <h3>{{title.date | translate}}: {{completed_at| date: \\\"dd MMM yyyy\\\"}}</h3>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4 col-sm-6 col-xs-6\\\">\\r\\n            <span class=\\\"pull-right\\\"><a class=\\\"btn btn-primary\\\" (click)=\\\"viewInvoice(order_id)\\\">{{button.view_full_invoice | translate}}</a></span>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n</div>\\r\\n<div class=\\\"wrapper wrapper-content animated fadeInRight \\\">\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-lg-4 col-sm-4\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-md-12 lable_center\\\">\\r\\n\\r\\n                            <h2 >{{total_order_price}}</h2>\\r\\n                            <label class=\\\"control-label\\\" >{{title.order_payment | translate}}</label> \\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-lg-4 col-sm-4\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-md-12 lable_center\\\">\\r\\n\\r\\n                            <h2>{{total_delivery_price}}</h2>\\r\\n                            <label class=\\\"control-label\\\">{{title.delivery_payment | translate}}</label> \\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-lg-4 col-sm-4\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-md-12 lable_center\\\">\\r\\n\\r\\n                            <h2 *ngIf=\\\"is_payment_mode_cash == false\\\" >{{card_payment}}</h2>\\r\\n                            <h2 *ngIf=\\\"is_payment_mode_cash == true\\\" >{{cash_payment}}</h2>\\r\\n\\r\\n                            <label class=\\\"control-label\\\">{{title.user_payment | translate}}</label> \\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\" style=\\\"padding-left: 0px; padding-right: 0px;\\\">\\r\\n\\r\\n            <div class=\\\"col-md-12 col-sm-4\\\" >\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <label class=\\\"control-label\\\">{{heading_title.user_detail | translate}}</label>  \\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12\\\"><label class=\\\"col-md-4 col-sm-4 col-xs-4 control-label\\\">{{title.name | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n\\r\\n                                <div class=\\\"col-md-8 col-sm-8 col-xs-8 form-group\\\">\\r\\n                                    {{user_name}}\\r\\n                                </div> \\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12\\\"><label class=\\\"col-md-4 col-sm-4 col-xs-4 control-label\\\">{{title.email | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n\\r\\n                                <div class=\\\"col-md-8 col-sm-8 col-xs-8 form-group\\\">\\r\\n                                    {{user_email}}\\r\\n                                </div> \\r\\n                            </div>\\r\\n                            \\r\\n\\r\\n\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\" col-md-12 col-sm-4\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <label class=\\\"control-label\\\">{{heading_title.order_user_detail | translate}}</label>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12\\\"><label class=\\\"col-md-4 col-sm-4 col-xs-4 control-label\\\">{{title.name | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n\\r\\n                                <div class=\\\"col-md-8 col-sm-8 col-xs-8 form-group\\\">\\r\\n                                    {{order_user_name}}\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12\\\"><label class=\\\"col-md-4 col-sm-4 col-xs-4 control-label\\\">{{title.email | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n\\r\\n                                <div class=\\\"col-md-8 col-sm-8 col-xs-8 form-group\\\">\\r\\n                                    {{order_user_phone}}\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12\\\"><label class=\\\"col-md-4 col-sm-4 col-xs-4 control-label\\\">{{title.address | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n\\r\\n                                <div class=\\\"col-md-8 col-sm-8 col-xs-8 form-group\\\">\\r\\n                                    {{destination_address}}\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\" col-md-12 col-sm-4\\\" *ngIf=\\\"!is_user_pick_up_order\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <label class=\\\"control-label\\\">{{heading_title.provider_detail | translate}}</label>  \\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12\\\"><label class=\\\"col-md-4 col-sm-4 col-xs-4 control-label\\\">{{title.name | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n\\r\\n                                <div class=\\\"col-md-8 col-sm-8 col-xs-8 form-group\\\">\\r\\n                                    {{provider_name}}\\r\\n                                </div> \\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12\\\"><label class=\\\"col-md-4 col-sm-4 col-xs-4 control-label\\\">{{title.email | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n\\r\\n                                <div class=\\\"col-md-8 col-sm-8 col-xs-8 form-group\\\">\\r\\n                                    {{provider_email}}\\r\\n                                </div> \\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12\\\"><label class=\\\"col-md-4 col-sm-4 col-xs-4 control-label\\\">{{title.vehicle | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n\\r\\n                                <div class=\\\"col-md-8 col-sm-8 col-xs-8 form-group\\\">\\r\\n                                    {{provider_vehicle}}\\r\\n                                </div> \\r\\n                            </div>\\r\\n\\r\\n\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            \\r\\n        </div>\\r\\n        <div class=\\\"col-md-8 col-sm-12\\\">\\r\\n\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\">\\r\\n                    <h4 class=\\\"pull-right\\\">{{currency_sign}}{{order_total}}</h4>\\r\\n                    <span style=\\\"position: absolute; left:48%;\\\">(<strong>{{total_item}}</strong>) {{title.items | translate}}</span>\\r\\n                    <h5>{{heading_title.order_detail | translate}}</h5>\\r\\n                </div>\\r\\n                <div class=\\\"ibox-content\\\" *ngFor=\\\"let products of order_detail; let product_index=index; \\\">\\r\\n\\r\\n                    <div>\\r\\n\\r\\n                        <h4 class=\\\"pull-right\\\">{{currency_sign}}{{product_item_total_array[product_index]}}</h4>\\r\\n                        <span style=\\\"position: absolute; left:48%;\\\">(<strong>{{products.items.length}}</strong>) {{title.items | translate}}</span>\\r\\n                        <h5>{{products.product_name}}</h5>\\r\\n                    </div>\\r\\n\\r\\n                    <hr/>\\r\\n\\r\\n                    <div *ngFor=\\\"let item of products.items; let odd=odd; let item_index=index; \\\">\\r\\n\\r\\n                        <div class=\\\"table-responsive\\\">\\r\\n                            <table class=\\\"table shoping-cart-table\\\">\\r\\n                                <thead style=\\\"border-bottom: 1px solid;\\\">\\r\\n                                    <tr>\\r\\n                                        <th style=\\\"width: 55%;padding-top: 12px;\\\">{{title.item | translate}}{{item_index+1}}</th>\\r\\n                                        <th style=\\\"text-align: center;padding-top: 12px;\\\">{{title.spec | translate}} {{title.price | translate}}</th>\\r\\n                                        <th style=\\\"text-align: center;padding-top: 12px;\\\">{{title.price | translate}}</th>\\r\\n                                        <th style=\\\"text-align: center;padding-top: 12px;\\\">{{title.qty | translate}}</th>\\r\\n                                        <th style=\\\"text-align: center;padding-top: 12px;\\\">{{title.total | translate}}</th>\\r\\n                                    </tr>\\r\\n                                </thead>\\r\\n\\r\\n                                <tbody>\\r\\n                                <tr>\\r\\n                                    <td style=\\\"padding-top: 20px;width: 55%;\\\">\\r\\n                                        <div style=\\\"display: -webkit-box;\\\">\\r\\n                                            <img class=\\\"\\\" style=\\\"height: 80px;width: 80px;border-radius: 10px;\\\"  src=\\\"{{item.image_url[0]}}\\\">\\r\\n                                            <div style=\\\"    margin-left: 10px;\\\">\\r\\n                                                <h3>{{item.item_name}}</h3>\\r\\n                                                <p class=\\\"small\\\" style=\\\"height: 30px; overflow-y: hidden;\\\">\\r\\n                                                    {{item.details}}\\r\\n                                                </p>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                    </td>\\r\\n                                    <td style=\\\"padding-top: 20px;text-align: center;\\\">{{currency_sign}}{{item.total_specification_price}}</td>\\r\\n                                    <td style=\\\"padding-top: 20px;text-align: center;\\\">{{currency_sign}}{{item.item_price}}</td>\\r\\n                                    <td style=\\\"padding-top: 20px;text-align: center;\\\">{{item.quantity}}</td>\\r\\n                                    <td style=\\\"padding-top: 20px;text-align: center;\\\">{{currency_sign}}{{(item.item_price + item.total_specification_price)*item.quantity}}</td>\\r\\n                                    <!--<td>-->\\r\\n                                    <!--<h4>{{currency_sign}}{{(item.item_price + item.total_specification_price)*item.quantity}}</h4>-->\\r\\n                                    <!--</td>-->\\r\\n                                </tr>\\r\\n                                </tbody>\\r\\n\\r\\n                                <!--<tbody>-->\\r\\n                                    <!--<tr>-->\\r\\n                                        <!--<td width=\\\"90\\\">-->\\r\\n                                            <!--<div class=\\\"\\\">-->\\r\\n                                                <!--<img class=\\\"\\\" style=\\\"height: 80px;width: 80px;\\\"  src=\\\"{{item.image_url[0]}}\\\">-->\\r\\n                                            <!--</div>-->\\r\\n                                        <!--</td>-->\\r\\n                                        <!--<td class=\\\"desc\\\">-->\\r\\n                                            <!--<h3>-->\\r\\n                                                <!--<a class=\\\"text-navy\\\">-->\\r\\n                                                    <!--{{item.item_name}}   -->\\r\\n                                                    <!--<div style=\\\"text-align: center;margin-top: -18px;\\\"><label style=\\\"color: #787b7d;\\\"> {{title.qty | translate}} : {{item.quantity}} </label></div>-->\\r\\n                                                    <!--<div style=\\\"margin-top: -18px;float: right;\\\"><label style=\\\"color: #787b7d;\\\"> {{currency_sign}}{{item.item_price}} </label></div>-->\\r\\n                                                <!--</a>-->\\r\\n                                            <!--</h3>-->\\r\\n\\r\\n                                            <!--<p class=\\\"small\\\" style=\\\"height: 30px; overflow-y: hidden;\\\">-->\\r\\n                                                <!--{{item.details}}-->\\r\\n                                            <!--</p>-->\\r\\n\\r\\n\\r\\n                                        <!--</td>-->\\r\\n                                        <!--<td>-->\\r\\n                                            <!--<h4>{{currency_sign}}{{(item.item_price + item.total_specification_price)*item.quantity}}</h4>-->\\r\\n                                        <!--</td>-->\\r\\n                                    <!--</tr>-->\\r\\n                                <!--</tbody>-->\\r\\n                            </table>\\r\\n                        </div>\\r\\n                        <!--<div class=\\\"col-md-6 col-xs-6\\\"><h4>{{title.specifications | translate}}</h4></div>-->\\r\\n                        <!--<div class=\\\"col-md-6 col-xs-6\\\"><h4>{{item.total_specification_price}}{{currency_sign}}</h4></div>-->\\r\\n\\r\\n                        <!--<div *ngFor=\\\"let specification of item.specifications\\\">-->\\r\\n                            <!--<div class=\\\"col-md-6 col-xs-6\\\">{{specification.name}}</div>-->\\r\\n                            <!--<div class=\\\"col-md-6 col-xs-6\\\">{{specification.price}}{{currency_sign}}</div>-->\\r\\n                        <!--</div>-->\\r\\n                        <hr/>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n\\r\\n    </div>\\r\\n\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-lg-12\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\" style=\\\"background-color: #d4d8d8;\\\">\\r\\n                    <label class=\\\"control-label\\\">{{heading_title.order_status | translate}}</label>  \\r\\n                </div>\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <label class=\\\"control-label text-navy\\\" style=\\\"margin-left:30%\\\">{{title.order_completed | translate}}</label> \\r\\n\\r\\n\\r\\n                    <div id=\\\"vertical-timeline\\\" class=\\\"vertical-container dark-timeline center-orientation\\\">\\r\\n                        <div class=\\\"vertical-timeline-block\\\">\\r\\n                            <div class=\\\"vertical-timeline-icon navy-bg\\\">\\r\\n                                <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"vertical-timeline-content\\\">\\r\\n                                <h2>{{status.created | translate}}</h2>\\r\\n                                <span class=\\\"vertical-date\\\">\\r\\n                                    <small>{{created_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</small>\\r\\n                                </span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div *ngIf=\\\"store_accepted_at!=null&&order_status>ORDER_STATE.WAITING_FOR_ACCEPT_STORE\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                            <div class=\\\"vertical-timeline-icon navy-bg\\\">\\r\\n                                <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"vertical-timeline-content\\\">\\r\\n                                <h2>{{status.accepted | translate}}</h2>\\r\\n                                <span class=\\\"vertical-date\\\">\\r\\n                                    <small>{{store_accepted_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</small>\\r\\n                                </span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div *ngIf=\\\"order_status_id==ORDER_STATUS_ID.REJECTED&&order_status==ORDER_STATE.STORE_REJECTED\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                            <div class=\\\"vertical-timeline-icon navy-bg\\\">\\r\\n                                <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"vertical-timeline-content\\\">\\r\\n                                <h2>{{status.rejected | translate}}</h2>\\r\\n                                <span class=\\\"vertical-date\\\">\\r\\n                                    <small>{{completed_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</small>\\r\\n                                </span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div *ngIf=\\\"start_preparing_order_at!=null&&order_status>ORDER_STATE.STORE_ACCEPTED\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                            <div class=\\\"vertical-timeline-icon navy-bg\\\">\\r\\n                                <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"vertical-timeline-content\\\">\\r\\n                                <h2>{{status.start_preparing_order | translate}}</h2>\\r\\n                                <span class=\\\"vertical-date\\\">\\r\\n                                    <small>{{start_preparing_order_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</small>\\r\\n                                </span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div *ngIf=\\\"order_ready_at!=null&&order_status>ORDER_STATE.STORE_PREPARING_ORDER\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                            <div class=\\\"vertical-timeline-icon navy-bg\\\">\\r\\n                                <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"vertical-timeline-content\\\">\\r\\n                                <h2>{{status.order_ready | translate}}</h2>\\r\\n                                <span class=\\\"vertical-date\\\">\\r\\n                                    <small>{{order_ready_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</small>\\r\\n                                </span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div *ngIf=\\\"store_order_created_at!=null&&order_status>ORDER_STATE.OREDER_READY\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                            <div class=\\\"vertical-timeline-icon navy-bg\\\">\\r\\n                                <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"vertical-timeline-content\\\">\\r\\n                                <h2>{{status.assign_order_to_Delivery_man | translate}}</h2>\\r\\n                                <span class=\\\"vertical-date\\\">\\r\\n                                    <small>{{store_order_created_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</small>\\r\\n                                </span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div *ngIf=\\\"accepted_at!=null&&order_status>ORDER_STATE.WAITING_FOR_DELIVERY_MAN\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                            <div class=\\\"vertical-timeline-icon navy-bg\\\">\\r\\n                                <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"vertical-timeline-content\\\">\\r\\n                                <h2>{{status.delivery_man_accepted | translate}}</h2>\\r\\n                                <span class=\\\"vertical-date\\\">\\r\\n                                    <small>{{accepted_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</small>\\r\\n                                </span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div *ngIf=\\\"start_for_pickup_at!=null&&order_status>ORDER_STATE.DELIVERY_MAN_ACCEPTED\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                            <div class=\\\"vertical-timeline-icon navy-bg\\\">\\r\\n                                <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"vertical-timeline-content\\\">\\r\\n                                <h2>{{status.delivery_man_coming | translate}}</h2>\\r\\n                                <span class=\\\"vertical-date\\\">\\r\\n                                    <small>{{start_for_pickup_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</small>\\r\\n                                </span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div *ngIf=\\\"arrived_on_store_at!=null&&order_status>ORDER_STATE.DELIVERY_MAN_COMING\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                            <div class=\\\"vertical-timeline-icon navy-bg\\\">\\r\\n                                <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"vertical-timeline-content\\\">\\r\\n                                <h2>{{status.delivery_man_arrived | translate}}</h2>\\r\\n                                <span class=\\\"vertical-date\\\">\\r\\n                                    <small>{{arrived_on_store_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</small>\\r\\n                                </span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div *ngIf=\\\"picked_order_at!=null&&order_status>ORDER_STATE.DELIVERY_MAN_ARRIVED\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                            <div class=\\\"vertical-timeline-icon navy-bg\\\">\\r\\n                                <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"vertical-timeline-content\\\">\\r\\n                                <h2>{{status.picked_order | translate}}</h2>\\r\\n                                <span class=\\\"vertical-date\\\">\\r\\n                                    <small>{{picked_order_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</small>\\r\\n                                </span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div *ngIf=\\\"start_for_delivery_at!=null&&order_status>ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                            <div class=\\\"vertical-timeline-icon navy-bg\\\">\\r\\n                                <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"vertical-timeline-content\\\">\\r\\n                                <h2>{{status.started_for_delivery | translate}}</h2>\\r\\n                                <span class=\\\"vertical-date\\\">\\r\\n                                    <small>{{started_for_delivery_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</small>\\r\\n                                </span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div *ngIf=\\\"delivered_at!=null&&order_status>ORDER_STATE.DELIVERY_MAN_STARTED_DELIVERY\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                            <div class=\\\"vertical-timeline-icon navy-bg\\\">\\r\\n                                <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"vertical-timeline-content\\\">\\r\\n                                <h2>{{status.arrived_at_destination | translate}}</h2>\\r\\n                                <span class=\\\"vertical-date\\\">\\r\\n                                    <small>{{delivered_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</small>\\r\\n                                </span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div *ngIf=\\\"delivered_at!=null&&order_status>ORDER_STATE.DELIVERY_MAN_ARRIVED_AT_DESTINATION\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                            <div class=\\\"vertical-timeline-icon navy-bg\\\">\\r\\n                                <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"vertical-timeline-content\\\">\\r\\n                                <h2>{{status.delivered_ordered | translate}}</h2>\\r\\n                                <span class=\\\"vertical-date\\\">\\r\\n                                    <small>{{delivered_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</small>\\r\\n                                </span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div *ngIf=\\\"order_status_id==ORDER_STATUS_ID.CANCELLED\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                            <div class=\\\"vertical-timeline-icon navy-bg\\\">\\r\\n                                <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"vertical-timeline-content\\\">\\r\\n                                <h2 *ngIf=\\\"order_status==ORDER_STATE.STORE_CANCELLED\\\">{{status.cancelled | translate}}</h2>\\r\\n                                <h2 *ngIf=\\\"order_status==ORDER_STATE.DELIVERY_MAN_CANCELLED\\\">{{status.delivery_man_cancelled | translate}}</h2>\\r\\n                                <span class=\\\"vertical-date\\\">\\r\\n                                    <small>{{cancelled_at | date: \\\"dd MMM yyyy hh:mm a\\\": 'Europe/London'}}</small>\\r\\n                                </span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div *ngIf=\\\"order_status_id==ORDER_STATUS_ID.REJECTED&&order_status==ORDER_STATE.DELIVERY_MAN_REJECTED\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                            <div class=\\\"vertical-timeline-icon navy-bg\\\">\\r\\n                                <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"vertical-timeline-content\\\">\\r\\n                                <h2>{{status.delivery_man_rejected | translate}}</h2>\\r\\n                                <span class=\\\"vertical-date\\\">\\r\\n                                    <small>{{store_order_created_at | date: \\\"dd MMM yyyy hh:mm a\\\": 'Europe/London'}}</small>\\r\\n                                </span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div *ngIf=\\\"order_status_id==ORDER_STATUS_ID.COMPLETED\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                            <div class=\\\"vertical-timeline-icon navy-bg\\\">\\r\\n                                <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"vertical-timeline-content\\\">\\r\\n                                <h2>{{status.completed | translate}}</h2>\\r\\n                                <span class=\\\"vertical-date\\\">\\r\\n                                    <small>{{completed_at | date: \\\"dd MMM yyyy hh:mm a\\\": 'Europe/London'}}</small>\\r\\n                                </span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div *ngIf=\\\"order_status==ORDER_STATE.NO_DELIVERY_MAN_FOUND\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                            <div class=\\\"vertical-timeline-icon navy-bg\\\">\\r\\n                                <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"vertical-timeline-content\\\">\\r\\n                                <h2>{{status.no_delivery_man_found | translate}}</h2>\\r\\n                                <span class=\\\"vertical-date\\\">\\r\\n                                    <small>{{completed_at | date: \\\"dd MMM yyyy hh:mm a\\\": 'Europe/London'}}</small>\\r\\n                                </span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n\\r\\n\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/franchise/view_order/view_order.component.html\n// module id = 1686\n// module chunks = 0","module.exports = \"<div class=\\\"row\\\">\\r\\n    <div class=\\\"col-lg-9\\\">\\r\\n        <div class=\\\"wrapper wrapper-content animated fadeInRight content_top_bar\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-lg-12\\\">\\r\\n                            <div class=\\\"m-b-md\\\">\\r\\n\\r\\n                                <h2><strong>Store Detail</strong></h2>\\r\\n                            </div>\\r\\n\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-lg-5\\\">\\r\\n                            <dl class=\\\"dl-horizontal\\\">\\r\\n\\r\\n\\r\\n                                <dt>Name:</dt>\\r\\n                                <dd><a class=\\\"text-navy\\\"> {{name}}</a></dd>\\r\\n                                <dt>Email:</dt>\\r\\n                                <dd>{{email}}</dd>\\r\\n                                <dt>{{title.provider_country}}:</dt>\\r\\n                                <dd>{{country_name}}</dd>\\r\\n                                <dt>{{title.prov_city}}:</dt>\\r\\n                                <dd>{{city_name}}</dd>\\r\\n\\r\\n                                <dt>Delivery:</dt>\\r\\n                                <dd>{{delivery_name}}</dd>\\r\\n\\r\\n                                <dt>{{title.phone}}:</dt>\\r\\n                                <dd>{{country_phone_code + phone}}</dd>\\r\\n                                <dt>{{title.address}}:</dt>\\r\\n                                <dd>{{address}}</dd>\\r\\n\\r\\n                                <dt>Device Type:</dt>\\r\\n                                <dd>{{device_type}}</dd>\\r\\n                                <dt>Comments:</dt>\\r\\n                                <dd>{{comments}}</dd>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n                                <dt>{{title.rate}}:</dt>\\r\\n                                <dd>{{rate}}</dd>\\r\\n                                <dt>Zipcode:</dt>\\r\\n                                <dd>{{zipcode}}</dd>\\r\\n\\r\\n                                <dt>Referral Code:</dt>\\r\\n                                <dd>{{referral_code}}</dd>\\r\\n\\r\\n\\r\\n\\r\\n                                <dt>{{title.app_version}}:</dt>\\r\\n                                <dd>{{app_version}}</dd>\\r\\n                            </dl>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-7\\\" id=\\\"cluster_info\\\">\\r\\n                            <dl class=\\\"dl-horizontal\\\">\\r\\n\\r\\n                                <dt>Last Updated:</dt>\\r\\n                                <dd>{{updated_at| date: \\\"dd MMM yyyy hh:mm a\\\"}}</dd>\\r\\n                                <dt>Created:</dt>\\r\\n                                <dd> {{created_at| date: \\\"dd MMM yyyy hh:mm a\\\"}}</dd>\\r\\n\\r\\n\\r\\n                                <dt>Website Url:</dt>\\r\\n                                <dd> {{website_url}}</dd>\\r\\n                                \\r\\n                                <dt>Item Tax:</dt>\\r\\n                                <dd> {{item_tax}}</dd>\\r\\n                                <dt>Price Rating:</dt>\\r\\n                                <dd> {{price_rating}}</dd>\\r\\n                                <dt>Slogan:</dt>\\r\\n                                <dd> {{slogan}}</dd>\\r\\n\\r\\n                                <dt>Currency:</dt>\\r\\n                                <dd> {{currency}}</dd>\\r\\n                                <dt>Wallet:</dt>\\r\\n                                <dd> {{wallet}}</dd>\\r\\n                                <dt>Wallet Currency Code:</dt>\\r\\n                                <dd> {{wallet_currency_code}}</dd>\\r\\n\\r\\n\\r\\n                                <dt>Profile:</dt>\\r\\n                                <dd class=\\\"project-people\\\">\\r\\n                                    <a><img  class=\\\"img-circle\\\" style=\\\"width:80px;height:80px;\\\" src=\\\"{{image_url}}\\\"></a>\\r\\n\\r\\n                                </dd>\\r\\n                            </dl>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/franchise/view_store_detail/view_store_detail.component.html\n// module id = 1687\n// module chunks = 0","module.exports = \"<style type=\\\"text/css\\\">\\r\\n    .scrollbar\\r\\n{\\r\\n    height: 140px;\\r\\n    background: #F5F5F5;\\r\\n    overflow-x: auto;\\r\\n}\\r\\n\\r\\n#style-3::-webkit-scrollbar-track\\r\\n{\\r\\n    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);\\r\\n    background-color: #F5F5F5;\\r\\n}\\r\\n\\r\\n#style-3::-webkit-scrollbar\\r\\n{\\r\\n    width: 3px;\\r\\n    background-color: #F5F5F5;\\r\\n}\\r\\n\\r\\n#style-3::-webkit-scrollbar-thumb\\r\\n{\\r\\n    background-color: #000000;\\r\\n}\\r\\n\\r\\n</style>\\r\\n\\r\\n<footer [myLoading]=\\\"myLoading\\\" ></footer>   \\r\\n<form #itemForm=\\\"ngForm\\\" (ngSubmit)=\\\"addItem(itemForm.value)\\\" id=\\\"myForm\\\" enctype='multipart/form-data' >\\r\\n    \\r\\n        <div class=\\\"wrapper wrapper-content animated fadeInRight content_top_bar\\\">\\r\\n        \\r\\n        \\r\\n            <div class=\\\"row\\\">\\r\\n                \\r\\n                <div class=\\\"col-md-12 col-sm-6\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.item_images | translate}}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                        <div class=\\\"scrollbar\\\" id=\\\"style-3\\\" style=\\\"background-color: #fff;width: 100%;height:131px;text-align: center;\\\">\\r\\n                                            <div style=\\\" display: inline-table;\\\">\\r\\n\\r\\n                                                <span class=\\\"btn-file\\\"><img src=\\\"web_images/camera_img.png\\\" style=\\\"border-radius: 20%; width:100px; height: 100px; margin-right: 30px;\\\">\\r\\n                                                <input type=\\\"file\\\" accept=\\\"image/*\\\" (change)=\\\"image_update($event);\\\" name=\\\"image\\\" style=\\\"margin-top: -12px;padding: 13px;\\\"></span>\\r\\n                                            </div>\\r\\n                                            <div *ngFor=\\\"let image of new_image_array; let index=index;\\\" style=\\\" display: inline-table;\\\">\\r\\n                                                <img [src]=\\\"image.base64_image\\\" style=\\\"border-radius: 20%; width:100px; height: 100px; margin-right: 30px;\\\">\\r\\n\\r\\n                                                <div style=\\\"text-align: center;width: 100px;margin-top: 5px;\\\">\\r\\n                                                    <i aria-hidden=\\\"true\\\" (click)=\\\"remove_new_image(index)\\\" class=\\\"fa fa-times-circle\\\" style=\\\"font-size: 25px;cursor: pointer;color:#bc2029;\\\"></i>\\r\\n                                                </div>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"text_center\\\"><span style=\\\"color: red;\\\">{{image_error | translate}}</span></div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"font-size: 18px;\\\">\\r\\n                            <label>{{title.note_for_image | translate}}: </label><span>{{title.image_note1 | translate}} {{image_setting.image_min_width}}x{{image_setting.image_min_height}} {{title.image_note2 | translate}} {{image_setting.image_max_width}}x{{image_setting.image_max_height}}),\\r\\n                        {{title.image_note3 | translate}} <label>{{image_setting.image_ratio}}</label> {{title.image_note4 | translate}}</span> <label *ngFor=\\\"let i of image_setting.image_type; let last=last;\\\"> {{(i.split('/'))[1]}}<label [hidden]=\\\"last\\\">,</label> </label>\\r\\n                            <span>{{title.image_note5 | translate}}</span>\\r\\n                        </div>\\r\\n\\r\\n                        \\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n    \\t    <div class=\\\"row\\\">\\r\\n                    <div class=\\\"col-lg-4 col-md-6 col-sm-6\\\">\\r\\n                        <div class=\\\"ibox\\\">\\r\\n                            <div class=\\\"ibox-title\\\">\\r\\n                                <label class=\\\"control-label\\\">{{heading_title.item_title | translate}}</label>\\r\\n                            </div>\\r\\n                            <div class=\\\"ibox-content\\\">\\r\\n                                <div class=\\\"row\\\">\\r\\n                                    <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_item.store_id\\\" #store_id=\\\"ngModel\\\"  name=\\\"store_id\\\" />\\r\\n                                    <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_item.server_token\\\" #server_token=\\\"ngModel\\\"  name=\\\"server_token\\\" />\\r\\n                                    <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_item.specifications_unique_id_count\\\" #specifications_unique_id_count=\\\"ngModel\\\"  name=\\\"specifications_unique_id_count\\\" />\\r\\n\\r\\n                                    <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"item_specification_list\\\" name=\\\"specifications\\\" />\\r\\n                                    <div class=\\\"form-group\\\">\\r\\n                                        <label class=\\\"col-md-4 control-label\\\">{{title.product | translate}}</label>\\r\\n                                        <div class=\\\"col-md-8 form-group\\\">\\r\\n                                            <select chosen class=\\\"chosen-select\\\" [(ngModel)]=\\\"add_item.product_id\\\" #product_id=\\\"ngModel\\\" id=\\\"product\\\" tabindex=\\\"4\\\" name=\\\"product_id\\\" required>\\r\\n                                                <option selected disabled hidden style=\\\"display:none;\\\">Select Product</option>\\r\\n                                                <option *ngFor=\\\"let i of product_list\\\" value=\\\"{{i._id}}\\\">{{i.name}}</option>\\r\\n                                            </select>\\r\\n                                            <div *ngIf=\\\"product_id.errors\\\">\\r\\n                                                <div style=\\\"color: red;\\\" [hidden]=\\\"!product_id.errors.required\\\">{{validation_message.select_product_required | translate}}</div>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n\\r\\n                                    <div class=\\\"form-group\\\">\\r\\n                                        <label class=\\\"col-md-4 control-label\\\">{{title.name | translate}}</label>\\r\\n                                        <div class=\\\"col-md-8 form-group\\\">\\r\\n                                            <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_item.name\\\" #name=\\\"ngModel\\\" (keyup)=\\\"check_item()\\\"  name=\\\"name\\\" required />\\r\\n                                            <label *ngIf=item_already_exist >{{message.item_already_exist | translate}}</label>\\r\\n                                            <div *ngIf=\\\"name.errors && (name.dirty || name.touched)\\\">\\r\\n                                                <div style=\\\"color: red;\\\" [hidden]=\\\"!name.errors.required\\\">{{validation_message.item_name_required | translate}}</div>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"form-group\\\">\\r\\n                                        <label class=\\\"col-md-4 control-label\\\">{{title.details | translate}}</label>\\r\\n                                        <div class=\\\"col-md-8 form-group\\\">\\r\\n                                            <textarea style=\\\"max-width: 100%; max-height: 80px;\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_item.details\\\" #details=\\\"ngModel\\\"  name=\\\"details\\\" required ></textarea>\\r\\n                                            <div *ngIf=\\\"details.errors && (details.dirty || details.touched)\\\">\\r\\n                                                <div style=\\\"color: red;\\\" [hidden]=\\\"!details.errors.required\\\">{{validation_message.item_detail_required | translate}}</div>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"form-group\\\">\\r\\n                                        <label class=\\\"col-md-4 control-label\\\">{{title.price | translate}}</label>\\r\\n                                        <div class=\\\"col-md-8 form-group\\\">\\r\\n                                            <input type=\\\"text\\\" (keypress)=\\\"helper.number_validation($event)\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_item.price\\\" #price=\\\"ngModel\\\"  name=\\\"price\\\" required />\\r\\n                                            <div *ngIf=\\\"price.errors && (price.dirty || price.touched)\\\">\\r\\n                                                <div style=\\\"color: red;\\\" [hidden]=\\\"!price.errors.required\\\">{{validation_message.item_price_required | translate}}</div>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                    \\r\\n                                </div>\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-lg-3 col-md-6 col-sm-6\\\">\\r\\n                        <div class=\\\"ibox\\\">\\r\\n                            <div class=\\\"ibox-title\\\">\\r\\n                                <label class=\\\"control-label\\\">{{heading_title.item_setting | translate}}</label>\\r\\n                            </div>\\r\\n                            <div class=\\\"ibox-content\\\">\\r\\n                                <div class=\\\"row\\\">\\r\\n                                    <div class=\\\"form-group\\\">\\r\\n                                        <label class=\\\"col-md-8 col-sm-8 col-xs-8 control-label\\\">{{title.is_default | translate}}</label>\\r\\n\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4 form-group\\\">\\r\\n                                            <ui-switch [(ngModel)]=\\\"add_item.is_visible_in_store\\\" #is_visible_in_store=\\\"ngModel\\\" name=\\\"is_visible_in_store\\\"></ui-switch>\\r\\n\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n\\r\\n\\r\\n                                    <div class=\\\"form-group\\\">\\r\\n                                        <label class=\\\"col-md-8 col-sm-8 col-xs-8 control-label\\\">{{title.is_item_in_stock | translate}}</label>\\r\\n\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4 form-group\\\">\\r\\n                                            <ui-switch [(ngModel)]=\\\"add_item.is_item_in_stock\\\" #is_item_in_stock=\\\"ngModel\\\" name=\\\"is_item_in_stock\\\"></ui-switch>\\r\\n\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"form-group\\\">\\r\\n                                        <label class=\\\"col-md-8 col-sm-8 col-xs-8 control-label\\\">{{title.is_most_popular | translate}}</label>\\r\\n\\r\\n                                        <div class=\\\"col-md-4 col-sm-4 col-xs-4 form-group\\\">\\r\\n                                            <ui-switch [(ngModel)]=\\\"add_item.is_most_popular\\\" #is_most_popular=\\\"ngModel\\\" name=\\\"is_most_popular\\\"></ui-switch>\\r\\n\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-lg-5 col-md-6 col-sm-12\\\">\\r\\n                        <div class=\\\"ibox\\\">\\r\\n                            <div class=\\\"ibox-title\\\">\\r\\n                                <label class=\\\"control-label\\\">{{heading_title.item_specification | translate}}</label>\\r\\n                            </div>\\r\\n                            <div class=\\\"ibox-content\\\" >\\r\\n                                <div [hidden]=\\\"add_item.product_id==''\\\" style=\\\"text-align: center; margin-bottom: 12px;\\\">\\r\\n                                    <button type=\\\"button\\\" id=\\\"add_specification\\\" (click)=\\\"open_specification_group_modal()\\\" class=\\\"btn add_btn\\\">{{button.add_specification | translate}}<span class=\\\"fa fa-plus pull-right\\\" style=\\\"margin-top: 2px;\\\"></span></button>\\r\\n                                </div>\\r\\n                                <div class=\\\"table-responsive\\\">\\r\\n                                    <table class=\\\"table\\\">\\r\\n                                        <tr *ngFor=\\\"let i of item_specification_list\\\">\\r\\n                                            <td>{{i.name}}</td>\\r\\n                                            <td><button type=\\\"button\\\" class=\\\"btn add_btn pull-right\\\" (click)=\\\"delete_item_specification(i)\\\">{{button.delete | translate}}</button></td>\\r\\n                                        </tr>\\r\\n                                    </table>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n            </div>\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-md-4\\\">\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-4\\\" style=\\\"text-align: center;\\\">\\r\\n                            <input type=\\\"submit\\\" [disabled]=\\\"item_already_exist\\\" id=\\\"submit\\\" name=\\\"submit\\\" style=\\\"width: 50%;\\\" class=\\\"btn btn-primary\\\" value=\\\"{{button.add_item | translate}}\\\" >\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n\\r\\n        \\r\\n    </div>\\r\\n</form>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl animated fadeInUpBig\\\" #myModal>\\r\\n    <form #modalForm=\\\"ngForm\\\" (ngSubmit)=\\\"addSpecification(modalForm.value)\\\">\\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <h4 class=\\\"modal-title\\\">{{heading_title.add_item_specification | translate}}</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                    <div class=\\\"col-md-4 col-sm-4 col-xs-8\\\">\\r\\n                        <div class=\\\"form-group\\\" >\\r\\n                            <label style=\\\"font-weight: normal;\\\">{{title.item_specification_name | translate}}</label>\\r\\n                            <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_item.item_specification_name\\\" #item_specification_name=\\\"ngModel\\\" name=\\\"item_specification_name\\\" required>\\r\\n                            <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_item.specification_group_id\\\" #specification_group_id=\\\"ngModel\\\" name=\\\"specification_group_id\\\">\\r\\n\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-2 col-sm-2 col-xs-4\\\">\\r\\n                        <label class=\\\"col-md-12 col-sm-12 col-xs-12\\\" style=\\\"font-weight: normal;\\\">{{title.is_required | translate}}</label>\\r\\n                        <ui-switch class=\\\"col-md-12 col-sm-12 col-xs-12\\\" [(ngModel)]=\\\"add_item.is_required\\\" #is_required=\\\"ngModel\\\" name=\\\"is_required\\\"></ui-switch>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"col-md-6 col-sm-6 col-xs-12\\\">\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-md-12 col-sm-12 col-xs-4\\\" style=\\\"font-weight: normal;\\\">{{title.select_type | translate}}</label>\\r\\n                            <input type=\\\"hidden\\\" [(ngModel)]=\\\"add_item.type\\\" #type=\\\"ngModel\\\" name=\\\"type\\\" >\\r\\n                            <div class=\\\"col-md-6 col-sm-6 col-xs-4 form-group\\\">\\r\\n                                <label><input class=\\\"iradio\\\" type=\\\"radio\\\" id=\\\"1\\\" name=\\\"select_type\\\" value=\\\"1\\\" checked/><span style=\\\"margin-left: 10px;\\\" >{{title.type_single | translate}}</span></label>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-6 col-sm-6 col-xs-4 form-group\\\">\\r\\n                                <label><input class=\\\"iradio\\\" type=\\\"radio\\\" id=\\\"2\\\" name=\\\"select_type\\\" value=\\\"2\\\"/><span style=\\\"margin-left: 10px;\\\">{{title.type_multiple | translate}}</span></label>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    \\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                    <div class=\\\"form-group\\\">\\r\\n                        <div class=\\\"table-responsive\\\">\\r\\n                            <table class=\\\"table\\\">\\r\\n                            <tr>\\r\\n                                <td style=\\\"width: 40%\\\">{{title.add_specification | translate}}</td>\\r\\n                                <td style=\\\"width: 120px;\\\">{{title.price | translate}}</td>\\r\\n                                <td style=\\\"width: 30%\\\">{{title.default_select | translate}}</td>\\r\\n                            </tr>\\r\\n                            </table>\\r\\n                            <div id=\\\"spec_model\\\">\\r\\n                                <table class=\\\"table\\\">\\r\\n                                    <tr *ngFor=\\\"let i of product_specification_list; let index=index; \\\">\\r\\n\\r\\n                                        <td style=\\\"width: 5%\\\"><label><input type=\\\"checkbox\\\" class=\\\"icheck\\\" value=\\\"{{i._id}}\\\"/></label></td>\\r\\n                                        <td style=\\\"width: 35%\\\"><label><span style=\\\"margin-left: 10px;\\\">{{i.name}}</span></label></td>\\r\\n                                        <td style=\\\"width: 120px;\\\"><div><input type=\\\"text\\\" class=\\\"form-control\\\" [disabled]=\\\"checked_array[index]!=true\\\" (keypress)=\\\"helper.number_validation()\\\"  [(ngModel)]=\\\"i.price\\\" name=\\\"{{index}}\\\"></div></td>\\r\\n                                        <td style=\\\"width: 30%\\\"><ui-switch (change)=\\\"onChange($event, i._id)\\\" [(ngModel)]=\\\"i.is_default_selected\\\" #is_default_selected=\\\"ngModel\\\" [disabled]=\\\"checked_array[index]!=true\\\" name=\\\"is_default_selected{{i._id}}\\\"></ui-switch></td>\\r\\n                                    </tr>\\r\\n                                </table>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div *ngIf=\\\"spec_list_error==1\\\">\\r\\n                            <label class=\\\"error\\\" style=\\\"font-weight: normal;\\\">{{title.error_atleast_one_specification | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{button.save | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-sm animated fadeInDownBig\\\" #myspec_group_modal>\\r\\n    \\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <h4 class=\\\"modal-title\\\">{{heading_title.add_item_specification | translate}}</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                    <div id=\\\"spec_model\\\">\\r\\n                        <table class=\\\"table\\\">\\r\\n                            <tr *ngFor=\\\"let i of product_specification_group_list\\\">\\r\\n                                <td style=\\\"width: 40%\\\" (click)=\\\"open_specification_modal(i._id , i.product_id , i.name , i.unique_id)\\\"><label>{{i.name}}</label></td>\\r\\n                            </tr>\\r\\n                        </table>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            \\r\\n        </modal-body>\\r\\n</modal>\\r\\n\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl animated fadeInDownBig\\\" #image_crop_modal>\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n        <img-cropper #cropper [image]=\\\"data\\\" [settings]=\\\"cropperSettings\\\"></img-cropper><br>\\r\\n        <div class=\\\"col-md-6\\\">\\r\\n            {{title.width | translate}} - {{cropperSettings.croppedWidth}}\\r\\n        </div>\\r\\n        <div class=\\\"col-md-6\\\">\\r\\n            {{title.height | translate}} - {{cropperSettings.croppedHeight}}\\r\\n        </div>\\r\\n        <div class=\\\"col-lg-12 text_center\\\">\\r\\n            <span style=\\\"color: red;\\\">{{image_error | translate}}</span>\\r\\n        </div>\\r\\n\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n        <div style=\\\"text-align: center\\\">\\r\\n            <button type=\\\"button\\\" (click)=\\\"crop($event)\\\" class=\\\"btn btn-primary\\\">{{button.done | translate}}</button>\\r\\n        </div>\\r\\n    </modal-footer>\\r\\n</modal>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/store/add_item/add_item.component.html\n// module id = 1688\n// module chunks = 0","module.exports = \"<style>\\r\\n    #clock-picker {\\r\\n        padding-right: 15px !important;\\r\\n        padding-left: 15px !important;\\r\\n    }\\r\\n</style>\\r\\n\\r\\n<div class=\\\"wrapper wrapper-content animated fadeInRight content_top_bar\\\" style=\\\"padding-top: 5px;\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n        <form #promocodeForm=\\\"ngForm\\\" (ngSubmit)=\\\"AddPromocode(promocodeForm.value)\\\">\\r\\n            <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"promo_id\\\" name=\\\"promo_id\\\"/>\\r\\n            <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_promo_code.store_id\\\" #store_id=\\\"ngModel\\\"\\r\\n                   name=\\\"store_id\\\"/>\\r\\n            <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_promo_code.server_token\\\" #server_token=\\\"ngModel\\\"\\r\\n                   name=\\\"server_token\\\"/>\\r\\n            <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_promo_code.promo_apply_on\\\"\\r\\n                   #promo_apply_on=\\\"ngModel\\\" name=\\\"promo_apply_on\\\"/>\\r\\n\\r\\n            <div class=\\\"col-md-4\\\">\\r\\n                <div class=\\\"col-md-12 no_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-content\\\" style=\\\"height: 480px;\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-md-12\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.promo_code_name | translate}}</label>\\r\\n                                    <div class=\\\"col-lg-8 form-group add\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" style=\\\"text-transform: uppercase\\\"\\r\\n                                               [(ngModel)]=\\\"add_promo_code.promo_code_name\\\" #promo_code_name=\\\"ngModel\\\"\\r\\n                                               (keyup)=\\\"check_promo_code(promo_code_name.value)\\\" name=\\\"promo_code_name\\\"\\r\\n                                               required/>\\r\\n                                        <label class=\\\"col-lg-12 control-label\\\" style=\\\"color:red\\\">{{promo_exist}}</label>\\r\\n                                        <div *ngIf=\\\"promo_code_name.errors && (promo_code_name.dirty || promo_code_name.touched)\\\">\\r\\n                                            <div style=\\\"color: red;\\\" [hidden]=\\\"!promo_code_name.errors.required\\\">\\r\\n                                                {{validation_message.promo_code_name_required | translate}}\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                    <div *ngIf=\\\"type=='edit'\\\" class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\"\\r\\n                                               [(ngModel)]=\\\"add_promo_code.promo_code_name\\\" #promo_code_name=\\\"ngModel\\\"\\r\\n                                               name=\\\"promo_code_name\\\" readonly/>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-12\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.details | translate}}</label>\\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <textarea class=\\\"form-control\\\" [(ngModel)]=\\\"add_promo_code.promo_details\\\"\\r\\n                                                  #promo_details=\\\"ngModel\\\" name=\\\"promo_details\\\" required></textarea>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-12\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.promo_code_type | translate}}</label>\\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <select chosen class=\\\"form-control chosen-select\\\" id=\\\"promo_code_type\\\"\\r\\n                                                [(ngModel)]=\\\"add_promo_code.promo_code_type\\\" #promo_code_type=\\\"ngModel\\\"\\r\\n                                                name=\\\"promo_code_type\\\">\\r\\n                                            <option value=\\\"2\\\">{{lable_title.absolute}}</option>\\r\\n                                            <option value=\\\"1\\\">{{lable_title.percentage}}</option>\\r\\n                                        </select>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\" col-md-12\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.promo_code_value | translate}}</label>\\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\"\\r\\n                                               [(ngModel)]=\\\"add_promo_code.promo_code_value\\\" #promo_code_value=\\\"ngModel\\\"\\r\\n                                               (keypress)=\\\"helper.number_validation($event)\\\" name=\\\"promo_code_value\\\"\\r\\n                                               required/>\\r\\n                                        <div *ngIf=\\\"promo_code_value.errors && (promo_code_value.dirty || promo_code_value.touched)\\\">\\r\\n                                            <div style=\\\"color: red;\\\" [hidden]=\\\"!promo_code_value.errors.required\\\">\\r\\n                                                {{validation_message.promo_code_value_required | translate}}\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-12\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.promo_for | translate}}</label>\\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <select chosen class=\\\"form-control chosen-select\\\" id=\\\"promo_for\\\"\\r\\n                                                [(ngModel)]=\\\"add_promo_code.promo_for\\\" #promo_for=\\\"ngModel\\\"\\r\\n                                                name=\\\"promo_for\\\">\\r\\n                                            <option *ngFor=\\\"let i of helper.PROMO_FOR;\\\" value=\\\"{{i.ID}}\\\">{{i.NAME}}\\r\\n                                            </option>\\r\\n                                        </select>\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control edit\\\"\\r\\n                                               [(ngModel)]=\\\"add_promo_code.promo_for\\\" #promo_for=\\\"ngModel\\\"\\r\\n                                               name=\\\"promo_for\\\" readonly/>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-4\\\">\\r\\n                <div class=\\\"col-md-12 no_padding\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-content\\\" style=\\\"height: 480px;\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-md-12\\\">\\r\\n                                    <label class=\\\"col-lg-5 control-label\\\">{{title.is_active | translate}}</label>\\r\\n                                    <div class=\\\"col-lg-3 form-group\\\">\\r\\n                                        <ui-switch class=\\\"pull-right\\\" [(ngModel)]=\\\"add_promo_code.is_active\\\"\\r\\n                                                   #is_active=\\\"ngModel\\\" name=\\\"is_active\\\"></ui-switch>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-12\\\">\\r\\n                                    <label class=\\\"col-lg-5 control-label\\\">{{title.is_promo_multiple_use | translate}}</label>\\r\\n                                    <div class=\\\"col-lg-3 form-group\\\">\\r\\n                                        <ui-switch class=\\\"pull-right\\\" [(ngModel)]=\\\"add_promo_code.is_promo_multiple_use\\\"\\r\\n                                                   #is_promo_multiple_use=\\\"ngModel\\\" name=\\\"is_promo_multiple_use\\\"></ui-switch>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-12\\\">\\r\\n                                    <label class=\\\"col-lg-5 control-label\\\">{{title.is_promo_apply_on_completed_order |\\r\\n                                        translate}}</label>\\r\\n                                    <div class=\\\"col-lg-3 form-group\\\">\\r\\n                                        <ui-switch class=\\\"pull-right\\\"\\r\\n                                                   [(ngModel)]=\\\"add_promo_code.is_promo_apply_on_completed_order\\\"\\r\\n                                                   #is_promo_apply_on_completed_order=\\\"ngModel\\\"\\r\\n                                                   name=\\\"is_promo_apply_on_completed_order\\\"></ui-switch>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-lg-4 form-group\\\">\\r\\n                                        <input type=\\\"text\\\"\\r\\n                                               [disabled]=\\\"!add_promo_code.is_promo_apply_on_completed_order\\\"\\r\\n                                               class=\\\"form-control\\\"\\r\\n                                               [(ngModel)]=\\\"add_promo_code.promo_apply_after_completed_order\\\"\\r\\n                                               #promo_apply_after_completed_order=\\\"ngModel\\\"\\r\\n                                               (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                                               name=\\\"promo_apply_after_completed_order\\\" required/>\\r\\n                                        <div *ngIf=\\\"promo_apply_after_completed_order.errors && (promo_apply_after_completed_order.dirty || promo_apply_after_completed_order.touched)\\\">\\r\\n                                            <div style=\\\"color: red;\\\"\\r\\n                                                 [hidden]=\\\"!promo_apply_after_completed_order.errors.required\\\">\\r\\n                                                {{validation_message.promo_code_uses_required | translate}}\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-12\\\">\\r\\n                                    <label class=\\\"col-lg-5 control-label\\\">{{title.is_promo_required_uses |\\r\\n                                        translate}}</label>\\r\\n                                    <div class=\\\"col-lg-3 form-group\\\">\\r\\n                                        <ui-switch class=\\\"pull-right\\\"\\r\\n                                                   [(ngModel)]=\\\"add_promo_code.is_promo_required_uses\\\"\\r\\n                                                   #is_promo_required_uses=\\\"ngModel\\\"\\r\\n                                                   name=\\\"is_promo_required_uses\\\"></ui-switch>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-lg-4 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" [disabled]=\\\"!add_promo_code.is_promo_required_uses\\\"\\r\\n                                               class=\\\"form-control\\\" [(ngModel)]=\\\"add_promo_code.promo_code_uses\\\"\\r\\n                                               #promo_code_uses=\\\"ngModel\\\" (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                                               name=\\\"promo_code_uses\\\" required/>\\r\\n                                        <div *ngIf=\\\"promo_code_uses.errors && (promo_code_uses.dirty || promo_code_uses.touched)\\\">\\r\\n                                            <div style=\\\"color: red;\\\" [hidden]=\\\"!promo_code_uses.errors.required\\\">\\r\\n                                                {{validation_message.promo_code_uses_required | translate}}\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-12\\\">\\r\\n                                    <label class=\\\"col-lg-5 control-label\\\">{{title.is_promo_have_minimum_amount_limit |\\r\\n                                        translate}}</label>\\r\\n                                    <div class=\\\"col-lg-3 form-group\\\">\\r\\n                                        <ui-switch class=\\\"pull-right\\\"\\r\\n                                                   [(ngModel)]=\\\"add_promo_code.is_promo_have_minimum_amount_limit\\\"\\r\\n                                                   #is_promo_have_minimum_amount_limit=\\\"ngModel\\\"\\r\\n                                                   name=\\\"is_promo_have_minimum_amount_limit\\\"></ui-switch>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-lg-4 form-group\\\">\\r\\n                                        <input type=\\\"text\\\"\\r\\n                                               [disabled]=\\\"!add_promo_code.is_promo_have_minimum_amount_limit\\\"\\r\\n                                               class=\\\"form-control\\\"\\r\\n                                               [(ngModel)]=\\\"add_promo_code.promo_code_apply_on_minimum_amount\\\"\\r\\n                                               #promo_code_apply_on_minimum_amount=\\\"ngModel\\\"\\r\\n                                               (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                                               name=\\\"promo_code_apply_on_minimum_amount\\\" required/>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-12\\\">\\r\\n                                    <label class=\\\"col-lg-5 control-label\\\">{{title.is_promo_have_max_discount_limit |\\r\\n                                        translate}}</label>\\r\\n                                    <div class=\\\"col-lg-3 form-group\\\">\\r\\n                                        <ui-switch class=\\\"pull-right\\\"\\r\\n                                                   [(ngModel)]=\\\"add_promo_code.is_promo_have_max_discount_limit\\\"\\r\\n                                                   #is_promo_have_max_discount_limit=\\\"ngModel\\\"\\r\\n                                                   name=\\\"is_promo_have_max_discount_limit\\\"></ui-switch>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-lg-4 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" [disabled]=\\\"!add_promo_code.is_promo_have_max_discount_limit\\\"\\r\\n                                               class=\\\"form-control\\\"\\r\\n                                               [(ngModel)]=\\\"add_promo_code.promo_code_max_discount_amount\\\"\\r\\n                                               #promo_code_max_discount_amount=\\\"ngModel\\\"\\r\\n                                               (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                                               name=\\\"promo_code_max_discount_amount\\\" required/>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-12\\\">\\r\\n                                    <label class=\\\"col-lg-5 control-label\\\">{{title.is_promo_have_item_count_limit |\\r\\n                                        translate}}</label>\\r\\n                                    <div class=\\\"col-lg-3 form-group\\\">\\r\\n                                        <ui-switch class=\\\"pull-right\\\"\\r\\n                                                   [(ngModel)]=\\\"add_promo_code.is_promo_have_item_count_limit\\\"\\r\\n                                                   #is_promo_have_item_count_limit=\\\"ngModel\\\"\\r\\n                                                   name=\\\"is_promo_have_item_count_limit\\\"></ui-switch>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-lg-4 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" [disabled]=\\\"!add_promo_code.is_promo_have_item_count_limit\\\"\\r\\n                                               class=\\\"form-control\\\"\\r\\n                                               [(ngModel)]=\\\"add_promo_code.promo_code_apply_on_minimum_item_count\\\"\\r\\n                                               #promo_code_apply_on_minimum_item_count=\\\"ngModel\\\"\\r\\n                                               (keypress)=\\\"helper.number_validation($event)\\\"\\r\\n                                               name=\\\"promo_code_apply_on_minimum_item_count\\\" required/>\\r\\n                                        <div *ngIf=\\\"promo_code_apply_on_minimum_item_count.errors && (promo_code_apply_on_minimum_item_count.dirty || promo_code_apply_on_minimum_item_count.touched)\\\">\\r\\n                                            <div style=\\\"color: red;\\\"\\r\\n                                                 [hidden]=\\\"!promo_code_apply_on_minimum_item_count.errors.required\\\">\\r\\n                                                {{validation_message.promo_code_uses_required | translate}}\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-12\\\">\\r\\n                                    <label class=\\\"col-lg-5 control-label\\\">{{title.is_promo_have_date |\\r\\n                                        translate}}</label>\\r\\n                                    <div class=\\\"col-lg-3 form-group\\\">\\r\\n                                        <ui-switch class=\\\"pull-right\\\" (change)=\\\"change_switch()\\\"\\r\\n                                                   [(ngModel)]=\\\"add_promo_code.is_promo_have_date\\\"\\r\\n                                                   #is_promo_have_date=\\\"ngModel\\\"\\r\\n                                                   name=\\\"is_promo_have_date\\\"></ui-switch>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-12\\\" [hidden]=\\\"!add_promo_code.is_promo_have_date\\\">\\r\\n                                    <label class=\\\"col-lg-6 control-label\\\">{{title.start_date | translate}}</label>\\r\\n                                    <div class=\\\"col-lg-6 form-group\\\">\\r\\n                                        <my-date-picker [options]=\\\"helper.promocodeStartDatePickerOptions\\\"\\r\\n                                                        placeholder=\\\"{{title.start_date | translate}}\\\"\\r\\n                                                        [(ngModel)]=\\\"add_promo_code.promo_start_date\\\"\\r\\n                                                        #promo_start_date=\\\"ngModel\\\"\\r\\n                                                        (dateChanged)=\\\"helper.promocodeOnStartDateChanged($event)\\\"\\r\\n                                                        name=\\\"promo_start_date\\\" required></my-date-picker>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-12\\\" [hidden]=\\\"!add_promo_code.is_promo_have_date\\\">\\r\\n                                    <label class=\\\"col-lg-6 control-label\\\">{{title.code_expiry | translate}}</label>\\r\\n                                    <div class=\\\"col-lg-6 form-group\\\">\\r\\n                                        <my-date-picker id=\\\"expiry_date\\\"\\r\\n                                                        [options]=\\\"helper.promocodeEndDatePickerOptions\\\"\\r\\n                                                        placeholder=\\\"{{title.end_date | translate}}\\\"\\r\\n                                                        [(ngModel)]=\\\"add_promo_code.promo_expire_date\\\"\\r\\n                                                        #promo_expire_date=\\\"ngModel\\\"\\r\\n                                                        (dateChanged)=\\\"helper.promocodeOnEndDateChanged($event)\\\"\\r\\n                                                        name=\\\"promo_expire_date\\\" required></my-date-picker>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-4\\\">\\r\\n                <div class=\\\"col-md-12 no_padding\\\" [hidden]=\\\"!add_promo_code.is_promo_have_date\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-content\\\" style=\\\"height: 480px;\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n\\r\\n                                <div class=\\\"col-md-12\\\">\\r\\n                                    <label class=\\\"col-lg-6 control-label\\\">{{title.promo_recursion_type |\\r\\n                                        translate}}</label>\\r\\n                                    <div class=\\\"col-lg-6 form-group\\\">\\r\\n                                        <select chosen class=\\\"form-control chosen-select\\\" id=\\\"promo_recursion_type\\\"\\r\\n                                                [(ngModel)]=\\\"add_promo_code.promo_recursion_type\\\"\\r\\n                                                #promo_recursion_type=\\\"ngModel\\\" name=\\\"promo_recursion_type\\\" required>\\r\\n                                            <option *ngFor=\\\"let i of helper.PROMO_RECURSION;\\\" value=\\\"{{i.ID}}\\\">\\r\\n                                                {{i.NAME}}\\r\\n                                            </option>\\r\\n                                        </select>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-12\\\" [hidden]=\\\"add_promo_code.promo_recursion_type == 0\\\">\\r\\n                                    <label class=\\\"col-lg-6 control-label\\\">{{title.start_time | translate}}</label>\\r\\n                                    <div class=\\\"col-lg-6 col-xs-6 form-group input-group clock-picker\\\" id=\\\"clock-picker\\\"\\r\\n                                         data-autoclose=\\\"true\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" id=\\\"promo_start_time\\\"\\r\\n                                               [(ngModel)]=\\\"add_promo_code.promo_start_time\\\" #promo_start_time=\\\"ngModel\\\"\\r\\n                                               name=\\\"promo_start_time\\\" readonly required>\\r\\n                                        <span class=\\\"input-group-addon\\\">\\r\\n                                          <span class=\\\"fa fa-clock-o\\\"></span>\\r\\n                                    </span>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-12\\\" [hidden]=\\\"add_promo_code.promo_recursion_type < 1\\\">\\r\\n                                    <label class=\\\"col-lg-6 control-label\\\">{{title.end_time | translate}}</label>\\r\\n                                    <div class=\\\"col-lg-6 col-xs-6 form-group input-group clock-picker\\\" id=\\\"clock-picker\\\"\\r\\n                                         data-autoclose=\\\"true\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" id=\\\"promo_end_time\\\"\\r\\n                                               [(ngModel)]=\\\"add_promo_code.promo_end_time\\\" #promo_end_time=\\\"ngModel\\\"\\r\\n                                               name=\\\"promo_end_time\\\" readonly required>\\r\\n                                        <span class=\\\"input-group-addon\\\">\\r\\n                                          <span class=\\\"fa fa-clock-o\\\"></span>\\r\\n                                    </span>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-12\\\"\\r\\n                                     *ngIf=\\\"add_promo_code.is_promo_have_date && add_promo_code.promo_recursion_type >=4\\\"\\r\\n                                     [hidden]=\\\"!add_promo_code.is_promo_have_date || add_promo_code.promo_recursion_type < 4\\\">\\r\\n                                    <label class=\\\"col-lg-6 control-label\\\">{{title.months | translate}}</label>\\r\\n                                    <div class=\\\"col-lg-6 form-group\\\">\\r\\n                                        <select chosen class=\\\"form-control chosen-select\\\" id=\\\"months\\\"\\r\\n                                                [(ngModel)]=\\\"add_promo_code.months\\\" #months=\\\"ngModel\\\" multiple\\r\\n                                                name=\\\"months\\\" required>\\r\\n                                            <option *ngFor=\\\"let i of helper.MONTH;\\\" value=\\\"{{i}}\\\">{{i | translate}}\\r\\n                                            </option>\\r\\n                                        </select>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-12\\\"\\r\\n                                     *ngIf=\\\"add_promo_code.is_promo_have_date && add_promo_code.promo_recursion_type >=3\\\">\\r\\n                                    <label class=\\\"col-lg-6 control-label\\\">{{title.weeks | translate}}</label>\\r\\n                                    <div class=\\\"col-lg-6 form-group\\\">\\r\\n                                        <select chosen class=\\\"form-control chosen-select\\\" id=\\\"weeks\\\"\\r\\n                                                [(ngModel)]=\\\"add_promo_code.weeks\\\" #weeks=\\\"ngModel\\\" multiple\\r\\n                                                name=\\\"weeks\\\" required>\\r\\n                                            <option *ngFor=\\\"let i of helper.WEEK;\\\" value=\\\"{{i}}\\\">{{i | translate}}\\r\\n                                            </option>\\r\\n                                        </select>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-12\\\"\\r\\n                                     *ngIf=\\\"add_promo_code.is_promo_have_date && add_promo_code.promo_recursion_type >=2\\\">\\r\\n                                    <label class=\\\"col-lg-6 control-label\\\">{{title.days | translate}}</label>\\r\\n                                    <div class=\\\"col-lg-6 form-group\\\">\\r\\n                                        <select chosen class=\\\"form-control chosen-select\\\" id=\\\"days\\\"\\r\\n                                                [(ngModel)]=\\\"add_promo_code.days\\\" #days=\\\"ngModel\\\" multiple name=\\\"days\\\"\\r\\n                                                required>\\r\\n                                            <option *ngFor=\\\"let i of helper.DAY;\\\" value=\\\"{{i}}\\\">{{i | translate}}\\r\\n                                            </option>\\r\\n                                        </select>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-12\\\" [hidden]=\\\"add_promo_code.promo_for==helper.PROMO_FOR_ID.STORE\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-content\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12\\\">\\r\\n                                <div class=\\\"form-group\\\" *ngIf=\\\"add_promo_code.promo_for == helper.PROMO_FOR_ID.PRODUCT\\\">\\r\\n                                    <div class=\\\"col-md-4\\\" style=\\\"margin-bottom: 5px;\\\" *ngFor=\\\"let i of product_list;\\\">\\r\\n                                        <label><input class=\\\"icheckproduct\\\" id=\\\"icheckproduct{{i._id}}\\\" type=\\\"checkbox\\\"\\r\\n                                                      value=\\\"{{i._id}}\\\"/><span\\r\\n                                                style=\\\"margin-left: 10px;\\\">{{i.name}}</span></label>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\" *ngIf=\\\"add_promo_code.promo_for == helper.PROMO_FOR_ID.ITEM\\\">\\r\\n                                    <div *ngFor=\\\"let product of item_list;\\\">\\r\\n                                        <div class=\\\"col-md-4\\\" style=\\\"margin-bottom: 5px;\\\"\\r\\n                                             *ngFor=\\\"let i of product.items;\\\">\\r\\n                                            <label><input class=\\\"icheckitem\\\" id=\\\"icheckitem{{i._id}}\\\" type=\\\"checkbox\\\"\\r\\n                                                          value=\\\"{{i._id}}\\\"/><span\\r\\n                                                    style=\\\"margin-left: 10px;\\\">{{i.name}}</span></label>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-12\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-content wizard\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-lg-4\\\">\\r\\n                            </div>\\r\\n                            <div *ngIf=\\\"promo_id==''\\\" class=\\\"col-lg-4\\\" style=\\\"text-align: center;\\\">\\r\\n                                <input type=\\\"submit\\\" id=\\\"submit\\\" name=\\\"submit\\\" style=\\\"width: 60%;\\\"\\r\\n                                       class=\\\"btn btn-primary\\\" value=\\\"{{button.submit | translate}}\\\">\\r\\n                            </div>\\r\\n                            <div *ngIf=\\\"promo_id!==''\\\" class=\\\"col-lg-4\\\" style=\\\"text-align: center;\\\">\\r\\n                                <input type=\\\"submit\\\" id=\\\"update\\\" name=\\\"update\\\" style=\\\"width: 60%;\\\"\\r\\n                                       class=\\\"btn btn-primary\\\" value=\\\"{{button.update | translate}}\\\">\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </form>\\r\\n    </div>\\r\\n\\r\\n\\r\\n</div>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/store/add_promo_code/add_promo_code.component.html\n// module id = 1689\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"this.myLoading\\\" ></footer>\\r\\n\\r\\n<html>\\r\\n<head>\\r\\n  <meta http-equiv=\\\"Content-Type\\\" content=\\\"text/html; charset=utf-8\\\" />\\r\\n  <link rel=\\\"stylesheet\\\" type=\\\"text/css\\\" href=\\\"../../../../assets/user_panel/css/style.css\\\">\\r\\n  <link rel=\\\"stylesheet\\\" type=\\\"text/css\\\" href=\\\"../../../../assets/user_panel/css/bootstrap-theme.min.css\\\">\\r\\n  <link rel=\\\"stylesheet\\\" type=\\\"text/css\\\" href=\\\"../../../../assets/user_panel/css/bootstrap.min.css\\\">\\r\\n  <meta name=\\\"viewport\\\" content=\\\"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no\\\">\\r\\n  <link rel=\\\"stylesheet\\\" type=\\\"text/css\\\" href=\\\"../../../../assets/user_panel/css/font-awesome.min.css\\\">\\r\\n</head>\\r\\n\\r\\n<style>\\r\\n  #map_pin{\\r\\n    bottom: 50% !important;\\r\\n  }\\r\\n</style>\\r\\n<body>\\r\\n\\r\\n  <div class=\\\"map_first_div mapsection1\\\">\\r\\n    <form #userForm=\\\"ngForm\\\" (ngSubmit)=\\\"update_address(userForm.value)\\\" enctype='multipart/form-data' >\\r\\n      <div class=\\\"wrap wrap_store\\\">\\r\\n        <div class=\\\"row\\\">\\r\\n          <div class=\\\"col-lg-8 col-md-12 col-xs-12\\\" style=\\\"overflow: hidden;\\\">\\r\\n\\r\\n            <div class=\\\"adddetails\\\" style=\\\"position: absolute;z-index: 999;margin-top: 10px;\\\">\\r\\n                <div class=\\\" col-sm-4 col-md-6 col-xs-12\\\">\\r\\n                  <input [readonly]=\\\"!edit_address\\\" type=\\\"text\\\" [(ngModel)]=\\\"user_data.first_name\\\" #first_name=\\\"ngModel\\\" name=\\\"first_name\\\" class=\\\"adddetailstext\\\" placeholder=\\\"{{title.enter_first_name | translate}}\\\" required>\\r\\n                  <div class=\\\"adddetailsline1\\\"></div>\\r\\n                </div>\\r\\n                <div class=\\\"col-sm-4 col-md-6 col-xs-12\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                  <input [readonly]=\\\"!edit_address\\\"  type=\\\"text\\\" [(ngModel)]=\\\"user_data.last_name\\\" #last_name=\\\"ngModel\\\" name=\\\"last_name\\\" class=\\\"adddetailstext\\\" placeholder=\\\"{{title.enter_last_name | translate}}\\\" required>\\r\\n                  <div class=\\\"adddetailsline1\\\"></div>\\r\\n                </div>\\r\\n                <div class=\\\" col-sm-4 col-md-6 col-xs-12\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                  <input [readonly]=\\\"!edit_address\\\" type=\\\"email\\\" [(ngModel)]=\\\"user_data.email\\\" #email=\\\"ngModel\\\" name=\\\"email\\\" class=\\\"adddetailstext\\\" placeholder=\\\"{{title.enter_email | translate}}\\\" required>\\r\\n                  <div class=\\\"adddetailsline1\\\"></div>\\r\\n                </div>\\r\\n                <div class=\\\"col-sm-4 col-md-6 col-xs-12\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                  <input [readonly]=\\\"!edit_address\\\" type=\\\"text\\\" [(ngModel)]=\\\"user_data.phone\\\" minlength=\\\"{{minimum_phone_number_length}}\\\" maxlength=\\\"{{maximum_phone_number_length}}\\\" #phone=\\\"ngModel\\\" name=\\\"phone\\\" class=\\\"adddetailstext\\\" (keypress)=\\\"helper.number_validation($event)\\\" placeholder=\\\"{{title.enter_mobile_no | translate}}\\\" required>\\r\\n                  <div class=\\\"adddetailsline1\\\"></div>\\r\\n                </div>\\r\\n                <div class=\\\"row\\\">\\r\\n                  <div class=\\\"col-md-12 deladd\\\">\\r\\n                    <input [readonly]=\\\"!edit_address\\\" type=\\\"text\\\" id=\\\"input\\\" style=\\\"width: 95%;\\\" name=\\\"delivery_address\\\" [(ngModel)]=\\\"delivery_address\\\" class=\\\"adddetailstext\\\"\\r\\n                           placeholder=\\\"{{title.enter_address}}\\\" required>\\r\\n                    <span *ngIf=\\\"!edit_address\\\" class=\\\"fa fa-pencil\\\" (click)=\\\"edit_address_field()\\\"></span>\\r\\n                    <button style=\\\"border: 0;background-color: #fff;\\\" type=\\\"submit\\\"><span *ngIf=\\\"edit_address\\\" class=\\\"fa fa-check\\\"></span></button>\\r\\n                    <div class=\\\"adddetailsline1\\\"></div>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n            <div>\\r\\n              <div id=\\\"map\\\" style=\\\"height: calc(100vh - 96px);\\\"></div>\\r\\n              <img src=\\\"./map_pin_images/Store/store_business_off.png\\\" id=\\\"map_pin\\\"/>\\r\\n              <img src=\\\"./map_pin_images/location.png\\\" id=\\\"location_image\\\" (click)=\\\"set_current_location()\\\"/>\\r\\n            </div>\\r\\n\\r\\n          </div>\\r\\n          <div class=\\\"col-lg-4 col-md-12 scroll_invoice\\\" style=\\\"marin-top:10px;max-height: calc(100vh - 60px);overflow-y: auto;\\\">\\r\\n            <div class=\\\"deldes\\\">\\r\\n\\r\\n              <textarea class=\\\"delnote\\\" name=\\\"delivery_note\\\" [(ngModel)]=\\\"delivery_note\\\" style=\\\"width: 100%;max-width: 100%; max-height: 80px;\\\" placeholder=\\\"Add Delivery Note\\\"></textarea>\\r\\n\\r\\n\\r\\n              <div class=\\\"col-lg-12 form-group\\\" style=\\\"padding: 0;\\\">\\r\\n                <input type=\\\"checkbox\\\" name=\\\"is_user_pick_up_order\\\" class=\\\"icheck\\\" [(ngModel)]=\\\"is_user_pick_up_order\\\"><span style=\\\"margin-left:10px;\\\">user will pickup delivery</span>\\r\\n              </div>\\r\\n\\r\\n              <h1 class=\\\"storepaulmap\\\">{{title.order_details | translate}}</h1>\\r\\n\\r\\n              <div class=\\\"priceboxmap\\\" *ngIf=\\\"order_payment.total_service_price > 0\\\">\\r\\n                <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n                  <p class=\\\"baseprice\\\">{{title.service_price | translate}}\\r\\n                  </p>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-3 col-sm-3 col-xs-3 text-right\\\">\\r\\n                  <p class=\\\"baseprice\\\">{{delivery_currency}}{{(order_payment.total_service_price).toFixed(2)}}</p>\\r\\n\\r\\n                </div>\\r\\n              </div>\\r\\n              <div class=\\\"adddetailsline\\\" *ngIf=\\\"order_payment.total_service_price > 0\\\"></div>\\r\\n              <div class=\\\"priceboxmap\\\" *ngIf=\\\"order_payment.total_admin_tax_price > 0\\\">\\r\\n                <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n                  <p class=\\\"baseprice\\\">{{title.tax_price | translate}} <span> {{order_payment.service_tax}}%</span></p>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-3 col-sm-3 col-xs-3 text-right\\\">\\r\\n                  <p class=\\\"baseprice\\\">{{delivery_currency}}{{(order_payment.total_admin_tax_price).toFixed(2)}}</p>\\r\\n\\r\\n                </div>\\r\\n              </div>\\r\\n              <div class=\\\"adddetailsline\\\" *ngIf=\\\"order_payment.total_admin_tax_price > 0\\\"></div>\\r\\n              <!--<div class=\\\"priceboxmap\\\" *ngIf=\\\"order_payment.total_surge_price > 0\\\">-->\\r\\n                <!--<div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">-->\\r\\n                  <!--<p class=\\\"baseprice\\\">{{title.surge_price | translate}} <span> X{{order_payment.surge_charges}}</span></p>-->\\r\\n                <!--</div>-->\\r\\n                <!--<div class=\\\"col-md-3 col-sm-3 col-xs-3 text-right\\\">-->\\r\\n                  <!--<p class=\\\"baseprice\\\">{{delivery_currency}}{{(order_payment.total_surge_price).toFixed(2)}}</p>-->\\r\\n\\r\\n                <!--</div>-->\\r\\n              <!--</div>-->\\r\\n\\r\\n              <!--<div class=\\\"adddetailsline\\\" *ngIf=\\\"order_payment.total_surge_price > 0\\\"></div>-->\\r\\n              <div class=\\\"priceboxmap\\\" *ngIf=\\\"order_payment.promo_payment > 0\\\">\\r\\n                <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n                  <p class=\\\"baseprice\\\">{{title.promo_bonus | translate}}</p>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-3 col-sm-3 col-xs-3 text-right\\\">\\r\\n                  <p class=\\\"baseprice\\\">{{delivery_currency}}{{(order_payment.promo_payment).toFixed(2)}}</p>\\r\\n\\r\\n                </div>\\r\\n              </div>\\r\\n\\r\\n              <div class=\\\"adddetailsline\\\" *ngIf=\\\"order_payment.promo_payment > 0\\\"></div>\\r\\n              <div class=\\\"priceboxmap\\\" *ngIf=\\\"order_payment.delivery_price > 0\\\">\\r\\n                <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n                    <p class=\\\"servicecost\\\">{{title.total_service_cost | translate}} </p>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-3 col-sm-3 col-xs-3 text-right\\\">\\r\\n                  <p class=\\\"baseprice\\\">{{delivery_currency}}{{(order_payment.delivery_price).toFixed(2)}}</p>\\r\\n\\r\\n                </div>\\r\\n              </div>\\r\\n              <div class=\\\"adddetailsline\\\" *ngIf=\\\"order_payment.delivery_price > 0\\\"></div>\\r\\n              <div class=\\\"priceboxmap\\\" *ngIf=\\\"order_payment.total_store_tax_price > 0\\\">\\r\\n                <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n                  <p class=\\\"baseprice\\\">{{title.tax_price | translate}} <span> {{order_payment.item_tax}}%</span></p>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-3 col-sm-3 col-xs-3 text-right\\\">\\r\\n                  <p class=\\\"baseprice\\\">{{delivery_currency}}{{(order_payment.total_store_tax_price).toFixed(2)}}</p>\\r\\n\\r\\n                </div>\\r\\n              </div>\\r\\n\\r\\n              <div class=\\\"adddetailsline\\\" *ngIf=\\\"order_payment.total_store_tax_price > 0\\\"></div>\\r\\n              <div class=\\\"priceboxmap\\\" *ngIf=\\\"order_payment.total_cart_price > 0\\\">\\r\\n                <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n                  <p class=\\\"baseprice\\\">{{title.item_price | translate}}<span> {{order_payment.total_item_count}} item</span></p>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-3 col-sm-3 col-xs-3 text-right\\\">\\r\\n                  <p class=\\\"baseprice\\\">{{delivery_currency}}{{(order_payment.total_cart_price).toFixed(2)}}</p>\\r\\n\\r\\n                </div>\\r\\n              </div>\\r\\n              <div class=\\\"adddetailsline\\\" *ngIf=\\\"order_payment.total_cart_price > 0\\\"></div>\\r\\n              <!--<div class=\\\"priceboxmap\\\" *ngIf=\\\"order_payment.total_specification_price > 0\\\">-->\\r\\n                <!--<div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">-->\\r\\n                  <!--<p class=\\\"baseprice\\\">{{title.specification_price | translate}} <span> {{order_payment.total_specification_count}} Spec</span></p>-->\\r\\n                <!--</div>-->\\r\\n                <!--<div class=\\\"col-md-3 col-sm-3 col-xs-3 text-right\\\">-->\\r\\n                  <!--<p class=\\\"baseprice\\\">{{delivery_currency}}{{(order_payment.total_specification_price).toFixed(2)}}</p>-->\\r\\n\\r\\n                <!--</div>-->\\r\\n              <!--</div>-->\\r\\n              <!--<div class=\\\"adddetailsline\\\" *ngIf=\\\"order_payment.total_specification_price > 0\\\"></div>-->\\r\\n              <div class=\\\"priceboxmap\\\">\\r\\n                <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n                  <p class=\\\"servicecost\\\">{{title.total_item_cost | translate}} </p>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-3 col-sm-3 col-xs-3 text-right\\\">\\r\\n                  <p class=\\\"baseprice\\\">{{delivery_currency}}{{(order_payment.total_order_price).toFixed(2)}}</p>\\r\\n\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n\\r\\n            <div [hidden]=\\\"order_payment.total==0\\\">\\r\\n              <button (click)=\\\"pay_order_payment()\\\" type=\\\"button\\\" style=\\\"width: 100%;background-color: black;border: 0;\\\">\\r\\n                <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n                  <h1 class=\\\"totalprice\\\" style=\\\"float: left;\\\">{{button.place_order | translate}}</h1>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n                  <h1 class=\\\"totalprice\\\">{{delivery_currency}}{{(order_payment.total).toFixed(2)}}</h1>\\r\\n                </div>\\r\\n              </button>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </form>\\r\\n  </div>\\r\\n</body>\\r\\n</html>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" style=\\\"z-index: 9999 !important;top: 25%;\\\" cssClass=\\\"modal-sm\\\" #orderAmountInvalid id=\\\"orderAmountInvalid\\\">\\r\\n\\r\\n  <modal-body>\\r\\n    <div>\\r\\n      {{title.invalid_amount | translate}} {{mimimum_amount}}\\r\\n    </div>\\r\\n  </modal-body>\\r\\n  <modal-footer>\\r\\n    <div style=\\\"text-align: center\\\">\\r\\n      <button type=\\\"button\\\" (click)=\\\"redirect_to_checkout()\\\" class=\\\"btn btn-black\\\">{{button.ok | translate}}</button>\\r\\n    </div>\\r\\n  </modal-footer>\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" style=\\\"z-index: 9999 !important;top: 25%;\\\" cssClass=\\\"modal-xl\\\" #user_data_modal id=\\\"user_data_modal\\\">\\r\\n  <form #user_data_form=\\\"ngForm\\\" (ngSubmit)=\\\"update_address()\\\">\\r\\n    <modal-body>\\r\\n      <div class=\\\"row\\\">\\r\\n        <div class=\\\" col-sm-12 col-md-6 col-xs-12\\\" style=\\\"margin-top: 10px;\\\">\\r\\n          <input type=\\\"text\\\" [(ngModel)]=\\\"user_data.first_name\\\" #first_name=\\\"ngModel\\\" name=\\\"first_name\\\" class=\\\"adddetailstext\\\" placeholder=\\\"{{title.enter_first_name | translate}}\\\" required>\\r\\n          <div class=\\\"adddetailsline1\\\"></div>\\r\\n        </div>\\r\\n        <div class=\\\"col-sm-12 col-md-6 col-xs-12\\\" style=\\\"margin-top: 10px;\\\">\\r\\n          <input type=\\\"text\\\" [(ngModel)]=\\\"user_data.last_name\\\" #last_name=\\\"ngModel\\\" name=\\\"last_name\\\" class=\\\"adddetailstext\\\" placeholder=\\\"{{title.enter_last_name | translate}}\\\" required>\\r\\n          <div class=\\\"adddetailsline1\\\"></div>\\r\\n        </div>\\r\\n        <div class=\\\" col-sm-12 col-md-6 col-xs-12\\\" style=\\\"margin-top: 10px;\\\">\\r\\n          <input type=\\\"email\\\" [(ngModel)]=\\\"user_data.email\\\" #email=\\\"ngModel\\\" name=\\\"email\\\" class=\\\"adddetailstext\\\" placeholder=\\\"{{title.enter_email | translate}}\\\" required>\\r\\n          <div class=\\\"adddetailsline1\\\"></div>\\r\\n        </div>\\r\\n        <div class=\\\"col-sm-12 col-md-6 col-xs-12\\\" style=\\\"margin-top: 10px;\\\">\\r\\n          <input type=\\\"text\\\" [(ngModel)]=\\\"user_data.phone\\\" minlength=\\\"{{minimum_phone_number_length}}\\\" maxlength=\\\"{{maximum_phone_number_length}}\\\" #phone=\\\"ngModel\\\" name=\\\"phone\\\" class=\\\"adddetailstext\\\" (keypress)=\\\"helper.number_validation($event)\\\" placeholder=\\\"{{title.enter_mobile_no | translate}}\\\" required>\\r\\n          <div class=\\\"adddetailsline1\\\"></div>\\r\\n        </div>\\r\\n        <div style=\\\"color: red;\\\" *ngIf=\\\"mimimum_amount>0\\\">{{title.invalid_amount | translate}} {{mimimum_amount}}</div>\\r\\n      </div>\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n      <div style=\\\"text-align: center\\\">\\r\\n        <button type=\\\"submit\\\" class=\\\"btn btn-black\\\">{{button.submit | translate}}</button>\\r\\n      </div>\\r\\n    </modal-footer>\\r\\n  </form>\\r\\n</modal>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/store/checkout_order/checkout_order.component.html\n// module id = 1690\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"this.myLoading\\\" ></footer>\\r\\n\\r\\n<html>\\r\\n<head>\\r\\n  <meta http-equiv=\\\"Content-Type\\\" content=\\\"text/html; charset=utf-8\\\" />\\r\\n  <link rel=\\\"stylesheet\\\" type=\\\"text/css\\\" href=\\\"../../../../assets/user_panel/css/style.css\\\">\\r\\n  <link rel=\\\"stylesheet\\\" type=\\\"text/css\\\" href=\\\"../../../../assets/user_panel/css/bootstrap-theme.min.css\\\">\\r\\n  <link rel=\\\"stylesheet\\\" type=\\\"text/css\\\" href=\\\"../../../../assets/user_panel/css/bootstrap.min.css\\\">\\r\\n  <meta name=\\\"viewport\\\" content=\\\"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no\\\">\\r\\n  <link rel=\\\"stylesheet\\\" type=\\\"text/css\\\" href=\\\"../../../../assets/user_panel/css/font-awesome.min.css\\\">\\r\\n</head>\\r\\n\\r\\n<style>\\r\\n  #map_pin{\\r\\n    bottom: 50% !important;\\r\\n  }\\r\\n</style>\\r\\n<body>\\r\\n\\r\\n  <div class=\\\"map_first_div mapsection1\\\">\\r\\n    <form #userForm=\\\"ngForm\\\" (ngSubmit)=\\\"update_address()\\\" enctype='multipart/form-data'>\\r\\n      <div class=\\\"wrap wrap_store\\\">\\r\\n        <div class=\\\"row\\\">\\r\\n          <div class=\\\"col-lg-8 col-md-12 col-xs-12\\\" style=\\\"overflow: hidden;\\\">\\r\\n\\r\\n            <div class=\\\"adddetails\\\" style=\\\"position: absolute;z-index: 999;margin-top: 10px;height: 230px;\\\">\\r\\n                <div class=\\\" col-sm-4 col-md-6 col-xs-6\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                  <input [readonly]=\\\"!edit_address\\\" type=\\\"text\\\" [(ngModel)]=\\\"user_data.first_name\\\" #first_name=\\\"ngModel\\\" name=\\\"first_name\\\" class=\\\"adddetailstext\\\" placeholder=\\\"{{title.enter_first_name | translate}}\\\" required>\\r\\n                  <div class=\\\"adddetailsline1\\\"></div>\\r\\n                </div>\\r\\n                <div class=\\\"col-sm-4 col-md-6 col-xs-6\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                  <input [readonly]=\\\"!edit_address\\\" type=\\\"text\\\" [(ngModel)]=\\\"user_data.last_name\\\" #last_name=\\\"ngModel\\\" name=\\\"last_name\\\" class=\\\"adddetailstext\\\" placeholder=\\\"{{title.enter_last_name | translate}}\\\" required>\\r\\n                  <div class=\\\"adddetailsline1\\\"></div>\\r\\n                </div>\\r\\n                <div class=\\\" col-sm-4 col-md-6 col-xs-6\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                  <input [readonly]=\\\"!edit_address\\\" type=\\\"email\\\" [(ngModel)]=\\\"user_data.email\\\" #email=\\\"ngModel\\\" name=\\\"email\\\" class=\\\"adddetailstext\\\" placeholder=\\\"{{title.enter_email | translate}}\\\" required>\\r\\n                  <div class=\\\"adddetailsline1\\\"></div>\\r\\n                </div>\\r\\n                <div class=\\\"col-sm-4 col-md-6 col-xs-6\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                  <input [readonly]=\\\"!edit_address\\\" type=\\\"text\\\" [(ngModel)]=\\\"user_data.phone\\\" minlength=\\\"{{minimum_phone_number_length}}\\\" maxlength=\\\"{{maximum_phone_number_length}}\\\" #phone=\\\"ngModel\\\" name=\\\"phone\\\" class=\\\"adddetailstext\\\" (keypress)=\\\"helper.number_validation($event)\\\" placeholder=\\\"{{title.enter_mobile_no | translate}}\\\" required>\\r\\n                  <div class=\\\"adddetailsline1\\\"></div>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                  <input [readonly]=\\\"!edit_address\\\" type=\\\"text\\\" style=\\\"width: 95%;\\\" name=\\\"product_total\\\" (keypress)=\\\"helper.number_validation($event)\\\" [(ngModel)]=\\\"product_total\\\" class=\\\"adddetailstext\\\"\\r\\n                         placeholder=\\\"{{title.product_price}}\\\" required>\\r\\n                  <div class=\\\"adddetailsline1\\\"></div>\\r\\n                </div>\\r\\n                <div class=\\\"row\\\">\\r\\n                  <div class=\\\"col-md-12 deladd\\\">\\r\\n                    <input [readonly]=\\\"!edit_address\\\" id=\\\"input\\\" type=\\\"text\\\" style=\\\"width: 95%;\\\" name=\\\"delivery_address\\\" [(ngModel)]=\\\"delivery_address\\\" class=\\\"adddetailstext\\\"\\r\\n                           placeholder=\\\"{{title.enter_address}}\\\" required>\\r\\n                    <span *ngIf=\\\"!edit_address\\\" class=\\\"fa fa-pencil\\\" (click)=\\\"edit_address_field()\\\"></span>\\r\\n                    <button style=\\\"border: 0;background-color: #fff;\\\" type=\\\"submit\\\"><span *ngIf=\\\"edit_address\\\" class=\\\"fa fa-check\\\"></span></button>\\r\\n                    <div class=\\\"adddetailsline1\\\"></div>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n            <div>\\r\\n              <div id=\\\"map\\\" style=\\\"height: calc(100vh - 96px);\\\"></div>\\r\\n              <img src=\\\"./map_pin_images/Store/store_business_off.png\\\" id=\\\"map_pin\\\"/>\\r\\n              <img src=\\\"./map_pin_images/location.png\\\" id=\\\"location_image\\\" (click)=\\\"set_current_location()\\\"/>\\r\\n            </div>\\r\\n\\r\\n          </div>\\r\\n          <div class=\\\"col-lg-4 col-md-12 scroll_invoice\\\" style=\\\"marin-top:10px;max-height: calc(100vh - 60px);overflow-y: auto;\\\">\\r\\n            <div class=\\\"deldes\\\">\\r\\n\\r\\n              <textarea class=\\\"delnote\\\" name=\\\"delivery_note\\\" [(ngModel)]=\\\"delivery_note\\\" style=\\\"width: 100%;max-width: 100%; max-height: 80px;\\\" placeholder=\\\"Add Delivery Note\\\"></textarea>\\r\\n\\r\\n\\r\\n              <h1 class=\\\"storepaulmap\\\">{{title.order_details | translate}}</h1>\\r\\n\\r\\n              <div class=\\\"priceboxmap\\\" *ngIf=\\\"order_payment.total_service_price > 0\\\">\\r\\n                <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n                  <p class=\\\"baseprice\\\">{{title.service_price | translate}}\\r\\n\\r\\n                  </p>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-3 col-sm-3 col-xs-3 text-right\\\">\\r\\n                  <p class=\\\"baseprice\\\">{{delivery_currency}}{{(order_payment.total_service_price).toFixed(2)}}</p>\\r\\n\\r\\n                </div>\\r\\n              </div>\\r\\n              <div class=\\\"adddetailsline\\\" *ngIf=\\\"order_payment.total_service_price > 0\\\"></div>\\r\\n              <div class=\\\"priceboxmap\\\" *ngIf=\\\"order_payment.total_admin_tax_price > 0\\\">\\r\\n                <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n                  <p class=\\\"baseprice\\\">{{title.tax_price | translate}} <span> {{order_payment.service_tax}}%</span></p>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-3 col-sm-3 col-xs-3 text-right\\\">\\r\\n                  <p class=\\\"baseprice\\\">{{delivery_currency}}{{(order_payment.total_admin_tax_price).toFixed(2)}}</p>\\r\\n\\r\\n                </div>\\r\\n              </div>\\r\\n              <div class=\\\"adddetailsline\\\" *ngIf=\\\"order_payment.total_admin_tax_price > 0\\\"></div>\\r\\n              <div class=\\\"priceboxmap\\\" *ngIf=\\\"order_payment.total_surge_price > 0\\\">\\r\\n                <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n                  <p class=\\\"baseprice\\\">{{title.surge_price | translate}} <span> X{{order_payment.surge_charges}}</span></p>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-3 col-sm-3 col-xs-3 text-right\\\">\\r\\n                  <p class=\\\"baseprice\\\">{{delivery_currency}}{{(order_payment.total_surge_price).toFixed(2)}}</p>\\r\\n\\r\\n                </div>\\r\\n              </div>\\r\\n\\r\\n              <div class=\\\"priceboxmap\\\" *ngIf=\\\"order_payment.delivery_price > 0\\\">\\r\\n                <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n                  <p class=\\\"servicecost\\\">{{title.total_service_cost | translate}} </p>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-3 col-sm-3 col-xs-3 text-right\\\">\\r\\n                  <p class=\\\"baseprice\\\">{{delivery_currency}}{{(order_payment.delivery_price).toFixed(2)}}</p>\\r\\n\\r\\n                </div>\\r\\n              </div>\\r\\n              <div class=\\\"adddetailsline\\\" *ngIf=\\\"order_payment.delivery_price > 0\\\"></div>\\r\\n\\r\\n              <div class=\\\"priceboxmap\\\" *ngIf=\\\"order_payment.total_cart_price > 0\\\">\\r\\n                <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n                  <p class=\\\"baseprice\\\">{{title.item_price | translate}}<span> {{order_payment.total_item_count}} item</span></p>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-3 col-sm-3 col-xs-3 text-right\\\">\\r\\n                  <p class=\\\"baseprice\\\">{{delivery_currency}}{{(order_payment.total_cart_price).toFixed(2)}}</p>\\r\\n\\r\\n                </div>\\r\\n              </div>\\r\\n              <div class=\\\"adddetailsline\\\" *ngIf=\\\"order_payment.total_cart_price > 0\\\"></div>\\r\\n\\r\\n              <div class=\\\"priceboxmap\\\" *ngIf=\\\"order_payment.total_store_tax_price > 0\\\">\\r\\n                <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n                  <p class=\\\"baseprice\\\">{{title.tax_price | translate}} <span> {{order_payment.item_tax}}%</span></p>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-3 col-sm-3 col-xs-3 text-right\\\">\\r\\n                  <p class=\\\"baseprice\\\">{{delivery_currency}}{{(order_payment.total_store_tax_price).toFixed(2)}}</p>\\r\\n\\r\\n                </div>\\r\\n              </div>\\r\\n\\r\\n              <div class=\\\"adddetailsline\\\" *ngIf=\\\"order_payment.total_store_tax_price > 0\\\"></div>\\r\\n\\r\\n              <div class=\\\"priceboxmap\\\">\\r\\n                <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n                  <p class=\\\"servicecost\\\">{{title.total_item_cost | translate}} </p>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-3 col-sm-3 col-xs-3 text-right\\\">\\r\\n                  <p class=\\\"baseprice\\\">{{delivery_currency}}{{(order_payment.total_order_price).toFixed(2)}}</p>\\r\\n\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n\\r\\n            <div [hidden]=\\\"order_payment.total==0\\\">\\r\\n              <button (click)=\\\"pay_order_payment()\\\" type=\\\"button\\\" style=\\\"width: 100%;background-color: black;border: 0;\\\">\\r\\n                <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n                  <h1 class=\\\"totalprice\\\" style=\\\"float: left;\\\">{{button.place_order | translate}}</h1>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n                  <h1 class=\\\"totalprice\\\">{{delivery_currency}}{{(order_payment.total).toFixed(2)}}</h1>\\r\\n                </div>\\r\\n              </button>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </form>\\r\\n  </div>\\r\\n</body>\\r\\n</html>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" style=\\\"z-index: 9999 !important;top: 25%;\\\" cssClass=\\\"modal-sm\\\" #orderAmountInvalid id=\\\"orderAmountInvalid\\\">\\r\\n\\r\\n  <modal-body>\\r\\n    <div>\\r\\n      {{title.invalid_amount | translate}} {{mimimum_amount}}\\r\\n    </div>\\r\\n  </modal-body>\\r\\n  <modal-footer>\\r\\n    <div style=\\\"text-align: center\\\">\\r\\n      <button type=\\\"button\\\" (click)=\\\"redirect_to_checkout()\\\" class=\\\"btn btn-black\\\">{{button.ok | translate}}</button>\\r\\n    </div>\\r\\n  </modal-footer>\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" style=\\\"z-index: 9999 !important;top: 25%;\\\" cssClass=\\\"modal-xl\\\" #user_data_modal id=\\\"user_data_modal\\\">\\r\\n  <form #user_data_form=\\\"ngForm\\\" (ngSubmit)=\\\"update_address()\\\">\\r\\n    <modal-body>\\r\\n      <div class=\\\"row\\\">\\r\\n        <div class=\\\" col-sm-12 col-md-6 col-xs-12\\\" style=\\\"margin-top: 10px;\\\">\\r\\n          <input type=\\\"text\\\" [(ngModel)]=\\\"user_data.first_name\\\" #first_name=\\\"ngModel\\\" name=\\\"first_name\\\" class=\\\"adddetailstext\\\" placeholder=\\\"{{title.enter_first_name | translate}}\\\" required>\\r\\n          <div class=\\\"adddetailsline1\\\"></div>\\r\\n        </div>\\r\\n        <div class=\\\"col-sm-12 col-md-6 col-xs-12\\\" style=\\\"margin-top: 10px;\\\">\\r\\n          <input type=\\\"text\\\" [(ngModel)]=\\\"user_data.last_name\\\" #last_name=\\\"ngModel\\\" name=\\\"last_name\\\" class=\\\"adddetailstext\\\" placeholder=\\\"{{title.enter_last_name | translate}}\\\" required>\\r\\n          <div class=\\\"adddetailsline1\\\"></div>\\r\\n        </div>\\r\\n        <div class=\\\" col-sm-12 col-md-6 col-xs-12\\\" style=\\\"margin-top: 10px;\\\">\\r\\n          <input type=\\\"email\\\" [(ngModel)]=\\\"user_data.email\\\" #email=\\\"ngModel\\\" name=\\\"email\\\" class=\\\"adddetailstext\\\" placeholder=\\\"{{title.enter_email | translate}}\\\" required>\\r\\n          <div class=\\\"adddetailsline1\\\"></div>\\r\\n        </div>\\r\\n        <div class=\\\"col-sm-12 col-md-6 col-xs-12\\\" style=\\\"margin-top: 10px;\\\">\\r\\n          <input type=\\\"text\\\" [(ngModel)]=\\\"user_data.phone\\\" minlength=\\\"{{minimum_phone_number_length}}\\\" maxlength=\\\"{{maximum_phone_number_length}}\\\" #phone=\\\"ngModel\\\" name=\\\"phone\\\" class=\\\"adddetailstext\\\" (keypress)=\\\"helper.number_validation($event)\\\" placeholder=\\\"{{title.enter_mobile_no | translate}}\\\" required>\\r\\n          <div class=\\\"adddetailsline1\\\"></div>\\r\\n        </div>\\r\\n        <div class=\\\"col-sm-12 col-md-12 col-xs-12\\\" style=\\\"margin-top: 10px;\\\">\\r\\n          <input type=\\\"text\\\" style=\\\"width: 95%;\\\" name=\\\"product_total\\\" (keypress)=\\\"helper.number_validation($event)\\\" [(ngModel)]=\\\"product_total\\\" class=\\\"adddetailstext\\\"\\r\\n               placeholder=\\\"{{title.product_price}}\\\" required>\\r\\n          <div class=\\\"adddetailsline1\\\"></div>\\r\\n        </div>\\r\\n        <div style=\\\"color: red;\\\" *ngIf=\\\"mimimum_amount>0\\\">{{title.invalid_amount | translate}} {{mimimum_amount}}</div>\\r\\n      </div>\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n      <div style=\\\"text-align: center\\\">\\r\\n        <button type=\\\"submit\\\" class=\\\"btn btn-black\\\">{{button.submit | translate}}</button>\\r\\n      </div>\\r\\n    </modal-footer>\\r\\n  </form>\\r\\n</modal>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/store/create_order_without_item/create_order_without_item.component.html\n// module id = 1691\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n\\t<div class=\\\"row\\\">\\r\\n\\t\\t\\t\\t<div class=\\\"col-md-4 col-sm-12\\\">\\r\\n\\t\\t\\t\\t\\t<div class=\\\"lable_center\\\">\\r\\n\\t\\t\\t\\t\\t\\t<label>{{title.date_filter | translate}}</label>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\r\\n\\t\\t\\t\\t\\t<div class=\\\"col-md-12 remove_padding\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"form-group\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<my-date-picker [options]=\\\"helper.myStartDatePickerOptions\\\" placeholder=\\\"Date\\\" [(ngModel)]=\\\"start_date\\\" (dateChanged)=\\\"helper.onStartDateChanged($event)\\\"\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\treadonly></my-date-picker>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\r\\n\\t\\t\\t\\t<div class=\\\"col-md-4 col-sm-12\\\">\\r\\n\\t\\t\\t\\t\\t<div class=\\\"lable_center\\\">\\r\\n\\t\\t\\t\\t\\t\\t<label>{{title.search | translate}}</label>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t<div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<select chosen class=\\\"chosen-select\\\" id=\\\"search_field\\\" [(ngModel)]=\\\"search_field\\\" name=\\\"search_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<option value=\\\"user_detail.first_name\\\">{{title.filter_user | translate}}</option>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<option value=\\\"provider_detail.first_name\\\">{{title.filter_provider | translate}}</option>\\r\\n\\t\\t\\t\\t\\t\\t\\t</select>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t<div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"form-group\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<div class=\\\"input-group\\\">\\r\\n\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<input type=\\\"text\\\" class=\\\"form-control search_box\\\" [(ngModel)]=\\\"search_value\\\" #store_open_time=\\\"ngModel\\\" name=\\\"search_value\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<span class=\\\"input-group-addon search_icon\\\"><span class=\\\"fa fa-search\\\"></span></span>\\r\\n\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\r\\n\\r\\n\\t\\t\\t\\t<div class=\\\"col-md-4 col-sm-12\\\">\\r\\n\\t\\t\\t\\t\\t<div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n\\t\\t\\t\\t\\t\\t<input type=\\\"button\\\" (click)=\\\"export_excel()\\\" class=\\\"btn export_excel_btn pull-right\\\" value=\\\"{{button.export_excel | translate}}\\\" >\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t<div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n\\t\\t\\t\\t\\t\\t<input type=\\\"button\\\" (click)=\\\"store_daily_earning()\\\" class=\\\"btn filter_apply_btn pull-right\\\" value=\\\"{{button.apply | translate}}\\\" >\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\r\\n\\t\\t\\t</div>\\r\\n</div>\\r\\n\\r\\n<div class=\\\"wrapper content_top_bar_view1 wrapper-content animated fadeInRight\\\">\\r\\n\\t<div class=\\\"row\\\">\\r\\n\\t\\t<div class=\\\"ibox\\\" *ngIf=\\\"show==true\\\">\\r\\n\\t\\t\\t<div class=\\\"ibox-content\\\">\\r\\n\\t\\t\\t\\t<div class=\\\"row\\\">\\r\\n\\t\\t\\t\\t\\t<div class=\\\"col-md-3 col-sm-6\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"ibox\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<div class=\\\"ibox-title lable_center\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<div>\\r\\n\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<label>{{heading_title.total_order | translate}}</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<h2>{{store_analytic_daily.received}}</h2>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t<div class=\\\"col-md-3 col-sm-6\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"ibox\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<div class=\\\"ibox-title lable_center\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<div>\\r\\n\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<label>{{heading_title.accepted_order | translate}}</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<h2>{{store_analytic_daily.accepted}}</h2>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t<div class=\\\"col-md-3 col-sm-6\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"ibox\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<div class=\\\"ibox-title lable_center\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<div>\\r\\n\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<label>{{heading_title.rejected_order | translate}}</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<h2>{{store_analytic_daily.rejected}}</h2>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t<div class=\\\"col-md-3 col-sm-6\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"ibox\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<div class=\\\"ibox-title lable_center\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<div>\\r\\n\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<label>{{heading_title.completed_order | translate}}</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<h2>{{store_analytic_daily.completed}}</h2>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t<div class=\\\"col-md-3 col-sm-6\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"ibox\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<div class=\\\"ibox-title lable_center\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<div>\\r\\n\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<label>{{heading_title.total_item_sold | translate}}</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<h2>{{store_analytic_daily.total_items}}</h2>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t<div class=\\\"col-md-3 col-sm-6\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"ibox\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<div class=\\\"ibox-title lable_center\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<div>\\r\\n\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<label>{{heading_title.accepted_ratio | translate}}</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<h2 *ngIf=\\\"store_analytic_daily.acception_ratio\\\">{{store_analytic_daily.acception_ratio.toFixed(2)}}</h2>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t<div class=\\\"col-md-3 col-sm-6\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"ibox\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<div class=\\\"ibox-title lable_center\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<label>{{heading_title.rejected_ratio | translate}}</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<h2 *ngIf=\\\"store_analytic_daily.rejection_ratio\\\">{{store_analytic_daily.rejection_ratio.toFixed(2)}}</h2>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t<div class=\\\"col-md-3 col-sm-6\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"ibox\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<div class=\\\"ibox-title lable_center\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<label>{{heading_title.completed_ratio | translate}}</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<h2 *ngIf=\\\"store_analytic_daily.completed_ratio\\\">{{store_analytic_daily.completed_ratio.toFixed(2)}}</h2>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t</div>\\r\\n\\t\\t</div>\\r\\n\\t</div>\\r\\n\\r\\n\\t<div class=\\\"row\\\">\\r\\n\\t\\t<div class=\\\"col-lg-12\\\">\\r\\n\\t\\t\\t<div class=\\\"ibox\\\">\\r\\n\\t\\t\\t\\t<div class=\\\"ibox-title\\\">\\r\\n\\t\\t\\t\\t\\t<label class=\\\"control-label\\\">{{heading_title.order_earning | translate}}</label>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t<div class=\\\"ibox-content\\\">\\r\\n\\t\\t\\t\\t\\t<div class=\\\"table-responsive\\\">\\r\\n\\r\\n\\t\\t\\t\\t\\t\\t<table class=\\\"table table-striped\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<tbody>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"remove_border\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div><strong>{{title.item_price | translate}}</strong></div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"pull-right remove_border\\\">{{order_total.total_item_price.toFixed(2)}}</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"remove_border\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div><strong>{{title.tax_price | translate}}</strong></div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"pull-right remove_border\\\">{{order_total.total_store_tax_price.toFixed(2)}}</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"remove_border\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div><strong>{{title.order_price | translate}}</strong></div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"pull-right remove_border\\\">{{order_total.total_order_price.toFixed(2)}}</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"remove_border\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div><strong>{{title.admin_profit | translate}}</strong></div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"pull-right remove_border\\\">{{order_total.total_admin_profit_on_store.toFixed(2)}}</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"remove_border\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div><strong>{{title.store_profit | translate}}</strong></div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"pull-right remove_border\\\">{{order_total.total_store_income.toFixed(2)}}</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t</tbody>\\r\\n\\t\\t\\t\\t\\t\\t</table>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t</div>\\r\\n\\t\\t</div>\\r\\n\\t</div>\\r\\n\\t<div class=\\\"row\\\">\\r\\n\\t\\t<div class=\\\"col-lg-12\\\">\\r\\n\\t\\t\\t<div class=\\\"ibox\\\">\\r\\n\\t\\t\\t\\t<div class=\\\"ibox-title\\\">\\r\\n\\t\\t\\t\\t\\t<label class=\\\"control-label\\\">{{heading_title.store_transactions | translate}}</label>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t<div class=\\\"ibox-content\\\">\\r\\n\\t\\t\\t\\t\\t<div class=\\\"table-responsive\\\">\\r\\n\\r\\n\\t\\t\\t\\t\\t\\t<table class=\\\"table table-striped\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<tbody>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"remove_border\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div><strong>{{title.received_order_amount | translate}}</strong></div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"pull-right remove_border\\\">{{order_total.store_have_order_payment.toFixed(2)}}</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"remove_border\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div><strong>{{title.paid_service_fee | translate}}</strong></div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"pull-right remove_border\\\">{{order_total.store_have_service_payment.toFixed(2)}}</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"remove_border\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div><strong>{{title.deduct_from_wallet | translate}}</strong></div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"pull-right remove_border\\\">{{order_total.total_wallet_income_set_in_cash_order.toFixed(2)}}</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"remove_border\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div><strong>{{title.added_in_wallet | translate}}</strong></div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"pull-right remove_border\\\">{{order_total.total_wallet_income_set_in_other_order.toFixed(2)}}</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t</tbody>\\r\\n\\t\\t\\t\\t\\t\\t</table>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t</div>\\r\\n\\t\\t</div>\\r\\n\\t</div>\\r\\n\\t<div class=\\\"row\\\">\\r\\n\\t\\t<div class=\\\"col-lg-12\\\">\\r\\n\\t\\t\\t<div class=\\\"ibox\\\">\\r\\n\\t\\t\\t\\t<div class=\\\"ibox-title\\\">\\r\\n\\t\\t\\t\\t\\t<label class=\\\"control-label\\\">{{heading_title.payment | translate}}</label>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t<div class=\\\"ibox-content\\\">\\r\\n\\t\\t\\t\\t\\t<div class=\\\"table-responsive\\\">\\r\\n\\r\\n\\t\\t\\t\\t\\t\\t<table class=\\\"table table-striped\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<tbody>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"remove_border\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div><strong>{{title.total_earnings | translate}}</strong></div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"pull-right remove_border\\\">{{order_total.total_earning.toFixed(2)}}</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"remove_border\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div><strong>{{title.paid_in_wallet | translate}}</strong></div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"pull-right remove_border\\\">{{order_total.total_wallet_income_set.toFixed(2)}}</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"remove_border\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div><strong>{{title.pay_to_store | translate}}</strong></div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"pull-right remove_border\\\">{{order_total.pay_to_store.toFixed(2)}}</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t</tbody>\\r\\n\\t\\t\\t\\t\\t\\t</table>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t</div>\\r\\n\\t\\t</div>\\r\\n\\t</div>\\r\\n\\r\\n\\r\\n\\r\\n\\t<div class=\\\"row\\\">\\r\\n\\t    <div class=\\\"ibox\\\">\\r\\n\\t    \\t<div class=\\\"ibox-title\\\">\\r\\n\\t            <div>\\r\\n\\t                <label>{{heading_title.orders | translate}}</label>\\r\\n\\t            </div>\\r\\n\\r\\n\\t        </div>\\r\\n\\t        <div class=\\\"ibox-content\\\" style=\\\"padding-bottom: 40px;\\\">\\r\\n\\t            <div class=\\\"table-responsive\\\" style=\\\"padding-bottom: 50px;\\\">\\r\\n\\t                <table class=\\\"table table-striped\\\">\\r\\n\\t                    <thead>\\r\\n\\t                        <tr>\\r\\n\\t                            <th>{{title.order | translate}}</th>\\r\\n\\t                            <th>{{title.payment_by | translate}}</th>\\r\\n\\t                            <th>{{title.total | translate}}</th>\\r\\n\\t                            <th>{{title.service_fees | translate}}</th>\\r\\n\\t                            <th>{{title.order_fees | translate}}</th>\\r\\n\\t                            <th>{{title.store_profit | translate}}</th>\\r\\n\\t                            <th>{{title.paid_service_fee | translate}}</th>\\r\\n\\t                            <th>{{title.recieved_order_payment | translate}}</th>\\r\\n\\t                            <th>{{title.earning | translate}}</th>\\r\\n\\t                        </tr>\\r\\n\\t                    </thead>\\r\\n\\t                    <tbody>\\r\\n\\t                        <tr *ngFor=\\\"let order_payment of order_payments\\\">\\r\\n\\t                            <td>{{order_payment.order_unique_id}}</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<td [ngSwitch]=\\\"order_payment.is_payment_mode_cash\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<div *ngIf=\\\"order_payment.is_paid_from_wallet\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<span class=\\\"label label-success\\\">{{title.wallet | translate}}</span>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<div *ngIf=\\\"!order_payment.is_paid_from_wallet\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div *ngSwitchCase=\\\"true\\\"><span class=\\\"label label-primary\\\">{{title.cash | translate}}</span></div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div *ngSwitchCase=\\\"false\\\"><span class=\\\"label label-danger\\\">Stripe </span></div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</td>\\r\\n\\t                            <td>{{order_payment.total.toFixed(2)}}</td>\\r\\n\\t                            <td>{{order_payment.total_service_price.toFixed(2)}}</td>\\r\\n\\t                            <td>{{order_payment.total_order_price.toFixed(2)}}</td>\\r\\n\\t                            <td>{{order_payment.total_store_income.toFixed(2)}}</td>\\r\\n\\t                            <td>{{order_payment.store_have_service_payment.toFixed(2)}}</td>\\r\\n\\t                            <td>{{order_payment.store_have_order_payment.toFixed(2)}}</td>\\r\\n\\t                            <td>{{order_payment.pay_to_store.toFixed(2)}}</td>\\r\\n\\t                        </tr>\\r\\n\\t                    </tbody>\\r\\n\\t                    \\r\\n\\t                </table>\\r\\n\\t            </div>\\r\\n\\t        </div>\\r\\n\\t    </div>\\r\\n\\t</div>\\r\\n</div>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/store/daily_earning/daily_earning.component.html\n// module id = 1692\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"search_field\\\" [(ngModel)]=\\\"search_field\\\" name=\\\"search_field\\\" tabindex=\\\"4\\\">\\r\\n                        <option value=\\\"user_detail.first_name\\\">{{title.filter_user | translate}}</option>\\r\\n                        <option value=\\\"provider_detail.first_name\\\">{{title.filter_provider | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n\\r\\n                        <input type=\\\"text\\\" class=\\\"form-control search_box\\\" [(ngModel)]=\\\"search_value\\\" #store_open_time=\\\"ngModel\\\" name=\\\"search_value\\\">\\r\\n                        <span class=\\\"input-group-addon search_icon\\\"><span class=\\\"fa fa-search\\\"></span></span>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"sort_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"request_status\\\" [(ngModel)]=\\\"request_status\\\" name=\\\"request_status\\\" tabindex=\\\"4\\\">\\r\\n                        <option value=\\\"\\\">{{title.all | translate}}</option>\\r\\n                        <option value=\\\"{{ORDER_STATE.WAITING_FOR_DELIVERY_MAN}}\\\">{{status.waiting_for_delivery_man | translate}}</option>\\r\\n                        <option value=\\\"{{ORDER_STATE.DELIVERY_MAN_ACCEPTED}}\\\">{{status.delivery_man_accepted | translate}}</option>\\r\\n                        <option value=\\\"{{ORDER_STATE.DELIVERY_MAN_COMING}}\\\">{{status.delivery_man_coming | translate}}</option>\\r\\n                        <option value=\\\"{{ORDER_STATE.DELIVERY_MAN_ARRIVED}}\\\">{{status.delivery_man_arrived | translate}}</option>\\r\\n                        <option value=\\\"{{ORDER_STATE.DELIVERY_MAN_PICKED_ORDER}}\\\">{{status.picked_order | translate}}</option>\\r\\n                        <option value=\\\"{{ORDER_STATE.DELIVERY_MAN_STARTED_DELIVERY}}\\\">{{status.started_for_delivery | translate}}</option>\\r\\n                        <option value=\\\"{{ORDER_STATE.DELIVERY_MAN_ARRIVED_AT_DESTINATION}}\\\">{{status.arrived_at_destination | translate}}</option>\\r\\n                        <option value=\\\"{{ORDER_STATE.DELIVERY_MAN_COMPLETE_DELIVERY}}\\\">{{status.delivered_ordered | translate}}</option>\\r\\n                        <option value=\\\"{{ORDER_STATE.NO_DELIVERY_MAN_FOUND}}\\\">{{status.no_delivery_man_found | translate}}</option>\\r\\n                        <option value=\\\"{{ORDER_STATE.DELIVERY_MAN_REJECTED}}\\\">{{status.delivery_man_rejected | translate}}</option>\\r\\n                        <option value=\\\"{{ORDER_STATE.DELIVERY_MAN_CANCELLED}}\\\">{{status.delivery_man_cancelled | translate}}</option>\\r\\n                        <option value=\\\"{{ORDER_STATE.STORE_CANCELLED_REQUEST}}\\\">{{status.cancelled_request | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"col-md-6 col-sm-6\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"filter(1)\\\" class=\\\"btn filter_apply_btn pull-right\\\" value=\\\"{{button.apply | translate}}\\\" >\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n<div class=\\\"wrapper content_top_bar_view1 wrapper-content animated fadeInRight\\\">\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-7\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-content\\\" style=\\\"padding-bottom: 40px;\\\">\\r\\n                    <div class=\\\"table-responsive scrollbar\\\" style=\\\"height: calc(100vh - 255px);overflow: auto;\\\">\\r\\n                        <table class=\\\"table\\\">\\r\\n                            <thead>\\r\\n                            <tr>\\r\\n                                <th>{{title.id | translate}}</th>\\r\\n                                <th>{{title.assigned_date | translate}}</th>\\r\\n                                <th>{{title.user | translate}}</th>\\r\\n                                <th>{{title.provider | translate}}</th>\\r\\n                                <th>{{title.status | translate}}</th>\\r\\n                                <th>{{title.action | translate}}</th>\\r\\n                            </tr>\\r\\n                            </thead>\\r\\n                            <tbody>\\r\\n                            <tr *ngFor=\\\"let request of requests; let last=last; let index = index; \\\" (click)=\\\"get_request_data(index)\\\">\\r\\n                                <td>{{request.order_detail.unique_id}}</td>\\r\\n                                <td>{{moment(request.created_at).tz(request.order_detail.timezone !== '' ? request.order_detail.timezone: 'Asia/Kolkata').format('DD MMM YYYY HH:mm a')}}</td>\\r\\n                                <td>{{request.user_detail.first_name}} {{request.user_detail.last_name}}</td>\\r\\n                                <td><div *ngIf=\\\"request.provider_detail\\\">{{request.provider_detail.first_name}} {{request.provider_detail.last_name}}</div></td>\\r\\n                                <td [ngSwitch]=\\\"request.delivery_status\\\">\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.WAITING_FOR_DELIVERY_MAN\\\"><span class=\\\"label label-info\\\">{{status.waiting_for_delivery_man1 | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_ACCEPTED\\\"><span class=\\\"label label-primary\\\">{{status.delivery_man_accepted1 | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_COMING\\\"><span class=\\\"label label-info\\\">{{status.delivery_man_coming1 | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_ARRIVED\\\"><span class=\\\"label label-info\\\">{{status.delivery_man_arrived1 | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\\\"><span class=\\\"label label-info\\\">{{status.picked_order1 | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_STARTED_DELIVERY\\\"><span class=\\\"label label-info\\\">{{status.started_for_delivery1 | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_ARRIVED_AT_DESTINATION\\\"><span class=\\\"label label-info\\\">{{status.arrived_at_destination1 | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_COMPLETE_DELIVERY\\\"><span class=\\\"label label-primary\\\">{{status.delivered_ordered1 | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.STORE_REJECTED\\\"><span class=\\\"label label-danger\\\">{{status.rejected1 | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.STORE_CANCELLED\\\"><span class=\\\"label label-danger\\\">{{status.cancelled1 | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.NO_DELIVERY_MAN_FOUND\\\"><span class=\\\"label label-danger\\\">{{status.no_delivery_man_found1 | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_REJECTED\\\"><span class=\\\"label label-danger\\\">{{status.delivery_man_rejected1 | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_CANCELLED\\\"><span class=\\\"label label-danger\\\">{{status.delivery_man_cancelled1 | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.CANCELED_BY_USER\\\"><span class=\\\"label label-danger\\\">{{status.user_cancelled | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.STORE_CANCELLED_REQUEST\\\"><span class=\\\"label label-danger\\\">{{status.cancelled_request1 | translate}}</span></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"text-left footable-visible footable-last-column\\\">\\r\\n                                    <div class=\\\"btn-group\\\">\\r\\n                                        <button (click)=\\\"open_detail_modal()\\\" class=\\\"btn btn-xs btn-light_black\\\">{{helper.button.detail | translate}}</button>\\r\\n                                        <button *ngIf=\\\"request.delivery_status==helper.ORDER_STATE.NO_DELIVERY_MAN_FOUND || request.delivery_status==helper.ORDER_STATE.STORE_CANCELLED_REQUEST || request.delivery_status==helper.ORDER_STATE.DELIVERY_MAN_CANCELLED\\\"\\r\\n                                                type=\\\"button\\\" (click)=\\\"orderAssignProvider({order_id: request.order_detail._id})\\\" class=\\\"btn btn-xs btn-danger\\\">{{button.reassign_delivery_for_provider}}</button>\\r\\n                                        <button *ngIf=\\\"request.delivery_status>helper.ORDER_STATE.OREDER_READY && request.delivery_status<helper.ORDER_STATE.DELIVERY_MAN_ARRIVED\\\"\\r\\n                                                type=\\\"button\\\" (click)=\\\"CancleRequest({request_id: request._id, delivery_status: this.ORDER_STATE.STORE_CANCELLED}, request.provider_detail._id)\\\" class=\\\"btn btn-xs btn-danger\\\">{{button.cancel_request}}</button>\\r\\n                                        <button  *ngIf=\\\"request.order_payment_detail.is_payment_mode_cash==true && request.order_payment_detail.is_order_payment_status_set_by_store == false && request.delivery_status==helper.ORDER_STATE.DELIVERY_MAN_ARRIVED\\\"\\r\\n                                                  type=\\\"button\\\" (click)=\\\"price_paid_by_store(request.order_payment_detail._id)\\\" class=\\\"btn btn-xs btn-danger\\\">{{button.get_confirmation_code | translate}}</button>\\r\\n                                    </div>\\r\\n                                </td>\\r\\n                            </tr>\\r\\n                            </tbody>\\r\\n                        </table>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-12 col-sm-12\\\" style=\\\"margin-top: 5px;\\\">\\r\\n                        <div class=\\\"lable_center\\\">\\r\\n                            <ul class=\\\"pagination\\\">\\r\\n                                <li *ngIf=\\\"page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"filter(page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                                <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page==index\\\">\\r\\n                                    <a *ngIf=\\\"index==1 || index==total_page || index==page || index==page-1 || index==page+1\\\" (click)=\\\"filter(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                                    <a *ngIf=\\\"(index==1 && (page!==1 && page!==2 && page!==3)) || (index==total_page-1 && (page!==total_page && page!==total_page-1 && page!==total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n                                </li>\\r\\n                                <li *ngIf=\\\"page!==total_page && requests.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"filter(page+1)\\\">{{button.next | translate}}</a></li>\\r\\n                            </ul>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-md-5\\\">\\r\\n            <div class=\\\"ibox\\\" >\\r\\n                <div class=\\\"ibox-title\\\" *ngIf=\\\"order_detail.order_detail\\\">\\r\\n                    <h5 *ngIf=\\\"((order_detail.order_payment_detail.is_payment_mode_cash==false) || (order_detail.order_payment_detail.is_payment_mode_cash==true && order_detail.order_payment_detail.is_order_payment_status_set_by_store == true))\\\">\\r\\n                        {{title.confirmation_code | translate}} - </h5>\\r\\n                    <h5 *ngIf=\\\"((order_detail.order_payment_detail.is_payment_mode_cash==false) || (order_detail.order_payment_detail.is_payment_mode_cash==true && order_detail.order_payment_detail.is_order_payment_status_set_by_store == true))\\\">\\r\\n                        {{order_detail.confirmation_code_for_pick_up_delivery}}\\r\\n                    </h5>\\r\\n                    <span class=\\\"pull-right\\\">{{order_detail.order_detail.unique_id}}</span>\\r\\n                </div>\\r\\n                <div class=\\\"ibox-content\\\" style=\\\"padding: 0;\\\">\\r\\n                    <div *ngIf=\\\"order_detail.order_detail\\\" style=\\\"margin-left: 5px;padding-top: 6px;\\\">\\r\\n                        <label>{{title.delivery_address | translate}} - </label>\\r\\n                        <span>{{order_detail.destination_addresses[0].address}}</span>\\r\\n                    </div>\\r\\n                    <div id=\\\"map\\\" style=\\\"width: 100%;height: calc(100vh - 275px);overflow: auto;\\\"></div>\\r\\n                    <!--<div class=\\\"row\\\">-->\\r\\n                        <!--<div class=\\\"col-md-12 no_padding\\\">-->\\r\\n                            <!--<label>{{heading_title.user_detail | translate}}</label>-->\\r\\n                        <!--</div>-->\\r\\n                        <!--<div class=\\\"col-md-12\\\"><label class=\\\"col-lg-4 col-sm-4 col-xs-4 control-label\\\">{{title.name | translate}}:</label>-->\\r\\n                            <!--<div class=\\\"col-lg-8 col-sm-8 col-xs-8\\\">-->\\r\\n                                <!--{{order_detail.user_detail.first_name + \\\" \\\" + order_detail.user_detail.last_name}}-->\\r\\n                            <!--</div>-->\\r\\n                        <!--</div>-->\\r\\n                        <!--<div class=\\\"col-md-12\\\"><label class=\\\"col-lg-4 col-sm-4 col-xs-4 control-label\\\">{{title.email | translate}}:</label>-->\\r\\n                            <!--<div class=\\\"col-lg-8 col-sm-8 col-xs-8\\\">-->\\r\\n                                <!--{{order_detail.user_detail.email}}-->\\r\\n                            <!--</div>-->\\r\\n                        <!--</div>-->\\r\\n                    <!--</div>-->\\r\\n\\r\\n                    <!--<div class=\\\"row\\\" style=\\\"border-top: 1px solid #d8d1d1;padding-top: 10px;\\\" *ngIf=\\\"order_detail.destination_addresses.length > 0\\\">-->\\r\\n                        <!--<div class=\\\"col-md-12 no_padding\\\">-->\\r\\n                            <!--<label>{{heading_title.order_user_detail | translate}}</label>-->\\r\\n                        <!--</div>-->\\r\\n                        <!--<div class=\\\"col-md-12\\\"><label class=\\\"col-lg-4 col-sm-4 col-xs-4 control-label\\\">{{title.name | translate}}:</label>-->\\r\\n                            <!--<div class=\\\"col-lg-8 col-sm-8 col-xs-8\\\">-->\\r\\n                                <!--{{order_detail.destination_addresses[0].user_details.name}}-->\\r\\n                            <!--</div>-->\\r\\n                        <!--</div>-->\\r\\n                        <!--<div class=\\\"col-md-12\\\"><label class=\\\"col-lg-4 col-sm-4 col-xs-4 control-label\\\">{{title.phone | translate}}:</label>-->\\r\\n                            <!--<div class=\\\"col-lg-8 col-sm-8 col-xs-8\\\">-->\\r\\n                                <!--{{order_detail.destination_addresses[0].user_details.country_phone_code}} {{order_detail.destination_addresses[0].user_details.phone}}-->\\r\\n                            <!--</div>-->\\r\\n                        <!--</div>-->\\r\\n                        <!--<div class=\\\"col-md-12\\\"><label class=\\\"col-lg-4 col-sm-4 col-xs-4 control-label\\\">{{title.address | translate}}:</label>-->\\r\\n                            <!--<div class=\\\"col-lg-8 col-sm-8 col-xs-8\\\">-->\\r\\n                                <!--{{order_detail.destination_addresses[0].address}}-->\\r\\n                            <!--</div>-->\\r\\n                        <!--</div>-->\\r\\n                    <!--</div>-->\\r\\n\\r\\n                    <!--<div class=\\\"row\\\" style=\\\"border-top: 1px solid #d8d1d1;padding-top: 10px;\\\" *ngIf=\\\"!order_detail.order_payment_detail.is_user_pick_up_order && order_detail.provider_detail && order_detail.provider_detail.first_name;\\\">-->\\r\\n                        <!--<div class=\\\"col-md-12 no_padding\\\">-->\\r\\n                            <!--<label>{{heading_title.provider_detail | translate}}</label>-->\\r\\n                        <!--</div>-->\\r\\n                        <!--<div class=\\\"col-md-12\\\"><label class=\\\"col-lg-4 col-sm-4 col-xs-4 control-label\\\">{{title.name | translate}}:</label>-->\\r\\n                            <!--<div class=\\\"col-lg-8 col-sm-8 col-xs-8\\\">-->\\r\\n                                <!--{{order_detail.provider_detail.first_name + \\\" \\\" + order_detail.provider_detail.last_name}}-->\\r\\n                            <!--</div>-->\\r\\n                        <!--</div>-->\\r\\n                        <!--<div class=\\\"col-md-12\\\"><label class=\\\"col-lg-4 col-sm-4 col-xs-4 control-label\\\">{{title.email | translate}}:</label>-->\\r\\n                            <!--<div class=\\\"col-lg-8 col-sm-8 col-xs-8\\\">-->\\r\\n                                <!--{{order_detail.provider_detail.email}}-->\\r\\n                            <!--</div>-->\\r\\n                        <!--</div>-->\\r\\n                    <!--</div>-->\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n</div>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-sm animated fadeInUpBig\\\" #myModal>\\r\\n    \\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <h4 class=\\\"modal-title\\\" style=\\\"color:black;\\\">{{heading_title.order_payment | translate}}</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <label style=\\\"color:black;\\\">{{title.order_payment_paid_by_store | translate}}</label>\\r\\n            <div style=\\\"margin-bottom: 20px;margin-top: 10px;\\\"> \\r\\n                    <button class=\\\"btn pull-right\\\" (click)=\\\"set_payment_status_by_store(true)\\\" style=\\\"background-color: #fff; color:black;\\\">{{title.yes | translate}}</button>\\r\\n                    <button class=\\\"btn pull-right\\\" (click)=\\\"set_payment_status_by_store(false)\\\" style=\\\"background-color: #fff; color:black;\\\">{{title.no | translate}}</button>\\r\\n            </div>\\r\\n        </modal-body>\\r\\n       \\r\\n    \\r\\n</modal>\\r\\n\\r\\n<modal cssClass=\\\"modal-invoice animated fadeInUpBig\\\" #order_detail_modal>\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n        <label>{{heading_title.order_detail | translate}}</label>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n        <div class=\\\"row\\\" *ngIf=\\\"order_detail.order_detail\\\">\\r\\n            <div class=\\\"col-md-4\\\" *ngIf=\\\"order_detail.cart_detail && order_detail.cart_detail.order_details.length>0\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <h4 class=\\\"pull-right\\\">{{currency_sign}}{{order_total.toFixed(2)}}</h4>\\r\\n                        <span style=\\\"position: absolute; left:48%;\\\">(<strong>{{total_item}}</strong>) {{title.items | translate}}</span>\\r\\n                        <h5>{{heading_title.order_detail | translate}}</h5>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content invoice_popup_box\\\">\\r\\n                        <div *ngFor=\\\"let products of order_detail.cart_detail.order_details; let product_index=index; \\\">\\r\\n                            <div style=\\\"border-bottom: 1px solid brown;\\\">\\r\\n                                <h4 class=\\\"pull-right\\\">{{currency_sign}}{{product_item_total_array[product_index]}}\\r\\n                                    <span *ngIf=\\\"hide_specification_group[product_index]=='true'\\\" (click)=\\\"show_specifications_group(product_index)\\\" class=\\\"fa fa-chevron-left\\\"></span>\\r\\n                                    <span *ngIf=\\\"hide_specification_group[product_index]=='false'\\\" (click)=\\\"hide_specifications_group(product_index)\\\" class=\\\"fa fa-chevron-down\\\"></span>\\r\\n                                </h4>\\r\\n                                <span style=\\\"position: absolute; left:48%;\\\">(<strong>{{products.items.length}}</strong>) {{title.items | translate}}</span>\\r\\n                                <h5>{{products.product_name}}</h5>\\r\\n                            </div>\\r\\n\\r\\n                            <div id=\\\"spec_list{{product_index}}\\\" class=\\\"table-responsive\\\" style=\\\"    width: 100%;\\\">\\r\\n                                <table class=\\\"table\\\">\\r\\n                                    <thead style=\\\"border-bottom: 1px solid;\\\">\\r\\n                                    <tr>\\r\\n                                        <th >{{title.item | translate}}</th>\\r\\n                                        <th >{{title.spec | translate}} {{title.price | translate}}</th>\\r\\n                                        <th >{{title.price | translate}}</th>\\r\\n                                        <th >{{title.qty | translate}}</th>\\r\\n                                        <th >{{title.total | translate}}</th>\\r\\n                                    </tr>\\r\\n                                    </thead>\\r\\n\\r\\n                                    <tbody>\\r\\n                                    <tr style=\\\"cursor: pointer;\\\" *ngFor=\\\"let item of products.items; let odd=odd; let item_index=index; \\\" (click)=\\\"get_specification(product_index, item_index)\\\">\\r\\n                                        <td >{{item.item_name}}</td>\\r\\n                                        <td>{{currency_sign}}{{item.total_specification_price}}</td>\\r\\n                                        <td>{{currency_sign}}{{item.item_price}}</td>\\r\\n                                        <td >{{item.quantity}}</td>\\r\\n                                        <td >{{currency_sign}}{{((item.item_price + item.total_specification_price)*item.quantity).toFixed(2)}}</td>\\r\\n                                    </tr>\\r\\n                                    </tbody>\\r\\n\\r\\n                                </table>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-4\\\" *ngIf=\\\"is_show_specification && order_detail.cart_detail && order_detail.cart_detail.order_details.length>0\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <h5>{{title.specifications | translate}}</h5>\\r\\n                        <span class=\\\"fa fa-remove pull-right\\\" (click)=\\\"is_show_specification=false;\\\"></span>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"ibox-content invoice_popup_box\\\">\\r\\n\\r\\n                        <div *ngFor=\\\"let specification_group of specifications; let odd=odd;\\\" [class.row]=\\\"odd\\\" style=\\\"margin: 0;\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\" style=\\\"padding: 0px;\\\">\\r\\n                                    <div class=\\\"col-md-12\\\" style=\\\"padding: 0;border-bottom: 1px solid #dcdcdc;\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5>{{specification_group.name}}</h5></div>\\r\\n                                        <div *ngIf=\\\"specification_group.price > 0\\\" class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;\\\">{{currency_sign}}{{specification_group.price.toFixed(2)}}</h5></div>\\r\\n                                    </div>\\r\\n\\r\\n                                    <div class=\\\"col-md-12\\\" *ngFor=\\\"let specification of specification_group.list\\\">\\r\\n                                        <div style=\\\"padding: 0;\\\" class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h6 style=\\\"font-size: 13px;\\\">{{specification.name}}</h6></div>\\r\\n                                        <div *ngIf=\\\"specification.price > 0\\\" class=\\\"col-md-4 col-sm-4 col-xs-4\\\" style=\\\"padding: 0;\\\"><h6 style=\\\"font-size: 13px;float: right;\\\">{{currency_sign}}{{specification.price.toFixed(2)}}</h6></div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"row\\\" style=\\\"border-top: 1px solid;padding-top: 15px;\\\" *ngIf=\\\"item_note!=''\\\">\\r\\n                            <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\">\\r\\n                                <label>{{title.item_note_here}}</label>\\r\\n                                <div>\\r\\n                                    <h6 style=\\\"font-size: 13px;\\\">{{item_note}}</h6>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-4\\\" *ngIf=\\\"!is_show_specification\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"background-color: #d4d8d8;\\\">\\r\\n                        <h5>{{heading_title.order_status | translate}}</h5>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content invoice_popup_box\\\">\\r\\n\\r\\n                        <div id=\\\"vertical-timeline\\\" class=\\\"vertical-container dark-timeline\\\">\\r\\n\\r\\n                            <div *ngFor=\\\"let date of order_detail.order_detail.date_time;\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                </div>\\r\\n                                <div class=\\\"vertical-timeline-content\\\" [ngSwitch]=\\\"date.status\\\" style=\\\"padding-top: 1px;\\\">\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.WAITING_FOR_ACCEPT_STORE\\\"><span>{{helper.status.waiting_for_accept | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_ACCEPTED\\\"><span>{{helper.status.accepted | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_PREPARING_ORDER\\\"><span>{{helper.status.start_preparing_order | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.OREDER_READY\\\"><span>{{helper.status.order_ready | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.WAITING_FOR_DELIVERY_MAN\\\"><span>{{helper.status.waiting_for_delivery_man | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_REJECTED\\\"><span>{{helper.status.rejected | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_CANCELLED\\\"><span>{{helper.status.cancelled | translate}}</span></p>\\r\\n\\r\\n                                    <span class=\\\"vertical-date small text-muted\\\">{{moment(date.date).tz(order_detail.order_detail.timezone !== '' ? order_detail.order_detail.timezone: 'Asia/Kolkata').format('DD MMM YYYY HH:mm a')}}</span>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div *ngFor=\\\"let date of order_detail.date_time;\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                </div>\\r\\n                                <div class=\\\"vertical-timeline-content\\\" [ngSwitch]=\\\"date.status\\\" style=\\\"padding-top: 1px;\\\">\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.WAITING_FOR_DELIVERY_MAN\\\"><span>{{helper.status.waiting_for_delivery_man | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_ACCEPTED\\\"><span>{{helper.status.delivery_man_accepted | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_COMING\\\"><span>{{helper.status.delivery_man_coming | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_ARRIVED\\\"><span>{{helper.status.delivery_man_arrived | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\\\"><span>{{helper.status.picked_order | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_STARTED_DELIVERY\\\"><span>{{helper.status.started_for_delivery | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_ARRIVED_AT_DESTINATION\\\"><span>{{helper.status.arrived_at_destination | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_COMPLETE_DELIVERY\\\"><span>{{helper.status.delivered_ordered | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_REJECTED\\\"><span>{{helper.status.rejected | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_CANCELLED\\\"><span>{{helper.status.cancelled | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.NO_DELIVERY_MAN_FOUND\\\"><span>{{helper.status.no_delivery_man_found | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_REJECTED\\\"><span>{{helper.status.delivery_man_rejected | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_CANCELLED\\\"><span>{{helper.status.delivery_man_cancelled | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.CANCELED_BY_USER\\\"><span>{{helper.status.user_cancelled | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_CANCELLED_REQUEST\\\"><span>{{helper.status.cancelled_request | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.ORDER_COMPLETED\\\"><span>{{helper.status.completed | translate}}</span></p>\\r\\n\\r\\n                                    <span class=\\\"vertical-date small text-muted\\\">{{moment(date.date).tz(order_detail.order_detail.timezone !== '' ? order_detail.order_detail.timezone: 'Asia/Kolkata').format('DD MMM YYYY HH:mm a')}}</span>\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-4\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"background-color: #d4d8d8;\\\">\\r\\n                        <h5>{{order_detail.order_payment_detail.invoice_number}}</h5>\\r\\n                        <h5 class=\\\"pull-right\\\">{{currency_sign}}{{order_detail.order_payment_detail.total.toFixed(2)}}</h5>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content invoice_popup_box\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\" style=\\\"padding: 0px;\\\">\\r\\n                                <div class=\\\"col-md-12 no_padding\\\">\\r\\n                                    <label style=\\\"margin-top: 10px;\\\">{{heading_title.delivery_fees | translate}}</label>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-12\\\" style=\\\"padding: 0;border-bottom: 1px solid #dcdcdc;\\\">\\r\\n                                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5>{{title.service_price | translate}}</h5></div>\\r\\n                                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_service_price.toFixed(2)}}</h5></div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-12\\\" style=\\\"padding: 0;border-bottom: 1px solid #dcdcdc;\\\">\\r\\n                                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5>{{title.tax_price | translate}}</h5></div>\\r\\n                                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_admin_tax_price.toFixed(2)}}</h5></div>\\r\\n                                </div>\\r\\n                                <!--<div class=\\\"col-md-12\\\" style=\\\"padding: 0;border-bottom: 1px solid #dcdcdc;\\\">-->\\r\\n                                <!--<div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5>{{title.delivery_price | translate}}</h5></div>-->\\r\\n                                <!--<div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.delivery_price}}</h5></div>-->\\r\\n                                <!--</div>-->\\r\\n                                <div class=\\\"col-md-12\\\"  *ngIf='order_detail.order_payment_detail.is_promo_for_delivery_service == true' style=\\\"padding: 0;border-bottom: 1px solid #dcdcdc;\\\">\\r\\n                                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5>{{title.promo_bonus | translate}}</h5></div>\\r\\n                                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.promo_payment.toFixed(2)}}</h5></div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-12\\\" style=\\\"padding: 0;border-bottom: 1px solid #dcdcdc;\\\">\\r\\n                                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\" style=\\\"color: red;\\\"><h5>{{title.total_delivery_price | translate}}</h5></div>\\r\\n                                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\" style=\\\"color: red;\\\"><h5 style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_delivery_price.toFixed(2)}}</h5></div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-12 no_padding\\\">\\r\\n                                    <label style=\\\"margin-top: 10px;\\\">{{heading_title.order_fees | translate}}</label>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-12\\\" style=\\\"padding: 0;border-bottom: 1px solid #dcdcdc;\\\">\\r\\n                                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5>{{title.cart_price | translate}}</h5></div>\\r\\n                                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_cart_price.toFixed(2)}}</h5></div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-12\\\" style=\\\"padding: 0;border-bottom: 1px solid #dcdcdc;\\\">\\r\\n                                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5>{{title.tax_price | translate}}</h5></div>\\r\\n                                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_store_tax_price.toFixed(2)}}</h5></div>\\r\\n                                </div>\\r\\n                                <!--<div class=\\\"col-md-12\\\" style=\\\"padding: 0;border-bottom: 1px solid #dcdcdc;\\\">-->\\r\\n                                <!--<div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5>{{title.order_price | translate}}</h5></div>-->\\r\\n                                <!--<div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.order_price}}</h5></div>-->\\r\\n                                <!--</div>-->\\r\\n                                <div class=\\\"col-md-12\\\" *ngIf='order_detail.order_payment_detail.is_promo_for_delivery_service == false' style=\\\"padding: 0;border-bottom: 1px solid #dcdcdc;\\\">\\r\\n                                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5>{{title.promo_bonus | translate}}</h5></div>\\r\\n                                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.promo_payment.toFixed(2)}}</h5></div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-12\\\" style=\\\"padding: 0;border-bottom: 1px solid #dcdcdc;\\\">\\r\\n                                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\" style=\\\"color: red;\\\"><h5>{{title.total_order_price | translate}}</h5></div>\\r\\n                                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\" style=\\\"color: red;\\\"><h5 style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_order_price.toFixed(2)}}</h5></div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-12 no_padding\\\">\\r\\n                                    <label style=\\\"margin-top: 10px;\\\">{{heading_title.payment | translate}}</label>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-12\\\" style=\\\"padding: 0;border-bottom: 1px solid #dcdcdc;\\\">\\r\\n                                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5>{{title.wallet_payment | translate}}</h5></div>\\r\\n                                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.wallet_payment.toFixed(2)}}</h5></div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-12\\\" style=\\\"padding: 0;border-bottom: 1px solid #dcdcdc;\\\">\\r\\n                                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5>{{title.cash_payment | translate}}</h5></div>\\r\\n                                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.cash_payment.toFixed(2)}}</h5></div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-12\\\" style=\\\"padding: 0;border-bottom: 1px solid #dcdcdc;\\\">\\r\\n                                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5>{{title.other_payment | translate}}</h5></div>\\r\\n                                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.card_payment.toFixed(2)}}</h5></div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-12 no_padding\\\">\\r\\n                                    <label style=\\\"margin-top: 10px;\\\">{{heading_title.earning | translate}}</label>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-12\\\" style=\\\"padding: 0;border-bottom: 1px solid #dcdcdc;\\\">\\r\\n                                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5>{{title.service_price | translate}}</h5></div>\\r\\n                                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.store_have_service_payment.toFixed(2)}}</h5></div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-12\\\" style=\\\"padding: 0;border-bottom: 1px solid #dcdcdc;\\\">\\r\\n                                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5>{{title.order_payment | translate}}</h5></div>\\r\\n                                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.store_have_order_payment.toFixed(2)}}</h5></div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-12\\\" style=\\\"padding: 0;border-bottom: 1px solid #dcdcdc;\\\">\\r\\n                                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5>{{title.profit | translate}}</h5></div>\\r\\n                                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_store_income.toFixed(2)}}</h5></div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-12\\\" style=\\\"padding: 0;border-bottom: 1px solid #dcdcdc;\\\">\\r\\n                                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5>{{title.pay_by_admin | translate}}</h5></div>\\r\\n                                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.pay_to_store.toFixed(2)}}</h5></div>\\r\\n                                </div>\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n    </modal-body>\\r\\n</modal>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/store/delivery/delivery.component.html\n// module id = 1693\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n                    <div class=\\\"lable_center\\\">\\r\\n                        <label>{{title.date_filter | translate}}</label>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"col-md-12 remove_padding\\\">\\r\\n\\r\\n\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <div class=\\\"input-group\\\">\\r\\n\\r\\n                                <my-date-picker id=\\\"start_date\\\" [options]=\\\"helper.myStartDatePickerOptions\\\" placeholder=\\\"Start Date\\\" [(ngModel)]=\\\"start_date\\\" (dateChanged)=\\\"helper.onStartDateChanged($event)\\\"\\r\\n                                                readonly></my-date-picker>\\r\\n                                <span class=\\\"input-group-addon date_filter_icon\\\">{{button.to}}</span>\\r\\n\\r\\n                                <my-date-picker id=\\\"end_date\\\" [options]=\\\"helper.myEndDatePickerOptions\\\" placeholder=\\\"End Date\\\" [(ngModel)]=\\\"end_date\\\" (dateChanged)=\\\"helper.onEndDateChanged($event)\\\"\\r\\n                                                readonly></my-date-picker>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n                    <div class=\\\"lable_center\\\">\\r\\n                        <label>{{title.search | translate}}</label>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                            <select chosen class=\\\"chosen-select\\\" id=\\\"search_field\\\" [(ngModel)]=\\\"search_field\\\" name=\\\"search_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                                <!-- <option value=\\\"user_detail.first_name\\\">{{title.filter_user | translate}}</option> -->\\r\\n                                <option value=\\\"provider_detail.first_name\\\">{{title.filter_provider | translate}}</option>\\r\\n                            </select>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <div class=\\\"input-group\\\">\\r\\n\\r\\n                                <input type=\\\"text\\\" class=\\\"form-control search_box\\\" [(ngModel)]=\\\"search_value\\\" #store_open_time=\\\"ngModel\\\" name=\\\"search_value\\\">\\r\\n                                <span class=\\\"input-group-addon search_icon\\\"><span class=\\\"fa fa-search\\\"></span></span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n                    <div class=\\\"lable_center\\\">\\r\\n                        <label>{{title.sort | translate}}</label>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                        <div class=\\\"form-group\\\" id=\\\"sort_fields\\\">\\r\\n                            <select chosen class=\\\"chosen-select\\\" id=\\\"sort_field\\\" [(ngModel)]=\\\"sort_field\\\" name=\\\"sort_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                                <option value=\\\"unique_id\\\">{{title.filter_id | translate}}</option>\\r\\n                                <!-- <option value=\\\"user_detail.first_name\\\">{{title.filter_user | translate}}</option> -->\\r\\n                                <option value=\\\"provider_detail.first_name\\\">{{title.filter_provider | translate}}</option>\\r\\n\\r\\n                            </select>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                        <div class=\\\"form-group\\\" id=\\\"sort_orders\\\">\\r\\n\\r\\n                            <select chosen class=\\\"chosen-select\\\" id=\\\"sort_order\\\" [(ngModel)]=\\\"sort_order\\\" name=\\\"sort_order\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                                <option value=\\\"1\\\">{{title.ascending | translate}}</option>\\r\\n                                <option value=\\\"-1\\\">{{title.descending | translate}}</option>\\r\\n                            </select>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n                    <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                        <input type=\\\"button\\\" (click)=\\\"export_excel()\\\" class=\\\"btn export_excel_btn pull-right\\\" value=\\\"{{button.export_excel | translate}}\\\" >\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                        <input type=\\\"button\\\" (click)=\\\"store_earning(1)\\\" class=\\\"btn filter_apply_btn pull-right\\\" value=\\\"{{button.apply | translate}}\\\" >\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n</div>\\r\\n<div class=\\\"wrapper content_top_bar_view1 wrapper-content animated fadeInRight\\\">\\r\\n\\r\\n    <div class=\\\"ibox\\\">\\r\\n        <div class=\\\"ibox-title\\\">\\r\\n            <div>\\r\\n                <label>{{heading_title.total_earning | translate}}</label>\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n            <div class=\\\"table-responsive\\\" >\\r\\n                <table class=\\\"table table-striped\\\">\\r\\n                    <thead>\\r\\n                        <tr>\\r\\n                            <th>{{title.total_order | translate}}</th>\\r\\n                            <th>{{title.no_of_item | translate}}</th>\\r\\n                            <th>{{title.total_order_price | translate}}</th>\\r\\n                            <th>{{title.total_store_income | translate}}</th>\\r\\n                            <th>{{title.store_have_service_payment | translate}}</th>\\r\\n                            <th>{{title.pay_to_store | translate}}</th>\\r\\n                            \\r\\n                        </tr>\\r\\n                    </thead>\\r\\n                    <tbody>\\r\\n                        <tr>\\r\\n                            <td>{{order_total.total_completed_orders}}</td>\\r\\n                             <td>{{order_total.total_item_count}}</td>\\r\\n                            <td>{{order_total.store_earn.toFixed(2)}}</td>\\r\\n                            <td>{{order_total.total.toFixed(2)}}</td>\\r\\n                            <th>{{order_total.store_have_service_payment.toFixed(2)}}</th>\\r\\n                            <td>{{order_total.pay_to_store.toFixed(2)}}</td>\\r\\n                            \\r\\n                        </tr>\\r\\n                    </tbody>\\r\\n                </table>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n    <div class=\\\"ibox\\\">\\r\\n        <div class=\\\"ibox-content\\\" style=\\\"padding-bottom: 40px;\\\">\\r\\n            <div class=\\\"table-responsive table_height\\\">\\r\\n                <table class=\\\"table table-striped\\\">\\r\\n                    <thead>\\r\\n                        <tr>\\r\\n                            <th>{{title.id | translate}}</th>\\r\\n                            <th>{{title.completed_at | translate}}</th>\\r\\n                            <!-- <th>{{title.user | translate}}</th> -->\\r\\n                            <th>{{title.provider | translate}}</th>\\r\\n                            <th>{{title.payment_by | translate}}</th>\\r\\n                            <th>{{title.payment_status | translate}}</th>\\r\\n                            <th>{{title.currency | translate}}</th>\\r\\n                            <th>{{title.no_of_item | translate}}</th>\\r\\n                            <th>{{title.total_cart_price | translate}}</th>\\r\\n                            <th>{{title.total_order_price | translate}}</th>\\r\\n                            <th>{{title.total | translate}}</th>\\r\\n                            <th>{{title.store_have_service_payment | translate}}</th>\\r\\n                            <th>{{title.earning | translate}}</th>\\r\\n                            <th>{{title.store_profit | translate}}</th>\\r\\n                        </tr>\\r\\n                    </thead>\\r\\n                    <tbody>\\r\\n                        <tr *ngFor=\\\"let store_earning of store_earning_list; let last=last; \\\">\\r\\n\\r\\n                            <td>{{store_earning.unique_id}}</td>\\r\\n                            <td>{{store_earning.completed_at| date: \\\"dd MMM yyyy\\\"}}</td>\\r\\n                            <!-- <td>{{store_earning.user_detail.first_name}} {{store_earning.user_detail.last_name}}</td> -->\\r\\n                            <td><div *ngIf=\\\"store_earning.provider_detail.length >0\\\">{{store_earning.provider_detail[0].first_name}} {{store_earning.provider_detail[0].last_name}}</div></td>\\r\\n                            <td [ngSwitch]=\\\"store_earning.order_payment_detail.is_payment_mode_cash\\\">\\r\\n                                <div *ngIf=\\\"store_earning.order_payment_detail.is_paid_from_wallet\\\">\\r\\n                                    <span class=\\\"label label-success\\\">{{title.wallet | translate}}</span>\\r\\n                                </div>\\r\\n                                <div *ngIf=\\\"!store_earning.order_payment_detail.is_paid_from_wallet\\\">\\r\\n                                    <div *ngSwitchCase=\\\"true\\\"><span class=\\\"label label-primary\\\">{{title.cash | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"false\\\">\\r\\n                                        <span class=\\\"label label-danger\\\">Stripe </span>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </td>\\r\\n                            <td [ngSwitch]=\\\"store_earning.order_payment_detail.is_payment_paid\\\">\\r\\n                                <div *ngSwitchCase=\\\"true\\\"><span class=\\\"label label-primary\\\">{{title.completed | translate}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"false\\\"><span class=\\\"label label-danger\\\">{{title.remaining | translate}}</span></div>\\r\\n                            </td>\\r\\n                            <td>{{store_earning.country_detail.currency_sign}}</td>\\r\\n                            <td>{{store_earning.order_payment_detail.total_item_count}}</td>\\r\\n                            <td>{{store_earning.order_payment_detail.total_cart_price.toFixed(2)}}</td>\\r\\n                            <td>{{store_earning.order_payment_detail.total_order_price.toFixed(2)}}</td>\\r\\n                            <td>{{store_earning.order_payment_detail.total.toFixed(2)}}</td>\\r\\n                            <td>{{store_earning.order_payment_detail.store_have_service_payment.toFixed(2)}}</td>\\r\\n                            <td>{{store_earning.order_payment_detail.pay_to_store.toFixed(2)}}</td>\\r\\n                            <td>{{store_earning.order_payment_detail.total_store_income.toFixed(2)}}</td>\\r\\n                            \\r\\n                        </tr>\\r\\n                    </tbody>\\r\\n                    \\r\\n                </table>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                <div class=\\\"lable_center\\\">\\r\\n\\r\\n                    <ul class=\\\"pagination\\\">\\r\\n                            <li *ngIf=\\\"page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"store_earning(page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                            <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page==index\\\">\\r\\n                                <a *ngIf=\\\"index==1 || index==total_page || index==page || index==page-1 || index==page+1\\\" (click)=\\\"store_earning(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                                <a *ngIf=\\\"(index==1 && (page!==1 && page!==2 && page!==3)) || (index==total_page-1 && (page!==total_page && page!==total_page-1 && page!==total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n\\r\\n                            </li>\\r\\n                            <li *ngIf=\\\"page!==total_page && store_earning_list.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"store_earning(page+1)\\\">{{button.next | translate}}</a></li>\\r\\n                     </ul>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/store/earning/earning.component.html\n// module id = 1694\n// module chunks = 0","module.exports = \"<style type=\\\"text/css\\\">\\r\\n    .scrollbar\\r\\n    {\\r\\n        height: 140px;\\r\\n        background: #F5F5F5;\\r\\n        overflow-x: auto;\\r\\n    }\\r\\n\\r\\n    #style-3::-webkit-scrollbar-track\\r\\n    {\\r\\n        -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);\\r\\n        background-color: #F5F5F5;\\r\\n    }\\r\\n\\r\\n    #style-3::-webkit-scrollbar\\r\\n    {\\r\\n        width: 3px;\\r\\n        background-color: #F5F5F5;\\r\\n    }\\r\\n\\r\\n    #style-3::-webkit-scrollbar-thumb\\r\\n    {\\r\\n        background-color: #000000;\\r\\n    }\\r\\n</style>\\r\\n<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n\\r\\n<div class=\\\"wrapper wrapper-content animated fadeInRight content_top_bar\\\">\\r\\n    <form #editForm=\\\"ngForm\\\" (ngSubmit)=\\\"updateItem(editForm.value)\\\" enctype='multipart/form-data' >\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <label class=\\\"control-label\\\">{{heading_title.item_images | translate}}</label>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                    <div class=\\\"scrollbar\\\" id=\\\"style-3\\\" style=\\\"background-color: #fff;width: 100%;height:131px;text-align: center;\\\">\\r\\n\\r\\n                                        <div style=\\\" display: inline-table;\\\">\\r\\n                                            <span class=\\\"btn-file\\\"><img src=\\\"web_images/camera_img.png\\\" style=\\\"border-radius: 20%; width:100px; height: 100px; margin-right: 30px;\\\">\\r\\n                                            <input type=\\\"file\\\" accept=\\\"image/*\\\" (change)=\\\"image_update($event);\\\" name=\\\"image\\\" style=\\\"margin-top: -12px;padding: 13px;\\\"></span>\\r\\n                                        </div>\\r\\n\\r\\n                                            <div *ngFor=\\\"let image of new_image_array; let index=index;\\\" style=\\\" display: inline-table;\\\">\\r\\n                                                <img [src]=\\\"image.base64_image\\\" style=\\\"border-radius: 20%; width:100px; height: 100px; margin-right: 30px;\\\">\\r\\n\\r\\n                                                <div style=\\\"text-align: center;width: 100px;margin-top: 5px;\\\">\\r\\n                                                    <i aria-hidden=\\\"true\\\" (click)=\\\"remove_new_image(index)\\\" class=\\\"fa fa-times-circle\\\" style=\\\"font-size: 25px;cursor: pointer;color:#bc2029;\\\"></i>\\r\\n                                                </div>\\r\\n                                            </div>\\r\\n\\r\\n                                            <div *ngFor=\\\"let image of edit_item.image_url; let index=index;\\\" style=\\\" display: inline-table;\\\">\\r\\n                                                <img [src]=\\\"image\\\" style=\\\"border-radius: 20%; width:100px; height: 100px; margin-right: 30px;\\\">\\r\\n\\r\\n                                                <div style=\\\"text-align: center;width: 100px;margin-top: 5px;\\\">\\r\\n                                                    <i aria-hidden=\\\"true\\\" (click)=\\\"delete_item_image(image , index)\\\" class=\\\"fa fa-times-circle\\\" style=\\\"font-size: 25px;cursor: pointer;color:#bc2029;\\\"></i>\\r\\n                                                </div>\\r\\n                                            </div>\\r\\n                                    </div>\\r\\n\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"text_center\\\"><span style=\\\"color: red;\\\">{{image_error | translate}}</span></div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"font-size: 18px;\\\">\\r\\n                        <label>{{title.note_for_image | translate}}: </label><span>{{title.image_note1 | translate}} {{image_setting.image_min_width}}x{{image_setting.image_min_height}} {{title.image_note2 | translate}} {{image_setting.image_max_width}}x{{image_setting.image_max_height}}),\\r\\n                        {{title.image_note3 | translate}} <label>{{image_setting.image_ratio}}</label> {{title.image_note4 | translate}}</span> <label *ngFor=\\\"let i of image_setting.image_type; let last=last;\\\"> {{(i.split('/'))[1]}}<label [hidden]=\\\"last\\\">,</label> </label>\\r\\n                        <span>{{title.image_note5 | translate}}</span>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n\\r\\n            </div>\\r\\n        </div>\\r\\n\\t    <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-lg-4 col-md-6 col-sm-6\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.item_title | translate}}</label> \\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"edit_item.store_id\\\" #store_id=\\\"ngModel\\\"  name=\\\"store_id\\\" />\\r\\n                                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"edit_item.server_token\\\" #server_token=\\\"ngModel\\\"  name=\\\"server_token\\\" />\\r\\n                                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"item_id\\\" name=\\\"item_id\\\" />\\r\\n                                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"edit_item.specifications_unique_id_count\\\" #specifications_unique_id_count=\\\"ngModel\\\"  name=\\\"specifications_unique_id_count\\\" />\\r\\n\\r\\n                                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"item_specification_list\\\" name=\\\"specifications\\\" />\\r\\n\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-md-4 control-label\\\">{{title.product_name | translate}}</label>  \\r\\n                                    <div class=\\\"col-md-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"edit_item.product_name\\\" #product_name=\\\"ngModel\\\"  name=\\\"product_name\\\" readonly />\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                    \\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-md-4 control-label\\\">{{title.name | translate}}</label>  \\r\\n                                    <div class=\\\"col-md-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"edit_item.name\\\" #name=\\\"ngModel\\\" (keyup)=\\\"check_item()\\\"  name=\\\"name\\\" required />\\r\\n                                        <label *ngIf=item_already_exist >{{validation_message.item_already_exist | translate}}</label>\\r\\n                                        <div *ngIf=\\\"name.errors && (name.dirty || name.touched)\\\">\\r\\n                                            <div style=\\\"color: red;\\\" [hidden]=\\\"!name.errors.required\\\">{{validation_message.item_name_required | translate}}</div>\\r\\n                                        </div>\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-md-4 control-label\\\">{{title.details | translate}}</label>  \\r\\n                                    <div class=\\\"col-md-8 form-group\\\">\\r\\n                                        <textarea style=\\\"max-width: 100%; max-height: 80px;\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"edit_item.details\\\" #details=\\\"ngModel\\\"  name=\\\"details\\\" required ></textarea>\\r\\n                                        <div *ngIf=\\\"details.errors && (details.dirty || details.touched)\\\">\\r\\n                                            <div style=\\\"color: red;\\\" [hidden]=\\\"!details.errors.required\\\">{{validation_message.item_detail_required | translate}}</div>\\r\\n                                        </div>\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-md-4 control-label\\\">{{title.price | translate}}</label>  \\r\\n                                    <div class=\\\"col-md-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" (keypress)=\\\"helper.number_validation($event)\\\" [(ngModel)]=\\\"edit_item.price\\\" #price=\\\"ngModel\\\"  name=\\\"price\\\" required />\\r\\n                                        <div *ngIf=\\\"price.errors && (price.dirty || price.touched)\\\">\\r\\n                                            <div style=\\\"color: red;\\\" [hidden]=\\\"!price.errors.required\\\">{{validation_message.item_price_required | translate}}</div>\\r\\n                                        </div>\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                            </div>\\r\\n                            \\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-3 col-md-6 col-sm-6\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.item_setting | translate}}</label> \\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-md-8 col-sm-8 col-xs-8 control-label\\\">{{title.is_default | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-md-4 col-sm-4 col-xs-4 form-group\\\">\\r\\n                                        <ui-switch [(ngModel)]=\\\"edit_item.is_visible_in_store\\\" #is_visible_in_store=\\\"ngModel\\\" name=\\\"is_visible_in_store\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                \\r\\n                                \\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-md-8 col-sm-8 col-xs-8 control-label\\\">{{title.is_item_in_stock | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-md-4 col-sm-4 col-xs-4 form-group\\\">\\r\\n                                        <ui-switch [(ngModel)]=\\\"edit_item.is_item_in_stock\\\" #is_item_in_stock=\\\"ngModel\\\" name=\\\"is_item_in_stock\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-md-8 col-sm-8 col-xs-8 control-label\\\">{{title.is_most_popular | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-md-4 col-sm-4 col-xs-4 form-group\\\">\\r\\n                                        <ui-switch [(ngModel)]=\\\"edit_item.is_most_popular\\\" #is_most_popular=\\\"ngModel\\\" name=\\\"is_most_popular\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-5 col-md-6 col-sm-12\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.item_specification | translate}}</label> \\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content\\\" >\\r\\n                            <div style=\\\"text-align: center; margin-bottom: 12px;\\\">   \\r\\n\\r\\n                                <button type=\\\"button\\\" id=\\\"add_specification\\\" (click)=\\\"open_specification_group_modal()\\\" class=\\\"btn add_btn\\\">{{button.add_specification | translate}}<span class=\\\"fa fa-plus pull-right\\\" style=\\\"margin-top: 2px;\\\"></span></button>\\r\\n\\r\\n                            </div>   \\r\\n                            <div class=\\\"table-responsive\\\">\\r\\n                                <table class=\\\"table\\\">\\r\\n                                    <tr *ngFor=\\\"let i of item_specification_list; let index=index;\\\">\\r\\n                                        <td>{{i.name}}</td>\\r\\n                                        <td><button type=\\\"button\\\" class=\\\"btn add_btn\\\" (click)=\\\"edit_item_specification(i, index)\\\">{{button.edit | translate}}</button>\\r\\n                                            <button type=\\\"button\\\" class=\\\"btn add_btn\\\" (click)=\\\"delete_item_specification(index)\\\">{{button.delete | translate}}</button>\\r\\n                                        </td>\\r\\n                                    </tr>\\r\\n                                </table>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n        </div>\\r\\n        <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-content\\\">\\r\\n                <div class=\\\"row\\\">   \\r\\n                    <div class=\\\"col-md-4\\\">\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-4\\\" style=\\\"text-align: center;\\\">\\r\\n                        <input type=\\\"submit\\\" [disabled]=\\\"item_already_exist\\\" id=\\\"submit\\\" name=\\\"submit\\\" style=\\\"width: 50%;\\\" class=\\\"btn btn-primary\\\" data-style=\\\"expand-right\\\"  value=\\\"{{button.update_item | translate}}\\\" >\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </form>\\r\\n</div>\\r\\n\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl animated fadeInDownBig\\\" #myModal>\\r\\n    <form #modalForm=\\\"ngForm\\\" (ngSubmit)=\\\"addSpecification(modalForm.value)\\\">\\r\\n        <modal-header>\\r\\n            <button *ngIf=\\\"spec_button==button.save\\\" aria-label=\\\"Close\\\" class=\\\"close\\\" data-dismiss=\\\"modal\\\" type=\\\"button\\\">\\r\\n                <span aria-hidden=\\\"true\\\">×</span>\\r\\n            </button>\\r\\n            <button *ngIf=\\\"spec_button==button.update\\\" aria-label=\\\"Close\\\" class=\\\"close\\\" data-dismiss=\\\"modal\\\" type=\\\"button\\\">\\r\\n                <span aria-hidden=\\\"true\\\">×</span>\\r\\n            </button>\\r\\n            <h4 class=\\\"modal-title\\\">{{heading_title.add_item_specification | translate}}</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <input type=\\\"hidden\\\" [(ngModel)]=\\\"index\\\" name=\\\"index\\\" >\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                    <div class=\\\"col-md-4 col-sm-4 col-xs-8\\\">\\r\\n                        <div class=\\\"form-group\\\" >\\r\\n                            <label style=\\\"font-weight: normal;\\\">{{title.item_specification_name | translate}}</label>\\r\\n                            <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"edit_item.item_specification_name\\\" #item_specification_name=\\\"ngModel\\\" name=\\\"item_specification_name\\\" required>\\r\\n                             <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"edit_item.specification_group_id\\\" #specification_group_id=\\\"ngModel\\\" name=\\\"specification_group_id\\\">\\r\\n                        </div>\\r\\n                         \\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-2 col-sm-2 col-xs-4\\\">\\r\\n                         <label class=\\\"col-md-12 col-sm-12 col-xs-12\\\" style=\\\"font-weight: normal;\\\">{{title.is_required | translate}}</label>\\r\\n                        <ui-switch class=\\\"col-md-12 col-sm-12 col-xs-12\\\" [(ngModel)]=\\\"edit_item.is_required\\\" #is_required=\\\"ngModel\\\" name=\\\"is_required\\\"></ui-switch>\\r\\n                    </div>\\r\\n                    \\r\\n                    <div class=\\\"col-md-6 col-sm-6 col-xs-12\\\">\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-md-12 col-sm-12 col-xs-4\\\" style=\\\"font-weight: normal;\\\">{{title.select_type | translate}}</label>\\r\\n                            <input type=\\\"hidden\\\" [(ngModel)]=\\\"edit_item.type\\\" #type=\\\"ngModel\\\" name=\\\"type\\\" >\\r\\n                            <div class=\\\"col-md-6 col-sm-6 col-xs-4 form-group\\\">\\r\\n                                <label><input class=\\\"iradio iradio1\\\" type=\\\"radio\\\" name=\\\"select_type\\\" value=\\\"1\\\" checked/><span style=\\\"margin-left: 10px;\\\" >{{title.type_single | translate}}</span></label>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-6 col-sm-6 col-xs-4 form-group\\\">\\r\\n                                <label><input class=\\\"iradio iradio2\\\" type=\\\"radio\\\" name=\\\"select_type\\\" value=\\\"2\\\"/><span style=\\\"margin-left: 10px;\\\">{{title.type_multiple | translate}}</span></label>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                    <div class=\\\"form-group\\\">\\r\\n                        <div class=\\\"table-responsive\\\">\\r\\n                            <table class=\\\"table\\\">\\r\\n                            <tr>\\r\\n                                <td style=\\\"width: 40%\\\">{{title.add_specification | translate}}</td>\\r\\n                                <td style=\\\"width: 120px;\\\">{{title.price | translate}}</td>\\r\\n                                <td style=\\\"width: 30%\\\">{{title.default_select | translate}}</td>\\r\\n                            </tr>\\r\\n                            </table>\\r\\n                            <div id=\\\"spec_model\\\">\\r\\n                                <table class=\\\"table\\\">\\r\\n                                    <tr *ngFor=\\\"let i of product_specification_list;  let index=index; \\\">\\r\\n                                        <td style=\\\"width: 5%\\\"><label><input type=\\\"checkbox\\\" class=\\\"icheck\\\" value=\\\"{{i._id}}\\\"/></label></td>\\r\\n                                        <td style=\\\"width: 35%\\\"><label><span style=\\\"margin-left: 10px;\\\">{{i.name}}</span></label></td>\\r\\n\\r\\n                                        <td style=\\\"width: 120px;\\\"><div>\\r\\n                                            <input type=\\\"text\\\" class=\\\"form-control\\\" [disabled]=\\\"checked_array[index]!=true\\\" (keypress)=\\\"helper.number_validation()\\\" [(ngModel)]=\\\"i.price\\\" name=\\\"{{index}}\\\"></div>\\r\\n                                        </td>\\r\\n                                        <td style=\\\"width: 30%\\\"><ui-switch (change)=\\\"onChange($event, i._id)\\\" [(ngModel)]=\\\"i.is_default_selected\\\" #is_default_selected=\\\"ngModel\\\" [disabled]=\\\"checked_array[index]!=true\\\" name=\\\"is_default_selected{{i._id}}\\\"></ui-switch></td>\\r\\n\\r\\n                                    </tr>\\r\\n                                </table>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div *ngIf=\\\"spec_list_error==1\\\">\\r\\n                            <label class=\\\"error\\\" style=\\\"font-weight: normal;\\\">{{title.error_atleast_one_specification | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{spec_button | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-sm animated fadeInDownBig\\\" #myspec_group_modal>\\r\\n    \\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <h4 class=\\\"modal-title\\\">{{heading_title.add_item_specification | translate}}</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                    <div id=\\\"spec_model1\\\">\\r\\n                        <table class=\\\"table\\\">\\r\\n                            <tr *ngFor=\\\"let i of product_specification_group_list\\\">\\r\\n                                <td style=\\\"width: 40%\\\" (click)=\\\"open_modal(i._id , i.product_id , i.name , i.unique_id)\\\"><label>{{i.name}}</label></td>\\r\\n                            </tr>\\r\\n                        </table>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            \\r\\n        </modal-body>\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl animated fadeInDownBig\\\" #image_crop_modal>\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n        <img-cropper #cropper [image]=\\\"data\\\" [settings]=\\\"cropperSettings\\\"></img-cropper><br>\\r\\n        {{cropperSettings.croppedWidth}}\\r\\n        {{cropperSettings.croppedHeight}}\\r\\n        <div class=\\\"col-lg-12 text_center\\\">\\r\\n            <span style=\\\"color: red;\\\">{{image_error | translate}}</span>\\r\\n        </div>\\r\\n\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n        <div style=\\\"text-align: center\\\">\\r\\n            <button type=\\\"button\\\" (click)=\\\"crop($event)\\\" class=\\\"btn btn-primary\\\">{{button.done | translate}}</button>\\r\\n        </div>\\r\\n    </modal-footer>\\r\\n</modal>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/store/edit_item/edit_item.component.html\n// module id = 1695\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\" *ngIf=\\\"!add_boolean\\\">\\r\\n  <div class=\\\"row\\\">\\r\\n    <div class=\\\"col-md-6 col-sm-12 pull-right\\\">\\r\\n      <div class=\\\"add_btn_div\\\" style=\\\"margin-right: 35px;\\\">\\r\\n        <a><button (click)=\\\"update_order_data()\\\" class=\\\"btn add_btn pull-right\\\" style=\\\"margin-right: 10px;\\\">{{button.update | translate}}</button></a>\\r\\n      </div>\\r\\n    </div>\\r\\n    <div class=\\\"col-md-6 col-sm-12 pull-right\\\">\\r\\n      <div class=\\\"add_btn_div\\\" style=\\\"margin-right: 35px;\\\">\\r\\n        <a><button (click)=\\\"add_boolean=true\\\" class=\\\"btn add_btn pull-right\\\" style=\\\"margin-right: 10px;\\\">{{button.add_item | translate}}</button></a>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n</div>\\r\\n\\r\\n<div class=\\\"wrapper content_top_bar_view wrapper-content animated fadeInRight\\\" *ngIf=\\\"!add_boolean\\\">\\r\\n  <div class=\\\"row\\\" *ngFor=\\\"let product_data of order.cart_detail.order_details; let product_index=index;\\\">\\r\\n    <div class=\\\"col-md-12\\\" style=\\\"margin-bottom: 10px; padding: 0px;\\\">\\r\\n      <label class=\\\"control-label label label-danger\\\" style=\\\"font-size: 20px;\\\">{{product_data.product_name}}</label>\\r\\n    </div>\\r\\n\\r\\n    <div *ngFor=\\\"let i of product_data.items; let item_index=index;\\\">\\r\\n      <div class=\\\"col-lg-4 col-sm-6\\\" style=\\\"padding : 0px; padding-right: 2px;\\\">\\r\\n        <div class=\\\"contact-box\\\" style=\\\"padding-left: 0px; padding-right: 0px;\\\">\\r\\n          <a >\\r\\n            <div class=\\\"col-md-4 col-xs-4 div1\\\" (click)=\\\"open_edit_item_modal(i , product_data, item_index, product_index)\\\" style=\\\"text-align: center; padding-left: 0px; padding-right: 0px;\\\">\\r\\n              <img class=\\\"img-circle m-t-sm img-responsive\\\" src=\\\"{{i.image_url[0] != undefined ? helper.CONSTANT.IMAGE_BASE_URL + i.image_url[0] : helper.CONSTANT.IMAGE_BASE_URL + 'default.png'}}\\\" style=\\\"border-radius: 20%; display: inline; width:100px; height: 100px;\\\">\\r\\n\\r\\n            </div>\\r\\n            <div class=\\\"col-md-8 col-xs-8 div2\\\" style=\\\"padding-left: 0px; padding-right: 0px;\\\">\\r\\n              <div class=\\\"col-md-9 col-xs-9\\\" style=\\\"height: 24px; overflow: hidden;\\\">\\r\\n                <h3><strong>{{i.item_name}}</strong></h3>\\r\\n              </div>\\r\\n              <div class=\\\"col-md-3 col-xs-3\\\" >\\r\\n                <h3><strong style=\\\"float: right;\\\">{{order.currency}}{{i.total_item_and_specification_price}}</strong></h3>\\r\\n              </div>\\r\\n\\r\\n              <div class=\\\"col-md-12 col-xs-12\\\" style=\\\"height: 57px; overflow: hidden;\\\">\\r\\n                <address>\\r\\n                  {{i.details}}\\r\\n                </address>\\r\\n              </div>\\r\\n              <div class=\\\"col-md-9 col-xs-9\\\">\\r\\n                  <div style=\\\"display: inline-block;\\\">\\r\\n                    <i (click)=\\\"decrease_qty(product_index, item_index)\\\" class=\\\"fa fa-minus\\\" aria-hidden=\\\"true\\\"></i>\\r\\n                  </div>\\r\\n                  <div style=\\\"display: inline-block;padding-left: 40px;padding-right: 40px;\\\">\\r\\n                    <h4 class=\\\"num\\\" style=\\\"margin-top: 10px;\\\">{{i.quantity}}</h4>\\r\\n                  </div>\\r\\n                  <div style=\\\"display: inline-block;\\\">\\r\\n                    <i (click)=\\\"increase_qty(product_index, item_index)\\\" class=\\\"fa fa-plus\\\" aria-hidden=\\\"true\\\"></i>\\r\\n                  </div>\\r\\n              </div>\\r\\n              <div class=\\\"col-md-3 col-xs-3\\\">\\r\\n                <a class=\\\"remove\\\" [hidden]=\\\"last_item\\\" (click)=\\\"remove_from_cart(product_index, item_index)\\\">Remove</a>\\r\\n              </div>\\r\\n            </div>\\r\\n            <div class=\\\"clearfix\\\"></div>\\r\\n          </a>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n\\r\\n</div>\\r\\n\\r\\n<div class=\\\"wrapper content_top_bar_view wrapper-content animated fadeInRight\\\" *ngIf=\\\"add_boolean\\\">\\r\\n  <div class=\\\"row\\\" *ngFor=\\\"let product_data of filtered_product_list; let product_index=index;\\\">\\r\\n    <div class=\\\"col-md-12 \\\" style=\\\"margin-bottom: 10px; padding: 0px;\\\" *ngIf=\\\"product_data.items.length > 0\\\">\\r\\n      <label class=\\\"control-label label label-danger\\\" style=\\\"font-size: 20px;\\\">{{product_data.name}}</label>\\r\\n    </div>\\r\\n\\r\\n\\r\\n    <div *ngFor=\\\"let i of product_data.items; let item_index=index;\\\">\\r\\n      <div class=\\\"col-lg-4 col-sm-6\\\" style=\\\"padding : 0px; padding-right: 2px;\\\">\\r\\n        <div class=\\\"contact-box\\\" style=\\\"padding-left: 0px; padding-right: 0px;\\\">\\r\\n          <a (click)=\\\"open_item_modal(i , item_index , product_index, $event)\\\" >\\r\\n            <div class=\\\"col-md-4 col-xs-4 div1\\\" style=\\\"text-align: center; padding-left: 0px; padding-right: 0px;\\\">\\r\\n              <img class=\\\"img-circle m-t-sm img-responsive\\\" src=\\\"{{i.image_url[0] != undefined ? helper.CONSTANT.IMAGE_BASE_URL + i.image_url[0] : helper.CONSTANT.IMAGE_BASE_URL + 'default.png'}}\\\" style=\\\"border-radius: 20%; display: inline; width:100px; height: 100px;\\\">\\r\\n\\r\\n            </div>\\r\\n            <div class=\\\"col-md-8 col-xs-8 div2\\\" style=\\\"padding-left: 0px; padding-right: 0px;\\\">\\r\\n              <div class=\\\"col-md-9 col-xs-9\\\" style=\\\"height: 24px; overflow: hidden;\\\">\\r\\n                <h3><strong>{{i.name}}</strong></h3>\\r\\n              </div>\\r\\n              <div class=\\\"col-md-3 col-xs-3\\\" >\\r\\n                <h3><strong style=\\\"float: right;\\\">{{currency}}{{i.price}}</strong></h3>\\r\\n              </div>\\r\\n\\r\\n              <div class=\\\"col-md-12 col-xs-12\\\" style=\\\"height: 57px; overflow: hidden;\\\">\\r\\n                <address>\\r\\n                  {{i.details}}\\r\\n                </address>\\r\\n              </div>\\r\\n            </div>\\r\\n            <div class=\\\"clearfix\\\"></div>\\r\\n          </a>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n\\r\\n</div>\\r\\n\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl animated\\\" #itemModal\\r\\n       style=\\\"overflow: scroll; z-index: 9999999 !important;\\\">\\r\\n\\r\\n  <div class=\\\"modal-header\\\" style=\\\"padding: 0 !important;\\\">\\r\\n    <img class=\\\"remove_image item_modal_close\\\" (click)=\\\"close_item_modal()\\\" [src]=\\\"helper.CONSTANT.IMAGE_BASE_URL + 'images/cross_white.png'\\\" />\\r\\n    <div class=\\\"item_modal_image_shaddow\\\">\\r\\n\\r\\n    </div>\\r\\n    <div id=\\\"myCarousel\\\" class=\\\"carousel slide\\\" data-ride=\\\"carousel\\\">\\r\\n\\r\\n      <ol class=\\\"carousel-indicators\\\">\\r\\n        <li class=\\\"a\\\" *ngFor=\\\"let image of current_item.image_url; let image_index=index; let first=first;\\\"\\r\\n            id=\\\"aa{{image_index}}\\\" [attr.data-target]=\\\"'#myCarousel'\\\" [attr.data-slide-to]=\\\"image_index\\\"\\r\\n            [class.active]=\\\"first\\\">\\r\\n        </li>\\r\\n        <li *ngIf=\\\"current_item.image_url.length == 0\\\" class=\\\"a active\\\" [attr.data-target]=\\\"'#myCarousel'\\\" [attr.data-slide-to]=\\\"1\\\">\\r\\n        </li>\\r\\n      </ol>\\r\\n\\r\\n      <div class=\\\"carousel-inner\\\" (dragstart)=\\\"dragstart_image($event)\\\"\\r\\n           (dragend)=\\\"dragend_image($event, current_item.image_url.length)\\\">\\r\\n        <div *ngFor=\\\"let image of current_item.image_url; let image_index=index; let first=first;\\\" class=\\\"item\\\"\\r\\n             [class.active]=\\\"first\\\">\\r\\n          <img class=\\\"animated fadeInRight\\\" src=\\\"{{helper.CONSTANT.IMAGE_BASE_URL + image}}\\\" alt=\\\"Los Angeles\\\"\\r\\n               style=\\\"width:100%;height: 230px;object-fit: cover;\\\">\\r\\n        </div>\\r\\n        <div *ngIf=\\\"current_item.image_url.length == 0\\\" class=\\\"item active\\\">\\r\\n          <img class=\\\"animated fadeInRight\\\" [src]=\\\"helper.CONSTANT.IMAGE_BASE_URL + 'default.png'\\\" alt=\\\"Los Angeles\\\"\\r\\n               style=\\\"width:100%;height: 230px;object-fit: cover;\\\">\\r\\n        </div>\\r\\n      </div>\\r\\n\\r\\n    </div>\\r\\n  </div>\\r\\n  <div class=\\\"modal-body\\\" style=\\\"padding-bottom: 10px;\\\">\\r\\n    <div class=\\\"\\\">\\r\\n      <h1 class=\\\"modalbodyhead\\\">{{current_item.name}}</h1>\\r\\n      <p class=\\\"modalbodytext\\\">{{current_item.details}}</p>\\r\\n\\r\\n      <div *ngFor=\\\"let specification_group of current_item.specifications; let specification_group_index = index;\\\">\\r\\n        <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\r\\n          <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n            <h1 class=\\\"radioheader\\\">{{specification_group.name}}</h1>\\r\\n            <div class=\\\"min_max\\\">\\r\\n                                    <span *ngIf=\\\"specification_group.min_selection>1\\\">\\r\\n                                      Min. {{specification_group.min_selection}} / \\r\\n                                    </span>\\r\\n                                    <span *ngIf=\\\"specification_group.max_selection>0&&specification_group.type==2\\\">\\r\\n                                      Max. {{specification_group.max_selection}} options\\r\\n                                    </span>\\r\\n                                  </div>\\r\\n          </div>\\r\\n          <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n            <h1 *ngIf=\\\"specification_group.is_required\\\" class=\\\"radioheader pull-right\\\"\\r\\n                style=\\\"color: #cb212e;\\\">{{title.required | translate}}</h1>\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"radio1\\\">\\r\\n          <div *ngIf=\\\"specification_group.type==1\\\">\\r\\n            <div *ngFor=\\\"let specification of specification_group.list; let specification_index = index;\\\"\\r\\n                 class=\\\"radio\\\" style=\\\"margin-top: 0px; margin-bottom: 0px;\\\">\\r\\n              <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\r\\n\\r\\n                <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n                  <label>\\r\\n                    <!--<input type=\\\"radio\\\"-->\\r\\n                    <!--(change)=\\\"changeradio($event, specification_group_index, specification_index)\\\"-->\\r\\n                    <!--[checked]=\\\"specification.is_default_selected\\\" class=\\\"walnut\\\">{{specification.name}}-->\\r\\n                    <div style=\\\"padding-left: 24px;\\\" class=\\\"iradio_square-green\\\"\\r\\n                         [class.checked]=\\\"specification.is_default_selected\\\">\\r\\n                      <input type=\\\"radio\\\" style=\\\"opacity:0\\\"\\r\\n                             (change)=\\\"changeradio($event, specification_group_index, specification_index)\\\"\\r\\n                             [checked]=\\\"specification.is_default_selected\\\" class=\\\"walnut\\\">\\r\\n                    </div>\\r\\n                    <span style=\\\"margin-left: 10px;\\\">{{specification.name}}</span>\\r\\n\\r\\n                  </label>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n                  <label *ngIf=\\\"specification.price>0\\\" class=\\\"pull-right\\\">{{currency}}{{specification.price}}</label>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n          <div *ngIf=\\\"specification_group.type==2\\\">\\r\\n            <div *ngFor=\\\"let specification of specification_group.list; let specification_index = index;\\\"\\r\\n                 class=\\\"checkbox\\\" style=\\\"margin-top: 0px; margin-bottom: 0px;\\\">\\r\\n              <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\r\\n                <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n                  <label>\\r\\n                    <div style=\\\"padding-left: 24px;\\\" class=\\\"icheckbox_square-green\\\"\\r\\n                         [class.checked]=\\\"specification.is_default_selected\\\">\\r\\n                      <input type=\\\"checkbox\\\" style=\\\"opacity:0\\\" [disabled]=\\\"specification_group.default_selected_count==specification_group.max_selection && !specification.is_default_selected\\\"\\r\\n                             (change)=\\\"changecheckbox($event, specification_group_index, specification_index)\\\"\\r\\n                             [checked]=\\\"specification.is_default_selected\\\" class=\\\"walnut\\\">\\r\\n                    </div>\\r\\n                    <span style=\\\"margin-left: 10px;\\\">{{specification.name}}</span>\\r\\n                  </label>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n                  <label *ngIf=\\\"specification.price>0\\\" class=\\\"pull-right\\\">{{currency}}{{specification.price}}</label>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n\\r\\n      <div class=\\\"row\\\" style=\\\"margin: 0;text-align: center; color:black; margin-top: 20px;font-family: myFirstFont;\\\">\\r\\n        <div class=\\\"col-md-4 col-sm-4 col-xs-2\\\"></div>\\r\\n        <div class=\\\"col-md-4 col-sm-4 col-xs-8\\\" style=\\\"border:1px solid;border-radius: 10px;\\\">\\r\\n          <div style=\\\"display: inline-block;\\\">\\r\\n            <i (click)=\\\"newitem_decrease_qty()\\\" class=\\\"fa fa-minus\\\" aria-hidden=\\\"true\\\"></i>\\r\\n          </div>\\r\\n          <div style=\\\"display: inline-block;padding-left: 40px;padding-right: 40px;\\\">\\r\\n            <h4 class=\\\"num\\\" style=\\\"margin-top: 10px;\\\">{{qty}}</h4>\\r\\n          </div>\\r\\n          <div style=\\\"display: inline-block;\\\">\\r\\n            <i (click)=\\\"newitem_incerase_qty()\\\" class=\\\"fa fa-plus\\\" aria-hidden=\\\"true\\\"></i>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"row\\\" style=\\\"padding-top: 20px;text-align: center;color: red;\\\">\\r\\n        <span class=\\\"validation_error\\\" style=\\\"font-size: 13px;\\\" *ngIf=\\\"required_count !== required_temp_count\\\">\\r\\n          please select the required fields\\r\\n        </span>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n\\r\\n  <div class=\\\"modal-footer\\\" style=\\\"background-color: black;\\\">\\r\\n    <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\r\\n\\r\\n      <button [disabled]=\\\"required_count !== required_temp_count\\\" (click)=\\\"addToCart()\\\"\\r\\n              style=\\\"width: 100%;background-color: black;border: 0;\\\">\\r\\n        <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n          <h1 class=\\\"totalprice\\\" style=\\\"float: left;\\\">{{button.add_item | translate}}</h1>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n          <h1 class=\\\"totalprice\\\">{{currency}}{{total}}</h1>\\r\\n        </div>\\r\\n      </button>\\r\\n    </div>\\r\\n  </div>\\r\\n\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl animated\\\" #edititemModal\\r\\n       style=\\\"overflow: scroll; z-index: 9999999 !important;\\\">\\r\\n\\r\\n  <div class=\\\"modal-header\\\" style=\\\"padding: 0 !important;\\\">\\r\\n    <img class=\\\"remove_image item_modal_close\\\" (click)=\\\"close_item_modal()\\\" [src]=\\\"helper.CONSTANT.IMAGE_BASE_URL + 'images/cross_white.png'\\\" />\\r\\n    <div class=\\\"item_modal_image_shaddow\\\">\\r\\n\\r\\n    </div>\\r\\n    <div id=\\\"myCarousel\\\" class=\\\"carousel slide\\\" data-ride=\\\"carousel\\\">\\r\\n\\r\\n      <ol class=\\\"carousel-indicators\\\">\\r\\n        <li class=\\\"a\\\" *ngFor=\\\"let image of current_item.image_url; let image_index=index; let first=first;\\\"\\r\\n            id=\\\"aa{{image_index}}\\\" [attr.data-target]=\\\"'#myCarousel'\\\" [attr.data-slide-to]=\\\"image_index\\\"\\r\\n            [class.active]=\\\"first\\\">\\r\\n        </li>\\r\\n        <li *ngIf=\\\"current_item.image_url.length == 0\\\" class=\\\"a active\\\" [attr.data-target]=\\\"'#myCarousel'\\\" [attr.data-slide-to]=\\\"1\\\">\\r\\n        </li>\\r\\n      </ol>\\r\\n\\r\\n      <div class=\\\"carousel-inner\\\" (dragstart)=\\\"dragstart_image($event)\\\"\\r\\n           (dragend)=\\\"dragend_image($event, current_item.image_url.length)\\\">\\r\\n        <div *ngFor=\\\"let image of current_item.image_url; let image_index=index; let first=first;\\\" class=\\\"item\\\"\\r\\n             [class.active]=\\\"first\\\">\\r\\n          <img class=\\\"animated fadeInRight\\\" src=\\\"{{helper.CONSTANT.IMAGE_BASE_URL + image}}\\\" alt=\\\"Los Angeles\\\"\\r\\n               style=\\\"width:100%;height: 230px;object-fit: cover;\\\">\\r\\n        </div>\\r\\n        <div *ngIf=\\\"current_item.image_url.length == 0\\\" class=\\\"item active\\\">\\r\\n        <img class=\\\"animated fadeInRight\\\" [src]=\\\"helper.CONSTANT.IMAGE_BASE_URL + 'default.png'\\\" alt=\\\"Los Angeles\\\"\\r\\n               style=\\\"width:100%;height: 230px;object-fit: cover;\\\">\\r\\n        </div>\\r\\n      </div>\\r\\n\\r\\n    </div>\\r\\n  </div>\\r\\n  <div class=\\\"modal-body\\\" style=\\\"padding-bottom: 10px;\\\">\\r\\n    <div class=\\\"\\\">\\r\\n      <h1 class=\\\"modalbodyhead\\\">{{current_item.name}}</h1>\\r\\n      <p class=\\\"modalbodytext\\\">{{current_item.details}}</p>\\r\\n\\r\\n      <div *ngFor=\\\"let specification_group of current_item.specifications; let specification_group_index = index;\\\">\\r\\n        <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\r\\n          <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n            <h1 class=\\\"radioheader\\\">{{specification_group.name}}</h1>\\r\\n            <div class=\\\"min_max\\\">\\r\\n              <span *ngIf=\\\"specification_group.min_selection>1\\\">\\r\\n                Min. {{specification_group.min_selection}} / \\r\\n              </span>\\r\\n              <span *ngIf=\\\"specification_group.max_selection>0&&specification_group.type==2\\\">\\r\\n                Max. {{specification_group.max_selection}} options\\r\\n              </span>\\r\\n            </div>\\r\\n          </div>\\r\\n          <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n            <h1 *ngIf=\\\"specification_group.is_required\\\" class=\\\"radioheader pull-right\\\"\\r\\n                style=\\\"color: #cb212e;\\\">{{title.required | translate}}</h1>\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"radio1\\\">\\r\\n          <div *ngIf=\\\"specification_group.type==1\\\">\\r\\n            <div *ngFor=\\\"let specification of specification_group.list; let specification_index = index;\\\"\\r\\n                 class=\\\"radio\\\" style=\\\"margin-top: 0px; margin-bottom: 0px;\\\">\\r\\n              <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\r\\n\\r\\n                <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n                  <label>\\r\\n                    <!--<input type=\\\"radio\\\"-->\\r\\n                    <!--(change)=\\\"changeradio($event, specification_group_index, specification_index)\\\"-->\\r\\n                    <!--[checked]=\\\"specification.is_default_selected\\\" class=\\\"walnut\\\">{{specification.name}}-->\\r\\n                    <div style=\\\"padding-left: 24px;\\\" class=\\\"iradio_square-green\\\"\\r\\n                         [class.checked]=\\\"specification.is_default_selected\\\">\\r\\n                      <input type=\\\"radio\\\" style=\\\"opacity:0\\\"\\r\\n                             (change)=\\\"changeradio($event, specification_group_index, specification_index)\\\"\\r\\n                             [checked]=\\\"specification.is_default_selected\\\" class=\\\"walnut\\\">\\r\\n                    </div>\\r\\n                    <span style=\\\"margin-left: 10px;\\\">{{specification.name}}</span>\\r\\n\\r\\n                  </label>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n                  <label *ngIf=\\\"specification.price>0\\\" class=\\\"pull-right\\\">{{currency}}{{specification.price}}</label>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n          <div *ngIf=\\\"specification_group.type==2\\\">\\r\\n            <div *ngFor=\\\"let specification of specification_group.list; let specification_index = index;\\\"\\r\\n                 class=\\\"checkbox\\\" style=\\\"margin-top: 0px; margin-bottom: 0px;\\\">\\r\\n              <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\r\\n                <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n                  <label>\\r\\n                    <div style=\\\"padding-left: 24px;\\\" class=\\\"icheckbox_square-green\\\"\\r\\n                         [class.checked]=\\\"specification.is_default_selected\\\">\\r\\n                      <input type=\\\"checkbox\\\" [disabled]=\\\"specification_group.default_selected_count==specification_group.max_selection && !specification.is_default_selected\\\" style=\\\"opacity:0\\\"\\r\\n                             (change)=\\\"changecheckbox($event, specification_group_index, specification_index)\\\"\\r\\n                             [checked]=\\\"specification.is_default_selected\\\" class=\\\"walnut\\\">\\r\\n                    </div>\\r\\n                    <span style=\\\"margin-left: 10px;\\\">{{specification.name}}</span>\\r\\n                  </label>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n                  <label *ngIf=\\\"specification.price>0\\\" class=\\\"pull-right\\\">{{currency}}{{specification.price}}</label>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div class=\\\"row\\\" style=\\\"padding-top: 20px;text-align: center;color: red;\\\">\\r\\n        <span class=\\\"validation_error\\\" style=\\\"font-size: 13px;\\\" *ngIf=\\\"required_count !== required_temp_count\\\">\\r\\n          please select the required fields\\r\\n        </span>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n\\r\\n  <div class=\\\"modal-footer\\\" style=\\\"background-color: black;\\\">\\r\\n    <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\r\\n\\r\\n      <button [disabled]=\\\"required_count !== required_temp_count\\\" (click)=\\\"updateCart()\\\"\\r\\n              style=\\\"width: 100%;background-color: black;border: 0;\\\">\\r\\n        <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n          <h1 class=\\\"totalprice\\\" style=\\\"float: left;\\\">{{button.update_item | translate}}</h1>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n          <h1 class=\\\"totalprice\\\">{{currency}}{{total}}</h1>\\r\\n        </div>\\r\\n      </button>\\r\\n    </div>\\r\\n  </div>\\r\\n\\r\\n</modal>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/store/edit_order/edit_order.component.html\n// module id = 1696\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>   \\r\\n<form #productForm=\\\"ngForm\\\" (ngSubmit)=\\\"updateProduct(productForm.value)\\\" enctype='multipart/form-data' >\\r\\n    <div class=\\\"wrapper wrapper-content animated fadeInRight content_top_bar\\\">\\r\\n\\t<div class=\\\"row\\\">\\r\\n            <div class=\\\"col-lg-12\\\">\\r\\n                <div class=\\\"col-lg-6 col-sm-9\\\">\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\">\\r\\n                            <label class=\\\"control-label\\\">{{heading_title.product_title | translate}}</label> \\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                    <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"edit_product.store_id\\\" #store_id=\\\"ngModel\\\"  name=\\\"store_id\\\" />\\r\\n                                    <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"edit_product.server_token\\\" #server_token=\\\"ngModel\\\"  name=\\\"server_token\\\" />\\r\\n                                    <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"product_id\\\" #store_id=\\\"ngModel\\\"  name=\\\"product_id\\\" />\\r\\n                                    \\r\\n                                   \\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.name | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"edit_product.name\\\" (keyup)=\\\"check_product()\\\" #name=\\\"ngModel\\\"  name=\\\"name\\\" required />\\r\\n                                        <label *ngIf=product_already_exist >{{message.product_already_exist | translate}}</label>\\r\\n                                        <div *ngIf=\\\"name.errors && (name.dirty || name.touched)\\\">\\r\\n                                            <div style=\\\"color: red;\\\" [hidden]=\\\"!name.errors.required\\\">{{validation_message.product_name_required | translate}}</div>\\r\\n                                        </div>\\r\\n                                    </div> \\r\\n                                    \\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.details | translate}}</label>  \\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        \\r\\n                                        <textarea class=\\\"form-control\\\" [(ngModel)]=\\\"edit_product.details\\\" #details=\\\"ngModel\\\"  name=\\\"details\\\" required ></textarea>\\r\\n\\r\\n                                        <div *ngIf=\\\"details.errors && (details.dirty || details.touched)\\\">\\r\\n                                            <div style=\\\"color: red;\\\" [hidden]=\\\"!details.errors.required\\\">{{validation_message.product_name_required | translate}}</div>\\r\\n                                        </div>\\r\\n                                    </div> \\r\\n                                </div>\\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-lg-4 control-label\\\">{{title.is_visible_in_store | translate}}</label>  \\r\\n\\r\\n                                    <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                        <ui-switch [(ngModel)]=\\\"edit_product.is_visible_in_store\\\" #is_visible_in_store=\\\"ngModel\\\" name=\\\"is_visible_in_store\\\"></ui-switch>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"form-group col-lg-4\\\">\\r\\n                                </div>\\r\\n                                <div class=\\\"form-group col-lg-4\\\">\\r\\n                                    <div  style=\\\"width: 100%;height:131px;\\\">\\r\\n                                        <div class=\\\"col-lg-12 profile-images center\\\">\\r\\n\\r\\n                                            <span class=\\\"btn-file\\\"><img style=\\\"width: 110px;height: 110px;\\\" src=\\\"{{edit_product.image_url != '' ? edit_product.image_url : 'plus_box.png'}}\\\" alt=\\\"\\\">\\r\\n                                                <input type=\\\"file\\\" accept=\\\"image/*\\\" (change)=\\\"image_update($event)\\\" name=\\\"image_url\\\">\\r\\n                                            </span>\\r\\n\\r\\n                                        </div>\\r\\n                                        <div class=\\\"col-lg-12 text_center\\\">\\r\\n                                            <span style=\\\"color: red;\\\">{{image_error | translate}}</span>\\r\\n                                        </div>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-12\\\">\\r\\n                                    <div class=\\\"row\\\">\\r\\n                                        <label class=\\\"control-label\\\" style=\\\"color:#bc202b;\\\">{{title.note_for_image | translate}}:-</label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"row\\\">\\r\\n                                        <label class=\\\"control-label\\\" >{{title.image_note1 | translate}} {{image_setting.image_min_width}}x{{image_setting.image_min_height}}\\r\\n                                            {{title.image_note2 | translate}} {{image_setting.image_max_width}}x{{image_setting.image_max_height}}),</label><br>\\r\\n                                        <label class=\\\"control-label\\\">{{title.image_note3 | translate}} {{image_setting.image_ratio}} {{title.image_note4 | translate}} </label>\\r\\n                                        <label *ngFor=\\\"let i of image_setting.image_type; let last=last;\\\"> {{(i.split('/'))[1]}}<label [hidden]=\\\"last\\\">,</label> </label>\\r\\n                                        <label class=\\\"control-label\\\"> {{title.image_note5 | translate}}</label>\\r\\n\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <!--<div class=\\\"form-group\\\">-->\\r\\n                                    <!--<label style=\\\"font-weight: 100;\\\" >Note:  Upload image size within width x height (  min {{image_setting.image_min_width}}x{{image_setting.image_min_height}}-->\\r\\n                                    <!--and max {{image_setting.image_max_width}}x{{image_setting.image_max_height}}),</label>-->\\r\\n                                    <!--<label style=\\\"font-weight: 100;\\\">Image ratio should be {{image_setting.image_ratio}} and upload only </label>-->\\r\\n                                    <!--<label *ngFor=\\\"let i of image_setting.image_type\\\"> {{(i.split('/'))[1]}},  </label><label style=\\\"font-weight: 100;\\\"> file</label>-->\\r\\n                                <!--</div>-->\\r\\n                            </div>\\r\\n                            <div class=\\\"row\\\">   \\r\\n                                <div class=\\\"col-lg-4\\\">\\r\\n                                </div>\\r\\n                                <div class=\\\"col-lg-4\\\" style=\\\"text-align: center;\\\">\\r\\n                                    <input [disabled]=\\\"product_already_exist\\\" type=\\\"submit\\\" name=\\\"submit\\\" style=\\\"width: 50%;\\\" class=\\\"btn btn-primary\\\" value=\\\"{{button.update | translate}}\\\" >\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</form>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl animated fadeInDownBig\\\" #image_crop_modal>\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n        <img-cropper #cropper [image]=\\\"data\\\" [settings]=\\\"cropperSettings\\\"></img-cropper><br>\\r\\n        {{cropperSettings.croppedWidth}}\\r\\n        {{cropperSettings.croppedHeight}}\\r\\n        <div class=\\\"col-lg-12 text_center\\\">\\r\\n            <span style=\\\"color: red;\\\">{{image_error | translate}}</span>\\r\\n        </div>\\r\\n\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n        <div style=\\\"text-align: center\\\">\\r\\n            <button type=\\\"button\\\" (click)=\\\"crop($event)\\\" class=\\\"btn btn-primary\\\">{{button.done | translate}}</button>\\r\\n        </div>\\r\\n    </modal-footer>\\r\\n</modal>\\r\\n\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/store/edit_product/edit_product.component.html\n// module id = 1697\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n\\r\\n        <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.date_filter | translate}}</label>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-12 remove_padding\\\">\\r\\n\\r\\n\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n\\r\\n                        <my-date-picker id=\\\"start_date\\\" [options]=\\\"helper.myStartDatePickerOptions\\\" placeholder=\\\"Start Date\\\" [(ngModel)]=\\\"start_date\\\" (dateChanged)=\\\"helper.onStartDateChanged($event)\\\"\\r\\n                                        readonly></my-date-picker>\\r\\n                        <span class=\\\"input-group-addon date_filter_icon\\\">{{button.to}}</span>\\r\\n\\r\\n                        <my-date-picker id=\\\"end_date\\\" [options]=\\\"helper.myEndDatePickerOptions\\\" placeholder=\\\"End Date\\\" [(ngModel)]=\\\"end_date\\\" (dateChanged)=\\\"helper.onEndDateChanged($event)\\\"\\r\\n                                        readonly></my-date-picker>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.search | translate}}</label>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"search_field\\\" [(ngModel)]=\\\"search_field\\\" name=\\\"search_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"user_first_name\\\">{{title.filter_user | translate}}</option>\\r\\n                        <option value=\\\"provider_first_name\\\">{{title.filter_provider | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n\\r\\n                        <input type=\\\"text\\\" class=\\\"form-control search_box\\\" [(ngModel)]=\\\"search_value\\\" #store_open_time=\\\"ngModel\\\" name=\\\"search_value\\\">\\r\\n                        <span class=\\\"input-group-addon search_icon\\\"><span class=\\\"fa fa-search\\\"></span></span>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"lable_center\\\">\\r\\n                    <label>{{title.status | translate}}</label>\\r\\n                </div>\\r\\n                <div class=\\\"form-group\\\" id=\\\"sort_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"order_status_id\\\" [(ngModel)]=\\\"order_status_id\\\" name=\\\"order_status_id\\\">\\r\\n                        <option value=\\\"\\\">{{title.all | translate}}</option>\\r\\n                        <option value=\\\"2\\\">{{title.cancelled | translate}}</option>\\r\\n                        <option value=\\\"3\\\">{{title.rejected | translate}}</option>\\r\\n                        <option value=\\\"10\\\">{{title.completed | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"export_excel()\\\" class=\\\"btn export_excel_btn pull-right\\\" value=\\\"{{button.export_excel | translate}}\\\" >\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"store_history(1)\\\" class=\\\"btn filter_apply_btn pull-right\\\" value=\\\"{{button.apply | translate}}\\\" >\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n<div class=\\\"wrapper content_top_bar_view1 wrapper-content animated fadeInRight\\\">\\r\\n\\r\\n    <div class=\\\"col-md-8\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\">\\r\\n                <h5>{{heading_title.history | translate}}</h5>\\r\\n\\r\\n            </div>\\r\\n            <div class=\\\"ibox-content\\\" style=\\\"padding-bottom: 40px;\\\">\\r\\n                <div class=\\\"table-responsive scrollbar\\\" style=\\\"height: calc(100vh - 300px);overflow: auto;\\\">\\r\\n                    <table class=\\\"table\\\">\\r\\n                        <thead>\\r\\n                            <tr>\\r\\n                                <th>{{title.id | translate}}</th>\\r\\n                                <!-- <th>{{title.user | translate}}</th> -->\\r\\n                                <th>{{title.provider | translate}}</th>\\r\\n                                <!--<th>{{title.user_rating | translate}}</th>-->\\r\\n                                <!--<th>{{title.provider_rating | translate}}</th>-->\\r\\n                                <th>{{title.date | translate}}</th>\\r\\n                                <!--<th>{{title.payment_by | translate}}</th>-->\\r\\n                                <th>{{title.total | translate}}</th>\\r\\n                                <th>{{title.status | translate}}</th>\\r\\n                                <th>{{title.action | translate}}</th>\\r\\n                            </tr>\\r\\n                        </thead>\\r\\n                        <tbody>\\r\\n\\r\\n                            <tr *ngFor=\\\"let order of order_list; let index=index; let last=last; \\\" (click)=\\\"get_order_detail(order._id)\\\">\\r\\n                                <td>{{order.unique_id}}</td>\\r\\n                                <!-- <td>{{order.user_detail.first_name}} {{order.user_detail.last_name}}</td> -->\\r\\n                                <td><div>{{order.provider_first_name}} {{order.provider_last_name}}</div></td>\\r\\n                                <td>{{moment(order.completed_at).tz(order.timezone !== undefined ? order.timezone: 'Asia/Kolkata').format('DD MMM YYYY HH:mm a')}}</td>\\r\\n                                <td><span *ngIf=\\\"order.total\\\">{{order.total.toFixed(2)}}</span></td>\\r\\n                                <td [ngSwitch]=\\\"order.order_status\\\">\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.STORE_REJECTED\\\"><span class=\\\"label label-danger\\\">{{status.rejected1 | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.STORE_CANCELLED\\\"><span class=\\\"label label-danger\\\">{{status.cancelled1 | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.NO_DELIVERY_MAN_FOUND\\\"><span class=\\\"label label-danger\\\">{{status.no_delivery_man_found1 | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_REJECTED\\\"><span class=\\\"label label-danger\\\">{{status.delivery_man_rejected1 | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_CANCELLED\\\"><span class=\\\"label label-danger\\\">{{status.delivery_man_cancelled1 | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.CANCELED_BY_USER\\\"><span class=\\\"label label-danger\\\">{{status.user_cancelled | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_COMPLETE_DELIVERY\\\"><span class=\\\"label label-primary\\\">{{status.order_delivered | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.ORDER_COMPLETED\\\"><span class=\\\"label label-primary\\\">{{status.completed | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"ORDER_STATE.ADMIN_CANCELLED\\\"><span class=\\\"label label-danger\\\">{{status.cancelled1 | translate}}</span></div>\\r\\n                                    <div *ngSwitchDefault><span class=\\\"label label-primary\\\">{{status.completed | translate}}</span></div>\\r\\n                                </td>\\r\\n                                <td class=\\\"text-left footable-visible footable-last-column\\\">\\r\\n                                    <div class=\\\"btn-group\\\">\\r\\n                                        <button (click)=\\\"open_detail_modal(index)\\\" class=\\\"btn btn-xs btn-light_black\\\">{{helper.button.detail | translate}}</button>\\r\\n                                    </div>\\r\\n                                </td>\\r\\n                            </tr>\\r\\n\\r\\n                        </tbody>\\r\\n                    </table>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-12 col-sm-12\\\" style=\\\"margin-top: 6px;\\\">\\r\\n                    <div class=\\\"lable_center\\\">\\r\\n\\r\\n                        <ul class=\\\"pagination\\\">\\r\\n                            <li *ngIf=\\\"page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"store_history(page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                            <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page==index\\\">\\r\\n                                <a *ngIf=\\\"index==1 || index==total_page || index==page || index==page-1 || index==page+1\\\" (click)=\\\"store_history(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                                <a *ngIf=\\\"(index==1 && (page!==1 && page!==2 && page!==3)) || (index==total_page-1 && (page!==total_page && page!==total_page-1 && page!==total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n\\r\\n                            </li>\\r\\n                            <li *ngIf=\\\"page!==total_page && order_list.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"store_history(page+1)\\\">{{button.next | translate}}</a></li>\\r\\n                        </ul>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n    <div class=\\\"col-md-4\\\" *ngIf=\\\"order_detail.user_detail;\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\">\\r\\n                <h5>{{order_detail.unique_id}}</h5>\\r\\n                <h5 class=\\\"pull-right\\\">{{currency_sign}}{{order_detail.order_payment_detail.total.toFixed(2)}}\\r\\n                    (<span [ngSwitch]=\\\"order_detail.order_payment_detail.is_payment_mode_cash\\\">\\r\\n                        <span *ngIf=\\\"order_detail.order_payment_detail.is_paid_from_wallet\\\">\\r\\n                            <span>{{title.wallet | translate}}</span>\\r\\n                        </span>\\r\\n                        <span *ngIf=\\\"!order_detail.order_payment_detail.is_paid_from_wallet\\\">\\r\\n                            <span *ngSwitchCase=\\\"true\\\"><span>{{title.cash | translate}}</span></span>\\r\\n                            <span *ngSwitchCase=\\\"false\\\"><span>{{title.card | translate}} </span></span>\\r\\n                        </span>\\r\\n                    </span>)\\r\\n                </h5>\\r\\n            </div>\\r\\n            <div class=\\\"ibox-content\\\">\\r\\n                <div class=\\\"row\\\">\\r\\n                    <div class=\\\"col-md-12 no_padding\\\">\\r\\n                        <label>{{heading_title.user_detail | translate}}</label>\\r\\n                        <span class=\\\"pull-right\\\" *ngIf=\\\"order_detail.order_status==ORDER_STATE.ORDER_COMPLETED && !order_detail.is_store_rated_to_user\\\">\\r\\n                                <button class=\\\"btn btn-black btn-xs pull-right\\\" (click)=\\\"give_rate_modal(order_detail._id, index ,1)\\\">Give rate</button></span>\\r\\n                        <span class=\\\"pull-right\\\" *ngIf=\\\"order_detail.is_store_rated_to_user\\\"><span><i class=\\\"fa fa-star\\\" aria-hidden=\\\"true\\\"></i></span>\\r\\n                            {{order_detail.review_detail[0].store_rating_to_user}}\\r\\n                        </span>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-12\\\"><label class=\\\"col-lg-4 col-sm-4 col-xs-4 control-label\\\">{{title.name | translate}}:</label>\\r\\n                        <div class=\\\"col-lg-8 col-sm-8 col-xs-8\\\">\\r\\n                            {{order_detail.user_detail.first_name + \\\" \\\" + order_detail.user_detail.last_name}}\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-12\\\"><label class=\\\"col-lg-4 col-sm-4 col-xs-4 control-label\\\">{{title.email | translate}}:</label>\\r\\n                        <div class=\\\"col-lg-8 col-sm-8 col-xs-8\\\">\\r\\n                            {{order_detail.user_detail.email}}\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"row\\\" style=\\\"border-top: 1px solid #d8d1d1;padding-top: 10px;\\\" *ngIf=\\\"order_detail.cart_detail.destination_addresses.length > 0\\\">\\r\\n                    <div class=\\\"col-md-12 no_padding\\\">\\r\\n                        <label>{{heading_title.order_user_detail | translate}}</label>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-12\\\"><label class=\\\"col-lg-4 col-sm-4 col-xs-4 control-label\\\">{{title.name | translate}}:</label>\\r\\n                        <div class=\\\"col-lg-8 col-sm-8 col-xs-8\\\">\\r\\n                            {{order_detail.cart_detail.destination_addresses[0].user_details.name}}\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-12\\\"><label class=\\\"col-lg-4 col-sm-4 col-xs-4 control-label\\\">{{title.phone | translate}}:</label>\\r\\n                        <div class=\\\"col-lg-8 col-sm-8 col-xs-8\\\">\\r\\n                            {{order_detail.cart_detail.destination_addresses[0].user_details.country_phone_code}} {{order_detail.cart_detail.destination_addresses[0].user_details.phone}}\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-12\\\"><label class=\\\"col-lg-4 col-sm-4 col-xs-4 control-label\\\">{{title.address | translate}}:</label>\\r\\n                        <div class=\\\"col-lg-8 col-sm-8 col-xs-8\\\">\\r\\n                            {{order_detail.cart_detail.destination_addresses[0].address}}\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"row\\\" style=\\\"border-top: 1px solid #d8d1d1;padding-top: 10px;\\\" *ngIf=\\\"!order_detail.order_payment_detail.is_user_pick_up_order && order_detail.provider_detail;\\\">\\r\\n                    <div class=\\\"col-md-12 no_padding\\\">\\r\\n                        <label>{{heading_title.provider_detail | translate}}</label>\\r\\n                        <span class=\\\"pull-right\\\" *ngIf=\\\"order_detail.order_status==ORDER_STATE.ORDER_COMPLETED && !order_detail.is_store_rated_to_provider && !order_detail.order_payment_detail.is_user_pick_up_order\\\">\\r\\n                            <button class=\\\"btn btn-black btn-xs pull-right\\\" (click)=\\\"give_rate_modal(order_detail._id, index, 2)\\\">Give rate</button></span>\\r\\n                        <span class=\\\"pull-right\\\" *ngIf=\\\"order_detail.is_store_rated_to_provider\\\"><span><i class=\\\"fa fa-star\\\" aria-hidden=\\\"true\\\"></i></span>\\r\\n                            {{order_detail.review_detail[0].store_rating_to_provider}}</span>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-12\\\"><label class=\\\"col-lg-4 col-sm-4 col-xs-4 control-label\\\">{{title.name | translate}}:</label>\\r\\n                        <div class=\\\"col-lg-8 col-sm-8 col-xs-8\\\">\\r\\n                            {{order_detail.provider_detail.first_name + \\\" \\\" + order_detail.provider_detail.last_name}}\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-12\\\"><label class=\\\"col-lg-4 col-sm-4 col-xs-4 control-label\\\">{{title.email | translate}}:</label>\\r\\n                        <div class=\\\"col-lg-8 col-sm-8 col-xs-8\\\">\\r\\n                            {{order_detail.provider_detail.email}}\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-sm animated fadeInUpBig\\\" #modal>\\r\\n\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n        <h4 class=\\\"modal-title\\\">{{heading_title.rating | translate}}</h4>\\r\\n    </modal-header>\\r\\n    <modal-body *ngIf=\\\"order_list.length>0\\\">\\r\\n        <div class=\\\"row\\\" *ngIf=\\\"order_list.length>0\\\">\\r\\n            <div class=\\\"col-md-12\\\">\\r\\n                <div style=\\\"text-align: center\\\">\\r\\n                    <div *ngIf=\\\"type==1\\\">\\r\\n                        <h3 class=\\\"m-b-xs\\\"><strong>{{order_detail.user_detail.first_name}} {{order_detail.user_detail.last_name}}</strong></h3>\\r\\n                        <!-- <img class=\\\"img-circle\\\" style=\\\"height: 60px; width: 60px;\\\" src=\\\"{order_detail.user_detail.image_url != '' ? helper.CONSTANT.IMAGE_BASE_URL + order_list[this.selected_order_index].user_detail.image_url : 'default.png'}}\\\"> -->\\r\\n                    </div>\\r\\n                    <div *ngIf=\\\"type==2 && order_detail.provider_detail \\\">\\r\\n                        <h3 class=\\\"m-b-xs\\\"><strong>{{order_detail.provider_detail.first_name}} {{order_detail.provider_detail.last_name}}</strong></h3>\\r\\n                        <img class=\\\"img-circle\\\" style=\\\"height: 60px; width: 60px;\\\" src=\\\"{{order_detail.provider_detail.image_url != '' ? helper.CONSTANT.IMAGE_BASE_URL + order_detail.provider_detail.image_url : 'default.png'}}\\\">\\r\\n                    </div>\\r\\n                    <div>\\r\\n                        <!-- <rating [(ngModel)]=\\\"rating\\\" [float]=\\\"true\\\"></rating> -->\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div style=\\\"margin-top: 10px;\\\">\\r\\n                    <label class=\\\"col-md-12\\\" style=\\\"padding-left: 0;\\\">Comment</label>\\r\\n                    <textarea class=\\\"col-md-12\\\" style=\\\"max-width: 100%; max-height: 80px;\\\" [(ngModel)]=\\\"review\\\" name=\\\"review\\\"></textarea>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n        <div style=\\\"text-align: center;\\\">\\r\\n            <button type=\\\"button\\\" class=\\\"btn btn-primary\\\" (click)=\\\"give_rate()\\\">{{button.submit | translate}}</button>\\r\\n        </div>\\r\\n    </modal-footer>\\r\\n</modal>\\r\\n\\r\\n<modal cssClass=\\\"modal-invoice animated fadeInUpBig\\\" #order_detail_modal>\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n        <label>{{heading_title.order_detail | translate}}</label>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n        <div class=\\\"row\\\" *ngIf=\\\"order_detail.cart_detail\\\">\\r\\n            <div class=\\\"col-md-4\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <h4 class=\\\"pull-right\\\">{{currency_sign}}{{order_total.toFixed(2)}}</h4>\\r\\n                        <span style=\\\"position: absolute; left:48%;\\\">(<strong>{{total_item}}</strong>) {{title.items | translate}}</span>\\r\\n                        <h5>{{heading_title.order_detail | translate}}</h5>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content invoice_popup_box\\\">\\r\\n                        <div *ngFor=\\\"let products of order_detail.cart_detail.order_details; let product_index=index; \\\">\\r\\n                            <div style=\\\"border-bottom: 1px solid brown;text-align: center;\\\">\\r\\n                                <h4 class=\\\"pull-right\\\">{{currency_sign}}{{product_item_total_array[product_index]}}\\r\\n                                    <span *ngIf=\\\"hide_specification_group[product_index]=='true'\\\" (click)=\\\"show_specifications_group(product_index)\\\" class=\\\"fa fa-chevron-left\\\"></span>\\r\\n                                    <span *ngIf=\\\"hide_specification_group[product_index]=='false'\\\" (click)=\\\"hide_specifications_group(product_index)\\\" class=\\\"fa fa-chevron-down\\\"></span>\\r\\n                                </h4>\\r\\n                                <span>(<strong>{{products.items.length}}</strong>) {{title.items | translate}}</span>\\r\\n                                <h5 style=\\\"float: left;\\\">{{products.product_name}}</h5>\\r\\n                            </div>\\r\\n\\r\\n                            <div id=\\\"spec_list{{product_index}}\\\" class=\\\"table-responsive\\\" style=\\\"    width: 100%;\\\">\\r\\n                                <table class=\\\"table\\\">\\r\\n                                    <thead style=\\\"border-bottom: 1px solid;\\\">\\r\\n                                    <tr>\\r\\n                                        <th >{{title.item | translate}}</th>\\r\\n                                        <th >{{title.spec | translate}} {{title.price | translate}}</th>\\r\\n                                        <th >{{title.price | translate}}</th>\\r\\n                                        <th >{{title.qty | translate}}</th>\\r\\n                                        <th >{{title.total | translate}}</th>\\r\\n                                    </tr>\\r\\n                                    </thead>\\r\\n\\r\\n                                    <tbody *ngFor=\\\"let item of products.items; let odd=odd; let item_index=index; \\\" (click)=\\\"get_specification(product_index, item_index)\\\">\\r\\n                                    <tr style=\\\"cursor: pointer;\\\" >\\r\\n                                        <td >{{item.item_name}}</td>\\r\\n                                        <td>{{currency_sign}}{{item.total_specification_price}}</td>\\r\\n                                        <td>{{currency_sign}}{{item.item_price}}</td>\\r\\n                                        <td >{{item.quantity}}</td>\\r\\n                                        <td >{{currency_sign}}{{((item.item_price + item.total_specification_price)*item.quantity).toFixed(2)}}</td>\\r\\n                                    </tr>\\r\\n                                    <tr style=\\\"cursor: pointer;color: red;\\\">\\r\\n                                        <td colspan=\\\"5\\\" style=\\\"border-top: 0;\\\">Note : {{item.note_for_item}}</td>\\r\\n                                    </tr>\\r\\n                                    </tbody>\\r\\n\\r\\n                                </table>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-4\\\" *ngIf=\\\"is_show_specification\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <h5>{{title.specifications | translate}}</h5>\\r\\n                        <span class=\\\"fa fa-remove pull-right\\\" (click)=\\\"is_show_specification=false;\\\"></span>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"ibox-content invoice_popup_box\\\">\\r\\n\\r\\n                        <div *ngFor=\\\"let specification_group of specifications; let odd=odd;\\\" [class.row]=\\\"odd\\\" style=\\\"margin: 0;\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\" style=\\\"padding: 0px;\\\">\\r\\n                                    <div class=\\\"col-md-12\\\" style=\\\"padding: 0;border-bottom: 1px solid #dcdcdc;\\\">\\r\\n                                        <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5>{{specification_group.name}}</h5></div>\\r\\n                                        <div *ngIf=\\\"specification_group.price > 0\\\" class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;\\\">{{currency_sign}}{{specification_group.price.toFixed(2)}}</h5></div>\\r\\n                                    </div>\\r\\n\\r\\n                                    <div class=\\\"col-md-12\\\" *ngFor=\\\"let specification of specification_group.list\\\">\\r\\n                                        <div style=\\\"padding: 0;\\\" class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h6 style=\\\"font-size: 13px;\\\">{{specification.name}}</h6></div>\\r\\n                                        <div *ngIf=\\\"specification.price > 0\\\" class=\\\"col-md-4 col-sm-4 col-xs-4\\\" style=\\\"padding: 0;\\\"><h6 style=\\\"font-size: 13px;float: right;\\\">{{currency_sign}}{{specification.price.toFixed(2)}}</h6></div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"row\\\" style=\\\"border-top: 1px solid;padding-top: 15px;\\\" *ngIf=\\\"item_note!=''\\\">\\r\\n                            <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\">\\r\\n                                <label>{{title.item_note_here}}</label>\\r\\n                                <div>\\r\\n                                    <h6 style=\\\"font-size: 13px;\\\">{{item_note}}</h6>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-4\\\" *ngIf=\\\"!is_show_specification\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"background-color: #d4d8d8;\\\">\\r\\n                        <h5>{{heading_title.order_status | translate}}</h5>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content invoice_popup_box\\\">\\r\\n\\r\\n                        <div id=\\\"vertical-timeline\\\" class=\\\"vertical-container dark-timeline\\\">\\r\\n\\r\\n                            <div *ngFor=\\\"let date of order_detail.date_time;\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                </div>\\r\\n                                <div class=\\\"vertical-timeline-content\\\" [ngSwitch]=\\\"date.status\\\" style=\\\"padding-top: 1px;\\\">\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.WAITING_FOR_ACCEPT_STORE\\\"><span>{{helper.status.waiting_for_accept | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_ACCEPTED\\\"><span>{{helper.status.accepted | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_PREPARING_ORDER\\\"><span>{{helper.status.start_preparing_order | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.OREDER_READY\\\"><span>{{helper.status.order_ready | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.WAITING_FOR_DELIVERY_MAN\\\"><span>{{helper.status.waiting_for_delivery_man | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_REJECTED\\\"><span>{{helper.status.rejected | translate}}</span></p>\\r\\n                                    <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_CANCELLED\\\"><span>{{helper.status.cancelled | translate}}</span></p>\\r\\n\\r\\n                                    <span class=\\\"vertical-date small text-muted\\\">{{moment(date.date).tz(order_detail.timezone !== '' ? order_detail.timezone: 'Asia/Kolkata').format('DD MMM YYYY HH:mm a')}}</span>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div *ngIf=\\\"order_detail.request_detail\\\">\\r\\n                                <div *ngFor=\\\"let date of order_detail.request_detail.date_time;\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                                    <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                                    </div>\\r\\n                                    <div class=\\\"vertical-timeline-content\\\" [ngSwitch]=\\\"date.status\\\" style=\\\"padding-top: 1px;\\\">\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.WAITING_FOR_DELIVERY_MAN\\\"><span>{{helper.status.waiting_for_delivery_man | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_ACCEPTED\\\"><span>{{helper.status.delivery_man_accepted | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_COMING\\\"><span>{{helper.status.delivery_man_coming | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_ARRIVED\\\"><span>{{helper.status.delivery_man_arrived | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\\\"><span>{{helper.status.picked_order | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_STARTED_DELIVERY\\\"><span>{{helper.status.started_for_delivery | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_ARRIVED_AT_DESTINATION\\\"><span>{{helper.status.arrived_at_destination | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_COMPLETE_DELIVERY\\\"><span>{{helper.status.delivered_ordered | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_REJECTED\\\"><span>{{helper.status.rejected | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_CANCELLED\\\"><span>{{helper.status.cancelled | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.NO_DELIVERY_MAN_FOUND\\\"><span>{{helper.status.no_delivery_man_found | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_REJECTED\\\"><span>{{helper.status.delivery_man_rejected | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_CANCELLED\\\"><span>{{helper.status.delivery_man_cancelled | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.CANCELED_BY_USER\\\"><span>{{helper.status.user_cancelled | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_CANCELLED_REQUEST\\\"><span>{{helper.status.cancelled_request | translate}}</span></p>\\r\\n                                        <p *ngSwitchCase=\\\"helper.ORDER_STATE.ORDER_COMPLETED\\\"><span>{{helper.status.completed | translate}}</span></p>\\r\\n\\r\\n                                        <span class=\\\"vertical-date small text-muted\\\">{{moment(date.date).tz(order_detail.timezone !== '' ? order_detail.timezone: 'Asia/Kolkata').format('DD MMM YYYY HH:mm a')}}</span>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-4\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"background-color: #d4d8d8;\\\">\\r\\n                        <h5>{{order_detail.order_payment_detail.invoice_number}}</h5>\\r\\n                        <h5 class=\\\"pull-right\\\">{{currency_sign}}{{order_detail.order_payment_detail.total.toFixed(2)}}</h5>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content invoice_popup_box\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\" style=\\\"padding: 0px;\\\">\\r\\n                                <div class=\\\"col-md-12 no_padding\\\">\\r\\n                                    <label style=\\\"margin-top: 10px;\\\">{{heading_title.delivery_fees | translate}}</label>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-12\\\" style=\\\"padding: 0;border-bottom: 1px solid #dcdcdc;\\\">\\r\\n                                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5>{{title.service_price | translate}}</h5></div>\\r\\n                                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_service_price.toFixed(2)}}</h5></div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-12\\\" style=\\\"padding: 0;border-bottom: 1px solid #dcdcdc;\\\">\\r\\n                                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5>{{title.tax_price | translate}}</h5></div>\\r\\n                                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_admin_tax_price.toFixed(2)}}</h5></div>\\r\\n                                </div>\\r\\n                                <!--<div class=\\\"col-md-12\\\" style=\\\"padding: 0;border-bottom: 1px solid #dcdcdc;\\\">-->\\r\\n                                <!--<div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5>{{title.delivery_price | translate}}</h5></div>-->\\r\\n                                <!--<div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.delivery_price}}</h5></div>-->\\r\\n                                <!--</div>-->\\r\\n                                <div class=\\\"col-md-12\\\"  *ngIf='order_detail.order_payment_detail.is_promo_for_delivery_service == true' style=\\\"padding: 0;border-bottom: 1px solid #dcdcdc;\\\">\\r\\n                                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5>{{title.promo_bonus | translate}}</h5></div>\\r\\n                                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.promo_payment.toFixed(2)}}</h5></div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-12\\\" style=\\\"padding: 0;border-bottom: 1px solid #dcdcdc;\\\">\\r\\n                                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\" style=\\\"color: red;\\\"><h5>{{title.total_delivery_price | translate}}</h5></div>\\r\\n                                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\" style=\\\"color: red;\\\"><h5 style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_delivery_price.toFixed(2)}}</h5></div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-12 no_padding\\\">\\r\\n                                    <label style=\\\"margin-top: 10px;\\\">{{heading_title.order_fees | translate}}</label>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-12\\\" style=\\\"padding: 0;border-bottom: 1px solid #dcdcdc;\\\">\\r\\n                                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5>{{title.cart_price | translate}}</h5></div>\\r\\n                                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_cart_price.toFixed(2)}}</h5></div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-12\\\" style=\\\"padding: 0;border-bottom: 1px solid #dcdcdc;\\\">\\r\\n                                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5>{{title.tax_price | translate}}</h5></div>\\r\\n                                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_store_tax_price.toFixed(2)}}</h5></div>\\r\\n                                </div>\\r\\n                                <!--<div class=\\\"col-md-12\\\" style=\\\"padding: 0;border-bottom: 1px solid #dcdcdc;\\\">-->\\r\\n                                <!--<div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5>{{title.order_price | translate}}</h5></div>-->\\r\\n                                <!--<div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.order_price}}</h5></div>-->\\r\\n                                <!--</div>-->\\r\\n                                <div class=\\\"col-md-12\\\" *ngIf='order_detail.order_payment_detail.is_promo_for_delivery_service == false' style=\\\"padding: 0;border-bottom: 1px solid #dcdcdc;\\\">\\r\\n                                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5>{{title.promo_bonus | translate}}</h5></div>\\r\\n                                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.promo_payment.toFixed(2)}}</h5></div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-12\\\" style=\\\"padding: 0;border-bottom: 1px solid #dcdcdc;\\\">\\r\\n                                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\" style=\\\"color: red;\\\"><h5>{{title.total_order_price | translate}}</h5></div>\\r\\n                                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\" style=\\\"color: red;\\\"><h5 style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_order_price.toFixed(2)}}</h5></div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-12 no_padding\\\">\\r\\n                                    <label style=\\\"margin-top: 10px;\\\">{{heading_title.payment | translate}}</label>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-12\\\" style=\\\"padding: 0;border-bottom: 1px solid #dcdcdc;\\\">\\r\\n                                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5>{{title.wallet_payment | translate}}</h5></div>\\r\\n                                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.wallet_payment.toFixed(2)}}</h5></div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-12\\\" style=\\\"padding: 0;border-bottom: 1px solid #dcdcdc;\\\">\\r\\n                                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5>{{title.cash_payment | translate}}</h5></div>\\r\\n                                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.cash_payment.toFixed(2)}}</h5></div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-12\\\" style=\\\"padding: 0;border-bottom: 1px solid #dcdcdc;\\\">\\r\\n                                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5>{{title.other_payment | translate}}</h5></div>\\r\\n                                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.card_payment.toFixed(2)}}</h5></div>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-md-12 no_padding\\\">\\r\\n                                    <label style=\\\"margin-top: 10px;\\\">{{heading_title.earning | translate}}</label>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-12\\\" style=\\\"padding: 0;border-bottom: 1px solid #dcdcdc;\\\">\\r\\n                                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5>{{title.service_price | translate}}</h5></div>\\r\\n                                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.store_have_service_payment.toFixed(2)}}</h5></div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-12\\\" style=\\\"padding: 0;border-bottom: 1px solid #dcdcdc;\\\">\\r\\n                                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5>{{title.order_payment | translate}}</h5></div>\\r\\n                                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.store_have_order_payment.toFixed(2)}}</h5></div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-12\\\" style=\\\"padding: 0;border-bottom: 1px solid #dcdcdc;\\\">\\r\\n                                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5>{{title.profit | translate}}</h5></div>\\r\\n                                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.total_store_income.toFixed(2)}}</h5></div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-12\\\" style=\\\"padding: 0;border-bottom: 1px solid #dcdcdc;\\\">\\r\\n                                    <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5>{{title.pay_by_admin | translate}}</h5></div>\\r\\n                                    <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;\\\">{{currency_sign}}{{order_detail.order_payment_detail.pay_to_store.toFixed(2)}}</h5></div>\\r\\n                                </div>\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n    </modal-body>\\r\\n</modal>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/store/history/history.component.html\n// module id = 1698\n// module chunks = 0","module.exports = \" <footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n    <div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n                <div class=\\\"col-md-12 remove_padding\\\">\\r\\n                    <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                        <select chosen class=\\\"chosen-select\\\" [(ngModel)]=\\\"selected_product\\r\\n                                \\\" name=\\\"selected_product\\\" id=\\\"selected_product\\\" tabindex=\\\"4\\\">\\r\\n                            <option>{{title.all | translate}}</option>\\r\\n                            <option *ngFor=\\\"let product_data of product_list\\\" value=\\\"{{product_data._id}}\\\">{{product_data.name}}</option>\\r\\n\\r\\n                        </select>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n            <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n                <div class=\\\"col-md-12 remove_padding\\\">\\r\\n                    <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                        <div class=\\\"input-group\\\">\\r\\n\\r\\n                            <input type=\\\"text\\\" (keyup)=\\\"filter_product(filter_product_name)\\\" class=\\\"form-control search_box\\\" [(ngModel)]=\\\"filter_product_name\\\" placeholder=\\\"{{title.item_name | translate}}\\\" style=\\\"color:#000000;\\\" name=\\\"filter_product_name\\\">\\r\\n                            <span class=\\\"input-group-addon search_icon\\\"><span class=\\\"fa fa-search\\\"></span></span>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n            <div class=\\\"col-md-3 col-sm-12 pull-right\\\">\\r\\n                <div class=\\\"col-md-6 col-sm-6 add_btn_div\\\">\\r\\n                    <a [routerLink]=\\\"['/store/add_item']\\\" class=\\\"pull-right\\\"> <button class=\\\"btn add_btn pull-right\\\">{{button.add_item | translate}}<span class=\\\"fa fa-plus pull-right\\\" style=\\\"margin-top: 2px;\\\"></span></button></a>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n    <div class=\\\"wrapper content_top_bar_view wrapper-content animated fadeInRight\\\">\\r\\n\\r\\n              \\r\\n        <div class=\\\"row\\\" *ngFor=\\\"let product_data of filtered_product_list\\\">\\r\\n            <div class=\\\"col-md-12 \\\" [hidden]=\\\"product_data.items.length == 0 || (selected_product!== (title.all | translate) && selected_product!==product_data._id) \\\" style=\\\"margin-bottom: 10px; padding: 0px;\\\">\\r\\n                <label class=\\\"control-label label label-danger\\\" style=\\\"font-size: 20px;\\\">{{product_data.name}}</label>  \\r\\n            </div>\\r\\n             \\r\\n             \\r\\n            <div *ngFor=\\\"let i of product_data.items\\\" [hidden]=\\\"selected_product !== (title.all | translate) && selected_product!==product_data._id \\\">\\r\\n                <div class=\\\"col-lg-4 col-sm-6\\\" style=\\\"padding : 0px; padding-right: 2px;\\\">\\r\\n                    <div class=\\\"contact-box\\\" style=\\\"padding-left: 0px; padding-right: 0px;\\\">\\r\\n                        <a (click)=\\\"editItem(i._id, $event)\\\" >\\r\\n                            <div class=\\\"col-md-4 col-xs-4 div1\\\" style=\\\"text-align: center; padding-left: 0px; padding-right: 0px;\\\">\\r\\n                                     <img class=\\\"img-circle m-t-sm img-responsive\\\" src=\\\"{{i.image_url[0] != undefined ? i.image_url[0] : 'default.png'}}\\\" style=\\\"border-radius: 20%; display: inline; width:100px; height: 100px;\\\">\\r\\n\\r\\n                            </div>\\r\\n                            <div class=\\\"col-md-8 col-xs-8 div2\\\" style=\\\"padding-left: 0px; padding-right: 0px;\\\">\\r\\n                                <div class=\\\"col-md-9 col-xs-9\\\" style=\\\"height: 24px; overflow: hidden;\\\">\\r\\n                                    <h3><strong>{{i.name}}</strong></h3>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-3 col-xs-3\\\" >\\r\\n                                    <h3><strong style=\\\"float: right;\\\">{{currency}}{{i.price}}</strong></h3>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-9 col-xs-9\\\">\\r\\n                                    <p>{{i.specifications.length}} {{title.specifications | translate}}</p>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-3 col-xs-3\\\">\\r\\n                                    <ui-switch (change)=\\\"onChange(i._id, $event)\\\" style=\\\"float: right;\\\" [(ngModel)]=\\\"i.is_item_in_stock\\\" name=\\\"is_item_in_stock\\\"></ui-switch>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-12 col-xs-12\\\" style=\\\"height: 57px; overflow: hidden;\\\">\\r\\n                                    <address>\\r\\n                                        {{i.details}}\\r\\n                                    </address>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"clearfix\\\"></div>\\r\\n                        </a>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/store/item/item.component.html\n// module id = 1699\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\" style=\\\"position: unset;\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-2 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.date_filter | translate}}</label>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-12 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"select_year\\\" [(ngModel)]=\\\"select_year\\r\\n                        \\\" name=\\\"select_year\\\" tabindex=\\\"4\\\">\\r\\n                        <option *ngFor=\\\"let year of year_array\\\" value=\\\"{{year}}\\\">{{year}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-md-2 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.search | translate}}</label>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-12 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"select_month\\\" [(ngModel)]=\\\"select_month\\r\\n                        \\\" name=\\\"select_month\\\" tabindex=\\\"4\\\">\\r\\n                        <option *ngFor=\\\"let month of month_array\\\" value=\\\"{{month.value}}\\\">{{month.text}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"store_monthly_earning()\\\" class=\\\"btn filter_apply_btn pull-right\\\" value=\\\"{{button.apply | translate}}\\\" >\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"export_excel()\\\" class=\\\"btn export_excel_btn pull-right\\\" value=\\\"{{button.export_excel | translate}}\\\" >\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n    </div>\\r\\n</div>\\r\\n<div class=\\\"wrapper content_top_bar_view1 wrapper-content animated fadeInRight\\\" id=\\\"order\\\" style=\\\"font-size: 20px;padding-top: 0 !important;\\\">\\r\\n\\r\\n    <div style=\\\"margin-top: 20px;\\\">\\r\\n        <div>{{store_detail.name}}</div>\\r\\n        <div>{{store_detail.address}}</div>\\r\\n    </div>\\r\\n    <div class=\\\"pull-right\\\" style=\\\"margin-right: 50px;\\\" *ngIf=\\\"month_array.length>0 && show_selected_month\\\">\\r\\n        <div><h5 style=\\\"font-size: 20px;\\\">Facture {{get_month_name()}} {{show_selected_year}}</h5></div><br>\\r\\n        <span>HOP Services SA</span><br>\\r\\n        <span>CHE-473.642.314</span><br>\\r\\n        <span>Rue des Charmilles 1</span><br>\\r\\n        <span>1203 Genève</span>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"ibox\\\">\\r\\n        <div class=\\\"ibox-title\\\">\\r\\n            <div>\\r\\n                <label>Commandes</label>\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n        <div class=\\\"ibox-content\\\">\\r\\n            <div class=\\\"table-responsive\\\" >\\r\\n                <table class=\\\"table table-striped\\\">\\r\\n                    <thead>\\r\\n                        <tr>\\r\\n                            <th>N° de commande</th>\\r\\n                            <th>Date</th>\\r\\n                            <th>Payment Type</th>\\r\\n                            <th>Comission(%)</th>\\r\\n                            <th>Bonus</th>\\r\\n                            <th>Malus</th>\\r\\n                            <th>TVA (2.5%)</th>\\r\\n                            <th>Total produits</th>\\r\\n                            <th>Motive</th>\\r\\n                        </tr>\\r\\n                    </thead>\\r\\n                    <tbody>\\r\\n                        \\r\\n                        <tr *ngFor=\\\"let order of bonus_list; let last=last; \\\">\\r\\n                            <td>{{order.unique_id}}</td>\\r\\n                            <td>{{moment(order.bonus_date).tz(order.timezone !== undefined ? order.timezone: 'Europe/Zurich').format('DD MMM YYYY HH:mm a')}}</td>\\r\\n                            <td>Exceptionnel</td>\\r\\n                            <td></td>\\r\\n                            <td *ngIf=\\\"order.bonus_type==1\\\">{{order.bonus_amount.toFixed(2)}}</td>\\r\\n                            <td *ngIf=\\\"order.bonus_type==1\\\"></td>\\r\\n                            <td *ngIf=\\\"order.bonus_type==2\\\"> </td>\\r\\n                            <td *ngIf=\\\"order.bonus_type==2\\\">{{order.bonus_amount.toFixed(2)}}</td>\\r\\n                            <th></th>\\r\\n                            <td>CHF {{order.bonus_amount.toFixed(2)}}</td>\\r\\n                            <td>{{order.bonus_reason}}</td>\\r\\n                            \\r\\n                        </tr>\\r\\n                        <tr *ngIf=\\\"order_total.total_delivery_order>0\\\">\\r\\n                            <td colspan=\\\"9\\\" style=\\\"font-weight: bold;background-color: #8080807a;\\\">Delivery</td>\\r\\n                        </tr>\\r\\n                        <tr *ngIf=\\\"order_total.total_delivery_order==0\\\">\\r\\n                            <td colspan=\\\"9\\\" style=\\\"font-weight: bold;background-color: #8080807a;\\\">Pickup</td>\\r\\n                        </tr>\\r\\n                        <ng-container *ngFor=\\\"let order of order_list; let last=last; let order_index=index;\\\">\\r\\n                            <tr>\\r\\n                                <td>{{order.order_unique_id}}</td>\\r\\n                                <td>{{moment(order.delivered_at).tz(order.timezone !== undefined ? order.timezone: 'Europe/Zurich').format('DD MMM YYYY HH:mm a')}}</td>\\r\\n                                <td *ngIf=\\\"order.is_payment_mode_cash\\\">cash</td>\\r\\n                                <td *ngIf=\\\"!order.is_payment_mode_cash\\\">credit</td>\\r\\n                                <td>{{order.admin_profit_value_on_store}}%</td>\\r\\n                                <td></td>\\r\\n                                <td></td>\\r\\n                                <td>CHF {{((order.total_cart_price * 2.5)/100).toFixed(2)}}</td>\\r\\n                                <td>CHF {{order.total_cart_price.toFixed(2)}}</td>\\r\\n                                <td></td>\\r\\n                            </tr>\\r\\n                            <tr *ngIf=\\\"order_index==(order_total.total_delivery_order-1) && (order_total.total_pickup_card_order + order_total.total_pickup_cash_order)>0\\\">\\r\\n                                <td colspan=\\\"9\\\" style=\\\"font-weight: bold;background-color: #8080807a;\\\">Pickup</td>\\r\\n                            </tr>\\r\\n                        </ng-container>\\r\\n\\r\\n                        <tr *ngIf=\\\"order_list.length>0\\\">\\r\\n                            <td>Total: </td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                        </tr>\\r\\n                        <tr *ngIf=\\\"order_total.total_saas_order>0\\\">\\r\\n                            <td>{{order_total.total_saas_order}} Commandes SAAS</td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                            <td>CHF {{((order_total.total_cart_price_with_saas * 2.5)/100).toFixed(2)}}</td>\\r\\n                            <td>CHF {{order_total.total_cart_price_with_saas.toFixed(2)}}</td>\\r\\n                            <td></td>\\r\\n                        </tr>\\r\\n                        <tr>\\r\\n                            <td><div style=\\\"margin-left: 15px;\\\">Delivery : {{order_total.total_delivery_order}}</div></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                        </tr>\\r\\n                        <tr>\\r\\n                            <td><div style=\\\"margin-left: 15px;\\\">Pickup : {{order_total.total_pickup_card_order + order_total.total_pickup_cash_order}}</div></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                        </tr>\\r\\n                        <tr>\\r\\n                            <td><div style=\\\"margin-left: 30px;\\\"> - Credit : {{order_total.total_pickup_card_order}}</div></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                        </tr>\\r\\n                        <tr>\\r\\n                            <td><div style=\\\"margin-left: 30px;\\\"> - Cash : {{order_total.total_pickup_cash_order}}</div></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                        </tr>\\r\\n                        <tr *ngIf=\\\"order_total.total_non_saas_order>0\\\">\\r\\n                            <td>{{order_total.total_non_saas_order}} Commandes without SAAS</td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                            <td></td>\\r\\n                            <td>CHF {{((order_total.total_cart_price_without_saas * 2.5)/100).toFixed(2)}}</td>\\r\\n                            <td>CHF {{order_total.total_cart_price_without_saas.toFixed(2)}}</td>\\r\\n                            <td></td>\\r\\n                        </tr>\\r\\n                    </tbody>\\r\\n                </table>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n    <div *ngIf=\\\"order_list.length>0\\\">\\r\\n        <div><h5>Résumé du mois</h5></div>\\r\\n        <div class=\\\"text-center\\\">\\r\\n            <div>Total brut des ventes delivery : CHF {{order_total.total_delivery_cart_price.toFixed(2)}}.-</div>\\r\\n            <div>Dont TVA 2.5% : CHF {{((order_total.total_delivery_cart_price * 2.5)/100).toFixed(2)}}.-</div><br>\\r\\n\\r\\n            <div>Total brut des ventes pickup : CHF {{(order_total.total_pickup_card_cart_price).toFixed(2)}}.-</div>\\r\\n            <div>Dont TVA 2.5% : CHF {{(((order_total.total_pickup_card_cart_price) * 2.5)/100).toFixed(2)}}.-</div><br>\\r\\n\\r\\n            <div>Rabais SAAS : Delivery ({{store_detail.saas_percentage_delivery_for_store}}%) : CHF {{((order_total.total_delivery_cart_price * store_detail.saas_percentage_delivery_for_store)/100).toFixed(2)}}.-</div>\\r\\n\\r\\n            <div>Rabais SAAS : Pickup ({{store_detail.saas_percentage_pickup_by_card_for_store}}%{{store_detail.saas_percentage_pickup_by_cash_for_store}}%) : CHF {{(((order_total.total_pickup_card_cart_price * store_detail.saas_percentage_pickup_by_card_for_store)/100)).toFixed(2)}}.-</div>\\r\\n            <!-- <div>Rabais HOP ({{store_detail.admin_profit_value_on_store}}%) : CHF {{((order_total.total_cart_price_without_saas * store_detail.admin_profit_value_on_store)/100).toFixed(2)}}.-</div> -->\\r\\n            <div>Bonus : CHF {{order_total.total_bonus.toFixed(2)}}.-</div>\\r\\n            <div>Pénalités : CHF {{order_total.total_malus.toFixed(2)}}.-</div>\\r\\n            <div>Abonnement monthly : CHF {{subscription_charge.toFixed(2)}}.-</div>\\r\\n            <div>Total net en notre faveur : CHF {{(order_total.total_delivery_cart_price + order_total.total_pickup_card_cart_price - ((order_total.total_delivery_cart_price * store_detail.saas_percentage_delivery_for_store)/100) - ((order_total.total_pickup_card_cart_price * store_detail.saas_percentage_pickup_by_card_for_store)/100) + order_total.total_bonus - order_total.total_malus - subscription_charge).toFixed(2)}}.-</div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n</div>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/store/monthly_earning/monthly_earning.component.html\n// module id = 1700\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n                    <div class=\\\"lable_center\\\">\\r\\n                        <label>{{title.search | translate}}</label>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                            <select chosen class=\\\"chosen-select\\\" id=\\\"search_field\\\" [(ngModel)]=\\\"search_field\\\" name=\\\"search_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                                <option value=\\\"user_detail.first_name\\\">{{title.filter_user | translate}}</option>\\r\\n                                <option value=\\\"order_details.product_name\\\">{{title.filter_product | translate}}</option>\\r\\n                            </select>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <div class=\\\"input-group\\\">\\r\\n\\r\\n                                <input type=\\\"text\\\" class=\\\"form-control search_box\\\" [(ngModel)]=\\\"search_value\\\" #store_open_time=\\\"ngModel\\\" name=\\\"search_value\\\">\\r\\n                                <span class=\\\"input-group-addon search_icon\\\" ><span class=\\\"fa fa-search\\\"></span></span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n                    <div class=\\\"lable_center\\\">\\r\\n                        <label>{{title.sort | translate}}</label>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                        <div class=\\\"form-group\\\" id=\\\"sort_fields\\\">\\r\\n                            <select chosen class=\\\"chosen-select\\\" id=\\\"sort_field\\\" [(ngModel)]=\\\"sort_field\\\" name=\\\"sort_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                                <option value=\\\"unique_id\\\">{{title.filter_id | translate}}</option>\\r\\n                                <option value=\\\"user_detail.first_name\\\">{{title.filter_user | translate}}</option>\\r\\n                                <option value=\\\"order_details.product_name\\\">{{title.filter_product | translate}}</option>\\r\\n\\r\\n                            </select>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                        <div class=\\\"form-group\\\" id=\\\"sort_orders\\\">\\r\\n\\r\\n                            <select chosen class=\\\"chosen-select\\\" id=\\\"sort_order\\\" [(ngModel)]=\\\"sort_order\\\" name=\\\"sort_order\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                                <option value=\\\"1\\\">{{title.ascending | translate}}</option>\\r\\n                                <option value=\\\"-1\\\">{{title.descending | translate}}</option>\\r\\n                            </select>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-4 col-sm-12 \\\">\\r\\n                    <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\" >\\r\\n                        <input type=\\\"button\\\" (click)=\\\"filter(1)\\\" class=\\\"btn filter_apply_btn pull-right\\\" value=\\\"{{button.apply | translate}}\\\" >\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n</div>\\r\\n<div class=\\\"wrapper content_top_bar_view1 wrapper-content animated fadeInRight\\\">\\r\\n\\r\\n    <div class=\\\"ibox\\\">\\r\\n        <div class=\\\"ibox-title\\\">\\r\\n            <h5>{{heading_title.order_list | translate}}</h5>\\r\\n        </div>\\r\\n        <div class=\\\"ibox-content\\\" style=\\\"padding-bottom: 40px;\\\">\\r\\n            <div class=\\\"table-responsive table_height\\\" style=\\\"padding-bottom: 100px;\\\">\\r\\n                <table class=\\\"table\\\">\\r\\n                    <thead>\\r\\n                        <tr>\\r\\n                            <th>{{title.id | translate}}</th>\\r\\n                            <th>{{title.order_start_at | translate}}</th>\\r\\n                            <th>{{title.user | translate}}</th>\\r\\n                            <th>{{title.product | translate}}</th>\\r\\n                            <th>{{title.payment_by | translate}}</th>\\r\\n                            <th>{{title.total | translate}}</th>\\r\\n                            <th>{{title.status | translate}}</th>\\r\\n                            <th>{{title.action | translate}}</th>\\r\\n                        </tr>\\r\\n                    </thead>\\r\\n                    <tbody>\\r\\n                        <tr *ngFor=\\\"let order of order_list;  let last=last; \\\">\\r\\n                            <td>{{order.unique_id}}</td>\\r\\n                            <td *ngIf=\\\"order.is_schedule_order==false\\\">{{title.asap}}</td>\\r\\n                            <td *ngIf=\\\"order.is_schedule_order==true && order.schedule_order_start_at !==null\\\">\\r\\n                                {{moment(order.schedule_order_start_at).tz(order.timezone !== '' ? order.timezone: 'Asia/Kolkata').format('DD MMM YYYY HH:mm a')}}\\r\\n                            </td>\\r\\n\\r\\n                            <td>{{order.user_detail.first_name}} {{order.user_detail.last_name}}</td>\\r\\n                            <td><div *ngFor=\\\"let product of order.cart_detail.order_details\\\">{{product.product_name}}</div></td>\\r\\n                            <td [ngSwitch]=\\\"order.order_payment_detail.is_payment_mode_cash\\\">\\r\\n                                <div *ngIf=\\\"order.order_payment_detail.is_paid_from_wallet\\\">\\r\\n                                    <span class=\\\"label label-success\\\">{{title.wallet | translate}}</span>\\r\\n                                </div>\\r\\n                                <div *ngIf=\\\"!order.order_payment_detail.is_paid_from_wallet\\\">\\r\\n                                    <div *ngSwitchCase=\\\"true\\\"><span class=\\\"label label-primary\\\">{{title.cash | translate}}</span></div>\\r\\n                                    <div *ngSwitchCase=\\\"false\\\"><span class=\\\"label label-danger\\\">{{order.payment_gateway_detail[0].name}} </span></div>\\r\\n                                </div>\\r\\n\\r\\n                            </td>\\r\\n                            <td>{{order.order_payment_detail.total.toFixed(2)}}</td>\\r\\n                            <td [ngSwitch]=\\\"order.order_status\\\">\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.WAITING_FOR_ACCEPT_STORE\\\"><span class=\\\"label label-info\\\">{{status.waiting_for_accept | translate}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.STORE_ACCEPTED\\\"><span class=\\\"label label-primary\\\">{{status.accepted | translate}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.STORE_PREPARING_ORDER\\\"><span class=\\\"label label-primary\\\">{{status.start_preparing_order | translate}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.OREDER_READY\\\"><span class=\\\"label label-primary\\\">{{status.order_ready | translate}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.WAITING_FOR_DELIVERY_MAN\\\"><span class=\\\"label label-info\\\">{{status.waiting_for_delivery_man | translate}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.STORE_REJECTED\\\"><span class=\\\"label label-danger\\\">{{status.rejected | translate}}</span></div>\\r\\n                                <div *ngSwitchCase=\\\"ORDER_STATE.STORE_CANCELLED\\\"><span class=\\\"label label-danger\\\">{{status.cancelled | translate}}</span></div>\\r\\n                            </td>\\r\\n                            <td>\\r\\n                                <div class=\\\"dropdown\\\" [class.dropup]=\\\"last && !index==0\\\" dropdown>\\r\\n                                    <button class=\\\"btn btn-primary\\\" dropdown-open>{{button.action | translate}}<span class=\\\"caret\\\"></span></button>\\r\\n                                    <ul class=\\\"dropdown-menu\\\">\\r\\n                                        <li [hidden]=\\\"order.order_status>5\\\"><form method=\\\"post\\\" #orderStatusForm=\\\"ngForm\\\" (ngSubmit)=\\\"orderStatus(orderStatusForm.value)\\\">\\r\\n                                                <input type=\\\"hidden\\\" [(ngModel)]=\\\"order._id\\\" name=\\\"order_id\\\" />\\r\\n                                                <input type=\\\"hidden\\\" [(ngModel)]=\\\"order.order_type\\\" name=\\\"order_type\\\" />\\r\\n                                                <div [ngSwitch]=\\\"order.order_status\\\">\\r\\n\\r\\n                                                    <div *ngSwitchCase=\\\"ORDER_STATE.WAITING_FOR_ACCEPT_STORE\\\">\\r\\n                                                        <input type=\\\"hidden\\\" [(ngModel)]=\\\"ORDER_STATE.STORE_ACCEPTED\\\" name=\\\"order_status\\\" />\\r\\n                                                        <button type=\\\"submit\\\" class=\\\"btn btn-default\\\" style=\\\"width:100%; margin-bottom:0px;\\\">\\r\\n                                                            {{button.accept | translate}}\\r\\n                                                        </button>\\r\\n                                                    </div>\\r\\n\\r\\n                                                    <div *ngSwitchCase=\\\"ORDER_STATE.STORE_ACCEPTED\\\">\\r\\n                                                         <input type=\\\"hidden\\\" [(ngModel)]=\\\"ORDER_STATE.STORE_PREPARING_ORDER\\\" name=\\\"order_status\\\" />\\r\\n                                                        <button type=\\\"submit\\\" class=\\\"btn btn-default\\\" style=\\\"width:100%; margin-bottom:0px;\\\">\\r\\n                                                            {{button.prepare_for_order | translate}}\\r\\n                                                        </button>\\r\\n                                                    </div>\\r\\n\\r\\n                                                    <div *ngSwitchCase=\\\"ORDER_STATE.STORE_ACCEPTED\\\">\\r\\n                                                        <input type=\\\"hidden\\\" [(ngModel)]=\\\"ORDER_STATE.STORE_PREPARING_ORDER\\\" name=\\\"order_status\\\" />\\r\\n                                                        <button type=\\\"button\\\" (click)=\\\"orderAssignProvider(order._id)\\\" class=\\\"btn btn-default\\\" style=\\\"width:100%; margin-bottom:0px;\\\">\\r\\n                                                            {{button.quick_delivery | translate}}\\r\\n                                                        </button>\\r\\n                                                    </div>\\r\\n\\r\\n                                                    <div *ngSwitchCase=\\\"ORDER_STATE.STORE_PREPARING_ORDER\\\">\\r\\n                                                         <input type=\\\"hidden\\\" [(ngModel)]=\\\"ORDER_STATE.OREDER_READY\\\" name=\\\"order_status\\\" />\\r\\n                                                        <button type=\\\"submit\\\" class=\\\"btn btn-default\\\" style=\\\"width:100%; margin-bottom:0px;\\\">\\r\\n                                                            {{button.order_ready | translate}}\\r\\n                                                        </button>\\r\\n                                                    </div>\\r\\n                                                </div>\\r\\n                                            </form>\\r\\n                                        </li>\\r\\n                                        <li [hidden]=\\\"order.order_status > ORDER_STATE.OREDER_READY || order.order_type != helper.ADMIN_DATA_ID.STORE\\\">\\r\\n                                            <button type=\\\"button\\\" (click)=\\\"edit_order(order._id)\\\" class=\\\"btn btn-default\\\" style=\\\"width:100%; margin-bottom:0px;\\\">{{button.edit_order | translate}}</button>\\r\\n                                        </li>\\r\\n\\r\\n                                        <li [hidden]=\\\"(order.order_status!=ORDER_STATE.OREDER_READY || order.order_payment_detail.is_user_pick_up_order || order.request_id!=null)\\\" >\\r\\n                                            <form method=\\\"post\\\" #orderAssignProviderForm=\\\"ngForm\\\" (ngSubmit)=\\\"orderAssignProvider(order._id)\\\">\\r\\n                                                <input type=\\\"hidden\\\" [(ngModel)]=\\\"order._id\\\" name=\\\"order_id\\\" />\\r\\n                                                <button type=\\\"submit\\\" class=\\\"btn btn-default\\\" style=\\\"width:100%; margin-bottom:0px;\\\">{{button.assign_delivery_for_provider | translate}}</button>\\r\\n                                            </form>\\r\\n                                        </li>\\r\\n\\r\\n                                        <li [hidden]=\\\"order.order_status!=ORDER_STATE.OREDER_READY || !order.order_payment_detail.is_user_pick_up_order\\\" >\\r\\n                                            <form method=\\\"post\\\" #completeDeliveryForm=\\\"ngForm\\\" (ngSubmit)=\\\"completeDeliveryModal(order._id, order.confirmation_code_for_complete_delivery)\\\">\\r\\n                                                <input type=\\\"hidden\\\" [(ngModel)]=\\\"order._id\\\" name=\\\"order_id\\\" />\\r\\n                                                <button type=\\\"submit\\\" class=\\\"btn btn-default\\\" style=\\\"width:100%; margin-bottom:0px;\\\">{{button.complete_order | translate}}</button>\\r\\n                                            </form>\\r\\n                                        </li>\\r\\n\\r\\n\\r\\n                                        <li [hidden]=\\\"order.order_status>=ORDER_STATE.DELIVERY_MAN_ARRIVED\\\">\\r\\n                                            <form method=\\\"post\\\" #rejectOrderForm=\\\"ngForm\\\" (ngSubmit)=\\\"rejectOrCancleOrder(rejectOrderForm.value)\\\">\\r\\n                                                <input type=\\\"hidden\\\" [(ngModel)]=\\\"order._id\\\" name=\\\"order_id\\\" />\\r\\n                                                <div [ngSwitch]=\\\"order.order_status\\\">\\r\\n\\r\\n                                                    <div *ngSwitchCase=\\\"ORDER_STATE.WAITING_FOR_ACCEPT_STORE\\\">\\r\\n                                                        <input type=\\\"hidden\\\" [(ngModel)]=\\\"ORDER_STATE.STORE_REJECTED\\\" name=\\\"order_status\\\" />\\r\\n                                                        <button type=\\\"submit\\\" class=\\\"btn btn-default\\\" style=\\\"width:100%; margin-bottom:0px;\\\">{{button.reject | translate}}</button>\\r\\n                                                    </div>\\r\\n                                                    <div *ngSwitchDefault>\\r\\n                                                        <input type=\\\"hidden\\\" [(ngModel)]=\\\"ORDER_STATE.STORE_CANCELLED\\\" name=\\\"order_status\\\" />\\r\\n                                                        <button type=\\\"submit\\\" class=\\\"btn btn-default\\\" style=\\\"width:100%; margin-bottom:0px;\\\">{{button.cancle | translate}}</button>\\r\\n                                                    </div>\\r\\n                                                </div>\\r\\n                                            </form>\\r\\n                                        </li>\\r\\n\\r\\n                                        <li>\\r\\n                                            <button  type=\\\"button\\\" (click)=\\\"vieworder_detail(order._id)\\\" class=\\\"btn btn-default\\\" style=\\\"width:100%; margin-bottom:0px;\\\">{{button.view_order_detail | translate}}</button>\\r\\n\\r\\n                                        </li>\\r\\n                                    </ul>\\r\\n                                </div>\\r\\n                            </td>\\r\\n                        </tr>\\r\\n                    </tbody>\\r\\n                </table>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                <div class=\\\"lable_center\\\">\\r\\n\\r\\n                    <ul class=\\\"pagination\\\">\\r\\n                            <li *ngIf=\\\"page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"filter(page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                            <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page==index\\\">\\r\\n                                <a *ngIf=\\\"index==1 || index==total_page || index==page || index==page-1 || index==page+1\\\" (click)=\\\"filter(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                                <a *ngIf=\\\"(index==1 && (page!==1 && page!==2 && page!==3)) || (index==total_page-1 && (page!==total_page && page!==total_page-1 && page!==total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n\\r\\n                            </li>\\r\\n                            <li *ngIf=\\\"page!==total_page && order_list.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"filter(page+1)\\\">{{button.next | translate}}</a></li>\\r\\n                        </ul>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n    <!--<div class=\\\"col-lg-4\\\">-->\\r\\n        <!--<div class=\\\"ibox\\\">-->\\r\\n            <!--<div class=\\\"ibox-content\\\">-->\\r\\n                <!--<h3>To-do</h3>-->\\r\\n                <!--<p class=\\\"small\\\"><i class=\\\"fa fa-hand-o-up\\\"></i> Drag task between list</p>-->\\r\\n\\r\\n                <!--<div class=\\\"input-group\\\">-->\\r\\n                    <!--<input type=\\\"text\\\" placeholder=\\\"Add new task. \\\" class=\\\"input input-sm form-control\\\">-->\\r\\n                    <!--<span class=\\\"input-group-btn\\\">-->\\r\\n                                        <!--<button type=\\\"button\\\" class=\\\"btn btn-sm btn-white\\\"> <i class=\\\"fa fa-plus\\\"></i> Add task</button>-->\\r\\n                                <!--</span>-->\\r\\n                <!--</div>-->\\r\\n                <!--<ul ui-sortable=\\\"sortableOptions\\\" class=\\\"sortable-list connectList agile-list\\\" ng-model=\\\"todoList\\\">-->\\r\\n                    <!--<li class=\\\"{{task.statusClass}}-element\\\" ng-repeat=\\\"task in todoList\\\">-->\\r\\n                        <!--{{task.content}}-->\\r\\n                        <!--<div class=\\\"agile-detail\\\">-->\\r\\n                            <!--<a href=\\\"#\\\" class=\\\"pull-right btn btn-xs btn-white\\\">{{task.tagName}}</a>-->\\r\\n                            <!--<i class=\\\"fa fa-clock-o\\\"></i> {{task.date}}-->\\r\\n                        <!--</div>-->\\r\\n                    <!--</li>-->\\r\\n                <!--</ul>-->\\r\\n            <!--</div>-->\\r\\n        <!--</div>-->\\r\\n    <!--</div>-->\\r\\n</div>\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-sm animated fadeInUpBig\\\" #cancel_order_modal>\\r\\n\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n        <h4 class=\\\"modal-title\\\">{{heading_title.cancel_order | translate}}</h4>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"radio\\\">\\r\\n                <label><input type=\\\"radio\\\" class=\\\"iradio\\\" id=\\\"default_reason\\\" name=\\\"cancel_reason\\\" value=\\\"Enter Your Reason\\\" ><span\\r\\n                        style=\\\"margin-left: 10px;\\\">Too busy to deliver on time</span></label>\\r\\n            </div>\\r\\n            <div class=\\\"radio\\\">\\r\\n                <label><input type=\\\"radio\\\" class=\\\"iradio\\\" name=\\\"cancel_reason\\\" value=\\\"Enter Your Reason\\\"><span\\r\\n                        style=\\\"margin-left: 10px;\\\">Service is not in list</span></label>\\r\\n            </div>\\r\\n            <div class=\\\"radio\\\">\\r\\n                <label><input type=\\\"radio\\\" class=\\\"iradio\\\" name=\\\"cancel_reason\\\" value=\\\"1\\\"><span\\r\\n                        style=\\\"margin-left: 10px;\\\">.....</span></label>\\r\\n            </div>\\r\\n            <div style=\\\"display: none;\\\" id=\\\"text_box\\\">\\r\\n                <input type=\\\"text\\\" class=\\\"form-control\\\" placeholder=\\\"Reason\\\" [(ngModel)]=\\\"cancel_reason\\\" name=\\\"cancel_reason\\\" required/>\\r\\n            </div>\\r\\n        </div>\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n        <div style=\\\"text-align: center;\\\">\\r\\n            <button type=\\\"button\\\" class=\\\"btn btn-black\\\" (click)=\\\"cancelservice()\\\">{{button.submit | translate}}</button>\\r\\n        </div>\\r\\n    </modal-footer>\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-sm animated fadeInUpBig\\\" #complete_order_modal>\\r\\n\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n        <h4 class=\\\"modal-title\\\">{{heading_title.complete_order | translate}}</h4>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n        <div class=\\\"row\\\">\\r\\n            <div *ngIf=\\\"conf_code_error_message\\\">\\r\\n                <label style=\\\"color: red;\\\">{{helper.validation_message.confirmation_code_wrong | translate}}</label>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"form-group\\\" id=\\\"otp_for_sms\\\">\\r\\n                <label>{{title.confirmation_code | translate}}</label>\\r\\n                <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"confirmation_code\\\" name=\\\"confirmation_code\\\" >\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n        <div style=\\\"text-align: center;\\\">\\r\\n            <button type=\\\"button\\\" class=\\\"btn btn-black\\\" (click)=\\\"completeDelivery()\\\">{{button.submit | translate}}</button>\\r\\n        </div>\\r\\n    </modal-footer>\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-sm animated fadeInUpBig\\\" #estimated_time_modal>\\r\\n    <form method=\\\"post\\\" #orderAssignProviderForm=\\\"ngForm\\\" (ngSubmit)=\\\"orderAssignProvider(order_id)\\\">\\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <label>{{heading_title.estimated_time_for_ready_order | translate}}</label>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <input type=\\\"text\\\" class=\\\"form-control\\\" (keypress)=\\\"helper.number_validation($event)\\\" [(ngModel)]=\\\"estimated_time\\\" name=\\\"estimated_time\\\" required >\\r\\n                </div>\\r\\n            </div>\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center;\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-black\\\">{{button.submit | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/store/order/order.component.html\n// module id = 1701\n// module chunks = 0","module.exports = \"<style>\\r\\n    .remove_border{\\r\\n        border: 0;\\r\\n    }\\r\\n</style>\\r\\n<footer [myLoading]=\\\"myLoading\\\" ></footer>   \\r\\n<div class=\\\"row wrapper content_top_bar border-bottom white-bg page-heading\\\">\\r\\n\\r\\n    <div class=\\\"col-md-12\\\">\\r\\n        \\r\\n        <div class=\\\"col-md-4 col-sm-12 col-xs-12\\\">\\r\\n            <h3>{{heading_title.invoice_no | translate}} : {{invoice_number}}</h3>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4 col-sm-6 col-xs-6\\\">\\r\\n            <h3>{{heading_title.earning | translate}} : {{total_store_income}}</h3>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4 col-sm-6 col-xs-6\\\" *ngIf=\\\"completed_at != null\\\">\\r\\n            <h3>{{moment(completed_at).tz(timezone).format('DD MMM YYYY HH:mm:ss')}}</h3>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n</div>\\r\\n<div class=\\\"wrapper wrapper-content animated fadeInRight \\\">\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"\\\">\\r\\n            <div class=\\\"col-lg-4 col-sm-6\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <label class=\\\"control-label\\\">{{heading_title.user_detail | translate}}</label>  \\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12\\\"><label class=\\\"col-lg-4 col-sm-4 col-xs-4 control-label\\\">{{title.name | translate}}:</label>\\r\\n\\r\\n                                <div class=\\\"col-lg-8 col-sm-8 col-xs-8\\\">\\r\\n                                    {{user_first_name + \\\" \\\" + user_last_name}}\\r\\n                                </div> \\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12\\\"><label class=\\\"col-lg-4 col-sm-4 col-xs-4 control-label\\\">{{title.email | translate}}:</label>\\r\\n\\r\\n                                <div class=\\\"col-lg-8 col-sm-8 col-xs-8\\\">\\r\\n                                    {{user_email}}\\r\\n                                </div> \\r\\n                            </div>\\r\\n\\r\\n\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-lg-4 col-sm-6\\\" *ngIf=\\\"destination_addresses.length > 0\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <label class=\\\"control-label\\\">{{heading_title.order_user_detail | translate}}</label>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12\\\"><label class=\\\"col-md-4 col-sm-4 col-xs-4 control-label\\\">{{title.name | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n\\r\\n                                <div class=\\\"col-md-8 col-sm-8 col-xs-8 form-group\\\">\\r\\n                                    {{destination_addresses[0].user_details.name}}\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12\\\"><label class=\\\"col-md-4 col-sm-4 col-xs-4 control-label\\\">{{title.email | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n\\r\\n                                <div class=\\\"col-md-8 col-sm-8 col-xs-8 form-group\\\">\\r\\n                                     {{destination_addresses[0].user_details.country_phone_code}} {{destination_addresses[0].user_details.phone}}\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12\\\"><label class=\\\"col-md-4 col-sm-4 col-xs-4 control-label\\\">{{title.address | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n\\r\\n                                <div class=\\\"col-md-8 col-sm-8 col-xs-8 form-group\\\">\\r\\n                                    {{destination_addresses[0].address}}\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-lg-4 col-sm-6\\\" *ngIf=\\\"!is_user_pick_up_order\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <label class=\\\"control-label\\\">{{heading_title.provider_detail | translate}}</label>  \\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content wizard\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12\\\"><label class=\\\"col-lg-4 col-sm-4 col-xs-4 control-label\\\">{{title.name | translate}}:</label>\\r\\n\\r\\n                                <div class=\\\"col-lg-8 col-sm-8 col-xs-8\\\">\\r\\n                                    {{provider_first_name + \\\" \\\" + provider_last_name}}\\r\\n                                </div> \\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12\\\"><label class=\\\"col-lg-4 col-sm-4 col-xs-4 control-label\\\">{{title.email | translate}}:</label>\\r\\n\\r\\n                                <div class=\\\"col-lg-8 col-sm-8 col-xs-8\\\">\\r\\n                                    {{provider_email}}\\r\\n                                </div> \\r\\n                            </div>\\r\\n\\r\\n\\r\\n\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n   \\r\\n        </div>\\r\\n\\r\\n    </div>\\r\\n    <div class=\\\"row\\\">\\r\\n\\r\\n        <div class=\\\"col-lg-12\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\">\\r\\n\\r\\n                    <div class=\\\"col-md-3 com-sm-6 col-xs-6\\\">\\r\\n                        <label class=\\\"control-label\\\">{{heading_title.order_status | translate}}</label> \\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-3 com-sm-6 col-xs-6 pull-right\\\">\\r\\n                        <h3 class=\\\"control-label text-navy pull-right\\\" *ngIf=\\\"order_status == ORDER_STATE.ORDER_COMPLETED\\\">{{status.completed | translate}}</h3>\\r\\n                        <h3 class=\\\"control-label text-danger pull-right\\\" *ngIf=\\\"order_status_id != ORDER_STATUS_ID.COMPLETED\\\">{{title.not_completed | translate}}</h3>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-2 com-sm-4 col-xs-12 lable_center\\\"><span>{{heading_title.distance | translate}}:{{distance}} km/mile</span></div>\\r\\n                    <div class=\\\"col-md-2 com-sm-4 col-xs-12 lable_center\\\"><span>{{heading_title.total_time | translate}}:{{total_time}}</span></div>\\r\\n                    <div class=\\\"col-md-2 com-sm-4 col-xs-12 lable_center\\\"><span>{{heading_title.total_items | translate}}:{{total_item}}</span></div>\\r\\n                    \\r\\n                </div>\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"table-responsive\\\">\\r\\n                        <table class=\\\"table\\\">\\r\\n                            <thead>\\r\\n                                <tr>\\r\\n                                    <th class=\\\"remove_border\\\">{{title.created_at | translate }}</th>\\r\\n                                    <th class=\\\"remove_border\\\"><span class=\\\"fa fa-long-arrow-right\\\"></span></th>\\r\\n                                    <th class=\\\"remove_border\\\">{{title.store_accepted_at | translate }}</th>\\r\\n                                    <th class=\\\"remove_border\\\"><span class=\\\"fa fa-long-arrow-right\\\"></span></th>\\r\\n                                    <th class=\\\"remove_border\\\">{{title.preparing_order_at | translate }}</th>\\r\\n                                    <th class=\\\"remove_border\\\"><span class=\\\"fa fa-long-arrow-right\\\"></span></th>\\r\\n                                    <th class=\\\"remove_border\\\">{{title.order_ready_at | translate }}</th>\\r\\n                                    <th class=\\\"remove_border\\\"><span class=\\\"fa fa-long-arrow-right\\\"></span></th>\\r\\n                                    <th class=\\\"remove_border\\\">{{title.store_order_send_at | translate }}</th>\\r\\n                                    <th class=\\\"remove_border\\\"><span class=\\\"fa fa-long-arrow-right\\\"></span></th>\\r\\n                                    <th class=\\\"remove_border\\\">{{title.provider_accepted_at | translate }}</th>\\r\\n                                    <th class=\\\"remove_border\\\"><span class=\\\"fa fa-long-arrow-right\\\"></span></th>\\r\\n                                </tr>\\r\\n                            </thead>\\r\\n                            <tbody>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\"><div *ngIf=\\\"created_at!=null\\\">{{moment(created_at).tz(timezone).format('DD MMM YYYY HH:mm:ss')}}</div></td>\\r\\n                                    <td class=\\\"remove_border\\\"></td>\\r\\n                                    <td class=\\\"remove_border\\\"><div *ngIf=\\\"store_accepted_at!=null\\\">{{moment(store_accepted_at).tz(timezone).format('DD MMM YYYY HH:mm:ss')}}</div></td>\\r\\n                                    <td class=\\\"remove_border\\\"></td>\\r\\n                                    <td class=\\\"remove_border\\\"><div *ngIf=\\\"start_preparing_order_at!=null\\\">{{moment(start_preparing_order_at).tz(timezone).format('DD MMM YYYY HH:mm:ss')}}</div></td>\\r\\n                                    <td class=\\\"remove_border\\\"></td>\\r\\n                                    <td class=\\\"remove_border\\\"><div *ngIf=\\\"order_ready_at!=null\\\">{{moment(order_ready_at).tz(timezone).format('DD MMM YYYY HH:mm:ss')}}</div></td>\\r\\n                                    <td class=\\\"remove_border\\\"></td>\\r\\n                                    <td class=\\\"remove_border\\\"><div *ngIf=\\\"store_order_created_at!=null\\\">{{moment(store_order_created_at).tz(timezone).format('DD MMM YYYY HH:mm:ss')}}</div></td>\\r\\n                                    <td class=\\\"remove_border\\\"></td>\\r\\n                                    <td class=\\\"remove_border\\\"><div *ngIf=\\\"accepted_at!=null\\\">{{moment(accepted_at).tz(timezone).format('DD MMM YYYY HH:mm:ss')}}</div></td>\\r\\n                                    <td class=\\\"remove_border\\\"></td>\\r\\n                                </tr>\\r\\n                            </tbody>\\r\\n                        </table>\\r\\n                        <table class=\\\"table\\\">\\r\\n                            <thead>\\r\\n                                <tr>\\r\\n                                    <th class=\\\"remove_border\\\">{{title.completed_at | translate }}</th>\\r\\n                                    <th class=\\\"remove_border\\\"><span class=\\\"fa fa-long-arrow-left\\\"></span></th>\\r\\n                                    <th class=\\\"remove_border\\\">{{title.delivered_at | translate }}</th>\\r\\n                                    <th class=\\\"remove_border\\\"><span class=\\\"fa fa-long-arrow-left\\\"></span></th>\\r\\n                                    <th class=\\\"remove_border\\\">{{title.start_for_delivery_at | translate }}</th>\\r\\n                                    <th class=\\\"remove_border\\\"><span class=\\\"fa fa-long-arrow-left\\\"></span></th>\\r\\n                                    <th class=\\\"remove_border\\\">{{title.picked_order_at | translate }}</th>\\r\\n                                    <th class=\\\"remove_border\\\"><span class=\\\"fa fa-long-arrow-left\\\"></span></th>\\r\\n                                    <th class=\\\"remove_border\\\">{{title.arrived_on_store_at | translate }}</th>\\r\\n                                    <th class=\\\"remove_border\\\"><span class=\\\"fa fa-long-arrow-left\\\"></span></th>\\r\\n                                    <th class=\\\"remove_border\\\">{{title.start_for_pickup_at | translate }}</th>\\r\\n                                    <th class=\\\"remove_border\\\"><span class=\\\"fa fa-long-arrow-left\\\"></span></th>\\r\\n                                </tr>\\r\\n                            </thead>\\r\\n                            <tbody>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\"><div *ngIf=\\\"completed_at!=null\\\">{{moment(completed_at).tz(timezone).format('DD MMM YYYY HH:mm:ss')}}</div></td>\\r\\n                                    <td class=\\\"remove_border\\\"></td>\\r\\n                                    <td class=\\\"remove_border\\\"><div *ngIf=\\\"start_for_pickup_at!=null\\\">{{moment(start_for_pickup_at).tz(timezone).format('DD MMM YYYY HH:mm:ss')}}</div></td>\\r\\n                                    <td class=\\\"remove_border\\\"></td>\\r\\n                                    <td class=\\\"remove_border\\\"><div *ngIf=\\\"arrived_on_store_at!=null\\\">{{moment(arrived_on_store_at).tz(timezone).format('DD MMM YYYY HH:mm:ss')}}</div></td>\\r\\n                                    <td class=\\\"remove_border\\\"></td>\\r\\n                                    <td class=\\\"remove_border\\\"><div *ngIf=\\\"picked_order_at!=null\\\">{{moment(picked_order_at).tz(timezone).format('DD MMM YYYY HH:mm:ss')}}</div></td>\\r\\n                                    <td class=\\\"remove_border\\\"></td>\\r\\n                                    <td class=\\\"remove_border\\\"><div *ngIf=\\\"start_for_delivery_at!=null\\\">{{moment(start_for_delivery_at).tz(timezone).format('DD MMM YYYY HH:mm:ss')}}</div></td>\\r\\n                                    <td class=\\\"remove_border\\\"></td>\\r\\n                                    <td class=\\\"remove_border\\\"><div *ngIf=\\\"delivered_at!=null\\\">{{moment(delivered_at).tz(timezone).format('DD MMM YYYY HH:mm:ss')}}</div></td>\\r\\n                                    <td class=\\\"remove_border\\\"></td>\\r\\n                                </tr>\\r\\n                            </tbody>\\r\\n\\r\\n                        </table>\\r\\n                    </div>\\r\\n                   \\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-lg-12\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\">\\r\\n                    <label class=\\\"control-label\\\">{{heading_title.delivery_fees | translate}}</label>  \\r\\n                </div>\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"table-responsive\\\">\\r\\n\\r\\n                        <table class=\\\"table table-striped\\\">\\r\\n                            <tbody>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{title.service_price | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{currency_sign}}{{total_service_price}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{title.tax_price | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{currency_sign}}{{total_after_tax_price}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{title.delivery_price | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{currency_sign}}{{delivery_price}}</td>\\r\\n                                </tr>\\r\\n                                <tr *ngIf='is_promo_for_delivery_service == true'>\\r\\n                                    <td style=\\\"border: none;\\\" >\\r\\n                                        <div><strong>{{title.promo_bonus}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{currency_sign}}{{promo_payment}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"text-danger remove_border\\\">\\r\\n                                        <div><strong>{{title.total_delivery_price | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{currency_sign}}{{total_delivery_price}}</td>\\r\\n                                </tr>\\r\\n                            </tbody>\\r\\n\\r\\n                        </table>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>  \\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-lg-12\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\">\\r\\n\\r\\n\\r\\n                    <label class=\\\"control-label pull-right\\\">{{heading_title.total | translate}}</label> \\r\\n                    <label class=\\\"control-label\\\" style=\\\"position: absolute; left:42%;\\\">{{heading_title.quantity | translate}}</label>\\r\\n                    <label class=\\\"control-label\\\" style=\\\"position: absolute; left:64%;\\\">{{heading_title.price | translate}}</label>\\r\\n                    <label class=\\\"control-label\\\">{{heading_title.cart | translate}}</label> \\r\\n\\r\\n                </div>\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"table-responsive\\\" *ngFor=\\\"let products of order_detail; let product_index=index\\\">\\r\\n                         <table class=\\\"table invoice-table\\\">\\r\\n\\r\\n                            <tbody>\\r\\n                                <tr *ngFor=\\\"let item of products.items;\\\">\\r\\n                                    <td width=\\\"200px\\\" class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{item.item_name}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"remove_border\\\">{{item.quantity}}</td>\\r\\n                                    <td class=\\\"remove_border\\\">{{(item.total_specification_price + item.item_price)}}</td>\\r\\n                                    <td class=\\\"remove_border\\\">{{currency_sign}}{{(item.total_item_and_specification_price)}}</td>\\r\\n                                </tr>\\r\\n                            </tbody>\\r\\n                        </table>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n        </div>  \\r\\n    </div>\\r\\n    \\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-lg-12\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\">\\r\\n                    <label class=\\\"control-label\\\">{{heading_title.order_fees | translate}}</label>  \\r\\n                </div>\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"table-responsive\\\">\\r\\n\\r\\n                        <table class=\\\"table table-striped\\\">\\r\\n                            <tbody>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{title.cart_price | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{currency_sign}}{{total_cart_price}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{title.tax_price | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{currency_sign}}{{total_store_tax_price}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{title.order_price | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{currency_sign}}{{order_price }}</td>\\r\\n                                </tr>\\r\\n\\r\\n                                <tr *ngIf='is_promo_for_delivery_service == false'>\\r\\n                                    <td style=\\\"border: none;\\\" >\\r\\n                                        <div><strong>{{title.promo_bonus}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right\\\" style=\\\"border: none;\\\">{{currency_sign}}{{promo_payment}}</td>\\r\\n                                </tr>\\r\\n\\r\\n\\r\\n                                <tr>\\r\\n                                    <td class=\\\"text-danger remove_border\\\">\\r\\n                                        <div><strong>{{title.total_order_price | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"text-danger pull-right remove_border\\\">{{currency_sign}}{{total_order_price}}</td>\\r\\n                                </tr>\\r\\n                            </tbody>\\r\\n\\r\\n                        </table>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>  \\r\\n    </div>\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-lg-12\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\">\\r\\n                    <label class=\\\"control-label\\\">{{heading_title.total | translate}}</label>  \\r\\n                </div>\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"table-responsive\\\">\\r\\n\\r\\n                        <table class=\\\"table table-striped\\\">\\r\\n                            <tbody>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{title.wallet_payment | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{currency_sign}}{{wallet_payment}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{title.cash_payment | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{currency_sign}}{{cash_payment}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{title.other_payment | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{currency_sign}}{{card_payment}}</td>\\r\\n                                </tr>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n                                <tr>\\r\\n                                    <td class=\\\"text-danger pull-center remove_border\\\">\\r\\n                                        <div><h2><strong style=\\\"margin-left:50%\\\">{{title.total | translate}}: {{currency_sign}}{{total}}</strong></h2></div>\\r\\n                                    </td>\\r\\n\\r\\n                                </tr>\\r\\n                            </tbody>\\r\\n\\r\\n                        </table>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>  \\r\\n    </div>\\r\\n\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-lg-12\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\">\\r\\n                    <label class=\\\"control-label\\\">{{heading_title.earning | translate}}</label>  \\r\\n                </div>\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"table-responsive\\\">\\r\\n\\r\\n                        <table class=\\\"table table-striped\\\">\\r\\n                            <tbody>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{title.service_price | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{currency_sign}}{{store_have_service_payment}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{title.order_payment | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{currency_sign}}{{store_have_order_payment}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{title.profit | translate}}</strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{currency_sign}}{{total_store_income}}</td>\\r\\n                                </tr>\\r\\n                                <tr>\\r\\n                                    <td class=\\\"remove_border\\\">\\r\\n                                        <div><strong>{{currency_sign}}{{title.pay_by_admin | translate}}\\r\\n                                        </strong></div>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"pull-right remove_border\\\">{{pay_to_store}}</td>\\r\\n                                </tr>\\r\\n\\r\\n\\r\\n                            </tbody>\\r\\n\\r\\n                        </table>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>  \\r\\n    </div>\\r\\n\\r\\n</div>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/store/order_earning_detail/order_earning_detail.component.html\n// module id = 1702\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n                    <div class=\\\"lable_center\\\">\\r\\n                        <label>{{title.search | translate}}</label>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                        <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                            <select chosen class=\\\"chosen-select\\\" id=\\\"search_field\\\" [(ngModel)]=\\\"search_field\\\" name=\\\"search_field\\\" tabindex=\\\"4\\\">\\r\\n                                <option value=\\\"user_detail.first_name\\\">{{title.filter_user | translate}}</option>\\r\\n                                <!-- <option value=\\\"order_details.product_name\\\">{{title.filter_product | translate}}</option> -->\\r\\n                            </select>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <div class=\\\"input-group\\\">\\r\\n\\r\\n                                <input type=\\\"text\\\" class=\\\"form-control search_box\\\" [(ngModel)]=\\\"search_value\\\" #store_open_time=\\\"ngModel\\\" name=\\\"search_value\\\">\\r\\n                                <span class=\\\"input-group-addon search_icon\\\" ><span class=\\\"fa fa-search\\\"></span></span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-md-6 col-sm-12\\\">\\r\\n\\r\\n                    <div class=\\\"col-md-4 col-sm-4\\\">\\r\\n                        <div>\\r\\n                            <label>{{title.payment_mode | translate}}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <select chosen class=\\\"chosen-select\\\" id=\\\"payment_mode\\\" [(ngModel)]=\\\"payment_mode\\\" name=\\\"payment_mode\\\" tabindex=\\\"4\\\">\\r\\n                                <option value=\\\"\\\">{{title.both | translate}}</option>\\r\\n                                <option value=\\\"1\\\">{{title.cash | translate}}</option>\\r\\n                                <option value=\\\"2\\\">{{title.card | translate}}</option>\\r\\n                            </select>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-4 col-sm-4\\\">\\r\\n                        <div>\\r\\n                            <label>{{title.order_type | translate}}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"form-group\\\" >\\r\\n                            <select chosen class=\\\"chosen-select\\\" id=\\\"order_type\\\" [(ngModel)]=\\\"order_type\\\" name=\\\"order_type\\\" tabindex=\\\"4\\\">\\r\\n                                <option value=\\\"\\\">{{title.both | translate}}</option>\\r\\n                                <option value=\\\"{{helper.ADMIN_DATA_ID.USER}}\\\">{{title.user | translate}}</option>\\r\\n                                <option value=\\\"{{helper.ADMIN_DATA_ID.STORE}}\\\">{{title.store | translate}}</option>\\r\\n                            </select>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-4 col-sm-4\\\">\\r\\n                        <div>\\r\\n                            <label>{{title.pickup | translate}}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <select chosen class=\\\"chosen-select\\\" id=\\\"pickup_type\\\" [(ngModel)]=\\\"pickup_type\\\" name=\\\"pickup_type\\\" tabindex=\\\"4\\\">\\r\\n                                <option value=\\\"\\\">{{title.both | translate}}</option>\\r\\n                                <option value=\\\"1\\\">{{title.user | translate}}</option>\\r\\n                                <option value=\\\"2\\\">{{title.delivery_man | translate}}</option>\\r\\n                            </select>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-2 col-sm-12 \\\">\\r\\n                    <div class=\\\"col-md-12 col-sm-12 filter_btn_div\\\" >\\r\\n                        <input type=\\\"button\\\" (click)=\\\"filter(1, true)\\\" class=\\\"btn filter_apply_btn pull-right\\\" value=\\\"{{button.apply | translate}}\\\" >\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n</div>\\r\\n<div class=\\\"wrapper content_top_bar_view1 wrapper-content\\\">\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-lg-4 col-sm-12\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <!-- <div class=\\\"ibox-title\\\">\\r\\n                    <h3>{{helper.heading_title.new_orders | translate}}</h3>\\r\\n                </div> -->\\r\\n\\r\\n                <div class=\\\"wizard\\\">\\r\\n                    <div class=\\\"steps clearfix\\\">\\r\\n                        <ul style=\\\"width: 100%;display: table;padding: 0px;\\\">\\r\\n                            <li (click)=\\\"order_type_active=1\\\" style=\\\"width: 50%;margin: 0px !important;border: 0px; \\\" >\\r\\n                                <a style=\\\"border-radius: 0px; text-align:center;\\\" class=\\\"btn-default\\\" [class.order_active]=\\\"order_type_active==2\\\"><span style=\\\"font-weight: bold;display:block;\\\" class=\\\"nav-label\\\">Orders <span style=\\\"color: red;\\\">({{get_order_count(false)}})</span></span></a>\\r\\n                            </li>\\r\\n                            <li (click)=\\\"order_type_active=2\\\" style=\\\"width: 50%;margin: 0px !important;border: 0px; \\\">\\r\\n                                <a style=\\\"border-radius: 0px; text-align:center;\\\" class=\\\"btn-default\\\" [class.order_active]=\\\"order_type_active==1\\\"><span style=\\\"font-weight: bold;display:block;\\\" class=\\\"nav-label\\\">Schedules <span style=\\\"color: red;\\\">({{get_order_count(true)}})</span></span></a>\\r\\n                            </li>\\r\\n                        </ul>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"ibox-content order_fix_div scrollbar\\\">\\r\\n                    <ul class=\\\"sortable-list connectList agile-list\\\" style=\\\"overflow: auto;height: calc(100vh - 357px);\\\">\\r\\n                        <li *ngFor=\\\"let order of order_list; let order_index=index;\\\" style=\\\"background-color: #fff;\\\" id=\\\"{{order_index}}\\\" [hidden]=\\\"(((order.is_schedule_order) && order_type_active==1) || (!order.is_schedule_order && order_type_active==2 ))\\\" [ngStyle]=\\\"{'background-color':order.is_admin_edited == true ? 'pink' : unset }\\\" (click)=\\\"get_order_detail(order)\\\">\\r\\n                            <div class=\\\"row\\\" *ngIf=\\\"!order.order_detail\\\">\\r\\n                                <span class=\\\"col-md-2 text-center\\\" *ngIf=\\\"order.is_user_pick_up_order\\\"><span class=\\\"pickup_order\\\"></span></span>\\r\\n                                <span class=\\\"col-md-2 text-center\\\" *ngIf=\\\"!order.is_user_pick_up_order\\\"><span class=\\\"delivery_order\\\"></span></span>\\r\\n                                <span class=\\\"col-md-3\\\">#{{order.unique_id}}</span>\\r\\n                                <span class=\\\"col-md-3\\\" *ngIf=\\\"order.order_status==helper.ORDER_STATE.WAITING_FOR_ACCEPT_STORE\\\"><span class=\\\"label label-primary\\\">New</span></span>\\r\\n                                <span class=\\\"col-md-3\\\" *ngIf=\\\"order.order_status==helper.ORDER_STATE.STORE_ACCEPTED\\\"><span class=\\\"label label-danger\\\">In Progress</span></span>\\r\\n                                <span class=\\\"col-md-3\\\" *ngIf=\\\"order.order_status==helper.ORDER_STATE.OREDER_READY\\\"><span class=\\\"label label-danger\\\">Ready</span></span>\\r\\n                                <span *ngIf=\\\"!order.is_schedule_order\\\" class=\\\"col-md-4\\\"><span class=\\\"pull-right\\\">{{moment(order.created_at).tz(order.timezone !== '' ? order.timezone: 'Asia/Kolkata').format('DD/MM/YYYY hh:mm a')}}</span></span>\\r\\n                                <span *ngIf=\\\"order.is_schedule_order\\\" class=\\\"col-md-4\\\"><span class=\\\"pull-right\\\">{{moment(order.schedule_order_start_at).tz(order.timezone !== '' ? order.timezone: 'Asia/Kolkata').format('DD/MM/YYYY hh:mm a')}}</span></span>\\r\\n                            </div>\\r\\n                            <div class=\\\"row\\\" *ngIf=\\\"order.order_detail\\\">\\r\\n                                <!-- <span class=\\\"col-md-2 text-center\\\" *ngIf=\\\"order.order_detail.is_user_pick_up_order\\\"><span class=\\\"pickup_order\\\"></span></span> -->\\r\\n                                <span class=\\\"col-md-2 text-center\\\"><span class=\\\"delivery_order\\\"></span></span>\\r\\n                                <span class=\\\"col-md-3\\\">#{{order.order_detail.unique_id}}</span>\\r\\n                                <span class=\\\"col-md-3\\\" *ngIf=\\\"order.order_detail.order_status==helper.ORDER_STATE.STORE_ACCEPTED\\\"><span class=\\\"label label-danger\\\">In Progress</span></span>\\r\\n                                <span class=\\\"col-md-3\\\" *ngIf=\\\"order.order_detail.order_status!==helper.ORDER_STATE.STORE_ACCEPTED\\\"><span class=\\\"label label-danger\\\">Ready</span></span>\\r\\n                                <span class=\\\"col-md-4\\\" *ngIf=\\\"!order.order_detail.is_user_pick_up_order\\\"><span class=\\\"pull-right\\\">{{moment(order.order_detail.estimated_time_for_ready_order).tz(order.order_detail.timezone !== '' ? order.order_detail.timezone: 'Asia/Kolkata').format('DD/MM/YYYY hh:mm a')}}</span></span>\\r\\n                                <span class=\\\"col-md-4\\\" *ngIf=\\\"order.order_detail.is_user_pick_up_order && order.order_detail.is_schedule_order\\\"><span class=\\\"pull-right\\\">{{moment(order.order_detail.schedule_order_start_at).tz(order.order_detail.timezone !== '' ? order.order_detail.timezone: 'Asia/Kolkata').format('DD/MM/YYYY hh:mm a')}}</span></span>\\r\\n                                <span class=\\\"col-md-4\\\" *ngIf=\\\"order.order_detail.is_user_pick_up_order && !order.order_detail.is_schedule_order\\\"><span class=\\\"pull-right\\\">{{moment(order.order_detail.created_at).tz(order.order_detail.timezone !== '' ? order.order_detail.timezone: 'Asia/Kolkata').format('DD/MM/YYYY hh:mm a')}}</span></span>\\r\\n                            </div>\\r\\n                        </li>\\r\\n\\r\\n                        <!-- <li *ngFor=\\\"let order of requests; let order_index=index;\\\" [hidden]=\\\"order_type_active==2\\\" (click)=\\\"get_order_detail(order.order_detail._id, order)\\\"  style=\\\"background-color: #fff;\\\" id=\\\"{{order_index}}\\\" [hidden]=\\\"((order.order_detail.is_schedule_order && order_type_active==1) || (!order.order_detail.is_schedule_order && order_type_active==2 ))\\\" [ngStyle]=\\\"{'background-color':order.order_detail.is_admin_edited == true ? 'pink' : unset }\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <span class=\\\"col-md-2 text-center\\\" *ngIf=\\\"order.order_detail.is_user_pick_up_order\\\"><span class=\\\"pickup_order\\\"></span></span>\\r\\n                                <span class=\\\"col-md-2 text-center\\\" *ngIf=\\\"!order.order_detail.is_user_pick_up_order\\\"><span class=\\\"delivery_order\\\"></span></span>\\r\\n                                <span class=\\\"col-md-3\\\">#{{order.order_detail.unique_id}}</span>\\r\\n                                <span class=\\\"col-md-3\\\" *ngIf=\\\"order.order_detail.order_status==helper.ORDER_STATE.STORE_ACCEPTED\\\"><span class=\\\"label label-danger\\\">In Progress</span></span>\\r\\n                                <span class=\\\"col-md-3\\\" *ngIf=\\\"order.order_detail.order_status!==helper.ORDER_STATE.STORE_ACCEPTED\\\"><span class=\\\"label label-danger\\\">Ready</span></span>\\r\\n                                <span class=\\\"col-md-4\\\" *ngIf=\\\"!order.order_detail.is_user_pick_up_order\\\"><span class=\\\"pull-right\\\">{{moment(order.order_detail.estimated_time_for_ready_order).tz(order.order_detail.timezone !== '' ? order.order_detail.timezone: 'Asia/Kolkata').format('DD/MM/YYYY hh:mm a')}}</span></span>\\r\\n                                <span class=\\\"col-md-4\\\" *ngIf=\\\"order.order_detail.is_user_pick_up_order && order.order_detail.is_schedule_order\\\"><span class=\\\"pull-right\\\">{{moment(order.order_detail.schedule_order_start_at).tz(order.order_detail.timezone !== '' ? order.order_detail.timezone: 'Asia/Kolkata').format('DD/MM/YYYY hh:mm a')}}</span></span>\\r\\n                                <span class=\\\"col-md-4\\\" *ngIf=\\\"order.order_detail.is_user_pick_up_order && !order.order_detail.is_schedule_order\\\"><span class=\\\"pull-right\\\">{{moment(order.order_detail.created_at).tz(order.order_detail.timezone !== '' ? order.order_detail.timezone: 'Asia/Kolkata').format('DD/MM/YYYY hh:mm a')}}</span></span>\\r\\n                            </div>\\r\\n                        </li> -->\\r\\n\\r\\n                        <!-- <li *ngFor=\\\"let order of requests; let order_index=index;\\\" id=\\\"{{order_index}}\\\" [ngStyle]=\\\"{'background-color':order.deliveryman_to_store_time_copy <=3 ? '#f7e3bd' : '#d9f9d9' }\\\"  [ngStyle]=\\\"{'background-color':order.already_cancelled == true ? 'pink' : unset }\\\" [hidden]=\\\"order.order_detail.order_status >= helper.ORDER_STATE.OREDER_READY\\\"  (click)=\\\"get_request_detail(order._id)\\\">\\r\\n\\r\\n                            <div>\\r\\n                                <div>\\r\\n                                    <span>#{{order.order_detail.unique_id}}</span>\\r\\n                                    <span class=\\\"pull-right\\\">\\r\\n                                        {{order.remaining_time}}'\\r\\n                                    </span>\\r\\n                                </div>\\r\\n                                <div *ngIf=\\\"order.provider_detail && order.delivery_status >= ORDER_STATE.DELIVERY_MAN_ACCEPTED\\\">\\r\\n                                    <span>{{order.provider_detail.first_name}}</span>\\r\\n                                    <span class=\\\"pull-right\\\">\\r\\n                                        {{order.deliveryman_to_store_time_copy}}'\\r\\n                                    </span>\\r\\n                                </div>\\r\\n                                <div [ngSwitch]=\\\"order.delivery_status\\\">\\r\\n                                    <span *ngSwitchCase=\\\"ORDER_STATE.WAITING_FOR_DELIVERY_MAN\\\"><span class=\\\"label label-info\\\">{{status.waiting_for_delivery_man1 | translate}}</span></span>\\r\\n                                    <span *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_ACCEPTED\\\"><span class=\\\"label label-primary\\\">{{status.delivery_man_accepted1 | translate}}</span></span>\\r\\n                                    <span *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_COMING\\\"><span class=\\\"label label-info\\\">{{status.delivery_man_coming1 | translate}}</span></span>\\r\\n                                    <span *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_ARRIVED\\\"><span class=\\\"label label-info\\\">{{status.delivery_man_arrived1 | translate}}</span></span>\\r\\n                                    <span *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\\\"><span class=\\\"label label-info\\\">{{status.picked_order1 | translate}}</span></span>\\r\\n                                    <span *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_STARTED_DELIVERY\\\"><span class=\\\"label label-info\\\">{{status.started_for_delivery1 | translate}}</span></span>\\r\\n                                    <span *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_ARRIVED_AT_DESTINATION\\\"><span class=\\\"label label-info\\\">{{status.arrived_at_destination1 | translate}}</span></span>\\r\\n                                    <span *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_COMPLETE_DELIVERY\\\"><span class=\\\"label label-primary\\\">{{status.delivered_ordered1 | translate}}</span></span>\\r\\n                                    <span *ngSwitchCase=\\\"ORDER_STATE.STORE_REJECTED\\\"><span class=\\\"label label-danger\\\">{{status.rejected1 | translate}}</span></span>\\r\\n                                    <span *ngSwitchCase=\\\"ORDER_STATE.STORE_CANCELLED\\\"><span class=\\\"label label-danger\\\">{{status.cancelled1 | translate}}</span></span>\\r\\n                                    <span *ngSwitchCase=\\\"ORDER_STATE.NO_DELIVERY_MAN_FOUND\\\"><span class=\\\"label label-danger\\\">{{status.no_delivery_man_found1 | translate}}</span></span>\\r\\n                                    <span *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_REJECTED\\\"><span class=\\\"label label-danger\\\">{{status.delivery_man_rejected1 | translate}}</span></span>\\r\\n                                    <span *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_CANCELLED\\\"><span class=\\\"label label-danger\\\">{{status.delivery_man_cancelled1 | translate}}</span></span>\\r\\n                                    <span *ngSwitchCase=\\\"ORDER_STATE.CANCELED_BY_USER\\\"><span class=\\\"label label-danger\\\">{{status.user_cancelled | translate}}</span></span>\\r\\n                                    <span *ngSwitchCase=\\\"ORDER_STATE.STORE_CANCELLED_REQUEST\\\"><span class=\\\"label label-danger\\\">{{status.cancelled_request1 | translate}}</span></span>\\r\\n                                    <span class=\\\"pull-right\\\">\\r\\n                                        <span class=\\\"label label-danger\\\" *ngIf=\\\"!order.provider_detail\\\" (click)=\\\"orderAssignProvider(order.order_detail._id)\\\" style=\\\"cursor: pointer;\\\">{{helper.button.reassign_delivery_for_provider | translate}}</span>\\r\\n                                    </span>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"text-center\\\" style=\\\"margin-top: 15px;\\\" *ngIf=\\\"order.order_detail.is_schedule_order\\\">\\r\\n                                    <span style=\\\"color: #ed5565;\\\">SCHEDULED ORDER: {{moment(order.order_detail.schedule_order_start_at).subtract(20, 'minutes').tz(order.order_detail.timezone !== '' ? order.order_detail.timezone: 'Asia/Kolkata').format('DD MMM, HH:mm')}}</span>\\r\\n                                </div>\\r\\n                                \\r\\n                            </div>\\r\\n                        </li> -->\\r\\n\\r\\n                    </ul>\\r\\n                    <div class=\\\"order_detail_footer\\\" style=\\\"padding: 15px 37px 0 37px;\\\">\\r\\n                        <div class=\\\"order_detail_footer1\\\" style=\\\"padding: 15px 0 15px 0px;\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-lg-9 col-sm-9\\\">\\r\\n                                    <button class=\\\"btn stop_new_order\\\" (click)=\\\"stop_new_order()\\\" type=\\\"button\\\">Stop New Orders</button>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-lg-3 col-sm-3\\\">\\r\\n                                    <span class=\\\"fa fa-plus print pull-right\\\" (click)=\\\"go_to_new_order()\\\" style=\\\"padding: 7px 10px;\\\"> </span>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-lg-8 col-sm-12\\\" *ngIf=\\\"order_detail && order_detail.cart_detail\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-content order_fix_div scrollbar\\\" style=\\\"height: calc(100vh - 215px);\\\">\\r\\n                    <div class=\\\"order_detail\\\" *ngIf=\\\"!is_show_map\\\">\\r\\n                        <div class=\\\"order_detail_header\\\">\\r\\n                            <span>Order <span class=\\\"red\\\">#{{order_detail.unique_id}}</span> \\r\\n                                <span class=\\\"blue\\\" *ngIf=\\\"order_detail.is_schedule_order && order_detail.is_user_pick_up_order\\\">(Ready at {{moment(order_detail.schedule_order_start_at).tz(order_detail.timezone !== '' ? order_detail.timezone: 'Asia/Kolkata').format('hh:mm a')}})</span>\\r\\n                                <span class=\\\"blue\\\" *ngIf=\\\"!order_detail.is_schedule_order && order_detail.is_user_pick_up_order\\\">(Ready at {{moment(order_detail.created_at).tz(order_detail.timezone !== '' ? order_detail.timezone: 'Asia/Kolkata').format('hh:mm a')}})</span>\\r\\n                                <span class=\\\"blue\\\" *ngIf=\\\"!order_detail.is_user_pick_up_order\\\">(Ready at {{moment(order_detail.estimated_time_for_ready_order).tz(order_detail.timezone !== '' ? order_detail.timezone: 'Asia/Kolkata').format('hh:mm a')}})</span>\\r\\n                            </span>\\r\\n\\r\\n                            <span class=\\\"pull-right\\\">Status: \\r\\n                                <span class=\\\"red\\\" *ngIf=\\\"order_detail.order_status==helper.ORDER_STATE.WAITING_FOR_ACCEPT_STORE\\\">New Order <span  (click)=\\\"CancleOrder({order_id: order_detail._id, order_status:ORDER_STATE.STORE_CANCELLED})\\\" class=\\\"fa fa-warning warning_icon\\\"></span></span>\\r\\n                                <span class=\\\"red\\\" *ngIf=\\\"order_detail.order_status==helper.ORDER_STATE.STORE_ACCEPTED\\\">In Progress <span  (click)=\\\"CancleOrder({order_id: order_detail._id, order_status:ORDER_STATE.STORE_CANCELLED})\\\" class=\\\"fa fa-warning warning_icon\\\"></span></span>\\r\\n                                <span class=\\\"red\\\" *ngIf=\\\"order_detail.order_status==helper.ORDER_STATE.OREDER_READY\\\">Ready<span  (click)=\\\"CancleOrder({order_id: order_detail._id, order_status:ORDER_STATE.STORE_CANCELLED})\\\" class=\\\"fa fa-warning warning_icon\\\"></span></span>\\r\\n                            </span>\\r\\n                            <div>\\r\\n                                <span class=\\\"\\\">Payment Method: \\r\\n                                    <span [ngSwitch]=\\\"order_detail.is_payment_mode_cash\\\">\\r\\n                                         \\r\\n                                        <span *ngIf=\\\"!order_detail.is_paid_from_wallet\\\">\\r\\n                                            <span *ngSwitchCase=\\\"true\\\"><span>{{title.cash | translate}}</span></span>\\r\\n                                            <span *ngSwitchCase=\\\"false\\\"><span>{{title.card | translate}} </span></span>\\r\\n                                        </span>\\r\\n                                        <span *ngIf=\\\"order_detail.is_paid_from_wallet\\\">\\r\\n                                            <span><span>{{title.wallet | translate}} </span></span>\\r\\n                                        </span>\\r\\n                                    </span>\\r\\n                                </span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"order_detail_body\\\" style=\\\"overflow: auto;height: calc(100vh - 380px);\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-lg-8 col-sm-8\\\">\\r\\n                                    <div class=\\\"order_detail_total\\\">\\r\\n                                        <span>Total</span>\\r\\n                                        <span class=\\\"pull-right\\\" *ngIf=\\\"order_detail.total_order_price\\\">{{order_detail.total_order_price.toFixed(2)}}</span>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"order_items\\\" *ngFor=\\\"let product of order_detail.cart_detail.order_details;  let product_index=index;\\\">\\r\\n                                        <span class=\\\"product_title\\\">{{product.product_name}}</span>\\r\\n                                        <div class=\\\"order_item_detail col-md-12\\\" *ngFor=\\\"let item of product.items; let item_index=index;\\\">\\r\\n                                            <span style=\\\"cursor: pointer;\\\" (click)=\\\"item.is_show=!item.is_show\\\">\\r\\n                                                <!-- <span *ngIf=\\\"!item.is_show\\\">+</span>\\r\\n                                                <span *ngIf=\\\"item.is_show\\\">-</span> -->\\r\\n                                                ({{item.quantity}}) {{item.item_name}} \\r\\n                                            </span>\\r\\n                                            <span class=\\\"pull-right\\\">\\r\\n                                                {{item.total_item_and_specification_price}}\\r\\n                                                <span *ngIf=\\\"is_edit_order\\\"  (click)=\\\"open_edit_item_modal(item , product, item_index, product_index)\\\" class=\\\"fa fa-pencil edit_icon\\\"></span>\\r\\n                                                <span *ngIf=\\\"is_edit_order && !check_last_item()\\\" (click)=\\\"remove_from_cart(product_index, item_index)\\\" class=\\\"fa fa-remove delete_icon\\\"></span>\\r\\n                                            </span>\\r\\n                                            <div class=\\\"order_sp_detail\\\" *ngFor=\\\"let specification_group of item.specifications; let odd=odd; \\\">\\r\\n                                                <span>{{specification_group.name}} (<span *ngFor=\\\"let sp of specification_group.list\\\">{{sp.name}}</span>) </span>\\r\\n                                                <span class=\\\"pull-right\\\">{{specification_group.price}}</span>\\r\\n                                            </div>\\r\\n                                            <div *ngIf=\\\"item.note_for_item\\\">\\r\\n                                                <span class=\\\"product_title\\\">Note: </span> <span class=\\\"item_note\\\">{{item.note_for_item}}</span>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                    <div *ngIf=\\\"is_edit_order\\\">\\r\\n                                        <button class=\\\"btn add_button\\\" (click)=\\\"add_new_item()\\\" type=\\\"button\\\">Add New Item</button>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-lg-4 col-sm-4\\\">\\r\\n                                    <div class=\\\"col-lg-12 col-sm-12\\\">\\r\\n                                        <span class=\\\"user_detail\\\">\\r\\n                                            {{order_detail.user_detail.first_name}} {{order_detail.user_detail.last_name}} ({{order_count}})\\r\\n                                            <span class=\\\"dropdown\\\" dropdown>\\r\\n                                                <span class=\\\"info_icon\\\" dropdown-open >i</span>\\r\\n                                                <div class=\\\"dropdown-menu\\\" style=\\\"left: auto;right: 0;border-radius: 20px;box-shadow: 1px 1px 15px 0px;\\\">\\r\\n                                                    <div class=\\\"user_detail_popup\\\">\\r\\n                                                        <div class=\\\"user_detail_popup_div\\\">\\r\\n                                                            <div class=\\\"user_name\\\">{{order_detail.user_detail.first_name}} {{order_detail.user_detail.last_name}} </div>\\r\\n                                                            <div class=\\\"user_phone\\\">{{order_detail.user_detail.country_phone_code}} {{order_detail.user_detail.phone}} </div>\\r\\n                                                            <div class=\\\"user_email\\\">{{order_detail.user_detail.email}}</div>\\r\\n                                                        </div>\\r\\n                                                        <div class=\\\"user_detail_popup_div\\\">\\r\\n                                                            <div class=\\\"user_name\\\">Delivery Address: </div>\\r\\n                                                            <div class=\\\"user_address\\\">{{order_detail.cart_detail.destination_addresses[0].address}}</div>\\r\\n                                                            <div class=\\\"user_address\\\">\\r\\n                                                                <span *ngIf=\\\"order_detail.cart_detail.destination_addresses[0].floor\\\">Floor: {{order_detail.cart_detail.destination_addresses[0].floor}}</span>\\r\\n                                                            </div>\\r\\n                                                            <div class=\\\"user_address\\\">\\r\\n                                                                <span *ngIf=\\\"order_detail.cart_detail.destination_addresses[0].entry_code\\\">entry code: {{order_detail.cart_detail.destination_addresses[0].entry_code}}</span>\\r\\n                                                            </div>\\r\\n                                                        </div>\\r\\n                                                        <div class=\\\"user_detail_popup_div\\\">\\r\\n                                                            <div class=\\\"user_name\\\">Delivery Note: </div>\\r\\n                                                            <div class=\\\"user_address\\\">{{order_detail.cart_detail.destination_addresses[0].note}}</div>\\r\\n                                                        </div>\\r\\n                                                    </div>\\r\\n                                                </div>\\r\\n                                            </span>\\r\\n\\r\\n                                        </span>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-lg-12 col-sm-12\\\" *ngIf=\\\"request_detail\\\">\\r\\n                                        <div class=\\\"hopper\\\">\\r\\n                                            <span>Hopper</span>\\r\\n                                        </div>\\r\\n                                        <div style=\\\"padding: 10px;\\\">\\r\\n                                            <span class=\\\"item_note\\\" *ngIf=\\\"request_detail.delivery_status==helper.ORDER_STATE.WAITING_FOR_DELIVERY_MAN\\\">searching for nearby hopper</span>\\r\\n                                            <span class=\\\"item_note\\\" *ngIf=\\\"request_detail.delivery_status==helper.ORDER_STATE.NO_DELIVERY_MAN_FOUND\\\">Sorry, system couldn't find any nearby hopper at this time</span>\\r\\n                                        </div>\\r\\n                                        <button style=\\\"margin-left: 10px;\\\" *ngIf=\\\"request_detail.delivery_status==helper.ORDER_STATE.NO_DELIVERY_MAN_FOUND  \\\" class=\\\"btn accept_button\\\" type=\\\"button\\\"  (click)=\\\"orderAssignProvider(order_detail._id)\\\">Try Again</button>\\r\\n\\r\\n                                        <div class=\\\"hopper_detail\\\" *ngIf=\\\"order_detail.provider_detail && request_detail.delivery_status!==helper.ORDER_STATE.WAITING_FOR_DELIVERY_MAN\\\"> \\r\\n                                            <img class=\\\"hopper_image\\\" src=\\\"{{order_detail.provider_detail.image_url != '' ? helper.CONSTANT.IMAGE_BASE_URL + order_detail.provider_detail.image_url : 'default.png'}}\\\" alt=\\\"\\\">\\r\\n\\r\\n                                            <div class=\\\"pad_top green\\\" *ngIf=\\\"request_detail.delivery_status==helper.ORDER_STATE.DELIVERY_MAN_COMING\\\">Hopper On the Way</div>\\r\\n                                            <div class=\\\"pad_top green\\\" *ngIf=\\\"request_detail.delivery_status==helper.ORDER_STATE.DELIVERY_MAN_ARRIVED\\\">Hopper Arrived</div>\\r\\n                                            <div class=\\\"pad_top green\\\" *ngIf=\\\"request_detail.delivery_status==helper.ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\\\">Hopper Picked Order</div>\\r\\n                                            <div class=\\\"pad_top green\\\" *ngIf=\\\"request_detail.delivery_status==helper.ORDER_STATE.DELIVERY_MAN_STARTED_DELIVERY\\\">Hopper Started Delivery</div>\\r\\n                                            <div class=\\\"pad_top green\\\" *ngIf=\\\"request_detail.delivery_status==helper.ORDER_STATE.DELIVERY_MAN_ARRIVED_AT_DESTINATION\\\">Hopper Arrived at Destination</div>\\r\\n                                            <div class=\\\"pad_top green\\\" *ngIf=\\\"request_detail.delivery_status==helper.ORDER_STATE.ORDER_COMPLETED\\\">Order Completed</div>\\r\\n                                            \\r\\n                                            <div class=\\\"pad_top\\\">{{order_detail.provider_detail.first_name}}{{order_detail.provider_detail.last_name}} ({{order_detail.deliveryman_to_store_time_copy}} min)</div>\\r\\n                                            <div class=\\\"pad_bottom\\\" style=\\\"font-weight: bold;\\\">{{order_detail.provider_detail.country_phone_code}}{{order_detail.provider_detail.phone}}</div>\\r\\n                                            <button style=\\\"margin-left: 0px;\\\" (click)=\\\"track_hopper()\\\" *ngIf=\\\"request_detail.delivery_status==helper.ORDER_STATE.DELIVERY_MAN_COMING || request_detail.delivery_status==helper.ORDER_STATE.DELIVERY_MAN_ARRIVED || request_detail.delivery_status==helper.ORDER_STATE.DELIVERY_MAN_PICKED_ORDER || request_detail.delivery_status==helper.ORDER_STATE.DELIVERY_MAN_STARTED_DELIVERY || request_detail.delivery_status==helper.ORDER_STATE.DELIVERY_MAN_ARRIVED_AT_DESTINATION\\\" class=\\\"btn accept_button\\\" type=\\\"button\\\" >Track Hopper</button>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"hopper_map\\\" *ngIf=\\\"is_show_map\\\">\\r\\n                        <div id=\\\"map\\\" style=\\\"width: 100%;height: calc(100vh - 325px);overflow: auto;\\\"></div>\\r\\n                    </div>\\r\\n                    <div class=\\\"order_detail_footer\\\">\\r\\n                            <div class=\\\"order_detail_footer1\\\">\\r\\n                                <div>\\r\\n                                    <!-- <span class=\\\"fa fa-print print\\\" (click)=\\\"print()\\\"> </span> -->\\r\\n                                    <span (click)=\\\"print()\\\" style=\\\"margin-left: 20px;font-size: 35px;\\\">\\r\\n                                        <img src=\\\"images/printer_icon.png\\\" alt=\\\"\\\">\\r\\n                                    </span>\\r\\n                                    <span (click)=\\\"estimated_time_modal1.open()\\\" style=\\\"margin-left: 20px;font-size: 35px;\\\">\\r\\n                                        <img src=\\\"images/clock_icon.png\\\" alt=\\\"\\\">\\r\\n                                    </span>\\r\\n                                    <span class=\\\"pull-right\\\">\\r\\n                                        <button *ngIf=\\\"order_detail.order_status==helper.ORDER_STATE.WAITING_FOR_ACCEPT_STORE\\\" class=\\\"btn accept_button\\\" type=\\\"button\\\"  (click)=\\\"orderStatus(ORDER_STATE.STORE_ACCEPTED, order_detail._id, order_detail.order_type)\\\">Accept</button>\\r\\n                                        <button *ngIf=\\\"order_detail.order_status==helper.ORDER_STATE.STORE_ACCEPTED && !order_detail.is_schedule_order\\\" class=\\\"btn accept_button\\\" type=\\\"button\\\"  (click)=\\\"orderStatus(ORDER_STATE.OREDER_READY, order_detail._id, order_detail.order_type)\\\">Ready</button>\\r\\n                                        <button *ngIf=\\\"order_detail.order_status==helper.ORDER_STATE.OREDER_READY && order_detail.is_user_pick_up_order\\\" class=\\\"btn accept_button\\\" type=\\\"button\\\"  (click)=\\\"completeDeliveryModal(order_detail._id, order_detail.confirmation_code_for_complete_delivery, order_detail.is_user_pick_up_order)\\\">Complete</button>\\r\\n                                    </span>\\r\\n                                    <span class=\\\"pull-right\\\" *ngIf=\\\"!is_edit_order && (order_detail.order_status==helper.ORDER_STATE.WAITING_FOR_ACCEPT_STORE || order_detail.order_status==helper.ORDER_STATE.STORE_ACCEPTED)\\\">\\r\\n                                        <button class=\\\"btn change_button\\\" (click)=\\\"is_edit_order=true\\\" type=\\\"button\\\">Change</button>\\r\\n                                    </span>\\r\\n                                    <span class=\\\"pull-right\\\" *ngIf=\\\"is_edit_order\\\">\\r\\n                                        <button class=\\\"btn change_button\\\" (click)=\\\"update_order_data()\\\" type=\\\"button\\\">Update</button>\\r\\n                                    </span>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <!-- <div class=\\\"col-lg-4 col-sm-6\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\">\\r\\n                    <h3>{{helper.heading_title.accepted | translate}}</h3>\\r\\n                </div>\\r\\n                <div class=\\\"ibox-content order_fix_div scrollbar\\\">\\r\\n                    <ul class=\\\"sortable-list connectList agile-list\\\">\\r\\n                        <li *ngFor=\\\"let order of requests; let order_index=index;\\\" id=\\\"{{order_index}}\\\" [ngStyle]=\\\"{'background-color':order.deliveryman_to_store_time_copy <=3 ? '#f7e3bd' : '#d9f9d9' }\\\"  [ngStyle]=\\\"{'background-color':order.already_cancelled == true ? 'pink' : unset }\\\" [hidden]=\\\"order.order_detail.order_status >= helper.ORDER_STATE.OREDER_READY\\\"  (click)=\\\"get_request_detail(order._id)\\\">\\r\\n\\r\\n                            <div>\\r\\n                                <div>\\r\\n                                    <span>#{{order.order_detail.unique_id}}</span>\\r\\n                                    <span class=\\\"pull-right\\\">\\r\\n                                        {{order.remaining_time}}'\\r\\n                                    </span>\\r\\n                                </div>\\r\\n                                <div *ngIf=\\\"order.provider_detail && order.delivery_status >= ORDER_STATE.DELIVERY_MAN_ACCEPTED\\\">\\r\\n                                    <span>{{order.provider_detail.first_name}}</span>\\r\\n                                    <span class=\\\"pull-right\\\">\\r\\n                                        {{order.deliveryman_to_store_time_copy}}'\\r\\n                                    </span>\\r\\n                                </div>\\r\\n                                <div [ngSwitch]=\\\"order.delivery_status\\\">\\r\\n                                    <span *ngSwitchCase=\\\"ORDER_STATE.WAITING_FOR_DELIVERY_MAN\\\"><span class=\\\"label label-info\\\">{{status.waiting_for_delivery_man1 | translate}}</span></span>\\r\\n                                    <span *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_ACCEPTED\\\"><span class=\\\"label label-primary\\\">{{status.delivery_man_accepted1 | translate}}</span></span>\\r\\n                                    <span *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_COMING\\\"><span class=\\\"label label-info\\\">{{status.delivery_man_coming1 | translate}}</span></span>\\r\\n                                    <span *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_ARRIVED\\\"><span class=\\\"label label-info\\\">{{status.delivery_man_arrived1 | translate}}</span></span>\\r\\n                                    <span *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\\\"><span class=\\\"label label-info\\\">{{status.picked_order1 | translate}}</span></span>\\r\\n                                    <span *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_STARTED_DELIVERY\\\"><span class=\\\"label label-info\\\">{{status.started_for_delivery1 | translate}}</span></span>\\r\\n                                    <span *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_ARRIVED_AT_DESTINATION\\\"><span class=\\\"label label-info\\\">{{status.arrived_at_destination1 | translate}}</span></span>\\r\\n                                    <span *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_COMPLETE_DELIVERY\\\"><span class=\\\"label label-primary\\\">{{status.delivered_ordered1 | translate}}</span></span>\\r\\n                                    <span *ngSwitchCase=\\\"ORDER_STATE.STORE_REJECTED\\\"><span class=\\\"label label-danger\\\">{{status.rejected1 | translate}}</span></span>\\r\\n                                    <span *ngSwitchCase=\\\"ORDER_STATE.STORE_CANCELLED\\\"><span class=\\\"label label-danger\\\">{{status.cancelled1 | translate}}</span></span>\\r\\n                                    <span *ngSwitchCase=\\\"ORDER_STATE.NO_DELIVERY_MAN_FOUND\\\"><span class=\\\"label label-danger\\\">{{status.no_delivery_man_found1 | translate}}</span></span>\\r\\n                                    <span *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_REJECTED\\\"><span class=\\\"label label-danger\\\">{{status.delivery_man_rejected1 | translate}}</span></span>\\r\\n                                    <span *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_CANCELLED\\\"><span class=\\\"label label-danger\\\">{{status.delivery_man_cancelled1 | translate}}</span></span>\\r\\n                                    <span *ngSwitchCase=\\\"ORDER_STATE.CANCELED_BY_USER\\\"><span class=\\\"label label-danger\\\">{{status.user_cancelled | translate}}</span></span>\\r\\n                                    <span *ngSwitchCase=\\\"ORDER_STATE.STORE_CANCELLED_REQUEST\\\"><span class=\\\"label label-danger\\\">{{status.cancelled_request1 | translate}}</span></span>\\r\\n                                    <span class=\\\"pull-right\\\">\\r\\n                                        <span class=\\\"label label-danger\\\" *ngIf=\\\"!order.provider_detail\\\" (click)=\\\"orderAssignProvider(order.order_detail._id)\\\" style=\\\"cursor: pointer;\\\">{{helper.button.reassign_delivery_for_provider | translate}}</span>\\r\\n                                    </span>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"text-center\\\" style=\\\"margin-top: 15px;\\\" *ngIf=\\\"order.order_detail.is_schedule_order\\\">\\r\\n                                    <span style=\\\"color: #ed5565;\\\">SCHEDULED ORDER: {{moment(order.order_detail.schedule_order_start_at).subtract(20, 'minutes').tz(order.order_detail.timezone !== '' ? order.order_detail.timezone: 'Asia/Kolkata').format('DD MMM, HH:mm')}}</span>\\r\\n                                </div>\\r\\n                                \\r\\n                            </div>\\r\\n                        </li>\\r\\n                    </ul>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n       <div class=\\\"col-lg-4 col-sm-6\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\">\\r\\n                    <h3>{{helper.heading_title.packed | translate}}</h3>\\r\\n                </div>\\r\\n                <div class=\\\"ibox-content order_fix_div scrollbar\\\">\\r\\n                    <ul class=\\\"sortable-list connectList agile-list\\\">\\r\\n                        <li *ngFor=\\\"let order of requests; let order_index=index;\\\" (click)=\\\"get_request_detail(order._id)\\\" id=\\\"{{order_index}}\\\" [hidden]=\\\"order.order_detail.order_status < helper.ORDER_STATE.OREDER_READY\\\">\\r\\n                            <div>\\r\\n                                <div>\\r\\n                                    <span>#{{order.order_detail.unique_id}}</span>\\r\\n                                </div>\\r\\n                                <div *ngIf=\\\"order.provider_detail && order.delivery_status >= ORDER_STATE.DELIVERY_MAN_ACCEPTED\\\">\\r\\n                                    <span>{{order.provider_detail.first_name}}</span>\\r\\n                                    <span class=\\\"pull-right\\\" *ngIf=\\\"order.delivery_status >= helper.ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\\\">\\r\\n                                        {{order.estimated_time_for_delivery_in_min}}'\\r\\n                                    </span>\\r\\n                                    <span class=\\\"pull-right\\\" *ngIf=\\\"order.delivery_status < helper.ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\\\">\\r\\n                                        {{order.deliveryman_to_store_time_copy}}'\\r\\n                                    </span>\\r\\n                                </div>\\r\\n                                <div [ngSwitch]=\\\"order.delivery_status\\\">\\r\\n                                    <span *ngSwitchCase=\\\"ORDER_STATE.WAITING_FOR_DELIVERY_MAN\\\"><span class=\\\"label label-info\\\">{{status.waiting_for_delivery_man1 | translate}}</span></span>\\r\\n                                    <span *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_ACCEPTED\\\"><span class=\\\"label label-primary\\\">{{status.delivery_man_accepted1 | translate}}</span></span>\\r\\n                                    <span *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_COMING\\\"><span class=\\\"label label-info\\\">{{status.delivery_man_coming1 | translate}}</span></span>\\r\\n                                    <span *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_ARRIVED\\\"><span class=\\\"label label-info\\\">{{status.delivery_man_arrived1 | translate}}</span></span>\\r\\n                                    <span *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\\\"><span class=\\\"label label-info\\\">{{status.picked_order1 | translate}}</span></span>\\r\\n                                    <span *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_STARTED_DELIVERY\\\"><span class=\\\"label label-info\\\">{{status.started_for_delivery1 | translate}}</span></span>\\r\\n                                    <span *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_ARRIVED_AT_DESTINATION\\\"><span class=\\\"label label-info\\\">{{status.arrived_at_destination1 | translate}}</span></span>\\r\\n                                    <span *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_COMPLETE_DELIVERY\\\"><span class=\\\"label label-primary\\\">{{status.delivered_ordered1 | translate}}</span></span>\\r\\n                                    <span *ngSwitchCase=\\\"ORDER_STATE.STORE_REJECTED\\\"><span class=\\\"label label-danger\\\">{{status.rejected1 | translate}}</span></span>\\r\\n                                    <span *ngSwitchCase=\\\"ORDER_STATE.STORE_CANCELLED\\\"><span class=\\\"label label-danger\\\">{{status.cancelled1 | translate}}</span></span>\\r\\n                                    <span *ngSwitchCase=\\\"ORDER_STATE.NO_DELIVERY_MAN_FOUND\\\"><span class=\\\"label label-danger\\\">{{status.no_delivery_man_found1 | translate}}</span></span>\\r\\n                                    <span *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_REJECTED\\\"><span class=\\\"label label-danger\\\">{{status.delivery_man_rejected1 | translate}}</span></span>\\r\\n                                    <span *ngSwitchCase=\\\"ORDER_STATE.DELIVERY_MAN_CANCELLED\\\"><span class=\\\"label label-danger\\\">{{status.delivery_man_cancelled1 | translate}}</span></span>\\r\\n                                    <span *ngSwitchCase=\\\"ORDER_STATE.CANCELED_BY_USER\\\"><span class=\\\"label label-danger\\\">{{status.user_cancelled | translate}}</span></span>\\r\\n                                    <span *ngSwitchCase=\\\"ORDER_STATE.STORE_CANCELLED_REQUEST\\\"><span class=\\\"label label-danger\\\">{{status.cancelled_request1 | translate}}</span></span>\\r\\n                                    <span class=\\\"pull-right\\\">\\r\\n                                        <span class=\\\"label label-danger\\\" *ngIf=\\\"!order.provider_detail\\\" (click)=\\\"orderAssignProvider(order.order_detail._id)\\\" style=\\\"cursor: pointer;\\\">{{helper.button.reassign_delivery_for_provider | translate}}</span>\\r\\n                                    </span>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"text-center\\\" style=\\\"margin-top: 15px;\\\" *ngIf=\\\"order.order_detail.is_schedule_order\\\">\\r\\n                                    <span style=\\\"color: #ed5565;\\\">SCHEDULED ORDER: {{moment(order.order_detail.schedule_order_start_at).subtract(20, 'minutes').tz(order.order_detail.timezone !== '' ? order.order_detail.timezone: 'Asia/Kolkata').format('DD MMM, HH:mm')}}</span>\\r\\n                                </div>\\r\\n                                \\r\\n                            </div>\\r\\n                        </li>\\r\\n                    </ul>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div> -->\\r\\n\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl\\\" #cancel_detail_order_modal>\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n        <h4 class=\\\"modal-title\\\">{{heading_title.cancel_order | translate}}</h4>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n        <div class=\\\"row text-center\\\" style=\\\"font-size: 20px;\\\">\\r\\n            <div style=\\\"margin-bottom: 25px;\\\">You can contact Hop or Customer to resolve conflict.</div>\\r\\n            <div style=\\\"margin-bottom: 25px;\\\">Hop Contact: 0229402288</div>\\r\\n            <div>As cancel order is not just revenue but will affects your reputation</div>\\r\\n        </div>\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-md-6\\\">\\r\\n                <button type=\\\"button\\\" style=\\\"width: 100%;background: #222222;border-color: #222222;\\\" class=\\\"btn btn-danger\\\" (click)=\\\"cancel_detail_order_modal.close()\\\">{{button.ok | translate}}</button>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6\\\">\\r\\n                <button type=\\\"button\\\" style=\\\"width: 100%\\\" class=\\\"btn btn-danger\\\" (click)=\\\"rejectOrCancleOrder()\\\">{{button.cancel | translate}}</button>\\r\\n\\r\\n            </div>\\r\\n        </div>\\r\\n    </modal-footer>\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl\\\" #estimated_time_modal1>\\r\\n\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n        <!-- <h4 class=\\\"modal-title\\\">{{heading_title.cancel_order | translate}}</h4> -->\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n\\r\\n        <div class=\\\"row \\\" style=\\\"padding: 0px 20px;\\\">\\r\\n            <div class=\\\"col-md-12 text-center cancel_order_header\\\" style=\\\"border: 0;\\\">\\r\\n                <div class=\\\"cancel1\\\">Add more minutes to preparation time</div>\\r\\n            </div>\\r\\n            <div class=\\\"stop_new_order_body\\\">\\r\\n                <div class=\\\"row\\\" style=\\\"padding: 20px;\\\">\\r\\n                    <div class=\\\"col-md-4 pad_right\\\">\\r\\n                        <div class=\\\"min_tag\\\" [class.selected_time]=\\\"estimated_time==5\\\" (click)=\\\"add_time(5)\\\">5 min</div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-4 pad_right\\\">\\r\\n                        <div class=\\\"min_tag\\\" [class.selected_time]=\\\"estimated_time==10\\\" (click)=\\\"add_time(10)\\\">10 min</div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-4 pad_right\\\">\\r\\n                        <div class=\\\"min_tag\\\" [class.selected_time]=\\\"estimated_time==20\\\" (click)=\\\"add_time(20)\\\">20 min</div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-4 pad_right\\\">\\r\\n                        <div class=\\\"min_tag\\\" [class.selected_time]=\\\"estimated_time==30\\\" (click)=\\\"add_time(30)\\\">30 min</div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-4 pad_right\\\">\\r\\n                        <div class=\\\"min_tag\\\" [class.selected_time]=\\\"estimated_time==60\\\" (click)=\\\"add_time(60)\\\">60 min</div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <modal-footer>\\r\\n                <div style=\\\"text-align: center;\\\">\\r\\n                    <button type=\\\"button\\\" (click)=\\\"update_estimated_time()\\\" class=\\\"btn accept_button\\\">{{button.add | translate}}</button>\\r\\n                </div>\\r\\n            </modal-footer>\\r\\n        </div>\\r\\n    </modal-body>\\r\\n</modal>\\r\\n\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl\\\" #stop_new_order_modal>\\r\\n\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n        <!-- <h4 class=\\\"modal-title\\\">{{heading_title.cancel_order | translate}}</h4> -->\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n\\r\\n        <div class=\\\"row \\\" style=\\\"padding: 0px 20px;\\\">\\r\\n            <div class=\\\"col-md-12 text-center cancel_order_header\\\">\\r\\n                <div class=\\\"cancel1\\\">What Do You Need To Stop ?</div>\\r\\n            </div>\\r\\n            <div class=\\\"stop_new_order_body\\\">\\r\\n                <div class=\\\"row\\\">\\r\\n                    <div class=\\\"col-md-12 pad\\\" style=\\\"margin-top: 20px;\\\">\\r\\n                        <label><input type=\\\"checkbox\\\" name=\\\"store_order\\\" id=\\\"stop_new0\\\" class=\\\"icheck stop_new\\\" value=\\\"0\\\"/><span style=\\\"margin-left: 10px;\\\">Every type of Orders</span></label>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-6 pad\\\">\\r\\n                        <label><input type=\\\"checkbox\\\" name=\\\"store_order\\\" id=\\\"stop_new1\\\" class=\\\"icheck stop_new\\\" value=\\\"1\\\"/><span style=\\\"margin-left: 10px;\\\">Pickup</span></label>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-6 pad\\\">\\r\\n                        <label><input type=\\\"checkbox\\\" name=\\\"store_order\\\" id=\\\"stop_new2\\\" class=\\\"icheck stop_new\\\" value=\\\"2\\\"/><span style=\\\"margin-left: 10px;\\\">Deliveries</span></label>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"row\\\">\\r\\n                    <label class=\\\"col-md-12\\\" style=\\\"padding: 25px 20px 0 20px;font-weight: 500;\\\">For how Long:</label>\\r\\n                </div>\\r\\n                <div class=\\\"row\\\" style=\\\"padding: 20px 0 10px 7px;\\\">\\r\\n                    <label class=\\\"col-md-3\\\">Time</label>\\r\\n                    <div class=\\\"col-md-3\\\">\\r\\n                        <ui-switch [(ngModel)]=\\\"is_stop_new_order_all_day\\\" name=\\\"is_stop_new_order_all_day\\\"></ui-switch>\\r\\n                    </div>\\r\\n                    <label class=\\\"col-md-3\\\">All the day</label>\\r\\n                </div>\\r\\n                <div class=\\\"row\\\" style=\\\"padding: 20px;\\\">\\r\\n                    <div class=\\\"col-md-4 pad_right\\\">\\r\\n                        <div class=\\\"min_tag\\\" [class.selected_time]=\\\"stop_for_time==5\\\" (click)=\\\"select_time(5)\\\">5 min</div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-4 pad_right\\\">\\r\\n                        <div class=\\\"min_tag\\\" [class.selected_time]=\\\"stop_for_time==10\\\" (click)=\\\"select_time(10)\\\">10 min</div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-4 pad_right\\\">\\r\\n                        <div class=\\\"min_tag\\\" [class.selected_time]=\\\"stop_for_time==20\\\" (click)=\\\"select_time(20)\\\">20 min</div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-4 pad_right\\\">\\r\\n                        <div class=\\\"min_tag\\\" [class.selected_time]=\\\"stop_for_time==30\\\" (click)=\\\"select_time(30)\\\">30 min</div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-4 pad_right\\\">\\r\\n                        <div class=\\\"min_tag\\\" [class.selected_time]=\\\"stop_for_time==60\\\" (click)=\\\"select_time(60)\\\">60 min</div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"row\\\" style=\\\"padding: 20px 0 10px 7px;\\\">\\r\\n                    <div class=\\\"form-group\\\">\\r\\n                        <label class=\\\"col-lg-4 col-xs-4 control-label\\\">Close Till</label>\\r\\n                        <div class=\\\"col-lg-4 col-xs-4 input-group clock-picker\\\" id=\\\"clock-picker\\\" data-placement=\\\"top\\\" data-align=\\\"top\\\" data-autoclose=\\\"true\\\">\\r\\n                            <input type=\\\"time\\\" class=\\\"form-control open\\\" id=\\\"open\\\" [(ngModel)]=\\\"close_till\\\" name=\\\"close_till\\\" readonly required>\\r\\n                            <span class=\\\"input-group-addon\\\">\\r\\n                                <span class=\\\"fa fa-clock-o\\\"></span>\\r\\n                            </span>\\r\\n                            <span *ngIf=\\\"close_till\\\" class=\\\"fa fa-remove\\\" (click)=\\\"close_till=''\\\" style=\\\"float: right;padding: 10px;\\\"></span>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <modal-footer>\\r\\n                <div style=\\\"text-align: center;\\\">\\r\\n                    <button type=\\\"button\\\" (click)=\\\"stop_order_submit()\\\" class=\\\"btn accept_button\\\">{{button.submit | translate}}</button>\\r\\n                </div>\\r\\n            </modal-footer>\\r\\n        </div>\\r\\n    </modal-body>\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl\\\" #cancel_order_modal>\\r\\n\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n        <!-- <h4 class=\\\"modal-title\\\">{{heading_title.cancel_order | translate}}</h4> -->\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n\\r\\n        <div class=\\\"row \\\" style=\\\"padding: 0px 20px;\\\" *ngIf=\\\"order_detail && order_detail.user_detail\\\">\\r\\n            <div class=\\\"col-md-12 text-center cancel_order_header\\\">\\r\\n                <div class=\\\"cancel1\\\">Cancel Order #{{order_detail.unique_id}}</div>\\r\\n                <div class=\\\"cancel2\\\">{{order_detail.user_detail.first_name}} {{order_detail.user_detail.last_name}} ({{order_detail.user_detail.unique_id}})</div>\\r\\n                <div class=\\\"cancel3\\\">{{order_detail.user_detail.country_phone_code}} {{order_detail.user_detail.phone}}, {{order_detail.user_detail.email}}</div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"row\\\" style=\\\"padding-top: 20px;\\\">\\r\\n            <div class=\\\"radio\\\">\\r\\n                <label><input type=\\\"radio\\\" class=\\\"iradio\\\" id=\\\"default_reason\\\" name=\\\"cancel_reason\\\" value=\\\"Enter Your Reason\\\" ><span\\r\\n                        style=\\\"margin-left: 10px;\\\">Too busy to deliver on time</span></label>\\r\\n            </div>\\r\\n            <div class=\\\"radio\\\">\\r\\n                <label><input type=\\\"radio\\\" class=\\\"iradio\\\" name=\\\"cancel_reason\\\" value=\\\"Enter Your Reason\\\"><span\\r\\n                        style=\\\"margin-left: 10px;\\\">Service is not in list</span></label>\\r\\n            </div>\\r\\n            <div class=\\\"radio\\\">\\r\\n                <label><input type=\\\"radio\\\" class=\\\"iradio\\\" name=\\\"cancel_reason\\\" value=\\\"1\\\"><span\\r\\n                        style=\\\"margin-left: 10px;\\\">.....</span></label>\\r\\n            </div>\\r\\n            <div style=\\\"display: none;padding: 20px;\\\" id=\\\"text_box\\\" >\\r\\n                <input type=\\\"text\\\" class=\\\"form-control\\\" placeholder=\\\"Reason\\\" [(ngModel)]=\\\"cancel_reason\\\" name=\\\"cancel_reason\\\" required/>\\r\\n            </div>\\r\\n        </div>\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n        <div style=\\\"text-align: center;\\\">\\r\\n            <button type=\\\"button\\\" class=\\\"btn btn-danger\\\" (click)=\\\"cancelservice()\\\">{{button.cancel | translate}}</button>\\r\\n        </div>\\r\\n    </modal-footer>\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-sm\\\" #complete_order_modal>\\r\\n\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n        <h4 class=\\\"modal-title\\\">{{heading_title.complete_order | translate}}</h4>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n        <div class=\\\"row\\\">\\r\\n            <div *ngIf=\\\"conf_code_error_message\\\">\\r\\n                <label style=\\\"color: red;\\\">{{helper.validation_message.confirmation_code_wrong | translate}}</label>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"form-group\\\" id=\\\"otp_for_sms\\\">\\r\\n                <label>{{title.confirmation_code | translate}}</label>\\r\\n                <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"confirmation_code\\\" name=\\\"confirmation_code\\\" >\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n        <div style=\\\"text-align: center;\\\">\\r\\n            <button type=\\\"button\\\" class=\\\"btn btn-black\\\" (click)=\\\"completeDelivery()\\\">{{button.submit | translate}}</button>\\r\\n        </div>\\r\\n    </modal-footer>\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl\\\" #additemModal>\\r\\n    <form method=\\\"post\\\" #orderAssignProviderForm=\\\"ngForm\\\" (ngSubmit)=\\\"orderAssignProvider(order_id)\\\">\\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <label>{{heading_title.estimated_time_for_ready_order | translate}}</label>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div class=\\\"order_items\\\" *ngFor=\\\"let product of filtered_product_list;  let product_index=index; \\\">\\r\\n                <div class=\\\"product_title1\\\">\\r\\n                  <span>{{product.name}}</span>\\r\\n                  <span class=\\\"pull-right\\\" *ngIf=\\\"!product.is_show\\\" (click)=\\\"product.is_show=true\\\">+</span>\\r\\n                  <span class=\\\"pull-right\\\" *ngIf=\\\"product.is_show\\\" (click)=\\\"product.is_show=false\\\">-</span>\\r\\n                </div>\\r\\n                <div class=\\\"order_item_detail1\\\" *ngFor=\\\"let item of product.items; let item_index=index; \\\" [hidden]=\\\"!product.is_show\\\">\\r\\n                  <div (click)=\\\"open_item_modal(item , item_index , product_index, $event)\\\">\\r\\n                    <span>{{item.name}} </span>\\r\\n                    <span class=\\\"pull-right\\\">{{item.price}} </span>\\r\\n                  </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </modal-body>\\r\\n    </form>\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-sm\\\" #estimated_time_modal>\\r\\n    <form method=\\\"post\\\" #orderAssignProviderForm=\\\"ngForm\\\" (ngSubmit)=\\\"orderAssignProvider(order_id)\\\">\\r\\n        <modal-header>\\r\\n            <label>{{heading_title.estimated_time_for_ready_order | translate}}</label>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div class=\\\"row\\\">\\r\\n\\r\\n                <div class=\\\"form-group\\\">\\r\\n\\r\\n                    <input type=\\\"text\\\" class=\\\"form-control\\\" (keypress)=\\\"helper.number_validation($event)\\\" [(ngModel)]=\\\"estimated_time\\\" name=\\\"estimated_time\\\" required >\\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center;\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-black\\\">{{button.submit | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\\r\\n\\r\\n<modal id=\\\"order_detail_modal\\\" #order_detail_modal>\\r\\n    <modal-header>\\r\\n        <div class=\\\"text-center\\\">\\r\\n            <label (click)=\\\"order_detail_modal.close()\\\" style=\\\"cursor: pointer;float: left;\\\"><span class=\\\"fa fa-arrow-left\\\" style=\\\"padding-right: 2px;\\\"></span>{{heading_title.back | translate}}</label>\\r\\n            <span class=\\\"text-center\\\" *ngIf=\\\"order_detail.is_schedule_order && !order_detail.order_detail\\\">\\r\\n                <span style=\\\"color: #ed5565;font-size: 18px;\\\">SCHEDULED ORDER: {{moment(order_detail.schedule_order_start_at).subtract(20, 'minutes').tz(order_detail.timezone !== '' ? order_detail.timezone: 'Asia/Kolkata').format('DD MMM, hh:mm')}}</span>\\r\\n            </span>\\r\\n\\r\\n            <span class=\\\"text-center\\\" *ngIf=\\\"order_detail.order_detail  && order_detail.order_detail.is_schedule_orde\\\">\\r\\n                <span style=\\\"color: #ed5565;font-size: 18px;\\\">SCHEDULED ORDER: {{moment(order_detail.order_detail.schedule_order_start_at).subtract(20, 'minutes').tz(order_detail.order_detail.timezone !== '' ? order_detail.order_detail.timezone: 'Asia/Kolkata').format('DD MMM, hh:mm')}}</span>\\r\\n            </span>\\r\\n        </div>\\r\\n    </modal-header>\\r\\n    <modal-body style=\\\"padding: 0;\\\">\\r\\n        <div class=\\\"row no_margin\\\" style=\\\"border-bottom: 1px solid #caacac;\\\">\\r\\n            <div class=\\\"col-md-4 text-center header_div\\\" *ngIf=\\\"order_detail.order_detail\\\">\\r\\n                <span>#{{order_detail.order_detail.unique_id}}</span><br>\\r\\n                <span>{{order_detail.remaining_time}}'</span>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-4 text-center header_div\\\" *ngIf=\\\"!order_detail.order_detail\\\">\\r\\n                <span>#{{order_detail.unique_id}}</span><br>\\r\\n                <span>{{order_detail.remaining_time}}'</span>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-4 text-center header_div\\\" style=\\\"border-left: 1px solid #caacac; border-right: 1px solid #caacac;\\\">\\r\\n                <span *ngIf=\\\"order_detail.provider_detail\\\">\\r\\n                    <span *ngIf=\\\"order_detail.delivery_status >= ORDER_STATE.DELIVERY_MAN_ACCEPTED\\\">{{order_detail.provider_detail.first_name}}</span><br>\\r\\n                    <span>\\r\\n                        {{order_detail.deliveryman_to_store_time_copy}}'\\r\\n                    </span>\\r\\n                </span>\\r\\n                <span *ngIf=\\\"!order_detail.provider_detail && order_detail.order_detail\\\" (click)=\\\"orderAssignProvider(order_detail.order_detail._id)\\\">\\r\\n                    <span style=\\\"cursor: pointer;\\\">{{helper.button.reassign_delivery_for_provider | translate}}</span>\\r\\n                </span>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-4 text-center header_div\\\" (click)=\\\"print()\\\">\\r\\n                <span style=\\\"cursor: pointer;\\\">{{title.print | translate}}</span>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div *ngIf=\\\"order_detail.cart_detail\\\"> \\r\\n            <div class=\\\"row no_margin\\\" *ngFor=\\\"let products of order_detail.cart_detail.order_details; let product_index=index;\\\" style=\\\"border-bottom: 1px solid #caacac;font-size: 15px;\\\">\\r\\n                <div class=\\\"row no_margin\\\">\\r\\n                    <div class=\\\"col-md-2 text-center\\\">\\r\\n                        \\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-8 no_padding\\\" style=\\\"border-left: 1px solid #caacac; border-right: 1px solid #caacac;\\\">\\r\\n                        <span style=\\\"padding-left: 15px;padding-right: 15px;border-bottom: 1px solid #caacac;border-right: 1px solid #caacac;\\\">{{products.product_name}}</span>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-2 text-center\\\">\\r\\n\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"row no_margin\\\" *ngFor=\\\"let item of products.items; let odd=odd; let item_index=index;\\\">\\r\\n                    <div class=\\\"col-md-2 text-center\\\">\\r\\n                        <div style=\\\"padding-top: 5px;padding-bottom: 5px;\\\"><span>{{item.quantity}}x</span></div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-8\\\" style=\\\"border-left: 1px solid #caacac; border-right: 1px solid #caacac;\\\">\\r\\n                        <div style=\\\"padding-top: 5px;padding-bottom: 5px;\\\"><span style=\\\"padding-left: 15px;\\\">- {{item.item_name}}</span></div>\\r\\n                        <div *ngFor=\\\"let specification_group of item.specifications; let odd=odd;\\\">\\r\\n                            <div style=\\\"padding-top: 5px;padding-bottom: 5px;\\\"><span style=\\\"padding-left: 30px;\\\">. {{specification_group.name}} (<span *ngFor=\\\"let sp of specification_group.list\\\">{{sp.name}}</span>) </span></div>\\r\\n                        </div>\\r\\n                        <div *ngIf=\\\"item.note_for_item\\\" style=\\\"padding-top: 5px;padding-bottom: 5px;\\\"><span style=\\\"padding-left: 15px;color: red;\\\">Note : {{item.note_for_item}}</span></div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-2 text-center\\\">\\r\\n                        <div *ngIf=\\\"order_detail.order_detail && order_detail.order_detail.order_status !== ORDER_STATE.OREDER_READY\\\">\\r\\n                            <input type=\\\"checkbox\\\" class=\\\"icheck\\\" [checked]=\\\"item.is_ready\\\" id=\\\"{{item.item_id}}\\\" value=\\\"{{item.item_id}}\\\"/>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"row no_margin\\\" style=\\\"border-bottom: 1px solid #caacac;color: black;\\\">\\r\\n            <div class=\\\"col-md-2 text-center header_div\\\" style=\\\"background: #ff00009c;\\\" *ngIf=\\\"!order_detail.already_cancelled && !order_detail.order_detail\\\" (click)=\\\"CancleOrder({order_id: order_detail._id, order_status:ORDER_STATE.STORE_REJECTED})\\\">\\r\\n                <span style=\\\"cursor: pointer;\\\">{{helper.button.cancel | translate}}</span>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-2 text-center header_div\\\" style=\\\"background: #ff00009c;\\\" *ngIf=\\\"!order_detail.already_cancelled && order_detail.order_detail\\\" (click)=\\\"CancleOrder({order_id: order_detail.order_detail._id, order_status:ORDER_STATE.STORE_CANCELLED})\\\">\\r\\n                <span style=\\\"cursor: pointer;\\\">{{helper.button.cancel | translate}}</span>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-2 text-center header_div\\\" *ngIf=\\\"order_detail.already_cancelled\\\" (click)=\\\"undoOrder(order_detail.order_detail._id)\\\">\\r\\n                <!-- <span>undo</span> -->\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-8 text-center header_div\\\" *ngIf=\\\"!order_detail.order_detail\\\" (click)=\\\"orderStatus(ORDER_STATE.STORE_ACCEPTED, order_detail._id, order_detail.order_type)\\\" style=\\\"background: #008000ad;border-left: 1px solid; border-right: 1px solid #caacac;\\\">\\r\\n                <span style=\\\"cursor: pointer;\\\">{{title.confirmer | translate}}</span>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-8 text-center header_div\\\" *ngIf=\\\"order_detail.order_detail && order_detail.ready_full_order && order_detail.order_detail.order_status !== ORDER_STATE.OREDER_READY\\\" style=\\\"border-left: 1px solid #caacac; border-right: 1px solid #caacac;background: #0000ff8c;\\\">\\r\\n                <span style=\\\"cursor: pointer;\\\" *ngIf=\\\"order_detail.ready_full_order && order_detail.order_detail.order_status !== ORDER_STATE.OREDER_READY\\\" (click)=\\\"orderStatus(ORDER_STATE.OREDER_READY, order_detail.order_detail._id, order_detail.order_type)\\\">{{title.hop | translate}}</span>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-8 text-center header_div\\\" *ngIf=\\\"order_detail.order_detail && (!order_detail.ready_full_order || order_detail.order_detail.order_status == ORDER_STATE.OREDER_READY)\\\" style=\\\"border-left: 1px solid #caacac; border-right: 1px solid #caacac;\\\">\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-2 text-center header_div\\\" *ngIf=\\\"order_detail.order_detail && order_detail.order_detail.order_status !== ORDER_STATE.OREDER_READY\\\" style=\\\"background: #008000ad;\\\">\\r\\n                <span style=\\\"cursor: pointer;\\\" (click)=\\\"ready_all_item()\\\">{{title.tout_validator | translate}}</span>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n    </modal-body>\\r\\n</modal>\\r\\n\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl animated\\\" #edititemModal\\r\\n       style=\\\"overflow: scroll; z-index: 9999999 !important;\\\">\\r\\n\\r\\n  <div class=\\\"modal-header\\\" style=\\\"padding: 0 !important;\\\">\\r\\n    <img class=\\\"remove_image item_modal_close\\\" (click)=\\\"close_item_modal()\\\" src=\\\"images/cross_white.png\\\" />\\r\\n    <div class=\\\"item_modal_image_shaddow\\\">\\r\\n\\r\\n    </div>\\r\\n    <div id=\\\"myCarousel\\\" class=\\\"carousel slide\\\" data-ride=\\\"carousel\\\">\\r\\n\\r\\n      <ol class=\\\"carousel-indicators\\\">\\r\\n        <li class=\\\"a\\\" *ngFor=\\\"let image of current_item.image_url; let image_index=index; let first=first;\\\"\\r\\n            id=\\\"aa{{image_index}}\\\" [attr.data-target]=\\\"'#myCarousel'\\\" [attr.data-slide-to]=\\\"image_index\\\"\\r\\n            [class.active]=\\\"first\\\">\\r\\n        </li>\\r\\n        <li *ngIf=\\\"current_item.image_url.length == 0\\\" class=\\\"a active\\\" [attr.data-target]=\\\"'#myCarousel'\\\" [attr.data-slide-to]=\\\"1\\\">\\r\\n        </li>\\r\\n      </ol>\\r\\n\\r\\n      <div class=\\\"carousel-inner\\\" (dragstart)=\\\"dragstart_image($event)\\\"\\r\\n           (dragend)=\\\"dragend_image($event, current_item.image_url.length)\\\">\\r\\n        <div *ngFor=\\\"let image of current_item.image_url; let image_index=index; let first=first;\\\" class=\\\"item\\\"\\r\\n             [class.active]=\\\"first\\\">\\r\\n          <img class=\\\"animated fadeInRight\\\" src=\\\"{{helper.CONSTANT.IMAGE_BASE_URL + image}}\\\" alt=\\\"Los Angeles\\\"\\r\\n               style=\\\"width:100%;height: 230px;object-fit: cover;\\\">\\r\\n        </div>\\r\\n        <div *ngIf=\\\"current_item.image_url.length == 0\\\" class=\\\"item active\\\">\\r\\n          <img class=\\\"animated fadeInRight\\\" src=\\\"default.png\\\" alt=\\\"Los Angeles\\\"\\r\\n               style=\\\"width:100%;height: 230px;object-fit: cover;\\\">\\r\\n        </div>\\r\\n      </div>\\r\\n\\r\\n    </div>\\r\\n  </div>\\r\\n  <div class=\\\"modal-body\\\" style=\\\"padding-bottom: 10px;\\\">\\r\\n    <div class=\\\"\\\">\\r\\n      <h1 class=\\\"modalbodyhead\\\" *ngIf=\\\"total\\\">{{current_item.name}}</h1>\\r\\n      <p class=\\\"modalbodytext\\\" *ngIf=\\\"total\\\">{{current_item.details}}</p>\\r\\n\\r\\n      <div *ngFor=\\\"let specification_group of current_item.specifications; let specification_group_index = index;\\\">\\r\\n        <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\r\\n          <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n            <h1 class=\\\"radioheader\\\">{{specification_group.name}}</h1>\\r\\n          </div>\\r\\n          <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n            <h1 *ngIf=\\\"specification_group.is_required\\\" class=\\\"radioheader pull-right\\\"\\r\\n                style=\\\"color: #cb212e;\\\">{{title.required | translate}}</h1>\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"radio1\\\">\\r\\n          <div *ngIf=\\\"specification_group.type==1\\\">\\r\\n            <div *ngFor=\\\"let specification of specification_group.list; let specification_index = index;\\\"\\r\\n                 class=\\\"radio\\\" style=\\\"margin-top: 0px; margin-bottom: 0px;\\\">\\r\\n              <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\r\\n\\r\\n                <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n                  <label>\\r\\n                    <!--<input type=\\\"radio\\\"-->\\r\\n                    <!--(change)=\\\"changeradio($event, specification_group_index, specification_index)\\\"-->\\r\\n                    <!--[checked]=\\\"specification.is_default_selected\\\" class=\\\"walnut\\\">{{specification.name}}-->\\r\\n                    <div style=\\\"padding-left: 24px;\\\" class=\\\"iradio_square-green\\\"\\r\\n                         [class.checked]=\\\"specification.is_default_selected\\\">\\r\\n                      <input type=\\\"radio\\\" style=\\\"opacity:0\\\"\\r\\n                             (change)=\\\"changeradio($event, specification_group_index, specification_index)\\\"\\r\\n                             [checked]=\\\"specification.is_default_selected\\\" class=\\\"walnut\\\">\\r\\n                    </div>\\r\\n                    <span style=\\\"margin-left: 10px;\\\">{{specification.name}}</span>\\r\\n\\r\\n                  </label>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n                  <label *ngIf=\\\"specification.price>0\\\" class=\\\"pull-right\\\">{{currency}}{{specification.price}}</label>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n          <div *ngIf=\\\"specification_group.type==2\\\">\\r\\n            <div *ngFor=\\\"let specification of specification_group.list; let specification_index = index;\\\"\\r\\n                 class=\\\"checkbox\\\" style=\\\"margin-top: 0px; margin-bottom: 0px;\\\">\\r\\n              <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\r\\n                <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n                  <label>\\r\\n                    <div style=\\\"padding-left: 24px;\\\" class=\\\"icheckbox_square-green\\\"\\r\\n                         [class.checked]=\\\"specification.is_default_selected\\\">\\r\\n                      <input type=\\\"checkbox\\\" style=\\\"opacity:0\\\"\\r\\n                             (change)=\\\"changecheckbox($event, specification_group_index, specification_index)\\\"\\r\\n                             [checked]=\\\"specification.is_default_selected\\\" class=\\\"walnut\\\">\\r\\n                    </div>\\r\\n                    <span style=\\\"margin-left: 10px;\\\">{{specification.name}}</span>\\r\\n                  </label>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n                  <label *ngIf=\\\"specification.price>0\\\" class=\\\"pull-right\\\">{{currency}}{{specification.price}}</label>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n    <div class=\\\"row\\\" style=\\\"margin: 0;text-align: center; color:black; margin-top: 20px;font-family: myFirstFont;\\\">\\r\\n        <div class=\\\"col-md-4 col-sm-4 col-xs-2\\\"></div>\\r\\n        <div class=\\\"col-md-4 col-sm-4 col-xs-8\\\" style=\\\"border:1px solid;border-radius: 10px;\\\">\\r\\n          <div style=\\\"display: inline-block;\\\">\\r\\n            <i (click)=\\\"decrease_qty()\\\" class=\\\"fa fa-minus\\\" aria-hidden=\\\"true\\\"></i>\\r\\n          </div>\\r\\n          <div style=\\\"display: inline-block;padding-left: 40px;padding-right: 40px;\\\">\\r\\n            <h4 class=\\\"num\\\" style=\\\"margin-top: 10px;\\\">{{qty}}</h4>\\r\\n          </div>\\r\\n          <div style=\\\"display: inline-block;\\\">\\r\\n            <i (click)=\\\"increase_qty()\\\" class=\\\"fa fa-plus\\\" aria-hidden=\\\"true\\\"></i>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n  </div>\\r\\n\\r\\n  <div class=\\\"modal-footer\\\" style=\\\"background-color: black;\\\">\\r\\n    <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\r\\n\\r\\n      <button [disabled]=\\\"required_count !== required_temp_count\\\" (click)=\\\"updateCart()\\\"\\r\\n              style=\\\"width: 100%;background-color: black;border: 0;\\\">\\r\\n        <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n          <h1 class=\\\"totalprice\\\" style=\\\"float: left;\\\">{{button.update_item | translate}}</h1>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\" *ngIf=\\\"total\\\">\\r\\n          <h1 class=\\\"totalprice\\\">{{currency}}{{total}}</h1>\\r\\n        </div>\\r\\n      </button>\\r\\n    </div>\\r\\n  </div>\\r\\n\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl animated\\\" #item_modal\\r\\n       style=\\\"overflow: scroll; z-index: 9999999 !important;\\\">\\r\\n\\r\\n  <div class=\\\"modal-header\\\" style=\\\"padding: 0 !important;\\\">\\r\\n    <img class=\\\"remove_image item_modal_close\\\" (click)=\\\"close_item_modal()\\\" src=\\\"images/cross_white.png\\\" />\\r\\n    <div class=\\\"item_modal_image_shaddow\\\">\\r\\n\\r\\n    </div>\\r\\n    <div id=\\\"myCarousel\\\" class=\\\"carousel slide\\\" data-ride=\\\"carousel\\\">\\r\\n\\r\\n      <ol class=\\\"carousel-indicators\\\">\\r\\n        <li class=\\\"a\\\" *ngFor=\\\"let image of current_item.image_url; let image_index=index; let first=first;\\\"\\r\\n            id=\\\"aa{{image_index}}\\\" [attr.data-target]=\\\"'#myCarousel'\\\" [attr.data-slide-to]=\\\"image_index\\\"\\r\\n            [class.active]=\\\"first\\\">\\r\\n        </li>\\r\\n        <li *ngIf=\\\"current_item.image_url.length == 0\\\" class=\\\"a active\\\" [attr.data-target]=\\\"'#myCarousel'\\\" [attr.data-slide-to]=\\\"1\\\">\\r\\n        </li>\\r\\n      </ol>\\r\\n\\r\\n      <div class=\\\"carousel-inner\\\" (dragstart)=\\\"dragstart_image($event)\\\"\\r\\n           (dragend)=\\\"dragend_image($event, current_item.image_url.length)\\\">\\r\\n        <div *ngFor=\\\"let image of current_item.image_url; let image_index=index; let first=first;\\\" class=\\\"item\\\"\\r\\n             [class.active]=\\\"first\\\">\\r\\n          <img class=\\\"animated fadeInRight\\\" src=\\\"{{helper.CONSTANT.IMAGE_BASE_URL + image}}\\\" alt=\\\"Los Angeles\\\"\\r\\n               style=\\\"width:100%;height: 230px;object-fit: cover;\\\">\\r\\n        </div>\\r\\n        <div *ngIf=\\\"current_item.image_url.length == 0\\\" class=\\\"item active\\\">\\r\\n          <img class=\\\"animated fadeInRight\\\" src=\\\"default.png\\\" alt=\\\"Los Angeles\\\"\\r\\n               style=\\\"width:100%;height: 230px;object-fit: cover;\\\">\\r\\n        </div>\\r\\n      </div>\\r\\n\\r\\n    </div>\\r\\n  </div>\\r\\n  <div class=\\\"modal-body\\\" style=\\\"padding-bottom: 10px;\\\">\\r\\n    <div class=\\\"\\\">\\r\\n      <h1 class=\\\"modalbodyhead\\\" *ngIf=\\\"total\\\">{{current_item.name}}</h1>\\r\\n      <p class=\\\"modalbodytext\\\" *ngIf=\\\"total\\\">{{current_item.details}}</p>\\r\\n\\r\\n      <div *ngFor=\\\"let specification_group of current_item.specifications; let specification_group_index = index;\\\">\\r\\n        <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\r\\n          <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n            <h1 class=\\\"radioheader\\\">{{specification_group.name}}</h1>\\r\\n          </div>\\r\\n          <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n            <h1 *ngIf=\\\"specification_group.is_required\\\" class=\\\"radioheader pull-right\\\"\\r\\n                style=\\\"color: #cb212e;\\\">{{title.required | translate}}</h1>\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"radio1\\\">\\r\\n          <div *ngIf=\\\"specification_group.type==1\\\">\\r\\n            <div *ngFor=\\\"let specification of specification_group.list; let specification_index = index;\\\"\\r\\n                 class=\\\"radio\\\" style=\\\"margin-top: 0px; margin-bottom: 0px;\\\">\\r\\n              <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\r\\n\\r\\n                <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n                  <label>\\r\\n                    <!--<input type=\\\"radio\\\"-->\\r\\n                    <!--(change)=\\\"changeradio($event, specification_group_index, specification_index)\\\"-->\\r\\n                    <!--[checked]=\\\"specification.is_default_selected\\\" class=\\\"walnut\\\">{{specification.name}}-->\\r\\n                    <div style=\\\"padding-left: 24px;\\\" class=\\\"iradio_square-green\\\"\\r\\n                         [class.checked]=\\\"specification.is_default_selected\\\">\\r\\n                      <input type=\\\"radio\\\" style=\\\"opacity:0\\\"\\r\\n                             (change)=\\\"changeradio($event, specification_group_index, specification_index)\\\"\\r\\n                             [checked]=\\\"specification.is_default_selected\\\" class=\\\"walnut\\\">\\r\\n                    </div>\\r\\n                    <span style=\\\"margin-left: 10px;\\\">{{specification.name}}</span>\\r\\n\\r\\n                  </label>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n                  <label *ngIf=\\\"specification.price>0\\\" class=\\\"pull-right\\\">{{currency}}{{specification.price}}</label>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n          <div *ngIf=\\\"specification_group.type==2\\\">\\r\\n            <div *ngFor=\\\"let specification of specification_group.list; let specification_index = index;\\\"\\r\\n                 class=\\\"checkbox\\\" style=\\\"margin-top: 0px; margin-bottom: 0px;\\\">\\r\\n              <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\r\\n                <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n                  <label>\\r\\n                    <div style=\\\"padding-left: 24px;\\\" class=\\\"icheckbox_square-green\\\"\\r\\n                         [class.checked]=\\\"specification.is_default_selected\\\">\\r\\n                      <input type=\\\"checkbox\\\" style=\\\"opacity:0\\\"\\r\\n                             (change)=\\\"changecheckbox($event, specification_group_index, specification_index)\\\"\\r\\n                             [checked]=\\\"specification.is_default_selected\\\" class=\\\"walnut\\\">\\r\\n                    </div>\\r\\n                    <span style=\\\"margin-left: 10px;\\\">{{specification.name}}</span>\\r\\n                  </label>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n                  <label *ngIf=\\\"specification.price>0\\\" class=\\\"pull-right\\\">{{currency}}{{specification.price}}</label>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n\\r\\n      <div class=\\\"row\\\" style=\\\"margin: 0;text-align: center; color:black; margin-top: 20px;font-family: myFirstFont;\\\">\\r\\n        <textarea class=\\\"delnote\\\" name=\\\"note_for_item\\\" [(ngModel)]=\\\"note_for_item\\\" style=\\\"width: 100%;max-width: 100%; max-height: 80px;\\\" placeholder=\\\"Add Delivery Note\\\"></textarea>\\r\\n      </div>\\r\\n\\r\\n      <div class=\\\"row\\\" style=\\\"margin: 0;text-align: center; color:black; margin-top: 20px;font-family: myFirstFont;\\\">\\r\\n        <div class=\\\"col-md-4 col-sm-4 col-xs-2\\\"></div>\\r\\n        <div class=\\\"col-md-4 col-sm-4 col-xs-8\\\" style=\\\"border:1px solid;border-radius: 10px;\\\">\\r\\n          <div style=\\\"display: inline-block;\\\">\\r\\n            <i (click)=\\\"newitem_decrease_qty()\\\" class=\\\"fa fa-minus\\\" aria-hidden=\\\"true\\\"></i>\\r\\n          </div>\\r\\n          <div style=\\\"display: inline-block;padding-left: 40px;padding-right: 40px;\\\">\\r\\n            <h4 class=\\\"num\\\" style=\\\"margin-top: 10px;\\\">{{qty}}</h4>\\r\\n          </div>\\r\\n          <div style=\\\"display: inline-block;\\\">\\r\\n            <i (click)=\\\"newitem_incerase_qty()\\\" class=\\\"fa fa-plus\\\" aria-hidden=\\\"true\\\"></i>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n\\r\\n  <div class=\\\"modal-footer\\\" style=\\\"background-color: black;\\\">\\r\\n    <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\r\\n\\r\\n      <button [disabled]=\\\"required_count !== required_temp_count\\\" (click)=\\\"addToCart()\\\"\\r\\n              style=\\\"width: 100%;background-color: black;border: 0;\\\">\\r\\n        <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n          <h1 class=\\\"totalprice\\\" style=\\\"float: left;\\\">{{button.add_item | translate}}</h1>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\" *ngIf=\\\"total\\\"> \\r\\n          <h1 class=\\\"totalprice\\\">{{currency}}{{total}}</h1>\\r\\n        </div>\\r\\n      </button>\\r\\n    </div>\\r\\n  </div>\\r\\n\\r\\n</modal>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/store/order_new/order.component.html\n// module id = 1703\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n\\r\\n\\r\\n    <div class=\\\"wrapper wrapper-content animated fadeInRight content_top_bar\\\">\\r\\n\\r\\n        \\r\\n        <div class=\\\"row\\\">\\r\\n\\r\\n            <div class=\\\"col-md-6 col-sm-12\\\" *ngIf=\\\"store_edit.account_id\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"padding: 0;min-height: 35px !important;\\\">\\r\\n                        <label style=\\\"margin-left: 15px;margin-top: 9px;\\\" class=\\\"control-label\\\">{{heading_title.bank_detail | translate}}</label>\\r\\n                        <!-- <button type=\\\"submit\\\" (click)=\\\"delete_bank_detail()\\\" class=\\\"btn btn-primary pull-right\\\">{{button.delete | translate}}</button> -->\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content\\\" style=\\\"overflow: auto;\\\">\\r\\n                        <!-- <div class=\\\"row col-md-12 remove_padding\\\"><label class=\\\"col-lg-4  col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.bank_id | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n                            <div class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                                {{store_edit.bank_id }}\\r\\n                            </div>\\r\\n                        </div> -->\\r\\n                        <div class=\\\"row col-md-12 remove_padding\\\"><label class=\\\"col-lg-4  col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.account_id | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n                            <div class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                                {{store_edit.account_id }}\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"row col-md-12 remove_padding\\\"><label class=\\\"col-lg-4  col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.bank_account_holder_name | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n                            <div class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                                {{store_edit.bank_account_holder_name }}\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"row col-md-12 remove_padding\\\"><label class=\\\"col-lg-4  col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.account_number | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n                            <div class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                                {{store_edit.account_number }}\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"row col-md-12 remove_padding\\\"><label class=\\\"col-lg-4  col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.last_transfer_date | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n                            <div class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                                {{store_edit.last_transfer_date | date: \\\"MM-dd-yyyy\\\"}}\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"text-center\\\">\\r\\n                            <button type=\\\"submit\\\" *ngIf=\\\"!store_edit.details_submitted\\\" (click)=\\\"UpdateBankDetail()\\\" class=\\\"btn btn-primary\\\">Update Missing Info</button>\\r\\n                            <button (click)=\\\"delete_bank_detail()\\\" class=\\\"btn btn-danger edit_option_mobile_screen profile_update\\\" type=\\\"button\\\">{{button.delete | translate}}</button>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-6 col-sm-12\\\" *ngIf=\\\"!store_edit.account_id\\\">\\r\\n                <form #bankDetailForm=\\\"ngForm\\\" (ngSubmit)=\\\"UpdateBankDetail()\\\" novalidate>\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"padding: 0;min-height: 35px !important;\\\">\\r\\n                            <label style=\\\"margin-left: 15px;margin-top: 9px;\\\" class=\\\"control-label\\\">{{heading_title.bank_detail | translate}}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content\\\" style=\\\"overflow: auto;\\\">\\r\\n                            <!-- <div class=\\\"row col-md-12 remove_padding\\\">\\r\\n                                <label class=\\\"col-lg-4 col-sm-4 remove_padding control-label\\\">{{title.bank_account_holder_name | translate}}</label>\\r\\n                                <div class=\\\"col-lg-8 col-sm-8 form-group\\\">\\r\\n                                    <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"bank_detail.bank_account_holder_name\\\" #bank_account_holder_name=\\\"ngModel\\\" name=\\\"bank_account_holder_name\\\" required/>\\r\\n                                    <div *ngIf=\\\"bank_account_holder_name.required\\\">\\r\\n                                        <div style=\\\"color: red;\\\" [hidden]=\\\"!bank_account_holder_name.errors.minlength\\\">{{validation_message.name_required | translate}}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"row col-md-12 remove_padding\\\">\\r\\n                                <label class=\\\"col-lg-4 col-sm-4 remove_padding control-label\\\">{{title.account_number | translate}}</label>\\r\\n                                <div class=\\\"col-lg-8 col-sm-8 form-group\\\">\\r\\n                                    <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"bank_detail.account_number\\\" #account_number=\\\"ngModel\\\" name=\\\"account_number\\\" required/>\\r\\n                                    <div *ngIf=\\\"account_number.required\\\">\\r\\n                                        <div style=\\\"color: red;\\\" [hidden]=\\\"!account_number.errors.minlength\\\">{{validation_message.name_required | translate}}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div> -->\\r\\n\\r\\n                            <!-- <div class=\\\"row col-md-12 remove_padding\\\">\\r\\n                                <label class=\\\"col-lg-4 col-sm-4 remove_padding control-label\\\">{{title.date_of_birth | translate}}</label>\\r\\n                                <div class=\\\"col-lg-8 col-sm-8 form-group\\\">\\r\\n                                    <my-date-picker [options]=\\\"helper.myBirthDatePickerOptions\\\" placeholder=\\\"Date Of Birth\\\" [(ngModel)]=\\\"bank_detail.dob\\\" #dob=\\\"ngModel\\\" name=\\\"dob\\\" readonly required></my-date-picker>\\r\\n                                    <div *ngIf=\\\"dob.required\\\">\\r\\n                                        <div style=\\\"color: red;\\\" [hidden]=\\\"!dob.errors.minlength\\\">{{validation_message.name_required | translate}}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div> -->\\r\\n\\r\\n                            <div class=\\\"text-center\\\">\\r\\n                                <button style=\\\"background: #5469d4;border-color: #5469d4;\\\" type=\\\"submit\\\" [disabled]=\\\"!bankDetailForm.form.valid\\\" class=\\\"btn btn-primary\\\">Connectex votre compte Stripe!\\r\\n                                    <img style=\\\"width: 50px;background: #fff;margin-left: 10px;\\\" src=\\\"web_images/stripe.png\\\" alt=\\\"\\\">\\r\\n                                </button>\\r\\n                            </div>\\r\\n\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </form>\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-sm\\\" #myModal id=\\\"otp_model\\\">\\r\\n    <form #modalForm=\\\"ngForm\\\" (ngSubmit)=\\\"otp_var(modalForm.value)\\\">\\r\\n        <modal-header [show-close]=\\\"false\\\">\\r\\n            <h4 class=\\\"modal-title\\\">{{title.verification | translate}}!</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div [ngSwitch]=\\\"opt_error_message\\\">\\r\\n                <div *ngSwitchCase=1>\\r\\n                    <label style=\\\"color: red;\\\">{{validation_message.email_otp_wrong | translate}}</label>\\r\\n                </div>\\r\\n                <div *ngSwitchCase=2>\\r\\n                    <label style=\\\"color: red;\\\">{{validation_message.sms_otp_erong | translate}}</label>\\r\\n                </div>\\r\\n                <div *ngSwitchCase=3>\\r\\n                    <label style=\\\"color: red;\\\">{{validation_message.otp_wrong | translate}}</label>\\r\\n                </div>\\r\\n            </div>\\r\\n                <div class=\\\"form-group\\\" id=\\\"otp_for_sms\\\">\\r\\n                    <label>{{title.sms_otp | translate}}</label>\\r\\n                    <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"sms_otp\\\" name=\\\"sms_otp\\\" >\\r\\n                </div>\\r\\n                <div class=\\\"form-group\\\" id=\\\"otp_for_email\\\">\\r\\n                    <label>{{title.email_otp | translate}}</label>\\r\\n                    <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"email_otp\\\" name=\\\"email_otp\\\" >\\r\\n                </div>\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{button.submit | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-sm\\\" #oldPasswordModal id=\\\"old_passwrod\\\">\\r\\n    <form #oldPasswordForm=\\\"ngForm\\\" (ngSubmit)=\\\"old_password_update(oldPasswordForm.value)\\\">\\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <h4 class=\\\"modal-title\\\">{{title.old_password | translate}}</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n\\r\\n            <div class=\\\"form-group\\\">\\r\\n                <label>{{title.old_password | translate}}</label>\\r\\n                <input type=\\\"password\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_edit.old_password\\\" #old_password=\\\"ngModel\\\" minlength=\\\"6\\\" name=\\\"old_password\\\" required/>\\r\\n\\r\\n                <div *ngIf=\\\"old_password.errors && (old_password.dirty || old_password.touched)\\\">\\r\\n                <div style=\\\"color: red;\\\" [hidden]=\\\"!old_password.errors.required\\\">{{validation_message.password_required | translate}}\\r\\n                </div>\\r\\n                <div style=\\\"color: red;\\\" [hidden]=\\\"!old_password.errors.minlength\\\">{{validation_message.password_minlength | translate}}\\r\\n                </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{button.submit | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/store/payment_automize/payment_automize.component.html\n// module id = 1704\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n\\r\\n<div class=\\\"wrapper content_top_bar_view2 wrapper-content animated fadeInRight\\\">\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-3\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\">\\r\\n                    <h5>{{helper.heading_title.category | translate}}</h5>\\r\\n                    <span class=\\\"fa fa-check pull-right\\\" (click)=\\\"update_sequence_number(1, true)\\\"></span>\\r\\n                    <div class=\\\"row\\\" style=\\\"margin-top: 36px;\\\">\\r\\n                        <div class=\\\"col-md-6\\\">\\r\\n                            <button class=\\\"btn btn-black btn-block text-center\\\" (click)=\\\"import_data()\\\" style=\\\"margin-top: -7px;\\\">Import File</button>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-6\\\">\\r\\n                            <button class=\\\"btn btn-black btn-block text-center\\\" (click)=\\\"export_menu(false, null)\\\" style=\\\"margin-top: -7px;\\\">Export Menu</button>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"row\\\" style=\\\"margin-bottom: 20px;\\\">\\r\\n                        <div class=\\\"col-md-10 col-sm-10 col-xs-10\\\" style=\\\"padding-right: 0;\\\">\\r\\n                            <input type=\\\"text\\\" colspan=\\\"2\\\" placeholder=\\\"{{helper.title.enter_category_name | translate}}\\\" (keyup)=\\\"check_product()\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_product.name\\\" #name=\\\"ngModel\\\"  name=\\\"name\\\"  required />\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-2 col-sm-2 col-xs-2\\\">\\r\\n                            <span style=\\\"margin-top: 5px;font-size: 25px;float: right;\\\" (click)=\\\"addProduct()\\\" class=\\\"fa fa-plus-circle\\\"></span>\\r\\n                        </div>\\r\\n                        <label *ngIf=product_already_exist >{{helper.title.category_already_exist | translate}}</label>\\r\\n                    </div>\\r\\n                    <ul id=\\\"sortable_product\\\"  class=\\\"sortable-list connectList agile-list product_list_height scrollbar\\\">\\r\\n                        <li *ngFor=\\\"let product of filtered_product_list; let product_index=index;\\\" (click)=\\\"select_product(product._id, $event)\\\" class=\\\"product_li\\\" [ngStyle]=\\\"{'background-color': !product.is_visible_in_store ? '#f5efef' : '#FAFAFB'}\\\" [class.success-element]=\\\"product._id==selected_product_id && selected_product_id_for_specification==''\\\">\\r\\n                            <span (click)=\\\"open_specification(product._id)\\\" *ngIf=\\\"selected_product_id_for_specification!=product._id && product.specifications_details.length>0;\\\" class=\\\"fa fa-angle-right product_arrow\\\"></span>\\r\\n                            <span (click)=\\\"close_specification(product._id)\\\" *ngIf=\\\"selected_product_id_for_specification==product._id && product.specifications_details.length>0;\\\" class=\\\"fa fa-angle-down product_arrow\\\"></span>\\r\\n                            <span style=\\\"padding-right: 21px;\\\" *ngIf=\\\"product.specifications_details.length==0\\\"></span>\\r\\n                            <span>{{product.name}}</span>\\r\\n                            <div class=\\\"dropdown pull-right\\\" dropdown style=\\\"margin-left: 10px;\\\">\\r\\n                                <a class=\\\"pull-right\\\" dropdown-open><i class=\\\"fa fa-ellipsis-v\\\" style=\\\"font-size:20px;color:#676a6c;\\\"></i></a>\\r\\n                                <ul class=\\\"pull-right dropdown-menu animated fadeIntop m-t-xs\\\" dropdown>\\r\\n                                    <li style=\\\"padding: 0;margin-bottom: 0;\\\"><a (click)=\\\"open_add_specification_modal(product._id)\\\"><span style=\\\"display:block;\\\" class=\\\"nav-label\\\">{{button.add_modifier_group | translate}}</span> </a></li>\\r\\n                                    <li style=\\\"padding: 0;margin-bottom: 0;\\\"><a (click)=\\\"open_edit_product_modal(product)\\\"><span style=\\\"display:block;\\\" class=\\\"nav-label\\\">{{button.edit | translate}}</span> </a></li>\\r\\n                                    <li *ngIf=\\\"product.is_visible_in_store\\\" style=\\\"padding: 0;margin-bottom: 0;\\\"><a (click)=\\\"updateProduct(product, false)\\\"><span style=\\\"display:block;\\\" class=\\\"nav-label\\\">{{button.deactivate | translate}} </span> </a></li>\\r\\n                                    <li *ngIf=\\\"!product.is_visible_in_store\\\" style=\\\"padding: 0;margin-bottom: 0;\\\"><a (click)=\\\"updateProduct(product, true)\\\"><span style=\\\"display:block;\\\" class=\\\"nav-label\\\">{{button.activate | translate}}</span> </a></li>\\r\\n                                    <li style=\\\"padding: 0;margin-bottom: 0;\\\"><a (click)=\\\"deleteProduct(product)\\\"><span style=\\\"display:block;\\\" class=\\\"nav-label\\\">{{button.delete | translate}} </span> </a></li>\\r\\n\\r\\n                                </ul>\\r\\n                            </div>\\r\\n                            <!--<ui-switch size=\\\"small\\\" class=\\\"pull-right\\\" (change)=\\\"updateProduct(product, $event)\\\" [(ngModel)]=\\\"product.is_visible_in_store\\\" #is_visible_in_store=\\\"ngModel\\\" name=\\\"is_visible_in_store\\\"></ui-switch>-->\\r\\n\\r\\n                            <ul *ngIf=\\\"selected_product_id_for_specification==product._id && product.specifications_details.length>0\\\" class=\\\"sortable-list connectList agile-list\\\">\\r\\n                                <li class=\\\"product_li_sp\\\" (click)=\\\"get_specification(sp_group._id)\\\" style=\\\"\\\" *ngFor=\\\"let sp_group of product.specifications_details; let sp_group_index=index;\\\" [class.success-element]=\\\"sp_group._id==selected_specification_group_id\\\">\\r\\n                                    {{sp_group.name}}\\r\\n                                    <span (click)=\\\"delete_specification_group(sp_group._id, product_index, sp_group_index, $event)\\\" class=\\\"fa fa-times pull-right\\\"></span>\\r\\n                                </li>\\r\\n                            </ul>\\r\\n                        </li>\\r\\n                    </ul>\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-md-3\\\" *ngIf=\\\"selected_specification_group_id!=''\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\">\\r\\n                    <h5>{{selected_specification_group_name}}</h5>\\r\\n                    <span class=\\\"fa fa-check pull-right\\\" (click)=\\\"updateSpecification()\\\"></span>\\r\\n                </div>\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"row\\\" style=\\\"margin-bottom: 20px;\\\">\\r\\n                        <div class=\\\"col-md-10 col-sm-10 col-xs-10\\\" style=\\\"padding-right: 0;\\\">\\r\\n                            <input type=\\\"text\\\" placeholder=\\\"{{helper.title.enter_specification | translate}}\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"specification_name\\\" name=\\\"specification_name\\\" />\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-2 col-sm-2 col-xs-2\\\">\\r\\n                            <span style=\\\"margin-top: 5px;font-size: 25px;float: right;\\\" (click)=\\\"addSpecification()\\\" class=\\\"fa fa-plus-circle\\\"></span>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div id=\\\"spec_list\\\" class=\\\"product_list_height scrollbar\\\">\\r\\n                        <form #specificationForm=\\\"ngForm\\\" enctype='multipart/form-data' >\\r\\n                            <ul class=\\\"sortable-list connectList agile-list\\\" >\\r\\n                                <li class=\\\"product_li_sp\\\" *ngFor=\\\"let specification of specification_name_array; let specification_index=index;\\\">\\r\\n                                    {{specification}}\\r\\n                                    <span (click)=\\\"deleteSpecification('' ,specification_index)\\\" class=\\\"fa fa-times pull-right\\\"></span>\\r\\n                                </li>\\r\\n                            </ul>\\r\\n\\r\\n                            <ul class=\\\"sortable-list connectList agile-list\\\">\\r\\n                                <li class=\\\"product_li_sp\\\" *ngFor=\\\"let specification of specification_list; let specification_index=index; \\\">\\r\\n                                    {{specification.name}}\\r\\n                                    <span (click)=\\\"deleteSpecification(specification._id ,specification_index)\\\" class=\\\"fa fa-times pull-right\\\"></span>\\r\\n                                </li>\\r\\n                            </ul>\\r\\n                        </form>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-md-3\\\" *ngIf=\\\"selected_specification_group_id==''\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\">\\r\\n                    <h5>{{helper.heading_title.item | translate}}</h5>\\r\\n                    <span class=\\\"fa fa-check pull-right\\\" (click)=\\\"update_sequence_number(2, true)\\\"></span>\\r\\n                </div>\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                    <div class=\\\"row\\\" style=\\\"margin-bottom: 20px;\\\">\\r\\n                        <div class=\\\"col-md-6 col-sm-6 col-xs-6\\\" style=\\\"padding-right: 5px;\\\">\\r\\n                            <input type=\\\"text\\\" colspan=\\\"2\\\" placeholder=\\\"{{helper.title.item_name | translate}}\\\" (keyup)=\\\"check_item()\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_item.name\\\" #name=\\\"ngModel\\\"  name=\\\"name\\\"  required />\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\" style=\\\"padding-right: 5px; padding-left: 5px;\\\">\\r\\n                            <input type=\\\"text\\\" colspan=\\\"2\\\" placeholder=\\\"{{helper.title.item_price | translate}}\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"add_item.price\\\" #price=\\\"ngModel\\\"  name=\\\"price\\\"  required />\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-2 col-sm-2 col-xs-2\\\">\\r\\n                            <span style=\\\"margin-top: 5px;font-size: 25px;float: right;\\\" (click)=\\\"add_item_data()\\\" class=\\\"fa fa-plus-circle\\\"></span>\\r\\n                        </div>\\r\\n                        <label *ngIf=\\\"item_error!=''\\\" >{{item_error | translate}}</label>\\r\\n                    </div>\\r\\n\\r\\n                    <ul id=\\\"sortable\\\" class=\\\"sortable-list connectList agile-list product_list_height scrollbar\\\">\\r\\n                        <li *ngFor=\\\"let item of filtered_item_list; let item_index=index;\\\" (click)=\\\"select_item(item._id, $event)\\\" class=\\\"product_li\\\" [ngStyle]=\\\"{'background-color': !item.is_visible_in_store ? '#ece7e7' : '#FAFAFB'}\\\" [class.success-element]=\\\"item._id==selected_item_id\\\">\\r\\n                            {{item.name}}\\r\\n                            <div class=\\\"dropdown pull-right\\\" dropdown style=\\\"margin-left: 10px;\\\">\\r\\n                                <a class=\\\"pull-right\\\" dropdown-open><i class=\\\"fa fa-ellipsis-v\\\" style=\\\"font-size:20px;color:#676a6c;\\\"></i></a>\\r\\n                                <ul class=\\\"pull-right dropdown-menu animated fadeIntop m-t-xs\\\" dropdown>\\r\\n                                    <li style=\\\"padding: 0;margin-bottom: 0;\\\"><a (click)=\\\"deleteItem(item)\\\"><span style=\\\"display:block;\\\" class=\\\"nav-label\\\">{{button.delete | translate}} </span> </a></li>\\r\\n\\r\\n                                </ul>\\r\\n                            </div>\\r\\n                        </li>\\r\\n                    </ul>\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-6\\\" *ngIf=\\\"item_detail.name && selected_specification_group_id==''\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\">\\r\\n                    <h5>{{item_detail.name}}</h5>\\r\\n                    <span class=\\\"fa fa-check pull-right\\\" (click)=\\\"updateItem()\\\"></span>\\r\\n                </div>\\r\\n                <div class=\\\"ibox-content scrollbar\\\" style=\\\"height: calc(100vh - 163px);overflow: auto;\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-md-12\\\">\\r\\n                            <label>{{title.note_for_image | translate}}: </label><span>{{title.image_note1 | translate}} {{image_setting.image_min_width}}x{{image_setting.image_min_height}} {{title.image_note2 | translate}} {{image_setting.image_max_width}}x{{image_setting.image_max_height}}),\\r\\n                            {{title.image_note3 | translate}} <label>{{image_setting.image_ratio}}</label> {{title.image_note4 | translate}}</span> <label *ngFor=\\\"let i of image_setting.image_type; let last=last;\\\"> {{(i.split('/'))[1]}}<label [hidden]=\\\"last\\\">, </label> </label>\\r\\n                            <span>{{title.image_note5 | translate}}</span>\\r\\n                        </div>\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <div class=\\\"scrollbar\\\" id=\\\"style-3\\\" style=\\\"background-color: #fff;width: 100%;height:112px;text-align: center;\\\">\\r\\n                                <div style=\\\" display: inline-table;\\\" *ngIf=\\\"(item_detail.image_url.length+new_image_array.length) <5\\\">\\r\\n                                    <span class=\\\"btn-file\\\"><img src=\\\"web_images/camera_img.png\\\" style=\\\"border-radius: 20%; width:80px; height: 80px; margin-right: 15px;\\\">\\r\\n                                    <input type=\\\"file\\\" #InputVar accept=\\\"image/*\\\" (change)=\\\"image_update($event, InputVar);\\\" name=\\\"image\\\" style=\\\"margin-top: -12px;padding: 13px;\\\"></span>\\r\\n                                </div>\\r\\n\\r\\n                                <div *ngFor=\\\"let image of new_image_array; let index=index;\\\" style=\\\" display: inline-table;\\\">\\r\\n                                    <img [src]=\\\"image.base64_image\\\" style=\\\"border-radius: 20%; width:80px; height: 80px; margin-right: 15px;\\\">\\r\\n                                    <div style=\\\"margin-top: -11px;margin-right: -58px;\\\">\\r\\n                                        <i aria-hidden=\\\"true\\\" (click)=\\\"remove_new_image(index)\\\" class=\\\"fa fa-times-circle\\\" style=\\\"font-size: 25px;cursor: pointer;color:#bc2029;\\\"></i>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div *ngFor=\\\"let image of item_detail.image_url; let index=index;\\\" style=\\\" display: inline-table;\\\">\\r\\n                                    <img [src]=\\\"helper.CONSTANT.IMAGE_BASE_URL + image\\\" style=\\\"border-radius: 20%; width:80px; height: 80px; margin-right: 15px;\\\">\\r\\n                                    <div style=\\\"margin-top: -11px;margin-right: -58px;\\\">\\r\\n                                        <i aria-hidden=\\\"true\\\" (click)=\\\"delete_item_image(image , index)\\\" class=\\\"fa fa-times-circle\\\" style=\\\"font-size: 25px;cursor: pointer;color:#bc2029;\\\"></i>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-md-6 col-sm-6 col-xs-6\\\">\\r\\n                            <label>{{helper.title.item_name | translate}}</label>\\r\\n                            <input type=\\\"text\\\" (focusout)=\\\"updateItem()\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"item_detail.name\\\" #name=\\\"ngModel\\\"  name=\\\"name\\\"  required />\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n                            <label>{{helper.title.item_price | translate}}</label>\\r\\n                            <input type=\\\"text\\\" (focusout)=\\\"updateItem()\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"item_detail.price\\\" #price=\\\"ngModel\\\"  name=\\\"price\\\"  required />\\r\\n                        </div>\\r\\n                        <label *ngIf=item_already_exist >{{helper.message.item_already_exist | translate}}</label>\\r\\n                    </div>\\r\\n                    <div class=\\\"row\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                        <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\">\\r\\n                            <label>{{helper.title.details | translate}}</label>\\r\\n                            <textarea (focusout)=\\\"updateItem()\\\" style=\\\"max-width: 100%; max-height: 80px;\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"item_detail.details\\\" #details=\\\"ngModel\\\"  name=\\\"details\\\" required ></textarea>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"row\\\" style=\\\"margin-top: 20px;\\\">\\r\\n                        <div class=\\\"col-md-6 col-sm-6 col-xs-6\\\">\\r\\n                            <label class=\\\"col-md-8 no_padding\\\">{{helper.title.is_visible_in_store | translate}}</label>\\r\\n                            <ui-switch [(ngModel)]=\\\"item_detail.is_visible_in_store\\\" #is_visible_in_store=\\\"ngModel\\\" name=\\\"is_visible_in_store\\\"></ui-switch>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-6 col-sm-6 col-xs-6\\\">\\r\\n                            <label class=\\\"col-md-8 no_padding\\\">{{helper.title.is_item_in_stock | translate}}</label>\\r\\n                            <ui-switch [(ngModel)]=\\\"item_detail.is_item_in_stock\\\" #is_item_in_stock=\\\"ngModel\\\" name=\\\"is_item_in_stock\\\"></ui-switch>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"row\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                        <div class=\\\"col-md-12\\\">\\r\\n                            <label>Add Modifier</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-6\\\">\\r\\n                            <select class=\\\"chosen-select\\\" [(ngModel)]=\\\"selected_spec_group_for_item\\\" name=\\\"\\\"selected_spec_group_for_item>\\r\\n                                <option value=\\\"\\\" hidden>Select Modifier</option>\\r\\n                                <option *ngFor=\\\"let sp_gp of item_specification_group_list;\\\" value=\\\"{{sp_gp._id}}\\\">{{sp_gp.name}}</option>\\r\\n                            </select>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-6\\\">\\r\\n                            <span class=\\\"fa fa-plus-circle\\\" style=\\\"font-size: 25px;\\\" (click)=\\\"open_specification_modal()\\\"></span>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div *ngIf=\\\"item_detail.specifications.length>0\\\">\\r\\n                        <ul class=\\\"sortable-list connectList agile-list\\\">\\r\\n                            <li style=\\\"padding-right: 0; padding-left: 0;\\\" class=\\\"product_li_sp\\\" *ngFor=\\\"let specification of item_detail.specifications; let specification_index=index;\\\">\\r\\n                                <span class=\\\"fa fa-angle-right product_arrow\\\" *ngIf=\\\"selected_item_specification!=specification._id\\\" (click)=\\\"selected_item_specification=specification._id;\\\"></span>\\r\\n                                <span class=\\\"fa fa-angle-down product_arrow\\\" *ngIf=\\\"selected_item_specification==specification._id\\\" (click)=\\\"selected_item_specification=''\\\"></span>\\r\\n                                <span>{{specification.name}}</span>\\r\\n                                <span class=\\\"fa fa-close pull-right\\\" style=\\\"padding-right: 10px;\\\" (click)=\\\"delete_item_specification(specification_index)\\\"></span>\\r\\n                                <span class=\\\"fa fa-pencil pull-right\\\" style=\\\"padding-right: 10px;\\\" (click)=\\\"edit_item_specification(specification, specification_index)\\\"></span>\\r\\n                                <ul class=\\\"sortable-list connectList agile-list\\\" style=\\\"padding-bottom: 0;\\\" *ngIf=\\\"selected_item_specification==specification._id\\\">\\r\\n                                    <li class=\\\"product_li_sp\\\" style=\\\"background: #F8F8F9 !important;border: 0;\\\" *ngFor=\\\"let list of specification.list; let list_index=index;\\\">\\r\\n                                        <div class=\\\"row\\\">\\r\\n                                            <div class=\\\"col-md-6\\\">\\r\\n                                                <span>{{list.name}}</span>\\r\\n                                            </div>\\r\\n                                            <div class=\\\"col-md-6\\\">\\r\\n                                                <span>{{list.price}}</span>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                    </li>\\r\\n                                </ul>\\r\\n                            </li>\\r\\n                        </ul>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xs animated fadeInDownBig\\\" #edit_product_modal>\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n        <h5>Edit Category</h5>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"form-group\\\">\\r\\n                <input type=\\\"text\\\" class=\\\"form-control\\\" name=\\\"name\\\" [(ngModel)]=\\\"product_data.name\\\" #name=\\\"ngModel\\\" />\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n        <div style=\\\"text-align: center\\\">\\r\\n            <button type=\\\"button\\\" (click)=\\\"updateProduct(product_data, product_data.is_visible_in_store)\\\" class=\\\"btn btn-primary\\\">{{button.update | translate}}</button>\\r\\n        </div>\\r\\n    </modal-footer>\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xs animated fadeInDownBig\\\" #add_specification_modal>\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n        <h5>{{helper.heading_title.add_modifier_group | translate}}</h5>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"form-group\\\">\\r\\n                <input type=\\\"text\\\" class=\\\"form-control\\\" placeholder=\\\"{{helper.title.enter_modifier_group_name | translate}}\\\" name=\\\"specification_group_name\\\" [(ngModel)]=\\\"specification_group_name\\\" />\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n        <div style=\\\"text-align: center\\\">\\r\\n            <button type=\\\"button\\\" (click)=\\\"add_specification_group()\\\" class=\\\"btn btn-primary\\\">{{button.update | translate}}</button>\\r\\n        </div>\\r\\n    </modal-footer>\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl animated fadeInDownBig\\\" #image_crop_modal>\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n        <img-cropper #cropper [image]=\\\"data\\\" [settings]=\\\"cropperSettings\\\"></img-cropper><br>\\r\\n        {{cropperSettings.croppedWidth}}\\r\\n        {{cropperSettings.croppedHeight}}\\r\\n        <div class=\\\"col-lg-12 text_center\\\">\\r\\n            <span style=\\\"color: red;\\\">{{image_error | translate}}</span>\\r\\n        </div>\\r\\n\\r\\n    </modal-body>\\r\\n    <modal-footer>\\r\\n        <div style=\\\"text-align: center\\\">\\r\\n            <button type=\\\"button\\\" (click)=\\\"crop($event)\\\" class=\\\"btn btn-primary\\\">{{button.done | translate}}</button>\\r\\n        </div>\\r\\n    </modal-footer>\\r\\n</modal>\\r\\n\\r\\n\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl animated fadeInDownBig\\\" #item_spec_modal>\\r\\n    <form #modalForm=\\\"ngForm\\\" (ngSubmit)=\\\"addiItemSpecification(modalForm.value)\\\">\\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <h4 class=\\\"modal-title\\\">{{heading_title.add_item_specification | translate}}</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <input type=\\\"hidden\\\" [(ngModel)]=\\\"index\\\" name=\\\"index\\\" >\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-md-4 col-sm-4 col-xs-8\\\">\\r\\n                            <div class=\\\"form-group\\\" >\\r\\n                                <label style=\\\"font-weight: normal;\\\">{{title.item_specification_name | translate}}</label>\\r\\n                                <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"item_detail.item_specification_name\\\" #item_specification_name=\\\"ngModel\\\" name=\\\"item_specification_name\\\" required>\\r\\n                                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"item_detail.specification_group_id\\\" #specification_group_id=\\\"ngModel\\\" name=\\\"specification_group_id\\\">\\r\\n                            </div>\\r\\n\\r\\n                        </div>\\r\\n                    \\r\\n                        <div class=\\\"col-md-8 col-sm-8 col-xs-12\\\">\\r\\n                    \\r\\n                                <div class=\\\"form-group\\\">\\r\\n                                    <label class=\\\"col-md-12 col-sm-12 col-xs-4\\\" style=\\\"font-weight: normal;\\\">{{title.select_type | translate}}</label>\\r\\n                                    <input type=\\\"hidden\\\" [(ngModel)]=\\\"item_detail.type\\\" #type=\\\"ngModel\\\" name=\\\"type\\\" >\\r\\n                                    <div class=\\\"col-md-6 col-sm-6 col-xs-4 form-group\\\">\\r\\n                                        <label><input class=\\\"iradio iradio1\\\" type=\\\"radio\\\" name=\\\"select_type\\\" value=\\\"1\\\" checked/><span style=\\\"margin-left: 10px;\\\" >{{title.type_single | translate}}</span></label>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-6 col-sm-6 col-xs-4 form-group\\\">\\r\\n                                        <label><input class=\\\"iradio iradio2\\\" type=\\\"radio\\\" name=\\\"select_type\\\" value=\\\"2\\\"/><span style=\\\"margin-left: 10px;\\\">{{title.type_multiple | translate}}</span></label>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\">\\r\\n                            <label class=\\\"col-md-6 col-sm-6 col-xs-6\\\" style=\\\"font-weight: normal;\\\">{{title.is_required | translate}}</label>\\r\\n                            <ui-switch class=\\\"col-md-6 col-sm-6 col-xs-6\\\" [(ngModel)]=\\\"item_detail.is_required\\\" #is_required=\\\"ngModel\\\" name=\\\"is_required\\\"></ui-switch>\\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\" *ngIf=\\\"item_detail.type==2\\\">\\r\\n                            <label class=\\\"col-md-9 col-sm-9 col-xs-9\\\" style=\\\"font-weight: normal;\\\">{{title.is_option_limit | translate}}</label>\\r\\n                            <ui-switch class=\\\"col-md-3 col-sm-3 col-xs-3\\\" [(ngModel)]=\\\"item_detail.is_option_limit\\\" #is_option_limit=\\\"ngModel\\\" name=\\\"is_option_limit\\\"></ui-switch>\\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\" *ngIf=\\\"item_detail.type==2 && item_detail.is_option_limit\\\">\\r\\n                            <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"item_detail.option_limit_number\\\" #option_limit_number=\\\"ngModel\\\" name=\\\"option_limit_number\\\" required>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                   \\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                    <div class=\\\"form-group\\\">\\r\\n                        <div class=\\\"table-responsive\\\">\\r\\n                            <table class=\\\"table\\\">\\r\\n                                <tr>\\r\\n                                    <td style=\\\"width: 40%\\\">{{title.add_specification | translate}}</td>\\r\\n                                    <td style=\\\"width: 120px;\\\">{{title.price | translate}}</td>\\r\\n                                    <td style=\\\"width: 30%\\\">{{title.default_select | translate}}</td>\\r\\n                                </tr>\\r\\n                            </table>\\r\\n                            <div id=\\\"spec_model\\\">\\r\\n                                <table class=\\\"table\\\">\\r\\n                                    <tr *ngFor=\\\"let i of product_specification_list;  let index=index; \\\">\\r\\n                                        <td style=\\\"width: 5%\\\"><label><input type=\\\"checkbox\\\" class=\\\"icheck\\\" value=\\\"{{i._id}}\\\"/></label></td>\\r\\n                                        <td style=\\\"width: 35%\\\"><label><span style=\\\"margin-left: 10px;\\\">{{i.name}}</span></label></td>\\r\\n\\r\\n                                        <td style=\\\"width: 120px;\\\"><div>\\r\\n                                            <input type=\\\"text\\\" class=\\\"form-control\\\" [disabled]=\\\"checked_array[index]!=true\\\" (keypress)=\\\"helper.number_validation($event)\\\" [(ngModel)]=\\\"i.price\\\" name=\\\"{{index}}\\\"></div>\\r\\n                                        </td>\\r\\n                                        <td style=\\\"width: 30%\\\"><ui-switch (change)=\\\"onChange($event, i._id)\\\" [(ngModel)]=\\\"i.is_default_selected\\\" #is_default_selected=\\\"ngModel\\\" [disabled]=\\\"checked_array[index]!=true\\\" name=\\\"is_default_selected{{i._id}}\\\"></ui-switch></td>\\r\\n\\r\\n                                    </tr>\\r\\n                                </table>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div *ngIf=\\\"spec_list_error==1\\\">\\r\\n                            <label class=\\\"error\\\" style=\\\"font-weight: normal;\\\">{{title.error_atleast_one_specification | translate}}</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{spec_button | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\\r\\n\\r\\n\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl animated fadeInDownBig\\\" #import_data_modal>\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n        <h4 class=\\\"modal-title\\\">{{heading_title.import_menu_file | translate}}</h4>\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n        <div class=\\\"row\\\">\\r\\n\\r\\n            <div class=\\\"form-group col-md-12\\\">\\r\\n                <label class=\\\"col-sm-4 control-label\\\">Select File  (xlsx, xls, csv):</label>\\r\\n                <div class=\\\"col-sm-8\\\">\\r\\n                    <div class=\\\"fileinput fileinput-new input-group\\\" data-provides=\\\"fileinput\\\">\\r\\n                        <div class=\\\"form-control\\\" data-trigger=\\\"fileinput\\\" style=\\\"overflow-x: hidden;\\\"><i class=\\\"glyphicon glyphicon-file fileinput-exists\\\"></i> <span class=\\\"fileinput-filename\\\"></span></div>\\r\\n                        <span class=\\\"input-group-addon btn btn-default btn-file\\\"><span class=\\\"fileinput-new\\\">{{helper.button.select_file | translate}}</span><span class=\\\"fileinput-exists\\\">{{helper.button.change | translate}}</span>\\r\\n                        <input type=\\\"file\\\" accept=\\\".xlsx, .xls, .csv\\\" (change)=\\\"upload_excel($event);\\\"   name=\\\"logo_image\\\" placeholder=\\\"Select Logo Image\\\"></span>\\r\\n                    </div>\\r\\n                    <div style=\\\"color: red;\\\">\\r\\n                        Attention, le CSV importé remplace le menu actuel\\r\\n                    </div>\\r\\n                    <div style=\\\"color: red;\\\" [hidden]=\\\"!import_file_error\\\">Please upload valid file</div>\\r\\n\\r\\n                </div>\\r\\n                <div class=\\\"col-sm-3\\\">\\r\\n\\r\\n\\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n            <div class=\\\"form-group col-md-12 text-center\\\">\\r\\n                <button type=\\\"button\\\" class=\\\"btn btn-primary\\\">\\r\\n                <a style=\\\"color: #fff !important;\\\"\\r\\n                        href=\\\"/web_images/item_demo.xlsx\\\"\\r\\n                        target=\\\"_blank\\\">{{helper.button.download_demo_file | translate}}</a></button>\\r\\n                <button type=\\\"submit\\\" [disabled]=\\\"import_file_error\\\" (click)=\\\"upload_excel_data()\\\" id=\\\"submit\\\" name=\\\"submit\\\"  class=\\\"btn btn-primary\\\">{{helper.button.submit | translate}}</button>\\r\\n            </div>\\r\\n        </div>\\r\\n    </modal-body>\\r\\n</modal>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/store/products/products.component.html\n// module id = 1705\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n\\r\\n\\r\\n    <div class=\\\"wrapper wrapper-content animated fadeInRight content_top_bar\\\">\\r\\n\\r\\n        \\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-md-6 col-sm-12\\\">\\r\\n            <form #storeUpdateForm=\\\"ngForm\\\" (ngSubmit)=\\\"UpdateStore(storeUpdateForm.value)\\\">\\r\\n                <div class=\\\"col-lg-12 col-sm-12 no_padding\\\">\\r\\n                    <div class=\\\"ibox product-detail\\\">\\r\\n                        <div class=\\\"ibox-content profile\\\">\\r\\n\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-md-3 col-sm-3\\\">\\r\\n\\r\\n                                    <div class=\\\"profile-images center\\\">\\r\\n                                        <img class=\\\"img-circle\\\" style=\\\"width: 120px;height: 120px;\\\" src=\\\"{{store_edit.image_url != '' ? store_edit.image_url : 'default.png'}}\\\" alt=\\\"profile\\\">\\r\\n\\r\\n                                    </div>\\r\\n\\r\\n                                    <div class=\\\"center\\\" style=\\\"margin-left: 110px; margin-top: -115px;\\\">\\r\\n                                        <span class=\\\"btn-file\\\" *ngIf=\\\"edit==true\\\"><i class=\\\"fa fa-pencil\\\"></i><input type=\\\"file\\\" accept=\\\"image/*\\\" (change)=\\\"change_image($event);\\\" name=\\\"image\\\"></span>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-md-9 col-sm-9 profile_data\\\">\\r\\n                                    <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_edit.store_id\\\" #store_id=\\\"ngModel\\\"  name=\\\"store_id\\\" />\\r\\n                                    <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_edit.server_token\\\" #server_token=\\\"ngModel\\\"  name=\\\"server_token\\\" />\\r\\n                                    <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_edit.social_id\\\" #social_id=\\\"ngModel\\\"  name=\\\"social_id\\\" />\\r\\n                                    <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_edit.login_by\\\" #login_by=\\\"ngModel\\\"  name=\\\"login_by\\\" />\\r\\n\\r\\n                                    <div class=\\\"col-md-12 remove_padding align_center1\\\" style=\\\"margin-left: 0px;\\\">\\r\\n                                        <label class=\\\"control-label\\\" style=\\\"font-size: 30px;\\\">{{store_edit.name}}</label>\\r\\n\\r\\n                                        <button type=\\\"button\\\" *ngIf=\\\"edit==false\\\" class=\\\"btn btn-danger pull-right edit_option_mobile_screen profile_update\\\" (click)=\\\"edit=true\\\">{{button.edit | translate}}</button>\\r\\n\\r\\n                                        <button type=\\\"submit\\\"  *ngIf=\\\"edit==true\\\" [disabled]=\\\"!storeUpdateForm.form.valid\\\" class=\\\"btn btn-primary pull-right edit_option_mobile_screen profile_update\\\">{{button.update | translate}}</button>\\r\\n\\r\\n                                    </div>\\r\\n                                    <hr style=\\\"border-color: red;\\\">\\r\\n\\r\\n                                    <div class=\\\"row col-md-12 remove_padding\\\"><label class=\\\"col-lg-4 col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.id | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n                                        <div class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                                            {{store_edit.store_id }}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"row col-md-12 remove_padding\\\"><label class=\\\"col-lg-4  col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.country | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n                                        <div class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                                            {{store_edit.country_name }}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"row col-md-12 remove_padding\\\"><label class=\\\"col-lg-4 col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.city | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n                                        <div class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                                            {{store_edit.city_name }}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"row col-md-12 remove_padding\\\"><label class=\\\"col-lg-4 col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.delivery_type | translate}}<div class=\\\"pull-right translateyminus\\\">:</div></label>\\r\\n                                        <div class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group translatey\\\">\\r\\n                                            {{store_edit.store_delivery_name }}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"row col-md-12 remove_padding\\\"><label class=\\\"col-lg-4 col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.referral_code | translate}}<div class=\\\"pull-right translateyminus\\\">:</div></label>\\r\\n                                        <div class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group translatey\\\">\\r\\n                                            {{store_edit.referral_code }}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"row col-md-12 remove_padding\\\"><label class=\\\"col-lg-4 col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.wallet | translate}}<div class=\\\"pull-right translateyminus\\\">:</div></label>\\r\\n                                        <div class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group translatey\\\">\\r\\n                                            {{store_edit.referral_credit }}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"row col-md-12 remove_padding\\\"><label class=\\\"col-lg-4 col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.total_referred | translate}}<div class=\\\"pull-right translateyminus\\\">:</div></label>\\r\\n                                        <div class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group translatey\\\">\\r\\n                                            {{store_edit.total_referred }}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"row col-md-12 remove_padding\\\">\\r\\n                                        <hr style=\\\"border-color: gray;\\\">\\r\\n                                    </div>\\r\\n\\r\\n                                    <div class=\\\"row col-md-12 remove_padding\\\">\\r\\n                                        <label class=\\\"col-lg-4 col-sm-4 remove_padding control-label\\\">{{title.name | translate}}<div *ngIf=\\\"edit==false\\\" class=\\\"pull-right\\\">:</div></label>\\r\\n                                        <div *ngIf=\\\"edit==true\\\" class=\\\"col-lg-8 col-sm-8 form-group\\\">\\r\\n                                            <input type=\\\"text\\\" [disabled]=\\\"edit==false\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_edit.name\\\" #name=\\\"ngModel\\\" name=\\\"name\\\" required/>\\r\\n                                            <div *ngIf=\\\"name.errors && (name.dirty || name.touched)\\\">\\r\\n                                                <div style=\\\"color: red;\\\" [hidden]=\\\"!name.errors.required\\\">{{validation_message.name_required | translate}}\\r\\n                                                </div>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                        <div *ngIf=\\\"edit==false\\\" class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group translatey\\\">\\r\\n                                            {{store_edit.name}}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n\\r\\n                                    <div class=\\\"row col-md-12 remove_padding\\\">\\r\\n                                        <label class=\\\"col-lg-4 col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.email | translate}}<div *ngIf=\\\"edit==false\\\" class=\\\"pull-right\\\">:</div></label>\\r\\n                                        <div *ngIf=\\\"edit==true\\\" class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n\\r\\n                                            <input type=\\\"text\\\" [readonly]=\\\"store_edit.social_id.length>0\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_edit.email\\\" #email=\\\"ngModel\\\" name=\\\"email\\\" email required/>\\r\\n                                            <div *ngIf=\\\"email.errors && (email.dirty || email.touched)\\\">\\r\\n                                                <div style=\\\"color: red;\\\" [hidden]=\\\"!email.errors.required\\\">{{validation_message.email_required | translate}}\\r\\n                                                </div>\\r\\n                                                <div style=\\\"color: red;\\\" [hidden]=\\\"!email.errors?.email\\\">{{validation_message.valid_email | translate}}\\r\\n                                                </div>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                        <div *ngIf=\\\"edit==false\\\" class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                                            {{store_edit.email }}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n\\r\\n                                    <div class=\\\"row col-md-12 remove_padding\\\">\\r\\n                                        <label class=\\\"col-lg-4  col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.phone | translate}}<div *ngIf=\\\"edit==false\\\" class=\\\"pull-right\\\">:</div></label>\\r\\n                                        <div *ngIf=\\\"edit==true\\\" class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                                            <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_edit.phone\\\" minlength=\\\"{{minimum_phone_number_length}}\\\" (keypress)=\\\"helper.number_validation($event)\\\" maxlength=\\\"{{maximum_phone_number_length}}\\\" #phone=\\\"ngModel\\\" name=\\\"phone\\\" required/>\\r\\n                                            <div *ngIf=\\\"phone.errors && (phone.dirty || phone.touched)\\\">\\r\\n                                                <div style=\\\"color: red;\\\" [hidden]=\\\"!phone.errors.required\\\">{{validation_message.phone_required | translate}}\\r\\n                                                </div>\\r\\n                                                <div style=\\\"color: red;\\\" [hidden]=\\\"!phone.errors.minlength\\\">{{validation_message.phone_minlength | translate}}\\r\\n                                                </div>\\r\\n                                                <div style=\\\"color: red;\\\" [hidden]=\\\"!phone.errors.maxlength\\\">{{validation_message.phone_maxlength | translate}}\\r\\n                                                </div>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                        <div *ngIf=\\\"edit==false\\\" class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group translatey\\\">\\r\\n                                            {{store_edit.phone}}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n\\r\\n                                    <div class=\\\"row col-md-12 remove_padding\\\">\\r\\n                                        <label class=\\\"col-lg-4 col-sm-4 remove_padding control-label\\\">{{title.address | translate}}<div *ngIf=\\\"edit==false\\\" class=\\\"pull-right\\\">:</div></label>\\r\\n                                        <div [hidden]=\\\"edit==false\\\" class=\\\"col-lg-8 col-sm-8 form-group\\\">\\r\\n                                            <input type=\\\"text\\\" id=\\\"address\\\" [disabled]=\\\"edit==false\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_edit.address\\\" #address=\\\"ngModel\\\" name=\\\"address\\\" required/>\\r\\n                                            <div *ngIf=\\\"address.errors && (address.dirty || address.touched)\\\">\\r\\n                                                <div style=\\\"color: red;\\\" [hidden]=\\\"!address.errors.required\\\">{{validation_message.address_required | translate}}\\r\\n                                                </div>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                        <div *ngIf=\\\"edit==false\\\" class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group translatey\\\">\\r\\n                                            {{store_edit.address}}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n\\r\\n                                    <div class=\\\"row col-md-12 remove_padding\\\">\\r\\n                                        <label class=\\\"col-lg-4 col-sm-4 remove_padding control-label\\\">{{title.website_url | translate}}<div *ngIf=\\\"edit==false\\\" class=\\\"pull-right\\\">:</div></label>\\r\\n                                        <div *ngIf=\\\"edit==true\\\" class=\\\"col-lg-8 col-sm-8 form-group\\\">\\r\\n                                            <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_edit.website_url\\\" [disabled]=\\\"edit==false\\\" #website_url=\\\"ngModel\\\" name=\\\"website_url\\\"/>\\r\\n                                        </div>\\r\\n                                        <div *ngIf=\\\"edit==false\\\" class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group translatey\\\">\\r\\n                                            {{store_edit.website_url}}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n\\r\\n                                    <div class=\\\"row col-md-12 remove_padding\\\">\\r\\n                                        <label class=\\\"col-lg-4 col-sm-4 remove_padding control-label\\\">{{title.slogan | translate}}<div *ngIf=\\\"edit==false\\\" class=\\\"pull-right\\\">:</div></label>\\r\\n                                        <div *ngIf=\\\"edit==true\\\" class=\\\"col-lg-8 col-sm-8 form-group\\\">\\r\\n                                            <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_edit.slogan\\\" [disabled]=\\\"edit==false\\\" #slogan=\\\"ngModel\\\" name=\\\"slogan\\\"/>\\r\\n                                        </div>\\r\\n                                        <div *ngIf=\\\"edit==false\\\" class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group translatey\\\">\\r\\n                                            {{store_edit.slogan}}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n\\r\\n                                    <div *ngIf=\\\"edit==true\\\" class=\\\"row col-md-12 remove_padding\\\" [hidden]=\\\"store_edit.social_id.length !== 0\\\">\\r\\n                                        <label class=\\\"col-lg-4 col-sm-4 remove_padding control-label\\\">{{title.new_password | translate}}</label>\\r\\n                                        <div class=\\\"col-lg-8 col-sm-8 form-group\\\">\\r\\n                                            <input type=\\\"password\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_edit.new_password\\\" [disabled]=\\\"edit==false\\\" #new_password=\\\"ngModel\\\" minlength=\\\"6\\\" name=\\\"new_password\\\"/>\\r\\n                                            <div *ngIf=\\\"new_password.errors\\\">\\r\\n                                                <div style=\\\"color: red;\\\" [hidden]=\\\"!new_password.errors.minlength\\\">{{validation_message.password_minlength | translate}}\\r\\n                                                </div>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n\\r\\n                                    <!-- <div *ngIf=\\\"edit==true\\\" class=\\\"row col-md-12 remove_padding\\\" [hidden]=\\\"store_edit.social_id.length !== 0\\\">\\r\\n                                        <label class=\\\"col-lg-4 col-sm-4 remove_padding control-label\\\">{{title.confirm_password | translate}}</label>\\r\\n                                        <div class=\\\"col-lg-8 col-sm-8 form-group\\\">\\r\\n                                            <input type=\\\"password\\\" [equalTo]=\\\"confirm_password\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_edit.new_password\\\" [disabled]=\\\"edit==false\\\" #new_password=\\\"ngModel\\\" minlength=\\\"6\\\" name=\\\"new_password\\\"/>\\r\\n                                            <div *ngIf=\\\"new_password.errors\\\">\\r\\n                                                <div style=\\\"color: red;\\\" [hidden]=\\\"!new_password.errors?.equalTo\\\">{{validation_message.match_confirm_password | translate}}\\r\\n                                                </div>\\r\\n                                                <div style=\\\"color: red;\\\" [hidden]=\\\"!new_password.errors.minlength\\\">{{validation_message.phone_minlength | translate}}\\r\\n                                                </div>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                    </div> -->\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n                </div>\\r\\n            </form>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-6 col-sm-12\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"padding: 0;min-height: 35px !important;\\\">\\r\\n                            <label style=\\\"margin-left: 15px;margin-top: 9px;\\\" class=\\\"control-label\\\">{{heading_title.upload_documents | translate}}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content document\\\" style=\\\"overflow: auto;\\\">\\r\\n                            <div class=\\\"table-responsive\\\" style=\\\"height: 100%;overflow: auto;\\\">\\r\\n                                <table class=\\\"table\\\">\\r\\n                                    <thead>\\r\\n                                        <tr>\\r\\n                                            <th></th>\\r\\n                                            <th>{{title.name | translate}}</th>\\r\\n                                            <th width=\\\"25%\\\">{{title.unique_code | translate}}</th>\\r\\n                                            <th width=\\\"25%\\\">{{title.expiry_date | translate}}</th>\\r\\n                                            <th></th>\\r\\n                                        </tr>\\r\\n                                    </thead>\\r\\n                                    <tbody>\\r\\n                                        <tr *ngFor=\\\"let document of document_list; let document_index=index;\\\">\\r\\n                                            <td>\\r\\n                                                <div *ngIf=\\\"edit_document[document_index]!=='true'\\\">\\r\\n                                                    <img src=\\\"default.png\\\" class=\\\"document{{document_index}} img-circle\\\" style=\\\"width: 50px;height: 50px;\\\">\\r\\n                                                </div>\\r\\n                                                <div *ngIf=\\\"edit_document[document_index]=='true'\\\">\\r\\n                                                    <span class=\\\"btn-file\\\"><img src=\\\"default.png\\\" class=\\\"document{{document_index}} img-circle\\\" style=\\\"width: 50px;height: 50px;\\\">\\r\\n                                                        <input type=\\\"file\\\" (change)=\\\"image_update($event , document_index);\\\" name=\\\"image\\\">\\r\\n                                                    </span>\\r\\n                                                </div>\\r\\n                                            </td>\\r\\n                                            <td><label *ngIf=\\\"document.document_details.is_mandatory\\\" style=\\\"color: red;\\\">*</label>{{document.document_details.document_name}}</td>\\r\\n                                            <td>\\r\\n                                                <div *ngIf=\\\"document.document_details.is_unique_code && edit_document[document_index]!=='true'\\\">\\r\\n                                                    {{document.unique_code}}\\r\\n                                                </div>\\r\\n                                                <div *ngIf=\\\"document.document_details.is_unique_code && edit_document[document_index]=='true'\\\">\\r\\n                                                    <input type=\\\"text\\\" [(ngModel)]=\\\"documentlist.unique_code\\\" #unique_code=\\\"ngModel\\\"  name=\\\"unique_code\\\" style=\\\"border-radius: 5px;border-color: #060606;height: 30px;\\\" class=\\\"form-control\\\">\\r\\n                                                </div>\\r\\n                                                <div *ngIf=\\\"!document.document_details.is_unique_code\\\">\\r\\n                                                    No Unique Code\\r\\n                                                </div>\\r\\n                                            </td>\\r\\n                                            <td>\\r\\n                                                <div *ngIf=\\\"document.document_details.is_expired_date && edit_document[document_index]!=='true'\\\">\\r\\n                                                    {{document.expired_date | date: \\\"MM-dd-yyyy\\\"}}\\r\\n                                                </div>\\r\\n                                                <div *ngIf=\\\"document.document_details.is_expired_date && edit_document[document_index]=='true'\\\">\\r\\n                                                    <my-date-picker [(ngModel)]=\\\"documentlist.expired_date\\\" #expired_date=\\\"ngModel\\\"  name=\\\"expired_date\\\" id=\\\"expiry_date\\\" value=\\\"\\\" [options]=\\\"helper.ExpiryDatePickerOptions\\\" placeholder=\\\"{{title.exp_date | translate}}\\\" readonly></my-date-picker>\\r\\n                                                </div>\\r\\n                                                <div *ngIf=\\\"!document.document_details.is_expired_date\\\">\\r\\n                                                    No Expiry Date\\r\\n                                                </div>\\r\\n                                            </td>\\r\\n                                            <td>\\r\\n                                                <span *ngIf=\\\"edit_document[document_index]=='false'\\\" class=\\\"fa fa-pencil pull-right\\\" (click)=\\\"editDocument(document , document_index)\\\"></span>\\r\\n                                                <span *ngIf=\\\"edit_document[document_index]=='true'\\\" class=\\\"fa fa-check pull-right\\\" (click)=\\\"updateDocument(document , document_index)\\\"></span>\\r\\n                                            </td>\\r\\n                                        </tr>\\r\\n                                    </tbody>\\r\\n                                </table>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-6 col-sm-12\\\" *ngIf=\\\"store_edit.account_id\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"padding: 0;min-height: 35px !important;\\\">\\r\\n                        <label style=\\\"margin-left: 15px;margin-top: 9px;\\\" class=\\\"control-label\\\">{{heading_title.bank_detail | translate}}</label>\\r\\n                        <button type=\\\"submit\\\" (click)=\\\"delete_bank_detail()\\\" class=\\\"btn btn-primary pull-right\\\">{{button.delete | translate}}</button>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content\\\" style=\\\"overflow: auto;\\\">\\r\\n                        <!-- <div class=\\\"row col-md-12 remove_padding\\\"><label class=\\\"col-lg-4  col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.bank_id | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n                            <div class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                                {{store_edit.bank_id }}\\r\\n                            </div>\\r\\n                        </div> -->\\r\\n                        <div class=\\\"row col-md-12 remove_padding\\\"><label class=\\\"col-lg-4  col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.account_id | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n                            <div class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                                {{store_edit.account_id }}\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"row col-md-12 remove_padding\\\"><label class=\\\"col-lg-4  col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.bank_account_holder_name | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n                            <div class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                                {{store_edit.bank_account_holder_name }}\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"row col-md-12 remove_padding\\\"><label class=\\\"col-lg-4  col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.account_number | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n                            <div class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                                {{store_edit.account_number }}\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"row col-md-12 remove_padding\\\"><label class=\\\"col-lg-4  col-xs-4 col-sm-4 remove_padding control-label\\\">{{title.last_transfer_date | translate}}<div class=\\\"pull-right\\\">:</div></label>\\r\\n                            <div class=\\\"col-lg-8 col-xs-8 col-sm-8 form-group\\\">\\r\\n                                {{store_edit.last_transfer_date | date: \\\"MM-dd-yyyy\\\"}}\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"text-center\\\">\\r\\n                            <button type=\\\"submit\\\" *ngIf=\\\"!store_edit.details_submitted\\\" (click)=\\\"UpdateBankDetail()\\\" class=\\\"btn btn-primary\\\">Update Missing Info</button>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-md-6 col-sm-12\\\" *ngIf=\\\"!store_edit.account_id\\\">\\r\\n                <form #bankDetailForm=\\\"ngForm\\\" (ngSubmit)=\\\"UpdateBankDetail()\\\" novalidate>\\r\\n                    <div class=\\\"ibox\\\">\\r\\n                        <div class=\\\"ibox-title\\\" style=\\\"padding: 0;min-height: 35px !important;\\\">\\r\\n                            <label style=\\\"margin-left: 15px;margin-top: 9px;\\\" class=\\\"control-label\\\">{{heading_title.bank_detail | translate}}</label>\\r\\n                        </div>\\r\\n                        <div class=\\\"ibox-content\\\" style=\\\"overflow: auto;\\\">\\r\\n                            <!-- <div class=\\\"row col-md-12 remove_padding\\\">\\r\\n                                <label class=\\\"col-lg-4 col-sm-4 remove_padding control-label\\\">{{title.bank_account_holder_name | translate}}</label>\\r\\n                                <div class=\\\"col-lg-8 col-sm-8 form-group\\\">\\r\\n                                    <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"bank_detail.bank_account_holder_name\\\" #bank_account_holder_name=\\\"ngModel\\\" name=\\\"bank_account_holder_name\\\" required/>\\r\\n                                    <div *ngIf=\\\"bank_account_holder_name.required\\\">\\r\\n                                        <div style=\\\"color: red;\\\" [hidden]=\\\"!bank_account_holder_name.errors.minlength\\\">{{validation_message.name_required | translate}}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"row col-md-12 remove_padding\\\">\\r\\n                                <label class=\\\"col-lg-4 col-sm-4 remove_padding control-label\\\">{{title.account_number | translate}}</label>\\r\\n                                <div class=\\\"col-lg-8 col-sm-8 form-group\\\">\\r\\n                                    <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"bank_detail.account_number\\\" #account_number=\\\"ngModel\\\" name=\\\"account_number\\\" required/>\\r\\n                                    <div *ngIf=\\\"account_number.required\\\">\\r\\n                                        <div style=\\\"color: red;\\\" [hidden]=\\\"!account_number.errors.minlength\\\">{{validation_message.name_required | translate}}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div> -->\\r\\n\\r\\n                            <!-- <div class=\\\"row col-md-12 remove_padding\\\">\\r\\n                                <label class=\\\"col-lg-4 col-sm-4 remove_padding control-label\\\">{{title.date_of_birth | translate}}</label>\\r\\n                                <div class=\\\"col-lg-8 col-sm-8 form-group\\\">\\r\\n                                    <my-date-picker [options]=\\\"helper.myBirthDatePickerOptions\\\" placeholder=\\\"Date Of Birth\\\" [(ngModel)]=\\\"bank_detail.dob\\\" #dob=\\\"ngModel\\\" name=\\\"dob\\\" readonly required></my-date-picker>\\r\\n                                    <div *ngIf=\\\"dob.required\\\">\\r\\n                                        <div style=\\\"color: red;\\\" [hidden]=\\\"!dob.errors.minlength\\\">{{validation_message.name_required | translate}}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div> -->\\r\\n\\r\\n                            <div class=\\\"text-center\\\">\\r\\n                                <button type=\\\"submit\\\" [disabled]=\\\"!bankDetailForm.form.valid\\\" class=\\\"btn btn-primary\\\">Connect Stripe Account</button>\\r\\n                            </div>\\r\\n\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </form>\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-sm\\\" #myModal id=\\\"otp_model\\\">\\r\\n    <form #modalForm=\\\"ngForm\\\" (ngSubmit)=\\\"otp_var(modalForm.value)\\\">\\r\\n        <modal-header [show-close]=\\\"false\\\">\\r\\n            <h4 class=\\\"modal-title\\\">{{title.verification | translate}}!</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div [ngSwitch]=\\\"opt_error_message\\\">\\r\\n                <div *ngSwitchCase=1>\\r\\n                    <label style=\\\"color: red;\\\">{{validation_message.email_otp_wrong | translate}}</label>\\r\\n                </div>\\r\\n                <div *ngSwitchCase=2>\\r\\n                    <label style=\\\"color: red;\\\">{{validation_message.sms_otp_erong | translate}}</label>\\r\\n                </div>\\r\\n                <div *ngSwitchCase=3>\\r\\n                    <label style=\\\"color: red;\\\">{{validation_message.otp_wrong | translate}}</label>\\r\\n                </div>\\r\\n            </div>\\r\\n                <div class=\\\"form-group\\\" id=\\\"otp_for_sms\\\">\\r\\n                    <label>{{title.sms_otp | translate}}</label>\\r\\n                    <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"sms_otp\\\" name=\\\"sms_otp\\\" >\\r\\n                </div>\\r\\n                <div class=\\\"form-group\\\" id=\\\"otp_for_email\\\">\\r\\n                    <label>{{title.email_otp | translate}}</label>\\r\\n                    <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"email_otp\\\" name=\\\"email_otp\\\" >\\r\\n                </div>\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{button.submit | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-sm\\\" #oldPasswordModal id=\\\"old_passwrod\\\">\\r\\n    <form #oldPasswordForm=\\\"ngForm\\\" (ngSubmit)=\\\"old_password_update(oldPasswordForm.value)\\\">\\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <h4 class=\\\"modal-title\\\">{{title.old_password | translate}}</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n\\r\\n            <div class=\\\"form-group\\\">\\r\\n                <label>{{title.old_password | translate}}</label>\\r\\n                <input type=\\\"password\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_edit.old_password\\\" #old_password=\\\"ngModel\\\" minlength=\\\"6\\\" name=\\\"old_password\\\" required/>\\r\\n\\r\\n                <div *ngIf=\\\"old_password.errors && (old_password.dirty || old_password.touched)\\\">\\r\\n                <div style=\\\"color: red;\\\" [hidden]=\\\"!old_password.errors.required\\\">{{validation_message.password_required | translate}}\\r\\n                </div>\\r\\n                <div style=\\\"color: red;\\\" [hidden]=\\\"!old_password.errors.minlength\\\">{{validation_message.password_minlength | translate}}\\r\\n                </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{button.submit | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/store/profile/profile.component.html\n// module id = 1706\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.search | translate}}</label>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n\\r\\n                        <input type=\\\"text\\\" class=\\\"form-control search_box\\\" placeholder=\\\"{{title.filter_name | translate}}\\\" [(ngModel)]=\\\"search_value\\\"  name=\\\"search_value\\\">\\r\\n                        <span class=\\\"input-group-addon search_icon\\\"><span class=\\\"fa fa-search\\\"></span></span>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <label>{{title.sort | translate}}</label>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"sort_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"sort_field\\\" [(ngModel)]=\\\"sort_field\\\" name=\\\"sort_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n                        <option value=\\\"unique_id\\\">{{title.filter_id | translate}}</option>\\r\\n                        <option value=\\\"promo_code_name\\\">{{title.filter_name | translate}}</option>\\r\\n                        <option value=\\\"promo_code_value\\\">{{title.value | translate}}</option>\\r\\n                        <option value=\\\"promo_expire_date\\\">{{title.expiry_date | translate}}</option>\\r\\n\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"sort_orders\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"sort_promo_code\\\" [(ngModel)]=\\\"sort_promo_code\\\" name=\\\"sort_promo_code\\\" tabindex=\\\"4\\\">\\r\\n                        <option value=\\\"1\\\">{{title.ascending | translate}}</option>\\r\\n                        <option value=\\\"-1\\\">{{title.descending | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"col-md-6 col-sm-6 col-xs-6 filter_btn_div\\\">\\r\\n                <input type=\\\"button\\\" (click)=\\\"filter(1)\\\" class=\\\"btn filter_apply_btn pull-right\\\" value=\\\"{{button.apply | translate}}\\\" >\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 col-xs-6 filter_btn_div\\\">\\r\\n                <button [routerLink]=\\\"['/store/add_promocode']\\\" class=\\\"btn add_btn\\\">{{button.add_promo | translate}}<span class=\\\"fa fa-plus\\\" style=\\\"margin-left: 8px;\\\"></span></button>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n    </div>\\r\\n\\r\\n</div>\\r\\n<div class=\\\"wrapper content_top_bar_view1 wrapper-content animated fadeInRight \\\">\\r\\n    <div class=\\\"ibox\\\">\\r\\n        <div class=\\\"ibox-content\\\" style=\\\"padding-bottom: 40px;\\\">\\r\\n            <div class=\\\"table-responsive scrollbar\\\" style=\\\"height: calc(100vh - 255px);overflow: auto;\\\">\\r\\n                <table class=\\\"table table-striped\\\">\\r\\n                    <thead>\\r\\n                        <tr>\\r\\n                            <th>{{title.id | translate}}</th>\\r\\n                            <th>{{title.promo_code_name | translate}}</th>\\r\\n                            <th>{{title.promo_code_type | translate}}</th>\\r\\n                            <th>{{title.promo_code_value | translate}}</th>\\r\\n                            <th>{{title.for_use | translate}}</th>\\r\\n                            <th>{{title.uses | translate}}</th>\\r\\n                            <th>{{title.user_used | translate}}</th>\\r\\n                            <th>{{title.status | translate}}</th>\\r\\n                            <th>{{title.promo_expiry_date | translate}}</th>\\r\\n\\r\\n                            <th>{{title.action | translate}}</th>\\r\\n                        </tr>\\r\\n                    </thead>\\r\\n                    <tbody>\\r\\n                        <tr *ngFor=\\\"let i of promo_code_list; let index=index; let last=last;\\\">\\r\\n                            <td>{{i.unique_id}}</td>\\r\\n                            <td>{{i.promo_code_name }}</td>\\r\\n                            <td [ngSwitch]=\\\"i.promo_code_type\\\">\\r\\n                                <div *ngSwitchCase=\\\"2\\\">{{lable_title.absolute}}</div>\\r\\n                                <div *ngSwitchCase=\\\"1\\\">{{lable_title.percentage}}</div>\\r\\n\\r\\n                            </td>\\r\\n                            <td>{{i.promo_code_value }}</td>\\r\\n\\r\\n                            <td [ngSwitch]=\\\"i.promo_for\\\">\\r\\n                                <div *ngSwitchCase=helper.PROMO_FOR_ID.STORE>{{title.store}}</div>\\r\\n                                <div *ngSwitchCase=helper.PROMO_FOR_ID.PRODUCT>{{title.product}}</div>\\r\\n                                <div *ngSwitchCase=helper.PROMO_FOR_ID.ITEM>{{title.item}}</div>\\r\\n                            </td>\\r\\n\\r\\n                            <td>{{i.promo_code_uses}}</td>\\r\\n                            <td>{{i.used_promo_code}}</td>\\r\\n                            <td>\\r\\n                                <ui-switch (change)=\\\"promocode_active_deactive($event,i._id)\\\" [(ngModel)]=\\\"i.is_active\\\" #is_active=\\\"ngModel\\\" name=\\\"is_active\\\"></ui-switch>\\r\\n                            </td>\\r\\n                            <td [ngSwitch]=\\\"i.is_expired\\\">\\r\\n                                <div>{{i.promo_expire_date| date: \\\"dd MMM yyyy\\\"}}</div>\\r\\n                            </td>\\r\\n\\r\\n                            <td class=\\\"text-left footable-visible footable-last-column\\\">\\r\\n                                <div class=\\\"btn-group\\\">\\r\\n                                    <button (click)=\\\"editPromo(i._id)\\\" class=\\\"btn btn-xs btn-light_black\\\">{{helper.button.detail | translate}}</button>\\r\\n                                </div>\\r\\n                            </td>\\r\\n                        </tr>\\r\\n                    </tbody>\\r\\n                </table>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                <div class=\\\"lable_center\\\">\\r\\n\\r\\n                    <ul class=\\\"pagination\\\">\\r\\n                        <li *ngIf=\\\"page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"filter(page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                        <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page==index\\\">\\r\\n                            <a *ngIf=\\\"index==1 || index==total_page || index==page || index==page-1 || index==page+1\\\" (click)=\\\"filter(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                            <a *ngIf=\\\"(index==1 && (page!==1 && page!==2 && page!==3)) || (index==total_page-1 && (page!==total_page && page!==total_page-1 && page!==total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n\\r\\n                        </li>\\r\\n                        <li *ngIf=\\\"page!==total_page && promo_code_list.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"filter(page+1)\\\">{{button.next | translate}}</a></li>\\r\\n                    </ul>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/store/promo_code/promo_code.component.html\n// module id = 1707\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>   \\r\\n<form #settingUpdateForm=\\\"ngForm\\\" (ngSubmit)=\\\"UpdateSetting(settingUpdateForm.value)\\\">\\r\\n    <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_setting.store_id\\\" #store_id=\\\"ngModel\\\"  name=\\\"store_id\\\" />\\r\\n    <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_setting.server_token\\\" #server_token=\\\"ngModel\\\"  name=\\\"server_token\\\" />\\r\\n    <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_setting.store_time\\\" #store_time=\\\"ngModel\\\"  name=\\\"store_time\\\" />\\r\\n\\r\\n    <div class=\\\"wrapper wrapper-content animated fadeInRight content_top_bar\\\">\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-lg-4 col-sm-12\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"padding: 0;min-height: 35px !important;\\\">\\r\\n                        <label style=\\\"margin-left: 15px;margin-top: 9px;\\\" class=\\\"control-label\\\">{{heading_title.order_price_settings | translate}}</label>\\r\\n                        <div class=\\\"pull-right\\\">\\r\\n                            <input type=\\\"submit\\\" id=\\\"submit\\\" name=\\\"submit\\\" style=\\\"border-radius: 0;\\\" class=\\\"btn btn-primary\\\" value=\\\"{{button.update | translate}}\\\" >\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content order_price\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-6 control-label\\\">{{title.item_tax | translate}}</label>\\r\\n                                <div class=\\\"col-lg-6 form-group\\\">\\r\\n                                    <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_setting.item_tax\\\" #item_tax=\\\"ngModel\\\" (keypress)=\\\"helper.number_validation($event)\\\" name=\\\"item_tax\\\" required/>\\r\\n                                    <div *ngIf=\\\"item_tax.errors && (item_tax.dirty || item_tax.touched)\\\">\\r\\n                                        <div style=\\\"color: red;\\\" [hidden]=\\\"!item_tax.errors.required\\\">{{validation_message.item_tax_required | translate}}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-6 control-label\\\">{{title.min_order_price | translate}}</label>\\r\\n                                <div class=\\\"col-lg-6 form-group\\\">\\r\\n                                    <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_setting.min_order_price\\\" #min_order_price (keypress)=\\\"helper.number_validation($event)\\\" name=\\\"min_order_price\\\" required/>\\r\\n                                    <div *ngIf=\\\"min_order_price.errors && (min_order_price.dirty || min_order_price.touched)\\\">\\r\\n                                        <div style=\\\"color: red;\\\" [hidden]=\\\"!min_order_price.errors.required\\\">{{validation_message.min_order_price_required | translate}}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-6 control-label\\\">{{title.max_item_quantity_add_by_user | translate}}</label>\\r\\n                                <div class=\\\"col-lg-6 form-group\\\">\\r\\n                                    <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_setting.max_item_quantity_add_by_user\\\" #max_item_quantity_add_by_user (keypress)=\\\"helper.number_validation($event)\\\" name=\\\"max_item_quantity_add_by_user\\\" required/>\\r\\n                                    <div *ngIf=\\\"max_item_quantity_add_by_user.errors && (max_item_quantity_add_by_user.dirty || max_item_quantity_add_by_user.touched)\\\">\\r\\n                                        <div style=\\\"color: red;\\\" [hidden]=\\\"!max_item_quantity_add_by_user.errors.required\\\">{{validation_message.max_item_quantity_add_by_user_required | translate}}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-6 control-label\\\">{{title.payment_mode_for_pickup | translate}}</label>\\r\\n                                <div class=\\\"col-lg-6 form-group\\\">\\r\\n                                    <select chosen class=\\\"chosen-select\\\"[(ngModel)]=\\\"store_setting.payment_mode_for_pickup\\\" #payment_mode_for_pickup id=\\\"payment_mode_for_pickup\\\" name=\\\"payment_mode_for_pickup\\\">\\r\\n                                        <option value=\\\"0\\\">Both</option>\\r\\n                                        <option value=\\\"1\\\">Card</option>\\r\\n                                        <option value=\\\"2\\\">Cash</option>\\r\\n                                    </select>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-6 control-label\\\">{{title.payment_mode_for_delivery | translate}}</label>\\r\\n                                <div class=\\\"col-lg-6 form-group\\\">\\r\\n                                    <select chosen class=\\\"chosen-select\\\"[(ngModel)]=\\\"store_setting.payment_mode_for_delivery\\\" #payment_mode_for_delivery id=\\\"payment_mode_for_delivery\\\" name=\\\"payment_mode_for_delivery\\\">\\r\\n                                        <option value=\\\"0\\\">Both</option>\\r\\n                                        <option value=\\\"1\\\">Card</option>\\r\\n                                        <option value=\\\"2\\\">Cash</option>\\r\\n                                    </select>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-md-9 col-sm-9 col-xs-9 control-label\\\">{{title.is_ask_estimated_time_for_ready_order | translate}}</label>\\r\\n                                <div class=\\\"col-md-3 col-sm-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch [(ngModel)]=\\\"store_setting.is_ask_estimated_time_for_ready_order\\\" #is_ask_estimated_time_for_ready_order=\\\"ngModel\\\" name=\\\"is_ask_estimated_time_for_ready_order\\\"></ui-switch>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-lg-4 col-sm-12\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"padding: 0;min-height: 35px !important;\\\">\\r\\n                        <label style=\\\"margin-left: 15px;margin-top: 9px;\\\" class=\\\"control-label\\\">{{heading_title.order_cancellation_settings | translate}}</label>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content cancellation_setting\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-md-9 col-sm-9 col-xs-9 control-label\\\">{{title.is_order_cancellation_charge_apply | translate}}</label>\\r\\n                                <div class=\\\"col-md-3 col-sm-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch [(ngModel)]=\\\"store_setting.is_order_cancellation_charge_apply\\\" (change)=\\\"change_cancellation_apply($event)\\\" #is_order_cancellation_charge_apply=\\\"ngModel\\\" name=\\\"is_order_cancellation_charge_apply\\\"></ui-switch>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div *ngIf=\\\"store_setting.is_order_cancellation_charge_apply\\\" class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-6 control-label\\\">{{title.order_cancellation_charge_type | translate}}</label>\\r\\n                                <div class=\\\"col-lg-6 form-group\\\">\\r\\n                                    <select chosen class=\\\"chosen-select\\\" id=\\\"order_cancellation_charge_type\\\" [(ngModel)]=\\\"store_setting.order_cancellation_charge_type\\\" #order_cancellation_charge_type id=\\\"order_cancellation_charge_type\\\" name=\\\"order_cancellation_charge_type\\\" >\\r\\n                                        <option value=\\\"{{helper.ORDER_CANCELLATION_CHARGE_TYPE.PERCENTAGE}}\\\">{{title.percentage | translate}}</option>\\r\\n                                        <option value=\\\"{{helper.ORDER_CANCELLATION_CHARGE_TYPE.ABSOLUTE}}\\\">{{title.absolute | translate}}</option>\\r\\n                                    </select>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div *ngIf=\\\"store_setting.is_order_cancellation_charge_apply\\\" class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-6 control-label\\\">{{title.order_cancellation_charge_for_above_order_price | translate}}</label>\\r\\n                                <div class=\\\"col-lg-6 form-group\\\">\\r\\n                                    <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_setting.order_cancellation_charge_for_above_order_price\\\" #order_cancellation_charge_for_above_order_price (keypress)=\\\"helper.number_validation($event)\\\" name=\\\"order_cancellation_charge_for_above_order_price\\\" required/>\\r\\n                                    <div *ngIf=\\\"order_cancellation_charge_for_above_order_price.errors && (order_cancellation_charge_for_above_order_price.dirty || order_cancellation_charge_for_above_order_price.touched)\\\">\\r\\n                                        <div style=\\\"color: red;\\\" [hidden]=\\\"!order_cancellation_charge_for_above_order_price.errors.required\\\">{{validation_message.order_cancellation_charge_for_above_order_price_required | translate}}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div *ngIf=\\\"store_setting.is_order_cancellation_charge_apply\\\" class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-6 control-label\\\">{{title.order_cancellation_charge_value | translate}}</label>\\r\\n                                <div class=\\\"col-lg-6 form-group\\\">\\r\\n                                    <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_setting.order_cancellation_charge_value\\\" #order_cancellation_charge_value (keypress)=\\\"helper.number_validation($event)\\\" name=\\\"order_cancellation_charge_value\\\" required/>\\r\\n                                    <div *ngIf=\\\"order_cancellation_charge_value.errors && (order_cancellation_charge_value.dirty || order_cancellation_charge_value.touched)\\\">\\r\\n                                        <div style=\\\"color: red;\\\" [hidden]=\\\"!order_cancellation_charge_value.errors.required\\\">{{validation_message.order_cancellation_charge_value_required | translate}}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-lg-4 col-sm-12\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"padding: 0;min-height: 35px !important;\\\">\\r\\n                        <label style=\\\"margin-left: 15px;margin-top: 9px;\\\" class=\\\"control-label\\\">{{heading_title.schedule_order_settings | translate}}</label>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content cancellation_setting\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-md-9 col-sm-9 col-xs-9 control-label\\\">{{title.is_taking_schedule_order | translate}}</label>\\r\\n                                <div class=\\\"col-md-3 col-sm-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch [(ngModel)]=\\\"store_setting.is_taking_schedule_order\\\" #is_taking_schedule_order=\\\"ngModel\\\" name=\\\"is_taking_schedule_order\\\"></ui-switch>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"form-group\\\" *ngIf=\\\"store_setting.is_taking_schedule_order\\\">\\r\\n                                <label class=\\\"col-lg-6 control-label\\\">{{title.schedule_order_create_after_minute | translate}}</label>\\r\\n                                <div class=\\\"col-lg-6 form-group\\\">\\r\\n                                    <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_setting.schedule_order_create_after_minute\\\" #schedule_order_create_after_minute (keypress)=\\\"helper.number_validation($event)\\\" name=\\\"schedule_order_create_after_minute\\\" required/>\\r\\n                                    <div *ngIf=\\\"schedule_order_create_after_minute.errors && (schedule_order_create_after_minute.dirty || schedule_order_create_after_minute.touched)\\\">\\r\\n                                        <div style=\\\"color: red;\\\" [hidden]=\\\"!schedule_order_create_after_minute.errors.required\\\">{{validation_message.schedule_order_create_after_minute_required | translate}}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"form-group\\\" *ngIf=\\\"store_setting.is_taking_schedule_order\\\">\\r\\n                                <label class=\\\"col-lg-6 control-label\\\">{{title.inform_schedule_order_before_min | translate}}</label>\\r\\n                                <div class=\\\"col-lg-6 form-group\\\">\\r\\n                                    <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_setting.inform_schedule_order_before_min\\\" #inform_schedule_order_before_min (keypress)=\\\"helper.number_validation($event)\\\" name=\\\"inform_schedule_order_before_min\\\" required/>\\r\\n                                    <div *ngIf=\\\"inform_schedule_order_before_min.errors && (inform_schedule_order_before_min.dirty || inform_schedule_order_before_min.touched)\\\">\\r\\n                                        <div style=\\\"color: red;\\\" [hidden]=\\\"!inform_schedule_order_before_min.errors.required\\\">{{validation_message.inform_schedule_order_before_min_required | translate}}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-lg-4 col-sm-12\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"padding: 0;min-height: 35px !important;\\\">\\r\\n                        <label style=\\\"margin-left: 15px;margin-top: 9px;\\\" class=\\\"control-label\\\">{{heading_title.delivery_settings | translate}}</label>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content delivery_setting\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-md-9 col-sm-9 col-xs-9 control-label\\\">{{title.is_store_pay_delivery_fees | translate}}</label>\\r\\n                                <div class=\\\"col-md-3 col-sm-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch [(ngModel)]=\\\"store_setting.is_store_pay_delivery_fees\\\" #is_store_pay_delivery_fees=\\\"ngModel\\\" name=\\\"is_store_pay_delivery_fees\\\"></ui-switch>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"form-group\\\" *ngIf=\\\"store_setting.is_store_pay_delivery_fees\\\">\\r\\n                                <label class=\\\"col-lg-6 control-label\\\">{{title.free_delivery_for_above_order_price | translate}}</label>\\r\\n                                <div class=\\\"col-lg-6 form-group\\\">\\r\\n                                    <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_setting.free_delivery_for_above_order_price\\\" #free_delivery_for_above_order_price (keypress)=\\\"helper.number_validation($event)\\\" name=\\\"free_delivery_for_above_order_price\\\" required/>\\r\\n                                    <div *ngIf=\\\"free_delivery_for_above_order_price.errors && (free_delivery_for_above_order_price.dirty || free_delivery_for_above_order_price.touched)\\\">\\r\\n                                        <div style=\\\"color: red;\\\" [hidden]=\\\"!free_delivery_for_above_order_price.errors.required\\\">{{validation_message.free_delivery_for_above_order_price_required | translate}}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"form-group\\\" *ngIf=\\\"store_setting.is_store_pay_delivery_fees\\\">\\r\\n                                <label class=\\\"col-lg-6 control-label\\\">{{title.free_delivery_within_radius | translate}}</label>\\r\\n                                <div class=\\\"col-lg-6 form-group\\\">\\r\\n                                    <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_setting.free_delivery_within_radius\\\" #free_delivery_within_radius (keypress)=\\\"helper.number_validation($event)\\\" name=\\\"free_delivery_within_radius\\\" required/>\\r\\n                                    <div *ngIf=\\\"free_delivery_within_radius.errors && (free_delivery_within_radius.dirty || free_delivery_within_radius.touched)\\\">\\r\\n                                        <div style=\\\"color: red;\\\" [hidden]=\\\"!free_delivery_within_radius.errors.required\\\">{{validation_message.free_delivery_within_radius_required | translate}}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <!-- <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-6 control-label\\\">{{title.delivery_time | translate}}</label>\\r\\n                                <div class=\\\"col-lg-6 form-group\\\">\\r\\n                                    <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_setting.delivery_time\\\" #delivery_time=\\\"ngModel\\\" (keypress)=\\\"helper.number_validation($event)\\\" name=\\\"delivery_time\\\" required/>\\r\\n                                    <div *ngIf=\\\"delivery_time.errors && (delivery_time.dirty || delivery_time.touched)\\\">\\r\\n                                        <div style=\\\"color: red;\\\" [hidden]=\\\"!delivery_time.errors.required\\\">{{validation_message.delivery_time_required | translate}}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-6 control-label\\\">{{title.delivery_time_max | translate}}</label>\\r\\n                                <div class=\\\"col-lg-6 form-group\\\">\\r\\n                                    <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_setting.delivery_time_max\\\" #delivery_time_max=\\\"ngModel\\\" (keypress)=\\\"helper.number_validation($event)\\\" name=\\\"delivery_time_max\\\" required/>\\r\\n                                    <div *ngIf=\\\"delivery_time_max.errors && (delivery_time_max.dirty || delivery_time_max.touched)\\\">\\r\\n                                        <div style=\\\"color: red;\\\" [hidden]=\\\"!delivery_time_max.errors.required\\\">{{validation_message.delivery_time_max_required | translate}}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div> -->\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-6 control-label\\\">{{title.preparation_time_for_pickup | translate}}</label>\\r\\n                                <div class=\\\"col-lg-6 form-group\\\">\\r\\n                                    <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_setting.preparation_time_for_pickup\\\" #preparation_time_for_pickup=\\\"ngModel\\\" (keypress)=\\\"helper.number_validation($event)\\\" name=\\\"preparation_time_for_pickup\\\" required/>\\r\\n                                    <div *ngIf=\\\"preparation_time_for_pickup.errors && (preparation_time_for_pickup.dirty || preparation_time_for_pickup.touched)\\\">\\r\\n                                        <div style=\\\"color: red;\\\" [hidden]=\\\"!preparation_time_for_pickup.errors.required\\\">{{validation_message.delivery_time_required | translate}}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-6 control-label\\\">{{title.preparation_time_for_delivery | translate}}</label>\\r\\n                                <div class=\\\"col-lg-6 form-group\\\">\\r\\n                                    <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_setting.preparation_time_for_delivery\\\" #preparation_time_for_delivery=\\\"ngModel\\\" (keypress)=\\\"helper.number_validation($event)\\\" name=\\\"preparation_time_for_delivery\\\" required/>\\r\\n                                    <div *ngIf=\\\"preparation_time_for_delivery.errors && (preparation_time_for_delivery.dirty || preparation_time_for_delivery.touched)\\\">\\r\\n                                        <div style=\\\"color: red;\\\" [hidden]=\\\"!preparation_time_for_delivery.errors.required\\\">{{validation_message.delivery_time_max_required | translate}}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-md-9 col-sm-9 col-xs-9 control-label\\\">{{title.is_provide_delivery_anywhere | translate}}</label>\\r\\n                                <div class=\\\"col-md-3 col-sm-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch [(ngModel)]=\\\"store_setting.is_provide_delivery_anywhere\\\" #is_provide_delivery_anywhere=\\\"ngModel\\\" name=\\\"is_provide_delivery_anywhere\\\"></ui-switch>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"form-group\\\" *ngIf=\\\"!store_setting.is_provide_delivery_anywhere\\\">\\r\\n                                <label class=\\\"col-lg-6 control-label\\\">{{title.delivery_radius | translate}}</label>\\r\\n                                <div class=\\\"col-lg-6 form-group\\\">\\r\\n                                    <div class=\\\"input-group\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_setting.delivery_radius\\\" #delivery_radius (keypress)=\\\"helper.number_validation($event)\\\" name=\\\"delivery_radius\\\" required/>\\r\\n                                        <span class=\\\"input-group-addon\\\"><span class=\\\"\\\">{{title.km}}</span></span>\\r\\n                                    </div>\\r\\n                                    <div *ngIf=\\\"delivery_radius.errors && (delivery_radius.dirty || delivery_radius.touched)\\\">\\r\\n                                        <div style=\\\"color: red;\\\" [hidden]=\\\"!delivery_radius.errors.required\\\">{{validation_message.delivery_radius_required | translate}}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-lg-4 col-sm-12\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"padding: 0;min-height: 35px !important;\\\">\\r\\n                        <label style=\\\"margin-left: 15px;margin-top: 9px;\\\" class=\\\"control-label\\\">{{heading_title.general_settings | translate}}</label>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content general_setting\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-lg-6 control-label\\\">{{title.language | translate}}</label>\\r\\n                                <div class=\\\"col-lg-6 form-group\\\">\\r\\n                                    <select chosen class=\\\"chosen-select\\\"[(ngModel)]=\\\"store_setting.lang\\\" #lang id=\\\"lang\\\" name=\\\"lang\\\">\\r\\n                                        <option value=\\\"en\\\">English</option>\\r\\n                                        <!-- <option value=\\\"sp\\\">Spanish</option>\\r\\n                                        <option value=\\\"hi\\\">Hindi</option> -->\\r\\n                                    </select>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-md-9 col-sm-9 col-xs-9 control-label\\\">{{title.is_business_store | translate}}</label>\\r\\n                                <div class=\\\"col-md-3 col-sm-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch [(ngModel)]=\\\"store_setting.is_business\\\" #is_business=\\\"ngModel\\\" name=\\\"is_business\\\"></ui-switch>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-md-9 col-sm-9 col-xs-9 control-label\\\">{{title.is_busy | translate}}</label>\\r\\n                                <div class=\\\"col-md-3 col-sm-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch [(ngModel)]=\\\"store_setting.is_store_busy\\\" #is_store_busy=\\\"ngModel\\\" name=\\\"is_store_busy\\\"></ui-switch>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <label class=\\\"col-md-9 col-sm-9 col-xs-9 control-label\\\">{{title.is_visible | translate}}</label>\\r\\n                                <div class=\\\"col-md-3 col-sm-3 col-xs-3 form-group\\\">\\r\\n                                    <ui-switch [(ngModel)]=\\\"store_setting.is_visible\\\" #is_visible=\\\"ngModel\\\" name=\\\"is_visible\\\"></ui-switch>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"col-lg-4 col-sm-12\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"padding: 0;min-height: 35px !important;\\\">\\r\\n                        <label style=\\\"margin-left: 15px;margin-top: 9px;\\\" class=\\\"control-label\\\">{{heading_title.store_time | translate}}</label>\\r\\n                        <!-- <div class=\\\"pull-right\\\">\\r\\n                            <input *ngIf=\\\"!edit\\\" type=\\\"button\\\" name=\\\"button\\\" style=\\\"border-radius: 0;background-color: #bc202b;border-color: #bc202b;\\\" (click)=\\\"edit=true\\\" class=\\\"btn btn-primary\\\" value=\\\"{{button.edit | translate}}\\\" >\\r\\n                            <input *ngIf=\\\"edit\\\" type=\\\"button\\\" name=\\\"button\\\" style=\\\"border-radius: 0;\\\" (click)=\\\"updateStoreTime()\\\" class=\\\"btn btn-primary\\\" value=\\\"{{button.update | translate}}\\\" >\\r\\n                        </div> -->\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content general_setting scrollbar\\\">\\r\\n                        <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\r\\n                            <div class=\\\"col-lg-12\\\" style=\\\"border-bottom: 1px solid;padding-left: 0; padding-right: 0;\\\">\\r\\n                                <div class=\\\"wizard\\\" style=\\\"border-bottom: 1px solid;padding-left: 0; padding-right: 0;\\\">\\r\\n                                    <div class=\\\"steps clearfix\\\">\\r\\n                                        <ul style=\\\"display: table;padding: 0px;\\\">\\r\\n\\r\\n                                            <li (click)=\\\"change_day(0)\\\" style=\\\"width: unset !important;\\\" [style.border-bottom]=\\\"curren_selected_day == 0 ? '1px solid #bc202b' : null\\\" class=\\\"day_li\\\" >\\r\\n                                                <a style=\\\"border-bottom-right-radius: 0px; border-bottom-left-radius: 0px;border: 0px;\\\" class=\\\"btn-default\\\"><span style=\\\"margin-left: -5px;font-weight: bold;display:block;\\\" [style.color]=\\\"curren_selected_day == 0 ? '#bc202b' : null\\\" class=\\\"nav-label\\\">{{title.sunday | translate}}</span></a>\\r\\n                                            </li>\\r\\n                                            <li (click)=\\\"change_day(1)\\\" style=\\\"width: unset !important;\\\" [style.border-bottom]=\\\"curren_selected_day == 1 ? '1px solid #bc202b' : null\\\" class=\\\"day_li\\\" >\\r\\n                                                <a style=\\\"border-bottom-right-radius: 0px; border-bottom-left-radius: 0px;border: 0px;\\\" class=\\\"btn-default\\\"><span style=\\\"margin-left: -5px;font-weight: bold;display:block;\\\" [style.color]=\\\"curren_selected_day == 1 ? '#bc202b' : null\\\" class=\\\"nav-label\\\">{{title.monday | translate}}</span></a>\\r\\n                                            </li>\\r\\n                                            <li (click)=\\\"change_day(2)\\\" style=\\\"width: unset !important;\\\" [style.border-bottom]=\\\"curren_selected_day == 2 ? '1px solid #bc202b' : null\\\" class=\\\"day_li\\\" >\\r\\n                                                <a style=\\\"border-bottom-right-radius: 0px; border-bottom-left-radius: 0px;border: 0px;\\\" class=\\\"btn-default\\\"><span style=\\\"margin-left: -5px;font-weight: bold;display:block;\\\" [style.color]=\\\"curren_selected_day == 2 ? '#bc202b' : null\\\" class=\\\"nav-label\\\">{{title.tuesday | translate}}</span></a>\\r\\n                                            </li>\\r\\n                                            <li (click)=\\\"change_day(3)\\\" style=\\\"width: unset !important;\\\" [style.border-bottom]=\\\"curren_selected_day == 3 ? '1px solid #bc202b' : null\\\" class=\\\"day_li\\\" >\\r\\n                                                <a style=\\\"border-bottom-right-radius: 0px; border-bottom-left-radius: 0px;border: 0px;\\\" class=\\\"btn-default\\\"><span style=\\\"margin-left: -5px;font-weight: bold;display:block;\\\" [style.color]=\\\"curren_selected_day == 3 ? '#bc202b' : null\\\" class=\\\"nav-label\\\">{{title.wednesday | translate}}</span></a>\\r\\n                                            </li>\\r\\n                                            <li (click)=\\\"change_day(4)\\\" style=\\\"width: unset !important;\\\" [style.border-bottom]=\\\"curren_selected_day == 4 ? '1px solid #bc202b' : null\\\" class=\\\"day_li\\\" >\\r\\n                                                <a style=\\\"border-bottom-right-radius: 0px; border-bottom-left-radius: 0px;border: 0px;\\\" class=\\\"btn-default\\\"><span style=\\\"margin-left: -5px;font-weight: bold;display:block;\\\" [style.color]=\\\"curren_selected_day == 4 ? '#bc202b' : null\\\" class=\\\"nav-label\\\">{{title.thursday | translate}}</span></a>\\r\\n                                            </li>\\r\\n                                            <li (click)=\\\"change_day(5)\\\" style=\\\"width: unset !important;\\\" [style.border-bottom]=\\\"curren_selected_day == 5 ? '1px solid #bc202b' : null\\\" class=\\\"day_li\\\" >\\r\\n                                                <a style=\\\"border-bottom-right-radius: 0px; border-bottom-left-radius: 0px;border: 0px;\\\" class=\\\"btn-default\\\"><span style=\\\"margin-left: -5px;font-weight: bold;display:block;\\\" [style.color]=\\\"curren_selected_day == 5 ? '#bc202b' : null\\\" class=\\\"nav-label\\\">{{title.friday | translate}}</span></a>\\r\\n                                            </li>\\r\\n                                            <li (click)=\\\"change_day(6)\\\" style=\\\"width: unset !important;\\\" [style.border-bottom]=\\\"curren_selected_day == 6 ? '1px solid #bc202b' : null\\\" class=\\\"day_li\\\" >\\r\\n                                                <a style=\\\"border-bottom-right-radius: 0px; border-bottom-left-radius: 0px;border: 0px;\\\" class=\\\"btn-default\\\"><span style=\\\"margin-left: -5px;font-weight: bold;display:block;\\\" [style.color]=\\\"curren_selected_day == 6 ? '#bc202b' : null\\\" class=\\\"nav-label\\\">{{title.saturday | translate}}</span></a>\\r\\n                                            </li>\\r\\n                                        </ul>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"row\\\" style=\\\"margin-top: 9px;margin-bottom: 9px;\\\">\\r\\n                                    <div class=\\\"col-md-6 col-sm-6\\\">\\r\\n                                        <label class=\\\"col-md-9 col-sm-9 col-xs-9 control-label\\\" style=\\\"padding-top: 8px;\\\">{{title.open_full_time | translate}}</label>\\r\\n\\r\\n                                        <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\" style=\\\"padding-top: 6px;\\\">\\r\\n                                            <ui-switch (change)=\\\"store_full_time_open($event)\\\" [disabled]=\\\"!edit\\\" [(ngModel)]=\\\"is_store_open_full_time\\\" name=\\\"is_store_open_full_time\\\"></ui-switch>\\r\\n\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-6 col-sm-6\\\">\\r\\n                                        <label class=\\\"col-md-9 col-sm-9 col-xs-9 control-label\\\" style=\\\"padding-top: 8px;\\\">{{title.open | translate}}</label>\\r\\n\\r\\n                                        <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\" style=\\\"padding-top: 6px;\\\">\\r\\n                                            <ui-switch (change)=\\\"store_open($event)\\\" [disabled]=\\\"is_store_open_full_time || !edit\\\" [(ngModel)]=\\\"is_store_open\\\" name=\\\"is_store_open\\\"></ui-switch>\\r\\n\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"row\\\" style=\\\"margin-top: 9px;margin-bottom: 9px;\\\">\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <div class=\\\"text-center\\\">\\r\\n                                            <button type=\\\"button\\\" [disabled]=\\\"!edit\\\" (click)=\\\"open_copy_store_time_modal()\\\" class=\\\"btn add_btn\\\">{{button.copy_store_time | translate}}</button>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-md-6\\\">\\r\\n                                        <div class=\\\"text-center\\\">\\r\\n                                            <button type=\\\"button\\\" [disabled]=\\\"is_store_open_full_time || !edit\\\" (click)=\\\"open_add_time_modal()\\\" class=\\\"btn add_btn\\\">{{button.add_store_time | translate}}<span class=\\\"fa fa-plus pull-right\\\" style=\\\"margin-top: 2px;\\\"></span></button>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"\\\">\\r\\n                            <table class=\\\"table\\\">\\r\\n                                <tr>\\r\\n                                    <td>{{title.store_open_time | translate}}</td>\\r\\n                                    <td>{{title.store_close_time | translate}}</td>\\r\\n                                    <td>{{title.action | translate}}</td>\\r\\n\\r\\n                                </tr>\\r\\n                                <tr *ngFor=\\\"let i of selected_store_time_array; let index=index;\\\">\\r\\n                                    <td>{{i.store_open_time}}</td>\\r\\n                                    <td>{{i.store_close_time}}</td>\\r\\n                                    <td>\\r\\n                                        <span *ngIf=\\\"!is_store_open_full_time && edit\\\" (click)=\\\"edit_store_time(i, index)\\\" class=\\\"fa fa-pencil\\\"></span>\\r\\n                                        <span *ngIf=\\\"!is_store_open_full_time && edit\\\" (click)=\\\"remove_store_time(i)\\\" class=\\\"fa fa-times\\\"></span>\\r\\n                                    </td>\\r\\n                                </tr>\\r\\n                            </table>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <div class=\\\"row\\\" *ngIf=\\\"famous_for && famous_for.length>0\\\">\\r\\n            <div class=\\\"col-lg-12\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" >\\r\\n                        <label style=\\\"margin-left: 15px;margin-top: 9px;\\\" class=\\\"control-label\\\">{{heading_title.select_tag | translate}}</label>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content \\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12\\\">\\r\\n                                <div class=\\\"col-md-3 form-group\\\" *ngFor=\\\"let i of famous_for\\\">\\r\\n                                    <label><input class=\\\"icheck\\\" id=\\\"icheck{{i}}\\\" type=\\\"checkbox\\\" value=\\\"{{i}}\\\"/><span style=\\\"margin-left: 10px;\\\">{{i}}</span></label>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        \\r\\n\\r\\n    </div>\\r\\n</form>\\r\\n\\r\\n\\r\\n<div class=\\\"row\\\">\\r\\n    <div class=\\\"col-lg-4 col-sm-12\\\">\\r\\n        <form #settingSiteForm=\\\"ngForm\\\" (ngSubmit)=\\\"updateSiteSetting(settingSiteForm)\\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\" style=\\\"padding: 0;min-height: 35px !important;\\\">\\r\\n                    <label style=\\\"margin-left: 15px;margin-top: 9px;\\\" class=\\\"control-label\\\">{{heading_title.site_setting | translate}}</label>\\r\\n                    <div class=\\\"pull-right\\\">\\r\\n                        <input type=\\\"submit\\\" style=\\\"border-radius: 0;\\\" class=\\\"btn btn-primary\\\" value=\\\"{{button.update | translate}}\\\" >                        \\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"ibox-content delivery_setting\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-lg-6\\\" style=\\\"text-align: center;display: grid;margin-bottom: 20px;\\\">\\r\\n                            <div class=\\\"profile-images center\\\">\\r\\n                                <img class=\\\"img-circle\\\" (error)=\\\"$event.target.src = 'default.png'\\\" style=\\\"width: 120px;height: 120px;\\\" src=\\\"{{StoreDomainSetting.site_logo ? StoreDomainSetting.site_logo : 'default.png'}}\\\" alt=\\\"profile\\\">\\r\\n                            </div>\\r\\n                            <div class=\\\"center\\\" style=\\\"margin-left: 110px; margin-top: -115px;\\\">\\r\\n                                <span class=\\\"btn-file\\\"><i class=\\\"fa fa-pencil\\\"></i><input type=\\\"file\\\" accept=\\\"image/*\\\" (change)=\\\"change_image($event);\\\" name=\\\"image\\\"></span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-6\\\" style=\\\"text-align: center;display: grid;margin-bottom: 20px;\\\">\\r\\n                            <div class=\\\"profile-images center\\\">\\r\\n                                <img class=\\\"img-circle\\\" (error)=\\\"$event.target.src = 'default.png'\\\" style=\\\"width: 120px;height: 120px;\\\" src=\\\"{{StoreDomainSetting.title_logo ? StoreDomainSetting.title_logo : 'default.png'}}\\\" alt=\\\"profile\\\">\\r\\n                            </div>\\r\\n                            <div class=\\\"center\\\" style=\\\"margin-left: 110px; margin-top: -115px;\\\">\\r\\n                                <span class=\\\"btn-file\\\"><i class=\\\"fa fa-pencil\\\"></i><input type=\\\"file\\\" accept=\\\"image/*\\\" (change)=\\\"change_title_image($event);\\\" name=\\\"image\\\"></span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-6 control-label\\\">Domain Type</label>\\r\\n                                <div class=\\\"col-lg-6 form-group\\\">\\r\\n                                    <select chosen class=\\\"chosen-select\\\" id=\\\"domain_type\\\" [(ngModel)]=\\\"StoreDomainSetting.domain_type\\\" #domain_type id=\\\"domain_type\\\" name=\\\"domain_type\\\">\\r\\n                                        <option value=\\\"sub_domain\\\">Whop Sub Domain</option>\\r\\n                                        <option value=\\\"custom\\\">Custom</option>\\r\\n                                    </select>\\r\\n                                </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-6 control-label\\\">{{title.site_domain | translate}}</label>\\r\\n                            <div class=\\\"col-lg-6 form-group\\\">\\r\\n                                <div class=\\\"row\\\" style=\\\"display: flex;align-items: center;\\\">\\r\\n                                    <div style=\\\"padding: 0;\\\"><span class=\\\"pull-right\\\">www.</span></div>\\r\\n                                    <div style=\\\"padding: 0;\\\">\\r\\n                                        <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"StoreDomainSetting.site_domain\\\" #site_domain=\\\"ngModel\\\" name=\\\"site_domain\\\" required/>\\r\\n                                        <div *ngIf=\\\"site_domain.errors && (site_domain.dirty || site_domain.touched)\\\">\\r\\n                                            <div style=\\\"color: red;\\\" [hidden]=\\\"!site_domain.errors.required\\\">{{validation_message.site_color_required | translate}}\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                    <span *ngIf=\\\"StoreDomainSetting.domain_type=='sub_domain'\\\" style=\\\"padding: 0;\\\">.mywhop.com</span>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-6 control-label\\\">{{title.site_description | translate}}</label>\\r\\n                            <div class=\\\"col-lg-6 form-group\\\">\\r\\n                                <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"StoreDomainSetting.site_description\\\" #site_description=\\\"ngModel\\\" name=\\\"site_description\\\" required/>\\r\\n                                <div *ngIf=\\\"site_description.errors && (site_description.dirty || site_description.touched)\\\">\\r\\n                                    <div style=\\\"color: red;\\\" [hidden]=\\\"!site_domain.errors.required\\\">{{validation_message.site_description_required | translate}}\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"col-lg-6 control-label\\\">{{title.site_color | translate}}</label>\\r\\n                            <div class=\\\"col-lg-6 form-group\\\">\\r\\n                                <input type=\\\"color\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"StoreDomainSetting.site_color\\\" #site_color=\\\"ngModel\\\" name=\\\"site_color\\\" required/>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-12\\\" style=\\\"margin-left:30px;\\\">\\r\\n                                <b>Pointing your domain to hosting with A records<br>\\r\\n                                    1. Log into your MYDOMAIN.com account.<br>\\r\\n                                    2. Got to your domains list.<br>\\r\\n                                    3. Click on the domain name you wish to create an A record for.<br>\\r\\n                                    4. Click Manage DNS Records.<br>\\r\\n                                    5. Select Add under the records table.<br>\\r\\n                                    6. Under type or select A.<br>\\r\\n                                    7. Enter the following details:<br></b>\\r\\n                                <div style=\\\"margin-left:30px;\\\">\\r\\n                                    <b>Host     :</b> The host name the A record links to. Type @ to point directly to your domain name.<br>\\r\\n                                    <b>Points to:</b> The IP address (18.156.75.98) you are setting as the destination for the host.\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </form>\\r\\n\\r\\n    </div>\\r\\n    <div class=\\\"col-lg-4 col-sm-12\\\" *ngIf=\\\"StoreDomainSetting.site_domain\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\" style=\\\"padding: 0;min-height: 35px !important;\\\">\\r\\n                <label style=\\\"margin-left: 15px;margin-top: 9px;\\\" class=\\\"control-label\\\">Telecharger cos produits / menu pour l'afficher sur votre site : </label>\\r\\n            </div>\\r\\n            <div class=\\\"ibox-content delivery_setting\\\">\\r\\n                <div class=\\\"row\\\">\\r\\n                    <div class=\\\"col-lg-12\\\">\\r\\n                        <div class=\\\"col-lg-12 profile-images center\\\" *ngIf=\\\"!StoreDomainSetting.menu_url || (StoreDomainSetting.menu_url && StoreDomainSetting.menu_url_type == 'application/pdf')\\\">\\r\\n                            <span class=\\\"btn-file pull-right\\\" style=\\\"width: 100%;\\\"><div style=\\\"background: gray;padding: 20px 30px 20px 30px;color: black;font-size: 20px;\\\">\\r\\n                                <span style=\\\"\\\">telecharger votre menu ici</span>\\r\\n                            </div><input type=\\\"file\\\" accept=\\\"image/*\\\" (change)=\\\"change_menu_image($event);\\\" name=\\\"image\\\"></span>\\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"col-lg-12 profile-images center\\\" *ngIf=\\\"StoreDomainSetting.menu_url && StoreDomainSetting.menu_url_type !== 'application/pdf'\\\">\\r\\n\\r\\n                            <span class=\\\"btn-file pull-right\\\" style=\\\"width: 100%;\\\"><img class=\\\"img-circle\\\" style=\\\"width: 100%;height: 110px;border-radius: 0;\\\" src=\\\"{{StoreDomainSetting.menu_url}}\\\" alt=\\\"profile\\\"><input type=\\\"file\\\" (change)=\\\"change_menu_image($event);\\\" name=\\\"image\\\"></span>\\r\\n\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n    <div class=\\\"col-lg-4 col-sm-12\\\" *ngIf=\\\"StoreDomainSetting.site_domain\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\" style=\\\"padding: 0;min-height: 35px !important;\\\">\\r\\n                <label style=\\\"margin-left: 15px;margin-top: 9px;\\\" class=\\\"control-label\\\">MES LIENS : </label>\\r\\n            </div>\\r\\n            <div class=\\\"ibox-content delivery_setting\\\">\\r\\n                <div class=\\\"row\\\">\\r\\n                    <div class=\\\"col-md-12\\\" style=\\\"display: flex;\\r\\n    justify-content: center;\\r\\n    align-items: center;\\\">\\r\\n                        <div class=\\\"col-md-8\\\">\\r\\n                            line pour commander : www.{{StoreDomainSetting.site_domain}}.mywhop.com\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-4\\\">\\r\\n                            <a href=\\\"https://api.qrserver.com/v1/create-qr-code/?size=150x150&amp;data=www.{{StoreDomainSetting.site_domain}}.mywhop.com\\\" target=\\\"_blank\\\"><span class=\\\"pull-right\\\" style=\\\"\\r\\n                                background: red;\\r\\n                                padding: 20px 30px 20px 30px;\\r\\n                                color: black;\\r\\n                                font-size: 14px;\\r\\n                                width: 110px;\\r\\n                                border-radius: 50%;\\r\\n                                margin-left: 20px;\\\">Obtain Qr code</span></a>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-12\\\" style=\\\"display: flex;\\r\\n    justify-content: center;\\r\\n    align-items: center;margin-top: 20px;\\\">\\r\\n                        <div class=\\\"col-md-8\\\">\\r\\n                            line pour afficher menu : www.{{StoreDomainSetting.site_domain}}.mywhop.com/menu\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-4\\\">\\r\\n                            <a href=\\\"https://api.qrserver.com/v1/create-qr-code/?size=150x150&amp;data=www.{{StoreDomainSetting.site_domain}}.mywhop.com/menu\\\" target=\\\"_blank\\\"><span class=\\\"pull-right\\\" style=\\\"\\r\\n                                background: red;\\r\\n                                padding: 20px 30px 20px 30px;\\r\\n                                color: black;\\r\\n                                font-size: 14px;\\r\\n                                width: 110px;\\r\\n                                border-radius: 50%;\\r\\n                                margin-left: 20px;\\\">Obtain Qr code</span></a>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" style=\\\"top: 25%;\\\" size=\\\"sm\\\" cssClass=\\\"modal-sm\\\" #myModal>\\r\\n    <form #storeTimeForm=\\\"ngForm\\\" novalidate (ngSubmit)=\\\"add_store_time()\\\" >\\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <h4 class=\\\"modal-title\\\">{{heading_title.add_store_time | translate}}</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <label class=\\\"col-lg-6 col-xs-6 control-label\\\">{{title.store_open_time | translate}}</label>\\r\\n                    <div class=\\\"col-lg-6 col-xs-6 input-group clock-picker\\\" id=\\\"clock-picker\\\"  data-autoclose=\\\"true\\\">\\r\\n                        <input type=\\\"text\\\" class=\\\"form-control\\\" id=\\\"open\\\" [(ngModel)]=\\\"store_setting.store_open_time\\\" #store_open_time=\\\"ngModel\\\" name=\\\"store_open_time\\\" readonly required>\\r\\n                        <span class=\\\"input-group-addon\\\">\\r\\n                            <span class=\\\"fa fa-clock-o\\\"></span>\\r\\n                        </span>\\r\\n\\r\\n                    </div>\\r\\n\\r\\n                    <div *ngIf=\\\"store_open_time.errors && (store_open_time.dirty || store_open_time.touched)\\\">\\r\\n                        <div style=\\\"color: red;\\\" [hidden]=\\\"!store_open_time.errors.required\\\">{{validation_message.store_open_time_required | translate}}\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <label class=\\\"col-lg-6 col-xs-6 control-label\\\">{{title.store_close_time | translate}}</label>\\r\\n                    <div class=\\\"col-lg-6 col-xs-6 input-group clock-picker\\\" id=\\\"clock-picker\\\"  data-autoclose=\\\"true\\\">\\r\\n                        <input type=\\\"text\\\" class=\\\"form-control\\\" id=\\\"close\\\" [(ngModel)]=\\\"store_setting.store_close_time\\\" #store_close_time=\\\"ngModel\\\" name=\\\"store_close_time\\\" readonly required>\\r\\n                        <span class=\\\"input-group-addon\\\">\\r\\n                            <span class=\\\"fa fa-clock-o\\\"></span>\\r\\n                        </span>\\r\\n\\r\\n                    </div>\\r\\n\\r\\n                    <div *ngIf=\\\"store_close_time.errors && (store_close_time.dirty || store_close_time.touched)\\\">\\r\\n                        <div style=\\\"color: red;\\\" [hidden]=\\\"!store_close_time.errors.required\\\">{{validation_message.store_close_time_required | translate}}\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div [ngSwitch]=\\\"store_open_time_error\\\">\\r\\n                <div *ngSwitchCase=1>\\r\\n                    <label style=\\\"color: red;\\\">{{validation_message.open_time_not_greater_close_time | translate}}</label>\\r\\n                </div>\\r\\n                <div *ngSwitchCase=2>\\r\\n                    <label style=\\\"color: red;\\\">{{validation_message.invalid_open_time | translate}}</label>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div [ngSwitch]=\\\"store_close_time_error\\\">\\r\\n                <div *ngSwitchCase=1>\\r\\n                    <label style=\\\"color: red;\\\">{{validation_message.close_time_not_less_open_time | translate}}</label>\\r\\n                </div>\\r\\n                <div *ngSwitchCase=2>\\r\\n                    <label style=\\\"color: red;\\\">{{validation_message.invalid_close_time | translate}}</label>\\r\\n                </div>\\r\\n            </div>\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{button.add | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" style=\\\"top: 25%;\\\" cssClass=\\\"modal-sm\\\" #oldPasswordModal id=\\\"old_passwrod\\\">\\r\\n    <form #oldPasswordForm=\\\"ngForm\\\" (ngSubmit)=\\\"old_password_update(oldPasswordForm.value)\\\">\\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <h4 class=\\\"modal-title\\\">{{title.password | translate}}</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div class=\\\"form-group\\\">\\r\\n                <input type=\\\"password\\\" class=\\\"form-control\\\" automoplete=\\\"off\\\" [(ngModel)]=\\\"store_setting.old_password\\\" #old_password=\\\"ngModel\\\" minlength=\\\"6\\\" name=\\\"old_password\\\" required/>\\r\\n\\r\\n                <div *ngIf=\\\"old_password.errors && (old_password.dirty || old_password.touched)\\\">\\r\\n                    <div style=\\\"color: red;\\\" [hidden]=\\\"!old_password.errors.required\\\">{{validation_message.password_required | translate}}\\r\\n                    </div>\\r\\n                    <div style=\\\"color: red;\\\" [hidden]=\\\"!old_password.errors.minlength\\\">{{validation_message.password_minlength | translate}}\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{button.submit | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" style=\\\"top: 25%;\\\" cssClass=\\\"modal-sm\\\" #copy_store_time_modal id=\\\"old_passwrod\\\">\\r\\n    <form #copy_store_time_form=\\\"ngForm\\\" (ngSubmit)=\\\"copy_store_time_update(copy_store_time_form.value)\\\">\\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <h4 class=\\\"modal-title\\\">{{title.copy_store_time | translate}}</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div class=\\\"form-group\\\">\\r\\n                <select chosen class=\\\"form-control chosen-select\\\" id=\\\"selected_days\\\" [(ngModel)]=\\\"selected_days\\\" multiple name=\\\"selected_days\\\" required>\\r\\n                    <!-- <option  value=\\\"\\\">All</option> -->\\r\\n                    <option *ngFor=\\\"let i of date_array\\\" value=\\\"{{i.value}}\\\">{{i.label}}\\r\\n                    </option>\\r\\n                </select>\\r\\n            </div>\\r\\n\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{button.submit | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/store/setting/setting.component.html\n// module id = 1708\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>   \\r\\n<div class=\\\"wrapper wrapper-content animated fadeInRight content_top_bar\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-lg-8 col-sm-12\\\">\\r\\n            <form #settingSiteForm=\\\"ngForm\\\" (ngSubmit)=\\\"updateSiteSetting(settingSiteForm)\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\" style=\\\"padding: 0;min-height: 35px !important;\\\">\\r\\n                        <label style=\\\"margin-left: 15px;margin-top: 9px;padding: 20px 0 0 20px;font-size: 20px;color: black;\\\" class=\\\"control-label\\\">Site Web gratuit (WHOP)</label>\\r\\n\\r\\n                        <div class=\\\"pull-right\\\">\\r\\n                            <input type=\\\"submit\\\" style=\\\"margin-top: 24px;margin-right: 20px;\\\" class=\\\"btn btn-primary\\\" value=\\\"{{button.update | translate}}\\\" >                        \\r\\n                        </div>\\r\\n                        <br><label style=\\\"margin-left: 35px;margin-top: 4px;font-size: 13px;color: black;font-weight: 400;\\\" class=\\\"control-label\\\">HOP vous offre un site de commande dédié GRATUIT  : WHOP ! </label>\\r\\n                        <br><label style=\\\"margin-left: 35px;margin-top: 4px;font-size: 13px;color: black;font-weight: 400;padding-bottom: 20px;\\\" class=\\\"control-label\\\">Augmentation de vos bénéfices garanties </label>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content delivery_setting\\\" style=\\\"background: #e5e5e5;\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                                \\r\\n                            <div class=\\\"col-lg-6 form-group\\\">\\r\\n                                <div>\\r\\n                                    <label class=\\\"col-lg-12 control-label\\\" style=\\\"padding-bottom: 5px;font-size: 16px;color: black;\\\">Choisissez votre nom de domaine:</label>\\r\\n                                    <div class=\\\"col-lg-12\\\">\\r\\n                                        <select chosen class=\\\"chosen-select\\\" id=\\\"domain_type\\\" [(ngModel)]=\\\"StoreDomainSetting.domain_type\\\" #domain_type id=\\\"domain_type\\\" name=\\\"domain_type\\\">\\r\\n                                            <option value=\\\"sub_domain\\\">Whop Sub Domain</option>\\r\\n                                            <option value=\\\"custom\\\">Custom</option>\\r\\n                                        </select>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                                <div style=\\\"margin-top: 10px;\\\">\\r\\n                                    <!-- <label class=\\\"col-lg-12 control-label\\\">{{title.site_domain | translate}}</label> -->\\r\\n                                    <div class=\\\"col-lg-12\\\" style=\\\"margin-top: 25px;\\\">\\r\\n                                        <div class=\\\"row\\\" style=\\\"display: flex;align-items: center;\\\">\\r\\n                                            <div  class=\\\"col-lg-2\\\"><span class=\\\"pull-right\\\">www.</span></div>\\r\\n                                            <div  class=\\\"col-lg-6\\\">\\r\\n                                                <input style=\\\"border-radius: 10px;\\\" type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"StoreDomainSetting.site_domain\\\" #site_domain=\\\"ngModel\\\" name=\\\"site_domain\\\" required/>\\r\\n                                                <div *ngIf=\\\"site_domain.errors && (site_domain.dirty || site_domain.touched)\\\">\\r\\n                                                    <div style=\\\"color: red;\\\" [hidden]=\\\"!site_domain.errors.required\\\">{{validation_message.site_domain_required | translate}}\\r\\n                                                    </div>\\r\\n                                                </div>\\r\\n                                            </div>\\r\\n                                            <span  class=\\\"col-lg-4\\\" *ngIf=\\\"StoreDomainSetting.domain_type=='sub_domain'\\\" style=\\\"padding: 0;\\\">.mywhop.com</span>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"col-lg-6 form-group\\\">\\r\\n                                <label class=\\\"col-lg-12 control-label\\\" style=\\\"padding-bottom: 5px;font-size: 16px;color: black;\\\">Description/Phrase d'accroche</label>\\r\\n                                <div class=\\\"col-lg-12\\\">\\r\\n                                    <textarea style=\\\"border-radius: 10px;\\\" rows=\\\"4\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"StoreDomainSetting.site_description\\\" #site_description=\\\"ngModel\\\" name=\\\"site_description\\\" required></textarea>\\r\\n                                    <div *ngIf=\\\"site_description.errors && (site_description.dirty || site_description.touched)\\\">\\r\\n                                        <div style=\\\"color: red;\\\" [hidden]=\\\"!site_domain.errors.required\\\">{{validation_message.site_description_required | translate}}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                        </div>\\r\\n                        <div class=\\\"row\\\" style=\\\"margin-top: 35px;\\\">\\r\\n\\r\\n                            <div class=\\\"col-lg-6 form-group\\\">\\r\\n                                <label class=\\\"col-lg-12 control-label\\\" style=\\\"padding-bottom: 5px;font-size: 16px;color: black;\\\">Votre Logo</label>\\r\\n                                <div class=\\\"col-lg-12\\\">\\r\\n                                    <div class=\\\"profile-images center\\\" style=\\\"background: #fff;padding: 20px;border-radius: 10px;\\\">\\r\\n                                        <img class=\\\"img-circle\\\" (error)=\\\"$event.target.src = 'default.png'\\\" style=\\\"width: 120px;height: 120px;\\\" src=\\\"{{StoreDomainSetting.site_logo ? StoreDomainSetting.site_logo : 'default.png'}}\\\" alt=\\\"profile\\\">\\r\\n                                        <div style=\\\"display: inline;margin-left: 35px;\\\">\\r\\n                                            <span class=\\\"btn-file\\\">\\r\\n                                                <input type=\\\"file\\\" accept=\\\"image/*\\\" (change)=\\\"change_image($event);\\\" name=\\\"image\\\">\\r\\n                                                <button type=\\\"button\\\" class=\\\"btn btn-primary\\\">Importre une image</button>\\r\\n                                            </span>\\r\\n                                        </div>                  \\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            \\r\\n                            <div class=\\\"col-lg-6\\\">\\r\\n                                <label class=\\\"col-lg-12 control-label\\\" style=\\\"padding-bottom: 5px;font-size: 16px;color: black;\\\">Choisissez les couleurs de votre site</label>\\r\\n                                <div class=\\\"col-lg-12\\\">\\r\\n                                    <div class=\\\"profile-images center\\\" style=\\\"background: #fff;padding: 20px;border-radius: 10px;\\\">\\r\\n                                        <span style=\\\"color: black;font-size: 14px;font-weight: 400;\\\">Couleur principale:</span>\\r\\n                                        <div class=\\\"row\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                                            <div class=\\\"col-md-8\\\">\\r\\n                                                <input type=\\\"color\\\" style=\\\"height: 70px;\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"StoreDomainSetting.site_color\\\" #site_color=\\\"ngModel\\\" name=\\\"site_color\\\" required/>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"row\\\" style=\\\"margin-top: 35px;\\\">\\r\\n\\r\\n                            <div class=\\\"col-lg-6 form-group\\\">\\r\\n                                <label class=\\\"col-lg-12 control-label\\\" style=\\\"padding-bottom: 5px;font-size: 16px;color: black;\\\">Choisissez l'image d'arriere plan</label>\\r\\n                                <div class=\\\"col-lg-12\\\">\\r\\n                                    <div class=\\\"profile-images center\\\" style=\\\"background: #fff;padding: 20px;border-radius: 10px;\\\">\\r\\n                                        <img class=\\\"img-circle\\\" (error)=\\\"$event.target.src = 'default.png'\\\" style=\\\"width: 120px;height: 120px;\\\" src=\\\"{{StoreDomainSetting.title_logo ? StoreDomainSetting.title_logo : 'default.png'}}\\\" alt=\\\"profile\\\">\\r\\n                                        <div style=\\\"display: inline;margin-left: 35px;\\\">\\r\\n                                             \\r\\n                                            <span class=\\\"btn-file\\\">\\r\\n                                                <button type=\\\"button\\\" class=\\\"btn btn-primary\\\">Importre une image</button> <input type=\\\"file\\\" accept=\\\"image/*\\\" (change)=\\\"change_title_image($event);\\\" name=\\\"image\\\">\\r\\n                                            </span>\\r\\n                                        </div>                   \\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"row\\\" style=\\\"margin-top: 35px;\\\">\\r\\n                            <div class=\\\"col-lg-4 form-group\\\">\\r\\n                                <label class=\\\"col-lg-12 control-label\\\" style=\\\"padding-bottom: 5px;font-size: 16px;color: black;\\\">Information generales</label>\\r\\n                                \\r\\n\\r\\n                                <div class=\\\"col-lg-12 form-group\\\">\\r\\n                                    <label class=\\\"col-lg-12 control-label\\\" style=\\\"color: black;font-size: 14px;font-weight: 400;\\\">Numéro de téléphone</label>\\r\\n                                    <div class=\\\"col-lg-4\\\">\\r\\n                                        <input style=\\\"border-radius: 10px;\\\" type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_setting.country_phone_code\\\" #country_phone_code=\\\"ngModel\\\" name=\\\"country_phone_code\\\" readonly/>\\r\\n                                        <div *ngIf=\\\"country_phone_code.errors && (country_phone_code.dirty || country_phone_code.touched)\\\">\\r\\n                                            <div style=\\\"color: red;\\\" [hidden]=\\\"!country_phone_code.errors.required\\\">{{validation_message.phone_required | translate}}\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-lg-8\\\">\\r\\n                                        <input style=\\\"border-radius: 10px;\\\" type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_setting.phone\\\" #phone=\\\"ngModel\\\" name=\\\"phone\\\" readonly/>\\r\\n                                        <div *ngIf=\\\"phone.errors && (phone.dirty || phone.touched)\\\">\\r\\n                                            <div style=\\\"color: red;\\\" [hidden]=\\\"!phone.errors.required\\\">{{validation_message.phone_required | translate}}\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-lg-12 form-group\\\">\\r\\n                                    <label class=\\\"col-lg-12 control-label\\\" style=\\\"color: black;font-size: 14px;font-weight: 400;\\\">Adresse mail</label>\\r\\n                                    <div class=\\\"col-lg-12\\\">\\r\\n                                        <input style=\\\"border-radius: 10px;\\\" type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_setting.email\\\" #email=\\\"ngModel\\\" name=\\\"email\\\" readonly required/>\\r\\n                                        <div *ngIf=\\\"email.errors && (email.dirty || email.touched)\\\">\\r\\n                                            <div style=\\\"color: red;\\\" [hidden]=\\\"!email.errors.required\\\">{{phone_required.email_required | translate}}\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-lg-12 form-group\\\">\\r\\n                                    <label class=\\\"col-lg-12 control-label\\\" style=\\\"color: black;font-size: 14px;font-weight: 400;\\\">Adresse du restaurant</label>\\r\\n                                    <div class=\\\"col-lg-12\\\">\\r\\n                                        <input style=\\\"border-radius: 10px;\\\" type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"store_setting.address\\\" #address=\\\"ngModel\\\" name=\\\"address\\\" readonly required/>\\r\\n                                        <div *ngIf=\\\"address.errors && (address.dirty || address.touched)\\\">\\r\\n                                            <div style=\\\"color: red;\\\" [hidden]=\\\"!address.errors.required\\\">{{validation_message.address_required | translate}}\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <!-- <div class=\\\"col-lg-4 form-group\\\">\\r\\n                                <label class=\\\"col-lg-12 control-label\\\" style=\\\"padding-bottom: 5px;font-size: 16px;color: black;\\\">Reseaux sociaux</label>\\r\\n                                <div class=\\\"col-lg-12 form-group\\\">\\r\\n                                    <label class=\\\"col-lg-12 control-label\\\" style=\\\"color: black;font-size: 14px;font-weight: 400;\\\">Facebook (Lien vers votre profil)</label>\\r\\n                                    <div class=\\\"col-lg-12\\\">\\r\\n                                        <input style=\\\"border-radius: 10px;\\\" type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"StoreDomainSetting.site_domain\\\" #site_domain=\\\"ngModel\\\" name=\\\"site_domain\\\" />\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-lg-12 form-group\\\">\\r\\n                                    <label class=\\\"col-lg-12 control-label\\\" style=\\\"color: black;font-size: 14px;font-weight: 400;\\\">Instagram (Lien vers votre profil)</label>\\r\\n                                    <div class=\\\"col-lg-12\\\">\\r\\n                                        <input style=\\\"border-radius: 10px;\\\" type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"StoreDomainSetting.site_domain\\\" #site_domain=\\\"ngModel\\\" name=\\\"site_domain\\\" />\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-lg-12 form-group\\\">\\r\\n                                    <label class=\\\"col-lg-12 control-label\\\" style=\\\"color: black;font-size: 14px;font-weight: 400;\\\">Trip Advisor (Lien vers votre profil)</label>\\r\\n                                    <div class=\\\"col-lg-12\\\">\\r\\n                                        <input style=\\\"border-radius: 10px;\\\" type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"StoreDomainSetting.site_domain\\\" #site_domain=\\\"ngModel\\\" name=\\\"site_domain\\\" />\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div> -->\\r\\n                        </div>\\r\\n\\r\\n                        <div *ngIf=\\\"StoreDomainSetting.site_domain\\\">\\r\\n                            <div class=\\\"row\\\" style=\\\"margin-top: 35px;\\\">\\r\\n                                <div class=\\\"col-lg-6 form-group\\\">\\r\\n                                    <label class=\\\"col-lg-12 control-label\\\" style=\\\"padding-bottom: 5px;font-size: 16px;color: black;\\\">Lines + QR Codes</label>\\r\\n                                    <div class=\\\"col-lg-12 form-group\\\">\\r\\n                                        <label class=\\\"col-lg-12 control-label\\\" style=\\\"color: black;font-size: 14px;font-weight: 400;\\\">Lien du site web (WHOP)</label>\\r\\n                                        <div class=\\\"col-lg-12\\\" *ngIf=\\\"StoreDomainSetting.domain_type == 'sub_domain'\\\">\\r\\n                                            <input style=\\\"border-radius: 10px;\\\" type=\\\"text\\\" class=\\\"form-control\\\" disabled value=\\\"www.{{StoreDomainSetting.site_domain}}.mywhop.com\\\" />\\r\\n                                        </div>\\r\\n                                        <div class=\\\"col-lg-12\\\" *ngIf=\\\"StoreDomainSetting.domain_type == 'custom'\\\">\\r\\n                                            <input style=\\\"border-radius: 10px;\\\" type=\\\"text\\\" class=\\\"form-control\\\" disabled value=\\\"www.{{StoreDomainSetting.site_domain}}\\\" />\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-lg-3 form-group\\\" style=\\\"margin-top: 58px;\\\">\\r\\n                                    <div class=\\\"col-lg-12\\\" *ngIf=\\\"StoreDomainSetting.domain_type == 'sub_domain'\\\">\\r\\n                                        <a href=\\\"https://api.qrserver.com/v1/create-qr-code/?size=150x150&amp;data=www.{{StoreDomainSetting.site_domain}}.mywhop.com\\\" target=\\\"_blank\\\"><button type=\\\"button\\\" class=\\\"btn btn-primary\\\">Générate un QR cde</button></a>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-lg-12\\\" *ngIf=\\\"StoreDomainSetting.domain_type == 'custom'\\\">\\r\\n                                        <a href=\\\"https://api.qrserver.com/v1/create-qr-code/?size=150x150&amp;data=www.{{StoreDomainSetting.site_domain}}\\\" target=\\\"_blank\\\"><button type=\\\"button\\\" class=\\\"btn btn-primary\\\">Générate un QR cde</button></a>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"row\\\" style=\\\"margin-top: 35px;\\\">\\r\\n                                <div class=\\\"col-lg-6 form-group\\\">\\r\\n                                    <div class=\\\"col-lg-12 form-group\\\">\\r\\n                                        <label class=\\\"col-lg-12 control-label\\\" style=\\\"color: black;font-size: 14px;font-weight: 400;\\\">Lien pour commander</label>\\r\\n                                        <div class=\\\"col-lg-12\\\" *ngIf=\\\"StoreDomainSetting.domain_type == 'sub_domain'\\\">\\r\\n                                            <input style=\\\"border-radius: 10px;\\\" type=\\\"text\\\" class=\\\"form-control\\\" disabled value=\\\"www.{{StoreDomainSetting.site_domain}}.mywhop.com/commander\\\" />\\r\\n                                        </div>\\r\\n                                        <div class=\\\"col-lg-12\\\" *ngIf=\\\"StoreDomainSetting.domain_type == 'custom'\\\">\\r\\n                                            <input style=\\\"border-radius: 10px;\\\" type=\\\"text\\\" class=\\\"form-control\\\" disabled value=\\\"www.{{StoreDomainSetting.site_domain}}/commander\\\" />\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-lg-3 form-group\\\" style=\\\"margin-top: 26px;\\\">\\r\\n                                    <div class=\\\"col-lg-12\\\" *ngIf=\\\"StoreDomainSetting.domain_type == 'sub_domain'\\\">\\r\\n                                        <a href=\\\"https://api.qrserver.com/v1/create-qr-code/?size=150x150&amp;data=www.{{StoreDomainSetting.site_domain}}.mywhop.com/commander\\\" target=\\\"_blank\\\"><button type=\\\"button\\\" class=\\\"btn btn-primary\\\">Générate un QR cde</button></a>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-lg-12\\\" *ngIf=\\\"StoreDomainSetting.domain_type == 'custom'\\\">\\r\\n                                        <a href=\\\"https://api.qrserver.com/v1/create-qr-code/?size=150x150&amp;data=www.{{StoreDomainSetting.site_domain}}/commander\\\" target=\\\"_blank\\\"><button type=\\\"button\\\" class=\\\"btn btn-primary\\\">Générate un QR cde</button></a>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"row\\\" style=\\\"margin-top: 35px;\\\">\\r\\n                                <div class=\\\"col-lg-6 form-group\\\">\\r\\n                                    <div class=\\\"col-lg-12 form-group\\\">\\r\\n                                        <label class=\\\"col-lg-12 control-label\\\" style=\\\"color: black;font-size: 14px;font-weight: 400;\\\">Lien pour afficher le menu</label>\\r\\n                                        <div class=\\\"col-lg-12\\\" *ngIf=\\\"StoreDomainSetting.domain_type == 'sub_domain'\\\">\\r\\n                                            <input style=\\\"border-radius: 10px;\\\" type=\\\"text\\\" class=\\\"form-control\\\" disabled value=\\\"www.{{StoreDomainSetting.site_domain}}.mywhop.com/menu\\\" />\\r\\n                                        </div>\\r\\n                                        <div class=\\\"col-lg-12\\\" *ngIf=\\\"StoreDomainSetting.domain_type == 'custom'\\\">\\r\\n                                            <input style=\\\"border-radius: 10px;\\\" type=\\\"text\\\" class=\\\"form-control\\\" disabled value=\\\"www.{{StoreDomainSetting.site_domain}}/menu\\\" />\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-lg-3 form-group\\\" style=\\\"margin-top: 26px;\\\">\\r\\n                                    <div class=\\\"col-lg-12\\\" *ngIf=\\\"StoreDomainSetting.domain_type == 'sub_domain'\\\">\\r\\n                                        <a href=\\\"https://api.qrserver.com/v1/create-qr-code/?size=150x150&amp;data=www.{{StoreDomainSetting.site_domain}}.mywhop.com/menu\\\" target=\\\"_blank\\\"><button type=\\\"button\\\" class=\\\"btn btn-primary\\\">Générate un QR cde</button></a>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-lg-12\\\" *ngIf=\\\"StoreDomainSetting.domain_type == 'custom'\\\">\\r\\n                                        <a href=\\\"https://api.qrserver.com/v1/create-qr-code/?size=150x150&amp;data=www.{{StoreDomainSetting.site_domain}}/menu\\\" target=\\\"_blank\\\"><button type=\\\"button\\\" class=\\\"btn btn-primary\\\">Générate un QR cde</button></a>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n                </div>\\r\\n            </form>\\r\\n        </div>\\r\\n\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" style=\\\"top: 25%;\\\" size=\\\"sm\\\" cssClass=\\\"modal-sm\\\" #myModal>\\r\\n    <form #storeTimeForm=\\\"ngForm\\\" novalidate (ngSubmit)=\\\"add_store_time()\\\" >\\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <h4 class=\\\"modal-title\\\">{{heading_title.add_store_time | translate}}</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <label class=\\\"col-lg-6 col-xs-6 control-label\\\">{{title.store_open_time | translate}}</label>\\r\\n                    <div class=\\\"col-lg-6 col-xs-6 input-group clock-picker\\\" id=\\\"clock-picker\\\"  data-autoclose=\\\"true\\\">\\r\\n                        <input type=\\\"text\\\" class=\\\"form-control\\\" id=\\\"open\\\" [(ngModel)]=\\\"store_setting.store_open_time\\\" #store_open_time=\\\"ngModel\\\" name=\\\"store_open_time\\\" readonly required>\\r\\n                        <span class=\\\"input-group-addon\\\">\\r\\n                            <span class=\\\"fa fa-clock-o\\\"></span>\\r\\n                        </span>\\r\\n\\r\\n                    </div>\\r\\n\\r\\n                    <div *ngIf=\\\"store_open_time.errors && (store_open_time.dirty || store_open_time.touched)\\\">\\r\\n                        <div style=\\\"color: red;\\\" [hidden]=\\\"!store_open_time.errors.required\\\">{{validation_message.store_open_time_required | translate}}\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <label class=\\\"col-lg-6 col-xs-6 control-label\\\">{{title.store_close_time | translate}}</label>\\r\\n                    <div class=\\\"col-lg-6 col-xs-6 input-group clock-picker\\\" id=\\\"clock-picker\\\"  data-autoclose=\\\"true\\\">\\r\\n                        <input type=\\\"text\\\" class=\\\"form-control\\\" id=\\\"close\\\" [(ngModel)]=\\\"store_setting.store_close_time\\\" #store_close_time=\\\"ngModel\\\" name=\\\"store_close_time\\\" readonly required>\\r\\n                        <span class=\\\"input-group-addon\\\">\\r\\n                            <span class=\\\"fa fa-clock-o\\\"></span>\\r\\n                        </span>\\r\\n\\r\\n                    </div>\\r\\n\\r\\n                    <div *ngIf=\\\"store_close_time.errors && (store_close_time.dirty || store_close_time.touched)\\\">\\r\\n                        <div style=\\\"color: red;\\\" [hidden]=\\\"!store_close_time.errors.required\\\">{{validation_message.store_close_time_required | translate}}\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div [ngSwitch]=\\\"store_open_time_error\\\">\\r\\n                <div *ngSwitchCase=1>\\r\\n                    <label style=\\\"color: red;\\\">{{validation_message.open_time_not_greater_close_time | translate}}</label>\\r\\n                </div>\\r\\n                <div *ngSwitchCase=2>\\r\\n                    <label style=\\\"color: red;\\\">{{validation_message.invalid_open_time | translate}}</label>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div [ngSwitch]=\\\"store_close_time_error\\\">\\r\\n                <div *ngSwitchCase=1>\\r\\n                    <label style=\\\"color: red;\\\">{{validation_message.close_time_not_less_open_time | translate}}</label>\\r\\n                </div>\\r\\n                <div *ngSwitchCase=2>\\r\\n                    <label style=\\\"color: red;\\\">{{validation_message.invalid_close_time | translate}}</label>\\r\\n                </div>\\r\\n            </div>\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{button.add | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" style=\\\"top: 25%;\\\" cssClass=\\\"modal-sm\\\" #oldPasswordModal id=\\\"old_passwrod\\\">\\r\\n    <form #oldPasswordForm=\\\"ngForm\\\" (ngSubmit)=\\\"old_password_update(oldPasswordForm.value)\\\">\\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <h4 class=\\\"modal-title\\\">{{title.password | translate}}</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div class=\\\"form-group\\\">\\r\\n                <input type=\\\"password\\\" class=\\\"form-control\\\" automoplete=\\\"off\\\" [(ngModel)]=\\\"store_setting.old_password\\\" #old_password=\\\"ngModel\\\" minlength=\\\"6\\\" name=\\\"old_password\\\" required/>\\r\\n\\r\\n                <div *ngIf=\\\"old_password.errors && (old_password.dirty || old_password.touched)\\\">\\r\\n                    <div style=\\\"color: red;\\\" [hidden]=\\\"!old_password.errors.required\\\">{{validation_message.password_required | translate}}\\r\\n                    </div>\\r\\n                    <div style=\\\"color: red;\\\" [hidden]=\\\"!old_password.errors.minlength\\\">{{validation_message.password_minlength | translate}}\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{button.submit | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" style=\\\"top: 25%;\\\" cssClass=\\\"modal-sm\\\" #copy_store_time_modal id=\\\"old_passwrod\\\">\\r\\n    <form #copy_store_time_form=\\\"ngForm\\\" (ngSubmit)=\\\"copy_store_time_update(copy_store_time_form.value)\\\">\\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <h4 class=\\\"modal-title\\\">{{title.copy_store_time | translate}}</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div class=\\\"form-group\\\">\\r\\n                <select chosen class=\\\"form-control chosen-select\\\" id=\\\"selected_days\\\" [(ngModel)]=\\\"selected_days\\\" multiple name=\\\"selected_days\\\" required>\\r\\n                    <!-- <option  value=\\\"\\\">All</option> -->\\r\\n                    <option *ngFor=\\\"let i of date_array\\\" value=\\\"{{i.value}}\\\">{{i.label}}\\r\\n                    </option>\\r\\n                </select>\\r\\n            </div>\\r\\n\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{button.submit | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/store/setting_whop/setting_whop.component.html\n// module id = 1709\n// module chunks = 0","module.exports = \"<style type=\\\"text/css\\\">\\r\\n    .scrollbar\\r\\n{\\r\\n    height: 245px;\\r\\n    background: #fff;\\r\\n    overflow-y: auto;\\r\\n}\\r\\n\\r\\n.scrollbar::-webkit-scrollbar-track\\r\\n{\\r\\n    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);\\r\\n    background-color: #fff;\\r\\n}\\r\\n\\r\\n.scrollbar::-webkit-scrollbar\\r\\n{\\r\\n    width: 6px;\\r\\n    background-color: #F5F5F5;\\r\\n}\\r\\n\\r\\n.scrollbar::-webkit-scrollbar-thumb\\r\\n{\\r\\n    background-color: #000000;\\r\\n}\\r\\n\\r\\n</style>\\r\\n<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\" style=\\\"right: 0;left: 0;\\\">\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n       <form #specificationForm=\\\"ngForm\\\" (ngSubmit)=\\\"addSpecificationGroup(specificationForm.value)\\\">\\r\\n            \\r\\n            <div class=\\\"col-md-4 col-sm-6 col-xs-12 pull-right\\\">\\r\\n                <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n                    <input type=\\\"text\\\" class=\\\"form-control spec_group_text_box\\\" (keyup)=\\\"checkSpecification(specification_name)\\\" placeholder=\\\"{{title.specification_name | translate}}\\\" [(ngModel)]=\\\"specification_name\\\"  name=\\\"specification_name\\\" required/>\\r\\n                    <label class=\\\"control-label\\\" [hidden]=\\\"spec_already==0\\\">{{message.specification_already_added | translate}}</label>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n                    <button [disabled]=\\\"spec_already==1\\\" class=\\\"btn add_btn\\\">{{button.add | translate}}<span class=\\\"fa fa-plus\\\" style=\\\"margin-left: 8px;\\\"></span></button>\\r\\n                </div>\\r\\n            </div>\\r\\n            \\r\\n        </form>\\r\\n    </div>\\r\\n\\r\\n</div>\\r\\n<div class=\\\"wrapper content_top_bar_view wrapper-content animated fadeInRight\\\">\\r\\n    \\r\\n    \\r\\n    <div *ngFor=\\\"let specification_group of specification_list; let specification_group_index=index;\\\" >\\r\\n        <div [class.row]=\\\"(specification_group_index+1)%4==0\\\">\\r\\n            <div class=\\\"col-lg-3 col-md-6 col-sm-12\\\" style=\\\"padding-left: 10px; padding-right: 10px;\\\">\\r\\n            <form #spec=\\\"ngForm\\\" enctype='multipart/form-data' >\\r\\n                <div class=\\\"ibox float-e-margins\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <input type=\\\"hidden\\\" [(ngModel)]=\\\"edit_specification_group[specification_group_index]\\\" name=\\\"edit_specification_group\\\">\\r\\n\\r\\n                        <input type=\\\"hidden\\\" [(ngModel)]=\\\"hide_specification_group[specification_group_index]\\\" name=\\\"hide_specification_group\\\">\\r\\n\\r\\n                        <h5 style=\\\"font-weight: bold;\\\">{{specification_group.name}}</h5>\\r\\n                        <span (click)=\\\"deleteSpecification_group(specification_group._id , specification_group_index)\\\" class=\\\"fa fa-times pull-right\\\"></span>\\r\\n\\r\\n                        <span *ngIf=\\\"edit_specification_group[specification_group_index]=='false'\\\" class=\\\"fa fa-pencil pull-right\\\" (click)=\\\"editSpecification(specification_group._id , specification_group_index)\\\"></span>\\r\\n\\r\\n                        <span *ngIf=\\\"edit_specification_group[specification_group_index]=='true'\\\" class=\\\"fa fa-check pull-right\\\" (click)=\\\"updateSpecification(specification_group._id , specification_group_index)\\\"></span>\\r\\n\\r\\n                        <span *ngIf=\\\"hide_specification_group[specification_group_index]=='true'\\\" class=\\\"fa fa-chevron-left pull-right\\\" (click)=\\\"show_specifications_group(specification_group_index)\\\"></span>\\r\\n\\r\\n                        <span *ngIf=\\\"hide_specification_group[specification_group_index]=='false'\\\" class=\\\"fa fa-chevron-down pull-right\\\" (click)=\\\"hide_specifications_group(specification_group_index)\\\"></span>\\r\\n\\r\\n\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content no-padding\\\">\\r\\n                         <div class=\\\"scrollbar\\\" id=\\\"spec_list{{specification_group_index}}\\\">\\r\\n                          \\r\\n                        \\r\\n                            <form #specificationForm=\\\"ngForm\\\" enctype='multipart/form-data' >\\r\\n                                \\r\\n                                <div *ngIf=\\\"edit_specification_group[specification_group_index]=='true'\\\">\\r\\n                                    <ul class=\\\"list-group\\\" *ngFor=\\\"let specification of specification_name_array; let specification_index=index; \\\">\\r\\n\\r\\n                                    \\r\\n                                        <li class=\\\"list-group-item spec_list\\\">\\r\\n                                            <span *ngIf=\\\"edit_specification_group[specification_group_index]=='true'\\\" (click)=\\\"deleteSpecification('' , specification_group_index ,specification_index)\\\" class=\\\"fa fa-times pull-right\\\"></span>\\r\\n                                            <div >\\r\\n                                                <input type=\\\"text\\\" class=\\\"\\\" [(ngModel)]=\\\"specification_name_arrays[specification_index]\\\" name=\\\"{{specification_index}}\\\">\\r\\n                                                \\r\\n\\r\\n                                            </div>\\r\\n                                        </li>\\r\\n                                    </ul>\\r\\n                                </div>\\r\\n\\r\\n                                <ul class=\\\"list-group\\\" *ngFor=\\\"let specification of specification_group.list; let specification_index=index; \\\">\\r\\n\\r\\n                                    <li class=\\\"list-group-item spec_list\\\">\\r\\n                                        <span *ngIf=\\\"edit_specification_group[specification_group_index]=='true'\\\" (click)=\\\"deleteSpecification(specification._id , specification_group_index ,specification_index)\\\" class=\\\"fa fa-times pull-right\\\"></span>\\r\\n                                        <div *ngIf=\\\"specification.name!=''\\\">\\r\\n                                            {{specification.name}}\\r\\n                                        </div>\\r\\n                                    </li>\\r\\n                                </ul>\\r\\n                                \\r\\n                            </form>\\r\\n                        </div>\\r\\n                        <div *ngIf=\\\"edit_specification_group[specification_group_index]=='true'\\\" class=\\\"add_spec_div\\\">\\r\\n\\r\\n                            <button (click)=\\\"append_specification(specification_group_index)\\\" class=\\\"btn add_btn\\\">Add Specification<span class=\\\"fa fa-plus\\\" style=\\\"margin-left: 8px;\\\"></span></button>\\r\\n                    \\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </form>\\r\\n            </div>\\r\\n        </div>\\r\\n            \\r\\n    </div>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/store/specification/specification.component.html\n// module id = 1710\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\"></footer>\\r\\n\\r\\n<!-- <div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n      <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n        <div class=\\\"col-md-12 remove_padding\\\">\\r\\n          <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n            <select chosen class=\\\"chosen-select\\\" [(ngModel)]=\\\"selected_product\\r\\n                                  \\\" name=\\\"selected_product\\\" id=\\\"selected_product\\\" tabindex=\\\"4\\\">\\r\\n              <option>{{title.all | translate}}</option>\\r\\n              <option *ngFor=\\\"let product_data of product_list\\\" value=\\\"{{product_data._id}}\\\">{{product_data.name}}</option>\\r\\n\\r\\n            </select>\\r\\n          </div>\\r\\n        </div>\\r\\n\\r\\n      </div>\\r\\n      <div class=\\\"col-md-3 col-sm-12\\\">\\r\\n        <div class=\\\"col-md-12 remove_padding\\\">\\r\\n          <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n            <div class=\\\"input-group\\\">\\r\\n\\r\\n              <input type=\\\"text\\\" (keyup)=\\\"filter_product(filter_product_name)\\\" class=\\\"form-control search_box\\\" [(ngModel)]=\\\"filter_product_name\\\" placeholder=\\\"{{title.item_name | translate}}\\\" style=\\\"color:#000000;\\\" name=\\\"filter_product_name\\\">\\r\\n              <span class=\\\"input-group-addon search_icon\\\"><span class=\\\"fa fa-search\\\"></span></span>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n\\r\\n      </div>\\r\\n      <div class=\\\"col-md-6 col-sm-12 pull-right\\\">\\r\\n        <div class=\\\"add_btn_div\\\" style=\\\"margin-right: 35px;\\\">\\r\\n\\r\\n          <a> <button (click)=\\\"checkbag()\\\" id=\\\"checkbag\\\" class=\\\"btn add_btn pull-right\\\"><span class=\\\"fa fa-shopping-bag pull-left\\\" style=\\\"margin-top: 2px;\\\"></span>{{button.cart | translate}}\\r\\n            <div *ngIf=\\\"helper.user_cart.cart_data.total_item>0\\\" class=\\\"cart_button\\\">{{helper.user_cart.cart_data.total_item}}</div></button>\\r\\n          </a>\\r\\n          <a (click)=\\\"helper.create_order_without_item()\\\"> <button class=\\\"btn add_btn pull-right\\\" style=\\\"margin-right: 10px;\\\">{{button.create_order_without_item | translate}}</button></a>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n</div> -->\\r\\n<!-- <div class=\\\"daisection\\\">\\r\\n  <div class=\\\"row\\\">\\r\\n\\r\\n    <div class=\\\"col-md-4 col-xs-12 col-sm-8 pull-right\\\">\\r\\n      <div class=\\\"checkoutbox\\\" id=\\\"outbox\\\" *ngIf=\\\"helper.user_cart.cart_data.cart.length>0\\\">\\r\\n        <div class=\\\"cart_data\\\">\\r\\n\\r\\n          <div>\\r\\n            <a class=\\\"clear_all\\\" (click)=\\\"helper.clear_cart()\\\">{{button.clear_all | translate}}</a>\\r\\n          </div>\\r\\n          <div *ngFor=\\\"let cart_product of helper.user_cart.cart_data.cart; let product_index=index;\\\">\\r\\n            <div class=\\\"col-md-12 col-xs-12\\\"\\r\\n                 *ngFor=\\\"let cart_item of cart_product.items; let item_index=index;\\\">\\r\\n              <div class=\\\"col-md-8 col-xs-8\\\">\\r\\n                <h4 class=\\\"cro\\\">{{cart_item.item_name}}</h4>\\r\\n                <h4 class=\\\"cro\\\">\\r\\n                  {{currency}}{{cart_item.total_item_and_specification_price}}</h4>\\r\\n              </div>\\r\\n              <div class=\\\"col-md-4 col-xs-4 text-right\\\">\\r\\n                <div class=\\\"minus\\\" (click)=\\\"helper.decrease_qty(product_index, item_index)\\\">\\r\\n                  <i class=\\\"fa fa-minus\\\" aria-hidden=\\\"true\\\"></i>\\r\\n                </div>\\r\\n                <h4 class=\\\"num\\\">{{cart_item.quantity}}</h4>\\r\\n                <div class=\\\"plus\\\" (click)=\\\"helper.increase_qty(product_index, item_index)\\\">\\r\\n                  <i class=\\\"fa fa-plus\\\" aria-hidden=\\\"true\\\"></i>\\r\\n                </div>\\r\\n                <a class=\\\"remove\\\" (click)=\\\"helper.remove_from_cart(product_index, item_index)\\\">{{button.remove\\r\\n                  | translate}}</a>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n\\r\\n\\r\\n        <div class=\\\"col-md-12 col-xs-12\\\" (click)=\\\"helper.redirect_to_invoice()\\\" style=\\\"background-color: black;\\\">\\r\\n          <div class=\\\"row\\\" style=\\\"margin: 0;\\\">\\r\\n            <button style=\\\"width: 100%;background-color: black;border: 0;\\\">\\r\\n              <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n                <h1 class=\\\"totalprice\\\" style=\\\"float: left;\\\">{{button.checkout | translate}}</h1>\\r\\n              </div>\\r\\n              <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n                <h1 class=\\\"totalprice\\\">\\r\\n                  {{currency}}{{helper.user_cart.total_cart_amount}}</h1>\\r\\n              </div>\\r\\n            </button>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n</div> -->\\r\\n{{ step }}\\r\\n<div\\r\\n  class=\\\"wrapper content_top_bar_view1 wrapper-content\\\"\\r\\n  style=\\\"padding: 70px 20px 10px !important\\\"\\r\\n>\\r\\n  <div class=\\\"row\\\">\\r\\n    <div class=\\\"col-lg-4 col-sm-6\\\">\\r\\n      <div class=\\\"ibox\\\">\\r\\n        <div class=\\\"ibox-content order_fix_div1 scrollbar\\\">\\r\\n          <span class=\\\"product_title\\\">Customer details</span>\\r\\n\\r\\n          <div class=\\\"pad-top\\\">\\r\\n            <div class=\\\"row\\\">\\r\\n              <div class=\\\"col-md-12 form-group\\\">\\r\\n                <div class=\\\"input-group\\\">\\r\\n                  <input\\r\\n                    [(ngModel)]=\\\"search_user\\\"\\r\\n                    name=\\\"search_user\\\"\\r\\n                    class=\\\"form-control\\\"\\r\\n                    placeholder=\\\"{{ title.email_or_phone | translate }}\\\"\\r\\n                    required\\r\\n                  />\\r\\n                  <span\\r\\n                    class=\\\"input-group-addon\\\"\\r\\n                    (click)=\\\"search_user_data(true)\\\"\\r\\n                  >\\r\\n                    <span class=\\\"fa fa-search\\\"></span>\\r\\n                  </span>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n            <div class=\\\"row\\\">\\r\\n              <div class=\\\"col-md-6 form-group\\\">\\r\\n                <input\\r\\n                  [(ngModel)]=\\\"user_data.first_name\\\"\\r\\n                  #first_name=\\\"ngModel\\\"\\r\\n                  name=\\\"first_name\\\"\\r\\n                  class=\\\"form-control\\\"\\r\\n                  placeholder=\\\"{{ title.enter_first_name | translate }}\\\"\\r\\n                  required\\r\\n                />\\r\\n              </div>\\r\\n              <div class=\\\"col-md-6 form-group\\\">\\r\\n                <input\\r\\n                  [(ngModel)]=\\\"user_data.last_name\\\"\\r\\n                  #last_name=\\\"ngModel\\\"\\r\\n                  name=\\\"last_name\\\"\\r\\n                  class=\\\"form-control\\\"\\r\\n                  placeholder=\\\"{{ title.enter_last_name | translate }}\\\"\\r\\n                  required\\r\\n                />\\r\\n              </div>\\r\\n            </div>\\r\\n            <div class=\\\"row\\\">\\r\\n              <div class=\\\"col-md-12 form-group\\\">\\r\\n                <input\\r\\n                  [(ngModel)]=\\\"user_data.email\\\"\\r\\n                  #email=\\\"ngModel\\\"\\r\\n                  name=\\\"email\\\"\\r\\n                  class=\\\"form-control\\\"\\r\\n                  placeholder=\\\"{{ title.enter_email | translate }}\\\"\\r\\n                  required\\r\\n                />\\r\\n              </div>\\r\\n            </div>\\r\\n            <div class=\\\"row\\\">\\r\\n              <div class=\\\"col-md-3 form-group\\\">\\r\\n                <input\\r\\n                  [(ngModel)]=\\\"user_data.country_phone_code\\\"\\r\\n                  #country_phone_code=\\\"ngModel\\\"\\r\\n                  name=\\\"country_phone_code\\\"\\r\\n                  class=\\\"form-control\\\"\\r\\n                  placeholder=\\\"{{ title.enter_country_phone_code | translate }}\\\"\\r\\n                  required\\r\\n                />\\r\\n              </div>\\r\\n              <div class=\\\"col-md-9 form-group\\\">\\r\\n                <input\\r\\n                  [(ngModel)]=\\\"user_data.phone\\\"\\r\\n                  #phone=\\\"ngModel\\\"\\r\\n                  name=\\\"phone\\\"\\r\\n                  class=\\\"form-control\\\"\\r\\n                  placeholder=\\\"{{ title.enter_mobile_no | translate }}\\\"\\r\\n                  required\\r\\n                />\\r\\n              </div>\\r\\n            </div>\\r\\n            <div class=\\\"row\\\" *ngIf=\\\"!user_data.user_id\\\">\\r\\n              <div class=\\\"col-lg-12 col-sm-12\\\">\\r\\n                <button\\r\\n                  class=\\\"btn stop_new_order\\\"\\r\\n                  (click)=\\\"create_user()\\\"\\r\\n                  style=\\\"background: black; border-color: black\\\"\\r\\n                  type=\\\"button\\\"\\r\\n                >\\r\\n                  Create User\\r\\n                </button>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n\\r\\n          <div [hidden]=\\\"user_type == helper.ADMIN_DATA_ID.STORE || step <= 1\\\">\\r\\n            <span class=\\\"product_title\\\">Select Store</span>\\r\\n            <div class=\\\"pad-top\\\">\\r\\n              <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-md-12 form-group\\\">\\r\\n                  <select\\r\\n                    chosen\\r\\n                    class=\\\"chosen-select\\\"\\r\\n                    id=\\\"store\\\"\\r\\n                    [(ngModel)]=\\\"store_id\\\"\\r\\n                    name=\\\"store_id\\\"\\r\\n                    tabindex=\\\"4\\\"\\r\\n                  >\\r\\n                    <option *ngFor=\\\"let i of store_list\\\" value=\\\"{{ i._id }}\\\">\\r\\n                      {{ i.name + \\\"(\\\" + i.email + \\\")\\\" }}\\r\\n                    </option>\\r\\n                  </select>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n\\r\\n          <div [hidden]=\\\"step <= 1\\\">\\r\\n            <span class=\\\"product_title\\\">Delivery Time</span>\\r\\n            <div class=\\\"pad-top\\\" style=\\\"padding-bottom: 10px\\\">\\r\\n              <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-md-8 form-group\\\">\\r\\n                  <my-date-picker\\r\\n                    [options]=\\\"helper.createOrderStartDatePickerOptions\\\"\\r\\n                    (dateChanged)=\\\"step = 2\\\"\\r\\n                    placeholder=\\\"{{ title.start_date | translate }}\\\"\\r\\n                    [(ngModel)]=\\\"schedule_date\\\"\\r\\n                    name=\\\"schedule_date\\\"\\r\\n                    required\\r\\n                  ></my-date-picker>\\r\\n                </div>\\r\\n                <div\\r\\n                  class=\\\"col-md-4 form-group input-group clock-picker\\\"\\r\\n                  id=\\\"clock-picker\\\"\\r\\n                  data-autoclose=\\\"true\\\"\\r\\n                >\\r\\n                  <input\\r\\n                    type=\\\"text\\\"\\r\\n                    class=\\\"form-control\\\"\\r\\n                    id=\\\"open\\\"\\r\\n                    [(ngModel)]=\\\"schedule_time\\\"\\r\\n                    name=\\\"schedule_time\\\"\\r\\n                    readonly\\r\\n                    required\\r\\n                  />\\r\\n                  <span class=\\\"input-group-addon\\\">\\r\\n                    <span class=\\\"fa fa-clock-o\\\"></span>\\r\\n                  </span>\\r\\n                </div>\\r\\n              </div>\\r\\n              <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-md-6 pad\\\">\\r\\n                  <label\\r\\n                    ><input\\r\\n                      type=\\\"radio\\\"\\r\\n                      name=\\\"ipickup_delivery\\\"\\r\\n                      [checked]=\\\"ipickup_delivery\\\"\\r\\n                      id=\\\"ipickup_delivery1\\\"\\r\\n                      class=\\\"iradio stop_new\\\"\\r\\n                      value=\\\"1\\\"\\r\\n                    /><span style=\\\"margin-left: 10px\\\">Pickup</span></label\\r\\n                  >\\r\\n                </div>\\r\\n                <div class=\\\"col-md-6 pad\\\">\\r\\n                  <label\\r\\n                    ><input\\r\\n                      type=\\\"radio\\\"\\r\\n                      name=\\\"ipickup_delivery\\\"\\r\\n                      [checked]=\\\"!ipickup_delivery\\\"\\r\\n                      id=\\\"ipickup_delivery2\\\"\\r\\n                      class=\\\"iradio stop_new\\\"\\r\\n                      value=\\\"2\\\"\\r\\n                    /><span style=\\\"margin-left: 10px\\\">Delivery</span></label\\r\\n                  >\\r\\n                </div>\\r\\n              </div>\\r\\n              <div class=\\\"row\\\" *ngIf=\\\"step == 2 && store_id\\\">\\r\\n                <div class=\\\"col-lg-12 col-sm-12\\\">\\r\\n                  <button\\r\\n                    class=\\\"btn stop_new_order\\\"\\r\\n                    (click)=\\\"go_to_next_step()\\\"\\r\\n                    style=\\\"background: black; border-color: black\\\"\\r\\n                    type=\\\"button\\\"\\r\\n                  >\\r\\n                    Next\\r\\n                  </button>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n\\r\\n          <div *ngIf=\\\"step > 2 && !ipickup_delivery\\\">\\r\\n            <span class=\\\"product_title\\\">Confirm Address</span>\\r\\n            <div class=\\\"pad-top\\\">\\r\\n              <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-md-12 form-group\\\">\\r\\n                  <!-- <input name=\\\"delivery_address\\\" id=\\\"delivery_address\\\" [(ngModel)]=\\\"delivery_address\\\" class=\\\"form-control\\\" placeholder=\\\"{{title.delivery_address | translate}}\\\" required> -->\\r\\n\\r\\n                  <div class=\\\"input-group\\\">\\r\\n                    <input\\r\\n                      name=\\\"delivery_address\\\"\\r\\n                      id=\\\"delivery_address\\\"\\r\\n                      [(ngModel)]=\\\"delivery_address\\\"\\r\\n                      class=\\\"form-control\\\"\\r\\n                      placeholder=\\\"{{ title.delivery_address | translate }}\\\"\\r\\n                      required\\r\\n                    />\\r\\n                    <span\\r\\n                      class=\\\"input-group-addon\\\"\\r\\n                      *ngIf=\\\"!is_show_address\\\"\\r\\n                      (click)=\\\"is_show_address = true\\\"\\r\\n                    >\\r\\n                      <span class=\\\"fa fa fa-angle-down\\\"></span>\\r\\n                    </span>\\r\\n                    <span\\r\\n                      class=\\\"input-group-addon\\\"\\r\\n                      *ngIf=\\\"is_show_address\\\"\\r\\n                      (click)=\\\"is_show_address = false\\\"\\r\\n                    >\\r\\n                      <span class=\\\"fa fa fa-angle-up\\\"></span>\\r\\n                    </span>\\r\\n                  </div>\\r\\n                  <div\\r\\n                    class=\\\"add-con-dropdown-list v-scroll-hide active\\\"\\r\\n                    *ngIf=\\\"is_show_address\\\"\\r\\n                  >\\r\\n                    <h3>Vos adresse enregistrées</h3>\\r\\n                    <div class=\\\"address-form-list-main\\\">\\r\\n                      <form\\r\\n                        novalidate=\\\"\\\"\\r\\n                        action=\\\"\\\"\\r\\n                        class=\\\"ng-untouched ng-pristine ng-valid\\\"\\r\\n                      >\\r\\n                        <div\\r\\n                          class=\\\"address-form-list\\\"\\r\\n                          *ngFor=\\\"let address of favourite_addresses\\\"\\r\\n                          (click)=\\\"set_address(address)\\\"\\r\\n                        >\\r\\n                          <input\\r\\n                            type=\\\"text\\\"\\r\\n                            readonly=\\\"\\\"\\r\\n                            class=\\\"form-control\\\"\\r\\n                            placeholder=\\\"{{ address.address }}\\\"\\r\\n                          />\\r\\n                        </div>\\r\\n                      </form>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n              <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-md-6 form-group\\\">\\r\\n                  <input\\r\\n                    [(ngModel)]=\\\"floor\\\"\\r\\n                    name=\\\"floor\\\"\\r\\n                    class=\\\"form-control\\\"\\r\\n                    placeholder=\\\"{{ title.floor | translate }}\\\"\\r\\n                    required\\r\\n                  />\\r\\n                </div>\\r\\n                <div class=\\\"col-md-6 form-group\\\">\\r\\n                  <input\\r\\n                    [(ngModel)]=\\\"entry_code\\\"\\r\\n                    name=\\\"entry_code\\\"\\r\\n                    class=\\\"form-control\\\"\\r\\n                    placeholder=\\\"{{ title.entry_code | translate }}\\\"\\r\\n                    required\\r\\n                  />\\r\\n                </div>\\r\\n              </div>\\r\\n              <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-md-12 form-group\\\">\\r\\n                  <input\\r\\n                    name=\\\"delivery_note\\\"\\r\\n                    [(ngModel)]=\\\"delivery_note\\\"\\r\\n                    class=\\\"form-control\\\"\\r\\n                    placeholder=\\\"{{ title.delivery_note | translate }}\\\"\\r\\n                    required\\r\\n                  />\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n            <div class=\\\"row\\\" *ngIf=\\\"step == 3\\\">\\r\\n              <div class=\\\"col-lg-6 col-sm-6\\\">\\r\\n                <button\\r\\n                  class=\\\"btn stop_new_order\\\"\\r\\n                  (click)=\\\"check_address(true)\\\"\\r\\n                  style=\\\"background: black; border-color: black\\\"\\r\\n                  type=\\\"button\\\"\\r\\n                >\\r\\n                  Continue Without Item\\r\\n                </button>\\r\\n              </div>\\r\\n              <div class=\\\"col-lg-6 col-sm-6\\\">\\r\\n                <button\\r\\n                  class=\\\"btn stop_new_order\\\"\\r\\n                  (click)=\\\"check_address(false)\\\"\\r\\n                  style=\\\"background: black; border-color: black\\\"\\r\\n                  type=\\\"button\\\"\\r\\n                >\\r\\n                  Next ->\\r\\n                </button>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"col-lg-4 col-sm-6\\\" *ngIf=\\\"step > 3 && !is_odh\\\">\\r\\n      <div class=\\\"ibox\\\">\\r\\n        <div class=\\\"ibox-content order_fix_div1 scrollbar\\\" *ngIf=\\\"!is_odh\\\">\\r\\n          <div\\r\\n            class=\\\"order_items\\\"\\r\\n            *ngFor=\\\"\\r\\n              let product of filtered_product_list;\\r\\n              let product_index = index\\r\\n            \\\"\\r\\n          >\\r\\n            <div class=\\\"product_title1\\\">\\r\\n              <span>{{ product.name }}</span>\\r\\n              <span\\r\\n                class=\\\"pull-right\\\"\\r\\n                *ngIf=\\\"!product.is_show\\\"\\r\\n                (click)=\\\"product.is_show = true\\\"\\r\\n                >+</span\\r\\n              >\\r\\n              <span\\r\\n                class=\\\"pull-right\\\"\\r\\n                *ngIf=\\\"product.is_show\\\"\\r\\n                (click)=\\\"product.is_show = false\\\"\\r\\n                >-</span\\r\\n              >\\r\\n            </div>\\r\\n            <div\\r\\n              class=\\\"order_item_detail1\\\"\\r\\n              *ngFor=\\\"let item of product.items; let item_index = index\\\"\\r\\n              [hidden]=\\\"!product.is_show\\\"\\r\\n            >\\r\\n              <div\\r\\n                (click)=\\\"\\r\\n                  open_item_modal(item, item_index, product_index, $event)\\r\\n                \\\"\\r\\n              >\\r\\n                <span>{{ item.name }} </span>\\r\\n                <span class=\\\"pull-right\\\">{{ item.price }} </span>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n        <div class=\\\"ibox-content order_fix_div1 scrollbar\\\" *ngIf=\\\"is_odh\\\"></div>\\r\\n      </div>\\r\\n    </div>\\r\\n    <div class=\\\"col-lg-4 col-sm-6\\\" *ngIf=\\\"step > 3\\\">\\r\\n      <div class=\\\"ibox\\\">\\r\\n        <div class=\\\"ibox-content order_fix_div1 scrollbar\\\" style=\\\"padding: 0\\\">\\r\\n          <div\\r\\n            class=\\\"checkoutbox\\\"\\r\\n            id=\\\"outbox\\\"\\r\\n            *ngIf=\\\"\\r\\n              !is_veiw_invoice &&\\r\\n              (helper.user_cart.cart_data.cart.length > 0 || is_odh)\\r\\n            \\\"\\r\\n          >\\r\\n            <div class=\\\"cart_data\\\" *ngIf=\\\"!is_odh\\\">\\r\\n              <div>\\r\\n                <a class=\\\"clear_all\\\" (click)=\\\"helper.clear_cart()\\\">{{\\r\\n                  button.clear_all | translate\\r\\n                }}</a>\\r\\n              </div>\\r\\n              <div\\r\\n                *ngFor=\\\"\\r\\n                  let cart_product of helper.user_cart.cart_data.cart;\\r\\n                  let product_index = index\\r\\n                \\\"\\r\\n              >\\r\\n                <div\\r\\n                  class=\\\"col-md-12 col-xs-12\\\"\\r\\n                  *ngFor=\\\"\\r\\n                    let cart_item of cart_product.items;\\r\\n                    let item_index = index\\r\\n                  \\\"\\r\\n                >\\r\\n                  <div class=\\\"col-md-8 col-xs-8\\\">\\r\\n                    <h4 class=\\\"cro\\\">{{ cart_item.item_name }}</h4>\\r\\n                    <h4 class=\\\"cro\\\">\\r\\n                      {{ currency\\r\\n                      }}{{ cart_item.total_item_and_specification_price }}\\r\\n                    </h4>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-md-4 col-xs-4 text-right\\\">\\r\\n                    <div\\r\\n                      class=\\\"minus\\\"\\r\\n                      (click)=\\\"helper.decrease_qty(product_index, item_index)\\\"\\r\\n                    >\\r\\n                      <i class=\\\"fa fa-minus\\\" aria-hidden=\\\"true\\\"></i>\\r\\n                    </div>\\r\\n                    <h4 class=\\\"num\\\">{{ cart_item.quantity }}</h4>\\r\\n                    <div\\r\\n                      class=\\\"plus\\\"\\r\\n                      (click)=\\\"helper.increase_qty(product_index, item_index)\\\"\\r\\n                    >\\r\\n                      <i class=\\\"fa fa-plus\\\" aria-hidden=\\\"true\\\"></i>\\r\\n                    </div>\\r\\n                    <a\\r\\n                      class=\\\"remove\\\"\\r\\n                      (click)=\\\"\\r\\n                        helper.remove_from_cart(product_index, item_index)\\r\\n                      \\\"\\r\\n                      >{{ button.remove | translate }}</a\\r\\n                    >\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n            <div class=\\\"cart_data\\\" *ngIf=\\\"is_odh\\\">\\r\\n              <label class=\\\"col-md-6\\\">Enter Amount</label>\\r\\n              <div class=\\\"col-md-6 form-group\\\">\\r\\n                <input\\r\\n                  [(ngModel)]=\\\"total_cart_amount\\\"\\r\\n                  name=\\\"total_cart_amount\\\"\\r\\n                  class=\\\"form-control\\\"\\r\\n                  placeholder=\\\"Enter Amount\\\"\\r\\n                  required\\r\\n                />\\r\\n              </div>\\r\\n            </div>\\r\\n\\r\\n            <div\\r\\n              *ngIf=\\\"\\r\\n                (!is_odh && helper.user_cart.cart_data.cart.length > 0) ||\\r\\n                (is_odh && total_cart_amount > 0)\\r\\n              \\\"\\r\\n              class=\\\"col-md-12 col-xs-12\\\"\\r\\n              (click)=\\\"add_to_cart()\\\"\\r\\n              style=\\\"background-color: black\\\"\\r\\n            >\\r\\n              <div class=\\\"row\\\" style=\\\"margin: 0\\\">\\r\\n                <button\\r\\n                  style=\\\"\\r\\n                    width: 100%;\\r\\n                    background-color: black;\\r\\n                    border: 0;\\r\\n                    padding-top: 15px;\\r\\n                  \\\"\\r\\n                >\\r\\n                  <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n                    <h1 class=\\\"totalprice\\\" style=\\\"float: left\\\">\\r\\n                      {{ button.checkout | translate }}\\r\\n                    </h1>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n                    <h1 class=\\\"totalprice\\\">\\r\\n                      {{ currency\\r\\n                      }}{{\\r\\n                        is_odh\\r\\n                          ? total_cart_amount\\r\\n                          : helper.user_cart.total_cart_amount\\r\\n                      }}\\r\\n                    </h1>\\r\\n                  </div>\\r\\n                </button>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n\\r\\n          <div\\r\\n            class=\\\"checkoutbox\\\"\\r\\n            id=\\\"outbox\\\"\\r\\n            style=\\\"padding: 30px\\\"\\r\\n            *ngIf=\\\"is_veiw_invoice\\\"\\r\\n          >\\r\\n            <span class=\\\"product_title\\\">Order</span>\\r\\n            <div class=\\\"row\\\">\\r\\n              <div class=\\\"col-md-6\\\">\\r\\n                <button\\r\\n                  class=\\\"btn stop_new_order\\\"\\r\\n                  (click)=\\\"is_veiw_invoice = false\\\"\\r\\n                  type=\\\"button\\\"\\r\\n                >\\r\\n                  View / Edit Basket\\r\\n                </button>\\r\\n              </div>\\r\\n            </div>\\r\\n\\r\\n            <div>\\r\\n              <div\\r\\n                class=\\\"row invoice_detail\\\"\\r\\n                style=\\\"padding-top: 15px\\\"\\r\\n                *ngIf=\\\"order_payment.total_cart_price\\\"\\r\\n              >\\r\\n                <span class=\\\"col-md-6\\\">Subtotal</span>\\r\\n                <span class=\\\"col-md-6\\\"\\r\\n                  >{{ delivery_currency }}\\r\\n                  {{ order_payment.total_cart_price.toFixed(2) }}</span\\r\\n                >\\r\\n              </div>\\r\\n              <div\\r\\n                class=\\\"row invoice_detail\\\"\\r\\n                *ngIf=\\\"order_payment.total_store_tax_price\\\"\\r\\n              >\\r\\n                <span class=\\\"col-md-6\\\">Tax</span>\\r\\n                <span class=\\\"col-md-6\\\"\\r\\n                  >{{ delivery_currency }}\\r\\n                  {{ order_payment.total_store_tax_price.toFixed(2) }}</span\\r\\n                >\\r\\n              </div>\\r\\n              <div\\r\\n                class=\\\"row invoice_detail\\\"\\r\\n                *ngIf=\\\"\\r\\n                  order_payment.total_service_price > 0 &&\\r\\n                  !order_payment.is_store_pay_delivery_fees &&\\r\\n                  helper.user_cart.cart_data.destination_addresses[0].address\\r\\n                \\\"\\r\\n              >\\r\\n                <span class=\\\"col-md-6\\\">Delivery Fee</span>\\r\\n                <span class=\\\"col-md-6\\\"\\r\\n                  >{{ delivery_currency }}\\r\\n                  {{ order_payment.delivery_price.toFixed(2) }}</span\\r\\n                >\\r\\n              </div>\\r\\n              <div class=\\\"row invoice_detail\\\" *ngIf=\\\"order_payment.service_fee\\\">\\r\\n                <span class=\\\"col-md-6\\\">Service Fee</span>\\r\\n                <span class=\\\"col-md-6\\\"\\r\\n                  >{{ delivery_currency }}\\r\\n                  {{ order_payment.service_fee.toFixed(2) }}</span\\r\\n                >\\r\\n              </div>\\r\\n              <div class=\\\"row invoice_detail\\\">\\r\\n                <span class=\\\"col-md-6\\\">Total Amount</span>\\r\\n                <span class=\\\"col-md-6\\\"\\r\\n                  >{{ delivery_currency }}\\r\\n                  {{ order_payment.total.toFixed(2) }}</span\\r\\n                >\\r\\n              </div>\\r\\n            </div>\\r\\n\\r\\n            <div style=\\\"padding-top: 20px\\\">\\r\\n              <span class=\\\"product_title\\\">Payment</span>\\r\\n              <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-md-4 pad\\\">\\r\\n                  <label\\r\\n                    ><input\\r\\n                      type=\\\"radio\\\"\\r\\n                      name=\\\"store_order\\\"\\r\\n                      [checked]=\\\"!is_payment_mode_cash\\\"\\r\\n                      id=\\\"is_payment_mode_cash1\\\"\\r\\n                      class=\\\"iradio stop_new is_payment_mode_cash\\\"\\r\\n                      value=\\\"1\\\"\\r\\n                    /><span style=\\\"margin-left: 10px\\\">Card</span></label\\r\\n                  >\\r\\n                </div>\\r\\n                <div class=\\\"col-md-6 pad\\\">\\r\\n                  <label\\r\\n                    ><input\\r\\n                      type=\\\"radio\\\"\\r\\n                      name=\\\"store_order\\\"\\r\\n                      [checked]=\\\"is_payment_mode_cash && !is_hubrise_order\\\"\\r\\n                      id=\\\"is_payment_mode_cash0\\\"\\r\\n                      class=\\\"iradio stop_new is_payment_mode_cash\\\"\\r\\n                      value=\\\"0\\\"\\r\\n                    /><span style=\\\"margin-left: 10px\\\"\\r\\n                      >Paiement par facture</span\\r\\n                    ></label\\r\\n                  >\\r\\n                </div>\\r\\n                <div class=\\\"col-md-6 pad\\\">\\r\\n                  <label\\r\\n                    ><input\\r\\n                      type=\\\"radio\\\"\\r\\n                      name=\\\"store_order\\\"\\r\\n                      [checked]=\\\"is_payment_mode_cash && is_hubrise_order\\\"\\r\\n                      id=\\\"is_payment_mode_cash4\\\"\\r\\n                      class=\\\"iradio stop_new is_payment_mode_cash\\\"\\r\\n                      value=\\\"4\\\"\\r\\n                    /><span style=\\\"margin-left: 10px\\\">ODH</span></label\\r\\n                  >\\r\\n                </div>\\r\\n              </div>\\r\\n              <div class=\\\"row\\\">\\r\\n                <div\\r\\n                  class=\\\"col-md-12 pad\\\"\\r\\n                  [hidden]=\\\"user_type == helper.ADMIN_DATA_ID.STORE\\\"\\r\\n                >\\r\\n                  <label\\r\\n                    ><input\\r\\n                      [disabled]=\\\"user_data.wallet < order_payment.total\\\"\\r\\n                      type=\\\"radio\\\"\\r\\n                      name=\\\"store_order\\\"\\r\\n                      id=\\\"is_payment_mode_cash2\\\"\\r\\n                      class=\\\"iradio stop_new is_payment_mode_cash\\\"\\r\\n                      value=\\\"2\\\"\\r\\n                    /><span style=\\\"margin-left: 10px\\\"\\r\\n                      >Paiement using hopper fee (Wallet Amount -\\r\\n                      {{ user_data.wallet }})</span\\r\\n                    ></label\\r\\n                  >\\r\\n                </div>\\r\\n                <div\\r\\n                  class=\\\"col-md-6 pad\\\"\\r\\n                  [hidden]=\\\"user_type == helper.ADMIN_DATA_ID.STORE\\\"\\r\\n                >\\r\\n                  <label\\r\\n                    ><input\\r\\n                      type=\\\"radio\\\"\\r\\n                      name=\\\"store_order\\\"\\r\\n                      id=\\\"is_payment_mode_cash3\\\"\\r\\n                      class=\\\"iradio stop_new is_payment_mode_cash\\\"\\r\\n                      value=\\\"3\\\"\\r\\n                    /><span style=\\\"margin-left: 10px\\\">Send invoice</span></label\\r\\n                  >\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-md-4\\\" *ngIf=\\\"!show_add_card\\\">\\r\\n                  <button\\r\\n                    class=\\\"btn stop_new_order\\\"\\r\\n                    style=\\\"background: black; border-color: black\\\"\\r\\n                    (click)=\\\"add_new_card()\\\"\\r\\n                    type=\\\"button\\\"\\r\\n                  >\\r\\n                    Add Card\\r\\n                  </button>\\r\\n                </div>\\r\\n              </div>\\r\\n              <div class=\\\"row\\\" *ngIf=\\\"!is_payment_mode_cash && !show_add_card\\\">\\r\\n                <div\\r\\n                  class=\\\"col-md-12\\\"\\r\\n                  *ngFor=\\\"let card of card_list; let index = index\\\"\\r\\n                  style=\\\"font-size: 20px; padding: 20px\\\"\\r\\n                  (click)=\\\"select_card(card._id, index)\\\"\\r\\n                >\\r\\n                  <span>\\r\\n                    <span class=\\\"col-md-2\\\"\\r\\n                      ><span class=\\\"fa fa-check\\\" *ngIf=\\\"card.is_default\\\"></span\\r\\n                    ></span>\\r\\n                    <span class=\\\"col-md-10\\\">****{{ card.last_four }}</span>\\r\\n                  </span>\\r\\n                </div>\\r\\n              </div>\\r\\n\\r\\n              <div class=\\\"row\\\" [hidden]=\\\"!show_add_card\\\">\\r\\n                <form #addCardForm=\\\"ngForm\\\" (ngSubmit)=\\\"add_card()\\\">\\r\\n                  <div\\r\\n                    class=\\\"carddetail\\\"\\r\\n                    id=\\\"carddetail\\\"\\r\\n                    style=\\\"width: 100%; max-width: 1000px; padding: 20px\\\"\\r\\n                  >\\r\\n                    <div id=\\\"card-info\\\" #cardInfo></div>\\r\\n                    <div id=\\\"card-errors\\\" role=\\\"alert\\\" *ngIf=\\\"error\\\">\\r\\n                      {{ error }}\\r\\n                    </div>\\r\\n                  </div>\\r\\n\\r\\n                  <div>\\r\\n                    <label style=\\\"color: red; margin-top: 10px\\\">{{\\r\\n                      card_error\\r\\n                    }}</label>\\r\\n                  </div>\\r\\n                  <div class=\\\"text-center\\\">\\r\\n                    <button class=\\\"btn blue_btn\\\">save</button>\\r\\n                  </div>\\r\\n                </form>\\r\\n              </div>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"order_detail_footer\\\" style=\\\"padding: 15px 37px 0 37px\\\">\\r\\n              <div\\r\\n                class=\\\"order_detail_footer1\\\"\\r\\n                style=\\\"padding: 15px 0 15px 0px\\\"\\r\\n              >\\r\\n                <div class=\\\"row\\\">\\r\\n                  <div class=\\\"col-lg-12 col-sm-12\\\">\\r\\n                    <button\\r\\n                      class=\\\"btn stop_new_order\\\"\\r\\n                      (click)=\\\"pay_order_payment()\\\"\\r\\n                      style=\\\"background: black; border-color: black\\\"\\r\\n                      type=\\\"button\\\"\\r\\n                    >\\r\\n                      Order\\r\\n                    </button>\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n</div>\\r\\n\\r\\n<!-- <div class=\\\"wrapper content_top_bar_view wrapper-content animated fadeInRight\\\">\\r\\n  <div class=\\\"row\\\" *ngFor=\\\"let product_data of filtered_product_list; let product_index=index;\\\">\\r\\n    <div class=\\\"col-md-12 \\\" [hidden]=\\\"product_data.items.length == 0 || (selected_product!== (title.all | translate) && selected_product!==product_data._id) \\\" style=\\\"margin-bottom: 10px; padding: 0px;\\\">\\r\\n      <label class=\\\"control-label label label-danger\\\" style=\\\"font-size: 20px;\\\">{{product_data.name}}</label>\\r\\n    </div>\\r\\n\\r\\n\\r\\n    <div *ngFor=\\\"let i of product_data.items; let item_index=index;\\\" [hidden]=\\\"selected_product !== (title.all | translate) && selected_product!==product_data._id \\\">\\r\\n      <div class=\\\"col-lg-4 col-sm-6\\\" style=\\\"padding : 0px; padding-right: 2px;\\\">\\r\\n        <div class=\\\"contact-box\\\" style=\\\"padding-left: 0px; padding-right: 0px;\\\">\\r\\n          <a (click)=\\\"open_item_modal(i , item_index , product_index, $event)\\\" >\\r\\n            <div class=\\\"col-md-4 col-xs-4 div1\\\" style=\\\"text-align: center; padding-left: 0px; padding-right: 0px;\\\">\\r\\n              <img class=\\\"img-circle m-t-sm img-responsive\\\" src=\\\"{{i.image_url[0] != undefined ? i.image_url[0] : 'default.png'}}\\\" style=\\\"border-radius: 20%; display: inline; width:100px; height: 100px;\\\">\\r\\n\\r\\n            </div>\\r\\n            <div class=\\\"col-md-8 col-xs-8 div2\\\" style=\\\"padding-left: 0px; padding-right: 0px;\\\">\\r\\n              <div class=\\\"col-md-9 col-xs-9\\\" style=\\\"height: 24px; overflow: hidden;\\\">\\r\\n                <h3><strong>{{i.name}}</strong></h3>\\r\\n              </div>\\r\\n              <div class=\\\"col-md-3 col-xs-3\\\" >\\r\\n                <h3><strong style=\\\"float: right;\\\">{{currency}}{{i.total_item_price}}</strong></h3>\\r\\n              </div>\\r\\n\\r\\n              <div class=\\\"col-md-12 col-xs-12\\\" style=\\\"height: 57px; overflow: hidden;\\\">\\r\\n                <address>\\r\\n                  {{i.details}}\\r\\n                </address>\\r\\n              </div>\\r\\n            </div>\\r\\n            <div class=\\\"clearfix\\\"></div>\\r\\n          </a>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n\\r\\n</div> -->\\r\\n\\r\\n<modal\\r\\n  keyboard=\\\"false\\\"\\r\\n  backdrop=\\\"static\\\"\\r\\n  cssClass=\\\"modal-xl animated\\\"\\r\\n  #itemModal\\r\\n  style=\\\"overflow: scroll; z-index: 9999999 !important\\\"\\r\\n>\\r\\n  <div class=\\\"modal-header\\\" style=\\\"padding: 0 !important\\\">\\r\\n    <img\\r\\n      class=\\\"remove_image item_modal_close\\\"\\r\\n      (click)=\\\"close_item_modal()\\\"\\r\\n      [src]=\\\"helper.CONSTANT.IMAGE_BASE_URL + 'images/cross_white.png'\\\"\\r\\n    />\\r\\n    <div class=\\\"item_modal_image_shaddow\\\"></div>\\r\\n    <div id=\\\"myCarousel\\\" class=\\\"carousel slide\\\" data-ride=\\\"carousel\\\">\\r\\n      <ol class=\\\"carousel-indicators\\\">\\r\\n        <li\\r\\n          class=\\\"a\\\"\\r\\n          *ngFor=\\\"\\r\\n            let image of current_item.image_url;\\r\\n            let image_index = index;\\r\\n            let first = first\\r\\n          \\\"\\r\\n          id=\\\"aa{{ image_index }}\\\"\\r\\n          [attr.data-target]=\\\"'#myCarousel'\\\"\\r\\n          [attr.data-slide-to]=\\\"image_index\\\"\\r\\n          [class.active]=\\\"first\\\"\\r\\n        ></li>\\r\\n        <li\\r\\n          *ngIf=\\\"current_item.image_url.length == 0\\\"\\r\\n          class=\\\"a active\\\"\\r\\n          [attr.data-target]=\\\"'#myCarousel'\\\"\\r\\n          [attr.data-slide-to]=\\\"1\\\"\\r\\n        ></li>\\r\\n      </ol>\\r\\n\\r\\n      <div\\r\\n        class=\\\"carousel-inner\\\"\\r\\n        (dragstart)=\\\"dragstart_image($event)\\\"\\r\\n        (dragend)=\\\"dragend_image($event, current_item.image_url.length)\\\"\\r\\n      >\\r\\n        <div\\r\\n          *ngFor=\\\"\\r\\n            let image of current_item.image_url;\\r\\n            let image_index = index;\\r\\n            let first = first\\r\\n          \\\"\\r\\n          class=\\\"item\\\"\\r\\n          [class.active]=\\\"first\\\"\\r\\n        >\\r\\n          <img\\r\\n            class=\\\"animated fadeInRight\\\"\\r\\n            src=\\\"{{ helper.CONSTANT.IMAGE_BASE_URL + image }}\\\"\\r\\n            alt=\\\"Los Angeles\\\"\\r\\n            style=\\\"width: 100%; height: 230px; object-fit: cover\\\"\\r\\n          />\\r\\n        </div>\\r\\n        <div *ngIf=\\\"current_item.image_url.length == 0\\\" class=\\\"item active\\\">\\r\\n          <img\\r\\n            class=\\\"animated fadeInRight\\\"\\r\\n            [src]=\\\"helper.CONSTANT.IMAGE_BASE_URL + 'default.png'\\\"\\r\\n            alt=\\\"Los Angeles\\\"\\r\\n            style=\\\"width: 100%; height: 230px; object-fit: cover\\\"\\r\\n          />\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n  <div class=\\\"modal-body\\\" style=\\\"padding-bottom: 10px\\\">\\r\\n    <div class=\\\"\\\">\\r\\n      <h1 class=\\\"modalbodyhead\\\" *ngIf=\\\"total\\\">{{ current_item.name }}</h1>\\r\\n      <p class=\\\"modalbodytext\\\" *ngIf=\\\"total\\\">{{ current_item.details }}</p>\\r\\n\\r\\n      <ng-container\\r\\n        *ngIf=\\\"\\r\\n          current_item.formule_list && current_item.formule_list.length > 0\\r\\n        \\\"\\r\\n      >\\r\\n        <div class=\\\"row\\\" style=\\\"margin: 0; margin-top: 24px\\\">\\r\\n          <div class=\\\"radio1\\\">\\r\\n            <div\\r\\n              class=\\\"radio formule-box\\\"\\r\\n              style=\\\"margin-top: 0px; margin-bottom: 0px\\\"\\r\\n            >\\r\\n              <div class=\\\"row\\\" style=\\\"margin: 0\\\">\\r\\n                <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n                  <label style=\\\"display: flex; align-items: center\\\">\\r\\n                    <div\\r\\n                      style=\\\"padding-left: 24px\\\"\\r\\n                      class=\\\"iradio_square-green\\\"\\r\\n                      [class.checked]=\\\"!current_formule.formule_id\\\"\\r\\n                    >\\r\\n                      <input\\r\\n                        type=\\\"radio\\\"\\r\\n                        style=\\\"opacity: 0\\\"\\r\\n                        (change)=\\\"select_formule({})\\\"\\r\\n                        [checked]=\\\"!current_formule.formule_id\\\"\\r\\n                        class=\\\"walnut\\\"\\r\\n                      />\\r\\n                    </div>\\r\\n                    <span style=\\\"margin-left: 10px\\\">{{\\r\\n                      current_item.name\\r\\n                    }}</span>\\r\\n                  </label>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n                  <label class=\\\"pull-right\\\"></label>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n        <div\\r\\n          class=\\\"row\\\"\\r\\n          style=\\\"margin: 0\\\"\\r\\n          *ngFor=\\\"let formule of current_item.formule_list\\\"\\r\\n        >\\r\\n          <div class=\\\"radio1\\\">\\r\\n            <div\\r\\n              class=\\\"radio formule-box\\\"\\r\\n              style=\\\"margin-top: 0px; margin-bottom: 0px\\\"\\r\\n            >\\r\\n              <div class=\\\"row\\\" style=\\\"margin: 0\\\">\\r\\n                <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n                  <label style=\\\"display: flex; align-items: center\\\">\\r\\n                    <div\\r\\n                      style=\\\"padding-left: 24px\\\"\\r\\n                      class=\\\"iradio_square-green\\\"\\r\\n                      [class.checked]=\\\"\\r\\n                        current_formule.formule_id == formule.formule_id\\r\\n                      \\\"\\r\\n                    >\\r\\n                      <input\\r\\n                        type=\\\"radio\\\"\\r\\n                        style=\\\"opacity: 0\\\"\\r\\n                        (change)=\\\"select_formule(formule)\\\"\\r\\n                        [checked]=\\\"\\r\\n                          current_formule.formule_id == formule.formule_id\\r\\n                        \\\"\\r\\n                        class=\\\"walnut\\\"\\r\\n                      />\\r\\n                    </div>\\r\\n                    <span style=\\\"margin-left: 10px\\\">{{ formule.name }}</span>\\r\\n                  </label>\\r\\n                </div>\\r\\n                <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n                  <label class=\\\"pull-right\\\"\\r\\n                    >+ {{ currency }} {{ formule.price }}</label\\r\\n                  >\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </ng-container>\\r\\n\\r\\n      <ng-container\\r\\n        *ngFor=\\\"\\r\\n          let specification_group of current_item.specifications;\\r\\n          let specification_group_index = index\\r\\n        \\\"\\r\\n      >\\r\\n        <div\\r\\n          *ngIf=\\\"\\r\\n            !specification_group.formule_id ||\\r\\n            specification_group.formule_id == current_formule.formule_id\\r\\n          \\\"\\r\\n        >\\r\\n          <div class=\\\"row\\\" style=\\\"margin: 0\\\">\\r\\n            <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n              <h1 class=\\\"radioheader\\\">{{ specification_group.name }}</h1>\\r\\n              <div class=\\\"min_max\\\">\\r\\n                <span *ngIf=\\\"specification_group.min_selection > 1\\\">\\r\\n                  Min. {{ specification_group.min_selection }} /\\r\\n                </span>\\r\\n                <span\\r\\n                  *ngIf=\\\"\\r\\n                    specification_group.max_selection > 0 &&\\r\\n                    specification_group.type == 2\\r\\n                  \\\"\\r\\n                >\\r\\n                  Max. {{ specification_group.max_selection }} options\\r\\n                </span>\\r\\n              </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n              <h1\\r\\n                *ngIf=\\\"specification_group.is_required\\\"\\r\\n                class=\\\"radioheader pull-right\\\"\\r\\n                style=\\\"color: #cb212e\\\"\\r\\n              >\\r\\n                {{ title.required | translate }}\\r\\n              </h1>\\r\\n            </div>\\r\\n          </div>\\r\\n          <div class=\\\"radio1\\\">\\r\\n            <div *ngIf=\\\"specification_group.type == 1\\\">\\r\\n              <div\\r\\n                *ngFor=\\\"\\r\\n                  let specification of specification_group.list;\\r\\n                  let specification_index = index\\r\\n                \\\"\\r\\n                class=\\\"radio\\\"\\r\\n                style=\\\"margin-top: 0px; margin-bottom: 0px\\\"\\r\\n              >\\r\\n                <div class=\\\"row\\\" style=\\\"margin: 0\\\">\\r\\n                  <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n                    <label>\\r\\n                      <!--<input type=\\\"radio\\\"-->\\r\\n                      <!--(change)=\\\"changeradio($event, specification_group_index, specification_index)\\\"-->\\r\\n                      <!--[checked]=\\\"specification.is_default_selected\\\" class=\\\"walnut\\\">{{specification.name}}-->\\r\\n                      <div\\r\\n                        style=\\\"padding-left: 24px\\\"\\r\\n                        class=\\\"iradio_square-green\\\"\\r\\n                        [class.checked]=\\\"specification.is_default_selected\\\"\\r\\n                      >\\r\\n                        <input\\r\\n                          type=\\\"radio\\\"\\r\\n                          style=\\\"opacity: 0\\\"\\r\\n                          (change)=\\\"\\r\\n                            changeradio(\\r\\n                              $event,\\r\\n                              specification_group_index,\\r\\n                              specification_index\\r\\n                            )\\r\\n                          \\\"\\r\\n                          [checked]=\\\"specification.is_default_selected\\\"\\r\\n                          class=\\\"walnut\\\"\\r\\n                        />\\r\\n                      </div>\\r\\n                      <span style=\\\"margin-left: 10px\\\">{{\\r\\n                        specification.name\\r\\n                      }}</span>\\r\\n                    </label>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n                    <label *ngIf=\\\"specification.price > 0\\\" class=\\\"pull-right\\\"\\r\\n                      >{{ currency }}{{ specification.price }}</label\\r\\n                    >\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n            <div *ngIf=\\\"specification_group.type == 2\\\">\\r\\n              <div\\r\\n                *ngFor=\\\"\\r\\n                  let specification of specification_group.list;\\r\\n                  let specification_index = index\\r\\n                \\\"\\r\\n                class=\\\"checkbox\\\"\\r\\n                style=\\\"margin-top: 0px; margin-bottom: 0px\\\"\\r\\n              >\\r\\n                <div class=\\\"row\\\" style=\\\"margin: 0\\\">\\r\\n                  <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n                    <label>\\r\\n                      <div\\r\\n                        style=\\\"padding-left: 24px\\\"\\r\\n                        class=\\\"icheckbox_square-green\\\"\\r\\n                        [class.checked]=\\\"specification.is_default_selected\\\"\\r\\n                      >\\r\\n                        <input\\r\\n                          type=\\\"checkbox\\\"\\r\\n                          style=\\\"opacity: 0\\\"\\r\\n                          (change)=\\\"\\r\\n                            changecheckbox(\\r\\n                              $event,\\r\\n                              specification_group_index,\\r\\n                              specification_index\\r\\n                            )\\r\\n                          \\\"\\r\\n                          [disabled]=\\\"\\r\\n                            specification_group.default_selected_count ==\\r\\n                              specification_group.max_selection &&\\r\\n                            !specification.is_default_selected\\r\\n                          \\\"\\r\\n                          [checked]=\\\"specification.is_default_selected\\\"\\r\\n                          class=\\\"walnut\\\"\\r\\n                        />\\r\\n                      </div>\\r\\n                      <span style=\\\"margin-left: 10px\\\">{{\\r\\n                        specification.name\\r\\n                      }}</span>\\r\\n                    </label>\\r\\n                  </div>\\r\\n                  <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n                    <label *ngIf=\\\"specification.price > 0\\\" class=\\\"pull-right\\\"\\r\\n                      >{{ currency }}{{ specification.price }}</label\\r\\n                    >\\r\\n                  </div>\\r\\n                </div>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n        </div>\\r\\n      </ng-container>\\r\\n\\r\\n      <div\\r\\n        class=\\\"row\\\"\\r\\n        style=\\\"\\r\\n          margin: 0;\\r\\n          text-align: center;\\r\\n          color: black;\\r\\n          margin-top: 20px;\\r\\n          font-family: myFirstFont;\\r\\n        \\\"\\r\\n      >\\r\\n        <textarea\\r\\n          class=\\\"delnote\\\"\\r\\n          name=\\\"note_for_item\\\"\\r\\n          [(ngModel)]=\\\"note_for_item\\\"\\r\\n          style=\\\"width: 100%; max-width: 100%; max-height: 80px\\\"\\r\\n          placeholder=\\\"Add Delivery Note\\\"\\r\\n        ></textarea>\\r\\n      </div>\\r\\n\\r\\n      <div\\r\\n        class=\\\"row\\\"\\r\\n        style=\\\"\\r\\n          margin: 0;\\r\\n          text-align: center;\\r\\n          color: black;\\r\\n          margin-top: 20px;\\r\\n          font-family: myFirstFont;\\r\\n        \\\"\\r\\n      >\\r\\n        <div class=\\\"col-md-4 col-sm-4 col-xs-2\\\"></div>\\r\\n        <div\\r\\n          class=\\\"col-md-4 col-sm-4 col-xs-8\\\"\\r\\n          style=\\\"border: 1px solid; border-radius: 10px\\\"\\r\\n        >\\r\\n          <div style=\\\"display: inline-block\\\">\\r\\n            <i\\r\\n              (click)=\\\"decrease_qty()\\\"\\r\\n              class=\\\"fa fa-minus\\\"\\r\\n              aria-hidden=\\\"true\\\"\\r\\n            ></i>\\r\\n          </div>\\r\\n          <div\\r\\n            style=\\\"\\r\\n              display: inline-block;\\r\\n              padding-left: 40px;\\r\\n              padding-right: 40px;\\r\\n            \\\"\\r\\n          >\\r\\n            <h4 class=\\\"num\\\" style=\\\"margin-top: 10px\\\">{{ qty }}</h4>\\r\\n          </div>\\r\\n          <div style=\\\"display: inline-block\\\">\\r\\n            <i\\r\\n              (click)=\\\"incerase_qty()\\\"\\r\\n              class=\\\"fa fa-plus\\\"\\r\\n              aria-hidden=\\\"true\\\"\\r\\n            ></i>\\r\\n          </div>\\r\\n        </div>\\r\\n      </div>\\r\\n      <div\\r\\n        class=\\\"row\\\"\\r\\n        style=\\\"padding-top: 20px; text-align: center; color: red\\\"\\r\\n      >\\r\\n        <span\\r\\n          class=\\\"validation_error\\\"\\r\\n          style=\\\"font-size: 13px\\\"\\r\\n          *ngIf=\\\"required_count !== required_temp_count\\\"\\r\\n        >\\r\\n          please select the required fields\\r\\n        </span>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n\\r\\n  <div class=\\\"modal-footer\\\" style=\\\"background-color: black\\\">\\r\\n    <div class=\\\"row\\\" style=\\\"margin: 0\\\">\\r\\n      <button\\r\\n        [disabled]=\\\"required_count !== required_temp_count\\\"\\r\\n        (click)=\\\"addToCart()\\\"\\r\\n        style=\\\"width: 100%; background-color: black; border: 0\\\"\\r\\n      >\\r\\n        <div class=\\\"col-md-9 col-sm-9 col-xs-9\\\">\\r\\n          <h1 class=\\\"totalprice\\\" style=\\\"float: left\\\">\\r\\n            {{ button.add_to_cart | translate }}\\r\\n          </h1>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\" *ngIf=\\\"total\\\">\\r\\n          <h1 class=\\\"totalprice\\\">{{ currency }}{{ total }}</h1>\\r\\n        </div>\\r\\n      </button>\\r\\n    </div>\\r\\n  </div>\\r\\n</modal>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/store/store_create_order/store_create_order.component.html\n// module id = 1711\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>   \\r\\n\\r\\n\\r\\n    <div class=\\\"row full_height\\\">\\r\\n        <div class=\\\"col-md-5 col-xs-12 col-sm-5 full_height login_left_background\\\">\\r\\n            <div class=\\\"col-md-12 col-xs-12 col-sm-12 login_left_top_margin animated fadeInLeft\\\">\\r\\n                <div class=\\\"col-md-12 col-xs-12 col-sm-12\\\">\\r\\n                    <img  style=\\\"width: 130px;\\\" src=\\\"web_images/store-bleu-hop.png\\\">\\r\\n                </div>\\r\\n               \\r\\n                <label class=\\\"col-md-12 col-xs-12 col-sm-12 login_title\\\" style=\\\"margin-top: 20px;\\\">{{title.store_title1 | translate}}</label>\\r\\n                <label class=\\\"col-md-12 col-xs-12 col-sm-12 login_title\\\">{{title.app_name +\\\" \\\"+title.store_title2 | translate}}</label>\\r\\n                <div class=\\\"col-md-12 col-xs-12 col-sm-12\\\">\\r\\n                    <hr class=\\\"login_hr\\\">\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-7 col-xs-12 col-sm-7  full_height login_right_background\\\">\\r\\n            <div class=\\\"loginColumns animated fadeInRight\\\" style=\\\"max-width: 435px;\\\">\\r\\n                <div class=\\\"ibox-content login_right_background\\\">\\r\\n\\r\\n                    <label class=\\\"login_right_title\\\">{{title.forgot_password | translate}}</label>\\r\\n                    <form #storforgotpasswordForm=\\\"ngForm\\\" (ngSubmit)=\\\"storeForgotPassword(storforgotpasswordForm.value)\\\" >\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"login_text_box_label\\\">{{title.email | translate}}</label>\\r\\n                            <input type=\\\"email\\\" id=\\\"email\\\" class=\\\"form-control login_text_box\\\" [(ngModel)]=\\\"store_forgot_password.email\\\" #email=\\\"ngModel\\\" name=\\\"email\\\" email required />\\r\\n                            <div *ngIf=\\\"email.errors && (email.dirty || email.touched)\\\">\\r\\n                                <div style=\\\"color: red;\\\" [hidden]=\\\"!email.errors.required\\\">{{validation_message.email_required | translate}}\\r\\n                                </div>\\r\\n                                <div style=\\\"color: red;\\\" [hidden]=\\\"!email.errors?.email\\\">{{validation_message.valid_email | translate}}\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                        </div>\\r\\n                        \\r\\n                        <div class=\\\"col-md-12 col-xs-12 col-sm-12 lable_center\\\" style=\\\"margin-top: 20px;\\\">\\r\\n                            <button type=\\\"submit\\\" [disabled]=\\\"!storforgotpasswordForm.form.valid\\\" class=\\\"btn btn-danger m-b login_submit_button\\\">{{button.submit | translate}}</button>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-12 col-xs-12 col-sm-12 lable_center\\\">\\r\\n\\r\\n                            <a [routerLink]=\\\"['/store/login']\\\" style=\\\"color:#959597;\\\">{{button.login | translate}}</a>\\r\\n                        </div>\\r\\n                        \\r\\n                    </form>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/store/store_forgot_password/store_forgot_password.component.html\n// module id = 1712\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n<script src=\\\"https://apis.google.com/js/platform.js\\\" async defer></script>\\r\\n<script type=\\\"text/javascript\\\" src=\\\"https://connect.facebook.net/en_US/sdk.js\\\"></script>\\r\\n\\r\\n\\r\\n    <div class=\\\"row full_height\\\">\\r\\n        <div class=\\\"col-md-5 col-xs-12 col-sm-5 full_height\\\">\\r\\n            <div class=\\\"col-md-12 col-xs-12 col-sm-12 login_left_top_margin animated fadeInLeft\\\" style=\\\"margin-left: unset; text-align: center;\\\">\\r\\n               \\r\\n                <label class=\\\"col-md-12 col-xs-12 col-sm-12 login_title\\\" style=\\\"color: #9bd1ef;    \\\">{{title.store_title1 | translate}}</label>\\r\\n                <label class=\\\"col-md-12 col-xs-12 col-sm-12 login_title\\\" style=\\\"color: #9bd1ef;    font-size: 25px;    \\\">{{title.store_title2 | translate}}</label>\\r\\n                <!-- <div class=\\\"col-md-12 col-xs-12 col-sm-12\\\">\\r\\n                    <hr class=\\\"login_hr\\\">\\r\\n                </div> -->\\r\\n\\r\\n                <div class=\\\"col-md-12 col-xs-12 col-sm-12\\\" style=\\\"margin-top: 50px;\\\">\\r\\n                    <img  style=\\\"width: 200px;\\\" src=\\\"web_images/store-bleu-hop.png\\\">\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-md-12 col-xs-12 col-sm-12\\\" style=\\\"margin-top: 50px;\\\">\\r\\n                    <label class=\\\"login_text\\\">Commencez dès maintenant à offrir la livraison à vos clients avec les meilleures conditions possibles</label>\\r\\n                </div>\\r\\n\\r\\n                <label class=\\\"col-md-12 col-xs-12 col-sm-12 login_left_bottom_margin\\\" style=\\\"color: #9bd1ef; font-size: 30px;   \\\">{{title.doesnot_have_an_account | translate}}</label>\\r\\n                 <button style=\\\"font-size: 30px; \\\" type=\\\"button\\\" [routerLink]=\\\"['/store/register']\\\" class=\\\"btn m-b reg_button\\\">{{button.register_now | translate}}</button>\\r\\n                <!-- <a class=\\\"col-md-12 col-xs-12 col-sm-12\\\" [routerLink]=\\\"['/store/register']\\\" style=\\\"color:#ffffff;font-size: 20px;font-weight: normal;\\\">{{button.register_now | translate}}</a> -->\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-7 col-xs-12 col-sm-7 full_height login_left_background\\\">\\r\\n            <div class=\\\"loginColumns animated fadeInRight\\\" style=\\\"max-width: 350px;\\\">\\r\\n                <div class=\\\"\\\">\\r\\n\\r\\n                    <label class='login_right_title'>{{title.signin_to_your_account | translate}}</label>\\r\\n                    <!-- <div id=\\\"social\\\">\\r\\n                        <div style=\\\"text-align: center;margin-bottom: 20px;\\\">\\r\\n                            <button type=\\\"button\\\" style=\\\"border: 0;background-color: #f3f3f3;\\\" (click)=\\\"facebook_register()\\\"><img class=\\\"social_button\\\" src=\\\"web_images/facebook.png\\\"></button>\\r\\n                            <button type=\\\"button\\\" style=\\\"border: 0;background-color: #f3f3f3;\\\" (click)=\\\"google_register()\\\"><img class=\\\"social_button\\\" src=\\\"web_images/google.png\\\"></button>\\r\\n                        </div>\\r\\n                        <div style=\\\"text-align: center;\\\">\\r\\n                            <label style=\\\"margin-bottom: 20px;font-size: 25px;font-weight: normal;color: #626262;\\\">-----OR-----</label>\\r\\n                        </div>\\r\\n                    </div> -->\\r\\n\\r\\n\\r\\n                    <form #storloginForm=\\\"ngForm\\\" (ngSubmit)=\\\"storeLogin(storloginForm.value)\\\" >\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <div [ngSwitch]=\\\"email_placeholder\\\">\\r\\n                                <div *ngSwitchCase=1>\\r\\n                                    <!-- <label class=\\\"login_text_box_label\\\">{{title.email_or_phone | translate}}</label> -->\\r\\n                                    <input type=\\\"text\\\" placeholder=\\\"{{title.email_or_phone | translate}}\\\" id=\\\"email_or_phone\\\" class=\\\"form-control login_text_box login_txt\\\" [(ngModel)]=\\\"store_login.email\\\" #email=\\\"ngModel\\\" name=\\\"email\\\" required />\\r\\n                                    <div *ngIf=\\\"email.errors && (email.dirty || email.touched)\\\">\\r\\n                                        <div style=\\\"color: red;\\\" [hidden]=\\\"!email.errors.required\\\">{{validation_message.email_or_phone_required | translate}}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                    <div *ngIf=\\\"email_or_phone_error\\\">\\r\\n                                        <div style=\\\"color: red;\\\">{{validation_message.valid_email_or_phone | translate}}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div *ngSwitchCase=2>\\r\\n                                    <!-- <label class=\\\"login_text_box_label\\\">{{title.phone | translate}}</label> -->\\r\\n                                    <input type=\\\"text\\\" placeholder=\\\"{{title.phone | translate}}\\\" id=\\\"phone\\\" (keypress)=\\\"helper.number_validation($event)\\\" class=\\\"form-control login_text_box login_txt\\\" [(ngModel)]=\\\"store_login.email\\\" #email=\\\"ngModel\\\" name=\\\"email\\\" required />\\r\\n                                    <div *ngIf=\\\"email.errors && (email.dirty || email.touched)\\\">\\r\\n                                        <div style=\\\"color: red;\\\" [hidden]=\\\"!email.errors.required\\\">{{validation_message.phone_required | translate}}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div *ngSwitchCase=3>\\r\\n                                    <!-- <label class=\\\"login_text_box_label\\\">{{title.email | translate}}</label> -->\\r\\n                                    <input type=\\\"email\\\" placeholder=\\\"{{title.email | translate}}\\\" id=\\\"email\\\" class=\\\"form-control login_text_box login_txt\\\" [(ngModel)]=\\\"store_login.email\\\" #email=\\\"ngModel\\\" name=\\\"email\\\" email required />\\r\\n                                    <div *ngIf=\\\"email.errors && (email.dirty || email.touched)\\\">\\r\\n                                        <div style=\\\"color: red;\\\" [hidden]=\\\"!email.errors.required\\\">{{validation_message.email_required | translate}}\\r\\n                                        </div>\\r\\n                                        <div style=\\\"color: red;\\\" [hidden]=\\\"!email.errors?.email\\\">{{validation_message.valid_email | translate}}\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n\\r\\n                            </div>\\r\\n\\r\\n                        </div>\\r\\n                        <div class=\\\"form-group\\\" style=\\\"margin-bottom: 30px;\\\">\\r\\n                            <!-- <label class=\\\"login_text_box_label\\\">{{title.password | translate}}</label> -->\\r\\n                            <input type=\\\"password\\\" placeholder=\\\"{{title.password | translate}}\\\" class=\\\"form-control login_text_box login_txt\\\" [(ngModel)]=\\\"store_login.password\\\" #password=\\\"ngModel\\\" minlength=\\\"6\\\" name=\\\"password\\\" required />\\r\\n\\r\\n                            <div *ngIf=\\\"password.errors && (password.dirty || password.touched)\\\">\\r\\n                                <div style=\\\"color: red;\\\" [hidden]=\\\"!password.errors.required\\\">{{validation_message.password_required | translate}}\\r\\n                                </div>\\r\\n                                <div style=\\\"color: red;\\\" [hidden]=\\\"!password.errors.minlength\\\">{{validation_message.password_minlength | translate}}\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                        </div>\\r\\n                        <div class=\\\"\\\" style=\\\"\\\">\\r\\n                            <button type=\\\"submit\\\" [disabled]=\\\"!storloginForm.form.valid\\\" class=\\\"btn m-b reg_button\\\" style=\\\"width: 100%;\\\">{{button.login_button | translate}}</button>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-12 col-xs-12 col-sm-12\\\">\\r\\n\\r\\n                            <a [routerLink]=\\\"['/store/forgot_password']\\\" style=\\\"color:#fff;\\\">{{button.forgot_password | translate}}</a>\\r\\n                        </div>\\r\\n                        \\r\\n\\r\\n                        \\r\\n                        \\r\\n                    </form>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-sm\\\" #myModal id=\\\"otp_model\\\">\\r\\n    <form #modalForm=\\\"ngForm\\\" (ngSubmit)=\\\"otp_var(modalForm.value)\\\">\\r\\n        <modal-header [show-close]=\\\"false\\\">\\r\\n\\r\\n\\r\\n            <h4 class=\\\"modal-title\\\">{{title.verification | translate}}!</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div [ngSwitch]=\\\"opt_error_message\\\">\\r\\n                <div *ngSwitchCase=1>\\r\\n                    <label style=\\\"color: red;\\\">{{validation_message.email_otp_wrong | translate}}</label>\\r\\n                </div>\\r\\n                <div *ngSwitchCase=2>\\r\\n                    <label style=\\\"color: red;\\\">{{validation_message.sms_otp_erong | translate}}</label>\\r\\n                </div>\\r\\n                <div *ngSwitchCase=3>\\r\\n                    <label style=\\\"color: red;\\\">{{validation_message.otp_wrong | translate}}</label>\\r\\n                </div>\\r\\n            </div>\\r\\n                <div class=\\\"form-group\\\" id=\\\"otp_for_sms\\\">\\r\\n                    <label>{{title.sms_otp | translate}}</label>\\r\\n                    <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"sms_otp\\\" name=\\\"sms_otp\\\" >\\r\\n                </div>\\r\\n                <div class=\\\"form-group\\\" id=\\\"otp_for_email\\\">\\r\\n                    <label>{{title.email_otp | translate}}</label>\\r\\n                    <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"email_otp\\\" name=\\\"email_otp\\\" >\\r\\n                </div>\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div class=\\\"lable_center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{button.submit | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/store/store_login/store_login.template.html\n// module id = 1713\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>   \\r\\n\\r\\n\\r\\n    <div class=\\\"row full_height\\\">\\r\\n        <div class=\\\"col-md-5 col-xs-12 col-sm-5 full_height login_left_background\\\">\\r\\n            <div class=\\\"col-md-12 col-xs-12 col-sm-12 login_left_top_margin animated fadeInLeft\\\">\\r\\n                <div class=\\\"col-md-12 col-xs-12 col-sm-12\\\">\\r\\n                    <img  style=\\\"width: 130px;\\\" src=\\\"web_images/store-bleu-hop.png\\\">\\r\\n                </div>\\r\\n               \\r\\n                <label class=\\\"col-md-12 col-xs-12 col-sm-12 login_title\\\" style=\\\"margin-top: 20px;\\\">{{title.store_title1 | translate}}</label>\\r\\n                <label class=\\\"col-md-12 col-xs-12 col-sm-12 login_title\\\">{{title.app_name +\\\" \\\"+title.store_title2 | translate}}</label>\\r\\n                <div class=\\\"col-md-12 col-xs-12 col-sm-12\\\">\\r\\n                    <hr class=\\\"login_hr\\\">\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-7 col-xs-12 col-sm-7  full_height login_right_background\\\">\\r\\n            <div class=\\\"loginColumns animated fadeInRight\\\" style=\\\"max-width: 435px;\\\">\\r\\n                <div class=\\\"ibox-content login_right_background\\\">\\r\\n\\r\\n                    <label class=\\\"login_right_title\\\">{{title.new_passwrod | translate}}</label>\\r\\n                    <form #stornewpasswordForm=\\\"ngForm\\\" (ngSubmit)=\\\"storeNewPassword(stornewpasswordForm.value)\\\" >\\r\\n                        \\r\\n\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"login_text_box_label\\\">{{title.password | translate}}</label>\\r\\n                            <input type=\\\"password\\\" class=\\\"form-control login_text_box\\\" [(ngModel)]=\\\"store_new_password.password\\\" #password=\\\"ngModel\\\" minlength=\\\"6\\\" name=\\\"password\\\" required />\\r\\n                            <div *ngIf=\\\"password.errors && (password.dirty || password.touched)\\\">\\r\\n                                <div style=\\\"color: red;\\\" [hidden]=\\\"!password.errors.required\\\">{{validation_message.password_required | translate}}\\r\\n                                </div>\\r\\n                                <div style=\\\"color: red;\\\" [hidden]=\\\"!password.errors.minlength\\\">{{validation_message.password_minlength | translate}}\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            <label class=\\\"login_text_box_label\\\">{{title.confirm_password | translate}}</label>\\r\\n                            <input type=\\\"password\\\" class=\\\"form-control login_text_box\\\" [(ngModel)]=\\\"store_new_password.confirm_password\\\" [equalTo]=\\\"password\\\" #confirm_password=\\\"ngModel\\\" name=\\\"confirm_password\\\" />\\r\\n                            <div *ngIf=\\\"confirm_password.errors && (confirm_password.dirty || confirm_password.touched)\\\">\\r\\n                                <div style=\\\"color: red;\\\" [hidden]=\\\"!confirm_password.errors?.equalTo\\\">{{validation_message.match_confirm_password | translate}}\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                        </div>\\r\\n                        \\r\\n                        <div class=\\\"col-md-12 col-xs-12 col-sm-12 lable_center\\\" style=\\\"margin-top: 20px;\\\">\\r\\n                            <button type=\\\"submit\\\" [disabled]=\\\"!stornewpasswordForm.form.valid\\\" class=\\\"btn btn-danger m-b login_submit_button\\\">{{button.submit | translate}}</button>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-12 col-xs-12 col-sm-12 lable_center\\\">\\r\\n\\r\\n                            <a [routerLink]=\\\"['/store/login']\\\" style=\\\"color:#959597;\\\">{{button.login | translate}}</a>\\r\\n                        </div>\\r\\n                        \\r\\n                    </form>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/store/store_new_password/store_new_password.component.html\n// module id = 1714\n// module chunks = 0","module.exports = \"<style type=\\\"text/css\\\" media=\\\"screen\\\">\\r\\n\\r\\n\\r\\n</style>\\r\\n<script src=\\\"https://apis.google.com/js/platform.js\\\" async defer></script>\\r\\n<script type=\\\"text/javascript\\\" src=\\\"https://connect.facebook.net/en_US/sdk.js\\\"></script>\\r\\n<footer [myLoading]=\\\"myLoading\\\" ></footer>   \\r\\n\\r\\n<div class=\\\"row full_height\\\">\\r\\n    <div class=\\\"col-md-5 col-xs-12 col-sm-12 full_height login_left_background\\\">\\r\\n        <div class=\\\"col-md-12 col-xs-12 col-sm-12 login_left_top_margin animated fadeInLeft\\\">\\r\\n            <div class=\\\"col-md-12 col-xs-12 col-sm-12\\\">\\r\\n                <img  style=\\\"width: 130px;\\\" src=\\\"web_images/store-bleu-hop.png\\\">\\r\\n            </div>\\r\\n\\r\\n            <label class=\\\"col-md-12 col-xs-12 col-sm-12 login_title\\\" style=\\\"margin-top: 20px;\\\">{{title.store_title1 | translate}}</label>\\r\\n            <label class=\\\"col-md-12 col-xs-12 col-sm-12 login_title\\\">{{title.app_name +\\\" \\\"+title.store_title2 | translate}}</label>\\r\\n            <div class=\\\"col-md-12 col-xs-12 col-sm-12\\\">\\r\\n                <hr class=\\\"login_hr\\\">\\r\\n            </div>\\r\\n\\r\\n\\r\\n            <label class=\\\"col-md-12 col-xs-12 col-sm-12 login_left_bottom_margin\\\">{{title.already_account | translate}}</label>\\r\\n            <a class=\\\"col-md-12 col-xs-12 col-sm-12\\\" [routerLink]=\\\"['/store/login']\\\" style=\\\"color:#ffffff;font-size: 20px;font-weight: normal;\\\">{{button.login | translate}}</a>\\r\\n        </div>\\r\\n    </div>\\r\\n    <div class=\\\"col-md-7 col-xs-12 col-sm-12 full_height login_right_background\\\">\\r\\n        <div class=\\\"loginColumns animated fadeInRight\\\" style=\\\"max-width: 700px;\\\">\\r\\n            <div class=\\\"ibox-content login_right_background\\\">\\r\\n                <div id=\\\"social\\\">\\r\\n                    <div style=\\\"text-align: center;margin-bottom: 20px;\\\">\\r\\n                        <button type=\\\"button\\\" style=\\\"border: 0;background-color: #f3f3f3;\\\" (click)=\\\"facebook_register()\\\"><img class=\\\"social_button\\\" src=\\\"web_images/facebook_register.png\\\"></button>\\r\\n                        <button type=\\\"button\\\" style=\\\"border: 0;background-color: #f3f3f3;\\\" (click)=\\\"google_register()\\\"><img class=\\\"social_button\\\" src=\\\"web_images/google_register.png\\\"></button>\\r\\n                    </div>\\r\\n                    <div style=\\\"text-align: center;\\\">\\r\\n                        <label style=\\\"margin-bottom: 20px;font-size: 25px;font-weight: normal;color: #626262;\\\">-----OR-----</label>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n\\r\\n                <div class=\\\"row\\\" style=\\\"margin-left: 0px; margin-right: 0px;margin-bottom: 20px;\\\">\\r\\n                    <!-- <div class=\\\"col-md-6 col-sm-6 col-xs-6\\\">\\r\\n                        <label class='col-lg-12 login_right_title'>{{title.register_your_account | translate}}</label>\\r\\n                    </div> -->\\r\\n                    <div class=\\\"col-md-3 col-sm-3 col-xs-3\\\">\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-6 col-sm-6 col-xs-6\\\">\\r\\n                        <div class=\\\"col-lg-12 profile-images center\\\" *ngIf=\\\"!store_register.image_url\\\">\\r\\n                            <span class=\\\"btn-file pull-right\\\" style=\\\"width: 100%;\\\"><div style=\\\"background: #fff;padding: 20px 30px 10px 30px;color:#9bd1ef;text-align: center;font-size: 15px;font-weight: bold;\\\">\\r\\n                                <span style=\\\"font-size: 35px;\\\">Votre logo</span><br>\\r\\n                                <span>cliquez - ici</span>\\r\\n                            </div><input type=\\\"file\\\" accept=\\\"image/*\\\" (change)=\\\"image_update($event);\\\" name=\\\"image\\\"></span>\\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"col-lg-12 profile-images center\\\" *ngIf=\\\"store_register.image_url\\\">\\r\\n\\r\\n                            <span class=\\\"btn-file pull-right\\\" style=\\\"width: 100%;\\\"><img class=\\\"img-circle\\\" style=\\\"width: 100%;height: 110px;border-radius: 0;\\\" src=\\\"{{store_register.image_url}}\\\" alt=\\\"profile\\\"><input type=\\\"file\\\" accept=\\\"image/*\\\" (change)=\\\"image_update($event);\\\" name=\\\"image\\\"></span>\\r\\n\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n\\r\\n                <form #storForm=\\\"ngForm\\\" (ngSubmit)=\\\"storeRegister(storForm.value)\\\" >\\r\\n\\r\\n                    <div class=\\\"col-md-6 col-sm-6\\\">\\r\\n                        <div class=\\\"col-lg-12 form-group\\\">\\r\\n                            <input type=\\\"text\\\" class=\\\"form-control register_text_box\\\" [(ngModel)]=\\\"store_register.name\\\" #name=\\\"ngModel\\\" placeholder=\\\"{{title.name | translate}}\\\" name=\\\"name\\\" required />\\r\\n                            <div *ngIf=\\\"name.errors && (name.dirty || name.touched)\\\">\\r\\n                                <div style=\\\"color: red;\\\" [hidden]=\\\"!name.errors.required\\\">{{validation_message.name_required | translate}}\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"col-lg-12 form-group\\\">\\r\\n                            <input type=\\\"email\\\" [readonly]=\\\"store_register.social_unique_id !== '' && store_register.email !== ''\\\" class=\\\"form-control register_text_box\\\" [(ngModel)]=\\\"store_register.email\\\" #email=\\\"ngModel\\\" placeholder=\\\"{{title.email | translate}}\\\" name=\\\"email\\\" email required />\\r\\n                                   <div *ngIf=\\\"email.errors && (email.dirty || email.touched)\\\">\\r\\n                                   <div style=\\\"color: red;\\\" [hidden]=\\\"!email.errors.required\\\">{{validation_message.email_required | translate}}\\r\\n                                </div>\\r\\n                                <div style=\\\"color: red;\\\" [hidden]=\\\"!email.errors?.email\\\">{{validation_message.valid_email | translate}}\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"col-lg-12 form-group\\\" [hidden]=\\\"store_register.social_unique_id !== ''\\\">\\r\\n                            <input type=\\\"password\\\" class=\\\"form-control register_text_box\\\" [(ngModel)]=\\\"store_register.confirm_password\\\" #confirm_password=\\\"ngModel\\\" placeholder=\\\"{{title.password | translate}}\\\" name=\\\"password\\\" minlength=\\\"6\\\"  required />\\r\\n                            <div *ngIf=\\\"confirm_password.errors && (confirm_password.dirty || confirm_password.touched)\\\">\\r\\n                                <div style=\\\"color: red;\\\" [hidden]=\\\"!confirm_password.errors.required\\\">{{validation_message.password_required | translate}}\\r\\n                                </div>\\r\\n                                <div style=\\\"color: red;\\\" [hidden]=\\\"!confirm_password.errors.minlength\\\">{{validation_message.password_minlength | translate}}\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"col-lg-12 form-group\\\" [hidden]=\\\"store_register.social_unique_id !== ''\\\">\\r\\n                            <input type=\\\"password\\\" class=\\\"form-control register_text_box\\\" [(ngModel)]=\\\"store_register.password\\\" #password=\\\"ngModel\\\" [equalTo]=\\\"confirm_password\\\" placeholder=\\\"{{title.confirm_password | translate}}\\\" name=\\\"confirm_password\\\" required />\\r\\n                            <div *ngIf=\\\"password.errors && (password.dirty || password.touched)\\\">\\r\\n                                <div style=\\\"color: red;\\\" [hidden]=\\\"!password.errors.required\\\">{{validation_message.password_required | translate}}\\r\\n                                </div>\\r\\n                                <div style=\\\"color: red;\\\" [hidden]=\\\"!password.errors.minlength\\\">{{validation_message.password_minlength | translate}}\\r\\n                                </div>\\r\\n                                <div style=\\\"color: red;\\\" [hidden]=\\\"!password.errors?.equalTo\\\">{{validation_message.match_confirm_password | translate}}\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div id=\\\"Optiona_field\\\">\\r\\n                            <div class=\\\"col-lg-12 form-group\\\">\\r\\n                                <input type=\\\"text\\\" class=\\\"form-control register_text_box\\\" [(ngModel)]=\\\"store_register.website_url\\\" #website_url=\\\"ngModel\\\" placeholder=\\\"{{title.website_url | translate}}\\\" name=\\\"website_url\\\" />\\r\\n\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"col-lg-12 form-group\\\">\\r\\n                                <input type=\\\"text\\\" class=\\\"form-control register_text_box\\\" [(ngModel)]=\\\"store_register.slogan\\\" #slogan=\\\"ngModel\\\" placeholder=\\\"{{title.slogan | translate}}\\\" name=\\\"slogan\\\" />\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div [hidden]=\\\"store_register.country_id == '' || is_referral==false || is_country_referral==false \\\">\\r\\n                            <div class=\\\"col-lg-12 form-group\\\">\\r\\n                                <div class=\\\"input-group\\\">\\r\\n                                    <input type=\\\"text\\\" class=\\\"form-control register_text_box\\\" [(ngModel)]=\\\"referral_code\\\" [disabled]=\\\"is_referral_apply\\\" placeholder=\\\"{{title.referral_code | translate}}\\\" name=\\\"referral_code\\\" />\\r\\n                                    <span class=\\\"input-group-addon\\\" (click)=\\\"check_referral()\\\" id=\\\"basic-addon2\\\">{{button.apply | translate}}</span>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n\\r\\n                        <!--<div class=\\\"col-lg-12 form-group\\\">-->\\r\\n                            <!--<label><input class=\\\"icheck_payment_gateway\\\"  type=\\\"checkbox\\\" value=\\\"\\\" /><span style=\\\"margin-left: 10px;\\\">Terms And Condition</span></label>-->\\r\\n\\r\\n                        <!--</div>-->\\r\\n\\r\\n\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"col-md-6 col-sm-6\\\">\\r\\n                        <div class=\\\"col-lg-12 form-group \\\" id=\\\"register_text_box\\\">\\r\\n                            <select chosen class=\\\"form-control chosen-select\\\" id=\\\"country\\\" [(ngModel)]=\\\"store_register.country_id\\\" data-placeholder=\\\"Select Country\\\" #country_id=\\\"ngModel\\\" name=\\\"country_id\\\" tabindex=\\\"4\\\" required>\\r\\n                                <option selected style=\\\"display:none;\\\">{{title.select_country | translate}}</option>\\r\\n                                <option *ngFor=\\\"let i of country_list\\\" value=\\\"{{i._id}}\\\">{{i.country_name}}</option>\\r\\n                            </select>\\r\\n                            <div *ngIf=\\\"country_id.errors && (country_id.dirty || country_id.touched)\\\">\\r\\n                                <div style=\\\"color: red;\\\" [hidden]=\\\"!country_id.errors.required\\\">{{validation_message.select_country_required | translate}}</div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"col-lg-12 form-group\\\" id=\\\"register_text_box\\\">\\r\\n                            <select chosen class=\\\"form-control chosen-select\\\" id=\\\"city\\\" [(ngModel)]=\\\"store_register.city_id\\\" data-placeholder=\\\"Select City\\\" #city_id=\\\"ngModel\\\" name=\\\"city_id\\\" tabindex=\\\"4\\\" required >\\r\\n                                <option selected style=\\\"display:none;\\\">{{title.select_city | translate}}</option>\\r\\n                                <option *ngFor=\\\"let i of city_list\\\" value=\\\"{{i._id}}\\\">{{i.city_name}}</option>\\r\\n                            </select>\\r\\n                            <div *ngIf=\\\"city_id.errors && (city_id.dirty || city_id.touched)\\\">\\r\\n                                <div style=\\\"color: red;\\\" [hidden]=\\\"!city_id.errors.required\\\">{{validation_message.select_city_required | translate}}</div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"col-lg-12 col-lg-12 form-group\\\" id=\\\"register_text_box\\\">\\r\\n                            <select chosen class=\\\"form-control chosen-select\\\" id=\\\"delivery\\\" [(ngModel)]=\\\"store_register.store_delivery_id\\\" data-placeholder=\\\"Select Delivery Type\\\" #store_delivery_id=\\\"ngModel\\\" name=\\\"store_delivery_id\\\" tabindex=\\\"4\\\"  required>\\r\\n                                <option selected style=\\\"display:none;\\\">{{title.select_delivery | translate}}</option>\\r\\n                                <option *ngFor=\\\"let i of delivery_list\\\" value=\\\"{{i._id}}\\\">{{i.delivery_name}}</option>\\r\\n                            </select>\\r\\n                            <div *ngIf=\\\"store_delivery_id.errors && (store_delivery_id.dirty || store_delivery_id.touched)\\\">\\r\\n                                <div style=\\\"color: red;\\\" [hidden]=\\\"!store_delivery_id.errors.required\\\">{{validation_message.select_delivery_type_required | translate}}</div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"col-lg-4 col-xs-4 form-group\\\">\\r\\n\\r\\n                            <input type=\\\"text\\\" class=\\\"form-control register_text_box\\\" [(ngModel)]=\\\"store_register.country_phone_code\\\" #country_phone_code=\\\"ngModel\\\" name=\\\"country_phone_code\\\" readonly required />\\r\\n\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-8 col-xs-8 form-group\\\">\\r\\n                            <input type=\\\"text\\\" class=\\\"form-control register_text_box\\\" (keypress)=\\\"helper.number_validation($event)\\\" [(ngModel)]=\\\"store_register.phone\\\" #phone=\\\"ngModel\\\" placeholder=\\\"{{title.phone | translate}}\\\" name=\\\"phone\\\" minlength=\\\"{{minimum_phone_number_length}}\\\" maxlength=\\\"{{maximum_phone_number_length}}\\\" required />\\r\\n                            <div *ngIf=\\\"phone.errors && (phone.dirty || phone.touched)\\\">\\r\\n                                <div style=\\\"color: red;\\\" [hidden]=\\\"!phone.errors.required\\\">{{validation_message.phone_required | translate}}\\r\\n                                </div>\\r\\n                                <div style=\\\"color: red;\\\" [hidden]=\\\"!phone.errors.minlength\\\">{{validation_message.phone_minlength | translate}}\\r\\n                                </div>\\r\\n                                <div style=\\\"color: red;\\\" [hidden]=\\\"!phone.errors.maxlength\\\">{{validation_message.phone_maxlength | translate}}\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                        </div>\\r\\n                        \\r\\n\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                        <div class=\\\"col-lg-2\\\">\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-8 form-group\\\">\\r\\n                            <input type=\\\"text\\\" (focus)=\\\"blank_address()\\\" class=\\\"form-control register_text_box\\\" [(ngModel)]=\\\"store_register.address\\\" #address=\\\"ngModel\\\" id=\\\"address\\\" placeholder=\\\"{{title.address | translate}}\\\" name=\\\"address\\\" required />\\r\\n                            <div *ngIf=\\\"address.errors && (address.dirty || address.touched)\\\">\\r\\n                                <div style=\\\"color: red;\\\" [hidden]=\\\"!address.errors.required\\\">{{validation_message.address_required | translate}}\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                        <div class=\\\"col-lg-12 form-group\\\">\\r\\n                            <div style=\\\"margin-top: 20px;background: #fff;padding: 20px 30px;\\\">\\r\\n                                <span>\\r\\n                                    <div style=\\\"display: inline;\\\"><input class=\\\"iradio\\\" type=\\\"checkbox\\\" name=\\\"select_type\\\" value=\\\"1\\\" required/></div>\\r\\n                                    <div style=\\\"display: inline;\\\"><span style=\\\"font-size: 20px;margin-left: 10px;\\\">\\r\\n                                        J'accepte les\\r\\n                                        <span>\\r\\n                                            <a style=\\\"color: #9bd1ef;\\\" target=\\\"_blank\\\" href=\\\"/partner_terms.pdf\\\">Conditions generales d'utilisation</a>\\r\\n                                        </span>\\r\\n                                        <span>\\r\\n                                            et la \\r\\n                                        </span>\\r\\n                                        <span>\\r\\n                                            <a style=\\\"color: #9bd1ef;\\\" target=\\\"_blank\\\" href=\\\"/partner_terms.pdf\\\">politique de confidentialite</a>\\r\\n                                        </span>\\r\\n                                    </span></div>\\r\\n                                </span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-12 col-xs-12 col-sm-12 lable_center\\\" style=\\\"margin-top: 20px;\\\">\\r\\n                        <button type=\\\"submit\\\" class=\\\"btn btn-danger m-b login_submit_button\\\">{{button.sign_up | translate}}</button>\\r\\n                    </div>\\r\\n\\r\\n                </form>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-sm\\\" #myModal id=\\\"otp_model\\\">\\r\\n    <form #modalForm=\\\"ngForm\\\" (ngSubmit)=\\\"otp_var(modalForm.value)\\\">\\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <h4 class=\\\"modal-title\\\">{{title.verification | translate}}!</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div [ngSwitch]=\\\"opt_error_message\\\">\\r\\n                <div *ngSwitchCase=1>\\r\\n                    <label style=\\\"color: red;\\\">{{validation_message.email_otp_wrong | translate}}</label>\\r\\n                </div>\\r\\n                <div *ngSwitchCase=2>\\r\\n                    <label style=\\\"color: red;\\\">{{validation_message.sms_otp_erong | translate}}</label>\\r\\n                </div>\\r\\n                <div *ngSwitchCase=3>\\r\\n                    <label style=\\\"color: red;\\\">{{validation_message.otp_wrong | translate}}</label>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"form-group\\\" id=\\\"otp_for_sms\\\">\\r\\n                <label>{{title.sms_otp | translate}}</label>\\r\\n                <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"sms_otp\\\" name=\\\"sms_otp\\\" >\\r\\n            </div>\\r\\n            <div class=\\\"form-group\\\" id=\\\"otp_for_email\\\">\\r\\n                <label>{{title.email_otp | translate}}</label>\\r\\n                <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"email_otp\\\" name=\\\"email_otp\\\" >\\r\\n            </div>\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{button.submit | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/store/store_register/store_register.template.html\n// module id = 1715\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>   \\r\\n<div *ngIf=\\\"order_id!==''\\\" class=\\\"wrapper wrapper-content animated fadeInRight content_top_bar\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n       <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-content ibox-content-map\\\">\\r\\n                    <!-- <sebm-google-map [latitude]=\\\"latitude\\\" [longitude]=\\\"longitude\\\" [draggable]=\\\"false\\\" [disableDoubleClickZoom]=\\\"false\\\" [streetViewControl]=\\\"false\\\" [scrollwheel]=\\\"false\\\" [zoom]=\\\"zoom\\\">\\r\\n                        <sebm-google-map-marker [iconUrl]=\\\"'map_pin_images/Deliveryman/deliveryman_online.png'\\\" [latitude]=\\\"latitude\\\" [longitude]=\\\"longitude\\\">\\r\\n                            \\r\\n                            <sebm-google-map-info-window>\\r\\n                                <p style=\\\"font-weight: bold;\\\">{{title.name | translate}}: {{provider_name}}</p>\\r\\n                                <p style=\\\"font-weight: bold;\\\">{{title.email | translate}}: {{provider_email}}</p>\\r\\n                                <p style=\\\"font-weight: bold;\\\">{{title.phone | translate}}: {{provider_phone}}</p>\\r\\n                            </sebm-google-map-info-window>\\r\\n                        </sebm-google-map-marker>\\r\\n                    </sebm-google-map> -->\\r\\n            </div>\\r\\n       </div>\\r\\n    </div>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/store/track_delivery_man/track_delivery_man.component.html\n// module id = 1716\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>   \\r\\n<div class=\\\"wrapper wrapper-content animated fadeInRight content_top_bar\\\">\\r\\n\\r\\n<div *ngFor=\\\"let document of document_list; let document_index=index; \\\">\\r\\n        \\r\\n    <div class=\\\"col-lg-3 col-sm-6\\\" style=\\\"padding-left: 10px; padding-right: 10px;\\\">\\r\\n        <form #spec=\\\"ngForm\\\" enctype='multipart/form-data' >\\r\\n            <div class=\\\"ibox float-e-margins\\\">\\r\\n                <div class=\\\"ibox-title\\\">\\r\\n                    <input type=\\\"hidden\\\" [(ngModel)]=\\\"edit_document[document_index]\\\" name=\\\"edit_document\\\">\\r\\n\\r\\n                    <h5 style=\\\"font-weight: bold;\\\"><label *ngIf=\\\"document.document_details.is_mandatory\\\" style=\\\"color: red;\\\">*</label>{{document.document_details.document_name}}</h5>\\r\\n\\r\\n                    <span *ngIf=\\\"edit_document[document_index]=='false'\\\" class=\\\"fa fa-pencil pull-right\\\" (click)=\\\"editDocument(document , document_index)\\\"></span>\\r\\n\\r\\n                    <span *ngIf=\\\"edit_document[document_index]=='true'\\\" class=\\\"fa fa-check pull-right\\\" (click)=\\\"updateDocument(document , document_index)\\\"></span>\\r\\n\\r\\n                </div>\\r\\n                <div class=\\\"ibox-content no-padding\\\" style=\\\"height: 150px;\\\">\\r\\n                \\t<div class=\\\"row\\\" style=\\\"padding-top: 18px;padding-bottom: 18px;\\\">\\r\\n\\t                \\t<div class=\\\"col-md-6 col-xs-6 col-sm-6\\\" style=\\\"padding-left: 28px;\\\">\\r\\n\\t                \\t\\t<div *ngIf=\\\"edit_document[document_index]!=='true'\\\">\\r\\n\\t                \\t\\t\\t<img src=\\\"default.png\\\" class=\\\"document{{document_index}}\\\" style=\\\"width: 100%;max-width: 135px; height: 85px; border-radius: 12px;\\\">\\r\\n\\t                \\t\\t</div>\\r\\n\\t                \\t\\t<div *ngIf=\\\"edit_document[document_index]=='true'\\\">\\r\\n\\t                \\t\\t\\t\\t<span class=\\\"btn-file\\\"><img src=\\\"default.png\\\" class=\\\"document{{document_index}}\\\" style=\\\"width: 100%;    max-width: 135px; height: 85px; border-radius: 12px;\\\"><input type=\\\"file\\\" (change)=\\\"image_update($event , document_index);\\\" name=\\\"image\\\"></span>\\r\\n\\t                \\t\\t</div>\\r\\n\\r\\n\\t\\t\\t\\t\\t\\t\\t<div *ngIf=\\\"edit_document[document_index]=='true'\\\">\\r\\n\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<div [ngSwitch]=\\\"error_message\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<div *ngSwitchCase=1>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label style=\\\"color: red;margin-bottom: 0px;\\\">{{validation_message.image_required | translate}}</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<div *ngSwitchCase=2>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label style=\\\"color: red;margin-bottom: 0px;\\\">{{validation_message.expired_date_required | translate}}</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<div *ngSwitchCase=3>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<label style=\\\"color: red;margin-bottom: 0px;\\\">{{validation_message.unique_code_required  | translate}}</label>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t                \\t</div>\\r\\n\\t                \\t<div class=\\\"col-md-6 col-xs-6 col-sm-6\\\" style=\\\"padding-right: 28px;\\\">\\r\\n\\t\\t                \\t<div *ngIf=\\\"document.document_details.is_unique_code\\\">\\r\\n\\t\\t                \\t\\t<label>{{title.unique_code | translate}}</label>\\r\\n\\t\\t                \\t\\t<div *ngIf=\\\"edit_document[document_index]!=='true'\\\">\\r\\n\\t\\t                \\t\\t\\t<label style=\\\"font-weight: normal;color:black;\\\">{{document.unique_code}}</label>\\r\\n\\t\\t                \\t\\t</div>\\r\\n\\t\\t                \\t\\t<div *ngIf=\\\"edit_document[document_index]=='true'\\\">\\r\\n\\t\\t                \\t\\t\\t<input type=\\\"text\\\" [(ngModel)]=\\\"documentlist.unique_code\\\" #unique_code=\\\"ngModel\\\"  name=\\\"unique_code\\\" style=\\\"border-radius: 5px;border-color: #060606;height: 30px;\\\" class=\\\"form-control\\\" value=\\\"{{document.unique_code}}\\\">\\r\\n\\t\\t                \\t\\t</div>\\r\\n\\t\\t                \\t</div>\\r\\n\\r\\n\\t\\t                \\t<div *ngIf=\\\"document.document_details.is_expired_date\\\">\\r\\n\\t                \\t\\t\\t<label style=\\\"margin-top: 10px;\\\">{{title.exp_date | translate}}</label>\\r\\n\\t                \\t\\t\\t<div *ngIf=\\\"edit_document[document_index]!=='true'\\\">\\r\\n\\t                \\t\\t\\t\\t<label style=\\\"font-weight: normal;color:black;\\\">{{document.expired_date | date: \\\"MM-dd-yyyy\\\"}}</label>\\r\\n\\t                \\t\\t\\t</div>\\r\\n\\t                \\t\\t\\t<div *ngIf=\\\"edit_document[document_index]=='true'\\\">\\r\\n\\t\\t                \\t\\t\\t<my-date-picker [(ngModel)]=\\\"documentlist.expired_date\\\" #expired_date=\\\"ngModel\\\"  name=\\\"expired_date\\\" id=\\\"expiry_date\\\" value=\\\"\\\" [options]=\\\"helper.ExpiryDatePickerOptions\\\" placeholder=\\\"{{title.exp_date | translate}}\\\" readonly></my-date-picker>\\r\\n\\t\\t                \\t\\t</div>\\r\\n\\t                \\t\\t</div>\\r\\n\\t                \\t</div>\\r\\n\\r\\n\\t                </div>\\r\\n\\t                \\r\\n                </div>\\r\\n            </div>\\r\\n        </form>\\r\\n    </div>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/store/upload_document/upload_document.component.html\n// module id = 1717\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div>\\r\\n                <label>{{title.search | translate}}</label>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"search_field\\\" [(ngModel)]=\\\"search_field\\\" name=\\\"search_field\\\" tabindex=\\\"4\\\">\\r\\n                        <option value=\\\"user_detail.first_name\\\">{{title.filter_name | translate}}</option>\\r\\n                        <option value=\\\"user_detail.email\\\">{{title.filter_email | translate}}</option>\\r\\n                        <option value=\\\"user_detail.phone\\\">{{title.filter_phone | translate}}</option>\\r\\n                        <!-- <option value=\\\"user_detail.unique_id\\\">{{title.unique_id | translate}}</option> -->\\r\\n                        <option value=\\\"user_detail.country_name\\\">{{title.country | translate}}</option>\\r\\n                        <option value=\\\"user_detail.city\\\">{{title.city | translate}}</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <div class=\\\"input-group\\\">\\r\\n                        <input type=\\\"text\\\" class=\\\"form-control search_box\\\" [(ngModel)]=\\\"search_value\\\"  name=\\\"search_value\\\">\\r\\n                        <span (click)=\\\"filter(1)    \\\" class=\\\"input-group-addon search_icon\\\"><span class=\\\"fa fa-search\\\"></span></span>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4 col-sm-12\\\">\\r\\n            <div class=\\\"col-md-6 col-sm-6\\\">\\r\\n                <div>\\r\\n                    <label>{{title.no_of_record | translate}}</label>\\r\\n                </div>\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <select chosen class=\\\"chosen-select\\\" id=\\\"number_of_rec\\\" [(ngModel)]=\\\"number_of_rec\\\" name=\\\"number_of_rec\\\" tabindex=\\\"4\\\">\\r\\n                        <option value=\\\"10\\\">10</option>\\r\\n                        <option value=\\\"20\\\">20</option>\\r\\n                        <option value=\\\"50\\\">50</option>\\r\\n                        <option value=\\\"100\\\">100</option>\\r\\n                    </select>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n                <button type=\\\"button\\\" (click)=\\\"user_export_csv(user_page_type)\\\" class=\\\"btn export_excel_btn\\\">\\r\\n                    <span class=\\\"fa fa-file-excel-o\\\"></span>\\r\\n                </button>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n<div class=\\\"wrapper wrapper-content content_top_bar_view1 animated fadeInRight\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"col-md-8\\\">\\r\\n\\r\\n            <div class=\\\"ibox\\\" >\\r\\n                <div class=\\\"ibox-content\\\" style=\\\"padding-bottom: 40px;\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                            <ul class=\\\"nav nav-tabs\\\">\\r\\n                                <li (click)=\\\"change_page_type(1)\\\" [class.active]=\\\"user_page_type==1\\\" class=\\\"dsads uib-tab ng-scope ng-isolate-scope\\\" active=\\\"tab.active\\\">\\r\\n                                    <a class=\\\"ng-binding tab_selection\\\">{{helper.sub_menu_title.user | translate}}</a>\\r\\n                                </li>\\r\\n                                <!-- <li (click)=\\\"change_page_type(2)\\\" [class.active]=\\\"user_page_type==2\\\" class=\\\"uib-tab ng-scope ng-isolate-scope active\\\">\\r\\n                                    <a class=\\\"ng-binding tab_selection\\\">{{helper.sub_menu_title.block_user | translate}}</a>\\r\\n                                </li> -->\\r\\n                            </ul>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"lable_center\\\" *ngIf=\\\"user_list.length==0\\\">\\r\\n                        <label>No Records</label>\\r\\n                    </div>\\r\\n                    <div [hidden]=\\\"user_list.length==0\\\" class=\\\"table-responsive scrollbar\\\"  style=\\\"height: calc(100vh - 285px);overflow: auto;\\\">\\r\\n                        <table class=\\\"table\\\">\\r\\n                            <thead>\\r\\n                            <tr>\\r\\n                                <th>{{title.id | translate}}</th>\\r\\n                                <th>{{title.name | translate}}</th>\\r\\n                                <!-- <th>{{title.email | translate}}</th>\\r\\n                                <th>{{title.phone | translate}}</th> -->\\r\\n                                <th>{{title.country | translate}}</th>\\r\\n                                <th>{{title.city | translate}}</th>\\r\\n                                <th>{{title.wallet | translate}}</th>\\r\\n                            </tr>\\r\\n                            </thead>\\r\\n                            <tbody>\\r\\n                            <tr *ngFor=\\\"let user of user_list\\\" [class.selected_tr]=\\\"user._id==user_detail._id\\\" (click)=\\\"get_user_detail(user._id)\\\">\\r\\n                                <td>{{user.unique_id}} </td>\\r\\n                                <td>{{user.first_name}} {{user.last_name}} ({{user.total_order ? user.total_order: 0}})</td>\\r\\n                                <!-- <td>{{user.email}}</td>\\r\\n                                <td>{{user.country_phone_code}} {{user.phone}}</td> -->\\r\\n                                    <td>{{user.country_name}}</td>\\r\\n                                    <td>{{user.city}}</td>\\r\\n                                <td>{{user.wallet}} {{user.wallet_currency_code}}</td>\\r\\n                            </tr>\\r\\n                            </tbody>\\r\\n                        </table>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-12 col-sm-12\\\" style=\\\"margin-top: 5px;\\\">\\r\\n                        <div class=\\\"lable_center\\\">\\r\\n                            <ul class=\\\"pagination\\\">\\r\\n                                <li *ngIf=\\\"page!==1\\\"><a class=\\\"btn\\\" (click)=\\\"filter(page-1)\\\">{{button.pre | translate}}</a></li>\\r\\n                                <li *ngFor=\\\"let index of total_pages\\\" [class.active]=\\\"page==index\\\">\\r\\n                                    <a *ngIf=\\\"index==1 || index==total_page || index==page || index==page-1 || index==page+1\\\" (click)=\\\"filter(index)\\\" class=\\\"btn\\\">{{index}}</a>\\r\\n                                    <a *ngIf=\\\"(index==1 && (page!==1 && page!==2 && page!==3)) || (index==total_page-1 && (page!==total_page && page!==total_page-1 && page!==total_page-2))\\\" class=\\\"btn\\\">...</a>\\r\\n                                </li>\\r\\n                                <li *ngIf=\\\"page!==total_page && user_list.length!==0\\\"><a class=\\\"btn\\\" (click)=\\\"filter(page+1)\\\">{{button.next | translate}}</a></li>\\r\\n                            </ul>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4\\\" *ngIf=\\\"user_detail._id\\\">\\r\\n            <div class=\\\"ibox \\\">\\r\\n\\r\\n                <div class=\\\"ibox-content user_fix_div scrollbar\\\" style=\\\"height: calc(100vh - 200px);overflow: auto;\\\">\\r\\n                    <div class=\\\"tab-content\\\">\\r\\n                        <div id=\\\"contact-1\\\" class=\\\"tab-pane active\\\" ng-show=\\\"client == 1\\\" ng-init=\\\"client = 1\\\">\\r\\n                            <div class=\\\"row m-b-lg\\\">\\r\\n                                <span *ngIf=\\\"is_edit && selected_tab==1\\\" class=\\\"fa fa-check pull-right\\\" (click)=\\\"update_user_detail()\\\"></span>\\r\\n                                    <div class=\\\"row no_margin\\\">\\r\\n                                        <div class=\\\"col-sm-3\\\" *ngIf=\\\"is_edit\\\">\\r\\n                                            <div class=\\\"text-center\\\">\\r\\n                                                <span  class=\\\"btn-file\\\"><img style=\\\"width: 80px; height: 80px;\\\" class=\\\"img-circle m-t-xs\\\" src=\\\"{{user_detail.image_url != '' ? helper.CONSTANT.IMAGE_BASE_URL + user_detail.image_url : 'default.png'}}\\\" alt=\\\"\\\">\\r\\n                                                    <input type=\\\"file\\\" (change)=\\\"change_image($event);\\\" accept=\\\"image/*\\\" name=\\\"image_url\\\">\\r\\n                                                </span>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                        <div class=\\\"col-sm-12\\\" *ngIf=\\\"!is_edit\\\">\\r\\n                                            <!-- <span *ngIf=\\\"!is_edit && selected_tab==1\\\" (click)=\\\"is_edit=true\\\" class=\\\"fa fa-pencil pull-right\\\"></span> -->\\r\\n                                            <div class=\\\"text-center\\\">\\r\\n                                                <img *ngIf=\\\"!is_edit\\\" alt=\\\"image\\\" style=\\\"width: 120px; height: 120px;\\\" class=\\\"img-circle m-t-xs\\\" src=\\\"{{user_detail.image_url != '' ? helper.CONSTANT.IMAGE_BASE_URL + user_detail.image_url : 'default.png'}}\\\">\\r\\n                                                <div style=\\\"margin-top: 10px;font-size: 18px;\\\">\\r\\n                                                    {{user_detail.first_name}} {{user_detail.last_name}} <span class=\\\"fa fa-star\\\" style=\\\"padding-left: 10px;\\\"></span> <span>{{((user_detail.provider_rate + user_detail.store_rate)/2)}}</span>\\r\\n                                                </div>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                        <div class=\\\"col-sm-8\\\" *ngIf=\\\"is_edit\\\">\\r\\n                                            <div class=\\\"col-lg-6 form-group\\\">\\r\\n                                                <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"user_detail.first_name\\\" #first_name=\\\"ngModel\\\" name=\\\"first_name\\\" />\\r\\n                                            </div>\\r\\n                                            <div class=\\\"col-lg-6 form-group\\\">\\r\\n                                                <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"user_detail.last_name\\\" #last_name=\\\"ngModel\\\" name=\\\"last_name\\\" />\\r\\n                                            </div>\\r\\n                                            <div class=\\\"col-lg-12 form-group\\\">\\r\\n                                                <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"user_detail.email\\\" #email=\\\"ngModel\\\" name=\\\"email\\\" />\\r\\n                                            </div>\\r\\n                                            <div class=\\\"col-lg-12 form-group\\\">\\r\\n                                                <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"user_detail.phone\\\" #phone=\\\"ngModel\\\" name=\\\"phone\\\" />\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                    <!-- <div class=\\\"row no_margin\\\" *ngIf=\\\"!is_edit\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                                        <div class=\\\"col-md-3 remove_right_padding\\\">\\r\\n                                            <button (click)=\\\"open_modal(type,user_detail._id)\\\" type=\\\"button\\\" class=\\\"btn btn-light_black btn-sm btn-block\\\" tooltip=\\\"{{helper.button.add_wallet | translate}}\\\"\\r\\n                                                    [tooltipDisabled]=\\\"false\\\"\\r\\n                                                    [tooltipAnimation]=\\\"true\\\"\\r\\n                                                    tooltipPlacement=\\\"top\\\">\\r\\n                                                <i class=\\\"fa fa-plus\\\"></i>\\r\\n                                            </button>\\r\\n                                        </div>\\r\\n                                        <div class=\\\"col-md-3 remove_left_right_padding\\\">\\r\\n                                            <button (click)=\\\"open_sms_modal(type,user_detail._id)\\\" type=\\\"button\\\" class=\\\"btn btn-light_black btn-sm btn-block\\\" tooltip=\\\"{{helper.button.send_sms | translate}}\\\"\\r\\n                                                    [tooltipDisabled]=\\\"false\\\"\\r\\n                                                    [tooltipAnimation]=\\\"true\\\"\\r\\n                                                    tooltipPlacement=\\\"top\\\">\\r\\n                                                <i class=\\\"fa fa-comments\\\"></i>\\r\\n                                            </button>\\r\\n                                        </div>\\r\\n                                        <div class=\\\"col-md-3 remove_left_right_padding\\\">\\r\\n                                            <button (click)=\\\"open_notification_modal(type,user_detail._id)\\\" type=\\\"button\\\" class=\\\"btn btn-light_black btn-sm btn-block\\\" tooltip=\\\"{{helper.button.send_notification | translate}}\\\"\\r\\n                                                    [tooltipDisabled]=\\\"false\\\"\\r\\n                                                    [tooltipAnimation]=\\\"true\\\"\\r\\n                                                    tooltipPlacement=\\\"top\\\">\\r\\n                                                <i class=\\\"fa fa-bell\\\"></i>\\r\\n                                            </button>\\r\\n                                        </div>\\r\\n                                        <div class=\\\"col-md-3 remove_left_padding\\\" *ngIf=\\\"!user_detail.is_approved\\\">\\r\\n                                            <button (click)=\\\"approved_decline(user_page_type,user_detail._id)\\\" type=\\\"button\\\" class=\\\"btn btn-light_black btn-sm btn-block\\\" tooltip=\\\"{{helper.button.approved | translate}}\\\"\\r\\n                                                    [tooltipDisabled]=\\\"false\\\"\\r\\n                                                    [tooltipAnimation]=\\\"true\\\"\\r\\n                                                    tooltipPlacement=\\\"top\\\">\\r\\n                                                <i class=\\\"fa fa-check\\\"></i>\\r\\n                                            </button>\\r\\n                                        </div>\\r\\n                                        <div class=\\\"col-md-3 remove_left_padding\\\" *ngIf=\\\"user_detail.is_approved\\\">\\r\\n                                            <button (click)=\\\"approved_decline(user_page_type,user_detail._id)\\\" type=\\\"button\\\" class=\\\"btn btn-light_black btn-sm btn-block\\\" tooltip=\\\"{{helper.button.decline | translate}}\\\"\\r\\n                                                    [tooltipDisabled]=\\\"false\\\"\\r\\n                                                    [tooltipAnimation]=\\\"true\\\"\\r\\n                                                    tooltipPlacement=\\\"top\\\">\\r\\n                                                <i class=\\\"fa fa-ban\\\"></i>\\r\\n                                            </button>\\r\\n                                        </div>\\r\\n                                    </div> -->\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"client-detail\\\">\\r\\n                                <div class=\\\"full-height-scroll\\\">\\r\\n\\r\\n                                    <!-- <ul class=\\\"nav nav-tabs\\\">\\r\\n                                        <li (click)=\\\"selected_tab=1\\\" [class.active]=\\\"selected_tab==1\\\" class=\\\"dsads uib-tab ng-scope ng-isolate-scope\\\" active=\\\"tab.active\\\">\\r\\n                                            <a class=\\\"ng-binding tab_selection\\\">{{helper.title.details | translate}}</a>\\r\\n                                        </li>\\r\\n                                        <li (click)=\\\"get_document_list()\\\" [class.active]=\\\"selected_tab==2\\\" class=\\\"uib-tab ng-scope ng-isolate-scope active\\\">\\r\\n                                            <a class=\\\"ng-binding tab_selection\\\">{{helper.button.view_document | translate}}</a>\\r\\n                                        </li>\\r\\n                                        <li (click)=\\\"get_referral_history()\\\" [class.active]=\\\"selected_tab==3\\\" class=\\\"uib-tab ng-scope ng-isolate-scope active\\\">\\r\\n                                            <a class=\\\"ng-binding tab_selection\\\">{{helper.button.referral | translate}}</a>\\r\\n                                        </li>\\r\\n                                        <li (click)=\\\"get_review_history()\\\" [class.active]=\\\"selected_tab==4\\\" class=\\\"uib-tab ng-scope ng-isolate-scope active\\\">\\r\\n                                            <a class=\\\"ng-binding tab_selection\\\">{{helper.button.reviews | translate}}</a>\\r\\n                                        </li>\\r\\n                                    </ul> -->\\r\\n                                    <ul class=\\\"list-group clear-list\\\" *ngIf=\\\"selected_tab==1\\\">\\r\\n                                        <li class=\\\"list-group-item\\\">\\r\\n                                            <span class=\\\"pull-right\\\">{{user_detail.device_type + \\\" - \\\" +  user_detail.app_version}}</span>\\r\\n                                            {{title.app_version | translate}}\\r\\n                                        </li>\\r\\n                                        <li class=\\\"list-group-item\\\">\\r\\n                                            <span class=\\\"pull-right\\\">{{user_detail.created_at | date: helper.DATE_FORMAT.DD_MMM_YYYY_HH_MM_A}}</span>\\r\\n                                            {{title.registered_date | translate}}\\r\\n                                        </li>\\r\\n                                        <li class=\\\"list-group-item \\\">\\r\\n                                            <span class=\\\"pull-right \\\"><ui-switch  [(ngModel)]=\\\"user_detail.is_phone_number_verified\\\" #is_phone_number_verified=\\\"ngModel\\\" name=\\\"is_phone_number_verified\\\" [disabled]=\\\"!is_edit\\\"></ui-switch></span>\\r\\n                                            {{title.phone_number_verified | translate}}\\r\\n                                        </li>\\r\\n                                        <li class=\\\"list-group-item \\\">\\r\\n                                            <span class=\\\"pull-right \\\"><ui-switch  [(ngModel)]=\\\"user_detail.is_email_verified\\\" #is_email_verified=\\\"ngModel\\\" name=\\\"is_email_verified\\\" [disabled]=\\\"!is_edit\\\"></ui-switch></span>\\r\\n                                            {{title.email_verified | translate}}\\r\\n                                        </li>\\r\\n                                        <li class=\\\"list-group-item \\\">\\r\\n                                            <span class=\\\"pull-right \\\"><ui-switch  [(ngModel)]=\\\"user_detail.is_document_uploaded\\\" #is_document_uploaded=\\\"ngModel\\\" name=\\\"is_document_uploaded\\\" disabled></ui-switch></span>\\r\\n                                            {{title.is_document_uploaded | translate}}\\r\\n                                        </li>\\r\\n                                        <li class=\\\"list-group-item \\\">\\r\\n                                            <span class=\\\"pull-right \\\"><ui-switch  [(ngModel)]=\\\"user_detail.is_use_wallet\\\" #is_use_wallet=\\\"ngModel\\\" name=\\\"is_use_wallet\\\" disabled></ui-switch></span>\\r\\n                                            {{title.is_use_wallet | translate}}\\r\\n                                        </li>\\r\\n                                    </ul>\\r\\n\\r\\n                                    <!-- <div class=\\\"row no_margin\\\" *ngIf=\\\"selected_tab==1\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                                        <div class=\\\"col-md-4 remove_right_padding\\\" (click)=\\\"view_user_history()\\\">\\r\\n                                            <button type=\\\"button\\\" class=\\\"btn btn-light_black btn-sm btn-block\\\">\\r\\n                                                {{button.summary | translate}}\\r\\n                                            </button>\\r\\n                                        </div>\\r\\n                                        <div class=\\\"col-md-4 remove_right_padding\\\" (click)=\\\"review_export_csv()\\\">\\r\\n                                            <button type=\\\"button\\\" class=\\\"btn btn-light_black btn-sm btn-block\\\">\\r\\n                                                {{button.export_review | translate}}\\r\\n                                            </button>\\r\\n                                        </div>\\r\\n                                    </div> -->\\r\\n\\r\\n                                    <div *ngIf=\\\"selected_tab==2\\\" style=\\\"margin-top: 20px;\\\">\\r\\n                                            <div class=\\\"table-responsive\\\">\\r\\n                                                <table class=\\\"table\\\">\\r\\n                                                    <tr>\\r\\n                                                        <td></td>\\r\\n                                                        <td>{{title.name | translate}}</td>\\r\\n                                                        <td style=\\\"width: 25%;\\\">{{title.unique_code | translate}}</td>\\r\\n                                                        <td style=\\\"width: 25%;\\\">{{title.expiry_date | translate}}</td>\\r\\n                                                        <td></td>\\r\\n                                                    </tr>\\r\\n                                                    <tr *ngFor=\\\"let document of document_list; let document_index=index;\\\">\\r\\n                                                        <td class=\\\"client-avatar\\\" (click)=\\\"show_full_image(document.image_url, document_index)\\\">\\r\\n                                                            <span *ngIf=\\\"edit_document[document_index]=='true'\\\" class=\\\"btn-file\\\">\\r\\n                                                                <img style=\\\"width: 20px; height: 20px;\\\" src=\\\"default.png\\\" class=\\\"document{{document_index}}\\\">\\r\\n                                                                <input type=\\\"file\\\" (change)=\\\"image_update($event , document_index);\\\" name=\\\"image\\\">\\r\\n                                                            </span>\\r\\n                                                            <img *ngIf=\\\"edit_document[document_index]!=='true'\\\" style=\\\"width: 20px; height: 20px; \\\" src=\\\"default.png\\\" class=\\\"document{{document_index}}\\\">\\r\\n                                                        </td>\\r\\n                                                        <td>{{document.document_details.document_name}}</td>\\r\\n                                                        <td>\\r\\n                                                            <div *ngIf=\\\"document.document_details.is_unique_code && edit_document[document_index]=='true'\\\">\\r\\n                                                                <input type=\\\"text\\\" [(ngModel)]=\\\"documentlist.unique_code\\\" #unique_code=\\\"ngModel\\\"  name=\\\"unique_code\\\" style=\\\"border-radius: 5px;border-color: #060606;height: 30px;\\\" class=\\\"form-control\\\" value=\\\"{{document.unique_code}}\\\"><br>\\r\\n                                                            </div>\\r\\n                                                            <span *ngIf=\\\"edit_document[document_index]!=='true' && document.document_details.is_unique_code\\\">{{document.unique_code}}</span></td>\\r\\n                                                        <td>\\r\\n                                                            <div *ngIf=\\\"document.document_details.is_expired_date && edit_document[document_index]=='true'\\\">\\r\\n                                                                <my-date-picker [(ngModel)]=\\\"documentlist.expired_date\\\" #expired_date=\\\"ngModel\\\"  name=\\\"expired_date\\\" id=\\\"expiry_date\\\" value=\\\"\\\" [options]=\\\"helper.ExpiryDatePickerOptions\\\" placeholder=\\\"{{title.exp_date | translate}}\\\" readonly></my-date-picker>\\r\\n                                                            </div>\\r\\n                                                            <span *ngIf=\\\"edit_document[document_index]!=='true' && document.document_details.is_expired_date\\\">{{document.expired_date | date: \\\"MM-dd-yyyy\\\"}}</span></td>\\r\\n                                                        <td>\\r\\n                                                            <!-- <span *ngIf=\\\"edit_document[document_index]!=='true'\\\" class=\\\"fa fa-pencil pull-right\\\" (click)=\\\"editDocument(document , document_index)\\\"></span> -->\\r\\n                                                            <span *ngIf=\\\"edit_document[document_index]=='true'\\\" class=\\\"fa fa-check pull-right\\\" (click)=\\\"updateDocument(document , document_index)\\\"></span>\\r\\n                                                        </td>\\r\\n                                                    </tr>\\r\\n                                                </table>\\r\\n                                            </div>\\r\\n                                    </div>\\r\\n                                    <div *ngIf=\\\"selected_tab==3\\\" style=\\\"margin-top: 20px;\\\">\\r\\n                                        <div class=\\\"row\\\">\\r\\n                                            <div class=\\\"col-md-12\\\"><label>{{title.referral_code | translate}}: </label>\\r\\n                                                <span style=\\\"margin-left: 10px;\\\">{{user_detail.referral_code}}</span>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                        <div class=\\\"row\\\" style=\\\"margin-top: 10px;\\\" *ngIf=\\\"user_detail.referred_user_details\\\">\\r\\n                                            <div class=\\\"col-md-12\\\"><label>{{title.referred_by | translate}}</label></div>\\r\\n                                            <div class=\\\"col-md-4\\\">\\r\\n                                                <img style=\\\"width: 40px; height: 40px;\\\" class=\\\"img-circle m-t-xs\\\" src=\\\"{{helper.CONSTANT.IMAGE_BASE_URL + user_detail.referred_user_details.image_url}}\\\" />\\r\\n                                            </div>\\r\\n                                            <div class=\\\"col-md-8\\\">\\r\\n                                                <div>{{title.id | translate}}: {{user_detail.referred_user_details.unique_id}}</div>\\r\\n                                                <div>{{title.name | translate}}: {{user_detail.referred_user_details.first_name}} {{user_detail.referred_user_details.last_name}}</div>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                        <div class=\\\"row\\\" style=\\\"margin-top: 10px;\\\" *ngIf=\\\"referral_history.length>0\\\">\\r\\n                                            <div class=\\\"col-md-12\\\"><label>{{title.referred_to | translate}}: </label>\\r\\n                                                <span style=\\\"margin-left: 10px;\\\">{{referral_history.length}} {{title.people | translate}}</span>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                        <div class=\\\"row col-md-12\\\" *ngIf=\\\"referral_history.length>0\\\">\\r\\n                                            <div class=\\\"table-responsive\\\">\\r\\n                                                <table class=\\\"table\\\">\\r\\n                                                    <tr>\\r\\n                                                        <td></td>\\r\\n                                                        <td>{{title.id | translate}}</td>\\r\\n                                                        <td>{{title.name | translate}}</td>\\r\\n                                                    </tr>\\r\\n                                                    <tr *ngFor=\\\"let referral of referral_history;\\\">\\r\\n                                                        <td class=\\\"client-avatar\\\"><img alt=\\\"image\\\" src=\\\"{{referral.image_url != '' ? helper.CONSTANT.IMAGE_BASE_URL + referral.image_url : 'default.png'}}\\\"></td>\\r\\n                                                        <td>{{referral.unique_id}}</td>\\r\\n                                                        <td>{{referral.first_name}} {{referral.last_name}}</td>\\r\\n                                                    </tr>\\r\\n                                                </table>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n\\r\\n                                    <div *ngIf=\\\"selected_tab==4\\\" style=\\\"margin-top: 20px;\\\">\\r\\n                                        <div *ngFor=\\\"let review of review_list;\\\">\\r\\n                                            <div *ngIf=\\\"review.store_rating_to_user>0 && review.store_detail\\\" class=\\\"row form-group\\\">\\r\\n                                                <div class=\\\"col-md-3 col-xs-3\\\">\\r\\n                                                    <img class=\\\"img-circle\\\" src=\\\"{{review.store_detail.image_url != '' ? helper.CONSTANT.IMAGE_BASE_URL + review.store_detail.image_url : 'default.png'}}\\\" style=\\\"width: 80px; height: 80px;\\\">\\r\\n                                                </div>\\r\\n                                                <div class=\\\"col-md-8 col-xs-8\\\">\\r\\n                                                    <div style=\\\"display: inline;\\\" *ngFor=\\\"let rate of Array(review.store_rating_to_user)\\\"><span class=\\\"fa fa-star rating_star\\\"></span></div>\\r\\n                                                    <div style=\\\"font-size: 15px;\\\">{{helper.title.reviewed_by}}: {{review.store_detail.name}}\\r\\n                                                        <span style=\\\"font-size: 12px;\\\">({{title.order_id | translate}}: {{review.order_unique_id}})</span>\\r\\n                                                    </div>\\r\\n                                                    <div style=\\\"font-size: 15px;color: black;\\\">{{review.store_review_to_user}}</div>\\r\\n                                                </div>\\r\\n                                            </div>\\r\\n                                            <div *ngIf=\\\"review.provider_rating_to_user>0 && review.provider_detail\\\" class=\\\"row form-group\\\">\\r\\n                                                <div class=\\\"col-md-3 col-xs-3\\\">\\r\\n                                                    <img class=\\\"img-circle\\\" src=\\\"{{review.provider_detail.image_url != '' ? helper.CONSTANT.IMAGE_BASE_URL + review.provider_detail.image_url : 'default.png'}}\\\" style=\\\"width: 80px; height: 80px;\\\">\\r\\n                                                </div>\\r\\n                                                <div class=\\\"col-md-8 col-xs-8\\\">\\r\\n                                                    <div style=\\\"display: inline;\\\" *ngFor=\\\"let rate of Array(review.provider_rating_to_user)\\\"><span class=\\\"fa fa-star rating_star\\\"></span></div>\\r\\n                                                    <div style=\\\"font-size: 15px;\\\">{{helper.title.reviewed_by}} {{review.provider_detail.first_name}} {{review.provider_detail.last_name}}\\r\\n                                                        <span style=\\\"font-size: 12px;\\\">({{title.order_id | translate}}: {{review.order_unique_id}})</span>\\r\\n                                                    </div>\\r\\n                                                    <div style=\\\"font-size: 15px;color: black;\\\">{{review.provider_review_to_user}}</div>\\r\\n                                                </div>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n\\r\\n</div>\\r\\n\\r\\n<modal cssClass=\\\"modal-sm\\\" #document_full_image>\\r\\n    <modal-header [show-close]=\\\"true\\\">\\r\\n    </modal-header>\\r\\n    <modal-body>\\r\\n        <div>\\r\\n            <img style=\\\"width: 100%; height: 100%;\\\" src=\\\"default.png\\\" class=\\\"document{{selected_document_index}}\\\">\\r\\n        </div>\\r\\n    </modal-body>\\r\\n</modal>\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-sm\\\" #myModal>\\r\\n    <form #modalForm=\\\"ngForm\\\" (ngSubmit)=\\\"AddWallet(modalForm.value)\\\">\\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <h4 class=\\\"modal-title\\\">{{heading_title.add_wallet_amount | translate}}</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div class=\\\"row\\\">\\r\\n                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"type\\\"   name=\\\"type\\\"  />\\r\\n                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"user_id\\\"   name=\\\"user_id\\\"  />\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                    <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                        <div class=\\\"form-group\\\" >\\r\\n\\r\\n                            <label style=\\\"font-weight: normal;\\\"><strong>{{title.amount | translate}}</strong></label>\\r\\n                            <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"wallet\\\" (keypress)=\\\"helper.number_validation1($event)\\\" maxlength=\\\"6\\\" name=\\\"wallet\\\" required>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{button.save | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\\r\\n\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl\\\" #mysmsModal>\\r\\n    <form #modalSmsForm=\\\"ngForm\\\" (ngSubmit)=\\\"SendSms(modalSmsForm.value)\\\">\\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <h4 class=\\\"modal-title\\\">{{heading_title.admin_sms | translate}}</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div class=\\\"row\\\">\\r\\n                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"type\\\"   name=\\\"type\\\"  />\\r\\n                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"user_id\\\"   name=\\\"user_id\\\"  />\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                    <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                        <div class=\\\"form-group\\\" >\\r\\n\\r\\n                            <label style=\\\"font-weight: normal;\\\"><strong>{{title.content | translate}}</strong></label>\\r\\n                            <textarea class=\\\"form-control\\\" [(ngModel)]=\\\"content\\\"   name=\\\"content\\\" required ></textarea>\\r\\n\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{button.send | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\\r\\n\\r\\n\\r\\n\\r\\n<modal keyboard=\\\"false\\\" backdrop=\\\"static\\\" cssClass=\\\"modal-xl\\\" #mynotificationModal>\\r\\n    <form #modalNotificationForm=\\\"ngForm\\\" (ngSubmit)=\\\"SendNotification(modalNotificationForm.value)\\\">\\r\\n        <modal-header [show-close]=\\\"true\\\">\\r\\n            <h4 class=\\\"modal-title\\\">{{heading_title.admin_send_notification | translate}}</h4>\\r\\n        </modal-header>\\r\\n        <modal-body>\\r\\n            <div class=\\\"row\\\">\\r\\n                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"type\\\"   name=\\\"type\\\"  />\\r\\n                <input type=\\\"hidden\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"user_id\\\"   name=\\\"user_id\\\"  />\\r\\n                <div class=\\\"col-md-12\\\">\\r\\n                    <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n                        <div class=\\\"form-group\\\" >\\r\\n\\r\\n                            <label style=\\\"font-weight: normal;\\\"><strong>{{title.notification_content | translate}}</strong></label>\\r\\n                            <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"content\\\" name=\\\"content\\\" required />\\r\\n\\r\\n\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n        </modal-body>\\r\\n        <modal-footer>\\r\\n            <div style=\\\"text-align: center\\\">\\r\\n                <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\">{{button.send | translate}}</button>\\r\\n            </div>\\r\\n        </modal-footer>\\r\\n    </form>\\r\\n</modal>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/store/user/user.component.html\n// module id = 1718\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n\\r\\n<div class=\\\"wrapper wrapper-content animated fadeInRight \\\">\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n\\r\\n        <div class=\\\"col-md-12 col-sm-12\\\">\\r\\n\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"ibox-title\\\" style=\\\"font-weight: bold;\\\">\\r\\n                    <h4 class=\\\"pull-right\\\">{{currency_sign}}{{order_total}}</h4>\\r\\n                    <span style=\\\"position: absolute; left:48%;\\\">(<strong>{{total_item}}</strong>) {{title.items | translate}}</span>\\r\\n                    <h5>{{heading_title.order_detail | translate}}</h5>\\r\\n                </div>\\r\\n                <div class=\\\"ibox-content\\\" *ngFor=\\\"let products of order_detail; let product_index=index; \\\">\\r\\n\\r\\n\\r\\n                    <div class=\\\"row\\\" style=\\\"border-bottom: 1px solid;\\\" *ngFor=\\\"let item of products.items; let odd=odd; let item_index=index; \\\">\\r\\n\\r\\n                        <div class=\\\"col-md-12 col-sm-12\\\" style=\\\"padding: 0;\\\">\\r\\n                            <div class=\\\"table-responsive\\\">\\r\\n                                <table class=\\\"table shoping-cart-table\\\">\\r\\n\\r\\n                                <thead style=\\\"border-bottom: 1px solid;\\\">\\r\\n                                    <tr>\\r\\n                                        <th style=\\\"width: 55%;padding-top: 12px;\\\">{{title.item | translate}}{{item_index+1}}</th>\\r\\n                                        <th style=\\\"text-align: center;padding-top: 12px;\\\">{{title.spec | translate}} {{title.price | translate}}</th>\\r\\n                                        <th style=\\\"text-align: center;padding-top: 12px;\\\">{{title.price | translate}}</th>\\r\\n                                        <th style=\\\"text-align: center;padding-top: 12px;\\\">{{title.qty | translate}}</th>\\r\\n                                        <th style=\\\"text-align: center;padding-top: 12px;\\\">{{title.total | translate}}</th>\\r\\n                                    </tr>\\r\\n                                </thead>\\r\\n\\r\\n\\r\\n                                <tbody>\\r\\n                                    <tr>\\r\\n                                        <td style=\\\"padding-top: 20px;width: 55%;\\\">\\r\\n                                            <div style=\\\"display: -webkit-box;\\\">\\r\\n                                                <img class=\\\"\\\" style=\\\"height: 80px;width: 80px;border-radius: 10px;\\\"  src=\\\"{{helper.CONSTANT.IMAGE_BASE_URL + item.image_url[0]}}\\\">\\r\\n                                                <div style=\\\"    margin-left: 10px;\\\">\\r\\n                                                    <h3>{{item.item_name}}</h3>\\r\\n                                                    <p class=\\\"small\\\" style=\\\"height: 30px; overflow-y: hidden;\\\">\\r\\n                                                        {{item.details}}\\r\\n                                                    </p>\\r\\n                                                </div>\\r\\n                                            </div>\\r\\n                                        </td>\\r\\n                                        <td style=\\\"padding-top: 20px;text-align: center;\\\">{{currency_sign}}{{item.total_specification_price}}</td>\\r\\n                                        <td style=\\\"padding-top: 20px;text-align: center;\\\">{{currency_sign}}{{item.item_price}}</td>\\r\\n                                        <td style=\\\"padding-top: 20px;text-align: center;\\\">{{item.quantity}}</td>\\r\\n                                        <td style=\\\"padding-top: 20px;text-align: center;\\\">{{currency_sign}}{{(item.item_price + item.total_specification_price)*item.quantity}}</td>\\r\\n                                        <!--<td>-->\\r\\n                                            <!--<h4>{{currency_sign}}{{(item.item_price + item.total_specification_price)*item.quantity}}</h4>-->\\r\\n                                        <!--</td>-->\\r\\n                                    </tr>\\r\\n                                </tbody>\\r\\n                            </table>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-6 col-sm-12 col-xs-12\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\" style=\\\"padding: 0px;\\\">\\r\\n                                    <div class=\\\"col-md-4 col-sm-8 col-xs-8\\\"><h4 style=\\\"font-weight: bold;\\\">{{title.specifications | translate}}</h4></div>\\r\\n                                    <!--<div class=\\\"col-md-2 col-sm-4 col-xs-4\\\"><h4>{{item.total_specification_price}}{{currency_sign}}</h4></div>-->\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div *ngFor=\\\"let specification_group of item.specifications; let odd=odd;\\\" [class.row]=\\\"odd\\\" style=\\\"margin: 0;\\\">\\r\\n                                <div class=\\\"row\\\">\\r\\n                                    <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\" style=\\\"padding: 0px;\\\">\\r\\n                                        <div class=\\\"col-md-12\\\" style=\\\"padding: 0;border-bottom: 1px solid #dcdcdc;\\\">\\r\\n                                            <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5>{{specification_group.name}}</h5></div>\\r\\n                                            <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;\\\">{{currency_sign}}{{specification_group.price}}</h5></div>\\r\\n                                        </div>\\r\\n\\r\\n                                        <div class=\\\"col-md-12\\\" *ngFor=\\\"let specification of specification_group.list\\\">\\r\\n                                            <div style=\\\"padding: 0;\\\" class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h6 style=\\\"font-size: 13px;\\\">{{specification.name}}</h6></div>\\r\\n                                            <div class=\\\"col-md-4 col-sm-4 col-xs-4\\\" style=\\\"padding: 0;\\\"><h6 style=\\\"font-size: 13px;float: right;\\\">{{currency_sign}}{{specification.price}}</h6></div>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-md-6 col-sm-12 col-xs-12\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\">\\r\\n                                    <h4 style=\\\"font-weight: bold;\\\">{{title.item_note_here | translate}}</h4>\\r\\n                                    <p class=\\\"small\\\">\\r\\n                                        {{item.note_for_item }}\\r\\n                                    </p>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n\\r\\n    </div>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/store/view_cart/view_cart.component.html\n// module id = 1719\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>   \\r\\n<div class=\\\"row wrapper content_top_bar border-bottom white-bg page-heading\\\">\\r\\n\\r\\n    <div class=\\\"col-lg-12\\\">\\r\\n        <div class=\\\"col-md-4 col-sm-12 col-xs-12\\\">\\r\\n            <h3>{{heading_title.invoice_no | translate}}: {{invoice_number}}</h3>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4 col-sm-6 col-xs-6\\\" *ngIf=\\\"completed_at!==null\\\">\\r\\n            <h3>{{title.date | translate}}: {{moment(completed_at).tz(timezone).format('DD MMM YYYY HH:mm a')}}</h3>\\r\\n        </div>\\r\\n        <div class=\\\"col-md-4 col-sm-6 col-xs-6\\\">\\r\\n            <span class=\\\"pull-right\\\"><a class=\\\"btn btn-primary\\\" (click)=\\\"viewInvoice(order_id)\\\">{{button.view_full_invoice | translate}}</a></span>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n</div>\\r\\n<div class=\\\"wrapper wrapper-content animated fadeInRight \\\">\\r\\n\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"\\\">\\r\\n            <div class=\\\"col-lg-3 col-sm-6\\\">\\r\\n                <div class=\\\"ibox\\\">\\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                        <h5>{{heading_title.payment | translate}}</h5>\\r\\n                    </div>\\r\\n                    <div class=\\\"ibox-content\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12\\\"><label class=\\\"col-lg-8 col-sm-8 col-xs-8 control-label\\\">{{title.order_payment | translate}}:</label>\\r\\n\\r\\n                                <div class=\\\"col-lg-4 col-sm-4 col-xs-4 form-group\\\">\\r\\n                                    {{total_order_price}}\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12\\\"><label class=\\\"col-lg-8 col-sm-8 col-xs-8 control-label\\\">{{title.delivery_payment | translate}}:</label>\\r\\n\\r\\n                                <div class=\\\"col-lg-4 col-sm-4 col-xs-4 form-group\\\">\\r\\n                                    {{total_delivery_price}}\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-md-12\\\">\\r\\n\\r\\n                                <label class=\\\"col-lg-8 col-sm-8 col-xs-8 control-label\\\">{{title.user_payment | translate}}:</label>\\r\\n\\r\\n                                <div *ngIf=\\\"is_payment_mode_cash == false\\\" class=\\\"col-lg-4 col-sm-4 col-xs-4\\\" form-group>\\r\\n                                    {{card_payment}}\\r\\n                            </div>\\r\\n                            <div *ngIf=\\\"is_payment_mode_cash == true\\\" class=\\\"col-lg-4 col-sm-4 col-xs-4 form-group\\\">\\r\\n                                {{cash_payment}}\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n    <div class=\\\"col-lg-3 col-sm-6\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\">\\r\\n                <h5>{{heading_title.order_from | translate}}</h5>\\r\\n            </div>\\r\\n            <div class=\\\"ibox-content\\\">\\r\\n                <div class=\\\"row\\\">\\r\\n\\r\\n                    <div class=\\\"col-md-4 col-sm-4\\\">\\r\\n                        <div>\\r\\n                            <img class=\\\"img-circle\\\" style=\\\"width:90px;\\\" [src]=\\\"user_profile != '' ? user_profile : 'default.png'\\\" />\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-8 col-sm-8\\\">\\r\\n                        <div class=\\\"col-lg-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                            {{user_name}}\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                            {{user_country_code}} {{user_phone}}\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                            {{user_email}}\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n    <div class=\\\" col-lg-3 col-sm-6\\\" *ngIf=\\\"destination_addresses.length > 0\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\">\\r\\n                <h5>{{heading_title.delivery_to | translate}}</h5>\\r\\n            </div>\\r\\n            <div class=\\\"ibox-content\\\">\\r\\n\\r\\n                <div class=\\\"row\\\">\\r\\n                    <div class=\\\"col-md-12\\\">\\r\\n                        <div class=\\\"col-lg-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                            {{destination_addresses[0].user_details.name}}\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                            {{destination_addresses[0].user_details.country_phone_code}} {{destination_addresses[0].user_details.phone}}\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                            {{destination_addresses[0].address}}\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n\\r\\n    <div class=\\\"col-lg-3 col-sm-6\\\" *ngIf=\\\"!is_user_pick_up_order\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\">\\r\\n                <h5>{{heading_title.delivery_man | translate}}</h5>\\r\\n            </div>\\r\\n            <div class=\\\"ibox-content wizard\\\">\\r\\n                <div class=\\\"row\\\">\\r\\n                    <div class=\\\"col-md-4\\\">\\r\\n                        <div>\\r\\n                            <img class=\\\"img-circle\\\" style=\\\"width:90px;\\\" [src]=\\\"provider_profile != '' ? provider_profile : 'default.png'\\\" />\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-md-8\\\">\\r\\n                        <div class=\\\"col-lg-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                            {{provider_name}}\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                            {{provider_country_code}} {{provider_phone}}\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                            {{provider_email}}\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n</div>\\r\\n\\r\\n</div>\\r\\n\\r\\n<div class=\\\"row\\\">\\r\\n\\r\\n    <div class=\\\"col-md-6 col-lg-4 col-sm-12\\\" *ngIf=\\\"order_detail.length >0\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\">\\r\\n                <h4 class=\\\"pull-right\\\">{{currency_sign}}{{order_total}}</h4>\\r\\n                <span style=\\\"position: absolute; left:48%;\\\">(<strong>{{total_item}}</strong>) {{title.items | translate}}</span>\\r\\n                <h5>{{heading_title.order_detail | translate}}</h5>\\r\\n            </div>\\r\\n            <div class=\\\"ibox-content\\\" style=\\\"padding-top: 1px;\\\" *ngFor=\\\"let products of order_detail; let product_index=index; \\\">\\r\\n\\r\\n                 <div style=\\\"border-bottom: 1px solid brown;\\\">\\r\\n                    <h4 class=\\\"pull-right\\\">{{currency_sign}}{{product_item_total_array[product_index]}}\\r\\n                        <span *ngIf=\\\"hide_specification_group[product_index]=='true'\\\" (click)=\\\"show_specifications_group(product_index)\\\" class=\\\"fa fa-chevron-left\\\"></span>\\r\\n                        <span *ngIf=\\\"hide_specification_group[product_index]=='false'\\\" (click)=\\\"hide_specifications_group(product_index)\\\" class=\\\"fa fa-chevron-down\\\"></span>\\r\\n                    </h4>\\r\\n                    <span style=\\\"position: absolute; left:48%;\\\">(<strong>{{products.items.length}}</strong>) {{title.items | translate}}</span>\\r\\n                    <h5>{{products.product_name}}</h5>\\r\\n                </div>\\r\\n\\r\\n                <div id=\\\"spec_list{{product_index}}\\\" class=\\\"table-responsive\\\" style=\\\"    width: 100%;\\\">\\r\\n                    <table class=\\\"table\\\">\\r\\n                        <thead style=\\\"border-bottom: 1px solid;\\\">\\r\\n                            <tr>\\r\\n                                <th >{{title.item | translate}}</th>\\r\\n                                <th >{{title.spec | translate}} {{title.price | translate}}</th>\\r\\n                                <th >{{title.price | translate}}</th>\\r\\n                                <th >{{title.qty | translate}}</th>\\r\\n                                <th >{{title.total | translate}}</th>\\r\\n                            </tr>\\r\\n                        </thead>\\r\\n\\r\\n                        <tbody>\\r\\n                            <tr style=\\\"cursor: pointer;\\\" *ngFor=\\\"let item of products.items; let odd=odd; let item_index=index; \\\" (click)=\\\"get_specification(product_index, item_index)\\\">\\r\\n                                <td >{{item.item_name}}</td>\\r\\n                                <td>{{currency_sign}}{{item.total_specification_price}}</td>\\r\\n                                <td>{{currency_sign}}{{item.item_price}}</td>\\r\\n                                <td >{{item.quantity}}</td>\\r\\n                                <td >{{currency_sign}}{{(item.item_price + item.total_specification_price)*item.quantity}}</td>\\r\\n                            </tr>\\r\\n                        </tbody>\\r\\n\\r\\n                    </table>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"col-md-6 col-lg-4 col-sm-12\\\" *ngIf=\\\"order_detail.length >0\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\"><h5>{{title.specifications | translate}}</h5></div>\\r\\n\\r\\n            <div class=\\\"ibox-content\\\">\\r\\n\\r\\n                <div *ngFor=\\\"let specification_group of specifications; let odd=odd;\\\" [class.row]=\\\"odd\\\" style=\\\"margin: 0;\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\" style=\\\"padding: 0px;\\\">\\r\\n                            <div class=\\\"col-md-12\\\" style=\\\"padding: 0;border-bottom: 1px solid #dcdcdc;\\\">\\r\\n                                <div class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h5>{{specification_group.name}}</h5></div>\\r\\n                                <div *ngIf=\\\"specification_group.price > 0\\\" class=\\\"col-md-4 col-sm-4 col-xs-4\\\"><h5 style=\\\"float: right;\\\">{{currency_sign}}{{specification_group.price}}</h5></div>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"col-md-12\\\" *ngFor=\\\"let specification of specification_group.list\\\">\\r\\n                                 <div style=\\\"padding: 0;\\\" class=\\\"col-md-8 col-sm-8 col-xs-8\\\"><h6 style=\\\"font-size: 13px;\\\">{{specification.name}}</h6></div>\\r\\n                                <div *ngIf=\\\"specification.price > 0\\\" class=\\\"col-md-4 col-sm-4 col-xs-4\\\" style=\\\"padding: 0;\\\"><h6 style=\\\"font-size: 13px;float: right;\\\">{{currency_sign}}{{specification.price}}</h6></div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"row\\\" style=\\\"border-top: 1px solid;padding-top: 15px;\\\" *ngIf=\\\"item_note!=''\\\">\\r\\n                    <div class=\\\"col-md-12 col-sm-12 col-xs-12\\\">\\r\\n                        <label>{{title.item_note_here}}</label>\\r\\n                        <div>\\r\\n                            <h6 style=\\\"font-size: 13px;\\\">{{item_note}}</h6>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"col-lg-4 col-md-12 col-sm-12\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"ibox-title\\\" style=\\\"background-color: #d4d8d8;\\\">\\r\\n                <h5>{{heading_title.order_status | translate}}</h5>\\r\\n            </div>\\r\\n            <div class=\\\"ibox-content\\\">\\r\\n\\r\\n                <div id=\\\"vertical-timeline\\\" class=\\\"vertical-container dark-timeline\\\">\\r\\n\\r\\n                    <div *ngFor=\\\"let date of order_date_time;\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                        <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                        </div>\\r\\n                        <div class=\\\"vertical-timeline-content\\\" [ngSwitch]=\\\"date.status\\\" style=\\\"padding-top: 1px;\\\">\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.WAITING_FOR_ACCEPT_STORE\\\"><span>{{helper.status.waiting_for_accept | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_ACCEPTED\\\"><span>{{helper.status.accepted | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_PREPARING_ORDER\\\"><span>{{helper.status.start_preparing_order | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.OREDER_READY\\\"><span>{{helper.status.order_ready | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.WAITING_FOR_DELIVERY_MAN\\\"><span>{{helper.status.waiting_for_delivery_man | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_REJECTED\\\"><span>{{helper.status.rejected | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_CANCELLED\\\"><span>{{helper.status.cancelled | translate}}</span></p>\\r\\n\\r\\n                            <span class=\\\"vertical-date small text-muted\\\">{{moment(date.date).tz(timezone).format('DD MMM YYYY HH:mm a')}}</span>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div *ngFor=\\\"let date of request_date_time;\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                        <div class=\\\"vertical-timeline-icon gray-bg\\\">\\r\\n                        </div>\\r\\n                        <div class=\\\"vertical-timeline-content\\\" [ngSwitch]=\\\"date.status\\\" style=\\\"padding-top: 1px;\\\">\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.WAITING_FOR_DELIVERY_MAN\\\"><span>{{helper.status.waiting_for_delivery_man | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_ACCEPTED\\\"><span>{{helper.status.delivery_man_accepted | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_COMING\\\"><span>{{helper.status.delivery_man_coming | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_ARRIVED\\\"><span>{{helper.status.delivery_man_arrived | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\\\"><span>{{helper.status.picked_order | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_STARTED_DELIVERY\\\"><span>{{helper.status.started_for_delivery | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_ARRIVED_AT_DESTINATION\\\"><span>{{helper.status.arrived_at_destination | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_COMPLETE_DELIVERY\\\"><span>{{helper.status.delivered_ordered | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_REJECTED\\\"><span>{{helper.status.rejected | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_CANCELLED\\\"><span>{{helper.status.cancelled | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.NO_DELIVERY_MAN_FOUND\\\"><span>{{helper.status.no_delivery_man_found | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_REJECTED\\\"><span>{{helper.status.delivery_man_rejected | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.DELIVERY_MAN_CANCELLED\\\"><span>{{helper.status.delivery_man_cancelled | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.CANCELED_BY_USER\\\"><span>{{helper.status.user_cancelled | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.STORE_CANCELLED_REQUEST\\\"><span>{{helper.status.cancelled_request | translate}}</span></p>\\r\\n                            <p *ngSwitchCase=\\\"helper.ORDER_STATE.ORDER_COMPLETED\\\"><span>{{helper.status.completed | translate}}</span></p>\\r\\n\\r\\n                            <span class=\\\"vertical-date small text-muted\\\">{{moment(date.date).tz(timezone).format('DD MMM YYYY HH:mm a')}}</span>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/store/view_order/view_order.component.html\n// module id = 1720\n// module chunks = 0","module.exports = \"<div class=\\\"wrapper wrapper-content animated fadeInRight\\\">\\r\\n    <div class=\\\"row\\\">\\r\\n        <div class=\\\"ibox\\\">\\r\\n            <div class=\\\"col-md-12\\\">\\r\\n                <div class=\\\"ibox-title\\\">\\r\\n                    <h5>Activity</h5>\\r\\n                </div>\\r\\n                <div class=\\\"ibox-content\\\">\\r\\n                  <div id=\\\"vertical-timeline\\\" class=\\\"vertical-container dark-timeline center-orientation\\\">\\r\\n                        <div class=\\\"vertical-timeline-block\\\">\\r\\n                            <div class=\\\"vertical-timeline-icon navy-bg\\\">\\r\\n                                <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"vertical-timeline-content\\\">\\r\\n                                <h2>{{status.created}}</h2>\\r\\n                                <span class=\\\"vertical-date\\\">\\r\\n                                    <small>{{created_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</small>\\r\\n                                </span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div *ngIf=\\\"store_accepted_at!=null&&order_status>ORDER_STATE.WAITING_FOR_ACCEPT_STORE\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                            <div class=\\\"vertical-timeline-icon navy-bg\\\">\\r\\n                                <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"vertical-timeline-content\\\">\\r\\n                                <h2>{{status.accepted}}</h2>\\r\\n                                <span class=\\\"vertical-date\\\">\\r\\n                                    <small>{{store_accepted_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</small>\\r\\n                                </span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div *ngIf=\\\"order_status_id==ORDER_STATUS_ID.REJECTED&&order_status==ORDER_STATE.STORE_REJECTED\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                            <div class=\\\"vertical-timeline-icon navy-bg\\\">\\r\\n                                <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"vertical-timeline-content\\\">\\r\\n                                <h2>{{status.rejected}}</h2>\\r\\n                                <span class=\\\"vertical-date\\\">\\r\\n                                    <small>{{completed_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</small>\\r\\n                                </span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div *ngIf=\\\"start_preparing_order_at!=null&&order_status>ORDER_STATE.STORE_ACCEPTED\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                            <div class=\\\"vertical-timeline-icon navy-bg\\\">\\r\\n                                <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"vertical-timeline-content\\\">\\r\\n                                <h2>{{status.start_preparing_order}}</h2>\\r\\n                                <span class=\\\"vertical-date\\\">\\r\\n                                    <small>{{start_preparing_order_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</small>\\r\\n                                </span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div *ngIf=\\\"order_ready_at!=null&&order_status>ORDER_STATE.STORE_PREPARING_ORDER\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                            <div class=\\\"vertical-timeline-icon navy-bg\\\">\\r\\n                                <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"vertical-timeline-content\\\">\\r\\n                                <h2>{{status.order_ready}}</h2>\\r\\n                                <span class=\\\"vertical-date\\\">\\r\\n                                    <small>{{order_ready_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</small>\\r\\n                                </span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div *ngIf=\\\"store_order_created_at!=null&&order_status>ORDER_STATE.OREDER_READY\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                            <div class=\\\"vertical-timeline-icon navy-bg\\\">\\r\\n                                <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"vertical-timeline-content\\\">\\r\\n                                <h2>{{status.assign_order_to_Delivery_man}}</h2>\\r\\n                                <span class=\\\"vertical-date\\\">\\r\\n                                    <small>{{store_order_created_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</small>\\r\\n                                </span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div *ngIf=\\\"accepted_at!=null&&order_status>ORDER_STATE.WAITING_FOR_DELIVERY_MAN\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                            <div class=\\\"vertical-timeline-icon navy-bg\\\">\\r\\n                                <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"vertical-timeline-content\\\">\\r\\n                                <h2>{{status.delivery_man_accepted}}</h2>\\r\\n                                <span class=\\\"vertical-date\\\">\\r\\n                                    <small>{{accepted_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</small>\\r\\n                                </span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div *ngIf=\\\"start_for_pickup_at!=null&&order_status>ORDER_STATE.DELIVERY_MAN_ACCEPTED\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                            <div class=\\\"vertical-timeline-icon navy-bg\\\">\\r\\n                                <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"vertical-timeline-content\\\">\\r\\n                                <h2>{{status.delivery_man_coming}}</h2>\\r\\n                                <span class=\\\"vertical-date\\\">\\r\\n                                    <small>{{start_for_pickup_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</small>\\r\\n                                </span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div *ngIf=\\\"arrived_on_store_at!=null&&order_status>ORDER_STATE.DELIVERY_MAN_COMING\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                            <div class=\\\"vertical-timeline-icon navy-bg\\\">\\r\\n                                <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"vertical-timeline-content\\\">\\r\\n                                <h2>{{status.delivery_man_arrived}}</h2>\\r\\n                                <span class=\\\"vertical-date\\\">\\r\\n                                    <small>{{arrived_on_store_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</small>\\r\\n                                </span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div *ngIf=\\\"picked_order_at!=null&&order_status>ORDER_STATE.DELIVERY_MAN_ARRIVED\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                            <div class=\\\"vertical-timeline-icon navy-bg\\\">\\r\\n                                <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"vertical-timeline-content\\\">\\r\\n                                <h2>{{status.picked_order}}</h2>\\r\\n                                <span class=\\\"vertical-date\\\">\\r\\n                                    <small>{{picked_order_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</small>\\r\\n                                </span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div *ngIf=\\\"start_for_delivery_at!=null&&order_status>ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                            <div class=\\\"vertical-timeline-icon navy-bg\\\">\\r\\n                                <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"vertical-timeline-content\\\">\\r\\n                                <h2>{{status.started_for_delivery}}</h2>\\r\\n                                <span class=\\\"vertical-date\\\">\\r\\n                                    <small>{{started_for_delivery_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</small>\\r\\n                                </span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div *ngIf=\\\"delivered_at!=null&&order_status>ORDER_STATE.DELIVERY_MAN_STARTED_DELIVERY\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                            <div class=\\\"vertical-timeline-icon navy-bg\\\">\\r\\n                                <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"vertical-timeline-content\\\">\\r\\n                                <h2>{{status.arrived_at_destination}}</h2>\\r\\n                                <span class=\\\"vertical-date\\\">\\r\\n                                    <small>{{delivered_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</small>\\r\\n                                </span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div *ngIf=\\\"delivered_at!=null&&order_status>ORDER_STATE.DELIVERY_MAN_ARRIVED_AT_DESTINATION\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                            <div class=\\\"vertical-timeline-icon navy-bg\\\">\\r\\n                                <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"vertical-timeline-content\\\">\\r\\n                                <h2>{{status.delivered_ordered}}</h2>\\r\\n                                <span class=\\\"vertical-date\\\">\\r\\n                                    <small>{{delivered_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</small>\\r\\n                                </span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div *ngIf=\\\"order_status_id==ORDER_STATUS_ID.CANCELLED\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                            <div class=\\\"vertical-timeline-icon navy-bg\\\">\\r\\n                                <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"vertical-timeline-content\\\">\\r\\n                                <h2 *ngIf=\\\"order_status==ORDER_STATE.STORE_CANCELLED\\\">{{status.cancelled}}</h2>\\r\\n                                <h2 *ngIf=\\\"order_status==ORDER_STATE.DELIVERY_MAN_CANCELLED\\\">Cancelled By Delivery Man</h2>\\r\\n                                <span class=\\\"vertical-date\\\">\\r\\n                                    <small>{{cancelled_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</small>\\r\\n                                </span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div *ngIf=\\\"order_status_id==ORDER_STATUS_ID.REJECTED&&order_status==ORDER_STATE.DELIVERY_MAN_REJECTED\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                            <div class=\\\"vertical-timeline-icon navy-bg\\\">\\r\\n                                <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"vertical-timeline-content\\\">\\r\\n                                <h2>Rejected By Delivery Man</h2>\\r\\n                                <span class=\\\"vertical-date\\\">\\r\\n                                    <small>{{store_order_created_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</small>\\r\\n                                </span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div *ngIf=\\\"order_status_id==ORDER_STATUS_ID.COMPLETED\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                            <div class=\\\"vertical-timeline-icon navy-bg\\\">\\r\\n                                <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"vertical-timeline-content\\\">\\r\\n                                <h2>{{status.completed}}</h2>\\r\\n                                <span class=\\\"vertical-date\\\">\\r\\n                                    <small>{{completed_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</small>\\r\\n                                </span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div *ngIf=\\\"order_status==ORDER_STATE.NO_DELIVERY_MAN_FOUND\\\" class=\\\"vertical-timeline-block\\\">\\r\\n                            <div class=\\\"vertical-timeline-icon navy-bg\\\">\\r\\n                                <i class=\\\"fa fa-briefcase\\\"></i>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"vertical-timeline-content\\\">\\r\\n                                <h2>No Provider Found</h2>\\r\\n                                <span class=\\\"vertical-date\\\">\\r\\n                                    <small>{{completed_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</small>\\r\\n                                </span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <!-- <div class=\\\"table-responsive\\\">\\r\\n                        <table class=\\\"table\\\">\\r\\n                            <thead>\\r\\n                                <tr>\\r\\n                                    <th>{{title.status}}</th>\\r\\n                                    <th>Title</th>\\r\\n                                    <th>{{title.date_time}}</th>\\r\\n                                </tr>\\r\\n                            </thead>\\r\\n                            <tbody>\\r\\n                                <tr>\\r\\n                                    <td>{{status.created}}</td>\\r\\n                                    <td>{{status.created}}</td>\\r\\n                                    <td>{{created_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</td>\\r\\n                                </tr>\\r\\n                                <tr *ngIf=\\\"store_accepted_at!=null&&order_status>ORDER_STATE.WAITING_FOR_ACCEPT_STORE\\\">\\r\\n                                    <td>{{status.accepted}}</td>\\r\\n                                    <td>{{status.accepted}}</td>\\r\\n                                    <td>{{store_accepted_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</td>\\r\\n                                </tr>\\r\\n                                <tr *ngIf=\\\"order_status_id==ORDER_STATUS_ID.REJECTED&&order_status==ORDER_STATE.STORE_REJECTED\\\">\\r\\n                                    <td>{{status.rejected}}</td>\\r\\n                                    <td>{{status.rejected}}</td>\\r\\n                                    <td>{{completed_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</td>\\r\\n                                </tr>\\r\\n                                <tr *ngIf=\\\"start_preparing_order_at!=null&&order_status>ORDER_STATE.STORE_ACCEPTED\\\">\\r\\n                                    <td>{{status.start_preparing_order}}</td>\\r\\n                                    <td>{{status.start_preparing_order}}</td>\\r\\n                                    <td>{{start_preparing_order_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</td>\\r\\n                                </tr>\\r\\n                                <tr *ngIf=\\\"order_ready_at!=null&&order_status>ORDER_STATE.STORE_PREPARING_ORDER\\\">\\r\\n                                    <td>{{status.order_ready}}</td>\\r\\n                                    <td>{{status.order_ready}}</td>\\r\\n                                    <td>{{order_ready_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</td>\\r\\n                                </tr>\\r\\n                                <tr *ngIf=\\\"store_order_created_at!=null&&order_status>ORDER_STATE.OREDER_READY\\\">\\r\\n                                    <td>{{status.assign_order_to_Delivery_man}}</td>\\r\\n                                    <td>{{status.assign_order_to_Delivery_man}}</td>\\r\\n                                    <td>{{store_order_created_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</td>\\r\\n                                </tr>\\r\\n                                <tr *ngIf=\\\"accepted_at!=null&&order_status>ORDER_STATE.WAITING_FOR_DELIVERY_MAN\\\">\\r\\n                                    <td>{{status.delivery_man_accepted}}</td>\\r\\n                                    <td>{{status.delivery_man_accepted}}</td>\\r\\n                                    <td>{{accepted_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</td>\\r\\n                                </tr>\\r\\n                                <tr *ngIf=\\\"start_for_pickup_at!=null&&order_status>ORDER_STATE.DELIVERY_MAN_ACCEPTED\\\">\\r\\n                                    <td>{{status.delivery_man_coming}}</td>\\r\\n                                    <td>{{status.delivery_man_coming}}</td>\\r\\n                                    <td>{{start_for_pickup_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</td>\\r\\n                                </tr>\\r\\n                                <tr *ngIf=\\\"arrived_on_store_at!=null&&order_status>ORDER_STATE.DELIVERY_MAN_COMING\\\">\\r\\n                                    <td>{{status.delivery_man_arrived}}</td>\\r\\n                                    <td>{{status.delivery_man_arrived}}</td>\\r\\n                                    <td>{{arrived_on_store_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</td>\\r\\n                                </tr>\\r\\n                                <tr *ngIf=\\\"picked_order_at!=null&&order_status>ORDER_STATE.DELIVERY_MAN_ARRIVED\\\">\\r\\n                                    <td>{{status.picked_order}}</td>\\r\\n                                    <td>{{status.picked_order}}</td>\\r\\n                                    <td>{{picked_order_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</td>\\r\\n                                </tr>\\r\\n                                <tr *ngIf=\\\"start_for_delivery_at!=null&&order_status>ORDER_STATE.DELIVERY_MAN_PICKED_ORDER\\\">\\r\\n                                    <td>{{status.started_for_delivery}}</td>\\r\\n                                    <td>{{status.started_for_delivery}}</td>\\r\\n                                    <td>{{start_for_delivery_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</td>\\r\\n                                </tr>\\r\\n                                <tr *ngIf=\\\"delivered_at!=null&&order_status>ORDER_STATE.DELIVERY_MAN_STARTED_DELIVERY\\\">\\r\\n                                    <td>{{status.arrived_at_destination}}</td>\\r\\n                                    <td>{{status.arrived_at_destination}}</td>\\r\\n                                    <td>{{delivered_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</td>\\r\\n                                </tr>\\r\\n\\r\\n                                <tr *ngIf=\\\"delivered_at!=null&&order_status>ORDER_STATE.DELIVERY_MAN_ARRIVED_AT_DESTINATION\\\">\\r\\n                                    <td>{{status.delivered_ordered}}</td>\\r\\n                                    <td>{{status.delivered_ordered}}</td>\\r\\n                                    <td>{{delivered_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</td>\\r\\n                                </tr>\\r\\n\\r\\n                                <tr *ngIf=\\\"order_status_id==ORDER_STATUS_ID.CANCELLED\\\">\\r\\n                                    <td *ngIf=\\\"order_status==ORDER_STATE.STORE_CANCELLED\\\">{{status.cancelled}}</td>\\r\\n                                    <td *ngIf=\\\"order_status==ORDER_STATE.STORE_CANCELLED\\\">{{status.cancelled}}</td>\\r\\n                                    <td *ngIf=\\\"order_status==ORDER_STATE.DELIVERY_MAN_CANCELLED\\\">Cancelled By Delivery Man</td>\\r\\n                                    <td *ngIf=\\\"order_status==ORDER_STATE.DELIVERY_MAN_CANCELLED\\\">Cancelled By Delivery Man</td>\\r\\n                                    <td>{{cancelled_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</td>\\r\\n                                </tr>\\r\\n\\r\\n                                <tr *ngIf=\\\"order_status_id==ORDER_STATUS_ID.REJECTED&&order_status==ORDER_STATE.DELIVERY_MAN_REJECTED\\\">\\r\\n                                    <td>Rejected By Delivery Man</td>\\r\\n                                    <td>Rejected By Delivery Man</td>\\r\\n                                    <td>{{store_order_created_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</td>\\r\\n                                </tr>\\r\\n                                <tr *ngIf=\\\"order_status_id==ORDER_STATUS_ID.COMPLETED\\\">\\r\\n                                    <td>{{status.completed}}</td>\\r\\n                                    <td>{{status.completed}}</td>\\r\\n                                    <td>{{completed_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</td>\\r\\n                                </tr>\\r\\n                                <tr  *ngIf=\\\"order_status==ORDER_STATE.NO_DELIVERY_MAN_FOUND\\\">\\r\\n                                    <td>No Provider Found</td>\\r\\n                                    <td>No Provider Found</td>\\r\\n                                    <td>{{completed_at | date: \\\"dd MMM yyyy hh:mm a\\\"}}</td>\\r\\n                                </tr>\\r\\n\\r\\n                            </tbody>\\r\\n                        </table>\\r\\n                    </div> -->\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/store/view_order_activity/view_order_activity.component.html\n// module id = 1721\n// module chunks = 0","module.exports = \"<style type=\\\"text/css\\\" media=\\\"screen\\\">\\r\\n    .odd{\\r\\n        padding-right: 0px;\\r\\n    }   \\r\\n    .even{\\r\\n        padding-left: 0px;\\r\\n    } \\r\\n</style>\\r\\n\\r\\n<div class=\\\"wrapper wrapper-content animated fadeInRight ecommerce\\\">\\r\\n    <div class=\\\"ibox\\\">\\r\\n        <div class=\\\"ibox-title\\\" style=\\\"background-color: #fff;\\\">\\r\\n            <h4 class=\\\"pull-right\\\">{{currency_sign}} {{order_total}}</h4>\\r\\n            <span style=\\\"position: absolute; left:48%;\\\">(<strong>{{total_item}}</strong>) items</span>\\r\\n            <h5>Order Details</h5>\\r\\n        </div>\\r\\n    </div>\\r\\n    <div *ngFor=\\\"let products of order_detail; let product_index = index; \\\">\\r\\n            <div class=\\\"ibox\\\">\\r\\n                <div class=\\\"col-md-12\\\" style=\\\"padding-left: 0px;padding-right: 0px;\\\">\\r\\n                    \\r\\n                    <div class=\\\"ibox-title\\\">\\r\\n                       \\r\\n                        <h4 class=\\\"pull-right\\\">{{currency_sign}} {{product_item_total_array[product_index]}}</h4>\\r\\n                        <span style=\\\"position: absolute; left:48%;\\\">(<strong>{{products.items.length}}</strong>) items</span>\\r\\n                        <h5>{{products.product_name}}</h5>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div *ngFor=\\\"let item of products.items; let odd=odd; let even=even; let item_index=index; \\\">\\r\\n                    <div [class.row]=\\\"odd\\\"  style=\\\"margin: 0px;\\\">\\r\\n                        <div class=\\\"col-md-6\\\" [class.odd]=\\\"odd\\\" [class.even]=\\\"!odd\\\" >\\r\\n                            <div class=\\\"ibox-content\\\" style=\\\"overflow: auto;\\\">\\r\\n                                <div class=\\\"table-responsive\\\">\\r\\n                                    <table class=\\\"table shoping-cart-table\\\">\\r\\n                                        <tbody>\\r\\n                                        <tr>\\r\\n                                            <td class=\\\"desc\\\">\\r\\n                                                <h3>\\r\\n                                                    <a class=\\\"text-navy\\\">\\r\\n                                                        {{item.item_name}}\\r\\n                                                    </a>\\r\\n                                                </h3>\\r\\n                                                <p class=\\\"small\\\" style=\\\"height: 30px; overflow-y: hidden;\\\">\\r\\n                                                    {{item.details}}\\r\\n                                                </p>\\r\\n\\r\\n                                            </td>\\r\\n\\r\\n                                            <td>\\r\\n                                                <h4>{{item.item_price}}{{currency_sign}}</h4>\\r\\n                                            </td>\\r\\n                                            <td width=\\\"65\\\">\\r\\n                                                <input type=\\\"text\\\" class=\\\"form-control\\\" value=\\\"{{item.quantity}}\\\" readonly>\\r\\n                                            </td>\\r\\n                                            <td>\\r\\n                                                <h4>{{(item.item_price + item.total_specification_price)*item.quantity}}{{currency_sign}}</h4>\\r\\n                                            </td>\\r\\n                                        </tr>\\r\\n                                        </tbody>\\r\\n                                    </table>\\r\\n\\r\\n                                </div>\\r\\n                                \\r\\n                                <div class=\\\"col-md-6 col-xs-6\\\"><h4>Specifications</h4></div>\\r\\n                                <div class=\\\"col-md-6 col-xs-6\\\"><h4>{{currency_sign}} {{product_specification_total_array[product_index][item_index]}}</h4></div>\\r\\n\\r\\n                                <div *ngFor=\\\"let specification of item.specifications\\\">\\r\\n                                    <div class=\\\"col-md-6 col-xs-6\\\">{{specification.specification_name}}</div>\\r\\n                                    <div class=\\\"col-md-6 col-xs-6\\\">{{currency_sign}} {{specification.specification_price}}</div>\\r\\n                                </div>\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n    </div>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/store/view_order_detail/view_order_detail.component.html\n// module id = 1722\n// module chunks = 0","module.exports = \"<footer [myLoading]=\\\"myLoading\\\" ></footer>\\r\\n<div class=\\\"row wrapper fix_search_bar border-bottom white-bg page-heading\\\">\\r\\n\\t<div class=\\\"row\\\">\\r\\n\\t\\t\\t\\t<div class=\\\"col-md-4 col-sm-12\\\">\\r\\n\\t\\t\\t\\t\\t<div class=\\\"lable_center\\\">\\r\\n\\t\\t\\t\\t\\t\\t<label>{{title.date_filter | translate}}</label>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\r\\n\\t\\t\\t\\t\\t<div class=\\\"col-md-12 remove_padding\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<select chosen class=\\\"chosen-select\\\" id=\\\"week_date\\\" [(ngModel)]=\\\"week_date\\r\\n\\t                            \\\" name=\\\"week_date\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<option *ngFor=\\\"let date of week_array\\\" value=\\\"{{date.value}}\\\">{{date.text}}</option>\\r\\n\\r\\n\\t\\t\\t\\t\\t\\t\\t</select>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\r\\n\\t\\t\\t\\t<div class=\\\"col-md-4 col-sm-12\\\">\\r\\n\\t\\t\\t\\t\\t<div class=\\\"lable_center\\\">\\r\\n\\t\\t\\t\\t\\t\\t<label>{{title.search | translate}}</label>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t<div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"form-group\\\" id=\\\"search_fields\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<select chosen class=\\\"chosen-select\\\" id=\\\"search_field\\\" [(ngModel)]=\\\"search_field\\\" name=\\\"search_field\\\" tabindex=\\\"4\\\">\\r\\n\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<option value=\\\"user_detail.first_name\\\">{{title.filter_user | translate}}</option>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<option value=\\\"provider_detail.first_name\\\">{{title.filter_provider | translate}}</option>\\r\\n\\t\\t\\t\\t\\t\\t\\t</select>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t<div class=\\\"col-md-6 col-sm-6 remove_padding\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"form-group\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<div class=\\\"input-group\\\">\\r\\n\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<input type=\\\"text\\\" class=\\\"form-control search_box\\\" [(ngModel)]=\\\"search_value\\\" #store_open_time=\\\"ngModel\\\" name=\\\"search_value\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<span class=\\\"input-group-addon search_icon\\\"><span class=\\\"fa fa-search\\\"></span></span>\\r\\n\\t\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\r\\n\\r\\n\\t\\t\\t\\t<div class=\\\"col-md-4 col-sm-12\\\">\\r\\n\\t\\t\\t\\t\\t<div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n\\t\\t\\t\\t\\t\\t<input type=\\\"button\\\" (click)=\\\"export_excel()\\\" class=\\\"btn export_excel_btn pull-right\\\" value=\\\"{{button.export_excel | translate}}\\\" >\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t<div class=\\\"col-md-6 col-sm-6 filter_btn_div\\\">\\r\\n\\t\\t\\t\\t\\t\\t<input type=\\\"button\\\" (click)=\\\"store_weekly_earning()\\\" class=\\\"btn filter_apply_btn pull-right\\\" value=\\\"{{button.apply | translate}}\\\" >\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\r\\n\\t\\t\\t</div>\\r\\n</div>\\r\\n<div class=\\\"wrapper content_top_bar_view1 wrapper-content animated fadeInRight\\\">\\r\\n\\r\\n\\t<div class=\\\"row\\\">\\r\\n\\t\\t<div class=\\\"ibox\\\" *ngIf=\\\"show==true\\\">\\r\\n\\t\\t\\t<div class=\\\"ibox-content\\\">\\r\\n\\t\\t\\t\\t<div class=\\\"row\\\">\\r\\n\\t\\t\\t\\t<div class=\\\"col-md-3 col-sm-6\\\">\\r\\n\\t\\t\\t\\t\\t<div class=\\\"ibox\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"ibox-title lable_center\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<div>\\r\\n\\r\\n\\t\\t\\t\\t                <label>{{heading_title.total_order | translate}}</label>\\r\\n\\t\\t\\t\\t                <h2>{{store_analytic_daily.received}}</h2>\\r\\n\\t\\t\\t\\t            </div>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t<div class=\\\"col-md-3 col-sm-6\\\">\\r\\n\\t\\t\\t\\t\\t<div class=\\\"ibox\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"ibox-title lable_center\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<div>\\r\\n\\t\\t\\t\\t                <label>{{heading_title.accepted_order | translate}}</label>\\r\\n\\t\\t\\t\\t                <h2>{{store_analytic_daily.accepted}}</h2>\\r\\n\\t\\t\\t\\t            </div>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t<div class=\\\"col-md-3 col-sm-6\\\">\\r\\n\\t\\t\\t\\t\\t<div class=\\\"ibox\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"ibox-title lable_center\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<div>\\r\\n\\r\\n\\t\\t\\t\\t                <label>{{heading_title.rejected_order | translate}}</label>\\r\\n\\t\\t\\t\\t                <h2>{{store_analytic_daily.rejected}}</h2>\\r\\n\\t\\t\\t\\t            </div>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t<div class=\\\"col-md-3 col-sm-6\\\">\\r\\n\\t\\t\\t\\t\\t<div class=\\\"ibox\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"ibox-title lable_center\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<div>\\r\\n\\r\\n\\t\\t\\t\\t                <label>{{heading_title.completed_order | translate}}</label>\\r\\n\\t\\t\\t\\t                <h2>{{store_analytic_daily.completed}}</h2>\\r\\n\\t\\t\\t\\t            </div>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t<div class=\\\"col-md-3 col-sm-6\\\">\\r\\n\\t\\t\\t\\t\\t<div class=\\\"ibox\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"ibox-title lable_center\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<div>\\r\\n\\r\\n\\t\\t\\t\\t                <label>{{heading_title.total_item_sold | translate}}</label>\\r\\n\\t\\t\\t\\t                <h2>{{store_analytic_daily.total_items}}</h2>\\r\\n\\t\\t\\t\\t            </div>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t<div class=\\\"col-md-3 col-sm-6\\\">\\r\\n\\t\\t\\t\\t\\t<div class=\\\"ibox\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"ibox-title lable_center\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<div>\\r\\n\\r\\n\\t\\t\\t\\t                <label>{{heading_title.accepted_ratio | translate}}</label>\\r\\n\\t\\t\\t\\t                <h2>{{store_analytic_daily.acception_ratio.toFixed(2)}}</h2>\\r\\n\\t\\t\\t\\t            </div>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t<div class=\\\"col-md-3 col-sm-6\\\">\\r\\n\\t\\t\\t\\t\\t<div class=\\\"ibox\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"ibox-title lable_center\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<div>\\r\\n\\t\\t\\t\\t                <label>{{heading_title.rejected_ratio | translate}}</label>\\r\\n\\t\\t\\t\\t                <h2>{{store_analytic_daily.rejection_ratio.toFixed(2)}}</h2>\\r\\n\\t\\t\\t\\t            </div>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t<div class=\\\"col-md-3 col-sm-6\\\">\\r\\n\\t\\t\\t\\t\\t<div class=\\\"ibox\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"ibox-title lable_center\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<div>\\r\\n\\t\\t\\t\\t                <label>{{heading_title.completed_ratio | translate}}</label>\\r\\n\\t\\t\\t\\t                <h2>{{store_analytic_daily.completed_ratio.toFixed(2)}}</h2>\\r\\n\\t\\t\\t\\t            </div>\\r\\n\\t\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t</div>\\r\\n\\t\\t</div>\\r\\n\\t</div>\\r\\n\\r\\n\\t<div class=\\\"row\\\">\\r\\n\\t\\t<div class=\\\"col-lg-12\\\">\\r\\n\\t\\t\\t<div class=\\\"ibox\\\">\\r\\n\\t\\t\\t\\t<div class=\\\"ibox-title\\\">\\r\\n\\t\\t\\t\\t\\t<label class=\\\"control-label\\\">{{heading_title.order_earning | translate}}</label>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t<div class=\\\"ibox-content\\\">\\r\\n\\t\\t\\t\\t\\t<div class=\\\"table-responsive\\\">\\r\\n\\r\\n\\t\\t\\t\\t\\t\\t<table class=\\\"table table-striped\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<tbody>\\r\\n\\t\\t\\t\\t\\t\\t\\t<tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"remove_border\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<div><strong>{{title.item_price | translate}}</strong></div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"pull-right remove_border\\\">{{order_total.total_item_price.toFixed(2)}}</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t</tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t<tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"remove_border\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<div><strong>{{title.tax_price | translate}}</strong></div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"pull-right remove_border\\\">{{order_total.total_store_tax_price.toFixed(2)}}</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t</tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t<tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"remove_border\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<div><strong>{{title.order_price | translate}}</strong></div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"pull-right remove_border\\\">{{order_total.total_order_price.toFixed(2)}}</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t</tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t<tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"remove_border\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<div><strong>{{title.admin_profit | translate}}</strong></div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"pull-right remove_border\\\">{{order_total.total_admin_profit_on_store.toFixed(2)}}</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t</tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t<tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"remove_border\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<div><strong>{{title.store_profit | translate}}</strong></div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"pull-right remove_border\\\">{{order_total.total_store_income.toFixed(2)}}</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t</tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t</tbody>\\r\\n\\t\\t\\t\\t\\t\\t</table>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t</div>\\r\\n\\t\\t</div>\\r\\n\\t</div>\\r\\n\\t<div class=\\\"row\\\">\\r\\n\\t\\t<div class=\\\"col-lg-12\\\">\\r\\n\\t\\t\\t<div class=\\\"ibox\\\">\\r\\n\\t\\t\\t\\t<div class=\\\"ibox-title\\\">\\r\\n\\t\\t\\t\\t\\t<label class=\\\"control-label\\\">{{heading_title.store_transactions | translate}}</label>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t<div class=\\\"ibox-content\\\">\\r\\n\\t\\t\\t\\t\\t<div class=\\\"table-responsive\\\">\\r\\n\\r\\n\\t\\t\\t\\t\\t\\t<table class=\\\"table table-striped\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<tbody>\\r\\n\\t\\t\\t\\t\\t\\t\\t<tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"remove_border\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<div><strong>{{title.received_order_amount | translate}}</strong></div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"pull-right remove_border\\\">{{order_total.store_have_order_payment.toFixed(2)}}</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t</tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t<tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"remove_border\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<div><strong>{{title.paid_service_fee | translate}}</strong></div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"pull-right remove_border\\\">{{order_total.store_have_service_payment.toFixed(2)}}</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t</tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t<tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"remove_border\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<div><strong>{{title.deduct_from_wallet | translate}}</strong></div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"pull-right remove_border\\\">{{order_total.total_wallet_income_set_in_cash_order.toFixed(2)}}</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t</tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t<tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"remove_border\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<div><strong>{{title.added_in_wallet | translate}}</strong></div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"pull-right remove_border\\\">{{order_total.total_wallet_income_set_in_other_order.toFixed(2)}}</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t</tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t</tbody>\\r\\n\\t\\t\\t\\t\\t\\t</table>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t</div>\\r\\n\\t\\t</div>\\r\\n\\t</div>\\r\\n\\t<div class=\\\"row\\\">\\r\\n\\t\\t<div class=\\\"col-lg-12\\\">\\r\\n\\t\\t\\t<div class=\\\"ibox\\\">\\r\\n\\t\\t\\t\\t<div class=\\\"ibox-title\\\">\\r\\n\\t\\t\\t\\t\\t<label class=\\\"control-label\\\">{{heading_title.payment | translate}}</label>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t<div class=\\\"ibox-content\\\">\\r\\n\\t\\t\\t\\t\\t<div class=\\\"table-responsive\\\">\\r\\n\\r\\n\\t\\t\\t\\t\\t\\t<table class=\\\"table table-striped\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t<tbody>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"remove_border\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div><strong>{{title.total_earnings | translate}}</strong></div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"pull-right remove_border\\\">{{order_total.total_earning.toFixed(2)}}</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"remove_border\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div><strong>{{title.paid_in_wallet | translate}}</strong></div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"pull-right remove_border\\\">{{order_total.total_wallet_income_set.toFixed(2)}}</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"remove_border\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div><strong>{{title.pay_to_store | translate}}</strong></div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"pull-right remove_border\\\">{{order_total.pay_to_store.toFixed(2)}}</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"remove_border\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div><strong>{{title.paid | translate}}</strong></div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"pull-right remove_border\\\">{{order_total.total_paid.toFixed(2)}}</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"remove_border\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div><strong>{{title.remaining_to_pay | translate}}</strong></div>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<td class=\\\"pull-right remove_border\\\">{{order_total.total_remaining_to_paid.toFixed(2)}}</td>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t</tr>\\r\\n\\t\\t\\t\\t\\t\\t\\t</tbody>\\r\\n\\t\\t\\t\\t\\t\\t</table>\\r\\n\\t\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t\\t</div>\\r\\n\\t\\t\\t</div>\\r\\n\\t\\t</div>\\r\\n\\t</div>\\r\\n\\r\\n\\t<div class=\\\"row\\\" *ngIf=\\\"show==true\\\">\\r\\n\\t    <div class=\\\"ibox\\\">\\r\\n\\t    \\t<div class=\\\"ibox-title\\\">\\r\\n\\t            <div>\\r\\n\\t                <label>{{heading_title.daily_earning | translate}}</label>\\r\\n\\t            </div>\\r\\n\\r\\n\\t        </div>\\r\\n\\t        <div class=\\\"ibox-content\\\" style=\\\"padding-bottom: 40px;\\\">\\r\\n\\t            <div class=\\\"table-responsive\\\" style=\\\"padding-bottom: 50px;\\\">\\r\\n\\t                <table class=\\\"table table-striped\\\">\\r\\n\\t                    \\r\\n\\t                    <tbody>\\r\\n\\t                        <tr *ngIf=\\\"(date.date1 | amDifference: today :'days' : true) <= 0 \\\" (click)=\\\"daily_earning(date.date1)\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<td>{{date.date1 | date: \\\"EEE, dd MMM\\\"}}</td>\\r\\n\\t                            <td>{{order_day_total.date1.toFixed(2)}}</td>\\r\\n\\t                        </tr>\\r\\n\\t                        <tr *ngIf=\\\"(date.date2 | amDifference: today :'days' : true) <= 0 \\\" (click)=\\\"daily_earning(date.date2)\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<td>{{date.date2 | date: \\\"EEE, dd MMM\\\"}}</td>\\r\\n\\t                            <td>{{order_day_total.date2.toFixed(2)}}</td>\\r\\n\\t                        </tr>\\r\\n\\t                        <tr *ngIf=\\\"(date.date3 | amDifference: today :'days' : true) <= 0 \\\" (click)=\\\"daily_earning(date.date3)\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<td>{{date.date3 | date: \\\"EEE, dd MMM\\\"}}</td>\\r\\n\\t                            <td>{{order_day_total.date3.toFixed(2)}}</td>\\r\\n\\t                        </tr>\\r\\n\\t                        <tr *ngIf=\\\"(date.date4 | amDifference: today :'days' : true) <= 0 \\\" (click)=\\\"daily_earning(date.date4)\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<td>{{date.date4 | date: \\\"EEE, dd MMM\\\"}}</td>\\r\\n\\t                            <td>{{order_day_total.date4.toFixed(2)}}</td>\\r\\n\\t                        </tr>\\r\\n\\t                        <tr *ngIf=\\\"(date.date5 | amDifference: today :'days' : true) <= 0 \\\" (click)=\\\"daily_earning(date.date5)\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<td>{{date.date5 | date: \\\"EEE, dd MMM\\\"}}</td>\\r\\n\\t                            <td>{{order_day_total.date5.toFixed(2)}}</td>\\r\\n\\t                        </tr>\\r\\n\\t                        <tr *ngIf=\\\"(date.date6 | amDifference: today :'days' : true) <= 0 \\\" (click)=\\\"daily_earning(date.date6)\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<td>{{date.date6 | date: \\\"EEE, dd MMM\\\"}}</td>\\r\\n\\t                            <td>{{order_day_total.date6.toFixed(2)}}</td>\\r\\n\\t                        </tr>\\r\\n\\t                        <tr *ngIf=\\\"(date.date7 | amDifference: today :'days' : true) <= 0 \\\" (click)=\\\"daily_earning(date.date7)\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t<td>{{date.date7 | date: \\\"EEE, dd MMM\\\"}}</td>\\r\\n\\t                            <td>{{order_day_total.date7.toFixed(2)}}</td>\\r\\n\\t                        </tr>\\r\\n\\t                    </tbody>\\r\\n\\t                    \\r\\n\\t                </table>\\r\\n\\t            </div>\\r\\n\\t        </div>\\r\\n\\t    </div>\\r\\n\\t</div>\\r\\n</div>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public/app/views/store/weekly_earning/weekly_earning.component.html\n// module id = 1723\n// module chunks = 0","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n\n'use strict';\n\nmodule.exports = PassThrough;\n\nvar Transform = require('./_stream_transform');\n\n/*<replacement>*/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/*</replacement>*/\n\nutil.inherits(PassThrough, Transform);\n\nfunction PassThrough(options) {\n  if (!(this instanceof PassThrough)) return new PassThrough(options);\n\n  Transform.call(this, options);\n}\n\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n  cb(null, chunk);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/readable-stream/lib/_stream_passthrough.js\n// module id = 1724\n// module chunks = 0","'use strict';\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Buffer = require('safe-buffer').Buffer;\nvar util = require('util');\n\nfunction copyBuffer(src, target, offset) {\n  src.copy(target, offset);\n}\n\nmodule.exports = function () {\n  function BufferList() {\n    _classCallCheck(this, BufferList);\n\n    this.head = null;\n    this.tail = null;\n    this.length = 0;\n  }\n\n  BufferList.prototype.push = function push(v) {\n    var entry = { data: v, next: null };\n    if (this.length > 0) this.tail.next = entry;else this.head = entry;\n    this.tail = entry;\n    ++this.length;\n  };\n\n  BufferList.prototype.unshift = function unshift(v) {\n    var entry = { data: v, next: this.head };\n    if (this.length === 0) this.tail = entry;\n    this.head = entry;\n    ++this.length;\n  };\n\n  BufferList.prototype.shift = function shift() {\n    if (this.length === 0) return;\n    var ret = this.head.data;\n    if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n    --this.length;\n    return ret;\n  };\n\n  BufferList.prototype.clear = function clear() {\n    this.head = this.tail = null;\n    this.length = 0;\n  };\n\n  BufferList.prototype.join = function join(s) {\n    if (this.length === 0) return '';\n    var p = this.head;\n    var ret = '' + p.data;\n    while (p = p.next) {\n      ret += s + p.data;\n    }return ret;\n  };\n\n  BufferList.prototype.concat = function concat(n) {\n    if (this.length === 0) return Buffer.alloc(0);\n    if (this.length === 1) return this.head.data;\n    var ret = Buffer.allocUnsafe(n >>> 0);\n    var p = this.head;\n    var i = 0;\n    while (p) {\n      copyBuffer(p.data, ret, i);\n      i += p.data.length;\n      p = p.next;\n    }\n    return ret;\n  };\n\n  return BufferList;\n}();\n\nif (util && util.inspect && util.inspect.custom) {\n  module.exports.prototype[util.inspect.custom] = function () {\n    var obj = util.inspect({ length: this.length });\n    return this.constructor.name + ' ' + obj;\n  };\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/readable-stream/lib/internal/streams/BufferList.js\n// module id = 1725\n// module chunks = 0","exports = module.exports = require('./lib/_stream_readable.js');\nexports.Stream = exports;\nexports.Readable = exports;\nexports.Writable = require('./lib/_stream_writable.js');\nexports.Duplex = require('./lib/_stream_duplex.js');\nexports.Transform = require('./lib/_stream_transform.js');\nexports.PassThrough = require('./lib/_stream_passthrough.js');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/readable-stream/readable-browser.js\n// module id = 1726\n// module chunks = 0","module.exports = require('./readable').Transform\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/readable-stream/transform.js\n// module id = 1727\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('./Subscriber');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar InnerSubscriber = (function (_super) {\n    __extends(InnerSubscriber, _super);\n    function InnerSubscriber(parent, outerValue, outerIndex) {\n        _super.call(this);\n        this.parent = parent;\n        this.outerValue = outerValue;\n        this.outerIndex = outerIndex;\n        this.index = 0;\n    }\n    InnerSubscriber.prototype._next = function (value) {\n        this.parent.notifyNext(this.outerValue, value, this.outerIndex, this.index++, this);\n    };\n    InnerSubscriber.prototype._error = function (error) {\n        this.parent.notifyError(error, this);\n        this.unsubscribe();\n    };\n    InnerSubscriber.prototype._complete = function () {\n        this.parent.notifyComplete(this);\n        this.unsubscribe();\n    };\n    return InnerSubscriber;\n}(Subscriber_1.Subscriber));\nexports.InnerSubscriber = InnerSubscriber;\n//# sourceMappingURL=InnerSubscriber.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/InnerSubscriber.js\n// module id = 1728\n// module chunks = 0","\"use strict\";\nexports.empty = {\n    closed: true,\n    next: function (value) { },\n    error: function (err) { throw err; },\n    complete: function () { }\n};\n//# sourceMappingURL=Observer.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/Observer.js\n// module id = 1729\n// module chunks = 0","\"use strict\";\n/**\n * An execution context and a data structure to order tasks and schedule their\n * execution. Provides a notion of (potentially virtual) time, through the\n * `now()` getter method.\n *\n * Each unit of work in a Scheduler is called an {@link Action}.\n *\n * ```ts\n * class Scheduler {\n *   now(): number;\n *   schedule(work, delay?, state?): Subscription;\n * }\n * ```\n *\n * @class Scheduler\n */\nvar Scheduler = (function () {\n    function Scheduler(SchedulerAction, now) {\n        if (now === void 0) { now = Scheduler.now; }\n        this.SchedulerAction = SchedulerAction;\n        this.now = now;\n    }\n    /**\n     * Schedules a function, `work`, for execution. May happen at some point in\n     * the future, according to the `delay` parameter, if specified. May be passed\n     * some context object, `state`, which will be passed to the `work` function.\n     *\n     * The given arguments will be processed an stored as an Action object in a\n     * queue of actions.\n     *\n     * @param {function(state: ?T): ?Subscription} work A function representing a\n     * task, or some unit of work to be executed by the Scheduler.\n     * @param {number} [delay] Time to wait before executing the work, where the\n     * time unit is implicit and defined by the Scheduler itself.\n     * @param {T} [state] Some contextual data that the `work` function uses when\n     * called by the Scheduler.\n     * @return {Subscription} A subscription in order to be able to unsubscribe\n     * the scheduled work.\n     */\n    Scheduler.prototype.schedule = function (work, delay, state) {\n        if (delay === void 0) { delay = 0; }\n        return new this.SchedulerAction(this, work).schedule(state, delay);\n    };\n    Scheduler.now = Date.now ? Date.now : function () { return +new Date(); };\n    return Scheduler;\n}());\nexports.Scheduler = Scheduler;\n//# sourceMappingURL=Scheduler.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/Scheduler.js\n// module id = 1730\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\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\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/SubjectSubscription.js\n// module id = 1731\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar bindCallback_1 = require('../../observable/bindCallback');\nObservable_1.Observable.bindCallback = bindCallback_1.bindCallback;\n//# sourceMappingURL=bindCallback.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/observable/bindCallback.js\n// module id = 1732\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar bindNodeCallback_1 = require('../../observable/bindNodeCallback');\nObservable_1.Observable.bindNodeCallback = bindNodeCallback_1.bindNodeCallback;\n//# sourceMappingURL=bindNodeCallback.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/observable/bindNodeCallback.js\n// module id = 1733\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar combineLatest_1 = require('../../observable/combineLatest');\nObservable_1.Observable.combineLatest = combineLatest_1.combineLatest;\n//# sourceMappingURL=combineLatest.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/observable/combineLatest.js\n// module id = 1734\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar concat_1 = require('../../observable/concat');\nObservable_1.Observable.concat = concat_1.concat;\n//# sourceMappingURL=concat.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/observable/concat.js\n// module id = 1735\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar defer_1 = require('../../observable/defer');\nObservable_1.Observable.defer = defer_1.defer;\n//# sourceMappingURL=defer.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/observable/defer.js\n// module id = 1736\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../../Observable');\nvar ajax_1 = require('../../../observable/dom/ajax');\nObservable_1.Observable.ajax = ajax_1.ajax;\n//# sourceMappingURL=ajax.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/observable/dom/ajax.js\n// module id = 1737\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../../Observable');\nvar webSocket_1 = require('../../../observable/dom/webSocket');\nObservable_1.Observable.webSocket = webSocket_1.webSocket;\n//# sourceMappingURL=webSocket.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/observable/dom/webSocket.js\n// module id = 1738\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar empty_1 = require('../../observable/empty');\nObservable_1.Observable.empty = empty_1.empty;\n//# sourceMappingURL=empty.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/observable/empty.js\n// module id = 1739\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar forkJoin_1 = require('../../observable/forkJoin');\nObservable_1.Observable.forkJoin = forkJoin_1.forkJoin;\n//# sourceMappingURL=forkJoin.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/observable/forkJoin.js\n// module id = 1740\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar from_1 = require('../../observable/from');\nObservable_1.Observable.from = from_1.from;\n//# sourceMappingURL=from.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/observable/from.js\n// module id = 1741\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar fromEventPattern_1 = require('../../observable/fromEventPattern');\nObservable_1.Observable.fromEventPattern = fromEventPattern_1.fromEventPattern;\n//# sourceMappingURL=fromEventPattern.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/observable/fromEventPattern.js\n// module id = 1742\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar fromPromise_1 = require('../../observable/fromPromise');\nObservable_1.Observable.fromPromise = fromPromise_1.fromPromise;\n//# sourceMappingURL=fromPromise.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/observable/fromPromise.js\n// module id = 1743\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar GenerateObservable_1 = require('../../observable/GenerateObservable');\nObservable_1.Observable.generate = GenerateObservable_1.GenerateObservable.create;\n//# sourceMappingURL=generate.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/observable/generate.js\n// module id = 1744\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar if_1 = require('../../observable/if');\nObservable_1.Observable.if = if_1._if;\n//# sourceMappingURL=if.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/observable/if.js\n// module id = 1745\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar interval_1 = require('../../observable/interval');\nObservable_1.Observable.interval = interval_1.interval;\n//# sourceMappingURL=interval.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/observable/interval.js\n// module id = 1746\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar merge_1 = require('../../observable/merge');\nObservable_1.Observable.merge = merge_1.merge;\n//# sourceMappingURL=merge.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/observable/merge.js\n// module id = 1747\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar never_1 = require('../../observable/never');\nObservable_1.Observable.never = never_1.never;\n//# sourceMappingURL=never.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/observable/never.js\n// module id = 1748\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar onErrorResumeNext_1 = require('../../operator/onErrorResumeNext');\nObservable_1.Observable.onErrorResumeNext = onErrorResumeNext_1.onErrorResumeNextStatic;\n//# sourceMappingURL=onErrorResumeNext.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/observable/onErrorResumeNext.js\n// module id = 1749\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar pairs_1 = require('../../observable/pairs');\nObservable_1.Observable.pairs = pairs_1.pairs;\n//# sourceMappingURL=pairs.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/observable/pairs.js\n// module id = 1750\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar race_1 = require('../../operator/race');\nObservable_1.Observable.race = race_1.raceStatic;\n//# sourceMappingURL=race.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/observable/race.js\n// module id = 1751\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar range_1 = require('../../observable/range');\nObservable_1.Observable.range = range_1.range;\n//# sourceMappingURL=range.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/observable/range.js\n// module id = 1752\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar throw_1 = require('../../observable/throw');\nObservable_1.Observable.throw = throw_1._throw;\n//# sourceMappingURL=throw.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/observable/throw.js\n// module id = 1753\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar timer_1 = require('../../observable/timer');\nObservable_1.Observable.timer = timer_1.timer;\n//# sourceMappingURL=timer.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/observable/timer.js\n// module id = 1754\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar using_1 = require('../../observable/using');\nObservable_1.Observable.using = using_1.using;\n//# sourceMappingURL=using.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/observable/using.js\n// module id = 1755\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar zip_1 = require('../../observable/zip');\nObservable_1.Observable.zip = zip_1.zip;\n//# sourceMappingURL=zip.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/observable/zip.js\n// module id = 1756\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar audit_1 = require('../../operator/audit');\nObservable_1.Observable.prototype.audit = audit_1.audit;\n//# sourceMappingURL=audit.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/audit.js\n// module id = 1757\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar auditTime_1 = require('../../operator/auditTime');\nObservable_1.Observable.prototype.auditTime = auditTime_1.auditTime;\n//# sourceMappingURL=auditTime.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/auditTime.js\n// module id = 1758\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar buffer_1 = require('../../operator/buffer');\nObservable_1.Observable.prototype.buffer = buffer_1.buffer;\n//# sourceMappingURL=buffer.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/buffer.js\n// module id = 1759\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar bufferCount_1 = require('../../operator/bufferCount');\nObservable_1.Observable.prototype.bufferCount = bufferCount_1.bufferCount;\n//# sourceMappingURL=bufferCount.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/bufferCount.js\n// module id = 1760\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar bufferTime_1 = require('../../operator/bufferTime');\nObservable_1.Observable.prototype.bufferTime = bufferTime_1.bufferTime;\n//# sourceMappingURL=bufferTime.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/bufferTime.js\n// module id = 1761\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar bufferToggle_1 = require('../../operator/bufferToggle');\nObservable_1.Observable.prototype.bufferToggle = bufferToggle_1.bufferToggle;\n//# sourceMappingURL=bufferToggle.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/bufferToggle.js\n// module id = 1762\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar bufferWhen_1 = require('../../operator/bufferWhen');\nObservable_1.Observable.prototype.bufferWhen = bufferWhen_1.bufferWhen;\n//# sourceMappingURL=bufferWhen.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/bufferWhen.js\n// module id = 1763\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar cache_1 = require('../../operator/cache');\nObservable_1.Observable.prototype.cache = cache_1.cache;\n//# sourceMappingURL=cache.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/cache.js\n// module id = 1764\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar combineAll_1 = require('../../operator/combineAll');\nObservable_1.Observable.prototype.combineAll = combineAll_1.combineAll;\n//# sourceMappingURL=combineAll.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/combineAll.js\n// module id = 1765\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar combineLatest_1 = require('../../operator/combineLatest');\nObservable_1.Observable.prototype.combineLatest = combineLatest_1.combineLatest;\n//# sourceMappingURL=combineLatest.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/combineLatest.js\n// module id = 1766\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar concat_1 = require('../../operator/concat');\nObservable_1.Observable.prototype.concat = concat_1.concat;\n//# sourceMappingURL=concat.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/concat.js\n// module id = 1767\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar concatAll_1 = require('../../operator/concatAll');\nObservable_1.Observable.prototype.concatAll = concatAll_1.concatAll;\n//# sourceMappingURL=concatAll.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/concatAll.js\n// module id = 1768\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar concatMap_1 = require('../../operator/concatMap');\nObservable_1.Observable.prototype.concatMap = concatMap_1.concatMap;\n//# sourceMappingURL=concatMap.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/concatMap.js\n// module id = 1769\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar concatMapTo_1 = require('../../operator/concatMapTo');\nObservable_1.Observable.prototype.concatMapTo = concatMapTo_1.concatMapTo;\n//# sourceMappingURL=concatMapTo.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/concatMapTo.js\n// module id = 1770\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar count_1 = require('../../operator/count');\nObservable_1.Observable.prototype.count = count_1.count;\n//# sourceMappingURL=count.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/count.js\n// module id = 1771\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar debounce_1 = require('../../operator/debounce');\nObservable_1.Observable.prototype.debounce = debounce_1.debounce;\n//# sourceMappingURL=debounce.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/debounce.js\n// module id = 1772\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar debounceTime_1 = require('../../operator/debounceTime');\nObservable_1.Observable.prototype.debounceTime = debounceTime_1.debounceTime;\n//# sourceMappingURL=debounceTime.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/debounceTime.js\n// module id = 1773\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar defaultIfEmpty_1 = require('../../operator/defaultIfEmpty');\nObservable_1.Observable.prototype.defaultIfEmpty = defaultIfEmpty_1.defaultIfEmpty;\n//# sourceMappingURL=defaultIfEmpty.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/defaultIfEmpty.js\n// module id = 1774\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar delay_1 = require('../../operator/delay');\nObservable_1.Observable.prototype.delay = delay_1.delay;\n//# sourceMappingURL=delay.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/delay.js\n// module id = 1775\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar delayWhen_1 = require('../../operator/delayWhen');\nObservable_1.Observable.prototype.delayWhen = delayWhen_1.delayWhen;\n//# sourceMappingURL=delayWhen.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/delayWhen.js\n// module id = 1776\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar dematerialize_1 = require('../../operator/dematerialize');\nObservable_1.Observable.prototype.dematerialize = dematerialize_1.dematerialize;\n//# sourceMappingURL=dematerialize.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/dematerialize.js\n// module id = 1777\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar distinct_1 = require('../../operator/distinct');\nObservable_1.Observable.prototype.distinct = distinct_1.distinct;\n//# sourceMappingURL=distinct.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/distinct.js\n// module id = 1778\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar distinctKey_1 = require('../../operator/distinctKey');\nObservable_1.Observable.prototype.distinctKey = distinctKey_1.distinctKey;\n//# sourceMappingURL=distinctKey.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/distinctKey.js\n// module id = 1779\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar distinctUntilChanged_1 = require('../../operator/distinctUntilChanged');\nObservable_1.Observable.prototype.distinctUntilChanged = distinctUntilChanged_1.distinctUntilChanged;\n//# sourceMappingURL=distinctUntilChanged.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/distinctUntilChanged.js\n// module id = 1780\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar distinctUntilKeyChanged_1 = require('../../operator/distinctUntilKeyChanged');\nObservable_1.Observable.prototype.distinctUntilKeyChanged = distinctUntilKeyChanged_1.distinctUntilKeyChanged;\n//# sourceMappingURL=distinctUntilKeyChanged.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/distinctUntilKeyChanged.js\n// module id = 1781\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar do_1 = require('../../operator/do');\nObservable_1.Observable.prototype.do = do_1._do;\nObservable_1.Observable.prototype._do = do_1._do;\n//# sourceMappingURL=do.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/do.js\n// module id = 1782\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar elementAt_1 = require('../../operator/elementAt');\nObservable_1.Observable.prototype.elementAt = elementAt_1.elementAt;\n//# sourceMappingURL=elementAt.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/elementAt.js\n// module id = 1783\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar every_1 = require('../../operator/every');\nObservable_1.Observable.prototype.every = every_1.every;\n//# sourceMappingURL=every.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/every.js\n// module id = 1784\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar exhaust_1 = require('../../operator/exhaust');\nObservable_1.Observable.prototype.exhaust = exhaust_1.exhaust;\n//# sourceMappingURL=exhaust.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/exhaust.js\n// module id = 1785\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar exhaustMap_1 = require('../../operator/exhaustMap');\nObservable_1.Observable.prototype.exhaustMap = exhaustMap_1.exhaustMap;\n//# sourceMappingURL=exhaustMap.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/exhaustMap.js\n// module id = 1786\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar expand_1 = require('../../operator/expand');\nObservable_1.Observable.prototype.expand = expand_1.expand;\n//# sourceMappingURL=expand.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/expand.js\n// module id = 1787\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar filter_1 = require('../../operator/filter');\nObservable_1.Observable.prototype.filter = filter_1.filter;\n//# sourceMappingURL=filter.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/filter.js\n// module id = 1788\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar finally_1 = require('../../operator/finally');\nObservable_1.Observable.prototype.finally = finally_1._finally;\nObservable_1.Observable.prototype._finally = finally_1._finally;\n//# sourceMappingURL=finally.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/finally.js\n// module id = 1789\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar find_1 = require('../../operator/find');\nObservable_1.Observable.prototype.find = find_1.find;\n//# sourceMappingURL=find.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/find.js\n// module id = 1790\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar findIndex_1 = require('../../operator/findIndex');\nObservable_1.Observable.prototype.findIndex = findIndex_1.findIndex;\n//# sourceMappingURL=findIndex.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/findIndex.js\n// module id = 1791\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar first_1 = require('../../operator/first');\nObservable_1.Observable.prototype.first = first_1.first;\n//# sourceMappingURL=first.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/first.js\n// module id = 1792\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar groupBy_1 = require('../../operator/groupBy');\nObservable_1.Observable.prototype.groupBy = groupBy_1.groupBy;\n//# sourceMappingURL=groupBy.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/groupBy.js\n// module id = 1793\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar ignoreElements_1 = require('../../operator/ignoreElements');\nObservable_1.Observable.prototype.ignoreElements = ignoreElements_1.ignoreElements;\n//# sourceMappingURL=ignoreElements.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/ignoreElements.js\n// module id = 1794\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar isEmpty_1 = require('../../operator/isEmpty');\nObservable_1.Observable.prototype.isEmpty = isEmpty_1.isEmpty;\n//# sourceMappingURL=isEmpty.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/isEmpty.js\n// module id = 1795\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar last_1 = require('../../operator/last');\nObservable_1.Observable.prototype.last = last_1.last;\n//# sourceMappingURL=last.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/last.js\n// module id = 1796\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar let_1 = require('../../operator/let');\nObservable_1.Observable.prototype.let = let_1.letProto;\nObservable_1.Observable.prototype.letBind = let_1.letProto;\n//# sourceMappingURL=let.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/let.js\n// module id = 1797\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar mapTo_1 = require('../../operator/mapTo');\nObservable_1.Observable.prototype.mapTo = mapTo_1.mapTo;\n//# sourceMappingURL=mapTo.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/mapTo.js\n// module id = 1798\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar materialize_1 = require('../../operator/materialize');\nObservable_1.Observable.prototype.materialize = materialize_1.materialize;\n//# sourceMappingURL=materialize.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/materialize.js\n// module id = 1799\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar max_1 = require('../../operator/max');\nObservable_1.Observable.prototype.max = max_1.max;\n//# sourceMappingURL=max.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/max.js\n// module id = 1800\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar mergeAll_1 = require('../../operator/mergeAll');\nObservable_1.Observable.prototype.mergeAll = mergeAll_1.mergeAll;\n//# sourceMappingURL=mergeAll.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/mergeAll.js\n// module id = 1801\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar mergeMap_1 = require('../../operator/mergeMap');\nObservable_1.Observable.prototype.mergeMap = mergeMap_1.mergeMap;\nObservable_1.Observable.prototype.flatMap = mergeMap_1.mergeMap;\n//# sourceMappingURL=mergeMap.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/mergeMap.js\n// module id = 1802\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar mergeMapTo_1 = require('../../operator/mergeMapTo');\nObservable_1.Observable.prototype.flatMapTo = mergeMapTo_1.mergeMapTo;\nObservable_1.Observable.prototype.mergeMapTo = mergeMapTo_1.mergeMapTo;\n//# sourceMappingURL=mergeMapTo.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/mergeMapTo.js\n// module id = 1803\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar mergeScan_1 = require('../../operator/mergeScan');\nObservable_1.Observable.prototype.mergeScan = mergeScan_1.mergeScan;\n//# sourceMappingURL=mergeScan.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/mergeScan.js\n// module id = 1804\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar min_1 = require('../../operator/min');\nObservable_1.Observable.prototype.min = min_1.min;\n//# sourceMappingURL=min.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/min.js\n// module id = 1805\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar multicast_1 = require('../../operator/multicast');\nObservable_1.Observable.prototype.multicast = multicast_1.multicast;\n//# sourceMappingURL=multicast.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/multicast.js\n// module id = 1806\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar observeOn_1 = require('../../operator/observeOn');\nObservable_1.Observable.prototype.observeOn = observeOn_1.observeOn;\n//# sourceMappingURL=observeOn.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/observeOn.js\n// module id = 1807\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar onErrorResumeNext_1 = require('../../operator/onErrorResumeNext');\nObservable_1.Observable.prototype.onErrorResumeNext = onErrorResumeNext_1.onErrorResumeNext;\n//# sourceMappingURL=onErrorResumeNext.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/onErrorResumeNext.js\n// module id = 1808\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar pairwise_1 = require('../../operator/pairwise');\nObservable_1.Observable.prototype.pairwise = pairwise_1.pairwise;\n//# sourceMappingURL=pairwise.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/pairwise.js\n// module id = 1809\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar partition_1 = require('../../operator/partition');\nObservable_1.Observable.prototype.partition = partition_1.partition;\n//# sourceMappingURL=partition.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/partition.js\n// module id = 1810\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar pluck_1 = require('../../operator/pluck');\nObservable_1.Observable.prototype.pluck = pluck_1.pluck;\n//# sourceMappingURL=pluck.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/pluck.js\n// module id = 1811\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar publish_1 = require('../../operator/publish');\nObservable_1.Observable.prototype.publish = publish_1.publish;\n//# sourceMappingURL=publish.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/publish.js\n// module id = 1812\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar publishBehavior_1 = require('../../operator/publishBehavior');\nObservable_1.Observable.prototype.publishBehavior = publishBehavior_1.publishBehavior;\n//# sourceMappingURL=publishBehavior.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/publishBehavior.js\n// module id = 1813\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar publishLast_1 = require('../../operator/publishLast');\nObservable_1.Observable.prototype.publishLast = publishLast_1.publishLast;\n//# sourceMappingURL=publishLast.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/publishLast.js\n// module id = 1814\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar publishReplay_1 = require('../../operator/publishReplay');\nObservable_1.Observable.prototype.publishReplay = publishReplay_1.publishReplay;\n//# sourceMappingURL=publishReplay.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/publishReplay.js\n// module id = 1815\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar race_1 = require('../../operator/race');\nObservable_1.Observable.prototype.race = race_1.race;\n//# sourceMappingURL=race.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/race.js\n// module id = 1816\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar reduce_1 = require('../../operator/reduce');\nObservable_1.Observable.prototype.reduce = reduce_1.reduce;\n//# sourceMappingURL=reduce.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/reduce.js\n// module id = 1817\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar repeat_1 = require('../../operator/repeat');\nObservable_1.Observable.prototype.repeat = repeat_1.repeat;\n//# sourceMappingURL=repeat.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/repeat.js\n// module id = 1818\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar repeatWhen_1 = require('../../operator/repeatWhen');\nObservable_1.Observable.prototype.repeatWhen = repeatWhen_1.repeatWhen;\n//# sourceMappingURL=repeatWhen.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/repeatWhen.js\n// module id = 1819\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar retry_1 = require('../../operator/retry');\nObservable_1.Observable.prototype.retry = retry_1.retry;\n//# sourceMappingURL=retry.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/retry.js\n// module id = 1820\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar retryWhen_1 = require('../../operator/retryWhen');\nObservable_1.Observable.prototype.retryWhen = retryWhen_1.retryWhen;\n//# sourceMappingURL=retryWhen.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/retryWhen.js\n// module id = 1821\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar sample_1 = require('../../operator/sample');\nObservable_1.Observable.prototype.sample = sample_1.sample;\n//# sourceMappingURL=sample.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/sample.js\n// module id = 1822\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar sampleTime_1 = require('../../operator/sampleTime');\nObservable_1.Observable.prototype.sampleTime = sampleTime_1.sampleTime;\n//# sourceMappingURL=sampleTime.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/sampleTime.js\n// module id = 1823\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar scan_1 = require('../../operator/scan');\nObservable_1.Observable.prototype.scan = scan_1.scan;\n//# sourceMappingURL=scan.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/scan.js\n// module id = 1824\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar sequenceEqual_1 = require('../../operator/sequenceEqual');\nObservable_1.Observable.prototype.sequenceEqual = sequenceEqual_1.sequenceEqual;\n//# sourceMappingURL=sequenceEqual.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/sequenceEqual.js\n// module id = 1825\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar single_1 = require('../../operator/single');\nObservable_1.Observable.prototype.single = single_1.single;\n//# sourceMappingURL=single.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/single.js\n// module id = 1826\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar skip_1 = require('../../operator/skip');\nObservable_1.Observable.prototype.skip = skip_1.skip;\n//# sourceMappingURL=skip.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/skip.js\n// module id = 1827\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar skipUntil_1 = require('../../operator/skipUntil');\nObservable_1.Observable.prototype.skipUntil = skipUntil_1.skipUntil;\n//# sourceMappingURL=skipUntil.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/skipUntil.js\n// module id = 1828\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar skipWhile_1 = require('../../operator/skipWhile');\nObservable_1.Observable.prototype.skipWhile = skipWhile_1.skipWhile;\n//# sourceMappingURL=skipWhile.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/skipWhile.js\n// module id = 1829\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar startWith_1 = require('../../operator/startWith');\nObservable_1.Observable.prototype.startWith = startWith_1.startWith;\n//# sourceMappingURL=startWith.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/startWith.js\n// module id = 1830\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar subscribeOn_1 = require('../../operator/subscribeOn');\nObservable_1.Observable.prototype.subscribeOn = subscribeOn_1.subscribeOn;\n//# sourceMappingURL=subscribeOn.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/subscribeOn.js\n// module id = 1831\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar switch_1 = require('../../operator/switch');\nObservable_1.Observable.prototype.switch = switch_1._switch;\nObservable_1.Observable.prototype._switch = switch_1._switch;\n//# sourceMappingURL=switch.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/switch.js\n// module id = 1832\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar switchMap_1 = require('../../operator/switchMap');\nObservable_1.Observable.prototype.switchMap = switchMap_1.switchMap;\n//# sourceMappingURL=switchMap.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/switchMap.js\n// module id = 1833\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar switchMapTo_1 = require('../../operator/switchMapTo');\nObservable_1.Observable.prototype.switchMapTo = switchMapTo_1.switchMapTo;\n//# sourceMappingURL=switchMapTo.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/switchMapTo.js\n// module id = 1834\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar takeLast_1 = require('../../operator/takeLast');\nObservable_1.Observable.prototype.takeLast = takeLast_1.takeLast;\n//# sourceMappingURL=takeLast.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/takeLast.js\n// module id = 1835\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar takeUntil_1 = require('../../operator/takeUntil');\nObservable_1.Observable.prototype.takeUntil = takeUntil_1.takeUntil;\n//# sourceMappingURL=takeUntil.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/takeUntil.js\n// module id = 1836\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar takeWhile_1 = require('../../operator/takeWhile');\nObservable_1.Observable.prototype.takeWhile = takeWhile_1.takeWhile;\n//# sourceMappingURL=takeWhile.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/takeWhile.js\n// module id = 1837\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar throttle_1 = require('../../operator/throttle');\nObservable_1.Observable.prototype.throttle = throttle_1.throttle;\n//# sourceMappingURL=throttle.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/throttle.js\n// module id = 1838\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar throttleTime_1 = require('../../operator/throttleTime');\nObservable_1.Observable.prototype.throttleTime = throttleTime_1.throttleTime;\n//# sourceMappingURL=throttleTime.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/throttleTime.js\n// module id = 1839\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar timeInterval_1 = require('../../operator/timeInterval');\nObservable_1.Observable.prototype.timeInterval = timeInterval_1.timeInterval;\n//# sourceMappingURL=timeInterval.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/timeInterval.js\n// module id = 1840\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar timeout_1 = require('../../operator/timeout');\nObservable_1.Observable.prototype.timeout = timeout_1.timeout;\n//# sourceMappingURL=timeout.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/timeout.js\n// module id = 1841\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar timeoutWith_1 = require('../../operator/timeoutWith');\nObservable_1.Observable.prototype.timeoutWith = timeoutWith_1.timeoutWith;\n//# sourceMappingURL=timeoutWith.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/timeoutWith.js\n// module id = 1842\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar timestamp_1 = require('../../operator/timestamp');\nObservable_1.Observable.prototype.timestamp = timestamp_1.timestamp;\n//# sourceMappingURL=timestamp.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/timestamp.js\n// module id = 1843\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar window_1 = require('../../operator/window');\nObservable_1.Observable.prototype.window = window_1.window;\n//# sourceMappingURL=window.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/window.js\n// module id = 1844\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar windowCount_1 = require('../../operator/windowCount');\nObservable_1.Observable.prototype.windowCount = windowCount_1.windowCount;\n//# sourceMappingURL=windowCount.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/windowCount.js\n// module id = 1845\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar windowTime_1 = require('../../operator/windowTime');\nObservable_1.Observable.prototype.windowTime = windowTime_1.windowTime;\n//# sourceMappingURL=windowTime.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/windowTime.js\n// module id = 1846\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar windowToggle_1 = require('../../operator/windowToggle');\nObservable_1.Observable.prototype.windowToggle = windowToggle_1.windowToggle;\n//# sourceMappingURL=windowToggle.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/windowToggle.js\n// module id = 1847\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar windowWhen_1 = require('../../operator/windowWhen');\nObservable_1.Observable.prototype.windowWhen = windowWhen_1.windowWhen;\n//# sourceMappingURL=windowWhen.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/windowWhen.js\n// module id = 1848\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar withLatestFrom_1 = require('../../operator/withLatestFrom');\nObservable_1.Observable.prototype.withLatestFrom = withLatestFrom_1.withLatestFrom;\n//# sourceMappingURL=withLatestFrom.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/withLatestFrom.js\n// module id = 1849\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar zip_1 = require('../../operator/zip');\nObservable_1.Observable.prototype.zip = zip_1.zipProto;\n//# sourceMappingURL=zip.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/zip.js\n// module id = 1850\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar zipAll_1 = require('../../operator/zipAll');\nObservable_1.Observable.prototype.zipAll = zipAll_1.zipAll;\n//# sourceMappingURL=zipAll.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/add/operator/zipAll.js\n// module id = 1851\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = require('../Observable');\nvar ScalarObservable_1 = require('./ScalarObservable');\nvar EmptyObservable_1 = require('./EmptyObservable');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar ArrayLikeObservable = (function (_super) {\n    __extends(ArrayLikeObservable, _super);\n    function ArrayLikeObservable(arrayLike, scheduler) {\n        _super.call(this);\n        this.arrayLike = arrayLike;\n        this.scheduler = scheduler;\n        if (!scheduler && arrayLike.length === 1) {\n            this._isScalar = true;\n            this.value = arrayLike[0];\n        }\n    }\n    ArrayLikeObservable.create = function (arrayLike, scheduler) {\n        var length = arrayLike.length;\n        if (length === 0) {\n            return new EmptyObservable_1.EmptyObservable();\n        }\n        else if (length === 1) {\n            return new ScalarObservable_1.ScalarObservable(arrayLike[0], scheduler);\n        }\n        else {\n            return new ArrayLikeObservable(arrayLike, scheduler);\n        }\n    };\n    ArrayLikeObservable.dispatch = function (state) {\n        var arrayLike = state.arrayLike, index = state.index, length = state.length, subscriber = state.subscriber;\n        if (subscriber.closed) {\n            return;\n        }\n        if (index >= length) {\n            subscriber.complete();\n            return;\n        }\n        subscriber.next(arrayLike[index]);\n        state.index = index + 1;\n        this.schedule(state);\n    };\n    ArrayLikeObservable.prototype._subscribe = function (subscriber) {\n        var index = 0;\n        var _a = this, arrayLike = _a.arrayLike, scheduler = _a.scheduler;\n        var length = arrayLike.length;\n        if (scheduler) {\n            return scheduler.schedule(ArrayLikeObservable.dispatch, 0, {\n                arrayLike: arrayLike, index: index, length: length, subscriber: subscriber\n            });\n        }\n        else {\n            for (var i = 0; i < length && !subscriber.closed; i++) {\n                subscriber.next(arrayLike[i]);\n            }\n            subscriber.complete();\n        }\n    };\n    return ArrayLikeObservable;\n}(Observable_1.Observable));\nexports.ArrayLikeObservable = ArrayLikeObservable;\n//# sourceMappingURL=ArrayLikeObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/ArrayLikeObservable.js\n// module id = 1852\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = require('../Observable');\nvar tryCatch_1 = require('../util/tryCatch');\nvar errorObject_1 = require('../util/errorObject');\nvar AsyncSubject_1 = require('../AsyncSubject');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar BoundCallbackObservable = (function (_super) {\n    __extends(BoundCallbackObservable, _super);\n    function BoundCallbackObservable(callbackFunc, selector, args, scheduler) {\n        _super.call(this);\n        this.callbackFunc = callbackFunc;\n        this.selector = selector;\n        this.args = args;\n        this.scheduler = scheduler;\n    }\n    /* tslint:enable:max-line-length */\n    /**\n     * Converts a callback API to a function that returns an Observable.\n     *\n     * <span class=\"informal\">Give it a function `f` of type `f(x, callback)` and\n     * it will return a function `g` that when called as `g(x)` will output an\n     * Observable.</span>\n     *\n     * `bindCallback` is not an operator because its input and output are not\n     * Observables. The input is a function `func` with some parameters, but the\n     * last parameter must be a callback function that `func` calls when it is\n     * done. The output of `bindCallback` is a function that takes the same\n     * parameters as `func`, except the last one (the callback). When the output\n     * function is called with arguments, it will return an Observable where the\n     * results will be delivered to.\n     *\n     * @example <caption>Convert jQuery's getJSON to an Observable API</caption>\n     * // Suppose we have jQuery.getJSON('/my/url', callback)\n     * var getJSONAsObservable = Rx.Observable.bindCallback(jQuery.getJSON);\n     * var result = getJSONAsObservable('/my/url');\n     * result.subscribe(x => console.log(x), e => console.error(e));\n     *\n     * @see {@link bindNodeCallback}\n     * @see {@link from}\n     * @see {@link fromPromise}\n     *\n     * @param {function} func Function with a callback as the last parameter.\n     * @param {function} selector A function which takes the arguments from the\n     * callback and maps those a value to emit on the output Observable.\n     * @param {Scheduler} [scheduler] The scheduler on which to schedule the\n     * callbacks.\n     * @return {function(...params: *): Observable} A function which returns the\n     * Observable that delivers the same values the callback would deliver.\n     * @static true\n     * @name bindCallback\n     * @owner Observable\n     */\n    BoundCallbackObservable.create = function (func, selector, scheduler) {\n        if (selector === void 0) { selector = undefined; }\n        return function () {\n            var args = [];\n            for (var _i = 0; _i < arguments.length; _i++) {\n                args[_i - 0] = arguments[_i];\n            }\n            return new BoundCallbackObservable(func, selector, args, scheduler);\n        };\n    };\n    BoundCallbackObservable.prototype._subscribe = function (subscriber) {\n        var callbackFunc = this.callbackFunc;\n        var args = this.args;\n        var scheduler = this.scheduler;\n        var subject = this.subject;\n        if (!scheduler) {\n            if (!subject) {\n                subject = this.subject = new AsyncSubject_1.AsyncSubject();\n                var handler = function handlerFn() {\n                    var innerArgs = [];\n                    for (var _i = 0; _i < arguments.length; _i++) {\n                        innerArgs[_i - 0] = arguments[_i];\n                    }\n                    var source = handlerFn.source;\n                    var selector = source.selector, subject = source.subject;\n                    if (selector) {\n                        var result_1 = tryCatch_1.tryCatch(selector).apply(this, innerArgs);\n                        if (result_1 === errorObject_1.errorObject) {\n                            subject.error(errorObject_1.errorObject.e);\n                        }\n                        else {\n                            subject.next(result_1);\n                            subject.complete();\n                        }\n                    }\n                    else {\n                        subject.next(innerArgs.length === 1 ? innerArgs[0] : innerArgs);\n                        subject.complete();\n                    }\n                };\n                // use named function instance to avoid closure.\n                handler.source = this;\n                var result = tryCatch_1.tryCatch(callbackFunc).apply(this, args.concat(handler));\n                if (result === errorObject_1.errorObject) {\n                    subject.error(errorObject_1.errorObject.e);\n                }\n            }\n            return subject.subscribe(subscriber);\n        }\n        else {\n            return scheduler.schedule(BoundCallbackObservable.dispatch, 0, { source: this, subscriber: subscriber });\n        }\n    };\n    BoundCallbackObservable.dispatch = function (state) {\n        var self = this;\n        var source = state.source, subscriber = state.subscriber;\n        var callbackFunc = source.callbackFunc, args = source.args, scheduler = source.scheduler;\n        var subject = source.subject;\n        if (!subject) {\n            subject = source.subject = new AsyncSubject_1.AsyncSubject();\n            var handler = function handlerFn() {\n                var innerArgs = [];\n                for (var _i = 0; _i < arguments.length; _i++) {\n                    innerArgs[_i - 0] = arguments[_i];\n                }\n                var source = handlerFn.source;\n                var selector = source.selector, subject = source.subject;\n                if (selector) {\n                    var result_2 = tryCatch_1.tryCatch(selector).apply(this, innerArgs);\n                    if (result_2 === errorObject_1.errorObject) {\n                        self.add(scheduler.schedule(dispatchError, 0, { err: errorObject_1.errorObject.e, subject: subject }));\n                    }\n                    else {\n                        self.add(scheduler.schedule(dispatchNext, 0, { value: result_2, subject: subject }));\n                    }\n                }\n                else {\n                    var value = innerArgs.length === 1 ? innerArgs[0] : innerArgs;\n                    self.add(scheduler.schedule(dispatchNext, 0, { value: value, subject: subject }));\n                }\n            };\n            // use named function to pass values in without closure\n            handler.source = source;\n            var result = tryCatch_1.tryCatch(callbackFunc).apply(this, args.concat(handler));\n            if (result === errorObject_1.errorObject) {\n                subject.error(errorObject_1.errorObject.e);\n            }\n        }\n        self.add(subject.subscribe(subscriber));\n    };\n    return BoundCallbackObservable;\n}(Observable_1.Observable));\nexports.BoundCallbackObservable = BoundCallbackObservable;\nfunction dispatchNext(arg) {\n    var value = arg.value, subject = arg.subject;\n    subject.next(value);\n    subject.complete();\n}\nfunction dispatchError(arg) {\n    var err = arg.err, subject = arg.subject;\n    subject.error(err);\n}\n//# sourceMappingURL=BoundCallbackObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/BoundCallbackObservable.js\n// module id = 1853\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = require('../Observable');\nvar tryCatch_1 = require('../util/tryCatch');\nvar errorObject_1 = require('../util/errorObject');\nvar AsyncSubject_1 = require('../AsyncSubject');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar BoundNodeCallbackObservable = (function (_super) {\n    __extends(BoundNodeCallbackObservable, _super);\n    function BoundNodeCallbackObservable(callbackFunc, selector, args, scheduler) {\n        _super.call(this);\n        this.callbackFunc = callbackFunc;\n        this.selector = selector;\n        this.args = args;\n        this.scheduler = scheduler;\n    }\n    /* tslint:enable:max-line-length */\n    /**\n     * Converts a Node.js-style callback API to a function that returns an\n     * Observable.\n     *\n     * <span class=\"informal\">It's just like {@link bindCallback}, but the\n     * callback is expected to be of type `callback(error, result)`.</span>\n     *\n     * `bindNodeCallback` is not an operator because its input and output are not\n     * Observables. The input is a function `func` with some parameters, but the\n     * last parameter must be a callback function that `func` calls when it is\n     * done. The callback function is expected to follow Node.js conventions,\n     * where the first argument to the callback is an error, while remaining\n     * arguments are the callback result. The output of `bindNodeCallback` is a\n     * function that takes the same parameters as `func`, except the last one (the\n     * callback). When the output function is called with arguments, it will\n     * return an Observable where the results will be delivered to.\n     *\n     * @example <caption>Read a file from the filesystem and get the data as an Observable</caption>\n     * import * as fs from 'fs';\n     * var readFileAsObservable = Rx.Observable.bindNodeCallback(fs.readFile);\n     * var result = readFileAsObservable('./roadNames.txt', 'utf8');\n     * result.subscribe(x => console.log(x), e => console.error(e));\n     *\n     * @see {@link bindCallback}\n     * @see {@link from}\n     * @see {@link fromPromise}\n     *\n     * @param {function} func Function with a callback as the last parameter.\n     * @param {function} selector A function which takes the arguments from the\n     * callback and maps those a value to emit on the output Observable.\n     * @param {Scheduler} [scheduler] The scheduler on which to schedule the\n     * callbacks.\n     * @return {function(...params: *): Observable} A function which returns the\n     * Observable that delivers the same values the Node.js callback would\n     * deliver.\n     * @static true\n     * @name bindNodeCallback\n     * @owner Observable\n     */\n    BoundNodeCallbackObservable.create = function (func, selector, scheduler) {\n        if (selector === void 0) { selector = undefined; }\n        return function () {\n            var args = [];\n            for (var _i = 0; _i < arguments.length; _i++) {\n                args[_i - 0] = arguments[_i];\n            }\n            return new BoundNodeCallbackObservable(func, selector, args, scheduler);\n        };\n    };\n    BoundNodeCallbackObservable.prototype._subscribe = function (subscriber) {\n        var callbackFunc = this.callbackFunc;\n        var args = this.args;\n        var scheduler = this.scheduler;\n        var subject = this.subject;\n        if (!scheduler) {\n            if (!subject) {\n                subject = this.subject = new AsyncSubject_1.AsyncSubject();\n                var handler = function handlerFn() {\n                    var innerArgs = [];\n                    for (var _i = 0; _i < arguments.length; _i++) {\n                        innerArgs[_i - 0] = arguments[_i];\n                    }\n                    var source = handlerFn.source;\n                    var selector = source.selector, subject = source.subject;\n                    var err = innerArgs.shift();\n                    if (err) {\n                        subject.error(err);\n                    }\n                    else if (selector) {\n                        var result_1 = tryCatch_1.tryCatch(selector).apply(this, innerArgs);\n                        if (result_1 === errorObject_1.errorObject) {\n                            subject.error(errorObject_1.errorObject.e);\n                        }\n                        else {\n                            subject.next(result_1);\n                            subject.complete();\n                        }\n                    }\n                    else {\n                        subject.next(innerArgs.length === 1 ? innerArgs[0] : innerArgs);\n                        subject.complete();\n                    }\n                };\n                // use named function instance to avoid closure.\n                handler.source = this;\n                var result = tryCatch_1.tryCatch(callbackFunc).apply(this, args.concat(handler));\n                if (result === errorObject_1.errorObject) {\n                    subject.error(errorObject_1.errorObject.e);\n                }\n            }\n            return subject.subscribe(subscriber);\n        }\n        else {\n            return scheduler.schedule(dispatch, 0, { source: this, subscriber: subscriber });\n        }\n    };\n    return BoundNodeCallbackObservable;\n}(Observable_1.Observable));\nexports.BoundNodeCallbackObservable = BoundNodeCallbackObservable;\nfunction dispatch(state) {\n    var self = this;\n    var source = state.source, subscriber = state.subscriber;\n    // XXX: cast to `any` to access to the private field in `source`.\n    var _a = source, callbackFunc = _a.callbackFunc, args = _a.args, scheduler = _a.scheduler;\n    var subject = source.subject;\n    if (!subject) {\n        subject = source.subject = new AsyncSubject_1.AsyncSubject();\n        var handler = function handlerFn() {\n            var innerArgs = [];\n            for (var _i = 0; _i < arguments.length; _i++) {\n                innerArgs[_i - 0] = arguments[_i];\n            }\n            var source = handlerFn.source;\n            var selector = source.selector, subject = source.subject;\n            var err = innerArgs.shift();\n            if (err) {\n                subject.error(err);\n            }\n            else if (selector) {\n                var result_2 = tryCatch_1.tryCatch(selector).apply(this, innerArgs);\n                if (result_2 === errorObject_1.errorObject) {\n                    self.add(scheduler.schedule(dispatchError, 0, { err: errorObject_1.errorObject.e, subject: subject }));\n                }\n                else {\n                    self.add(scheduler.schedule(dispatchNext, 0, { value: result_2, subject: subject }));\n                }\n            }\n            else {\n                var value = innerArgs.length === 1 ? innerArgs[0] : innerArgs;\n                self.add(scheduler.schedule(dispatchNext, 0, { value: value, subject: subject }));\n            }\n        };\n        // use named function to pass values in without closure\n        handler.source = source;\n        var result = tryCatch_1.tryCatch(callbackFunc).apply(this, args.concat(handler));\n        if (result === errorObject_1.errorObject) {\n            subject.error(errorObject_1.errorObject.e);\n        }\n    }\n    self.add(subject.subscribe(subscriber));\n}\nfunction dispatchNext(arg) {\n    var value = arg.value, subject = arg.subject;\n    subject.next(value);\n    subject.complete();\n}\nfunction dispatchError(arg) {\n    var err = arg.err, subject = arg.subject;\n    subject.error(err);\n}\n//# sourceMappingURL=BoundNodeCallbackObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/BoundNodeCallbackObservable.js\n// module id = 1854\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = require('../Observable');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\nvar OuterSubscriber_1 = require('../OuterSubscriber');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar DeferObservable = (function (_super) {\n    __extends(DeferObservable, _super);\n    function DeferObservable(observableFactory) {\n        _super.call(this);\n        this.observableFactory = observableFactory;\n    }\n    /**\n     * Creates an Observable that, on subscribe, calls an Observable factory to\n     * make an Observable for each new Observer.\n     *\n     * <span class=\"informal\">Creates the Observable lazily, that is, only when it\n     * is subscribed.\n     * </span>\n     *\n     * <img src=\"./img/defer.png\" width=\"100%\">\n     *\n     * `defer` allows you to create the Observable only when the Observer\n     * subscribes, and create a fresh Observable for each Observer. It waits until\n     * an Observer subscribes to it, and then it generates an Observable,\n     * typically with an Observable factory function. It does this afresh for each\n     * subscriber, so although each subscriber may think it is subscribing to the\n     * same Observable, in fact each subscriber gets its own individual\n     * Observable.\n     *\n     * @example <caption>Subscribe to either an Observable of clicks or an Observable of interval, at random</caption>\n     * var clicksOrInterval = Rx.Observable.defer(function () {\n     *   if (Math.random() > 0.5) {\n     *     return Rx.Observable.fromEvent(document, 'click');\n     *   } else {\n     *     return Rx.Observable.interval(1000);\n     *   }\n     * });\n     * clicksOrInterval.subscribe(x => console.log(x));\n     *\n     * @see {@link create}\n     *\n     * @param {function(): Observable|Promise} observableFactory The Observable\n     * factory function to invoke for each Observer that subscribes to the output\n     * Observable. May also return a Promise, which will be converted on the fly\n     * to an Observable.\n     * @return {Observable} An Observable whose Observers' subscriptions trigger\n     * an invocation of the given Observable factory function.\n     * @static true\n     * @name defer\n     * @owner Observable\n     */\n    DeferObservable.create = function (observableFactory) {\n        return new DeferObservable(observableFactory);\n    };\n    DeferObservable.prototype._subscribe = function (subscriber) {\n        return new DeferSubscriber(subscriber, this.observableFactory);\n    };\n    return DeferObservable;\n}(Observable_1.Observable));\nexports.DeferObservable = DeferObservable;\nvar DeferSubscriber = (function (_super) {\n    __extends(DeferSubscriber, _super);\n    function DeferSubscriber(destination, factory) {\n        _super.call(this, destination);\n        this.factory = factory;\n        this.tryDefer();\n    }\n    DeferSubscriber.prototype.tryDefer = function () {\n        try {\n            this._callFactory();\n        }\n        catch (err) {\n            this._error(err);\n        }\n    };\n    DeferSubscriber.prototype._callFactory = function () {\n        var result = this.factory();\n        if (result) {\n            this.add(subscribeToResult_1.subscribeToResult(this, result));\n        }\n    };\n    return DeferSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=DeferObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/DeferObservable.js\n// module id = 1855\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = require('../Observable');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar ErrorObservable = (function (_super) {\n    __extends(ErrorObservable, _super);\n    function ErrorObservable(error, scheduler) {\n        _super.call(this);\n        this.error = error;\n        this.scheduler = scheduler;\n    }\n    /**\n     * Creates an Observable that emits no items to the Observer and immediately\n     * emits an error notification.\n     *\n     * <span class=\"informal\">Just emits 'error', and nothing else.\n     * </span>\n     *\n     * <img src=\"./img/throw.png\" width=\"100%\">\n     *\n     * This static operator is useful for creating a simple Observable that only\n     * emits the error notification. It can be used for composing with other\n     * Observables, such as in a {@link mergeMap}.\n     *\n     * @example <caption>Emit the number 7, then emit an error.</caption>\n     * var result = Rx.Observable.throw(new Error('oops!')).startWith(7);\n     * result.subscribe(x => console.log(x), e => console.error(e));\n     *\n     * @example <caption>Map and flattens numbers to the sequence 'a', 'b', 'c', but throw an error for 13</caption>\n     * var interval = Rx.Observable.interval(1000);\n     * var result = interval.mergeMap(x =>\n     *   x === 13 ?\n     *     Rx.Observable.throw('Thirteens are bad') :\n     *     Rx.Observable.of('a', 'b', 'c')\n     * );\n     * result.subscribe(x => console.log(x), e => console.error(e));\n     *\n     * @see {@link create}\n     * @see {@link empty}\n     * @see {@link never}\n     * @see {@link of}\n     *\n     * @param {any} error The particular Error to pass to the error notification.\n     * @param {Scheduler} [scheduler] A {@link Scheduler} to use for scheduling\n     * the emission of the error notification.\n     * @return {Observable} An error Observable: emits only the error notification\n     * using the given error argument.\n     * @static true\n     * @name throw\n     * @owner Observable\n     */\n    ErrorObservable.create = function (error, scheduler) {\n        return new ErrorObservable(error, scheduler);\n    };\n    ErrorObservable.dispatch = function (arg) {\n        var error = arg.error, subscriber = arg.subscriber;\n        subscriber.error(error);\n    };\n    ErrorObservable.prototype._subscribe = function (subscriber) {\n        var error = this.error;\n        var scheduler = this.scheduler;\n        if (scheduler) {\n            return scheduler.schedule(ErrorObservable.dispatch, 0, {\n                error: error, subscriber: subscriber\n            });\n        }\n        else {\n            subscriber.error(error);\n        }\n    };\n    return ErrorObservable;\n}(Observable_1.Observable));\nexports.ErrorObservable = ErrorObservable;\n//# sourceMappingURL=ErrorObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/ErrorObservable.js\n// module id = 1856\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = require('../Observable');\nvar EmptyObservable_1 = require('./EmptyObservable');\nvar isArray_1 = require('../util/isArray');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\nvar OuterSubscriber_1 = require('../OuterSubscriber');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar ForkJoinObservable = (function (_super) {\n    __extends(ForkJoinObservable, _super);\n    function ForkJoinObservable(sources, resultSelector) {\n        _super.call(this);\n        this.sources = sources;\n        this.resultSelector = resultSelector;\n    }\n    /* tslint:enable:max-line-length */\n    /**\n     * @param sources\n     * @return {any}\n     * @static true\n     * @name forkJoin\n     * @owner Observable\n     */\n    ForkJoinObservable.create = function () {\n        var sources = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            sources[_i - 0] = arguments[_i];\n        }\n        if (sources === null || arguments.length === 0) {\n            return new EmptyObservable_1.EmptyObservable();\n        }\n        var resultSelector = null;\n        if (typeof sources[sources.length - 1] === 'function') {\n            resultSelector = sources.pop();\n        }\n        // if the first and only other argument besides the resultSelector is an array\n        // assume it's been called with `forkJoin([obs1, obs2, obs3], resultSelector)`\n        if (sources.length === 1 && isArray_1.isArray(sources[0])) {\n            sources = sources[0];\n        }\n        if (sources.length === 0) {\n            return new EmptyObservable_1.EmptyObservable();\n        }\n        return new ForkJoinObservable(sources, resultSelector);\n    };\n    ForkJoinObservable.prototype._subscribe = function (subscriber) {\n        return new ForkJoinSubscriber(subscriber, this.sources, this.resultSelector);\n    };\n    return ForkJoinObservable;\n}(Observable_1.Observable));\nexports.ForkJoinObservable = ForkJoinObservable;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar ForkJoinSubscriber = (function (_super) {\n    __extends(ForkJoinSubscriber, _super);\n    function ForkJoinSubscriber(destination, sources, resultSelector) {\n        _super.call(this, destination);\n        this.sources = sources;\n        this.resultSelector = resultSelector;\n        this.completed = 0;\n        this.haveValues = 0;\n        var len = sources.length;\n        this.total = len;\n        this.values = new Array(len);\n        for (var i = 0; i < len; i++) {\n            var source = sources[i];\n            var innerSubscription = subscribeToResult_1.subscribeToResult(this, source, null, i);\n            if (innerSubscription) {\n                innerSubscription.outerIndex = i;\n                this.add(innerSubscription);\n            }\n        }\n    }\n    ForkJoinSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        this.values[outerIndex] = innerValue;\n        if (!innerSub._hasValue) {\n            innerSub._hasValue = true;\n            this.haveValues++;\n        }\n    };\n    ForkJoinSubscriber.prototype.notifyComplete = function (innerSub) {\n        var destination = this.destination;\n        var _a = this, haveValues = _a.haveValues, resultSelector = _a.resultSelector, values = _a.values;\n        var len = values.length;\n        if (!innerSub._hasValue) {\n            destination.complete();\n            return;\n        }\n        this.completed++;\n        if (this.completed !== len) {\n            return;\n        }\n        if (haveValues === len) {\n            var value = resultSelector ? resultSelector.apply(this, values) : values;\n            destination.next(value);\n        }\n        destination.complete();\n    };\n    return ForkJoinSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=ForkJoinObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/ForkJoinObservable.js\n// module id = 1857\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = require('../Observable');\nvar tryCatch_1 = require('../util/tryCatch');\nvar isFunction_1 = require('../util/isFunction');\nvar errorObject_1 = require('../util/errorObject');\nvar Subscription_1 = require('../Subscription');\nfunction isNodeStyleEventEmmitter(sourceObj) {\n    return !!sourceObj && typeof sourceObj.addListener === 'function' && typeof sourceObj.removeListener === 'function';\n}\nfunction isJQueryStyleEventEmitter(sourceObj) {\n    return !!sourceObj && typeof sourceObj.on === 'function' && typeof sourceObj.off === 'function';\n}\nfunction isNodeList(sourceObj) {\n    return !!sourceObj && sourceObj.toString() === '[object NodeList]';\n}\nfunction isHTMLCollection(sourceObj) {\n    return !!sourceObj && sourceObj.toString() === '[object HTMLCollection]';\n}\nfunction isEventTarget(sourceObj) {\n    return !!sourceObj && typeof sourceObj.addEventListener === 'function' && typeof sourceObj.removeEventListener === 'function';\n}\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar FromEventObservable = (function (_super) {\n    __extends(FromEventObservable, _super);\n    function FromEventObservable(sourceObj, eventName, selector, options) {\n        _super.call(this);\n        this.sourceObj = sourceObj;\n        this.eventName = eventName;\n        this.selector = selector;\n        this.options = options;\n    }\n    /* tslint:enable:max-line-length */\n    /**\n     * Creates an Observable that emits events of a specific type coming from the\n     * given event target.\n     *\n     * <span class=\"informal\">Creates an Observable from DOM events, or Node\n     * EventEmitter events or others.</span>\n     *\n     * <img src=\"./img/fromEvent.png\" width=\"100%\">\n     *\n     * Creates an Observable by attaching an event listener to an \"event target\",\n     * which may be an object with `addEventListener` and `removeEventListener`,\n     * a Node.js EventEmitter, a jQuery style EventEmitter, a NodeList from the\n     * DOM, or an HTMLCollection from the DOM. The event handler is attached when\n     * the output Observable is subscribed, and removed when the Subscription is\n     * unsubscribed.\n     *\n     * @example <caption>Emits clicks happening on the DOM document</caption>\n     * var clicks = Rx.Observable.fromEvent(document, 'click');\n     * clicks.subscribe(x => console.log(x));\n     *\n     * @see {@link from}\n     * @see {@link fromEventPattern}\n     *\n     * @param {EventTargetLike} target The DOMElement, event target, Node.js\n     * EventEmitter, NodeList or HTMLCollection to attach the event handler to.\n     * @param {string} eventName The event name of interest, being emitted by the\n     * `target`.\n     * @parm {EventListenerOptions} [options] Options to pass through to addEventListener\n     * @param {SelectorMethodSignature<T>} [selector] An optional function to\n     * post-process results. It takes the arguments from the event handler and\n     * should return a single value.\n     * @return {Observable<T>}\n     * @static true\n     * @name fromEvent\n     * @owner Observable\n     */\n    FromEventObservable.create = function (target, eventName, options, selector) {\n        if (isFunction_1.isFunction(options)) {\n            selector = options;\n            options = undefined;\n        }\n        return new FromEventObservable(target, eventName, selector, options);\n    };\n    FromEventObservable.setupSubscription = function (sourceObj, eventName, handler, subscriber, options) {\n        var unsubscribe;\n        if (isNodeList(sourceObj) || isHTMLCollection(sourceObj)) {\n            for (var i = 0, len = sourceObj.length; i < len; i++) {\n                FromEventObservable.setupSubscription(sourceObj[i], eventName, handler, subscriber, options);\n            }\n        }\n        else if (isEventTarget(sourceObj)) {\n            var source_1 = sourceObj;\n            sourceObj.addEventListener(eventName, handler, options);\n            unsubscribe = function () { return source_1.removeEventListener(eventName, handler); };\n        }\n        else if (isJQueryStyleEventEmitter(sourceObj)) {\n            var source_2 = sourceObj;\n            sourceObj.on(eventName, handler);\n            unsubscribe = function () { return source_2.off(eventName, handler); };\n        }\n        else if (isNodeStyleEventEmmitter(sourceObj)) {\n            var source_3 = sourceObj;\n            sourceObj.addListener(eventName, handler);\n            unsubscribe = function () { return source_3.removeListener(eventName, handler); };\n        }\n        subscriber.add(new Subscription_1.Subscription(unsubscribe));\n    };\n    FromEventObservable.prototype._subscribe = function (subscriber) {\n        var sourceObj = this.sourceObj;\n        var eventName = this.eventName;\n        var options = this.options;\n        var selector = this.selector;\n        var handler = selector ? function () {\n            var args = [];\n            for (var _i = 0; _i < arguments.length; _i++) {\n                args[_i - 0] = arguments[_i];\n            }\n            var result = tryCatch_1.tryCatch(selector).apply(void 0, args);\n            if (result === errorObject_1.errorObject) {\n                subscriber.error(errorObject_1.errorObject.e);\n            }\n            else {\n                subscriber.next(result);\n            }\n        } : function (e) { return subscriber.next(e); };\n        FromEventObservable.setupSubscription(sourceObj, eventName, handler, subscriber, options);\n    };\n    return FromEventObservable;\n}(Observable_1.Observable));\nexports.FromEventObservable = FromEventObservable;\n//# sourceMappingURL=FromEventObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/FromEventObservable.js\n// module id = 1858\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = require('../Observable');\nvar Subscription_1 = require('../Subscription');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar FromEventPatternObservable = (function (_super) {\n    __extends(FromEventPatternObservable, _super);\n    function FromEventPatternObservable(addHandler, removeHandler, selector) {\n        _super.call(this);\n        this.addHandler = addHandler;\n        this.removeHandler = removeHandler;\n        this.selector = selector;\n    }\n    /**\n     * Creates an Observable from an API based on addHandler/removeHandler\n     * functions.\n     *\n     * <span class=\"informal\">Converts any addHandler/removeHandler API to an\n     * Observable.</span>\n     *\n     * <img src=\"./img/fromEventPattern.png\" width=\"100%\">\n     *\n     * Creates an Observable by using the `addHandler` and `removeHandler`\n     * functions to add and remove the handlers, with an optional selector\n     * function to project the event arguments to a result. The `addHandler` is\n     * called when the output Observable is subscribed, and `removeHandler` is\n     * called when the Subscription is unsubscribed.\n     *\n     * @example <caption>Emits clicks happening on the DOM document</caption>\n     * function addClickHandler(handler) {\n     *   document.addEventListener('click', handler);\n     * }\n     *\n     * function removeClickHandler(handler) {\n     *   document.removeEventListener('click', handler);\n     * }\n     *\n     * var clicks = Rx.Observable.fromEventPattern(\n     *   addClickHandler,\n     *   removeClickHandler\n     * );\n     * clicks.subscribe(x => console.log(x));\n     *\n     * @see {@link from}\n     * @see {@link fromEvent}\n     *\n     * @param {function(handler: Function): any} addHandler A function that takes\n     * a `handler` function as argument and attaches it somehow to the actual\n     * source of events.\n     * @param {function(handler: Function): void} removeHandler A function that\n     * takes a `handler` function as argument and removes it in case it was\n     * previously attached using `addHandler`.\n     * @param {function(...args: any): T} [selector] An optional function to\n     * post-process results. It takes the arguments from the event handler and\n     * should return a single value.\n     * @return {Observable<T>}\n     * @static true\n     * @name fromEventPattern\n     * @owner Observable\n     */\n    FromEventPatternObservable.create = function (addHandler, removeHandler, selector) {\n        return new FromEventPatternObservable(addHandler, removeHandler, selector);\n    };\n    FromEventPatternObservable.prototype._subscribe = function (subscriber) {\n        var _this = this;\n        var removeHandler = this.removeHandler;\n        var handler = !!this.selector ? function () {\n            var args = [];\n            for (var _i = 0; _i < arguments.length; _i++) {\n                args[_i - 0] = arguments[_i];\n            }\n            _this._callSelector(subscriber, args);\n        } : function (e) { subscriber.next(e); };\n        this._callAddHandler(handler, subscriber);\n        subscriber.add(new Subscription_1.Subscription(function () {\n            //TODO: determine whether or not to forward to error handler\n            removeHandler(handler);\n        }));\n    };\n    FromEventPatternObservable.prototype._callSelector = function (subscriber, args) {\n        try {\n            var result = this.selector.apply(this, args);\n            subscriber.next(result);\n        }\n        catch (e) {\n            subscriber.error(e);\n        }\n    };\n    FromEventPatternObservable.prototype._callAddHandler = function (handler, errorSubscriber) {\n        try {\n            this.addHandler(handler);\n        }\n        catch (e) {\n            errorSubscriber.error(e);\n        }\n    };\n    return FromEventPatternObservable;\n}(Observable_1.Observable));\nexports.FromEventPatternObservable = FromEventPatternObservable;\n//# sourceMappingURL=FromEventPatternObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/FromEventPatternObservable.js\n// module id = 1859\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = require('../Observable');\nvar isScheduler_1 = require('../util/isScheduler');\nvar selfSelector = function (value) { return value; };\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar GenerateObservable = (function (_super) {\n    __extends(GenerateObservable, _super);\n    function GenerateObservable(initialState, condition, iterate, resultSelector, scheduler) {\n        _super.call(this);\n        this.initialState = initialState;\n        this.condition = condition;\n        this.iterate = iterate;\n        this.resultSelector = resultSelector;\n        this.scheduler = scheduler;\n    }\n    GenerateObservable.create = function (initialStateOrOptions, condition, iterate, resultSelectorOrObservable, scheduler) {\n        if (arguments.length == 1) {\n            return new GenerateObservable(initialStateOrOptions.initialState, initialStateOrOptions.condition, initialStateOrOptions.iterate, initialStateOrOptions.resultSelector || selfSelector, initialStateOrOptions.scheduler);\n        }\n        if (resultSelectorOrObservable === undefined || isScheduler_1.isScheduler(resultSelectorOrObservable)) {\n            return new GenerateObservable(initialStateOrOptions, condition, iterate, selfSelector, resultSelectorOrObservable);\n        }\n        return new GenerateObservable(initialStateOrOptions, condition, iterate, resultSelectorOrObservable, scheduler);\n    };\n    GenerateObservable.prototype._subscribe = function (subscriber) {\n        var state = this.initialState;\n        if (this.scheduler) {\n            return this.scheduler.schedule(GenerateObservable.dispatch, 0, {\n                subscriber: subscriber,\n                iterate: this.iterate,\n                condition: this.condition,\n                resultSelector: this.resultSelector,\n                state: state });\n        }\n        var _a = this, condition = _a.condition, resultSelector = _a.resultSelector, iterate = _a.iterate;\n        do {\n            if (condition) {\n                var conditionResult = void 0;\n                try {\n                    conditionResult = condition(state);\n                }\n                catch (err) {\n                    subscriber.error(err);\n                    return;\n                }\n                if (!conditionResult) {\n                    subscriber.complete();\n                    break;\n                }\n            }\n            var value = void 0;\n            try {\n                value = resultSelector(state);\n            }\n            catch (err) {\n                subscriber.error(err);\n                return;\n            }\n            subscriber.next(value);\n            if (subscriber.closed) {\n                break;\n            }\n            try {\n                state = iterate(state);\n            }\n            catch (err) {\n                subscriber.error(err);\n                return;\n            }\n        } while (true);\n    };\n    GenerateObservable.dispatch = function (state) {\n        var subscriber = state.subscriber, condition = state.condition;\n        if (subscriber.closed) {\n            return;\n        }\n        if (state.needIterate) {\n            try {\n                state.state = state.iterate(state.state);\n            }\n            catch (err) {\n                subscriber.error(err);\n                return;\n            }\n        }\n        else {\n            state.needIterate = true;\n        }\n        if (condition) {\n            var conditionResult = void 0;\n            try {\n                conditionResult = condition(state.state);\n            }\n            catch (err) {\n                subscriber.error(err);\n                return;\n            }\n            if (!conditionResult) {\n                subscriber.complete();\n                return;\n            }\n            if (subscriber.closed) {\n                return;\n            }\n        }\n        var value;\n        try {\n            value = state.resultSelector(state.state);\n        }\n        catch (err) {\n            subscriber.error(err);\n            return;\n        }\n        if (subscriber.closed) {\n            return;\n        }\n        subscriber.next(value);\n        if (subscriber.closed) {\n            return;\n        }\n        return this.schedule(state);\n    };\n    return GenerateObservable;\n}(Observable_1.Observable));\nexports.GenerateObservable = GenerateObservable;\n//# sourceMappingURL=GenerateObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/GenerateObservable.js\n// module id = 1860\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = require('../Observable');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\nvar OuterSubscriber_1 = require('../OuterSubscriber');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar IfObservable = (function (_super) {\n    __extends(IfObservable, _super);\n    function IfObservable(condition, thenSource, elseSource) {\n        _super.call(this);\n        this.condition = condition;\n        this.thenSource = thenSource;\n        this.elseSource = elseSource;\n    }\n    IfObservable.create = function (condition, thenSource, elseSource) {\n        return new IfObservable(condition, thenSource, elseSource);\n    };\n    IfObservable.prototype._subscribe = function (subscriber) {\n        var _a = this, condition = _a.condition, thenSource = _a.thenSource, elseSource = _a.elseSource;\n        return new IfSubscriber(subscriber, condition, thenSource, elseSource);\n    };\n    return IfObservable;\n}(Observable_1.Observable));\nexports.IfObservable = IfObservable;\nvar IfSubscriber = (function (_super) {\n    __extends(IfSubscriber, _super);\n    function IfSubscriber(destination, condition, thenSource, elseSource) {\n        _super.call(this, destination);\n        this.condition = condition;\n        this.thenSource = thenSource;\n        this.elseSource = elseSource;\n        this.tryIf();\n    }\n    IfSubscriber.prototype.tryIf = function () {\n        var _a = this, condition = _a.condition, thenSource = _a.thenSource, elseSource = _a.elseSource;\n        var result;\n        try {\n            result = condition();\n            var source = result ? thenSource : elseSource;\n            if (source) {\n                this.add(subscribeToResult_1.subscribeToResult(this, source));\n            }\n            else {\n                this._complete();\n            }\n        }\n        catch (err) {\n            this._error(err);\n        }\n    };\n    return IfSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=IfObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/IfObservable.js\n// module id = 1861\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar isNumeric_1 = require('../util/isNumeric');\nvar Observable_1 = require('../Observable');\nvar async_1 = require('../scheduler/async');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar IntervalObservable = (function (_super) {\n    __extends(IntervalObservable, _super);\n    function IntervalObservable(period, scheduler) {\n        if (period === void 0) { period = 0; }\n        if (scheduler === void 0) { scheduler = async_1.async; }\n        _super.call(this);\n        this.period = period;\n        this.scheduler = scheduler;\n        if (!isNumeric_1.isNumeric(period) || period < 0) {\n            this.period = 0;\n        }\n        if (!scheduler || typeof scheduler.schedule !== 'function') {\n            this.scheduler = async_1.async;\n        }\n    }\n    /**\n     * Creates an Observable that emits sequential numbers every specified\n     * interval of time, on a specified Scheduler.\n     *\n     * <span class=\"informal\">Emits incremental numbers periodically in time.\n     * </span>\n     *\n     * <img src=\"./img/interval.png\" width=\"100%\">\n     *\n     * `interval` returns an Observable that emits an infinite sequence of\n     * ascending integers, with a constant interval of time of your choosing\n     * between those emissions. The first emission is not sent immediately, but\n     * only after the first period has passed. By default, this operator uses the\n     * `async` Scheduler to provide a notion of time, but you may pass any\n     * Scheduler to it.\n     *\n     * @example <caption>Emits ascending numbers, one every second (1000ms)</caption>\n     * var numbers = Rx.Observable.interval(1000);\n     * numbers.subscribe(x => console.log(x));\n     *\n     * @see {@link timer}\n     * @see {@link delay}\n     *\n     * @param {number} [period=0] The interval size in milliseconds (by default)\n     * or the time unit determined by the scheduler's clock.\n     * @param {Scheduler} [scheduler=async] The Scheduler to use for scheduling\n     * the emission of values, and providing a notion of \"time\".\n     * @return {Observable} An Observable that emits a sequential number each time\n     * interval.\n     * @static true\n     * @name interval\n     * @owner Observable\n     */\n    IntervalObservable.create = function (period, scheduler) {\n        if (period === void 0) { period = 0; }\n        if (scheduler === void 0) { scheduler = async_1.async; }\n        return new IntervalObservable(period, scheduler);\n    };\n    IntervalObservable.dispatch = function (state) {\n        var index = state.index, subscriber = state.subscriber, period = state.period;\n        subscriber.next(index);\n        if (subscriber.closed) {\n            return;\n        }\n        state.index += 1;\n        this.schedule(state, period);\n    };\n    IntervalObservable.prototype._subscribe = function (subscriber) {\n        var index = 0;\n        var period = this.period;\n        var scheduler = this.scheduler;\n        subscriber.add(scheduler.schedule(IntervalObservable.dispatch, period, {\n            index: index, subscriber: subscriber, period: period\n        }));\n    };\n    return IntervalObservable;\n}(Observable_1.Observable));\nexports.IntervalObservable = IntervalObservable;\n//# sourceMappingURL=IntervalObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/IntervalObservable.js\n// module id = 1862\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar root_1 = require('../util/root');\nvar Observable_1 = require('../Observable');\nvar iterator_1 = require('../symbol/iterator');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar IteratorObservable = (function (_super) {\n    __extends(IteratorObservable, _super);\n    function IteratorObservable(iterator, scheduler) {\n        _super.call(this);\n        this.scheduler = scheduler;\n        if (iterator == null) {\n            throw new Error('iterator cannot be null.');\n        }\n        this.iterator = getIterator(iterator);\n    }\n    IteratorObservable.create = function (iterator, scheduler) {\n        return new IteratorObservable(iterator, scheduler);\n    };\n    IteratorObservable.dispatch = function (state) {\n        var index = state.index, hasError = state.hasError, iterator = state.iterator, subscriber = state.subscriber;\n        if (hasError) {\n            subscriber.error(state.error);\n            return;\n        }\n        var result = iterator.next();\n        if (result.done) {\n            subscriber.complete();\n            return;\n        }\n        subscriber.next(result.value);\n        state.index = index + 1;\n        if (subscriber.closed) {\n            return;\n        }\n        this.schedule(state);\n    };\n    IteratorObservable.prototype._subscribe = function (subscriber) {\n        var index = 0;\n        var _a = this, iterator = _a.iterator, scheduler = _a.scheduler;\n        if (scheduler) {\n            return scheduler.schedule(IteratorObservable.dispatch, 0, {\n                index: index, iterator: iterator, subscriber: subscriber\n            });\n        }\n        else {\n            do {\n                var result = iterator.next();\n                if (result.done) {\n                    subscriber.complete();\n                    break;\n                }\n                else {\n                    subscriber.next(result.value);\n                }\n                if (subscriber.closed) {\n                    break;\n                }\n            } while (true);\n        }\n    };\n    return IteratorObservable;\n}(Observable_1.Observable));\nexports.IteratorObservable = IteratorObservable;\nvar StringIterator = (function () {\n    function StringIterator(str, idx, len) {\n        if (idx === void 0) { idx = 0; }\n        if (len === void 0) { len = str.length; }\n        this.str = str;\n        this.idx = idx;\n        this.len = len;\n    }\n    StringIterator.prototype[iterator_1.$$iterator] = function () { return (this); };\n    StringIterator.prototype.next = function () {\n        return this.idx < this.len ? {\n            done: false,\n            value: this.str.charAt(this.idx++)\n        } : {\n            done: true,\n            value: undefined\n        };\n    };\n    return StringIterator;\n}());\nvar ArrayIterator = (function () {\n    function ArrayIterator(arr, idx, len) {\n        if (idx === void 0) { idx = 0; }\n        if (len === void 0) { len = toLength(arr); }\n        this.arr = arr;\n        this.idx = idx;\n        this.len = len;\n    }\n    ArrayIterator.prototype[iterator_1.$$iterator] = function () { return this; };\n    ArrayIterator.prototype.next = function () {\n        return this.idx < this.len ? {\n            done: false,\n            value: this.arr[this.idx++]\n        } : {\n            done: true,\n            value: undefined\n        };\n    };\n    return ArrayIterator;\n}());\nfunction getIterator(obj) {\n    var i = obj[iterator_1.$$iterator];\n    if (!i && typeof obj === 'string') {\n        return new StringIterator(obj);\n    }\n    if (!i && obj.length !== undefined) {\n        return new ArrayIterator(obj);\n    }\n    if (!i) {\n        throw new TypeError('object is not iterable');\n    }\n    return obj[iterator_1.$$iterator]();\n}\nvar maxSafeInteger = Math.pow(2, 53) - 1;\nfunction toLength(o) {\n    var len = +o.length;\n    if (isNaN(len)) {\n        return 0;\n    }\n    if (len === 0 || !numberIsFinite(len)) {\n        return len;\n    }\n    len = sign(len) * Math.floor(Math.abs(len));\n    if (len <= 0) {\n        return 0;\n    }\n    if (len > maxSafeInteger) {\n        return maxSafeInteger;\n    }\n    return len;\n}\nfunction numberIsFinite(value) {\n    return typeof value === 'number' && root_1.root.isFinite(value);\n}\nfunction sign(value) {\n    var valueAsNumber = +value;\n    if (valueAsNumber === 0) {\n        return valueAsNumber;\n    }\n    if (isNaN(valueAsNumber)) {\n        return valueAsNumber;\n    }\n    return valueAsNumber < 0 ? -1 : 1;\n}\n//# sourceMappingURL=IteratorObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/IteratorObservable.js\n// module id = 1863\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = require('../Observable');\nvar noop_1 = require('../util/noop');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar NeverObservable = (function (_super) {\n    __extends(NeverObservable, _super);\n    function NeverObservable() {\n        _super.call(this);\n    }\n    /**\n     * Creates an Observable that emits no items to the Observer.\n     *\n     * <span class=\"informal\">An Observable that never emits anything.</span>\n     *\n     * <img src=\"./img/never.png\" width=\"100%\">\n     *\n     * This static operator is useful for creating a simple Observable that emits\n     * neither values nor errors nor the completion notification. It can be used\n     * for testing purposes or for composing with other Observables. Please not\n     * that by never emitting a complete notification, this Observable keeps the\n     * subscription from being disposed automatically. Subscriptions need to be\n     * manually disposed.\n     *\n     * @example <caption>Emit the number 7, then never emit anything else (not even complete).</caption>\n     * function info() {\n     *   console.log('Will not be called');\n     * }\n     * var result = Rx.Observable.never().startWith(7);\n     * result.subscribe(x => console.log(x), info, info);\n     *\n     * @see {@link create}\n     * @see {@link empty}\n     * @see {@link of}\n     * @see {@link throw}\n     *\n     * @return {Observable} A \"never\" Observable: never emits anything.\n     * @static true\n     * @name never\n     * @owner Observable\n     */\n    NeverObservable.create = function () {\n        return new NeverObservable();\n    };\n    NeverObservable.prototype._subscribe = function (subscriber) {\n        noop_1.noop();\n    };\n    return NeverObservable;\n}(Observable_1.Observable));\nexports.NeverObservable = NeverObservable;\n//# sourceMappingURL=NeverObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/NeverObservable.js\n// module id = 1864\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = require('../Observable');\nfunction dispatch(state) {\n    var obj = state.obj, keys = state.keys, length = state.length, index = state.index, subscriber = state.subscriber;\n    if (index === length) {\n        subscriber.complete();\n        return;\n    }\n    var key = keys[index];\n    subscriber.next([key, obj[key]]);\n    state.index = index + 1;\n    this.schedule(state);\n}\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar PairsObservable = (function (_super) {\n    __extends(PairsObservable, _super);\n    function PairsObservable(obj, scheduler) {\n        _super.call(this);\n        this.obj = obj;\n        this.scheduler = scheduler;\n        this.keys = Object.keys(obj);\n    }\n    /**\n     * Convert an object into an observable sequence of [key, value] pairs\n     * using an optional Scheduler to enumerate the object.\n     *\n     * @example <caption>Converts a javascript object to an Observable</caption>\n     * var obj = {\n     *   foo: 42,\n     *   bar: 56,\n     *   baz: 78\n     * };\n     *\n     * var source = Rx.Observable.pairs(obj);\n     *\n     * var subscription = source.subscribe(\n     *   function (x) {\n     *     console.log('Next: %s', x);\n     *   },\n     *   function (err) {\n     *     console.log('Error: %s', err);\n     *   },\n     *   function () {\n     *     console.log('Completed');\n     *   });\n     *\n     * @param {Object} obj The object to inspect and turn into an\n     * Observable sequence.\n     * @param {Scheduler} [scheduler] An optional Scheduler to run the\n     * enumeration of the input sequence on.\n     * @returns {(Observable<Array<string | T>>)} An observable sequence of\n     * [key, value] pairs from the object.\n     */\n    PairsObservable.create = function (obj, scheduler) {\n        return new PairsObservable(obj, scheduler);\n    };\n    PairsObservable.prototype._subscribe = function (subscriber) {\n        var _a = this, keys = _a.keys, scheduler = _a.scheduler;\n        var length = keys.length;\n        if (scheduler) {\n            return scheduler.schedule(dispatch, 0, {\n                obj: this.obj, keys: keys, length: length, index: 0, subscriber: subscriber\n            });\n        }\n        else {\n            for (var idx = 0; idx < length; idx++) {\n                var key = keys[idx];\n                subscriber.next([key, this.obj[key]]);\n            }\n            subscriber.complete();\n        }\n    };\n    return PairsObservable;\n}(Observable_1.Observable));\nexports.PairsObservable = PairsObservable;\n//# sourceMappingURL=PairsObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/PairsObservable.js\n// module id = 1865\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = require('../Observable');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar RangeObservable = (function (_super) {\n    __extends(RangeObservable, _super);\n    function RangeObservable(start, count, scheduler) {\n        _super.call(this);\n        this.start = start;\n        this._count = count;\n        this.scheduler = scheduler;\n    }\n    /**\n     * Creates an Observable that emits a sequence of numbers within a specified\n     * range.\n     *\n     * <span class=\"informal\">Emits a sequence of numbers in a range.</span>\n     *\n     * <img src=\"./img/range.png\" width=\"100%\">\n     *\n     * `range` operator emits a range of sequential integers, in order, where you\n     * select the `start` of the range and its `length`. By default, uses no\n     * Scheduler and just delivers the notifications synchronously, but may use\n     * an optional Scheduler to regulate those deliveries.\n     *\n     * @example <caption>Emits the numbers 1 to 10</caption>\n     * var numbers = Rx.Observable.range(1, 10);\n     * numbers.subscribe(x => console.log(x));\n     *\n     * @see {@link timer}\n     * @see {@link interval}\n     *\n     * @param {number} [start=0] The value of the first integer in the sequence.\n     * @param {number} [count=0] The number of sequential integers to generate.\n     * @param {Scheduler} [scheduler] A {@link Scheduler} to use for scheduling\n     * the emissions of the notifications.\n     * @return {Observable} An Observable of numbers that emits a finite range of\n     * sequential integers.\n     * @static true\n     * @name range\n     * @owner Observable\n     */\n    RangeObservable.create = function (start, count, scheduler) {\n        if (start === void 0) { start = 0; }\n        if (count === void 0) { count = 0; }\n        return new RangeObservable(start, count, scheduler);\n    };\n    RangeObservable.dispatch = function (state) {\n        var start = state.start, index = state.index, count = state.count, subscriber = state.subscriber;\n        if (index >= count) {\n            subscriber.complete();\n            return;\n        }\n        subscriber.next(start);\n        if (subscriber.closed) {\n            return;\n        }\n        state.index = index + 1;\n        state.start = start + 1;\n        this.schedule(state);\n    };\n    RangeObservable.prototype._subscribe = function (subscriber) {\n        var index = 0;\n        var start = this.start;\n        var count = this._count;\n        var scheduler = this.scheduler;\n        if (scheduler) {\n            return scheduler.schedule(RangeObservable.dispatch, 0, {\n                index: index, count: count, start: start, subscriber: subscriber\n            });\n        }\n        else {\n            do {\n                if (index++ >= count) {\n                    subscriber.complete();\n                    break;\n                }\n                subscriber.next(start++);\n                if (subscriber.closed) {\n                    break;\n                }\n            } while (true);\n        }\n    };\n    return RangeObservable;\n}(Observable_1.Observable));\nexports.RangeObservable = RangeObservable;\n//# sourceMappingURL=RangeObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/RangeObservable.js\n// module id = 1866\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = require('../Observable');\nvar asap_1 = require('../scheduler/asap');\nvar isNumeric_1 = require('../util/isNumeric');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar SubscribeOnObservable = (function (_super) {\n    __extends(SubscribeOnObservable, _super);\n    function SubscribeOnObservable(source, delayTime, scheduler) {\n        if (delayTime === void 0) { delayTime = 0; }\n        if (scheduler === void 0) { scheduler = asap_1.asap; }\n        _super.call(this);\n        this.source = source;\n        this.delayTime = delayTime;\n        this.scheduler = scheduler;\n        if (!isNumeric_1.isNumeric(delayTime) || delayTime < 0) {\n            this.delayTime = 0;\n        }\n        if (!scheduler || typeof scheduler.schedule !== 'function') {\n            this.scheduler = asap_1.asap;\n        }\n    }\n    SubscribeOnObservable.create = function (source, delay, scheduler) {\n        if (delay === void 0) { delay = 0; }\n        if (scheduler === void 0) { scheduler = asap_1.asap; }\n        return new SubscribeOnObservable(source, delay, scheduler);\n    };\n    SubscribeOnObservable.dispatch = function (arg) {\n        var source = arg.source, subscriber = arg.subscriber;\n        return source.subscribe(subscriber);\n    };\n    SubscribeOnObservable.prototype._subscribe = function (subscriber) {\n        var delay = this.delayTime;\n        var source = this.source;\n        var scheduler = this.scheduler;\n        return scheduler.schedule(SubscribeOnObservable.dispatch, delay, {\n            source: source, subscriber: subscriber\n        });\n    };\n    return SubscribeOnObservable;\n}(Observable_1.Observable));\nexports.SubscribeOnObservable = SubscribeOnObservable;\n//# sourceMappingURL=SubscribeOnObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/SubscribeOnObservable.js\n// module id = 1867\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar isNumeric_1 = require('../util/isNumeric');\nvar Observable_1 = require('../Observable');\nvar async_1 = require('../scheduler/async');\nvar isScheduler_1 = require('../util/isScheduler');\nvar isDate_1 = require('../util/isDate');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar TimerObservable = (function (_super) {\n    __extends(TimerObservable, _super);\n    function TimerObservable(dueTime, period, scheduler) {\n        if (dueTime === void 0) { dueTime = 0; }\n        _super.call(this);\n        this.period = -1;\n        this.dueTime = 0;\n        if (isNumeric_1.isNumeric(period)) {\n            this.period = Number(period) < 1 && 1 || Number(period);\n        }\n        else if (isScheduler_1.isScheduler(period)) {\n            scheduler = period;\n        }\n        if (!isScheduler_1.isScheduler(scheduler)) {\n            scheduler = async_1.async;\n        }\n        this.scheduler = scheduler;\n        this.dueTime = isDate_1.isDate(dueTime) ?\n            (+dueTime - this.scheduler.now()) :\n            dueTime;\n    }\n    /**\n     * Creates an Observable that starts emitting after an `initialDelay` and\n     * emits ever increasing numbers after each `period` of time thereafter.\n     *\n     * <span class=\"informal\">Its like {@link interval}, but you can specify when\n     * should the emissions start.</span>\n     *\n     * <img src=\"./img/timer.png\" width=\"100%\">\n     *\n     * `timer` returns an Observable that emits an infinite sequence of ascending\n     * integers, with a constant interval of time, `period` of your choosing\n     * between those emissions. The first emission happens after the specified\n     * `initialDelay`. The initial delay may be a {@link Date}. By default, this\n     * operator uses the `async` Scheduler to provide a notion of time, but you\n     * may pass any Scheduler to it. If `period` is not specified, the output\n     * Observable emits only one value, `0`. Otherwise, it emits an infinite\n     * sequence.\n     *\n     * @example <caption>Emits ascending numbers, one every second (1000ms), starting after 3 seconds</caption>\n     * var numbers = Rx.Observable.timer(3000, 1000);\n     * numbers.subscribe(x => console.log(x));\n     *\n     * @example <caption>Emits one number after five seconds</caption>\n     * var numbers = Rx.Observable.timer(5000);\n     * numbers.subscribe(x => console.log(x));\n     *\n     * @see {@link interval}\n     * @see {@link delay}\n     *\n     * @param {number|Date} initialDelay The initial delay time to wait before\n     * emitting the first value of `0`.\n     * @param {number} [period] The period of time between emissions of the\n     * subsequent numbers.\n     * @param {Scheduler} [scheduler=async] The Scheduler to use for scheduling\n     * the emission of values, and providing a notion of \"time\".\n     * @return {Observable} An Observable that emits a `0` after the\n     * `initialDelay` and ever increasing numbers after each `period` of time\n     * thereafter.\n     * @static true\n     * @name timer\n     * @owner Observable\n     */\n    TimerObservable.create = function (initialDelay, period, scheduler) {\n        if (initialDelay === void 0) { initialDelay = 0; }\n        return new TimerObservable(initialDelay, period, scheduler);\n    };\n    TimerObservable.dispatch = function (state) {\n        var index = state.index, period = state.period, subscriber = state.subscriber;\n        var action = this;\n        subscriber.next(index);\n        if (subscriber.closed) {\n            return;\n        }\n        else if (period === -1) {\n            return subscriber.complete();\n        }\n        state.index = index + 1;\n        action.schedule(state, period);\n    };\n    TimerObservable.prototype._subscribe = function (subscriber) {\n        var index = 0;\n        var _a = this, period = _a.period, dueTime = _a.dueTime, scheduler = _a.scheduler;\n        return scheduler.schedule(TimerObservable.dispatch, dueTime, {\n            index: index, period: period, subscriber: subscriber\n        });\n    };\n    return TimerObservable;\n}(Observable_1.Observable));\nexports.TimerObservable = TimerObservable;\n//# sourceMappingURL=TimerObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/TimerObservable.js\n// module id = 1868\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = require('../Observable');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\nvar OuterSubscriber_1 = require('../OuterSubscriber');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar UsingObservable = (function (_super) {\n    __extends(UsingObservable, _super);\n    function UsingObservable(resourceFactory, observableFactory) {\n        _super.call(this);\n        this.resourceFactory = resourceFactory;\n        this.observableFactory = observableFactory;\n    }\n    UsingObservable.create = function (resourceFactory, observableFactory) {\n        return new UsingObservable(resourceFactory, observableFactory);\n    };\n    UsingObservable.prototype._subscribe = function (subscriber) {\n        var _a = this, resourceFactory = _a.resourceFactory, observableFactory = _a.observableFactory;\n        var resource;\n        try {\n            resource = resourceFactory();\n            return new UsingSubscriber(subscriber, resource, observableFactory);\n        }\n        catch (err) {\n            subscriber.error(err);\n        }\n    };\n    return UsingObservable;\n}(Observable_1.Observable));\nexports.UsingObservable = UsingObservable;\nvar UsingSubscriber = (function (_super) {\n    __extends(UsingSubscriber, _super);\n    function UsingSubscriber(destination, resource, observableFactory) {\n        _super.call(this, destination);\n        this.resource = resource;\n        this.observableFactory = observableFactory;\n        destination.add(resource);\n        this.tryUse();\n    }\n    UsingSubscriber.prototype.tryUse = function () {\n        try {\n            var source = this.observableFactory.call(this, this.resource);\n            if (source) {\n                this.add(subscribeToResult_1.subscribeToResult(this, source));\n            }\n        }\n        catch (err) {\n            this._error(err);\n        }\n    };\n    return UsingSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=UsingObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/UsingObservable.js\n// module id = 1869\n// module chunks = 0","\"use strict\";\nvar BoundCallbackObservable_1 = require('./BoundCallbackObservable');\nexports.bindCallback = BoundCallbackObservable_1.BoundCallbackObservable.create;\n//# sourceMappingURL=bindCallback.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/bindCallback.js\n// module id = 1870\n// module chunks = 0","\"use strict\";\nvar BoundNodeCallbackObservable_1 = require('./BoundNodeCallbackObservable');\nexports.bindNodeCallback = BoundNodeCallbackObservable_1.BoundNodeCallbackObservable.create;\n//# sourceMappingURL=bindNodeCallback.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/bindNodeCallback.js\n// module id = 1871\n// module chunks = 0","\"use strict\";\nvar isScheduler_1 = require('../util/isScheduler');\nvar isArray_1 = require('../util/isArray');\nvar ArrayObservable_1 = require('./ArrayObservable');\nvar combineLatest_1 = require('../operator/combineLatest');\n/* tslint:enable:max-line-length */\n/**\n * Combines multiple Observables to create an Observable whose values are\n * calculated from the latest values of each of its input Observables.\n *\n * <span class=\"informal\">Whenever any input Observable emits a value, it\n * computes a formula using the latest values from all the inputs, then emits\n * the output of that formula.</span>\n *\n * <img src=\"./img/combineLatest.png\" width=\"100%\">\n *\n * `combineLatest` combines the values from all the Observables passed as\n * arguments. This is done by subscribing to each Observable, in order, and\n * collecting an array of each of the most recent values any time any of the\n * input Observables emits, then either taking that array and passing it as\n * arguments to an optional `project` function and emitting the return value of\n * that, or just emitting the array of recent values directly if there is no\n * `project` function.\n *\n * @example <caption>Dynamically calculate the Body-Mass Index from an Observable of weight and one for height</caption>\n * var weight = Rx.Observable.of(70, 72, 76, 79, 75);\n * var height = Rx.Observable.of(1.76, 1.77, 1.78);\n * var bmi = Rx.Observable.combineLatest(weight, height, (w, h) => w / (h * h));\n * bmi.subscribe(x => console.log('BMI is ' + x));\n *\n * @see {@link combineAll}\n * @see {@link merge}\n * @see {@link withLatestFrom}\n *\n * @param {Observable} observable1 An input Observable to combine with the\n * source Observable.\n * @param {Observable} observable2 An input Observable to combine with the\n * source Observable. More than one input Observables may be given as argument.\n * @param {function} [project] An optional function to project the values from\n * the combined latest values into a new value on the output Observable.\n * @param {Scheduler} [scheduler=null] The Scheduler to use for subscribing to\n * each input Observable.\n * @return {Observable} An Observable of projected values from the most recent\n * values from each input Observable, or an array of the most recent values from\n * each input Observable.\n * @static true\n * @name combineLatest\n * @owner Observable\n */\nfunction combineLatest() {\n    var observables = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        observables[_i - 0] = arguments[_i];\n    }\n    var project = null;\n    var scheduler = null;\n    if (isScheduler_1.isScheduler(observables[observables.length - 1])) {\n        scheduler = observables.pop();\n    }\n    if (typeof observables[observables.length - 1] === 'function') {\n        project = observables.pop();\n    }\n    // if the first and only other argument besides the resultSelector is an array\n    // assume it's been called with `combineLatest([obs1, obs2, obs3], project)`\n    if (observables.length === 1 && isArray_1.isArray(observables[0])) {\n        observables = observables[0];\n    }\n    return new ArrayObservable_1.ArrayObservable(observables, scheduler).lift(new combineLatest_1.CombineLatestOperator(project));\n}\nexports.combineLatest = combineLatest;\n//# sourceMappingURL=combineLatest.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/combineLatest.js\n// module id = 1872\n// module chunks = 0","\"use strict\";\nvar concat_1 = require('../operator/concat');\nexports.concat = concat_1.concatStatic;\n//# sourceMappingURL=concat.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/concat.js\n// module id = 1873\n// module chunks = 0","\"use strict\";\nvar DeferObservable_1 = require('./DeferObservable');\nexports.defer = DeferObservable_1.DeferObservable.create;\n//# sourceMappingURL=defer.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/defer.js\n// module id = 1874\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subject_1 = require('../../Subject');\nvar Subscriber_1 = require('../../Subscriber');\nvar Observable_1 = require('../../Observable');\nvar Subscription_1 = require('../../Subscription');\nvar root_1 = require('../../util/root');\nvar ReplaySubject_1 = require('../../ReplaySubject');\nvar tryCatch_1 = require('../../util/tryCatch');\nvar errorObject_1 = require('../../util/errorObject');\nvar assign_1 = require('../../util/assign');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar WebSocketSubject = (function (_super) {\n    __extends(WebSocketSubject, _super);\n    function WebSocketSubject(urlConfigOrSource, destination) {\n        if (urlConfigOrSource instanceof Observable_1.Observable) {\n            _super.call(this, destination, urlConfigOrSource);\n        }\n        else {\n            _super.call(this);\n            this.WebSocketCtor = root_1.root.WebSocket;\n            this._output = new Subject_1.Subject();\n            if (typeof urlConfigOrSource === 'string') {\n                this.url = urlConfigOrSource;\n            }\n            else {\n                // WARNING: config object could override important members here.\n                assign_1.assign(this, urlConfigOrSource);\n            }\n            if (!this.WebSocketCtor) {\n                throw new Error('no WebSocket constructor can be found');\n            }\n            this.destination = new ReplaySubject_1.ReplaySubject();\n        }\n    }\n    WebSocketSubject.prototype.resultSelector = function (e) {\n        return JSON.parse(e.data);\n    };\n    /**\n     * @param urlConfigOrSource\n     * @return {WebSocketSubject}\n     * @static true\n     * @name webSocket\n     * @owner Observable\n     */\n    WebSocketSubject.create = function (urlConfigOrSource) {\n        return new WebSocketSubject(urlConfigOrSource);\n    };\n    WebSocketSubject.prototype.lift = function (operator) {\n        var sock = new WebSocketSubject(this, this.destination);\n        sock.operator = operator;\n        return sock;\n    };\n    // TODO: factor this out to be a proper Operator/Subscriber implementation and eliminate closures\n    WebSocketSubject.prototype.multiplex = function (subMsg, unsubMsg, messageFilter) {\n        var self = this;\n        return new Observable_1.Observable(function (observer) {\n            var result = tryCatch_1.tryCatch(subMsg)();\n            if (result === errorObject_1.errorObject) {\n                observer.error(errorObject_1.errorObject.e);\n            }\n            else {\n                self.next(result);\n            }\n            var subscription = self.subscribe(function (x) {\n                var result = tryCatch_1.tryCatch(messageFilter)(x);\n                if (result === errorObject_1.errorObject) {\n                    observer.error(errorObject_1.errorObject.e);\n                }\n                else if (result) {\n                    observer.next(x);\n                }\n            }, function (err) { return observer.error(err); }, function () { return observer.complete(); });\n            return function () {\n                var result = tryCatch_1.tryCatch(unsubMsg)();\n                if (result === errorObject_1.errorObject) {\n                    observer.error(errorObject_1.errorObject.e);\n                }\n                else {\n                    self.next(result);\n                }\n                subscription.unsubscribe();\n            };\n        });\n    };\n    WebSocketSubject.prototype._connectSocket = function () {\n        var _this = this;\n        var WebSocketCtor = this.WebSocketCtor;\n        var observer = this._output;\n        var socket = null;\n        try {\n            socket = this.protocol ?\n                new WebSocketCtor(this.url, this.protocol) :\n                new WebSocketCtor(this.url);\n            this.socket = socket;\n        }\n        catch (e) {\n            observer.error(e);\n            return;\n        }\n        var subscription = new Subscription_1.Subscription(function () {\n            _this.socket = null;\n            if (socket && socket.readyState === 1) {\n                socket.close();\n            }\n        });\n        socket.onopen = function (e) {\n            var openObserver = _this.openObserver;\n            if (openObserver) {\n                openObserver.next(e);\n            }\n            var queue = _this.destination;\n            _this.destination = Subscriber_1.Subscriber.create(function (x) { return socket.readyState === 1 && socket.send(x); }, function (e) {\n                var closingObserver = _this.closingObserver;\n                if (closingObserver) {\n                    closingObserver.next(undefined);\n                }\n                if (e && e.code) {\n                    socket.close(e.code, e.reason);\n                }\n                else {\n                    observer.error(new TypeError('WebSocketSubject.error must be called with an object with an error code, ' +\n                        'and an optional reason: { code: number, reason: string }'));\n                }\n                _this.destination = new ReplaySubject_1.ReplaySubject();\n                _this.socket = null;\n            }, function () {\n                var closingObserver = _this.closingObserver;\n                if (closingObserver) {\n                    closingObserver.next(undefined);\n                }\n                socket.close();\n                _this.destination = new ReplaySubject_1.ReplaySubject();\n                _this.socket = null;\n            });\n            if (queue && queue instanceof ReplaySubject_1.ReplaySubject) {\n                subscription.add(queue.subscribe(_this.destination));\n            }\n        };\n        socket.onerror = function (e) { return observer.error(e); };\n        socket.onclose = function (e) {\n            var closeObserver = _this.closeObserver;\n            if (closeObserver) {\n                closeObserver.next(e);\n            }\n            if (e.wasClean) {\n                observer.complete();\n            }\n            else {\n                observer.error(e);\n            }\n        };\n        socket.onmessage = function (e) {\n            var result = tryCatch_1.tryCatch(_this.resultSelector)(e);\n            if (result === errorObject_1.errorObject) {\n                observer.error(errorObject_1.errorObject.e);\n            }\n            else {\n                observer.next(result);\n            }\n        };\n    };\n    WebSocketSubject.prototype._subscribe = function (subscriber) {\n        var _this = this;\n        var source = this.source;\n        if (source) {\n            return source.subscribe(subscriber);\n        }\n        if (!this.socket) {\n            this._connectSocket();\n        }\n        var subscription = new Subscription_1.Subscription();\n        subscription.add(this._output.subscribe(subscriber));\n        subscription.add(function () {\n            var socket = _this.socket;\n            if (_this._output.observers.length === 0 && socket && socket.readyState === 1) {\n                socket.close();\n                _this.socket = null;\n            }\n        });\n        return subscription;\n    };\n    WebSocketSubject.prototype.unsubscribe = function () {\n        var _a = this, source = _a.source, socket = _a.socket;\n        if (socket && socket.readyState === 1) {\n            socket.close();\n            this.socket = null;\n        }\n        _super.prototype.unsubscribe.call(this);\n        if (!source) {\n            this.destination = new ReplaySubject_1.ReplaySubject();\n        }\n    };\n    return WebSocketSubject;\n}(Subject_1.AnonymousSubject));\nexports.WebSocketSubject = WebSocketSubject;\n//# sourceMappingURL=WebSocketSubject.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/dom/WebSocketSubject.js\n// module id = 1875\n// module chunks = 0","\"use strict\";\nvar AjaxObservable_1 = require('./AjaxObservable');\nexports.ajax = AjaxObservable_1.AjaxObservable.create;\n//# sourceMappingURL=ajax.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/dom/ajax.js\n// module id = 1876\n// module chunks = 0","\"use strict\";\nvar WebSocketSubject_1 = require('./WebSocketSubject');\nexports.webSocket = WebSocketSubject_1.WebSocketSubject.create;\n//# sourceMappingURL=webSocket.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/dom/webSocket.js\n// module id = 1877\n// module chunks = 0","\"use strict\";\nvar EmptyObservable_1 = require('./EmptyObservable');\nexports.empty = EmptyObservable_1.EmptyObservable.create;\n//# sourceMappingURL=empty.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/empty.js\n// module id = 1878\n// module chunks = 0","\"use strict\";\nvar ForkJoinObservable_1 = require('./ForkJoinObservable');\nexports.forkJoin = ForkJoinObservable_1.ForkJoinObservable.create;\n//# sourceMappingURL=forkJoin.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/forkJoin.js\n// module id = 1879\n// module chunks = 0","\"use strict\";\nvar FromEventObservable_1 = require('./FromEventObservable');\nexports.fromEvent = FromEventObservable_1.FromEventObservable.create;\n//# sourceMappingURL=fromEvent.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/fromEvent.js\n// module id = 1880\n// module chunks = 0","\"use strict\";\nvar FromEventPatternObservable_1 = require('./FromEventPatternObservable');\nexports.fromEventPattern = FromEventPatternObservable_1.FromEventPatternObservable.create;\n//# sourceMappingURL=fromEventPattern.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/fromEventPattern.js\n// module id = 1881\n// module chunks = 0","\"use strict\";\nvar IfObservable_1 = require('./IfObservable');\nexports._if = IfObservable_1.IfObservable.create;\n//# sourceMappingURL=if.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/if.js\n// module id = 1882\n// module chunks = 0","\"use strict\";\nvar IntervalObservable_1 = require('./IntervalObservable');\nexports.interval = IntervalObservable_1.IntervalObservable.create;\n//# sourceMappingURL=interval.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/interval.js\n// module id = 1883\n// module chunks = 0","\"use strict\";\nvar merge_1 = require('../operator/merge');\nexports.merge = merge_1.mergeStatic;\n//# sourceMappingURL=merge.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/merge.js\n// module id = 1884\n// module chunks = 0","\"use strict\";\nvar NeverObservable_1 = require('./NeverObservable');\nexports.never = NeverObservable_1.NeverObservable.create;\n//# sourceMappingURL=never.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/never.js\n// module id = 1885\n// module chunks = 0","\"use strict\";\nvar PairsObservable_1 = require('./PairsObservable');\nexports.pairs = PairsObservable_1.PairsObservable.create;\n//# sourceMappingURL=pairs.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/pairs.js\n// module id = 1886\n// module chunks = 0","\"use strict\";\nvar RangeObservable_1 = require('./RangeObservable');\nexports.range = RangeObservable_1.RangeObservable.create;\n//# sourceMappingURL=range.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/range.js\n// module id = 1887\n// module chunks = 0","\"use strict\";\nvar ErrorObservable_1 = require('./ErrorObservable');\nexports._throw = ErrorObservable_1.ErrorObservable.create;\n//# sourceMappingURL=throw.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/throw.js\n// module id = 1888\n// module chunks = 0","\"use strict\";\nvar TimerObservable_1 = require('./TimerObservable');\nexports.timer = TimerObservable_1.TimerObservable.create;\n//# sourceMappingURL=timer.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/timer.js\n// module id = 1889\n// module chunks = 0","\"use strict\";\nvar UsingObservable_1 = require('./UsingObservable');\nexports.using = UsingObservable_1.UsingObservable.create;\n//# sourceMappingURL=using.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/using.js\n// module id = 1890\n// module chunks = 0","\"use strict\";\nvar zip_1 = require('../operator/zip');\nexports.zip = zip_1.zipStatic;\n//# sourceMappingURL=zip.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/observable/zip.js\n// module id = 1891\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar tryCatch_1 = require('../util/tryCatch');\nvar errorObject_1 = require('../util/errorObject');\nvar OuterSubscriber_1 = require('../OuterSubscriber');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\n/**\n * Ignores source values for a duration determined by another Observable, then\n * emits the most recent value from the source Observable, then repeats this\n * process.\n *\n * <span class=\"informal\">It's like {@link auditTime}, but the silencing\n * duration is determined by a second Observable.</span>\n *\n * <img src=\"./img/audit.png\" width=\"100%\">\n *\n * `audit` is similar to `throttle`, but emits the last value from the silenced\n * time window, instead of the first value. `audit` emits the most recent value\n * from the source Observable on the output Observable as soon as its internal\n * timer becomes disabled, and ignores source values while the timer is enabled.\n * Initially, the timer is disabled. As soon as the first source value arrives,\n * the timer is enabled by calling the `durationSelector` function with the\n * source value, which returns the \"duration\" Observable. When the duration\n * Observable emits a value or completes, the timer is disabled, then the most\n * recent source value is emitted on the output Observable, and this process\n * repeats for the next source value.\n *\n * @example <caption>Emit clicks at a rate of at most one click per second</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.audit(ev => Rx.Observable.interval(1000));\n * result.subscribe(x => console.log(x));\n *\n * @see {@link auditTime}\n * @see {@link debounce}\n * @see {@link delayWhen}\n * @see {@link sample}\n * @see {@link throttle}\n *\n * @param {function(value: T): Observable|Promise} durationSelector A function\n * that receives a value from the source Observable, for computing the silencing\n * duration, returned as an Observable or a Promise.\n * @return {Observable<T>} An Observable that performs rate-limiting of\n * emissions from the source Observable.\n * @method audit\n * @owner Observable\n */\nfunction audit(durationSelector) {\n    return this.lift(new AuditOperator(durationSelector));\n}\nexports.audit = audit;\nvar AuditOperator = (function () {\n    function AuditOperator(durationSelector) {\n        this.durationSelector = durationSelector;\n    }\n    AuditOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new AuditSubscriber(subscriber, this.durationSelector));\n    };\n    return AuditOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar AuditSubscriber = (function (_super) {\n    __extends(AuditSubscriber, _super);\n    function AuditSubscriber(destination, durationSelector) {\n        _super.call(this, destination);\n        this.durationSelector = durationSelector;\n        this.hasValue = false;\n    }\n    AuditSubscriber.prototype._next = function (value) {\n        this.value = value;\n        this.hasValue = true;\n        if (!this.throttled) {\n            var duration = tryCatch_1.tryCatch(this.durationSelector)(value);\n            if (duration === errorObject_1.errorObject) {\n                this.destination.error(errorObject_1.errorObject.e);\n            }\n            else {\n                this.add(this.throttled = subscribeToResult_1.subscribeToResult(this, duration));\n            }\n        }\n    };\n    AuditSubscriber.prototype.clearThrottle = function () {\n        var _a = this, value = _a.value, hasValue = _a.hasValue, throttled = _a.throttled;\n        if (throttled) {\n            this.remove(throttled);\n            this.throttled = null;\n            throttled.unsubscribe();\n        }\n        if (hasValue) {\n            this.value = null;\n            this.hasValue = false;\n            this.destination.next(value);\n        }\n    };\n    AuditSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex) {\n        this.clearThrottle();\n    };\n    AuditSubscriber.prototype.notifyComplete = function () {\n        this.clearThrottle();\n    };\n    return AuditSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=audit.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/audit.js\n// module id = 1892\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar async_1 = require('../scheduler/async');\nvar Subscriber_1 = require('../Subscriber');\n/**\n * Ignores source values for `duration` milliseconds, then emits the most recent\n * value from the source Observable, then repeats this process.\n *\n * <span class=\"informal\">When it sees a source values, it ignores that plus\n * the next ones for `duration` milliseconds, and then it emits the most recent\n * value from the source.</span>\n *\n * <img src=\"./img/auditTime.png\" width=\"100%\">\n *\n * `auditTime` is similar to `throttleTime`, but emits the last value from the\n * silenced time window, instead of the first value. `auditTime` emits the most\n * recent value from the source Observable on the output Observable as soon as\n * its internal timer becomes disabled, and ignores source values while the\n * timer is enabled. Initially, the timer is disabled. As soon as the first\n * source value arrives, the timer is enabled. After `duration` milliseconds (or\n * the time unit determined internally by the optional `scheduler`) has passed,\n * the timer is disabled, then the most recent source value is emitted on the\n * output Observable, and this process repeats for the next source value.\n * Optionally takes a {@link Scheduler} for managing timers.\n *\n * @example <caption>Emit clicks at a rate of at most one click per second</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.auditTime(1000);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link audit}\n * @see {@link debounceTime}\n * @see {@link delay}\n * @see {@link sampleTime}\n * @see {@link throttleTime}\n *\n * @param {number} duration Time to wait before emitting the most recent source\n * value, measured in milliseconds or the time unit determined internally\n * by the optional `scheduler`.\n * @param {Scheduler} [scheduler=async] The {@link Scheduler} to use for\n * managing the timers that handle the rate-limiting behavior.\n * @return {Observable<T>} An Observable that performs rate-limiting of\n * emissions from the source Observable.\n * @method auditTime\n * @owner Observable\n */\nfunction auditTime(duration, scheduler) {\n    if (scheduler === void 0) { scheduler = async_1.async; }\n    return this.lift(new AuditTimeOperator(duration, scheduler));\n}\nexports.auditTime = auditTime;\nvar AuditTimeOperator = (function () {\n    function AuditTimeOperator(duration, scheduler) {\n        this.duration = duration;\n        this.scheduler = scheduler;\n    }\n    AuditTimeOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new AuditTimeSubscriber(subscriber, this.duration, this.scheduler));\n    };\n    return AuditTimeOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar AuditTimeSubscriber = (function (_super) {\n    __extends(AuditTimeSubscriber, _super);\n    function AuditTimeSubscriber(destination, duration, scheduler) {\n        _super.call(this, destination);\n        this.duration = duration;\n        this.scheduler = scheduler;\n        this.hasValue = false;\n    }\n    AuditTimeSubscriber.prototype._next = function (value) {\n        this.value = value;\n        this.hasValue = true;\n        if (!this.throttled) {\n            this.add(this.throttled = this.scheduler.schedule(dispatchNext, this.duration, this));\n        }\n    };\n    AuditTimeSubscriber.prototype.clearThrottle = function () {\n        var _a = this, value = _a.value, hasValue = _a.hasValue, throttled = _a.throttled;\n        if (throttled) {\n            this.remove(throttled);\n            this.throttled = null;\n            throttled.unsubscribe();\n        }\n        if (hasValue) {\n            this.value = null;\n            this.hasValue = false;\n            this.destination.next(value);\n        }\n    };\n    return AuditTimeSubscriber;\n}(Subscriber_1.Subscriber));\nfunction dispatchNext(subscriber) {\n    subscriber.clearThrottle();\n}\n//# sourceMappingURL=auditTime.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/auditTime.js\n// module id = 1893\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar OuterSubscriber_1 = require('../OuterSubscriber');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\n/**\n * Buffers the source Observable values until `closingNotifier` emits.\n *\n * <span class=\"informal\">Collects values from the past as an array, and emits\n * that array only when another Observable emits.</span>\n *\n * <img src=\"./img/buffer.png\" width=\"100%\">\n *\n * Buffers the incoming Observable values until the given `closingNotifier`\n * Observable emits a value, at which point it emits the buffer on the output\n * Observable and starts a new buffer internally, awaiting the next time\n * `closingNotifier` emits.\n *\n * @example <caption>On every click, emit array of most recent interval events</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var interval = Rx.Observable.interval(1000);\n * var buffered = interval.buffer(clicks);\n * buffered.subscribe(x => console.log(x));\n *\n * @see {@link bufferCount}\n * @see {@link bufferTime}\n * @see {@link bufferToggle}\n * @see {@link bufferWhen}\n * @see {@link window}\n *\n * @param {Observable<any>} closingNotifier An Observable that signals the\n * buffer to be emitted on the output Observable.\n * @return {Observable<T[]>} An Observable of buffers, which are arrays of\n * values.\n * @method buffer\n * @owner Observable\n */\nfunction buffer(closingNotifier) {\n    return this.lift(new BufferOperator(closingNotifier));\n}\nexports.buffer = buffer;\nvar BufferOperator = (function () {\n    function BufferOperator(closingNotifier) {\n        this.closingNotifier = closingNotifier;\n    }\n    BufferOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new BufferSubscriber(subscriber, this.closingNotifier));\n    };\n    return BufferOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar BufferSubscriber = (function (_super) {\n    __extends(BufferSubscriber, _super);\n    function BufferSubscriber(destination, closingNotifier) {\n        _super.call(this, destination);\n        this.buffer = [];\n        this.add(subscribeToResult_1.subscribeToResult(this, closingNotifier));\n    }\n    BufferSubscriber.prototype._next = function (value) {\n        this.buffer.push(value);\n    };\n    BufferSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        var buffer = this.buffer;\n        this.buffer = [];\n        this.destination.next(buffer);\n    };\n    return BufferSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=buffer.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/buffer.js\n// module id = 1894\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\n/**\n * Buffers the source Observable values until the size hits the maximum\n * `bufferSize` given.\n *\n * <span class=\"informal\">Collects values from the past as an array, and emits\n * that array only when its size reaches `bufferSize`.</span>\n *\n * <img src=\"./img/bufferCount.png\" width=\"100%\">\n *\n * Buffers a number of values from the source Observable by `bufferSize` then\n * emits the buffer and clears it, and starts a new buffer each\n * `startBufferEvery` values. If `startBufferEvery` is not provided or is\n * `null`, then new buffers are started immediately at the start of the source\n * and when each buffer closes and is emitted.\n *\n * @example <caption>Emit the last two click events as an array</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var buffered = clicks.bufferCount(2);\n * buffered.subscribe(x => console.log(x));\n *\n * @example <caption>On every click, emit the last two click events as an array</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var buffered = clicks.bufferCount(2, 1);\n * buffered.subscribe(x => console.log(x));\n *\n * @see {@link buffer}\n * @see {@link bufferTime}\n * @see {@link bufferToggle}\n * @see {@link bufferWhen}\n * @see {@link pairwise}\n * @see {@link windowCount}\n *\n * @param {number} bufferSize The maximum size of the buffer emitted.\n * @param {number} [startBufferEvery] Interval at which to start a new buffer.\n * For example if `startBufferEvery` is `2`, then a new buffer will be started\n * on every other value from the source. A new buffer is started at the\n * beginning of the source by default.\n * @return {Observable<T[]>} An Observable of arrays of buffered values.\n * @method bufferCount\n * @owner Observable\n */\nfunction bufferCount(bufferSize, startBufferEvery) {\n    if (startBufferEvery === void 0) { startBufferEvery = null; }\n    return this.lift(new BufferCountOperator(bufferSize, startBufferEvery));\n}\nexports.bufferCount = bufferCount;\nvar BufferCountOperator = (function () {\n    function BufferCountOperator(bufferSize, startBufferEvery) {\n        this.bufferSize = bufferSize;\n        this.startBufferEvery = startBufferEvery;\n    }\n    BufferCountOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new BufferCountSubscriber(subscriber, this.bufferSize, this.startBufferEvery));\n    };\n    return BufferCountOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar BufferCountSubscriber = (function (_super) {\n    __extends(BufferCountSubscriber, _super);\n    function BufferCountSubscriber(destination, bufferSize, startBufferEvery) {\n        _super.call(this, destination);\n        this.bufferSize = bufferSize;\n        this.startBufferEvery = startBufferEvery;\n        this.buffers = [[]];\n        this.count = 0;\n    }\n    BufferCountSubscriber.prototype._next = function (value) {\n        var count = (this.count += 1);\n        var destination = this.destination;\n        var bufferSize = this.bufferSize;\n        var startBufferEvery = (this.startBufferEvery == null) ? bufferSize : this.startBufferEvery;\n        var buffers = this.buffers;\n        var len = buffers.length;\n        var remove = -1;\n        if (count % startBufferEvery === 0) {\n            buffers.push([]);\n        }\n        for (var i = 0; i < len; i++) {\n            var buffer = buffers[i];\n            buffer.push(value);\n            if (buffer.length === bufferSize) {\n                remove = i;\n                destination.next(buffer);\n            }\n        }\n        if (remove !== -1) {\n            buffers.splice(remove, 1);\n        }\n    };\n    BufferCountSubscriber.prototype._complete = function () {\n        var destination = this.destination;\n        var buffers = this.buffers;\n        while (buffers.length > 0) {\n            var buffer = buffers.shift();\n            if (buffer.length > 0) {\n                destination.next(buffer);\n            }\n        }\n        _super.prototype._complete.call(this);\n    };\n    return BufferCountSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=bufferCount.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/bufferCount.js\n// module id = 1895\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar async_1 = require('../scheduler/async');\nvar Subscriber_1 = require('../Subscriber');\nvar isScheduler_1 = require('../util/isScheduler');\n/**\n * Buffers the source Observable values for a specific time period.\n *\n * <span class=\"informal\">Collects values from the past as an array, and emits\n * those arrays periodically in time.</span>\n *\n * <img src=\"./img/bufferTime.png\" width=\"100%\">\n *\n * Buffers values from the source for a specific time duration `bufferTimeSpan`.\n * Unless the optional argument `bufferCreationInterval` is given, it emits and\n * resets the buffer every `bufferTimeSpan` milliseconds. If\n * `bufferCreationInterval` is given, this operator opens the buffer every\n * `bufferCreationInterval` milliseconds and closes (emits and resets) the\n * buffer every `bufferTimeSpan` milliseconds. When the optional argument\n * `maxBufferSize` is specified, the buffer will be closed either after\n * `bufferTimeSpan` milliseconds or when it contains `maxBufferSize` elements.\n *\n * @example <caption>Every second, emit an array of the recent click events</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var buffered = clicks.bufferTime(1000);\n * buffered.subscribe(x => console.log(x));\n *\n * @example <caption>Every 5 seconds, emit the click events from the next 2 seconds</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var buffered = clicks.bufferTime(2000, 5000);\n * buffered.subscribe(x => console.log(x));\n *\n * @see {@link buffer}\n * @see {@link bufferCount}\n * @see {@link bufferToggle}\n * @see {@link bufferWhen}\n * @see {@link windowTime}\n *\n * @param {number} bufferTimeSpan The amount of time to fill each buffer array.\n * @param {number} [bufferCreationInterval] The interval at which to start new\n * buffers.\n * @param {number} [maxBufferSize] The maximum buffer size.\n * @param {Scheduler} [scheduler=async] The scheduler on which to schedule the\n * intervals that determine buffer boundaries.\n * @return {Observable<T[]>} An observable of arrays of buffered values.\n * @method bufferTime\n * @owner Observable\n */\nfunction bufferTime(bufferTimeSpan) {\n    var length = arguments.length;\n    var scheduler = async_1.async;\n    if (isScheduler_1.isScheduler(arguments[arguments.length - 1])) {\n        scheduler = arguments[arguments.length - 1];\n        length--;\n    }\n    var bufferCreationInterval = null;\n    if (length >= 2) {\n        bufferCreationInterval = arguments[1];\n    }\n    var maxBufferSize = Number.POSITIVE_INFINITY;\n    if (length >= 3) {\n        maxBufferSize = arguments[2];\n    }\n    return this.lift(new BufferTimeOperator(bufferTimeSpan, bufferCreationInterval, maxBufferSize, scheduler));\n}\nexports.bufferTime = bufferTime;\nvar BufferTimeOperator = (function () {\n    function BufferTimeOperator(bufferTimeSpan, bufferCreationInterval, maxBufferSize, scheduler) {\n        this.bufferTimeSpan = bufferTimeSpan;\n        this.bufferCreationInterval = bufferCreationInterval;\n        this.maxBufferSize = maxBufferSize;\n        this.scheduler = scheduler;\n    }\n    BufferTimeOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new BufferTimeSubscriber(subscriber, this.bufferTimeSpan, this.bufferCreationInterval, this.maxBufferSize, this.scheduler));\n    };\n    return BufferTimeOperator;\n}());\nvar Context = (function () {\n    function Context() {\n        this.buffer = [];\n    }\n    return Context;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar BufferTimeSubscriber = (function (_super) {\n    __extends(BufferTimeSubscriber, _super);\n    function BufferTimeSubscriber(destination, bufferTimeSpan, bufferCreationInterval, maxBufferSize, scheduler) {\n        _super.call(this, destination);\n        this.bufferTimeSpan = bufferTimeSpan;\n        this.bufferCreationInterval = bufferCreationInterval;\n        this.maxBufferSize = maxBufferSize;\n        this.scheduler = scheduler;\n        this.contexts = [];\n        var context = this.openContext();\n        this.timespanOnly = bufferCreationInterval == null || bufferCreationInterval < 0;\n        if (this.timespanOnly) {\n            var timeSpanOnlyState = { subscriber: this, context: context, bufferTimeSpan: bufferTimeSpan };\n            this.add(context.closeAction = scheduler.schedule(dispatchBufferTimeSpanOnly, bufferTimeSpan, timeSpanOnlyState));\n        }\n        else {\n            var closeState = { subscriber: this, context: context };\n            var creationState = { bufferTimeSpan: bufferTimeSpan, bufferCreationInterval: bufferCreationInterval, subscriber: this, scheduler: scheduler };\n            this.add(context.closeAction = scheduler.schedule(dispatchBufferClose, bufferTimeSpan, closeState));\n            this.add(scheduler.schedule(dispatchBufferCreation, bufferCreationInterval, creationState));\n        }\n    }\n    BufferTimeSubscriber.prototype._next = function (value) {\n        var contexts = this.contexts;\n        var len = contexts.length;\n        var filledBufferContext;\n        for (var i = 0; i < len; i++) {\n            var context = contexts[i];\n            var buffer = context.buffer;\n            buffer.push(value);\n            if (buffer.length == this.maxBufferSize) {\n                filledBufferContext = context;\n            }\n        }\n        if (filledBufferContext) {\n            this.onBufferFull(filledBufferContext);\n        }\n    };\n    BufferTimeSubscriber.prototype._error = function (err) {\n        this.contexts.length = 0;\n        _super.prototype._error.call(this, err);\n    };\n    BufferTimeSubscriber.prototype._complete = function () {\n        var _a = this, contexts = _a.contexts, destination = _a.destination;\n        while (contexts.length > 0) {\n            var context = contexts.shift();\n            destination.next(context.buffer);\n        }\n        _super.prototype._complete.call(this);\n    };\n    BufferTimeSubscriber.prototype._unsubscribe = function () {\n        this.contexts = null;\n    };\n    BufferTimeSubscriber.prototype.onBufferFull = function (context) {\n        this.closeContext(context);\n        var closeAction = context.closeAction;\n        closeAction.unsubscribe();\n        this.remove(closeAction);\n        if (this.timespanOnly) {\n            context = this.openContext();\n            var bufferTimeSpan = this.bufferTimeSpan;\n            var timeSpanOnlyState = { subscriber: this, context: context, bufferTimeSpan: bufferTimeSpan };\n            this.add(context.closeAction = this.scheduler.schedule(dispatchBufferTimeSpanOnly, bufferTimeSpan, timeSpanOnlyState));\n        }\n    };\n    BufferTimeSubscriber.prototype.openContext = function () {\n        var context = new Context();\n        this.contexts.push(context);\n        return context;\n    };\n    BufferTimeSubscriber.prototype.closeContext = function (context) {\n        this.destination.next(context.buffer);\n        var contexts = this.contexts;\n        var spliceIndex = contexts ? contexts.indexOf(context) : -1;\n        if (spliceIndex >= 0) {\n            contexts.splice(contexts.indexOf(context), 1);\n        }\n    };\n    return BufferTimeSubscriber;\n}(Subscriber_1.Subscriber));\nfunction dispatchBufferTimeSpanOnly(state) {\n    var subscriber = state.subscriber;\n    var prevContext = state.context;\n    if (prevContext) {\n        subscriber.closeContext(prevContext);\n    }\n    if (!subscriber.closed) {\n        state.context = subscriber.openContext();\n        state.context.closeAction = this.schedule(state, state.bufferTimeSpan);\n    }\n}\nfunction dispatchBufferCreation(state) {\n    var bufferCreationInterval = state.bufferCreationInterval, bufferTimeSpan = state.bufferTimeSpan, subscriber = state.subscriber, scheduler = state.scheduler;\n    var context = subscriber.openContext();\n    var action = this;\n    if (!subscriber.closed) {\n        subscriber.add(context.closeAction = scheduler.schedule(dispatchBufferClose, bufferTimeSpan, { subscriber: subscriber, context: context }));\n        action.schedule(state, bufferCreationInterval);\n    }\n}\nfunction dispatchBufferClose(arg) {\n    var subscriber = arg.subscriber, context = arg.context;\n    subscriber.closeContext(context);\n}\n//# sourceMappingURL=bufferTime.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/bufferTime.js\n// module id = 1896\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscription_1 = require('../Subscription');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\nvar OuterSubscriber_1 = require('../OuterSubscriber');\n/**\n * Buffers the source Observable values starting from an emission from\n * `openings` and ending when the output of `closingSelector` emits.\n *\n * <span class=\"informal\">Collects values from the past as an array. Starts\n * collecting only when `opening` emits, and calls the `closingSelector`\n * function to get an Observable that tells when to close the buffer.</span>\n *\n * <img src=\"./img/bufferToggle.png\" width=\"100%\">\n *\n * Buffers values from the source by opening the buffer via signals from an\n * Observable provided to `openings`, and closing and sending the buffers when\n * a Subscribable or Promise returned by the `closingSelector` function emits.\n *\n * @example <caption>Every other second, emit the click events from the next 500ms</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var openings = Rx.Observable.interval(1000);\n * var buffered = clicks.bufferToggle(openings, i =>\n *   i % 2 ? Rx.Observable.interval(500) : Rx.Observable.empty()\n * );\n * buffered.subscribe(x => console.log(x));\n *\n * @see {@link buffer}\n * @see {@link bufferCount}\n * @see {@link bufferTime}\n * @see {@link bufferWhen}\n * @see {@link windowToggle}\n *\n * @param {SubscribableOrPromise<O>} openings A Subscribable or Promise of notifications to start new\n * buffers.\n * @param {function(value: O): SubscribableOrPromise} closingSelector A function that takes\n * the value emitted by the `openings` observable and returns a Subscribable or Promise,\n * which, when it emits, signals that the associated buffer should be emitted\n * and cleared.\n * @return {Observable<T[]>} An observable of arrays of buffered values.\n * @method bufferToggle\n * @owner Observable\n */\nfunction bufferToggle(openings, closingSelector) {\n    return this.lift(new BufferToggleOperator(openings, closingSelector));\n}\nexports.bufferToggle = bufferToggle;\nvar BufferToggleOperator = (function () {\n    function BufferToggleOperator(openings, closingSelector) {\n        this.openings = openings;\n        this.closingSelector = closingSelector;\n    }\n    BufferToggleOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new BufferToggleSubscriber(subscriber, this.openings, this.closingSelector));\n    };\n    return BufferToggleOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar BufferToggleSubscriber = (function (_super) {\n    __extends(BufferToggleSubscriber, _super);\n    function BufferToggleSubscriber(destination, openings, closingSelector) {\n        _super.call(this, destination);\n        this.openings = openings;\n        this.closingSelector = closingSelector;\n        this.contexts = [];\n        this.add(subscribeToResult_1.subscribeToResult(this, openings));\n    }\n    BufferToggleSubscriber.prototype._next = function (value) {\n        var contexts = this.contexts;\n        var len = contexts.length;\n        for (var i = 0; i < len; i++) {\n            contexts[i].buffer.push(value);\n        }\n    };\n    BufferToggleSubscriber.prototype._error = function (err) {\n        var contexts = this.contexts;\n        while (contexts.length > 0) {\n            var context = contexts.shift();\n            context.subscription.unsubscribe();\n            context.buffer = null;\n            context.subscription = null;\n        }\n        this.contexts = null;\n        _super.prototype._error.call(this, err);\n    };\n    BufferToggleSubscriber.prototype._complete = function () {\n        var contexts = this.contexts;\n        while (contexts.length > 0) {\n            var context = contexts.shift();\n            this.destination.next(context.buffer);\n            context.subscription.unsubscribe();\n            context.buffer = null;\n            context.subscription = null;\n        }\n        this.contexts = null;\n        _super.prototype._complete.call(this);\n    };\n    BufferToggleSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        outerValue ? this.closeBuffer(outerValue) : this.openBuffer(innerValue);\n    };\n    BufferToggleSubscriber.prototype.notifyComplete = function (innerSub) {\n        this.closeBuffer(innerSub.context);\n    };\n    BufferToggleSubscriber.prototype.openBuffer = function (value) {\n        try {\n            var closingSelector = this.closingSelector;\n            var closingNotifier = closingSelector.call(this, value);\n            if (closingNotifier) {\n                this.trySubscribe(closingNotifier);\n            }\n        }\n        catch (err) {\n            this._error(err);\n        }\n    };\n    BufferToggleSubscriber.prototype.closeBuffer = function (context) {\n        var contexts = this.contexts;\n        if (contexts && context) {\n            var buffer = context.buffer, subscription = context.subscription;\n            this.destination.next(buffer);\n            contexts.splice(contexts.indexOf(context), 1);\n            this.remove(subscription);\n            subscription.unsubscribe();\n        }\n    };\n    BufferToggleSubscriber.prototype.trySubscribe = function (closingNotifier) {\n        var contexts = this.contexts;\n        var buffer = [];\n        var subscription = new Subscription_1.Subscription();\n        var context = { buffer: buffer, subscription: subscription };\n        contexts.push(context);\n        var innerSubscription = subscribeToResult_1.subscribeToResult(this, closingNotifier, context);\n        if (!innerSubscription || innerSubscription.closed) {\n            this.closeBuffer(context);\n        }\n        else {\n            innerSubscription.context = context;\n            this.add(innerSubscription);\n            subscription.add(innerSubscription);\n        }\n    };\n    return BufferToggleSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=bufferToggle.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/bufferToggle.js\n// module id = 1897\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscription_1 = require('../Subscription');\nvar tryCatch_1 = require('../util/tryCatch');\nvar errorObject_1 = require('../util/errorObject');\nvar OuterSubscriber_1 = require('../OuterSubscriber');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\n/**\n * Buffers the source Observable values, using a factory function of closing\n * Observables to determine when to close, emit, and reset the buffer.\n *\n * <span class=\"informal\">Collects values from the past as an array. When it\n * starts collecting values, it calls a function that returns an Observable that\n * tells when to close the buffer and restart collecting.</span>\n *\n * <img src=\"./img/bufferWhen.png\" width=\"100%\">\n *\n * Opens a buffer immediately, then closes the buffer when the observable\n * returned by calling `closingSelector` function emits a value. When it closes\n * the buffer, it immediately opens a new buffer and repeats the process.\n *\n * @example <caption>Emit an array of the last clicks every [1-5] random seconds</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var buffered = clicks.bufferWhen(() =>\n *   Rx.Observable.interval(1000 + Math.random() * 4000)\n * );\n * buffered.subscribe(x => console.log(x));\n *\n * @see {@link buffer}\n * @see {@link bufferCount}\n * @see {@link bufferTime}\n * @see {@link bufferToggle}\n * @see {@link windowWhen}\n *\n * @param {function(): Observable} closingSelector A function that takes no\n * arguments and returns an Observable that signals buffer closure.\n * @return {Observable<T[]>} An observable of arrays of buffered values.\n * @method bufferWhen\n * @owner Observable\n */\nfunction bufferWhen(closingSelector) {\n    return this.lift(new BufferWhenOperator(closingSelector));\n}\nexports.bufferWhen = bufferWhen;\nvar BufferWhenOperator = (function () {\n    function BufferWhenOperator(closingSelector) {\n        this.closingSelector = closingSelector;\n    }\n    BufferWhenOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new BufferWhenSubscriber(subscriber, this.closingSelector));\n    };\n    return BufferWhenOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar BufferWhenSubscriber = (function (_super) {\n    __extends(BufferWhenSubscriber, _super);\n    function BufferWhenSubscriber(destination, closingSelector) {\n        _super.call(this, destination);\n        this.closingSelector = closingSelector;\n        this.subscribing = false;\n        this.openBuffer();\n    }\n    BufferWhenSubscriber.prototype._next = function (value) {\n        this.buffer.push(value);\n    };\n    BufferWhenSubscriber.prototype._complete = function () {\n        var buffer = this.buffer;\n        if (buffer) {\n            this.destination.next(buffer);\n        }\n        _super.prototype._complete.call(this);\n    };\n    BufferWhenSubscriber.prototype._unsubscribe = function () {\n        this.buffer = null;\n        this.subscribing = false;\n    };\n    BufferWhenSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        this.openBuffer();\n    };\n    BufferWhenSubscriber.prototype.notifyComplete = function () {\n        if (this.subscribing) {\n            this.complete();\n        }\n        else {\n            this.openBuffer();\n        }\n    };\n    BufferWhenSubscriber.prototype.openBuffer = function () {\n        var closingSubscription = this.closingSubscription;\n        if (closingSubscription) {\n            this.remove(closingSubscription);\n            closingSubscription.unsubscribe();\n        }\n        var buffer = this.buffer;\n        if (this.buffer) {\n            this.destination.next(buffer);\n        }\n        this.buffer = [];\n        var closingNotifier = tryCatch_1.tryCatch(this.closingSelector)();\n        if (closingNotifier === errorObject_1.errorObject) {\n            this.error(errorObject_1.errorObject.e);\n        }\n        else {\n            closingSubscription = new Subscription_1.Subscription();\n            this.closingSubscription = closingSubscription;\n            this.add(closingSubscription);\n            this.subscribing = true;\n            closingSubscription.add(subscribeToResult_1.subscribeToResult(this, closingNotifier));\n            this.subscribing = false;\n        }\n    };\n    return BufferWhenSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=bufferWhen.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/bufferWhen.js\n// module id = 1898\n// module chunks = 0","\"use strict\";\nvar Observable_1 = require('../Observable');\nvar ReplaySubject_1 = require('../ReplaySubject');\n/**\n * @param bufferSize\n * @param windowTime\n * @param scheduler\n * @return {Observable<any>}\n * @method cache\n * @owner Observable\n */\nfunction cache(bufferSize, windowTime, scheduler) {\n    if (bufferSize === void 0) { bufferSize = Number.POSITIVE_INFINITY; }\n    if (windowTime === void 0) { windowTime = Number.POSITIVE_INFINITY; }\n    var subject;\n    var source = this;\n    var refs = 0;\n    var outerSub;\n    var getSubject = function () {\n        subject = new ReplaySubject_1.ReplaySubject(bufferSize, windowTime, scheduler);\n        return subject;\n    };\n    return new Observable_1.Observable(function (observer) {\n        if (!subject) {\n            subject = getSubject();\n            outerSub = source.subscribe(function (value) { return subject.next(value); }, function (err) {\n                var s = subject;\n                subject = null;\n                s.error(err);\n            }, function () { return subject.complete(); });\n        }\n        refs++;\n        if (!subject) {\n            subject = getSubject();\n        }\n        var innerSub = subject.subscribe(observer);\n        return function () {\n            refs--;\n            if (innerSub) {\n                innerSub.unsubscribe();\n            }\n            if (refs === 0) {\n                outerSub.unsubscribe();\n            }\n        };\n    });\n}\nexports.cache = cache;\n//# sourceMappingURL=cache.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/cache.js\n// module id = 1899\n// module chunks = 0","\"use strict\";\nvar combineLatest_1 = require('./combineLatest');\n/**\n * Converts a higher-order Observable into a first-order Observable by waiting\n * for the outer Observable to complete, then applying {@link combineLatest}.\n *\n * <span class=\"informal\">Flattens an Observable-of-Observables by applying\n * {@link combineLatest} when the Observable-of-Observables completes.</span>\n *\n * <img src=\"./img/combineAll.png\" width=\"100%\">\n *\n * Takes an Observable of Observables, and collects all Observables from it.\n * Once the outer Observable completes, it subscribes to all collected\n * Observables and combines their values using the {@link combineLatest}\n * strategy, such that:\n * - Every time an inner Observable emits, the output Observable emits.\n * - When the returned observable emits, it emits all of the latest values by:\n *   - If a `project` function is provided, it is called with each recent value\n *     from each inner Observable in whatever order they arrived, and the result\n *     of the `project` function is what is emitted by the output Observable.\n *   - If there is no `project` function, an array of all of the most recent\n *     values is emitted by the output Observable.\n *\n * @example <caption>Map two click events to a finite interval Observable, then apply combineAll</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var higherOrder = clicks.map(ev =>\n *   Rx.Observable.interval(Math.random()*2000).take(3)\n * ).take(2);\n * var result = higherOrder.combineAll();\n * result.subscribe(x => console.log(x));\n *\n * @see {@link combineLatest}\n * @see {@link mergeAll}\n *\n * @param {function} [project] An optional function to map the most recent\n * values from each inner Observable into a new result. Takes each of the most\n * recent values from each collected inner Observable as arguments, in order.\n * @return {Observable} An Observable of projected results or arrays of recent\n * values.\n * @method combineAll\n * @owner Observable\n */\nfunction combineAll(project) {\n    return this.lift(new combineLatest_1.CombineLatestOperator(project));\n}\nexports.combineAll = combineAll;\n//# sourceMappingURL=combineAll.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/combineAll.js\n// module id = 1900\n// module chunks = 0","\"use strict\";\nvar mergeMapTo_1 = require('./mergeMapTo');\n/**\n * Projects each source value to the same Observable which is merged multiple\n * times in a serialized fashion on the output Observable.\n *\n * <span class=\"informal\">It's like {@link concatMap}, but maps each value\n * always to the same inner Observable.</span>\n *\n * <img src=\"./img/concatMapTo.png\" width=\"100%\">\n *\n * Maps each source value to the given Observable `innerObservable` regardless\n * of the source value, and then flattens those resulting Observables into one\n * single Observable, which is the output Observable. Each new `innerObservable`\n * instance emitted on the output Observable is concatenated with the previous\n * `innerObservable` instance.\n *\n * __Warning:__ if source values arrive endlessly and faster than their\n * corresponding inner Observables can complete, it will result in memory issues\n * as inner Observables amass in an unbounded buffer waiting for their turn to\n * be subscribed to.\n *\n * Note: `concatMapTo` is equivalent to `mergeMapTo` with concurrency parameter\n * set to `1`.\n *\n * @example <caption>For each click event, tick every second from 0 to 3, with no concurrency</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.concatMapTo(Rx.Observable.interval(1000).take(4));\n * result.subscribe(x => console.log(x));\n *\n * @see {@link concat}\n * @see {@link concatAll}\n * @see {@link concatMap}\n * @see {@link mergeMapTo}\n * @see {@link switchMapTo}\n *\n * @param {Observable} innerObservable An Observable to replace each value from\n * the source Observable.\n * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector]\n * A function to produce the value on the output Observable based on the values\n * and the indices of the source (outer) emission and the inner Observable\n * emission. The arguments passed to this function are:\n * - `outerValue`: the value that came from the source\n * - `innerValue`: the value that came from the projected Observable\n * - `outerIndex`: the \"index\" of the value that came from the source\n * - `innerIndex`: the \"index\" of the value from the projected Observable\n * @return {Observable} An observable of values merged together by joining the\n * passed observable with itself, one after the other, for each value emitted\n * from the source.\n * @method concatMapTo\n * @owner Observable\n */\nfunction concatMapTo(innerObservable, resultSelector) {\n    return this.lift(new mergeMapTo_1.MergeMapToOperator(innerObservable, resultSelector, 1));\n}\nexports.concatMapTo = concatMapTo;\n//# sourceMappingURL=concatMapTo.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/concatMapTo.js\n// module id = 1901\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\n/**\n * Counts the number of emissions on the source and emits that number when the\n * source completes.\n *\n * <span class=\"informal\">Tells how many values were emitted, when the source\n * completes.</span>\n *\n * <img src=\"./img/count.png\" width=\"100%\">\n *\n * `count` transforms an Observable that emits values into an Observable that\n * emits a single value that represents the number of values emitted by the\n * source Observable. If the source Observable terminates with an error, `count`\n * will pass this error notification along without emitting an value first. If\n * the source Observable does not terminate at all, `count` will neither emit\n * a value nor terminate. This operator takes an optional `predicate` function\n * as argument, in which case the output emission will represent the number of\n * source values that matched `true` with the `predicate`.\n *\n * @example <caption>Counts how many seconds have passed before the first click happened</caption>\n * var seconds = Rx.Observable.interval(1000);\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var secondsBeforeClick = seconds.takeUntil(clicks);\n * var result = secondsBeforeClick.count();\n * result.subscribe(x => console.log(x));\n *\n * @example <caption>Counts how many odd numbers are there between 1 and 7</caption>\n * var numbers = Rx.Observable.range(1, 7);\n * var result = numbers.count(i => i % 2 === 1);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link max}\n * @see {@link min}\n * @see {@link reduce}\n *\n * @param {function(value: T, i: number, source: Observable<T>): boolean} [predicate] A\n * boolean function to select what values are to be counted. It is provided with\n * arguments of:\n * - `value`: the value from the source Observable.\n * - `index`: the (zero-based) \"index\" of the value from the source Observable.\n * - `source`: the source Observable instance itself.\n * @return {Observable} An Observable of one number that represents the count as\n * described above.\n * @method count\n * @owner Observable\n */\nfunction count(predicate) {\n    return this.lift(new CountOperator(predicate, this));\n}\nexports.count = count;\nvar CountOperator = (function () {\n    function CountOperator(predicate, source) {\n        this.predicate = predicate;\n        this.source = source;\n    }\n    CountOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new CountSubscriber(subscriber, this.predicate, this.source));\n    };\n    return CountOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar CountSubscriber = (function (_super) {\n    __extends(CountSubscriber, _super);\n    function CountSubscriber(destination, predicate, source) {\n        _super.call(this, destination);\n        this.predicate = predicate;\n        this.source = source;\n        this.count = 0;\n        this.index = 0;\n    }\n    CountSubscriber.prototype._next = function (value) {\n        if (this.predicate) {\n            this._tryPredicate(value);\n        }\n        else {\n            this.count++;\n        }\n    };\n    CountSubscriber.prototype._tryPredicate = function (value) {\n        var result;\n        try {\n            result = this.predicate(value, this.index++, this.source);\n        }\n        catch (err) {\n            this.destination.error(err);\n            return;\n        }\n        if (result) {\n            this.count++;\n        }\n    };\n    CountSubscriber.prototype._complete = function () {\n        this.destination.next(this.count);\n        this.destination.complete();\n    };\n    return CountSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=count.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/count.js\n// module id = 1902\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar OuterSubscriber_1 = require('../OuterSubscriber');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\n/**\n * Emits a value from the source Observable only after a particular time span\n * determined by another Observable has passed without another source emission.\n *\n * <span class=\"informal\">It's like {@link debounceTime}, but the time span of\n * emission silence is determined by a second Observable.</span>\n *\n * <img src=\"./img/debounce.png\" width=\"100%\">\n *\n * `debounce` delays values emitted by the source Observable, but drops previous\n * pending delayed emissions if a new value arrives on the source Observable.\n * This operator keeps track of the most recent value from the source\n * Observable, and spawns a duration Observable by calling the\n * `durationSelector` function. The value is emitted only when the duration\n * Observable emits a value or completes, and if no other value was emitted on\n * the source Observable since the duration Observable was spawned. If a new\n * value appears before the duration Observable emits, the previous value will\n * be dropped and will not be emitted on the output Observable.\n *\n * Like {@link debounceTime}, this is a rate-limiting operator, and also a\n * delay-like operator since output emissions do not necessarily occur at the\n * same time as they did on the source Observable.\n *\n * @example <caption>Emit the most recent click after a burst of clicks</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.debounce(() => Rx.Observable.interval(1000));\n * result.subscribe(x => console.log(x));\n *\n * @see {@link audit}\n * @see {@link debounceTime}\n * @see {@link delayWhen}\n * @see {@link throttle}\n *\n * @param {function(value: T): Observable|Promise} durationSelector A function\n * that receives a value from the source Observable, for computing the timeout\n * duration for each source value, returned as an Observable or a Promise.\n * @return {Observable} An Observable that delays the emissions of the source\n * Observable by the specified duration Observable returned by\n * `durationSelector`, and may drop some values if they occur too frequently.\n * @method debounce\n * @owner Observable\n */\nfunction debounce(durationSelector) {\n    return this.lift(new DebounceOperator(durationSelector));\n}\nexports.debounce = debounce;\nvar DebounceOperator = (function () {\n    function DebounceOperator(durationSelector) {\n        this.durationSelector = durationSelector;\n    }\n    DebounceOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new DebounceSubscriber(subscriber, this.durationSelector));\n    };\n    return DebounceOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar DebounceSubscriber = (function (_super) {\n    __extends(DebounceSubscriber, _super);\n    function DebounceSubscriber(destination, durationSelector) {\n        _super.call(this, destination);\n        this.durationSelector = durationSelector;\n        this.hasValue = false;\n        this.durationSubscription = null;\n    }\n    DebounceSubscriber.prototype._next = function (value) {\n        try {\n            var result = this.durationSelector.call(this, value);\n            if (result) {\n                this._tryNext(value, result);\n            }\n        }\n        catch (err) {\n            this.destination.error(err);\n        }\n    };\n    DebounceSubscriber.prototype._complete = function () {\n        this.emitValue();\n        this.destination.complete();\n    };\n    DebounceSubscriber.prototype._tryNext = function (value, duration) {\n        var subscription = this.durationSubscription;\n        this.value = value;\n        this.hasValue = true;\n        if (subscription) {\n            subscription.unsubscribe();\n            this.remove(subscription);\n        }\n        subscription = subscribeToResult_1.subscribeToResult(this, duration);\n        if (!subscription.closed) {\n            this.add(this.durationSubscription = subscription);\n        }\n    };\n    DebounceSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        this.emitValue();\n    };\n    DebounceSubscriber.prototype.notifyComplete = function () {\n        this.emitValue();\n    };\n    DebounceSubscriber.prototype.emitValue = function () {\n        if (this.hasValue) {\n            var value = this.value;\n            var subscription = this.durationSubscription;\n            if (subscription) {\n                this.durationSubscription = null;\n                subscription.unsubscribe();\n                this.remove(subscription);\n            }\n            this.value = null;\n            this.hasValue = false;\n            _super.prototype._next.call(this, value);\n        }\n    };\n    return DebounceSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=debounce.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/debounce.js\n// module id = 1903\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\nvar async_1 = require('../scheduler/async');\n/**\n * Emits a value from the source Observable only after a particular time span\n * has passed without another source emission.\n *\n * <span class=\"informal\">It's like {@link delay}, but passes only the most\n * recent value from each burst of emissions.</span>\n *\n * <img src=\"./img/debounceTime.png\" width=\"100%\">\n *\n * `debounceTime` delays values emitted by the source Observable, but drops\n * previous pending delayed emissions if a new value arrives on the source\n * Observable. This operator keeps track of the most recent value from the\n * source Observable, and emits that only when `dueTime` enough time has passed\n * without any other value appearing on the source Observable. If a new value\n * appears before `dueTime` silence occurs, the previous value will be dropped\n * and will not be emitted on the output Observable.\n *\n * This is a rate-limiting operator, because it is impossible for more than one\n * value to be emitted in any time window of duration `dueTime`, but it is also\n * a delay-like operator since output emissions do not occur at the same time as\n * they did on the source Observable. Optionally takes a {@link Scheduler} for\n * managing timers.\n *\n * @example <caption>Emit the most recent click after a burst of clicks</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.debounceTime(1000);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link auditTime}\n * @see {@link debounce}\n * @see {@link delay}\n * @see {@link sampleTime}\n * @see {@link throttleTime}\n *\n * @param {number} dueTime The timeout duration in milliseconds (or the time\n * unit determined internally by the optional `scheduler`) for the window of\n * time required to wait for emission silence before emitting the most recent\n * source value.\n * @param {Scheduler} [scheduler=async] The {@link Scheduler} to use for\n * managing the timers that handle the timeout for each value.\n * @return {Observable} An Observable that delays the emissions of the source\n * Observable by the specified `dueTime`, and may drop some values if they occur\n * too frequently.\n * @method debounceTime\n * @owner Observable\n */\nfunction debounceTime(dueTime, scheduler) {\n    if (scheduler === void 0) { scheduler = async_1.async; }\n    return this.lift(new DebounceTimeOperator(dueTime, scheduler));\n}\nexports.debounceTime = debounceTime;\nvar DebounceTimeOperator = (function () {\n    function DebounceTimeOperator(dueTime, scheduler) {\n        this.dueTime = dueTime;\n        this.scheduler = scheduler;\n    }\n    DebounceTimeOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new DebounceTimeSubscriber(subscriber, this.dueTime, this.scheduler));\n    };\n    return DebounceTimeOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar DebounceTimeSubscriber = (function (_super) {\n    __extends(DebounceTimeSubscriber, _super);\n    function DebounceTimeSubscriber(destination, dueTime, scheduler) {\n        _super.call(this, destination);\n        this.dueTime = dueTime;\n        this.scheduler = scheduler;\n        this.debouncedSubscription = null;\n        this.lastValue = null;\n        this.hasValue = false;\n    }\n    DebounceTimeSubscriber.prototype._next = function (value) {\n        this.clearDebounce();\n        this.lastValue = value;\n        this.hasValue = true;\n        this.add(this.debouncedSubscription = this.scheduler.schedule(dispatchNext, this.dueTime, this));\n    };\n    DebounceTimeSubscriber.prototype._complete = function () {\n        this.debouncedNext();\n        this.destination.complete();\n    };\n    DebounceTimeSubscriber.prototype.debouncedNext = function () {\n        this.clearDebounce();\n        if (this.hasValue) {\n            this.destination.next(this.lastValue);\n            this.lastValue = null;\n            this.hasValue = false;\n        }\n    };\n    DebounceTimeSubscriber.prototype.clearDebounce = function () {\n        var debouncedSubscription = this.debouncedSubscription;\n        if (debouncedSubscription !== null) {\n            this.remove(debouncedSubscription);\n            debouncedSubscription.unsubscribe();\n            this.debouncedSubscription = null;\n        }\n    };\n    return DebounceTimeSubscriber;\n}(Subscriber_1.Subscriber));\nfunction dispatchNext(subscriber) {\n    subscriber.debouncedNext();\n}\n//# sourceMappingURL=debounceTime.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/debounceTime.js\n// module id = 1904\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\n/**\n * Emits a given value if the source Observable completes without emitting any\n * `next` value, otherwise mirrors the source Observable.\n *\n * <span class=\"informal\">If the source Observable turns out to be empty, then\n * this operator will emit a default value.</span>\n *\n * <img src=\"./img/defaultIfEmpty.png\" width=\"100%\">\n *\n * `defaultIfEmpty` emits the values emitted by the source Observable or a\n * specified default value if the source Observable is empty (completes without\n * having emitted any `next` value).\n *\n * @example <caption>If no clicks happen in 5 seconds, then emit \"no clicks\"</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var clicksBeforeFive = clicks.takeUntil(Rx.Observable.interval(5000));\n * var result = clicksBeforeFive.defaultIfEmpty('no clicks');\n * result.subscribe(x => console.log(x));\n *\n * @see {@link empty}\n * @see {@link last}\n *\n * @param {any} [defaultValue=null] The default value used if the source\n * Observable is empty.\n * @return {Observable} An Observable that emits either the specified\n * `defaultValue` if the source Observable emits no items, or the values emitted\n * by the source Observable.\n * @method defaultIfEmpty\n * @owner Observable\n */\nfunction defaultIfEmpty(defaultValue) {\n    if (defaultValue === void 0) { defaultValue = null; }\n    return this.lift(new DefaultIfEmptyOperator(defaultValue));\n}\nexports.defaultIfEmpty = defaultIfEmpty;\nvar DefaultIfEmptyOperator = (function () {\n    function DefaultIfEmptyOperator(defaultValue) {\n        this.defaultValue = defaultValue;\n    }\n    DefaultIfEmptyOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new DefaultIfEmptySubscriber(subscriber, this.defaultValue));\n    };\n    return DefaultIfEmptyOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar DefaultIfEmptySubscriber = (function (_super) {\n    __extends(DefaultIfEmptySubscriber, _super);\n    function DefaultIfEmptySubscriber(destination, defaultValue) {\n        _super.call(this, destination);\n        this.defaultValue = defaultValue;\n        this.isEmpty = true;\n    }\n    DefaultIfEmptySubscriber.prototype._next = function (value) {\n        this.isEmpty = false;\n        this.destination.next(value);\n    };\n    DefaultIfEmptySubscriber.prototype._complete = function () {\n        if (this.isEmpty) {\n            this.destination.next(this.defaultValue);\n        }\n        this.destination.complete();\n    };\n    return DefaultIfEmptySubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=defaultIfEmpty.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/defaultIfEmpty.js\n// module id = 1905\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar async_1 = require('../scheduler/async');\nvar isDate_1 = require('../util/isDate');\nvar Subscriber_1 = require('../Subscriber');\nvar Notification_1 = require('../Notification');\n/**\n * Delays the emission of items from the source Observable by a given timeout or\n * until a given Date.\n *\n * <span class=\"informal\">Time shifts each item by some specified amount of\n * milliseconds.</span>\n *\n * <img src=\"./img/delay.png\" width=\"100%\">\n *\n * If the delay argument is a Number, this operator time shifts the source\n * Observable by that amount of time expressed in milliseconds. The relative\n * time intervals between the values are preserved.\n *\n * If the delay argument is a Date, this operator time shifts the start of the\n * Observable execution until the given date occurs.\n *\n * @example <caption>Delay each click by one second</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var delayedClicks = clicks.delay(1000); // each click emitted after 1 second\n * delayedClicks.subscribe(x => console.log(x));\n *\n * @example <caption>Delay all clicks until a future date happens</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var date = new Date('March 15, 2050 12:00:00'); // in the future\n * var delayedClicks = clicks.delay(date); // click emitted only after that date\n * delayedClicks.subscribe(x => console.log(x));\n *\n * @see {@link debounceTime}\n * @see {@link delayWhen}\n *\n * @param {number|Date} delay The delay duration in milliseconds (a `number`) or\n * a `Date` until which the emission of the source items is delayed.\n * @param {Scheduler} [scheduler=async] The Scheduler to use for\n * managing the timers that handle the time-shift for each item.\n * @return {Observable} An Observable that delays the emissions of the source\n * Observable by the specified timeout or Date.\n * @method delay\n * @owner Observable\n */\nfunction delay(delay, scheduler) {\n    if (scheduler === void 0) { scheduler = async_1.async; }\n    var absoluteDelay = isDate_1.isDate(delay);\n    var delayFor = absoluteDelay ? (+delay - scheduler.now()) : Math.abs(delay);\n    return this.lift(new DelayOperator(delayFor, scheduler));\n}\nexports.delay = delay;\nvar DelayOperator = (function () {\n    function DelayOperator(delay, scheduler) {\n        this.delay = delay;\n        this.scheduler = scheduler;\n    }\n    DelayOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new DelaySubscriber(subscriber, this.delay, this.scheduler));\n    };\n    return DelayOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar DelaySubscriber = (function (_super) {\n    __extends(DelaySubscriber, _super);\n    function DelaySubscriber(destination, delay, scheduler) {\n        _super.call(this, destination);\n        this.delay = delay;\n        this.scheduler = scheduler;\n        this.queue = [];\n        this.active = false;\n        this.errored = false;\n    }\n    DelaySubscriber.dispatch = function (state) {\n        var source = state.source;\n        var queue = source.queue;\n        var scheduler = state.scheduler;\n        var destination = state.destination;\n        while (queue.length > 0 && (queue[0].time - scheduler.now()) <= 0) {\n            queue.shift().notification.observe(destination);\n        }\n        if (queue.length > 0) {\n            var delay_1 = Math.max(0, queue[0].time - scheduler.now());\n            this.schedule(state, delay_1);\n        }\n        else {\n            source.active = false;\n        }\n    };\n    DelaySubscriber.prototype._schedule = function (scheduler) {\n        this.active = true;\n        this.add(scheduler.schedule(DelaySubscriber.dispatch, this.delay, {\n            source: this, destination: this.destination, scheduler: scheduler\n        }));\n    };\n    DelaySubscriber.prototype.scheduleNotification = function (notification) {\n        if (this.errored === true) {\n            return;\n        }\n        var scheduler = this.scheduler;\n        var message = new DelayMessage(scheduler.now() + this.delay, notification);\n        this.queue.push(message);\n        if (this.active === false) {\n            this._schedule(scheduler);\n        }\n    };\n    DelaySubscriber.prototype._next = function (value) {\n        this.scheduleNotification(Notification_1.Notification.createNext(value));\n    };\n    DelaySubscriber.prototype._error = function (err) {\n        this.errored = true;\n        this.queue = [];\n        this.destination.error(err);\n    };\n    DelaySubscriber.prototype._complete = function () {\n        this.scheduleNotification(Notification_1.Notification.createComplete());\n    };\n    return DelaySubscriber;\n}(Subscriber_1.Subscriber));\nvar DelayMessage = (function () {\n    function DelayMessage(time, notification) {\n        this.time = time;\n        this.notification = notification;\n    }\n    return DelayMessage;\n}());\n//# sourceMappingURL=delay.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/delay.js\n// module id = 1906\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\nvar Observable_1 = require('../Observable');\nvar OuterSubscriber_1 = require('../OuterSubscriber');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\n/**\n * Delays the emission of items from the source Observable by a given time span\n * determined by the emissions of another Observable.\n *\n * <span class=\"informal\">It's like {@link delay}, but the time span of the\n * delay duration is determined by a second Observable.</span>\n *\n * <img src=\"./img/delayWhen.png\" width=\"100%\">\n *\n * `delayWhen` time shifts each emitted value from the source Observable by a\n * time span determined by another Observable. When the source emits a value,\n * the `delayDurationSelector` function is called with the source value as\n * argument, and should return an Observable, called the \"duration\" Observable.\n * The source value is emitted on the output Observable only when the duration\n * Observable emits a value or completes.\n *\n * Optionally, `delayWhen` takes a second argument, `subscriptionDelay`, which\n * is an Observable. When `subscriptionDelay` emits its first value or\n * completes, the source Observable is subscribed to and starts behaving like\n * described in the previous paragraph. If `subscriptionDelay` is not provided,\n * `delayWhen` will subscribe to the source Observable as soon as the output\n * Observable is subscribed.\n *\n * @example <caption>Delay each click by a random amount of time, between 0 and 5 seconds</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var delayedClicks = clicks.delayWhen(event =>\n *   Rx.Observable.interval(Math.random() * 5000)\n * );\n * delayedClicks.subscribe(x => console.log(x));\n *\n * @see {@link debounce}\n * @see {@link delay}\n *\n * @param {function(value: T): Observable} delayDurationSelector A function that\n * returns an Observable for each value emitted by the source Observable, which\n * is then used to delay the emission of that item on the output Observable\n * until the Observable returned from this function emits a value.\n * @param {Observable} subscriptionDelay An Observable that triggers the\n * subscription to the source Observable once it emits any value.\n * @return {Observable} An Observable that delays the emissions of the source\n * Observable by an amount of time specified by the Observable returned by\n * `delayDurationSelector`.\n * @method delayWhen\n * @owner Observable\n */\nfunction delayWhen(delayDurationSelector, subscriptionDelay) {\n    if (subscriptionDelay) {\n        return new SubscriptionDelayObservable(this, subscriptionDelay)\n            .lift(new DelayWhenOperator(delayDurationSelector));\n    }\n    return this.lift(new DelayWhenOperator(delayDurationSelector));\n}\nexports.delayWhen = delayWhen;\nvar DelayWhenOperator = (function () {\n    function DelayWhenOperator(delayDurationSelector) {\n        this.delayDurationSelector = delayDurationSelector;\n    }\n    DelayWhenOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new DelayWhenSubscriber(subscriber, this.delayDurationSelector));\n    };\n    return DelayWhenOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar DelayWhenSubscriber = (function (_super) {\n    __extends(DelayWhenSubscriber, _super);\n    function DelayWhenSubscriber(destination, delayDurationSelector) {\n        _super.call(this, destination);\n        this.delayDurationSelector = delayDurationSelector;\n        this.completed = false;\n        this.delayNotifierSubscriptions = [];\n        this.values = [];\n    }\n    DelayWhenSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        this.destination.next(outerValue);\n        this.removeSubscription(innerSub);\n        this.tryComplete();\n    };\n    DelayWhenSubscriber.prototype.notifyError = function (error, innerSub) {\n        this._error(error);\n    };\n    DelayWhenSubscriber.prototype.notifyComplete = function (innerSub) {\n        var value = this.removeSubscription(innerSub);\n        if (value) {\n            this.destination.next(value);\n        }\n        this.tryComplete();\n    };\n    DelayWhenSubscriber.prototype._next = function (value) {\n        try {\n            var delayNotifier = this.delayDurationSelector(value);\n            if (delayNotifier) {\n                this.tryDelay(delayNotifier, value);\n            }\n        }\n        catch (err) {\n            this.destination.error(err);\n        }\n    };\n    DelayWhenSubscriber.prototype._complete = function () {\n        this.completed = true;\n        this.tryComplete();\n    };\n    DelayWhenSubscriber.prototype.removeSubscription = function (subscription) {\n        subscription.unsubscribe();\n        var subscriptionIdx = this.delayNotifierSubscriptions.indexOf(subscription);\n        var value = null;\n        if (subscriptionIdx !== -1) {\n            value = this.values[subscriptionIdx];\n            this.delayNotifierSubscriptions.splice(subscriptionIdx, 1);\n            this.values.splice(subscriptionIdx, 1);\n        }\n        return value;\n    };\n    DelayWhenSubscriber.prototype.tryDelay = function (delayNotifier, value) {\n        var notifierSubscription = subscribeToResult_1.subscribeToResult(this, delayNotifier, value);\n        this.add(notifierSubscription);\n        this.delayNotifierSubscriptions.push(notifierSubscription);\n        this.values.push(value);\n    };\n    DelayWhenSubscriber.prototype.tryComplete = function () {\n        if (this.completed && this.delayNotifierSubscriptions.length === 0) {\n            this.destination.complete();\n        }\n    };\n    return DelayWhenSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SubscriptionDelayObservable = (function (_super) {\n    __extends(SubscriptionDelayObservable, _super);\n    function SubscriptionDelayObservable(source, subscriptionDelay) {\n        _super.call(this);\n        this.source = source;\n        this.subscriptionDelay = subscriptionDelay;\n    }\n    SubscriptionDelayObservable.prototype._subscribe = function (subscriber) {\n        this.subscriptionDelay.subscribe(new SubscriptionDelaySubscriber(subscriber, this.source));\n    };\n    return SubscriptionDelayObservable;\n}(Observable_1.Observable));\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SubscriptionDelaySubscriber = (function (_super) {\n    __extends(SubscriptionDelaySubscriber, _super);\n    function SubscriptionDelaySubscriber(parent, source) {\n        _super.call(this);\n        this.parent = parent;\n        this.source = source;\n        this.sourceSubscribed = false;\n    }\n    SubscriptionDelaySubscriber.prototype._next = function (unused) {\n        this.subscribeToSource();\n    };\n    SubscriptionDelaySubscriber.prototype._error = function (err) {\n        this.unsubscribe();\n        this.parent.error(err);\n    };\n    SubscriptionDelaySubscriber.prototype._complete = function () {\n        this.subscribeToSource();\n    };\n    SubscriptionDelaySubscriber.prototype.subscribeToSource = function () {\n        if (!this.sourceSubscribed) {\n            this.sourceSubscribed = true;\n            this.unsubscribe();\n            this.source.subscribe(this.parent);\n        }\n    };\n    return SubscriptionDelaySubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=delayWhen.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/delayWhen.js\n// module id = 1907\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\n/**\n * Converts an Observable of {@link Notification} objects into the emissions\n * that they represent.\n *\n * <span class=\"informal\">Unwraps {@link Notification} objects as actual `next`,\n * `error` and `complete` emissions. The opposite of {@link materialize}.</span>\n *\n * <img src=\"./img/dematerialize.png\" width=\"100%\">\n *\n * `dematerialize` is assumed to operate an Observable that only emits\n * {@link Notification} objects as `next` emissions, and does not emit any\n * `error`. Such Observable is the output of a `materialize` operation. Those\n * notifications are then unwrapped using the metadata they contain, and emitted\n * as `next`, `error`, and `complete` on the output Observable.\n *\n * Use this operator in conjunction with {@link materialize}.\n *\n * @example <caption>Convert an Observable of Notifications to an actual Observable</caption>\n * var notifA = new Rx.Notification('N', 'A');\n * var notifB = new Rx.Notification('N', 'B');\n * var notifE = new Rx.Notification('E', void 0,\n *   new TypeError('x.toUpperCase is not a function')\n * );\n * var materialized = Rx.Observable.of(notifA, notifB, notifE);\n * var upperCase = materialized.dematerialize();\n * upperCase.subscribe(x => console.log(x), e => console.error(e));\n *\n * @see {@link Notification}\n * @see {@link materialize}\n *\n * @return {Observable} An Observable that emits items and notifications\n * embedded in Notification objects emitted by the source Observable.\n * @method dematerialize\n * @owner Observable\n */\nfunction dematerialize() {\n    return this.lift(new DeMaterializeOperator());\n}\nexports.dematerialize = dematerialize;\nvar DeMaterializeOperator = (function () {\n    function DeMaterializeOperator() {\n    }\n    DeMaterializeOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new DeMaterializeSubscriber(subscriber));\n    };\n    return DeMaterializeOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar DeMaterializeSubscriber = (function (_super) {\n    __extends(DeMaterializeSubscriber, _super);\n    function DeMaterializeSubscriber(destination) {\n        _super.call(this, destination);\n    }\n    DeMaterializeSubscriber.prototype._next = function (value) {\n        value.observe(this.destination);\n    };\n    return DeMaterializeSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=dematerialize.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/dematerialize.js\n// module id = 1908\n// module chunks = 0","\"use strict\";\nvar distinct_1 = require('./distinct');\n/**\n * Returns an Observable that emits all items emitted by the source Observable that are distinct by comparison from previous items,\n * using a property accessed by using the key provided to check if the two items are distinct.\n * If a comparator function is provided, then it will be called for each item to test for whether or not that value should be emitted.\n * If a comparator function is not provided, an equality check is used by default.\n * As the internal HashSet of this operator grows larger and larger, care should be taken in the domain of inputs this operator may see.\n * An optional parameter is also provided such that an Observable can be provided to queue the internal HashSet to flush the values it holds.\n * @param {string} key string key for object property lookup on each item.\n * @param {function} [compare] optional comparison function called to test if an item is distinct from previous items in the source.\n * @param {Observable} [flushes] optional Observable for flushing the internal HashSet of the operator.\n * @return {Observable} an Observable that emits items from the source Observable with distinct values.\n * @method distinctKey\n * @owner Observable\n */\nfunction distinctKey(key, compare, flushes) {\n    return distinct_1.distinct.call(this, function (x, y) {\n        if (compare) {\n            return compare(x[key], y[key]);\n        }\n        return x[key] === y[key];\n    }, flushes);\n}\nexports.distinctKey = distinctKey;\n//# sourceMappingURL=distinctKey.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/distinctKey.js\n// module id = 1909\n// module chunks = 0","\"use strict\";\nvar distinctUntilChanged_1 = require('./distinctUntilChanged');\n/**\n * Returns an Observable that emits all items emitted by the source Observable that are distinct by comparison from the previous item,\n * using a property accessed by using the key provided to check if the two items are distinct.\n * If a comparator function is provided, then it will be called for each item to test for whether or not that value should be emitted.\n * If a comparator function is not provided, an equality check is used by default.\n * @param {string} key string key for object property lookup on each item.\n * @param {function} [compare] optional comparison function called to test if an item is distinct from the previous item in the source.\n * @return {Observable} an Observable that emits items from the source Observable with distinct values based on the key specified.\n * @method distinctUntilKeyChanged\n * @owner Observable\n */\nfunction distinctUntilKeyChanged(key, compare) {\n    return distinctUntilChanged_1.distinctUntilChanged.call(this, function (x, y) {\n        if (compare) {\n            return compare(x[key], y[key]);\n        }\n        return x[key] === y[key];\n    });\n}\nexports.distinctUntilKeyChanged = distinctUntilKeyChanged;\n//# sourceMappingURL=distinctUntilKeyChanged.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/distinctUntilKeyChanged.js\n// module id = 1910\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\n/**\n * Perform a side effect for every emission on the source Observable, but return\n * an Observable that is identical to the source.\n *\n * <span class=\"informal\">Intercepts each emission on the source and runs a\n * function, but returns an output which is identical to the source.</span>\n *\n * <img src=\"./img/do.png\" width=\"100%\">\n *\n * Returns a mirrored Observable of the source Observable, but modified so that\n * the provided Observer is called to perform a side effect for every value,\n * error, and completion emitted by the source. Any errors that are thrown in\n * the aforementioned Observer or handlers are safely sent down the error path\n * of the output Observable.\n *\n * This operator is useful for debugging your Observables for the correct values\n * or performing other side effects.\n *\n * Note: this is different to a `subscribe` on the Observable. If the Observable\n * returned by `do` is not subscribed, the side effects specified by the\n * Observer will never happen. `do` therefore simply spies on existing\n * execution, it does not trigger an execution to happen like `subscribe` does.\n *\n * @example <caption>Map every every click to the clientX position of that click, while also logging the click event</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var positions = clicks\n *   .do(ev => console.log(ev))\n *   .map(ev => ev.clientX);\n * positions.subscribe(x => console.log(x));\n *\n * @see {@link map}\n * @see {@link subscribe}\n *\n * @param {Observer|function} [nextOrObserver] A normal Observer object or a\n * callback for `next`.\n * @param {function} [error] Callback for errors in the source.\n * @param {function} [complete] Callback for the completion of the source.\n * @return {Observable} An Observable identical to the source, but runs the\n * specified Observer or callback(s) for each item.\n * @method do\n * @name do\n * @owner Observable\n */\nfunction _do(nextOrObserver, error, complete) {\n    return this.lift(new DoOperator(nextOrObserver, error, complete));\n}\nexports._do = _do;\nvar DoOperator = (function () {\n    function DoOperator(nextOrObserver, error, complete) {\n        this.nextOrObserver = nextOrObserver;\n        this.error = error;\n        this.complete = complete;\n    }\n    DoOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new DoSubscriber(subscriber, this.nextOrObserver, this.error, this.complete));\n    };\n    return DoOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar DoSubscriber = (function (_super) {\n    __extends(DoSubscriber, _super);\n    function DoSubscriber(destination, nextOrObserver, error, complete) {\n        _super.call(this, destination);\n        var safeSubscriber = new Subscriber_1.Subscriber(nextOrObserver, error, complete);\n        safeSubscriber.syncErrorThrowable = true;\n        this.add(safeSubscriber);\n        this.safeSubscriber = safeSubscriber;\n    }\n    DoSubscriber.prototype._next = function (value) {\n        var safeSubscriber = this.safeSubscriber;\n        safeSubscriber.next(value);\n        if (safeSubscriber.syncErrorThrown) {\n            this.destination.error(safeSubscriber.syncErrorValue);\n        }\n        else {\n            this.destination.next(value);\n        }\n    };\n    DoSubscriber.prototype._error = function (err) {\n        var safeSubscriber = this.safeSubscriber;\n        safeSubscriber.error(err);\n        if (safeSubscriber.syncErrorThrown) {\n            this.destination.error(safeSubscriber.syncErrorValue);\n        }\n        else {\n            this.destination.error(err);\n        }\n    };\n    DoSubscriber.prototype._complete = function () {\n        var safeSubscriber = this.safeSubscriber;\n        safeSubscriber.complete();\n        if (safeSubscriber.syncErrorThrown) {\n            this.destination.error(safeSubscriber.syncErrorValue);\n        }\n        else {\n            this.destination.complete();\n        }\n    };\n    return DoSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=do.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/do.js\n// module id = 1911\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\nvar ArgumentOutOfRangeError_1 = require('../util/ArgumentOutOfRangeError');\n/**\n * Emits the single value at the specified `index` in a sequence of emissions\n * from the source Observable.\n *\n * <span class=\"informal\">Emits only the i-th value, then completes.</span>\n *\n * <img src=\"./img/elementAt.png\" width=\"100%\">\n *\n * `elementAt` returns an Observable that emits the item at the specified\n * `index` in the source Observable, or a default value if that `index` is out\n * of range and the `default` argument is provided. If the `default` argument is\n * not given and the `index` is out of range, the output Observable will emit an\n * `ArgumentOutOfRangeError` error.\n *\n * @example <caption>Emit only the third click event</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.elementAt(2);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link first}\n * @see {@link last}\n * @see {@link skip}\n * @see {@link single}\n * @see {@link take}\n *\n * @throws {ArgumentOutOfRangeError} When using `elementAt(i)`, it delivers an\n * ArgumentOutOrRangeError to the Observer's `error` callback if `i < 0` or the\n * Observable has completed before emitting the i-th `next` notification.\n *\n * @param {number} index Is the number `i` for the i-th source emission that has\n * happened since the subscription, starting from the number `0`.\n * @param {T} [defaultValue] The default value returned for missing indices.\n * @return {Observable} An Observable that emits a single item, if it is found.\n * Otherwise, will emit the default value if given. If not, then emits an error.\n * @method elementAt\n * @owner Observable\n */\nfunction elementAt(index, defaultValue) {\n    return this.lift(new ElementAtOperator(index, defaultValue));\n}\nexports.elementAt = elementAt;\nvar ElementAtOperator = (function () {\n    function ElementAtOperator(index, defaultValue) {\n        this.index = index;\n        this.defaultValue = defaultValue;\n        if (index < 0) {\n            throw new ArgumentOutOfRangeError_1.ArgumentOutOfRangeError;\n        }\n    }\n    ElementAtOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new ElementAtSubscriber(subscriber, this.index, this.defaultValue));\n    };\n    return ElementAtOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar ElementAtSubscriber = (function (_super) {\n    __extends(ElementAtSubscriber, _super);\n    function ElementAtSubscriber(destination, index, defaultValue) {\n        _super.call(this, destination);\n        this.index = index;\n        this.defaultValue = defaultValue;\n    }\n    ElementAtSubscriber.prototype._next = function (x) {\n        if (this.index-- === 0) {\n            this.destination.next(x);\n            this.destination.complete();\n        }\n    };\n    ElementAtSubscriber.prototype._complete = function () {\n        var destination = this.destination;\n        if (this.index >= 0) {\n            if (typeof this.defaultValue !== 'undefined') {\n                destination.next(this.defaultValue);\n            }\n            else {\n                destination.error(new ArgumentOutOfRangeError_1.ArgumentOutOfRangeError);\n            }\n        }\n        destination.complete();\n    };\n    return ElementAtSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=elementAt.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/elementAt.js\n// module id = 1912\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar OuterSubscriber_1 = require('../OuterSubscriber');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\n/**\n * Converts a higher-order Observable into a first-order Observable by dropping\n * inner Observables while the previous inner Observable has not yet completed.\n *\n * <span class=\"informal\">Flattens an Observable-of-Observables by dropping the\n * next inner Observables while the current inner is still executing.</span>\n *\n * <img src=\"./img/exhaust.png\" width=\"100%\">\n *\n * `exhaust` subscribes to an Observable that emits Observables, also known as a\n * higher-order Observable. Each time it observes one of these emitted inner\n * Observables, the output Observable begins emitting the items emitted by that\n * inner Observable. So far, it behaves like {@link mergeAll}. However,\n * `exhaust` ignores every new inner Observable if the previous Observable has\n * not yet completed. Once that one completes, it will accept and flatten the\n * next inner Observable and repeat this process.\n *\n * @example <caption>Run a finite timer for each click, only if there is no currently active timer</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var higherOrder = clicks.map((ev) => Rx.Observable.interval(1000));\n * var result = higherOrder.exhaust();\n * result.subscribe(x => console.log(x));\n *\n * @see {@link combineAll}\n * @see {@link concatAll}\n * @see {@link switch}\n * @see {@link mergeAll}\n * @see {@link exhaustMap}\n * @see {@link zipAll}\n *\n * @return {Observable} Returns an Observable that takes a source of Observables\n * and propagates the first observable exclusively until it completes before\n * subscribing to the next.\n * @method exhaust\n * @owner Observable\n */\nfunction exhaust() {\n    return this.lift(new SwitchFirstOperator());\n}\nexports.exhaust = exhaust;\nvar SwitchFirstOperator = (function () {\n    function SwitchFirstOperator() {\n    }\n    SwitchFirstOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new SwitchFirstSubscriber(subscriber));\n    };\n    return SwitchFirstOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SwitchFirstSubscriber = (function (_super) {\n    __extends(SwitchFirstSubscriber, _super);\n    function SwitchFirstSubscriber(destination) {\n        _super.call(this, destination);\n        this.hasCompleted = false;\n        this.hasSubscription = false;\n    }\n    SwitchFirstSubscriber.prototype._next = function (value) {\n        if (!this.hasSubscription) {\n            this.hasSubscription = true;\n            this.add(subscribeToResult_1.subscribeToResult(this, value));\n        }\n    };\n    SwitchFirstSubscriber.prototype._complete = function () {\n        this.hasCompleted = true;\n        if (!this.hasSubscription) {\n            this.destination.complete();\n        }\n    };\n    SwitchFirstSubscriber.prototype.notifyComplete = function (innerSub) {\n        this.remove(innerSub);\n        this.hasSubscription = false;\n        if (this.hasCompleted) {\n            this.destination.complete();\n        }\n    };\n    return SwitchFirstSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=exhaust.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/exhaust.js\n// module id = 1913\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar OuterSubscriber_1 = require('../OuterSubscriber');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\n/**\n * Projects each source value to an Observable which is merged in the output\n * Observable only if the previous projected Observable has completed.\n *\n * <span class=\"informal\">Maps each value to an Observable, then flattens all of\n * these inner Observables using {@link exhaust}.</span>\n *\n * <img src=\"./img/exhaustMap.png\" width=\"100%\">\n *\n * Returns an Observable that emits items based on applying a function that you\n * supply to each item emitted by the source Observable, where that function\n * returns an (so-called \"inner\") Observable. When it projects a source value to\n * an Observable, the output Observable begins emitting the items emitted by\n * that projected Observable. However, `exhaustMap` ignores every new projected\n * Observable if the previous projected Observable has not yet completed. Once\n * that one completes, it will accept and flatten the next projected Observable\n * and repeat this process.\n *\n * @example <caption>Run a finite timer for each click, only if there is no currently active timer</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.exhaustMap((ev) => Rx.Observable.interval(1000));\n * result.subscribe(x => console.log(x));\n *\n * @see {@link concatMap}\n * @see {@link exhaust}\n * @see {@link mergeMap}\n * @see {@link switchMap}\n *\n * @param {function(value: T, ?index: number): Observable} project A function\n * that, when applied to an item emitted by the source Observable, returns an\n * Observable.\n * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector]\n * A function to produce the value on the output Observable based on the values\n * and the indices of the source (outer) emission and the inner Observable\n * emission. The arguments passed to this function are:\n * - `outerValue`: the value that came from the source\n * - `innerValue`: the value that came from the projected Observable\n * - `outerIndex`: the \"index\" of the value that came from the source\n * - `innerIndex`: the \"index\" of the value from the projected Observable\n * @return {Observable} An Observable containing projected Observables\n * of each item of the source, ignoring projected Observables that start before\n * their preceding Observable has completed.\n * @method exhaustMap\n * @owner Observable\n */\nfunction exhaustMap(project, resultSelector) {\n    return this.lift(new SwitchFirstMapOperator(project, resultSelector));\n}\nexports.exhaustMap = exhaustMap;\nvar SwitchFirstMapOperator = (function () {\n    function SwitchFirstMapOperator(project, resultSelector) {\n        this.project = project;\n        this.resultSelector = resultSelector;\n    }\n    SwitchFirstMapOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new SwitchFirstMapSubscriber(subscriber, this.project, this.resultSelector));\n    };\n    return SwitchFirstMapOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SwitchFirstMapSubscriber = (function (_super) {\n    __extends(SwitchFirstMapSubscriber, _super);\n    function SwitchFirstMapSubscriber(destination, project, resultSelector) {\n        _super.call(this, destination);\n        this.project = project;\n        this.resultSelector = resultSelector;\n        this.hasSubscription = false;\n        this.hasCompleted = false;\n        this.index = 0;\n    }\n    SwitchFirstMapSubscriber.prototype._next = function (value) {\n        if (!this.hasSubscription) {\n            this.tryNext(value);\n        }\n    };\n    SwitchFirstMapSubscriber.prototype.tryNext = function (value) {\n        var index = this.index++;\n        var destination = this.destination;\n        try {\n            var result = this.project(value, index);\n            this.hasSubscription = true;\n            this.add(subscribeToResult_1.subscribeToResult(this, result, value, index));\n        }\n        catch (err) {\n            destination.error(err);\n        }\n    };\n    SwitchFirstMapSubscriber.prototype._complete = function () {\n        this.hasCompleted = true;\n        if (!this.hasSubscription) {\n            this.destination.complete();\n        }\n    };\n    SwitchFirstMapSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        var _a = this, resultSelector = _a.resultSelector, destination = _a.destination;\n        if (resultSelector) {\n            this.trySelectResult(outerValue, innerValue, outerIndex, innerIndex);\n        }\n        else {\n            destination.next(innerValue);\n        }\n    };\n    SwitchFirstMapSubscriber.prototype.trySelectResult = function (outerValue, innerValue, outerIndex, innerIndex) {\n        var _a = this, resultSelector = _a.resultSelector, destination = _a.destination;\n        try {\n            var result = resultSelector(outerValue, innerValue, outerIndex, innerIndex);\n            destination.next(result);\n        }\n        catch (err) {\n            destination.error(err);\n        }\n    };\n    SwitchFirstMapSubscriber.prototype.notifyError = function (err) {\n        this.destination.error(err);\n    };\n    SwitchFirstMapSubscriber.prototype.notifyComplete = function (innerSub) {\n        this.remove(innerSub);\n        this.hasSubscription = false;\n        if (this.hasCompleted) {\n            this.destination.complete();\n        }\n    };\n    return SwitchFirstMapSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=exhaustMap.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/exhaustMap.js\n// module id = 1914\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar tryCatch_1 = require('../util/tryCatch');\nvar errorObject_1 = require('../util/errorObject');\nvar OuterSubscriber_1 = require('../OuterSubscriber');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\n/**\n * Recursively projects each source value to an Observable which is merged in\n * the output Observable.\n *\n * <span class=\"informal\">It's similar to {@link mergeMap}, but applies the\n * projection function to every source value as well as every output value.\n * It's recursive.</span>\n *\n * <img src=\"./img/expand.png\" width=\"100%\">\n *\n * Returns an Observable that emits items based on applying a function that you\n * supply to each item emitted by the source Observable, where that function\n * returns an Observable, and then merging those resulting Observables and\n * emitting the results of this merger. *Expand* will re-emit on the output\n * Observable every source value. Then, each output value is given to the\n * `project` function which returns an inner Observable to be merged on the\n * output Observable. Those output values resulting from the projection are also\n * given to the `project` function to produce new output values. This is how\n * *expand* behaves recursively.\n *\n * @example <caption>Start emitting the powers of two on every click, at most 10 of them</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var powersOfTwo = clicks\n *   .mapTo(1)\n *   .expand(x => Rx.Observable.of(2 * x).delay(1000))\n *   .take(10);\n * powersOfTwo.subscribe(x => console.log(x));\n *\n * @see {@link mergeMap}\n * @see {@link mergeScan}\n *\n * @param {function(value: T, index: number) => Observable} project A function\n * that, when applied to an item emitted by the source or the output Observable,\n * returns an Observable.\n * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of input\n * Observables being subscribed to concurrently.\n * @param {Scheduler} [scheduler=null] The Scheduler to use for subscribing to\n * each projected inner Observable.\n * @return {Observable} An Observable that emits the source values and also\n * result of applying the projection function to each value emitted on the\n * output Observable and and merging the results of the Observables obtained\n * from this transformation.\n * @method expand\n * @owner Observable\n */\nfunction expand(project, concurrent, scheduler) {\n    if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\n    if (scheduler === void 0) { scheduler = undefined; }\n    concurrent = (concurrent || 0) < 1 ? Number.POSITIVE_INFINITY : concurrent;\n    return this.lift(new ExpandOperator(project, concurrent, scheduler));\n}\nexports.expand = expand;\nvar ExpandOperator = (function () {\n    function ExpandOperator(project, concurrent, scheduler) {\n        this.project = project;\n        this.concurrent = concurrent;\n        this.scheduler = scheduler;\n    }\n    ExpandOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new ExpandSubscriber(subscriber, this.project, this.concurrent, this.scheduler));\n    };\n    return ExpandOperator;\n}());\nexports.ExpandOperator = ExpandOperator;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar ExpandSubscriber = (function (_super) {\n    __extends(ExpandSubscriber, _super);\n    function ExpandSubscriber(destination, project, concurrent, scheduler) {\n        _super.call(this, destination);\n        this.project = project;\n        this.concurrent = concurrent;\n        this.scheduler = scheduler;\n        this.index = 0;\n        this.active = 0;\n        this.hasCompleted = false;\n        if (concurrent < Number.POSITIVE_INFINITY) {\n            this.buffer = [];\n        }\n    }\n    ExpandSubscriber.dispatch = function (arg) {\n        var subscriber = arg.subscriber, result = arg.result, value = arg.value, index = arg.index;\n        subscriber.subscribeToProjection(result, value, index);\n    };\n    ExpandSubscriber.prototype._next = function (value) {\n        var destination = this.destination;\n        if (destination.closed) {\n            this._complete();\n            return;\n        }\n        var index = this.index++;\n        if (this.active < this.concurrent) {\n            destination.next(value);\n            var result = tryCatch_1.tryCatch(this.project)(value, index);\n            if (result === errorObject_1.errorObject) {\n                destination.error(errorObject_1.errorObject.e);\n            }\n            else if (!this.scheduler) {\n                this.subscribeToProjection(result, value, index);\n            }\n            else {\n                var state = { subscriber: this, result: result, value: value, index: index };\n                this.add(this.scheduler.schedule(ExpandSubscriber.dispatch, 0, state));\n            }\n        }\n        else {\n            this.buffer.push(value);\n        }\n    };\n    ExpandSubscriber.prototype.subscribeToProjection = function (result, value, index) {\n        this.active++;\n        this.add(subscribeToResult_1.subscribeToResult(this, result, value, index));\n    };\n    ExpandSubscriber.prototype._complete = function () {\n        this.hasCompleted = true;\n        if (this.hasCompleted && this.active === 0) {\n            this.destination.complete();\n        }\n    };\n    ExpandSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        this._next(innerValue);\n    };\n    ExpandSubscriber.prototype.notifyComplete = function (innerSub) {\n        var buffer = this.buffer;\n        this.remove(innerSub);\n        this.active--;\n        if (buffer && buffer.length > 0) {\n            this._next(buffer.shift());\n        }\n        if (this.hasCompleted && this.active === 0) {\n            this.destination.complete();\n        }\n    };\n    return ExpandSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\nexports.ExpandSubscriber = ExpandSubscriber;\n//# sourceMappingURL=expand.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/expand.js\n// module id = 1915\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\nvar Subscription_1 = require('../Subscription');\n/**\n * Returns an Observable that mirrors the source Observable, but will call a specified function when\n * the source terminates on complete or error.\n * @param {function} callback function to be called when source terminates.\n * @return {Observable} an Observable that mirrors the source, but will call the specified function on termination.\n * @method finally\n * @owner Observable\n */\nfunction _finally(callback) {\n    return this.lift(new FinallyOperator(callback));\n}\nexports._finally = _finally;\nvar FinallyOperator = (function () {\n    function FinallyOperator(callback) {\n        this.callback = callback;\n    }\n    FinallyOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new FinallySubscriber(subscriber, this.callback));\n    };\n    return FinallyOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar FinallySubscriber = (function (_super) {\n    __extends(FinallySubscriber, _super);\n    function FinallySubscriber(destination, callback) {\n        _super.call(this, destination);\n        this.add(new Subscription_1.Subscription(callback));\n    }\n    return FinallySubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=finally.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/finally.js\n// module id = 1916\n// module chunks = 0","\"use strict\";\nvar find_1 = require('./find');\n/**\n * Emits only the index of the first value emitted by the source Observable that\n * meets some condition.\n *\n * <span class=\"informal\">It's like {@link find}, but emits the index of the\n * found value, not the value itself.</span>\n *\n * <img src=\"./img/findIndex.png\" width=\"100%\">\n *\n * `findIndex` searches for the first item in the source Observable that matches\n * the specified condition embodied by the `predicate`, and returns the\n * (zero-based) index of the first occurrence in the source. Unlike\n * {@link first}, the `predicate` is required in `findIndex`, and does not emit\n * an error if a valid value is not found.\n *\n * @example <caption>Emit the index of first click that happens on a DIV element</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.findIndex(ev => ev.target.tagName === 'DIV');\n * result.subscribe(x => console.log(x));\n *\n * @see {@link filter}\n * @see {@link find}\n * @see {@link first}\n * @see {@link take}\n *\n * @param {function(value: T, index: number, source: Observable<T>): boolean} predicate\n * A function called with each item to test for condition matching.\n * @param {any} [thisArg] An optional argument to determine the value of `this`\n * in the `predicate` function.\n * @return {Observable} An Observable of the index of the first item that\n * matches the condition.\n * @method find\n * @owner Observable\n */\nfunction findIndex(predicate, thisArg) {\n    return this.lift(new find_1.FindValueOperator(predicate, this, true, thisArg));\n}\nexports.findIndex = findIndex;\n//# sourceMappingURL=findIndex.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/findIndex.js\n// module id = 1917\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\nvar Subscription_1 = require('../Subscription');\nvar Observable_1 = require('../Observable');\nvar Subject_1 = require('../Subject');\nvar Map_1 = require('../util/Map');\nvar FastMap_1 = require('../util/FastMap');\n/**\n * Groups the items emitted by an Observable according to a specified criterion,\n * and emits these grouped items as `GroupedObservables`, one\n * {@link GroupedObservable} per group.\n *\n * <img src=\"./img/groupBy.png\" width=\"100%\">\n *\n * @param {function(value: T): K} keySelector a function that extracts the key\n * for each item.\n * @param {function(value: T): R} [elementSelector] a function that extracts the\n * return element for each item.\n * @param {function(grouped: GroupedObservable<K,R>): Observable<any>} [durationSelector]\n * a function that returns an Observable to determine how long each group should\n * exist.\n * @return {Observable<GroupedObservable<K,R>>} an Observable that emits\n * GroupedObservables, each of which corresponds to a unique key value and each\n * of which emits those items from the source Observable that share that key\n * value.\n * @method groupBy\n * @owner Observable\n */\nfunction groupBy(keySelector, elementSelector, durationSelector) {\n    return this.lift(new GroupByOperator(this, keySelector, elementSelector, durationSelector));\n}\nexports.groupBy = groupBy;\nvar GroupByOperator = (function () {\n    function GroupByOperator(source, keySelector, elementSelector, durationSelector) {\n        this.source = source;\n        this.keySelector = keySelector;\n        this.elementSelector = elementSelector;\n        this.durationSelector = durationSelector;\n    }\n    GroupByOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new GroupBySubscriber(subscriber, this.keySelector, this.elementSelector, this.durationSelector));\n    };\n    return GroupByOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar GroupBySubscriber = (function (_super) {\n    __extends(GroupBySubscriber, _super);\n    function GroupBySubscriber(destination, keySelector, elementSelector, durationSelector) {\n        _super.call(this, destination);\n        this.keySelector = keySelector;\n        this.elementSelector = elementSelector;\n        this.durationSelector = durationSelector;\n        this.groups = null;\n        this.attemptedToUnsubscribe = false;\n        this.count = 0;\n    }\n    GroupBySubscriber.prototype._next = function (value) {\n        var key;\n        try {\n            key = this.keySelector(value);\n        }\n        catch (err) {\n            this.error(err);\n            return;\n        }\n        this._group(value, key);\n    };\n    GroupBySubscriber.prototype._group = function (value, key) {\n        var groups = this.groups;\n        if (!groups) {\n            groups = this.groups = typeof key === 'string' ? new FastMap_1.FastMap() : new Map_1.Map();\n        }\n        var group = groups.get(key);\n        var element;\n        if (this.elementSelector) {\n            try {\n                element = this.elementSelector(value);\n            }\n            catch (err) {\n                this.error(err);\n            }\n        }\n        else {\n            element = value;\n        }\n        if (!group) {\n            groups.set(key, group = new Subject_1.Subject());\n            var groupedObservable = new GroupedObservable(key, group, this);\n            this.destination.next(groupedObservable);\n            if (this.durationSelector) {\n                var duration = void 0;\n                try {\n                    duration = this.durationSelector(new GroupedObservable(key, group));\n                }\n                catch (err) {\n                    this.error(err);\n                    return;\n                }\n                this.add(duration.subscribe(new GroupDurationSubscriber(key, group, this)));\n            }\n        }\n        if (!group.closed) {\n            group.next(element);\n        }\n    };\n    GroupBySubscriber.prototype._error = function (err) {\n        var groups = this.groups;\n        if (groups) {\n            groups.forEach(function (group, key) {\n                group.error(err);\n            });\n            groups.clear();\n        }\n        this.destination.error(err);\n    };\n    GroupBySubscriber.prototype._complete = function () {\n        var groups = this.groups;\n        if (groups) {\n            groups.forEach(function (group, key) {\n                group.complete();\n            });\n            groups.clear();\n        }\n        this.destination.complete();\n    };\n    GroupBySubscriber.prototype.removeGroup = function (key) {\n        this.groups.delete(key);\n    };\n    GroupBySubscriber.prototype.unsubscribe = function () {\n        if (!this.closed && !this.attemptedToUnsubscribe) {\n            this.attemptedToUnsubscribe = true;\n            if (this.count === 0) {\n                _super.prototype.unsubscribe.call(this);\n            }\n        }\n    };\n    return GroupBySubscriber;\n}(Subscriber_1.Subscriber));\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar GroupDurationSubscriber = (function (_super) {\n    __extends(GroupDurationSubscriber, _super);\n    function GroupDurationSubscriber(key, group, parent) {\n        _super.call(this);\n        this.key = key;\n        this.group = group;\n        this.parent = parent;\n    }\n    GroupDurationSubscriber.prototype._next = function (value) {\n        this._complete();\n    };\n    GroupDurationSubscriber.prototype._error = function (err) {\n        var group = this.group;\n        if (!group.closed) {\n            group.error(err);\n        }\n        this.parent.removeGroup(this.key);\n    };\n    GroupDurationSubscriber.prototype._complete = function () {\n        var group = this.group;\n        if (!group.closed) {\n            group.complete();\n        }\n        this.parent.removeGroup(this.key);\n    };\n    return GroupDurationSubscriber;\n}(Subscriber_1.Subscriber));\n/**\n * An Observable representing values belonging to the same group represented by\n * a common key. The values emitted by a GroupedObservable come from the source\n * Observable. The common key is available as the field `key` on a\n * GroupedObservable instance.\n *\n * @class GroupedObservable<K, T>\n */\nvar GroupedObservable = (function (_super) {\n    __extends(GroupedObservable, _super);\n    function GroupedObservable(key, groupSubject, refCountSubscription) {\n        _super.call(this);\n        this.key = key;\n        this.groupSubject = groupSubject;\n        this.refCountSubscription = refCountSubscription;\n    }\n    GroupedObservable.prototype._subscribe = function (subscriber) {\n        var subscription = new Subscription_1.Subscription();\n        var _a = this, refCountSubscription = _a.refCountSubscription, groupSubject = _a.groupSubject;\n        if (refCountSubscription && !refCountSubscription.closed) {\n            subscription.add(new InnerRefCountSubscription(refCountSubscription));\n        }\n        subscription.add(groupSubject.subscribe(subscriber));\n        return subscription;\n    };\n    return GroupedObservable;\n}(Observable_1.Observable));\nexports.GroupedObservable = GroupedObservable;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar InnerRefCountSubscription = (function (_super) {\n    __extends(InnerRefCountSubscription, _super);\n    function InnerRefCountSubscription(parent) {\n        _super.call(this);\n        this.parent = parent;\n        parent.count++;\n    }\n    InnerRefCountSubscription.prototype.unsubscribe = function () {\n        var parent = this.parent;\n        if (!parent.closed && !this.closed) {\n            _super.prototype.unsubscribe.call(this);\n            parent.count -= 1;\n            if (parent.count === 0 && parent.attemptedToUnsubscribe) {\n                parent.unsubscribe();\n            }\n        }\n    };\n    return InnerRefCountSubscription;\n}(Subscription_1.Subscription));\n//# sourceMappingURL=groupBy.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/groupBy.js\n// module id = 1918\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\nvar noop_1 = require('../util/noop');\n/**\n * Ignores all items emitted by the source Observable and only passes calls of `complete` or `error`.\n *\n * <img src=\"./img/ignoreElements.png\" width=\"100%\">\n *\n * @return {Observable} an empty Observable that only calls `complete`\n * or `error`, based on which one is called by the source Observable.\n * @method ignoreElements\n * @owner Observable\n */\nfunction ignoreElements() {\n    return this.lift(new IgnoreElementsOperator());\n}\nexports.ignoreElements = ignoreElements;\n;\nvar IgnoreElementsOperator = (function () {\n    function IgnoreElementsOperator() {\n    }\n    IgnoreElementsOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new IgnoreElementsSubscriber(subscriber));\n    };\n    return IgnoreElementsOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar IgnoreElementsSubscriber = (function (_super) {\n    __extends(IgnoreElementsSubscriber, _super);\n    function IgnoreElementsSubscriber() {\n        _super.apply(this, arguments);\n    }\n    IgnoreElementsSubscriber.prototype._next = function (unused) {\n        noop_1.noop();\n    };\n    return IgnoreElementsSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=ignoreElements.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/ignoreElements.js\n// module id = 1919\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\n/**\n * If the source Observable is empty it returns an Observable that emits true, otherwise it emits false.\n *\n * <img src=\"./img/isEmpty.png\" width=\"100%\">\n *\n * @return {Observable} an Observable that emits a Boolean.\n * @method isEmpty\n * @owner Observable\n */\nfunction isEmpty() {\n    return this.lift(new IsEmptyOperator());\n}\nexports.isEmpty = isEmpty;\nvar IsEmptyOperator = (function () {\n    function IsEmptyOperator() {\n    }\n    IsEmptyOperator.prototype.call = function (observer, source) {\n        return source._subscribe(new IsEmptySubscriber(observer));\n    };\n    return IsEmptyOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar IsEmptySubscriber = (function (_super) {\n    __extends(IsEmptySubscriber, _super);\n    function IsEmptySubscriber(destination) {\n        _super.call(this, destination);\n    }\n    IsEmptySubscriber.prototype.notifyComplete = function (isEmpty) {\n        var destination = this.destination;\n        destination.next(isEmpty);\n        destination.complete();\n    };\n    IsEmptySubscriber.prototype._next = function (value) {\n        this.notifyComplete(false);\n    };\n    IsEmptySubscriber.prototype._complete = function () {\n        this.notifyComplete(true);\n    };\n    return IsEmptySubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=isEmpty.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/isEmpty.js\n// module id = 1920\n// module chunks = 0","\"use strict\";\n/**\n * @param func\n * @return {Observable<R>}\n * @method let\n * @owner Observable\n */\nfunction letProto(func) {\n    return func(this);\n}\nexports.letProto = letProto;\n//# sourceMappingURL=let.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/let.js\n// module id = 1921\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\n/**\n * Emits the given constant value on the output Observable every time the source\n * Observable emits a value.\n *\n * <span class=\"informal\">Like {@link map}, but it maps every source value to\n * the same output value every time.</span>\n *\n * <img src=\"./img/mapTo.png\" width=\"100%\">\n *\n * Takes a constant `value` as argument, and emits that whenever the source\n * Observable emits a value. In other words, ignores the actual source value,\n * and simply uses the emission moment to know when to emit the given `value`.\n *\n * @example <caption>Map every every click to the string 'Hi'</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var greetings = clicks.mapTo('Hi');\n * greetings.subscribe(x => console.log(x));\n *\n * @see {@link map}\n *\n * @param {any} value The value to map each source value to.\n * @return {Observable} An Observable that emits the given `value` every time\n * the source Observable emits something.\n * @method mapTo\n * @owner Observable\n */\nfunction mapTo(value) {\n    return this.lift(new MapToOperator(value));\n}\nexports.mapTo = mapTo;\nvar MapToOperator = (function () {\n    function MapToOperator(value) {\n        this.value = value;\n    }\n    MapToOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new MapToSubscriber(subscriber, this.value));\n    };\n    return MapToOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar MapToSubscriber = (function (_super) {\n    __extends(MapToSubscriber, _super);\n    function MapToSubscriber(destination, value) {\n        _super.call(this, destination);\n        this.value = value;\n    }\n    MapToSubscriber.prototype._next = function (x) {\n        this.destination.next(this.value);\n    };\n    return MapToSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=mapTo.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/mapTo.js\n// module id = 1922\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\nvar Notification_1 = require('../Notification');\n/**\n * Represents all of the notifications from the source Observable as `next`\n * emissions marked with their original types within {@link Notification}\n * objects.\n *\n * <span class=\"informal\">Wraps `next`, `error` and `complete` emissions in\n * {@link Notification} objects, emitted as `next` on the output Observable.\n * </span>\n *\n * <img src=\"./img/materialize.png\" width=\"100%\">\n *\n * `materialize` returns an Observable that emits a `next` notification for each\n * `next`, `error`, or `complete` emission of the source Observable. When the\n * source Observable emits `complete`, the output Observable will emit `next` as\n * a Notification of type \"complete\", and then it will emit `complete` as well.\n * When the source Observable emits `error`, the output will emit `next` as a\n * Notification of type \"error\", and then `complete`.\n *\n * This operator is useful for producing metadata of the source Observable, to\n * be consumed as `next` emissions. Use it in conjunction with\n * {@link dematerialize}.\n *\n * @example <caption>Convert a faulty Observable to an Observable of Notifications</caption>\n * var letters = Rx.Observable.of('a', 'b', 13, 'd');\n * var upperCase = letters.map(x => x.toUpperCase());\n * var materialized = upperCase.materialize();\n * materialized.subscribe(x => console.log(x));\n *\n * @see {@link Notification}\n * @see {@link dematerialize}\n *\n * @return {Observable<Notification<T>>} An Observable that emits\n * {@link Notification} objects that wrap the original emissions from the source\n * Observable with metadata.\n * @method materialize\n * @owner Observable\n */\nfunction materialize() {\n    return this.lift(new MaterializeOperator());\n}\nexports.materialize = materialize;\nvar MaterializeOperator = (function () {\n    function MaterializeOperator() {\n    }\n    MaterializeOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new MaterializeSubscriber(subscriber));\n    };\n    return MaterializeOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar MaterializeSubscriber = (function (_super) {\n    __extends(MaterializeSubscriber, _super);\n    function MaterializeSubscriber(destination) {\n        _super.call(this, destination);\n    }\n    MaterializeSubscriber.prototype._next = function (value) {\n        this.destination.next(Notification_1.Notification.createNext(value));\n    };\n    MaterializeSubscriber.prototype._error = function (err) {\n        var destination = this.destination;\n        destination.next(Notification_1.Notification.createError(err));\n        destination.complete();\n    };\n    MaterializeSubscriber.prototype._complete = function () {\n        var destination = this.destination;\n        destination.next(Notification_1.Notification.createComplete());\n        destination.complete();\n    };\n    return MaterializeSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=materialize.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/materialize.js\n// module id = 1923\n// module chunks = 0","\"use strict\";\nvar reduce_1 = require('./reduce');\n/**\n * The Max operator operates on an Observable that emits numbers (or items that can be evaluated as numbers),\n * and when source Observable completes it emits a single item: the item with the largest number.\n *\n * <img src=\"./img/max.png\" width=\"100%\">\n *\n * @param {Function} optional comparer function that it will use instead of its default to compare the value of two\n * items.\n * @return {Observable} an Observable that emits item with the largest number.\n * @method max\n * @owner Observable\n */\nfunction max(comparer) {\n    var max = (typeof comparer === 'function')\n        ? function (x, y) { return comparer(x, y) > 0 ? x : y; }\n        : function (x, y) { return x > y ? x : y; };\n    return this.lift(new reduce_1.ReduceOperator(max));\n}\nexports.max = max;\n//# sourceMappingURL=max.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/max.js\n// module id = 1924\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar tryCatch_1 = require('../util/tryCatch');\nvar errorObject_1 = require('../util/errorObject');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\nvar OuterSubscriber_1 = require('../OuterSubscriber');\n/**\n * @param project\n * @param seed\n * @param concurrent\n * @return {Observable<R>|WebSocketSubject<T>|Observable<T>}\n * @method mergeScan\n * @owner Observable\n */\nfunction mergeScan(project, seed, concurrent) {\n    if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\n    return this.lift(new MergeScanOperator(project, seed, concurrent));\n}\nexports.mergeScan = mergeScan;\nvar MergeScanOperator = (function () {\n    function MergeScanOperator(project, seed, concurrent) {\n        this.project = project;\n        this.seed = seed;\n        this.concurrent = concurrent;\n    }\n    MergeScanOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new MergeScanSubscriber(subscriber, this.project, this.seed, this.concurrent));\n    };\n    return MergeScanOperator;\n}());\nexports.MergeScanOperator = MergeScanOperator;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar MergeScanSubscriber = (function (_super) {\n    __extends(MergeScanSubscriber, _super);\n    function MergeScanSubscriber(destination, project, acc, concurrent) {\n        _super.call(this, destination);\n        this.project = project;\n        this.acc = acc;\n        this.concurrent = concurrent;\n        this.hasValue = false;\n        this.hasCompleted = false;\n        this.buffer = [];\n        this.active = 0;\n        this.index = 0;\n    }\n    MergeScanSubscriber.prototype._next = function (value) {\n        if (this.active < this.concurrent) {\n            var index = this.index++;\n            var ish = tryCatch_1.tryCatch(this.project)(this.acc, value);\n            var destination = this.destination;\n            if (ish === errorObject_1.errorObject) {\n                destination.error(errorObject_1.errorObject.e);\n            }\n            else {\n                this.active++;\n                this._innerSub(ish, value, index);\n            }\n        }\n        else {\n            this.buffer.push(value);\n        }\n    };\n    MergeScanSubscriber.prototype._innerSub = function (ish, value, index) {\n        this.add(subscribeToResult_1.subscribeToResult(this, ish, value, index));\n    };\n    MergeScanSubscriber.prototype._complete = function () {\n        this.hasCompleted = true;\n        if (this.active === 0 && this.buffer.length === 0) {\n            if (this.hasValue === false) {\n                this.destination.next(this.acc);\n            }\n            this.destination.complete();\n        }\n    };\n    MergeScanSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        var destination = this.destination;\n        this.acc = innerValue;\n        this.hasValue = true;\n        destination.next(innerValue);\n    };\n    MergeScanSubscriber.prototype.notifyComplete = function (innerSub) {\n        var buffer = this.buffer;\n        this.remove(innerSub);\n        this.active--;\n        if (buffer.length > 0) {\n            this._next(buffer.shift());\n        }\n        else if (this.active === 0 && this.hasCompleted) {\n            if (this.hasValue === false) {\n                this.destination.next(this.acc);\n            }\n            this.destination.complete();\n        }\n    };\n    return MergeScanSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\nexports.MergeScanSubscriber = MergeScanSubscriber;\n//# sourceMappingURL=mergeScan.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/mergeScan.js\n// module id = 1925\n// module chunks = 0","\"use strict\";\nvar reduce_1 = require('./reduce');\n/**\n * The Min operator operates on an Observable that emits numbers (or items that can be evaluated as numbers),\n * and when source Observable completes it emits a single item: the item with the smallest number.\n *\n * <img src=\"./img/min.png\" width=\"100%\">\n *\n * @param {Function} optional comparer function that it will use instead of its default to compare the value of two items.\n * @return {Observable<R>} an Observable that emits item with the smallest number.\n * @method min\n * @owner Observable\n */\nfunction min(comparer) {\n    var min = (typeof comparer === 'function')\n        ? function (x, y) { return comparer(x, y) < 0 ? x : y; }\n        : function (x, y) { return x < y ? x : y; };\n    return this.lift(new reduce_1.ReduceOperator(min));\n}\nexports.min = min;\n//# sourceMappingURL=min.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/min.js\n// module id = 1926\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\n/**\n * Groups pairs of consecutive emissions together and emits them as an array of\n * two values.\n *\n * <span class=\"informal\">Puts the current value and previous value together as\n * an array, and emits that.</span>\n *\n * <img src=\"./img/pairwise.png\" width=\"100%\">\n *\n * The Nth emission from the source Observable will cause the output Observable\n * to emit an array [(N-1)th, Nth] of the previous and the current value, as a\n * pair. For this reason, `pairwise` emits on the second and subsequent\n * emissions from the source Observable, but not on the first emission, because\n * there is no previous value in that case.\n *\n * @example <caption>On every click (starting from the second), emit the relative distance to the previous click</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var pairs = clicks.pairwise();\n * var distance = pairs.map(pair => {\n *   var x0 = pair[0].clientX;\n *   var y0 = pair[0].clientY;\n *   var x1 = pair[1].clientX;\n *   var y1 = pair[1].clientY;\n *   return Math.sqrt(Math.pow(x0 - x1, 2) + Math.pow(y0 - y1, 2));\n * });\n * distance.subscribe(x => console.log(x));\n *\n * @see {@link buffer}\n * @see {@link bufferCount}\n *\n * @return {Observable<Array<T>>} An Observable of pairs (as arrays) of\n * consecutive values from the source Observable.\n * @method pairwise\n * @owner Observable\n */\nfunction pairwise() {\n    return this.lift(new PairwiseOperator());\n}\nexports.pairwise = pairwise;\nvar PairwiseOperator = (function () {\n    function PairwiseOperator() {\n    }\n    PairwiseOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new PairwiseSubscriber(subscriber));\n    };\n    return PairwiseOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar PairwiseSubscriber = (function (_super) {\n    __extends(PairwiseSubscriber, _super);\n    function PairwiseSubscriber(destination) {\n        _super.call(this, destination);\n        this.hasPrev = false;\n    }\n    PairwiseSubscriber.prototype._next = function (value) {\n        if (this.hasPrev) {\n            this.destination.next([this.prev, value]);\n        }\n        else {\n            this.hasPrev = true;\n        }\n        this.prev = value;\n    };\n    return PairwiseSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=pairwise.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/pairwise.js\n// module id = 1927\n// module chunks = 0","\"use strict\";\nvar not_1 = require('../util/not');\nvar filter_1 = require('./filter');\n/**\n * Splits the source Observable into two, one with values that satisfy a\n * predicate, and another with values that don't satisfy the predicate.\n *\n * <span class=\"informal\">It's like {@link filter}, but returns two Observables:\n * one like the output of {@link filter}, and the other with values that did not\n * pass the condition.</span>\n *\n * <img src=\"./img/partition.png\" width=\"100%\">\n *\n * `partition` outputs an array with two Observables that partition the values\n * from the source Observable through the given `predicate` function. The first\n * Observable in that array emits source values for which the predicate argument\n * returns true. The second Observable emits source values for which the\n * predicate returns false. The first behaves like {@link filter} and the second\n * behaves like {@link filter} with the predicate negated.\n *\n * @example <caption>Partition click events into those on DIV elements and those elsewhere</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var parts = clicks.partition(ev => ev.target.tagName === 'DIV');\n * var clicksOnDivs = parts[0];\n * var clicksElsewhere = parts[1];\n * clicksOnDivs.subscribe(x => console.log('DIV clicked: ', x));\n * clicksElsewhere.subscribe(x => console.log('Other clicked: ', x));\n *\n * @see {@link filter}\n *\n * @param {function(value: T, index: number): boolean} predicate A function that\n * evaluates each value emitted by the source Observable. If it returns `true`,\n * the value is emitted on the first Observable in the returned array, if\n * `false` the value is emitted on the second Observable in the array. The\n * `index` parameter is the number `i` for the i-th source emission that has\n * happened since the subscription, starting from the number `0`.\n * @param {any} [thisArg] An optional argument to determine the value of `this`\n * in the `predicate` function.\n * @return {[Observable<T>, Observable<T>]} An array with two Observables: one\n * with values that passed the predicate, and another with values that did not\n * pass the predicate.\n * @method partition\n * @owner Observable\n */\nfunction partition(predicate, thisArg) {\n    return [\n        filter_1.filter.call(this, predicate),\n        filter_1.filter.call(this, not_1.not(predicate, thisArg))\n    ];\n}\nexports.partition = partition;\n//# sourceMappingURL=partition.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/partition.js\n// module id = 1928\n// module chunks = 0","\"use strict\";\nvar map_1 = require('./map');\n/**\n * Maps each source value (an object) to its specified nested property.\n *\n * <span class=\"informal\">Like {@link map}, but meant only for picking one of\n * the nested properties of every emitted object.</span>\n *\n * <img src=\"./img/pluck.png\" width=\"100%\">\n *\n * Given a list of strings describing a path to an object property, retrieves\n * the value of a specified nested property from all values in the source\n * Observable. If a property can't be resolved, it will return `undefined` for\n * that value.\n *\n * @example <caption>Map every every click to the tagName of the clicked target element</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var tagNames = clicks.pluck('target', 'tagName');\n * tagNames.subscribe(x => console.log(x));\n *\n * @see {@link map}\n *\n * @param {...string} properties The nested properties to pluck from each source\n * value (an object).\n * @return {Observable} Returns a new Observable of property values from the\n * source values.\n * @method pluck\n * @owner Observable\n */\nfunction pluck() {\n    var properties = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        properties[_i - 0] = arguments[_i];\n    }\n    var length = properties.length;\n    if (length === 0) {\n        throw new Error('list of properties cannot be empty.');\n    }\n    return map_1.map.call(this, plucker(properties, length));\n}\nexports.pluck = pluck;\nfunction plucker(props, length) {\n    var mapper = function (x) {\n        var currentProp = x;\n        for (var i = 0; i < length; i++) {\n            var p = currentProp[props[i]];\n            if (typeof p !== 'undefined') {\n                currentProp = p;\n            }\n            else {\n                return undefined;\n            }\n        }\n        return currentProp;\n    };\n    return mapper;\n}\n//# sourceMappingURL=pluck.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/pluck.js\n// module id = 1929\n// module chunks = 0","\"use strict\";\nvar Subject_1 = require('../Subject');\nvar multicast_1 = require('./multicast');\n/**\n * Returns a ConnectableObservable, which is a variety of Observable that waits until its connect method is called\n * before it begins emitting items to those Observers that have subscribed to it.\n *\n * <img src=\"./img/publish.png\" width=\"100%\">\n *\n * @param {Function} Optional selector function which can use the multicasted source sequence as many times as needed,\n * without causing multiple subscriptions to the source sequence.\n * Subscribers to the given source will receive all notifications of the source from the time of the subscription on.\n * @return a ConnectableObservable that upon connection causes the source Observable to emit items to its Observers.\n * @method publish\n * @owner Observable\n */\nfunction publish(selector) {\n    return selector ? multicast_1.multicast.call(this, function () { return new Subject_1.Subject(); }, selector) :\n        multicast_1.multicast.call(this, new Subject_1.Subject());\n}\nexports.publish = publish;\n//# sourceMappingURL=publish.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/publish.js\n// module id = 1930\n// module chunks = 0","\"use strict\";\nvar BehaviorSubject_1 = require('../BehaviorSubject');\nvar multicast_1 = require('./multicast');\n/**\n * @param value\n * @return {ConnectableObservable<T>}\n * @method publishBehavior\n * @owner Observable\n */\nfunction publishBehavior(value) {\n    return multicast_1.multicast.call(this, new BehaviorSubject_1.BehaviorSubject(value));\n}\nexports.publishBehavior = publishBehavior;\n//# sourceMappingURL=publishBehavior.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/publishBehavior.js\n// module id = 1931\n// module chunks = 0","\"use strict\";\nvar AsyncSubject_1 = require('../AsyncSubject');\nvar multicast_1 = require('./multicast');\n/**\n * @return {ConnectableObservable<T>}\n * @method publishLast\n * @owner Observable\n */\nfunction publishLast() {\n    return multicast_1.multicast.call(this, new AsyncSubject_1.AsyncSubject());\n}\nexports.publishLast = publishLast;\n//# sourceMappingURL=publishLast.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/publishLast.js\n// module id = 1932\n// module chunks = 0","\"use strict\";\nvar ReplaySubject_1 = require('../ReplaySubject');\nvar multicast_1 = require('./multicast');\n/**\n * @param bufferSize\n * @param windowTime\n * @param scheduler\n * @return {ConnectableObservable<T>}\n * @method publishReplay\n * @owner Observable\n */\nfunction publishReplay(bufferSize, windowTime, scheduler) {\n    if (bufferSize === void 0) { bufferSize = Number.POSITIVE_INFINITY; }\n    if (windowTime === void 0) { windowTime = Number.POSITIVE_INFINITY; }\n    return multicast_1.multicast.call(this, new ReplaySubject_1.ReplaySubject(bufferSize, windowTime, scheduler));\n}\nexports.publishReplay = publishReplay;\n//# sourceMappingURL=publishReplay.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/publishReplay.js\n// module id = 1933\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\nvar EmptyObservable_1 = require('../observable/EmptyObservable');\n/**\n * Returns an Observable that repeats the stream of items emitted by the source Observable at most count times,\n * on a particular Scheduler.\n *\n * <img src=\"./img/repeat.png\" width=\"100%\">\n *\n * @param {Scheduler} [scheduler] the Scheduler to emit the items on.\n * @param {number} [count] the number of times the source Observable items are repeated, a count of 0 will yield\n * an empty Observable.\n * @return {Observable} an Observable that repeats the stream of items emitted by the source Observable at most\n * count times.\n * @method repeat\n * @owner Observable\n */\nfunction repeat(count) {\n    if (count === void 0) { count = -1; }\n    if (count === 0) {\n        return new EmptyObservable_1.EmptyObservable();\n    }\n    else if (count < 0) {\n        return this.lift(new RepeatOperator(-1, this));\n    }\n    else {\n        return this.lift(new RepeatOperator(count - 1, this));\n    }\n}\nexports.repeat = repeat;\nvar RepeatOperator = (function () {\n    function RepeatOperator(count, source) {\n        this.count = count;\n        this.source = source;\n    }\n    RepeatOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new RepeatSubscriber(subscriber, this.count, this.source));\n    };\n    return RepeatOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar RepeatSubscriber = (function (_super) {\n    __extends(RepeatSubscriber, _super);\n    function RepeatSubscriber(destination, count, source) {\n        _super.call(this, destination);\n        this.count = count;\n        this.source = source;\n    }\n    RepeatSubscriber.prototype.complete = function () {\n        if (!this.isStopped) {\n            var _a = this, source = _a.source, count = _a.count;\n            if (count === 0) {\n                return _super.prototype.complete.call(this);\n            }\n            else if (count > -1) {\n                this.count = count - 1;\n            }\n            this.unsubscribe();\n            this.isStopped = false;\n            this.closed = false;\n            source.subscribe(this);\n        }\n    };\n    return RepeatSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=repeat.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/repeat.js\n// module id = 1934\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subject_1 = require('../Subject');\nvar tryCatch_1 = require('../util/tryCatch');\nvar errorObject_1 = require('../util/errorObject');\nvar OuterSubscriber_1 = require('../OuterSubscriber');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\n/**\n * Returns an Observable that emits the same values as the source observable with the exception of a `complete`.\n * A `complete` will cause the emission of the Throwable that cause the complete to the Observable returned from\n * notificationHandler. If that Observable calls onComplete or `complete` then retry will call `complete` or `error`\n * on the child subscription. Otherwise, this Observable will resubscribe to the source observable, on a particular\n * Scheduler.\n *\n * <img src=\"./img/repeatWhen.png\" width=\"100%\">\n *\n * @param {notificationHandler} receives an Observable of notifications with which a user can `complete` or `error`,\n * aborting the retry.\n * @param {scheduler} the Scheduler on which to subscribe to the source Observable.\n * @return {Observable} the source Observable modified with retry logic.\n * @method repeatWhen\n * @owner Observable\n */\nfunction repeatWhen(notifier) {\n    return this.lift(new RepeatWhenOperator(notifier, this));\n}\nexports.repeatWhen = repeatWhen;\nvar RepeatWhenOperator = (function () {\n    function RepeatWhenOperator(notifier, source) {\n        this.notifier = notifier;\n        this.source = source;\n    }\n    RepeatWhenOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new RepeatWhenSubscriber(subscriber, this.notifier, this.source));\n    };\n    return RepeatWhenOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar RepeatWhenSubscriber = (function (_super) {\n    __extends(RepeatWhenSubscriber, _super);\n    function RepeatWhenSubscriber(destination, notifier, source) {\n        _super.call(this, destination);\n        this.notifier = notifier;\n        this.source = source;\n    }\n    RepeatWhenSubscriber.prototype.complete = function () {\n        if (!this.isStopped) {\n            var notifications = this.notifications;\n            var retries = this.retries;\n            var retriesSubscription = this.retriesSubscription;\n            if (!retries) {\n                notifications = new Subject_1.Subject();\n                retries = tryCatch_1.tryCatch(this.notifier)(notifications);\n                if (retries === errorObject_1.errorObject) {\n                    return _super.prototype.complete.call(this);\n                }\n                retriesSubscription = subscribeToResult_1.subscribeToResult(this, retries);\n            }\n            else {\n                this.notifications = null;\n                this.retriesSubscription = null;\n            }\n            this.unsubscribe();\n            this.closed = false;\n            this.notifications = notifications;\n            this.retries = retries;\n            this.retriesSubscription = retriesSubscription;\n            notifications.next();\n        }\n    };\n    RepeatWhenSubscriber.prototype._unsubscribe = function () {\n        var _a = this, notifications = _a.notifications, retriesSubscription = _a.retriesSubscription;\n        if (notifications) {\n            notifications.unsubscribe();\n            this.notifications = null;\n        }\n        if (retriesSubscription) {\n            retriesSubscription.unsubscribe();\n            this.retriesSubscription = null;\n        }\n        this.retries = null;\n    };\n    RepeatWhenSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        var _a = this, notifications = _a.notifications, retries = _a.retries, retriesSubscription = _a.retriesSubscription;\n        this.notifications = null;\n        this.retries = null;\n        this.retriesSubscription = null;\n        this.unsubscribe();\n        this.isStopped = false;\n        this.closed = false;\n        this.notifications = notifications;\n        this.retries = retries;\n        this.retriesSubscription = retriesSubscription;\n        this.source.subscribe(this);\n    };\n    return RepeatWhenSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=repeatWhen.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/repeatWhen.js\n// module id = 1935\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\n/**\n * Returns an Observable that mirrors the source Observable, resubscribing to it if it calls `error` and the\n * predicate returns true for that specific exception and retry count.\n * If the source Observable calls `error`, this method will resubscribe to the source Observable for a maximum of\n * count resubscriptions (given as a number parameter) rather than propagating the `error` call.\n *\n * <img src=\"./img/retry.png\" width=\"100%\">\n *\n * Any and all items emitted by the source Observable will be emitted by the resulting Observable, even those emitted\n * during failed subscriptions. For example, if an Observable fails at first but emits [1, 2] then succeeds the second\n * time and emits: [1, 2, 3, 4, 5] then the complete stream of emissions and notifications\n * would be: [1, 2, 1, 2, 3, 4, 5, `complete`].\n * @param {number} number of retry attempts before failing.\n * @return {Observable} the source Observable modified with the retry logic.\n * @method retry\n * @owner Observable\n */\nfunction retry(count) {\n    if (count === void 0) { count = -1; }\n    return this.lift(new RetryOperator(count, this));\n}\nexports.retry = retry;\nvar RetryOperator = (function () {\n    function RetryOperator(count, source) {\n        this.count = count;\n        this.source = source;\n    }\n    RetryOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new RetrySubscriber(subscriber, this.count, this.source));\n    };\n    return RetryOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar RetrySubscriber = (function (_super) {\n    __extends(RetrySubscriber, _super);\n    function RetrySubscriber(destination, count, source) {\n        _super.call(this, destination);\n        this.count = count;\n        this.source = source;\n    }\n    RetrySubscriber.prototype.error = function (err) {\n        if (!this.isStopped) {\n            var _a = this, source = _a.source, count = _a.count;\n            if (count === 0) {\n                return _super.prototype.error.call(this, err);\n            }\n            else if (count > -1) {\n                this.count = count - 1;\n            }\n            this.unsubscribe();\n            this.isStopped = false;\n            this.closed = false;\n            source.subscribe(this);\n        }\n    };\n    return RetrySubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=retry.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/retry.js\n// module id = 1936\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subject_1 = require('../Subject');\nvar tryCatch_1 = require('../util/tryCatch');\nvar errorObject_1 = require('../util/errorObject');\nvar OuterSubscriber_1 = require('../OuterSubscriber');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\n/**\n * Returns an Observable that emits the same values as the source observable with the exception of an `error`.\n * An `error` will cause the emission of the Throwable that cause the error to the Observable returned from\n * notificationHandler. If that Observable calls onComplete or `error` then retry will call `complete` or `error`\n * on the child subscription. Otherwise, this Observable will resubscribe to the source observable, on a particular\n * Scheduler.\n *\n * <img src=\"./img/retryWhen.png\" width=\"100%\">\n *\n * @param {notificationHandler} receives an Observable of notifications with which a user can `complete` or `error`,\n * aborting the retry.\n * @param {scheduler} the Scheduler on which to subscribe to the source Observable.\n * @return {Observable} the source Observable modified with retry logic.\n * @method retryWhen\n * @owner Observable\n */\nfunction retryWhen(notifier) {\n    return this.lift(new RetryWhenOperator(notifier, this));\n}\nexports.retryWhen = retryWhen;\nvar RetryWhenOperator = (function () {\n    function RetryWhenOperator(notifier, source) {\n        this.notifier = notifier;\n        this.source = source;\n    }\n    RetryWhenOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new RetryWhenSubscriber(subscriber, this.notifier, this.source));\n    };\n    return RetryWhenOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar RetryWhenSubscriber = (function (_super) {\n    __extends(RetryWhenSubscriber, _super);\n    function RetryWhenSubscriber(destination, notifier, source) {\n        _super.call(this, destination);\n        this.notifier = notifier;\n        this.source = source;\n    }\n    RetryWhenSubscriber.prototype.error = function (err) {\n        if (!this.isStopped) {\n            var errors = this.errors;\n            var retries = this.retries;\n            var retriesSubscription = this.retriesSubscription;\n            if (!retries) {\n                errors = new Subject_1.Subject();\n                retries = tryCatch_1.tryCatch(this.notifier)(errors);\n                if (retries === errorObject_1.errorObject) {\n                    return _super.prototype.error.call(this, errorObject_1.errorObject.e);\n                }\n                retriesSubscription = subscribeToResult_1.subscribeToResult(this, retries);\n            }\n            else {\n                this.errors = null;\n                this.retriesSubscription = null;\n            }\n            this.unsubscribe();\n            this.closed = false;\n            this.errors = errors;\n            this.retries = retries;\n            this.retriesSubscription = retriesSubscription;\n            errors.next(err);\n        }\n    };\n    RetryWhenSubscriber.prototype._unsubscribe = function () {\n        var _a = this, errors = _a.errors, retriesSubscription = _a.retriesSubscription;\n        if (errors) {\n            errors.unsubscribe();\n            this.errors = null;\n        }\n        if (retriesSubscription) {\n            retriesSubscription.unsubscribe();\n            this.retriesSubscription = null;\n        }\n        this.retries = null;\n    };\n    RetryWhenSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        var _a = this, errors = _a.errors, retries = _a.retries, retriesSubscription = _a.retriesSubscription;\n        this.errors = null;\n        this.retries = null;\n        this.retriesSubscription = null;\n        this.unsubscribe();\n        this.isStopped = false;\n        this.closed = false;\n        this.errors = errors;\n        this.retries = retries;\n        this.retriesSubscription = retriesSubscription;\n        this.source.subscribe(this);\n    };\n    return RetryWhenSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=retryWhen.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/retryWhen.js\n// module id = 1937\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar OuterSubscriber_1 = require('../OuterSubscriber');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\n/**\n * Emits the most recently emitted value from the source Observable whenever\n * another Observable, the `notifier`, emits.\n *\n * <span class=\"informal\">It's like {@link sampleTime}, but samples whenever\n * the `notifier` Observable emits something.</span>\n *\n * <img src=\"./img/sample.png\" width=\"100%\">\n *\n * Whenever the `notifier` Observable emits a value or completes, `sample`\n * looks at the source Observable and emits whichever value it has most recently\n * emitted since the previous sampling, unless the source has not emitted\n * anything since the previous sampling. The `notifier` is subscribed to as soon\n * as the output Observable is subscribed.\n *\n * @example <caption>On every click, sample the most recent \"seconds\" timer</caption>\n * var seconds = Rx.Observable.interval(1000);\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = seconds.sample(clicks);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link audit}\n * @see {@link debounce}\n * @see {@link sampleTime}\n * @see {@link throttle}\n *\n * @param {Observable<any>} notifier The Observable to use for sampling the\n * source Observable.\n * @return {Observable<T>} An Observable that emits the results of sampling the\n * values emitted by the source Observable whenever the notifier Observable\n * emits value or completes.\n * @method sample\n * @owner Observable\n */\nfunction sample(notifier) {\n    return this.lift(new SampleOperator(notifier));\n}\nexports.sample = sample;\nvar SampleOperator = (function () {\n    function SampleOperator(notifier) {\n        this.notifier = notifier;\n    }\n    SampleOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new SampleSubscriber(subscriber, this.notifier));\n    };\n    return SampleOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SampleSubscriber = (function (_super) {\n    __extends(SampleSubscriber, _super);\n    function SampleSubscriber(destination, notifier) {\n        _super.call(this, destination);\n        this.hasValue = false;\n        this.add(subscribeToResult_1.subscribeToResult(this, notifier));\n    }\n    SampleSubscriber.prototype._next = function (value) {\n        this.value = value;\n        this.hasValue = true;\n    };\n    SampleSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        this.emitValue();\n    };\n    SampleSubscriber.prototype.notifyComplete = function () {\n        this.emitValue();\n    };\n    SampleSubscriber.prototype.emitValue = function () {\n        if (this.hasValue) {\n            this.hasValue = false;\n            this.destination.next(this.value);\n        }\n    };\n    return SampleSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=sample.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/sample.js\n// module id = 1938\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\nvar async_1 = require('../scheduler/async');\n/**\n * Emits the most recently emitted value from the source Observable within\n * periodic time intervals.\n *\n * <span class=\"informal\">Samples the source Observable at periodic time\n * intervals, emitting what it samples.</span>\n *\n * <img src=\"./img/sampleTime.png\" width=\"100%\">\n *\n * `sampleTime` periodically looks at the source Observable and emits whichever\n * value it has most recently emitted since the previous sampling, unless the\n * source has not emitted anything since the previous sampling. The sampling\n * happens periodically in time every `period` milliseconds (or the time unit\n * defined by the optional `scheduler` argument). The sampling starts as soon as\n * the output Observable is subscribed.\n *\n * @example <caption>Every second, emit the most recent click at most once</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.sampleTime(1000);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link auditTime}\n * @see {@link debounceTime}\n * @see {@link delay}\n * @see {@link sample}\n * @see {@link throttleTime}\n *\n * @param {number} period The sampling period expressed in milliseconds or the\n * time unit determined internally by the optional `scheduler`.\n * @param {Scheduler} [scheduler=async] The {@link Scheduler} to use for\n * managing the timers that handle the sampling.\n * @return {Observable<T>} An Observable that emits the results of sampling the\n * values emitted by the source Observable at the specified time interval.\n * @method sampleTime\n * @owner Observable\n */\nfunction sampleTime(period, scheduler) {\n    if (scheduler === void 0) { scheduler = async_1.async; }\n    return this.lift(new SampleTimeOperator(period, scheduler));\n}\nexports.sampleTime = sampleTime;\nvar SampleTimeOperator = (function () {\n    function SampleTimeOperator(period, scheduler) {\n        this.period = period;\n        this.scheduler = scheduler;\n    }\n    SampleTimeOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new SampleTimeSubscriber(subscriber, this.period, this.scheduler));\n    };\n    return SampleTimeOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SampleTimeSubscriber = (function (_super) {\n    __extends(SampleTimeSubscriber, _super);\n    function SampleTimeSubscriber(destination, period, scheduler) {\n        _super.call(this, destination);\n        this.period = period;\n        this.scheduler = scheduler;\n        this.hasValue = false;\n        this.add(scheduler.schedule(dispatchNotification, period, { subscriber: this, period: period }));\n    }\n    SampleTimeSubscriber.prototype._next = function (value) {\n        this.lastValue = value;\n        this.hasValue = true;\n    };\n    SampleTimeSubscriber.prototype.notifyNext = function () {\n        if (this.hasValue) {\n            this.hasValue = false;\n            this.destination.next(this.lastValue);\n        }\n    };\n    return SampleTimeSubscriber;\n}(Subscriber_1.Subscriber));\nfunction dispatchNotification(state) {\n    var subscriber = state.subscriber, period = state.period;\n    subscriber.notifyNext();\n    this.schedule(state, period);\n}\n//# sourceMappingURL=sampleTime.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/sampleTime.js\n// module id = 1939\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\n/**\n * Applies an accumulator function over the source Observable, and returns each\n * intermediate result, with an optional seed value.\n *\n * <span class=\"informal\">It's like {@link reduce}, but emits the current\n * accumulation whenever the source emits a value.</span>\n *\n * <img src=\"./img/scan.png\" width=\"100%\">\n *\n * Combines together all values emitted on the source, using an accumulator\n * function that knows how to join a new source value into the accumulation from\n * the past. Is similar to {@link reduce}, but emits the intermediate\n * accumulations.\n *\n * Returns an Observable that applies a specified `accumulator` function to each\n * item emitted by the source Observable. If a `seed` value is specified, then\n * that value will be used as the initial value for the accumulator. If no seed\n * value is specified, the first item of the source is used as the seed.\n *\n * @example <caption>Count the number of click events</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var ones = clicks.mapTo(1);\n * var seed = 0;\n * var count = ones.scan((acc, one) => acc + one, seed);\n * count.subscribe(x => console.log(x));\n *\n * @see {@link expand}\n * @see {@link mergeScan}\n * @see {@link reduce}\n *\n * @param {function(acc: R, value: T, index: number): R} accumulator\n * The accumulator function called on each source value.\n * @param {T|R} [seed] The initial accumulation value.\n * @return {Observable<R>} An observable of the accumulated values.\n * @method scan\n * @owner Observable\n */\nfunction scan(accumulator, seed) {\n    return this.lift(new ScanOperator(accumulator, seed));\n}\nexports.scan = scan;\nvar ScanOperator = (function () {\n    function ScanOperator(accumulator, seed) {\n        this.accumulator = accumulator;\n        this.seed = seed;\n    }\n    ScanOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new ScanSubscriber(subscriber, this.accumulator, this.seed));\n    };\n    return ScanOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar ScanSubscriber = (function (_super) {\n    __extends(ScanSubscriber, _super);\n    function ScanSubscriber(destination, accumulator, seed) {\n        _super.call(this, destination);\n        this.accumulator = accumulator;\n        this.index = 0;\n        this.accumulatorSet = false;\n        this.seed = seed;\n        this.accumulatorSet = typeof seed !== 'undefined';\n    }\n    Object.defineProperty(ScanSubscriber.prototype, \"seed\", {\n        get: function () {\n            return this._seed;\n        },\n        set: function (value) {\n            this.accumulatorSet = true;\n            this._seed = value;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    ScanSubscriber.prototype._next = function (value) {\n        if (!this.accumulatorSet) {\n            this.seed = value;\n            this.destination.next(value);\n        }\n        else {\n            return this._tryNext(value);\n        }\n    };\n    ScanSubscriber.prototype._tryNext = function (value) {\n        var index = this.index++;\n        var result;\n        try {\n            result = this.accumulator(this.seed, value, index);\n        }\n        catch (err) {\n            this.destination.error(err);\n        }\n        this.seed = result;\n        this.destination.next(result);\n    };\n    return ScanSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=scan.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/scan.js\n// module id = 1940\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\nvar tryCatch_1 = require('../util/tryCatch');\nvar errorObject_1 = require('../util/errorObject');\n/**\n * Compares all values of two observables in sequence using an optional comparor function\n * and returns an observable of a single boolean value representing whether or not the two sequences\n * are equal.\n *\n * <span class=\"informal\">Checks to see of all values emitted by both observables are equal, in order.</span>\n *\n * <img src=\"./img/sequenceEqual.png\" width=\"100%\">\n *\n * `sequenceEqual` subscribes to two observables and buffers incoming values from each observable. Whenever either\n * observable emits a value, the value is buffered and the buffers are shifted and compared from the bottom\n * up; If any value pair doesn't match, the returned observable will emit `false` and complete. If one of the\n * observables completes, the operator will wait for the other observable to complete; If the other\n * observable emits before completing, the returned observable will emit `false` and complete. If one observable never\n * completes or emits after the other complets, the returned observable will never complete.\n *\n * @example <caption>figure out if the Konami code matches</caption>\n * var code = Observable.from([\n *  \"ArrowUp\",\n *  \"ArrowUp\",\n *  \"ArrowDown\",\n *  \"ArrowDown\",\n *  \"ArrowLeft\",\n *  \"ArrowRight\",\n *  \"ArrowLeft\",\n *  \"ArrowRight\",\n *  \"KeyB\",\n *  \"KeyA\",\n *  \"Enter\" // no start key, clearly.\n * ]);\n *\n * var keys = Rx.Observable.fromEvent(document, 'keyup')\n *  .map(e => e.code);\n * var matches = keys.bufferCount(11, 1)\n *  .mergeMap(\n *    last11 =>\n *      Rx.Observable.from(last11)\n *        .sequenceEqual(code)\n *   );\n * matches.subscribe(matched => console.log('Successful cheat at Contra? ', matched));\n *\n * @see {@link combineLatest}\n * @see {@link zip}\n * @see {@link withLatestFrom}\n *\n * @param {Observable} compareTo the observable sequence to compare the source sequence to.\n * @param {function} [comparor] An optional function to compare each value pair\n * @return {Observable} An Observable of a single boolean value representing whether or not\n * the values emitted by both observables were equal in sequence\n * @method sequenceEqual\n * @owner Observable\n */\nfunction sequenceEqual(compareTo, comparor) {\n    return this.lift(new SequenceEqualOperator(compareTo, comparor));\n}\nexports.sequenceEqual = sequenceEqual;\nvar SequenceEqualOperator = (function () {\n    function SequenceEqualOperator(compareTo, comparor) {\n        this.compareTo = compareTo;\n        this.comparor = comparor;\n    }\n    SequenceEqualOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new SequenceEqualSubscriber(subscriber, this.compareTo, this.comparor));\n    };\n    return SequenceEqualOperator;\n}());\nexports.SequenceEqualOperator = SequenceEqualOperator;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SequenceEqualSubscriber = (function (_super) {\n    __extends(SequenceEqualSubscriber, _super);\n    function SequenceEqualSubscriber(destination, compareTo, comparor) {\n        _super.call(this, destination);\n        this.compareTo = compareTo;\n        this.comparor = comparor;\n        this._a = [];\n        this._b = [];\n        this._oneComplete = false;\n        this.add(compareTo.subscribe(new SequenceEqualCompareToSubscriber(destination, this)));\n    }\n    SequenceEqualSubscriber.prototype._next = function (value) {\n        if (this._oneComplete && this._b.length === 0) {\n            this.emit(false);\n        }\n        else {\n            this._a.push(value);\n            this.checkValues();\n        }\n    };\n    SequenceEqualSubscriber.prototype._complete = function () {\n        if (this._oneComplete) {\n            this.emit(this._a.length === 0 && this._b.length === 0);\n        }\n        else {\n            this._oneComplete = true;\n        }\n    };\n    SequenceEqualSubscriber.prototype.checkValues = function () {\n        var _c = this, _a = _c._a, _b = _c._b, comparor = _c.comparor;\n        while (_a.length > 0 && _b.length > 0) {\n            var a = _a.shift();\n            var b = _b.shift();\n            var areEqual = false;\n            if (comparor) {\n                areEqual = tryCatch_1.tryCatch(comparor)(a, b);\n                if (areEqual === errorObject_1.errorObject) {\n                    this.destination.error(errorObject_1.errorObject.e);\n                }\n            }\n            else {\n                areEqual = a === b;\n            }\n            if (!areEqual) {\n                this.emit(false);\n            }\n        }\n    };\n    SequenceEqualSubscriber.prototype.emit = function (value) {\n        var destination = this.destination;\n        destination.next(value);\n        destination.complete();\n    };\n    SequenceEqualSubscriber.prototype.nextB = function (value) {\n        if (this._oneComplete && this._a.length === 0) {\n            this.emit(false);\n        }\n        else {\n            this._b.push(value);\n            this.checkValues();\n        }\n    };\n    return SequenceEqualSubscriber;\n}(Subscriber_1.Subscriber));\nexports.SequenceEqualSubscriber = SequenceEqualSubscriber;\nvar SequenceEqualCompareToSubscriber = (function (_super) {\n    __extends(SequenceEqualCompareToSubscriber, _super);\n    function SequenceEqualCompareToSubscriber(destination, parent) {\n        _super.call(this, destination);\n        this.parent = parent;\n    }\n    SequenceEqualCompareToSubscriber.prototype._next = function (value) {\n        this.parent.nextB(value);\n    };\n    SequenceEqualCompareToSubscriber.prototype._error = function (err) {\n        this.parent.error(err);\n    };\n    SequenceEqualCompareToSubscriber.prototype._complete = function () {\n        this.parent._complete();\n    };\n    return SequenceEqualCompareToSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=sequenceEqual.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/sequenceEqual.js\n// module id = 1941\n// module chunks = 0","\"use strict\";\nvar multicast_1 = require('./multicast');\nvar Subject_1 = require('../Subject');\nfunction shareSubjectFactory() {\n    return new Subject_1.Subject();\n}\n/**\n * Returns a new Observable that multicasts (shares) the original Observable. As long as there is at least one\n * Subscriber this Observable will be subscribed and emitting data. When all subscribers have unsubscribed it will\n * unsubscribe from the source Observable. Because the Observable is multicasting it makes the stream `hot`.\n * This is an alias for .publish().refCount().\n *\n * <img src=\"./img/share.png\" width=\"100%\">\n *\n * @return {Observable<T>} an Observable that upon connection causes the source Observable to emit items to its Observers\n * @method share\n * @owner Observable\n */\nfunction share() {\n    return multicast_1.multicast.call(this, shareSubjectFactory).refCount();\n}\nexports.share = share;\n;\n//# sourceMappingURL=share.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/share.js\n// module id = 1942\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\nvar EmptyError_1 = require('../util/EmptyError');\n/**\n * Returns an Observable that emits the single item emitted by the source Observable that matches a specified\n * predicate, if that Observable emits one such item. If the source Observable emits more than one such item or no\n * such items, notify of an IllegalArgumentException or NoSuchElementException respectively.\n *\n * <img src=\"./img/single.png\" width=\"100%\">\n *\n * @throws {EmptyError} Delivers an EmptyError to the Observer's `error`\n * callback if the Observable completes before any `next` notification was sent.\n * @param {Function} a predicate function to evaluate items emitted by the source Observable.\n * @return {Observable<T>} an Observable that emits the single item emitted by the source Observable that matches\n * the predicate.\n .\n * @method single\n * @owner Observable\n */\nfunction single(predicate) {\n    return this.lift(new SingleOperator(predicate, this));\n}\nexports.single = single;\nvar SingleOperator = (function () {\n    function SingleOperator(predicate, source) {\n        this.predicate = predicate;\n        this.source = source;\n    }\n    SingleOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new SingleSubscriber(subscriber, this.predicate, this.source));\n    };\n    return SingleOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SingleSubscriber = (function (_super) {\n    __extends(SingleSubscriber, _super);\n    function SingleSubscriber(destination, predicate, source) {\n        _super.call(this, destination);\n        this.predicate = predicate;\n        this.source = source;\n        this.seenValue = false;\n        this.index = 0;\n    }\n    SingleSubscriber.prototype.applySingleValue = function (value) {\n        if (this.seenValue) {\n            this.destination.error('Sequence contains more than one element');\n        }\n        else {\n            this.seenValue = true;\n            this.singleValue = value;\n        }\n    };\n    SingleSubscriber.prototype._next = function (value) {\n        var predicate = this.predicate;\n        this.index++;\n        if (predicate) {\n            this.tryNext(value);\n        }\n        else {\n            this.applySingleValue(value);\n        }\n    };\n    SingleSubscriber.prototype.tryNext = function (value) {\n        try {\n            var result = this.predicate(value, this.index, this.source);\n            if (result) {\n                this.applySingleValue(value);\n            }\n        }\n        catch (err) {\n            this.destination.error(err);\n        }\n    };\n    SingleSubscriber.prototype._complete = function () {\n        var destination = this.destination;\n        if (this.index > 0) {\n            destination.next(this.seenValue ? this.singleValue : undefined);\n            destination.complete();\n        }\n        else {\n            destination.error(new EmptyError_1.EmptyError);\n        }\n    };\n    return SingleSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=single.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/single.js\n// module id = 1943\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\n/**\n * Returns an Observable that skips `n` items emitted by an Observable.\n *\n * <img src=\"./img/skip.png\" width=\"100%\">\n *\n * @param {Number} the `n` of times, items emitted by source Observable should be skipped.\n * @return {Observable} an Observable that skips values emitted by the source Observable.\n *\n * @method skip\n * @owner Observable\n */\nfunction skip(total) {\n    return this.lift(new SkipOperator(total));\n}\nexports.skip = skip;\nvar SkipOperator = (function () {\n    function SkipOperator(total) {\n        this.total = total;\n    }\n    SkipOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new SkipSubscriber(subscriber, this.total));\n    };\n    return SkipOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SkipSubscriber = (function (_super) {\n    __extends(SkipSubscriber, _super);\n    function SkipSubscriber(destination, total) {\n        _super.call(this, destination);\n        this.total = total;\n        this.count = 0;\n    }\n    SkipSubscriber.prototype._next = function (x) {\n        if (++this.count > this.total) {\n            this.destination.next(x);\n        }\n    };\n    return SkipSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=skip.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/skip.js\n// module id = 1944\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar OuterSubscriber_1 = require('../OuterSubscriber');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\n/**\n * Returns an Observable that skips items emitted by the source Observable until a second Observable emits an item.\n *\n * <img src=\"./img/skipUntil.png\" width=\"100%\">\n *\n * @param {Observable} the second Observable that has to emit an item before the source Observable's elements begin to\n * be mirrored by the resulting Observable.\n * @return {Observable<T>} an Observable that skips items from the source Observable until the second Observable emits\n * an item, then emits the remaining items.\n * @method skipUntil\n * @owner Observable\n */\nfunction skipUntil(notifier) {\n    return this.lift(new SkipUntilOperator(notifier));\n}\nexports.skipUntil = skipUntil;\nvar SkipUntilOperator = (function () {\n    function SkipUntilOperator(notifier) {\n        this.notifier = notifier;\n    }\n    SkipUntilOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new SkipUntilSubscriber(subscriber, this.notifier));\n    };\n    return SkipUntilOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SkipUntilSubscriber = (function (_super) {\n    __extends(SkipUntilSubscriber, _super);\n    function SkipUntilSubscriber(destination, notifier) {\n        _super.call(this, destination);\n        this.hasValue = false;\n        this.isInnerStopped = false;\n        this.add(subscribeToResult_1.subscribeToResult(this, notifier));\n    }\n    SkipUntilSubscriber.prototype._next = function (value) {\n        if (this.hasValue) {\n            _super.prototype._next.call(this, value);\n        }\n    };\n    SkipUntilSubscriber.prototype._complete = function () {\n        if (this.isInnerStopped) {\n            _super.prototype._complete.call(this);\n        }\n        else {\n            this.unsubscribe();\n        }\n    };\n    SkipUntilSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        this.hasValue = true;\n    };\n    SkipUntilSubscriber.prototype.notifyComplete = function () {\n        this.isInnerStopped = true;\n        if (this.isStopped) {\n            _super.prototype._complete.call(this);\n        }\n    };\n    return SkipUntilSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=skipUntil.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/skipUntil.js\n// module id = 1945\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\n/**\n * Returns an Observable that skips all items emitted by the source Observable as long as a specified condition holds\n * true, but emits all further source items as soon as the condition becomes false.\n *\n * <img src=\"./img/skipWhile.png\" width=\"100%\">\n *\n * @param {Function} predicate - a function to test each item emitted from the source Observable.\n * @return {Observable<T>} an Observable that begins emitting items emitted by the source Observable when the\n * specified predicate becomes false.\n * @method skipWhile\n * @owner Observable\n */\nfunction skipWhile(predicate) {\n    return this.lift(new SkipWhileOperator(predicate));\n}\nexports.skipWhile = skipWhile;\nvar SkipWhileOperator = (function () {\n    function SkipWhileOperator(predicate) {\n        this.predicate = predicate;\n    }\n    SkipWhileOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new SkipWhileSubscriber(subscriber, this.predicate));\n    };\n    return SkipWhileOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SkipWhileSubscriber = (function (_super) {\n    __extends(SkipWhileSubscriber, _super);\n    function SkipWhileSubscriber(destination, predicate) {\n        _super.call(this, destination);\n        this.predicate = predicate;\n        this.skipping = true;\n        this.index = 0;\n    }\n    SkipWhileSubscriber.prototype._next = function (value) {\n        var destination = this.destination;\n        if (this.skipping) {\n            this.tryCallPredicate(value);\n        }\n        if (!this.skipping) {\n            destination.next(value);\n        }\n    };\n    SkipWhileSubscriber.prototype.tryCallPredicate = function (value) {\n        try {\n            var result = this.predicate(value, this.index++);\n            this.skipping = Boolean(result);\n        }\n        catch (err) {\n            this.destination.error(err);\n        }\n    };\n    return SkipWhileSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=skipWhile.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/skipWhile.js\n// module id = 1946\n// module chunks = 0","\"use strict\";\nvar ArrayObservable_1 = require('../observable/ArrayObservable');\nvar ScalarObservable_1 = require('../observable/ScalarObservable');\nvar EmptyObservable_1 = require('../observable/EmptyObservable');\nvar concat_1 = require('./concat');\nvar isScheduler_1 = require('../util/isScheduler');\n/**\n * Returns an Observable that emits the items in a specified Iterable before it begins to emit items emitted by the\n * source Observable.\n *\n * <img src=\"./img/startWith.png\" width=\"100%\">\n *\n * @param {Values} an Iterable that contains the items you want the modified Observable to emit first.\n * @return {Observable} an Observable that emits the items in the specified Iterable and then emits the items\n * emitted by the source Observable.\n * @method startWith\n * @owner Observable\n */\nfunction startWith() {\n    var array = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        array[_i - 0] = arguments[_i];\n    }\n    var scheduler = array[array.length - 1];\n    if (isScheduler_1.isScheduler(scheduler)) {\n        array.pop();\n    }\n    else {\n        scheduler = null;\n    }\n    var len = array.length;\n    if (len === 1) {\n        return concat_1.concatStatic(new ScalarObservable_1.ScalarObservable(array[0], scheduler), this);\n    }\n    else if (len > 1) {\n        return concat_1.concatStatic(new ArrayObservable_1.ArrayObservable(array, scheduler), this);\n    }\n    else {\n        return concat_1.concatStatic(new EmptyObservable_1.EmptyObservable(scheduler), this);\n    }\n}\nexports.startWith = startWith;\n//# sourceMappingURL=startWith.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/startWith.js\n// module id = 1947\n// module chunks = 0","\"use strict\";\nvar SubscribeOnObservable_1 = require('../observable/SubscribeOnObservable');\n/**\n * Asynchronously subscribes Observers to this Observable on the specified Scheduler.\n *\n * <img src=\"./img/subscribeOn.png\" width=\"100%\">\n *\n * @param {Scheduler} the Scheduler to perform subscription actions on.\n * @return {Observable<T>} the source Observable modified so that its subscriptions happen on the specified Scheduler\n .\n * @method subscribeOn\n * @owner Observable\n */\nfunction subscribeOn(scheduler, delay) {\n    if (delay === void 0) { delay = 0; }\n    return new SubscribeOnObservable_1.SubscribeOnObservable(this, delay, scheduler);\n}\nexports.subscribeOn = subscribeOn;\n//# sourceMappingURL=subscribeOn.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/subscribeOn.js\n// module id = 1948\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar OuterSubscriber_1 = require('../OuterSubscriber');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\n/**\n * Converts a higher-order Observable into a first-order Observable by\n * subscribing to only the most recently emitted of those inner Observables.\n *\n * <span class=\"informal\">Flattens an Observable-of-Observables by dropping the\n * previous inner Observable once a new one appears.</span>\n *\n * <img src=\"./img/switch.png\" width=\"100%\">\n *\n * `switch` subscribes to an Observable that emits Observables, also known as a\n * higher-order Observable. Each time it observes one of these emitted inner\n * Observables, the output Observable subscribes to the inner Observable and\n * begins emitting the items emitted by that. So far, it behaves\n * like {@link mergeAll}. However, when a new inner Observable is emitted,\n * `switch` unsubscribes from the earlier-emitted inner Observable and\n * subscribes to the new inner Observable and begins emitting items from it. It\n * continues to behave like this for subsequent inner Observables.\n *\n * @example <caption>Rerun an interval Observable on every click event</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * // Each click event is mapped to an Observable that ticks every second\n * var higherOrder = clicks.map((ev) => Rx.Observable.interval(1000));\n * var switched = higherOrder.switch();\n * // The outcome is that `switched` is essentially a timer that restarts\n * // on every click. The interval Observables from older clicks do not merge\n * // with the current interval Observable.\n * switched.subscribe(x => console.log(x));\n *\n * @see {@link combineAll}\n * @see {@link concatAll}\n * @see {@link exhaust}\n * @see {@link mergeAll}\n * @see {@link switchMap}\n * @see {@link switchMapTo}\n * @see {@link zipAll}\n *\n * @return {Observable<T>} An Observable that emits the items emitted by the\n * Observable most recently emitted by the source Observable.\n * @method switch\n * @name switch\n * @owner Observable\n */\nfunction _switch() {\n    return this.lift(new SwitchOperator());\n}\nexports._switch = _switch;\nvar SwitchOperator = (function () {\n    function SwitchOperator() {\n    }\n    SwitchOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new SwitchSubscriber(subscriber));\n    };\n    return SwitchOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SwitchSubscriber = (function (_super) {\n    __extends(SwitchSubscriber, _super);\n    function SwitchSubscriber(destination) {\n        _super.call(this, destination);\n        this.active = 0;\n        this.hasCompleted = false;\n    }\n    SwitchSubscriber.prototype._next = function (value) {\n        this.unsubscribeInner();\n        this.active++;\n        this.add(this.innerSubscription = subscribeToResult_1.subscribeToResult(this, value));\n    };\n    SwitchSubscriber.prototype._complete = function () {\n        this.hasCompleted = true;\n        if (this.active === 0) {\n            this.destination.complete();\n        }\n    };\n    SwitchSubscriber.prototype.unsubscribeInner = function () {\n        this.active = this.active > 0 ? this.active - 1 : 0;\n        var innerSubscription = this.innerSubscription;\n        if (innerSubscription) {\n            innerSubscription.unsubscribe();\n            this.remove(innerSubscription);\n        }\n    };\n    SwitchSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        this.destination.next(innerValue);\n    };\n    SwitchSubscriber.prototype.notifyError = function (err) {\n        this.destination.error(err);\n    };\n    SwitchSubscriber.prototype.notifyComplete = function () {\n        this.unsubscribeInner();\n        if (this.hasCompleted && this.active === 0) {\n            this.destination.complete();\n        }\n    };\n    return SwitchSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=switch.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/switch.js\n// module id = 1949\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar OuterSubscriber_1 = require('../OuterSubscriber');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\n/**\n * Projects each source value to an Observable which is merged in the output\n * Observable, emitting values only from the most recently projected Observable.\n *\n * <span class=\"informal\">Maps each value to an Observable, then flattens all of\n * these inner Observables using {@link switch}.</span>\n *\n * <img src=\"./img/switchMap.png\" width=\"100%\">\n *\n * Returns an Observable that emits items based on applying a function that you\n * supply to each item emitted by the source Observable, where that function\n * returns an (so-called \"inner\") Observable. Each time it observes one of these\n * inner Observables, the output Observable begins emitting the items emitted by\n * that inner Observable. When a new inner Observable is emitted, `switchMap`\n * stops emitting items from the earlier-emitted inner Observable and begins\n * emitting items from the new one. It continues to behave like this for\n * subsequent inner Observables.\n *\n * @example <caption>Rerun an interval Observable on every click event</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.switchMap((ev) => Rx.Observable.interval(1000));\n * result.subscribe(x => console.log(x));\n *\n * @see {@link concatMap}\n * @see {@link exhaustMap}\n * @see {@link mergeMap}\n * @see {@link switch}\n * @see {@link switchMapTo}\n *\n * @param {function(value: T, ?index: number): Observable} project A function\n * that, when applied to an item emitted by the source Observable, returns an\n * Observable.\n * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector]\n * A function to produce the value on the output Observable based on the values\n * and the indices of the source (outer) emission and the inner Observable\n * emission. The arguments passed to this function are:\n * - `outerValue`: the value that came from the source\n * - `innerValue`: the value that came from the projected Observable\n * - `outerIndex`: the \"index\" of the value that came from the source\n * - `innerIndex`: the \"index\" of the value from the projected Observable\n * @return {Observable} An Observable that emits the result of applying the\n * projection function (and the optional `resultSelector`) to each item emitted\n * by the source Observable and taking only the values from the most recently\n * projected inner Observable.\n * @method switchMap\n * @owner Observable\n */\nfunction switchMap(project, resultSelector) {\n    return this.lift(new SwitchMapOperator(project, resultSelector));\n}\nexports.switchMap = switchMap;\nvar SwitchMapOperator = (function () {\n    function SwitchMapOperator(project, resultSelector) {\n        this.project = project;\n        this.resultSelector = resultSelector;\n    }\n    SwitchMapOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new SwitchMapSubscriber(subscriber, this.project, this.resultSelector));\n    };\n    return SwitchMapOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SwitchMapSubscriber = (function (_super) {\n    __extends(SwitchMapSubscriber, _super);\n    function SwitchMapSubscriber(destination, project, resultSelector) {\n        _super.call(this, destination);\n        this.project = project;\n        this.resultSelector = resultSelector;\n        this.index = 0;\n    }\n    SwitchMapSubscriber.prototype._next = function (value) {\n        var result;\n        var index = this.index++;\n        try {\n            result = this.project(value, index);\n        }\n        catch (error) {\n            this.destination.error(error);\n            return;\n        }\n        this._innerSub(result, value, index);\n    };\n    SwitchMapSubscriber.prototype._innerSub = function (result, value, index) {\n        var innerSubscription = this.innerSubscription;\n        if (innerSubscription) {\n            innerSubscription.unsubscribe();\n        }\n        this.add(this.innerSubscription = subscribeToResult_1.subscribeToResult(this, result, value, index));\n    };\n    SwitchMapSubscriber.prototype._complete = function () {\n        var innerSubscription = this.innerSubscription;\n        if (!innerSubscription || innerSubscription.closed) {\n            _super.prototype._complete.call(this);\n        }\n    };\n    SwitchMapSubscriber.prototype._unsubscribe = function () {\n        this.innerSubscription = null;\n    };\n    SwitchMapSubscriber.prototype.notifyComplete = function (innerSub) {\n        this.remove(innerSub);\n        this.innerSubscription = null;\n        if (this.isStopped) {\n            _super.prototype._complete.call(this);\n        }\n    };\n    SwitchMapSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        if (this.resultSelector) {\n            this._tryNotifyNext(outerValue, innerValue, outerIndex, innerIndex);\n        }\n        else {\n            this.destination.next(innerValue);\n        }\n    };\n    SwitchMapSubscriber.prototype._tryNotifyNext = function (outerValue, innerValue, outerIndex, innerIndex) {\n        var result;\n        try {\n            result = this.resultSelector(outerValue, innerValue, outerIndex, innerIndex);\n        }\n        catch (err) {\n            this.destination.error(err);\n            return;\n        }\n        this.destination.next(result);\n    };\n    return SwitchMapSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=switchMap.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/switchMap.js\n// module id = 1950\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar OuterSubscriber_1 = require('../OuterSubscriber');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\n/**\n * Projects each source value to the same Observable which is flattened multiple\n * times with {@link switch} in the output Observable.\n *\n * <span class=\"informal\">It's like {@link switchMap}, but maps each value\n * always to the same inner Observable.</span>\n *\n * <img src=\"./img/switchMapTo.png\" width=\"100%\">\n *\n * Maps each source value to the given Observable `innerObservable` regardless\n * of the source value, and then flattens those resulting Observables into one\n * single Observable, which is the output Observable. The output Observables\n * emits values only from the most recently emitted instance of\n * `innerObservable`.\n *\n * @example <caption>Rerun an interval Observable on every click event</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.switchMapTo(Rx.Observable.interval(1000));\n * result.subscribe(x => console.log(x));\n *\n * @see {@link concatMapTo}\n * @see {@link switch}\n * @see {@link switchMap}\n * @see {@link mergeMapTo}\n *\n * @param {Observable} innerObservable An Observable to replace each value from\n * the source Observable.\n * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector]\n * A function to produce the value on the output Observable based on the values\n * and the indices of the source (outer) emission and the inner Observable\n * emission. The arguments passed to this function are:\n * - `outerValue`: the value that came from the source\n * - `innerValue`: the value that came from the projected Observable\n * - `outerIndex`: the \"index\" of the value that came from the source\n * - `innerIndex`: the \"index\" of the value from the projected Observable\n * @return {Observable} An Observable that emits items from the given\n * `innerObservable` every time a value is emitted on the source Observable.\n * @return {Observable} An Observable that emits items from the given\n * `innerObservable` (and optionally transformed through `resultSelector`) every\n * time a value is emitted on the source Observable, and taking only the values\n * from the most recently projected inner Observable.\n * @method switchMapTo\n * @owner Observable\n */\nfunction switchMapTo(innerObservable, resultSelector) {\n    return this.lift(new SwitchMapToOperator(innerObservable, resultSelector));\n}\nexports.switchMapTo = switchMapTo;\nvar SwitchMapToOperator = (function () {\n    function SwitchMapToOperator(observable, resultSelector) {\n        this.observable = observable;\n        this.resultSelector = resultSelector;\n    }\n    SwitchMapToOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new SwitchMapToSubscriber(subscriber, this.observable, this.resultSelector));\n    };\n    return SwitchMapToOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SwitchMapToSubscriber = (function (_super) {\n    __extends(SwitchMapToSubscriber, _super);\n    function SwitchMapToSubscriber(destination, inner, resultSelector) {\n        _super.call(this, destination);\n        this.inner = inner;\n        this.resultSelector = resultSelector;\n        this.index = 0;\n    }\n    SwitchMapToSubscriber.prototype._next = function (value) {\n        var innerSubscription = this.innerSubscription;\n        if (innerSubscription) {\n            innerSubscription.unsubscribe();\n        }\n        this.add(this.innerSubscription = subscribeToResult_1.subscribeToResult(this, this.inner, value, this.index++));\n    };\n    SwitchMapToSubscriber.prototype._complete = function () {\n        var innerSubscription = this.innerSubscription;\n        if (!innerSubscription || innerSubscription.closed) {\n            _super.prototype._complete.call(this);\n        }\n    };\n    SwitchMapToSubscriber.prototype._unsubscribe = function () {\n        this.innerSubscription = null;\n    };\n    SwitchMapToSubscriber.prototype.notifyComplete = function (innerSub) {\n        this.remove(innerSub);\n        this.innerSubscription = null;\n        if (this.isStopped) {\n            _super.prototype._complete.call(this);\n        }\n    };\n    SwitchMapToSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        var _a = this, resultSelector = _a.resultSelector, destination = _a.destination;\n        if (resultSelector) {\n            this.tryResultSelector(outerValue, innerValue, outerIndex, innerIndex);\n        }\n        else {\n            destination.next(innerValue);\n        }\n    };\n    SwitchMapToSubscriber.prototype.tryResultSelector = function (outerValue, innerValue, outerIndex, innerIndex) {\n        var _a = this, resultSelector = _a.resultSelector, destination = _a.destination;\n        var result;\n        try {\n            result = resultSelector(outerValue, innerValue, outerIndex, innerIndex);\n        }\n        catch (err) {\n            destination.error(err);\n            return;\n        }\n        destination.next(result);\n    };\n    return SwitchMapToSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=switchMapTo.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/switchMapTo.js\n// module id = 1951\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\nvar ArgumentOutOfRangeError_1 = require('../util/ArgumentOutOfRangeError');\nvar EmptyObservable_1 = require('../observable/EmptyObservable');\n/**\n * Emits only the first `count` values emitted by the source Observable.\n *\n * <span class=\"informal\">Takes the first `count` values from the source, then\n * completes.</span>\n *\n * <img src=\"./img/take.png\" width=\"100%\">\n *\n * `take` returns an Observable that emits only the first `count` values emitted\n * by the source Observable. If the source emits fewer than `count` values then\n * all of its values are emitted. After that, it completes, regardless if the\n * source completes.\n *\n * @example <caption>Take the first 5 seconds of an infinite 1-second interval Observable</caption>\n * var interval = Rx.Observable.interval(1000);\n * var five = interval.take(5);\n * five.subscribe(x => console.log(x));\n *\n * @see {@link takeLast}\n * @see {@link takeUntil}\n * @see {@link takeWhile}\n * @see {@link skip}\n *\n * @throws {ArgumentOutOfRangeError} When using `take(i)`, it delivers an\n * ArgumentOutOrRangeError to the Observer's `error` callback if `i < 0`.\n *\n * @param {number} count The maximum number of `next` values to emit.\n * @return {Observable<T>} An Observable that emits only the first `count`\n * values emitted by the source Observable, or all of the values from the source\n * if the source emits fewer than `count` values.\n * @method take\n * @owner Observable\n */\nfunction take(count) {\n    if (count === 0) {\n        return new EmptyObservable_1.EmptyObservable();\n    }\n    else {\n        return this.lift(new TakeOperator(count));\n    }\n}\nexports.take = take;\nvar TakeOperator = (function () {\n    function TakeOperator(total) {\n        this.total = total;\n        if (this.total < 0) {\n            throw new ArgumentOutOfRangeError_1.ArgumentOutOfRangeError;\n        }\n    }\n    TakeOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new TakeSubscriber(subscriber, this.total));\n    };\n    return TakeOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar TakeSubscriber = (function (_super) {\n    __extends(TakeSubscriber, _super);\n    function TakeSubscriber(destination, total) {\n        _super.call(this, destination);\n        this.total = total;\n        this.count = 0;\n    }\n    TakeSubscriber.prototype._next = function (value) {\n        var total = this.total;\n        if (++this.count <= total) {\n            this.destination.next(value);\n            if (this.count === total) {\n                this.destination.complete();\n                this.unsubscribe();\n            }\n        }\n    };\n    return TakeSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=take.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/take.js\n// module id = 1952\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\nvar ArgumentOutOfRangeError_1 = require('../util/ArgumentOutOfRangeError');\nvar EmptyObservable_1 = require('../observable/EmptyObservable');\n/**\n * Emits only the last `count` values emitted by the source Observable.\n *\n * <span class=\"informal\">Remembers the latest `count` values, then emits those\n * only when the source completes.</span>\n *\n * <img src=\"./img/takeLast.png\" width=\"100%\">\n *\n * `takeLast` returns an Observable that emits at most the last `count` values\n * emitted by the source Observable. If the source emits fewer than `count`\n * values then all of its values are emitted. This operator must wait until the\n * `complete` notification emission from the source in order to emit the `next`\n * values on the output Observable, because otherwise it is impossible to know\n * whether or not more values will be emitted on the source. For this reason,\n * all values are emitted synchronously, followed by the complete notification.\n *\n * @example <caption>Take the last 3 values of an Observable with many values</caption>\n * var many = Rx.Observable.range(1, 100);\n * var lastThree = many.takeLast(3);\n * lastThree.subscribe(x => console.log(x));\n *\n * @see {@link take}\n * @see {@link takeUntil}\n * @see {@link takeWhile}\n * @see {@link skip}\n *\n * @throws {ArgumentOutOfRangeError} When using `takeLast(i)`, it delivers an\n * ArgumentOutOrRangeError to the Observer's `error` callback if `i < 0`.\n *\n * @param {number} count The maximum number of values to emit from the end of\n * the sequence of values emitted by the source Observable.\n * @return {Observable<T>} An Observable that emits at most the last count\n * values emitted by the source Observable.\n * @method takeLast\n * @owner Observable\n */\nfunction takeLast(count) {\n    if (count === 0) {\n        return new EmptyObservable_1.EmptyObservable();\n    }\n    else {\n        return this.lift(new TakeLastOperator(count));\n    }\n}\nexports.takeLast = takeLast;\nvar TakeLastOperator = (function () {\n    function TakeLastOperator(total) {\n        this.total = total;\n        if (this.total < 0) {\n            throw new ArgumentOutOfRangeError_1.ArgumentOutOfRangeError;\n        }\n    }\n    TakeLastOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new TakeLastSubscriber(subscriber, this.total));\n    };\n    return TakeLastOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar TakeLastSubscriber = (function (_super) {\n    __extends(TakeLastSubscriber, _super);\n    function TakeLastSubscriber(destination, total) {\n        _super.call(this, destination);\n        this.total = total;\n        this.ring = new Array();\n        this.count = 0;\n    }\n    TakeLastSubscriber.prototype._next = function (value) {\n        var ring = this.ring;\n        var total = this.total;\n        var count = this.count++;\n        if (ring.length < total) {\n            ring.push(value);\n        }\n        else {\n            var index = count % total;\n            ring[index] = value;\n        }\n    };\n    TakeLastSubscriber.prototype._complete = function () {\n        var destination = this.destination;\n        var count = this.count;\n        if (count > 0) {\n            var total = this.count >= this.total ? this.total : this.count;\n            var ring = this.ring;\n            for (var i = 0; i < total; i++) {\n                var idx = (count++) % total;\n                destination.next(ring[idx]);\n            }\n        }\n        destination.complete();\n    };\n    return TakeLastSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=takeLast.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/takeLast.js\n// module id = 1953\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar OuterSubscriber_1 = require('../OuterSubscriber');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\n/**\n * Emits the values emitted by the source Observable until a `notifier`\n * Observable emits a value.\n *\n * <span class=\"informal\">Lets values pass until a second Observable,\n * `notifier`, emits something. Then, it completes.</span>\n *\n * <img src=\"./img/takeUntil.png\" width=\"100%\">\n *\n * `takeUntil` subscribes and begins mirroring the source Observable. It also\n * monitors a second Observable, `notifier` that you provide. If the `notifier`\n * emits a value or a complete notification, the output Observable stops\n * mirroring the source Observable and completes.\n *\n * @example <caption>Tick every second until the first click happens</caption>\n * var interval = Rx.Observable.interval(1000);\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = interval.takeUntil(clicks);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link take}\n * @see {@link takeLast}\n * @see {@link takeWhile}\n * @see {@link skip}\n *\n * @param {Observable} notifier The Observable whose first emitted value will\n * cause the output Observable of `takeUntil` to stop emitting values from the\n * source Observable.\n * @return {Observable<T>} An Observable that emits the values from the source\n * Observable until such time as `notifier` emits its first value.\n * @method takeUntil\n * @owner Observable\n */\nfunction takeUntil(notifier) {\n    return this.lift(new TakeUntilOperator(notifier));\n}\nexports.takeUntil = takeUntil;\nvar TakeUntilOperator = (function () {\n    function TakeUntilOperator(notifier) {\n        this.notifier = notifier;\n    }\n    TakeUntilOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new TakeUntilSubscriber(subscriber, this.notifier));\n    };\n    return TakeUntilOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar TakeUntilSubscriber = (function (_super) {\n    __extends(TakeUntilSubscriber, _super);\n    function TakeUntilSubscriber(destination, notifier) {\n        _super.call(this, destination);\n        this.notifier = notifier;\n        this.add(subscribeToResult_1.subscribeToResult(this, notifier));\n    }\n    TakeUntilSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        this.complete();\n    };\n    TakeUntilSubscriber.prototype.notifyComplete = function () {\n        // noop\n    };\n    return TakeUntilSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=takeUntil.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/takeUntil.js\n// module id = 1954\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\n/**\n * Emits values emitted by the source Observable so long as each value satisfies\n * the given `predicate`, and then completes as soon as this `predicate` is not\n * satisfied.\n *\n * <span class=\"informal\">Takes values from the source only while they pass the\n * condition given. When the first value does not satisfy, it completes.</span>\n *\n * <img src=\"./img/takeWhile.png\" width=\"100%\">\n *\n * `takeWhile` subscribes and begins mirroring the source Observable. Each value\n * emitted on the source is given to the `predicate` function which returns a\n * boolean, representing a condition to be satisfied by the source values. The\n * output Observable emits the source values until such time as the `predicate`\n * returns false, at which point `takeWhile` stops mirroring the source\n * Observable and completes the output Observable.\n *\n * @example <caption>Emit click events only while the clientX property is greater than 200</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.takeWhile(ev => ev.clientX > 200);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link take}\n * @see {@link takeLast}\n * @see {@link takeUntil}\n * @see {@link skip}\n *\n * @param {function(value: T, index: number): boolean} predicate A function that\n * evaluates a value emitted by the source Observable and returns a boolean.\n * Also takes the (zero-based) index as the second argument.\n * @return {Observable<T>} An Observable that emits the values from the source\n * Observable so long as each value satisfies the condition defined by the\n * `predicate`, then completes.\n * @method takeWhile\n * @owner Observable\n */\nfunction takeWhile(predicate) {\n    return this.lift(new TakeWhileOperator(predicate));\n}\nexports.takeWhile = takeWhile;\nvar TakeWhileOperator = (function () {\n    function TakeWhileOperator(predicate) {\n        this.predicate = predicate;\n    }\n    TakeWhileOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new TakeWhileSubscriber(subscriber, this.predicate));\n    };\n    return TakeWhileOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar TakeWhileSubscriber = (function (_super) {\n    __extends(TakeWhileSubscriber, _super);\n    function TakeWhileSubscriber(destination, predicate) {\n        _super.call(this, destination);\n        this.predicate = predicate;\n        this.index = 0;\n    }\n    TakeWhileSubscriber.prototype._next = function (value) {\n        var destination = this.destination;\n        var result;\n        try {\n            result = this.predicate(value, this.index++);\n        }\n        catch (err) {\n            destination.error(err);\n            return;\n        }\n        this.nextOrComplete(value, result);\n    };\n    TakeWhileSubscriber.prototype.nextOrComplete = function (value, predicateResult) {\n        var destination = this.destination;\n        if (Boolean(predicateResult)) {\n            destination.next(value);\n        }\n        else {\n            destination.complete();\n        }\n    };\n    return TakeWhileSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=takeWhile.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/takeWhile.js\n// module id = 1955\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar OuterSubscriber_1 = require('../OuterSubscriber');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\n/**\n * Emits a value from the source Observable, then ignores subsequent source\n * values for a duration determined by another Observable, then repeats this\n * process.\n *\n * <span class=\"informal\">It's like {@link throttleTime}, but the silencing\n * duration is determined by a second Observable.</span>\n *\n * <img src=\"./img/throttle.png\" width=\"100%\">\n *\n * `throttle` emits the source Observable values on the output Observable\n * when its internal timer is disabled, and ignores source values when the timer\n * is enabled. Initially, the timer is disabled. As soon as the first source\n * value arrives, it is forwarded to the output Observable, and then the timer\n * is enabled by calling the `durationSelector` function with the source value,\n * which returns the \"duration\" Observable. When the duration Observable emits a\n * value or completes, the timer is disabled, and this process repeats for the\n * next source value.\n *\n * @example <caption>Emit clicks at a rate of at most one click per second</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.throttle(ev => Rx.Observable.interval(1000));\n * result.subscribe(x => console.log(x));\n *\n * @see {@link audit}\n * @see {@link debounce}\n * @see {@link delayWhen}\n * @see {@link sample}\n * @see {@link throttleTime}\n *\n * @param {function(value: T): Observable|Promise} durationSelector A function\n * that receives a value from the source Observable, for computing the silencing\n * duration for each source value, returned as an Observable or a Promise.\n * @return {Observable<T>} An Observable that performs the throttle operation to\n * limit the rate of emissions from the source.\n * @method throttle\n * @owner Observable\n */\nfunction throttle(durationSelector) {\n    return this.lift(new ThrottleOperator(durationSelector));\n}\nexports.throttle = throttle;\nvar ThrottleOperator = (function () {\n    function ThrottleOperator(durationSelector) {\n        this.durationSelector = durationSelector;\n    }\n    ThrottleOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new ThrottleSubscriber(subscriber, this.durationSelector));\n    };\n    return ThrottleOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar ThrottleSubscriber = (function (_super) {\n    __extends(ThrottleSubscriber, _super);\n    function ThrottleSubscriber(destination, durationSelector) {\n        _super.call(this, destination);\n        this.destination = destination;\n        this.durationSelector = durationSelector;\n    }\n    ThrottleSubscriber.prototype._next = function (value) {\n        if (!this.throttled) {\n            this.tryDurationSelector(value);\n        }\n    };\n    ThrottleSubscriber.prototype.tryDurationSelector = function (value) {\n        var duration = null;\n        try {\n            duration = this.durationSelector(value);\n        }\n        catch (err) {\n            this.destination.error(err);\n            return;\n        }\n        this.emitAndThrottle(value, duration);\n    };\n    ThrottleSubscriber.prototype.emitAndThrottle = function (value, duration) {\n        this.add(this.throttled = subscribeToResult_1.subscribeToResult(this, duration));\n        this.destination.next(value);\n    };\n    ThrottleSubscriber.prototype._unsubscribe = function () {\n        var throttled = this.throttled;\n        if (throttled) {\n            this.remove(throttled);\n            this.throttled = null;\n            throttled.unsubscribe();\n        }\n    };\n    ThrottleSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        this._unsubscribe();\n    };\n    ThrottleSubscriber.prototype.notifyComplete = function () {\n        this._unsubscribe();\n    };\n    return ThrottleSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=throttle.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/throttle.js\n// module id = 1956\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\nvar async_1 = require('../scheduler/async');\n/**\n * Emits a value from the source Observable, then ignores subsequent source\n * values for `duration` milliseconds, then repeats this process.\n *\n * <span class=\"informal\">Lets a value pass, then ignores source values for the\n * next `duration` milliseconds.</span>\n *\n * <img src=\"./img/throttleTime.png\" width=\"100%\">\n *\n * `throttleTime` emits the source Observable values on the output Observable\n * when its internal timer is disabled, and ignores source values when the timer\n * is enabled. Initially, the timer is disabled. As soon as the first source\n * value arrives, it is forwarded to the output Observable, and then the timer\n * is enabled. After `duration` milliseconds (or the time unit determined\n * internally by the optional `scheduler`) has passed, the timer is disabled,\n * and this process repeats for the next source value. Optionally takes a\n * {@link Scheduler} for managing timers.\n *\n * @example <caption>Emit clicks at a rate of at most one click per second</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.throttleTime(1000);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link auditTime}\n * @see {@link debounceTime}\n * @see {@link delay}\n * @see {@link sampleTime}\n * @see {@link throttle}\n *\n * @param {number} duration Time to wait before emitting another value after\n * emitting the last value, measured in milliseconds or the time unit determined\n * internally by the optional `scheduler`.\n * @param {Scheduler} [scheduler=async] The {@link Scheduler} to use for\n * managing the timers that handle the sampling.\n * @return {Observable<T>} An Observable that performs the throttle operation to\n * limit the rate of emissions from the source.\n * @method throttleTime\n * @owner Observable\n */\nfunction throttleTime(duration, scheduler) {\n    if (scheduler === void 0) { scheduler = async_1.async; }\n    return this.lift(new ThrottleTimeOperator(duration, scheduler));\n}\nexports.throttleTime = throttleTime;\nvar ThrottleTimeOperator = (function () {\n    function ThrottleTimeOperator(duration, scheduler) {\n        this.duration = duration;\n        this.scheduler = scheduler;\n    }\n    ThrottleTimeOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new ThrottleTimeSubscriber(subscriber, this.duration, this.scheduler));\n    };\n    return ThrottleTimeOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar ThrottleTimeSubscriber = (function (_super) {\n    __extends(ThrottleTimeSubscriber, _super);\n    function ThrottleTimeSubscriber(destination, duration, scheduler) {\n        _super.call(this, destination);\n        this.duration = duration;\n        this.scheduler = scheduler;\n    }\n    ThrottleTimeSubscriber.prototype._next = function (value) {\n        if (!this.throttled) {\n            this.add(this.throttled = this.scheduler.schedule(dispatchNext, this.duration, { subscriber: this }));\n            this.destination.next(value);\n        }\n    };\n    ThrottleTimeSubscriber.prototype.clearThrottle = function () {\n        var throttled = this.throttled;\n        if (throttled) {\n            throttled.unsubscribe();\n            this.remove(throttled);\n            this.throttled = null;\n        }\n    };\n    return ThrottleTimeSubscriber;\n}(Subscriber_1.Subscriber));\nfunction dispatchNext(arg) {\n    var subscriber = arg.subscriber;\n    subscriber.clearThrottle();\n}\n//# sourceMappingURL=throttleTime.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/throttleTime.js\n// module id = 1957\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar async_1 = require('../scheduler/async');\nvar isDate_1 = require('../util/isDate');\nvar Subscriber_1 = require('../Subscriber');\n/**\n * @param due\n * @param errorToSend\n * @param scheduler\n * @return {Observable<R>|WebSocketSubject<T>|Observable<T>}\n * @method timeout\n * @owner Observable\n */\nfunction timeout(due, errorToSend, scheduler) {\n    if (errorToSend === void 0) { errorToSend = null; }\n    if (scheduler === void 0) { scheduler = async_1.async; }\n    var absoluteTimeout = isDate_1.isDate(due);\n    var waitFor = absoluteTimeout ? (+due - scheduler.now()) : Math.abs(due);\n    return this.lift(new TimeoutOperator(waitFor, absoluteTimeout, errorToSend, scheduler));\n}\nexports.timeout = timeout;\nvar TimeoutOperator = (function () {\n    function TimeoutOperator(waitFor, absoluteTimeout, errorToSend, scheduler) {\n        this.waitFor = waitFor;\n        this.absoluteTimeout = absoluteTimeout;\n        this.errorToSend = errorToSend;\n        this.scheduler = scheduler;\n    }\n    TimeoutOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new TimeoutSubscriber(subscriber, this.absoluteTimeout, this.waitFor, this.errorToSend, this.scheduler));\n    };\n    return TimeoutOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar TimeoutSubscriber = (function (_super) {\n    __extends(TimeoutSubscriber, _super);\n    function TimeoutSubscriber(destination, absoluteTimeout, waitFor, errorToSend, scheduler) {\n        _super.call(this, destination);\n        this.absoluteTimeout = absoluteTimeout;\n        this.waitFor = waitFor;\n        this.errorToSend = errorToSend;\n        this.scheduler = scheduler;\n        this.index = 0;\n        this._previousIndex = 0;\n        this._hasCompleted = false;\n        this.scheduleTimeout();\n    }\n    Object.defineProperty(TimeoutSubscriber.prototype, \"previousIndex\", {\n        get: function () {\n            return this._previousIndex;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(TimeoutSubscriber.prototype, \"hasCompleted\", {\n        get: function () {\n            return this._hasCompleted;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    TimeoutSubscriber.dispatchTimeout = function (state) {\n        var source = state.subscriber;\n        var currentIndex = state.index;\n        if (!source.hasCompleted && source.previousIndex === currentIndex) {\n            source.notifyTimeout();\n        }\n    };\n    TimeoutSubscriber.prototype.scheduleTimeout = function () {\n        var currentIndex = this.index;\n        this.scheduler.schedule(TimeoutSubscriber.dispatchTimeout, this.waitFor, { subscriber: this, index: currentIndex });\n        this.index++;\n        this._previousIndex = currentIndex;\n    };\n    TimeoutSubscriber.prototype._next = function (value) {\n        this.destination.next(value);\n        if (!this.absoluteTimeout) {\n            this.scheduleTimeout();\n        }\n    };\n    TimeoutSubscriber.prototype._error = function (err) {\n        this.destination.error(err);\n        this._hasCompleted = true;\n    };\n    TimeoutSubscriber.prototype._complete = function () {\n        this.destination.complete();\n        this._hasCompleted = true;\n    };\n    TimeoutSubscriber.prototype.notifyTimeout = function () {\n        this.error(this.errorToSend || new Error('timeout'));\n    };\n    return TimeoutSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=timeout.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/timeout.js\n// module id = 1958\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar async_1 = require('../scheduler/async');\nvar isDate_1 = require('../util/isDate');\nvar OuterSubscriber_1 = require('../OuterSubscriber');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\n/**\n * @param due\n * @param withObservable\n * @param scheduler\n * @return {Observable<R>|WebSocketSubject<T>|Observable<T>}\n * @method timeoutWith\n * @owner Observable\n */\nfunction timeoutWith(due, withObservable, scheduler) {\n    if (scheduler === void 0) { scheduler = async_1.async; }\n    var absoluteTimeout = isDate_1.isDate(due);\n    var waitFor = absoluteTimeout ? (+due - scheduler.now()) : Math.abs(due);\n    return this.lift(new TimeoutWithOperator(waitFor, absoluteTimeout, withObservable, scheduler));\n}\nexports.timeoutWith = timeoutWith;\nvar TimeoutWithOperator = (function () {\n    function TimeoutWithOperator(waitFor, absoluteTimeout, withObservable, scheduler) {\n        this.waitFor = waitFor;\n        this.absoluteTimeout = absoluteTimeout;\n        this.withObservable = withObservable;\n        this.scheduler = scheduler;\n    }\n    TimeoutWithOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new TimeoutWithSubscriber(subscriber, this.absoluteTimeout, this.waitFor, this.withObservable, this.scheduler));\n    };\n    return TimeoutWithOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar TimeoutWithSubscriber = (function (_super) {\n    __extends(TimeoutWithSubscriber, _super);\n    function TimeoutWithSubscriber(destination, absoluteTimeout, waitFor, withObservable, scheduler) {\n        _super.call(this);\n        this.destination = destination;\n        this.absoluteTimeout = absoluteTimeout;\n        this.waitFor = waitFor;\n        this.withObservable = withObservable;\n        this.scheduler = scheduler;\n        this.timeoutSubscription = undefined;\n        this.index = 0;\n        this._previousIndex = 0;\n        this._hasCompleted = false;\n        destination.add(this);\n        this.scheduleTimeout();\n    }\n    Object.defineProperty(TimeoutWithSubscriber.prototype, \"previousIndex\", {\n        get: function () {\n            return this._previousIndex;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(TimeoutWithSubscriber.prototype, \"hasCompleted\", {\n        get: function () {\n            return this._hasCompleted;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    TimeoutWithSubscriber.dispatchTimeout = function (state) {\n        var source = state.subscriber;\n        var currentIndex = state.index;\n        if (!source.hasCompleted && source.previousIndex === currentIndex) {\n            source.handleTimeout();\n        }\n    };\n    TimeoutWithSubscriber.prototype.scheduleTimeout = function () {\n        var currentIndex = this.index;\n        var timeoutState = { subscriber: this, index: currentIndex };\n        this.scheduler.schedule(TimeoutWithSubscriber.dispatchTimeout, this.waitFor, timeoutState);\n        this.index++;\n        this._previousIndex = currentIndex;\n    };\n    TimeoutWithSubscriber.prototype._next = function (value) {\n        this.destination.next(value);\n        if (!this.absoluteTimeout) {\n            this.scheduleTimeout();\n        }\n    };\n    TimeoutWithSubscriber.prototype._error = function (err) {\n        this.destination.error(err);\n        this._hasCompleted = true;\n    };\n    TimeoutWithSubscriber.prototype._complete = function () {\n        this.destination.complete();\n        this._hasCompleted = true;\n    };\n    TimeoutWithSubscriber.prototype.handleTimeout = function () {\n        if (!this.closed) {\n            var withObservable = this.withObservable;\n            this.unsubscribe();\n            this.destination.add(this.timeoutSubscription = subscribeToResult_1.subscribeToResult(this, withObservable));\n        }\n    };\n    return TimeoutWithSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=timeoutWith.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/timeoutWith.js\n// module id = 1959\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\n/**\n * @return {Observable<any[]>|WebSocketSubject<T>|Observable<T>}\n * @method toArray\n * @owner Observable\n */\nfunction toArray() {\n    return this.lift(new ToArrayOperator());\n}\nexports.toArray = toArray;\nvar ToArrayOperator = (function () {\n    function ToArrayOperator() {\n    }\n    ToArrayOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new ToArraySubscriber(subscriber));\n    };\n    return ToArrayOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar ToArraySubscriber = (function (_super) {\n    __extends(ToArraySubscriber, _super);\n    function ToArraySubscriber(destination) {\n        _super.call(this, destination);\n        this.array = [];\n    }\n    ToArraySubscriber.prototype._next = function (x) {\n        this.array.push(x);\n    };\n    ToArraySubscriber.prototype._complete = function () {\n        this.destination.next(this.array);\n        this.destination.complete();\n    };\n    return ToArraySubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=toArray.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/toArray.js\n// module id = 1960\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subject_1 = require('../Subject');\nvar OuterSubscriber_1 = require('../OuterSubscriber');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\n/**\n * Branch out the source Observable values as a nested Observable whenever\n * `windowBoundaries` emits.\n *\n * <span class=\"informal\">It's like {@link buffer}, but emits a nested Observable\n * instead of an array.</span>\n *\n * <img src=\"./img/window.png\" width=\"100%\">\n *\n * Returns an Observable that emits windows of items it collects from the source\n * Observable. The output Observable emits connected, non-overlapping\n * windows. It emits the current window and opens a new one whenever the\n * Observable `windowBoundaries` emits an item. Because each window is an\n * Observable, the output is a higher-order Observable.\n *\n * @example <caption>In every window of 1 second each, emit at most 2 click events</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var interval = Rx.Observable.interval(1000);\n * var result = clicks.window(interval)\n *   .map(win => win.take(2)) // each window has at most 2 emissions\n *   .mergeAll(); // flatten the Observable-of-Observables\n * result.subscribe(x => console.log(x));\n *\n * @see {@link windowCount}\n * @see {@link windowTime}\n * @see {@link windowToggle}\n * @see {@link windowWhen}\n * @see {@link buffer}\n *\n * @param {Observable<any>} windowBoundaries An Observable that completes the\n * previous window and starts a new window.\n * @return {Observable<Observable<T>>} An Observable of windows, which are\n * Observables emitting values of the source Observable.\n * @method window\n * @owner Observable\n */\nfunction window(windowBoundaries) {\n    return this.lift(new WindowOperator(windowBoundaries));\n}\nexports.window = window;\nvar WindowOperator = (function () {\n    function WindowOperator(windowBoundaries) {\n        this.windowBoundaries = windowBoundaries;\n    }\n    WindowOperator.prototype.call = function (subscriber, source) {\n        var windowSubscriber = new WindowSubscriber(subscriber);\n        var sourceSubscription = source._subscribe(windowSubscriber);\n        if (!sourceSubscription.closed) {\n            windowSubscriber.add(subscribeToResult_1.subscribeToResult(windowSubscriber, this.windowBoundaries));\n        }\n        return sourceSubscription;\n    };\n    return WindowOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar WindowSubscriber = (function (_super) {\n    __extends(WindowSubscriber, _super);\n    function WindowSubscriber(destination) {\n        _super.call(this, destination);\n        this.window = new Subject_1.Subject();\n        destination.next(this.window);\n    }\n    WindowSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        this.openWindow();\n    };\n    WindowSubscriber.prototype.notifyError = function (error, innerSub) {\n        this._error(error);\n    };\n    WindowSubscriber.prototype.notifyComplete = function (innerSub) {\n        this._complete();\n    };\n    WindowSubscriber.prototype._next = function (value) {\n        this.window.next(value);\n    };\n    WindowSubscriber.prototype._error = function (err) {\n        this.window.error(err);\n        this.destination.error(err);\n    };\n    WindowSubscriber.prototype._complete = function () {\n        this.window.complete();\n        this.destination.complete();\n    };\n    WindowSubscriber.prototype._unsubscribe = function () {\n        this.window = null;\n    };\n    WindowSubscriber.prototype.openWindow = function () {\n        var prevWindow = this.window;\n        if (prevWindow) {\n            prevWindow.complete();\n        }\n        var destination = this.destination;\n        var newWindow = this.window = new Subject_1.Subject();\n        destination.next(newWindow);\n    };\n    return WindowSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=window.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/window.js\n// module id = 1961\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\nvar Subject_1 = require('../Subject');\n/**\n * Branch out the source Observable values as a nested Observable with each\n * nested Observable emitting at most `windowSize` values.\n *\n * <span class=\"informal\">It's like {@link bufferCount}, but emits a nested\n * Observable instead of an array.</span>\n *\n * <img src=\"./img/windowCount.png\" width=\"100%\">\n *\n * Returns an Observable that emits windows of items it collects from the source\n * Observable. The output Observable emits windows every `startWindowEvery`\n * items, each containing no more than `windowSize` items. When the source\n * Observable completes or encounters an error, the output Observable emits\n * the current window and propagates the notification from the source\n * Observable. If `startWindowEvery` is not provided, then new windows are\n * started immediately at the start of the source and when each window completes\n * with size `windowSize`.\n *\n * @example <caption>Ignore every 3rd click event, starting from the first one</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.windowCount(3)\n *   .map(win => win.skip(1)) // skip first of every 3 clicks\n *   .mergeAll(); // flatten the Observable-of-Observables\n * result.subscribe(x => console.log(x));\n *\n * @example <caption>Ignore every 3rd click event, starting from the third one</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.windowCount(2, 3)\n *   .mergeAll(); // flatten the Observable-of-Observables\n * result.subscribe(x => console.log(x));\n *\n * @see {@link window}\n * @see {@link windowTime}\n * @see {@link windowToggle}\n * @see {@link windowWhen}\n * @see {@link bufferCount}\n *\n * @param {number} windowSize The maximum number of values emitted by each\n * window.\n * @param {number} [startWindowEvery] Interval at which to start a new window.\n * For example if `startWindowEvery` is `2`, then a new window will be started\n * on every other value from the source. A new window is started at the\n * beginning of the source by default.\n * @return {Observable<Observable<T>>} An Observable of windows, which in turn\n * are Observable of values.\n * @method windowCount\n * @owner Observable\n */\nfunction windowCount(windowSize, startWindowEvery) {\n    if (startWindowEvery === void 0) { startWindowEvery = 0; }\n    return this.lift(new WindowCountOperator(windowSize, startWindowEvery));\n}\nexports.windowCount = windowCount;\nvar WindowCountOperator = (function () {\n    function WindowCountOperator(windowSize, startWindowEvery) {\n        this.windowSize = windowSize;\n        this.startWindowEvery = startWindowEvery;\n    }\n    WindowCountOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new WindowCountSubscriber(subscriber, this.windowSize, this.startWindowEvery));\n    };\n    return WindowCountOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar WindowCountSubscriber = (function (_super) {\n    __extends(WindowCountSubscriber, _super);\n    function WindowCountSubscriber(destination, windowSize, startWindowEvery) {\n        _super.call(this, destination);\n        this.destination = destination;\n        this.windowSize = windowSize;\n        this.startWindowEvery = startWindowEvery;\n        this.windows = [new Subject_1.Subject()];\n        this.count = 0;\n        destination.next(this.windows[0]);\n    }\n    WindowCountSubscriber.prototype._next = function (value) {\n        var startWindowEvery = (this.startWindowEvery > 0) ? this.startWindowEvery : this.windowSize;\n        var destination = this.destination;\n        var windowSize = this.windowSize;\n        var windows = this.windows;\n        var len = windows.length;\n        for (var i = 0; i < len && !this.closed; i++) {\n            windows[i].next(value);\n        }\n        var c = this.count - windowSize + 1;\n        if (c >= 0 && c % startWindowEvery === 0 && !this.closed) {\n            windows.shift().complete();\n        }\n        if (++this.count % startWindowEvery === 0 && !this.closed) {\n            var window_1 = new Subject_1.Subject();\n            windows.push(window_1);\n            destination.next(window_1);\n        }\n    };\n    WindowCountSubscriber.prototype._error = function (err) {\n        var windows = this.windows;\n        if (windows) {\n            while (windows.length > 0 && !this.closed) {\n                windows.shift().error(err);\n            }\n        }\n        this.destination.error(err);\n    };\n    WindowCountSubscriber.prototype._complete = function () {\n        var windows = this.windows;\n        if (windows) {\n            while (windows.length > 0 && !this.closed) {\n                windows.shift().complete();\n            }\n        }\n        this.destination.complete();\n    };\n    WindowCountSubscriber.prototype._unsubscribe = function () {\n        this.count = 0;\n        this.windows = null;\n    };\n    return WindowCountSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=windowCount.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/windowCount.js\n// module id = 1962\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subject_1 = require('../Subject');\nvar async_1 = require('../scheduler/async');\nvar Subscriber_1 = require('../Subscriber');\n/**\n * Branch out the source Observable values as a nested Observable periodically\n * in time.\n *\n * <span class=\"informal\">It's like {@link bufferTime}, but emits a nested\n * Observable instead of an array.</span>\n *\n * <img src=\"./img/windowTime.png\" width=\"100%\">\n *\n * Returns an Observable that emits windows of items it collects from the source\n * Observable. The output Observable starts a new window periodically, as\n * determined by the `windowCreationInterval` argument. It emits each window\n * after a fixed timespan, specified by the `windowTimeSpan` argument. When the\n * source Observable completes or encounters an error, the output Observable\n * emits the current window and propagates the notification from the source\n * Observable. If `windowCreationInterval` is not provided, the output\n * Observable starts a new window when the previous window of duration\n * `windowTimeSpan` completes.\n *\n * @example <caption>In every window of 1 second each, emit at most 2 click events</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.windowTime(1000)\n *   .map(win => win.take(2)) // each window has at most 2 emissions\n *   .mergeAll(); // flatten the Observable-of-Observables\n * result.subscribe(x => console.log(x));\n *\n * @example <caption>Every 5 seconds start a window 1 second long, and emit at most 2 click events per window</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.windowTime(1000, 5000)\n *   .map(win => win.take(2)) // each window has at most 2 emissions\n *   .mergeAll(); // flatten the Observable-of-Observables\n * result.subscribe(x => console.log(x));\n *\n * @see {@link window}\n * @see {@link windowCount}\n * @see {@link windowToggle}\n * @see {@link windowWhen}\n * @see {@link bufferTime}\n *\n * @param {number} windowTimeSpan The amount of time to fill each window.\n * @param {number} [windowCreationInterval] The interval at which to start new\n * windows.\n * @param {Scheduler} [scheduler=async] The scheduler on which to schedule the\n * intervals that determine window boundaries.\n * @return {Observable<Observable<T>>} An observable of windows, which in turn\n * are Observables.\n * @method windowTime\n * @owner Observable\n */\nfunction windowTime(windowTimeSpan, windowCreationInterval, scheduler) {\n    if (windowCreationInterval === void 0) { windowCreationInterval = null; }\n    if (scheduler === void 0) { scheduler = async_1.async; }\n    return this.lift(new WindowTimeOperator(windowTimeSpan, windowCreationInterval, scheduler));\n}\nexports.windowTime = windowTime;\nvar WindowTimeOperator = (function () {\n    function WindowTimeOperator(windowTimeSpan, windowCreationInterval, scheduler) {\n        this.windowTimeSpan = windowTimeSpan;\n        this.windowCreationInterval = windowCreationInterval;\n        this.scheduler = scheduler;\n    }\n    WindowTimeOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new WindowTimeSubscriber(subscriber, this.windowTimeSpan, this.windowCreationInterval, this.scheduler));\n    };\n    return WindowTimeOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar WindowTimeSubscriber = (function (_super) {\n    __extends(WindowTimeSubscriber, _super);\n    function WindowTimeSubscriber(destination, windowTimeSpan, windowCreationInterval, scheduler) {\n        _super.call(this, destination);\n        this.destination = destination;\n        this.windowTimeSpan = windowTimeSpan;\n        this.windowCreationInterval = windowCreationInterval;\n        this.scheduler = scheduler;\n        this.windows = [];\n        if (windowCreationInterval !== null && windowCreationInterval >= 0) {\n            var window_1 = this.openWindow();\n            var closeState = { subscriber: this, window: window_1, context: null };\n            var creationState = { windowTimeSpan: windowTimeSpan, windowCreationInterval: windowCreationInterval, subscriber: this, scheduler: scheduler };\n            this.add(scheduler.schedule(dispatchWindowClose, windowTimeSpan, closeState));\n            this.add(scheduler.schedule(dispatchWindowCreation, windowCreationInterval, creationState));\n        }\n        else {\n            var window_2 = this.openWindow();\n            var timeSpanOnlyState = { subscriber: this, window: window_2, windowTimeSpan: windowTimeSpan };\n            this.add(scheduler.schedule(dispatchWindowTimeSpanOnly, windowTimeSpan, timeSpanOnlyState));\n        }\n    }\n    WindowTimeSubscriber.prototype._next = function (value) {\n        var windows = this.windows;\n        var len = windows.length;\n        for (var i = 0; i < len; i++) {\n            var window_3 = windows[i];\n            if (!window_3.closed) {\n                window_3.next(value);\n            }\n        }\n    };\n    WindowTimeSubscriber.prototype._error = function (err) {\n        var windows = this.windows;\n        while (windows.length > 0) {\n            windows.shift().error(err);\n        }\n        this.destination.error(err);\n    };\n    WindowTimeSubscriber.prototype._complete = function () {\n        var windows = this.windows;\n        while (windows.length > 0) {\n            var window_4 = windows.shift();\n            if (!window_4.closed) {\n                window_4.complete();\n            }\n        }\n        this.destination.complete();\n    };\n    WindowTimeSubscriber.prototype.openWindow = function () {\n        var window = new Subject_1.Subject();\n        this.windows.push(window);\n        var destination = this.destination;\n        destination.next(window);\n        return window;\n    };\n    WindowTimeSubscriber.prototype.closeWindow = function (window) {\n        window.complete();\n        var windows = this.windows;\n        windows.splice(windows.indexOf(window), 1);\n    };\n    return WindowTimeSubscriber;\n}(Subscriber_1.Subscriber));\nfunction dispatchWindowTimeSpanOnly(state) {\n    var subscriber = state.subscriber, windowTimeSpan = state.windowTimeSpan, window = state.window;\n    if (window) {\n        window.complete();\n    }\n    state.window = subscriber.openWindow();\n    this.schedule(state, windowTimeSpan);\n}\nfunction dispatchWindowCreation(state) {\n    var windowTimeSpan = state.windowTimeSpan, subscriber = state.subscriber, scheduler = state.scheduler, windowCreationInterval = state.windowCreationInterval;\n    var window = subscriber.openWindow();\n    var action = this;\n    var context = { action: action, subscription: null };\n    var timeSpanState = { subscriber: subscriber, window: window, context: context };\n    context.subscription = scheduler.schedule(dispatchWindowClose, windowTimeSpan, timeSpanState);\n    action.add(context.subscription);\n    action.schedule(state, windowCreationInterval);\n}\nfunction dispatchWindowClose(arg) {\n    var subscriber = arg.subscriber, window = arg.window, context = arg.context;\n    if (context && context.action && context.subscription) {\n        context.action.remove(context.subscription);\n    }\n    subscriber.closeWindow(window);\n}\n//# sourceMappingURL=windowTime.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/windowTime.js\n// module id = 1963\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subject_1 = require('../Subject');\nvar Subscription_1 = require('../Subscription');\nvar tryCatch_1 = require('../util/tryCatch');\nvar errorObject_1 = require('../util/errorObject');\nvar OuterSubscriber_1 = require('../OuterSubscriber');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\n/**\n * Branch out the source Observable values as a nested Observable starting from\n * an emission from `openings` and ending when the output of `closingSelector`\n * emits.\n *\n * <span class=\"informal\">It's like {@link bufferToggle}, but emits a nested\n * Observable instead of an array.</span>\n *\n * <img src=\"./img/windowToggle.png\" width=\"100%\">\n *\n * Returns an Observable that emits windows of items it collects from the source\n * Observable. The output Observable emits windows that contain those items\n * emitted by the source Observable between the time when the `openings`\n * Observable emits an item and when the Observable returned by\n * `closingSelector` emits an item.\n *\n * @example <caption>Every other second, emit the click events from the next 500ms</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var openings = Rx.Observable.interval(1000);\n * var result = clicks.windowToggle(openings, i =>\n *   i % 2 ? Rx.Observable.interval(500) : Rx.Observable.empty()\n * ).mergeAll();\n * result.subscribe(x => console.log(x));\n *\n * @see {@link window}\n * @see {@link windowCount}\n * @see {@link windowTime}\n * @see {@link windowWhen}\n * @see {@link bufferToggle}\n *\n * @param {Observable<O>} openings An observable of notifications to start new\n * windows.\n * @param {function(value: O): Observable} closingSelector A function that takes\n * the value emitted by the `openings` observable and returns an Observable,\n * which, when it emits (either `next` or `complete`), signals that the\n * associated window should complete.\n * @return {Observable<Observable<T>>} An observable of windows, which in turn\n * are Observables.\n * @method windowToggle\n * @owner Observable\n */\nfunction windowToggle(openings, closingSelector) {\n    return this.lift(new WindowToggleOperator(openings, closingSelector));\n}\nexports.windowToggle = windowToggle;\nvar WindowToggleOperator = (function () {\n    function WindowToggleOperator(openings, closingSelector) {\n        this.openings = openings;\n        this.closingSelector = closingSelector;\n    }\n    WindowToggleOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new WindowToggleSubscriber(subscriber, this.openings, this.closingSelector));\n    };\n    return WindowToggleOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar WindowToggleSubscriber = (function (_super) {\n    __extends(WindowToggleSubscriber, _super);\n    function WindowToggleSubscriber(destination, openings, closingSelector) {\n        _super.call(this, destination);\n        this.openings = openings;\n        this.closingSelector = closingSelector;\n        this.contexts = [];\n        this.add(this.openSubscription = subscribeToResult_1.subscribeToResult(this, openings, openings));\n    }\n    WindowToggleSubscriber.prototype._next = function (value) {\n        var contexts = this.contexts;\n        if (contexts) {\n            var len = contexts.length;\n            for (var i = 0; i < len; i++) {\n                contexts[i].window.next(value);\n            }\n        }\n    };\n    WindowToggleSubscriber.prototype._error = function (err) {\n        var contexts = this.contexts;\n        this.contexts = null;\n        if (contexts) {\n            var len = contexts.length;\n            var index = -1;\n            while (++index < len) {\n                var context = contexts[index];\n                context.window.error(err);\n                context.subscription.unsubscribe();\n            }\n        }\n        _super.prototype._error.call(this, err);\n    };\n    WindowToggleSubscriber.prototype._complete = function () {\n        var contexts = this.contexts;\n        this.contexts = null;\n        if (contexts) {\n            var len = contexts.length;\n            var index = -1;\n            while (++index < len) {\n                var context = contexts[index];\n                context.window.complete();\n                context.subscription.unsubscribe();\n            }\n        }\n        _super.prototype._complete.call(this);\n    };\n    WindowToggleSubscriber.prototype._unsubscribe = function () {\n        var contexts = this.contexts;\n        this.contexts = null;\n        if (contexts) {\n            var len = contexts.length;\n            var index = -1;\n            while (++index < len) {\n                var context = contexts[index];\n                context.window.unsubscribe();\n                context.subscription.unsubscribe();\n            }\n        }\n    };\n    WindowToggleSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        if (outerValue === this.openings) {\n            var closingSelector = this.closingSelector;\n            var closingNotifier = tryCatch_1.tryCatch(closingSelector)(innerValue);\n            if (closingNotifier === errorObject_1.errorObject) {\n                return this.error(errorObject_1.errorObject.e);\n            }\n            else {\n                var window_1 = new Subject_1.Subject();\n                var subscription = new Subscription_1.Subscription();\n                var context = { window: window_1, subscription: subscription };\n                this.contexts.push(context);\n                var innerSubscription = subscribeToResult_1.subscribeToResult(this, closingNotifier, context);\n                if (innerSubscription.closed) {\n                    this.closeWindow(this.contexts.length - 1);\n                }\n                else {\n                    innerSubscription.context = context;\n                    subscription.add(innerSubscription);\n                }\n                this.destination.next(window_1);\n            }\n        }\n        else {\n            this.closeWindow(this.contexts.indexOf(outerValue));\n        }\n    };\n    WindowToggleSubscriber.prototype.notifyError = function (err) {\n        this.error(err);\n    };\n    WindowToggleSubscriber.prototype.notifyComplete = function (inner) {\n        if (inner !== this.openSubscription) {\n            this.closeWindow(this.contexts.indexOf(inner.context));\n        }\n    };\n    WindowToggleSubscriber.prototype.closeWindow = function (index) {\n        if (index === -1) {\n            return;\n        }\n        var contexts = this.contexts;\n        var context = contexts[index];\n        var window = context.window, subscription = context.subscription;\n        contexts.splice(index, 1);\n        window.complete();\n        subscription.unsubscribe();\n    };\n    return WindowToggleSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=windowToggle.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/windowToggle.js\n// module id = 1964\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subject_1 = require('../Subject');\nvar tryCatch_1 = require('../util/tryCatch');\nvar errorObject_1 = require('../util/errorObject');\nvar OuterSubscriber_1 = require('../OuterSubscriber');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\n/**\n * Branch out the source Observable values as a nested Observable using a\n * factory function of closing Observables to determine when to start a new\n * window.\n *\n * <span class=\"informal\">It's like {@link bufferWhen}, but emits a nested\n * Observable instead of an array.</span>\n *\n * <img src=\"./img/windowWhen.png\" width=\"100%\">\n *\n * Returns an Observable that emits windows of items it collects from the source\n * Observable. The output Observable emits connected, non-overlapping windows.\n * It emits the current window and opens a new one whenever the Observable\n * produced by the specified `closingSelector` function emits an item. The first\n * window is opened immediately when subscribing to the output Observable.\n *\n * @example <caption>Emit only the first two clicks events in every window of [1-5] random seconds</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks\n *   .windowWhen(() => Rx.Observable.interval(1000 + Math.random() * 4000))\n *   .map(win => win.take(2)) // each window has at most 2 emissions\n *   .mergeAll(); // flatten the Observable-of-Observables\n * result.subscribe(x => console.log(x));\n *\n * @see {@link window}\n * @see {@link windowCount}\n * @see {@link windowTime}\n * @see {@link windowToggle}\n * @see {@link bufferWhen}\n *\n * @param {function(): Observable} closingSelector A function that takes no\n * arguments and returns an Observable that signals (on either `next` or\n * `complete`) when to close the previous window and start a new one.\n * @return {Observable<Observable<T>>} An observable of windows, which in turn\n * are Observables.\n * @method windowWhen\n * @owner Observable\n */\nfunction windowWhen(closingSelector) {\n    return this.lift(new WindowOperator(closingSelector));\n}\nexports.windowWhen = windowWhen;\nvar WindowOperator = (function () {\n    function WindowOperator(closingSelector) {\n        this.closingSelector = closingSelector;\n    }\n    WindowOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new WindowSubscriber(subscriber, this.closingSelector));\n    };\n    return WindowOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar WindowSubscriber = (function (_super) {\n    __extends(WindowSubscriber, _super);\n    function WindowSubscriber(destination, closingSelector) {\n        _super.call(this, destination);\n        this.destination = destination;\n        this.closingSelector = closingSelector;\n        this.openWindow();\n    }\n    WindowSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        this.openWindow(innerSub);\n    };\n    WindowSubscriber.prototype.notifyError = function (error, innerSub) {\n        this._error(error);\n    };\n    WindowSubscriber.prototype.notifyComplete = function (innerSub) {\n        this.openWindow(innerSub);\n    };\n    WindowSubscriber.prototype._next = function (value) {\n        this.window.next(value);\n    };\n    WindowSubscriber.prototype._error = function (err) {\n        this.window.error(err);\n        this.destination.error(err);\n        this.unsubscribeClosingNotification();\n    };\n    WindowSubscriber.prototype._complete = function () {\n        this.window.complete();\n        this.destination.complete();\n        this.unsubscribeClosingNotification();\n    };\n    WindowSubscriber.prototype.unsubscribeClosingNotification = function () {\n        if (this.closingNotification) {\n            this.closingNotification.unsubscribe();\n        }\n    };\n    WindowSubscriber.prototype.openWindow = function (innerSub) {\n        if (innerSub === void 0) { innerSub = null; }\n        if (innerSub) {\n            this.remove(innerSub);\n            innerSub.unsubscribe();\n        }\n        var prevWindow = this.window;\n        if (prevWindow) {\n            prevWindow.complete();\n        }\n        var window = this.window = new Subject_1.Subject();\n        this.destination.next(window);\n        var closingNotifier = tryCatch_1.tryCatch(this.closingSelector)();\n        if (closingNotifier === errorObject_1.errorObject) {\n            var err = errorObject_1.errorObject.e;\n            this.destination.error(err);\n            this.window.error(err);\n        }\n        else {\n            this.add(this.closingNotification = subscribeToResult_1.subscribeToResult(this, closingNotifier));\n        }\n    };\n    return WindowSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=windowWhen.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/windowWhen.js\n// module id = 1965\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar OuterSubscriber_1 = require('../OuterSubscriber');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\n/**\n * Combines the source Observable with other Observables to create an Observable\n * whose values are calculated from the latest values of each, only when the\n * source emits.\n *\n * <span class=\"informal\">Whenever the source Observable emits a value, it\n * computes a formula using that value plus the latest values from other input\n * Observables, then emits the output of that formula.</span>\n *\n * <img src=\"./img/withLatestFrom.png\" width=\"100%\">\n *\n * `withLatestFrom` combines each value from the source Observable (the\n * instance) with the latest values from the other input Observables only when\n * the source emits a value, optionally using a `project` function to determine\n * the value to be emitted on the output Observable. All input Observables must\n * emit at least one value before the output Observable will emit a value.\n *\n * @example <caption>On every click event, emit an array with the latest timer event plus the click event</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var timer = Rx.Observable.interval(1000);\n * var result = clicks.withLatestFrom(timer);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link combineLatest}\n *\n * @param {Observable} other An input Observable to combine with the source\n * Observable. More than one input Observables may be given as argument.\n * @param {Function} [project] Projection function for combining values\n * together. Receives all values in order of the Observables passed, where the\n * first parameter is a value from the source Observable. (e.g.\n * `a.withLatestFrom(b, c, (a1, b1, c1) => a1 + b1 + c1)`). If this is not\n * passed, arrays will be emitted on the output Observable.\n * @return {Observable} An Observable of projected values from the most recent\n * values from each input Observable, or an array of the most recent values from\n * each input Observable.\n * @method withLatestFrom\n * @owner Observable\n */\nfunction withLatestFrom() {\n    var args = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        args[_i - 0] = arguments[_i];\n    }\n    var project;\n    if (typeof args[args.length - 1] === 'function') {\n        project = args.pop();\n    }\n    var observables = args;\n    return this.lift(new WithLatestFromOperator(observables, project));\n}\nexports.withLatestFrom = withLatestFrom;\n/* tslint:enable:max-line-length */\nvar WithLatestFromOperator = (function () {\n    function WithLatestFromOperator(observables, project) {\n        this.observables = observables;\n        this.project = project;\n    }\n    WithLatestFromOperator.prototype.call = function (subscriber, source) {\n        return source._subscribe(new WithLatestFromSubscriber(subscriber, this.observables, this.project));\n    };\n    return WithLatestFromOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar WithLatestFromSubscriber = (function (_super) {\n    __extends(WithLatestFromSubscriber, _super);\n    function WithLatestFromSubscriber(destination, observables, project) {\n        _super.call(this, destination);\n        this.observables = observables;\n        this.project = project;\n        this.toRespond = [];\n        var len = observables.length;\n        this.values = new Array(len);\n        for (var i = 0; i < len; i++) {\n            this.toRespond.push(i);\n        }\n        for (var i = 0; i < len; i++) {\n            var observable = observables[i];\n            this.add(subscribeToResult_1.subscribeToResult(this, observable, observable, i));\n        }\n    }\n    WithLatestFromSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n        this.values[outerIndex] = innerValue;\n        var toRespond = this.toRespond;\n        if (toRespond.length > 0) {\n            var found = toRespond.indexOf(outerIndex);\n            if (found !== -1) {\n                toRespond.splice(found, 1);\n            }\n        }\n    };\n    WithLatestFromSubscriber.prototype.notifyComplete = function () {\n        // noop\n    };\n    WithLatestFromSubscriber.prototype._next = function (value) {\n        if (this.toRespond.length === 0) {\n            var args = [value].concat(this.values);\n            if (this.project) {\n                this._tryProject(args);\n            }\n            else {\n                this.destination.next(args);\n            }\n        }\n    };\n    WithLatestFromSubscriber.prototype._tryProject = function (args) {\n        var result;\n        try {\n            result = this.project.apply(this, args);\n        }\n        catch (err) {\n            this.destination.error(err);\n            return;\n        }\n        this.destination.next(result);\n    };\n    return WithLatestFromSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=withLatestFrom.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/withLatestFrom.js\n// module id = 1966\n// module chunks = 0","\"use strict\";\nvar zip_1 = require('./zip');\n/**\n * @param project\n * @return {Observable<R>|WebSocketSubject<T>|Observable<T>}\n * @method zipAll\n * @owner Observable\n */\nfunction zipAll(project) {\n    return this.lift(new zip_1.ZipOperator(project));\n}\nexports.zipAll = zipAll;\n//# sourceMappingURL=zipAll.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/operator/zipAll.js\n// module id = 1967\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscription_1 = require('../Subscription');\n/**\n * A unit of work to be executed in a {@link Scheduler}. An action is typically\n * created from within a Scheduler and an RxJS user does not need to concern\n * themselves about creating and manipulating an Action.\n *\n * ```ts\n * class Action<T> extends Subscription {\n *   new (scheduler: Scheduler, work: (state?: T) => void);\n *   schedule(state?: T, delay: number = 0): Subscription;\n * }\n * ```\n *\n * @class Action<T>\n */\nvar Action = (function (_super) {\n    __extends(Action, _super);\n    function Action(scheduler, work) {\n        _super.call(this);\n    }\n    /**\n     * Schedules this action on its parent Scheduler for execution. May be passed\n     * some context object, `state`. May happen at some point in the future,\n     * according to the `delay` parameter, if specified.\n     * @param {T} [state] Some contextual data that the `work` function uses when\n     * called by the Scheduler.\n     * @param {number} [delay] Time to wait before executing the work, where the\n     * time unit is implicit and defined by the Scheduler.\n     * @return {void}\n     */\n    Action.prototype.schedule = function (state, delay) {\n        if (delay === void 0) { delay = 0; }\n        return this;\n    };\n    return Action;\n}(Subscription_1.Subscription));\nexports.Action = Action;\n//# sourceMappingURL=Action.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/scheduler/Action.js\n// module id = 1968\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar AsyncAction_1 = require('./AsyncAction');\nvar AnimationFrame_1 = require('../util/AnimationFrame');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar AnimationFrameAction = (function (_super) {\n    __extends(AnimationFrameAction, _super);\n    function AnimationFrameAction(scheduler, work) {\n        _super.call(this, scheduler, work);\n        this.scheduler = scheduler;\n        this.work = work;\n    }\n    AnimationFrameAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n        if (delay === void 0) { delay = 0; }\n        // If delay is greater than 0, request as an async action.\n        if (delay !== null && delay > 0) {\n            return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);\n        }\n        // Push the action to the end of the scheduler queue.\n        scheduler.actions.push(this);\n        // If an animation frame has already been requested, don't request another\n        // one. If an animation frame hasn't been requested yet, request one. Return\n        // the current animation frame request id.\n        return scheduler.scheduled || (scheduler.scheduled = AnimationFrame_1.AnimationFrame.requestAnimationFrame(scheduler.flush.bind(scheduler, null)));\n    };\n    AnimationFrameAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n        if (delay === void 0) { delay = 0; }\n        // If delay exists and is greater than 0, recycle as an async action.\n        if (delay !== null && delay > 0) {\n            return _super.prototype.recycleAsyncId.call(this, scheduler, id, delay);\n        }\n        // If the scheduler queue is empty, cancel the requested animation frame and\n        // set the scheduled flag to undefined so the next AnimationFrameAction will\n        // request its own.\n        if (scheduler.actions.length === 0) {\n            AnimationFrame_1.AnimationFrame.cancelAnimationFrame(id);\n            scheduler.scheduled = undefined;\n        }\n        // Return undefined so the action knows to request a new async id if it's rescheduled.\n        return undefined;\n    };\n    return AnimationFrameAction;\n}(AsyncAction_1.AsyncAction));\nexports.AnimationFrameAction = AnimationFrameAction;\n//# sourceMappingURL=AnimationFrameAction.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/scheduler/AnimationFrameAction.js\n// module id = 1969\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar AsyncScheduler_1 = require('./AsyncScheduler');\nvar AnimationFrameScheduler = (function (_super) {\n    __extends(AnimationFrameScheduler, _super);\n    function AnimationFrameScheduler() {\n        _super.apply(this, arguments);\n    }\n    AnimationFrameScheduler.prototype.flush = function () {\n        this.active = true;\n        this.scheduled = undefined;\n        var actions = this.actions;\n        var error;\n        var index = -1;\n        var count = actions.length;\n        var action = actions.shift();\n        do {\n            if (error = action.execute(action.state, action.delay)) {\n                break;\n            }\n        } while (++index < count && (action = actions.shift()));\n        this.active = false;\n        if (error) {\n            while (++index < count && (action = actions.shift())) {\n                action.unsubscribe();\n            }\n            throw error;\n        }\n    };\n    return AnimationFrameScheduler;\n}(AsyncScheduler_1.AsyncScheduler));\nexports.AnimationFrameScheduler = AnimationFrameScheduler;\n//# sourceMappingURL=AnimationFrameScheduler.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/scheduler/AnimationFrameScheduler.js\n// module id = 1970\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Immediate_1 = require('../util/Immediate');\nvar AsyncAction_1 = require('./AsyncAction');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar AsapAction = (function (_super) {\n    __extends(AsapAction, _super);\n    function AsapAction(scheduler, work) {\n        _super.call(this, scheduler, work);\n        this.scheduler = scheduler;\n        this.work = work;\n    }\n    AsapAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n        if (delay === void 0) { delay = 0; }\n        // If delay is greater than 0, request as an async action.\n        if (delay !== null && delay > 0) {\n            return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);\n        }\n        // Push the action to the end of the scheduler queue.\n        scheduler.actions.push(this);\n        // If a microtask has already been scheduled, don't schedule another\n        // one. If a microtask hasn't been scheduled yet, schedule one now. Return\n        // the current scheduled microtask id.\n        return scheduler.scheduled || (scheduler.scheduled = Immediate_1.Immediate.setImmediate(scheduler.flush.bind(scheduler, null)));\n    };\n    AsapAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n        if (delay === void 0) { delay = 0; }\n        // If delay exists and is greater than 0, recycle as an async action.\n        if (delay !== null && delay > 0) {\n            return _super.prototype.recycleAsyncId.call(this, scheduler, id, delay);\n        }\n        // If the scheduler queue is empty, cancel the requested microtask and\n        // set the scheduled flag to undefined so the next AsapAction will schedule\n        // its own.\n        if (scheduler.actions.length === 0) {\n            Immediate_1.Immediate.clearImmediate(id);\n            scheduler.scheduled = undefined;\n        }\n        // Return undefined so the action knows to request a new async id if it's rescheduled.\n        return undefined;\n    };\n    return AsapAction;\n}(AsyncAction_1.AsyncAction));\nexports.AsapAction = AsapAction;\n//# sourceMappingURL=AsapAction.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/scheduler/AsapAction.js\n// module id = 1971\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar AsyncScheduler_1 = require('./AsyncScheduler');\nvar AsapScheduler = (function (_super) {\n    __extends(AsapScheduler, _super);\n    function AsapScheduler() {\n        _super.apply(this, arguments);\n    }\n    AsapScheduler.prototype.flush = function () {\n        this.active = true;\n        this.scheduled = undefined;\n        var actions = this.actions;\n        var error;\n        var index = -1;\n        var count = actions.length;\n        var action = actions.shift();\n        do {\n            if (error = action.execute(action.state, action.delay)) {\n                break;\n            }\n        } while (++index < count && (action = actions.shift()));\n        this.active = false;\n        if (error) {\n            while (++index < count && (action = actions.shift())) {\n                action.unsubscribe();\n            }\n            throw error;\n        }\n    };\n    return AsapScheduler;\n}(AsyncScheduler_1.AsyncScheduler));\nexports.AsapScheduler = AsapScheduler;\n//# sourceMappingURL=AsapScheduler.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/scheduler/AsapScheduler.js\n// module id = 1972\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar AsyncAction_1 = require('./AsyncAction');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar QueueAction = (function (_super) {\n    __extends(QueueAction, _super);\n    function QueueAction(scheduler, work) {\n        _super.call(this, scheduler, work);\n        this.scheduler = scheduler;\n        this.work = work;\n    }\n    QueueAction.prototype.schedule = function (state, delay) {\n        if (delay === void 0) { delay = 0; }\n        if (delay > 0) {\n            return _super.prototype.schedule.call(this, state, delay);\n        }\n        this.delay = delay;\n        this.state = state;\n        this.scheduler.flush(this);\n        return this;\n    };\n    QueueAction.prototype.execute = function (state, delay) {\n        return (delay > 0 || this.closed) ?\n            _super.prototype.execute.call(this, state, delay) :\n            this._execute(state, delay);\n    };\n    QueueAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n        if (delay === void 0) { delay = 0; }\n        // If delay is greater than 0, enqueue as an async action.\n        if (delay !== null && delay > 0) {\n            return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);\n        }\n        // Otherwise flush the scheduler starting with this action.\n        return scheduler.flush(this);\n    };\n    return QueueAction;\n}(AsyncAction_1.AsyncAction));\nexports.QueueAction = QueueAction;\n//# sourceMappingURL=QueueAction.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/scheduler/QueueAction.js\n// module id = 1973\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar AsyncScheduler_1 = require('./AsyncScheduler');\nvar QueueScheduler = (function (_super) {\n    __extends(QueueScheduler, _super);\n    function QueueScheduler() {\n        _super.apply(this, arguments);\n    }\n    return QueueScheduler;\n}(AsyncScheduler_1.AsyncScheduler));\nexports.QueueScheduler = QueueScheduler;\n//# sourceMappingURL=QueueScheduler.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/scheduler/QueueScheduler.js\n// module id = 1974\n// module chunks = 0","\"use strict\";\nvar AnimationFrameAction_1 = require('./AnimationFrameAction');\nvar AnimationFrameScheduler_1 = require('./AnimationFrameScheduler');\nexports.animationFrame = new AnimationFrameScheduler_1.AnimationFrameScheduler(AnimationFrameAction_1.AnimationFrameAction);\n//# sourceMappingURL=animationFrame.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/scheduler/animationFrame.js\n// module id = 1975\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = require('../Observable');\nvar Subscription_1 = require('../Subscription');\nvar SubscriptionLoggable_1 = require('./SubscriptionLoggable');\nvar applyMixins_1 = require('../util/applyMixins');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar ColdObservable = (function (_super) {\n    __extends(ColdObservable, _super);\n    function ColdObservable(messages, scheduler) {\n        _super.call(this, function (subscriber) {\n            var observable = this;\n            var index = observable.logSubscribedFrame();\n            subscriber.add(new Subscription_1.Subscription(function () {\n                observable.logUnsubscribedFrame(index);\n            }));\n            observable.scheduleMessages(subscriber);\n            return subscriber;\n        });\n        this.messages = messages;\n        this.subscriptions = [];\n        this.scheduler = scheduler;\n    }\n    ColdObservable.prototype.scheduleMessages = function (subscriber) {\n        var messagesLength = this.messages.length;\n        for (var i = 0; i < messagesLength; i++) {\n            var message = this.messages[i];\n            subscriber.add(this.scheduler.schedule(function (_a) {\n                var message = _a.message, subscriber = _a.subscriber;\n                message.notification.observe(subscriber);\n            }, message.frame, { message: message, subscriber: subscriber }));\n        }\n    };\n    return ColdObservable;\n}(Observable_1.Observable));\nexports.ColdObservable = ColdObservable;\napplyMixins_1.applyMixins(ColdObservable, [SubscriptionLoggable_1.SubscriptionLoggable]);\n//# sourceMappingURL=ColdObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/testing/ColdObservable.js\n// module id = 1976\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subject_1 = require('../Subject');\nvar Subscription_1 = require('../Subscription');\nvar SubscriptionLoggable_1 = require('./SubscriptionLoggable');\nvar applyMixins_1 = require('../util/applyMixins');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar HotObservable = (function (_super) {\n    __extends(HotObservable, _super);\n    function HotObservable(messages, scheduler) {\n        _super.call(this);\n        this.messages = messages;\n        this.subscriptions = [];\n        this.scheduler = scheduler;\n    }\n    HotObservable.prototype._subscribe = function (subscriber) {\n        var subject = this;\n        var index = subject.logSubscribedFrame();\n        subscriber.add(new Subscription_1.Subscription(function () {\n            subject.logUnsubscribedFrame(index);\n        }));\n        return _super.prototype._subscribe.call(this, subscriber);\n    };\n    HotObservable.prototype.setup = function () {\n        var subject = this;\n        var messagesLength = subject.messages.length;\n        /* tslint:disable:no-var-keyword */\n        for (var i = 0; i < messagesLength; i++) {\n            (function () {\n                var message = subject.messages[i];\n                /* tslint:enable */\n                subject.scheduler.schedule(function () { message.notification.observe(subject); }, message.frame);\n            })();\n        }\n    };\n    return HotObservable;\n}(Subject_1.Subject));\nexports.HotObservable = HotObservable;\napplyMixins_1.applyMixins(HotObservable, [SubscriptionLoggable_1.SubscriptionLoggable]);\n//# sourceMappingURL=HotObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/testing/HotObservable.js\n// module id = 1977\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = require('../Observable');\nvar Notification_1 = require('../Notification');\nvar ColdObservable_1 = require('./ColdObservable');\nvar HotObservable_1 = require('./HotObservable');\nvar SubscriptionLog_1 = require('./SubscriptionLog');\nvar VirtualTimeScheduler_1 = require('../scheduler/VirtualTimeScheduler');\nvar defaultMaxFrame = 750;\nvar TestScheduler = (function (_super) {\n    __extends(TestScheduler, _super);\n    function TestScheduler(assertDeepEqual) {\n        _super.call(this, VirtualTimeScheduler_1.VirtualAction, defaultMaxFrame);\n        this.assertDeepEqual = assertDeepEqual;\n        this.hotObservables = [];\n        this.coldObservables = [];\n        this.flushTests = [];\n    }\n    TestScheduler.prototype.createTime = function (marbles) {\n        var indexOf = marbles.indexOf('|');\n        if (indexOf === -1) {\n            throw new Error('marble diagram for time should have a completion marker \"|\"');\n        }\n        return indexOf * TestScheduler.frameTimeFactor;\n    };\n    TestScheduler.prototype.createColdObservable = function (marbles, values, error) {\n        if (marbles.indexOf('^') !== -1) {\n            throw new Error('cold observable cannot have subscription offset \"^\"');\n        }\n        if (marbles.indexOf('!') !== -1) {\n            throw new Error('cold observable cannot have unsubscription marker \"!\"');\n        }\n        var messages = TestScheduler.parseMarbles(marbles, values, error);\n        var cold = new ColdObservable_1.ColdObservable(messages, this);\n        this.coldObservables.push(cold);\n        return cold;\n    };\n    TestScheduler.prototype.createHotObservable = function (marbles, values, error) {\n        if (marbles.indexOf('!') !== -1) {\n            throw new Error('hot observable cannot have unsubscription marker \"!\"');\n        }\n        var messages = TestScheduler.parseMarbles(marbles, values, error);\n        var subject = new HotObservable_1.HotObservable(messages, this);\n        this.hotObservables.push(subject);\n        return subject;\n    };\n    TestScheduler.prototype.materializeInnerObservable = function (observable, outerFrame) {\n        var _this = this;\n        var messages = [];\n        observable.subscribe(function (value) {\n            messages.push({ frame: _this.frame - outerFrame, notification: Notification_1.Notification.createNext(value) });\n        }, function (err) {\n            messages.push({ frame: _this.frame - outerFrame, notification: Notification_1.Notification.createError(err) });\n        }, function () {\n            messages.push({ frame: _this.frame - outerFrame, notification: Notification_1.Notification.createComplete() });\n        });\n        return messages;\n    };\n    TestScheduler.prototype.expectObservable = function (observable, unsubscriptionMarbles) {\n        var _this = this;\n        if (unsubscriptionMarbles === void 0) { unsubscriptionMarbles = null; }\n        var actual = [];\n        var flushTest = { actual: actual, ready: false };\n        var unsubscriptionFrame = TestScheduler\n            .parseMarblesAsSubscriptions(unsubscriptionMarbles).unsubscribedFrame;\n        var subscription;\n        this.schedule(function () {\n            subscription = observable.subscribe(function (x) {\n                var value = x;\n                // Support Observable-of-Observables\n                if (x instanceof Observable_1.Observable) {\n                    value = _this.materializeInnerObservable(value, _this.frame);\n                }\n                actual.push({ frame: _this.frame, notification: Notification_1.Notification.createNext(value) });\n            }, function (err) {\n                actual.push({ frame: _this.frame, notification: Notification_1.Notification.createError(err) });\n            }, function () {\n                actual.push({ frame: _this.frame, notification: Notification_1.Notification.createComplete() });\n            });\n        }, 0);\n        if (unsubscriptionFrame !== Number.POSITIVE_INFINITY) {\n            this.schedule(function () { return subscription.unsubscribe(); }, unsubscriptionFrame);\n        }\n        this.flushTests.push(flushTest);\n        return {\n            toBe: function (marbles, values, errorValue) {\n                flushTest.ready = true;\n                flushTest.expected = TestScheduler.parseMarbles(marbles, values, errorValue, true);\n            }\n        };\n    };\n    TestScheduler.prototype.expectSubscriptions = function (actualSubscriptionLogs) {\n        var flushTest = { actual: actualSubscriptionLogs, ready: false };\n        this.flushTests.push(flushTest);\n        return {\n            toBe: function (marbles) {\n                var marblesArray = (typeof marbles === 'string') ? [marbles] : marbles;\n                flushTest.ready = true;\n                flushTest.expected = marblesArray.map(function (marbles) {\n                    return TestScheduler.parseMarblesAsSubscriptions(marbles);\n                });\n            }\n        };\n    };\n    TestScheduler.prototype.flush = function () {\n        var hotObservables = this.hotObservables;\n        while (hotObservables.length > 0) {\n            hotObservables.shift().setup();\n        }\n        _super.prototype.flush.call(this);\n        var readyFlushTests = this.flushTests.filter(function (test) { return test.ready; });\n        while (readyFlushTests.length > 0) {\n            var test = readyFlushTests.shift();\n            this.assertDeepEqual(test.actual, test.expected);\n        }\n    };\n    TestScheduler.parseMarblesAsSubscriptions = function (marbles) {\n        if (typeof marbles !== 'string') {\n            return new SubscriptionLog_1.SubscriptionLog(Number.POSITIVE_INFINITY);\n        }\n        var len = marbles.length;\n        var groupStart = -1;\n        var subscriptionFrame = Number.POSITIVE_INFINITY;\n        var unsubscriptionFrame = Number.POSITIVE_INFINITY;\n        for (var i = 0; i < len; i++) {\n            var frame = i * this.frameTimeFactor;\n            var c = marbles[i];\n            switch (c) {\n                case '-':\n                case ' ':\n                    break;\n                case '(':\n                    groupStart = frame;\n                    break;\n                case ')':\n                    groupStart = -1;\n                    break;\n                case '^':\n                    if (subscriptionFrame !== Number.POSITIVE_INFINITY) {\n                        throw new Error('found a second subscription point \\'^\\' in a ' +\n                            'subscription marble diagram. There can only be one.');\n                    }\n                    subscriptionFrame = groupStart > -1 ? groupStart : frame;\n                    break;\n                case '!':\n                    if (unsubscriptionFrame !== Number.POSITIVE_INFINITY) {\n                        throw new Error('found a second subscription point \\'^\\' in a ' +\n                            'subscription marble diagram. There can only be one.');\n                    }\n                    unsubscriptionFrame = groupStart > -1 ? groupStart : frame;\n                    break;\n                default:\n                    throw new Error('there can only be \\'^\\' and \\'!\\' markers in a ' +\n                        'subscription marble diagram. Found instead \\'' + c + '\\'.');\n            }\n        }\n        if (unsubscriptionFrame < 0) {\n            return new SubscriptionLog_1.SubscriptionLog(subscriptionFrame);\n        }\n        else {\n            return new SubscriptionLog_1.SubscriptionLog(subscriptionFrame, unsubscriptionFrame);\n        }\n    };\n    TestScheduler.parseMarbles = function (marbles, values, errorValue, materializeInnerObservables) {\n        if (materializeInnerObservables === void 0) { materializeInnerObservables = false; }\n        if (marbles.indexOf('!') !== -1) {\n            throw new Error('conventional marble diagrams cannot have the ' +\n                'unsubscription marker \"!\"');\n        }\n        var len = marbles.length;\n        var testMessages = [];\n        var subIndex = marbles.indexOf('^');\n        var frameOffset = subIndex === -1 ? 0 : (subIndex * -this.frameTimeFactor);\n        var getValue = typeof values !== 'object' ?\n            function (x) { return x; } :\n            function (x) {\n                // Support Observable-of-Observables\n                if (materializeInnerObservables && values[x] instanceof ColdObservable_1.ColdObservable) {\n                    return values[x].messages;\n                }\n                return values[x];\n            };\n        var groupStart = -1;\n        for (var i = 0; i < len; i++) {\n            var frame = i * this.frameTimeFactor + frameOffset;\n            var notification = void 0;\n            var c = marbles[i];\n            switch (c) {\n                case '-':\n                case ' ':\n                    break;\n                case '(':\n                    groupStart = frame;\n                    break;\n                case ')':\n                    groupStart = -1;\n                    break;\n                case '|':\n                    notification = Notification_1.Notification.createComplete();\n                    break;\n                case '^':\n                    break;\n                case '#':\n                    notification = Notification_1.Notification.createError(errorValue || 'error');\n                    break;\n                default:\n                    notification = Notification_1.Notification.createNext(getValue(c));\n                    break;\n            }\n            if (notification) {\n                testMessages.push({ frame: groupStart > -1 ? groupStart : frame, notification: notification });\n            }\n        }\n        return testMessages;\n    };\n    return TestScheduler;\n}(VirtualTimeScheduler_1.VirtualTimeScheduler));\nexports.TestScheduler = TestScheduler;\n//# sourceMappingURL=TestScheduler.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/testing/TestScheduler.js\n// module id = 1978\n// module chunks = 0","\"use strict\";\nvar root_1 = require('./root');\nvar RequestAnimationFrameDefinition = (function () {\n    function RequestAnimationFrameDefinition(root) {\n        if (root.requestAnimationFrame) {\n            this.cancelAnimationFrame = root.cancelAnimationFrame.bind(root);\n            this.requestAnimationFrame = root.requestAnimationFrame.bind(root);\n        }\n        else if (root.mozRequestAnimationFrame) {\n            this.cancelAnimationFrame = root.mozCancelAnimationFrame.bind(root);\n            this.requestAnimationFrame = root.mozRequestAnimationFrame.bind(root);\n        }\n        else if (root.webkitRequestAnimationFrame) {\n            this.cancelAnimationFrame = root.webkitCancelAnimationFrame.bind(root);\n            this.requestAnimationFrame = root.webkitRequestAnimationFrame.bind(root);\n        }\n        else if (root.msRequestAnimationFrame) {\n            this.cancelAnimationFrame = root.msCancelAnimationFrame.bind(root);\n            this.requestAnimationFrame = root.msRequestAnimationFrame.bind(root);\n        }\n        else if (root.oRequestAnimationFrame) {\n            this.cancelAnimationFrame = root.oCancelAnimationFrame.bind(root);\n            this.requestAnimationFrame = root.oRequestAnimationFrame.bind(root);\n        }\n        else {\n            this.cancelAnimationFrame = root.clearTimeout.bind(root);\n            this.requestAnimationFrame = function (cb) { return root.setTimeout(cb, 1000 / 60); };\n        }\n    }\n    return RequestAnimationFrameDefinition;\n}());\nexports.RequestAnimationFrameDefinition = RequestAnimationFrameDefinition;\nexports.AnimationFrame = new RequestAnimationFrameDefinition(root_1.root);\n//# sourceMappingURL=AnimationFrame.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/util/AnimationFrame.js\n// module id = 1979\n// module chunks = 0","\"use strict\";\nvar FastMap = (function () {\n    function FastMap() {\n        this.values = {};\n    }\n    FastMap.prototype.delete = function (key) {\n        this.values[key] = null;\n        return true;\n    };\n    FastMap.prototype.set = function (key, value) {\n        this.values[key] = value;\n        return this;\n    };\n    FastMap.prototype.get = function (key) {\n        return this.values[key];\n    };\n    FastMap.prototype.forEach = function (cb, thisArg) {\n        var values = this.values;\n        for (var key in values) {\n            if (values.hasOwnProperty(key) && values[key] !== null) {\n                cb.call(thisArg, values[key], key);\n            }\n        }\n    };\n    FastMap.prototype.clear = function () {\n        this.values = {};\n    };\n    return FastMap;\n}());\nexports.FastMap = FastMap;\n//# sourceMappingURL=FastMap.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/util/FastMap.js\n// module id = 1980\n// module chunks = 0","/**\nSome credit for this helper goes to http://github.com/YuzuJS/setImmediate\n*/\n\"use strict\";\nvar root_1 = require('./root');\nvar ImmediateDefinition = (function () {\n    function ImmediateDefinition(root) {\n        this.root = root;\n        if (root.setImmediate && typeof root.setImmediate === 'function') {\n            this.setImmediate = root.setImmediate.bind(root);\n            this.clearImmediate = root.clearImmediate.bind(root);\n        }\n        else {\n            this.nextHandle = 1;\n            this.tasksByHandle = {};\n            this.currentlyRunningATask = false;\n            // Don't get fooled by e.g. browserify environments.\n            if (this.canUseProcessNextTick()) {\n                // For Node.js before 0.9\n                this.setImmediate = this.createProcessNextTickSetImmediate();\n            }\n            else if (this.canUsePostMessage()) {\n                // For non-IE10 modern browsers\n                this.setImmediate = this.createPostMessageSetImmediate();\n            }\n            else if (this.canUseMessageChannel()) {\n                // For web workers, where supported\n                this.setImmediate = this.createMessageChannelSetImmediate();\n            }\n            else if (this.canUseReadyStateChange()) {\n                // For IE 6–8\n                this.setImmediate = this.createReadyStateChangeSetImmediate();\n            }\n            else {\n                // For older browsers\n                this.setImmediate = this.createSetTimeoutSetImmediate();\n            }\n            var ci = function clearImmediate(handle) {\n                delete clearImmediate.instance.tasksByHandle[handle];\n            };\n            ci.instance = this;\n            this.clearImmediate = ci;\n        }\n    }\n    ImmediateDefinition.prototype.identify = function (o) {\n        return this.root.Object.prototype.toString.call(o);\n    };\n    ImmediateDefinition.prototype.canUseProcessNextTick = function () {\n        return this.identify(this.root.process) === '[object process]';\n    };\n    ImmediateDefinition.prototype.canUseMessageChannel = function () {\n        return Boolean(this.root.MessageChannel);\n    };\n    ImmediateDefinition.prototype.canUseReadyStateChange = function () {\n        var document = this.root.document;\n        return Boolean(document && 'onreadystatechange' in document.createElement('script'));\n    };\n    ImmediateDefinition.prototype.canUsePostMessage = function () {\n        var root = this.root;\n        // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n        // where `root.postMessage` means something completely different and can't be used for this purpose.\n        if (root.postMessage && !root.importScripts) {\n            var postMessageIsAsynchronous_1 = true;\n            var oldOnMessage = root.onmessage;\n            root.onmessage = function () {\n                postMessageIsAsynchronous_1 = false;\n            };\n            root.postMessage('', '*');\n            root.onmessage = oldOnMessage;\n            return postMessageIsAsynchronous_1;\n        }\n        return false;\n    };\n    // This function accepts the same arguments as setImmediate, but\n    // returns a function that requires no arguments.\n    ImmediateDefinition.prototype.partiallyApplied = function (handler) {\n        var args = [];\n        for (var _i = 1; _i < arguments.length; _i++) {\n            args[_i - 1] = arguments[_i];\n        }\n        var fn = function result() {\n            var _a = result, handler = _a.handler, args = _a.args;\n            if (typeof handler === 'function') {\n                handler.apply(undefined, args);\n            }\n            else {\n                (new Function('' + handler))();\n            }\n        };\n        fn.handler = handler;\n        fn.args = args;\n        return fn;\n    };\n    ImmediateDefinition.prototype.addFromSetImmediateArguments = function (args) {\n        this.tasksByHandle[this.nextHandle] = this.partiallyApplied.apply(undefined, args);\n        return this.nextHandle++;\n    };\n    ImmediateDefinition.prototype.createProcessNextTickSetImmediate = function () {\n        var fn = function setImmediate() {\n            var instance = setImmediate.instance;\n            var handle = instance.addFromSetImmediateArguments(arguments);\n            instance.root.process.nextTick(instance.partiallyApplied(instance.runIfPresent, handle));\n            return handle;\n        };\n        fn.instance = this;\n        return fn;\n    };\n    ImmediateDefinition.prototype.createPostMessageSetImmediate = function () {\n        // Installs an event handler on `global` for the `message` event: see\n        // * https://developer.mozilla.org/en/DOM/window.postMessage\n        // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n        var root = this.root;\n        var messagePrefix = 'setImmediate$' + root.Math.random() + '$';\n        var onGlobalMessage = function globalMessageHandler(event) {\n            var instance = globalMessageHandler.instance;\n            if (event.source === root &&\n                typeof event.data === 'string' &&\n                event.data.indexOf(messagePrefix) === 0) {\n                instance.runIfPresent(+event.data.slice(messagePrefix.length));\n            }\n        };\n        onGlobalMessage.instance = this;\n        root.addEventListener('message', onGlobalMessage, false);\n        var fn = function setImmediate() {\n            var _a = setImmediate, messagePrefix = _a.messagePrefix, instance = _a.instance;\n            var handle = instance.addFromSetImmediateArguments(arguments);\n            instance.root.postMessage(messagePrefix + handle, '*');\n            return handle;\n        };\n        fn.instance = this;\n        fn.messagePrefix = messagePrefix;\n        return fn;\n    };\n    ImmediateDefinition.prototype.runIfPresent = function (handle) {\n        // From the spec: 'Wait until any invocations of this algorithm started before this one have completed.'\n        // So if we're currently running a task, we'll need to delay this invocation.\n        if (this.currentlyRunningATask) {\n            // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n            // 'too much recursion' error.\n            this.root.setTimeout(this.partiallyApplied(this.runIfPresent, handle), 0);\n        }\n        else {\n            var task = this.tasksByHandle[handle];\n            if (task) {\n                this.currentlyRunningATask = true;\n                try {\n                    task();\n                }\n                finally {\n                    this.clearImmediate(handle);\n                    this.currentlyRunningATask = false;\n                }\n            }\n        }\n    };\n    ImmediateDefinition.prototype.createMessageChannelSetImmediate = function () {\n        var _this = this;\n        var channel = new this.root.MessageChannel();\n        channel.port1.onmessage = function (event) {\n            var handle = event.data;\n            _this.runIfPresent(handle);\n        };\n        var fn = function setImmediate() {\n            var _a = setImmediate, channel = _a.channel, instance = _a.instance;\n            var handle = instance.addFromSetImmediateArguments(arguments);\n            channel.port2.postMessage(handle);\n            return handle;\n        };\n        fn.channel = channel;\n        fn.instance = this;\n        return fn;\n    };\n    ImmediateDefinition.prototype.createReadyStateChangeSetImmediate = function () {\n        var fn = function setImmediate() {\n            var instance = setImmediate.instance;\n            var root = instance.root;\n            var doc = root.document;\n            var html = doc.documentElement;\n            var handle = instance.addFromSetImmediateArguments(arguments);\n            // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted\n            // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n            var script = doc.createElement('script');\n            script.onreadystatechange = function () {\n                instance.runIfPresent(handle);\n                script.onreadystatechange = null;\n                html.removeChild(script);\n                script = null;\n            };\n            html.appendChild(script);\n            return handle;\n        };\n        fn.instance = this;\n        return fn;\n    };\n    ImmediateDefinition.prototype.createSetTimeoutSetImmediate = function () {\n        var fn = function setImmediate() {\n            var instance = setImmediate.instance;\n            var handle = instance.addFromSetImmediateArguments(arguments);\n            instance.root.setTimeout(instance.partiallyApplied(instance.runIfPresent, handle), 0);\n            return handle;\n        };\n        fn.instance = this;\n        return fn;\n    };\n    return ImmediateDefinition;\n}());\nexports.ImmediateDefinition = ImmediateDefinition;\nexports.Immediate = new ImmediateDefinition(root_1.root);\n//# sourceMappingURL=Immediate.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/util/Immediate.js\n// module id = 1981\n// module chunks = 0","\"use strict\";\nvar root_1 = require('./root');\nvar MapPolyfill_1 = require('./MapPolyfill');\nexports.Map = root_1.root.Map || (function () { return MapPolyfill_1.MapPolyfill; })();\n//# sourceMappingURL=Map.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/util/Map.js\n// module id = 1982\n// module chunks = 0","\"use strict\";\nvar MapPolyfill = (function () {\n    function MapPolyfill() {\n        this.size = 0;\n        this._values = [];\n        this._keys = [];\n    }\n    MapPolyfill.prototype.get = function (key) {\n        var i = this._keys.indexOf(key);\n        return i === -1 ? undefined : this._values[i];\n    };\n    MapPolyfill.prototype.set = function (key, value) {\n        var i = this._keys.indexOf(key);\n        if (i === -1) {\n            this._keys.push(key);\n            this._values.push(value);\n            this.size++;\n        }\n        else {\n            this._values[i] = value;\n        }\n        return this;\n    };\n    MapPolyfill.prototype.delete = function (key) {\n        var i = this._keys.indexOf(key);\n        if (i === -1) {\n            return false;\n        }\n        this._values.splice(i, 1);\n        this._keys.splice(i, 1);\n        this.size--;\n        return true;\n    };\n    MapPolyfill.prototype.clear = function () {\n        this._keys.length = 0;\n        this._values.length = 0;\n        this.size = 0;\n    };\n    MapPolyfill.prototype.forEach = function (cb, thisArg) {\n        for (var i = 0; i < this.size; i++) {\n            cb.call(thisArg, this._values[i], this._keys[i]);\n        }\n    };\n    return MapPolyfill;\n}());\nexports.MapPolyfill = MapPolyfill;\n//# sourceMappingURL=MapPolyfill.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/util/MapPolyfill.js\n// module id = 1983\n// module chunks = 0","\"use strict\";\nvar root_1 = require('./root');\nvar Object = root_1.root.Object;\nif (typeof Object.assign != 'function') {\n    (function () {\n        Object.assign = function assignPolyfill(target) {\n            var sources = [];\n            for (var _i = 1; _i < arguments.length; _i++) {\n                sources[_i - 1] = arguments[_i];\n            }\n            if (target === undefined || target === null) {\n                throw new TypeError('cannot convert undefined or null to object');\n            }\n            var output = Object(target);\n            var len = sources.length;\n            for (var index = 0; index < len; index++) {\n                var source = sources[index];\n                if (source !== undefined && source !== null) {\n                    for (var key in source) {\n                        if (source.hasOwnProperty(key)) {\n                            output[key] = source[key];\n                        }\n                    }\n                }\n            }\n            return output;\n        };\n    })();\n}\nexports.assign = Object.assign;\n//# sourceMappingURL=assign.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/util/assign.js\n// module id = 1984\n// module chunks = 0","\"use strict\";\nfunction isObject(x) {\n    return x != null && typeof x === 'object';\n}\nexports.isObject = isObject;\n//# sourceMappingURL=isObject.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/util/isObject.js\n// module id = 1985\n// module chunks = 0","\"use strict\";\nfunction not(pred, thisArg) {\n    function notPred() {\n        return !(notPred.pred.apply(notPred.thisArg, arguments));\n    }\n    notPred.pred = pred;\n    notPred.thisArg = thisArg;\n    return notPred;\n}\nexports.not = not;\n//# sourceMappingURL=not.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/util/not.js\n// module id = 1986\n// module chunks = 0","\"use strict\";\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\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/rxjs/util/toSubscriber.js\n// module id = 1987\n// module chunks = 0","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar punycode = require('punycode');\nvar util = require('./util');\n\nexports.parse = urlParse;\nexports.resolve = urlResolve;\nexports.resolveObject = urlResolveObject;\nexports.format = urlFormat;\n\nexports.Url = Url;\n\nfunction Url() {\n  this.protocol = null;\n  this.slashes = null;\n  this.auth = null;\n  this.host = null;\n  this.port = null;\n  this.hostname = null;\n  this.hash = null;\n  this.search = null;\n  this.query = null;\n  this.pathname = null;\n  this.path = null;\n  this.href = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n// define these here so at least they only have to be\n// compiled once on the first module load.\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n    portPattern = /:[0-9]*$/,\n\n    // Special case for a simple path URL\n    simplePathPattern = /^(\\/\\/?(?!\\/)[^\\?\\s]*)(\\?[^\\s]*)?$/,\n\n    // RFC 2396: characters reserved for delimiting URLs.\n    // We actually just auto-escape these.\n    delims = ['<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t'],\n\n    // RFC 2396: characters not allowed for various reasons.\n    unwise = ['{', '}', '|', '\\\\', '^', '`'].concat(delims),\n\n    // Allowed by RFCs, but cause of XSS attacks.  Always escape these.\n    autoEscape = ['\\''].concat(unwise),\n    // Characters that are never ever allowed in a hostname.\n    // Note that any invalid chars are also handled, but these\n    // are the ones that are *expected* to be seen, so we fast-path\n    // them.\n    nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape),\n    hostEndingChars = ['/', '?', '#'],\n    hostnameMaxLen = 255,\n    hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n    hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n    // protocols that can allow \"unsafe\" and \"unwise\" chars.\n    unsafeProtocol = {\n      'javascript': true,\n      'javascript:': true\n    },\n    // protocols that never have a hostname.\n    hostlessProtocol = {\n      'javascript': true,\n      'javascript:': true\n    },\n    // protocols that always contain a // bit.\n    slashedProtocol = {\n      'http': true,\n      'https': true,\n      'ftp': true,\n      'gopher': true,\n      'file': true,\n      'http:': true,\n      'https:': true,\n      'ftp:': true,\n      'gopher:': true,\n      'file:': true\n    },\n    querystring = require('querystring');\n\nfunction urlParse(url, parseQueryString, slashesDenoteHost) {\n  if (url && util.isObject(url) && url instanceof Url) return url;\n\n  var u = new Url;\n  u.parse(url, parseQueryString, slashesDenoteHost);\n  return u;\n}\n\nUrl.prototype.parse = function(url, parseQueryString, slashesDenoteHost) {\n  if (!util.isString(url)) {\n    throw new TypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n  }\n\n  // Copy chrome, IE, opera backslash-handling behavior.\n  // Back slashes before the query string get converted to forward slashes\n  // See: https://code.google.com/p/chromium/issues/detail?id=25916\n  var queryIndex = url.indexOf('?'),\n      splitter =\n          (queryIndex !== -1 && queryIndex < url.indexOf('#')) ? '?' : '#',\n      uSplit = url.split(splitter),\n      slashRegex = /\\\\/g;\n  uSplit[0] = uSplit[0].replace(slashRegex, '/');\n  url = uSplit.join(splitter);\n\n  var rest = url;\n\n  // trim before proceeding.\n  // This is to support parse stuff like \"  http://foo.com  \\n\"\n  rest = rest.trim();\n\n  if (!slashesDenoteHost && url.split('#').length === 1) {\n    // Try fast path regexp\n    var simplePath = simplePathPattern.exec(rest);\n    if (simplePath) {\n      this.path = rest;\n      this.href = rest;\n      this.pathname = simplePath[1];\n      if (simplePath[2]) {\n        this.search = simplePath[2];\n        if (parseQueryString) {\n          this.query = querystring.parse(this.search.substr(1));\n        } else {\n          this.query = this.search.substr(1);\n        }\n      } else if (parseQueryString) {\n        this.search = '';\n        this.query = {};\n      }\n      return this;\n    }\n  }\n\n  var proto = protocolPattern.exec(rest);\n  if (proto) {\n    proto = proto[0];\n    var lowerProto = proto.toLowerCase();\n    this.protocol = lowerProto;\n    rest = rest.substr(proto.length);\n  }\n\n  // figure out if it's got a host\n  // user@server is *always* interpreted as a hostname, and url\n  // resolution will treat //foo/bar as host=foo,path=bar because that's\n  // how the browser resolves relative URLs.\n  if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@\\/]+@[^@\\/]+/)) {\n    var slashes = rest.substr(0, 2) === '//';\n    if (slashes && !(proto && hostlessProtocol[proto])) {\n      rest = rest.substr(2);\n      this.slashes = true;\n    }\n  }\n\n  if (!hostlessProtocol[proto] &&\n      (slashes || (proto && !slashedProtocol[proto]))) {\n\n    // there's a hostname.\n    // the first instance of /, ?, ;, or # ends the host.\n    //\n    // If there is an @ in the hostname, then non-host chars *are* allowed\n    // to the left of the last @ sign, unless some host-ending character\n    // comes *before* the @-sign.\n    // URLs are obnoxious.\n    //\n    // ex:\n    // http://a@b@c/ => user:a@b host:c\n    // http://a@b?@c => user:a host:c path:/?@c\n\n    // v0.12 TODO(isaacs): This is not quite how Chrome does things.\n    // Review our test case against browsers more comprehensively.\n\n    // find the first instance of any hostEndingChars\n    var hostEnd = -1;\n    for (var i = 0; i < hostEndingChars.length; i++) {\n      var hec = rest.indexOf(hostEndingChars[i]);\n      if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n        hostEnd = hec;\n    }\n\n    // at this point, either we have an explicit point where the\n    // auth portion cannot go past, or the last @ char is the decider.\n    var auth, atSign;\n    if (hostEnd === -1) {\n      // atSign can be anywhere.\n      atSign = rest.lastIndexOf('@');\n    } else {\n      // atSign must be in auth portion.\n      // http://a@b/c@d => host:b auth:a path:/c@d\n      atSign = rest.lastIndexOf('@', hostEnd);\n    }\n\n    // Now we have a portion which is definitely the auth.\n    // Pull that off.\n    if (atSign !== -1) {\n      auth = rest.slice(0, atSign);\n      rest = rest.slice(atSign + 1);\n      this.auth = decodeURIComponent(auth);\n    }\n\n    // the host is the remaining to the left of the first non-host char\n    hostEnd = -1;\n    for (var i = 0; i < nonHostChars.length; i++) {\n      var hec = rest.indexOf(nonHostChars[i]);\n      if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n        hostEnd = hec;\n    }\n    // if we still have not hit it, then the entire thing is a host.\n    if (hostEnd === -1)\n      hostEnd = rest.length;\n\n    this.host = rest.slice(0, hostEnd);\n    rest = rest.slice(hostEnd);\n\n    // pull out port.\n    this.parseHost();\n\n    // we've indicated that there is a hostname,\n    // so even if it's empty, it has to be present.\n    this.hostname = this.hostname || '';\n\n    // if hostname begins with [ and ends with ]\n    // assume that it's an IPv6 address.\n    var ipv6Hostname = this.hostname[0] === '[' &&\n        this.hostname[this.hostname.length - 1] === ']';\n\n    // validate a little.\n    if (!ipv6Hostname) {\n      var hostparts = this.hostname.split(/\\./);\n      for (var i = 0, l = hostparts.length; i < l; i++) {\n        var part = hostparts[i];\n        if (!part) continue;\n        if (!part.match(hostnamePartPattern)) {\n          var newpart = '';\n          for (var j = 0, k = part.length; j < k; j++) {\n            if (part.charCodeAt(j) > 127) {\n              // we replace non-ASCII char with a temporary placeholder\n              // we need this to make sure size of hostname is not\n              // broken by replacing non-ASCII by nothing\n              newpart += 'x';\n            } else {\n              newpart += part[j];\n            }\n          }\n          // we test again with ASCII char only\n          if (!newpart.match(hostnamePartPattern)) {\n            var validParts = hostparts.slice(0, i);\n            var notHost = hostparts.slice(i + 1);\n            var bit = part.match(hostnamePartStart);\n            if (bit) {\n              validParts.push(bit[1]);\n              notHost.unshift(bit[2]);\n            }\n            if (notHost.length) {\n              rest = '/' + notHost.join('.') + rest;\n            }\n            this.hostname = validParts.join('.');\n            break;\n          }\n        }\n      }\n    }\n\n    if (this.hostname.length > hostnameMaxLen) {\n      this.hostname = '';\n    } else {\n      // hostnames are always lower case.\n      this.hostname = this.hostname.toLowerCase();\n    }\n\n    if (!ipv6Hostname) {\n      // IDNA Support: Returns a punycoded representation of \"domain\".\n      // It only converts parts of the domain name that\n      // have non-ASCII characters, i.e. it doesn't matter if\n      // you call it with a domain that already is ASCII-only.\n      this.hostname = punycode.toASCII(this.hostname);\n    }\n\n    var p = this.port ? ':' + this.port : '';\n    var h = this.hostname || '';\n    this.host = h + p;\n    this.href += this.host;\n\n    // strip [ and ] from the hostname\n    // the host field still retains them, though\n    if (ipv6Hostname) {\n      this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n      if (rest[0] !== '/') {\n        rest = '/' + rest;\n      }\n    }\n  }\n\n  // now rest is set to the post-host stuff.\n  // chop off any delim chars.\n  if (!unsafeProtocol[lowerProto]) {\n\n    // First, make 100% sure that any \"autoEscape\" chars get\n    // escaped, even if encodeURIComponent doesn't think they\n    // need to be.\n    for (var i = 0, l = autoEscape.length; i < l; i++) {\n      var ae = autoEscape[i];\n      if (rest.indexOf(ae) === -1)\n        continue;\n      var esc = encodeURIComponent(ae);\n      if (esc === ae) {\n        esc = escape(ae);\n      }\n      rest = rest.split(ae).join(esc);\n    }\n  }\n\n\n  // chop off from the tail first.\n  var hash = rest.indexOf('#');\n  if (hash !== -1) {\n    // got a fragment string.\n    this.hash = rest.substr(hash);\n    rest = rest.slice(0, hash);\n  }\n  var qm = rest.indexOf('?');\n  if (qm !== -1) {\n    this.search = rest.substr(qm);\n    this.query = rest.substr(qm + 1);\n    if (parseQueryString) {\n      this.query = querystring.parse(this.query);\n    }\n    rest = rest.slice(0, qm);\n  } else if (parseQueryString) {\n    // no query string, but parseQueryString still requested\n    this.search = '';\n    this.query = {};\n  }\n  if (rest) this.pathname = rest;\n  if (slashedProtocol[lowerProto] &&\n      this.hostname && !this.pathname) {\n    this.pathname = '/';\n  }\n\n  //to support http.request\n  if (this.pathname || this.search) {\n    var p = this.pathname || '';\n    var s = this.search || '';\n    this.path = p + s;\n  }\n\n  // finally, reconstruct the href based on what has been validated.\n  this.href = this.format();\n  return this;\n};\n\n// format a parsed object into a url string\nfunction urlFormat(obj) {\n  // ensure it's an object, and not a string url.\n  // If it's an obj, this is a no-op.\n  // this way, you can call url_format() on strings\n  // to clean up potentially wonky urls.\n  if (util.isString(obj)) obj = urlParse(obj);\n  if (!(obj instanceof Url)) return Url.prototype.format.call(obj);\n  return obj.format();\n}\n\nUrl.prototype.format = function() {\n  var auth = this.auth || '';\n  if (auth) {\n    auth = encodeURIComponent(auth);\n    auth = auth.replace(/%3A/i, ':');\n    auth += '@';\n  }\n\n  var protocol = this.protocol || '',\n      pathname = this.pathname || '',\n      hash = this.hash || '',\n      host = false,\n      query = '';\n\n  if (this.host) {\n    host = auth + this.host;\n  } else if (this.hostname) {\n    host = auth + (this.hostname.indexOf(':') === -1 ?\n        this.hostname :\n        '[' + this.hostname + ']');\n    if (this.port) {\n      host += ':' + this.port;\n    }\n  }\n\n  if (this.query &&\n      util.isObject(this.query) &&\n      Object.keys(this.query).length) {\n    query = querystring.stringify(this.query);\n  }\n\n  var search = this.search || (query && ('?' + query)) || '';\n\n  if (protocol && protocol.substr(-1) !== ':') protocol += ':';\n\n  // only the slashedProtocols get the //.  Not mailto:, xmpp:, etc.\n  // unless they had them to begin with.\n  if (this.slashes ||\n      (!protocol || slashedProtocol[protocol]) && host !== false) {\n    host = '//' + (host || '');\n    if (pathname && pathname.charAt(0) !== '/') pathname = '/' + pathname;\n  } else if (!host) {\n    host = '';\n  }\n\n  if (hash && hash.charAt(0) !== '#') hash = '#' + hash;\n  if (search && search.charAt(0) !== '?') search = '?' + search;\n\n  pathname = pathname.replace(/[?#]/g, function(match) {\n    return encodeURIComponent(match);\n  });\n  search = search.replace('#', '%23');\n\n  return protocol + host + pathname + search + hash;\n};\n\nfunction urlResolve(source, relative) {\n  return urlParse(source, false, true).resolve(relative);\n}\n\nUrl.prototype.resolve = function(relative) {\n  return this.resolveObject(urlParse(relative, false, true)).format();\n};\n\nfunction urlResolveObject(source, relative) {\n  if (!source) return relative;\n  return urlParse(source, false, true).resolveObject(relative);\n}\n\nUrl.prototype.resolveObject = function(relative) {\n  if (util.isString(relative)) {\n    var rel = new Url();\n    rel.parse(relative, false, true);\n    relative = rel;\n  }\n\n  var result = new Url();\n  var tkeys = Object.keys(this);\n  for (var tk = 0; tk < tkeys.length; tk++) {\n    var tkey = tkeys[tk];\n    result[tkey] = this[tkey];\n  }\n\n  // hash is always overridden, no matter what.\n  // even href=\"\" will remove it.\n  result.hash = relative.hash;\n\n  // if the relative url is empty, then there's nothing left to do here.\n  if (relative.href === '') {\n    result.href = result.format();\n    return result;\n  }\n\n  // hrefs like //foo/bar always cut to the protocol.\n  if (relative.slashes && !relative.protocol) {\n    // take everything except the protocol from relative\n    var rkeys = Object.keys(relative);\n    for (var rk = 0; rk < rkeys.length; rk++) {\n      var rkey = rkeys[rk];\n      if (rkey !== 'protocol')\n        result[rkey] = relative[rkey];\n    }\n\n    //urlParse appends trailing / to urls like http://www.example.com\n    if (slashedProtocol[result.protocol] &&\n        result.hostname && !result.pathname) {\n      result.path = result.pathname = '/';\n    }\n\n    result.href = result.format();\n    return result;\n  }\n\n  if (relative.protocol && relative.protocol !== result.protocol) {\n    // if it's a known url protocol, then changing\n    // the protocol does weird things\n    // first, if it's not file:, then we MUST have a host,\n    // and if there was a path\n    // to begin with, then we MUST have a path.\n    // if it is file:, then the host is dropped,\n    // because that's known to be hostless.\n    // anything else is assumed to be absolute.\n    if (!slashedProtocol[relative.protocol]) {\n      var keys = Object.keys(relative);\n      for (var v = 0; v < keys.length; v++) {\n        var k = keys[v];\n        result[k] = relative[k];\n      }\n      result.href = result.format();\n      return result;\n    }\n\n    result.protocol = relative.protocol;\n    if (!relative.host && !hostlessProtocol[relative.protocol]) {\n      var relPath = (relative.pathname || '').split('/');\n      while (relPath.length && !(relative.host = relPath.shift()));\n      if (!relative.host) relative.host = '';\n      if (!relative.hostname) relative.hostname = '';\n      if (relPath[0] !== '') relPath.unshift('');\n      if (relPath.length < 2) relPath.unshift('');\n      result.pathname = relPath.join('/');\n    } else {\n      result.pathname = relative.pathname;\n    }\n    result.search = relative.search;\n    result.query = relative.query;\n    result.host = relative.host || '';\n    result.auth = relative.auth;\n    result.hostname = relative.hostname || relative.host;\n    result.port = relative.port;\n    // to support http.request\n    if (result.pathname || result.search) {\n      var p = result.pathname || '';\n      var s = result.search || '';\n      result.path = p + s;\n    }\n    result.slashes = result.slashes || relative.slashes;\n    result.href = result.format();\n    return result;\n  }\n\n  var isSourceAbs = (result.pathname && result.pathname.charAt(0) === '/'),\n      isRelAbs = (\n          relative.host ||\n          relative.pathname && relative.pathname.charAt(0) === '/'\n      ),\n      mustEndAbs = (isRelAbs || isSourceAbs ||\n                    (result.host && relative.pathname)),\n      removeAllDots = mustEndAbs,\n      srcPath = result.pathname && result.pathname.split('/') || [],\n      relPath = relative.pathname && relative.pathname.split('/') || [],\n      psychotic = result.protocol && !slashedProtocol[result.protocol];\n\n  // if the url is a non-slashed url, then relative\n  // links like ../.. should be able\n  // to crawl up to the hostname, as well.  This is strange.\n  // result.protocol has already been set by now.\n  // Later on, put the first path part into the host field.\n  if (psychotic) {\n    result.hostname = '';\n    result.port = null;\n    if (result.host) {\n      if (srcPath[0] === '') srcPath[0] = result.host;\n      else srcPath.unshift(result.host);\n    }\n    result.host = '';\n    if (relative.protocol) {\n      relative.hostname = null;\n      relative.port = null;\n      if (relative.host) {\n        if (relPath[0] === '') relPath[0] = relative.host;\n        else relPath.unshift(relative.host);\n      }\n      relative.host = null;\n    }\n    mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');\n  }\n\n  if (isRelAbs) {\n    // it's absolute.\n    result.host = (relative.host || relative.host === '') ?\n                  relative.host : result.host;\n    result.hostname = (relative.hostname || relative.hostname === '') ?\n                      relative.hostname : result.hostname;\n    result.search = relative.search;\n    result.query = relative.query;\n    srcPath = relPath;\n    // fall through to the dot-handling below.\n  } else if (relPath.length) {\n    // it's relative\n    // throw away the existing file, and take the new path instead.\n    if (!srcPath) srcPath = [];\n    srcPath.pop();\n    srcPath = srcPath.concat(relPath);\n    result.search = relative.search;\n    result.query = relative.query;\n  } else if (!util.isNullOrUndefined(relative.search)) {\n    // just pull out the search.\n    // like href='?foo'.\n    // Put this after the other two cases because it simplifies the booleans\n    if (psychotic) {\n      result.hostname = result.host = srcPath.shift();\n      //occationaly the auth can get stuck only in host\n      //this especially happens in cases like\n      //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n      var authInHost = result.host && result.host.indexOf('@') > 0 ?\n                       result.host.split('@') : false;\n      if (authInHost) {\n        result.auth = authInHost.shift();\n        result.host = result.hostname = authInHost.shift();\n      }\n    }\n    result.search = relative.search;\n    result.query = relative.query;\n    //to support http.request\n    if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n      result.path = (result.pathname ? result.pathname : '') +\n                    (result.search ? result.search : '');\n    }\n    result.href = result.format();\n    return result;\n  }\n\n  if (!srcPath.length) {\n    // no path at all.  easy.\n    // we've already handled the other stuff above.\n    result.pathname = null;\n    //to support http.request\n    if (result.search) {\n      result.path = '/' + result.search;\n    } else {\n      result.path = null;\n    }\n    result.href = result.format();\n    return result;\n  }\n\n  // if a url ENDs in . or .., then it must get a trailing slash.\n  // however, if it ends in anything else non-slashy,\n  // then it must NOT get a trailing slash.\n  var last = srcPath.slice(-1)[0];\n  var hasTrailingSlash = (\n      (result.host || relative.host || srcPath.length > 1) &&\n      (last === '.' || last === '..') || last === '');\n\n  // strip single dots, resolve double dots to parent dir\n  // if the path tries to go above the root, `up` ends up > 0\n  var up = 0;\n  for (var i = srcPath.length; i >= 0; i--) {\n    last = srcPath[i];\n    if (last === '.') {\n      srcPath.splice(i, 1);\n    } else if (last === '..') {\n      srcPath.splice(i, 1);\n      up++;\n    } else if (up) {\n      srcPath.splice(i, 1);\n      up--;\n    }\n  }\n\n  // if the path is allowed to go above the root, restore leading ..s\n  if (!mustEndAbs && !removeAllDots) {\n    for (; up--; up) {\n      srcPath.unshift('..');\n    }\n  }\n\n  if (mustEndAbs && srcPath[0] !== '' &&\n      (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {\n    srcPath.unshift('');\n  }\n\n  if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {\n    srcPath.push('');\n  }\n\n  var isAbsolute = srcPath[0] === '' ||\n      (srcPath[0] && srcPath[0].charAt(0) === '/');\n\n  // put the host back\n  if (psychotic) {\n    result.hostname = result.host = isAbsolute ? '' :\n                                    srcPath.length ? srcPath.shift() : '';\n    //occationaly the auth can get stuck only in host\n    //this especially happens in cases like\n    //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n    var authInHost = result.host && result.host.indexOf('@') > 0 ?\n                     result.host.split('@') : false;\n    if (authInHost) {\n      result.auth = authInHost.shift();\n      result.host = result.hostname = authInHost.shift();\n    }\n  }\n\n  mustEndAbs = mustEndAbs || (result.host && srcPath.length);\n\n  if (mustEndAbs && !isAbsolute) {\n    srcPath.unshift('');\n  }\n\n  if (!srcPath.length) {\n    result.pathname = null;\n    result.path = null;\n  } else {\n    result.pathname = srcPath.join('/');\n  }\n\n  //to support request.http\n  if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n    result.path = (result.pathname ? result.pathname : '') +\n                  (result.search ? result.search : '');\n  }\n  result.auth = relative.auth || result.auth;\n  result.slashes = result.slashes || relative.slashes;\n  result.href = result.format();\n  return result;\n};\n\nUrl.prototype.parseHost = function() {\n  var host = this.host;\n  var port = portPattern.exec(host);\n  if (port) {\n    port = port[0];\n    if (port !== ':') {\n      this.port = port.substr(1);\n    }\n    host = host.substr(0, host.length - port.length);\n  }\n  if (host) this.hostname = host;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/url/url.js\n// module id = 2005\n// module chunks = 0","'use strict';\n\nmodule.exports = {\n  isString: function(arg) {\n    return typeof(arg) === 'string';\n  },\n  isObject: function(arg) {\n    return typeof(arg) === 'object' && arg !== null;\n  },\n  isNull: function(arg) {\n    return arg === null;\n  },\n  isNullOrUndefined: function(arg) {\n    return arg == null;\n  }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/url/util.js\n// module id = 2006\n// module chunks = 0","\n/**\n * Module exports.\n */\n\nmodule.exports = deprecate;\n\n/**\n * Mark that a method should not be used.\n * Returns a modified function which warns once by default.\n *\n * If `localStorage.noDeprecation = true` is set, then it is a no-op.\n *\n * If `localStorage.throwDeprecation = true` is set, then deprecated functions\n * will throw an Error when invoked.\n *\n * If `localStorage.traceDeprecation = true` is set, then deprecated functions\n * will invoke `console.trace()` instead of `console.error()`.\n *\n * @param {Function} fn - the function to deprecate\n * @param {String} msg - the string to print to the console when `fn` is invoked\n * @returns {Function} a new \"deprecated\" version of `fn`\n * @api public\n */\n\nfunction deprecate (fn, msg) {\n  if (config('noDeprecation')) {\n    return fn;\n  }\n\n  var warned = false;\n  function deprecated() {\n    if (!warned) {\n      if (config('throwDeprecation')) {\n        throw new Error(msg);\n      } else if (config('traceDeprecation')) {\n        console.trace(msg);\n      } else {\n        console.warn(msg);\n      }\n      warned = true;\n    }\n    return fn.apply(this, arguments);\n  }\n\n  return deprecated;\n}\n\n/**\n * Checks `localStorage` for boolean values for the given `name`.\n *\n * @param {String} name\n * @returns {Boolean}\n * @api private\n */\n\nfunction config (name) {\n  // accessing global.localStorage can trigger a DOMException in sandboxed iframes\n  try {\n    if (!global.localStorage) return false;\n  } catch (_) {\n    return false;\n  }\n  var val = global.localStorage[name];\n  if (null == val) return false;\n  return String(val).toLowerCase() === 'true';\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/util-deprecate/browser.js\n// module id = 2007\n// module chunks = 0","module.exports = function isBuffer(arg) {\n  return arg && typeof arg === 'object'\n    && typeof arg.copy === 'function'\n    && typeof arg.fill === 'function'\n    && typeof arg.readUInt8 === 'function';\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/util/support/isBufferBrowser.js\n// module id = 2008\n// module chunks = 0","/**\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(function (global, factory) {\n    typeof exports === 'object' && typeof module !== 'undefined' ? factory() :\n    typeof define === 'function' && define.amd ? define(factory) :\n    (factory());\n}(this, (function () { 'use strict';\n\n/**\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\n\nvar Zone$1 = (function (global) {\n    if (global.Zone) {\n        throw new Error('Zone already loaded.');\n    }\n    var Zone = (function () {\n        function Zone(parent, zoneSpec) {\n            this._properties = null;\n            this._parent = parent;\n            this._name = zoneSpec ? zoneSpec.name || 'unnamed' : '<root>';\n            this._properties = zoneSpec && zoneSpec.properties || {};\n            this._zoneDelegate =\n                new ZoneDelegate(this, this._parent && this._parent._zoneDelegate, zoneSpec);\n        }\n        Zone.assertZonePatched = function () {\n            if (global.Promise !== ZoneAwarePromise) {\n                throw new Error('Zone.js has detected that ZoneAwarePromise `(window|global).Promise` ' +\n                    'has been overwritten.\\n' +\n                    'Most likely cause is that a Promise polyfill has been loaded ' +\n                    'after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. ' +\n                    'If you must load one, do so before loading zone.js.)');\n            }\n        };\n        Object.defineProperty(Zone, \"current\", {\n            get: function () {\n                return _currentZone;\n            },\n            enumerable: true,\n            configurable: true\n        });\n        \n        Object.defineProperty(Zone, \"currentTask\", {\n            get: function () {\n                return _currentTask;\n            },\n            enumerable: true,\n            configurable: true\n        });\n        \n        Object.defineProperty(Zone.prototype, \"parent\", {\n            get: function () {\n                return this._parent;\n            },\n            enumerable: true,\n            configurable: true\n        });\n        \n        Object.defineProperty(Zone.prototype, \"name\", {\n            get: function () {\n                return this._name;\n            },\n            enumerable: true,\n            configurable: true\n        });\n        \n        Zone.prototype.get = function (key) {\n            var zone = this.getZoneWith(key);\n            if (zone)\n                return zone._properties[key];\n        };\n        Zone.prototype.getZoneWith = function (key) {\n            var current = this;\n            while (current) {\n                if (current._properties.hasOwnProperty(key)) {\n                    return current;\n                }\n                current = current._parent;\n            }\n            return null;\n        };\n        Zone.prototype.fork = function (zoneSpec) {\n            if (!zoneSpec)\n                throw new Error('ZoneSpec required!');\n            return this._zoneDelegate.fork(this, zoneSpec);\n        };\n        Zone.prototype.wrap = function (callback, source) {\n            if (typeof callback !== 'function') {\n                throw new Error('Expecting function got: ' + callback);\n            }\n            var _callback = this._zoneDelegate.intercept(this, callback, source);\n            var zone = this;\n            return function () {\n                return zone.runGuarded(_callback, this, arguments, source);\n            };\n        };\n        Zone.prototype.run = function (callback, applyThis, applyArgs, source) {\n            if (applyThis === void 0) { applyThis = null; }\n            if (applyArgs === void 0) { applyArgs = null; }\n            if (source === void 0) { source = null; }\n            var oldZone = _currentZone;\n            _currentZone = this;\n            try {\n                return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n            }\n            finally {\n                _currentZone = oldZone;\n            }\n        };\n        Zone.prototype.runGuarded = function (callback, applyThis, applyArgs, source) {\n            if (applyThis === void 0) { applyThis = null; }\n            if (applyArgs === void 0) { applyArgs = null; }\n            if (source === void 0) { source = null; }\n            var oldZone = _currentZone;\n            _currentZone = this;\n            try {\n                try {\n                    return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n                }\n                catch (error) {\n                    if (this._zoneDelegate.handleError(this, error)) {\n                        throw error;\n                    }\n                }\n            }\n            finally {\n                _currentZone = oldZone;\n            }\n        };\n        Zone.prototype.runTask = function (task, applyThis, applyArgs) {\n            task.runCount++;\n            if (task.zone != this)\n                throw new Error('A task can only be run in the zone which created it! (Creation: ' + task.zone.name +\n                    '; Execution: ' + this.name + ')');\n            var previousTask = _currentTask;\n            _currentTask = task;\n            var oldZone = _currentZone;\n            _currentZone = this;\n            try {\n                if (task.type == 'macroTask' && task.data && !task.data.isPeriodic) {\n                    task.cancelFn = null;\n                }\n                try {\n                    return this._zoneDelegate.invokeTask(this, task, applyThis, applyArgs);\n                }\n                catch (error) {\n                    if (this._zoneDelegate.handleError(this, error)) {\n                        throw error;\n                    }\n                }\n            }\n            finally {\n                _currentZone = oldZone;\n                _currentTask = previousTask;\n            }\n        };\n        Zone.prototype.scheduleMicroTask = function (source, callback, data, customSchedule) {\n            return this._zoneDelegate.scheduleTask(this, new ZoneTask('microTask', this, source, callback, data, customSchedule, null));\n        };\n        Zone.prototype.scheduleMacroTask = function (source, callback, data, customSchedule, customCancel) {\n            return this._zoneDelegate.scheduleTask(this, new ZoneTask('macroTask', this, source, callback, data, customSchedule, customCancel));\n        };\n        Zone.prototype.scheduleEventTask = function (source, callback, data, customSchedule, customCancel) {\n            return this._zoneDelegate.scheduleTask(this, new ZoneTask('eventTask', this, source, callback, data, customSchedule, customCancel));\n        };\n        Zone.prototype.cancelTask = function (task) {\n            var value = this._zoneDelegate.cancelTask(this, task);\n            task.runCount = -1;\n            task.cancelFn = null;\n            return value;\n        };\n        Zone.__symbol__ = __symbol__;\n        return Zone;\n    }());\n    \n    var ZoneDelegate = (function () {\n        function ZoneDelegate(zone, parentDelegate, zoneSpec) {\n            this._taskCounts = { microTask: 0, macroTask: 0, eventTask: 0 };\n            this.zone = zone;\n            this._parentDelegate = parentDelegate;\n            this._forkZS = zoneSpec && (zoneSpec && zoneSpec.onFork ? zoneSpec : parentDelegate._forkZS);\n            this._forkDlgt = zoneSpec && (zoneSpec.onFork ? parentDelegate : parentDelegate._forkDlgt);\n            this._interceptZS =\n                zoneSpec && (zoneSpec.onIntercept ? zoneSpec : parentDelegate._interceptZS);\n            this._interceptDlgt =\n                zoneSpec && (zoneSpec.onIntercept ? parentDelegate : parentDelegate._interceptDlgt);\n            this._invokeZS = zoneSpec && (zoneSpec.onInvoke ? zoneSpec : parentDelegate._invokeZS);\n            this._invokeDlgt =\n                zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt);\n            this._handleErrorZS =\n                zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS);\n            this._handleErrorDlgt =\n                zoneSpec && (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt);\n            this._scheduleTaskZS =\n                zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS);\n            this._scheduleTaskDlgt =\n                zoneSpec && (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt);\n            this._invokeTaskZS =\n                zoneSpec && (zoneSpec.onInvokeTask ? zoneSpec : parentDelegate._invokeTaskZS);\n            this._invokeTaskDlgt =\n                zoneSpec && (zoneSpec.onInvokeTask ? parentDelegate : parentDelegate._invokeTaskDlgt);\n            this._cancelTaskZS =\n                zoneSpec && (zoneSpec.onCancelTask ? zoneSpec : parentDelegate._cancelTaskZS);\n            this._cancelTaskDlgt =\n                zoneSpec && (zoneSpec.onCancelTask ? parentDelegate : parentDelegate._cancelTaskDlgt);\n            this._hasTaskZS = zoneSpec && (zoneSpec.onHasTask ? zoneSpec : parentDelegate._hasTaskZS);\n            this._hasTaskDlgt =\n                zoneSpec && (zoneSpec.onHasTask ? parentDelegate : parentDelegate._hasTaskDlgt);\n        }\n        ZoneDelegate.prototype.fork = function (targetZone, zoneSpec) {\n            return this._forkZS ? this._forkZS.onFork(this._forkDlgt, this.zone, targetZone, zoneSpec) :\n                new Zone(targetZone, zoneSpec);\n        };\n        ZoneDelegate.prototype.intercept = function (targetZone, callback, source) {\n            return this._interceptZS ?\n                this._interceptZS.onIntercept(this._interceptDlgt, this.zone, targetZone, callback, source) :\n                callback;\n        };\n        ZoneDelegate.prototype.invoke = function (targetZone, callback, applyThis, applyArgs, source) {\n            return this._invokeZS ?\n                this._invokeZS.onInvoke(this._invokeDlgt, this.zone, targetZone, callback, applyThis, applyArgs, source) :\n                callback.apply(applyThis, applyArgs);\n        };\n        ZoneDelegate.prototype.handleError = function (targetZone, error) {\n            return this._handleErrorZS ?\n                this._handleErrorZS.onHandleError(this._handleErrorDlgt, this.zone, targetZone, error) :\n                true;\n        };\n        ZoneDelegate.prototype.scheduleTask = function (targetZone, task) {\n            try {\n                if (this._scheduleTaskZS) {\n                    return this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt, this.zone, targetZone, task);\n                }\n                else if (task.scheduleFn) {\n                    task.scheduleFn(task);\n                }\n                else if (task.type == 'microTask') {\n                    scheduleMicroTask(task);\n                }\n                else {\n                    throw new Error('Task is missing scheduleFn.');\n                }\n                return task;\n            }\n            finally {\n                if (targetZone == this.zone) {\n                    this._updateTaskCount(task.type, 1);\n                }\n            }\n        };\n        ZoneDelegate.prototype.invokeTask = function (targetZone, task, applyThis, applyArgs) {\n            try {\n                return this._invokeTaskZS ?\n                    this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt, this.zone, targetZone, task, applyThis, applyArgs) :\n                    task.callback.apply(applyThis, applyArgs);\n            }\n            finally {\n                if (targetZone == this.zone && (task.type != 'eventTask') &&\n                    !(task.data && task.data.isPeriodic)) {\n                    this._updateTaskCount(task.type, -1);\n                }\n            }\n        };\n        ZoneDelegate.prototype.cancelTask = function (targetZone, task) {\n            var value;\n            if (this._cancelTaskZS) {\n                value = this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt, this.zone, targetZone, task);\n            }\n            else if (!task.cancelFn) {\n                throw new Error('Task does not support cancellation, or is already canceled.');\n            }\n            else {\n                value = task.cancelFn(task);\n            }\n            if (targetZone == this.zone) {\n                // this should not be in the finally block, because exceptions assume not canceled.\n                this._updateTaskCount(task.type, -1);\n            }\n            return value;\n        };\n        ZoneDelegate.prototype.hasTask = function (targetZone, isEmpty) {\n            return this._hasTaskZS &&\n                this._hasTaskZS.onHasTask(this._hasTaskDlgt, this.zone, targetZone, isEmpty);\n        };\n        ZoneDelegate.prototype._updateTaskCount = function (type, count) {\n            var counts = this._taskCounts;\n            var prev = counts[type];\n            var next = counts[type] = prev + count;\n            if (next < 0) {\n                throw new Error('More tasks executed then were scheduled.');\n            }\n            if (prev == 0 || next == 0) {\n                var isEmpty = {\n                    microTask: counts.microTask > 0,\n                    macroTask: counts.macroTask > 0,\n                    eventTask: counts.eventTask > 0,\n                    change: type\n                };\n                try {\n                    this.hasTask(this.zone, isEmpty);\n                }\n                finally {\n                    if (this._parentDelegate) {\n                        this._parentDelegate._updateTaskCount(type, count);\n                    }\n                }\n            }\n        };\n        return ZoneDelegate;\n    }());\n    var ZoneTask = (function () {\n        function ZoneTask(type, zone, source, callback, options, scheduleFn, cancelFn) {\n            this.runCount = 0;\n            this.type = type;\n            this.zone = zone;\n            this.source = source;\n            this.data = options;\n            this.scheduleFn = scheduleFn;\n            this.cancelFn = cancelFn;\n            this.callback = callback;\n            var self = this;\n            this.invoke = function () {\n                _numberOfNestedTaskFrames++;\n                try {\n                    return zone.runTask(self, this, arguments);\n                }\n                finally {\n                    if (_numberOfNestedTaskFrames == 1) {\n                        drainMicroTaskQueue();\n                    }\n                    _numberOfNestedTaskFrames--;\n                }\n            };\n        }\n        ZoneTask.prototype.toString = function () {\n            if (this.data && typeof this.data.handleId !== 'undefined') {\n                return this.data.handleId;\n            }\n            else {\n                return Object.prototype.toString.call(this);\n            }\n        };\n        return ZoneTask;\n    }());\n    function __symbol__(name) {\n        return '__zone_symbol__' + name;\n    }\n    \n    var symbolSetTimeout = __symbol__('setTimeout');\n    var symbolPromise = __symbol__('Promise');\n    var symbolThen = __symbol__('then');\n    var _currentZone = new Zone(null, null);\n    var _currentTask = null;\n    var _microTaskQueue = [];\n    var _isDrainingMicrotaskQueue = false;\n    var _uncaughtPromiseErrors = [];\n    var _numberOfNestedTaskFrames = 0;\n    function scheduleQueueDrain() {\n        // if we are not running in any task, and there has not been anything scheduled\n        // we must bootstrap the initial task creation by manually scheduling the drain\n        if (_numberOfNestedTaskFrames == 0 && _microTaskQueue.length == 0) {\n            // We are not running in Task, so we need to kickstart the microtask queue.\n            if (global[symbolPromise]) {\n                global[symbolPromise].resolve(0)[symbolThen](drainMicroTaskQueue);\n            }\n            else {\n                global[symbolSetTimeout](drainMicroTaskQueue, 0);\n            }\n        }\n    }\n    function scheduleMicroTask(task) {\n        scheduleQueueDrain();\n        _microTaskQueue.push(task);\n    }\n    function consoleError(e) {\n        var rejection = e && e.rejection;\n        if (rejection) {\n            console.error('Unhandled Promise rejection:', rejection instanceof Error ? rejection.message : rejection, '; Zone:', e.zone.name, '; Task:', e.task && e.task.source, '; Value:', rejection, rejection instanceof Error ? rejection.stack : undefined);\n        }\n        console.error(e);\n    }\n    function drainMicroTaskQueue() {\n        if (!_isDrainingMicrotaskQueue) {\n            _isDrainingMicrotaskQueue = true;\n            while (_microTaskQueue.length) {\n                var queue = _microTaskQueue;\n                _microTaskQueue = [];\n                for (var i = 0; i < queue.length; i++) {\n                    var task = queue[i];\n                    try {\n                        task.zone.runTask(task, null, null);\n                    }\n                    catch (e) {\n                        consoleError(e);\n                    }\n                }\n            }\n            while (_uncaughtPromiseErrors.length) {\n                var _loop_1 = function() {\n                    var uncaughtPromiseError = _uncaughtPromiseErrors.shift();\n                    try {\n                        uncaughtPromiseError.zone.runGuarded(function () {\n                            throw uncaughtPromiseError;\n                        });\n                    }\n                    catch (e) {\n                        consoleError(e);\n                    }\n                };\n                while (_uncaughtPromiseErrors.length) {\n                    _loop_1();\n                }\n            }\n            _isDrainingMicrotaskQueue = false;\n        }\n    }\n    function isThenable(value) {\n        return value && value.then;\n    }\n    function forwardResolution(value) {\n        return value;\n    }\n    function forwardRejection(rejection) {\n        return ZoneAwarePromise.reject(rejection);\n    }\n    var symbolState = __symbol__('state');\n    var symbolValue = __symbol__('value');\n    var source = 'Promise.then';\n    var UNRESOLVED = null;\n    var RESOLVED = true;\n    var REJECTED = false;\n    var REJECTED_NO_CATCH = 0;\n    function makeResolver(promise, state) {\n        return function (v) {\n            resolvePromise(promise, state, v);\n            // Do not return value or you will break the Promise spec.\n        };\n    }\n    function resolvePromise(promise, state, value) {\n        if (promise[symbolState] === UNRESOLVED) {\n            if (value instanceof ZoneAwarePromise && value[symbolState] !== UNRESOLVED) {\n                clearRejectedNoCatch(value);\n                resolvePromise(promise, value[symbolState], value[symbolValue]);\n            }\n            else if (isThenable(value)) {\n                value.then(makeResolver(promise, state), makeResolver(promise, false));\n            }\n            else {\n                promise[symbolState] = state;\n                var queue = promise[symbolValue];\n                promise[symbolValue] = value;\n                for (var i = 0; i < queue.length;) {\n                    scheduleResolveOrReject(promise, queue[i++], queue[i++], queue[i++], queue[i++]);\n                }\n                if (queue.length == 0 && state == REJECTED) {\n                    promise[symbolState] = REJECTED_NO_CATCH;\n                    try {\n                        throw new Error('Uncaught (in promise): ' + value +\n                            (value && value.stack ? '\\n' + value.stack : ''));\n                    }\n                    catch (e) {\n                        var error_1 = e;\n                        error_1.rejection = value;\n                        error_1.promise = promise;\n                        error_1.zone = Zone.current;\n                        error_1.task = Zone.currentTask;\n                        _uncaughtPromiseErrors.push(error_1);\n                        scheduleQueueDrain();\n                    }\n                }\n            }\n        }\n        // Resolving an already resolved promise is a noop.\n        return promise;\n    }\n    function clearRejectedNoCatch(promise) {\n        if (promise[symbolState] === REJECTED_NO_CATCH) {\n            promise[symbolState] = REJECTED;\n            for (var i = 0; i < _uncaughtPromiseErrors.length; i++) {\n                if (promise === _uncaughtPromiseErrors[i].promise) {\n                    _uncaughtPromiseErrors.splice(i, 1);\n                    break;\n                }\n            }\n        }\n    }\n    function scheduleResolveOrReject(promise, zone, chainPromise, onFulfilled, onRejected) {\n        clearRejectedNoCatch(promise);\n        var delegate = promise[symbolState] ? onFulfilled || forwardResolution : onRejected || forwardRejection;\n        zone.scheduleMicroTask(source, function () {\n            try {\n                resolvePromise(chainPromise, true, zone.run(delegate, null, [promise[symbolValue]]));\n            }\n            catch (error) {\n                resolvePromise(chainPromise, false, error);\n            }\n        });\n    }\n    var ZoneAwarePromise = (function () {\n        function ZoneAwarePromise(executor) {\n            var promise = this;\n            if (!(promise instanceof ZoneAwarePromise)) {\n                throw new Error('Must be an instanceof Promise.');\n            }\n            promise[symbolState] = UNRESOLVED;\n            promise[symbolValue] = []; // queue;\n            try {\n                executor && executor(makeResolver(promise, RESOLVED), makeResolver(promise, REJECTED));\n            }\n            catch (e) {\n                resolvePromise(promise, false, e);\n            }\n        }\n        ZoneAwarePromise.resolve = function (value) {\n            return resolvePromise(new this(null), RESOLVED, value);\n        };\n        ZoneAwarePromise.reject = function (error) {\n            return resolvePromise(new this(null), REJECTED, error);\n        };\n        ZoneAwarePromise.race = function (values) {\n            var resolve;\n            var reject;\n            var promise = new this(function (res, rej) {\n                _a = [res, rej], resolve = _a[0], reject = _a[1];\n                var _a;\n            });\n            function onResolve(value) {\n                promise && (promise = null || resolve(value));\n            }\n            function onReject(error) {\n                promise && (promise = null || reject(error));\n            }\n            for (var _i = 0, values_1 = values; _i < values_1.length; _i++) {\n                var value = values_1[_i];\n                if (!isThenable(value)) {\n                    value = this.resolve(value);\n                }\n                value.then(onResolve, onReject);\n            }\n            return promise;\n        };\n        ZoneAwarePromise.all = function (values) {\n            var resolve;\n            var reject;\n            var promise = new this(function (res, rej) {\n                resolve = res;\n                reject = rej;\n            });\n            var count = 0;\n            var resolvedValues = [];\n            for (var _i = 0, values_2 = values; _i < values_2.length; _i++) {\n                var value = values_2[_i];\n                if (!isThenable(value)) {\n                    value = this.resolve(value);\n                }\n                value.then((function (index) { return function (value) {\n                    resolvedValues[index] = value;\n                    count--;\n                    if (!count) {\n                        resolve(resolvedValues);\n                    }\n                }; })(count), reject);\n                count++;\n            }\n            if (!count)\n                resolve(resolvedValues);\n            return promise;\n        };\n        ZoneAwarePromise.prototype.then = function (onFulfilled, onRejected) {\n            var chainPromise = new this.constructor(null);\n            var zone = Zone.current;\n            if (this[symbolState] == UNRESOLVED) {\n                this[symbolValue].push(zone, chainPromise, onFulfilled, onRejected);\n            }\n            else {\n                scheduleResolveOrReject(this, zone, chainPromise, onFulfilled, onRejected);\n            }\n            return chainPromise;\n        };\n        ZoneAwarePromise.prototype.catch = function (onRejected) {\n            return this.then(null, onRejected);\n        };\n        return ZoneAwarePromise;\n    }());\n    // Protect against aggressive optimizers dropping seemingly unused properties.\n    // E.g. Closure Compiler in advanced mode.\n    ZoneAwarePromise['resolve'] = ZoneAwarePromise.resolve;\n    ZoneAwarePromise['reject'] = ZoneAwarePromise.reject;\n    ZoneAwarePromise['race'] = ZoneAwarePromise.race;\n    ZoneAwarePromise['all'] = ZoneAwarePromise.all;\n    var NativePromise = global[__symbol__('Promise')] = global.Promise;\n    global.Promise = ZoneAwarePromise;\n    function patchThen(NativePromise) {\n        var NativePromiseProtototype = NativePromise.prototype;\n        var NativePromiseThen = NativePromiseProtototype[__symbol__('then')] =\n            NativePromiseProtototype.then;\n        NativePromiseProtototype.then = function (onResolve, onReject) {\n            var nativePromise = this;\n            return new ZoneAwarePromise(function (resolve, reject) {\n                NativePromiseThen.call(nativePromise, resolve, reject);\n            })\n                .then(onResolve, onReject);\n        };\n    }\n    if (NativePromise) {\n        patchThen(NativePromise);\n        if (typeof global['fetch'] !== 'undefined') {\n            var fetchPromise = void 0;\n            try {\n                // In MS Edge this throws\n                fetchPromise = global['fetch']();\n            }\n            catch (e) {\n                // In Chrome this throws instead.\n                fetchPromise = global['fetch']('about:blank');\n            }\n            // ignore output to prevent error;\n            fetchPromise.then(function () { return null; }, function () { return null; });\n            if (fetchPromise.constructor != NativePromise &&\n                fetchPromise.constructor != ZoneAwarePromise) {\n                patchThen(fetchPromise.constructor);\n            }\n        }\n    }\n    // This is not part of public API, but it is usefull for tests, so we expose it.\n    Promise[Zone.__symbol__('uncaughtPromiseErrors')] = _uncaughtPromiseErrors;\n    return global.Zone = Zone;\n})(typeof window === 'object' && window || typeof self === 'object' && self || global);\n\n/**\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 */\nvar zoneSymbol = Zone['__symbol__'];\nvar _global$1 = typeof window === 'object' && window || typeof self === 'object' && self || global;\nfunction bindArguments(args, source) {\n    for (var i = args.length - 1; i >= 0; i--) {\n        if (typeof args[i] === 'function') {\n            args[i] = Zone.current.wrap(args[i], source + '_' + i);\n        }\n    }\n    return args;\n}\n\nfunction patchPrototype(prototype, fnNames) {\n    var source = prototype.constructor['name'];\n    var _loop_1 = function(i) {\n        var name_1 = fnNames[i];\n        var delegate = prototype[name_1];\n        if (delegate) {\n            prototype[name_1] = (function (delegate) {\n                return function () {\n                    return delegate.apply(this, bindArguments(arguments, source + '.' + name_1));\n                };\n            })(delegate);\n        }\n    };\n    for (var i = 0; i < fnNames.length; i++) {\n        _loop_1(i);\n    }\n}\n\nvar isWebWorker = (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope);\nvar isNode = (typeof process !== 'undefined' && {}.toString.call(process) === '[object process]');\nvar isBrowser = !isNode && !isWebWorker && !!(typeof window !== 'undefined' && window['HTMLElement']);\nfunction patchProperty(obj, prop) {\n    var desc = Object.getOwnPropertyDescriptor(obj, prop) || { enumerable: true, configurable: true };\n    // A property descriptor cannot have getter/setter and be writable\n    // deleting the writable and value properties avoids this error:\n    //\n    // TypeError: property descriptors must not specify a value or be writable when a\n    // getter or setter has been specified\n    delete desc.writable;\n    delete desc.value;\n    // substr(2) cuz 'onclick' -> 'click', etc\n    var eventName = prop.substr(2);\n    var _prop = '_' + prop;\n    desc.set = function (fn) {\n        if (this[_prop]) {\n            this.removeEventListener(eventName, this[_prop]);\n        }\n        if (typeof fn === 'function') {\n            var wrapFn = function (event) {\n                var result;\n                result = fn.apply(this, arguments);\n                if (result != undefined && !result)\n                    event.preventDefault();\n            };\n            this[_prop] = wrapFn;\n            this.addEventListener(eventName, wrapFn, false);\n        }\n        else {\n            this[_prop] = null;\n        }\n    };\n    // The getter would return undefined for unassigned properties but the default value of an\n    // unassigned property is null\n    desc.get = function () {\n        return this[_prop] || null;\n    };\n    Object.defineProperty(obj, prop, desc);\n}\n\nfunction patchOnProperties(obj, properties) {\n    var onProperties = [];\n    for (var prop in obj) {\n        if (prop.substr(0, 2) == 'on') {\n            onProperties.push(prop);\n        }\n    }\n    for (var j = 0; j < onProperties.length; j++) {\n        patchProperty(obj, onProperties[j]);\n    }\n    if (properties) {\n        for (var i = 0; i < properties.length; i++) {\n            patchProperty(obj, 'on' + properties[i]);\n        }\n    }\n}\n\nvar EVENT_TASKS = zoneSymbol('eventTasks');\n// For EventTarget\nvar ADD_EVENT_LISTENER = 'addEventListener';\nvar REMOVE_EVENT_LISTENER = 'removeEventListener';\nfunction findExistingRegisteredTask(target, handler, name, capture, remove) {\n    var eventTasks = target[EVENT_TASKS];\n    if (eventTasks) {\n        for (var i = 0; i < eventTasks.length; i++) {\n            var eventTask = eventTasks[i];\n            var data = eventTask.data;\n            if (data.handler === handler && data.useCapturing === capture && data.eventName === name) {\n                if (remove) {\n                    eventTasks.splice(i, 1);\n                }\n                return eventTask;\n            }\n        }\n    }\n    return null;\n}\nfunction attachRegisteredEvent(target, eventTask) {\n    var eventTasks = target[EVENT_TASKS];\n    if (!eventTasks) {\n        eventTasks = target[EVENT_TASKS] = [];\n    }\n    eventTasks.push(eventTask);\n}\nfunction makeZoneAwareAddListener(addFnName, removeFnName, useCapturingParam, allowDuplicates) {\n    if (useCapturingParam === void 0) { useCapturingParam = true; }\n    if (allowDuplicates === void 0) { allowDuplicates = false; }\n    var addFnSymbol = zoneSymbol(addFnName);\n    var removeFnSymbol = zoneSymbol(removeFnName);\n    var defaultUseCapturing = useCapturingParam ? false : undefined;\n    function scheduleEventListener(eventTask) {\n        var meta = eventTask.data;\n        attachRegisteredEvent(meta.target, eventTask);\n        return meta.target[addFnSymbol](meta.eventName, eventTask.invoke, meta.useCapturing);\n    }\n    function cancelEventListener(eventTask) {\n        var meta = eventTask.data;\n        findExistingRegisteredTask(meta.target, eventTask.invoke, meta.eventName, meta.useCapturing, true);\n        meta.target[removeFnSymbol](meta.eventName, eventTask.invoke, meta.useCapturing);\n    }\n    return function zoneAwareAddListener(self, args) {\n        var eventName = args[0];\n        var handler = args[1];\n        var useCapturing = args[2] || defaultUseCapturing;\n        // - Inside a Web Worker, `this` is undefined, the context is `global`\n        // - When `addEventListener` is called on the global context in strict mode, `this` is undefined\n        // see https://github.com/angular/zone.js/issues/190\n        var target = self || _global$1;\n        var delegate = null;\n        if (typeof handler == 'function') {\n            delegate = handler;\n        }\n        else if (handler && handler.handleEvent) {\n            delegate = function (event) { return handler.handleEvent(event); };\n        }\n        var validZoneHandler = false;\n        try {\n            // In cross site contexts (such as WebDriver frameworks like Selenium),\n            // accessing the handler object here will cause an exception to be thrown which\n            // will fail tests prematurely.\n            validZoneHandler = handler && handler.toString() === '[object FunctionWrapper]';\n        }\n        catch (e) {\n            // Returning nothing here is fine, because objects in a cross-site context are unusable\n            return;\n        }\n        // Ignore special listeners of IE11 & Edge dev tools, see\n        // https://github.com/angular/zone.js/issues/150\n        if (!delegate || validZoneHandler) {\n            return target[addFnSymbol](eventName, handler, useCapturing);\n        }\n        if (!allowDuplicates) {\n            var eventTask = findExistingRegisteredTask(target, handler, eventName, useCapturing, false);\n            if (eventTask) {\n                // we already registered, so this will have noop.\n                return target[addFnSymbol](eventName, eventTask.invoke, useCapturing);\n            }\n        }\n        var zone = Zone.current;\n        var source = target.constructor['name'] + '.' + addFnName + ':' + eventName;\n        var data = {\n            target: target,\n            eventName: eventName,\n            name: eventName,\n            useCapturing: useCapturing,\n            handler: handler\n        };\n        zone.scheduleEventTask(source, delegate, data, scheduleEventListener, cancelEventListener);\n    };\n}\nfunction makeZoneAwareRemoveListener(fnName, useCapturingParam) {\n    if (useCapturingParam === void 0) { useCapturingParam = true; }\n    var symbol = zoneSymbol(fnName);\n    var defaultUseCapturing = useCapturingParam ? false : undefined;\n    return function zoneAwareRemoveListener(self, args) {\n        var eventName = args[0];\n        var handler = args[1];\n        var useCapturing = args[2] || defaultUseCapturing;\n        // - Inside a Web Worker, `this` is undefined, the context is `global`\n        // - When `addEventListener` is called on the global context in strict mode, `this` is undefined\n        // see https://github.com/angular/zone.js/issues/190\n        var target = self || _global$1;\n        var eventTask = findExistingRegisteredTask(target, handler, eventName, useCapturing, true);\n        if (eventTask) {\n            eventTask.zone.cancelTask(eventTask);\n        }\n        else {\n            target[symbol](eventName, handler, useCapturing);\n        }\n    };\n}\n\nvar zoneAwareAddEventListener = makeZoneAwareAddListener(ADD_EVENT_LISTENER, REMOVE_EVENT_LISTENER);\nvar zoneAwareRemoveEventListener = makeZoneAwareRemoveListener(REMOVE_EVENT_LISTENER);\nfunction patchEventTargetMethods(obj) {\n    if (obj && obj.addEventListener) {\n        patchMethod(obj, ADD_EVENT_LISTENER, function () { return zoneAwareAddEventListener; });\n        patchMethod(obj, REMOVE_EVENT_LISTENER, function () { return zoneAwareRemoveEventListener; });\n        return true;\n    }\n    else {\n        return false;\n    }\n}\nvar originalInstanceKey = zoneSymbol('originalInstance');\n// wrap some native API on `window`\nfunction patchClass(className) {\n    var OriginalClass = _global$1[className];\n    if (!OriginalClass)\n        return;\n    _global$1[className] = function () {\n        var a = bindArguments(arguments, className);\n        switch (a.length) {\n            case 0:\n                this[originalInstanceKey] = new OriginalClass();\n                break;\n            case 1:\n                this[originalInstanceKey] = new OriginalClass(a[0]);\n                break;\n            case 2:\n                this[originalInstanceKey] = new OriginalClass(a[0], a[1]);\n                break;\n            case 3:\n                this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2]);\n                break;\n            case 4:\n                this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2], a[3]);\n                break;\n            default:\n                throw new Error('Arg list too long.');\n        }\n    };\n    var instance = new OriginalClass(function () { });\n    var prop;\n    for (prop in instance) {\n        // https://bugs.webkit.org/show_bug.cgi?id=44721\n        if (className === 'XMLHttpRequest' && prop === 'responseBlob')\n            continue;\n        (function (prop) {\n            if (typeof instance[prop] === 'function') {\n                _global$1[className].prototype[prop] = function () {\n                    return this[originalInstanceKey][prop].apply(this[originalInstanceKey], arguments);\n                };\n            }\n            else {\n                Object.defineProperty(_global$1[className].prototype, prop, {\n                    set: function (fn) {\n                        if (typeof fn === 'function') {\n                            this[originalInstanceKey][prop] = Zone.current.wrap(fn, className + '.' + prop);\n                        }\n                        else {\n                            this[originalInstanceKey][prop] = fn;\n                        }\n                    },\n                    get: function () {\n                        return this[originalInstanceKey][prop];\n                    }\n                });\n            }\n        }(prop));\n    }\n    for (prop in OriginalClass) {\n        if (prop !== 'prototype' && OriginalClass.hasOwnProperty(prop)) {\n            _global$1[className][prop] = OriginalClass[prop];\n        }\n    }\n}\n\nfunction createNamedFn(name, delegate) {\n    try {\n        return (Function('f', \"return function \" + name + \"(){return f(this, arguments)}\"))(delegate);\n    }\n    catch (e) {\n        // if we fail, we must be CSP, just return delegate.\n        return function () {\n            return delegate(this, arguments);\n        };\n    }\n}\nfunction patchMethod(target, name, patchFn) {\n    var proto = target;\n    while (proto && Object.getOwnPropertyNames(proto).indexOf(name) === -1) {\n        proto = Object.getPrototypeOf(proto);\n    }\n    if (!proto && target[name]) {\n        // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n        proto = target;\n    }\n    var delegateName = zoneSymbol(name);\n    var delegate;\n    if (proto && !(delegate = proto[delegateName])) {\n        delegate = proto[delegateName] = proto[name];\n        proto[name] = createNamedFn(name, patchFn(delegate, delegateName, name));\n    }\n    return delegate;\n}\n\n/**\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 */\nfunction patchTimer(window, setName, cancelName, nameSuffix) {\n    var setNative = null;\n    var clearNative = null;\n    setName += nameSuffix;\n    cancelName += nameSuffix;\n    var tasksByHandleId = {};\n    function scheduleTask(task) {\n        var data = task.data;\n        data.args[0] = function () {\n            task.invoke.apply(this, arguments);\n            delete tasksByHandleId[data.handleId];\n        };\n        data.handleId = setNative.apply(window, data.args);\n        tasksByHandleId[data.handleId] = task;\n        return task;\n    }\n    function clearTask(task) {\n        delete tasksByHandleId[task.data.handleId];\n        return clearNative(task.data.handleId);\n    }\n    setNative =\n        patchMethod(window, setName, function (delegate) { return function (self, args) {\n            if (typeof args[0] === 'function') {\n                var zone = Zone.current;\n                var options = {\n                    handleId: null,\n                    isPeriodic: nameSuffix === 'Interval',\n                    delay: (nameSuffix === 'Timeout' || nameSuffix === 'Interval') ? args[1] || 0 : null,\n                    args: args\n                };\n                var task = zone.scheduleMacroTask(setName, args[0], options, scheduleTask, clearTask);\n                if (!task) {\n                    return task;\n                }\n                // Node.js must additionally support the ref and unref functions.\n                var handle = task.data.handleId;\n                if (handle.ref && handle.unref) {\n                    task.ref = handle.ref.bind(handle);\n                    task.unref = handle.unref.bind(handle);\n                }\n                return task;\n            }\n            else {\n                // cause an error by calling it directly.\n                return delegate.apply(window, args);\n            }\n        }; });\n    clearNative =\n        patchMethod(window, cancelName, function (delegate) { return function (self, args) {\n            var task = typeof args[0] === 'number' ? tasksByHandleId[args[0]] : args[0];\n            if (task && typeof task.type === 'string') {\n                if (task.cancelFn && task.data.isPeriodic || task.runCount === 0) {\n                    // Do not cancel already canceled functions\n                    task.zone.cancelTask(task);\n                }\n            }\n            else {\n                // cause an error by calling it directly.\n                delegate.apply(window, args);\n            }\n        }; });\n}\n\n/**\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/*\n * This is necessary for Chrome and Chrome mobile, to enable\n * things like redefining `createdCallback` on an element.\n */\nvar _defineProperty = Object[zoneSymbol('defineProperty')] = Object.defineProperty;\nvar _getOwnPropertyDescriptor = Object[zoneSymbol('getOwnPropertyDescriptor')] =\n    Object.getOwnPropertyDescriptor;\nvar _create = Object.create;\nvar unconfigurablesKey = zoneSymbol('unconfigurables');\nfunction propertyPatch() {\n    Object.defineProperty = function (obj, prop, desc) {\n        if (isUnconfigurable(obj, prop)) {\n            throw new TypeError('Cannot assign to read only property \\'' + prop + '\\' of ' + obj);\n        }\n        var originalConfigurableFlag = desc.configurable;\n        if (prop !== 'prototype') {\n            desc = rewriteDescriptor(obj, prop, desc);\n        }\n        return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n    };\n    Object.defineProperties = function (obj, props) {\n        Object.keys(props).forEach(function (prop) {\n            Object.defineProperty(obj, prop, props[prop]);\n        });\n        return obj;\n    };\n    Object.create = function (obj, proto) {\n        if (typeof proto === 'object' && !Object.isFrozen(proto)) {\n            Object.keys(proto).forEach(function (prop) {\n                proto[prop] = rewriteDescriptor(obj, prop, proto[prop]);\n            });\n        }\n        return _create(obj, proto);\n    };\n    Object.getOwnPropertyDescriptor = function (obj, prop) {\n        var desc = _getOwnPropertyDescriptor(obj, prop);\n        if (isUnconfigurable(obj, prop)) {\n            desc.configurable = false;\n        }\n        return desc;\n    };\n}\n\nfunction _redefineProperty(obj, prop, desc) {\n    var originalConfigurableFlag = desc.configurable;\n    desc = rewriteDescriptor(obj, prop, desc);\n    return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n}\n\nfunction isUnconfigurable(obj, prop) {\n    return obj && obj[unconfigurablesKey] && obj[unconfigurablesKey][prop];\n}\nfunction rewriteDescriptor(obj, prop, desc) {\n    desc.configurable = true;\n    if (!desc.configurable) {\n        if (!obj[unconfigurablesKey]) {\n            _defineProperty(obj, unconfigurablesKey, { writable: true, value: {} });\n        }\n        obj[unconfigurablesKey][prop] = true;\n    }\n    return desc;\n}\nfunction _tryDefineProperty(obj, prop, desc, originalConfigurableFlag) {\n    try {\n        return _defineProperty(obj, prop, desc);\n    }\n    catch (e) {\n        if (desc.configurable) {\n            // In case of errors, when the configurable flag was likely set by rewriteDescriptor(), let's\n            // retry with the original flag value\n            if (typeof originalConfigurableFlag == 'undefined') {\n                delete desc.configurable;\n            }\n            else {\n                desc.configurable = originalConfigurableFlag;\n            }\n            try {\n                return _defineProperty(obj, prop, desc);\n            }\n            catch (e) {\n                var descJson = null;\n                try {\n                    descJson = JSON.stringify(desc);\n                }\n                catch (e) {\n                    descJson = descJson.toString();\n                }\n                console.log(\"Attempting to configure '\" + prop + \"' with descriptor '\" + descJson + \"' on object '\" + obj + \"' and got error, giving up: \" + e);\n            }\n        }\n        else {\n            throw e;\n        }\n    }\n}\n\n/**\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 */\nvar WTF_ISSUE_555 = 'Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video';\nvar NO_EVENT_TARGET = 'ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex'\n    .split(',');\nvar EVENT_TARGET = 'EventTarget';\nfunction eventTargetPatch(_global) {\n    var apis = [];\n    var isWtf = _global['wtf'];\n    if (isWtf) {\n        // Workaround for: https://github.com/google/tracing-framework/issues/555\n        apis = WTF_ISSUE_555.split(',').map(function (v) { return 'HTML' + v + 'Element'; }).concat(NO_EVENT_TARGET);\n    }\n    else if (_global[EVENT_TARGET]) {\n        apis.push(EVENT_TARGET);\n    }\n    else {\n        // Note: EventTarget is not available in all browsers,\n        // if it's not available, we instead patch the APIs in the IDL that inherit from EventTarget\n        apis = NO_EVENT_TARGET;\n    }\n    for (var i = 0; i < apis.length; i++) {\n        var type = _global[apis[i]];\n        patchEventTargetMethods(type && type.prototype);\n    }\n}\n\n/**\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// we have to patch the instance since the proto is non-configurable\nfunction apply(_global) {\n    var WS = _global.WebSocket;\n    // On Safari window.EventTarget doesn't exist so need to patch WS add/removeEventListener\n    // On older Chrome, no need since EventTarget was already patched\n    if (!_global.EventTarget) {\n        patchEventTargetMethods(WS.prototype);\n    }\n    _global.WebSocket = function (a, b) {\n        var socket = arguments.length > 1 ? new WS(a, b) : new WS(a);\n        var proxySocket;\n        // Safari 7.0 has non-configurable own 'onmessage' and friends properties on the socket instance\n        var onmessageDesc = Object.getOwnPropertyDescriptor(socket, 'onmessage');\n        if (onmessageDesc && onmessageDesc.configurable === false) {\n            proxySocket = Object.create(socket);\n            ['addEventListener', 'removeEventListener', 'send', 'close'].forEach(function (propName) {\n                proxySocket[propName] = function () {\n                    return socket[propName].apply(socket, arguments);\n                };\n            });\n        }\n        else {\n            // we can patch the real socket\n            proxySocket = socket;\n        }\n        patchOnProperties(proxySocket, ['close', 'error', 'message', 'open']);\n        return proxySocket;\n    };\n    for (var prop in WS) {\n        _global.WebSocket[prop] = WS[prop];\n    }\n}\n\n/**\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 */\nvar eventNames = 'copy cut paste abort blur focus canplay canplaythrough change click contextmenu dblclick drag dragend dragenter dragleave dragover dragstart drop durationchange emptied ended input invalid keydown keypress keyup load loadeddata loadedmetadata loadstart message mousedown mouseenter mouseleave mousemove mouseout mouseover mouseup pause play playing progress ratechange reset scroll seeked seeking select show stalled submit suspend timeupdate volumechange waiting mozfullscreenchange mozfullscreenerror mozpointerlockchange mozpointerlockerror error webglcontextrestored webglcontextlost webglcontextcreationerror'\n    .split(' ');\nfunction propertyDescriptorPatch(_global) {\n    if (isNode) {\n        return;\n    }\n    var supportsWebSocket = typeof WebSocket !== 'undefined';\n    if (canPatchViaPropertyDescriptor()) {\n        // for browsers that we can patch the descriptor:  Chrome & Firefox\n        if (isBrowser) {\n            patchOnProperties(HTMLElement.prototype, eventNames);\n        }\n        patchOnProperties(XMLHttpRequest.prototype, null);\n        if (typeof IDBIndex !== 'undefined') {\n            patchOnProperties(IDBIndex.prototype, null);\n            patchOnProperties(IDBRequest.prototype, null);\n            patchOnProperties(IDBOpenDBRequest.prototype, null);\n            patchOnProperties(IDBDatabase.prototype, null);\n            patchOnProperties(IDBTransaction.prototype, null);\n            patchOnProperties(IDBCursor.prototype, null);\n        }\n        if (supportsWebSocket) {\n            patchOnProperties(WebSocket.prototype, null);\n        }\n    }\n    else {\n        // Safari, Android browsers (Jelly Bean)\n        patchViaCapturingAllTheEvents();\n        patchClass('XMLHttpRequest');\n        if (supportsWebSocket) {\n            apply(_global);\n        }\n    }\n}\nfunction canPatchViaPropertyDescriptor() {\n    if (isBrowser && !Object.getOwnPropertyDescriptor(HTMLElement.prototype, 'onclick') &&\n        typeof Element !== 'undefined') {\n        // WebKit https://bugs.webkit.org/show_bug.cgi?id=134364\n        // IDL interface attributes are not configurable\n        var desc = Object.getOwnPropertyDescriptor(Element.prototype, 'onclick');\n        if (desc && !desc.configurable)\n            return false;\n    }\n    Object.defineProperty(XMLHttpRequest.prototype, 'onreadystatechange', {\n        get: function () {\n            return true;\n        }\n    });\n    var req = new XMLHttpRequest();\n    var result = !!req.onreadystatechange;\n    Object.defineProperty(XMLHttpRequest.prototype, 'onreadystatechange', {});\n    return result;\n}\n\nvar unboundKey = zoneSymbol('unbound');\n// Whenever any eventListener fires, we check the eventListener target and all parents\n// for `onwhatever` properties and replace them with zone-bound functions\n// - Chrome (for now)\nfunction patchViaCapturingAllTheEvents() {\n    var _loop_1 = function(i) {\n        var property = eventNames[i];\n        var onproperty = 'on' + property;\n        self.addEventListener(property, function (event) {\n            var elt = event.target, bound, source;\n            if (elt) {\n                source = elt.constructor['name'] + '.' + onproperty;\n            }\n            else {\n                source = 'unknown.' + onproperty;\n            }\n            while (elt) {\n                if (elt[onproperty] && !elt[onproperty][unboundKey]) {\n                    bound = Zone.current.wrap(elt[onproperty], source);\n                    bound[unboundKey] = elt[onproperty];\n                    elt[onproperty] = bound;\n                }\n                elt = elt.parentElement;\n            }\n        }, true);\n    };\n    for (var i = 0; i < eventNames.length; i++) {\n        _loop_1(i);\n    }\n    \n}\n\n/**\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 */\nfunction registerElementPatch(_global) {\n    if (!isBrowser || !('registerElement' in _global.document)) {\n        return;\n    }\n    var _registerElement = document.registerElement;\n    var callbacks = ['createdCallback', 'attachedCallback', 'detachedCallback', 'attributeChangedCallback'];\n    document.registerElement = function (name, opts) {\n        if (opts && opts.prototype) {\n            callbacks.forEach(function (callback) {\n                var source = 'Document.registerElement::' + callback;\n                if (opts.prototype.hasOwnProperty(callback)) {\n                    var descriptor = Object.getOwnPropertyDescriptor(opts.prototype, callback);\n                    if (descriptor && descriptor.value) {\n                        descriptor.value = Zone.current.wrap(descriptor.value, source);\n                        _redefineProperty(opts.prototype, callback, descriptor);\n                    }\n                    else {\n                        opts.prototype[callback] = Zone.current.wrap(opts.prototype[callback], source);\n                    }\n                }\n                else if (opts.prototype[callback]) {\n                    opts.prototype[callback] = Zone.current.wrap(opts.prototype[callback], source);\n                }\n            });\n        }\n        return _registerElement.apply(document, [name, opts]);\n    };\n}\n\n/**\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 */\nvar set = 'set';\nvar clear = 'clear';\nvar blockingMethods = ['alert', 'prompt', 'confirm'];\nvar _global = typeof window === 'object' && window || typeof self === 'object' && self || global;\npatchTimer(_global, set, clear, 'Timeout');\npatchTimer(_global, set, clear, 'Interval');\npatchTimer(_global, set, clear, 'Immediate');\npatchTimer(_global, 'request', 'cancel', 'AnimationFrame');\npatchTimer(_global, 'mozRequest', 'mozCancel', 'AnimationFrame');\npatchTimer(_global, 'webkitRequest', 'webkitCancel', 'AnimationFrame');\nfor (var i = 0; i < blockingMethods.length; i++) {\n    var name = blockingMethods[i];\n    patchMethod(_global, name, function (delegate, symbol, name) {\n        return function (s, args) {\n            return Zone.current.run(delegate, _global, args, name);\n        };\n    });\n}\neventTargetPatch(_global);\npropertyDescriptorPatch(_global);\npatchClass('MutationObserver');\npatchClass('WebKitMutationObserver');\npatchClass('FileReader');\npropertyPatch();\nregisterElementPatch(_global);\n// Treat XMLHTTPRequest as a macrotask.\npatchXHR(_global);\nvar XHR_TASK = zoneSymbol('xhrTask');\nvar XHR_SYNC = zoneSymbol('xhrSync');\nfunction patchXHR(window) {\n    function findPendingTask(target) {\n        var pendingTask = target[XHR_TASK];\n        return pendingTask;\n    }\n    function scheduleTask(task) {\n        var data = task.data;\n        data.target.addEventListener('readystatechange', function () {\n            if (data.target.readyState === data.target.DONE) {\n                if (!data.aborted) {\n                    task.invoke();\n                }\n            }\n        });\n        var storedTask = data.target[XHR_TASK];\n        if (!storedTask) {\n            data.target[XHR_TASK] = task;\n        }\n        sendNative.apply(data.target, data.args);\n        return task;\n    }\n    function placeholderCallback() { }\n    function clearTask(task) {\n        var data = task.data;\n        // Note - ideally, we would call data.target.removeEventListener here, but it's too late\n        // to prevent it from firing. So instead, we store info for the event listener.\n        data.aborted = true;\n        return abortNative.apply(data.target, data.args);\n    }\n    var openNative = patchMethod(window.XMLHttpRequest.prototype, 'open', function () { return function (self, args) {\n        self[XHR_SYNC] = args[2] == false;\n        return openNative.apply(self, args);\n    }; });\n    var sendNative = patchMethod(window.XMLHttpRequest.prototype, 'send', function () { return function (self, args) {\n        var zone = Zone.current;\n        if (self[XHR_SYNC]) {\n            // if the XHR is sync there is no task to schedule, just execute the code.\n            return sendNative.apply(self, args);\n        }\n        else {\n            var options = { target: self, isPeriodic: false, delay: null, args: args, aborted: false };\n            return zone.scheduleMacroTask('XMLHttpRequest.send', placeholderCallback, options, scheduleTask, clearTask);\n        }\n    }; });\n    var abortNative = patchMethod(window.XMLHttpRequest.prototype, 'abort', function (delegate) { return function (self, args) {\n        var task = findPendingTask(self);\n        if (task && typeof task.type == 'string') {\n            // If the XHR has already completed, do nothing.\n            if (task.cancelFn == null) {\n                return;\n            }\n            task.zone.cancelTask(task);\n        }\n        // Otherwise, we are trying to abort an XHR which has not yet been sent, so there is no task\n        // to cancel. Do nothing.\n    }; });\n}\n/// GEO_LOCATION\nif (_global['navigator'] && _global['navigator'].geolocation) {\n    patchPrototype(_global['navigator'].geolocation, ['getCurrentPosition', 'watchPosition']);\n}\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/~/zone.js/dist/zone.js\n// module id = 2009\n// module chunks = 0","function webpackEmptyContext(req) {\n\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = 2010;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/hop/admin_panel/public ^\\.\\/.*$\n// module id = 2010\n// module chunks = 0","/* (ignored) */\n\n\n//////////////////\n// WEBPACK FOOTER\n// fs (ignored)\n// module id = 2011\n// module chunks = 0","/* (ignored) */\n\n\n//////////////////\n// WEBPACK FOOTER\n// http (ignored)\n// module id = 2012\n// module chunks = 0","/* (ignored) */\n\n\n//////////////////\n// WEBPACK FOOTER\n// https (ignored)\n// module id = 2013\n// module chunks = 0","/* (ignored) */\n\n\n//////////////////\n// WEBPACK FOOTER\n// util (ignored)\n// module id = 2014\n// module chunks = 0","/* (ignored) */\n\n\n//////////////////\n// WEBPACK FOOTER\n// util (ignored)\n// module id = 2015\n// module chunks = 0"],"sourceRoot":""}